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