Table of Contents
Fetching ...

Swarmodroid & AMPy: Reconfigurable Bristle-Bots and Software Package for Robotic Active Matter Studies

Alexey A. Dmitriev, Vadim A. Porvatov, Alina D. Rozenblit, Mikhail K. Buzakov, Anastasia A. Molodtsova, Daria V. Sennikova, Vyacheslav A. Smirnov, Oleg I. Burmistrov, Timur I. Karimov, Ekaterina M. Puhtina, Nikita A. Olekhno

TL;DR

Swarmodroid 1.0 provides an open-source, reconfigurable bristle-bot platform and a Python-based AMPy toolkit to study active-matter-like swarms. The hardware delivers tunable velocity via PWM controlled by an IR remote and two body geometries (self-rotating Type-I and self-propelled Type-II), while AMPy extracts marker-based trajectories and computes a suite of single- and multi-robot metrics. The work delivers detailed characterizations of individual robot dynamics and introduces collision graphs, displacement statistics, and 2D/3D correlation measures (e.g., the sixfold order parameter $\psi_6$) to quantify collective behavior, enabling scalable, open, and reproducible experiments with large swarms. Together, the platform and software enable rapid exploration of geometry, interactions, and control strategies across physics, biology, and engineering contexts, with clear avenues for future enhancements (e.g., multiple drive modes, wireless charging, and expanded sensing).

Abstract

Large assemblies of extremely simple robots capable only of basic motion activities (like propelling forward or self-rotating) are often applied to study swarming behavior or implement various phenomena characteristic of active matter composed of non-equilibrium particles that convert their energy to a directed motion. As a result, a great abundance of compact swarm robots have been developed. The simplest are bristle-bots that self-propel via converting their vibration with the help of elastic bristles. However, many platforms are optimized for a certain class of studies, are not always made open-source, or have limited customization potential. To address these issues, we develop the open-source Swarmodroid 1.0 platform based on bristle-bots with reconfigurable 3D printed bodies and simple electronics that possess external control of motion velocity and demonstrate basic capabilities of trajectory adjustment. Then, we perform a detailed analysis of individual Swarmodroids' motion characteristics and their kinematics. In addition, we introduce the AMPy software package in Python that features OpenCV-based extraction of robotic swarm kinematics accompanied by the evaluation of key physical quantities describing the collective dynamics. Finally, we discuss potential applications as well as further directions for fundamental studies and Swarmodroid 1.0 platform development.

Swarmodroid & AMPy: Reconfigurable Bristle-Bots and Software Package for Robotic Active Matter Studies

TL;DR

Swarmodroid 1.0 provides an open-source, reconfigurable bristle-bot platform and a Python-based AMPy toolkit to study active-matter-like swarms. The hardware delivers tunable velocity via PWM controlled by an IR remote and two body geometries (self-rotating Type-I and self-propelled Type-II), while AMPy extracts marker-based trajectories and computes a suite of single- and multi-robot metrics. The work delivers detailed characterizations of individual robot dynamics and introduces collision graphs, displacement statistics, and 2D/3D correlation measures (e.g., the sixfold order parameter ) to quantify collective behavior, enabling scalable, open, and reproducible experiments with large swarms. Together, the platform and software enable rapid exploration of geometry, interactions, and control strategies across physics, biology, and engineering contexts, with clear avenues for future enhancements (e.g., multiple drive modes, wireless charging, and expanded sensing).

Abstract

Large assemblies of extremely simple robots capable only of basic motion activities (like propelling forward or self-rotating) are often applied to study swarming behavior or implement various phenomena characteristic of active matter composed of non-equilibrium particles that convert their energy to a directed motion. As a result, a great abundance of compact swarm robots have been developed. The simplest are bristle-bots that self-propel via converting their vibration with the help of elastic bristles. However, many platforms are optimized for a certain class of studies, are not always made open-source, or have limited customization potential. To address these issues, we develop the open-source Swarmodroid 1.0 platform based on bristle-bots with reconfigurable 3D printed bodies and simple electronics that possess external control of motion velocity and demonstrate basic capabilities of trajectory adjustment. Then, we perform a detailed analysis of individual Swarmodroids' motion characteristics and their kinematics. In addition, we introduce the AMPy software package in Python that features OpenCV-based extraction of robotic swarm kinematics accompanied by the evaluation of key physical quantities describing the collective dynamics. Finally, we discuss potential applications as well as further directions for fundamental studies and Swarmodroid 1.0 platform development.
Paper Structure (9 sections, 13 equations, 6 figures, 1 table)

This paper contains 9 sections, 13 equations, 6 figures, 1 table.

