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 derivatives
  • dt 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 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.hpp