Supplementary material for the paper:

Automatically designing robot swarms in environments populated by other robots: an experiment in robot shepherding

David Garzón Ramos and Mauro Birattari (September 2023)


Table of Contents
  1. Abstract
  2. Accompanying video
  3. Automatic design process
  4. Control software for the sheep
  5. Code and results

Abstract

Automatic design is a promising approach to realizing robot swarms. Given a mission to be performed by the swarm, an automatic method produces the required control software for the individual robots. Automatic design has concentrated on missions that a swarm can execute independently, interacting only with a static environment and without the involvement of other active entities. In this paper, we investigate the design of robot swarms that perform their mission by interacting with other robots that populate their environment. We frame our research within robot shepherding: the problem of using a small group of robots—the shepherds—to coordinate a relatively larger group—the sheep. In our study, the group of shepherds is the swarm that is automatically designed, and the sheep are pre-programmed robots that populate its environment. We use automatic modular design and neuroevolution to produce the control software for the swarm of shepherds to coordinate the sheep. We show that automatic design can leverage mission-specific interaction strategies to enable an effective coordination between the two groups.

Automatically designing robot swarms in environments populated by other robots: an experiment in robot shepherding

Accompanying video

Accompanying video to the paper. In the video, we present demonstrative examples of the collective behaviors of the robots when they perform the missions Aggregation, Dispersion, and Herding. For each mission, we show a video per method, and per sheep behavior.

Automatic design process

Below an in illustrative example of how the optimization process is conducted during the aplication of a design method. In Pistacchio, the control software of the robots is a probabilistic finite state machine and the optimization algorithm is Iterated F-Race. In EvoCMY, the control software is an artificial neural network and the optimizatio process is conducted via artificial evolution. In C-Human, the control software is also a probabilistic finite state machine, but it is a human that plays the rol of an optimizer to find suitable control sofware.

Automatically designing robot swarms in environments populated by other robots: an experiment in robot shepherding

Control software for the sheep

Below the probabilistic finite state machines with which the sheep operate in the C1-Attraction, C2-Repulsion, and C3-Attraction&Repulsion behaviors. Driven is a parametric module that unifies Pistacchio´s CollorFollowing and ColorElusion modules, and includes a parameter Psi that allows to select either of them. However, unlike Pistacchio´s modules, Driven only moves the sheep if the color specified by the parameter Rho is peceived. The other modules are the same as described for Pistacchio.

Automatically designing robot swarms in environments populated by other robots: an experiment in robot shepherding

Code

The source code, control software, and results are available for download.