RTAB-Map

RTAB-Map — Free Download. 3D Mapping and Localization

RTAB-Map (Real-Time Appearance-Based Mapping) is a tool for mapping and localization in 3D environments. It uses advanced algorithms to create detailed maps from sensor data such as cameras, lasers, and Kinect. It is compatible with ROS and is used in robotics, augmented reality, and autonomous navigation applications.

★★★★★
4.0(1 rating)

Download RTAB-Map (Official links)
File size: 123 MB
The latest version of RTAB-Map is: 0.24.2
Operating system: Windows, Mac OS
Languages: English
Price: $0.00 USD

  • Real-time mapping. RTAB-Map builds 3D maps while the robot or device moves through the environment. It processes sensor data in real time to generate accurate representations of the space, including obstacles and surfaces.
  • Appearance-based localization. The system compares visual features of the environment to determine the robot's current position within a previously generated map. This improves accuracy in dynamic environments.
  • Multi-sensor integration. Supports RGB-D cameras, LIDAR, depth sensors, and stereo cameras. Data from different sensors is fused to obtain a more complete representation of the environment.
  • Loop closure detection. Detects when the robot returns to a location that has already been mapped, correcting accumulated errors in the trajectory. It uses visual descriptors and similarity metrics to identify known places.
  • Point cloud processing. Stores and manages large volumes of 3D data, applying filters and optimization algorithms to reduce noise and improve map quality.
  • Surface reconstruction. Generates 3D meshes from point clouds, allowing complete structures to be visualized with realistic textures derived from the captured images.
  • Map export. Lets you save generated maps in formats such as PLY, OBJ, and PCD, making them easy to use in other 3D visualization or processing software.
  • Adjustable memory management. The system manages memory resources through a selective loop closure strategy, prioritizing key areas of the map to maintain stable performance during long sessions.
  • ROS support. Integrates with the Robot Operating System (ROS) through dedicated nodes, allowing use on standard robotic platforms and simplifying communication with other system components.
  • Integrated visualization. Includes tools for viewing maps, trajectories, and sensor data in real time, with options to customize the graphical display to the needs of your project.
  • Autonomous navigation. Provides essential data for path planning systems, including information about obstacles and traversable surfaces, enabling robots to move autonomously.
  • Sensor calibration. Offers utilities for calibrating cameras and depth sensors, ensuring that the captured data is accurate and correctly aligned for processing.

RTAB-Map was created by Mathieu Labbé and other contributors at the IntRoLab laboratory at the Université de Sherbrooke in Canada. Development began in 2013 as a solution for real-time mapping on mobile robots. It is written in C++ and uses libraries such as OpenCV, PCL, and Qt. The project remains active, with regular updates that add new features and performance improvements.

Changelog

Version: 0.24.2
  1. Faster graph zoom thanks to a snapshot-based preview.
  2. OpenCV 5 support.
  3. New multi-component view.
  4. Reprocessing: new -abort_disconnected_sessions option to abort disconnected sessions.
  5. Graph reduction: new option to remove orphan nodes from the working memory (WM) after the reduction.
  6. Fixed several issues with intermediate nodes and with node retrieval and immunization.
  7. BFS replaces A* for proximity graph-depth filtering.
  8. Cloud generation is parallelized in the export/view clouds dialog and in rtabmap-export.
  9. VWDictionary: the FLANN kNN search now makes use of multiple cores.
  10. Memory: compressed image and depth blobs are reused when the pixels have not changed.
  11. New abstract FlannIndex interface, with the NanoFlannIndex subclass as an implementation.
  12. Flann index serialization: the rebalancing factor is deprecated, and a possible stale Flann index is fixed.
  13. New Sparse Bayes method.
  14. Fixed ground being segmented as an obstacle when grid noise filtering is used.
  15. Fixed the spam of non-3D occupancy grids when subscribing to octomap.
  16. GridMap: fixed an Eigen error affecting downstream consumers.
  17. Odometry: support for features-only frames, plus a minimum ratio gate for initializing the first scan with ICP.
  18. Fixed the empty cloud crash when OdomF2M/ScanRange is used, and the ICP strategy fallback.
  19. OptimizerG2O: BA outliers are tracked per observation, g2o has new default max iterations, and yaw is now correctly constrained in the global frame for the root node.
  20. Fixed an issue with local BA and improved on-demand signature loading.
  21. Fixed the orphaned progress dialog during loop closure detection.
  22. A stale optimized graph is now detected when optimized poses are not saved correctly, and the neighbor max error in graph repair is fixed.
  23. Fixed the getConnectedGraph abort on macOS by using lower_bound() before iterating over the multimap entries of a key.
  24. DBDriver: resolved the lock-order inversion between the dbSafeAccess and trashes mutexes, with build-time protection for the trash mutex.
  25. Added UScopeMutex::lockTry() support.
  26. The isValid() method of SensorData now checks whether the camera models are valid.
  27. util2d::getDepth() uses the mean for the neighbor depth tolerance.
  28. Support for inverted depth compression (with png or rvl).
  29. New IMU motion predictor and stereo exposure compensation.
  30. Memory::computeTransform() keeps global descriptors when reloading node data.
  31. New upright option for AprilTag.
  32. StereoFromMotion: fixed words3D indexing with RGB-only input and the scaling of the camera local transform translation.
  33. Fixed gtsam compatibility for 4.3.1-ros.
  34. The Optimizer/PriorsIgnored description has been updated.
  35. The fetched googletest is no longer installed into the install prefix.
  36. CI: coverage extended with g2o, gtsam, ceres and libpointmatcher, Ubuntu ARM runners instead of QEMU, opencv4 pinned on macOS, merge queue enabled, Docker jobs cancelled on consecutive pushes, and github-stats-action upgraded to version 2.
  37. More documentation and tests, plus various issues detected by the rtabmap_slam tests and updated checks for a flaky test.

New programs