Abstract:
Systems and methods may be used to determine gain compensation and/or bias compensation for gyroscopes in the field where access to specialized calibration tools is limited.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    Micro-Electro-Mechanical Systems (MEMS) rate gyroscope (gyros) may be susceptible to a bias error. In the absence of a bias error, the output of a stationary (not rotating) gyroscope should be zero. However, a bias error will cause some amount of output signal from the stationary gyroscope. If uncompensated, such bias errors can lead to large drift errors when used in a navigation device. Typically, the gyroscope is calibrated at the factory before installation in the field. A traditional method to reduce gyroscope bias is to perform a calibration while the gyroscope is stationary. 
         [0002]    However, bias errors may not remain constant over time. Accordingly, bias compensation for the gyroscope determined during a factory calibration process may not permanently correct the gyroscope bias. Thus, there may be a need to periodically recalibrate the gyroscope in the field in order to maintain accuracy. 
         [0003]    Additionally, the gyroscope may be subject to gain errors. A gain error relates to the accuracy of an amount of degrees of rotation sensed by the gyroscope. For example, if a gyroscope is rotated by 360°, then its output should correspond to 360° of rotation. If the gyroscope has a gain error, the gyroscope output would not correspond to the actual amount of rotation. For example, if the gyroscope has a +10% gain error, the output of the gyroscope would correspond to 396° for an actual rotation of 360°. In this example, gain error compensation is required for an accurate gyroscope output. 
         [0004]    Typically, the gyroscope is calibrated at the factory before installation in the field to compensate for gain error. However, there may be a need to periodically recalibrate the gyroscope in the field to compensate for gain error in order to maintain accuracy. 
       SUMMARY OF THE INVENTION 
       [0005]    Systems and methods may be used to determine gain compensation and/or bias compensation for gyroscopes in the field where access to specialized calibration tools is limited. An exemplary embodiment rotates a sensor platform with at least one gyroscope thereon, and with at least one of an accelerometer and a magnetometer thereon, determines a measured rotation based upon the rotation sensed by the at least one gyroscope, derives a rotation based upon the changes in the earth&#39;s gravitational field sensed by the at least one accelerometer, derives a rotation based on the changes in the earth&#39;s magnetic field sensed by at least one magnetometer, and determines at least one of a compensation gain and a compensation bias for the at least one gyroscope based upon the determined observed rotation and the derived rotation. 
         [0006]    In accordance with further aspects, an exemplary embodiment has at least one gyroscope mounted on a sensor platform and configured to sense a rotation of the sensor platform, at least one accelerometer mounted on the sensor platform and configured to sense changes in the earth&#39;s gravitational field due to rotation, and at least one magnetometer mounted on the sensor platform and configured to sense changes in the earth&#39;s magnetic field due to the rotation of the sensor platform, and a processor system operable to receive information corresponding to the sensed rotation from the at least one gyroscope and the at least one accelerometer and magnetometer. The processor system determines a measured rotation based upon the rotation sensed by the at least one gyroscope, derives a rotation based upon the changes sensed by the at least one accelerometer and magnetometer, and determines at least one of a compensation gain and a compensation bias for the at least one gyroscope based upon a comparison of the determined observed rotation vector from the at least one gyroscope with the derived rotation vectors from the at least one accelerometer and the at least one magnetometer. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]    Preferred and alternative embodiments are described in detail below with reference to the following drawings: 
           [0008]      FIG. 1  is a block diagram of an embodiment of the field calibration system; 
           [0009]      FIG. 2  is a conceptual perspective view of the gyroscopes, the accelerometers, and the magnetometers in an exemplary embodiment of the field calibration system; and 
           [0010]      FIG. 3  is a conceptual perspective view of a gyroscope rotation vector and two independent rotation vectors. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0011]      FIG. 1  is a block diagram of an embodiment of a field calibration system  100 . An exemplary embodiment of the field calibration system  100  includes a sensor platform  102  with a plurality of gyroscopes  104 , a plurality of accelerometers  106 , and a plurality of magnetometers  108  thereon. During calibration, the sensor platform  102  is rotated in three dimensional space, referred to herein interchangeably as a calibration rotation. The field calibration system  100  senses the rotation of the sensor platform  102 , and based upon the rotation sensed by the gyroscopes  104 , the accelerometers  106 , and the magnetometers  108 , determines bias compensation and gain compensation for one or more of the gyroscopes  104 . 
         [0012]    In an exemplary embodiment, the field calibration system  100  determines rotation of at least two independent rotation vectors based upon changes sensed by the accelerometers  106  and/or magnetometers  108 . The determined independent rotation vectors are used to determine an observed rotation vector Om. During the calibration rotation, the output from the gyroscopes is used to determine a corresponding measured rotation vector Og. Comparison of the determined measured rotation vector Om with the observed gyroscope rotation vector Og allows determination of the bias compensation and/or the gain compensation for the gyroscopes. When a plurality of gyroscopes  104  are mounted on the sensor platform  102 , bias compensation and/or the gain compensation may be determined for all of the gyroscopes  104  at the same time, or the compensation for individual gyroscopes may be determined separately based upon a plurality of calibration rotations. 
         [0013]    The exemplary field calibration system  100  further includes a processor system  110  and a memory  112 . The gyroscopes  104 , the accelerometers  106 , the magnetometers  108 , the processor system  110 , and the memory  112  are communicatively coupled to a communication bus  114 , thereby providing connectivity to the above-described components. In alternative embodiments of the field calibration system  100 , the above-described components may be communicatively coupled to each other in a different manner. For example, one or more of the above-described components may be directly coupled to the processor system  110 , or may be coupled to the processor system  110  via intermediary components (not shown). 
         [0014]    The memory  112  includes a region where the calibration logic  116  is stored. The processor  110  retrieves and executes the calibration logic  116  to determine the bias compensation and/or the gain compensation for one or more of the gyroscopes  104 . 
         [0015]      FIG. 2  is a conceptual perspective view of the gyroscopes  104 , the accelerometers  106 , and the magnetometers  108  in an exemplary embodiment of the field calibration system  100 . In this embodiment, three gyroscopes  104   x ,  104   y , and  104   z  are orthogonally mounted on the sensor platform  102 . Additionally, three accelerometers  106   x ,  106   y , and  106   z , and three magnetometers  108   x ,  108   y , and  108   z , are orthogonally mounted on the sensor platform  102 . Other embodiments include less than, or more than, the illustrated three gyroscopes  104 , the illustrated three accelerometers  106 , and/or the illustrated three magnetometers  108 . Further, in alternative embodiments, the gyroscopes  104 , the accelerometers  106 , and/or the magnetometers  108  are mounted on the sensor platform  102  in other independent orientations. 
         [0016]    The exemplary gyroscopes  104   x ,  104   y , and  104   z , are operable to sense rotation about the x-axis, the y-axis, and the z-axis, respectively (as denoted by the illustrated direction arrows  202 ,  204 , and  206 , respectively). The exemplary accelerometers  106   x ,  106   y , and  106   z , sense a linear acceleration along the x-axis, the y-axis, and the z-axis, respectively (as denoted by the illustrated direction arrows  208 ,  210 , and  212 , respectively). The exemplary magnetometers  108   x ,  108   y , and  108   z , sense orientation of the earth&#39;s magnetic field (as denoted by the illustrated direction arrow MF). A gravity vector (GV) and a magnetic north vector (Nmag) may be determined from the accelerometers  106   x ,  106   y , and  106   z  and from the magnetometers  108   x ,  108   y , and  108   z.    
         [0017]    It is appreciated that when in a laboratory or factory environment, bias and/or gain calibration of the gyroscopes  104 , may be performed in a precisely controlled manner. For example, the z-axis gyroscope  104   z  may be calibrated by rotations about the z-axis when the sensor platform  102  is mounted on a calibration table. The calibration rotations may be sensed by changes in the x-axis magnetometer  108   x  and the y-axis magnetometer  108   y . The calibration rotations about the z-axis would be accurately sensed by the x-axis magnetometer  108   x  and/or the y-axis magnetometer  108   y  since the rotation of the sensor platform  102  could be precisely maintained within the x-y plane in the laboratory or factory environment. 
         [0018]    During a single dimensional calibration rotation about a gyroscope axis, the rotated gyroscope senses the rotation about its axis. The gyroscope output corresponds to a measured rotation Om (also interchangeably referred to as the measured rotation vector Om). Since the amount of the calibration rotation is known, the observed gyroscope rotation Og (also interchangeably referred to as the observed gyroscope rotation vector Og) may be determined. The measured rotation Om is compared to the observed gyroscope rotation Og, where Om=a*(Og−b). Here, a is the gain and b is the bias for the gyroscope that sensed the measured rotation Om. The gain a and the bias b may be determined from Om and Og. 
         [0019]    When in the field, it is very difficult to maintain the sensor platform  102  within the x-y plane during a calibration rotation. Accordingly, a field calibration rotation in three-dimensional (3-D) space must be considered. Thus, the above-described situation for rotation about a single axis becomes more complex when calibration rotation in an out of plane axis is considered. During the out of plane calibration rotation, the sensor platform  102  is rotated about an axis that is not aligned with the x-axis, the y-axis, and/or the z-axis. 
         [0020]    The measured rotation vector Om may be determined from the out of plane calibration rotation sensed by the rotated gyroscope. Also, based on the rotation, the observed gyroscope rotation vector Og may be estimated from other sensors (the accelerometers  106  and the magnetometers  108 ). To address ambiguities that may arise during solution of the equations below, the affect of the rotation on two constant independent vectors M and A is observed. One of the constant vectors is the earth&#39;s magnetic field, and the other is the gravitation vector. If one of the two independent vectors M and A cannot be used for a particular observed gyroscope rotation vector Og, the other independent vector may be used. For example, if M were nearly collinear with the axis of the rotation Og, then the change M from the rotation would barely be detectable. The gravity vector and the magnetic field are not collinear. So, if one of them lies along the axis of rotation, the other will not, and can be used to measure the change in Og. 
         [0021]    The observed gyroscope rotation vector Og may be determined from the vector M, the vector A, the derivative of the vector M (dM), and the derivative of the vector A (dA). The observed gyroscope rotation vector Og may then be used to solve for the bias compensation and/or the gain compensation. Preferably, the out of plane calibration rotation is a relatively slow motion, where the sensed linear acceleration is small relative to the rotation. 
         [0022]    The accelerometers  106  and the magnetometers  108  are affected by rotation of the sensor platform  102  in a predictable way. The magnitude of the two vectors should not change, since the gravitational and magnetic fields are locally constant. But, the direction will, provided the rotation is about an axis that is not collinear with the magnetometer and/or accelerometer vector. Based upon the rotation, the two independent rotation measurements Om are determined from the changes in direction sensed by the accelerometers  106  and/or by direction changes sensed by the magnetometers  108 . 
         [0023]      FIG. 3  is a conceptual perspective view of an observed gyroscope rotation vector Og and two independent vectors M (associated with the magnetometers  108 ) and A (associated with the accelerometers  106 ). The observed gyroscope rotation vector Og includes an x-axis component Ox, a y-axis component Oy, and a z-axis component Oz. The first independent vector M includes an x-axis component Mx, a y-axis component My, and a z-axis component Mz. The second independent vector A includes an x-axis component Ax, a y-axis component Ay, and a z-axis component Az. In alternative embodiments, the vectors Og, M, and A may be defined using another suitable coordinate reference system. 
         [0024]    From an ensemble of measurements obtained from the accelerometers  106  and/or the magnetometers  108 , linear regression may be used to determine the gain a and the bias b for one or more of the gyroscopes  104  in a least squares sense. A correlation function may be used to judge the goodness of the fit between the measured independent vectors (A and/or M) and the observed gyroscope rotation vector Og. 
         [0025]    Accordingly, the two independent vectors A or M are selected so as to point in different directions by setting a maximum threshold on the dot product of unit vectors in the corresponding directions. The two independent vectors A or M can be obtained simultaneously from the accelerometers  106  and/or the magnetometers  108 . 
         [0026]    Embodiments of the field calibration system  100  obtain an estimate of the rotation from observations of the independent vectors A or M. The field calibration system  100  calculates changes dM and dA from a history of observations of the two independent vectors A or M. For a small rotation of the sensor platform  102 , the following equations (1) and (2) are applicable: 
         [0000]        dM=Om×M   Eq. (1)
 
         [0000]        dA=Om×A   Eq. (2)
 
         [0000]    where Om is the vector whose components are the rotations about the x, y, and z axes. The vector Om is calculated from M, A, dM, and dA. 
         [0027]    Explicitly the six component equations defining the interrelationship between the vectors Om, M, and A are: 
         [0000]        dAx=Oz*Ay−Oy*Az   Eq. (3.1)
 
         [0000]        dAy=−Oz*Ax+Ox*Az   Eq. (3.2)
 
         [0000]        dAz=Oy*Az−Ox*Ay   Eq. (3.3)
 
         [0000]        dMx=Oz*My−Oy*Mz   Eq. (3.4)
 
         [0000]        dMy=−Oz*Mx+Ox*Mz   Eq. (3.5)
 
         [0000]        dMz=Oy*Mz−Ox*My   Eq. (3.6)
 
         [0000]    Explicit expressions may be obtained for the three unknowns Ox, Oy and Oz in terms of the known M, A, dM, and dA. 
         [0028]    The flexibility provided by the extra equations maximizes numerical stability. For example, equation (3.1) could be written as: 
         [0000]        Oy=− ( dAx−OzAy )/ Az   Eq. (4)
 
         [0000]    Deriving equation (4) involves division by the z component of the A vector. Since A would come from the gravitational vector, we expect that in the usual case, the vertical component, Az, would be largest in magnitude. However, it is possible that for some orientations the Az component may have a relatively small magnitude. Error in the denominator would be magnified in the quotient. 
         [0029]    Alternatively, Oz in equation (3.1) may have been isolated. However, dAx would be divided by Ay, which would result in a large error in the event Ay is relatively small too. If both Az and Ay are small, then equation (3.2) can be used to obtain a numerically stable Oz, because the denominator Ax will then be large. 
         [0030]    Equation (4) is substituted into equation (3.4) to obtain an equation for Oz, an estimate of the rotation about the z-axis, as shown in equation (5): 
         [0000]        Oz= ( dMx*Az−dAx*Mx )/( My*Az−Mz*Ay )  Eq. (5)
 
         [0031]    Instead of using equations (3.1) and (3.4), equations (3.2) and (3.5) may be used to obtain an alternate expression for Oz, as shown in equation (6): 
         [0000]        Oz= ( dMy*Az−dAy*Mz )/( Ax*Mz−Mx*Az )  Eq. (6)
 
         [0032]    The decision of which equation to use, equation (5) or equation (6), is based on numeric stability. That is, it is undesirable for the denominator of equation (5) or equation (6) to be close to zero. The denominator of the x and y elements is the cross product of M and A. The cross product may be expanded such that the largest magnitude is selected. Once Oz has been calculated from either equation (5) or equation (6), the result is back substituted into equations (3.2) and (3.1) to obtain Ox and Oy. 
         [0033]    If the initial assumption that Az is the largest component is wrong, then another divisor may be selected. For example, it may be determined that Ay is the largest component. Accordingly, equations (3.1) and (3.4) are used to obtain one expression for Oy. Equations (3.3) and (3.6) may be used to obtain an alternate value for Oy, as shown in equations (7) and (8): 
         [0000]        Oy= ( dMx*Ay−dAx*My )/( Az*My−Mz*Ay )  Eq. (8)
 
         [0000]        Oy= ( dMz*Ay−dAz*My )/( Mx*Ay−Ax*My )  Eq. (9)
 
         [0034]    Alternatively, if Ax was the largest, yet another set of equations could be selected. Therefore, a numerically stable estimate of Om may be determined for the three rotational components Ox, Oy, and Oz. 
         [0035]    Given an ensemble of independent measurements described above, the terms A (gain) and B (bias) can be solved via a linear regression in accordance with the matrix equation (10). 
         [0000]        O   m   =A *( O   g   −B )  Eq. (10)
 
         [0000]    Om is the measured rotation calculated from the accelerometers and/or magnetometers. Og is the observed rotation for the gyroscope as determined by information from the gyroscope sensors. A is the gyroscope gain and B is the gyroscope bias. The goodness of the fit can be estimated from the correlation. Thus, an estimate may be made in the field of both the gain and offset without the requirement that the sensor platform  102  be stationary with respect to rotations. 
         [0036]    The gain in equation (10) could be a simple scale factor, with one scale factor for each of three components. The gain could also be a matrix, in which case the gain may include off diagonal elements that allow for mixing of the components. 
         [0037]    While the preferred embodiment of the invention has been illustrated and described, as noted above, many changes can be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention is not limited by the disclosure of the preferred embodiment. Instead, the invention should be determined entirely by reference to the claims that follow.