Evolutionary Modular Robotics: Survey and Analysis

This paper surveys various applications of artificial evolution in the field of modular robots. Evolutionary robotics aims to design autonomous adaptive robots automatically that can evolve to accomplish a specific task while adapting to environmental changes. A number of studies have demonstrated the feasibility of evolutionary algorithms for generating robotic control and morphology. However, a huge challenge faced was how to manufacture these robots. Therefore, modular robots were employed to simplify robotic evolution and their implementation in real hardware. Consequently, more research work has emerged on using evolutionary computation to design modular robots rather than using traditional hand design approaches in order to avoid cognition bias. These techniques have the potential of developing adaptive robots that can achieve tasks not fully understood by human designers. Furthermore, evolutionary algorithms were studied to generate global modular robotic behaviors including; self-assembly, self-reconfiguration, self-repair, and self-reproduction. These characteristics allow modular robots to explore unstructured and hazardous environments. In order to accomplish the aforementioned evolutionary modular robotic promises, this paper reviews current research on evolutionary robotics and modular robots. The motivation behind this work is to identify the most promising methods that can lead to developing autonomous adaptive robotic systems that require the minimum task related knowledge on the designer side.


Introduction
Producing autonomous adaptive robots is a huge challenge.In biology, autonomous and adaptive creatures are produced using evolution.However in industry, mainstream robots use machine learning to produce adaptive behavior to simulate biological aspects while neglecting the autonomous side of it.Therefore, evolutionary algorithms are used to optimize robotic autonomy and adaptation producing what is known as evolutionary robots [1].
Evolutionary robotics evolves populations of robots by applying evolutionary computational methods, and then selects the fittest to survive.The evolutionary approach continuously designs and builds different robots with improved capabilities rather than practicing the hand Reem J. Alattas ralataas@my.bridgeport.edu 1 Interdisciplinary Robotics, Intelligent Sensing and Control (RISC) Lab, School of Engineering, University of Bridgeport, 221 University Avenue, Bridgeport, CT 06604, USA design approach that can be extremely difficult when designing autonomous adaptive robots.Thus far, applying evolutionary algorithms lack the guarantees of finding an optimal solution; however, the benefits of this method outweigh the cost.The benefits of evolutionary algorithms include the power to improve the parameters and the structure of the robotic control and morphology [2,3].In order to maximize that power, modularity could play a role as the basic building block in the robotic system to simplify the implementation and search space because of its discrete nature.
An initial review of the literature was presented in [4], but this paper presents a holistic review of the area, detailed bibliography, and well referenced discussion of the state of the art that can be used as a guideline to understand the trends of this field.The previous work categorized modular robotic systems based on the dominant feature of each robot.It focused on the modular robots while overlooking the evolutionary aspect of these systems.Evolutionary robotics was discussed as a potential technique that can be applied to evolve the robots control systems.On the other hand, this paper focuses mainly on the evolutionary modular robotic systems that applied evolutionary algorithms to improve the resulting modular robotic structure and behavior with an emphasis on applying evolutionary computation to enhance the modular robotic task based design.It also reviews more prototypes that used evolutionary algorithms to solve certain robotic challenges, such as motion planning or changing the robot geometric structure.This paper starts with reviewing some research work done on evolving robotic control in a fixed morphology and coevolving robotic control and morphology.Then, modular robotics are discussed as a method to design and implement evolutionary robots in the physical world, as advanced technology and rapid prototyping techniques have made these modular robots feasible.Moreover, evolutionary computation can empower modular robots by allowing them to selfassemble, self-reconfigure, self-repair, and self-reproduce.Thereafter, numerous modular robotic applications are analyzed along with their capabilities of performing various evolutionary challenges.Finally, the current state of the art and challenges are discussed.

Evolutionary Robotics
In nature, evolution produces heritable changes in the phenotypes of organisms over multiple generations for better adaptation to the environment.In robotics, evolution has been proposed as a nature inspired approach to avoid the bias and limitations introduced by human designers and to produce better adapted robots to the environmental changes [5].Simply, evolutionary robotics is a method of creating autonomous robots automatically without human intervention [6].
The Darwinian theory of evolution inspired evolutionary robotics.This theory states that all organisms develop through mutation, crossover, and selection that increase the new generation's ability to compete, survive, and reproduce [7].Based on the principle of selective reproduction of the fittest, robots are viewed as autonomous artificial organisms that can develop their own skills by interacting with the environment and without human intervention.The fittest robots survive and reproduce until a robot that satisfies the performance criteria is produced [8].
Each robot comprises two major parts: control (brain) and morphology (body).Controls are represented in many ways including neural networks that map sensory input to actuator outputs.Morphology can be described as treebased representation, L-system consisting of set of rules that can produce construction sequences or regulatory networks.
To allow for open-ended synthesis, both control and morphology should co-evolve along with the fitness functions and evaluation methods [9].
Evolving robotic controls has received a lot of attention on research because controls are more adaptable than morphology.Floreano et al. described evolving a smallwheeled robot control that is comprised of a neural network using a simple Genetic Algorithm to navigate a looping maze.Their experiment showed that the fitness function evolved and the cruising speed of the robot evolved as well, demonstrating that evolution can lead to better adaptation [6].Nolfi and Floreano presented a set of navigational experiments in their book, ranging from the simple to the very complex in order to address different adaptation mechanisms.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 exposed the limits of reactive architectures [8].
In the previous work, robotic controls were evolved for fixed morphological structures that were user-designed.Other research studies indicate the need to co-evolve the robotic control and morphology in order to produce fitter robots, as is the case of nature.Paul and Bongard introduced coupled evolution of robotic morphology and control on a biped robot in simulation.The closed loop recurrent neural network controller was optimized simultaneously with the morphological parameters using a fixed length Genetic Algorithm [10].Zykov et al. applied the same theory on a physical robot to evolve the dynamic gates in hardware.The nine-legged robot's open-loop controller was evolved using a Genetic Algorithm to allow evolving speed and locomotion pattern under the rhythmicity constraint [11].Lund et al. investigated the co-evolution of robotic controller and morphology using LEGO parts to construct the evolved morphology and downloaded the evolved controller to LEGO MINDSTORM RCX.The search space for morphology was limited, but the solution search space was enlarged when co-evolving controller and morphology [12,13].Sims created a system where virtual robotic control and morphology co-evolve to allow the robots to compete in a physically simulated 3D world to gain control over common resources.The robots were made of 3D cubes and oscillators [14].
The techniques presented for coupled evolution of robotic control and morphology allowed the automation of designing complex systems that would be difficult to design using traditional methods.Lipson and Pollack explored automatic design concepts by building robots using lower-level building blocks with no sensors.The control was composed of neurons and the morphology was composed of bars and linear actuators.The resulting solutions were remarkably elaborate and would have been difficult to design using traditional methods [15].However, an obvious constraint was the manufacturability of the resulting solutions.Therefore, Faíña et al. proposed the use of modular robots as the fundamental building blocks for evolutionary processes because modularity allows building a wide variety of robotic structures, simplifies the search space, and ensures easy implementation in reality [5].

