Haptic feedback for touchpads and other touch controls

Information

  • Patent Grant
  • 8059105
  • Patent Number
    8,059,105
  • Date Filed
    Monday, January 14, 2008
    16 years ago
  • Date Issued
    Tuesday, November 15, 2011
    12 years ago
Abstract
A haptic feedback planar touch control used to provide input to a computer. A touch input device includes a planar touch surface that inputs a position signal to a processor of the computer based on a location of user contact on the touch surface. The computer can position a cursor in a displayed graphical environment based at least in part on the position signal, or perform a different function. At least one actuator is also coupled to the touch input device and outputs a force to provide a haptic sensation to the user contacting the touch surface. The touch input device can be a touchpad separate from the computer's display screen, or can be a touch screen. Output haptic sensations on the touch input device can include pulses, vibrations, and spatial textures. The touch input device can include multiple different regions to control different computer functions.
Description
BACKGROUND

The subject matter described relates generally to the interfacing with computer and mechanical devices by a user, and more particularly to devices used to interface with computer systems and electronic devices and which provide haptic feedback to the user.


Humans interface with electronic and mechanical devices in a variety of applications, and the need for a more natural, easy-to-use, and informative interface is a constant concern. In the context, humans interface with computer devices for a variety of applications. One such application is interacting with computer-generated environments such as games, simulations, and application programs. Computer input devices such as mice and trackballs are often used to control a cursor within a graphical environment and provide input in these applications.


In some interface devices, force feedback or tactile feedback is also provided to the user, collectively known herein as “haptic feedback.” For example, haptic versions of joysticks, mice, gamepads, steering wheels, or other types of devices can output forces to the user based on events or interactions occurring within the graphical environment, such as in a game or other application program.


In portable computer or electronic devices, such as laptop computers, mice typically too large a workspace to be practical. As a result, more compact devices such as trackballs are often used. A more popular device for portable computers are “touchpads,” which are small rectangular, planar pads provided near the keyboard of the computer. The touchpads senses the location of a pointing object by any of a variety of sensing technologies, such as capacitive sensors or pressure sensors that detect pressure applied to the touchpad. The user contacts the touchpad most commonly with a fingertip and moves his or her finger on the pad to move a cursor displayed in the graphical environment. In other embodiments, the user can operate a stylus in conjunction with the touchpad by pressing the stylus tip on the touchpad and moving the stylus.


One problem with existing touchpads is that there is no haptic feedback provided to the user. The user of a touchpad is therefore not able to experience haptic sensations that assist and inform the user of targeting and other control tasks within the graphical environment. The touchpads of the prior art also cannot take advantage of existing haptic-enabled software run on the portable computer.


OVERVIEW

An embodiment is directed to a haptic feedback planar touch control used to provide input to a computer system. The control can be a touchpad provided on a portable computer, or can be a touch screen found on a variety of devices. The haptic sensations output on the touch control enhance interactions and manipulations in a displayed graphical environment or when controlling an electronic device.


More specifically, the embodiment relates to a haptic feedback touch control for inputting signals to a computer and for outputting forces to a user of the touch control. The control includes a touch input device including an approximately planar touch surface operative to input a position signal to a processor of said computer based on a location of user contact on the touch surface. The computer positions a cursor in a graphical environment displayed on a display device based at least in part on the position signal. At least one actuator is also coupled to the touch input device and outputs a force on the touch input device to provide a haptic sensation to the user contacting the touch surface. The actuator outputs the force based on force information output by the processor to the actuator.


The touch input device can be a touchpad separate from a display screen of the computer, or can be included in a display screen of the computer as a touch screen. The touch input device can be integrated in a housing of the computer or handheld device, or provided in a housing that is separate from the computer. The user contacts the touch surface with a finger, a stylus, or other object. The force is preferably a linear force output approximately perpendicularly to a plane of the touch surface of the touch input device, and the actuator can include a piezo-electric actuator, a voice coil actuator, a pager motor, a solenoid, or other type of actuator. In one embodiment, the actuator is coupled between the touch input device and a grounded surface. In another embodiment, the actuator is coupled to an inertial mass, wherein said actuator outputs an inertial force on the touch input device approximately along an axis perpendicular to the planar touch surface. A touch device microprocessor separate from the main processor of the computer can receive force information from the host computer and provide control signals based on the force information to control the actuator.


The haptic sensations, such as a pulse, vibration, or spatial texture, are preferably output in accordance with an interaction of a controlled cursor with a graphical object in the graphical environment. For example, a pulse can be output when the cursor is moved between menu elements in a menu, moved over said icon, or moved over a hyperlink. The touch input device can include multiple different regions, where at least one of the regions provides the position signal and at least one other region provides a signal that is used by the computer to control a different function, such as rate control function of a value or a button press. Different regions and borders between regions can be associated with different haptic sensations.


An embodiment advantageously provides haptic feedback to a planar touch control device of a computer, such as a touchpad or touch screen. The haptic feedback can assist and inform the user of interactions and events within a graphical user interface or other environment and ease cursor targeting tasks. Furthermore, an embodiment allows portable computer devices having such touch controls to take advantage of existing haptic feedback enabled software. The haptic touch devices disclosed herein are also inexpensive, compact and consume low power, allowing them to be easily incorporated into a wide variety of portable and desktop computers and electronic devices.


These and other advantages will become apparent to those skilled in the art upon a reading of the following specification and a study of the several figures of the drawing.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a perspective view of a haptic touchpad;



FIG. 2 is a perspective view of a remote control device including the touchpad;



FIG. 3 is a perspective view of a first embodiment of the touchpad including one or more actuators coupled to the underside of the touchpad;



FIG. 4 is a side elevational view of a first embodiment in which a piezo-electric actuator is directly coupled to the touchpad;



FIG. 5 is a side elevational view of a second embodiment of the touchpad including a linear actuator;



FIG. 6 is a side elevational view of a third embodiment of the touchpad having an inertial mass;



FIG. 7 is a top plan view of an example of a touchpad having different control regions; and



FIGS. 8
a and 8b are top plan and side cross sectional views, respectively, of a touch screen embodiment.





DETAILED DESCRIPTION


FIG. 1 is a perspective view of a portable computer 10 including a haptic touchpad. Computer 10 is preferably a portable or “laptop” computer that can be carried or otherwise transported by the user and may be powered by batteries or other portable energy source in addition to other more stationary power sources. Computer 10 preferably runs one or more host application programs with which a user is interacting via peripherals.


Computer 10 may include the various input and output devices as shown, including a display device 12 for outputting graphical images to the user, a keyboard 14 for providing character or toggle input from the user to the computer, and a touchpad 16. Display device 12 can be any of a variety of types of display devices; flat-panel displays are most common on portable computers. Display device 12 can display a graphical environment 18 based on application programs and/or operating systems that are running, such as a graphical user interface (GUI), that can include a cursor 20 that can be moved by user input, as well as windows 22, icons 24, and other graphical objects well known in GUI environments. Other devices may also be incorporated or coupled to the computer 10, such as storage devices (hard disk drive, DVD-ROM drive, etc.), network server or clients, game controllers, etc. In alternate embodiments, the computer 10 can take a wide variety of forms, including computing devices that rest on a tabletop or other surface, stand-up arcade game machines, other portable devices or devices worn on the person, handheld or used with a single hand of the user, etc. For example, host computer 10 can be a video game console, personal computer, workstation, a television “set top box” or a “network computer”, or other computing or electronic device.


Touchpad device 16 preferably appears externally to be similar to the touchpads of the prior art. Pad 16 includes a planar, rectangular smooth surface that can be positioned below the keyboard 14 on the housing of the computer 10, as shown, or may be positioned at other areas of the housing. When the user operates the computer 10, the user may conveniently place a fingertip or other object on the touchpad 16 and move the fingertip to correspondingly move cursor 20 in the graphical environment 18.


In operation, the touchpad 16 inputs coordinate data to the main microprocessor(s) of the computer 10 based on the sensed location of an object on (or near) the touchpad. As with many touchpads of the prior art, touchpad 16 can be capacitive, resistive, or use a different type of sensing. Some existing touchpad embodiments are disclosed, for example, in U.S. Pat. Nos. 5,521,336 and 5,943,044. Capacitive touchpads typically sense the location of an object on or near the surface of the touchpad based on capacitive coupling between capacitors in the touchpad and the object. Resistive touchpads are typically pressure-sensitive, detecting the pressure of a finger, stylus, or other object against the pad, where the pressure causes conductive layers, traces, switches, etc. in the pad to electrically connect. Some resistive or other types of touchpads can detect the amount of pressure applied by the user and can use the degree of pressure for proportional or variable input to the computer 10. Resistive touchpads typically are at least partially deformable, so that when a pressure is applied to a particular location, the conductors at that location are brought into electrical contact. Such deformability can be useful since it can potentially amplify the magnitude of output forces such as pulses or vibrations on the touchpad. Forces can be amplified if a tuned compliant suspension is provided between an actuator and the object that is moved, as described in U.S. Pat. No. 6,680,729. Capacitive touchpads and other types of touchpads that do not require significant contact pressure may be better suited in many embodiments, since excessive pressure on the touchpad may in some cases interfere with the motion of the touchpad for haptic feedback. Other types of sensing technologies can also be used in the touchpad. Herein, the term “touchpad” preferably includes the surface of the touchpad 16 as well as any sensing apparatus included in the touchpad unit.


