Supplementary material for the paper:

Modeling Robot Swarms Using Integrals of Birth-Death Processes

Yara Khaluf1 and Marco Dorigo2 (2015)

1Department of Computer Science, University of Paderborn, Germany
2IRIDIA, Université Libre de Bruxelles, Belgium


Table of Contents
  1. Abstract
  2. The ARGoS Simulator
  3. The code for the cleaning task
  4. Code compilation
  5. Parameters
  6. The experiment output
  7. A sample video

Abstract

This supplementary material contains instructions to download the code to run the cleaning task experiment presented in the main paper (section 5) and explains how to compile and run it.

The ARGoS Simulator

The ARGoS simulator can be downloaded here

The code for the cleaning task

The cleaning task code can be downloaded here

Code compilation

Open a shell, go to the directory where you unpacked the tar.bz2 file and type:
$ mkdir build
$ cd build

To produce fast but not debuggable code, type:
$ cmake -DCMAKE_BUILD_TYPE=Release ..

To produce slow but debuggable code, type:
$ cmake -DCMAKE_BUILD_TYPE=Debug ..

Launch the compilation with the command:
$ make

If you find no error, you are ready to go to the next phase.

Set the environment variable ARGOS PLUGIN PATH to the full path in which the build/ directory is located:
$ export ARGOS_PLUGIN_PATH=/path/to/build/

To run a cleaning task experiment, the configuration files should be in the directory "experiments". Therefore, go to that directory and type:
$ argos3 -c cleaning_robots.argos

Note that the experiment stops when all the robots become inactive.

Parameters

The experiment parameters, that the user can set in the experiment configuration file, are:

The experiment output

An experiments generates two output files. Both are located in the "experiments" directory:

A sample video

In the sample video below, we present a swarm of 50 homogeneous foot-bots performing a cleaning task. The white traces indicate the surface cleaned by the robots while moving in the arena. When the robots have maintenance issues (e.g., their battery is low, they need to be repaired, …) they move to the maintenance area, i.e., the grey area on the right side of the arena. This happens with rate mu. Robots in the maintenance area get repaired at rate lambda (lambda < mu) and then re-join the cleaning tasks.
Robots set their LEDS to green while they are cleaning and to white while they are avoiding obstacles (other robots). When in the maintenance area, robots set their LEDs to red.
The speed of the video is eight times faster than the simulation time. In the code available for downloading, we have removed the visualization of the white traces that indicate the surface cleaned as it slows down the simulation dramatically.