Kedar Hiremath Andrew Floren Josh Armstrong Matt deWet
Overview of Presentation Introduce the Configurable Laser Tag System Design and Implementation Problems Encountered Cost and Other Considerations Conclusion and Recommendations Questions?
Standard Laser Tag Simulated gun combat using infrared beams Problems: Limited Strategy Limited Teamwork Repetitive Low Replay Value
Solution: Add Configurability! Ability to customize the game Create different gametypes & objectives Modify behavior of game devices Improvements: -Objective-Based Gameplay -Complex Tactical Strategy -Teamwork Required -High Replay Value Screenshot from Halo – Capture The Flag
System Needs Basic laser tag functionality Wireless communication across devices Game scripting system Ability to script game Intuitive drag-and-drop GUI Robust compiler & linker Remotely initialize all game devices
System Needs Ability to play indoors & outdoors Minimal power usage (max battery life) Low consumer costs Low prototyping costs
Commercial Laser TagConfigurable Laser Tag Simulated gun combat Score Aggregation Objective-Based Play Configurable Devices Scriptable Gametypes Feature Comparison
Design Overview Two devices necessary for basic laser tag Tagger Necessary for tagging other players Transmits IR data Pack Necessary for sensing when a player is tagged Receives IR data
Design Overview In order to meet design objectives we need two additional devices Central Computer Keeps track of game state Enforces rules Communicates via RF Pylon Need stationary devices for players to interact with Functionality dependent on gametype
Scale of Project Four completely separate devices IR communication RF communication USB communication Scripting language Complex software running on all devices
System Communication
IR Communications Hardware Chose matching lens diameter and focal length Protocol Designed 23 bit IR packet Error Handling Added 6 bit hamming code for error correction TEAM IDPLAYER ID EVENT ID 40KHz Wave TSOP4840 IR Receiver TSAL6100 IR LED WPN DMG
RF Communication Hardware Using ONE-NET schematics Protocol Using ONE-NET protocol Allows multiple devices to share a single channel Uses acknowledgment packets to guarantee delivery
Scripting System Making scripting easy Think LabVIEW or Lego Mindstorms Basic structure Triggers & Primitives Basic logic How do we accomplish this? Internal representation? Interpreter?
Scripting System Example Example C code Equivalent Syntax Tree void takeDamage(int amount, int shooterId) { if(!isDead) { if (HP > amount) HP = HP - amount; else { HP = 0; die(shooterId); }
Scripting System Example Example Syntax Tree XML Representation
Implementing Scripting Have a back-end representation This must run on microcontrollers Need to convert XML to executable code
Implementing Scripting Drag-and-Drop GUI Abstract Syntax Tree (XML) XML Parser Compiler Linker Code Generation
Compiler & Linker Tasks Lexical Analysis / Parsing Preprocessing Semantic Analysis Linking within scripts Linking between multiple scripts Code generation Fix for microcontrollers Compiling is messy
Compiler & Linker Huge amount of work lines of code Written in C++ Used only XML parsing library Completed!
Interpreter GUI: User-drawn nodes XML script Compiler: XML script Data structures Interpreter: Run data structures
Interpreter GUI: User-drawn nodes XML script Compiler: XML script Data structures Interpreter: Run data structures Low level code to run on microcontrollers Control devices based on script Primitives & Triggers Event infrastructure
Interpreter GUI: User-drawn nodes XML script Compiler: XML script Data structures Interpreter: Run data structures Programmer/Flasher?
Remote Programming Need to load scripts onto microcontroller via RF Central computer listens for new devices Send initialization data Keep list of active devices Interrupts must be disable while flashing Created packet request mechanism
Major Changes Changed wireless module to XBee Modules pre-built Protocol nearly identical to ONE-NET Switched from crystal oscillator to timer circuit Timer circuit far more reliable Switched microcontrollers twice First to consolidate to a single type of microcontroller Second to increase RAM and IO pins
Device Design – Central Computer
Device Design - Tagger
Device Design - Pack
Device Design - Pylon
Device Casing
Work Completed IR communication Protocol, software, and hardware RF communication Software and Hardware PCBs Pack Tagger Pylon Central Computer
Work Completed LCD interface High level scripting language Parser, compiler, and linker Ability to flash compiled script Script interpreter Remote procedural calls
Work Remaining System integration IR and timer code Power circuit Script gametypes GUI for admin and scripting front end
Problems Encountered BDM Programmer PCB Problems Vdd and Vss Footprints Power circuit Via sizes
Hardware Testing System testing Incomplete hardware Module testing Pack, Tagger, Central Computer, and Pylon Component testing ICs and passives
Demo Milestone Protoboard Demo Tagger Pack Central Computer RF, IR, LCD All working
Compiler Testing
Project Scale Project was huge 12 hours per week to start 48 hours per week for last 5 weeks Plus other classes!
Past Costs ItemCost LCD, 10 IR Leds, 4 IR recievers$25.80 RF Parts$12.59 PCBs over the summer$85.00 Breakout Board$12.49 PVC$12.24 USB controller$18.00 IR mounting$88.95 Crystals for IR$13.00 Shipping costs$17.14 TOTAL$285.21
New Costs ItemCost Final order from Digikey$ Wires and connectors from pololu.com $ Jameco - IR circuit & various parts$30.62 Final ordered PCBs$ Final order from Mouser$ Final order of LCDs$39.42 RadioShack Purchases$40.78 TOTAL$595.20
Cost to Others Oscilloscopes Power supplies Countless parts checked out Resistors Capacitors Programmer Soldering Iron Breakout boards
Safety and Ethics IR safety Low power RF safety Low power FCC approved bands Entertainment device Failure is not dangerous
What We Learned USB communication and bus-power Send/receive encoded IR signals Send/receive encoded RF packets Design a language, XML parser, compiler and linker
What We Learned Solder SMT prototypes Efficiently design and layout circuits Conserve space Effective teamwork
Recommendations Do not tear down – make continual progress If possible, get components that run on the same voltage Do not try to re- invent the wheel
Recommendations Compromise between low prototype cost and low product cost Remember: it is a prototype, not the end product Prioritize the essential parts Do not leave the power system until the end
Conclusion The Configurable Laser Tag System Introduces customizable objective-based gameplay Is a complex integration of Configurable devices Communication protocols Game scripting software
Conclusion If any one subsystem is not functioning, the system as a whole will fail to operate Despite the problems we encountered, we learned a lot, worked hard, and completed a significant portion of the work