#include <ConstantSpeedModel.h>
Inheritance diagram for KalmanConstantSpeedModel:
Public Member Functions | |
KalmanConstantSpeedModel () | |
virtual | ~KalmanConstantSpeedModel () |
virtual const char * | getModelName () const |
Returns the name of the process model. | |
virtual int | getStateDim () const |
Returns the dimension of the state. | |
virtual void | getP (double *pDest) const |
Retrieves the internal kalman filter covariance matrix. | |
virtual void | getQ (double *pDest) const |
Retrieves the process error covariance matrix. | |
virtual void | setQ (const double *pSource) |
Sets the process error covariance matrix. | |
virtual void | getR (double *pDest) const |
Retrieves the measurement error covariance matrix. | |
virtual void | setR (double *pSource) |
Sets the measurement error covariance matrix. | |
virtual void | reset () |
Resets the process model. | |
virtual KalmanUpdateResult | update (double time, double x, double y, const RobotPose &pose, double panningVelocity) |
Performs an update step of the process model. | |
virtual KalmanPredictResult | predict (double time) |
Permorms a prediction of the ball state. | |
virtual void | adapt (const OdometryData &lastOdometry, const OdometryData &actualOdometry) |
Function to adapt the state of the model when position and rotation of the robot changes. | |
Private Types | |
enum | InitState { NotInited, PositionInited, Ready } |
Private Member Functions | |
void | calculateVarianceAdaptionPolynom (double x[2], double fx[2], double result[2]) |
Calculates the coefficients for the variance adpation Polynom. | |
Private Attributes | |
const double | panningVelocityThreshold |
Vector_n< double, 4 > | x_act |
Actual state: x_act[0] is x-position in meters relative to robot x_act[1] is y-position in meters relative to robot x_act[2] is x-direction speed in meters per second x_act[3] is y-direction speed in meters per second. | |
Vector_n< double, 4 > | z |
measured state | |
Matrix_nxn< double, 4 > | A |
linear process model matrix | |
Matrix_nxn< double, 4 > | P |
internal covariance matrix | |
Matrix_nxn< double, 4 > | Q |
process model error covariance matrix | |
Matrix_nxn< double, 4 > | R |
measurement error covariance matrix | |
InitState | initState |
initialization state of the filter | |
double | lastLiklihood |
last liklihood of model (for predict function) | |
double | lastTime |
last time update permormed | |
Vector_n< double, 4 > | x_minus |
Matrix_nxn< double, 4 > | P_minus |
Matrix_nxn< double, 4 > | K |
Vector_n< double, 4 > | x_predict |
Matrix_nxn< double, 4 > | C |
Matrix_nxn< double, 4 > | C_inv |
Matrix_nxn< double, 4 > | globQ |
global process covariance matrix that is adapted with dt | |
Matrix_nxn< double, 4 > | globR |
global measurement covariance matrix | |
double | varianceAdaptionPosition [3] |
Coefficients of polynom of degree 2 for variance adaption Constant coefficient is the last one. | |
double | varianceAdaptionSpeed [3] |
Static Private Attributes | |
double | defaultA [16] |
default linear process model matrix | |
double | defaultP [16] |
default internal covariance matrix | |
double | defaultQ [16] |
default process error covariance matrix | |
double | defaultR [16] |
default measurement error covariance matrix |
Definition at line 22 of file ConstantSpeedModel.h.
|
Definition at line 73 of file ConstantSpeedModel.h. |
|
Definition at line 48 of file ConstantSpeedModel.cpp. References A, calculateVarianceAdaptionPolynom(), defaultA, defaultQ, defaultR, globQ, globR, pi, reset(), varianceAdaptionPosition, and varianceAdaptionSpeed. |
Here is the call graph for this function:
|
Definition at line 82 of file ConstantSpeedModel.cpp. |
|
Returns the name of the process model.
Implements KalmanProcessModelBase. Definition at line 29 of file ConstantSpeedModel.h. |
|
Returns the dimension of the state.
Implements KalmanProcessModelBase. Definition at line 31 of file ConstantSpeedModel.h. |
|
Retrieves the internal kalman filter covariance matrix.
Implements KalmanProcessModelBase. Definition at line 32 of file ConstantSpeedModel.h. References Matrix_nxn< double, 4 >::copyTo(), and P. |
Here is the call graph for this function:
|
Retrieves the process error covariance matrix.
Implements KalmanProcessModelBase. Definition at line 33 of file ConstantSpeedModel.h. References Matrix_nxn< double, 4 >::copyTo(), and globQ. |
Here is the call graph for this function:
|
Sets the process error covariance matrix.
Implements KalmanProcessModelBase. Definition at line 34 of file ConstantSpeedModel.h. References globQ. |
|
Retrieves the measurement error covariance matrix.
Implements KalmanProcessModelBase. Definition at line 35 of file ConstantSpeedModel.h. References Matrix_nxn< double, 4 >::copyTo(), and globR. |
Here is the call graph for this function:
|
Sets the measurement error covariance matrix.
Implements KalmanProcessModelBase. Definition at line 36 of file ConstantSpeedModel.h. References globR. |
|
Resets the process model.
Implements KalmanProcessModelBase. Definition at line 102 of file ConstantSpeedModel.cpp. References defaultP, initState, lastLiklihood, NotInited, P, and x_act. Referenced by KalmanConstantSpeedModel(), predict(), and update(). |
|
Here is the call graph for this function:
|
Permorms a prediction of the ball state.
Implements KalmanProcessModelBase. Definition at line 328 of file ConstantSpeedModel.cpp. References A, initState, lastLiklihood, KalmanPredictResult::liklihood, KalmanProcessModelBase::OutputException(), Ready, reset(), KalmanPredictResult::state, KalmanBallState::vx, KalmanBallState::vy, KalmanBallState::x, x_act, x_predict, and KalmanBallState::y. |
Here is the call graph for this function:
|
Function to adapt the state of the model when position and rotation of the robot changes.
Implements KalmanProcessModelBase. Definition at line 366 of file ConstantSpeedModel.cpp. References Pose2D::getAngle(), Vector2< V >::x, x_act, and Vector2< V >::y. |
Here is the call graph for this function:
|
Calculates the coefficients for the variance adpation Polynom.
Definition at line 86 of file ConstantSpeedModel.cpp. References A, and Matrix_nxn< T, N >::solve(). Referenced by KalmanConstantSpeedModel(). |
Here is the call graph for this function:
|
Definition at line 57 of file ConstantSpeedModel.h. Referenced by update(). |
|
Actual state: x_act[0] is x-position in meters relative to robot x_act[1] is y-position in meters relative to robot x_act[2] is x-direction speed in meters per second x_act[3] is y-direction speed in meters per second.
Definition at line 66 of file ConstantSpeedModel.h. |
|
measured state
Definition at line 67 of file ConstantSpeedModel.h. |
|
linear process model matrix
Definition at line 68 of file ConstantSpeedModel.h. Referenced by calculateVarianceAdaptionPolynom(), KalmanConstantSpeedModel(), predict(), and update(). |
|
internal covariance matrix
Definition at line 69 of file ConstantSpeedModel.h. |
|
process model error covariance matrix
Definition at line 70 of file ConstantSpeedModel.h. Referenced by update(). |
|
measurement error covariance matrix
Definition at line 71 of file ConstantSpeedModel.h. Referenced by update(). |
|
initialization state of the filter
Definition at line 79 of file ConstantSpeedModel.h. |
|
last liklihood of model (for predict function)
Definition at line 80 of file ConstantSpeedModel.h. |
|
last time update permormed
Definition at line 81 of file ConstantSpeedModel.h. |
|
Definition at line 84 of file ConstantSpeedModel.h. Referenced by update(). |
|
Definition at line 85 of file ConstantSpeedModel.h. Referenced by update(). |
|
Definition at line 86 of file ConstantSpeedModel.h. Referenced by update(). |
|
Definition at line 87 of file ConstantSpeedModel.h. Referenced by predict(). |
|
Definition at line 88 of file ConstantSpeedModel.h. Referenced by update(). |
|
Definition at line 89 of file ConstantSpeedModel.h. Referenced by update(). |
|
global process covariance matrix that is adapted with dt
Definition at line 92 of file ConstantSpeedModel.h. Referenced by getQ(), KalmanConstantSpeedModel(), setQ(), and update(). |
|
global measurement covariance matrix
Definition at line 94 of file ConstantSpeedModel.h. Referenced by getR(), KalmanConstantSpeedModel(), setR(), and update(). |
|
Coefficients of polynom of degree 2 for variance adaption Constant coefficient is the last one.
Definition at line 100 of file ConstantSpeedModel.h. Referenced by KalmanConstantSpeedModel(), and update(). |
|
Definition at line 101 of file ConstantSpeedModel.h. Referenced by KalmanConstantSpeedModel(), and update(). |
|
Initial value: { 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 }
Definition at line 13 of file ConstantSpeedModel.cpp. Referenced by KalmanConstantSpeedModel(). |
|
Initial value: { 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 }
Definition at line 21 of file ConstantSpeedModel.cpp. Referenced by reset(). |
|
Initial value: { 0.004, 0.000, 0.004, 0.000, 0.000, 0.004, 0.000, 0.004, 0.004, 0.000, 0.004, 0.000, 0.000, 0.004, 0.000, 0.004 }
Definition at line 31 of file ConstantSpeedModel.cpp. Referenced by KalmanConstantSpeedModel(). |
|
Initial value: { 0.01*0.01, 0.00*0.00, 0.00*0.00, 0.00*0.00, 0.00*0.00, 0.01*0.01, 0.00*0.00, 0.00*0.00, 0.00*0.00, 0.00*0.00, 0.03*0.03, 0.00*0.00, 0.00*0.00, 0.00*0.00, 0.00*0.00, 0.03*0.03 }
Definition at line 40 of file ConstantSpeedModel.cpp. Referenced by KalmanConstantSpeedModel(). |