Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

KalmanFixedPositionModel Class Reference

Contains a KalmanBallLocator process model for non-moving balls. More...

#include <FixedPositionModel.h>

Inheritance diagram for KalmanFixedPositionModel:

Inheritance graph
[legend]
Collaboration diagram for KalmanFixedPositionModel:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 KalmanFixedPositionModel ()
virtual ~KalmanFixedPositionModel ()
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)
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 Attributes

Vector_n< double, 2 > x_act
 Actual state: x_act[0] is x-position in meters x_act[1] is y-position in meters.

Matrix_nxn< double, 2 > A
 linear process model matrix

Matrix_nxn< double, 2 > P
 internal covariance matrix

Matrix_nxn< double, 2 > Q
 process model error covariance matrix

Matrix_nxn< double, 2 > R
 measurement error covariance matrix

bool inited
 true, if model is initied

double lastLiklihood
 last liklihood

double lastTime
 last time in seconds

Vector_n< double, 2 > x_minus
Matrix_nxn< double, 2 > P_minus
Matrix_nxn< double, 2 > C
Matrix_nxn< double, 2 > C_inv
Matrix_nxn< double, 2 > K
Vector_n< double, 2 > z
Vector_n< double, 2 > x_predict
Matrix_nxn< double, 2 > globQ
 global process covariance matrix that is adapted with dt

Matrix_nxn< double, 2 > globR
 global measurement covariance matrix


Static Private Attributes

double defaultA [4]
 default linear process model matrix

double defaultP [4]
 default internal covariance matrix

double defaultQ [4]
 default process error covariance matrix

double defaultR [4]
 default measurement error covariance matrix


Detailed Description

Contains a KalmanBallLocator process model for non-moving balls.

Definition at line 19 of file FixedPositionModel.h.


Constructor & Destructor Documentation

KalmanFixedPositionModel::KalmanFixedPositionModel  ) 
 

Definition at line 34 of file FixedPositionModel.cpp.

References defaultA, defaultQ, defaultR, and reset().

Here is the call graph for this function:

KalmanFixedPositionModel::~KalmanFixedPositionModel  )  [virtual]
 

Definition at line 42 of file FixedPositionModel.cpp.


Member Function Documentation

virtual const char* KalmanFixedPositionModel::getModelName  )  const [inline, virtual]
 

Returns the name of the process model.

Returns:
name of process model

Implements KalmanProcessModelBase.

Definition at line 26 of file FixedPositionModel.h.

virtual int KalmanFixedPositionModel::getStateDim  )  const [inline, virtual]
 

Returns the dimension of the state.

Returns:
dimension of the state

Implements KalmanProcessModelBase.

Definition at line 28 of file FixedPositionModel.h.

virtual void KalmanFixedPositionModel::getP double *  pDest  )  const [inline, virtual]
 

Retrieves the internal kalman filter covariance matrix.

Parameters:
pDest destination to store the covariance matrix to

Implements KalmanProcessModelBase.

Definition at line 29 of file FixedPositionModel.h.

References Matrix_nxn< double, 2 >::copyTo().

Here is the call graph for this function:

virtual void KalmanFixedPositionModel::getQ double *  pDest  )  const [inline, virtual]
 

Retrieves the process error covariance matrix.

Parameters:
pDest destination to store the covariance matrix to

Implements KalmanProcessModelBase.

Definition at line 30 of file FixedPositionModel.h.

References Matrix_nxn< double, 2 >::copyTo().

Here is the call graph for this function:

virtual void KalmanFixedPositionModel::setQ const double *  pSource  )  [inline, virtual]
 

Sets the process error covariance matrix.

Parameters:
pSource array containing the covariance matrix entries

Implements KalmanProcessModelBase.

Definition at line 31 of file FixedPositionModel.h.

virtual void KalmanFixedPositionModel::getR double *  pDest  )  const [inline, virtual]
 

Retrieves the measurement error covariance matrix.

Parameters:
pDest destination to store the covariance matrix to

Implements KalmanProcessModelBase.

Definition at line 32 of file FixedPositionModel.h.

References Matrix_nxn< double, 2 >::copyTo().

Here is the call graph for this function:

virtual void KalmanFixedPositionModel::setR double *  pSource  )  [inline, virtual]
 

Sets the measurement error covariance matrix.

Parameters:
pSource array containing the covariance matrix entries

Implements KalmanProcessModelBase.

Definition at line 33 of file FixedPositionModel.h.

void KalmanFixedPositionModel::reset  )  [virtual]
 

Resets the process model.

Implements KalmanProcessModelBase.

Definition at line 46 of file FixedPositionModel.cpp.

References defaultP, and inited.

Referenced by KalmanFixedPositionModel(), predict(), and update().

KalmanUpdateResult KalmanFixedPositionModel::update double  time,
double  x,
double  y
[virtual]
 

Definition at line 57 of file FixedPositionModel.cpp.

References det(), Matrix_nxn< double, 2 >::eye(), MVTools::getMaxExpDouble(), idText, inited, invert(), MVTools::isNearZero(), KalmanUpdateResult::liklihood, OUTPUT, KalmanProcessModelBase::OutputException(), KalmanProcessModelBase::pi, reset(), KalmanUpdateResult::state, transpose(), KalmanBallState::vx, KalmanBallState::vy, KalmanBallState::x, and KalmanBallState::y.

