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.

View on GitHub