Nav2 Navigation Stack - kilted  kilted
ROS 2 Navigation Stack
Public Member Functions | Protected Attributes | List of all members
mppi::MotionModel Class Referenceabstract

Abstract motion model for modeling a vehicle. More...

#include <nav2_mppi_controller/include/nav2_mppi_controller/motion_models.hpp>

Inheritance diagram for mppi::MotionModel:
Inheritance graph
[legend]
Collaboration diagram for mppi::MotionModel:
Collaboration graph
[legend]

Public Member Functions

 MotionModel ()=default
 Constructor for mppi::MotionModel.
 
virtual ~MotionModel ()=default
 Destructor for mppi::MotionModel.
 
void initialize (const models::ControlConstraints &control_constraints, float model_dt)
 Initialize motion model on bringup and set required variables. More...
 
virtual void predict (models::State &state)
 With input velocities, find the vehicle's output velocities. More...
 
virtual bool isHolonomic ()=0
 Whether the motion model is holonomic, using Y axis. More...
 
virtual void applyConstraints (models::ControlSequence &)
 Apply hard vehicle constraints to a control sequence. More...
 

Protected Attributes

float model_dt_ {0.0}
 
models::ControlConstraints control_constraints_
 

Detailed Description

Abstract motion model for modeling a vehicle.

Definition at line 45 of file motion_models.hpp.

Member Function Documentation

◆ applyConstraints()

virtual void mppi::MotionModel::applyConstraints ( models::ControlSequence )
inlinevirtual

Apply hard vehicle constraints to a control sequence.

Parameters
control_sequenceControl sequence to apply constraints to

Reimplemented in mppi::AckermannMotionModel.

Definition at line 127 of file motion_models.hpp.

◆ initialize()

void mppi::MotionModel::initialize ( const models::ControlConstraints control_constraints,
float  model_dt 
)
inline

Initialize motion model on bringup and set required variables.

Parameters
control_constraintsConstraints on control
model_dtduration of a time step

Definition at line 63 of file motion_models.hpp.

◆ isHolonomic()

virtual bool mppi::MotionModel::isHolonomic ( )
pure virtual

Whether the motion model is holonomic, using Y axis.

Returns
Bool If holonomic

Implemented in mppi::OmniMotionModel, mppi::DiffDriveMotionModel, and mppi::AckermannMotionModel.

Referenced by predict().

Here is the caller graph for this function:

◆ predict()

virtual void mppi::MotionModel::predict ( models::State state)
inlinevirtual

With input velocities, find the vehicle's output velocities.

Parameters
stateContains control velocities to use to populate vehicle velocities

Definition at line 73 of file motion_models.hpp.

References isHolonomic().

Here is the call graph for this function:

Member Data Documentation

◆ control_constraints_

models::ControlConstraints mppi::MotionModel::control_constraints_
protected
Initial value:
{0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f}

Definition at line 131 of file motion_models.hpp.


The documentation for this class was generated from the following file: