
Project: Mechatronics Bot
This is a project to make a fully autonomous robot that effectively defeats Sammy the slug in the Slug World Cup. This is a class competition where we design a bot to shoot ping-pong balls at a goalie, Sammy, and depending on shooting location we score additional points. The bot needed to navigate the field in order to locate the shooting positions, and return top the reload zone in order to reload. In addition, the bot is required to have the ability to resolve collisions with obstacles blocking our path to the goal.
We wanted to be able to work on multiple tasks at one time and make testing modular so we decided on a three platform design. The bottom layer handles actuation and events, the middle layer handles control, and the top layer handles shooting. They can be attached together with four all thread bolts making the three layers detachable. Having this design allows for electrical, mechanical, and programming design worked on in parallel. This makes integration of components easy because we can progressively add onto each layer.
To actuate and find the locations to score the bot uses IR light sensors and motors to move to target locations. After accurately getting to each designated location the robot's second set of motors drive the flywheels to blast a ping-pong ball past Sammy. All this logic is done in C programming with multiple state machines that use the event service routine. The program is loaded onto a PIC32 microcontroller that handles the autonomy of the robot through a bare metal state machine.
I personally effectively wrote the entire state machine for the system, and this entire state machine and additional code can be viewed in the Github project linked below. In addition, the github project contains the final lab report where you can find the state machine diagrams for every state within the larger hierarchical state machine. Our team was the first to complete the minimum spec checkoff, which can be viewed below, but we unfortunately lost in the semi finals of the actual competition due to an unfortunate battery failure. This was an extremely difficult, but extremely gratifying project, and I loved working on it. Below are the videos from our minimum specification check off, which signifies completion of the project and ensures that you pass the class. To pass, the bot must score 6+ points within 2 minutes in two trails, one with a collision, and one without.
Our successful minimum specification demo with a collison
Our successful minimum specification demo without a collison
Electrical Engineering Student