Thursday, April 16, 2015

Beerpong Robot for Applied Robotics Class

As I only need a few more credits to receive my Bachelors degree in Electrical Engineering, I thought I'd take the applied robotics course, where students work in teams of 3 to create a robot to play a game against the other teams by the end of the term. This year's game is Beerpong, and we've been busy trying to come up with the best way to locate the cups and launch ping pong balls accurately.

We decided to go with a pan/tilt design for aiming using NEMA 17 stepper motors that will allow us to attach many different types of firing mechanisms so we can get good test data for different methods as we progress, and chose a standard spacing for the mounting holes to let us fit 80 20 extruded aluminum if we wanted. Our method for locating the cups is to use the (relatively) cheap LIDAR-Lite module mounted to the turret which will scan back and forth, allowing us to find the closest cup. The other teams that we have talked to are all planning on using a webcam or a Kinect camera and OpenCV for detecting the cups, but we would like to avoid the additional complication of using a computer and are opting to instead keep everything on an embedded system (plus the LIDAR-Lite already has example code for the Arduino written for it, which will dramatically cut down on the time it takes to develop the low level code for our system. We chose to run with the Arduino Mega 2560 so we could make use of the existing libraries for driving stepper motors, servos and other modules that we may decide to use (and you can't ever have too many UART channels).

We verified the pan/tilt design by cutting it out of cardboard before moving to acrylic:

The first method is based on designs used by a lot of professionally made ping pong launchers, using some premade motorized wheels for launching hotwheels style cars:

After putting in a solid weekend of work we had a prototype version to test:

Not long after we got that method working we were discussing with another group and found that they were getting more consistent results by simply attaching a fan to the end of their barrel and blowing the ping pong ball through the barrel. We had to test for ourselves, and printed a test adapter to fit a 38mm fan that I had which is an absolute champ for it's size.

Our latest design will involve a revolving set of tubes for holding the 18 ping pong balls we're allowed while keeping us within the 24"x24"x72" size restriction, and we are aiming at getting a finalized design done by the beginning of next week. We have also ordered some polycarbonate tubing to ensure a more consistent inner diameter than the schedule 40 PVC pipe we were using before (and it also has the benefit of being transparent).

This is the rough approach that we want to go for, we are planning on some improvements over this design including tilting the tubes for the ball holders to a 45 degree angle to make it more compact.
We are almost at the end of the third week of the term, and we will need to have the robot finished for the competition during finals week (week 11).


  1. Such a good post on robotics. Robotics is a field that covers almost all the spheres of technology, whether it is Mechanical, Electronics, Computer Programming, Designing Techniques or any other technical skills based on respective applications.
    Robotics for kids | how to learn robotics

  2. Much thanks to you for your post, I search for such article along time, today i discover it at long last. this post give me heaps of exhort it is extremely valuable for me.
    Holiday programs melbourne

  3. I wish more writers of this kind of substance would take the time you did to inquire about and compose so well.