GCOP  1.0
rccar1.h
Go to the documentation of this file.
00001 #ifndef GCOP_RCCAR1_H
00002 #define GCOP_RCCAR1_H
00003 
00004 #include "system.h"
00005 #include "rccar.h"
00006 #include <limits>
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 Matrix<double, 6, 1> Vector6d;
00016 
00026   class Rccar1 : public Rccar
00027   {
00028   public:
00029     Rccar1();
00030     
00031     double Step(Vector4d &xb, double t, const Vector4d &xa,
00032                 const Vector2d &u, double h, const VectorXd *p,
00033                 Matrix4d *A = 0, Matrix42d *B = 0, Matrix4pd *C = 0);
00034     inline double bind(const double &input, int index)
00035     {
00036       return (input > U.ub[index]? U.ub[index]:(input < U.lb[index])?U.lb[index]:input);
00037     }
00038 
00039     double msteer, csteer;
00040     double mdrive, cdrive;
00041     double ktorque;
00042   };
00043 }
00044 
00045 
00046 #endif