Home Creators Posts Import Register Favorites Logout

Content

I am so happy to have this project complete. Automatic pool is something that I've been wanting to do for quite a while. It is so neat to finally see it actually working. I'm also relieved because this project took so much more work that I was expecting. I glossed over it a bit in the video, but about 75% of my time spent in the last 5 weeks on this was banging my head against very subtle, very hard to measure and debug issues.

The biggest issue I kept running into with this robot was the precision required from the vision and robot movement systems. Most problems led to things being in different positions than my software thought. This is huge problem because the game of pool is REALLY sensitive to where and how you strike the ball. Being off by even a few millimeters often results in missing the shot. If I had appreciated how sensitive it was going to be I'm not sure I would have made it...

I'm really happy with the online play. I want to play with more people - I'm considering doing some kind of livestream with all patrons. The idea is somehow crowdsourcing moves while streaming. Is that something you'd be interested in participating in?

If I did this again I would make the pool cue simpler. The nonlinear motions and overall complexity and service difficulty made life pretty hard. On the other hand I now have a pretty neat platform to do more things with and/or redesign to be even better. Any ideas of other stuff I could do with a 6DOF robot on a stick?

Feel free to post any questions on here, or even better hop on the discord and throw them in the #smh-video-discussion channel. As always thanks for the support and I hope you enjoy the video!

Files

Automatic pool stick vs. strangers

Get a Free 32GB Flash Drive and 32GB Micro SD Card: https://micro.center/dbfba Check out the Micro Center Custom PC Builder: https://micro.center/4879a Join the Micro Center Community: https://micro.center/15dd5 Please consider supporting these projects through my patreon: http://patreon.com/stuffmadehere I use a glowforge pro for rapid prototyping and it's great. You can $500 off a Glowforge pro here: http://glowforge.com/stuffmadehere I built this with the new Tormach 1300 PL, check it out: https://tormach.com/machines/plasma-tables.html An automatic pool playing robot - how hard could it be? Turns out harder than I thought. It took me quite a while to work through all the difficulties of this project but when it all finally came together is so worth it. To my surprise the most interesting aspect of this project is using the cue to play real games of pool over the internet. Let me know if you think twitch plays billiards would be worthwhile...

Comments

Bruce K

Automatic pool finally pursuaded me here, Love your videos. Are you planning to release any of your code? I have been dreaming of making one of these myself

billybobfrog

6DOF robot on a stick? Fruit ninja sword that doesn't miss. Just in case a 2d surface was too easy.

Yiding Jia

The most readable function and variable names.

Casey Handmer

This is beautiful. Mount the cue on a robot cart and have alpha go play itself?

Aaron Becker

Super cool project! If crowdsourcing moves while streaming ever becomes a possibility, I'd be happy to participate!

Bryan Shieh

Love what you do with the kinect + projector. What framework(s) do you use for what appears to be technically AR/mixed reality?

Ivan Solano

that was great as always. Why did you put an IMU to compensate for tilt instead of having 2 supports so the cue is always horizontal? Also it may give it more stability

stuffmadehere

Glad you like it! In this case pretty much everything is built from the ground up on top of OpenCV

stuffmadehere

I really wanted to do that but when you get near the edge or other balls are in the way you have to tilt the cue different ways to access the ball

stuffmadehere

Interesting. Machine learning definitely has the potential to be very strong on this problem. I really only scratched the surface of the pool strategy / gameplay side and want to put more time into that for V2

Hugo

What Joshua said or could you put out info on what you studied so we can take classes?

Alex Seguin

What did you use to identify fiducials? Any AI - machine learning for ball detection?

Grant King

Wow, this video finally got me to subscribe. Would love to see your ideas on extending the move solver into a minmax adversarial engine, especially since you're working in a continuous domain!

stuffmadehere

haha a lot more people that I was expected have tried to go there. Glad I changed the page because my server couldn't handle the load of people on the real page (it updates every 30ms so basically would be a DDOS)

stuffmadehere

Glad you liked it! And thanks for the support, it helps a lot :) I'm planning to put more time into the software - my original goal for the project was to focus on the software but the hardware ended up being such a pain that it became mostly a hardware project.

Dustin. Valiquette

Great I subscribed to help an amazing YouTube channel, now that I am reading the comments I realize most people are engineers and I am dumb

stuffmadehere

Thank you for the support, it really helps me. Also, I highly doubt you're dumb - being an engineer just means that you've spent some time learning a very specific set of things. If you wanted to learn those things you certainly could. If not that's cool too!

Matthieu Balmes

Can you build a rack that goes around the pool table and mount the stick on it so that you could fully automate the game?

Samuel Byström

I know this is an old one but; which microcontroller/PLC are you using that supports python in some of your projects like this one?