introlab / rtabmap_ros

RTAB-Map's ROS package.
http://wiki.ros.org/rtabmap_ros
BSD 3-Clause "New" or "Revised" License
1.01k stars 559 forks source link

Add rtabmap_msgs/SensorData #1055

Closed matlabbe closed 1 year ago

matlabbe commented 1 year ago

This new feature will make possible to share features extracted by visual odometry to rtabmap node (to avoid re-extracting them again) in context of multi-cameras.

Note that sharing visual odometry features to rtabmap is already possible for single camera by connecting odom_rgbd_image topic to rtabmap node (configured with subscribe_rgbd=true). See test_use_odom_features.launch. For multi-camera, it will be now possible to connect odom_sensor_data topic to rtabmap node (configured with subscribe_sensor_data=true).

odom_sensor_data would contain uncompressed data, so maybe better to use it with nodes on same computer or with rtabmap in same nodelet manager to avoid any serialization. If we only want to share features, we can set pub_sensor_data_image to false.

odom_sensor_data_compressed is also available, mainly if we want to visualize odometry result in rtabmap_viz. The image data will be compressed, so there will be an overhead on visual odometry node.

rtabmap_msgs/NodeData msg has been renamed rtabmap_msgs/Node msg and includes rtabmap_msgs/SensorData msg to avoid code duplication. This msg refactoring will also affect rtabmap_msgs/MapData msg.

Added testing script for sensor_data:rtabmap_examples/launch/test_sensor_data.launch