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

Octagonal creature Biped creature Ring creature Worm creature

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