Overview
RTAB-Map (Real-Time Appearance-Based Mapping) is a RGB-D Graph-Based SLAM approach based on an incremental appearance-based loop closure detector. The loop closure detector uses a bag-of-words approach to determinate how likely a new image comes from a previous location or a new location. When a loop closure hypothesis is accepted, a new constraint is added to the map's graph, then a graph optimizer minimizes the errors in the map. A memory management approach is used to limit the number of locations used for loop closure detection and graph optimization, so that real-time constraints on large-scale environnements are always respected. RTAB-Map can be used alone with a hand-held Kinect or stereo camera for 6DoF RGB-D mapping, or on a robot equipped with a laser rangefinder for 3DoF mapping.
-
RGB-D mapping
- M. Labbé and F. Michaud, “Online Global Loop Closure Detection for Large-Scale Multi-Session Graph-Based SLAM,” in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2014. (IEEE Xplore)
- Results shown in this paper can be reproduced by the Multi-session mapping tutorial.
-
Loop closure detection:
- M. Labbé and F. Michaud, “Appearance-Based Loop Closure Detection for Online Large-Scale and Long-Term Operation,” in IEEE Transactions on Robotics, vol. 29, no. 3, pp. 734-745, 2013. (IEEE Xplore)
- M. Labbé and F. Michaud, “Memory management for real-time appearance-based loop closure detection,” in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2011, pp. 1271–1276. (IEEE Xplore)
- Visit RTAB-Map's page on IntRoLab for detailed information on the loop closure detection approach and related datasets.
Install
- Installation instructions.
- Tutorials.
- Tools.
- For ROS users, take a look to rtabmap page on the ROS wiki for a package overview. See also SetupOnYourRobot to know how to integrate RTAB-Map on your robot.
Troubleshooting
Standalone
- Visit the wiki.
- Ask a question on the RTAB-Map Forum.
- Post an issue on GitHub
- For the loop closure detection approach, visit RTAB-Map on IntRoLab website
ROS
- Visit rtabmap_ros wiki page for nodes documentation, demos and tutorials on ROS.
- Ask a question on answers.ros.org with rtabmap or rtabmap_ros tag.
License
- If OpenCV is built without the nonfree module, RTAB-Map can be used under the permissive BSD License.
- If OpenCV is built with the nonfree module, RTAB-Map is free for research only because it depends on SURF and SIFT features. SIFT and SURF are not free for commercial use.
- SURF noncommercial notice: http://www.vision.ee.ethz.ch/~surf/download.html
- SIFT patent: http://www.cs.ubc.ca/~lowe/keypoints/
Author
-
- RTAB-Map's page at IntRoLab
- Papers
- Similar projects: Find-Object
-
To help me keeping this project updated:
What's new
October 2016
- Version 0.11.11: Visit the release page for more info!
July 2016
- Version 0.11.8: Visit the release page for more info!
June 2016
- Version 0.11.7: Visit the release page for more info!
February 2016
-
I'm pleased to announce that RTAB-Map is now on Project Tango. The app is available on Google Play Store.
-
Screenshots:


October 2015
- Version 0.10.10: Visit the release page for more info!
September 2015
-
Version 0.10.6: Integration of a robust graph optimization approach called Vertigo (which uses g2o or GTSAM), see this page:
August 2015
-
Version 0.10.5: New example to export data to MeshLab in order to add textures on a created mesh with low polygons, see this page:
October 2014
-
New example to speed up RTAB-Map's odometry, see this page:
September 2014
-
At IROS 2014 in Chicago, a team using RTAB-Map for SLAM won the Kinect navigation contest held during the conference. See their press release for more details: Winning the IROS2014 Microsoft Kinect Challenge. I also added the Wiki page IROS2014KinectChallenge showing in details the RTAB-Map part used in their solution.
August 2014
-
Here a comparison between reality and what can be shown in RVIZ (you can reproduce this demo here):
July 2014
-
Added Setup on your robot wiki page to know how to integrate RTAB-Map on your ROS robot. Multiple sensor configurations are shown but the optimal configuration is to have a 2D laser, a Kinect-like sensor and odometry.

Onboard mapping Remote mapping 

June 2014
-
I'm glad to announce that my paper submitted to IROS 2014 was accepted! This paper explains in details how RGB-D mapping with RTAB-Map is done. Results shown in this paper can be reproduced by the Multi-session mapping tutorial:
Videos
-
RGBD-SLAM
-
Appearance-based loop closure detection
More loop closure detection videos here.

















