stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase Class Referenceabstract

This class is the base class of the flexibility estimators that use an extended Kalman Filter. Several methods require to be overloaded to derive an implementation from this base class. More...

#include <state-observation/flexibility-estimation/ekf-flexibility-estimator-base.hpp>

Inheritance diagram for stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase:
Collaboration diagram for stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase:

Public Member Functions

 EKFFlexibilityEstimatorBase (Index stateSize, Index measurementSize, Index inputSize, const Vector &dx=Vector::Zero(0))
 
virtual ~EKFFlexibilityEstimatorBase ()
 virtual destructor More...
 
virtual void setFlexibilityGuess (const Matrix &)=0
 
virtual void setFlexibilityCovariance (const Matrix &P)
 Sets the covariance matrix of the flexibility Guess. More...
 
virtual Matrix getFlexibilityCovariance () const
 Gets the covariance matrix of the flexibility. More...
 
virtual void setProcessNoiseCovariance (const Matrix &Q)
 
virtual void setMeasurementNoiseCovariance (const Matrix &R)
 
virtual Matrix getProcessNoiseCovariance () const
 gets the covariance matrices for the process noises More...
 
virtual Matrix getMeasurementNoiseCovariance () const
 gets the covariance matrices for the sensor noises More...
 
virtual void setMeasurement (const Vector &y)
 Sets the value of the next sensor measurement y_{k+1}. More...
 
virtual Vector getMeasurement ()
 
virtual void setInput (const Vector &u)
 
virtual void setMeasurementInput (const Vector &u)
 
virtual Vector getInput ()
 
virtual Vector getMeasurementInput ()
 
virtual const VectorgetFlexibilityVector ()
 Gets an estimation of the flexibility in the form of a state vector \hat{x_{k+1}}. More...
 
virtual Matrix4 getFlexibility ()=0
 Gets an estimation of the flexibility in the form of a homogeneous matrix. More...
 
virtual const stateObservation::ExtendedKalmanFiltergetEKF () const
 Gets a const reference on the extended Kalman filter. More...
 
virtual stateObservation::ExtendedKalmanFiltergetEKF ()
 Gets a reference on the extended Kalman filter. More...
 
virtual Index getStateSize () const =0
 
virtual Index getMeasurementSize () const =0
 
virtual Index getInputSize () const =0
 
virtual Vector getSimulatedMeasurement ()
 Gets a simulation of the. More...
 
virtual void resetCovarianceMatrices ()=0
 Resets the covariance matrices to their original values. More...
 
virtual Vector getInnovation ()
 Get the last vector of inovation of the Kalman filter. More...
 
virtual Vector getPredictedMeasurement ()
 Get the simulated measurement of the predicted state. More...
 
virtual Vector getPrediction ()
 Get the predicted state. More...
 
virtual Vector getLastPredictedMeasurement ()
 Get the last simulated measurement. More...
 
virtual Vector getLastPrediction ()
 Get the last predicted state. More...
 
- Public Member Functions inherited from stateObservation::flexibilityEstimation::FlexibilityEstimatorBase
virtual ~FlexibilityEstimatorBase ()
 virtual destructor More...
 
 FlexibilityEstimatorBase ()
 The constructor. More...
 

Protected Member Functions

virtual void setJacobians (const Matrix &A, const Matrix &C)
 
virtual void useFiniteDifferencesJacobians (Vector dx)
 

Protected Attributes

stateObservation::ExtendedKalmanFilter ekf_
 
bool finiteDifferencesJacobians_
 
Vector dx_
 
Vector lastX_
 
TimeIndex k_
 

Detailed Description

This class is the base class of the flexibility estimators that use an extended Kalman Filter. Several methods require to be overloaded to derive an implementation from this base class.

Constructor & Destructor Documentation

◆ EKFFlexibilityEstimatorBase()

stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::EKFFlexibilityEstimatorBase ( Index  stateSize,
Index  measurementSize,
Index  inputSize,
const Vector dx = Vector::Zero(0) 
)

The constructor.

  • stateSize : size of the state vector
  • measurementSize : size of the measurements vector
  • inputSize : size of the input vector
  • dx gives the derivation step for a finite differences derivation method

◆ ~EKFFlexibilityEstimatorBase()

virtual stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::~EKFFlexibilityEstimatorBase ( )
virtual

virtual destructor

Member Function Documentation

◆ getEKF() [1/2]

virtual stateObservation::ExtendedKalmanFilter& stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getEKF ( )
virtual

Gets a reference on the extended Kalman filter.

◆ getEKF() [2/2]

virtual const stateObservation::ExtendedKalmanFilter& stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getEKF ( ) const
virtual

Gets a const reference on the extended Kalman filter.

◆ getFlexibility()

virtual Matrix4 stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getFlexibility ( )
pure virtual

◆ getFlexibilityCovariance()

virtual Matrix stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getFlexibilityCovariance ( ) const
virtual

Gets the covariance matrix of the flexibility.

◆ getFlexibilityVector()

virtual const Vector& stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getFlexibilityVector ( )
virtual

Gets an estimation of the flexibility in the form of a state vector \hat{x_{k+1}}.

