Abstract:
A system for calibrating the sensors of a redundant sensor system by calculating a first set of error signals based on differences between a combination of the outputs and known values and calculating a second set of error signals based on differences between the parity among preselected sensors and a predetermined value and calculating, from the first and second set of error signals, a plurality of calibration signals to be added to the output of the individual sensors which are in error so as to correct their outputs.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to automatic calibration of sensors used in systems and more particularly to the automatic calibration of redundant sensors (more than one set of sensors sensing the same conditions). 
     2. Description of the Prior Art 
     Many systems employing sensors such as inertial sensors (gyros and accelerometers) used in aircraft, have a need for automatically calibrating the sensors from time to time to remove the effects of accumulated drift over a period of time. In aircraft applications, three gyros and three accelerometers are usually used to sense the rotational and acceleration changes that occur during a flight. A computer then operates to determine the aircraft attitude, position and velocity from these changes. 
     In order to prevent errors in these readings, it has been the custom to calibrate the sensors when position and velocity are known such as at the airport terminals. When the computer knows the real position and velocity (as it does when the aircraft is at the terminal), it can determine which, if any, of the sensors have drifted and can produce a compensating signal to calibrate the erroneous sensor. Such a prior art system is shown in FIG. 1. 
     In FIG. 1, a set of three gyros labelled G1, G2 and G3 and identified by reference numerals 11, 13 and 15 are shown providing outputs on lines 17, 19 and 21 through summing circuits 23, 25 and 27 and lines 29, 31 and 33 to e. Navigation Processor 35. 
     Similarly, in FIG. 1, a set of three accelerometers labelled A1, A2 and A3 and identified by reference numerals 37, 39 and 41 are shown providing outputs on lines 43, 45 and 47 through summing circuits 49, 51 and 53 and lines 55, 57 and 59 to the Navigation Processor 35. 
     Navigation Processor 35 operates on the signals from Gyros 11, 13 and 15 and from the accelerometers 37, 39 and 41 to produce a signal indicative of latitude on a line 61, a signal indicative of longitude on a line 63, a signal indicative of altitude on a line 65, a signal indicative of north velocity on line 67, a signal indicative of east velocity on line 69, and a signal indicative of vertical velocity on a line 71, which signals are presented through summing circuits 73, 75, 77, 79, 81, and 83 and on lines 85, 87, 89, 91, 93 and 95 respectively to a box identified as Navigation Auto Calibration box 100 as well as to any desired aircraft indicators (not shown). It should be understood that while Navigation Processor 35 and Navigation Auto Calibration box 100 have been shown as two separate boxes for purposes of explanation, they may be combined in a single overall processor with a computer enclosed in a single box. 
     Summing circuits 73-83 are shown receiving additional inputs from terminals 101, 103, 105, 107, 109 and 111 via lines 113, 115, 117, 119, 121 and 123 respectively. When the aircraft is of known positions and velocities (such as at airport terminals), signals indicative of known latitude, longitude, altitude, north velocity, east velocity and vertical velocity respectively are presented to the terminals 101-111 and are combined in summing circuits 73-83 so that any differences or errors between the outputs from Navigation Processor 35 on lines 61-71 are presented to Navigation Auto Calibration box 100. From these inputs the Navigation Auto Calibration box 100 computes which, if any, of the gyros and accelerometers are in error, and operates to produce corrective signals, if any, on lines 125, 127, 129, 131, 133 and 135, which signals are fed back to the summing circuits 23, 49, 25, 51, 27 and 53 respectively so as to add the corrective signals to the erroneous signals from the gyros and accelerometers and thus provide the desired corrective calibration. 
     The prior art system of FIG. 1 is satisfactory for use when no more than 1 set of sensors (in this case, 3 gyros and 3 accelerometers) are used. However, redundant systems employ more than 1 set of sensors (in the present example this would be four or more gyros and/or accelerometers) and the prior art does not receive enough information in the arrangement shown in FIG. 1 to allow a determination of which specific gyros and accelerometers need corrective calibration. 
     SUMMARY OF THE INVENTION 
     The present invention solves the problem of auto calibration of redundant sensors by utilizing a concept of sensor parity. Sensor parity works to measure the consistency of redundant sensor outputs and to produce parity error signals whenever they are not consistent. The sensor parity error signals are independently presented to a parity auto calibration box which operates to provide signals indicative of sensor errors to a &#34;mapper&#34; which also receives sensor error signals from the Navigation Auto Calibration box and is able to determine from these two sets of signals, which, if any, of the specific gyros and accelerometers is in error and produces corrective calibration signals to be added to the erroneous sensor signals to provide auto calibration. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of the prior art; and 
     FIG. 2 is a block diagram of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 2 shows a first redundant set of sensors (in this case, 6 gyros G1-G6) identified by reference numerals 211, 213, 215, 217, 219 and 221 and a second redundant set of sensors (in this case 6 accelerometers A1-A6) identified by reference numerals 223, 225, 227, 229, 231 and 233. The outputs of gyros 211-221 are presented via lines 235, 237, 239, 241, 243 and 245 to summing circuits 247, 249, 251, 253, 255 and 257 respectively while the outputs of accelerometers 223-233 are presented via lines 259, 261, 263, 265, 267 and 269 to summing circuits 271, 273, 275, 277, 279 and 281. Summing circuits 247-257 produce the gyro outputs via lines 283, 285, 287, 289, 291 and 293 to a Navigation Processor 295 and via lines 297, 299, 301, 303, 305 and 307 to a Sensor Parity Error Box 310. Similarly, summing circuits 271-281 produce the outputs of accelerometers 223-233 via lines 311, 313, 315, 317, 319 and 321 to the Navigation Processor 295 and via lines 323, 325, 327, 329, 331 and 333 to the Sensor Parity Error box 310. As in FIG. 1, the Navigation Processor 295 produces a longitude output on a line 335, a latitude output on a line 337, an altitude output on a line 339, a north velocity signal on a line 341, an east velocity signal on a line 343 and a vertical velocity signal on a line 345 except that these signals are derived from 6 gyro and 6 accelerometer inputs, rather than three, as was the case in FIG. 1, and are thus somewhat more accurate due to the redundancy. The signals on lines 335-345 are presented to summing circuits 347, 349, 351, 353, 355 and 357 and via lines 359, 361, 363, 365, 367 and 369 to a Navigation Auto Calibration Box 370. As in FIG. 1, the summing circuits 347-357 are shown receiving additional inputs from terminals 371, 373, 375, 377, 379 and 381 via lines 383, 385, 387, 389, 391, and 393 respectively. Signals indicative of known latitude, longitude, altitude, north velocity, east velocity and vertical velocity respectively are presented to the terminals 371-381 and are combined in summing circuits 347-357 so that any differences or errors between the outputs from Navigation Processor 295 on lines 359-369 are presented to Navigation Auto Calibration box 370. Now, however, because there are more than 3 gyros and 3 accelerometers, the Navigation Auto Calibration box 370 cannot determine which, if any, of the specific gyros and accelerometers are in error. It can, however, supply 6 signals on lines 395, 397, 399, 401, 403 and 405 partially indicative of the sensor errors to a &#34;Mapper&#34; 410. 
     In similar fashion, Sensor Parity Error box 310 operates on the gyro inputs from lines 297-307 and the accelerometer inputs from lines 323-333 to produce parity error signals on lines 411, 413, 415, 417, 419 and 421 which are presented to a Parity Auto Calibration box 430. Because there are more than 3 gyros and more than 3 accelerometers, Parity Auto Calibration box 430 can compute parity values which may be, for example, the sums of various weighted values for the redundant sensor outputs. The desired parity values are known so that Parity Auto Calibration box 430 produces six signals on lines 431, 433, 435, 437, 439 and 441 which are partially indicative of the sensor errors to &#34;mapper&#34; 410. 
     Mapper 410 with the 12 inputs it receives, is able to determine which, if any, of the specific gyros 211-221 and accelerometers 223-233 are providing erroneous signals and produces corrective signals on lines 453, 455, 457, 459, 461, 463, 465, 467, 469, 471, 473, and 475 to the summing circuits 247-257 (for gyros) and 271-281 (for accelerometers) to be added to the signals from gyros 211-221 and accelerometers 223-233 to produce corrective calibration signals. 
     As was the case in FIG. 1, although the Navigation Processor 295, the Navigation Auto Calibration box 370, the Sensor Parity Error box 310 and the Parity Auto calibration box 430 have been shown as separate boxes for explanation, they may be all part of a single processor or computer and combined in one box. 
     The algorithm equations for the Navigation Processor 295 are: 
     Equations: 
     
         ω.sup.B =H.sub.g *m.sub.g 
    
     
         α.sup.B =H.sub.a *.sub.a m 
    
     
         C=C{ω.sup.B }-{ρ+Ω}C 
    
     
         ν=Cα.sup.B +g-(ρ+2Ω)×ν 
    
     
         D=D{ρ} 
    
     Outputs: ##EQU1## 
     
         altitude=∫ν.sub.z -h.sub.e 
    
     
         north velocity=ν.sub.x cos (α)-ν.sub.y sin (α) 
    
     
         east velocity =ν.sub.x sin (α)+ν.sub.y cos (α) 
    
     
         vertical velocity=ν.sub.z 
    
     where: 
     m g  =vector of gyro signals (inputs to Navigation processor and Sensor Parity Error Boxes) 
     m a  =vector of accelerometer signals (inputs to Navigation processor and Sensor Parity Error Boxes) 
     H g  *=least squares mapping of gyro inputs to the aircraft body frame H g  *=(H g   t  H g ) -1  H T  (pseudoinverse of H g ) 
     H a  *=least squares mapping of accelerometer inputs to the aircraft body frame H a  *=(H a   t  H a ) -1  H a   T  (pseudoinverse of H a ) 
     C=transformation matrix from the aircraft body frame to the local-level frame 
     C=time derivative of C ##EQU2## d ij  is an element of D in the i th  row and j th  column D=time derivative of D ##EQU3## ν=time derivative of ν g=plumb-bob gravity vector 
     ρ=angular velocity vector of the local-level frame relative to the earth 
     Ω=earth&#39;s angular velocity vector to an inertial frame 
     α B  =aircraft non-gravitational acceleration vector 
     ω B  =aircraft angular velocity vector relative to an inertial frame 
     h e  =altitude stablization signal 
     {.}=skew-symmetric realization of the enclosed vector 
     All above vectors are expressed with components in the local-level frame, except for α B  and ω B  which are in the aircraft body frame,and for m g  and m a  which are in the sensor input axis frame. 
     The algorithm equations for the Navigation Auto Calibration box 370 are: 
     
         b.sup.n =b.sup.n(-)+ K(y-φb.sup.n(-)) ##EQU4## where: b.sub.g.sup.n =gyro estimates in the aircraft body frame 
    
     b a   n  =accelerometer error estimates in the aircraft body frame 
     b n (-) =vector of previously estimated sensor errors in the aircraft body frame, which have not yet been applied as sensor output corrections 
     y=vector of measured navigation errors 
     φ=sensitivity matrix that predicts navigation errors due to sensor errors, i.e., given sensor errors b n , the predicted navigation errors are given by φb n   
     =gain matrix, such as computed by a Kalman Estimator 
     The algorithm equations for the Sensor Parity Error box 310 are: 
     Equations: 
     
         p.sub.g =V.sub.g m.sub.g 
    
     
         p.sub.a =V.sub.a m.sub.a 
    
     V g  is defined to satisfy the following two properties 
     1) V g  H g  =0 
     2) V g  V g   t  =I 
     V a  is defined to satisfy the following two properties 
     1) V a  H a  =0 
     2) V a  V a   T  =I 
     where: 
     m g  =vector of gyro signals (inputs to Navigation processor and Sensor Parity Error Boxes) 
     m a  =vector of accelerometer signals (inputs to Navigation processor and Sensor Parity Error Boxes) 
     P g  =vector of gyro parity errors 
     P a  vector of accelerometer parity errors 
     V g  =gyro parity coefficient matrix 
     V g   T  =transpose of V g   
     V a  =accelerometer parity coefficient matrix 
     V a   T  =transpose of V a   
     H g  =transformation matrix from the aircraft body frame to the gyro input axis frame 
     H a  =transformation matrix from the aircraft body frame to the accelerometer input axis frame 
     The algorithm equations for the Parity Auto Calibration box 430 are: 
     
         x.sub.g =x.sub.g.sup.(-) +K.sub.g (p.sub.g -h.sub.φ x.sub.g.sup.(-) 
    
     
         x.sub.a =x.sub.a.sup.(-) +K.sub.a (p.sub.a -h.sub.v x.sub.a x.sup.(-) ##EQU5## where: b.sub.g.sup.p =vector of estimated gyro bias errors in the parity frame 
    
     b a   p  =vector of estimated accelerometer bias errors in the parity frame 
     μ g  =vector of estimated gyro misalignment and scale factors 
     μ a  =vector of estimated accelerometer misalignment and scale factor errors 
     x g .sup.(-) =previous estimate of x g  which has not yet been applied as a sensor output correction 
     x a .sup.(-) =previous estimate of a which has not yet been applied as a sensor output correction 
     P g  =vector of gyro parity errors 
     P a  =vector of accelerometer parity errors 
     h 100  =sensitivity matrix that predicts gyro parity errors due to gyro errors i.e., given gyro errors x g , the predicted parity errors are given by h.sub.φ x g  ##EQU6## h v  =sensitivity matrix that predicts accelerometer parity errors due to accelerometer errors, i.e., given accelerometer errors x a , the predicted parity errors are given by v  x a  ##EQU7## Δφ x ,Δφ y ,Δφ z  =components of incremental angular motion in the aircraft frame 
     Δν x ,Δν y ,Δν z  =components of incremental velocity in the aircraft frame 
     K g  =gain matrix, such as computed by a Kalman Estimator K a   
     =gain matrix, such as computed by a Kalman Estimator 
     The algorithm equations for the Mapper 385 are: 
     Equations: 
     
         b.sub.g =H.sub.g b.sub.g.sup.n +V.sub.g.sup.T b.sub.g.sup.p 
    
     
         b.sub.a =H.sub.a b.sub.a.sup.n +V.sub.a.sup.T b.sub.a.sup.p 
    
     Where: 
     b g  =total gyro error correction vector in the gyro input axis frame 
     b a  =total accelerometer error correction vector in accelerometer input axis frame 
     b g   n  =partial gyro error correction vector in the aircraft body frame (navigation frame) 
     b a   n  =partial accelerometer error correction vector in the aircraft body frame (navigation frame) 
     b g   p  =partial gyro error correction vector in the parity frame 
     b a   p  =partial accelerometer error correction vector in the parity frame 
     It is ,therefore, seen that we have provided an automatic calibration system for redundant sensors through inexpensive yet effective use of existing components. Many changes will occur to those skilled in the art. For example, while gyros and accelerometers have been used to explain the present invention, other sensors may be employed. Also, while six gyros and 6 accelerometers have been shown, the present invention will work with any number of gyros and accelerometers in excess of 3. Also, while the invention has been described for use with position and velocity in 3 directions, use of all three is not necessary. In a preferred embodiment, for example, altitude is sensed by other instruments and is not autocalibrated by the present invention. Accordingly, we do not wish to be limited to the specific apparatus used in connection with the explanation of the preferred embodiment, We intend only to be limited by the following claims.