Struct jalansim::dynamics::models::BicycleDynamics
template <typename T>
ClassList > jalansim > dynamics > models > BicycleDynamics
Dynamic bicycle model with tire slip and weight transfer. More...
#include <bicycle_dynamics.hpp>
Public Attributes
Type | Name |
---|---|
T | C_Sf = 4.718 Front cornering stiffness (N/rad) |
T | C_Sr = 5.4562 Rear cornering stiffness (N/rad) |
T | I_z = 0.04712 Yaw moment of inertia (kg⋅m²) |
T | a = 0.15875 Distance from center of gravity to front axle (m) |
T | acc_max = 3.0 Maximum acceleration (m/s²) |
T | acc_min = -5.0 Minimum acceleration (m/s²) |
T | b = 0.17145 Distance from center of gravity to rear axle (m) |
T | delta_dot_max = 3.2 Maximum steering rate (rad/s) |
T | delta_dot_min = -3.2 Minimum steering rate (rad/s) |
T | delta_max = 0.4189 Maximum steering angle (rad) |
T | delta_min = -0.4189 Minimum steering angle (rad) |
T | h = 0.074 Height of center of gravity (m) |
T | m = 3.74 Vehicle mass (kg) |
T | mu = 1.0489 Friction coefficient. |
T | v_max = 3.0 Maximum velocity (m/s) |
T | v_min = 0.0 Minimum velocity (m/s) |
Public Static Attributes
Type | Name |
---|---|
std::size_t | INPUT_DIM = 2 Input dimension: [delta_dot, a_long]. |
std::size_t | STATE_DIM = 7 State dimension: [x, y, psi, v, delta, psi_dot, beta]. |
T | g = 9.81 Gravitational acceleration (m/s²) |
Public Functions
Type | Name |
---|---|
JALANSIM_HOST_DEVICE T | accel_constraints (T v, T a_cmd) const Apply acceleration constraints. |
JALANSIM_HOST_DEVICE void | reset () Reset the model to initial state. |
JALANSIM_HOST_DEVICE void | rhs (const T * x, const T * u_cmd, T * dx, T dt) const Compute state derivatives using dynamic bicycle model. |
JALANSIM_HOST_DEVICE T | steering_constraints (T delta, T delta_dot_cmd) const Apply steering rate constraints. |
Public Static Functions
Type | Name |
---|---|
JALANSIM_HOST_DEVICE T | clamp (T v, T lo, T hi) Clamp a value between lower and upper bounds. |
Detailed Description
Implements a more sophisticated bicycle model that includes dynamic effects such as tire slip angles, lateral tire forces, and weight transfer during acceleration/braking. Uses Pacejka-like tire models and includes side slip angle dynamics. Switches between kinematic and dynamic models at low speeds.
State: [x, y, psi, v, delta, psi_dot, beta] Input: [delta_dot, acceleration]
Template parameters:
T
Numeric type (float, double)
Public Attributes Documentation
variable C_Sf
Front cornering stiffness (N/rad)
T jalansim::dynamics::models::BicycleDynamics< T >::C_Sf;
variable C_Sr
Rear cornering stiffness (N/rad)
T jalansim::dynamics::models::BicycleDynamics< T >::C_Sr;
variable I_z
Yaw moment of inertia (kg⋅m²)
T jalansim::dynamics::models::BicycleDynamics< T >::I_z;
variable a
Distance from center of gravity to front axle (m)
T jalansim::dynamics::models::BicycleDynamics< T >::a;
variable acc_max
Maximum acceleration (m/s²)
T jalansim::dynamics::models::BicycleDynamics< T >::acc_max;
variable acc_min
Minimum acceleration (m/s²)
T jalansim::dynamics::models::BicycleDynamics< T >::acc_min;
variable b
Distance from center of gravity to rear axle (m)
T jalansim::dynamics::models::BicycleDynamics< T >::b;
variable delta_dot_max
Maximum steering rate (rad/s)
T jalansim::dynamics::models::BicycleDynamics< T >::delta_dot_max;
variable delta_dot_min
Minimum steering rate (rad/s)
T jalansim::dynamics::models::BicycleDynamics< T >::delta_dot_min;
variable delta_max
Maximum steering angle (rad)
T jalansim::dynamics::models::BicycleDynamics< T >::delta_max;
variable delta_min
Minimum steering angle (rad)
T jalansim::dynamics::models::BicycleDynamics< T >::delta_min;
variable h
Height of center of gravity (m)
T jalansim::dynamics::models::BicycleDynamics< T >::h;
variable m
Vehicle mass (kg)
T jalansim::dynamics::models::BicycleDynamics< T >::m;
variable mu
Friction coefficient.
T jalansim::dynamics::models::BicycleDynamics< T >::mu;
variable v_max
Maximum velocity (m/s)
T jalansim::dynamics::models::BicycleDynamics< T >::v_max;
variable v_min
Minimum velocity (m/s)
T jalansim::dynamics::models::BicycleDynamics< T >::v_min;
Public Static Attributes Documentation
variable INPUT_DIM
Input dimension: [delta_dot, a_long].
std::size_t jalansim::dynamics::models::BicycleDynamics< T >::INPUT_DIM;
variable STATE_DIM
State dimension: [x, y, psi, v, delta, psi_dot, beta].
std::size_t jalansim::dynamics::models::BicycleDynamics< T >::STATE_DIM;
variable g
Gravitational acceleration (m/s²)
T jalansim::dynamics::models::BicycleDynamics< T >::g;
Public Functions Documentation
function accel_constraints
Apply acceleration constraints.
inline JALANSIM_HOST_DEVICE T jalansim::dynamics::models::BicycleDynamics::accel_constraints (
T v,
T a_cmd
) const
Parameters:
v
Current velocitya_cmd
Commanded acceleration
Returns:
Constrained acceleration
function reset
Reset the model to initial state.
inline JALANSIM_HOST_DEVICE void jalansim::dynamics::models::BicycleDynamics::reset ()
function rhs
Compute state derivatives using dynamic bicycle model.
inline JALANSIM_HOST_DEVICE void jalansim::dynamics::models::BicycleDynamics::rhs (
const T * x,
const T * u_cmd,
T * dx,
T dt
) const
Parameters:
x
State vector [x, y, psi, v, delta, psi_dot, beta]u_cmd
Input vector [delta_dot, a_long]dx
Output state derivativesdt
Time step for constraint enforcement
function steering_constraints
Apply steering rate constraints.
inline JALANSIM_HOST_DEVICE T jalansim::dynamics::models::BicycleDynamics::steering_constraints (
T delta,
T delta_dot_cmd
) const
Parameters:
delta
Current steering angledelta_dot_cmd
Commanded steering rate
Returns:
Constrained steering rate
Public Static Functions Documentation
function clamp
Clamp a value between lower and upper bounds.
static inline JALANSIM_HOST_DEVICE T jalansim::dynamics::models::BicycleDynamics::clamp (
T v,
T lo,
T hi
)
Parameters:
v
Value to clamp-
lo
Lower bound -
hi
Upper bound
Returns:
Clamped value
The documentation for this class was generated from the following file include/jalansim/dynamics/models/bicycle_dynamics.hpp