Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Shuffleboard Scorekeeper Project Proposal | 0306 657, Study Guides, Projects, Research of Electrical and Electronics Engineering

Material Type: Project; Class: 0306 - Ce Design Projects II; Subject: Computer Engineering; University: Rochester Institute of Technology; Term: Fall 2008;

Typology: Study Guides, Projects, Research

2009/2010

Uploaded on 03/28/2010

koofers-user-nok
koofers-user-nok 🇺🇸

10 documents

1 / 37

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
0306.657.01: CE Design Projects II
Shuffleboard Scorekeeper Project Proposal
Timothy Myers
Eric Beisecker
Daniel Stella
September 3, 2008
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25

Partial preview of the text

Download Shuffleboard Scorekeeper Project Proposal | 0306 657 and more Study Guides, Projects, Research Electrical and Electronics Engineering in PDF only on Docsity!

0306.657.01: CE Design Projects II

Shuffleboard Scorekeeper Project Proposal

Timothy Myers

Eric Beisecker

Daniel Stella

September 3, 2008

Contents

  • 1.0 Project Overview...........................................................................................................
    • 1.1 System Startup...........................................................................................................
    • 1.2 User Interface.............................................................................................................
    • 1.3 Camera Cradle Design...............................................................................................
    • 1.4 Image Processing.....................................................................................................
      • 1.4.1 Shooter Side Task.............................................................................................
      • 1.4.2 Scoring Side Task.............................................................................................
  • 2.0 Project Cost..................................................................................................................
  • 3.0 Testing Strategies.........................................................................................................
    • 3.1 Software Testing......................................................................................................
    • 3.2 Integration Testing...................................................................................................
  • 4.0 Demo Procedure...........................................................................................................
  • 5.0 Projected Difficulties...................................................................................................
  • 6.0 Possible Future Enhancements....................................................................................
  • 7.0 Team Member Contact information.............................................................................
  • Appendix A: Shuffleboard rules........................................................................................
  • Appendix B: Detection and Camera Consideration Independent Investigation................
  • Appendix C: Image Processing Solutions Independent Investigation...............................
  • Appendix D: I/O Considerations Independent Investigation.............................................

Figure 1.2: Shuffleboard Scorekeeper Cutaway View w/ clamps Figure 1.3: Shuffleboard Scorekeeper Block Diagram

1.1 System Startup

When the system is first powered on the shuffleboard scorekeeper will display the welcome screen and wait at the main menu. To start a game of shuffleboard the user will select “Start Game” from the main menu. At the following screen the user can enter the names of the players and the terminating score. The shuffleboard scorekeeper will then randomly select who will throw the first puck.

1.2 User Interface

The player’s interaction with the system will all be done through USB keypads. There will be two USB keypads, one at each end of the table. This is more convenient for the users because they will not have to go to the center of the table to use a single keypad to override any possible errors that occur. This keypad will have had the keys remapped to the following: Figure 1.4 Shuffleboard Scorekeeper Keypad The keypad borrows its design from phone keypad design. This gives the user a familiar interface, while limiting the vulnerability of the system to malicious users. There are override keys that can be used during game play to end a player’s turn or restart a round. Their functionality will be described in more detail later. When the players turn on the shuffleboard scorekeeper, they will be greeted by a splash screen and then the main menu.

Figure 1.7 High Score Menu The main functionality of the shuffleboard scorekeeper is under the “Start game” menu. From this menu players will enter their names, set up the game, and start playing shuffleboard. To enter their names players will select a location using the arrow keys, hit enter and then enter their name using the letters on the keypad. The terminating score is entered in the same fashion, but using the numbers on the keys. After everything is setup the play button is clicked to start a game. The Play button will not be selectable if there is not a set score and at least 1 team member on the red and blue teams. The Start Game menu can be seen below. Figure 1.8 Start Game Menu The in-game screen will display the current score, the statistics of each player, and the locations of the pucks in the scoring area of the table. The name of the player whose turn it is to shoot will be highlighted in their team’s color so that position can quickly be determined. The side of the table that is currently shooting will have its turn indicator lit. These will be made large so that they can be seen from a glance at the end of the table. The “In Game” menu can be seen below.

Figure 1.9 In Game Screen If anytime during a round of shuffleboard something goes awry the players are given several means to correct the problem. If the turn is not automatically ended, players can use the end turn key to end their turn. This functionality is included in case the shuffleboard scorekeeper doesn’t properly detect a puck being shot. Players can also restart a round using the restart round key. This functionality is useful in case someone uses the wrong puck or something happens during game play that requires the restart of the turn. Lastly players can also change the score after it has been calculated. By selecting the score override button players can modify any score or statistic that has been recorded in this game. This allows players to correct any scoring mishaps if they occur. Modifying a score is a simple task, a player simply selects a field to change, enters a new value, and then hits ok. The change score menu can be seen below. Figure 2.0 Change Score Screen When a game of shuffleboard is completed, the scorekeeper will display the final score and give the users the chance for a rematch or to exit back to the main menu. If a rematch is selected the scores and statistics are wiped clean and a player is randomly selected to start the game. The Game Over screen can be seen below.

