Coherent movement of error-prone individuals through mechanical coupling

We investigate how reliable movement can emerge in aggregates of highly error-prone individuals. The individuals—robotic modules—move stochastically using vibration motors. By coupling them via elastic links, soft-bodied aggregates can be created. We present distributed algorithms that enable the aggregates to move and deform reliably. The concept and algorithms are validated through formal analysis of the elastic couplings and experiments with aggregates comprising up to 49 physical modules—among the biggest soft-bodied aggregates to date made of autonomous modules. The experiments show that aggregates with elastic couplings can shrink and stretch their bodies, move with a precision that increases with the number of modules, and outperform aggregates with no, or rigid, couplings. Our findings demonstrate that mechanical couplings can play a vital role in reaching coherent motion among individuals with exceedingly limited and error-prone abilities, and may pave the way for low-power, stretchable robots for high-resolution monitoring and manipulation.

This PDF file includes: Table S1. Percentage of successful trials in the straight motion experiment.      Method S1. Motion control algorithm.
Note S1. A study of the force profile experienced by a robot linked to n stationary static neighbours.
Other supplementary information for this manuscript includes the following: Movie S1 (.mp4 format). Excerpts from physical robots trials. Table S1: Percentage of successful trials in the experiments where a Kilobot Soft Robot, of size S, is tasked to move forward by 120 cm in the absence of any external feedback. 10 trials per robot size.
Robot size, S Success rate (in percent) Figure S1: Graphically enhanced version of Figure 1a where the transparent springs are superimposed with blue colour. Shown is a side-view of the 7 × 7 Kilobot Soft Robot.  Figure S2: The algorithms are applicable to configurations where the Kilobot modules are arranged in a hexagonal lattice. a and b show two such configurations, which differ in the robot's principle direction of motion (i.e. relative to the orientation of the hexagonal lattice), which is indicated by a red arrow. The motion control algorithm is identical to the one for square lattice robots, expect for references values α ref 1 , α ref 2 , d sep 1 , and d sep 2 , against which the angle and distance variables are compared (for more details, see the Motion control section in the Methods).   Figure S5: Results from theoretical force analysis of a focal module that is elastically coupled with n uniformly distributed, stationary modules (see Note S1 of Supplementary Information). a Magnitude of force, and gradient thereof, based on the focal's module displacement relative to its rest position in Cartesian coordinates (assuming a square lattice configuration, n = 4). b Force profile based on the focal's module displacement relative to its rest position in polar coordinates (generated by closed-form equation, f (ρ, θ), assuming a square lattice configuration, n = 4). The x axis is θ and the y axis is the force magnitude due to different values of ρ. Due to symmetry, we only consider values of θ from 0 (first neighbour) to π/2 (second neighbour). c Force profile as in (a), however, assuming a hexagonal lattice configuration, n = 6. The first and second neighbours are at θ = 0 and 1/3π, respectively.  Figure S6: The module's neighbourhood analysis. a Module 2 can estimate the bearing of neighbour 1 relative to neighbour 3 (γ). It does so using the law of cosines, which relates the angle to the lengths of sides a, b, and c of the triangle (for details, see text). However, module 1 could as well be in the position shown in b. The localisation ambiguity can be resolved by taking into account the position of modules in the undistorted lattice, where all angles are right angles. Note that the magnitude of angular distortions is limited by the mechanical coupling among the modules. Therefore, module 1 is not likely to reside in the position shown in b.

Supplementary Notes
Note S1: Elastic Linkage Force Profile We report a closed-form solution of the force profile of elastic linkage assuming a square lattice formation. We consider a module connected to n > 1 neighbours. Without loss of generality, the neighbours are symmetrically arranged at fixed distances L from the origin, where L denotes the rest length of the springs. Figure S7 depicts the situation for n = 4.
The focal robot's position can be expressed as x = ρ cos θ sin θ = ρ cos θ ρ sin θ , where ρ is the distance from the origin (the rest position with zero net force) and θ is the angle with respect to the x axis. Let y i denote the position of neighbour i, that is y i = L cos( i n 2π) sin( i n 2π) = L cos( i n 2π) L sin( i n 2π) , for i = 0, 1, . . . , n − 1.
The force profile we seek is a function, f (ρ, θ), that expresses the force required to retain the focal module at ρ cos θ ρ sin θ , where frictional forces are assumed negligible. It represents the force by which the module would have to propel to remain stationary, and is opposite the sum of force contributions from the linkages to its neighbours. .
Using the law of cosines, we obtain We assume x ̸ = d i , hence, these fractions are well defined. Using Hooke's law, the force acting on the focal module can be obtained as where k is the spring constant. It follows that ( 2) and The magnitude of the force, f (ρ, θ) = |f (ρ, θ)|, is given by For n = 4, we obtain A plot of the force profile for n = 4 is reported in Fig. S5b. The plot shows that, for small distances ρ, the force profile is approximately isotropic. As the module moves further away from the origin, the force profile becomes highly non-linear with force maxima corresponding to the locations of the four neighbours. In other words, a module encounters the largest resistance when moving from the origin towards any of its neighbours. This force profile is confirmed by the magnitude heat map plot shown in Fig. S5a.