pose_ekf
Public Member Functions | Public Attributes | List of all members
ExtendedKalmanFilter::EKF< SIZE > Class Template Reference

#include <ExtendedKalmanFilter.hpp>

Public Member Functions

 EKF ()
 
 ~EKF ()
 
void prediction (Eigen::Matrix< double, SIZE, 1 > f, Eigen::Matrix< double, SIZE, SIZE > J_F, Eigen::Matrix< double, SIZE, SIZE > Q)
 
template<unsigned int MEASUREMENT_SIZE>
Eigen::Matrix< double,
MEASUREMENT_SIZE, 1 > 
innovation (Eigen::Matrix< double, MEASUREMENT_SIZE, 1 > p, Eigen::Matrix< double, MEASUREMENT_SIZE, 1 > h)
 
template<unsigned int MEASUREMENT_SIZE>
Eigen::Matrix< double,
MEASUREMENT_SIZE,
MEASUREMENT_SIZE > 
innovationCovariance (Eigen::Matrix< double, MEASUREMENT_SIZE, SIZE > J_H, Eigen::Matrix< double, MEASUREMENT_SIZE, MEASUREMENT_SIZE > R)
 
template<unsigned int MEASUREMENT_SIZE>
void update (Eigen::Matrix< double, MEASUREMENT_SIZE, SIZE > J_H, Eigen::Matrix< double, SIZE, MEASUREMENT_SIZE > K, Eigen::Matrix< double, MEASUREMENT_SIZE, 1 > y)
 
template<unsigned int MEASUREMENT_SIZE>
Eigen::Matrix< double, SIZE,
MEASUREMENT_SIZE > 
gain (Eigen::Matrix< double, MEASUREMENT_SIZE, SIZE > J_H, Eigen::Matrix< double, MEASUREMENT_SIZE, MEASUREMENT_SIZE > S)
 
template<unsigned int MEASUREMENT_SIZE>
void correction (Eigen::Matrix< double, MEASUREMENT_SIZE, 1 > p, Eigen::Matrix< double, MEASUREMENT_SIZE, 1 > h, Eigen::Matrix< double, MEASUREMENT_SIZE, SIZE > J_H, Eigen::Matrix< double, MEASUREMENT_SIZE, MEASUREMENT_SIZE > R)
 
template<unsigned int MEASUREMENT_SIZE, unsigned int DEGREE_OF_FREEDOM>
bool correctionChiSquare (const Eigen::Matrix< double, MEASUREMENT_SIZE, 1 > &p, const Eigen::Matrix< double, MEASUREMENT_SIZE, MEASUREMENT_SIZE > &R, const Eigen::Matrix< double, MEASUREMENT_SIZE, 1 > &h, const Eigen::Matrix< double, MEASUREMENT_SIZE, SIZE > &J_H, float reject_threshold)
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Eigen::Matrix< double, SIZE, 1 > 
x
 
Eigen::Matrix< double, SIZE, SIZE > P
 
pose_ekf::ChiSquaredchi_square
 

Constructor & Destructor Documentation

template<unsigned int SIZE>
ExtendedKalmanFilter::EKF< SIZE >::EKF ( )
inline
template<unsigned int SIZE>
ExtendedKalmanFilter::EKF< SIZE >::~EKF ( )
inline

Member Function Documentation

template<unsigned int SIZE>
template<unsigned int MEASUREMENT_SIZE>
void ExtendedKalmanFilter::EKF< SIZE >::correction ( Eigen::Matrix< double, MEASUREMENT_SIZE, 1 >  p,
Eigen::Matrix< double, MEASUREMENT_SIZE, 1 >  h,
Eigen::Matrix< double, MEASUREMENT_SIZE, SIZE >  J_H,
Eigen::Matrix< double, MEASUREMENT_SIZE, MEASUREMENT_SIZE >  R 
)
inline

correction - a step that includes the innovation, gain and update steps into a single step p - observation h - observation model function J_H - jacobian observation model R - measurement noise covariance matrix

innovation

innovation covariance matrix

kalman gain

template<unsigned int SIZE>
template<unsigned int MEASUREMENT_SIZE, unsigned int DEGREE_OF_FREEDOM>
bool ExtendedKalmanFilter::EKF< SIZE >::correctionChiSquare ( const Eigen::Matrix< double, MEASUREMENT_SIZE, 1 > &  p,
const Eigen::Matrix< double, MEASUREMENT_SIZE, MEASUREMENT_SIZE > &  R,
const Eigen::Matrix< double, MEASUREMENT_SIZE, 1 > &  h,
const Eigen::Matrix< double, MEASUREMENT_SIZE, SIZE > &  J_H,
float  reject_threshold 
)
inline
template<unsigned int SIZE>
template<unsigned int MEASUREMENT_SIZE>
Eigen::Matrix<double, SIZE, MEASUREMENT_SIZE> ExtendedKalmanFilter::EKF< SIZE >::gain ( Eigen::Matrix< double, MEASUREMENT_SIZE, SIZE >  J_H,
Eigen::Matrix< double, MEASUREMENT_SIZE, MEASUREMENT_SIZE >  S 
)
inline

calculates the gain J_H - jacobian observation model

template<unsigned int SIZE>
template<unsigned int MEASUREMENT_SIZE>
Eigen::Matrix<double, MEASUREMENT_SIZE, 1> ExtendedKalmanFilter::EKF< SIZE >::innovation ( Eigen::Matrix< double, MEASUREMENT_SIZE, 1 >  p,
Eigen::Matrix< double, MEASUREMENT_SIZE, 1 >  h 
)
inline

innovation step, p - observation h - observation model function

template<unsigned int SIZE>
template<unsigned int MEASUREMENT_SIZE>
Eigen::Matrix<double, MEASUREMENT_SIZE, MEASUREMENT_SIZE> ExtendedKalmanFilter::EKF< SIZE >::innovationCovariance ( Eigen::Matrix< double, MEASUREMENT_SIZE, SIZE >  J_H,
Eigen::Matrix< double, MEASUREMENT_SIZE, MEASUREMENT_SIZE >  R 
)
inline

innovation covariance step, p - observation h - observation model function J_H - jacobian observation model R - measurement noise covariance matrix

template<unsigned int SIZE>
void ExtendedKalmanFilter::EKF< SIZE >::prediction ( Eigen::Matrix< double, SIZE, 1 >  f,
Eigen::Matrix< double, SIZE, SIZE >  J_F,
Eigen::Matrix< double, SIZE, SIZE >  Q 
)
inline

prediction step f - state transition Q - process noise covariance matrix, J_F - Jacobian of the state transition

template<unsigned int SIZE>
template<unsigned int MEASUREMENT_SIZE>
void ExtendedKalmanFilter::EKF< SIZE >::update ( Eigen::Matrix< double, MEASUREMENT_SIZE, SIZE >  J_H,
Eigen::Matrix< double, SIZE, MEASUREMENT_SIZE >  K,
Eigen::Matrix< double, MEASUREMENT_SIZE, 1 >  y 
)
inline

update step, J_H - jacobian observation model y - innovation K - gain

Member Data Documentation

template<unsigned int SIZE>
pose_ekf::ChiSquared* ExtendedKalmanFilter::EKF< SIZE >::chi_square

fault detection libary

template<unsigned int SIZE>
Eigen::Matrix<double, SIZE, SIZE> ExtendedKalmanFilter::EKF< SIZE >::P

covariance matrix

template<unsigned int SIZE>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Eigen::Matrix<double,SIZE,1> ExtendedKalmanFilter::EKF< SIZE >::x

what is this line state estimate


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