Contributions:DataGloveLogger: Difference between revisions
| (One intermediate revision by the same user not shown) | |||
| 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. | ||
===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== | ==State Variables== | ||
| Line 59: | Line 64: | ||
Glove1Sensor12 == index/middle | N/A | abduction | Glove1Sensor12 == index/middle | N/A | abduction | ||
Glove1Sensor13 == middle/ring | N/A | abduction | Glove1Sensor13 == middle/ring | N/A | abduction | ||
Glove1Sensor14 == ring/little | Glove1Sensor14 == ring/little | N/A | abduction | ||
---------------------------------------------------------------- | ---------------------------------------------------------------- | ||
</pre> | </pre> | ||
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 ----------------------------------------------------------------