Inertial navigation system
10571271 ยท 2020-02-25
Assignee
Inventors
Cpc classification
G01C25/005
PHYSICS
F42B15/01
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F41G7/36
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
G01C21/188
PHYSICS
International classification
G01C25/00
PHYSICS
Abstract
An inertial measurement system comprising: a first, roll gyro with an axis oriented substantially parallel to the spin axis of the projectile; a second gyro and a third gyro with axes arranged with respect to the roll gyro; a controller, arranged to: compute a current projectile attitude from the outputs of the first, second and third gyros; operate a Kalman filter that receives a plurality of measurement inputs including at least roll angle, pitch angle and yaw angle and that outputs at least a roll angle error; initialise the Kalman filter with a roll angle error uncertainty representative of a substantially unknown roll angle; generate at least one pseudo-measurement from stored expected flight data; provide said pseudo-measurement(s) to the corresponding measurement input of the Kalman filter; and apply the roll angle error from the Kalman filter as a correction to the roll angle.
Claims
1. An inertial measurement system for a spinning projectile comprising: a first, roll gyro with an axis oriented substantially parallel to the spin axis of the projectile; a second gyro and a third gyro with axes arranged with respect to the roll gyro such that they define a three dimensional coordinate system; a controller, arranged to: compute a current projectile attitude from the outputs of the first, second and third gyros, the computed attitude comprising a roll angle, a pitch angle and a yaw angle; operate a Kalman filter that receives a plurality of measurement inputs including at least the roll angle, pitch angle and yaw angle and that outputs at least a roll angle error; initialise the Kalman filter with a roll angle error uncertainty representative of a substantially unknown roll angle; generate at least one pseudo-measurement from stored expected flight data, the or each pseudo-measurement corresponding to an expected measurement input of the Kalman filter; provide said pseudo-measurement(s) to the corresponding measurement input of the Kalman filter; and apply the roll angle error from the Kalman filter as a correction to the roll angle; wherein the Kalman filter is arranged to calculate the roll angle error as a function of the pseudo-measurement(s).
2. An inertial measurement system as claimed in claim 1, wherein the spinning projectile is arranged to be powered off at launch and to power up after launch.
3. An inertial measurement system as claimed in claim 1, wherein the roll angle uncertainty is initialised as at least 90 degrees, preferably at least 135 degrees, more preferably at least 160 degrees, and most preferably 180 degrees.
4. An inertial measurement system as claimed in claim 1, wherein the at least one pseudo-measurement comprises a pitch angle pseudo-measurement and a yaw angle pseudo-measurement generated from stored expected pitch angle data and stored expected yaw angle data respectively.
5. An inertial measurement system as claimed in claim 1, wherein the at least one pseudo-measurement comprises a GPS position pseudo-measurement generated from stored expected position data.
6. An inertial measurement system as claimed in claim 1, wherein the at least one pseudo-measurement comprises a GPS velocity pseudo-measurement generated from stored expected velocity data.
7. An inertial measurement system as claimed in claim 1, wherein the at least one pseudo-measurement comprises a velocity pseudo-measurement generated from a combination of measured platform speed with stored expected pitch angle and stored expected yaw angle.
8. An inertial measurement system as claimed in claim 4, wherein the difference between the pitch angle and the pitch angle pseudo-measurement is treated as a component of a Kalman filter innovation vector, and wherein the difference between the yaw angle and the yaw angle pseudo-measurement is treated as another component of a Kalman filter innovation vector.
9. An inertial measurement system as claimed in claim 1, wherein the controller is arranged to stop providing pseudo-measurements to the Kalman filter in a subsequent phase of flight.
10. An inertial measurement system as claimed in claim 1, wherein the controller is arranged to apply the roll angle correction to an attitude integration unit.
11. An inertial measurement system as claimed in claim 1, wherein the controller is arranged to calculate and apply a roll rate scale factor correction directly to the roll gyro output.
12. An inertial measurement system as claimed in claim 1, wherein the expected trajectory is planar ballistic flight or near-planar ballistic flight.
13. An inertial measurement system as claimed in claim 4, wherein the expected pitch angle and expected yaw angle or the expected position data or the expected velocity data as a function of flight time are taken from a pre-computed flight trajectory which may be non-planar.
14. An inertial measurement system as claimed in claim 1, wherein the expected trajectory is recalculated after an initial flight phase based on current estimated pitch and yaw angles from the inertial measurement system.
15. A method of correcting roll angle in an inertial measurement system for a spinning projectile, comprising: computing a current projectile attitude from the outputs of first, second and third gyros, the computed attitude comprising a roll angle, a pitch angle and a yaw angle; operating a Kalman filter that receives as inputs a plurality of measurements including at least the roll angle, pitch angle and yaw angle and that outputs at least a roll angle error; initialising the Kalman filter with a roll angle error uncertainty representative of a substantially unknown roll angle; generating at least one pseudo-measurement from stored expected flight data, the or each pseudo-measurement corresponding to an expected measurement input of the Kalman filter; providing said pseudo-measurement(s) to the corresponding measurement input of the Kalman filter; and applying the roll angle error from the Kalman filter as a correction to the roll angle; wherein the Kalman filter is arranged to calculate the roll angle error as a function of the pseudo-measurement(s).
Description
BRIEF DESCRIPTION OF DRAWINGS
(1) One or more non-limiting examples will now be described, by way of example only, and with reference to the accompanying figures in which:
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION
(8) The following describes a method to perform in-flight calibration of (i.e. to measure and correct) the roll axis rate gyro scale factor for an Inertial Measurement Unit (IMU) fitted to a rolling projectile 100.
(9)
(10) In inertial navigation terminology, the orientation of a body/platform is described in terms of the three Euler angles heading, elevation and bank. The equivalent terms yaw, pitch and roll are also in use and combinations of these terms may be used. For example it is common to refer to roll, pitch and heading. The body orientation is generally referred to using the term attitude. Although strictly speaking the term attitude refers only to the elevation and bank angles, in this document, the more general definition is used. Therefore in this document, the term attitude refers to all three of heading, elevation and bank (or equivalently yaw, pitch and roll).
(11) In
(12)
(13) The trajectory 130 can also be divided into a free inertial navigation phase 134 during which navigation is based solely on initial state information loaded into the projectile 100 pre-launch combined with inertial sensor readings from the on board gyros and accelerometers. GPS signal is not acquired until around the point indicated at 135 which may be around 20-25 seconds into flight for a typical munition for example. It is during this initial free inertial phase that it is most important to constrain the inertial navigation errors as otherwise the subsequent GPS-aided navigation phase will fail. With low-grade MEMS sensors, navigation errors (if not properly constrained) can accumulate to a large degree by this point. The roll axis gyro scale factor error is the main influence on these errors and therefore this is the most important error to constrain. After GPS acquisition at point 135 the projectile 100 enters the aided navigation phase 136 in which navigation is based on GPS aided by the on board sensors.
(14)
(15) In more complex systems, the attitude integration function may also take into account other corrections such as Earth Rate Correction, Transport Rate Correction, Coriolis & Centripetal Correction and Gravity Correction. These corrections and the associated transformations between reference frames are all well-known and understood and will therefore not be described further here. However, to aid understanding, the symbols in
(16) C.sub.b.sup.n Transformation matrixbody to navigation reference frames
(17) .sub.ib.sup.b Body rotation rate in the body frame of reference
(18) .sub.Nom Nominal Heading angle
(19) Inertially measured roll rate
(20) V.sub.N North component of inertially integrated velocity
(21) V.sub.E East component of inertially integrated velocity
(22) V.sub.D Down component of inertially integrated velocity
(23) .sub.Nom Nominal Elevation (pitch) angle
(24) {circumflex over ()} Estimated Heading angle
(25) {circumflex over ()} Estimated Elevation (pitch) angle
(26) Speed Scalar Value Representing Overall Platform Speed
(27) The attitude angles output from the attitude integration module 225 are passed as inputs to the Kalman filter 270. Similarly, the velocity components V.sub.N, V.sub.E, V.sub.D, output from the velocity integration module 230 are passed as inputs to the Kalman filter 270. The inertially measured roll rate is also passed directly from the roll gyro 210 to the Kalman filter 270.
(28) The Kalman filter 270 outputs a roll scale factor error that is directly applied as a correction to the roll gyro at 280. The Kalman filter 270 also outputs attitude corrections in the form of roll angle, pitch angle and yaw angle corrections to the attitude integration unit 225.
(29) The integrated velocity components (i.e. the velocity vector), V.sub.N, V.sub.E, V.sub.D, output from the velocity integration unit 230 are also passed to a pitch angle calculation unit 300. The pitch angle calculation unit 300 also takes initial pitch angle (i.e. initial launch angle) and flight time as inputs. The pitch angle calculation unit 300 can thus calculate an expected pitch angle on the basis of the expected turn rate of the projectile. For example, in the case of ballistic projectiles, the gravity turn rate is proportional to the current pitch angle and the current speed of the projectile. Thus, starting from the initial pitch angle and propagating this based on the time, the current turn rate and the current speed, an estimated pitch angle can be generated. It may be noted that the pitch angle profile for the trajectory could be pre-calculated entirely in advance, stored in a look-up table and simply read out according to flight time (and this may in fact give a more accurate pseudo-measurement of pitch angle). However, generating that pitch angle profile in advance can be time consuming, requiring additional information to be input during the mission-planning stage. Thus the pitch angle propagation based on current measured speed (according to the inertial navigation system) reduces the burden on the mission-planning exercise while still giving excellent results.
(30) Within this unit 300, the projectile's estimated speed is calculated as the root sum squared of the velocity components (i.e. {square root over (V.sub.N.sup.2+V.sub.E.sup.2+V.sub.D.sup.2)}). In this example, three velocity components are present, V.sub.N, V.sub.E, V.sub.D (being the North, East and Down components), but as discussed above it will be appreciated that a single component or two components (typically V.sub.N and V.sub.E, i.e. the horizontal components) may be used in some simplified systems.
(31) As indicated at 240, a nominal heading is also provided. This may simply be a stored value programmed into the navigation system prior to launch representing the launch heading. This would be adequate for the case of a projectile that is expected to follow a primarily planar ballistic trajectory in the early phase of flight, i.e. its heading is not expected to change. In other cases where the heading may change in a known and predictable manner, the nominal heading provided at 240 may be provided as a function of flight time, e.g. from a look-up table or calculated from a known function programmed into the navigation system.
(32) In box 260 the Euler angle pseudo-measurements and the Euler angle estimates from the inertial navigation system (specifically attitude integration unit 225) need to be manipulated mathematically so that they can be fed into the Kalman filter 270 as measurements and estimates of the Kalman filter error states. This manipulation is a series of transformations combined together into the H-matrix 260. Obtaining the correct matrix terms is an exercise in coordinate transformation; a transform is required that converts from the non-orthogonal Euler angle domain to the navigation tilt error domain. The overall transform is obtained using a combination of standard transforms which relate body axes, Euler angles and navigation axes. The latter will depend on how the user has formulated the integrated navigation Kalman filter. For some applications, typically those requiring higher accuracy, the navigation frame may be the local geographic frame i.e. a frame that is locally level/tangential to the earth at the current position (this is the frame which uses the notation north, east and down to describe the three axes). In some applications it may be appropriate to navigate in a local Cartesian frame with origin at the projectile launch location
(33) The contents of the H-matrix 260 and the raw pseudo-measurements .sub.Nom, .sub.Nom are provided to the Kalman filter 270 for use in calculation of roll angle and roll scale factor error corrections.
(34) Some aspects of the Kalman Filter 270 are illustrated in
(35)
(36) In the Kalman filter 270, the pseudo-Euler-angle components {tilde over ()}, {tilde over ()} and the inertial navigation velocity components {circumflex over ()}, {circumflex over ()} are provided to Difference calculator 320. Difference calculator 320 subtracts the pseudo-Euler angle components {tilde over ()}, {tilde over ()} from the respective Euler angle estimate components {circumflex over ()}, {circumflex over ()} from the inertial navigation unit 310, outputting vector Z. Z is treated by the Kalman filter 270 as the innovation, i.e. the residual error measurement. The Kalman filter state is then updated by adding a correction vector 340 which is calculated by multiplying the innovation Z by the Kalman gain matrix K, calculated at 350.
(37) The other aspects of the Kalman filter operation are standard and are therefore not described here.
(38) In normal Kalman filter operation the innovation is calculated as the difference between the current estimate of a variable and an independent measurement of the same variable provided by a sensor or other measurement source. Therefore in this example, the pseudo-Euler angle measurements {tilde over ()}, {tilde over ()} are taken as an independent source of Euler angle measurement. Applying the pseudo-Euler angle measurement updates in the early flight phase when no other aiding sensor measurements are available constrains the growth of attitude errors within the system. It should be appreciated that in the later phase of flight when GPS measurements may be available the Euler angle pseudo-measurement process would be suspended and integrated navigation would continue with conventional GPS measurement updates in their place.
(39) During the pseudo-Euler angle measurement update phase and prior to GPS acquisition, the pseudo-Euler angle updates serve to restrict the growth of attitude errors by constantly estimating and correcting errors in the roll gyro scale factor estimate and by making direct corrections to the attitude angles. In the filter 270, position and velocity correction processes will also be active at this time but any such corrections will not be accurate as the Euler angle pseudo-measurements provide no observability of the position or velocity error. Correct initialisation of the P-matrix and correct configuration of the system noise matrix 360 ensure that position and velocity uncertainties propagate accurately during the pseudo-measurement phase. This facilitates seamless transition to GPS measurement updates in a subsequent flight phase.
(40) In the particular case where pseudo-velocity measurements derived from speed and expected heading/pitch are used, the filter will be poorly conditioned at the point in time at which GPS is acquired and accurate position and velocity updates become available. In this particular implementation, the difference between current position and velocity estimates within the filter 270 and the GPS-supplied updates could be large and will generally by significantly larger than the prevailing uncertainty levels calculated by the filter 270. It is desirable to avoid this situation and a solution is to manipulate position and velocity state uncertainties in the filter 270 at the point of GPS acquisition. A technique called Q-boosting can be used. The Q matrix (or system noise matrix) is the mechanism for introducing uncertainty into the way the various system states propagate over time. Having non-zero values in the Q-matrix recognises that, although the filter 270 has a model of the propagation characteristics, the model is not perfect and some fuzziness is required. One way to address this is: at the point of GPS acquisition and for some fixed period thereafter, the system noise added to the velocity states can be artificially elevated, e.g. using a multiplicative factor. This elevated velocity uncertainty propagates quite naturally to the position states so there is no need to explicitly manipulate the position uncertainties. When a trigger occurs (e.g. a predetermined period of time or a GPS acquisition signal), a Q booster injects noise into the system noise matrix 360 (specifically onto the velocity elements of system noise matrix 360) for a limited period of time.
(41)
(42)
(43) In the Kalman filter 270, the pseudo-position and velocity components {tilde over (P)}.sub.N, {tilde over (P)}.sub.E, {tilde over (P)}.sub.D, {tilde over (V)}.sub.N, {tilde over (V)}.sub.E, {tilde over (V)}.sub.D (which are generated by Flight Path Aiding table 410 based on the flight time) and the inertial navigation velocity components {circumflex over (P)}.sub.N, {circumflex over (P)}.sub.E, {circumflex over (P)}.sub.D {circumflex over (V)}.sub.N, {circumflex over (V)}.sub.E, {circumflex over (V)}.sub.D are provided to Difference calculator 320. Difference calculator 320 subtracts the pseudo-position and velocity components {tilde over (P)}.sub.N, {tilde over (P)}.sub.E, {tilde over (P)}.sub.D, {tilde over (V)}.sub.N, {tilde over (V)}.sub.E, {tilde over (V)}.sub.D from the respective Euler angle estimate components {circumflex over (P)}.sub.N, {circumflex over (P)}.sub.E, {circumflex over (P)}.sub.D, {circumflex over (V)}.sub.N, {circumflex over (V)}.sub.E, {circumflex over (V)}.sub.D from the inertial navigation unit 310, outputting vector Z. Z is treated by the Kalman filter 270 as the innovation, i.e. the residual error measurement. The Kalman filter state is then updated by adding a correction vector 340 which is calculated by multiplying the innovation AZ by the Kalman gain matrix K, calculated at 350.
(44) The flight path aiding table 410 is prepared during a mission planning process using knowledge of the projectile (e.g. its aerodynamic properties), meteorology, etc. and is loaded onto the projectile (stored in a non-volatile memory).