Touchpad 16 preferably operates similarly to existing touchpads, where the speed of the fingertip on the touchpad correlates to the distance that the cursor is moved in the graphical environment. For example, if the user moves his or her finger quickly across the pad, the cursor is moved a greater distance than if the user moves the fingertip more slowly. If the user's finger reaches the edge of the touchpad before the cursor reaches a desired destination in that direction, then the user can simply move his or her finger off the touchpad, reposition the finger away from the edge, and continue moving the cursor. This is an “indexing” function similar to lifting a mouse off a surface to change the offset between mouse position and cursor. Furthermore, many touchpads can be provided with particular regions that are each assigned to particular functions that can be unrelated to cursor positioning. Such an embodiment is described in greater detail below with respect to FIG. 7. In some embodiments the touchpad 16 may also allow a user to “tap” the touchpad (rapidly touch and remove the object from the pad) in a particular location to provide a command. For example, the user can tap or “double tap” the pad with a finger while the controlled cursor is over an icon to select that icon.


The touchpad 16 is provided with the ability to output haptic feedback such as tactile sensations to the user who is physically contacting the touchpad 16. Various embodiments detailing the structure of the haptic feedback touchpad are described in greater detail below. Preferably, the forces output on the touchpad are linear (or approximately linear) and oriented along the z-axis, approximately perpendicular to the surface of the touchpad 16 and the top surface of computer 10. In a different embodiment, forces can be applied to the touchpad 16 to cause side-to-side (e.g., x-y) motion of the pad in the plane of its surface in addition to or instead of z-axis motion, although such motion is not preferred.


Using one or more actuators coupled to the touchpad 16, a variety of haptic sensations can be output to the user who is contacting the pad. For example, jolts, vibrations (varying or constant amplitude), and textures can be output. Forces output on the pad can be at least in part based on the location of the finger on the pad or the state of a controlled object in the graphical environment of the host computer 10, and/or independent of finger position or object state. Such forces output on the touchpad 16 are considered “computer-controlled” since a microprocessor or other electronic controller is controlling the magnitude and/or direction of the force output of the actuator(s) using electronic signals. Preferably, the entire pad 16 is provided with haptic sensations as a single unitary member; in other embodiments, individually-moving portions of the pad can each be provided with its own haptic feedback actuator and related transmissions so that haptic sensations can be provided for only a particular portion. For example, some embodiments may include a touchpad having different portions that may be flexed or otherwise moved with respect to other portions of the pad.


In other embodiments, the touchpad 16 can be provided in a separate housing that is connected to a port of the computer 10 via a cable or via wireless transmission and which receives force information from and sends position information to the computer 10. For example, Universal Serial Bus (USB), Firewire, or a standard serial bus can connect such a touchpad to the computer 10. In such an embodiment, the computer 10 can be any desktop or stationary computer or device and need not be a portable device.


One or more buttons 26 can also be provided on the housing of the computer 10 to be used in conjunction with the touchpad 16. The user's hands have easy access to the buttons, each of which may be pressed by the user to provide a distinct input signal to the host computer 12. Typically, each button 26 corresponds to a similar button found on a mouse input device, so that a left button can be used to select a graphical object (click or double click), a right button can bring up a context menu, etc. In some embodiments, one or more of the buttons 26 can be provided with tactile feedback as described in U.S. Pat. Nos. 6,184,868 and 6,563,487. Other features of these disclosures may also be used.


Furthermore, in some embodiments, one or more moveable portions 28 of the housing of the computer device 10 can be included which is contacted by the user when the user operates the touchpad 16 and which can provide haptic feedback. Having a moveable portion of a housing for haptic feedback is described in U.S. Pat. Nos. 6,184,868 and 6,088,019. Thus, both the housing can provide haptic feedback (e.g., through the use of an eccentric rotating mass on a motor coupled to the housing) and the touchpad 16 can provide separate haptic feedback. This allows the host to control two different tactile sensations simultaneously to the user, for example, a vibration of a low frequency can be conveyed through the housing to the user and a higher frequency vibration can be conveyed to the user through the touchpad 16. Each other button or other control provided with haptic feedback can also provide tactile feedback independently from the other controls.


The host application program(s) and/or operating system preferably displays graphical images of the environment on display device 12. The software and environment running on the host computer 12 may be of a wide variety. For example, the host application program can be a word processor, spreadsheet, video or computer game, drawing program, operating system, graphical user interface, simulation, Web page or browser that implements HTML or VRML instructions, scientific analysis program, virtual reality training program or application, or other application program that utilizes input from the touchpad 16 and outputs force feedback commands to the touchpad 16. For example, many games and other application programs include force feedback functionality and may communicate with the touchpad 16 using a standard protocol/drivers such as I-Force®, FEELit®, or Touchsense™ available from Immersion Corporation of San Jose, Calif.


The touchpad 16 can include circuitry necessary to report control signals to the microprocessor of the host computer 10 and to process command signals from the host's microprocessor. For example, appropriate sensors (and related circuitry) are used to report the position of the user's finger on the touchpad 16. The touchpad device also includes circuitry that receives signals from the host and outputs tactile sensations in accordance with the host signals using one or more actuators. In some embodiments, a separate, local microprocessor can be provided for the touchpad 16 to both report touchpad sensor data to the host and/or to carry out force commands received from the host, such commands including, for example, the type of haptic sensation and parameters describing the commanded haptic sensation. Alternatively, the touchpad microprocessor can simply pass streamed data from the main processor to the actuators. The term “force information” can include both commands/parameters and streamed data. The touchpad microprocessor can implement haptic sensations independently after receiving a host command by controlling the touchpad actuators; or, the host processor can maintain a greater degree of control over the haptic sensations by controlling the actuators more directly. In other embodiments, logic circuitry such as state machines provided for the touchpad 16 can handle haptic sensations as directed by the host main processor. Architectures and control methods that can be used for reading sensor signals and providing haptic feedback for a device are described in greater detail in U.S. Pat. No. 5,734,373 and co-pending application Nos. 60/156,354, 60,133,208, 09/376,649, U.S. Pat. No. 6,639,581 and 60/160,401.



FIG. 2 is a perspective view of another embodiment of a device which can include the active touchpad 16. The device can be a handheld remote control device 30, which the user grasps in one hand and manipulates controls to access the functions of an electronic device or appliance remotely by a user (such as a television, video cassette recorder or DVD player, audio/video receiver, Internet or network computer connected to a television, etc.). For example, several buttons 32 can be included on the remote control device 30 to manipulate functions of the controlled apparatus. A touchpad 16 can also be provided to allow the user to provide more sophisticated directional input. For example, a controlled apparatus may have a selection screen in which a cursor may be moved, and the touchpad 16 can be manipulated to control the cursor in two dimensions. The touchpad 16 includes the ability to output haptic sensations to the user as described herein, based on a controlled value or event. For example, a volume level passing a mid-point or reaching a maximum level can cause a pulse to be output to the touchpad and to the user.


In one application, the controlled apparatus can be a computer system such as Web-TV from Microsoft Corp. or other computing device which displays a graphical user interface and/or web pages accessed over a network such as the Internet. The user can control the direction of the cursor by moving a finger (or other object) on the touchpad 16. The cursor can be used to select and/or manipulate icons, windows, menu items, graphical buttons, slider bars, scroll bars, or other graphical objects in a graphical user interface or desktop interface. The cursor can also be used to select and/or manipulate graphical objects on a web page, such as links, images, buttons, etc. Other force sensations associated with graphical objects are described below with reference to FIG. 7.



FIG. 3 is a perspective view of a first embodiment 40 of a touchpad 16 for providing haptic feedback to the user. In this embodiment, one or more piezoelectric actuators 42 are coupled to the underside of the touchpad 16. The piezoelectric actuator 42 is driven by suitable electronics, as is well known to those skilled in the art. In one embodiment, a single piezoelectric actuator 42 is positioned at or near the center of the touchpad 16, or off to one side if space constraints of the housing require such a position. In other embodiments, multiple piezoelectric actuators 42 can be positioned at different areas of the touchpad; the dashed lines show one configuration, where an actuator 42 is placed at each corner of the pad 16 and at the center of the pad.


The piezoelectric actuators 42 can each output a small pulse, vibration, or texture sensation on the touchpad 16 and to the user if the user is contacting the touchpad. The entire touchpad 16 is preferably moved with the forces output by actuator(s) 42. Preferably, the forces output on the touchpad are linear (or approximately linear) and along the z-axis, approximately perpendicular to the surface of the touchpad 16 and the top surface of computer 10. In a different embodiment, as mentioned above, forces can be applied to the touchpad 16 to cause side-to-side (e.g., x-y) motion of the pad in the plane of its surface in addition to or instead of z-axis motion. For example, one linear actuator can provide motion for the x-axis, and a second linear actuator can provide motion for the y-axis and/or the x-axis.


The frequency of a vibration output by an actuator 42 can be varied by providing different control signals to an actuator 42. Furthermore, the magnitude of a pulse or vibration can be controlled based on the applied control signal. If multiple actuators 42 are provided, a stronger vibration can be imparted on the touchpad by activating two or more actuators simultaneously. Furthermore, if an actuator is positioned at an extreme end of the touchpad and is the only actuator that is activated, the user may experience a stronger vibration on the side of the touchpad having the actuator than on the opposite side of the touchpad. Different magnitudes and localized effects can be obtained by activating some but not all of the actuators. Since the tip of a user's finger that is touching the pad is fairly sensitive, the output forces do not have to be of a high magnitude for the haptic sensation to be effective and compelling.


