Brainwave Donation Procedure - 3C-SCSU/Avatar GitHub Wiki

Donation Procedure

Donations require at least two users.

  1. Operator - Operates OpenBCI software, adjusts headset, coordinates starting and stopping a recording, stores data
  2. Volunteer - Wears the headset and follows the visualization procedure to generate data

Current Procedure

Current donations should use procedure v1.03. Follow the operations procedure and have the volunteer record data by mentally thinking of giving voice command following Operation Procedure v1.03

Saving Brain Waves

Video Demonstration

Operations Procedure - v1.03

  1. Place Volunteer on a chair in front of the central table in the BCI lab, facing the command card on the table.
  2. Complete Headset Preparations outlined below
  3. Have Volunteer thinking as if giving voice command to the drone as using voice assistant.
  4. Operator tells Volunteer to stay seated quietly and pause 10 seconds before start reading.
  5. Operator gives instructions to Volunteer when to start mentally think the command on the card and a 5 second warning.
  6. Operator records data stream for 10 seconds
  7. Operator stops data stream and tells Volunteer to stop thinking to have a 10 second break.
  8. Repeat Step 1 and Step 2 trying to generate at least ten files of data per drone action.If the next step is a new card thought command, have a longer break (30 sec) before repeating the step.
  9. Operator saves the files in a directory with a name corresponding to the label associated with the drone action

Mental Voice Command Procedure - v1.02

As referenced in the operations procedure, visualize all actions from the perspective of the drone, similar to the view one would see from the drone's camera feed or using the Virtual Reality mode with the VR goggles. Visualize the action completing and repeat the visualization throughout the duration of the 10 second data stream recording until told to stop by the Operator.

  • Drone go backward - Drone hovering above the table moves backward in a straight line away from the front of the table.
  • Drone go forward - Drone hovering above the table moves forward in a straight line toward the front edge of the table.
  • Drone go land - Drone hovering above the table moves lands on the tables surface.
  • Drone go left - Drone hovering halfway above the table moves in a straight line horizontally to its left.
  • Drone go right - Drone hovering halfway above the table moves in a straight line horizontally to its left.
  • Drone go takeoff - Drone takes off from the table's surface.

Headset Preparations

  1. Prepare a set of paired up devices (headset/dongle). Turn on and plug in the dongle. Turn on the headset.
  2. Run the OpenBCI_GUI on your machine.
  3. Select CYTON(live) and click Manual in SERIAL CONNECT box.
  4. In the list under SERIAL/COM PORT, click the serial port appear. If you don’t see any, click REFRESH LIST and the port using by dongle should appear.
  5. Click on SYSTEM STATUS, if your headset and dongle are paired, it print a message on the console: "Success: Host and Device on Channel number: [n]",where [n] is the current channel number using. Otherwise check the Headset Pair Up.
  6. In the CHANNEL COUNT (16), select 16 CHANNELS, and BRAINFLOW STREAMER set to file using default location. We tried to use customize file path, but it didn’t work well. The default file location is home//Documents/OpenBCI_GUI/Recordings.
  7. After the setting is done and connection between headset and dongle success, click START SESSION.
  8. Click Start Data Stream, Check the signal status and try to make them all NOT RAILED. Adjust the sensor on the headset to get better signal.

Headset Pair Up

Sometimes when there are multiple pairs of devices running on the same time, and the signals will get jammed to prevent successful connection between the running headset and dongle. Here is how to prevent it with appropriate setup and other known issue. The dongle and headset connect with each other by staying in the same channel (1 to 25, default channel is 20). There are multiple reasons for the signal to get jammed or fail to connect the dongle with devices. Either there are multiple dongle connected to single headset or the headset switch to another channel with another dongle. So the key point is to pair them up before hand and try not to change their channel. Here is how we can do it:

  1. Launch OpenBCI_GUI. Under System Control Panel, select CYTON(live).
  2. Turn off all the headset and dongle.
  3. Turn on only 1 headset, then turn on and plug in only 1 dongle to your computer.
  4. In box SERIAL CONNECT click Manual. Select the serial port name in the list of SERIAL/COM PORT (there should be only 1). If there is nothing on the list, click REFRESH LIST. Then click SYSTEM STATUS to check if the headset and dongle are already paired up. A successful message of connection will be printed if they are a pair, else it will print a message of "Failure: Host on Channel number: [channel number]".
  5. To pair them up, click on AUTO-SCAN. This will pair the dongle with any available headset around no matter whether it was pair already or not. By success it will print a message of "Success: Cyton and Dongle are paired."
  6. This is how we can pair up the headset with the dongle. Now click on SYSTEM STATUS to check their channel number and record it. From now on we can be sure they are paired on a specific channel. Don’t change the channel of either the headset (Cyton board) or the dongle if unnecessary.
  7. Now unplug dongle and turn off the headset that are paired up. Repeat the process from step 2 on another set of headset and dongle to pair them up. If the second or any of the follow pair happen to have the same channel number with previous pairs, change the channel of the dongle by click on OVERRIDE DONGLE and select a number to switch it to another unoccupied channel before AUTO-SCAN.

Caution:

  • If you do need to change the channel of the paired headset and dongle, use CHANGE CHAN. To switch the dongle and headset to another unused channel when multiple pairs of devices are running, or do OVERRIDE DONGLE → AUTO-SCAN when only your dongle and headset is running.
  • Don’t use AUTO-SCAN or AUTO-CONNECT when there are more than one set of devices running. It will mix-up current connection and cause jammed signals. Always manually set up the connected before brainwave reading.
  • Don’t change the channel of the paired devices if unnecessary, especially when there are multiple devices are running.

Signals: You can notice the problem with the signal by following characteristics:

  • Signal stopped unintentionally headset running out of power. ------ change the battery headset break with current dongle and connected to other dongle, can be caused by Auto Scan or Auto Connect by other user ------ repeat the pair up process

  • Signal losing package, appear as obvious lagging through out the reading can be caused by multiple dongle connected to single headset (Auto Scan or Auto Connect)------ unplug the other one and pair that up to another headset.

  • Headset channel status (the channel of the sensors, not the channel of connection with the dongle) changed completely, which is another case of headset break with current dongle and connected to other dongle, can be caused by Auto Scan or Auto Connect by other user ------ repeat the pair up process

  • Fail to start the session even the connection between headset and dongle are fine ------ not completely solved, but restart the software or change the battery might work.

Issue left unsolved:

  1. Unrecognizable channel number on OpenBCI_GUI console window (that little black screen under manual connection setting). Reason unknown.
  2. Unrecognizable text on OpenBCI_GUI console window.

Notes:

  • Check if the volunteer has a history of migraines. If so, consider having the volunteer not donate or be prepared to request ending the session early if needed.
  • It may be difficult to get a good reading or placement of the headset on volunteers with thick hair or large heads
  • It may be easier and more comfortable to loosen the spikey and flat units before placing the headset on the volunteer
  • Be careful when loosening or tightening the spikey units so that the wires are not twisted or disconnected
  • When setting the file location for brain streamer, the data may still be saved to default location of /home/[user]/Documents/OpenBCI_GUI instead the file location you chose. Check there if you didn't see data files in your chosen location
  • Before you officially start the brainwave reading, remove the data generated from signal testing or previous reading in the default file location.
  • After you click Start Data Stream, a folder named by timestamp will be created in default file location, the timestamp used is the first time you start the session, you can modify the file name before the session start. Each time you start the data stream, a CSV file in txt form will will be created in the folder.

OpenBCI documentation

Procedure Log: TODO: insert link to procedure log

Additional Information

IRB

In order to maintain compliance, all volunteers must complete a consent form.

Standardized Donations

In order to generate a more accurate model, it is best if all brainwave data is generated following a similar pattern. As more data is collected, the model can be retrained and upgraded using additional data and alternative donation procedures.

Labeling

For model training, it is important that the correct label can be attached to the brainwave data. Currently, we are storing data in directories with names corresponding to the action the volunteer was thinking about when generating the brainwave data.

Current Labels

These are the labels associated with model v3. Update this field as new models are generated with additional action possibilities.

  • backward
  • down
  • forward
  • land
  • left
  • right
  • takeoff
  • up
⚠️ **GitHub.com Fallback** ⚠️