GCOP  1.0
rccar.h
Go to the documentation of this file.
00001 #ifndef GCOP_RCCAR_H
00002 #define GCOP_RCCAR_H
00003 
00004 #include "system.h"
00005 #include <limits>
00006 //#define RCCAR_RADIO_INPUTS
00007 
00008 namespace gcop {
00009   
00010   using namespace std;
00011   using namespace Eigen;
00012 
00013   typedef Matrix<double, 4, 2> Matrix42d;
00014   typedef Matrix<double, 4, Dynamic> Matrix4pd;
00015   typedef System<Vector4d, 4, 2> BaseSystem;
00016   //typedef Matrix<double, 6, 1> Vector6d;
00017 
00027   class Rccar : public BaseSystem 
00028   {
00029   public:
00030     Rccar(int np = 2);
00031     
00032     virtual double Step(Vector4d &xb, double t, const Vector4d &xa,
00033                         const Vector2d &u, double h, const VectorXd *p,
00034                         Matrix4d *A = 0, Matrix42d *B = 0, Matrix4pd *C = 0);
00035 
00036     /*virtual double Step(Vector4d &xb, double t, const Vector4d &xa,
00037                         const Vector2d &u, double h, const VectorXd *p,
00038                         const Vector4d &w,                         
00039                         Matrix4d *A = 0, Matrix42d *B = 0, Matrix4pd *C = 0, Matrix4d *D = 0);
00040     */
00041 
00042 
00043     virtual void StateAndControlsToFlat(VectorXd &y, const Vector4d &x, const Vector2d &u);
00044 
00045     virtual void FlatToStateAndControls(Vector4d &x, Vector2d &u, const std::vector<VectorXd> &y);
00046 
00047     double l; 
00048     double r; 
00049     double h; 
00050   };
00051 }
00052 
00053 
00054 #endif