From the eInfoChips talk at Embedded Vision Summitcat test.md

GPU-Accelerated RTAB-Map SLAM by eInfochips

📌 Overview

eInfochips, a subsidiary of Arrow Electronics, presented their advancements in enhancing RTAB-Map’s performance through GPU acceleration at the Embedded Vision Summit 2025. Their focus was on optimizing LiDAR-based SLAM for real-time applications on NVIDIA platforms. Bluesky Social+2X (formerly Twitter)+2X (formerly Twitter)+2


🧭 Understanding SLAM and RTAB-Map

What is SLAM?

Simultaneous Localization and Mapping (SLAM) enables a robot to build a map of an unknown environment while simultaneously tracking its position within it. Key challenges include:

  • Sensor Drift: Over time, sensors like IMUs can drift, leading to inaccuracies.
  • Environmental Changes: Dynamic environments can cause mapping failures.
  • Kidnapped Robot Problem: If a robot is moved without tracking (e.g., lifted and placed elsewhere), it may lose its position estimate.

RTAB-Map Features

RTAB-Map (Real-Time Application-Based Mapping) is a graph-based SLAM approach supporting various sensors, including RGB-D cameras, stereo cameras, and LiDAR. Notable features:

  • Multi-Sensor Support: Integrates data from different sensor types.

  • Robust Localization: Offers improved localization compared to some other SLAM methods.

  • Multi-Session Mapping: Capable of building maps over multiple sessions.

  • ROS Compatibility: Easily integrates with ROS


⚙️ GPU Acceleration in RTAB-Map

To enhance real-time performance, eInfochips implemented GPU acceleration in RTAB-Map, focusing on both the frontend and backend processes.

Frontend Enhancements

  • Short-Term Memory (STM): Processes incoming point cloud frames to create a local map.
  • Point Cloud Processing: Utilizes GPU acceleration for tasks like filtering and ground segmentation.
  • Synchronization: Ensures synchronized data processing across sensors.

Backend Enhancements

  • Map Optimization: Accelerates graph optimization processes using GPU capabilities.

  • Loop Closure Detection: Enhances the detection of previously visited locations for map correction.


🧪 Experimental Setup and Results

  • Platform: Implemented on a ROS2-based RTAB-Map pipeline.

  • Input Data: Processed point clouds of size 512x512 at 18 FPS.

  • Performance Metrics:

    • Tracking Error: Assessed the accuracy of the robot’s estimated trajectory.

    • Map Quality: Evaluated the fidelity of the generated maps.

    • FPS Maintenance: Achieved higher frame rates without compromising map quality. This was done on an AGX and AGX Orin with Jetpack 5.1.2 for CUDA version purposes (not sure - don’t think they knew what they were doing here)


📊 Analysis: KD-Tree vs. Octree

  • KD-Tree: Efficient for organizing point clouds but computationally intensive.

  • Octree: Offers a more GPU-friendly structure, enabling faster processing with comparable accuracy.

By implementing octrees on GPUs, eInfochips leveraged the parallel processing capabilities to accelerate point cloud operations such as filtering and ground segmentation. This approach aligns with findings from other studies, which have demonstrated significant performance improvements using GPU-based octree implementations for tasks like ray shooting in volumetric mapping.


📈 Efficiency Metrics

To measure SLAM efficiency:

  1. Tracking Error: Difference between estimated and actual positions.

  2. Map Quality: Accuracy and completeness of the generated map.

  3. Frame Rate (FPS): Higher FPS indicates better real-time performance.

  4. Localization Accuracy: Precision of the robot’s position estimation.