Logging and Replay of Go Game Steven Davis Elizabeth Fehrman Seth Groder.

Slides:



Advertisements
Similar presentations
Debugging ACL Scripts.
Advertisements

CSCI 6962: Server-side Design and Programming Input Validation and Error Handling.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
The 8085 Microprocessor Architecture
Chapter 3 Loaders and Linkers
Programming Types of Testing.
GUI Testing. High level System Testing Test only those scenarios and outputs that are observable by the user Event-driven Interactive Two parts to test.
Limit for Title Do not exceed Limit for Subhead and content Do not exceed Overall content limit Tecton Nucleus User Presentation.
1 A Library of Eyes in Go Author: Thomas Wolf, Matthew Pratola Dept of Mathematics Brock University Presented by: Xiaozhen Niu.
© The McGraw-Hill Companies, 2006 Chapter 9 Software quality.
Checkers Steven Prockup Spencer MacDonald. Project Overview A computer checkers playing program where the human interface is through a physical checkerboard.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 5 - Functions Outline 5.1Introduction 5.2Program.
Efficient Path Determining Robot Jamie Greenberg Jason Torre.
Basic Input/Output Operations
Digital Notetaker Walter Jordan Tom Warsaw Senior Design Project EECC 657.
© Copyright 2011 John Wiley & Sons, Inc.
Mechanical Checkers Peter Frandina Raymond Poudrier Christopher Rouland.
Track, Trace & Control Solutions © 2010 Microscan Systems, Inc. Introduction to Machine Vision for New Users Part 1 of a 3-part webinar series: Introduction.
Access 2007 ® Use Databases How can Access help you to find and use information?
Magnus Pro Training Presentation
Working with Arduino: Lesson #1: Getting Acquainted with the Kit EGN1007.
Graphic Equalizer Table By Jose Lerma. Main Idea The main idea of this table is to display the frequencies of any sound or audio input, either by microphone.
Testbed: Exercises.
ARCHIBUS Log On Instructions. Log Into ARCHIBUS Web Central Log In Screen 1.Open your Internet browser. 2.Enter the URL to view the ARCHIBUS Login Page.
A COMPUTER is an electronic device. Every computer performs 4 general operations: 1. Input 2. Process 3. Output 4. Storage.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
1 BRIDGEPAD (BP) SYSTEM TRAINING Adapted for ScoreBridge Users By John de Ridder PSBC Revised 2 November 2009.
MagicInfo Pro Server Software All control, content, and scheduling is performed within the MagicInfo Pro Server software previously installed. Before.
Concussion Detection Research Tool Codi-Lee Hayes Samantha Mearns Rebecca Yaffe Dr. Thirimacho Bourlai Dr. Aaron Monseau.
1 Shawlands Academy Higher Computing Software Development Unit.
MCU: Interrupts and Timers Ganesh Pitchiah. What’s an MCU ?
Multi-Part Requests/ Parent & Child Service Items.
Follow the Data Data (and information) move from place to place in computer systems and networks. As it moves it changes form frequently. This story describes.
Gauge Operation and Software by Scott A. Ager. Computer Recommendations 750 MHz Pentium III 64 Meg SRAM 40 Gig Hard Drive 1024 x 768 graphics CD Writer.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. C How To Program - 4th edition Deitels Class 05 University.
Operating Systems. Without an operating system your computer would be useless! A computer contains an Operating System on its Hard Drive. This is loaded.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Addison Wesley is an imprint of © 2010 Pearson Addison-Wesley. All rights reserved. Chapter 5 Working with Images Starting Out with Games & Graphics in.
Addison Wesley is an imprint of © 2010 Pearson Addison-Wesley. All rights reserved. Chapter 7 The Game Loop and Animation Starting Out with Games & Graphics.
System Analysis and Design
ISV Innovation Presented by ISV Innovation Presented by Business Intelligence Fundamentals: Data Cleansing Ola Ekdahl IT Mentors 9/12/08.
6 Memory Management and Processor Management Management of Resources Measure of Effectiveness – On most modern computers, the operating system serves.
Graphics. Graphic is the important media used to show the appearance of integrative media applications. According to DBP dictionary, graphics mean drawing.
Team # 2 Members: Sowmya Krishnaswamy Hakan Terzioglu Manu Mehan Jerome Tunaya.
EGR101-34R "lecture on hardware- software" FB 7/10/2004 Digital Electronics Logic Gates Logic gates work with the voltage level of the signals. They are.
Graphic Equalizer Table Top View
The Software Development Process
Click once to reveal the definition. Think of the answer. Then click to see if you were correct. HARDWARE Physical parts of the computer.
Configuration Mapper Sonja Vrcic Socorro,
Sensor testing and validation plans for Phase-1 and Ultimate IPHC_HFT 06/15/ LG1.
M1G Introduction to Programming 2 3. Creating Classes: Room and Item.
Introduction to Microprocessors - chapter3 1 Chapter 3 The 8085 Microprocessor Architecture.
Barcodes, MMS, and the Internet’s Cheapest Prices Greg McGrath & Greg Maier Advisors: Professor Cotter, Professor Rudko ECE-499 March 01, 2008.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
CO5023 Introduction to Digital Circuits. What do we know so far? How to represent numbers (integers and floating point) in binary How to convert between.
Intelligent Robotics Today: Vision & Time & Space Complexity.
Trouble Shooting Smart Board! Click here to see menu. Trouble Shooting Smart Board! Click here to see menu. By Rob Fioretta.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Important! Be sure to connect the communication cable to your computer before opening the Aqua4Plus Lite software. (Click to continue)
Senior Project Poster Day 2006, CIS Dept. University of Pennsylvania One if by land… Yosef Weiner, David Charles Pollack Faculty Advisor: C.J. Taylor,
Smart Board Troubleshooting.  The User Guide contains useful information such as installing, connecting, maintaining, and troubleshooting your Smart.
Learning to use a ‘For Loop’ and a ‘Variable’. Learning Objective To use a ‘For’ loop to build shapes within your program Use a variable to detect input.
Images Data Representation.
Multimedia Systems and Applications
Working with Arduino: Lesson #1: Getting Acquainted with the Kit
Representing Images 2.6 – Data Representation.
Follow the Data Data (and information) move from place to place in computer systems and networks. As it moves it changes form frequently. This story.
Non-numeric Data Representation
VISUAL COMMUNICATION USING ADOBE PHOTOSHOP CREATIVE SUITE 5
Presentation transcript:

