Extended Kalman Filter (EKF) sensor implementation. More...
#include <Kalman.h>
Public Member Functions | |
KalmanSensorEkf (const KalmanSensorEkf &k) | |
KalmanSensorEkf (int _n, int _m) | |
~KalmanSensorEkf () | |
Protected Member Functions | |
virtual void | h (CvMat *x_pred, CvMat *_z_pred)=0 |
virtual void | update_H (CvMat *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 (CvMat *x_pred, CvMat *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 | |
CvMat * | delta |
CvMat * | x_minus |
CvMat * | x_plus |
CvMat * | z_tmp1 |
CvMat * | z_tmp2 |
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()
alvar::KalmanSensorEkf::KalmanSensorEkf | ( | const KalmanSensorEkf & | k | ) |
Definition at line 229 of file Kalman.cpp.
alvar::KalmanSensorEkf::KalmanSensorEkf | ( | int | _n, |
int | _m | ||
) |
Definition at line 237 of file Kalman.cpp.
Definition at line 245 of file Kalman.cpp.
virtual void alvar::KalmanSensorEkf::h | ( | CvMat * | x_pred, |
CvMat * | _z_pred | ||
) | [protected, pure virtual] |
Implemented in KalmanSensorOwn.
void alvar::KalmanSensorEkf::update_H | ( | CvMat * | x_pred | ) | [protected, virtual] |
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?).
Reimplemented from alvar::KalmanSensor.
Definition at line 200 of file Kalman.cpp.
void alvar::KalmanSensorEkf::update_x | ( | CvMat * | x_pred, |
CvMat * | x | ||
) | [protected, virtual] |
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.
Reimplemented from alvar::KalmanSensorCore.
Definition at line 221 of file Kalman.cpp.
CvMat* alvar::KalmanSensorEkf::delta [protected] |
CvMat* alvar::KalmanSensorEkf::x_minus [protected] |
CvMat* alvar::KalmanSensorEkf::x_plus [protected] |
CvMat* alvar::KalmanSensorEkf::z_tmp1 [protected] |
CvMat* alvar::KalmanSensorEkf::z_tmp2 [protected] |