Main Architecture
The software architecture was composed of 4 main separate components. The event handler, which detected collisions intersections and passengers. The Controller, which was responsible for carrying out various tasks such as picking up dolls, tape following, and dropping off passengers. The Low Level Robot, for interfacing with motors and actuators. And the High Level Robot, responsible for navigating the robot around the board.