state-observation 1.7.0
General implementation of observers.
Loading...
Searching...
No Matches
stateObservation::IMUDynamicalSystem Class Reference

The class is an implementation of the dynamical system defined by an inertial measurement unit (IMU) fixed on a rigid body. The state is the position velocity and acceleration and the orientaion and rotation velocity and acceleration. The sensors are the accelerometer and the gyrometer. More...

#include <imu-dynamical-system.hpp>

Inheritance diagram for stateObservation::IMUDynamicalSystem:
[legend]
Collaboration diagram for stateObservation::IMUDynamicalSystem:
[legend]

Classes

struct  indexes

Public Member Functions

 IMUDynamicalSystem (bool withGyroBias=false)
 The constructor.
virtual ~IMUDynamicalSystem ()
 The virtual destructor.
virtual Vector stateDynamics (const Vector &x, const Vector &u, TimeIndex k)
 Description of the state dynamics.
virtual Vector measureDynamics (const Vector &x, const Vector &u, TimeIndex k)
 Description of the sensor's dynamics.
virtual void setProcessNoise (NoiseBase *)
 Sets a noise which disturbs the state dynamics.
virtual void resetProcessNoise ()
 Removes the process noise.
virtual NoiseBasegetProcessNoise () const
 Gets the process noise.
virtual void setMeasurementNoise (NoiseBase *)
 Sets a noise which disturbs the measurements.
virtual void resetMeasurementNoise ()
 Removes the measurement noise.
virtual NoiseBasegetMeasurementNoise () const
 Gets a pointer on the measurement noise.
virtual void setSamplingPeriod (double dt)
 Set the period of the time discretization.
virtual Index getStateSize () const
 Gets the state size.
virtual Index getInputSize () const
 Gets the input size.
virtual Index getMeasurementSize () const
 Gets the measurement size.
void setWithGyroBias (bool)
 Set whether we use Gyro Bias.
void updatestatesize ()
Public Member Functions inherited from stateObservation::DynamicalSystemFunctorBase
virtual void reset ()
virtual bool checkStateVector (const Vector &)
 Gives a boolean answer on whether or not the vector is correctly sized to be a state vector.
virtual bool checkInputvector (const Vector &)
 Gives a boolean answer on whether or not the vector is correctly sized to be an input vector.

Protected Member Functions

Quaternion computeQuaternion_ (const Vector3 &x)
Protected Member Functions inherited from stateObservation::DynamicalSystemFunctorBase
void assertStateVector_ (const Vector &v)
void assertInputVector_ (const Vector &v)

Protected Attributes

AccelerometerGyrometer sensor_
NoiseBaseprocessNoise_
double dt_
Vector3Unaligned orientationVector_
QuaternionUnaligned quaternion_
Index statesize_
 the state size may be bigger if the bias is considered
bool withGyroBias_

Static Protected Attributes

static const Index stateSizeBase_ = 18
static const Index inputSize_ = 6
static const Index measurementSize_ = 6
static constexpr double one_ = 0.9999
 the factor that approximate the "one" to avoid drifting of unobservable values

Detailed Description

The class is an implementation of the dynamical system defined by an inertial measurement unit (IMU) fixed on a rigid body. The state is the position velocity and acceleration and the orientaion and rotation velocity and acceleration. The sensors are the accelerometer and the gyrometer.

Definition at line 34 of file imu-dynamical-system.hpp.

Member Function Documentation

◆ stateDynamics()

virtual Vector stateObservation::IMUDynamicalSystem::stateDynamics ( const Vector & x,
const Vector & u,
TimeIndex k )
virtual

Description of the state dynamics.

Implements stateObservation::DynamicalSystemFunctorBase.

◆ measureDynamics()

virtual Vector stateObservation::IMUDynamicalSystem::measureDynamics ( const Vector & x,
const Vector & u,
TimeIndex k )
virtual

Description of the sensor's dynamics.

Implements stateObservation::DynamicalSystemFunctorBase.

◆ getStateSize()

virtual Index stateObservation::IMUDynamicalSystem::getStateSize ( ) const
virtual

Gets the state size.

Implements stateObservation::DynamicalSystemFunctorBase.

◆ getInputSize()

virtual Index stateObservation::IMUDynamicalSystem::getInputSize ( ) const
virtual

Gets the input size.

Implements stateObservation::DynamicalSystemFunctorBase.

◆ getMeasurementSize()

virtual Index stateObservation::IMUDynamicalSystem::getMeasurementSize ( ) const
virtual

Gets the measurement size.

Implements stateObservation::DynamicalSystemFunctorBase.

◆ updatestatesize()

void stateObservation::IMUDynamicalSystem::updatestatesize ( )
inline

Definition at line 76 of file imu-dynamical-system.hpp.

Member Data Documentation

◆ sensor_

AccelerometerGyrometer stateObservation::IMUDynamicalSystem::sensor_
protected

Definition at line 94 of file imu-dynamical-system.hpp.

◆ processNoise_

NoiseBase* stateObservation::IMUDynamicalSystem::processNoise_
protected

Definition at line 96 of file imu-dynamical-system.hpp.

◆ dt_

double stateObservation::IMUDynamicalSystem::dt_
protected

Definition at line 98 of file imu-dynamical-system.hpp.

◆ orientationVector_

Vector3Unaligned stateObservation::IMUDynamicalSystem::orientationVector_
protected

Definition at line 100 of file imu-dynamical-system.hpp.

◆ quaternion_

QuaternionUnaligned stateObservation::IMUDynamicalSystem::quaternion_
protected

Definition at line 101 of file imu-dynamical-system.hpp.

◆ stateSizeBase_

const Index stateObservation::IMUDynamicalSystem::stateSizeBase_ = 18
staticprotected

Definition at line 105 of file imu-dynamical-system.hpp.

◆ statesize_

Index stateObservation::IMUDynamicalSystem::statesize_
protected

the state size may be bigger if the bias is considered

Definition at line 106 of file imu-dynamical-system.hpp.

◆ inputSize_

const Index stateObservation::IMUDynamicalSystem::inputSize_ = 6
staticprotected

Definition at line 107 of file imu-dynamical-system.hpp.

◆ measurementSize_

const Index stateObservation::IMUDynamicalSystem::measurementSize_ = 6
staticprotected

Definition at line 108 of file imu-dynamical-system.hpp.

◆ withGyroBias_

bool stateObservation::IMUDynamicalSystem::withGyroBias_
protected

Definition at line 110 of file imu-dynamical-system.hpp.

◆ one_

double stateObservation::IMUDynamicalSystem::one_ = 0.9999
staticconstexprprotected

the factor that approximate the "one" to avoid drifting of unobservable values

Definition at line 113 of file imu-dynamical-system.hpp.


The documentation for this class was generated from the following file: