Public Member Functions | Private Types
labust::navigation::KFCore< Model > Class Template Reference

#include <KFCore.hpp>

Inheritance diagram for labust::navigation::KFCore< Model >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Base::vectorref correct (typename Base::outputref y_meas)
template<class NewMeasVector >
Base::vectorref correct (typename Base::outputref measurements, NewMeasVector &newMeas, bool reject_outliers=true)
 KFCore ()
void predict (typename Base::inputref u=typename Model::input_type())

Private Types

typedef KFBase< Model > Base

Detailed Description

template<class Model>
class labust::navigation::KFCore< Model >

This class combines models with different prediction and correction approaches.

Todo:
Switch to dynamic polymorphism for easier multi-model execution ?

Definition at line 54 of file KFCore.hpp.


Member Typedef Documentation

template<class Model>
typedef KFBase< Model > labust::navigation::KFCore< Model >::Base [private]

Definition at line 56 of file KFCore.hpp.


Constructor & Destructor Documentation

template<class Model>
labust::navigation::KFCore< Model >::KFCore ( ) [inline]

Generic constructor.

Definition at line 61 of file KFCore.hpp.


Member Function Documentation

template<class Model>
Base::vectorref labust::navigation::KFCore< Model >::correct ( typename Base::outputref  y_meas) [inline]

State estimate correction based on the available measurements. Note that the user has to handle the measurement processing and populate the y_meas vector.

Returns:
Corrected state estimate.

Calculate the Kalman gain matrix

K(k) = P_(k)*H(k)'*inv(H(k)*P(k)*H(k)' + V(k)*R(k)*V(k)');

Update the estimate covariance matrix. P(k) = (I - K(k)*H(k))*P(k);

Definition at line 91 of file KFCore.hpp.

template<class Model>
template<class NewMeasVector >
Base::vectorref labust::navigation::KFCore< Model >::correct ( typename Base::outputref  measurements,
NewMeasVector &  newMeas,
bool  reject_outliers = true 
) [inline]

Update the matrices V and H to accommodate for available measurements. Perform per element outlier rejection and correct the state with the remaining validated measurements.

Returns:
Corrected state estimate
Todo:
Remove this after debugging

Definition at line 141 of file KFCore.hpp.

template<class Model>
void labust::navigation::KFCore< Model >::predict ( typename Base::inputref  u = typename Model::input_type()) [inline]

Perform the prediction step based on the system input.

Parameters:
uInput vector.

Forward the model in time and update the needed matrices: x_(k) = f(x(k-1),u(k),0)

Update the innovation matrix: P_(k) = A(k)*P(k-1)*A'(k) + W(k)*Q(k-1)*W'(k)

Definition at line 68 of file KFCore.hpp.


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


labust_navigation
Author(s): Gyula Nagy
autogenerated on Fri Aug 28 2015 11:23:33