struct mola::LidarOdometry::Parameters::InitialLocalizationOptions::GlobalSearch

Overview

Used when method == FromStateEstimator. A state estimator pose may be too uncertain for ICP to converge from it (e.g. plain GNSS, or no heading at all). Then, search for the pose in the map around it, and only accept an unambiguous match.

#include <LidarOdometry.h>

struct GlobalSearch
{
    // fields

    bool enabled = false;
    double icp_basin_xy = 0.5;
    double icp_basin_yaw_deg = 10.0;
    double sigma_factor = 3.0;
    double min_half_width_xy = 0.0;
    double max_half_width_xy = 20.0;
    double max_position_sigma = 5.0;
    double resolution_xy = 1.0;
    double resolution_yaw_deg = 30.0;
    double icp_threshold = 1.0;
    double refine_icp_threshold = 0.2;
    double min_quality = 0.5;
    double same_mode_max_distance = 1.0;
    double same_mode_max_yaw_deg = 15.0;
    double min_quality_margin = 0.1;
    double retry_period = 2.0;

    // methods

    void initialize(const Yaml& c);
};

Fields

double icp_basin_xy = 0.5

half-width [m]

The state estimator pose is used directly if its uncertainty region (sigma_factor sigmas) fits inside ICP’s convergence basin:

double icp_basin_yaw_deg = 10.0

half-width [deg]

double min_half_width_xy = 0.0

Half-width of the searched XY region: sigma_factor sigmas, within these limits. The minimum covers biases the estimator doesn’t model (e.g. GNSS multipath).

double max_position_sigma = 5.0

While searching, accept state estimator poses up to this position sigma, instead of from_state_estimator_max_position_sigma. Its orientation sigma is not checked: yaw is searched if needed.

double resolution_xy = 1.0

Spacing of the initial guesses.

double icp_threshold = 1.0

Value of ADAPTIVE_THRESHOLD_SIGMA for the ICP runs of the search (which use the “icp_settings_without_vel” pipeline)

double refine_icp_threshold = 0.2

The best result of each pose hypothesis is refined with a stricter ICP (this ADAPTIVE_THRESHOLD_SIGMA), whose quality tells nearby hypotheses apart

double min_quality = 0.5

ICP results below this quality are discarded.

double same_mode_max_distance = 1.0

Results closer than this are the same pose hypothesis (mode)

double min_quality_margin = 0.1

The best mode must beat any other one by this quality margin.

double retry_period = 2.0

After an ambiguous or failed search, wait this long (sensor time) to try again.