Motivation Extension of the Ping Pong Shooter from Team 2 of
Spring 2005 Inspiration: to develop training equipment for ping
pong players.
Slide 4
Objectives To strike a vertically launched ping pong ball.
Launch a ping pong vertically at various heights Visually locate
the launched ping pong ball Process data to determine balls
position and velocity Develop trajectory for paddles motion Design
a controller to track the desired path
Slide 5
Specifications Step response: Steady State Error0.195% Percent
Undershoot 12.58% Rise Time 0.43 s Settling Time 1.43 s Other
Specifications: Range of Motion (Pan) -80to +100 Range of Motion
(Tilt) 0to +90 Payload 200 grams Noise Tolerance 95% Weight of the
System is ~1Kg Commercial Cost $2462.75 Speed is 8rad/sec for pan
and for tilt 10rad/sec Images processing rate 30 frames/second
Sampling time for the controller 10 micro sec
Slide 6
Design Approach Modeling Control Design Launcher Vision Physics
Model Trajectory Generation Integration
Slide 7
Modeling General Equation of Motion Disconnect between model
and system A simpler model was pursued
Slide 8
Modeling Simplified Equation of Motion Steady State Friction
Identification Transient Response Inertia
Model Validation Closed loop response Differences between model
and system The final model was useful in understanding the system,
but control design was done on the actual system.
Slide 12
Control Design Control applied using the FPGA PID block in
LabVIEW. The PID for set point control with sampling of 100
microseconds, 512 proportional for pan and tilt, 3/128 integration
for pan and 1/128 for tilt. Swing controller pan 10 microsecond
sampling, proportional 1792, derivative 7/128, derivative control
may not have much affect with such a high sampling rate.
Slide 13
Control Design
Slide 14
Slide 15
Launcher Final Design Ball Support Multiple Balls Performance
Launch Height Verticality
Slide 16
Vision Collect frames at 30 frames per second, threshold the
individual images and filter out small objects, to remove dust and
the black balls reflecting light back to camera. Check for ball in
frame, first time records the position and time of image after 2 nd
image of ball subtracts position and time from previous image to
determine velocity
Slide 17
Vision Used LabVIEW Vision Assistant to make calibration
information image from a image of a dot matrix in the plane of the
launch, with black dots at a known distance from each other fed to
LabVIEW.
Slide 18
Physics Model Ball Motion 1D Motion Initial Velocity
Position/Time Calculations Air Resistance Time Until Swing
Slide 19
Trajectory Generation The choice of start and end positions
Development in Trajectory Ability to choose between
trajectories
Integration A laptop is used as a host to connect to the web
cam and retrieve images of the ball and calculate position,
velocity and time to swing information from physics model. Laptop
communicates to begin the swing to the CRIO using VI Server,
breaking the CRIO out of a set point loop into the swing signal
loop. The CRIO was used as a Real Time system to control the FPGA
and to send the swing path and set points to FPGA at 1 kHz. The
FPGA is used for control of the system and monitoring the position
and velocity
Slide 22
Integration Testing Subsystem Overall System Uncertainty
Launcher Physics Model Swing Time Strike Zone
Slide 23
Results Probability of successful striking Demonstration
Video
Slide 24
Probability of Successful Striking
Slide 25
Slide 26
Video Demonstration
Slide 27
Assessment Ball Launching Inconsistent launch Vision/Physics
Model Reliable for successful launches Trajectory Generation and
Tracking Accurate tracking of trajectory Overall Success
Slide 28
Conclusion Recommendations for improvement Improvements to
launcher would greatly benefit the rest of the system Ability to
aim ball toward target zones State-space control