Exwayz Object localization (ObLoc) algorithm takes in input:

Its goal is to register the incoming LiDAR data on the object’s map using a 3D registration algorithm.

For performing this registration, the relocalization follows a 2 steps pipeline:

Pre processing : aims at reducing the number of points provided to the registration algorithm (ICP), mainly discarding troublesome or redundant point on the raw data.

ICP : The ICP (Iterative Closest Point) is the registration algorithm used to compute the relative position of the upcoming frame relatively to the local map being built.

General parameters

Below is a sample ObLoc configuration file with the general parameters, independently from the API used (ROS or RTMaps).

object_localization:
    num_threads: 2
    # Processing parameters
    #--------------------------------------------------------------------------#
    # Dual OT in rear axle Preprocessing applied to incoming data
    pre_process:
        # crop.
        # note: this crop is made in the RF of the object's map
        center: [5.0, 0.0, 0.0]
        size: [10.0, 3.0, 1.50]

        # grid subsampling
        grid_resolution: 0.05

        # min intensity
        min_intensity: 5
        # max intensity
        max_intensity: 125

    # ICP used for localization
    icp:
        num_iter: 10
        d_max: 0.05

    # Object Map and initialization parameters
    #--------------------------------------------------------------------------#
    map:
        path: "path/to/the/map.map"
        sha1: "sha1-of-the-.map"
        ply: "path/to/the/map_for_visualization.ply"

    # Initialization pose of the object relatively to the input PointCloud2 data
    init:
        pose:
            <3d-pose-yaml-node>
                
        # note: this crop is made in the RF of the input PointCloud2 topic        
        crop:
	        center: [-5.0, 0.0, 0.0]
	        size: [10.0, 10.0, 3.0]

        enable_angle_exploration: true
        exploration_max_angle: 40.0
        exploration_angular_step: 10.0
      
		# Checks to ensure obloc sanity
		#--------------------------------------------------------------------------#
		checks:
			  # Minimum tolerated overlap to the map
			  min_overlap: 0.60
			  # Maximum tolereated distance to the map (averaged, in m) 
			  max_distance_to_map: 0.02

num_threads : number of threads used by the process.

pre_process

icp

map

init

checks

output

API-specific parameters

Below are sample sub-YAML maps that are API-specific.