Class RotationIntegrator

Nested Relationships

Nested Types

Class Documentation

class RotationIntegrator

Integrates gyroscope angular velocity readings.

Bias is assumed to be constant, although the user is free of updating it at any moment by accessing params_.

See IMUIntegrationParams for a list of related papers explaining the methods and parameters.

Usage:

  • (1) Call initialize() or set the required parameters directly in params_.

  • (2) Integrate measurements with integrate_measurement()

  • (3) Repeat (2) N times as needed.

  • (4) Take the estimation up to this point with current_integration_state() and reset with reset_integration() if you create a new key-frame.

  • (5) Go to (2).

See also

IMUIntegrator

Note

Initially based in part on GTSAM sources gtsam::PreintegratedRotation.

Main API

RotationIntegrationParams params_
void initialize(const mrpt::containers::yaml &cfg)

Initializes the object and reads all parameters from a YAML node.

Parameters:

cfg – a YAML node with a dictionary of parameters to load from, as expected by RotationIntegrationParams (see its docs).

void reset_integration()

Resets the integrator state to an initial state.

See also

currentIntegrationState

inline const IntegrationState &current_integration_state() const
void integrate_measurement(const mrpt::math::TVector3D &w, double dt)

Accumulates a new gyroscope measurement of the angular velocity (ω) into the current preintegration state, integrating it forward in time for a period dt [s].

See also

current_integration_state(), reset_integration()

Public Functions

RotationIntegrator() = default
~RotationIntegrator() = default
struct IntegrationState

Public Functions

IntegrationState() = default
~IntegrationState() = default

Public Members

double deltaTij_ = 0

Time interval from i to j.

mrpt::math::CMatrixDouble33 deltaRij_ = mrpt::math::CMatrixDouble33::Identity()

Preintegrated relative orientation (in frame i)