suchetanrs/ORB-SLAM3-ROS2-Docker

This repository contains everything needed to run ORB-SLAM3 on a docker container with ROS2 Humble with Ubuntu 22.04.

What it solves

This project provides a dockerized ROS 2 Humble wrapper for ORB-SLAM3, simplifying the installation and deployment of a complex Simultaneous Localization and Mapping (SLAM) system. It removes the friction of setting up dependencies and environment configurations for various sensor setups across different operating systems.

How it works

The project wraps the ORB-SLAM3 library into a ROS 2 node, allowing it to communicate via standard ROS topics and services. It uses Docker to package the entire environment, including support for NVIDIA CUDA for GPU acceleration. The system can be configured for multiple sensor modalities including monocular, stereo, and RGB-D cameras, with or without IMU integration. It also includes a map_generator package that stitches input pointclouds (from LiDAR or depth cameras) using SLAM pose-graph data to create a global pointcloud.

Who it’s for

Robotics developers and researchers who need a reliable, containerized implementation of ORB-SLAM3 for ROS 2 Humble on Ubuntu 22.04 to perform visual SLAM, localization, and mapping.

Highlights

  • Multi-sensor Support: Compatible with mono, mono_imu, stereo, stereo_imu, rgbd, and rgbd_imu configurations.
  • Dockerized Deployment: Includes pre-configured Docker images and compose files for rapid setup, including a CUDA-enabled version.
  • Localization Mode: Supports saving and loading an "atlas" (map) to allow the system to operate in localization-only mode using a pre-mapped environment.
  • Global Map Generation: Features a tool to generate global pointclouds by stitching sensor data based on SLAM trajectories.
  • Dataset & Sim Integration: Ready-to-use integration with the EuRoC dataset and Gazebo simulations.

Related

  • Project
  • Project
  • Project
  • Project
  • Project