Modular Robotics
Modular robots are composed of various units or modules, hence the name.Each module involves actuators, sensors, computational, and communicational capabilities.Usually, these systems are homogeneous where all the modules are identical; however, there could be heterogeneous systems that contain different modules to maximize versatility [5].
Modular robotic systems have three promises: versatility, robustness, and low cost.Versatility is the capability of the modular robotic system to form a number of different shapes, each with big numbers of degrees of freedom (DOF).In other words, to allow the robot to self-reconfigure in order to accomplish various tasks in different environments.Versatility can be measured by the number of isomorphic configurations the robotic system can form and by the number of DOF in the system.The number of configurations grows exponentially with the number of modules and the number of DOF grows linearly with the number of modules.Robustness comes from redundancy and self-repair.When the robot is composed of many identical modules and one fails, any other module can replace it to keep the system running.Finally, low cost promise is achieved through batch fabrication.As the number of repeated modules increases, the economies of scale come into play and the per-module cost goes down [16].Also, maintaining low cost can be achieved through rapid prototyping equipment techniques; such as 3D printing, that can build any object by laying down successive layers of material.In order to empower the aforementioned characteristics in modular robotic systems, evolutionary task-based design approaches are utilized to replace traditional design methods.
In 1995, Chen and Burdick proposed a system to find optimal modular robotic design to accomplish a specific task.This system is formulated as a discrete optimization function based on assembly incidence matrix to represent the robotic configuration.These matrixes are encoded into bit strings to best utilize Genetic Algorithm.Genetic Algorithm is used for optimization because of the discrete nature of the search space, even though the application of Genetic Algorithm could be computationally expensive.The robots consist of link and joint modules and were implemented in simulation [17].
Chung et al. introduced in 1997 a task based design method for modular robot manipulators.The robotic system consists of manipulator base, link, and joint modules.The robot configuration is determined using kinematic relations.Then, Genetic Algorithm is used to find the optimal link length for a specific task.Because of the complexity of the problem, the computation effort required for Genetic Algorithm is tremendous.This algorithm has been implemented on physical robots.This work considers only the first level of modular architecture; which is kinematics synthesis [18].
In the same year, Chocron and Bidaud presented an adaptive multi-chromosome evolutionary algorithm for optimizing task based kinematic design of modular robotic systems.The robot consists of a mobile base and a set of link and joint modules to assemble the manipulator arm.The task is specified as 3D end-effector configurations.The robots were implemented in simulation.This method yielded better results compared to two-level GA and multichromosome evolutionary algorithm; however, it still lacks optimality.Additionally, the increase in the number of design variables increases the search space exponentially that results in making this algorithm insufficient [19].
According to Yang and Chen, with fewer DOF, the modular robot can better perform the task in terms of energy consumption and loading capacity.Therefore, they proposed the minimized degree-of freedom concept for task based modular robot design optimization in 2000.This system uses assembly incidence matrix to represent the robot configuration as in [17].It also uses Evolutionary Algorithm (EA) to search for optimal solutions.This algorithm was implemented in simulation and produced sub-optimal results [20].
Hornby et al. proposed in 2001 an automatic design system for modular physical robots that can become more complex.The goal of their work is to overcome the limitations of using evolutionary design approach to make it ready for practical engineering by reaching high complexities and to simplify design changes by using generative design and allowing reusability of modules.The robots consist of bars and joints inspired by Tinker-Toy™ components.The 2D robots are produced in simulation using Lindenmayer system for design and evolutionary algorithm for optimization.Then the actual robot is hand-assembled from an evolved design.This work described the co-evolution of the robotic control and bodies for locomotion abilities and produced a real robot that was tested and moved in the real world [21].
In 2013, Faíña et al. proposed an evolutionary designer for heterogeneous modular robots.This system is capable of designing complete robots including their control and morphology.Each robot involves distributed control and heterogeneous modular architecture.Tree like representation is used for robotic morphology to smooth the search space.A constructive evolutionary strategy is used to coevolve the robots control and morphology in simulation.Then the resulting robots are implemented physically to prove feasibility.The results were promising when applied to solve a linear motion problem but needed improvements in the case of static problems [5].
Moreover, evolutionary algorithms can be applied to modular robots to allow self-assembly from constituent modules, self-reconfiguration into different functional forms, self-repair to detect errors and recover from failures, and self-reproduce where one system can produce another autonomous functional system.

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.The self-assembly process is ubiquitous in nature as it generates much of the living cell functionality [22].However, it is uncommon in the 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-assembled robots to perform tasks in remote and hazardous environments.
In other words, self-assembly is the problem of designing a collection of elements with edge binding properties such that, when they mix randomly, they bind to form desired assemblies.The elements may be homogenous or heterogeneous; their binding properties may be fixed or dynamic; and they may have a range of capabilities such as ability to detect binding events or exchange information with neighbors [23].
Various types of evolutionary algorithms have been utilized in implementing self-assembly modular robotic systems.Bonabeau et al. studied employing Genetic Algorithm to generate self-assembly rules for modular robotic systems and explored the relationship between the space of possible rules and resulting biologically plausible structured architectures.This work did not address the problem of self-assembly according to pre-determined shapes [24].
Tolley et al. extended the stochastic self-assembly modular robot proposed in [25] from 2D to 3D.They used evolutionary approach to design robotic structures according to an input function.These structures are evolved in simulation using frequency-based representation.Then the assembly algorithm takes place to plan the assembly of the fittest evolved robot by sampling a graph of all possible paths to the target structure and following those that leave the most options open.The modules in this system are unable to move on their own because they need to circulate in turbulent fluid to accrete onto the structure.This fluidic system could be scaled down to produce micro-scale modules.This system lacks the possible feedback between the design and assembly phases, which can have a large impact on the evolving design if implemented to adapt to assembly conditions [26].

