1
FORCE FEEDBACK JOYSTICK WITH
DIGITAL SIGNAL PROCESSOR
CONTROLLED BY HOST PROCESSOR
CROSS REFERENCE TO RELATED
APPLICATIONS
This application is a continuation in part of U.S. application Ser. No. 08/187,646 filed Jan. 27, 1994 by Elaine Chen et al., now abandoned.
REFERENCE TO MICROFILM APPENDIX
This specification includes a listing of computer programs which are presented in an accompanying microfilm appendix consisting of 261 frames on 6 microfiche.
COPYRIGHT AUTHORIZATION
The computer program listings contained in the abovenoted microfiche appendix, as well as other portions of this patent document, contain material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. Copyright—1995—Exos, Inc.
BRIEF SUMMARY OF THE INVENTION
The present invention takes the form of an input/output control unit for a computer which includes a manually manipulated control member to which computer-controlled forces are applied in at least one degree of freedom. In accordance with a principle feature of the invention, the control unit is equipped with its own internal processor which receives and responds to commands from a connected host processor. The internal processor controls the operation of one or more drive motors to create force effects in response to commands from the host processor.
The force effects preferably consist of a group of standard effects which the internal processor is pre-programmed to provide, together with additional custom effects which are defined by the host processor and downloaded to the internal processor for subsequent invocation on command from the host processor. Both the built-in effects and the newly defined custom effects are formed by the activation of one or more primary force effects selected from a group consisting of (1) a constant force effect, (2) a spring force effect in which a component of the applied force varies in direct proportion to the displacement of the manipulated member from a reference position, (3) a damping force effect in which a component of the applied force varies in direct proportion to the velocity of the manipulated member, and (4) a time varying "rumble" force effect defined by selecting a waveshape, amplitude and frequency of a time-varying force.
The principles of the present invention may be additionally employed to create force effects which exhibit the behavior of defined physical objects having a boundary (e.g., an infinite line, circle or hole, or a convex polygon) and which generates an outward force normal to the boundary when the control member is adjacent to the boundary.
In accordance with the invention, a plurality of different force effects may be applied to the control simultaneously in response to a sequence of overlapping force effect commands from the host processor. The utilization of a dedicated processor frees the host processor from the computational burden of controlling such complex effects, thereby enabling
2
the host processor to more effectively perform complex concurrent tasks, such as the control of a graphics game display, while the control unit's internal processor controls the forces applied to the manipulated control member in
5 response to invocation commands issued by the host processor to initiate and terminate predefined force effects.
As further contemplated by the invention, communications between an application program executing on the host processor and processes executing on the dedicated proces
10 sor are facilitated by a set of standard interface routines which may be dynamically or statically linked to any application program which can usefully employ the control unit. These interface routines provide a convenient set of force effects, as well as the facility for defining and invoking
15 custom force effects, and for obtaining current state information on the position of, and the force being applied to, the control member, which are easily incorporated by programmers into electronic games, simulators, and other application programs which benefit from the enhanced sense of reality
20 that programmed force effects provide.
The preferred embodiment of the invention to be described takes the form of a joystick driven by a pair of motors in two degrees of freedom under the control of an internal digital signal processor which communicates with a
25 host computer, such as a personal computer, over a conventional low speed serial link. The joystick is gimbal mounted for movement in two degrees of freedom with computer generated forces being applied by means of a pair of low-backlash gear clusters, each of which is coupled
30 between the gimbal mount and a DC drive motor powered under the control of the digital signal processor. The invention provides a rich set of complex force effects under the control of the program executing on the host processor without slowing time-critical processing, such as the gen
35 eration of graphical images, and without adding significant complexity to the application program
BRIEF DESCRIPTION OF THE DRAWINGS
These and other objects, features and advantages of the 40 invention will be better understood by considering the following detailed description. During the course of this description, reference will frequently be made to the attached drawings in which: 45 FIG. 1 is a block schematic diagram of the preferred embodiment of the the invention;
FIG. 2 is a graph illustrating the first primary force effect: a constant force of amplitude C;
FIG. 3 is a graph depicting a second primary force effect: 50 a spring force of spring constant K;
FIG. 4 is a graph showing a third primary force effect: a damping force having the velocity coefficient B;
FIG. 5 is a graph illustrating a rumble force effect having a square waveform; 55 FIG. 6 is a graph of a rumble force effect having a sinusoidal waveform;
FIG. 7 is graph illustrating a rumble force effect having a triangular waveform;
FIG. 8 is a graph of a time varying ramp-up force effect;
FIG. 9 is a graph showing a ramp-down force effect;
FIG. 10 is a schematic of a force effect object defined as a line (wall);
FIG. 11 is a schematic showing a circular force effect 65 object;
FIG. 12 is a schematic showing a convex polygonal force effect;