GCOP  1.0
bacost.h
Go to the documentation of this file.
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