Class BicycleVehicleModelDynamics

Inheritance Relationships

Base Type

Class Documentation

class BicycleVehicleModelDynamics : public bitrl::dynamics::MotionModelDynamicsBase<SysState<3>, DynamicsMatrixDescriptor, std::map<std::string, std::any>>

The BicycleVehicleModelDynamics class. Implements the bicycle vehicle model dynamics. The implementation of the dynamics is taken from the paper: Deep Reinforcement Learning for Mobile Robot Path Planning by Hao Liu, Yi Shen, Shuangjiang Yu, Zijun Gao, Tong Wu The state of the model is described by the tuple (X, Y, Phi) where (X,Y) denotes the 2D position of the vehicle in the world coordinates and phi denotes the heading of the vehicle.

Public Types

typedef MotionModelDynamicsBase<SysState<3>, DynamicsMatrixDescriptor, std::map<std::string, std::any>> base_type
typedef base_type::state_type state_type
typedef base_type::input_type input_type
typedef base_type::matrix_descriptor_type matrix_descriptor_type
typedef matrix_descriptor_type::matrix_type matrix_type
typedef matrix_descriptor_type::vector_type vector_type

Public Functions

BicycleVehicleModelDynamics(const BicycleVehicleModelDynamicsConfig config, SysState<3> &init_state)

Constructor.

void integrate(const input_type &input)

integrate. Integrate the dynamics equations the model expects the following inputs the velocity of the vehicle v and the angle delta of the front wheel

state_type &evaluate(const input_type &input)

evaluate

Parameters:

input

Returns:

void initialize_matrices(const input_type &input)

initialize_matrices. Initialize the matrix description of the dynamics

void update_matrices(const input_type &input)

update_matrices. Update the matrix description of the dynamics

inline void load_from_json(const std::string &filename)

load_from_json Load the description of the chassis from the given json file