[sci.virtual-worlds] rambling on motion

frerichs@ux1.cso.uiuc.edu (11/10/90)

motion sensing...
A very sticky problem.

there are various ways to sense the movement (rotation, etc. not gestures) in
the head and hand.
VPL uses a polhemus sensor (built by Rockwell I think) that works by magnetic
induction.  3 small coils are mounted on the head at right angles to each other
(as a set of coodinate axis), another set is mounted on a stationary object,
and another is mounted on the hand.  Interacting magnetic fields produce
currents in each other that are proportional to their rotational alignment.
(induction).  As the head or hand moves or twists in relation to the reference
coil, the voltage fluxuates.  This variance is measured and translated to 
motion data.  So far so good, but...
there is a problem...
NOISE...
the system is so noise sensitive that the machine always thinks you are
jittering.  Even with software compensation, it still jiggles a bit.
maybe this problem can be solved, maybe not...

another way is to use mercury switches.  A small bead on mercury rolls around
inside a container with sensors at various angles.  A couple of these together
at strategic angles could detect most rotational and leverage movements, but
not lateral (at least I can't see it being able to).
cheap, sturdy solution...but slightly limiting.

does anyone else have any comments on any mistakes in logic or tech I have
made
-or-
does anyone have other solutions to the motion sensing problem?

we could use sensor arrays, but who want's to limit themselves to VR that
takes up a whole room...???

-dfRERICHS
Dept of CompEng,
Univ of Illinois, CU
 

xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) (11/10/90)

frerichs@ux1.cso.uiuc.edu writes:

>motion sensing...
>A very sticky problem.

>there are various ways to sense the movement (rotation, etc. not gestures) in
>the head and hand.
>VPL uses a polhemus sensor (built by Rockwell I think) that works by magnetic
>induction. [...] but... there is a problem...  NOISE...
>the system is so noise sensitive that the machine always thinks you are
>jittering.  Even with software compensation, it still jiggles a bit.
>maybe this problem can be solved, maybe not...

>does anyone have other solutions to the motion sensing problem?

>we could use sensor arrays, but who want's to limit themselves to VR that
>takes up a whole room...???

Me, as long as every room where I intended to use it was equipped the same
way.

One solution I've daydreamed about, given zillions of cpu cycles and
unlimited cash, is to make the user part completely passive, no wires.
Just line the body with lots of tinsy corner cube reflectors, the size
of rhinestones, and put near infrared cameras and flash sources in each
corner of the room. Given the topology of the reflector layout on
gloves, clothes, headband, etc., and eight points of view, a
sufficiently fast processor, I pretend, with just A Small Matter of
Programming, would be able to deduce the position of every body joint,
and interpret it into gestures.

Given the reality, corner cube decorated clothing would be all the rage,
and one would even be able (required==1984) to wear a pattern of
reflectors that uniquely identified you.

I _refuse_ to do the math to see whether this is practical, but note
that each camera and flash could be notch filtered to a different
wavelength, and have it's own dedicated processor, so the setup could be
at least eight way parallel.

My experience with geodetic intersection calculations tells me you could
get strong location information from such a setup.  I suspect it might
take a new generation of sufficiently high resolution ccd arrays for the
cameras to do the job right.

Of course, by giving up the wires, you also give up force and pressure
measuring capabilities, but for attitude and motion, this should work.


                                                           /// It's Amiga
                                                          /// for me:  why
Kent, the man from xanth.                             \\\///   settle for
<xanthian@Zorch.SF-Bay.ORG> <xanthian@well.sf.ca.us>   \XX/  anything less?
Convener, ongling comp.sys.amiga grand reorganization.

brucec%phoebus.labs.tek.com@RELAY.CS.NET (Bruce Cohen;;50-662;LP=A;) (11/12/90)

In article <10924@milton.u.washington.edu> frerichs@ux1.cso.uiuc.edu writes:
> motion sensing...
> A very sticky problem.

Too true, but there are interesting special cases which are useful too.
One very important one, which you alluded to, is detecting the position and
orientation of the user's head, so you can adjust the view in a pair of
eyephones.  A relatively cheap way (cheaper than a Polhemus, anyway) to do
that is to have the user wear a special hat with pieces of retro-reflective
tape on it.  Then mount two cheap TV cameras (B&W is fine) from the
ceiling, with a light coaxial with the lens of each or right next to it.

