Abstract:
A method and system for detecting acceleration and force data associated with a rotating device or rotating system is disclosed, which includes a sine table and a cosine table that may be created based on a particular number of measured data points per revolution of the rotating device or rotating system. Data contained within the sine and cosine tables are then dynamically correlated to obtain acceleration and force data associated with the rotating device or rotating system, wherein dynamically correlated data are thereby utilized to determine a required correction necessary to place the rotating device or rotating system in a balanced state. An error calculated based on a sample size and the number of samples obtained since a last index pulse can be utilized to compute the validity of the data. An index may be associated with the sine table and an additional index associated with the cosine table, wherein each of the indexes is formulated based on an angle per index based on the particular number of measured data points divided by 360 degrees. At least one sine element and at least one cosine element may be respectively calculated for the index associated with the sine table and the index associated with the cosine table. The sine and cosine tables can be combined into one table to thereby reduce memory required to dynamically correlate the data contained within the sine and cosine tables.

Description:
RELATED APPLICATIONS  
       [0001]    This application is related to co-pending and co-owned patent applications entitled: “Method and Apparatus for Reducing Microprocessor Speed Requirements in Data Acquisition Applications,” Honeywell Docket No. M10-01121, U.S. Ser. No. 09/792,996, filed on Feb. 26, 2001; “Simultaneous Injection Method and System for a Self-Balancing Rotatable Apparatus,” Honeywell Docket H16-26312, U.S. Ser. No. 09/896,763; “Energy-Based Thresholds Applied to Dynamic Balancing,” Honeywell Docket No. H16-02079, U.S. Ser. No. 09/______ , filed on Sep. 10, 2001; “Method and System for Detecting Fluid Injection from Stationary to Rotating Members,” Honeywell Docket No. M10-01128, U.S. Ser. No. 09/______ , filed on Feb. 26, 2001. 
     
    
     
       TECHNICAL FIELD  
         [0002]    The present invention relates generally to rotatable members that are able to achieve balanced conditions throughout a range of rotational speeds. The present invention also relates to methods and systems for dynamically balancing rotatable members through the continual determination of out-of-balance forces and motion to thereby take corresponding counter balancing action. The present invention additionally relates to methods and systems in which inertial masses are actively placed within a rotating body in order to cancel rotational imbalances associated with the rotating body thereon. The present invention additionally relates to timely methods and system that extract measured signal components indicative of the balance condition of the rotating system and used to build the rotating system control model as well as influence the course of dynamic balance control.  
         BACKGROUND OF THE INVENTION  
         [0003]    Mass unbalance in rotating machinery leads to machine vibrations that are synchronous with the rotational speed. These vibrations can lead to excessive wear and to unacceptable levels of noise. Typical imbalances in large rotating machines are on the order of one inch-pound.  
           [0004]    It is a common practice to balance a rotatable body by adjusting a distribution of moveable, inertial masses attached to the body. Once certain types of bodies have been balanced in this fashion, they will generally remain in balance only for a limited range of rotational velocities. A tire, for instance, can be balanced once by applying weights to it. This balanced condition will remain until the tire hits a very big bump or the weights are removed. A centrifuge for fluid extraction, however, can change the amount of balance as more fluid is extracted.  
           [0005]    Many machines are also configured as free standing spring mass systems in which different components thereof pass through resonance ranges until the machine is out of balance. Additionally, such machines may include a rotating body flexibly located at the end of a shaft rather than fixed to the shaft as in the case of a tire. Thus, moments about a bearing shaft may also be created merely by the weight of the shaft. A flexible shaft rotating at speeds above half of its first critical speed can generally assume significant deformations, which add to the imbalance. This often poses problems in the operation of large turbines and turbo generators.  
           [0006]    Machines of this kind usually operate above their first critical speed. As a consequence, machines that are initially balanced at relatively low speeds may tend to vibrate excessively as they approach full operating speed. Additionally, if one balances to an acceptable level rather than to a perfect condition (which can be difficult to measure), the small remaining out of balance will progressively apply force as the speed increases. This increase in force is generally due to the fact that Fαrω 2  (note that F represents the “out-of-balance” force, r represents the radius of the rotating body and ω represents its rotational speed).  
           [0007]    The mass unbalance distributed along the length of a rotating body may give rise to a rotating force vector at each of the bearings that support the body. In general, the force vectors at respective bearings are not in phase. At each bearing, the rotating force vector may be opposed by a rotating reaction force, which can be transmitted to the bearing supports as noise and vibration.  
           [0008]    The purpose of active, dynamic balancing is to shift an inertial mass to the appropriate radial eccentricity and angular position for canceling the net mass unbalance. At the appropriate radial and angular distribution, the inertial mass can generate a rotating centrifugal force vector equal in magnitude and phase to the reaction force referred to above.  
           [0009]    Many different types of balancing schemes are known to those skilled in the art. When rotatable objects are not in perfect balance, nonsymmetrical mass distribution creates out-of-balance forces because of the centrifugal forces that result from rotation of the object. Although rotatable objects find use in many different applications, one particular application is a rotating drum of a washing machine.  
           [0010]    U.S. Pat. No. 5,561,993, which issued to Elgersma et al. on Oct. 22, 1996 (assigned to the owner of the present application) and is incorporated herein by reference, discloses a self-balancing rotatable apparatus. Elgersma et al. disclosed a method and system for measuring forces and motion via accelerations at various locations in a system. The forces and moments were balanced through the use of a matrix manipulation technique for determining appropriate counterbalance forces located at two axial positions of the rotatable member. The method and system described in Elgersma et al. accounted for possible accelerations of a machine, such as a washing machine, which could not otherwise be accomplished if the motion of the machine were not measured. Such a method and system was operable in association with machines not rigidly attached to immovable objects, such as concrete floors. The algorithm disclosed by Elgersma et al. permits counterbalance forces to be calculated even though a washing machine is located on a moveable floor structure combined with carpet padding and carpets between the washing machine and a rigid support structure.  
           [0011]    U.S. Pat. No. 5,561,993 thus described a dynamic balance control algorithm for balancing a centrifuge for fluid extraction. To accomplish such balance control, sensor measurement data may be utilized to assess the immediate balance conditions and determine the course of balance control. Related sensor responses to balance control actions may be modeled to determine the specific future control actions. In making sensor measurements, relevant acceleration and force data may be obtained from sensors on a rotating device with a narrow band pass filtering function that is tunable in real time to the speed of rotation. The band pass function can be accomplished through correlation of the sensor signal with a sinusoid referenced to the position of the rotating device.  
           [0012]    By obtaining at least one known position of the rotating device, data can be measured and calculated with respect to that position. Creating two summations correlates measured points: an X summation and a Y summation. The X summation is generally one revolution of data points multiplied by a cosine reference term with respect to the position of the rotating device. The Y summation is generally one revolution of data points multiplied by a sine reference term with respect to the position of the rotating device. For a reasonable filtered or correlated result, two or three revolutions of data can be collected utilizing a direct memory access. A correlation can be then performed on the complete data set. This approach takes a great deal of time, both in process and delay time, while waiting for the device to rotate. This time can be critical because the balance condition is constantly changing. Additionally, variation in rotational speed can impact correlated results, yet a check is not available to validate the correlated result.  
           [0013]    Thus, there exists a need for a method and system for implementing a correlation filter function in a manner that reduces computation and process delay times, thereby providing a quality measure of the correlated result. The present invention described herein overcomes these obstacles through the use of specially-indexed sinusoidal reference tables representing a fixed number of data points per signal period, independent of rotational speed, and through the use of quality parameters based on actual versus expected data samples per signal period.  
         BRIEF SUMMARY OF THE INVENTION  
         [0014]    The following summary of the invention is provided to facilitate an understanding of some of the innovative features unique to the present invention and is not intended to be a full description. A full appreciation of the various aspects of the invention can be gained by taking the entire specification, claims, drawings, and abstract as a whole.  
           [0015]    In accordance with addressing the shortcomings of the prior art, it is one aspect of the present invention to provide methods and systems in which rotatable members can achieve balanced conditions throughout a range of rotational speeds.  
           [0016]    It is another aspect of the present invention to provide methods and systems for dynamically balancing rotatable members through the continual determination of out-of-balance forces and motion to thereby take corresponding counter balancing action.  
           [0017]    It is still another aspect of the present invention to provide dynamic correlation extensions and improvements for a self-balancing rotatable apparatus.  
           [0018]    In accordance with various aspects of the present invention, methods and systems are discussed herein for dynamically balancing a rotating system utilizing filtered sensor signals, wherein the rotating system contains sensors therein. A sine table and a cosine table is created based on a particular number of measured data points per revolution of the rotating device and referenced to the rotational position. Data contained within the sine and cosine tables are then correlated in real time with sensor signals to obtain sensor measurements associated with a balance condition of the rotating device. The dynamically correlated data can be thereby utilized to build a rotating system control model as well as influence the course of dynamic balance control. An error calculation based on a sample size and the number of samples obtained since a last index pulse can be utilized to compute the validity of the data. An index can be associated with the reference sine table and an additional index associated with the cosine reference table. Each of the indexes can be formulated based on an angle per index, which in turn is based on a particular number of measured data points desired per signal period divided by 360 degrees. At least one sine element and at least one cosine element are respectively calculated for an index associated with the sine table and the index associated with the cosine table. The sine and cosine tables can be combined into one table to thereby reduce memory required to dynamically correlate the signal data with the data contained within the sine and cosine tables.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0019]    The accompanying figures, in which like reference numerals refer to identical or functionally-similar elements throughout the separate views and which are incorporated in and form part of the specification, further illustrate the present invention and, together with the detailed description of the invention, serve to explain the principles of the present invention.  
         [0020]    [0020]FIG. 1 depicts a plot of a non-linear system, in accordance with preferred embodiments of the present invention;  
         [0021]    [0021]FIG. 2 illustrates a graphical representation of a nonlinear system and the effect of system noise with which the present invention must be concerned;  
         [0022]    [0022]FIG. 3 depicts a schematic representation of a washing machine, which may be adapted for use in association with the present invention;  
         [0023]    [0023]FIG. 4 illustrates a spring and mass illustration depicting the manner in which a nonrigid washing machine can behave if mounted on nonrigid structures;  
         [0024]    [0024]FIG. 5 depicts a three dimensional schematic representation of the forces and critical lengths along an axis of rotation, which has been extended along a length of the shaft and through a length of the drum;  
         [0025]    [0025]FIGS. 6 and 7 depict a graphical representation of a shaft with measured forces and accelerations;  
         [0026]    [0026]FIG. 8 illustrates a high-level flow chart of operations describing operational steps for indexing sine and cosine elements based on the number of samples per revolution, in accordance with preferred embodiments of the present invention;  
         [0027]    [0027]FIG. 9 depicts a high-level flow chart of operations illustrating operational steps for creating a dynamic summation utilizing indexing and arrays, in accordance with preferred embodiments of the present invention; and  
         [0028]    [0028]FIG. 10 illustrates a high-level flow chart of operations illustrating operational steps for determining the accuracy of measurements, in accordance with preferred embodiments of the present invention.  
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0029]    The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate embodiments of the present invention and are not intended to limit the scope of the invention.  
         [0030]    The present invention is generally an improvement of the invention disclosed in U.S. Pat. No. 5,561,993. The basic configuration and concepts explained in U.S. Pat. No. 5,561,993 are discussed herein but in no way limit the scope of the invention described and claimed herein. Features revealed in U.S. Pat. No. 5,561,993 are presented herein for illustrative purposes only in order to explain the foundation from which the present invention was derived. Those skilled in the art can appreciate that such features, including figures, text, descriptions, equations and tables thereof, do not limit the scope of the present invention, as described and claimed herein.  
         [0031]    [0031]FIG. 1 depicts a plot of a non-linear system  1 , in accordance with preferred embodiments of the present invention. Given a very simple (e.g., one-dimensional) non-linear system, such as non-linear system  1 , the system can be balanced when the sensor measurement, f(m), is driven to zero. The objective of such a system is to find a value for a counterbalance Δm, such that the sensor measurement, f(m), is driven to zero, i.e. f(m)=0. Utilizing a Taylor&#39;s series expansion in the vicinity of the anticipated operating range and neglecting second order and higher terms, results in a linear model: straight line of the form y=b+mx. The system can be perturbed, Δm cb , to determine the slope of the linear model, and the counterbalance Δm for driving f(m) to zero can be estimated. The linear model can be written to reflect the example illustrated in FIG. 1, where several possible line estimates are shown; equation 1 expresses this relationship.  
               f        (     m   next     )       ≈       f        (     m   aftertest     )       +       (       ∂     f        (   m   )           ∂   m       )     ·     (       m   next     -     m   aftertest       )                 (   1   )                               
 
         [0032]    Those skilled in the art can appreciate that f(m next ) represents the desired sensor measurement. In addition, f(m after test ) can represent the sensor measurement after placement of a test mass or a prior balance-control action. The variable m generally represents the out of balance in the system. For example, the variable m aftertest  generally represents the out-of-balance mass after placement of a test weight (Δm test ), and the change in m, (i.e., Δm=m next -m aftertest ), is the counterbalance mass required to achieve a desired sensor measurement, (f(m next )=0). The control action involves moving in the direction of the estimated counterbalance and updating the system model and the required counterbalance estimate as control progresses. Those skilled in the art can appreciate that this control implementation of equation 1 represents the well-known Newton Raphson iteration method.  
         [0033]    Because the objective is to find f(m next )=0, the general form of the equation reduces to:  
               m   next     =       m   aftertest     -         [       ∂     f        (   m   )           ∂   m       ]       -   1       ·     f        (     m   aftertest     )                   (   2   )                               
 
         [0034]    where m next  is the solution or system out of balance needed to make f(m next )=0 or drive the sensor measurement to zero. Thus, the estimated mass change m cb  generally required for counterbalance action is illustrated in equation 3.  
               m   cb     =         m   next     -     m   aftertest       =       -     f        (     m   aftertest     )         /     (         ∂   f       d                 m            (     m   aftertest     )       )                 (   3   )                               
 
         [0035]    The partial derivative, or slope of the sensor function, can be found by perturbing the system. This may be generally illustrated in equation 4, which represents the change in sensor measurements due to placement of the test weight (Δm test =m after test −m beforetest ).  
                   ∂   f       d                 m            (     m   aftertest     )       =         f        (     m   aftertest     )       -     f        (     m   beforetest     )             m   aftertest     -     m   beforetest                 (   4   )                               
 
         [0036]    Combining equations 3 and 4 can result in a generalized form shown in equation 5 below, which is generally expressed in an expanded notion of multiple inputs and outputs.  
               [     f        (     m   aftertest     )       ]     =       -     [       ∂     f        (   m   )           ∂   m       ]       ·     [     Δ                   m   solution       ]               (   5   )                               
 
         [0037]    Regarding the linear models and associated slope calculation in FIG. 1, it can be appreciated that a change in mass may result in a change in the system, and the system itself may be nonlinear; thus, the linear model utilized to determine the next counterbalance may contain one or more significant errors. Therefore, when applying the Newton Raphson iteration to a process, certain requirements should be followed. First, the initial approximation should be sufficiently accurate to result in subsequent operation near a desired solution and the measurement f(m) should be smooth, nearly linear and single-valued in the vicinity of the anticipated operation. Additionally, because higher derivatives of force are neglected in this type of approximation, the higher derivatives should be small so as to avoid convergence problems.  
         [0038]    Lastly, in applications of the Newton Raphson iteration, only one solution of mass m should exist for the sensor measurement being equal to zero. This means that there is only one root. Even following the above requirements, system noise may be a concern. In the hypothetical illustration of FIG. 2, a larger initial test weight, which changes the system to point C, is preferable to one that changes it to point B. This can be evidenced by comparing the slopes of lines  22 ,  24  and  26 , which result from the various test mass perturbations depicted in FIG. 2. The difference between the before and after test measurement should be large enough to obtain a good approximation of the slope of the function and ensure that the resulting change in the measurement dominates the changes due to system noise.  
         [0039]    [0039]FIG. 3 depicts a schematic representation of a washing machine used to illustrate the concepts in U.S. Pat. No. 5,561,993, which may be adapted for use in association with the present invention. Those skilled in the art can appreciate that the present invention may be implemented within a rotating device or rotating system, such as, for example, a washing machine. Those skilled in the art can further appreciate, however, that other types of rotatable systems or rotating devices may be utilized in accordance with the present invention. Note that as utilized herein, the terms “rotating system,” “rotating device,” “rotating apparatus,” “rotatable apparatus,” “rotatable system,” or “rotatable device” may be utilized interchangeably. Note that one type of a rotating system or rotating device that may be utilized in accordance with the methods and systems of the present invention is a washing appliance, such as, for example, a washing machine, dishwasher, or circuit board washing device. Such washing appliances are of course, not limiting features of the present invention. The present invention may apply to a variety of different washing appliances. The basic mechanism of dynamic balancing involves counter balancing the out-of-balance load by injecting water into a plurality of cups placed at front and back axial planes, identified by reference numbers  80  and  82  in FIG. 3, of the rotatable drum. Although the test mass or “mass” utilized to describe a preferred embodiment of the present invention may be a fluid mass, those skilled in the art can appreciate that such a mass may be comprised of many different materials, and the invention is not limited to fluid-based injection for placing mass.  
         [0040]    [0040]FIG. 3 thus schematically illustrates a washing machine comprising a frame  50 , a shaft  52  and a rotatable drum  54 . Shaft  52  is attached to rotatable drum  54 . These two components can be attached to a rotor or pulley  56  of a motor drive. Frame  50  provides a support for a bearing housing  58  in which bearings,  60  and  62 , are generally supported. A housing mount  64  supports bearing housing  58 . A plurality of sensors identified by the reference numeral  70  is illustrated at a location between housing mount  64  and bearing housing  58  in FIG. 3. These sensors are described in greater detail below. Beneath frame  50  are generally shown a carpet and pad  74 , a plywood support member  76  and a plurality of joists  78 . The representation shown in FIG. 3 illustrates a typical application of a horizontal washing machine in a residential housing application. Those skilled in the art can appreciate that FIG. 3 is presented for illustrative purposes only and that a variety of washing machine configurations and other rotating devices not illustrated herein may be utilized to implement varying embodiments of the present invention.  
         [0041]    With continued reference to FIG. 3, the rotatable drum  54  is shown having a plurality of schematically illustrated back cups  80  and front cups  82 . Both the front and back cups are disposed at axial ends of the rotatable drum  54  and, although not shown in FIG. 3, both the front and back cups can comprise a plurality of cups dispersed around the periphery of the drum. A quantity of liquid such as water can be injected into the cups from a stationary control valve supplied with water, such as those identified by reference numerals  90  and  92 .  
         [0042]    [0042]FIG. 4 illustrates a simplified schematic mass and spring representation of a washing machine such as that shown in FIG. 3. Some balancing systems assume that the machine is attached rigidly to an immovable object or footing, such as a concrete floor. In most practical residential housing applications, however, the machine is not rigidly attached to an immovable object and, instead, is associated with a plurality of flexible members. For example, FIG. 4 depicts a schematic representation of a type of arrangement usually encountered in washing machine applications. FIG. 4 thus illustrates a spring and mass illustration depicting the manner in which a nonrigid washing machine can behave if mounted on nonrigid structures.  
         [0043]    The behavior of frame  50  in relation to footing  79  can be described as a spring representing frame  50  and floor  76  and having a spring constant K 1 . The relationship between a tub  53  (not shown in FIG. 3) surrounding the rotatable drum  54  and frame  50  can be described by a spring constant K 2 . A spring constant K 3  represents the relationship between bearing housing  58  and housing mount  64  and frame  50  in FIG. 3. Lastly, FIG. 4 illustrates a spring constant K 4  that represents the bending of shaft  52  along with rotatable members  54  and  56 .  
         [0044]    Although only represented by boxes in FIG. 4, the schematic illustration depicts a multitude of mass-spring subsystems defining the relationships between major components of the overall system. One purpose of the FIG. 4 illustration is to demonstrate that the relationships between these components are not rigid and, as a result, permit motion, resulting in accelerations, to occur in response to forces exerted on the various components. Therefore, if the system is not rigid and only forces are measured by the sensors  70  shown in FIG. 3, accurate counterbalance determinations would be extremely difficult, if not impossible, to make.  
         [0045]    [0045]FIG. 5 illustrates a three-dimensional schematic representation of the forces and critical lengths along the axis of rotation, which has been extended along the length of the shaft and through the length of the drum. Force sensors may be mounted to measure the force transmitted between housing mount  64  and bearing housing  58 , as illustrated in FIG. 2. The basic concept of dynamic balancing stipulates that vector forces at the front and back cups may represent an out-of-balance condition. Referring to FIG. 5, the system may be provided with a mechanism for sensing a first force F backsensor  at a first location  100  of the axis of rotation and a second mechanism for measuring a second force F frontsensor  at a second location  102  of the axis of rotation. It should be understood that both the first and second forces shown in FIG. 5 are likely to be determined from a plurality of force sensors arranged so the resultant force vectors along multiple axes of the system can be determined at each of the first and second locations,  100  and  102 , of the axis of rotation.  
         [0046]    If a washing machine or similar apparatus with a rotating member is rigidly attached to an unmovable object, such as a concrete floor, in such a manner that movement of the machine was prevented, a mere force and moment analysis based on forces and moment arms shown in FIG. 5 would be appropriate and could yield sufficient information to allow the counterbalance forces to be implemented in a manner that would achieve a balance of a rotating drum  54 . As discussed above, however, in association with FIGS. 3 and 4, it is not practical to expect a machine of this type to be installed and operate without motion being experienced by the various portions of the machine. Therefore, it may be beneficial to measure motion relative to a footing or inertial space (e.g., acceleration) and account for it in the analysis of forces.  
         [0047]    [0047]FIGS. 6 and 7 show the measurement of forces and accelerations in three-dimensional space at various locations along the shaft  52 . Viewing FIGS.  6  and  7  together, it can be seen that the forces and accelerations can be measured at two coincident locations on the shaft  52 . It can be appreciated, however, that this coincidence of the first force and the first acceleration or the second force and the second acceleration are not requirements of the present invention. At each of the first and second locations,  100  and  102 , the effects of rotating out-of-balance forces are determined along the horizontal (h) and vertical (v) coordinates. It can be appreciated by those skilled in the art that the coordinates illustrated in FIGS. 6 and 7 represent the fact that the concepts in U.S. Pat. No. 5,561,993 and the present invention operate with information describing the forces in terms of a magnitude, a fixed direction and an associated rotating drum angle. Similarly, the motion (e.g., accelerations) may also be expressed as a magnitude along a fixed direction with an associated rotating drum angle.  
                   TABLE I                       VARIABLE   MEANING                   Inputs           Δm front     —     cb     test counterbalance mass placed in the front plane           (vector)       Δm back     —     cb     test counterbalance mass placed in the back plane           (vector)       ωback   speed of rotation in (rad/sec) at which the back plane test           counterbalance occurred       ωfront   speed of rotation in (rad/sec) at which the front plane test           counterbalance occurred       R   radius of counterbalance placement (inches)       ω   current speed of rotation       Outputs       f back     back force sensor (lbf) (vector)       f front     front force sensor (lbf) (vector)       a back     back accelerometer sensor (in/sec 2 ) (vector)       a front     front accelerometer sensor (in/sec 2 ) (vector)       Actions       m backplane     —     cb     estimated backplane counterbalance to drive sensor           readings to zero (vector)       M frontplane     —     cb     estimated frontplane counterbalance to drive sensor           readings to zero (vector)                  
 
         [0048]    For the following discussion, Table I illustrates the inputs and outputs used in the multi-input/multi-output condition relating to the invention discussed in U.S. Pat. No. 5,561,993. In order to find the appropriate solutions for the counterbalance forces described above in conjunction with FIG. 4, the measured forces and accelerations should be considered in the balancing of the system forces and moments. As described above, the counterbalance masses, forces and accelerations represent magnitudes and angles. Therefore, all variables shown in Table I, except r and ω, generally comprise both a magnitude and an angle in polar coordinates, which can be converted to complex coordinates. The relationship described in equation 5 above can be rewritten for the multi-input/multi-output case to result in four coupled simultaneous equations, incorporating the effects of perturbations in both front and back planes that could have occurred at rotational speeds slightly different from the current speed. These four relationships are shown below and are identified as equation 6 below.  
                       a   back4     =                    -     (         a   back1     -     a   back0           r   ·     ω   back   2     ·   Δ                     m       back   –        cb           )       ·   r   ·     ω   2     ·     m       backplane   –        cb         -                                (         a   back3     -     a   back2           r   ·     ω   front   2     ·   Δ                     m       front   –        cb           )     ·   r   ·     ω   2     ·     m       frontplane   –        cb                      
                  a   front4     =                    -     (         a   front1     -     a   front0           r   ·     ω   back   2     ·   Δ                     m       back   –        cb           )       ·   r   ·     ω   2     ·     m       backplane   –        cb         -                                (         a   back3     -     a   back2           r   ·     ω   front   2     ·   Δ                     m       front   –        cb           )     ·   r   ·     ω   2     ·     m       frontplane   –        cb                      
                  f   back4     =                    -     (         f   back1     -     f   back0           r   ·     ω   back   2     ·   Δ                     m       back   –        cb           )       ·   r   ·     ω   2     ·     m       backplane   –        cb         -                                (         f   back3     -     f   back2           r   ·     ω   front   2     ·   Δ                     m       front   –        cb           )     ·   r   ·     ω   2     ·     m       frontplane   –        cb                      
                  f   back4     =                    -     (         f   front1     -     f   front0           r   ·     ω   back   2     ·   Δ                     m       back   –        cb           )       ·   r   ·     ω   2     ·     m       backplane   –        cb         -                                (         f   front3     -     f   front2           r   ·     ω   front   2     ·   Δ                     m       front   –        cb           )     ·   r   ·     ω   2     ·     m       frontplane   –        cb                         (   6   )                               
 
         [0049]    The four relationships are generally grouped together as a single equation since they can be treated as a matrix in the following discussion. The meanings of the subscripts in equation 6 above are identified in Table II.  
                   TABLE II                       SUBSCRIPT   MEANING                   0   Measurement prior to backplane counter-balance test mass           Δm back     —     cb         1   measurement after backplane counter_balance test mass           Δm back     —     cb         2   measurement prior to frontplane counterbalance test mass           Δm front     —     cb         3   measurement after frontplane counterbalance test mass           Δm front     —     cb         4   current sensor measurement                  
 
         [0050]    The relationships shown above in equation 6 can be applied to equation 5 in matrix form as:  
                     [           a   back4               a   front4               f   back4               f   front4           ]     =                  -     [               a   back1     -     a   back0           r   ·     ω   back   2          Δ                   m       back   –        cb                     a   back3     -     a   back2           r   ·     ω   front   2          Δ                   m       front   –        cb                         a   front1     -     a   front0           r   ·     ω   back   2          Δ                   m       back   –        cb                     a   front3     -     a   front2           r   ·     ω   front   2          Δ                   m       front   –        cb                         f   back1     -     f   back0           r   ·     ω   back   2          Δ                   m       back   –        cb                     f   back3     -     f   back2           r   ·     ω   front   2          Δ                   m       front   –        cb                         f   front1     -     f   front0           r   ·     ω   back   2          Δ                   m       back   –        cb                     f   front3     -     f   front2           r   ·     ω   front   2          Δ                   m       front   –        cb                 ]       ·                                [           m       backplane   –        cb                 m       frontplane   –        cb             ]     ·   r   ·     ω   2                     (   7   )                               
 
         [0051]    Where we describe this matrix equation as being in the form b=Ax and  
             A   =       -       ∂     f        (   m   )           ∂   m         =     -     [               a   back1     -     a   back0           r   ·     ω   back   2          Δ                   m       back   –        cb                     a   back3     -     a   back2           r   ·     ω   front   2          Δ                   m       front   –        cb                         a   front1     -     a   front0           r   ·     ω   back   2          Δ                   m       back   –        cb                     a   front3     -     a   front2           r   ·     ω   front   2          Δ                   m       front   –        cb                         f   back1     -     f   back0           r   ·     ω   back   2          Δ                   m       back   –        cb                     f   back3     -     f   back2           r   ·     ω   front   2          Δ                   m       front   –        cb                         f   front1     -     f   front0           r   ·     ω   back   2          Δ                   m       back   –        cb                     f   front3     -     f   front2           r   ·     ω   front   2          Δ                   m       front   –        cb                 ]                 (   8   )                               
 
         [0052]    Equations 6, 7 and 8 depict the mathematical model that was developed and described in U.S. Pat. No. 5,561,993. This mathematical model is formulated such that the dynamics of the system are divided into two columns based on whether mass is placed in the front plane (i.e., column 2) or the back plane (i.e., column 1) of the spinner. The present invention disclosed herein may be used with this control model or like extensions, the more general solution of which allows for the placement of mass in both the front and the back plane simultaneously and covers the case where more than two inputs to the system may be utilized.  
         [0053]    The equation relationships shown in equation 7 can be rewritten in matrix format to solve for the counterbalance masses, m backplane     —     cb  and m frontplane     —     cb , required to bring the system into balance in the same manner as described in U.S. Pat. No. 5,561,993. For the case of four sensors and using the A matrix of equation 8, this can be expressed through equation 9 as:  
               r   ·   ω   ·     [           m       backplane   –        cb                 m       frontplane   –        cb             ]       =       -     A   +       ·     [           a   back               a   front               f   back               f   front           ]               (   9   )                               
 
         [0054]    In a situation such as that described by equation 9 above, where two accelerations and two forces are known from measurements and two counterbalanced forces are unknown, there are more equations than unknowns. Each sensor provides an equation, while there are only two unknown counterbalance forces for the front and back planes of the drum. Therefore, the system is over determined and a technique is required to solve for more equations than unknowns in an optimal manner. The technique for solving equations of this type in a balancing scheme should find a solution that minimizes all of the sensor readings and also minimizes the amount of counterbalance action required to balance the rotating system or rotating device. In other words, the force sensors and the accelerometers should all be driven as close to zero as possible by the selected counterbalances, and the total amount of counterbalance actions taken should be minimized.  
         [0055]    Those skilled in the art can appreciate that a mathematical technique, which may solve this problem, involves computation of the pseudo inverse of the A matrix (A + ) utilizing the singular value decomposition (SVD) technique. This solution method finds the optimal solution to the inconsistent system represented simply by equation 9. The SVD is one of several techniques that can support the pseudo-inverse calculation for control. It can provide optimal control for both inputs and outputs of the modeled system. Other variations of the components that make up the SVD may be used alone but would not provide both input and output optimization. This procedure is fully described in U.S. Pat. No. 5,561,993 and is well known to those skilled in the art and is described in significant detail in various reference linear algebra textbooks.  
         [0056]    After generating the solution to equation 9, it may be necessary to formulate a practical approach to applying the counterbalance mass to the rotating member. Further, after the control action is applied, it may be necessary to evaluate the member to verify that the control action had the desired balancing affect. In an ideal system the force applied to the rotating portion of the member is linearly related to the force and motion that the sensors measure. In this ideal system the placement of the optimal counterbalances determined by solving the system in the manner described herein should drive all the sensors to zero and achieve perfect balance of the rotating member. For various reasons, however, it is not expected that an ideal system exists. An approach to applying counterbalance and verifying the control action effect is fully described in U.S. Pat. No. 5,561,993, which is incorporated herein by reference. Those skilled in the art can appreciate that the approaches to applying counterbalance and verifying the control action effect, which were disclosed in U.S. Pat. No. 5,561,993, do not limit the scope of the present invention. The features, techniques, methods and systems disclosed in U.S. Pat. No. 5,561,993 are described herein for illustrative and background purposes only.  
         [0057]    Relevant to the present invention is the sensing aspect of U.S. Pat. No. 5,561,993: forces and accelerations of interest are actually rotating vectors. That is, they are fixed with respect to the rotating members of the system and rotate at the rotational speed with respect to the stationary members of the system. Thus, the desired information has a constant magnitude and angle regarding the rotating reference frame of the rotational members that is then superimposed by a periodic component regarding the stationary reference frame that supports the rotating members. In the preferred embodiment described above, sensors for obtaining this information can be attached to the stationary members, as illustrated in FIGS. 3 and 5. It is important to understand that the present invention is not limited to this particular sensor attachment. Depending on the dynamics of the system, not only could sensors be located on other parts of the stationary members, but may also be mounted on parts of the rotating members of the system.  
         [0058]    The signals from the sensor measurements may be comprised of a sinusoidal waveform with a constant offset bias and corrupted by measurement noise as well as harmonically related system noise. The signal component of interest is the sinusoidal component at the frequency matching the speed of rotation. Known data acquisition techniques can be used to acquire the data in a digital format, including AC coupling to eliminate the constant offset bias, amplification as needed, and low pass filtering to prevent aliasing in the event the data is digitized. Additional corruption of the sensor signals can be eliminated with a narrow band pass function that is tunable in real time to the speed of rotation. The band pass function also rejects external disturbances that can occur at frequencies other than the rotating frequency. Signal conditioning should introduce insignificant or known fixed delays to the sensed data. Certain aspects of the signal conditioning can be performed with analog or digital techniques.  
         [0059]    The band pass function can be accomplished through correlation of the sensor signal with a sinusoid referenced to the position of the rotating device. By having at least one known position of the rotating device, data can be measured and calculated with respect to that position. Measured points may be correlated by creating two summations: an X summation and a Y summation. The X summation is generally one revolution of data points multiplied by a cosine reference term with respect to the position of the rotating device. The Y summation is generally one revolution of data points multiplied by a sine reference term with respect to the position of the rotating device. For a reasonable filtered or correlated result, two or three revolutions of data are generally collected utilizing a direct memory access, and the correlation is performed on the complete data set. This approach takes a great deal of time, both in process and delay time, while waiting for the device to rotate; this time can be critical in that the balance condition is changing. Additionally, variation in rotational speed can impact correlated results, yet no check is available on the validity of the correlated result.  
         [0060]    The present invention is thus generally an improvement to the band pass filter concepts described by U.S. Pat. No. 5,561,993. The present invention improves the method and system for implementing the correlation filter function through reduced computation time and operations, reduced time waiting for data collection due to real-time correlation, i.e., dynamic, and by providing a quality measure of the correlated result.  
         [0061]    [0061]FIG. 8 illustrates a high-level flow chart  200  depicting operational steps for indexing sine and cosine elements based on the number of samples per revolution, in accordance with preferred embodiments of the present invention. The process is initiated, as indicated at block  202 . FIG. 8 thus depicts a first correlation method, according to the present invention, which involves the creation of sine and cosine tables based on a number of samples per revolution, as illustrated at block  204 . As depicted at block  206 , each index may be represented by the following formulation: 
         (360 degrees)/(number of samples)=(angle per index) 
         [0062]    The sine and cosine element can be then calculated for each index, as depicted at block  208 . Indexing into these tables reduces computation time but generally requires memory. If reducing memory is an important factor, as indicated at block  210  the two tables can be reduced to one table by adding an offset to the index to obtain a cosine term from a sine table, as illustrated thereafter at block  212 . The two tables can be reduced to one table in this manner because a cosine of an angle is equivalent to the sine of an angle plus ninety degrees. If reduction in memory is not required, the process simply terminates, as depicted at block  226 . The offset may be calculated, as described at block  214 , according to the following formulation: 
         (90 degrees)/(angle per index)=offset 
         [0063]    If the offset plus the index is greater than the number of samples, as illustrated at block  216 , the number of samples can be subtracted from the offset plus the index, as indicated thereafter at block  218 . If the offset plus the index is not greater than the number of samples, the sum is used as is and the process terminates, as depicted at block  226 .  
         [0064]    It may be necessary to reduce both computation and memory. If so, then the operation depicted at block  224  may be processed. If not, the process simply ends, as indicated at block  226 . To reduce both computations and memory (one table size), one table may be created which ranges from 0 to 450 degrees, which results in only one addition for the cosine term, as illustrated at block  224 . The index angle plus 90 degrees at 360 degrees is thus equivalent to 450 degrees. Following processing of the operation described at block  224 , the process then ends.  
         [0065]    [0065]FIG. 9 depicts a high-level flow chart  250  illustrating operational steps for creating a dynamic, i.e., real-time, summation utilizing indexing and arrays, in accordance with preferred embodiments of the present invention. The process is initiated, as indicated at block  252 . A dynamic sum is created, as indicated at block  254 , utilizing the same indexing technique described herein with reference to FIG. 8. Additionally, as illustrated at block  256 , two arrays can be created, one of cosine or X values, and one of sine or Y values. These arrays can be utilized in the creation of the dynamic X and Y correlation sums. When a device, such as the self-balancing rotatable apparatus described herein, senses a known position, that position is determined to be angle 0, as illustrated at block  258 . If the device has more than one position sensor, this technique can also be utilized with greater accuracy.  
         [0066]    The sine and cosine product terms may be then calculated and placed into the 0 index, X and Y elements of each array, as described at block  260 . These values may be then added to an X Summation and a Y Summation, as illustrated at block  262 . Values that were previously in the array may be removed and subtracted from the corresponding X Summation and Y Summation, as illustrated at block  264 . Whether the new values are added first, or the old values are subtracted first, does not matter because the order does not result in a difference in the outcome. The next sample is determined by the sample rate, which is calculated by the speed of the machine, as illustrated at block  266 . When the next sample is taken, the index is incremented and the process may then be repeated, as indicated at block  268 . The process can continue through the revolution until the position is sensed, as depicted at block  270 . The process may then terminate, as illustrated at block  272 .  
         [0067]    At any time during the process, the X Summation and the Y Summation are available and can be utilized to calculate the angle and magnitude of the sensed out of balance. The magnitude is generally the square root of the following: 
         (X Summation squared+Y Summation squared) 
         [0068]    The angle may be calculated by the inverse tangent of the following: 
         (Y Summation/X Summation) 
         [0069]    The result may be placed into the correct quadrant, because it is rotating 360 degrees. At least one revolution of data is always maintained within the sum. Therefore, such calculations can occur dynamically, i.e., in real-time. There is no longer the need to wait for revolutions of data to be collected.  
         [0070]    [0070]FIG. 10 depicts a high-level flow chart  300  illustrating operational steps for determining the accuracy of measurements, in accordance with preferred embodiments of the present invention. The process may be initiated, as depicted at block  302 . As indicated at block  304 , a determination is made whether or not the position sensor has been triggered. If the position sensor has not been triggered, then the process can simply terminate, as indicated at block  318 .  
         [0071]    If the position sensor is triggered, then, as illustrated at block  306 , the position by design may now be set to 0. Thereafter, as described at block  308 , a test may be performed to determine if the index is equal to the number of samples. If so, then, as illustrated thereafter at block  310 , the summations are valid. The process can then terminate, as illustrated at block  318 , following completion of the operation depicted at block  310 . If the index does not equal the number of samples, then an error may be present, as indicated at block  314 . The error may be due to the fact that the machine (i.e., a self-balancing rotatable apparatus) generally changes speed during the revolution. The error may be calculated, as depicted at block  316  based on the following general formulation: 
         (number of samples−index)/number of samples 
         [0072]    The process may then terminate, as illustrated at block  318 .  
         [0073]    Those skilled in the art can appreciate, based on the foregoing, that variations to the methods and systems presented herein may be performed, while still falling within the scope of the present invention. If the error calculation is small, for example, the X and Y summations may be utilized to calculate magnitude and angle of the filtered sensor signal. To obtain an accurate summation, the old summation may be discarded and the system can wait another revolution. Another technique for obtaining accurate summations is to use the X and Y values, index through the array, multiply each value by an error factor for scaling, and compute the X and Y summations.  
         [0074]    The embodiments and examples set forth herein are presented to best explain the present invention and its practical application and to thereby enable those skilled in the art to make and utilize the invention. Those skilled in the art, however, will recognize that the foregoing description and examples have been presented for the purpose of illustration and example only. Other variations and modifications of the present invention will be apparent to those of skill in the art, and it is the intent of the appended claims that such variations and modifications be covered. The description as set forth is not intended to be exhaustive or to limit the scope of the invention. Many modifications and variations are possible in light of the above teaching without departing from the spirit and scope of the following claims. It is contemplated that the use of the present invention can involve components having different characteristics. It is intended that the scope of the present invention be defined by the claims appended hereto, giving full cognizance to equivalents in all respects.