Difference between revisions of "ECE597 Project Interactive Pong"

From eLinux.org
Jump to: navigation, search
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
This project is part of the ECE597 32-bit Embedded Linux class at Rose-Hulman Institute of Technology in Terre Haute, IN.
  
 +
==Project Goal==
 +
The goal of this project is to implement a simple game of "Pong" on the Beagle Board that allows a user to play the game by gesturing with their hands rather than using a mouse or keyboard. 
  
The goal of this project is to have the Beagleboard act as a MythTV/portable video playback node. This may require work with the DSP acceleration of FFMPEG/Gstreamer. Additionally, interfacing the BeagleBoard with a Pico Projector to allow for portable media enjoyment. If MythTV support is not practical, simple localized video playback with DSP acceleration will be used.
+
==Team Members==
 +
Elliot Simon
  
This project is part of the ECE597 32-bit Embedded Linux class at Rose-Hulman Institute of Technology in Terre Haute, IN.
+
Mitch Garvin
 +
 
 +
Matt Luke
 +
 
 +
Jian Li
 +
 
 +
==System Setup==
 +
Currently the hand-tracking and Pong games run in different processes.  Hand-tracking requires a picture called "sshou.bmp" in the /home/user-name directory that is used as a reference for the histogram that tracks hands.  The hand-tracking writes to a temporary pipe in /usr/yval, which the Pong game then reads the latest value from.  To run, start the hand-tracking program in a root shell, then the Pong game in a separate root shell.  Press [Spacebar] to begin a game, then [Spacebar] to release a ball.  Moving a hand up and down in front of the camera causes the user's paddle to move and reflect that.  The user's paddle will not move if there is not a ball "in play".
 +
 
 +
==Task List==
 +
Below is an estimated list of tasks to complete  Task list will be updated as necessary
 +
 
 +
{| border="1" cellspacing="0" cellpadding="5"
 +
! Task
 +
! Status
 +
! Description
 +
|-
 +
| Pong on the Beagle Board
 +
| Complete
 +
| Port a simple game of classic pong onto the Beagle Board with keyboard/mouse input
 +
|-
 +
| Webcam interface with the Beagle Board and OpenCV
 +
| Complete
 +
| Get the Beagle Board to recognize the webcam and perform basic functionalities from OpenCV (connect to camera, snapshot, etc.)
 +
|-
 +
| Refactor Pong
 +
| Complete
 +
| Refactor Pong to work with a different input (camera)
 +
|-
 +
| Track hands with camera and OpenCV
 +
| Complete
 +
| Track user's hands using OpenCV library functions on the Beagle Board
 +
|-
 +
| Interface tracking camera with pong
 +
| Complete
 +
| Join the tracking and game into one system such that users can play pong with their hands
 +
|-
 +
|}
 +
 
 +
==Files==
 +
[[File:PyPong.tgz]]
 +
 
 +
[[File:cvex1.zip]]
 +
 
 +
[[File:Ubuntu_9.10_opencv2.0.doc]]
 +
 
 +
==Links==
 +
[http://www.logitech.com/en-us/webcam_communications/webcams/devices/6333 Logitech Webcam Pro 9000]
 +
[[Category:ECE597]]

Revision as of 16:34, 24 May 2010

This project is part of the ECE597 32-bit Embedded Linux class at Rose-Hulman Institute of Technology in Terre Haute, IN.

Project Goal

The goal of this project is to implement a simple game of "Pong" on the Beagle Board that allows a user to play the game by gesturing with their hands rather than using a mouse or keyboard.

Team Members

Elliot Simon

Mitch Garvin

Matt Luke

Jian Li

System Setup

Currently the hand-tracking and Pong games run in different processes. Hand-tracking requires a picture called "sshou.bmp" in the /home/user-name directory that is used as a reference for the histogram that tracks hands. The hand-tracking writes to a temporary pipe in /usr/yval, which the Pong game then reads the latest value from. To run, start the hand-tracking program in a root shell, then the Pong game in a separate root shell. Press [Spacebar] to begin a game, then [Spacebar] to release a ball. Moving a hand up and down in front of the camera causes the user's paddle to move and reflect that. The user's paddle will not move if there is not a ball "in play".

Task List

Below is an estimated list of tasks to complete Task list will be updated as necessary

Task Status Description
Pong on the Beagle Board Complete Port a simple game of classic pong onto the Beagle Board with keyboard/mouse input
Webcam interface with the Beagle Board and OpenCV Complete Get the Beagle Board to recognize the webcam and perform basic functionalities from OpenCV (connect to camera, snapshot, etc.)
Refactor Pong Complete Refactor Pong to work with a different input (camera)
Track hands with camera and OpenCV Complete Track user's hands using OpenCV library functions on the Beagle Board
Interface tracking camera with pong Complete Join the tracking and game into one system such that users can play pong with their hands

Files

File:PyPong.tgz

File:Cvex1.zip

File:Ubuntu 9.10 opencv2.0.doc

Links

Logitech Webcam Pro 9000