








































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The development of an accessible user interface that allows navigation using the emotiv headset. The application interfaces with the emotiv device, fetches data from twitter using their api, and adjusts the data to enhance the user's experience. Mental commands are used to navigate the social media data. A backup method and a simulated mental command interface are also included. The application learns the user's type and does not support emotiv account creation or login on social media sites.
Typology: Study Guides, Projects, Research
1 / 48
This page cannot be seen from the preview
Don't miss anything!









































Revision History Version Date Reason For Changes Version 1 10/21/16 Original Copy Version 2 1/23/17 Update 1 Version 3 4/13/17 Update 2 Version 4 5/21/17 Update 3
1. Introduction 1.1. Purpose This document describes the features, interface, underlying system, and constraints of Connectome. It also describes how to interact with and use the application. This document is applicable to both the developers and stakeholders of the system, and is used to outline the system. 1.2. Overview Amyotrophic Lateral Sclerosis (ALS) is a disease that attacks the nerve cells responsible for controlling voluntary muscle movement. As the disease progresses, the patient loses their ability to move on their own. In later stages of the disease, the user loses complete control of their muscles and may be unable to move. This project is designed specifically for use by people suffering from ALS, however, anyone with a mobility impairment could benefit from use. Connectome is a hardware/software hybrid solution that allows patients with limited mobility to control social media using just their mind. The application interfaces with the Emotiv, a brain-computer interface, which senses changes in electrical signals in the brain, to operate the interfaces of the application. The API for the popular social media website, Twitter, is also used to fetch the user’s data, which is displayed in the application. An accessible user interface has been developed to allow navigation using the Emotiv, along with algorithms and data structures to allow the Emotiv to be configurable to the strengths and weaknesses of each individual user. Navigation of the application requires the user to reliably demonstrate two commands that are built into the Emotiv: a passive command and an active command. The passive command relies on the user to maintain a natural resting state while the active command depends on the generation of a distinct, neural signal that the Emotiv can recognize.
All social media outlets that are not initially specified social media outlets, as well as other platforms that are not social media related, are all outside the scope of this project. Also outside our scope is modifying the provided hardware-interfacing software given by the Emotiv manufacturer. Our system will remain a recreational application, any rehabilitative functionality is outside our scope. Our system will also only be compatible with the Emotiv Epoc+ Brain Computer Interface (BCI) device, other BCI hardware will not be supported within our scope of the project. The application will not support the ability to create Emotiv accounts in order to save profiles to the cloud. In order to use the application, the account must be created before the application is used. Similarly, any social media accounts that will be used in the application will also need to be created prior to use of the application. Logging into Twitter using credentials is also not supported in the current version of the application. Users will need to navigate to a URL given by the application, authorize the application for use by Twitter, and copy the code that is received from the authentication back into the Connectome application. Mental commands can also not be used to log into either the Emotiv cloud or the social media sites. A mouse must be used to complete these steps. 1.4. Definitions Term Definition Brain Computer Interface (BCI) A non-invasive device that collects neural signals which can be used to communicate or control a desired output Amyotrophic Lateral Sclerosis (ALS) A progressive neurodegenerative disease that weakens muscles and impacts physical function by causing the death of neurons that control voluntary muscles. Active (“Push”) Command A distinct, user-trained neural signal that triggers a specific action (click, keyboard pop-up etc) in the Connectome interface. Passive (“Neutral”) Command A resting state, baseline neural signal that does not elicit a specific action in the Connectome interface. Electroencephalogram (EEG) The measurement of electrical activity in different parts of the brain
Emotiv Epoc+ A^14 - channel^ wireless brain computer interface designed for contextualized research. Connectome A comprehensive map of the neural connections in the brain. Also the name of the software detailed in this report. User Profile An account that is created per user that stores data trained within Emotiv’s Xavier platform. This user profile can then be loaded into the Connectome software. Unity Game Engine A cross platform game engine developed by Unity Technologies. This is the platform used to design and develop the Connectome software. Emotiv SDK A set of software development tools that allowed for the development of Connectome. Steady State Visually Evoked Potential (SSVEP) Brain signals that are natural responses to a visual stimulus at specific frequencies. Within Connectome, a flashing light of black and white was used for training and navigating through the software. Twitter An online news and social networking service where users post and interact with messages, “tweets”. Emotiv Xavier A control panel that comes with the Emotiv Epoc+ device to enable users to setup the device, create a profile, and train the device. 1.5. Referencess Emotiv Hardware Manual - https://www.Emotiv.com/files/Emotiv- EPOC - Product-Sheet-2014.pdf For more information about the Emotiv hardware, please refer to the manual referenced above.
input command is done for a sufficient amount of time, the action of the button is triggered. 1.2) Keyboard Input User types through an on-screen keyboard that is optimized for typing using a single mental command or through blinking. These keyboards can either be alphabetical keyboards that allow users to create custom messages, or keyboards that have previously created canned responses. 1.3) Navigate screens User navigates the user interface using a single mental command, or through blinking. Each button on the page is highlighted on a timed loop. Once the button that the user wishes to select is highlighted, the user can trigger the action of the button by performing the action command. 2) Use cases related to Social media 2.1) Log in to Twitter User logs in to Twitter using the site’s APIs. The application is unable to support logging in through the application by username and password, so the user will need to visit the Twitter website using a URL, and then enter a pin code in the Connectome application to connect. After the user has connected once, they can quit the application and relaunch it without requiring the user to re-authorize Twitter. 2.2) Create a tweet User creates a post using the onscreen keyboard to type a message, which is then post the tweet to Twitter. 2.3) Respond to User responds to a tweet that is created by another
a tweet user, by typing a message using the onscreen keyboard. 2.4) Log out of Twitter User logs out of their account once they are logged in to twitter. 2.5) View direct messages User is able to view the direct messages that they have received and sent to other users on Twitter. 2.6) Send direct messages User is able to send a direct message to another user of Twitter. 2.7) View User’s Profile User is able to view their own profile, including the people they are following and tweets that they have created. 2.8) View images in a Tweet User is able to view all of the images that may be embedded in the body of a tweet. 3) Use cases related to training for Emotiv 3.1) Log in to the Emotiv cloud The user can access their cloud account that is set up with the Emotiv. 3.2) Load a user profile User loads profile into Connectome’s interface in order to access their individual training profile. 4) Use cases related to Settings 4.1) Adjust the input parameters User adjusts the parameters related to duration and power executed for each command based on training level and comfort.
Graphics Card DX9 or DX RAM 2 GB RAM Processor 3 GHz Disk Space 500 MB Available Ports USB 2. 2.5. Design and Implementation Constraints
3 External Interface Requirements 3.1 User Interfaces
The buttons that are visible on the screen will be cycled through from left to right in the order the they are visible on the screen. For example, in a set interval, in the above user interface mock-up, the Facebook button will be selected, then the Twitter button, and then the Instagram button. Once all three are selected, it will rotate back to the Facebook button. After a specified amount of time that can be configured in the settings panel, the next button is highlighted, as long as no power from the Emotiv is detected. The Emotiv navigation will be based upon a SSVEP (Steady State Visually Evoked Potential) methodology. The button that is currently selected on the screen will flash between two colors rapidly, which has been studied and proven to help some users trigger the mental command.
The two images above are pictures of the home menu without the flashing light highlighter on the buttons and with the flashing light on the button. All buttons in the Connectome interface will have the flashing light highlighter. Therefore, form the following user interface pictures do not show the highlighter as it is assumed to be there. The specific portions of the home menu are explained below: