Evolutionary Robotics is a field of Autonomous Robotics where the controllers that implement behaviours are obtained through some kind of Evolutionary Algorithm. The aim behind this technique is to obtain controllers minimizing human intervention. This is very interesting in order to achieve complex behaviours without introducing a “human bias”. Sensors, body and actuators are usually different for a human being and for a robot, so it is reasonable to think that the best strategy obtained by the human designer is not necessarily the best one for the robot. This article will briefly describe Evolutionary Robotics and its advantages over other approaches to Autonomous Robotics as well as its problems and drawbacks.
The basis of Evolutionary Robotics is to use evolutionary algorithms to automatically obtain robot controllers. In order to do that, there are many decisions to be made. First of all, one must decide what to evolve (controllers, morphology, both?). Then, whatever is to be evolved has to be encoded in chromosomes. An evolutionary algorithm must be chosen. It has to be decided where and how to evaluate each individual, etc. These issues will be addressed in the following sections.
Key Terms in this Chapter
Evolutionary Algorithm: Stochastic population based search algorithm inspired on natural evolution. The problem is encoded in an n-dimensional search space where individuals represent candidate solutions. Better individuals have higher reproduction probabilities than worse individuals, thus allowing the fitness of the population to increase through the generations
MacroEvolutionary Algorithm: Evolutionary algorithm using the concept of species instead of individuals. Thus, low fitness species become extinct and new species appear to fill their place. Its evolution is smoother, slower but less inclined to fall into local optima as compared to other evolutionary algorithms
Autonomous Robotics: The field of Robotics that tries to obtain controllers for robots so that they are tolerant and may adapt to changes in the environment.
Knowledge Based Robotics: The field of Autonomous Robotics that tries to achieve “intelligent” behaviours through the modelling of the environment and a process of planning over that model, that is, modelling the knowledge that generates the behaviour
Behaviour Based Robotics: The field of Autonomous Robotics that proposes not to pay attention to the knowledge that leads to behaviours, but just to implement them somehow. It also proposes a direct connection between effectors and actuators for every controller running in the robot, eliminating the typical sensor interpretation, world modelling and planning stages
Evolutionary Robotics: The field of Autonomous Robotics, usually also considered as a field of Behaviour Based Robotics, that obtains the controllers using some kind of evolutionary algorithm
Artificial Neural Network: An interconnected group of artificial neurons, which are elements that use a mathematical model that reproduce, through a great simplification, the behaviour of a real neuron, used for distributed information processing. They are inspired by nature in order to achieve some characteristics presented in the real neural networks, such as error and noise tolerance, generalization capabilities, etc