This thesis is about generating neural network based controllers for complex robots. When facing such goal, one of the main problems is how to obtain a trained neural network which successfully controls the robot. A promising methodology is that provided by evolutionary robotics. However, up to date, evolutionary methods do not achieve the generation of behaviors for complex robots with a fixed body structure composed of lots of sensors and actuators. For such cases, no satisfactory results exist due to the large search space that the evolutionary algorithm has to face. Furthermore, the boostrap problem doesn't allow convergence on the first generations, preventing the generation of simple solutions with a minimum fitness value that could guide the evolutionary path towards the final solution. Solutions like incremental evolution try to overcome the problem, but they do not scale well in complex robots with lots of devices. The question is then, why natural evolution succeded evolving complex animals, but evolutionary robotics do not. One answer to that question may be that, while natural evolution gradually evolved at the same time the animals body plan, their sensors and actuators, their nervous system, and even their environment, artificial evolution tries to evolve the nervous system for a robot with a fixed given body, sensors and actuators, within a fixed complex environment.
Our proposal states that when, as it happens in most cases, none of the constraints can be relaxed (those are, the robot body, the sensors and actuators, the behavior to implement or the environment), then it will be mandatory the use of external knowledge to guide the evolutionary process. Evolutionary approaches try to avoid the use of such knowledge, also called bias, because it directs the evolutionary search towards specific places of the space, not allowing the algorithm to find its own solutions. In this paper, we advocate instead for the use of bias as an inevitable situation when the robot body, task and environment are complex and fixed.
Based on this idea, we develop a modular architecture for evolutionary controllers called DAIR, which allows the selective introduction of bias knowledge in the evolutionary controller. The architecture allows the introduction of external knowledge on selected stages of the evolutionary process, affecting only selected parts of the controller that need to accomodate that information. The evolutionary controller is progressively designed in a series of stages, almost in a quirurgical way, independently of the complexity of the robot (in terms of number of sensors and actuators). This approach allows to avoid the boostrap problem completely, and to obtain a completely distributed controller for the robot using only artificial evolution. We will show how to apply our method in general robots, and then we will apply it to a complex Aibo robot in tasks like walking, standing up, or learning to touch the ground, both in simulation and real robot. Additionally, we will study how the different elements of the architecture build an internal representation of the outside world based on its experiences during the evolutionary process. On a final stage, we will show how a DAIR controller can be influenced from external systems by using a tonic signal