|
Autoware.Auto
|
|
This namespace is for the motion_model package. More...
Classes | |
| struct | CatrInvariantWorkspace |
| This struct holds some common worker variables for CATR model's jacobian and prediction computation, specifically those that are time invariant. More... | |
| class | CatrModel |
| This is a constant acceleration, constant turn-rate motion model. This model produces clothoidal trajectories and corresponds to a zero order hold on vehicle controls (throttle and steer angle) More... | |
| struct | CatrState |
| This is an enum-like struct for convenience. More... | |
| struct | CatrVariantWorkspace |
| This struct holds some common worker variables for CATR model's jacobian and prediction computation, specifically those that are time varying. More... | |
| class | ConstantAcceleration |
| This is a simple constant acceleration motion model. More... | |
| class | ConstantVelocity |
| This is a simple constant velocity motion model. More... | |
| class | MotionModel |
| Virtual interface for all motion models for use with prediction. More... | |
| class | ParameterEstimator |
| Simple "motion model" with no dynamics for parameter estimation. More... | |
Typedefs | |
| using | index_t = Eigen::Index |
| indexing matches what matrices use More... | |
Functions | |
| template<int32_t NumStates> | |
| MOTION_MODEL_LOCAL void | catr_workspace_init_invariant (const Eigen::Matrix< float32_t, NumStates, 1U > &x, CatrInvariantWorkspace &ws) |
| Initalize invariant values in catr workspace. More... | |
| template<int32_t NumStates> | |
| MOTION_MODEL_LOCAL void | catr_workspace_init_variant (const Eigen::Matrix< float32_t, NumStates, 1U > &x, const float32_t dt_s, const CatrInvariantWorkspace &iws, CatrVariantWorkspace &ws) |
| Initialize dt varying values for CATR model. More... | |
| template<int32_t NumStates> | |
| MOTION_MODEL_LOCAL void | catr_compute_jacobian (const CatrInvariantWorkspace &iws, const CatrVariantWorkspace &vws, Eigen::Matrix< float32_t, NumStates, NumStates > &F) |
| Compute jacobian for CATR model, assumes ws is fully initialized. More... | |
| template<int32_t NumStates> | |
| MOTION_MODEL_LOCAL void | catr_predict (const Eigen::Matrix< float32_t, NumStates, 1U > &ref, const CatrInvariantWorkspace &iws, const CatrVariantWorkspace &vws, Eigen::Matrix< float32_t, NumStates, 1U > &x) |
| Propagate CATR model forward in time. More... | |
| template<int32_t NumStates> | |
| void | catr_workspace_init_invariant (const Eigen::Matrix< float32_t, NumStates, 1U > &x, CatrInvariantWorkspace &ws) |
| Initalize invariant values in catr workspace. More... | |
| template<int32_t NumStates> | |
| void | catr_workspace_init_variant (const Eigen::Matrix< float32_t, NumStates, 1U > &x, const float32_t dt_s, const CatrInvariantWorkspace &iws, CatrVariantWorkspace &ws) |
| Initialize dt varying values for CATR model. More... | |
| template<int32_t NumStates> | |
| void | catr_compute_jacobian (const CatrInvariantWorkspace &iws, const CatrVariantWorkspace &vws, Eigen::Matrix< float32_t, NumStates, NumStates > &F) |
| Compute jacobian for CATR model, assumes ws is fully initialized. More... | |
| template<int32_t NumStates> | |
| void | catr_predict (const Eigen::Matrix< float32_t, NumStates, 1U > &ref, const CatrInvariantWorkspace &iws, const CatrVariantWorkspace &vws, Eigen::Matrix< float32_t, NumStates, 1U > &x) |
| Propagate CATR model forward in time. More... | |
| template void | catr_workspace_init_invariant< 6U > (const Eigen::Matrix< float32_t, 6U, 1U > &, CatrInvariantWorkspace &) |
| template void | catr_workspace_init_variant< 6U > (const Eigen::Matrix< float32_t, 6U, 1U > &, const float32_t, const CatrInvariantWorkspace &, CatrVariantWorkspace &) |
| template void | catr_compute_jacobian< 6U > (const CatrInvariantWorkspace &, const CatrVariantWorkspace &, Eigen::Matrix< float32_t, 6U, 6U > &) |
| template void | catr_predict< 6U > (const Eigen::Matrix< float32_t, 6U, 1U > &, const CatrInvariantWorkspace &, const CatrVariantWorkspace &, Eigen::Matrix< float32_t, 6U, 1U > &) |
| template void | catr_workspace_init_invariant< 8U > (const Eigen::Matrix< float32_t, 8U, 1U > &, CatrInvariantWorkspace &) |
| template void | catr_workspace_init_variant< 8U > (const Eigen::Matrix< float32_t, 8U, 1U > &, const float32_t, const CatrInvariantWorkspace &, CatrVariantWorkspace &) |
| template void | catr_compute_jacobian< 8U > (const CatrInvariantWorkspace &, const CatrVariantWorkspace &, Eigen::Matrix< float32_t, 8U, 8U > &) |
| template void | catr_predict< 8U > (const Eigen::Matrix< float32_t, 8U, 1U > &, const CatrInvariantWorkspace &, const CatrVariantWorkspace &, Eigen::Matrix< float32_t, 8U, 1U > &) |
This namespace is for the motion_model package.
| using autoware::motion::motion_model::index_t = typedef Eigen::Index |
indexing matches what matrices use
| void autoware::motion::motion_model::catr_compute_jacobian | ( | const CatrInvariantWorkspace & | iws, |
| const CatrVariantWorkspace & | vws, | ||
| Eigen::Matrix< float32_t, NumStates, NumStates > & | F | ||
| ) |
Compute jacobian for CATR model, assumes ws is fully initialized.
| [in] | iws | precompute worker variables for a given state |
| [in] | vws | precompute worker variables for a given state and dt |
| [out] | F | gets filled with jacobian |
| NumStates | dimensionality of model, CATR model is assumed to take the first 6 slots |
| MOTION_MODEL_LOCAL void autoware::motion::motion_model::catr_compute_jacobian | ( | const CatrInvariantWorkspace & | iws, |
| const CatrVariantWorkspace & | vws, | ||
| Eigen::Matrix< float32_t, NumStates, NumStates > & | F | ||
| ) |
Compute jacobian for CATR model, assumes ws is fully initialized.
| [in] | iws | precompute worker variables for a given state |
| [in] | vws | precompute worker variables for a given state and dt |
| [out] | F | gets filled with jacobian |
| NumStates | dimensionality of model, CATR model is assumed to take the first 6 slots |
| template void autoware::motion::motion_model::catr_compute_jacobian< 6U > | ( | const CatrInvariantWorkspace & | , |
| const CatrVariantWorkspace & | , | ||
| Eigen::Matrix< float32_t, 6U, 6U > & | |||
| ) |
| template void autoware::motion::motion_model::catr_compute_jacobian< 8U > | ( | const CatrInvariantWorkspace & | , |
| const CatrVariantWorkspace & | , | ||
| Eigen::Matrix< float32_t, 8U, 8U > & | |||
| ) |
| MOTION_MODEL_LOCAL void autoware::motion::motion_model::catr_predict | ( | const Eigen::Matrix< float32_t, NumStates, 1U > & | ref, |
| const CatrInvariantWorkspace & | iws, | ||
| const CatrVariantWorkspace & | vws, | ||
| Eigen::Matrix< float32_t, NumStates, 1U > & | x | ||
| ) |
Propagate CATR model forward in time.
| [in] | ref | reference state to propagate forward |
| [in] | iws | precomputed worker variables for ref |
| [in] | vws | precomputed worker variables for ref and a given dt |
| [out] | x | gets filled with reference state propagated forward |
| NumStates | dimensionality of model, CATR model is assumed to take the first 6 slots |
| void autoware::motion::motion_model::catr_predict | ( | const Eigen::Matrix< float32_t, NumStates, 1U > & | ref, |
| const CatrInvariantWorkspace & | iws, | ||
| const CatrVariantWorkspace & | vws, | ||
| Eigen::Matrix< float32_t, NumStates, 1U > & | x | ||
| ) |
Propagate CATR model forward in time.
| [in] | ref | reference state to propagate forward |
| [in] | iws | precomputed worker variables for ref |
| [in] | vws | precomputed worker variables for ref and a given dt |
| [out] | x | gets filled with reference state propagated forward |
| NumStates | dimensionality of model, CATR model is assumed to take the first 6 slots |
| template void autoware::motion::motion_model::catr_predict< 6U > | ( | const Eigen::Matrix< float32_t, 6U, 1U > & | , |
| const CatrInvariantWorkspace & | , | ||
| const CatrVariantWorkspace & | , | ||
| Eigen::Matrix< float32_t, 6U, 1U > & | |||
| ) |
| template void autoware::motion::motion_model::catr_predict< 8U > | ( | const Eigen::Matrix< float32_t, 8U, 1U > & | , |
| const CatrInvariantWorkspace & | , | ||
| const CatrVariantWorkspace & | , | ||
| Eigen::Matrix< float32_t, 8U, 1U > & | |||
| ) |
| void autoware::motion::motion_model::catr_workspace_init_invariant | ( | const Eigen::Matrix< float32_t, NumStates, 1U > & | x, |
| CatrInvariantWorkspace & | ws | ||
| ) |
Initalize invariant values in catr workspace.
| [in] | x | state vector to initialize invariants with |
| [out] | ws | gets filled with invariants |
| NumStates | dimensionality of model, CATR model is assumed to take the first 6 slots |
| MOTION_MODEL_LOCAL void autoware::motion::motion_model::catr_workspace_init_invariant | ( | const Eigen::Matrix< float32_t, NumStates, 1U > & | x, |
| CatrInvariantWorkspace & | ws | ||
| ) |
Initalize invariant values in catr workspace.
| [in] | x | state vector to initialize invariants with |
| [out] | ws | gets filled with invariants |
| NumStates | dimensionality of model, CATR model is assumed to take the first 6 slots |
| template void autoware::motion::motion_model::catr_workspace_init_invariant< 6U > | ( | const Eigen::Matrix< float32_t, 6U, 1U > & | , |
| CatrInvariantWorkspace & | |||
| ) |
| template void autoware::motion::motion_model::catr_workspace_init_invariant< 8U > | ( | const Eigen::Matrix< float32_t, 8U, 1U > & | , |
| CatrInvariantWorkspace & | |||
| ) |
| void autoware::motion::motion_model::catr_workspace_init_variant | ( | const Eigen::Matrix< float32_t, NumStates, 1U > & | x, |
| const float32_t | dt_s, | ||
| const CatrInvariantWorkspace & | iws, | ||
| CatrVariantWorkspace & | ws | ||
| ) |
Initialize dt varying values for CATR model.
| [in] | x | state vector to use as refrence |
| [in] | dt_s | lookahead time to use for computation |
| [in] | iws | workspace variable filled with invariants, assumed to have been initialized with the same x in catr_workspace_init_invariant() |
| [in,out] | ws | get filled with varying stuff |
| NumStates | dimensionality of model, CATR model is assumed to take the first 6 slots |
| MOTION_MODEL_LOCAL void autoware::motion::motion_model::catr_workspace_init_variant | ( | const Eigen::Matrix< float32_t, NumStates, 1U > & | x, |
| const float32_t | dt_s, | ||
| const CatrInvariantWorkspace & | iws, | ||
| CatrVariantWorkspace & | ws | ||
| ) |
Initialize dt varying values for CATR model.
| [in] | x | state vector to use as refrence |
| [in] | dt_s | lookahead time to use for computation |
| [in] | iws | workspace variable filled with invariants, assumed to have been initialized with the same x in catr_workspace_init_invariant() |
| [in,out] | ws | get filled with varying stuff |
| NumStates | dimensionality of model, CATR model is assumed to take the first 6 slots |
| template void autoware::motion::motion_model::catr_workspace_init_variant< 6U > | ( | const Eigen::Matrix< float32_t, 6U, 1U > & | , |
| const | float32_t, | ||
| const CatrInvariantWorkspace & | , | ||
| CatrVariantWorkspace & | |||
| ) |
| template void autoware::motion::motion_model::catr_workspace_init_variant< 8U > | ( | const Eigen::Matrix< float32_t, 8U, 1U > & | , |
| const | float32_t, | ||
| const CatrInvariantWorkspace & | , | ||
| CatrVariantWorkspace & | |||
| ) |