Teaching Robotics and Computer Science with Pinball Machines
description
Transcript of Teaching Robotics and Computer Science with Pinball Machines
![Page 1: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/1.jpg)
Teaching Robotics and Computer Science with Pinball
Machines
Daniel Wong, Darren Earl, Fred Zyda, Sven Koenig
University of Southern California
![Page 2: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/2.jpg)
Overview
• Games, Robotics, and Education• Pinball Machines and Education• Pinball Project @ USC• Future Work• Conclusion
![Page 3: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/3.jpg)
Games and USC
• Bachelor’s program in CS (Games)• Master’s program in CS (Game
Development)
![Page 4: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/4.jpg)
Games and Education
• Computer Architecture• Algorithms and Data Structures• Networking• Human-Computer Interaction• Artificial Intelligence
– Path Planning– Machine Learning
![Page 5: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/5.jpg)
Games and Education
• Technical skills– Programming skills– Software engineering skills
• Creativity• Design skills• Artistic skills• Problem-solving skills• Teamwork skills
![Page 6: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/6.jpg)
Games and USC
![Page 7: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/7.jpg)
Games and USC
![Page 8: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/8.jpg)
Games and USC
• Gamepipe Demo Day– Attendees have included Electronic Arts, Activision, Blizzard,
Sony Computer Entertainment, Sony Online Entertainment, Digital Domain, Disney (Interactive, Feature Animation, Internet Group), LucasArts, Microsoft, Google, Akamai, 2K Sports, THQ, CNET Networks, Qualcomm, Tactical Language, Seven Studios, iSportGames, Emsense, Creative Artists Agency, Applied Minds, Big Stage, Konami, Pandemic, Insomniac Games, Naughtydog, Northrup Grumman, Steamboat Ventures, TnGames, Sun Microsystems, Motorola Research Laboratories, Humana Innovation Center, Sandia National Laboratories, and Westside Transmedia.
![Page 9: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/9.jpg)
Games and USC
• Increased number of application to Bachelor’s program in Computer Science– 223 in Fall ‘06 to 383 in Fall ’07
• Equal number of CS and CS (Games)• Successful internship placement
– EA, Disney, Blizzard, Activision
![Page 10: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/10.jpg)
Games and Robotics
• Robotics education place emphasis on high-level software
• Use games as motivation to teach robotics
![Page 11: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/11.jpg)
Games and Robotics
• Communication protocol– Serial, I2C, SPI
• Signal generation– PWM
• Interface– To hardware: motors, servos – To sensors: switches, optical sensors
![Page 12: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/12.jpg)
Games and Robotics
Goal• Teach hardware interface• Using games as motivation
• Hardware+Games+Robotics=Pinball Machines!
![Page 13: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/13.jpg)
Outline
• Games, Robotics, and Education• Pinball Machines and Education• Pinball Project @ USC• Future Work• Conclusion
![Page 14: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/14.jpg)
Pinball and Education
• Pinball Machines can be used as a novel platform for teaching CS and Robotic Concepts
![Page 15: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/15.jpg)
Pinball Machines
• Coin-operated arcade game• Backbox• Playfield• DMD
![Page 16: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/16.jpg)
Pinball Machine
![Page 17: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/17.jpg)
Pinball Machine
• Actuators• Sensors• Visual outputs• Pinball Machine is
a simple robot!
![Page 18: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/18.jpg)
Pinball Machine
• DC motor• Electro
-magnets• Upkicker• Solenoids
![Page 19: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/19.jpg)
Previous Work
• In Research– Hybrid system control (Lichtenberg and Neidig, 2003), Machine
Learning
• In Teaching– CS160 “Intro. To Embedded and Real-Time Programming”,
Brown University– ME218a “Smart Product Design Laboratory”, Stanford University– EE476 “Designing with Microcontrollers”, Cornell University– ENEE 488Q “Special Topics in Elec. Eng: Pinball Machine
Project”, University of Maryland, College Park
![Page 20: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/20.jpg)
Pinball and Education
• Teach game design– What makes pinball
games fun?• Teach robotics concept
![Page 21: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/21.jpg)
Pinball and Education
• Easy to maintain• Robust• Simple Low-Level Control
![Page 22: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/22.jpg)
Outline
• Games, Robotics, and Education• Pinball Machines and Education• Pinball Project @ USC• Future Work• Conclusion
![Page 23: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/23.jpg)
Pinball Project
• Modify an existing pinball machine
• Custom games• Flexible hardware
control• Simple API
![Page 24: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/24.jpg)
Pinball Project
• Started Summer ‘08• 2 generations of interface hardware• 1 Pinball game design class• Diverse development team
![Page 25: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/25.jpg)
Timeline
• Summer ‘08: 1st generation interface• Fall ’08: Used in CS499• Spring-Summer ’09: 2nd generation
interface
![Page 26: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/26.jpg)
Implementation
![Page 27: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/27.jpg)
Interface Requirements• Inexpensive• Meet soft real-time need• Portable• Not Permanent
![Page 28: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/28.jpg)
Implementation
• ~$100
![Page 29: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/29.jpg)
Implementation
![Page 30: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/30.jpg)
Implementation
• Event-driven software• Friendly API
installDedicatedSwitchEventHandler(leftFlipper, "Left Flipper Button", kSwitchRising);void leftFlipper(int switchId, std::string description, tSwitchEvent event){
if (event == kSwitchRising)setSolenoid("Left Flipper", 1);
elsesetSolenoid("Left Flipper", 0);
}
![Page 31: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/31.jpg)
Pinhorse
• Fall 08CS499: “Designing and Implementing Games on Pinball Machines”
• 2 students• 1 semester
![Page 32: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/32.jpg)
Pinhorse
• Lack of multiplayer gameplay– No time restriction– No direct influence
• Goal:– Players influence each other– Limited Time
![Page 33: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/33.jpg)
Pinhorse
• Modeled after Horse in basketball– Player 1 makes shot– Player 2 tries to replicate shot
• 1 minute turns
![Page 34: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/34.jpg)
Pinhorse
![Page 35: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/35.jpg)
Outline
• Games, Robotics, and Education• Pinball Machines and Education• Pinball Project @ USC• Future Work• Conclusion
![Page 36: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/36.jpg)
Future Work
• Formal evaluation• Ball tracking• Complex, engaging game• Explore other pinball machines• Hybrid pinball game
![Page 37: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/37.jpg)
Future Work
• New collaboration withUniversity of Alberta
• Implement ScriptEase module– ScriptEase: Model for AI scripting
• Implement high-performance player
![Page 38: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/38.jpg)
Conclusion
• Games can motivate CS curriculum• Robotics education focus on high-level• Pinball Machines can be used as a novel
platform for teaching CS and Robotics
![Page 39: Teaching Robotics and Computer Science with Pinball Machines](https://reader035.fdocuments.us/reader035/viewer/2022062521/568167dd550346895ddd3bb5/html5/thumbnails/39.jpg)
Resources
• Web: idm-lab.org/pinball• Sven Koenig, [email protected]• Daniel Wong, [email protected]
Thank you!
The pinball project was supported in part by a grant from the USC Fund for Innovative Undergraduate Teaching and the National Science Foundation under Grant No. 0113881. Daniel Wong was supported by the USC Undergraduate Merit Research Program and the Rose Hills Foundation.