|
Ackermann Controller
|
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< PIDParams > | pid_speed |
| Speed controller PID parameters. | |
| const std::shared_ptr< PIDParams > | pid_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) | |
Structure containing rover characteristics and limitations.
| std::atomic<double> ackermann::Params::angular_acceleration_max |
Maximum allowable (rightward) angular acceleration of steering change (rad/s^2)
| std::atomic<double> ackermann::Params::angular_acceleration_min |
Minimum allowable (leftward) angular acceleration of steering change (rad/s^2)
| std::atomic<double> ackermann::Params::angular_velocity_max |
Maximum allowable (rightward) angular velocity of steering change (rad/s)
| std::atomic<double> ackermann::Params::angular_velocity_min |
Minimum allowable (leftward) angular velocity of steering change (rad/s)
1.8.13