Keywords

1 Introduction

Modular robots are composed of various units or modules, hence the name. Each module involves actuators, sensors, computational, and communicational capabilities. Usually, these modules are homogeneous; however they could be heterogeneous to maximize versatility [1].

Modularity allows robots for self-assembly, self-reconfiguration, and self-repair [2] those are discussed in Sects. 2, 3, 4 and 5 respectively. Section 6 presents self-reproduction robots. Since developing methods for evolving controllers has been of great interest, we cover evolutionary robots in Sect. 7, followed by printable robots in Sect. 8 and automatic manufacturing in Sect. 9. To conclude, we summarize the article with Sect. 10.

2 Modularity

The concept of modularity has emerged in the past few decades, which led to successfully implementing a number of prototypes. CEBOT is one of the first modular robots. It was developed by Fukuda and Kawauchi in 1990, as a distributed robotic system consisting of cells that could attach together to perform a function. CEBOT is capable of dynamically self-reconfiguring and self-repairing. The cells are operated by the communication network COMBUS [3]. Figure 1 shows the geometry of a mobile and an object cell.

Fig. 1.
figure 1

Geometry of mobile and object cell

In 1993, Yim created a set of modular robots that can employ several locomotion strategies [4]. Such systems are called self-reconfigurable robots; one example is PolyBot that was implemented in 2000 to explore how realistic is to implement robots using several homogeneous hardware modules. These modular self-reconfigurable systems have three characteristics; versatility, robustness, and low cost. The first two generations of PolyBot prove versatility by executing locomotion over a variety of terrain. However, as the number of modules increases, cost increases, and robustness decreases due to software scalability and hardware dependency issues. Currently the maximum number of modules utilized in one connected PolyBot system is 32 with each module having 1 DOF [5]. The third generation deals with 200 modules to show a variety of capabilities, including moving like a snake, lizard or centipede as well as humanoid walking and rolling in a loop [6].

Chiang and Chirikjian introduced a metaphoric system in 2001 to form structures by rolling over each other in a plane. Also, a cost function was introduced to measure reconfiguration fitness and to bisect shapes. This can be viewed as a geometric figures pattern-matching problem under rigid body motions [7].

In the same year, Rus and Vona developed Crystalline atoms that have 3 DOF, which allows expansion and contraction by a factor of two. Robots are formed by expanding and contracting each atom frame in order to move relatively to the other atoms. These movements simulate muscles actuation mechanism. Moreover, Crystalline robots are capable of self-reconfiguration very fast in O(n 2 ) time, where n is the number of atoms [8]. Earlier in 1998, Rus et al. have developed modules for building self-reconfigurable robots called Molecules that support various locomotion modalities by organizing autonomously as geometric structures to best fulfill the task in hand. These Molecules have 2 DOF and can be aggregated to form 3D structures. Finally, motion planning is done in O(n) time, where n is the number of molecules [9, 10].

Suh et al. in 2002 introduced the Telecubes that are cubic modules with 6 prismatic DOF and sides capable of expanding more than twice its original length. Those cubes can form a modular self-reconfigurable robot by attaching and detaching magnetically to other cubes [11].

As mentioned earlier, robotic modules are equipped with sensors in order to collect data and provide necessary feedback that can be used locally on the module to guide self-reconfiguration. Støy et al. proposed a methodology where raw sensor values can be used globally, and combined it with role based control method for the self-reconfigurable robot CONRO [12, 13].

Molecubes is an open hardware and software platform for modular robotics that was developed to remove entry barriers to the field and accelerate progress. Different types of active modules; such as gripper, actuated joint, controller, camera, and wheel along with a number of passive modules were presented. Evolutionary search was to design different types of robots rapidly [14, 15]. The following Tables 1, 2 and 3 compare the aforementioned systems on a number of parameters including geometrical, electrical, and physical properties.

Table 1. Geometrical properties comparison
Table 2. Electrical characteristics comparison
Table 3. Physical properties comparison

3 Self-assembly

One of the main benefits of modularity is the capability of self-assembly, which is the natural construction of complex multi-unit system using simple units governed by a set of rules. Self-assembly process is ubiquitous in nature as it generates much of the living cell functionality [16]. However, it is uncommon in technical field, because it is considered as a new concept relatively in that arena although it could help in lowering costs and improving versatility and robustness; which are the three promises of modular robotics. The ability to form a larger stronger robot using smaller modules allows self-assembly robotics to perform tasks in remote and hazardous environment.

Jones and Mataric in 2003 introduced intelligent self-assembly system using assembly agents and a transition rule set compiler, which takes a goal shape as an input and gives a set of rules as an output that can be utilized by the assembly agents to assemble the target shape [17]. In additional work, Kelly and Zhang described a model for optimizing the size of the rule sets used to build a structure [18]. Furthermore, Werfel studied assembling complex structures using transition rule sets and artificial swarms to automate construction [19].

