Research Description
For the research project, my partner and I were presented with a proposition for an application that is able to read in EEG data from a BCI device and relay that information to a drone. From the data received from the EEG, the application utilizes this information to control the actions of the drone. Depending on the EEG data that is received, the data could potentially relay a different command to the drone. For example, for the drone to be able to move, the engagement must be above the threshold of (.2). Once the engagement is above the threshold, the drone is able to take off. Next, whenever the engagement passes the threshold, it will be compared to the last engagement that had passed the threshold. This will determine the direction of flight for the drone. An example of this is if the engagement was greater than the engagement before then you can pass a move forward command, and if the engagement was less than the previous engagement then you can pass a move backward command. What makes this application advancement from previous DREU programs, is the implementation of React, an interactive User-Interface, and Electron, a desktop application. While using React components, the project becomes more intriguing to use. From this implementation, we have made it easy to access this application and use it without having to have any background knowledge in Brain-Computer Interfaces.
Weekly Journals
# Week 1 & 2
# Problem 1
Problem: Menu bar wasn't displaying as showing up as in the video
Steps taken to try to resolve: read Stack OverFlows, GitHub solutions, eventually asked my mentor to help
Solution: Mac menu bars are located at the very top of the screen, not like windows in the browser view
#Problem 2
Problem: Require isn't defined error
Steps taken: read Stack OverFlows, GitHub solutions.
Solution: Syntax error. True => true, Require => require, code was out of order
#Problem 3
Problem: Index.js file isn't talking to index.html file
Solution:
//allows windows to talk to each other
{webPreferences:{nodePrefences: true}}
# Problem 4
Problem: In the VideoList.js file in the Covert application, In the function renderVideos, the line of code:
const { name, path, duration, format, timemark, complete, outputPath, err } = video;
Doesn’t work because you have to index to the video
… to fix
const { name, path, duration, format, timemark, complete, outputPath, err } = video[0];
#Week 3 & 4
# Problem 5
Problem: socket-io wasnt able to read in
socket.io-client.
Error was "Can't find module socket.io"
Solution: run in terminal
npm install -- save socket.io-client
#Problem 6
Problem: Require 'express' wasn't allowing me to read in the express.
Error was "Can't find module express"
Solution: run in terminal
npm install --save express
#Week 5 & 6
#Problem 7
Problem: Flip commands weren't working as they should
Solution: Documentation for Tello had key work "flip 'specify flip direction letter'"
i.e. "flip r" "flip b"
#Problem 8
Problem: Data couldn't be sent from ports because Maybe!! at the end of the night I just closed my laptop abruptly and Node froze in my computer
Error: Error [ERR_SOCKET_CANNOT_SEND]: Unable to send data
Solution: run in the terminal, this will kill all node modules running
killall node
#Week 7 & 8
#Problem 9
Problem: Data wouldn't flow from front end to backend with updated EEG data
Solution: in Datahandler in commands.js, put
socket.emit('data', weighted.engagement)
#Problem 10
Problem: Cannot read property 'signal' of undefined
Solution: I removed the bci.min.js file. Need that in because of the version on BCI
#Week 9 & 10
# We were just fixing small bugs in our application and focus on getting all the milestones completed.
# Week 1 & 2
# Problem 1
Problem: Menu bar wasn't displaying as showing up as in the video
Steps taken to try to resolve: read Stack OverFlows, GitHub solutions, eventually asked my mentor to help
Solution: Mac menu bars are located at the very top of the screen, not like windows in the browser view
#Problem 2
Problem: Require isn't defined error
Steps taken: read Stack OverFlows, GitHub solutions.
Solution: Syntax error. True => true, Require => require, code was out of order
#Problem 3
Problem: Index.js file isn't talking to index.html file
Solution:
//allows windows to talk to each other
{webPreferences:{nodePrefences: true}}
# Problem 4
Problem: In the VideoList.js file in the Covert application, In the function renderVideos, the line of code:
const { name, path, duration, format, timemark, complete, outputPath, err } = video;
Doesn’t work because you have to index to the video
… to fix
const { name, path, duration, format, timemark, complete, outputPath, err } = video[0];
#Week 3 & 4
# Problem 5
Problem: socket-io wasnt able to read in
socket.io-client.
Error was "Can't find module socket.io"
Solution: run in terminal
npm install -- save socket.io-client
#Problem 6
Problem: Require 'express' wasn't allowing me to read in the express.
Error was "Can't find module express"
Solution: run in terminal
npm install --save express
#Week 5 & 6
#Problem 7
Problem: Flip commands weren't working as they should
Solution: Documentation for Tello had key work "flip 'specify flip direction letter'"
i.e. "flip r" "flip b"
#Problem 8
Problem: Data couldn't be sent from ports because Maybe!! at the end of the night I just closed my laptop abruptly and Node froze in my computer
Error: Error [ERR_SOCKET_CANNOT_SEND]: Unable to send data
Solution: run in the terminal, this will kill all node modules running
killall node
#Week 7 & 8
#Problem 9
Problem: Data wouldn't flow from front end to backend with updated EEG data
Solution: in Datahandler in commands.js, put
socket.emit('data', weighted.engagement)
#Problem 10
Problem: Cannot read property 'signal' of undefined
Solution: I removed the bci.min.js file. Need that in because of the version on BCI
#Week 9 & 10
# We were just fixing small bugs in our application and focus on getting all the milestones completed.