Class TractionLimiter
Defined in File traction_limiter.hpp
Class Documentation
-
class TractionLimiter
Public Functions
-
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:
min_velocity – [in] Minimum velocity [m/s] or [rad/s]
max_velocity – [in] Maximum velocity [m/s] or [rad/s]
min_acceleration – [in] Minimum acceleration [m/s^2] or [rad/s^2]
max_acceleration – [in] Maximum acceleration [m/s^2] or [rad/s^2]
min_deceleration – [in] Minimum deceleration [m/s^2] or [rad/s^2]
max_deceleration – [in] Maximum deceleration [m/s^2] or [rad/s^2]
min_jerk – [in] Minimum jerk [m/s^3]
max_jerk – [in] Maximum jerk [m/s^3]
-
double limit(double &v, double v0, double v1, double dt)
Limit the velocity and acceleration.
- Parameters:
v – [inout] Velocity [m/s] or [rad/s]
v0 – [in] Previous velocity to v [m/s] or [rad/s]
v1 – [in] Previous velocity to v0 [m/s] or [rad/s]
dt – [in] Time step [s]
- Returns:
Limiting factor (1.0 if none)
-
double limit_velocity(double &v)
Limit the velocity.
- Parameters:
v – [inout] Velocity [m/s] or [rad/s]
- Returns:
Limiting factor (1.0 if none)
-
double limit_acceleration(double &v, double v0, double dt)
Limit the acceleration.
- Parameters:
v – [inout] Velocity [m/s] or [rad/s]
v0 – [in] Previous velocity [m/s] or [rad/s]
dt – [in] Time step [s]
- Returns:
Limiting factor (1.0 if none)
-
double limit_jerk(double &v, double v0, double v1, double dt)
Limit the jerk.
- Parameters:
v – [inout] Velocity [m/s] or [rad/s]
v0 – [in] Previous velocity to v [m/s] or [rad/s]
v1 – [in] Previous velocity to v0 [m/s] or [rad/s]
dt – [in] Time step [s]
- Returns:
Limiting factor (1.0 if none)
-
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)