INERTIAL NAVIGATION SYSTEM
20170363428 · 2017-12-21
Inventors
Cpc classification
F42B10/26
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F42B15/01
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F41G7/36
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
G01C21/188
PHYSICS
G01C21/16
PHYSICS
G01S19/49
PHYSICS
International classification
Abstract
An inertial measurement system for a spinning projectile comprising: first (roll), second and third gyros with axes arranged such that they define a three dimensional coordinate system; at least a first linear accelerometer; a controller, arranged to: compute a current projectile attitude comprising a roll angle, a pitch angle and a yaw angle; compute a current velocity vector from the accelerometer; combine a magnitude of said velocity vector with an expected direction for said vector to form a pseudo-velocity vector; provide the velocity vector and the pseudo-velocity vector to a Kalman filter that outputs a roll gyro scale factor error calculated as a function of the difference between the velocity vector and the pseudo-velocity vector; and apply the roll gyro scale factor error from the Kalman filter as a correction to the output of the roll gyro.
Claims
1. An inertial measurement system for a spinning projectile comprising: a first, roll gyro to be 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; at least a first linear accelerometer 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; compute a current projectile velocity vector from the outputs of at least the first linear accelerometer; combine a magnitude of said velocity vector with an expected direction for said vector to form a current projectile pseudo-velocity vector; provide the velocity vector and the pseudo-velocity vector to a Kalman filter that outputs a roll gyro scale factor error calculated as a function of the difference between the velocity vector and the pseudo-velocity vector; and apply the roll gyro scale factor error from the Kalman filter as a correction to the output of the roll gyro.
2. An inertial measurement system as claimed in claim 1, wherein the velocity vector and the pseudo-velocity vector each comprise two or more components of velocity; and wherein the velocity vector and the pseudo-velocity vector preferably each comprise two velocity components in the horizontal plane.
3. An inertial measurement system as claimed in claim 2, wherein said components are components in a navigation frame of reference.
4. An inertial measurement system as claimed in claim 1, wherein the difference between the velocity vector and the pseudo-velocity vector is treated as a velocity component of a Kalman filter innovation vector.
5. An inertial measurement system as claimed in claim 4, wherein the Kalman filter is arranged to update its state vector by adding a product of its gain matrix and said innovation vector.
6. An inertial measurement system as claimed in claim 1, wherein the controller is further arranged to increase velocity uncertainty in the Kalman filter when a subsequent phase of projectile flight commences.
7. An inertial measurement system as claimed in claim 6, wherein said subsequent phase of flight begins when a GPS signal is acquired.
8. An inertial measurement system as claimed in claim 6, wherein the controller is arranged to increase velocity uncertainty for a predetermined period of time.
9. An inertial measurement system as claimed in claim 6, wherein the controller is arranged to increase velocity uncertainty by adding system noise to the Kalman filter.
10. An inertial measurement system as claimed in claim 1, wherein the projectile is a longitudinal projectile and the spin axis is the longitudinal axis.
11. An inertial measurement system as claimed in claim 1, wherein the controller is arranged to apply the roll rate scale factor correction directly to the roll gyro output, and is arranged to apply the roll angle correction to an attitude integration unit.
12. An inertial measurement system as claimed in claim 1, wherein the roll gyro is a MEMS gyro.
13. An inertial measurement system as claimed in claim 1, wherein the expected direction for the velocity vector as a function of flight time corresponds to the direction expected from planar ballistic flight; or wherein the expected direction for the velocity vector as a function of flight time is taken from a pre-computed flight trajectory which may be non-planar.
14. An inertial measurement system as claimed in claim 1, wherein the roll angle correction and roll scale factor correction are only applied prior to any guidance action being initiated.
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; computing a current projectile velocity vector from the outputs of at least a first linear accelerometer; combining a magnitude of said velocity vector with an expected direction for said vector to form a current projectile pseudo-velocity vector; providing the velocity vector and the pseudo-velocity vector to a Kalman filter that outputs a roll gyro scale factor error calculated as a function of the difference between the velocity vector and the pseudo-velocity vector; and applying the roll gyro scale factor error from the Kalman filter as a correction to the output of a roll gyro.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0044] One or more non-limiting examples will now be described, by way of example only, and with reference to the accompanying figures in which:
[0045]
[0046]
[0047]
[0048]
[0049]
[0050] 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.
[0051]
[0052] 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. 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).
[0053] In
[0054]
[0055] 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.
[0056]
[0057] As part of the standard navigation system (ignoring for the moment the additional roll control functions of this example), the gyroscope outputs 210, 211, 212 are integrated by the attitude integration function 225 and the body mounted accelerometers 213, 214, 215 are integrated by velocity integration function 230.
[0058]
[0059] 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
[0060] C.sub.b.sup.n Transformation matrix—body to navigation reference frames
[0061] Ω.sub.rb.sup.b Body rotation rate in the body frame of reference
[0062] ψ.sub.Nom Nominal Heading angle
[0063] {dot over (φ)} Inertially measured roll rate
[0064] {tilde over (V)}.sub.N North component of pseudo-velocity measurement
[0065] {tilde over (V)}.sub.E East component of pseudo-velocity measurement
[0066] {tilde over (V)}.sub.D Down component of pseudo-velocity measurement
[0067] V.sub.N North component of inertially integrated velocity
[0068] V.sub.E East component of inertially integrated velocity
[0069] V.sub.D Down component of inertially integrated velocity
[0070] 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 {dot over (φ)} is also passed directly from the roll gyro 210 to the Kalman filter 270.
[0071] 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.
[0072] 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 pseudo-velocity calculation unit 300.
[0073] Within this unit 300, the projectile's estimated speed is calculated at 250 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.
[0074] Also within unit 300, a nominal heading is provided at 240. 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 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.
[0075] In box 260 the estimated speed (a scalar value) and the nominal heading (a unit vector) are combined together to form velocity pseudo-measurements {tilde over (V)}.sub.N, {tilde over (V)}.sub.E. These velocity pseudo-measurements {tilde over (V)}.sub.N, {tilde over (V)}.sub.E are provided as velocity components resolved into the navigation frame, as North and East components (as discussed above, in more complicated systems the Down component {tilde over (V)}.sub.D may be included here, but may be excluded in simpler systems). These pseudo-velocity components {tilde over (V)}.sub.N, {tilde over (V)}.sub.E resolve the measured speed into North and East components according to the expected heading such that the ratio of North to East speeds is what would be expected from the expected heading.
[0076] The velocity pseudo-measurements {tilde over (V)}.sub.N, {tilde over (V)}.sub.E are provided to the Kalman filter 270 for use in calculation of roll angle and roll scale factor error corrections.
[0077] Some aspects of the Kalman Filter 270 are illustrated in
[0078]
[0079] In the Kalman filter 270, the pseudo-velocity components {tilde over (V)}.sub.N, {tilde over (V)}.sub.E and the inertial navigation velocity components V.sub.N, V.sub.E, V.sub.D (all provided in the same reference frame, North-East-Down in this example) are provided to Difference calculator 320. Difference calculator 320 subtracts the pseudo-velocity components {tilde over (V)}.sub.N, {tilde over (V)}.sub.E from the respective velocity estimate components V.sub.N, V.sub.E 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.
[0080] The other aspects of the Kalman filter operation are standard and are therefore not described here.
[0081] 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-velocity measurements {tilde over (V)}.sub.N, {tilde over (V)}.sub.E are taken as an independent source of velocity measurement. Applying the pseudo-velocity 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 these would be used in place of the pseudo-velocity measurements within the Kalman filter
[0082] During the pseudo-velocity measurement update phase and prior to GPS acquisition, the pseudo-velocity 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. The filter 270 will also be estimating and applying position and velocity corrections at this time, but these will not be accurate; the reason for this is that the pseudo-velocity measurements are only accurate in a ratiometric sense—the scalar estimate of speed is correctly partitioned into north and east velocity components using the known, true heading, but the speed estimate itself will not be accurate and thus the pseudo-velocity measurements will not be accurate in an absolute sense.
[0083] This effect is not explicitly modelled and the Kalman filter's estimates of position and velocity uncertainties will therefore be optimistic—the filter 270 believes it is getting good estimates of velocity from the pseudo-measurements, but it isn't. Instead it is only receiving a good indication of the ratio of north velocity to east velocity.
[0084] The problem with this is that the filter will be poorly conditioned at the point in time at which GPS is acquired and accurate position and velocity updates become available. 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.
[0085] Therefore at the point of GPS acquisition and for some fixed period thereafter, the system noise added to the velocity states is 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.
[0086] This process is illustrated in