Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
tuw::KalmanFilter< NumType, XDim > Class Template Reference

Minimal cass implementing the Extended Kalman Filter algorithm. More...

#include <kalman_filter.hpp>

Inheritance diagram for tuw::KalmanFilter< NumType, XDim >:
Inheritance graph
[legend]

Public Types

using NumericalType = NumType
 Numerical type. More...
 

Public Member Functions

void init (const Eigen::Matrix< NumType, XDim, 1 > &_x0, const Eigen::Matrix< NumType, XDim, XDim > &_Sigma0)
 Initializes state and covariance of filter. More...
 
 KalmanFilter ()=default
 
 KalmanFilter (const KalmanFilter &)=default
 
 KalmanFilter (KalmanFilter &&)=default
 
KalmanFilteroperator= (const KalmanFilter &)=default
 
KalmanFilteroperator= (KalmanFilter &&)=default
 
void predict (const Eigen::Matrix< NumType, XDim, 1 > &_f, const Eigen::Matrix< NumType, XDim, XDim > &_Phi, const Eigen::Matrix< NumType, XDim, XDim > &_Q)
 Preforms Kalman prediction step. More...
 
const Eigen::Matrix< NumType, XDim, XDim > & Sigma () const
 State covariance matrix const access. More...
 
template<int UpdateDim>
void update (const Eigen::Matrix< NumType, UpdateDim, 1 > &_deltah, const Eigen::Matrix< NumType, UpdateDim, XDim > &_C, const Eigen::Matrix< NumType, UpdateDim, UpdateDim > &_R)
 Preforms Kalman update step. More...
 
const Eigen::Matrix< NumType, XDim, 1 > & x () const
 State vector const access. More...
 
virtual ~KalmanFilter ()=default
 

Static Public Attributes

static constexpr const int xDim = XDim
 State vector size More...
 

Protected Attributes

Eigen::Matrix< NumType, XDim, XDim > Sigma_
 State covariance matrix More...
 
Eigen::Matrix< NumType, XDim, 1 > x_
 State vector More...
 

Detailed Description

template<typename NumType, int XDim>
class tuw::KalmanFilter< NumType, XDim >

Minimal cass implementing the Extended Kalman Filter algorithm.

Template Parameters
NumTypeNumerical type of the underlying variables (matrices, vectors)
XDimDimension of the state vector. Value -1 relates to dynamic size state vector

Definition at line 51 of file kalman_filter.hpp.

Member Typedef Documentation

template<typename NumType , int XDim>
using tuw::KalmanFilter< NumType, XDim >::NumericalType = NumType

Numerical type.

Definition at line 73 of file kalman_filter.hpp.

Constructor & Destructor Documentation

template<typename NumType , int XDim>
tuw::KalmanFilter< NumType, XDim >::KalmanFilter ( )
default
template<typename NumType , int XDim>
virtual tuw::KalmanFilter< NumType, XDim >::~KalmanFilter ( )
virtualdefault
template<typename NumType , int XDim>
tuw::KalmanFilter< NumType, XDim >::KalmanFilter ( const KalmanFilter< NumType, XDim > &  )
default
template<typename NumType , int XDim>
tuw::KalmanFilter< NumType, XDim >::KalmanFilter ( KalmanFilter< NumType, XDim > &&  )
default

Member Function Documentation

template<typename NumType , int XDim>
void tuw::KalmanFilter< NumType, XDim >::init ( const Eigen::Matrix< NumType, XDim, 1 > &  _x0,
const Eigen::Matrix< NumType, XDim, XDim > &  _Sigma0 
)
inline

Initializes state and covariance of filter.

Parameters
_x0Initial state vector
_Sigma0Initial state covariance matrix

Definition at line 82 of file kalman_filter.hpp.

template<typename NumType , int XDim>
KalmanFilter& tuw::KalmanFilter< NumType, XDim >::operator= ( const KalmanFilter< NumType, XDim > &  )
default
template<typename NumType , int XDim>
KalmanFilter& tuw::KalmanFilter< NumType, XDim >::operator= ( KalmanFilter< NumType, XDim > &&  )
default
template<typename NumType , int XDim>
void tuw::KalmanFilter< NumType, XDim >::predict ( const Eigen::Matrix< NumType, XDim, 1 > &  _f,
const Eigen::Matrix< NumType, XDim, XDim > &  _Phi,
const Eigen::Matrix< NumType, XDim, XDim > &  _Q 
)
inline

Preforms Kalman prediction step.

Parameters
_fState transition function
_PhiState transition matrix
_QProcess noise matrix (mapped in state-space)

Definition at line 94 of file kalman_filter.hpp.

template<typename NumType , int XDim>
const Eigen::Matrix<NumType, XDim, XDim>& tuw::KalmanFilter< NumType, XDim >::Sigma ( ) const
inline

State covariance matrix const access.

Definition at line 125 of file kalman_filter.hpp.

template<typename NumType , int XDim>
template<int UpdateDim>
void tuw::KalmanFilter< NumType, XDim >::update ( const Eigen::Matrix< NumType, UpdateDim, 1 > &  _deltah,
const Eigen::Matrix< NumType, UpdateDim, XDim > &  _C,
const Eigen::Matrix< NumType, UpdateDim, UpdateDim > &  _R 
)
inline

Preforms Kalman update step.

Parameters
_deltahMeasurement error vector
_CState-to-measurement matrix
_RMeasurement noise matrix (mapped in measurement-space)

Definition at line 108 of file kalman_filter.hpp.

template<typename NumType , int XDim>
const Eigen::Matrix<NumType, XDim, 1>& tuw::KalmanFilter< NumType, XDim >::x ( ) const
inline

State vector const access.

Definition at line 119 of file kalman_filter.hpp.

Member Data Documentation

template<typename NumType , int XDim>
Eigen::Matrix<NumType, XDim, XDim> tuw::KalmanFilter< NumType, XDim >::Sigma_
protected

State covariance matrix

Definition at line 134 of file kalman_filter.hpp.

template<typename NumType , int XDim>
Eigen::Matrix<NumType, XDim, 1> tuw::KalmanFilter< NumType, XDim >::x_
protected

State vector

Definition at line 131 of file kalman_filter.hpp.

template<typename NumType , int XDim>
constexpr const int tuw::KalmanFilter< NumType, XDim >::xDim = XDim
static

State vector size

Definition at line 75 of file kalman_filter.hpp.


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


tuw_control
Author(s): George Todoran
autogenerated on Mon Jun 10 2019 15:27:23