Difference between revisions of "Contributions:DataGloveLogger"

From BCI2000 Wiki
Jump to: navigation, search
m (State Variables)
(Parameters)
 
Line 33: Line 33:
 
The 5DT Data Glove 5/14 Ultra is configured in the "Source" panel under the "Log Input" section.  
 
The 5DT Data Glove 5/14 Ultra is configured in the "Source" panel under the "Log Input" section.  
  
<code>LogDataGlove</code> - The command-line parameter is repeated here
+
===LogDataGlove===
<code>DataGloveDerivative</code> - Whether to read positions or changes in position.
+
The command-line parameter to enable the DataGloveLogger is repeated here.
<code>DataGloveHandedness</code> - A list of "left" and "right" strings.  If you set this to "left right" then the first left-handed glove found will become glove 1 and the first right-handed glove found will become glove 2.  Swap the order, remove one of the hands, or add further "left"s and "right"s as required.
+
 
 +
===DataGloveDerivative===
 +
Whether to read positions or changes in position.
 +
 
 +
===DataGloveHandedness===
 +
A list of "left" and "right" strings.  If you set this to "left right" then the first left-handed glove found will become glove 1 and the first right-handed glove found will become glove 2.  Swap the order, remove one of the hands, or add further "left"s and "right"s as required.
  
 
==State Variables==
 
==State Variables==

Latest revision as of 17:52, 22 March 2012

Synopsis

A framework extension that logs state information from the 5DT Data Glove 5 Ultra or 5DT Data Glove 14 Ultra into state variables.

Location

http://www.bci2000.org/svn/trunk/src/contrib/Extensions/DataGloveLogger

Versioning

Author

Peter Brunner (pbrunner@wadsworth.org), Jeremy Hill (jezhill@gmail.com)

Version History

  • 05/17/2007 pbrunner: Initial version;
  • 01/14/2009 pbrunner: Added support for the 14 sensor data glove.
  • 01/20/2011 jhill:
    • Revamped into 5DTDataGloveUltraLogger.cpp
    • Converted from Filter to Logger
    • Made v.3.0-compatible
    • Added support for multiple gloves (NB: This entailed changes to Parameter and State names)

Functional Description

The 5DT Data Glove 5 Ultra is a 5 sensor data glove with 1 sensor per finger that measures average of knuckle and first joint movement. The data glove is interfaced over its full-speed USB 1.1 interface to the computer. The sensor resolution is 12 bit with at least 8 bit dynamic range. The temporal resolution is 13.33ms which equals a sampling rate of 75 Hz.

The 5DT Data Glove 14 Ultra is a 14 sensor data glove with 2 sensors per finger that measures average of knuckle and first and second joint movement and the abduction between the 5 fingers. The data glove is interfaced over its full-speed USB 1.1 interface to the computer. The sensor resolution is 12 bit with at least 8 bit dynamic range. The temporal resolution is 13.33ms which equals a sampling rate of 75 Hz.

Vendor

The 5DT Data Glove 5 Ultra can be purchased from 5DT (www.5dt.com) as a right handed (5DT Data Glove Ultra 5 Right-handed) and left handed (5DT Data Glove Ultra 5 Left-handed) version for 995 USD each (as of 5/17/2007). The warranty involves a 30 day customer satisfaction guarantee and 1 year product warranty. It comes in a hard-plastic transport case (28cm x 10cm x 10cm) with the data glove, a manual, a CD and a 3m USB cable.

Integration into BCI2000

Compile the extension into your source module by enabling contributed extensions in your CMake configuration. You can do this by going into your root build folder and deleting CMakeCache.txt and re-running the project batch file, or by running cmake -i and enabling BUILD_DATAGLOVELOGGER.

Once the extension is built into the source module, enable it by starting the source module with the --LogDataGlove=1 command line argument. The fglove.dll dynamic link library has to be in the same directory as the executable module.

Parameters

The 5DT Data Glove 5/14 Ultra is configured in the "Source" panel under the "Log Input" section.

LogDataGlove

The command-line parameter to enable the DataGloveLogger is repeated here.

DataGloveDerivative

Whether to read positions or changes in position.

DataGloveHandedness

A list of "left" and "right" strings. If you set this to "left right" then the first left-handed glove found will become glove 1 and the first right-handed glove found will become glove 2. Swap the order, remove one of the hands, or add further "left"s and "right"s as required.

State Variables

For each of the 5/14 sensors of the 5DT Data Glove 5/14 Ultra, one state variable is stored with the data.

Relative to the old BCI2000 V2.0 DataGloveFilter, note two changes. Firstly, the state name encodes the glove number (examples are shown below for Glove1*; additional gloves will have higher numbers). Secondly, the sensors numbers are always 2 digits (Sensor01, Sensor02, etc).

 ----------------------------------------------------------------
 StateName      == Finger       | 5 sensor | 14 sensor 
 ----------------------------------------------------------------
 Glove1Sensor01 == thumb        | flexure  | flexure lower joint   
 Glove1Sensor02 == index        | flexure  | flexure at knuckle 
 Glove1Sensor03 == middle       | flexure  | flexure at knuckle
 Glove1Sensor04 == ring         | flexure  | flexure at knuckle
 Glove1Sensor05 == little       | flexure  | flexure at knuckle
 Glove1Sensor06 == thumb        | N/A      | flexure second joint
 Glove1Sensor07 == index        | N/A      | flexure second joint
 Glove1Sensor08 == middle       | N/A      | flexure second joint
 Glove1Sensor09 == ring         | N/A      | flexure second joint
 Glove1Sensor10 == little       | N/A      | flexure second joint 
 Glove1Sensor11 == thumb        | N/A      | abduction
 Glove1Sensor12 == index/middle | N/A      | abduction 
 Glove1Sensor13 == middle/ring  | N/A      | abduction
 Glove1Sensor14 == ring/little  | N/A      | abduction
 ----------------------------------------------------------------

See also

User Reference:Logging Input, Contributions:Extensions