`
`WORLD INTELLECTUAL PROPERTY ORGANIZATION
`International Bureau
`
`
`WO 99/66997 (43) International Publication Date:
`
`INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`(51) International Patent Classification © :
`
`(11) International Publication Number:
`
`A63F 463/38, GO9G 5/00, 5/08
`
`29 December 1999 (29.12.99)
`
`
`
`(21) International Application Number: PCT/US99/14085|(81) Designated States: AL, AM, AT, AU, AZ, BA, BB, BG, BR,
`BY, CA, CH, CN, CU, CZ, DE, DK, EE, ES, FI, GB, GE,
`GH, GM, HR, HU,ID, IL, IS, JP, KE, KG, KP, KR, KZ,
`LC, LK, LR, LS, LT, LU, LV, MD, MG, MK, MN, Mw,
`MX, NO, NZ, PL, PT, RO, RU, SD, SE, SG, SI, SK, SL, TI,
`TM, TR, TT, UA, UG, UZ, VN, YU, ZW, ARIPO patent
`(GH, GM, KE, LS, MW,SD, SL, 8Z, UG, ZW), Eurasian
`patent (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), European
`patent (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR,
`IE, IT, LU, MC, NL, PT, SE), OAPI patent (BF, BJ, CF,
`CG,CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG).
`
`(22) International Filing Date:
`
`22 June 1999 (22.06.99)
`
`(30) Priority Data:
`09/103,281
`09/156,802
`09/253,132
`
`23 June 1998 (23.06.98)
`17 September 1998 (17.09.98)
`18 February 1999 (18.02.99)
`
`Us
`US
`US
`
`IMMERSION CORPORATION [US/US]; 2158
`(71) Applicant:
`Paragon Drive, San Jose, CA 95131 (US).
`
`(72) Inventor: ROSENBERG, Louis, B.; 5002 Selter Road, San
`Jose, CA 95132 (US).
`
`(74) Agent: HICKMAN,Paul, L.; Hickman Stephens & Coleman,
`LLP, P.O. Box 52037, Palo Alto, CA 94303-0746 (US).
`
`Published
`With international search report.
`
`
`
`(54) Title: LOW COST FORCE FEEDBACK DEVICES
`
`(57) Abstract
`
`Force feedback interface (14) embodiments for _ SOSTCOMPUTERSYSTEM
`providing low cost force feedback for enhancing in-
`SYSTEM
`teractions in a computer generated environment. One
`AUDIOOUTPUT
`Vl
`embodiment provides an actuator(30) in a non-primary
`axis or degree of freedom that outputs a linear force on
`4
`20
`the user object in non—primary linear axis that is not
`used to control a graphical object, and movement in
`the non-primary degree of freedom is preferably not
`\
`sensed by sensors (28). The force sensations can be
`i
`output in a direction perpendicularto a planar degree of
`'
`freedom, radial to spherical degree of freedom, and/or3ERIALpeeeeeeee;
`along a lengthwise axis of the user object. A differ-
`PORT
`1724
`ent embodiment provides a mouse moyable in a planar
`i
`workspace, where an actuator(30) coupled to a mouse
`24
`COareat ;
`
`button applies an output force in the degree of free-
`pene
`Prrnamenent enane cnn na aae
`
`4
`dom of the button. Alternatively, a cylindrical member
`i
`\
`
`ti
`that may be rotated and translated can include a com-
`LOCAL
`
`
`mand sensor detects motion of the cylindrical member |p>MICROPROCESSOR it
`pressed down by the user, and an actuator (30) applies
`\
`:
`|
`an output force in the pressed degree of freedom.
`‘
`a
`__FEEL}
`|
`
`\
`
` 16
`
`HOST
`PROCESSOR
`
`DISPLAY
`DEVICE
`
`VIEW |
`f----~-poctnnnannrnn+
`
`
`
`
`
` 1 48
`
`
`
`
`MANIPULATE|
`
`ACTUATOR
`
`INTERFACE
`
`.
`M4
`
`oD
`
`(set
`
`(28
`
`27
`
`
`POWER
`
`SUPPLY
`
`
`Valve Exhibit 1008
`Valve Exhibit 1008
`Valve v. Immersion
`Valve v. Immersion
`
`
`
`
`
`
`
`FOR THE PURPOSES OF INFORMATION ONLY
`
`Codes used to identify States party to the PCT on the front pages of pamphlets publishing international applications under the PCT,
`
`Slovenia
`Slovakia
`Senegal
`Swaziland
`Chad
`Togo
`Tajikistan
`Turkmenistan
`Turkey
`Trinidad and Tobago
`Ukraine
`Uganda
`United States of America
`Uzbekistan
`Viet Nam
`Yugoslavia
`Zimbabwe
`
`SI
`SK
`SN
`SZ
`TD
`TG
`TJ
`
`™T
`
`R
`
`Albania
`Armenia
`Austria
`Australia
`Azerbaijan
`Bosnia and Herzegovina
`Barbados
`Belgium
`Burkina Faso
`Bulgaria
`Benin
`Brazil
`Belarus
`Canada
`Central African Republic
`Congo
`Switzerland
`Céte dIvoire
`Cameroon
`China
`Cuba
`Czech Republic
`Germany
`Denmark
`Estonia
`
`Spain
`Finland
`France
`Gabon
`United Kingdom
`Georgia
`Ghana
`Guinea
`Greece
`Hungary
`Treland
`Tsrael
`Iceland
`Ttaly
`Japan
`Kenya
`Kyrgyzstan
`Democratic People’s
`Republic of Korea
`Republic of Korea
`Kazakstan
`Saint Lucia
`Liechtenstein
`Sri Lanka
`Liberia
`
`KR
`KZ
`Lc
`LI
`LK
`LR
`
`LS
`LT
`LU
`LV
`MC
`MD
`MG
`MK
`
`ML
`MN
`MR
`MW
`MX
`NE
`NL
`NO
`NZ
`PL
`PT
`RO
`RU
`sD
`SE
`8G
`
`Lesotho
`Lithuania
`Luxembourg
`Latvia
`Monaco
`Republic of Moldova
`Madagascar
`The former Yugoslav
`Republic of Macedonia
`Mali
`Mongolia
`Mauritania
`Malawi
`Mexico
`Niger
`Netherlands
`Norway
`New Zealand
`Poland
`Portugal
`Romania
`Russian Federation
`Sudan
`Sweden
`Singapore
`
`
`
`
`
`WO 99/66997
`
`PCT/US99/14085
`
`LOW COST FORCE FEEDBACK DEVICES
`
`BACKGROUND OF THE INVENTION
`
`The present invention relates generally to interface devices for allowing humans to
`interface with computer systems, and moreparticularly 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 user can interact with an environment displayed by a computer to perform functions
`and tasks on the computer, such as playing a game, experiencing a simulation or virtualreality
`environment, using a computer aided design system, operating a graphical user interface (GUD),
`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 physical
`manipulandum 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 manipulandum ofthe interface
`device. For example, the Logitech WingmanForce joystick controller from Logitech, Inc., the
`Logitech Wingman Formula Force steering wheel, or the Feelit Mouse from Immersion
`Corporation may be connected to a computer and provides forces in the degrees of freedom of
`motion of the joystick, wheel, or mouse to a user of the controller. One or more motors or other
`actuators are coupled to the joystick or mouse and are connected to the controlling computer
`system. The computer system controls forces on the joystick or mouse 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 physical object
`
`1
`
`10
`
`20
`
`25
`
`30
`
`35
`
`
`
`WO 99/66997
`
`PCT/US99/14085
`
`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 physical object, conveyimg a feel
`sensation to the user.
`
`One problem with current force feedback controllers in the home consumer marketis 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
`mechanical and force transmission components such as linkages and bearings must be provided
`to accurately transmit forces from the actuators to the user manipulandum andto 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 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
`computer applications.
`
`10
`
`15
`
`
`
`WO 99/66997
`
`PCT/US99/14085
`
`SUMMARYOF THE INVENTION
`
`The present invention is directed to a low-cost force feedback interface which provides
`low cost force feedback for enhancing interactions and manipulations in computer-generated
`environments such as displayed graphical environments.
`
`More specifically, in one embodiment the present invention relates to a force 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 mouseorjoystick,
`contacted by a user and movable in physical space in at least one primary degree of freedom. At
`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
`manipulatable 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 asajolt, vibration, a
`constant force, and a texture force can be output on the user object with the actuator.
`15
`
`10
`
`20
`
`25
`
`30
`
`the force directly on the user
`the actuator outputs
`In preferred embodiments,
`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 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
`microprocessorlocal to the 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. A sensor can be coupled to the actuator to determine a position ofthe user manipulatable
`object in the degree of freedom of the actuator.
`
`In one embodiment in which the user manipulatable 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 entire portion of the
`mousethat 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. The output force can be
`correlated with a graphical representation and cursor displayed by the host computer.
`
`
`
`WO 99/66997
`
`PCT/US99/14085
`
`The user manipulatable object can in alternate embodiments be 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 example, the user manipulatable object can be at
`least a portion of a joystick handle that is typically moved in suchrotary 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 force is output in the two primary sensed
`degrees of freedom. The force is applied along a lengthwise axis of the user manipulatable
`object. The user manipulatable object can in yet other embodiments be movable in physical
`space in a plurality of degrees of 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 a different aspect of the present invention, a force feedback interface device is coupled
`to a host computer system which implements a host application program.
`In one embodiment,
`the force feedback device is a mouse that is physically contacted by a user and movable in a
`planar workspace. The mouse includes a sensor device able to detect the movement ofsaid
`mouse in the planar workspace and to output sensor signals representative of that movement. A
`button is coupled to the mouse, and a sensor detects a position of the button, such that whenthe
`button is pressed by the user to a predetermined position, a command signalis sent to the host
`computer. An actuator coupled to the button of the mouse and operative to apply an output force
`in the degree of freedom of the button. Preferably, a linear voice coil actuator is used. The
`button sensor can be a contact switch or a continuous-range sensor. The output force is
`preferably correlated with interaction of a controlled cursor with other graphical objects in a
`graphical environment displayed by the host computer. The force can be a jolt, vibration,
`constant force, texture force, or other type of force.
`
`In an alternate embodiment, a force feedback pointing device having a cylindrical
`member that may be rotated about an axis and translated along that axis to provide sensorsignals
`used by the host computer to control a position of a graphical object such as a cursor. A
`command sensoris also provided that detects a pressing motion ofthe cylindrical member in a
`degree of freedom approximately perpendicular to the translation, causing a commandsignalis
`sent to the host computer. An actuator applies an output force in the perpendicular degree of
`freedom of the cylindrical member that correlated with an interaction of the cursor with a
`graphical object.
`
`is
`force feedback device that
`a
`invention advantageously provides
`The present
`significantly lower in cost than other types of force feedback devices and is thus quite suitable
`for home consumerapplications. A single actuator can be provided that directly applies force to
`
`4
`
`10
`
`15
`
`20
`
`20
`
`30
`
`35
`
`
`
`WO 99/66997
`
`PCT/US99/14085
`
`the user manipulatable object, thus saving cost by the elimination of multiple actuators and
`complex force transmission and control systems. A single actuator can also be provided that
`directly applies force in the degree of freedom of a mouse button or to the command gesture
`motion of a pointing device such as a cylinder. 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. The actuator of the present invention can provide a variety of different types of force
`sensations to enhance the user’s experience and interface with a computer application.
`
`10
`
`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 ofthe
`several figures of the drawing.
`
`
`
`WO 99/66997
`
`PCT/US99/14085
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`is a block diagram of a system including a host computer and a force
`FIGURE 1
`feedback interface device of the present invention;
`
`FIGURE2?is a side elevational view of a linear voice coil actuator suitable for use with
`
`the present invention;
`
`FIGURE3is a perspective view of a joystick embodiment of the force feedback device
`of the present invention;
`
`FIGURE 4 is a side elevational view of a mouse embodiment of the force feedback
`
`10
`
`device of the present invention;
`
`FIGURE 5 is a perspective view of a steering wheel embodiment of the force feedback
`device of the present invention;
`
`FIGURE6is a side elevational view of a stylus embodimentof the force feedback device
`of the present invention; and
`
`15
`
`FIGURE 7 is a side elevational view of a different stylus embodiment of the force
`feedback device of Figure 6.
`
`FIGURE8 is a perspective view of another aspect of the present invention including a
`mouse of connected to a host computer;
`
`FIGURE 9 is a side cross sectional view of the mouseof Fig. 8;
`
`20
`
`FIGURE 10 is a side elevational view of a voice coil actuator suitable for use with the
`
`present invention,
`
`FIGURE 11 is a block diagram of the mouse and host computer of the present invention;
`
`FIGURE 12 is a diagrammatic view of a display screen showing graphical objects
`associated with force sensations output using the mouse of the present invention; and
`
`25
`
`FIGURES 13a and 13b are perspective and side elevational views, respectively, of a
`second pointing device ofthe present invention providing low cost force feedback.
`
`
`
`WO 99/66997
`
`PCT/US99/14085
`
`DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
`
`is a block diagram illustrating a force feedback interface system 10 of the
`FIGURE 1
`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, MacOS 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 computerfunctions.
`
`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/web page that
`implements HTML or VRML instructions, scientific analysis program, operating system,
`graphical user interface, medical simulation, or other application program that utilizes force
`feedback. Herein, for simplicity, operating systems such as Windows™, MS-DOS, MacOS,
`Unix, etc. are also referred to as “application programs.” 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 player-controlled simulated vehicle or character. Suitable software drivers which
`interface software with computer input/output (I/O) and force feedback devices are available
`from Immersion Human Interface Corporation of San Jose, California.
`
`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, Cynx, Motorola, or other manufacturers.
`Microprocessor 16 can be single microprocessor chip, or can include multiple primary and/or co-
`processors. Microprocessor preferably retrieves and stores instructions and other necessary data
`
`7
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`
`
`WO 99/66997
`
`PCT/US99/14085
`
`In the described embodiment,
`from RAM and ROM,asis well known to those skilled in the art.
`host computer system 12 canreceive 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 commandto 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 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 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
`describing 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 ofthe
`host computer 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 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 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 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 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
`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 communication protocols can also be used in the serial interface and bus 24, such
`
`&
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`
`
`WO 99/66997
`
`PCT/U899/1 4085
`
`as RS-422, Universal Serial Bus (USB), MIDI, or other protocols well known to those skilled in
`the art. For example, the USB standard providesa relatively high speed serial interface that can
`provide force 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-bandwidthserial
`communication signals can be used to interface with interface device 14,
`thus allowing a
`standard built-in serial 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 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 sensorinterface 36, an optional actuatorinterface 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 multi-player 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 commandsorrequests
`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 byIntel Corp., for
`example. Microprocessor 26 can include one microprocessor chip, or multiple processors and/or
`9
`
`10
`
`15
`
`20
`
`25
`
`30
`
`
`
`WO 99/66997
`
`PCT/US99/14085
`
`In other embodiments, microprocessor 26 can include digital signal
`co-processor chips.
`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.
`In the host control loop, force commandsare output
`from the host computer to microprocessor 26 andinstruct 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 actuator 30 and sensorsignals
`are provided from the sensors 28 and other input devices 39 to the microprocessor 26. Herein,
`the term “force sensation” refers to either a single force or a sequence of forces output by the
`actuators 30 which provide a sensation to the user. For example, vibrations, a single jolt, or a
`spring force are all considered force sensations. The microprocessor 26 can process inputted
`sensor signals to determine appropriate output actuator signals by following stored instructions.
`The force process can command distinct force sensations, such as vibrations, texturcs, jolts, or
`even simulated interactions between displayed objects. The sensors 28 provide sensor signals to
`the microprocessor 26 indicating a position (or other information)of the user object in degrees of
`freedom. The microprocessor mayuse the sensor signals in the local determinationofforces to
`be output on the user object, as well as reporting locative data derived from the sensorsignals to
`the host computer.
`
`For example, it is preferable that host computer 14 send a “spatial representation”to the
`local microprocessor 26, which is data describing the locations of some orall the graphical
`objects displayed in a GUI or other graphical environment which are associated with forces and
`the types/characteristics of these graphical objects. The microprocessor can store such a spatial
`representation in local memory 27, and thus will be able to determine interactions between the
`user object and graphical objects (such as the rigid surface) independently of the host computer.
`In addition, the microprocessor can be provided with the necessary instructions or data to check
`sensor
`readings, determine
`cursor
`and target positions,
`and determine output
`forces
`independently of host computer 18. The host could implement program functions (such as
`displaying images) when appropriate, and synchronization commands can be communicated
`between the microprocessor and host 18 to correlate the microprocessor and host processes.
`
`10
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`
`
`WO 99/66997
`
`PCT/US99/14085
`
`Also, the local memory can store predetermined force sensations for the microprocessorthat are
`to be associated withparticular types of graphical objects.
`
`In yet other embodiments, other hardware can be provided locally to interface device 14
`to provide functionality similar to microprocessor 26. For example, a hardware state machine
`incorporating fixed logic can be used to provide signals to the actuator 30 and receive sensor
`signals from sensors 28, and to output force signals according to a predefined sequence,
`algorithm, or process. Techniques for implementing logic with desired functions in hardwareare
`well known to those skilled in the art. Such hardware can be better suited to less complex force
`feedback devices, such as the device of the present invention.
`
`In a different, host-controlled embodiment, host computer 12 can provide low-level force
`commands over bus 24, which are directly transmitted to the actuator 30. Host computer 12 thus
`directly controls and processes all signals to and from the interface device 14, e.g. the host
`computer directly controls the forces output by actuator 30 and directly receives sensor signals
`from sensors 28 and input devices 39. This embodiment may be desirable to reduce the cost of
`the force feedback device yet further, since no local microprocessor 26 need be included.
`Furthermore, since only one actuator 30 can be used with forces not provided in the primary
`sensed degrees of freedom,
`the local control of forces by microprocessor 26 may not be
`necessary in the present invention to provide the desired quality of forces.
`
`Local memory 27, such as RAM and/or ROM,is preferably coupled to microprocessor
`26 in interface device 14 to store instructions for microprocessor 26 and store temporary and
`other data. For example, force profiles can be stored in memory 27, such as a sequenceofstored
`force values that can be output by the microprocessor, or a look-up table of force values to be
`output based on the current position of the user object.
`In addition, a local clock 29 can be
`coupled to the microprocessor 26 to provide timing data, similar to system clock 18 of host
`computer 12; the timing data might be required, for example,
`to compute forces output by
`actuators 30 (e.g., forces dependent on calculated velocities or other time dependentfactors).
`In
`embodiments using the USB communication interface, timing data for microprocessor 26 can be
`alternatively retrieved from the USB signal.
`
`In the preferred embodiment, sensors 28, actuator 30, and microprocessor 26, and other
`rel