Class ConstraintCritic

Inheritance Relationships

Base Type

Class Documentation

class ConstraintCritic : public mppi::critics::CriticFunction

Critic objective function for enforcing feasible constraints.

Critic objective function for penalizing wiggling/twirling.

Critic objective function for preferring forward motion.

Critic objective function for following the path approximately To allow for deviation from path in case of dynamic obstacles. Path Align is what aligns the trajectories to the path more or less precisely, if desireable. A higher weight here with an offset > 1 will accelerate the samples to full speed faster and push the follow point further ahead, creating some shortcutting.

Critic objective function for aligning to path in cases of extreme misalignment or turning.

Critic objective function for aligning to the path. Note: High settings of this will follow the path more precisely, but also makes it difficult (or impossible) to deviate in the presence of dynamic obstacles. This is an important critic to tune and consider in tandem with Obstacle.

Critic objective function for avoiding obstacles, allowing it to deviate off the planned path. This is important to tune in tandem with PathAlign to make a balance between path-tracking and dynamic obstacle avoidance capabilities as desirable for a particular application.

Critic objective function for driving towards goal.

Critic objective function for driving towards goal orientation.

Public Functions

virtual void initialize() override

Initialize critic.

virtual void score(CriticData &data) override

Evaluate cost related to goal following.

Parameters:

costs – [out] add reference cost values to this tensor

inline float getMaxVelConstraint()
inline float getMinVelConstraint()

Protected Attributes

unsigned int power_ = {0}
float weight_ = {0}
float min_vel_
float max_vel_