140 likes | 270 Views
Pool Table EECS 125, Fall 2012. Akash Jain Franklin Gu Rohan Sachdev. Project Goals. 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.
E N D
Pool TableEECS 125, Fall 2012 Akash Jain Franklin Gu RohanSachdev
Project Goals • 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.
WHY? Assumptions Perfectly elastic collisions No spin involved 100% Accuracy No Friction Infinite Force
Assumptions • 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
Tools Hardware Pool equipment (table, balls, etc.) Image capturing device (camera, phone) Computer (software processing) Software Matlab
Process • 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
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/