This second chapter is an analysis of the selected framework,
making first a description of the techniques from the ER approach to be
used for ANN training. Then the limitations of the current ER framework
for our particular application are described, and finally, a solution
to those limitations is proposed.
Evolutionary robotics (ER) is a general
framework for the automated design of controllers for autonomous
robots. It reproduces in robot controllers the Darwinian principle of
selective reproduction or natural evolution; by accumulating small
changes in a progressive development. ER uses genetic and evolutionary
algorithms to develop control programs for autonomous robots. A robot
control system is represented as an artificial chromosome that
progressively updates throughout its evolutionary process until it
successfully accomplishes the desired robot behaviour, in this way
simulating genetics and natural selection laws. Since a robot
controller is based on ANNs as processing elements, in this thesis
artificial chromosomes will encode ANN weights, so that network
connections of ANNs are evolved.
The evolutionary process evolves the
required knowledge for solving the task through experience, and
self-adjusts its control system to meet the specific demands of the
domain. This means that if avoiding obstacles is a necessary component
for good performance, the genetic algorithm will select those networks
which are best suited to avoid obstacles.
The reason for failing to apply ER to
complex robots is primarily that the search space that the evolutionary
algorithm has to face is huge (due to the high number of parameters to
evolve; this dictated by the number of devices to control). Hence,
firstly, it is difficult to find a solution through small changes, and
secondly, the bootstrap problem prevents the generation of simple
solutions with minimum fitness values at the beginning of the
evolutionary process that could guide the evolutionary path towards the
final solution.
In order to obtain a solution to this
problem, we identify two requirements to be incorporated in the
evolutionary process:
- Use of selective bias: Even though bias is
not usually desired in ER, it does seem unavoidable (understanding by
bias the use of external information to direct the evolutionary process
towards a before-hand known solution). This research suggests that this
necessity for bias arises when the artificial evolutionary algorithm
tries to reproduce the effects of natural evolution under unfair
conditions. While natural evolution gradually evolved at the same time
as the animals body plan, sensors and actuators, nervous system, and
even environment and needs, artificial evolution tries to evolve the
nervous system of a robot for a fixed given body, given group of
sensors and actuators, and within a given complex environment and
particular task required. If none of the constraints can be relaxed,
then using bias seems mandatory.
- Use of a staged evolution: We propose the use
of a mechanism where the controller is evolved using different fitness
functions, each one affecting only selected parts of the controller.
Each fitness function will contain the information bias that should
affect only that part of the controller. The bias is therefore, selective. The controller has to be
developed in several stages, and each stage will have separate parts
involved in the process. We refer to this process as staged evolution.