GCOP  1.0
Public Types | Public Member Functions | Public Attributes
gcop::Filter< T, _nx, _nu, _np, Tz, _nz > Class Template Reference

#include <filter.h>

List of all members.

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

Public Member Functions

 Filter (System< T, _nx, _nu, _np > &sys, Sensor< T, _nx, _nu, _np, Tz, _nz > &sensor)
virtual ~Filter ()
virtual bool Predict (T &xb, double t, const T &xa, const Vectorcd &u, double h, const Vectormd *p=0, bool cov=true)=0
virtual bool Update (T &xb, double t, const T &xa, const Vectorcd &u, const Tz &z, const Vectormd *p=0, bool cov=true)=0
void SetChiGate (double chiGate)
double GetChiGate () const
double GetChi () const

Public Attributes

System< T, _nx, _nu, _np > & sys
 system
Sensor< T, _nx, _nu, _np, Tz,
_nz > & 
sensor
 sensor
double chi
 computed chi-estimate (computed only if chiGate > 0)
double chiGate
 chi-gate (default: zero or negative to ignore)

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
class gcop::Filter< T, _nx, _nu, _np, Tz, _nz >


Member Typedef Documentation

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nu, _nu> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Matrixcd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nu, _nx> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Matrixcnd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _np, _np> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Matrixmd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _np, _nx> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Matrixmnd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nx, _nu> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Matrixncd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nx, _nx> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Matrixnd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nx, _np> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Matrixnmd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nu, 1> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Vectorcd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _np, 1> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Vectormd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nx, 1> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Vectornd

Constructor & Destructor Documentation

template<typename T , int _nx, int _nu, int _np, typename Tz , int _nz>
gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Filter ( System< T, _nx, _nu, _np > &  sys,
Sensor< T, _nx, _nu, _np, Tz, _nz > &  sensor 
)

Basic Filter

Parameters:
modelsystem model
template<typename T , int _nx, int _nu, int _np, typename Tz , int _nz>
gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::~Filter ( ) [virtual]

Member Function Documentation

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
double gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::GetChi ( ) const [inline]

Returns the internally computed chi-value during the call to Correct

Returns:
the chi-value of the most recent measurement

References gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::chi.

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
double gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::GetChiGate ( ) const [inline]

Get the preset measurement Chi Gate value

Returns:
chi squared chi bound

References gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::chiGate.

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
virtual bool gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Predict ( T &  xb,
double  t,
const T &  xa,
const Vectorcd u,
double  h,
const Vectormd p = 0,
bool  cov = true 
) [pure virtual]

Prediction step.

Parameters:
ucontrol
covwhether to update the covariance as well (true by default)
Returns:
predicted state
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
void gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::SetChiGate ( double  chiGate) [inline]

Set measurement Chi Gate

Parameters:
chisquared chi bound

References gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::chiGate.

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
virtual bool gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Update ( T &  xb,
double  t,
const T &  xa,
const Vectorcd u,
const Tz &  z,
const Vectormd p = 0,
bool  cov = true 
) [pure virtual]

Correction step. The base implementation does not change the state.

Parameters:
zmeasurement
covwhether to update the covariance as well (true by default)
Returns:
corrected state

Member Data Documentation

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
double gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::chi

computed chi-estimate (computed only if chiGate > 0)

Referenced by gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::GetChi().

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
double gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::chiGate
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
Sensor<T, _nx, _nu, _np, Tz, _nz>& gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::sensor

sensor

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
System<T, _nx, _nu, _np>& gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::sys

system


The documentation for this class was generated from the following files: