class mola::IMUIntegrationParams

Overview

Parameters needed by IMU preintegration classes, when integrating both, acceleration and rotation. More…

#include <IMUIntegrationParams.h>

class IMUIntegrationParams
{
public:
    // fields

    RotationIntegrationParams rotationParams;
    mrpt::math::TVector3D gravityVector = {0, 0, -9.81};
    mrpt::math::CMatrixDouble33 accCov =         mrpt::math::CMatrixDouble33::Identity();
    mrpt::math::CMatrixDouble33 integrationCov =         mrpt::math::CMatrixDouble33::Identity();

    // methods

    void loadFrom(const Yaml& cfg);
};

Detailed Documentation

Parameters needed by IMU preintegration classes, when integrating both, acceleration and rotation.

Refer to:

  • Crassidis, J. L. (2006). Sigma-point Kalman filtering for integrated GPS and inertial navigation. IEEE Transactions on Aerospace and Electronic Systems, 42(2), 750-756.
  • Forster, C., Carlone, L., Dellaert, F., & Scaramuzza, D. (2015). IMU preintegration on manifold for efficient visual-inertial maximum-a-posteriori estimation. Georgia Institute of Technology.
  • Nikolic, J. (2016). Characterisation, calibration, and design of visual-inertial sensor systems for robot navigation (Doctoral dissertation, ETH Zurich).

Fields

RotationIntegrationParams rotationParams

Parameters for gyroscope integration:

mrpt::math::TVector3D gravityVector = {0, 0, -9.81}

Gravity vector (units are m/s²), in the global frame of coordinates.

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

Accelerometer covariance (units of sigma are m/s²/√Hz )

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

Integration covariance: jerk, that is, how much acceleration can change over time:

Methods

void loadFrom(const Yaml& cfg)

Loads all parameters from a YAML map node.