Single Player Foosball Table with an Autonomous Opponent ECE 4007 Senior Design Team FIFA Dr. James Hamblen Michael Aeberhard Shane Connelly Evan Tarr Nardis Walker Final Presentation December 10 th, 2007
ECE 4007 Team FIFA School of Electrical and Computer Engineering Project Overview Successfully implemented an autonomous foosball table Total parts cost: ~$710 Player assumes one side, a computer controls the other side Tracking through computer vision Control players with servos
ECE 4007 Team FIFA School of Electrical and Computer Engineering System Overview Servo Controller Board Webcam Servo Assemblies Image Processing Computer USB 1.1 RS-232 UART and PWM Unworthy Human Opponent
ECE 4007 Team FIFA School of Electrical and Computer Engineering Image Processing Use webcam for image input SPC-900NC chosen, but specs were falsified USB 1.1 allowed maximum 30 FPS Java Media Framework for image processing Localization and prediction performed in real time Processing kept in lockstep with frame acquisition Both ball and opponent players tracked
ECE 4007 Team FIFA School of Electrical and Computer Engineering Servo Controller Board Servo controller board communicates with PC and the servos AX-12 digital and HS-81 PWM servos RS-232 UART communications with PC Separate microcontrollers for each PWM servo Designed a manufacturable PCB
ECE 4007 Team FIFA School of Electrical and Computer Engineering Servo Controller Board
ECE 4007 Team FIFA School of Electrical and Computer Engineering Servo Controller PCB
ECE 4007 Team FIFA School of Electrical and Computer Engineering PC-Controller Communication UART data communication between PC and microcontroller at kBit/s Java CommAPI used for PC serial communication Custom communication protocol Data bits for communication message 1 0 0Servo IDPositional Data 1 0 1Command Identifier Servo Control Special Command Control Bit
ECE 4007 Team FIFA School of Electrical and Computer Engineering Mechanical Assembly
ECE 4007 Team FIFA School of Electrical and Computer Engineering Mechanical Assembly
ECE 4007 Team FIFA School of Electrical and Computer Engineering Prototype Results Prototype successfully implemented basic foosball gameplay elements Trajectory prediction Continuous blocking alignment Offense/midfield lift up to create a clear shot at proper time Players attempt to kick when the ball is near
ECE 4007 Team FIFA School of Electrical and Computer Engineering Demonstration Video
ECE 4007 Team FIFA School of Electrical and Computer Engineering Technical Specifications ItemSpecification GoalsDemonstrated Specifications Camera frame ratemin. 60 frames per second30 frames per second Camera resolutionmin. 30 pixels per sq. in.39.5 pixels per sq. in. Localized ball tracking success rate80% of frames minimum93% of frames Kick rate (ball velocity)up to 10 feet per second1.5 feet per second Lateral player speedup to 2.5 feet per second0.77 feet per second Lateral player position resolutionat least 1 cm0.228 mm Move and kick success rate75% of attempts minimum33% of attempts Unopposed goal rate50% of attempts minimum10% of attempts Goalie blocking success rate 90% of attempts minimum72% of attempts Reaction time from webcam200 ms maximum100ms
ECE 4007 Team FIFA School of Electrical and Computer Engineering Milestones MilestoneProjected DateDate Met Preliminary parts search and selection of proper motors9/078/28 Initial parts order made9/129/5 Complete Proposal9/179/12 Foosball table built9/159/19 Basic AX-12 servo to microcontroller communication9/2810/3 Basic vision processing completed10/710/3 Basic mechanical design completed, begin implementing10/0310/10 Initial mechanical assembly of 1 handle completed10/1210/17 PWM to microcontroller communication10/1510/24 Completed PC to microcontroller communications10/1511/7 Completed assembly of all 4 handles10/2411/28 Final component integration and testing completed11/2112/6
ECE 4007 Team FIFA School of Electrical and Computer Engineering Future Improvements Redesign with CMOS camera and FPGA Reduce camera latency Improved software efficiency Better mechanical design Larger gears for faster lateral movement Some sort of belt-driven or pulley system Stronger, more reliable servos or motors (requires larger budget) Improved AI and prediction algorithms More gameplay features External digital scoreboard Variable difficulty settings