1 Introduction

The performance of a robot at a certain task depends on the robot’s body structure and control. It has been shown that an appropriate body structure can greatly simplify the control problem [10]. However, the initial design of a robot might not be the most suitable for a task and a more beneficial structures exists.

To repeatedly adapt a robot’s shape to its task and optimize the robot’s performance, two main challenges must be addressed. First, to adjust to a preferably large range of tasks, the robot must be able to assume diverse body shapes, ideally of different size and resolution. This is demanding, as the real-world fabrication processes and constraints must be considered, and not all parts of the design space can equally well be explored. Second, to continuously optimize its own shape, the robot must be able to evaluate its own performance and iteratively generate new designs based on the task and previous performance.

Reconfigurable and self-reconfigurable modular robots address this issue by possessing the ability to change their own body structure to better adapt to the task requirements [16]. The ability to change their physical shape enables self-reconfigurable robots to achieve tasks which might not be solvable with a fixed morphology [14]. The field of modular self-reconfigurable robotics employs mechatronic modules which can adapt the connectivity between themselves to change the overall structure [4, 6, 12]. Other solutions are provided by configurable systems which can adjust predefined components of the system, such as the compound eye robot by Lichtensteiger et al. [5]. A further approach is the synthesis of new structures from a suitable base material as demonstrated by Revzen et al. [11] using a robot equipped with hardening foam or our previous work using hot melt adhesives [1, 7].

It is shown in this paper, that by increasing the diversity of mechanical design through improved reconfigurability, robots can generate and implement nontrivial designs. The ability to explore intricate morphological designs also allows for the generation of more complex behaviors. This was achieved within a limited number of trial-and-error iterations, without the use of simulation tools. To implement such a process, sufficient manipulation dexterity is necessary to physically instantiate the diverse morphologies and the search method must be able to efficiently handle the large dimensionality of the design problem.

In our implementation, flexible assembly is employed to generate diverse robot morphologies, similar to the centralized generation of agents demonstrated by Weel et al. in simulation [15]. An evolutionary algorithm is applied directly to the encoded building process [3] of locomotion agents to vary their shapes and subsequently optimize the locomotion speed of physical agents in a model-free process. The results were obtained throughout five experiments with 100 candidate robots each. These experiments have previously been published in [2].

2 Processes and Outcome of the Experiments

The goal of this experiment is the morphological adaptation of physical robotic agents to a locomotion task through an evolutionary process. To iteratively adapt the locomotion agents, a “mother robot” can repeatedly assemble the agents from elementary modules. The details of each agent’s building process is encoded in its genotype. The population of candidate solutions can undergo evolution, which subsequently optimizes the fitness at the locomotion task.

In this section, Materials and Methods are introduced first, before an overview of the results is given. The experiments have previously been presented in [2], which also contains a more detailed description of the setup and all parameters.

2.1 Materials and Methods

The robotic arm shown in Fig. 1 is able to rotate and bond the active and passive elementary modules. These processes are parametrized, and each set of parameters results in specific outcome of the building process, i.e. a specific morphology of the locomotion agent. This morphology, together with its control parameters and the task environment determine the agent’s performance, and thus its chances to be selected for further generations.

Fig. 1
figure 1

The experimental setup with robotic arm (“mother robot”) and prepared active and passive modules

2.1.1 Hardware and Control

The robotic arm (Universal Robots, UR5) used is equipped with a pneumatic parallel gripper and a hot glue supplier. The gripper is used for the manipulation of the available modules, and the hot glue (ALFA Klebstoffe AG, ALFA H 5500/30) is used to bond the modules together.

The active modules are cubes with a side length of 6 cm and the passive modules are wooden cubes with 3 cm side length. The active modules contain a servo motor (Modelcraft, RS-3 JR) for actuation, a battery (Conrad Electronic AG, Conrad energy LiPo Akku 7.4 V, 800 mAh) and the electronics for control and wireless communication (Arduino, Pro Mini; Sparkfun, Bluetooth Mate Silver). One side of the cube is connected to the motor flange, such that it can be oscillated. Active and passive modules are supplied at predefined positions for the assembly of each agent.

For the rotation of active modules, a centering frame is mounted in the construction space to avoid that position errors sum up during repeated manipulations. The assembly is performed on a slightly adhesive and soft ground (3 mm foam rubber, covered with masking tape sticky side up) to ensure good ground contact and some error tolerance. In the testbed, three different ground surfaces are tested: plywood covered with fabric, carpet and polyurethane foam.

The experiment is controlled from the main controller on a desktop PC using Matlab. A TCP/IP connection is used for communication. The robot controller receives the command sequence from the main controller and executes it step by step. For the evaluation, the main controller sends the commands to the active modules using a Bluetooth connection.

2.1.2 Evolutionary Process

All candidate locomotion agents are physically assembled from the modules and tested. To achieve a sufficiently large design space, the building process must be able to handle diverse solutions. To maintain the buildability for many parameter values, the fabrication process is structured into a fixed operation sequence. The parameter values are stored in an agent’s genotype, which contains one gene per module, with each gene holding the parameters for the addition of one module. In Fig. 2, the encoded building process is illustrated. The three operations are the preparation of a module, assembly and the rotation of the structure.

Fig. 2
figure 2

Translation of the encoding into the building process based on three operations. For the preparation of a module, it is rotated. During assembly, the prepared module is bonded to the previously built structure, which in the last operation can undergo rotation as a whole

For its preparation, a module is picked from the storage position and rotated around the global y and z-axes. Afterwards, the prepared module can be connected from the top to the previously built structure using the hot glue [13]. The assembled structure is then rotated again around the y and z-axes. After the rotation is terminated, either the next module is prepared and added, or the fabrication is concluded and the finished agent placed in the testbed for its evaluation. In the case an active module is added, its gene also defines the motor’s amplitude and phase shift during the evaluation period.

Each gene contains the following fields defining the parameters of the fabrication process described above: Type of module, rotations during module preparation, rotations of previously built structure, relative offset at placement about x and y-axes, selection of attachment area in case of multiple options, a final rotation parameter executed after the building process and in case of active modules the control parameters amplitude and phase shift.

For the fitness evaluation of each agent, it is automatically placed in a prepared testbed by the robotic manipulator once its construction is finished. There, the motors are activated with the encoded control parameters for a fixed testing time. The behavior of the agent during the testing phase is recorded by an overhead camera. From the recorded footage, the position of the agent at the beginning and end of the test is extracted using computer vision techniques, and the distance travelled by the agent, divided by the testing time serves as a fitness measure.

After the fitness is evaluated for all agents of one generation, the genotypes of the next generation can be generated. An elite (usually the fittest three) advances to the next generation without any change to their genotype, to preserve this information. The other slots in the following generation are filled through mutation and recombination of genotypes. It is randomly determined for each new genotype, which mechanism is applied. For the mutation, one parent is selected, for recombination two parent genotypes are required. The selection in both cases is stochastic, with the selection probability for each genotype of the preceding generation proportional to its fitness.

Mutation can either add a new (randomly initialized gene), delete one gene from the genome or randomly change a parameter in a gene. It is probabilistically determined how many and which kind of mutation is performed. For the recombination, a one-point crossover scheme is applied. This combines the first n genes of the first parent with the last m genes of the second parent. Both integers n and m are randomly selected.

The physical implementation of candidate solutions introduces a number of constraints, mostly related to the specific implementation of the setup. For example the parallel gripper has a limited holding force, and the robotic arm’s range is bounded. To minimize the time spent on candidate solutions which will violate one of these constraints, or are otherwise prone to fail (e.g. do not contain a single motor), a validation step is introduced. It checks each genotype for a number of elementary conditions. If the genotype fails at least one condition, it is regenerated. Conditions leading to the exclusion of a genotype are:

  • Lack of stability during construction

  • Servo-shafts colliding with other components

  • Less than one or more than five elements

  • Less than one or more than three active modules.

2.1.3 Experiment Details

Five experiments were performed, resulting in the instantiation and evaluation of 500 candidate solutions. Each experiment consisted of ten generations with ten agents each. Some parameters were varied between the experiments. The primary differences and parameters are indicated in this section. The complete specifications can be found in [2]. Unless specified otherwise, all experiments were randomly initialized, with genomes of one to three genes length.  

 

Experiment 1a :

The first experiment was performed on the hard ground (plywood), with four instead of two rotations in the preparation and rotation operations. The final rotation of the agent was disabled and in the validation step, only the size limits were active.

Experiment 1b :

The agents were evaluated on the carpet. The motor amplitudes were restricted to \(10^{\circ }, 20^{\circ }\) and \(40^{\circ }\).

Experiment 1c :

