Repository Summary
| Description | |
| Checkout URI | https://github.com/introlab/rtabmap_ros.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-10-01 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rtabmap_conversions | 0.23.13 |
| rtabmap_costmap_plugins | 0.23.13 |
| rtabmap_demos | 0.23.13 |
| rtabmap_examples | 0.23.13 |
| rtabmap_launch | 0.23.13 |
| rtabmap_msgs | 0.23.13 |
| rtabmap_odom | 0.23.13 |
| rtabmap_python | 0.23.13 |
| rtabmap_ros | 0.23.13 |
| rtabmap_rviz_plugins | 0.23.13 |
| rtabmap_slam | 0.23.13 |
| rtabmap_sync | 0.23.13 |
| rtabmap_util | 0.23.13 |
| rtabmap_viz | 0.23.13 |
README
rtabmap_ros
ROS 2 wrapper for RTAB-Map, a graph-based SLAM library with appearance-based loop closure detection. It builds and maintains a 3D map from RGB-D, stereo or lidar data, closes loops on revisited places and exports the result as an occupancy grid, a point cloud or an OctoMap.
ROS 2 Humble minimum required. The interface matches ROS 1: parameters and topic names still follow the ROS 1 documentation for anything not yet covered by the package pages below.
CI Latest
| Build | Docker | |
|---|---|---|
| ROS 1 | ||
| ROS 2 |
ROS Binaries
| Distro | Ubuntu | Released | In apt | Build | |
|---|---|---|---|---|---|
| ROS 1 | Noetic (EOL) | 20.04 | |||
| ROS 2 | Humble | 22.04 | |||
| ROS 2 | Iron (EOL) | 22.04 | |||
| ROS 2 | Jazzy | 24.04 | |||
| ROS 2 | Kilted | 24.04 | |||
| ROS 2 | Lyrical | 26.04 | |||
| ROS 2 | Rolling | 26.04 | |||
| Docker | rtabmap_ros |
Released is the version bloomed into rosdistro; In apt is what apt install actually gives you today. They differ while a release is waiting on a buildfarm sync.
Packages
The stack is split into small packages so a pipeline only pulls in what it uses. Package names link to their documentation where it exists; the rest are being written and will be linked as they land.
SLAM
| Package | Description |
|---|---|
rtabmap_slam |
The rtabmap node itself: appearance-based loop closure detection, graph optimization, memory management and map assembly. |
rtabmap_odom |
Odometry nodes — rgbd_odometry, stereo_odometry and icp_odometry. Any external odometry can be used instead. |
rtabmap_sync |
Synchronizes camera and lidar topics into a single message so they reach the SLAM node together — rgbd_sync, stereo_sync, rgbdx_sync. |
Sensor processing
| Package | Description |
|---|---|
rtabmap_util |
Utility nodes around the pipeline: format conversions, point cloud filtering and assembly, obstacle detection, map assembly, database replay. Most are useful on their own. |
rtabmap_costmap_plugins |
A variant of nav2’s voxel layer that follows the robot along z, keeping the voxel grid centered on the base frame. For robots that change altitude, e.g. drones. |
Interfaces and libraries
| Package | Description |
|---|---|
rtabmap_msgs |
Message, service and action definitions used across the stack. |
rtabmap_conversions |
C++ library converting between RTAB-Map library types and ROS 2 messages. |
rtabmap_python |
Python helpers for RTAB-Map’s own binary formats, currently the compressed matrices carried in rtabmap_msgs fields and database blobs. |
Visualization
| Package | Description |
|---|---|
rtabmap_viz |
RTAB-Map’s own GUI as a ROS 2 node: live graph, loop closures, feature matches and the parameter panel. |
rtabmap_rviz_plugins |
RViz displays for the map graph, the assembled cloud and the SLAM info. |
Launch files
| Package | Description |
|---|---|
rtabmap_launch |
rtabmap.launch.py, the one-line way to bring up the whole stack. |
rtabmap_examples |
Sensor integration examples: stereo and RGB-D cameras, 3D lidar. |
rtabmap_demos |
Full robot demos: turtlebot3 and turtlebot4, nav2 integration, multi-session mapping. |
Installation
These instructions are for ROS 2. For ROS 1, follow the installation instructions on the master branch, which also carries the latest version for Noetic.
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>1support and/orsubscribe_user_datasupport:
```bash colcon build –symlink-install –cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON -DCMAKE_BUILD_TYPE=Release
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/introlab/rtabmap_ros.git |
| VCS Type | git |
| VCS Version | jazzy-devel |
| Last Updated | 2026-10-01 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rtabmap_conversions | 0.23.13 |
| rtabmap_costmap_plugins | 0.23.13 |
| rtabmap_demos | 0.23.13 |
| rtabmap_examples | 0.23.13 |
| rtabmap_launch | 0.23.13 |
| rtabmap_msgs | 0.23.13 |
| rtabmap_odom | 0.23.13 |
| rtabmap_python | 0.23.13 |
| rtabmap_ros | 0.23.13 |
| rtabmap_rviz_plugins | 0.23.13 |
| rtabmap_slam | 0.23.13 |
| rtabmap_sync | 0.23.13 |
| rtabmap_util | 0.23.13 |
| rtabmap_viz | 0.23.13 |
README
rtabmap_ros
ROS 2 wrapper for RTAB-Map, a graph-based SLAM library with appearance-based loop closure detection. It builds and maintains a 3D map from RGB-D, stereo or lidar data, closes loops on revisited places and exports the result as an occupancy grid, a point cloud or an OctoMap.
ROS 2 Humble minimum required. The interface matches ROS 1: parameters and topic names still follow the ROS 1 documentation for anything not yet covered by the package pages below.
CI Latest
| Build | Docker | |
|---|---|---|
| ROS 1 | ||
| ROS 2 |
ROS Binaries
| Distro | Ubuntu | Released | In apt | Build | |
|---|---|---|---|---|---|
| ROS 1 | Noetic (EOL) | 20.04 | |||
| ROS 2 | Humble | 22.04 | |||
| ROS 2 | Iron (EOL) | 22.04 | |||
| ROS 2 | Jazzy | 24.04 | |||
| ROS 2 | Kilted | 24.04 | |||
| ROS 2 | Lyrical | 26.04 | |||
| ROS 2 | Rolling | 26.04 | |||
| Docker | rtabmap_ros |
Released is the version bloomed into rosdistro; In apt is what apt install actually gives you today. They differ while a release is waiting on a buildfarm sync.
Packages
The stack is split into small packages so a pipeline only pulls in what it uses. Package names link to their documentation where it exists; the rest are being written and will be linked as they land.
SLAM
| Package | Description |
|---|---|
rtabmap_slam |
The rtabmap node itself: appearance-based loop closure detection, graph optimization, memory management and map assembly. |
rtabmap_odom |
Odometry nodes — rgbd_odometry, stereo_odometry and icp_odometry. Any external odometry can be used instead. |
rtabmap_sync |
Synchronizes camera and lidar topics into a single message so they reach the SLAM node together — rgbd_sync, stereo_sync, rgbdx_sync. |
Sensor processing
| Package | Description |
|---|---|
rtabmap_util |
Utility nodes around the pipeline: format conversions, point cloud filtering and assembly, obstacle detection, map assembly, database replay. Most are useful on their own. |
rtabmap_costmap_plugins |
A variant of nav2’s voxel layer that follows the robot along z, keeping the voxel grid centered on the base frame. For robots that change altitude, e.g. drones. |
Interfaces and libraries
| Package | Description |
|---|---|
rtabmap_msgs |
Message, service and action definitions used across the stack. |
rtabmap_conversions |
C++ library converting between RTAB-Map library types and ROS 2 messages. |
rtabmap_python |
Python helpers for RTAB-Map’s own binary formats, currently the compressed matrices carried in rtabmap_msgs fields and database blobs. |
Visualization
| Package | Description |
|---|---|
rtabmap_viz |
RTAB-Map’s own GUI as a ROS 2 node: live graph, loop closures, feature matches and the parameter panel. |
rtabmap_rviz_plugins |
RViz displays for the map graph, the assembled cloud and the SLAM info. |
Launch files
| Package | Description |
|---|---|
rtabmap_launch |
rtabmap.launch.py, the one-line way to bring up the whole stack. |
rtabmap_examples |
Sensor integration examples: stereo and RGB-D cameras, 3D lidar. |
rtabmap_demos |
Full robot demos: turtlebot3 and turtlebot4, nav2 integration, multi-session mapping. |
Installation
These instructions are for ROS 2. For ROS 1, follow the installation instructions on the master branch, which also carries the latest version for Noetic.
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>1support and/orsubscribe_user_datasupport:
```bash colcon build –symlink-install –cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON -DCMAKE_BUILD_TYPE=Release
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/introlab/rtabmap_ros.git |
| VCS Type | git |
| VCS Version | kilted-devel |
| Last Updated | 2026-10-01 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rtabmap_conversions | 0.23.13 |
| rtabmap_costmap_plugins | 0.23.13 |
| rtabmap_demos | 0.23.13 |
| rtabmap_examples | 0.23.13 |
| rtabmap_launch | 0.23.13 |
| rtabmap_msgs | 0.23.13 |
| rtabmap_odom | 0.23.13 |
| rtabmap_python | 0.23.13 |
| rtabmap_ros | 0.23.13 |
| rtabmap_rviz_plugins | 0.23.13 |
| rtabmap_slam | 0.23.13 |
| rtabmap_sync | 0.23.13 |
| rtabmap_util | 0.23.13 |
| rtabmap_viz | 0.23.13 |
README
rtabmap_ros
ROS 2 wrapper for RTAB-Map, a graph-based SLAM library with appearance-based loop closure detection. It builds and maintains a 3D map from RGB-D, stereo or lidar data, closes loops on revisited places and exports the result as an occupancy grid, a point cloud or an OctoMap.
ROS 2 Humble minimum required. The interface matches ROS 1: parameters and topic names still follow the ROS 1 documentation for anything not yet covered by the package pages below.
CI Latest
| Build | Docker | |
|---|---|---|
| ROS 1 | ||
| ROS 2 |
ROS Binaries
| Distro | Ubuntu | Released | In apt | Build | |
|---|---|---|---|---|---|
| ROS 1 | Noetic (EOL) | 20.04 | |||
| ROS 2 | Humble | 22.04 | |||
| ROS 2 | Iron (EOL) | 22.04 | |||
| ROS 2 | Jazzy | 24.04 | |||
| ROS 2 | Kilted | 24.04 | |||
| ROS 2 | Lyrical | 26.04 | |||
| ROS 2 | Rolling | 26.04 | |||
| Docker | rtabmap_ros |
Released is the version bloomed into rosdistro; In apt is what apt install actually gives you today. They differ while a release is waiting on a buildfarm sync.
Packages
The stack is split into small packages so a pipeline only pulls in what it uses. Package names link to their documentation where it exists; the rest are being written and will be linked as they land.
SLAM
| Package | Description |
|---|---|
rtabmap_slam |
The rtabmap node itself: appearance-based loop closure detection, graph optimization, memory management and map assembly. |
rtabmap_odom |
Odometry nodes — rgbd_odometry, stereo_odometry and icp_odometry. Any external odometry can be used instead. |
rtabmap_sync |
Synchronizes camera and lidar topics into a single message so they reach the SLAM node together — rgbd_sync, stereo_sync, rgbdx_sync. |
Sensor processing
| Package | Description |
|---|---|
rtabmap_util |
Utility nodes around the pipeline: format conversions, point cloud filtering and assembly, obstacle detection, map assembly, database replay. Most are useful on their own. |
rtabmap_costmap_plugins |
A variant of nav2’s voxel layer that follows the robot along z, keeping the voxel grid centered on the base frame. For robots that change altitude, e.g. drones. |
Interfaces and libraries
| Package | Description |
|---|---|
rtabmap_msgs |
Message, service and action definitions used across the stack. |
rtabmap_conversions |
C++ library converting between RTAB-Map library types and ROS 2 messages. |
rtabmap_python |
Python helpers for RTAB-Map’s own binary formats, currently the compressed matrices carried in rtabmap_msgs fields and database blobs. |
Visualization
| Package | Description |
|---|---|
rtabmap_viz |
RTAB-Map’s own GUI as a ROS 2 node: live graph, loop closures, feature matches and the parameter panel. |
rtabmap_rviz_plugins |
RViz displays for the map graph, the assembled cloud and the SLAM info. |
Launch files
| Package | Description |
|---|---|
rtabmap_launch |
rtabmap.launch.py, the one-line way to bring up the whole stack. |
rtabmap_examples |
Sensor integration examples: stereo and RGB-D cameras, 3D lidar. |
rtabmap_demos |
Full robot demos: turtlebot3 and turtlebot4, nav2 integration, multi-session mapping. |
Installation
These instructions are for ROS 2. For ROS 1, follow the installation instructions on the master branch, which also carries the latest version for Noetic.
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>1support and/orsubscribe_user_datasupport:
```bash colcon build –symlink-install –cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON -DCMAKE_BUILD_TYPE=Release
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/introlab/rtabmap_ros.git |
| VCS Type | git |
| VCS Version | lyrical-devel |
| Last Updated | 2026-10-01 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rtabmap_conversions | 0.23.13 |
| rtabmap_costmap_plugins | 0.23.13 |
| rtabmap_demos | 0.23.13 |
| rtabmap_examples | 0.23.13 |
| rtabmap_launch | 0.23.13 |
| rtabmap_msgs | 0.23.13 |
| rtabmap_odom | 0.23.13 |
| rtabmap_python | 0.23.13 |
| rtabmap_ros | 0.23.13 |
| rtabmap_rviz_plugins | 0.23.13 |
| rtabmap_slam | 0.23.13 |
| rtabmap_sync | 0.23.13 |
| rtabmap_util | 0.23.13 |
| rtabmap_viz | 0.23.13 |
README
rtabmap_ros
ROS 2 wrapper for RTAB-Map, a graph-based SLAM library with appearance-based loop closure detection. It builds and maintains a 3D map from RGB-D, stereo or lidar data, closes loops on revisited places and exports the result as an occupancy grid, a point cloud or an OctoMap.
ROS 2 Humble minimum required. The interface matches ROS 1: parameters and topic names still follow the ROS 1 documentation for anything not yet covered by the package pages below.
CI Latest
| Build | Docker | |
|---|---|---|
| ROS 1 | ||
| ROS 2 |
ROS Binaries
| Distro | Ubuntu | Released | In apt | Build | |
|---|---|---|---|---|---|
| ROS 1 | Noetic (EOL) | 20.04 | |||
| ROS 2 | Humble | 22.04 | |||
| ROS 2 | Iron (EOL) | 22.04 | |||
| ROS 2 | Jazzy | 24.04 | |||
| ROS 2 | Kilted | 24.04 | |||
| ROS 2 | Lyrical | 26.04 | |||
| ROS 2 | Rolling | 26.04 | |||
| Docker | rtabmap_ros |
Released is the version bloomed into rosdistro; In apt is what apt install actually gives you today. They differ while a release is waiting on a buildfarm sync.
Packages
The stack is split into small packages so a pipeline only pulls in what it uses. Package names link to their documentation where it exists; the rest are being written and will be linked as they land.
SLAM
| Package | Description |
|---|---|
rtabmap_slam |
The rtabmap node itself: appearance-based loop closure detection, graph optimization, memory management and map assembly. |
rtabmap_odom |
Odometry nodes — rgbd_odometry, stereo_odometry and icp_odometry. Any external odometry can be used instead. |
rtabmap_sync |
Synchronizes camera and lidar topics into a single message so they reach the SLAM node together — rgbd_sync, stereo_sync, rgbdx_sync. |
Sensor processing
| Package | Description |
|---|---|
rtabmap_util |
Utility nodes around the pipeline: format conversions, point cloud filtering and assembly, obstacle detection, map assembly, database replay. Most are useful on their own. |
rtabmap_costmap_plugins |
A variant of nav2’s voxel layer that follows the robot along z, keeping the voxel grid centered on the base frame. For robots that change altitude, e.g. drones. |
Interfaces and libraries
| Package | Description |
|---|---|
rtabmap_msgs |
Message, service and action definitions used across the stack. |
rtabmap_conversions |
C++ library converting between RTAB-Map library types and ROS 2 messages. |
rtabmap_python |
Python helpers for RTAB-Map’s own binary formats, currently the compressed matrices carried in rtabmap_msgs fields and database blobs. |
Visualization
| Package | Description |
|---|---|
rtabmap_viz |
RTAB-Map’s own GUI as a ROS 2 node: live graph, loop closures, feature matches and the parameter panel. |
rtabmap_rviz_plugins |
RViz displays for the map graph, the assembled cloud and the SLAM info. |
Launch files
| Package | Description |
|---|---|
rtabmap_launch |
rtabmap.launch.py, the one-line way to bring up the whole stack. |
rtabmap_examples |
Sensor integration examples: stereo and RGB-D cameras, 3D lidar. |
rtabmap_demos |
Full robot demos: turtlebot3 and turtlebot4, nav2 integration, multi-session mapping. |
Installation
These instructions are for ROS 2. For ROS 1, follow the installation instructions on the master branch, which also carries the latest version for Noetic.
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>1support and/orsubscribe_user_datasupport:
```bash colcon build –symlink-install –cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON -DCMAKE_BUILD_TYPE=Release
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/introlab/rtabmap_ros.git |
| VCS Type | git |
| VCS Version | rolling-devel |
| Last Updated | 2026-10-02 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rtabmap_conversions | 0.23.13 |
| rtabmap_demos | 0.23.13 |
| rtabmap_examples | 0.23.13 |
| rtabmap_launch | 0.23.13 |
| rtabmap_msgs | 0.23.13 |
| rtabmap_odom | 0.23.13 |
| rtabmap_python | 0.23.13 |
| rtabmap_ros | 0.23.13 |
| rtabmap_rviz_plugins | 0.23.13 |
| rtabmap_slam | 0.23.13 |
| rtabmap_sync | 0.23.13 |
| rtabmap_util | 0.23.13 |
| rtabmap_viz | 0.23.13 |
README
rtabmap_ros
ROS 2 wrapper for RTAB-Map, a graph-based SLAM library with appearance-based loop closure detection. It builds and maintains a 3D map from RGB-D, stereo or lidar data, closes loops on revisited places and exports the result as an occupancy grid, a point cloud or an OctoMap.
ROS 2 Humble minimum required. The interface matches ROS 1: parameters and topic names still follow the ROS 1 documentation for anything not yet covered by the package pages below.
CI Latest
| Build | Docker | |
|---|---|---|
| ROS 1 | ||
| ROS 2 |
ROS Binaries
| Distro | Ubuntu | Released | In apt | Build | |
|---|---|---|---|---|---|
| ROS 1 | Noetic (EOL) | 20.04 | |||
| ROS 2 | Humble | 22.04 | |||
| ROS 2 | Iron (EOL) | 22.04 | |||
| ROS 2 | Jazzy | 24.04 | |||
| ROS 2 | Kilted | 24.04 | |||
| ROS 2 | Lyrical | 26.04 | |||
| ROS 2 | Rolling | 26.04 | |||
| Docker | rtabmap_ros |
Released is the version bloomed into rosdistro; In apt is what apt install actually gives you today. They differ while a release is waiting on a buildfarm sync.
Packages
The stack is split into small packages so a pipeline only pulls in what it uses. Package names link to their documentation where it exists; the rest are being written and will be linked as they land.
SLAM
| Package | Description |
|---|---|
rtabmap_slam |
The rtabmap node itself: appearance-based loop closure detection, graph optimization, memory management and map assembly. |
rtabmap_odom |
Odometry nodes — rgbd_odometry, stereo_odometry and icp_odometry. Any external odometry can be used instead. |
rtabmap_sync |
Synchronizes camera and lidar topics into a single message so they reach the SLAM node together — rgbd_sync, stereo_sync, rgbdx_sync. |
Sensor processing
| Package | Description |
|---|---|
rtabmap_util |
Utility nodes around the pipeline: format conversions, point cloud filtering and assembly, obstacle detection, map assembly, database replay. Most are useful on their own. |
rtabmap_costmap_plugins |
A variant of nav2’s voxel layer that follows the robot along z, keeping the voxel grid centered on the base frame. For robots that change altitude, e.g. drones. |
Interfaces and libraries
| Package | Description |
|---|---|
rtabmap_msgs |
Message, service and action definitions used across the stack. |
rtabmap_conversions |
C++ library converting between RTAB-Map library types and ROS 2 messages. |
rtabmap_python |
Python helpers for RTAB-Map’s own binary formats, currently the compressed matrices carried in rtabmap_msgs fields and database blobs. |
Visualization
| Package | Description |
|---|---|
rtabmap_viz |
RTAB-Map’s own GUI as a ROS 2 node: live graph, loop closures, feature matches and the parameter panel. |
rtabmap_rviz_plugins |
RViz displays for the map graph, the assembled cloud and the SLAM info. |
Launch files
| Package | Description |
|---|---|
rtabmap_launch |
rtabmap.launch.py, the one-line way to bring up the whole stack. |
rtabmap_examples |
Sensor integration examples: stereo and RGB-D cameras, 3D lidar. |
rtabmap_demos |
Full robot demos: turtlebot3 and turtlebot4, nav2 integration, multi-session mapping. |
Installation
These instructions are for ROS 2. For ROS 1, follow the installation instructions on the master branch, which also carries the latest version for Noetic.
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>1support and/orsubscribe_user_datasupport:
```bash colcon build –symlink-install –cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON -DCMAKE_BUILD_TYPE=Release
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/introlab/rtabmap_ros.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-10-01 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rtabmap_conversions | 0.23.13 |
| rtabmap_costmap_plugins | 0.23.13 |
| rtabmap_demos | 0.23.13 |
| rtabmap_examples | 0.23.13 |
| rtabmap_launch | 0.23.13 |
| rtabmap_msgs | 0.23.13 |
| rtabmap_odom | 0.23.13 |
| rtabmap_python | 0.23.13 |
| rtabmap_ros | 0.23.13 |
| rtabmap_rviz_plugins | 0.23.13 |
| rtabmap_slam | 0.23.13 |
| rtabmap_sync | 0.23.13 |
| rtabmap_util | 0.23.13 |
| rtabmap_viz | 0.23.13 |
README
rtabmap_ros
ROS 2 wrapper for RTAB-Map, a graph-based SLAM library with appearance-based loop closure detection. It builds and maintains a 3D map from RGB-D, stereo or lidar data, closes loops on revisited places and exports the result as an occupancy grid, a point cloud or an OctoMap.
ROS 2 Humble minimum required. The interface matches ROS 1: parameters and topic names still follow the ROS 1 documentation for anything not yet covered by the package pages below.
CI Latest
| Build | Docker | |
|---|---|---|
| ROS 1 | ||
| ROS 2 |
ROS Binaries
| Distro | Ubuntu | Released | In apt | Build | |
|---|---|---|---|---|---|
| ROS 1 | Noetic (EOL) | 20.04 | |||
| ROS 2 | Humble | 22.04 | |||
| ROS 2 | Iron (EOL) | 22.04 | |||
| ROS 2 | Jazzy | 24.04 | |||
| ROS 2 | Kilted | 24.04 | |||
| ROS 2 | Lyrical | 26.04 | |||
| ROS 2 | Rolling | 26.04 | |||
| Docker | rtabmap_ros |
Released is the version bloomed into rosdistro; In apt is what apt install actually gives you today. They differ while a release is waiting on a buildfarm sync.
Packages
The stack is split into small packages so a pipeline only pulls in what it uses. Package names link to their documentation where it exists; the rest are being written and will be linked as they land.
SLAM
| Package | Description |
|---|---|
rtabmap_slam |
The rtabmap node itself: appearance-based loop closure detection, graph optimization, memory management and map assembly. |
rtabmap_odom |
Odometry nodes — rgbd_odometry, stereo_odometry and icp_odometry. Any external odometry can be used instead. |
rtabmap_sync |
Synchronizes camera and lidar topics into a single message so they reach the SLAM node together — rgbd_sync, stereo_sync, rgbdx_sync. |
Sensor processing
| Package | Description |
|---|---|
rtabmap_util |
Utility nodes around the pipeline: format conversions, point cloud filtering and assembly, obstacle detection, map assembly, database replay. Most are useful on their own. |
rtabmap_costmap_plugins |
A variant of nav2’s voxel layer that follows the robot along z, keeping the voxel grid centered on the base frame. For robots that change altitude, e.g. drones. |
Interfaces and libraries
| Package | Description |
|---|---|
rtabmap_msgs |
Message, service and action definitions used across the stack. |
rtabmap_conversions |
C++ library converting between RTAB-Map library types and ROS 2 messages. |
rtabmap_python |
Python helpers for RTAB-Map’s own binary formats, currently the compressed matrices carried in rtabmap_msgs fields and database blobs. |
Visualization
| Package | Description |
|---|---|
rtabmap_viz |
RTAB-Map’s own GUI as a ROS 2 node: live graph, loop closures, feature matches and the parameter panel. |
rtabmap_rviz_plugins |
RViz displays for the map graph, the assembled cloud and the SLAM info. |
Launch files
| Package | Description |
|---|---|
rtabmap_launch |
rtabmap.launch.py, the one-line way to bring up the whole stack. |
rtabmap_examples |
Sensor integration examples: stereo and RGB-D cameras, 3D lidar. |
rtabmap_demos |
Full robot demos: turtlebot3 and turtlebot4, nav2 integration, multi-session mapping. |
Installation
These instructions are for ROS 2. For ROS 1, follow the installation instructions on the master branch, which also carries the latest version for Noetic.
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>1support and/orsubscribe_user_datasupport:
```bash colcon build –symlink-install –cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON -DCMAKE_BUILD_TYPE=Release
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/introlab/rtabmap_ros.git |
| VCS Type | git |
| VCS Version | galactic-devel |
| Last Updated | 2022-10-02 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rtabmap_ros | 0.20.20 |
README
rtabmap_ros
RTAB-Map’s ROS2 package (branch ros2). ROS2 Foxy minimum required: currently most nodes are ported to ROS2, however they are not all tested yet. The interface is the same than on ROS1 (parameters and topic names should still match ROS1 documentation on rtabmap_ros).
rtabmap.launch is also ported to ROS2 with same arguments. If you see ROS1 examples like this:
roslaunch zed_wrapper zed_no_tf.launch
roslaunch rtabmap_ros rtabmap.launch \
rtabmap_args:="--delete_db_on_start" \
rgb_topic:=/zed/zed_node/rgb/image_rect_color \
depth_topic:=/zed/zed_node/depth/depth_registered \
camera_info_topic:=/zed/zed_node/rgb/camera_info \
frame_id:=base_link \
approx_sync:=false \
wait_imu_to_init:=true \
imu_topic:=/zed_node/imu/data
The ROS2 equivalent is (with those lines set to false to avoid TF conflicts):
ros2 launch zed_wrapper zed.launch.py
ros2 launch rtabmap_ros rtabmap.launch.py \
rtabmap_args:="--delete_db_on_start" \
rgb_topic:=/zed/zed_node/rgb/image_rect_color \
depth_topic:=/zed/zed_node/depth/depth_registered \
camera_info_topic:=/zed/zed_node/rgb/camera_info \
frame_id:=base_link \
approx_sync:=false \
wait_imu_to_init:=true \
imu_topic:=/zed/zed_node/imu/data \
qos:=1 \
rviz:=true
qos (Quality of Service) argument should match the published topics QoS (1=RELIABLE, 2=BEST EFFORT). ROS1 was always RELIABLE.
Installation
- 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
export MAKEFLAGS="-j6" # Can be ignored if you have a lot of RAM (>16GB)
colcon build --symlink-install
- To build with
rgbd_cameras>1support and/orsubscribe_user_datasupport:
colcon build --symlink-install --cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON
Example with Turtlebot3
- Launch Turtlebot3 simulator:
export TURTLEBOT3_MODEL=waffle
ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
export TURTLEBOT3_MODEL=waffle
ros2 run turtlebot3_teleop teleop_keyboard
- Launch RTAB-Map:
ros2 launch rtabmap_ros turtlebot3_scan.launch.py
# OR with rtabmap.launch.py
ros2 launch rtabmap_ros rtabmap.launch.py \
visual_odometry:=false \
frame_id:=base_footprint \
subscribe_scan:=true depth:=false \
approx_sync:=true \
odom_topic:=/odom \
scan_topic:=/scan \
qos:=2 \
args:="-d --RGBD/NeighborLinkRefining true --Reg/Strategy 1" \
use_sim_time:=true \
rviz:=true
- Launch navigation (
nav2_bringuppackage should be installed):
ros2 launch nav2_bringup navigation_launch.py use_sim_time:=True
ros2 launch nav2_bringup rviz_launch.py
See launch/ros2 subfolder for some other ROS2 examples with turtlebot3 in simulation and a RGB-D camera.
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/introlab/rtabmap_ros.git |
| VCS Type | git |
| VCS Version | iron-devel |
| Last Updated | 2024-07-01 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rtabmap_conversions | 0.21.5 |
| rtabmap_demos | 0.21.5 |
| rtabmap_examples | 0.21.5 |
| rtabmap_launch | 0.21.5 |
| rtabmap_msgs | 0.21.5 |
| rtabmap_odom | 0.21.5 |
| rtabmap_python | 0.21.5 |
| rtabmap_ros | 0.21.5 |
| rtabmap_rviz_plugins | 0.21.5 |
| rtabmap_slam | 0.21.5 |
| rtabmap_sync | 0.21.5 |
| rtabmap_util | 0.21.5 |
| rtabmap_viz | 0.21.5 |
README
rtabmap_ros
RTAB-Map’s ROS2 package (branch ros2). ROS2 Foxy minimum required: currently most nodes are ported to ROS2, however they are not all tested yet. The interface is the same than on ROS1 (parameters and topic names should still match ROS1 documentation on rtabmap_ros).
CI Latest
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/introlab/rtabmap_ros.git |
| VCS Type | git |
| VCS Version | melodic-devel |
| Last Updated | 2023-01-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rtabmap_ros | 0.20.23 |
README
rtabmap_ros
RTAB-Map’s ROS package.
For more information, demos and tutorials about this package, visit rtabmap_ros page on ROS wiki.
For the RTAB-Map libraries and standalone application, visit RTAB-Map’s home page or RTAB-Map’s wiki.
CI Latest
| ROS 1 |
| ROS 2 |
|
|
CONTRIBUTING
|
rtabmap_ros repositoryrtabmap_conversions rtabmap_costmap_plugins rtabmap_demos rtabmap_examples rtabmap_launch rtabmap_legacy rtabmap_msgs rtabmap_odom rtabmap_python rtabmap_ros rtabmap_rviz_plugins rtabmap_slam rtabmap_sync rtabmap_util rtabmap_viz |
ROS Distro
|
Repository Summary
| Description | |
| Checkout URI | https://github.com/introlab/rtabmap_ros.git |
| VCS Type | git |
| VCS Version | noetic-devel |
| Last Updated | 2025-04-27 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rtabmap_conversions | 0.21.13 |
| rtabmap_costmap_plugins | 0.21.13 |
| rtabmap_demos | 0.21.13 |
| rtabmap_examples | 0.21.13 |
| rtabmap_launch | 0.21.13 |
| rtabmap_legacy | 0.21.13 |
| rtabmap_msgs | 0.21.13 |
| rtabmap_odom | 0.21.13 |
| rtabmap_python | 0.21.13 |
| rtabmap_ros | 0.21.13 |
| rtabmap_rviz_plugins | 0.21.13 |
| rtabmap_slam | 0.21.13 |
| rtabmap_sync | 0.21.13 |
| rtabmap_util | 0.21.13 |
| rtabmap_viz | 0.21.13 |
README
rtabmap_ros
RTAB-Map’s ROS package.
For more information, demos and tutorials about this package, visit rtabmap_ros page on ROS wiki.
For the RTAB-Map libraries and standalone application, visit RTAB-Map’s home page or RTAB-Map’s wiki.
CI Latest
| ROS 1 |
| ROS 2 |
|
|