Stochastically driven self-assembly systems were studied by White et al. in 2004 as they developed algorithms and hardware for few systems. One system uses square units with electromagnets that self-assembled into an L-shape and then into a line. The other system uses triangular units with swiveling permanent magnets that self-assembled into a line and then changed their sequence within the line. Both systems lack batteries, and the modules only receive power after they connect to the structure being self-assembled [20]. Tolley et al. extended that 2D system to 3D. Their evolutionary approach takes a target function as input and yields a shape to achieve the input function, and directs the shape’s assembly. However, the units are unable to move on their own as they need to circulate in turbulent fluid to accrete onto the structure. This fluidic system could be scaled down to produce micro-scale modules [21].

In 2005, Bishop et al. built triangular programmable parts that can be assorted on an air table by overhead oscillating fans to self-assemble various shapes according to the mathematics of graph grammars. The modules can communicate and selectively bond using mechanically driven magnets, without global knowledge of the full shape. Despite planning to build approximately 100 parts, only six parts were built for design simplicity reasons. Those six parts were used in an experiment that showed these parts react similarly to chemical systems [22]. Then, Napp et al. added measurements of kinetic rate data to the previous work of graph grammar in order to yield a Markov Process model [23]. Figure 2 demonstrates a number of programmable parts partially assembled into a triangle.

Fig. 2.
figure 2

Four programmable parts partially assembled into a triangle

Sambot is a mobile self-assembly modular robot, which was implemented by Wei et al. in 2010. Several modules can self-assemble to form a particular structure through a 4-phase autonomous docking process. Also, the resulting shape can reconfigure into different structures that are capable of locomotion [24]. Figure 3 shows the schematic diagram of a Sambot module.

Fig. 3.
figure 3

Schematic diagram of Sambot

4 Self-reconfiguration

Recently, modular robotics has gotten attention from researchers in the robotics field due to their ability to self-reconfigure [2]. Modular self-reconfigurable robots involve various modules that can combine themselves autonomously into a meta-module or a structure that is capable of performing a specific task under certain circumstances [1]. Self-reconfigurability allows these robots of metamorphosis, which in turn makes them capable of performing different sorts of kinematics. For instance, a robot may reconfigure into a manipulator, a crawler, or a legged one [2]. This sort of adaptability enables self-reconfigurable robots to accomplish tasks in unstructured environments; such as space exploration, deep-sea applications, rescue missions, or reconnaissance [3].

Yim et al. in 2002 classified reconfigurable robots into three classes of architecture: lattice, chain, and mobile based on how they reconfigure [25]. Then, they added deterministic and stochastic reconfigurations in 2007 [26].

Lattice architectures have modules that are connected in a 3D pattern that can be used as a guide for modules to determine their positions and form the new shape accordingly. Chain/Tree architectures have modules that are connected together in a string or tree topology. The underlying architecture is serial such that each chain is always attached to the rest of the modules at one or more points, and they reconfigure by attaching and detaching to and from themselves. Mobile architectures change shape by having modules detach themselves from the main body and move independently [25]. Deterministic Architecture relies on units moving or being directly manipulated into their target location during reconfiguration. Stochastic Architecture relies on units moving around using statistical processes; e.g. Brownian motion, that are used to guarantee reconfiguration times as well [26].

Since reconfigurable robotics field has a great interest in robotics community, we have seen many prototypes implementations. Among them is M-TRAN (Modular transformer) a distributed lattice-based self-reconfigurable system composed of homogeneous robotic modules. The special design of M-TRAN module realizes both reliable and quick self-reconfiguration and versatile robotic motion. M-TRAN is able to metamorphose into robotic configurations such as a legged machine and hereby generate coordinated walking motion without any human intervention. The actual system that was built using ten modules was examined through experiments to demonstrate the basic operations of self-reconfiguration and motion generation. In order to drive M-TRAN hardware, a series of software programs has been developed including a kinematics simulator, a UI to design appropriate configurations and motion sequences for given tasks, and an automatic motion planner for a regular cluster of M-TRAN modules. These software programs are integrated into the M-TRAN system supervised by a host computer [27].

In the second prototype, M-TRAN II, various improvements were integrated in order to allow complicated reconfigurations and versatile whole body motions. Those improvements contain reliable attachment/detachment mechanism, on-board multi-computers, high speed inter-module communication system, low power consumption, and precise motor control. Developed software are also integrated to design self-reconfiguration processes, to verify motions in dynamics simulation, and to realize distributed control on the hardware [28].

The third prototype, M-TRAN III, has been developed, with an improved connection mechanism. Various control modes including single-master, globally synchronous control and parallel asynchronous control are made possible by using a distributed controller. Self-reconfiguration experiments using up to 24 units were performed by centralized and decentralized control. Finally, system scalability and homogeneity were maintained in all experiments [29].

SuperBot is a multifunctional network of modules that can perform as both lattice-based and chain-type self-reconfigurable robots. It was developed by Salemi et al. in 2006 to enhance the mechanical design of M-TRAN by adding an additional rotational DOF between the two existing rotation axes. SuperBot was designed to be a flexible, strong, and durable robot that can be used in real world applications; such as environmental exploration [30].

Another self-reconfigurable robot is ATRON, a lattice-based system consisting of spherical modules, where each sphere is constructed as two hemi-spheres joined by an infinite revolute joint. Despite that ATRON modules are minimalistic because they have only one actuated DEF, the group of modules is capable of self-reconfiguring in three dimensions [31].

RoomBot is a modular robot that can self-assemble and self-reconfigure into different pieces of furniture. It introduces passive elements in the robot structure, the implementation of a Central Pattern Generator for generating the command of the motors, and the possibility of use a motor in oscillation, but also in constant rotation [32]. The following Tables 4, 5 and 6 compare the aforementioned systems on a number of parameters including geometrical, electrical, and physical properties.

Table 4. Geometrical properties comparison
Table 5. Electrical characteristics comparison
Table 6. Physical properties comparison

5 Self-repair

The Self-repair is a special type of self-reconfiguration that could allow a robot to replace damaged modules with functional ones in order to continue with the task at hand [2]. Typically, such robots are unit-modular and carry a number of redundant modules on their bodies, because a self-repair system must have two qualities: the ability to self-modify, and the availability of new parts or resources to fix broken ones. Self-repair consists of detecting the failure of a module, ejecting the deficient module and replacing it with an efficient extra module. Such robots are well suited for working in unknown and remote environments.

Murata et al. developed Fracta robotic system in 1994 as a robot that can reconfigure by rotating homogeneous modules about each other to form a goal shape [33]. Then, it was extended by Yoshida et al. in 1999 to a self-assembly and self-repair system that can transform from an arbitrary shape into a desired one. Self-assembly is implemented using identical software on each unit with local inter-unit communication. They considered self-repair as an extension of self-assembly that detects damage and let the whole system reconstructs itself. A simulated-annealing algorithm was developed for self-repair operation. The system has more than ten units that successfully configured themselves and recovered from a fault [34]. A schematic 3D view of a single Fracta module – Fractum – is displayed in Fig. 4.

Fig. 4.
figure 4

Schematic view of 3D Fractum

Fitch et al. built on the previous work of Yoshida et al. to accomplish self-repair using the self-reconfiguring Crystalline robots with a focus on geometric motion planning. The aforementioned Crystalline robots consist of modules are actuate by expanding and contracting, as shown in Fig. 5. This actuation mechanism is used for self-repair as the process consists of three phases: detect failure, eject the failed module, and replace the failed module [35].

Fig. 5.
figure 5

Schematic diagram of crystalline actuation mechanism

6 Self-reproduction/Self-replication

The ultimate form of self-repair is self-reproduction; which allows robots to reproduce themselves from an infinite supply of parts using simple rules. If the resulting system is an exact replica of the original, the system is called a self-replicator [36]. The effort in self-reproducing is focused on design and construction of a small seed system that will grow exponentially to form a larger system through tens of generations. The resulting self-reproducible robots are capable of accomplishing very large-scale tasks; such as collection of solar energy, direct removal of greenhouse gases from the Earth’s atmosphere, and desalination of water for irrigation [37]. Self-reproduction differs from automatic manufacturing or self-assembly, because the resulting system does not need to make copies of itself.

Von Neumann was the first to prove the possibility of self-reproduction in 1966 in his close to physical implementation kinetic model of self-reproducing automata [38]. More recently, Griffith et al. demonstrated that self-assembling systems may self-replicate if the intelligent modules were configured to duplicate [39]. Finally, Zykov et al. introduced an autonomous self-reproducible robot in 2007. That robot is a modular one composed of actuated modules equipped with electromagnets to selectively control the morphology of the robotic assembly [40].

7 Evolutionary Robotics

Evolutionary Robotics is the automatic creation of autonomous robots that is inspired by the Darwinian principle of selective reproduction of the fittest captured by evolutionary algorithms [41].

Nolfi and Floreano presented a set of experiments in their book, ranging from simple to very complex, in order to address different adaptation mechanisms. The first set of experiments involves navigational tasks; such as obstacle avoidance. The authors point out that in some cases the evolved solution outperformed the hand-designed solution by capitalizing on interactions between machine and environment that could not be captured by a model based approach. On the other hand, more complex tasks expose limits of reactive architectures. However, very complex tasks such as garbage collection and battery recharging show that emergent modular structures allowed the decomposition of the global behavior into basic behaviors to emerge spontaneously. Furthermore, the achieved decomposition did not correspond to a distal decomposition an external designer would naturally expect, and outperformed other manually designed decompositions [41].

