Wednesday, April 27, 2016

Beerpong Robot

Final Results
At the end of our 10 week robotics class we had a robot that could play beerpong! We placed third at the competition, losing to Team 12: "The Hammer" (1st place) in the quarter-finals and then to Team 7: "ZZZZ Best" (2nd) in the sixth or seventh lightning round of the semi-finals.
The robot performed fairly well minus a few software issues mainly related to IR sensor threshold values used for detecting the ping pong ball's position when reloading not suitable for the outdoor sun and lightning round code that was written hastily and not designed to run for multiple rounds without restarting the robot.

The final loading mechanism used a motorized sleeve that acted as a "sealed" door to keep the airflow through the tube more consistent.

You can watch the video below to see how it performs. We also added a defensive ball swatting unit with an Arduino Uno a couple of days before the competition. It used a speaker taped to the bottom of the playing table as a microphone input and would swing the flyswatter back and forth a few times whenever it detected a ball hitting the table. It was surprisingly effective, and the signal response for a ball hitting the table was much higher than any ambient noise that we didn't have any false triggers furing gameplay.

Wiring Diagram
We chose to use Fritzing to do the wiring diagram for the robot to keep things straight when working on everything (it got to be a bit of a ratsnest sometimes)

Robot GUI
The GUI was written in Python and allowed for control of the robot and for displaying data from the various sensors such as the LIDAR and the tachometer for the fan.
There was work for a feature that would display a 3D model of the robot using pythonocc that would adjust the pan and tilt angle to match the robot to make remote control easier.
While we were able to open and view a STEP file of the robot, we took the feature out of the program before it was finished due to a lack of time.

No comments:

Post a Comment