Project Proposal: Evolving the Artificial Intelligence of an iRobot Create to Traverse Mazes Answered
I am doing a PhD in computer science at Michigan State University in the Digital Evolution Lab (http://devolab.cse.msu.edu/). My PhD involves evolving intelligence, which uses evolutionary computation to try to evolve, instead of engineer, artificial intelligence. I propose to try to evolve the controller of the iRobot Create to be able to solve mazes of increasing complexity. I would evolve neural nets that took the iRobot Create's sensor information as inputs (most likely via the "streaming sensor data" mode) and the outputs of the neural net would control the robot. The robot will learn on its own how to get better and better at traversing mazes. This same technology could then be used to have the robot do different tasks (such as cover a room, or chase/avoid another iRobot Create in a game of cat and mouse). Most of this type of work occurs in simulation because, as graduate students, we do not have the resources to buy robots. This scholarship and contest would be a blessing to me, as it would allow me to work with robots in the real world.
Evolutionary computing simulates natural selection in a computer. It uses the "survival of the fittest" rule. The difference is that, instead of plants and animals competing, different versions of software are battling for their place in the next generation. Natural selection, plus a lot of time, produced all the life on this planet. In a computer world, because generations can happen in microseconds, we do not need millions of Earth years to pass before interesting things begin to happen.
The simulation would be set up so that the better programs will have lots of kids (versions similar but not identical) in the next generation and weaker software will die out. In this case, "better" programs would be those that get closer to the end of the maze (where a docking station would be placed). Over time the software will become better and better since mutations (random changes in the program) occasionally produce a program that is a slight improvement over its parents. This slightly better software will thrive for a while until it too is replaced by the next slightly better software. Given enough generations, these small changes can add up to produce jaguars, whales, Olympians and poets. Hopefully they can also produce iRobot Create's that are great at solving mazes!
I do not know how far I would be able to get in this project before the end of the contest deadline. I hope to be able to get a proof of concept going. At a minimum, however, I would continue to work on this project after the contest ends and would be glad to share my results with the iRobot Create community and acknowledge the scholarship gift in any papers published on the subject. The iRobot Create is perfect for this work because researchers in the field frequently use robots like this one. As such, this design is someone of an industry standard. Unfortunately, each research team must build or find their own version of this robot archetype. If it proves effective, the iRobot Create could become an industry standard. It would also be good to use because the preprogrammed modules such as 'cover and dock' and 'mouse' could serve as interesting programs to compete the evolved solutions against.
If desired, I would be more than happy to provide more information and or references about this technique.