Figures (6)

  • Figure 1: Schematics of the Swarmodroid platform. (a) Robotic swarm confined in a circular-shaped barrier (top) and the burst diagram of a single robot (bottom). The robot consists of a 3D printed cap, base, bristles, and a printed circuit board with a vibration motor. Individual markers (ArUco or AprilTag) are placed on the top surfaces of robots. (b) Diagram of the control circuit showing the labeled key blocks of the circuit along with its render (in the center). (c) Processing software diagram. The motion of the robots is captured with the help of an HD camera, and the locations of the markers are extracted via the OpenCV library. Then, various quantities characterizing single-robot dynamics as well as collective behavior are evaluated. (d) Diagram of the Swarmodroid firmware executed in the ATTiny13 microcontroller on the circuit board. The robot checks the presence of an IR remote controller command and, if present, adjusts its motion velocity. In addition, the battery level is checked and displayed via the LEDs. (e,f) Different designs of 3D printed bodies corresponding (e) to cylindrical self-rotating Type-I Swarmodroids and (f) to elongated self-propelled Type-II Swarmodroids. Both types are assembled with the same circuit board from Panel (b).
  • Figure 2: Software diagram illustrating the processing pipeline of experimental data. Each code block includes the name of the corresponding function, a brief description of its content, and a list of input parameters.
  • Figure 3: Illustration of different quantities extracted by the software. (a) Several robots (purple circles) placed in a circular barrier. The trajectory of a selected robot between the timestamps $t=0$ and $t=T$ is shown with a solid red line, the line segments near the circles denote the velocity direction for each robot, $\rho(t)$ and $\varphi(t)$ are the radius and polar angle of the robot in polar coordinates centered at the center of the barrier, respectively. (b) Several clusters of touching robots. Force chains are shown with solid white lines. The values of the average clustering coefficient $\overline{C}$ shown near the corresponding clusters are evaluated with Eq. \ref{['eq:Clustering']}. (c) Root mean square displacement $x(t)$ Eq. \ref{['eq:RMS']} schematically demonstrating the transition between ballistic (a linear region $x \propto t$), diffusive (a square root dependency $x \propto t^{1/2}$) and jamming (a saturated region $x \propto \text{const}$) behaviors. The insets show robotic swarm patterns with various densities characteristic of the corresponding motion types. (d) Sixfold index $\psi_{6}$ Eq. \ref{['eq:Sixfold']} demonstrating the transition between a disordered phase (low values) and a hexatic order (peak). The insets demonstrate the characteristic geometries of the system with and without hexatic order. (e) Spatio-temporal correlation parameter $\tau^{*}$ Eq. \ref{['eq:tau']} for a robot with a characteristic localization time close to $10$ s. The inset demonstrates the robot's trajectory between timestamps $t=T$ and $t=T+\tau$. (f) Sketch of the two-dimensional pair correlation function Eq. \ref{['eq:Correlation']} for Type-I Swarmodroids showing characteristic circles at the distances of the robot diameter $d=46$ mm (the first coordination sphere) and two robot diameters (the second coordination sphere) along with the intermediate circles corresponding to other characteristic configurations of robots.
  • Figure 4: Properties of individual (a-d) Type-I (circular, self-rotating) and (e-f) Type-II (oval-shaped, self-propelled) Swarmodroids. (a) Vibration spectra of four different Type-I robots. (b) Vibration spectra of a single Type-I robot at different PWM levels from $10\%$ to $50\%$ with a $10\%$ step. (c) Angular velocity $\omega_{i}$ averaged over five realizations for each of seven Type-I Swarmodroids at $\mathrm{PWM} = 20\%$. (d) Angular velocities $\omega_{i}$ as functions of the PWM level for seven different Type-I Swarmodroids. The values are obtained by repeating the measurement five times for each robot, and the error bars denote the dispersion. (e) Linear velocity $v_{i}$ averaged over five realizations for each robot at $\mathrm{PWM} = 20\%$. (f) The same as Panel (d), but for linear velocities $v_{i}$ of seven Type-II Swarmodroids at different PWM levels
  • Figure 5: Motion trajectories for (a)-(c) Type-I (circular, self-rotating) and (d-f) Type-II (oval-shaped, self-propelled) Swarmodroids. (a),(d) The trajectories of the same robots moving at $\text{PWM}=20\%$ for different experiment realizations during (a) $60$ s (all experiments) and (d) $4$ s (the blue, orange, and green solid lines) and $5$ s (the red and purple solid lines). (b),(e) The trajectories of the same robots for single experiment realizations at different PWM levels. The experiment durations are (b) $60$ s for all ${\rm PWM}$ levels and (e) $5$ s for ${\rm PWM}=10\%$, $20\%$ (the blue and red solid lines) and $2$ s for ${\rm PWM}=30\%$, $40\%$, $50\%$ (the green, orange, and purple solid lines). (c),(f) The trajectories at $\text{PWM}=10\%$ for three different robots moving for (c) $60$ s and (f) $11$ s (Robot $1$, the blue solid line), $6$ s (Robot $2$, the red solid line), and $5$ s (Robot $3$, the green solid line). The two images of the robot at each panel denote its initial (semi-transparent) and final (opaque) configurations in a single experiment.
  • ...and 1 more figures