project aceso cs 480 senior design group 7. the team: aaron m. daniels aaron j. lamb elliott v....

Post on 24-Dec-2015

216 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PROJECT ACESOCS 480 Senior Design Group 7

The Team:Aaron M. DanielsAaron J. LambElliott V. IannelloJoseph A. YaworskiWesley J. Moody

Sponsor:Dr. Valeriya Gritsenko

Mentor:Dr. Frances Vanscoy

Outline

Problem StatementObjectivesACESO API

GameChallengesConclusion

Problem Statement

Design and Build a Flexible and Extensible Platform for Rehab-Game Development

Design and Build a Game that Utilizes and Demonstrates the Platform

Objective Tree

General Architecture

Rehabilitation Video Game

Graphics Engine

MS Kinect Drivers

ACESO API

Calibration System

Pateint Safety System

Patient Profiling System

Kinematic Data

Management System

ACESO API

Automated Capture of Exercise Statistics and Observation

Easy to Use Intended to be Open-Sourced “Standard-Focused” Flexible Easily Extendable and Maintainable Kinect Dependent

ACESO Class Diagram«interface»Constants

+startCapture()+stopCapture()+promptForJoint(in Joints)+setMotionRange(in coordinates : float)

-patient : object

Calibration

+addPatient() : void+deletePatient() : void+getPatient(in name) : object+write()+read() : object

-patientList : object

Profiles

+help_Call(in phone_Number)+overRide_Stop()+overRide_Start()

+active : bool

Safety

+readFile() : float+writeToFile(in coordinates : float)+readEncrypted() : float+writeEncrypted(in coordinates : float)

-active : bool-fileLocation : string

DataManagement

+updateMotionRange(in Coordiantes : float, in Joint : object)+updateJointStatus()+getName() : string+setName(in name : string)+addJoint()+deleteJoint()+write()+read() : object

-name : string-patientID : long-status : int-injured_joint_list : object-report : string

Patient

+getOwner() : string+getMotionRange() : float+prompt() : string+getSide() : char

Joint

+getOwner() : string+getMotionRange() : float+getSide() : char+prompt() : string

-owner : string-motionRange : float-bodySide : char

Ankle

Class Diagram for ACESO API

1

*

1

*

ACESO Package

ACESO API

+getOwner() : string+getMotionRange() : float+getSide() : char+prompt() : string

-owner : string-motionRange : float-bodySide : char

Knee

+getOwner() : string+getMotionRange() : float+getSide() : char+prompt() : string

-owner : string-motionRange : float-bodySide : char

Hip

+getOwner() : string+getMotionRange() : float+getSide() : char+prompt() : string

-owner : string-motionRange : float-bodySide : char

Shoulder

+getOwner() : string+getMotionRange() : float+getSide() : char+prompt() : string

-owner : string-motionRange : float-bodySide : char

Elbow

+getOwner() : string+getMotionRange() : float+getSide() : char+prompt() : string

-owner : string-motionRange : float-bodySide : char

Wrist

+getOwner() : string+getMotionRange() : float+getSide() : char+prompt() : string

-owner : string-motionRange : float

Pelvis

+getOwner() : string+getMotionRange() : float+getSide() : char+prompt() : string

-owner : string-motionRange : float

Neck

Well-Pump Game

Have Therapeutic Value Showcase ACESO API Relaxing and Engaging Immersion/ Provide some form of

Escape

Concept Screenshot

Game Play State Diagram

Initial (off)

Idle

Render Next Frame

Check Rules

Menu/Pause

Terminal(Close Game)

Context Diagram

Rehab Game

Development Team

Therapist/Doctor Patient

ButtonContext Diagram

for a Rehab Game

Game Class Diagram

+getImage(in name : string) : object+getImage(in ID : int) : object

-ImageList : object

Image

+Game()+Menu() : void+Watch() : void+Render() : void+Logic() : void+DisplayMenu() : void+Exit() : void

-Pause : bool-Timer : decimal-Score : int-State : string-SkeletalPosition : float

Game

«interface»Coding4Fun Library

«interface»DirectX 9 API

+getSound(in name : string) : object+getSound(in ID : int) : object

-AudioList : object

Audio

1

*

1

*

«interface»ACESO API

«interface»Kinect SDK

Use-Case Diagrams

Patient/Player

Doctor/Therapist

ACESO Framework Use-Case Diagram

Play-Rehab Game

View PatientProfile

*

*

*

*

Calibrate Controls

*

*

Add Motion

Edit PatientProfile

** *

*

View Game Results

Exit Game

Adjust Game Options

Safety Features

External Developers

Development Team

Extend ACESOFramework

Utilize ACESO APIin Game Dev

1

*

**

**

1

1

Publish ApprovedVersions of ACESO API

*

1

*

*

*

*

*

*

*

*

*

*

*

*

Rehab Game Using ACESO API

ACESO API Usage

Maintenance

1

* *

*

Challenges

Learning Kinect SDK Limitations Learning Direct X 9 Limitations Overcoming Reliance on 3rd Party

Drivers and Equipment Staying within HIPPA Regulations Refining the Design

3rd Party Software

Kinect SDK Direct X 9 Coding4Fun C# Library

What Lies Ahead…

Statistical System Integration,Game Prototype,Compiling Standards for

Development,And…

…Building the Final Product

Thanks, any Questions

That’s all folks!

top related