Minimal cass implementing the Extended Kalman Filter algorithm.
More...
#include <kalman_filter.hpp>
|
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 |
|
KalmanFilter & | operator= (const KalmanFilter &)=default |
|
KalmanFilter & | operator= (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 constexpr const int | xDim = XDim |
| State vector size More...
|
|
|
Eigen::Matrix< NumType, XDim, XDim > | Sigma_ |
| State covariance matrix More...
|
|
Eigen::Matrix< NumType, XDim, 1 > | x_ |
| State vector More...
|
|
template<typename NumType, int XDim>
class tuw::KalmanFilter< NumType, XDim >
Minimal cass implementing the Extended Kalman Filter algorithm.
- Template Parameters
-
NumType | Numerical type of the underlying variables (matrices, vectors) |
XDim | Dimension of the state vector. Value -1 relates to dynamic size state vector |
Definition at line 51 of file kalman_filter.hpp.
template<typename NumType , int XDim>
template<typename NumType , int XDim>
template<typename NumType , int XDim>
template<typename NumType , int XDim>
template<typename NumType , int XDim>
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
-
_x0 | Initial state vector |
_Sigma0 | Initial state covariance matrix |
Definition at line 82 of file kalman_filter.hpp.
template<typename NumType , int XDim>
template<typename NumType , int XDim>
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
-
_f | State transition function |
_Phi | State transition matrix |
_Q | Process 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 |
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
-
_deltah | Measurement error vector |
_C | State-to-measurement matrix |
_R | Measurement 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 |
template<typename NumType , int XDim>
template<typename NumType , int XDim>
template<typename NumType , int XDim>
The documentation for this class was generated from the following file: