
WELCOME TO POOLSHARK: THE PREMIER BILLIARDS BOT

All Videos

WHAT IS POOLSHARK?
PoolShark is an autonomous billiards playing bot created for ME 102B, Spring 2018. The mechanics involve a sliding mechanism that moves in the table's X-Y plane and is operated by servos, motors, and electromagnets. The hammer is also able to rotate about a Z-axis, covering a full 180 degrees in its shot. Computer vision from a mounted webcam communicates the location of each pool ball and an optimal shot is found, but the bot may also be operated manually through a graphical user interface.
DESIGNING POOLSHARK
We broke down the design of our bot into a few different parts by asking ourselves a few questions. How will our bot interact with the pool table? How will it hit the ball? How will it locate the balls to hit? How will we optimize the shot? Ultimately, PoolShark identifies balls through a webcam and communicates the location to the bot and optimizes the shot that is made by releasing a hammer held up by electromagnets.

MECHANICAL DESIGN
The XY table was designed for robustness against misalignment binding and to minimize cost. Actuation is achieved with stepper motors and timing belts. All components were machined in-house, including the rails.

HAMMER MECHANISM
The hammer mechanism utilizes a system of servos, torsional springs, and electromagnets to hit the cue ball at velocities up to 3.5 mph. Once positioned over the ball, the servo can raise the hammer upwards of 90 degrees before the electromagnets release, allowing the hammer to fall and strike the ball. The torsional springs are used to increase the hammer velocity.
ELECTRONICS
Webcam images are processed in MATLAB, then commands are sent to an Arduino through a MATLAB interface. The stepper motors are controlled with the Adafruit Motor Shield for Arduino, and two Teensy boards ran feedback loops for velocity control of the servos.

VISION SYSTEM
For our vision system, we used a Logitech web camera mounted onto an adjustable stand that we clamped next to our pool table. With MATLAB, we ran a code to identify the table as the background image. Once the balls are on the table, a function is able to identify the balls and communicate the location to the bot so that it adjusts to the correct x-y location, with one corner of the table set at zero.

All Videos
MEET THE POOLSHARK TEAM

MARK HEDREEN
B.S. Mechanical Engineering, c/o 2018
Mark Hedreen (right) is a graduating senior. For this project, he helped create the MATLAB aiming algorithm. He plans to further pursue his interests in Mechanical Design and CAE.
NATHAN JENEST
B.S. Mechanical Engineering, c/o 2018
Nathan is a senior graduating this spring with his BS in Mechanical Engineering. While at Berkeley, he was on the Formula SAE team where he worked on structural design for the aerodynamics system. For PoolShark, he worked on concept and detailed design for the hammer mechanism. Nathan is working in San Francisco this summer with a satellite start up, Astranis, and then will continue his studies at San Jose State University to pursue an MSME this fall.


SEAN LUNA
B.S. Mechanical Engineering, c/o 2018
Sean is a senior in Mechanical Engineering and graduates in May 2018. During his time at Berkeley he designed aerodynamic wings for the UC Berkeley Formula SAE racecar and served as aerodynamics lead. He was responsible for the XY positioning system design and manufacture as well as overall system integration. He will intern at SpaceX this summer then return to UC Berkeley to pursue his MSME degree.
SAM PLISKA
B.S. Mechanical Engineering, c/o 2018
Sam is currently a senior set to graduate in May 2018 with a Bachelor's degree in Mechanical Engineering. During his time at Berkeley, performed research looking at inter-vertebral disc deterioration, participated on the UCB Steel Bridge team and played for the California Lacrosse team. For this project, he focused on the hammer mechanism. He will intern at Acorn PD over the summer and will begin pursuing his MSME degree at Stanford University in the Fall.


RACHELLE ROSANO
B.S. Mechanical Engineering, c/o 2018
Rachelle is finishing up her fourth year and is set to graduate in May 2018 with a Bachelor's degree in Mechanical Engineering. During her time at Berkeley, she has done research at the FLOW Lab, played intramural volleyball, and spent lots of her free time with her engineering fraternity. For this project, she focused mostly on the computer vision system in MATLAB. She will start working at Applied Materials in July 2018.