To examine pure morphological adaptation, the motor control values (amplitude and phase shift) were fixed during this experiment. The agents were also evaluated on the carpet.

Experiment 1d :

Motor control was reactivated as an evolutionary parameter with the restricted parameter set from experiment 1b. Agents were evaluated on the polyurethane foam.

Experiment 2 :

To further increase the achievable morphological complexity, multiple parameters were adapted in this experiment and some manual interventions accepted. Successful agents from the previous experiments were selected for the initial population. In the validation step, the stability condition and collision detection were disabled. Consequently, a human operator had to assist to guarantee stability, and colliding motors were manually disabled. Furthermore, the more significant add and delete mutations were preferred over simple parameter changes.

 

2.2 Results

Throughout the experiments a large variety of locomotion robots were built and tested, which developed different successful locomotion strategies. A selection of successful agents from different experiments is shown in Fig. 3.

Fig. 3
figure 3

Four sample locomotion agents generated by real-world evolution. All shown morphologies were amongst the most successful robots in their experiment

The stochastic optimization based on the evolutionary algorithm described in Sect. 2.1 optimizes the overall locomotion speed of the robotic agents. The increase of the resulting fitnesses over ten generations is documented in Fig. 4, which shows for each generation the mean of the best three agents in the population. Because of the real-world implementation, the evaluation is not deterministic and although elitism is applied, there is no guarantee that every generation reaches the previous fitness. However, over generations the fitness increased in all five experiments.

Fig. 4
figure 4

Mean fitness of best three agents per generation of all five experiments. An improvement of fitness over ten generations can be found in all five experiments

All agents of experiment 1c are shown in Fig. 5. This experiment is particularly interesting, as the motor control parameters were not subject to the evolutionary optimization. Therefore, the fitness improvement was solely achieved through adaptations to the morphology of the locomotion agents. It also shows that despite the validation step, for a few agents the building process failed, with negative error codes indicating the reason (−13: glue connection failure, −14: collision during assembly, −16: other). Over all five experiments, the fabrication success rate was approximately 96%.

Fig. 5
figure 5

Generation map of experiment 1c. In this experiment, the motor control parameters were not subject to the optimization, forcing the evolutionary process to improve the locomotion speed solely by morphological adaptation. The locomotion agents were evaluated on the carpet. The number with each agent indicates its fitness (cm/s) and the colors indicate the generation method (green: elite, red: mutation, blue: crossover). Negative fitnesses are the error codes for failed agents

3 Design Diversity and Evolutionary Dynamics

To adapt the locomotion agents to different environments and explore different behaviors, diverse designs have to be generated and implemented. The encoding of designs and the fabrication process are closely coupled and largely define the design space. After addressing the initialization of diverse designs, the evolutionary process iterating on the designs must be set up such that it can maintain this diversity over generations to further explore additional solutions in the design space.

3.1 Encoding of Morphological Variations

Although a flexible assembly process is employed for the instantiation of the locomotion agents, the generation of morphological variation is not trivial. The fabrication constraints restrict the admissible ranges for parameter values. Therefore, not all regions of the design space are equally well reachable, which reduces the diversity. Furthermore, the ranges for parameter values must be set a priori and cannot depend on other values as this would conflict with mutation and crossover processes.

The modules employed in the experiments are of cubic shape, which simplifies the attachment process and thus the encoding of the genotypes, especially the definition of parameter ranges. The influence of shape and attachment constraints on the generation of diverse morphologies is analyzed in the following sections.

Fig. 6
figure 6

Encoding generalization. Three different scenarios were considered for the attachment of an object O to a structure S. In the general case a, two bodies of arbitrary shape are connected by at least one contact point. For a physical realization b, a sufficiently large contact area is required. Therefore, in this scenario, both bodies are assumed to be polyhedra. Given the assembly constraints from the real-world experiment c, both bodies are from elementary cubic shapes. All illustrations are 2D, but the approach readily applies to the general 3D case

3.1.1 The General Attachment Problem

The goal is to attach an object O with shape \(S_\mathrm {O}\) on a structure S with shape \(S_\mathrm {S}\) as illustrated in Fig. 6. The rotation of the object is given by a rotation matrix \(R_\mathrm {O}\), and the rotation of the structure S is defined by the rotation matrix \(R_\mathrm {S}\). For the attachment, at least one contact point between the shapes \(S_\mathrm {S}\) and \(S_\mathrm {O}\) must be present without any overlap of the respective shapes. Therefore, there is a limited set of valid attachment vectors \(\varGamma (\alpha ,d)\), which is defined by the direction angle \(\alpha \) and the distance d between the structure and the object. Given an angle \(\alpha \), the distance d is determined by the geometry of the problem:

