opentl::models::LinearARModels Class Reference

Implemented class Continuous White Noise Acceleration (CWNA) motion model. More...

Inherits opentl::models::Motion.

Inherited by opentl::models::Brownian, opentl::models::ConstantVelocity, and opentl::models::Oscillatory.

List of all members.

Public Member Functions

virtual math::SquareMatrixgetNoiseCovariance ()
 Get process noise covariance matrix.
virtual int getNoiseDim ()
 Returns dimension of process noise square matrix.
virtual void getUniformPrior (opentl::core::State &srcDstState)
 Function to get the first state prior for the tracking. The filter calls this function at initialization. Requires to call setNoiseCovariance() first to get range values for uniform distribution.
 LinearARModels (MotionType motionType, boost::shared_ptr< opentl::core::State > stateTemplate, math::Matrix *matB=NULL, double fixedDeltaT=0.0)
 Constructor.
virtual void predictMotion (opentl::core::State &srcDstState, bool addNoise=false, math::SquareMatrix **noiseCovMat=NULL, math::SquareMatrix **jacStateTrans=NULL, math::Vector *inputU=NULL)
 Predicts state(k+1) based on specific motion model.
virtual void setAveragePose (const math::Vector &averagePose)
 Set average pose value (used by constrained models, with additive update only).
void setFixedDeltaT (double fixedDeltaT=0.0f)
 Sets a fixed delta t.
virtual void setNoiseCovariance (const math::SquareMatrix &noiseCovMat)
 Set process noise covariance, and update matrices accordingly.
virtual void setUniformNoiseRange (const math::Vector &uniformNoiseRange)
 Set uniform noise range (for the initial prior).
virtual void updateMatrices ()=0
 Update internal matrices (mMatA, mMatW, mMatQw) using the internal parameter mDeltaT.
virtual ~LinearARModels ()
 Destructor.

Protected Member Functions

void convertMatricesToRealTime ()
 Convert AR matrices, from time-less (A,W) to real-time (At,Wt). Time-less state model: s(t) = [p(t),p(t-1)] Real-time state model: s(t) = [p(t),p_dot(t)] Conversion matrix: H = [I I*dt; I 0] New matrices: At = inv(H)*A*H; Wt = inv(H)*W;.

Protected Attributes

math::Matrix matWTmp
math::Vector mAveragePoseVec
 Average pose vector.
clock_t mCurrentTime
double mDeltaT
 Time difference (of old posterior state till now).
double mFixedDeltaT
 Use a fixed time value for deltaT if this value is not -1.0.
math::SquareMatrix mMatA
 Real-time state transition matrix (A).
math::SquareMatrix mMatATimeless
 Time-less version of state transition matrix (A).
math::MatrixmMatB
 Control matrix (B) if input vector u is given.
math::SquareMatrix mMatH
 Conversion matrix between time-less and real-time AR model (function of deltaT).
math::SquareMatrix mMatNoiseCov
 Process noise covariance.
math::SquareMatrix mMatQw
 Process noise covariance matrix Qw = (W*w)*(W*w)'.
math::Matrix mMatW
 Real-time process noise matrix (W).
math::Matrix mMatWTimeless
 Time-less version of process noise matrix (W).
math::Vector mNoiseParamVecW
 Vectors containing std for Gaussian noise generation (obtained from mMatNoiseCov).
math::Vector mNoiseVecW
 Process noise vector (w).
int mPoseIncDim
 Pose degrees of freedom (increment dimension).
int mStateIncDim
 Full state degrees of freedom (increment dimension).
math::Vector mStateTmp
math::Vector mUniformNoiseRange
 Range of uniform noise (-u,u) for initializing the *absolute* pose vector.
math::Vector mVecTmp
 hold temporary state information


Detailed Description

Implemented class Continuous White Noise Acceleration (CWNA) motion model.

Author:
Erwin Roth, erwin.roth@weihenstephan.org; Giorgio Panin, panin@in.tum.de

Constructor & Destructor Documentation

opentl::models::LinearARModels::LinearARModels ( MotionType  motionType,
boost::shared_ptr< opentl::core::State stateTemplate,
math::Matrix matB = NULL,
double  fixedDeltaT = 0.0 
)

Constructor.

