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.
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
Below are sample sub-YAML maps that are API-specific.