21 #ifndef MOTION_MODEL__MOTION_MODEL_HPP_ 22 #define MOTION_MODEL__MOTION_MODEL_HPP_ 37 namespace motion_model
45 template<
int32_t NumStates>
58 Eigen::Matrix<float32_t, NumStates, 1U> &
x,
59 const std::chrono::nanoseconds & dt)
const = 0;
66 virtual void predict(
const std::chrono::nanoseconds & dt) = 0;
70 virtual void compute_jacobian(
71 Eigen::Matrix<float32_t, NumStates, NumStates> & F,
72 const std::chrono::nanoseconds & dt) = 0;
79 virtual void compute_jacobian_and_predict(
80 Eigen::Matrix<float32_t, NumStates, NumStates> & F,
81 const std::chrono::nanoseconds & dt) = 0;
88 virtual void reset(
const Eigen::Matrix<float32_t, NumStates, 1U> & x) = 0;
91 virtual const Eigen::Matrix<float32_t, NumStates, 1U> & get_state()
const = 0;
106 #endif // MOTION_MODEL__MOTION_MODEL_HPP_ constexpr index_t get_num_states() const noexcept
get dimensionality of this model
Definition: motion_model.hpp:94
float float32_t
Definition: types.hpp:36
This file includes common type definition.
DifferentialState x
Definition: kinematic_bicycle.snippet.hpp:28
Definition: controller_base.hpp:30
std::size_t Index
Index type for identifying bins of the hash/lattice.
Definition: spatial_hash_config.hpp:49
Eigen::Index index_t
indexing matches what matrices use
Definition: motion_model.hpp:41
Virtual interface for all motion models for use with prediction.
Definition: motion_model.hpp:46
This file defines the lanelet2_map_provider_node class.
Definition: quick_sort.hpp:24