WO1999040504A9 - System and method for vibro generations - Google Patents

System and method for vibro generations

Info

Publication number
WO1999040504A9
WO1999040504A9 PCT/IL1999/000066 IL9900066W WO9940504A9 WO 1999040504 A9 WO1999040504 A9 WO 1999040504A9 IL 9900066 W IL9900066 W IL 9900066W WO 9940504 A9 WO9940504 A9 WO 9940504A9
Authority
WO
WIPO (PCT)
Prior art keywords
vibro
data
signal
computer
output
Prior art date
Application number
PCT/IL1999/000066
Other languages
French (fr)
Other versions
WO1999040504A1 (en
Inventor
Ehud Baron
Michael Mordison
Original Assignee
Inmotion Technologies Ltd
Ehud Baron
Michael Mordison
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inmotion Technologies Ltd, Ehud Baron, Michael Mordison filed Critical Inmotion Technologies Ltd
Priority to EP99902805A priority Critical patent/EP1053520A1/en
Priority to AU22977/99A priority patent/AU2297799A/en
Publication of WO1999040504A1 publication Critical patent/WO1999040504A1/en
Publication of WO1999040504A9 publication Critical patent/WO1999040504A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/015Force feedback applied to a joystick

Definitions

  • the invention relates generally to a system and method for the generation of physical sensations for human perception and interaction and more particularly to the generation of human perceivable physical sensations as all or part of a multimedia experience and the generation of a channel for activating actuator to create such sensations.
  • Force output devices such as are used in force feedback systems have long been used to provide sensory cues to enhance the experience of a user playing computer or video games.
  • a scene is depicted on a display or other visual output device.
  • a user will often react or respond to situations or cues presented by the game. Additionally, sound in the form of sound effects and music may be added to the experience to make it more enjoyable and/or to provide feedback or to signal information to the user.
  • force or haptic devices are also used to enhance the experience of a user playing such games.
  • One device commonly used to output a force to a user is a force output device incorporated as part of a force feedback system in a force feedback joystick.
  • the force output device of a force feedback joystick is used to provide haptic output for the game related to situations being depicted in the game.
  • a force output device in a force feedback joystick may cause a slight force to be applied to the joystick handle as the user actuates the gun during the game.
  • This force feedback provides extra depth to the experience for the user playing the game and also signals to the user that the gun has been fired as part of the game.
  • the absence of the characteristic force can be used to signal the user that the character in the game is out of ammunition.
  • force feedback devices such as a force feedback joystick
  • a force feedback joystick operate by receiving a short command that necessitates the use of processors and force memories resident in the force output device.
  • these force feedback joysticks even though they are connected to a computer, require that a processor and possible memory for storing force output effects be included in the force output device. This drives up the price of such force output devices and may limit the force effects they can output to those stored in the memory.
  • What is needed is a system and method for generating force or other physical sensation for output (collectively called "vibro" output) to be experienced by a user, which can use existing data storage and/or processing resources and protocols on a computer or other output device. Additionally what is needed is a vibro output device that does not require a processor or vibro effect memory to be included in the vibro output device.
  • the invention uses the output resources of a system that are conventionally used to output signals to speakers to create sound. These output resources are used to stream force, or more generally vibro output effects (or equivalently vibro output or vibro effects) directly to a vibro output device without relying on a processor or memory embedded in the vibro output device to generate or store vibro effects.
  • the data streamed to the vibro output device is instead generated by a vibro generation device or vibro server and is implemented as a continuous stream of vibro samples through an analog or digital line to the vibro output device.
  • the streaming of vibro data to or from a vibro input or output device over a high speed link allows the processing of vibro command or effects by a processor and/or memory located remotely from the vibro input or output device.
  • the resulting larger volume of data remotely generated can be efficiently transmitted to or from the vibro input or output device over the high speed link.
  • This allows the vibro input or output device to operate without processors or memory for generating or storing large volumes of vibro data.
  • the vibro input or output device instead to leverages off of remotely located processors and memory, reducing the cost of the vibro input or output device.
  • the stream of vibro data is implemented in a way similar to the processes used for streaming audio data.
  • Each sample provides information about the desired vibro output at a particular point in time.
  • Vibro data in a vibro data signal contains all the information necessary to produce a vibro output in an actuator in a vibro output device.
  • the vibro output device does not need to have a processor or memory to store or process vibro information.
  • Vibro commands contain information about the vibro effects to be output but the vibro command itself does not contain the data necessary to generate the vibro output in an actuator.
  • a vibro input device streams vibro data into a vibro server.
  • the vibro data can be stored as a vibro file, or output to a vibro output device to provide vibro communications.
  • Stored vibro files can be processed and sent to a vibro output device as desired.
  • Vibro effects can also be created using predefined vibro function libraries.
  • the vibro server can then parse the vibro functions and create vibro data for a vibro wave for each vibro function. These vibro waves can then be mixed and sent to a vibro output device or stored as vibro files.
  • the vibro server communicates with the vibro input and vibro output devices over a transport medium.
  • the transport medium is implemented using a digital cable such as a
  • USB Universal Serial Bus
  • a vibro input device is any device that produces a vibro input including vibro recording devices such as vibro microphones, vibro sensors, devices for recording voice or other sound data or information, vibro feedback devices such as vibro joysticks, a position, velocity and/or acceleration sensor coupled to a pen or other writing implement.
  • vibro recording devices such as vibro microphones, vibro sensors, devices for recording voice or other sound data or information
  • vibro feedback devices such as vibro joysticks, a position, velocity and/or acceleration sensor coupled to a pen or other writing implement.
  • any device that produces an output signal related to a position, vibro or vibration signal applied to the input device can be used as a vibro input device.
  • Vibro output devices include any device that can generate a vibro effect that can be sensed by a user.
  • Vibro output devices include but are not limited to vibrating devices such as chairs or plates, motion simulation devices such as vibro feedback joysticks and steering wheels, and tactile devices such as a vibro glove, smell/odor producing or spraying devices, and fans.
  • Vibro server includes any device that either processes vibro input, generates vibro output from stored vibro files or a vibro library, or creates vibro data.
  • the vibro server can then send the vibro data to a vibro output device to be sensed by a user.
  • a vibro server can be implemented on any computer or processor such as a personal computer.
  • a vibro server can be combined with a vibro input or output device to create a vibro enabled unit such as a vibro television, a vibro telephone for two-way vibro communication, or a vibro computer.
  • any embodiment that uses the term "vibro” includes as a special case “force.”
  • One embodiment of the present invention is directed to a vibro output device such as a vibro feedback joystick connected to a computer.
  • the vibro data output to the vibro output device is processed and manipulated using sound or audio processes, protocols and connections in the computer.
  • the data for generating a vibro effect on the vibro output device is stored in memory in the computer.
  • the memory may further contain a library of different vibro effects indexed as a vibro effects library.
  • the vibro output device functions as follows.
  • the game program When a user playing, for example, a vibro enabled game on the computer encounters a situation in the game in which it is desired that one or more vibro effects to be output to the vibro output device, the game program generates one or more vibro commands representing the desired vibro effect(s).
  • the appropriate data for generating the vibro output on the vibro output device are obtained from the memory or generated.
  • This data which can be stored in the memory in a format used to generate sound by the computer, is sent to a sound card and converted into a format suitable for transmission on a USB.
  • the data is then sent by the sound card on a USB to a vibro output device.
  • the data When the data is received by the vibro output device it is converted into a format suitable to drive the vibro actuator in the vibro output device and sent to the actuator.
  • a vibro output device in accordance with the invention comprises a housing, a movable member coupled to the housing wherein the motion of the movable member in the at least one degree of freedom is capable of being sensed by a user, and a vibro data signal input port.
  • a signal converting resource for converting a vibro data signal into an actuator driver data signal such as the actuator driver data signal includes substantially the same vibro effect information as the vibro data signal is electrically coupled to the vibro data input port.
  • An actuator is electrically coupled to the signal converting resource and mechanically coupled to the movable member and the housing for applying a vibro effect to the movable member in the at least one degree of freedom.
  • the signal converting resource can be an ASIC or any other electronic circuit configured to receive the vibro data signal from a USB and convert it into a format suitable to drive an actuator.
  • Suitable actuators include but are not limited to electric motors, piezoelectric materials such as a piezoceramic element, or any other device or system that converts electrical energy to mechanical energy.
  • the actuator can apply a vibro effect to the movable member, or in some cases the movable member is not necessary and the actuator is directly sensed by the user.
  • Another embodiment of the invention is a method for controlling a vibro effect generated on a vibro output device wherein the vibro output device includes an object capable of motion in at least one degree of freedom.
  • the method comprises receiving a signal containing vibro data, converting the vibro data signal into an actuator driver data signal and generating the vibro on the object capable of motion in at least one degree of freedom using the actuator driver data signal wherein the generated vibro output is substantially determined by the vibro data.
  • the vibro data signal is received from a computer on a USB.
  • the vibro data signal is received over a telephone line through the Internet.
  • the vibro data signal is received from a vibro server through the Internet.
  • the vibro data signal is received from a television, a video playback device such as a VCR or DVD player, or a vibro data generator coupled to a movie projector or any other vibro enabled device.
  • the device includes an actuator for generating the vibro output.
  • the actuator is coupled to a movable member, the movable member capable of motion in at least one degree of freedom.
  • the actuator is responsive to analog or digital electrical signals input into the vibro output device from an external source. Suitable actuators useful for embodiments of the invention include but are not limited to piezoceramic motors, and electric motors.
  • at least a portion of the electrical signal includes a vibro data signal.
  • the electrical signal includes a modulated audio signal that has been converted to a vibro data signal.
  • the vibro output device includes an electrical connector for transmitting the electrical signal representing the vibro data from a device capable of outputting vibro data signals to the actuator.
  • the electrical connector includes but is not limited to a standard earphone or loudspeaker plug.
  • the device capable of outputting vibro data signals to the actuator can include, but is not limited to a vibro input device in which a user applies vibro input to the input device and the vibro inputs are converted into a signal related to the user applied vibro input.
  • Other devices suitable for outputting signals that can be converted into vibro data signals include video game devices, computers, televisions, radios, video disc players, video cassette machines such as VCRs, or any other device capable of producing an electrical signal for driving a sound producing device.
  • Yet another embodiment of the invention is a vibro output system including a processor and memory, the memory being coupled to the processor.
  • An output interface device is coupled to the processor, the output interface device being capable of producing analog voltage signals.
  • the output interface device is coupled to a vibro output device.
  • the vibro output device includes a housing and an actuator, the actuator being responsive to the analog voltage signals.
  • the analog voltage signals are in the frequency range between about 0 Hz and about 18 Hz (non-audible frequency), about 0 Hz and about 40 Hz, about 0 Hz and about 200 Hz, about 0 Hz and about 400 Hz, or any range subsumed therein, or signals in the aforementioned frequency ranges modulated or encoded on a carrier frequency and converted to a signal suitable to drive the actuator.
  • the actuator includes a crystal for generating a vibro output using the piezoelectric effect.
  • the crystal can be a piezoceramic crystal.
  • Yet another embodiment includes a vibro input/output device to both generate haptic output and sense a user
  • N-dimensional input and output (where N is an integer equal to or greater than 1).
  • Another embodiment of the invention includes two or more vibro input/output devices connected to each other to allow one device to reproduce a user's movements of the other device.
  • Vibro data signals alone, modulated on an audio signal, or digitally encoded can be coupled to vibro output devices through transmission media including but not limited to an analog or digital communication line using a wire line or wireless connection, radio waves, microwaves, infrared, the Internet, or signals imposed on and picked off of power lines using, for example inductive coupling.
  • the signal which includes the vibro data is converted to the appropriate format for transmission through the selected channel (e.g. for communication through the Internet, any of the standard sound file formats can be used such as.wav), the signal is then transmitted through the channel, received at the other end (converted to an electrical signal, if necessary), converted to vibro data signal and fed to the one or more actuators of the vibro output device.
  • the vibro output device includes a chair or seat configured to impart haptic sensations to a user sitting on the chair or seat.
  • the actuators used to create the haptic sensation may include but are not limited to piezoceramic actuators, electric motors, pairs of these motors configured to produce specified sets of motions such as pitch and yaw and/or orthogonal x and y motions.
  • Still another embodiment of the invention is a vibro server system comprising a vibro storage and syntheses resource, a resource for receiving a vibro command and identifying or generating vibro data in the vibro storage and syntheses resource corresponding to the vibro command, and a resource for transmitting the vibro data on a network.
  • a first server which may be a gaming server, is coupled to a network such as the Internet.
  • One or more users coupled to a network such as the Internet access the first server through the network to, for example, play a computer game.
  • the first server is coupled to a vibro server which may reside on the same computer or a different computer coupled to the computer on which the first server resides through a direct connection, a network, or the Internet.
  • a vibro command is sent to the vibro server.
  • the vibro command represents the vibro effect of a character in the game hitting a wall.
  • the vibro server locates or generates the vibro data for this vibro output in the vibro storage and syntheses resource in the vibro server and synchronizes the vibro data to the gaming data and send it through the network to the user whose character bumped the wall.
  • a vibro output device coupled to the network receives the vibro data and outputs a vibro output which the user can experience.
  • Figure 1 is a block diagram illustrating an embodiment of a vibro-tactile device.
  • Figure 2 is a block diagram illustrating an embodiment of a vibro-tactile device.
  • Figure 3 illustrates various embodiments of actuators.
  • Figure 4 is a diagram illustrating the waveforms at various locations in the vibro-tactile device
  • Figure 5 is one embodiment of an electronic circuit of an AVC.
  • Figure 6 is a typical frequency response of one embodiment of such an AVC.
  • Figure 7 is a schematic representation of one embodiment of a typical audio signal, where the carrier frequency is 1000 Hz, and the modulating frequency is 10 Hz.
  • Figure 8 shows the corresponding vibro signal, after passing the signal depicted in Figure 10 through the AVC shown in Figure 5.
  • Figure 9 is a block diagram illustrating an embodiment of a vibro-tactile system.
  • Figure 10 is a block diagram illustrating an embodiment of a wireless vibro-tactile system.
  • Figure 11 is a block diagram illustrating an embodiment of a vibro-tactile system including a computer.
  • Figure 12 depicts a vibro output chair
  • Figure 13 depicts an orthogonal pair of electric motors configured for use as actuators.
  • Figures 14 and 15 depict electrical circuits useful to demodulate a signal containing vibro data.
  • Figure 16 depicts an embodiment of the invention containing a USB channel, a vibro processor and a vibro data library
  • Figure 17 depicts an embodiment of the invention useful to control systems in a car.
  • Figure 18 is a functional block diagram of an embodiment of the invention including a computer and a vibro input/output device.
  • Figure 19 is a functional block diagram of an embodiment of a vibro data resource.
  • Figure 20 is a functional block diagram of an embodiment of a force transport layer.
  • Figure 21 is a functional block diagram of an embodiment of a vibro output device.
  • Figure 22 is a functional block diagram of an embodiment of a status/position feedback device.
  • Figure 23 is a functional block diagram of an embodiment of an input output interface.
  • Figure 24 is a diagram of an embodiment of an online gaming system using a vibro force server coupled through the internet to multiple users.
  • Figure 25 depicts a resource that allows a vibro input/output or vibro feedback device to communicate vibro data over a USB.
  • FIG. 1 depicts one embodiment of the invention.
  • vibro output device 100 includes housing 102, actuator 104 and vibro data signal line 106.
  • Actuator 104 is housed at least partially within housing 102, is electrically connected to vibro data signal line 106 and is mechanically coupled to movable member 108. If the signal on vibro data signal line 106 is a modulated or encoded vibro data signal then a resource for converting the modulated or encoded vibro data signal into a form suitable to drive actuator 104 is inserted between vibro data signal line 106 and actuator 104. Suitable resources include but are not limited to an ASIC that converts the encoded vibro data signal (e.g. a USB format signal) into a pulse width modulated signal (PWM).
  • PWM pulse width modulated signal
  • Movable member 108 is capable of motion in at least one degree of freedom and conveys the motion or vibro output generated by actuator 104 to a user.
  • Movable member 108 can be any size or shape and may rotate and/or translate. Additionally, moveable member 108 may convert or transform motion or vibro output of one type or magnitude into motion or vibro output of another type or magnitude by techniques including the use of gears or other mechanical linkages. For example, actuator 104 may generate small displacement circular motion which movable member 108 converts into large displacement translational motion. Movable member 108 can be eliminated if actuator 104 can directly generate movement or vibro output that can be perceived by the user.
  • Housing 102 can be any shape or size and can be made of any material; all that is necessary is that at least a portion of actuator 104 be attached to housing 102 and housing 102 be configured so that the motion or vibro output produced by movable member 108, or actuator 104 if movable member 108 is eliminated, be able to be physically conveyed to a human as a haptic sensation.
  • Actuator 104 can be any system or device which will produce movement or a vibro output in response to a vibro data signal. Suitable actuators include but are not limited to linear or rotary electric motor (including DC motors), piezoelectric crystal, solenoid, relay, electrically controlled pneumatic device, etc.
  • the signal to which actuator 104 is responsive generates vibro output in the frequency range sensed by human tactile sensory systems.
  • the vibro data signal input into the vibro output device may contain vibro data in these frequency ranges that is modulated or encoded and converted to frequency ranges that can be sensed by users.
  • Suitable forms of modulation or encoding include but are not limited to amplitude modulation, frequency modulation, or digital encoding such as formatting a signal for transmission over a USB.
  • Vibro data signal line 106 may receive the signal through a connection to a receiver (not shown).
  • the receiver can be a receiver which can receive a signal using any transmission and/or encoding scheme.
  • the transmission scheme can be, but is not limited to radio frequency, infrared, ultrasound, microwave, or optical transmission and reception systems.
  • Encoding schemes can be, but are not limited to amplitude modulation, frequency modulation, pulse code modulation, or digital encoding schemes.
  • the received signal need not be converted into an analog signal if the received signal can actuate the actuator.
  • FIG. 2 is another embodiment of the invention.
  • Vibro output system 200 is configured like a joystick in this embodiment.
  • Housing 202 contains actuator 204 which is coupled to movable member 206 which is movable in at least one degree of freedom.
  • Actuator 204 generates motion or vibro output in response to analog signals input through analog signal input line 208. It should be noted that vibro output system 200 does not include a digital processor or a vibro library memory.
  • An embodiment of actuator 204 is depicted in Figure 3. In the embodiment of Figure
  • movable member 206 is coupled to the joystick housing (not shown) by rotatable joint 302.
  • Rotation of movable member 206 about rotatable joint 302 will result in end 304 of movable member 206 moving or generating vibro output along the x and y directions indicated.
  • Slotted elliptical members 306 and 308 allow motion of end 304, respectively in the y and x directions.
  • Slotted elliptical member 306 is connected to bar 310 and slotted elliptical member 308 is connected to bar 312.
  • Opposing piezoceramic crystals 314A and 314B are placed on opposite sides of bar 310 and are connected to X-driver 316, and opposing piezoceramic crystals 318A and 318B are placed on opposite sides of bar 312 and are connected to Y-driver 320.
  • the piezoceramic crystals are coupled to the housing. Fewer or more piezoceramic crystals can be used without departing from the present invention. For example, 2 opposing pairs of crystals may be put on either side of bar 310. or just one crystal may be placed along bar 310.
  • X-driver 316 (which includes a resource for converting an analog vibro data signal into a form suitable to drive an actuator) is in inset 340.
  • Input analog vibro data signal 342 is sent into rectifier 344 then low pass filter 346.
  • the output of low pass filter 346 is then converted into a pulse width modulated signal in converter 348 and the signal is then fed into power amplifier 350.
  • the output of power amplifier 350 is then fed into resonant circuit 352 which has a resonant frequency at about the same frequency as opposing piezoceramic crystals 314A and 314B.
  • Y-driver 320 can be implemented in a similar way.
  • X-driver 340 will be described using an example of an analog vibro data input signal. This is for illustrative purposes only and is not meant to be limiting in any way.
  • a sample input wave fo ⁇ n is depicted in Figure 4.
  • Other types of signals including for example AM, FM. or digital signals, would also be suitable as input and could be converted to a signal suitable for this embodiment using well known methods or devices such as an amplitude demodulator, a frequency demodulator, or digital circuitry.
  • Input wave 402 is rectified in rectifier 344 and becomes rectified wave 404 which is then low pass filtered in low pass filter 346 to become filtered signal 406.
  • Filtered signal 406 is then converted into pulse width modulated signal 408 using pulse width modulation (PWM) converter 348.
  • PWM pulse width modulation
  • X-driver uses the circuit depicted in Figure 5. with the frequency response depicted in Figure 6, as the low pass filter and eliminates the use of the rectifier.
  • This embodiment allows the generation of a vibro data signal having a base line around a reference voltage (e.g. zero) and limited range of slew rate (signal rise and fall times).
  • the signal depicted in Figure 7 before filtering and Figure 8 after filtering is then converted into a pulse width modulated signal.
  • the conversion of the signal to PWM can be achieved by discrete components circuit. ASIC or micro-controllers that have the A/D and PWM features.
  • the PWM pulses are amplified by a power H-Bridge power amplifier and then input into resonant circuit 352.
  • the output of resonant circuit 352 drives piezoceramic crystals 314A and 314B.
  • the motion produced in the crystals causes the crystal surfaces to execute clockwise or counterclockwise circular motion which in turn pushes bar 310 forward or backward causing motion and vibro output in the x-direction on movable member 206.
  • the piezoceramic actuators can create a rotational movement or vibro output when driving a circular plate or disk.
  • the arrangement can be either by opposing piezoceramic motors, or by one motor and a linear or rotary means to reduce friction (e.g. by linear or rotary ball bearing).
  • the coupling of the piezoceramic actuators to the moving member is done through an elastic coupler, where the piezoceramic actuator is pressed against the moveable member by a spring or other means of preloading.
  • Other piezoceramic motors and configurations can be used to generate specified motions and vibro output as discussed in the book An Introduction to Ultrasonic Motors, by Toshiiku Sashida and Takashi Kenjo, Clarendon Press, 1993 which is hereby fully incorporated by reference.
  • Alternative embodiments use linear or rotational electric motors to produce the needed vibro output.
  • Gear transmissions can be employed to get the desired ratios of displacement velocity and vibro output.
  • electric motors driven by suitable formatted vibro data signals are used in the actuator instead of or in addition to the piezoceramic actuators.
  • the combination of piezoceramic and electric motors may be useful to provide a range of effects more efficiently than either could alone.
  • the configuration of electric motors and their connection to the moveable member of the joystick can be as depicted in U.S. Patent 5,742,278 to Chen et al., issued on April 21, 1998 which is hereby fully incorporated by reference.
  • the signal input to the motors can be separately extracted from the input signal containing the vibro data or it can be picked off at an appropriate place in the actuator circuitry, for example right after the low pass filter in Figure 3.
  • FIG. 9 generically depicts an embodiment of the invention.
  • vibro output system 900 includes vibro data output device 902 connected by signal line 904 to vibro output device 906.
  • Vibro data output device 902 is any device which can generate a vibro data signal, including but not limited to a computer, a television, a radio, a compact disc player, a video playback device, or any other device which can be used to generate a signal representing vibro data.
  • Signal line 904 can be any channel capable of transmitting an analog or digital signal, including but not limited to a wire, a USB, a coaxial cable, or a fiber cable.
  • the vibro data signal can be converted by vibro data output device 902 into a form suitable for transmission over signal line 904 and then converted into an actuator driver data signal by an appropriate receiver in vibro output device 906.
  • vibro data output device 902 is inductively coupled to the electrical wiring supplying it power.
  • Signal line 904 is then the electrical wiring including the wiring connecting the devices to the wall plugs and the wall plugs to each other.
  • Vibro output device 906 then uses inductive coupling to extract the signal from signal line 904.
  • vibro data output device 1002 contains transmitter 1004 for transmitting a signal containing the vibro data to vibro output device 1006.
  • Vibro output device 1006 contains receiver 1008 for receiving the signal containing the vibro data transmitted by transmitter 1004.
  • Transmitter 1004 and receiver 1008 can transmit the signal containing the vibro data using any transmission and/or encoding scheme.
  • Transmission can be, but is not limited to radio frequency, infrared, ultrasound, microwave, or optical transmission and reception systems.
  • Encoding schemes include, but are not limited to amplitude modulation, frequency modulation, pulse code modulation, or digital encoding schemes.
  • Receiver 1008 converts the transmitted signal into a form suitable to drive vibro output device 1006.
  • Figure 1 1 depicts another embodiment of the invention.
  • vibro output system 1 100 includes computer 1 102, and computer 1 102 contains processor 1 104 connected to memory 1 106 interface device 1 108.
  • Interface device 1 108 is connected to signal line 1 1 10 which may be an analog or digital signal line.
  • Computer 1 102 generically represents any type of computer, such as a microprocessor-based system, a mainframe system, or any other type of general or special purpose computing system which includes an interface, a processor, and a memory.
  • Processor 1 104 is any type of processor such as a microprocessor, dedicated logic, a digital signal processor, a programmable gate array, a neural network, or a central processor unit implemented in any other technology.
  • Interface 1 108 is any type of interface which can generate an analog or digital signal and output it onto signal line 1 1 10 including but not limited to a sound card or any audio or sound generation circuitry.
  • Signal line 1 1 10 is connected to vibro output device 1 1 12.
  • Vibro output device 1 1 12 includes actuator 1114 and movable member 1116.
  • Computer 1102 can be connected to a network (not shown) such as the Internet to send and receive signals containing vibro data.
  • the vibro output devices can include a position and/or force or vibro sensor.
  • the vibro output device includes both an actuator that produces translational, rotational, or other vibro movement or sensations, and corresponding translational or angular position and/or vibro sensing.
  • the vibro output device contains two opposing piezoceramic motors, driven by the same driver, and producing translational displacement of a bar. Rigidly attached to the bar is a device for detecting translation of the bar.
  • the device for detecting translation can include but is not limited to a trip with a series of holes and an LED on one side and a detector on the other side for counting the number of holes that translate between the LED detector pair. This allows for digital encoding of the translation of the bar.
  • Another detection method includes a linear variable density light filter (gray scale) that moves in the slotted gap of an optopair.
  • the optopair comprises an Infra Red (IR) Light Emitting Diode (LED) and an IR photodiode.
  • IR Infra Red
  • LED Light Emitting Diode
  • the intensity of light impinging on the photodiode changes as the gray scale moves in. the slotted gap, changing the light illumination corresponding to the gray scale displacement.
  • the change in the light intensity creates changes in the voltage over the diode which is linearly proportional to the displacement. Since the vibro output device is coupled mechanically to the handle moved by the user, any user initiated movements will move the bar and attached gray scale and will generate voltages proportional to the displacement.
  • the voltage changes corresponding to the user movements are a vibro data signal that can be either fed to drive another vibro output device, or sent as input to an electronic device.
  • Figure 12 depicts an embodiment of a vibro output device, chair 1200, containing actuators.
  • the chair may have one or more actuators in one or more locations on the chair depending on the sensations it is desired to produce.
  • Actuator 1202 is used to produce vibro sensations for the hand or fingers
  • actuator 1204 is used to produce other vibro sensations for the back, shoulders or head
  • actuator 1206 is used to produce vibro sensations for the overall motion of the seat.
  • Actuators can be placed at other locations as desired in order to produce other sensations.
  • actuators suited to produce particular types of sensations are placed in particular locations.
  • actuators suited to producing pitch and yaw motions may be coupled together and placed in an optimal location such as under a tilt plate (not shown) on the chair seat to produce overall pitch and yaw sensations while x and y actuators may be placed on a separate translatable plate (not shown) in the seat to produce overall x and y sensations.
  • All of the actuators may be placed in and act on the same portion of chair 1200.
  • Figure 13 depicts actuator 1300 including electric motors 1302 and 1304 driving orthogonal motions of actuator conversion device 1306.
  • Actuator conversion device 1306 converts the motions of the motors into sensations suitable for use in a vibro output device such as chair 1200 of Figure 12.
  • Figures 14 and 15 depict electrical circuits used to demodulate a signal containing vibro data amplitude modulated on a carrier (40 kHz for the particular components used in Figure 14) and amplify its power to run an electric motor actuator.
  • the values of the components depicted in Figures 13 and 14 can be varied for different frequency carrier waves in ways that are well known to those of ordinary skill in the art with the aid of standard reference books such as The Art of Electronics by Paul Horowitz and Winfield Hill, Cambridge University Press, 1989, which is hereby fully incorporated by reference.
  • the circuit of Figure 14 demodulates the signal from the carrier such that changes in the amplitude of the signal result in proportional changes in the magnitude and sign of the DC output of the circuit (i.e., the motors will rotate faster or slower depending on the magnitude of the signal and clockwise or counter-clockwise depending on the sign of the signal.
  • the output of the circuit of Figure 14 is fed into the motor driver circuit of Figure 15. This circuit converts the signal output from the circuit of Figure 14 into a signal with enough strength to drive the motors.
  • the actuators can achieve pitch and roll motions of up to +/- 15 degrees, surge and sway motions of up to +/- 1.5 inches; pitch and roll velocities of up to +/- 30 degrees per second and surge and sway velocities of up to +/- 10 inches per second; and pitch and roll accelerations of up to +/- 150 degrees per second ⁇ 2, and surge and sway accelerations of up to +/- 0.25 times gravity.
  • the vibro output device does not contain a central processing unit and receives the signal containing vibro data from a standard audio input/output port on a computer, video games system, television, VCR, or stereo system.
  • the signal containing vibro data may be modulated or encoded in any form including AM, FM or digital encoding.
  • vibro signal received through a network or from a program or application running on the computer are sent to the sound processor in the computer.
  • the processor then generates and sends the vibro data signal on a separate audio channel mixed with the audio stream on that channel using the digital-to-analog converters present in the computer for processing and generating sound.
  • Input can be received form a vibro data output device or sensing member through a microphone or audio input on the computer and input into the computer using the sound processing resource to digitize the input signal.
  • this component can be included in the vibro output device, and a digital signal can be transmitted from the computer for conversion to an analog signal by a digital-to-analog converter in or attached to the vibro output device.
  • sound editing systems or software can be used to compose signals containing vibro data.
  • Vibro libraries can be generated through the creation and storage of signals creating specified effects. Such libraries allow the creation and editing of vibro compositions through the use of such modular effects.
  • FIG. 16 depicts yet another embodiment of the invention.
  • vibro output system 1600 includes vibro output device 1602 coupled to vibro data system 1604 by connection 1606.
  • Connection 1606 can be any type of connection for transmitting analog or digital data including but not limited to a wire, a coaxial cable, a USB, an infrared link, a radio link, a telephone line, a cellular telephone network, a fiber optic link, or a network such as the Internet.
  • Vibro output device 1602 includes resource 1608 for converting signals containing vibro data into a signal suitable to drive actuator 1610.
  • Resource 1608 can be but is not limited to an ASIC, a programmable logic array, a processor, or any logic or circuitry in analog or digital form that can convert the vibro data in the signal received over connection 1606 into a signal format suitable to drive actuator 1610.
  • the output of resource 1608 is input into actuator 1610 and actuator 1610 moves and/or applies a force or other vibro motion to movable member 1612.
  • Actuator 1610 can be but is not limited to one or more piezoelectric devices such as piezoceramic crystal, one or more electric motors or DC motors and gears or any other device which can convert an electrical signal into force, motion, or other vibro output.
  • Movable member 1612 is depicted as being a joystick handle but other objects or configurations can be used to couple the force, motion, or other vibro output generated by the actuator to the user. Suitable objects include but are not limited to a plate which is vibrated by the actuator, a ball such as a track ball which can be moved or rotated by the actuator. Additionally, the actuator can be used to apply a frictional force to the object so that the actuator does not move the object itself but only provides a resistive force to the motion of the object.
  • Movable member 1612 is coupled to a position encoder 1614 which detects a position of movable member 1612.
  • Suitable position encoders have been described above and one useful embodiment is a slotted wheel with an LED and detector on either side of the wheel. Motion of the movable member cause rotation of the slotted wheel and as the slots rotate between the LED/detector pair, a digital signal is generated corresponding to the motion and relative position of the movable member.
  • This encoding scheme is the same as is commonly used in a mouse. See, for example, U.S. patent 5,670,990 issued 9/23/97 which is hereby full incorporated by reference.
  • the output of the position encoder 1614 is output to resource 1616 for transmission over connection 1606. It is noted that resource 1616 may be resident on the same physical circuitry as resource 1608.
  • Vibro data system 1604 includes processor 1618 coupled to memory 1620.
  • Processor 1618 may optionally include a vibro data processor 1622.
  • Vibro data processor 1622 can be but is not limited to a processor used to process sound or other multimedia data.
  • Memory 1620 may optionally include vibro data library 1624.
  • Vibro data library 1624 can include but is not limited to a data base of vibro data including each position and possible vibro vector for actuator 1610 movable member 1612 pair. In this way any vibro output that can be generated by actuator 1610 movable member 1612 pair can be constructed from the data in the vibro data library.
  • Vibro data library 1624 can also be configured to containing predefined vibro scenarios (e.g., one or more of position, force, amplitude, frequency, and duration) corresponding to the occurrence of particular situations or states of vibro output system 1600.
  • Vibro data system 1604 is coupled to network connection 1626.
  • Network connection 1626 Network connection
  • 1626 can be but is not limited to an intranet, an internet, the Internet, a telephone system, a wireless network such as a cellular telephone network, or a banking system network.
  • vibro output system 1600 operates as follows.
  • An application running on vibro data system 1604 causes an indicator such as a cursor or a character in a computer game to be displayed on a display (not shown).
  • a user moves movable member 1612 causing position encoder 1614 to generate a position signal which is transmitted to resource 1616, over connection 1606 and into vibro data system 1604.
  • the application running in vibro data system 1604 then moves the indicator on the display in response to the position signal.
  • the indicator collides with a specified object or arrives at a specified location on the display the application causes a vibro command to be generated.
  • the vibro command corresponds to the vibro sensations desired to be output to vibro output device 1602.
  • the vibro command may specify the duration, amplitude, and frequency of a vibro output to be sent to vibro output device 1602. It is noted that the vibro sensation could include a friction force also.
  • This vibro command causes vibro data processor 1622 to access vibro data library 1624 and retrieve the vibro data corresponding to the vibro command.
  • the vibro data contains all of the information necessary for actuator 1610 to drive movable member 1612 to execute the requirement of the vibro command.
  • an application running as part of the operating system in vibro data system 1604 (or another computer attached to vibro data system 1604 through network connection 1626) generates an "active window" vibro command for the movable member to vibrate for 1 second with a frequency of 3 hertz and an amplitude of 2.5 millimeters about its current position.
  • This vibro cue is used to alert the user to the position of the indicator.
  • the vibro command is interpreted by vibro data processor 1622 and the vibro data to generate this vibro sensation in vibro output device 1602 is retrieved from vibro data library 1624 and sent to vibro output device 1602.
  • Vibro data processor 1622 retrieves the vibro data for this vibro profile from vibro data library 1624.
  • the vibro data for the "email arrival" vibro sensation and the "active window” vibro sensation are combined by vibro data processor 1622 and sent to vibro output device 1602.
  • Vibro data processor 1622 may, in some cases, send out such cue one after the other rather than combining them so that a user can differentiate each of the cues separately.
  • vibro output device 1602 is a mouse, trackball, or other pointing device.
  • a resistance force is output to the pointing device which is proportional to the memory taken up by the object selected. For example, if a user selects a folder on the display to drag it to another location on the display, a resistance force will be output to the mouse, trackball or other pointing device which provides a resistance to the user's motion of the pointing device wherein the resistance is proportional to the amount of memory used by the contents of the folder.
  • characteristic vibro sensations are output to the pointing device indicating to the user information about the contents of the folder or file.
  • word processing files result in a 2 hertz, .5 second duration 1 millimeter vibro sensation on a movable member attached to the pointing device, and a link to a financial web site results in a 5 hertz 1 second .5 millimeter vibro sensation.
  • a standard "language" of vibro sensations can be developed to indicate or alert the user to certain information or occurrences.
  • vibro output devices that may be used in embodiments of the invention include but are not limited to a vibrating plate, a fan to couple the vibro output to air to be sensed by a user, or a device for producing odors and smells.
  • the vibro data signal is an odor or smell
  • the vibro signal is output to an atomizer that sprays a specified mixture of odors from a set of basic odors.
  • the odors can then be neutralized by another vibro data signal that activates an ionizer, odor neutralizing spray, air filter, or other device to dissipate or eliminate the odor.
  • FIG. 17 depicts yet another embodiment of the invention.
  • car control vibro output system 1700 which includes vibro output device 1702 is attached to steering wheel 1704.
  • Vibro output device 1702 ⁇ is coupled to a processor (not shown) and a memory (not shown) through wires (not shown).
  • Vibro output device 1702 includes trackball
  • This embodiment of the invention allows a user to control the operation of various systems of the car using trackball 1706.
  • a user rolls the trackball in the horizontal direction using his thumb to select the system he wishes to control.
  • the user can tune the radio 1708 by rolling the trackball in the vertical direction.
  • the processor causes a frictional force to be applied to the trackball in the vertical direction wherein the friction force is related to the strength of the radio station. As the user tunes closer to a station, the frictional force gets stronger, then
  • the frictional force gets weaker.
  • the user can then move the trackball horizontally to select the next system, the windshield wipers 1710. Now, as the user moves the trackball vertically, the resistance increases as the selected windshield wiper speed increases. Similar effect can be obtained with, for example, a cruise control 1712.
  • FIG. 18 is a system diagram of an embodiment of the invention. This embodiment includes computer 1802 running operating system 1804 application 1806, vibro data resource 1808, and vibro transport layer 1810.
  • Operating system 1804 can be any operating system capable of running computer 1802 including but not limited to Windows (R) (by Microsoft Corporation), UNIX, or Apple Corporation's operating system.
  • Application 1806 can be any application that can run on computer 1802 including but not limited to a word processing program, a game program, a utility application, a calendar program, a scheduling program, a web browser, a communications program, a data base program, an email program, or any other program running on any computer that can communicate with computer 1802 through a network connection (not shown) or an internet connection such as the Internet.
  • Vibro data resource 1808 includes a vibro retrieval resource, a vibro synthesis resource, a vibro mixing resource and optionally a vibro database or a vibro library.
  • Computer 1802 is coupled to vibro input/output device 1812.
  • vibro input/output device 1812 can be physically implemented as one or more separate vibro input and/or output devices, including but not limited to separate input and output devices, one or more integrated input/output devices and any possible combination of these devices.
  • Vibro input/output device 1812 includes input/output device interface 1814 coupled to power stage 1816.
  • Power stage 1816 is coupled to vibro actuator 1818 which is coupled to object/movable member 1820.
  • Object/movable member 1820 is coupled to status/position feedback device 1822 which is coupled to input/output device interface 1814. It is noted that object/movable member 1820 can be anything whose motion, position, or other vibro output can be sensed by a user.
  • FIG. 19 depicts a more detailed diagram of a vibro data resource 1900.
  • Vibro data resource 1900 includes vibro command interpreter 1902 and vibro storage and syntheses resource 1904.
  • Vibro storage and synthesis resource 1904 includes wave file resource 1906, vibro data library 1908, vibro function library 1910, vibro feedback resource 1912, and any other resources for generating, synthesizing or otherwise creating vibro effects.
  • Wave file resource 1906 includes vibro data stored in a protocol consistent with the generation of audio signals on a computer system.
  • the vibro data stored in wave file resource 1906 can be composed or generated by a user using audio signal generation and composition tools, and stored in vibro command interpreter 1902 for later use.
  • Vibro data library 1908 is a pre-existing library of vibro data which in some embodiments contains a complete basic set of the possible states of the vibro output device to be driven. In this way every possible state of the vibro output device can be accessed by the data stored in vibro data library 1908.
  • Vibro function library 1910 includes vibro functions and data which generate output vibro data based inputs contained in the vibro commands.
  • Vibro feedback resource 1912 includes vibro functions and data which generate output vibro data based on a position signal from a vibro input device. The vibro data output can be used to feedback on the vibro commands issued by the operating system to vibro storage and synthesis resource 1904. The output of vibro storage and synthesis resource 1904 is sent to an additive mixer in which the vibro effects are combined. The resulting vibro data signal is then sent to the vibro transport layer.
  • vibro command interpreter 1902 controls the timing of the vibro commands so that one vibro effect does not mask another, and ensures that the user is able to perceive each of the distinct vibro effects. For example, if a vibro command for an explosion and a vibro command signaling the arrival of new mail are input into vibro storage and synthesis resource 1904 at or near the same time, vibro storage and synthesis resource 1904 will delay the output of the new mail vibro signal until the vibro signal for the explosion is over.
  • Figure 20 depicts an embodiment of vibro transport layer 2000.
  • the input to vibro transport layer 2000 is sent to coding resource 2002 where it is converted into a format suitable to be input into data bus controller 2004.
  • the coded signal is then sent to data bus controller 2004 for transmission on analog/digital data bus 2006.
  • Data bus controller 2004 may convert the signal to an appropriate format such as a USB format for transmission on analog/digital bus 2006 if necessary.
  • FIG. 21 depicts vibro output device 2100 which may be part of an input/output device.
  • a vibro signal is received from an analog/digital data bus by input/output device interface 2102.
  • the vibro data signal is converted into PWM if it is not already in that format and the PWM signal is sent to a power stage so that it can drive actuator 2106.
  • Actuator 2106 may be coupled to an object or movable member if necessary to achieve desired vibro output.
  • Figure 22 depicts vibro input/position feedback device 2200 which may be used as part of a vibro input/output device or a vibro feedback device.
  • Object/movable member 2202 is coupled to vibro/position sensor 2204 which senses the position and/or vibro motion applied to object/movable member 2202 and sends this information to encoding resource 2206.
  • Encoding resource 2206 converts this information into the format desired for input to input/output device interface 2208.
  • User buttons 2210 are also coupled to input output device interface 2208 through user button detecting resource 2212.
  • Input/output device interface 2208 converts the signals it receives from encoding resource 2206 and user button detecting resource 2212 into a format suitable for transmission over the analog/digital bus.
  • Figure 23 depicts a detailed diagram of an input/output device interface which includes analog/digital data bus interface 2302 coupled to an analog/digital data bus.
  • Analog/digital data bus interface 2302 is coupled to signal coder/decoder CODEC 2304.
  • CODEC 2304 converts the vibro data signal from the format used for transmission on analog/digital data bus interface 2302 into a format for use by the vibro output device, such as PWM.
  • the signal from CODEC 2304 is then sent to vibro actuator controller 2306 which extracts control data from the vibro data signal and generates control signals for the actuator.
  • Control signals may include but are not limited to automatic gain control signals, and timing and power signals.
  • Vibro input/position feedback device resource 2308 receives a data signal from a vibro input/position feedback device and feeds it into CODEC 2304 for conversion into a format suitable for transmission over the analog/digital data bus interface such as a USB protocol.
  • User button resource 2310 receives signals from a user button detection resource and converts it into a format suitable for transmission over the analog/digital data bus.
  • One or more applications are running on computer 1802.
  • Such applications may include a web browser, an email application, a word processing application, a daily calendar and a computer game.
  • the email application receives a new email message and then notifies the operating system of this occurrence, and the operating system then sends a signal to the vibro data resource noting the arrival of the email.
  • the web browser receives a confirmation message from an online trading service that trade has been executed for the user.
  • the operating system receives this message from the web browser and sends this information to the vibro data resource.
  • the user is playing the computer game, and the computer game is continually sending requests through the operating system to the vibro data resource for vibro effects to be output to the vibro feedback device the user is using to play the computer game.
  • the email notification signal, the trade confirmation signal and vibro output request from the computer game are all sent to the vibro data resource as a vibro commands.
  • the vibro command interpreter retrieves the email notification vibro data from the vibro data library and the user defined wave file in the wave file resource that the user has generated to correspond to the trade confirmation vibro command.
  • the vibro command from the game is a request for a series of vibro effects related to a fight the user's character is engaged in as part of the game.
  • the vibro command interpreter decides that not all of these vibro effects can be sent to the vibro output device and sensed by the user at once, so the vibro command interpreter prioritizes the vibro signals using a predefined priority list based on user preferences and default priorities.
  • the user has previously decided that trade confirmation requests have priority over email notification and game output, and by default the email notification has a lower priority than interactive feedback vibro signals (such as the fight vibro signals) from the computer game.
  • the vibro command interpreter then immediately sends the trade confirmation vibro data to the additive mixer and either delays the game related vibro data or reduces its amplitude. These signals are then mixed and sent to the vibro transport layer, through the analog/digital data bus and to the vibro output device.
  • the vibro command interpreter then sends out the email notification vibro data to the mixer, then the vibro transport layer and over the analog/digital data bus to the vibro output device.
  • Figure 24 depicts an embodiment of the invention in which vibro data is communicated to users through the Internet.
  • one or more users 2402A, 2402B, and 2402C are playing a computer game via their respective computers 2404A-C using their respective vibro feedback joysticks 2406A-C over Internet 2408.
  • Gaming server 2410 and vibro server 2412 are each connected to Internet 2408 and each other.
  • Vibro server 2412 includes vibro database 2414 which contains vibro effects and vibro data for each of the games available for play on gaming server 2410.
  • gaming server 2410 sends data to each user's computer related to situations or scenarios in the game, and the gaming server also sends information to the vibro server related to which vibro data should be output to the users as part of the game and the timing of the desired output with respect to the users' progress in the game.
  • the vibro server outputs the appropriate vibro data through the Internet to the respective users' vibro feedback joystick.
  • the vibro server receives information over Internet 2408 related to the position of vibro feedback joysticks 2406 A-C and generates the appropriate vibro data to be output back to the users and also relays this feedback information to the gaming server so that the users progress in the game can be adjusted accordingly.
  • the online game is an interactive fighting game
  • one user's vibro input device is used by the user to generate a kick.
  • This vibro input is sent through the Internet to the vibro server and the game server.
  • the information for displaying the kick is then transmitted back to each of the users to show the progress of the kick, and when the kick hits an opponent each player is sent a vibro signal indicating the impact of the kick on one player and the stopping of the kicking players foot by the opponent's head.
  • Additional vibro clues can be sent including but not limited to a vibro signal indicating that a user's weapon is pointing at another user's character in the game.
  • users are charged for access to the vibro effects in the vibro data server. Users can be charged by the amount of time used, number of vibro effects they have access to, or per game.
  • a vibro terrain mapper In this embodiment a user generates a map of an area by defining different vibro sensations for different areas of the map. For example, a computer programmer can create a vibro map of a graphical user interface being developed and define each region of the display or interface as corresponding to a difference vibro sensation. This mapping can then be stored in a vibro data resource or integrated into the application. Additionally, computerized geographic maps or maps such as at of a computer game can be enhanced with vibro sensations and the vibro command for these sensations can be integrated into the map or the application displaying the map.
  • a vibro recorder This embodiment allows the recording of tactile, force or other vibro sensations of a place or object. The vibro data collected by the recording device can be streamed to another location for output, or stored in a computer for later use.
  • a vibro channel is a channel of vibro information, commands or data that is added to media played on media play devices such as televisions, movie projectors, compact disc players, video cassette machines, DVD players, telephones, web sites, or any other media that creates a human perceivable output.
  • films for display in movie theaters can have a vibro track added (much like the sound track) so that vibro enable theatres can have vibro output devices synchronize their output with the picture and sound of the file.
  • Television programs can have a vibro signal transmitted along with the sound and other signals comprising the program. These vibro signals can then be output by a vibro output device coupled to the television.
  • a telephone can have a vibro recorder and/or a vibro output device attached to it so that a user can generate vibro signals and send them to another user and/or receive vibro output over the telephone through a vibro channel included with the voice information.
  • Another embodiment of the invention is a resource for receiving vibro data in a vibro output device and converting the vibro data into a form suitable to drive an actuator.
  • the resource may include but is not limited to a programmable logic array, logic implemented in hardware or software, a micro controller, a microprocessor, or an application specific integrated circuit (ASIC).
  • Figure 25 depicts one embodiment.
  • resource 2500 includes USB connection 2502 coupled to USB core 2504.
  • USB core 2504 is coupled to processor 2506 and out to an actuator (not shown).
  • Position signal input 2510 is coupled into resource 2500.
  • the position input includes 4 axis of position information input into resource 2500 as an analog signal and converted into a digital signal by processor 2506.
  • the position signal is 4 digital channels each 8 bits per channel either in series or parallel.
  • Button input 2512 is coupled into resource 2500.
  • the button input signal includes 4 by 4 matrix of buttons information (8 bits or 16 bits if individual button control is desired.
  • a signal input into resource 2500 through USB connection 2502 is input into USB core 2504 and .
  • the signal is output to processor 2506, converted into PWM format and sent to the actuator.
  • Position and button information are input to processor 2506 through position signal input 2510 and button input 2512 respectively.
  • Processor 2506 digitally encodes the information in these signals, and sends it to the USB core. From the USB core the signal is sent over a USB through the USB connection 2502.

Abstract

A system and method for input, outputting processing and storing force, tactile or other vibro output. Vibro data in a vibro data signal that contains all the information necessary to produce a specified vibro output in an actuator in a vibro output device is output to the device. The information content of the vibro signal eliminates the need to have a processor or memory to store or process vibro information in a vibro input or output device.

Description

SYSTEM AND METHOD FOR VIBRO GENERATIONS
BACKGROUND OF THE INVENTION
FIELD OF THE INVENTION
The invention relates generally to a system and method for the generation of physical sensations for human perception and interaction and more particularly to the generation of human perceivable physical sensations as all or part of a multimedia experience and the generation of a channel for activating actuator to create such sensations.
DESCRIPTION OF RELATED ART
Force output devices such as are used in force feedback systems have long been used to provide sensory cues to enhance the experience of a user playing computer or video games.
Typically, in a computer or video game, a scene is depicted on a display or other visual output device. As part of the game a user will often react or respond to situations or cues presented by the game. Additionally, sound in the form of sound effects and music may be added to the experience to make it more enjoyable and/or to provide feedback or to signal information to the user. Increasingly, force or haptic devices are also used to enhance the experience of a user playing such games.
One device commonly used to output a force to a user is a force output device incorporated as part of a force feedback system in a force feedback joystick. The force output device of a force feedback joystick is used to provide haptic output for the game related to situations being depicted in the game. As one example, when a user fires a gun as part of a game, a force output device in a force feedback joystick may cause a slight force to be applied to the joystick handle as the user actuates the gun during the game. This force feedback provides extra depth to the experience for the user playing the game and also signals to the user that the gun has been fired as part of the game. If a user's character in a game is out of ammunition and the user tries to fire a gun as part of the game and expects to feel a characteristic force on the joystick, the absence of the characteristic force can be used to signal the user that the character in the game is out of ammunition.
Many currently available force feedback devices, such as a force feedback joystick, operate by receiving a short command that necessitates the use of processors and force memories resident in the force output device. For example, these force feedback joysticks, even though they are connected to a computer, require that a processor and possible memory for storing force output effects be included in the force output device. This drives up the price of such force output devices and may limit the force effects they can output to those stored in the memory. What is needed is a system and method for generating force or other physical sensation for output (collectively called "vibro" output) to be experienced by a user, which can use existing data storage and/or processing resources and protocols on a computer or other output device. Additionally what is needed is a vibro output device that does not require a processor or vibro effect memory to be included in the vibro output device.
SUMMARY OF THE INVENTION
In one embodiment, the invention uses the output resources of a system that are conventionally used to output signals to speakers to create sound. These output resources are used to stream force, or more generally vibro output effects (or equivalently vibro output or vibro effects) directly to a vibro output device without relying on a processor or memory embedded in the vibro output device to generate or store vibro effects. The data streamed to the vibro output device is instead generated by a vibro generation device or vibro server and is implemented as a continuous stream of vibro samples through an analog or digital line to the vibro output device.
In one aspect of the invention, the streaming of vibro data to or from a vibro input or output device over a high speed link allows the processing of vibro command or effects by a processor and/or memory located remotely from the vibro input or output device. The resulting larger volume of data remotely generated can be efficiently transmitted to or from the vibro input or output device over the high speed link. This allows the vibro input or output device to operate without processors or memory for generating or storing large volumes of vibro data. The vibro input or output device instead to leverages off of remotely located processors and memory, reducing the cost of the vibro input or output device.
The stream of vibro data is implemented in a way similar to the processes used for streaming audio data. Each sample provides information about the desired vibro output at a particular point in time. Vibro data in a vibro data signal contains all the information necessary to produce a vibro output in an actuator in a vibro output device. As a result, the vibro output device does not need to have a processor or memory to store or process vibro information. Vibro commands contain information about the vibro effects to be output but the vibro command itself does not contain the data necessary to generate the vibro output in an actuator.
For real-time vibro input a vibro input device streams vibro data into a vibro server. Once at the vibro server, the vibro data can be stored as a vibro file, or output to a vibro output device to provide vibro communications. Stored vibro files can be processed and sent to a vibro output device as desired.
Vibro effects can also be created using predefined vibro function libraries. The vibro server can then parse the vibro functions and create vibro data for a vibro wave for each vibro function. These vibro waves can then be mixed and sent to a vibro output device or stored as vibro files.
The vibro server communicates with the vibro input and vibro output devices over a transport medium. The transport medium is implemented using a digital cable such as a
Universal Serial Bus (USB) for computers, a network link, an intranet, an internet, the Internet, an analog cable such as audio cables, a fiber optic cable, a wireless link such as used for cellular phones or pagers, or a high data rate communications channel.
A vibro input device is any device that produces a vibro input including vibro recording devices such as vibro microphones, vibro sensors, devices for recording voice or other sound data or information, vibro feedback devices such as vibro joysticks, a position, velocity and/or acceleration sensor coupled to a pen or other writing implement. In one embodiment, any device that produces an output signal related to a position, vibro or vibration signal applied to the input device can be used as a vibro input device.
Vibro output devices include any device that can generate a vibro effect that can be sensed by a user. Vibro output devices include but are not limited to vibrating devices such as chairs or plates, motion simulation devices such as vibro feedback joysticks and steering wheels, and tactile devices such as a vibro glove, smell/odor producing or spraying devices, and fans.
Vibro server includes any device that either processes vibro input, generates vibro output from stored vibro files or a vibro library, or creates vibro data. The vibro server can then send the vibro data to a vibro output device to be sensed by a user. A vibro server can be implemented on any computer or processor such as a personal computer. A vibro server can be combined with a vibro input or output device to create a vibro enabled unit such as a vibro television, a vibro telephone for two-way vibro communication, or a vibro computer.
It is noted that in the description of the invention that follows any embodiment that uses the term "force" can be generalized to an embodiment that includes force and all other physical sensations perceivable by a human or "vibro" without departing from the invention.
Additionally, any embodiment that uses the term "vibro" includes as a special case "force."
One embodiment of the present invention is directed to a vibro output device such as a vibro feedback joystick connected to a computer. In this embodiment the vibro data output to the vibro output device is processed and manipulated using sound or audio processes, protocols and connections in the computer. The data for generating a vibro effect on the vibro output device is stored in memory in the computer. The memory may further contain a library of different vibro effects indexed as a vibro effects library.
In operation, the vibro output device functions as follows. When a user playing, for example, a vibro enabled game on the computer encounters a situation in the game in which it is desired that one or more vibro effects to be output to the vibro output device, the game program generates one or more vibro commands representing the desired vibro effect(s). Using the vibro commands the appropriate data for generating the vibro output on the vibro output device are obtained from the memory or generated. This data, which can be stored in the memory in a format used to generate sound by the computer, is sent to a sound card and converted into a format suitable for transmission on a USB. The data is then sent by the sound card on a USB to a vibro output device. When the data is received by the vibro output device it is converted into a format suitable to drive the vibro actuator in the vibro output device and sent to the actuator.
In this embodiment, the storage of the vibro data in a suitable audio format allows the invention to leverage off of existing hardware and software in the computer that is used to process audio data for transmission to a speaker to generate sound. Additionally, since the vibro output data contains all of the information necessary to generate the vibro effect in the vibro output device it is not necessary to have a vibro library or a sophisticated processor in the vibro output device. This reduces the cost of the vibro output device. One embodiment of a vibro output device in accordance with the invention comprises a housing, a movable member coupled to the housing wherein the motion of the movable member in the at least one degree of freedom is capable of being sensed by a user, and a vibro data signal input port. A signal converting resource for converting a vibro data signal into an actuator driver data signal such as the actuator driver data signal includes substantially the same vibro effect information as the vibro data signal is electrically coupled to the vibro data input port. An actuator is electrically coupled to the signal converting resource and mechanically coupled to the movable member and the housing for applying a vibro effect to the movable member in the at least one degree of freedom.
In one aspect of the invention the signal converting resource can be an ASIC or any other electronic circuit configured to receive the vibro data signal from a USB and convert it into a format suitable to drive an actuator. Suitable actuators include but are not limited to electric motors, piezoelectric materials such as a piezoceramic element, or any other device or system that converts electrical energy to mechanical energy. The actuator can apply a vibro effect to the movable member, or in some cases the movable member is not necessary and the actuator is directly sensed by the user. Another embodiment of the invention is a method for controlling a vibro effect generated on a vibro output device wherein the vibro output device includes an object capable of motion in at least one degree of freedom. The method comprises receiving a signal containing vibro data, converting the vibro data signal into an actuator driver data signal and generating the vibro on the object capable of motion in at least one degree of freedom using the actuator driver data signal wherein the generated vibro output is substantially determined by the vibro data.
In one aspect of the invention, the vibro data signal is received from a computer on a USB. In another aspect, the vibro data signal is received over a telephone line through the Internet. In yet another aspect, the vibro data signal is received from a vibro server through the Internet. In still anther aspect the vibro data signal is received from a television, a video playback device such as a VCR or DVD player, or a vibro data generator coupled to a movie projector or any other vibro enabled device.
Another embodiment of the invention is a vibro output device for generating vibro output to be perceived by a human. In this embodiment, the device includes an actuator for generating the vibro output. The actuator is coupled to a movable member, the movable member capable of motion in at least one degree of freedom. The actuator is responsive to analog or digital electrical signals input into the vibro output device from an external source. Suitable actuators useful for embodiments of the invention include but are not limited to piezoceramic motors, and electric motors. In one aspect of the invention, at least a portion of the electrical signal includes a vibro data signal. In another aspect of the invention the electrical signal includes a modulated audio signal that has been converted to a vibro data signal. In another aspect of the invention the vibro output device includes an electrical connector for transmitting the electrical signal representing the vibro data from a device capable of outputting vibro data signals to the actuator. In another aspect of the invention the electrical connector includes but is not limited to a standard earphone or loudspeaker plug. In still other embodiments of the invention, the device capable of outputting vibro data signals to the actuator can include, but is not limited to a vibro input device in which a user applies vibro input to the input device and the vibro inputs are converted into a signal related to the user applied vibro input. Other devices suitable for outputting signals that can be converted into vibro data signals include video game devices, computers, televisions, radios, video disc players, video cassette machines such as VCRs, or any other device capable of producing an electrical signal for driving a sound producing device.
Yet another embodiment of the invention is a vibro output system including a processor and memory, the memory being coupled to the processor. An output interface device is coupled to the processor, the output interface device being capable of producing analog voltage signals. The output interface device is coupled to a vibro output device. The vibro output device includes a housing and an actuator, the actuator being responsive to the analog voltage signals. In one aspect of this embodiment, the analog voltage signals are in the frequency range between about 0 Hz and about 18 Hz (non-audible frequency), about 0 Hz and about 40 Hz, about 0 Hz and about 200 Hz, about 0 Hz and about 400 Hz, or any range subsumed therein, or signals in the aforementioned frequency ranges modulated or encoded on a carrier frequency and converted to a signal suitable to drive the actuator. In other aspects of this embodiment, the actuator includes a crystal for generating a vibro output using the piezoelectric effect. The crystal can be a piezoceramic crystal.
Yet another embodiment includes a vibro input/output device to both generate haptic output and sense a user
N-dimensional input and output (where N is an integer equal to or greater than 1). Another embodiment of the invention includes two or more vibro input/output devices connected to each other to allow one device to reproduce a user's movements of the other device.
Vibro data signals alone, modulated on an audio signal, or digitally encoded can be coupled to vibro output devices through transmission media including but not limited to an analog or digital communication line using a wire line or wireless connection, radio waves, microwaves, infrared, the Internet, or signals imposed on and picked off of power lines using, for example inductive coupling. To use a channel, the signal which includes the vibro data is converted to the appropriate format for transmission through the selected channel (e.g. for communication through the Internet, any of the standard sound file formats can be used such as.wav), the signal is then transmitted through the channel, received at the other end (converted to an electrical signal, if necessary), converted to vibro data signal and fed to the one or more actuators of the vibro output device.
In another embodiment the vibro output device includes a chair or seat configured to impart haptic sensations to a user sitting on the chair or seat. The actuators used to create the haptic sensation may include but are not limited to piezoceramic actuators, electric motors, pairs of these motors configured to produce specified sets of motions such as pitch and yaw and/or orthogonal x and y motions.
Still another embodiment of the invention is a vibro server system comprising a vibro storage and syntheses resource, a resource for receiving a vibro command and identifying or generating vibro data in the vibro storage and syntheses resource corresponding to the vibro command, and a resource for transmitting the vibro data on a network. In one embodiment a first server, which may be a gaming server, is coupled to a network such as the Internet. One or more users coupled to a network such as the Internet access the first server through the network to, for example, play a computer game. The first server is coupled to a vibro server which may reside on the same computer or a different computer coupled to the computer on which the first server resides through a direct connection, a network, or the Internet. As the one or more players accessing the first sever encounter a situation in which it is desired that a vibro output be output to them, such as a character in a game bumping into a wall, a vibro command is sent to the vibro server. The vibro command represents the vibro effect of a character in the game hitting a wall. The vibro server locates or generates the vibro data for this vibro output in the vibro storage and syntheses resource in the vibro server and synchronizes the vibro data to the gaming data and send it through the network to the user whose character bumped the wall. A vibro output device coupled to the network receives the vibro data and outputs a vibro output which the user can experience.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a block diagram illustrating an embodiment of a vibro-tactile device.
Figure 2 is a block diagram illustrating an embodiment of a vibro-tactile device.
Figure 3 illustrates various embodiments of actuators.
Figure 4 is a diagram illustrating the waveforms at various locations in the vibro-tactile device
Figure 5 is one embodiment of an electronic circuit of an AVC.
Figure 6 is a typical frequency response of one embodiment of such an AVC.
Figure 7 is a schematic representation of one embodiment of a typical audio signal, where the carrier frequency is 1000 Hz, and the modulating frequency is 10 Hz. Figure 8 shows the corresponding vibro signal, after passing the signal depicted in Figure 10 through the AVC shown in Figure 5.
Figure 9 is a block diagram illustrating an embodiment of a vibro-tactile system.
Figure 10 is a block diagram illustrating an embodiment of a wireless vibro-tactile system. Figure 11 is a block diagram illustrating an embodiment of a vibro-tactile system including a computer.
Figure 12 depicts a vibro output chair
Figure 13 depicts an orthogonal pair of electric motors configured for use as actuators. Figures 14 and 15 depict electrical circuits useful to demodulate a signal containing vibro data.
Figure 16 depicts an embodiment of the invention containing a USB channel, a vibro processor and a vibro data library
Figure 17 depicts an embodiment of the invention useful to control systems in a car.
Figure 18 is a functional block diagram of an embodiment of the invention including a computer and a vibro input/output device.
Figure 19 is a functional block diagram of an embodiment of a vibro data resource.
Figure 20 is a functional block diagram of an embodiment of a force transport layer.
Figure 21 is a functional block diagram of an embodiment of a vibro output device.
Figure 22 is a functional block diagram of an embodiment of a status/position feedback device. Figure 23 is a functional block diagram of an embodiment of an input output interface.
Figure 24 is a diagram of an embodiment of an online gaming system using a vibro force server coupled through the internet to multiple users.
Figure 25 depicts a resource that allows a vibro input/output or vibro feedback device to communicate vibro data over a USB.
DETAILED DESCRIPTION
The following description is presented to enable a person skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Thus, the present invention is not intended to be limited to the embodiments disclosed, but is to be accorded the widest scope consistent with the principles and features disclosed herein. Figure 1 depicts one embodiment of the invention. In this embodiment vibro output device 100 includes housing 102, actuator 104 and vibro data signal line 106. Actuator 104 is housed at least partially within housing 102, is electrically connected to vibro data signal line 106 and is mechanically coupled to movable member 108. If the signal on vibro data signal line 106 is a modulated or encoded vibro data signal then a resource for converting the modulated or encoded vibro data signal into a form suitable to drive actuator 104 is inserted between vibro data signal line 106 and actuator 104. Suitable resources include but are not limited to an ASIC that converts the encoded vibro data signal (e.g. a USB format signal) into a pulse width modulated signal (PWM).
Movable member 108 is capable of motion in at least one degree of freedom and conveys the motion or vibro output generated by actuator 104 to a user. Movable member 108 can be any size or shape and may rotate and/or translate. Additionally, moveable member 108 may convert or transform motion or vibro output of one type or magnitude into motion or vibro output of another type or magnitude by techniques including the use of gears or other mechanical linkages. For example, actuator 104 may generate small displacement circular motion which movable member 108 converts into large displacement translational motion. Movable member 108 can be eliminated if actuator 104 can directly generate movement or vibro output that can be perceived by the user.
Housing 102 can be any shape or size and can be made of any material; all that is necessary is that at least a portion of actuator 104 be attached to housing 102 and housing 102 be configured so that the motion or vibro output produced by movable member 108, or actuator 104 if movable member 108 is eliminated, be able to be physically conveyed to a human as a haptic sensation. Actuator 104 can be any system or device which will produce movement or a vibro output in response to a vibro data signal. Suitable actuators include but are not limited to linear or rotary electric motor (including DC motors), piezoelectric crystal, solenoid, relay, electrically controlled pneumatic device, etc. The signal to which actuator 104 is responsive generates vibro output in the frequency range sensed by human tactile sensory systems. The vibro data signal input into the vibro output device may contain vibro data in these frequency ranges that is modulated or encoded and converted to frequency ranges that can be sensed by users. Suitable forms of modulation or encoding include but are not limited to amplitude modulation, frequency modulation, or digital encoding such as formatting a signal for transmission over a USB.
Vibro data signal line 106 may receive the signal through a connection to a receiver (not shown). The receiver can be a receiver which can receive a signal using any transmission and/or encoding scheme. The transmission scheme can be, but is not limited to radio frequency, infrared, ultrasound, microwave, or optical transmission and reception systems. Encoding schemes can be, but are not limited to amplitude modulation, frequency modulation, pulse code modulation, or digital encoding schemes. In other embodiments, the received signal need not be converted into an analog signal if the received signal can actuate the actuator.
Figure 2 is another embodiment of the invention. Vibro output system 200 is configured like a joystick in this embodiment. Housing 202 contains actuator 204 which is coupled to movable member 206 which is movable in at least one degree of freedom. Actuator 204 generates motion or vibro output in response to analog signals input through analog signal input line 208. It should be noted that vibro output system 200 does not include a digital processor or a vibro library memory. An embodiment of actuator 204 is depicted in Figure 3. In the embodiment of Figure
3, movable member 206 is coupled to the joystick housing (not shown) by rotatable joint 302.
Rotation of movable member 206 about rotatable joint 302 will result in end 304 of movable member 206 moving or generating vibro output along the x and y directions indicated. Slotted elliptical members 306 and 308 allow motion of end 304, respectively in the y and x directions. Slotted elliptical member 306 is connected to bar 310 and slotted elliptical member 308 is connected to bar 312. Opposing piezoceramic crystals 314A and 314B are placed on opposite sides of bar 310 and are connected to X-driver 316, and opposing piezoceramic crystals 318A and 318B are placed on opposite sides of bar 312 and are connected to Y-driver 320. The piezoceramic crystals are coupled to the housing. Fewer or more piezoceramic crystals can be used without departing from the present invention. For example, 2 opposing pairs of crystals may be put on either side of bar 310. or just one crystal may be placed along bar 310.
One embodiment of X-driver 316 (which includes a resource for converting an analog vibro data signal into a form suitable to drive an actuator) is in inset 340. Input analog vibro data signal 342 is sent into rectifier 344 then low pass filter 346. The output of low pass filter 346 is then converted into a pulse width modulated signal in converter 348 and the signal is then fed into power amplifier 350. The output of power amplifier 350 is then fed into resonant circuit 352 which has a resonant frequency at about the same frequency as opposing piezoceramic crystals 314A and 314B. Y-driver 320 can be implemented in a similar way.
The operation of X-driver 340 will be described using an example of an analog vibro data input signal. This is for illustrative purposes only and is not meant to be limiting in any way. A sample input wave foπn is depicted in Figure 4. Other types of signals, including for example AM, FM. or digital signals, would also be suitable as input and could be converted to a signal suitable for this embodiment using well known methods or devices such as an amplitude demodulator, a frequency demodulator, or digital circuitry. Input wave 402 is rectified in rectifier 344 and becomes rectified wave 404 which is then low pass filtered in low pass filter 346 to become filtered signal 406. Filtered signal 406 is then converted into pulse width modulated signal 408 using pulse width modulation (PWM) converter 348.
Another embodiment of X-driver uses the circuit depicted in Figure 5. with the frequency response depicted in Figure 6, as the low pass filter and eliminates the use of the rectifier. This embodiment allows the generation of a vibro data signal having a base line around a reference voltage (e.g. zero) and limited range of slew rate (signal rise and fall times). The signal depicted in Figure 7 before filtering and Figure 8 after filtering is then converted into a pulse width modulated signal.
The conversion of the signal to PWM can be achieved by discrete components circuit. ASIC or micro-controllers that have the A/D and PWM features. The PWM pulses are amplified by a power H-Bridge power amplifier and then input into resonant circuit 352. The output of resonant circuit 352 drives piezoceramic crystals 314A and 314B. The motion produced in the crystals causes the crystal surfaces to execute clockwise or counterclockwise circular motion which in turn pushes bar 310 forward or backward causing motion and vibro output in the x-direction on movable member 206. Alternatively, the piezoceramic actuators can create a rotational movement or vibro output when driving a circular plate or disk. The arrangement can be either by opposing piezoceramic motors, or by one motor and a linear or rotary means to reduce friction (e.g. by linear or rotary ball bearing).
The coupling of the piezoceramic actuators to the moving member is done through an elastic coupler, where the piezoceramic actuator is pressed against the moveable member by a spring or other means of preloading. Other piezoceramic motors and configurations can be used to generate specified motions and vibro output as discussed in the book An Introduction to Ultrasonic Motors, by Toshiiku Sashida and Takashi Kenjo, Clarendon Press, 1993 which is hereby fully incorporated by reference. Alternative embodiments use linear or rotational electric motors to produce the needed vibro output. Gear transmissions can be employed to get the desired ratios of displacement velocity and vibro output.
In an embodiment not shown, electric motors driven by suitable formatted vibro data signals are used in the actuator instead of or in addition to the piezoceramic actuators. The combination of piezoceramic and electric motors may be useful to provide a range of effects more efficiently than either could alone. The configuration of electric motors and their connection to the moveable member of the joystick can be as depicted in U.S. Patent 5,742,278 to Chen et al., issued on April 21, 1998 which is hereby fully incorporated by reference. The signal input to the motors can be separately extracted from the input signal containing the vibro data or it can be picked off at an appropriate place in the actuator circuitry, for example right after the low pass filter in Figure 3.
Figure 9 generically depicts an embodiment of the invention. In this embodiment vibro output system 900 includes vibro data output device 902 connected by signal line 904 to vibro output device 906. Vibro data output device 902 is any device which can generate a vibro data signal, including but not limited to a computer, a television, a radio, a compact disc player, a video playback device, or any other device which can be used to generate a signal representing vibro data. Signal line 904 can be any channel capable of transmitting an analog or digital signal, including but not limited to a wire, a USB, a coaxial cable, or a fiber cable. The vibro data signal can be converted by vibro data output device 902 into a form suitable for transmission over signal line 904 and then converted into an actuator driver data signal by an appropriate receiver in vibro output device 906. In one embodiment, vibro data output device 902 is inductively coupled to the electrical wiring supplying it power. Signal line 904 is then the electrical wiring including the wiring connecting the devices to the wall plugs and the wall plugs to each other. Vibro output device 906 then uses inductive coupling to extract the signal from signal line 904. In another embodiment of the invention depicted in Figure 10, vibro data output device 1002 contains transmitter 1004 for transmitting a signal containing the vibro data to vibro output device 1006. Vibro output device 1006 contains receiver 1008 for receiving the signal containing the vibro data transmitted by transmitter 1004. Transmitter 1004 and receiver 1008 can transmit the signal containing the vibro data using any transmission and/or encoding scheme. Transmission can be, but is not limited to radio frequency, infrared, ultrasound, microwave, or optical transmission and reception systems. Encoding schemes include, but are not limited to amplitude modulation, frequency modulation, pulse code modulation, or digital encoding schemes. Receiver 1008 converts the transmitted signal into a form suitable to drive vibro output device 1006. Figure 1 1 depicts another embodiment of the invention. In this embodiment vibro output system 1 100 includes computer 1 102, and computer 1 102 contains processor 1 104 connected to memory 1 106 interface device 1 108. Interface device 1 108 is connected to signal line 1 1 10 which may be an analog or digital signal line. Computer 1 102 generically represents any type of computer, such as a microprocessor-based system, a mainframe system, or any other type of general or special purpose computing system which includes an interface, a processor, and a memory. Processor 1 104 is any type of processor such as a microprocessor, dedicated logic, a digital signal processor, a programmable gate array, a neural network, or a central processor unit implemented in any other technology. Interface 1 108 is any type of interface which can generate an analog or digital signal and output it onto signal line 1 1 10 including but not limited to a sound card or any audio or sound generation circuitry. Signal line 1 1 10 is connected to vibro output device 1 1 12. Vibro output device 1 1 12 includes actuator 1114 and movable member 1116. Computer 1102 can be connected to a network (not shown) such as the Internet to send and receive signals containing vibro data.
The vibro output devices can include a position and/or force or vibro sensor. In one embodiment, the vibro output device includes both an actuator that produces translational, rotational, or other vibro movement or sensations, and corresponding translational or angular position and/or vibro sensing. In this embodiment, the vibro output device contains two opposing piezoceramic motors, driven by the same driver, and producing translational displacement of a bar. Rigidly attached to the bar is a device for detecting translation of the bar. The device for detecting translation can include but is not limited to a trip with a series of holes and an LED on one side and a detector on the other side for counting the number of holes that translate between the LED detector pair. This allows for digital encoding of the translation of the bar. Another detection method includes a linear variable density light filter (gray scale) that moves in the slotted gap of an optopair. The optopair comprises an Infra Red (IR) Light Emitting Diode (LED) and an IR photodiode. The intensity of light impinging on the photodiode changes as the gray scale moves in. the slotted gap, changing the light illumination corresponding to the gray scale displacement. The change in the light intensity creates changes in the voltage over the diode which is linearly proportional to the displacement. Since the vibro output device is coupled mechanically to the handle moved by the user, any user initiated movements will move the bar and attached gray scale and will generate voltages proportional to the displacement. The voltage changes corresponding to the user movements are a vibro data signal that can be either fed to drive another vibro output device, or sent as input to an electronic device.
Figure 12 depicts an embodiment of a vibro output device, chair 1200, containing actuators. The chair may have one or more actuators in one or more locations on the chair depending on the sensations it is desired to produce. Actuator 1202 is used to produce vibro sensations for the hand or fingers, actuator 1204 is used to produce other vibro sensations for the back, shoulders or head, and actuator 1206 is used to produce vibro sensations for the overall motion of the seat. Actuators can be placed at other locations as desired in order to produce other sensations. In one aspect of this embodiment, actuators suited to produce particular types of sensations are placed in particular locations. For example, actuators suited to producing pitch and yaw motions may be coupled together and placed in an optimal location such as under a tilt plate (not shown) on the chair seat to produce overall pitch and yaw sensations while x and y actuators may be placed on a separate translatable plate (not shown) in the seat to produce overall x and y sensations. Of course, if it is desired, all of the actuators may be placed in and act on the same portion of chair 1200. Figure 13 depicts actuator 1300 including electric motors 1302 and 1304 driving orthogonal motions of actuator conversion device 1306. Actuator conversion device 1306 converts the motions of the motors into sensations suitable for use in a vibro output device such as chair 1200 of Figure 12. Figures 14 and 15 depict electrical circuits used to demodulate a signal containing vibro data amplitude modulated on a carrier (40 kHz for the particular components used in Figure 14) and amplify its power to run an electric motor actuator. The values of the components depicted in Figures 13 and 14 can be varied for different frequency carrier waves in ways that are well known to those of ordinary skill in the art with the aid of standard reference books such as The Art of Electronics by Paul Horowitz and Winfield Hill, Cambridge University Press, 1989, which is hereby fully incorporated by reference.
The circuit of Figure 14 demodulates the signal from the carrier such that changes in the amplitude of the signal result in proportional changes in the magnitude and sign of the DC output of the circuit (i.e., the motors will rotate faster or slower depending on the magnitude of the signal and clockwise or counter-clockwise depending on the sign of the signal. The output of the circuit of Figure 14 is fed into the motor driver circuit of Figure 15. This circuit converts the signal output from the circuit of Figure 14 into a signal with enough strength to drive the motors.
In one particular embodiment of the chair 1200, with a maximum payload of 300 pounds, the actuators can achieve pitch and roll motions of up to +/- 15 degrees, surge and sway motions of up to +/- 1.5 inches; pitch and roll velocities of up to +/- 30 degrees per second and surge and sway velocities of up to +/- 10 inches per second; and pitch and roll accelerations of up to +/- 150 degrees per secondΛ2, and surge and sway accelerations of up to +/- 0.25 times gravity.
Another embodiment of the invention includes a vibro output device such as a vibro feedback joystick. The vibro output device does not contain a central processing unit and receives the signal containing vibro data from a standard audio input/output port on a computer, video games system, television, VCR, or stereo system. The signal containing vibro data may be modulated or encoded in any form including AM, FM or digital encoding. In an embodiment in which the signal is output from a computer containing a sound card or dedicated sound processor, vibro signal received through a network or from a program or application running on the computer are sent to the sound processor in the computer. The processor then generates and sends the vibro data signal on a separate audio channel mixed with the audio stream on that channel using the digital-to-analog converters present in the computer for processing and generating sound. Input can be received form a vibro data output device or sensing member through a microphone or audio input on the computer and input into the computer using the sound processing resource to digitize the input signal.
In embodiments in which a digital-to-analog converter is not present in the computer, this component can be included in the vibro output device, and a digital signal can be transmitted from the computer for conversion to an analog signal by a digital-to-analog converter in or attached to the vibro output device. It is noted that sound editing systems or software can be used to compose signals containing vibro data. Vibro libraries can be generated through the creation and storage of signals creating specified effects. Such libraries allow the creation and editing of vibro compositions through the use of such modular effects.
Figure 16 depicts yet another embodiment of the invention. In this embodiment vibro output system 1600 includes vibro output device 1602 coupled to vibro data system 1604 by connection 1606. Connection 1606 can be any type of connection for transmitting analog or digital data including but not limited to a wire, a coaxial cable, a USB, an infrared link, a radio link, a telephone line, a cellular telephone network, a fiber optic link, or a network such as the Internet. Vibro output device 1602 includes resource 1608 for converting signals containing vibro data into a signal suitable to drive actuator 1610. Resource 1608 can be but is not limited to an ASIC, a programmable logic array, a processor, or any logic or circuitry in analog or digital form that can convert the vibro data in the signal received over connection 1606 into a signal format suitable to drive actuator 1610. The output of resource 1608 is input into actuator 1610 and actuator 1610 moves and/or applies a force or other vibro motion to movable member 1612. Actuator 1610 can be but is not limited to one or more piezoelectric devices such as piezoceramic crystal, one or more electric motors or DC motors and gears or any other device which can convert an electrical signal into force, motion, or other vibro output. Movable member 1612 is depicted as being a joystick handle but other objects or configurations can be used to couple the force, motion, or other vibro output generated by the actuator to the user. Suitable objects include but are not limited to a plate which is vibrated by the actuator, a ball such as a track ball which can be moved or rotated by the actuator. Additionally, the actuator can be used to apply a frictional force to the object so that the actuator does not move the object itself but only provides a resistive force to the motion of the object.
Movable member 1612 is coupled to a position encoder 1614 which detects a position of movable member 1612. Suitable position encoders have been described above and one useful embodiment is a slotted wheel with an LED and detector on either side of the wheel. Motion of the movable member cause rotation of the slotted wheel and as the slots rotate between the LED/detector pair, a digital signal is generated corresponding to the motion and relative position of the movable member. This encoding scheme is the same as is commonly used in a mouse. See, for example, U.S. patent 5,670,990 issued 9/23/97 which is hereby full incorporated by reference. The output of the position encoder 1614 is output to resource 1616 for transmission over connection 1606. It is noted that resource 1616 may be resident on the same physical circuitry as resource 1608.
Vibro data system 1604 includes processor 1618 coupled to memory 1620. Processor 1618 may optionally include a vibro data processor 1622. Vibro data processor 1622 can be but is not limited to a processor used to process sound or other multimedia data. Memory 1620 may optionally include vibro data library 1624. Vibro data library 1624 can include but is not limited to a data base of vibro data including each position and possible vibro vector for actuator 1610 movable member 1612 pair. In this way any vibro output that can be generated by actuator 1610 movable member 1612 pair can be constructed from the data in the vibro data library. Vibro data library 1624 can also be configured to containing predefined vibro scenarios (e.g., one or more of position, force, amplitude, frequency, and duration) corresponding to the occurrence of particular situations or states of vibro output system 1600. Vibro data system 1604 is coupled to network connection 1626. Network connection
1626 can be but is not limited to an intranet, an internet, the Internet, a telephone system, a wireless network such as a cellular telephone network, or a banking system network.
One aspect of vibro output system 1600 operates as follows. An application running on vibro data system 1604 causes an indicator such as a cursor or a character in a computer game to be displayed on a display (not shown). A user moves movable member 1612 causing position encoder 1614 to generate a position signal which is transmitted to resource 1616, over connection 1606 and into vibro data system 1604. The application running in vibro data system 1604 then moves the indicator on the display in response to the position signal. When the indicator collides with a specified object or arrives at a specified location on the display the application causes a vibro command to be generated. The vibro command corresponds to the vibro sensations desired to be output to vibro output device 1602. For example, the vibro command may specify the duration, amplitude, and frequency of a vibro output to be sent to vibro output device 1602. It is noted that the vibro sensation could include a friction force also. This vibro command causes vibro data processor 1622 to access vibro data library 1624 and retrieve the vibro data corresponding to the vibro command. The vibro data contains all of the information necessary for actuator 1610 to drive movable member 1612 to execute the requirement of the vibro command.
As an example, when a user moves the indicator from an inactive part of the display to the currently active window, an application running as part of the operating system in vibro data system 1604 (or another computer attached to vibro data system 1604 through network connection 1626) generates an "active window" vibro command for the movable member to vibrate for 1 second with a frequency of 3 hertz and an amplitude of 2.5 millimeters about its current position. This vibro cue is used to alert the user to the position of the indicator. The vibro command is interpreted by vibro data processor 1622 and the vibro data to generate this vibro sensation in vibro output device 1602 is retrieved from vibro data library 1624 and sent to vibro output device 1602. As a further example, while this vibro cue is being output by vibro output device 1602, a notice that an email message has arrived for the user is received by vibro data system 1604 over network connection 1626. This notice is mapped by vibro data processor 1622 into an "email arrival" vibro command. In this example the "email arrival" vibro command is a 3 one half second burst of a 6 hertz, 1 millimeter amplitude vibration. Vibro data processor 1622 retrieves the vibro data for this vibro profile from vibro data library 1624. The vibro data for the "email arrival" vibro sensation and the "active window" vibro sensation are combined by vibro data processor 1622 and sent to vibro output device 1602. Vibro data processor 1622 may, in some cases, send out such cue one after the other rather than combining them so that a user can differentiate each of the cues separately.
As yet another example, there is an embodiment of the invention in which vibro output device 1602 is a mouse, trackball, or other pointing device. In this embodiment, when the user selects an object on a display (not shown) coupled to vibro data system 1604, a resistance force is output to the pointing device which is proportional to the memory taken up by the object selected. For example, if a user selects a folder on the display to drag it to another location on the display, a resistance force will be output to the mouse, trackball or other pointing device which provides a resistance to the user's motion of the pointing device wherein the resistance is proportional to the amount of memory used by the contents of the folder. In other examples, when the user places the pointing device on a folder or file displayed on the display, characteristic vibro sensations are output to the pointing device indicating to the user information about the contents of the folder or file. In one embodiment, word processing files result in a 2 hertz, .5 second duration 1 millimeter vibro sensation on a movable member attached to the pointing device, and a link to a financial web site results in a 5 hertz 1 second .5 millimeter vibro sensation. A standard "language" of vibro sensations can be developed to indicate or alert the user to certain information or occurrences.
Other vibro output devices that may be used in embodiments of the invention include but are not limited to a vibrating plate, a fan to couple the vibro output to air to be sensed by a user, or a device for producing odors and smells. In the embodiment in which the vibro data signal is an odor or smell, the vibro signal is output to an atomizer that sprays a specified mixture of odors from a set of basic odors. The odors can then be neutralized by another vibro data signal that activates an ionizer, odor neutralizing spray, air filter, or other device to dissipate or eliminate the odor. It is noted that an artificial smelling device can be used to input odor data into vibro data system 1600 so that odors perceived at one location can be sensed, stored and transmitted to another location for output to a user just as vibro data system can receive a vibro sensation input from another location, store it and output it to a vibro output device at another location. Figure 17 depicts yet another embodiment of the invention. In this embodiment car control vibro output system 1700 which includes vibro output device 1702 is attached to steering wheel 1704. Vibro output device 1702~is coupled to a processor (not shown) and a memory (not shown) through wires (not shown). Vibro output device 1702 includes trackball
5 1706.
This embodiment of the invention allows a user to control the operation of various systems of the car using trackball 1706. In operation a user rolls the trackball in the horizontal direction using his thumb to select the system he wishes to control. As the trackball is rolled and the user scrolls through the different systems, a vibro output profile characteristic of each
10 system is output by the processor to the trackball. For example, when the radio 1708 is selected an actuator in vibro output device 1702 is sent a vibro data signal causing it to vibrate at a first frequency, then as the user continues to move the trackball and another system is selected a vibro output device 1702 vibrates at a second frequency.
When the user feels the vibro profile characteristic of the desired function, the user
-15- operates-the system-by roHing=the trackball ui-the-verticaFdirection. For example, whenihe radio system is selected, the user can tune the radio 1708 by rolling the trackball in the vertical direction. As radio stations are tuned in, the processor causes a frictional force to be applied to the trackball in the vertical direction wherein the friction force is related to the strength of the radio station. As the user tunes closer to a station, the frictional force gets stronger, then
20 as the user tunes away from the station, the frictional force gets weaker. The user can then move the trackball horizontally to select the next system, the windshield wipers 1710. Now, as the user moves the trackball vertically, the resistance increases as the selected windshield wiper speed increases. Similar effect can be obtained with, for example, a cruise control 1712.
In other embodiments of the invention a vibro output device is integrated into the
25 driver's seat in the automobile. Motion sensors and short range radar, ultrasound or other detectors are placed at various locations around the automobile and the output from these detectors is input into the processor. When an objecr is detected near the car, for example in the driver's blind spot, a characteristic vibro signal is output to the vibro output device in the driver's seat alerting him to the presence of an object in the blind spot. Other detectors and
30 systems including collision avoidance systems can be integrated into car control vibro system 1700.
21
RECTIFIED SHEET (RULE 91) ISA/EP Figure 18 is a system diagram of an embodiment of the invention. This embodiment includes computer 1802 running operating system 1804 application 1806, vibro data resource 1808, and vibro transport layer 1810. Operating system 1804 can be any operating system capable of running computer 1802 including but not limited to Windows (R) (by Microsoft Corporation), UNIX, or Apple Corporation's operating system. Application 1806 can be any application that can run on computer 1802 including but not limited to a word processing program, a game program, a utility application, a calendar program, a scheduling program, a web browser, a communications program, a data base program, an email program, or any other program running on any computer that can communicate with computer 1802 through a network connection (not shown) or an internet connection such as the Internet. Vibro data resource 1808 includes a vibro retrieval resource, a vibro synthesis resource, a vibro mixing resource and optionally a vibro database or a vibro library.
Computer 1802 is coupled to vibro input/output device 1812. It is noted that vibro input/output device 1812 can be physically implemented as one or more separate vibro input and/or output devices, including but not limited to separate input and output devices, one or more integrated input/output devices and any possible combination of these devices. Vibro input/output device 1812 includes input/output device interface 1814 coupled to power stage 1816. Power stage 1816 is coupled to vibro actuator 1818 which is coupled to object/movable member 1820. Object/movable member 1820 is coupled to status/position feedback device 1822 which is coupled to input/output device interface 1814. It is noted that object/movable member 1820 can be anything whose motion, position, or other vibro output can be sensed by a user.
Figure 19 depicts a more detailed diagram of a vibro data resource 1900. Vibro data resource 1900 includes vibro command interpreter 1902 and vibro storage and syntheses resource 1904. Vibro storage and synthesis resource 1904 includes wave file resource 1906, vibro data library 1908, vibro function library 1910, vibro feedback resource 1912, and any other resources for generating, synthesizing or otherwise creating vibro effects. Wave file resource 1906 includes vibro data stored in a protocol consistent with the generation of audio signals on a computer system. The vibro data stored in wave file resource 1906 can be composed or generated by a user using audio signal generation and composition tools, and stored in vibro command interpreter 1902 for later use. Vibro data library 1908 is a pre-existing library of vibro data which in some embodiments contains a complete basic set of the possible states of the vibro output device to be driven. In this way every possible state of the vibro output device can be accessed by the data stored in vibro data library 1908. Vibro function library 1910 includes vibro functions and data which generate output vibro data based inputs contained in the vibro commands. Vibro feedback resource 1912 includes vibro functions and data which generate output vibro data based on a position signal from a vibro input device. The vibro data output can be used to feedback on the vibro commands issued by the operating system to vibro storage and synthesis resource 1904. The output of vibro storage and synthesis resource 1904 is sent to an additive mixer in which the vibro effects are combined. The resulting vibro data signal is then sent to the vibro transport layer.
In one aspect of this embodiment, vibro command interpreter 1902 controls the timing of the vibro commands so that one vibro effect does not mask another, and ensures that the user is able to perceive each of the distinct vibro effects. For example, if a vibro command for an explosion and a vibro command signaling the arrival of new mail are input into vibro storage and synthesis resource 1904 at or near the same time, vibro storage and synthesis resource 1904 will delay the output of the new mail vibro signal until the vibro signal for the explosion is over.
Figure 20 depicts an embodiment of vibro transport layer 2000. The input to vibro transport layer 2000 is sent to coding resource 2002 where it is converted into a format suitable to be input into data bus controller 2004. The coded signal is then sent to data bus controller 2004 for transmission on analog/digital data bus 2006. Data bus controller 2004 may convert the signal to an appropriate format such as a USB format for transmission on analog/digital bus 2006 if necessary.
Figure 21 depicts vibro output device 2100 which may be part of an input/output device. A vibro signal is received from an analog/digital data bus by input/output device interface 2102. The vibro data signal is converted into PWM if it is not already in that format and the PWM signal is sent to a power stage so that it can drive actuator 2106. Actuator 2106 may be coupled to an object or movable member if necessary to achieve desired vibro output.
Figure 22 depicts vibro input/position feedback device 2200 which may be used as part of a vibro input/output device or a vibro feedback device. Object/movable member 2202 is coupled to vibro/position sensor 2204 which senses the position and/or vibro motion applied to object/movable member 2202 and sends this information to encoding resource 2206. Encoding resource 2206 converts this information into the format desired for input to input/output device interface 2208. User buttons 2210 are also coupled to input output device interface 2208 through user button detecting resource 2212. Input/output device interface 2208 converts the signals it receives from encoding resource 2206 and user button detecting resource 2212 into a format suitable for transmission over the analog/digital bus.
Figure 23 depicts a detailed diagram of an input/output device interface which includes analog/digital data bus interface 2302 coupled to an analog/digital data bus. Analog/digital data bus interface 2302 is coupled to signal coder/decoder CODEC 2304. CODEC 2304 converts the vibro data signal from the format used for transmission on analog/digital data bus interface 2302 into a format for use by the vibro output device, such as PWM. The signal from CODEC 2304 is then sent to vibro actuator controller 2306 which extracts control data from the vibro data signal and generates control signals for the actuator. Control signals may include but are not limited to automatic gain control signals, and timing and power signals.
Vibro input/position feedback device resource 2308 receives a data signal from a vibro input/position feedback device and feeds it into CODEC 2304 for conversion into a format suitable for transmission over the analog/digital data bus interface such as a USB protocol. User button resource 2310 receives signals from a user button detection resource and converts it into a format suitable for transmission over the analog/digital data bus.
In operation one aspect of the embodiment depicted in Figure 18 would work as follows. One or more applications are running on computer 1802. Such applications may include a web browser, an email application, a word processing application, a daily calendar and a computer game. The email application receives a new email message and then notifies the operating system of this occurrence, and the operating system then sends a signal to the vibro data resource noting the arrival of the email. Additionally, the web browser receives a confirmation message from an online trading service that trade has been executed for the user.
The operating system receives this message from the web browser and sends this information to the vibro data resource. The user is playing the computer game, and the computer game is continually sending requests through the operating system to the vibro data resource for vibro effects to be output to the vibro feedback device the user is using to play the computer game. The email notification signal, the trade confirmation signal and vibro output request from the computer game are all sent to the vibro data resource as a vibro commands. The vibro command interpreter retrieves the email notification vibro data from the vibro data library and the user defined wave file in the wave file resource that the user has generated to correspond to the trade confirmation vibro command. The vibro command from the game is a request for a series of vibro effects related to a fight the user's character is engaged in as part of the game. The vibro command interpreter decides that not all of these vibro effects can be sent to the vibro output device and sensed by the user at once, so the vibro command interpreter prioritizes the vibro signals using a predefined priority list based on user preferences and default priorities. The user has previously decided that trade confirmation requests have priority over email notification and game output, and by default the email notification has a lower priority than interactive feedback vibro signals (such as the fight vibro signals) from the computer game. The vibro command interpreter then immediately sends the trade confirmation vibro data to the additive mixer and either delays the game related vibro data or reduces its amplitude. These signals are then mixed and sent to the vibro transport layer, through the analog/digital data bus and to the vibro output device. The vibro command interpreter then sends out the email notification vibro data to the mixer, then the vibro transport layer and over the analog/digital data bus to the vibro output device.
Figure 24 depicts an embodiment of the invention in which vibro data is communicated to users through the Internet. In this embodiment one or more users 2402A, 2402B, and 2402C are playing a computer game via their respective computers 2404A-C using their respective vibro feedback joysticks 2406A-C over Internet 2408. Gaming server 2410 and vibro server 2412 are each connected to Internet 2408 and each other. Vibro server 2412 includes vibro database 2414 which contains vibro effects and vibro data for each of the games available for play on gaming server 2410.
In operation, as users play an online game through the Internet, gaming server 2410 sends data to each user's computer related to situations or scenarios in the game, and the gaming server also sends information to the vibro server related to which vibro data should be output to the users as part of the game and the timing of the desired output with respect to the users' progress in the game. The vibro server outputs the appropriate vibro data through the Internet to the respective users' vibro feedback joystick.
The vibro server receives information over Internet 2408 related to the position of vibro feedback joysticks 2406 A-C and generates the appropriate vibro data to be output back to the users and also relays this feedback information to the gaming server so that the users progress in the game can be adjusted accordingly. For example, if the online game is an interactive fighting game, one user's vibro input device is used by the user to generate a kick. This vibro input is sent through the Internet to the vibro server and the game server. The information for displaying the kick is then transmitted back to each of the users to show the progress of the kick, and when the kick hits an opponent each player is sent a vibro signal indicating the impact of the kick on one player and the stopping of the kicking players foot by the opponent's head. Additional vibro clues can be sent including but not limited to a vibro signal indicating that a user's weapon is pointing at another user's character in the game.
In one embodiment of the invention, users are charged for access to the vibro effects in the vibro data server. Users can be charged by the amount of time used, number of vibro effects they have access to, or per game.
Another embodiment of the invention is a vibro terrain mapper. In this embodiment a user generates a map of an area by defining different vibro sensations for different areas of the map. For example, a computer programmer can create a vibro map of a graphical user interface being developed and define each region of the display or interface as corresponding to a difference vibro sensation. This mapping can then be stored in a vibro data resource or integrated into the application. Additionally, computerized geographic maps or maps such as at of a computer game can be enhanced with vibro sensations and the vibro command for these sensations can be integrated into the map or the application displaying the map. Another embodiment of the invention is a vibro recorder. This embodiment allows the recording of tactile, force or other vibro sensations of a place or object. The vibro data collected by the recording device can be streamed to another location for output, or stored in a computer for later use.
Yet another embodiment of the invention is a vibro channel. A vibro channel is a channel of vibro information, commands or data that is added to media played on media play devices such as televisions, movie projectors, compact disc players, video cassette machines, DVD players, telephones, web sites, or any other media that creates a human perceivable output. As one example, films for display in movie theaters can have a vibro track added (much like the sound track) so that vibro enable theatres can have vibro output devices synchronize their output with the picture and sound of the file. Television programs can have a vibro signal transmitted along with the sound and other signals comprising the program. These vibro signals can then be output by a vibro output device coupled to the television. A telephone can have a vibro recorder and/or a vibro output device attached to it so that a user can generate vibro signals and send them to another user and/or receive vibro output over the telephone through a vibro channel included with the voice information. Another embodiment of the invention is a resource for receiving vibro data in a vibro output device and converting the vibro data into a form suitable to drive an actuator. The resource may include but is not limited to a programmable logic array, logic implemented in hardware or software, a micro controller, a microprocessor, or an application specific integrated circuit (ASIC). Figure 25 depicts one embodiment. In this embodiment resource 2500 includes USB connection 2502 coupled to USB core 2504. USB core 2504 is coupled to processor 2506 and out to an actuator (not shown). Position signal input 2510 is coupled into resource 2500. In one embodiment the position input includes 4 axis of position information input into resource 2500 as an analog signal and converted into a digital signal by processor 2506. In another embodiment, the position signal is 4 digital channels each 8 bits per channel either in series or parallel.
Button input 2512 is coupled into resource 2500. In one embodiment the button input signal includes 4 by 4 matrix of buttons information (8 bits or 16 bits if individual button control is desired.
In operation, a signal input into resource 2500 through USB connection 2502 is input into USB core 2504 and . the signal is output to processor 2506, converted into PWM format and sent to the actuator. Position and button information are input to processor 2506 through position signal input 2510 and button input 2512 respectively. Processor 2506 digitally encodes the information in these signals, and sends it to the USB core. From the USB core the signal is sent over a USB through the USB connection 2502. The foregoing description of embodiments of the present invention are presented for the purposes of illustration and description only. They are not intended to be exhaustive or to limit the invention to the forms disclosed. Many modifications and variations will be apparent to practitioners skilled in the art.

Claims

WHAT IS CLAIMED IS:
1. A method for controlling vibro output generated on a vibro output device wherein the vibro output device includes an object capable of motion in at least one degree of freedom, the method comprising: receiving a vibro data signal containing vibro effect information; converting the vibro data signal into an actuator driver data signal such that the actuator driver data signal includes substantially the same vibro effect information as the vibro data signal; and generating the vibro output on the object capable of motion in at least one degree of freedom using the actuator driver data signal wherein the generated vibro output is substantially determined by the vibro effect information.
2. The method of claim 1, wherein receiving from a computer a vibro data signal containing vibro effect information includes receiving the vibro data signal from a universal serial bus.
3. The method of claim 1, wherein converting the vibro data signal into an actuator driver data signal such that the actuator driver data signal includes substantially the same vibro effect information as the vibro data signal includes generating a pulse width modulation signal.
4. The method of claim 1 , wherein converting the vibro data signal into an actuator driver data signal such that the actuator driver data signal includes substantially the same vibro effect information as the vibro data signal includes encoding information in the force effect information in a time duration of a pulse in the actuator driver data signal.
5. The method of claim 1, comprising generating in a computer the signal containing vibro data using information including information displayed on a display coupled to the computer.
6. The method of claim 1 , comprising: generating a position signal based on a position of the object; and transmitting the position signal to a computer.
7. The method of claim 1, comprising generating the vibro data signal in a computer wherein the vibro data signal is generated using information including information in the position signal.
8. The method of claim 7, wherein transmitting the position signal to the computer includes transmitting the position signal on a universal serial bus.
9. The method of claim 7, wherein generating the vibro data signal includes using information including information stored in a memory in the computer.
10. The method of claim 1, wherein the object is capable of motion in at least two degrees of freedom.
11. The method of claim 1, wherein the vibro output includes generating a frictional force on the object.
12. The method of claim 1, wherein the vibro output includes generating a smell.
13. The method of claim 1, wherein receiving from a computer a vibro data signal containing vibro effect information includes receiving the vibro data signal over a network.
14. The method of claim 13, wherein the network includes the Internet.
15. The method of claim 1 , wherein the vibro output device does not include a vibro data library.
16. A device for generating vibro effects, comprising: a housing; an object capable of motion in at least one degree of freedom coupled to the housing; a vibro data input port; a signal converting resource electrically coupled to the vibro data input port for converting a vibro data signal into an actuator driver data signal such that the actuator driver data signal includes substantially the same vibro information as the vibro data signal; an actuator, electrically coupled to the signal converting resource and mechanically coupled to the object capable of motion in at least one degree of freedom and the housing for applying a vibro output to the object capable of motion in at least one degree of freedom.
17. The device of claim 16, wherein the signal converting resource is configured to receive the vibro data signal from a universal serial bus.
18. The device of claim 16, wherein the signal converting resource includes a resource that generates a pulse width modulation format signal.
19. The device of claim 16, wherein the signal converting resource includes a resource that encodes information in the force effect information in a time duration of a pulse in the actuator driver data signal.
20. The device of claim 16, comprising a computer wherein the computer is coupled to the vibro data input port and the computer includes a resource for generating the vibro data signal using information including information displayed on a display coupled to the computer.
21. The device of claim 16, comprising a resource that generates a position signal based on a position of the obj ect.
22. The device of claim 21 , comprising a computer wherein the computer is coupled to the vibro data input port and the computer includes a resource that generates the signal containing force data using information including information in the position signal.
23. The device of claim 22, wherein the resource that generates the position signal generates the position signal in a protocol for transmission on a universal serial bus.
24. The device of claim 21 , comprising a computer wherein the computer is coupled to the vibro data input port and the computer includes a resource for generating the signal containing force data using information including information stored in a memory in the computer.
25. The device of claim 34, wherein the computer is coupled to the vibro data input port through a connection including a network.
26. The device of claim 25, wherein the network includes the Internet.
27. The device of claim 16, comprising a cellular telephone, wherein the cellular telephone is coupled to the vibro data input port.
28. The device of claim 16, comprising a resource for reading video information from a medium, wherein the resource for reading video information from a medium is coupled to the vibro data input port.
29. The device of claim 16, wherein the resource for reading video information from a medium includes a video cassette playback machine.
30. The device of claim 16, comprising a vibro input device coupled to the vibro data input port.
31. The device of claim 30, wherein the vibro data input device is coupled to the vibro data input port by a connection including the Internet.
32. The device of claim 16, wherein the object is capable of motion in at least two degrees of freedom.
33. A device for generating vibro effects, comprising: a housing; a movable member coupled to the housing, the movable member being capable of motion in at least one degree of freedom; a vibro data input port; a signal converting resource electrically coupled to the force data input port for converting a vibro data signal into an actuator driver data signal using a nonlookup conversion process; an actuator, electrically coupled to the signal converting resource and mechanically coupled to the movable member and the housing for applying a vibro output to the movable member in the at least one degree of freedom.
34. The device of claim 33, comprising a computer that generates the vibro data signal, wherein the computer is coupled to the vibro data input port.
35. The device of claim 34, wherein the computer includes a vibro function library.
36. The device of claim 34, wherein the computer includes a vibro data library.
37. The device of claim 34, wherein the computer is coupled to the vibro data input port by a connection including the Internet.
38. The device of claim 33, comprising a cellular telephone that generates the vibro data signal wherein the cellular telephone is coupled to the vibro data input port.
39. The device of claim 33, comprising: a computer, the computer being coupled to the vibro data input port; a resource for generating interactive data, the resource for generating interactive data being coupled to the computer through a connection including the Internet; a resource for generating vibro data, wherein the resource for generating vibro data is coupled to the resource for generating interactive data, and the resource for generating vibro data is coupled to the computer through a connection including the Internet.
40. The device of claim 39, wherein the resource for generating vibro data includes a vibro server.
41. The device of claim 39, wherein the resource for generating interactive data includes a gaming server.
42. The device of claim 33, comprising a vibro input device coupled to the vibro data input port.
43. The device of claim 42, wherein the vibro input device is coupled to the vibro data input port by a connection including the Internet.
44. The device of claim 42, wherein the vibro input device is coupled to the vibro data input port by a connection including a computer.
45. The device of claim 33, comprising a computer wherein the computer includes a resource that stores vibro data in an audio data format.
46. The device of claim 34, wherein the computer includes a resource that generates a signal containing vibro data from information including the information generated by a computer game.
47. The device of claim 34, wherein the computer includes a resource that generates a signal containing vibro data from information including information stored in a vibro function library.
48. The device of claim 34, wherein the computer stores the vibro data in a vibro file.
49. The device of claim 33, comprising: a processor coupled to the vibro data port; and a resource for coupling the processor to a network.
50. The device of claim 49, wherein the network includes a cellular telephone link.
51. The device of claim 49, wherein the network includes an internet link.
52. The device of claim 49, comprising a video playback device coupled to the network that outputs a vibro data signal.
53. A method for controlling vibro output generated on a vibro output device as part of an interactive application wherein the vibro output device includes an object capable of motion in at least one degree of freedom, the method comprising: receiving a vibro data signal containing vibro effect information from a vibro server; converting the vibro data signal into an actuator driver data signal such that the actuator driver data signal includes substantially the same vibro effect information as the vibro data signal; generating the vibro output on the object capable of motion in at least one degree of freedom using the actuator driver data signal wherein the generated vibro output is substantially determined by the vibro effect information; sending vibro input from a vibro input device to the vibro server; and generating an updated vibro data signal using information including information contained in the vibro input.
54. The device of claim 53, wherein: receiving the vibro signal includes receiving the vibro signal over a connection including the Internet, and sending vibro input from the vibro input device includes sending the vibro input signal over a connection including the Internet.
55. The device of claim 53, wherein generating the updated vibro signal includes using information including information related to vibro input from a second vibro input device.
56. A vibro output device for use with a computer displaying graphical information, the vibro output device comprising: a housing; a movable member pivotally coupled to the housing allowing motion of the movable member in at least one degree of freedom; a driver responsive to a vibro data signal output by the computer, wherein the vibro data signal includes vibro information generated based on the graphical information; and an actuator coupled to the housing and to the movable member for applying vibro output to the handle in the at least one degree of freedom, wherein the vibro output is proportional to an amplitude of the analog signal.
57. The device of claim 56, comprising a sensor that produces position signals specifying a position of the handle with respect to the one degree of freedom.
58. The device of claim 56, wherein the movable member is manipulatable by a user in at least two degrees of freedom.
59. The device of claim 56, wherein the actuator includes a piezoelectric material.
60. The device of claim 56, wherein the actuator includes an electric motor.
61. The device of claim 56, wherein the vibro output device outputs a smell in response tot he vibro data signal.
PCT/IL1999/000066 1998-02-03 1999-02-02 System and method for vibro generations WO1999040504A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP99902805A EP1053520A1 (en) 1998-02-03 1999-02-02 System and method for vibro generation
AU22977/99A AU2297799A (en) 1998-02-03 1999-02-02 System and method for vibro generations

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US7353498P 1998-02-03 1998-02-03
US60/073,534 1998-02-03
US9026798P 1998-06-22 1998-06-22
US60/090,267 1998-06-22
US10847298P 1998-11-15 1998-11-15
US60/108,472 1998-11-15

Publications (2)

Publication Number Publication Date
WO1999040504A1 WO1999040504A1 (en) 1999-08-12
WO1999040504A9 true WO1999040504A9 (en) 1999-10-21

Family

ID=27372296

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL1999/000066 WO1999040504A1 (en) 1998-02-03 1999-02-02 System and method for vibro generations

Country Status (4)

Country Link
EP (1) EP1053520A1 (en)
CN (1) CN1299479A (en)
AU (1) AU2297799A (en)
WO (1) WO1999040504A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9245428B2 (en) 2012-08-02 2016-01-26 Immersion Corporation Systems and methods for haptic remote control gaming
USRE45884E1 (en) 2000-06-30 2016-02-09 Immersion Corporation Chat interface with haptic feedback functionality
US9280205B2 (en) 1999-12-17 2016-03-08 Immersion Corporation Haptic feedback for touchpads and other touch controls
US9492847B2 (en) 1999-09-28 2016-11-15 Immersion Corporation Controlling haptic sensations for vibrotactile feedback interface devices

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6639581B1 (en) * 1995-11-17 2003-10-28 Immersion Corporation Flexure mechanism for interface device
AU1328597A (en) 1995-11-30 1997-06-19 Virtual Technologies, Inc. Tactile feedback man-machine interface device
US6693622B1 (en) 1999-07-01 2004-02-17 Immersion Corporation Vibrotactile haptic feedback devices
US7182691B1 (en) 2000-09-28 2007-02-27 Immersion Corporation Directional inertial tactile feedback using rotating masses
US9625905B2 (en) 2001-03-30 2017-04-18 Immersion Corporation Haptic remote control for toys
US7056123B2 (en) 2001-07-16 2006-06-06 Immersion Corporation Interface apparatus with cable-driven force feedback and grounded actuators
JP2003323256A (en) * 2002-04-26 2003-11-14 Fuji Xerox Co Ltd Information processing device
KR200319960Y1 (en) * 2003-04-16 2003-07-22 (주)사운드스케이프 Mouse device having means for voice output
US8232969B2 (en) 2004-10-08 2012-07-31 Immersion Corporation Haptic feedback for button and scrolling action simulation in touch input devices
ES2303744B1 (en) * 2005-08-31 2009-07-23 David Nieto Hernandez PHYSICAL SENSATIONS TRANSMISSION SYSTEM.
US8468280B2 (en) 2006-10-26 2013-06-18 D-Box Technologies Inc. Audio interface for controlling a motion platform
US8120585B2 (en) * 2006-11-16 2012-02-21 Nokia Corporation Method, apparatus, and computer program product providing vibration control interface
NL2003226A (en) 2008-08-19 2010-03-09 Asml Netherlands Bv Lithographic apparatus, drying device, metrology apparatus and device manufacturing method.
EP2455840A1 (en) * 2010-11-02 2012-05-23 Sony Ericsson Mobile Communications AB Communication device and method
US9891709B2 (en) 2012-05-16 2018-02-13 Immersion Corporation Systems and methods for content- and context specific haptic effects using predefined haptic effects
FR2991791B1 (en) * 2012-06-06 2014-08-08 Commissariat Energie Atomique TEMPERATURE TOUCH STIMULATING INTERFACE
CN104091360A (en) * 2014-07-28 2014-10-08 周立刚 Method and device for generating movement data through dynamic cinema
CN109661638B (en) * 2016-09-09 2022-04-15 索尼公司 Terminal device, server, and information processing system
CN112346561B (en) * 2020-10-15 2022-10-25 瑞声新能源发展(常州)有限公司科教城分公司 Vibration driving method and system, vibration equipment and storage medium
CN112394817B (en) * 2020-11-26 2022-04-26 瑞声新能源发展(常州)有限公司科教城分公司 Method, apparatus, electronic device and storage medium for responding to vibration event
CN113824383A (en) * 2021-09-16 2021-12-21 广州超静智能科技有限公司 Control method of sound wave motor and drive circuit of sound wave motor
CN115967330A (en) * 2021-10-11 2023-04-14 深圳麦克韦尔科技有限公司 Electronic atomizer linear motor control method, device and system and electronic atomizer

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3686686B2 (en) * 1993-05-11 2005-08-24 松下電器産業株式会社 Haptic device, data input device, and data input device device
US5490784A (en) * 1993-10-29 1996-02-13 Carmein; David E. E. Virtual reality system with enhanced sensory apparatus
GB9401899D0 (en) * 1994-02-01 1994-03-30 Boc Group Plc Improvements in simulation apparatus
AU1328597A (en) * 1995-11-30 1997-06-19 Virtual Technologies, Inc. Tactile feedback man-machine interface device
US6028593A (en) * 1995-12-01 2000-02-22 Immersion Corporation Method and apparatus for providing simulated physical interactions within computer generated environments

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9492847B2 (en) 1999-09-28 2016-11-15 Immersion Corporation Controlling haptic sensations for vibrotactile feedback interface devices
US9280205B2 (en) 1999-12-17 2016-03-08 Immersion Corporation Haptic feedback for touchpads and other touch controls
USRE45884E1 (en) 2000-06-30 2016-02-09 Immersion Corporation Chat interface with haptic feedback functionality
US9245428B2 (en) 2012-08-02 2016-01-26 Immersion Corporation Systems and methods for haptic remote control gaming

Also Published As

Publication number Publication date
WO1999040504A1 (en) 1999-08-12
CN1299479A (en) 2001-06-13
EP1053520A1 (en) 2000-11-22
AU2297799A (en) 1999-08-23

Similar Documents

Publication Publication Date Title
WO1999040504A9 (en) System and method for vibro generations
JP6552114B2 (en) Chat interface with haptic feedback functionality
CN108399003B (en) Haptic broadcast with selected haptic metadata
EP1428108B1 (en) Device for interacting with real-time streams of content
US5999167A (en) Cursor control device
CN107835971B (en) Method and apparatus for providing haptic feedback and interaction based on user haptic space (HapSpace)
US8493189B2 (en) Haptic feedback controller
US5950202A (en) Virtual reality network with selective distribution and updating of data to reduce bandwidth requirements
KR102398252B1 (en) Haptic devices and methods for providing haptic effects via audio tracks
WO1999049443A9 (en) Force feedback control wheels and knobs
JP2005506613A (en) Haptic feedback sensation based on audio output from computer equipment
CN112470104A (en) Encoding device, encoding method, decoding device, decoding method, transmission system, reception device, and program
TW455803B (en) System and method for vibro generations
WO2001041636A1 (en) Open loop tactile feedback
Babu et al. HelloHapticWorld: A haptics educational kit for interacting with robots
WO2002031627A3 (en) System for providing sales information via interactive digital data streams

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 99803975.6

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: C2

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGE 21, DESCRIPTION, REPLACED BY A NEW PAGE 21; AFTER RECTIFICATION OF OBVIOUS ERRORS AS AUTHORIZED BY THE INTERNATIONAL SEARCHING AUTHORITY

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1999902805

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09601475

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1999902805

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWW Wipo information: withdrawn in national office

Ref document number: 1999902805

Country of ref document: EP