Controlling a Wheelchair using a Brain Computer Interface based on User Controlled Eye Blinks

Data published by different organizations such as the United Nations indicates that there are a large number of people who suffer from different types of movement disabilities. In many cases, the disability is so severe that they cannot have any kind of movements. Faced with this situation, Brain Computer Interface technology has taken up the challenge of developing solutions that allow delivering a better quality of life to those people, and one of the most important areas has been the mobility solutions, which includes the brain computer interface enabled electric wheelchairs as one of the most helpful solutions. Faced with this situation, the present work has developed a Brain Computer Interface solution that allows users to control the movement of their wheelchairs using the brain waves generated when blinks their eyes. For the creation of this solution, the Incremental Prototyping methodology has been used to optimize the development process by generating independent modules. The solution is made up of several components i.e. EEG System (OpenBCI), Main Controller, Wheelchair Controller and Wheelchair that allows to have a modularity to carry out updates (improvements) of their functionalities in a simple way. The developed system has shown that it requires a low amount of training time and has a real world applicable response time. Experimental results show that the users can perform different tasks with an acceptable grade of error in a period of time that could be considered as acceptable for the system. Considering that the prototype was created for people with disabilities, the system could grant them a certain level of independence. Keywords—BCI; EEG; brain computer interface; OpenBCI; eye blink detection


I. INTRODUCTION
Brain Computer Interface (BCI) is a technology in which the brain waves of a person are used to control an external object. It acts as a mediator between the brain and a device [1]. BCI based systems record the electrical activity of a human brain via different technologies, such as electroencephalography (EEG) [2], functional magnetic resonance imaging (fMRI) [3], and functional near infrared (fNIR) [4]. Among these alternatives, EEG is the most popular solution because of its low cost, high temporal resolution, and non-invasiveness features [5]. This technology can be applied in different fields, being one of the most important the health area [6][7] [8]. BCI brings a capable and efficient way of aiding users with Motor Neuron Diseases (MND) such as Amyotrophic Lateral Sclerosis (ALS), Progressive Bulbar Palsy (PBP), Primary lateral sclerosis (PLS), among others.
According to the United Nations, the number of individuals in the world above the age of 60 is expected to increase rapidly, and this is especially significant in developing countries where the proportion of older individuals will increase from 9% in 2015 to 16% by 2040 [9]. Additionally, according to the ALS association, most people develop ALS between the ages of 40 and 70, with an average age of 55 at the time of its diagnosis [10]. In many cases, the disability is so severe that the patients cannot have any kind of movements.
Faced with this situation, BCI technology has taken up the challenge of developing solutions that allow delivering a better quality of life to those people, and one of the most important areas has been the mobility technologies, which includes the BCI enabled electric wheelchairs as one of the most helpful solutions. In this situation, the present work has proposed and developed a system for controlling an electric wheelchair utilizing the brain signals generated by the user when blinks his/her eyes. The developed prototype will allow people with severe movement disabilities to have a higher level of independence in terms of mobility.
In summary, the objective of the present work is to design, develop and test a BCI system prototype which will allow people with movement disabilities to control an electric wheelchair using the brain signals generated when they blink their eyes.
The rest of this work is organized as follows. First, the previous works related to BCI wheelchair systems are studied. Then, the proposed solution and the used methodology are described with details. Once, explained the architecture and implementation of the proposed solution, the results of the experiments performed using the implemented prototype are analyzed. Finally, the conclusions reached in the present work are presented.

