Skip to content

ivaROS/DynamicGap

Repository files navigation

Dynamic Gap: Safe Gap-based Navigation in Dynamic Environments

arXivVideoCitation

empty empty empty

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.

Installation

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.

Quick Start

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

Benchmarking

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

Citation

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},
}

About

ROS package for Dynamic Gap local planner

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages