Description
As part of ECE 476 at Cornell, we had a final project and decided to make a small holonomic robot that would learn how to control its own motors in order to drive in a straight line. The robot was custom-made and had omni-directional wheels in a triangular pattern and used optical mouse sensors to measure the motion. The robot was controlled by an ATMega644.
An evolutionary design algorithm was used to guide the robot towards the right combination of motor commands. An initial random population was generated and each one was given one second to execute while the optical sensors tracked the motion. After the population was run the population went through a breeding and mutation process and the experiment continued with the new population.
More information can be founded at the project website