EP3213033B1 - Method of estimating a navigation state constrained in terms of observability - Google Patents

Method of estimating a navigation state constrained in terms of observability Download PDF

Info

Publication number
EP3213033B1
EP3213033B1 EP15787940.4A EP15787940A EP3213033B1 EP 3213033 B1 EP3213033 B1 EP 3213033B1 EP 15787940 A EP15787940 A EP 15787940A EP 3213033 B1 EP3213033 B1 EP 3213033B1
Authority
EP
European Patent Office
Prior art keywords
matrix
state
observation
base
vectors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
EP15787940.4A
Other languages
German (de)
French (fr)
Other versions
EP3213033A1 (en
Inventor
Thierry Perrot
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Safran Electronics and Defense SAS
Original Assignee
Safran Electronics and Defense SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Safran Electronics and Defense SAS filed Critical Safran Electronics and Defense SAS
Publication of EP3213033A1 publication Critical patent/EP3213033A1/en
Application granted granted Critical
Publication of EP3213033B1 publication Critical patent/EP3213033B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/188Compensation of inertial measurements, e.g. for temperature effects for accumulated errors, e.g. by coupling inertial systems with absolute positioning systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/185Compensation of inertial measurements, e.g. for temperature effects for gravity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H21/00Adaptive networks
    • H03H21/0012Digital adaptive filters
    • H03H21/0025Particular filtering methods
    • H03H21/0029Particular filtering methods based on statistics
    • H03H21/003KALMAN filters

Definitions

  • the invention relates to the field of inertial navigation units.
  • the invention more particularly relates to a method for estimating the navigation state of a mobile carrier using an extended Kalman filter (generally abbreviated as EKF in the literature), as well as an inertial unit adapted to implement such a device. process.
  • EKF extended Kalman filter
  • An inertial navigation unit is an apparatus for providing real-time information on the state of a carrier: position, speed, orientation, etc. This information can be used to drive the wearer.
  • a known solution for estimating them consists in implementing in an inertial unit an extended Kalman filter which provides an estimated state of the carrier by merging data of inertial sensors (accelerometers, gyrometers), and of non-inertial sensors adapted to the type of carrier. (odometer, baro-altimeter, Doppler radar, GPS receiver, etc.). Inertial data play the role of commands, and non-inertial data that of observations.
  • the Kalman filter is an algorithm typically comprising a step of prediction and a step of updating repeated in time: the prediction step calculates a current state from a previous state and input commands; the update step refines the current state using observations. Prediction calculations are based on a propagation equation modeling the dynamics of state versus state and control. The update calculations are based on an observation equation modeling the observation as a function of the state.
  • the propagation and observation equations are linear and take the form of matrices that do not depend on the estimated state.
  • At least one of these functions is nonlinear.
  • the data fusion is obtained by linearizing these functions at the steps spread and update. Calculations are made using matrices that depend on the estimated state.
  • the extended Kalman filter can then be considered as an algorithm performing on the one hand non-linear calculations and on the other hand linear calculations performed in a Kalman filter inside the extended Kalman filter.
  • the state predicted by the nonlinear propagation equation will in the following be called "global state”.
  • the state estimated by the Kalman filter will be named "linearized state”.
  • the global state can be corrected by the information carried by the linearized state during resetting steps.
  • a Kalman filter (extended or not) also calculates a margin of error associated with the estimation of the state taking into account an estimation of the statistical error due to many factors such as initial errors and errors. noise of the inertial sensors used.
  • the statistical error at a given instant can be represented in the form of a cloud of points in the state space, each point corresponding to a possible realization.
  • the power station has a Gaussian statistical model of the error characterized at each instant by a zero average, and a covariance matrix. The latter defines the envelope of an ellipsoidal volume in the state space, centered on the null error, and containing 99.97% of the estimated errors in each direction of the state space. This envelope is subsequently called "envelope 3 sigma".
  • the figure 1 represents the evolution of an estimated 3 sigma envelope and a true sigma 3 envelope at different iterations of the Kalman filter.
  • the true sigma 3 envelope must be contained in the estimated 3 sigma envelope. This constitutes a coherence criterion that must be respected at all times and for all the realizations of the random variables of the system.
  • the Kalman filter improves observations over time with its observations, and 3 sigma envelopes tend to flatten the along certain so-called “observable” state space axes, as represented in figure 2 . Axes that are orthogonal to these are said to be "unobservable”.
  • the estimated envelope 3 sigma then takes an elongated shape along unobservable axes, which creates correlations between the estimated errors.
  • the cause of the inconsistencies is known: the linearization step, inherent to an extended Kalman filter, is noisy by the estimation errors. Indeed, this linearization is performed at the last estimate produced by the filter, estimated which is by definition an inaccurate data. The second-order changes produced on the linearized functions by this estimation noise then modify the observations and are the cause of the inconsistencies.
  • an observable variable can be considered by the unobservable filter but this case is very unlikely; and in a second case, an unobservable variable can be considered observable by the filter.
  • a state-of-the-art solution which in most cases makes it possible to compensate for the reduction in the estimated envelope 3 sigma consists in applying a model noise.
  • the EKF algorithm comprises an operation consisting of increasing the covariance in the prediction phase using a model noise matrix in order to take into account the variables and their dynamics that have not been modeled in the filter.
  • the noise matrix is diverted from its function because the reduction of the estimated envelope is not due to a modeling problem but to an observability problem.
  • the noises are often applied on the diagonal of the matrix of noises of model: Like the matrix of covariance, the diagonal of this matrix corresponds to the components of the linearized state followed by the filter. As a result, noise is not applied only in the direction of unobservable axes. As a result, the problem of coherence may not be completely solved, and moreover it may affect the accuracy of the estimates.
  • the applied noise includes a projection on unobservable axes and a projection on observable axes, these projections being able to evolve over time according to the evolution of the unobservable axes.
  • the estimated envelope elongates in a direction away from the true unobservable axis.
  • this ellipsoidal envelope which certainly becomes larger along its main axes, may no longer cover the cloud with true errors. It is therefore likely to remain an inconsistency.
  • the method according to the invention not only makes it possible to improve the consistency of the estimates but also makes it possible to improve the precision of the estimates, because the part of model noises used according to the state of the art to solve the problems of observability can be canceled.
  • this method modifies only very little the software architecture of the EKF filter, and can be implemented in the form of a light software update on equipment already in operation.
  • This update consists of adding a 2-matrix adjustment function, and reducing model noise settings.
  • the invention may also be supplemented by the following features, taken alone or in any of their technically possible combinations.
  • the adjustment may further comprise a step of orthogonalizing the primary base to a secondary base of vectors, the latter being memorized from one cycle to another, and the matrix gap associated with the observation matrix being calculated from the secondary base of vectors.
  • the matrix difference associated with the observation matrix may be the sum of several independent matrix deviations, each matrix difference being calculated from a vector of the secondary base which is specific to it.
  • the matrix difference associated with the transition matrix may also be the sum of several independent elementary matrix deviations, each matrix difference being calculated from a secondary vector of the secondary base stored during the previous cycle and from a vector Tertiary tertiary base calculated during the current cycle, the secondary and tertiary vectors being specific to the elementary matrix gap.
  • the matrix deviation elected may be the candidate matrix deviation associated with the metric representative of the smallest adjustment amplitude.
  • the offset can be implemented only if the metric of the matrix gap elected is less than a predetermined threshold.
  • an inertial unit comprising a plurality of sensors and an estimation module configured to estimate a navigation state of the multi-variable inertial unit by implementing the method according to the first aspect. of the invention.
  • an IN inertial unit is embarked on a mobile carrier P, such as a land vehicle, a helicopter, an airplane, etc.
  • the inertial unit IN comprises several parts: inertial sensors CI, complementary sensors CC, and means E to implement estimation calculations. These parts can be physically separated from each other.
  • the inertial sensors CI are typically accelerometers and / or gyrometers respectively measuring specific forces and rotational speeds that the wearer undergoes with respect to an inertial reference system.
  • the specific force corresponds to the acceleration of non-gravitational origin.
  • the central is called "strap down" type.
  • the complementary DC sensors are variable depending on the type of carrier, its dynamics, and the intended application.
  • Inertial units typically use a GNSS receiver (eg GPS).
  • GPS GNSS receiver
  • Cameras are another example of sensors.
  • the navigation estimating means E will subsequently be referred to as the "estimator”.
  • the output data of the estimator E are a state of navigation of the carrier and possibly internal states of the inertial unit.
  • the estimator E comprises in particular an extended EKF Kalman filter configured to merge the information given by the complementary sensors and the inertial sensors so as to provide an optimal estimate of the navigation information.
  • the global state X ( t ) comprises inter alia the coordinates of position, velocity, as well as the orientation of the carrier in the form of one or more rotations, each of them represented for example by a matrix or a quaternion of attitude.
  • the EKF filter operates iteratively according to a prediction step taking into account the measurements of the IC sensors and an update step taking into account the measurements of the DC sensors:
  • the prediction step includes predicting an estimated global state, and predicting an associated covariance.
  • k -1 g ( X k -1
  • k - 1 ⁇ k - 1 ⁇ k P ⁇ k - 1
  • k -1 ) Covariance innovation: S ⁇ k H k P ⁇ k - 1
  • k - 1 H k T + R k where H k corresponds to the observation matrix. Kalman gain: K k P ⁇ k - 1
  • the estimator E although close to this algorithm, is slightly different.
  • the updating of the overall state may not be totally additive, in particular to preserve the properties of the rotation matrices, and in particular also to take account of the rapid pace of measurements of the IC sensors.
  • the prediction of the estimated overall state can then be made at a faster rate than the other operations.
  • the difference in rhythm may depend on the dynamics of the wearer. Other differences are possible. For example, an approximation can be made on the transition matrix.
  • the estimation is implemented in successive iterations, each iteration being identified by an index k.
  • the prediction of the global state estimated according to a rate 1 is carried out in step 100.
  • a 1-cycle memory and a resetting step operate at the same rate.
  • This registration step takes into account data updated at a rate 2, which is slower.
  • Step 200 converts rate states 1 into rate states 2.
  • X k / k -1 , x k / k -1 , X k / k , x k / k this last state coming from the last update of the Kalman filter 400, represent in the order the predicted global state, the linearized state predicted, the updated global state, the state linearized updated.
  • the state x k / k -1 can in some cases always be 0.
  • transition and observation matrices are calculated in the linearization step 300.
  • the innovation is calculated from the predicted global state and from the observation of the CC sensors represented at the bottom of the figure 4 .
  • step 400 makes estimates using matrices, and constituting a Kalman filter, these estimates relating to linearized states and covariances.
  • a particularity stems from the fact that step 400 does not include a linearized state prediction, which may optionally be incorporated in step 100 at a rate of 1.
  • Step 401 includes predicting the covariance associated with the predicted global state and exploiting the transition matrix.
  • Step 402 includes calculating the covariance of the innovation, Kalman gains, updating the covariance of the global state, and updating the linearized state. This step exploits the observation matrix.
  • a first linearization point X ⁇ , k -1 makes it possible to calculate in step 300 the transition matrix ⁇ k -1 ⁇ k ( X ⁇ , k -1 ) at the Kalman period corresponding to the rate 2.
  • This point linearization corresponds to the global state estimated after the last resetting.
  • a second linearization point X H, k makes it possible to calculate at the Kalman cycle k in step 300 the observation matrix H k ( X H, k ) .
  • This linearization point is obtained from the calculations of step 100. It corresponds to the last predicted state before the next resetting.
  • transition matrix ⁇ k -1 ⁇ k ( X ⁇ , k -1 ) will now be denoted by ⁇ k -1 ⁇ k
  • observation matrix H k ( X H, k ) noted now.
  • H k . ⁇ k -1 ⁇ k and H k are each expressed as a function of an overall state corresponding to their respective linearization points X ⁇ , k -1 and X H, k .
  • the linearization step implemented in each Kalman cycle constitutes a weak point of the estimator E.
  • the estimation method comprises, in step 300, an additional adjustment step as a function of an observability condition, which adjusts, prior to their use by the Kalman filter, the matrices generated by this linearization step. : On the one hand, the transition matrix used to propagate the covariance matrix, and on the other hand the observation matrix.
  • the observability condition consists of a constraint imposed on the core of the observability matrix (the definition of this matrix is given in Appendix 6) through an adjustment of the transition and observation matrices so as to include in the core a predetermined model of unobservable vector subspace.
  • This model of non-observability consists of an equation in the state space of a vector subspace represented by a base, according to a global state, this vector subspace being updated at each cycle of Kalman. Including this subspace in the core of the observability matrix makes it unobservable and decreases the risk of inconsistency if the model is relevant.
  • the global state from which the non-observable rendered vector subspace is calculated corresponds to the linearization point of the observation function (see Annex 6).
  • a non-observable vector has indeed a zero image through the observation matrix, and this vector corresponds to a linearized state in the vicinity of a global state corresponding to the linearization point of the observation function.
  • a corresponding matrix difference will be calculated for each of the two transition and observation matrices.
  • stellar notations will be used in the following to designate the matrices of transition and observation obtained by the adjustment.
  • the flow of the data needed for the adjustment calculation is represented schematically on the figure 8 , highlighting the fact that the adjustment of the observation matrix depends on the linearization point of the observation function in the current Kalman cycle, and that the adjustment of the transition matrix depends on the linearization point of the observation function in the current cycle and in the previous cycle.
  • the figure 6 details the calculations leading to obtaining the two matrix differences relating to the transition and observation matrices at the Kalman cycle of instant k.
  • the transition matrix of the k-cycle k cycle k-1 cycle and the k-cycle observation matrix are adjusted according to a model of unobservability using the global state vectors X H, k -1 and X H, k , linearization points of the observation function at cycles k-1 and k.
  • This model makes it possible to estimate, in a step 301, the unobservable space of the linearized states in the form of an unobservable primary base. B k 1 .
  • Such a basis can be calculated for each Kalman cycle by using an analytical function obtained in the design of the filter according to the method presented in Annex 6 using a dynamic continuous-time system and then applied to the dynamic system. in discrete time used by the central navigation.
  • Appendix 1 An unobservable basic model specific to the static alignment is developed in Appendix 2.
  • the static alignment described in Annex 1 is an example of a situation in which the model does not take into account small, imperceptible movements that, in the short term, have no effect, but can be observed in the long term, which causes a slow decay of the envelope 3 true sigma on certain axes. It is proposed, for the sake of simplification of the model, not to take it into account and to model an unobservable base considering that these small movements are null, which is an example of simplification. In the In the second example of Appendix 1, the wave motion can be neglected to model the unobservable base.
  • the primary base B k 1 is orthogonalized to a secondary base B k 2 according to a variant of the Gramm-Schmitt method, the peculiarity coming from the fact that the vectors are not made unitary because the normalization is included implicitly in the formula of adjustment of the matrices presented thereafter.
  • This base B k 2 and the orthogonalization coefficients T k are stored in step 303 during a Kalman cycle.
  • the base B k 2 allows to calculate in a step 308 a matrix deviation ⁇ H k relative to the observation matrix H k , without inverting any matrix, which can reduce the calculation load.
  • This step can be omitted if the observation matrix is independent of the estimated state. In this case, the matrix difference is zero.
  • This decomposition thus makes it possible to parallelize the calculation of each elementary matrix difference and thus to shorten the calculation time of step 308.
  • the base B k 1 and the coefficients T k -1 make it possible to reconstruct an unobservable base B k / k - 1 3 in a reconstruction step referenced 304.
  • This base reconstructed at time k depends on the primary base at time k, but also orthogonalization coefficients at time k-1. Its index is therefore denoted k / k-1 corresponding to the moment k knowing the estimates at time k-1.
  • the basics B k - 1 2 and B k / k - 1 3 calculate the matrix difference ⁇ k -1 ⁇ k without matrix inversion.
  • the reconstruction step 304 may implement the following calculation:
  • a matrix difference relating to the transition matrix is calculated.
  • This decomposition thus makes it possible to parallelize the calculation of each elementary matrix difference and thus can make it possible to shorten the calculation time of step 306.
  • Annex 3 explains the origin of the calculation method, and Annex 8 gives a mathematical proof.
  • the calculation step 306 also produces a metric representative of an adjustment amplitude induced by the matrix difference relative to the transition matrix.
  • the calculation step 308 also produces a metric representative of an adjustment amplitude induced by the matrix difference relative to the observation matrix.
  • the same type of metric calculation can be implemented for the transition matrix and the observation matrix. For example, for the transition matrix, one calculates separately the square of the norm of the matrix difference, and that of the transition matrix. The metric then corresponds to the ratio of these two quantities, or to the square root of the ratio of these two quantities.
  • the standard optionally uses weighting coefficients to normalize the quantities involved in the state vector.
  • a position error may be of the order of a few meters, while an attitude error may be of the order of a few milli-radians.
  • the matrix norm can correspond to the norm of the vector that one would form by putting all the terms of the matrix in the form of a column vector (Froebenius norm).
  • Appendix 4 explains how to use weights in the calculation of metrics.
  • the calculation of metrics may use weighting functions g ⁇ () and g H (). If the observation matrix H k is independent of the estimated state, the matrix deviation ⁇ H k is zero, and its metric is zero. It is useless to calculate it. Identically, if the transition matrix is independent of the estimated state, the calculation of the associated metric may be omitted.
  • a shifting step 330 the transition matrix is summed to the associated matrix difference, so as to obtain an adjusted transition matrix; and the observation matrix is summed to the associated matrix gap, so as to obtain an adjusted observation matrix.
  • the sequence 310 illustrated in figure 6 producing a pair of matrix deviations and a pair of metrics can be implemented n times in parallel.
  • a decision step 320 one of the n matrix difference pairs is elected (for example the pair obtained by the adjustment corresponding to the situation i), and the shifting step is performed only with this pair of dies to produce the adjusted matrices.
  • the decision step 320 performs a likelihood test on each pair of matrix deviations, by inspecting the value of the corresponding metrics. This test makes it possible to make the decision to recognize this or that situation.
  • the matrix gap elected is the candidate matrix gap associated with the metric representative of the smallest adjustment amplitude. Thus, the adjustment is made with the most "likely" matrix deviations.
  • the likelihood criterion may relate to the adjustment of the transition matrix and / or the observation matrix.
  • the shift is implemented only if the metric of the matrix gap elected is less than a predetermined threshold: it may indeed be preferable not to shift the transition and observation matrices, if this offset is not considered sufficiently reliable and introduces additional noise into the system rather than correcting it.
  • the above estimation method can be implemented by a computer program executed by the calculating means of the inertial unit IN.
  • the identification card 1 comprises a computer program product comprising program code instructions for executing the steps of the method described, when this program is executed by the identification card 1.
  • ANNEX 1 Examples of risk situations of an inertial navigation unit operating an EKF filter
  • a first example relates to an inertial navigation unit in the static alignment phase on the ground.
  • the local vertical is estimated by measuring the gravity vector using the accelerometers
  • the orientation of the plant is estimated by measuring the rotational angular velocity vector of the earth using the gyrometers.
  • the observation used in this phase is typically ZUPT (Zero Velocity Update) which is an observation of a virtual sensor indicating that the speed of the carrier is zero by relation to the Earth.
  • the measurement error is modeled by a white noise.
  • inertial sensors sometimes record small non-random movements, for example due to wind or heat expansion effects. This corresponds to a deterministic measurement error not taken into account in the non-inertial sensor model producing the ZUPT observation.
  • a second example relates to an inertial navigation unit mounted on a surface vessel using a speed observation projection in the boat mark.
  • This non-inertial measurement is usually done using a "Loch" sensor and is more of a relative measure with respect to water.
  • the fact that it is made in projection in the boat mark creates a dependence of the measure vis-à-vis the attitude of the boat. It is possible then, assuming that only this observation is used, that an inconsistency appears between the estimates of the EKF filter and the true world, and that this inconsistency produces significant errors after several hours if the boat is sailing at constant heading. .
  • APPENDIX 2 Model of unobservable axes in static alignment
  • This annex presents the modeling of the unobservable basis for resolving the inconsistency of the first example in Appendix 1 using the proposed method.
  • Measurements acquired are speeds.
  • the carrier is supposed to be perfectly motionless in translation and rotation. Sensor faults are assumed to be constant over time.
  • the unobservable axes are as follows: Axis 1: v 1 Axis 2: v 2 Axis 3: v 3 Axis 4: v 4 ⁇ x ⁇ there ⁇ z ⁇ V x ⁇ V there ⁇ V z ⁇ x ⁇ there ⁇ z ⁇ b x m ⁇ b there m ⁇ b z m ⁇ K x m ⁇ K there m ⁇ K z m ⁇ d x m ⁇ d there m ⁇ d z m ⁇ 0 0 0 0 0 1 0 0 T m v 0 - boy Wut 0 0 0 0 0 T m v 0 - boy Wut 0 0 0 0 0 T m v 0 - vs 3 vs 2 0 0 0 0 0 0 0 0 1 0 T m v boy Wut 0 0
  • Matrix deviations are applied to the transition and observation matrices at each Kalman cycle based on a model of q unobservable axes v 1 , k ( X H, k ), v 2, k ( X H, k ), ... v q, k ( X H, k ) obtained at each cycle k according to functions of the global state X H, k corresponding to the linearization point of the observation matrix at the Kalman period.
  • the matrix standard considered is the Froboenius standard.
  • the image by the observation matrix adjusted for any linear combination of these vectors is therefore zero. It is therefore possible to orthogonalize the base, and then to apply the previous method to calculate the matrix difference of the observation matrix.
  • the image by the adjusted transition matrix of a linear combination of unobservable vectors corresponds to this same linear combination applied to the images by the same transition matrix of each of the unobservable starting vectors. It is therefore possible to determine the linear combination that makes it possible to orthogonalize the base of unobservable vectors at cycle k-1, and to use this same combination to transform the unobservable basic model to cycle k. This makes it possible to apply the previous method to calculate the matrix difference of the transition matrix.
  • Scalars m ⁇ and m H called “metrics” accompany the calculated adjustment matrices and give an indication of the relative amplitude of the adjustment, the aim being to modify as little as possible the transition and observation matrices.
  • weighting functions consists in first constructing a weighting function f of a state vector and then deducing g ⁇ and g H.
  • the evolution equation describes a state vector according to its previous state and a command.
  • the observation equation provides a scalar or vector dependent on the state vector. These equations can be non-linear. There are continuous time systems and discrete time systems.
  • X ( t ) and x k denote the state of the system
  • u ( t ) and u k denote the input control
  • z ( t ) and z k denote the observation at a continuous instant t or discrete instant k, according to the continuous or discrete representation mode.
  • the equations of Newton's classical mechanics make it possible to describe the state of a mobile marker as a function of its acceleration and its angular velocity at any moment.
  • observational properties of a dynamic system characterize the information on the state of the system at a given instant that can be obtained by taking into account observations made later and evolution and observation functions. These properties depend in particular on the control, that is to say the movements of the carrier in the case of the inertial navigation unit.
  • the space of linearized states at time 0 is then composed of an observable subspace and an unobservable subspace.
  • An observer working on the principle of linearization like the EKF, will never be able to estimate an error in the unobservable space of the linearized states.
  • the unobservable space at time 0 characterized by the state X 0 can then be deduced by considering the dynamic system of linearized states ⁇ X k , implementing the evolution function and the linearized observation function at different states.
  • the linearized evolution function at time k is called the "transition matrix" denoted by ⁇ k ⁇ k +1 ( X k ).
  • the linearized observation function at time k is denoted H k ( X k ) .
  • a first observation of the deviation ⁇ X 0 around X 0 is made using the observation matrix H 0 ( X 0 ) corresponding to the linearized observation function at X 0 .
  • a prediction of the difference ⁇ X 1 around X 1 is made from the difference ⁇ X 0 around X 0 using the transition matrix ⁇ 0 ⁇ 1 ( X 0 ) corresponding to the evolution function linearized in X 0 .
  • a second observation of the deviation ⁇ X 1 around X 1 is made using the observation matrix H 1 ( X 1 ), etc.
  • M X 0 H 0 X 0 H 1 X 1 ⁇ 0 ⁇ 1 X 0 H 2 X 2 ⁇ 1 ⁇ 2 X 1 ⁇ 0 ⁇ 1 X 0 ⁇
  • the unobservable space and the observable space therefore depend on the initial reference state X 0 , the input control (inertial data in the case of inertial units), and the evolution and observation functions.
  • v k ( X k ) forms a particular unobservable vector at a discrete moment k.
  • This condition applies at every moment and is related to the trajectory X 0 , X 1 , X 2 , ...
  • this trajectory is noisy by the estimation errors. This noise tends to reduce the core of the observability matrix, and therefore to reduce the size of the unobservable space.
  • transition and observation functions are not linearized at the same point.
  • the sequence X 0 , X 1 , X 2 , ... is replaced by a sequence X H, 0 , X ⁇ , 1 , X H, 1 , X ⁇ , 2 , X H, 2 , X ⁇ , 3 ,, ...
  • APPENDIX 8 Demonstration of the matrix fitting formula for an orthogonal vector basis
  • Condition (1) results in: ⁇ (i, j) tq i ⁇ j, U i ⁇ U j
  • the figure 7 shows that there are infinite solutions x kl .
  • the minimal solution corresponds to a vector ⁇

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Navigation (AREA)

Description

DOMAINE GENERALGENERAL AREA

L'invention se rapporte au domaine des centrales inertielles de navigation.The invention relates to the field of inertial navigation units.

L'invention concerne plus particulièrement un procédé d'estimation de l'état de navigation d'un porteur mobile utilisant un filtre de Kalman étendu (généralement abrégé EKF dans la littérature), ainsi qu'une centrale inertielle adaptée pour mettre en oeuvre un tel procédé.The invention more particularly relates to a method for estimating the navigation state of a mobile carrier using an extended Kalman filter (generally abbreviated as EKF in the literature), as well as an inertial unit adapted to implement such a device. process.

ETAT DE L'ARTSTATE OF THE ART

Une centrale inertielle de navigation est un appareil destiné à fournir en temps réel des informations sur l'état d'un porteur : sa position, sa vitesse, son orientation, etc. Ces informations peuvent être utilisées pour piloter le porteur.An inertial navigation unit is an apparatus for providing real-time information on the state of a carrier: position, speed, orientation, etc. This information can be used to drive the wearer.

Une solution connue pour les estimer consiste à mettre en oeuvre dans une centrale inertielle un filtre de Kalman étendu qui fournit un état estimé du porteur en fusionnant des données de capteurs inertiels (accéléromètres, gyromètres), et de capteurs non inertiels adaptés au type de porteur (odomètre, baro-altimètre, radar Doppler, récepteur GPS, etc). Les données inertielles jouent le rôle de commandes, et les données non inertielles celui d'observations.A known solution for estimating them consists in implementing in an inertial unit an extended Kalman filter which provides an estimated state of the carrier by merging data of inertial sensors (accelerometers, gyrometers), and of non-inertial sensors adapted to the type of carrier. (odometer, baro-altimeter, Doppler radar, GPS receiver, etc.). Inertial data play the role of commands, and non-inertial data that of observations.

Le filtre de Kalman est un algorithme comprenant typiquement une étape de prédiction et une étape de mise à jour répétées dans le temps : l'étape de prédiction calcule un état courant à partir d'un état précédent et de commandes d'entrée; l'étape de mise à jour affine l'état courant à l'aide d'observations. Les calculs de prédiction sont basés sur une équation de propagation modélisant la dynamique de l'état en fonction de l'état et de la commande. Les calculs de mise à jour sont basés sur une équation d'observation modélisant l'observation en fonction de l'état.The Kalman filter is an algorithm typically comprising a step of prediction and a step of updating repeated in time: the prediction step calculates a current state from a previous state and input commands; the update step refines the current state using observations. Prediction calculations are based on a propagation equation modeling the dynamics of state versus state and control. The update calculations are based on an observation equation modeling the observation as a function of the state.

Dans le filtre de Kalman, les équations de propagation et d'observation sont linéaires et prennent la forme de matrices ne dépendant pas de l'état estimé.In the Kalman filter, the propagation and observation equations are linear and take the form of matrices that do not depend on the estimated state.

Dans le filtre de Kalman étendu, l'une au moins de ces fonctions est non linéaire. La fusion de données est obtenue en linéarisant ces fonctions aux étapes de propagation et de mise à jour. Les calculs sont donc effectués en utilisant des matrices qui dépendent de l'état estimé.In the extended Kalman filter, at least one of these functions is nonlinear. The data fusion is obtained by linearizing these functions at the steps spread and update. Calculations are made using matrices that depend on the estimated state.

Le filtre de Kalman étendu peut alors être considéré comme un algorithme effectuant d'une part des calculs non linéaires et d'autre part des calculs linéaires effectués dans un filtre de Kalman à l'intérieur du filtre de Kalman étendu. L'état prédit par l'équation de propagation non linéaire sera dans la suite nommé « état global ». L'état estimé par le filtre de Kalman sera nommé « état linéarisé ». L'état global peut être corrigé par les informations portées par l'état linéarisé lors d'étapes de recalage.The extended Kalman filter can then be considered as an algorithm performing on the one hand non-linear calculations and on the other hand linear calculations performed in a Kalman filter inside the extended Kalman filter. The state predicted by the nonlinear propagation equation will in the following be called "global state". The state estimated by the Kalman filter will be named "linearized state". The global state can be corrected by the information carried by the linearized state during resetting steps.

Un filtre de Kalman (étendu ou non) calcule en outre une marge d'erreur associée à l'estimation de l'état en tenant compte d'une estimation de l'erreur statistique due à de nombreux facteurs tels que les erreurs initiales et les bruits des capteurs inertiels utilisés. L'erreur statistique à un instant donné peut se représenter sous forme d'un nuage de points dans l'espace d'état, chaque point correspondant à une réalisation possible. Pour estimer cette marge d'erreur, la centrale dispose d'un modèle statistique gaussien de l'erreur caractérisé à chaque instant par une moyenne nulle, et une matrice de covariance. Cette dernière définit l'enveloppe d'un volume ellipsoïdal dans l'espace d'état, centré sur l'erreur nulle, et contenant 99,97% des erreurs estimées dans chaque direction de l'espace d'état. Cette enveloppe est par la suite dénommée « enveloppe 3 sigma ».A Kalman filter (extended or not) also calculates a margin of error associated with the estimation of the state taking into account an estimation of the statistical error due to many factors such as initial errors and errors. noise of the inertial sensors used. The statistical error at a given instant can be represented in the form of a cloud of points in the state space, each point corresponding to a possible realization. To estimate this margin of error, the power station has a Gaussian statistical model of the error characterized at each instant by a zero average, and a covariance matrix. The latter defines the envelope of an ellipsoidal volume in the state space, centered on the null error, and containing 99.97% of the estimated errors in each direction of the state space. This envelope is subsequently called "envelope 3 sigma".

La vraie loi statistique d'erreurs est inconnue et caractérisée par une autre enveloppe 3 sigma. En général, cette enveloppe n'est pas centrée sur zéro et sa forme est non ellipsoïdale.The true statistical law of errors is unknown and characterized by another 3 sigma envelope. In general, this envelope is not centered on zero and its shape is non-ellipsoidal.

La figure 1 représente l'évolution d'une enveloppe 3 sigma estimée et une enveloppe 3 sigma vraie à différentes itérations du filtre de Kalman. L'enveloppe 3 sigma vraie doit être contenue dans l'enveloppe 3 sigma estimée. Ceci constitue un critère de cohérence à respecter à tout instant et pour toutes les réalisations des variables aléatoires du système.The figure 1 represents the evolution of an estimated 3 sigma envelope and a true sigma 3 envelope at different iterations of the Kalman filter. The true sigma 3 envelope must be contained in the estimated 3 sigma envelope. This constitutes a coherence criterion that must be respected at all times and for all the realizations of the random variables of the system.

En général, le filtre de Kalman améliore au moyen des observations son estimation dans le temps, et les enveloppes 3 sigma ont tendance à s'aplatir le long de certains axes de l'espace d'état dits « observables », comme représenté en figure 2 . Les axes qui sont orthogonaux à ces derniers sont dits « non observables ». L'enveloppe 3 sigma estimée prend alors une forme allongée selon les axes non observables, ce qui crée des corrélations entre les erreurs estimées.In general, the Kalman filter improves observations over time with its observations, and 3 sigma envelopes tend to flatten the along certain so-called "observable" state space axes, as represented in figure 2 . Axes that are orthogonal to these are said to be "unobservable". The estimated envelope 3 sigma then takes an elongated shape along unobservable axes, which creates correlations between the estimated errors.

Bien que l'imperfection du modèle utilisé par le filtre puisse jouer une part importante, il a été constaté que les non linéarités et les bruits du système empêchent souvent le critère de cohérence décrit ci-dessus d'être respecté lorsqu'un filtre de Kalman étendu est utilisé (par exemple, au temps T3 de la figure 2, l'enveloppe 3 sigma vraie n'est plus localisée à l'intérieur de l'enveloppe 3 sigma estimée le long d'un axe non observable).Although the imperfection of the model used by the filter can play an important part, it has been found that the nonlinearities and the noise of the system often prevent the criterion of coherence described above from being respected when a Kalman filter extended is used (for example, at time T3 of the figure 2 the true sigma 3 envelope is no longer located within the estimated 3 sigma envelope along an unobservable axis).

