Overview: The Pong-Bot’s job is bouncing ping pong balls into six tumblers as fast as possible. This task is based on Bouncerchallenge from the old TV game show Minute to Win It (although many people say it reminds them of beer pong). A “race function” matches the robot against a human to see who can complete bouncing balls into six tumblers first.
Background: I was intrigued by IBM Watson beating Jeopardy champion Ken Jenkins a few years ago. So, while we have robots fighting robots and robots, and interacting with people in some way, I didn't see many robots challenging humans in physical skill games. This motivated a robot to challenge human competitors in a physical skill game (bouncing ping-pong balls).
Findings: I'll summarize robot vs. human game outcomes from two Maker Faires in this Instructable, and share some "lessons learned."
Technical overview: The robot operates using an Arduino UNO, two servos, a gear motor, and hall effect, optical, and mechanical sensors. An OLED display reports race results. See System Overview and General Operation for details. Also, because this project evolved over time, I'll share some "lessons learned."
Project difficulty: Good electrical and mechanical construction skills, along with Arduino IDE experience is required. Estimated cost $300, and construction time of at least a couple of weekends.
The Pong-Bot game system has 4 main Functional Requirements:
FR1: Robot must bounce ping-pong balls into a tumbler
FR2: Robot moves between tumbler locations (from tumbler #1 to tumbler #2 ...) and returns to initial start position.
FR3: Control a "drag race" between Pong-Bot and human competitors and measure elapsed time to bounce ping-pong ball into each of the six tumblers.
FR4: Coordinate the above functions
Details: FR1: Robot must bounce a ping-pong balls into a tumbler -
Ping-pong balls are stored in a length of vertically inclined 1-1/2 PVC pipe. Balls roll down the pipe bouncing off a plywood base and then fly into a tumbler. A "firing" servo releases a single ball at a time. After release, another servo reloads a ball from pipe upper section to be ready for the next "shot."