Could You Beat This Air Hockey Robot? You Can Certainly Try
Zeroshot built this robotic air hockey table that is perfect for challenging single-player games.
Air hockey is always one of the hottest options at the arcade, because everyone loves the adrenaline-inducing thrill of risking fingertips to block an opponent’s shot and score in retaliation. But what if your human friends suck at air hockey? Or what if you don’t have human friends interested in the game at all? The answer, of course, is to build a robotic air hockey table to give yourself a real challenge. Zeroshot achieved that with this project and posted the design to Instructables, so you can build your own air hockey robot.
Because real air hockey tables are huge, heavy, and expensive, Zeroshot used a more reasonable 27-inch-long tabletop air hockey table. Those are surprisingly affordable and you can probably find one for less than $50, brand new. Other than being small, they work exactly like the big fellas at the arcades. The puck floats on top of a cushion of air coming through holes in the table, and players use a circular plastic paddle to send that puck flying at supersonic speeds into the goals.
That speed was the biggest challenge, as Zeroshot needed a way for the robotic opponent to both track the fast-moving puck and to intercept it.
Starting with the latter, Zeroshot designed a two-axis motion system to move the robot’s paddle around on its side of the table. That’s a belt-driven CoreXY gantry, similar to what you would see on many modern 3D printers. Speaking of which, Zeroshot 3D-printed all of the custom parts. The exceptions are the hardened steel rods and bearings, the pulleys, and the belts. Two stepper motors turn the belts, just like on a 3D printer. An Arduino Uno controls those through TMC2208 stepper drivers.
The more difficult part of the challenge was giving the robot the ability to hit the puck. Remember, that sucker is moving very fast. But Zeroshot’s solution was ingenious. Using real-time computer vision running on a Raspberry Pi 3 Model B+, which looks at the table through a Raspberry Pi Camera V2, the robot tracks the position of the human player’s paddle and the puck at all times. Those are both red and circular, so they’re easy to spot and calculate center points for. Using that information, which is quick to acquire, the robot can constantly calculate potential puck vectors — letting it move into position before the human actually strikes.
It is quite clever and seems fun to play against if your friends are scared of hurting their fingertips.