The Trilobot is a fully autonomous ping pong ball launcher that we created for our mechatronics class final project.  At the end of the course we participated in a competition in which our robot had to navigate an arena to collect ping pong balls, identify goals, and score points by launching the ping pong balls into the correct goal.  Our robot performed well and ended up winning the competition with an average score of 25 goals over the best two rounds. The video below shows one of the rounds.


Five teams of 3-4 people competed in the tournament.  The arena was square with side-lengths of approximately 4 ft.  Goals were located in 3 corners of the arena and were identified with both red and IR LEDs that indicated whether or not a goal was active.  A ball dispenser was located in the forth corner.  Each round was 105 seconds long and we each competed 3 times.  The best 2 rounds were averaged to generate the final score.  There were 3 stages in each round: initialization, scoring, and a 10 second final stage.  During the scoring stage (90 seconds) each of the three goals were randomly activated for 30 second periods.  During each 30 second period the robot had to identify the active goal and launch ping pong balls into that goal only.  After launching 6 balls the robot returned to the dispenser to collect more ping pong balls.

Rapid iteration helped us create a robot that was simple, fast, and robust.  I worked on the circuit board design and manufacturing, as well as physical hardware CAD modeling and construction, including the 3D printed launcher assembly.  All of our team members were in the Compliant Mechanism Research group so we decided to use a compliant flipper to launch the ping pong balls.  The launcher was fully adjustable in azimuth and elevation so that we could quickly adjust the trajectory based on testing in the arena.  A continuous servo actuated and released the the flipper.

The night before the competition we stayed up late rewriting the code and adding the last bits of duct tape.  We were having issues with ping-pong balls jamming in the hopper.  In a moment of inspiration we decided to use the motion of the flipper servo to also drive a ball agitator, which we made out of Legos and hot glue.  The agitator worked flawlessly and allowed our robot to reliably launch ping pong balls.

For a detailed project description please use the link below.  Note that these rules were used for our semester only, and the current competition rules may differ.
Mechantronics Project Description PDF