|
| | 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, acceleration, and jerk.
|
| |
| 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, acceleration, and jerk.
- 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