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.
- ROS 2 Jazzy (Ubuntu 24.04)
- Nav2 Map Server
numpy,opencv-python,shapely,networkx,scipy
This framework relies on the arena library for core geometric data structures and vehicle models.
Note: The
arenalibrary is currently under construction for public release. To install the current development version, use:
pip install git+https://gitlab.kuleuven.be/u0153320/arena-framework.git@main
- Create a workspace and clone:
mkdir -p ~/corridor_ws/src
cd ~/corridor_ws/src
git clone [https://github.com/alexglzg/corridor_navigation.git](https://github.com/alexglzg/corridor_navigation.git)
- Install dependencies and build:
cd ~/corridor_ws/src/corridor_navigation
pip install -r requirements.txt
cd ~/corridor_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install
source install/setup.bash
To launch the complete pipeline (Map Server, Corridor Generator, Motion Planner, and RViz):
ros2 launch corridor_bringup full_system.launch.py
- Wait for the Map and the Corridor Graph (colored rectangles) to appear.
- Use the "2D Pose Estimate" toll in the RViz top bar to set an initial position.
- Use the "2D Goal Pose" tool in the RViz top bar to set a destination.
- The
corridor_plannerwill automatically:
- Augment the graph with start/goal positions.
- Find the optimal corridor sequence.
- Generate and publish a kinematically-feasible trajectory.
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.
@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},
}
This project is licensed under the MIT License - see the LICENSE file for details.