`(12) Patent Application Publication (10) Pub. No.: US 2002/0097223 A1
`
` Rosenberg (43) Pub. Date: Jul. 25, 2002
`
`
`US 20020097223A1
`
`(54) HAPTIC FEEDBACK STYLUS AND OTHEF
`DEVICES
`
`(52) US. Cl.
`
`.............................................................. 345/157
`
`(75)
`
`Inventor: Louis B. Rosenberg, San Jose, CA
`(US)
`
`(57)
`
`ABSTRACT
`
`Correspondence Address:
`James R' RIEgd
`gfifilgfilgg CORPORATION
`San Jose, CA 95131 (US)
`
`(73) Assignee:
`
`Immersion Corporation
`
`(21) Appl. No.:
`
`10/091,750
`
`(22)
`
`Filed:
`
`Mar. 5, 2002
`_
`_
`Related U-S- Application Data
`
`(63) Continuation of application No. 09/563,783, filed on
`.
`.
`May 2, 2000, now Pat. No. 6,353,427, Which is a
`.
`.
`.
`.
`continuation of application No. 09/103,281, filed on
`Jun 23 1998 now Pat No 6 088 019
`.
`’
`’
`.
`.
`’
`’
`publication Classification
`
`.
`
`(51)
`
`Int. Cl.7 ....................................................... G09G 5/08
`
`Aforce feedback interface and method including an actuator
`in a non-primary axis or degree of freedom. The force
`feedback interface device is connected to a host computer
`that. implements a. host application program or graphical
`enVironment. The interface deVice includes a user manipu-
`latable object, a sensor for detecting movement of the user
`object, and an actuator to apply output forces to the user
`object. The actuator outputs a linear force on the user object
`in non-primary linear axis or degree of freedom that is not
`used to control a graphical object or entity implemented by
`the host computer, and movement in the non-primary degree
`of freedom is preferably not sensed by sensors. The axis
`t dth
`hth
`b'
`t
`dth
`f
`bl
`ex en S
`roug .
`e user 0. JCC ’ an
`ere are pre era y no
`other actuators in the deVice, thus allowmg the force feed-
`.
`.
`.
`back deVice to be very cost effective. Force sensations such
`.
`.
`.
`as a Jolt, Vibration, a constant force, and a texture force can
`be output on the user object With the actuator. The force
`sensations can be output in a direction perpendicular to a
`planar degree of freedom, radial
`to spherical degree of
`freedom, and/or along a lengthwise axis of the user object.
`
`E?
`
`1
`
`
`.L
`
`l
`
`—h
`
`
`
`
`‘-
`
`___#4_
`\____3_____.5
`,-____-
`x---
`,--__
`'|—-..
`I
`
`I
`
`\
`
`Sensata Ex. 1008 Page 0001
`
`Sensata Ex. 1008 Page 0001
`
`
`
`Patent Application Publication
`
`Jul. 25, 2002 Sheet 1 0f 5
`
`US 2002/0097223 A1
`
`HOST COMPUTER SYSTEM
`
`12
`
`A10
`
`P
`
`_
`
`w
`
`MKTSECSSToECunvnbYaHO8RP
`wwmmMmmm"OVPV"Orn_u._m16%uDDuU_AMu_____u.....wHmmmmL
`EYE_
`
`1...
`
`lll'llllllIlllllllIIIlllll-l
`
` ---w--|-:---lll--+......J_—_—fl_0uuT2_”un
`
` mm"wE..l.uu_..___
`n..............m
`.u"mmue"..00CL_“ELLE.RCiiiiiii_C.OA_nFA.SF.1WH_EF"NR_4EC_CR.EEWmFm“mm—I.llllllllllllLllllllllllllllllllOil"nm2mm3__SuuS..............“mRumuL
`_R02nRCMCE.EP_IO"SuMLM7wuC2__9.u2
`lulu}NlllllB-14:T."NWWWHco“An“AW"
`4.N.1/"%SMT"mm2’4.RC_T___OE_Aw/_SJuU15.1-".
`nnnnnn
` __EA_LT_“ACAF__0%YUH__ORTIT.LT_LPCN“HAIR4_OK0AI
`
`
` ............M.-ummmE".U.2_.0;Wm“”MW"n_A..uMHllllllllllllllllllll.ILnxauuiklnqu|I|||||n
`.“In
`
`
`
`----i-J...........M---mm-m
`
`FIG. 1
`
`Ex. 1008 Page 0002
`
`Ex. 1008 Page 0002
`
`
`
`
`ANIY2:cm?3W‘§:‘~\.\‘-
`v:2:N2
`IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
`_Tfigfll‘i’i‘lk
`
`
`n...'II.l.LlocOI....aIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
`
`_iggg‘aanm2.
`I‘gEEEE‘
`
`Ex. 1008 Page 0003
`
`
`
`
`Patent Application Publication
`
`Jul. 25, 2002 Sheet 3 0f 5
`
`US 2002/0097223 A1
`
`
`
`
`J»
` "\ A...
`3
`"__'T'
`p.— ..
`
`ZZ-__J
`
`\
`
`Ex. 1008 Page 0004
`
`Ex. 1008 Page 0004
`
`
`
`Patent Application Publication
`
`Jul. 25, 2002 Sheet 4 0f 5
`
`US 2002/0097223 A1
`
`
`
`Ex. 1008 Page 0005
`
`Ex. 1008 Page 0005
`
`
`
`Patent Application Publication
`
`Jul. 25, 2002 Sheet 5 0f 5
`
`US 2002/0097223 A1
`
`
`
`Ex. 1008 Page 0006
`
`Ex. 1008 Page 0006
`
`
`
`US 2002/0097223 A1
`
`Jul. 25, 2002
`
`HAPTIC FEEDBACK STYLUS AND OTHEF
`DEVICES
`
`BACKGROUND OF THE INVENTION
`
`[0001] 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.
`
`[0002] 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, steer-
`ing 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 com-
`puter 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.
`
`tactile and/or haptic
`In some interface devices,
`[0003]
`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 com-
`mands 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 manipulat-
`able 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.
`
`[0004] One problem with current force feedback control-
`lers 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
`bearings must be provided to accurately transmit forces from
`the actuators to the user manipulandum and to allow accu-
`rate sensing of the motion of the user object. These com-
`ponents 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 a computer appli-
`cation.
`
`SUMMARY OF THE INVENTION
`
`[0005] 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 con-
`figuration 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.
`
`[0006] More specifically, the present invention relates to a
`force feedback interface device that is coupled to a host
`computer system which implements a host application pro-
`gram. 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 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 as
`
`a jolt, vibration, a constant force, and a texture force can be
`output on the user object with the actuator.
`
`In preferred embodiments, the actuator outputs the
`[0007]
`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
`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
`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-
`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 manipulat-
`[0008]
`able 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
`
`Ex. 1008 Page 0007
`
`Ex. 1008 Page 0007
`
`
`
`US 2002/0097223 A1
`
`Jul. 25, 2002
`
`perpendicularly to the planar mouse workspace and is
`applied to an 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 perpen-
`dicular 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 output force can be corre-
`lated 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 axis extends approxi-
`mately through a center of the wheel.
`
`In a different embodiment, the user manipulatable
`[0009]
`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
`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
`force is output in the two primary sensed degrees of free-
`dom. The force is applied along a lengthwise axis of the user
`manipulatable object.
`
`the user manipulatable
`In another embodiment,
`[0010]
`object is 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 one
`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
`stylus is moved across a surface. The actuator can force a
`brake pad against the ball to output a resistive force on the
`stylus.
`
`[0011] The present invention advantageously provides a
`force feedback device that is significantly lower in cost than
`other 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 con-
`trol systems. 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 invention can provide a variety of different types of
`
`force sensations to enhance the user’s experience and inter-
`face with a computer application.
`
`[0012] These and other advantages of the present inven-
`tion 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.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0013] FIG. 1 is a block diagram of a system including a
`host computer and a force feedback interface device of the
`present invention;
`
`[0014] FIG. 2 is a side elevational view of a linear voice
`coil actuator suitable for use with the present invention;
`
`[0015] FIG. 3 is a perspective view of a joystick embodi-
`ment of the force feedback device of the present invention;
`
`[0016] FIG. 4 is a side elevational view of a mouse
`embodiment of the force feedback device of the present
`invention;
`
`[0017] FIG. 5 is a perspective view of a steering wheel
`embodiment of the force feedback device of the present
`invention;
`
`[0018] FIG. 6 is a side elevational view of a stylus
`embodiment of the force feedback device of the present
`invention; and
`
`[0019] FIG. 7 is a side elevational view of a different
`stylus embodiment of the force feedback device of FIG. 6.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`[0020] FIG. 1 is a block diagram illustrating a force
`feedback interface system 10 of the present invention con-
`trolled by a host computer system. Interface system 10
`includes a host computer system 12 and an interface device
`14.
`
`[0021] 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 sys-
`tem 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 sys-
`[0022]
`tem 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. Typi-
`cally, 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
`
`Ex. 1008 Page 0008
`
`Ex. 1008 Page 0008
`
`
`
`US 2002/0097223 A1
`
`Jul. 25, 2002
`
`the graphical
`which the user may interact. For example,
`environment may display graphical objects, such as icons,
`windows, or 3-D objects; or entities, such as a player-
`controlled simulated vehicle or character.
`
`[0023] 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. Microproces-
`sor 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
`signals used by microprocessor 16 and other components of
`the computer system.
`
`[0024] Display screen 20 is coupled to host microproces-
`sor 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 environ-
`ment, 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 simula-
`tion 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 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.
`
`[0025] Audio output device 21, such as speakers, is pref-
`erably 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.
`
`[0026] 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 imple-
`mented 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 R8232 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 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
`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 inter-
`face device 14,
`thus allowing a standard built-in serial
`interface of many computers to be used as bus 24. Alterna-
`tively, 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
`[0027]
`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 communicat-
`ing 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, mul-
`tiple 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.
`[0028] Local microprocessor 26
`can optionally be
`included within the housing of interface device 14 to allow
`efficient communication with other components of the inter-
`face 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 pro-
`cessor 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 com-
`puter 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,
`
`Ex. 1008 Page 0009
`
`Ex. 1008 Page 0009
`
`
`
`US 2002/0097223 A1
`
`Jul. 25, 2002
`
`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. Micropro-
`cessor 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.
`
`[0029] Microprocessor 26 can receive signals from sen-
`sors 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 super-
`visory 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 US. 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 actuator 30 and sensor signals 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,
`textures, 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 may use the sensor signals in the local
`determination of forces to be output on the user object, as
`well as reporting locative data derived from the sensor
`signals to the host computer.
`
`In yet other embodiments, other hardware can be
`[0030]
`provided locally to interface device 14 to provide function-
`ality 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 hardware are
`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
`[0031]
`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. Further-
`more, 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.
`
`[0032] 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 sequence of stored 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 dependent factors). 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
`[0033]
`30, and microprocessor 26, and other related electronic
`components are included in a housing for interface device
`14, to which user object 34 is directly or indirectly coupled.
`Alternatively, microprocessor 26 and/or other electronic
`components of interface device 14 can be provided in a
`separate housing from user object 34, sensor 28, and actua-
`tor 30.
`
`[0034] Sensors 28 senses the position, motion, and/or
`other characteristics of a user object 34 of the interface
`device 14 along one or more primary degrees of freedom and
`provide signals to microprocessor 26 including information
`representative of those characteristics. Herein,
`the term
`“primary” degree of freedom or “primary” axis refers to the
`degrees of freedom which are sensed to control a graphical
`object or entity implemented by computer system 12. For
`example, the planar degrees of freedom of a mouse or the
`two rotary degrees of freedom of a standard joystick are
`primary degrees of freedom. A twisting third degree of
`freedom of some joysticks can also be considered a primary
`degree of freedom. Typically, a sensor 28 is provided for
`each primary degree of freedom along which object 34 can
`be moved. For example, in a joystick or mouse, each of
`sensors 28 senses the position of the user object 34 in a
`degree of freedom of motion. Alternatively, a single com-
`pound sensor can be used to sense position or movement in
`multiple degrees of freedom. An example of sensors suitable
`for several embodiments described herein are digital optical
`encoders, which sense the change in position of an object
`about a rotational axis and provide digital signals indicative
`of the change in position. A suitable optical encoder is the
`“Softpot” from US. Digital of Vancouver, Wash. Linear
`optical encoders, potentiometers, optical sensors, velocity
`sensors, acceleration sensors, strain gauge, or other types of
`sensors can also be used, and either relative or absolute
`sensors can be provided.
`
`Ex. 1008 Page 0010
`
`Ex. 1008 Page 0010
`
`
`
`US 2002/0097223 A1
`
`Jul. 25, 2002
`
`to an
`[0035] Sensors 28 provide an electrical signal
`optional sensor interface 36, which can be used to convert
`sensor signals to signals that can be interpreted by the
`microprocessor 26 and/or host computer system 12. For
`example, sensor interface 36 can receive two phase-related
`signals from a sensor 28 and converts the two signals into
`another pair of clock signals, which drive a bidirectional
`binary counter. The output of the binary counter is received
`by microprocessor 26 as a binary number representing the
`angular position of the encoded shaft. Such circuits, or
`equivalent circuits, are well known to those skilled in the art;
`for example,
`the Quadrature Chip LS7166 from Hewlett
`Packard, Calif. performs the functions described above. If
`analog sensors 28 are used, an analog to digital converter
`(ADC) can convert the analog signal to a digital signal that
`is received by microprocessor 26 and/or host computer
`system 12. Each sensor 28 can be provided with its own
`sensor interface, or one sensor interface may handle data
`from multip