class mp2p_icp::Matcher_Cov2Cov

Overview

Point-to-point with associated local covariance matcher.

Both maps (local and global layers) must implement the mp2p_icp::NearestPointWithCovCapable interface.

#include <Matcher_Cov2Cov.h>

class Matcher_Cov2Cov: public mp2p_icp::Matcher
{
public:
    // fields

    std::vector<std::pair<std::string, std::string>> layer_matches;
    float bounding_box_intersection_check_epsilon = 0.20f;
    float threshold = 0.40f;

    // methods

    virtual void initialize(const mrpt::containers::yaml& params);
};

Inherited Members

public:
    // fields

    uint32_t runUpToIteration = 0;

    // methods

    virtual void initialize(const mrpt::containers::yaml& params);

    virtual bool match(
        const metric_map_t& pcGlobal,
        const metric_map_t& pcLocal,
        const mrpt::poses::CPose3D& localPose,
        const MatchContext& mc,
        MatchState& ms,
        Pairings& out
        ) const;

Fields

std::vector<std::pair<std::string, std::string>> layer_matches

Pairs of Local->Global layers to match. Note: this field can be loaded from a configuration file via initialize().

Map is: { {“globalLayer”, “localLayer”} [,…] }

float bounding_box_intersection_check_epsilon = 0.20f

The additional “margin” in all axes (x,y,z) that bounding box is enlarged for checking the feasibility of pairings to exist.

float threshold = 0.40f

Inliers distance threshold [meters]

Methods

virtual void initialize(const mrpt::containers::yaml& params)

Common parameters to all derived classes:

  • threshold : Inliers distance threshold [meters][mandatory]

  • layerMatches : Optional map of layer names to match. Refer to example YAML files.

  • bounding_box_intersection_check_epsilon : Optional (Default=0.20). The additional “margin” in all axes (x,y,z) that bounding box is enlarged for checking the feasibility of pairings to exist.