Benchmark Task Mode

The Benchmark Mode is for benchmarking multiple planners (contestants) against each other on a predefined benchmarking suite.

Configuration

The central configuration file can be found in arena_bringup/configs/benchmark/config.yaml.

An example configuration can look like the following:

Key Field Type Description
suite config String suite configuration yaml file to be used
scale_episodes int amount of suite simulation
contest config String contest configuration yaml file to be used
general simulator flatland, gazebo name of the simulator

The configuration references a suite and a contest, and also specifies general configuration parameters.

Suite

Suite configuration files are located in the subfolder suites.\ They contain a list of stage configurations: a sequence of benchmarking test cases that each contestant is subjected to.

Each stage is comprised of the following data:

Key Type Description
name String unique name for the stage
episodes int amount of episodes (resets)
robot String name of the robot you want to simulate. e.g.: [burger, jackal, ...]
map String name of the map. The map must be located in /arena_simulation_setup/maps
tm_robots random, scenario,
explore, guided
robot task mode you want to use
tm_obstacles random, scenario,
parametrized
obstacle task mode you want to use
config Object config is used to dynamically override the contents of task_generator.yaml.
Contests

Contest configuration files are located in the subfolder contests.\ They contain a list of planner configurations (contestants) which are benchmarked against each other.

Each contestant is comprised of the following data:

Key Type Description
name String unique name for the stage
local_planner String name of the local planner you want to use. e.g.: [teb, dwa, mpc,...]

Execution

The benchmarking process is started using the following command:

ros2 launch arena_bringup arena.launch tm_modules:=benchmark