Compensation system

Information

  • Patent Grant
  • 6285954
  • Patent Number
    6,285,954
  • Date Filed
    Wednesday, July 21, 1999
    25 years ago
  • Date Issued
    Tuesday, September 4, 2001
    23 years ago
Abstract
The invention is a method and apparatus for obtaining an accurate value x1c of a variable x1 based on an estimate x1e that is a function of K variables x1, x2, . . . , xk, . . . , xK. The method comprises the steps of (a) obtaining a plurality of estimates x1e, x2e, . . . , xke, . . . , xKe of the variables x1, x2, . . . , xk, . . . , xK over a method-execution time period, the values of the variables x1, x2, . . . , xk, . . . , xK changing or being changed during the method-execution time period; (b) obtaining from an external source the actual values x1a of x1 during the method-execution time period; (c) defining a compensation model δx1 that is a function of one or more of the estimates x1e, x2e, . . . , xke, . . . xKe of the variables x1, x2, . . . , xk, . . . , xK, the compensation model being further defined by I unknown constants a1, a2, . . . , ai, . . . , aI; (d) applying an operator G to the values of x1e−x1a and δx1; (e) determining the values of a1, a2, . . . , ai, . . . , aI; and (f) determining the value of x1c.
Description




CROSS-REFERENCE TO RELATED APPLICATIONS




(Not applicable)




BACKGROUND OF THE INVENTION




The invention relates generally to inertial navigation systems and more specifically to sensors used in such systems to measure the values of environmental variables and the compensation of such sensors for variations in other environmental variables.




Strapdown inertial navigation systems are frequently used in missiles and aircraft. Physically isolated and stabilized apparatus, such as a gimballed platform that is physically angularly-stabilized relative to the local vertical direction, require precise and mechanically complex angle positioning apparatus, and are being systematically replaced by systems of the strapdown type.




A state-of-the-art strapdown inertial navigation system has three rotation sensors or gyros and three accelerometers rigidly attached to a supporting vehicle. The rotation sensors are each positioned and oriented to sense angular displacement about one of three defined orthogonal axes attached to the vehicle body and known as the body coordinate system. The accelerometers are each positioned and oriented in a fixed direction relative to the vehicle, to sense velocity changes (incremental velocities) along different ones of the three defined orthogonal axes. In a strapdown system, the accelerometer axes are not angularly stabilized.




Because the accelerometers are constantly changing direction relative to gravity, navigation velocities cannot be computed by directly integrating the accelerometer signals. Instead, a stable computational frame or analytic navigation coordinate system is continually generated. The output signals from the rotation sensors are used by an attitude integration apparatus to calculate the directions of local vertical, together with two other axes orthogonal to the local vertical direction.




Sensed angle changes and accelerations (incremental velocities) are continually rotated through the calculated angles from the vehicle body axes to the calculated navigation axes. Angle signals from the rotation sensors are used to update the computer-stored angular position and incremental velocity data for both the angle sensors and accelerometers relative to the navigation coordinate system.




The rotation sensors and accelerometers have fixed relative directions in the body coordinate system. An angular transformation matrix of direction cosines is computed in an attitude integration apparatus. The accelerometer signals, which are incremental changes in velocity, in the strapdown body coordinate system are converted in a coordinate transformation computer from that system into corresponding signals in the stabilized navigation coordinate system.




After transformation into the navigation coordinate system, the incremental velocity signals are integrated or summed to form updated velocity signals. The rotation sensor and accelerometer signals are sampled, and the sampled signals are delivered to a computer which is programmed to accept the signals and to calculate both velocities along the three axes in the stabilized navigation coordinate system and attitude angles relative to this system.




The estimate x


1e


produced by a sensor of an environmental variable x


1


may be affected by the values of other environmental variables x


2


, x


3


, . . . , x


K


such as temperature, pressure, and humidity and possibly first and even higher-order time derivatives of such variables. To achieve the ultimate measurement accuracy, the output x


1e


of such a sensor is compensated for variations in these other environmental variables by means of a compensation model δx


1


(x


1e


, x


2e


, x


3e


, . . . , x


Ke


) where x


1e


, x


2e


, x


3e


, . . . , x


Ke


are the outputs from sensors that result respectively from the sensor inputs x


1


, x


2


, x


3


, . . . , x


K


. The compensated output x


1c


is given by








x




1c




=x




1e




−δx




1


  (1)






Note that the compensation model δx


1


may be a function of x


1


. The compensation model can be expressed as










δ






x
1


=



i








a
i




f
i



(

x
ie

)








(
2
)













The quantity x


ie


denotes a particular set of the variables of interest x


1e


, x


2e


, x


3e


, . . . , x


Ke


. The set may be different for each value of i. The function ƒ


i


(x


ie


) is a function of the one or more variables in the set x


ie


associated with the index i. The symbols a


i


denote quantities that are constant, at least over the short term.




We can rewrite equation (1) as








x




1c




−x




1a




=x




1e




−x




1a




−δx




1


  (3)






where x


1a


is the actual value of x


1


supplied by an external source. We wish to choose the coefficients a


i


so that x


1c


is an accurate estimate of x


1


. We do this by finding the values which minimize a statistical measure of the magnitude of







x

1

e


-

x

1

a


-



i








a
i




f
i



(

x
ie

)














for a variety of values for x


1


, x


2


, x


3


, . . . , x


K


. A suitable statistical measure might be the sum of the squares of







x

1

e


-

x
1

-



i








a
i




f
i



(

x
ie

)














for the variety of values for x


1


, x


2


, x


3


, . . . , x


K


.




The sensor outputs may be noisy and it may be desirable for the purpose of minimizing the computational requirements to apply a noise-reducing operator G to the sensor outputs prior to determining the values of a


i


. The operator G transforms the values of a sensor output associated with times extending from present time minus a predetermined time interval T to present time into a single present-time value. An example of an operator G operating on a function x(t) is provided by a lowpass filter which is described mathematically by the equation










Gx


(
t
)


=



0





x


(

t
-

t



)




h


(

t


)










t









(
4
)













where the function h(t) is the impulse response of the filter and is essentially zero for times greater than T. For some cases, the operator G may be nonlinear: G(x


1


+x


2


) may not be equal to the sum of Gx


1


and Gx


2


.




Applying G to equation (3),








G


(


x




1c




−x




1a


)


=G


(


x




1e




−x




1a




−δx




1


)  (5)






A relatively simple approach to determining a compensation model is to assume G to be reasonably linear. We also assume Gx


ke


to be equal to x


ke


at times T after a change in the values of one or more of the sensor inputs x


1


, x


2


, . . . , x


k


, . . . , x


K


in the absence of noise. Then at such times T,










G


(


x

1

c


-

x

1

a



)


=


Gx

1

e


-

x

1

a


-



i








a
i




f
i



(

Gx
ie

)









(
6
)













where the notation Gx


ie


means that each x


ke


in the functional representation is replaced by Gx


ke


.




We determine the values of the coefficients a


i


by finding the values which minimize a statistical measure of the magnitude of







Gx

1

e


-

x

1

a


-



i








a
i




f
i



(

Gx
ie

)














using the values obtained at times T after changes in the values of x


i


.




This process for determining the a's may be difficult, inconvenient, and inadequate for several reasons. First of all, the process is time-consuming since x


1


, x


2


, x


3


, . . . , x


K


must be held constant for time intervals T. Second, the calibration must sometimes include variables that are time derivatives of other variables. One cannot hold a variable constant if the time derivative of the variable is required to take on values other than zero.




A calibration process is needed that does not require the variables affecting the output of a sensor to be held constant for time periods T during the execution of the calibration process.




BRIEF SUMMARY OF THE INVENTION




The invention is a method and apparatus for obtaining an accurate value x


1c


of a variable x


1


based on an estimate x


1e


that is a function of K variables x


1


, x


2


, . . . , x