Parameters:
motionType Motion type used for Linear ARModels
stateTemplate The state representation this model is using.
matB Optional: input matrix B
fixedDeltaT Optional: (default=deltaT is dynamic).

virtual opentl::models::LinearARModels::~LinearARModels (  )  [virtual]

Destructor.


Member Function Documentation

void opentl::models::LinearARModels::convertMatricesToRealTime (  )  [protected]

Convert AR matrices, from time-less (A,W) to real-time (At,Wt). Time-less state model: s(t) = [p(t),p(t-1)] Real-time state model: s(t) = [p(t),p_dot(t)] Conversion matrix: H = [I I*dt; I 0] New matrices: At = inv(H)*A*H; Wt = inv(H)*W;.

virtual math::SquareMatrix& opentl::models::LinearARModels::getNoiseCovariance (  )  [virtual]

Get process noise covariance matrix.

Implements opentl::models::Motion.

virtual int opentl::models::LinearARModels::getNoiseDim (  )  [virtual]

Returns dimension of process noise square matrix.

Returns:
Dimension of process noise

Implements opentl::models::Motion.

virtual void opentl::models::LinearARModels::getUniformPrior ( opentl::core::State srcDstState  )  [virtual]

Function to get the first state prior for the tracking. The filter calls this function at initialization. Requires to call setNoiseCovariance() first to get range values for uniform distribution.

Parameters:
srcDstState State used as basis for initialization of motion

Implements opentl::models::Motion.

virtual void opentl::models::LinearARModels::predictMotion ( opentl::core::State srcDstState,
bool  addNoise = false,
math::SquareMatrix **  noiseCovMat = NULL,
math::SquareMatrix **  jacStateTrans = NULL,
math::Vector inputU = NULL 
) [virtual]

Predicts state(k+1) based on specific motion model.

Parameters:
srcDstState Variable holding input and output state
addNoise Optional: (default = false) if true, process noise will be added to state(k+1)
noiseCovMat Gives access to (dynamic) process noise covariance matrix
jacStateTrans Optional: returns Jacobian of state transition matrix
inputU Optional: input control vector (u)

Implements opentl::models::Motion.

virtual void opentl::models::LinearARModels::setAveragePose ( const math::Vector averagePose  )  [inline, virtual]

Set average pose value (used by constrained models, with additive update only).

Parameters:
averagePose Input average pose vector

Implements opentl::models::Motion.

void opentl::models::LinearARModels::setFixedDeltaT ( double  fixedDeltaT = 0.0f  )  [virtual]

Sets a fixed delta t.

Parameters:
fixedDeltaT value of delta t, if set to 0.0 then delta t is computed dynamically

Implements opentl::models::Motion.

virtual void opentl::models::LinearARModels::setNoiseCovariance ( const math::SquareMatrix noiseCovMat  )  [virtual]

Set process noise covariance, and update matrices accordingly.

Implements opentl::models::Motion.

virtual void opentl::models::LinearARModels::setUniformNoiseRange ( const math::Vector uniformNoiseRange  )  [inline, virtual]

Set uniform noise range (for the initial prior).

Implements opentl::models::Motion.

virtual void opentl::models::LinearARModels::updateMatrices (  )  [pure virtual]

Update internal matrices (mMatA, mMatW, mMatQw) using the internal parameter mDeltaT.

Implemented in opentl::models::Brownian, opentl::models::ConstantVelocity, and opentl::models::Oscillatory.


Member Data Documentation

Average pose vector.

Time difference (of old posterior state till now).

Use a fixed time value for deltaT if this value is not -1.0.

Real-time state transition matrix (A).

Time-less version of state transition matrix (A).

Control matrix (B) if input vector u is given.

Conversion matrix between time-less and real-time AR model (function of deltaT).

Process noise covariance.

Process noise covariance matrix Qw = (W*w)*(W*w)'.

Real-time process noise matrix (W).

Time-less version of process noise matrix (W).

Vectors containing std for Gaussian noise generation (obtained from mMatNoiseCov).

Process noise vector (w).

Pose degrees of freedom (increment dimension).

Full state degrees of freedom (increment dimension).

Range of uniform noise (-u,u) for initializing the *absolute* pose vector.

hold temporary state information


Generated on Fri Jul 31 17:38:39 2009 for OpenTL by  doxygen 1.5.8