Skip to content

About

ROS 2 framework for fast, kinematically-feasible motion planning. This repository implements a deterministic free-space decomposition into overlapping rectangular corridors for efficient navigation in structured environments.

Resources

Stars

7 stars

Watchers

0 watching

Forks

Repository files navigation

corridor_navigation

ROS 2 framework for fast, kinematically-feasible motion planning for non-holonomic autonomous mobile robots in structured environments. This repository implements the Automatic Corridor Generation method, which decomposes free space into a deterministic graph of overlapping rectangular corridors for efficient navigation.

This work corresponds to the paper:
"Fast Motion Planning for Non-Holonomic Mobile Robots via a Rectangular Corridor Representation of Structured Environments", accepted at ICRA 2026.

Prerequisites

System Requirements

  • ROS 2 Jazzy (Ubuntu 24.04)
  • Nav2 Map Server

Python Dependencies

  • numpy, opencv-python, shapely, networkx, scipy

External Dependencies

This framework relies on the kappa-motion-planner library for core geometric data structures and vehicle models.

Installation

  1. Create a workspace and clone:
mkdir -p ~/corridor_ws/src
cd ~/corridor_ws/src
git clone https://github.com/alexglzg/corridor_navigation.git
  1. Install dependencies and build:
cd ~/corridor_ws/src/corridor_navigation
pip install -r requirements.txt

cd ~/corridor_ws/src
git clone https://github.com/soniadesantis/kappa-motion-planner.git

cd ~/corridor_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install
source install/setup.bash

Quick Start

To launch the complete pipeline (Map Server, Corridor Generator, Motion Planner, and RViz):

ros2 launch corridor_bringup full_system.launch.py

Navigating in RViz

  1. Wait for the Map and the Corridor Graph (colored rectangles) to appear.
  2. Use the "2D Pose Estimate" toll in the RViz top bar to set an initial position.
  3. Use the "2D Goal Pose" tool in the RViz top bar to set a destination.
  4. The corridor_planner will automatically:
  • Augment the graph with start/goal positions.
  • Find the optimal corridor sequence.
  • Generate and publish a kinematically-feasible trajectory.

Repository Structure

  • corridor_navigation_interfaces: Custom ROS 2 messages and services for the corridor graph.
  • corridor_gen: The corridor generation engine and offline decomposition logic.
  • corridor_planner: Online graph search and analytical motion planning.
  • corridor_bringup: Centralized launch files, map datasets, and RViz configurations.

Citation

@misc{gonzalezgarcia2026fastmotionplanningnonholonomic,
      title={Fast Motion Planning for Non-Holonomic Mobile Robots via a Rectangular Corridor Representation of Structured Environments}, 
      author={Alejandro Gonzalez-Garcia and Sebastiaan Wyns and Sonia De Santis and Jan Swevers and Wilm Decré},
      year={2026},
      eprint={2602.09714},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2602.09714}, 
}

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

ROS 2 framework for fast, kinematically-feasible motion planning. This repository implements a deterministic free-space decomposition into overlapping rectangular corridors for efficient navigation in structured environments.

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages