state-observation 1.7.0
General implementation of observers.
Loading...
Searching...
No Matches
imu-fixed-contact-dynamical-system.hpp
Go to the documentation of this file.
1
11
12#ifndef FIXED_CONTACTS_IMU_DYNAMICS_FUNCTOR_HPP
13#define FIXED_CONTACTS_IMU_DYNAMICS_FUNCTOR_HPP
14
15#include <vector>
16
17#include <state-observation/api.h>
18#include <state-observation/dynamical-system/dynamical-system-functor-base.hpp>
22
23namespace stateObservation
24{
25namespace flexibilityEstimation
26{
36{
37public:
39 explicit IMUFixedContactDynamicalSystem(double dt);
40
43
47 TimeIndex k);
48
52 TimeIndex k);
53
56
58 virtual void resetProcessNoise();
59
62
65
67 virtual void resetMeasurementNoise();
68
71
73 virtual void setSamplingPeriod(double dt);
74
76 virtual Index getStateSize() const;
78 virtual Index getInputSize() const;
80 virtual Index getMeasurementSize() const;
81
83 virtual void setContactsNumber(unsigned);
84
86 virtual void setContactPosition(unsigned i, const Vector3 & position);
87
88protected:
90
92
93 stateObservation::NoiseBase * processNoise_;
94
95 double dt_;
96
97 Vector3Unaligned orientationVector_;
98 QuaternionUnaligned quaternion_;
99
100 Quaternion computeQuaternion_(const Vector3 & x);
101
102 static const Index stateSize_ = 18;
103 static const Index inputSize_ = 15;
104 static const Index measurementSizeBase_ = 6;
105
106 Index measurementSize_;
107
108 std::vector<Vector3, Eigen::aligned_allocator<Vector3>> contactPositions_;
109
110private:
111public:
112};
113} // namespace flexibilityEstimation
114} // namespace stateObservation
115
116#endif // FIXED-CONTACTS-IMU-DYNAMICS-FUNCTOR_HPP
Implements the accelerometer-gyrometer inertial measuremen.
Implements the accelerometer-gyrometer measurements.
This is the base class of any functor that describes the dynamics of the state and the measurement....
virtual void setContactsNumber(unsigned)
Sets the number of contacts.
virtual Index getMeasurementSize() const
Gets the measurement size.
virtual void setSamplingPeriod(double dt)
Set the period of the time discretization.
virtual stateObservation::Vector measureDynamics(const stateObservation::Vector &x, const stateObservation::Vector &u, TimeIndex k)
Description of the sensor's dynamics.
virtual void setMeasurementNoise(stateObservation::NoiseBase *)
Sets a noise which disturbs the measurements.
virtual stateObservation::NoiseBase * getMeasurementNoise() const
Gets a pointer on the measurement noise.
virtual void setProcessNoise(stateObservation::NoiseBase *)
Sets a noise which disturbs the state dynamics.
virtual void resetMeasurementNoise()
Removes the measurement noise.
virtual stateObservation::Vector stateDynamics(const stateObservation::Vector &x, const stateObservation::Vector &u, TimeIndex k)
Description of the state dynamics.
virtual stateObservation::NoiseBase * getProcessNoise() const
Gets the process noise.
virtual void setContactPosition(unsigned i, const Vector3 &position)
Sets the position of the contact number i.
Filtering of divergent component of motion (DCM) and estimation of a bias betweeen the DCM and the co...
Eigen::Quaterniond Quaternion
Quaternion.
Eigen::Vector3d Vector3
3D vector
Eigen::Matrix< double, 3, 1, Eigen::DontAlign > Vector3Unaligned
3D vector unaligned
Eigen::VectorXd Vector
Dynamic sized scalar vector.
Eigen::Quaternion< double, Eigen::DontAlign > QuaternionUnaligned
Quaternion Unaligned.
Implements integrators for the kinematics, in terms or rotations and translations.