state-observation 1.7.0
General implementation of observers.
Loading...
Searching...
No Matches
stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem Class Reference

This class describes the dynamics of a robot's flexibility this dynamics with elastic forces to bring the contacts at their position in the environment. More...

#include <imu-elastic-local-frame-dynamical-system.hpp>

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

Classes

struct  input
struct  state
struct  contactModel
struct  Optimization

Public Types

typedef Eigen::LLT< Matrix3LLTMatrix3

Public Member Functions

 IMUElasticLocalFrameDynamicalSystem (double dt)
 constructor
virtual ~IMUElasticLocalFrameDynamicalSystem ()
 virtual destructor
void test ()
void computeContactWrench (const Matrix3 &orientation, const Vector3 &position, const IndexedVectorArray &contactPosV, const IndexedVectorArray &contactOriV, const Vector &fc, const Vector &tc, const Vector3 &fm, const Vector3 &tm, const Vector3 &addForce, const Vector3 &addMoment)
stateObservation::Vector computeAccelerations (const Vector &x, const Vector &u)
virtual void computeAccelerations (const Vector3 &positionCom, const Vector3 &velocityCom, const Vector3 &accelerationCom, const Vector3 &AngMomentum, const Vector3 &dotAngMomentum, const Matrix3 &Inertia, const Matrix3 &dotInertia, const IndexedVectorArray &contactPos, const IndexedVectorArray &contactOri, const Vector3 &position, const Vector3 &linVelocity, Vector3 &linearAcceleration, const Vector3 &oriVector, const Matrix3 &orientation, const Vector3 &angularVel, Vector3 &angularAcceleration, const Vector &fc, const Vector &tc, const Vector3 &fm, const Vector3 &tm, const Vector3 &addForces, const Vector3 &addMoments)
virtual stateObservation::Vector stateDynamics (const stateObservation::Vector &x, const stateObservation::Vector &u, TimeIndex k)
 Description of the state dynamics.
stateObservation::Matrix stateDynamicsJacobian ()
 compute the jacobien of the state dynamics at the last computed value
stateObservation::Matrix stateDynamicsJacobian (const stateObservation::Vector &x, const stateObservation::Vector &u, TimeIndex k)
 compute the jacobien of the state dynamics at a given state
void setFDstep (const stateObservation::Vector &dx)
 sets the finite differences derivation step vector
virtual stateObservation::Vector measureDynamics (const stateObservation::Vector &x, const stateObservation::Vector &u, TimeIndex k)
 Description of the sensor's dynamics.
stateObservation::Matrix measureDynamicsJacobian ()
 compute the Jacobien of the measurements dynamics at the last computed value
stateObservation::Matrix measureDynamicsJacobian (const stateObservation::Vector &x, const stateObservation::Vector &u, TimeIndex k)
 compute the Jacobien of the measurements dynamics at a given state value
virtual void setProcessNoise (stateObservation::NoiseBase *)
 Sets a noise which disturbs the state dynamics.
virtual void resetProcessNoise ()
 Removes the process noise.
virtual stateObservation::NoiseBasegetProcessNoise () const
 Gets the process noise.
virtual void setMeasurementNoise (stateObservation::NoiseBase *)
 Sets a noise which disturbs the measurements.
virtual void resetMeasurementNoise ()
 Removes the measurement noise.
virtual stateObservation::NoiseBasegetMeasurementNoise () const
 Gets a pointer on the measurement noise.
virtual void setSamplingPeriod (double dt)
 Set the period of the time discretization.
virtual Index getStateSize () const
 Gets the state size.
virtual Index getInputSize () const
 Gets the input size.
virtual void setInputSize (Index i)
 Sets the input size.
virtual Index getMeasurementSize () const
 Gets the contacts position.
virtual void setContactsNumber (unsigned)
 Sets the number of contacts.
virtual void setPe (stateObservation::Vector3 Pe)
unsigned getContactsNumber (void) const
 Gets the nimber of contacts.
