Evolving Locomotion Controllers for Virtual Creatures
Michael J. Sanders, MSc thesis 1999
Abstract
This thesis considers the problem of automating the locomotion of virtual creatures. A
virtual creature is a computer-simulated animal that exists in a simulated environment.
The animal's body and environment are modelled according to physical laws, such as those
of Newtonian mechanics. Our virtual creatures are modelled as mass-spring systems. We
investigate a controller-based approach to virtual creature animation. Our controllers
are simple 'locomotion brains' that produce locomotion by instigating and sequencing
contractions and expansions of virtual muscles in the creature's body. We allow controllers
to observe the creature's local environment through sensors in the creature's body. An
evolutionary algorithm (EA) is used to synthesise locomotion controllers for a small set
of virtual creatures. We demonstrate the behaviour of our controller-synthesis EA on
several different creature bodies but focus the bulk of our investigation upon a worm-like
creature. Two types of controller are evolved: those that make use of sensors, which we
term closed-loop controllers and those that do not, which we term open-loop controllers.
We show that the creature's body determines which of these controller types our EA will
produce. Initial results from this work were published in [Sand_2000]. We investigate the
benefits of applying a niching method to our evolutionary algorithm. We show that a niching
method can improve the expected performance of our EA. Additionally, niching results in
the synthesis of a range of different locomotion controllers for each evolution, usually
including both open-loop and closed-loop controllers. We show that by applying small random
variations to the terrain over which a creature's locomotion controller is evolved we improve
the expected quality of controller. Additionally, we show that the amount of variation in a
creature's environment influences the style of locomotion. Throughout our experiments we
present 3D visualisations of evolutionary data. We discuss and demonstrate the benefits of
3D data visualisation for EAs as opposed to traditional textual output. We present a simple,
robust and highly effective distributed computation system for sharing the cost of creature
simulation between many computers over a local area network.
Thesis
Zipped postscript
Adobe acrobat (pdf)
Images
Animations
Animations are in the MPEG-1 format:
Octagon creature rolling over very rough terrain |
octagon.mpg |
1594KB |
Biped creature hopping over slightly varying terrain |
biped.mpg |
1350KB |
Ring creature traversing rough terrain |
ring.mpg |
3153KB |
Worm creature wriggling along |
worm.mpg |
2623KB |
|