$$\begin{aligned} d = f(S_\mathrm {S},S_\mathrm {O},R_\mathrm {S},R_\mathrm {O},\alpha )\;. \end{aligned}$$
(1)

For this general attachment problem—assuming a point contact is sufficient to connect the two bodies—all parameters but the distance d can be freely chosen. Structure and object can have arbitrary shape and orientation, only the distance depends on the other parameters to fulfill the geometrical constraints for attachment as illustrated by the function f in (1).

3.1.2 Attachment of Flat Surfaces

However, for the practical realization of attachment, point contacts are not sufficient. For the connection with HMA, for example, both bodies must be in contact with a large enough attachment area \(A \ge A_\mathrm {min}\,\). To realize this, in the next step it is assumed that both shapes \(S_\mathrm {S}\) and \(S_\mathrm {O}\) are polyhedra (the set of polyhedra here is denoted as \(\varPi \)). For the two-dimensional illustrations in Fig. 6, polygons are used. For attachment, one surface of each polyhedron must be brought into contact, which requires a parallel orientation of the surfaces. Given the shapes of both bodies \(S_\mathrm {S},S_\mathrm {O}~\in ~\varPi \) and the orientation \(R_\mathrm {S}\) of the structure, only a limited set of orientations \(R_\mathrm {O}\) of the object is admissible. The choice of the object orientation further constrains the set of valid attachment vectors \(\varGamma \), and also the angle \(\alpha \) can no longer be freely chosen:

$$\begin{aligned} S_\mathrm {S},S_\mathrm {O}\in & {} \varPi \end{aligned}$$
(2)
$$\begin{aligned} R_\mathrm {O}\in & {} g(S_\mathrm {S},S_\mathrm {O},R_\mathrm {S})\end{aligned}$$
(3)
$$\begin{aligned} \alpha\in & {} h(S_\mathrm {S},S_\mathrm {O},R_\mathrm {S},R_\mathrm {O},A_\mathrm {min})\end{aligned}$$
(4)
$$\begin{aligned} d= & {} f(S_\mathrm {S},S_\mathrm {O},R_\mathrm {S},R_\mathrm {O},\alpha )\;. \end{aligned}$$
(5)

The functions g and h which define the admissible set of rotations \(R_\mathrm {O}\) and angles \(\alpha \) are not necessarily easy to determine, depending on the geometry of the problem.

3.1.3 Practical Attachment of Cubic Shapes

For the practical attachment based on the presented experiments a set of cubic shapes \(\varSigma \) with side lengths s and 2s is considered. It is assumed the object is of such shape (\(S_\mathrm {O}~\in ~\varSigma \)). The structure’s shape is a combination of elementary cubes, i.e. \(S_\mathrm {S} \in \hat{\varSigma } \supset \varSigma \).

Based on the body shapes and fabrication processes, additional constraints are introduced. Both bodies’ rotations are restricted to a multiple of \(\pm 90^{\circ }\) around the elementary axes. For the attachment, only the topmost surface of the structure is considered, restricting the admissible values of the direction angle \(\alpha \):

$$\begin{aligned} S_\mathrm {S}\in & {} \hat{\varSigma } \supset \varSigma \end{aligned}$$
(6)
$$\begin{aligned} S_\mathrm {O}\in & {} \varSigma \end{aligned}$$
(7)
$$\begin{aligned} R_\mathrm {S},R_\mathrm {O}\in & {} R_\mathrm {x}\left( k_\mathrm {x}\frac{\pi }{2}\right) + R_\mathrm {y}\left( k_\mathrm {y}\frac{\pi }{2}\right) + R_\mathrm {z}\left( k_\mathrm {z}\frac{\pi }{2}\right) \,,\quad k \in \mathbb {Z}\end{aligned}$$
(8)
$$\begin{aligned} \alpha\in & {} h'(S_\mathrm {S},S_\mathrm {O},R_\mathrm {S})\end{aligned}$$
(9)
$$\begin{aligned} d= & {} f'(S_\mathrm {S},S_\mathrm {O},R_\mathrm {S},\alpha )\;. \end{aligned}$$
(10)