Self-Reconfiguration
Recently, modular robotics has gotten attention from researchers in the robotics field because of their ability to self-reconfigure [27].Modular self-reconfigurable robots involve various modules that can combine themselves autonomously into meta-modules that are capable of performing various tasks under different circumstances [5].The ability to self-reconfigure 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 [27].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 [28].
Yim et al. in 2002 classified reconfigurable robots into three classes of architecture: lattice, chain, and mobile based on how they reconfigure [28].Then they added deterministic and stochastic reconfigurations in 2007 [29].
Lattice architectures have modules that are arranged in a 2D or 3D grid that can be used as a guide for modules to determine their positions and form the new shape accordingly.All modules remain attached to the main body to simplify planning and control [29].Moreover, lattice architectures are capable of offering simpler reconfiguration compared to other classes because control and motion can be executed in parallel [27].Lattice-type systems exploit lattice regularity when aligning connectors during self-reconfiguration in order to allow faster and easier self-reconfiguration.However, assuming that all modules conform to the lattice can be problematic for systems with a big number of modules [30].One example of a lattice-based self-reconfigurable robot is M-TRAN [31,32].
Chain/Tree architectures have modules that are connected together in a string or tree topology.The serial underlying architecture implies that each chain is always attached to the rest of the modules at one or more points, and the modules reconfigure by attaching and detaching to and from themselves.The chains may be used as robotic arms, legs, or tentacles [29].Chain architectures are more versatile compared to other architectures due to their capa-bility of reaching any point in space through articulation, but they are more difficult to control and more expensive computationally to represent and analyze [27].An example of a chain-based self-reconfigurable robot is PolyBot [33][34][35].
It is important to mention that lattice architecture and chain architecture do not contradict, and numerous systems can be of both types at the same time, such as SuperBot [36] and UBot [37].These systems tend to have Hybrid architectures [28].
Mobile architectures have modules detach from the main body and maneuver independently using the environment; e.g.liquid or outer space, to link up at new locations in order to form new shapes, complex chains or lattices, or form a number of smaller robots.Mobile architecture is less explored compared to other structures because the reconfiguration difficulty outweighs the functionality gain [28,29].A mobile-based self-reconfigurable example system is CEBOT [38][39][40].
Deterministic Architectures have modules move directly to their target locations during the self-reconfiguration process.Each unit's location can be known at all times or calculated at run time, such that reconfiguration times are guaranteed.Feedback control is necessary to ensure precise movement.Usually, macro-scale systems are considered deterministic [29].
Stochastic Architectures have modules move in a 2D or 3D environment using statistical processes; e.g.Brownian motion, which are used to guarantee reconfiguration times.The exact location of each unit is known only when it is connected to the main structure, but the paths taken by those units to move between locations might be unknown.Stochastic architectures are more ideal at micro-scale systems.The environment provides most of the needed energy for moving units around [29].
Evolutionary algorithms were used to evolve modular self-reconfigurable robotic controls in order to support selfreconfiguration and also to implement different modular robotic behaviors.Østergaard and Lund explored evolving controllers of M-TRAN [41] and ATRON [30] selfreconfigurable modular robotic systems in simulation.Employing Genetic Algorithm for implementing M-TRAN walking behavior is very complicated because evolving each controller locally to generate a global behavior is affected by the conditions of neighboring modules.Therefore, when attempting to evolve ATRON controllers individually to allow the modular collection of moving in the right direction, two modules were evaluated as a couple instead of evaluating single modules using competitive co-evolution and symbiotic co-evolution.This work did not address the constraints of physical systems [30].
ACMoD is a modular self-reconfigurable robot that uses Genetic Algorithm to produce proper configuration patterns and for optimizing the path of modules through a static grid of different terrain blocks.This work did not address dynamic environment or found optimal solutions.The system was implemented in simulation [42].

