Pool Table EECS 125, Fall 2012

14
Pool Table EECS 125, Fall 2012 Akash Jain Franklin Gu Rohan Sachdev

description

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. - PowerPoint PPT Presentation

Transcript of Pool Table EECS 125, Fall 2012

Page 1: Pool Table EECS 125, Fall 2012

Pool TableEECS 125, Fall 2012

Akash JainFranklin Gu

Rohan Sachdev

Page 2: Pool Table EECS 125, Fall 2012

• 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

Page 3: Pool Table EECS 125, Fall 2012

WHY?Assumptions• Perfectly elastic collisions• No spin involved• 100% Accuracy• No Friction• Infinite Force

Page 4: Pool Table EECS 125, Fall 2012

• 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

Page 5: Pool Table EECS 125, Fall 2012

• 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

Page 6: Pool Table EECS 125, Fall 2012

• Image capturing device (camera, phone)• Computer (software processing)

• Software• Matlab

Tools• Pool equipment (table, balls, etc.)

• Hardware

Page 7: Pool Table EECS 125, Fall 2012

• 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

Page 8: Pool Table EECS 125, Fall 2012

• 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

Page 9: Pool Table EECS 125, Fall 2012

• 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

Page 10: Pool Table EECS 125, Fall 2012

• 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

Page 11: Pool Table EECS 125, Fall 2012

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

Page 12: Pool Table EECS 125, Fall 2012

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

Page 13: Pool Table EECS 125, Fall 2012

THANK YOU

Website: http://pooltable-ee125.weebly.com/

Page 14: Pool Table EECS 125, Fall 2012

Questions?