Besides using a finger to contact the touchpad, the user may also hold other objects that directly contact the touchpad. Any haptic sensations output on the pad can be transmitted through the held object to the user's hand. For example, the user can hold a stylus having a point that contacts the touchpad 16 more precisely than a finger. Other objects may also be used. In some embodiments, specialized objects can be used to enhance the haptic sensations. For example, a stylus or other object having a flexible portion or compliance may be able to magnify at least some of the touchpad haptic sensations as experienced by the user.


The piezoelectric actuators 42 have several advantages for the touchpad 16. These actuators can be made very thin and small, allowing their use in compact housings that are typical for portable electronic devices. They also require very low power, and are thus suitable for devices with limited power (e.g., powered by batteries). In some embodiments described herein, power for the actuators can be drawn off a bus connecting the computer to the touchpad (or touch screen). For example, if the touchpad 16 is provided in a separate housing, a Universal Serial Bus can connect the pad to the computer and provide power from the computer to the pad as well as data (e.g. streaming force data, force commands, etc.).



FIG. 4 is a side elevational view of the embodiment 40 of the touchpad 16 as shown in FIG. 3. Touchpad 16 is directly coupled to a grounded piezo-electric actuator 42 which operates to produce a force on the touchpad 16 when an electrical signal is input to the actuator. Typically, a piezo-electric actuator includes two layers which can move relative to each other when a current is applied to the actuator; here, the grounded portion of the actuator remains stationary with respect to the surrounding housing 41 while the moving portion of the actuator and the touchpad move with respect to the housing 41. The operation of piezo-electric actuators to output force based on an input electrical signal is well known to those skilled the art.


The touchpad 16 can be coupled only to the actuator 42, or can be additionally coupled to the housing of the computer device at other locations besides the actuators 42. Preferably the other couplings are compliant connections, using a material or element such as a spring or foam. If such connections are not made compliant, then the touchpad 16 itself preferably has some compliance to allow portions of the pad to move in response to actuator forces and to convey the haptic sensations to the user more effectively.


Since the touchpad 16 is directly coupled to the actuator 42, any produced forces are directly applied to the touchpad 16. The electric signal preferably is obtained from a microprocessor and any circuitry required to convert the microprocessor signal to an appropriate signal for use with the actuator 42.



FIG. 5 is a side elevational view of another embodiment 50, in which the touchpad 16 is positioned on one or more springs 52. The springs 52 couple the touchpad 16 to the rigid housing of the computer 10 and allow the touchpad 16 to be moved along the z-axis 56. Only a very small range of motion is required to produce effective pulses (jolts) or vibrations on the pad 16. Stops (not shown) can be positioned to limit the travel of the touchpad 16 to a desired range along the z-axis.


An actuator 54 is also coupled to the touchpad 16 to impart forces on the touchpad and cause the touchpad 16 to move along the z-axis. In the present embodiment, actuator 54 is a linear voice coil actuator, where the moving portion (bobbin) of the actuator is directly coupled to the touchpad 16. The actuator 54 is grounded to the computer 10 housing and outputs a linear force on the touchpad 16 and thus drives the touchpad along the z-axis. A short pulse or jolt can be output, or the moving portion of the actuator can be oscillated to provide a vibration having a particular desired frequency. The springs 52 cause the touchpad 16 to return to a rest position after a force from the actuator causes the touchpad to move up or down. The springs can also provide a compliant suspension for the touchpad 16 and allow forces output by the actuator 54 to be amplified as explained above. Different types of spring elements can be used in other embodiments to couple the touchpad 16 to the rigid housing, such as leaf springs, foam, flexures, or other compliant materials.


In some embodiments, the user is able to push the touchpad 16 along the z-axis to provide additional input to the computer 10. For example, a sensor can be used to detect the position of the touchpad 16 along the z-axis, such as an optical sensor, magnetic sensor, Polhemus sensor, etc. The position on the z-axis can be used to provide proportional input to the computer, for example. In addition, other types of forces can be output along the z-axis, such as spring forces, damping forces, inertial forces, and other position-based forces, as disclosed in U.S. Pat. No. 6,563,487. In addition, 3-D elevations can be simulated in the graphical environment by moving the pad to different elevations along the z-axis. If the pad 16 can be used as an analog input depending on the distance the entire pad is moved along the z-axis, and/or if kinesthetic (force) feedback is applied in the z-axis degree of freedom, then a greater range of motion for the pad 16 along the z-axis is desirable. An elastomeric layer can be provided if the touchpad 16 is able to be pressed by the user to close a switch and provide button or switch input to the computer 10 (e.g. using contact switches, optical switches, or the like). If such z-axis movement of the pad 16 is allowed, it is preferred that the z-axis movement require a relatively large amount of force to move the pad at least initially, since such z-axis movement may not be desired during normal use of the pad by the user.


The voice coil actuator 54 preferably includes a coil and a magnet, where a current is flowed through the coil and interacts with the magnetic field of the magnet to cause a force on the moving portion of the actuator (the coil or the magnet, depending on the implementation), as is well known to those skilled in the art and is described in U.S. Pat. No. 6,184,868. Other types of actuators can also be used, such as a standard speaker, an E-core type actuator (as described in U.S. Pat. No. 6,704,001), a solenoid, a pager motor, a DC motor, moving magnet actuator (described in provisional application No. 60/133,208 and U.S. Pat. No. 6,704,001), or other type of actuator. Furthermore, the actuator can be positioned to output linear motion along an axis perpendicular to the z-axis or along another direction different from the z-axis (rotary or linear), where a mechanism converts such output motion to linear motion along the z-axis as is well known to those skilled in the art.


The touchpad 16 can also be integrated with an elastomeric layer and/or a printed circuit board in a sub-assembly, where one or more actuators are coupled to the printed circuit board to provide tactile sensations to the touchpad 16. Helical springs can also be provided to engage electrical contacts. Or, multiple voice coil actuators can be positioned at different locations under the touchpad 16. These embodiments are described in U.S. Pat. No. 6,563,487. Any of the actuators described in that patent can also be used.



FIG. 6 is a side elevational view of a third embodiment 60 of the haptic touchpad 16. In this embodiment, the stationary portion of the actuator is coupled to the touchpad 16, and the moving portion of the actuator is coupled to an inertial mass to provide inertial haptic sensations.


Touchpad 16 can be compliantly mounted to the rigid housing of the computer device similarly to the embodiments described above. For example, one or more spring elements 62 can be coupled between the touchpad and the housing. These springs can be helical or leaf springs, a compliant material such as rubber or foam, flexures, etc.


One or more actuators 64 are coupled to the underside of the touchpad 16. In the embodiment of FIG. 6, a piezoelectric actuator is shown. One portion 66 of each actuator 64 is coupled to the touchpad 16, and the other portion 68 is coupled to a mass 70. Thus, when the portion 68 is moved relative to the portion 66, the mass 70 is moved with the portion 68. The mass 70 can be any suitable object of the desired weight, such as plastic or metal material. The mass 70 is moved approximately along the z-axis and is not coupled to the housing, allowing free motion. The motion of the mass 70 along the z-axis causes an inertial force that is transmitted through the actuator 64 to the touchpad 16, and the touchpad 16 moves along the z-axis due to the compliant coupling 62. The motion of the touchpad 16 is felt by the user contacting the touchpad 16 as a haptic sensation.


In different embodiments, other types of actuators can be used. For example, a linear voice coil actuator as described for FIG. 5 can be used, in which an inertial mass is coupled to the linear-moving portion of the voice coil actuator. Other actuators can also be used, such as solenoids, pager motors, moving magnet actuators, E-core actuators, etc. Many actuators used for inertial haptic sensations are described in U.S. Pat. No. 6,211,861. Furthermore, a rotary actuator can be used, where the rotary output force is converted to a linear force approximately along the z-axis. For example, the rotary force can be converted using a flexure, as described in U.S. Pat. No. 6,697,043.


In the preferred linear force implementation, the direction or degree of freedom that the force is applied on the touchpad with respect to the inertial mass is important. If a significant component of the force is applied in the planar workspace of the touchpad (i.e., along the X or Y axis) with respect to the inertial mass, a short pulse or vibration can interfere with the user's object motion in one or both of those planar degrees of freedom and thereby impair the user's ability to accurately guide a controlled graphical object, such as a cursor, to a given target. Since a primary function of the touchpad is accurate targeting, a tactile sensation that distorts or impairs targeting, even mildly, is undesirable. To solve this problem, the touchpad device applies inertial forces substantially along the Z axis, orthogonal to the planar X and Y axes of the touchpad surface. In such a configuration, tactile sensations can be applied at a perceptually strong level for the user without impairing the ability to accurately position a user controlled graphical object in the X and Y axes of the screen. Furthermore, since the tactile sensations are directed in a third degree of freedom relative to the two-dimensional planar workspace and display screen, jolts or pulses output along the Z axis feel much more like three-dimensional bumps or divots to the user that come “out” or go “into” the screen, increasing the realism of the tactile sensations and creating a more compelling interaction. For example, an upwardly-directed pulse that is output when the cursor is moved over a window border creates the illusion that the user is moving a finger or other object “over” a bump at the window border.



FIG. 7 is a top elevational view of the touchpad 16. Touchpad 16 can in some embodiments be used simply as a positioning device, where the entire area of the pad provides cursor control. In other embodiments, different regions of the pad can be designated for different functions. In some of these region embodiments, each region can be provided with an actuator located under the region, while other region embodiments may use a single actuator that imparts forces on the entire pad 16. In the embodiment shown, a central cursor control region 70 is used to position the cursor.


