class mola::IMUIntegrationParams

Overview

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).

#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 mrpt::containers::yaml& cfg);
};

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 mrpt::containers::yaml& cfg)

Loads all parameters from a YAML map node.