Inspiration
We wanted to explore a fun human-vs-robot experience, so we looked at classic two-player games and chose foosball as an interactive and fast-paced challenge.
What it does
Our system is an automated foosball opponent that tracks the ball using computer vision and reacts in real time. It controls three rods: moving them horizontally with stepper motors and kicking using servos. An overhead “eagle-eye” camera detects the ball and guides the robot’s actions.
How we built it
We built the system using stepper motors, stepper motor drivers, and an ESP32 for control. The foosmen and linear motion components were primarily 3D printed, while the table structure was made from laser-cut 0.25-inch plywood and 0.5-inch dowels for the rods. The vision system uses a camera with computer vision algorithms to track the ball’s position.
Challenges we ran into
One major challenge was achieving consistent ball tracking with computer vision, especially at 30 FPS where motion blur and speed made detection unreliable. We also found that our linear motion system and stepper motors were not sufficient for the performance we wanted. Our current pin-and-slot mechanism was not very efficient compared to alternatives like a crankshaft-based system. While higher-torque motors could improve performance, the core limitation lies in the mechanism itself, and a more efficient motion design would likely lead to significantly better results.
Accomplishments that we're proud of
We successfully built a fully functional physical system that looks clean and presentable. Our computer vision pipeline works reliably enough to track the ball in most cases. We also overcame several hardware and electrical challenges, especially related to stepper motor control.
What we learned
We gained hands-on experience with linear motion systems, stepper motors, and power electronics such as boost converters. We also learned about the practical challenges of real-time computer vision.
What's next for Automated Foosball Table
Next, we plan to redesign the linear motion system for better speed and efficiency, and use higher-torque motors with gearing. We also want to improve our computer vision pipeline for more robust tracking and higher frame rates. On the AI side, we plan to refine our reinforcement learning approach by tuning reward functions to improve gameplay performance.
Log in or sign up for Devpost to join the conversation.