Introduction

Research into self-assembly processes has spanned more than half a century and disciplines from chemistry to robotics. Due to the vast body of research in the field, there are multiple definitions of self-assembly. A broad definition is given in [1] as any process by which “separate or distinct parts of a disordered structure” come together to form shapes in a reversible manner, where the process can be “controlled by proper design of the components”. Such processes can either arise naturally, such as through evolution, or through careful work by humans.

In the natural environment, self-assembly occurs at scales from the formation of atomic crystals to the formation of galaxies [1]. In biology, phenomena such as the schooling of fish [2] or construction of living structures by ants [3] are examples of how self-assembly can help a wide range of organisms adapt to their environment.

Engineers have long been inspired by these examples to create robots that self-assemble [4]. This has potential benefits for allowing robots to exhibit additional functionalities to what they would be able to individually. Systems comprising self-assembling robots are robust to the failure of a number of modules, able to adapt to different environments, and potentially relatively inexpensive to manufacture, as economies of scale reduce the unit price of identical modules [5]. They have a wide range of applications, including all-terrain navigation [6], reconfigurable or assistive furniture [7], or for use in space [8].

In this article, we review the current state of the art of self-assembly in multi-robot systems. Building such systems is a significant challenge: the largest assembled structure of autonomous robots achieved to date is believed to be 1824 Blinky Blocks, the deployment of which highlighted the difficulties in scaling the hardware and software architecture to large numbers of agents [9]. We first discuss recent advances in the physical design of self-assembling robots, before moving onto the algorithms used to control these agents. We focus on works from the past decade, though a selection of seminal older works are also acknowledged where relevant.

Hardware Design

The physical design of self-assembling robots has been an active research topic for decades. Since Fukuda and Nakagawa inspired research into modular reconfigurable robots with the Dynamically Reconfigurable Robotic System in 1987 [10], researchers have designed a wide range of such robotic platforms. These include Crystalline [11], M-TRAN [12], PolyBot [13], ATRON [14], and swarm-bots [15], which were developed around the turn of the millennium and have become hugely influential to the field today. The three key problems that are commonly addressed by self-assembling robotic systems are how agents should:

  1. 1.

    attach to one another

  2. 2.

    move about their environment

  3. 3.

    communicate with one another and/or human operators

This section discusses different approaches to solving these problems, while also satisfying other constraints, such as to limit power consumption, reduce cost, or minimise the agent size. Figure 1 shows a selection of salient examples of self-assembling robotic systems developed in recent years, and Table 1 provides more detail about their properties. The following sections discuss how these systems address the three common challenges, with further platforms mentioned where relevant. The advantages and disadvantages of each method are discussed, highlighting how no single system or technology significantly outperforms the others at all three challenges.

Fig. 1
figure 1

