GL-accelerated Indirect-Direct Embedded SLAM
A hybrid visual SLAM system combining ORB-SLAM2's sparse backend with GPU-accelerated direct photometric tracking for embedded platforms.
- Hybrid Tracking: Sparse indirect (ORB-SLAM2) backend with direct photometric tracking for intermediate frames
- GPU Acceleration: OpenGL ES 3.1 compute shaders for photometric tracking pipeline
- Embedded-First: Targets ARM platforms (Raspberry Pi 5, Radxa Zero 3W) with vendor-agnostic GPU support
- No Pangolin: Custom EGL/SDL-based viewer for embedded deployment
- Real-time: 3-4x speedup over CPU-only direct tracking on tested platforms
./install_dependencies.sh
./build.shDebian 12 (Bookworm) / Ubuntu 22.04+
sudo apt update
sudo apt install -y \
build-essential cmake git \
libeigen3-dev \
libopencv-dev \
libsdl2-dev \
libboost-all-dev \
libglm-dev \
libegl1-mesa-dev \
libgles2-mesa-dev- OpenGL ES 3.1+ capable GPU
- For embedded platforms: Mali, VideoCore, or similar with compute shader support
Verify GPU support:
eglinfo | grep "OpenGL ES"
# Should show: OpenGL ES 3.1 or higher# Clone repository
git clone https://github.com/capsMD/GLidE-SLAM.git
cd GLidE-SLAM
# Build everything
./build.shThis will:
- Build DBoW2 in
Thirdparty/DBoW2/ - Build g2o in
Thirdparty/g2o/ - Extract vocabulary file
- Build
libGLidE_SLAM.soinlib/ - Build example executables in
Examples/Monocular/
Tested on:
- Radxa Zero 3W (RK3566, Mali-G52)
- Raspberry Pi 5 (BCM2712, VideoCore VII)
Additional notes:
- Mesa 24.x+ recommended for best Panfrost (Mali) support
- Kernel 6.1+ for optimal ARM GPU drivers
./Examples/Monocular/mono_tum \
Vocabulary/ORBvoc.txt \
Examples/Monocular/TUM1.yaml \
/path/to/rgbd_dataset_freiburg1_xyz./Examples/Monocular/mono_kitti \
Vocabulary/ORBvoc.txt \
Examples/Monocular/KITTI00-02.yaml \
/path/to/dataset/sequences/00- Core SLAM framework (derived from ORB-SLAM2): GPL-3.0 (see License-gpl.txt)
- GLidE Engine (GPU acceleration): Proprietary (see source file headers)
- Free for academic/research use with citation
- Commercial licensing available
See LICENSE.txt and Dependencies.md for details.
If you use GLidE-SLAM in academic work, please cite:
[Your IROS 2026 paper citation - to be added]This work builds upon ORB-SLAM2 by Raúl Mur-Artal and Juan D. Tardós.