The cursor control region 70 of the pad 16 can cause forces to be output on the pad based on interactions of the controlled cursor with the graphical environment and/or events in that environment. The user moves a finger or other object within region 70 to correspondingly move the cursor 20. Forces are preferably associated with the interactions of the cursor with displayed graphical objects. For example, a jolt or “pulse” sensation can be output, which is a single impulse of force that quickly rises to the desired magnitude and then is turned off or quickly decays back to zero or small magnitude. The touchpad 16 can be jolted in the z-axis to provide the pulse. A vibration sensation can also be output, which is a time-varying force that is typically periodic. The vibration can cause the touchpad 16 or portions thereof to oscillate back and forth on the z axis, and can be output by a host or local microprocessor to simulate a particular effect that is occurring in a host application.


Another type of force sensation that can be output on the touchpad 16 is a texture force. This type of force is similar to a pulse force, but depends on the position of the user's finger on the area of the touchpad and/or on the location of the cursor in the graphical environment. Thus, texture bumps are output depending on whether the cursor has moved over a location of a bump in a graphical object. This type of force is spatially-dependent, i.e. a force is output depending on the location of the cursor as it moves over a designated textured area; when the cursor is positioned between “bumps” of the texture, no force is output, and when the cursor moves over a bump, a force is output. This can be achieved by host control (e.g., the host sends the pulse signals as the cursor is dragged over the grating). In some embodiments, a separate touchpad microprocessor can be dedicated for haptic feedback with the touchpad, and the texture effect and be achieved using local control (e.g., the host sends a high level command with texture parameters and the sensation is directly controlled by the touchpad processor). In other cases a texture can be performed by presenting a vibration to a user, the vibration being dependent upon the current velocity of the user's finger (or other object) on the touchpad. When the finger is stationary, the vibration is deactivated; as the finger is moved faster, the frequency and magnitude of the vibration is increased. This sensation can be controlled locally by the touchpad processor (if present), or be controlled by the host. Local control by the pad processor may eliminate communication burden in some embodiments. Other spatial force sensations can also be output. In addition, any of the described force sensations herein can be output simultaneously or otherwise combined as desired.


Different types of graphical objects can be associated with tactile sensations. Tactile sensations can output on the touchpad 16 based on interaction between a cursor and a window. For example, a z-axis “bump” or pulse can be output on the touchpad to signal the user of the location of the cursor when the cursor is moved over a border of a window. When the cursor is moved within the window's borders, a texture force sensation can be output. The texture can be a series of bumps that are spatially arranged within the area of the window in a predefined pattern; when the cursor moves over a designated bump area, a bump force is output on the touchpad. A pulse or bump force can be output when the cursor is moved over a selectable object, such as a link in a displayed web page or an icon. A vibration can also be output to signify a graphical object which the cursor is currently positioned over. Furthermore, features of a document displaying in a window can also be associated with force sensations. For example, a pulse can be output on the touchpad when a page break in a document is scrolled past a particular area of the window. Page breaks or line breaks in a document can similarly be associated with force sensations such as bumps or vibrations.


Furthermore, a menu items in a displayed menu can be selected by the user after a menu heading or graphical button is selected. The individual menu items in the menu can be associated with forces. For example, vertical (z-axis) bumps or pulses can be output when the cursor is moved over the border between menu items. The sensations for certain menu choices can be stronger than others to indicate importance or frequency of use, i.e., the most used menu choices can be associated with higher-magnitude (stronger) pulses than the less used menu choices. Also, currently-disabled menu choices can have a weaker pulse, or no pulse, to indicate that the menu choice is not enabled at that time. Furthermore, when providing tiled menus in which a sub-menu is displayed after a particular menu element is selected, as in Microsoft Windows™, pulse sensations can be sent when a sub-menu is displayed. This can be very useful because users may not expect a sub-menu to be displayed when moving a cursor on a menu element. Icons can be associated with textures, pulses, and vibrations similarly to the windows described above. Drawing or CAD programs also have many features which can be associated with similar haptic sensations, such as displayed (or invisible) grid lines or dots, control points of a drawn object, etc.


In other related interactions, when a rate control or scrolling function is performed with the touchpad (through use of the cursor), a vibration can be displayed on the device to indicate that scrolling is in process. When reaching the end of a numerical range that is being adjusted (such as volume), a pulse can be output to indicate that the end of the range has been reached. Pulse sensations can be used to indicate the location of the “ticks” for discrete values or settings in the adjusted range. A pulse can also be output to inform the user when the center of the range is reached. Different strength pulses can also be used, larger strength indicating the more important ticks. In other instances, strength and/or frequency of a vibration can be correlated with the adjustment of a control to indicate current magnitude of the volume or other adjusted value. In other interactions, a vibration sensation can be used to indicate that a control function is active. Furthermore, in some cases a user performs a function, like selection or cutting or pasting a document, and there is a delay between the button press that commands the function and the execution of the function, due to processing delays or other delays. A pulse sensation can be used to indicate that the function (the cut or paste) has been executed.


Furthermore, the magnitude of output forces on the touchpad can depend on the event or interaction in the graphical environment. For example, the force pulse can be a different magnitude of force depending on the type of graphical object encountered by the cursor. For example, a pulses of higher magnitude can be output when the cursor moves over windows, while pulses of lower magnitude can be output when the cursor moves over icons. The magnitude of the pulses can also depend on other characteristics of graphical objects, such as an active window as distinguished a background window, file folder icons of different priorities designated by the user, icons for games as distinguished from icons for business applications, different menu items in a drop-down menu, etc. The user or developer can also preferably associate particular graphical objects with customized haptic sensations.


User-independent events can also be relayed to the user using haptic sensations on the touchpad. An event occurring within the graphical environment, such as an appointment reminder, receipt of email, explosion in a game, etc., can be signified using a vibration, pulse, or other time-based force. The force sensation can be varied to signify different events of the same type. For example, vibrations of different frequency can each be used to differentiate different events or different characteristics of events, such as particular users sending email, the priority of an event, or the initiation or conclusion of particular tasks (e.g. the downloading of a document or data over a network). When the host system is “thinking,” requiring the user to wait while a function is being performed or accessed (usually when a timer is displayed by the host) it is often a surprise when the function is complete. If the user takes his or her eyes off the screen, he or she may not be aware that the function is complete. A pulse sensation can be sent to indicate that the “thinking” is over.


A software designer may want to allow a user to be able to select options or a software function by positioning a cursor over an area on the screen using the touchpad, but not require pressing a physical button or tapping the touchpad to actually select the option. Currently, it is problematic to allow such selection because a user has physical confirmation of execution when pressing a physical button. A pulse sent to the touchpad can act as that physical confirmation without the user having to press a button or other control for selection. For example, a user can position a cursor over a web page element, and once the cursor is within the desired region for a given period of time, an associated function can be executed. This is indicated to the user through a tactile pulse sent to the pad 16.


The above-described force sensations can also be used in games or simulations. For example, a vibration can be output when a user-controlled racing car is driving on a dirt shoulder of a displayed road, a pulse can be output when the car collides with another object, and a varying-frequency vibration can be output when a vehicle engine starts and rumbles. The magnitude of pulses can be based on the severity of a collision or explosion, the size of the controlled graphical object or entity (and/or the size of a different graphical object/entity that is interacted with), etc. Force sensations can also be output based on user-independent events in the game or simulation, such as pulses when bullets are fired at the user's character.


The above haptic sensations can be similar to those described in U.S. Pat. Nos. 6,243,078 and 6,211,861. Other control devices or grips that can include a touchpad 16 in its housing include a gamepad, mouse or trackball device for manipulating a cursor or other graphical objects in a computer-generated environment; or a pressure sphere or the like. For example, the touchpad 16 can be provided on the housing of a computer mouse to provide additional input to the host computer. Furthermore, selective disturbance filtering of forces, as described in U.S. Pat. No. 6,020,876, and shaping of force signals to drive the touchpad with impulse waves as described in U.S. Pat. No. 5,959,613, can be used. Such impulses are also effective when driven with stored power in a battery on the computer 10 or from a bus such as USB connected to a host computer.


The touchpad 16 can also be provided with different control regions that provide separate input from the main cursor control region 70. In some embodiments, the different regions can be physically marked with lines, borders, or textures on the surface of the pad 16 (and/or sounds from the computer 10) so that the user can visually, audibly, and/or or tactilely tell which region he or she is contacting on the pad.


For example, scroll or rate control regions 72a and 72b can be used to provide input to perform a rate control task, such as scrolling documents, adjusting a value (such as audio volume, speaker balance, monitor display brightness, etc.), or panning/tilting the view in a game or virtual reality simulation. Region 72a can be used by placing a finger (or other object) within the region, where the upper portion of the region will increase the value, scroll up, etc., and the lower portion of the region will decrease the value, scroll down, etc. In embodiments that can read the amount of pressure placed on the pad 16, the amount of pressure can directly control the rate of adjustment; e.g., a greater pressure will cause a document to scroll faster. The region 72b can similarly be used for horizontal (left/right) scrolling or rate control adjustment of a different value, view, etc.


Particular haptic effects can be associated with the control regions 72a and 72b. For example, when using the rate control region 72a or 72b, a vibration of a particular frequency can be output on the pad 16. In those embodiments having multiple actuators, an actuator placed directly under the region 72a or 72b can be activated to provide a more localized tactile sensation for the “active” (currently used) region. As a portion of a region 72 is pressed for rate control, pulses can be output on the pad (or region of the pad) to indicate when a page has scroll by, a particular value has passed, etc. A vibration can also be continually output while the user contacts the region 72a or 72b.


