GCOP
1.0
|
00001 #ifndef GCOP_RNLQSENSORCOST_H 00002 #define GCOP_RNLQSENSORCOST_H 00003 00004 #include "lqsensorcost.h" 00005 #include "rn.h" 00006 #include "system.h" 00007 00008 namespace gcop { 00009 00010 using namespace Eigen; 00011 00015 template <int _nx = Dynamic, 00016 int _nu = Dynamic, 00017 int _np = Dynamic, 00018 int _ng = Dynamic, 00019 int _nz = Dynamic> class RnLqSensorCost : 00020 public LqSensorCost< Matrix<double, _nx, 1>, _nx, _nu, _np, _ng, Matrix<double, _nz, 1>, _nz> { 00021 00022 typedef Matrix<double, _nx, 1> Vectornd; 00023 typedef Matrix<double, _nu, 1> Vectorcd; 00024 typedef Matrix<double, _np, 1> Vectormd; 00025 00026 typedef Matrix<double, _nz, 1> Vectorrd; 00027 typedef Matrix<double, _nz, _nz> Matrixrd; 00028 typedef Matrix<double, _nz, _nx> Matrixrnd; 00029 typedef Matrix<double, _nz, _nu> Matrixrcd; 00030 typedef Matrix<double, _nz, _np> Matrixrmd; 00031 00032 public: 00038 RnLqCost(System<Vectornd, _nx, _nu, _np> &sys, Manifold<Vectorrd, _nz> &Z, bool diag = true); 00039 00040 }; 00041 00042 template <int _nx, int _nu, int _np, int _ng, int _nz> 00043 RnLqSensorCost<_nx, _nu, _np, _ng, _nz>::RnLqCost(System<Vectornd, _nx, _nu, _np> &sys, 00044 Manifold<Vectorrd, _nz> &Z, 00045 bool diag) : 00046 LqSensorCost<Matrix<double, _nx, 1>, _nx, _nu, _np, _ng, Matrix<double, _nz, 1>, _nz>(sys, Z, diag) { 00047 assert(_nx > 0); 00048 assert(_nu >= 0); 00049 } 00050 } 00051 00052 #endif