Reimplemented in stateObservation::flexibilityEstimation::ModelBaseEKFFlexEstimatorIMU, and stateObservation::flexibilityEstimation::FixedContactEKFFlexEstimatorIMU.

◆ getInnovation()

virtual Vector stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getInnovation ( )
virtual

Get the last vector of inovation of the Kalman filter.

◆ getInput()

virtual Vector stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getInput ( )
virtual

◆ getInputSize()

virtual Index stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getInputSize ( ) const
pure virtual

Gets the input size this method is pure virtual and reauires to be overloaded in implementation

Implemented in stateObservation::flexibilityEstimation::ModelBaseEKFFlexEstimatorIMU, and stateObservation::flexibilityEstimation::FixedContactEKFFlexEstimatorIMU.

◆ getLastPredictedMeasurement()

virtual Vector stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getLastPredictedMeasurement ( )
virtual

Get the last simulated measurement.

◆ getLastPrediction()

virtual Vector stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getLastPrediction ( )
virtual

Get the last predicted state.

◆ getMeasurement()

virtual Vector stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getMeasurement ( )
virtual

◆ getMeasurementInput()

virtual Vector stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getMeasurementInput ( )
virtual

◆ getMeasurementNoiseCovariance()

virtual Matrix stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getMeasurementNoiseCovariance ( ) const
virtual

◆ getMeasurementSize()

virtual Index stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getMeasurementSize ( ) const
pure virtual

Gets the measurements size this method is pure virtual and reauires to be overloaded in implementation

Implemented in stateObservation::flexibilityEstimation::ModelBaseEKFFlexEstimatorIMU, and stateObservation::flexibilityEstimation::FixedContactEKFFlexEstimatorIMU.

◆ getPredictedMeasurement()

virtual Vector stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getPredictedMeasurement ( )
virtual

Get the simulated measurement of the predicted state.

◆ getPrediction()

virtual Vector stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getPrediction ( )
virtual

Get the predicted state.

◆ getProcessNoiseCovariance()

virtual Matrix stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getProcessNoiseCovariance ( ) const
virtual

◆ getSimulatedMeasurement()

virtual Vector stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getSimulatedMeasurement ( )
virtual

Gets a simulation of the.

◆ getStateSize()

virtual Index stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::getStateSize ( ) const
pure virtual

Gets the state size this method is pure virtual and reauires to be overloaded in implementation

Implemented in stateObservation::flexibilityEstimation::ModelBaseEKFFlexEstimatorIMU, and stateObservation::flexibilityEstimation::FixedContactEKFFlexEstimatorIMU.

◆ resetCovarianceMatrices()

virtual void stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::resetCovarianceMatrices ( )
pure virtual

◆ setFlexibilityCovariance()

virtual void stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::setFlexibilityCovariance ( const Matrix P)
virtual

Sets the covariance matrix of the flexibility Guess.

◆ setFlexibilityGuess()

virtual void stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::setFlexibilityGuess ( const Matrix )
pure virtual

Sets a value of the flexibility x_k provided from another source can be used for initialization of the estimator This is a pure virtual function that requires to be overloaded in implementation

Implements stateObservation::flexibilityEstimation::FlexibilityEstimatorBase.

Implemented in stateObservation::flexibilityEstimation::ModelBaseEKFFlexEstimatorIMU, and stateObservation::flexibilityEstimation::FixedContactEKFFlexEstimatorIMU.

◆ setInput()

virtual void stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::setInput ( const Vector u)
virtual

Sets the value of the next input for the state process dynamics i.e. : gives u_k such that x_{k+1} = f(x_k,u_k)

◆ setJacobians()

virtual void stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::setJacobians ( const Matrix A,
const Matrix C 
)
protectedvirtual

◆ setMeasurement()

virtual void stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::setMeasurement ( const Vector y)
virtual

◆ setMeasurementInput()

virtual void stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::setMeasurementInput ( const Vector u)
virtual

Sets the value of the next measurement i.e. : gives u_{k+1} such that y_{k+1}=h(x_{k+1},u_{k+1})

◆ setMeasurementNoiseCovariance()

virtual void stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::setMeasurementNoiseCovariance ( const Matrix R)
virtual

◆ setProcessNoiseCovariance()

virtual void stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::setProcessNoiseCovariance ( const Matrix Q)
virtual

Sets the covariance matrices for the process noises

  • Q process noise

Reimplemented in stateObservation::flexibilityEstimation::ModelBaseEKFFlexEstimatorIMU, and stateObservation::flexibilityEstimation::FixedContactEKFFlexEstimatorIMU.

◆ useFiniteDifferencesJacobians()

virtual void stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::useFiniteDifferencesJacobians ( Vector  dx)
protectedvirtual

Member Data Documentation

◆ dx_

Vector stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::dx_
protected

◆ ekf_

stateObservation::ExtendedKalmanFilter stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::ekf_
protected

◆ finiteDifferencesJacobians_

bool stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::finiteDifferencesJacobians_
protected

◆ k_

TimeIndex stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::k_
protected

◆ lastX_

Vector stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::lastX_
protected

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