ORB_SLAM2
Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities
A real-time C++ research system for visual SLAM that lets robots and drones build 3D maps and track their own position using monocular, stereo, or depth cameras, with loop closure to correct accumulated errors.
ORB-SLAM2 is a research system that lets a camera figure out where it is in physical space while simultaneously building a map of its surroundings. This problem is called SLAM, which stands for Simultaneous Localization and Mapping, and it is a core challenge in robotics and self-driving vehicles. A robot or drone running this software can move through an environment and, using only camera input, keep track of its own position and accumulate a rough 3D map of what it has seen.
The system works with three types of camera setups: a single standard camera (monocular), two side-by-side cameras like human eyes (stereo), and a depth camera that measures distance directly (RGB-D, the kind used in devices like the Microsoft Kinect). Each mode has different accuracy properties. The stereo and depth modes can produce maps at real-world scale, while the monocular mode maps relative geometry but cannot determine absolute distances on its own.
A notable capability is loop closure. If the camera travels a loop and returns to a place it has already mapped, the system recognizes the match and corrects accumulated positioning errors. It can also relocalize, meaning if the camera is moved suddenly or loses tracking, it can figure out where it is again by comparing what it currently sees to its stored map.
This is a C++ library produced by academic researchers at the University of Zaragoza and published in IEEE Transactions on Robotics. It is intended for robotics engineers and computer vision researchers who want a tested, real-time SLAM implementation to integrate into their own systems. Installing it requires compiling several dependencies and working on Linux. It is released under a GPLv3 license, with a commercial licensing option available by contacting the authors.
Where it fits
- Integrate real-time visual SLAM into a robot or drone so it can navigate and map an environment using only camera input.
- Use loop closure and relocalization to keep a robot correctly oriented even after revisiting a location or temporarily losing tracking.
- Evaluate monocular, stereo, and RGB-D camera setups for metric-scale mapping in academic robotics research.