Integrating Acquisition Devices

We now have several acquisition devices available within OpenViBE… It’s time to write a few words about it.

First of all, I should point out the different ways of communication with the device we met so far. Most of our drivers are based on a proprietary SDK which are shipped with the devices. This abstracts the low level communication part with the device and makes the integration being very fast. This includes the following drivers (in alphabetical order) :

Another common approach in the field seems to acquire the data from a proprietary software. This approach may sound strange when coming to realtime acquisition because it automatically includes an additional latency, but it seems that several hardware provider like this approach. The main advantage is that multiple amplifiers could be addressed with a single driver. This includes the following drivers :

And the last approach is to communicate directly with the device through bluetooth, serial port, USB, whatever direction connection is available. Better performances are achieved here but the low level programming could be difficult. For now this only includes :

About the second approach, I am surprised that hardware manufacturer don’t propose a SDK, even if the hardware is not directly addressed. Indeed, the driver developer usually has to communicate with the proprietary software at the TCP/IP level, making it almost as challenging as if he was writing a low level driver (and I’m not considering P2 protocol here – this one is very simple). The only benefit in this case is that more devices can be addressed.

Another approach I have never met so far (but I heard about hardware manufacturers proposing this) is a proprietary software recoding a file that you read with a short delay. I would not encourage anyone in this direction… Please request a SDK 😉

Last point I have heard about is the ability of some hardware manufacturers to provide a virtual device. That could definitely speed up developments and I guess implementing such virtual device from an existing SDK could be pretty easy. I integrated a VR motion capture device this way several years ago. That was very comfortable not to wear the device and to be able to debug and test the integration at early stage…

2 Comments to “Integrating Acquisition Devices”

  1. Sébastien "cb" Kuntz 16 April 2010 at 9:08 am #

    What about this device ? 😉

    http://graphism.fr/post/521090660/comment-bien-hacker-votre-cerveau-avec-mindflex

    • Yann Renard 16 April 2010 at 11:04 am #

      Well, I already read about this thing from another blog.

      First, this hack does not provide raw EEG data… As far as I understand it, this is only preprocessed results, basically the power of the brainwaves in 8 different frequency bands. This was enough for their application but the potential applications in OpenViBE is reduced.

      Second, I don’t really understand the need for such hack since Neurosky provides a free SDK to access those values, including raw EEG ! It is available on a dedicated page.
      The only good point is that this code is opensource so it could/will be ported on more platforms (e.g. Linux 😉 )… and of course that you could save 100$ on the device that you’d probably spend in the electronics involved in hacking the MindFlex or ForceTrainer 😉

      Our group at INRIA will receive a Neurosky Mindset soon…
      We will tell you what we can get from such device.

      Yann