struct mp2p_icp::CovarianceParameters

Overview

#include <covariance.h>

struct CovarianceParameters
{
    // enums

    enum Method;

    // fields

    Method method = Method::InverseHessian;
    double defaultPointSigma = 0.02;
    double floor_sigma_xyz = 0.0;
    double floor_sigma_angles = 0.0;
    double finDif_xyz = 1e-7;
    double finDif_angles = 1e-7;

    // methods

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

Fields

double defaultPointSigma = 0.02

For pt2pt pairings without per-pair Sigma in Censi3D path: isotropic point-noise std-dev [m].

double floor_sigma_xyz = 0.0

[m]

Per-axis floor added to the resulting covariance diagonal. Stored as std-dev for readability; squared internally. Useful to absorb unmodelled errors and keep downstream filters numerically stable.

double floor_sigma_angles = 0.0

[rad]

Methods

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

Loads the parameters from a YAML map node. All entries are optional; unspecified fields keep their default values. Recognized keys:

method: “InverseHessian” | “Censi3D” defaultPointSigma: [m] floor_sigma_xyz: [m] floor_sigma_angles: [rad] (use floor_sigma_angles_deg for degrees) floor_sigma_angles_deg: [deg] (alternative to the radian form) finDif_xyz, finDif_angles