VRET physiological

From vret
Jump to: navigation, search

For physiological measurements we use the TMSi Mobi8 wireless sensor system. It transmits data via Bluetooth.

WARNING. Make sure you got some proper instructions before starting to use this device. Improper use may be LETHAL.

System Requirements

THIS IS OBSOLETE - THE PCDRIVER USES THE NATIVE WINDOWS USB DRIVER AND WORKS WITH WIN7 AS WELL.

To communicate with the TMSi software library to communicate with the Mobi8, we need to use a dll provided by TMSi. Therefore we are bound to their system requirements even though it is very likely that implementation on other systems would be simple. The TMSi requirements on their website (29aug2010) are:

  • Personal Computer (desktop or laptop) Pentium 4 or equivalent with 1GHz, 256 MB memory, or higher
  • Microsoft Windows XP (32 bits version)

However on their downloads page we read that there is a possibility for 64 bit support:


For drivers, help or further information , please do not hesitate to contact us at support@tmsi.com. When contacting support mention in every case,

* the serial number (SN) and/or reference number (REF) on the back/bottom of the product.
* the Operating System (32 or 64 bits OS) including service pack which is running
on the PC or Laptop. (click start>Run, type in "Winver" and press <Enter>. If the
resulting dialog box does not explicitly state that you have a "64-bit Edition", 
then you have a 32-bit-OS)

Low-Level connecting with Mobi8

You need these steps if you want to make a real-time connection between the Mobi8 and a computer (eg the VRET system or your own program).

  • Make sure you followed the Mobi8 installation instructions in the PortiLab2 manual, pages 19-21 up to step 9. If the software was installed before, you can just insert the bluetooth dongle and start at step 2. The installation CDs (PortiLab and LinkSys BlueTooth USB driver) are also available on our svn server.
  • At step 6 of the manual, if you right-click on the Mobi8 device you can select "connect" right away. If you entered your password before it will not ask for a password again. The password is the last 4 digits of the serial number of the Mobi8 as shown in the browser and on the label on the bottom of the box, in our case usually 1006 (mobi8) or 0009 (amsterdam mobu6). Note that this deviates from the manual that talks about 00xx numbers
  • The connection automatically disconnects after a minute, unless you started your readout software before that time.

In the [browser:Tools2/src/Mobi/RawDataMobi.py] you find the channel assignments for connection.

On mobi6, 0 is labeled '1' on the Mobi6, 3 is labeled '2', etc. 6 and higher is the connector on the back side.

On mobi8, 0 is labeled 'A', 1 is labeled 'B', 5 is 'E', and from 8 upwards is on the back side.

SKIN_HR is used for measuring heart rate using skin sensors

GSR is used for galvanic skin response

TEMP is used for temperature measurement

NONIN_OX is the oxygen sensor via the nonin

NONIN_HR is the heart rate sensor via the nonin.

mobi6: {'SKIN_HR':0, 'GSR':4, 'TEMP':5, 'NONIN_OX':6, 'NONIN_HR':8 }

mobi8: {'SKIN_HR':0, 'GSR':4, 'TEMP':5, 'NONIN_OX':8, 'NONIN_HR':10 }

O2 and Heartrate with Nonin XPOD 3012

The Nonin XPOD is a sensor that can be attached to the finger tip. It measures the O2 rate and it also estimates heart rate from this measurement. The sensor attaches to your finger like in the picture. The other end of the sensor is a special 4-pin LEMO attaching to the special connector in the front of the Mobi8.

More documentation on the Nonin is SVN

8000AA sensor.jpg

Temperature

The temp sensor we have is TMSi 95-0104-601-0-1. Tempsensor.jpg

Galvanic Skin Response

Galvanic Skin Response (GSR) measures skin conductivity from the fingers and / or palms. The GSR is highly sensitive to emotions in some people. Electrodermal Response EDR is actually the medically preferred term for changing of electrical skin resistance due to psychological condition.

The VRET system expects the GSR to be connected to channel E.

The picture below shows how to connect to the user. Any combination of fingers on the hand seems to work, I am not sure if there is a medical approved way. We also sometimes use the green ground connector attached to the wrist to improve the signal quality (theoretically), but we did not find any effect of this on the measurements.

Gsrnxt.jpg [1]

Documentation on conversion of measurements is on svn: [2]

Heartrate with Electrodes

The figure below shows how to connect the pads for a heart rate measurement. This is less convenient than the Nonin module but it may be needed in cases where the subject needs to use his hands. The green ground pad is in the one corner, the red and black sensors "1" are diagonally placed wide apart, on the chest. The exact position is not so relevant. Note the taped-off sensors "2", it is important to tape them off so that they do not accidentally connect to something. Also avoid sharp kinks in the cables (so NOT as in the picture).

Heartmeas.jpg

Figure. Pads configured for heart rate measurement


Mobi8.jpg

Figure. Connections on Mobi8 for heart rate measurement

In the figure below you can see also a heart-beat set-up. I guess it is combined with a sweat measurement on the chest.

Physiological.jpg

Figure from TNO, placed by Willem-Paul.

If you connected it right you should be able to measure something like this:

Heartbeat.jpg

Figure. Heart Beat of Willem Paul, auto scaled, foto of screen running Portilab2.

Reading out Mobi8 with Python

The windows dll (PortiSerial.dll) is used directly from Python, using the python-win32 bridge (pywin32 aka win32com.client). We received some info on the DLL straight from the manufacturer, which is here.

  • get the demo python script from Mobi8python and copy it to a text file named mobi8.py
  • The mobi8 communication is handled via the PortiSerial.dll that comes with the installer and with the File:PortiSerial v16.zip demo program (a visual basic project) that was provided to us by TMS. The PortiSerial.dll can also be retrieved directly here File:PortiSerial.dll
  • Copy the PortiSerial.dll from the demo program into the directory containing the python script (or at any other convenient place?).
  • open console, CD to directory containing the dll
  • execute
    regsvr32.exe PortiSerial.dll
  • execute
    python mobi8.py


reading out heart rate

To get an estimated heart rate, you can use the python script on Mobi8PythonHBR

Reading out Mobi8 with Visual Basic

NOTE: THIS IS OBSOLETE SINCE WE HAVE THE PCDRIVER. You need visual basic 2003 (or 2005, using conversion). 2008 will not read the project file.

  • Install the demo program
  • Follow instructions in the comments of the demo program particularly about executing regsrv32.exe. If you forget this PART OF the dll functions will not compile while the other part does compile.

Reading out muscle tension or respiration

There is useful information on this on the TMSi Website:

muscle tension setup

respiratory reading

Connecting with VRET

To connect the Mobi8 with VRET, you need to follow the steps in the low-level connection section. After that you should be able to run the Tools/Mobi8/Mobi8SignalDispatcher. After that you can run the modules GalvanicSkinResponseMobi8, HeartRateMobi8, HeartRateMobi8Finger, or OxRateMobi8. You should not try to run both HeartRateMobi8 and HeartRateMobi8Finger at the same time as they both dispatch heart rate events over the same channel.