spin_loader:
    meta_spin_period: 0.2
    meta_spin_max_duration: 1
    downsampling_strategy: ring  # none, random, dist or ring
    target_num_points: 25000
    num_range_bins: 20
    dist_min: 5
    # recenter the smooth frame every 5km to prevent having large values stored
    # as float.
    smooth_recenter_dist: 5000
icp:
    asso:
        ray_forming_on_gpu: false
        hit2model_dist_max: 1
    inliers_threshold: 2
    opti:
        termination:
            # iterate as long as the score increases by at least that much:
            score_conv_tol: 0
            # iterate as long as the magnitude of the transform delta is
            # at least that much:
            motion:
                trans: 0 # in meters
                rot: 0 # in degrees
            max_iterations: 30
        asso_num_min: 20
        asso_score_sigma: 0.2

icp_model_radius: 100
tile_grid_num_prefetch_layers: 3

init_z_from_map: true
z_init:
    # check altitude on the map within that radius from the vehicle
    radius: 5
    # Only consider horizontal triangles, i.e. those for which the angle
    # between their normal and the vertical is lower than this value.
    normal_orientation_deg: 45
    # Only initialize the altitude a large enough surface could be found.
    # Expressed as a ratio of the surface of the disk with the radius above.
    surf_thresh_ratio: 0.25

ignore_first_poses: 2 # this is for the node only

# Search at 4 locations surrounding the predicted pose.
# Result with the lowest score (best match) is selected.
do_grid_multi_search: false
# Defines how far to search in multi_search mode.
grid_multi_search_offset: 2
# Search starting from the GPS pose. Independent of do_multi_search.
do_multi_search_from_gps: false
# Search starting from the hero pose. Independent of do_multi_search.
do_multi_search_from_hero_state: true
# only seed from the hero state if the distance to the prior is more than this
hero_state_multi_search_min_dist: 1

# Cold start options:
# Cold start from the GPS pose by testing different yaw values.
cold_start_yaw: false
# Cold start from the start boxes.
cold_start_boxes: true

# At initialization the confidence should be above this threshold.
# TODO(CLM-10103) tweak the value.
min_init_confidence: 0.1
min_init_confidence_cold_start: 0.5

# diagnostics
smooth_pose_missing_threshold_duration: 2
lidar_missing_threshold_duration: 2
full_spin_missing_threshold_duration: 2
unable_to_localize_threshold_duration: 5.0

# confidence checker parameters:
confidence_checker:
    window_duration_sec: 1.0
    min_confidence: 0.1