Self-Repair
Self-repair is a special type of self-reconfiguration that allows a robot to replace damaged modules with functional ones in order to continue with the task at hand [27].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.Therefore, modular self-repair robots usually consist of redundant modules.Self-repair involves two phases: detecting the failure module, and then ejecting the deficient module and replacing it with an efficient extra module.Such robots are well suited for working in unknown and remote environments.
ATRON modular robot uses evolutionary algorithms to implement self-repair functionality [30].This system is discussed in detail in the Applications section in this article.

Self-Reproduction
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 [43].The effort in self-reproducing is focused on the design and construction of a small seed system that grows 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 water purification for irrigation.Self-reproduction differs from self-assembly because the resulting systems do not need to make copies of themselves in the latter cases.Since any replication process requires an external material supply, some lattice positions may act as dispensers, where new modules reappear when removed from that location.Self-replication is classified to the following types [41].
• Direct reproduction: A robot picks modules from a dispenser and places them in a new location to gradually build a copy from the ground up.• Multi-parent reproduction: Multiple robots produce a single copy such that one machine places modules, while the other assembles these modules.• Self-assisted reproduction: The robot being built selfreconfigures to assist its own building during the building process.• Multi-stage reproduction: Temporary scaffold is needed in order to build the target robot.Then this temporary scaffold is either discarded as waste or re-used to produce additional robots.
Self-replicators can use evolutionary algorithms to evolve into the goal structure.The evolution occurs in two stages: morphology evolution and control evolution.Zykov et al. used Genetic Algorithm to evolve Molecubes in 2D simulation using two distinct fitness functions: one for evaluating the fitness of morphology and the other to evaluate the fitness of control.The robotic structure was Table 1 Modular robotic systems classification based on holistic system characteristics Self-Self-Self-Selfassembly reconfiguration repair replicate expressed using a variable-length genome and the control was described using command sequence.Only few results were successful yielding separate identical copy and a matching control.The successful results were implemented on physical robots.This work faces a computational challenge in the planning of self-replication algorithms [43].

Applications
There is a growing number of modular robotic prototypes that has been studied in the literature, so this section reviews a number of emphasized prototypes that participated in the growth of evolutionary modular robotics research.The timeline covered in this paper ranges from 1990 until this year.Figure 1 illustrates a chronogram of some of the surveyed systems along with other systems that were not covered in detail in this paper.Tables 1, 2 and 3 compare some of those systems based on different parameters.
Figure 2 demonstrates some of the physical systems.The subsections below are chronologically ordered by publication date.

PolyBot -2000
PolyBot is a modular self-reconfigurable robot that was implemented to explore how realistic it is to make robots using several homogeneous hardware modules.Three generations of PolyBot modules were prototyped, such that each generation addresses a number of shortcomings discovered in the previous one.The first generation (G1) is constructed using two modular types: node and segment.The segment modules are nominally rectangular prisms with 1 rotational DOF separating two connection ports.The node modules are fixed passive cubes with 6 connection ports.Unlike its G1 predecessor, the second generation (G2) connection ports have electromechanical latches under software control.These latch onto the pins protruding from the opposite face.The third generation (G3) modules are smaller and lack the DC motor extending past the side of each module.The new module has instead a DC pancake motor with a harmonic gear that is completely internal.The connectors are larger and have higher contact force for higher current loads to enhance performance.
The first two generations of PolyBot prove versatility by executing locomotion over different terrains.However, as the number of modules increases, cost increases, and robustness decreases because of software scalability and hardware dependency problems.Currently the maximum number of modules utilized in one connected PolyBot system is 32 with each module having 1 DOF.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 [33][34][35][36].
PolyBot is capable of self-reconfiguration by changing its geometry and locomotion mode depending on the terrain type -rolling over flat terrain, earthworm to move around obstacles, and a spider to step over hilly terrain.Planning the self-collision-free motions can be challenging because the size of this space is exponential in the number of modules, but proportional to the number of DOF.For many applications, a fixed set of configurations is sufficient.In this case, reconfigurations can be pre-planned off-line and stored in a table for ease of reconfiguration [16].

