|
Autoware.Auto
|
|
Virtual interface for all motion models for use with prediction. More...
#include <motion_model.hpp>

Public Member Functions | |
| virtual void | predict (Eigen::Matrix< float32_t, NumStates, 1U > &x, const std::chrono::nanoseconds &dt) const =0 |
| Do motion based on current state, store result somewhere else. This is intended to be used with motion planning/collision avoidance, i.e. to make multiple calls to predict with different time deltas for a rollout to get a concrete representation of predicted trajectories. This function does not mutate the core state of the motion model, and should only mutate some cached worker variables at most. More... | |
| virtual void | predict (const std::chrono::nanoseconds &dt)=0 |
| Update current state with a given motion. Note that this should be called after compute_jacobian() as it will change the object's state. This is meant to be called before doing assignment and observation updating. This is the equivalent of temporal update for the state. This function mutates the core state of the motion model. More... | |
| virtual void | compute_jacobian (Eigen::Matrix< float32_t, NumStates, NumStates > &F, const std::chrono::nanoseconds &dt)=0 |
| Compute the jacobian based on the current state and store the result somewhere else. More... | |
| virtual void | compute_jacobian_and_predict (Eigen::Matrix< float32_t, NumStates, NumStates > &F, const std::chrono::nanoseconds &dt)=0 |
| This is called by Esrcf. This should be first a computation of the jacobian, and then a motion to update the state. This is a distinct function because depending on the motion model, there is some caching and optimization that can be done computing both the motion and jacobian together. More... | |
| virtual float32_t | operator[] (const index_t idx) const =0 |
| Get elements of the model's state. More... | |
| virtual void | reset (const Eigen::Matrix< float32_t, NumStates, 1U > &x)=0 |
| Set the state. More... | |
| virtual const Eigen::Matrix< float32_t, NumStates, 1U > & | get_state () const =0 |
| const access to internal state More... | |
| constexpr index_t | get_num_states () const noexcept |
| get dimensionality of this model More... | |
| virtual | ~MotionModel ()=default |
| Destructor. More... | |
Virtual interface for all motion models for use with prediction.
| NumStates | dimensionality of this model's state space |
|
virtualdefault |
Destructor.
|
pure virtual |
Compute the jacobian based on the current state and store the result somewhere else.
| [out] | F | matrix to store jacobian into |
| [in] | dt | prediction horizon to build jacobian off of |
Implemented in autoware::motion::motion_model::ParameterEstimator< NumStates >.
|
pure virtual |
This is called by Esrcf. This should be first a computation of the jacobian, and then a motion to update the state. This is a distinct function because depending on the motion model, there is some caching and optimization that can be done computing both the motion and jacobian together.
| [out] | F | matrix to store jacobian into |
| [in] | dt | prediction horizon to build jacobian off of |
Implemented in autoware::motion::motion_model::ParameterEstimator< NumStates >.
|
inlinenoexcept |
get dimensionality of this model
|
pure virtual |
const access to internal state
Implemented in autoware::motion::motion_model::ParameterEstimator< NumStates >, autoware::motion::motion_model::ConstantAcceleration, autoware::motion::motion_model::ConstantVelocity, and autoware::motion::motion_model::CatrModel.
|
pure virtual |
Get elements of the model's state.
| [in] | idx | index of state variable to get |
Implemented in autoware::motion::motion_model::ParameterEstimator< NumStates >, autoware::motion::motion_model::ConstantAcceleration, autoware::motion::motion_model::ConstantVelocity, and autoware::motion::motion_model::CatrModel.
|
pure virtual |
Do motion based on current state, store result somewhere else. This is intended to be used with motion planning/collision avoidance, i.e. to make multiple calls to predict with different time deltas for a rollout to get a concrete representation of predicted trajectories. This function does not mutate the core state of the motion model, and should only mutate some cached worker variables at most.
| [out] | x | vector to store result into |
| [in] | dt | prediction horizon based on current state |
Implemented in autoware::motion::motion_model::ParameterEstimator< NumStates >.
|
pure virtual |
Update current state with a given motion. Note that this should be called after compute_jacobian() as it will change the object's state. This is meant to be called before doing assignment and observation updating. This is the equivalent of temporal update for the state. This function mutates the core state of the motion model.
| [in] | dt | prediction horizon based on current state |
Implemented in autoware::motion::motion_model::ConstantAcceleration, autoware::motion::motion_model::ParameterEstimator< NumStates >, autoware::motion::motion_model::ConstantVelocity, and autoware::motion::motion_model::CatrModel.
|
pure virtual |
Set the state.
| [in] | x | the state to store internally |
Implemented in autoware::motion::motion_model::ParameterEstimator< NumStates >.