ignc-research / arena-bench

GNU General Public License v2.0
52 stars 10 forks source link

Linux made-with-python

Arena-bench (RA-L and IROS 22)

This repository provides the code used in our paper "Arena-Bench: A Benchmarking Suite for Obstacle Avoidance Approaches in Highly Dynamic Environments" (accepted for publication in the IEEE Robotics and Automation Letters). The scope of this project is to provide a benchmark suite to compare and evaluate classic and learning-based dynamic obstacle avoidance approaches on different robotic systems in highly dynamic simulation environments. Link to demo video.

If you find this repository useful, please cite our paper

@ARTICLE{9827557,

  author={Kästner, Linh and Bhuiyan, Teham and Le, Tuan Anh and Treis, Elias and Cox, Johannes and Meinardus, Boris and Kmiecik, Jacek and Carstens, Reyk and Pichel, Duc and Fatloun, Bassel and Khorsandi, Niloufar and Lambrecht, Jens},
  journal={IEEE Robotics and Automation Letters}, 
  title={Arena-Bench: A Benchmarking Suite for Obstacle Avoidance Approaches in Highly Dynamic Environments}, 
  year={2022},
  pages={1-8},
  doi={10.1109/LRA.2022.3190086}}

Benchmark scenarios

Benchmarking scenarios were developed uniquely combining the following components Robot World Planner Obstacles
- jackal
- burger
- robotino (rto)
- small_warehouse
- map2
- map5
- teb
- dwa
- mpc
- rosnav
- cadrl
- 5
- 10

The following clips show examples of the implemented scenarios:


Benchmark architecture

The repository is structured into a modular architecture with four models at its core.

NOTE: All modular components have their individual repository and are currently being extended with additional features


Running the Benchmark

Prerequisites

Below is the software we used. We cannot guarantee older versions of the software to work. Yet, newer software is most likely working just fine.

Software Version
OS Ubuntu 20.04.4
Python 3.8.10

Installation

To install the repo run:

wget https://raw.githubusercontent.com/ignc-research/arena-bench/main/setup.sh -O - | bash

Manually running the benchmark

You can run specific scenarios, be using the following syntax:

roslaunch arena_bringup start_arena_gazebo.launch local_planner:=PLANNER world:=WORLD model:=ROBOT scenario_file:=SCENARIO_FILE

with the choice of:

Example command:

workon rosnav
roslaunch arena_bringup start_arena_gazebo.launch local_planner:=dwa world:=map2 model:=turtlebot3_burger scenario_file:=map2_obs05.json