My Project
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
KalmanSensorEkf Class Referenceabstract

Extended Kalman Filter (EKF) sensor implementation. More...

#include <Kalman.h>

Inheritance diagram for KalmanSensorEkf:
KalmanSensor KalmanSensorCore

Public Member Functions

 KalmanSensorEkf (const KalmanSensorEkf &k)
 
 KalmanSensorEkf (int _n, int _m)
 
- Public Member Functions inherited from KalmanSensor
 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.
 
- Public Member Functions inherited from KalmanSensorCore
 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
 
- Protected Attributes inherited from KalmanSensor
cv::Mat R_tmp
 
cv::Mat P_tmp
 
- Protected Attributes inherited from KalmanSensorCore
int n
 
int m
 
cv::Mat H_trans
 
cv::Mat z_pred
 
cv::Mat z_residual
 
cv::Mat x_gain
 

Additional Inherited Members

- Public Attributes inherited from KalmanSensor
cv::Mat R
 The covariance matrix for the observation noise.
 
- Public Attributes inherited from KalmanSensorCore
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 .
 

Detailed Description

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()

Definition at line 250 of file Kalman.h.


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