Telecubes -2002
Telecubes are compact cubic modules that were introduced by Suh et al. as an extension to the Crystalline system [44].Each cube has 6 prismatic DOF and 4 sides capable of expanding more than twice its original length.These cubes can form a modular self-reconfigurable robot by attaching and detaching magnetically to other cubes [45].
When it comes to reconfiguration, it is assumed the initial and final configurations overlap by at least one metamodule.A module is selected based on the Minimum Manhattan Distance to begin moving.Then, a route is planned for that selected module using a technique similar to the PacMan Algorithm.Once the path is generated, it can be converted into a sequence of motion commands that can be executed.During execution, the meta-modules are divided into active and passive groups.The active modules initiate the planning sequence.The passive modules follow the orders given by active modules to move.This reconfiguration algorithm lacked local decision making and parallel execution [46].

M-TRAN -2002
M-TRAN (Modular Transformer) is a distributed latticebased self-reconfigurable robotic system that can metamorphose into various configurations, such as a legged machine generating walking motion.The actual system was built using 10 modules and successfully demonstrated 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 user interface for designing configurations and motion sequences, and an automatic motion planner [31].
M-TRAN II is the second prototype where many improvements took place to allow versatile whole body motions and complicated reconfigurations.Those improvements contain a reliable attachment/detachment mechanism, high-speed inter-module communication, on-board multicomputers, accurate motor control, and low energy consumption.The software has been improved as well to verify motions in dynamics simulation and to design selfreconfiguration processes [32].
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 distributed control.Self-reconfiguration experiments using up to 24 units were performed by centralized and decentralized control.System scalability and homogeneity were maintained in all experiments [47].

ATRON -2004
Another modular self-reconfigurable robot is ATRON, a lattice-based system consisting of approximately spherical modules, where each sphere is constructed as two hemispheres joined by an infinite revolute joint.Actuation is realized as rotation around an axis diagonally through the sphere, where each module can rotate 360 • around the equator.This design allows for a stable construction around the actuated joint since a relatively large area is available for mechanics.However, the spherical basic module design makes it hard to have large flat surfaces connecting to each other.With spherical modules, connectors need to establish essential point-to-point contacts between modules, which are not desirable because of the high collision probability.The limited mobility of ATRON along with other motion restrictions leads to the use of ATRON metamodule to reduce motion constraints.The meta-module is composed of 3 modules: a body in the center that is connected to two legs.
Modular ATRON control comprises three Artificial Neural Networks; one to decide when to emerge, the second to decide when to stop, and the third to calculate the fitness value of every state in the self-reconfiguration and selfrepair processes.Genetic Algorithm is used to optimize the weights of the ANNs.Even though ATRON modules are minimalistic because they have only one actuated DOF, a group of modules was capable of self-reconfiguring in 3D simulation.Similarly, ATRON modules demonstrated self-repair successfully in simulation [30,48].

Programmable Parts-2005
In 2005, Bishop et al. built triangular programmable parts that can be assorted on an air table by overhead oscillating fans to self-assemble into 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 6 parts were built for design simplicity reasons.Those six parts were used in an experiment that showed how these parts react similarly to chemical systems [49].In addition, Napp et al. provided kinetic rate data measurements to the previous work of graph grammar in order to yield a Markov Process Model [50].

Y1 -2006
Gonzalez-Gomez et al. developed three minimal configurations using only two and three Y1 modules.Each of these modules is 72 × 52 × 52 mm having 1 DOF and they are capable of attaching and detaching.Y1 module design is inspired by Polybot G1 modules.Then, eight Y1 modules were used to build a modular worm-like robot that is capable of moving in a straight line using a wave propagation gait.The optimal parameters of these designs that include amplitude and phase are calculated using Genetic Algorithm; given velocity, stability, and power consumption restrictions [51].

Molecubes -2007
Molecubes system is an open hardware and software platform for modular robotics that was developed to remove entry barriers to the field and to accelerate progress.The system is composed of modules with 1 rotational DOF.Different types of active modules, such as gripper, actuated joint, controller, camera, and wheel along with a number of passive modules were presented.Each module is a cube shaped with round corners that comprises approximately two triangular pyramidal halves connected with their bases so that their main axes are coincident.Each of the 6 faces of the module is equipped with an electromechanical connector that can be used to join two modules together.Symmetric connector design allows four possible relative orientations of two connected module interfaces, each resulting in different robot kinematics [52].
Genetic Algorithm is used to evolve the modular neural network control of the robots in simulation to generate a certain behavior or motion [53].In order to achieve selfreplication, path planning is done with a gene pool that has been built using evolutionary algorithm [54].