Recent self-assembling robotic platforms, arranged in the order mentioned: (a) PuzzleBot (©[2021] IEEE. Reprinted with permission from [16], (b) HyMod [20], (c) STORM [23] (photo courtesy of S. Sohal, Robotics and Mechatronics Lab, Virginia Tech), (d), Mori3 [24] (photo courtesy of C. Belke, Reconfigurable Robotics Lab, EPFL), (e) ElectroVoxel [30] (photo courtesy of M. Nisser, HCI Engineering Group, MIT CSAIL), (f) Lily: A miniature floating robotic platform for programmable stochastic self-assembly (© [2015] IEEE. Reprinted with permission from [32]) (g) SMORES-EP [55••] (photo courtesy of J. Nachea, GRASP Lab, University of Pennsylvania), (h) A High-Voltage Generator and Multiplexer for Electrostatic Actuation in Programmable Matter (© [2022] IEEE. Reprinted with permission from [38], (i) FreeBOT: A Freeform Modular Self-reconfigurable Robot with Arbitrary Connection Point - Design and Implementation (© [2020] IEEE. Reprinted with permission from [40], (j) FireAnt3D [43] (photo courtesy of P. Swissler, Northwestern University), (k) Eciton robotica [47] (photo courtesy of M .Malley, Wyss Institute for Biologically Inspired Engineering, Harvard University), and (l) Roboat II [58] (photo courtesy of W. Wang, Senseable City Lab, MIT CSAIL)

Connection Methods

Connections between modules should satisfy a number of criteria to be effective. Most importantly, they should be strong enough that the connection does not come apart in use, and sufficiently reliable such that a high number of connection and disconnection cycles can be performed without failure. It can also be desirable for connectors to be genderless, meaning both that they are all identical, and either connected module can release the other in the event of damage. Other important criteria include the speed of connection and disconnection, some tolerance to allow connection when robots are not precisely aligned, and the power consumption both during actuation and while engaged.

Mechanical connections are capable of forming strong links between modules. Although robots such as PuzzleBots [16] (Fig. 1a) use gravity to engage the connectors, it is more common to use electric motors to actuate components, such as in the rotating hooks of the RoGenSiD connector [17] incorporated into ModRED [18]. Rotating docking hooks were developed further by the HiGen connector [19] utilised by HyMod [20] (Fig. 1b). These are faster to actuate than RoGenSiD, and their retractable nature creates space between modules arranged in a lattice to aid self-assembly. This design also inspired the Omni-Pi-Tent robot [21], which includes large cones to aid alignment during connections. Another attractive feature of such rotating docking hooks is that they are inherently genderless. An alternative mechanical connector is GHEFT [22], incorporated into the STORM robot [23] (Fig. 1c). It uses curved H-profile clamps to form genderless connections that can withstand high forces. These connectors all use electric motors to actuate, but Mori3 takes a different approach [24] (Fig. 1d). It uses shape-memory alloy to move a latch featuring radial teeth designed to slip if torques become too high as a safety measure [25].

Instead of interlocking mechanical components, some self-assembling robots use magnets. Permanent magnets, such as those incorporated in 3D M-blocks [26] or by Jilek et al. [27], are attractive as they do not consume any electrical power, self-align, and enable connections to be rapidly formed . However, it can be difficult to break these connections once formed, as the attractive force cannot be controlled. Systems such as PPT [28] and SMORES [29] overcome this by moving the magnets away from each other to disconnect them, whereas 3D M-blocks simply apply a force that is sufficiently large to overcome the magnetic attraction.

A simple way to control magnetism is through electromagnets, as used by ElectroVoxels [30•] (Fig. 1e). This allows the attractive force to be turned on and off, but requires a constant current to be drawn while connections are active, reducing battery life. A more common approach in contemporary robots first employed by Gilpin et al. [31] is to use electropermanent magnets (EPMs). These are effectively permanent magnets with a coil wrapped around them, through which current can be pulsed to change the magnetic field in a manner that persists when the current is removed. Importantly, this means that these connectors only draw power when transitioning between states, reducing energy usage compared to electromagnets. Recent systems incorporating EPMs for connections include Lily [32] (Fig. 1f) and the updated SMORES-EP robots [33] (Fig. 1g). Kubits [34] and DONUts [35•] utilise EPMs for both connection and actuation [34]. All these connectors that incorporate controllable magnets are genderless.

Table 1 A comparison of the characteristics of the recent self-assembling robotic systems shown in Fig. 1. Connection times stated exclude time taken to correct align the connectors. Empty cells indicate where the data was not available and could not be estimated

Electrostatic attraction can also be used to form genderless connections between self-assembling robots. Connectors based on this principle are effectively opposing capacitor plates, across which a voltage is applied. This creates a strong electrostatic attraction between the plates that remains when the voltage is removed. Karagozler et al. showed this works at large scales, presenting an electrostatic connector capable of supporting modules weighing 3.5 kg [36]. Electrostatic connectors show their greatest potential at small scales as the technology can be miniaturised effectively, something that is harder for mechanical connections. Millimeter-scale electrostatic connectors were developed for 2D Catoms [37], and have since been miniaturised further to be deployed on 3D Catoms [38] (Fig. 1h).

The aforementioned systems all require connections to be made at discrete locations; freeform connectors offer an alternative. They can join modules together at arbitrary locations to allow a much larger range of configurations to be formed without the need for careful alignment before connection. Swarm-bots [39] are an early example of this type of connector: each agent featured one or two grippers which could attach to any point on a connection ring encircling each other agent. They operated in 2D, but the recent FreeBOT system has demonstrated how permanent magnets be used to create freeform connections in 3D [40••] (Fig. 1i). These robots consist of a wheeled carriage that drives in a ferromagnetic spherical shell. The carriage contains a mechanism to raise and lower permanent magnets in relation to the shell, allowing the robot to connect to other ferromagnetic objects, including other robots, at arbitrary locations. Using a ferromagnetic sphere as the connection surface has also led to FreeSN [41], a heterogeneous self-assembling robotic system, and SnailBot [42], which uses an external chassis to provide actuation instead of an internal carriage.

FireAnt3D utilises a 3D freeform connector that does not use magnets [43] (Fig. 1j). Modules comprise three spheres, the surfaces of which are coated with a special polymer that melts when a current flows through it due to Joule heating. Current can be applied between specified pairs of spheres on adjacent robots using mobile external electrodes, causing them to fuse together. This creates a strong bond, but heating and cooling the polymer in this manner means connections are slow to form. This connection mechanism was first shown in 2D [44], and was inspired by prior research into self-soldering connections [45].

Freeform connectors are not restricted to circular or spherical topologies. The soft-bodied Eciton robotica modules have a body coated with Velcro and corkscrew grippers at either end [46, 47] (Fig. 1k). These can drill into the body of another robot, or to arbitrary locations on any Velcro-covered surface.

Self-assembly on the surface of water presents unique challenges. Precise alignment is difficult to achieve due to the low friction environment, and waves could cause connections to break as they move modules relative to each other. One way to address these challenges is to use a ‘hook and loop’ mechanism [48]. Another approach, employed by the Roboats system (Fig. 1l), is to use rotating arms that latch onto vertical bars [49]. An earlier version of this platform formed ball-and-socket joints between modules [50]. All these mechanisms have a large area of acceptance and built-in compliance to enable modules to remain connected when they are buffeted by waves.

Actuation

Self-assembling robots should be able to move around their environment. The earliest examples of engineered self-assembly utilised external actuation to induce controlled pattern formation in passive building blocks. Early systems such as that developed by Penrose and Penrose [51] featured a smooth arena that was manually moved to allow modules to slide into contact with each other. A similar approach is taken in more recent platforms, such as that by Jilek et al. [27], where an arena is attached to a robotic arm programmed to move through an inclined elliptical path. Other systems use the agitation of fluids: PPT [28] and Evo-Bots [52] operate on an air table and are excited by random air jets, while Lily modules float on the surface of water stirred by a pump [32] (Fig. 1f). Other systems are actuated directly by gravity: Miche [53] and Pebbles [31] are first assembled by hand into a connected structure, then agents choose to release their connections and fall away from the structure, leaving behind a desired shape.

In contrast to this, some systems carefully control the external actuation to influence the self-assembly process. In works such as that by Bhattacharjee et al. [54], an external magnetic field is varied to move small robots in a controlled manner. The potential applications of this technology include moving microrobots through the human body to deliver drugs to targeted locations in a non-invasive manner.

A limitation of externally-propelled robots is that the external force can usually only be applied within a bounded arena. For self-assembling robots to operate in large and varied environment, they should be able to provide their own actuation for three purposes:

  • To separately move towards other robots dispersed throughout the environment

  • To move over and around each other

  • To actuate the self-assembled structures themselves

Not all robots are capable of actuating for all of these purposes.

A common method by which land-based robots explore environments separately is to use wheels or tracks. In some systems, such as Puzzlebots [16] (Fig. 1a), the self-assembled structures also move as an ensemble using these wheels. However, incorporating additional degrees of freedom to the robots increases the range of structure that can be self-assembled, and augments the abilities of these structures. A common approach is to combine wheels with a rotating central joint, as has has been incorporated in recent years by HyMod (Fig. 1b) [20], Omni-Pi-Tent [21], and SMORES-EP [55••] (Fig. 1g). This rotating central joint allows articulated structures such as manipulators or legged robots to be assembled, augmenting the capabilities of these structures. It also enables a metamodule of two modules to move around a self-assembled structure, increasing the range of structures that can be built. Additional degrees of freedom within each module can also enable locomotion without wheels, as in the case of ModRED [18].

Typically a differential drive is used in wheeled self-assembling robots, but CoSMO and Omni-Pi-Tent use Archimedes screws [56] and omnidirectional wheels [21] respectively to achieve a less restricted range of motions. The triangular Mori3 robot [24, 57] (Fig. 1d) achieves omnidirectional motion through wheels on its three edges. Connected modules can also pivot about these edges to actuate assembled structures [25]. STORM moves in a unique manner by raising and lowering wheels oriented orthogonal to the tracks used to provide the usual linear motion [23] (Fig. 1c). The connectors on this robot are located in two of the corners, which also rotate to provide actuation to the self-assembled structures.

Some self-assembling robots are designed to operate only when already connected to each other. Systems such as DONUts [35•], Kubits [34], and ElectroVoxels [30•] (Fig. 1e) rely on controllable magnetism for connection and leverage the same hardware to achieve locomotion, thus making them less expensive and simpler to manufacture. Of particular note are DONUts, which consist of a single flexible PCB, so fabrication is especially simple [35•]. These systems vary the polarity of specific magnets, forming hinges in defined locations which the robots rotate about due to forces from other repelling magnets. However, magnets provide a relatively weak force, thus these systems typically either minimise the module weight by moving the power and control circuitry off the robots [34], or avoid gravity by limiting themselves to a 2D plane [35•] or zero-gravity environments [30•]. 3D Catoms (Fig. 1h) also select regions on their surface to connect and repel to achieve motion, but use electrostatic forces instead of electromagnetism [38]. The cubic 3D M-blocks are able to overcome gravity by using the inertia of an internal flywheel to induce rotation around one of their edges [26].

For Freeform robots to form connections with one another at arbitrary locations, they must be able to freely move over each other. In the systems based on ferromagnetic shells [40••41, 42], individual robots can drive along a smooth horizontal surface independently, and continue this motion when attached to other agents or a smooth vertical ferromagnetic surface. Eciton robotica moves around with a flipping gait controlled by cables running through its soft body, and is capable of walking over any Velcro-covered surface [46], including other robots (Fig. 1k). However, it is restricted to move in 2D and so operates between two vertical panes of clear acrylic. The same gait is used by FireAnt3D (Fig. 1j), which is able to move in 3D but only over very specalised surfaces [43].

Self-assembling robots operating on the surface of water are typically propelled by thrusters based on rotating propellers [48, 58] (Fig. 1l). Alternatives to this include the use of pumps to route fluid through the modules to produce thrust in arbitrary directions [59], or a pair of flippers actuated by a single motor [60]. Operating on water allows these robots to achieve omnidirectional motion, but the inherent turbulence and low friction of the aquatic environment makes precise motion challenging.

Communications

During self-assembly, the modules should be able to coordinate with each other, human operators, or both. This typically requires communication, which can be achieved through different means. The majority of robots employ wireless methods, as these enable communications between robots that are not within direct line of sight, require minimal hardware, and allow the robots to be controlled by a human operator without physically interacting with each robot. WiFi is the most common method of wireless communication, as it enables high bandwidth data streams between large numbers of devices and is easy to install in indoor environments. An alternative wireless standard is Bluetooth: this typically uses less energy than WiFi, but has lower bandwidth and greater restrictions on the number of communicating modules at any one time. Additionally, infrared can be used at short ranges, such as during docking. This enables direct communication between adjacent agents while coordinating complex manoeuvres, and also provides beacons for robots to use to aid alignment [61].

When modules are connected to each other, it can be advantageous for them to communicate directly through electrical contacts as more reliable communications can be made. These connections typically convert connected robots into a wired network, for example using the CAN [20] or ethernet [56] protocols. The requirement for electrical connections to be made between modules is somewhat burdensome, but these connections can also be used to share power between modules and thus increase the operating time of the system [52, 62]. Recent work has also shown how pins can be reused to allow both high speed communication and power sharing over only three wires [63], reducing the required size of connectors. Forming electrical connections with freeform connectors is more challenging than when docking at specific points. Nevertheless, the original FireAnt modules were capable of communicating through the electrical contacts on their connectors [44], an approach that would also be applicable to FireAnt3D. Further developments have enabled power sharing through freeform connectors based on ferromagnetic shells [64]. An interesting method of combining the best features of wireless and wired communications is proposed by Holdcroft et al. [65], where communications are sent using different protocols based on their importance and required bandwidth.

Other methods of communication are also possible. A pair of adjacent EPMs can pass messages between each other using electromagnetic induction [31, 32, 33, 35•]. Electrostatic connectors can also send messages between their two halves in a similar manner [36]. Eciton robotica takes a different approach, and incorporates vibration motors into the connectors, detected by an accelerometer on adjacent modules [47].

Algorithmic Developments

At the same time as the hardware required to perform robotic self-assembly is being developed, the design of algorithms to enable this functionality is also an active research area. Approaches are often divided depending on whether they use centralised control, where a single leader instructs other agents what operations to perform, or decentralised control, where agents make their own decisions. The majority of recent developments have taken a decentralised approach, due its resilient and scalable nature [66]. We therefore divide the recent literature by the purpose of the algorithms, inspired by [5]. In shape-driven self-assembly, robots are tasked to create a shape specified by a human user (Fig. 2a), whereas in task-driven self-assembly, the robots are given a high-level task to complete, from which the structure emerges (Fig. 2b). A further category of auxiliary algorithms includes low-level algorithms that are necessary to achieve the behaviours taken as a prerequisite by more high-level algorithms.

Table 2 summarises a selection of recent algorithms. While task-driven algorithms have increased in popularity recently, the majority of recent algorithms continue to be shape-driven. Algorithms are typically developed in simulation to enable researchers to test them on large numbers of modules in a fast and inexpensive manner. If they are deployed on physical robots, it is typically with significantly fewer agents than in simulation, possibly due to the low availability and high cost of physical platforms.

Fig. 2
figure 2

Recent examples of self-assembly algorithms: (a) shape-driven self-assembly of a cube consisting of a scaffold (blue) coated with other agents (yellow) built above a sandbox (grey) (Engineering efficient and massively parallel 3D self-reconfiguration using sandboxing, scaffolding and coating ©[2021] Elsevier. Reprinted with permission from [67••]), and (b) task-driven self-assembly of a cantilever from a fixed support using force-aware methods [104••] (image courtesy of P. Swissler, Northwestern University)

Table 2 A comparison of a selection of different recently developed algorithms for self-assembling robots

Shape-Driven Self-Assembly

The Programmable Matter consortium have proposed a robust method of achieving 3D self-assembly using 3D Catoms [67••] (Fig. 2a). Agents are added to the structure from a supply called the sandbox, and first build a minimalist approximate structure called a scaffold [68]. This facilitates the motion of modules within the structure, and minimises the number required to represent a given shape. The scaffold is then coated with a thin layer of agents to produce the final configuration [69]. This approach only describes the construction of an initial design from the sandbox, so any changes would require dismantling and completely rebuilding the structure. A more efficient approach is described in [70]: similar hollow structures are created using metamodules of ten 3D Catoms which can move through unoccupied locations within the bounding box of other metamodule and wait in specified locations so they can be used to reconfigure the structure at a later time. Large, low density, metamodules such as these are a promising method of producing complex motions, such as tunneling through occupied locations, using modules with relatively limited motion capabilities [71].

Fig. 3
figure 3

The sliding (a – b) and pivoting (c – d) cube models, shown in two dimensions. Each yellow agent follows the green arrows to move to their next location, shown paler. In doing so, they sweep out the red areas, which therefore must be empty to avoid collisions. (a) & (c) show adjacent translations, and (b) & (d) show convex translations

Algorithms should be tailored to the geometry of the hardware they will be implemented on, as illustrated for aforementioned 3D Catoms. However, researchers are often interested in developing algorithms for a generic class of hardware. In these cases, low-level abstractions are commonly used. One such popular abstraction is the sliding cube model, popularised by Fitch et al. [72] but also appearing in earlier works [73]. In this model, modules are cubes that can slide over their peers in either adjacent or convex translations as shown in Fig. 3a and b. Recent self-reconfiguration algorithms based on these approaches include methods based on virtual forces [74] or Lindenmayer systems [75], or a layered reconfiguration process that starts from outermost layer [76]. These works are all implemented in 2D: reconfiguration in 3D remains a challenge.

The sliding cube model is difficult to be realised with physical systems. Adjacent translations (Fig. 3a) can sometimes be achieved by single modules, as in the Crystalline platform [11], or by a metamodule of two modules. However, convex translations (Fig. 3b) are more complex, often requiring assistance from additional modules within the structure. One approach to tackle this is to use a 2 x 2 x 2 metamodule comprised of modules that can independently perform the adjacent translation to achieve the more challenging convex translation together. First shown in a centralised manner [77], work has now progressed into a distributed algorithm more suitable for real robotic hardware [78].

A more realistic hardware abstraction is the pivoting cube model, which encapsulates how cubic robotic systems such as 3D M-Blocks [26], Kubits [34], and ElectroVoxels [30•] move. It has different restrictions on module motion due to the area swept out during rotation (Fig. 3c and d). An interesting theoretical development has shown that the reconfiguration problem based on this model is NP-complete [79], something previously shown for chain-type modular robots [80] but still not shown for the sliding cube model. Researchers have simplified this problem by only allowing a single module to move at once, and to convert the structure into an intermediary line configuration before the desired shape is built [81]; this approach has also been extended to allow the construction of structures with non-convex holes [82]. These algorithms rely on global control to avoid collisions, whereas other work has shown simple behaviours for pivoting cube robots in a decentralised manner [83].

In addition to the precise manner in which modules move, further physical considerations behind self-assembly are now being accounted for. For example, the most time-consuming step of reconfiguration with SMORES-EP is the docking and undocking, so algorithms that reduce the number of these actions required have been developed [84]. Self-assembly also sometimes occurs in cluttered environments, so obstacle avoidance strategies have also been incorporated into self-assembly algorithms [85].

Instead of creating shapes using self-assembly, a contrasting approach is to use self-disassembly. Robots start from a highly connected structure, then selectively remove themselves to leave a desired shape. This was first proposed for the Miche platform [53] and more recently demonstrated with Kilobot robots [86]. Modules in the initial structure are guaranteed to be able to communicate with each other so the reconfiguration process can be decided upon in a centralised manner before movement commences. Early work relied on external forces to remove the modules [31, 53], whereas recent developments have shown how modules can remove themselves at a specified sink location [87].

Self-assembling robots moving in fluids face unique challenges due to their low friction environment and omnidirectional motion: how reconfiguration actions should be performed is as important as which actions should be performed. For example, work on the Roboat project developed nonlinear model predictive control strategies to control the self-assembling robotic boats [58, 88], and complex trajectory planning algorithms to use during reconfiguration [89]. Control strategies to achieve docking and undocking of underactuated swimming robots has also recently been investigated [90]. Further research has created distributed control strategies to allow modular robots to move to a goal by routing fluid through themselves [59]. The ModQuad system has demonstrated how flying quadcopters can be controlled to self-assemble structures in mid-air [91,92,93].

Stochastic self-assembly is another promising research area, in which robots do not control their motion but choose what connections they make. This approach is massively parallel, creating scalable and robust systems [94]. The Lily platform has supported a number of works, including self-assembly of defined structures by generating rules for which connections should be retained when modules are stochastically brought into contact with each other [95]. The process has also been described using Markov models to gain insights into the behaviour of such systems [96]. Tile-based self-assembly has been demonstrated in a similar manner [27].

Task-Driven Self-Assembly

In task-driven self-assembly, a structure emerges as a result of modules attempting to complete a given task. This leads to self-assembly as modules automatically respond to the situation, instead of requiring separate pre-programmed shapes to be built to complete different tasks. Early examples of this include the Million Module March algorithm [97], in which a group of self-assembled robots move as a collective towards a goal while autonomously adapting to the terrain, and work by O’Grady et al. [98] to demonstrate how swarm-bots can work together to drive up hills too steep to pass individually. A similar algorithm to the Million Module March was developed more recently by Zhu et al. and implemented with real-life robots [99]. The approach has also been applied to simulated freeform spherical robots based on FreeBOT [100], including making checks to ensure structures do not topple over [101].

If robots were to self-assemble into bridges, they could reach new areas. A key consideration during bridge construction is to ensure the structure does not collapse, prompting recent researchers to incorporate force measurements into these self-assembly algorithms, inspired by earlier work with the CHOBIE II platform [102] and the robotic construction of trusses [103]. Robots either add themselves to the structure as soon as they detect a sufficiently high force [104••] (Fig. 2b), or wait until they have traversed the whole structure and place based on this information [105, 106]. The former approach is evaluated for freeform FireAnt3D modules, while the latter assumes a 2D sliding cube model. These forces could either be obtained through sensors in the connector, as in CoSMO [107], or predicted through structural analysis [108]. An alternative to the force-aware approach is to use traffic control to build bridges to act as shortcuts so robots can travel more efficiently [47].

Auxiliary Algorithms

In addition to algorithms to explicitly induce self-assembly, additional low-level algorithms may be required. For example, many approaches assume each module has a unique identity to coordinate with its peers, such as in [67••]. Inter-module communications often contain the address of the intended recipient, which should therefore be compact to reduce the message length. A method for assigning these identities on static structures is presented in [109], and then extended to allow for dynamic structures by incorporating unassigned identities that can be used at a later time [110].

Many algorithms require agents to know their initial structure so they can decide how to move to a target structure. A method of discovering this has been demonstrated on the ModRED platform using a combination of infrared for local communication between neighbours and XBee to rapidly provide wireless updates throughout the system [111]. Investigations have also been performed with SMORES-EP robots, where configurations are matched to an existing library to speed up reconfiguration [112]. In freeform modular robots configuration recognition can be even more challenging, as connections can be made at any location. Nevertheless, an approach to solving this for FreeBOT has been developed [113], which models the magnetic field produced by the connectors using graph convolutional neural networks to determine the locations of the connections to each agent.

Other auxiliary algorithms consider problems that may occur in the real-world but in not simulation. For example, when robots break down they may require removal or replacement [61]. Alternatively, additional modules could be incorporated nearby to maintain functionality [114]. Another consideration is whether structures will collapse under their own weight: a method of rapidly predicting this using distributed computation has recently been demonstrated [108].

Conclusions

In this article, we have reviewed recent developments in self-assembling robots. We first showed the wide ranging physical designs of recent systems. As each has their own advantages and disadvantages, no single platform has emerged as the most capable. The traditional approach of designing modules with discrete connection points has been challenged by the development of freeform connectors, which offer wider-ranging configurations but with their own unique challenges relating to the increased configuration space they offer.

On the algorithmic front, a wide range of approaches are taken towards self-assembly of specified shapes, or to complete prescribed tasks; the latter approach may contribute to an increased utility of self-assembling multi-robot systems. The majority of the algorithms are validated for large numbers of robots only in simulation. Deploying them on real platforms remains challenging, possibly due to the high cost and limited availability of these robots. The introduction of open and standardised hardware, such as PuzzleBots [16], could facilitate the real-world deployment of these systems.