ARD Presentation January, 2012 BodyPointer
Team • Members • MiriPeretz • Moshe Unger • Advisors • Prof. Yuval Elovici • Dr. RamiPuzis • Web Site • http://thebodypointer.wordpress.com/
Vision Physical impairments are affecting people's ability and making them hard to control the computer. Thus, MUCI and BCI, Muscle Computer Interface and Brain Computer Interface, are the perfect solution for those who have any kind of physical impairments and cannot use the computer. BodyPointer will be based on MindDesktop project, which use Epoc headset in order to detect signals from face movement and thought. In addition, BodyPointer will interact with the Body Sensors System, called ProComp Infiniti, which covers a full range of objective physiological signals used in biofeedback. With those two devices, the system can measure bodily and face signals and capture data in real time.
The Problem Domain • BodyPointer works on Windows environment with various sensors of human body. • There are 3 main components: • 1. Hardware • ProComp Infinti • EPOC neuroheadset & EmoEngine • 2. System Core • 3. System UI • The external interfaces that are maintained are: • Thought Technology SDK • Emotiv Application Programming Interface • Win32 Application Programming Interface
The Problem Domain Devices System BodyPointer Core Signals ProComp Infinti User BodyPointer UI Epoc Helmet
Stockholders • UsersThe users of the system are people with physical impairments. • Due to their health condition, those people cannot use computer regularly with real keyboard and mouse. • Customers • The customers of the system are our academic and professional guides, who have a say about our software's goals and design. • SponsorsThe system’s sponsors are Ben-Gurion University and Deutsche Telekom.
Software Context This system will cooperate with two input devices: ProComp Infiniti and Epoc neuroheadset simultaneously. When the user operates an action in order to use the computer, the devices send signals to the system core. As the core gets signals from those devices, it processes them by their type (that was set by the user profile) to an action in Windows. BodyPointer core will control the BodyPointer UI component, which will show the user the output, the result of the Windows action on the screen.
Software Context BodyPointer UI will manage 2 main applications: Special pointing device UI gives the user alternative windows desktop for executing PC applications. The user can navigate in this screen by 3 actions: "left", "backward" and "click".
Software Context Virtual keyboard This keyboard is a special interface that contains the same keys as the physical keyboard and other several buttons in order to improve the system usability. The user can use this keyboard with 3 actions: "choose arrow direction", "apply arrow direction" and "click".
Functional Requirements - Initialization • Installation • User Registration • Defining body actions • Defining system actions • Training • Uploading existing user • Editing user profile Installation Registration Defining body actions Defining system actions Training
Functional Requirements - System • Viewing system actions • Changing body action definitions • Managing user details • Handling hardware signals • Executing and using windows applications
Functional Requirements - Keyboard • Execute applications • Execute operations • Activation • Navigation • Typing • Switch to Pointing device mode • Pause/Play • Exiting
Functional Requirements - Pointing Device • Screen navigation • Program selection
Functional Requirements - Design • Keyboard Configuring • Application Configuring • Keyboard and Application Correlation
Non-Functional RequirementsPerformance Constraints • Usability • The first installation of BodyPointer and the system designs should be done by person without physicals disabilities. • The users don't need to expertise, and no level of training required.We are aiming to do usability experiments, as part of increasing the user's usability. • Reliability • The system will be at least 93% reliable, that mainly relied on hardware issues, depending on the accuracy of the signals. • While training, the system will record the flow of the signals in order to capture values from the hardware. • Each signal has a range of values, which represents strength of discrete action. • The system analyzes the values in order to learn the strength of user actions. • Due to the training formula, there is approximately chance of 7% to make a mistake in translating the detected signals.
Non-Functional RequirementsPlatform and SE Project Constraints The devices which being used at the system works only with Windows OS, so our software will be supported only in Windows. In order to handle signals we need to use several API's: Thought Technology SDK, Emotive SDK & Win32 API. Thus, implementation of this process will be written in low level language C++. In order to make simple UI, we chose to work with Flex. The software requires special hardware that were purchased by DT and Ben-Gurion University for our project. The system will be tested on several types of users, including people with physical impairments. Therefore the actual data will come from them.
Non-Functional Requirements Special Restrictions & Limitations • The system supports only people with: • Ability to at least partial body movement. • Detectable brain activity (“EEG detectable” – their brain activity can be • detected by EEG sensors). • For first installation, registrations and user switching the system required a person that is able to control the physical keyboard and mouse. • The user must be 6 year-old or older.
Risk assessment • Integration between Epoc helmet and ProComp Infiniti • Adding different sensors to BodyPointer • Interfacing with Windows API • Interfacing with ProComp API • Defining accurate training to the user • Interfacing with MindDesktop software • Changing and adding features suited to the disabled users
Plan for the proof of concept • In order to minor the risks, we need to: • Get familiar with the devices • Learn and Use Windows and Procomp Infiniti API • Read MindDesktop documentation • Analyze the main problems at MindDesktop project and • suggest solutions • Understand the main component in MindDesktop code • The prototype will mainly relate to the new functionality that is added by the sensors, and the execution of actions in Windows. • It will also refer to the integration between the ProComp Infiniti (body sensors) and Epoc helmet devices.