speed_limiter.h
Go to the documentation of this file.
1 
6 #ifndef SPEED_LIMITER_H
7 #define SPEED_LIMITER_H
8 
9 namespace ackermann_controller
10 {
11 
13 {
14 public:
15 
29  bool has_velocity_limits = false,
30  bool has_acceleration_limits = false,
31  bool has_deceleration_limits = false,
32  bool has_jerk_limits = false,
33  double min_velocity = 0.0,
34  double max_velocity = 0.0,
35  double min_acceleration = 0.0,
36  double max_acceleration = 0.0,
37  double min_deceleration = 0.0,
38  double max_deceleration = 0.0,
39  double min_jerk = 0.0,
40  double max_jerk = 0.0
41  );
42 
51  double limit(double& v, double v0, double v1, double dt);
52 
58  double limit_velocity(double& v);
59 
67  double limit_acceleration(double& v, double v0, double dt);
68 
78  double limit_jerk(double& v, double v0, double v1, double dt);
79 
80 public:
81  // Enable/Disable velocity/acceleration/jerk limits:
86 
87  // Velocity limits:
88  double min_velocity;
89  double max_velocity;
90 
91  // Acceleration limits:
96 
97  // Jerk limits:
98  double min_jerk;
99  double max_jerk;
100 };
101 
102 }
103 
104 #endif // SPEED_LIMITER_H
double limit_jerk(double &v, double v0, double v1, double dt)
Limit the jerk.
double limit_velocity(double &v)
Limit the velocity.
SpeedLimiter(bool has_velocity_limits=false, bool has_acceleration_limits=false, bool has_deceleration_limits=false, bool has_jerk_limits=false, double min_velocity=0.0, double max_velocity=0.0, double min_acceleration=0.0, double max_acceleration=0.0, double min_deceleration=0.0, double max_deceleration=0.0, double min_jerk=0.0, double max_jerk=0.0)
Constructor.
double limit_acceleration(double &v, double v0, double dt)
Limit the acceleration.
double limit(double &v, double v0, double v1, double dt)
Limit the velocity and acceleration.


ackermann_controller
Author(s): GĂ©rald Lelong
autogenerated on Mon Jun 10 2019 12:44:49