Simulation setup using Docker Compose - osrf/mbzirc Wiki

This page is in a draft state and depends on unreleased changes

The final evaluation runs will be done on Open Robotics's cloud simulation platform that will execute the run over multiple machine instances. To reproduce a similar setup that will be used, we provide a script to generate a Docker-Compose config file for launching multiple containers locally on a single machine.

The script is located in the mbzirc/docker/compose. Please see the README.md file for usage instructions.

You will need the following in order to launch a simulation with Docker Compose:

  1. Solution Docker image
  2. Team configuration file

We will demonstrate how the setup works with the example mbzirc_seed solution and its team config file.

  1. First run the gen_docker_compose.py script to generate a Docker Compose yaml file. The mbzirc_seed argument is the name of the docker image which we built using these Docker files.

    python3 gen_docker_compose.py --config `ros2 pkg prefix mbzirc_seed`/share/mbzirc_seed/config/team.yaml --image mbzirc_seed
    

    This should generate a mbzirc_compose.yaml file containing 1 simulation container, 3 bridge containers, and 3 solution containers.

  2. To launch the whole simulation setup, run:

    docker compose -f mbzirc_compose.yaml up -d
    

    Once launched, the gazebo window should pop up. After a while, simulation should start running and the 2 quadrotors and 1 USV will be moving.

    mbzirc_seed_coast

  3. To bring down all the containers, run

    docker compose -f mbzirc_compose.yaml down