The cameras will see an image which consists almost completely of the
reflections from the tape.  The lights could be infra-red, so as not to
distract the user.  The output of the cameras is run to the controlling
computer where image processing software extracts the position and
orientation of the head from the spots of reflected light; two cameras
provide stereopsis to determine the plane the eyes lie in, so moving the
head up and down, or tilting it, will produce the appropriate parallax.

There are all kinds of variations: a special-purpose DSP unit to do the
image processing, multiple camera setups using color filters or pulsed
lights and shutters on the cameras for multiple simultaneous users, etc.

The technique can be extended to detecting hand position by having the user
wear gloves with reflective stripes on the front and back of the fingers, but
there are problems with detecting finger position and orientation:
    1) The user's hands can be held in positions which hide some or all of
       the fingers from the view of the caneras; you need more cameras,
       including a pair looking up from the floor.
    2) The image-processing task is far more compute-intensive, since
       you're keeping track of more things that move faster.

> we could use sensor arrays, but who want's to limit themselves to VR that
> takes up a whole room...???

1) Nicholas Negroponte :-) After all, his group built the Media Room at MIT.

2) The same people who shell out $5-20K for "home entertainment systems"

3) the military

Ok, Ok, so it was a rhetorical question ...

--
---------------------------------------------------------------------------
Speaker-to-managers, aka
Bruce Cohen, Computer Research Lab        email: brucec@tekchips.labs.tek.com
Tektronix Laboratories, Tektronix, Inc.                phone: (503)627-5241
M/S 50-662, P.O. Box 500, Beaverton, OR  97077

23r@sage.cc.purdue.edu (John Dormer) (11/12/90)

  I remember seeing a story about detecting eye problems in infants that
used the same technique of a coaxial lighting arrangement. The camera was
focused manually on the retina, which was quite well lit.
  More on the subject, materials for the reflectors can be had at a local
bike shop. I seem to remember a local one having reflectorized sticky tape,
white, which could be trimmed to make a small target.
  The problem of hiding a reflector spot could be solved by making a glove
with stripes of this material on it.
  How many views are there in a 3-view drawing? Three. Think about it...only
3 cameras needed to locate any point fairly well. Four would make it complete
and not very awkward, but for most things three should do ok.

        John Dormer
        dormer@medusa.cs.purdue.edu

cs153020@cs.brown.edu (Joel Scotkin) (11/12/90)

In article <10924@milton.u.washington.edu>, frerichs@ux1.cso.uiuc.edu writes:

|> another way is to use mercury switches.  A small bead on mercury rolls around
|> inside a container with sensors at various angles.  A couple of these togethe
r
|> at strategic angles could detect most rotational and leverage movements, but
|> not lateral (at least I can't see it being able to).
|> cheap, sturdy solution...but slightly limiting.
|> 
|> does anyone else have any comments on any mistakes in logic or tech I have
|> made
|> -or-
|> does anyone have other solutions to the motion sensing problem?


It seems to me that the lateral motion problem is fairly easily solved,
especially if all that is needed is direction of motion, and not speed.
(Obviously speed IS necessary for some things, but maybe not for certain
simple tasks.)

To detect lateral motion all you need is a thin reed between two switches :

                        }       |       {
                        }       |       {
                contact1        |       contact2
                                |
                                wire

when the hand (or whatever) is moved to the left, the wire will tend to
happily stay where it is, and will bump against contact2, either completing
a circuit, or depressing a variable resistor to give an analog current 
corresponding to the acceleration of the hand.

This acceleration can then be processed to determine speed and direction.
You would need three of these sensor pairs, but they should be VERY cheap
to build.

BTW I think that this is how the ear works - with a combination of the
mercury balls (little floating spheres in the inner ear), and the lateral
sensors (the ear uses a liquid which pushes against one pressure point.)


Joel Scotkin
cs153020@cs.brown.edu

dwillis@athena.mit.edu (Richard M Willis) (11/12/90)

There are several people working on using the PowerGlove for the Nintendo game s
ystem to detect position and rough orientation of the hand. A company, Tensor Pr
oducts, is also marketing this as an interface for the AMIGA computer. I do not 
know what resolution is possible, or how hard it would be to adapt the technolog
y (basically two ultrasonic transducers transmitting to a fixed array of receive
rs) to be head-mounted. I am working on a hand-based unit, for paraplegics, and 
might get so far as a head-moun
ted unit for quadraplegics as well.

brucec%phoebus.labs.tek.com@RELAY.CS.NET (Bruce Cohen;;50-662;LP=A;) (11/13/90)

On a cheaper note, the following idea came out of a conversation I had with
Jim Kajiya of CalTech a couple of years ago.  I'd been showing him the
liquid-crystal shutter stereo display system on the Tektronix 3D graphics
workstation, which prompted him to mention some work he wanted to do on the
use of vertical parallax in depth cueing.  He explained that he wanted to
have the system detect the vertical position of the viewer's head with
respect to the display screen center, then vary the eye-point of the
picture to match, so that you see changes in parallax when you bob your
head.  This would not require stereo, but it would make stereo even more
effective.

We knocked around some ideas of how to detect the viewer's head position,
and at some point we realized that the glasses we use for the stereo
display were the answer.  These are passive glasses, just polarizing
filters, with the shutter over the screen, so the glasses are light and
unobtrusive.  But they do uniquely determine the viewer's head position and
orientation.  Rather than put a heavy Polhemus sensor on the glasses (and
have to put the screen on the floor because no one could raise their
head :-)) we thought about putting a reflective strip on the glasses, with
some easily recognizable pattern, perhaps akin to the UPC bar code clock
pattern.

