Genetic Evolution of a Neural Network Driven Robot

One of my roboticist heroes is Dario Floreano. Back in 1994 he and Francesco Mondada wrote a paper entitled “Automatic Creation of an Autonomous Agent: Genetic Evolution of a Neural Network Driven Robot”. Their idea was to use a simple feedforward neural network to map IR proximity sensors to the two motors of a differential drive robot and to use genetic algorithms to derive the fittest individual to perform the task. Wow! All new territory for me, but I was hooked and wanted to reproduce the experiment.

Instead of looking for a Khepera robot built in the last century I made a reasonable facsimile using Pololu products.


I uses two micro metal gearmotors with encoders, brackets and 32mm wheels, two small ball casters, a DRV8835 breakout, and 8 Distance sensors (#4064) arranged in the same way as the Khepera.

I used a Raspberry Pi Pico board and added a Micro SD card breakout to collect the data generated by the little robot and powered the whole thing with a 9V wall wart passing through a 5V UBEC and connected to a slip ring. This wasn’t much power for the motors but the Khepera only ran at 88mm/second so I was ok.

It was a great learning experience and If you’re interested I documented the details here.

https://forum.dronebotworkshop.com/neural-networks/genetic-evolution-of-a-neural-network-driven-robot/

Tom

1 Like

Hello, Tom.

That looks like a really fun project and a very interesting topic; thank you for sharing!

Brandon