This is simplifies the problem in many ways as compared to the previous problem discussed in Sect. 3.1.2. The admissible values for the orientations are from a fixed set (8) as compared to the complex function g in (3), which depends on the problem geometry and the structure orientation. Furthermore, given the cubic shape of the object and the fact that only elementary rotations are considered, its overall shape is predefined, and thus does not have to be considered in the calculation of the attachment vector \(\varGamma (\alpha ,d)\) in Eqs. (9)–(10).

3.1.4 Real-World Fabrication Constraints

Apart from the shape and attachment mechanism, further system constraints have to be considered for the physical implementation of automated assembly processes. In the implementation presented in this paper, a validation step (Sect. 2.1.2) checks each genotype for a range of conditions to ensure most constraints are met.

To evaluate the effect of four main constraints of the physical assembly system, a simulation experiment was performed. 1.25 million genotypes were randomly generated with one to ten components. Their morphologies were built in simulation and based on the simulation results, they were checked for all of the four constraints. The constraints considered are the maximum agent weight, maximum agent dimensions, stability of agents during fabrication (no toppling) and the connection of new modules to the agent’s topmost surface only (for details please refer to [2]).

In Fig. 7, the diversity of shape factors for a given number of components that was achieved by the simulated population is plotted. For the calculation of the diversity, the all agents were categorized based on their shape factor (see [2] for definition). The diversity is calculated as the effective number of types based on the population’s Shannon index, an entropy measure [8]. The diversity measure takes into account the number of classes present in a population, as well as their relative abundance. The population was further categorized based on whether all four fabrication constraints are fulfilled, all but the stability constraint are fulfilled or none are fulfilled. The stability constraint is of particular interest, as it was relaxed in experiment 2.

Fig. 7
figure 7

Shape diversity for differently sized robots with different building constraints active. The diversities were obtained based on 1.25 million randomly generated genotypes and their corresponding morphologies calculated in simulation. A diversity value of 3.0 for example is equivalent to the diversity of a population with three equally abundant shape classes

The results show, that for small agents, the constraints have only a minor influence, as they are easily fulfilled. However, the constraints complicate the fabrication of large agents, and restrict their diversity. Therefore, to scale this approach to more complex scenarios, fabrication constraints must be carefully addressed.

3.2 Generating New Designs

After the evaluation of one generation in the real world is completed, the fitnesses of all candidate solutions are known. In a next step, the evolutionary algorithm needs to map the ten old genotypes of generation \(n-1\) to the ten new genotypes of generation n. The chosen process is a mixture of elitism, combined with random mutations and crossover. For the selection of parent genotypes, the selection probabilities are proportional to parent fitness.

In Fig. 8, the evolution of fitness in experiment 1c is shown, indicating the generation mechanism of new genotypes with color (green: elite, blue: crossover, red: mutation) and the relationships through lines from one to another generation. Crossover is based on two parent genotypes, the other mechanisms use a single parent. In the case of elitism, the child genotype is an exact copy of the parent genotype. However, because of the stochasticity in the real-world testing, also identical genotypes exhibit some fitness variation.

Fig. 8
figure 8

Fitness evolution in experiment 1c on carpet. This figure shows the evolution of locomotion fitness through the course of one experiment. The color indicates the way each agent was generated (green: elite, blue: crossover, red: mutation). The graph shows the variance of identical genotypes due to real-world interactions (elite) as well as the increased fitness variation in positive and negative direction for new genotypes (mutation and crossover)

Figure 9, which shows the parent versus child fitnesses over all five experiments, indicates that elitism (green triangles) results in child fitnesses comparable to the parent fitness as expected. Both, mutation (red boxes) and crossover (blue circles), produce a larger fitness variation. There is a chance that the child completely fails, but on the other hand, 30 offsprings were at least 50% better than their parents. While we are interested in the fitness optimization, there is no guarantee that the random changes of the genotypes result in a preferable outcome. However, through the combination with the selection strategy, the overall fitness increases through the course of evolution.

Fig. 9
figure 9

Parent versus child fitness for all offsprings evaluated in the five experiments. The offsprings which are part of the elite mostly have comparable fitnesses to their parents, while mutated/crossed offsprings exhibit larger fitness variation. For crossover, the average fitness of parents is considered as the parent fitness. The marker color indicates the way each agent was generated (green: elite, blue: crossover, red: mutation)