Here is the call graph for this function:

KalmanPredictResult KalmanFixedPositionModel::predict double  time  )  [virtual]
 

Permorms a prediction of the ball state.

Parameters:
time actual time in seconds
Returns:
the predict results of the process model

Implements KalmanProcessModelBase.

Definition at line 185 of file FixedPositionModel.cpp.

References inited, KalmanPredictResult::liklihood, KalmanProcessModelBase::OutputException(), reset(), KalmanPredictResult::state, KalmanBallState::vx, KalmanBallState::vy, KalmanBallState::x, and KalmanBallState::y.

Here is the call graph for this function:

void KalmanFixedPositionModel::adapt const OdometryData lastOdometry,
const OdometryData actualOdometry
[virtual]
 

Function to adapt the state of the model when position and rotation of the robot changes.

Parameters:
lastOdometry last odometry of robot (original values in millimeters are used)
actualOdometry actual odometry of robot (original values in millimeters are used)

Implements KalmanProcessModelBase.

Definition at line 215 of file FixedPositionModel.cpp.

References Vector2< V >::x, and Vector2< V >::y.


Member Data Documentation

Vector_n<double, 2> KalmanFixedPositionModel::x_act [private]
 

Actual state: x_act[0] is x-position in meters x_act[1] is y-position in meters.

Definition at line 48 of file FixedPositionModel.h.

Matrix_nxn<double, 2> KalmanFixedPositionModel::A [private]
 

linear process model matrix

Definition at line 49 of file FixedPositionModel.h.

Matrix_nxn<double, 2> KalmanFixedPositionModel::P [private]
 

internal covariance matrix

Definition at line 50 of file FixedPositionModel.h.

Matrix_nxn<double, 2> KalmanFixedPositionModel::Q [private]
 

process model error covariance matrix

Definition at line 51 of file FixedPositionModel.h.

Matrix_nxn<double, 2> KalmanFixedPositionModel::R [private]
 

measurement error covariance matrix

Definition at line 52 of file FixedPositionModel.h.

bool KalmanFixedPositionModel::inited [private]
 

true, if model is initied

Definition at line 54 of file FixedPositionModel.h.

Referenced by predict(), reset(), and update().

double KalmanFixedPositionModel::lastLiklihood [private]
 

last liklihood

Definition at line 55 of file FixedPositionModel.h.

double KalmanFixedPositionModel::lastTime [private]
 

last time in seconds

Definition at line 56 of file FixedPositionModel.h.

Vector_n<double, 2> KalmanFixedPositionModel::x_minus [private]
 

Definition at line 59 of file FixedPositionModel.h.

Matrix_nxn<double, 2> KalmanFixedPositionModel::P_minus [private]
 

Definition at line 60 of file FixedPositionModel.h.

Matrix_nxn<double, 2> KalmanFixedPositionModel::C [private]
 

Definition at line 61 of file FixedPositionModel.h.

Matrix_nxn<double, 2> KalmanFixedPositionModel::C_inv [private]
 

Definition at line 62 of file FixedPositionModel.h.

Matrix_nxn<double, 2> KalmanFixedPositionModel::K [private]
 

Definition at line 63 of file FixedPositionModel.h.

Vector_n<double, 2> KalmanFixedPositionModel::z [private]
 

Definition at line 64 of file FixedPositionModel.h.

Vector_n<double, 2> KalmanFixedPositionModel::x_predict [private]
 

Definition at line 65 of file FixedPositionModel.h.

Matrix_nxn<double, 2> KalmanFixedPositionModel::globQ [private]
 

global process covariance matrix that is adapted with dt

Definition at line 68 of file FixedPositionModel.h.

Matrix_nxn<double, 2> KalmanFixedPositionModel::globR [private]
 

global measurement covariance matrix

Definition at line 70 of file FixedPositionModel.h.

double KalmanFixedPositionModel::defaultA [static, private]
 

Initial value:

{
  1.0, 0.0,
  0.0, 1.0
}
default linear process model matrix

Definition at line 7 of file FixedPositionModel.cpp.

Referenced by KalmanFixedPositionModel().

double KalmanFixedPositionModel::defaultP [static, private]
 

Initial value:

{
  1.0, 0.0,
  0.0, 1.0
}
default internal covariance matrix

Definition at line 13 of file FixedPositionModel.cpp.

Referenced by reset().

double KalmanFixedPositionModel::defaultQ [static, private]
 

Initial value:

{
  0.01*0.01, 0.00*0.00,
  0.00*0.00, 0.01*0.01
}
default process error covariance matrix

Definition at line 21 of file FixedPositionModel.cpp.

Referenced by KalmanFixedPositionModel().

double KalmanFixedPositionModel::defaultR [static, private]
 

Initial value:

{
  0.04*0.04, 0.00*0.00,
  0.00*0.00, 0.04*0.04
}
default measurement error covariance matrix

Definition at line 28 of file FixedPositionModel.cpp.

Referenced by KalmanFixedPositionModel().


The documentation for this class was generated from the following files:
Generated on Thu Sep 23 20:09:02 2004 for GT2004 by doxygen 1.3.6