• No results found

Body Symmetry in Morphologically Evolving Modular Robots

N/A
N/A
Protected

Academic year: 2021

Share "Body Symmetry in Morphologically Evolving Modular Robots"

Copied!
47
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

MSc Artificial Intelligence

Master Thesis

Body Symmetry in Morphologically

Evolving Modular Robots

by

Timon van de Velde

5909872

June 2020

36 EC September 2018 - June 2020

Supervisor:

Dr. C. Rossi

Dr. A.E. Eiben

Assessor:

Dr. V. Krzhizhanovskaya

Universidad Polit´

ecnica

Vrije Universiteit

(2)

tween symmetry and maximum fitness when a set of runs is taken into account. We then apply symmetry scores to add selection pressure during the evolutionary process in order to promote greater symmetry and thus fitness, and demonstrate that there exists potential of using this relation.

(3)

Contents

1 Introduction 5

1.1 Research Topic: Symmetry . . . 6

1.2 Research Goals . . . 7

1.3 Related Work . . . 7

2 Defining and Measuring Symmetry 9 2.1 Robot Specifications . . . 9

2.1.1 Components . . . 10

2.1.2 Neural Network . . . 11

2.2 2D Representation . . . 11

2.3 Base Symmetry . . . 12

2.4 Novel Symmetry Measures . . . 13

2.4.1 Symmetry Lines . . . 14 2.4.2 Component Symmetry . . . 15 2.4.3 Spinal Symmetry . . . 16 2.4.4 Fuzzy Symmetry . . . 18 2.4.5 Final Measures . . . 19 3 Experimental Setup 21 3.1 Evolutionary Process . . . 21 3.1.1 Offline Evolution . . . 22 3

(4)

4.1 Correlating Symmetry and Fitness . . . 28

4.1.1 Single Run Analysis . . . 28

4.1.2 Fitness and Symmetry Correlations . . . 30

4.1.3 Average Symmetry and Maximum Fitness Correlations 32 4.2 Using Symmetry to Improve Fitness . . . 32

5 Discussion 37 5.1 Run Analysis . . . 37

5.2 Symmetry and Fitness Correlations . . . 38

5.3 Symmetry-modified Fitness Function . . . 38

5.4 Symmetry Measures . . . 39

6 Conclusion and Future Work 41 6.1 Conclusion . . . 41

(5)

Chapter 1

Introduction

Evolutionary Computing is an optimisation strategy used to tackle a great variety of complex problems [1, 2]. These algorithms are typically initialised with randomly generated solution candidates which can then be evaluated and ranked according to how well they solve the problem. The candidates are internally represented as genotypes; a blueprint specification that allows for simple modification of the candidates. This genotype can be used to create a phenotype which operates directly in the problem space and can be evaluated using an explicit or implicit fitness function. Poor candidates are eliminated, while the survivors may be selected to become parents and generate offspring through crossover and random mutation. The non-random selection pressure on the solution candidates is aimed at improving the fitness scores of future candidates. These algorithms usually terminate either after a certain number of generations or when some predefined stopping criteria is reached. A final solution is then selected from all candidates. In general, these solutions are not guaranteed to be optimal but approach good accuracy [3].

The field of Evolutionary Robotics was established when Evolutionary Computing was first applied to robotics [4, 5, 6]. In general, robots have a body (morphology, hardware) and a brain (controller, software). The body consists of parts that can contain sensors and actuators, while the brain con-tains the operating logic. The vast majority of Evolutionary Robotics studies is concerned with evolving the controllers of fixed morphologies [7]. Advances in the field have since resulted in a handful of publications concerning the evolution of robot morphologies [8, 9, 10, 11, 12]. Some projects have even

(6)

adulthood. As the technology to automatically create new robots does not yet exist, robot evolution is still mostly limited to simulations, though some exceptions exist. One is a proof-of-concept installation that demonstrated a physical ‘robot baby’ parented by two robots, but relying on several sim-plifications and handwork in the reproduction step [17], and another is a proposed setup in which robots are first physically constructed and then evaluated [12].

A large step towards a Triangle of Life implementation comes in the form of Revolve [18]; a simulator built around Gazebo [19] that can run robot evolution experiments. Robots are initially randomly generated according to a design heavily inspired by RoboGen [11]. They are internally represented as genetic programming trees to which various crossover and mutation operators can be applied [20]. In its current state, Revolve evaluates and assigns fitness to robots according to their capacity for locomotion. It is on the basis of these simulations that our experiments were run.

1.1

Research Topic: Symmetry

There are many parallels between evolutionary algorithms and natural evo-lution [21]. In nature, many livings creatures exhibit forms of morphological symmetry, even though there do not appear to be any physical laws that would enforce this. Symmetry is solely a property that appears to grant a certain evolutionary advantage and theories to explain bilateral symmetry have been proposed [22]. It stands to reason that the same could be true in evolutionary robotics. The Revolve simulator currently assigns fitness based on a robot’s ability to locomote. The further a robot travels from its origin, the higher would be its fitness. Since the shortest path between two points is

(7)

1.2. RESEARCH GOALS 7 a straight line, it would seem that symmetrical robots might perform better in this scenario.

1.2

Research Goals

In order to examine the relationship between symmetry and fitness, the first goal of this research is to develop a way to quantify the level of symmetry in robots. Since we will be using the Revolve simulator, these symmetry mea-sures are developed specifically for RoboGen-like robots. There are several aspects that could be taken into account when measuring symmetry, leading to a few different approaches. Chapter 2 covers the development of these symmetry measures.

The second goal is to apply these symmetry measures in experiments. There are two research questions that underpin these experiments. First, is there any relation between symmetry and fitness? And second, if there is indeed a relation, could robot fitness be improved by using the symme-try scores during evolution? Chapters 3 and 4 describe the setup for these experiments and their results.

1.3

Related Work

To our best knowledge, not much work has been done on symmetry in evo-lutionary robotics. Certainly, it has been noted that modular robots may end up showing symmetry after having been evolved for locomotion in a straight line [10]. Other research specifically uses symmetry to evolve robot

morphologies. For instance, by mirroring limbs along a spine [23] or by

employing a mutation operator which can symmetrically replicate branches of robots [24]. Symmetry has also been used as a human evaluation crite-rion of evolved robots, where the ability of generative encoding to create symmetrical soft robots is seen as a positive quality [25]. Additionally, the importance of symmetry in locomotion has been shown to influence robot controller evolution through HyperNEAT [26]. Despite all this, not much work can be found that specifically measures symmetry in robots. There is, however, a lot of work that has been done in computer vision to detect symmetry [27, 28]. Symmetry detection has even been used in robotics for

(8)
(9)

Chapter 2

Defining and Measuring

Symmetry

2.1

Robot Specifications

The modular robots used in our experiments are all assembled using a number of basic components. Internally, they are defined as trees consisting of nodes and edges. Because trees are acyclical, so are the resulting robots. The nodes of the tree represent components by their type, orientation, and parameters (if applicable). The edges specify which components connect to each other. Several restrictions have been imposed on the robots: they must be planar (that is, flat), they need to possess at least one motor unit, and can only have a limited number of parts. Table 2.1 shows an overview of the components used.

Component Connectivity Parameters Inputs Outputs

Core 4 - - 6

Fixed brick 4 - -

-Parametric bar 2 3 - -Passive hinge 2 - - -Active hinge 2 - 1

-Table 2.1: Overview of used components.

(10)

Fixed Brick

The fixed brick has 4 connection slots, but no other sensors or actuators.

Parametric Bar

The parametric bar has 2 connection slots. It can be customised through 3 parameters that specify its length, tilt and rotation. The parameter for rotation is however restricted to be 0 to ensure that the robot remains planar.

Passive Hinge

The passive hinge can connect 2 components and is allowed to passively change the angle of that connec-tion as it is subjected to external forces. The angle the hinge can make has a range of 90 degrees.

(11)

2.2. 2D REPRESENTATION 11 Active Hinge

The active hinge also connects up to 2 components, but contains an electric motor that can be actuated to alter the angle between its both ends within a 90 degree range.

2.1.2

Neural Network

The robot’s controller is a fully connected recurrent neural network with a single hidden layer. The input nodes are connected to robot’s sensor outputs, and the output nodes to the actuators. The number of hidden nodes can be set with a parameter. Hidden nodes and output nodes can have one of three different activation functions; linear, sigmoid, or sinusoidal. The sinusoidal activation function will ignore any input to the node and produce a sinusoid defined by three parameters for period, phase, and gain.

2.2

2D Representation

Miras et al. [32] convert the tree-based robot specifications into two-dimensional representations. In this representation, each robot part appears as a coloured square. The colour indicates what type of component that part is (see Table 2.1). As each component can have at most four connection slots, we can draw the connected components as adjacent squares. An example of this conversion can be seen in Figure 2.1.

As is can be seen in the image, the 2D representation is an approximation of the real robot. Several differences stand out:

• The core component takes up a lot more space in reality than in the 2D approximation.

• The hinges, passive or active, are drawn in their neutral positions. During the simulation, they could be at any angle in their 90 degree range.

(12)

Figure 2.1: Two representations of the same robot. (a) The robot as rendered by the simulator. (b) Its two-dimensional approximation.

• The parametric bar joints are reduced to squares with only two attach-ment sites. This removes two variables; their length, and the angle under which they attach to other parts.

2.3

Base Symmetry

Miras et al. [32] also define a symmetry measure which we use as a base value to which novel symmetry measures are compared. Based on the 2D representation, the core component is selected to be the center of the robot. From here symmetry will be measured with a horizontal mirror line and a vertical mirror line, resulting in vertical and horizontal symmetry scores respectively. Because there is no preferred longitudinal axis, the highest of these two scores is selected as the final symmetry score of the robot.

For horizontal symmetry, a straight vertical line is drawn through the center of the robot. All components that lie on this line are considered to be the spine of the robot. Components on the spine are ignored during the symmetry calculation. For each component not on the spine, a check is performed if there exists another component on the exact opposite position of the mirror line. The ratio of components with a match to the total number

(13)

2.4. NOVEL SYMMETRY MEASURES 13 of components (minus spine) determines the symmetry score. This score will be a number between 0 and 1, ranging from not symmetrical at all to fully symmetrical. The following pseudo-code describes the algorithm step by step.

total_components = 0 matches = 0

for each component_a:

if component_a is on spine: continue

total_components = total_components + 1 coordinates_a = coordinates of component_a coordinates_b = coordinates_a mirrored in spine if another component exists on coordinates_b:

matches = matches + 1

symmetry = matches / total_components

Figure 2.2 shows an example of the symmetry calculation. To calculate horizontal symmetry, we first create a vertical spine through its core compo-nent, the yellow square. Then, for all components that are not on this vertical axis, we check if another component exists on the opposite side of the spine. Only the two blocks just adjacent the core are a match, and the horizontal symmetry score would thus be 2/9 = 0.222. If we now draw a horizontal line through the core component, we end up with 8 matching components and a symmetry score of 8/14 = 0.571. Selecting the larger value, this robot is now assigned a symmetry score of 0.571.

This symmetry measure is from here on out referred to as base symmetry.

2.4

Novel Symmetry Measures

Several limitations exist with the base symmetry method. For one, symmetry might develop along other lines than just the vertical and horizontal ones that

(14)

Figure 2.2: Example of symmetry calculation. (a) The robot. (b) Calculating horizontal symmetry. (c) Calculating the vertical symmetry. Grey components are not counted, red components have no symmetrical match, green components do have a match. This robot has a symmetry score of 0.571 on a scale of 0 to 1.

pass through the core component. Secondly, it does not take into account whether two components opposite each other are the same type or not. And finally, snake-like robots that have most of their parts on their spine will not be accurately assessed, as all spinal components are ignored. As such, several possible solutions to these problems have been implemented.

2.4.1

Symmetry Lines

In base symmetry, the core component is assumed to be the physical center of the robot. However, even though the core component is the root of the tree that defines the robot, there is no particular reason why it should always be at the physical center. Should the core component be located in one of the robot’s extremities, only drawing mirror lines from this point limits the accuracy of the symmetry approximation. An example of this effect can be seen in Figure 2.3. As before, the grey components represent the symmetry mirror line and core component is yellow. The third image shows that the robot is most symmetrical along a mirror line that does not cross the core component. To account for this effect, the novel symmetry measure iterates over every possible symmetry line, to find the line that provides the highest

(15)

2.4. NOVEL SYMMETRY MEASURES 15 symmetry value.

Figure 2.3: Example of a robot with the core component in an extremity. (a) The robot. (b) Highest symmetry as found by drawing a mirror line through the core component. (c) The highest symmetry as found with a freely movable mirror line.

While shifting the mirror lines increases the flexibility of the symmetry measure, the lines are still only perpendicular to each other, either in hor-izontal or vertical direction. A possibility also exists for robots to develop symmetry along a diagonal axis. An example of a robot with diagonal sym-metry can be seen in Figure 2.4. We now have three separate novel symsym-metry measures: perpendicular, diagonal, and full symmetry. Here, full symmetry is the maximum between perpendicular and diagonal symmetry.

2.4.2

Component Symmetry

Another limitation of the base symmetry measure is that there is no distinc-tion between the various component types. In reality, different components fulfill different tasks, and a robot arm consisting of solely hinges should per-haps not be symmetrical with a robot arm consisting of static components.

We have developed two ways of incorporating component types while evaluating symmetry: strong component symmetry and weak component

symmetry. In strong component symmetry, two components that are in

mirrored locations are only deemed symmetrical if they are the exact same type. For instance, an active hinge component can only be symmetrical with another active hinge, but not with a passive hinge. Weak component

(16)

Figure 2.4: Example of a robot that has a diagonal symmetry. (a) The robot. (b) The robot during symmetry evaluation. The grey squares indicate the mirror line, green squares indicate components that have a symmetrical counterpart, and red squares do not.

symmetry groups components by their function. An argument could be made that an active hinge and a passive hinge fulfill similar roles in the robot and that they are at least somewhat symmetrical. The same could be said for the fixed brick and the parametric bar joint. Both are static components that only connect other components, albeit in very different ways. Table 2.2 shows an overview of how similar each component is seen as compared to all other components. These similarity values can then be used to calculate symmetry. An example of this calculation can be seen in Figure 2.5.

Similarity Brick Parametric bar Passive hinge Active hinge

Brick 1 0.5 0 0

Parametric bar 0.5 1 0 0 Passive hinge 0 0 1 0.5 Active hinge 0 0 0.5 1

Table 2.2: Look-up table of similarity scores used in weak component symmetry.

2.4.3

Spinal Symmetry

Up until now, we have ignored the components that are located directly on the mirror line, or spine, of the robot. There is one relatively common case in

(17)

2.4. NOVEL SYMMETRY MEASURES 17

Figure 2.5: (a) Image of the robot. (b) Image of symmetry calculation with strong component symmetry. Matching components are green, non-matching components are red. (c) Image of symmetry calculation with weak component symmetry. Matching components are green, similar components are red and green.

which ignoring the symmetry of the spine itself is not desirable. In snake-like robots, most of the components are aligned along a single axis. Intuitively, we would say that the robot of Figure 2.6a is reasonably symmetrical, but, ignoring the spine, we end up with a symmetry value of 0 (Figure 2.6b).

To correct this, we want to make sure the spine also influences the sym-metry score. However, assigning full symsym-metry points would skew the results as well. Other components in the robot have to satisfy both location symme-try and component symmesymme-try. The components on the spine would always be symmetrical with themselves, both in location and component. To adjust for this bias, components on the spine only count as half a component.

Keep in mind that the symmetry score is calculated as: symmetry = matches / total_components.

If, looking at Figure 2.6c, we fully count all the components on the spine, we would count 10 components out of 11 as being symmetrical, resulting in a score of: 0.91 = 10/11. By only counting components on the spine as half a component, we reduce number of matches to 5, and the number of total components to 6. The resulting symmetry score is then 0.83 = 5/6. Reducing the value of total components is necessary to assure symmetry can still reach a value of 1 if the robot is completely symmetrical. Also note that the spine is nothing more than the location of the mirror line. This line is still shifted through the robot to find the highest symmetry value. All

(18)

Figure 2.6: (a) Snake-like robot. (b) Symmetry calculation without counting the spine. There is only one red component, thus a symmetry of 0. (c) Symmetry calculation while also counting the spine results in a score of 0.91. (d) Symmetry calculation with discounted spine. The red and green components all count as half components for a symmetry score of 0.83.

symmetry variants we have described so far make use of this spine counting technique.

2.4.4

Fuzzy Symmetry

When we introduced weak symmetry, the goal was to make the symmetry measure less strict. Another way we can do this is to add a fuzzy element. This can be done by applying a sort of convolutional filter. Instead of just looking at the exact mirrored location to see if there is a component match, we can also look in the surrounding area for matches. Figure 2.7 shows an example of this process. If we are looking for a symmetry match for the highlighted orange component (Figure 2.7b), then on the opposite side we find a blue component (fixed brick) that is surrounded by orange compo-nents. Without the convolutional filter, this would result in a value of 0 for the matches variable. However, by multiplying the surrounding symmetry matches with the filter (Figure 2.7cd), and taking the maximum value (Fig-ure 2.7d), we can still assign some symmetry. The used filter is plus-shaped, with full symmetry points for the center square, and half points for the four adjacent squares. Looking at both sides of the robot at the black mirror

(19)

2.4. NOVEL SYMMETRY MEASURES 19 line, we see that they are the same, except for being shifted one component. Assigning a score of 0 using non-fuzzy symmetry would seem inaccurate. By means of this fuzzy symmetry, we can assign it a non-zero score.

Figure 2.7: (a) The original robot. (b) Looking up the symmetry match of the orange highlighted component, a blue component, there would be zero symmetry. (c) Applying a convolutional filter to the found blue square. The filter has 1 as its center value, 0.5 for its surrounding values, and 0 in the corners. (d) Symmetry values after applying the convolutional filter. The orange squares each match for 0.5. (e) The maximum value within the filter is chosen to be the symmetry value for the original orange square, which is 0.5 in this case.

2.4.5

Final Measures

To summarise, we now have multiple symmetry measures that can be com-bined in multiple ways. Changing the orientation of the symmetry lines, we have perpendicular symmetry, diagonal symmetry, and full symmetry. When looking at component types, we have strong and weak component symmetry. And finally, we can make the position requirement less strict by applying fuzzy symmetry, or require absolute location matches with non-fuzzy sym-metry. These measures can be mixed and matched, resulting in 3×2×2 = 12 separate symmetry measures (see Table 2.3). Together with the base mea-sure, that gives us 13 ways to measure symmetry.

(20)

Orientation Component Location Perpendicular → Strong → Non-fuzzy fuzzy Weak → Non-fuzzy Fuzzy Diagonal → Strong → Non-fuzzy Fuzzy Weak → Non-fuzzy Fuzzy Full → Strong → Non-fuzzy Fuzzy Weak → Non-fuzzy Fuzzy

Table 2.3: This table shows how the various symmetry measures can be combined. Moving through the table from left to right, there are a few options in each of the columns, leading to 12 total combinations.

(21)

Chapter 3

Experimental Setup

3.1

Evolutionary Process

There are two evolutionary setups available in Revolve; offline and online. The following section describes the evolutionary process as specified in Hup-kes et al. [18]. In offline evolution, individuals are evaluated separately and only once, whereas in online evolution, individuals are continuously evalu-ated until they die by some criteria. In both scenarios, the fitness function is based on how well the robots are able to move. The formula is as follows:

f (ρ) = v + 5s. (3.1)

Here, f (ρ) is the fitness value of robot ρ. The velocity of the robot, or the total distance travelled since the beginning of the evaluation is denoted as v. Thus, if a robot moves back and forth repeatedly, the value v increases. The variable s is the speed of the robot, and is obtained by measuring the dis-tance between the robot’s location at the start of evaluation and the robot’s location at the end of evaluation.

The fitness score is then used for selecting parents through tournament selection. This means that out of the entire population, several random individuals are selected, and out of those, the individual with the highest fitness is chosen to be a parent. This process is repeated to select a second parent with the restriction that both parents are distinct robots. Every time two parents are selected, one offspring is created. This process of selecting

(22)

function for some period of time. Afterwards, their fitness score is recorded, the robot removed and a new one added. After an entire generation has been evaluated, an equal amount of offspring is produced and again evaluated. Out of these two generations, only the fittest individuals are kept, and the rest are deleted. This way, the size of the living generation remains constant. The specific settings used in our experiments are listed in Table 3.1.

Offline Evolution

Generation size 15 individuals Evaluation time 12 seconds Parent selection 4-tournament Survivor selection best 15 Stopping criteria 3000 births

Table 3.1: Settings for offline evolution.

3.1.2

Online Evolution

With online evolution, the entire initial population is inserted into the world at once. They are randomly placed within a circular area called the birth clinic. The individuals are then continually evaluated within a sliding time-window. They will mature and become eligible for parent selection after they have been evaluated for at least one full duration of the time-window, but their fitness scores will keep updating throughout their lifespan. The simulator is set up so that new robots are born at regular intervals. New robots are simply inserted into the world, along with the already existing population.

(23)

3.1. EVOLUTIONARY PROCESS 23 At certain fixed time intervals, the simulator will remove robots that do not have a fitness value over some threshold. To ensure the success of the simulation, robots will not be killed if that would mean that the population size drops below a set minimum. On the other hand, if a maximum number of living individuals is exceeded, a percentage of the population with the lowest fitness will be culled. The settings used for online evolution are listed in Table 3.2.

Online Evolution

Initial population 15 individuals Evaluation window 12 seconds Parent selection 4-tournament Birth interval 15 seconds Kill interval 30 seconds

Survivor selection > 70% average fitness Minimum population size 8 individuals

Maximum population size 30 individuals Population culling weakest 70% Stopping criteria 3000 births

Table 3.2: Settings for online evolution.

3.1.3

Robot Generation

The process of robot generation works through several sequential steps. First of all, the total number of components is decided by randomly drawing from

a normal distribution defined by µinitial parts and σinitial parts. This number is

required to be between Rminimum and Rmaximum. Starting then from the core

component, a random part will be connected to it; their specific attachment slots also randomly selected. If the new part has parameters to be set, as would be the case with the parametric bar joint, these are also initialised at random. This process continues until the total number of components has been reached, or until there are no further attachment slots available.

As previously stated, the neural network of the robot will have its input and output neurons determined by the presence of sensors and actuators. The number of hidden neurons will be a randomly chosen value between 0

(24)

Offspring generation consists of a specific sequence. Every step happens only with a probability. For instance, it is possible to set different possibilities for subtree removal and subtree duplication. If the result of a step produces a robot that violates set restrictions as described in Section 2.1 (that is, planarity, number of motor units, number of parts), crossover is aborted and no offspring is created. The following crossover steps exist, each step continuing with the result of the previous step:

• One point crossover: A node is selected on parent a, and replaced with a random node from parent b.

• Subtree removal: A random subtree is selected and removed. • Subtree duplication: A random subtree is duplicated.

• Subtree swap: Two random subtrees are swapped.

• Hidden neuron and neural connection removal: Each hidden neuron or neural connection has a probability to be removed.

• Parameter mutation: Each parameter, for either body parts or neu-rons is updated with a randomly drawn value. They are changed ac-cording to (1 − )π + π∗, where π is the current parameter value, π∗ a new randomly drawn value, and  the mutation rate.

• Hidden neuron and neural connection addition: With a proba-bility, new hidden neurons and neural connections are added.

(25)

3.2. CORRELATING SYMMETRY AND FITNESS 25 Table 3.3b lists the probabilities of the crossover actions. The probabil-ities of neuron addition, neural connection addition, and part addition are tuned in such a way that the number of parts, the number of neurons, and the number of neuron connections stay the same on average and do not, for instance, tend to zero [18].

Parameter Value µinitial parts 12 σinitial parts 5 Rminimum 3 Rmaximum 30 hmax 10 pconnect neurons 0.1

(a) Parameters for robot gen-eration.

Parameter Value

pdelete subtree 0.05

pduplicate subtree 0.1

pswap subtree 0.05

premove brain connection 0.05

pdelete hidden neuron 0.05

body mutation 0.05

brain mutation 0.1

(b) Parameters for crossover.

Table 3.3: Parameters used during robot generation and crossover.

3.2

Correlating Symmetry and Fitness

The goal of this first experiment is to determine whether there is any re-lationship between a robot’s fitness and its symmetry. By running many simulations and collecting data on the born individuals’ fitness and morphol-ogy (from which we extract their symmetry values), we can compute linear correlations between the two. Data was collected by running both offline and online evolution.

With this data, we have several ways in which we can measure this rela-tionship. First of all, for each separate simulation run, we can try to see if the symmetry scores of the robots increase as their fitness increases. This can be done by verifying whether a linear correlation between the two exists. Then, the same linear correlation can be calculated not only on separate runs, but also on the combined datasets of all runs. While the first method evaluates the development of symmetry and fitness during a run, the second method may show a more general connection between the two.

(26)

sures. Of those, 12 are the novel symmetry measure, and 1 is the base symmetry measure. To determine the usefulness of these measures, it would be good to establish whether there are any differences in their performance. One measure might correlate better with fitness than others and would there-fore be more likely to increase fitness when symmetry is used to add selection pressure during evolution.

3.3

Using Symmetry to Improve Fitness

After confirming that there might be positive relationship between symmetry and fitness, it would become interesting to see if we can use symmetry to increase the capacity of the robots to walk. One way to do this is to modify the fitness function to include the robot’s symmetry score. The goal is to make it slightly more likely for more symmetrical robots to reproduce, even if they do not currently have the highest mobility.

As explained in Section 3.1, the fitness function originally looked like this:

fm(ρ) = v + 5s. (3.2)

Here, fm(ρ) is now referred to as the mobility fitness of robot ρ. The

velocity is denoted as v, and the speed as s. One way of using symmetry is to increase the mobility fitness of a robot by a percentage based off its symmetry score:

f (ρ) = fm(ρ)(1 + aφρ). (3.3)

(27)

3.3. USING SYMMETRY TO IMPROVE FITNESS 27

fm(ρ) multiplied by a positive number based on φρ, the robot’s symmetry.

Since symmetry is a value that is always between 0 and 1, if a robot is not symmetrical at all, the modified fitness function f (ρ) is equal to the original

mobility fitness function fm(ρ). However, if symmetry is larger than zero, the

fitness is increased by a percentage aφρ, where a is a tune-able parameter.

The optimal value of this parameter has to be determined experimentally by trying multiple values and seeing what gives the greatest (if any) improve-ment to mobility.

By running simulations with this new fitness function, we can make com-parisons between the robots before and after modification of the fitness func-tion. We measure three changes, the average symmetry scores of the robots, their average mobility fitness, and the maximum achieved mobility fitness of each run. If we make the assumption that these values are normally dis-tributed among the various runs, we can perform t-tests to determine how significant these changes are.

(28)

4.1.1

Single Run Analysis

Thirty runs were performed with both offline evolution and online evolution. All runs were terminated after 3000 individuals had been born. The fitness and the 13 symmetry measures (Section 2.4.5) of individuals were recorded. Figure 4.1 shows four plots from a single offline evolution run, graphing the fitness scores and the symmetry measures. In this example, it can be seen that all the variants of diagonal symmetry, perpendicular symmetry, and full symmetry perform similarly in their respective categories. This could indicate that the difference between fuzzy and non-fuzzy, and strong and weak symmetry is not very big. This is a trend that appears to exist across the other runs as well. In this particular run, diagonal symmetry is negatively correlated with fitness (-0.80), while perpendicular symmetry is correlated positively (+0.77). These correlation values tend to vary a lot between runs. There are also differences between offline and online evolution. The popu-lation management of offline evolution is such that every time new individuals are generated, they are only kept if their fitness score makes it into the top 15. This is different for online evolution, where robots are killed first to make space for new robots. In addition to this mechanic, it was also observed that the effective population size averaged around 8 mature individuals at any time. As can be seen in Figure 4.2, there is a lot more variance both in

(29)

4.1. CORRELATING SYMMETRY AND FITNESS 29 0 500 1000 1500 2000 2500 3000 Robot (#) 0.0 0.2 0.4 0.6 0.8 1.0 Sy mm etr y 0.0 0.1 0.2 0.3 0.4 0.5 Fit ne ss Run 0 fitness base symmetry

(a) Fitness and base symmetry

0 500 1000 1500 2000 2500 3000 Robot (#) 0.0 0.2 0.4 0.6 0.8 1.0 Sy mm etr y 0.0 0.1 0.2 0.3 0.4 0.5 Fit ne ss Run 0 fitness weak fuzzy diag strong fuzzy diag weak non-fuzzy diag strong non-fuzzy diag

(b) Fitness and diagonal symmetry

0 500 1000 1500 2000 2500 3000 Robot (#) 0.0 0.2 0.4 0.6 0.8 1.0 Sy mm etr y 0.0 0.1 0.2 0.3 0.4 0.5 Fit ne ss Run 0 fitness weak fuzzy perp strong fuzzy perp weak non-fuzzy perp strong non-fuzzy perp

(c) Fitness and perpendicular symmetry

0 500 1000 1500 2000 2500 3000 Robot (#) 0.0 0.2 0.4 0.6 0.8 1.0 Sy mm etr y 0.0 0.1 0.2 0.3 0.4 0.5 Fit ne ss Run 0 fitness weak fuzzy full strong fuzzy full weak non-fuzzy full strong non-fuzzy full

(d) Fitness and full symmetry

Figure 4.1: Four plots of a single offline evolution run that show how fitness and symmetry develop as a function of robot births.

0 500 1000 1500 2000 2500 3000 Robot (#) 0.0 0.2 0.4 0.6 0.8 1.0 Sy mm etr y 0.0 0.1 0.2 0.3 0.4 0.5 Fit ne ss Run 0 fitness base symmetry

(a) Offline fitness and base symmetry.

0 500 1000 1500 2000 2500 3000 Robot (#) 0.0 0.2 0.4 0.6 0.8 1.0 Sy mm etr y 0.0 0.1 0.2 0.3 0.4 0.5 Fit ne ss Run 0 fitness base symmetry

(b) Online fitness and base symmetry.

Figure 4.2: Two graphs that show the progression of fitness and base symmetry during one run. There is a lot more variation in the online evolution graph.

(30)

morphology decreases as the simulation progresses. In the final generation, all 15 individuals appear very similar, whereas there is a lore more variation in the initial population. We can already see this convergence happening in generation 50. This is a pattern that is seen in many runs.

4.1.2

Fitness and Symmetry Correlations

Tables 4.1a and 4.1b show correlation values between the different symmetry measures and fitness for both online and offline evolution. These numbers were computed by taking each separate run and calculating the correlation between fitness and the various symmetry measures. This results in 13 cor-relation values (one for each measure) for each run. The numbers shown in these tables are the averaged values over all the runs, and they demonstrate no convincing correlation between symmetry and fitness. Most of the values are around 0, indicating a random relationship. Diagonal symmetry even seems to correlate negatively. From these results, it appears that symmetry does not generally increase as a run progresses, even though fitness does.

Tables 4.2a and 4.2b show again correlation values for offline and online evolution, but this time calculated differently. The values are now computed by first combining the data from all robots of all the separate runs into one large dataset. The correlation figures are then calculated over all 30 runs at once, rather than first calculating them separately and then averaging. The results of online evolution (Table 4.2b) are still very similar to the previous method, but the numbers of offline evolution (Table 4.2a) are slightly more positive. Diagonal symmetry is still negatively correlated, but perpendicular and full symmetry are now all above 0.1. Numbers within each of these three categories are still close together. This now indicates that, although

(31)

4.1. CORRELATING SYMMETRY AND FITNESS 31

(a) Generation 1

(b) Generation 50

(c) Generation 200

Figure 4.3: This figure shows three generations of robots in an offline evolution run. Notice that the robots in later generations have a more similar morphology. Generation 200 is the last generation of a run.

(32)

fitness and symmetry. There is, however, evidence that the current evolu-tionary process converges the robot population to a certain morphology early on. It is still possible that a more symmetrical morphology has a higher po-tential for fitness than an asymmetrical morphology. We can verify this by taking, of each run, the maximum obtained fitness and the average symme-try of all generations. We can now plot these numbers and again calculate the correlation between them. The resulting graphs of offline evolution and online evolution can be seen in Figure 4.4, and the correlation numbers in Table 4.3.

We now see stronger correlations between symmetry and fitness. Diago-nal symmetry still has a negative correlation, but perpendicular symmetry and full symmetry are now around 0.4. In both offline and online, per-pendicular symmetry has the highest correlation with fitness. Computing full symmetry, which is always the maximum between diagonal and perpen-dicular symmetry, does not appear useful for compensating cases in which populations adopt a diagonal morphology. We can also see that in both experiments, perpendicular and full symmetry correlate better with fitness than base symmetry.

There appears to be very little difference between strong, weak, fuzzy and non-fuzzy symmetry. Looking at the correlation figures of both offline and online evolution (Table 4.3), there appears to be a slight advantage for strong, non-fuzzy symmetry, though the difference is small.

4.2

Using Symmetry to Improve Fitness

For the following experiments, the fitness function was modified according to Equation 3.3 from Section 3.3. There is one unknown parameter in this

(33)

4.2. USING SYMMETRY TO IMPROVE FITNESS 33

Base symmetry Full symmetry Strong Weak -0.184 Non-fuzzy -0.050 -0.076

Fuzzy -0.038 -0.045 Diagonal Strong Weak Perpendicular Strong Weak Non-fuzzy -0.218 -0.201 Non-fuzzy -0.037 -0.059 Fuzzy -0.204 -0.230 Fuzzy -0.022 -0.038

(a) Offline evolution.

Base symmetry Full symmetry Strong Weak -0.162 Non-fuzzy -0.057 -0.066

Fuzzy -0.058 -0.071 Diagonal Strong Weak Perpendicular Strong Weak Non-fuzzy -0.251 -0.259 Non-fuzzy -0.040 -0.052 Fuzzy -0.268 -0.263 Fuzzy -0.045 -0.060

(b) Online evolution.

Table 4.1: Correlation values averaged over all separate runs. Highest value in each category is shown in bold.

Base symmetry Full symmetry Strong Weak 0.035 Non-fuzzy 0.162 0.122

Fuzzy 0.145 0.118 Diagonal Strong Weak Perpendicular Strong Weak Non-fuzzy -0.238 -0.279 Non-fuzzy 0.191 0.152 Fuzzy -0.260 -0.280 Fuzzy 0.178 0.158

(a) Offline evolution.

Base symmetry Full symmetry Strong Weak -0.071 Non-fuzzy 0.022 0.011

Fuzzy 0.020 0.005 Diagonal Strong Weak Perpendicular Strong Weak Non-fuzzy -0.224 -0.252 Non-fuzzy 0.030 0.018 Fuzzy -0.253 -0.266 Fuzzy 0.023 0.009

(b) Online evolution.

(34)

0 5 10 15 20 25 30 Run 0.0 0.2 0.4 0.6 0.8 Sy mm etr y 0.0 0.1 0.2 0.3 0.4 Fit ne ss fitness weak fuzzy strong fuzzy weak non-fuzzy strong non-fuzzy

(c) Offline, perpendicular symmetry.

0 5 10 15 20 25 30 Run 0.0 0.2 0.4 0.6 0.8 Sy mm etr y 0.0 0.1 0.2 0.3 0.4 Fit ne ss fitness weak fuzzy strong fuzzy weak non-fuzzy strong non-fuzzy

(d) Offline, full symmetry.

0 5 10 15 20 25 30 Run 0.0 0.2 0.4 0.6 0.8 1.0 Sy mm etr y 0.0 0.1 0.2 0.3 0.4 0.5 Fit ne ss fitness base symmetry

(e) Online, base symmetry.

0 5 10 15 20 25 30 Run 0.0 0.2 0.4 0.6 0.8 1.0 Sy mm etr y 0.0 0.1 0.2 0.3 0.4 0.5 Fit ne ss fitness weak fuzzy strong fuzzy weak non-fuzzy strong non-fuzzy

(f) Online, diagonal symmetry.

0 5 10 15 20 25 30 Run 0.0 0.2 0.4 0.6 0.8 1.0 Sy mm etr y 0.0 0.1 0.2 0.3 0.4 0.5 Fit ne ss fitness weak fuzzy strong fuzzy weak non-fuzzy strong non-fuzzy

(g) Online, perpendicular symmetry.

0 5 10 15 20 25 30 Run 0.0 0.2 0.4 0.6 0.8 1.0 Sy mm etr y 0.0 0.1 0.2 0.3 0.4 0.5 Fit ne ss fitness weak fuzzy strong fuzzy weak non-fuzzy strong non-fuzzy

(h) Online, full symmetry.

Figure 4.4: These graphs show the relationship between the maximum fitness of a run and the average symmetry values of the population. Runs were sorted on ascending maximum fitness. The points indicate accompanying symmetry values, and the lines are linear fits.

(35)

4.2. USING SYMMETRY TO IMPROVE FITNESS 35

Strong Strong Weak Weak Non-fuzzy Fuzzy Non-fuzzy Fuzzy P 0.493 p=0.006 0.464 p=0.010 0.447 p=0.013 0.443 p=0.014 D -0.274 p=0.140 -0.300 p=0.110 -0.344 p=0.063 -0.304 p=0.100 F 0.451 p=0.012 0.407 p=0.025 0.385 p=0.036 0.369 p=0.045 B 0.300 p=0.110

(a) Offline evolution.

Strong Strong Weak Weak Non-fuzzy Fuzzy Non-fuzzy Fuzzy P 0.393 p=0.032 0.363 p=0.049 0.380 p=0.038 0.346 p=0.061 D -0.312 p=0.093 -0.368 p=0.046 -0.348 p=0.059 -0.383 p=0.037 F 0.384 p=0.036 0.362 p=0.049 0.368 p=0.045 0.350 p=0.058 B 0.235 p=0.210

(b) Online evolution.

Table 4.3: Correlation values as calculated between the maximum fitness values of runs and their average symmetries scores. The letters P, D, F, B denote perpendicular, diagonal, full, and base symmetry.

function: the scaling parameter a that determines the weight of the symmetry scores. Three values for a were evaluated for 20 offline evolution runs each:

a1 = 0.125, a2 = 0.25, a3 = 0.5. The results of these runs could then be

compared against the 30 offline runs that were already performed with the

unmodified fitness function, or: a0 = 0. Next, we had to choose a symmetry

measure to base this modification on. Out of the 13 symmetry measures that we evaluated, perpendicular, strong, non-fuzzy symmetry seemed to correlate best with fitness, and was therefore selected as the symmetry measure for the modified fitness function.

Table 4.4a shows the average symmetry of the robots, average mobil-ity fitness of the robots, and the average of the maximum mobilmobil-ity fitness achieved in each run. As was to be expected, as the value of a increases, so

does the average symmetry of the robot population. With a1 and a2, this

increase is relatively low and not statistically significant, but substantial and

significant for a3. More interestingly, there also appears to be an increase in

(36)

is not statistically significant.

Scaling Average Symmetry Average Fitness Maximum Fitness a0= 0 0.488 ± 0.153 0.150 ± 0.042 0.216 ± 0.068 a1= 0.125 0.513 ± 0.163 0.162 ± 0.069 0.240 ± 0.098 +5.2% p=0.591 +8.3% p=0.445 +11.0% p=0.332 a2= 0.25 0.522 ± 0.160 0.180 ± 0.058 0.260 ± 0.101 +7.1% p=0.462 +20.1% p=0.045 +20.2% p=0.084 a3= 0.5 0.589 ± 0.184 0.144 ± 0.063 0.220 ± 0.104 +20.1% p=0.048 -3.8% p=0.712 +1.6% p=0.890

(a) Offline evolution with a symmetry-modified fitness function.

Scaling Average Symmetry Average Fitness Maximum Fitness a0= 0 0.556 ± 0.182 0.052 ± 0.019 0.163 ± 0.063

a2= 0.25

0.603 ± 0.137 0.056 ± 0.018 0.184 ± 0.063 +8.4% p=0.353 +8.2% p=0.456 +13.1% p=0.269

(b) Online evolution with a symmetry-modified fitness function.

Table 4.4: The tables lists the average symmetry of all robots, average fitness of all robots, and the average maximum fitness of each run for different values of the scaling parameter a. Also shown is the percentage difference when compared to a0,

(37)

Chapter 5

Discussion

5.1

Run Analysis

All experiments were run with both offline and online evolution. There were some immediate important observations in the difference between the two. In offline evolution there is a bias towards fitter individuals because of the way population management works. New individuals are only kept if they are in the top 15 fittest. In online evolution, weaker individuals are killed periodically, leading to an average mature population size of only around 8 individuals. New individuals are also periodically generated and automati-cally populate the simulation regardless of their fitness. As such, there exists a lot more variance in the fitness and symmetry among the population. This might also be one of the reasons why online evolution achieves lower fitness values.

Another thing we found when analysing separate runs was that the mor-phology of the robot population tends to converge. That is, as the simulation progresses, the morphology of the living population becomes more and more similar. This effect can already be seen in relatively early stages of the run. Many ways exist to decrease this convergence, for instance, a greater popu-lation size could be used or parent selection tuned for less selection pressure. This convergence might play a smaller role in online evolution again due to population management, though this was not investigated.

(38)

to say that asymmetrical robots could not achieve high fitness.

When looking at the populations of all the runs as a whole we do find some minor positive correlations between symmetry and fitness. These num-bers could be seen as a first indication that, even though symmetry does not develop over the course of a run, there might still be an advantage for individuals that do have higher symmetry. This correlation is not visible in online evolution. Possibly again due to population management causing high variance of both symmetry and fitness in individuals.

Given that populations tend to converge, another way of looking at this is to compare the average symmetry of a run to the maximum achieved fitness. This effectively measures the potential for fitness of the specific morphology that the population has converged to. Looking at it this way, the positive correlations between symmetry and fitness start to become much clearer in both offline and online evolution. The slightly lower correlation in online evolution could again be attributed to high variance.

5.3

Symmetry-modified Fitness Function

After modifying the fitness function with a symmetry component, we find that robots show an increase in both symmetry and mobility fitness. Sym-metry increasing was to be expected, as there is a positive selection bias for more symmetrical individuals. The highest increase that we saw in mobility fitness was around 20%, though most increases were around 10%. It should be noted that these results are not all statistically significant and more data would need to be collected to confirm this effect.

(39)

5.4. SYMMETRY MEASURES 39 tested. The most optimal of the three was a = 0.25, meaning a maximum increase of 25% of the fitness score for robots that are completely symmetri-cal. The benefit of adding symmetry appears to have an upper limit, as with a = 0.5, we found no improvements to fitness. There might be better values for a that were not tested, but a potential benefit was demonstrated.

5.4

Symmetry Measures

There were 12 novel symmetry measures that were developed and tested in these experiments. Out of all of these, perpendicular, strong, non-fuzzy symmetry correlated best with fitness and outperformed base symmetry. Di-agonal symmetry performed the worst in all experiments. This might be explained by the fact that the RoboGen-like robots have parts that are ap-proximately square. It is possibly just unlikely for diagonal structures to form under these conditions. Combining diagonal and perpendicular sym-metry into full symsym-metry also doesn’t seem to provide any advantages.

Of the other symmetry variants, strong, weak, fuzzy, and non-fuzzy, the combinations that included weak or fuzzy symmetry seemed to perform worse, though not by a large margin. The purpose of these modifications were to assign higher symmetry scores to robots that were close to symmet-rical, but not quite. As such, strong, non-fuzzy symmetry always has the most conservative score. When robots were not very symmetrical, the differ-ence between weak, fuzzy and strong, non-fuzzy symmetry was larger than when symmetry was generally higher. This might explain also the difference in correlation with fitness. Given that symmetry and fitness are correlated, if the measures are closer together when symmetry and fitness are higher and further apart when symmetry and fitness are lower, the more conservative measures will correlate higher.

There are a few other things to take into consideration with regard to the symmetry measures. All measures were based on the two-dimensional representation of the actual robots. As is the case with any simplified rep-resentation, there are certain inaccuracies. For example, sizes of parts and the angles between parts were not preserved. The core component is larger than the other components, for example, and the parametric bar joint can take many shapes and connect parts under different angles. Instead, both parts are represented as simple squares. There might well be some hidden

(40)

tested. More could be done to assess these choices by visually inspecting robots where the various measures disagree.

(41)

Chapter 6

Conclusion and Future Work

6.1

Conclusion

In the natural world, where living creatures are governed by natural evolu-tion, symmetry and locomotion go hand in hand. In this research we inves-tigated the link between evolutionary robotics, symmetry, and locomotion. We used the RoboGen-like modular robots of the Revolve simulator [18] to allow for evolution according to a locomotion fitness function. Our first task was to develop ways of measuring symmetry, based on a simple symmetry model provided by Miras et al. [32]. We developed 12 symmetry measures that consist of the various combinations of perpendicular, diagonal, and full symmetry, strong, and weak symmetry, and non-fuzzy, and fuzzy symmetry. The first three are concerned with the orientation of symmetry, strong and weak in how they handle component types, and fuzzy symmetry is used to add flexibility to the location requirement of symmetry.

The second part of this research was to answer two questions, the first of which was: is there any relation between symmetry and fitness? We col-lected data using offline evolution as well as online evolution. We found that symmetry does not develop as a run progresses, even though fitness does. However, there is evidence that each run converges on a morphology, even if that morphology is asymmetrical. With this in mind, we measured the correlations between the maximum achieved fitness of a run and the average symmetry scores of its robot population. Here we do find positive corre-lations. The highest correlations were recorded for perpendicular, strong,

(42)

significance. This demonstrates that there exists some potential benefit to incorporate these symmetry measures at run-time to evolve robots better suited for locomotion.

6.2

Future Work

After evaluating our results, we are left with an important question. If sym-metry is beneficial to locomotion, why does symsym-metry not develop over the course of a run? The next step would be to examine the reason for that. It might prove useful to seed the simulation with hand-crafted individuals to improve our understanding of the evolutionary process with respect to sym-metry. Experiments could also be repeated with larger populations or less selection pressure in an attempt to avoid morphology convergence.

Another interesting thing would be to see which changes to the simula-tor would be necessary to cause symmetry to develop during runs. A great improvement would be to allow robots to learn during their lifetime. Cur-rently, robots are only able to change their neural network randomly during crossover. However, in general, any neural connection that worked well in a parent robot may not work after crossover has changed large portions of the body layout. This will cause the robot to perform poorly, even if the given body may be better suited for locomotion than the body its parents. Further investigation should therefore include lifetime learning capabilities to the robot at least during their infancy, e.g. attending a ‘Robot School’ [34]. This might allow body morphology to change more throughout the simulation runs.

(43)

6.2. FUTURE WORK 43 to create fitter individuals should also be explored further. This entails the investigation of several aspects. The first of which lies in how symmetry scores are applied at run-time. In our experiments, we modified the fitness function, but another way to approach this is by way of multi-objective evolution, where evolution could be guided towards fitness and symmetry simultaneously [35]. Though it should be noted that the primary goal should remain to be an increase in fitness, and higher symmetry should not detract from improving mobility.

Another aspect is the effect of evolving towards symmetry on robot mor-phology. By selecting for more symmetrical individuals, how much are we limiting the morphology search space? If we can consistently generate very mobile individuals, but all of them take a similar shape, for example a snake-like shape, then that might not be a desirable result. To this end, there might actually be some benefit to using weak and fuzzy symmetry, as they were designed to assign more positive scores to individuals that are close to symmetrical, but not quite. In other words, these measures could provide a softer guide towards symmetry than strong, non-fuzzy symmetry, and might help stave off collapse of the search space.

Finally, symmetry is only one of many measurable qualities of robots. It is entirely possible that there are other markers that correlate well with fitness. For example, we can measure the number of components, the number of motor units, the exact placement of specific component types within a robot body, the number of extremities, the ratio of static and non-static components, and the list goes on. Perhaps it would be worthwhile to search for these so that they can be used to stimulate fitness further. Incorporating these other qualities alongside symmetry could also promote morphological diversity.

(44)

Foundations of Genetic Algorithms, volume 2 of Foundations of Genetic Algorithms, pages 5 – 17. Elsevier, 1993.

[4] Josh C. Bongard. Evolutionary robotics. Commun. ACM, 56(8):74–83, August 2013.

[5] Dave Cliff, Phil Husbands, and Inman Harvey. Explorations in evolu-tionary robotics. Adaptive Behavior, 2(1):73–110, 1993.

[6] D. Floreano, P. Husbands, and S. Nolfi. Evolutionary robotics. In B. Si-ciliano and O. Khatib, editors, Springer Handbook of Robotics, volume Part G.61, pages 1423–1451. Springer, 2008.

[7] Dario Floreano and Francesco Mondada. Automatic creation of an au-tonomous agent: Genetic evolution of a neural-network driven robot. In In, pages 421–430. MIT Press, 1994.

[8] Karl Sims. Evolving 3d morphology and behavior by competition. Artif. Life, 1(4):353–372, January 1994.

[9] Karl Sims. Evolving virtual creatures. In Proceedings of the 21st Annual Conference on Computer Graphics and Interactive Techniques, SIG-GRAPH ’94, pages 15–22, New York, NY, USA, 1994. ACM.

(45)

BIBLIOGRAPHY 45 [10] H. Lipson and J. B. Pollack. Automatic design and manufacture of

robotic lifeforms. Nature, 406:974–978, 2000.

[11] Joshua Auerbach, Deniz Aydin, Andrea Maesani, Przemyslaw

Kor-natowski, Titus Cieslewski, Gr´egoire Heitz, Pradeep Fernando, Ilya

Loshchilov, Ludovic Daler, and Dario Floreano. Robogen: Robot gener-ation through artificial evolution. Artificial Life 14: Proceedings of the Fourteenth International Conference on the Synthesis and Simulation of Living Systems, pages 136–137, 2014.

[12] L. Brodbeck, S. Hauser, and F. Iida. Morphological evolution of

phys-ical robots through model-free phenotype development. PLoS One,

10(6):e0128444, June 2015.

[13] Hod Lipson and Jordan B. Pollack. Automatic design and manufacture of robotic lifeforms. Nature, 406:974, Aug 2000.

[14] A. E. Eiben. Evosphere: The world of robot evolution. In Adrian-Horia Dediu, Luis Magdalena, and Carlos Mart´ın-Vide, editors, Theory and Practice of Natural Computing, pages 3–19, Cham, 2015. Springer International Publishing.

[15] A. E. Eiben, S. Kernbach, and Evert Haasdijk. Embodied artificial evo-lution – artificial evoevo-lutionary systems in the 21st century. Evoevo-lutionary Intelligence, 5(4):261–272, 2012.

[16] A. E. Eiben, Nicolas Bred`eche, Mark Hoogendoorn, J. Stradner, Jon

Timmis, Andrew M. Tyrrell, and Anna Winfield. The triangle of life: Evolving robots in real-time and real-space. 2013.

[17] Milan Jelisavcic, Matteo de Carlo, Elte Hupkes, Panagiotis Eustratiadis, Jakub Orlowski, Evert Haasdijk, Joshua E Auerbach, and AE Eiben. Real-world evolution of robot morphologies: A proof of concept. Artifi-cial Life, 2017.

[18] Elte Hupkes, Milan Jelisavcic, and A. E. Eiben. Revolve: A versatile simulator for online robot evolution. In Kevin Sim and Paul Kaufmann, editors, Applications of Evolutionary Computation, volume 10784 of Lec-ture Notes in Computer Science (including subseries LecLec-ture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), pages 687– 702. Springer, 3 2018.

(46)

the evolution of things. Nature, 521:476, May 2015.

[22] Eric Werner. The origin, evolution and development of bilateral symme-try in multicellular organisms. Quantitative Biology, ArXiv:1207.3289, 2012.

[23] D. Marbach and A. J. Ijspeert. Online optimization of modular robot locomotion. In IEEE International Conference Mechatronics and Au-tomation, 2005, volume 1, pages 248–253 Vol. 1, July 2005.

[24] Andres Fai˜na, Francisco Bellas, Fernando L´opez Pe˜na, and Richard

Duro. Edhmor: Evolutionary designer of heterogeneous modular robots. Engineering Applications of Artificial Intelligence, 26:2408–2423, 11 2013.

[25] Nick Cheney, Robert MacCurdy, Jeff Clune, and Hod Lipson. Unshack-ling evolution: Evolving soft robots with multiple materials and a pow-erful generative encoding. In Proceedings of the 15th Annual Conference on Genetic and Evolutionary Computation, GECCO ’13, pages 167–174, New York, NY, USA, 2013. ACM.

[26] J. Clune, B. E. Beckmann, C. Ofria, and R. T. Pennock. Evolving coordinated quadruped gaits with the hyperneat generative encoding. In 2009 IEEE Congress on Evolutionary Computation, pages 2764–2771, May 2009.

[27] Changming Sun and J. Sherrah. 3d symmetry detection using the ex-tended gaussian image. IEEE Transactions on Pattern Analysis and Machine Intelligence, 19(2):164–168, Feb 1997.

(47)

BIBLIOGRAPHY 47 [28] Niloy J. Mitra, Leonidas J. Guibas, and Mark Pauly. Partial and ap-proximate symmetry detection for 3d geometry. ACM Trans. Graph., 25(3):560–568, July 2006.

[29] Wai Ho Li, Alan M. Zhang, and Lindsay Kleeman. Bilateral symmetry detection for real-time robotics applications. The International Journal of Robotics Research, 27(7):785–814, 2008.

[30] H. Zabrodsky, S. Peleg, and D. Avnir. A measure of symmetry based on shape similarity. In Proceedings 1992 IEEE Computer Society Confer-ence on Computer Vision and Pattern Recognition, pages 703–706, June 1992.

[31] H. Zabrodsky, S. Peleg, and D. Avnir. Symmetry as a continuous fea-ture. IEEE Transactions on Pattern Analysis and Machine Intelligence, 17(12):1154–1166, Dec 1995.

[32] Karine Miras, Evert Haasdijk, Kyrre Glette, and A. E. Eiben. Search space analysis of evolvable robot morphologies. In Kevin Sim and Paul Kaufmann, editors, Applications of Evolutionary Computation, pages 703–718, Cham, 2018. Springer International Publishing.

[33] T. van de Velde, C. Rossi, and A. E. Eiben. Body symmetry in mor-phologically evolving modular robots. In Pedro A. Castillo and Paul Kaufmann, editors, Applications of Evolutionary Computation, Lecture Notes in Computer Science (including subseries Lecture Notes in Arti-ficial Intelligence and Lecture Notes in Bioinformatics), pages 583–598, Germany, 2019. Springer Verlag.

[34] C. Rossi and A.E. Eiben. Simultaneous versus incremental learning of multiple skills by modular robots. Evolutionary Intelligence, 7(2):119– 131, 2014.

[35] Aimin Zhou, Bo-Yang Qu, Hui Li, Shi-Zheng Zhao, Ponnuthurai Na-garatnam Suganthan, and Qingfu Zhang. Multiobjective evolutionary algorithms: A survey of the state of the art. Swarm and Evolutionary Computation, 1(1):32 – 49, 2011.

Referenties

GERELATEERDE DOCUMENTEN

Bij elektrisch verdoven komt het aan op goed optimaliseren: voldoende stroom om goed te verdoven, maar ook niet te veel om beschadigingen aan het vlees te voorkomen. Bij het

In order to relate the excitations of the fermion field in Minkowski and Rindler space, we proceed along similar lines, but with some slight modifications to keep track of the

The main contribution of this thesis is a series of novel methods for the design of sym- metric and efficient complex FIR filters, including: i) the reduction over complex inte-

en beekdalen, zoals langs IJssel, Vecht, Zwarte Water en Drentsche Aa, of in laaggelegen polders, zoals Polder Oude Riet in Groningen. Meestal gaat het om percelen

the mixture is pH dependent. The rate of acetyl transfer from acetyl-AMP or acetyl phosphate to the SH group of the coenzyme A is co nsiderably increased in

optische as van de richtkijker wordt in de Y-richting evenwijdig aan de meettafel uitgeIijnd, waarna een rechtheidsmeting in de Z- richting voIgt terwijl de

14 dagen voor deze afspraak krijgt u een diabetes vragenlijst in MijnSaxenburgh.. Door het invullen van deze vragenlijst kan uw zorgverlener zich goed voorbereiden op uw

Due to the quality of the new bound for the min-cut problem, and the here improved relation between the min-cut and bandwidth problem from [37], we derive the best known lower