rmcl  by uos

Robot localization in 3D environments

Created 3 years ago
251 stars

Top 99.8% on SourcePulse

GitHubView on GitHub
Project Summary

Mobile Robot Localization in 3D Triangle Meshes & Geometric Scene Graphs

This repository provides algorithms for mobile robot localization within 3D triangle meshes and geometric scene graphs. It addresses the critical need for precise pose estimation in environments mapped by architects or generated via SLAM, enabling accurate mission planning. The system is designed for both tracking (known initial pose) and global localization (kidnapped robot problem), benefiting researchers and developers requiring robust navigation solutions.

How It Works

The project offers two primary methods: MICP-L, which uses mesh-based Iterative Closest Point (ICP) with hardware-accelerated ray casting for direct registration of range sensor data to a mesh, enabling 6DoF pose tracking. RMCL implements Ray Casting Monte Carlo Localization (MCL), a practical, real-time global localization technique accelerated by high-performance ray tracing over scene graphs. Both approaches are designed for efficient deployment and tuning across diverse hardware, with parameters adjustable to meet specific compute and memory constraints.

Quick Start & Requirements

  • Installation: Clone repositories into a ROS 2 workspace and run colcon build.
  • Prerequisites: ROS 2 (Humble or Jazzy compatible branches), Rmagine (v >= 2.3.2), and a range sensor. An NVIDIA GPU is recommended for OptiX backend acceleration. mesh_tools is required for visualizations.
  • Resources: Hands-on examples are available at https://github.com/amock/rmcl_examples.

Highlighted Details

  • MICP-L provides 6DoF localization in meshes using hardware-accelerated ray casting, demonstrated on datasets like Hilti and MulRan.
  • RMCL offers real-time Monte Carlo Localization (MCL) accelerated by ray tracing, designed for scalability and tunable performance.
  • Supports localization in both triangle meshes and geometric scene graphs.
  • Addresses the "kidnapped robot problem" for robust global localization.

Maintenance & Community

The project stems from active research with associated publications and experimental repositories. Specific community channels (e.g., Discord, Slack) or a public roadmap are not detailed in the provided README.

Licensing & Compatibility

The RMCL software package is licensed under BSD-3-Clause. MICP-L experiments are primarily compatible with ROS 1, while RMCL targets ROS 2 distributions like Humble and Jazzy.

Limitations & Caveats

RMCL is described as being in a "pre-release stage". The provided experimental setups for MICP-L are mainly compatible with ROS 1, requiring adaptation for ROS 2 integration.

Health Check
Last Commit

3 weeks ago

Responsiveness

1 day

Pull Requests (30d)
1
Issues (30d)
0
Star History
3 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.