13#ifndef IMU_MULTIPLICATIVE_DYNAMICAL_SYSTEM_HPP
14#define IMU_MULTIPLICATIVE_DYNAMICAL_SYSTEM_HPP
16#include <state-observation/api.h>
17#include <state-observation/dynamical-system/dynamical-system-functor-base.hpp>
21#include <state-observation/tools/state-vector-arithmetics.hpp>
80 void stateDifference(
const Vector & stateVector1,
const Vector & stateVector2,
Vector & difference);
83 static const Index stateSize_ = 19;
84 static const Index stateTangentSize_ = 18;
85 static const Index inputSize_ = 6;
86 static const Index measurementSize_ = 6;
102 opt(
int stateSize,
int measurementSize) : AJacobian(stateSize, stateSize), CJacobian(measurementSize, stateSize)
105 AJacobian.block<3, 3>(indexesTangent::pos, indexesTangent::pos).setIdentity();
106 AJacobian.block<6, 6>(indexesTangent::linVel, indexesTangent::linVel).setIdentity();
120 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Implements the accelerometer-gyrometer inertial measuremen.
Implements the accelerometer-gyrometer measurements.
virtual Vector stateDynamics(const Vector &x, const Vector &u, TimeIndex k)
Description of the state dynamics.
virtual ~IMUMltpctiveDynamicalSystem()
The virtual destructor.
virtual void resetMeasurementNoise()
Removes the measurement noise.
virtual Index getStateSize() const
Gets the state size.
virtual void setProcessNoise(NoiseBase *)
Sets a noise which disturbs the state dynamics.
IMUMltpctiveDynamicalSystem()
The constructor.
virtual Index getMeasurementSize() const
Gets the measurement size.
virtual void resetProcessNoise()
Removes the process noise.
virtual Vector measureDynamics(const Vector &x, const Vector &u, TimeIndex k)
Description of the sensor's dynamics.
virtual Index getInputSize() const
Gets the input size.
virtual NoiseBase * getMeasurementNoise() const
Gets a pointer on the measurement noise.
virtual NoiseBase * getProcessNoise() const
Gets the process noise.
virtual void setMeasurementNoise(NoiseBase *)
Sets a noise which disturbs the measurements.
virtual void setSamplingPeriod(double dt)
Set the period of the time discretization.
This class is used to customize the way the difference between measurements, the state update functio...
Filtering of divergent component of motion (DCM) and estimation of a bias betweeen the DCM and the co...
Eigen::Vector3d Vector3
3D vector
Eigen::Matrix3d Matrix3
3x3 Scalar Matrix
Eigen::MatrixXd Matrix
Dynamic sized Matrix.
Eigen::VectorXd Vector
Dynamic sized scalar vector.
Implements integrators for the kinematics, in terms or rotations and translations.
Matrix3 jRR
containers for Jacobians