Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
alvar::KalmanSensorEkf Class Referenceabstract

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

#include <Kalman.h>

Inheritance diagram for alvar::KalmanSensorEkf:
Inheritance graph
[legend]

Public Member Functions

 KalmanSensorEkf (const KalmanSensorEkf &k)
 
 KalmanSensorEkf (int _n, int _m)
 
 ~KalmanSensorEkf ()
 
- Public Member Functions inherited from alvar::KalmanSensor
 KalmanSensor (const KalmanSensor &k)
 Copy constructor. More...
 
 KalmanSensor (int n, int _m)
 Constructor. More...
 
virtual void update_K (CvMat *P_pred)
 Method for updating the Kalman gain. This is called from predict_update() of Kalman. More...
 
virtual void update_P (CvMat *P_pred, CvMat *P)
 Method for updating the error covariance matrix describing the accuracy of the state estimate. This is called from predict_update() of Kalman. More...
 
 ~KalmanSensor ()
 Destructor. More...
 
- Public Member Functions inherited from alvar::KalmanSensorCore
int get_m ()
 Accessor for m. More...
 
int get_n ()
 Accessor for n. More...
 
 KalmanSensorCore (const KalmanSensorCore &k)
 Copy constructor. More...
 
 KalmanSensorCore (int _n, int _m)
 Constructor. More...
 
 ~KalmanSensorCore ()
 Destructor. More...
 

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?). More...
 
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. More...
 

Protected Attributes

CvMat * delta
 
CvMat * x_minus
 
CvMat * x_plus
 
CvMat * z_tmp1
 
CvMat * z_tmp2
 
- Protected Attributes inherited from alvar::KalmanSensor
CvMat * P_tmp
 
CvMat * R_tmp
 
- Protected Attributes inherited from alvar::KalmanSensorCore
CvMat * H_trans
 
int m
 
int n
 
CvMat * x_gain
 
CvMat * z_pred
 
CvMat * z_residual
 

Additional Inherited Members

- Public Attributes inherited from alvar::KalmanSensor
CvMat * R
 The covariance matrix for the observation noise. More...
 
- Public Attributes inherited from alvar::KalmanSensorCore
CvMat * H
 The matrix (m*n) mapping Kalman state vector into this sensor's measurements vector. More...
 
CvMat * 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 . More...
 
CvMat * z
 Latest measurement vector (m*1) More...
 

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

Examples:
SampleFilter.cpp.

Definition at line 225 of file Kalman.h.

Constructor & Destructor Documentation

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.

alvar::KalmanSensorEkf::~KalmanSensorEkf ( )

Definition at line 245 of file Kalman.cpp.

Member Function Documentation

virtual void alvar::KalmanSensorEkf::h ( CvMat *  x_pred,
CvMat *  _z_pred 
)
protectedpure virtual

Implemented in KalmanSensorOwn.

void alvar::KalmanSensorEkf::update_H ( CvMat *  x_pred)
protectedvirtual

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

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.

Member Data Documentation

CvMat* alvar::KalmanSensorEkf::delta
protected

Definition at line 227 of file Kalman.h.

CvMat* alvar::KalmanSensorEkf::x_minus
protected

Definition at line 229 of file Kalman.h.

CvMat* alvar::KalmanSensorEkf::x_plus
protected

Definition at line 228 of file Kalman.h.

CvMat* alvar::KalmanSensorEkf::z_tmp1
protected

Definition at line 230 of file Kalman.h.

CvMat* alvar::KalmanSensorEkf::z_tmp2
protected

Definition at line 231 of file Kalman.h.


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


ar_track_alvar
Author(s): Scott Niekum
autogenerated on Thu Jun 6 2019 19:27:24