Live Action First Person Shooter Game Patrick Judd Ian Katsuno Bao Le.

Slides:



Advertisements
Similar presentations
1.Obtain laser pointer coordinates 2.Send laser pointer coordinates to laptop through the PS/2 port 3.Pixel Mapping between camera image and laptop screen.
Advertisements

Computer Architecture
Categories of I/O Devices
Autonomous Tracking Unit John Berglund Randy Cuaycong Wesley Day Andrew Fikes Kamran Shah Professor: Dr. Rabi Mahapatra CPSC Spring 1999 Autonomous.
1 ECE 372 – Microcontroller Design Parallel IO Ports - Outputs Parallel IO Ports E.g. Port T, Port AD Used to interface with many devices Switches LEDs.
Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
Developing Video Applications on Xilinx FPGAs
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
© 2003 Xilinx, Inc. All Rights Reserved Debugging.
MotoHawk Training Model-Based Design of Embedded Systems.
PDACS Midterm Presentation Michelle Berger John Curtin Trey Griffin Aaron King Michael Nordfelt Jeffrey Whitted.
© 2004 Xilinx, Inc. All Rights Reserved Implemented by : Alon Ben Shalom Yoni Landau Project supervised by: Mony Orbach High speed digital systems laboratory.
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Part A Final Presentation.
Design and Development of High Performance PC Based Logic Analyzer MSc Project by Rab Nawaz Advisor: Dr. Shahid Masud.
VirtexIIPRO FPGA Device Functional Testing In Space environment. Performed by: Mati Musry, Yahav Bar Yosef Instuctor: Inna Rivkin Semester: Winter/Spring.
Zach Allen Chris Chan Ben Wolpoff Shane Zinner Project Z: Stereo Range Finding Based on Motorola Dragonball Processor.
המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל Technion - Israel institute of.
Computer System Overview
1 Color Discriminating Tracking System Lloyd Rochester Sam Duncan Ben Schulz Fernando Valentiner.
Virtual Target Practice Marc Jabbour - Mike Swanson – Joe Tucci –
Coordinate Based Tracking System
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Midterm Presentation.
Ahmed Abdel-Fattah Jerry Chang Derrick Culver Matt Zenthoefer.
HW/SW Co-Design of an MPEG-2 Decoder Pradeep Dhananjay Kiran Divakar Leela Kishore Kothamasu Anthony Weerasinghe.
Capstone PDR Fall 2005 Paintball Gun IR Sensing and Tracking Team Doki Doki: Matt Freeman (EE) James Kirby (ECE) Juan Rivera (EE)
Timers and Interrupts Shivendu Bhushan Sonu Agarwal.
10/31/2008EECS150 Lab Lecture #10 The Waveform Generator EECS150 Fall Lab Lecture #10 Chris Fletcher Adopted from slides designed by Chris Fletcher.
Compressed Instruction Cache Prepared By: Nicholas Meloche, David Lautenschlager, and Prashanth Janardanan Team Lugnuts.
Computerized Train Control System by: Shawn Lord Christian Thompson.
 Purpose of our project  Get real world experience in ASIC digital design  Use same tools as industry engineers  Get practical experience in microprocessor.
USB host for web camera connection
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
Lab 2: Capturing and Displaying Digital Image
Diffuse Optical Tomography Optimization and Miniaturization ECE 4902-Spring 2014 Thomas Capuano (EE&BME), Donald McMenemy (EE), David Miller (EE), Dhinakaran.
Impulse Embedded Processing Video Lab Generate FPGA hardware Generate hardware interfaces HDL files HDL files FPGA bitmap FPGA bitmap C language software.
1 Computer System Overview Chapter 1. 2 n An Operating System makes the computing power available to users by controlling the hardware n Let us review.
Dr. Rabie A. Ramadan Al-Azhar University Lecture 6
WaveSurfer 3000 Oscilloscopes Public Release – July 1 st, 2014.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
Implementation of MAC Assisted CORDIC engine on FPGA EE382N-4 Abhik Bhattacharya Mrinal Deo Raghunandan K R Samir Dutt.
CDR- Digital Audio Recorder/Player Brian Cowdrey Mike Ingoldby Gaurav Raje Jeff Swetnam.
NIOS II Ethernet Communication Final Presentation
LAB1 Summary Zhaofeng SJTU.SOME. Embedded Software Tools CPU Logic Design Tools I/O FPGA Memory Logic Design Tools FPGA + Memory + IP + High Speed IO.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
IT Essentials: PC Hardware and Software 1 Chapter 11 Troubleshooting PC Hardware.
Programmable Logic Training Course HDL Editor
Wild West. What is our project about? 2- player Gun shooting game Video processing done to detect hand motion Process hand motion to update gun locations.
© 2004 Xilinx, Inc. All Rights Reserved Embedded Processor Design.
Sub-Nyquist Sampling Algorithm Implementation on Flex Rio
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
Multi-threaded projects Services and Drivers Alternate ways of doing Labs 1, 2, 3 and 4.
Presenter: Shao-Chieh Hou International Database Engineering & Application Symposium (IDEAS’05)
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
By Noordiana Kasim. MODERN I/O DEVICES 1. PRINTER 2. MONITOR 3. KEYBOARD 4. AUDIO SPEAKER 5. DVD DRIVE.
Proposal for an Open Source Flash Failure Analysis Platform (FLAP) By Michael Tomer, Cory Shirts, SzeHsiang Harper, Jake Johns
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
I/O Organization Competency – C6. Important facts to remember when I/O devices are to be connected to CPU There is a vast variety of I/O devices. Some.
Teaching Digital Logic courses with Altera Technology
6.111 Final Project A motion sensor baseball game By Chris Falling and JinHock Ong.
Lab Environment and Miniproject Assignment Spring 2009 ECE554 Digital Engineering Laboratory.
What you need: In order to use these programs you need a program that sends out OSC messages in TUIO format. There are a few options in programs that.
Maj Jeffrey Falkinburg Room 2E46E
Invitation to Computer Science, C++ Version, Fourth Edition
Standard Methods of Input.
Microcontroller Applications
ECE 477 Digital Systems Senior Design Project  Spring 2006
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
ChipScope Pro Software
ChipScope Pro Software
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
Presentation transcript:

