A method and apparatus for shaping force signals for a force feedback device. A source wave is provided and is defined by a set of control parameters (including a steady state magnitude, a frequency value and a duration value) and modified by a set of impulse parameters (including an impulse magnitude, and a settle time representing a time required for the impulse magnitude to change to the steady-state magnitude). Optionally, application parameters specifying a direction of force signal and trigger parameters specifying activating buttons can also be provided for the source wave. Using a host processor or a local processor, the force signal is formed from the source wave and the sets of control parameters and impulse parameters, where the force signal includes an impulse signal followed by a continual steady-state signal after an expiration of the settle time. A feel sensation is generated to a user of the force feedback device as physical forces produced by actuators on the force feedback device in response to the force signal. The steady-state magnitude value is lower than a magnitude value of a non-impulse-shaped force signal required to create a corresponding feel sensation having a similar apparent sensation to the user.
|
42. A force feedback interface device manipulatable by a user and communicating with a host computer system implementing a host application program, said host computer system updating said host application program in response to input signals, said force feedback interface device comprising:
a user manipulatable object movable by a user and being physically contacted by said user; a sensor for detecting a position of said user manipulatable object and outputting said input signals, said input signals including information representative of said position of said user manipulatable object; an actuator receiving an impulse-shaped force signal, said actuator applying a force to said user manipulatable object in accordance with said impulse-shaped force signal such that a force having an impulse magnitude followed by a steady-state magnitude different from said impulse magnitude is applied to said user manipulatable object.
21. A force feedback interface device manipulated by a user and communicating with a host computer system implementing a host application program, said host computer system updating said host application program in response to input signals, said force feedback interface device comprising:
a user object movable by a user and being physically contacted by said user; a sensor for detecting a position of said user object and outputting said input signals, said input signals including information representative of said position of said user object; a local microprocessor, separate from said host computer system, for communicating with said host computer system via a communication bus, said local microprocessor outputting an impulse-shaped force signal; and an actuator electrically coupled to said local microprocessor and receiving said impulse-shaped force signal, said actuator applying a force to said user object in accordance with said impulse-shaped force signal such that a force having an impulse magnitude followed by a different steady-state magnitude is applied to said user object.
1. A method for generating a force signal for creating a feel sensation upon a user through a force feedback device, comprising:
providing a source wave; providing a set of control parameters, said control parameters including at least one of a steady-state magnitude value, a frequency value, and a duration value for said source wave, said steady-state magnitude value representing a steady-state magnitude of said source wave, said frequency value representing a frequency of said source wave, and said duration value representing a duration of said feel sensation; providing a set of impulse parameters, including: an impulse value, said impulse value specifying an impulse force level of said source wave applied to said user, said impulse force level being different than said steady-state magnitude; a settle time, said settle time representing a time required for a magnitude of said force signal to change from said impulse force level to said steady-state magnitude; and forming, using a processor, said force signal from said source wave, said set of control parameters, and said set of impulse parameters.
32. A method for generating a force signal for creating a feel sensation upon a user using a force feedback device, comprising:
receiving an indication of a source wave; receiving a set of control parameters, said control parameters including at least one of a steady-state magnitude value, a frequency value, and a duration value for said source wave, said steady-state magnitude value representing a steady-state magnitude of said force signal, said frequency value representing a frequency of said force signal, and said duration value representing a duration of said feel sensation; receiving a set of impulse parameters, including: an impulse value, said impulse value specifying an impulse force level of said force signal, said impulse force level being different than said steady-state magnitude; a settle time, said settle time representing a time required for a magnitude of said force signal to change from said impulse force level to said steady-state magnitude; and forming, using a processor, said force signal from said indication of said source wave, said set of control parameters, and said set of impulse parameters.
15. A computer-implemented method for forming an impulse-shaped force signal, comprising
specifying a source wave to a processor, said source wave representing a predefined type of wave; providing a set of control parameters to said processor, said set of control parameters including at least one of a steady-state magnitude value, a frequency value, a duration value for said source wave, said steady-state magnitude value representing a steady-state magnitude of said source wave, said frequency value representing a frequency of said source wave, and said duration value representing a duration of said feel sensation; providing a set of impulse parameters to said processor, including: an impulse value, said impulse value specifying an impulse force level of said source wave, said impulse force level being higher than said steady-state magnitude, and a settle time, said settle time representing a time required for a magnitude of said force signal to decay from said impulse force level to said steady-state magnitude, wherein said force signal is continually generated by said processor at said steady-state magnitude after an expiration of said settle time until terminated; and forming said impulse-shaped force signal with said processor from said source wave, said set of control parameters, and said set of impulse parameters.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
12. The method of
13. The method of
14. The method of
17. The method of
18. The method of
19. The method of
20. The method of
22. The force feedback interface device of
23. The force feedback interface device of
24. The force feedback interface device of
25. The force feedback interface device of
26. The force feedback interface device of
27. The force feedback interface device of
28. The force feedback interface device of
29. The force feedback interface device of
30. The force feedback interface device of
31. The force feedback interface device of
33. A method as recited in
34. The method of
35. The method of
36. The method of
37. The method of
38. The method of
39. The method of
40. The method of
41. The method of
43. The force feedback interface device of
44. The force feedback interface device of
|
This application is a continuation-in-part of parent patent application Ser. No. 08/566,282, now U.S. Pat. No. 5,734,373 filed Dec. 1, 1995, on behalf of Louis B. Rosenberg et al., entitled, "Method and Apparatus for Controlling Force Feedback Interface Systems Utilizing a Host Computer," assigned to the assignee of this present application, and which is incorporated by reference herein in its entirety.
The present invention relates generally to interface devices between humans and computers, and more particularly to computer interface devices that provide force feedback to the user.
Computer systems are used extensively in many different industries to implement computer controlled simulations, games, and other application programs. More particularly, these types of games and simulations are very popular with the mass market of home consumers. A computer system typically displays a visual environment to a user on a display screen or other visual output device. Users can interact with the displayed environment to play a game, experience a simulation or virtual reality environment, or otherwise influence events or images depicted on the screen. Such user interaction can be implemented through the use of a human-computer interface device, such as a joystick, "joypad" button controller, mouse, trackball, stylus and tablet, or the like, that is connected to the computer system controlling the displayed environment. The computer updates the simulation or game in response to the user's manipulation of an object such as a joystick handle or mouse, and provides feedback to the user utilizing the display screen and, typically, audio speakers.
In some interface devices, tactile and/or haptic feedback is also provided to the user, more generally known as "force feedback." These types of interface devices can provide physical sensations to the user manipulating a user manipulable object of the interface device. For example, the Force-FX controller from CH Products, Inc. and Immersion Corporation may be connected to a computer and provides forces to a user of the controller. Typically, motors or other actuators are coupled to the user object and are connected to the controlling computer system. The computer system can provide forces on the object in conjunction with simulation/game events by sending control signals to the actuators. The computer system can thus convey physical force sensations to the user in conjunction with other supplied feedback as the user is grasping or contacting the object of the interface device. Force feedback interface devices can thus provide a whole new modality for human-computer interaction.
Force feedback input/output (I/O) devices of the prior art have concentrated on providing maximum haptic fidelity, i.e., the realism of the tactile feedback was desired to be optimized. This is because most of the force feedback devices have been targeted at the specific needs of highly industrial applications, and not a mass consumer market. To attain such realism, mass market design concerns have been sacrificed in the prior art.
One consumer market design concern that is always present in force feedback devices is the size, weight, and power consumption of actuators included in the device. To provide realistic high magnitude forces, large and heavy actuators have necessarily been used in non-mass-market force feedback devices of the prior art. However, in the consumer market, such large and heavy actuators are a major drawback, since consumers would prefer a portable, small interface device that can easily fit on a desktop or other small working space. Even more significantly, such large actuators prevent producing a force feedback interface device at a low enough cost to be acceptable to mass market consumers. In the prior art, however, smaller actuators were not an option if realistic forces were to be presented to the user.
Some mass market force feedback devices of the prior art, nevertheless, have been provided, and these devices typically include small actuators to reduce costs. However, force feedback devices with small actuators have a problem in that they may not allow the superposition of many types of force effects due to a limited dynamic range available from the actuators. For example, if a jolt feel sensation is desired to be superimposed on a vibration feel sensation to the user, then the force magnitudes of the two feel sensations are added together. However, if the maximum available dynamic range of the actuators is small, as is typically the case for mass market force feedback devices, then the realism of the feel sensations must be sacrificed in some way to accommodate both feel sensations. For example, the jolt sensation would have to be reduced in magnitude, thus reducing the effectiveness of that feel sensation to the user. Providing actuators with a greater dynamic range typically means providing larger, more expensive actuators, which is not usually feasible in the consumer market as explained above.
In addition, there is unnecessary complexity in the manipulation of force feedback signals in the prior art. To produce a feel sensation to a user of the force feedback device, a force signal of the prior art must include all information required to realistically output that feel sensation to the user. However, the computational burden of providing feel sensations to a user can be high, especially when providing multiple simultaneous feel sensations. To adequately provide the desired forces, complex and expensive components typically must be included in the force feedback device, often pushing the cost of realistic force feedback out of the reach of mass market consumers.
The present invention is directed to providing and controlling force feedback to a user operating a human/computer interface device. Impulse-shaped force signals are provided to reduce the necessary force output from the actuators, thereby allowing smaller, less complex forces to be generated for the user with minimal reduction in the realism of generated forces.
More particularly, a method of the present invention for generating a force signal for creating a feel sensation upon a user through a force feedback device includes providing a source wave. A set of control parameters are provided to define the source wave that include at least one of a steady-state magnitude value representing a steady-state magnitude of the source wave, a frequency value representing a frequency of the source wave, and a duration value representing a duration of the feel sensation. Further, a set of impulse parameters is provided to modify the source wave, including an impulse value specifying an impulse force level of the source wave applied to the user and a settle time representing a time required for a magnitude of the force signal to change from the impulse value to the steady-state magnitude value. Finally, using a processor, the force signal is formed from the source wave and the sets of control parameters and impulse parameters. Preferably, the feel sensation is generated as physical forces produced by actuators on the force feedback device in response to the force signal. Preferably, the force signal is initially provided at the impulse value and is then decayed to the steady-state magnitude value after an expiration of the settle time. The steady-state magnitude value is lower than a magnitude value of a non-impulse-shaped force signal required to create a corresponding feel sensation having a similar apparent sensation to the user. Thus, by generating the feel sensation using the steady-state magnitude value, less power is consumed than if said non-impulse shaped force signal were used.
Optionally, a set of application parameters specifying a vector of application for the force signal, and a set of trigger parameters specifying how the feel sensation should be generated responsive to an activation of a button of said force feedback device can also be provided for the source wave. In some embodiments, a host processor of a host computer system provides the impulse-shaped force signal. In other embodiments, a local processor is provided local to the force feedback device for provided and/or relaying the impulse-shaped force signal to actuators. The control parameters and impulse parameters can be provided to the local processor by the host processor. The host processor implements a simulation in parallel with said local processor controlling said actuators. An apparatus of the present invention similarly provides a user object movable by a user, a sensor for detecting a position of the user object, a local microprocessor, separate from said host computer system and outputting an impulse-shaped force signal, and an actuator receiving the impulse-shaped force signal and applying a force having an impulse magnitude followed by a different steady-state magnitude to the user object.
A method of the present invention for generating "condition" forces and "effect" forces for creating feel sensations upon a user through a force feedback system includes generating the conditions using a local processor to reduce a workload of a host processor. The conditions represent force signals for creating feel sensations dependent on data regarding motion or position of the user manipulatable portion of the force feedback device. This motion or position data is received by the local processor by sensors of the force feedback device. The effects can be generated using the host processor and represent force signals for creating feel sensations not dependent on the motion or position of the user manipulatable portion of the force feedback device. Alternatively, the effects can be generated using the local processor, where the force signals are generated in response to commands and parameters from the host processor, thereby further reducing the workload of the host processor.
In another aspect of the present invention, force signal data is transmitted in a force feedback system. A first force signal data value and a second force signal data value are sent in a first data packet from a host processor to a local processor. The second force signal data value and a third force signal data value are sent from the host processor to the local processor, where the third value is different from the first and second values. The second data packet and first data packet are consecutive data packets such that the "overlapped" second force signal data value may be retrieved from either the first data packet or the second data packet if either the first data packet or the second data packet is unusable after the transmission. Preferably, the local processor disregards duplicate information represented in consecutive packets if both packets are successfully received by the local processor.
The present invention advantageously provides an impulse-shaped force signal that is used to provide feel sensations to a user manipulating a force feedback device. The force signal includes an impulse of high magnitude and a steady-state force following the impulse, which provides a realistic sensation of constant force without having to continuously output a high magnitude force. That is, the present invention advantageously manipulates only those variables (impulse and steady state) of the force signal that have a significant impact on the perception of the user, reducing the complexity of the required hardware and minimizing the computational burden of representing diverse feel sensations. In addition, the local processor technology reduces the computational burden from the host processor. Furthermore, the overlapping of data in force signal transmissions reduces the computation burden of checking for errors and handshaking with a sending device. These improvements allow a computer system to provide accurate and realistic force feedback using a low-cost force feedback device and is thus ideal for the mass market of home computer systems.
These and other advantages of the present invention will become apparent to those skilled in the art upon a reading of the following specification of the invention and a study of the several figures of the drawing.
FIG. 1 is a block diagram of an interface system in accordance with the present invention for controlling a force feedback device from a host computer;
FIG. 2 is a perspective view of an embodiment of a mechanism for interfacing a user manipulatable object with the force feedback device;
FIGS. 3a and 3b are diagrammatic representations of example restoring force conditions;
FIGS. 4a and 4b are diagrammatic representations of example vibration force effects;
FIG. 5 is a diagrammatic representation of a force signal shaping method of the present invention;
FIG. 6 is a diagrammatic representation of an example of impulse-shaping a source wave by adding control parameters and impulse parameters;
FIG. 7a is a diagrammatic representation of the shaping of a recoil effect;
FIG. 7b is a diagrammatic representation of the shaping of a vibration effect;
FIG. 7c is a diagrammatic representation of the sequencing of the recoil and vibration effects of FIGS. 7a and 7b;
FIG. 8 is a diagrammatic representation of an impulse-shaped force signal having an offset;
FIG. 9 is a diagrammatic representation of an impulse-shaped force signal having an offset and being constrained to positive values;
FIG. 10 is a block diagram of a force feedback device system suitable to implement the impulse-shaped force signals of the present invention; and
FIGS. 11a and 11b are diagrammatic representations of data packets of the present invention having overlapped data values.
FIG. 1 is a block diagram illustrating an interface system 10 of the present invention for a force feedback interface device controlled by a host computer system. Interface system 10 includes a host computer system 12 and an interface device 14.
Host computer system 12 is preferably a personal computer, such as an IBM-compatible or Macintosh personal computer, or a workstation, such as a SUN or Silicon Graphics workstation. For example, the host computer system can a personal computer which operates under the MS-DOS or Windows operating systems in conformance with an IBM PC AT standard. Alternatively, host computer system 12 can be one of a variety of home video game systems commonly connected to a television set, such as systems available from Nintendo, Sega, or Sony. In other embodiments, home computer system 12 can be a television "set top box" or a "network computer" which can be used, for example, to provide interactive computer functions to users over networks.
In the described embodiment, host computer system 12 implements a host application program with which a user 22 is interacting via peripherals and interface device 14. For example, the host application program can be a video game, medical simulation, scientific analysis program, or even an operating system or other application program that utilizes force feedback. Typically, the host application provides images to be displayed on a display output device, as described below, and/or other feedback, such as auditory signals.
Host computer system 12 preferably includes a host microprocessor 16, random access memory (RAM) 17, read-only memory (ROM) 19, input/output (I/O) electronics 21, a clock 18, a display screen 20, and an audio output device 21. Host microprocessor 16 can include a variety of available microprocessors from Intel, Motorola, or other manufacturers. Microprocessor 16 can be single microprocessor chip, or can include multiple primary and/or co-processors. Microprocessor preferably retrieves and stores instructions and other necessary data from RAM 17 and ROM 19, as is well known to those skilled in the art. In the described embodiment, host computer system 12 can receive sensor data or a sensor signal via a bus 24 from sensors of interface device 14 and other information. Microprocessor 16 can receive data from bus 24 using I/O electronics 21, and can use I/O electronics to control other peripheral devices. Host computer system 12 can also output a "force command" to interface device 14 via bus 24 to cause force feedback for the interface device.
Clock 18 is a standard clock crystal or equivalent component used by host computer system 12 to provide timing to electrical signals used by microprocessor 16 and other components of the computer system. Clock 18 is accessed by host computer system 12 in the control process of the present invention, as described subsequently.
Display screen 20 is coupled to host microprocessor 16 by suitable display drivers and can be used to display images generated by host computer system 12 or other computer systems. Display screen 20 can be a standard display screen or CRT, 3-D goggles, or any other visual interface. In a described embodiment, display screen 20 displays images of a simulation or game environment. In other embodiments, other images can be displayed. For example, images describing a point of view from a first-person perspective can be displayed, as in a virtual reality simulation or game. Or, images describing a third-person perspective of objects, backgrounds, etc. can be displayed. A user 22 of the host computer 12 and interface device 14 can receive visual feedback by viewing display screen 20.
Herein, computer 12 may be referred as displaying computer "objects" or "entities". These computer objects are not physical objects, but is a logical software unit collections of data and/or procedures that may be displayed as images by computer 12 on display screen 20, as is well known to those skilled in the art. For example, a cursor or a third-person view of a car might be considered player-controlled computer objects that can be moved across the screen. A displayed, simulated cockpit of an aircraft might also be considered an "object", or the simulated aircraft can be considered a computer controlled "entity".
Audio output device 21, such as speakers, is preferably coupled to host microprocessor 16 via amplifiers, filters, and other circuitry well known to those skilled in the art. Host processor 16 outputs signals to speakers 21 to provide sound output to user 22 when an "audio event" occurs during the implementation of the host application program. Other types of peripherals can also be coupled to host processor 16, such as storage devices (hard disk drive, CD ROM drive, floppy disk drive, etc.), printers, and other input and output devices.
An interface device 14 is coupled to host computer system 12 by a bi-directional bus 24. The bi-directional bus sends signals in either direction between host computer system 12 and the interface device. Herein, the term "bus" is intended to generically refer to an interface such as between host computer 12 and microprocessor 26 which typically includes one or more connecting wires or other connections and that can be implemented in a variety of ways, as described below. In the preferred embodiment, bus 24 is a serial interface bus providing data according to a serial communication protocol. An interface port of host computer system 12, such as an RS232 serial interface port, connects bus 24 to host computer system 12. Other standard serial communication protocols can also be used in the serial interface and bus 24, such as RS-422, Universal Serial Bus (USB), MIDI, or other protocols well known to those skilled in the art.
For example, the USB standard provides a relatively high speed serial interface that can provide force feedback signals in the present invention with a high degree of realism. USB can also source more power to drive peripheral devices. Since each device that accesses the USB is assigned a unique USB address by the host computer, this allows multiple devices to share the same bus. In addition, the USB standard includes timing data that is encoded along with differential data.
An advantage of the present invention is that low-bandwidth serial communication signals can be used to interface with interface device 14, thus allowing a standard built-in serial interface of many computers to be used directly. Alternatively, a parallel port of host computer system 12 can be coupled to a parallel bus 24 and communicate with interface device using a parallel protocol, such as SCSI or PC Parallel Printer Bus. In a different embodiment, bus 24 can be connected directly to a data bus of host computer system 12 using, for example, a plug-in card and slot or other access of computer system 12. For example, on an IBM AT compatible computer, the interface card can be implemented as an ISA, EISA, VESA local bus, PCI, or other well-known standard interface card which plugs into the motherboard of the computer and provides input and output ports connected to the main data bus of the computer. Bus 24 can be implemented within a network such as the Internet or LAN; or, bus 24 can be a channel such as the air, etc. for wireless communication.
In another embodiment, an additional bus 25 can be included to communicate between host computer system 12 and interface device 14. Since the speed requirement for communication signals is relatively high for outputting force feedback signals, the single serial interface used with bus 24 may not provide signals to and from the interface device at a high enough rate to achieve realistic force feedback. In such an embodiment, bus 24 can be coupled to the standard serial port of host computer 12, while an additional bus 25 can be coupled to a second port of the host computer system. For example, many computer systems include a "game port" in addition to a serial RS-232 port to connect ajoystick or similar game controller to the computer. The two buses 24 and 25 can be used simultaneously to provide a increased data bandwidth. For example, microprocessor 26 can send sensor signals to host computer 12 via a uni-directional bus 25 and a game port, while host computer 12 can output force feedback signals from a serial port to microprocessor 26 via a unidirectional bus 24. Other combinations of data flow configurations can be implemented in other embodiments.
Interface device 14 includes a local microprocessor 26, sensors 28, actuators 30, a user object 34, optional sensor interface 36, an optional actuator interface 38, and other optional input devices 39. Interface device 14 may also include additional electronic components for communicating via standard protocols on bus 24. In the preferred embodiment, multiple interface devices 14 can be coupled to a single host computer system 12 through bus 24 (or multiple buses 24) so that multiple users can simultaneously interface with the host application program (in a multi-player game or simulation, for example). In addition, multiple players can interact in the host application program with multiple interface devices 14 using networked host computers 12, as is well known to those skilled in the art.
Local microprocessor 26 is coupled to bus 24 and is preferably included within the housing of interface device 14 to allow quick communication with other components of the interface device. Processor 26 is considered "local" to interface device 14, where "local" herein refers to processor 26 being a separate microprocessor from any processors in host computer system 12. "Local" also preferably refers to processor 26 being dedicated to force feedback and sensor I/O of interface device 14, and being closely coupled to sensors 28 and actuators 30, such as within the housing for interface device or in a housing coupled closely to interface device 14. Microprocessor 26 can be provided with software instructions to wait for commands or requests from computer host 16, decode the command or request, and handle/control input and output signals according to the command or request. In addition, processor 26 preferably operates independently of host computer 16 by reading sensor signals and calculating appropriate forces from those sensor signals, time signals, and stored or relayed instructions selected in accordance with a host command. Suitable microprocessors for use as local microprocessor 26 include the MC68HC711E9 by Motorola, the PIC16C74 by Microchip, and the 82930AX by Intel Corp., for example. Microprocessor 26 can include one microprocessor chip, or multiple processors and/or co-processor chips. In other embodiments, microprocessor 26 can include digital signal processor (DSP) capability.
Local memory 27, such as RAM and/or ROM, is preferably coupled to microprocessor 26 in interface device 14 to store instructions for microprocessor 26 and store temporary and other data. Microprocessor 26 can receive signals from sensors 28 and provide signals to actuators 30 of the interface device 14 in accordance with instructions provided by host computer 12 over bus 24. Microprocessor 26 preferably also has access to calibration parameters stored in memory 27. The calibration parameters can compensate for slight manufacturing variations in different physical properties of the components of different interface devices made from the same manufacturing process, such as physical dimensions, as is well-known to those skilled in the art.
In addition, a local clock 29 can be coupled to the microprocessor 26 to provide timing data, similar to system clock 18 of host computer 12; the timing data might be required, for example, to compute forces output by actuators 30 (e.g., forces dependent on calculated velocities or other time dependent factors). In alternate embodiments using the USB communication interface, timing data for microprocessor 26 can be retrieved from USB signal. The USB has a clock signal encoded with the data stream which can be used. Alternatively, the Isochronous (stream) mode of USB can be used to derive timing information from the standard data transfer rate. The USB also has a Sample Clock, Bus Clock, and Service Clock that also may be used.
For example, in one host-controlled embodiment that utilizes microprocessor 26, host computer 12 can provide low-level force commands over bus 24, which microprocessor 26 directly transmits to the actuators. In a different local control embodiment, host computer system 12 provides high level supervisory commands to microprocessor 26 over bus 24, and microprocessor 26 manages low level force control loops to sensors and actuators in accordance with the high level commands and independently of the host computer 18. In the local control embodiment, the microprocessor 26 can process inputted sensor signals to determine appropriate output actuator signals by following instructions that may be stored in local memory and includes calculation instructions, force magnitudes, or other data. The force process can command distinct force sensations, such as vibrations, textures, jolts, or even simulated interactions between displayed objects. These embodiments are described in greater detail in U.S. Pat. Nos. 5,739,811 and 5,734,373 both incorporated by reference herein. In an alternate embodiment, no local microprocessor 26 is included in interface system 10, and host computer 12 directly controls and processes all signals to and from the interface device 14.
Microprocessor 26 can also receive commands from any other input devices included on interface apparatus 14 and provides appropriate signals to host computer 12 to indicate that the input information has been received and any information included in the input information. For example, buttons, switches, dials, or other input controls on interface device 14 or user object 34 can provide signals to microprocessor 26.
In the preferred embodiment, sensors 28, actuators 30, and microprocessor 26, and other related electronic components are included in a housing for interface device 14, to which user object 34 is directly or indirectly coupled. Alternatively, microprocessor 26 and/or other electronic components of interface device 14 can be provided in a separate housing from user object 34, sensors 28, and actuators 30. Also, additional mechanical structures may be included in interface device 14 to provide object 34 with desired degrees of freedom. An embodiment of a mechanism is described with reference to FIG. 2.
Sensors 28 sense the position, motion, and/or other characteristics of a user object 34 of the interface device 14 along one or more degrees of freedom and provide signals to microprocessor 26 including information representative of those characteristics. Typically, a sensor 28 is provided for each degree of freedom along which object 34 can be moved. Alternatively, a single compound sensor can be used to sense position or movement in multiple degrees of freedom. An example of sensors suitable for several embodiments described herein are digital optical encoders, which sense the change in position of an object about a rotational axis and provide digital signals indicative of the change in position. Linear optical encoders, potentiometers, optical sensors, or other types of sensors can be used, and either relative or absolute sensors can be used. A suitable optical encoder is the "Softpot" from U.S. Digital of Vancouver, Washington.
Sensors 28 provide an electrical signal to an optional sensor interface 36, which can be used to convert sensor signals to signals that can be interpreted by the microprocessor 26 and/or host computer system 12. For example, sensor interface 36 can receive two phase-related signals from a sensor 28 and converts the two signals into another pair of clock signals, which drive a bi-directionl binary counter. The output of the binary counter is received by microprocessor 26 as a binary number representing the angular position of the encoded shaft. Such circuits, or equivalent circuits, are well known to those skilled in the art; for example, the Quadrature Chip LS7166 from Hewlett Packard, California performs the functions described above. Each sensor 28 can be provided with its own sensor interface, or one sensor interface may handle data from multiple sensors. For example, an electronic interface described in U.S. Pat. No. 5,576,727 can also be used. Alternately, microprocessor 26 can perform these interface functions without the need for a separate sensor interface 36. The position value signals can be used by microprocessor 26 and are also sent to host computer system 12 which updates the host application program and sends force control signals as appropriate. In alternate embodiments, sensor signals from sensors 28 can be provided directly to host computer system 12 as shown by bus 24', bypassing microprocessor 26. Also, sensor interface 36 can be included within host computer system 12, such as on an interface board or card. Alternatively, an analog sensors can be used instead of digital sensors. For example, a strain gauge, velocity sensors and/or accelerometers can be used to directly measure forces, velocities and accelerations on object 34. An analog to digital converter (ADC) can convert the analog signal to a digital signal that is received and interpreted by microprocessor 26 and/or host computer system 12, as is well known to those skilled in the art.
Actuators 30 transmit forces to user object 34 of the interface device 14 in one or more directions along one or more degrees of freedom in response to signals received from microprocessor 26. Typically, an actuator 30 is provided for each degree of freedom along which forces are desired to be transmitted. Actuators 30 can include two types: active actuators and passive actuators.
Active actuators include linear current control motors, stepper motors, pneumatic/hydraulic active actuators, a torquer (motor with limited angular range), a voice coil actuators, and other types of actuators that transmit a force to move an object. For example, active actuators can drive a rotational shaft about an axis in a rotary degree of freedom, or drive a linear shaft along a linear degree of freedom. Active transducers of the present invention are preferably bi-directional, meaning they can selectively transmit force along either direction of a degree of freedom. For example, DC servo motors can receive force control signals to control the direction and torque (force output) that is produced on a shaft. Passive actuators can also be used for actuators 30. Magnetic particle brakes, friction brakes, or pneumatic/hydraulic passive actuators can be used in addition to or instead of a motor to generate a damping resistance or friction in a degree of motion. In alternate embodiments, all or some of sensors 28 and actuators 30 can be included together as a sensor/actuator pair transducer.
Actuator interface 38 can be optionally connected between actuators 30 and microprocessor 26. Interface 38 converts signals from microprocessor 26 into signals appropriate to drive actuators 30. Interface 38 can include power amplifiers, switches, digital to analog controllers (DACs), analog to digital controllers (ADC's), and other components, as is well known to those skilled in the art. In alternate embodiments, interface 38 circuitry can be provided within microprocessor 26, in actuators 30, or in host computer 12.
Other input devices 39 can optionally be included in interface device 14 and send input signals to microprocessor 26 or to host processor 16. Such input devices can include buttons, dials, switches, or other mechanisms. For example, in embodiments where user object 34 is a joystick, other input devices can include one or more buttons provided, for example, on the joystick handle or base and used to supplement the input from the user to a game or simulation. The operation of such input devices is well known to those skilled in the art.
Power supply 40 can optionally be coupled to actuator interface 38 and/or actuators 30 to provide electrical power. Active actuators typically require a separate power source to be driven. Power supply 40 can be included within the housing of interface device 14, or can be provided as a separate component, for example, connected by an electrical power cord.
Alternatively, if the USB or a similar communication protocol is used, interface device 14 can draw power from the USB and thus have no need for power supply 40. This embodiment is most applicable to a device 14 having passive actuators 30, since passive actuators require little power to operate. Active actuators tend to require more power than can be drawn from USB, but this restriction can be overcome in a number of ways. One way is to configure interface 14 to appear as more than one peripheral to host computer 12; for example, each provided degree of freedom of user object 34 can be configured as a different peripheral and receive its own allocation of power. This would allow host 12 to allocate more power to interface device 14. Alternatively, power from the USB can be stored and regulated by interface device 14 and thus used when needed to drive actuators 30. For example, power can be stored over time and then immediately dissipated to provide a jolt force to the user object 34. A capacitor circuit, for example, can store the energy and dissipate the energy when enough power has been stored. Microprocessor may have to regulate the output of forces to assure that time is allowed for power to be stored. This power storage embodiment can also be used in non-USB embodiments of interface device 14 to allow a smaller power supply 40 to be used.
Safety switch 41 is preferably included in interface device 14 to provide a mechanism to allow a user to override and deactivate actuators 30, or require a user to activate actuators 30, for safety reasons. Certain types of actuators, especially active actuators such as motors, can pose a safety issue for the user if the actuators unexpectedly move user object 34 against the user with a strong force. In addition, if a failure in the control system 10 occurs, the user may desire to quickly deactivate the actuators to avoid any injury. To provide this option, safety switch 41 is coupled to actuators 30. In the preferred embodiment, the user must continually activate or close safety switch 41 during operation of interface device 14 to activate the actuators 30. If, at any time, the safety switch is deactivated (opened), power from power supply 40 is cut to actuators 30 (or the actuators are otherwise deactivated) as long as the safety switch is deactivated. For example, a preferred embodiment of safety switch is an optical switch located on user object 34 (such as a joystick) or on a convenient surface of a housing enclosing interface device 14. When the user covers the optical switch with a hand or finger, the sensor of the switch is blocked from sensing ambient light, and the switch is closed. The actuators 30 thus will function as long as the user covers the switch. Safety switch 41 can also provide a signal to host computer 12. Other types of safety switches 41 can be provided in other embodiments. For example, an electrostatic contact switch can be used to sense contact, a button or trigger can be pressed, or a different type of sensor switch can be used.
User object 34 is preferably a device or article that may be grasped or otherwise contacted or controlled by a user and which is coupled to interface device 14. By "grasp", it is meant that users may releasably engage a grip portion of the object in some fashion, such as by hand, with their fingertips, or even orally in the case of handicapped persons. The user 22 can manipulate and move the object along provided degrees of freedom to interface with the host application program the user is viewing on display screen 20. Object 34 can be a joystick, mouse, trackball, stylus, steering wheel, medical instrument (laparoscope, catheter, etc.), pool cue, hand grip, knob, button, or other article. For example, medical instruments, such as laparoscopic tools or catheters, can be used to simulate medical procedures. A laparoscopic tool sensor and force feedback device is described in U.S. Pat. No. 5,623,582 incorporated herein by reference in its entirety.
FIG. 2 is a perspective view of one embodiment of a mechanical apparatus 100 suitable for providing mechanical input and output to host computer system 12. Apparatus 100 includes gimbal mechanism 140, sensors 28 and actuators 30. User object 34 is shown in this embodiment as a joystick having a grip portion 162.
Gimbal mechanism 140 provides two rotary degrees of freedom to object 34. A gimbal device as shown in FIG. 2 is described in greater detail in U.S. Pat. Nos. 5,731,804 and 5,767,839, both hereby incorporated by reference in their entirety. Gimbal mechanism 140 provides support for apparatus 160 on grounded surface 142, such as a table top or similar surface. Gimbal mechanism 140 is a five-member linkage that includes a ground member 144, extension members 146a and 146b, and central members 148a and 148b. Gimbal mechanism 140 also includes capstan drive mechanisms 164.
Ground member 144 includes a base member 166 and vertical support members 168. Base member 166 is coupled to grounded surface 142. A vertical support member 168 is coupled to each of these outer surfaces of base member 166 such that vertical members 168 are in substantially 90-degree relation with each other. Ground member 144 is coupled to a base or surface which provides stability for mechanism 140.
The members of gimbal mechanism 140 are rotatably coupled to one another through the use of bearings or pivots. Extension member 146a is rigidly coupled to a capstan drum 170 and is rotated about axis A as capstan drum 170 is rotated. Likewise, extension member 146b is rigidly coupled to the other capstan drum 170 and can be rotated about axis B. Central drive member 148a is rotatably coupled to extension member 146a and can rotate about floating axis D, and central link member 148b is rotatably coupled to an end of extension member 146b at a center point P and can rotate about floating axis E. Central drive member 148a and central link member 148b are rotatably coupled to each other at the center of rotation of the gimbal mechanism, which is the point of intersection P of axes A and B. Bearing 172 connects the two central members 148a and 148b together at the intersection point P. The axes D and E are "floating" in the sense that they are not fixed in one position as are axes A and B. Axes A and B are substantially mutually perpendicular.
Gimbal mechanism 140 is formed as a five member closed chain such that each end of one member is coupled to the end of a another member. Gimbal mechanism 140 provides two degrees of freedom to an object 34 positioned at or near to the center point P of rotation. An object at or coupled to point P can be rotated about axis A and B or have a combination of rotational movement about these axes. In alternate embodiments, object 34 can also be rotated or translated in other degrees of freedom, such as a linear degree of freedom along axis C or a rotary degree of freedom about axis C.
A capstan drive mechanism 164 is preferably coupled to each vertical member 168. Capstan drive mechanisms 164 are included in gimbal mechanism 140 to provide mechanical advantage without introducing friction and backlash to the system. The capstan drive mechanisms 164 are described in greater detail in U.S. Pat. No. 5,767,839.
Sensors 28 and actuators 30 can be coupled to gimbal mechanism 140 at the link points between members of the apparatus. Sensors 28 and actuators 30 can be combined in the same housing of a grounded transducer 174a or 174b, as shown. For example, optical encoder sensors 28 and active DC servo motors 30 can be combined in transducer 174. The housing of grounded transducers 174a and 174b are preferably coupled to a vertical support member 168. A rotational shaft of actuator and sensor is coupled to a pulley of capstan drive mechanism 164 to transmit input and output along the associated degree of freedom. The transducers 174a and 174b of the described embodiment are advantageously positioned to provide a very low amount of inertia to the user handling object 34, as explained in U.S. Pat. No. 5,731,804.
User object 34 is shown as a joystick having a grip portion 162 for the user to grasp. A user can move the joystick about axes A and B. The movements in these two degrees of freedom are sensed by processor 26 and host computer system 12. Forces can be applied preferably in the two degrees of freedom to simulate various haptic sensations. Joystick may also optionally "spin" about axis C, and this movement may be sensed and/or actuated. Optionally, other objects 34 can be coupled to gimbal mechanism 140, as described above.
Other embodiments of interface apparatuses and transducers can also be used in interface device 14 to provide mechanical input/output for user object 34. For example, interface apparatuses which provide one to three (or more) linear degrees of freedom to user object 34 can be used. In addition, passive actuators having an amount of "play" can be provided to implement different reflex processes. Other embodiments of actuators and interfaces are described in co-pending patent applications Ser. Nos. 08/400,233, 08,571,606, and Ser. No. 08/709,012, U.S. Pat. Nos. 5,767,839 and 5,721,566 all hereby incorporated by reference herein.
In accordance with an embodiment of the present invention, there is provided a technique for generating impulse-shaped force signals that advantageously preserves the fidelity of the apparent sensation upon the user while maximizing the dynamic range of the actuators of the force feedback device. The inventive impulse-shaped force signals can be employed to generate "condition"-related sensations or, more preferably, to generate "effect"-related sensations.
To further elaborate, effects are different from conditions. Conditions may be conceptualized as background sensations, the intensity or quality of which depends upon the motion (e.g., displacement, velocity, acceleration, direction, and the like) of the user manipulable portion (e.g., the user object 34) of the force feedback device. Accordingly, conditions may be thought of as closed-loop sensations, and require inputs from the sensors that monitor the motion of the user manipulatable portion of the force feedback device to properly form the force signals therefor.
For example, conditions may define basic physical properties of an interface device such as the underlying feel of the motion of the user object. Conditions can be applied to make the user object feel "loose", "stiff", "heavy", "light", "sticky", "scratchy", "slippery", etc. Different conditions can be provided for a variety of different situations, such as simulating the feel of different types of vehicles, simulating the feel of damaged vehicles,
One example of a condition is a stiffness property. FIG. 3a is a graph 180 illustrating force versus displacement profiles for a stiffness condition. Stiffness can be described as a "spring return", since it feels to the user as if a strong spring resists displacement of the user object. The stiffness provides a constant return sensation that forces the user object back to an origin or neutral position, where the force increases the further the object is moved from the origin (an origin can be the center position of a joystick as shown in FIG. 2). In the described example, the stiffness is generally modeled using Hooke's Law, where resistance force F is proportional to the displacement d, such that:
F=k*d
where d is the displacement along an axis and k is a spring constant defining the degree of stiffness. K can also be positive or negative to indicate the degree of stiffness in a particular direction on an axis or degree of freedom. For example, +k can be different than -k such that it is much harder to push a joystick forward than to pull it back; this sensation might be used to simulate the feel of a tug boat pushing a heavy load. The force in graph 180 of FIG. 3a is bi-directionl, where the force for positive displacements (+d) is applied in one direction along a degree of freedom of user object 34, and the force for negative displacements is applied in the opposite direction along that degree of freedom. Alternatively, force might only be applied in one direction on an axis or degree of freedom.
In FIG. 3b, graph 181 shows the stiffness condition similarly to FIG. 3a, except that the applied force is about zero in a region 182, about a neutral position. Region 182 is known as a "deadband" and allows the user to have some freedom to move object 34 for a short distance around the neutral position before forces are applied. The deadband can be selectively applied in positive and/or negative directions in each degree of freedom. In addition, an offset 183 of the neutral position along an axis can be specified.
FIG. 3b also shows saturation regions 184, where the magnitude of stiffness generally remains constant. Positive and/or negative saturation regions can be defined for each degree of freedom. The saturation force magnitude F is can be limited to a predetermined percentage of the maximum possible output force in a the selected degree of freedom, so that effects can be overlaid on-top of the restoring sensation (or, the impulse shaping described below can perform this limiting function). As the object 34 is moved in the saturation range, the applied force F is constant until the user object is moved within a spring region 186, where the applied force falls in accordance with distance to the neutral position until the deadband region 182 is reached.
A stiffness sensation can be very ably applied, for example, to the situation of hitting a wall or some other obstruction while controlling a simulated vehicle. The restoring force indicates a resistance against commanding a velocity in a direction of motion. This force drops off when the user object is returned to the origin position because the user is no longer commanding a velocity in the direction of motion.
Another condition is a damping property. The damping condition creates a "viscous" force on user object 34 having a magnitude proportional to the velocity, rather than the displacement, of the user object when moved by the user. Similar relationships to those in FIGS. 3a and 3b can be used, where the displacement axis is replaced by a velocity axis, and the spring constant k is replaced by a damping coefficient b. Damping can be used to simulate controlling, for example, a very heavy vehicle that is poorly responsive to the movement of the user object. This and other conditions are described in greater detail in U.S. Pat. No. 5,734,373.
In contrast, effects (also known as "overlays") are sensations which are generated and applied to the user independent of the motion of the user manipulable portion of the force feedback device. In other words, effects are open-loop sensations and are generated by the actuators of the force feedback device as a function of time irrespective of the current motion of the user object 34. One may think of effects as foreground force overlays, which may be superimposed on whatever background condition force(s) are currently generated by the force feedback device. Effects are often correlated with discrete events that may occur during a simulation or game. Effects may be of short duration, such as a jolt occurring from a missile impact on a plane, or may be longer in duration, such as a bobbing sensation of a boat caught in a wake of a large tanker.
One example of an effect is a vibration force. FIGS. 4a and 4b are graphs illustrating force versus displacement graphs for a vibration effect. FIG. 4a is a graph 188 showing a bi-directionl vibration force while FIG. 4b is a graph 190 showing a uni-directional vibration force. The vibration has a magnitude indicated by the vertical axis and a frequency and includes a number of force pulses separated by zero or negative force pulses, which provides the user a rapid "on-off" sequence of forces. The vibration force can be specified as a sinusoidal force, a sawtooth-shaped force, a square waveform force, etc. The duty cycle and other parameters of the vibration can also be specified.
Other effects include a wobble force and a jolt force. A wobble force creates a random (or seemingly random to the user), off-balance force sensation on the user object. For example, it can simulate an erratic control for a damaged vehicle. The jolt force is typically a single short, high magnitude force that is output on the user object, and can be used, for example, to notify the user of an event or simulated object in the computer environment.
Both conditions and effects can be provided simultaneously to the user object 34. In a car simulation, for example, conditions may be generated to give the user the physical feel of manipulating a virtual steering wheel based on what kind of car the user is driving, the speed of travel, road surface characteristics (dry, wet, ice, etc.), and the like. The condition force signal is a function of steering wheel manipulation. An effect may be generated to give the user the feel of an event external to steering wheel manipulations, such as hitting a pothole or getting sideswiped by another car. To generate this effect, the processor only needs to define the force signal representing the sensation of hitting the pothole as a function of time.
FIG. 5 describes one embodiment of the present invention, in which a basic source signal or "source wave" is "shaped" to alter the source wave to an impulse-shaped force signal that advantageously preserves the fidelity of the apparent sensation upon the user while maximizing the dynamic range of the actuators of the force feedback device.
In accordance with one aspect of the present invention, it is realized that diverse feel effects can be created by generating time-varying force signals upon the force feedback device. It is also realized that humans are more sensitive to certain haptic features of a force signal and less sensitive to other features. Accordingly, if a force signal can be defined by variables that have a substantial impact upon the human perception of the resulting feel sensation and without including variables having a less significant impact, a simple and generalized representation of force signals may be achieved. Via the simplified, generalized representation of force signals, the task of modeling and generating the desired feel sensation may be simplified and made more efficient for the programmer, the processor, and the actuators of the force feedback device.
It has been found that human physical, i.e., haptic, senses are most sensitive to changes in force intensity, e.g., transients or impulses, and are substantially less sensitive to constant forces or slowly changing forces. Accordingly, forces may be most efficiently conveyed to the user by an exaggerated transient or "impulse" having a relatively high magnitude, which decays over a settle time to a "steady-state" magnitude value that is sufficient to convince the user of the continuing presence of the effect.
In one embodiment of the present invention, the generalized representation of force signals is an impulse-shaped force signal, i.e., a source wave that has been "shaped" to include an impulse. The shaped signal advantageously captures primary perceptual features of a force signal to substantially preserve the fidelity of the apparent sensation upon the user when it is translated into forces by actuators of the force feedback device. Impulse-shaped force signals are efficient in conveying the desired feel sensation to the user since humans are most sensitive to force transients, not steady states.
Further, since human haptic senses are significantly less sensitive to the magnitude of the steady state force, it is discovered that the magnitude of the steady state signal which follows the impulse need not be as high as the magnitude of an analogous non-impulse signal that is required to create the same sensation upon the user. As will be discussed in detail herein, this aspect of the inventive impulse-shaped force signal provides many advantages.
Referring to FIG. 5, an impulse-shaped time varying force signal 202 of the present invention is represented by a source wave 204, a set of control parameters added by a control parameter step 206, and a set of impulse parameters added by an impulse shaping step 208, a set of application parameters added by an application parameter step 210, and a set of trigger parameters added by a trigger parameter step 212.
A source wave 202 is initially provided. The source wave defines the basic signal from which the effect is created. The source wave may be any predefined type of wave or signal, which may be as simple as a constant force value, or as complex as a square wave, sinusoidal wave, sawtooth wave, triangular wave, or any other arbitrary signal. In some embodiments, the source wave can be a "force profile", which is a series of predefined digital force values that can be stored in a storage device.
The control parameter step 206 adds a number of control parameters to the source wave to define the wave. Control parameters regulate the feel of the force. For example, some or all of the following can be included as control parameters: the frequency of the signal, its duration, its steady-state magnitude, and its offset (i.e., DC voltage component). If the source wave is a constant force signal, frequency control parameters do not apply.
The impulse shaping step 208 modifies or shapes the signal to a desired "quality" to determine how the initial impulse force and the following steady state force will feel. Preferably, a set of impulse parameters is added to the signal to characterize this shaping. The set of impulse parameters includes the impulse magnitude, the settle time (i.e., the time required for the force signal to settle to its steady-state magnitude from the impulse magnitude), and the steady-state time. The steady time represents the difference between the duration (furnished as a control parameter) and the settle time (furnished as an impulse parameter) and may not be required in some cases.
To illustrate the impulse shaping aspect of the present invention, consider the following example. Suppose the programmer wants to create the feel of a virtual car hitting the side railing of a race track while making a wide turn. Perceptually, this effect may be conveyed to the user by a sharp impulse when the user's car hits the railing. The magnitude of the impulse may be larger than the magnitude of the specified impact. This impulse is allowed to settle down to a steady state value, preferably over a short duration in this example to accentuate the intensity of the collision. The reduced steady state signal, once reached, presents a subtle resistive force that is sufficient to convincingly maintain the physical illusion that the railing is a solid entity that resists penetration. The steady state signal may be allowed to continue for a period of time, or indefinitely until the driver recovers the turn and pulls the car away from the railing in this case. In the present invention, the reduced steady-state signal preferably has a magnitude that is significantly lower than the magnitude of prior art force signals required to create the same apparent sensation upon the user.
FIG. 6 illustrates the impulse-shaped force signal for an exemplary effect. In FIG. 6, the source wave 204 is a sinusoidal wave. In step 206, control parameters are added, which include a steady-state magnitude of 25% (e.g., 25% of the maximum force level that can be generated by the actuator), a frequency of 100 Hz, and a duration of 50 milliseconds (mS). In step 208, impulse parameters are added which include an impulse level of 50% and a settle time of 25 mS. After the impulse, the force signal settles, and a steady state force at 25% force level persists until terminated, i.e., when the duration expires after an additional 25 mS. Note that although the decay is shown in FIG. 6 to be a linear decay from the impulse peak, it is contemplated that other types of decay, e.g., logarithmic, may be specified via a parameter if desired. It should be noted that, in general, the settle time is much shorter than the steady state duration; for example, the settle time can be 1/10 the steady state time, or shorter.
In some cases, it may be desired to provide an impulse level that is lower than the steady state level (thus, the force output would increase during the settle time to the steady state level after the impulse level). Also, in some embodiments, a "fade time" can be included as an impulse parameter. The fade time period occurs after the steady state time period and defines a period when the force level decays from the steady-state level to approximately a zero level. This may be used to provide a "fade out" of forces. As with the decay during the settle time, the fade time decay can be provided as a linear, logarithmic, or other type of decay.
As mentioned earlier, the use of the inventive impulse-shape force signal for creating feel sensations is advantageous since its simplified and generalized representation simplifies the task of specifying and creating the desired feel signal to convey a particular feel effect to the user. Via the inventive impulse-shaped force signal forming technique, steady state signals of relative low magnitudes may be employed to convincingly impress upon the user of the continued presence of an effect. Accordingly, less power is consumed by the actuators of the force feedback device, thereby allowing alternative sources of power such as the USB to be used in some embodiments. In addition, reduced power requirements may allow smaller actuators to be used in the force feedback interface device, which is desirable for the consumer mass market. Finally, less heat is generated by the actuators when using less power, which lessens the potentiality of heat-related damage to the components of the force feedback device.
More importantly, the use of the inventive impulse-shaped force signal forming technique advantageously maximizes the available dynamic range of the actuators. To elaborate, most actuators have a finite maximum force level that can be applied. This force level may be limited by the actuators themselves or by the power electronics that drive the actuators. If multiple force effects are present, the cumulative force of these effects can exceed the maximum force level that can be applied by an actuator if the effects are simply superimposed on one another, as was done in the prior art. By conveying a feel sensation as a strong impact followed by a subdued steady state force level, a low background force level may be maintained while convincingly convey to the user of the continued presence of the effect. A subsequent effect may then be superimposed on this subdued steady state level without exceeding the dynamic range limitations of the hardware.
The above advantages may be better understood with reference to the following example. In a flight simulator game, for example, the virtual airplane may be hit by a strong cross-wind (the first effect) from the right. If the intense sensation of the cross-wind is conveyed in a conventional manner to the pilot as a strong constant force pushing to the left on the joystick, there may be little dynamic range left in the actuator to convey other subsequent effects, e.g., being impacted by enemy bullets from the right.
If these effects are created via the inventive impulse-shaped force signals, the cross-wind would be conveyed to the user by a sharp impulse to the left, followed by a subdued steady state force on the joystick that pushes to the left. Because the human pilot is most sensitive to the transient and not the magnitude of the steady state force, the resulting sensation from this effect is still convincing as an intense cross-wind. However, since the sensation is continually conveyed during the steady state period as a lower level constant force, there is more dynamic range left in the actuator to convey a subsequent effect, e.g., being impacted by bullets from the right.
The inventive impulse-shaped force signal forming technique may also employ other optional parameters to convey other aspects of a feel sensation. Referring to FIG. 5, an optional application parameter step 210 may be included to add application parameters describing how the shaped signal is applied to the force feedback interface device. The application parameters indicate the vector or directions of the applied force signal. For example, an axis parameter is an application parameter that may be employed to indicate which axis (e.g., x, y, and z, or specific axes of rotation/translation) of the force feedback device to apply the force signal. A 2D angle parameter may be specified to indicate the direction of effect application for a 2D device. A 3D angle parameter may likewise be specified to indicate the direction of effect application for a 3D device.
Optional trigger parameter step 212 relates to trigger behavior and provides trigger parameters to the impulse-shaped signal. Trigger parameters may be employed to indicate, for example, when a defined effect should be executed. A button trigger parameter, for example, indicates which switch(es) or button(s) of the force feedback device should trigger the impulse-shaped effect when pressed. Button trigger parameters are useful in creating reflex-type effects, which are automatically executed whenever a switch or button on the force feedback device is activated. Reflex-type effects do not require continual intervention by the host processor, thereby alleviating the communication and computational burden on the part of the host. Reflex-type effects are most useful for effects that occur frequently, e.g., the "gun recoil" sensation for automatic weapons. Another trigger parameter is the repeat delay parameter, which may be employed to specify the delay time, typically in milliseconds, between multiple executions of an effect, e.g., for auto-repeat or "autofire" sensations. Such reflex trigger forces are described in greater detail in U.S. Pat. No. 5,691,898, hereby incorporated by reference herein in its entirety.
In accordance with an advantageous aspect of the present invention, multiple simple effects can be sequenced to create a more complex effect. The complex effect may be represented by sequencing the impulse-shaped force signals associated with the constituent simple effects. For example, a game programmer may wish to convey a special weapon (SW) firing effect, which is characterized by a sharp recoil upon firing followed by a softer side-to-side vibration. This combination may be represented by a single sequenced effect with a recoil component, followed by a side-to-side vibration component. These constituent components may be represented by an individual impulse-shaped force signal, which is then sequenced to represent the sequenced effect. The exemplar firing effect may be represented as follows.
Recoil-- Effect
Source:=[Constant Force]
Control Parameters:=[Magnitude=65%, Duration=100 milliseconds]
Impulse Parameters:=[Impulse Level=95%, Settle Time=20 milliseconds]
Application Parameters:=[Y-- Axis]
Vibrate-- Effect
Source:=[Square Wave]
Control Parameters:=[Magnitude=25%, Frequency=50 Hz, Duration =150 milliseconds]
Impulse Parameters:=[Impulse Level=50%, Settle Time=50 milliseconds]
Application Parameters:=[X-- Axis]
Firing-- Effect
Source:=[Recoil-- Effect, Vibrate-- Effect]
Control Parameters:=[Magnitude=75%]
Trigger Parameters:=[Button-- Mask=1, Repeat-- Delay=100 milliseconds]
The recoil effect component is characterized by an impulse at 95% of maximum force level, which is then allowed to decay to 65% force level in 20 milliseconds. Thereafter, there is 80 milliseconds of steady-state constant force at 65% force level. As indicated by the application parameter, this force signal is applied along the Y-axis of the force feedback device. FIG. 7A illustrates the force signal that results from the above representation of the recoil effect.
The vibrate effect is characterized by a square wave of 50 Hz frequency. The square wave is applied as an impulse at 50% force level and allowed to decay to 25% force level in 50 milliseconds. Thereafter, there is 100 milliseconds of steady-state constant force at 65% force level. As indicated by the application parameter, this vibration force signal is applied along the X-axis of the force feedback device. FIG. 7B illustrates the force signal that results from the above representation of the vibrate effect.
The sequenced firing effect is a combination of the recoil effect followed by the vibrate effect. Impulse-shaped force signal FS of FIG. 7C represents the sequenced effect that is conveyed to the user each time the weapon is fired. Multiple force signals FS are shown in FIG. 7C to illustrate the effects that result when button #1 of the force feedback device is held down continuously. As indicated by the trigger parameters above, the auto-repeat (or "autofire") effect is characterized by a 100 millisecond delay between consecutive sequence effects. Although not shown in FIG. 7C, the recoil portion of each force signal FS is applied along the Y-axis, and the vibrate effect is applied along the X-axis.
As mentioned earlier, an offset is a control parameter which may be specified to regulate the "feel" of the source wave. The offset parameter, when present, indicates the amount by which a force signal is offset from the zero-force level, i.e., the offset represents a DC component. By way of example, FIG. 8 shows an impulse-shaped force signal characterized by an offset of 10%. In addition, a directional parameter may further constrain the force signal to have only positive values, only negative values, or both. FIG. 8 is an example where the directional parameter indicates that the impulse-shaped force signal may have both positive and negative values. FIG. 9 illustrates the impulse-shaped force signal of FIG. 8 but with the directional parameter constraining values to be only positive.
FIG. 10 illustrates a schematic of force feedback device system 10, including a host processor 16 and local processor 26, to facilitate discussion of the labor-division aspect of the present invention in terms of the conditions and effects described herein. In the various embodiments of this aspect, the computational burden associated with forming force signals for conditions and effects is divided between the local processor and the host processor as needed to optimize performance.
In accordance with one embodiment, the host processor 16 is employed to form the force signals that represent conditions, i.e., the closed-loop feel sensations for which the force applied to the user is a function of the state of the force feedback device. With reference to FIG. 10, for example, the host processor 16 may receive via path 302 the sensor outputs from a sensor 28 of force feedback device 14. Using the received sensor data, host processor 16 then creates the desired conditions, e.g., stiffness, damping, friction, inertia, or the like. The time-varying values of the formulated force signals may then be transmitted to the actuator 30, via path 310 in FIG. 10 for example, thereby causing actuator 30 to impart the desired feel sensation upon the user.
Alternatively, the local processor 26 may receive the time-varying values representative of the formulated force signals from the host machine, e.g., via path 314, and relay these timevarying values to the actuator of the force feedback device 14 via path 316. If desired, local processor 26 may perform additional processing, e.g., filtering or smoothing, on the received condition-related time-varying values prior to passing them on to actuator 30.
In another embodiment of the present invention, the local processor 26 is preferably employed to generate the force signals that create the condition-related sensations. It is preferable to employ the local processor for the task of forming condition-related force signals since the local processor is typically capable of communicating with the force feedback device sensors and actuators at a faster rate than the host processor. For example, a local bus 318 may enable local processor 312 to read sensor 28 thousands of times per second, a rate which is difficult to achieve using conventional host processor communication ports, e.g., a RS-232 serial port or even USB. Once the force signals are formulated by local processor 312, their time-varying values may be transmitted directly to actuator 30 to create the desired feel sensation upon the user. In this embodiment, the host processor may command parameters such as stiffness (K) or damping (B) to the local processor which then uses that parameter to generate the appropriate condition. Independent parameters can be specified for each axis or degree of freedom and for each direction on an axis or degree of freedom. This passage of parameters allows synchronization of host events with feel conditions.
Further, the task of formulating condition-related force signals is computationally intensive. The need to continually read sensors of the force feedback device and adjust the force signals applied to the actuators of the force feedback device may impose an unacceptably high computational burden on the host processor. In some cases, the host processor may be rendered incapable of properly executing the simulation program. By off-loading the task of forming condition-related force signals to the local processor, the computational bandwidth of the host processor is advantageously improved, thereby enabling the host processor to better attend to tasks requiring its attention, e.g., running the simulation program.
The use of the local processor for formulating condition-related force signals is particularly appropriate if the sensor values required to calculate the condition-related force signals are not needed at the host machine, or are not needed at a fast rate at the host machine. By formulating the condition-related force signals locally at the local processor, these sensor values need not be continually updated to the host processor, thereby freeing up the bandwidth in the communication channel to and/or from the host processor, e.g., channel 302 in FIG. 10.
In accordance with another aspect of the present invention, the effect-related force signals are generated at the host processor and transmitted, via channel 310 for example, to the actuators of the force feedback device. As mentioned earlier, effects are different from conditions in that effects are essentially open-loop sensations and may be formed without taking into account the motion of the force feedback device. Alternatively (or in addition), the effect-related force signals may be generated locally on the local processor and transmitted directly, via channel 316 for example, to the actuators of the force feedback device. The use of the local processor to locally generate effect-related force signals is particularly advantageous when the effect is executed frequently, e.g., the aforementioned "gun recoil" effect. For example, the local processor can run a button check loop as a background process. When the local processor determines that the user has pressed a button from sensor data, a jolt effect force can be overlaid on any existing forces that are output. Or, when the host processor commands that a particular effect be output, the local processor receives this command and outputs the force effect, either by calculating the force effect anew or by outputting a digitally stored force profile. Note that if both condition-related force signals and effect-related force signals are formulated locally at the local processor, the computational bandwidth, as well as communication bandwidth, associated with the host processor may be significantly improved as these tasks are off-loaded from the host processor to the local processor.
In accordance with yet another aspect of the present invention, the stream of digital data representing time-varying values of a force signal may be transmitted to the local processor from the host processor or to the actuators of the force feedback device as a series of overlapping data packets. Overlapping data packets are consecutive packets of digital data which contain at least one same digital value or the same group of digital values. When the same digital data value or the same group of digital values are contained in more than one data packet, the integrity of the transmitted data is not compromised even when one of the consecutive data packets is rendered unusable, e.g., garbled or lost, as a result of the transmission.
FIG. 11(a) illustrates an exemplar data packet 350 which contains 10 digital force signal values (D0-D9). Another data packet 352 in FIG. 11 (b) also contains 10 digital force signal values (D0-D9). However, data packets 350 and 352 contain the same group of five digital values (i.e., D5-D9 in FIG. 11(a) and D0-D4 in FIG. 11(b). In other words, only five digital values in each data packet are "new" values. Another data packet subsequent to data packet 352 (not shown) may have, in addition to five new data values, the same five digital values D5-D9 of FIG. 11 (b). If one of these data packets is lost, the common group of digital values may be recovered from the other data packet by the receiving device, e.g., the local processor or a receiving circuit associated with the force feedback device.
Of course the amount of overlap (in this case 5) as well as the number of digital values per data packet may be varied depending on needs. For example, the number of overlapped data values may be increased, to 9 for example, to ensure that no transmitted digital value is lost even if multiple consecutive data packets are compromised. The use of overlapped data packets may, in some case, render bi-directional communication protocols, e.g., for error-checking purposes, unnecessary since a transmitted data value is included in more than one data packet and given more than one chance to be transmitted properly. This technique may substantially reduce or even eliminate the need for the receiving device to inform the transmitting device whether a particular data value has been properly transmitted or requires re-transmission.
While this invention has been described in terms of several preferred embodiments, it is contemplated that alterations, permutations, and equivalents thereof will become apparent to those skilled in the art upon a reading of the specification and study of the drawings. For example, a wide variety of types and models of forces can be transmitted to a user through the force feedback device when using the present invention. In addition, the application of reflex processes on a local microprocessor can be implemented in a variety of ways. Furthermore, certain terminology has been used for the purposes of descriptive clarity, and not to limit the present invention. It is therefore intended that the following appended claims include all such alterations, permutations, and equivalents as fall within the true spirit and scope of the present invention.
Rosenberg, Louis B., Braun, Adam C.
Patent | Priority | Assignee | Title |
10007340, | Mar 12 2009 | Immersion Corporation | Systems and methods for interfaces featuring surface-based haptic effects |
10013058, | Sep 21 2010 | Apple Inc.; Apple Inc | Touch-based user interface with haptic feedback |
10013082, | Jun 05 2012 | STUART SCHECTER, LLC D B A CARDIATOUCH CONTROL SYSTEMS | Operating system with haptic interface for minimally invasive, hand-held surgical instrument |
10039080, | Mar 04 2016 | Apple Inc. | Situationally-aware alerts |
10052013, | Aug 30 2005 | Boston Scientific Scimed, Inc. | Medical device comprising segments |
10069392, | Jun 03 2014 | Apple Inc. | Linear vibrator with enclosed mass assembly structure |
10073526, | Mar 12 2009 | Immersion Corporation | Systems and methods for friction displays and additional haptic effects |
10073527, | Mar 12 2009 | Immersion Corporation | Systems and methods for providing features in a friction display including a haptic effect based on a color and a degree of shading |
10120446, | Nov 19 2010 | Apple Inc.; Apple Inc | Haptic input device |
10124252, | Mar 15 2013 | Immersion Corporation | Programmable haptic peripheral |
10126817, | Sep 29 2013 | Apple Inc. | Devices and methods for creating haptic effects |
10152128, | Jul 15 2004 | Immersion Corporation | System and method for ordering haptic effects |
10152131, | Nov 07 2011 | Immersion Corporation | Systems and methods for multi-pressure interaction on touch-sensitive surfaces |
10185396, | Nov 12 2014 | Immersion Corporation | Haptic trigger modification system |
10198077, | Mar 12 2009 | Immersion Corporation | Systems and methods for a texture engine |
10236760, | Sep 30 2013 | Apple Inc. | Magnetic actuators for haptic response |
10248213, | Mar 12 2009 | Immersion Corporation | Systems and methods for interfaces featuring surface-based haptic effects |
10268272, | Mar 31 2016 | Apple Inc. | Dampening mechanical modes of a haptic actuator using a delay |
10276001, | Dec 10 2013 | Apple Inc. | Band attachment mechanism with haptic response |
10279251, | Mar 15 2013 | Immersion Corporation | Programmable haptic peripheral |
10296092, | Oct 08 2013 | Immersion Corporation | Generating haptic effects while minimizing cascading |
10310804, | Dec 11 2015 | META PLATFORMS TECHNOLOGIES, LLC | Modifying haptic feedback provided to a user to account for changes in user perception of haptic feedback |
10314661, | Aug 03 2012 | Stryker Corporation | Surgical robotic system and method for controlling an instrument feed rate |
10317162, | Jun 13 2003 | AOB Products Company | Shooting rests for supporting firearms |
10350017, | Aug 03 2012 | Stryker Corporation | Manipulator and method for controlling the manipulator based on joint limits |
10353467, | Mar 06 2015 | Apple Inc | Calibration of haptic devices |
10353471, | Nov 14 2013 | Immersion Corporation | Haptic spatialization system |
10359852, | Jul 15 2004 | Immersion Corporation | Device and method for generating vibration haptic effects based on a timeline effect definition |
10379618, | Mar 12 2009 | Immersion Corporation | Systems and methods for using textures in graphical user interface widgets |
10379670, | Apr 27 2017 | Microsoft Technology Licensing, LLC | Increasing low-force accuracy at a device |
10394436, | Mar 05 2014 | Denso Corporation | Manipulation apparatus |
10401961, | Jun 09 2009 | Immersion Corporation | Method and apparatus for generating haptic effects using actuators |
10416770, | Nov 14 2013 | Immersion Corporation | Haptic trigger control system |
10420619, | Aug 03 2012 | Stryker Corporation | Surgical manipulator and method for transitioning between operating modes |
10426560, | Aug 03 2012 | Stryker Corporation | Robotic system and method for reorienting a surgical instrument moving along a tool path |
10459521, | Oct 22 2013 | Apple Inc. | Touch surface for simulating materials |
10459538, | May 15 2017 | Microsoft Technology Licensing, LLC | Pressure sensitive stylus |
10463440, | Aug 03 2012 | Stryker Corporation | Surgical manipulator and method for resuming semi-autonomous tool path position |
10466792, | Mar 12 2009 | Immersion Corporation | Systems and methods for friction displays and additional haptic effects |
10475300, | Sep 30 2009 | Apple Inc. | Self adapting haptic device |
10481691, | Apr 17 2015 | Apple Inc. | Contracting and elongating materials for providing input and output for an electronic device |
10490035, | Sep 02 2014 | Apple Inc. | Haptic notifications |
10500486, | Mar 31 2015 | Analog stick | |
10514225, | Jan 17 2018 | AOB Products Company | Firearm shooting rest |
10545604, | Apr 21 2014 | Apple Inc. | Apportionment of forces for multi-touch input devices of electronic devices |
10564721, | Mar 12 2009 | Immersion Corporation | Systems and methods for using multiple actuators to realize textures |
10566888, | Sep 08 2015 | Apple Inc | Linear actuators for use in electronic devices |
10599223, | Sep 28 2018 | Apple Inc. | Button providing force sensing and/or haptic output |
10609677, | Mar 04 2016 | Apple Inc. | Situationally-aware alerts |
10613629, | Mar 27 2015 | Chad, Laurendeau | System and method for force feedback interface devices |
10620706, | Nov 12 2014 | Immersion Corporation | Haptic trigger modification system |
10620707, | Mar 12 2009 | Immersion Corporation | Systems and methods for interfaces featuring surface-based haptic effects |
10622538, | Jul 18 2017 | Apple Inc. | Techniques for providing a haptic output and sensing a haptic input using a piezoelectric body |
10651716, | Sep 30 2013 | Apple Inc. | Magnetic actuators for haptic response |
10656718, | Jul 15 2004 | Immersion Corporation | Device and method for outputting a series of haptic effects defined in a timeline effect definition |
10691211, | Sep 28 2018 | Apple Inc.; Apple Inc | Button providing force sensing and/or haptic output |
10719128, | Mar 09 2015 | PREH GmbH | Operator control element with haptic feedback which is dependent on the detection direction |
10747322, | Mar 12 2009 | Immersion Corporation | Systems and methods for providing features in a friction display |
10765307, | Apr 01 2003 | Boston Scientific Scimed, Inc. | Endoscopic imaging system |
10775895, | Nov 07 2011 | Immersion Corporation | Systems and methods for multi-pressure interaction on touch-sensitive surfaces |
10782085, | Feb 15 2019 | AOB Products Company | Recoil-reducing firearm shooting rest having tank |
10809805, | Mar 31 2016 | Apple Inc. | Dampening mechanical modes of a haptic actuator using a delay |
10859336, | Jun 13 2003 | AOB Products Company | Shooting rests for supporting firearms |
11009306, | Jan 17 2018 | AOB Products Company | Firearm shooting rest |
11043088, | Sep 30 2009 | Apple Inc. | Self adapting haptic device |
11045958, | Aug 03 2012 | Stryker Corporation | Surgical robotic system and method for commanding instrument position based on iterative boundary evaluation |
11179210, | Aug 03 2012 | Stryker Corporation | Surgical manipulator and method for controlling pose of an instrument based on virtual rigid body modelling |
11191424, | Aug 30 2005 | Boston Scientific Scimed, Inc. | Method for forming an endoscope articulation joint |
11202682, | Dec 16 2016 | MAKO Surgical Corp. | Techniques for modifying tool operation in a surgical robotic system based on comparing actual and commanded states of the tool relative to a surgical site |
11324395, | Apr 01 2003 | Boston Scientific Scimed, Inc. | Endoscopic imaging system |
11333461, | Feb 15 2019 | AOB Products Company | Recoil-reducing firearm shooting rest having tank |
11380470, | Sep 24 2019 | Apple Inc | Methods to control force in reluctance actuators based on flux related parameters |
11402911, | Apr 17 2015 | Apple Inc. | Contracting and elongating materials for providing input and output for an electronic device |
11471232, | Aug 03 2012 | Stryker Corporation | Surgical system and method utilizing impulse modeling for controlling an instrument |
11605273, | Sep 30 2009 | Apple Inc. | Self-adapting electronic device |
11639001, | Aug 03 2012 | Stryker Corporation | Robotic system and method for reorienting a surgical instrument |
11672620, | Aug 03 2012 | Stryker Corporation | Robotic system and method for removing a volume of material from a patient |
11763971, | Sep 24 2019 | Apple Inc. | Methods to control force in reluctance actuators based on flux related parameters |
11796274, | Feb 15 2019 | AOB Products Company | Recoil-reducing firearm shooting rest having tank |
11809631, | Sep 21 2021 | Apple Inc. | Reluctance haptic engine for an electronic device |
11809651, | Jan 30 2019 | Samsung Display Co., Ltd. | Display device and method for providing haptic feedback by display device |
11841108, | Dec 17 2019 | AOB Products Company | Multi-legged equipment support having leg angle adjustment |
11850011, | Dec 16 2016 | MAKO Surgical Corp. | Techniques for modifying tool operation in a surgical robotic system based on comparing actual and commanded states of the tool relative to a surgical site |
6067077, | Apr 10 1998 | IMMERSION CORPORATION DELAWARE; IMMERSION CORPORATION DELAWARE CORPORATION | Position sensing for force feedback devices |
6078308, | Dec 13 1995 | IMMERSION CORPORATION DELAWARE CORPORATION | Graphical click surfaces for force feedback applications to provide user selection using cursor interaction with a trigger position within a boundary of a graphical object |
6088019, | Jun 23 1998 | IMMERSION CORPORATION DELAWARE CORPORATION | Low cost force feedback device with actuator for non-primary axis |
6101530, | Dec 13 1995 | Immersion Corporation | Force feedback provided over a computer network |
6125385, | Nov 14 1997 | Immersion Corporation | Force feedback implementation in web pages |
6128006, | Mar 26 1998 | IMMERSION CORPORATION DELAWARE CORPORATION | Force feedback mouse wheel and other control wheels |
6154201, | Nov 26 1996 | IMMERSION CORPORATION DELAWARE CORPORATION | Control knob with multiple degrees of freedom and force feedback |
6161126, | Dec 13 1995 | IMMERSION CORPORATION DELAWARE CORPORATION | Implementing force feedback over the World Wide Web and other computer networks |
6169540, | Dec 01 1995 | IMMERSION CORPORATION DELAWARE CORPORATION | Method and apparatus for designing force sensations in force feedback applications |
6211861, | Jun 23 1998 | Immersion Corporation | Tactile mouse device |
6243078, | Sep 17 1998 | IMMERSION CORPORATION DELAWARE CORPORATION | Pointing device with forced feedback button |
6252579, | Aug 23 1997 | IMMERSION CORPORATION DELAWARE CORPORATION | Interface device and method for providing enhanced cursor control with force feedback |
6252583, | Nov 14 1997 | IMMERSION CORPORATION DELAWARE CORPORATION | Memory and force output management for a force feedback system |
6259382, | Sep 25 1998 | Immersion Corporation | Isotonic-isometric force feedback interface |
6278439, | Dec 01 1995 | Immersion Corporation | Method and apparatus for shaping force signals for a force feedback device |
6285351, | Apr 25 1997 | IMMERSION CORPORATION DELAWARE CORPORATION | Designing force sensations for computer applications including sounds |
6288705, | Aug 23 1997 | Immersion Corporation | Interface device and method for providing indexed cursor control with force feedback |
6292170, | Apr 25 1997 | IMMERSION CORPORATION DELAWARE CORPORATION | Designing compound force sensations for computer applications |
6292174, | Aug 23 1997 | Immersion Corporation | Enhanced cursor control using limited-workspace force feedback devices |
6300936, | Nov 14 1997 | IMMERSION CORPORATION DELAWARE CORPORATION | Force feedback system including multi-tasking graphical host environment and interface device |
6300937, | Jul 16 1993 | IMMERSION CORPORATION DELAWARE D B A IMMERSION CORPORATION | Method and apparatus for controlling force feedback for a computer interface device |
6310605, | Apr 14 1997 | Immersion Corporation | Force feedback interface with selective disturbance filter |
6327932, | May 22 1998 | ALPS Electric Co., Ltd. | Steering apparatus |
6342880, | Sep 27 1995 | Immersion Corporation | Force feedback system including multiple force processors |
6343349, | Nov 14 1997 | IMMERSION CORPORATION DELAWARE D B A IMMERSION CORPORATION | Memory caching for force feedback effects |
6348911, | Sep 27 1995 | IMMERSION CORPORATION DELAWARE CORPORATION | Force feedback device including safety switch and force magnitude ramping |
6353850, | Dec 13 1995 | Immersion Corporation | Force feedback provided in web pages |
6411276, | Nov 13 1996 | Immersion Corporation | Hybrid control of haptic feedback for host computer and interface device |
6424356, | May 05 1999 | IMMERSION CORPORATION DELAWARE CORPORATION | Command of force sensations in a forceback system using force effect suites |
6433771, | Dec 02 1992 | Cybernet Haptic Systems Corporation | Haptic device attribute control |
6448977, | Nov 14 1997 | Immersion Corporation | Textures and other spatial sensations for a relative haptic interface device |
6469692, | Jun 23 1998 | Immersion Corporation | Interface device with tactile feedback button |
6591175, | Dec 22 2000 | ALPS ELECTRIC CO , LTD | Manual input device with force feedback function and vehicle-mounted equipment controller using same |
6614420, | Feb 22 1999 | Microsoft Technology Licensing, LLC | Dual axis articulated electronic input device |
6661403, | Sep 27 1995 | Immersion Corporation | Method and apparatus for streaming force values to a force feedback device |
6686911, | Nov 26 1996 | Immersion Corporation | Control knob with control modes and force feedback |
6693626, | Dec 07 1999 | Immerson Corporation; Immersion Corporation | Haptic feedback using a keyboard device |
6697043, | Dec 21 1999 | Immersion Corporation | Haptic interface device and actuator assembly providing linear haptic sensations |
6697044, | Sep 17 1998 | Immersion Corporation | Haptic feedback device with button forces |
6697086, | Dec 01 1995 | Immersion Corporation | Designing force sensations for force feedback computer applications |
6703550, | Oct 10 2001 | Immersion Corporation | Sound data output and manipulation using haptic feedback |
6704002, | Apr 10 1998 | Immersion Corporation | Position sensing methods for interface devices |
6707443, | Jun 23 1998 | Immersion Corporation | Haptic trackball device |
6762745, | May 10 1999 | Immersion Corporation | Actuator control providing linear and continuous force output |
6834201, | Jan 29 2001 | STEREOTAXIS, INC | Catheter navigation within an MR imaging device |
6854975, | Jul 24 2002 | Lyman Products Corporation | Electronic trigger pull gauge |
6857878, | Jan 26 1998 | SIMBIONIX LTD | Endoscopic tutorial system |
6859003, | Sep 30 2002 | ALPS ALPINE CO , LTD | Force sense imparting/inputting apparatus capable of preventing oscillation of operation member, and imparting force sense |
6859671, | May 30 1995 | AUTOMATION MIDDLEWARE SOLUTIONS, INC | Application programs for motion control devices including access limitations |
6859819, | Dec 13 1995 | Immersion Corporation | Force feedback enabled over a computer network |
6863536, | Jan 26 1998 | SIMBIONIX LTD | Endoscopic tutorial system with a bleeding complication |
6878066, | Feb 13 1998 | Freedom Wave LLC | Wireless game control units |
6885898, | May 18 2001 | Roy-G-Biv Corporation | Event driven motion systems |
6894678, | Aug 23 1997 | Immersion Corporation | Cursor control using a tactile feedback device |
6906697, | Aug 11 2000 | IMMERSION CORPORATION | Haptic sensations for tactile feedback interface devices |
6941543, | May 30 1995 | AUTOMATION MIDDLEWARE SOLUTIONS, INC | Motion control system and method |
6956558, | Mar 26 1998 | Immersion Corporation | Rotary force feedback wheels for remote control devices |
7024255, | May 18 2001 | Roy-G-Biv Corporation | Event driven motion systems |
7024625, | Feb 23 1996 | Immersion Corporation; IMMERSION CORPORATION DELAWARE CORPORATION | Mouse device with tactile feedback applied to housing |
7024666, | Jan 28 2002 | Roy-G-Biv Corporation | Motion control systems and methods |
7027032, | Dec 01 1995 | Immersion Corporation | Designing force sensations for force feedback computer applications |
7031798, | Feb 09 2001 | Roy-G-Biv Corporation | Event management systems and methods for the distribution of motion control commands |
7038657, | Sep 27 1995 | Immersion Corporation | Power management for interface devices applying forces |
7038667, | Oct 26 1998 | Immersion Corporation | Mechanisms for control knobs and other interface devices |
7046229, | Apr 20 1999 | Microsoft Technology Licensing, LLC | Computer input device providing absolute and relative positional information |
7061467, | Jul 16 1993 | Immersion Corporation | Force feedback device with microprocessor receiving low level commands |
7102541, | Nov 26 1996 | Immersion Corporation | Isotonic-isometric haptic feedback interface |
7106313, | Nov 17 1995 | Immersion Corporation | Force feedback interface device with force functionality button |
7131073, | Dec 13 1995 | Immersion Corporation | Force feedback applications based on cursor engagement with graphical targets |
7133024, | Apr 20 1999 | Microsoft Technology Licensing, LLC | Computer input device providing absolute and relative positional information |
7136045, | Jun 23 1998 | Immersion Corporation | Tactile mouse |
7137107, | Apr 29 2003 | Roy-G-Biv Corporation | Motion control systems and methods |
7139843, | May 30 1995 | AUTOMATION MIDDLEWARE SOLUTIONS, INC | System and methods for generating and communicating motion data through a distributed network |
7148875, | Jun 23 1998 | Immersion Corporation | Haptic feedback for touchpads and other touch controls |
7168042, | Nov 14 1997 | Immersion Corporation | Force effects for object types in a graphical user interface |
7191191, | May 21 1996 | Immersion Corporation | Haptic authoring |
7202851, | May 04 2001 | IMMERSION MEDICAL, INC | Haptic interface for palpation simulation |
7208671, | Oct 10 2001 | Immersion Corporation | Sound data output and manipulation using haptic feedback |
7209028, | Jun 27 2001 | Immersion Corporation | Position sensor with resistive element |
7209117, | Dec 01 1995 | Immersion Corporation | Method and apparatus for streaming force values to a force feedback device |
7241263, | Sep 30 2004 | SciMed Life Systems, INC | Selectively rotatable shaft coupler |
7265750, | Jun 23 1998 | Immersion Corporation | Haptic feedback stylus and other devices |
7280095, | Apr 30 2003 | Immersion Corporation | Hierarchical methods for generating force feedback effects |
7283120, | Jan 16 2004 | Immersion Corporation | Method and apparatus for providing haptic feedback having a position-based component and a predetermined time-based component |
7307619, | May 04 2001 | Immersion Medical, Inc. | Haptic interface for palpation simulation |
7327348, | Nov 26 1996 | Immersion Corporation | Haptic feedback effects for control knobs and other interface devices |
7404716, | Jul 16 2001 | Immersion Corporation | Interface apparatus with cable-driven force feedback and four grounded actuators |
7413543, | Apr 01 2003 | Foster-Miller, Inc | Endoscope with actively cooled illumination sources |
7423631, | Jun 23 1998 | Immersion Corporation | Low-cost haptic mouse implementations |
7432910, | Dec 21 1999 | Immersion Corporation | Haptic interface device and actuator assembly providing linear haptic sensations |
7479106, | Sep 30 2004 | Boston Scientific Scimed, Inc | Automated control of irrigation and aspiration in a single-use endoscope |
7489309, | Nov 26 1996 | Immersion Corporation | Control knob with multiple degrees of freedom and force feedback |
7502011, | Nov 13 1996 | Immersion Corporation | Hybrid control of haptic feedback for host computer and interface device |
7502662, | Feb 09 2001 | Roy-G-Biv Corporation | Event management systems and methods for motion control systems |
7503852, | Jan 29 2001 | Microsoft Technology Licensing, LLC | Force feedback mechanism for gamepad device |
7507158, | Jan 29 2001 | Microsoft Technology Licensing, LLC | Force feedback mechanism for gamepad device |
7557794, | Apr 14 1997 | Immersion Corporation | Filtering sensor data to reduce disturbances from force feedback |
7561141, | Sep 17 1998 | Immersion Corporation | Haptic feedback device with button forces |
7577522, | Dec 05 2005 | GOOGLE LLC | Spatially associated personal reminder system and method |
7578786, | Apr 01 2003 | Boston Scientific Scimed, Inc | Video endoscope |
7591783, | Apr 01 2003 | SciMed Life Systems, INC | Articulation joint for video endoscope |
7592999, | Jun 23 1998 | Immersion Corporation | Haptic feedback for touchpads and other touch controls |
7597662, | Sep 30 2004 | Boston Scientific Scimed, Inc | Multi-fluid delivery system |
7602384, | Jun 23 1998 | Immersion Corporation | Haptic feedback touchpad |
7605800, | Jul 16 1993 | Immersion Corporation | Method and apparatus for controlling human-computer interface systems providing force feedback |
7623114, | Oct 09 2001 | Immersion Corporation | Haptic feedback sensations based on audio output from computer devices |
7631877, | Jan 26 2006 | AOB Products Company | Firearm targets and methods for manufacturing firearm targets |
7681886, | Feb 24 2006 | BATTENFELD TECHNOLOGIES, INC | Shooting gallery devices and methods |
7696978, | Aug 23 1997 | Immersion Corporation | Enhanced cursor control using interface devices |
7710399, | Jun 23 1998 | Immersion Corporation | Haptic trackball device |
7726478, | Feb 27 2006 | BATTENFELD TECHNOLOGIES, INC | Containers for carrying firearm accessories and/or supporting firearms |
7728820, | Jun 23 1998 | Immersion Corporation | Haptic feedback for touchpads and other touch controls |
7736220, | Sep 19 2001 | Kabushiki Kaisha Sega | Computer program product |
7742036, | Dec 22 2003 | Immersion Corporation | System and method for controlling haptic devices having multiple operational modes |
7765333, | Jul 15 2004 | Immersion Corporation | System and method for ordering haptic effects |
7768504, | Jun 23 1998 | Immersion Corporation | Haptic feedback for touchpads and other touch controls |
7774972, | Sep 11 2006 | AOB Products Company | Modular shooting rests and shooting rest assemblies |
7777716, | Jun 23 1998 | Immersion Corporation | Haptic feedback for touchpads and other touch controls |
7779572, | May 08 2006 | BATTENFELD TECHNOLOGIES, INC | Bipod device for use with a firearm |
7791588, | Dec 22 2003 | Immersion Corporation | System and method for mapping instructions associated with haptic feedback |
7812820, | Oct 24 1991 | Immersion Corporation | Interface device with tactile responsiveness |
7823317, | Aug 22 2006 | AOB Products Company | Adjustable shooting rests and shooting rest assemblies |
7843424, | Dec 01 1995 | Immersion Corporation | Method and apparatus for designing force sensations in force feedback computer applications |
7845267, | Sep 11 2007 | BATTENFELD TECHNOLOGIES, INC | Attachment mechanisms for coupling firearms to supporting structures |
7846107, | May 13 2005 | Boston Scientific Scimed, Inc | Endoscopic apparatus with integrated multiple biopsy device |
7853645, | Oct 07 1997 | AUTOMATION MIDDLEWARE SOLUTIONS, INC | Remote generation and distribution of command programs for programmable devices |
7904194, | Feb 09 2001 | AUTOMATION MIDDLEWARE SOLUTIONS, INC | Event management systems and methods for motion control systems |
7916121, | Nov 13 1996 | Immersion Corporation | Hybrid control of haptic feedback for host computer and interface device |
7917148, | Sep 23 2005 | GOOGLE LLC | Social musical media rating system and method for localized establishments |
7944435, | Jun 23 1998 | Immersion Corporation | Haptic feedback for touchpads and other touch controls |
7946071, | Nov 10 2004 | AOB Products Company | Firearm vise |
7954272, | May 08 2007 | BATTENFELD TECHNOLOGIES, INC | Adjustable firearm supports and associated methods of use and manufacture |
7955255, | Apr 20 2006 | Boston Scientific Scimed, Inc | Imaging assembly with transparent distal cap |
7967759, | Jan 19 2006 | Boston Scientific Scimed, Inc. | Endoscopic system with integrated patient respiratory status indicator |
7978183, | Jun 23 1998 | Immersion Corporation | Haptic feedback for touchpads and other touch controls |
7978186, | Oct 26 1998 | Immersion Corporation | Mechanisms for control knobs and other interface devices |
7982711, | Dec 19 2003 | Immersion Corporation | Haptic profiling system and method |
7982720, | Jun 23 1998 | Immersion Corporation | Haptic feedback for touchpads and other touch controls |
7997021, | Nov 21 2008 | AOB Products Company | Shooting rests with adjustable height assemblies |
8007282, | Jul 16 2001 | Immersion Corporation | Medical simulation interface apparatus and method |
8011129, | Jun 13 2003 | AOB Products Company | Recoil-reducing shooting rest |
8027349, | Sep 25 2003 | Roy-G-Biv Corporation | Database event driven motion systems |
8031181, | Jun 23 1998 | Immersion Corporation | Haptic feedback for touchpads and other touch controls |
8032605, | Oct 27 1999 | Roy-G-Biv Corporation | Generation and distribution of motion commands over a distributed network |
8049734, | Jun 23 1998 | Immersion Corporation | Haptic feedback for touchpads and other touch control |
8052597, | Aug 30 2005 | Boston Scientific Scimed, Inc. | Method for forming an endoscope articulation joint |
8059088, | Dec 08 2002 | Immersion Corporation | Methods and systems for providing haptic messaging to handheld communication devices |
8059104, | Jan 19 2000 | Immersion Corporation | Haptic interface for touch screen embodiments |
8059105, | Jun 23 1998 | Immersion Corporation | Haptic feedback for touchpads and other touch controls |
8063892, | Jan 19 2000 | Elckon Limited | Haptic interface for touch screen embodiments |
8063893, | Jun 23 1998 | Immersion Corporation | Haptic feedback for touchpads and other touch controls |
8083671, | Sep 30 2004 | Boston Scientific Scimed, Inc | Fluid delivery system for use with an endoscope |
8097003, | May 13 2005 | Boston Scientific Scimed, Inc | Endoscopic apparatus with integrated variceal ligation device |
8102869, | Sep 25 2003 | Roy-G-Biv Corporation | Data routing systems and methods |
8104212, | Feb 24 2006 | BATTENFELD TECHNOLOGIES, INC | Firearm supports, such as shooting bags, and firearm support assemblies |
8118732, | Apr 01 2003 | SciMed Life Systems, INC | Force feedback control system for video endoscope |
8120585, | Nov 16 2006 | RPX Corporation | Method, apparatus, and computer program product providing vibration control interface |
8132351, | Aug 22 2006 | AOB Products Company | Adjustable shooting rests and shooting rest assemblies |
8169401, | Jul 10 2001 | British Telecommunications public limited company | Haptic interface |
8188981, | Jan 19 2000 | Immersion Corporation | Haptic interface for touch screen embodiments |
8188989, | Nov 26 1996 | Immersion Corporation | Control knob with multiple degrees of freedom and force feedback |
8197400, | Sep 30 2004 | Boston Scientific Scimed, Inc | Selectively rotatable shaft coupler |
8199187, | Sep 30 2004 | Boston Scientific Scimed, Inc | Adapter for use with digital imaging medical device |
8202265, | Apr 20 2006 | Boston Scientific Scimed, Inc. | Multiple lumen assembly for use in endoscopes or other medical devices |
8212772, | Dec 21 1999 | Immersion Corporation | Haptic interface device and actuator assembly providing linear haptic sensations |
8232969, | Oct 08 2004 | Immersion Corporation | Haptic feedback for button and scrolling action simulation in touch input devices |
8260972, | Jul 15 2004 | Immersion Corporation | System and method for ordering haptic effects |
8264465, | Oct 08 2004 | Immersion Corporation | Haptic feedback for button and scrolling action simulation in touch input devices |
8271105, | May 30 1995 | AUTOMATION MIDDLEWARE SOLUTIONS, INC | Motion control systems |
8279172, | Nov 13 1996 | Immersion Corporation | Hybrid control of haptic feedback for host computer and interface device |
8296988, | Nov 30 2006 | BATTENFELD TECHNOLOGIES, INC | Firearm supporting devices, methods of assembling firearm supporting devices, and methods of packaging firearm supporting devices |
8308558, | Sep 21 1994 | Universal tactile feedback system for computer video games and simulations | |
8316166, | Dec 08 2002 | Immersion Corporation | Haptic messaging in handheld communication devices |
8316570, | May 08 2006 | AOB Products Company | Bipod device for use with a firearm |
8328638, | Sep 21 1994 | Method and apparatus for generating tactile feedback via relatively low-burden and/or zero burden telemetry | |
8336708, | Jul 20 2007 | BATTENFELD TECHNOLOGIES, INC | System and container for organizing and carrying tools and tool sets |
8353860, | Sep 30 2004 | Boston Scientific Scimed, Inc | Device for obstruction removal with specific tip structure |
8356442, | Aug 22 2006 | AOB Products Company | Adjustable shooting rests and shooting rest assemblies |
8357148, | Sep 30 2004 | Boston Scientific Scimed, Inc | Multi-functional endoscopic system for use in electrosurgical applications |
8360879, | May 09 2002 | Nintendo Co., Ltd. | Game machine and game program for overturning or spinning a player object on a display screen |
8371057, | May 09 2006 | AOB Products Company | Firearm cleaning apparatus with protective coating |
8378965, | Apr 10 2007 | Immersion Corporation | Vibration actuator with a unidirectional drive |
8393106, | Nov 21 2008 | AOB Products Company | Shooting rests with adjustable height for supporting firearms |
8425408, | Apr 01 2003 | Boston Scientific Scimed, Inc. | Articulation joint for video endoscope |
8435172, | Sep 30 2004 | Boston Scientific Scimed, Inc. | Automated control of irrigation and aspiration in a single-use endoscope |
8441437, | Oct 09 2001 | Immersion Corporation | Haptic feedback sensations based on audio output from computer devices |
8462116, | Jun 23 1998 | Immersion Corporation | Haptic trackball device |
8464628, | Sep 11 2007 | AOB Products Company | Attachment mechanisms for coupling firearms to supporting structures |
8475366, | Apr 01 2003 | Boston Scientific Scimed, Inc. | Articulation joint for a medical device |
8527873, | Nov 14 1997 | Immersion Corporation | Force feedback system including multi-tasking graphical host environment and interface device |
8535219, | Apr 01 2003 | Boston Scientific Scimed, Inc. | Fluid manifold for endoscope system |
8552982, | Apr 10 1998 | Immersion Corporation | Position sensing methods for interface devices |
8570291, | May 21 2009 | Panasonic Corporation | Tactile processing device |
8572293, | Jul 15 2004 | Immersion Corporation | System and method for ordering haptic effects |
8572882, | Jun 13 2003 | Battenfeld Technologies, Inc. | Shooting rests for supporting firearms |
8585715, | May 13 2005 | Boston Scientific Scimed, Inc. | Endoscopic apparatus with integrated variceal ligation device |
8608648, | Apr 01 2003 | Boston Scientific Scimed, Inc. | Articulation joint |
8621773, | Jun 13 2003 | AOB Products Company | Shooting rests for supporting firearms |
8622894, | Apr 01 2003 | Boston Scientific Scimed, Inc. | Articulation joint |
8638308, | May 04 2001 | Immersion Medical, Inc. | Haptic interface for palpation simulation |
8663122, | Jan 26 2005 | STUART SCHECTER LLC D B A CARDIATOUCH CONTROL SYSTEMS | Cardiovascular haptic handle system |
8686941, | Oct 09 2001 | Immersion Corporation | Haptic feedback sensations based on audio output from computer devices |
8695985, | Jan 07 2011 | AOB Products Company | Stowable shooting target assemblies |
8745104, | Sep 23 2005 | GOOGLE LLC | Collaborative rejection of media for physical establishments |
8747196, | Dec 01 1995 | Immersion Corporation | Force feedback device for simulating combat |
8762435, | Sep 23 2005 | GOOGLE LLC | Collaborative rejection of media for physical establishments |
8803795, | Dec 08 2002 | Immersion Corporation | Haptic communication devices |
8830161, | Dec 08 2002 | Immersion Corporation | Methods and systems for providing a virtual touch haptic effect to handheld communication devices |
8870753, | Apr 20 2006 | Boston Scientific Scimed, Inc. | Imaging assembly with transparent distal cap |
8888684, | Mar 27 2006 | Boston Scientific Scimed, Inc. | Medical devices with local drug delivery capabilities |
8909817, | Jul 15 2004 | Immersion Corporation | System and method for ordering haptic effects |
8931201, | Dec 31 2012 | AOB Products Company | Gun support apparatus |
8942828, | Apr 13 2011 | STUART SCHECTER, LLC D B A CARDIATOUCH CONTROL SYSTEMS | Minimally invasive cardiovascular support system with true haptic coupling |
8956304, | Jan 26 2005 | Stuart Schecter LLC | Cardiovascular haptic handle system |
8982068, | Sep 24 2008 | Immersion Corporation | Multiple actuation handheld device with first and second haptic actuator |
8992322, | Jun 09 2003 | Immersion Corporation | Interactive gaming systems with haptic feedback |
9056244, | Sep 12 2012 | LNW GAMING, INC | Gaming apparatus incorporating targeted haptic feedback |
9119655, | Aug 03 2012 | Stryker Corporation | Surgical manipulator capable of controlling a surgical instrument in multiple modes |
9151561, | Jun 13 2003 | AOB Products Company | Shooting rests for supporting firearms |
9164587, | Nov 14 2013 | Immersion Corporation | Haptic spatialization system |
9174134, | Nov 12 2014 | Immersion Corporation | Peripheral device with haptic diminishment prevention component |
9176600, | Jan 12 2009 | Logitech Europe S.A. | Programmable analog keys for a control device |
9213408, | Oct 08 2013 | Immersion Corporation | Generating haptic effects while minimizing cascading |
9226796, | Aug 03 2012 | Stryker Corporation | Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path |
9245428, | Aug 02 2012 | Immersion Corporation | Systems and methods for haptic remote control gaming |
9280205, | Dec 17 1999 | Immersion Corporation | Haptic feedback for touchpads and other touch controls |
9358363, | Apr 20 2006 | Boston Scientific Scimed, Inc. | Multiple lumen assembly for use in endoscopes or other medical devices |
9439557, | Aug 30 2005 | Boston Scientific Scimed, Inc. | Articulation joint |
9480534, | Aug 03 2012 | Stryker Corporation | Navigation system and method for removing a volume of tissue from a patient |
9492847, | Sep 28 1999 | Immersion Corporation | Controlling haptic sensations for vibrotactile feedback interface devices |
9501912, | Jan 27 2014 | Apple Inc. | Haptic feedback device with a rotating mass of variable eccentricity |
9507421, | Jul 15 2004 | Immersion Corporation | Synchronizing haptic effects to multimedia |
9507423, | Oct 08 2013 | Immersion Corporation | Generating haptic effects while minimizing cascading |
9509269, | Jan 15 2005 | GOOGLE LLC | Ambient sound responsive media player |
9545568, | Sep 24 2008 | Immersion Corporation | Multiple actuation handheld device with housing and touch screen actuators |
9557830, | Mar 15 2013 | Immersion Corporation | Programmable haptic peripheral |
9564029, | Sep 02 2014 | Apple Inc. | Haptic notifications |
9566122, | Aug 03 2012 | Stryker Corporation | Robotic system and method for transitioning between operating modes |
9566125, | Aug 03 2012 | Stryker Corporation | Surgical manipulator having a feed rate calculator |
9582178, | Nov 07 2011 | Immersion Corporation | Systems and methods for multi-pressure interaction on touch-sensitive surfaces |
9594444, | Nov 23 2011 | Samsung Electronics Co., Ltd | Haptic feedback method and apparatus and machine-readable storage medium |
9608506, | Jun 03 2014 | Apple Inc. | Linear actuator |
9619029, | Nov 14 2013 | Immersion Corporation | Haptic trigger control system |
9640048, | Sep 30 2009 | Apple Inc. | Self adapting haptic device |
9652040, | Aug 08 2013 | Apple Inc. | Sculpted waveforms with no or reduced unforced response |
9681920, | Aug 03 2012 | Stryker Corporation | Robotic system and method for reorienting a surgical instrument moving along a tool path |
9696803, | Mar 12 2009 | Immersion Corporation | Systems and methods for friction displays and additional haptic effects |
9702653, | Oct 09 2015 | AOB Products Company | Firearm shooting rest |
9740287, | Nov 14 1997 | Immersion Corporation | Force feedback system including multi-tasking graphical host environment and interface device |
9746923, | Mar 12 2009 | Immersion Corporation | Systems and methods for providing features in a friction display wherein a haptic effect is configured to vary the coefficient of friction |
9753540, | Aug 02 2012 | Immersion Corporation | Systems and methods for haptic remote control gaming |
9778745, | Nov 14 1997 | Immersion Corporation | Force feedback system including multi-tasking graphical host environment and interface device |
9779592, | Sep 26 2013 | Apple Inc. | Geared haptic feedback element |
9795445, | Aug 03 2012 | Stryker Corporation | System and method for controlling a manipulator in response to backdrive forces |
9814974, | Nov 12 2014 | Immersion Corporation | Peripheral device with haptic diminishment prevention component |
9820818, | Aug 03 2012 | Stryker Corporation | System and method for controlling a surgical manipulator based on implant parameters |
9830782, | Sep 02 2014 | Apple Inc. | Haptic notifications |
9874935, | Mar 12 2009 | Immersion Corporation | Systems and methods for a texture engine |
9886093, | Sep 27 2013 | Apple Inc. | Band with haptic actuators |
9891708, | Jun 09 2009 | Immersion Corporation | Method and apparatus for generating haptic effects using actuators |
9891710, | Nov 14 2013 | Immersion Corporation | Haptic spatialization system |
9911553, | Sep 28 2012 | Apple Inc. | Ultra low travel keyboard |
9913573, | Apr 01 2003 | Boston Scientific Scimed, Inc. | Endoscopic imaging system |
9921712, | Dec 29 2010 | MAKO SURGICAL CORP | System and method for providing substantially stable control of a surgical tool |
9927873, | Mar 12 2009 | Immersion Corporation | Systems and methods for using textures in graphical user interface widgets |
9928950, | Sep 27 2013 | Apple Inc. | Polarized magnetic actuators for haptic response |
9934661, | Sep 30 2009 | Apple Inc. | Self adapting haptic device |
9997306, | Sep 28 2012 | Apple Inc. | Ultra low travel keyboard |
H2017, | |||
RE40341, | Oct 23 1992 | IMMERSION CORPORATION DELAWARE CORPORATION | Controller |
RE40808, | Jun 23 1998 | Immersion Corporation | Low-cost haptic mouse implementations |
RE46007, | Sep 30 2004 | Boston Scientific Scimed, Inc. | Automated control of irrigation and aspiration in a single-use endoscope |
Patent | Priority | Assignee | Title |
3919691, | |||
4398889, | Nov 07 1980 | Fokker B.V. | Flight simulator |
4477043, | Dec 15 1982 | The United States of America as represented by the Secretary of the Air | Biodynamic resistant control stick |
4654648, | Dec 17 1984 | Wireless cursor control system | |
4769763, | Jun 28 1985 | Carl Zeiss Industrielle Messtechnik GmbH | Control for coordinate measuring instruments |
4791934, | Aug 07 1986 | Brainlab AG | Computer tomography assisted stereotactic surgery system and method |
4800721, | Feb 13 1987 | Caterpillar Inc.; Caterpillar Inc | Force feedback lever |
4803413, | Jul 15 1986 | Honeywell INC | Magnetic isolating and pointing gimbal apparatus |
4907970, | Mar 30 1988 | Grumman Aerospace Corporation | Sidestick-type thrust control simulator |
4961038, | Oct 16 1989 | General Electric Company | Torque estimator for switched reluctance machines |
4961138, | May 01 1987 | BANK OF NEW YORK COMMERCIAL CORPORATION, AS AGENT, THE | System and apparatus for providing three dimensions of input into a host processor |
5044956, | Jan 12 1989 | WARNER BROS ENTERTAINMENT INC | Control device such as a steering wheel for video vehicle simulator with realistic feedback forces |
5072361, | Feb 01 1990 | University of Utah Research Foundation | Force-reflective teleoperation control system |
5088046, | Dec 19 1987 | Renishaw PLC | Mounting for surface-sensing stylus and a method of using said mounting |
5103404, | Dec 06 1985 | TENSOR DEVELOPMENT, INC , A CORP OF CO | Feedback for a manipulator |
5107080, | Dec 01 1989 | Massachusetts Institute of Technology; MASSACHUSETTS INSTITUTE OF TECHNOLOGY, A CORP OF MA | Multiple degree of freedom damped hand controls |
5153884, | Aug 15 1990 | Allen-Bradley Company, Inc. | Intelligent network interface circuit |
5184319, | Feb 02 1990 | Virtual Technologies, INC | Force feedback and textures simulating interface device |
5185561, | Jul 23 1991 | IMMERSION CORPORATION DELAWARE CORPORATION | Torque motor as a tactile feedback device in a computer system |
5220260, | Oct 24 1991 | IMMERSION CORPORATION DELAWARE CORPORATION | Actuator having electronically controllable tactile responsiveness |
5223776, | Dec 31 1990 | ER-WE-PA DAVIS-STANDARD GMBH | Six-degree virtual pivot controller |
5243266, | Jul 05 1991 | Kabushiki Kaisha Daihen | Teaching control device for manual operation in an industrial robots-system |
5264768, | Oct 06 1992 | Honeywell, Inc. | Active hand controller feedback loop |
5289273, | Sep 28 1989 | CEC ENTERTAINMENT, INC | Animated character system with real-time control |
5396266, | Jun 08 1993 | Technical Research Associates, Inc. | Kinesthetic feedback apparatus and method |
5405125, | May 12 1994 | Bow holder | |
5412880, | Feb 23 1993 | XENON RESEARCH, INC | Method of constructing a 3-dimensional map of a measurable quantity using three dimensional coordinate measuring apparatus |
5414337, | Oct 24 1991 | IMMERSION CORPORATION DELAWARE CORPORATION | Actuator having electronically controllable tactile responsiveness |
5429140, | Jun 04 1993 | American Home Products Corporation | Integrated virtual reality rehabilitation system |
5445166, | Nov 02 1993 | International Business Machines Corporation | System for advising a surgeon |
5451924, | Jan 14 1993 | MASSACHUSETTS INSTITUTE OF TECHNOLOGY, THE | Apparatus for providing sensory substitution of force feedback |
5459382, | Dec 02 1992 | Immersion Corporation | Method and system for providing a tactile virtual reality and manipulator defining an interface device therefor |
5482051, | Mar 10 1994 | The University of Akron | Electromyographic virtual reality system |
5512919, | Mar 31 1992 | Pioneer Electronic Corporation | Three-dimensional coordinates input apparatus |
5513100, | Jun 10 1993 | IMMERSION CORPORATION DELAWARE CORPORATION | Velocity controller with force feedback stiffness control |
5517507, | Dec 03 1993 | Motorola, Inc.; Motorola, Inc | Notification by energy burst of messages with unacceptable quality |
5570111, | Oct 03 1994 | International Business Machines Corporation | Graphical user interface cursor positioning device having a negative inertia transfer function |
5576727, | Jul 16 1993 | IMMERSION CORPORATION DELAWARE CORPORATION | Electromechanical human-computer interface with force feedback |
5589828, | Mar 05 1992 | ANASCAPE, LTD | 6 Degrees of freedom controller with capability of tactile feedback |
5589854, | Jun 22 1995 | IMMERSION CORPORATION DELAWARE CORPORATION | Touching feedback device |
5623582, | Jul 14 1994 | IMMERSION CORPORATION DELAWARE CORPORATION | Computer interface or control input device for laparoscopic surgical instrument and other elongated mechanical objects |
5625576, | Oct 01 1993 | Massachusetts Institute of Technology | Force reflecting haptic interface |
5629594, | Dec 02 1992 | Immersion Corporation | Force feedback system |
5642469, | Nov 03 1994 | Washington, University of | Direct-drive manipulator for pen-based force display |
5643087, | May 19 1994 | Microsoft Technology Licensing, LLC | Input device including digital force feedback apparatus |
5656901, | Apr 22 1994 | Kokusai Dengyo Co., Ltd. | Reaction force generating apparatus |
5666473, | Oct 08 1992 | GLOBAL HAPTICS, INC | Tactile computer aided sculpting device |
5680322, | May 30 1994 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for dynamic image data transmission |
5691898, | Sep 27 1995 | IMMERSION CORPORATION DELAWARE CORPORATION | Safe and low cost computer peripherals with force feedback for consumer applications |
5721566, | Mar 03 1995 | IMMERSION CORPORATION DELAWARE CORPORATION | Method and apparatus for providing damping force feedback |
5731804, | Jan 18 1995 | IMMERSION CORPORATION DELAWARE CORPORATION | Method and apparatus for providing high bandwidth, low noise mechanical I/O for computer systems |
5734373, | Jul 16 1993 | IMMERSION CORPORATION DELAWARE CORPORATION | Method and apparatus for controlling force feedback interface systems utilizing a host computer |
5739811, | Jul 16 1993 | IMMERSION CORPORATION DELAWARE CORPORATION | Method and apparatus for controlling human-computer interface systems providing force feedback |
5742278, | Jan 27 1994 | Microsoft Technology Licensing, LLC | Force feedback joystick with digital signal processor controlled by host processor |
5767839, | Jan 18 1995 | IMMERSION CORPORATION DELAWARE CORPORATION | Method and apparatus for providing passive force feedback to human-computer interface systems |
WO9520787, | |||
WO9520788, | |||
WO9532459, | |||
WO9616397, | |||
WO9712657, | |||
WO9721160, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 13 1996 | Immersion Corporation | (assignment on the face of the patent) | / | |||
Feb 03 1997 | ROSENBERG, LOUIS B | IMMERSION HUMAN INTEFACE CORPORATION | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 008387 | /0604 | |
Feb 03 1997 | BRAUN, ADAM C | IMMERSION HUMAN INTEFACE CORPORATION | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 008387 | /0604 | |
Apr 06 1998 | Immersion Human Interface Corporation | Immersion Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 009556 | /0335 | |
Nov 02 1999 | IMMERSION CORPORATION CALIFORNIA CORPORATION | IMMERSION CORPORATION DELAWARE CORPORATION | MERGER SEE DOCUMENT FOR DETAILS | 010310 | /0885 |
Date | Maintenance Fee Events |
Mar 19 2003 | ASPN: Payor Number Assigned. |
Mar 19 2003 | RMPN: Payer Number De-assigned. |
Apr 01 2003 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Apr 01 2003 | M1554: Surcharge for Late Payment, Large Entity. |
May 12 2003 | R2551: Refund - Payment of Maintenance Fee, 4th Yr, Small Entity. |
May 12 2003 | R2554: Refund - Surcharge for late Payment, Small Entity. |
May 12 2003 | STOL: Pat Hldr no Longer Claims Small Ent Stat |
Mar 28 2007 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Mar 28 2011 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Sep 28 2002 | 4 years fee payment window open |
Mar 28 2003 | 6 months grace period start (w surcharge) |
Sep 28 2003 | patent expiry (for year 4) |
Sep 28 2005 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 28 2006 | 8 years fee payment window open |
Mar 28 2007 | 6 months grace period start (w surcharge) |
Sep 28 2007 | patent expiry (for year 8) |
Sep 28 2009 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 28 2010 | 12 years fee payment window open |
Mar 28 2011 | 6 months grace period start (w surcharge) |
Sep 28 2011 | patent expiry (for year 12) |
Sep 28 2013 | 2 years to revive unintentionally abandoned end. (for year 12) |