II. BACKGROUND
In the last decade, a variety of BCI technologies has been developed to help people with MND. Some of these technologies have allowed to upgrade the movement of people improving their lifestyles and bringing back their sense of *Corresponding Author 49 | P a g e www.ijacsa.thesai.org independence which are considered as navigation assistive technologies [11]. Among the different assistive technologies, one of the solutions that could help to people with movement disabilities is the wheelchairs controlled by BCI systems. In this aspect, several alternatives for controlling wheelchairs have been proposed so far.
Turnip et al. have proposed an electric wheelchair control system utilizing Steady state visually evoked potential (SSVEP) responses. This is done by classifying 6-9Hz frequencies which are used to execute the turn left, turn right, go back, and go forward commands. These signals are processed and classified using a sixth order Bandpass Filter (BPF) and an Adaptive Neuro-Fuzzy Inference System (ANFIS) [12].
In another similar work, Li et al. developed a hybrid system for controlling a wheelchair combining P300 and SSVEP. The control is done by positioning 4 groups of flickering buttons; each group contains a large button in the center and 8 smaller surrounding it which flashes at a fixed frequency with the objective to evoke SSVEP responses. At the same time, the buttons were intensified through shape and color change in a random order to produce P300. Based on these two classifications, an output is reached. To classify both signals at the same time, they used different methods; in the P300 case, they used Support Vector Machine (SVM) and for the SSVEP, they used power ratios [13].
Additionally, Kim et al prototyped a BCI based system that allows the control of a wheelchair using motor imagery. They utilized five commands (left, left-diagonal, right, right-diagonal and forward) which are detected using a classifier that detects the imagination of left or right hand movements whilst the user simultaneously performs foot movement imagination. The signals are first spatially filtered using a common average reference and then band-pass filtered between 8 and 32 [14].
On the other hand, Y. Yu et al. proposed a hybrid BCI wheelchair system where combines motor imagery and P300 potential [15], while K. Sureshbai et al. proposed a SSVEP based BCI wheelchair where SSEVEP responses are generated by looking at four LEDs which are used to deliver forward, reverse, left, and right movements of an electrical wheelchair [16].
In another work, a novel EEG brain-controlled wheelchair with five steering behaviors is developed, which is based on two-stage control strategies combining sustained and brief motor imagery BCIs [17].
As shown in the previous works, there are a large number of BCI enabled wheelchair solutions. However, most of them uses dense techniques such as SSVEP and Motor Imagery which brings several limitations. First of all, in solutions based on SSVEP responses, the user has to look at several visual stimuli commonly implemented on blinking LEDs which could cause severe fatigue when the wheelchair has to be used by the user for a considerable period of time [18].
On the other hand, the Motor Imagery requires long time of training by users since it is based on brain signals generated by the user when simulates a physical action with his/her mind; additionally, the motor imagery commonly does not deliver high level of precision in the signal classification [19] [20].
In this situation, the present work has the intention of developing a BCI enabled wheelchair which is controlled by using the brain signals generated when the user blinks his/her eyes. This method of brain signal classification has the advantage of having high level of precision and easiness of use; additionally, the solution has the benefits of not requiring a large amount of time in training processes [21,22].

III. METHODOLOGY
In this work, Incremental Prototyping Methodology was applied for the development of the proposed solution [23]. This approach is useful when you want to create a quick prototype that is thoroughly and easily tested. In our case, we worked with two smaller increments, the first was the main controller, which manages the user interface and the processing of brain waves. The second increment (module of the prototype) was the wheelchair controller, which handles the movement of the wheelchair. The implementation of both modules creates a BCI system that can handle the movements of the wheelchair (see Fig. 1).

A. Architecture of the Proposed Solution
Since the purpose of the present work is to generate a BCI solution for controlling an electrical wheelchair, we have generated a general architecture of the prototype to be developed (see Fig. 2). It is also important to indicate that the proposed solution will use the brain signals generated when the user blinks his/her eyes. This method of brain signal classification has the advantage of having high level of precision, easiness of use, and low amount of time in training processes [21,22]. In the proposed architecture, the brain signals of the user are gathered by the EEG device connected to the user, and such data is transmitted to the Main Controller which executes a BCI application that filters and classifies the raw brain signals. Once the brain signals are classified into the commands that the user wants to perform, this data is communicated to the Wheelchair Controller, which generates the movement of the wheelchair.

