#include <speed_limiter.h>
Public Member Functions | |
double | limit (double &v, double v0, double v1, double dt) |
Limit the velocity and acceleration. More... | |
double | limit_acceleration (double &v, double v0, double dt) |
Limit the acceleration. More... | |
double | limit_jerk (double &v, double v0, double v1, double dt) |
Limit the jerk. More... | |
double | limit_velocity (double &v) |
Limit the velocity. More... | |
SpeedLimiter (bool has_velocity_limits=false, bool has_acceleration_limits=false, bool has_jerk_limits=false, double min_velocity=0.0, double max_velocity=0.0, double min_acceleration=0.0, double max_acceleration=0.0, double min_jerk=0.0, double max_jerk=0.0) | |
Constructor. More... | |
Public Attributes | |
bool | has_acceleration_limits |
bool | has_jerk_limits |
bool | has_velocity_limits |
double | max_acceleration |
double | max_jerk |
double | max_velocity |
double | min_acceleration |
double | min_jerk |
double | min_velocity |
Definition at line 45 of file speed_limiter.h.
diff_drive_controller::SpeedLimiter::SpeedLimiter | ( | bool | has_velocity_limits = false , |
bool | has_acceleration_limits = false , |
||
bool | has_jerk_limits = false , |
||
double | min_velocity = 0.0 , |
||
double | max_velocity = 0.0 , |
||
double | min_acceleration = 0.0 , |
||
double | max_acceleration = 0.0 , |
||
double | min_jerk = 0.0 , |
||
double | max_jerk = 0.0 |
||
) |
Constructor.
[in] | has_velocity_limits | if true, applies velocity limits |
[in] | has_acceleration_limits | if true, applies acceleration limits |
[in] | has_jerk_limits | if true, applies jerk limits |
[in] | min_velocity | Minimum velocity [m/s], usually <= 0 |
[in] | max_velocity | Maximum velocity [m/s], usually >= 0 |
[in] | min_acceleration | Minimum acceleration [m/s^2], usually <= 0 |
[in] | max_acceleration | Maximum acceleration [m/s^2], usually >= 0 |
[in] | min_jerk | Minimum jerk [m/s^3], usually <= 0 |
[in] | max_jerk | Maximum jerk [m/s^3], usually >= 0 |
Definition at line 52 of file speed_limiter.cpp.
double diff_drive_controller::SpeedLimiter::limit | ( | double & | v, |
double | v0, | ||
double | v1, | ||
double | dt | ||
) |
Limit the velocity and acceleration.
[in,out] | v | Velocity [m/s] |
[in] | v0 | Previous velocity to v [m/s] |
[in] | v1 | Previous velocity to v0 [m/s] |
[in] | dt | Time step [s] |
Definition at line 75 of file speed_limiter.cpp.
double diff_drive_controller::SpeedLimiter::limit_acceleration | ( | double & | v, |
double | v0, | ||
double | dt | ||
) |
Limit the acceleration.
[in,out] | v | Velocity [m/s] |
[in] | v0 | Previous velocity [m/s] |
[in] | dt | Time step [s] |
Definition at line 98 of file speed_limiter.cpp.
double diff_drive_controller::SpeedLimiter::limit_jerk | ( | double & | v, |
double | v0, | ||
double | v1, | ||
double | dt | ||
) |
Limit the jerk.
[in,out] | v | Velocity [m/s] |
[in] | v0 | Previous velocity to v [m/s] |
[in] | v1 | Previous velocity to v0 [m/s] |
[in] | dt | Time step [s] |
Definition at line 115 of file speed_limiter.cpp.
double diff_drive_controller::SpeedLimiter::limit_velocity | ( | double & | v | ) |
Limit the velocity.
[in,out] | v | Velocity [m/s] |
Definition at line 86 of file speed_limiter.cpp.
bool diff_drive_controller::SpeedLimiter::has_acceleration_limits |
Definition at line 113 of file speed_limiter.h.
bool diff_drive_controller::SpeedLimiter::has_jerk_limits |
Definition at line 114 of file speed_limiter.h.
bool diff_drive_controller::SpeedLimiter::has_velocity_limits |
Definition at line 112 of file speed_limiter.h.
double diff_drive_controller::SpeedLimiter::max_acceleration |
Definition at line 122 of file speed_limiter.h.
double diff_drive_controller::SpeedLimiter::max_jerk |
Definition at line 126 of file speed_limiter.h.
double diff_drive_controller::SpeedLimiter::max_velocity |
Definition at line 118 of file speed_limiter.h.
double diff_drive_controller::SpeedLimiter::min_acceleration |
Definition at line 121 of file speed_limiter.h.
double diff_drive_controller::SpeedLimiter::min_jerk |
Definition at line 125 of file speed_limiter.h.
double diff_drive_controller::SpeedLimiter::min_velocity |
Definition at line 117 of file speed_limiter.h.