Abstract: A long time goal of evolutionary roboticists is to create everincreasing lifelike robots which reflect the important aspects of biology in their behavior and form. One way to create such creatures is to use evolutionary algorithms and genotype to phenotype maps which act as proxies for biological development. One such algorithm is HyperNEAT whose use of a substrate which can be viewed as an abstraction of spatial development used by Hox genes. Previous work has looked into answering what effect changing the embedding has on HyperNEAT’s efficiency, however no work has been done on the effect of representing different aspects of the agents morphology within the embeddings. We introduce the term embodied embeddings to capture the idea of using information from the morphology to dictate the locations of neurons in the substrate. We further compare three embodied embeddings, one which uses the physical structure of the robot and two which use abstract information about the robot’s morphology, on an embodied version of the retina task which can be made modular, hierarchical, or a combination of both.
Abstract: In evolutionary robotics, evolutionary methods are used to optimize robots to different tasks. Because using physical robots is costly in terms of both time and money, simulated robots are generally used instead. Most physics engines are written in C++ which can be a barrier for new programmers. In this paper we present two Python wrappers, Pyrosim and Evosoro, around two well used simulators, Open Dynamics Engine (ODE) and Voxelyze/VoxCAD, which respectively handle rigid and soft bodied simulation. Python is an easier language to understand so more time can be spent on developing the actual experiment instead of programming the simulator.
Abstract: Due to the large number of evaluations required, evolutionary robotics experiments are generally conducted in simulated environments. One way to increase the generality of a robot's behavior is to evolve it in multiple environments. These environment spaces can be defined by the number of free parameters (f) and the number of variations each free parameter can take (n). Each environment space then has nf individual environments. For a robot to be fit in the environment space it must perform well in each of the nf environments. Thus the number of environments grows exponentially as n and f are increased. To mitigate the problem of having to evolve a robot in each environment in the space we introduce the concept of ecological modularity. Ecological modularity is here defined as the robot's modularity with respect to free parameters in the its environment space. We show that if a robot is modular along m of the free parameters in its environment space, it only needs to be evolved in nf-m+1 environments to be fit in all of the nf environments. This work thus presents a heretofore unknown relationship between the modularity of an agent and its ability to generalize evolved behaviors in new environments.
Abstract: In evolutionary robotics, populations of robots are typically trained in simulation before one or more of them are instantiated as physical robots. However, in order to evolve robust behavior, each robot must be evaluated in multiple environments. If an environment is characterized by f free parameters, each of which can take one of np features, each robot must be evaluated in all nfp environments to ensure robustness. Here, we show that if the robots are constrained to have modular morphologies and controllers, they only need to be evaluated in np environments to reach the same level of robustness. This becomes possible because the robots evolve such that each module of the morphology allows the controller to independently recognize a familiar percept in the environment, and each percept corresponds to one of the environmental free parameters. When exposed to a new environment, the robot perceives it as a novel combination of familiar percepts which it can solve without requiring further training. A non-modular morphology and controller however perceives the same environment as a completely novel environment, requiring further training. This acceleration in evolvability – the rate of the evolution of adaptive and robust behavior – suggests that evolutionary robotics may become a scalable approach for automatically creating complex autonomous machines, if the evolution of neural and morphological modularity is taken into account.
Abstract: Random recombination in evolutionary algorithms can be counterproductive in systems that evolve increasing modularity, because such operators do not preserve community structures during their development. Partly because of this, methods have been proposed that derandomize recombination by placing potential crossover locations under evolutionary control. Since crossover is likely to be particularly useful when genetic material that generates incipient phenotype modules is recombined, there may be an advantage to seeking such modularity directly in the phenotype and probabilistically focusing recombination at such "hotspot" locations. Here we show that such phenotypically-aware crossover operators can outcompete random or evolved crossover points as the size of the system being evolved grows. As this crossover operator can be viewed as epigenetic, and as epigenetic processes seem to be common in biological systems, other such epigenetic mechanisms may further improve future evolutionary algorithms.