Table of Contents
Fetching ...

ROS2swarm - A ROS 2 Package for Swarm Robot Behaviors

Tanja Katharina Kaiser, Marian Johannes Begemann, Tavia Plattenteich, Lars Schilling, Georg Schildbach, Heiko Hamann

TL;DR

This paper presents ROS2swarm, a ROS 2 package that delivers a library of modular, ready-to-use swarm behavioral primitives to streamline the development and experimentation of swarm robotics across heterogeneous platforms. The framework separates movement and voting patterns, adds a Hardware Protection Layer for collision avoidance, and enables per-robot autonomy with optional inter-robot communication via global topics. The authors demonstrate the approach on three platforms (TurtleBot3 Burger, TurtleBot3 Waffle Pi, and Jackal) through experiments including attraction and a combined pattern (discussed dispersion), showing both the flexibility and the impact of platform-specific constraints. The work contributes a decentralized, extensible toolchain that facilitates rapid swarm experimentation and paves the way for broader platform support and more complex collective behaviors in ROS 2.

Abstract

Developing reusable software for mobile robots is still challenging. Even more so for swarm robots, despite the desired simplicity of the robot controllers. Prototyping and experimenting are difficult due to the multi-robot setting and often require robot-robot communication. Also, the diversity of swarm robot hardware platforms increases the need for hardware-independent software concepts. The main advantages of the commonly used robot software architecture ROS 2 are modularity and platform independence. We propose a new ROS 2 package, ROS2swarm, for applications of swarm robotics that provides a library of ready-to-use swarm behavioral primitives. We show the successful application of our approach on three different platforms, the TurtleBot3 Burger, the TurtleBot3 Waffle Pi, and the Jackal UGV, and with a set of different behavioral primitives, such as aggregation, dispersion, and collective decision-making. The proposed approach is easy to maintain, extendable, and has good potential for simplifying swarm robotics experiments in future applications.

ROS2swarm - A ROS 2 Package for Swarm Robot Behaviors

TL;DR

This paper presents ROS2swarm, a ROS 2 package that delivers a library of modular, ready-to-use swarm behavioral primitives to streamline the development and experimentation of swarm robotics across heterogeneous platforms. The framework separates movement and voting patterns, adds a Hardware Protection Layer for collision avoidance, and enables per-robot autonomy with optional inter-robot communication via global topics. The authors demonstrate the approach on three platforms (TurtleBot3 Burger, TurtleBot3 Waffle Pi, and Jackal) through experiments including attraction and a combined pattern (discussed dispersion), showing both the flexibility and the impact of platform-specific constraints. The work contributes a decentralized, extensible toolchain that facilitates rapid swarm experimentation and paves the way for broader platform support and more complex collective behaviors in ROS 2.

Abstract

Developing reusable software for mobile robots is still challenging. Even more so for swarm robots, despite the desired simplicity of the robot controllers. Prototyping and experimenting are difficult due to the multi-robot setting and often require robot-robot communication. Also, the diversity of swarm robot hardware platforms increases the need for hardware-independent software concepts. The main advantages of the commonly used robot software architecture ROS 2 are modularity and platform independence. We propose a new ROS 2 package, ROS2swarm, for applications of swarm robotics that provides a library of ready-to-use swarm behavioral primitives. We show the successful application of our approach on three different platforms, the TurtleBot3 Burger, the TurtleBot3 Waffle Pi, and the Jackal UGV, and with a set of different behavioral primitives, such as aggregation, dispersion, and collective decision-making. The proposed approach is easy to maintain, extendable, and has good potential for simplifying swarm robotics experiments in future applications.
Paper Structure (11 sections, 8 figures, 1 table)

This paper contains 11 sections, 8 figures, 1 table.

Figures (8)

  • Figure 1: Two of the three used robot hardware platforms: (a) a swarm of the ground mobile robot platform TurtleBot3 Waffle Pi from Robotis and (b) a Jackal unmanned ground vehicle (UGV) from Clearpath Robotics.
  • Figure 2: UML diagram of ROS2swarm's package architecture. The AbstractPattern class inherits from the standard ROS 2 node class. MovementPattern and VotingPattern are subclasses of the AbstractPattern class and differentiate implemented behaviors into patterns for robot movement and patterns for collective decision-making. Left out of the pattern hierarchy is the HardwareProtectionLayer that prevents collisions with obstacles. Not shown are several utility classes for processing laser scan data, better readability of state machines, and handling of common voting procedures and standard ROS 2 processes.
  • Figure 3: Communication between the ROS 2 nodes of ROS2swarm using the ROS 2 publisher/subscriber model when executing movement patterns. Laser scan data from a LiDAR is used by the movement pattern to calculate a drive command and by the hardware protection layer to check for potential collisions. The hardware protection layer sends either the drive command from the movement pattern or an adjusted command to avoid obstacles to the robot's motors. ROS 2 nodes are represented by circles and ROS 2 topics by ellipses. Publishers (Pub) and subscribers (Sub) are represented by rectangles. Arrows indicate the data flow.
  • Figure 4: Arbitration architecture of the hardware protection layer. The light blue area indicates the sensor range which is used by the movement pattern to calculate drive commands. Hardware protection is active and suppresses (using 'suppression' S as defined in the subsumption architecture) drive commands from the movement patterns when there are obstacles in the dark blue area as shown for the upper robot.
  • Figure 5: Experiment 1 in the Gazebo simulator: swarms of (a, c) seven TurtleBot3 Waffle Pis, (b) seven TurtleBot3 Burgers, and (d) five Jackal robots executing the attraction pattern. Robots are initially positioned at one meter intervals whereby the rightmost robot is positioned in the arena's center. The arena has a size of $18~\textrm{m}\times 18~\textrm{m}$, but we only show a subarea for better visualization. Grid cells have a size of $1~\textrm{m}\times 1~\textrm{m}$ each.
  • ...and 3 more figures