Skip to content

quasi-robotics/rtabmap_ros

 
 

Repository files navigation

rtabmap_ros

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).

CI Latest

ROS 1 Build Status
Build Status
ROS 2 Build Status

ROS Binaries

ROS 1 Noetic Build Status
ROS 2 Humble Build Status
Iron Build Status
Jazzy Build Status
Rolling Build Status
Docker rtabmap_ros Docker Pulls

Usage

  • 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.

Logging

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

Recommended DDS

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

Installation

Binaries

sudo apt install ros-$ROS_DISTRO-rtabmap-ros

From Source

  • 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/or subscribe_user_data support:

    colcon build --symlink-install --cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON -DCMAKE_BUILD_TYPE=Release

Packages

No packages published

Languages

  • C++ 82.6%
  • Python 14.0%
  • CMake 1.8%
  • Other 1.6%