class mola::RotationIntegrationParams

Overview

Parameters needed when integrating IMU rotation only.

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 <RotationIntegrationParams.h>

class RotationIntegrationParams
{
public:
    // fields

    mrpt::math::TVector3D gyroBias = {.0, .0, .0};
    mrpt::math::CMatrixDouble33 gyroCov =         mrpt::math::CMatrixDouble33::Identity();
    std::optional<mrpt::poses::CPose3D> sensorPose;

    // methods

    void load_from(const mrpt::containers::yaml& cfg);
};

Fields

mrpt::math::TVector3D gyroBias = {.0, .0, .0}

Gyroscope (initial or constant) bias, in the local IMU frame of reference (units: rad/s).

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

Gyroscope covariance (units of sigma are rad/s/√Hz )

std::optional<mrpt::poses::CPose3D> sensorPose

If provided, defines an IMU placed at a pose different than the vehicle origin of coordinates (Default: IMU used as reference of the vehicle frame, i.e. sensorPose = SE(3) identity I_{4x4}).

Methods

void load_from(const mrpt::containers::yaml& cfg)

Loads all parameters from a YAML map node.