Sur le long terme, ces incohérences peuvent devenir importantes et se propager aux autres axes de l'espace vectoriel de l'état à estimer.In the long term, these inconsistencies can become important and spread to the other axes of the vector space of the state to be estimated.

Ces incohérences n'apparaissent généralement que dans des conditions particulières dépendant par exemple de la trajectoire du porteur et des conditions initiales. Ces conditions sont propres à l'observation et peuvent être très difficiles à prévoir. Elles sont d'autant plus fortes que l'observation est non linéaire.These inconsistencies generally appear only in particular conditions depending for example on the trajectory of the carrier and the initial conditions. These conditions are specific to observation and can be very difficult to predict. They are all the stronger as the observation is nonlinear.

La cause des incohérences est connue : l'étape de linéarisation, inhérente à un filtre de Kalman étendu, est bruitée par les erreurs d'estimation. En effet, cette linéarisation est effectuée à la dernière estimée produite par le filtre, estimée qui est par définition une donnée imprécise. Les modifications du second ordre produites sur les fonctions linéarisées par ce bruit d'estimation modifient alors les observations et sont la cause des incohérences.The cause of the inconsistencies is known: the linearization step, inherent to an extended Kalman filter, is noisy by the estimation errors. Indeed, this linearization is performed at the last estimate produced by the filter, estimated which is by definition an inaccurate data. The second-order changes produced on the linearized functions by this estimation noise then modify the observations and are the cause of the inconsistencies.

Dans un premier cas, une variable observable peut être considérée par le filtre non observable mais ce cas est très improbable; et dans un deuxième cas, une variable non observable peut être considérée observable par le filtre. Cela réduit l'enveloppe 3 sigma estimée le long des axes non observables alors qu'elle devrait conserver sa valeur initiale. Or, cela ne réduit pas le nuage d'erreur vrai le long de ces mêmes axes puisque ces derniers sont réellement non observables. Une part de plus en plus importante du nuage d'erreur vrai risque alors de ne plus se trouver à l'intérieur de l'enveloppe 3 sigma estimée dès que celle-ci commence à se réduire. Les conséquences de cette incohérence peuvent être importantes et dépendent de l'enveloppe initiale de long des axes non observables en défaut.In the first case, an observable variable can be considered by the unobservable filter but this case is very unlikely; and in a second case, an unobservable variable can be considered observable by the filter. This reduces the estimated 3 sigma envelope along unobservable axes while it should retain its initial value. However, this does not reduce the true error cloud along these same axes since they are actually unobservable. An increasingly important part of the true error cloud is then likely to be no longer inside the estimated 3 sigma envelope as soon as it begins to reduce oneself. The consequences of this inconsistency can be significant and depend on the initial envelope along unobservable axes in default.

Une solution de l'état de l'art permettant dans la plupart des cas de compenser la réduction de l'enveloppe 3 sigma estimée consiste à appliquer un bruit de modèle. L'algorithme EKF comporte en effet une opération consistant à augmenter la covariance en phase de prédiction à l'aide d'une matrice de bruits de modèles afin de tenir compte des variables et leur dynamique qui n'ont pas été modélisées dans le filtre. Dans ce problème de cohérence, la matrice de bruit est détournée de sa fonction car la réduction de l'enveloppe estimée n'est pas due à un problème de modélisation mais à un problème d'observabilité. De plus, pour des raisons d'architecture et de précision numérique de calcul, les bruits sont souvent appliqués sur la diagonale de la matrice de bruits de modèle : Tout comme la matrice de covariance, la diagonale de cette matrice correspond aux composantes de l'état linéarisé suivies par le filtre. En conséquence, le bruit n'est pas appliqué uniquement dans la direction des axes non observables. Il en résulte que le problème de cohérence risque de ne pas être totalement résolu, et que de plus cela nuit à la précision des estimations.A state-of-the-art solution which in most cases makes it possible to compensate for the reduction in the estimated envelope 3 sigma consists in applying a model noise. Indeed, the EKF algorithm comprises an operation consisting of increasing the covariance in the prediction phase using a model noise matrix in order to take into account the variables and their dynamics that have not been modeled in the filter. In this coherence problem, the noise matrix is diverted from its function because the reduction of the estimated envelope is not due to a modeling problem but to an observability problem. Moreover, for reasons of architecture and numerical precision of computation, the noises are often applied on the diagonal of the matrix of noises of model: Like the matrix of covariance, the diagonal of this matrix corresponds to the components of the linearized state followed by the filter. As a result, noise is not applied only in the direction of unobservable axes. As a result, the problem of coherence may not be completely solved, and moreover it may affect the accuracy of the estimates.

En effet, le bruit appliqué comporte une projection sur des axes non observables et une projection sur des axes observables, ces projections pouvant évoluer au cours du temps selon l'évolution des axes non observables. Plus la projection selon les axes observables est grande, et plus la valeur asymptotique de l'erreur est grande selon ces directions, et donc moins la précision des estimations est bonne.Indeed, the applied noise includes a projection on unobservable axes and a projection on observable axes, these projections being able to evolve over time according to the evolution of the unobservable axes. The larger the projection according to the observable axes, the greater the asymptotic value of the error according to these directions, and therefore the accuracy of the estimates is good.

La valeur du bruit à appliquer quant à elle n'est pas connue. Une valeur empirique est choisie, généralement grande afin de tenir compte de tous les cas connus posant problème. Cela aggrave le problème de la précision.The value of the noise to be applied as for it is not known. An empirical value is chosen, usually large to account for all known problem cases. This aggravates the problem of precision.

D'autre part, comme le bruit de modèle n'est pas appliqué dans la bonne direction, l'enveloppe estimée s'allonge selon une direction qui s'éloigne de l'axe non observable vrai. En conséquence, cette enveloppe ellipsoïdale, qui devient certes plus importante selon ses axes principaux, risque de ne plus recouvrir le nuage d'erreurs vraies. Il risque donc de subsister une incohérence.On the other hand, as the pattern noise is not applied in the right direction, the estimated envelope elongates in a direction away from the true unobservable axis. As a result, this ellipsoidal envelope, which certainly becomes larger along its main axes, may no longer cover the cloud with true errors. It is therefore likely to remain an inconsistency.

Le problème d'observabilité est donc traité selon l'état de l'art par une solution qui ne résout pas complètement le problème, et qui de plus nuit à la précision des estimations.The problem of observability is thus treated according to the state of the art by a solution which does not completely solve the problem, and which furthermore hinders the accuracy of the estimates.

On connaît par ailleurs du document WO 2014/130854 un procédé d'estimation d'un état utilisant un filtre de Kalman étendu EKF. Ce filtre EKF fait l'objet de contraintes d'observabilité; la matrice de transition et la matrice d'observation utilisées par ce filtre EKF font l'objet d'un ajustement.It is also known from the document WO 2014/130854 a method of estimating a state using an extended Kalman filter EKF. This EKF filter is subject to observability constraints; the transition matrix and the observation matrix used by this EKF filter are adjusted.

PRESENTATION DE L'INVENTIONPRESENTATION OF THE INVENTION

L'invention vise à estimer l'état global d'un porteur mobile régi par un modèle non-linéaire, tout en minimisant l'apparition des incohérences définies en introduction.
Il est dès lors proposé un procédé d'estimation d'un état de navigation à plusieurs variables d'un porteur mobile selon la méthode du filtre de Kalman étendu, comprenant les étapes de :

  • acquisition de mesures d'au moins une des variables,
  • filtrage de Kalman étendu produisant un état estimé courant et une matrice de covariance délimitant dans l'espace de l'état de navigation une région d'erreurs, à partir d'un état estimé précédent, d'une matrice d'observation, d'une matrice de transition et des mesures acquises,
le procédé étant caractérisé en ce qu'il comprend une étape d'ajustement de la matrice de transition et de la matrice d'observation avant leur utilisation dans le filtrage de Kalman étendu, de sorte que les matrices ajustées vérifient une condition d'observabilité qui dépend d'au moins une des variables de l'état du porteur, la condition d'observabilité étant adaptée pour empêcher le filtre de Kalman de réduire la dimension de la région le long d'au moins un axe non-observable de l'espace d'état,
dans lequel la condition d'observabilité à vérifier par les matrices de transition et d'observation ajustées est la nullité du noyau d'une matrice d'observabilité qui leur est associée, et
dans lequel l'ajustement comprend les étapes de :
  • calcul d'au moins une base primaire de vecteurs non-observables à partir de l'état estimé précédent,
  • pour chaque matrice à ajuster, calcul d'au moins un écart matriciel associé à la matrice à partir de la base primaire de vecteurs,
décalage de chaque matrice à ajuster selon l'écart matriciel qui lui est associé de sorte à vérifier la condition d'observabilité.The aim of the invention is to estimate the global state of a mobile carrier governed by a non-linear model, while minimizing the appearance of the inconsistencies defined in the introduction.
It is therefore proposed a method for estimating a multi-variable navigation state of a mobile carrier according to the extended Kalman filter method, comprising the steps of:
  • acquiring measurements of at least one of the variables,
  • extended Kalman filtering producing a current estimated state and a covariance matrix defining in the navigation state space a region of errors, from a previous estimated state, of an observation matrix, a transition matrix and acquired measures,
the method being characterized in that it comprises a step of adjusting the transition matrix and the observation matrix before their use in the extended Kalman filtering, so that the adjusted matrices verify an observability condition which depends on at least one of the variables of the carrier state, the observability condition being adapted to prevent the Kalman filter from reducing the dimension of the region along at least one unobservable axis of the space state,
in which the condition of observability to be verified by the adjusted transition and observation matrices is the nullity of the core of an observability matrix associated with them, and
wherein the adjustment comprises the steps of:
  • calculating at least one primary base of unobservable vectors from the previous estimated state,
  • for each matrix to be adjusted, calculating at least one matrix difference associated with the matrix from the primary vector base,
offset of each matrix to be adjusted according to the matrix gap associated therewith so as to verify the condition of observability.

Le procédé selon l'invention permet non seulement d'améliorer la cohérence des estimations mais permet en outre d'améliorer la précision des estimations, car la part de bruits de modèle utilisée selon l'état de l'art pour résoudre les problèmes d'observabilité peut être annulée.The method according to the invention not only makes it possible to improve the consistency of the estimates but also makes it possible to improve the precision of the estimates, because the part of model noises used according to the state of the art to solve the problems of observability can be canceled.

De plus, ce procédé ne modifie que très peu l'architecture logicielle du filtre EKF, et peut être mis en oeuvre sous forme d'une mise à jour logicielle légère sur des matériels déjà en opération. Cette mise à jour consiste en l'ajout d'une fonction d'ajustement de 2 matrices, et en une réduction des réglages de bruits de modèle.Moreover, this method modifies only very little the software architecture of the EKF filter, and can be implemented in the form of a light software update on equipment already in operation. This update consists of adding a 2-matrix adjustment function, and reducing model noise settings.

L'invention peut également être complétée par les caractéristiques suivantes, prises seules ou en une quelconque de leurs combinaisons techniquement possibles.The invention may also be supplemented by the following features, taken alone or in any of their technically possible combinations.

L'étape de filtrage de Kalman étendu peut comprendre les sous-étapes de :

  • propagation de l'état estimé précédent en un état prédit au moyen de la matrice de transition ajustée,
  • linéarisation en l'état prédit d'un modèle non-linéaire pour produire la matrice d'observation avant ajustement,
  • ajustement de la matrice d'observation produite par linéarisation.
The extended Kalman filtering step may include the substeps of:
  • propagating the previous estimated state to a predicted state using the adjusted transition matrix,
  • linearization in the predicted state of a non-linear model to produce the observation matrix before adjustment,
  • adjustment of the observation matrix produced by linearization.

Le fait de mettre en oeuvre la linéarisation après l'étape de propagation permet de faire sorte que cette linéarisation soit effectuée en un point de l'espace vectoriel plus vraisemblable : l'état prédit produit par l'étape de propagation. Dès lors, l'ajustement de la matrice d'observation tient compte de cette propagation, et fournit des résultats plus précis que dans le cas où la linéarisation est mise en oeuvre avant l'étape de propagation, en l'état estimé précédent.Implementing the linearization after the propagation step makes it possible for this linearization to be performed at a point in the vector space that is more likely to exist: the predicted state produced by the propagation step. Therefore, the adjustment of the observation matrix takes this propagation into account, and provides more accurate results than in the case where linearization is carried out before the propagation step, in the state estimated above.

L'ajustement peut en outre comprendre une étape d'orthogonalisation de la base primaire en une base secondaire de vecteurs, celle-ci étant mémorisée d'un cycle à l'autre, et l'écart matriciel associé à la matrice d'observation étant calculé à partir de la base secondaire de vecteurs.The adjustment may further comprise a step of orthogonalizing the primary base to a secondary base of vectors, the latter being memorized from one cycle to another, and the matrix gap associated with the observation matrix being calculated from the secondary base of vectors.

L'écart matriciel associé à la matrice d'observation peut être la somme de plusieurs écarts matriciels indépendants, chaque écart matriciel étant calculé à partir d'un vecteur de la base secondaire qui lui est propre.The matrix difference associated with the observation matrix may be the sum of several independent matrix deviations, each matrix difference being calculated from a vector of the secondary base which is specific to it.

Les étapes du procédé peuvent être répétées dans des cycles successifs. Un cycle donné, dit cycle courant, peut alors comprendre les étapes de:

  • mémorisation de la base secondaire de vecteurs et de coefficients d'orthogonalisation qui sont également produits par l'étape d'orthogonalisation, et
  • transformation de la base primaire de vecteurs en une base tertiaire de vecteurs au moyen de coefficients d'orthogonalisation mémorisés au cours d'un cycle précédent,
  • l'écart matriciel associé à la matrice de transition étant mis en oeuvre à partir d'une base secondaire mémorisée au cours du cycle précédent et de la base tertiaire calculée au cours du cycle courant.
The process steps can be repeated in successive cycles. A given cycle, called current cycle, can then include the steps of:
  • storing the secondary vector base and orthogonalization coefficients that are also produced by the orthogonalization step, and
  • transforming the primary vector base into a tertiary vector base by means of orthogonalization coefficients stored in a previous cycle,
  • the matrix difference associated with the transition matrix being implemented from a secondary base stored during the previous cycle and the tertiary base calculated during the current cycle.

L'écart matriciel associé à la matrice de transition peut en outre être la somme de plusieurs écarts matriciels élémentaires indépendants, chaque écart matriciel étant calculé à partir d'un vecteur secondaire de la base secondaire mémorisée au cours du cycle précédent et d'un vecteur tertiaire de la base tertiaire calculée au cours du cycle courant, les vecteurs secondaire et tertiaire étant propres à l'écart matriciel élémentaire.The matrix difference associated with the transition matrix may also be the sum of several independent elementary matrix deviations, each matrix difference being calculated from a secondary vector of the secondary base stored during the previous cycle and from a vector Tertiary tertiary base calculated during the current cycle, the secondary and tertiary vectors being specific to the elementary matrix gap.

Pour au moins une matrice à ajuster, on peut en outre calculer :

  • une pluralité d'écarts matriciels candidats, chaque écart matriciel candidat étant calculé à partir d'une base primaire de vecteurs non-observables respective, et
  • une pluralité de métriques, chaque métrique étant représentative d'une amplitude d'ajustement induite par un écart matriciel candidat respectif, l'étape de décalage de la matrice à ajuster étant mise en oeuvre selon un écart matriciel élu parmi les écarts matriciels candidats en fonction des métriques calculées.
For at least one matrix to be adjusted, it is also possible to calculate:
  • a plurality of candidate matrix gaps, each candidate matrix gap being calculated from a respective primary base of respective unobservable vectors, and
  • a plurality of metrics, each metric being representative of an adjustment amount induced by a respective candidate matrix deviation, the step of shifting the matrix to be adjusted being implemented according to a matrix difference elected among the candidate matrix differences as a function of the calculated metrics.

L'écart matriciel élu peut être l'écart matriciel candidat associé à la métrique représentative de l'amplitude d'ajustement la plus faible.The matrix deviation elected may be the candidate matrix deviation associated with the metric representative of the smallest adjustment amplitude.

Le décalage peut n'être mis en oeuvre que si la métrique de l'écart matriciel élu est inférieure à un seuil prédéterminé.The offset can be implemented only if the metric of the matrix gap elected is less than a predetermined threshold.

Selon un autre aspect de l'invention, il est proposé une centrale inertielle comprenant une pluralité de capteurs et un module d'estimation configuré pour estimer un état de navigation de la centrale inertielle à plusieurs variables par mise en oeuvre du procédé selon le premier aspect de l'invention.According to another aspect of the invention, there is provided an inertial unit comprising a plurality of sensors and an estimation module configured to estimate a navigation state of the multi-variable inertial unit by implementing the method according to the first aspect. of the invention.

DESCRIPTION DES FIGURESDESCRIPTION OF THE FIGURES

D'autres caractéristiques, buts et avantages de l'invention ressortiront de la description qui suit, qui est purement illustrative et non limitative, et qui doit être lue en regard des dessins annexés sur lesquels :

  • Les figures 1 et 2, déjà discutées, représentent deux évolutions d'enveloppes 3 sigma au cours du temps, au cours de la mise en oeuvre d'un filtre de Kalman étendu.
  • La figure 3 représente schématiquement un porteur embarquant une centrale inertielle selon un mode de réalisation de l'invention.
  • La figure 4 est le schéma fonctionnel d'un estimateur selon un mode de réalisation.
  • La figure 5 est le schéma fonctionnel d'un bloc de linéarisation et d'ajustement compris dans l'estimateur de la figure 2.
  • La figure 6 est le schéma fonctionnel d'un sous-bloc représenté sur la figure 5.
  • La figure 7 illustre une justification géométrique de l'ajustement de matrices utilisées par le filtre de Kalman.
  • La figure 8 représente un flux des données correspondant à la mise en oeuvre des étapes illustrées sur la figure 3.
Sur l'ensemble des figures, les éléments similaires portent des références identiques.Other features, objects and advantages of the invention will emerge from the description which follows, which is purely illustrative and nonlimiting, and which should be read with reference to the appended drawings in which:
  • The Figures 1 and 2 , already discussed, represent two evolutions of 3 sigma envelopes over time, during the implementation of an extended Kalman filter.
  • The figure 3 schematically represents a carrier carrying an inertial unit according to one embodiment of the invention.
  • The figure 4 is the block diagram of an estimator according to one embodiment.
  • The figure 5 is the block diagram of a linearization and adjustment block included in the estimator of the figure 2 .
  • The figure 6 is the block diagram of a sub-block shown on the figure 5 .
  • The figure 7 illustrates a geometric justification of the fit of matrices used by the Kalman filter.
  • The figure 8 represents a flow of data corresponding to the implementation of the steps illustrated on the figure 3 .
In all the figures, similar elements bear identical references.

DESCRIPTION DETAILLEE DE L'INVENTIONDETAILED DESCRIPTION OF THE INVENTION

En référence à la figure 3 , une centrale inertielle IN est embarquée sur un porteur mobile P, tel qu'un véhicule terrestre, un hélicoptère, un avion, etc.With reference to the figure 3 , an IN inertial unit is embarked on a mobile carrier P, such as a land vehicle, a helicopter, an airplane, etc.

La centrale inertielle IN comporte plusieurs parties : des capteurs inertiels CI, des capteurs complémentaires CC, et des moyens E pour mettre en oeuvre des calculs d'estimation. Ces parties peuvent être physiquement séparées les unes des autres.The inertial unit IN comprises several parts: inertial sensors CI, complementary sensors CC, and means E to implement estimation calculations. These parts can be physically separated from each other.

Les capteurs inertiels CI sont typiquement des accéléromètres et/ou des gyromètres mesurant respectivement des forces spécifiques et des vitesses de rotation que subit le porteur par rapport à un référentiel inertiel. La force spécifique correspond à l'accélération d'origine non gravitationnelle. Lorsque ces capteurs sont fixes par rapport au porteur, la centrale est dite de type « strap down».The inertial sensors CI are typically accelerometers and / or gyrometers respectively measuring specific forces and rotational speeds that the wearer undergoes with respect to an inertial reference system. The specific force corresponds to the acceleration of non-gravitational origin. When these sensors are fixed relative to the carrier, the central is called "strap down" type.

Les capteurs complémentaires CC sont variables selon le type de porteur, sa dynamique, et l'application visée. Les centrales inertielles utilisent typiquement un récepteur GNSS (GPS par exemple). Pour un véhicule terrestre, il s'agit également d'un ou de plusieurs odomètres. Pour un bateau, il peut s'agir d'un « loch », donnant la vitesse du bateau par rapport à celle de l'eau ou du fond marin. Les caméras forment un autre exemple de capteurs.The complementary DC sensors are variable depending on the type of carrier, its dynamics, and the intended application. Inertial units typically use a GNSS receiver (eg GPS). For a land vehicle, it is also one or more odometers. For a boat, it can be a "loch", giving the speed of the boat compared to that of the water or the seabed. Cameras are another example of sensors.

Les moyens d'estimation E de navigation seront par la suite désignés sous le terme « estimateur ».The navigation estimating means E will subsequently be referred to as the "estimator".

Les données de sortie de l'estimateur E sont un état de navigation du porteur et éventuellement d'états internes de la centrale inertielle.The output data of the estimator E are a state of navigation of the carrier and possibly internal states of the inertial unit.

L'estimateur E comprend notamment un filtre de Kalman étendu EKF configuré pour fusionner les informations données par les capteurs complémentaires et les capteurs inertiels de façon à fournir une estimation optimale des informations de navigation.The estimator E comprises in particular an extended EKF Kalman filter configured to merge the information given by the complementary sensors and the inertial sensors so as to provide an optimal estimate of the navigation information.

