[ROS][feat] Autocompute laser_id and time
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
Performances (optional)
- Please refer to !302 (merged)
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