Sensing the pattern could be done by a camera but it might be even simpler
to have a scanner like a check-out stand bar-code reader and a set of
light detectors with half-silvered mirrors in front of them.  The light
from the scanner is split and sent to all the detectors, where it bounces
off the half-silvered mirrors to go towards the viewer.  The detector picks
up the returned light, and its output signal can be convolved with the
pattern on the reflective strip over one scanning frame to determine the
angle of the line from the detector to the glasses relative to the zero
point angle of the scan.  Alternately scanning horizontally and vertically
gives you a solid angle; Two detectors gives you triangulation for head
position and tilt.
--
---------------------------------------------------------------------------
Speaker-to-managers, aka
Bruce Cohen, Computer Research Lab        email: brucec@tekchips.labs.tek.com
Tektronix Laboratories, Tektronix, Inc.                phone: (503)627-5241
M/S 50-662, P.O. Box 500, Beaverton, OR  97077

brucec%phoebus.labs.tek.com@RELAY.CS.NET (Bruce Cohen;;50-662;LP=A;) (11/14/90)

In article <11012@milton.u.washington.edu> 23r@sage.cc.purdue.edu (John Dormer) 
writes:

>   How many views are there in a 3-view drawing? Three. Think about it...only
> 3 cameras needed to locate any point fairly well. Four would make it complete
> and not very awkward, but for most things three should do ok.

Draftspeople get away with 3 views because they're allowed to draw hidden
lines.

Unfortunately, hree views is usually not enough, and four is often not
enough, for tracking all hand and finger motion. Move your arms around
while twisting your wrists and wiggling your fingers and I think you'll
convince yourself that you can hide some positions and gestures from almost
any pair of reasonably separated views.  Again unfortunately, you really
need to get stereopsis to get the fine placement of small parts like the
fingers, which means that *every* significant part of the body must be in
at least two views at all times.

Now I will grant that a lot of those gestures will be somewhat silly, but
by no means all of them.  And it's a basic principle of user interface
design that the user knows what she wants to do better than the interface
designer.  I see no reason why someone shouldn't be able to build a gesture
interface based on the ceremonial magic of the Order of the Golden Dawn,
which tends to use sweeping arm movements during which finger position is
significant.  (see "True Names" for a use of gesture in system interface).


--
---------------------------------------------------------------------------
Speaker-to-managers, aka
Bruce Cohen, Computer Research Lab        email: brucec@tekchips.labs.tek.com
Tektronix Laboratories, Tektronix, Inc.                phone: (503)627-5241
M/S 50-662, P.O. Box 500, Beaverton, OR  97077

jal@athena.cs.wayne.edu (Jason Leigh) (11/14/90)

As a follow-up question to the question of being able to track head
rotations, in a situation where I wanted to track a person's location
in a room what would I need?  I am thinking of a way to attach two
sensors to the person so that a 3D directional vector may be
obtained.  The problem is I don't know anything about the technology
that will allow this to be possible.  Any ideas?

I know at Chapil Hill they have a  Virtual Room but I'd like to know
how it's done.

