Pool Cue With A Big Brain Algorithm |
Written by Harry Fairhead |
Sunday, 07 March 2021 |
Fancy having a magic pool cue that enabled you to pot the black without fail. Well this video shows how such a device can be built using an Arduino Uno - and it also reveals just how many man hours can be spent on hard-to-detect errors. Shane Wighton attracted a huge following for his YouTube channel when he built the first basketball hoop that doesn't let you miss it, by combining robotics and computer vision. In his latest project he turned his attention to 8-Ball Pool and fabricated a robotic a cue by attaching a miniaturized Stewart platform comprising six actuators that enable the tip to move in three dimensions to the end of what appears to be a broom stick. To "fire" the pool shot a pneumatic-powered trigger was added with a pressurizing chamber on the other end to vary its strength. Having perfected the robotic cue, Wighton even used it to play a mixture of virtual and real pool with remote players.
As anyone who has done any physics knows, skill at billiards is a matter of all three of Issac Newton's laws of motion and this is why Wighton built a physics engine into the robotic pool cue - and the prerequsite for this was a full and accurate view of the pool table and all the balls on it. A camera mounted above the table was only part of the solution - it needed to be calibrated to eliminate all the distortions introduced by photography - well any sorm of vision of you think about it. This was achieved by attaching fiducial markers to the table to allow an accurate 2-D representation. The Big Brain algorithm is able to calculate all the possible paths that the cue ball can take and their effects so letting the robotic pool stick take all the decisions means you can't lose.
What I enjoyed most about the video was the discussion of all the things that went wrong. The first problem that affected the servos turned out not to be math issues but because of components not living up to their specifications. The next problem to do with optical distortions was nothing to do with failure of calibration computations but because code to do with a completely different camera was subtely things messing up. It's an object lesson to us all.
Related ArticlesTo be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
Comments
or email your comment to: comments@i-programmer.info
|
Last Updated ( Sunday, 07 March 2021 ) |