Pool TableEECS 125, Fall 2012
Akash JainFranklin Gu
Rohan Sachdev
• The project goal is to solve the game of pool. • We want to do this by analyzing a pool table
and calculate how the cue ball should be hit.• Our target is to implement this in real pool
situations, where a player can take a picture of the pool table and receive the necessary striking angle.
Project Goals
WHY?Assumptions• Perfectly elastic collisions• No spin involved• 100% Accuracy• No Friction• Infinite Force
• Perfectly Elastic Collision– Momentum is completely transferred to second
ball.– No deformation– Allows for simpler calculations
• No Spin– Not involving spin dynamics allows for simpler
modeling as a robotic arm– Too convoluted for calculations
Assumptions
• 100% Accuracy– Player strikes ball perfectly– Collision occurs at exact point
• No Friction– Allows for power to be irrelevant to equation
• Infinite Force– Simpler modeling and calculations
Assumptions
• Image capturing device (camera, phone)• Computer (software processing)
• Software• Matlab
Tools• Pool equipment (table, balls, etc.)
• Hardware
• Initial Ball Location– Randomized by computer– User selects ball location– Image based placement
• Image Processing– User selects corners– Balls are designated– Homography used to convert from image point to
table point
Process
• Models configuration as a 4-link robotic arm (2 prismatic, 2 revolute)
• Revolute used to rotate segment, prismatic to extend to next joint
• Base is cue ball, joint is target ball, and end effector is the pocket
• Attempts to model using all six pockets and find best path
Process
• If no clear path, attempts to model as 6-link robotic arm (3 prismatic, 3 revolute).
• Base is cue ball, 1st joint is target ball, 2nd joint is point of reflection, and end effector is the pocket
• Attempts to model using all six pockets, and reflection off of all four boundaries
Process
• Once clear path found, uses a combination of inverse kinematics and path planning to find striking angle
• If multiple paths found, evaluates all and algorithm attempts to find best path
Process
Results• Completed basic goal of solving with
only cue ball and goal ball• Included obstruction that ball must
avoid• Involved reflection off of table
boundary if direct path was not possible
• Completed additional goal of involving multiple obstructions target must avoid
Evaluation• Works under all configurations• Randomized placement• User input location• Image based input
• Does not significantly slow down, even as the number of obstructions increases
THANK YOU
Website: http://pooltable-ee125.weebly.com/
Questions?
Top Related