In this project, a simulator for a differential drive robot was coded from scratch using pygame. Additionally, an Evolutionary Algorithm was implemented to train the robot with the goal of encouraging exploring behavior.
The code allows the user to construct a set of mazes and train the differential robot on it. Furthermore, the user is able to replay the robot's behavior.