9
Pool Player Bot Final Presentation Jiaying Zhang Mechanical Engineering

Pool Player Bot Final Presentation Jiaying Zhang Mechanical Engineering

Embed Size (px)

Citation preview

Page 1: Pool Player Bot Final Presentation Jiaying Zhang Mechanical Engineering

Pool Player BotFinal Presentation

Jiaying Zhang

Mechanical Engineering

Page 2: Pool Player Bot Final Presentation Jiaying Zhang Mechanical Engineering

Camera

ComputerRobot

Integrated System

DroidCamApp

Xbee

Serial Port

Img process

OpenCV

Page 3: Pool Player Bot Final Presentation Jiaying Zhang Mechanical Engineering

Board

Epiphany DIY

Actuation

Gear Motor (x2)•To drive the robot

Servo(x2)•To rotate and extend the cue

Solenoid•To strike the ball

Sensor

IR Sensor (x2)•To detect the pool table corner

IP Camera•To detect the balls and cue position

Feedback

LCD

Mobile Platform Components

Page 4: Pool Player Bot Final Presentation Jiaying Zhang Mechanical Engineering

Behavior Analysis

Step 1 :Robot Initialization Step 2 :Cue Paralleling

Blue cue tip position (X1,Y1)White ball position (X2,Y2)Objective ball position (X3,Y3)

double a=posY3-posY2;double b=posX3-posX2;angle=atan(a/b)*180/3.1415926;

Send angle signal to robot;Step=3

Page 5: Pool Player Bot Final Presentation Jiaying Zhang Mechanical Engineering

Behavior Analysis

Step 3 :Robot Moving Step 4 :Cue Approaching Step 5 :Strike the ball

if(posX1>(posY2-posY1)*posX3/(posY2-posY3)+(posY1-posY3)*posX2/(posY2-posY3)-20 && posX1<(posY2-posY1)*posX3/(posY2-posY3)+(posY1-posY3)*posX2/(posY2-posY3)+20 )

{send stop signal to robot;Step=4}

If (step=4)double c=(posX2-posX1)*(posX2-posX1);double d=(posY2-posY1)*(posY2-posY1);double dis=sqrt(c+d);

if (dis<20 && dis>15){send strike signal to robotStep=5}

Page 6: Pool Player Bot Final Presentation Jiaying Zhang Mechanical Engineering

Human-Robot Interface

Page 7: Pool Player Bot Final Presentation Jiaying Zhang Mechanical Engineering

Working Process

Robot initializes

People select an objective ball on computer screen

Robot moves along one side of the pool table

Robot tries to shot the selected objective ball

Robot initializes

Page 8: Pool Player Bot Final Presentation Jiaying Zhang Mechanical Engineering

Problems & Vision

• Limited striking range: cue tip is easy to move out of the camera range when the striking angle is very large. While on the other side, if the white ball is very close to the edge, the cue is not able to reach it.

• Not able to move around the pool table which causes people to put the balls at reachable position to serve the robot otherwise it will not finish the task.

• Low precision: the robot moves after the cue is turned an angle. If the wheels do not go a straight line it will cause some problem. Needs to add more function in OpenCV program.

• Frequent communication with computer by Xbee. When the surrounding has too much signal noise, the robot is easy to miss some signal and cannot finish the task.

• Do not detect holes: more work needs to do if the color balls are far from the holes or at special angles.

Page 9: Pool Player Bot Final Presentation Jiaying Zhang Mechanical Engineering

Thank You!

Jiaying Zhang

Mechanical Engineering

https://sites.google.com/site/poolplayerzjy/