« AnteriorContinuar »
LOW COST FORCE FEEDBACK DEVICE
WITH ACTUATOR FOR NON-PRIMARY
This application is continuation of Ser. No.09/103,281, filed Jun. 23, 1998, now U.S. Pat. No. 6,088,019.
BACKGROUND OF THE INVENTION
The present invention relates generally to interface devices for allowing humans to interface with computer systems, and more particularly to computer interface devices that allow the user to provide input to computer systems and allow computer systems to provide force feedback to the user.
A computer system in typical usage by a user displays a visual environment on a display output device. Using an interface device, the user can interact with the displayed environment to perform functions and tasks on the computer, such as playing a game, experiencing a simulation or virtual reality environment, using a computer aided design system, operating a graphical user interface (GUI), etc. Common human-computer interface devices used for such interaction include a joystick, mouse, trackball, steering wheel, stylus, tablet, pressure-sensitive sphere, or the like, that is connected to the computer system controlling the displayed environment. Typically, the computer updates the environment in response to the user's manipulation of a user-manipulatable physical object such as a joystick handle or mouse, and provides visual and audio feedback to the user utilizing the display screen and audio speakers. The computer senses the user's manipulation of the user object through sensors provided on the interface device that send locative signals to the computer. For example, the computer displays a cursor or other graphical object in a graphical environment, where the location of the cursor is responsive to the motion of the user object.
In some interface devices, tactile and/or haptic feedback is also provided to the user, more generally known as "force feedback." These types of interface devices can provide physical sensations which are felt by the user manipulating a user manipulatable object of the interface device. For example, the Force-FX joystick controller from CH Products, Inc. and Immersion Corporation may be connected to a computer and provides forces in the degrees of freedom of motion of the joystick to a user of the controller. One or more motors or other actuators are coupled to the joystick and are connected to the controlling computer system. The computer system controls forces on the joystick in conjunction and coordinated with displayed events and interactions by sending control signals or commands to the actuators. The computer system can thus convey physical force sensations to the user in conjunction with other supplied feedback as the user is grasping or contacting the joystick or other object of the interface device. For example, when the user moves the manipulatable object and causes a displayed cursor to interact with a different displayed graphical object, the computer can issue a command that causes the actuator to output a force on the user object, conveying a feel sensation to the user. Other force feedback controllers include a force feedback mouse that provides forces in the degrees of freedom of motion of the mouse, and a steering wheel controller outputting forces in the rotary degree of freedom of the wheel.
One problem with current force feedback controllers in the home consumer market is the high manufacturing cost of such devices, which makes the devices expensive for the
consumer. A large part of this manufacturing expense is due to the inclusion of multiple actuators and corresponding control electronics in the force feedback device. In addition, high quality transmission components such as linkages and
5 bearings must be provided to accurately transmit forces from the actuators to the user manipulandum and to allow accurate sensing of the motion of the user object. These components are complex and require greater precision in their manufacture than many of the other components in an
10 interface device, and thus further add to the cost of the device. A need therefore exists for a force feedback device that is lower in cost to manufacture yet offers the user force feedback to enhance the interaction with a computer application.
SUMMARY OF THE INVENTION
The present invention is directed to a low-cost force feedback interface which provides a linear actuator along a non-primary axis or degree of freedom. This configuration
20 can provide a simpler, lower cost force feedback device, especially when motion in the non-primary axis is not sensed and no other actuators are used.
More specifically, the present invention relates to a force
25 feedback interface device that is coupled to a host computer system which implements a host application program. The interface device includes a user manipulatable object, such as a mouse or joystick, contacted by a user and movable in physical space in at least one primary degree of freedom. At
30 least one sensor detects the movement of the user object in the degree of freedom and outputs sensor signals representative of the movement. An actuator is coupled to the user manipulatable object and applies a linear output force along a non-primary axis extending through the user manipulat
35 able object, where the force is output in a degree of freedom not sensed by the sensor. Preferably, there are no other actuators in the device. Force sensations such as a jolt, vibration, a constant force, and a texture force can be output on the user object with the actuator.
40 In preferred embodiments, the actuator outputs the force directly on the user manipulatable object, such that no transmission system is required to be provided between the actuator and the user manipulatable object, thus greatly reducing the cost of the device. In addition, the actuator can
45 include a physical spring or other spring device for biasing said at least a portion of the user manipulatable object toward an extended position. The actuator can take a variety of forms, such as a linear voice coil actuator, a linear solenoid, or a voice magnet. A microprocessor local to the
50 interface device can be provided to receive host commands from the host computer and output force signals to the actuator for controlling the output force on the user object. The microprocessor can receive sensor signals from the sensors and report locative data to the host computer indica
55 tive of the movement of the user object. Alternatively, a sensor can be coupled to the actuator to determine a position of the user manipulatable object in the degree of freedom of the actuator.
In one embodiment in which the user manipulatable 60 object is moved in a planar degree of freedom, the output force of the actuator can be provided in a direction approximately perpendicular to the plane of motion. For example, in a mouse embodiment, the force is applied about perpendicularly to the planar mouse workspace and is applied to an 65 entire portion of the mouse that is grasped or rested upon by the user's hand. In a particular mouse embodiment, the actuator is coupled to a housing of the mouse and moves a
portion of the housing in the perpendicular direction. Such a moveable portion of the housing can be a cover portion of the housing that is movably coupled to a base portion of the housing, for example by a hinge, where the cover portion is moved by the actuator with respect to the base portion. The 5 output force can be correlated with a graphical representation displayed by the host computer, where a position of the mouse in the planar workspace corresponds with a position of a cursor displayed in the graphical representation. For example, a jolt force can be output when the mouse crosses a boundary of a window or icon. Or, the output force can be correlated with an elevation of a portion of a 3-D graphical representation having different elevations on which the cursor is displayed. In a different embodiment, the user manipulatable object can be a stylus; or a wheel, such as a steering wheel, that rotates in the single plane, and where the 15 axis extends approximately through a center of the wheel.
In a different embodiment, the user manipulatable object is moved in two sensed rotary degrees of freedom with respect to a ground, where the degrees of freedom approximately define a portion of a surface of a sphere. For 20 example, the user manipulatable object can be at least a portion of a joystick handle that is typically moved in such rotary degrees of freedom. The actuator of the device applies an output force in a linear degree of freedom that is approximately radial to the sphere, where preferably no 25 force is output in the two primary sensed degrees of freedom. The force is applied along a lengthwise axis of the user manipulatable object.
In another embodiment, the user manipulatable object is movable in physical space in a plurality of degrees of 30 freedom with respect to a ground, and a linear actuator applies a linear output force only along a lengthwise axis of the user manipulatable object and not in the plurality of degrees of freedom. One such embodiment provides a stylus as a user manipulatable object, where the sensor can be included in a tablet which is contacted by the stylus. In one 35 embodiment, the stylus includes a rigid tip for contact with the tablet, where the actuator outputs a force to move a body portion of the stylus relative to a tip portion of the stylus. In a different stylus embodiment, the stylus includes a ball in a tip of the stylus, where the ball rotates in place when the 40 stylus is moved across a surface. The actuator can force a brake pad against the ball to output a resistive force on the stylus.
The present invention advantageously provides a force feedback device that is significantly lower in cost than other 45 types of force feedback devices and is thus quite suitable for home consumer applications. A single actuator can be provided that directly applies force to the user manipulatable object, thus saving cost by the elimination of multiple actuators and complex force transmission and control sys- 50 terns. The actuator does not output force in a main sensed degree of freedom of the device, thus allowing sensors to read the position of the user object without substantial interference from forces and also simplifying the control of output forces. Furthermore, the actuator of the present 55 invention can provide a variety of different types of force sensations to enhance the user's experience and interface with a computer application.
These and other advantages of the present invention will become apparent to those skilled in the art upon a reading of 60 the following specification of the invention and a study of the several figures of the drawing.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a system including a host 65 computer and a force feedback interface device of the present invention;
FIG. 2 is a side elevational view of a linear voice coil actuator suitable for use with the present invention;
FIG. 3 is a perspective view of a joystick embodiment of the force feedback device of the present invention;
FIG. 4 is a side elevational view of a mouse embodiment of the force feedback device of the present invention;
FIG. 5 is a perspective view of a steering wheel embodiment of the force feedback device of the present invention;
FIG. 6 is a side elevational view of a stylus embodiment of the force feedback device of the present invention; and
FIG. 7 is a side elevational view of a different stylus embodiment of the force feedback device of FIG. 6.
DETAILED DESCRIPTION OF PREFERRED
FIG. 1 is a block diagram illustrating a force feedback interface system 10 of the present invention controlled by a host computer system. Interface system 10 includes a host computer system 12 and an interface device 14.
Host computer system 12 is preferably a personal computer, such as a Pentium-class (IBM-compatible) PC or Macintosh personal computer, or a workstation, such as a SUN or Silicon Graphics workstation. For example, the host computer system can a personal computer which operates under the Windows, MS-DOS, or Linux operating systems. Alternatively, host computer system 12 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, home computer system 12 can be a television "set top box" or a "network computer" which can be used, for example, to provide interactive computer functions to users over networks, or other appliance having computer functions.
In the described embodiment, host computer system 12 implements a host application program with which a user 22 is interacting via peripherals and interface device 14. For example, the host application program can be a video game, web browser, scientific analysis program, operating system, graphical user interface, medical simulation, or other application program that utilizes force feedback. Typically, the host application provides images to be displayed on a display output device, as described below, and/or other feedback, such as auditory signals. The application program and host computer provide a graphical environment with which the user may interact. For example, the graphical environment may display graphical objects, such as icons, windows, or 3-D objects; or entities, such as a playercontrolled simulated vehicle or character.
Host computer system 12 preferably includes a host microprocessor 16, a clock 18, a display screen 20, and an audio output device 21. The host computer also includes other well known components, such as random access memory (RAM), read-only memory (ROM), and input/ output (I/O) electronics (not shown). Host microprocessor 16 can include a variety of available microprocessors from Intel, AMD, Cyrix, Motorola, or other manufacturers. Microprocessor 16 can be single microprocessor chip, or can include multiple primary and/or coprocessors. Microprocessor preferably retrieves and stores instructions and other necessary data from RAM and ROM, as is well known to those skilled in the art. In the described embodiment, host computer system 12 can receive locative data or a sensor signal via a bus 24 from sensors of interface device 14 and other information. Microprocessor 16 can receive data from bus 24 using I/O electronics 21, and can use I/O electronics
to control other peripheral devices. Host computer system 12 can also output a command to interface device 14 via bus 24 to cause force feedback for the interface device. Clock 18 is a standard clock crystal or equivalent component used by host computer system 12 to provide timing to electrical 5 signals used by microprocessor 16 and other components of the computer system.
Display screen 20 is coupled to host microprocessor 16 by suitable display drivers and can be used to display images generated by host computer system 12 or other computer 10 systems. Display screen 20 can be a standard display screen, CRT, flat-panel display, 3-D goggles, or any other visual interface. In a described embodiment, display screen 20 displays images of a simulation, game environment, operating system application, etc. For example, images describ- ^ ing a point of view from a first-person perspective can be displayed, as in a virtual reality simulation or game. Or, images describing a third-person isometric perspective of objects, backgrounds, etc., or a 2-D image of a graphical user interface can be displayed. User 22 of the host computer 2o 12 and interface device 14 can receive visual feedback by viewing display screen 20. Herein, computer 12 may be referred as displaying computer or graphical "objects" or "entities". These computer objects are not physical objects, but is a logical software unit collections of data and/or 25 procedures that may be displayed as images by computer 12 on display screen 20, as is well known to those skilled in the art.
Audio output device 21, such as speakers, is preferably coupled to host microprocessor 16 via amplifiers, filters, and 30 other circuitry well known to those skilled in the art. Host processor 16 outputs signals to speakers 21 to provide sound output to user 22 when an "audio event" occurs during the implementation of the host application program. Other types of peripherals can also be coupled to host processor 16, such 35 as storage devices (hard disk drive, CD ROM drive, floppy disk drive, etc.), printers, and other input and output devices.
An interface device 14 is coupled to host computer system 12 by a bi-directional bus 24. The bi-directional bus sends signals in either direction between host computer system 12 40 and the interface device. Herein, the term "bus" is intended to generically refer to an interface such as between host computer 12 and microprocessor 26 which typically includes one or more connecting wires, wireless connection, or other connections and that can be implemented in a 45 variety of ways. In the preferred embodiment, bus 24 is a serial interface bus providing data according to a serial communication protocol. An interface port of host computer system 12, such as an RS232 serial interface port, connects bus 24 to host computer system 12. Other standard serial 50 communication protocols can also be used in the serial interface and bus 24, such as RS-422, Universal Serial Bus (USB), MIDI, or other protocols well known to those skilled in the art. For example, the USB standard provides a relatively high speed serial interface that can provide force 55 feedback signals in the present invention with a high degree of realism. An advantage of the microprocessor-enabled local control of system 10 is that low-bandwidth serial communication signals can be used to interface with interface device 14, thus allowing a standard built-in serial 60 interface of many computers to be used as bus 24. Alternatively, a parallel port of host computer system 12 can be coupled to a parallel bus 24 and use a parallel protocol, such as SCSI or PC Parallel Printer Bus. Also, bus 24 can be connected directly to a data bus of host computer system 12 65 using, for example, a plug-in card and slot or other access of computer 12. Bus 24 can be implemented within a network
such as the Internet or a LAN; or, bus 24 can be a channel such as the air, etc. for wireless communication. In another embodiment, one or more additional buses can be included to communicate between host computer system 12 and interface device 14 for an increased data bandwidth.
Interface device 14 includes a local microprocessor 26, sensors 28, actuator 30, a user object 34, optional sensor interface 36, an optional actuator interface 38, and other optional input devices 39. Interface device 14 may also include additional electronic components for communicating via standard protocols on bus 24. In the preferred embodiment, multiple interface devices 14 can be coupled to a single host computer system 12 through bus 24 (or multiple buses 24) so that multiple users can simultaneously interface with the host application program (in a multiplayer game or simulation, for example). In addition, multiple players can interact in the host application program with multiple interface devices 14 using networked host computers 12, as is well known to those skilled in the art.
Local microprocessor 26 can optionally be included within the housing of interface device 14 to allow efficient communication with other components of the interface device. Processor 26 is considered local to interface device 14, where "local" herein refers to processor 26 being a separate microprocessor from any processors in host computer system 12. "Local" also preferably refers to processor 26 being dedicated to force feedback and sensor I/O of interface device 14, and preferably being closely coupled to sensors 28 and actuators 30, such as within the housing for interface device or in a housing coupled closely to interface device 14. Microprocessor 26 can be provided with software instructions to wait for commands or requests from computer host 16, decode the command or request, and handle/ control input and output signals according to the command or request. In addition, processor 26 preferably operates independently of host computer 16 by reading sensor signals and calculating appropriate forces from those sensor signals, time signals, and stored or relayed instructions selected in accordance with a host command. Suitable microprocessors for use as local microprocessor 26 include the MC68HC711E9 by Motorola, the PIC16C74 by Microchip, and the 82930AX by Intel Corp., for example. Microprocessor 26 can include one microprocessor chip, or multiple processors and/or co-processor chips. In other embodiments, microprocessor 26 can include digital signal processor (DSP) capability.
Microprocessor 26 can receive signals from sensors 28 and provide signals to actuator 30 of the interface device 14 in accordance with instructions provided by host computer 12 over bus 24. For example, in a local control embodiment, host computer 12 provides high level supervisory commands to microprocessor 26 over bus 24, and microprocessor 26 manages low level force control loops to sensors and the actuator in accordance with the high level commands and independently of the host computer 18. This operation is described in greater detail in U.S. Pat. Nos. 5,739,811 and 5,734,373, both incorporated by reference herein. In the host control loop, force commands are output from the host computer to microprocessor 26 and instruct the microprocessor to output a force or force sensation having specified characteristics. The local microprocessor 26 reports data to the host computer, such as locative data that describes the position of the user object 34 in one or more provided degrees of freedom. The data can also describe the states of buttons 39 and safety switch 41. The host computer uses the data to update executed programs. In the local control loop, actuator signals are provided from the microprocessor 26 to