state-observation 1.7.0
General implementation of observers.
Loading...
Searching...
No Matches
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 <ekf-flexibility-estimator-base.hpp>

Inheritance diagram for stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase:
[legend]
Collaboration diagram for stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase:
[legend]

Public Member Functions

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

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.

Definition at line 35 of file ekf-flexibility-estimator-base.hpp.

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

Member Function Documentation

◆ 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::FixedContactEKFFlexEstimatorIMU, and stateObservation::flexibilityEstimation::ModelBaseEKFFlexEstimatorIMU.

◆ 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::FixedContactEKFFlexEstimatorIMU, and stateObservation::flexibilityEstimation::ModelBaseEKFFlexEstimatorIMU.

◆ setMeasurementNoiseCovariance()

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

◆ getProcessNoiseCovariance()

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

◆ getMeasurementNoiseCovariance()

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

◆ setMeasurement()

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

◆ 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)

◆ 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})

◆ 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::FixedContactEKFFlexEstimatorIMU, and stateObservation::flexibilityEstimation::ModelBaseEKFFlexEstimatorIMU.

◆ getFlexibility()

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

◆ 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::FixedContactEKFFlexEstimatorIMU, and stateObservation::flexibilityEstimation::ModelBaseEKFFlexEstimatorIMU.

◆ 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::FixedContactEKFFlexEstimatorIMU, and stateObservation::flexibilityEstimation::ModelBaseEKFFlexEstimatorIMU.

◆ 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::FixedContactEKFFlexEstimatorIMU, and stateObservation::flexibilityEstimation::ModelBaseEKFFlexEstimatorIMU.

◆ resetCovarianceMatrices()

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

Member Data Documentation

◆ ekf_

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

Definition at line 145 of file ekf-flexibility-estimator-base.hpp.

◆ finiteDifferencesJacobians_

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

Definition at line 147 of file ekf-flexibility-estimator-base.hpp.

◆ dx_

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

Definition at line 149 of file ekf-flexibility-estimator-base.hpp.

◆ lastX_

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

Definition at line 151 of file ekf-flexibility-estimator-base.hpp.

◆ k_

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

Definition at line 153 of file ekf-flexibility-estimator-base.hpp.


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