[ROS][feat] Handle Livox sensor
- Add a ROS node to handle Livox data
- Solve bugs in Voxel grid and for blobs extraction + remove one warning coming from confidence estimators.
- Add a maximum distance of a point from the sensor to remove noisy points for some Lidar models
- This MR also includes perf commits to make Livox data readable:
- Limit the number of neighbors even when the radius is used to define the neighborhood
- In the keypoints extraction phase, improve performances about the sort step
**Notes : ** ROS tests are broken (position diff > 1cm) but visually, one cannot see which version (current master one or this MR version) is better, so it is validated (see results for test 1 below).
[ERROR] [1685621333.719560445, 1603266674.731809738]: Test failed
[ INFO] [1685621333.719570280, 1603266674.731809738]: Comparison with reference (averages):
[ INFO] [1685621333.719579862, 1603266674.731809738]: Overlap difference : -0.142608 %
[ INFO] [1685621333.719588568, 1603266674.731809738]: Number of matches difference : 3.15283 matches
[ INFO] [1685621333.719596542, 1603266674.731809738]: Computation time difference : -0.00211429 s
[ INFO] [1685621333.719605277, 1603266674.731809738]: Trajectory difference : 0.00136952 degrees and 0.0195855 m
[ INFO] [1685621333.719614002, 1603266674.731809738]: Final drift from reference : 0.000979381 degrees and 0.262727 m
Computation time is slightly reduced in common datasets like VLP16, Hesai data, (1 to 5ms) and is drastically reduced for new Livox data.
Edited by Julia Sanchez