|
| | TractionLimiter (double min_velocity=NAN, double max_velocity=NAN, double min_acceleration=NAN, double max_acceleration=NAN, double min_deceleration=NAN, double max_deceleration=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.
|
| |
◆ TractionLimiter()
| tricycle_controller::TractionLimiter::TractionLimiter |
( |
double |
min_velocity = NAN, |
|
|
double |
max_velocity = NAN, |
|
|
double |
min_acceleration = NAN, |
|
|
double |
max_acceleration = NAN, |
|
|
double |
min_deceleration = NAN, |
|
|
double |
max_deceleration = NAN, |
|
|
double |
min_jerk = NAN, |
|
|
double |
max_jerk = NAN |
|
) |
| |
Constructor.
Parameters are applied symmetrically for both directions, i.e., are applied to the absolute value of the corresponding quantity.
- Warning
- Setting min_velocity: the robot can't stand still
- Setting min_deceleration/min_acceleration: the robot can't move with constant velocity
- Setting min_jerk: the robot can't move with constant acceleration
- Parameters
-
| [in] | min_velocity | Minimum velocity [m/s] or [rad/s] |
| [in] | max_velocity | Maximum velocity [m/s] or [rad/s] |
| [in] | min_acceleration | Minimum acceleration [m/s^2] or [rad/s^2] |
| [in] | max_acceleration | Maximum acceleration [m/s^2] or [rad/s^2] |
| [in] | min_deceleration | Minimum deceleration [m/s^2] or [rad/s^2] |
| [in] | max_deceleration | Maximum deceleration [m/s^2] or [rad/s^2] |
| [in] | min_jerk | Minimum jerk [m/s^3] |
| [in] | max_jerk | Maximum jerk [m/s^3] |
◆ limit()
| double tricycle_controller::TractionLimiter::limit |
( |
double & |
v, |
|
|
double |
v0, |
|
|
double |
v1, |
|
|
double |
dt |
|
) |
| |
Limit the velocity and acceleration.
- Parameters
-
| [in,out] | v | Velocity [m/s] or [rad/s] |
| [in] | v0 | Previous velocity to v [m/s] or [rad/s] |
| [in] | v1 | Previous velocity to v0 [m/s] or [rad/s] |
| [in] | dt | Time step [s] |
- Returns
- Limiting factor (1.0 if none)
◆ limit_acceleration()
| double tricycle_controller::TractionLimiter::limit_acceleration |
( |
double & |
v, |
|
|
double |
v0, |
|
|
double |
dt |
|
) |
| |
Limit the acceleration.
- Parameters
-
| [in,out] | v | Velocity [m/s] or [rad/s] |
| [in] | v0 | Previous velocity [m/s] or [rad/s] |
| [in] | dt | Time step [s] |
- Returns
- Limiting factor (1.0 if none)
◆ limit_jerk()
| double tricycle_controller::TractionLimiter::limit_jerk |
( |
double & |
v, |
|
|
double |
v0, |
|
|
double |
v1, |
|
|
double |
dt |
|
) |
| |
◆ limit_velocity()
| double tricycle_controller::TractionLimiter::limit_velocity |
( |
double & |
v | ) |
|
Limit the velocity.
- Parameters
-
| [in,out] | v | Velocity [m/s] or [rad/s] |
- Returns
- Limiting factor (1.0 if none)
The documentation for this class was generated from the following files:
- ros2_controllers/tricycle_controller/include/tricycle_controller/traction_limiter.hpp
- ros2_controllers/tricycle_controller/src/traction_limiter.cpp