![]() |
My Project
|
Extended Kalman Filter (EKF) sensor implementation. More...
#include <Kalman.h>
Public Member Functions | |
KalmanSensorEkf (const KalmanSensorEkf &k) | |
KalmanSensorEkf (int _n, int _m) | |
![]() | |
KalmanSensor (const KalmanSensor &k) | |
Copy constructor. | |
KalmanSensor (int n, int _m) | |
Constructor. More... | |
~KalmanSensor () | |
Destructor. | |
virtual void | update_K (const cv::Mat &P_pred) |
Method for updating the Kalman gain. This is called from predict_update() of Kalman. | |
virtual void | update_P (const cv::Mat &P_pred, cv::Mat &P) |
Method for updating the error covariance matrix describing the accuracy of the state estimate. This is called from predict_update() of Kalman. | |
![]() | |
KalmanSensorCore (const KalmanSensorCore &k) | |
Copy constructor. | |
KalmanSensorCore (int _n, int _m) | |
Constructor. More... | |
~KalmanSensorCore () | |
Destructor. | |
int | get_n () |
Accessor for n. | |
int | get_m () |
Accessor for m. | |
Protected Member Functions | |
virtual void | h (const cv::Mat &x_pred, cv::Mat &_z_pred)=0 |
virtual void | update_H (const cv::Mat &x_pred) |
Method for updating how the Kalman state vector is mapped into this sensor's measurements vector. This is called from predict_update() of Kalman. Please override this method if you want this mapping to change on the run (e.g. based on time?). | |
virtual void | update_x (const cv::Mat &x_pred, cv::Mat &x) |
Method for updating the state estimate x This is called from predict_update() of Kalman. In KalmanSensorCore and in KalmanSensor this update is made linearly but KalmanSensorEkf will override this method to use unlinear estimation. | |
Protected Attributes | |
cv::Mat | delta |
cv::Mat | x_plus |
cv::Mat | x_minus |
cv::Mat | z_tmp1 |
cv::Mat | z_tmp2 |
![]() | |
cv::Mat | R_tmp |
cv::Mat | P_tmp |
![]() | |
int | n |
int | m |
cv::Mat | H_trans |
cv::Mat | z_pred |
cv::Mat | z_residual |
cv::Mat | x_gain |
Additional Inherited Members | |
![]() | |
cv::Mat | R |
The covariance matrix for the observation noise. | |
![]() | |
cv::Mat | z |
Latest measurement vector (m*1) | |
cv::Mat | H |
The matrix (m*n) mapping Kalman state vector into this sensor's measurements vector. | |
cv::Mat | K |
The matrix (n*m) containing Kalman gain (something between 0 and H^-1). In this core-implementation we assume this to be precalculated. In KalmanSensor this is updated using update_K . | |
Extended Kalman Filter (EKF) sensor implementation.
Please override the pure virtual h() with the desired unlinear function. By default the upate_H calculates the Jacobian numerically, if you want other approach override also the update_H()