Skip to content

[ROS][feat] Autocompute laser_id and time

Julia Sanchez requested to merge ROS/feat/HandleRawPoints into master

Goal

Update Generic converter in ROS1 using these ROS2 MRS:

Changes

In SpinningSensorKeypointsExtractor of slam_lib

  • Allow the keypoints extractor to handle random laser_id (not necessarily sequenced and not necessarily starting at 0)

In lidar_conversions of ros_wrapping

  • Add GenericConversionNode

Results

Reproduce

Data

A ouster bag.

Build

colcon build --base-paths slam/ros2_wrapping --cmake-args -DCMAKE_BUILD_TYPE=Release

Run

Please comment the point conversion part in launch fileto test generic conversion node.

roslaunch lidar_slam slam_ouster.launch \
rosrun lidar_conversions generic_conversion_node \
rosbag play --clock path/to/this_bag.bag /os_cloud_node/points:=/generic_points \

Output

  • Here is the output of /lidar_points topic

lidar_points

Performances (optional)

What remains to solve

  • Add random laser_id feature in PV
  • The ros test in CI doesn't pass because the order to browse the voxel grid when sampling keypoints is changed

lidar_slam_test output: output.log

[ERROR] [1700234893.363835333, 1603266674.628995250]: Pose at 1603266674.560959816 is not consistent with reference
 [RUNNING]  Bag Time: 1603266674.649191   Duration: 76.448073 / 76.545152        [RUNNING]  Bag Time: 1603266674.659363   Duration: 76.458244 / 76.545152        [RUNNING]  Bag Time: 1603266674.663186   Duration: 76.462068 / 76.545152       [ERROR] [1700234893.443158151, 1603266674.709851506]: Pose at 1603266674.661826849 is not consistent with reference
[ERROR] [1700234893.447024910, 1603266674.719909695]: Test failed
[ INFO] [1700234893.447053702, 1603266674.719909695]: Comparison with reference (averages): 
[ INFO] [1700234893.447068546, 1603266674.719909695]: Overlap difference : 0 %
[ INFO] [1700234893.447080590, 1603266674.719909695]: Number of matches difference : -0.234519 matches
[ INFO] [1700234893.447092266, 1603266674.719909695]: Computation time difference : 0.000481511 s
[ INFO] [1700234893.447103868, 1603266674.719909695]: Trajectory difference : 0.00144763 degrees and 0.0217044 m
[ INFO] [1700234893.447114431, 1603266674.719909695]: Final drift from reference : 0.00251486 degrees and 0.25673 m

Done.
Edited by Tong Fu

Merge request reports