Pool Playing Robot Destined for Trouble in River City

You’d think pool should be an easy game for a robot to play, right? It’s all math — geometry to figure out the angles and basic physics to deal with how much force is needed to move the balls. On top of that, it’s constrained to just two dimensions, so it should be a breeze.

Any pool player will tell you there’s much, much more to the game in real life, but still, a robot to play pool against would be a neat trick. As a move toward that goal, [BVarv] wisely decided on a miniature mockup of a pool-playing robot, and in the process reinvented the pool table itself. Realizing that a tracked or wheeled robot would have a tough time maneuvering around the base of a traditional pool table, his model pool table is a legless design that looks like something from IKEA. But the pedestal support allows the robot to be attached to the table and swing around in a full circle, and this allowed him to work through the kinematics as shown in the charming stop-action video below.

[BVarv] has gotten as far as motion control on the swing axis, as well as on the arms that will eventually hold the cue. He plans overhead image analysis for identifying shots, and of course there’s the whole making it full-size thing to do. We’d love to play a game or two against a bot, so we hope he gets there. In the meantime, how about a little robo-air hockey?

14 thoughts on “Pool Playing Robot Destined for Trouble in River City

  1. As someone who used to play professional competition pool, I would have to say that this design is heading for a number of iterations.

    I love it all the same even for it’s novelty factor as well.

    It would be a good project for CV and neural net learning.

      1. Yeah but, as he said, making pool balls go to places relies on 3D action. And making the balls go in the pockets is the game. It might be 2D in theory, but 3D in practice. Working out the angles is 2D. Then again you could say where to hit the ball is 2D too, since it’s a matter of whereabouts on the circle presented by it, that you hit that matters.

        So if it were me I might program it that way, one module to analyse the table, another to figure out where to hit the ball to get it to behave. But then that relies on calculating things like spin, where the ball won’t just go in a straight line. So that makes the angular calcs more complicated too.

        So the moral of the story is “it’s quite complicated”!

        1. Indeed it’s very complicated when you include spin and arc paths but you don’t have to do that to begin with. The cue ball has a neutral strike point that creates no initial spin.

          There are good pool software emulators out there so it can be done.

  2. It’d be cool if he actually gets it to work, but I doubt he ever will. Pool is much more of an art than a science, since pool balls don’t act like light rays bouncing off of front surfaced mirrors. There’s always friction involved, and it’s enough to throw off even the easiest of shots. Good players a are great at dealing with those, but not so great at explaining how they do it, usually involving words like “just a little bit of” or “a little more of … than you’d think”.

    1. Pool is an art on a public table with public cues. In competition a lot of the difficult variables are removed – consistent nap flow, level table, balanced cue with a symmetrical / spherical tip. I think a micro could do well at determining the ratios and limits.

      As for how to win, it’s actually all about where you leave the white ball positioned after the shot.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s