iMobot -2010
Ryland and Cheng designed an intelligent selfreconfigurable modular robot with each module having 4 DOF and 6 connection faces.In this robotic system, the individual modules have full mobility unlike all the other systems discussed in this paper where the modules must be connected in a cluster to perform all types of locomotion.For example, M-TRAN module can crawl but it needs a second module to turn.In addition, the iMobot robotic system can perform unique locomotion modes such as driving and lifting into a camera platform [55].iMobot uses a distributed agent based Genetic Algorithm to search for the optimal genotype that can generate a certain robotic gait [56].

UBot -2011
UBot is a modular self-reconfigurable robotic system that is capable of multimode locomotion.The locomotion modes include cross, loop, quadruped and other gaits.UBot is a hybrid system combining the advantages of lattice and chain self-reconfigurable robots.Each module is cube shaped based on one universal joint and has two rotational joints in order to achieve 2 DOF [37,57].
In 2013, a 3D dynamic simulator was developed to simulate rigid body dynamics and evolve robotic locomotion.Evolutionary Robotics was used to find a gait planner for different robotic structures [58].

SMORES -2012
Self-assembling MOdular Robot for Extreme Shapeshifting (SMORES) was designed to become a universal modular robot that improves the versatility of selfreconfigurable robots by allowing the robots to reconfigure in three reconfiguration classes; lattice, chain, and mobile.Each module has four active rotational DOF and two wheels to allow mobile movement [59].
A design framework was developed in 2018 to facilitate configuration design of SMORES robots.The proposed system verifies robotic design validity by detecting conflicting commands and loss of stability.Moreover, this system allows existing robotic structures reusability to create complex robotic designs and behaviors [60].

Current State of the Art
More recently, new efforts have been pursued in the field of evolutionary modular robotics.Many tasks have been shown to be achievable, especially with the high number of physically implemented robotic systems.However, the majority of modular robotic behaviors; such as self-reconfiguration and self-repair were implemented in simulation despite the existence of a physical prototype; which can be considered as a reality gap.The reason behind this is the high cost of performing evolution inside physical hardware because of power, communication, and other limitations [61].Researchers have paid attention to bridge the reality gap using rapid prototyping techniques, as this fabrication method becoming more accessible [4].
Lipson and Pollack tried to bridge the reality gap by proposing an approach based on the use of only elementary building blocks and elementary operators in the design and fabrication process.Elementary building blocks are used to minimize inductive bias and maximize architectural flexibility.Also, these blocks allow the fabrication process to be more systematic and versatile.The pre-assembled machine was fabricated as a whole single unit, with plastic supports to connect the moving parts.These supports broke at first motion.Then, standard stepper motors were snapped in, and the evolved neural network was executed on a microcontroller to activate the motors.Three physical machines; shown in Fig. 3, successfully reproduce the behavior of their virtual ancestors in reality [15].engine to produce modular robots and a to evaluate the fitness of the evolved robots.The robot morphologies are represented as genetic programming trees and the controls are represented as artificial neural networks.Then, the evolved robots can be manufactured using desktop 3Dprinters; as illustrated in Fig. 4 [62].
Additive manufacturing was used by Samuelsen and Glette to build an autonomous robotic system that automatically designs and generates modular robots in simulation using evolutionary algorithms.Then, the system uses an automatic cluster to select the robots with highest fitness values to be manufactured using off-the-shelf motors and 3D printed structural components.The same evaluation procedure was used to compare the performance of the simulated robots and the performance of the physical robots.Five robots were manufactured and three out of five robots have significantly lower performance in reality [63].
Finally, Cellucci et al. demonstrated a 1D printing system inspired by the ribosome to automatically design and fabricate various robots using the same source material.Although the resulting robots have modest functionality, this research points towards expandable robotics that rapidly fabricate customized robots on demand and allow robots recycling to produce new robotic designs that can perform new tasks [64].
The research advances in the field of evolutionary modular robotics could be of interest for the evolutionary mobile robotics community due to the similarities of the challenges facing both fields.Evolutionary mobile robotics applies Evolutionary algorithms to autonomously generate complex robotic behaviors; such as navigation, plant inspection, and rescue operations.Mobile robotic navigation involves path planning as a strategy to find the optimal path from an initial point towards a target point in static and dynamic environments [65].Evolutionary algorithms have outperformed the classic approaches used to solve the path planning problem because of the NPhardness of that problem [66].Among the various metaheuristic methods belonging to the Evolutionary Algorithms class, Genetic Algorithm has been heavily applied in path planning research.
Qu et al. presented a Co-evolutionary Improved Genetic Algorithm (CIGA) for global path planning of multiple mobile robots that finds a collision-free path for each robot while avoiding collisions between them.The Improved Genetic Algorithm (IGA) is applied to solve the global path planning problem for a single mobile robot, then the co-evolution based on the IGA is used to solve the path planning problem for multiple mobile robots.The IGA involves a modified fitness function, customized selection operator and a new modification operator.The fitness function considers three variables for better accuracy: path length, path feasibility, and path infeasibility.Roulette wheel selection and elitist selection are employed consecutively to ensure high survival probability of the fittest solutions.The modification genetic operator modifies the paths to avoid collision with obstacles and to accelerate the evolutionary process.The system was implemented in simulation and tested in 2D static environment with three mobile robots and a number of static obstacles.The results were near-optimal collision-free paths.This method needs to be improved to include a larger number of mobile robots and involve path planning in dynamic environments [67].
Contreras-Cruz et al. introduced an evolutionary approach to solve the mobile robotic path planning problem.The proposed methodology combines two evolutionary techniques, artificial bee colony and evolutionary programming, to solve the problem in two sequential steps.First, the artificial bee colony algorithm is applied as a local search procedure in order to generate a feasible path.Second, the resulting path is refined by applying the evolutionary programming algorithm to produce short, smooth, and collision-free paths.The proposed method over-performed the classical probabilistic roadmap method in problems with distributed obstacles.However, this method needs to improve the local explorations process.It also needs to consider the multi-robot path planning problem [68].[62] consideration variable length chromosomes to allow rapid convergence and avoid premature convergence.The new fitness function is defined based on the path length, safety, and mobile robotic energy consumption.The system was implemented in simulation and the resulting paths were optimal in terms of the number of turns and iterations [69].