4 Analysis of Behavioral Diversity

The behavior of a robot emerges through the interactions of the robot’s body and control with the task environment [10]. Most of the successful agents exhibit periodic behaviors, but some fit robots also showed more complex behaviors. The complete overview of the experiments shows that not only morphologies and behaviors are fine-tuned to the task, but also new morphologies (see Fig. 5) and behaviors are discovered by the evolutionary optimization.

For the fitness evaluation, only the start and end points of the robot trajectories were considered, but from the movies recorded by the overhead camera, the complete 2D trajectories can be extracted. In Fig. 10, a selection of such trajectories is plotted. The trajectories were selected from the top 10% of locomotion agents over all five experiments.

Fig. 10
figure 10

These trajectories were selected from the 10% of fittest locomotion agents over all five experiments. The selected trajectories show that although most successful agents exhibit periodic motion patterns, also less structured behavior can be successfully developed. All scale bars measure 60 mm, i.e. one side length of an active module

It is much harder to engineer complex, non-periodic behaviors than the steady solutions. To better understand under which conditions such innovations are more likely to develop, the behavioral complexity based on the agent’s trajectories is further analyzed. To quantify the complexity of the agents’ behaviors, the “Approximate Entropy” (ApEn) of their trajectories was calculated as described by Peng et al. (p. 11 in [9]), with the only difference, that the trajectory segments compared are normalized by their initial positions to account for the translations during the course of the robot’s motion. The parameters used for the calculation of the ApEn are \(m=2\) and \(r=5\).

Assessing the influence of morphology onto behavior, a measure for morphological complexity is required. Here, we approximate an agents’ morphological complexity by its number of constituent modules. Putting the number of modules and approximate entropy of all built locomotion agents into relation, it can be seen that larger agents tend to exhibit more complex trajectories as plotted in Fig. 11.

Fig. 11
figure 11

Correlation between morphological complexity (measured by the number of constituent components) and behavior complexity (measured by the approximate entropy (ApEn)) based on the real data from all five experiments

As shown already by the simulation results plotted in Fig. 7, it is a challenging task to develop diverse structures from many components, which at the same time fulfill the building constraints. On the other hand, the real-world results show the benefits of larger structures to achieve complex behaviors. The fabrication process therefore has to be carefully implemented to take these considerations into account.

Apart from morphology and control (the parameters under control of the evolutionary algorithm), the testing environment has a large influence on an agent’s behavior. In Fig. 12, the trajectories of one robotic agent with fixed control parameters in five different environments are shown. From these trajectories it can be seen that not only the performance varies, but also different behaviors emerge through the complex system-environment interactions.

Fig. 12
figure 12

Trajectories of an agent with fixed morphology and motor control in different environments. The tested grounds are: a plywood, b carpet, c soft foam, d fine sandpaper and e textile. The scale bar in all plots is 60 mm, i.e. the side length of an active module

Since the evaluation of the robotic agents is based on real-world tests, the results are not deterministic. The stochasticity can be introduced both in the fabrication and the evaluation steps. During the genotype-phenotype mapping, i.e. the fabrication of physical locomotion agents, small differences always occur, which influence the robot’s morphology. The second source of uncertainty is the morphology-behavior mapping, i.e. the real-world evaluation of agents. The initial conditions and local details of the environment or internal parameters of the modules influence an agent’s behavior in a stochastic way.

5 Conclusion

In this article, the design optimization of physical locomotion agents is presented. An evolutionary algorithm was applied directly onto the encoded fabrication process, which enabled the automatic implementation of candidate solutions in real-world for their performance evaluation in the task environment. For the successful optimization, a process is required which can generate diverse mechanical designs and autonomously generate new design based on the solution performance.

Over five experiments, 500 candidate solutions were built with about 96% success rate and subsequently tested. The evolutionary process led to a relevant increase of locomotion fitness over ten generations in all five experiments. After the fabrication the robot morphologies interact with the task environment. The emerging behavior determines the performance at the given task. It was shown that although many successful agents exhibit periodic motions, the automatic design can generate more complex working behaviors.

Analysis of these experiments emphasized the importance of the fabrication constraints for the physical implementation of the presented system. The fabrication constraints directly influence the diversity of designs which can successfully be constructed, especially if larger structures are considered. On the other hand, to achieve more complex and nontrivial behaviors, it is beneficial to fabricate larger structures—an ability which is directly influenced by the fabrication constraints.