Febo Cincotti, Ph.D.
Fondazione Santa Lucia
Via Ardeatina, 306
I-00179 Roma, Italy
Tel +39 06 5150 1466
Fax +39 06 5150 1465
The Laboratory of Neuroelectrical Imaging and BCI at Fondazione Santa Lucia has started one year ago the development of an assistive system for motor impaired individuals (Aspice), with the aim to allow them to control domotic appliances and a small robot.
While it was straightforward to sort out how to connect the individual conventional aids (joysticks, buttons, levers etc) as input devices to the system, we have been thinking a lot about the best solution to link the BCI as source of control.
Since BCI2000 was already regularly used for subject training in our laboratory, we considered writing a new Application module for the purpose. Since no C++ programmer was available at that moment, we asked the development group whether it would be possible to get access to information within BCI2000 in real time.
The solution came in less than one day. In fact, the architecture of the software allowed the developer to add a “communication channel” between BCI2000 and any external applications, including ours. Technically speaking, a new filter was introduced in the last stage of the signal processing module. This filter opens a UDP socket on a custom port, and transmits to the connected client the BCI2000 states.
On the Aspice side, it took one more day to create a new input module in Java language, which connects to the BCI2000 socket and interprets the cursor position of the D2Box Application as a virtual joystick, and forward it as input to the Aspice core.
Thus, two days after we resolved to use BCI2000 as BCI system in our project, we were able to start the on-line tests. Any other solution would have required at least a C++ programmer to be rented, and longer startup times for our experimentation.
We are currently exploiting the versatility of BCI2000 to refine the first quick implementation, and we plan to have new Application modules that will allow the user a smooth transition from the training environment to the application of BCI to daily activities.