state-observation 1.7.0
Loading...
Searching...
No Matches
imu-magnetometer-dynamical-system.hpp
Go to the documentation of this file.
1
14#ifndef IMU_DYNAMICAL_SYSTEM_HPP
15#define IMU_DYNAMICAL_SYSTEM_HPP
16
17#include <state-observation/api.h>
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
81
82 double dt_;
83
86
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.
Definition accelerometer-gyrometer-magnetometer.hpp:39
This is the base class of any functor that describes the dynamics of the state and the measurement....
Definition dynamical-system-functor-base.hpp:33
The class is an implementation of the dynamical system defined by an inertial measurement unit (IMU) ...
Definition imu-magnetometer-dynamical-system.hpp:37
virtual Index getMeasurementSize() const
Gets the measurement size.
virtual ~IMUMagnetometerDynamicalSystem()
The virtual destructor.
kine::indexes< kine::rotationVector > indexes
Definition imu-magnetometer-dynamical-system.hpp:76
virtual Index getInputSize() const
Gets the input size.
virtual void setSamplingPeriod(double dt)
Set the period of the time discretization.
NoiseBase * processNoise_
Definition imu-magnetometer-dynamical-system.hpp:80
virtual Index getStateSize() const
Gets the state size.
QuaternionUnaligned quaternion_
Definition imu-magnetometer-dynamical-system.hpp:85
Vector3Unaligned orientationVector_
Definition imu-magnetometer-dynamical-system.hpp:84
Quaternion computeQuaternion_(const Vector3 &x)
virtual Vector measureDynamics(const Vector &x, const Vector &u, TimeIndex k)
Description of the sensor's dynamics.
AccelerometerGyrometerMagnetometer sensor_
Definition imu-magnetometer-dynamical-system.hpp:78
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.
double dt_
Definition imu-magnetometer-dynamical-system.hpp:82
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.
Definition noise-base.hpp:29
Definition bidim-elastic-inv-pendulum-dyn-sys.hpp:21
Eigen::Quaterniond Quaternion
Quaternion.
Definition definitions.hpp:127
long int TimeIndex
Definition definitions.hpp:139
Eigen::Vector3d Vector3
3D vector
Definition definitions.hpp:85
Eigen::Matrix< double, 3, 1, Eigen::DontAlign > Vector3Unaligned
3D vector unaligned
Definition definitions.hpp:88
Eigen::Index Index
Definition definitions.hpp:138
Eigen::VectorXd Vector
Dynamic sized scalar vector.
Definition definitions.hpp:76
Eigen::Quaternion< double, Eigen::DontAlign > QuaternionUnaligned
Quaternion Unaligned.
Definition definitions.hpp:130
Implements integrators for the kinematics, in terms or rotations and translations.
Definition rigid-body-kinematics.hpp:320