Morphogenesis in robot swarms

See allHide authors and affiliations

Science Robotics  19 Dec 2018:
Vol. 3, Issue 25, eaau9178
DOI: 10.1126/scirobotics.aau9178
  • Fig. 1 Morphogenesis in natural systems.

    (A) (i) Fire ants constructing bridges. (ii) Bacterial colony structures formed by swarming. (iii) Slime mold network for optimal nutrient transport. (iv) Lungs consisting of a large network of alveoli for respiration. (B) GRN as the underlying mechanism behind patterning and morphogenesis processes in real tissues (e.g., heart valve) or robot swarms. (i) Each individual cell has an identical GRN, and cells communicate by secreting morphogens or direct cell-to-cell communication. A multicellular tissue consists of many cells that are interconnected and communicate with each other, thus allowing for coordinated tissue behavior. (ii) Robots emulate this behavior by running the same GRN and communicate with each other by sending messages about their GRN state. (C) (i) Turing patterns in different biological organisms: zebra, giraffe, seashell, and butterfly. (ii) Different types of Turing patterns on fish skin.

  • Fig. 2 Swarm morphogenesis approach description.

    (A) Kilobots are small robots, each containing a microprocessor, IR receiver/transmitter, a battery, a multicolored LED, and two vibration motors. (B) Top view of a kilobot swarm consisting of ~300 robots. (C) A Turing patterning system consisting of two diffusing molecules U (green) and V (red) that act as an activator and an inhibitor, respectively. Each individual robot calculates the values of U and V by using RD equations (i) and transmits them to neighboring robots (ii). (iii) Turing patterns in simulated and real robot swarms for varying values of parameter C. (D) Kilobots move along the edge of the swarm and aggregate around Turing spots (i). A robot detects that it is on the edge of the swarm (1) and starts moving along the outer edge of the swarm (2). It stops (3) when it gets close enough to the Turing spot. (ii) An example of kilobot movement in a real robot swarm. (E) Conceptual execution of the swarm morphogenesis algorithm. The Turing pattern is formed (dark green), and several robots on the edge of the swarm (in blue) move and stop in the proximity of the Turing spots. Ideally, the Turing pattern should adjust to the new morphology (light green) by changing its configuration, while other robots continue moving and surround the Turing spots to build up the protrusions of the swarm.

  • Fig. 3 Emergence of swarm morphologies.

    (A) Morphogenesis in a simulated swarm. Different LED colors indicate different concentrations of the activator U. Initially, a swarm of kilobots is visible with arbitrary concentrations of U. Next, five Turing spots emerge, around which noticeable protrusions appear (far right). (B) A temporal sequence of morphogenesis of a kilobot robot swarm (~300 robots). The initial swarm configuration was roughly circular with five distinct Turing spots, including four spots on the edge of the swarm and one spot in the center of the swarm (top four images). The robots rearranged around the Turing spots (bottom four images), forming initial protrusions. Last, a distinct cross-like shape was formed, which consisted of four tentacles with Turing spots on their tips. (C) Three replicates of morphogenesis with ~300 robots, which show similar cross-like, four tentacles morphologies. (D) Close-up of a growing tentacle during the swarm morphogenesis process. Starting from a Turing spot in the initial image (left), there is a progressive build-up of kilobots around it, resulting in tentacle growth in the final image.

  • Fig. 4 Adaptability of swarm morphologies.

    (A) Shape formation of a large swarm (~300 robots) starting from a rectangular shape. Four spots emerged on the edges where four tentacles grew, whereas the central spot moved, adapting to the changing morphology. (B) A temporal sequence of morphogenesis in a smaller kilobot swarm (~110 robots), with the same settings for the Turing parameters as in (A). Three Turing spots drove the formation of a T-like tentacled morphology. (C) Two examples of Turing pattern (spot) adaptation in response to the swarm changing morphology. (i) Adaptation during tentacle growth, where the Turing spot visibly changed shape, size, and location during the growth of a single tentacle, always tending to stay on the tip of the outgrowth. (ii) Starting from the initial spot location on the edge of the swarm, the spot slightly shifted toward the center of the swarm. After a while, it completely moved to the center, while another spot appeared close to its initial location. (D) Four variable swarm morphologies with irregular, organic shapes obtained from different runs. Inset images show the initial configuration of the swarm. (i) Started from an initial square morphology, whereas the swarms in (ii to iv) started from circular ones.

  • Fig. 5 Robustness of swarm morphologies.

    (A) Regeneration response to minor damage. The starting point was the “standard” four-spot pattern, from which four tentacles developed, as visible in the second panel. The robots from one tentacle were removed, as indicated by the red dashed line, and left behind a Turing spot with a dent in the middle. After a while, the tentacle regenerated with a small dent in the middle. (B) Redirected tentacle growth response. Two tentacles were completely cut off, and the whole Turing spots were removed. Unlike the example in (A), where there was some of the original Turing spot remaining, here, these tentacles could not grow back. Instead, by cutting them off, we effectively freed up a large surface of edge robots that could freely move and aided the growth of the remaining two tentacles in the swarm, as visible in the third and fourth panel of the figure. (C) Regeneration response to major damage. The developing swarm was cut in two, approximately equal parts, along the red dashed line. We left the two swarms in close proximity to each other, and after a while, they managed to merge into one entity again.

  • Fig. 6 Quantitative analysis of swarm morphologies.

    (A) Morphospace of nine runs of the morphogenesis algorithm, all starting from an initial circular configuration. Gray lines trace the change of swarm morphologies, and the morphospace is populated by both regular (transient) shapes and more organic shapes. The corresponding morphologies are plotted alongside each point. (B) Three distinct regions of morphospace trajectories. The first one is the thin “adherent” region (blue), where all the individual trajectories are similar. Next is the transient region (green), where most of the regular morphologies reside. The third region (red) is where the more organic morphologies reside. Their trajectories in this region are more spread out than in the blue region. However, they still remain in a constrained space.

  • Fig. 7 Morphogenesis approach implementation details.

    (A) Morphogenesis algorithm execution loop. (B) Each kilobot broadcasts an 8-byte message containing its ID, number of neighbors, state, and the values of the two morphogens of the Turing system. Received messages are stored in a neighbors’ table, together with the distance to the transmitting robot and the kilotick time stamp. (C) A linear Turing system (i), consisting of two morphogens, whose concentration is determined by solving the RD equation on each robot. Morphogen diffusion (ii) is calculated by first comparing (substracting) the morphogen values of each neighbor, to a robot’s own morphogen concentrations and then these differences are summed up, yielding the net diffusion of each morphogen. (D) Orbiting and approaching movements are the basis for edge following and loss recovery movement (i). When an orbiting robot is moving around its current nearest neighbor, the resulting movement is edge following. A lost robot will switch its state away from “recover” if it detects a robot that has other neighbors (iii). (ii) A robot determines whether it is an edge robot (yellow) or not (gray), by calculating the ratio r of the average local density of kilobots (NN) to its own number of neighbors (N), and comparing this to a threshold rth. (iii) Three robot states: WAIT, EDGE FOLLOW, and RECOVER. The WAIT state is a static, nonblocking state. In the other two states, a robot performs the corresponding movement algorithms described in (i).

  • Table 1 Transition rules for switching between kilobots states.
    WAITdefault• edge_detected()• dist(NN) > dist_far
    • check_wait_state(ALL)
    • dist_to_Turing () > dist_th
    • dist_to_Turing () < dist_thdefaultN/A
    • !edge_detected()
    • !check_wait_state(NN)
    • dist(NN) < dist_far
    RECOVER• !check_wait_state(NN)N/Adefault
    • dist(NN) < dist_far
  • Movie 1. Morphogenesis in robot swarms.
  • Supplementary Materials

    This PDF file includes:

    • Fig. S1. Parameters exploration in simulation.
    • Fig. S2. Summary of 15 different runs of the morphogenesis algorithm.
    • Fig. S3. Quantitative analysis of emergence, adaptability, and robustness.

    Download PDF

    Files in this Data Supplement:

Stay Connected to Science Robotics

Navigate This Article