Grip Force User Notes
Getting Started
To get started using the grip device with a 932 interface:
- connect the grip force device to a long optical bundle extension
- connect the bundle extension to the 932 interface
- (do not start out by connecting the grip force device directly to the 932)
- use the knob to select Autoconfigure
- this should narrow the options to USB, SERIAL, TTL ONLY, and BACK.
- choose USB for starters, then choose HID JOYSTICK
- if the USB indicator in the top left is blinking, make sure you have a USB cable connected to the computer
Now use the windows game controller control panel to do a basic qualitative check. It should look something like this:
This display will let you confirm that the cursor moves up and down when you squeeze a one axis grip force device. It does not give you quantitative information, but just lets you check that things are basically functioning. And you should be able to confirm that the signal is not behaving in a saturated way: that is, that it tends to move any time force is increased or decreased.
Scope
The "scope" of gamepad/joystick data is not system-wide they way mouse and keyboard data are. This brings advantages and disadvantages. It it easy to get keyboard data, but hard to take over the keyboard exclusively (keeping other applications from accessing it) for example. With joystick data you need to connect the joystick to your program, and then you can read its output.
A Python Example
For our testing we use python almost exclusively now. This program
gf_test.py can help you get started collecting data from the grip force device. To run it you'll need python3 installed and also pygame.
Once you have this running you can use it to create a quick approximate force calibration by
- record the resting (no force) output signal -- this becomes P0
- record the signal at max force (easily felt with a 100N spring set) -- this becomes P1
Now use P0 and P1 to solve for y = mx + b. For example, if you have a resting signal of 0.68, and a max force signal of 0.2, then P0 = (0N, 0.68) and P1 = (100N, 0.2).
So the signal in terms of force would be:
signal = force * -0.0048 + 0.68
Re-arranged for force in Newtons:
force = (output - 0.68)/-0.0048
This is quite approximate because the force vs output is not perfectly linear and there are also variations from one squeeze to the next arising from mechanical limitations.
Also (obviously): these numercial exmaples are just examples. Your numbers will undoubyedly be different.
Most programs used for psychometrics can read generic joystick data but we are not expert users of any of them. Please contact us if you are struggling with any of these and we will try to help.
See Also
- TethyxUserNotes - has some useful information about the USB data scaling and the serial (RS-232) output mode
--
BenDugan - 18 May 2021