Calibration of a multi-sensor fusion system for inertial navigation
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-04-26
- Publication Date
- 2026-03-11
AI Technical Summary
Current multi-sensor fusion systems for inertial navigation, such as those using Kalman filters, face challenges in accurately modeling sensor behaviors due to restrictive linear assumptions and convergence difficulties in optimizing covariance matrices, which affect precision and accuracy in navigation estimation.
The method involves calibrating an extended Kalman filter using natural gradient descent to optimize covariance matrices, allowing for dynamic adaptation of uncertainty modeling and ensuring positivity, thereby improving the weighting of measurements and navigation inference.
This approach enhances the precision and accuracy of navigation estimation by effectively updating uncertainty distributions and ensuring positive covariance matrices, leading to improved performance in real-time trajectory prediction.
Smart Images

Figure FR2024050551_07112024_PF_FP_ABST
Abstract
Description
Description Calibration of a multi-sensor fusion system for inertial navigation
[0001] FIELD OF THE INVENTION
[0002] The present invention relates to the estimation of the position of an agent from a previous position and measurements related to its movement and / or its position. It allows in particular the prediction of the trajectory followed by the agent.
[0003] The inference of the navigation, or movement, of an agent (pedestrian, vehicle, drone, etc.) can typically be done using a Kalman filter merging measurements coming for example from an inertial unit on board or associated with this agent or other sensors such as cameras, Lidar, GPS, odometers (which can measure wheel speed for example), etc. The Kalman filter makes it possible to infer its position, from its last position and the various measurements, but also potentially its speed, acceleration, etc.
[0004] The Kalman filter estimates, over successive iterations, a navigation state of the agent via matrix equations, therefore linear, by means of noisy measurements provided by these sensors. It assimilates the measurements to a dynamic system governed by linear equations, which is a restrictive limitation and does not allow for precise modeling of the behavior of the sensors.
[0005] The Extended Kalman Filter (EKF) has been proposed to account for dynamic systems governed by nonlinear equations. This method is notably described in Hargrave PJ, “A tutorial introduction to Kalman filtering”, IEE colloquium on Kalman filters: introduction, applications and future development, IET, 1989, or Terejanu Gabriel A, “Extended Kalman filter tutorial”, University of Buffalo, 2008.
[0006] The extended Kalman filter has an additional step of linearizing, at each new iteration of the filter, the equations governing the nonlinear system at a point in the vector space estimated, typically, during a previous iteration. The matrices resulting from this linearization can can thus be used to estimate a new state according to the classical Kalman filter method.
[0007] Extended Kalman filtering is commonly used for various measurement fusion problems, for example to merge inertial measurements with measurements from GPS, cameras, lidar, odometers, etc. Examples include Barrau A, “Non-linear state error based extended Kalman filters with applications to navigation”, doctoral thesis, Mines Paris-tech, 2015, or Potokar ER, Norman K, Mangelson JG “Invariant extended Kalman filtering for underwater navigation”, IEEE Robotics and Automatic Letters, 6(3), 5792-5799, 2021.
[0008] Other methods than Kalman filters exist to perform measurement fusions and allow the estimation of a future state (trajectory in particular), but they tend to be generally more computationally expensive, which can prove problematic for real-time estimation.
[0009] The performance, in terms of precision and accuracy of the estimation, of the Kalman filter (classical or extended) relies to a significant extent on the calibration of the covariance matrices modeling the uncertainty associated with the different sensors.
[0010] We can cite the article Abbeel P. et al., “Discriminative Training of Kalman Filters”, in Robotics: Sciences and systems, vol.2, p.1, 2005 which describes several algorithms for learning covariance parameters for extended Kalman filters, from a history of trajectories.
[0011] It is also possible to predict that the covariance matrices are dynamically adapted by a neural network, the latter being trained on the history of the trajectories, as for example described in Brossard M., Barrau A., Bonnabel S., “AI-IMU Dead-Reckoning” in IEEE Transactions on Intelligent Vehicles, 5(4), 585-595, 2020.
[0012] However, the optimization of covariance matrices generally encounters convergence difficulties, in particular because they do not take into account the distribution changes induced by the updating of the covariances.
[0013] Furthermore, some optimization techniques do not respect the constraint that covariance matrices must necessarily be positive.
[0014] SUMMARY OF THE INVENTION
[0015] There is therefore a need to improve the current proposals of the state of the art. The invention thus aims in particular to improve the performance of the calibration of a multi-sensor fusion system for inertial navigation.
[0016] In particular, according to a first aspect, the present invention can be implemented by a navigation assistance method comprising a prediction of a position of an agent, said prediction comprising: - acquisition of a set of measurements linked to the movement of said agent; - determination of said position by calibration of an extended Kalman filter applied to said set of measurements, said calibration comprising a quantification of a divergence with respect to a current distribution of the uncertainties associated with the measurements.
[0017] The invention may also retain a navigation assistance method comprising a prediction of a position of an agent comprising steps of: - acquisition of a set of measurements linked to the movement of said agent, and, - determination of said position by application of an extended Kalman filter on said set of measurements, said extended Kalman filter being parameterized by at least one covariance matrix determined by optimizing a given optimization criterion by natural gradient descent.
[0018] Changing the covariance matrix allows for changes in the modeling of uncertainties in the measurements. Changing the modeling of uncertainties allows for changes in how the navigation-inferring extended Kalman filter weights the measurements relative to the a priori estimated state.
[0019] According to preferred embodiments, the invention comprises one or more of the following features which may be used separately or in partial combination with each other or in total combination with each other: - said quantification is used to calculate a natural gradient to update the distribution of uncertainties. The natural gradient is a probabilistic gradient that allows quantifying the variation in the distribution of a criterion, independently of how this distribution is parameterized. - said at least one covariance matrix, R, is factorized in the form R=LL Twhere L is a second matrix, and wherein the optimization is performed on said at least one second matrix; - said optimization takes place upstream of the mission of said agent, so that said at least one covariance matrix is fixed during said mission; - said natural gradient descent is performed on said at least one second matrix - said natural gradient is expressed by: [Math.1] ^^ in which ^^ represents the Euclidean gradient of said optimization criterion, C, as a function of said at least one covariance matrix, R, and ∇ ^ ^ ( ^ )represents said natural gradient. - said optimization takes place during said mission so that said at least one covariance matrix is dynamically adapted according to said set of measurements; - said optimization is carried out by means of an adaptation module taking said set of measurements as input and whose parameters are determined by said natural gradient descent; - said natural gradient is approximated by the expression: [Math.2] ∇ ^ ^ ^ = 1 ^ ^^ ^^ ( ) ^^ ^ 2 ^^ ^^ in which ^^ is the Euclidean gradient of said criterion C ^^ as a function of said at least one covariance matrix, R, ^^ represents the Euclidean gradient of said at least one second matrix, L, with respect to said parameters, ^, and ∇ ^ ^ ( ^ ) represents the said natural gradient
[0020] Another aspect of the invention relates to a computer program comprising instructions for implementing a method as previously described.
[0021] Another aspect of the invention relates to a device for predicting a position of an agent, comprising a processor adapted for acquiring a set of measurements linked to the movement of said agent and for implementing an extended Kalman filter adapted for determining said position from said set of measurements, and a calibration device adapted for parameterizing at least one covariance matrix of said extended Kalman filter, determined by optimizing a given optimization criterion by natural gradient descent.
[0022] According to preferred embodiments, this device may comprise one or more of the features previously mentioned in relation to the method, which may be used separately or in partial combination with each other or in total combination with each other.
[0023] Other characteristics and advantages of the invention will appear on reading the following description of a preferred embodiment of the invention, given by way of example and with reference to the appended drawings.
[0024] BRIEF DESCRIPTION OF THE FIGURES
[0025] The attached drawings illustrate the invention: Figure 1 schematically illustrates a high-level functional architecture of a trajectory prediction device. Figure 2 schematically represents a high-level functional architecture of a calibration device according to one embodiment. Figure 3 schematically represents a high-level functional architecture of a calibration device according to another embodiment. Figure 4 schematically represents a high-level functional architecture of an optimization module according to one embodiment. Figure 5 illustrates examples of performance under different trajectory prediction methods.
[0026] DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
[0027] According to one embodiment, the method described relates to the inference of the inertial navigation of an agent (pedestrian, vehicle or terrestrial, aerial or marine drone). This agent is typically a mobile carrier, i.e. an individual or a system (vehicle, drone, etc.) carrying or embarking a device allowing the proposed method to be implemented.
[0028] Thus, the agent is equipped with one or more inertial measurement units (IMUs) as well as, possibly, one or more other sensors such as a positioning sensor (GPS, etc.), an odometer, a camera, a lidar, etc.
[0029] Inertial measurement units, or inertial measurement systems, are devices used in navigation and are capable of integrating the movements of a mobile (acceleration and angular velocity) to estimate its orientation (roll, pitch and heading angles), its speed and its position.
[0030] Figure 1 illustrates a high-level functional architecture of a trajectory prediction device.
[0031] This device 10 acquires a set of measurements 20 linked to the movement of said agent. Depending on a state at a time (or iteration) t, the prediction device can infer a state 21 at a following time (or iteration) t+1 depending on the measurements 20 acquired. This state can represent the position of the agent at this following time, or iteration, and thus make it possible to describe the trajectory of the agent iteratively.
[0032] In Figure 1, three arrows representing 20 measurements are shown, but it is of course possible to take into account a different number of input measurements.
[0033] The trajectory prediction device 10 comprises a multi-sensor fusion system 11, which may for example be an extended Kalman filter.
[0034] This extended Kalman filter applied to the set of 20 measurements allows them to be merged to estimate a position of the agent at the next iteration.
[0035] The extended Kalman filter 11 is parameterized by the covariance matrices 23 of the uncertainties associated with the different measurements. We therefore typically have one covariance matrix per measurement source, i.e. per sensor. These covariance matrices are determined by a calibration device 13.
[0036] For this calibration, the device accumulates trajectory data in a trajectory database 12 (or trajectory history). The trajectory data can be retrieved at the output of the Kalman filter as illustrated in Figure 1, but they can also be accumulated at the input of the filter or at any other time during the fusion by the filter.
[0037] According to another embodiment, the trajectory database 12 is previously constituted and may not need to be enriched by the trajectories estimated by the extended Kalman filter 11. In other words, the history is based on previous movements, or missions, of the agent or other agents, and does not take into account the behavior of the agent during the current mission.
[0038] The trajectory data stored in the database 12 may include the measurements acquired by the sensors, 20, matrices and vectors calculated by the extended Kalman filter 11 (these matrices and vectors may typically be Jacobian matrices and innovation vectors).
[0039] The calibration device 13 determines the covariance matrix(s) 23 using trajectory data 22 retrieved from the database 12.
[0040] In a first embodiment, the calibration can be performed statically. In this mode, the calibration device 13 only takes as input the trajectory data 22 from the history 12.
[0041] As illustrated in Figure 2, the calibration device 13 comprises an optimization module 131 which takes as input the historical trajectory data 22 and provides an optimized quantity 23. Generally speaking, the optimization block has the role of optimizing a quantity according to a given criterion. In the present case, the optimized quantity is the covariance matrix(es).
[0042] As seen previously, a matrix per measurement can be provided, so that the optimization module can implement an optimization algorithm for each of the acquired measurements 20.
[0043] The optimization of the covariance matrices 23 can be carried out upstream of the navigation phase, for example before the agent leaves for the mission. Once in the mission phase, the matrices remain fixed until the mission is completed or an operator has triggered a new matrix calibration phase. This is why, in this embodiment, the calibration of the covariance matrices is described as static.
[0044] In a second embodiment, the calibration of the covariance matrices of the sensors is carried out dynamically, that is to say by taking into account the set of measurements 20 acquired during the mission.
[0045] In other words, the progress of the current mission influences the correlation matrices 23 which allow the Kalman filter to infer a future position 21.
[0046] To do this, as illustrated in Figure 3, the calibration device 13 comprises an adaptation module 132 designed to predict the covariance matrices 23 from the set of acquired measurements 20 and meta-parameters 133 (or parameters) determined by the optimization module 131 from the historical trajectory data 22.
[0047] In other words, in this embodiment, the adaptation takes place during the agent's mission, so that the covariance matrix is dynamically adapted according to the measurement set.
[0048] This adaptation module 132 can implement a function therefore making it possible to determine a covariance matrix as a function of this input data.
[0049] This function may for example be implemented by a machine learning mechanism. For example, the adaptation module 132 may be a neural network. In particular, it may be a convolutional neural network (CNN), as for example described in Brossard M., Barrau A., and Bonnabel S. “AI-IMU Dead-reckoning”, previously cited.
[0050] All acquired measurements 20 are provided to the input layer of this neural network. This generates a covariance matrix 23 on its output layer.
[0051] In this embodiment, the optimization module 131 may operate similarly to the first embodiment but instead of optimizing a covariance matrix, it optimizes a set of meta-parameters, or parameters, of the neural network. These meta-parameters include, in particular, the synaptic weights of the neural network which form the predictive model represented by the neural network.
[0052] The calibration device 13 can operate in two phases.
[0053] In a first phase, the optimization module 131 determines the parameters 133 of the neural network from the historical trajectory data 22.
[0054] This first phase can be implemented before the mission, i.e. before the agent's departure.
[0055] Once in mission, a second phase can be triggered during which the parameters of the neural network 132 are fixed until the mission is completed or an operator has triggered a new parameter optimization phase (using new historical trajectory data, collected during the mission).
[0056] In this second phase, the calibration device 13 takes as input the set of acquired measurements 20 and dynamically generates the covariance matrices 23, by means of the neural network 132 configured by the parameters 133 set during the first upstream phase. Thus, the covariance matrices change according to the acquired measurements 20. This is why, in this embodiment, the calibration of the covariance matrices is described as dynamic.
[0057] Through the optimization phase of its parameters upstream of the mission phase, the neural network 132 has learned to calculate the covariance matrices 22 which make it possible to obtain the best performances in terms of navigation inference, in the sense of a criterion making it possible to optimize its parameters.
[0058] The first embodiment, based on static calibration, can be used in an environment that changes relatively little, typically for short navigations in a structured environment. Conversely, it is preferable to use the second embodiment, based on dynamic calibration, when the environment can vary greatly during navigation, typically for long navigations or in unstructured environments.
[0059] Among the causes of environmental variability, we can cite: - The variation in weather conditions during navigation can modify the uncertainty associated with certain sensors (cameras, in particular) - The geographical environment can present more or fewer points of interest, which modifies the density of the mapping obtained with the Lidar and / or the cameras; - The GPS signal can be degraded depending on the areas crossed.
[0060] The calibration device 13 can calibrate a set of covariance matrices 23 which parameterize the extended Kalman filter 11. A covariance matrix can be determined for each measurement of the set of measurements 20 acquired by the trajectory prediction device 10.
[0061] The following description concerns a covariance matrix. It is understood that this described process can be repeated for all sensors.
[0062] We denote by R the covariance matrix associated with a given sensor. This covariance matrix can be calibrated as described previously in a static or dynamic manner.
[0063] Since the matrix R is a covariance matrix, it must be symmetric and positive.
[0064] To ensure the positivity and symmetry of this covariance matrix, we factorize the matrix R so that R=LL T , where the symbol T indicates matrix transposition.
[0065] This factorization can for example be done by Cholesky factorization, but other methods are available in the state of the art. In the case of Cholesky factorization, this matrix L is a triangular matrix lower, but the method described is more general and can be applied without imposing such a constraint on the matrix L.
[0066] In the static embodiment, illustrated by Figure 2, the optimization module 131 determines, by optimization, the matrix L. The calibration device 13 can then directly determine and provide the covariance matrix R by R=LL T to the extended Kalman filter 11.
[0067] In the dynamic embodiment, illustrated by Figure 3, the optimization module 131 determines the parameters 133, noted ^, of the neural network 132. This neural network then provides, in the mission phase, the matrix L(x, ^), where x represents the acquired measurements. The calibration device 13 can then directly determine and provide the covariance matrix R by R=L(x, ^).L(x, ^) T to the extended Kalman filter 11.
[0068] The optimization module 131 therefore aims to optimize a matrix L according to a certain criterion C.
[0069] This criterion can be any.
[0070] For example, it can be a likelihood of the L matrix, in particular a log-likelihood, as for example described in the article by Abbeel P. et al, “Discriminative Training of Kalman Filters” previously cited.
[0071] However, the proposed method can be based on different criteria, this not depending on the criterion to be optimized as such.
[0072] The optimization of criterion C can be carried out by a classical gradient descent method.
[0073] The gradient algorithm, also called gradient descent algorithm, refers to an iterative optimization algorithm, where, at each iteration, we seek to improve the current solution by moving in a direction opposite to the gradient so as to decrease the criterion to be minimized. The gradient algorithm is also known as the steepest descent algorithm because the gradient is the slope of the linearized function at the current point and is therefore, locally, its steepest slope (a notion which depends on the scalar product).
[0074] The gradient descent algorithm is widely described in the scientific literature. The corresponding Wikipedia page can be consulted as an example and entry point: https: / / fr.wikipedia.org / wiki / Algorithme_du_gradient https: / / en.wikipedia.org / wiki / Gradient_descent
[0075] Figure 4 illustrates a functional view of the optimization module 131.
[0076] The optimization module 131 takes as input the historical trajectory data 22, from which a module 134 calculates a gradient ^ ∇ ^(^), C being the criterion to be minimized, and V being a quantity for which we seek the value minimizing this criterion C. This value V is referenced 135 in figure 4 and it can be the matrix L or the parameters ^ of the neural network 132.
[0077] Thus, in a static embodiment where we seek to optimize the matrix L, the optimization module 135 iteratively operates the natural gradient descent: [Math.3] ^ ← ^ − ^ ^ ∇ ^(^)
[0078] In a dynamic embodiment, where we seek to optimize the parameters ^, 133, of the neural network, the optimization module 135 iteratively operates the natural gradient descent: [Math.4] ^ ← ^ − ^ ^∇ ^(^)
[0079] These operations (depending on the embodiments) are repeated as indicated in Figure 4. Thus, following the calculation of the gradient ^ ∇ ^ ( ^ ) by the functional block 134 (^ designating ^ or ^ depending on whether we are in the static or dynamic embodiment), this gradient is multiplied by a descent step ^. This descent step is a parameter which can be fixed beforehand. The circle, in the figure, illustrates the operation ^ − ^ ^ ∇ ^(^), the result of which provides a new value of the quantity ^ at the next iteration. This new value is reintroduced as input to gradient calculation block 134 in order to provide a new iteration.
[0080] Classically, this iterative process ends when an optimization criterion is reached, that is to say when the criterion reaches a single determined value or when the gradient no longer evolves sufficiently ( ^ ∇ ^ ( ^) is lower than another threshold), or when a sufficient number of iterations have been carried out, etc.
[0081] The gradient ^ ∇ ^(^) could be calculated using a Euclidean gradient. This ^^ Euclidean gradient can be written as or even: ^^ - in static mode: ^^ - in dynamic mode:
[0082] However, this Euclidean gradient does not allow to take into account the change of distribution induced by the update of the sensor covariance matrix. This leads to difficulties in convergence of the gradient descent, and to a difficult adjustment of the descent step ^.
[0083] Strategies have been proposed to improve gradient descent, such as the "Adam" mechanism for neural networks. This mechanism is described, in particular, in the seminal article: Kingma, DP, BA. J, "Adam: A method for stochastic optimization", 2014, arXiv:1412.6980.
[0084] However, these mechanisms do not solve all the problems and, in particular, adjusting the descent step ^ remains delicate.
[0085] It is proposed to perform gradient descent based on the natural gradient, instead of the Euclidean gradient.
[0086] Natural gradient descent allows us to take into account the change in distribution induced by the change in covariance R=LL T . In particular, it allows us to take into account that the parametric space in which optimization is sought is not necessarily a Euclidean space but, more generally, a Riemann space.
[0087] The natural gradient and its use for the optimization of a criterion C by gradient descent is notably described in the article by Amari S., "Natural Gradient Works Efficiently in Learning", Neural Computation, 10(2), 251-276, 1998, or in the article Amari, Shun'ichi (1983). "A foundation of information geometry". Electronics and Communications in Japan.66 (6): 1–10. doi:10.1002 / ecja.4400660602
[0088] The natural gradient allows to quantify the divergence (i.e. a non-symmetrical distance, such as the Kullback-Leibler divergence) with respect to the current distribution of uncertainties associated with the sensor, when applying an infinitesimal variation to the quantity considered (the matrix L or the parameters ^ of the neural network).
[0089] To calculate the natural gradient with respect to ^, parameterizing a probability law ^(. |^) (typically, a centered Gaussian law parameterized by its covariance matrix), we calculate the Kullback-Leibler divergence between the law ^(. |^) and ^(. |^ + ^^), where ^^ corresponds to a variation of ^: this divergence is noted [Math.5] ^^(^(. |^ + ^^)‖^(. |^)).
[0090] The development limited to order two of this divergence makes it possible to reveal a scalar product ^ ^^|^^ ^ ^ : [Math.6]
[0091] The scalar product ^ ^^|^^ ^ ^ is the Fisher information metric (FIM). It is this scalar product that allows us to calculate the natural gradient: it is noted, between ^^ and ^^′ by: ^ ^^|^^′ ^ ^ .
[0092] Considering a cost function ^ ( ^ ) , the natural gradient ∇ ^ ^ ( ^) of ^ with respect to ^ is then identified by showing the scalar product ^ . | . ^ ^ in the development limited to order 1 of ^ ( ^ + ^^ ) :
[0093] [Math.7] ^ ( ^ + ^^ ) ≈ +
[0094] The difficulty inherent in the natural gradient descent method is the difficulty in determining its expression, and in particular in determining the Fischer information matrix.
[0095] In particular, in the present case, a difficulty is to determine the expression of the natural gradient with respect to the matrix L or with respect to the parameters of the neural network.
[0096] It is proposed to determine the natural gradient as a function of a quantity ^ ^^ ^^ ^ ^^ ^ ^^ ^ in which is the Euclidean gradient of the optimization criterion C as a function of the at least one covariance matrix R.
[0097] In particular, in the static embodiment, it is proposed to express the natural gradient ∇ ^ ^ ( ^ ) by the expression: [Math.8] ^^
[0098] ^^ is the Euclidean gradient of the criterion C to be minimized with respect to the covariance matrix R.
[0099] In the dynamic embodiment, the natural gradient of the criterion C with respect to the parameters ^ of the neural network are difficult to calculate analytically, because the expression of the neural network L( ^) is complex to manipulate to perform calculations.
[0100] We can decompose the gradient using the chain rule: [Math.9] ^^ ^^ ^^ = . ^^ ^^ ^^
[0101] ^^ the Euclidean gradient of the matrix L with respect to the parameters ^ of the neural network. This gradient is calculated automatically by the back-propagation algorithm in the neural network 132. It is thus directly accessible and usable.
[0102] To approximate the natural gradient, we can fix the gradient ∇ ^ ^(^) by ^^ replacing the term ^^ with the expression of ∇ ^ ^ ( ^ ) given above for the static embodiment.
[0103] We thus obtain an approximate expression of the natural gradient for the dynamic case: [Math.10] ^^ 1 ^^ ^^
[0104] This expression also makes the natural gradient depend on the magnitude ^ ^ ^^ ^ ^^ ^
[0105] Figure 5 illustrates the convergence performance of the process for the static mode (covariance matrix R fixed along the mission).
[0106] The figure shows 4 situations of evolution of criterion C, evaluated by its negative log-likelihood (nll for "negative log likelihood" in English) on the abscissa, as a function of a number of iterations.
[0107] Curve C1 shows the progressive minimization of criterion C with respect to matrix L by gradient descent
[0108] Curve C2 shows the progressive minimization of criterion C with respect to matrix L by a natural gradient descent ∇ ^ ^ ( ^ ) .
[0109] We see that curve C2 descends lower than curve C1, which denotes a better minimization of the criterion by natural gradient descent.
[0110] Curves C3, C4 illustrate the progressive minimization of criterion C with respect to the covariance matrix R, respectively by natural gradient descent and by Euclidean gradient descent. Here again, we note that curve C3 descends lower than curve C4, which reflects a better minimization of criterion C using a natural gradient.
[0111] The proposed method differs from the state of the art, firstly, by the use of a natural gradient, in the gradient descent mechanism, instead of the gradient.
[0112] As described previously, this natural gradient descent can be employed in a static embodiment to directly obtain a matrix L which allows to obtain the covariance matrix R for the filter of Kalman, and in a dynamic embodiment, to obtain parameters of a neural network which makes it possible to obtain this covariance matrix.
[0113] The method also proposes to decompose this covariance matrix R into a product LL T and to perform the optimization on this matrix L, in order to be able to guarantee the positivity of the covariance matrix R.
[0114] According to another embodiment, the optimization can be performed directly on the covariance matrix R, both in static and dynamic mode.
[0115] In order to respect the requirement of positivity of the covariance matrix R, a monitoring mechanism can be implemented. In particular, a monitoring mechanism on the eigenvalues can be put in place, but this increases the computation time. In this case, the following formulas are proposed:
[0116] In static mode:
[0117] [Math.11] ^ ← ^ − ^ ^ ∇ ^ ( ^ )
[0118] With ^ ∇ ^ ( ^ ) fixed to the natural gradient of the criterion C with respect to the covariance matrix R, such that [Math.12] ^ ∇ ^ ( ^ ) = ^ ^^ ^ ^^ ^^ the Euclidean gradient of C with respect to the covariance matrix R.
[0120] In dynamic mode, the covariance matrix R=R(x ; ^) can be given by a neural network with parameters ^. These parameters are optimized according to a natural gradient descent, as indicated previously: [Math.13] ^ ← ^ − ^ ^ ∇ ^ ( ^ )
[0121] As seen previously, ^ ∇ ^ ( ^ ) may be an approximation of the natural gradient.
[0122] With the same approach as previously, we can in fact replace the ^^ term of the expression of the natural gradient by the expression of ∇ ^ ^ ( ^ ) given above the static embodiment. We thus obtain an approximate expression of the natural gradient for the dynamic case: [Math.14] ^^ ^^ ^^
[0123] The method therefore also proposes original expressions of the natural gradient, according to different embodiments, in the specific case of the optimization of a covariance matrix for Kalman filter. Furthermore, in the dynamic case, an approximation of this natural gradient is proposed. Of course, the present invention is not limited to the examples and the embodiment described and represented, but is defined by the claims. It is in particular susceptible of numerous variants accessible to those skilled in the art.
Claims
Claims
1. Navigation assistance method comprising a prediction of a position of an agent, said prediction comprising: the acquisition of a set of measurements (20) linked to the movement of said agent; the determination of said position by calibrating an extended Kalman filter applied to said set of measurements (20), said calibration comprising a quantification of a divergence with respect to a current distribution of the uncertainties associated with the measurements in which said extended Kalman filter is parameterized by at least one covariance matrix determined by optimizing a given optimization criterion by natural gradient descent, said at least one covariance matrix, R, is factorized in the form R=LL T where L is a second matrix, and wherein the optimization is performed on said at least one second matrix, and wherein said natural gradient is determined as a function of a quantity ^ ^^^ ^^ ^^ ^^ ^^ in which ^^ is the Euclidean gradient of said optimization criterion C as a function of said at least one covariance matrix, R.
2. Method according to the preceding claim, wherein said quantization is used to calculate a natural gradient making it possible to update the distribution of uncertainties.
3. Method according to the preceding claim, wherein said optimization takes place upstream of the mission of said agent, so that said at least one covariance matrix is fixed during said mission.
4. Method according to the preceding claim, wherein said natural gradient descent is carried out on said at least one second matrix.
5. Method according to the preceding claim in which said natural gradient is expressed by: [Math.15] ∇ ^ ^ 1 ( ^ ) = ^^ ^ ^^ ^ 2 ^^ in which and ∇ ^ ^( ^ ) represents said natural gradient.
6. Method according to claim 1 or 2, wherein said optimization takes place during said mission so that said at least one covariance matrix is dynamically adapted according to said measurement set (20).
7. Method according to the preceding claim, wherein said optimization is carried out by means of an adaptation module (132) taking as input said measurement set (20) and whose parameters are determined by said natural gradient descent.
8. Method according to the preceding claim, wherein said natural gradient is approximated by the expression: [Math.16] ^^ in which ^^ represents the Euclidean gradient of said at least one second matrix, L, with respect to said parameters, ^, and ∇ ^^(^) represents said natural gradient
9. Computer program comprising instructions for implementing a method according to one of the preceding claims.
10. Device (10) for predicting a position of an agent, comprising a processor adapted for acquiring a set of measurements (20) linked to the movement of said agent and for implementing a extended Kalman filter (11) adapted for determining said position by calibrating an extended Kalman filter applied to said set of measurements (20), said calibration comprising a quantification of a divergence from a current distribution of the uncertainties associated with the measurements in which said extended Kalman filter is parameterized by at least one covariance matrix determined by optimizing a given optimization criterion by natural gradient descent, said at least one covariance matrix, R, is factorized in the form R=LLT where L is a second matrix, and wherein the optimization is performed on said at least one second matrix, and wherein said natural gradient is determined as a function of a quantity ^^ 1 which ^^ is the Euclidean gradient of said optimization criterion C as a function of said at least one covariance matrix, R.