B. Implementation of the Proposed Solution
The architecture shown in the previous section has been implemented as follows (see Fig. 3). In the proposed system, the OpenBCI V3 Cyton biosensing board was used to acquire the brain signals. We have chosen this EEG device for its advantages over other EEG systems such as modularity, relatively low cost, open architecture, and compatibility with different research platforms such as OpenViBE, EEGLAB, BCILAB and MATLAB, and since it provides APIs for different software development languages such as Python, C# and Java [24]. Once acquired the signals, such data is sent to the Main Controller which has a Single Board Computer (SBC) called Odroid XU-4 [25] as its main component. This component has the responsibility of performing the feature extraction and feature translation processes. The SBC also has the function of communicating with the Wheelchair Controller which was implemented using an Arduino Nano. In addition, the SBC also implements the functionality of showing the user interface through an LCD Screen. 1) EEG system: As indicated previously, the EEG signals (brain signals) are obtained by using the Cyton biosensing board. We also have used one active reusable flap snap electrode (TDE-202) located on the surface of the scalp (FP1) following the extended 10-20 system [26][27] with a sampling frequency of 250 Hz. Once the signals are gathered by the Cyton biosensing board, they are sent to the Main Controller using the Bluetooth communication. On the other side, the signals are received by the OpenBCI dongle of the Main Controller.
2) Main controller: This component has the function of executing the BCI application responsible for processing the signal, delivering the commands to the wheelchair controller, and working as the user interface of the solution. The main component of the controller is the SBC called Odroid XU-4 which implements the Ubuntu 18.04 operating system. The user interface of the application is shown in a 7-inch HDMI display-C with a resolution of 1046 x 600. We have chosen this SBC because it provides higher processing capabilities compared to traditional SBCs such as Raspberry Pi while maintaining the small size [19].
The user interface has been developed with a simple design to maintain an efficient interaction with the user (see Fig. 4). The interface shows to the user when the wheelchair is in movement and which direction it is going, as well as the commands that the user is inputting. This software was developed using an open-source framework called Electron which allows the creation of lightweight cross-platform applications using JavaScript, HTML and CSS.  As indicated in the general architecture, the SBC of the Main Controller includes a BCI application that receives the brain signals of the user to then convert the signals into wheelchair controlling commands. Once classified the commands, this data is sent do the Wheelchair Controller. The process of converting the raw brain signals into understandable wheelchair controlling commands are executed into the following steps: a) Feature extraction: Once received the raw brain signals, the application applies a 0.5 Hz high pass filter, a 50 Hz notch filter, and a 5-25 Hz band pass filter, following the directions delivered from one of our previous works [21]. Fig. 5 shows the difference between the raw data and the filtered data. b) Feature translation: After executing the feature extraction process, the acquired signals are classified into two types of blinks i.e. short blinks and composed long blinks [22]. According to S. Poveda Zavala et al. a short blink is detected when a user blinks normally; when a short blink is 51 | P a g e www.ijacsa.thesai.org performed by the user, the processed signal drops below -75 uV and it rises above 85 uV in a small period of time of 1.5 seconds (see Fig. 6). On the other side, the signals are classified as a composed long blink when the user closes their eyes from 2 to 5 seconds, opens them and then blinks quickly again; when this happens, the signal drops below -75 uV, it then returns to a normal state (between -25 and 25 uV), rises above 100 uV and then drops below -75 uV, all of this in a time frame of 2 to 5 seconds (see Fig. 7).
c) Signal classification: The classification of the signal is done by using a software developed in Python 3.7. We have chosen this programing language since it is compatible with the OpenBCI software library.
Once established the usage of short blinks and composed long blinks, the present work has generated an encoding system to classify a combination of different type of blinks into the commands that will be used to control the movements of the wheelchair. The proposed encoding system is shown in Table I, where a short blink is represented as a dot (.) and a composed long blink is represented as a dash (-). At this point, it important to indicate that, since this encoding system must not interfere with normal blinking patterns of the user, the present work has implemented the usage of four consecutive composed long blinks as the activation/deactivation command for the whole system. This combination was selected for this purpose since this pattern is not presented in a normal blink sequence of a person.

