Hacking the P5 Virtual Reality Glove


Hacking the P5 Virtual Reality Glove
Hacking the P5 Virtual Reality Glove
Pan, Sensory Research
H.O.P.E. 2010
About Pan...
Founder of Sensory Research, an organization of
engineers, designers and artists dedicated to providing
useful tools for human augmentation
Developer of interactive software for mobile devices
and HID, specializing in education and rehabilitation
Performance artist utilizing interactive technology
Host of Interactive Technologies Radio show
General concepts behind sensors
Data Mapping
Motion of the human body
Coding at the bit level
New levels of creativity and utility
About the P5 Glove
Virtual Reality glove released by Essential Reality, Inc, in
Designed for ES by Jonathan Clarke of Nytric, Ltd.
Initial target market was gaming
Came bundled with a few games (Tigerhunt, Hitman)
That didn’t last long...
Do to the lack of games, solid developer
documentation and promotion, sales faltered.
Essential Reality was sold (reverse acquisition) and
changed focus in 2002 (Alliance Distributers)
The glove went into limbo
Many attempts were made by the user community to
get details on the glove’s inner workings
Technical Specs
5 Finger independent measurements (0 - 90 degrees)
Optical tracking x, y, z, yaw, pitch, roll
x, y, z tracking has ~.5 inch accuracy
yaw, pitch and roll have ~1 degree of accuracy
3 Trigger Buttons (A, B, C) and on/off button
60 Hz refresh rate
X, Y, Z location coordinates have values of +/- 800
Finger bend sensors have values of 0 - 63
Buttons 0-1 for off/on
USB 1.3 with a type A male connector
BCD - Binary Coded Decimal (“Nibbles”)
Accessible via standard USB libraries and bit
manipulation in languages such as C/C++, Java, etc.
Data Format
Format (nibbles from LSB to MSB)
0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7
1 1 1 1 1 1 1 1
(bytes from LSB -> MSB)
d - Packed 6-bit bend sensor data (Index, Middle, Ring, Pinky, Thumb)
B - Button data. A=1, B=2, C=4
C - IR sensor report index
V - Packed 30 bit signed IR info (10 bits X, 10 bits Y, 10 bits Z), x4
Massaging the Data
Working with any sensors requires Data Smoothing
The sensors provide varying data:
Not all sensors may be receiving
Occasional erroneous values
To get the most usable data, erroneous values have to
removed, remaining values needs need to be averaged
The Community
Initial target market was gaming... however....
The P5 became popular with artists and musicians who
eventually built a community around the glove
The community was able to move forward due to
important contributions from developers/performers
Jason McMullen, Ross Bencina and Tim Kreger
Open Sound Control
“OSC” is an open data protocol for audio/video/
controller information over network
Easily implantable specification
Now popular in many Audio/Video creative applications
OSC Format and Example
Address pattern | Argument type tags | Arguments
Address pattern simple recursive pattern similar to file
directory structure or URLs (e.g. /p5glove/)
Basic argument types are string, int, float, blob
Arguments match that format
/p5glove, iiiiiiiiiii, 63 63 63 63 63 800 800 800 1 1 1
Sequential Progression 1.0 and 1.1: Utilized the glove
to control Audio/Video/VR in live performance. Remote
performers also contributed to the events over the
ThoughtConduit client application: Desktop application
to control Audio/Video/VR. Navigations can be
recorded and played back, exported to variety of
The Bigger Picture
Sensor programming and open protocols allow for
diverse applications....
Video, Music, Animation and VR
ThoughtConduitOSC 1.0
Announcing ThoughtConduitOSC 1.0
Cocoa framework for easily generating and sending
OSC data over a network
Available from Sensory Research website
No Charge
Paradox Explorer
2:00 AM Saturday Night in the Video Temple
Full band that incorporates the glove system for Audio/
Video/VR manipulation
Come check us out!
Thank You.
[email protected]