Cutesy tag








Topics
Guide to...
Mini-Modules
MSc

Links
IT & Web
Teaching
RnR

Surfstart

Ext Links
ITCDU

GENETIC ALGORITHMS IN ELECTRONIC DESIGN PROBLEMS

The Design of Robot Systems


Evolutionary Robotics (ER) is a new field of research that is concerned with the use of evolutionary computing techniques (e.g. genetic algorithms) for the automatic design of adaptive robots.

There are three main areas in which genetic algorithms (GAs) can be applied to the enhancement of robot performance:

1. The original system design (mechanical, electrical, control, etc).

2. The programmable hardware parameters for individual systems.

3. Trajectories and motion programs for individual applications.


1. System Design

At the design phase, the designer has to establish a large number of arbitrary design specifications in order to reduce the number of degrees of freedom to a manageable size. GAs can be applied to optimise the design specification, removing the need to built many different trial robots.

Fogel, Owens & Walsh have trained a system to recognise, using evolutionary techniques, whether the parent robot is better than the mutated off-spring machine. In that project, only mutation was used to modify the robot's design.

By studying nature, engineers have noticed that animal's 'biological systems' co-evolve, that is, they do not have one part of their physiology that has advanced quicker than another part - as seems to be the case with much of today's robot research. By using genetic algorithms, a more holistic approach to robot design is viable.


2. Evolutionary Hardware

Once a robot system is built, GAs can be used to optimise the programmable control parameters such as gain, threshold, etc. They can also improve the response and performance of the system in a specific working environment.

This technique uses reconfigurable electronic circuits, allowing the characteristics of the robot to be adapted as required. The process also reconfigures the hardware directly, so the constraints imposed by them are automatically satisfied.

Projects have been set up to simulate the evolution of robots in order to build autonomous robots that can perform useful tasks in various environments. Due to the number of the modules used in robotics, the complexity increases exponentially in relation to the number of possible interactions between the parts. When you add in the necessity to pre-set the robot's action in relation to external stimuli, the design process becomes even more complex.

The evolution of the controller is limited by the body plan of the robot itself, thus reflecting the co-evolving structure of nature. The robots controlled by this approach should be able to adapt to both uncertain and incomplete information in constantly changing environments.


3. Evolutionary Programming

It is really outwith the remit of this document to discuss the field of using genetic algorithms in programming, however the following is of interest:

Using a Khepera robot, with a fitness function based on velocity and proximity to objects, the system learnt to navigate and avoid obstacles in less than 100 generations. Their navigation was very smooth, the robot did not bump into walls, and tried to keep a straight trajectory.


The Future

One aspect of robotics that may arrive unheralded is the software robot, or softbot. These programs will probably be the next generation of 'intelligent agents', processing information across the corridors of the Internet, rather than around a maze in a laboratory.


The Janus Robot (controllers developed using GAs)

Janus Robot


A Khepera Robot at the 1997 Robot Football Championship

Khepera Robot


Links

These are some of the sites that were searched to obtain the above information (the US Navy site is of particular interest):


 

Part of a presentation by Maryam Hamedi, Navid Nabavi & Duncan MacLeod in March 1998