La fusion est faite d'après un système dynamique continu servant de modèle pour prédire l'état à chaque instant à l'aide d'une fonction de propagation f non linéaire, ainsi que la façon de l'observer à l'aide d'une fonction d'observation h pouvant être non linéaire également (voir à ce propos l'Annexe 5 rappelant quelques principes sur les systèmes dynamiques), cette fonction dépendant du type de capteur CC utilisé : { X ˙ t = f X t , u t z t = h X t

Figure imgb0001
u(t) représente la commande d'entrée constituée de la force spécifique et de la vitesse angulaire. Ces 2 grandeurs sont mesurées par les capteurs CI de façon discrète dans le temps selon une période T 1.The fusion is done according to a continuous dynamic system serving as a model to predict the state at each moment by means of a nonlinear propagation function f, as well as the way of observing it with the help of an observation function h which can be non-linear as well (see Appendix 5 recalling some principles on dynamic systems), this function depending on the type of DC sensor used: { X ˙ t = f X t , u t z t = h X t
Figure imgb0001
u (t) represents the input control consisting of the specific force and the angular velocity. These 2 quantities are measured by the IC sensors discretely in time according to a period T 1 .

L'état global X(t) comporte entre autres les coordonnées de position, de vitesse, ainsi que l'orientation du porteur sous forme d'une ou plusieurs rotations, chacune d'elles représentée par exemple par une matrice ou un quaternion d'attitude.The global state X ( t ) comprises inter alia the coordinates of position, velocity, as well as the orientation of the carrier in the form of one or more rotations, each of them represented for example by a matrix or a quaternion of attitude.

L'estimateur E exploite une version discrète de ces équations à temps continu obtenue selon les règles de l'état de l'art : { X k = g X k 1 , u k 1 z k = h X k

Figure imgb0002
The estimator E exploits a discrete version of these equations with continuous time obtained according to the rules of the state of the art: { X k = boy Wut X k - 1 , u k - 1 z k = h X k
Figure imgb0002

Le filtre EKF fonctionne de manière itérative selon une étape de prédiction prenant en compte les mesures des capteurs CI et une étape de mise à jour prenant en compte les mesures des capteurs CC :
L'étape de prédiction comprend la prédiction d'un état global estimé, et la prédiction d'une covariance associée.
Prédiction état global estimé : X̂ k|k-1 = g( k-1|k-1,u k-1)
Prédiction covariance associée : P ^ k | k 1 = φ k 1 k P ^ k 1 | k 1 φ k 1 k T + Q k 1

Figure imgb0003
φ k-1→k correspond à la matrice de transition dépendant de la fonction de propagation f, et Q la matrice de bruits de modèle.The EKF filter operates iteratively according to a prediction step taking into account the measurements of the IC sensors and an update step taking into account the measurements of the DC sensors:
The prediction step includes predicting an estimated global state, and predicting an associated covariance.
Predicted global state prediction: X k | k -1 = g ( X k -1 | k -1 , u k -1 )
Associated covariance prediction: P ^ k | k - 1 = φ k - 1 k P ^ k - 1 | k - 1 φ k - 1 k T + Q k - 1
Figure imgb0003
where φ k- 1 → k corresponds to the transition matrix depending on the propagation function f, and Q the model noise matrix.

L'étape de mise à jour utilise les variables suivantes :
Innovation : k = zk - h( k|k-1)
Covariance innovation : S ^ k = H k P ^ k 1 | k 1 H k T + R k

Figure imgb0004
Hk correspond à la matrice d'observation.
Gain de Kalman : K k = P ^ k 1 | k 1 H k T S k 1
Figure imgb0005
The update step uses the following variables:
Innovation: k = z k - h ( X k | k -1 )
Covariance innovation: S ^ k = H k P ^ k - 1 | k - 1 H k T + R k
Figure imgb0004
where H k corresponds to the observation matrix.
Kalman gain: K k = P ^ k - 1 | k - 1 H k T S k - 1
Figure imgb0005

La mise à jour est mis en oeuvre comme suit :

  • Mise à jour état global estimé : k | k = k|k-1 + Kkk
  • Mise à jour covariance associée : k | k = (I - KkHk ) k|k-1
    • Matrice de transition théorique : φ k 1 k = k 1 T k T e x p F τ d τ
      Figure imgb0006
    • Avec : F t = f X | X t , u t
      Figure imgb0007
    • Matrice d'observation : H k = h X | X ^ k | k 1
      Figure imgb0008
The update is implemented as follows:
  • Estimated global status update: X k | k = X k | k -1 + K kk
  • Associated covariance update: P k | k = ( I - K k H k ) P k | k -1
    • Theoretical transition matrix: φ k - 1 k = k - 1 T k T e x p F τ d τ
      Figure imgb0006
    • With: F t = f X | X t , u t
      Figure imgb0007
    • Observation matrix: H k = h X | X ^ k | k - 1
      Figure imgb0008

L'estimateur E bien que proche de cet algorithme en est légèrement différent. La mise à jour de l'état global peut ne pas se faire de façon totalement additive, notamment pour préserver les propriétés des matrices de rotation, et notamment également pour tenir compte du rythme rapide des mesures des capteurs CI. La prédiction de l'état global estimé peut se faire alors à un rythme plus rapide que celui des autres opérations. La différence de rythme peut dépendre de la dynamique du porteur. D'autres différences sont possibles. Par exemple, une approximation peut être faite sur la matrice de transition.The estimator E, although close to this algorithm, is slightly different. The updating of the overall state may not be totally additive, in particular to preserve the properties of the rotation matrices, and in particular also to take account of the rapid pace of measurements of the IC sensors. The prediction of the estimated overall state can then be made at a faster rate than the other operations. The difference in rhythm may depend on the dynamics of the wearer. Other differences are possible. For example, an approximation can be made on the transition matrix.

Est illustré sur la figure 4 un estimateur E selon un mode de réalisation comprenant différents blocs fonctionnels correspondant à des étapes respectives de sa mise en oeuvre.Is illustrated on the figure 4 an estimator E according to an embodiment comprising different functional blocks corresponding to respective steps of its implementation.

L'estimation est mis en oeuvre en itérations successives, chaque itération étant identifiée par un indice k.The estimation is implemented in successive iterations, each iteration being identified by an index k.

La prédiction de l'état global estimé selon une cadence 1 est effectuée dans l'étape 100.The prediction of the global state estimated according to a rate 1 is carried out in step 100.

Une mémoire sur 1 cycle, ainsi qu'une étape de recalage fonctionnent au même rythme. Cette étape de recalage prend en compte des données mises à jour à une cadence 2, plus lente.A 1-cycle memory and a resetting step operate at the same rate. This registration step takes into account data updated at a rate 2, which is slower.

Tous les autres traitements fonctionnent à la cadence 2. L'étape 200 convertit des états de cadence 1 en des états de cadence 2. A la cadence 2, k/k-1, k/k-1, k/k , k/ k, ce dernier état provenant de la dernière mise à jour du filtre de Kalman 400, représentent dans l'ordre l'état global prédit, l'état linéarisé prédit, l'état global mis à jour, l'état linéarisé mis à jour. L'état k/k-1, peut dans certains cas être toujours à 0.All other processes operate at rate 2. Step 200 converts rate states 1 into rate states 2. At rate 2, X k / k -1 , x k / k -1 , X k / k , x k / k , this last state coming from the last update of the Kalman filter 400, represent in the order the predicted global state, the linearized state predicted, the updated global state, the state linearized updated. The state x k / k -1 , can in some cases always be 0.

Les matrices de transition et d'observation sont calculées dans l'étape de linéarisation 300. Une sous-étape d'ajustement, propre à l'invention et détaillée plus loin, y est ajoutée.The transition and observation matrices are calculated in the linearization step 300. An adjustment sub-step, specific to the invention and detailed below, is added thereto.

L'innovation est calculée d'après l'état global prédit et d'après l'observation des capteurs CC représentée en bas de la figure 4 . The innovation is calculated from the predicted global state and from the observation of the CC sensors represented at the bottom of the figure 4 .

Les autres étapes de l'EKF sont regroupées dans l'étape 400 réalisant des estimations à l'aide de matrices, et constituant un filtre de Kalman, ces estimations portant sur des états linéarisés et des covariances. Une particularité provient du fait que l'étape 400 ne comporte pas de prédiction d'état linéarisé, laquelle peut éventuellement être incorporée dans l'étape 100 à cadence 1.The other steps of the EKF are grouped in step 400 making estimates using matrices, and constituting a Kalman filter, these estimates relating to linearized states and covariances. A particularity stems from the fact that step 400 does not include a linearized state prediction, which may optionally be incorporated in step 100 at a rate of 1.

L'étape 401 comporte la prédiction de la covariance associée à l'état global prédit et exploite la matrice de transition. L'étape 402 comporte le calcul de la covariance de l'innovation, des gains de Kalman, de la mise à jour de la covariance de l'état global, et de la mise à jour de l'état linéarisé. Cette étape exploite la matrice d'observation.Step 401 includes predicting the covariance associated with the predicted global state and exploiting the transition matrix. Step 402 includes calculating the covariance of the innovation, Kalman gains, updating the covariance of the global state, and updating the linearized state. This step exploits the observation matrix.

Les points de linéarisation dans l'étape 300 peuvent être calculés en fonction de k/k-1, k/k-1, k/k , k/k , ce dernier état provenant de la dernière mise à jour du filtre de Kalman 400. Si k/k-1, = k/k = 0, alors φ,k-1 = k-1/k-1 et H,k = k/k-1.The linearization points in the step 300 can be calculated as a function of X k / k -1 , x k / k -1 , X k / k , x k / k , the latter state coming from the last update of the Kalman filter 400. If x k / k -1 , = x k / k = 0, then X φ, k -1 = X k -1 / k -1 and X H, k = X k / k -1 .

Un premier point de linéarisation φ,k-1 permet de calculer dans l'étape 300 la matrice de transition φ k-1→k( φ,k-1) à la période de Kalman correspondant à la cadence 2. Ce point de linéarisation correspond à l'état global estimé après le dernier recalage.A first linearization point X φ , k -1 makes it possible to calculate in step 300 the transition matrix φ k -1 → k ( X φ, k -1 ) at the Kalman period corresponding to the rate 2. This point linearization corresponds to the global state estimated after the last resetting.

Un deuxième point de linéarisation H,k permet de calculer au cycle de Kalman k dans l'étape 300 la matrice d'observation Hk (H,k ). Ce point de linéarisation est obtenu d'après les calculs de l'étape 100. Il correspond au dernier état prédit avant le prochain recalage.A second linearization point X H, k makes it possible to calculate at the Kalman cycle k in step 300 the observation matrix H k ( X H, k ) . This linearization point is obtained from the calculations of step 100. It corresponds to the last predicted state before the next resetting.

Afin de simplifier les notations, la matrice de transition φ k-1→k ( φ,k-1) sera notée désormais φ k-1→k , et la matrice d'observation Hk (H,k ) notée désormais Hk . φ k-1→k et Hk s'expriment donc chacune en fonction d'un état global correspondant à leurs points de linéarisation respectifs φ,k-1 et H,k .In order to simplify the notations, the transition matrix φ k -1 → k ( X φ, k -1 ) will now be denoted by φ k -1 → k , and the observation matrix H k ( X H, k ) noted now. H k . φ k -1 → k and H k are each expressed as a function of an overall state corresponding to their respective linearization points X φ, k -1 and X H, k .

Comme dit précédemment, les étapes sont répétées récursivement à l'itération suivante d'instant k+1 à la cadence 2, cadence du filtre de Kalman.As said before, the steps are repeated recursively at the next iteration of time k + 1 at rate 2, rate of the Kalman filter.

Ajustement des matrices de transition et d'observationAdjustment of transition and observation matrices

L'étape de linéarisation mise en oeuvre dans chaque cycle de Kalman constitue un point faible de l'estimateur E.The linearization step implemented in each Kalman cycle constitutes a weak point of the estimator E.

Aussi, le procédé d'estimation comprend dans l'étape 300, une étape supplémentaire d'ajustement en fonction d'une condition d'observabilité, venant ajuster, avant leur utilisation par le filtre de Kalman, les matrices générées par cette étape de linéarisation : D'une part la matrice de transition servant à propager la matrice de covariance, et d'autre part la matrice d'observation.Also, the estimation method comprises, in step 300, an additional adjustment step as a function of an observability condition, which adjusts, prior to their use by the Kalman filter, the matrices generated by this linearization step. : On the one hand, the transition matrix used to propagate the covariance matrix, and on the other hand the observation matrix.

La condition d'observabilité consiste en une contrainte imposée au noyau de la matrice d'observabilité (la définition de cette matrice est indiquée en annexe 6) au travers d'un ajustement des matrices de transition et d'observation de façon à inclure dans le noyau un modèle prédéterminé de sous-espace vectoriel non observable. Ce modèle de non-observabilité consiste en une équation dans l'espace d'état d'un sous-espace vectoriel représenté par une base, en fonction d'un état global, ce sous-espace vectoriel étant mis à jour à chaque cycle de Kalman. Le fait d'inclure ce sous-espace dans le noyau de la matrice d'observabilité le rend non observable et diminue le risque d'incohérence si le modèle est pertinent.The observability condition consists of a constraint imposed on the core of the observability matrix (the definition of this matrix is given in Appendix 6) through an adjustment of the transition and observation matrices so as to include in the core a predetermined model of unobservable vector subspace. This model of non-observability consists of an equation in the state space of a vector subspace represented by a base, according to a global state, this vector subspace being updated at each cycle of Kalman. Including this subspace in the core of the observability matrix makes it unobservable and decreases the risk of inconsistency if the model is relevant.

L'état global à partir duquel est calculé le sous-espace vectoriel rendu non observable correspond au point de linéarisation de la fonction d'observation (Voir annexe 6). Un vecteur non observable a en effet une image nulle au travers de la matrice d'observation, et ce vecteur correspond à un état linéarisé au voisinage d'un état global correspondant au point de linéarisation de la fonction d'observation.The global state from which the non-observable rendered vector subspace is calculated corresponds to the linearization point of the observation function (see Annex 6). A non-observable vector has indeed a zero image through the observation matrix, and this vector corresponds to a linearized state in the vicinity of a global state corresponding to the linearization point of the observation function.

Au cours de l'étape d'ajustement, on va calculer, pour chacune des deux matrices de transition et d'observation, un écart matriciel correspondant.During the adjustment step, a corresponding matrix difference will be calculated for each of the two transition and observation matrices.

Par convention, on utilisera dans la suite des notations étoilées pour désigner les matrices de transition et d'observation obtenues par l'ajustement.By convention, stellar notations will be used in the following to designate the matrices of transition and observation obtained by the adjustment.

Le flux des données nécessaires au calcul d'ajustement est représenté de façon schématique sur la figure 8, mettant en évidence le fait que l'ajustement de la matrice d'observation dépend du point de linéarisation de la fonction d'observation dans le cycle de Kalman courant, et que l'ajustement de la matrice de transition dépend du point de linéarisation de la fonction d'observation dans le cycle courant et dans le cycle précédent.The flow of the data needed for the adjustment calculation is represented schematically on the figure 8 , highlighting the fact that the adjustment of the observation matrix depends on the linearization point of the observation function in the current Kalman cycle, and that the adjustment of the transition matrix depends on the linearization point of the observation function in the current cycle and in the previous cycle.

Il est donc nécessaire d'exploiter une base Bk générant le sous-espace vectoriel non observable au cycle k, ainsi qu'une base B k-1 générant le sous-espace vectoriel non observable au cycle k-1.It is therefore necessary to exploit a base B k generating the unobservable vector subspace at cycle k, and a base B k -1 generating the unobservable vector subspace at cycle k-1.

Il est possible alors, sur un cycle de Kalman, de mémoriser le point de linéarisation et de générer 2 fois par cycle la base non observable, ainsi que cela est représenté sur la figure X. Il est possible de façon équivalente sur un cycle de Kalman, de mémoriser la base non observable de façon à ne la générer qu'une fois par cycle. Cette deuxième option correspond au schéma de principe de la figure 6 . Celle-ci détaille les fonctions d'ajustement décrites sur la figure 5 . It is then possible, on a Kalman cycle, to memorize the linearization point and to generate 2 times per cycle the unobservable base, as it is represented in FIG. X. It is possible in an equivalent way on a Kalman cycle. , to memorize the unobservable base so as to generate it only once per cycle. This second option corresponds to the schematic diagram of the figure 6 . This details the adjustment functions described on the figure 5 .

La figure 6 détaille les calculs conduisant à l'obtention des deux écarts matriciels relatifs aux matrices de transition et d'observation au cycle de Kalman d'instant k.The figure 6 details the calculations leading to obtaining the two matrix differences relating to the transition and observation matrices at the Kalman cycle of instant k.

La matrice de transition du cycle de Kalman k-1 au cycle k et la matrice d'observation au cycle k sont ajustées d'après un modèle de non observabilité utilisant les vecteurs d'état globaux H,k-1 et H,k , points de linéarisation de la fonction d'observation aux cycles k-1 et k. Ce modèle permet d'estimer, dans une étape 301, l'espace non observable des états linéarisés sous forme d'une base primaire non observable B k 1 .

Figure imgb0009
Une telle base peut être calculée à chaque cycle de Kalman en utilisant une fonction analytique obtenue lors de la conception du filtre d'après la méthode présentée en Annexe 6 à l'aide d'un système dynamique à temps continu, puis appliquée au système dynamique à temps discret utilisé par la centrale de navigation.The transition matrix of the k-cycle k cycle k-1 cycle and the k-cycle observation matrix are adjusted according to a model of unobservability using the global state vectors X H, k -1 and X H, k , linearization points of the observation function at cycles k-1 and k. This model makes it possible to estimate, in a step 301, the unobservable space of the linearized states in the form of an unobservable primary base. B k 1 .
Figure imgb0009
Such a basis can be calculated for each Kalman cycle by using an analytical function obtained in the design of the filter according to the method presented in Annex 6 using a dynamic continuous-time system and then applied to the dynamic system. in discrete time used by the central navigation.

Deux exemples de situations à risques pouvant être traitées selon le procédé de l'invention sont décrits en annexe 1. Un modèle de base non observable propre à l'alignement statique est développé en Annexe 2.Two examples of risk situations that can be treated according to the method of the invention are described in Appendix 1. An unobservable basic model specific to the static alignment is developed in Appendix 2.

Des hypothèses simplificatrices sont nécessairement faites pour élaborer ce modèle lors de la phase de conception car aucune équation contenant un nombre limité de variables ne peut représenter le monde vrai. Il est possible ainsi que le nuage d'erreur vrai se réduise lentement selon toutes les directions de l'espace d'état mais que l'EKF, en raison des non-linéarités et des bruits d'estimation, estime une décroissance plus rapide selon certains axes, ce qui crée une incohérence. Il est possible alors de modéliser la décroissance lente selon un certain axe par une décroissance nulle dans le temps et de considérer cet axe non observable afin de pouvoir y imposer une contrainte. Cette simplification réduit légèrement la précision mais garantit la cohérence des estimations. Mais comme il n'est plus nécessaire de recourir à des bruits de modèle pour empêcher l'enveloppe 3 sigma estimée de se réduire le long des axes non observables, il en découle finalement un gain en précision.Simplifying assumptions are necessarily made to develop this model during the design phase because no equation containing a limited number of variables can represent the true world. It is possible that the true error cloud is slowly decreasing in all directions of the state space but that the EKF, due to nonlinearities and estimation noise, estimates a faster decay according to certain axes, which creates an inconsistency. It is then possible to model the slow decay along a certain axis by a zero decay in time and to consider this unobservable axis in order to be able to impose a constraint. This simplification slightly reduces accuracy but ensures consistency of estimates. But since it is no longer necessary to resort to model noise to prevent the envelope 3 sigma estimated to be reduced along unobservable axes, it ultimately results in a gain in accuracy.

L'alignement statique décrit en annexe 1 est un exemple de situation dans laquelle le modèle ne prend pas en compte les petits mouvements imperceptibles qui, à court terme n'ont pas d'effet, mais qui peuvent être observés sur le long terme, ce qui provoque une décroissance lente de l'enveloppe 3 sigma vraie sur certains axes. Il est proposé, par soucis de simplification du modèle, de ne pas en tenir compte et de modéliser une base non observable en considérant que ces petits mouvements sont nuls, ce qui est un exemple de simplification. Dans le deuxième exemple de l'annexe 1, le mouvement de houle peut au même titre être négligé pour modéliser la base non observable.The static alignment described in Annex 1 is an example of a situation in which the model does not take into account small, imperceptible movements that, in the short term, have no effect, but can be observed in the long term, which causes a slow decay of the envelope 3 true sigma on certain axes. It is proposed, for the sake of simplification of the model, not to take it into account and to model an unobservable base considering that these small movements are null, which is an example of simplification. In the In the second example of Appendix 1, the wave motion can be neglected to model the unobservable base.

Si la base B k 1

Figure imgb0010
est orthogonale, il existe une solution décrite dans l'annexe 3 permettant d'ajuster les matrices de façon simple. Cependant, cette condition, dans le cas général, n'est pas satisfaite. La solution proposée consiste à orthogonaliser la base puis à effectuer l'ajustement. Les traitements décrits ci-dessous sont justifiés par le paragraphe en fin de l'annexe 3 traitant de la base non orthogonale.If the base B k 1
Figure imgb0010
is orthogonal, there is a solution described in Appendix 3 to adjust the matrices in a simple way. However, this condition, in the general case, is not satisfied. The proposed solution is to orthogonalize the base and then perform the adjustment. The treatments described below are justified by the paragraph at the end of Annex 3 dealing with the non-orthogonal basis.

Dans une étape d'orthogonalisation 302, la base primaire B k 1

Figure imgb0011
est orthogonalisée en une base secondaire B k 2
Figure imgb0012
selon une variante de la méthode de Gramm-Schmitt, la particularité provenant du fait que les vecteurs ne sont pas rendus unitaires car la normalisation est incluse implicitement dans la formule d'ajustement des matrices présentée par la suite. Cette opération génère une matrice T k = a i , j , k 1 i q 1 j q
Figure imgb0013
de coefficients ayant servi à l'orthogonalisation.In an orthogonalization step 302, the primary base B k 1
Figure imgb0011
is orthogonalized to a secondary base B k 2
Figure imgb0012
according to a variant of the Gramm-Schmitt method, the peculiarity coming from the fact that the vectors are not made unitary because the normalization is included implicitly in the formula of adjustment of the matrices presented thereafter. This operation generates a matrix T k = at i , j , k 1 i q 1 j q
Figure imgb0013
of coefficients used for orthogonalization.

Soit q le nombre de vecteurs de la base primaire non observable. On pose : B k 1 = v ^ 1,1, k v ^ 1,2, k v ^ 1, q , k ,

Figure imgb0014
et B k 2 = v ^ 2,1, k v ^ 2,2, k v ^ 2, q , k
Figure imgb0015
Let q be the number of vectors of the unobservable primary base. We pose: B k 1 = v ^ 1.1, k v ^ 1.2, k ... v ^ 1 q , k ,
Figure imgb0014
and B k 2 = v ^ 2,1, k v ^ 2,2, k ... v ^ 2 q , k
Figure imgb0015

Au cycle k, l'étape d'orthogonalisation peut mettre en oeuvre le calcul suivant : v ^ 2,1, k = v ^ 1,1, k , T k = 0 1 i q 1 j q

Figure imgb0016
At cycle k, the orthogonalization step can implement the following calculation: v ^ 2,1, k = v ^ 1.1, k , T k = 0 1 i q 1 j q
Figure imgb0016

Puis : ∀i ≥ 2, iq : v ^ 2, i , k = v ^ 1, i , k j = 1 i 1 a i , j , k v ^ 2, j , k

Figure imgb0017
Then: ∀ i ≥ 2, iq : v ^ 2 i , k = v ^ 1 i , k - Σ j = 1 i - 1 at i , j , k v ^ 2 j , k
Figure imgb0017

Avec a i , j , k = { v ^ 2, j , k T v ^ 1, i , k _ si 2 i q v ^ 2, j , k T v ^ 2, i , k et 1 j < i 0 sinon

Figure imgb0018
: coefficients rassemblés dans Tk With at i , j , k = { v ^ 2 j , k T v ^ 1 i , k _ if 2 i q v ^ 2 j , k T v ^ 2 i , k and 1 j < i 0 if not
Figure imgb0018
: coefficients collected in T k

Cette base B k 2

Figure imgb0019
ainsi que les coefficients d'orthogonalisation Tk sont mémorisés à l'étape 303 pendant un cycle de Kalman.This base B k 2
Figure imgb0019
and the orthogonalization coefficients T k are stored in step 303 during a Kalman cycle.

La base B k 2

Figure imgb0020
permet de calculer dans une étape 308 un écart matriciel δHk relatif à la matrice d'observation Hk, et ce sans inversion d'une quelconque matrice, ce qui peut permettre de réduire la charge de calcul. Cette étape peut être omise si la matrice d'observation est indépendante de l'état estimé. Dans ce cas, l'écart matriciel est nul.The base B k 2
Figure imgb0020
allows to calculate in a step 308 a matrix deviation δH k relative to the observation matrix H k , without inverting any matrix, which can reduce the calculation load. This step can be omitted if the observation matrix is independent of the estimated state. In this case, the matrix difference is zero.

Il est possible de décomposer l'écart matriciel δHk relatif à la matrice d'observation Hk , en q écarts matriciels élémentaires : δ H k = i = 1 q δ H i , k

Figure imgb0021
It is possible to decompose the matrix difference δH k relative to the observation matrix H k , into q elementary matrix deviations: δ H k = Σ i = 1 q δ H i , k
Figure imgb0021

Cette décomposition permet ainsi de paralléliser le calcul de chaque écart matriciel élémentaire et ainsi de raccourcir le temps de calcul de l'étape 308.This decomposition thus makes it possible to parallelize the calculation of each elementary matrix difference and thus to shorten the calculation time of step 308.

Chaque écart matriciel élémentaire peut, d'après l'annexe 3, être calculé comme suit : Pour i compris entre 1 et q, δ H i , k = 1 v ^ 2, i , k T v ^ 2, i , k H k v ^ 2, i , k v ^ 2, i , k T

Figure imgb0022
Each basic matrix deviation can, according to Annex 3, be calculated as follows: For i between 1 and q, δ H i , k = - 1 v ^ 2 i , k T v ^ 2 i , k H k v ^ 2 i , k v ^ 2 i , k T
Figure imgb0022

Par ailleurs, au cycle k, la base B k 1

Figure imgb0023
et les coefficients T k-1 (mémorisés au cycle de Kalman précédent k-1) permettent de reconstruire une base non observable B k / k 1 3
Figure imgb0024
dans une étape de reconstruction référencée 304. Cette base reconstruite à l'instant k dépend de la base primaire à l'instant k, mais aussi des coefficients d'orthogonalisation à l'instant k-1. Son indice est donc noté k/k-1 correspondant à l'instant k sachant les estimations à l'instant k-1. Les bases B k 1 2
Figure imgb0025
et B k / k 1 3
Figure imgb0026
permettent de calculer l'écart matriciel δφ k-1→k sans inversion de matrice.Moreover, at cycle k, the base B k 1
Figure imgb0023
and the coefficients T k -1 (stored in the previous Kalman cycle k-1) make it possible to reconstruct an unobservable base B k / k - 1 3
Figure imgb0024
in a reconstruction step referenced 304. This base reconstructed at time k depends on the primary base at time k, but also orthogonalization coefficients at time k-1. Its index is therefore denoted k / k-1 corresponding to the moment k knowing the estimates at time k-1. The basics B k - 1 2
Figure imgb0025
and B k / k - 1 3
Figure imgb0026
calculate the matrix difference δφ k -1 → k without matrix inversion.

On pose : B k / k 1 3 = v ^ 3,1, k / k 1 v ^ 3,2, k / k 1 v ^ 3, q , k / k 1

Figure imgb0027
We pose: B k / k - 1 3 = v ^ 3,1, k / k - 1 v ^ 3,2, k / k - 1 v ^ 3 q , k / k - 1
Figure imgb0027

Au cycle k, l'étape de reconstruction 304 peut mettre en oeuvre le calcul suivant :At cycle k, the reconstruction step 304 may implement the following calculation:

Coefficients α j,k-1 extraits de T k 1 = a i , j , k 1 1 i q 1 j q

Figure imgb0028
v ^ 3,1, k / k 1 = v ^ 1,1, k
Figure imgb0029
Coefficients α j, k -1 extracted from T k - 1 = at i , j , k - 1 1 i q 1 j q
Figure imgb0028
v ^ 3,1, k / k - 1 = v ^ 1.1, k
Figure imgb0029

Puis: ∀i ≥ 2, i ≤ q : v ^ 3, i , k / k 1 = v ^ 1, i , k j = 1 i 1 a i , j , k 1 v ^ 3, j , k / k 1

Figure imgb0030
Then: ∀ i ≥ 2, i ≤ q : v ^ 3 i , k / k - 1 = v ^ 1 i , k - Σ j = 1 i - 1 at i , j , k - 1 v ^ 3 j , k / k - 1
Figure imgb0030

Dans une étape référencée 306, on calcule un écart matriciel relatif à la matrice de transition.In a step referenced 306, a matrix difference relating to the transition matrix is calculated.

Il est possible de décomposer l'écart matriciel δφ i,k-1→k relatif à la matrice de transition φ i,k-1→k , en q écarts matriciels élémentaires : δ φ k 1 k = i = 1 q δ φ i , k 1 k

Figure imgb0031
It is possible to decompose the matrix difference δφ i, k -1 → k relative to the transition matrix φ i, k -1 → k , into q elementary matrix deviations: δ φ k - 1 k = Σ i = 1 q δ φ i , k - 1 k
Figure imgb0031

Chaque écart matriciel élémentaire peut, d'après l'annexe 3, être calculé comme suit :
Pour i compris entre 1 et q, δ φ i , k 1 k = 1 v ^ 2, i , k 1 T v ^ 2, i , k 1 v ^ 3, i , k / k 1 φ k 1 k v ^ 2, i , k 1 v ^ 2, i , k 1 T

Figure imgb0032
Each basic matrix deviation may, according to Annex 3, be calculated as follows:
For i between 1 and q, δ φ i , k - 1 k = 1 v ^ 2 i , k - 1 T v ^ 2 i , k - 1 v ^ 3 i , k / k - 1 - φ k - 1 k v ^ 2 i , k - 1 v ^ 2 i , k - 1 T
Figure imgb0032

Cette décomposition permet ainsi de paralléliser le calcul de chaque écart matriciel élémentaire et ainsi peut permettre de raccourcir le temps de calcul de l'étape 306.This decomposition thus makes it possible to parallelize the calculation of each elementary matrix difference and thus can make it possible to shorten the calculation time of step 306.

Pour réduire l'occupation mémoire et les calculs, on peut ne considérer qu'une sous-matrice de la matrice de transition : Celle en correspondance avec les valeurs non nulles des vecteurs non observables.To reduce memory occupancy and calculations, we can consider only one sub-matrix of the transition matrix: that in correspondence with non-zero values of unobservable vectors.

Les deux écarts matriciels obtenus permettent de vérifier une condition importante d'observabilité, condition qui est détaillée en Annexe 7.The two matrix differences obtained make it possible to verify an important condition of observability, a condition which is detailed in Appendix 7.

Par ailleurs, l'Annexe 3 explique l'origine de la méthode de calcul, et l'annexe 8 en donne une démonstration mathématique.In addition, Annex 3 explains the origin of the calculation method, and Annex 8 gives a mathematical proof.

L'étape de calcul 306 produit en outre une métrique représentative d'une amplitude d'ajustement induite par l'écart matriciel relatif à la matrice de transition.The calculation step 306 also produces a metric representative of an adjustment amplitude induced by the matrix difference relative to the transition matrix.

L'étape de calcul 308 produit en outre une métrique représentative d'une amplitude d'ajustement induite par l'écart matriciel relative à la matrice d'observation.The calculation step 308 also produces a metric representative of an adjustment amplitude induced by the matrix difference relative to the observation matrix.

Le même type de calcul de métrique peut être mis en oeuvre pour la matrice de transition et la matrice d'observation. Par exemple, pour la matrice de transition, on calcule séparément le carré de la norme de l'écart matriciel, et celui de la matrice de transition. La métrique correspond alors au rapport de ces deux grandeurs, ou à la racine carrée du rapport de ces deux grandeurs.The same type of metric calculation can be implemented for the transition matrix and the observation matrix. For example, for the transition matrix, one calculates separately the square of the norm of the matrix difference, and that of the transition matrix. The metric then corresponds to the ratio of these two quantities, or to the square root of the ratio of these two quantities.

La norme utilise éventuellement des coefficients de pondération pour normaliser les grandeurs intervenant dans le vecteur d'état. Par exemple, une erreur de position peut être de l'ordre de quelques mètres, alors qu'une erreur d'attitude peut-être de l'ordre de quelques milli-radians. La norme de matrice peut correspondre à la norme du vecteur que l'on formerait en mettant tous les termes de la matrice sous la forme d'un vecteur colonne (norme de Froebenius).The standard optionally uses weighting coefficients to normalize the quantities involved in the state vector. For example, a position error may be of the order of a few meters, while an attitude error may be of the order of a few milli-radians. The matrix norm can correspond to the norm of the vector that one would form by putting all the terms of the matrix in the form of a column vector (Froebenius norm).

L'Annexe 4 explique comment exploiter des coefficients de pondération dans le calcul de métriques.Appendix 4 explains how to use weights in the calculation of metrics.

Le calcul de métriques fait appel éventuellement à des fonctions de pondération gφ () et gH (). Si la matrice d'observation Hk est indépendante de l'état estimé, l'écart matriciel δHk est nul, et sa métrique est nulle. Il est inutile de la calculer. Identiquement, si la matrice de transition est indépendante de l'état estimé, le calcul de la métrique associée peut être omise.The calculation of metrics may use weighting functions g φ () and g H (). If the observation matrix H k is independent of the estimated state, the matrix deviation δH k is zero, and its metric is zero. It is useless to calculate it. Identically, if the transition matrix is independent of the estimated state, the calculation of the associated metric may be omitted.

De retour à la figure 5 , dans une étape de décalage 330, la matrice de transition est sommée à l'écart matriciel associé, de façon à obtenir une matrice de transition ajustée ; et la matrice d'observation est sommée à l'écart matriciel associé, de façon à obtenir une matrice d'observation ajustée.Back to the figure 5 In a shifting step 330, the transition matrix is summed to the associated matrix difference, so as to obtain an adjusted transition matrix; and the observation matrix is summed to the associated matrix gap, so as to obtain an adjusted observation matrix.

La séquence 310 illustrée en figure 6 produisant une paire d'écarts matriciels et une paire de métriques peut être mise en oeuvre n fois en parallèle.The sequence 310 illustrated in figure 6 producing a pair of matrix deviations and a pair of metrics can be implemented n times in parallel.

On suppose que l'on connaît, pour n situations prédéterminées dans le domaine continu, un modèle de base non observable. Ce modèle provient de la résolution d'un système d'équations représentatives d'un type d'observation respectif et éventuellement d'une trajectoire respective du vecteur d'état, dont une méthode est donnée en Annexe 6.It is assumed that, for n predetermined situations in the continuous domain, we know an unobservable basic model. This model comes from the resolution of a system of equations representative of a respective type of observation and possibly of a respective trajectory of the state vector, a method of which is given in Appendix 6.

Dans une étape de décision 320, l'une des n paires d'écart matriciels est élue (par exemple la paire obtenue par l'ajustement correspondant à la situation i), et l'étape de décalage est mise en oeuvre seulement avec cette paire de matrices pour produire les matrices ajustées.In a decision step 320, one of the n matrix difference pairs is elected (for example the pair obtained by the adjustment corresponding to the situation i), and the shifting step is performed only with this pair of dies to produce the adjusted matrices.

L'étape de décision 320 réalise un test de vraisemblance sur chaque paire d'écarts matriciels, en inspectant la valeur des métriques correspondantes. Ce test permet de prendre la décision de reconnaître telle ou telle situation.The decision step 320 performs a likelihood test on each pair of matrix deviations, by inspecting the value of the corresponding metrics. This test makes it possible to make the decision to recognize this or that situation.

L'écart matriciel élu est l'écart matriciel candidat associée à la métrique représentative de l'amplitude d'ajustement la plus faible. Ainsi, l'ajustement est réalisé avec les écarts matriciels les plus « vraisemblables ». Le critère de vraisemblance peut porter sur l'ajustement de la matrice de transition et/ou de la matrice d'observation.The matrix gap elected is the candidate matrix gap associated with the metric representative of the smallest adjustment amplitude. Thus, the adjustment is made with the most "likely" matrix deviations. The likelihood criterion may relate to the adjustment of the transition matrix and / or the observation matrix.

Par ailleurs, le décalage n'est mis en oeuvre que si la métrique de l'écart matriciel élu est inférieure à un seuil prédéterminé : il peut en effet être préférable de ne pas opérer de décalage des matrices de transition et d'observation, si ce décalage n'est pas considéré suffisamment fiable et introduit un bruit supplémentaire dans le système plutôt qu'il n'en corrige.Furthermore, the shift is implemented only if the metric of the matrix gap elected is less than a predetermined threshold: it may indeed be preferable not to shift the transition and observation matrices, if this offset is not considered sufficiently reliable and introduces additional noise into the system rather than correcting it.

Le procédé d'estimation qui précède peut être mis en oeuvre par un programme d'ordinateur exécuté par les moyens de calcul de la centrale inertielle IN. Par ailleurs, la carte 1 d'identification comporte un produit programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé décrit, lorsque ce programme est exécuté par la carte 1 d'identification.The above estimation method can be implemented by a computer program executed by the calculating means of the inertial unit IN. Furthermore, the identification card 1 comprises a computer program product comprising program code instructions for executing the steps of the method described, when this program is executed by the identification card 1.

ANNEXE 1 : Exemples de situations à risque d'une centrale inertielle de navigation exploitant un filtre EKFANNEX 1: Examples of risk situations of an inertial navigation unit operating an EKF filter

Un premier exemple concerne une centrale inertielle de navigation en phase d'alignement statique au sol. Dans cette phase, la verticale locale est estimée en mesurant le vecteur de pesanteur à l'aide des accéléromètres, et l'orientation de la centrale est estimée en mesurant le vecteur de vitesse angulaire de rotation terrestre à l'aide des gyromètres. L'observation utilisée dans cette phase est typiquement la ZUPT (Zéro velocity Update) qui est une observation d'un capteur virtuel indiquant que la vitesse du porteur est nulle par rapport à la Terre. L'erreur de mesure est modélisée par un bruit blanc. Or, il arrive que les capteurs inertiels enregistrent des petits mouvements non aléatoires dus par exemple au vent ou à des effets de dilatation dus à la chaleur. Cela correspond à une erreur de mesure déterministe non prise en compte dans le modèle de capteur non inertiel produisant l'observation ZUPT. Il y a alors incohérence entre le système dynamique vrai et le système dynamique modélisé. Tant que la durée de l'alignement statique est courte, l'incohérence est négligeable. Il existe par contre de nombreuses applications nécessitant un alignement de plusieurs heures, ou de plusieurs jours, semaines ou mois. Dans ce cas, il est possible que l'incohérence devienne prépondérante.A first example relates to an inertial navigation unit in the static alignment phase on the ground. In this phase, the local vertical is estimated by measuring the gravity vector using the accelerometers, and the orientation of the plant is estimated by measuring the rotational angular velocity vector of the earth using the gyrometers. The observation used in this phase is typically ZUPT (Zero Velocity Update) which is an observation of a virtual sensor indicating that the speed of the carrier is zero by relation to the Earth. The measurement error is modeled by a white noise. However, inertial sensors sometimes record small non-random movements, for example due to wind or heat expansion effects. This corresponds to a deterministic measurement error not taken into account in the non-inertial sensor model producing the ZUPT observation. There is then an inconsistency between the true dynamic system and the dynamically modeled system. As long as the duration of the static alignment is short, the inconsistency is negligible. However, there are many applications requiring an alignment of several hours, or several days, weeks or months. In this case, it is possible that the inconsistency becomes preponderant.

Un deuxième exemple concerne une centrale inertielle de navigation montée sur un bateau de surface exploitant une observation de vitesse en projection dans le repère bateau. Cette mesure non inertielle est faite en général à l'aide d'un capteur « Loch » et il s'agit de plus d'une mesure relative par rapport à l'eau. Le fait qu'elle soit réalisée en projection dans le repère bateau crée une dépendance de la mesure vis-à-vis de l'attitude du bateau. Il est possible alors, en supposant que seule cette observation soit utilisée, qu'une incohérence apparaisse entre les estimations du filtre EKF et le monde vrai, et que cette incohérence produise des erreurs importantes au bout de plusieurs heures si le bateau navigue à cap constant.A second example relates to an inertial navigation unit mounted on a surface vessel using a speed observation projection in the boat mark. This non-inertial measurement is usually done using a "Loch" sensor and is more of a relative measure with respect to water. The fact that it is made in projection in the boat mark creates a dependence of the measure vis-à-vis the attitude of the boat. It is possible then, assuming that only this observation is used, that an inconsistency appears between the estimates of the EKF filter and the true world, and that this inconsistency produces significant errors after several hours if the boat is sailing at constant heading. .

ANNEXE 2 : Modèle d'axes non observables en alignement statiqueAPPENDIX 2: Model of unobservable axes in static alignment

Cette annexe présente la modélisation de la base non observable permettant de résoudre l'incohérence du premier exemple de l'annexe 1 à l'aide du procédé proposé.This annex presents the modeling of the unobservable basis for resolving the inconsistency of the first example in Appendix 1 using the proposed method.

Hypothèses : Le filtre de Kalman exploite le modèle d'erreurs en PHI et la mécanisation fonctionne en azimuth libre.Assumptions: The Kalman filter exploits the error model in PHI and the mechanization works in free azimuth.

Les notations suivantes sont utilisées : [t] Repère terrestre. x=axe de rotation [m] Repère de mesure [v] Repère plateforme, en azimuth libre Tvt Matrice de passage de [t] à [v] Tvm Matrice de passage de [m] à [v] α Angle de mécanisation Ω t Vitesse de rotation terrestre g Module de la gravité (gravité = pesanteur ≠ gravitation) ge Module de la gravité à l'équateur a 0, K 1, K 2 Constantes liées aux constantes géodésiques WGS84 Rx Rayon de courbure de l'ellipsoïde de référence dans la direction x de [v] Ry Rayon de courbure de l'ellipsoïde de référence dans la direction y de [v] RN Rayon de courbure de l'ellipsoïde de référence dans la direction Nord RE Rayon de courbure de l'ellipsoïde de référence dans la direction Est τ Torsion géodésique sur l'ellipsoïde de référence L Latitude z Altitude Δx Erreur de position selon l'axe x de [v] Δy Erreur de position selon l'axe y de [v] Δz Erreur de position selon l'axe z de [v] ΔVx Erreur de vitesse selon l'axe x de [v] ΔVy Erreur de vitesse selon l'axe y de [v] ΔVz Erreur de vitesse selon l'axe z de [v] φ x Erreur de rotation selon l'axe x de [v] φy Erreur de rotation selon l'axe y de [v] φz Erreur de rotation selon l'axe z de [v] Δbxm Erreur de biais accéléro selon l'axe x de [m] Δbym Erreur de biais accéléro selon l'axe y de [m] Δbzm Erreur de biais accéléro selon l'axe z de [m] ΔKxm Erreur de facteur d'échelle accéléro selon l'axe x de [m] ΔKym Erreur de facteur d'échelle accéléro selon l'axe y de [m] ΔKzm Erreur de facteur d'échelle accéléro selon l'axe z de [m] Δdxm Erreur de dérive gyro selon l'axe x de [m] Δdym Erreur de dérive gyro selon l'axe y de [m] Δdzm Erreur de dérive gyro selon l'axe z de [m] The following notations are used: [T] Terrestrial landmark. x = axis of rotation [M] Measurement mark [V] Platform marker, in free azimuth T vt Matrix of passage from [t] to [v] T vm Matrix of passage from [m] to [v] α Mechanization angle Ω t Ground rotation speed boy Wut Module of gravity (gravity = gravity ≠ gravitation) g e Modulus of gravity at the equator a 0 , K 1 , K 2 Constants linked to geodesic constants WGS84 R x Radius of curvature of the reference ellipsoid in the x direction of [v] R y Radius of curvature of the reference ellipsoid in the y direction of [v] R N Radius of curvature of the reference ellipsoid in the North direction R E Radius of curvature of the reference ellipsoid in the east direction τ Geodetic twist on the reference ellipsoid The Latitude z Altitude Δ x Position error along the x axis of [v] Δ y Position error along the y axis of [v] Δ z Position error along the z axis of [v] Δ V x Speed error along the x-axis of [v] Δ V y Speed error along y-axis of [v] Δ V z Speed error along the z axis of [v] φ x X-axis rotation error of [v] φ y Rotation error along y-axis of [v] φ z Rotation error along the z axis of [v] Δ b xm Accelerated bias error along the x-axis of [m] Δ b ym Accelerated bias error along the y axis of [m] Δ b zm Accelerated bias error along z axis of [m] Δ K xm Accelerated scale factor error along the x-axis of [m] Δ K ym Accelerated scale factor error along y-axis of [m] Δ K zm Accelerated scale factor error along the z axis of [m] Δ d xm Gyro drift error along the x-axis of [m] Δ d ym Gyro drift error along the y axis of [m] Δ d zm Gyro drift error along z axis of [m]

Les composantes d'états intervenant dans les équations sont présentées dans un ordre arbitraire qui est le suivant : Δ x Δ y Δ z

Figure imgb0033
Erreurs de position adns le repère plateforme [v] φ x φ y φ z
Figure imgb0034
Erreurs d'attitude dans le repère plateforme [v]
Δ b x m Δ b y m Δ b z m
Figure imgb0035
Erreurs de biais accéléro dans le repère de mesure [m]
N = Δ x Δ y Δ z φ x φ y φ z Δ b x m Δ b y m Δ b z m Δ K x m Δ K y m Δ K z m Δ d x m Δ d y m Δ d z m Δ α
Figure imgb0036
Δ K x m Δ K y m Δ K z m
Figure imgb0037
Erreurs de facteur d'échelle accéléro dans le repère de mesure [m]
Δ d x m Δ d y m Δ d z m
Figure imgb0038
Erreurs de dérive gyro dans le repère de mesure [m]
Δα Erreur d'angle de mécanisation en azimuth libre Autres composantes : nulles The state components involved in the equations are presented in an arbitrary order which is as follows: Δ x Δ there Δ z
Figure imgb0033
Position errors in the platform reference [v]
φ x φ there φ z
Figure imgb0034
Attitude errors in the platform reference [v]
Δ b x m Δ b there m Δ b z m
Figure imgb0035
Accelerated bias errors in the measurement mark [m]
NOT = Δ x Δ there Δ z φ x φ there φ z Δ b x m Δ b there m Δ b z m Δ K x m Δ K there m Δ K z m Δ d x m Δ d there m Δ d z m Δ α
Figure imgb0036
Δ K x m Δ K there m Δ K z m
Figure imgb0037
Accelerometer scale factor errors in the measurement frame [m]
Δ d x m Δ d there m Δ d z m
Figure imgb0038
Gyro drift errors in the measurement mark [m]
Δ α Mechanization angle error in free azimuth Other components: null

Les mesures acquises sont des vitesses. Le porteur est supposé parfaitement immobile en translation et rotation. Les défauts capteurs sont supposés constants dans le temps. Accéléromètres gyromètres d d t Δ b x m Δ b y m Δ b z m = 0 0 0

Figure imgb0039
d d t Δ K x m Δ K y m Δ K z m = 0 0 0
Figure imgb0040
d d t Δ d x m Δ d y m Δ d z m = 0 0 0
Figure imgb0041
Measurements acquired are speeds. The carrier is supposed to be perfectly motionless in translation and rotation. Sensor faults are assumed to be constant over time. accelerometers gyros d d t Δ b x m Δ b there m Δ b z m = 0 0 0
Figure imgb0039
d d t Δ K x m Δ K there m Δ K z m = 0 0 0
Figure imgb0040
d d t Δ d x m Δ d there m Δ d z m = 0 0 0
Figure imgb0041

Ces équations forment un système stationnaire de la forme : d d t Δ x Δ y Δ z = Δ V x Δ V y Δ V z

Figure imgb0042
d d t Δ V x Δ V y Δ V z = T v m Δ b x m Δ b y m Δ b z m + T v m Δ K x m 0 0 0 Δ K y m 0 0 0 Δ K z m T m v 0 0 g 0 g 0 g 0 0 0 0 0 φ x φ y φ z + 0 m 21 m 31 m 21 0 m 32 m 31 m 32 0 Δ V x Δ V y Δ V z + 0 0 0 0 0 0 p 31 p 32 p 33 Δ V x Δ V y Δ V z + q 1 q 2 q 3 Δ α
Figure imgb0043
d d t φ x φ y φ z = T v m Δ d x m Δ d y m Δ d z m + A c 1 c 2 c 3 φ x φ y φ z + 1 τ 1 R x 0 Δ V x 1 R y 1 τ 0 Δ V y + Ω t a 1 a 2 a 3 Δ x + Ω t b 1 b 2 b 3 Δ y + Ω t T v t 21 T v t 11 0 Δ α
Figure imgb0044
These equations form a stationary system of the form: d d t Δ x Δ there Δ z = Δ V x Δ V there Δ V z
Figure imgb0042
d d t Δ V x Δ V there Δ V z = T v m - Δ b x m - Δ b there m - Δ b z m + T v m - Δ K x m 0 0 0 - Δ K there m 0 0 0 - Δ K z m T m v 0 0 boy Wut - 0 - boy Wut 0 boy Wut 0 0 0 0 0 φ x φ there φ z + 0 - m 21 - m 31 m 21 0 - m 32 m 31 m 32 0 Δ V x Δ V there Δ V z + 0 0 0 0 0 0 p 31 p 32 p 33 Δ V x Δ V there Δ V z + q 1 q 2 q 3 Δ α
Figure imgb0043
d d t φ x φ there φ z = T v m Δ d x m Δ d there m Δ d z m + AT vs 1 vs 2 vs 3 φ x φ there φ z + 1 τ - 1 R x 0 Δ V x 1 R there - 1 τ 0 Δ V there + Ω t at 1 at 2 at 3 Δ x + Ω t b 1 b 2 b 3 Δ there + Ω t - T v t 21 T v t 11 0 Δ α
Figure imgb0044

La méthode de recherche des vecteurs non observables :
On recherche Δ V x Δ V y Δ V z ,

Figure imgb0045
Δ b x m Δ b y m Δ b z m ,
Figure imgb0046
Δ K x m Δ K y m Δ K z m ,
Figure imgb0047
Δ d x m Δ d y m Δ d z m
Figure imgb0048
tels que : n 0, d n d t n Δ V x Δ V y Δ V z = 0 0 0
Figure imgb0049
The method of searching for unobservable vectors:
We are looking for Δ V x Δ V there Δ V z ,
Figure imgb0045
Δ b x m Δ b there m Δ b z m ,
Figure imgb0046
Δ K x m Δ K there m Δ K z m ,
Figure imgb0047
Δ d x m Δ d there m Δ d z m
Figure imgb0048
such as : not 0 d not d t not Δ V x Δ V there Δ V z = 0 0 0
Figure imgb0049

Les axes non observables sont les suivants : Axe 1 : v 1 Axe 2 : v 2 Axe 3 : v 3 Axe 4 : v 4 Δ x Δ y Δ z Δ V x Δ V y Δ V z φ x φ y φ z Δ b x m Δ b y m Δ b z m Δ K x m Δ K y m Δ K z m Δ d x m Δ d y m Δ d z m Δα

Figure imgb0050
0 0 0 0 0 0 1 0 0 T m v 0 g 0 0 0 0 T m v 0 c 3 c 2 0
Figure imgb0051
0 0 0 0 0 0 0 1 0 T m v g 0 0 0 0 0 T m v c 3 0 c 1 0
Figure imgb0052
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 T m v c 2 c 1 0 0
Figure imgb0053
0 0 0 0 0 0 0 0 0 0 0 g T m v 33 0 0 1 0 0 0 0
Figure imgb0054
Axe 5 : v 5 Axe 6 : v 6 Axe 7 : v 7 Δ x Δ y Δ z Δ V x Δ V y Δ V z φ x φ y φ z Δ b x m Δ b y m Δ b z m Δ K x m Δ K y m Δ K z m Δ d x m Δ d y m Δ d z m Δα
Figure imgb0055
1 0 0 0 0 0 0 0 0 T m v 0 0 p 31 0 0 0 T m v Ω t a 1 Ω t a 2 Ω t a 3 0
Figure imgb0056
0 1 0 0 0 0 0 0 0 T m v 0 0 p 32 0 0 0 T m v Ω t b 1 Ω t b 2 Ω t b 3 0
Figure imgb0057
0 0 1 0 0 0 0 0 0 T m v 0 0 p 33 0 0 0 0 0 0 0
Figure imgb0058
Axe 8 : v 8 Axe 9 : v 9 Axe 10 : v 10 Δ x Δ y Δ z Δ V x Δ V y Δ V z φ x φ y φ z Δ b x m Δ b y m Δ b z m Δ K x m Δ K y m Δ K z m Δ d x m Δ d y m Δ d z m Δα
Figure imgb0059
0 0 0 0 0 0 0 0 0 g T m v 13 0 0 1 0 0 0 0 0 0
Figure imgb0060
0 0 0 0 0 0 0 0 0 0 g T m v 23 0 0 1 0 0 0 0 0
Figure imgb0061
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 T m v Ω t T v t 21 Ω t T v t 11 0 1
Figure imgb0062
The unobservable axes are as follows: Axis 1: v 1 Axis 2: v 2 Axis 3: v 3 Axis 4: v 4 Δ x Δ there Δ z Δ V x Δ V there Δ V z φ x φ there φ z Δ b x m Δ b there m Δ b z m Δ K x m Δ K there m Δ K z m Δ d x m Δ d there m Δ d z m Δα
Figure imgb0050
0 0 0 0 0 0 1 0 0 T m v 0 - boy Wut 0 0 0 0 T m v 0 - vs 3 vs 2 0
Figure imgb0051
0 0 0 0 0 0 0 1 0 T m v boy Wut 0 0 0 0 0 T m v vs 3 0 - vs 1 0
Figure imgb0052
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 T m v - vs 2 vs 1 0 0
Figure imgb0053
0 0 0 0 0 0 0 0 0 0 0 - boy Wut T m v 33 0 0 1 0 0 0 0
Figure imgb0054
Axis 5: v 5 Axis 6: v 6 Axis 7: v 7 Δ x Δ there Δ z Δ V x Δ V there Δ V z φ x φ there φ z Δ b x m Δ b there m Δ b z m Δ K x m Δ K there m Δ K z m Δ d x m Δ d there m Δ d z m Δα
Figure imgb0055
1 0 0 0 0 0 0 0 0 T m v 0 0 p 31 0 0 0 T m v - Ω t at 1 - Ω t at 2 - Ω t at 3 0
Figure imgb0056
0 1 0 0 0 0 0 0 0 T m v 0 0 p 32 0 0 0 T m v - Ω t b 1 - Ω t b 2 - Ω t b 3 0
Figure imgb0057
0 0 1 0 0 0 0 0 0 T m v 0 0 p 33 0 0 0 0 0 0 0
Figure imgb0058
Axis 8: v 8 Axis 9: v 9 Axis 10: v 10 Δ x Δ there Δ z Δ V x Δ V there Δ V z φ x φ there φ z Δ b x m Δ b there m Δ b z m Δ K x m Δ K there m Δ K z m Δ d x m Δ d there m Δ d z m Δα
Figure imgb0059
0 0 0 0 0 0 0 0 0 - boy Wut T m v 13 0 0 1 0 0 0 0 0 0
Figure imgb0060
0 0 0 0 0 0 0 0 0 0 - boy Wut T m v 23 0 0 1 0 0 0 0 0
Figure imgb0061
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 T m v Ω t T v t 21 - Ω t T v t 11 0 1
Figure imgb0062

ANNEXE 3 : mise en contrainte du filtreAPPENDIX 3: filter constraint

Des écarts matriciels sont appliqués aux matrices de transition et d'observation à chaque cycle de Kalman d'après un modèle de q axes non observables 1,k (H,k ), 2,k (H,k ), ...v̂q,k (H,k ) obtenus à chaque cycle k selon des fonctions de l'état global H,k correspondant au point de linéarisation de la matrice d'observation à la période de Kalman.Matrix deviations are applied to the transition and observation matrices at each Kalman cycle based on a model of q unobservable axes v 1 , k ( X H, k ), v 2, k ( X H, k ), ... v q, k ( X H, k ) obtained at each cycle k according to functions of the global state X H, k corresponding to the linearization point of the observation matrix at the Kalman period.

φ kk+1( φ,k ) est remplacé par : φ k k + 1 * X ^ φ , k , X ^ H , k , X ^ H , k + 1 = φ k k + 1 X ^ φ , k + δ φ k k + 1 X ^ φ , k , X ^ H , k , X ^ H , k + 1

Figure imgb0063
proche de φ kk+1(φ,k ), et tel que pour i compris entre 1 et q : v ^ i , k + 1 X ^ H , k + 1 = φ k k + 1 * X ^ φ , k , X ^ H , k , X ^ H , k + 1 v ^ i , k X ^ H , k ,
Figure imgb0064
minimum vis-à-vis de toutes les solutions possibles. φ kk +1 ( X φ, k ) is replaced by: φ k k + 1 * X ^ φ , k , X ^ H , k , X ^ H , k + 1 = φ k k + 1 X ^ φ , k + δ φ k k + 1 X ^ φ , k , X ^ H , k , X ^ H , k + 1
Figure imgb0063
close to φ kk +1 ( X φ, k ), and such that for i between 1 and q: v ^ i , k + 1 X ^ H , k + 1 = φ k k + 1 * X ^ φ , k , X ^ H , k , X ^ H , k + 1 v ^ i , k X ^ H , k ,
Figure imgb0064
minimum of all possible solutions.

Hk (H,k ) est remplacé par H k * X ^ H , k = H k X ^ H , k + δ H K X ^ H , k

Figure imgb0065
proche de Hk (H,k ), et tel que pour i compris entre 1 et q : H k * X ^ H , k = H k X ^ H , k + δ H K X ^ H , k
Figure imgb0066
minimum vis-à-vis de toutes les solutions possibles. H k ( X H, k ) is replaced by H k * X ^ H , k = H k X ^ H , k + δ H K X ^ H , k
Figure imgb0065
close to H k ( X H, k ), and such that for i between 1 and q: H k * X ^ H , k = H k X ^ H , k + δ H K X ^ H , k
Figure imgb0066
minimum of all possible solutions.

La norme des matrices considérée est la norme de Froboenius.The matrix standard considered is the Froboenius standard.

Les matrices φ k k + 1 * X ^ φ , k , X ^ H , k , X ^ H , k + 1

Figure imgb0067
et H k * X ^ H , k
Figure imgb0068
sont alors utilisées dans l'étape de propagation de la matrice de covariance, et du calcul du gain de Kalman.Matrices φ k k + 1 * X ^ φ , k , X ^ H , k , X ^ H , k + 1
Figure imgb0067
and H k * X ^ H , k
Figure imgb0068
are then used in the propagation step of the covariance matrix, and the calculation of the Kalman gain.

On adopte désormais les notations suivantes : φ k k + 1 * X ^ φ , k , X ^ H , k , X ^ H , k + 1

Figure imgb0069
est noté φ k k + 1 *
Figure imgb0070
δφ kk+1(H,k , H,k+1) est noté δφ kk+1 H k * X ^ H , k
Figure imgb0071
est noté H k *
Figure imgb0072
δHk (H,k ) est noté δHk We now adopt the following notations: φ k k + 1 * X ^ φ , k , X ^ H , k , X ^ H , k + 1
Figure imgb0069
is noted φ k k + 1 *
Figure imgb0070
δφ kk + 1 (X H, K, X H, k + 1) is denoted δφ kk +1 H k * X ^ H , k
Figure imgb0071
is noted H k *
Figure imgb0072
δH k ( X H, k ) is denoted δH k

Résolution des équations 1 et 2 dans le cas où les vecteurs non observables modélisés 1,k , v̂ 2,k , ...v̂q,k sont orthogonaux entre eux à chaque instant k :
L'écart matriciel total de la matrice de transition correspond à la somme de q écarts matriciels indépendants. Il en est de même pour l'écart matriciel de la matrice d'observation. δ φ k 1 = i = 1 q δ φ i , k 1 k

Figure imgb0073
δ H k = i = 1 q δ H i , k
Figure imgb0074
Et, pour i compris entre 1 et q : δ φ i , k 1 k = 1 v ^ i , k 1 T v ^ i , k 1 v ^ i , k / k 1 φ k 1 k v ^ i , k 1 v ^ i , k 1 T
Figure imgb0075
δ H i , k = 1 v ^ i , k T v ^ i , k H k v ^ i , k v ^ i , k T
Figure imgb0076
La démonstration de ces relations est donnée en annexe 8 selon une méthode géométrique.
Résolution des équations 1 et 2 pour une base non orthogonale, et pour q quelconque :
Cette base définit un modèle de l'espace vectoriel non observable : Toute combinaison linéaire des vecteurs de base est non observable.Resolution of equations 1 and 2 in the case where the unobservable vectors modeled v 1, k , v 2 , k , ... v q, k are orthogonal to each other at each instant k:
The total matrix difference of the transition matrix corresponds to the sum of q independent matrix deviations. It is the same for the matrix gap of the observation matrix. δ φ k - 1 = Σ i = 1 q δ φ i , k - 1 k
Figure imgb0073
δ H k = Σ i = 1 q δ H i , k
Figure imgb0074
And, for i between 1 and q: δ φ i , k - 1 k = 1 v ^ i , k - 1 T v ^ i , k - 1 v ^ i , k / k - 1 - φ k - 1 k v ^ i , k - 1 v ^ i , k - 1 T
Figure imgb0075
δ H i , k = - 1 v ^ i , k T v ^ i , k H k v ^ i , k v ^ i , k T
Figure imgb0076
The proof of these relations is given in appendix 8 according to a geometrical method.
Solving equations 1 and 2 for a non-orthogonal basis, and for any q:
This base defines a model of the unobservable vector space: Any linear combination of the basic vectors is unobservable.

L'image par la matrice d'observation ajustée de toute combinaison linéaire de ces vecteurs est donc nulle. Il est donc possible d'orthogonaliser la base, puis d'appliquer la méthode précédente pour calculer l'écart matriciel de la matrice d'observation.The image by the observation matrix adjusted for any linear combination of these vectors is therefore zero. It is therefore possible to orthogonalize the base, and then to apply the previous method to calculate the matrix difference of the observation matrix.

D'autre part, l'image par la matrice de transition ajustée d'une combinaison linéaire de vecteurs non observables correspond à cette même combinaison linéaire appliquée aux images par la même matrice de transition de chacun des vecteurs non observables de départ. Il est donc possible de déterminer la combinaison linéaire permettant d'orthogonaliser la base de vecteurs non observables au cycle k-1, et d'utiliser cette même combinaison pour transformer le modèle de base non observable au cycle k. Cela permet d'appliquer la méthode précédente pour calculer l'écart matriciel de la matrice de transition.On the other hand, the image by the adjusted transition matrix of a linear combination of unobservable vectors corresponds to this same linear combination applied to the images by the same transition matrix of each of the unobservable starting vectors. It is therefore possible to determine the linear combination that makes it possible to orthogonalize the base of unobservable vectors at cycle k-1, and to use this same combination to transform the unobservable basic model to cycle k. This makes it possible to apply the previous method to calculate the matrix difference of the transition matrix.

ANNEXE 4 : Métriques pondéréesAPPENDIX 4: Weighted Metrics

Des scalaires mφ et mH appelés « métriques » accompagnent les matrices d'ajustement calculées et donnent une indication sur l'amplitude relative de l'ajustement, le but étant de modifier le plus faiblement possible les matrices de transition et d'observation.Scalars m φ and m H called "metrics" accompany the calculated adjustment matrices and give an indication of the relative amplitude of the adjustment, the aim being to modify as little as possible the transition and observation matrices.

Différentes méthodes sont possibles afin de comparer ∥δφ k-1→k ∥ à ∥φ k-1→k ∥, et ∥δHk ∥ à ∥Hk ∥. Le but est de disposer d'une fonction croissante de δ φ k 1 k φ k 1 k

Figure imgb0077
et δ H k H k
Figure imgb0078
ou des constituants élémentaires δ φ i , k 1 k φ i , k 1 k
Figure imgb0079
et δ H i , k H k ,
Figure imgb0080
ces normes pouvant être calculées de la même façon que celle d'un vecteur en rassemblant tous les coefficients de la matrice en une seule colonne.
Des exemples sont donnés ci-dessous : m φ = δ φ k 1 k φ k 1 k ou m φ = δ φ k 1 k φ k 1 k 2 ou m φ = i = 1 N δ φ i , k 1 k φ k 1 k
Figure imgb0081
m H = δ H k H k ou m H = δ H k H k 2 ou m H = i = 1 N δ H i , k H k
Figure imgb0082
Different methods are possible to compare ∥ δφ k -1 → k ∥ with ∥ φ k -1 → k ∥, and ∥ δH k ∥ with ∥ H k ∥. The goal is to have a growing function of δ φ k - 1 k φ k - 1 k
Figure imgb0077
and δ H k H k
Figure imgb0078
or elementary constituents δ φ i , k - 1 k φ i , k - 1 k
Figure imgb0079
and δ H i , k H k ,
Figure imgb0080
these norms can be calculated in the same way as that of a vector by gathering all the coefficients of the matrix in a single column.
Examples are given below: m φ = δ φ k - 1 k φ k - 1 k or m φ = δ φ k - 1 k φ k - 1 k 2 or m φ = Σ i = 1 NOT δ φ i , k - 1 k φ k - 1 k
Figure imgb0081
m H = δ H k H k or m H = δ H k H k 2 or m H = Σ i = 1 NOT δ H i , k H k
Figure imgb0082

Des variantes sont possibles en faisant appel à des fonctions de pondération gφ et gH pour équilibrer le poids des différentes composantes dans le calcul des normes de matrices. Les mêmes exemples que les précédents peuvent être repris en tenant compte de ces fonctions.
Par exemple : m φ = g φ δ φ k 1 k g φ φ k 1 k

Figure imgb0083
et m H = g H δ H k g H H k
Figure imgb0084
Variants are possible by using weighting functions g φ and g H to balance the weight of the different components in the calculation of matrix standards. The same examples as the previous ones can be taken again taking into account these functions.
For example : m φ = boy Wut φ δ φ k - 1 k boy Wut φ φ k - 1 k
Figure imgb0083
and m H = boy Wut H δ H k boy Wut H H k
Figure imgb0084

Une réalisation possible de ces fonctions de pondération consiste à construire d'abord une fonction de pondération f d'un vecteur d'état, puis d'en déduire gφ et gH .A possible realization of these weighting functions consists in first constructing a weighting function f of a state vector and then deducing g φ and g H.

Ainsi par cette méthode, au vecteur U = [u 1 u 2 ... uL ] T est associé par une fonction de pondération f un vecteur U' = f(U)=[a 1 a 2 ... aL ] U = [a 1 u 1 a 2 u 2 ... aLuL ] T où les coefficients réels a 1, a 2,...aL forment les coefficients de pondération. Ces derniers permettent alors de pondérer la matrice de transition de la façon suivante : g φ t 11 t 12 t 1 L t 21 t 22 t 2 L t L 1 t L 2 t L L = a 1 a 1 t 11 a 2 a 2 t 12 a 1 a N t 1 L a 2 a 1 t 21 a 2 a 2 t 22 a 2 a N t 2 L a L a 1 t L 1 a L a 2 t L 2 a L a L t L L

Figure imgb0085
Thus by this method, the vector U = [ u 1 u 2 ... u L ] T is associated by a weighting function f with a vector U '= f ( U ) = [ a 1 a 2 ... a L ] U = [ a 1 u 1 a 2 u 2 ... a L u L ] T where the real coefficients a 1 , a 2 , ... a L form the weighting coefficients. These then make it possible to weight the transition matrix as follows: boy Wut φ t 11 t 12 t 1 The t 21 t 22 t 2 The t The 1 t The 2 t The The = at 1 at 1 t 11 at 2 at 2 t 12 at 1 at NOT t 1 The at 2 at 1 t 21 at 2 at 2 t 22 at 2 at NOT t 2 The at The at 1 t The 1 at The at 2 t The 2 at The at The t The The
Figure imgb0085

Car si V = φU alors f(V)=gφ (φ)f(U) et réciproquement. Ce sont 2 façons équivalentes d'écrire la relation entre U et V, la deuxième permettant de calculer des normes de façon équilibrée.
En effet, en posant φ = t 11 t 12 t 1 L t 21 t 22 t 2 L t L 1 t L 2 t L L ,

Figure imgb0086
U = [u 1 u 2 ... uL ] T et V = [v 1 v 2 ... vL ] T On a g φ φ f U = a 1 a 1 t 11 a 1 a 2 t 12 a 1 a L t 1 L a 2 a 1 t 21 a 2 a 2 t 22 a 2 a L t 2 L a L a 1 t L 1 a L a 2 t L 2 a L a L t L L a 1 u 1 a 2 u 2 a L u L = a 1 t 11 a 1 t 12 a 1 t 1 L a 2 t 21 a 2 t 22 a 2 t 2 L a L t L 1 a L t L 2 a L t L L u 1 u 2 u L
Figure imgb0087
C'est-à-dire g φ φ f U = a 1 a 2 a L t 11 t 12 t 1 L t 21 t 22 t 2 L t L 1 t L 2 t L L u 1 u 2 u L = a 1 a 2 a L φ U
Figure imgb0088
Donc gφ (φ)f(U)=[a 1 a 2 ... aL ]V
Donc f(V) = gφ (φ)f(U)
De façon similaire g H t 11 t 12 t 1 L t 21 t 22 t 2 L = 1 a 1 t 11 1 a 2 t 12 1 a L t 1 L 1 a 1 t 21 1 a 22 t 22 1 a L t 2 L
Figure imgb0089
Because if V = φU then f ( V ) = g φ ( φ ) f ( U ) and vice versa. These are 2 equivalent ways of writing the relationship between U and V, the second way of calculating norms in a balanced way.
Indeed, by posing φ = t 11 t 12 t 1 The t 21 t 22 t 2 The t The 1 t The 2 t The The ,
Figure imgb0086
U = [ u 1 u 2 ... u L ] T and V = [ v 1 v 2 ... v L ] T We have boy Wut φ φ f U = at 1 at 1 t 11 at 1 at 2 t 12 ... at 1 at The t 1 The at 2 at 1 t 21 at 2 at 2 t 22 at 2 at The t 2 The ... ... at The at 1 t The 1 at The at 2 t The 2 at The at The t The The at 1 u 1 at 2 u 2 at The u The = at 1 t 11 at 1 t 12 at 1 t 1 The at 2 t 21 at 2 t 22 at 2 t 2 The at The t The 1 at The t The 2 at The t The The u 1 u 2 u The
Figure imgb0087
That is to say boy Wut φ φ f U = at 1 at 2 ... at The t 11 t 12 ... t 1 The t 21 t 22 t 2 The ... ... t The 1 t The 2 t The The u 1 u 2 ... u The = at 1 at 2 ... at The φ U
Figure imgb0088
So g φ ( φ ) f ( U ) = [ a 1 to 2 ... a L ] V
So f ( V ) = g φ ( φ ) f ( U )
In the same way boy Wut H t 11 t 12 t 1 The t 21 t 22 t 2 The = 1 at 1 t 11 1 at 2 t 12 1 at The t 1 The 1 at 1 t 21 1 at 22 t 22 1 at The t 2 The
Figure imgb0089

ANNEXE 5 : Notion de système dynamique et application à la navigationAPPENDIX 5: Concept of dynamic system and application to navigation

C'est un système d'équations déterministe comportant une équation d'évolution et une équation d'observation. L'équation d'évolution décrit un vecteur d'état en fonction de son état antérieur et d'une commande. L'équation d'observation fournit un scalaire ou vecteur dépendant du vecteur d'état. Ces équations peuvent être non linéaires. Il existe des systèmes à temps continu et des systèmes à temps discret.It is a system of deterministic equations with an evolution equation and an observation equation. The evolution equation describes a state vector according to its previous state and a command. The observation equation provides a scalar or vector dependent on the state vector. These equations can be non-linear. There are continuous time systems and discrete time systems.

Système à temps continu : { X ˙ t = f X t , u t z t = h X t

Figure imgb0090
Continuous time system: { X ˙ t = f X t , u t z t = h X t
Figure imgb0090

Système à temps discret : { x k + 1 = f x k , u k z k = h x k

Figure imgb0091
X(t) et xk désignent l'état du système, u(t) et uk désignent la commande d'entrée, z(t) et zk désignent l'observation à un instant continu t ou instant discret k, selon le mode de représentation continu ou discret.
Les équations de la mécanique classique de Newton permettent de décrire l'état d'un repère mobile en fonction de son accélération et de sa vitesse angulaire à tout instant. Ces équations constituent un exemple de fonction d'évolution continue, le vecteur d'état rassemblant les informations de position, de vitesse, et d'orientation du repère mobile, et le vecteur de commande étant constitué de l'accélération et la vitesse angulaire.
Dans l'état de l'art d'une centrale inertielle de navigation, les calculs ne peuvent être réalisés que de façon discrète. Il en résulte que cette fonction d'évolution continue y est modélisée sous forme d'une fonction d'évolution discrète. Différentes méthodes connues permettent de convertir les équations d'évolution continues en équations d'évolution discrètes.
La fonction d'observation modélisée dans le système dynamique à temps discret de la centrale inertielle décrit les mesures effectuées par un capteur non inertiel particulier. Plusieurs fonctions d'observation peuvent alors être mises en oeuvre successivement dans le temps en fonction des capteurs utilisés.
Le système dynamique à temps discret utilisé dans la centrale inertielle de navigation est donc un modèle le plus fidèle possible d'un autre système dynamique, à temps continu, correspondant au monde vrai. Les propriétés d'observabilité de ces deux systèmes sont donc différentes.Discrete time system: { x k + 1 = f x k , u k z k = h x k
Figure imgb0091
Where X ( t ) and x k denote the state of the system, u ( t ) and u k denote the input control, z ( t ) and z k denote the observation at a continuous instant t or discrete instant k, according to the continuous or discrete representation mode.
The equations of Newton's classical mechanics make it possible to describe the state of a mobile marker as a function of its acceleration and its angular velocity at any moment. These equations constitute an example of a continuous evolution function, the state vector gathering the information of position, speed, and orientation of the moving marker, and the control vector consisting of the acceleration and the angular velocity.
In the state of the art of an inertial navigation unit, the calculations can be made only discretely. As a result, this continuous evolution function is modeled as a discrete evolution function. Various known methods make it possible to convert the continuous evolution equations into discrete evolution equations.
The observation function modeled in the discrete-time dynamic system of the inertial unit describes the measurements performed by a non-inertial sensor particular. Several observation functions can then be implemented successively in time depending on the sensors used.
The discrete time dynamic system used in the inertial navigation unit is therefore the most faithful model possible of another dynamic system, in continuous time, corresponding to the real world. The observability properties of these two systems are therefore different.

Les propriétés d'observabilité d'un système dynamique caractérisent les informations sur l'état du système à un instant donné qui peuvent être obtenues en tenant compte des observations effectuées ultérieurement et des fonctions d'évolution et d'observation. Ces propriétés dépendent notamment de la commande, c'est-à-dire des mouvements du porteur dans le cas de la centrale inertielle de navigation.The observational properties of a dynamic system characterize the information on the state of the system at a given instant that can be obtained by taking into account observations made later and evolution and observation functions. These properties depend in particular on the control, that is to say the movements of the carrier in the case of the inertial navigation unit.

ANNEXE 6 : Observabilité d'un système à temps continuAPPENDIX 6: Observability of a continuous time system

Considérons un système dynamique continu non linéaire qui, à l'instant 0 se trouve dans un état X(0). Par la suite, la fonction de propagation ainsi que la commande d'entrée font passer le système dans des états X(t), définissant ainsi une trajectoire particulière dans l'espace d'état.Consider a continuous nonlinear dynamic system that at time 0 is in a state X (0). Subsequently, the propagation function and the input control move the system into X ( t ) states , thereby defining a particular path in the state space.

Cette trajectoire étant connue, supposons que l'état initial s'écarte maintenant de X(0) d'une petite valeur δX(0) appelée état linéarisé et que les commandes d'entrée soient les mêmes que dans la situation précédente. Les états suivants sont alors X(t)+δX(t). La fonction d'observation permet de recueillir à chaque étape des informations sur l'état courant. Le problème posé est de savoir si ces informations du début à la fin du scénario considéré permettent de connaître δX(0). L'espace des états linéarisés à l'instant 0 est alors composé d'un sous-espace observable et un sous-espace non observable. L'espace non observable à l'instant 0 caractérisé par l'état δX(0) peut alors se déduire d'après un nouveau système dynamique permettant de décrire les états linéarisés en connaissant la trajectoire X(t) : { δ X ˙ t = f X X t , u t δ X t = F X t , u t δ X t δ z t = d h d X X t δ X t = H X t δ X t

Figure imgb0092
où F et H sont des matrices variables dans le temps correspondant à la matrice d'évolution et la matrice d'observation du système dynamique linéarisé pour une trajectoire donnée.Since this trajectory is known, suppose that the initial state now deviates from X (0) by a small value δX (0) called the linearized state and that the input commands are the same as in the previous situation. The following states are then X ( t ) + δX ( t ) . The observation function makes it possible to collect at each step information on the current state. The problem is to know if this information from the beginning to the end of the scenario considered allows to know δX (0). The space of linearized states at time 0 is then composed of an observable subspace and an unobservable subspace. The unobservable space at time 0 characterized by the state δX (0) can then be deduced from a new dynamic system for describing the linearized states knowing the trajectory X ( t ): { δ X ˙ t = f X X t , u t δ X t = F X t , u t δ X t δ z t = d h d X X t δ X t = H X t δ X t
Figure imgb0092
where F and H are time-varying matrices corresponding to the evolution matrix and the observation matrix of the linearized dynamic system for a given trajectory.

L'espace non observable est alors constitué d'états linéarisés δX(t) tels que d k z t d t k = 0

Figure imgb0093
pour k=1,2,3,... et t ≥ 0The unobservable space then consists of linearized states δX ( t ) such that d k z t d t k = 0
Figure imgb0093
for k = 1,2,3, ... and t ≥ 0

Les solutions forment un espace vectoriel d'états linéarisés. Il existe alors une base B(0) de cet espace formant des vecteurs non observables B(0)=(δX 1(0),δX 2(0),...,δXq (0)) à l'instant 0.Solutions form a vector space of linearized states. There is then a base B (0) of this space forming unobservable vectors B (0) = ( δX 1 (0), δX 2 (0), ... , δX q (0)) at time 0 .

ANNEXE 7 : Observabilité d'un système à temps discretAPPENDIX 7: Observability of a discrete time system

Considérons un système dynamique discret non linéaire qui, à l'instant 0 se trouve dans un état X 0 . A différents instants discrets successifs, la fonction de propagation ainsi que la commande d'entrée font passer le système dans des états X 1, X 2,... Connaissant ces états successifs, supposons que l'état initial s'écarte maintenant de X 0 d'une petite valeur δX 0 appelé état linéarisé et que les commandes d'entrée soient les mêmes que dans la situation précédente. Les états successifs suivants sont alors X 1+δX 1, X2 +δX 2,... La fonction d'observation permet de recueillir à chaque étape des informations sur l'état courant. Le problème posé est de savoir si ces informations du début à la fin du scénario considéré permettent de connaître δX 0 . L'espace des états linéarisés à l'instant 0 est alors composé d'un sous-espace observable et un sous-espace non observable. Un observateur fonctionnant sur le principe de la linéarisation, comme l'EKF ne pourra alors jamais estimer une erreur dans l'espace non observable des états linéarisés.Consider a nonlinear discrete dynamic system that at time 0 is in a state X 0 . At different successive discrete instants, the propagation function as well as the input control make the system go into states X 1 , X 2 , ... Knowing these successive states, suppose that the initial state now deviates from X 0 of a small value δX 0 called linearized state and that the input commands are the same as in the previous situation. The following successive states are then X 1 + δX 1 , X 2 + δX 2 , ... The observation function makes it possible to collect at each step information on the current state. The problem is to know if this information from the beginning to the end of the scenario considered allows to know δX 0 . The space of linearized states at time 0 is then composed of an observable subspace and an unobservable subspace. An observer working on the principle of linearization, like the EKF, will never be able to estimate an error in the unobservable space of the linearized states.

L'espace non observable à l'instant 0 caractérisé par l'état X 0 peut alors se déduire en considérant le système dynamique des états linéarisés δXk , mettant en oeuvre la fonction d'évolution et la fonction d'observation linéarisées aux différents états X0 ,X 1 ,X 2,... La fonction d'évolution linéarisée à l'instant k est appelée « matrice de transition » notée φ k→k+1(Xk ). La fonction d'observation linéarisée à l'instant k est notée Hk (Xk ). The unobservable space at time 0 characterized by the state X 0 can then be deduced by considering the dynamic system of linearized states δX k , implementing the evolution function and the linearized observation function at different states. X 0 , X 1 , X 2 , ... The linearized evolution function at time k is called the "transition matrix" denoted by φ k → k +1 ( X k ). The linearized observation function at time k is denoted H k ( X k ) .

Une première observation de l'écart δX 0 autour de X 0 est faite à l'aide de la matrice d'observation H 0(X 0) correspondant à la fonction d'observation linéarisée en X 0 . Une prédiction de l'écart δX 1 autour de X 1 est faite à partir de l'écart δX 0 autour de X 0 à l'aide de la matrice de transition φ0→1(X 0) correspondant à la fonction d'évolution linéarisée en X 0 . Une deuxième observation de l'écart δX 1 autour de X 1 est faite à l'aide de la matrice d'observation H 1(X 1), etc...A first observation of the deviation δX 0 around X 0 is made using the observation matrix H 0 ( X 0 ) corresponding to the linearized observation function at X 0 . A prediction of the difference δX 1 around X 1 is made from the difference δX 0 around X 0 using the transition matrix φ 0 → 1 ( X 0 ) corresponding to the evolution function linearized in X 0 . A second observation of the deviation δX 1 around X 1 is made using the observation matrix H 1 ( X 1 ), etc.

On sait alors que l'espace non observable du système décrivant la perturbation est le noyau de la matrice : M X 0 = H 0 X 0 H 1 X 1 φ 0 1 X 0 H 2 X 2 φ 1 2 X 1 φ 0 1 X 0

Figure imgb0094
L'espace non observable et l'espace observable dépendent donc de l'état de référence initial X 0 , de la commande d'entrée (données inertielles dans le cas des centrales inertielles), et des fonctions d'évolution et d'observation.We then know that the unobservable space of the system describing the perturbation is the core of the matrix: M X 0 = H 0 X 0 H 1 X 1 φ 0 1 X 0 H 2 X 2 φ 1 2 X 1 φ 0 1 X 0
Figure imgb0094
The unobservable space and the observable space therefore depend on the initial reference state X 0 , the input control (inertial data in the case of inertial units), and the evolution and observation functions.

Supposons que le vecteur v 0(X 0) fasse partie du noyau de M(X 0).
Posons : { v 1 X 1 = φ 0 1 X 0 v 0 X 0 v 2 X 2 = φ 1 2 X 1 v 1 X 1 v 3 X 3 = φ 2 3 X 2 v 2 X 2 ,

Figure imgb0095
On a alors : { H 0 X 0 v 0 X 0 = 0 H 1 X 1 v 1 X 1 = 0 H 2 X 2 v 2 X 2 = 0
Figure imgb0096
Suppose that the vector v 0 ( X 0 ) is part of the core of M ( X 0 ) .
Let's ask: { v 1 X 1 = φ 0 1 X 0 v 0 X 0 v 2 X 2 = φ 1 2 X 1 v 1 X 1 v 3 X 3 = φ 2 3 X 2 v 2 X 2 ... ,
Figure imgb0095
We then have: { H 0 X 0 v 0 X 0 = 0 H 1 X 1 v 1 X 1 = 0 H 2 X 2 v 2 X 2 = 0 ...
Figure imgb0096

A un instant donné, une condition d'observabilité est alors formée pour une direction non observable par le système d'équations: { v k + 1 X k + 1 = φ k k + 1 X k v k X k H k + 1 X k + 1 v k + 1 X k + 1 = 0

Figure imgb0097
vk (Xk ) forme un vecteur non observable particulier à un instant discret k.At a given moment, an observability condition is then formed for a non-observable direction by the system of equations: { v k + 1 X k + 1 = φ k k + 1 X k v k X k H k + 1 X k + 1 v k + 1 X k + 1 = 0
Figure imgb0097
Where v k ( X k ) forms a particular unobservable vector at a discrete moment k.

Cette condition s'applique à chaque instant et est liée à la trajectoire X 0, X 1, X 2,...This condition applies at every moment and is related to the trajectory X 0 , X 1 , X 2 , ...

Dans l'EKF, cette trajectoire est bruitée par les erreurs d'estimation. Ce bruit a tendance à réduire le noyau de la matrice d'observabilité, et donc à diminuer la dimension de l'espace non observable.In the EKF, this trajectory is noisy by the estimation errors. This noise tends to reduce the core of the observability matrix, and therefore to reduce the size of the unobservable space.

De plus les fonctions de transition et d'observation ne sont pas linéarisées au même point. La suite X 0 , X 1, X 2,... est remplacée par une suite H,0, φ,1, H,1, φ,2, H,2, φ,3,,...
Et : { v 1 X H ,1 = φ 0 1 X φ ,0 v 0 X H ,0 v 2 X H ,2 = φ 1 2 X φ ,1 v 1 X H ,1 v 3 X H ,3 = φ 2 3 X φ ,2 v 2 X H ,2 ,

Figure imgb0098
Avec: { H 0 X H ,0 v 0 X H ,0 = 0 H 1 X H ,1 v 1 X H ,1 = 0 H 2 X H ,2 v 2 X H ,2 = 0
Figure imgb0099
Moreover, the transition and observation functions are not linearized at the same point. The sequence X 0 , X 1 , X 2 , ... is replaced by a sequence X H, 0 , X φ , 1 , X H, 1 , X φ, 2 , X H, 2 , X φ, 3 ,, ...
And: { v 1 X H , 1 = φ 0 1 X φ , 0 v 0 X H , 0 v 2 X H 2 = φ 1 2 X φ , 1 v 1 X H , 1 v 3 X H 3 = φ 2 3 X φ 2 v 2 X H 2 ... ,
Figure imgb0098
With: { H 0 X H , 0 v 0 X H , 0 = 0 H 1 X H , 1 v 1 X H , 1 = 0 H 2 X H 2 v 2 X H 2 = 0 ...
Figure imgb0099

La condition d'observabilité s'écrit alors : { v k + 1 X ^ H , k + 1 = φ k k + 1 X ^ φ , k v k X ^ H , k H k + 1 X ^ H , k + 1 v k + 1 X ^ H , k + 1 = 0

Figure imgb0100
The condition of observability is then written: { v k + 1 X ^ H , k + 1 = φ k k + 1 X ^ φ , k v k X ^ H , k H k + 1 X ^ H , k + 1 v k + 1 X ^ H , k + 1 = 0
Figure imgb0100

ANNEXE 8 : démonstration de la formule d'ajustement de matrices pour une base orthogonale de vecteursAPPENDIX 8: Demonstration of the matrix fitting formula for an orthogonal vector basis

Hypothèse : p matrices colonne Ui telles que : i , j tq i j ,U i T U j = 0

Figure imgb0101
Hypothesis: p matrices U i such that: i , j tq i j , U i T U j = 0
Figure imgb0101

Soit p matrices colonne Vi de même dimension que les Ui.Let p matrices V i of the same dimension as the U i .

Soit la matrice A.Let the matrix A.

Problème : On recherche la matrice δA de norme minimum telle que : A + δA U 1 U 2 U q = V 1 V 2 V q

Figure imgb0102
Problem: We search for the minimum standard matrix δA such that: AT + dA U 1 U 2 U q = V 1 V 2 V q
Figure imgb0102

La matrice A + δA peut se mettre sous forme de p matrices ligne en colonne, et les vecteur Vk sous forme de q scalaires en colonne : L 1 + δ L 1 L 2 + δ L 2 L p + δ L p U 1 U 2 U q = v 11 v 12 v 1 q v 21 v 22 v 2 q v q 1 v q 2 v qq

Figure imgb0103
The matrix A + δA can be in the form of p matrices row by column, and the vectors V k in the form of q scalars in column: The 1 + δ The 1 The 2 + δ The 2 ... The p + δ The p U 1 U 2 ... U q = v 11 v 12 v 1 q v 21 v 22 v 2 q ... ... ... v q 1 v q 2 ... v qq
Figure imgb0103

On recherche donc les δLk de norme minimum tels que : k , l 1,2, , q 2 , L k + δ L k U l = v kl

Figure imgb0104
We therefore look for minimum standard δL k such as: k , l 1.2, ... , q 2 , The k + δ The k U l = v kl
Figure imgb0104

Interprétation géométrique du problème : Les matrices ligne et colonne sont associées à des vecteurs dans un espace vectoriel de dimension supérieure à q. On garde les mêmes notations en ajoutant une flèche au-dessus des variables.Geometric interpretation of the problem: The row and column matrices are associated with vectors in a vector space larger than q. We keep the same notations by adding an arrow above the variables.

La condition (1) se traduit par : ∀(i,j)tq i ≠ j, U iU j Condition (1) results in: ∀ (i, j) tq i ≠ j, U i U j

La condition (2) se traduit par le produit scalaire suivant : k , l 1,2, , q 2 , L k + δ L k U l = v kl

Figure imgb0105
Condition (2) results in the following scalar product: k , l 1.2, ... , q 2 , The k + δ The k U l = v kl
Figure imgb0105

La projection du vecteur L k sur l'axe orienté défini par le vecteur unitaire U l U l

Figure imgb0106
a pour abscisse L k . U l U l = L k U l U l
Figure imgb0107
sur cet axe. C'est le cosinus directeur de L k selon cet axe.The projection of the vector The k on the oriented axis defined by the unit vector U l U l
Figure imgb0106
for abscissa The k . U l U l = The k U l U l
Figure imgb0107
on this axis. This is the cosine director of The k along this axis.

On recherche δL k tel que la projection de L k + δL k sur cet axe soit L k + δ L k . U l U l = v kl U l .

Figure imgb0108
We search δ The k such as the projection of The k + δ The k on this axis either The k + δ The k . U l U l = v kl U l .
Figure imgb0108

δL k peut être décomposé selon les vecteurs Ui qui génèrent un espace vectoriel de dimension q, et selon une composante résiduelle ε k orthogonale à cet espace : δ L k = l = 1 q δ L kl + ε k

Figure imgb0109
δ The k can be decomposed according to the vectors U i which generate a vector space of dimension q, and according to a residual component ε k orthogonal to this space: δ The k = Σ l = 1 q δ The kl + ε k
Figure imgb0109

Et donc L k + δ L kl . U l U l = v kl U l .

Figure imgb0110
And so The k + δ The kl . U l U l = v kl U l .
Figure imgb0110

La figure 7 montre qu'il existe une infinité de solutions x kl. La solution minimale correspond à un vecteur δL kl colinéaire à U l.The figure 7 shows that there are infinite solutions x kl . The minimal solution corresponds to a vector δ The kl collinear to U l .

D'après la figure, on a : δ L kl = v kl U l U l U l L k . U l U l U l U l

Figure imgb0111
δ L kl = v kl U l L k . U l U l U l U l
Figure imgb0112
δ L kl = 1 U l 2 v kl L k . U l U l
Figure imgb0113
According to the figure, we have: δ The kl = v kl U l U l U l - The k . U l U l U l U l
Figure imgb0111
δ The kl = v kl U l - The k . U l U l U l U l
Figure imgb0112
δ The kl = 1 U l 2 v kl - The k . U l U l
Figure imgb0113

On a donc ε k = 0, et : δ L k = l = 1 q 1 U l 2 v kl L k . U l U l

Figure imgb0114
So we have ε k = 0 , and: δ The k = Σ l = 1 q 1 U l 2 v kl - The k . U l U l
Figure imgb0114

De retour en notation matricielle, on a donc : δ L k = l = 1 q 1 U l T U l v kl L k . U l U l T

Figure imgb0115
Back in matrix notation, we have: δ The k = Σ l = 1 q 1 U l T U l v kl - The k . U l U l T
Figure imgb0115

En reformant les matrices A et δA, après quelques manipulations, on obtient la relation : δA = l = 1 q 1 U l T U l V l AU l U l T

Figure imgb0116
By reforming matrices A and δA, after a few manipulations, we obtain the relation: dA = Σ l = 1 q 1 U l T U l V l - AT l U l T
Figure imgb0116

Claims (8)

  1. Method for estimating a navigation state with a plurality of variables of a mobile carrier according to the extended Kalman filter method, comprising the steps of:
    - acquiring measurements of at least one of the variables,
    - extended Kalman filtering (400) producing a current estimated state and a covariance matrix delimiting in the space of the navigation state a region of errors, from a preceding estimated state, an observation matrix (Φ k-1→k ), a transition matrix (Hk ) and acquired measurements,
    the method being characterised in that it comprises a step of adjusting (310, 330) the transition matrix (Hk ) and the observation matrix (Φ k-1→k ) prior to their use in the extended Kalman filtering, so that the adjusted matrices satisfy an observability condition that depends on at least one of the variables of the state of the carrier, the observability condition being adapted to prevent the Kalman filter from reducing the dimension of the region along at least one non-observable axis of the state space, wherein the observability condition to be satisfied by the adjusted transition and observation matrices is the nullity of the kernel of an observability matrix (M(X 0)) which is associated therewith, and
    wherein the adjustment comprises the steps of:
    - calculating (301) at least one primary base (B 1 k ) of non-observable vectors from a preceding estimated state,
    - for each matrix to be adjusted (Hk, Φ k-1k ), calculating (306, 308) at least one matrix difference (δHk, δΦ k-1k ) associated with the matrix from the primary base (B 1 k ) of vectors,
    - offsetting (330) each matrix to be adjusted (Hk , Φ k-1k ), according to the matrix difference (δHk, δΦ k-1k ) that is associated therewith so as to satisfy the observability condition.
  2. Method according to Claim 1, in which the extended Kalman filtering comprises the sub-steps of:
    - propagating the preceding estimated state into a predicted state by means of the adjusted transition matrix,
    - linearising in the predicted state a non-linear model so as to produce the observation matrix (Φ k-1k ), before adjustment,
    - adjusting the observation matrix produced by linearising.
  3. Estimation method according to any one of the foregoing claims, also comprising a step of orthogonalizing (302) the primary base (B 1 k ) into a secondary base (B 2 k) of vectors, the matrix difference (δΦ k-1k ) associated with the observation matrix (Φk-1→k ) being calculated from the secondary base (B 2 k) of vectors.
  4. Estimation method according to any one of the foregoing claims, in which the matrix difference (δΦ i,x-1k ) associated with the observation matrix is the sum of a plurality of elementary matrix differences (δΦ i,k-1k ), each elementary matrix difference (δΦk-1→k ) being calculated from a vector of the secondary base (B 2 k) particular thereto.
  5. Estimation method according to any one of the foregoing claims, the steps whereof are repeated in successive cycles, and in which a given cycle, called current cycle, comprises the steps of:
    - storing (303) the secondary base (B 2 k) of orthogonalization vectors and coefficients, which are also produced by the orthogonalisation step, and
    - transforming (304) the primary base (B 1 k ) of vectors into a tertiary base (B 3 k ) of vectors by means of orthogonalization coefficients stored during a preceding cycle,
    the matrix difference associated with the transition matrix being calculated (306) from a secondary base (B 2 k-1 ) stored during the preceding cycle and the tertiary base (B 3 k ) calculated during the current cycle.
  6. Estimation method according to the foregoing claim, wherein the matrix difference (δHk ) associated with the transition matrix is the sum of a plurality of elementary matrix differences (δHi,k ), each elementary matrix difference (δHi,k ) being calculated from a vector of the secondary base (B 2 k-1 ) stored during the preceding cycle and specific to the elementary matrix difference, and from a vector of the tertiary base (B 3 k ) calculated during the current cycle and specific to the elementary matrix difference (δHi,x ).
  7. Inertial unit (IN) comprising a plurality of sensors (CI, CC) and means (E) for estimating a navigation state of the inertial unit by executing the estimation method according to any one of the foregoing claims.
  8. Computer program product comprising program code instructions for execution of the steps of the method according to any one of claims 1 to 6, when this program is executed by data-processing means (E).
EP15787940.4A 2014-10-29 2015-10-23 Method of estimating a navigation state constrained in terms of observability Active EP3213033B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1460412A FR3028031B1 (en) 2014-10-29 2014-10-29 METHOD FOR ESTIMATING A NAVIGATION STATUS CONSTRAINED IN OBSERVABILITY
PCT/EP2015/074570 WO2016066538A1 (en) 2014-10-29 2015-10-23 Method of estimating a navigation state constrained in terms of observability

Publications (2)

Publication Number Publication Date
EP3213033A1 EP3213033A1 (en) 2017-09-06
EP3213033B1 true EP3213033B1 (en) 2018-08-22

Family

ID=52684338

Family Applications (1)

Application Number Title Priority Date Filing Date
EP15787940.4A Active EP3213033B1 (en) 2014-10-29 2015-10-23 Method of estimating a navigation state constrained in terms of observability

Country Status (6)

Country Link
US (1) US10295348B2 (en)
EP (1) EP3213033B1 (en)
CN (1) CN107110650B (en)
FR (1) FR3028031B1 (en)
RU (1) RU2701194C2 (en)
WO (1) WO2016066538A1 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106052685B (en) * 2016-06-21 2019-03-12 武汉元生创新科技有限公司 A kind of posture and course estimation method of two-stage separation fusion
GB2567845B (en) * 2017-10-26 2023-02-01 Focal Point Positioning Ltd A method and system for combining sensor data
CN108537360A (en) * 2018-03-01 2018-09-14 长安大学 One kind taking polyfactorial adaptable Kalman filter slide prediction method into account
FR3084176B1 (en) * 2018-07-23 2020-06-19 Safran Electronics & Defense METHOD AND DEVICE FOR AIDING THE NAVIGATION OF A CARRIER USING AN INVARIANT KALMAN FILTER AND A NAVIGATION STATE OF A SECOND CARRIER
CN109035784B (en) * 2018-09-17 2021-01-26 江苏智通交通科技有限公司 Dynamic traffic flow OD estimation method based on multi-source heterogeneous data
CN109724599B (en) * 2019-03-12 2023-08-01 哈尔滨工程大学 Wild value resistant robust Kalman filtering SINS/DVL integrated navigation method
CN110031802B (en) * 2019-04-04 2020-10-09 中国科学院数学与系统科学研究院 Fusion positioning method of double infrared sensors with unknown measurement zero offset
WO2021012040A1 (en) * 2019-07-21 2021-01-28 Hatami Hanza Hamid Methods and systems for state navigation
US11893004B2 (en) * 2020-08-26 2024-02-06 Ford Global Technologies, Llc Anomaly detection in multidimensional sensor data
CN112945245B (en) * 2021-02-05 2022-09-27 中国航天空气动力技术研究院 Observability analysis method in multi-AUV (autonomous underwater vehicle) collaborative navigation system based on condition number theory
FR3123720B1 (en) * 2021-06-04 2023-05-26 Safran METHOD FOR AIDING THE NAVIGATION OF A VEHICLE
CN113472318B (en) * 2021-07-14 2024-02-06 青岛杰瑞自动化有限公司 Hierarchical self-adaptive filtering method and system considering observation model errors
CN113935024B (en) * 2021-10-09 2024-04-26 天津科技大学 Discrete event system information security judging method with uncertainty observation
CN114549622A (en) * 2021-12-31 2022-05-27 广州文远知行科技有限公司 State update optimization method, device, equipment and storage medium
CN115167116B (en) * 2022-05-27 2024-05-14 东北林业大学 Ellipsoid-based nonlinear time-varying interconnection system interval estimation method
CN116070066B (en) * 2023-02-20 2024-03-15 北京自动化控制设备研究所 Method for calculating rolling angle of guided projectile
CN117724102A (en) * 2024-02-18 2024-03-19 中国特种设备检测研究院 MCF phase unwrapping method and system combined with EKFPU

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3417661A1 (en) * 1983-05-13 1984-11-15 Mitsubishi Denki K.K., Tokio/Tokyo System for controlling the orientation of an artificial satellite
RU2012034C1 (en) * 1988-04-07 1994-04-30 Ботуз Сергей Павлович Method for automatic control and system for implementation of said method
FR2637565B1 (en) * 1988-10-06 1991-01-11 Aerospatiale ACTIVE CONTROL SYSTEM BASED ON THREE AXES OF THE ATTITUDE OF A GEOSTATIONARY SATELLITE
US6037893A (en) * 1998-07-31 2000-03-14 Litton Systems, Inc. Enhanced motion compensation technique in synthetic aperture radar systems
AU2003264048A1 (en) * 2002-08-09 2004-02-25 Intersense, Inc. Motion tracking system and method
RU2318188C1 (en) * 2006-07-17 2008-02-27 Военно-космическая академия имени А.Ф. Можайского Method for autonomous navigation and orientation of spacecrafts
US8725327B2 (en) * 2008-04-22 2014-05-13 Exelis Inc. Navigation system and method of obtaining accurate navigational information in signal challenging environments
CN102519463A (en) * 2011-12-13 2012-06-27 华南理工大学 Navigation method and device based on extended Kalman filter
WO2014130854A1 (en) * 2013-02-21 2014-08-28 Regents Of The Univesity Of Minnesota Extrinsic parameter calibration of a vision-aided inertial navigation system
CN105606104B (en) * 2016-03-17 2019-04-30 北京工业大学 Autonomous navigation method of robot based on course auxiliary distribution SLAM

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Also Published As

Publication number Publication date
CN107110650A (en) 2017-08-29
EP3213033A1 (en) 2017-09-06
CN107110650B (en) 2018-07-10
WO2016066538A1 (en) 2016-05-06
RU2701194C2 (en) 2019-09-25
US20170314928A1 (en) 2017-11-02
FR3028031A1 (en) 2016-05-06
RU2017118338A (en) 2018-11-30
RU2017118338A3 (en) 2019-04-10
FR3028031B1 (en) 2019-09-20
US10295348B2 (en) 2019-05-21

Similar Documents

Publication Publication Date Title
EP3213033B1 (en) Method of estimating a navigation state constrained in terms of observability
EP3278061B1 (en) Method for tracking the navigation of a mobile carrier with an extended kalman filter
EP3623758B1 (en) Positioning system, and associated method for positioning
EP3071934B1 (en) Alignment procedure of an inertial measuring unit
EP2718670B1 (en) Simplified method for estimating the orientation of an object, and attitude sensor implementing such a method
EP3807594B1 (en) Method for calibrating magnetometers fitted in an object
EP2428934B1 (en) Method for estimating the movement of a carrier in relation to an environment and calculation device for a navigation system
EP3447654B1 (en) Method for determining the trajectory of a moving object, program and device for implementing said method
EP3004807B1 (en) Method for autonomous calibration of an inertial equipment used in a static mode
EP3655800B1 (en) Method and device for magnetic field measurement by magnetometers
EP3227860B1 (en) Method of estimating the motion of a carrier with respect to an environment and calculation device for navigation system
EP3827221B1 (en) Vehicle navigation assistance method and device using an invariant kalman filter and a navigation status of a second vehicle
EP3655724B1 (en) Method for estimating the movement of an object moving in a magnetic field
WO2019239063A1 (en) Method for calibrating a gyrometer fitted in an object
WO2021115998A1 (en) Particle filtering and navigation system using measurement correlation
FR3120689A1 (en) PROCEDURE FOR AIDING THE NAVIGATION OF A VEHICLE
WO2020233906A1 (en) Particle filtering method and navigation system using measurement correlation
WO2021115993A1 (en) Particle filtering method and navigation system using measurement correlation
FR3142999A1 (en) Method and device for managing a magnetic signature of a ship, corresponding computer program product and storage medium

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20170526

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20180328

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 1033021

Country of ref document: AT

Kind code of ref document: T

Effective date: 20180915

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: FRENCH

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602015015224

Country of ref document: DE

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 4

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20180822

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181122

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181122

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181123

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181222

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 1033021

Country of ref document: AT

Kind code of ref document: T

Effective date: 20180822

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602015015224

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20181031

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20181023

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

26N No opposition filed

Effective date: 20190523

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20181031

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20181031

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20181031

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20181023

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20151023

Ref country code: MK

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20180822

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180822

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20230920

Year of fee payment: 9

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20230920

Year of fee payment: 9

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20230920

Year of fee payment: 9