Struct jalansim::dynamics::models::Bicycle
template <typename T>
ClassList > jalansim > dynamics > models > Bicycle
Kinematic bicycle model for vehicle dynamics. More...
#include <bicycle.hpp>
Public Attributes
Type | Name |
---|---|
T | a Distance from center of gravity to front axle (m) |
T | acc_max Maximum acceleration (m/s²) |
T | acc_min Minimum acceleration (m/s²) |
T | b Distance from center of gravity to rear axle (m) |
T | delta_dot_max Maximum steering rate (rad/s) |
T | delta_dot_min Minimum steering rate (rad/s) |
T | delta_max Maximum steering angle (rad) |
T | delta_min Minimum steering angle (rad) |
T | v_max Maximum velocity (m/s) |
T | v_min 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 = 5 State dimension: [x, y, psi, v, delta]. |
Public Functions
Type | Name |
---|---|
JALANSIM_HOST_DEVICE | Bicycle () Default constructor with typical parameter values. |
JALANSIM_HOST_DEVICE | Bicycle (T a_, T b_, T delta_min_, T delta_max_, T delta_dot_min_, T delta_dot_max_, T v_min_, T v_max_, T acc_min_, T acc_max_) Constructor with custom parameters. |
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 for bicycle model. |
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 the classic bicycle model for 2-wheeled vehicle dynamics. Uses kinematic equations with front-wheel steering and rear-wheel drive. Includes constraints on steering angle, steering rate, velocity, and acceleration.
State: [x, y, psi, v, delta] Input: [delta_dot, acceleration]
Template parameters:
T
Numeric type (float, double)
Public Attributes Documentation
variable a
Distance from center of gravity to front axle (m)
T jalansim::dynamics::models::Bicycle< T >::a;
variable acc_max
Maximum acceleration (m/s²)
T jalansim::dynamics::models::Bicycle< T >::acc_max;
variable acc_min
Minimum acceleration (m/s²)
T jalansim::dynamics::models::Bicycle< T >::acc_min;
variable b
Distance from center of gravity to rear axle (m)
T jalansim::dynamics::models::Bicycle< T >::b;
variable delta_dot_max
Maximum steering rate (rad/s)
T jalansim::dynamics::models::Bicycle< T >::delta_dot_max;
variable delta_dot_min
Minimum steering rate (rad/s)
T jalansim::dynamics::models::Bicycle< T >::delta_dot_min;
variable delta_max
Maximum steering angle (rad)
T jalansim::dynamics::models::Bicycle< T >::delta_max;
variable delta_min
Minimum steering angle (rad)
T jalansim::dynamics::models::Bicycle< T >::delta_min;
variable v_max
Maximum velocity (m/s)
T jalansim::dynamics::models::Bicycle< T >::v_max;
variable v_min
Minimum velocity (m/s)
T jalansim::dynamics::models::Bicycle< T >::v_min;
Public Static Attributes Documentation
variable INPUT_DIM
Input dimension: [delta_dot, a_long].
std::size_t jalansim::dynamics::models::Bicycle< T >::INPUT_DIM;
variable STATE_DIM
State dimension: [x, y, psi, v, delta].
std::size_t jalansim::dynamics::models::Bicycle< T >::STATE_DIM;
Public Functions Documentation
function Bicycle [1/2]
Default constructor with typical parameter values.
inline JALANSIM_HOST_DEVICE jalansim::dynamics::models::Bicycle::Bicycle ()
function Bicycle [2/2]
Constructor with custom parameters.
inline JALANSIM_HOST_DEVICE jalansim::dynamics::models::Bicycle::Bicycle (
T a_,
T b_,
T delta_min_,
T delta_max_,
T delta_dot_min_,
T delta_dot_max_,
T v_min_,
T v_max_,
T acc_min_,
T acc_max_
)
Parameters:
a_
Distance to front axle (m)b_
Distance to rear axle (m)delta_min_
Minimum steering angle (rad)delta_max_
Maximum steering angle (rad)delta_dot_min_
Minimum steering rate (rad/s)delta_dot_max_
Maximum steering rate (rad/s)v_min_
Minimum velocity (m/s)v_max_
Maximum velocity (m/s)acc_min_
Minimum acceleration (m/s²)acc_max_
Maximum acceleration (m/s²)
function reset
Reset the model to initial state.
inline JALANSIM_HOST_DEVICE void jalansim::dynamics::models::Bicycle::reset ()
function rhs
Compute state derivatives for bicycle model.
inline JALANSIM_HOST_DEVICE void jalansim::dynamics::models::Bicycle::rhs (
const T * x,
const T * u_cmd,
T * dx,
T dt
) const
Parameters:
x
State vector [x, y, psi, v, delta]u_cmd
Input vector [delta_dot, a_long]dx
Output state derivativesdt
Time step for constraint enforcement
Public Static Functions Documentation
function clamp
Clamp a value between lower and upper bounds.
static inline JALANSIM_HOST_DEVICE T jalansim::dynamics::models::Bicycle::clamp (
T v,
T lo,
T hi
)
Parameters:
v
Value to clamplo
Lower boundhi
Upper bound
Returns:
Clamped value
The documentation for this class was generated from the following file include/jalansim/dynamics/models/bicycle.hpp