Dynamic gap is a local motion planner designed to run in dynamic, structured environments. That means that this planner can excel in both empty regions full of moving agents as well as crowded, dense regions with corridors, obstacles, and rooms. In this proposed work, we extend the family of perception-informed gap-based planners to dynamic settings by modeling how gaps evolve over time. This gap evolution informs feasibility analysis, trajectory generation, and trajectory selection.
This planner has been tested on ROS Noetic on Ubuntu 20.04.
We implement this planner within the Arena-Rosnav benchmarking environment.
We forked our own version of Arena-Rosnav to solve some pre-existent problems in their repositories. In order to install our version, please visit this repository and follow the installation instructions within the README. If you encounter any problems related to installation, feel free to leave an issue on this Github and we will respond as quickly as possible.
To quickly deploy a planner with Arena-rosnav, you can select the desired planner in the local_planner
argument and the desired map in the map_file
argument within the start_arena.launch
file in the arena_bringup
ROS package:
📦arena-rosnav ┣ 📂arena-bringup ┣ 📂configs ┣ 📂launch ┣ 📂testing ┣ 📂training ┣ 📂utils ┣ start_arena.launch ┣ 📂params ┣ 📂rviz ┣ 📂scripts ┣ 📂task_generator ┣ 📂testing ┣ 📂training ┣ 📂utils
Then, you can run
roslaunch arena_bringup start_arena.launch
If you would like to run more systematic tests, then you can set the config.yaml
file to include your desired scenarios in the suite section and your desired set of planners in the contest section:
📦arena-rosnav ┣ 📂arena-bringup ┣ 📂configs ┣ 📂benchmark ┣ 📂contests ┣ Set your desired set of planners here! ┣ 📂logs ┣ 📂suites ┣ Set your desired set of scenarios here! ┣ config.yaml ┣ 📂parametrized ┣ 📂robot_setup ┣ 📂training ┣ 📂launch ┣ 📂params ┣ 📂rviz ┣ 📂scripts ┣ 📂task_generator ┣ 📂testing ┣ 📂training ┣ 📂utils
Then, you can run
roslaunch arena_bringup start_arena.launch tm_modules:=benchmark
If would like to cite this work, please use the following format:
@article{asselmeier2024dynamicgap,
title ={Dynamic Gap: Safe Gap-based Navigation in Dynamic Environments},
author ={Max Asselmeier, Dhruv Ahuja, Abdel Zaro, Ahmad Abuaish, Ye Zhao, Patricio A. Vela},
journal = {arXiv},
year = {2024},
month = {September},
}