13#ifndef FLEXBILITYESTMATOR_MODELBASEEKFFLEXIBILITYESTIMATOR_IMU_H
14#define FLEXBILITYESTMATOR_MODELBASEEKFFLEXIBILITYESTIMATOR_IMU_H
16#include <state-observation/api.h>
24namespace flexibilityEstimation
39 private boost::noncopyable
45 static const unsigned elasticContact = IMUElasticLocalFrameDynamicalSystem::contactModel::elasticContact;
46 static const unsigned pendulum = IMUElasticLocalFrameDynamicalSystem::contactModel::pendulum;
60 return functor_.getContactsNumber();
70 return functor_.computeAccelerations(getFlexibilityVector(), getInput());
143 return withUnmodeledForces_;
148 return withAbsolutePos_;
201 return functor_.getRobotMass();
221 return limitTorques_;
251 static const Index measurementSizeBase_ = 12;
253 static const Index inputSizeBase_ = IMUElasticLocalFrameDynamicalSystem::input::sizeBase;
This class is the base class of the flexibility estimators that use an extended Kalman Filter....
Definition ekf-flexibility-estimator-base.hpp:36
This class describes the dynamics of a robot's flexibility this dynamics with elastic forces to bring...
Definition imu-elastic-local-frame-dynamical-system.hpp:35
This class implements the flexibility estimation of a robot with the hypothesis that the contact posi...
Definition model-base-ekf-flex-estimator-imu.hpp:40
virtual stateObservation::Vector computeAccelerations()
Definition model-base-ekf-flex-estimator-imu.hpp:68
virtual ~ModelBaseEKFFlexEstimatorIMU()
Virtual destructor.
virtual void resetCovarianceMatrices()
Resets the covariance matrices to their original values.
virtual void setKtv(const Matrix3 &m)
Vector3 limitTorques_
Definition model-base-ekf-flex-estimator-imu.hpp:269
virtual Matrix getKtv() const
virtual stateObservation::Matrix getAMatrix()
Definition model-base-ekf-flex-estimator-imu.hpp:116
virtual Index getStateSize() const
static Matrix getDefaultQ()
virtual void updateMeasurementCovarianceMatrix_()
virtual void setPe(const stateObservation::Vector3 &Pe)
Definition model-base-ekf-flex-estimator-imu.hpp:184
double absPosVariance_
Definition model-base-ekf-flex-estimator-imu.hpp:261
void setForcesLimit(const Vector3 &v)
Definition model-base-ekf-flex-estimator-imu.hpp:209
virtual Matrix4 getFlexibility()
Gets an estimation of the flexibility in the form of a homogeneous matrix.
const Index stateSize_
Definition model-base-ekf-flex-estimator-imu.hpp:249
IMUElasticLocalFrameDynamicalSystem getFunctor()
Definition model-base-ekf-flex-estimator-imu.hpp:63
virtual void setWithAbsolutePos(bool)
void setOn(bool &b)
Enable or disable the estimation.
virtual Matrix getKte() const
virtual Matrix getKfe() const
virtual void setKtvRopes(const Matrix3 &m)
bool on_
Definition model-base-ekf-flex-estimator-imu.hpp:257
virtual stateObservation::Vector3 getTorquesLimit() const
Definition model-base-ekf-flex-estimator-imu.hpp:219
virtual void setWithComBias(bool b)
virtual void setKfv(const Matrix3 &m)
virtual void setFlexibilityGuess(const Matrix &x)
virtual void setKteRopes(const Matrix3 &m)
bool withAbsolutePos_
Definition model-base-ekf-flex-estimator-imu.hpp:265
virtual void setKfeRopes(const Matrix3 &m)
virtual void setAbsolutePosVariance(double d)
double dt_
Definition model-base-ekf-flex-estimator-imu.hpp:256
bool getWithUnmodeledForces()
Definition model-base-ekf-flex-estimator-imu.hpp:141
virtual Index getInputSize() const
virtual void setMeasurementNoiseCovariance(const Matrix &R)
Sets the measurements covariance matrice.
virtual Matrix getProcessNoiseCovariance() const
gets the covariance matrices for the process noises
virtual void setForceVariance(const Matrix3 &C)
virtual Vector getMomentaDotFromKinematics()
virtual stateObservation::Vector3 getForcesLimit() const
Definition model-base-ekf-flex-estimator-imu.hpp:214
virtual void setProcessNoiseCovariance(const Matrix &Q)
Sets the process covariance matrice.
virtual Matrix getKfv() const
void setLimitOn(const bool &b)
Definition model-base-ekf-flex-estimator-imu.hpp:224
virtual Matrix getMeasurementNoiseCovariance() const
gets the covariance matrices for the sensor noises
virtual bool getLimitOn() const
Definition model-base-ekf-flex-estimator-imu.hpp:229
bool withUnmodeledForces_
Definition model-base-ekf-flex-estimator-imu.hpp:267
virtual stateObservation::Matrix & computeLocalObservationMatrix()
virtual bool getWithComBias()
Definition model-base-ekf-flex-estimator-imu.hpp:153
virtual void setComBiasGuess(const stateObservation::Vector &x)
void setContactsNumber(unsigned i)
Sets the number of contacts can be changed online.
stateObservation::Vector getStateCovariance() const
Definition model-base-ekf-flex-estimator-imu.hpp:95
void setTorquesLimit(const Vector3 &v)
Definition model-base-ekf-flex-estimator-imu.hpp:204
virtual Index getMeasurementSize() const
unsigned getContactsNumber()
Definition model-base-ekf-flex-estimator-imu.hpp:58
void setContactModel(unsigned nb)
virtual void setWithForcesMeasurements(bool)
sets to whether or not the force mesurements are taken into account
Vector3 limitForces_
Definition model-base-ekf-flex-estimator-imu.hpp:270
bool getWithForcesMeasurements()
virtual void resetStateCovarianceMatrix()
Matrix P_
Definition model-base-ekf-flex-estimator-imu.hpp:247
virtual void setKfvRopes(const Matrix3 &m)
Index inputSize_
Definition model-base-ekf-flex-estimator-imu.hpp:254
double unmodeledForceVariance_
Definition model-base-ekf-flex-estimator-imu.hpp:259
virtual const Vector & getFlexibilityVector()
Gets an estimation of the flexibility in the form of a state vector \hat{x_{k+1}}.
bool limitOn_
Definition model-base-ekf-flex-estimator-imu.hpp:271
virtual void setMeasurement(const Vector &y)
Sets the value of the next sensor measurement y_{k+1}.
virtual Vector getMomentaDotFromForces()
IMUElasticLocalFrameDynamicalSystem functor_
Definition model-base-ekf-flex-estimator-imu.hpp:243
Vector x_
Definition model-base-ekf-flex-estimator-imu.hpp:245
bool getWithAbsolutePos()
Definition model-base-ekf-flex-estimator-imu.hpp:146
virtual double getRobotMass() const
Definition model-base-ekf-flex-estimator-imu.hpp:199
static Matrix6 getDefaultRIMU()
void setWithUnmodeledForces(bool b)
Matrix forceVariance_
Definition model-base-ekf-flex-estimator-imu.hpp:260
bool withComBias_
Definition model-base-ekf-flex-estimator-imu.hpp:266
virtual Vector getForcesAndMoments()
virtual void setKte(const Matrix3 &m)
virtual void setSamplingPeriod(double)
sets the sampling period
virtual stateObservation::Matrix getCMatrix()
Definition model-base-ekf-flex-estimator-imu.hpp:121
virtual void setUnmodeledForceProcessVariance(double d)
virtual void setRobotMass(double m)
bool useFTSensors_
Definition model-base-ekf-flex-estimator-imu.hpp:263
ModelBaseEKFFlexEstimatorIMU(double dt=0.005)
The constructor, it requires the value of the time discretization period.
virtual void setKfe(const Matrix3 &m)
virtual void setUnmodeledForceVariance(double d)
virtual void setForceVariance(double d)
Declare the class of the flexibility estimation using the extended Kalman Filter.
Definition bidim-elastic-inv-pendulum-dyn-sys.hpp:21
Eigen::Matrix4d Matrix4
4x4 Scalar Matrix
Definition definitions.hpp:115
Eigen::Vector3d Vector3
3D vector
Definition definitions.hpp:85
Eigen::Matrix3d Matrix3
3x3 Scalar Matrix
Definition definitions.hpp:109
Eigen::MatrixXd Matrix
Dynamic sized Matrix.
Definition definitions.hpp:100
Eigen::Matrix< double, 6, 6 > Matrix6
6x6 Scalar Matrix
Definition definitions.hpp:121
Eigen::Index Index
Definition definitions.hpp:138
Eigen::VectorXd Vector
Dynamic sized scalar vector.
Definition definitions.hpp:76
Definition model-base-ekf-flex-estimator-imu.hpp:274
stateObservation::Matrix CA
Definition model-base-ekf-flex-estimator-imu.hpp:276
stateObservation::Matrix O
Definition model-base-ekf-flex-estimator-imu.hpp:275