stable-imu-fixed-contact-dynamical-system.hpp
Go to the documentation of this file.
1 
12 #ifndef StableFIXED_CONTACTS_IMU_DYNAMICS_FUNCTOR_HPP
13 #define StableFIXED_CONTACTS_IMU_DYNAMICS_FUNCTOR_HPP
14 
15 #include <vector>
16 
17 #include <state-observation/api.h>
22 
23 namespace stateObservation
24 {
25 namespace flexibilityEstimation
26 {
35 class STATE_OBSERVATION_DLLAPI StableIMUFixedContactDynamicalSystem
37 {
38 public:
40  explicit StableIMUFixedContactDynamicalSystem(double dt);
41 
44 
45  // stabilization of the acceleration linear
46  virtual Vector3 stabilizeAccelerationLinear(Vector3, Vector3);
47 
48  // stabilization of the acceleration angular
49  virtual Vector3 stabilizeAccelerationAngular(Vector3, Vector3);
50 
52  virtual stateObservation::Vector stateDynamics(const stateObservation::Vector & x,
53  const stateObservation::Vector & u,
54  TimeIndex k);
55 
57  virtual stateObservation::Vector measureDynamics(const stateObservation::Vector & x,
58  const stateObservation::Vector & u,
59  TimeIndex k);
60 
62  virtual void setProcessNoise(stateObservation::NoiseBase *);
63 
65  virtual void resetProcessNoise();
66 
68  virtual stateObservation::NoiseBase * getProcessNoise() const;
69 
71  virtual void setMeasurementNoise(stateObservation::NoiseBase *);
72 
74  virtual void resetMeasurementNoise();
75 
77  virtual stateObservation::NoiseBase * getMeasurementNoise() const;
78 
80  virtual void setSamplingPeriod(double dt);
81 
83  virtual Index getStateSize() const;
85  virtual Index getInputSize() const;
87  virtual Index getMeasurementSize() const;
88 
90  virtual void setContactsNumber(unsigned);
91 
93  virtual void setContactPosition(unsigned i, const Vector3 & position);
94 
95 protected:
97 
99 
101 
102  double dt_;
103 
106 
107  Quaternion computeQuaternion_(const Vector3 & x);
108 
109  static const Index stateSize_ = 18;
110  static const Index inputSize_ = 15;
111  static const Index measurementSizeBase_ = 6;
112 
114 
115  std::vector<Vector3, Eigen::aligned_allocator<Vector3>> contactPositions_;
116 
117 private:
118 public:
119 };
120 } // namespace flexibilityEstimation
121 } // namespace stateObservation
122 
123 #endif // FIXED-CONTACTS-IMU-DYNAMICS-FUNCTOR_HPP
stateObservation::Vector
Eigen::VectorXd Vector
Dynamic sized scalar vector.
Definition: definitions.hpp:76
accelerometer-gyrometer.hpp
Implements the accelerometer-gyrometer inertial measuremen.
stateObservation::flexibilityEstimation::StableIMUFixedContactDynamicalSystem::sensor_
stateObservation::AccelerometerGyrometer sensor_
Definition: stable-imu-fixed-contact-dynamical-system.hpp:98
stateObservation::flexibilityEstimation::StableIMUFixedContactDynamicalSystem::measurementSize_
Index measurementSize_
Definition: stable-imu-fixed-contact-dynamical-system.hpp:113
stateObservation::flexibilityEstimation::StableIMUFixedContactDynamicalSystem::contactPositions_
std::vector< Vector3, Eigen::aligned_allocator< Vector3 > > contactPositions_
Definition: stable-imu-fixed-contact-dynamical-system.hpp:115
stateObservation::DynamicalSystemFunctorBase
This is the base class of any functor that describes the dynamics of the state and the measurement....
Definition: dynamical-system-functor-base.hpp:32
noise-base.hpp
stateObservation::kine::indexes< kine::rotationVector >
stateObservation::flexibilityEstimation::StableIMUFixedContactDynamicalSystem::orientationVector_
Vector3Unaligned orientationVector_
Definition: stable-imu-fixed-contact-dynamical-system.hpp:104
dynamical-system-functor-base.hpp
stateObservation::flexibilityEstimation::StableIMUFixedContactDynamicalSystem::processNoise_
stateObservation::NoiseBase * processNoise_
Definition: stable-imu-fixed-contact-dynamical-system.hpp:100
stateObservation::flexibilityEstimation::StableIMUFixedContactDynamicalSystem::indexes
kine::indexes< kine::rotationVector > indexes
Definition: stable-imu-fixed-contact-dynamical-system.hpp:96
stateObservation::NoiseBase
Definition: noise-base.hpp:28
rigid-body-kinematics.hpp
Implements integrators for the kinematics, in terms or rotations and translations.
stateObservation::TimeIndex
long int TimeIndex
Definition: definitions.hpp:139
stateObservation::flexibilityEstimation::StableIMUFixedContactDynamicalSystem::quaternion_
QuaternionUnaligned quaternion_
Definition: stable-imu-fixed-contact-dynamical-system.hpp:105
stateObservation::Index
Eigen::Index Index
Definition: definitions.hpp:138
stateObservation::QuaternionUnaligned
Eigen::Quaternion< double, Eigen::DontAlign > QuaternionUnaligned
Quaternion Unaligned.
Definition: definitions.hpp:130
stateObservation::Vector3Unaligned
Eigen::Matrix< double, 3, 1, Eigen::DontAlign > Vector3Unaligned
3D vector unaligned
Definition: definitions.hpp:88
stateObservation::flexibilityEstimation::StableIMUFixedContactDynamicalSystem::dt_
double dt_
Definition: stable-imu-fixed-contact-dynamical-system.hpp:102
stateObservation::Vector3
Eigen::Vector3d Vector3
3D vector
Definition: definitions.hpp:85
stateObservation::Quaternion
Eigen::Quaterniond Quaternion
Quaternion.
Definition: definitions.hpp:127
stateObservation
Definition: bidim-elastic-inv-pendulum-dyn-sys.hpp:20
stateObservation::flexibilityEstimation::StableIMUFixedContactDynamicalSystem
This class describes the dynamics of a robot's flexibility this dynamics is the simplest possible sys...
Definition: stable-imu-fixed-contact-dynamical-system.hpp:35
stateObservation::AccelerometerGyrometer
Implements the accelerometer-gyrometer measurements.
Definition: accelerometer-gyrometer.hpp:33