|
| SpeedLimiter (bool has_velocity_limits=false, bool has_acceleration_limits=false, bool has_jerk_limits=false, double min_velocity=NAN, double max_velocity=NAN, double min_acceleration=NAN, double max_acceleration=NAN, double min_jerk=NAN, double max_jerk=NAN) |
| Constructor.
|
|
double | limit (double &v, double v0, double v1, double dt) |
| Limit the velocity and acceleration.
|
|
double | limit_velocity (double &v) |
| Limit the velocity.
|
|
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.
|
|
◆ SpeedLimiter()
diff_drive_controller::SpeedLimiter::SpeedLimiter |
( |
bool |
has_velocity_limits = false , |
|
|
bool |
has_acceleration_limits = false , |
|
|
bool |
has_jerk_limits = false , |
|
|
double |
min_velocity = NAN , |
|
|
double |
max_velocity = NAN , |
|
|
double |
min_acceleration = NAN , |
|
|
double |
max_acceleration = NAN , |
|
|
double |
min_jerk = NAN , |
|
|
double |
max_jerk = NAN |
|
) |
| |
Constructor.
- Parameters
-
[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 |
◆ limit()
double diff_drive_controller::SpeedLimiter::limit |
( |
double & |
v, |
|
|
double |
v0, |
|
|
double |
v1, |
|
|
double |
dt |
|
) |
| |
Limit the velocity and acceleration.
- Parameters
-
[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] |
- Returns
- Limiting factor (1.0 if none)
◆ limit_acceleration()
double diff_drive_controller::SpeedLimiter::limit_acceleration |
( |
double & |
v, |
|
|
double |
v0, |
|
|
double |
dt |
|
) |
| |
Limit the acceleration.
- Parameters
-
[in,out] | v | Velocity [m/s] |
[in] | v0 | Previous velocity [m/s] |
[in] | dt | Time step [s] |
- Returns
- Limiting factor (1.0 if none)
◆ limit_jerk()
double diff_drive_controller::SpeedLimiter::limit_jerk |
( |
double & |
v, |
|
|
double |
v0, |
|
|
double |
v1, |
|
|
double |
dt |
|
) |
| |
◆ limit_velocity()
double diff_drive_controller::SpeedLimiter::limit_velocity |
( |
double & |
v | ) |
|
Limit the velocity.
- Parameters
-
- Returns
- Limiting factor (1.0 if none)
The documentation for this class was generated from the following files:
- ros2_controllers/diff_drive_controller/include/diff_drive_controller/speed_limiter.hpp
- ros2_controllers/diff_drive_controller/src/speed_limiter.cpp