k


, . . . , x


K


. The method comprises the steps of (a) obtaining a plurality of estimates x


1e


, x


2e


, . . . , x


ke


, . . . , x


Ke


of the variables x


1


, x


2


, . . . , x


k


, . . . , x


K


over a method-execution time period, the values of the variables x


1


, x


2


, . . . , x


k


, . . . , x


K


changing or being changed during the method-execution time period; (b) obtaining from an external source the actual values x


1a


of x


1


during the method-execution time period; (c) defining a compensation model δx


1


that is a function of one or more of the estimates x


1e


, x


2e


, . . . , x


ke


, . . . , x


Ke


of the variables x


1


, x


2


, . . . , x


k


, . . . , x


K


, the compensation model being further defined by I unknown constants a


1


, a


2


, . . . , a


i


, . . . , a


I


; (d) applying an operator G to the values of x


1e


−x


1a


and δx


1


; (e) determining the values of a


1


, a


2


, . . . , a


i


, . . . , a


I


; and (f) determining the value of x


1c


.











BRIEF DESCRIPTION OF THE DRAWING





FIG. 1

is a block diagram of the program that controls the operations of a digital processor in a strapdown inertial navigation system showing the entry of sensor data.





FIG. 2

is a block diagram of the invention.











DETAILED DESCRIPTION OF THE INVENTION




A navigation solution is obtained in a strapdown inertial navigation system by a digital processor in accordance with instructions listed in a program stored in memory. The program


10


comprises a number of program segments, some of which are shown in FIG.


1


. Angle-of-rotation inputs for the navigation solution are provided by x-gyro


12


, y-gyro


14


, and z-gyro


16


which measure angles of rotation about the x


B


, y


B


, and z


B


axes in a body coordinate system fixed in the vehicle which carries the navigation system. Acceleration inputs are provided by x-accelerometer


18


, y-accelerometer


20


, and z-accelerometer


22


.




The changes in angles measured by the gyros during a sampling interval are supplied to the digital processor at the end of each sampling interval, and the program segment


24


causes the matrix representing the attitude of the body coordinate system relative to the navigation coordinate system with coordinates x


N


, y


N


, and z


N


to be updated.




The accelerometer outputs, which represent the change in velocity ΔV


B


of the body expressed with respect to the x


B


, y


B


, and z


B


coordinates in the body coordinate system during a sampling interval, are transformed to the change in velocity ΔV


N


expressed in navigation coordinates by program segment


34


.




A block diagram of the invention is shown in FIG.


2


. The environmental variables x


1


, x


2


, x


3


, . . . , x


K


that affect the outputs of sensors


11


-


1


,


11


-


2


, . . . ,


11


-K are shown as inputs to the sensors


11


-k, k being an integer between 1 and K. The outputs of the sensors are estimates x


1e


, x


2e


, x


3e


, . . . , x


Ke


of the inputs x


1


, x


2


, x


3


, . . . , x


K


and are inputs to processor


13


. The sensor


11


-k produces an output that is primarily a reflection of the value of x


k


but may be influenced by the values of zero or more of the other variables.




We assume that the variable that is to be compensated for variations in the values of the other variables is x


1


. The processor


13


outputs an accurate estimate x


1c


of x


1


utilizing the output x


1e


of sensor


11


-


1


and the outputs x


2e


, x


3e


, . . . , x


Ke


of sensors


11


-


2


, . . . ,


11


-K. Typical examples of sensor


11


-


1


are x-gyro


12


, y-gyro


14


, z-gyro


16


, x-accelerometer


18


, y-accelerometer


20


, and z-accelerometer


22


shown in FIG.


1


. The x-gyro


12


, y-gyro


14


, and z-gyro


16


measure angles of rotation about the x


B


, y


B


, and z


B


axes in a body coordinate system fixed in the vehicle which carries the navigation system. Acceleration inputs are provided by x-accelerometer


18


, y-accelerometer


20


, and z-accelerometer


22


.




We assume for simplicity that the outputs of sensors


