RTAB-Map's ROS2 package (branch ros2
). ROS2 Foxy minimum required: currently most nodes are ported to ROS2. The interface is the same than on ROS1 (parameters and topic names should still match ROS1 documentation on rtabmap_ros).
ROS 1 | |
ROS 2 |
ROS 1 | Noetic | |
ROS 2 | Humble | |
Iron | ||
Jazzy | ||
Rolling | ||
Docker | rtabmap_ros |
-
For sensor integration examples (stereo and RGB-D cameras, 3D LiDAR), see rtabmap_examples sub-folder.
-
For robot integration examples (turtlebot3 and turtlebot4, nav2 integration), see rtabmap_demos sub-folder.
To make RTAB-Map's logs appear ordered with RCLCPP's logs, set the following environment variables in your .bashrc
(see official "About Logging" documentation for more info):
export RCUTILS_LOGGING_USE_STDOUT=1
export RCUTILS_LOGGING_BUFFERED_STREAM=1
# Optional, but if you like colored logs:
export RCUTILS_COLORIZED_OUTPUT=1
If RTAB-Map's GUI or topic frequency feel laggy (even if processing time looks fast enough), it may be caused by the DDS. I recommend to use Cyclone DDS, you can try it by adding this before launching any nodes/launch files:
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
sudo apt install ros-$ROS_DISTRO-rtabmap-ros
-
Make sure to uninstall any rtabmap binaries:
sudo apt remove ros-$ROS_DISTRO-rtabmap*
-
RTAB-Map ROS2 package:
cd ~/ros2_ws git clone https://github.com/introlab/rtabmap.git src/rtabmap git clone --branch ros2 https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros rosdep update && rosdep install --from-paths src --ignore-src -r -y export MAKEFLAGS="-j6" # Can be ignored if you have a lot of RAM (>16GB) colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
-
To build with
rgbd_cameras>1
support and/orsubscribe_user_data
support:colcon build --symlink-install --cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON -DCMAKE_BUILD_TYPE=Release