// the find
introlab/rtabmap
RTAB-Map library and standalone application
RTAB-Map is a graph-based SLAM library that does real-time appearance-based loop closure detection for 3D mapping. It runs standalone or as a ROS/ROS2 node and targets robotics use cases: building dense point clouds and occupancy grids from RGB-D, stereo, or lidar sensors. If you're building a robot that needs to know where it is and what its environment looks like, this is one of the few mature C++ options that isn't tied to a specific sensor vendor.
Active maintenance across ROS Noetic, Humble, Jazzy, Kilted, and Rolling simultaneously — that's genuinely unusual for a C++ robotics project. Cross-platform CI on Linux, macOS, and Windows, plus Docker images and devcontainer configs for every major Ubuntu distro, which makes getting a working build environment much less painful than most robotics software. Mobile support (Android via ARCore, iOS) goes further than most SLAM libraries bother. The loop closure detection architecture separates the memory manager from the detection algorithm, which makes the approach scale to large environments without blowing RAM.
Dependency hell is real: building from source requires OpenCV, PCL, libpointmatcher, g2o, GTSAM, and optionally a dozen more, and version compatibility between them is your problem. The standalone GUI is functional but shows its academic origins — not something you'd ship to end users. Documentation lives partly on the wiki, partly in papers, and partly in forum answers, so understanding the tuning parameters (and there are many) requires cross-referencing all three. The Android app still references Project Tango, a platform Google killed in 2017, which suggests parts of the mobile codebase are in maintenance limbo.