Thanx in advance.
Jason Leigh
--
:^) :^) :^) :^) :^) :^) :^) :^) ;^)   O^: (^: (^: (^: (^: (^: (^: (^:
:^)  Where the telescope ends, the microscope begins.             (^:
:v)  Which of the two has the grander view?     - Victor Hugo     (v:
:v) :v) :v) :v) :v) :v) :v) :v) :v(   $v: (v: (v: (v: (v: (v: (v: (v:

evers@uunet.UU.NET (Eric Evers) (11/22/90)

motion/position sensing problem.

Une could use intergrated silicon chip acceloratomaters.  I saw some of these 
in popular science a couple of years ago.  It was the cover story on
micro-machines.  Basically there is a small mass(block) of silicon etched
out from the rest of the wafer.  It is connected to the rest of the 
wafer/chip by a small beam.  When you accelerate the mass in a direction
perpindicular to the beam, the mass deflects the beam.  This bent beam
has its resistance to current altered, which you can measure with a 
wheatstone bridge probably.  You need three of these (mabey six) for
each dimention of motion.  You intergrate the accelerations to get
velocity, and intergrate the velocities in three space to get position.

Every now and then an vertual-naught would have to stand at attention
to recalibrate.  

Also think about fiber optic gyroscopes for reading angular position.  
Possibally we can use opical gyros to calibrate for the silicon
acceloratometers. 
        The great thing about fiber
optical devices it that they can be quite light weight.  This is great
If I'm slogging a suit around for 4-8 hours.

Also  bending motions can be read by bend angle
attenution of light through an optical fiber. 

                                        Eric Evers
                                        Single mode optical fibers are 
                                        one-dimentional to a photon.
                                        Are you to your friends?

evers@uunet.UU.NET (11/26/90)

        I have hade no experience with microaccelerometers yet.
Only pleasent reading.

        I do have some experience with fiber optic sensors, but
this does not include optical-gyros unfortunately.
In my opto-electronics classes we examined bend radius attenuation
and other optical-sensors like a liquid level monitor.
        Reading is the limit to my optical-gyros information. 
If one were to mount an optical-gyro on top of a persons head,
 fast angular readings changes could be metered.
                        
                                Eric Evers
                                BSEE and starting my MS in CS at UTK.

brucec%phoebus.labs.tek.com@RELAY.CS.NET (Bruce Cohen;;50-662;LP=A;) (11/27/90)

In article <11564@milton.u.washington.edu> mailrus!gatech!hydra2b.cs.utk.edu!eve
rs@uunet.UU.NET (Eric Evers) writes:
> 
> Une could use intergrated silicon chip acceloratomaters.  I saw some of these 
> in popular science a couple of years ago.  It was the cover story on
> micro-machines.  Basically there is a small mass(block) of silicon etched
> out from the rest of the wafer.  It is connected to the rest of the 
> wafer/chip by a small beam.  When you accelerate the mass in a direction
> perpindicular to the beam, the mass deflects the beam.  This bent beam
> has its resistance to current altered, which you can measure with a 
> wheatstone bridge probably.  You need three of these (mabey six) for
> each dimention of motion.  You intergrate the accelerations to get
> velocity, and intergrate the velocities in three space to get position.

This is essentially the same principle as the piezo-electric
accelerometers which have been in use in aerospace instrumentation for the
last 20 or 30 years: a known mass attached to a block of piezo-crystal (I
forget what crystal was most common; it might have been quartz) which emits
a small amount of charge when acceleration squeezes or distends the
mass/crystal system.  A very sensitive charge amplifier can measure the charge
flux (on the order of a few thousand electrons/sec.). Anyone
know how much these gadgets cost these days?

> 
> Every now and then an vertual-naught would have to stand at attention
> to recalibrate.  
> 

That's the problem with acceleration- or velocity-based orientation
systems: they drift.  As I remember from a few years back, optic-fiber
gyros drift on the order of a few degrees per hour, so maybe calibration
wouldn't be onerous.   On the other hand, I'd hate to have to stop what I
wsa doing in the middle of an intense session (say level 3 on Lt. Worf's
combat simulation) to stand up straight for recal.
--
------------------------------------------------------------------------
Speaker-to-managers, aka
Bruce Cohen, Computer Research Lab        email: brucec@tekchips.labs.tek.com
Tektronix Laboratories, Tektronix, Inc.                phone: (503)627-5241
M/S 50-662, P.O. Box 500, Beaverton, OR  97077