Ackermann Controller
Public Member Functions | Public Attributes | List of all members
ackermann::Params Struct Reference

Structure containing rover characteristics and limitations. More...

#include <Params.hpp>

Public Member Functions

 Params (double wheel_base_, double track_width_, double max_steering_angle_, double kp_speed_, double kp_heading_)
 

Public Attributes

std::atomic< double > control_frequency {100.0}
 Desired frequency of controller loop.
 
std::atomic< double > velocity_max {10.0}
 Maximum allowable velocity of rover (m/s). Used with throttle command for speed calculation.
 
std::atomic< double > velocity_min {0.0}
 Minimum allowable velocity of rover (m/s). Backwards driving not yet implemented, set to 0 m/s until implemented..
 
std::atomic< double > acceleration_max {50.0}
 Maximum allowable acceleration of rover (m/s^2)
 
std::atomic< double > acceleration_min {-50.0}
 Minimum allowable acceleration of rover (e.g., braking) (m/s^2)
 
std::atomic< double > angular_velocity_max
 Maximum allowable (rightward) angular velocity of steering change (rad/s) More...
 
std::atomic< double > angular_velocity_min
 Minimum allowable (leftward) angular velocity of steering change (rad/s) More...
 
std::atomic< double > angular_acceleration_max
 Maximum allowable (rightward) angular acceleration of steering change (rad/s^2) More...
 
std::atomic< double > angular_acceleration_min
 Minimum allowable (leftward) angular acceleration of steering change (rad/s^2) More...
 
std::atomic< double > throttle_max {1.0}
 Maximum throttle setting - should set to 1.0.
 
std::atomic< double > throttle_min {0.0}
 Minimum throttle setting - should set to 0.0.
 
const std::shared_ptr< PIDParamspid_speed
 Speed controller PID parameters.
 
const std::shared_ptr< PIDParamspid_heading
 Heading controller PID parameters.
 
std::atomic< double > wheel_base
 Length between front and rear axles (m)
 
std::atomic< double > track_width
 Width between left and right tires (m)
 
std::atomic< double > max_steering_angle
 Maximum angle of steering mechanism (rad)
 

Detailed Description

Structure containing rover characteristics and limitations.

Member Data Documentation

◆ angular_acceleration_max

std::atomic<double> ackermann::Params::angular_acceleration_max
Initial value:
{
std::numeric_limits<double>::max()}

Maximum allowable (rightward) angular acceleration of steering change (rad/s^2)

◆ angular_acceleration_min

std::atomic<double> ackermann::Params::angular_acceleration_min
Initial value:
{
std::numeric_limits<double>::lowest()}

Minimum allowable (leftward) angular acceleration of steering change (rad/s^2)

◆ angular_velocity_max

std::atomic<double> ackermann::Params::angular_velocity_max
Initial value:
{
std::numeric_limits<double>::max()}

Maximum allowable (rightward) angular velocity of steering change (rad/s)

◆ angular_velocity_min

std::atomic<double> ackermann::Params::angular_velocity_min
Initial value:
{
std::numeric_limits<double>::lowest()}

Minimum allowable (leftward) angular velocity of steering change (rad/s)


The documentation for this struct was generated from the following file: