{PowerGlove FAQ}

Forward

Mattel PowerGlove FAQ version 0.1, 7 May 1993.

Written by jet@nas.nasa.gov (j. eric townsend) with significant help and input from randysh@microsoft.com (Randy Shedden)

This is still in a very rough state. Please send changes/adds/deletes to jet@nas.nasa.gov

All sorts of product names are probably trademark by the appropriate vendors.

Comments in the form of [DO YOU UNDERSTAND THIS? -JET] are notes to myself, let me know if you have something to replace the note with.

A current version of this file can be obtained from ~jet/public on the WELL, netcom, or the NAS internal network. It will also be posted to USENET's sci.virtual-worlds, the WELL's vr conference and various mailing lists at sporadic intervals.

Introduction

This document assumes you have a basic familiarity with the terms and concepts related to virtual reality and also with USENET and the Internet with its related tools (telnet, ftp, mail).

This document is written in TeXinfo, which means it is equally easy to read in source form or print out a nicely formatted copy. But wait, there's more! You could convince your site admin to install the powerglove faq into the emacs info database, and read it with emacs info or xinfo! If you don't want/can't info or print this document, you'll be able to read through with little, if any, difficulty. (For more information on texinfo, poke around in GNU emacs or ftp the texinfo package from /pub/gnu on prep.ai.mit.edu.)

What is a PowerGlove?

In 1989 Mattel (yes, the toy company) introduced the PowerGlove, a handtracking device based on a glove. The PowerGlove was intended to work with the Nintendo Entertainment System (NES) in place of a regular controller. The PowerGlove can track motion of the glove in three-space, finger position, and has a set of buttons/switches on the top of the wrist.

It has two modes "hires" and "lores". In "hires" mode, the PG reports the position in threespace, the roll, and configuration of fingers along with the SELECT, START, A, B, CENTER and ARROW CLUSTER switches (which are a part of the NES standard controller). In lores mode the glove reports position on the hand on the x and y axis and the buttons (thus emulating a NES controller completely and allowing one to use the glove with non-glove-specific games).

The lores mode also allows the users to select one of fourteen (?) built-in programs that associate different sets of motions with the NES controller outputs of up/down/left/right/select/start/A/B. Each program also has its own translation of finger movements to control inputs.

Why use a PowerGlove instead of <foo>glove

PowerGloves originally cost around $100, these days you can find them usually under $30 at a Toys R' Us on the remaindered rack. If you don't know what a Dataglove costs, you probably can't afford it. To make matters worse, VPL seems to have gone under (Note: as of 7May93 I understand that VPL is in business, but Jaron and friends are off doing other things.).

What are the big problems?

Several problems face you if you want to use a PowerGlove as a VR input device. These aren't technical problems (although there are those as well), mind you, but real-world problems.

There is no official hardware or software support from Mattel, and the gloves are no longer being produced. Of course, there is no official hardware or software support from any third party companies either.

Contact Nintendo for information if you like, but the person who answers the phone probably won't even know what a PowerGlove is.

On the up side, everything you will use was probably written or designed by a fellow hacker.

What are the technical problems?

The ultrasonic sensing is done with inexpensive microphones so it is difficult to place the sensing array directly on a computer monitor and get a clean signal. A somewhat common fix is to hang the sensing "array" on a wall that has a low ultrasonic reflection rate. People are using anything from towels to ultrasonic anechoic foam to dampen the noise.

This detailed list of problems is from Randy Shedden:

  1. In order register your hand position, you must point your knuckles at the reciever array. It gets tiring holding your hand up for extended periods.

  2. The only information about hand orientation that get is rotation. (This is also called roll.) In flight technology, if you raise one wing while you lower the other, this is called rolling the plane. Ascribing this behaviour to your hand, if you raise your little finger while lowering your thumb, this would also be called roll. If a plane moves it's nose to the left while the tail moves to the right, the plane is said to yaw. If you do the same thing with your hand, the ultrasonic transmitters would point away from the sensor array and you would lose all orientation information. If a plane lowers it's nose while the tail is raised, the plane is said to pitch. If you do the same thing with your hand, again you lose all orientation information. So, while the VPL DataGlove can track yawl, pitch and roll. The PG can only track roll (commonly called rotation).

  3. The information about how your hand is configured is not very accurate. As mentioned above, the material that covers the thumb and fingers has different electrical resistance depending on how much it is flexed. So, when you have a finger fully extended, the material is not flexed at all. When you have a finger fully clenched, the material is flexed to it's functional limits. This is expressed in terms of a degree of flexure (bentness) for each digit. This degree is one of 4 integer values.

    0 means the digit is fully extended.

    1 means the digit is a little bent

    2 means the digit is more bent than straight and

    3 means the digit is fully bent.

  4. For each digit, this resolution isn't very good. Aside from that, it is hard to flex the material to reproduce the desire degree of flexature. For instance, it is not a trivial matter to do a gesture that requires that the ring finger be at state 1 (a little bent). This digital (no pun intended) value is also hard to maintain once you have it, because moving the neighboring digits can have an effect on the flexure of the digit in question. Try bending your middle finger without also bending your ring finger. Additionally, Only the thumb and THREE of your fingers are tracked at all. For some reason, the PG doesn't keep track of your pinky. In conparison, the VPL DataGlove gives much better resolution on ALL of your digits and material (a small fiber optic cable) is much easier to use than the bulky PG material.

Resources

If you are interested in the various mailing lists, you'll want to grab the canonical list of mailing lists from news.answers on USENET. (Or, failing that, from the author arielle@taronga.com. Don't bother her unless you need to, she's very busy and too nice to bother with trivial problems.)

The PowerGlove mailing list

The PowerGlove mailing list is run by jet@nas.nasa.gov (J. Eric Townsend) from the machine boxer.nas.nasa.gov. It operates on an automated listserv-type package, which means it can do lots of neat things, but users need to pay close attention to the instructions.

To subscribe, send a message to listserv@boxer.nas.nasa.gov with a body of "subscribe glove-list your_full_name". Send this message from the account you want to recieve the list. You cannot subscribe another person, or a different email address. (If you would like to subscribe a local reflector, please email jet@nas.nasa.gov.)

The glove-list software supports file transfer by email, the list manager (jet) makes a serious attempt to have current versions of PowerGlove related software and mailing list archives available via the mail server.

sci.virtual-worlds (sci.v-r)

(This section ourtesy of Bob Jacobson.)

sci.virtual-worlds and its sibling, sci.virtual-worlds.apps, are newsgroups on the USENET covering developments in the field of virtual worlds technology and applications, respectively. These newsgroups, now three years old, serve an international community of over 15,000 regular participants with news, technology highlights and developments, scientific and philosophical issues, and discussions of how virtual worlds (also known as "virtual reality") are or will be used in various commercial and social settings. Moderating sci.virtual-worlds are Bob Jacobson, President, Worldesign, Inc. (bluefire@well.sf.ca.us) and Mark De Loura, Univ. of North Carolina (deloura@cs.unc.edu). Other co-moderators from around the world contribute to sci.virtual-worlds.apps and keep it topical. The FAQ for s.v-w is at ftp.u.washington.edu.

A mailing list is kept by Prof. Greg Newby at the University of Illinois for those who cannot directly access s.v-w and s.v-w.a via the USENET. Requests to be added to this list should be sent to:

gbnewby@uxh.cso.uiuc.edu

This is not an automatic operation; please be patient while Greg makes the necessary additions.

The newsgroups are also featured on CompuServe, in the Arts Section, in abbreviated form; excerpts also appear on GEnie, BIX, and the WELL (in its vr conference). Welcome!

trackers mailing list

[ANYBODY HAVE CURRENT INFO ON THIS LIST? -- JET]

WTK list

[ANYBODY HAVE CURRENT INFO ON THIS LIST? -- JET]

REND386 mailing list

REND386 mailing list. rend386 is a great rendering package for the 386, PG can be used as an input device. See the section on REND386 later in this document. [INSERT CROSS REFERENCE]

Contact: rend386-request@sunee.uwaterloo.ca

ftp sites

schmidt@cogsci.uwo.ca has offered the use of cogsci.uwo.ca as a PowerGlove related ftp site. Check: /pub/vr for a variety of glove-list relted stuff. Please note that karazm.math.uh.edu is no longer the PowerGlove ftp site.

PCVR Magazine

The PCVR electronic flyer:

PCVR, a new Virtual Reality publication, introduces high-tech Virtual Reality equipment, theories, and software to the layperson by simplifying procedures, languages, and materials. The equipment necessary for a Virtual Reality system usually costs over $25,000 and is primarily available to universities and businesses. PCVR changes this situation by bringing the technology into the home through tutorials and do-it-yourself projects. Through step-by-step articles, a complete Virtual Reality system can be built for under $3000 including the personal computer necessary to execute the system.

For $26 a year, subscribers receive 6 issues which contain; editorials, thought-provoking columns, hardware/software topics, tutorials, and do-it-yourself projects. We also include a disk as a convenience to the reader, which contains all the software discussed in the articles.

The hardware projects have covered connecting the Sega 3D glasses and Mattel Powerglove to an IBM personal computer, building a head mounted display, and constructing a head tracker device. These do-it-yourself projects use off-the-shelf components which enables a non-technical person access to Virtual Reality equipment in their own home.

The tutorials explain the major technical areas of Virtual Reality without the jargon usually associated with industry journals.

PCVR intends to bring Virtual Reality out of science laboratories and into the general computer community.

Subscription Information (6 Issues): $26.00 US/Canada,$38.00 Overseas

Back Issues: $4.50 US/Canada, $6.50 Overseas

Payment: Check or Money Order drawn on US bank in US dollars. Visa or Mastercard accepted

Issue Themes:

PCVR can be contacted at: PCVR; 1706 Sherman Hill Rd. Unit #A; Laramie, Wyoming 82060; Phone/FAX: (307) 742 - 7675; EMAIL: gradecki@rodeo.uwyo.edu

Other Power Glove people / Previous Works

This is sort of a history, I'm not sure of the exact order, but the facts are sort of correct.

Howard Eglowstein (sp?) had an article in the July 1990 issue of Byte showing how to hook the PG to an IBM PC's parallel port and decoding the lores mode. ("Reach out and touch your data", BYTE Vol 15, No 7 (July 1990) pp283-290)

Greg Newby posted his results of decoding hires mode in sci.electronics.

Manfred Krauss figured out the timing of hires mode and wrote some code to run hires on an Atari ST.

Dave Stampe added some de-glitching and hysteresis code.

Several people are using it as a MIDI input device. PCVR has released a racketball game based on rend386 that uses the PG and the Sega 3D glasses.

Mike Cargal and Paul King built a cable and wrote a driver to interface the glove in lores to the Amiga via the mouseport, this combo was called "PowerMouse". Work was done in 1990 and published in the 1991 issue of Amazing Computing's Tech magazine. The code is in Modula-2 and has shareware status.

Hardware Interfaces

AGE box

AGE built a serial interface device and sold them to a few universities. They aren't generally available and have an almost mythical status.

Gold Brick

Many users on the glove-list have used this box. Charlie S.Lindahl (lindahl@cse.uta.edu) comments:

I have done a lot of hacking around with the Transfinite Systems box on the Mac. Two points:

  1. The PG sample code which comes with the box is not great (stylistically) and is written in MPW C. After much struggling I finally managed to extract the position sensing code into a standalone THINK C program.

  2. As it currently stands, the TRANSFINITE stuff only works consistently with system 6 of the MacOS. It DOES work with system 7, if you turn off 32-bit addressing and virtual memory. I've coaxed the assembly source code for the GOLDBRICK driver from Transfinite to try to port to sys7, but haven't had the time to hack it out yet.

This information is taken from a flyer from Transfinite:

GOLDBRICK: The Cyperspace Interface (tm)

Summary:
The Gold Brick (tm) is a device that connects the Apple Destop Buss (tm)
to most controllers compatible with and to the Nintendo Entertainment
System (tm).  It allows you input from Broderbund UFORCE (tm), floor pad
input from the Nintendo Power Pad(tm), tilt sensing with the Enteractive
(tm) Roll&Rocker(tm), and POSITION SENSING WITH THE MATTEL POWER GLOVE (tm).

With Macintosh support software (system 6.0.5 or later), Gold Brick can
translate controller input into 2 or 3 dimensional motion and/or
keystores as specified by the user.

The controller and game deck interfaces are generally compatible with those
of the Motorola SPI, National Semiconductor Microwire (R), and Signetics
I2C type.

According to the manufacturer the Gold Brick is already being used in the
following systems:
  - controlling intractive multi-media
  - playing virtual instruments
  - giving audio feedback to speech-impaired infants
  - allowing viewers to walk through computer-deisgn structures
  - transforming inputs on a power pad to English sentences and music

There are a number of models available depending on your needs and budget.
They are summarized as follows:

THE GOLD BRICK COMPARISON CHART:

                        MODEL 1                         MODEL 2

                    | Release 1 (1) | Release 2     | Release 1    |
--------------------|---------------|---------------|--------------|
Part Number, Retail | GBC-1, $195   | GBC-2, $245   | GBN-1, $169  |
--------------------+---------------+---------------+--------------|
Controllers support |               |               |              |
 * Standard         | Yes           | Yes           | Yes          |
 * Power Pad        | Yes           | Yes           | Yes          |
 * "Unknown" type   | Yes           | Yes           | Yes          |
 * UFORCE           | Yes           | Yes           | Yes          |
 * POWER GLOVE      | No            | YES           | YES          |
--------------------+---------------+---------------+--------------|
Status Lights       | Three         | Three         | None         |
--------------------+---------------+---------------+--------------|
ADB Through port (2)| Yes           | Yes           | No           |
--------------------+---------------+---------------+--------------|
Game Deck Cable     | Yes           | Yes           | No           |
--------------------+---------------+---------------+--------------|
Technical Manual (3)| Yes           | Yes           | No           |
--------------------+---------------+---------------+--------------|
Upgradeable (4)     | Yes           | Yes           | No           |
--------------------------------------------------------------------

Footnotes:
(1) No longer available
(2) Permits additional apple desktop bus devices to be attatched
(3) Limited tech. doc. was included in GBC-1. A software tech. manual
    (REF-1), available separately, is included in GBC-2
(4) Uses a socketed single chip microprocessor that can be replaced with
    later versions.

ORDERING INFORMATION:
Transfinite Systems Company, Inc.
PO BOX N, MIT Branch Post Office
Cambridge, MA  02139, USA
Tel: (617) 969-9570
Applelink: D2002

PGSI

The PGSI (PowerGlove Serial Interface) is a project from UIUC and promises to be the bestest cheapest way to use the PowerGlove with nearly any computer. The PGSI FAQ is maintained by Ben Gross (pgsi@uiuc.edu) and can be ftp'd from FTP.cso.uiuc.edu (128.174.5.59) in /ACM/PGSI as PGSI.FAQ. Like most FAQs, it is irregularly posted to various newsgroups and mailing lists.

The first batch of orders were to be shipped sometime in mid April, according to the builders of the PGSI box. As of 7May93, the boxes are finished but there was a foul up with the power connector and shipping has been delayed.

Menelli box

Ron Menelli built a 68HC11-based box that duplicates the AGE box and has made the schematics and code available via ftp [ FROM WHERE? - ERIC]. They are available from the glove-list archive server as pg-hc11.zoo and pg-hc11.tar.Z.

Software

Many of the packages/programs listed here are available via the listserv at boxer.nas.nasa.gov.

[IF YOU'RE USING A SPECIFIC PACKAGE, AND HAVE COMMENTS, LET ME KNOW. -JET]

Amiga

Mac

[blank]

PC

REND386 is a PC-based rendering library that supports the PG. Demo available by FTP from sunee.uwaterloo.ca:/pub/rend386/demo4.zip Source/developer's kit in /pub/rend386/devel4.zip

From the rend386 distribution:

     REND386 -- A 3-D Polygon Rendering Package for the 386 and 486
                  Written by Dave Stampe and Bernie Roehl

                           DEMO4 Documentation
                       Version 4.10 - August 1992

This document describes how to use the new REND386 demo, called
"demo4.exe".

To run the demo, just type "demo4" or "demo4 filename" where 'filename'
is the name of a .plg file, a .fig file, or a .wld file you want to have
loaded.

The demo4.exe program is designed to illustrate some of the capabilities
of REND386, a polygon rendering library for 386 and 486 systems with VGA
displays.

The libraries are available for free; the only reason for making the
demo a separate set of files is to give people who aren't interested in
writing software a chance to see just what can be done on
widely-available hardware.

The system is fast.  How fast, you ask?  Well, speed is not a
straightforward thing to measure.  There is a relationship between the
speed of the processor, the complexity of the scene, and the number of
frames per second.

With this software, a 512-polygon scene can be rendered at speeds up to
15 frames/second on a 486/25; this corresponds to a speed of over 7000
polys/second.  If you have a 486/33, it'll go slightly faster; if you
have a 386/33, it'll go slightly slower.  You get the idea.  If you want
more frames/second, use a simpler scene (i.e. fewer polygons).

To use this demo, you MUST have a 386 or 486; it will not run at all on
a 286 or below.  You must also have a standard VGA display.

This version now support stereoscopic viewing; the assumption is that
you have the Sega 3D glasses and the interface described in sega.txt
installed.

O2GLOVE

Unix

[blank]

NeXT

[blank]

SGI

[blank]

Sun

[blank]

Legal Issues

I AM NOT A LAYWER, THIS IS NOT LEGAL ADVICE THIS IS ALL RUMOR, ANYWAY, UNTIL SOMEBODY SENDS ME SOME REAL DOCUMENTATION.

Lore has it that VPL licensed some of the technology/ideas to AGE who relicensed to Mattel.

VPL had a patent on using a glove as an input device.

Related homebrew stuff

Sega glasses

Sega had a game that competed with the NES called "Sega Master system". One of the neat doodads Sega made was a set of LCD shutter glasses, similar to Haitex goggles (and the shutter glasses many SGI visualization tools support). They are discontinued, so check Toys R Us. You can order a refurbished pair from SEGA for $34.95+$2.80 s/h; 1-800-USA-SEGA.

Toshiba goggles

supposedly better than sega. [FIND OUT FROM alt.3d?]

UForce controller

Broderbund makes/sells a NES-controller compatible 3space sensor. Two plates at right angles contain a set of infrared emitters and detectors. It has an NES-controller-mode and (yet another) "analog" mode. No one has decoded the analog information and made it available to the net. The UForce is currently available.

This is Ethan Dicks' UForce FAQ:

Ethan Dicks  <erd@kumiss.cmhnet.org>			Version 1.0  24-Mar-1992

"Uforce 101..."

The Uforce has 9 total IR emitters and detectors of which 8 may be
active at any given time.  The four configuration switches are divided
into two functional groups.  The first three select a sample mode which
determines how the Uforce will present the data to the host and the last
switch selects which of two particular sensors is active.  Seven of the
eight possible arrangements of the first three config switches places
the Uforce into "Threshold mode" wherin the device compares the values
of the various sensors against known thresholds in ROM and provides the
host with a standard NES 8 bit packet containing
up/down/left/right/select/start/A/B information.  When all three
switches are down, the Uforce is placed into "Analog mode" wherin a
multi-byte packet with raw information about each IR sensor is provided
to the host.  The format is as follows... (all values in hex)

 Flag 	 S 7	 S 6	 S 5	 S 4	 S 3	 S 2 	 S 1	 S 0
FC-FF*	01-FB	01-FB	01-FB	01-FB	01-FB	01-FB	01-FB	01-FB

FF = no buttons pressed
FE = START pressed
FD = SELECT pressed
FC = START & SELECT pressed

The flag byte is easy to spot because it is always over FC.  If 00 is
ever read, it should be discarded because the Uforce is still aquiring
data (this can take up to 10 milliseconds to complete); 00 is never
valid data.  There must be a 150 microsecond delay between bytes; this
is an NES restriction.  Any routine which is able to read in a single
byte from a standard NES controller can be used to read the Uforce in
Analog mode; unlike the PowerGlove in hires mode, the Uforce uses fairly
standard techniques for sending data back to the host.

The sensor map is arranged as follows...

	+------ 0 ------+
	|   2	    1	|
	|		|
	|   3	    5   |
	+---------------+
	|   4	    	|
	|		|
	|   7	    6   |
	+------ 5 ------+

Sensor 5 is controlled by the right most config switch (#4)

Wierd Info, Triva, References

Time to get obscure. Thanks to all who provided information and ideas.

The PG was designed by Chris Gentile (the "G" of AGE) and someone named "Novak" at Mattel. If you meet either of them, do whatever it takes to ply their brains for all the information you can get.

The data coming from the PowerGlove is not encrypted. Mattel/Nintendo just wouldn't spill the beans on how it works.

The finger sensors are made by Amtec International 3653 West 1987 South Salt Lake City, UT 84104 USA Tel. (801) 977-0359

PowerGloves are becoming hard to find. You might want to try looking at Toys R' Us immediately. After that, hit any chain that ever sold Nintendo gear.

The coolest thing thus far is the original, official, PowerGlove carrying case. Found for around $12 (half what a glove usually costs) at a Toys R' Us in Los Angeles area.

References

A variety of references. If you have more to add, or corrections, please submit. (Also, if you know a good way to use BiBTeX with texinfo, let me know that as well.)


- Gardner, Dana L.  "The Power Glove", Design News. 4-Dec-89 pp63-68
  (history of design and marketing of the PG, not very technical.)

- Pausch, R.  "Virtual Reality on Five Dollars a Day". 
  Proceedings of ACM SIGCHI Human Factors in Computer Systems
  Conference, New Orleans April 1991. Text file might be available for
  FTP from HITL: milton.u.washington.edu, in /public/virtual-worlds/papers

 
- Zimmerman, Thomas G. et al.  "A Hand Gesture Interface Device".
  Proceedings of CHI+GI '87, ACM 1987. pp190-192.
  (really about the prototype of the DataGlove, but also discusses
  a cheaper "Z-Glove" [Zimmerman Glove?] that used ultrasonics for
  tracking and was used with a CBM64 computer.  Probably the "original" PG.)
    

- Zimmerman, Thomas G and Lanier, Jaron Z.  "Computer Data Entry and
  Manipulation Apparatus and Method", VPL Research Inc.
  US Patent 4,988,981.  Redwood City, CA (USA). Jan 29 1991.
 	
- Zimmerman, Thomas G.  "Optical Flex Sensor", Sept 17 1985
  US Patent 4,542,291