The present invention relates generally to interface devices between humans and computers, and more particularly to computer interface devices that provide force feedback to the user using actuators.
Computer systems are used extensively in many different industries to implement computer controlled simulations, games, and other application programs. More particularly, these types of games and simulations are very popular with the mass market of home consumers. A computer system typically displays a visual environment to a user on a display screen or other visual output device. Users can interact with the displayed environment to play a game, experience a simulation or “virtual reality” environment, or otherwise influence events or images depicted on the screen or in an application program or operating system. Such user interaction can be implemented through a human-computer interface device, such as a joystick, “joypad” button controller, mouse, trackball, stylus and tablet, foot or hand pedals, or the like, that is connected to the computer system controlling the displayed environment. The computer updates the game or simulation in response to the user's manipulation of a moved object such as a joystick handle or mouse, and provides feedback to the user utilizing the display screen and, typically, audio speakers.
Force feedback interface systems, also known as haptic systems, additionally provide force feedback to a user of the computer system. In a typical configuration, a host computer implements software such as an application program, virtual reality simulation, or game and communicates with a connected force feedback interface device. The user grasps a user object of the interface device, such as a joystick, mouse, steering wheel, stylus, etc., and moves the object in provided degrees of freedom. The movement of the user manipulatable object is sensed by the host computer using sensors, and force sensations controlled by the host computer are provided to the user object using actuators of the force feedback interface device. Force feedback can be effectively used to simulate a variety of experiences, including an impact of a surface, a pull of gravity, a crash in a vehicle, a firing of a gun, a bumpy road, etc., and can thus supply the mass market of computer users an entirely new dimension in human-computer interaction.
One problem with existing force feedback systems is that the actuators used in the interface device are expensive and/or inefficient. One common type of actuator used is a DC motor, which is quite bulky and expensive. The cost of the actuators tends to be a significant part of the overall cost of a device, and in the low-cost, competitive consumer market, any unnecessary costs translate into higher costs for the consumer. Other types of actuators used include voice coil actuators, in which a coil is moved through a magnetic field. However, in a voice coil actuator, circuit or wires which supply current to the coil flex with the motion of the coil. Such a flex circuit can be expensive since it must maintain reliability over the life over the actuator. In addition, a coil having current flowing through it tends to build up heat, and this heat may require a large heatsink coupled to the coil to be dissipated properly. If such a heatsink is provided with the moving coil, less efficient heatsinks are used to reduce weight and/or bulk of the moving part. Therefore, more efficient, low cost actuators that provide high fidelity force sensations are desirable for use in mass market force feedback devices.
The present invention provides a human/computer interface device and method which can provide low cost and highly realistic force feedback to the user of the device using moving magnet actuators.
A force feedback interface device and method of the present invention is coupled to a host computer that displays a graphical environment, the device including a user object physically contacted by a user and moveable in a degree of freedom. A sensor detects a position of the user manipulatable object in the degree of freedom and provides a sensor signal to the host computer, where the sensor signal includes information representative of the position of the user object. An actuator is coupled to the device or user object and outputs a force on the user manipulatable object or a housing of the device. The actuator includes a magnet and a grounded coil, where the magnet moves approximately within a plane with respect to the coil, and wherein a current is provided in the coil to generate the force. Other embodiments provide a magnet that moves in a linear degree of freedom within a coil housing, or provide an at least partially spherical magnet providing rotary degrees of freedom to a user manipulatable object coupled to the magnet.
Preferably, a microprocessor local to the interface device and separate from the host computer is included in the interface device. The local microprocessor provides a signal to the actuator to output the force, and also receives and parses host commands from the host computer, where the host commands cause the force to be output. A support mechanism is preferably coupled between the user manipulatable object and the actuator, and can provide one or more rotary or linear degrees of freedom. The support mechanism can be a five-bar linkage, a frame that moves linearly, a joint member, or other mechanism. The sensor can be a photodiode sensor, and the user manipulatable object can be a joystick handle, a mouse, steering wheel, or other object.
The embodiment including a frame support mechanism includes multiple bearings positioned between the frame and a ground surface, and each of the bearings preferably provide motion in both of the degrees of freedom. In one embodiment, each of the bearings includes a ball that is positioned between an indentation in the frame and an indentation in the ground surface and which rolls to provide motion of the frame. The magnet of each actuator is coupled to the frame and the coil is wrapped around a projection coupled to a grounded surface. Four actuators can be provided, each of the actuators positioned approximately in a mid portion of each side of the rectangularly-shaped frame. An anti-rotation mechanism can be coupled to the frame to reduce a tendency of the frame to rotate during its motion.
The interface apparatus of the present invention includes several low cost components that are suitable for providing accurate force feedback for the home market and other high volume markets. In contrast with previous use of motors and voice coil actuators, the use of moving magnet actuators in a force feedback interface device allows the interface device to be manufactured inexpensively yet include capability to output high quality, realistic forces.
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.
a and 2b are side elevational and top plan views, respectively, of the moving magnet actuator of the mechanism of
a is a perspective view of a second embodiment of a force feedback interface device of the present invention including a moving magnet actuator;
b is a sectional side elevational view of the moving magnet actuator of
c is a perspective view of an alternate embodiment of the force feedback interface device of
a is a perspective view of a third embodiment of a force feedback interface device of the present invention including a moving magnet actuator;
b and 4c are side elevational and top plan views, respectively, of the force feedback interface device of
System 10 is preferably included within a force feedback interface device that is coupled to a host computer system. The mechanical system 10 mechanically provides the degrees of freedom available to the user object 14 and allows sensors to sense movement in those degrees of freedom and actuators to provide forces in those degrees of freedom. This is described in greater detail below.
The force feedback interface device is adapted to provide data from which a computer or other computing device such as a microprocessor (see
Gimbal mechanism 12, in the described embodiment, provides the degrees of freedom for user manipulatable object 14 and provides support for the user object on a grounded surface 16 (schematically shown as part of ground member 20). Gimbal mechanism 12 can be a five-member linkage that includes a ground member 20, extension members 22a and 22b, and central members 24a and 24b. Ground member 20 is coupled to a ground surface which provides a reference and stability for system 10. Ground member 20 is shown in
Gimbal mechanism 12 is formed as a five member closed chain. Each end of one member is coupled to the end of another member. The five-member linkage is arranged such that extension member 22a, central member 24a, and central member 24b can be rotated about axis A in a first degree of freedom. The linkage is also arranged such that extension member 22b, central member 24b, and central member 24a can be rotated about axis B in a second degree of freedom. When user object 14 is positioned at the “origin” as shown in
User manipulatable object 14 is coupled to gimbal mechanism 12 and is preferably an interface object for a user to grasp or otherwise manipulate in three dimensional (3D) space. User object 14 can be any of a wide variety of objects or articles, as described with respect to
In some embodiments, the user manipulatable object 14 is translatably coupled to members 24a and 24b and thus can be linearly translated, independently with respect to the gimbal mechanism 12, along floating axis C, providing a third degree of freedom as shown by arrows 36. Furthermore, the user object 14 is in some embodiments rotatably coupled to members 24a and 24b and can be rotated about floating axis C.
Sensors 38a and 38b can be provided to detect the position of the user object 14 in provided degrees of freedom about axes A and B, respectively. A variety of different types of sensors can be used. For example, as shown in
Also preferably coupled to gimbal mechanism 12 is actuator 40. Actuator 40 is a moving magnet actuator that provides force to a member coupled to the actuator. In the described embodiment, actuator 40 is coupled to extension member 22b and provides a rotary force to the extension member about axis B. In preferred embodiments, another actuator 40 is coupled to extension member 22a in a similar manner.
Actuator 40 includes a pendulum shaft 42, a magnetic pendulum head 44, a coil assembly 46, and a magnetic flux guide 48. Pendulum shaft 42 is rigidly coupled to extension member 22b such that when extension member 22b rotates about axis B, pendulum shaft 42 also rotates about axis B. Magnetic pendulum head 44 is coupled to shaft 42 and rotates with the shaft. Magnetic head 44 is positioned to rotate approximately in a plane between coil assembly 46 and magnetic flux guide 48. In some embodiments, the rotation of magnetic head 44 and shaft 42 can be limited by dimensions of the magnetic flux guide 48 or physical stops. Actuator 40 is described in greater detail with respect to
In other embodiments, an amplification transmission can be included to amplify output forces from actuator 40 onto user object 14 (i.e., provide mechanical advantage) and/or to increase the sensor 38 resolution when detecting a position of the user object 14. For example, a capstan drive mechanism can be provided between actuator and user object 14, as described in greater detail in U.S. Pat. No. 5,767,839, incorporated herein by reference. Belt drive transmissions or gears can also be used in other embodiments.
a and 2b show actuator 40 in greater detail. As shown in the side sectional view of
The magnetic head 44 sweeps an arc within a plane such that the head 44 moves parallel to the approximate plane of the coil 50. Magnet head 44 includes two magnets 45, where one magnet 45 has an opposite polarity facing the same direction as the polarity of the other magnet 45. Magnet head 44 includes a north polarity surface 54 and a south polarity surface 56 for each of its magnets, thus providing four magnetic polarities to the region 58 between the magnetic flux guide 48 and support 52 (opposite polarities are provided on opposing surfaces of each of the magnets 45 of head 44). In alternate embodiments, four different magnets can be provided on head 44, two north polarity magnets, and two south polarity magnets. Preferably, a small amount of space 60 is provided between the magnet surface and the coil 50. Flux guide 48 is a housing that allows magnetic flux to travel from one end of the magnet head 44 to the other end, as is well known to those skilled in the art. As shown in
An electric current I is flowed through the coil 50 via electrical connections 62. As is well known to those skilled in the art, the electric current in the coil generates a magnetic field. The magnetic field from the coil then interacts with the magnetic fields generated by magnets 45 to produce a motion. The motion or torque of the magnetic head 44 is indicated by arrows 64. The magnitude or strength of the torque is dependent on the magnitude of the current that is applied to the coil. Likewise, the direction of the torque depends on the direction of the current to the coil.
Thus, by applied a desired current magnitude and direction, force can be applied to pendulum head 44, thereby applying force to pendulum shaft 42 and torque to extension member 22b. This in turn applies a force to user manipulatable object 14 in the rotary degree of freedom about axis B (and axis D). The actuator 40 thus may be provided as a substitute for other actuators such as DC motors and brakes having rotatable shafts. An actuator 40 can be provided for each degree of freedom of the user manipulatable object in which force is desired to be applied. For example, a second actuator 40 is preferably coupled to extension member 22a in a similar manner to apply forces to object 14 in the rotary degree of freedom about axes A and E. Also, other known mechanical interface devices, such as slotted yoke mechanisms or other gimbal mechanisms, can use actuator 40 to provide force feedback to a user of the interface in desired degrees of freedom.
In addition, is some embodiments the moving magnet actuator 40 can be used as a sensor. A second coil, having an appropriate number of loops, can be placed on support 52. Motion about axis B within magnetic field induces a voltage across the second coil. The voltage can be sensed across this second coil. This voltage is proportional to the rotational velocity of the magnetic head 44. From this derived velocity, acceleration or position of the pendulum head can be derived using timing information, for example, from a clock. Alternatively, the coil 50 can be used for both applying forces and sensing velocity, as described in U.S. Pat. No. 5,805,140, incorporated herein by reference.
In other embodiments, a single magnet 45 can be provided on magnet head 44, where one side of the magnet facing support 52 has one polarity, and the other side of the magnet facing flux guide 48 has the opposite polarity. In such an embodiment, two coils 50 can be placed adjacent to each other on the side of support 52 instead of the one coil 50 shown in
The actuator 40 has several advantages. One is that a limited angular range is defined for a particular degree of freedom of object 14 by the length of the magnetic head 44. In many interface devices, such as joysticks, such a limited angular range is desired to limit the movement of object 14. Also, the actuator 40 provides good mechanical advantage due to a large radius of the magnet head 44. Thus, when using actuators 40, a drive amplification transmission, such as a capstan drive, belt drive, or friction drive, may not be necessary to output forces with sufficient magnitude. Also, control of the actuator 40 can be simpler than other actuators since output torque is a linear function of input coil current. In addition, since actuators 40 do not require mechanical or electrical commutation as do other types of motors, the actuator 40 has a longer life expectancy, less maintenance, and quiet operation. The actuation is frictionless, resulting in greater haptic fidelity.
Furthermore, the actuator 40 has some advantages over voice coil actuators which move a coil through a magnetic field instead of moving a magnet as in the present invention. In a voice coil actuator, a circuit or wires must be provided which flex with the motion of the coil, since current is supplied to the coil from a source that is typically not moving with the coil. Such a flex circuit can be expensive since it must maintain reliability over the life over the actuator. In addition, in many configurations a moving magnet actuator such as actuator 40 can be more cost efficient and power efficient than a moving coil actuator having equivalent characteristics such as output force. Finally, a coil is more efficiently heatsinked in a moving magnet actuator than in a moving coil actuator. A coil having current flowing through it tends to build up heat, and this heat may require a large heatsink coupled to the coil to be dissipated properly. If such a heatsink is provided on a moving part with the moving coil, less efficient heatsinks are required to reduce weight and/or bulk of the moving part. However, if the magnet is moved instead of the coil, the grounded coil can be heatsinked more effectively.
In other embodiments, a linear moving magnet actuator can be used to provide forces in and detect motion in a linear degree of freedom. A linear moving-magnet actuator can include a coil wound around an inner cylindrical wall of the actuator, forming a linear channel through which a magnet head can translate, as shown in
In addition, multiple coils be coupled to support 52 to provide multiple separate “sub-coils” of wire. Each sub-coil can have its own terminals and be supplied with its own current. Since the magnetic fields from selected sub-coils will interact to create larger or smaller magnetic fields, a variety of different forces can be output by the actuator 40 with one magnitude of current. This embodiment is described in greater detail in U.S. Pat. No. 5,805,140, which is incorporated herein by reference.
a is a perspective view of an interface system 100 in which two linear degrees of freedom are provided to user object 14 and linear moving-magnet actuators 102a and 102b are used to apply forces to the user object. A host computer, microprocessor (not shown) or other current source is preferably coupled to the actuators to apply current as desired.
A side sectional view of an example of a linear actuator 102 is shown in
Referring back to
Object 14 can be translated by a user along linear axis X or linear axis Y, or along a combination of these axes. When object 14 is moved along axis X toward or away from housing 104a, then magnet head 106a, shaft 114a, and joint member 116a are correspondingly moved toward or away from housing 104a and retain the same relative position as shown in
In the described embodiment, one joint member 116a is coupled under shaft 114a and the other joint member 116b is coupled over shaft 114b. Alternatively, the shafts and joint members can be coupled together in many different configurations.
c is a schematic diagram of an alternate embodiment 100′ of the interface system 100 shown in
Shaft 122a is coupled to a flexible member 124a. Flexible members 124a and 124b are preferably made of a resilient material such as flexible plastic, rubber, metal, or the like. Flexible members 124a and 124b are preferably narrow in the dimension that the member is to bend, and wide in the dimensions in which the member is to remain rigid. Shaft 122a is a rigid member that couples member 124a to magnet head 106a, and can be provided with different lengths in different embodiments. Flexible member 124a is rigidly coupled to an object member 126 at the other end of the flexible member. Member 126 can be a part of object 14 or a platform or other base for supporting object 14. Shaft 122b is coupled to member 126 and object 14 through flexible member 124b in a similar manner.
Object 14 can be moved by a user along linear axis X or linear axis Y. Flexible members 124a and 124b flex (bend) appropriately as the object is moved. For example, if object 14 and member 126 are moved along axis X, flexible member 124a does not bend since the direction of movement is directed down (substantially parallel to) the longitudinal axis of flexible member 124a. However, since housing 104b is grounded and fixed in place relative to object 14, flexible member 124a bends toward or away from actuator 102a (depending on the object's direction along axis X) to allow the translation of object 14. This occurs when the direction of movement of object 14 is substantially perpendicular to the longitudinal axis of flexible member 124a. Likewise, when object 14 is translated along axis Y in the other linear degree of freedom, flexible member 124b does not flex since the direction of movement is directed substantially parallel to its longitudinal axis. Flexible member 124a, however, bends toward or away from actuator 102b to allow the translation of object 14. When object 14 is moved simultaneously along both axes X and Y (e.g., object 14 is moved diagonally), then both flexible members 124a and 124b flex in conjunction with the movement. It should be noted that the flexible members 124a and 124b do not need to twist (i.e. provide torsion flex).
a is a perspective view of another embodiment 140 of the present invention for a force feedback device including a moving magnet actuator. Embodiment 140 includes a user manipulatable object 14, a magnet frame 142, actuators 143 including magnets 148 and coil portions 144, and bearings 146. User object 14 is provided with two linear, planar degrees of freedom in the apparatus shown.
User manipulatable object 14 is rotatably coupled to magnet frame 142. The user object 14 can preferably be rotated about an axis C so that the frame 142 will not be rotated by the user. The motion about axis C can be sensed by a sensor and/or actuated by an actuator, in various embodiments.
Magnet frame 142 includes a portion of a bearing 146 at each corner, which is described in greater detail below. Frame 142 also is coupled to multiple magnets 148, where four magnets 148 are provided, one on each side of frame 142. Magnets 148 are each provided above an associated coil portion 144, which includes a grounded piece 150 made of a metal such as iron, and a coil 152 wrapped around a central projection (“pole piece”) 154 of the grounded piece 150. The coil 152 preferably is wrapped several times around the projection 154, e.g. 100 to 200 times. Magnet frame 142 is also coupled to a ground 156 by bearings 146, which allow the frame 142 to translate with respect to ground 52 and coil portions 144. Ground 156 can be any surface, member, housing, etc. that remains fixed with reference to the moving frame 142. It should be noted that sensors are omitted from the view shown in
The magnetic actuators 143 produce a linear force on frame 142 in a direction parallel to axes X and Y, as shown by arrows 145 and 147, respectively. The frame 142 is subject to force output by actuators 143a and 143b parallel to axis X until magnets 148a and 148b are moved out from over the coils 152a and 152b, respectively. Likewise, the frame 142 is subject to force output by actuators 143c and 143d parallel to axis Y until magnets 148c and 148d, respectively, are moved out from over the coils 152c and 152d, respectively. Preferably, physical stops are provided to limit the motion of frame 142 before the magnets are moved fully away from the coils.
In the embodiment shown, four actuators are provided, two for each degree of freedom, where actuator pair 143a and 143b provide force in the X-axis degree of freedom, and actuator pair 143c and 143d provides force in the Y-axis degree of freedom. Since a pair of actuators for a degree of freedom are provided on opposite sides of frame 142, there is the possibility that if one actuator in the pair outputs a force of one magnitude and the opposite actuator outputs a force of different magnitude, then a torque will be produced on the frame 142, causing the frame to rotate. To prevent such rotation, each actuator in a pair should be provided with the same magnitude of current in coil 152, causing the same magnitude and direction of force. For example, each actuator in the pair can be provided with one-half the current so that each actuator outputs one-half the desired force magnitude (½ F) in the same direction in a degree of freedom, thus summing to the total desired force magnitude F. Additionally, or in other embodiments, flexible frames, supports, anti-rotation flexures, or other members can couple the frame 142 to ground 152 to prevent such rotation; such a flexure can also provide a restoring force through the frame to object 14 to bring the object 14 back to a center position in the degrees of freedom. Examples of such supports are described in U.S. Pat. No. 5,805,140.
In other embodiments, only one actuator need be provided for each degree of freedom. For example, one half of the frame 142 need only be used, where the two actuators are positioned orthogonal and connected by an L-shaped piece. Such an L-shaped piece is described in greater detail in U.S. Pat. No. 5,805,140, incorporated herein by reference. Furthermore, rotary motion of a user object 14 can be converted to the linear motion of frame 142 using a ball socket or similar joint, as described in U.S. Pat. No. 5,805,140.
b is a side elevational view of the force feedback device embodiment 140 of
Bearings 146 are also shown in
Also shown in
c is a top plan view of the force feedback device embodiment 140 of
In other embodiments, an emitter and detector can be placed on opposite sides of portion 180 that has slots similar to strips 182 that let the beam pass through to the detector. Such optical encoders are well known to those skilled in the art. In still other embodiments, other types of sensors can be used. A separate sensor can be provided for the motion of object 14 along axes X and Y, or a single sensor can be used to detect motion in both degrees of freedom. For example, a rectangular detector that senses the two dimensional position of an impinging beam can be placed underneath the frame 142 below the user object 14, where the beam emitter is coupled to the underside of the frame 142 (or the emitter and detector positions can be reversed). Furthermore, other types of sensors as described above can also be used.
In an alternate embodiment, instead of the linear embodiment of
The computer 202 can be a personal computer or workstation, such as an IBM-PC compatible computer, Macintosh personal computer, or a SUN or Silicon Graphics workstation. Most commonly, the digital processing system is a personal or portable computer which operates under the Windows™, Unix, MacOS, or other operating system and may include a host microprocessor such as a Pentium class microprocessor, PowerPC, DEC Alpha, or other type of microprocessor. Alternatively, host computer system 202 can be one of a variety of home video game systems commonly connected to a television set, such as systems available from Nintendo, Sega, or Sony. In other embodiments, host computer system 202 can be a “set top box” which can be used, for example, to provide interactive television functions to users, or a “network-” or “internet-computer” which allows users to interact with a local or global network using standard connections and protocols such as used for the Internet and World Wide Web.
Host computer 202 preferably implements a host application program with which a user is interacting via user object 14 and other peripherals, if appropriate, and which can include force feedback functionality. The software running on the host computer 202 may be of a wide variety. For example, the host application program can be a simulation, video game, 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 of user object 14 and outputs force feedback commands to the user object 14. For example, many game application programs include force feedback functionality and may communicate with the force feedback interface device 200 using a standard protocol/drivers such as I-Force® or TouchSense™ available from Immersion Corporation. Herein, computer 202 may be referred as displaying “graphical objects” or “computer objects.” 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 202 on display screen 214, as is well known to those skilled in the art. A displayed cursor or a simulated cockpit of an aircraft might be considered a graphical object.
Host computer 202 commonly includes a host microprocessor 204, random access memory (RAM) 206, read-only memory (ROM) 208, input/output (I/O) electronics 210, a clock 212, and display device 214. Host microprocessor 204 can include a variety of available microprocessors from Intel, Motorola, AMD, Cyrix, or other manufacturers. Microprocessor 400 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 RAM 206 and ROM 208 as is well known to those skilled in the art. In the described embodiment, host computer system 202 can receive sensor data or a sensor signal via bus 216 from sensors of mechanical apparatus 206 and other information. Host computer 202 can also output “host commands” to the interface via bus 216 to cause force feedback for the interface device.
Clock 212 is a standard clock crystal or equivalent component used by host computer 202 to provide timing for electrical signals used by microprocessor 204 and other components of the computer. Display device 214 can be included in host computer 202 and can be a standard display screen (LCD, CRT, etc.), 3-D goggles, or any other visual output device. Typically, the host application provides images to be displayed on display device 214 and/or other feedback, such as auditory signals. For example, display device 214 can display images from a game program. Audio output device 218, such as speakers, can be coupled to host microprocessor 204 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 204, such as storage devices (hard disk drive, CD ROM drive, floppy disk drive, etc.), printers, and other input and output devices.
Electronic interface 204 is coupled to host computer 202 by a bi-directional bus 216. The bi-directional bus sends signals in either direction between host computer 202 and interface device 200. Bus 216 can be a serial interface bus, such as USB, RS-232, MDI, IrDA, 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 202, such as a USB or RS232 serial interface port, connects bus 216 to host computer 202. In a different embodiment bus 216 can be connected directly to a data bus of host computer 202 using, for example, a plug-in card and slot or other access of computer 202.
Electronic interface 204 includes a local microprocessor 220, local clock 222, local memory 224, optional sensor interface 230, an optional actuator interface 232, and other optional input devices 234. Interface 204 may also include additional electronic components for communicating via standard protocols on bus 216. In various embodiments, electronic interface 204 can be included in mechanical apparatus 206, in host computer 202, or in its own separate housing. Different components of interface 204 can be included in device 200 or host computer 202 if desired.
Local microprocessor 220 is coupled to bus 216 and communicates with host computer 202. Processor 220 is considered “local” to interface device 200, where “local” herein refers to processor 220 being a separate microprocessor from any processors in host computer 202. “Local” also preferably refers to processor 220 being dedicated to force feedback and sensor I/O of interface device 200, and being closely coupled to sensors 226 and actuators 228, such as within or coupled closely to the housing for interface device 200. Microprocessor 220 can be provided with software instructions to wait for commands or requests from computer 202, parse or decode the command or request, and handle/control input and output signals according to the command or request. In addition, processor 220 preferably operates independently of host computer 202 by reading sensor signals, calculating appropriate forces from those sensor signals, time signals, and a subroutine or “force process” in accordance with a host command, and outputting appropriate control signals to the actuators. Suitable microprocessors for use as local microprocessor 220 include the I-Force Processor from Immersion Corp., the 8X930AX by Intel, the MC68HC711E9 by Motorola and 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 includes digital signal processor (DSP) functionality. In yet other embodiments, digital circuitry, state machine, and/or logic can be provided instead of a microprocessor to control actuators 228.
For example, in one host-controlled embodiment that utilizes microprocessor 220, host computer 202 can provide low-level force commands over bus 216, which microprocessor 220 directly transmits to the actuators. In a different local control embodiment, host computer system 202 provides high level supervisory commands to microprocessor 220 over bus 216, and microprocessor 216 manages low level force control loops to sensors and actuators in accordance with the high level commands and independently of the host computer 202. In the local control embodiment, the microprocessor 220 can process inputted 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, 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. For instance, the host can send the local processor 220 a spatial layout of objects in the graphical environment so that the microprocessor has a mapping of locations of graphical objects and can determine force interactions locally. Force feedback used in such embodiments is described in greater detail in U.S. Pat. Nos. 5,734,373 and 6,078,308, both of which are incorporated by reference herein. Microprocessor 220 can also receive commands from any other input devices 234 included in interface device 200 and provides appropriate signals to host computer 202 to indicate that the input information has been received and any information included in the input information. For example, buttons, switches, dials, or other input controls associated with interface device 202 can provide signals to microprocessor 220. Another variation may consist of dedicated subcircuits and specialized or off-the-shelf chips which read the input devices, monitor the sensors 226, determine angles, and handle communications with the host computer 202, all without software or a microprocessor 220.
A local clock 222 can be coupled to the microprocessor 220 to provide timing data, similar to system clock 212 of host computer 202; the timing data might be required, for example, to compute forces output by actuators 228. Local memory 224, such as RAM and/or ROM, is preferably coupled to microprocessor 220 in interface device 200 to store instructions for microprocessor 220 and store temporary and other data. Microprocessor 220 may also store calibration parameters and the state of the force feedback device in a local memory 224.
Sensor interface 230 may optionally be included in electronic interface 204 to convert sensor signals to signals that can be interpreted by the microprocessor 220 and/or host computer. For example, sensor interface 230 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 can perform these interface functions or sensor signals from the sensors can be provided directly to host computer 202. Actuator interface 232 can be optionally connected between the actuators of interface device 200 and local microprocessor 220 to convert signals from microprocessor 220 into signals appropriate to drive the actuators. Actuator interface 232 can include power amplifiers, switches, digital to analog controllers (DACs), and other components well known to those skilled in the art.
Microprocessor 220 and/or host computer 202 can command specific current magnitude and direction to the moving magnet actuators 228 to apply desired forces to object 14. This can be accomplished using voice coil driver chips that can be provided, for example, in actuator interface 232. These chips typically include a self-contained transconductance amplifier, with a current control feedback loop, to output current to a voice coil actuator, and will operate with the actuators of the present invention. A suitable voice coil driver chip includes a switchable transconductance gain circuit that allows the user to choose between two different voltage-to-current gains. When smaller, more fine forces are to be output, the gain can be switched from a high gain to a low gain, thus decreasing the current step size. This increases the resolution of the DAC used to drive the voice coil driver. With a greater resolution, the DAC can more finely and accurately control the forces felt by the user. This fine control, however, provides a smaller range of possible forces that can be output. Thus, when a larger range of forces is desired, the gain can be switched back to the larger gain. The gain switching can be implemented using a control line from the microprocessor 220 or computer 202 to the voice coil driver chip. Suitable voice coil driver chips include the Siliconex Si9961 (with gain control), the Allegro 8932-A (with gain control), the Allegro 8958 (no gain control), and the Unitrode UC3176 (no gain control). The operation and implementation of these drivers is well known to those skilled in the art.
Other input devices 234 can optionally be included in the housing for interface device 200 and send input signals to microprocessor 220 and/or host computer 202. Such input devices can include buttons, dials, switches, or other mechanisms. For example, in embodiments where user object 14 is a joystick, other input devices 234 can include one or more buttons provided, for example, on the joystick handle or base and used to supplement the input from the user to a game or simulation. Also, dials, switches, voice recognition hardware (and/or voice recognition software implemented by microprocessor 220 or host 202), or other input mechanisms can be used. The operation of such input devices is well known to those skilled in the art.
Power supply 236 can optionally be coupled to actuator interface 232 and/or actuators 228 to provide electrical power. Actuators 228 typically require a separate power source to be driven. Power supply 236 can be included within the housing of interface device 200, or can be provided as a separate component, for example, connected by an electrical power cord. Alternatively, if the USB or a similar communication protocol is used, actuators and other components can draw power from the USB from the host computer. Alternatively, power can be stored and regulated by interface device 200 and thus used when needed to drive actuators 228.
Safety or “deadman” switch 238 is preferably included in interface device to provide a mechanism to allow a user to override and deactivate actuators 228, or require a user to activate actuators 228, for safety reasons. For example, the user must continually activate or close safety switch 238 during manipulation of user object 14 to activate the actuators 228; If, at any time, the safety switch is deactivated (opened), power from power supply 236 is cut to actuators 228 (or the actuators are otherwise deactivated) as long as the safety switch is open. Embodiments of safety switch 238 include an optical safety switch, electrostatic contact switch, hand weight safety switch, etc. The safety switch can also be implemented in firmware or software for local microprocessor 220.
Mechanical apparatus 206 is coupled to electronic interface 204 and preferably includes sensors 226, actuators 228, and mechanism 230. One embodiment of mechanical apparatus 206 is mechanical system 10 of
Sensors 226 sense the position, motion, and/or other characteristics of user object 14 along one or more degrees of freedom and provide signals to microprocessor 220 including information representative of those characteristics. Typically, a sensor 226 is provided for each degree of freedom along which object 14 can be moved. Alternatively, a single compound sensor can be used to sense position or movement in multiple degrees of freedom. Examples of sensors suitable for several embodiments described herein include digital optical rotary encoders, linear optical encoders, potentiometers, phototransistor sensors, photodiode sensors, or other optical sensors, non-contact sensors such as Polhemus (magnetic) sensors, the encoder sensor 174 of
Actuators 228 transmit forces to user object 14 of mechanical apparatus 206 in one or more directions along one or more degrees of freedom in response to signals received from microprocessor 220, and/or host computer 202, i.e., they are “computer controlled.” Typically, an actuator 228 is provided for each degree of freedom along which forces are desired to be transmitted. In other embodiments, the actuators can instead or additionally transmit forces to the housing of the interface device which are then transmitted to the user through physical contact with the housing, e.g. the user is holding the housing of the device, such as a gamepad controller. Actuators 228 preferably each include a moving magnet and coil and can be any of the actuator embodiments 40, 102, or 143 described above.
Mechanism 230 can be one of several types of mechanisms. One type of mechanism is the gimbal mechanism 12 and mechanical system 10 shown in
A user manipulatable object (or “manipulandum”) 14 is grasped by the user in operating the device 200. It will be appreciated that a great number of other types Of user objects can be used with the method and apparatus of the present invention. In fact, the present invention can be used with any mechanical object where it is desirable to provide a human-computer interface with two to six degrees of freedom. Such objects may include a joystick, stylus, mouse, steering wheel, gamepad, remote control, sphere, trackball, or other grips, finger pad or receptacle, surgical tool used in medical procedures, catheter, hypodermic needle, wire, fiber optic bundle, screw driver, pool cue, fishing pole, etc.
While this invention has been described in terms of several preferred embodiments, it is contemplated that alterations, modifications and permutations 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.
This application is a Continuation of U.S. patent application Ser. No. 09/431,383, filed Nov. 1, 1999, now U.S. Pat. No. 6,704,001, which claims the benefit of U.S. provisional application no. 60/107,267, filed Nov. 4, 1998, by Schena et al., entitled “Force Feedback: Device Including Actuator with Moving Magnet,” and is a continuation-in-part of application Ser. No. 09/140,717, filed on Aug. 26, 1998, now Pat. No. 6,201,533, which is a division of application Ser. No. 08/560,091, filed Nov. 17, 1995, now Pat. No. 5,805,140, each of which are incorporated by reference in their entireties.
Number | Name | Date | Kind |
---|---|---|---|
2906179 | Bower | Sep 1959 | A |
3157853 | Hirsch | Nov 1964 | A |
3220121 | Cutler | Nov 1965 | A |
3490059 | Paulsen et al. | Jan 1970 | A |
3497668 | Hirsch | Feb 1970 | A |
3517440 | Cotyon et al. | Jun 1970 | A |
3517446 | Corlyon et al. | Jun 1970 | A |
3531868 | Stevenson | Oct 1970 | A |
3623064 | Kagan | Nov 1971 | A |
3795150 | Eckhardt | Mar 1974 | A |
3875488 | Crocker et al. | Apr 1975 | A |
3890958 | Fister et al. | Jun 1975 | A |
3902687 | Hightower | Sep 1975 | A |
3903614 | Diamond et al. | Sep 1975 | A |
3911416 | Feder | Oct 1975 | A |
3919691 | Noll | Nov 1975 | A |
3944798 | Eaton | Mar 1976 | A |
4148014 | Burson | Apr 1979 | A |
4160508 | Salisbury, Jr. et al. | Jul 1979 | A |
4216467 | Colston | Aug 1980 | A |
4236325 | Hall et al. | Dec 1980 | A |
4391282 | Ando et al. | Jul 1983 | A |
4398889 | Lam et al. | Aug 1983 | A |
4436188 | Jones | Mar 1984 | A |
4448083 | Hayashi | May 1984 | A |
4477043 | Repperger | Oct 1984 | A |
4477973 | Davies | Oct 1984 | A |
4513235 | Acklam et al. | Apr 1985 | A |
4550221 | Mabusth | Oct 1985 | A |
4550617 | Fraignier et al. | Nov 1985 | A |
4560983 | Williams | Dec 1985 | A |
4571834 | Fraser et al. | Feb 1986 | A |
4581491 | Boothroyd | Apr 1986 | A |
4593470 | Davies | Jun 1986 | A |
4599070 | Hladky et al. | Jul 1986 | A |
4601206 | Watson | Jul 1986 | A |
4604016 | Joyce | Aug 1986 | A |
4632341 | Repperger et al. | Dec 1986 | A |
4638798 | Shelden et al. | Jan 1987 | A |
4648782 | Kraft | Mar 1987 | A |
4653011 | Iwano | Mar 1987 | A |
4654648 | Herrington et al. | Mar 1987 | A |
4676002 | Slocum | Jun 1987 | A |
4677355 | Baumann | Jun 1987 | A |
4679331 | Koontz | Jul 1987 | A |
4688983 | Lindbom | Aug 1987 | A |
4689449 | Rosen | Aug 1987 | A |
4703443 | Moriyasu | Oct 1987 | A |
4704909 | Grahn et al. | Nov 1987 | A |
4706294 | Ouchida | Nov 1987 | A |
4708656 | De Vries et al. | Nov 1987 | A |
4712101 | Culver | Dec 1987 | A |
4713007 | Alban | Dec 1987 | A |
4750487 | Zanetti | Jun 1988 | A |
4769763 | Trieb et al. | Sep 1988 | A |
4775289 | Kazerooni | Oct 1988 | A |
4787051 | Olson | Nov 1988 | A |
4791934 | Brunnett | Dec 1988 | A |
4794392 | Selinko | Dec 1988 | A |
4795296 | Jau | Jan 1989 | A |
4798919 | Miessler et al. | Jan 1989 | A |
4800721 | Cemenska et al. | Jan 1989 | A |
4803413 | Kendig et al. | Feb 1989 | A |
4811608 | Hilton | Mar 1989 | A |
4819195 | Bell et al. | Apr 1989 | A |
4823634 | Culver | Apr 1989 | A |
4839838 | LaBiche et al. | Jun 1989 | A |
4849692 | Blood | Jul 1989 | A |
4857881 | Hayes | Aug 1989 | A |
4868549 | Affinito et al. | Sep 1989 | A |
4874998 | Hollis, Jr. | Oct 1989 | A |
4879556 | Duimel | Nov 1989 | A |
4888877 | Enderle et al. | Dec 1989 | A |
4891764 | McIntosh | Jan 1990 | A |
4891889 | Tomelleri | Jan 1990 | A |
4896554 | Culver | Jan 1990 | A |
4907970 | Meenen, Jr. | Mar 1990 | A |
4907973 | Hon | Mar 1990 | A |
4930770 | Baker | Jun 1990 | A |
4934694 | McIntosh | Jun 1990 | A |
4942545 | Sapia | Jul 1990 | A |
4945305 | Blood | Jul 1990 | A |
4945501 | Bell et al. | Jul 1990 | A |
4949119 | Moncrief et al. | Aug 1990 | A |
4961138 | Gorniak | Oct 1990 | A |
4961267 | Herzog | Oct 1990 | A |
4962448 | DeMaio et al. | Oct 1990 | A |
4962591 | Zeller et al. | Oct 1990 | A |
4982504 | Soderberg et al. | Jan 1991 | A |
4983786 | Stevens et al. | Jan 1991 | A |
4983901 | Lehmer | Jan 1991 | A |
4985652 | Oudet et al. | Jan 1991 | A |
5007085 | Greanias et al. | Apr 1991 | A |
5007300 | Siva | Apr 1991 | A |
5019761 | Kraft | May 1991 | A |
5022407 | Horch et al. | Jun 1991 | A |
5035242 | Franklin et al. | Jul 1991 | A |
5038089 | Szakaly | Aug 1991 | A |
5040306 | McMurtry et al. | Aug 1991 | A |
5044956 | Behensky et al. | Sep 1991 | A |
5050608 | Watanabe et al. | Sep 1991 | A |
5072361 | Davis et al. | Dec 1991 | A |
5076517 | Ferranti et al. | Dec 1991 | A |
5078152 | Bond et al. | Jan 1992 | A |
5088046 | McMurtry et al. | Feb 1992 | A |
5088055 | Oyama | Feb 1992 | A |
5095303 | Clark et al. | Mar 1992 | A |
5103404 | McIntosh | Apr 1992 | A |
5107080 | Rosen | Apr 1992 | A |
5107262 | Cadoz et al. | Apr 1992 | A |
5116051 | Moncrief et al. | May 1992 | A |
5116180 | Fung et al. | May 1992 | A |
5126948 | Mitchell et al. | Jun 1992 | A |
5128671 | Thomas, Jr. | Jul 1992 | A |
5131844 | Marinaccio et al. | Jul 1992 | A |
5132672 | Clark | Jul 1992 | A |
5136194 | Oudet et al. | Aug 1992 | A |
5139261 | Openiano | Aug 1992 | A |
5142506 | Edwards | Aug 1992 | A |
5142931 | Menahem | Sep 1992 | A |
5143505 | Burdea et al. | Sep 1992 | A |
5146566 | Hollis et al. | Sep 1992 | A |
5148377 | McDonald | Sep 1992 | A |
5168183 | Whitehead | Dec 1992 | A |
5178012 | Culp | Jan 1993 | A |
5181181 | Glynn | Jan 1993 | A |
5182557 | Lang | Jan 1993 | A |
5184306 | Erdman et al. | Feb 1993 | A |
5184319 | Kramer | Feb 1993 | A |
5185561 | Good et al. | Feb 1993 | A |
5186629 | Rohen | Feb 1993 | A |
5187874 | Takahashi et al. | Feb 1993 | A |
5189355 | Larkins et al. | Feb 1993 | A |
5189806 | McMurtry et al. | Mar 1993 | A |
5193963 | McAffee et al. | Mar 1993 | A |
5197003 | Moncrief et al. | Mar 1993 | A |
5204824 | Fujimaki | Apr 1993 | A |
5209131 | Baxter | May 1993 | A |
5209661 | Hildreth et al. | May 1993 | A |
5212473 | Louis | May 1993 | A |
5220260 | Schuler | Jun 1993 | A |
5223776 | Radke et al. | Jun 1993 | A |
5228356 | Chuang | Jul 1993 | A |
5230623 | Guthrie et al. | Jul 1993 | A |
5235868 | Culver | Aug 1993 | A |
5240417 | Smithson et al. | Aug 1993 | A |
5243266 | Kasagami et al. | Sep 1993 | A |
5251127 | Raab | Oct 1993 | A |
5251156 | Heier et al. | Oct 1993 | A |
5259120 | Chapman et al. | Nov 1993 | A |
5259894 | Sampson | Nov 1993 | A |
5262777 | Low et al. | Nov 1993 | A |
5264768 | Gregory et al. | Nov 1993 | A |
5271290 | Fischer | Dec 1993 | A |
5275174 | Cook | Jan 1994 | A |
5275565 | Moncrief | Jan 1994 | A |
5286203 | Fuller et al. | Feb 1994 | A |
5296846 | Ledley | Mar 1994 | A |
5296871 | Paley | Mar 1994 | A |
5299810 | Pierce et al. | Apr 1994 | A |
5309140 | Everett, Jr. et al. | May 1994 | A |
5334027 | Wherlock | Aug 1994 | A |
5334893 | Oudet et al. | Aug 1994 | A |
5351692 | Dow et al. | Oct 1994 | A |
5354162 | Burdea et al. | Oct 1994 | A |
5379663 | Hara | Jan 1995 | A |
5381080 | Schnell et al. | Jan 1995 | A |
5384460 | Tseng | Jan 1995 | A |
5389865 | Jacobus et al. | Feb 1995 | A |
5396266 | Brimhall | Mar 1995 | A |
5396267 | Bouton | Mar 1995 | A |
5397323 | Taylor et al. | Mar 1995 | A |
5402582 | Raab | Apr 1995 | A |
5405152 | Katanics et al. | Apr 1995 | A |
5412880 | Raab | May 1995 | A |
5414337 | Schuler | May 1995 | A |
5417696 | Kashuba et al. | May 1995 | A |
5428748 | Davidson et al. | Jun 1995 | A |
5429140 | Burdea et al. | Jul 1995 | A |
5436542 | Petelin et al. | Jul 1995 | A |
5436640 | Reeves | Jul 1995 | A |
5440183 | Denne | Aug 1995 | A |
5445166 | Taylor | Aug 1995 | A |
5451924 | Massimino et al. | Sep 1995 | A |
5452615 | Hilton | Sep 1995 | A |
5459382 | Jacobus et al. | Oct 1995 | A |
5466213 | Hogan et al. | Nov 1995 | A |
5467763 | McMahon et al. | Nov 1995 | A |
5473235 | Lance et al. | Dec 1995 | A |
5512919 | Araki | Apr 1996 | A |
5513100 | Parker et al. | Apr 1996 | A |
5532585 | Oudet et al. | Jul 1996 | A |
5542672 | Meredith | Aug 1996 | A |
5547382 | Yamasaki et al. | Aug 1996 | A |
5559432 | Logue | Sep 1996 | A |
5576704 | Baker et al. | Nov 1996 | A |
5576727 | Rosenberg et al. | Nov 1996 | A |
5587937 | Massie et al. | Dec 1996 | A |
5589828 | Armstrong | Dec 1996 | A |
5589854 | Tsai | Dec 1996 | A |
5591082 | Jensen et al. | Jan 1997 | A |
5591924 | Hilton | Jan 1997 | A |
5623582 | Rosenberg | Apr 1997 | A |
5629594 | Jacobus et al. | May 1997 | A |
5634794 | Hildreth et al. | Jun 1997 | A |
5642469 | Hannaford | Jun 1997 | A |
5643087 | Marcus et al. | Jul 1997 | A |
5661446 | Anderson et al. | Aug 1997 | A |
5666138 | Culver | Sep 1997 | A |
5687080 | Hoyt et al. | Nov 1997 | A |
5694013 | Stewart et al. | Dec 1997 | A |
5701140 | Rosenberg et al. | Dec 1997 | A |
5709219 | Chen et al. | Jan 1998 | A |
5714978 | Yamanaka et al. | Feb 1998 | A |
5721566 | Rosenberg et al. | Feb 1998 | A |
5731804 | Rosenberg | Mar 1998 | A |
5734373 | Rosenberg et al. | Mar 1998 | A |
5739811 | Rosenberg et al. | Apr 1998 | A |
5742278 | Chen | Apr 1998 | A |
5766016 | Sinclair et al. | Jun 1998 | A |
5767839 | Rosenberg | Jun 1998 | A |
5781172 | Engel et al. | Jul 1998 | A |
5785630 | Bobick et al. | Jul 1998 | A |
5790108 | Salcudean et al. | Aug 1998 | A |
5793598 | Watanabe et al. | Aug 1998 | A |
5805140 | Rosenberg et al. | Sep 1998 | A |
5825308 | Rosenberg | Oct 1998 | A |
5831408 | Jacobus et al. | Nov 1998 | A |
5889672 | Schuler et al. | Mar 1999 | A |
5990869 | Kubica et al. | Nov 1999 | A |
6001014 | Ogata et al. | Dec 1999 | A |
6002184 | Delson et al. | Dec 1999 | A |
6004134 | Marcus et al. | Dec 1999 | A |
6050718 | Schena et al. | Apr 2000 | A |
6088017 | Tremblay et al. | Jul 2000 | A |
6100874 | Schena et al. | Aug 2000 | A |
6104158 | Jacobus et al. | Aug 2000 | A |
6104382 | Martin et al. | Aug 2000 | A |
6166723 | Schena et al. | Dec 2000 | A |
6184868 | Shahoian et al. | Feb 2001 | B1 |
6486872 | Rosenberg et al. | Nov 2002 | B2 |
6501203 | Tryggvason | Dec 2002 | B2 |
6639581 | Moore et al. | Oct 2003 | B1 |
6704001 | Schena et al. | Mar 2004 | B1 |
7193607 | Moore et al. | Mar 2007 | B2 |
Number | Date | Country |
---|---|---|
196 13 025 | Sep 1997 | DE |
0085518 | Aug 1983 | EP |
0349086 | Jan 1990 | EP |
0626634 | Nov 1994 | EP |
0680132 | Nov 1995 | EP |
0834338 | Apr 1998 | EP |
2254911 | Oct 1992 | GB |
2347199 | Aug 2000 | GB |
H2-185278 | Jul 1990 | JP |
H4-8381 | Jan 1992 | JP |
4-34610 | May 1992 | JP |
H5-192449 | Aug 1993 | JP |
H7-24147 | Jan 1995 | JP |
WO 9520787 | Aug 1995 | WO |
WO 9520788 | Aug 1995 | WO |
WO 9532459 | Nov 1995 | WO |
WO 9616397 | May 1996 | WO |
WO 9622591 | Jul 1996 | WO |
WO 9639944 | Dec 1996 | WO |
WO 9642078 | Dec 1996 | WO |
WO 9712357 | Apr 1997 | WO |
WO 9719440 | May 1997 | WO |
WO 9840758 | Oct 1998 | WO |
WO 0025294 | May 2000 | WO |
WO 0111775 | Feb 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20040227727 A1 | Nov 2004 | US |
Number | Date | Country | |
---|---|---|---|
60107267 | Nov 1998 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 08560091 | Nov 1995 | US |
Child | 09140717 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09431383 | Nov 1999 | US |
Child | 10794053 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09140717 | Aug 1998 | US |
Child | 09431383 | US |