Constant velocity Kalman filter. More...
#include <types_declaration.h>
Public Member Functions | |
void | InitFilter (Vector4d &x_init) |
Init filter. | |
void | SetIdentity (Matrix &M, int size, double value=1) |
Set a matrix to identity. | |
void | SetZero (Matrix &M, int size) |
Set a matrix to zero. | |
Protected Member Functions | |
void | makeA () |
Make the process Jacobian matrix. | |
void | makeBaseA () |
Make the base constant process Jacobian matrix. | |
void | makeBaseH () |
Make measurement sensitivity matrix. | |
void | makeBaseV () |
Make measurement noise sensitivity matrix. | |
void | makeBaseW () |
Make process noise sensitivity matrix. | |
void | makeCommonProcess () |
This function is called before all other make something functions. | |
void | makeMeasure () |
Make measurement, used when measurement is not possible (i'm not using it now). | |
void | makeProcess () |
Make process, model iteration. | |
void | makeQ () |
Make process noise covariance matrix. | |
void | makeR () |
Make measurement noise covariance matrix. | |
Protected Attributes | |
double | dt |
Time interval between measurements. | |
Vector2d | inovation_error |
Time | lt |
Time of the last call to the makeCommonProcess function. | |
Vector4d | x_predicted |
Vector2d | z_measured |
Constant velocity Kalman filter.
This class implements a constant velocity Kalman filter on two variables (x,y).
This filter is linear and should use KFilter instead of EKFilter, but this way its easier to expand.
...
Definition at line 74 of file types_declaration.h.
void constant_velocity_ekfilter::InitFilter | ( | Vector4d & | x_init | ) |
Init filter.
Inits the filter with a start vector
x_init | start position of the filter |
Definition at line 51 of file types_implementation.cpp.
void constant_velocity_ekfilter::makeA | ( | ) | [protected] |
Make the process Jacobian matrix.
Definition at line 101 of file types_implementation.cpp.
void constant_velocity_ekfilter::makeBaseA | ( | ) | [protected] |
Make the base constant process Jacobian matrix.
Definition at line 78 of file types_implementation.cpp.
void constant_velocity_ekfilter::makeBaseH | ( | ) | [protected] |
Make measurement sensitivity matrix.
Definition at line 107 of file types_implementation.cpp.
void constant_velocity_ekfilter::makeBaseV | ( | ) | [protected] |
Make measurement noise sensitivity matrix.
Definition at line 118 of file types_implementation.cpp.
void constant_velocity_ekfilter::makeBaseW | ( | ) | [protected] |
Make process noise sensitivity matrix.
Definition at line 113 of file types_implementation.cpp.
void constant_velocity_ekfilter::makeCommonProcess | ( | ) | [protected] |
This function is called before all other make something functions.
It's currently being used to update the time interval between iterations (dt).
Definition at line 71 of file types_implementation.cpp.
void constant_velocity_ekfilter::makeMeasure | ( | ) | [protected] |
Make measurement, used when measurement is not possible (i'm not using it now).
Definition at line 195 of file types_implementation.cpp.
void constant_velocity_ekfilter::makeProcess | ( | ) | [protected] |
Make process, model iteration.
Definition at line 183 of file types_implementation.cpp.
void constant_velocity_ekfilter::makeQ | ( | ) | [protected] |
Make process noise covariance matrix.
Definition at line 164 of file types_implementation.cpp.
void constant_velocity_ekfilter::makeR | ( | ) | [protected] |
Make measurement noise covariance matrix.
Definition at line 123 of file types_implementation.cpp.
void constant_velocity_ekfilter::SetIdentity | ( | Matrix & | M, | |
int | size, | |||
double | value = 1 | |||
) |
Set a matrix to identity.
Set diagonal elements to 1 or the input parameter value and all others to 0.
This function only works properly in square matrices.
M | matrix to set | |
size | size of the matrix, this should not be needed, i'll remove it in a further expansion | |
value | optional value for the diagonal elements, default is 1 |
Definition at line 34 of file types_implementation.cpp.
void constant_velocity_ekfilter::SetZero | ( | Matrix & | M, | |
int | size | |||
) |
Set a matrix to zero.
Set all elements of a matrix to zero.
This function only works properly in square matrices.
M | matrix to set | |
size | size of the matrix, this should not be needed, i'll remove it in a further expansion |
Definition at line 44 of file types_implementation.cpp.
double constant_velocity_ekfilter::dt [protected] |
Time interval between measurements.
Definition at line 110 of file types_declaration.h.
Vector2d constant_velocity_ekfilter::inovation_error [protected] |
Definition at line 116 of file types_declaration.h.
Time constant_velocity_ekfilter::lt [protected] |
Time of the last call to the makeCommonProcess function.
Definition at line 112 of file types_declaration.h.
Vector4d constant_velocity_ekfilter::x_predicted [protected] |
Definition at line 114 of file types_declaration.h.
Vector2d constant_velocity_ekfilter::z_measured [protected] |
Definition at line 115 of file types_declaration.h.