GCOP
1.0
|
#include <filter.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 |
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) |
typedef Matrix<double, _nu, _nu> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Matrixcd |
typedef Matrix<double, _nu, _nx> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Matrixcnd |
typedef Matrix<double, _np, _np> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Matrixmd |
typedef Matrix<double, _np, _nx> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Matrixmnd |
typedef Matrix<double, _nx, _nu> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Matrixncd |
typedef Matrix<double, _nx, _nx> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Matrixnd |
typedef Matrix<double, _nx, _np> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Matrixnmd |
typedef Matrix<double, _nu, 1> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Vectorcd |
typedef Matrix<double, _np, 1> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Vectormd |
typedef Matrix<double, _nx, 1> gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::Vectornd |
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
model | system model |
gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::~Filter | ( | ) | [virtual] |
double gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::GetChi | ( | ) | const [inline] |
Returns the internally computed chi-value during the call to Correct
References gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::chi.
double gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::GetChiGate | ( | ) | const [inline] |
Get the preset measurement Chi Gate value
References gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::chiGate.
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.
u | control |
cov | whether to update the covariance as well (true by default) |
void gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::SetChiGate | ( | double | chiGate | ) | [inline] |
Set measurement Chi Gate
chi | squared chi bound |
References gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::chiGate.
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.
z | measurement |
cov | whether to update the covariance as well (true by default) |
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().
double gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::chiGate |
chi-gate (default: zero or negative to ignore)
Referenced by gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::GetChiGate(), and gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::SetChiGate().
Sensor<T, _nx, _nu, _np, Tz, _nz>& gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::sensor |
sensor
System<T, _nx, _nu, _np>& gcop::Filter< T, _nx, _nu, _np, Tz, _nz >::sys |
system