U.S. patent application number 11/499888 was filed with the patent office on 2007-01-18 for force feedback devices using fluid braking.
This patent application is currently assigned to Immersion Corporation. Invention is credited to Louis B. Rosenberg, Bruce M. Schena.
Application Number | 20070013655 11/499888 |
Document ID | / |
Family ID | 37018920 |
Filed Date | 2007-01-18 |
United States Patent
Application |
20070013655 |
Kind Code |
A1 |
Rosenberg; Louis B. ; et
al. |
January 18, 2007 |
Force feedback devices using fluid braking
Abstract
A haptic feedback device including a fluid viscosity-controlled
brake that outputs high forces to the device user at low cost while
maintaining inherent safety. An interface device includes a
manipulandum physically contacted by the user. A sensor senses a
position of the manipulandum and outputs a sensor signal. The
interface device also includes a brake including a field-controlled
fluid having a viscosity that can be controlled by controlling an
electric current in a coil, where a resistive force or drag on the
manipulandum is controlled by controlling the fluid's viscosity.
The fluid can be an electrorheological fluid controlled by an
electric field or a magnetorheological fluid controlled by a
magnetic field. In one preferred embodiment, the resistive force is
controlled by adjusting a degree of contact of the brake with the
manipulandum based on the fluid's viscosity.
Inventors: |
Rosenberg; Louis B.; (San
Jose, CA) ; Schena; Bruce M.; (Menlo Park,
CA) |
Correspondence
Address: |
IMMERSION - THELEN REID & PRIEST L.L.P;THELEN REID & PRIEST L.L.P
P.O. BOX 640640
SAN JOSE
CA
95164-0640
US
|
Assignee: |
Immersion Corporation
|
Family ID: |
37018920 |
Appl. No.: |
11/499888 |
Filed: |
August 4, 2006 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
09547782 |
Apr 12, 2000 |
7113166 |
|
|
11499888 |
Aug 4, 2006 |
|
|
|
09028082 |
Feb 23, 1998 |
6486872 |
|
|
09547782 |
Apr 12, 2000 |
|
|
|
08489068 |
Jun 9, 1995 |
5721566 |
|
|
09028082 |
Feb 23, 1998 |
|
|
|
08965720 |
Nov 7, 1997 |
6166723 |
|
|
09547782 |
|
|
|
|
60128975 |
Apr 12, 1999 |
|
|
|
Current U.S.
Class: |
345/156 |
Current CPC
Class: |
A63B 21/0057 20130101;
A63B 23/14 20130101; G06F 3/016 20130101; G09B 19/00 20130101; A63B
22/0605 20130101; G09B 9/00 20130101; A63B 69/00 20130101 |
Class at
Publication: |
345/156 |
International
Class: |
G09G 5/00 20060101
G09G005/00 |
Claims
1. A haptic feedback interface device manipulated by a user and
providing input signals to a host computer, the interface device
comprising: a manipulandum physically contacted by said user and
moveable in at least one degree of freedom; a sensor that senses a
position of said manipulandum in said at least one degree of
freedom and outputs a sensor signal, wherein a representation of
said sensor signal is provided to said host computer; and a brake
including a fluid having a viscosity that can be varied by
adjusting an electromagnetic field in said fluid, wherein said
electromagnetic field is adjusted by modulating an electric
current, wherein a resistive force on said manipulandum is
controlled by adjusting said current and thereby adjusting said
viscosity.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of co-pending U.S. patent
application Ser. No. 09/547,782, filed Apr. 12, 2000, whereby
application Ser. No. 09/547,782 is a continuation-in-part of U.S.
patent application Ser. No. 09/028,082, now U.S. Pat. No.
6,486,872, filed Feb. 23, 1998, which is a continuation of U.S.
patent application Ser. No. 08/489,068, now U.S. Pat. No.
5,721,566, filed Jun. 9, 1995. Application Ser. No. 09/547,782 is
also a continuation-in-part of U.S. patent application Ser. No.
08/965,720, filed Nov. 7, 1997. The application Ser. No. 09/547,782
also claims priority to U.S. Provisional Application No.
60/128,975, filed Apr. 12, 1999.
BACKGROUND
[0002] The present invention relates generally to the interfacing
with computer devices by a user, and more particularly to devices
used to provide input to computer systems and which provide force
feedback to the user.
[0003] Humans interface with electronic devices in a variety of
applications, and there is a constant need for a more natural,
easy-to-use, and versatile interface device. One of those
applications includes interacting directly with computer-generated
environments. Interface devices are used extensively with computer
systems in the implementation of computer-controlled games,
simulations, and other applications very popular with the mass
market of home consumers. In a typical implementation, a computer
system such as a personal computer, home video game console,
portable computer, stand-up arcade machine, etc., displays a
graphical environment to a user on a display device. Users can
interact with the displayed environment by inputting commands or
data from the interface device. Popular interface devices include
joysticks, "gamepad" button controllers, mice, trackballs,
styluses, tablets, steering wheels, pressure spheres, foot or hand
pedals, or the like, that are connected to the computer system
controlling the displayed environment. The computer updates the
environment in response to input signals from the interface device
based on the user's manipulation of a moved manipulandum such as a
joystick handle, wheel, or mouse. The computer provides visual
feedback to the user using the display screen.
[0004] In some interface devices, tactile and/or kinesthetic
feedback is also provided to the user, more generally known as
"haptic feedback" herein. These types of interface devices can
provide physical sensations to the user manipulating the physical
object of the interface device. Typically, motors or other
actuators of the interface device are coupled to the manipulandum
and are connected to the controlling computer system. The computer
system receives sensor signals from the interface device and sends
appropriate force feedback control signals to the actuators in
conjunction with host events. The actuators then provide forces on
the manipulandum. The computer system can thus convey physical
sensations to the user in conjunction with other visual and
auditory feedback as the user is contacting the manipulandum.
Commercially available force feedback devices include the Wingman
Force joystick and Wingman Formula Force steering wheel from
Logitech, Inc., and the Sidewinder Force Feedback Pro joystick from
Microsoft Corporation.
[0005] Many types of actuators for generating computer-controlled
forces are known, including DC and stepper motors, voice coils,
hydraulic actuators, and pneumatic actuators. Some devices are
active, such as motors, which means that the device provides an
active force that has the ability to move an object or push back on
the user. Other actuators are passive, such as brakes, which
provide a resistance to motion generated by another source (such as
the user) and cannot generate forces on their own. An advantage of
active devices is their ability to simulate all kinds of force
sensations. However, disadvantages of active actuators include
instability: the actuators can settle into a feedback loop in which
oscillating forces are output on the manipulandum, for example.
Other disadvantages of active actuators include a high cost, and
large size and weight. Passive actuators, on the other hand, while
not able to output all the types of force sensations of active
actuators, can provide relatively high magnitude forces and are
inherently stable and safe, and are typically of low cost and
weight. However, standard passive actuators can still be expensive
for lower-cost devices and can still add significant weight to an
interface device.
SUMMARY
[0006] The present invention provides a number of embodiments for a
force feedback interface device that uses an efficient and
small-sized fluid viscosity-controlled brake that outputs high
forces at low cost while maintaining inherent safety.
[0007] More particularly, an interface device of the present
invention is manipulated by a user and provides input signals to a
host computer. The device includes a manipulandum physically
contacted by the user and moveable in at least one degree of
freedom. A sensor, such as a rotary optical encoder or analog
potentiometer, senses a position of the manipulandum in the degree
of freedom and outputs a sensor signal, where a representation of
the sensor signal is provided to the host computer. The interface
device also includes a fluid-controlled brake including a fluid
having a viscosity that can be controlled by controlling an
electric current, wherein a resistive force or drag on the
manipulandum is controlled by controlling a viscosity of the fluid.
In one preferred embodiment, the resistive force is controlled by
adjusting a degree of contact of the brake with the manipulandum
based on the fluid's viscosity. The fluid can be a
magnetorheological fluid having a viscosity controlled by a
magnetic field provided by current in a coil, or an
electorheological fluid having a viscosity controlled by an
electric field.
[0008] Several embodiments of the invention can be implemented. For
example, a magnetorheological fluid can be suspended in a sponge,
such as available from Lord Corporation, which includes an
absorbent matrix material, allowing different resistances to be
controlled. The sponge can contact a surface that is coupled to the
manipulandum, where the surface can be part of a disk or plate.
Other embodiments may provide pistons in the fluid. The
manipulandum can be moved in rotary or linear degrees of freedom
such that the brake can be a rotary or linear brake. The brake can
also include a U-shaped member, where an element is coupled to a
prong of the U-shaped member and the coil is wound about a central
portion of the U-shaped member. Multiple sponges or other such
elements can be provided for increased resistive control.
[0009] The host computer preferably runs a graphical simulation or
game that is influenced by the movement of the manipulandum by the
user. In one embodiment, the simulation portrays a fishing
activity, and the manipulandum includes a crank arm of a fishing
reel, the fishing reel coupled to at least a portion of a fishing
rod. Different resistances on the crank arm can simulate the
catching of fish. In a different embodiment, the manipulandum
includes a pedal assembly of a stationary bicycle device, where the
user interacts with the computer simulation by pedaling and
steering the bicycle device and resistance can be output on pedal
motion to simulate riding the bicycle up and down inclines. In yet
other embodiments, the manipulandum includes a rotary knob for
adjusting settings of an electronic device, or includes a cylinder
that can be moved in a rotary and translatory degrees of freedom
for controlling a cursor. Some embodiments may further include an
actuator that outputs a vibrotactile sensation on a housing of the
interface device.
[0010] The present invention provides compact, low-cost, and light
weight embodiments for interface devices providing braking forces
to an interface device. The controlled viscosity brake used in the
present invention provides high-magnitude braking forces and is
well-suited to small, inexpensive haptic feedback devices, allowing
the interface device of the present invention to be used in
mass-produced consumer devices.
[0011] These and other advantages of the present invention will
become apparent to those skilled in the art upon a reading of the
following specification of the invention and a study of the several
figures of the drawing.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] In the drawings:
[0013] FIG. 1 is a perspective view of one embodiment of an
interface device of the present invention;
[0014] FIG. 2 is a perspective view of a mechanical system suitable
for use with the interface device of FIG. 1;
[0015] FIG. 3 is a perspective view of a second embodiment of an
interface device of the present invention;
[0016] FIG. 4a is a perspective view of a third embodiment of an
interface device of the present invention;
[0017] FIG. 4b is a perspective view of the third embodiment of
FIG. 4a including an additional sensor;
[0018] FIG. 5 is a perspective view of a fourth embodiment of an
interface device of the present invention; and
[0019] FIG. 6 is a block diagram illustrating the interface device
and host computer for use with the present invention.
DETAILED DESCRIPTION
[0020] FIG. 1 is a perspective view of a first embodiment of a
force feedback interface device 10 of the present invention, in
which a fishing game or simulator is implemented. The device 10 is
used for interfacing a user with a computer generated environment
implemented by a host computer 12.
[0021] Interface device 10 of the described embodiment is in the
form of a fishing rod and reel, of similar shape and size to rods
and reels used by fisherman, and includes a reel unit 14 and a rod
16. Reel unit 14 of the interface device 10 can be shaped and sized
similarly to a reel used on a standard fishing rod, and includes a
reel housing 16 and a reel crank arm 18. Reel housing 16 encloses
mechanisms for reading the position of the reel crank 18 and
providing haptic feedback on the reel crank 18, as described in
greater detail below with respect to FIG. 2. Reel crank arm 18 can
be rotated by the user in a rotary degree of freedom similar to a
crank arm on a standard fishing reel. A sensor signal is preferably
provided to the host computer 14 on a bus 24 indicative of the
position (and/or velocity, acceleration) of the crank arm 20 in its
degree of freedom.
[0022] Rod 16 is a generally cylindrically-shaped member that
includes a grip 22 on one end and which is coupled to the reel unit
14. Rod 16 can be coupled to the reel unit 14 with standard
couplings similar to those used on standard fishing rods, or by
some coupling specific to the device 10. The rod 16 is preferably
not a full-length fishing rod due to the unwieldiness of such a
long device, but is instead a portion of a full-length rod (some
embodiments can include a full length rod). Weights can be
distributed in the rod as necessary to simulate the weight and
motion of a full length rod. In other embodiments,
differently-shaped reel units 14, rods 16, crank arm 20, and other
components can be used. In addition, the rod 16 can be made to pass
through apertures in the housing 18 of the reel unit 14 in some
embodiments. Furthermore, some embodiments can include one or more
buttons or similar controls (dials, knobs, direction pads, sliders,
trackballs, etc.) provided on the surface of reel unit 14 and/or
rod 16 that can provide input signals to the host computer 14.
[0023] Additional sensors and actuators can be included in the
device 10 in other embodiments. For example, one or more
gyroscopes, accelerometers, visual sensors, or other types of
sensors well known to those skilled in the art can be provided to
detect the angle and/or motion of the entire device 10 as it is
being moved around by the user in a fishing simulation. With such
sensors, the host computer 12 can track the position and
orientation of the device 10 with respect to a ground, and can
orient a virtual fishing rod and/or hook in response to the
determined position and orientation. In addition, other actuators
can be provided to output other types of force sensations to the
user in addition to the haptic feedback output on the crank arm 20.
For example, an actuator such as a motor can be provided to drive
an inertial mass and output inertial forces on the device 10. The
inertial mass can be oscillated or rotated to provide oscillations,
pulses, or textures on the rod 16 and reel unit 14 and therefore to
the user. In some embodiments, an eccentric mass can be rotated by
a rotary actuator to provide forces. Some methods of controlling
such an actuator for providing different force sensations is
described in copending U.S. provisional application No. 60/156,354,
incorporated herein by reference. In other embodiments, a mass can
be moved linearly in a particular direction by a linear or rotary
actuator to provide a vibrotactile sensation. An example of such an
actuator is described in copending provisional application No.
60/172,953, incorporated herein by references. Such forces can be
used to provide tugs and jolts from a simulated fish caught within
a game or simulation. For example, a pulse or vibration in the
up-down direction might simulate the fishing pole being bent and
tugged by a fish in that direction.
[0024] Interface device 10 is coupled to host computer 12 by a bus
24, which can be any of several types of communication media. For
example, a serial interface bus, parallel interface bus, or
wireless communication link (e.g., infrared, radio frequency, etc.)
can be used. Specific implementations can include Universal Serial
Bus (USB), IEEE 1394 (Firewire), RS-232, or other standards.
[0025] Host computer 12 is preferably a personal computer,
workstation, video game console, or other computing or electronic
device. Personal computers, such as an IBM-compatible or Macintosh
personal computer, or a workstation, such as a SUN or Silicon
Graphics workstation, can be used. Alternatively, one of a variety
of home video game systems, such as systems available from
Nintendo, Sega, or Sony, a television "set top box" or a "network
computer", etc. can be used. Or, the host 12 and device 10 can be
included in a single housing in an arcade game machine, portable
computer, or other device. Host computer system 12 preferably
implements a host application program with which a user is
interacting via peripherals and interface device 10. For example,
the host application program can be a video or computer game,
medical simulation, scientific analysis program, operating system,
graphical user interface, or other application program.
[0026] The host application preferably displays graphical images of
the environment on a display device included with the host
computer, such as a display screen 30, a television, 3D display
goggles, LCD display, etc. The software and environment running on
the host computer. 12 may be of a wide variety. For example, the
host application program can be a video game, simulation, graphical
user interface (GUI), Web page or browser that implements HTML or
VRML instructions, scientific analysis program, virtual reality
training program or application, or other application program that
utilizes input from the interface device 10 and outputs force
feedback commands to the device 10. For example, many game
application programs include force feedback functionality and may
communicate with the force feedback interface device 10 using
standard force feedback protocols/drivers such as the Immersion API
available from Immersion Corporation of San Jose, Calif. Herein,
computer 12 may be referred as displaying "graphical objects" or
"entities." These objects are not physical objects, but are logical
software unit collections of data and/or procedures that may be
displayed as images by computer 12 on display screen 34, as is well
known to those skilled in the art. A displayed cursor or a
simulated view of a controlled character might be considered a
graphical object.
[0027] In operation, the controls of interface device 10 are
manipulated by the user, which indicates to the computer how to
update the implemented application program(s). An electronic
interface can be included in housing 18 of device 10 and can couple
the device 10 to the computer 12. The host computer 12 receives the
input from the interface device and updates an application program
in response to the input. For example, a game presents a graphical
environment in which the user controls one or more graphical
objects or entities using the device 10 and other controls such as
buttons. In force feedback embodiments, the host computer provides
force feedback commands and data to the device 10 to cause force
feedback to be output on crank arm 20 and/or other controls.
[0028] In the described embodiment, the host application is
preferably a fishing game or simulation in which the user controls
a fishing character or a hook that is directed out into water and
used to reel in fish caught within the game or simulation. The user
grasps the device 10 with one hand at grip 22 and the other hand
grasping the rotational handle of the crank arm 20. The force
feedback output on crank arm 20 allows the simulation of a fish
caught on a fishing line, where the crank arm 20 is more difficult
to move due to the fish tugging at the other end of the simulated
fishing line.
[0029] FIG. 2 is a perspective view of a mechanism 50 for use with
the fishing reel embodiment of the interface device 10 of the
present invention. Mechanism 50 is coupled to the crank arm 20 and
includes a sensor 52, a disk 54, and a braking mechanism 56.
[0030] Sensor 52 is coupled to the crank arm 20 by a rotary shaft
53 in the embodiment shown in FIG. 2. Sensor 52 can be a digital
optical encoder, analog potentiometer, or other sensing device. The
sensor 52 detects the position of the crank arm 20 in its
rotational degree of freedom (about axis A) and relays signals to
host computer 12 or to a different controller that include
information indicative of the sensed position of the crank arm.
Sensor 52 can be an absolute or relative sensor. In other
embodiments, various other types of sensors can be used, including
non-contact sensors such as optical sensors having an emitter and a
detector, magnetic sensors, etc. Velocity and/or acceleration
sensors may also be used. When a user rotates the crank arm 20, the
computer can track the motion and uses that motion to simulate the
fishing rod action, such as the position in a graphical environment
of a simulated hook on a simulated fishing line.
[0031] Forces are applied to the crank arm 20 using the components
including disk 54 and braking mechanism 56. Disk 54 is made of a
magnetically permeable material such as a suitable metal plate or
the like having a engagement surface and is rigidly coupled to the
crank arm 20 at approximately the center of the disk so that the
disk 54 rotates about axis A as the crank arm is rotated. Braking
mechanism 56 includes a U-shaped support that is oriented such that
the disk 54 may be rotated between the prongs of the U shaped
support. The disk 54 and the U-shaped support are made of a
material that can provide a flux path for a magnetic field produced
by the braking mechanism, such as iron.
[0032] In the embodiment shown, a magnetorheological "sponge" 62 is
coupled to each of the two prongs of the U-shaped member 60 such
that each sponge contacts the surface of the disk 54. A
magnetorheological sponge allows magnetorheological fluid to be
used in a braking device or method. Magnetorheological fluid is a
fluid that has a viscosity that can be changed by a magnetic field.
By applying the magnetic field at different strengths, different
viscosities are produced. Each sponge 62 includes an absorbent
matrix material which holds the magnetorheological fluid. When a
magnetic field is applied to the sponge, the magnetorheological
fluid suspended in the sponge changes its viscosity and the disk 54
contacting the sponge encounters greater or less resistance,
depending on whether viscosity has increased or decreased,
respectively. A magnetorheological sponge suitable for use with the
present invention is available from Lord Corporation of Cary, N.C.
Other elements besides sponges can also be used which can suspend a
fluid and/or provide varying degrees of resistance on a surface
(such as the surface of disk 54) based on the viscosity of the
fluid.
[0033] A coil 64 of wire is wound at the base portion of the
U-shaped support 60. When an electric current is flowed through the
coil 64, a magnetic field is generated; the magnetic field extends
through the sponges 62 and changes the viscosity of the
magnetorheological fluid suspended in the sponges. This creates
more drag between the disk 54 and the sponges 62, thus creating
more force resistance in the rotary degree of freedom of the disk
54. The resistance can be increased or decreased by adjusting the
current in the coil. In some embodiments, a single
magnetorheological sponge can be provided on only one side of the
support 60 to contact the disk 54 on only one of its sides. In
still other embodiments, other-shaped supports can be used and
other flat members instead of a circular-shaped disk.
[0034] Magnetorheological braking devices achieve high force for
low component cost. In addition, these devices can be very low
power, thereby allowing for further reduction in system cost. In
addition, these devices, like all braking devices, are inherently
stable, thereby allowing for reduced cost on control
electronics/processor electronics. In addition, these devices are
light weight.
[0035] In other embodiments, a linear magnetorheological brake can
be implemented by providing a plate similar to the disk 54 and
coupling a magnetorheological sponge to a linearly-moving member.
The sponge is put in contact with the plate and resistance on the
linearly-moving member can be controlled similarly as described
above for the rotary brake. In still other embodiments,
magnetorheological fluid can be forced through valves or other
channels similar to hydraulic devices and its viscosity controlled
to resist motion of a piston or other member through the fluid in
varying degrees. Some embodiments using valves and pistons that can
be used with the present invention are described in U.S. Pat. No.
5,721,566, which is incorporated herein by reference.
[0036] In other embodiments, other types of fluids having a
controllable viscosity can be used. For example, an
electrorheological fluid can be used instead of the
magnetorheological fluid discussed above, where the fluid's
viscosity is controlled with an electric field instead of a
magnetic field. The electric field can be produced between parallel
plates having a voltage potential, similar to a capacitor used in
electronic circuits. A sponge or other element that is positioned
in the electric field and frictionally engages a surface can
include an eletrorheological fluid and control its degree of
contact with the surface, similarly to the magnetorheological
sponge described above. Some other embodiments of a
fluid-controlled brake using an electrorheological fluid are
described in U.S. Pat. No. 5,721,566 and can be used in the present
invention. For example, the crank arm 20 can be rotatably coupled
to a piston in a cylinder including such a fluid, where the
resistance on the crank arm is determined by the resistance on the
piston moving through the fluid.
[0037] In the intended operation of the fishing embodiment of FIG.
1, the braking mechanism 56 simulates a drag on the reel of the
fishing device when a fish is caught in a computer-implemented
fishing simulation or game. When a fish is caught, the computer (or
other control processor) can command "drag" upon the crank arm 20
by causing the magnetorheological brake to activate to cause the
fluid viscosity to increase. If a small fish is caught, the
computer can cause a low voltage to be applied to the brake,
thereby applying a small drag force to the crank arm. A large fish
can result in a high voltage, to cause a large drag force to be
applied to the crank arm. The various movements of the fish can be
simulated by varying the drag on the crank arm while the user is
rotating it.
[0038] Braking devices typically hold or resist a moveable object
in both directions within a degree of freedom. In some devices,
there can be a problem simulating walls or obstruction forces with
passive actuators such as brakes due to the difficulty of detecting
motion in an opposite direction to the obstruction while the object
is being held by the brake. However, since a reel crank arm is only
rotated in one direction by a user in normal use during fishing,
rotation in the opposite direction need not be sensed, and this
problem is bypassed. In other embodiments where bi-directional
rotation needs to be sensed, a desired amount of play can be
introduced between the sensor and the manipulandum to allow sensing
of motion during braking forces for a unidirectional obstruction.
Embodiments of such desired play are described in U.S. Pat. No.
5,767,839, incorporated herein by reference.
[0039] Furthermore, a local microprocessor (or other local
processing device) can be coupled between the host computer and the
reel mechanism to locally control braking forces. Embodiments
including such a local microprocessor are described below with
reference to FIG. 6. Or, a direct host computer control method can
be used, where no local microprocessor is used. Preferably, the
product runs off a USB or similar communication link. In the ideal
embodiment, all power used to drive the magnetorheological brake is
drawn from the USB port or similar interface, or can be drawn from
batteries on the fishing device 10. What is advantageous of this
method over using a motor is that the magnetorheological actuator
is light weight, low cost, and low power. That means that the
fishing rod interface device can be low cost, feels light to the
user, and can run off USB power (not needing an additional external
power supply).
[0040] One limitation of the magnetorheological braking described
above is that it cannot simulate the active feel of a live fish
(like the jolt of a catch or the vibration of a fish struggling at
the end of the fishing line). To add this capability, a low cost
vibrotactile actuator in combination with the brake can be provided
on the fishing rod device, as mentioned above. The vibrotactile
actuator can be an inertial vibrotactile actuator such as a motor
with an eccentric weight or a linear motor with a moving mass. The
vibrotactile actuator can be positioned, for example, directly in
the housing 18 of the reel unit 14. The rod device can be a full
fishing rod, or it can be a smaller device, e.g. just the reel
portion and grip portion of the rod. Such a system would allow for
very large resistance forces on the crank arm 20 and small
vibration forces when a fish is caught or a snag is
encountered.
[0041] FIG. 3 is a perspective view of a second embodiment of the
present invention. Interface device 10' is a bicycle simulation
device that can be used to simulate riding a bicycle, similar to a
bicycle exercise machine or the like. A stationary frame 80 rests
on a ground surface and provides a structure of a similar height to
a bicycle. A seat 82 is coupled to the frame on which the user sits
during operation of the device 10'. Handlebars 84 are rotatably
coupled to the frame 80 and are grasped by the user's hands during
operation of the device and may be rotated to simulate turning the
bicycle. Pedal assembly 86 is rotatably coupled to the frame 80 and
supports the user's feet during operation. The pedal assembly 86
includes pedal arms 88 and pedals 90, each pedal 90 rotatably
coupled to an associated pedal arm 88. The pedal arms 88 are
preferably rigidly coupled to each other, where the second pedal
arm is oriented 180 degrees from the first pedal arm. The pedal
arms 88 can be rotated in a rotary degree of freedom by the user's
legs and feet. Other embodiments can include other components, such
as one or more wheels which are rotated in place by the pedals to
provide an authentic feel. A host computer 12 is coupled to the
bicycle device 10' by a bus 92 (or by wireless communication) and
includes a display device. The host computer can run a graphical
simulation or game so that the user of the device 10' can interact
with the simulation. Other embodiments may include the display
device of the host computer 12 (or a display device connected to a
local microprocessor) provided on the handlebars 84 for easy
viewing by the user.
[0042] Bicycle device 10' preferably includes a number of
transducers to interface with the host computer 12. A mechanism
similar to that shown in FIG. 2 is preferably used to provide drag
or resistance on the pedal arms 88 of bicycle simulation device
10'. For example, the pedal arm 88 can be the crank arm 20
described for FIG. 2. Disk 54 can be positioned between the pedal
arms 88. The other components shown in FIG. 2 can also be included
in the bicycle embodiment to provide sensing and drag on the pedals
in their rotary degree of freedom. The pedal motion can be sensed
at the pedal itself (e.g., sensor 52 can be directly coupled to a
shaft of the pedal arms 88) or further down in the mechanism chain
(e.g., after a mechanical transmission such as a gear drive, belt
drive, or capstan drive). Preferably, a magnetorheological fluid
device similar to that described with reference to FIG. 2 is used
to exert resistance on the pedal arms. The resistance can also be
applied after being amplified or reduced by a mechanical
transmission system, such as a belt drive, capstan drive, or gear
assembly, positioned between the brake and the grip, pedal, or
handle.
[0043] To complete the realism of the simulator, other sensors and
actuators can be provided for other functions and effects of the
bicycle. For example, a sensor coupled to the handlebars 84
preferably detects the position of the handlebars in their rotary
degree of freedom. Additional sensors can be used to measure the
position of a gear selector and the position of hand brakes (if
present) of the bicycle device. Buttons or other extra controls can
also be provided in some embodiments, e.g. for use in a video
game.
[0044] During operation, the handlebar sensor(s) indicate to the
host computer where the user is steering the bicycle within the
game or simulation. When the user rotates the pedal arms (similar
to rotating crank arm 20 about axis A), the host computer 14 can
track the motion and uses that motion to simulate the motion of the
simulated bicycle in the game or simulated environment. The system
also may generate force resistance on the pedals. For example, the
drag on the pedals can be increased when the user is peddling up an
incline in the simulation to simulate the increased effort required
to move the bicycle in such a situation. When the bicycle is moving
down a simulated hill, the drag can be decreased. This can be used
for realistic video game applications where a user is peddling and
watching the course, road, track, etc. go by on the display
device.
[0045] When the user steers the bicycle to move up a hill, the
computer or processor can command "drag" upon the pedals by causing
the magnetorheological brake to activate. A small hill might result
in a low voltage on the brake, thereby applying a small drag force.
A large hill might result in a high voltage, thereby providing a
large drag force. Since the pedal is only rotated in one direction
by the user, the typical limitations of force feedback braking
related to rapid direction changes of the user manipulatable object
are not present. A local processor can be provided between the host
computer and the pedal mechanism, or direct computer control can be
used as explained above.
[0046] As with the fishing embodiment described above, this
embodiment is low cost, achieves very high forces, and is
inherently safe. One limitation of the magnetorheological brake is
that it cannot realistically simulate the active vibration feel of
going over a bump or a rough road. In some embodiments, this
vibration can be simulated using a vibrotactile actuator, e.g. the
actuator can be coupled to the bicycle seat 82 on which the user is
sitting. As described above, the vibrotactile actuator can be an
inertial vibrotactile actuator such as a motor with an eccentric
weight or a linear motor with a linearly-moving mass. Such a
complete system would allow for very large forces on the pedals and
small vibration forces on the seat.
[0047] A single local processor can be located on the stationary
bicycle, its function being to read the sensor that measures pedal
motion, read the sensor that measures handle bar angle or motion,
read the sensors that indicate choice of gear, and read the sensors
that measure the state of the hand brake(s). All of these sensor
values can be sent back to the host computer via communication bus
92. In addition, the local processor can receive commands or data
back from the host computer indicating the amount of drag to be
applied to the pedals based upon the terrain in the
computer-generated environment.
[0048] In some embodiments, the host computer can be networked to
other host computers over a network such as a LAN or the Internet,
such that a distributed biking simulation can allow players to
compete. For example, data about the course layout as well as the
terrain characteristics can be downloaded over the Internet,
including incline data used by the host computer to control the
drag feel. Also, data about road conditions (bumpiness of feel) can
be downloaded from the Internet. A server can keep track of the
simulated race, allowing players from distant locations to compete
and be timed against each other. Each local processor and/or host
application program can have a unique ID number that is transmitted
to the host and then back to the server so that every simulated
bike in the race can be uniquely identified. By this method,
hundred or thousands of racers can compete at once upon the same
course while feeling the same terrain. To allow players to compete
for cash prices without worry that a competitor has disabled the
drag function on their stationary bike or has doctored the pedaling
means in some way, the local processor and/or software can also
report a self diagnostic status signal to the host which gets
relayed to the server, indicating normal functioning (or no
tampering).
[0049] FIG. 4a is a perspective view of a mechanism 100 similar to
the mechanism 50 of FIG. 2. Mechanism 100 can be used to provide
haptic feedback to a knob or other rotational user object. Sensor
52, disk 54, and brake assembly 56 all preferably operate similarly
as described above with reference to FIG. 2. A knob 102 is rigidly
coupled to a shaft 104 which is rigidly coupled to the shaft of the
rotational sensor 52. The user may rotate the knob 102 using his or
her hand or fingers. This rotation is sensed by sensor 52 and
relayed to a processor or host computer 12, and force feedback can
be output in the rotational degree of freedom of the knob about
axis B as controlled by a processor and/or host computer 12.
[0050] The force feedback knob controller using a
magnetorheological brake is inherently stable, allowing for
controllable damping, controllable hard stops, and controllable
detents in the rotational degree of freedom of the knob. For
example, hard stops can be programmed at desired locations in the
range of travel of the knob using the magnetorheological brake,
which can provide higher obstruction forces than many active
actuators. Detents can be set at desired positions; a detent can be
implemented by outputting a high resistance for a short time or for
a short range of travel of the knob, giving the user a sensation of
a jolt or pulse at a particular position. Damping can provide a
desired resistance to rotational motion and can make selection of a
value or positioning of a cursor easier for the user.
[0051] The knob can be provided on a variety of computer devices or
interface devices, such as a laptop computer, a consumer
electronics device such as a stereo or television, on a handheld
remote control, on the dashboard of a car, etc. The knob 102 of
FIG. 4a can be a roller wheel on a mouse, e.g. a wheel positioned
at the front center position of a mouse that the user can rotate to
scroll documents, make selections, etc. Such wheels typically have
a frictional circumferential surface to allow the user a good grip
on the wheel. Force feedback can be applied to the mouse wheel to
enhance such wheel rotation. Software control and force feedback
implementations for knobs and mouse wheels is described in greater
detail in copending patent applications Ser. No. 09/049,155, filed
Mar. 26, 1998, and Ser. No. 09/179,382, filed Oct. 26, 1998, both
incorporated herein by reference. The magnetorheological fluid
brake is ideal for hand-held remote controls and other
space-limited applications because of low power consumption and
light weight, compact components. In other embodiments, linear
knobs (sliders) can be provided with a linear magnetorheological
brake.
[0052] One space-limited application for use with the knob 102 is a
selection knob for a laptop computer to provide similar
functionality to a standard mouse wheel, and additional
functionality if desired. For example, a knob having a rotational
axis extending perpendicularly to the laptop's top surface can be
placed on the side of the laptop in easy access to user's fingers.
The knob can be rotated to scroll documents, move a cursor across
the screen or through a list of objects, icons, or selections, etc.
Preferably, the knob can be pressed in a direction perpendicular
(transverse) to the axis of rotation to provide a selection
function, e.g. to select an item, icon, or link at which the cursor
is currently pointing. The knob preferably is spring-loaded to rest
at a normal operating position, and can be pushed in to select a
mechanical switch, where the knob returns to the operating position
when the user removes pressure in the pushing direction. One such
knob is provided in the Vaio XG19 laptop computer from Sony
Corp.
[0053] FIG. 4b illustrates one example of the present invention
including the knob described above provided with a fluid-controlled
brake. The knob can be sensed and actuated in its rotary degree of
freedom similar to the embodiment of FIG. 4a. In addition, the
knob, shaft 104, and disc 54 can be moved in a transverse
direction. Such motion can be implemented in many different ways.
For example, two grounded supports 106 on either side of the knob
102 can be provided. One of the supports 106a includes a slot 108
that is larger than the size of the shaft and allows the shaft 104
and knob 102 to move or pivot within the slot 108 (the hole in the
other support 106b can include a slightly larger hole to allow the
pivoting motion). A mechanical spring (not shown) can be used to
provide the spring bias on the knob and shaft toward an origin
position. The user can thus move the knob in the transverse
direction of arrow 110. A mechanical switch 112 (or other type of
sensor: optical, magnetic, etc.) can be placed in the path of the
disc 54 and is contacted by the edge of the disc 54 when the knob
102 is pushed in the transverse direction 110 by the user. The
switch 112 thus detects the motion and outputs an appropriate
signal to a processor or host computer, indicating the user has
pushed the knob 102. The switch 112 can alternatively be placed at
a different position around the disc 54 corresponding to a
different path of transverse motion of the disc 54. The switch 112
may also detect the motion of the shaft or other component of the
device.
[0054] In other embodiments, the transverse motion can be
implemented in other ways. For example, a flex joint can be used to
allow the shaft 104 pivot about one end of the shaft. Or, the shaft
104 can be placed in a slot in a grounded member that allows the
motion in the desired transverse direction. Other mechanisms
currently used in rotatable wheels for mice can also be used. In
still other embodiments, the transverse motion of the knob 110 can
be actuated by an actuator so that the feel of the push of the knob
102 can be made to feel differently as controlled by a
microprocessor or other controller. This transverse actuator is
preferably separate from the fluid brake 56, e.g. a linear actuator
can be coupled between the shaft 104 and a grounded surface. In
other embodiments, the knob 102 can be pushed in a direction
parallel to the axis B of rotation of the knob. Some examples of
such an embodiment are disclosed in copending patent application
Ser. No. 09/179,382, filed Oct. 26, 1998.
[0055] FIG. 5 is a perspective view of another embodiment 120 of an
interface device of the present invention including a
magnetorheological brake. Embodiment 120 includes a two-degree of
freedom cylindrical controller that can be used to provide input
control signals to a computer or other electronic device, e.g. to
control the movement of a cursor in a graphical user interface
displayed by a host computer 12. A cylinder 122 may be rotated
about an axis C and translated parallel to the axis C by the user.
The outer surface of the cylinder 122 can include annular and
longitudinal grooves 124 which intersect each other. Two pinions
126 positioned at right angles with respect to each other mesh with
the grooves 124 so that when the cylinder is rotated, one pinion
126a rotates, and when the cylinder is translated, the other pinion
126b rotates. A metal disk 128 is connected to each pinion 126 by a
rotating shaft 130, and an magnetorheological brake 132 as
described in detail in FIG. 2 provides braking resistance to the
rotation of the disk 128, thereby allowing one brake 132 to provide
braking resistance to the rotation of the cylinder 122 and the
other brake 132 to independently provide braking resistance to the
translation of the cylinder 122. Additional cylinder control device
embodiments which can be used with the magnetorheological brake are
described in greater detail in U.S. Pat. Nos. 5,235,868, 4,823,634,
4,712,101, and 4,724,715 and copending patent application Ser. No.
09/291,582, entitled, "Multiple-cylinder Control Device for
Computers and Other Electronic Apparatus", filed concurrently
herewith, all of which are incorporated herein by reference.
[0056] The magnetorheological fluid brakes allow for controllable
drag during cursor control tasks. For example, two
magnetorheological fluid sponge controllers can be used for the
cylinder, one for the rotary axis and one for the linear axis.
Alternatively, the rotary axis of the cylinder can use a rotary
metal disk, and the linear axis of the cylinder can use a linear
sliding metal member in place of the rotary disk, where the
magnetorheological brake contacts a sponge with the linearly-moving
surface of the metal member. Host computer 12 preferably controls
the braking resistance, and a device microprocessor can also be
used local to the device in addition to the host computer as
described above.
[0057] Each axis of the cylinder can be controlled independently to
control drag related to cursor motion in x and y independently. For
example, a user interacting with a pull-down menu can be provided
with resistance sensations when a controlled cursor in a graphical
user interface moves between menu elements when using a cylinder
controller fitted with a magnetorheological fluid brake. Drag can
be momentarily output for other cursor interactions such as moving
over a window border or window interior or moving over an icon.
Drag can be output continuously when moving in force "grooves" to
guide the cursor to particular areas or graphical objects displayed
on the screen of the host computer. This is ideal for laptop
computers because of the low power consumption and low size and
weight of the magnetorheological fluid brakes. Some GUI force
feedback interactions are described in copending patent application
Ser. No. 08/571,606, incorporated herein by reference.
[0058] FIG. 6 is a block diagram illustrating a haptic feedback
device 10 and host computer 14 suitable for use with the present
invention. Interface device 10 can be any of the embodiments
described above. A system similar to that of FIG. 6 is described in
detail in U.S. Pat. No. 5,734,373 which is incorporated herein by
reference in its entirety.
[0059] As explained with reference to FIG. 1, host computer 12 is
preferably a personal computer, video game console, workstation, or
other computing or display device. Host computer 12 commonly
includes a host microprocessor 202, a clock 204, a display device
30, and an audio output device 206. Host microprocessor 202 can
include a variety of available microprocessors from Intel, AMD,
Motorola, or other manufacturers. Microprocessor 202 can be single
microprocessor chip, or can include multiple primary and/or
co-processors and preferably retrieves and stores instructions and
other necessary data from random access memory (RAM) and read-only
memory (ROM) as is well known to those skilled in the art. Host
computer 12 can receive sensor data or a sensor signal via bus 208
from sensors of device 10 and other information. Microprocessor 202
can receive data from bus 208 using I/O electronics, and can use
the I/O electronics to control other peripheral devices. Host
computer system 12 can also output commands to interface device 10
via bus 208 to cause haptic feedback.
[0060] Clock 204 can be a standard clock crystal or equivalent
component used by host computer 12 to provide timing to electrical
signals used by host microprocessor 202 and other components of the
computer 12 and can be used to provide timing information that may
be necessary in determining force or position values. Display
device 30 is described with reference to FIG. 1. Audio output
device 206, such as speakers, can be coupled to host microprocessor
202 via amplifiers, filters, and other circuitry well known to
those skilled in the art. Other types of peripherals can also be
coupled to host processor 202, such as storage devices (hard disk
drive, CD ROM drive, floppy disk drive, etc.), printers, and other
input and output devices.
[0061] Interface device 10 is coupled to host computer 12 by
bi-directional bus 208, which sends signals in either direction
between host computer 12 and the interface device 10. Bus 208 can
be a serial interface bus, such as USB, RS-232, or Firewire (IEEE
1394), providing data according to a serial communication protocol,
a parallel bus using a parallel protocol, or other types of buses.
An interface port of host computer 12, such as a USB or RS232
serial interface port, can connect bus 208 to host computer 12.
[0062] Interface device 10 can include a local microprocessor 220,
local clock 222, local memory 224, sensor interface 226, and
actuator interface 228. Device 10 may also include additional
electronic components for communicating via standard protocols on
bus 208.
[0063] Local microprocessor 220 preferably coupled to bus 208 and
is considered "local" to device 10, where "local" herein refers to
processor 220 being a separate microprocessor from any processors
202 in host computer 12. "Local" also preferably refers to
processor 220 being dedicated to haptic feedback and sensor I/O of
the device 10, and being closely coupled to sensors and actuators
of the device 10, such as within a housing of the device 10.
Microprocessor 220 can be provided with software instructions to
wait for commands or requests from computer host 12, parse/decode
the command or request, and handle/control input and output signals
according to the command or request. In addition, processor 220 can
operate independently of host computer 12 by reading sensor signals
and calculating appropriate forces from those sensor signals, time
signals, and force processes selected in accordance with a host
command, and outputting appropriate control signals to the
actuators. Suitable microprocessors for use as local microprocessor
220 include the Immersion Touchsense Processor from Immersion
Corporation, the 8.times.930AX by Intel Corp., the MC68HC711E9 by
Motorola, or the PIC16C74 by Microchip, for example. Microprocessor
220 can include one microprocessor chip, or multiple processors
and/or co-processor chips. In other embodiments, microprocessor 220
can include digital signal processor (DSP) functionality, or
control logic components or a hardware state machine can be used
instead of a microprocessor.
[0064] For example, in one host-controlled embodiment that utilizes
microprocessor 220, host computer 12 can provide low-level force
commands over bus 208, which microprocessor 220 directly transmits
to the actuators. In a different local control embodiment, host
computer 12 provides high level supervisory commands to
microprocessor 220 over bus 208, and microprocessor 220 manages low
level force control loops to sensors and actuators in accordance
with the high level commands and independently of the host computer
12. In the local control embodiment, the microprocessor 220 can
process sensor signals to determine appropriate output actuator
signals by following the instructions of a "force process" that may
be stored in local memory 224 and includes calculation
instructions, conditions, formulas, force magnitudes, or other
data. The force process can command distinct force sensations, such
as vibrations, textures, jolts, or even simulated interactions
between displayed objects. The host can send the local processor
220 force sensation parameters to store in local memory, or can
clear other force sensations to load new force sensations in
memory.
[0065] A local clock 222 can be coupled to the microprocessor 220
to provide timing data, similar to system clock 204 of host
computer 12; the timing data might be required, for example, to
compute forces output by actuators 70. Local memory 224, such as
RAM and/or ROM, is preferably coupled to microprocessor 220 to
store instructions for microprocessor 220 and store temporary and
other data.
[0066] Sensor interface 226 may optionally be included in device 10
to convert sensor signals to signals that can be interpreted by the
microprocessor 220 and/or host computer 12. For example, sensor
interface 226 can receive and convert signals from a digital sensor
such as an encoder or from an analog sensor using an analog to
digital converter (ADC). Such circuits, or equivalent circuits, are
well known to those skilled in the art. Alternately, microprocessor
220 or host computer 12 can perform these interface functions.
Actuator interface 228 can be optionally connected between the
actuators of device 10 and microprocessor 220 to convert signals
from microprocessor 220 into signals appropriate to drive the
actuators. Interface 228 can include power amplifiers, switches,
digital to analog controllers (DACs), and other components well
known to those skilled in the art. Power supply 230 can optionally
be coupled to actuator interface 228 and/or the actuators to
provide electrical power. Alternatively, actuators and other
components can draw power from the bus 208 (such as USB) from the
host computer. Or, power can be stored and regulated by device 10
and used when needed to drive the actuators.
[0067] Sensors 72 sense the position, motion, and/or other
characteristics of particular controls of device 10 as described
above. Sensors 72 provide signals to microprocessor 220 including
information representative of those characteristics. The sensor 72
or sensor interface 226 can optionally provide sensor signals
directly to computer 12 as shown by busses 209a and 209b. Example
of sensors suitable for embodiments described herein are digital
rotary optical encoders, Hall effect sensors, linear optical
encoders, analog sensors such as potentiometers, optical sensors
such as a lateral effect photo diode, velocity sensors (e.g.,
tachometers) and/or acceleration sensors (e.g., accelerometers).
Furthermore, either relative or absolute sensors can be
employed.
[0068] Actuators 70 transmit forces to particular controls of
device 10 in one or more directions along one or more degrees of
freedom in response to signals output by microprocessor 220 and/or
host computer 12, i.e., they are "computer controlled." Actuators
70 include a magnetorheological brake as described in greater
detail above.
[0069] The manipulandum 56 can be a variety of different objects or
manipulandums that are manipulated by a user and which can receive
haptic feedback. For example, manipulandum 56 can be a crank arm of
a fishing pole device, pedals of bicycle simulator, or a knob.
Manipulandum can be in other embodiments a joystick, mouse,
steering wheel, stylus, or other object. The housing of the entire
device 10 can also be actuated, e.g. with vibrotactile
sensations.
[0070] Other input devices 234 can optionally be included in device
10 and send input signals to microprocessor 220 and/or host
computer 12. Such input devices can include buttons, dials, knobs,
switches, voice recognition hardware (with software implemented by
host 12), or other input mechanisms as described above. Safety or
"deadman" switch 236 can be included in some embodiments of device
10 to provide a mechanism to allow a user to override and
deactivate forces output by actuators 70, or require a user to
activate actuators 70, for safety reasons.
[0071] While this invention has been described in terms of several
preferred embodiments, it is contemplated that alterations,
permutations, and equivalents thereof will become apparent to those
skilled in the art upon a reading of the specification and study of
the drawings. Furthermore, certain terminology has been used for
the purposes of descriptive clarity, and not to limit the present
invention. It is therefore intended that the following appended
claims include all such alterations, permutations and equivalents
as fall within the true spirit and scope of the present
invention.
* * * * *