PATENT DOCUMENT

Publication Number: US-9652040-B2
Application Number: US-201314910108-A
Country: US
Kind Code: B2

Title: Sculpted waveforms with no or reduced unforced response

Abstract:
An electronic device may generate a canceling component that reduces or eliminates the unforced response for a base waveform applied to a component haptic output device of the electronic device. The electronic device may create a sculpted waveform that has no or reduced unforced response and may store the created sculpted waveform. The electronic device may apply the sculpted waveform to the component haptic output device. In one embodiment, a space of at least possible parameters may be defined. Canceling component corresponding to points in the space may be iteratively tested. A heat map may be generated based on the unforced response cancellation or elimination of the canceling components corresponding to the points. Based at least on the heat map, a canceling component may be selected. A sculpted waveform may then be generated by combining the base waveform with the canceling component.

Claims:
We claim: 
     
       1. A method for creating a sculpted waveform with no or reduced unforced response, comprising:
 generating a canceling component, utilizing at least one processing unit, that reduces an unforced response of a base waveform that causes at least one forced response and the unforced response when applied to a haptic output device by: 
 defining a space of possible parameters for the canceling component that reduces or eliminates the unforced response; 
 iteratively testing points in the space utilizing at least one sensor; and 
 selecting a canceling component as the canceling component that reduces or eliminates the unforced response based on the iterative testing; and 
 creating the sculpted waveform, utilizing the at least one processing unit, by combining the selected canceling component and the base waveform; wherein 
 said operation of iteratively testing comprises: 
 selecting one of a first plurality of points on an edge of a first region defined around a beginning point in the space, the one of a first plurality of points corresponding to a first canceling component that has unforced response reduction or elimination over a beginning canceling component corresponding to the beginning point; 
 testing unforced response reduction or elimination of first vector canceling components based on first vector points along a first vector defined by the beginning point and the selected one of the first plurality of points until unforced response reduction or elimination of a first of the first vector canceling components corresponding to one of the first vector points is indistinguishable from a second of the first vector canceling components corresponding to a previous first vector point; 
 when a second canceling component corresponding to one of a second plurality of points on an edge of a second region defined around the previous first vector point has improved unforced response reduction or elimination over the second of the first vector canceling components, testing unforced response reduction or elimination of second vector canceling components based on second vector points along a second vector defined by the previous first vector point and the one of the second plurality of points on the edge of the second region; and 
 when canceling components corresponding to any of the second plurality of points on the edge of the second region does not have improved unforced response reduction or elimination over the second of the first vector canceling components, selecting the second of the first vector canceling components. 
 
     
     
       2. The method of  claim 1 , wherein said testing unforced response reduction or elimination of the second vector canceling components based on the second vector paints along the second vector is performed until unforced response reduction or elimination of a first of the second vector canceling components corresponding to one of the second vector points is indistinguishable from a second of the second vector canceling components corresponding to a previous second vector point, further comprising:
 when a third canceling component corresponding to one of a third plurality of points on an edge of a third region defined around the previous second vector point has improved unforced response reduction or elimination over the second of the second vector canceling components, testing unforced response reduction or elimination of third vector canceling components based on third vector points along a third vector defined by the previous second vector point and the one of the third plurality of points on the edge of the third region; and 
 when canceling components corresponding to any of the third plurality of points on the edge of the third region does not have improved unforced response reduction or elimination over the second of the second vector canceling components, selecting the second of the second vector canceling components. 
 
     
     
       3. The method of  claim 1 , wherein a size of at least one of the first region is proportional to an error of the at least one sensor. 
     
     
       4. The method of  claim 3 , wherein a size of at least one of the second region matches that of the first region. 
     
     
       5. The method of  claim 1 , wherein the possible parameters for the canceling component comprises at least one of times between an amplitude of the base waveform and an amplitude of the canceling component that reduces or eliminates the unforced response or a duration of the canceling component that reduces or eliminates the unforced response. 
     
     
       6. The method of  claim 1 , wherein the base waveform has a same waveform shape as the canceling component that reduces or eliminates the unforced response. 
     
     
       7. The method of  claim 1 , wherein the haptic output device comprises a haptic track pad. 
     
     
       8. The method of  claim 7 , wherein the haptic output device is a component of a track pad. 
     
     
       9. The method of  claim 8 , wherein the at least one output comprises at least one lateral movement of the track pad. 
     
     
       10. The method of  claim 1 , wherein the at least one sensor comprises at least one of an accelerometer or a gyroscope. 
     
     
       11. The method of  claim 1 , wherein the base waveform and the canceling component that reduces or eliminates the unforced response overlap in time. 
     
     
       12. The method of  claim 1 , wherein the base waveform and the canceling component that reduces or eliminates the unforced response are separated in time. 
     
     
       13. The method of  claim 1 , wherein the base waveform has a different waveform shape from the canceling component that reduces or eliminates the unforced response. 
     
     
       14. The method of  claim 1 , wherein the base waveform has a greater amplitude than the canceling component that reduces or eliminates the unforced response. 
     
     
       15. A method for creating a sculpted waveform with no or reduced unforced response, comprising:
 generating a canceling component, utilizing a processing unit, that reduces an unforced response of a base waveform that causes a forced response and the unforced response when applied to a haptic output device by: 
 defining a space of possible parameters for the canceling component that reduces or eliminates the unforced response; 
 iteratively testing points in the space utilizing a sensor; and 
 selecting a canceling component as the canceling component that reduces or eliminates the unforced response based on the iterative testing by generating a heat map based on the iterative testing and utilizing the heat map to select the canceling component; and 
 creating the sculpted waveform, utilizing the processing unit, by combining the selected canceling component and the base waveform. 
 
     
     
       16. The method of  claim 15 , wherein heat map comprises a greyscale heat map wherein greyscale values correspond to unforced response reduction or elimination of canceling components corresponding to points represented in the greyscale heat map. 
     
     
       17. The method of  claim 16 , wherein darker of the greyscale values represent less unforced response and lighter of the greyscale values represent more unforced response. 
     
     
       18. A method for creating a sculpted waveform with no or reduced unforced response, comprising:
 generating a canceling component, utilizing a processing unit, that reduces an unforced response of a base waveform that causes a forced response and the unforced response when applied to a haptic output device by: 
 defining a space of possible parameters for the canceling component that reduces or eliminates the unforced response; 
 iteratively testing points in the space utilizing a sensor; and 
 selecting a canceling component as the canceling component that reduces or eliminates the unforced response based on the iterative testing by determining that multiple canceling components corresponding to multiple points in the space have equal improved unforced response reduction or elimination over other canceling components corresponding to other points in the space and selecting among the multiple canceling components by comparing relationships between a plurality of factors for which the multiple points each have a factor rating; and
 creating the sculpted waveform, utilizing the processing unit, by combining the selected canceling component and the base waveform. 
 
 
     
     
       19. The method of  claim 18 , wherein the plurality of factors include haptic response performance, energy consumption performance, time, frequency, or sound performance. 
     
     
       20. The method of  claim 18 , wherein comparing the relationships between the plurality of factors uses a multiple axes chart.

Description:
This application is a 35 U.S.C. §371 application of PCT/US2013/054220, filed on Aug. 8, 2013, and entitled “Sculpted Waveforms with No or Reduced Unforced Response,” which is incorporated by reference as if fully disclosed herein. 
     TECHNICAL FIELD 
     This disclosure relates generally to haptic device output, and more specifically to sculpted waveform that have no or reduced unforced response. 
     BACKGROUND 
     When a base waveform is applied to some devices in order to produce an output (the “forced,” or intended, response), such as a base waveform applied to a motor to produce a vibration, an “unforced” (or unintended) response may also be produced. In some cases, a canceling component may be applied to the device in order to reduce or eliminate the unforced response. However, reduction/elimination of the unforced response resulting from the application of a base waveform to a device may require a specific unforced response reduction/elimination canceling component. In order to utilize such an unforced response reduction/elimination canceling component to reduce/eliminate the unforced response, the particular unforced response reduction/elimination canceling component for the particular base waveform must be determined. 
     For example, a track pad device may be configured to provide a haptic response when touched by a user. To provide the haptic response, a base waveform may be applied to a motor or other actuator that vibrates to cause the track pad to move laterally on a gel bed or other moveable mounting mechanism. This lateral motion may be tactilely perceived by the user similar to a “click” of a button and may be indistinguishable to the user from a vertical motion. 
     However, the movement of the track pad may not strictly correspond to the base waveform applied to the motor or other actuator. Instead, after the base waveform is applied, the track pad may continue to move with decreasing amounts of kinetic energy for an amount of time after the initial movement associated with the base waveform until the track pad comes to a rest. This unforced response, or “ring down,” may be caused by the dissipation of the kinetic energy of the initial movement (similar to how a pendulum swings in increasingly smaller arcs after an initial force puts the pendulum in motion until coming to a stop) in conjunction with a restoring force or element that acts to return the track pad to its initial state, As a result of this unforced response, the haptic response provided by the track pad may feel imprecise or unpleasant to a user and, further, may differ from the intended haptic response. Additionally, the audible response that may result from the unforced response is even more likely to be unpleasant to a user. 
     SUMMARY 
     The present disclosure discloses systems and methods for creation and/or utilization of sculpted waveforms with no or reduced unforced response. An electronic device may generate a canceling component that reduces or eliminates the unforced response for a base waveform applied to a component haptic output device of the electronic device. The electronic device may create a sculpted waveform that has no or reduced unforced response and may store the created sculpted waveform. The electronic device may apply the sculpted waveform to the component haptic output device. 
     In some implementations, as part of generating a canceling component that reduces or eliminates the unforced response for a base waveform, a starting point in a space of at least possible parameters (such as possible times and possible amplitudes/amplitude ratios) for the canceling component may be determined. Additional points in the space may be iteratively selected based on testing of canceling components corresponding to previous selected points until no additional unforced response reduction improvement is detected. The testing of the canceling components may involve applying the base waveform to the component haptic output device, applying one or more of the canceling components to the component haptic output device, and monitoring any unforced response utilizing at least one sensor. The canceling component corresponding to point in the space previous to where no additional improvement is found may be selected as the canceling component. The sculpted waveform may then be created by combining the canceling component and the base waveform into a complex whole, which may then be stored or applied, and may result in minimal ringout. 
     In various implementations, as part of generating the waveform, an initial point in a space of possible times and possible amplitudes/amplitude ratios for the canceling component may be determined. In some cases, the possible times may include the time between a base waveform and the canceling component, the time between a peak of a base waveform and a peak of the canceling component, the duration of the canceling component, and/or other such times related to canceling components. Similarly, in various cases, the amplitudes may correspond to the amplitudes of the canceling component, the ratio between the amplitude of a base waveform and an amplitude of the canceling component, and/or other such amplitudes related to canceling component. A gradient descent search may then be performed in the space of possible times and possible ratios may be performed to select a canceling component. A sculpted waveform may then be generated by combining the base waveform with the canceling component. The sculpted waveform may be stored and applied to the component haptic output device. 
     In other implementations, a space of at least possible parameters (such as possible times and possible amplitudes/amplitude ratios) for the canceling component may be defined. Canceling components corresponding to points in the space may be iteratively tested. A heat map may be generated based on the unforced response cancellation or elimination of the canceling components corresponding to the points. Based at least on the heat map, a canceling component may be selected. A sculpted waveform may then be generated by combining the base waveform with the canceling component. The sculpted waveform may be stored and applied to the component haptic output device. 
     In some cases, a single canceling component corresponding to a point in the space of at least possible parameters (such as possible times and possible amplitudes/amplitude ratios) may be determined to have the best unforced response elimination or reduction and a canceling component corresponding to that single point may be selected as the canceling component. However, in other cases, multiple points in the space of at least possible times and possible amplitudes/amplitude ratios may be determined that have equal unforced response elimination or reduction. In such cases the multiple points may be selected between by comparing the relationship of the points to various factors, such as utilizing a multiple axes graph that correlates the performance of points to multiple factors. 
     In various implementations, the space of possible parameters (such as possible times and possible amplitudes/amplitude ratios) may be two-dimensional. However, in other implementations the space may include dimensions beyond two and/or may represent other damped response cancelling waveform parameters other than possible times and amplitudes/amplitude ratios. For example, in various implementations, the space may be a space of possible canceling component widths and canceling component skews. 
     In some implementations, an electronic device may create the sculpted waveform and applying such to a haptic output component instead of the base waveform. In other implementations, different electronic devices (which may be different instances of the same and/or similar device) may create the sculpted waveform and apply such to a haptic output component instead of the base waveform. For example, a laptop computer at a factory may be utilized to create the sculpted waveform at a factory. Such a sculpted waveform may be recorded on various laptop computers of the same or similar type that are produced by the same and/or related factories and may be applied to haptic output components even though the various laptop computers did not themselves create the sculpted waveform. 
     In one or more implementations, the haptic output component may be a haptic track pad (or similar device) that is positioned on a gel bed (or similar movement mechanism) and is configured to provide haptic feedback by applying a waveform to an actuator to cause the haptic track pad to move laterally (or otherwise). In such implementations, the sensor utilized to analyze unforced response elimination or reduction of canceling components may be a motion sensor, accelerometer, gyroscope, or similar sensor that detects movement of the haptic track pad. 
     It is to be understood that both the foregoing general description and the following detailed description are for purposes of example and explanation and do not necessarily limit the present disclosure. The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate subject matter of the disclosure. Together, the descriptions and the drawings serve to explain the principles of the disclosure. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1A  is a perspective view of an example electronic device that may create and/or utilize sculpted waveforms with no or reduced unforced response. 
         FIG. 1B  is a perspective view of another example of an electronic device that may create and/or utilize sculpted waveforms with no or reduced unforced response. 
         FIG. 2  is a block diagram illustrating an electronic device that may create and/or utilize sculpted waveforms with no or reduced unforced response. The electronic device may be the electronic device of  FIG. 1A or 1B . 
         FIG. 3  is a chart illustrating a base waveform, the output of the base waveform, and the unforced response of the base waveform. 
         FIG. 4A  is a chart illustrating a first example of a canceling component reducing the unforced response of a base waveform. 
         FIG. 4B  is a chart illustrating a second example of a canceling component reducing the unforced response of a base waveform. 
         FIG. 5  is a flow chart illustrating a first example method for creating a sculpted waveform with no or reduced unforced response. This method may be performed by the electronic devices of  FIG. 1A, 1B , or  2 . 
         FIG. 6  is a chart illustrating the performance of the method of  FIG. 5  to create a sculpted waveform with no or reduced unforced response within a two-dimensional space of possible times and amplitudes/amplitude ratios. 
         FIG. 7  is a flow chart illustrating a second example method for creating a sculpted waveform with no or reduced unforced response. This method may be performed by the electronic devices of  FIG. 1A, 1B , or  2 . 
         FIG. 8  is a diagram illustrating an example greyscale heat map that may be utilized in performing the method of  FIG. 7 . 
         FIG. 9  is a flow chart illustrating an example method for utilizing a sculpted waveform with no or reduced unforced response. This method may be performed by the electronic devices of  FIG. 1A, 1B , or  2 . 
         FIG. 10  is an example of a multiple axes chart illustrating relationships between various factors and points in a space of possible parameters for canceling components 
     
    
    
     DETAILED DESCRIPTION 
     The description that follows includes sample systems, methods, and apparatuses that embody various elements of the present disclosure. However, it should be understood that the described disclosure may be practiced in a variety of forms in addition to those described herein. 
     The present disclosure discloses systems and methods for creation and/or utilization of sculpted waveforms with no or reduced unforced response. An electronic device may generate a canceling component that reduces or eliminates the unforced response for a base waveform applied to a component haptic output device of the electronic device. The electronic device may create a sculpted waveform that has no or reduced unforced response and may store the created sculpted waveform. The electronic device may apply the sculpted waveform to the component haptic output device. 
     As part of generating a canceling component that reduces or eliminates the unforced response for a base waveform, a starting point in a space of at least possible parameters (such as possible times and possible amplitudes/amplitude ratios) for the canceling component may be determined. Additional points in the space may be iteratively selected based on testing of canceling component corresponding to previous selected points until no additional unforced response reduction improvement is detected. The testing of the canceling component may involve applying the base waveform to the component haptic output device, applying one or more of the canceling component to the component haptic output device, and monitoring any unforced response utilizing at least one sensor. The canceling component corresponding to point in the space previous to where no additional improvement is found may be selected as the canceling component. The sculpted waveform may then be created by combining the canceling component and the base waveform into a complex whole, which may then be stored or applied, and should result in minimal ringout. 
     Generating the canceling component may include determining an initial point in a space of possible times and possible amplitudes/amplitude ratios for the canceling component. In some cases, the possible times may include the time between a base waveform and the canceling component, the time between a peak of a base waveform and a peak the waveform, the duration of the canceling component, and/or other such times related to canceling components. Similarly, in various cases, the amplitudes may correspond to the amplitudes of the canceling component, the ratio between the amplitude of a base waveform and an amplitude of the canceling component, and/or other such amplitudes related to canceling components. 
     In one embodiment, a gradient descent search may be permed in the space of possible times and possible amplitude/amplitude ratios. A first region, such as a box (and/or other shape), may be defined in the space around the initial point and the application of canceling components corresponding to points on the edge of the first region may be compared to an application of a canceling component corresponding to the initial point to determine a point on the edge that corresponds to a canceling component with improved unforced response elimination or reduction. In cases where application of canceling components corresponding to multiple points yield identical improved unforced response elimination or reduction, other factors may be evaluated to compare the application of the canceling component. Application of canceling component corresponding to points along a vector defined by the initial point and the point on the edge that corresponds to the canceling component with improved unforced response elimination or reduction may be tested by applying canceling component corresponding to the points until a vector point (i.e., a point along the vector) is found beyond which no additional unforced response elimination or reduction is found. A second region (and/or other shape) may be defined around the vector point and application of canceling components corresponding to points on the edges of the second region may be compared with the canceling component corresponding to the vector point. This process may be performed iteratively until no application of canceling components corresponding to points on the edge of a region defined around a particular point yield any detectable unforced response elimination or reduction over the particular point, whereupon the canceling component may be selected as a canceling component corresponding to the particular point. A sculpted waveform may then be generated by combining the base waveform with the canceling component. The sculpted waveform may be stored and applied to the component haptic output device. 
     In certain implementations, some or all of the regions may have the same dimensions and/or may be based on an error of a sensor utilized to evaluate canceling components related to the points. 
     In another embodiment, a space of at least possible parameters (such as possible times and possible amplitudes/amplitude ratios) for the canceling component may be defined. Canceling components corresponding to points in the space may be iteratively tested. A heat map may be generated based on the unforced response cancellation or elimination of the canceling components corresponding to the points. Based at least on the heat map, a canceling component may be selected. A sculpted waveform may then be generated by combining the base waveform with the canceling component. The sculpted waveform may be stored and applied to the component haptic output device. 
       FIG. 1A  is an isometric view of an example electronic device  100  that may create and/or utilize sculpted waveforms with no or reduced unforced response,  FIG. 1B  is an isometric view of another example of the electronic device  100 . As shown in  FIG. 1A , the electronic device  100  may be a laptop computer and as shown in  FIG. 1B , the electronic device  100  may be a smart phone or mobile electronic device. It should be noted that the electronic devices  100  illustrated in  FIGS. 1A and 1B  are illustrative only and substantially any other type of electronic devices, such as but not limited to, a computer, mobile phone, smart phone, digital music player, digital camera, calculator, personal digital assistant, television, and so on may be used. 
     With reference to  FIGS. 1A and 1B  the electronic device  100  may include a haptic device  102 , an input member  108 , a display  104 , an input port  110 , a keyboard  114  or other input device, one or more sensors  140 , and an enclosure  106  at least partially surrounding select or all of the components of the electronic device  100 . Referring to  FIG. 1A , the electronic device  100 , via the input port  110 , may also be in communication with one or more external devices  112 . In some embodiments, the haptic device  102  may be incorporated into an external device  112 , such as a mouse, track pad, joystick, or other input device. 
       FIG. 2  is a block diagram illustrating an electronic device  100  that may create and/or utilize sculpted waveforms with no or reduced unforced response. The electronic device may be the electronic device of  FIG. 1A or 1B . 
     The electronic device  100  may include a processor  116 , a power source  118 , and a memory component  120 , all of which may be in communication by one or more system buses  126 . The processor  116  may further be in communication with the haptic device  102  in order to control an actuator  124  for the haptic device  102  and/or receive data from one or more input sensors  122  of the haptic device  102 , discussed in more detail below. 
     The memory  120  may store electronic data that may be utilized by the electronic device  100 . For example, the memory  120  may store electrical data or content e.g., audio files, video files, document files, and so on, corresponding to various applications. In some embodiments, the memory  120  may store user settings with respect to the haptic device  102 . The memory  120  may be, for example, non-volatile storage, a magnetic storage medium, optical storage medium, magneto-optical storage medium, read only memory, random access memory, erasable programmable memory, flash memory, or a combination of one or more types of memory components. 
     The electronic device  100  may also include one or more sensors  140 , in addition to the input sensors  122  of the haptic device  102 . The sensors  140  may provide substantially any type of input to the electronic device  100 . For example, the sensors  140  may be one or more accelerometers, gyroscopes, light sensors, image sensors (such as a camera), force sensors, and so on, 
     It should be noted that  FIGS. 1A-2  are for the purposes of example only. In other examples, the electronic device may include fewer or more components than those shown in  FIGS. 1A-2 . Additionally, the illustrated electronic devices are only exemplary devices incorporating the haptic device  102 . In other embodiments, the haptic device  102  may be incorporated into substantially any type of device that provides haptic feedback to a user. 
     In various implementations, a base waveform may be applied to the haptic device  102  (such as to the actuator  124  of the haptic device  102 ). In some cases, the base waveform May be applied in order to provide a haptic response to a user. The application of the base waveform to the haptic device may cause an output (the forced or intended haptic response). The application of the base waveform to the haptic device may also cause an unforced (or unintended) response. This unforced response may result from the haptic device  102  (and/or the actuator  124 ) settling to rest with decreasing amounts of energy after the application of the base waveform. This unforced response, or “ring down,” may cause the haptic response provided by the haptic device  102  to feel imprecise or unpleasant to a user and, further, may differ from the intended haptic response to be produced by the base waveform. Additionally, the audible response that may result from such is even more likely to be unpleasant to a user. 
     For example, as illustrated in  FIGS. 1A and 1B , the haptic device  102  may be a haptic track pad. Such a haptic track pad may apply a base waveform to one or more actuators in order to provide haptic feedback. In some cases, the haptic track pad may be suspended on a gel bed or other such moveable mounting mechanism and the application of the base waveform may cause the haptic track pad to move laterally, which may be tactilely perceived by a user as a response to a touch similar to a “click” of a button. Such lateral motion may be indistinguishable to the user from a vertical motion. 
     However, the lateral motion of the haptic track pad may not strictly correspond to the base waveform. Once set in motion by the base waveform, the haptic track pad may continue to move with decreasing amounts of kinetic energy in response to the movement related to the base waveform until the kinetic energy is fully dissipated and the haptic track pad comes to a complete rest. Such continuing motion may be the unforced response related to the base waveform. The motion of the haptic track pad corresponding to the forced and/or the unforced response may be measured by one or more sensors (such as one or more motion detectors, accelerometers, gyroscopes, and so on) that monitor the motion of the haptic track pad. 
     To eliminate or reduce the unforced response related to such a base waveform, one or more canceling components may be determined and applied to the haptic track pad. Such canceling components may disrupt the unforced, eliminating or reducing out such, causing the haptic track pad to come to a complete rest faster and/or more efficiently than in the absence of the application of such a canceling component. Such canceling components may be combined with the base waveform (generating a complex waveform) to create a sculpted waveform. The sculpted waveform, which has no or reduced unforced response as compared to the base waveform, may be stored and utilized instead of the base waveform. 
     Although the immediately preceding discussion concerns a haptic track pad (and although  FIGS. 1A and 1B  illustrate a track pad and  FIG. 2  illustrates a haptic device) it is understood that this is for the purposes of example. In various implementations, the techniques disclosed herein may be utilized with any haptic output component and/or device (such as a haptic mouse, touch screen, and so on) to which a base waveform is applied resulting in a forced and an unforced response without departing from the scope of the present disclosure. 
       FIG. 3  is a chart illustrating a base waveform W 1 , the forced response of the base waveform OUTPUT  1 , and the unforced response of the base waveform RING DOWN. The vertical axis corresponds to amplitude and the horizontal axis to time. The forced response of the base waveform OUTPUT 1  may not strictly correspond to the base waveform W 1 . Instead, after the base waveform W 1  is applied, the haptic output device to which the base waveform W 1  was applied may continue to output with decreasing amounts of kinetic energy for an amount of time after the initial movement associated with the base waveform W 1  until the component of the haptic output device to which the base waveform W 1  was applied comes to a rest. This unforced response, or “ring down,” may be caused by the dissipation of the kinetic energy of the initial application of the base waveform W 1  (similar to how a pendulum swings in increasingly smaller arcs after an initial force puts the pendulum in motion until coming to a stop) in conjunction with a restoring force or element that acts to return the haptic output device to its initial state. 
       FIG. 4A  is a chart illustrating a first example of a canceling component W 2  reducing the unforced response of the base waveform W 1 , where the chart axes are amplitude along the vertical axis and time along the horizontal axis. As can be seen by comparing  FIGS. 3 and 4A , the unforced response RING DOWN of the base waveform W 1  may be reduced (such as in amplitude and/or duration) by the application of the canceling component W 2 . Although canceling component W 2  and the base waveform W 1  are described as separate waveforms, it is understood that W 2  and W 1  may be components of a complex, sculpted waveform. Such a sculpted waveform may have a first and second “hump” or maximum value, each hump generally corresponding to a maximum axial value (such as amplitude) of the base waveform and the canceling component. 
     As illustrated in  FIG. 4A , the canceling component W 2  may overlap in time with the base waveform W 1 . However, it is understood that this is for the purposes of example.  FIG. 4B  illustrates a second example of a canceling component W 2  that does not overlap in time with the base waveform W 1 . Further, though  FIGS. 4A and 4B  illustrate canceling components W 2  that have a same waveform shape (such as a sin wave) as the base waveform W 1 , is understood that this is for the purposes of example and that in various implementations the canceling component W 2  may have a different waveform shape than the base waveform W 1 . Additionally, though  FIGS. 4A and 4B  illustrate canceling components W 2  that have smaller amplitudes than the base waveform W 1 , is understood that this is for the purposes of example and that in various implementations the canceling component W 2  may have the same or higher amplitude than the base waveform W 1 . 
       FIG. 5  illustrates a first example method  500  for creating a sculpted waveform with no or reduced unforced response. The method  500  may be performed by the electronic devices of  FIG. 1A, 1B, 2 , or any suitable electronic device. The flow begins at block  501  and proceeds to block  502  where the electronic device operates in a test mode. The flow then proceeds to block  503  where the electronic device selects a point in a defined space of possible parameters (such as possible times and amplitudes/amplitude ratios) for a canceling component that eliminates or reduces the unforced response of a base waveform. Such selection may involve testing the unforced response elimination or reduction of a canceling component corresponding to the point by applying the base waveform to the component haptic output device, applying the canceling component corresponding to the point, and monitoring the component haptic output device to determine the unforced response utilizing at least one sensor. 
     In some cases, such a space may be a two dimensional space of times and amplitudes/amplitude ratios. Such a two-dimensional space of times and amplitudes is illustrated in the chart of  FIG. 6 . Returning to  FIG. 5 , in other cases the space may include more than two dimensions and may thus include other possible parameters for canceling components. 
     In some cases, the times may correspond to the time between the base waveform and the canceling component. In other cases, the times may correspond to the time between a peak of the base waveform and a peak of the canceling component. In still other cases, the times may correspond to the duration of the canceling component. In some cases, the amplitudes may correspond to the amplitudes of the canceling component. In other cases, the amplitudes may correspond to the ratio between the amplitude of the base waveform and the amplitude of the canceling component. In various cases, the point may be arbitrarily chosen or may be chosen based on other such factors such as previous analysis of canceling components corresponding to points in the space as unforced response eliminating or reducing canceling components, a resonant frequency of the electronic device, minimum values for the parameters of the canceling component, user input, and so on. 
     The method  500  may perform a gradient descent search in the space of possible parameters, which is broadly described below. The flow then proceeds to block  504  where the electronic device defines a region (which may be a box or other shape) around the point. Such a region may have dimensions based on an error of the sensor. For example, in some cases the sensor may have an error that causes the sensor to be unable to distinguish between the unforced response elimination or reduction of two canceling components if the unforced response eliminations or reductions are only slightly different. In such a case, the region may have dimensions such that the edges of the region correspond to points in the space that are far enough away from the point that the differences between the unforced response elimination or reduction of a canceling component corresponding to a point on the edge of the region and the unforced response elimination or reduction of the canceling component corresponding to the point are distinguishable by the sensor despite the error of the sensor. 
     Next, the flow proceeds to block  505  where the electronic device tests points on the edges of the region. Such testing may involve comparing points on the edges of the region with the point. Such comparison may involve comparing the unforced response elimination or reduction of the base waveform by a canceling component corresponding to the point monitored using the sensor with the unforced response eliminations or reductions of canceling components corresponding to the points on the edges of the region. In some cases, comparison of the unforced response eliminations or reductions may include comparison of relationships between the point or the points on the edges of the region and various related factors (see  FIG. 10 ). 
     The flow then proceeds to block  506  where the electronic device determines whether or not any of the points on the edge of the region are an improvement over the point (such as based on the comparisons discussed above). In cases where application of canceling components corresponding to multiple points yields identical unforced response elimination or reduction, such relationships and related factors may be utilized to distinguish among the canceling components. If so, the flow proceeds to block  509 . Otherwise, the flow proceeds to block  507 . 
     At block  507 , after the electronic device determines that none of the points on the edge of the region are an improvement over the point, the electronic device selects the canceling component corresponding to the point. The flow then proceeds to block  509  where the electronic device generates a sculpted waveform by combining the base waveform with the canceling component corresponding to the point. Subsequently, the sculpted waveform may be utilized instead of the base waveform. 
     The flow then proceeds to block  510  where the electronic device determines whether or not to test other base waveforms. If so, the flow returns to block  502  and continues to operate. Otherwise, the flow proceeds to block  511  and ends. 
     At block  508 , after the electronic device determines that one of the points on the edge of the region is an improvement over the point, the electronic device iteratively tests canceling components corresponding to points along a vector defined by the point and the improved point on the edge of the region until a subsequent point on the vector does not yield additional detectable unforced response elimination or reduction over a previous point on the vector (or until a preset searching limit is reached on the vector in cases where such a preset limit has been set to constrain the amount of testing that is performed along the vector). The flow then returns to block  504  and  505  where the electronic device defines a new region (such as a box or other shape) around the point of the vector where unforced response elimination or reduction improvement could be detected and compares that point to points on the edges of the new region. The new region may have the same dimensions as the previous region and may be based on an error of the sensor. 
     Although the method  500  is illustrated and described above as including particular operations performed in a particular order, it is understood that this is for the purposes of example. In other implementations, other configurations of the same, similar, and/or different operations may be performed without departing from the scope of the present disclosure. 
     For example, blocks  504 - 506  and  508  define a first region around a point, test points on the edge of the first region in an attempt to find an improved point, test points along a vector defined by the point and the improved point until a vector point is reached where no more improvement is found, and then repeat the process with a second region defined around the vector point is reached. However, it is understood that this is for the purposes of example and that such a series of operations may be performed iteratively. As such, new regions may be defined around a new point when no further improvement around found along a vector defined by a previous region (defined around a previous point) and an improved point on the edge of the previous region any number of times (such as until no point on the edge of the new region yields any improvement over the new point, whereupon a canceling component corresponding to the new point may be selected as the waveform). All of the defined regions may share dimensions and may be based on an error of the sensor. 
       FIG. 6  is a chart illustrating an example performance of a gradient descent search performed as part of the method  500  within a two-dimensional space of times and amplitudes/amplitude ratios. (It should be appreciated that the space may be defined by any number of suitable parameters or combinations of parameters, including widths and skews of a canceling component, as well as any factor discussed with respect to  FIG. 10  or parameters related to these factors.) As illustrated, an initial point  601  may be selected. A region  602  may be defined around the initial point  601 . The dimensions of the region  602  may be based on an error of at least one sensor. Points on the edge of the region  602  may be compared to the initial point  601 . As illustrated, a point  603  on the edge of region  602  may be determined to be an improvement over the initial point  601 . 
     Such improvement may be determined by comparing the unforced response elimination or reduction of the base waveform by a canceling component corresponding to the initial point  601  monitored using the sensor with the unforced response elimination or reduction of the canceling component corresponding to the point  603  (and/or other points on the edges of the region  602 ). In some cases, comparison of the unforced response eliminations or reductions may include comparison of relationships between the initial point  601 , the pint  603 , and/or other points on the edges of the region  602  and various related factors (see  FIG. 10 ). 
     A vector  604  may be defined by the initial point  601  and the improved point  603 . Points along the vector  604  may be tested until a point  605  on the vector  604  is reached beyond which no additional improvement is found (or until a preset searching limit is reached). 
     A second region  606  may be defined around the point  605 . The dimensions of the region  606  may be based on an error of the sensor and may share dimensions with the region  602 . Points on the edge of the region  606  may be compared to the point  605 . As illustrated, a point  607  on the edge of region  606  may be determined to be an improvement over the point  605 . 
     A second vector  609  may be defined by the point  605  and the improved point  607 . Points along the vector  609  may be tested until a point  608  on the vector  609  is reached beyond which no additional improvement is found (or until a preset searching limit is reached). 
     A third region  610  may be defined around the point  608 . The dimensions of the region  610  may be based on an error of the sensor and may share dimensions with the regions  606  and  602 . Points on the edge of the region  610  may be compared to the point  25   608 . 
     However, in this example, no point on the edge of region  610  yields any additional improvement over point  608 . As such, a canceling component corresponding to point  608  may be selected. Subsequently, a sculpted waveform may be generated by combining the selected canceling component with the base waveform. The sculpted waveform may be stored and may be applied instead of the base waveform. 
     Although  FIG. 6  illustrates a particular example of the performance of a gradient descent search performed as part of the method  500 . It is understood that this is an example and is not intended to be limiting. In various implementations, the same, similar, and/or different operations may be performed in a variety of different orders without departing from the scope of the present disclosure. For example, though  FIG. 6  illustrates defining a series of three regions around three points and testing points along two vectors, such a process may involve testing any number for points along any number of vectors and/or defining any number of regions in various instances of performing the method  500  without departing from the scope of the present disclosure. 
       FIG. 7  illustrates a second example method  700  for creating a sculpted waveform with no or reduced unforced response. The method  700  may be performed by the electronic devices of  FIG. 1A, 1B, 2 , or any suitable electronic device. The flow begins at block  701  and proceeds to block  702  where the electronic device operates in a test mode. The flow then proceeds to block  703  where the electronic device defines a space of possible parameters (such as possible times and amplitudes/amplitude ratios) for a canceling component that eliminates or reduces the unforced response of a base waveform. 
     In some cases, such a space may be a two dimensional space of times and amplitudes/amplitude ratios. Such a two-dimensional space of times and amplitudes is illustrated in the chart of  FIG. 8 . Returning to  FIG. 7 , in other cases the space may include more than two dimensions and may thus include other possible parameters for canceling components. 
     In some cases, the times may correspond to the time between the base waveform and the canceling component. In other cases, the times may correspond to the time between a peak of the base waveform and a peak of the canceling component. In still other cases, the times may correspond to the duration of the canceling component. In some cases, the amplitudes may correspond to the amplitudes of the canceling component. In other cases, the amplitudes may correspond to the ratio between the amplitude of the base waveform and the amplitude of the canceling component. In various cases, the point may be arbitrarily chosen or may be chosen based on other such factors such as previous analysis of canceling components corresponding to points in the space as unforced response eliminating or reducing canceling components, a resonant frequency of the electronic device, minimum values for the parameters of the canceling component, user input, and so on. 
     The flow then proceeds to block  704  where the electronic device iteratively tests canceling components corresponding to points in the space. Such testing may involve testing the unforced response elimination or reduction of a canceling component corresponding to a point by applying the base waveform to the component haptic output device, applying the canceling component corresponding to the point, and monitoring the component haptic output device to determine the unforced response utilizing at least one sensor. 
     Next, the flow proceeds to block  705  where the electronic device generates a heat map (such as the greyscale heat map of  FIG. 8 ) based at least on the testing. Such a heat map may graphically or otherwise represent the unforced response elimination or reduction of canceling components corresponding to points in the space, such as in greyscale (where darker shades of grey represent less unforced response and lighter shades of grey represent less unforced response or where lighter shades of grey represent less unforced response and darker shades of grey represent less unforced response), color (where darker shades of a color represent less unforced response and lighter shades of the color represent less unforced response, where lighter shades of a color represent less unforced response and darker shades of the color represent less unforced response, where one end of a color sequence represents less unforced response and the other end of the color sequence represents more unforced response, or any other such color representation arrangement), and/or any other such representation. 
     The flow then proceeds to block  706  where the electronic device selects a canceling component based on the heat map. In some cases, the heat map may indicate that a canceling component corresponding to a point in the space has the most unforced response elimination or reduction and may therefore be selected. However, in other cases, the heat map may indicate that multiple canceling components, each corresponding to different points in the space, have equivalent unforced response elimination or reduction. In such cases, relationships between the canceling components and various related factors may be utilized to select among the canceling components (see  FIG. 10 ). 
     The flow then proceeds to block  707  where the electronic device generates a sculpted waveform by combining the base waveform with the selected canceling component and stores the sculpted waveform. Subsequently, the sculpted waveform may be utilized instead of the base waveform. 
     The flow then proceeds to block  708  where the electronic device determines whether or not to test other base waveforms. If so, the flow returns to block  702  and continues to operate. Otherwise, the flow proceeds to block  709  and ends. 
     Although the method  700  is illustrated and described above as including particular operations performed in a particular order, it is understood that this is for the purposes of example. In other implementations, other configurations of the same, similar, and/or different operations may be performed without departing from the scope of the present disclosure. 
     For example, though blocks  704  and  705  are shown as performed sequentially, in various implementations the operations may be performed in tandem. 
       FIG. 8  is a diagram illustrating an example greyscale heat map  800  that may be utilized in performing the method of  FIG. 7 . As illustrated, the defined space includes time shifts between the base waveforms and canceling components corresponding to points in the space as well as amplitude ratios of canceling components corresponding to points in the space. Further, unforced response elimination or reduction of canceling components corresponding to points in the space is illustrated by greyscale values where darker greys represent less unforced response and lighter greys represent more unforced response. 
     In this example greyscale heat map  800 , points  801  and  802  have the darkest greyscale values in the greyscale heat map. As such, canceling components corresponding to these two points in the defined space may have the least unforced response of canceling components corresponding to any point in the defined space. In this example, the canceling component corresponding to point  801  may be more energy efficient than the canceling component corresponding to point  802 . As such, the canceling component corresponding to point  801  may be selected. Subsequently, a sculpted waveform may be generated by combining the canceling component corresponding to point  801  with the base waveform. The sculpted waveform may be stored and may be applied instead of the base waveform. 
     Although  FIG. 8  illustrates a particular example of a heat map, it is understood that this is an example and is not intended to be limiting. In various implementations other heat maps, which may or may not represent unforced response elimination or reduction graphically, may be utilized in preforming the method of  FIG. 7  without departing from the scope of the present disclosure. 
       FIG. 9  illustrates an example method  900  for utilizing a sculpted waveform. The method  900  may be performed by the electronic devices of  FIG. 1A, 1B, 2 , or any suitable electronic device. The flow begins at block  901  and proceeds to block  902  where the electronic device operates. The flow then proceeds to block  903  where the electronic device applies a sculpted waveform that has no or reduced unforced response to a component haptic output device. 
     The sculpted waveform that has no or reduced unforced response may have been generated and stored by a process such as the method  500  of  FIG. 5 , the method  700  of  FIG. 7 , and/or any other technique discussed herein. Additionally, the electronic device may determine to apply a base waveform for which it has no sculpted waveform version of the base waveform that has no or reduced unforced response is stored. In such a case, the electronic device may have a mathematical model of the “ringout physics” of the electronic device (i.e., the forced and unforced responses of the component haptic output device to various waveforms and/or other such resonant frequencies and/or physical properties of the electronic device). The electronic device may then create a sculpted waveform by modeling the determined base waveform, simulating the unforced response, modifying the determined base waveform, and simulating the change from the modification to the unforced response until modifications of the determined base waveform are found that the model predicts may minimize the unforced response. The modified waveform may then be utilized as the sculpted waveform. 
     The flow then proceeds to block  904  and ends. 
     Although the method  900  is illustrated and described above as including particular operations performed in a particular order, it is understood that this is for the purposes of example. In other implementations, other configurations of the same, similar, and/or different operations may be performed without departing from the scope of the present disclosure. For example, the method  900  is illustrated and described as applying a single sculpted waveform and ending. However, in various other implementations, the electronic device may determine whether or not to apply various sculpted waveforms and apply such sculpted waveforms accordingly. 
       FIG. 10  is an example of a multiple axes chart illustrating relationships between various factors and points in a space of possible parameters for canceling components that may be utilized to compare points and/or unforced response elimination or reduction of canceling components corresponding to points in various implementations. 
     As illustrated, the chart includes an axis  1001  for haptic response performance, an axis  1002  for energy consumption performance, an axis  1003  for time, an axis  1004  for frequency, and an axis  1005  for sound performance. Performance of points in a space of possible parameters for canceling components related to each of the factors corresponding to the axes may be plotted on the chart of  FIG. 10 . Lines  1006 - 1009  each illustrate examples of plotting for a respective example point. Based on the plotting of points on such a multiple axes chart, factors (such as haptic response performance, energy consumption, time, frequency, sound performance, and/or other factors that may be relevant in comparing points) other than just unforced response elimination or reduction may be taking into account when comparing points. 
     Additionally, though the method  500  is illustrated and described above as determining a single point in a space of possible parameters for a canceling component that has superior unforced response elimination or reduction over all other possible points in the space, in some implementations multiple such points may be determined. In such cases, a multiple axes chart or other such comparison tool may be utilized to select among points corresponding to canceling components that have identical unforced response elimination or reduction based upon factors other than or in addition to unforced response elimination or 30 reduction. 
     As described above and illustrated in the accompanying figures, the present disclosure discloses systems and methods for creation and/or utilization of sculpted waveforms with no or reduced unforced response. An electronic device may generate a canceling component that reduces or eliminates the unforced response for a base waveform applied to a component haptic output device of the electronic device. The electronic device may create a sculpted waveform that has no or reduced unforced response and may store the created sculpted waveform. The electronic device may apply the sculpted waveform to the component haptic output device. 
     As part of generating the canceling component that reduces or eliminates the unforced response for a base waveform, a starting point in a space of possible parameters (such as possible times and possible amplitudes/amplitude ratios) for the canceling component may be determined. Additional points in the space may be iteratively selected based on testing of canceling components corresponding to previous selected points until no additional unforced response reduction improvement is detected. The testing of the canceling components may involve applying the base waveform to the component haptic output device, applying one or more of the canceling components to the component haptic output device, and monitoring any unforced response utilizing at least one sensor. The canceling component corresponding to point in the space previous to where no additional improvement is found may be selected as the canceling component. 
     In one embodiment, a space of at least possible parameters (such as possible times and possible amplitudes/amplitude ratios) for the canceling component may be defined. Canceling component corresponding to points in the space may be iteratively tested. A heat map may be generated based on the unforced response cancellation or elimination of the canceling components corresponding to the points. Based at least on the heat map, a canceling component may be selected. A sculpted waveform may then be generated by combining the base waveform with the canceling component. The sculpted waveform may be stored and applied to the component haptic output device. 
     In the present disclosure, the methods disclosed may be implemented as sets of instructions or software readable by a device. Further, it is understood that the specific order or hierarchy of steps in the methods disclosed are examples of sample approaches. In other embodiments, the specific order or hierarchy of steps in the method can be rearranged while remaining within the disclosed subject matter. The accompanying method claims present elements of the various steps in a sample order, and are not necessarily meant to be limited to the specific order or hierarchy presented. 
     The described disclosure may be provided as a computer program product, or software, that may include a non-transitory machine-readable medium having stored thereon instructions, which may be used to program a computer system (or other electronic devices) to perform a process according to the present disclosure. A non-transitory machine-readable medium includes any mechanism for storing information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). The non-transitory machine-readable medium may take the form of, but is not limited to, a magnetic storage medium (e.g., floppy diskette, video cassette, and so on); optical storage medium (e.g., CD-ROM); magneto-optical storage medium; read only memory (ROM); random access memory (RAM); erasable programmable memory (e.g., EPROM and EEPROM); flash memory; and so on. 
     It is believed that the present disclosure and many of its attendant advantages will be understood by the foregoing description, and it will be apparent that various changes may be made in the form, construction and arrangement of the components without departing from the disclosed subject matter or without sacrificing all of its material advantages. The form described is merely explanatory, and it is the intention of the following claims to encompass and include such changes. 
     While the present disclosure has been described with reference to various embodiments, it will be understood that these embodiments are illustrative and that the scope of the disclosure is not limited to them. Many variations, modifications, additions, and improvements are possible. More generally, embodiments in accordance with the present disclosure have been described in the context or particular embodiments. Functionality may be separated or combined in blocks differently in various embodiments of the disclosure or described with different terminology. These and other variations, modifications, additions, and improvements may fall within the scope of the disclosure as defined in the claims that follow.

Metadata:
Filing Date: 20130808
Publication Date: 20170516
Grant Date: 20170516
Priority Date: 20130808
Inventors: MARTINEZ MELISA ORTA
WESTERMAN WAYNE C.
GU ZHIQIANG
KERR DUNCAN
KESSLER PATRICK
Assignee: APPLE INC
CPC Classifications: [{"code": "G06F3/016", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06F3/0346", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F2203/015", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F3/03547", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F2203/015", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F3/0346", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/03547", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/016", "inventive": true, "first": true, "tree": "[]"}]
Family ID: 49004017