speed_limiter.h
Go to the documentation of this file.
00001 
00002 #ifndef SPEED_LIMITER_H
00003 #define SPEED_LIMITER_H
00004 
00005 namespace four_wheel_steering_controller
00006 {
00007 
00008   class SpeedLimiter
00009   {
00010   public:
00011 
00024     SpeedLimiter(
00025       bool has_velocity_limits = false,
00026       bool has_acceleration_limits = false,
00027       bool has_jerk_limits = false,
00028       double min_velocity = 0.0,
00029       double max_velocity = 0.0,
00030       double min_acceleration = 0.0,
00031       double max_acceleration = 0.0,
00032       double min_jerk = 0.0,
00033       double max_jerk = 0.0
00034     );
00035 
00044     double limit(double& v, double v0, double v1, double dt);
00045 
00051     double limit_velocity(double& v);
00052 
00060     double limit_acceleration(double& v, double v0, double dt);
00061 
00071     double limit_jerk(double& v, double v0, double v1, double dt);
00072 
00073   public:
00074     // Enable/Disable velocity/acceleration/jerk limits:
00075     bool has_velocity_limits;
00076     bool has_acceleration_limits;
00077     bool has_jerk_limits;
00078 
00079     // Velocity limits:
00080     double min_velocity;
00081     double max_velocity;
00082 
00083     // Acceleration limits:
00084     double min_acceleration;
00085     double max_acceleration;
00086 
00087     // Jerk limits:
00088     double min_jerk;
00089     double max_jerk;
00090   };
00091 
00092 } // namespace four_wheel_steering_controller
00093 
00094 #endif // SPEED_LIMITER_H


four_wheel_steering_controller
Author(s): Vincent Rousseau
autogenerated on Sat Jun 8 2019 20:06:24