Mechatronics (Winter 2021)

The final project for ME218B (Smart Product Design Applications) was to build a robot that autonomously competed in a basketball-like game against another robot. Building on the introductory mechatronics class, this class added modules on sensing, signal processing, motion, microcontroller hardware interrupts, and microcontroller timing systems. The projects, which were significantly more involved than the ME218A projects, were completed over a period of four weeks. Our final report website is available here.

This year's competition required robots to score balls into a basket from one of several "zones" in an arena. "Dunking" a ball from right next to the basket scores one point, while shooting from colored areas a few feet away earns 2, 3, or 5 points. Our strategy was to dunk as many balls as possible as often as possible. We took advantage of a rule that forbids loading more than 3 balls at a time while in the "loading zone" but does not forbid carrying more than 3 balls at a time. Our robot drives in and out of the loading zone repeatedly until it carries its full capacity of 12 balls, then drops them all at once in the basket. You can see a clip of our strategy at work here.

Our robot needed various input and output devices to perform its core function and meet secondary project requirements. The wheels are driven by brushed DC motors with encoders, while the scoring mechanism and eyebrows are actuated by servos. Its eyes (which indicate whether it's on the red or blue team) are RGB LEDs. The robot has touch bumpers on the front and back to detect collisions, as well as ultrasound proximity sensors to avoid hitting walls at full speed. An infrared phototransistor detects a beacon on the basket that indicates the basket's location and tells whether it is the red or blue team's basket. The robot was controlled by two PIC32 microcontrollers communicating with each other by SPI. The PICs' hardware input capture systems were used for the ultrasound, beacon sensors, and encoders, while their output compare modules were used to generate PWM signals to the servos and H-bridges.

I was primarily responsible for my team's mechanical design, including both the chassis and scoring mechanism. The robot was designed in Fusion360 and prototyped on laser cutters and 3D printers in the Product Realization Lab. I also contributed to the motor control, driving, and beacon-alignment hardware and software. Debugging and subsystem integration were full-team efforts. Our robot had a 1-1 record in tournament play, averaging 39 points per game (well above the average).

(Click to return to project list)