The goal of this project was to construct an autonomous driving robot controlled by an Arduino microcontroller. The robot needed to navigate a game board, pick up blocks carefully from the edge of the game board, sort them by color, and then deposit the blocks in different places based on their color.
Over the course of this project, I have gained experience programming the Arduino using C/C++ to read sensor data and control servos and motors, I fabricated custom 2-D parts out of acrylic using a laser cutter, and created more complex parts using a 3-D printer.
The final demonstration for this project was a two-day competition between all of the robots in the class. On each of the two days, every group is given a 10-minute time slot to demonstrate their robot and earn as many points as possible. Each correctly sorted block is worth +3 points and each incorrectly sorted block is worth -3 points. The "Doubler" marble doubles the number of points of the bin it lands in. The complete description of the competition can be found in the attached report.
My partner and I scored 116 points out of the available 128 points, beating the second place team by 33 points. A video of the robot completing a perfect run is shown below.
To learn more about the process of creating this robot and read the full report, click Find Out More
The video below shows the robot completing a full run starting from the one cubic foot starting cube. The robot begins by picking up the "Doubler" marble before it begins taking blocks off of the first rack and sorting them by color. It then deposits those first six blocks in the appropriate bins and navigates to the other rack to pick up the rest of the blocks.
The project is broken up into milestones. Each milestone outlines a specific task that the robot must accomplish. The video below shows these tasks and the progression of the design throughout the semester. The images below show the design and build for each milestone.
Michael Sherman
Copyright © 2021 Michael Sherman - All Rights Reserved.
We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.