CROSS REFERENCE TO RELATED APPLICATIONSThis application claims priority of provisional application No. 60/107,267, filed Nov. 4, 1998, by Schena et al., entitled “Force Feedback Device Including Actuator with Moving Magnet,” which is incorporated herein by reference in its entirety.[0001]
BACKGROUND OF THE INVENTIONThe 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.[0002]
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.[0003]
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.[0004]
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.[0005]
SUMMARY OF THE INVENTIONThe 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.[0006]
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.[0007]
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.[0008]
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.[0009]
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.[0010]
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.[0011]
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a perspective view of a first embodiment of a force feedback interface mechanism of the present invention including a moving magnet actuator;[0012]
FIGS. 2[0013]aand2bare side elevational and top plan views, respectively, of the moving magnet actuator of the mechanism of FIG. 1;
FIG. 3[0014]ais a perspective view of a second embodiment of a force feedback interface device of the present invention including a moving magnet actuator;
FIG. 3[0015]bis a sectional side elevational view of the moving magnet actuator of FIG. 3a;
FIG. 3[0016]cis a perspective view of an alternate embodiment of the force feedback interface device of FIG. 3a;
FIG. 4[0017]ais a perspective view of a third embodiment of a force feedback interface device of the present invention including a moving magnet actuator;
FIGS. 4[0018]band4care side elevational and top plan views, respectively, of the force feedback interface device of FIG. 4a; and
FIG. 5 is a block diagram of a host computer and interface device of the present invention.[0019]
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTSFIG. 1 is a perspective view of one embodiment of a[0020]mechanical system10 of the present invention for use in a force feedback interface system and including an actuator having a moving magnet.System10 provides mechanical input and output in accordance with the present invention and includes agimbal mechanism12 and a user manipulatable object (or “manipulandum”)14.
[0021]System10 is preferably included within a force feedback interface device that is coupled to a host computer system. Themechanical system10 mechanically provides the degrees of freedom available to theuser object14 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 FIG. 5) can ascertain the position and/or orientation of the user object as it moves in space. This information is then translated to an image on a computer display device. For example, the interface device may be used by a user to change the position of a user controlled graphical object or view on the display screen by changing the position and/or orientation of the[0022]user object14, the computer being programmed to change the position of the graphical object or view in proportion to the change in position and/or orientation of the user object. In other words, the user object is moved through space by the user which indicates to the computer how to update the implemented program.
[0023]Gimbal mechanism12, in the described embodiment, provides the degrees of freedom for usermanipulatable object14 and provides support for the user object on a grounded surface16 (schematically shown as part of ground member20).Gimbal mechanism12 can be a five-member linkage that includes aground member20,extension members22aand22b, andcentral members24aand24b.Ground member20 is coupled to a ground surface which provides a reference and stability forsystem10.Ground member20 is shown in FIG. 1 as two separate members coupled together through groundedsurface16, but is preferably a single surface or structure. The members ofgimbal mechanism12 are rotatably coupled to one another through the use of rotatable bearings or pivots, whereinextension member22ais rotatably coupled toground member20 by bearing26aand can rotate about an axis A,central member24ais rotatably coupled toextension member22aby bearing28aand can rotate about a floating axis D,extension member22bis rotatably coupled toground member20 by bearing26band can rotate about axis B,central member24bis rotatably coupled toextension member22bby bearing28band can rotate about floating axis E, andcentral member24ais rotatably coupled tocentral member24bby bearing30 at a center point P at the intersection of axes D and E. Preferably,central member24ais coupled to onerotatable portion30aof bearing30, andcentral member24bis coupled to the otherrotatable portion30bofbearing30. The axes D and E are “floating” in the sense that they are not fixed in one position as are axes A and B. Axes A and B are substantially mutually perpendicular, e.g. at least within five degrees or ten degrees of perpendicular, or more preferably within less than one degree of perpendicular.
[0024]Gimbal mechanism12 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 thatextension member22a,central member24a, andcentral member24bcan be rotated about axis A in a first degree of freedom. The linkage is also arranged such thatextension member22b,central member24b, andcentral member24acan be rotated about axis B in a second degree of freedom. When user object14 is positioned at the “origin” as shown in FIG. 1, an angle θ between thecentral members24aand24bis about 90 degrees. Whenobject14 is rotated about one or both axes A and B, central members move in two fashions: rotation about axis D or E by bearing28band/or28a, and rotation about axis C by bearing30 such that angle θ changes. For example, if theobject14 is moved into the page of FIG. 1 away from the viewer, or out of the plane of the page toward the viewer, then the angle θ will decrease. If the object is moved to the left or right as shown in FIG. 1, the angle θ will increase.
User[0025]manipulatable object14 is coupled togimbal mechanism12 and is preferably an interface object for a user to grasp or otherwise manipulate in three dimensional (3D) space.User object14 can be any of a wide variety of objects or articles, as described with respect to FIG. 5. For example, object14 can be a joystick as shown in FIG. 1 that is grasped by a hand of the user and which is coupled tocentral member24aandcentral member24bat the point of intersection P of axes A and B such that it extends out of the plane defined by axis A and axis B. Usermanipulatable object14 can be rotated about axis A by rotatingextension member22a,central member24a, andcentral member24bin a first revolute degree of freedom, shown asarrow line32.User object14 can also be rotated about axis B by rotatingextension member22band the two central members about axis B in a second revolute degree of freedom, shown byarrow line34. Asuser object14 is moved about axis A, floating axis D varies its position, and asuser object14 is moved about axis B, floating axis E varies its position. The floating axes E and D are coincident with the fixed axes A and B, respectively, when the user object is in a center position as shown in FIG. 1.
In some embodiments, the user[0026]manipulatable object14 is translatably coupled tomembers24aand24band thus can be linearly translated, independently with respect to thegimbal mechanism12, along floating axis C, providing a third degree of freedom as shown byarrows36. Furthermore, theuser object14 is in some embodiments rotatably coupled tomembers24aand24band can be rotated about floating axis C.
[0027]Sensors38aand38bcan be provided to detect the position of theuser object14 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 FIG. 1,optical encoders38aand38bcan have rotatable shafts coupled to theextension members22aand22b, respectively, to measure the rotation of the extension members about their respective axes, while the housings of the sensors are grounded. Optical encoders typically have a disc or arc having regularly-spaced markings pass through an emitter-detector pair to determine the position of the disc based on the number of markings sensed, as is well known to those skilled in the art. Other types of sensors, such as analog potentiometers, can also be used. Alternatively, non-contact sensors such as optical sensors (emitters and detectors or lateral effect photo diode sensors)-or magnetic (Hall effect) sensors can be utilized. The present invention can utilize both absolute and relative sensors. In yet other embodiments, theactuator40 can be used as both a sensor and an actuator, thus obviating the use of sensors38.
Also preferably coupled to[0028]gimbal mechanism12 isactuator40.Actuator40 is a moving magnet actuator that provides force to a member coupled to the actuator. In the described embodiment,actuator40 is coupled toextension member22band provides a rotary force to the extension member about axis B. In preferred embodiments, anotheractuator40 is coupled toextension member22ain a similar manner.
[0029]Actuator40 includes apendulum shaft42, amagnetic pendulum head44, acoil assembly46, and amagnetic flux guide48.Pendulum shaft42 is rigidly coupled toextension member22bsuch that whenextension member22brotates about axis B,pendulum shaft42 also rotates about axis B.Magnetic pendulum head44 is coupled toshaft42 and rotates with the shaft.Magnetic head44 is positioned to rotate approximately in a plane betweencoil assembly46 andmagnetic flux guide48. In some embodiments, the rotation ofmagnetic head44 andshaft42 can be limited by dimensions of themagnetic flux guide48 or physical stops.Actuator40 is described in greater detail with respect to FIGS. 2aand2b, below.
In other embodiments, an amplification transmission can be included to amplify output forces from[0030]actuator40 onto user object14 (i.e., provide mechanical advantage) and/or to increase the sensor38 resolution when detecting a position of theuser object14. For example, a capstan drive mechanism can be provided between actuator anduser object14, 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.
FIGS. 2[0031]aand2bshow actuator40 in greater detail. As shown in the side sectional view of FIG. 2aand the top sectional view of FIG. 2b,magnetic head44 is positioned to the side of a coil ofwire50 coupled to asupport52 of thecoil assembly46.Coil50 is a wire or other conductive filament that is positioned in a number of loops surrounding some portion ofsupport52. In the described embodiment, aportion53 of thesupport52 extends towardpendulum44 in the middle ofcoil52, around which thecoil52 is wrapped.Portions55 surrounding thecoil50 are preferably at or near the same height asportion53. Preferably, the coil is wrapped about approximately about an axis that extends approximately parallel to the axis B of rotation of themagnet head44.
The[0032]magnetic head44 sweeps an arc within a plane such that thehead44 moves parallel to the approximate plane of thecoil50.Magnet head44 includes twomagnets45, where onemagnet45 has an opposite polarity facing the same direction as the polarity of theother magnet45.Magnet head44 includes anorth polarity surface54 and asouth polarity surface56 for each of its magnets, thus providing four magnetic polarities to theregion58 between themagnetic flux guide48 and support52 (opposite polarities are provided on opposing surfaces of each of themagnets45 of head44). In alternate embodiments, four different magnets can be provided onhead44, two north polarity magnets, and two south polarity magnets. Preferably, a small amount ofspace60 is provided between the magnet surface and thecoil50.Flux guide48 is a housing that allows magnetic flux to travel from one end of themagnet head44 to the other end, as is well known to those skilled in the art. As shown in FIG. 2a, bothsupport52 and flux guide48 are preferably shaped similarly topendulum head44 and are adjacent to all portions of themagnet44 for the entire range of motion of themagnet head44. In one embodiment, thesupport52 can be a piece of ferrous (flux carrying) metal that provides a high permeability flux guiding path.
An electric current I is flowed through the[0033]coil50 viaelectrical connections62. 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 bymagnets45 to produce a motion. The motion or torque of themagnetic head44 is indicated byarrows64. 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[0034]pendulum head44, thereby applying force topendulum shaft42 and torque toextension member22b. This in turn applies a force to user manipulatable object14 in the rotary degree of freedom about axis B (and axis D). Theactuator40 thus may be provided as a substitute for other actuators such as DC motors and brakes having rotatable shafts. Anactuator40 can be provided for each degree of freedom of the user manipulatable object in which force is desired to be applied. For example, asecond actuator40 is preferably coupled toextension member22ain a similar manner to apply forces to object14 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 useactuator40 to provide force feedback to a user of the interface in desired degrees of freedom.
In addition, is some embodiments the moving[0035]magnet actuator40 can be used as a sensor. A second coil, having an appropriate number of loops, can be placed onsupport52. 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 themagnetic head44. From this derived velocity, acceleration or position of the pendulum head can be derived using timing information, for example, from a clock. Alternatively, thecoil50 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[0036]single magnet45 can be provided onmagnet head44, where one side of themagnet facing support52 has one polarity, and the other side of the magnet facingflux guide48 has the opposite polarity. In such an embodiment, twocoils50 can be placed adjacent to each other on the side ofsupport52 instead of the onecoil50 shown in FIG. 2b, parallel to the motion ofhead44. The two coils can be placed close together, where the junction between the two coils is approximately at the center of the range of motion of themagnet head44.
The[0037]actuator40 has several advantages. One is that a limited angular range is defined for a particular degree of freedom ofobject14 by the length of themagnetic head44. In many interface devices, such as joysticks, such a limited angular range is desired to limit the movement ofobject14. Also, theactuator40 provides good mechanical advantage due to a large radius of themagnet head44. Thus, when usingactuators40, 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 theactuator40 can be simpler than other actuators since output torque is a linear function of input coil current. In addition, since actuators40 do not require mechanical or electrical commutation as do other types of motors, theactuator40 has a longer life expectancy, less maintenance, and quiet operation. The actuation is frictionless, resulting in greater haptic fidelity.
Furthermore, the[0038]actuator40 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 asactuator40 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 FIGS. 3[0039]a-3c.
In addition, multiple coils be coupled to support[0040]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 theactuator40 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.
FIG. 3[0041]ais a perspective view of aninterface system100 in which two linear degrees of freedom are provided touser object14 and linear moving-magnet actuators102aand102bare 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[0042]linear actuator102 is shown in FIG. 3b.Linear actuator102 is a grounded actuator and includes amagnetic flux housing104 and amagnet head106. Housing104 can be made of iron or other ferrous metal and includes acoil108 wound on the inside of thehousing104 as shown.Magnet head106 includes amagnet110 oriented with north and south polarities as shown. The magnet is coupled to asupport111, which is coupled tomember114. Themagnet head106 moves within thehousing104 along a linear degree of freedom, indicated byarrows112, when a current is flowed throughcoil108, similarly as described above. The direction of themagnet head106 depends on the direction of the applied current. In addition, the linear actuator can be used to sense the position ofmagnet head106 along the linear degree of freedom by sensing velocity as described above with reference to FIGS. 2aand2b. Alternately, separate linear motion sensors can be coupled to theobject14 or other members; such linear sensors are well known to those skilled in the art. In other embodiments, themagnet head106 can be made longer than thehousing104. Themagnet head106 can be rectilinear as shown in FIG. 3a, or can be made cylindrical in other embodiments.
Referring back to FIG. 3[0043]a,magnet head106ais preferably coupled to a first end of ashaft114a, and a second end ofshaft114ais coupled to a first end of ajoint member116a. A rotary joint118acouples shaft114atojoint member116aand allowsjoint member116ato rotate about floating axis Z1. A second end ofjoint member116ais rotatably coupled to a second end ofjoint member116bby a rotary joint120.User object14 is preferably coupled tojoint member116b(or, alternatively,116a).Linear actuator102bhas equivalent components to actuator102a.Shaft114bis coupled tomagnet head106 at one end and rotatably at its other end tojoint member116bby rotary joint118a, thus allowingmember116bto rotate about floating axis Z2.
[0044]Object14 can be translated by a user along linear axis X or linear axis Y, or along a combination of these axes. Whenobject14 is moved along axis X toward or away fromhousing104a, thenmagnet head106a,shaft114a, andjoint member116aare correspondingly moved toward or away fromhousing104aand retain the same relative position as shown in FIG. 3a. However,joint member116brotates about floating axis Z2and floating axis Z3in accordance with the movement ofjoint member116a. Likewise, whenobject14 is moved along axis Y toward or away fromhousing104b, thenmagnet head106b,shaft114b, andjoint member116bare correspondingly moved toward or away fromhousing104band retain the relative positions as shown in FIG. 3a.Joint member116arotates about floating axes Z1and Z3in accordance with the movement ofjoint member116b. Whenobject14 is moved simultaneously along both axes X and Y (e.g., object14 is moved diagonally), then both joint members116a-and116brotate about their respective axes and axis Z3.
In the described embodiment, one[0045]joint member116ais coupled undershaft114aand the otherjoint member116bis coupled overshaft114b. Alternatively, the shafts and joint members can be coupled together in many different configurations.
FIG. 3[0046]cis a schematic diagram of analternate embodiment100′ of theinterface system100 shown in FIG. 3a. In FIG. 3c, twolinear actuators102aand102bas shown in FIG. 3aare included to apply forces and sense positions in two linear degrees of freedom to object14. As in FIG. 3a, coil heads106aand106btranslate along linear degrees of freedom, indicated byarrows120, withinhousings104aand104b, respectively. Current can be applied by the host computer or other source to apply force to the magnet heads or sense velocity.
[0047]Shaft122ais coupled to aflexible member124a.Flexible members124aand124bare preferably made of a resilient material such as flexible plastic, rubber, metal, or the like.Flexible members124aand124bare preferably narrow in the dimension that the member is to bend, and wide in the dimensions in which the member is to remain rigid.Shaft122ais a rigid member that couplesmember124atomagnet head106a, and can be provided with different lengths in different embodiments.Flexible member124ais rigidly coupled to anobject member126 at the other end of the flexible member.Member126 can be a part ofobject14 or a platform or other base for supportingobject14.Shaft122bis coupled tomember126 and object14 throughflexible member124bin a similar manner.
[0048]Object14 can be moved by a user along linear axis X or linear axis Y.Flexible members124aand124bflex (bend) appropriately as the object is moved. For example, ifobject14 andmember126 are moved along axis X,flexible member124adoes not bend since the direction of movement is directed down (substantially parallel to) the longitudinal axis offlexible member124a. However, sincehousing104bis grounded and fixed in place relative to object14,flexible member124abends toward or away fromactuator102a(depending on the object's direction along axis X) to allow the translation ofobject14. This occurs when the direction of movement ofobject14 is substantially perpendicular to the longitudinal axis offlexible member124a. Likewise, whenobject14 is translated along axis Y in the other linear degree of freedom,flexible member124bdoes not flex since the direction of movement is directed substantially parallel to its longitudinal axis.Flexible member124a, however, bends toward or away fromactuator102bto allow the translation ofobject14. Whenobject14 is moved simultaneously along both axes X and Y (e.g., object14 is moved diagonally), then bothflexible members124aand124bflex in conjunction with the movement. It should be noted that theflexible members124aand124bdo not need to twist (i.e. provide torsion flex).
FIG. 4[0049]ais a perspective view of another embodiment140 of the present invention for a force feedback device including a moving magnet actuator. Embodiment140 includes a usermanipulatable object14, amagnet frame142,actuators143 includingmagnets148 andcoil portions144, andbearings146.User object14 is provided with two linear, planar degrees of freedom in the apparatus shown.
User[0050]manipulatable object14 is rotatably coupled tomagnet frame142. Theuser object14 can preferably be rotated about an axis C so that theframe142 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.
[0051]Magnet frame142 includes a portion of abearing146 at each corner, which is described in greater detail below.Frame142 also is coupled tomultiple magnets148, where fourmagnets148 are provided, one on each side offrame142.Magnets148 are each provided above an associatedcoil portion144, which includes a groundedpiece150 made of a metal such as iron, and acoil152 wrapped around a central projection (“pole piece”)154 of the groundedpiece150. Thecoil152 preferably is wrapped several times around theprojection154, e.g. 100 to 200 times.Magnet frame142 is also coupled to aground156 bybearings146, which allow theframe142 to translate with respect toground52 andcoil portions144.Ground156 can be any surface, member, housing, etc. that remains fixed with reference to the movingframe142. It should be noted that sensors are omitted from the view shown in FIG. 4a; sensors are described in greater detail with respect to FIG. 4c. Preferably, stops (not shown) such as pins can be provided to prevent movement offrame142 past desired limits in both degrees of freedom.
The[0052]magnetic actuators143 produce a linear force onframe142 in a direction parallel to axes X and Y, as shown byarrows145 and147, respectively. Theframe142 is subject to force output byactuators143aand143bparallel to axis X untilmagnets148aand148bare moved out from over thecoils152aand152b, respectively. Likewise, theframe142 is subject to force output byactuators143cand143dparallel to axis Y untilmagnets148cand148d, respectively, are moved out from over thecoils152cand152d, respectively. Preferably, physical stops are provided to limit the motion offrame142 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[0053]actuator pair143aand143bprovide force in the X-axis degree of freedom, andactuator pair143cand143dprovides force in the Y-axis degree of freedom. Since a pair of actuators for a degree of freedom are provided on opposite sides offrame142, 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 theframe142, causing the frame to rotate. To prevent such rotation, each actuator in a pair should be provided with the same magnitude of current incoil152, 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 theframe142 toground152 to prevent such rotation; such a flexure can also provide a restoring force through the frame to object14 to bring theobject14 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[0054]frame142 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 auser object14 can be converted to the linear motion offrame142 using a ball socket or similar joint, as described in U.S. Pat. No. 5,805,140.
FIG. 4[0055]bis a side elevational view of the force feedback device embodiment140 of FIG. 4a.Magnet148 is shown coupled to the underside offrame142.Magnet148 preferably has two oppositely-polarized halves, where onehalf156 has a south pole nearest tocoil152, and theother half158 has a north pole nearest tocoil152. Preferably, only asmall gap160 is provided between themagnets148 and thecoil152.Frame142 provides a flux path for the magnetic field ofmagnets148. Thecoil152 is wrapped around theprojection154, which, along with the rest of groundedpiece150, also provides a flux return path.Projection154 is similar toportion53 described with reference to FIG. 2b. An actuator operating in a similar fashion is described in U.S. Pat. No. 5,136,194 by Oudet et al. In alternate embodiments, a metal plate can be provided just abovemagnets148 to provide the flux path, while the remaining portion offrame142 can be, for example, molded plastic or other non-metallic material. The host computer (or local microprocessor) can control the direction and/or magnitude of the current inwire coil152. In alternate embodiments, additional coils can be provided onprojection154 for sensing velocity and/or implementing the sub-coils described above.
[0056]Bearings146 are also shown in FIG. 4b, where oneportion162 of the bearing is coupled toframe142, and theother portion164 of the bearing is coupled toground152. Aball166 is provided betweenportions162 and164. Theball166 rolls between anindentation168 ofportion162 and anindentation170 ofportion164 as theframe142 is translated by the user. The indentations are circular shaped and have a diameter at least as wide as is desired for the amount of linear motion of the user object in either degree of freedom (onebearing146 is used for both planar degrees of freedom). The rolling action provides smooth movement for theframe142. Thebearing146 is preloaded by the magnetic force attraction between coil and magnet, and which holds thebearings146 together.
Also shown in FIG. 4[0057]bis asensor174, which in the described embodiment is an optical sensor such as a phototransistor or photodiode sensor.Sensor174 can include a rectangular reflective area (shown in FIG. 4c) positioned on the top surface offrame142 onto which a beam ofenergy176 is emitted from a grounded emitter/detector178. The beam is reflected back to the detector portion of the emitter detector118. The position of theframe142, and thus the position ofobject14, can be determined by counting a number of pulses that have moved past the detector, as described in greater detail below. In other embodiments, the area onframe142 can be a detector, which can determine the location of a beam emitted by an emitter in the position of emitter/detector178. Alternatively, other types of sensors can be used, such as an optical encoder or analog potentiometer having a rotating shaft coupled to a roller that is frictionally engaged (e.g., engaged using gear teeth or a friction wheel) with theframe142.
FIG. 4[0058]cis a top plan view of the force feedback device embodiment140 of FIG. 4a, in which a portion ofsensor174 is also shown. In the described embodiment, a sensedportion180 of theframe142 is provided below the emitter/detector178 (shown in FIG. 4b). Only two sensedportions180 are required to detect motion in two degrees of freedom. Sensedportion180 includes a series of regularly-spacedreflective strips182, where the material between the strips is non-reflective. The emitter/detector178 emits a beam onto theportion180, such that if areflective strip182 is impinged by the beam, the beam will be reflected back to the detector portion of the emitter/detector, and thus detected. If the beam impinges on a non-reflective portion, then the beam is not detected by the detector of the emitter/detector. Thus, when theportion180 moves under the beam as theframe142 is moved by the user and/or byactuators102, a number ofreflective strips182 are moved past the detector and are detected. By counting the number of reflective strips passing by the detector, the amount of movement is known. The reflective strips are preferably much thinner and closely spaced than shown in FIG. 4cto provide greater sensing resolution. In other embodiments, the sensedportion180 can be positioned at other areas of theframe142. Furthermore, a quadrature encoder is preferably used, where theemitter detector178 includes two detectors to create 90 degree phase-shifted signals (quadrature) to provide displacement and direction information, as is well known to those skilled in the art. Additional detectors can also be used, e.g. for “octature” sensing using three or more detectors for increased sensing resolution, as described in greater detail in copending U.S. patent application Ser. No. 09/071,136, filed Apr. 30, 1998 and incorporated herein by reference.
In other embodiments, an emitter and detector can be placed on opposite sides of[0059]portion180 that has slots similar tostrips182 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 ofobject14 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 theframe142 below theuser object14, where the beam emitter is coupled to the underside of the frame142 (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 FIGS. 4[0060]a-4c, a spherical or partially-spherical magnet can be used in a moving-magnet actuator that provides rotary force to a user manipulatable object. For example, a bowl-shaped iron base can be provided with one or more coils on the inner surface of the bowl having projections (pole pieces) in the middle of the coils similar toprojection53 or154. The coils are preferably recessed similarly tocoil50 shown in FIG. 2b. A magnet having a spherical edge, such as a bowl-shaped magnet, can be positioned to move rotationally within the base adjacent to the coils so that a force may be applied to the magnet using the magnetic fields of the coils and magnet. For example, a small gap can be provided between coils and magnet. Another iron or metal piece can be provided on the other side of the magnet (such as within the bowl of the magnet) to provide a flux return path. In one embodiment, for example, a joystick can be coupled to the magnet and extended up through the inner portion of the magnet bowl. The joystick is thus provided with two rotary degrees of freedom as the magnet rotates within the base and is provided with force feedback in those rotary degrees of freedom when current is supplied to the one or more coils.
FIG. 5 is a block diagram illustrating an embodiment of a force[0061]feedback interface device200 andhost computer202 suitable for use with the present invention.Interface device200 includes anelectronic interface204,mechanical apparatus206, anduser object14. A similar system is described in detail in U.S. Pat. No. 5,734,373 which is hereby incorporated herein by reference in its entirety.
The[0062]computer202 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 system202 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 system202 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.
[0063]Host computer202 preferably implements a host application program with which a user is interacting viauser object14 and other peripherals, if appropriate, and which can include force feedback functionality. The software running on thehost computer202 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 ofuser object14 and outputs force feedback commands to theuser object14. For example, many game application programs include force feedback functionality and may communicate with the forcefeedback interface device200 using a standard protocol/drivers such as I-Force® or TouchSense™ available from Immersion Corporation. Herein,computer202 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 bycomputer202 ondisplay screen214, 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.
[0064]Host computer202 commonly includes ahost microprocessor204, random access memory (RAM)206, read-only memory (ROM)208, input/output (I/O)electronics210, aclock212, anddisplay device214.Host microprocessor204 can include a variety of available microprocessors from Intel, Motorola, AMD, Cyrix, or other manufacturers. Microprocessor400 can be single microprocessor chip, or can include multiple primary and/or co-processors and preferably retrieves and stores instructions and other necessary data fromRAM206 andROM208 as is well known to those skilled in the art. In the described embodiment,host computer system202 can receive sensor data or a sensor signal viabus216 from sensors ofmechanical apparatus206 and other information.Host computer202 can also output “host commands” to the interface viabus216 to cause force feedback for the interface device.
[0065]Clock212 is a standard clock crystal or equivalent component used byhost computer202 to provide timing for electrical signals used bymicroprocessor204 and other components of the computer.Display device214 can be included inhost computer202 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 ondisplay device214 and/or other feedback, such as auditory signals. For example,display device214 can display images from a game program.Audio output device218, such as speakers, can be coupled tohost microprocessor204 via amplifiers, filters, and other circuitry well known to those skilled in the art. Other types of peripherals can also be coupled tohost processor204, such as storage devices (hard disk drive, CD ROM drive, floppy disk drive, etc.), printers, and other input and output devices.
[0066]Electronic interface204 is coupled tohost computer202 by abi-directional bus216. The bi-directional bus sends signals in either direction betweenhost computer202 andinterface device200.Bus216 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 ofhost computer202, such as a USB or RS232 serial interface port, connectsbus216 tohost computer202. In adifferent embodiment bus216 can be connected directly to a data bus ofhost computer202 using, for example, a plug-in card and slot or other access ofcomputer202.
[0067]Electronic interface204 includes alocal microprocessor220,local clock222,local memory224,optional sensor interface230, anoptional actuator interface232, and otheroptional input devices234.Interface204 may also include additional electronic components for communicating via standard protocols onbus216. In various embodiments,electronic interface204 can be included inmechanical apparatus206, inhost computer202, or in its own separate housing. Different components ofinterface204 can be included indevice200 orhost computer202 if desired.
[0068]Local microprocessor220 is coupled tobus216 and communicates withhost computer202.Processor220 is considered “local” tointerface device200, where “local” herein refers toprocessor220 being a separate microprocessor from any processors inhost computer202. “Local” also preferably refers toprocessor220 being dedicated to force feedback and sensor I/O ofinterface device200, and being closely coupled tosensors226 andactuators228, such as within or coupled closely to the housing forinterface device200.Microprocessor220 can be provided with software instructions to wait for commands or requests fromcomputer202, parse or decode the command or request, and handle/control input and output signals according to the command or request. In addition,processor220 preferably operates independently ofhost computer202 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 aslocal microprocessor220 include the I-Force Processor from Immersion Corp., the 8X930AX by Intel, the MC68HC711E9 by Motorola and the PIC16C74 by Microchip, for example.Microprocessor220 can include one microprocessor chip, or multiple processors and/or co-processor chips. In other embodiments,microprocessor220 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 controlactuators228.
For example, in one host-controlled embodiment that utilizes[0069]microprocessor220,host computer202 can provide low-level force commands overbus216, whichmicroprocessor220 directly transmits to the actuators. In a different local control embodiment,host computer system202 provides high level supervisory commands tomicroprocessor220 overbus216, andmicroprocessor216 manages low level force control loops to sensors and actuators in accordance with the high level commands and independently of thehost computer202. In the local control embodiment, themicroprocessor220 can process inputted sensor signals to determine appropriate output actuator signals by following the instructions of a “force process” that may be stored inlocal memory224 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 processor220 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 co-pending U.S. patent application Ser. Nos. 08/879,296 and U.S. Pat. No. 5,734,373, both of which are incorporated by reference herein.Microprocessor220 can also receive commands from anyother input devices234 included ininterface device200 and provides appropriate signals tohost computer202 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 withinterface device202 can provide signals tomicroprocessor220. Another variation may consist of dedicated subcircuits and specialized or off-the-shelf chips which read the input devices, monitor thesensors226, determine angles, and handle communications with thehost computer202, all without software or amicroprocessor220.
A[0070]local clock222 can be coupled to themicroprocessor220 to provide timing data, similar tosystem clock212 ofhost computer202; the timing data might be required, for example, to compute forces output byactuators228.Local memory224, such as RAM and/or ROM, is preferably coupled tomicroprocessor220 ininterface device200 to store instructions formicroprocessor220 and store temporary and other data.Microprocessor220 may also store calibration parameters and the state of the force feedback device in alocal memory224.
[0071]Sensor interface230 may optionally be included inelectronic interface204 to convert sensor signals to signals that can be interpreted by themicroprocessor220 and/or host computer. For example,sensor interface230 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,microprocessor220 can perform these interface functions or sensor signals from the sensors can be provided directly tohost computer202.Actuator interface232 can be optionally connected between the actuators ofinterface device200 andlocal microprocessor220 to convert signals frommicroprocessor220 into signals appropriate to drive the actuators.Actuator interface232 can include power amplifiers, switches, digital to analog controllers (DACs), and other components well known to those skilled in the art.
[0072]Microprocessor220 and/orhost computer202 can command specific current magnitude and direction to the movingmagnet actuators228 to apply desired forces to object14. This can be accomplished using voice coil driver chips that can be provided, for example, inactuator interface232. 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 themicroprocessor220 orcomputer202 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 Allegro8958 (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.
[0073]Other input devices234 can optionally be included in the housing forinterface device200 and send input signals tomicroprocessor220 and/orhost computer202. Such input devices can include buttons, dials, switches, or other mechanisms. For example, in embodiments where user object14 is a joystick,other input devices234 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 bymicroprocessor220 or host202), or other input mechanisms can be used. The operation of such input devices is well known to those skilled in the art.
[0074]Power supply236 can optionally be coupled toactuator interface232 and/oractuators228 to provide electrical power.Actuators228 typically require a separate power source to be driven.Power supply236 can be included within the housing ofinterface device200, 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 byinterface device200 and thus used when needed to drive actuators228.
Safety or “deadman”[0075]switch238 is preferably included in interface device to provide a mechanism to allow a user to override and deactivateactuators228, or require a user to activateactuators228, for safety reasons. For example, the user must continually activate or closesafety switch238 during manipulation ofuser object14 to activate theactuators228; If, at any time, the safety switch is deactivated (opened), power frompower supply236 is cut to actuators228 (or the actuators are otherwise deactivated) as long as the safety switch is open. Embodiments ofsafety switch238 include an optical safety switch, electrostatic contact switch, hand weight safety switch, etc. The safety switch can also be implemented in firmware or software forlocal microprocessor220.
[0076]Mechanical apparatus206 is coupled toelectronic interface204 and preferably includessensors226,actuators228, andmechanism230. One embodiment ofmechanical apparatus206 ismechanical system10 of FIG. 1.
[0077]Sensors226 sense the position, motion, and/or other characteristics ofuser object14 along one or more degrees of freedom and provide signals tomicroprocessor220 including information representative of those characteristics. Typically, asensor226 is provided for each degree of freedom along which object14 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, theencoder sensor174 of FIG. 4b, magnetorestrictive sensors, magnetoresistive sensors, Inductosyns® sensors, etc. In addition, velocity sensors (e.g., tachometers) and/or acceleration sensors (e.g., accelerometers) can be used. Furthermore, either relative or absolute sensors can be employed.
[0078]Actuators228 transmit forces touser object14 ofmechanical apparatus206 in one or more directions along one or more degrees of freedom in response to signals received frommicroprocessor220, and/orhost computer202, i.e., they are “computer controlled.” Typically, anactuator228 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.Actuators228 preferably each include a moving magnet and coil and can be any of theactuator embodiments40,102, or143 described above.
[0079]Mechanism230 can be one of several types of mechanisms. One type of mechanism is thegimbal mechanism12 andmechanical system10 shown in FIG. 1. Other mechanisms may also be used, such as slotted bail mechanisms. Other types of mechanisms and related features are disclosed in U.S. Pat. Nos. 5,576,727; 5,731,804; 5,721,566; 5,691,898, 5,828,197, and 5,767,839 and co-pending U.S. patent application Ser. Nos. 08/664,086, 08/736,161, 08/881,691, 08/961,790, 08/965,720, and 09/058,259, all hereby incorporated by reference herein in their entirety.
A user manipulatable object (or “manipulandum”)[0080]14 is grasped by the user in operating thedevice200. 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.[0081]