11


-


2


, . . . ,


11


-K are reasonably good estimates x


2e


, x


3e


, . . . , x


Ke


of x


2


, x


3


, . . . , x


K


. If this were not the case, a better estimate of any particular variable x


k


could be obtained by following the procedure described below for obtaining an improved estimate of x


1


. We also assume that the actual value x


1a


of x


1


is available from an external source.




The processor


13


obtains the estimate x


1c


by determining the value of δx


1


, the compensation model for sensor


11


-


1


. The compensation model δx


1


is a function of x


1e


, x


2e


, . . . , x


Ke


and is determined by the processor


13


as a separate task.




Returning to equation (5) and assuming G is linear, we obtain the equation










G


(


x

1

c


-

x

1

a



)


=


G


(


x

1

e


-

x

1

a



)


-



i








a
i


G







f
i



(

x
ie

)









(
7
)













We determine the values of the coefficients a


i


by finding the values which minimize a statistical measure of the magnitude of







G


(


x

1

e


-

x

1

a



)


-



i








a
i


G







f
i



(

x
ie

)














for a variety of values for x


1e


, x


2e


, x


3e


, . . . , x


Ke


. With this formulation, there is no requirement that the variables be constant for some predetermined time period T.




If the nonlinear effects of G are sufficiently large, it may be desirable to refine the solution based on equation (7). In order to obtain a more accurate solution for the compensation model, we rewrite equation (1) as








x




1c




=x




1e




−δx




1




−δδx




1


  (8)






where δx


1


is determined by the process just described and










δδ






x
1


=



i







δ






a
i




f
i



(

x
ie

)








(
9
)













The values of the coefficients δa


i


are determined in the following; way. Rewriting equation (8), we obtain








x




1c




−x




1a




=x




1e




−x




1a




−δx




1




−δδx




1


  (10)






Applying the G operator, we obtain








G


(


x




1c




−x




1a


)


=G


(


x




1e




−x




1a




−δx




1


)−


Gδδx




1


  (11)






Since the quantities in parentheses as well as δδx


1


are small, we may replace the G operator by its linearized version G*:








G*


(


x




1c




−x




1a


)


=G*


(


x




1e




−x




1a




−δx




1


)


−G*δδx




1


  (12)






or










G
*

(


x

1

c


-

x

1

a



)


=


G
*

(


x

1

e


-

x

1

a


-

δ






x
1



)


-



i







δ






a
i


G




*


f
i



(

x
ie

)









(
13
)













We determine the values of the coefficients δa


i


by finding the values which minimize a statistical measure of the magnitude of







G
*

(


x

1

e


-

x

1

a


-

δ






x
1



)


-



i







δ






a
i


G




*


f
i



(

x
ie

)














for a variety of values for x


1


, x


2


, x


3


, . . . , x


K


. After the values of the coefficients δa


i


have been determined, a compensation model δx


1o


for operational use is obtained using the equation










δ






x
10


=



i








(


a

i




+



δ






a
i


)




f
i



(

x
ie

)








(
14
)












