ros2_control - rolling
Public Member Functions | List of all members
tricycle_controller::SteeringLimiter Class Reference

Public Member Functions

 SteeringLimiter (double min_position=NAN, double max_position=NAN, double min_velocity=NAN, double max_velocity=NAN, double min_acceleration=NAN, double max_acceleration=NAN)
 Constructor. More...
 
double limit (double &p, double p0, double p1, double dt)
 Limit the position, velocity and acceleration. More...
 
double limit_position (double &p)
 Limit the jerk. More...
 
double limit_velocity (double &p, double p0, double dt)
 Limit the velocity. More...
 
double limit_acceleration (double &p, double p0, double p1, double dt)
 Limit the acceleration. More...
 

Constructor & Destructor Documentation

◆ SteeringLimiter()

tricycle_controller::SteeringLimiter::SteeringLimiter ( double  min_position = NAN,
double  max_position = NAN,
double  min_velocity = NAN,
double  max_velocity = NAN,
double  min_acceleration = NAN,
double  max_acceleration = NAN 
)

Constructor.

Parameters
[in]min_positionMinimum position [m] or [rad]
[in]max_positionMaximum position [m] or [rad]
[in]min_velocityMinimum velocity [m/s] or [rad/s]
[in]max_velocityMaximum velocity [m/s] or [rad/s]
[in]min_accelerationMinimum acceleration [m/s^2] or [rad/s^2]
[in]max_accelerationMaximum acceleration [m/s^2] or [rad/s^2]

Member Function Documentation

◆ limit()

double tricycle_controller::SteeringLimiter::limit ( double &  p,
double  p0,
double  p1,
double  dt 
)

Limit the position, velocity and acceleration.

Parameters
[in,out]pposition [m] or [rad]
[in]p0Previous position to p [m] or [rad]
[in]p1Previous position to p0 [m] or [rad]
[in]dtTime step [s]
Returns
Limiting factor (1.0 if none)

◆ limit_acceleration()

double tricycle_controller::SteeringLimiter::limit_acceleration ( double &  p,
double  p0,
double  p1,
double  dt 
)

Limit the acceleration.

Parameters
[in,out]pPosition [m] or [rad]
[in]p0Previous position [m] or [rad]
[in]dtTime step [s]
Returns
Limiting factor (1.0 if none)

◆ limit_position()

double tricycle_controller::SteeringLimiter::limit_position ( double &  p)

Limit the jerk.

Parameters
[in,out]pposition [m] or [rad]
[in]p0Previous position to p [m] or [rad]
[in]p1Previous position to p0 [m] or [rad]
[in]dtTime step [s]
Returns
Limiting factor (1.0 if none)

◆ limit_velocity()

double tricycle_controller::SteeringLimiter::limit_velocity ( double &  p,
double  p0,
double  dt 
)

Limit the velocity.

Parameters
[in,out]pposition [m]
Returns
Limiting factor (1.0 if none)

The documentation for this class was generated from the following files: