`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`—$—————EENOODETAUPPICUE
`
`i‘
`
`S'nsegot
`Igo/ae/99°
`-
`CERTIFICATE OF EXPRESS MAILING
`SEFerepycertify that this paper and the documents and/or fees referred to as attached therein are being deposited with the United States Postal
`i
`tde on June 30, 2000 in an envelope as “Express Mail Post Office to Addressee” service under 37 CFR §1.10, Mailing Label Number
`38189US, addyessed_to the Assistant Commissioner for Patents, Washington, DC 20231.
`
`
`PATENT APPLICATION TRANSMITTAL(37 C.F.R. § 1.53(b))
`
`Assistant Commissioner for Patents
`Box Patent Application
`Washington, DC 20231
`
`.PTO
`U.S6061
`
`25INLSODA
`
`8609
`je
`
`Sir:_This is a request for filing a patent application under 37 C.F.R. § 1.53(b) in the nameof inventors:
`Bruce M.Schena and Erik J. Shahoian
`
`
`
`
`
`For:
`
`Controlling Vibrotactile Sensations for Haptic Feedback Devices
`
`Please find enclosed:
`
`
`
`LILIxikix
`
`18 Pages of Specification and Claims,
`01 Page of Abstract,
`05 Sheet(s) of informal Drawings,
`2 Pages Combined Declaration and Power ofAttorney,
`Preliminary amendment.
`Information Disclosure Statement.
`Verified Statement that this filing is by a small entity.
`Assignment of the invention to
`Assignment Recordation Cover Sheet and Assignment recording fee of $40.00.
`Other:
`
`é
`
`PLEASE DO NOT CHARGEA FILING FEE AT THIS TIME
`
`Date:
`
`6/30/20
`
`Registration No. 36,651
`
`P.O. Box 52037
`Palo Alto, CA 94303-0746
`Telephone: (408) 467-1900
`
`Attorney Docket No. IMM1P086A
`
`(Revised 2/98, Rule 53 Trans.)
`
`Page 1 of 1
`1
`
`APPLE 1037
`
`1
`
`APPLE 1037
`
`
`
`
`
`
`
`CONTROLLING VIBROTACTILE SENSATIONS
`FOR HAPTIC FEEDBACK DEVICES
`
`BY INVENTORS
`
`Bruce M. Schena
`
`Erik J. Shahoian
`
`CROSS REFERENCE TO RELATED APPLICATIONS
`
`5
`
`10
`
`This application claimspriority to U.S. Provisional Application No. 60/142,155,filed July 1,
`1999, entitled, “Providing Vibration Forces in Force Feedback Devices,” and which is incorporated
`by reference herein.
`
` 15
`
`BACKGROUND OF THE INVENTION
`
`The present invention relates generally to producing forces in haptic feedback interface
`devices, and moreparticularly to the output and control ofvibrations and similar force sensations
`from actuators in a haptic feedback interface device.
`
`20
`
`25.
`
`30
`
`Using an interface device, a user can interact with an environment displayed by a
`computer system 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 (GUID), or otherwise influencing events or images depicted on
`the screen. Common human-computer interface devices used for such interaction include a
`joystick, mouse, trackball, steering wheel, stylus, tablet, pressure-sensitive ball, or the like, that is
`connected to the computer system controlling the displayed environment.
`
`In some interface devices, force feedback ortactile feedback is also provided to the user,
`also known more generally herein as “haptic feedback.” These types of interface devices can
`provide physical sensations which are felt by the user using the controller or manipulating the
`physical object of the interface device. One or more motors or other actuators are used in the
`device and are connected to the controlling computer system. The computer system controls
`forces on the haptic feedback device in conjunction and coordinated with displayed events and
`
`2
`
`
`
`
`
`interactions on the host by sending control signals or commandsto the haptic feedback device
`and the actuators.
`
`Many low cost haptic feedback devices provide forces to the user by vibrating the
`manipulandum and/or the housing of the device that is held by the user. The output of simple
`vibration haptic feedback (tactile sensations) requires less complex hardware components and
`software control over the force-generating elements than does more sophisticated haptic
`feedback. For example, in many current game controllers for game consoles such as the Sony
`Playstation and the Nintendo 64, one or more motors are mountedin the housingofthe controller
`and which are energized to provide the vibration forces. An eccentric mass is positioned on the
`shaft of each motor, and the shaft is rotated quickly to cause the motor and the housing of the
`controller to vibrate. The host computer (console unit) provides commands to the controller to
`turn the vibration on oroff or to increase or decrease the frequency of the vibration by varying
`the rate of rotation of the motor.
`
`One problem with these currently-available implementations of vibration haptic feedback
`devices is that the vibrations that these implementations produce are very limited and cannot be
`significantly varied. For example, the frequency of the vibrations output by the controllers
`described above can be adjusted by the host computer, but the magnitude of these vibrations
`cannot be varied independently from the frequency. These devices can only provide vibration
`magnitudes that are directly proportional to frequency; thus, low-frequency vibrations must have
`a low magnitude, and high frequency vibrations must have a high magnitude. Developers have
`no way of providing, for example, vibrations having a high frequency and low magnitude or
`vibrations having a low frequency and high magnitude, thus severely limiting the force feedback
`effects which can be experienced by a userof these devices.
`
`10
`
`
`
`Docket No.
`
`IMMI1P086A
`
`2
`
`3
`
`
`
`
`
`SUMMARYOF THE INVENTION
`
`The present invention is directed to controlling vibrotactile sensations in haptic feedback
`devices whichare interfaced with a host application program. The present invention allows more
`varied and complex sensations to be provided using inexpensive electronics and mechanical
`parts.
`
`
`
`More specifically, the present invention relates to a method for providing a vibration for a
`haptic feedback device. An actuator in a haptic feedback device is provided and includes a
`rotatable mass, and a drive signal is received at the haptic feedback device. The drive signal
`controls the actuator to oscillate the mass in two directions about an axis of rotation of the
`actuator suchthat the oscillation of the mass induces a vibration in the haptic feedback device.
`The magnitude and frequency of the vibration can be independently controlled by adjusting a
`magnitude and a frequency, respectively, of the drive signal.
`
`The mass of the actuator can be an eccentric mass, and the oscillation can be
`accomplished in a bi-directional mode, where a different drive signal is provided to the actuator
`in a uni-directional mode to rotate the eccentric mass in a single direction about the axis of
`rotation of the shaft. The uni-directional mode can be used to output high magnitude, low
`frequency vibrotactile effects, and the bi-directional mode can be used to output high frequency
`vibrotactile effects.
`The haptic feedback device can be a gamepad controller receiving
`commands from a host computer which determines when the vibration is to be output based on
`events occurring within a graphical environment implemented and displayed by the computer.
`
`25
`
`30
`
`Anotheraspect of the invention is concerned with a method for commanding a vibration
`for a haptic feedback device from a host computer that implements a graphical environment. An
`indication to output information to cause a haptic effect to be output to a user of the haptic
`feedback device. The indication is caused by an event orinteraction occurring in the graphical
`environment of the host computer.
`Information is provided to the haptic feedback device and
`includes a magnitude and a frequency that are independently adjustable. An actuator is caused to
`oscillate a mass about an axis of rotation in two directions to cause a vibration in the haptic
`feedback device, where a magnitude and a frequency of the vibration is based on the magnitude
`and frequency includedin the information. The indication to outputthe information can received
`by a force feedback driver program running on the host computer, or another software layer. The
`information provided to the haptic feedback device can be a command including parameters
`describing the magnitude and frequency, or can be a drive signal which is provided to the
`actuator.
`
`Docket No. IMMIPO86A
`
`3
`
`4
`
`
`
`
`
`In another aspect, a haptic feedback device provides vibrotactile sensations to a user, is
`coupled to a host computer and includes a housing and an actuator coupled to the housing and
`including a mass, wherein said mass can be rotated by the actuator. The device also includes a
`circuit for driving the actuator in two directions, the circuit receiving a drive signal and causing
`the actuator to oscillate the mass and induce a vibration in the housing. The vibration is
`experienced by the user as vibrotactile sensations. The mass can be an eccentric mass positioned
`offset on the rotating shaft. The circuit for driving the actuator can include an H-bridgecircuit or
`can include two linear amplifiers. The haptic feedback device can be a gamepad controller that
`receives information from the host which determines when the vibrotactile sensations are to be
`output based on events occurring within a graphical environment implemented and displayed by
`the host computer.
`
`The present invention advantageously provides a haptic feedback device that can output a
`wide variety of vibrotactile sensations. Both the frequency and amplitude of the vibrations can
`be controlled using bi-directional control features, allowing a much wider range of sensations to
`be experienced by the user than in the uni-directional prior art devices. Furthermore, the device
`is low in cost to produce andis thus quite suitable for home consumerapplications.
`
`These and other advantages of the present invention will become apparent to those skilled
`in the art upon a reading of the following specification of the invention and a study of the several
`figures of the drawing.
`
`10
`
`15
`
`20
`
`
`
`Docket No. IMM1P086A
`
`4
`
`5
`
`
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIGURE 1
`present invention;
`
`is a block diagram of a haptic feedback system suitable for use with the
`
`FIGURE 2ais a perspective view of one embodiment of a motor having an eccentric
`massthat is rotated to provide vibrations to an interface device;
`
`FIGURES 2b and 2c are top plan views of a motor and differently-shaped eccentric
`masses;
`
`FIGURE3is a graphillustrating a vibration magnitude vs. motor voltage for prior art
`devices;
`
`FIGURE4is a graph illustrating a vibration magnitude vs. frequency of oscillation of the
`eccentric or drive signal;
`
`
`
`
`
`
`
`FIGURE 5a is a schematic diagram illustrating a first example of a drive circuit which
`can be used to drive the actuator in bi-directional mode; and
`
`FIGURE 5bis a schematic diagram illustrating a second example of a drive circuit which
`can be used to drive the actuator in bi-directional mode.
`
`Docket No. IMMIPO86A
`
`5
`
`6
`
`
`
`
`
`DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
`
`is a block diagram illustrating a force feedback interface system 10 for use
`FIGURE 1
`with 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 can be any of a variety of computer systems, such as a home
`video game systems (game console), e.g. systems available from Nintendo, Sega, or Sony. Other
`types of computers may also be used, such as a personal computer (PC, Macintosh, etc.), a
`television “set top box” or a “network computer,” a workstation, a portable and/or handheld
`game device or computer, etc. Host computer system 12 preferably 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 or computer game, medical simulation,
`scientific analysis program, operating system, graphical user interface, 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 host application, or a driver program, API or other layer running on the host
`computer, preferably sends out information to cause haptic feedback to the user on the device 14,
`as described below, based on events or interactions occurring within the host application. For
`example, when a user-controlled vehicle collides with a fence in a game or simulation, a
`vibration can be output to the user to enhance the interactive experience of the collision.
`Similarly, when a user-controlled cursor moves onto another object such as an icon or text
`heading, vibrations can be used to inform the user of the interaction.
`
`10
`
`
`
`25
`
`30
`
`Host computer system 12 preferably includes a host microprocessor 16, a clock 18, a
`display screen 20, and an audio output device 21. Microprocessor 16 can be one or more of any
`of well-known microprocessors. Random access memory (RAM), read-only memory (ROM),
`and input/output (I/O) electronics are preferably also included in the host computer. Display
`screen 20 can be used to display images generated by host computer system 12 or other computer
`systems, and can be a standard display screen, television, CRT, flat-panel display, 2-D or 3-D
`display goggles, or any other visual interface. 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 and provides sound output to user 22 from the host computer 12.
`Other types of peripherals can also be coupled to host processor 16, such as storage devices (hard
`disk drive, CD ROM/DVD-ROM drive, floppy disk drive, etc.), communication devices,
`printers, and other input and output devices. Data for implementing the interfaces of the present
`
`Docket No. IMM1P086A
`
`6
`
`7
`
`
`
`disk, a CD-ROM or DVD-ROM,etc.
`
`An interface device 14 is coupled to host computer system 12 by a bi-directional bus 24.
`Interface device 14 can be a gamepad controller, joystick controller, mouse controller, steering
`wheel controller, or other device which a user may manipulate to provide input to the computer
`system and experience force feedback. The bi-directional bus sends signals in either direction
`between host computer system 12 and the interface device. An interface port of host computer
`system 12, such as an RS232 or Universal Serial Bus (USB)serial interface port, parallel port,
`game port, etc., connects bus 24 to host computer system 12. Alternatively, a wireless
`communication link can be used.
`
` invention can be stored on computer readable media such as memory (RAM or ROM), a hard
`
`Interface device 14 includes a local microprocessor 26, sensors 28, actuators 30, a user
`object 34, optional sensor interface 36, an actuator interface 38, and other optional input devices
`39. Local microprocessor 26 is coupled to bus 24 and is considered local to interface device 14
`and is dedicated to force feedback and sensor I/O of interface device 14. Microprocessor 26 can
`be provided with software instructions to wait for commandsor requests from computer host 12,
`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 12 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
`co-processor chips, and/or digital signal processor (DSP) capability.
`
`Microprocessor 26 can receive signals from sensors 28 and provide signals to actuators
`30 of the interface device 14 in accordance with instructions provided by host computer 12 over
`bus 24. For example, in a preferred 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 actuators in accordance with the high level
`commands and independently of the host computer 12. The force feedback system thus provides
`a host control loop of information and a local control loop of information in a distributed control
`system. This operation is described in greater detail in U.S. Patent No. 5,734,373, incorporated
`herein by reference. Microprocessor 26 can also receive commands from any other input devices
`39 included on interface apparatus 14, such as buttons, and provides appropriate signals to host
`computer 12 to indicate that the input information has been received and any information
`included in the input information. Local memory 27, such as RAM and/or ROM,can be coupled
`
`Docket No. IMM1P086A
`
`7
`
`8
`
`
`
` 10
`
`15
`
`
`
`25
`
`30
`
`35
`
`to microprocessor 26 in interface device 14 to store instructions for microprocessor 26 andstore
`temporary and other data (and/or registers of the microprocessor 26 can store data)..
`In addition,
`a local clock 29 can be coupled to the microprocessor 26 to provide timing data.
`
`Sensors 28 sense the position, motion, and/or other characteristics of a user
`manipulandum 34 of the interface device 14 along one or more degrees of freedom and provide
`signals to microprocessor 26 including information representative of those characteristics.
`Rotary or linear optical encoders, potentiometers, photodiode or photoresistor sensors, velocity
`sensors, acceleration sensors, strain gauge, or other types of sensors can be used. Sensors 28
`provide an electrical signal to an 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, these sensor signals can be used by the host computer to influence the
`host application program, e.g. to steer a race car in a game or move a cursor across the screen.
`
`One or more actuators 30 transmit
`
`forces to the interface device 14 and/or
`
`to
`
`manipulandum 34 ofthe interface device 14 in response to signals received from microprocessor
`26.
`In one embodiment, the actuators output forces on the housing of the interface device 14
`which is handheld by the user, so that the forces are transmitted to the manipulandum through the
`housing. Alternatively or additionally, actuators can be directly coupled to the manipulandum
`34. Actuators 30 can include two types: active actuators and passive actuators. Active actuators
`include linear current control motors, stepper motors, pneumatic/hydraulic active actuators, a
`torquer (motor with limited angular range), voice coil actuators, moving magnet actuators, and
`other types of actuators that transmit a force to move an object. Passive actuators can also be
`used for actuators 30, such as magnetic particle brakes, friction brakes, or pneumatic/hydraulic
`passive actuators. Active actuators are preferred in the embodiments of the present invention.
`Actuator interface 38 can be connected between actuators 30 and microprocessor 26 to convert
`signals from microprocessor 26 into signals appropriate to drive actuators 30, as is described in
`greater detail below.
`
`Other input devices 39 can optionally be included in interface device 14 and send input
`signals to microprocessor 26 or to host processor 16. Such input devices can include buttons,
`dials, switches, levers, or other mechanisms. For example, in embodiments where the device 14
`is a gamepad, the various buttons and triggers can be other input devices 39. Or, if the user
`manipulandum 34 is a joystick, other input devices can include one or more buttons provided, for
`example, on the joystick handle or base. Power supply 40 can optionally be coupled to actuator
`interface 38 and/or actuators 30 to provide electrical power. A safety switch 41 is optionally
`included in interface device 14 to provide a mechanism to deactivate actuators 30 for safety
`reasons.
`
`Docket No.
`
`IMM1IPO086A
`
`8
`
`9
`
`
`
` 10
`
`15
`
`20
`
`25
`
`30
`
`Manipulandum (or “user object”) 34 is a physical object, device or article that may be
`grasped (held in the hand between two or more fingers or in the palm) or otherwise contacted or
`controlled by a user and which is coupled to interface device 14. In some embodiments, the user
`22 can manipulate and move the manipulandum along provided degrees of freedom to interface
`with the host application program the user is viewing on display screen 20. Manipulandum 34 in
`such embodiments can be a joystick, mouse, trackball, stylus (e.g. at the end of a linkage),
`steering wheel, sphere, medical instrument (laparoscope, catheter, etc.), pool cue (e.g. moving the
`cue through actuatedrollers), hand grip, knob, button, or other object. Mechanisms can be used
`to provide degrees of freedom to the manipulandum, such as gimbal mechanisms, slotted yoke
`mechanisms, flexure mechanisms, etc. Various embodiments of suitable mechanisms are
`described in Patent Nos. 5,767,839; 5,721,566; 5,623,582; 5,805,140; 5,825,308; and patent
`applications serial nos. 08/965,720, 09/058,259, 09/156,802, 09/179,382, and 60/133,208; all
`incorporated herein by reference.
`
`In other embodiments, the haptic feedback can be output directly on the housing of a
`device, such as a handheld device. For example, the housing can be used for a gamepad, remote
`control, telephone, or other handheld device.
`In a gamepad embodiment, the housing of the
`gamepad can receive the vibrotactile feedback of the present invention, and a fingertip joystick or
`other control on the gamepad can be provided with separate haptic feedback, e.g. with motors
`coupled to the joystick mechanism to provide force feedback in the degrees of freedom of the
`joystick, and/or tactile feedback. Some gamepad embodiments may not include a joystick, so
`that manipulandum 34 can be a button pad or other device for inputting directions or commands
`to the host computer.
`
`Controlling Force Feedback Vibrations Using Bi-directional Motor Output
`
`The present invention provides more control over vibrotactile feedback using an actuator
`having a moving mass.
`In existing implementations, the moving mass is rotated by a rotary
`actuator, as described below.
`
`FIGURE 2a is a graph illustrating a DC rotary motor 100 that can be included in a
`handheld controller 14 or coupled to manipulandum 34 as actuator 30 for providing force
`feedback to the user of the controller 14 and/or manipulandum 34. Motor 100 includes a shaft
`102 that rotates about an axis A, and an eccentric mass 104 is rigidly coupledto the shaft 102 and
`thus rotates with the shaft about axis A.
`In one preferred embodiment, the housing 106 of the
`motor 100 is coupled to the housing of the interface device 14, e.g. the motor can be attached to
`the inside of the housing of a handheld gamepador other controller.
`In other embodiments, the
`
`Docket No. IMMIP086A
`
`9
`
`10
`
`10
`
`
`
`
`
`actuator can be coupled to a movable manipulandum, such as a joystick or mouse, or other
`member.
`
`Many different types and shapes of eccentric masses 104 can be used. As shown in
`FIGURE 2b, a wedge- or pie-shaped eccentric can be used, where one end of the eccentric is
`coupled to the shaft 102 so that most of the wedge extends to one side of the shaft. Alternatively,
`as shown in FIGURE 2c,a cylindrical or other-shaped mass 108 can be coupled to the shaft 102.
`The center 110 of the mass 108 is positioned to be offset from the axis of rotation A of the shaft
`102, creating an eccentricity parameter e that is determined by the distance between the axis of .
`rotation of the shaft 102 and the center of mass of the mass 108. The e parameter can be adjusted
`in different device embodiments to provide stronger or weaker vibrations, as desired. For
`example, the radial force due to the unbalanced rotating mass is given by F = m * w’2 * e, where
`m is the rotating mass, w is the angular velocity, and e is the eccentricity. This relationship
`predicts that greater magnitude is obtained by changing the eccentricity if the motor is driven
`constantly in one direction.
`
`Whenthe eccentric mass 104 is rotated by the motor 100, a vibration is induced in the
`motor and in any membercoupled to the motor due to the off-balance motion of the mass. Since
`the housing 106 of motor 100 is preferably coupled to a housing of a controller or to a movable
`manipulandum,
`the vibration is transmitted to the user that
`is holding the housing or
`manipulandum. One or more of motors 100 can be included in a device 14 to provide
`vibrotactile or other haptic feedback; for example, two motors may be used to provide stronger
`magnitude vibrations and/or vibrations in two different directions.
`
`FIGURE 3 is a graph 112 illustrating a uni-directional mode of the motor 100 similar to
`that used in currently-available devices of the prior art for outputting vibrotactile feedback, such
`as the Sony DualShock controller.
`In this mode, the motor is controlled by a voltage value to
`rotate the eccentric mass in one direction about the axis of rotation of the shaft. For example, a
`local microprocessor can output a voltage directly to the motor, or an actuator interface can
`provide the desired voltage value to the motor 100. Typically, an on-off drive voltage signal is
`used, where the duty cycle ofthe drive signal indicates the actual voltage seen across the motor.
`
`The graph 112 shows the relationship between voltage (the horizontal axis) and
`acceleration on the surface of the housing of the controller device 14 (the vertical axis). A top
`portion and a side portion of the housing are areas where the acceleration has been measured for
`this graph, as indicated by the different curves; in addition, a large eccentric mass and a smaller
`eccentric mass were used. The magnitude of acceleration is indicative of the magnitude of
`vibration as experienced by the user. As shown,
`the vibration increases in magnitude
`proportionally with the magnitude of voltage used to control the motor.
`
`10
`
`
`
`25
`
`30
`
`35
`
`Docket No. IMMIP086A
`
`10
`
`11
`
`11
`
`
`
` Prior art gamepad controllers, such as the Sony Dual-Shock™ or the Dual Impact by
`
`FIGURE4is a graph 120 illustrating the output results of a bi-directional mode of the
`present invention of the motor 100 for outputting vibrotactile feedback.
`In this mode, the motor
`is controlled by a drive waveform that changes between positive and negative signs, thereby
`changing the direction of rotation of the motor shaft 102 in accordance with the waveform.
`In
`the preferred method ofoperation, the eccentric mass 104 never completes a full rotation, but is
`instead controlled to oscillate approximately about a single point in its range of motion (a forced
`harmonic). The eccentric mass thus travels through only a portion of the full range of motion of
`the shaft before it changes direction and movesin the opposite direction. This causes a vibration
`in the motor and in any member or housing coupled to the motor as the mass is quickly moved
`back and forth. In practice, it has been found that a minimum frequency must be provided for the
`eccentric mass to oscillate about a single point; below that natural frequency of the eccentric
`mass, the mass will tend to shift about the rotational range of the actuator as it oscillates. The
`natural frequency is determined by the spring constant of the inherent cogging effect (reluctance
`force) of the motor.
`
`Docket No. IMM1P086A
`
`11
`
`12
`
`Performance,use the uni-directional mode to provide vibrotactile feedback to a controller held by
`the user. An advantage of this mode is that strong vibrations can be provided to the user.
`However, the strength of the vibrations is directly tied to the frequency of the vibration,i.e. the
`revolutions-per-minute of the eccentric mass about the shaft’s axis of rotation, so that the higher
`the frequency, the higher the vibration magnitude. Thus, a high frequency, low magnitude
`vibration cannot be output from these devices.
`Similarly, a low frequency, high strength
`vibration cannot be output for a particular mass and eccentricity.
`
`The graph 120 showsthe relationship for several motors between frequencyofoscillation
`of the eccentric or drive signal (the horizontal axis) and acceleration on the top surface of the
`housing of the controller device 14 (the vertical axis). As shown in the graph, for most of the
`motors shown, a higher frequency of oscillation causes a lower magnitude of vibration, while a
`lower frequency of oscillation causes a higher magnitude of vibration. The dynamic range of
`control is much greater in bi-directional mode than in uni-directional mode. The results shown in
`graph 120 were obtained using a current-controlled linear amplifier; however, a voltage-
`controlled amplifier can also be used, and/or a switching amplifier can be used as shown in Fig.
`5a. The drive waveform can be a current waveform or a voltage waveform, depending on the
`particular amplifier circuit and other circuitry used in a particular implementation.
`
`The drive waveform can be supplied by a local controller or circuitry, such as
`microprocessor 26, by an actuator interface 38, or the host computer 12 can directly supply the
`voltage (using an amplifier) or a command to supply a desired voltage. For example, a force
`
`12
`
`
`
` 10
`
`30
`
`35
`
`
`
`
`25
`
`feedback driver program, API, or application program (or other software layer) running onthe
`host computer can provide an actuator command having independently-controllable magnitude
`and frequency parameters, where the commandis provided in responseto an event or interaction
`in the graphical environment provided by the host. The local microprocessor or other circuitry
`can receive the command and parameters and,
`in response, provide a drive signal of the
`appropriate frequency or magnitude to the actuator(s). Alternatively, a host computer program
`can provide a drive signal directly to the device and actuator(s).
`
`The curves shown in graph 120 are at a maximum amplitude of drive waveform for the
`motor(i.e. the maximum current which wasusedto drive the motors in the test resulting in graph
`120).
`If a lower amplitude drive waveform is used, then the magnitude of vibration output is
`correspondingly lower. This allowsthe controller of the drive waveform to adjust the magnitude
`of vibration to a desired level within the allowed magnitude range by adjusting the current
`magnitude of the waveform. The controller can also adjust the frequency of the drive waveform
`independently of the amplitude of the drive waveform to adjust the frequency of vibration. This
`allows different frequency vibrations to be output independently of the magnitude of those
`vibrations, thereby providing a degree of control over the vibration that is not possible in uni-
`directional mode.
`
`Although the maximum magnitude of vibration (acceleration) in bi-directional mode is
`less than the maximum vibration magnitude that can be output in uni-directional mode, the
`advantage of independently controllable magnitude and frequency of vibration allows a great
`many haptic feedback effects to be generated that are not possible in uni-directional mode.
`In
`uni-directional mode, a vibration can be made strong by increasing the voltage and thus the
`frequency ofrotation of the eccentric mass. However, the strength of vibration must always be
`associated with a corresponding frequency, causing a similar feel to the user each time a
`particular-strength of vibration is output.
`In bi-directional mode, a two vibrations may be of
`similar magnitude but completely different frequencies, or, have the same frequencies but
`different magnitudes. This creates a large variety of vibration sensations which can be output to
`the user.
`
`In one optimized embodiment, both uni-directional mode and bi-directional mode are
`used in a single hybrid controller device 14. A motor 100 that is configured to operate in bi-
`directional mode maybe able to operate in uni-directional mode,e.g. a voltage controlled bridge
`circuit may be able to drive the motor in both modes (a current-controlled motor is not as
`appropriate for uni-directional mode).
`In some embodiments, an amplifier that can operate as a
`voltage control amplifier for uni-directional mode and as a different amplifier (e.g. current
`controlled) for bi-directional mode can be used; or, two different amplifiers can be used which
`
`Docket No. IMMIPO86A
`
`12
`
`13
`
`13
`
`
`
`
`
`can be alternatively selected, where the appropriate amplifier is selected based on the current
`mode. Since uni-directional mode can offer vibrations of higher magnitud