[sci.virtual-worlds] Cheap Force Feedback for VR?

almquist@cis.udel.edu (Squish) (12/01/90)

Posting from another lurker (-:

VR will certainly be a positive contribution - we all agree to this.  NOW,
there is considerable discussion about how to do it.  I think a virtual
reality operating system (kernel) will soon come into existence.  There has
been a lot of discussion about graphical and auditory I/O - they exist but
there is considerable room for improvement.  Recently there has been a lot
of talk about improving positional information (polhemus, cameras,
accelerometers, gyroscopes, etc.).  What else do we need for VR?  Sensory
I/O - we got sight and sound what about taste? smell? touch?  Taste looks
kind of complex - well, at least I wouldn't want to put some funny tube into
my mouth with some guy standing over me saying, "Trust me (-:".  Smell doesn't
appear to be TOO difficult (ie. a smell bank).  Limited motional ques via
controlled postional air streams could be very effective.  How about force
feedback?  Unfortunately at the moment I don't possess the time or the 
knowledge to implement the following (perhaps in time).  ALTHOUGH, perhaps 
some lurkers possess the time and knowledge?

Limited (but perhaps effective) CHEAP force feedback:
How about modifying the datagloves (eventually a datasuit) so that limited
force feedback cues could be transmitted?  How?  Could this work?  Subdivide
the dataglove into segments - size would depend on the resolution you wish to
obtain.  Of course, make sure that joints have been subdivided properly.  Now
take each of these subdivision and make them into a small balloon so that
when inflated, the outer surface would remain semi-flat and the balloon would
inflate towards the users skin (I believe this could be done by using 
materials with different strengths - ie. outer material is say heavy surgical
material and inner material is standard party balloon material via physics,
the inner material would expand first).  NOW, attach to each individual
air pocket section a line to an air compressor (maybe an inert gas or liquid
would work best?).  The computer would then control the compressor and 
inflat/deflat each segment accordingly.  Certainly using this scheme
restricted joint movement and the sense of touch (pressure) could be obtained.
Yeah, some mechanics would be need to be examined: balloon segments deflating 
and inflating fast enough, balloon segments don't break (would perhaps give 
the VR individual an interesting surprise though (-:).  If this works out,
how about creating a VR datasuit?  Maybe just a datavest or something?  With
this, one could get in a VR fight and feel it (-:  Now punches are the quick
inflating and deflating of localized air pockets.  Is this feasible?  Could
it be done?  I think this is a good approach.  I don't think we should worry
about restricting movement (ie. via an exoskeleton).  I think it may be too
complicated, expensive, and as a dreamer, perhaps a neuro-interface might
be perfected by this time (-:  ALSO, if we were masochistic/evil individuals,
we could simply restrict movement by making increasing pressure of air
pocket(s) at or beyond pain tolerances - ie:
  a person touches an object - pockets turned on to indicated contact
  a person pushed an object - pocket pressure increased
  a person tries to put fingers through object - MUCHO pressure on finger tips
Still, could be done but not at levels enough to cause pain.
Example of simple, cheap, subdivisioning for limited force feedback:

FACE UP LEFT HAND
When the air pockets are created, a process could be used so that air pressure
would be maximum at the joint and gradually decreases as distance from the
joint increases.  ALSO, all finger tips have their own segments.

                                   000000000
                                   000000000
                                   000000000
                                   |4444444|
                      000000000    |4444444|    000000000
                      000000000    |4444444|    000000000
                      000000000    |4444444|    000000000
                      |1111111|    | joint |    |7777777|
                      |1111111|    |4444444|    |7777777|    000000000
                      |1111111|    |4444444|    |7777777|    000000000
                      |1111111|    |4444444|    |7777777|    000000000
                      |1111111|    |4444444|    |7777777|    |aaaaaaa|
                      |1111111|    |4444444|    |7777777|    |aaaaaaa|
                      | joint |    |4444444|    | joint |    |aaaaaaa|
                      |1111111|    |4444444|    |7777777|    |aaaaaaa|
                      |1111111|    |5555555|    |7777777|    |aaaaaaa|
                      |1111111|    |5555555|    |7777777|    |aaaaaaa|
                      |1111111|    |5555555|    |7777777|    |aaaaaaa|
                      |2222222|    | joint |    |8888888|    | joint |
                      |2222222|    |5555555|    |8888888|    |aaaaaaa|
                      |2222222|    |5555555|    |8888888|    |aaaaaaa|
                      | joint |    |5555555|    | joint |    |aaaaaaa|
                      |2222222|    |5555555|    |8888888|    |bbbbbbb|
                      |2222222|    |5555555|    |8888888|    |bbbbbbb|
                      |2222222|    |5555555|    |8888888|    | joint |
                      |2222222|    |5555555|    |8888888|    |bbbbbbb|
                      |2222222|    |5555555|    |8888888|    |bbbbbbb|
                      |2222222|    |5555555|    |8888888|    |bbbbbbb|
                      |2222222|    |5555555|    |8888888|    |bbbbbbb|
                      |3333333|    |6666666|    |9999999|    |bbbbbbb|
                      |3333333|    |6666666|    |9999999|    /bbbbbbb/
                      | joint |    | joint |    | joint |   /bbbbbbb/
                      |33333333\  /666666666\  /99999999|  /ccccccc/
         000000000    |333333333\/66666666666\/999999999| /ccccccc/
         000000000    |333333333366666666666669999999999|/jo cccc/
         000000000    |33333333333666666666669999999999ccc  in c/
         |eeeeeee|    |ddddddddddddddddddddddddddddddddddccc  t/
         |eeeeeee|    | --- joint --- joint --- joint ---  ccc/
         |eeeeeee|    |dddddddddddddddddddddddddddddddddddddc/
   T     |eeeeeee|    |gggddddddddddddddddddddddddddddddddddd|
   H     | joint |    |\gggdddddddddddddddddddddddddddddddddd|
   U     |eeeeeee|    |g\gggddddddddddddddddddddddddddddddddd|
   M     |eeeeeee|    |gg\gggdddddddddddddddddddddddddddddddd|
   B     |eeeeeee|    |ggg\ggggdddddddddddddddddddddddddddddd|
         |eeeeeee|    |gggg---gggdddddddddddddddddddddddddddd|
         |eeeeeee|    |gggg jo\gggddddddddddddddddddddddddddd|
         \eeeeeeee\   |ggggg in\gggdddddddddddddddddddddddddd|
          \eeeeeeef\  |ggggggg t\ggggggddddddddddddddddddddd/
           \eeeeffff\ |gggggggggg---gggdddddddddddddddddddd/
            \fffffff \|fggggggggg jo\gggdddddddddddddddddd/
             \ffff  t fffggggggggg in\gggdddddddddddddddd/
              \f  in ffffggggggggggg t\gggdddddddddddddd|
               \jo  fffffgggggggggggggg|gggddddddddddddd|
                \ fffffffgggggggggggggg|gggddddddddddddd| 
                 \ffffffggggggggggggggg|gggddddddddddddd|
                  \ffffgggggggggggggggg|gggddddddddddddd|
                   \ffggggggggggggggggg|gggdddddddddddd/
                    \gggggggggggggggggg|gggddddddddddd/
                     \gggggggggggggggg/gggddddddddddd|
                      --------------------------------

(sorry for bandwidth abuse)

 5 fingertip air pockets
16 subdivisions (air pockets) for face-up/palm of hand
16 subdivisions (air pockets) for face-down/opposite of palm (gory details
   ie. picture not included)

SO, now we have 37 subdivisions/air pockets.  37 lines leading to a compressor
of some type.  At least 74 micro-controller unit to control: one for each
subdivisions inflator unit, (at least) one for each subdivision deflator unit.
My experience being inflating is faster and easier than FAST deflation without
some sort of external pressure.  I feel there is A LOT of dreaming in this
newsgroup.  Nothing wrong with that but we are maxing (reaching the edge) of
our current technologies and CPU power (ie. neuro-interface - IT AIN'T 
FEASIBLE NOW).  IMHO, we could successfully add tactial feedback to VR very
cheaply.  To get adventerous, how about heating/cooling our liquid/gas so that
not only is tactial feedback available so is temperature sensing.  WOW!  I
need to find an Engineering school that will let me get busy!  Any thoughts?
ideas?  comments?  anyone doing this?

- Mike Almquist (almquist@cis.udel.edu)

"Engineers bring ideas to reality,
 Virtual Reality Idealist bring reality to ideas!", squish (11/30/90)
-- 
   Michael Almquist <almquist@udel.edu> 70 Ethan Allen Ct., Newark, DE 19711
Comp Sci Lab, 102 Smith Hall, Univ of Delaware, Newark, DE 19716 (302)451-6339

                 "Don't believe me, I'm only a student"

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

In article <12079@milton.u.washington.edu> almquist@cis.udel.edu (Squish) writes
:
> Limited (but perhaps effective) CHEAP force feedback:
> How about modifying the datagloves (eventually a datasuit) so that limited
> force feedback cues could be transmitted?

The original design of the datagloves had this as an option, though none of
the gloves I've tried had it.  I've since heard (here in this newsgroup?)
that the option was removed because of problems with UL approval for the
electrical requirements of the feedback effectors, which were
piezo-ceramic vibrators, as I heard it.

>  How?  Could this work?  Subdivide
> the dataglove into segments - size would depend on the resolution you wish to
> obtain.  Of course, make sure that joints have been subdivided properly.  Now
> take each of these subdivision and make them into a small balloon so that
> when inflated, the outer surface would remain semi-flat and the balloon would
> inflate towards the users skin (I believe this could be done by using 
> materials with different strengths - ie. outer material is say heavy surgical
> material and inner material is standard party balloon material via physics,
> the inner material would expand first).  NOW, attach to each individual
> air pocket section a line to an air compressor (maybe an inert gas or liquid
> would work best?).  The computer would then control the compressor and 
> inflat/deflat each segment accordingly.  Certainly using this scheme
> restricted joint movement and the sense of touch (pressure) could be
> obtained.

I think this approach will work.  I thought of a variant of it a few weeks
ago when I was trying to figure out how to provide feedback of resistance
to the bending of finger joints, so it would feel as if you were actually
holding the magic VR wand in your virtual hand.  In my scheme the balloons
are flat pockets which lie across the joints.  They would consist of a
space between two layers of airtight plastic welded together at the edges
except for a small hole where air can be injected.  There is small plastic
hose running from the hole to a small valve (maybe at the wrist), which
either opens the hose to the atmosphere, or connects it to a source of
pressure.  If the valve is opened to let in pressure sufficient to stiffen
the pocket, it gets harder to bend the joint.

The amount of air involved in inflating or deflating the pocket needs to be
kept small to make the operation rapid, which is why I chose a flat
geometry.  For the same reason, you want to keep the hose diameter small.
As long as hose flow resistance is not too high, deflation will not be a
problem in this application; as soon as you connect the hose to the air,
the pressure of the finger joint trying to bend will force the air out of
the pocket.  For pockets over fingertips or palms, for touch and texture
feedback, you could connect to an airsink instead of the atmosphere: a
container kept pumped down to near vacuum.  The increased pressure
differential from the pocket to the sink will help force the air out.

It might be possible to manufacture the glove out of two (or maybe more)
layers of material with channels formed in them for the pockets and the
hoses and the valve connections, a sort of pneumatic integrated circuit.
The valves could be small benders, either piezoceramic or electrostatic
silicon (in which case it might be possible to fabricate all of them on a
single large chip and make the hose connections part of the case.  The same
chip could have all the control circuitry and a communication interface to
convert all the I/O to a serial form, so a single two-wire cable could
connect each glove to the computer.  This would put all the electricity in
one place and maybe make UL certification easier.
--
------------------------------------------------------------------------
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

james@TWG.COM (James Marshall) (12/19/90)

More "HOW TO CREATE VIRTUAL PRESSURE" ideas:

Is there some kind of piezoelectric (?) material that rapidly
expands when a voltage is applied to it?  Some kind of foam,
in several layers if necessary?  It seems that such a material
would be ideal for the pressure pockets we are looking for.

Could such a material be created by applying the same voltage 
to all microscopic bits of the material, giving them the same
charge, thus causing them to repel each other?  (Well, it's a
theoretical start.)

If you want to try an air-pockets-and-tubes system, you might have
much better luck with a hydraulic, rather than pneumatic, system
(i.e. liquid rather than gas).  You have much better control over
exact pressures and quick pressure changes, especially if going
through any tubes that you want to be narrow.  Could be messy in
the alpha-testing, though. :-6

Even if you use a pneumatic or hydraulic system, you can reduce
the arm-borne load to wires instead of tubes, by doing the
following:  In each pressurized cell, have a small mechanical device
shaped like an accordian that can expand itself with a little power.
This would have the same effect as pumping more air or water into the
cell, but would require only electrical transmission.  Something like
a freely-floating diaphragm.  I actually think this approach would
be easier than it sounds, since the mechanics involved are pretty
simple.

Good luck to whoever makes this work, and especially who tests it
out first (visions of mangled hands dance in my head).

-James Marshall
 james@twg.com
 (e-mail is much surer to get a response than Net News)

hermann@fsc.cpsc.ucalgary.ca (Michael Hermann) (12/24/90)

In article <13407@milton.u.washington.edu> james@TWG.COM (James Marshall) writes
:
>More "HOW TO CREATE VIRTUAL PRESSURE" ideas:
>Is there some kind of piezoelectric (?) material that rapidly
>expands when a voltage is applied to it?

There is a class of fluid compounds, whose name eludes me. These are normally
fluid, until a current is run through them, at which point they form a sort
of crystalline structure, and become much more solid. 

I believe one or more of the US auto manufacturers was looking into using
this goo as integral to reactive suspension systems.

As for a Dataglove application, the fluid could fill a number of small
bladders distributed about the digits, on the back and palms of the glove,
and around the wrist. Electrodes run to the bladders. Of course, use in a VR
application would require that the fluid have a boundary zone before it
turns solid, for graduations in force-feedback. For safety, the required
currents would have to be low, and the fluid non-caustic/non-toxic. Perhaps
someone knows if these compounds fill the bill?


-- 
|  Mike Hermann  | hermann@cpsc.ucalgary.ca
_Organized_ religion is like organized crime: it preys on peoples' weaknesses,
generates huge profits, and is nearly impossible to eradicate.

chris@ug.cs.dal.ca (Chris Robertson) (12/29/90)

hermann@fsc.cpsc.ucalgary.ca (Michael Hermann) writes:

> james@TWG.COM (James Marshall) writes

>> Is there some kind of piezoelectric (?) material that rapidly
>> expands when a voltage is applied to it?

> There is a class of fluid compounds, whose name eludes me. These are normally
> fluid, until a current is run through them, at which point they form a sort
> of crystalline structure, and become much more solid. 

A family of compunds, specifically a class of liquid crystals, behaves this
way, especially in gel form.  For most such substances, however, the property
does not endure well after repeated electrical agitation.

> I believe one or more of the US auto manufacturers was looking into using
> this goo as integral to reactive suspension systems.

This is a different goo.
I saw it in C&D a while back .. apparently some kind of electrically active
colloidal suspension.  Ever dump a wad of cornstarch in water?  It has
very low viscosity, acts like a liquid.  But punch it, and no splash ..
it temporarily solidifies (to a degree) on impact.  Ball point ink is
the same in reverse.  They're also using this stuff for a continuous
transmission .. infinitely many gears .. ;^)

> As for a Dataglove application, the fluid could fill a number of small
> bladders distributed about the digits, on the back and palms of the glove,
> and around the wrist. Electrodes run to the bladders. Of course, use in a VR
> application would require that the fluid have a boundary zone before it
> turns solid, for graduations in force-feedback ...

Yes, boundary zone.  Big problem.  Without precise amounts of just the
right catalysts, temperature, etc., it seems very much a threshold event.
This was several years ago i read about this stuff, and nothing since ..
maybe they couldnt get it to work ..

Also, think about this jello glove for a sec .. you wanna give the sensation
of pressure in the middle of the palm, so you apply some juice, which
presumably expands the gel-pocket, or whatever, and pressure is felt, right?
But the gel-pocket is pushing OUT as much as IN, which is only counter-
acted by the pull of the glove fabric on the BACK of the hand and .. hey
wait a sec, why not just wrap a blood_pressure bag around that hand .. hmm.

Somehow i cant see getting any tactile resolution out of this at all ..

Smaller areas, like the fingers, where the glove can be tighter, and the
gel-packs smaller, might prove to be a
bit more effective .. perhaps the somewhat-sensation of holding something,
i dunno ..


No sig its late.

james@TWG.COM (James Marshall) (01/15/91)

In article <13542@milton.u.washington.edu> chris@ug.cs.dal.ca (Chris Robertson) 
writes:
>> Of course, use in a VR
>> application would require that the fluid have a boundary zone before it
>> turns solid, for graduations in force-feedback ...
>
>Yes, boundary zone.  Big problem.  Without precise amounts of just the
>right catalysts, temperature, etc., it seems very much a threshold event.

One possible solution is to divide each fluid cell into, say, 10 layers,
each of which can be electrified separately.  The pressure is therefore
quantized, but you do get a range of possible pressures.

>But the gel-pocket is pushing OUT as much as IN, which is only counter-
>acted by the pull of the glove fabric on the BACK of the hand ...

Pressures of small area on the palm would mostly work, since the pressure
would be evenly distributed over the whole back of the hand.

-James Marshall
 james@twg.com