Other regions 74 can also be positioned on the touchpad 16. For example, each of regions 74 provides a small rectangular area, like a button, which the user can point to in order to initiate a function associated with the pointed to region. The regions 74 can initiate such computer functions as running a program, opening or closing a window, going “forward” or “back” in a queue of web pages in a web browser, powering the computer 10 or initiating a “sleep” mode, checking mail, firing a gun in a game, cutting or pasting data from a buffer, selecting a font, etc. The regions 74 can duplicate functions and buttons provided in an application program or provide new, different functions.


Similarly to regions 72, the regions 74 an each be associated with haptic sensations; for example, a region 74 can provide a pulse sensation when it has been selected by the user, providing instant feedback that the function has been selected. Furthermore, the same types of regions can be associated with similar-feeling haptic sensations. For example, each word processor related region 74 can, when pointed to, cause a pulse of a particular strength, while each game-related region can provide a pulse of different strength or a vibration. Furthermore, when the user moves the pointing object from one region 72 or 74 to another, a haptic sensation (such as a pulse) can be output on the pad 16 to signify that a region border has been crossed.


In addition, the regions are preferably programmable in size and shape as well as in the function with which they are associated. Thus, the functions for regions 64 can change based on an active application program in the graphical environment and/or based on user preferences input to and/or stored on the computer 10. Preferably, the size and location of each of the regions can be adjusted by the user or by an application program, and any or all of the regions can be completely removed if desired. Furthermore, the user is preferably able to assign particular haptic sensations to particular areas or types of areas based on types of functions associated with those areas, as desired. Different haptic sensations can be designed in a tool such as Immersion Studio™ available from Immersion Corporation of San Jose, Calif.


It should be noted that the regions 72 and 74 need not be physical regions of the touchpad 16. That is, the entire touchpad 16 surface need merely provide coordinates of user contact to the processor of the computer and software on the computer can designate where different regions are located. The computer can interpret the coordinates and, based on the location of the user contact, can interpret the touchpad input signal as a cursor control signal or a different type of signal, such as rate control, button function, etc. The local touchpad microprocessor, if present, may alternatively interpret the function associated with the user contact location and report appropriate signal or data to the host processor (such as position coordinates or a button signal), thus keeping the host processor ignorant of the lower level processing. In other embodiments, the touchpad 16 can be physically designed to output different signals to the computer based on different regions marked on the touchpad surface that are contacted by the user; e.g. each region can be sensed by a different sensor or sensor array.



FIGS. 8
a and 8b are top plan and side cross-sectional views, respectively, of another computer device embodiment 80 including a form of the haptic touchpad 16. Device 80 is in the form of a portable computer device such as “personal digital assistant” (PDA), a “pen-based” computer, “electronic book”, or similar device (collectively known as a “personal digital assistant” or PDA herein). Those devices which allow a user to input information by touching a display screen or readout in some fashion are primarily relevant to this embodiment. Such devices can include the Palm Pilot from 3Com Corp., the Newton from Apple Computer, pocket-sized computer devices from Casio, Hewlett-Packard, or other manufacturers, cellular phones or pagers having touch screens, etc.


In one embodiment of a device 80, a display screen 82 typically covers a large portion of the surface of the computer device 80. Screen 82 is preferably a flat-panel display as is well known to those skilled in the art and can display text, images, animations, etc.; in some embodiments screen 80 is as functional as any personal computer screen. Display screen 82 is preferably a “touch screen” that includes sensors which allow the user to input information to the computer device 80 by physically contacting the screen 80 (i.e. it is another form of planar “touch device” similar to the touchpad 16). For example, a transparent sensor film can be overlaid on the screen 80, where the film can detect pressure from an object contacting the film. The sensor devices for implementing touch screens are well known to those skilled in the art.


The user can select graphically-displayed buttons or other graphical objects by pressing a finger or a stylus to the screen 82 at the exact location where the graphical object is displayed. Furthermore, some embodiments allow the user to “draw” or “write” on the screen by displaying graphical “ink” images 85 at locations where the user has pressed a tip of a stylus, finger, or other object. Handwritten characters can be recognized by software running on the device microprocessor as commands, data, or other input. In other embodiments, the user can provide input additionally or alternatively through voice recognition, where a microphone on the device inputs the user's voice which is translated to appropriate commands or data by software running on the device. Physical buttons 84 can also be included in the housing of the device 80 to provide particular commands to the device 80 when the buttons are pressed. Many PDA's are characterized by the lack of a standard keyboard for character input from the user; rather, an alternative input mode is used, such as using a stylus to draw characters on the screen, voice recognition, etc. However, some PDA's also include a fully-functional keyboard as well as a touch screen, where the keyboard is typically much smaller than a standard-sized keyboard. In yet other embodiments, standard-size laptop computers with standard keyboards may include flat-panel touch-input display screens, and such screens (similar to screen 12 of FIG. 1) can be provided with haptic feedback.


The touch screen 82 provides haptic feedback to the user similarly to the touchpad 16 described in previous embodiments. One or more actuators 86 can be coupled to the underside of the touch screen 82 to provide haptic feedback such as pulses, vibrations, and textures; for example, an actuator 86 can be positioned near each corner of the screen 82, as shown in FIG. 8a. Other configurations of actuators can also be used. The user can experience the haptic feedback through a finger or a held object such as a stylus 87 that is contacting the screen 82.


As shown in FIG. 8b, the touch screen 82 is preferably coupled to the housing 88 of the device 80 by one or more spring or compliant elements 90, such as helical springs, leaf springs, flexures, or compliant material (foam, rubber, etc.) The compliant element allows the touch screen 82 to move approximately along the z-axis, thereby providing haptic feedback similarly to the touchpad embodiments described above. Actuators 86 can be piezo-electric actuators, voice coil actuators, or any of the other types of actuators described above for the touchpad embodiments. As shown in FIG. 8b, the actuators 86 are directly coupled to the touch screen 82 similarly to the touchpad embodiment of FIG. 3; alternatively, an inertial mass can be moved to provide inertial feedback in the z-axis of the touch screen, similarly to the touchpad embodiment of FIG. 6. Other features described above for the touchpad are equally applicable to the touch screen embodiment 80.


In the embodiments of touch input devices (touchpad and touch screen) described herein, it is also advantageous that contact of the user is detected by the touch input device. Since haptic feedback need only be output when the user is contacting the touch device, this detection allows haptic feedback to be stopped (actuators “turned off”) when no objects are contacting the touch input device. This feature can conserve battery power for portable devices. If a local touch device microprocessor (or similar circuitry) is being used in the computer, such a microprocessor can turn off actuator output when no user contact is sensed, thus alleviating the host processor of additional computational burden.


While the subject matter 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, many different types of actuators can be used to output tactile sensations to the user. Furthermore, many of the features described in one embodiment can be used interchangeably with other embodiments. Furthermore, certain terminology has been used for the purposes of descriptive clarity, and not to be limiting.

