stateObservation::TiltEstimatorHumanoid Class Reference

Version of the Tilt Estimator for humanoid robots. More...

#include <state-observation/observer/tilt-estimator-humanoid.hpp>

Inheritance diagram for stateObservation::TiltEstimatorHumanoid:
Collaboration diagram for stateObservation::TiltEstimatorHumanoid:

Public Member Functions

 TiltEstimatorHumanoid (double alpha, double beta, double gamma)
 
void setSensorPositionInC (const Vector3 &p)
 sets the position of the IMU sensor in the control frame More...
 
Vector3 getSensorPositionInC ()
 
void setSensorOrientationInC (const Matrix3 &R)
 sets the oriantation of the IMU sensor in the control frame More...
 
Matrix3 getSensorOrientationInC ()
 
Vector3 getVirtualLocalVelocityMeasurement ()
 
void setSensorLinearVelocityInC (const Vector3 &v)
 sets teh linear velocity of the IMU sensor in the control frame More...
 
Vector3 getSensorLinearVelocityInC ()
 
void setSensorAngularVelocityInC (const Vector3 &w)
 sets the angular velocity of the IMU sensor in the control frame More...
 
Vector3 getSensorAngularVelocityInC ()
 
void setControlOriginVelocityInW (const Vector3 &v)
 
Vector3 getControlOriginVelocityInW ()
 
void resetImuLocVelHat ()
 informs the estimator that x1hat (the estimate of the local linear velocity of the IMU in the world) needs to be reset. More...
 
void setMeasurement (const Vector3 &ya_k, const Vector3 &yg_k, TimeIndex k)
 sets ths measurement (accelero and gyro stacked in one vector) More...
 
void setMeasurement (const Vector3 &yv_k, const Vector3 &ya_k, const Vector3 &yg_k, TimeIndex k)
 prevent c++ overloaded virtual function warning More...
 
- Public Member Functions inherited from stateObservation::TiltEstimator
 TiltEstimator (double alpha, double beta, double gamma)
 
void initEstimator (Vector3 x1=Vector3::Zero(), Vector3 x2_prime=Vector3::UnitZ(), Vector3 x2=Vector3::UnitZ())
 initializes the state vector. More...
 
void setAlpha (const double alpha)
 set the gain of x1_hat variable More...
 
double getAlpha () const
 
void setBeta (const double beta)
 set the gain of x2prime_hat variable More...
 
double getBeta () const
 
void setGamma (const double gamma)
 set the gain of x2_hat variable More...
 
double getGamma () const
 
void setSamplingTime (const double dt)
 set the sampling time of the measurements More...
 
double getSamplingTime () const
 
void setMeasurement (const Vector3 &yv_k, const Vector3 &ya_k, const Vector3 &yg_k, TimeIndex k)
 sets ths measurement (accelero and gyro stacked in one vector) More...
 
- Public Member Functions inherited from stateObservation::ZeroDelayObserver
 ZeroDelayObserver (Index n, Index m, Index p=0)
 
 ZeroDelayObserver ()
 Default constructor (default values for n,m,p are zero) More...
 
virtual ~ZeroDelayObserver ()
 Destructor. More...
 
virtual void setState (const ObserverBase::StateVector &x_k, TimeIndex k)
 Set the value of the state vector at time index k. More...
 
virtual void setCurrentState (const ObserverBase::StateVector &x_k)
 Modify the value of the state vector at the current time. More...
 
virtual void clearStates ()
 Removes the state estimation. More...
 
bool stateIsSet () const
 Returns if the state is set or not. The state being set is mandatory to start the estimator. More...
 
virtual void setMeasurement (const ObserverBase::MeasureVector &y_k, TimeIndex k)
 
virtual void pushMeasurement (const ObserverBase::MeasureVector &y_k)
 Sets the measurement value at the next time index. More...
 
virtual void clearMeasurements ()
 Remove all the given values of the measurements. More...
 
virtual void setInput (const ObserverBase::InputVector &u_k, TimeIndex k)
 
virtual void pushInput (const ObserverBase::InputVector &u_k)
 Set the input value at the next time indext. More...
 
virtual void clearInputs ()
 
virtual void clearInputsAndMeasurements ()
 Remove all the given values of the inputs and measurements. More...
 
virtual TimeIndex estimateState ()
 run the observer until the measurement vector is depleted. More...
 
virtual ObserverBase::StateVector getEstimatedState (TimeIndex k)
 getestimated State More...
 
virtual ObserverBase::StateVector getCurrentEstimatedState () const
 Get the Current Estimated State. More...
 
virtual TimeIndex getCurrentTime () const
 Get the value of the time index of the current state estimation. More...
 