Logging and Replay of Go Game Steven Davis Elizabeth Fehrman Seth Groder

Outline Introduction Hardware –Sensor –Game board Software –Graphical User Interface –Image Processing –Move Validation Feasibility Testing

Introduction This project will automatically log a game of Go between two players. Create a log file that will be able to be saved in the standard SGF format that has the ability to record size of the board being used and each move made. Should also allow games to be reloaded / reviewed by an external program such as GNU Go or CGoBan.

Hardware - Sensor Logitech QuickCam Pro 5000 –640 x 480 Image capture size –USB 2.0 interface –Using Java Media Framework (JMF) –Needs to translate the still image using Red Green Blue (RGB) and HSV (HSI) into matrix of understandable data

Hardware – Game Board 17”x17” and 30”- 40” in height (variable) 9x9 “Go” board LEDs to illuminate rows and columns Status LEDs located on camera mount Camera located above board in “tripod” brace Level Shift / Voltage Divide Circuit to control LEDs

Hardware – Game Board

Software – GUI Allows a player to start, open and save a game session Allows the players to request an undo of a previous move Has the mechanism to allow players to indicate that they have passed on their turn

Software - GUI

Software – Image Processing A Simplistic Approach –Due to the fact that the board and camera mount are static entities, the digital representation of the board can be decomposed into a series of statically defined regions. Each region can consist of a maximum of 5 states: Unobstructed Section of Ring Obstructed Section of Ring Board Average Black White –The pixel average of each region can be determined and checked against the appropriate tolerance value

Software – Move Validation

Illegal Moves –Repeating Board Positions (Ko) The two most previous board states will be stored The current board state will be checked against the least previous board state. If they are the same, a Ko has occurred and an error will be generated This reduces to a simple matrix equality check –Suicide Moves A suicide move is when a stone is placed in a position where it has no liberties and no stones would be removed by its placement there

Software – Move Validation Illegal Moves –Multiple Piece Placement (in a single turn) Once the current board image has been received, it is checked against the previous board for discrepancies. –There should only be one discrepancy between two boards (before piece removal) for a legal number, any other amount is not. –Inappropriate Piece Removal When a move has been determined to be valid, the appropriate representation will exist in memory. As the pieces are removed, each board position will be checked against the proper board representation. Once they match, the board is in the proper state. Until this goal is achieved, the error light will remain illuminated, and no capturing will be possible

Feasibility Obtaining an accurate digital representation of the board –No inconsistencies in image of the board (i.e. no false positives like shadows) –Ability to translate image of board to digital representation of game state Interfacing between hardware and software –Communication through digital I/O board –Communication with the camera

Testing Overall design is to build in stages unit testing as we progress As pieces start to come together there is a need to integration test Once everything has come together there is a list of several validation tests

Testing Try to start a game and check if ready light comes on when board is cleared Place pieces on board legally and check that they are recorded correctly Save the game and make sure the log file is still correct and closed at the moment Start a new game try to place two pieces at once and observe that the board goes into proper error state Fix the error and see if the error indication in the status lights has been cleared Try to move the only piece on the board and check if the board goes to the new correct error state Remove the piece all together from the board and see if it changes to different error Put it back to where it belongs and see if it returns to normal state with no error status indicated Load original and should ask if current game is to be saved Try to commit suicide and make sure it is indicated as an error state Set up a capture in the middle of the board and make sure it is a valid move Attempt to undo a move and make sure indicator lights point to the correct tile(s) to be removed or added Attempt multiple undo requests in a row Try a capture on an edge of the board and make sure it is a valid move Try a capture in the corner of the board and make sure it is a valid move Get to end of game scenario have both players pass, end game screen should come up and ready light should turn off After the game ends try to undo previous move and it should act like no-op

Questions?