GCOP
1.0
|
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