440 likes | 614 Views
Design and Build of a Robotic Ping Pong Player. Team Members: Brett Morris, Jarrad Springett, Jamie Mackenzie, Ryan Harrison Supervisor: Frank Wornle. Introduction Presentation Jamie Background Project Outline Initial Research Project Goals Arm Design Frame Table Brett Modelling
E N D
Design and Build of a Robotic Ping Pong Player Team Members: Brett Morris, Jarrad Springett, Jamie Mackenzie, Ryan Harrison Supervisor: Frank Wornle
Introduction Presentation Jamie Background Project Outline Initial Research Project Goals Arm Design Frame Table Brett Modelling Dynamics Control Jarrad Vision System Individual Camera Calibration Combined Camera Calibration Real-time Image Processing Engine Ryan System Overview Hardware Overview Microcontroller Overview Summary Conclusion and Future Work Questions? Seminar Structure
Background • Began in AT&T Bell Labs in the 1980’s • Constructed under ‘ROBAT’ rules • Slows game • Controls game • Not a purpose designed and built robot • Several other attempts • Types of robot (XY plotter, Japanese version) Andersson (1988)
Project Outline • A robot that plays ping pong? • Totally independent of human interaction • Vision, brain and limb all in one package • Use the increase in technology to improve on the design from AT&T Bell Labs • Combining together all parts • Working in unison Megaspin.net (2005)
Initial Research • Book by Russell L. Andersson • No specific information published • Each section treated separately • Mechanics • Vision • Control • Built up our own library of references MIT Press (2005)
Project Goals • Vision System • Detect a ping pong ball and predict its trajectory (minus bounce) to within an area no larger than the robot bat with good repeatability. • Control System • Plan a collision free arm trajectory and generate suitable control signals for local position/velocity control using microprocessors. • Mechanical System • Design a robot arm which is capable of reaching all required positions and orientations within its workspace without undesired bending/flexing motion. Selection of motors with sufficient power to achieve this.
Arm Design • Starting from bat and finishing at the base • Loop which needs to be broken • Considerations: • Weight • Vibration • Workspace • Shot Angle • Based on other robot designs Adept (2005)
Final Design • Major Features: • Parallel • Light weight materials • Motor selection • Motor placement • Bearings • Face-on design • Couplings • Pulleys • Not a final design and should be remodelled next year
Motors • MAXON MOTORS • Light weight • Powerful • Gearbox combination • Encoder combination • 1 x servo motor • 2 x 6.0W motor • 2 x 70W motor • 1 x 90W motor
Pulleys • Allow the robot to remain parallel • Reduce the amount of inertia on later motors
Parallel Construction • Allows the robot to make symmetric movements • Shares the load between all motors • Simplifies kinematics
Robot Frame • Will bear the weight of the robot • Independent of all other physical systems to isolate vibration • Damping system to reduce vibration • Cage to prevent accidental human contact
Robot Table • Complies to the rules of “ROBAT” • 0.5m squares to hit through • Slows down and controls match • Could possibly be built in two halves
Modeling, Dynamics and Control • Kinematic Design • Dynamic Modeling • Control System • Real-time Implementation
Robot Kinematics • Finding and defining an arm design that is capable of playing the required shots • Generating trajectories that coordinate all six degrees of freedom to produce the desired motion at the end effecter
Dynamics • Calculated using Newton-Euler Equations • Generates the torques acting on each link given each links state • Requires a detailed physical model of the robot
Torques required to perform the desired trajectory calculated for each robot iteration The max torque from each joint was used for motor selection Dynamics
Open loop using inaccurate plant Control System Testing
Closed loop using inaccurate plant Control System Testing
Real Time Implementation Check Cameras Check for users commands Speed 300 cycles per second Convert torques To current Calculate new trajectory Evaluate desired joint states Evaluates joint torques Receives actual joint states Calculates new set point
Vision System • Objective • Transmit ball location to control computer, quickly and accurately • Application • Real-time 3D sensing and prediction for robotic applications • Components • Individual camera calibration • Combined camera calibration • Real-time image processing engine
Individual Camera Calibration • Objective • Generate a vector associated with each camera pixel • Vector field generation technique • Accuracy
Individual Camera Calibration Primary screen Multimonitor output
Individual Camera Calibration Multimonitor output Primary screen
Combined Camera Calibration • Objective • Determine camera position and orientation transforms with respect to each other • Camera transform generation technique • Accuracy
Real-time Image Processing Engine • 2D image preprocessing • Blurring reduces high frequency image noise • Decontrasting reduces lighting effects • Centroid identification • Maps 3D points from multiple vectors • Serial or TCP/IP Output
Real-time Image Processing Engine • 2D image preprocessing • Blurring reduces high frequency image noise • Decontrasting reduces lighting effects • Edge detection algorithms created for more detailed scene analysis
Shortest Distance Between Correlated Skew Lines in 3D Ping Pong Ball Stereo-Derived Distance Camera Axis Camera Axis Real-time Image Processing Engine • Mapping 3D points from multiple vectors
Vision System Control System Micro- controller System Overview Vision System Control System Microcontroller Business Link, (2005) Electric Motor Warehouse, (2005) Unibrain, (2005)
Communication • Simple Serial Interface • Control system acts as “host” • One connection to microcontroller • One connection to vision system • Data from vision system sent at 30Hz • Data to microcontroller sent at 300Hz
Hardware Overview Analog signal 8bit PWM Microcontroller Microcontroller Low pass filter Low pass filter 16bit PWM Desired currents Current control Current control 10bit Input Amplifier Servo Motor Encoders DC Motors 5V Amp 240V AC
Microcontroller overview [Return] Main (idle) Update display Low priority tasks Comm processing Receive/send data Decode received data Update required currents [Data received or transmission ready] [Return] [Encoder movement] [Return] [Return] Timer tick Guaranteed tasks Motors updated Update soft. timers Encoder interrupt Process encoder state Update joint positions [Return] [Timer interrupt] [Encoder movement] [Return] [Encoder movement] low priority medium priority high priority
Microcontroller overview • Processes encoder data rapidly, at a rate of order 10kHz per encoder. • Receives communication data at 5000Hz, and processes this data at 300Hz. • Updates the motor output at 600Hz.
Summary • Control kinematics/dynamics and simulation • Robot design • Vision system • Control circuitry
Conclusions and Future Work • Feasible design • Requires more time to complete • Viable project for continuing work