Team Status Report for 02/19/2022

We ran more trials with the Emotiv Insight and discovered that tongue movement comes up very distinctly in EEG output. Our EmotivePRO Student license and developer license were approved by ECE and Emotiv, so we now have the ability to obtain and analyze more information. This included more exploration of the Emotiv applications and their capabilities. We finalized input details for how user intentions and actions from EEG and EMG will be processed within our pipeline and transmitted to the user interface. Signal processing will be based on Python since the data from EMOTIV is sent directly through the EMOTIV API; therefore we will not use a third party application for signal processing that we planned to. Our current design will use ML to classify winking, tongue movement, and blinking from EEG sensing and use hard coded thresholds to classify left and right shoulder movement from EMG electrodes. On the software side we decided to use Flutter for app development and use wireless sockets to connect the front-end and back–end applications together. The preliminary user interface layout was designed.

 

Jean’s Status Report for 02/19/2022

This week my main focus is looking into the signal algorithm and process design. At first I was thinking of using the signal processing application. I was looking deeply into using the BCI2000(widely used BCI signal processing platform) and BCIlab(real-time MATLAB extension). However, both wouldn’t support our headset model and we would run into the problem of connecting the  EMOTIV data acquisition app, the processing app and the interface app together. After finding out that the EMOTIV API can obtain the data directly from the device with all the classes and structs defined. I changed my idea to using python (in which EMOTIV API is written in) and will do all the steps of signal processing from there instead. I was trying out the headset trials with my friends a couple of time but it seems that I may not be a good subject since my data is very noisy. Thus, that is one thing we may have to explore later if things would be fixed after we changed to the new set of electrodes that we have just ordered. This week I have read a lot of research papers and about neural signal processing techniques. In our design, I planned to train a model with a lot of collected datasets. We will also have to apply our bandpass filtering to detect certain brain waves, like beta and alpha that may be useful information to validate the data and the user activity. I have read on the paper that some were using tongue movement for the experimentation and when we tried, we found out that it could be a potential control data. I also read more about machine learning algorithms after Jonathan’s suggestion on using the random forest. I found that support vector machine(SVP) and neural network is a good option too. Though, I will go meet up with a neuroengineering PhD that I know for advice on our choices and review my design.

Jonathan’ Status Report for 02/19/2022

This week, much of my work was blocked by purchasing and licensing issues associated with the Emotiv application and ECE purchasing. We obtained the license to collect data from the EmotivPro API on Wednesday. I spent Wednesday experimenting with the enabled features that a fully licensed EmotivPro application can obtain. I then applied for the separate developer license from Emotiv to allow data collection through a third-party application out of the Emotiv ecosystem. We plan to poll data from the Emotiv API in our final product and this license gives us the ability to do so. I also did some more experimentation with calibrating and collecting data from the Emotiv Insight and am formulating a data collection schema to sample enough data for building an initial ML model to recognize our desired user actions. I plan to use the EmotivPro application to collect continuous and marked recordings of EEG waves with our desired features. From there, I will export the files and automate creating separate test samples from the data. This will allow us to pull features from our data. Using this method, I hope to collect around 100-200 total samples for building our signal processing model. My final task for this week included scoping out parts for building the EMG input to our product, which allowed me to build a detailed block diagram for our design presentation.