struct mola::LidarOdometry::Parameters::LearnedCovariance

Overview

Optional learned registration covariance: a model trained offline (mp2p_icp::LearnedCovarianceEstimator) predicts the covariance of each accepted registration, on a worker thread. The state estimator gets the pose at once and the covariance when it is ready, through NavStateFilter::fuse_pose_deferred(); the solver’s own covariance is what it gets if no learned one can be computed.

#include <LidarOdometry.h>

struct LearnedCovariance
{
    // fields

    std::string model_file;
    std::string scan_layer = "deskewed";
    uint32_t window_scans = 25;
    std::map<std::string, std::string> context = {         {"framework_name", "mp2p_gicp"}, {"mode", "s2m"}};

    // methods

    bool enabled() const;
    void initialize(const Yaml& c);
};

Fields

std::string model_file

Model file; empty disables the feature.

std::string scan_layer = "deskewed"

Observation layer with the full-resolution, de-skewed scan.

uint32_t window_scans = 25

Past scans forming the reference cloud of the feature evaluator. Must match the model’s training.

std::map<std::string, std::string> context = {         {"framework_name", "mp2p_gicp"}, {"mode", "s2m"}}

Context labels the model was trained with (framework_name, sensor, mode); unknown ones contribute nothing.