Claims
  • 1. A method for obtaining an accurate value x1c of a variable x1 based on an estimate x1e that is a function of K variables x1, x2, . . . , xk, . . . , xK, the method comprising the steps:(a) obtaining from a plurality of sensors a plurality of estimates x1e, x2e, . . . , xke, . . . , xKe of the variables x1, x2, . . . , xk, . . . , xK over a method-execution time period, the values of the variables x1, x2, . . . , xk, . . . , xK changing or being changed during the method-execution time period; (b) obtaining from an external source the actual values x1a of x1 during the method-execution time period; (c) defining a compensation model δx1 that is a function of one or more of the estimates x1e, x2e, . . . , xke, . . . , xKe of the variables x1, x2, . . . , xk, . . . , xK, the compensation model being further defined by I unknown constants a1, a2, . . . , ai, . . . , aI; (d) applying an operator G to the values of x1e−x1a and δx1; (e) determining the values of a1, a2, . . . , ai, . . . , aI; (f) determining the value of x1c.
  • 2. The method of claim 1 wherein in step (a) at least one of the variables is a time derivative of another variable.
  • 3. The method of claim 1 wherein step (c) comprises the steps:(c1) defining a set of I basis functions ƒi(xie), the compensation model being the sum over i of aiƒi(xie), xie denoting a set of one or more of the estimates x1e, x2e, . . . , xke, . . . , xKe.
  • 4. The method of claim 3 wherein one or more of the basis functions are polynomials.
  • 5. The method of claim 1 wherein in step (d) the values of x1e−x1a and δx1 obtained prior to present time minus a specified time T contribute negligibly to present-time values of G(x1e−x1a) and Gδx1.
  • 6. The method of claim 1 wherein in step (d) G(xj+xk) does not equal G(xj)+G(xk), j and k being integers less than or equal to K.
  • 7. The method of claim 1 wherein step (e) comprises the step:(e1) finding the values of ai that minimize a statistical measure of the magnitude of G(x1e−x1a)−Gδx1(xie) for the values of xie determined in step (a).
  • 8. The method of claim 1 wherein step (e) comprises the step:(e1) finding the values of ai which minimize a statistical measure of the magnitude of G⁡(x1⁢e-x1⁢a)-∑i⁢ ⁢ai⁢G⁢ ⁢fi⁡(xie) for the values of xie determined in step (a).
  • 9. The method of claim 1 wherein in step (f) the value of x1c is determined by subtracting δx1(xie) from x1e.
  • 10. The method of claim 1 wherein x1e is equal to x1em minus δ, x1em being a measured value of x1, δ being a predetermined function of one or more of estimates x1e, x2e, . . . , xke, . . . , xKe of the variables x1, x2, . . . , xk, . . . , xK.
  • 11. The method of claim 10 wherein in step (d) G is approximated by G*, G* being a linearized version of G.
  • 12. The method of claim 10 wherein in step (f) the value of x1c is determined by subtracting δ+δx1 from x1e.
  • 13. The method of claim 10 wherein δ is the δx1 resulting from a prior execution of the method of claim 1.
  • 14. Apparatus for practicing the method of claim 1.
  • 15. A method for obtaining an accurate value x1c of a navigation variable x1 based on an estimate x1e that is a function of K variables x1, x2, . . . , xk, . . . , xK, the method comprising the steps:(a) obtaining a plurality of estimates x1e, x2e, . . . , xke, . . . , xKe of the variables x1, x2, . . . , xk, . . . , xK over a method-execution time period, the values of the variables x1, x2, . . . , xk, . . . , xK changing or being changed during the method-execution time period; (b) obtaining from an external source the actual values x1a of x1 during the method-execution time period; (c) defining a compensation model δx1 that is a function of one or more of the estimates x1e, x2e, . . . , xke, . . . , xKe of the variables x1, x2, . . . , xk, . . . , xK, the compensation model being further defined by I unknown constants a1, a2, . . . , ai, . . . , aI; (d) applying an operator G to the values of x1e−x1a and δx1; (e) determining the values of a1, a2, . . . , ai, . . . , aI; (f) determining the value of x1c.
  • 16. Apparatus for practicing the method of claim 15.
  • 17. Apparatus for obtaining an accurate value x1c of a variable x1 based on an estimate x1e that is a function of K variables x1, x2, . . . , xk, . . . , xK, the apparatus comprising:a means for obtaining from a plurality of sensors a plurality of estimates x1e, x2e, . . . , xke, . . . , xKe of the variables x1, x2, . . . , xk, . . . , xK over a method-execution time period, the values of the variables x1, x2, . . . , xk, . . . , xK changing or being changed during the method-execution time period; a means for obtaining from an external source the actual values x1a of x1 during the method-execution time period; a means for applying an operator G to the values of x1e−x1a and δx1, δx1 being a compensation model that is a function of one or more of the estimates x1e, x2e, . . . , xke, . . . , xKe of the variables x1, x2, . . . , xk, . . . , xK, the compensation model being further defined by I unknown constants a1, a2, . . . , ai, . . . , aI; a means for determining the values of a1, a2, . . . , ai, . . . , aI; a means for determining the value of x1c.
  • 18. The apparatus of claim 17 wherein at least one of the variables x1, x2, . . . , xk, . . . , xK is a time derivative of another variable.
  • 19. The apparatus of claim 17 wherein the compensation model is the sum over i of aiƒi,(xie), ƒi(xie) being a set of I basis functions, xie denoting a set of one or more estimates x1e, x2e, . . . , xke, . . . , xKe of the variables x1, x2, . . . , xk, . . . , xK.
  • 20. The apparatus of claim 19 wherein one or more of the basis functions are polynomials.
  • 21. The apparatus of claim 17 wherein the values of x1e−x1a and δx1 obtained prior to present time minus a specified time T contribute negligibly to present-time values of G(x1e−x1a) and Gδx1.
  • 22. The apparatus of claim 17 wherein G(xj+xk) does not equal G(xj)+G(xk), j and k being integers less than or equal to K.
  • 23. The apparatus of claim 17 wherein the values of ai are determined by finding the values of ai that minimize a statistical measure of the magnitude of G(x1e−x1a)−Gδx1(xie).
  • 24. The apparatus of claim 17 wherein the values of ai are determined by finding the values of ai that minimize a statistical measure of the magnitude of G⁡(x1⁢e-x1⁢a)-∑i⁢ ⁢ai⁢G⁢ ⁢fi⁡(xie).
  • 25. The apparatus of claim 17 wherein the value of x1c is determined by subtracting δx1(xie) from x1e.
  • 26. The apparatus of claim 17 wherein x1e is equal to x1em minus δ, x1em being a measured value of x1, δ being a predetermined function of one or more of the estimates x1e, x2e, . . . , xke, . . . , xKe of the variables x1, x2, . . . , xk, . . . , xK.
  • 27. The apparatus of claim 26 wherein G is approximated by G*, G* being a linearized version of G.
  • 28. The apparatus of claim 26 wherein the value of x1c is determined by subtracting δ+δx1 from x1e.
  • 29. The apparatus of claim 17 wherein δ is the δx1 resulting from a prior execution of the method of claim 1.
  • 30. Apparatus for obtaining an accurate value x1c of a navigation variable x1 based on an estimate x1e that is a function of K variables x1, x2, . . . , xk, . . . , xK, the apparatus comprising:a plurality of sensors for obtaining a plurality of estimates x1e, x2e, . . . , xke, . . . , xKe of the variables x1, x2, . . . , xk, . . . , xK over a method-execution time period, x1e being the output of a navigation sensor, the values of the variables x1, x2, . . . , xk, . . . , xK changing or being changed during the method-execution time period; a means for obtaining from an external source the actual values x1a of x1 during the method-execution time period; a means for applying an operator G to the values of x1e−x1a and δx1, δx1 being a compensation model that is a function of one or more of the estimates x1e, x2e, . . . , xke, . . . , xKe of the variables x1, x2, . . . , xk, . . . , xK, the compensation model being further defined by I unknown constants a1, a2, . . . , ai, . . . , aI; a means for determining the values of a1, a2, . . . , ai, . . . , aI; a means for determining the value of x1c.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH AND DEVELOPMENT

The U.S. Government has a paid-up license in this invention and the right in limited circumstances to require the patent owner to license others on reasonable terms as provided for by the terms of contract No. DAAH01-95-C-R156 awarded by U.S. Dept of the Army. This invention was made with support under Contract No. DAAH01-95-C-R156 awarded by the U.S. Department of the Army, Army Missile Command. The Government of the United States of America has certain rights in this inventions.

US Referenced Citations (3)
Number Name Date Kind
5422817 Tazartes et al. Jun 1995
5505410 Diesel et al. Apr 1996
5890093 Mark et al. Mar 1999