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