Swarm Behaviors

ROS2swarm includes a library of swarm behaviors that are separated into movement patterns for robot motion and voting patterns for collective decision-making. Every pattern can either be a basic pattern (i.e., basic building blocks) or a combined pattern (i.e., using one or more patterns to create a more complex behavior).

The different patterns may have requirements regarding the sensory setup to be executable. We summarize the existing patterns as well as their requirements in the following table.

Pattern

Domain

Type

Simulation

Robot

Sensor Requirements

aggregation

Movement

Basic

x

x

LiDAR or IR

attraction

Movement

Basic

x

x

LiDAR or IR

attraction2

Movement

Basic

x

x

LiDAR or IR

dispersion

Movement

Basic

x

x

LiDAR or IR

drive

Movement

Basic

x

x

magnetometer

Movement

Basic

x

minimalist flocking

Movement

Basic

x

x

LiDAR or IR

random walk

Movement

Basic

x

x

discussed dispersion pattern

Movement

Combined

x

x

LiDAR or IR

voter model

Voting

Basic

x

x

majority rule

Voting

Basic

x

x

To set a specific pattern in the launch script, specify pattern := *pattern_name*_pattern as a parameter, e.g. to launch the random walk pattern, you have to set pattern to random_walk_pattern.