Laser ShotIntroductionBlock DiagramDot FinderDot Finder AlgorithmDot Finder AlgorithmDot Finder Block DiagramDot Finder – Center of MassDuck Hunt SystemDuck Hunt System - Cloud GeneratorDuck Hunt System - Bush GeneratorDuck Hunt System - Bush FSMDuck Hunt System – Score KeeperDuck Hunt System - Duck ModulesDuck Hunt System - Duck ControllerDuck Hunt System - Video ControllerDuck Hunt System - Audio ControllerTimelineMaterials NeededDot Finder – Potential IssuesLaser ShotA Video-based Alternativeto Arcade Light GunsBy Tiffany Chen, Spencer Sugimoto, and Paul YangIntroduction Dot Finder Duck Hunt System Potential Issues Materials NeededBlock Diagramdisplaygameover3score_rgblifetv_in_ycrcbthresholdsetcorner_selectvcounthcountDot FinderxypixelDuckcloud_speedCloudVideo ControllerScoreKeeper3duck_rgbduck_enablecloud_rgb3score_enableBushbush_selectbush_rgb3triggerAudio handlerSpeakerDot Finder Goal: Given an camera view of the screen with the laser dot, find the coordinates of the dot on the screen.What the Camera SeesScreen Location of DotDot Finder Algorithm Remove blue, green Apply a thresholdDot Finder Algorithm Find the center of mass of resulting dot Apply a perspective transformation of the form(x,y) – coordinates of dot in camera image(X,Y) – coordinates of the dot on the screena,b,c,d,e,f,g,h – calibration coefficients11Perspective Transform Estimation - <http://alumni.media.mit.edu/~cwren/interpolator/>Dot Finder Block Diagramtv_in_ycrcbx XCenter of MassCoordinate Transformerthreshold y YCalibration Screen GeneratorsetCalibration Coefficientsa,b,c,d,e,f,gcorner_selectpixelvcounthcountDot Finder – Center of MassNTSC Decodertv_in_ycrcbfvhy rycrcbcr gPixel x,y CounterYCrCb2RGBRedFiltercb bx xy yxyredxxPoint Averagethreshold yThresholdyvDuck Hunt System 800 x 600, 60 Hz display Shoot ducks before time runs out Features Animated ducks and bushes Sound effects Score keeping & timingDuck Hunt System - Cloud Generator Clouds move at constant speed across the skycloud_controllercloud_speedcloud_imagecloud_rgbto & from video controllercloud_ROM15 KBcloud_addr3Duck Hunt System - Bush Generator Bushes are hard coded onto the screen Bushes sway left and right each second If a bush is selected, bush shuddersfrom random number generatorbush_selectbush_controllerbush_rgbto video controller3bush_imageaddrbush_romDuck Hunt System - Bush FSMexpireState 00:Bush RightState 01:Bush LeftState 11:Up Leftexpirebush_selectFSM ComponentState 10:Up Right Default progression-bushes sway left and right If bush_select ever goes high, bush shuddersbush_selectexpireexpireDuck Hunt System – Score Keeper Increments score whenever a duck is shot Displays current score Counts down time Indicates a game overlifefrom duck_controllerone_hz_enable score_rgbfrom second_timerscore_keeperto video_controllerscore_enable gameoverfrom video_controllerto video_controllerto audio_controllerDuck Hunt System - Duck Modulesto & from video controllersecond_timerduck_enableduck_rgbone_hz_enable3expireduck_addrduck_imagetimerappear_enableduck_ROM45 KBappear_counterappearduck_controllerr_interval_enabler_intervalxyfrom dot finderr_bush_enabletriggerrandom_number_generatorbush_selectto score keeper, audio handlerlifespeed enableduckspeedto bush generatorspeed_determinationDuck Hunt System - Duck ControllerState 00:Wings UpState 01:Wings DownState 10:Dieexpireexpire~life~lifeappear Compares x & y coordinates of laser dot to duck coordinates Takes 3 shots to kill duckFSM ComponentDuck Hunt System - Video Controller Priority encoder Ensures ducks hide behind bushes & clouds Outputs pixel RGBs Controls image transparencydisplaypixel3bush_rgbcloud_rgbcloud_speedvideocontrollerscore_rgbscore_enablegameoverduck_enableduck_rgbDuck Hunt System - Audio Controller Sound Selector Chooses sound to output to speaker Duck death, Laser shot, Bush rustle, Gameover, Duck Flappinggameoveraudio_handleraddr = (x || y) ? shot :life ? shudder :death;(from Scorekeeper)triggersound(from Dot Finder)Speaker4life(from Duck Handler)sound_dataaddraudio_rom144 KBTimeline 11/22 Center of Mass Module fully functional, Duck module basic functionality 11/29 Dot Finder fully functional; Duck and Video Controller fully functional; Bush module, scorekeeping, and Audio fully functional 12/4 Initial integration of dot finder & duck hunt system 12/11 finish debugging & final checkoffMaterials Needed NES Light “Zapper” Gun 5mW Red Laser Pointer 10mW Green Laser Pointer Plastic Sheet Fine-Grit SandpaperDot Finder – Potential Issues Reflectivity - Dot must be brightest object on screen LCD reflectivity may not reflect laser strongly enough Use a diffusive reflector overlay or brighter laserNoise - Assumed noise was low enough such that the threshold filter would be sufficient If not, and mean or median filter will be necessary Other Over saturation of image Difficult perspective transform Accuracy Blurring of dot due to exposure
View Full Document