CS 475: Senior Project
Proposal
- SEMESTER: Spring 2009
- PROJECT TITLE: Next-Generation Controllers using Hand Motion Detection
- STUDENT NAME(s): Kristopher Reese
- DATE: January 20, 2009
- PROJECT DESCRIPTION:
This project takes Object Detection and Controllers (including a PC mouse) to a new level in Human Computer Interaction by using Object Detection through a “WebCam” which could be used to control most aspects of the computer or gaming device, much like a mouse or gaming controller. Handless computing became popular after the Science Fiction movie “Minority Report” and has since become nearly a reality, though the cost of such devices remains very high. This project looks to make similar technologies more affordable for everyday consumers by using a Web camera that will be used to detect specific hand motions and react according to those hand motions.This Project consists of a three part model:
The primary focus of this project is the Motion Dection & Vector Evaluation Controller for the Web Camera. In order to build the controller, research in various areas will be required. The first challenge will be to read the y-coordinates of a user’s hand. This will be integrated into a “Pong” game so that the paddle can be controlled solely by a user’s upward and downward movements. Following successful completion of y-coordinate evaluations, and assuming time is permissible, work will begin on x-coordinate evaluations. This will be implemented in an “Archanoid” or “Breakout” type game where the paddle will be controlled by a user’s leftward and rightward movements. As time permits, a game displaying 4-axis movement will be added as well.
- PROJECT REQUIREMENTS:
- C/C++ [using GCC/G++ compiler]
- Ubuntu [Linux]
- WebCam: Creative Live! Notebook Pro (Model VF0400)
- “Pong” [game]
- “Archanoid” [game]
- “Snake” [game]
Necessary Hardware for this project will be a WebCam; I have decided to use the Creative Live! Notebook Pro VF0400 due to its compatibility with Linux WebCam drivers. This piece of hardware will be purchased by Kristopher Reese. Necessary Third-party Games will be used in this project. These games include “Pong”, which will show y-coordinate controls; “Archanoid”, which will show x-coordinate controls; and “Snake”, which will show 4-axis controls. “Pong” will be the primary focus of this assignment, the other games will be added as time permits.
C/C++ will be the primary language used to build the hand motion controller. A connector will be written to perform actions in each of the games. This connector will be written in the third-party game’s primary programming language. An attempt will be made to find C/C++ versions of each game to simplify the difficulty of writing connectors that control games in other languages.
No External Resources or Facilities should be needed.
- DELIVERABLES:
- Source Code for Hand Motion Controller w/ Documentation
- Source Code for Connectors for completed games
- Video Demonstrations
- Thesis Paper
- Presentation Materials, including a Live demonstration
Delieverables will include the Source Code for the Hand Motion Controller. Source Code for Connectors in the games that are completed will also be included. “Pong” will be the first game in which a deliverable connector will be developed. The timeline sets this deliverable by Feb. 22 to present on admitted students day at Hood College. All attempts to meet this deadline will be made. Following this deadline, and assuming the deadline is met, ”Archanoid” and “Snake” will subsequently be added. After completion of each game a Video Demonstration will be uploaded to the Blog portion of kReese.net. Other deliverables will include a Thesis Paper, which will be submitted to the CGAMES 09 conference as well, and Presentation Materials.
- SCHEDULE OF DELIVERABLES:
- FACULTY ADVISOR: Ahmed Salem
| Milestone | Name | Duration | Start Date | End Date | Phase |
|---|---|---|---|---|---|
| Propsal | 7 days | 2009-01-21 | 2009-01-27 | 1 | |
| Planning | 3 days | 2009-01-28 | 2009-01-30 | 2 | |
| Requirements | 3 days | 2009-01-28 | 2009-01-30 | 2 | |
| Specifications | 3 days | 2009-01-28 | 2009-01-30 | 2 | |
| Build WebCam GUI | 7 days | 2009-01-31 | 2009-02-06 | 3 | |
| Build Vector Eval. Engine | 14 days | 2009-02-07 | 2009-02-20 | 3 | |
| Build Controllers | 2 days | 2009-02-21 | 2009-02-21 | 3 | |
| M1 | Admitted Students Day Presentation | - | 2009-02-22 | 2009-02-22 | 3 |
| Testing and Documentation | 5 days | 2009-02-23 | 2009-02-27 | 3 | |
| Bug Fixes & Retesting | 22 days | 2009-02-28 | 2009-03-21 | 3 | |
| Thesis Paper | 52 days | 2009-02-23 | 2009-04-15 | 4 | |
| M2 | Paper submission to CGAMES 09 | - | 2009-04-16 | 2009-04-16 | 4 |
| Presentation materials | 37 days | 2009-04-01 | 2009-05-07 | 5 | |
| M3 | Final Presentation | - | 2009-05-08 | 2009-05-08 | 5 |


Hood College
Univ. of Louisville