Claims
  • 1. A haptic feedback device, comprising: a touch screen operative to display a graphical image and to output a position signal indicative of a selected location on the touch screen in two dimensions; andat least a first actuator configured to impart a first force directly to the touch screen to thereby provide a haptic effect in response to the selection, the first force based on information output by a computer device wherein at least the first force is output substantially parallel to a plane of the touch screen.
  • 2. The haptic feedback device of claim 1, further comprising a housing, wherein the first actuator is a linear actuator configured to provide an output force in a linear degree of freedom, wherein the first actuator is rigidly coupled to the housing.
  • 3. The haptic feedback device of claim 1, wherein the first actuator is a rotary actuator configured to provide an output force in a rotary degree of freedom, the output force being converted to the linear force on the touch screen.
  • 4. The haptic feedback device of claim 1, wherein the first actuator is an inertial actuator that provides an inertial force on the touch screen.
  • 5. The haptic feedback device of claim 1, further comprising a sensor configured to send to the computer device a signal indicative of at least one chosen from the group consisting of a motion, a pressure and a position of the selection.
  • 6. The haptic feedback device of claim 5, wherein the motion is a velocity or a change in velocity.
  • 7. A haptic feedback device, comprising: a touch screen operative to display a graphical image and to output a position signal indicative of a selected location on the touch screen in two dimensions; andat least a first actuator configured to impart a first force directly to the touch screen to thereby provide a haptic effect in response to the selection, the first force based on information output by a computer device, wherein the touch screen is operative to allow the user to draw or write on the touch screen resulting in a graphical display at locations where the user has pressed a tip of an object.
  • 8. The haptic feedback device of claim 7, wherein the object is a stylus or a finger.
  • 9. The haptic feedback device of claim 8, wherein the first region provides the position signal and the second region provides a second signal.
  • 10. The haptic feedback device of claim 8, wherein the second signal is used in a rate control function of a value.
  • 11. The haptic feedback device of claim 8, wherein the second signal is used in conjunction with a button press.
  • 12. The haptic feedback device of claim 8, wherein the first region is capable of outputting a haptic sensation that is different from a haptic sensation output at the second region.
  • 13. The haptic feedback device of claim 8, wherein the computer device is configured to send a control signal to the first actuator when the select changes from one of the first and second regions to the other of the first and second regions.
  • 14. A haptic feedback device, comprising: a touch screen operative to display a graphical image and to output a position signal indicative of a selected location on the touch screen in two dimensions; andat least a first actuator configured to impart a first force directly to the touch screen to thereby provide a haptic effect in response to the selection, the first force based on information output by a computer device, wherein the first actuator is capable of outputting a continuous vibration or a pulse tactile sensation on the touch screen.
  • 15. A haptic feedback device, comprising: a touch screen operative to display a graphical image and to output a position signal indicative of a selected location on the touch screen in two dimensions; andat least a first actuator configured to impart a first force directly to the touch screen to thereby provide a haptic effect in response to the selection, the first force based on information output by a computer device wherein the touch screen includes a first region and a second region.
  • 16. A haptic feedback device, comprising: a touch screen including a first region and a second region, the touch screen being operative to display a graphical image and to output a position signal indicative of a selected location on the touch screen in two dimensions; andat least a first actuator configured to impart a first force directly to the touch screen to thereby provide a haptic effect in response to the selection, the first force based on information output by a computer device configured to send a control signal to at least one actuator when the select position changes from one of the first and second regions to the other of the first and second regions.
  • 17. A haptic feedback device, comprising: a touch input device configured to receive user input and generate an input signal in response to the user input;one or more processors configured to receive the input signal, generate a force signal based on the input signal, and generate a graphical environment;a display configured to display the graphical environment, wherein the input signal is associated with an interaction by the user with the graphical environment; andone or more actuators configured to receive the force signal and impart a haptic effect based on the force signal,wherein the graphical environment comprises a menu presented at the display, wherein the menu comprises one or more menu items, and wherein the user input comprises navigation between the one or more menu items,wherein the one or more menu items comprise a first menu item and a second menu item, wherein the first menu item is associated with a first haptic effect and the second menu item is associated with a second haptic effect different from the first haptic effect.
  • 18. A haptic feedback device, comprising: a touch input device configured to receive user input and generate an input signal in response to the user input;one or more processors configured to receive the input signal, generate a force signal based on the input signal, and generate a graphical environment;a display configured to display the graphical environment, wherein the input signal is associated with an interaction by the user with the graphical environment; andone or more actuators configured to receive the force signal and impart a haptic effect based on the force signal,wherein the graphical environment comprises a menu presented at the display, wherein the menu comprises one or more menu items, and wherein the user input comprises navigation between the one or more menu items,wherein at least one of the one or more menu items is associated with a sub-menu, wherein the actuator is configured to impart the haptic effect when the sub-menu is displayed.
  • 19. A haptic feedback device, comprising: one or more processors configured to receive an input signal and generate a force signal based on the input signal,wherein the input signal is associated with a user-independent event,the user-independent event comprising one or more of a reminder event, an initiation of a task, a processing of the task, a conclusion of the task, a receipt of an email, or an event occurring in a game; andone or more actuators configured to receive the force signal and impart a haptic effect based on the force signal.
  • 20. The haptic feedback device of claim 19, wherein the haptic feedback device comprises a portable computing device, a PDA, a pager, or a cellular phone.
  • 21. The haptic feedback device of claim 19, wherein the touch input device comprises a touch screen, a touch pad, or a keypad.
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 11/405,811 entitled “Haptic Feedback for Touchpads and Other Touch Controls,” filed Apr. 17, 2006, which is a continuation of U.S. Pat. No. 7,148,875, entitled “Haptic Feedback for Touchpads and Other Touch Controls,” issued Dec. 12, 2006, which is a continuation of U.S. Pat. No. 6,429,846, entitled “Haptic Feedback for Touchpads and Other Touch Controls,” issued Aug. 6, 2002, which is a continuation-in-part of U.S. Pat. No. 6,563,487, entitled “Haptic Feedback for Directional Control Pads,” issued May 13, 2003, which is a continuation-in-part of U.S. Pat. No. 6,243,078, entitled “Low Cost Force Feedback Pointing Device,” issued Jun. 5, 2001, which is a continuation-in-part of U.S. Pat. No. 6,184,868, entitled “Haptic Feedback Control Devices,” issued Feb. 6, 2001, which is a continuation-in-part of U.S. Pat. No. 6,088,019, entitled “Low Cost Force Feedback Device with Actuator for Non-Primary Axis,” issued Jul. 11, 2000.

