Embodied Evolution

Imagine a warehouse full of robots, clambering over each other, attempting to perform some task - say collecting objects representing food or energy. Imagine, these robots can mate with each other, i.e. exchange genetic material, producing control programs that become resident in other members of the robot population. Naturally, the likelihood of producing offspring is regulated by the ability to perform the task, or the 'energy' collected. Ideally there will be no need for human intervention either to evaluate, breed or reposition the robots for new trials. Thus the population of robots evolve hands-free - an artificial population that evolves autonomously.

This vision, which we call Embodied Evolution, comes from Inman Harvey. We dont exactly have a 'warehouse full' (9 in fact) but we've made a start. We have the first working example of EE (to our knowledge). Our population evolves the weights for a simple feed-forward neural network to perform a light-tropic Braitenburg-style task. The main difficulties have been hardware related - in particular, an untethered continuous power supply and overcoming the computational limitations of the micro-controller the robots use.

power supply

We invented a 'di-pole' power surface and a rectifying gliding foot that enables the robots to get continuous untethered power. Only we find that there is another team in Switzerland who were doing the same thing and a team in Reading England that had already done it a year or so before. Oh well. Anyway, the floor is covered with paralell metal strips with alternate strips connected to positive and negative DC. Each robot is then equiped with a 4 point contact foot that glides over the floor making contact with the strips. The current is then rectified using a generalised Wheatsone bridge (that I also invented after someone else had).


The Media Lab http://www.media.mit.edu/~fredm let us use their Crickets for our robots. They're very cool in many ways. They enabled us to get started on the project much faster than we could have if we'd had to build our own - in fact, we'd probably never have started. The main cool thing is the ir communications that enable the wireless download of programs to an eeprom and, for our purposes, they also enable wireless robot-to-robot communications for reproduction. They're just adequate for the task we have set them. However, we have simplified the task far more than we wanted to in order to make it tractable to the Crickets. The problem is that the PIC microcontroller has to store and retrieve all program and data to/from the eeprom through a serial interface. Add to this the fact that the PIC isn't that fast anyway and now its almost crippled if you're trying to do something like simulate a recurrant neural network, for example (which we wanted to do originally).