Wednesday, September 13, 2017

OpenBCI / P300 Speller Integration Quick Start Guide (HMI)

Objective: The objective of this guide is to provide an overview of the steps used to get an OpenBCI UltraCortex with embedded Cyton board properly integrated with the Openvibe P300 Speller software. It is not meant to be a comprehensive guide but just enough to get anyone (just getting started) pointed in the right direction. Time permitting, in the future, a more detailed guide may replace this one or be added.

Step1.) Download and install P300 speller application by Openvibe.
Note: Where ever the program installs permissions will need to be adjusted to allow add, update deletion of log files.

Step 2.) Attain the proper electrode position layout & relocate electrodes and re-wire to Cyton board.
10_20_System:
                                                                                                  Figure 1.
Note: The numbers in red 1-8 in figure above.
Step 3.) Plug the Cyton Dongle into a USB port.

Step 4.) Power on the Cyton board.

Step 5.) Launch the Openvibe Acquisition Server program and configure a proper driver and confirm connection.
Note: Driver Properties set to Automatic, change channel names per figure 1 above (1-8), 1 being C3.
AcqServConnect:
                                                                                                   Figure 2.
AcqSrvPlay:
                                                                                                   Figure 3.
ChannelNamesAdj:
                                                                                                   Figure 4.
 Note: Found under the "Driver Properties" button.

Step 6.) Launch the Openvibe Designer program & launch the signal-monitoring utility. This is used to confirm brain signal's are actively being received from each electrode (we left this running to ensure we could confirm brain signals at any time).
Note: During our initial experiment we used:
<InstallLocation>\share\openvibe\scenarios\bci-examples\p300-speller-xDAWN\p300-xdawn-0-signal-monitoring.xml.

SigMonLaunch:
                                                                                                    Figure 5.

SigMonPlay:
                                                                                                    Figure 6.

SigMonChannels:
                                                                                                     Figure 7.

Step 6a.) Adjust to only the channels defined from the Note in Step 5, figure 4.
SigMonAdj:
                                                                                                      Figure 8.
SelectChannels:
                                                                                                      Figure 9.
Highlight_onlyChannelsWanted:
                                                                                              Figure 10.     
   
Step 6b.) Observe the signal channel's now being monitored.
SignalMonitoring:
                                                                                                     Figure 11.

Step 7.) Launch the Acquisition program (p300-xdawn-1-acquisition.xml). Once we had a good training file (where the results where above 85%) we proceeded.
Note: At the conclusion of each exercise a log file was written to the following location:
<InstallLocation>\share\openvibe\scenarios\bci-examples\p300-speller-xDAWN\signals\

Acquisition_XML:
                                                                                                      Figure 12.

Step 8.) Launch the Training program (p300-xdawn-2-train-xDAWN.xml) and point the program to use the best percentage result Acquisition results file possible. We then used the fast forward selection to quick process the file results, be patient & watch the lower console window.
Note: This is where a detected error prompted the alternation of user file/folder permissions.

Train_XML:
                                                                                                       Figure 13.

AccuTargFile:
                                                                                                      Figure 14.
Note: to select and change double click “Generic stream reader” on XML panel page, shown above.

Step 9.) Launch the Classifier program (p300-xdawn-3-train-classifier.xml) and point the program to use the best percentage result Acquisition results file possible (using the same method as in the previous step). We then used the fast forward selection to quick process the file results- which will show the percentage results, be patient & watch the lower console window.
Note: This is where a detected error prompted the alternation of user file/folder permissions.

Classifier_XML:
                                                                                                      Figure 15.

Step 10.) Launch the Online program (p300-xdawn-4-online.xml) to begin using the P300 speller program to actually begin spelling letters using a test subject's brain. The program will show a source letter at a time (in blue), go through it's gyrations then show the resulting letter your brain should have focused on (in green).
Note: the source and resulting letters are depicted at the bottom left of the screen.

Online_XML:
                                                                                                     Figure 16.
AcqSrv02:

                                                                                                   Figure 17.

Human Brain Computing Interface Technology Acquisition Review (HMI)

Objective:
The purpose of this document is to outline our experience with OpenBCI for review by others curious about this offering.

Experiences:
Website: Easy to navigate around.

http://openbci.com

Information/documentation look-up was fairly easy just a little slow awaiting Wordpress processing. Ordering was surprisingly simple and an order/charge confirmation was quickly sent as well as notices for shipping (with tracking numbers).

Software: download was simple as well as installation and very much has an Open-source feel to it (meaning with Windows it does not have an MSI installer and just opens within the sub-directory it is uncompressed to). Upon launching the application, as expected, the anti-virus complained but after re-configuring the anti-virus software to accept the application this issue went away. We also scanned the software download, prior to install, to ensure the download didn't contain anything nefarious.
We also downloaded a brain to text software from OpenVibe under GNU public free license in order to evaluate combined ability to type text to a computer using the Ultracortex/Cyton as an interface between the human brain and computer. The Openvibe software used an msi installer and installed without issue, of course, we also did an anti-virus check on it once downloaded.

Forum: We inquired to the Forum about the proper sizing of the head-gear. We received a response within 15 minutes but the reply required further clarification (which gave more specifications along with the word “should” fit and a recommendation to contact OpeBCI directly). We also noticed a piggy back board (for the Cyton) that could increase its capability to 16 channels and at additional $400 investment. We are hopeful that this piggy back channel extension board can be acquired separately in the future; however, there was no option for this type purchase- we will inquire at a later date after it is determined that the technology works as depicted.

Ordering: We ordered the Ultra-cortex Mark IV-16 with Cyton board on Monday and anticipated delivery by end of day Saturday. The order arrived as scheduled and in perfect shape.

Construction: Everything went together as instructed, had to search around a little with Google, for clarity/pictures, some of the links on the OpenBCI page were broken and wiring the Cyton board was a little vague- but we were able to figure it out.
We pre-downloaded and installed the OpenBCI software and installed the required drivers (including an update to the dongle itself) as instructed. There was an issue on a Windows 7 32-bit system where the OpenBCI Gui software will launch but the Gui never finishes loading (will need to re-visit, could be Virus software related). The Windows 7 64-bit system installed and operated as documented. We experienced intermittent issues communicating to the Com port and RF communication between the dongle and the Cyton board; however, the issue ended up being interference from a wireless mouse (once turned off we could move the dongle around to any of my USB ports (usb 2 or 3) and the system consistently worked. During research and troubleshooting we noted a recommendation to update the Com port Latency setting from the default of 16ms to 1 ms (this was done and we noted quicker brain scan channel graph results).

Warranty: Based on our intermittent issues we reviewed the warranty with OpenBCI and it was covered within the first 30 day's but at their sole discretion of replacement (not necessary a refund) and with no RMA policy the return shipping was left up to the customer. Provided everything works- great, but if you have to send something back for re-test/repair in the first 30 day's plan for added expense. I contact sales@openbci.com and were very helpful and quickly gave me an address and a primary contact. Fortunately our issue ended up being wireless mouse interference and we did not have to return anything.

End Result: It took longer then the advertised 30 seconds to be up an running; however, once we finished building (we chose the un-assembled option) and resolved the interference issue we were able to turn everything on, start the software, deploy the Ultra-cortex to a test subject with ear clips and begin brain wave monitoring and observation (as shown in their video presentation).