Live Action First Person Shooter Game Patrick Judd Ian Katsuno Bao Le

Inspiration Inspired by the “Real Time Color Replacement” Project (2009) Wanted to combine their invisibility effect with a Duck Hunt style game

How our game works Camera captures the game stage and displays it on a monitor People/objects which enter the stage become targets User shoots targets on the monitor with a gun controller When a target is hit, it disappears (invisibility effect)

Revised Project Goal Two foreseen difficulties 1. Custom HW interface for gun controller 2. Tracking multiple targets Revised project goals 1. Use a mouse instead of a gun controller 2. Restrict number of supported targets to one

Initial System Block Diagram Camera Video Decoder Mouse Serial Port Driver RAM - live image - reference image MicroBlaze Processor Target Locator RAM - Modified image Target Drawer Draw B/W Image* Video Encoder Monitor Light gun Optional Target Manager Hit/Miss Analyzer Analog Digital Video_to _ram

Target Locator Compares reference image to live image A difference in color indicated a target Encodes targets location as: (x min, y min) (x max, y max) Memory Microblaze Reference ImageLive Image (x min, y min) (x max, y max) Target Locator

Reference Image

Live Image

Target Location

PS/2 Mouse FPS requires: High Precision Quick Response Time Replaced Light Gun as input. No ECE532 project has used it!

Mouse Operation Xilinx IP: XPS_Ps2 v1.00a Communicates with Microblaze over PLB SW Initialization: predefined sequence of byte codes Interrupts on action (move or click) Receives info packets in ISR

Software – Target Manger Tracks movement of target based on coordinates from the target locator Needs to distinguish an old target from a new target Compares target location to mouse coordinates to detect “hits” Remembers if a target has be hit

Target Remover Gets coordinates of box to remove from microblaze (x min, y min) (x max, y max) If (pixel is in box) read from reference image Else read from live image Memory Microblaze Reference ImageLive Image (x min, y min) (x max, y max) Target Remover Output Image Video Encoder

Design Flow - Hardware Start with simple custom core to read and write to memory Create verilog testbench and simulate core Compare output waveforms with spec Test core in hardware Incrementally add functionality

Design Flow - Software Wrote algorithms and data structures in Linux Integrated into microblaze code Debugged microblaze software using xps gdb

Problem - Mouse Initialization Initialization: Send and receive a sequence of byte-codes Problem: Mouse wouldn’t follow script! Debug: Tried to isolate the problem: Tried mouse on other PC Read Registers using XMD Solution: Get another mouse!

Problem - Mouse Buffer Overflow Problem: Buffer overflow interrupt occur Debug: Decrease sample rate Receive more than one packet in ISR? Solution: Printf too slow, Remove it!

Problem – Custom Logic Target Locator core worked correctly in simulation However the core did not function in hardware Tried a variety of debug methods but could not isolate the cause of the problem LEDs and switches Chipscope XPS hdl simulator

Problem – Custom Logic Solution: Use mem_to_ip/ip_to_mem core from “Real Time Color Replacement” Project Used their FSMs to perform memory reads and writes Added our own target locator logic Also move target remover functionality to software

Problem - Integration the ps2 core caused erroneous target detection when it was added to the project possibly due to bus read errors We are currently unable to find a solution

For the demo Two demos too show functionality of parts of the design before integration, in lieu of the ps2 – detection issue

For the demo 1. Target locator reading the video signal and sending target information to microblaze Video Decoder RAM - live image - reference image MicroBlaze Processor Target Locator Video Encoder

For the demo 2. Mouse to video interface and target remover functionality Video Decoder Mouse Serial Port Driver RAM - live image - reference image MicroBlaze Processor Video Encoder Target Manager Hit or Miss Analyzer

Lessons learned Don’t try to reinvent the wheel We spend a lot of timing trying to recreate what other group had already done instead of focusing on the “new” aspects of our project

Lessons learned Our approach to hardware debugging was less than ideal We had multiple group members debugging independently used different methods Should have decided on the best method concentrated our efforts

Conclusion Could not produce a fully functioning project However Learned valuable lessons in project management Were the first group to use a ps2 mouse with their project Will add this to the ece532 knowledge base