Conclusion
This paper has surveyed different applications of evolutionary algorithms in evolving robotic control systems, co-evolving robotic control and morphology, and evolutionary task-based design of modular robots.It was found that evolutionary based solutions exceeded hand designed ones by showcasing novel characteristics and capabilities.The use of evolutionary algorithms in the modular robotic field allowed self-assembly, self-reconfiguration, self-repair, and self-reproduction.These systems were discussed to express how evolutionary robotics can be used to generate rules for planning and controlling general robotic behaviors.Then numerous modular robotic prototypes were analyzed to demonstrate the feasibility of evolutionary modular robotic systems that are capable of accomplishing various tasks in dynamic environments.All of the surveyed systems have physical prototypes; however, the majority of their complex behaviors were implemented in simulation.This leads to a big impediment to advancement in evolutionary modular robotics, which is known as the reality gap.One major solution was reviewed in this paper that has proposed using automatic fabrication to bridge the reality gap.The challenge of building adaptive autonomous robots remains valid, despite the advancements in the field of evolutionary robotics to evolve robotic characteristics and to design modular robots that are capable of performing certain tasks in unstructured environments.

Fig. 2 a
Fig. 2 a PolyBot G2 [34] b M-TRAN III [47] c ATRON [30] d Programmable Parts[49] e Molecubes[53] Auerbach et al. tried to bridge the reality gap by proposing RoboGen, an open-source software and hardware platform that 3D prints evolved modular robots.The software component of RoboGen contains an evolutionary

Fig. 3
Fig. 3 The resulting robots.Real robots (left); simulated robots (right).a Tetrahedron b Arrow c Pusher [15] Lamini et al. developed a new Genetic Algorithm to solve the mobile robotic path planning problem in 2D environments.The proposed method has an improved crossover operator and a new fitness function.The Improved Same Adjacency (ISA) crossover operator takes into

Table 3
Modular robotic systems classification based on implementation method