virtual void setContactModel (unsigned nb)
virtual void setPrinted (bool b)
virtual void computeElastContactForcesAndMoments (const IndexedVectorArray &contactPosArray, const IndexedVectorArray &contactOriArray, const IndexedVectorArray &contactVelArray, const IndexedVectorArray &contactAngVelArray, const Vector3 &position, const Vector3 &linVelocity, const Vector3 &oriVector, const Matrix3 &orientation, const Vector3 &angVel, Vector &fc, Vector &tc)
virtual void computeElastPendulumForcesAndMoments (const IndexedVectorArray &PrArray, const Vector3 &position, const Vector3 &linVelocity, const Vector3 &oriVector, const Matrix3 &orientation, const Vector3 &angVel, Vector &forces, Vector &moments)
void computeForcesAndMoments (const IndexedVectorArray &position1, const IndexedVectorArray &position2, const IndexedVectorArray &velocity1, const IndexedVectorArray &velocity2, const Vector3 &position, const Vector3 &linVelocity, const Vector3 &oriVector, const Matrix3 &orientation, const Vector3 &angVel, Vector &fc, Vector &tc)
virtual void computeForcesAndMoments (const Vector &x, const Vector &u)
virtual Vector getForcesAndMoments ()
virtual Vector getForcesAndMoments (const Vector &x, const Vector &u)
virtual Vector getMomentaDotFromForces (const Vector &x, const Vector &u)
virtual Vector getMomentaDotFromKinematics (const Vector &x, const Vector &u)
virtual void iterateDynamicsEuler (const Vector3 &positionCom, const Vector3 &velocityCom, const Vector3 &accelerationCom, const Vector3 &AngMomentum, const Vector3 &dotAngMomentum, const Matrix3 &Inertia, const Matrix3 &dotInertia, const IndexedVectorArray &contactPos, const IndexedVectorArray &contactOri, Vector3 &position, Vector3 &linVelocity, Vector &fc1, Vector3 &oriVector, Vector3 &angularVel, Vector &fc2, const Vector3 &fm, const Vector3 &tm, const Vector3 &addForces, const Vector3 &addMoments, double dt)
virtual void iterateDynamicsRK4 (const Vector3 &positionCom, const Vector3 &velocityCom, const Vector3 &accelerationCom, const Vector3 &AngMomentum, const Vector3 &dotAngMomentum, const Matrix3 &Inertia, const Matrix3 &dotInertia, const IndexedVectorArray &contactPos, const IndexedVectorArray &contactOri, Vector3 &position, Vector3 &linVelocity, Vector &fc1, Vector3 &oriVector, Vector3 &angularVel, Vector &fc2, const Vector3 &fm, const Vector3 &tm, const Vector3 &addForces, const Vector3 &addMoments, double dt)
virtual void setWithForceMeasurements (bool b)
virtual bool getWithForceMeasurements () const
virtual void setWithComBias (bool b)
virtual bool getWithComBias () const
virtual void setWithAbsolutePosition (bool b)
virtual bool getWithAbsolutePosition () const
void setWithUnmodeledForces (bool b)
virtual void setKfe (const Matrix3 &m)
virtual void setKfv (const Matrix3 &m)
virtual void setKte (const Matrix3 &m)
virtual void setKtv (const Matrix3 &m)
virtual void setKfeRopes (const Matrix3 &m)
virtual void setKfvRopes (const Matrix3 &m)
virtual void setKteRopes (const Matrix3 &m)
virtual void setKtvRopes (const Matrix3 &m)
virtual Matrix getKfe () const
virtual Matrix getKfv () const
virtual Matrix getKte () const
virtual Matrix getKtv () const
virtual void setRobotMass (double d)
virtual double getRobotMass () const
Public Member Functions inherited from stateObservation::DynamicalSystemFunctorBase
virtual void reset ()
virtual bool checkStateVector (const Vector &)
 Gives a boolean answer on whether or not the vector is correctly sized to be a state vector.
virtual bool checkInputvector (const Vector &)
 Gives a boolean answer on whether or not the vector is correctly sized to be an input vector.

Protected Member Functions

void updateMeasurementSize_ ()
Matrix3computeRotation_ (const Vector3 &x, int i)
Protected Member Functions inherited from stateObservation::DynamicalSystemFunctorBase
void assertStateVector_ (const Vector &v)
void assertInputVector_ (const Vector &v)

Protected Attributes

bool printed_
stateObservation::AccelerometerGyrometer sensor_
stateObservation::NoiseBaseprocessNoise_
double dt_
double robotMass_
double robotMassInv_
Index inputSize_
unsigned nbContacts_
unsigned contactModel_
Vector fc_
Vector tc_
Vector dx_
Vector xk1_
Vector xk_
Vector uk_
Vector xk_fory_
Vector yk_
Vector uk_fory_
Index measurementSize_
std::vector< Vector3, Eigen::aligned_allocator< Vector3 > > contactPositions_
Matrix3 Kfe_
Matrix3 Kte_
Matrix3 Kfv_
Matrix3 Ktv_
Matrix3 KfeRopes_
Matrix3 KteRopes_
Matrix3 KfvRopes_
Matrix3 KtvRopes_
TimeIndex kcurrent_
bool withForceMeasurements_
bool withComBias_
bool withAbsolutePos_
bool withUnmodeledForces_
stateObservation::Vector3 pe
double marginalStabilityFactor_
unsigned index_
struct stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::Optimization op_

Static Protected Attributes

static constexpr Index stateSize_ = state::size
static constexpr Index measurementSizeBase_ = 6

