I initially created this repository as part of Vassar College's COGS-220-51-2020B: Autonomous Robotics taught by Assistant Professor Josh de Leeuw in Fall of 2020.
The goal of this project was to program one of Pololu's Zumo robots to solve an arbitrary maze constructed from electrical tape lines on the floor independently. The robot was allowed to have a first untimed run to map out the maze and required to solve the maze on its second run (using its stored knowledge) in as little time as possible. To break up the challenge, the class had 7 milestones.
See Milestone 7 cumulative (and best documented!) code here.
- Create your own code that moves the Zumo at least 4 feet.
- Get the Zumo to follow a line on the floor for at least 4 feet.
- Get the Zumo to follow a line along 2' x 2' square. (Create a square using the tape, 2ft on each side. Place the Zumo anywhere on the square and get it to follow the square for at least a full lap.)
- Get the Zumo to navigate a simple maze with no branching (only one path) and stop when it reaches the end goal.
- Get the Zumo to solve a maze with branching.
- Get the Zumo to solve a maze with branching and then repeat the maze and follow a memorized path.
- Have a final run in the practice maze of under 15 seconds.
Therefore, this repository is divided into 7 folders, demonstrating incremental versions of a program, from simple to advanced. Each folder can be uploaded independently onto the Zumo. My attempts at each of these milestones using the code I wrote are documented in this YouTube playlist. I also wrote a little bit about my challenges and thoughts about each week's milestone in the readme files of the associated directories.
- ArduinoSTL library (for vector support)
- ZumoShield library
Pololu Zumo Shield Arduino Library Pololu Zumo Shield for Arduino User's Guide