According to Lipson, each robot comprises two major parts: controller (brain) and morphology (body). Robot controllers can be represented in any one of a number of ways: as logic functions, programs, differential equations, or neural networks. Various experiments represent the controller as a neural network that maps sensory input to actuator outputs. These neural networks can have different architectures, such as feed-forward or recurrent. Sometimes the choice of architecture is left to the synthesis algorithm [42].

Nolfi and Floreano described an experiment of using evolutionary methods to evolve a controller that would make a legged robot, which is equipped with actuators and sensors, locomote towards a high chemical concentration area [43]. Bongard explored the same concept on a legged robot in a physically realistic simulator. The robot has four legs and eight rotary actuators. A neural controller that maps sensors to actuators determines the behavior of the machine. Trying out a candidate controller in four different concentration fields, and summing up the distance between the final position of the robot and the highest concentration point evaluated the fitness. The shorter the distance is considered better. In this experiment, 200 candidate controllers were evolved for 50 generations and the robot learned to move and to change direction towards the high concentration [44].

Zykov et al. used evolving controllers for a real dynamical-legged robot in 2004. The nine-legged machine, demonstrated in Fig. 6, is composed of two Stewart platforms back to back. The author used force-actuators which exact extension can be set. The controller architecture for this machine was an open-loop pattern generator that determines when to open and close pneumatic valves. The on-off pattern was evolved and candidate controllers were evaluated by trying them out on a robot in a cage. Fitness was measured using a camera that tracks the red ball on the foot of one of the legs of the machine [45].

Fig. 6.
figure 6

Nine-legged robot

Paul and Bongard designed dynamic bipedal robot controllers in simulation using evolutionary process. The robot consists of the bottom half of a walker with six motors, a touch sensor at each foot and an angle sensor at each joint. Fitness was the net distance a robot could travel. Evolving 300 controllers over 300 generations generated numerous controllers that could make the machine move while keeping it upright. These results may suggest that evolving a controller for a fixed morphology could be too restrictive, while co-evolving both the controller and the morphology could yield better results [46].

Karl Sims explored in simulation the idea of giving the evolutionary process more freedom in designing both morphology and control using 3D cubes and oscillators as building blocks [47]. Similarly, Lipson and Pollack explored physically-realizable machines and started with lower-level building blocks, such as 1D elements and simple neurons. The used design space was comprised of bars and actuators as building blocks of structure and artificial neurons as building blocks of control.

8 Printable Robots

Existing rapid prototyping techniques; such as 3-D printing, are becoming increasingly accessible due to their ability of achieving complex geometries. Therefore, printable robots utilize these planar fabrication methods in order to create integrated electro-mechanical laminates. Moreover, 3D Printing allows fabrication of low cost, capable, agile, functional 3-D robots; such as Origami robots proposed by Onal et al. in 2014. Those robots can fold themselves into functional 3-D machines employing origami-inspired techniques [48]. One of these robots is displayed in Fig. 7.

Fig. 7.
figure 7

Origami inspired printed robot

9 Automatic Manufacturing

Robots automatic design and manufacturing combine evolutionary computation and additive fabrication; such that the former is used for design and the latter for reproduction. The evolutionary computation process operates on candidate robots population, each composed of some repertoire of building blocks, to iteratively select fitter machines, create offspring by adding, modifying and removing building blocks using a set of operators, and replace them into the population. Similarly, additive fabrication technology has been developing in terms of materials and mechanical fidelity but has not been placed under the control of an evolutionary process.

Lipson et al. proposed an approach based on the use of only elementary building blocks and operators in design and fabrication process. Elementary building blocks were used to minimize inductive bias and maximize architectural flexibility. Also, they allow the fabrication process to be more systematic and versatile [49]. The resulting robots are presented in Fig. 8.

Fig. 8.
figure 8

Automatic manufacturing resulting robots

10 Conclusion

In this paper, we have presented a comprehensive survey of modular robots that were created to meet three main goals, versatility, robustness, and low cost. Also, modularity offered a number of features that were used to differentiate types of modular robots from self-assembly to self-repair. Self-assembly allows a number of modules to integrate and form a robot. Self-reconfigurable robot is capable of changing its shape and locomotion kinematics according to the task in hand. A robot that can fix itself by replacing damaged modules with fresh ones is called self-repair. While the robot that can replicate itself is called self-reproducible. Since evolutionary robotics explore the design and construction of robots using multiple modules, we covered it in this paper, followed by printable robots and automatic manufacturing. Many representative works were selected from the literature and some of the implemented prototypes were discussed.