CROCS - Comparison of RTAB-Map, OpenVSLAM, Cartographer, and SPTAM
Overview
This report compares four different SLAM algorithms: SPTAM, OpenVSLAM, RTAB-Map, and Cartographer. The study evaluates their performance, accuracy, and ease of use for various applications in outdoor environments. The goal is to determine which algorithm is most suitable for real-time navigation and mapping using onboard sensors such as cameras and LIDAR.
SLAM Algorithms
1. SPTAM
Stereo Parallel Tracking and Mapping (SPTAM) is a real-time algorithm that uses stereo cameras to estimate 3D poses. It employs feature extraction and keyframe-based loop detection for accuracy, leveraging ORB features and bundle adjustment for optimization.
2. OpenVSLAM
OpenVSLAM is a visual SLAM system supporting monocular, stereo, and RGB-D setups. It is modular and offers flexibility with components like tracking, mapping, and global optimization. It uses ORB features and a g2o-based graph optimizer for precise pose estimation.
3. RTAB-Map
RTAB-Map is a graph-based SLAM approach that uses RGB-D, stereo, and LIDAR sensors. It employs a bag-of-words method for loop closure detection and optimizes the map using a graph structure.
4. Cartographer
Cartographer is a real-time SLAM algorithm that uses 2D and 3D LIDAR data along with IMU sensors for mapping and localization. It uses submap matching and optimization techniques for accurate tracking.
Experiment and Results
The KITTI dataset was used for benchmarking the SLAM algorithms, with a focus on outdoor environments. The algorithms were tested using various sensor setups, including stereo cameras and LIDAR. Key performance metrics like Translational Relative Pose Error (RPE), Rotational RPE, and Absolute Trajectory Error (ATE) were used to evaluate the accuracy of each algorithm.
Performance Metrics
- Translational RPE: Measures the position difference between estimated and true values.
- Rotational RPE: Measures the angular error in the orientation.
- ATE: The root mean square error between estimated and ground truth trajectory after alignment.
Results
SPTAM
The trajectory generated by SPTAM showed notable discrepancies in the y-direction, with an overall positional error greater than OpenVSLAM. However, SPTAM outperformed Cartographer in terms of rotational accuracy.
OpenVSLAM
OpenVSLAM demonstrated better performance than SPTAM, especially in the y-direction, and had lower translational and rotational errors. It performed better in dynamic, outdoor environments compared to Cartographer.
RTAB-Map
RTAB-Map faced significant challenges, including crashes at higher speeds and the inability to process the data in real-time. It was difficult to compare it with other algorithms due to these limitations.
Cartographer
Cartographer performed poorly in the outdoor settings used in this study. Its accuracy dropped due to the challenges of handling fast-moving objects and dynamic environments, making it more suitable for indoor applications.
Comparison Table
| SLAM Algorithm | Translational RPE (m) | Rotational RPE (deg) | Absolute Trajectory Error (m) |
|---|---|---|---|
| SPTAM | 0.0349 | 0.344 | 9.225 |
| OpenVSLAM | 0.059 | 0.019 | 7.790 |
| Cartographer | 2.05 | 4.53 | 56.667 |
Conclusion
OpenVSLAM and SPTAM outperformed Cartographer in the study, especially in outdoor settings. OpenVSLAM excelled at handling errors in the y-direction, while SPTAM had lower rotational errors. Cartographer's poor performance was largely due to its primary design for indoor environments.