CS 475: Senior Project

Proposal

  1. SEMESTER: Spring 2009
  2. PROJECT TITLE: Next-Generation Controllers using Hand Motion Detection
  3. STUDENT NAME(s): Kristopher Reese
  4. DATE: January 20, 2009
  5. 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:

    Image of Senior Project Model

    Model for Mocoa (Motion Control Application)

    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.

  6. 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.

  7. 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.

  8. SCHEDULE OF DELIVERABLES:
  9. Gantt Chart for Senior Project

    Senior Project Gantt Chart of Schedule

    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
  10. FACULTY ADVISOR: Ahmed Salem