#include <speed_limiter.h>
Public Member Functions | |
double | limit (double &v, double v0, double v1, double dt) |
Limit the velocity and acceleration. | |
double | limit_acceleration (double &v, double v0, double dt) |
Limit the acceleration. | |
double | limit_jerk (double &v, double v0, double v1, double dt) |
Limit the jerk. | |
double | limit_velocity (double &v) |
Limit the velocity. | |
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. | |
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 8 of file speed_limiter.h.
ackermann_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 14 of file speed_limiter.cpp.
double ackermann_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 37 of file speed_limiter.cpp.
double ackermann_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 60 of file speed_limiter.cpp.
double ackermann_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 77 of file speed_limiter.cpp.
double ackermann_controller::SpeedLimiter::limit_velocity | ( | double & | v | ) |
Limit the velocity.
[in,out] | v | Velocity [m/s] |
Definition at line 48 of file speed_limiter.cpp.
Definition at line 76 of file speed_limiter.h.
Definition at line 77 of file speed_limiter.h.
Definition at line 75 of file speed_limiter.h.
Definition at line 85 of file speed_limiter.h.
Definition at line 89 of file speed_limiter.h.
Definition at line 81 of file speed_limiter.h.
Definition at line 84 of file speed_limiter.h.
Definition at line 88 of file speed_limiter.h.
Definition at line 80 of file speed_limiter.h.