Generating walking behaviours in legged robots

Many legged robots have been built with a variety of different abilities, from running to hopping to climbing stairs. Despite this however, there has been no consistency of approach to the problem of getting them to walk. Approaches have included breaking down the walking step into discrete parts and then controlling them separately, using springs and linkages to achieve a passive walking cycle, and even working out the necessary movements in simulation and then imposing them on the real robot. All of these have limitations, although most were successful at the task for which they were designed. However, all of them fall into one of two categories: either they alter the dynamics of the robots physically so that the robot, whilst very good at walking, is not as general purpose as it once was (as with the passive robots), or they control the physical mechanism of the robot directly to achieve their goals, and this is a difficult task. In this thesis a design methodology is described for building controllers for 3D dynamically stable walking, inspired by the best walkers and runners around — ourselves — so the controllers produced are based on the vertebrate Central Nervous System. This means that there is a low-level controller which adapts itself to the robot so that, when switched on, it can be considered to simulate the springs and linkages of the passive robots to produce a walking robot, and this now active mechanism is then controlled by a relatively simple higher level controller. This is the best of both worlds — we have a robot which is inherently capable of walking, and thus is easy to control like the passive walkers, but also retains the general purpose abilities which makes it so potentially useful. This design methodology uses an evolutionary algorithm to generate low-level controllers for a selection of simulated legged robots. The thesis also looks in detail at previous walking robots and their controllers and shows that some approaches, including staged evolution and handcoding designs, may be unnecessary, and indeed inappropriate, at least for a general purpose controller. The specific algorithm used is evolutionary, using a simple genetic algorithm to allow adaptation to different robot configurations, and the controllers evolved are continuous time neural networks. These are chosen because of their ability to entrain to the movement of the robot, allowing the whole robot and network to be considered as a single dynamical system, which can then be controlled by a higher level system. An extensive program of experiments investigates the types of neural models and network structures which are best suited to this task, and it is shown that stateless and simple dynamic neural models are significantly outperformed as controllers by more complex, biologically plausible ones but that other ideas taken from biological systems, including network connectivities, are not generally as useful and reasons for this are examined. The thesis then shows that this system, although only developed on a single robot, is capable of automatically generating controllers for a wide selection of different test designs. Finally it shows that high level controllers, at least to control steering and speed, can be easily built on top of this now active walking mechanism.