Morphogenesis in Robot Swarms
Audio version created with Paper2Audio.
1. Slavkov et al.
Audio by Paper2Audio.
Morphogenesis allows millions of cells to self-organize into intricate structures with a wide variety of functional shapes during embryonic development. This process emerges from local interactions of cells under the control of gene circuits that are identical in every cell, robust to intrinsic noise, and adaptable to changing environments. Constructing human technology with these properties presents an important opportunity in swarm robotic applications ranging from construction to exploration. Morphogenesis in nature may use two different approaches: hierarchical, top-down control or spontaneously self-organizing dynamics such as reaction-diffusion Turing patterns. Here, we provide a demonstration of purely self-organizing behaviors to create emergent morphologies in large swarms of real robots. The robots achieve this collective organization without any self-localization and instead rely entirely on local interactions with neighbors. Results show swarms of 300 robots that self-construct organic and adaptable shapes that are robust to damage. This is a step toward the emergence of functional shape formation in robot swarms following principles of self-organized morphogenetic engineering.
Introduction
Whereas human technology is typically constructed by an external builder (humans or robots), most spatially organized biological systems dynamically create their own physical shapes. This process of shape formation is called morphogenesis, and it occurs in a distributed, self-organized, and emergent manner. For example, collectives of insects, such as ants, construct bridges to traverse terrains (Fig. 1A, i). Organisms such as slime mold and bacteria create colonies with regular spatial geometries to optimize nutrient transport and consumption (Fig. 1A, 2 and 3). Multicellular organisms provide the most impressive example of morphogenesis, where massive collections of cells combine and actively collaborate during embryo development to build complex tissues and organs (Fig. 1A, 4). Having a functional shape and organization is important for survival because it allows organisms to inhabit certain ecological niches and thrive in given environments.
Two broad principles of spatial patterning exist in biological morphogenetic systems. Segmentation of the Drosophila embryo is a paradigmatic example of the first principle, in which each segment is genetically controlled individually, whereas the patterning of mouse digits is an example of the second principle, where each digit is a repetition of the same local process.
1) Top-down control. In some tissues, cells first access information about their location and then make cell fate choices according to this positional information. The control system is distributed—all cells have the same regulatory circuits or genetic program—but the positional information is achieved by means of an effective coordinate system, which may be created by molecular gradients or other mechanisms.
2) Local self-organization. As an alternative to positional information, spatial patterning may be controlled by purely local self-organization—spontaneous symmetry breaking processes, such as chemical reaction-diffusion (R.D) systems. The mathematics of such processes has been extensively studied. over the past half century. These processes can only produce relatively simple periodic patterns, but they do so without the cells requiring access to any positional information and, because of their reliance on feedback mechanisms, are very robust to noise.
The recent new field of morphogenetic engineering introduces the principles of natural morphogenesis into human-engineered systems. More specifically, it uses the distributed control paradigm of developing tissues to program the generation of structures that both are robust and show predictable behavior. Ideally, such systems should display a high degree of autonomy, self-regulation, and some degree of active self-repair or regeneration in the case of damage. In the area of swarm robotics, where the swarm consists of simple identical robots, a key challenge is to design control algorithms for achieving complex behaviors and shapes based on robots interacting only with their local environment and their neighbors. Swarm morphogenesis might be achieved by the above principle 1 or 2 or a combination of the two. Top-down approaches (principle 1) could have the advantage of creating any arbitrary shape, whereas the self-organized approaches (principle 2), although more limited in the patterns they can create, would have the advantage of being emergent, naturally scalable, robust to failure of individual agents, and flexible, that is, exhibiting the type of swarm intelligence seen in natural swarms.
Potential applications of such morphogenetic approaches in swarm engineering are numerous: self-constructing buildings that naturally adjust their structure to the geometry of their location, reconfigurable robots that adapt their shape for different tasks, and self-organized swarms for mapping or search and environmental monitoring. Nanomedicine could also benefit from having self-organizing swarms of nanoparticles for more efficient drug targeting and delivery. Ultimately, machines functioning in this way could achieve dynamically changing physical structures—programmable matter —and hence would open up a whole new world of machinery.
The problem of controlling the configuration of a group of robots has been receiving increasing interest, although mostly in theoretical studies based on simulations rather than real robot swarms. Target behaviors for the swarm have included collective navigation and flocking, trail formation, seizing and enclosing a target, and gap crossing but rarely focused on controlling the shape of the swarm per say. Control systems have included rule-based schemes, density-based schemes, or attraction/repulsion based on simple signals or gradients or have used more complicated interactions between signals, such as R.D systems, gene regulatory networks (G.R.N's), and swarm chemistry.
However, most previous work required precise motion or sensing abilities such as measuring angles to neighbors. Furthermore, when adaptability to different scenarios was tested with real robots, no more than 30 agents were used. In particular, properties such as self-healing of swarm morphologies have mostly been tested in simulations, with some exceptions. Because validation has been mainly simulation based, or using few real robots, it is unclear whether self-organized morphogenesis algorithms proposed so far would cross the reality gap and scale up in a large swarm of simple, noisy robots.
A significant breakthrough in the field of swarm robotics was made by Rubenstein et al. when they created the kilobot, a minimal, low-cost robot designed to enable swarm experiments in large numbers. Two years later, they specifically demonstrated the shape formation capabilities of this robotic platform, in which a swarm of 1024 robots successfully arranged itself into predefined morphologies, such as a starfish shape, in a decentralized manner. This impressive result was achieved with only local communication between neighboring robots.
However, it was depended on the hierarchical control principle mentioned above (principle 1) —each robot had an explicit image of the final shape that should be created, and every robot had access to a coordinate system constructed by the kilobots themselves, such that each robot knew its relative position within the swarm. The shapes were thus not fully emergent (principle 2 above), placing limitations on their ability to be adaptable, scalable, and robust. A more recent study from the same group extended the approach to create swarm shapes by “disassembly” of the swarm using a light attraction/repulsion system (40), but it still relied on the same top-down approach.
Here, we chose a specific biological inspiration to address the problem of shape formation, namely, spontaneous self-organized patterning (principle 2) that occurs in some examples of multicellular tissue development. Although the many cells in a tissue do different things (for example, becoming different cell types or migrating in different directions), they all contain the same G.R.N—the same genomic “program” (Fig. 1B, i and 2). Biological cells continually sense their neighborhood and communicate with other cells with the help of signaling molecules, thus creating an interconnected network.
The design of the G.R.N leads to spatially nonuniform patterns of gene activity in which different genes are activated in different cells in a coordinated manner. These molecular patterns are then responsible for directing secondary processes—coordinated cell movement (migration), tissue proliferation (cell replication), or apoptosis (cell death)—that physically shape the tissue. Because our individual robots cannot replicate, our goal here was to implement swarm morphogenesis based only on cell movements (migration), which is known to drive a number of well-studied developmental cases, for example, gastrulation.
The key goal was to achieve simple biologically inspired morphologies by purely emergent self-organized morphogenesis (approach 2). This would allow morphogenesis without the robots needing to determine their locations, thus showing a higher degree of adaptability and robustness. Drawing directly on inspiration from developmental systems, we chose to use R.D circuits and, in particular, Turing systems, because they have recently been shown to underlie a number of developmental models (Fig. 1C, i) (41 to 43). R.D circuits describe a system of interacting molecular species (such as diffusible proteins encoded by the gene circuit) that can encode a genuinely symmetry-breaking reaction that produces spatial patterns of spots or stripes (Fig. 1C, 2). Although such patterns are limited to periodic arrangements, in nature, they have led to morphologies with a variety of useful functions. Their lack of dependence on positional information removes the potential errors that such self-localization mechanisms would experience. Furthermore, we explored whether feedback could be observed between patterning and tissue movement.
In other words, could examples be found in which robot movements would be driven by the “molecular” pattern, but where the consequent alterations in swarm shape would also feed back to alter the pattern? This is a studied phenomenon in development, known as morphodynamic patterning, and believed to provide intrinsic adaptability and self-repairing behavior. These results were achieved in a real but very simple swarm technology, in which the shape-forming behavior of the collective swarm was reliable, even when the behavior of the individual robots was relatively unreliable, thus requiring the collective whole to be greater than the sum of its parts.
$ ^{1} $Centre for Genomic Regulation (CRG), Barcelona Institute of Science and Technology, Barcelona, Spain. $ ^{2} $Universitat Pompeu Fabra (UPF), Barcelona, Spain. $ ^{3} $University of Bristol, Bristol, UK. $ ^{4} $University of the West of England, Bristol, UK. $ ^{5} $Bristol Robotics Laboratory, Bristol, UK. $ ^{6} $EMBL Barcelona, Barcelona, Spain. $ ^{7} $Centrum Wiskunde & Informatica (CWI), Amsterdam, Netherlands. $ ^{8} $University of Amsterdam, Amsterdam, Netherlands. $ ^{9} $Institució Catalana de Recerca i Estudis Avançats (ICREA), Barcelona, Spain.
$ ^{*} $These authors contributed equally to this work. †Corresponding author. Email: james.sharpe@embl.es
Copyright © 2018 The Authors, some rights reserved; exclusive licensee American Association for the Advancement of Science. No claim to original U.S. Government Works
Figure 1 summary: A collection of images and diagrams illustrating biological morphogenesis. Section A shows examples of complex structures in nature, including fire ant bridges, bacterial colonies, slime mold networks, and lung alveoli. Section B uses a flowchart to show that Gene Regulatory Networks (GRNs) drive this patterning; it depicts how identical GRNs in individual cells or robots enable coordinated tissue or swarm behavior through cell-to-cell signaling or message passing. Section C displays various Turing patterns in animals, such as zebras, giraffes, seashells, butterflies, and fish. The overall point is that GRNs serve as the fundamental mechanism for generating complex patterns and structures in both natural tissues and robot swarms.
Results
The swarm robotic platform that we used for our work is the kilobot. Kilobots are minimal robots designed to enable swarm experiments in large numbers. Three main functionalities were used: movement, robot-to-robot communication, and a multicolor light-emitting diode (led) for experimental monitoring (Fig. 2A). In kilobots, locomotion is achieved by two motors that generate vibrations for the legs, resulting in nonholonomic movement with a large amount of noise. Communication is performed by passing infrared messages and is limited in range (see Materials and Methods for more details). Noisy distance measurements to neighbors can directly be extracted through communication but not angles, that is, when receiving a message, a robot cannot detect from which direction the message arrived. The lack of directional sensing and the degree of noise in motion and communication were ideal to demonstrate robust self-organized collective behavior (morphogenesis) even with robots that are simple and unreliable—a key goal for robust but economical technologies.
The morphogenetic mechanism explored was the interaction of the two activities described above (Fig. 2B): Pattern formation driven by G.R.N's and migration or “tissue movement,” the collective motion of the individual kilobots responsible for reshaping the swarm morphology. These two processes happen simultaneously (not sequentially), thus directly interacting with each other to achieve dynamic morphogenesis.
For the first part, pattern formation, the Turing system was used as the underlying mechanism, comprising a G.R.N of two virtual molecules, U and V, conceptually represented in figure 2C (i). Each robot kept track of its own concentrations of U and V, and the interactions between the two molecules were configured as an activator-inhibitor network, where molecule U acted as an activator and molecule V acts as an inhibitor. The change in concentration of each molecule was given by the R.D equations
Math summary: This Turing system computes the rate of change in concentrations for two virtual molecules, an activator and an inhibitor, using reaction-diffusion equations. The process combines the diffusion of each molecule with a reaction term determined by a linear combination of both concentrations minus their respective decay rates.
The reaction part of the equation could be solved directly on each kilobot just by using the current values of U and V. For the diffusion part, the values of both the activator and the inhibitor of each neighbor in range were necessary, which can be obtained via message passing (Fig. 2C, 2; details given in Materials and Methods). In figure 2C (3), we show examples of different Turing patterns produced by varying a parameter of the R.D equations. Green activation of the L.E.D's was programmed to appear where the concentration of the activator U was high (that is, above a threshold value). By varying parameter C, we could control the type of pattern (spots, stripes, or inverted spots). For the purpose of this paper, we term the green spots Turing spots.
The second process—migration or tissue movement—allowed robots to reposition themselves from areas with low activator U to areas with high activator (Turing spots), given in figure 2D. This mimicked the flow of cells seen in natural morphogenesis or could alternatively be seen as equivalent to localized tissue growth in the region of the green spots and localized cell death in between [as seen during digit formation in tetrapods (46)]. There were two conditions for a kilobot to start moving: (i) It must detect that it is on the outer edge of the swarm (“edge detection”), which is based on the estimate of the relative change of the local swarm density, and (2) it must detect a local concentration of U lower than a certain threshold value. To relocate robots, we used an edge-following algorithm, where each individual robot moved along the outer edge of a group of static robots while attempting to maintain constant distance to its current nearest neighbor. Last, the robots were programmed to stop when in proximity to a Turing spot, that is, when they detected a neighbor with a high concentration of U, thus creating an accumulation of kilobots around the Turing spots. The details of the movement algorithm are given in Materials and Methods. An example of kilobot movement, following the previously described movement algorithm, is given in figure 2D (2).
A conceptual example of the execution of the morphogenesis algorithm is given in figure 2E. Swarms started from an initial shape with arbitrary low-morphogen concentrations. As soon as the pattern was formed and the Turing spots were established, individual robots (in blue) started moving and settling on locations adjacent to the Turing spots. In parallel with the movement, the Turing pattern adjusted to the new shape by changing the morphogen concentrations in both the newly positioned robots and the robots that had already become a part of the Turing spots (denoted in light green). This process of tissue movement and pattern adaptation continued, resulting in the emergence of a shape.
Computer simulations were used to explore how the combination of Turing patterns with movement can spontaneously and reliably give rise to morphogenesis (Fig. 3A). To conveniently monitor the states of the kilobots and the local concentrations of the virtual molecules, we used the color of the L.E.D's. As shown in figure 3A, the led color depended on the level of the activator U, ranging from green (as the highest level) through teal, blue, and purple at decreasingly lower levels, until the led is turned off for very low values. We explored the parameter space of the Turing pattern around the values provided in Miyazawa et al.. As shown in figure S.1, replication of the type of patterns obtained by varying parameters A and C was successful, hence confirming results shown in that work. We also explored what types of patterns would result in better morphogenesis based on our approach, that is, spots, stripes, or inverted spots. Neither stripes nor inverted spots were useful because these patterns resulted in many of the edge robots experiencing high concentrations of U, thus being restricted from moving. By contrast, normal spots worked well because they tended to appear on the edge of the swarm but left significant numbers of edge robots with low concentrations of U. They provided a good compromise between number of robots that could move (in areas of low concentration) and areas of “growth” where moving robots would accumulate (the spots themselves). Parameter values that maximized the number of the spots on the edge without becoming stripes were considered as a good starting point for a complex morphology to develop (values given in Materials and Methods).
The morphogenesis approach was then validated on a real swarm of 300 kilobots. The objective was to transform an initially disshaped swarm into a more interesting morphology displaying an array of "tentacles" or protrusions. An interesting question was whether regular morphologies could be generated (for example, with a fourfold symmetry of protrusions) and/or more dynamic organic shapes reminiscent of simple organisms. Ideally, the shape formation process should be emergent, adaptive, and robust. The program that had been tested previously in simulation (emulating the Turing G.R.N) was run on the robots and, starting from the initial disc shape (Fig. 3B), the swarms were able to reorganize themselves into new coherent shapes.
In the case shown in figure 3B, five Turing spots emerged—four on the surface of the swarm, roughly equidistant to each other, and one in the center. Subsequently, when the edge robots started to move, they reliably relocated from regions with low concentrations of the Turing morphogens (no led illumination) to the vicinity of the Turing spots (green led). Over a short time, robots built up around the four spots to create four protrusions, showing a fourfold symmetry. Occasionally, individual kilobots were "lost" from the swarm, but this was a relatively rare event, and the vast majority remained in the evolving morphology.
Figure 3C shows the results from three more experiments, in which the same basic shape, with fourfold symmetry, was created. A close-up of the stages in the growth of a single protrusion can be seen in more detail in figure 3D. Reliability of this emergent morphogenesis was high. The successful parameter values were able to create robust organic shapes every time (nine runs performed in total with an initial circular morphology), and five of these produced the fourfold symmetry highlighted by the white dashed boxes in figure 3 (B and C). Of the nine runs, six of them were replicates with the same Turing parameters, motion rules, and experimental conditions.
Figure 3 summary: A multi-panel sequence of simulations and photographs showing the emergence of swarm morphologies. In the simulation (A), different LED colors represent activator concentrations, showing the transition from a random swarm to the formation of Turing spots that drive the growth of protrusions. In the physical experiments (B), a roughly circular swarm of kilobots rearranges around five Turing spots to form a cross-like shape with four distinct tentacles. This cross-like morphology is consistent across multiple replicates (C), and close-up images (D) show the progressive build-up of robots around a single Turing spot to grow a tentacle. The result is that Turing-patterned activator concentrations can drive a swarm of robots to self-organize into complex, reproducible physical shapes.
The approximate running time of each experiment was around 3 hours. The regular shape shown in figure 3 (B and C) was highly reproducible, but it was transient—further evolution of the swarm led to more dynamic morphologies, which are studied next. The complete summary of all these experiments are given in figure S.2.
An important question is whether morphogenesis really emerged from patterning or simply from robots moving around the swarm. To test this, we performed three experiments in which robots had initial random concentrations and patterning was switched off (meaning that they would keep the same concentration throughout the experiment and no reaction diffusion was taking place). Motion rules, number of robots, and initial circular shape were kept the same as in the previous experiments.
We then compared both sets of experiments and demonstrated that Turing patterning is essential for the emergent morphogenesis process and that shapes cannot grow from random patterning (fig. S.3.A, i). Shape index was used as the metric to compare experiments (details in Materials and Methods).
The process of swarm morphogenesis, besides producing shapes in an emergent manner, also proved to be a dynamic and adaptive process. If we changed the initial configuration of the swarm to a rectangle, the patterning process adapted to this, and the shape again evolved Turing-driven protrusions (at each corner) as shown in figure 4A. To quantitatively test that, we compared the set of replication experiments with initial circular shape with a set of five experiments starting from a rectangle and having the same code as the circular experiments. Results showed that shapes grow indistinguishably, although they started from different initial configurations and therefore had different initial shape indices (fig. S.3.A, 2). In addition, we ran the same program on a smaller swarm (110 kilobots) to explore the impact of swarm size. These tests produced a similar pattern but with three protrusions instead of four, resembling the letter T (Fig. 4B).
This is consistent with Turing patterning systems, where, for a given set of parameters, the frequency of the spots remains the same irrespective of the surface size, that is, smaller surfaces do not have smaller Turing spots but fewer.
Another important question, related to swarm adaptability, was whether morphodynamic processes occur. This describes the scenario in which a large-scale feedback loop is observed—i.e., pattern drives morphology, but the change in swarm shape also feeds back to alter the molecular pattern. Figure 4C shows two examples of molecular pattern shifting through the swarm while the shape changes. In this first case (Fig. 4C, i), this was a necessary part of the growth of a protrusion. The spot always maintained its position at the distal tip of the protrusion, although the tip did not consist of the same robots over time (growth occurred by new robots arriving and adding to the existing protrusion). This is an important mechanism for tip extension. If the spot were static (remaining in the same group of robots throughout), then it would gradually become enclosed and “hidden” by nongreen robots. Any subsequently arriving robots would continue to edge-follow their way right past the spot, to a different part of the swarm, and growth of the protrusion would be frozen. In the second case (Fig. 4C, 2), a Turing spot could be seen to shift through the tissue. This type of pattern adjustment endowed the swarm with a powerful form of adaptability. If the evolving shape was not compatible with an optimal periodic arrangement (due to either random noise or constraints in the environment), then the pattern could adjust and thus self-correct its own morphology. The adjustment of this molecular pattern could occur either as a gradual shift or as a more abrupt reorganization—in both cases, settling to a new, more stable configuration.
Driven by this morphodynamic processes, our swarm produced a variety of other morphologies, whose main feature was that they are very organic, or organism-like, shapes. Figure 4D shows a variety of swarm shapes, with tentacle-like protrusions growing out of them. Individual quantification of morphologies is shown in figure S.3.B (i).
The swarm also showed robustness to direct swarm damage. We explored a couple of damage scenarios: cutting off the protrusions and cutting the whole swarm in half. In the first case, either the original protrusion regrew (Fig. 5A) or the loss of one protrusion promoted the growth of others (on the other side of the swarm in the case of figure 5B). Again, this demonstrated the value of the self-organizing behavior. From any given state of the pattern and morphology, the Turing mechanism always pushed the pattern toward an even-spaced periodic one, whether from the initial unpatterned configuration or from a perturbed pattern due to damage. For supplementary quantitative analysis of this first case, see figure S.3.B (2). In the second case, when the swarm was cut into two roughly equal parts, the two halves re-fused to create a single swarm relatively fast (Fig. 5C). The self- organizing dynamic of the Turing spots actually facilitated the merging of the two swarms, contributing to the robustness of the system.
Last, we quantified the dynamic morphologies created by our robot swarms (Fig. 6). We considered the outer contour of the swarm shapes as the main feature to analyze (because this represents the pure morphology of the system) and chose two shape analysis metrics to quantify it: the shape index and the minimum number of characterizing points (details in Materials and Methods). The first measure gave an indication of how much the shape was different from a circle, and the second measured the roughness of the contour. We tracked the change of the shapes over time from nine experiments, starting from the initial, roughly circular shape, finishing with the final evolved shape. By plotting the values of the two measurements for each experiment over time, we produced a trajectory of the swarm through morphosphere (Fig. 6A) (50). Three clear features of these trajectories could be seen—the starting position, a transient region of regular morphologies, and a dynamic region of variable shapes—which will be discussed in the next section (Fig. 6B).
Figure 6 summary: Two scatter plots analyzing swarm morphologies, plotting the number of characterizing points against the shape index. Panel A shows nine trajectories starting from a circular configuration, with gray lines tracing the evolution toward organic shapes. Panel B divides these trajectories into three regions: a narrow blue region where trajectories are adherent and similar, a green transient region containing regular morphologies, and a red region where trajectories diversify into organic shapes. The figure demonstrates that swarm morphology evolves from a highly consistent initial state toward a more diverse set of organic shapes.
Figure 2 summary: This multi-panel diagram describes a swarm morphogenesis approach using Kilobots. Panel A shows a single Kilobot's hardware, including vibrating motors, an LED, and IR messaging for communication. Panel C illustrates a Turing patterning system where robots simulate reaction-diffusion equations for an activator (U) and inhibitor (V) to create spatial patterns, with simulated and real swarm results shown for different parameters. Panel D depicts the movement logic where robots detect the swarm edge, move along it, and stop upon reaching a Turing spot. Panel E shows a conceptual sequence where robots on the edge migrate toward these spots to create structural protrusions. The overall takeaway is that by combining simulated Turing patterns with targeted robot movement, the swarm can autonomously reshape its morphology.
Figure 4 summary: A series of image sequences depicting morphological adaptation in robotic swarms driven by Turing patterns. In panel A, a large rectangular swarm develops four tentacles as spots emerge on its edges and a central spot shifts to adapt. Panel B shows a smaller swarm forming a T-shaped structure driven by three Turing spots. Panel C demonstrates spot adaptation, showing how spots shift location, change size, and migrate to the tips of growing tentacles or move from the edge to the center. Panel D displays diverse, irregular final shapes resulting from different initial configurations, including square and circular layouts. The point is that the swarm's morphology is highly adaptable, with Turing patterns dynamically guiding growth and shape changes based on the swarm's current configuration.
Figure 5 summary: A series of photos showing a robotic swarm's robustness under three different damage scenarios. In panel A, a partially removed tentacle regenerates over time. In panel B, two entirely removed tentacles fail to regrow, but the swarm instead redirects growth to enlarge the remaining tentacles. In panel C, a swarm cut into two equal parts eventually merges back into a single entity. The overall point is that the swarm morphology is robust, capable of regenerating after minor and major damage or redirecting growth when necessary.
Discussion
In summary, we have successfully endowed a large swarm of 300 robots with a self-organized morphogenetic behavior (described as approach 2 in the introduction; Movie 1). It is directly based on the principles of developmental biology and results in emergent, adaptive, and robust shapes. Rather than using predefined patterns and explicit information about where each robot is, we used a G.R.N that implemented a self-organizing Turing process as the basis for the pattern formation. This was translated into physical shape change by using the concept of robot migration (in analogy with natural developmental biology).
Analysis of swarm shape over time revealed the overarching control process involved. Starting from the initial circular conditions, all swarms moved in a consistent direction through morphosphere (Fig. 6B). This movement represented the emergent but reliable process of protrusions forming on the outer edge of each swarm (blue region). The second feature was the transient region resulting in regular fourfold morphologies (green region), which are highlighted in white dashed boxes in figure 3. The third feature was the diversification region of morphosphere in which the swarms accumulated.
They drifted around this region in a dynamic, adaptable way but reliably stayed within this particular shape space (red region). Thus, both the dynamic adaptability and the shape predictability could be understood within this plot of the morphosphere.
A key question was whether the phenomenon of morphodynamic patterning could be found within our robot swarms, a dynamical process documented in the biological literature. We demonstrated the existence of this large-scale feedback loop between the patterning process and the changes of the shape morphology (Fig. 4C). On the one hand, the molecular patterning process drives the physical shape change (of the swarm); on the other hand, changes to the shape (which act as boundary conditions for the Turing system) feedback cause the molecular pattern to change. As in biology, this feature makes the swarm more dynamic and adaptable. In particular, the same types of morphology were created when starting from different initial configurations and al so upon damage to the swarm from external perturbations (when the researcher “cut” protrusions off the swarm or cut the swarm in half).
Another important feature of this system is scalability. In human technology, the reliability of the whole machine often depends on the reliability of the components (“the strength of the chain is in the weakest link”). The decentralized and collective nature of our system avoids this problem. Although a few robots were lost during morphogenesis, this did not impede the remaining swarm to fulfill its function.
Image summary: A photograph showing two clusters of small, circular robots on a white surface. The robots are arranged in dense, irregular shapes with glowing blue lights visible on some of them, illustrating the concept of swarm morphogenesis where individual units coordinate to form larger, complex structures.
(and it is reminiscent of real embryo development, in which not all cells survive). Loss of robots can occur for a variety of reasons—loss of digital infrared (I.R) messages, inaccuracy in distance estimation, and unreliable movements of robots—all of which relate to the general lack of reliability of these relatively simple, cheap kilobots. Despite this, the swarm as a whole continued to control its global shape, even when reduced to less than one-third of its original size or when physically “damaged.”
This work is an important step in the direction of human-designed hardware showing the dynamic and organic adaptability of living organisms. Although the shapes were not formed with a particular task in mind, this proof of concept should be extended to create functional shapes. The conditions that lead to adaptability and regeneration are understood at a general level (the self-organizing of Turing systems and the feedback of morphodynamics). However, a more detailed theoretical understanding will help to engineer these systems for specific tasks, improving our control of the shapes that emerge. An important idea is to explore greater interactions with the outside world, such as getting the whole swarm to collectively navigate toward an external light source, surrounding and herding foreign objects, searching an environment, and other factors that influence their development. environment for areas of interest, or building environment-driven structures (for example, dynamic bridges to “flow” over a river). In these cases, external cues would influence the G.R.N state (for example, gene production), thus directing the growth of the swarm and possibly resulting in whole swarm movement. Overall, we believe that these results provide a glimpse into the future of “programmable matter” in which the limits to the design and flexibility of useful machines are restricted only by our imagination.
Figure 7 summary: This four-panel diagram details the implementation of a morphogenesis approach for kilobots. Panel A shows the execution loop consisting of processing messages, updating the gene regulatory network, updating movement, and transmitting messages. Panel B illustrates the messaging structure, where robots exchange IDs, neighbor counts, states, and morphogen values to populate a neighbors table. Panel C describes the linear Turing system, using reaction-diffusion equations and a summation of differences between a robot and its neighbors to implement morphogen diffusion. Panel D details the movement algorithms, including orbit and approach behaviors for edge following and loss recovery, an edge detection method based on local density ratios, and a state machine transitioning between WAIT, EDGE FOLLOW, and RECOVER states. The overall figure explains how local communication and reaction-diffusion dynamics are used to coordinate collective robot movement and state transitions.
Materials and Methods Study design
The objective of our study is to demonstrate that the morphogenesis algorithm produces emergent morphologies in large swarms of real robots. A total of 122 computer simulations of 1000 agents were performed to find the most suitable parameters for the R.D equations. Experiments with swarms of real robots were conducted to validate our algorithm. Concretely, 1 experiment with a swarm of 110 robots, 1 experiment with a swarm of 250 robots, and 13 experiments with a swarm of similar 300 robots were conducted. Of the 13 experiments, 11 corresponded to experimental replicates with the same code and experimental conditions, divided in two sets with different initial configuration. Six of them were initialized with a circular shape, whereas the other five were initialized with a rectangular shape.
Three additional experiments were conducted on a swarm of 300 robots to test the rehabilitation properties of the morphogenesis algorithm. Last, another three extra experiments with a random morphogenesis algorithm on a swarm of 300 robots with the same code and experimental conditions were conducted as control. Therefore, 21 experiments with large swarms of real robots were conducted.
Morphogenesis algorithm
The morphogenesis algorithm is executed in a loop on each individual robot. It consists of the same sequence of updates, which run in parallel and asynchronously on all kilobots of the swarm. The algorithm can be summarized in three basic steps as (1) communication, (2) patterning, and (3) motion.
In the first step, all the inputs, that is, messages received from neighboring robots, are processed. Next, the values of the two morphogens (U and 5) of the G.R.N are calculated, which underlies the swarm patterning process. Depending on these values and some additional conditions (such as edge detection), a robot updates its movement state and halts or activates its motors accordingly in the last step. The robot also sets the values of the message variables that it broadcasts and the color of the led light, which depends on the value of the activator U. We summarize the algorithm in figure 7A and give the details of the implementation of each of these steps in the following text.
Communication
The primary kilobot inputs are the received messages from other surrounding kilobots (Fig. 7B). For passing a message, an I.R broadcast is used, and the message itself has a payload of 9 bytes. It can be received by any kilobot within communication range (~10 centimeters), and the frequency of the message broadcast is “hardwired” in the kilobots and happens at regular intervals. At any point in the program, the content of the message values can be updated, and they will be transmitted at the next broadcast interval. On the receiving side, when a kilobot detects an incoming message, a program interrupt is generated, and a user-defined handler function processes the received message.
In our program, we used a function that stores each incoming message in a circular buffer. The messages from this buffer are emptied and processed at the beginning of each of the main loop executions.
We used 8 of 9 bytes for our message payload, and we transmitted the values of five variables. First is the (locally) unique I.D value of a kilobot that took up 2 bytes of the message. The second is the number of neighbors that a robot has and used 1 byte. The robots can be in one of several states, which is also transmitted in 1 byte. The remaining 4 bytes are used for the Turing patterning process, namely, to transmit the value of the U and V morphogens of a robot, each one taking 2 bytes.
Because the morphogen concentrations of U and V are stored as single-precision floating point numbers (4 bytes each) inside the kilobots, they have to be converted to half precision on the transmitter side and then decoded to single precision on the receiving robot side (with a small percentage of error incurred during conversion). The reason is that the 9-byte message that kilobots can send needs to include the other information described above (I.D, state, and number of neighbors). Of the 16 bits available in the 2-byte, half-precision floating point numbers, 10 bits are used for the fraction of the number, the next 5 bits for the exponent of the number, and 1 bit for the sign, as described in the Institute of Electrical and Electronics Engineers Standard for Floating-Point Arithmetic (IEEE 754).
After a message from the receiving buffer is processed, it is stored in a so-called neighbors' table, which contains the neighbor's I.D, its number of neighbors, and its state. The received bytes of the morphogens U and V are converted to single-precision floating point numbers and stored. In addition, a time stamp is added to each message, which is the current kilo tick number of the robot. The neighbors' table keeps the most recent messages received from the neighbors in range for a certain amount of time, and older messages are discarded (set at 2 s old).
Patterning
The state of the G.R.N of each robot is responsible for the patterning process of the whole swarm. The equations for the Turing patterning system are given in figure 7C (i). These are R.D equations that give the rate of change of the morphogens U and V, where R is the reaction parameter and D U and D V are the diffusion parameters. The production of U and V is given by functions f and g, and it depends on the synthesis and on the degradation of U and V. The two functions (f and g) are linear functions given in figure 7C (i). The parameter values of the linear equations used in our experiments are the following: A equals 0.08, B equals -0.08, C equals 0.03, gamma u equals 0.03, E equals 0.1, F equals 0.12, and gamma v equals 0.06. The synthesis terms are limited between zero and user-defined maximum values, which, for our experiments, are given as syn U max equals 0.23 for U and syn V max equals 0.5 for V. The reaction parameter is R equals 160, and the diffusion parameters are D U equals 0.5 and D V equals 10 for U and V.I, correspondingly. In our implementation of these equations, we used a discrete version with a time step dt equals 0.00005.
The morphogen diffusion (Fig. 7C, 2) is emulated by passing of morphogen concentrations through the messages between robots. At a given moment, each robot has information about its neighbors' morphogen (U and 5) concentrations. By subtracting these neighboring morphogen values from its own and then summing up these differences, each robot determines the net morphogen diffusion that takes place. This allows the robots to edit their own morphogen values, by either increasing or decreasing them due to “diffusion.” With the help of the kilobots' L.E.D's, the Turing pattern can be visible on the swarm. We used different led colors for different ranges of values of the morphogen U, defined as follows: green led for U greater than 4.0, teal for 3.0 less than U less than or equal to 4.0, blue for 2.0 less than U less than or equal to 3.0, purple for 1.0 less than U less than or equal to 2.0, and off for U less than or equal to 1.0.
Motion
The process of edge detection is relevant for updating the robot state and is the main process responsible for determining whether a robot moves or not. It is based on estimation of the relative difference of local swarm density, as illustrated in figure 7D (2). Each robot transmits the number of its own neighbors N to the robots in range, and in return, it receives the same information N i from them. If an individual robot's own number of neighbors N is smaller than the average number of its neighbor's neighbors N.N, then the robot is on the outer edge of the swarm. The intuition is that if robots are on the inner part of the swarm, then they would have an approximately similar number of neighbors. The threshold for detecting an edge robot that was used, edge _{th} had a value of 0.8.
Because of the inherent noise in the kilobot swarm, some messages from robots are not received or dropped. This can potentially affect the edge detection and make it unstable. To compensate for this, instead of taking the current number of neighbors, or the current average of neighbor's neighbors, we used an approximate running average, given with
Math summary: This expression calculates a running average for the average number of neighbor's neighbors. It computes a weighted sum by combining a scaling factor multiplied by the current average with the remaining weight multiplied by the old average.
for the average number neighbor's neighbors and
: Math summary: This expression calculates the average number of neighbors using an exponentially weighted moving average. It combines the current number of neighbors scaled by zero point zero zero zero one with the old number of neighbors scaled by the remaining weight.
for the average number of neighbors, where alpha equals 0.0001 .
After a kilobot detects itself on the edge, motion might start (as described below). The default movement in our approach is the edge-following movement. It is based on orbiting movements, where the aim of a moving robot is to maintain a constant distance to a static one (Fig. 7D, i). The orbiting robot is moving in one of the preferred directions (clockwise or counterclockwise) while estimating the distance to the static robot based on the messages it receives. If the distance is larger than the predefined threshold ( d th ), then the robot starts rotating in a direction that brings it closer to the static robot.
As soon as this movement brings the robot to a distance less than d th , it switches to the opposite direction of rotation. This constant switching of rotation direction produces a forward motion, thus moving the robot in a circle around the static one. The edge-following algorithm is a simple extension of this orbiting algorithm. Namely, there is a swarm of static robots, instead of just one, and a moving robot goes around the edge of this static swarm by always orbiting its nearest neighbor.
The recover movement (approaching) moves a robot toward a static one, bringing it to a predefined distance of d th , the threshold distance. It is used when a robot is too far from a swarm and needs to “recover.” The movement starts by the robot rotating in an arbitrary direction and measuring the change of distance from the static robot. If the change is negative, then this means that the robot is approaching the static robot, and the current direction of rotation is maintained. If this change is positive, that is, the distance to the static robot is increasing, then the robot switches the direction of movement. It does so by selecting the nearest neighbor from the swarm as a static robot and approaching it until it is at a distance lower than d th .
There are three motion-related states in which a robot can be: Wait, Edge Follow, and Recover, as shown in figure 7D, 3. There is one central stationary state, the Wait state, from which a robot can transit into one of the two moving states—Edge Follow or Recover. The Edge Follow and Recover states are both blocking states, meaning that if a robot is in this state, then all neighbors that are receiving messages from it cannot initialize movement. This constraint is due to the design of the movement algorithms, related to the Edge Follow and Recover state, coming from the kilobots lack of directionality sensing.
The properties of each state are the following:
•The Wait state is the default kilobot state, in which the robot is not moving; it is just updating its G.R.N and checking whether the conditions for transitioning into the Edge Follow or Recover state are fulfilled.
•In the Edge Follow state, the kilobot is performing the edge-following movement.
•In the Recover state, the kilobot's goal is to approach the swarm, in case it drifted too far away.
The main rules for transition between the states are summarized in Table 1. Unless a rule allows a state transition to be triggered, the kilobot will be default stay in its current state. There are a few com- Monday functions and constants that are used for the state transition rules:
: Table 1 summary: The transition rules for switching between kilobots states. From the WAIT state, the robots transition to EDGE FOLLOW if the edge is detected, if the wait state is checked for all, or if the distance to Turing exceeds a specific threshold. They transition to RECOVER if the distance to the nearest neighbor is greater than the distance far. From the EDGE FOLLOW state, robots return to WAIT if the distance to Turing is less than the threshold, a ledge is detected, the wait state is not checked for the nearest neighbor, or the distance to the nearest neighbor is less than the distance far. Finally, from the RECOVER state, robots transition back to WAIT if the wait state is not checked for the nearest neighbor or if the distance to the nearest neighbor is less than the distance far.
•edge detected(): True if robot on the edge of the swarm.
•check_wait state(): True if neighboring robots are in the Wait state.
•dist(): returns distance to a specified neighbor robot.
•dist to Turing open parenthesis close parenthesis: returns distance to the nearest neighbor with a Turing spot if applicable.
•: distance far: upper distance limit beyond which a robot is considered too far from the swarm.
•dist th: distance threshold used for the edge-following movement. •All: all neighbors.
•N.N: nearest neighbors.
A robot that is in the Wait state can transit to Edge Follow if it is on the edge, no other neighbors are moving, and it is not a part of, or in near proximity to a Turing spot. The transition in the opposite direction (from Edge Follow to Wait) occurs in any of the following scenarios: (1) the robot is no longer on the edge, (2) it is close (or became part of) a Turing spot, (3) the kilobot that it is currently trying to orbit around is also moving, or (4) it moves too far away from the swarm.
If a robot is too far away from the swarm, then it instantly switches to the Recover state via the Wait state. The robot remains in this state until satisfactory distance to the swarm is achieved, after which it switches back to the Wait state.
Summary of the morphogenesis algorithm
Below is a serial outline of the program that the kilobots execute (patterning and motion). It is worth noticing that the kilobots run several processes such as sending and receiving messages following a timer-interrupt approach. Only the main functions and variables are presented here. A link to the source code can be found at the end of this article.
program main:
u, v, id, state arrow initialize variables open parenthesis close parenthesis slash slash Random initial concentrations for molecules U and V, random // initial id, robot in Wait state, message with random // concentrations starts to be sent
A equals zero point zero eight, B equals minus zero point zero eight, C equals zero point zero three, gamma u equals zero point zero three, E equals zero point one.
left arrow zero point one two, gamma v left arrow zero point zero six, D u left arrow zero point five, D v left arrow ten, neigh table arrow create_empty list() // Initializes neighbors table to store their messages
While True:
// Messages from neighbors are processed and neighbors table is updated. It also // calculates running averages for number of neighbors and number of neighbors' neighbors n neighbors, neigh table left arrow process inputs (neigh table)
if state = Wait then u, v from update G.R.N(u, v, A, B, C, gamma u, E, F, gamma v, D u, D v, R, Delta t, syn U max, syn V max,
Max underscore Dist underscore Neigh, neigh underscore table)
end if
if kilo ticks is greater than or equal to 20000 then // Movement starts after about 10 minutes, when pattern is stable state arrow update underscore movement open parenthesis state comma neigh underscore table close parenthesis
end if
show concentration(u) // The color of the led depends on concentration of molecule u id becomes local unique id of id // If a neighbor has the same I.D, another will be chosen at random update message(id, n neighbors, state, u, 5)
// It updates the message that will be sent
Algorithm update_GNR calculates the new concentrations of two molecules, U and V, by simulating a reaction-diffusion system. It first computes the Laplace operator for both molecules by summing the concentration differences between the current node and its neighbors within a maximum distance, MAX_DIST_NEIGH, to model diffusion. Next, it calculates production rates using a linear model based on current concentrations and specific parameters, clamping these values between zero and the maximum production rates, syn U_max and syn V_max, to ensure biological plausibility. After accounting for decay using gamma coefficients, the algorithm applies a discretized time step, Delta t, to update the concentrations based on the combined effects of the reaction rates, scaled by R, and diffusion, scaled by D_u and D_v. The final output is the updated concentrations u and v.
Algorithm update_movement summary: update_movement manages a robot's state transitions between edge following, waiting, and recovering to maintain swarm cohesion. In the EDGE_FOLLOW state, the robot identifies its nearest neighbor using a neighbor table and executes a move_around command to trace the swarm's perimeter. In the WAIT state, the robot monitors for triggers to either begin edge following or initiate recovery. Finally, in the RECOVER state, the robot attempts to rejoin the swarm by moving towards its nearest neighbor until it can safely transition back to waiting. The procedure returns the robot's updated state.
Quantifying swarm morphologies Shape characterizing points
In the field of landscape ecology, it is of great interest to quantify the heterogeneity of landscapes by identifying and analyzing spatial homogeneous patches to counteract the effects of human-induced biodiversity, as Moser et al. point out in (49). In their work, they analyzed the relation between the shape complexity of the patches and the richness of plant species. In particular, they proposed a metric of geometric complexity based on the contour of the patches, which can be useful here. This metric is called number of shape characterizing points (N.S.C.P's), and it is defined as the minimum number of points required to define the shape.
The idea is that the greater the N.S.C.P, the more complex the shape. As a result, this metric can potentially describe the morphology of the protrusions by means of the spikiness of shapes. In their work, they propose to calculate the polygon defining the patch and take only the vertices forming an angle of less than 160 degrees.
In our work, all the points on the contour of each shape were obtained by using the findContours function included in OpenCV 3.2.0 using Chain_Approx None. To calculate the number of characterizing points of the shape, the length of the array resulting from applying the following algorithm to the array of all contour points with a threshold of 160 degrees was obtained.
algorithm shape_characterizing points:
input: array P containing all points of the shape contour, angles threshold t between 0 and 180 degrees output: array Q containing points in the same order from Pwith angles less than t for all three consecutive points
Q becomes P if Q contains at least 3 points then base becomes 1 for k from 2 to length of Q do angle arrow compute internal angle from points
Q base, Q k and Q k plus 1 >// Q is circular. When k equals length of Q, then Q k plus 1 equals Q 1 if angle is greater than or equal to t then
Q gets the result of removing point Q k from Q else base becomes k end if end for end if return Q end algorithm
Perimeter/area ratios
The simplest metrics to measure shape complexity are those using the perimeter and area of the shapes in question. In our scenario, the area of the swarm is practically constant because the number of robots remains the same throughout the experiment, with the exception of the few ones that get lost and the gaps between robots. The perimeter then describes how the contour of the swarm grows/shrinks over time. The longer the protrusions, the bigger the perimeter. Therefore, a metric involving perimeter can be a good estimate of the development of the shape.
Among all perimeter/area ratios, we decided to use a dimensionless one to allow for comparison across experiments, even with different swarm sizes. Moreover, we were interested in comparing the shapes during the morphogenesis process with the initial circular configuration of the swarm. The metric with all these features was shape index, which is a measure of the circularity of a shape. Its formula is
Math summary: This expression calculates the shape index to measure the circularity of a shape. It divides the perimeter by two times the square root of pi multiplied by the area.
As can be seen, the shape index of a circle is 1. This metric can be useful to quantify how the swarm develops morphological features and how different it becomes from a circle (shape index greater than 1).
To calculate the shape index of the shapes in our work, we used the built-in functions contourArea and arcLength of OpenCV 3.2.0 to calculate the area and perimeter of the shape, respectively. The contour used for this metric was the result of applying the algorithm shape_characterizing points to the contour with all the points with a threshold of 160 degrees, as described in the subsection above.
Fig. S.1. Parameters exploration in simulation.
Fig. S.2. Summary of 15 different runs of the morphogenesis algorithm.
Fig. S.3. Quantitative analysis of emergence, adaptability, and robustness.
References and Notes
3. J. Raspopovic, L. Marcon, L. Russo, J. Sharpe, Digit patterning is controlled by a Bmp-Sox9-Wnt Turing network modulated by morphogen gradients. Science 345, 566–570 (2014).
4. L. Wolpert, Positional information and the spatial pattern of cellular differentiation. J. Theor. Biol. 25, 1–47 (1969).
5. J. B. Gurdon, P.-Y. Bourillot, Morphogen gradient interpretation. Nature 413, 797–803 (2001).
6. D. Summerbell, J. H. Lewis, L. Wolpert, Positional information in chick limb morphogenesis. Nature 244, 492–496 (1973).
7. A. Gierer, H. Meinhardt, A theory of biological pattern formation. Kybernetik 12, 30–39 (1972).
8. A. M. Turing, The chemical basis of morphogenesis. Phil. Trans. R. Soc. Lond. B 237, 37–72 (1952).
9. J. D. Murray, Mathematical Biology, II Spatial Models and Biomedical Applications (Springer-Verlag, 2001).
10. R. Doursat, H. Sayama, O. Michel, Morphogenetic engineering: Reconciling self-organization and architecture, in Morphogenetic Engineering: Toward Programmable Complex Systems, R. Doursat, H. Sayama, O. Michel, Eds. (Springer, 2012), chap. 1, pp. 1–24.
11. M. Brambilla, E. Ferrante, M. Birattari, M. Dorigo, Swarm robotics: A review from the swarm engineering perspective. Swarm Intell. 7, 1–41 (2013).
12. C. J. M. Verhoeven, M. J. Bentum, G. L. E. Monna, J. Rotteveel, J. Guo, On the origin of satellite swarms. Acta Astronaut. 68, 1392–1395 (2011).
13. S. Hauert, S. N. Bhatia, Mechanisms of cooperation in cancer nanomedicine: Towards systems nanotechnology. Trends Biotechnol. 32, 448–455 (2014).
14. E. Hawkes, B. An, N. M. Benbernou, H. Tanaka, S. Kim, E. D. Demaine, D. Rus, R. J. Wood Programmable matter by folding. Proc. Natl. Acad. Sci. U.S.A. 107, 12441–12445 (2010).
15. S. C. Goldstein, J. D. Campbell, T. C. Mowry, Programmable matter. Computer 38, 99–101 (2005).
16. N. Mathews, A. L. Christensen, R. O'Grady, F. Mondada, M. Dorigo, Mergeable nervous systems for robots. Nat. Commun. 8, 439 (2017).
17. R. O'Grady, A. L. Christensen, M. Dorigo, SWARMORPH: Morphogenesis with self-assembling robots, in Morphogenetic Engineering: Toward Programmable Complex Systems, R. Doursat, H. Sayama, O. Michel, Eds. (Springer, 2012), chap. 2, pp. 27–60.
18. K. Gilpin, D. Rus, Modular robot systems. IEEE Robot. Autom. Magazine 17, 38–55 (2010).
19. A. F. T. Winfield, J. Nembrini, Emergent swarm morphology control of wireless networked mobile robots, in Morphogenetic Engineering: Toward Programmable Complex Systems, R. Doursat, H. Sayama, O. Michel, Eds. (Springer, 2012), chap. 10, pp.239–271.
20. J. Cheng, W. Cheng, R. Nagpal, Robust and self-repairing formation control for swarms of mobile agents, in Proceedings of the 20th National Conference on Artificial Intelligence (AAAI Press, 2005), pp. 59–64.
21. Y. Liu, C. Gao, Z. Zhang, Y. Wu, M. Liang, L. Tao, Y. Lu, A new multi-agent system to simulate the foraging behaviors of Physarum. Nat. Comput. 16, 15–29 (2017).
22. H. Oh, A. R. Shiraz, Y. Jin, Morphogen diffusion algorithms for tracking and herding using a swarm of kilobots. Soft Comput. 22, 1833–1844 (2016).
23. J. Jones, Influences on the formation and evolution of Physarum polycephalum inspired emergent transport networks. Nat. Comput. 10, 1345–1369 (2011).
24. R. Thenius, M. Dauschan, T. Schmickl, K. Crailsheim, Regenerative abilities in modular robots using virtual embryogenesis, in Adaptive and Intelligent Systems, A. Bouchachia, Ed. (Springer, 2011), pp. 227–237.
25. L. Bai, M. Eyiyurekli, D. E. Breen, An emergent system for self-aligning and self-organizing shape primitives, in Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems (IEEE, 2008), pp. 445–454.
26. T. Schmickl, K. Crailsheim, A navigation algorithm for swarm robotics inspired by slime mold aggregation, in Swarm Robotics, E. Şahin, W. M. Spears, A. F. T. Winfield, Eds. (Springer, 2007), pp. 1–13.
27. T. Schmickl, K. Crailsheim, Trophallaxis among swarm-robots: A biologically inspired strategy for swarm robotics, in The First IEEE/RAS-EMBS International Conference on Biomedical Robotics and Biomechatronics (IEEE, 2006), pp. 377–382.
28. R. Groß, M. Bonani, F. Mondada, M. Dorigo, Autonomous self-assembly in a swarm-bot, in Proceedings of the 3rd International Symposium on Autonomous Minirobots for Research and Edutainment, K. Murase, K. Sekiyama, T. Naniwa, N. Kubota, J. Sitte, Eds. (Springer, 2006), pp. 314–322.
29. K. Stoy, Controlling self-reconfiguration using cellular automata and gradients, in Proceedings of the 8th International Conference on Intelligent Autonomous Systems (IAS, 2004), pp. 693–702.
30. Y. Ikemoto, Y. Hasegawa, T. Fukuda, K. Matsuda, Gradual spatial pattern formation of homogeneous robot group. Inf. Sci. 171, 431–445 (2005).
31. W.-M. Shen, P. Will, A. Galstyan, C.-M. Chuong, Hormone-inspired self-organization and distributed control of robotic swarms. Auton. Robot. 17, 93–105 (2004).
32. Y. Meng, H. Guo, Y. Jin, A morphogenetic approach to flexible and robust shape formation for swarm robotic systems. Robot. Auton. Syst. 61, 25–38 (2013).
33. Y. Jin, H. Guo, Y. Meng, A hierarchical gene regulatory network for adaptive multirobot pattern formation. IEEE Trans. Syst. Man Cybern. B Cybern. 42, 805–816 (2012).
34. R. Doursat, Organically grown architectures: Creating decentralized, autonomous systems by embryomorphic engineering, in Organic Computing, R. P. Wirtz, Ed. (Springer, 2008), pp. 167–199.
35. T. Taylor, P. Ottery, J. Hallam, "Pattern formation for multi-robot applications: Robust, self-repairing systems inspired by genetic regulatory networks and cellular self-organisation" (Technical Report EDI-INFRR-0971, School of Informatics, University of Edinburgh, 2007).
36. H. Sayama, Robust morphogenesis of robotic swarms [application notes]. IEEE Comput. Intell. Mag. 5, 43–49 (2010).
37. H. Oh, A. R. Shirazi, C. Sun, Y. Jin, Bio-inspired self-organising multi-robot pattern formation: A review. Robot. Auton. Syst. 91, 83–100 (2017).
38. M. Rubenstein, C. Ahler, R. Nagpal, Kilobot: A low cost scalable robot system for collective behaviors, in Proceedings of 2012 IEEE International Conference on Robotics and Automation (ICRA, 2012), pp. 3293–3298.
39. M. Rubenstein, A. Cornejo, R. Nagpal, Programmable self-assembly in a thousand-robot swarm. Science 15, 795–799 (2014).
40. M. Gauci, R. Nagpal, M. Rubenstein, Programmable self-disassembly for shape formation in large-scale robot collectives, in Distributed Autonomous Robotic Systems, R. Groß, A. Kolling, S. Berman, E. Frazzoli, A. Martinoli, F. Matsuno, M. Gauci, Eds. (Springer, 2018), pp. 573–586.
41. L. Marcon, J. Sharpe, Turing patterns in development: What about the horse part? Curr. Opin. Genet. Dev. 22, 578–584 (2012).
42. A. D. Economou, A. Ohazama, T. Porntaveetus, P. T. Sharpe, S. Kondo, M. A. Basson, A. Gritli-Linde, M. T. Cobourne, J. B. A. Green, Periodic stripe formation by a Turing mechanism operating at growth zones in the mammalian palate. Nat. Genet. 44, 348–351 (2012).
43. J. D. Murray, Mathematical Biology (Springer-Verlag, 1989).
44. I. Salazar-Ciudad, J. Jernvall, S. A. Newman, Mechanisms of pattern formation in development and evolution. Development 130, 2027–2037 (2003).
45. I. Salazar-Ciudad, J. Jernvall, How different types of pattern formation mechanisms affect the evolution of form and development. Evol. Dev. 6, 6–16 (2004).
46. L. Wolpert, C. Tickle, A. M. Arias, Principles of Development (Oxford University Press, ed. 5, 2015).
47. S. Miyazawa, M. Okamoto, S. Kondo, Blending of animal colour patterns by hybridization. Nat. Commun. 1, 66 (2010).
48. E. J. Gustafson, Quantifying landscape spatial pattern: What is the state of the art? Ecosystems 1, 143–156 (1998).
49. D. Moser, H. G. Zechmeister, C. Plutzar, N. Sauberer, T. Wrbka, G. Grabherr, Landscape patch shape complexity as an effective measure for plant species richness in rural landscapes. Landsc. Ecol. 17, 657–669 (2002).
50. P. Mitteroecker, S. M. Huttegger, The concept of morphospaces in evolutionary and developmental biology: Mathematics and metaphors. Biol. Theory 4, 54–67 (2009).
Submitted 27 July 2018 Accepted 14 November 2018 Published 19 December 2018 10.1126/scirobotics.aau9178
Citation: I. Slavkov, D. Carrillo-Zapata, N. Carranza, X. Diego, F. Jansson, J. Kaandorp, S. Hauert, J. Sharpe, Morphogenesis in robot swarms. Sci. Robot. 3, eaau9178 (2018).