Template Class MotionModelDynamicsBase

Inheritance Relationships

Base Type

  • private boost::noncopyable

Class Documentation

template<typename StateTp, typename MatrixDescriptor, typename InputTp>
class MotionModelDynamicsBase : private boost::noncopyable

Base class for deriving motion models. Motion models describe the dynamics or kinematics of a rigid body.

Public Types

typedef StateTp state_type
typedef state_type output_type
typedef InputTp input_type
typedef MatrixDescriptor matrix_descriptor_type
typedef matrix_descriptor_type::matrix_type matrix_type
typedef matrix_descriptor_type::vector_type vector_type

Public Functions

virtual ~MotionModelDynamicsBase() = default

Destructor.

virtual state_type &evaluate(const input_type &input) = 0

Updates and returns the value of the state given the input.

inline const state_type &get_state() const

Read access to the state.

inline state_type &get_state()

Read/write access to the state.

inline std::vector<std::string_view> get_state_variables_names() const

get_state_variables_names. Returns the name of the variables in the state

inline matrix_type &get_matrix(const std::string &name)
inline const matrix_type &get_matrix(const std::string &name) const
inline void set_matrix(const std::string &name, const matrix_type &mat)
inline vector_type &get_vector(const std::string &name)
inline const vector_type &get_vector(const std::string &name) const
inline void set_vector(const std::string &name, const vector_type &vec)
inline void set_matrix_update_flag(bool f)

set the matrix update flag

inline bool allows_matrix_updates() const

Set the flag for updating or not the matrices describing the model.

inline bool has_matrix(const std::string &name) const

Returns true if the matrix with the given name already exists.

inline real_t get_state_property(const std::string &name) const

Returns the state property with the given name.

inline void set_state_property(const std::string &name, real_t value)

Set the name-th value of the state.

inline void set_state_name_value(uint_t i, const std::string &name, real_t val)

Set the state names.

inline void set_state_name_value(uint_t i, const std::pair<std::string, real_t> &val)

Set the state names.

inline void set_time_step(real_t dt)

Set the time step.

inline real_t get_time_step() const

get_time_step Returns the sampling time the dynamics model is using

inline real_t get_tolerance() const

get_tolerance Returns the general tolerance used in the calculations

inline void set_tolerance(real_t tol)

set_tolerance Set the general tolerance used in the calculations. Default is KernelConsts::tolerance()

Public Static Attributes

static const uint_t state_dimension = StateTp::dimension

The dimension of the state.

Protected Functions

explicit MotionModelDynamicsBase(bool update_description_matrices_on_evaluate = true)

Constructor.

MotionModelDynamicsBase(const state_type &init_state, bool update_description_matrices_on_evaluate = true)

Constructor.

Protected Attributes

state_type state_

The object describing the state of the object of which its dynamics are described/modeled by this MotionModel.

matrix_descriptor_type matrix_description_

matrix descriptor

bool update_description_matrices_on_evaluate_

flag indicating the update of the matrices the model is using to describe itself

real_t dt_

The time step the integrator uses.

real_t tol_

tolerance