Vector getInput (TimeIndex k) const
 Get the value of the input of the time index k. More...
 
virtual TimeSize getInputsNumber () const
 Get the number of available inputs. More...
 
virtual TimeIndex getInputTime () const
 Get the time index of the last given input. More...
 
Vector getMeasurement (TimeIndex k) const
 Get the measurement of the time index k. More...
 
virtual TimeIndex getMeasurementTime () const
 Get the time index of the last given measurement. More...
 
virtual TimeSize getMeasurementsNumber () const
 Gets the number of regitered measurements. More...
 
virtual void setStateSize (Index n)
 changes the size of the state vector: resets the stored state vector More...
 
virtual void setMeasureSize (Index m)
 changes the size of the measurement vector: reset the stored measurement vectors More...
 
virtual void setInputSize (Index p)
 changes the size of the input vector: reset the stored input vectors More...
 
- Public Member Functions inherited from stateObservation::ObserverBase
 ObserverBase (Index n, Index m, Index p=0)
 
 ObserverBase ()
 default constructor (default values for n,m,p are zero) More...
 
virtual ~ObserverBase ()
 Destructor. More...
 
virtual Index getStateSize () const
 gets the size of the state vector More...
 
virtual Index getMeasureSize () const
 gets the size of the measurement vector More...
 
virtual Index getInputSize () const
 gets the size of the input vector More...
 
virtual void reset ()
 
virtual StateVector stateVectorConstant (double c) const
 
virtual StateVector stateVectorRandom () const
 Gives a vector of state vector size having random values. More...
 
virtual StateVector stateVectorZero () const
 Gives a vector of state vector size having zero values. More...
 
virtual bool checkStateVector (const StateVector &v) const
 Tells whether or not the vector has the dimensions of a state vector. More...
 
virtual MeasureVector measureVectorConstant (double c) const
 Gives a vector of measurement vector size having duplicated "c" value. More...
 
virtual MeasureVector measureVectorRandom () const
 Gives a vector of measurement vector size having random values. More...
 
virtual MeasureVector measureVectorZero () const
 Gives a vector of measurement vector size having zero values. More...
 
virtual bool checkMeasureVector (const MeasureVector &) const
 Tells whether or not the vector has the dimensions of a measurement vector. More...
 
virtual InputVector inputVectorConstant (double c) const
 Gives a vector of input vector size having duplicated "c" value. More...
 
virtual InputVector inputVectorRandom () const
 Gives a vector of input vector size having random values. More...
 
virtual InputVector inputVectorZero () const
 Gives a vector of input vector size having zero values. More...
 
virtual bool checkInputVector (const InputVector &) const
 Tells whether or not the vector has the dimensions of a input vector. More...
 

Protected Member Functions

void checkResetX1hat ()
 Checks if x1hat needs to be reset and if yes, resets it with the current value of x1. More...
 
- Protected Member Functions inherited from stateObservation::TiltEstimator
StateVector oneStepEstimation_ ()
 The tilt estimator loop. More...
 

Protected Attributes

Vector3 p_S_C_
 Position of the IMU in the control frame. More...
 
Matrix3 R_S_C_
 Orientation of the IMU in the control frame. More...
 
Vector3 v_S_C_
 Linear velocity of the IMU in the control frame. More...
 
Vector3 w_S_C_
 Angular velocity of the IMU in the control frame. More...
 
Vector3 v_C_
 Linear velocity of the control frame. More...
 
bool resetX1hat_ = false
 indicates that x1hat needs to be reset More...
 
- Protected Attributes inherited from stateObservation::TiltEstimator
double alpha_
 The parameters of the estimator. More...
 
double beta_
 
double gamma_
 
double dt_
 Sampling time. More...
 
Vector3 x1_
 variables used for the computation More...
 
Vector3 x1_hat_
 
Vector3 x2_hat_prime_
 
Vector3 x2_hat_
 
Vector3 dx1_hat
 
- Protected Attributes inherited from stateObservation::ZeroDelayObserver
IndexedVector x_
 while the measurements and iputs are put in lists More...
 
IndexedVectorArray y_
 Container for the measurements. More...
 
IndexedVectorArray u_
 Container for the inputs. More...
 
- Protected Attributes inherited from stateObservation::ObserverBase
Index n_
 stateSize is the size of the state vector More...
 
Index m_
 measureSize is the size of measurements vector More...
 
Index p_
 inputSize is the size of the input vector More...
 

Additional Inherited Members

- Public Types inherited from stateObservation::ObserverBase
typedef Vector StateVector
 StateVector is the type of state vector. More...
 