Figure 2.3 Camera Cradle Crossbeam Figure 2.4 Complete Camera Craddle Each base support will consist of a 2’ 6’’ main beam with hinges on either side supporting 4’ 3’’ beams that will meet at the center.

1.4 Image Processing

There will be two different tasks that are run on the cameras during the process of the game. The camera on the side of the shooters will have one task while the camera on the scoring side will have a separate task. The cameras will switch tasks every time the shooter side of the table is exchanged.

1.4.1 Shooter Side Task

The camera on the side of the shooters will have a simple task. The sole purpose of this task is to keep track of how many of the total eight pucks have been fired. This is necessary because the center of the table where there are no scoring lines will be left as uncharted territory: That is to say neither camera will keep track of this section of the table. This means that any puck that lands there will be unknown to the scoring camera unless it is notified that it was fired and then lost. For this reason the camera on the side of the shooters needs to keep track of the pucks that were thrown. This task is completed fairly easily using basic object detection to locate differences in frames. The images that are being processed will simply be checked for the appearance of new objects frame to frame in order to track the number of pucks thrown. Once it has seen all eight it can notify the other camera to start the scoring process. The main issue that this task will encounter is ignoring the hand motion of a player playing with a puck with his hand before the actual firing of the puck. In addition a crisp frame rate is needed so that the puck can be located within the 3’ to 4’ of travel distance it has within the camera’s field of view.

1.4.2 Scoring Side Task

The camera on the scoring side of the table will have a more difficult task. This task is divided into two parts. The first of which is checking for puck hits and the second of which is actually scoring the round. During phase one of the task the images will need to be checked for changes, a static state, and then changes to that static state. Due to the nature of the puck throws, there will be a lot of motion and then the pucks will settle. The main idea is to ignore the process of motion and focus on when there are static states of the pucks settled. At this point the frame can be kept to be compared to the next static state frame. The two frames will then be processed for object locations and checked for any removal of objects on the table section. If there are objects unaccounted for they will be checked for color in the older frame and the player of the opposite color will be credited with a hit. Once all eight pucks have been thrown and the last static state has been checked for hits, the scoring process will commence. This final frame will then be checked to locate the pucks in the scoring zone and their relativity to the scoring lines on the table. Edge detection will be used in order to determine any pucks hanging over the edge of the play zone. The colors of the pucks will be used to credit the proper player with their scored points. To make edge detection image processing easier thin black foam will be placed in both gutters directly around the scoring area. This will make the image detection simpler because of the large difference in color between the table, the pucks, and the foam.

After the software has been written and the table has been assembled, test cases will be executed on the shuffleboard scorekeeper to simulate actual game-play conditions. Test cases to simulate edge conditions such as hangers, pucks not crossing the center of the table, and foreign objects being placed on the table will be used to ensure proper handling of all events.

4.0 Demo Procedure

The demo of the shuffleboard scorekeeper will consist of 4 players forming two teams who will then start the scorekeeper. From the main menu select start game and enter in the names of the players and the terminating score, then select the start button. The scorekeeper will then be ready to keep track of the game statistics. Playing will commence as described in Appendix A. For a demonstration of the edge detection a puck will be placed on the edge of the table before the end of turn and kept there so that it can be scored by the system. During play a demonstration of the score correction menu will be done. Play will stop and a player will use the keypad to navigate to the correction menu by selecting the “Score Correction” button on play screen. Using the arrow keys on the keypad to navigate the correction screen, the scores of each player will be modified to simulate the need to fix any errors during scoring. A button to end the current turn is provided on the keypad and will be used to end a turn midway. Certain situations might arise where the scorekeeper does not recognize the end of a turn due to a missed capture of a sliding puck. This is solved by the use of this “End Turn” button. Players will continue playing until the end score is reached. At this point the scorekeeper will display the team which has won and can select to either have a rematch or go back to the main menu. Performance compliance is measured by proper scorekeeping and proper operation of all menus without the system suffering a fatal flaw.

5.0 Projected Difficulties

The difficult parts of this project include detection of pucks, detection of puck collision, edge detection, motion detection and deciding what cameras to use. The detection of the pucks is a critical part of this project and the ability to detect each of the different pucks and their position on the board will be one of the main objectives of this project. By applying different filters to images captured from the cameras the hope is that the pucks and their position on the board will be easy to detect. Some research time will be allocated to finding a way to detect the pucks whether it is thinking of an algorithm for detection or finding an external software option that will accomplish this task. Puck collision is a part of game play and will need to be detected. Pucks moved by other pucks can be moved to different scoring positions; the scorekeeper also keeps track of how many “collisions” a player incurs. By comparing images between turns the hope is that it will be possible to detect which player incurred a collision and then be able to score the new puck positions. The same algorithms used to detect the pucks would be helpful in determining a collision by detecting change in the position of the pucks.

