state-observation 1.7.0
General implementation of observers.
Loading...
Searching...
No Matches
imu-magnetometer-dynamical-system.hpp
Go to the documentation of this file.
1
13
14#ifndef IMU_DYNAMICAL_SYSTEM_HPP
15#define IMU_DYNAMICAL_SYSTEM_HPP
16
17#include <state-observation/api.h>
18#include <state-observation/dynamical-system/dynamical-system-functor-base.hpp>
22
23namespace stateObservation
24{
25
36class STATE_OBSERVATION_DLLAPI IMUMagnetometerDynamicalSystem : public DynamicalSystemFunctorBase
37{
38public:
41
44
46 virtual Vector stateDynamics(const Vector & x, const Vector & u, TimeIndex k);
47
49 virtual Vector measureDynamics(const Vector & x, const Vector & u, TimeIndex k);
50
52 virtual void setProcessNoise(NoiseBase *);
54 virtual void resetProcessNoise();
56 virtual NoiseBase * getProcessNoise() const;
57
61 virtual void resetMeasurementNoise();
63 virtual NoiseBase * getMeasurementNoise() const;
64
66 virtual void setSamplingPeriod(double dt);
67
69 virtual Index getStateSize() const;
71 virtual Index getInputSize() const;
73 virtual Index getMeasurementSize() const;
74
75protected:
77
79
80 NoiseBase * processNoise_;
81
82 double dt_;
83
84 Vector3Unaligned orientationVector_;
85 QuaternionUnaligned quaternion_;
86
87 Quaternion computeQuaternion_(const Vector3 & x);
88
89 static const Index stateSize_ = 18;
90 static const Index inputSize_ = 0;
91 static const Index measurementSize_ = 9;
92
93private:
94public:
95 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
96};
97} // namespace stateObservation
98#endif // IMU-DYNAMICAL-SYSTEM_HPP
Implements the accelerometer-gyrometer-magnetometer inertial measurement unit.
Implements the accelerometer-gyrometer-magnetometer measurements.
virtual Index getMeasurementSize() const
Gets the measurement size.
virtual ~IMUMagnetometerDynamicalSystem()
The virtual destructor.
virtual Index getInputSize() const
Gets the input size.
virtual void setSamplingPeriod(double dt)
Set the period of the time discretization.
virtual Index getStateSize() const
Gets the state size.
virtual Vector measureDynamics(const Vector &x, const Vector &u, TimeIndex k)
Description of the sensor's dynamics.
virtual Vector stateDynamics(const Vector &x, const Vector &u, TimeIndex k)
Description of the state dynamics.
virtual void resetMeasurementNoise()
Removes the measurement noise.
virtual void setMeasurementNoise(NoiseBase *)
Sets a noise which disturbs the measurements.
virtual NoiseBase * getMeasurementNoise() const
Gets a pointer on the measurement noise.
virtual void setProcessNoise(NoiseBase *)
Sets a noise which disturbs the state dynamics.
virtual void resetProcessNoise()
Removes the process noise.
virtual NoiseBase * getProcessNoise() const
Gets the process noise.
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.