navlib::ExtendedKalmanFilter< T > Class Template Reference

A Kalman Filter that is able to operate on non-linear systems by linearizing the dynamics about the current state estimate. More...

#include <navmath.h>

List of all members.

Public Types

typedef boost::function
< ublas::vector< T >
ublas::vector< T >) > 
PredictFun
 Prediction function.
typedef boost::function
< ublas::vector< T >
ublas::vector< T >) > 
ObserveFun
 Observation function.

Public Member Functions

 ExtendedKalmanFilter (ublas::vector< T > x0, T kP=1.0e-9)
 ExtendedKalmanFilter (ublas::vector< T > x0, ublas::matrix< T > P0)
void predict (PredictFun f, ublas::matrix< T > Q, T tol=1.0e-9)
 Predicts the next state.
void correct (ObserveFun h, ublas::vector< T > z, ublas::matrix< T > R, T tol=1.0e-9)
 Corrects for errors between the observation and current state estimate.
ublas::vector< T > getState () const
 Returns the current state estimate.


Detailed Description

template<typename T = double>
class navlib::ExtendedKalmanFilter< T >

A Kalman Filter that is able to operate on non-linear systems by linearizing the dynamics about the current state estimate.


Constructor & Destructor Documentation

template<typename T = double>
navlib::ExtendedKalmanFilter< T >::ExtendedKalmanFilter ( ublas::vector< T >  x0,
kP = 1.0e-9 
) [inline]

Parameters:
x0 initial state estimate.
kP small value used to generate the state uncertainty matrix.

template<typename T = double>
navlib::ExtendedKalmanFilter< T >::ExtendedKalmanFilter ( ublas::vector< T >  x0,
ublas::matrix< T >  P0 
) [inline]

Parameters:
x0 initial state estimate
P0 initial state uncertainty matrix


Member Function Documentation

template<typename T = double>
void navlib::ExtendedKalmanFilter< T >::predict ( PredictFun  f,
ublas::matrix< T >  Q,
tol = 1.0e-9 
) [inline]

Predicts the next state.

Parameters:
f prediction function
Q state noise covariance matrix
tol small value used to calculate the Jacobian

template<typename T = double>
void navlib::ExtendedKalmanFilter< T >::correct ( ObserveFun  h,
ublas::vector< T >  z,
ublas::matrix< T >  R,
tol = 1.0e-9 
) [inline]

Corrects for errors between the observation and current state estimate.

Parameters:
h observation function
z measurement
R measuement noise covariance matrix

Referenced by navlib::EkfIdentifier::correct().


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

Generated on Mon Nov 3 20:33:35 2008 for navlib by  doxygen 1.5.5