00001 #ifndef INCLUDE_NAVLIB_CONTROLLER_FRENETSERRETCONTROLLER 00002 #define INCLUDE_NAVLIB_CONTROLLER_FRENETSERRETCONTROLLER 00003 00004 #include "controller.h" 00005 #include "path.h" 00006 00007 namespace navlib 00008 { 00010 class FrenetSerretController : public Controller 00011 { 00012 public: 00017 FrenetSerretController(double k1, double k2, double kd, double gamma); 00018 virtual ~FrenetSerretController() {}; 00024 Velocity getAction(Pose pose, Path* path, double dt, double v=1.0); 00025 00026 private: 00027 Path* _path; 00028 double _k1; 00029 double _k2; 00030 double _kd; 00031 double _gamma; 00032 double _s; 00033 }; 00034 } 00035 00036 #endif