GCOP
1.0
|
00001 #ifndef GCOP_BACOST_H 00002 #define GCOP_BACOST_H 00003 00004 #include <limits> 00005 #include <iostream> 00006 #include "cost.h" 00007 #include "posegraph2d.h" 00008 #include "kinbody2d.h" 00009 00010 namespace gcop { 00011 00012 using namespace std; 00013 using namespace Eigen; 00014 00015 typedef Matrix<double, Dynamic, 3> MatrixX3d; 00016 typedef Matrix<double, 3, Dynamic> Matrix3Xd; 00017 00018 class BaCost : public Cost<Matrix3d, 3, 3> { 00019 public: 00020 BaCost(Kinbody2d &sys, double tf, const Posegraph2d &pg); 00021 00022 double L(double t, const Matrix3d &x, const Vector3d &u, double h, 00023 const VectorXd *p, 00024 Vector3d *Lx = 0, Matrix3d *Lxx = 0, 00025 Vector3d *Lu = 0, Matrix3d *Luu = 0, 00026 Matrix3d *Lxu = 0, 00027 VectorXd *Lp = 0, MatrixXd *Lpp = 0, MatrixX3d *Lpx = 0); 00028 00029 const Posegraph2d &pg; 00030 }; 00031 } 00032 00033 #endif