typedef Vector MeasureVector
 MeasureVector is the type of measurements vector. More...
 
typedef Vector InputVector
 InputVector is the type of the input vector. More...
 

Detailed Description

Version of the Tilt Estimator for humanoid robots.

Constructor & Destructor Documentation

◆ TiltEstimatorHumanoid()

stateObservation::TiltEstimatorHumanoid::TiltEstimatorHumanoid ( double  alpha,
double  beta,
double  gamma 
)

The constructor

  • alpha : parameter related to the convergence of the linear velocity of the IMU expressed in the control frame
  • beta : parameter related to the fast convergence of the tilt
  • gamma : parameter related to the orthogonality

Member Function Documentation

◆ checkResetX1hat()

void stateObservation::TiltEstimatorHumanoid::checkResetX1hat ( )
protected

Checks if x1hat needs to be reset and if yes, resets it with the current value of x1.

x1hat needs to be reset when the mode of computation of the anchor frame changed, to avoid discontinuities.

◆ getControlOriginVelocityInW()

Vector3 stateObservation::TiltEstimatorHumanoid::getControlOriginVelocityInW ( )
inline

◆ getSensorAngularVelocityInC()

Vector3 stateObservation::TiltEstimatorHumanoid::getSensorAngularVelocityInC ( )
inline

◆ getSensorLinearVelocityInC()

Vector3 stateObservation::TiltEstimatorHumanoid::getSensorLinearVelocityInC ( )
inline

◆ getSensorOrientationInC()

Matrix3 stateObservation::TiltEstimatorHumanoid::getSensorOrientationInC ( )
inline

◆ getSensorPositionInC()

Vector3 stateObservation::TiltEstimatorHumanoid::getSensorPositionInC ( )
inline

◆ getVirtualLocalVelocityMeasurement()

Vector3 stateObservation::TiltEstimatorHumanoid::getVirtualLocalVelocityMeasurement ( )
inline

◆ resetImuLocVelHat()

void stateObservation::TiltEstimatorHumanoid::resetImuLocVelHat ( )

informs the estimator that x1hat (the estimate of the local linear velocity of the IMU in the world) needs to be reset.

x1hat needs to be reset when the mode of computation of the anchor frame changed, to avoid discontinuities.

◆ setControlOriginVelocityInW()

void stateObservation::TiltEstimatorHumanoid::setControlOriginVelocityInW ( const Vector3 v)
inline

sets the velocity of the control origin in the world frame this velocity has to be expressed in the control frame.

◆ setMeasurement() [1/2]

void stateObservation::TiltEstimatorHumanoid::setMeasurement ( const Vector3 ya_k,
const Vector3 yg_k,
TimeIndex  k 
)

sets ths measurement (accelero and gyro stacked in one vector)

◆ setMeasurement() [2/2]

void stateObservation::TiltEstimator::setMeasurement

prevent c++ overloaded virtual function warning

◆ setSensorAngularVelocityInC()

void stateObservation::TiltEstimatorHumanoid::setSensorAngularVelocityInC ( const Vector3 w)
inline

sets the angular velocity of the IMU sensor in the control frame

◆ setSensorLinearVelocityInC()

void stateObservation::TiltEstimatorHumanoid::setSensorLinearVelocityInC ( const Vector3 v)
inline

sets teh linear velocity of the IMU sensor in the control frame

◆ setSensorOrientationInC()

void stateObservation::TiltEstimatorHumanoid::setSensorOrientationInC ( const Matrix3 R)
inline

sets the oriantation of the IMU sensor in the control frame

◆ setSensorPositionInC()

void stateObservation::TiltEstimatorHumanoid::setSensorPositionInC ( const Vector3 p)
inline

sets the position of the IMU sensor in the control frame

Member Data Documentation

◆ p_S_C_

Vector3 stateObservation::TiltEstimatorHumanoid::p_S_C_
protected

Position of the IMU in the control frame.

◆ R_S_C_

Matrix3 stateObservation::TiltEstimatorHumanoid::R_S_C_
protected

Orientation of the IMU in the control frame.

◆ resetX1hat_

bool stateObservation::TiltEstimatorHumanoid::resetX1hat_ = false
protected

indicates that x1hat needs to be reset

◆ v_C_

Vector3 stateObservation::TiltEstimatorHumanoid::v_C_
protected

Linear velocity of the control frame.

◆ v_S_C_

Vector3 stateObservation::TiltEstimatorHumanoid::v_S_C_
protected

Linear velocity of the IMU in the control frame.

◆ w_S_C_

Vector3 stateObservation::TiltEstimatorHumanoid::w_S_C_
protected

Angular velocity of the IMU in the control frame.


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