Input Tech (Photo-reflector and Accel Gyro)

In games, especially those when we are housed within an avatar, we are often granted a set of hands to work with.
With them, we connect with a multitude of other virtual objects to accomplish our goals.

Situating an actual hand into the virtual world would require an emulation of its complex mechanisms.
This can be done by obtaining both the position of one's arm and the movements of its hands.
UnlimitedHand allows you to do so by means of it's Input Technology
consisting of an array of Photo-Reflectors and an Accelerometer-Gyro sensor.

In this tutorial, we will gain understanding of UnlimitedHand's Input Technology.

1.0 Detecting Hand and Finger Movements with Photo-Reflectors

An array of Photo-Reflectors are arranged on a V-shaped resin sheet to match with the position of key forearm muscles (Figure 1).
This enables the UnlimitedHand to optically read in the motion of your forearm muscles to deduce the movement of both hand and fingers.


Figure 1. Arrangement of Photo-Reflectors (When used on the Right Hand).

By monitoring serial values see (Figure 2) coming from specific Photo-Reflector combinations,
one may track 3 main types of movements performed by the hand, see (Table 1).
Check Step 4. from this tutorial to make sure you are collecting Serial values from the device.


Figure 2. Correspondence between Serial Values and Photo-Reflector Location (When used on the Right Hand).

The three movement types: Finger motion, Ulnar/Radial deviations and Wrist motions.
can monitored by addressing different combinations of Photo-reflector values.
Note: The information listed in the following table applies only when worn on the RIGHT HAND.

Points(channels) of Photo-Reflectors Hand Movements
Channel 0, 1, 2, and 3 Finger Motions
(it is changed by right or left hand)
Channel 4 and 7 Radial and Ulnar Deviation
(it is changed by right or left hand)
Channel 5 and 6 Open Hand and Wrist Motion(Extension)

Table 1. Photo-Reflector Combinations to track specific Movement Type (When used on the Right Hand)

1.1 How to Use

Hackers of the UnlimitedHand may call the following functions to collect data from specific points(channels) on the device.

For Arduino Functions: initPR/ readPR/ readPR_array

For Unity Functions: updatePhotoSensors/ readPhotoSensors

For Processing Functions: readPhotoSensors/ updatePhotoSensors/ updatePhotoSensorsString

2.0 Tracking movement with the Accelerometer-Gyro sensor

As long as the UnlimitedHand is firmly strapped to your forearm, an Accelerometer-Gyro sensor embedded inside the main case of the device is able to track maneuvers and the position of your arm. Motions tracked can then be transferred into games to achieve real time interactions.

2.1 How to Use

Hackers of the UnlimitedHand may call the following functions to read in 3 dimensional Acceleration values representing maneuvers, as well as 3 separate angle values representing the orientation of your arm.

For Arduino Functions: setupAccelGyro/ initAccelGyroKalman/ readAccelGyro_XYZ_Kalman/
readRawAccelValues/ readRawGyroValues

For Unity Functions: readUHJointAngles/ updateAngle/
readUH3DAccel/ readGyro/ updateUH3DGyroAccel