US Referenced Citations (459)
Number Name Date Kind
2972140 Hirsch Feb 1961 A
3157853 Hirsch Nov 1964 A
3220121 Cutler Nov 1965 A
3497668 Hirsch Feb 1970 A
3517446 Corlyon et al. Jun 1970 A
3623064 Kagan Nov 1971 A
3875488 Crocker et al. Apr 1975 A
3902687 Hightower Sep 1975 A
3903614 Diamond et al. Sep 1975 A
3911416 Feder Oct 1975 A
3919691 Noll Nov 1975 A
3923166 Fletcher et al. Dec 1975 A
4023290 Josephson May 1977 A
4101884 Benton, Jr. Jul 1978 A
4108146 Golden Aug 1978 A
4108164 Hall, Sr. Aug 1978 A
4127752 Lowthorp Nov 1978 A
4160508 Salisbury Jul 1979 A
4236325 Hall et al. Dec 1980 A
4242823 Bruno Jan 1981 A
4262549 Schwellenbach Apr 1981 A
4333070 Barnes Jun 1982 A
4334280 McDonald Jun 1982 A
4398889 Lam et al. Aug 1983 A
4414537 Grimes Nov 1983 A
4414984 Zarudiansky Nov 1983 A
4436188 Jones Mar 1984 A
4464117 Foerst Aug 1984 A
4477043 Repperger Oct 1984 A
4484179 Kasday Nov 1984 A
4484191 Vavra Nov 1984 A
4513235 Acklam et al. Apr 1985 A
4542375 Alles et al. Sep 1985 A
4545023 Mizzi Oct 1985 A
4550221 Mabusth Oct 1985 A
4557275 Dempsey, Jr. Dec 1985 A
4560983 Williams Dec 1985 A
4581491 Boothroyd Apr 1986 A
4584625 Kellogg Apr 1986 A
4599070 Hladky et al. Jul 1986 A
4603284 Perzley Jul 1986 A
4604016 Joyce Aug 1986 A
4689449 Rosen Aug 1987 A
4692756 Clark Sep 1987 A
4706294 Ouchida Nov 1987 A
4708656 De Vries et al. Nov 1987 A
4713007 Alban Dec 1987 A
4715235 Fukui et al. Dec 1987 A
4757453 Nasiff Jul 1988 A
4758165 Tieman et al. Jul 1988 A
4763356 Day, Jr. et al. Aug 1988 A
4771344 Fallacaro et al. Sep 1988 A
4772205 Chlumsky et al. Sep 1988 A
4782327 Kley et al. Nov 1988 A
4791416 Adler Dec 1988 A
4794384 Jackson Dec 1988 A
4794392 Selinko Dec 1988 A
4795296 Jau Jan 1989 A
4800721 Cemenska et al. Jan 1989 A
4821030 Batson et al. Apr 1989 A
4823634 Culver Apr 1989 A
4837734 Ichikawa et al. Jun 1989 A
4839838 LaBiche et al. Jun 1989 A
4851820 Fernandez Jul 1989 A
4853874 Iwamoto et al. Aug 1989 A
4861269 Meenen, Jr. Aug 1989 A
4868549 Affinito et al. Sep 1989 A
4871992 Peterson Oct 1989 A
4885565 Embach Dec 1989 A
4891764 McIntosh Jan 1990 A
4896554 Culver Jan 1990 A
4906843 Jones et al. Mar 1990 A
4914624 Dunthorn Apr 1990 A
4926879 Sevrain et al. May 1990 A
4930770 Baker Jun 1990 A
4934694 McIntosh Jun 1990 A
4935728 Kley Jun 1990 A
4949119 Moncrief et al. Aug 1990 A
4961038 MacMinn Oct 1990 A
4977298 Fujiyama Dec 1990 A
4983901 Lehmer Jan 1991 A
5004391 Burdea Apr 1991 A
5007300 Siva Apr 1991 A
5019761 Kraft May 1991 A
5022384 Freels Jun 1991 A
5022407 Horch et al. Jun 1991 A
5035242 Franklin Jul 1991 A
5038089 Szakaly Aug 1991 A
5044956 Behensky et al. Sep 1991 A
5065145 Purcell Nov 1991 A
5076517 Ferranti et al. Dec 1991 A
5078152 Bond Jan 1992 A
5095303 Clark et al. Mar 1992 A
5103404 McIntosh Apr 1992 A
5107080 Rosen Apr 1992 A
5107262 Cadoz et al. Apr 1992 A
5116180 Fung et al. May 1992 A
5121091 Fujiyama Jun 1992 A
5133076 Hawkins et al. Jul 1992 A
5139261 Openiano Aug 1992 A
5143505 Burdea et al. Sep 1992 A
5146566 Hollis, Jr. et al. Sep 1992 A
5159159 Asher Oct 1992 A
5165897 Johnson Nov 1992 A
5172092 Nguyen et al. Dec 1992 A
5175459 Danial et al. Dec 1992 A
5184319 Kramer Feb 1993 A
5184868 Nishiyama Feb 1993 A
5185561 Good et al. Feb 1993 A
5186629 Rohen Feb 1993 A
5186695 Mangseth et al. Feb 1993 A
5189355 Larkins et al. Feb 1993 A
5193963 McAffee et al. Mar 1993 A
5197003 Moncrief et al. Mar 1993 A
5203563 Loper, III Apr 1993 A
5212473 Louis May 1993 A
5220260 Schuler Jun 1993 A
5223658 Suzuki Jun 1993 A
5223776 Radke et al. Jun 1993 A
5235868 Culver Aug 1993 A
5237327 Saitoh et al. Aug 1993 A
5240417 Smithson et al. Aug 1993 A
5262777 Low et al. Nov 1993 A
5264768 Gregory et al. Nov 1993 A
5270710 Gaultier et al. Dec 1993 A
5271290 Fischer Dec 1993 A
5275174 Cook Jan 1994 A
5275565 Moncrief Jan 1994 A
5283970 Aigner Feb 1994 A
5286203 Fuller et al. Feb 1994 A
5296871 Paley Mar 1994 A
5299810 Pierce Apr 1994 A
5302132 Corder Apr 1994 A
5309140 Everett May 1994 A
5313230 Venolia et al. May 1994 A
5316017 Edwards et al. May 1994 A
5334027 Wherlock Aug 1994 A
5341459 Backes Aug 1994 A
5354162 Burdea et al. Oct 1994 A
5355148 Anderson Oct 1994 A
5376948 Roberts et al. Dec 1994 A
5381080 Schnell et al. Jan 1995 A
5389849 Asano et al. Feb 1995 A
5389865 Jacobus et al. Feb 1995 A
5396266 Brimhall Mar 1995 A
5398044 Hill Mar 1995 A
5399091 Mitsumoto Mar 1995 A
5405152 Katanics et al. Apr 1995 A
5414337 Schuler May 1995 A
5432531 Calder et al. Jul 1995 A
5436622 Gutman et al. Jul 1995 A
5437607 Taylor Aug 1995 A
5450613 Takahara et al. Sep 1995 A
5451924 Massimino et al. Sep 1995 A
5457479 Cheng Oct 1995 A
5459382 Jacobus et al. Oct 1995 A
5461711 Wang et al. Oct 1995 A
5466213 Hogan Nov 1995 A
5471571 Smith et al. Nov 1995 A
5473235 Lance et al. Dec 1995 A
5473344 Bacon et al. Dec 1995 A
5491477 Clark et al. Feb 1996 A
5506605 Paley Apr 1996 A
5512919 Araki Apr 1996 A
5513100 Parker et al. Apr 1996 A
5521336 Buchanan et al. May 1996 A
5530455 Gillick et al. Jun 1996 A
5542672 Meredith Aug 1996 A
5547382 Yamaski Aug 1996 A
5557365 Ohsawa Sep 1996 A
5562707 Prochazka et al. Oct 1996 A
5563632 Roberts Oct 1996 A
5565887 McCambridge et al. Oct 1996 A
5575761 Hajianpour Nov 1996 A
5576727 Rosenberg et al. Nov 1996 A
5577981 Jarvik Nov 1996 A
5580251 Gilkes et al. Dec 1996 A
5583407 Yamaguchi Dec 1996 A
5587937 Massie et al. Dec 1996 A
5589828 Armstrong Dec 1996 A
5589854 Tsai Dec 1996 A
5591082 Jensen et al. Jan 1997 A
5596347 Robertson et al. Jan 1997 A
5600777 Wang et al. Feb 1997 A
5619180 Massimino et al. Apr 1997 A
5625576 Massie et al. Apr 1997 A
5629594 Jacobus et al. May 1997 A
5638060 Kataoka et al. Jun 1997 A
5642469 Hannaford et al. Jun 1997 A
5643087 Marcus et al. Jul 1997 A
5644516 Podwalny et al. Jul 1997 A
5656901 Kurita Aug 1997 A
5666138 Culver Sep 1997 A
5666473 Wallace Sep 1997 A
5670755 Kwon Sep 1997 A
5690582 Ulrich et al. Nov 1997 A
5691747 Amano Nov 1997 A
5691898 Rosenberg et al. Nov 1997 A
5694013 Stewart et al. Dec 1997 A
5699059 Hiller Dec 1997 A
5709219 Chen et al. Jan 1998 A
5714978 Yamanaka Feb 1998 A
5719561 Gonzales Feb 1998 A
5721566 Rosenberg et al. Feb 1998 A
5724106 Autry et al. Mar 1998 A
5724278 Ohgose et al. Mar 1998 A
5729249 Yasutake Mar 1998 A
5731804 Rosenberg Mar 1998 A
5732347 Bartle et al. Mar 1998 A
5734373 Rosenberg Mar 1998 A
5736978 Hasser et al. Apr 1998 A
5739811 Rosenberg et al. Apr 1998 A
5742278 Chen et al. Apr 1998 A
5745715 Pickover et al. Apr 1998 A
5748185 Stephan et al. May 1998 A
5754023 Roston et al. May 1998 A
5755577 Gillio May 1998 A
5757358 Osga May 1998 A
5760764 Martinelli Jun 1998 A
5766016 Sinclair Jun 1998 A
5767457 Gerpheide et al. Jun 1998 A
5767839 Rosenberg Jun 1998 A
5769640 Jacobus et al. Jun 1998 A
5771037 Jackson Jun 1998 A
5781172 Engel et al. Jul 1998 A
5784052 Keyson Jul 1998 A
5785630 Bobick et al. Jul 1998 A
5790108 Salcudean Aug 1998 A
5791992 Crump et al. Aug 1998 A
5802353 Avila et al. Sep 1998 A
5804780 Bartha Sep 1998 A
5805140 Rosenberg et al. Sep 1998 A
5805165 Thorne, III et al. Sep 1998 A
5805416 Friend et al. Sep 1998 A
5805601 Takeda et al. Sep 1998 A
5808601 Leah et al. Sep 1998 A
5808603 Chen Sep 1998 A
5821921 Osborn et al. Oct 1998 A
5823876 Unbehand Oct 1998 A
5825308 Rosenberg Oct 1998 A
5828197 Martin Oct 1998 A
5828364 Siddiqui Oct 1998 A
5831408 Jacobus et al. Nov 1998 A
5832386 Nojima et al. Nov 1998 A
5835080 Beetson et al. Nov 1998 A
5844392 Peurach et al. Dec 1998 A
5844506 Binstead Dec 1998 A
5877748 Redlich Mar 1999 A
5880714 Rosenberg et al. Mar 1999 A
5884029 Brush, II et al. Mar 1999 A
5887995 Holehan Mar 1999 A
5889236 Gillespie et al. Mar 1999 A
5889670 Schuler et al. Mar 1999 A
5896125 Niedzwiecki Apr 1999 A
5897437 Nishiumi et al. Apr 1999 A
5903257 Nishiumi et al. May 1999 A
5907615 Kaschke May 1999 A
5912661 Siddiqui Jun 1999 A
5914705 Johnson et al. Jun 1999 A
5914708 LaGrange et al. Jun 1999 A
5917906 Thronton Jun 1999 A
5929846 Rosenberg et al. Jul 1999 A
5942733 Allen et al. Aug 1999 A
5943044 Martintelli et al. Aug 1999 A
5944151 Jakobs et al. Aug 1999 A
5953413 Peyer et al. Sep 1999 A
5956016 Kuenzner et al. Sep 1999 A
5956484 Rosenberg et al. Sep 1999 A
5959613 Rosenberg et al. Sep 1999 A
5973689 Gallery Oct 1999 A
5977867 Blouin Nov 1999 A
5982304 Selker et al. Nov 1999 A
5982352 Pryor Nov 1999 A
5984785 Takeda et al. Nov 1999 A
5986643 Harvill et al. Nov 1999 A
5988902 Holehan Nov 1999 A
5990869 Kubica et al. Nov 1999 A
5999168 Rosenberg et al. Dec 1999 A
6001014 Ogata et al. Dec 1999 A
6004134 Marcus et al. Dec 1999 A
6005551 Osborne et al. Dec 1999 A
6008800 Pryor Dec 1999 A
6018711 French-St George Jan 2000 A
6020876 Rosenberg et al. Feb 2000 A
6024576 Bevirt et al. Feb 2000 A
6028531 Wanderlich Feb 2000 A
6028593 Rosenberg et al. Feb 2000 A
6037927 Rosenberg Mar 2000 A
6061004 Rosenberg May 2000 A
6067081 Hahlganss et al. May 2000 A
6071194 Sanderson et al. Jun 2000 A
6072475 Van Ketwich et al. Jun 2000 A
6081536 Gorssuch et al. Jun 2000 A
6084587 Tarr et al. Jul 2000 A
6088017 Tremblay et al. Jul 2000 A
6088019 Rosenberg Jul 2000 A
6094565 Alberth et al. Jul 2000 A
6100874 Schena et al. Aug 2000 A
6102803 Takeda et al. Aug 2000 A
6110130 Kramer Aug 2000 A
6111577 Zilles et al. Aug 2000 A
6118435 Fujita et al. Sep 2000 A
6125264 Watanabe et al. Sep 2000 A
6125385 Wies et al. Sep 2000 A
6128006 Rosenberg Oct 2000 A
6131097 Peurach et al. Oct 2000 A
6140987 Stein et al. Oct 2000 A
6147422 Delson et al. Nov 2000 A
6147674 Rosenberg et al. Nov 2000 A
6151332 Gorsuch et al. Nov 2000 A
6154201 Levin et al. Nov 2000 A
6160489 Perry et al. Dec 2000 A
6161126 Wies et al. Dec 2000 A
6166723 Schena et al. Dec 2000 A
6169540 Rosenberg et al. Jan 2001 B1
6171191 Ogata et al. Jan 2001 B1
6178157 Berg et al. Jan 2001 B1
6184868 Shahoian Feb 2001 B1
6198206 Saarmaa et al. Mar 2001 B1
6215778 Lomp et al. Apr 2001 B1
6218966 Goodwin et al. Apr 2001 B1
6219032 Rosenberg et al. Apr 2001 B1
6219034 Elbing et al. Apr 2001 B1
6236647 Amalfitano May 2001 B1
6239790 Martintelli et al. May 2001 B1
6243080 Molne Jun 2001 B1
6262717 Donohue et al. Jul 2001 B1
6262718 Findlay et al. Jul 2001 B1
6292174 Mallett et al. Sep 2001 B1
6300936 Braun et al. Oct 2001 B1
6307465 Kayma et al. Oct 2001 B1
6323846 Westerman et al. Nov 2001 B1
6326901 Gonzales Dec 2001 B1
6332075 Verdonk Dec 2001 B1
6337678 Fish Jan 2002 B1
6359550 Brisebois et al. Mar 2002 B1
6373463 Beeks Apr 2002 B1
6388655 Leung May 2002 B1
6388999 Gorsuch et al. May 2002 B1
6411198 Hirai et al. Jun 2002 B1
6411276 Braun et al. Jun 2002 B1
6414674 Kamper et al. Jul 2002 B1
6415138 Sirola et al. Jul 2002 B2
6418323 Bright et al. Jul 2002 B1
6422941 Thorner et al. Jul 2002 B1
6424356 Chang et al. Jul 2002 B2
6429846 Rosenberg et al. Aug 2002 B2
6435794 Springer Aug 2002 B1
6438390 Awan Aug 2002 B1
6438392 Toba Aug 2002 B1
6441599 Kropidlowski Aug 2002 B1
6445284 Cruz-Hernandez et al. Sep 2002 B1
6447069 Terris et al. Sep 2002 B1
6448977 Braun et al. Sep 2002 B1
6469695 White Oct 2002 B1
6473069 Gerpheide Oct 2002 B1
6487421 Hess et al. Nov 2002 B2
6509892 Cooper et al. Jan 2003 B1
6518958 Miyajima et al. Feb 2003 B1
6525749 Moran et al. Feb 2003 B1
6529122 Magnussen et al. Mar 2003 B1
6535201 Cooper et al. Mar 2003 B1
6563487 Martin May 2003 B2
6574489 Uriya Jun 2003 B1
6606508 Becker et al. Aug 2003 B2
6610936 Gillespie et al. Aug 2003 B2
6626358 Breimesser et al. Sep 2003 B1
6628195 Coudon Sep 2003 B1
6636197 Goldenberg et al. Oct 2003 B1
6636202 Ishmael, Jr. et al. Oct 2003 B2
6639581 Moore Oct 2003 B1
6639582 Shrader Oct 2003 B1
6647145 Gay Nov 2003 B1
6671618 Hoisko Dec 2003 B2
6680729 Shahoian et al. Jan 2004 B1
6690955 Komiyama Feb 2004 B1
6697043 Shahoian Feb 2004 B1
6710518 Morton et al. Mar 2004 B2
6723937 Englemann et al. Apr 2004 B2
6727916 Ballard Apr 2004 B1
6792294 Kushita Sep 2004 B1
6819922 Janz Nov 2004 B1
6822635 Shahoian et al. Nov 2004 B2
6834373 Dieberger Dec 2004 B2
6850150 Ronkainen Feb 2005 B1
6850781 Goto Feb 2005 B2
6859819 Rosenberg et al. Feb 2005 B1
6876847 Kudoh Apr 2005 B2
6882713 Sakai et al. Apr 2005 B2
6885876 Aaltonen et al. Apr 2005 B2
6940497 Vincent et al. Sep 2005 B2
6944482 Engstrom et al. Sep 2005 B2
6963839 Ostermann et al. Nov 2005 B1
6982696 Shahoian Jan 2006 B1
7009595 Roberts et al. Mar 2006 B2
7061466 Moore Jun 2006 B1
7096045 Yoshinaga Aug 2006 B2
7103389 Shibata Sep 2006 B2
7113177 Franzen Sep 2006 B2
7127271 Fuisaki Oct 2006 B1
7149208 Mattaway et al. Dec 2006 B2
7151528 Taylor et al. Dec 2006 B2
7171191 Olson Jan 2007 B2
7184765 Birnie et al. Feb 2007 B1
7215329 Yoshikawa et al. May 2007 B2
7218310 Tierling May 2007 B2
7225000 Katayanagi May 2007 B2
7289796 Kudoh Oct 2007 B2
7292227 Fukumoto et al. Nov 2007 B2
7312790 Sato et al. Dec 2007 B2
7328020 Masuda et al. Feb 2008 B2
7336260 Martin et al. Feb 2008 B2
7336977 Katayanagi Feb 2008 B2
7369115 Cruz-Hernandez et al. May 2008 B2
7373120 Messel et al. May 2008 B2
7424272 Horiguchi Sep 2008 B2
7450110 Shahoian et al. Nov 2008 B2
7463249 Knowles et al. Dec 2008 B2
7533342 Vialle et al. May 2009 B1
7548232 Shahoian et al. Jun 2009 B2
7728820 Rosenberg et al. Jun 2010 B2
20010035854 Rosenberg et al. Nov 2001 A1
20010036832 McKay Nov 2001 A1
20010044328 Tsukamoto Nov 2001 A1
20020012323 Petite et al. Jan 2002 A1
20020039914 Hama et al. Apr 2002 A1
20020044155 Becker Apr 2002 A1
20020107936 Amon Aug 2002 A1
20020111737 Hoisko Aug 2002 A1
20020130904 Becker et al. Sep 2002 A1
20020177471 Kaaresoja Nov 2002 A1
20020193125 Smith et al. Dec 2002 A1
20020194246 Moskowitz et al. Dec 2002 A1
20030002682 Smith et al. Jan 2003 A1
20030006892 Church Jan 2003 A1
20030016211 Woolley Jan 2003 A1
20030022701 Gupta Jan 2003 A1
20030038776 Rosenberg et al. Feb 2003 A1
20030045266 Staskal et al. Mar 2003 A1
20030048260 Matusis Mar 2003 A1
20030058265 Robinson et al. Mar 2003 A1
20030067440 Rank Apr 2003 A1
20030071795 Baldauf et al. Apr 2003 A1
20030076298 Rosenberg Apr 2003 A1
20030078071 Uchiyama Apr 2003 A1
20030095105 Vaananen May 2003 A1
20030128191 Strasser et al. Jul 2003 A1
20030128192 Van Os Jul 2003 A1
20030174121 Poupyrev et al. Sep 2003 A1
20030184574 Phillips et al. Oct 2003 A1
20030236729 Epstein et al. Dec 2003 A1
20040059790 Austin-Lane Mar 2004 A1
20040067780 Eiden Apr 2004 A1
20040203656 Andrew et al. Oct 2004 A1
20040204049 Hsu et al. Oct 2004 A1
20050134561 Tierling et al. Jun 2005 A1
20060248183 Barton Nov 2006 A1
20070229478 Rosenberg et al. Oct 2007 A1
20080068350 Rosenberg et al. Mar 2008 A1
Foreign Referenced Citations (55)
Number Date Country
19911416 Nov 2000 DE
0062664 Oct 1982 EP
0085518 Aug 1983 EP
0265011 Apr 1988 EP
0349086 Jan 1990 EP
0607580 Jul 1994 EP
0626634 Nov 1994 EP
0556999 May 1998 EP
0875819 Nov 1998 EP
1182851 Feb 2002 EP
63-164127 Oct 1988 JP
01-003664 Jul 1990 JP
02-109714 Jan 1992 JP
05-020226 Mar 1993 JP
04-007371 Aug 1993 JP
06-018341 Jan 1994 JP
06-139018 May 1994 JP
06-265991 Sep 1994 JP
05-193862 Jan 1995 JP
07-064723 Mar 1995 JP
07-113703 May 1995 JP
07-266263 Oct 1995 JP
2511577 Jul 1996 JP
11-299305 Feb 1999 JP
11-085400 Mar 1999 JP
11-338629 Dec 1999 JP
2001-350592 Dec 2001 JP
2002-259059 Sep 2002 JP
WO 9200559 Jan 1992 WO
WO 9520788 Aug 1995 WO
WO 9532459 Nov 1995 WO
WO 9628777 Sep 1996 WO
WO 9712357 Apr 1997 WO
WO 9718546 May 1997 WO
WO 9720305 Jun 1997 WO
WO 9721160 Jun 1997 WO
WO 9731333 Aug 1997 WO
WO 9808159 Feb 1998 WO
WO 9824183 Jun 1998 WO
WO 9858323 Dec 1998 WO
WO 9940504 Aug 1999 WO
WO 0003319 Jan 2000 WO
WO 0021071 Apr 2000 WO
WO 0041788 Jul 2000 WO
WO 0203172 Jan 2002 WO
WO 0212991 Feb 2002 WO
WO 0227645 Apr 2002 WO
WO 0231807 Apr 2002 WO
WO 02059869 Aug 2002 WO
WO 02078810 Oct 2002 WO
WO 2004052193 Jun 2004 WO
WO 2004053644 Jun 2004 WO
WO 2004053671 Jun 2004 WO
WO 2004053829 Jun 2004 WO
WO 2004053830 Jun 2004 WO
Related Publications (1)
Number Date Country
20080111788 A1 May 2008 US
Continuations (3)
Number Date Country
Parent 11405811 Apr 2006 US
Child 12008916 US
Parent 10213940 Aug 2002 US
Child 11405811 US
Parent 09487737 Jan 2000 US
Child 10213940 US
Continuation in Parts (4)
Number Date Country
Parent 09467309 Dec 1999 US
Child 09487737 US
Parent 09253132 Feb 1999 US
Child 09467309 US
Parent 09156802 Sep 1998 US
Child 09253132 US
Parent 09103281 Jun 1998 US
Child 09156802 US