3) Wheelchair controller:
To control the electric wheelchair, it was necessary to rewire the control scheme of the device's joystick (see Fig. 8). The controller of the joystick includes an input device that allows to send information about the angle or direction of the movement of the wheelchair. This device is powered by a 5 volts direct current. The operation is based on a variable resistor, which changes the output voltage depending on the movement of the joystick lever. In idle state, the outgoing voltage signals from the Y to X axis are 2.5 volts. The joystick sends the voltage signals depending on the position of the lever (see Fig. 9). The wheelchair controller has reproduced the aforementioned signals by using a system created in an Arduino Nano. Since the Arduino Nano does not have a Digital to Analog Converter (DAC) system and since it only can generate Pulse Width Modulation (PWM) signals, the Wheelchair Controller has implemented an RC filter to obtain a DC voltage signal with low ripple (see Fig. 10). This solution allowed the generation of 0-to-5-volt signals through the analog terminal present in the Arduino Nano. The connection between the wheelchair power pins (see Fig. 11) and the Arduino Nano cables are present in the Table II and Fig. 12.
The Arduino Nano was powered by using the VCC and GND terminals of the wheelchair control system. The Arduino Nano receives the commands from the Main Controller through a serial communication. Once received the commands, the Arduino Nano interprets them and move the wheelchair to different directions. To simulate the real signals that the variable resistors deliver, a voltage ramp was implemented, which also allows to avoid sudden movements in the wheelchair. The commands that control the movement of the wheelchair are present in the following Table III.    The amount of time that the wheelchair realizes its movements can be customized depending on user requirements. In the present prototype, such variable was set with the period of one second since it was the most beneficial frame for the experimentation process. The speed at which the wheelchair moves can also be configured, in the present prototype; such variable was set with the slowest option in order to guarantee the safety of the user.

V. EXPERIMENTATION AND RESULTS
For the testing of the developed prototype, ten 20 to 45year-old healthy people participated in the experiment. Before the experiment, each participant used the system for a total of 2 hours to get accustomed to its functionality.

A. Experiment
The aim of the experiment was to test the speed in which the subjects could perform two tasks (see Fig. 13). In the first task, the participants would have to complete the following steps: (1) activate the system, (2) move forward, (3) turn right, (4) move forward and (5) deactivate the system. On the other hand, the second task consisted of the following steps: (1) activate the system, (2) turn right, (3) move forward, (4) turn left, (5) move forward, (6) turn left, (7) move forward, (8) turn right, (9) move forward, and (10) deactivate the system.
We have asked the participants to complete these two tasks 10 times to validate the consistency of the results. If the participant has failed completing a command, he would start all over again and have one attempt added to his total for that task, all participants would start with 0 attempts. Table IV shows the average number of attempts the participant needed to complete the first task. We believe that 0.82 attempts at 64.73 seconds 53 | P a g e www.ijacsa.thesai.org for the first task and 0.85 attempts at 140.59 seconds for the second task are acceptable for this developed prototype. The working prototype is shown in Fig. 14.

VI. CONCLUSIONS
In the present work, a BCI based wheelchair control system utilizing eye blinks was developed. The solution is made up of several components i.e. EEG System, Main Controller, Wheelchair Controller and Wheelchair that allows having a modularity to carry out updates (improvements) of their functionalities in a simple way. The developed system has shown that it requires a low amount of training time and has a real world applicable response time. Experimental results show that the users can perform different tasks with an acceptable grade of error in a period of time that could be considered as acceptable for the system. Considering that it was created for people with disabilities (e.g. people that suffer from MND), the system could grant them a certain level of independence. As future work, we will work in analyzing and classifying other brain signals for developing new solutions for people with disabilities.