This Teensy-Controlled Robot Can Bounce a Ball Endlessly in Advanced Patterns

You'd have a hard time bouncing a ping pong ball on a paddle, but Electron Dust’s Octo-Bouncer can handle it with ease.

Cameron Coward
4 years agoRobotics

Go grab the nearest ping pong ball and paddle. Now toss the ball into the air and try to keep bouncing it on the paddle for as long as you can. Even though you’re an incredibly complex biological machine with advanced senses and fast-twitch muscles, you probably weren’t able to bounce it more than a few times before losing control. You’ll get better with practice, but then try to consciously bounce the ball in specific patterns around the paddle. That seems almost impossible to achieve, but Electron Dust’s Octo-Bouncer can handle it with ease.

The Octo-Bouncer is a fantastic demonstration of a scenario in which a robot can quite easily outperform a human. While it will be a very long time before we’re able to build a robot that is better than a human in every way, we can make robots that are better than humans at many kinds of specific tasks. A welding robot in an automotive factory can easily outperform a human welder, but that same human welder would perform better working on something like an oil pipeline where the conditions and specifics vary. Electron Dust’s Octo-Bouncer is similar. It can’t beat you at a game of table tennis, but it is far better than you are at bouncing a ping pong ball indefinitely.

This robot does that by carefully monitoring the position of the ping pong ball in real time and then tilting the “paddle” platform as needed to keep it bouncing — and even to direct the ball in specific patterns. The ping pong ball is tracked by an e-con Systems See3CAM_CU135 4K camera, which is connected to a Windows PC running OpenCV software. Electron Dust’s custom OpenCV computer vision program uses edge detection to find the circumference of the ball and ultimately determine its center point. The ball’s velocity can be determined using “gradient descent.” Inverse kinematics can then be used to calculate how much to tilt the platform in order to cause the ball to bounce in the direction you want it to.

The robot itself was designed in Autodesk Fusion 360, and most of the mechanical components are aluminum parts that were CNC machined. The bouncing platform was made out of standard acrylic. Four stepper motors are used to tilt the platform, and the stepper drivers are controlled by a Teensy 4.0 board. That receives the stepper positions from the Windows computer running the OpenCV program. The result is a robot that can keep a ping pong ball bouncing pretty much indefinitely and then can cause the ball to bounce in whatever patterns are desired.

Cameron Coward
Writer for Hackster News. Proud husband and dog dad. Maker and serial hobbyist. Check out my YouTube channel: Serial Hobbyism
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles