Richard Augustine break between name and current page in header PROJECTS

Making an Autonomous Scavenger Robot
A robotic scavenger hunt, fueled by rotating brushes, color sensors, and a whole lot of PLA.
Skills: Microcontrollers, Soldering, Circuit Design, SolidWorks, Robotics, Sensors
January 2025 - March 2025

Video Demonstration

Overview

Robotic systems are being developed to collect objects of interest from environments that are currently too dangerous for humans (for example, rovers on mars). This was the inspiration behind our course project in MSE2202: Introduction to Mechatronic Design. The mission was to build a robot that can explore an unmarked arena, identify only green “gems”, collect them, and return to base autonomously, all under 2 minutes.

rover on mars Vision of Desired Result

Our Solution

To tackle the challenge, we broke the task into three main systems: Intake, Sortation, and Drivetrain. Each had its own challenges and iterations before things started coming together.

collage of all sketches made during project Figure 1: A collage of all our Ideas for Intake, Drivetrain, and Sortation

Our Solution

Intake – The Brush Roller & Dumper

To collect gems, we started with many ideas: grabbing arms, vacuums, even Ferris wheels. Eventually, we landed on a simpler and surprisingly effective solution: a horizontal rotating brush that continuously swept gems into a bucket as the robot moved forward. After a period of time, this bucket would then dump all the collected gems (using servo motors) into the collection subsystem back at the base.

intake subsystem sketch and detail design Figure 2: Intake Subsystem Sketch and Detail Design in SolidWorks

Our Solution

Drivetrain – Ball Point Pin

Staying in the theme of simplicity, we built a 2-wheel drive system, balanced the bot’s weight with ballpoint pins, and tuned the wheels for traction using tape. Initially, we started off with two ballpoint pins for better stability, but quickly noticed that the bot would veer unpredictably left and right due to slight height differences in the pins, varying friction, and imperfections in the floor. This was a major issue for us because no sortation of the gems could be performed if the bot couldn't reliably return to base.

After many failed attempts of adjusting drive speeds for each wheel, adding counterweights, and implementing IR navigation, we replaced the two ballpoint pins with a single one out of desperation. This concentrated all the weight and frictional contact to one point, finally allowing our bot to drive straight… roughly 12 hours before the final showcase. Suffice it to say, this was an incredibly satisfying moment, and easily one of the highlights of working on the project.

demonstration of ball point pin layouts Figure 3: Drive Comparison Between Ball Point Pin Layouts
bot drive circuit design Figure 4: Bot Drive Circuit Design in EAGLE

Our Solution

Sortation - Funnel & Pac-Man Disk

Our favorite subsystem. Once our bot reaches base and dumps all the collected gems, they pass through a funnel and into a rotating “Pac-Man” disk with just enough space for one gem. A color sensor reads the gem, and the disk turns to drop the gems inside the bin if it is green, or outside the bin if it is not green. To improve performance, we painted, rewired, and lined the sorting wheel with foil to reflect colors better. We also added a vibration motor to stop gems from jamming in the funnel, a backboard to stop gems from missing the funnel, and kept the IR navigation to make sure our bot doesn't get lost.

sortation subsystem sketches and detail design Figure 5: Sortation Subsystem Sketches and Detail Design in SolidWorks

Putting it All Together

Using ultrasonic sensors, IR communication, and serial connections between our ESP-32 boards, we were able to integrate all of the subsystems so that a plan for gem collection and sorting could be programmed. While the collection system ran continuously in the background, the bot followed a timed routine: it made 30-second trips forward and back to transport gems to the base, then rotated to a new direction and repeated the process until the 2-minute timer expired.

bot sketch and detail design Figure 6: Bot Sketch and Detail Design in SolidWorks

Next Steps and Conclusion

As shown in the video demonstration, we were successful in completing the task by collecting a green gem! Spirits were high, and those late nights seemed to have paid off... until the funnel jammed 10 seconds later, bringing all gem collection to an abrupt halt. Despite our efforts to prevent this, there are improvements that could be made to address the issue completely, such as implementing a track system to guide the gems into the funnel one at a time.

Other areas, including power management, weight distribution, and the overall appearance of the robot, could also benefit from refinement. However, for a first attempt at designing and building a fully autonomous system under a tight deadline, we were proud of what we accomplished and even prouder that it moved, collected, and (briefly) sorted as intended.

Overall, this was a great learning experience and the first robot I’ve ever built, and hopefully the first of many. Details about this project, including the code and SolidWorks files, can be found on my GitHub. Maybe one day I'll revisit this project and turn it to a Roomba that can clean my floors 😎

project group smiling Figure 7: Team & Final Designs after Successful Implementation

Many Thanks to my Team: Janik A., Matthew L., and Justin C. 🎉