Building robots is generally considered difficult, because the designer not only has to
predict the interaction between the robot and the environment, but also has to deal
with the ensuing problems. This thesis examines the use of the evolutionary approach
in designing robots; the explorations range from evolving simple behaviours for real
robots, to complex behaviours (also for real robots), and finally to complete robot
systems — including controllers and body plans.
A framework is presented for evolving robot control systems. It includes two components: a task independent Genetic Programming sub-system and a task dependent
controller evaluation sub-system. The performance evaluation of each robot controller
is done in a simulator to reduce the evaluation time, and then the evolved controllers
are downloaded to a real robot for performance verification. In addition, a special rep¬
resentation is designed for the reactive robot controller. It is succinct and can capture
the important characteristics of a reactive control system, so that the evolutionary system can efficiently evolve the controllers of the desired behaviours for the robots. The
framework has been successfully used to evolve controllers for real robots to achieve a
variety of simple tasks, such as obstacle avoidance, safe exploration and box-pushing.
A methodology is then proposed to scale up the system to evolve controllers for more
complicated tasks. It involves adopting the architecture of a behaviour-based system,
and evolving separate behaviour controllers and arbitrators for coordination. This
allows robot controllers for more complex skills to be constructed in an incremental
manner. Therefore the whole control system becomes easy to evolve; moreover, the
resulting control system can be explicitly distributed, understandable to the system
designer, and easy to maintain. The methodology has been used to evolve control
systems for more complex tasks with good results.
Finally, the evolutionary mechanism of the framework described above is extended
to include a Genetic Algorithm sub-system for the co-evolution of robot body plans
An individual in the extended system thus consists of a brain(controller) and a body.
Whenever the individual is evaluated, the controller is executed on the corresponding
body for a period of time to measure the performance. In such a system the Genetic
Programming part evolves the controller; and the Genetic Algorithm part, the robot
body. The results show that the complete robot system can be evolved in this manner.