GCOP
1.0
|
00001 #ifndef GCOP_GUNICYCLECOST_H 00002 #define GCOP_GUNICYCLECOST_H 00003 00004 #include "lqcost.h" 00005 #include "gunicycle.h" 00006 #include <limits> 00007 00008 namespace gcop { 00009 00010 using namespace std; 00011 using namespace Eigen; 00012 00013 typedef Matrix<double, 5, 1> Vector5d; 00014 typedef Matrix<double, 5, 5> Matrix5d; 00015 typedef Matrix<double, 5, 2> Matrix52d; 00016 typedef pair<Matrix3d, Vector2d> M3V2d; 00017 00018 00019 class GunicycleCost : public LqCost<M3V2d, 5, 2, Dynamic, 7> { 00020 public: 00021 00022 GunicycleCost(Gunicycle &sys, double tf, const M3V2d &xf); 00023 00024 double L(double t, const M3V2d &x, const Vector2d &u, double h, 00025 Vector5d *Lx = 0, Matrix5d *Lxx = 0, 00026 Vector2d *Lu = 0, Matrix2d *Luu = 0, 00027 Matrix52d *Lxu = 0); 00028 }; 00029 } 00030 00031 #endif