[T-Kuhn]’s Octo-Bouncer platform has learned some new tricks since we saw it last. If you haven’t seen it before, this device uses computer vision from a camera mounted underneath its thick, clear acrylic platform to track a ball in 3D space, and make the necessary (and minute) adjustments needed to control the ball’s movements with a robotic platform in real time.
We loved the Octo-Bouncer’s mesmerizing action when we saw it last, and it’s only gotten better. Not only is there a whole new custom ball detection algorithm that [T-Kuhn] explains in detail, there are also now visualizations of both the ball’s position as well as the plate movements. There’s still one small mystery, however. Every now and again, [T-Kuhn] says that the ball will bounce in an unexpected direction. It doesn’t seem to be a bug related to the platform itself, but [T-Kuhn] has a suspicion. Since contact between the ball and platform is where all the control comes from, and the ball and platform touch only very little during a bounce, it’s possible that bits of dust (or perhaps even tiny imperfections on the ball’s surface itself) might be to blame. Regardless, it doesn’t detract from the device’s mesmerizing performance.
Design files and source code are available on the project’s GitHub repository for those who’d like a closer look. It’s pretty trippy watching the demonstration video because there is so much going on at once; you can check it out just below the page break.
I think the next step has to be two of these robots passing the ball between them.
Absolutely the next step! Then on to 3 ball juggling, then n ball juggling, then n hand/n+1 ball juggling.
That’s very awesome. Could the issues with bounces in unexpected directions be down to spin?
I’ve played ping pong and never really noticed a problem with dust on the bats. But they do have a rubber layer which increases the contact area and would reduce the affect of any dust.
Very impressive.
HAD: did you mean to tag this “ping ping”?
I think that is apropos, as there is no one to pong with!
I like that a lot, but in this case it really was just a typo. Oops!
Teach it catching the ball as the finishing step. Instead of letting the ball bounce till it looses all it’s energy, match it’s falling speed, guide it down while slowing the “fall”. Something like here: https://youtu.be/xPgVQ_Ui9w8?t=33
But how does it react to random external stimuli? That’s my big question. It’s not that hard these days to make a state machine driven with with AI/ML video feedback. Looking good on on a scripted YouTube video is – good – and I wholeheartedly applaud [T-Kuhn] for this accomplishment. But next I want to see some real-time adaptive stimulus-response learning.
He’s been working on this for years. Here’s an interesting vid about the evolution of the project.
https://www.youtube.com/watch?v=VarQDTmwLI0
“Since contact between the ball and platform is where all the control comes from, and the ball and platform touch only very little during a bounce, it’s possible that bits of dust”
They actually touch a *lot* more than you think! It’s not an exact analog (don’t know what type of ball!) but see “Experimental and Numerical Study on the Dynamic Buckling of Ping-pong Balls under Impact Loading” – yes, seriously, that’s a paper.
Thin shells take a lot longer to bounce than you’d expect, because the shell buckles, reducing the overall contact area (and force), but increasing the total “size” of the area.Note fig 4 in that paper: even at 10 m/s impact velocity (which is a ~6 inch bounce) there’s significant oscillations during the contact period, and the total area is like *15 mm*. Which is huge!
So that’s why I kinda doubt dust – the contact area seems like it’s too big. Could easily be due to nonuniformities in the ball itself, or even just a bit of overall chaotic behavior due to the physics involved.
Is it named Forrest?