GCOP
1.0
|
#include <sensor.h>
Public Types | |
typedef Matrix< double, _nx, 1 > | Vectornd |
typedef Matrix< double, _nu, 1 > | Vectorcd |
typedef Matrix< double, _np, 1 > | Vectormd |
typedef Matrix< double, _nx, _nx > | Matrixnd |
typedef Matrix< double, _nx, _nu > | Matrixncd |
typedef Matrix< double, _nu, _nx > | Matrixcnd |
typedef Matrix< double, _nu, _nu > | Matrixcd |
typedef Matrix< double, _np, _np > | Matrixmd |
typedef Matrix< double, _nx, _np > | Matrixnmd |
typedef Matrix< double, _np, _nx > | Matrixmnd |
typedef Matrix< double, _nz, 1 > | Vectorrd |
typedef Matrix< double, _nz, _nz > | Matrixrd |
typedef Matrix< double, _nz, _nx > | Matrixrnd |
typedef Matrix< double, _nz, _nu > | Matrixrcd |
typedef Matrix< double, _nz, _np > | Matrixrmd |
Public Member Functions | |
Sensor (Manifold< Tz, _nz > &Z) | |
virtual bool | operator() (Tz &y, double t, const T &x, const Vectorcd &u, const Vectormd *p=0, Matrixrnd *dydx=0, Matrixrcd *dydu=0, Matrixrmd *dydp=0) |
Public Attributes | |
Manifold< Tz, _nz > & | Z |
measurement manifold | |
Matrixrd | R |
sensor noise covariance |
General sensor model
Subclasses should provide implementation for the sensor function ()
Author: Marin Kobilarov marin(at)jhu.edu
typedef Matrix<double, _nu, _nu> gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Matrixcd |
typedef Matrix<double, _nu, _nx> gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Matrixcnd |
typedef Matrix<double, _np, _np> gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Matrixmd |
typedef Matrix<double, _np, _nx> gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Matrixmnd |
typedef Matrix<double, _nx, _nu> gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Matrixncd |
typedef Matrix<double, _nx, _nx> gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Matrixnd |
typedef Matrix<double, _nx, _np> gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Matrixnmd |
typedef Matrix<double, _nz, _nu> gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Matrixrcd |
Reimplemented in gcop::Gps< Point3dState, 6, _nu, _np >, gcop::InsGps< _nu, _np >, and gcop::Point3dGps< _nu, _np >.
typedef Matrix<double, _nz, _nz> gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Matrixrd |
typedef Matrix<double, _nz, _np> gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Matrixrmd |
Reimplemented in gcop::Gps< Point3dState, 6, _nu, _np >, gcop::InsGps< _nu, _np >, and gcop::Point3dGps< _nu, _np >.
typedef Matrix<double, _nz, _nx> gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Matrixrnd |
typedef Matrix<double, _nu, 1> gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Vectorcd |
typedef Matrix<double, _np, 1> gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Vectormd |
typedef Matrix<double, _nx, 1> gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Vectornd |
typedef Matrix<double, _nz, 1> gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Vectorrd |
gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Sensor | ( | Manifold< Tz, _nz > & | Z | ) |
References gcop::Manifold< T, _n >::n, and gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::R.
bool gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::operator() | ( | Tz & | y, |
double | t, | ||
const T & | x, | ||
const Vectorcd & | u, | ||
const Vectormd * | p = 0 , |
||
Matrixrnd * | dydx = 0 , |
||
Matrixrcd * | dydu = 0 , |
||
Matrixrmd * | dydp = 0 |
||
) | [virtual] |
Measurement functions
y | deterministic output (i.e. the actual random measurement is z = y + v, where the noise v is Normal(0,var) ) |
t | current time |
x | current state |
u | control inputs (often not used) |
p | static parameters (optional) |
dydx | jacobian w.r.t. x (optional) |
dydu | jacobian w.r.t. u (optional) |
dydp | jacobian w.r.t. p (optional) |
Matrixrd gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::R |
sensor noise covariance
Referenced by gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Sensor().
Manifold<Tz, _nz>& gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Z |