In order to score the shuffleboard game edge detection will be necessary to determine what line each puck has crossed and whether any of the pucks are hanging over the edge of the table, which is scored differently. Again research will be conducted to either find external software which will aid in edge detection or development of specialized image filters to detect images will be necessary to overcome this barrier. Since the heart of this project is based of images obtained by cameras mounted above the board, the decision on what cameras to use will be difficult. While it is important to have a high resolution to aid with edge detection and accuracy, a more important factor will be the frame rate that is output by the camera which is paramount for the detection of motion. If the frame rate of the camera is too low it will be impossible to see the movement of the puck from frame to frame. Research will have to be done into what types of cameras are available and what their maximum frame rates are at their supported resolutions. The last major difficulty with this project will be motion detection which is needed to determine when a player has slid a puck. This is used to determine the end of each teams turn and when to score the board. There are software libraries available that will determine object movement between different captured frames. The trick will be finding a software library that will accomplish the tasks needed in this project and will interface with the projects software.

6.0 Possible Future Enhancements

7.0 Team Member Contact information

The team members of shuffleboard scorekeeper can be reached with the following information. Team members will respond to email questions quickest over the summer. Team Member Phone Number Email Address Mailing Address Tim Myers 716-597-7470 trm2882@rit.edu 241-C Perkins Road, Rochester NY, 14623 Eric Beisecker 339-225-1451 ecb0101@rit.edu 23 Colony Manor Drive, Rochester NY, 14623 Dan Stella 845-216-0131 djs0368@rit.edu 23 Colony Manor Drive, Rochester NY, 14623 Figure 2.7 Team Member Contact Information

Appendix A: Shuffleboard rules Taken from http://www.shuffleboardcorner.com/knockoff.htm Overview Games are played one-on-one or with two teams of two people Team members play at opposite ends of the board and remain there for the duration of the game. Games are played until one team scores 15-points [some may still play the 21-point game, but it is not typical] at which time they are declared the winners. Tournament Director will designate whether you are playing "Short Foul Line" (which is most commonly used in major table shuffleboard tournaments) or "Long Foul Line" (rarely used). In "Short Foul Line" (most commonly used) Knock Off game tournaments, the weights are considered in-play when they are on the board and past the foul line closest to the shooter. In "Long Foul Line" (rarely used) Knock Off game tournaments, the weights are considered in-play when they are on the board and past the foul line on the opposite end of the board as the shooter. How To Play Play may start from either end of the board which can either be designated by the Tournament Director and/or the players flip of a coin (e.g., heads, play starts on one end; tails, play starts on opposite end). Then the initial startup for shooting and weight color are decided by the opponent players flipping a coin (one flips, other calls heads or tails). The winner of the flip may elect to choose the weight "color" of choice or the "hammer". The hammer is the last weight (4th shot) in a round (i.e., the other team shoots first, if you win the flip and select hammer). It is considered advantageous to have the hammer. When color and shooting order are decided, the fun and play begins! The team without the hammer shoots first. The other team shoots second. Players continue to alternate shooting until all 4 weights of each team's color are used. At this time, points are counted and play continues from the opposite end. The team which scored points on the previous round must shoot first on the next round. If no points are scored on the preceding round (e.g., all weights are knocked off) then the hammer changes. In other words, the team that had the hammer during the round where no points were scored must shoot first the next round. Play continues in this manner until one team reaches the designated points (typically is 15-points).

Miscellaneous Rules (Re:Board Talk Open Rules/Guidelines) Before a player shoots, the player can dust the board if dry spots are showing. Note: In tournaments this may be restricted to the edge of the board or left to the discretion of the Tournament Director(s). Shooters must have one foot behind the playing surface while they are shooting. Hitting or shaking the table is never allowed.

Appendix B: Detection and Camera Consideration

Independent Investigation

Overview The shuffleboard scorekeeper replaces the tedious task of manually determining the score at the end of a round of tabletop shuffleboard. This system will be table mountable so that it can be attached to a variety of different shuffleboard tables. It will display the current score to an LCD display along with statistics about the game in progress. The shuffleboard scorekeeper will perform this task by using two cameras connected to a PC to determine the position of the pucks and their scoring value. Players will interface with the shuffleboard scorekeeper to start games and check high scores using a USB keypad. The majority of the difficulties that will be encountered with this project are due to image processing for scoring and shooting. In order to successfully do any image processing, a good image is required. Without an adequate camera no amount of clever image processing will be able to determine puck location. The camera on the shooting side must be able to realize when a puck is shot and also not assume that a player moving their arm is a shot. This independent investigation will explore the different motion detection software suites and programs available on the market today. It will also look into and test what camera specifications will be needed to consistently achieve clear images that can be used for image processing. Motion Detection The main concept behind motion detection in images is relatively simple. A reference image is taken at the very start of the program. This image is used as the base to determine if any motion has occurred. The camera will then consistently takes pictures, and compares them against the reference image. If there is any difference between the two, then something has moved in the scene that the camera is viewing. If motion is detected in a scene, the camera will use the newest picture as the new reference image, because it represents the updated position of the system. Motion detection algorithms will also use a threshold value which is the amount that an image must differ from the reference image in order to be considered movement. Threshold values allow you to fine tune a particular motion detection algorithm for most needs, whether you want to detect blinking eyes or intruders in your home. The following pseudo code clearly explains this process.