`a2) Patent Application Publication (10) Pub. No.: US 2005/0219206 Al
`(43) Pub. Date: Oct. 6, 2005
`
`Schenaet al.
`
`US 20050219206A1
`
`(54) CONTROLLING VIBROTACTILE
`SENSATIONS FOR HAPTIC FEEDBACK
`DEVICES
`
`(60) Provisional application No. 60/142,155,filed on Jul.
`1, 1999,
`
`Publication Classification
`
`(76)
`
`Inventors: Bruce M. Schena, Menlo Park, CA
`(US); Erik Shahoian, San Ramon, CA
`(US)
`
`Correspondence Address:
`COOLEY GODWARD LLP
`ATTN: PATENT GROUP
`11951 FREEDOM DRIVE, SUITE 1700
`ONE FREEDOM SQUARE- RESTON TOWN
`CENTER
`RESTON, VA 20190-5061 (US)
`
`(21) Appl. No.:
`
`10/949,467
`
`(22)
`
`Filed:
`
`Sep. 27, 2004
`
`Related U.S. Application Data
`
`(63) Continuation-in-part of application No. 09/608,125,
`filed on Jun. 30, 2000, now abandoned.
`
`(SL) Ute C7 accccccscssssssssssssesnsenssstsesnen G09G 5/00
`(52) US. Che
`esssssssssssenssssisttntsnsessststtntnneeete 345/156
`
`(57)
`
`ABSTRACT
`
`Method and apparatusfor controlling vibrotactile sensations
`for haptic feedback devices. An actuator in a haptic feedback
`device includes a rotatable eccentric mass, and information
`is received at the haptic feedback device causing a drive
`signal. The drive signal controls the actuator to oscillate the
`mass in two directions about an axis of rotation of the
`actuator such that 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 vibrations can also be provided in a
`bi-directional mode or uni-directional mode to provide the
`most efficient magnitude of the vibrotactile sensations. The
`haptic feedback device can be, for example, a gamepad
`controller receiving commands from a host computer pro-
`viding a graphical environment.
`
`weefe
`
`
`
`Haptic Feedback
`Interface Device 14
`
`
`
`
`
`
`
`
`Sensors
`28
`
`venceeseseess Manipulandum
`34
`
`-4
`
`op)<= 3a<= :—OQ
`
`APPLE 1039
`
`1
`
`APPLE 1039
`
`
`
`|! Memory
`
`:|OtherInput
`
`Manipulandum }...1.Feel.}
`!
`1}
`27
`39
`orereersreeny
`34
`1Manip-
`—
`' ulate}
`one
`Naneeeeneseceeeeees el|
`Actuator
`Safely
`Actuators
`
`|{
`
`
`
`Interface 38]“|Switch 41 30
`
`Patent Application Publication Oct. 6, 2005 Sheet 1 of 5
`
`US 2005/0219206 Al
`
`Host Computer System 12
`Hear
`System Clock
`Audio Output
`18
`Device 21. [0pes
`!
`
`\
`
`!
`!
`!
`Display Device
`Host Processor
`!
`! a oa
`
`1
`
`View
`fooo
`
`!
`\
`pofeTT TT Tener seeccsauoccseccescrcrsrerererrcereessso
`eee eee eeeftee ee ee ee ee eea ee eee ee + -|
`
`i i a a a i a aa a a a a a a a a a aa a a a a ae ae ae ae gee ee ee
`Haptic Feedback
`Interface Device 14
`
`!
`
`!
`
`Local Processor
`26
`
`:
`
`|
`
`Sensor
`Inter-face 36
`
`Sensors
`28
`
` eyeee
`
`IIII!I|
`
`2
`
`
`
`Patent Application Publication Oct. 6, 2005 Sheet 2 of 5
`
`US 2005/0219206 Al
`
`FIG. 2A
`
`Axis of
`Rotation
`
`106
`
`104
`
`FIG. 2B S|
`
`
`3
`
`
`
`Patent Application Publication Oct. 6, 2005 Sheet 3 of 5
`
`US 2005/0219206 Al
`
`i 112
`
`7
`Vibration Magnitude vs. Motor Voltage
`Uni-directional Mode
`
`Acceleration(gpeak-peak)
`
`HousingSurface
`
`0
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`Motor Voltage (Volts)
`
`-* Left - large mass, top surface
`-® Left - large mass, side surface
`-4- Right - small mass, top surface
`
`—- Right - small mass, side surface
`
`FIG. 3
`
`4
`
`
`
`Patent Application Publication Oct. 6, 2005 Sheet 4 of 5
`
`US 2005/0219206 Al
`
`Actuator Comparison
`
`Actuators wiEccentric Mass
`Bi-directional Mode
`
`‘a120
`
`Acceleration(gpeak-peak)
`
`
`
` HousingVertical
`
`1
`
`10
`
`Frequency (Hz)
`
`100
`
`1000
`
`—* Large motor - 4.5 Watts
`-&- Large motor - 2.9 Watts
`-# Small motor - 0.36 Watts
`
`-# Linear Actuator - 7.2 Watts
`
`FIG. 4
`
`5
`
`
`
`Patent Application Publication Oct. 6, 2005 Sheet 5 of 5
`
`US 2005/0219206 Al
`
`+12V
`
`yn
`
`?
`
`Wwe
`
`\=
`
`=
`
`6
`
`
`
`US 2005/0219206 Al
`
`Oct. 6, 2005
`
`CONTROLLING VIBROTACTILE SENSATIONS
`FOR HAPTIC FEEDBACK DEVICES
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`[0001] This application is a Continuation-in-Part of U.S.
`application Ser. No. 09/608,125, filed Jun. 30, 2000, which
`claims the benefit of U.S. Provisional Application No.
`60/142,155, filed Jul. 1, 1999,entitled, “Providing Vibration
`Forces in Force Feedback Devices,” each of which is
`incorporated by reference herein in its entirety.
`BACKGROUND OF THE INVENTION
`
`[0002] The present inventionrelates generally to produc-
`ing forces in haptic feedback interface devices, and more
`particularly to the output and control of vibrations and
`similar force sensations from actuators in a haptic feedback
`interface device.
`
`[0003] 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 (GUI), 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 someinterface devices, force feedback ortactile
`[0004]
`feedback is also provided to the user, also known more
`generally herein as “haptic feedback.” These types of inter-
`face devices can provide physical sensations whichare 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 interactions on the
`host by sending control signals or commandsto the haptic
`feedback device and the actuators.
`
`[0005] 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 sophis-
`ticated haptic feedback. One or more motors are mounted in
`the housing of the devices and are energized to provide the
`vibration forces. An eccentric massis positioned on the shaft
`of each motor, and the shaft is rotated quickly to cause the
`motorand the housing of the device to vibrate. One problem
`with these currently-available implementations of vibration
`haptic feedback devices is that the vibrations that these
`implementations produce are limited.
`SUMMARYOF THE INVENTION
`
`invention is directed to controlling
`[0006] The present
`vibrotactile sensations in haptic feedback devices which are
`interfaced with a host application program. The present
`invention allows more varied and complex sensations to be
`provided using inexpensive electronics and mechanical
`parts.
`
`[0007] Morespecifically, 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 such that the oscillation of the
`
`mass induces a vibration in the haptic feedback device. The
`magnitude and frequency of the vibration can be indepen-
`dently controlled by adjusting a magnitude and a frequency,
`respectively, of the drive signal.
`
`[0008] The mass ofthe 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 com-
`puter which determines when the vibration is to be output
`based on events occurring within a graphical environment
`implemented and displayed by the computer.
`
`[0009] Another aspect 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 or interaction
`occurring in the graphical environmentof the host computer.
`Information is provided to the haptic feedback device and
`includes a magnitude and a frequencythat are independently
`adjustable. An actuatoris 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
`included in the information. The indication to output the
`information can be 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.
`[0010]
`In another aspect, a haptic feedback device pro-
`vides 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 includesa 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
`experiencedbythe 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-bridge circuit 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.
`
`{0011] The present invention advantageously provides a
`haptic feedback device that can output a wide variety of
`
`7
`
`
`
`US 2005/0219206 Al
`
`Oct. 6, 2005
`
`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
`and is thus quite suitable for home consumerapplications.
`
`[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 drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0013] FIG. 1 is a block diagram of a haptic feedback
`system suitable for use with the present invention;
`
`FIG.2ais a perspective view of one embodiment
`[0014]
`of a motor having an eccentric massthatis rotated to provide
`vibrations to an interface device;
`
`{0015] FIGS. 2b and 2c are top plan views of a motor and
`differently-shaped eccentric masses;
`
`FIG.3 is a graph illustrating a vibration magnitude
`{0016]
`vs. motor voltage for prior art devices;
`
`FIG.4 is a graph illustrating a vibration magnitude
`{0017]
`vs. frequency of oscillation of the eccentric or drive signal;
`
`[0018] FIG. 5a is a schematic diagram illustratinga first
`example of a drive circuit which can be used to drive the
`actuator in bi-directional mode; and
`
`[0019] FIG. 5b is a schematic diagram illustrating a
`second example ofa drive circuit which can be usedto drive
`the actuator in bi-directional mode.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`[0020] FIG. 1 is a block diagram illustrating a force
`feedback interface system 10 for use with the present
`invention controlled by a host computer system. Interface
`system 10 includes a host computer system 12 and an
`interface device 14.
`
`[0021] Host computer system 12 can be any of a variety of
`computer systems. 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 work-
`station, a portable and/or handheld game device or com-
`puter, etc. Host computer system 12 preferably implements
`a host application program with which a user 22 is inter-
`acting via peripherals and interface device 14. For example,
`the host application program can be a video or computer
`game, medical simulation, scientific analysis program, oper-
`ating 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, whena 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 colli-
`
`sion. Similarly, when a user-controlled cursor moves onto
`another object such as an iconortext heading,vibrations can
`be used to inform the user of the interaction.
`
`[0022] 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 micro-
`processor 16 via amplifiers, filters, and other circuitry well
`knownto 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,print-
`ers, and other input and output devices. Data for implement-
`ing the interfaces of the present invention can be stored on
`computer readable media such as memory (RAM or ROM),
`a hard disk, a CD-ROM or DVD-ROM, etc.
`
`[0023] 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 control-
`ler, 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.
`
`Interface device 14 includes a local microprocessor
`[0024]
`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 com-
`puter host 12, decode the commandorrequest, 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 sensorsignals
`and calculating appropriate forces from those sensor signals,
`time signals, and stored or relayed instructions selected in
`accordance with a host command. Suitable microprocessors
`for
`use
`as
`local microprocessor
`26
`include
`the
`MC68HC711E9 by Motorola, the PIC16C74 by Microchip,
`and the 82930AX by Intel Corp., for example. Micropro-
`cessor 26 can include one microprocessor chip, or multiple
`processors and/or co-processor chips, and/or digital signal
`processor (DSP) capability.
`
`[0025] Microprocessor 26 can receive signals from sen-
`sors 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
`
`8
`
`
`
`US 2005/0219206 Al
`
`Oct. 6, 2005
`
`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. Pat. 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 to microprocessor 26 in
`interface device 14 to store instructions for microprocessor
`26 and store temporary and other data (and/orregisters of the
`microprocessor 26 can store data). In addition,a local clock
`29 can be coupled to the microprocessor 26 to provide
`timing data.
`
`[0026] 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 repre-
`sentative of those characterisics. Rotary or linear optical
`encoders, potentiometers, photodiode or photoresistor sen-
`sors, velocity sensors, acceleration sensors, strain gauge, or
`other types of sensors can be used. Sensors 28 provide an
`electrical signal to an optional sensorinterface 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 movea cursoracross the
`screen.
`
`[0027] One or more actuators 30 transmit forces to the
`interface device 14 and/or to manipulandum 34 of the
`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 addi-
`tionally, actuators can be directly coupled to the manipu-
`landum 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 actua-
`tors, 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.
`
`[0028] Other input devices 39 can optionally be included
`in interface device 14 and send input signals to micropro-
`cessor 26 or to host processor 16. Such input devices can
`include buttons, dials, switches,
`levers, or other mecha-
`nisms. 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.
`
`[0029] 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 joy-
`stick, 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 actu-
`ated rollers), 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 mechanismsare described in U.S.
`Pat. Nos. 5,767,839; 5,721,566; 5,623,582; 5,805,140;
`5,825,308; and patent application Ser. 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
`[0030]
`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
`gamepadcan 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 com-
`mands to the host computer.
`
`Controlling Force Feedback Vibrations Using
`Bi-Directional Motor Output
`
`[0031] The present invention provides more control over
`vibrotactile fecdback using an actuator having a moving
`mass.
`In existing implementations,
`the moving mass is
`rotated by a rotary actuator, as described below.
`
`[0032] FIG. 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 104is rigidly
`coupled to 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 gamepad or other controller. In other embodi-
`
`9
`
`
`
`US 2005/0219206 Al
`
`Oct. 6, 2005
`
`ments, the actuator can be coupled to a movable manipu-
`landum, such as a joystick or mouse, or other member.
`
`types and shapes of eccentric
`[0033] Many different
`masses 104 can be used. As shown in FIG.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 FIG. 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
`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*’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 motoris driven constantly in
`one direction.
`
`[0034] When the eccentric mass 104 is rotated by the
`motor 100, a vibration is induced in the motor and in any
`member coupled to the motor due to the off-balance motion
`of the mass. Since the housing 106 of motor 100 is prefer-
`ably 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 vibra-
`tions and/or vibrations in two different directions.
`
`FIG.3 is a graph 112 illustrating a uni-directional
`[0035]
`modeof the motor 100. In this mode, the motoris controlled
`by a voltage value to rotate the eccentric mass in one
`direction aboutthe axis of rotation of the shaft. For example,
`a local microprocessor can oulpul 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 of the drive
`signal indicates the actual voltage seen across the motor.
`
`[0036] The graph 112 showsthe 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 eccen-
`tric 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.
`
`[0037] Prior art devices 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.
`
`[0038] FIG. 4 isa graph 120illustrating 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 of operation,the
`eccentric mass 104 never completes a full rotation, but is
`instead controlled to oscillate approximately abouta single
`point
`in its range of motion (a forced harmonic). The
`eccentric mass thus travels through only a portion ofthe full
`range of motion of the shaft before it changes direction and
`moves in 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 massto 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
`actuatoras it oscillates. The natural frequency is determined
`by the spring constant of the inherent cogging effect (reluc-
`tance force) of the motor.
`
`[0039] The graph 120 showsthe relationship for several
`motors between frequency of oscillation 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 shownin the graph, for most of the motors
`shown, a higher frequency of oscillation causes a lower
`magnitude of vibration, while a lower frequency ofoscilla-
`tion 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 implementa-
`tion.
`
`[0040] 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 feedback
`driver program, API, or application program (or other soft-
`ware layer) running on the host computer can provide an
`actuator command having independently-controllable mag-
`nitude and frequency parameters, where the commandis
`provided in response to 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).
`
`[0041] The curves shownin graph 120 are at a maximum
`amplitude of drive waveform for the motor (i.e. the maxi-
`mum current which was used to drive the motors in thetest
`resulting in graph 120). If a lower amplitude drive waveform
`is used, then the magnitude of vibration output is corre-
`spondingly lower. This allows the 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,
`
`10
`
`10
`
`
`
`US 2005/0219206 Al
`
`Oct. 6, 2005
`
`thereby providing a degree of control over the vibration that
`is not possible in uni-directional mode.
`
`[0042] Although the maximum magnitude of vibration
`(acceleration) in bi-directional mode is less than the maxi-
`mum vibration magnitude that can be output in uni-direc-
`tional 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 of rotation 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, two vibrations may be of similar mag-
`nitude 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
`[0043]
`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 may be 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-directi