Detailed Description

This class describes the dynamics of a robot's flexibility this dynamics with elastic forces to bring the contacts at their position in the environment.

Definition at line 34 of file imu-elastic-local-frame-dynamical-system.hpp.

Member Typedef Documentation

◆ LLTMatrix3

typedef Eigen::LLT<Matrix3> stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::LLTMatrix3

Definition at line 80 of file imu-elastic-local-frame-dynamical-system.hpp.

Member Function Documentation

◆ stateDynamics()

virtual stateObservation::Vector stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::stateDynamics ( const stateObservation::Vector & x,
const stateObservation::Vector & u,
TimeIndex k )
virtual

Description of the state dynamics.

Implements stateObservation::DynamicalSystemFunctorBase.

◆ measureDynamics()

virtual stateObservation::Vector stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::measureDynamics ( const stateObservation::Vector & x,
const stateObservation::Vector & u,
TimeIndex k )
virtual

Description of the sensor's dynamics.

Implements stateObservation::DynamicalSystemFunctorBase.

◆ getStateSize()

virtual Index stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::getStateSize ( ) const
virtual

Gets the state size.

Implements stateObservation::DynamicalSystemFunctorBase.

◆ getInputSize()

virtual Index stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::getInputSize ( ) const
virtual

Gets the input size.

Implements stateObservation::DynamicalSystemFunctorBase.

◆ getMeasurementSize()

virtual Index stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::getMeasurementSize ( ) const
virtual

Gets the contacts position.

Gets the contact number virtual Gets the measurement size

Implements stateObservation::DynamicalSystemFunctorBase.

◆ setPe()

virtual void stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::setPe ( stateObservation::Vector3 Pe)
inlinevirtual

◆ getContactsNumber()

unsigned stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::getContactsNumber ( void ) const
inline

Gets the nimber of contacts.

Definition at line 204 of file imu-elastic-local-frame-dynamical-system.hpp.

◆ setPrinted()

virtual void stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::setPrinted ( bool b)
inlinevirtual

Member Data Documentation

◆ printed_

bool stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::printed_
protected

◆ sensor_

stateObservation::AccelerometerGyrometer stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::sensor_
protected

◆ processNoise_

stateObservation::NoiseBase* stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::processNoise_
protected

◆ dt_

double stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::dt_
protected

◆ robotMass_

double stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::robotMass_
protected

◆ robotMassInv_

double stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::robotMassInv_
protected

◆ stateSize_

Index stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::stateSize_ = state::size
staticconstexprprotected

◆ inputSize_

Index stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::inputSize_
protected

◆ measurementSizeBase_

Index stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::measurementSizeBase_ = 6
staticconstexprprotected

◆ nbContacts_

unsigned stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::nbContacts_
protected

◆ contactModel_

unsigned stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::contactModel_
protected

◆ fc_

Vector stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::fc_
protected

◆ tc_

Vector stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::tc_
protected

◆ dx_

Vector stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::dx_
protected

◆ xk1_

Vector stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::xk1_
protected

◆ xk_

Vector stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::xk_
protected

◆ uk_

Vector stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::uk_
protected

◆ xk_fory_

Vector stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::xk_fory_
protected

◆ yk_

Vector stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::yk_
protected

◆ uk_fory_

Vector stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::uk_fory_
protected

◆ measurementSize_

Index stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::measurementSize_
protected

◆ contactPositions_

std::vector<Vector3, Eigen::aligned_allocator<Vector3> > stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::contactPositions_
protected

◆ Kfe_

Matrix3 stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::Kfe_
protected

◆ Kte_

Matrix3 stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::Kte_
protected

◆ Kfv_

Matrix3 stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::Kfv_
protected

◆ Ktv_

Matrix3 stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::Ktv_
protected

◆ KfeRopes_

Matrix3 stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::KfeRopes_
protected

◆ KteRopes_

Matrix3 stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::KteRopes_
protected

◆ KfvRopes_

Matrix3 stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::KfvRopes_
protected

◆ KtvRopes_

Matrix3 stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::KtvRopes_
protected

◆ kcurrent_

TimeIndex stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::kcurrent_
protected

◆ withForceMeasurements_

bool stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::withForceMeasurements_
protected

◆ withComBias_

bool stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::withComBias_
protected

◆ withAbsolutePos_

bool stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::withAbsolutePos_
protected

◆ withUnmodeledForces_

bool stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::withUnmodeledForces_
protected

◆ pe

stateObservation::Vector3 stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::pe
protected

◆ marginalStabilityFactor_

double stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::marginalStabilityFactor_
protected

◆ index_

unsigned stateObservation::flexibilityEstimation::IMUElasticLocalFrameDynamicalSystem::index_
protected

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