EP4705722A1 - Calibration d'un système de fusion multi-capteurs pour la navigation inertielle - Google Patents

Calibration d'un système de fusion multi-capteurs pour la navigation inertielle

Info

Publication number
EP4705722A1
EP4705722A1 EP24727483.0A EP24727483A EP4705722A1 EP 4705722 A1 EP4705722 A1 EP 4705722A1 EP 24727483 A EP24727483 A EP 24727483A EP 4705722 A1 EP4705722 A1 EP 4705722A1
Authority
EP
European Patent Office
Prior art keywords
matrix
gradient
measurements
optimization
covariance matrix
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.)
Pending
Application number
EP24727483.0A
Other languages
German (de)
English (en)
Inventor
Colin PARELLIER
Camille Jocelyn Roger CHAPDELAINE
Axel BARRAU
Silvère BONNABEL
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.)
Association pour la Recherche et le Developpement des Methodes et Processus Industriels
Safran SA
Original Assignee
Association pour la Recherche et le Developpement des Methodes et Processus Industriels
Safran SA
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 Association pour la Recherche et le Developpement des Methodes et Processus Industriels, Safran SA filed Critical Association pour la Recherche et le Developpement des Methodes et Processus Industriels
Publication of EP4705722A1 publication Critical patent/EP4705722A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Navigation (AREA)

Abstract

Procédé d'aide à la navigation comportant une prédiction d'une position d'un agent, ladite prédiction comportant : - acquisition d'un ensemble de mesures (20) liées au déplacement dudit agent; - détermination de ladite position par calibration d'un filtre de Kalman étendu appliqué sur ledit ensemble de mesures (20), ladite calibration comprenant une quantification d'une divergence par rapport à une distribution courante des incertitudes associées aux mesures.

Description

Description Calibration d’un système de fusion multi-capteurs pour la navigation inertielle [0001] DOMAINE DE L’INVENTION [0002] La présente invention concerne l’estimation de la position d’un agent à partir d’une position antérieure et de mesures liées à son déplacement et/ou à sa position. Elle permet notamment la prévision de la trajectoire suivie par l’agent. [0003] L’inférence de la navigation, ou du déplacement, d’un agent (piéton, véhicule, drone…) peut se faire typiquement en utilisant un filtre de Kalman fusionnant des mesures provenant par exemple d’une centrale inertielle embarquée ou associée à cet agent ou d’autres capteurs tels que des caméras, Lidar, GPS, odomètres (pouvant mesurer la vitesse des roues par exemple), etc. Le filtre de Kalman permet d’inférer sa position, à partir de sa dernière position et des différentes mesures, mais aussi potentiellement sa vitesse, son accélération, etc. [0004] Le filtre de Kalman estime au cours d’itérations successives un état de navigation de l’agent via des équations matricielles, donc linéaires, au moyen de mesures bruitées fournies par ces capteurs. Il assimile les mesures à un système dynamique régi par des équations linéaires, ce qui est une limitation contraignante et ne permet pas de modéliser avec précision les comportements des capteurs. [0005] Il a été proposé le filtre de Kalman étendu (EKF pour « Extended Kalman Filter » en anglais) pour permettre de prendre compte des systèmes dynamiques régis par des équations non-linéaires. Ce procédé est notamment décrit dans Hargrave P. J., « A tutorial introduction to Kalman filtering », IEE colloquium on Kalman filters : introduction, applications and future development, IET, 1989, ou encore Terejanu Gabriel A, « Extended Kalman filter tutorial », University of Buffalo, 2008. [0006] Le filtre de Kalman étendu comporte une étape supplémentaire consistant à linéariser, à chaque nouvelle itération du filtre, les équations régissant le système non-linéaire en un point de l’espace vectoriel estimé, typiquement, au cours d’une itération précédente. Les matrices issues de cette linéarisation peuvent être ainsi utilisées pour estimer un nouvel état selon la méthode du filtre de Kalman classique. [0007] Le filtrage de Kalman étendu est communément utilisé pour différentes problématiques de fusion de mesures, par exemple pour fusionner des mesures inertielles avec des mesures de GPS, de caméra, de lidar, d’odomètres, etc. A titre d’exemples, on peut citer Barrau A, « Non-linear state error based extended Kalman filters with applications to navigation”, thèse de doctorat, Mines Paris- tech, 2015, ou encore Potokar E. R., Norman K, Mangelson J. G. « Invariant extended Kalman filtering for underwater navigation », IEEE Robotics and Automatic Letters, 6(3), 5792-5799, 2021. [0008] D’autres méthodes que les filtres de Kalman existent pour effectuer des fusions de mesure et permettre l’estimation d’un état futur (trajectoire notamment), mais elles tendent à être généralement plus coûteuses en calculs, ce qui peut se révéler problématique pour une estimation en temps-réel. [0009] La performance, en termes de précision et justesse de l’estimation, du filtre de Kalman (classique ou étendu) repose pour une part importante sur la calibration des matrices de covariance modélisant l’incertitude associée aux différents capteurs. [0010] On peut citer l’article Abbeel P. et al., « Discriminative Training of Kalman Filters », in Robotics: Sciences and systems, vol.2, p.1, 2005 qui décrit plusieurs algorithmes d’apprentissage des paramètres de covariance pour des filtres de Kalman étendus, à partir d’un historique de trajectoires. [0011] On peut également prévoir que les matrices de covariance soient dynamiquement adaptées par un réseau de neurones, ce dernier étant entraîné sur l’historique des trajectoires, tel que par exemple décrit dans Brossard M., Barrau A., Bonnabel S., « AI-IMU Dead-Reckoning » in IEEE Transactions on Intelligent Vehicles, 5(4), 585-595, 2020. [0012] Toutefois, l’optimisation des matrices de covariance rencontre généralement des difficultés de convergence, notamment du fait qu’elles ne prennent pas en compte les changements de distribution induits par la mise à jour des covariances. [0013] En outre, certaines techniques d’optimisation ne respectent pas la contrainte que les matrices de covariance doivent nécessairement être positives. [0014] RESUME DE L’INVENTION [0015] Il existe donc un besoin d’améliorer les propositions actuelles de l’état de la technique. L’invention vise ainsi notamment à améliorer les performances de la calibration d’un système de fusion multi-capteurs pour la navigation inertielle. [0016] En particulier, selon un premier aspect, la présente invention peut être mise en œuvre par un procédé d’aide à la navigation comportant une prédiction d’une position d’un agent, ladite prédiction comportant : - acquisition d’un ensemble de mesures liées au déplacement dudit agent ; - détermination de ladite position par calibration d’un filtre de Kalman étendu appliqué sur ledit ensemble de mesures, ladite calibration comprenant une quantification d’une divergence par rapport à une distribution courante des incertitudes associées aux mesures. [0017] L’invention peut conserver également un procédé d’aide à la navigation comportant une prédiction d’une position d’un agent comportant des étapes de : - acquisition d’un ensemble de mesures liées au déplacement dudit agent, et, - détermination de ladite position par application d’un filtre de Kalman étendu sur ledit ensemble de mesures, ledit filtre de Kalman étendu étant paramétré par au moins une matrice de covariance déterminée en optimisant un critère d’optimisation donné par descente de gradient naturel. [0018] La modification de la matrice de covariance permet de modifier la modélisation des incertitudes sur les mesures. La modification de la modélisation des incertitudes permet de modifier la façon dont le filtre de Kalman étendu inférant la navigation pondère les mesures par rapport à l’état estimé a priori. [0019] Suivant des modes de réalisation préférés, l’invention comprend une ou plusieurs des caractéristiques suivantes qui peuvent être utilisées séparément ou en combinaison partielle entre elles ou en combinaison totale entre elles : - ladite quantification sert au calcul d’un gradient naturel permettant de mettre à jour la distribution des incertitudes. Le gradient naturel est un gradient probabiliste qui permet de quantifier la variation de distribution d’un critère, indépendamment de la façon dont cette distribution est paramétrée. - ladite au moins une matrice de covariance, R, est factorisée sous la forme R=L.LT où L est une seconde matrice, et dans lequel l’optimisation est effectuée sur ladite au moins une seconde matrice ; - ladite optimisation a lieu en amont de la mission dudit agent, de sorte que ladite au moins une matrice de covariance est fixe durant ladite mission ; - ladite descente de gradient naturel est effectuée sur ladite au moins une seconde matrice - ledit gradient naturel est exprimé par : [Math.1] ^^ dans lequel ^^ représente le gradient euclidien dudit critère d’optimisation, C, en fonction de ladite au moins une matrice de covariance, R, et ∇^^(^) représente ledit gradient naturel. - ladite optimisation a lieu pendant ladite mission de sorte que ladite au moins une matrice de covariance est dynamiquement adaptée en fonction dudit ensemble de mesure ; - ladite optimisation est effectuée au moyen d’un module d’adaptation prenant en entrée ledit ensemble de mesures et dont les paramètres sont déterminés par ladite descente de gradient naturel ; - ledit gradient naturel est approximé par l’expression : [Math.2] ∇^ ^ ^ = 1 ^ ^^ ^^ ( ) ^^ ^ 2 ^^ ^^ dans laquelle ^^ est le gradient euclidien dudit critère C ^^ en fonction de ladite au moins une matrice de covariance, R, ^^ représente le gradient euclidien de ladite au moins une seconde matrice, L, par rapport auxdits paramètres, ^, et ∇^^(^) représente ledit gradient naturel [0020] Un autre aspect de l’invention concerne un programme d’ordinateur comportant des instructions pour mettre en œuvre un procédé tel que précédemment décrit. [0021] Un autre aspect de l’invention concerne un dispositif de prédiction d’une position d’un agent, comprenant un processeur adapté pour l’acquisition d’un ensemble de mesures liées au déplacement dudit agent et pour mettre en œuvre un filtre de Kalman étendu adapté pour la détermination de ladite position à partir dudit ensemble de mesures, et un dispositif de calibration adapté pour paramétrer au moins une matrice de covariance dudit filtre de Kalman étendu, déterminée en optimisant un critère d’optimisation donné par descente de gradient naturel. [0022] Suivant des modes de réalisation préférés, ce dispositif peut comprendre une ou plusieurs des caractéristiques précédemment mentionnées en relation avec le procédé, qui peuvent être utilisées séparément ou en combinaison partielle entre elles ou en combinaison totale entre elles. [0023] D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui suit d’un mode de réalisation préféré de l'invention, donnée à titre d'exemple et en référence aux dessins annexés. [0024] BREVE DESCRIPTION DES FIGURES [0025] Les dessins annexés illustrent l’invention : La figure 1 illustre schématiquement une architecture fonctionnelle haut-niveau d’un dispositif de prédiction d’une trajectoire. La figure 2 représente schématiquement une architecture fonctionnelle haut- niveau d’un dispositif de calibration selon un mode de réalisation. La figure 3 représente schématiquement une architecture fonctionnelle haut- niveau d’un dispositif de calibration selon un autre mode de réalisation. La figure 4 représente schématiquement une architecture fonctionnelle haut- niveau d’un module d’optimisation selon un mode de réalisation. La figure 5 illustre des exemples de performances selon différents procédés de prédiction de trajectoire. [0026] DESCRIPTION DETAILLEE DE MODES DE REALISATION DE L’INVENTION [0027] Selon un mode de réalisation, le procédé décrit concerne l’inférence de la navigation inertielle d’un agent (piéton, véhicule ou drone terrestre, aérien ou marin). Cet agent est typiquement un porteur mobile, c’est-à-dire un individu ou un système (véhicule, drone…) portant ou embarquant un dispositif permettant en œuvre le procédé proposé. [0028] Ainsi, l’agent est équipé d’une ou plusieurs unités de mesure inertielle (UMI ou IMU pour, en anglais, « Inertial Measurements Unit ») ainsi que, éventuellement, un ou plusieurs autres capteurs tels qu’un capteur de positionnement (GPS…), un odomètre, une caméra, un lidar, etc. [0029] Les unités de mesure inertielle, ou centrales inertielles, sont des équipements qui sont utilisés en navigation et sont capables d'intégrer les mouvements d'un mobile (accélération et vitesse angulaire) pour estimer son orientation (angles de roulis, de tangage et de cap), sa vitesse et sa position. [0030] La figure 1 illustre une architecture fonctionnelle haut-niveau d’un dispositif de prédiction d’une trajectoire. [0031] Ce dispositif 10 acquiert un ensemble de mesures 20 liées au déplacement dudit agent. En fonction d’un état à un instant (ou itération) t, le dispositif de prédiction peut inférer un état 21 en un instant (ou itération) suivant t+1 en fonction des mesures 20 acquises. Cet état peut représenter la position de l’agent à cet instant, ou itération, suivant, et d’ainsi permettre de décrire la trajectoire de l’agent itérativement. [0032] Sur la figure 1, trois flèches représentant des mesures 20 sont représentées, mais il est bien entendu possible de prendre en compte un nombre différent de mesures en entrée. [0033] Le dispositif de prédiction de trajectoires 10 comporte un système de fusion multi-capteurs 11, qui peut par exemple être un filtre de Kalman étendu. [0034] Ce filtre de Kalman étendu appliqué sur l’ensemble de mesures 20 permet de les fusionner pour estimer une position de l’agent à l’itération suivante. [0035] Le filtre de Kalman étendu 11 est paramétré par les matrices de covariance 23 des incertitudes associées aux différentes mesures. On dispose donc typiquement d’une matrice de covariance par source de mesures, c’est-à-dire par capteur. Ces matrices de covariance sont déterminées par un dispositif de calibration 13. [0036] Pour cette calibration, le dispositif accumule les données de trajectoires dans une base de données de trajectoires 12 (ou historique des trajectoires). Les données de trajectoires peuvent être récupérées en sortie du filtre de Kalman ainsi qu’illustré sur la figure 1, mais elles peuvent être aussi accumulées en entrée du filtre ou à tout autre moment de la fusion par le filtre. [0037] Selon un autre mode de réalisation, la base de données de trajectoire 12 est préalablement constituée et peut ne pas nécessiter d’être enrichie par les trajectoires estimées par le filtre de Kalman étendu 11. Autrement dit, l’historique est basé sur des déplacements, ou missions, précédents de l’agent ou d’autres agents, et ne prend pas en compte le comportement de l’agent pendant la mission en cours. [0038] Les données de trajectoire stockées dans la base de données 12 peuvent comprendre les mesures acquises par les capteurs, 20, des matrices et vecteurs calculés par le filtre de Kalman étendu 11 (ces matrices et ces vecteurs peuvent typiquement être des matrices jacobiennes et des vecteurs d’innovation). [0039] Le dispositif de calibration 13 détermine la ou les matrices de covariance 23 en utilisant des données de trajectoire 22 récupérées de la base de données 12. [0040] Dans un premier mode de réalisation, la calibration peut être effectuée de façon statique. Dans ce mode, le dispositif de calibration 13 prend uniquement en entrée les données de trajectoires 22 issues de l’historique 12. [0041] Ainsi qu’illustré sur la figure 2, le dispositif de calibration 13 comporte un module d’optimisation 131 qui prend en entrée les données historiques de trajectoire 22 et fournit une grandeur optimisée 23. D’une façon générale, le bloc d’optimisation a pour rôle d’optimiser une grandeur selon un critère donné. Dans le cas présent, la grandeur optimisée est la ou les matrices covariance. [0042] Comme vu précédemment, une matrice par mesure peut être fournie, de sorte que le module d’optimisation peut mettre en œuvre un algorithme d’optimisation pour chacune des mesures acquises 20. [0043] L’optimisation des matrices de covariance 23 peut être effectuée en amont de la phase de navigation, par exemple avant le départ en mission de l’agent. Une fois en phase de mission, les matrices restent fixes tant que la mission n’est pas terminée ou qu’un opérateur n’a pas déclenché une nouvelle phase de calibration des matrices. C’est pourquoi, dans ce mode de réalisation, la calibration des matrices de covariance est qualifiée de statique. [0044] Dans un deuxième mode de réalisation, la calibration des matrices de covariance des capteurs est réalisée de façon dynamique, c’est-à-dire en prenant en compte l’ensemble de mesures 20 acquises durant la mission. [0045] Autrement dit, le déroulement de la mission en cours influe sur les matrices de corrélation 23 qui permettent au filtre de Kalman d’inférer une position future 21. [0046] Pour ce faire, ainsi qu’illustré sur la figure 3, le dispositif de calibration 13 comporte un module d’adaptation 132 prévu pour prédire les matrices de covariance 23 à partir de l’ensemble des mesures acquises 20 et de méta- paramètres 133 (ou paramètres) déterminé par le module d’optimisation 131 à partir des données historiques de trajectoires 22. [0047] Autrement dit, dans ce mode de réalisation, l’adaptation a lieu pendant la mission de l’agent, de sorte que la matrice de covariance est dynamiquement adaptée en fonction de l’ensemble de mesure. [0048] Ce module d’adaptation 132 peut mettre en œuvre une fonction permettant donc de déterminer une matrice de covariance en fonction de ces données d’entrée. [0049] Cette fonction peut par exemple être mise en œuvre par un mécanisme d’apprentissage machine. Par exemple, le module d’adaptation 132 peut être un réseau de neurones. En particulier, il peut s’agir d’un réseau neuronal de convolution (CNN pour « Convolutional Neural Network » en anglais), tel que par exemple décrit dans Brossard M., Barrau A., et Bonnabel S. « AI-IMU Dead- reckoning », précédemment cité. [0050] L’ensemble des mesures acquises 20 sont fournies à la couche d’entrée de ce réseau de neurones. Celui-ci génère sur sa couche de sortie une matrice de covariance 23. [0051] Dans ce mode de réalisation, le module d’optimisation 131 peut fonctionner de façon similaire au premier mode de réalisation mais au lieu d’optimiser une matrice de covariance, il optimise un ensemble de méta-paramètres, ou paramètres, du réseau de neurones. Ces méta-paramètres comprennent notamment les poids synaptiques du réseau de neurones qui forment le modèle prédictif représenté par le réseau de neurones. [0052] Le dispositif de calibration 13 peut fonctionner en deux phases. [0053] Dans une première phase, le module d’optimisation 131 détermine les paramètres 133 du réseau de neurones à partir des données historiques de trajectoires 22. [0054] Cette première phase peut être mise en œuvre en amont de la mission, c’est- à-dire avant le départ de l’agent. [0055] Une fois en mission, une deuxième phase peut être déclenchée durant laquelle les paramètres du réseau de neurones 132 sont fixes tant que la mission n’est pas terminée ou bien qu’un opérateur n’a pas déclenché une nouvelle phase d’optimisation des paramètres (à l’aide de nouvelles données historiques de trajectoire, recueillies pendant la mission). [0056] Dans cette deuxième phase, le dispositif de calibration 13 prend en entrée l’ensemble de mesures 20 acquises et génère, dynamiquement, les matrices de covariance 23, au moyen du réseau de neurones 132 configuré par les paramètres 133 fixés lors de la première phase amont. Ainsi, les matrices de covariance changent en fonction des mesures acquises 20. C’est pourquoi, dans ce mode de réalisation, la calibration des matrices de covariance est qualifiée de dynamique. [0057] Par la phase d’optimisation de ses paramètres en amont de la phase de mission, le réseau de neurones 132 a appris à calculer les matrices de covariance 22 qui permettent d’obtenir les meilleures performances en termes d’inférence de navigation, au sens d’un critère permettant d’optimiser ses paramètres. [0058] Le premier mode de réalisation, basé sur la calibration statique, peut être utilisé dans un environnement qui change relativement peu, typiquement pour des navigations courtes dans un environnement structuré. A l’inverse, il est préférable d’utiliser le deuxième mode de réalisation, basé sur la calibration dynamique, lorsque l’environnement peut fortement varier durant la navigation, typiquement pour des navigations longues ou dans des environnements déstructurés. [0059] On peut citer parmi les causes de variabilités de l’environnement : - La variation des conditions météorologiques durant la navigation peut modifier l’incertitude associée à certains capteurs (caméras, notamment) - L’environnement géographique peut présenter plus ou moins de points d’intérêt, ce qui modifie la densité de la cartographie obtenue avec le Lidar et/ou les caméras ; - Le signal GPS peut être dégradé en fonction des zones traversées. [0060] Le dispositif de calibration 13 peut calibrer un ensemble de matrices de covariance 23 qui paramètrent le filtre de Kalman étendu 11. Une matrice de covariance peut être déterminée pour chaque mesure de l’ensemble de mesures 20 acquises par le dispositif de prédiction de trajectoires 10. [0061] La description qui va suivre concerne une matrice de covariance. Il est entendu que ce procédé décrit peut être répété pour l’ensemble des capteurs. [0062] On note R la matrice de covariance associée à un capteur donné. Cette matrice de covariance peut être calibrée ainsi que décrit précédemment de façon statique ou dynamique. [0063] La matrice R étant une matrice de covariance, elle doit être symétrique et positive. [0064] Afin d’assurer la positivité et la symétrie de cette matrice de covariance, on factorise la matrice R de sorte que R=L.LT, où le symbole T indique la transposition matricielle. [0065] Cette factorisation peut par exemple être effectuée par la factorisation de Cholesky, mais d’autres méthodes sont disponibles dans l’état de l’art. Dans le cas d’une factorisation de Cholesky, cette matrice L est une matrice triangulaire inférieure, mais le procédé décrit est plus général et peut s’appliquer sans imposer une telle contrainte sur la matrice L. [0066] Dans le mode de réalisation statique, illustré par la figure 2, le module d’optimisation 131 détermine, par optimisation, la matrice L. Le dispositif de calibration 13 peut alors directement déterminer et fournir la matrice de covariance R par R=L.LT au filtre de Kalman étendu 11. [0067] Dans le mode de réalisation dynamique, illustré par la figure 3, le module d’optimisation 131 détermine les paramètres 133, notés ^, du réseau de neurones 132. Ce réseau de neurones fournit ensuite, en phase de mission, la matrice L(x, ^), où x représente les mesures acquises. Le dispositif de calibration 13 peut alors directement déterminer et fournir la matrice de covariance R par R=L(x, ^).L(x, ^)T au filtre de Kalman étendu 11. [0068] Le module d’optimisation 131 a donc pour but d’optimiser une matrice L en fonction d’un certain critère C. [0069] Ce critère peut être quelconque. [0070] Il peut par exemple s’agir d’une vraisemblance de la matrice L, en particulier d’une log-vraisemblance, ainsi que par exemple décrit dans l’article de Abbeel P. et al, « Discriminative Training of Kalman Filters » précédemment cité. [0071] Toutefois le procédé proposé peut reposer sur différents critères, celui-ci ne dépendant pas du critère à optimiser en tant que tel. [0072] L’optimisation du critère C peut être effectuée par une méthode classique en soit de descente de gradient. [0073] L'algorithme du gradient, aussi appelé algorithme de descente de gradient, désigne un algorithme d'optimisation itératif, où, à chaque itération on cherche à améliorer la solution courante en effectuant un déplacement dans une direction opposée au gradient de manière à faire décroitre le critère à minimiser. L'algorithme du gradient est également connu sous le nom d'algorithme de la plus forte pente ou de la plus profonde descente (« steepest descent », en anglais) parce que le gradient est la pente de la fonction linéarisée au point courant et est donc, localement, sa plus forte pente (notion qui dépend du produit scalaire). [0074] L’algorithme de descente du gradient est abondamment décrit dans la littérature scientifique. On peut consulter la page Wikipedia correspondante à titre d’exemple et de point d’entrée : https://fr.wikipedia.org/wiki/Algorithme_du_gradient https://en.wikipedia.org/wiki/Gradient_descent [0075] La figure 4 illustre une vue fonctionnelle du module d’optimisation 131. [0076] Le module d’optimisation 131 prend pour entrée les données historiques de trajectoires 22, à partir desquelles un module 134 calcule un gradient ^ ∇ ^(^), C étant le critère à minimiser, et V étant une grandeur dont on cherche la valeur minimisant ce critère C. Cette valeur V est référencée 135 sur la figure 4 et elle peut être la matrice L ou les paramètres ^ du réseau de neurones 132. [0077] Ainsi, dans un mode de réalisation statique où l’on cherche à optimiser la matrice L, le module d’optimisation 135 opère de façon itérative la descente de gradient naturel : [Math.3] ^ ← ^ − ^^ ∇ ^(^) [0078] Dans un mode de réalisation dynamique, où l’on cherche à optimiser les paramètres ^, 133, du réseau de neurones, le module d’optimisation 135 opère de façon itérative la descente de gradient naturel : [Math.4] ^ ← ^ − ^^ ∇ ^(^) [0079] Ces opérations (selon les modes de réalisation) sont répétées ainsi qu’indiqué sur la figure 4. Ainsi, suite au calcul du gradient ^ ∇ ^(^) par le bloc fonctionnel 134 (^ désignant ^ ou ^ selon que l’on est dans le mode de réalisation statique ou dynamique), ce gradient est multiplié par un pas de descente ^. Ce pas de descente est un paramètre qui peut être préalablement fixé. Le cercle, sur la figure, illustre l’opération ^ − ^^ ∇ ^(^), dont le résultat fournit une nouvelle valeur de la grandeur ^ à l’itération suivante. Cette nouvelle valeur est réintroduite en entrée de bloc 134 de calcul de gradient afin de fournir une nouvelle itération. [0080] Classiquement, ce processus itératif se termine lorsqu’un critère d’optimisation est atteint, c’est-à-dire lorsque le critère atteint un seul déterminé ou bien lorsque le gradient n’évolue plus suffisamment (^ ∇ ^(^) est inférieur à autre seuil), ou bien lorsqu’un nombre suffisant d’itération a été effectué, etc. [0081] Le gradient ^ ∇ ^(^) pourrait être calculé en utilisant un gradient euclidien. Ce ^^ gradient euclidien peut s’écrire ou encore : ^^ - dans le mode statique : ^^ - dans le mode dynamique : [0082] Cependant, ce gradient euclidien ne permet pas de prendre en compte le changement de distribution induit par la mise à jour de la matrice de covariance du capteur. Cela conduit à des difficultés de convergence de la descente de gradient, et à un réglage difficile du pas de descente ^. [0083] Des stratégies ont été proposées pour améliorer la descente de gradient, tel que par exemple le mécanisme « Adam » pour les réseaux de neurones. Ce mécanisme est décrit, notamment, dans l’article fondateur : Kingma, D. P., BA. J, « Adam: A method for stochastic optimization », 2014, arXiv:1412.6980. [0084] Toutefois, ces mécanismes ne permettent pas de résoudre l’ensemble des problèmes et, notamment, le réglage du pas de descente ^ reste délicat. [0085] Il est proposé d’effectuer une descente de gradient basé sur le gradient naturel, au lieu du gradient euclidien. [0086] La descente par gradient naturel permet de prendre en compte le changement de distribution induit par le changement de la covariance R=L.LT. Elle permet notamment de prendre en compte que l’espace paramétrique dans lequel l’optimisation est recherchée n’est pas nécessairement un espace euclidien mais, plus généralement, un espace de Riemann. [0087] Le gradient naturel et son utilisation pour l’optimisation d’un critère C par descente de gradient est notamment décrit dans l’article d’Amari S., « Natural Gradient Works Efficiently in Learning », Neural Computation, 10(2), 251-276, 1998, ou dans l’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] Le gradient naturel permet de quantifier la divergence (c’est-à-dire une distance non symétrique, telle que la divergence de Kullback-Leibler) par rapport à la distribution courante des incertitudes associées au capteur, lorsque l’on applique une variation infinitésimale à la grandeur considérée (la matrice L ou bien les paramètres ^ du réseau de neurones). [0089] Pour calculer le gradient naturel par rapport à ^, paramétrant une loi de probabilité ^(. |^) (typiquement, une loi gaussienne centrée paramétrée par sa matrice de covariance), on calcule la divergence de Kullback-Leibler entre la loi ^(. |^) et ^(. |^ + ^^), où ^^ correspond à une variation de ^ : cette divergence est notée [Math.5] ^^(^(. |^ + ^^)‖^(. |^)). [0090] Le développement limité à l’ordre deux de cette divergence permet de faire apparaître un produit scalaire ^^^|^^^ ^ : [Math.6] [0091] Le produit scalaire ^^^|^^^ ^ est la métrique d’information de Fisher (FIM). C’est ce produit scalaire qui permet de calculer le gradient naturel : il est noté, entre ^^ et ^^′ par : ^^^|^^′^ ^. [0092] En considérant une fonction de coût ^(^), le gradient naturel ∇^^(^) de ^ par rapport à ^ est alors identifié en faisant apparaître le produit scalaire ^. |. ^ ^ dans le développement limité à l’ordre 1 de ^(^ + ^^) : [0093] [Math.7] ^(^ + ^^) ≈ + [0094] La difficulté inhérente à la méthode de descente de gradient naturel est la difficulté à déterminer son expression, et notamment de déterminer la matrice d’information de Fischer. [0095] En particulier, dans le cas présent, une difficulté est de déterminer l’expression du gradient naturel par rapport à la matrice L ou par rapport aux paramètres du réseau de neurones. [0096] Il est proposé de déterminer le gradient naturel en fonction d’une grandeur ^ ^^ ^^ ^ ^^^ ^^ ^ dans laquelle est le gradient euclidien du critère d’optimisation C en fonction de l’au moins une matrice de covariance R. [0097] En particulier, dans le mode de réalisation statique, il est proposé d’exprimer le gradient naturel ∇^^(^) par l’expression : [Math.8] ^^ [0098] ^^ est le gradient euclidien du critère C à minimiser par rapport à la matrice de covariance R. [0099] Dans le mode de réalisation dynamique, le gradient naturel du critère C par rapport aux paramètres ^ du réseau de neurones sont difficilement calculables analytiquement, du fait que l’expression du réseau neurones L( ^) est complexe à manipuler pour effectuer des calculs. [0100] On peut décomposer le gradient en utilisant la règle de la chaîne : [Math.9] ^^ ^^ ^^ = . ^^ ^^ ^^ [0101] ^^ le gradient euclidien de la matrice L par rapport aux paramètres ^ du réseau de neurones. Ce gradient est calculé automatiquement par l’algorithme de rétro-propagation dans le réseau de neurones 132. Il est ainsi directement accessible et utilisable. [0102] Pour approximer le gradient naturel, on peut fixer le gradient ∇^^(^) en ^^ remplaçant le terme ^^ par l’expression de ∇^^(^) donnée ci-dessus pour le mode de réalisation statique. [0103] On obtient ainsi, une expression approximée du gradient naturel pour le cas dynamique : [Math.10] ^^ 1 ^^ ^^ [0104] Cette expression fait également dépendre le gradient naturel de la grandeur ^ ^ ^^ ^ ^^ ^ [0105] La figure 5 illustre les performances en convergence du procédé pour le mode statique (matrice de covariance R fixe le long de la mission). [0106] La figure montre 4 situations d’évolution du critère C, évalué par sa log- vraisemblance négative (nll pour « negative log likelihood » en anglais) en abscisse, en fonction d’un nombre d’itérations. [0107] La courbe C1 montre la minimisation progressive du critère C par rapport à la matrice L par une descente de gradient [0108] La courbe C2 montre la minimisation progressive du critère C par rapport à la matrice L par une descente de gradient naturel ∇^^(^). [0109] On voit que la courbe C2 descend plus bas que la courbe C1, ce qui dénote une meilleure minimisation du critère par la descente de gradient naturel. [0110] Les courbes C3, C4 illustrent la minimisation progressive du critère C par rapport à la matrice de covariance R, respectivement par une descente de gradient naturel et par une descente de gradient euclidien. On remarque là encore que la courbe C3 descend plus bas que la courbe la courbe C4, ce qui traduit une meilleure minimisation du critère C en utilisant un gradient naturel. [0111] Le procédé proposé se distingue de l’état de la technique, en premier lieu, par l’utilisation d’un gradient naturel, dans le mécanisme de descente de gradient, à la place du gradient. [0112] Comme décrit précédemment, cette descente de gradient naturel peut être employée dans un mode de réalisation statique pour directement obtenir une matrice L qui permet d’obtenir la matrice de covariance R pour le filtre de Kalman, et dans un mode de réalisation dynamique, pour obtenir des paramètres d’un réseau de neurones qui permet d’obtenir cette matrice de covariance. [0113] Le procédé propose également de décomposer cette matrice de covariance R en un produit L.LT et d’effectuer l’optimisation sur cette matrice L, afin de pouvoir ainsi garantir la positivité de la matrice de covariance R. [0114] Selon un autre mode de réalisation, l’optimisation peut être effectuée directement sur la matrice de covariance R, tant en mode statique qu’en mode dynamique. [0115] Afin de respecter l’exigence de positivité de la matrice de covariance R, un mécanisme de surveillance peut être mis en œuvre. En particulier, un mécanisme de surveillance sur les valeurs propres peut être mis en place, mais celui-ci alourdit le temps de calcul. On propose dans ce cas les formules suivantes : [0116] En mode statique : [0117] [Math.11] ^ ← ^ − ^^ ∇ ^(^) [0118] Avec ^ ∇ ^(^) fixé au gradient naturel du critère C par rapport à la matrice de covariance R, tel que [Math.12] ^ ∇ ^ ( ^ ) = ^ ^^ ^ ^^ ^^ le gradient euclidien de C par rapport à la matrice de covariance R. [0120] En mode dynamique, la matrice de covariance R=R(x ; ^) peut être donnée par un réseau de neurones de paramètres ^. On optimise ces paramètres selon une descente de gradient naturel, tel qu’indiqué précédemment : [Math.13] ^ ← ^ − ^^ ∇ ^(^) [0121] Comme vu précédemment, ^ ∇ ^(^) peut être une approximation du gradient naturel. [0122] Avec la même démarche que précédemment, on peut en effet remplacer le ^^ terme de l’expression du gradient naturel par l’expression de ∇^^(^) donnée ci- dessus le mode de réalisation statique. On obtient ainsi, une expression approximée du gradient naturel pour le cas dynamique : [Math.14] ^^ ^^ ^^ [0123] Le procédé propose donc également des expressions originales du gradient naturel, selon différents modes de réalisation, au cas d’espèce de l’optimisation d’une matrice de covariance pour filtre de Kalman. En outre, dans le cas dynamique, il est proposé une approximation de ce gradient naturel. Bien entendu, la présente invention n'est pas limitée aux exemples et au mode de réalisation décrits et représentés, mais est défini par les revendications. Elle est notamment susceptible de nombreuses variantes accessibles à l'homme de l'art.

Claims

Revendications [Revendication 1] Procédé d’aide à la navigation comportant une prédiction d’une position d’un agent, ladite prédiction comportant : l’acquisition d’un ensemble de mesures (20) liées au déplacement dudit agent ; la détermination de ladite position par calibration d’un filtre de Kalman étendu appliqué sur ledit ensemble de mesures (20), ladite calibration comprenant une quantification d’une divergence par rapport à une distribution courante des incertitudes associées aux mesures dans lequel ledit filtre de Kalman étendu est paramétré par au moins une matrice de covariance déterminée en optimisant un critère d’optimisation donné par descente de gradient naturel, ladite au moins une matrice de covariance, R, est factorisée sous la forme R=L.LT où L est une seconde matrice, et dans lequel l’optimisation est effectuée sur ladite au moins une seconde matrice, et dans lequel ledit gradient naturel est déterminé en fonction d’une grandeur ^ ^ ^^ ^^ ^ ^^ ^^ ^ dans laquelle ^^ est le gradient euclidien dudit critère d’optimisation C en fonction de ladite au moins une matrice de covariance, R. [Revendication 2] Procédé selon la revendication précédente, dans lequel ladite quantification sert au calcul d’un gradient naturel permettant de mettre à jour la distribution des incertitudes. [Revendication 3] Procédé selon la revendication précédente, dans lequel ladite optimisation a lieu en amont de la mission dudit agent, de sorte que ladite au moins une matrice de covariance est fixe durant ladite mission. [Revendication 4] Procédé selon la revendication précédente, dans lequel ladite descente de gradient naturel est effectuée sur ladite au moins une seconde matrice. [Revendication 5] Procédé selon la revendication précédente dans lequel ledit gradient naturel est exprimé par : [Math.15] ∇^ ^ 1 (^ ) = ^^^ ^^ ^ 2 ^^ dans lequel et ∇^^(^) représente ledit gradient naturel. [Revendication 6] Procédé selon la revendication 1 ou 2, dans lequel ladite optimisation a lieu pendant ladite mission de sorte que ladite au moins une matrice de covariance est dynamiquement adaptée en fonction dudit ensemble de mesure (20). [Revendication 7] Procédé selon la revendication précédente, dans lequel ladite optimisation est effectuée au moyen d’un module d’adaptation (132) prenant en entrée ledit ensemble de mesures (20) et dont les paramètres sont déterminés par ladite descente de gradient naturel. [Revendication 8] Procédé selon la revendication précédente, dans lequel ledit gradient naturel est approximé par l’expression : [Math.16] ^^ dans laquelle ^^ représente le gradient euclidien de ladite au moins une seconde matrice, L, par rapport auxdits paramètres, ^, et ∇^^(^) représente ledit gradient naturel [Revendication 9] Programme d’ordinateur comportant des instructions pour mettre en œuvre un procédé selon l’une des revendications précédentes. [Revendication 10] Dispositif (10) de prédiction d’une position d’un agent, comprenant un processeur adapté pour l’acquisition d’un ensemble de mesures (20) liées au déplacement dudit agent et pour mettre en œuvre un filtre de Kalman étendu (11) adapté pour la détermination de ladite position par calibration d’un filtre de Kalman étendu appliqué sur ledit ensemble de mesures (20), ladite calibration comprenant une quantification d’une divergence par rapport à une distribution courante des incertitudes associées aux mesures dans lequel ledit filtre de Kalman étendu est paramétré par au moins une matrice de covariance déterminée en optimisant un critère d’optimisation donné par descente de gradient naturel, ladite au moins une matrice de covariance, R, est factorisée sous la forme R=L.LT où L est une seconde matrice, et dans lequel l’optimisation est effectuée sur ladite au moins une seconde matrice, et dans lequel ledit gradient naturel est déterminé en fonction d’une grandeur ^^ 1 laquelle ^^ est le gradient euclidien dudit critère d’optimisation C en fonction de ladite au moins une matrice de covariance, R.
EP24727483.0A 2023-05-04 2024-04-26 Calibration d'un système de fusion multi-capteurs pour la navigation inertielle Pending EP4705722A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2304486A FR3148472B1 (fr) 2023-05-04 2023-05-04 Calibration d’un système de fusion multi-capteurs pour la navigation inertielle
PCT/FR2024/050551 WO2024227993A1 (fr) 2023-05-04 2024-04-26 Calibration d'un système de fusion multi-capteurs pour la navigation inertielle

Publications (1)

Publication Number Publication Date
EP4705722A1 true EP4705722A1 (fr) 2026-03-11

Family

ID=87889997

Family Applications (1)

Application Number Title Priority Date Filing Date
EP24727483.0A Pending EP4705722A1 (fr) 2023-05-04 2024-04-26 Calibration d'un système de fusion multi-capteurs pour la navigation inertielle

Country Status (4)

Country Link
EP (1) EP4705722A1 (fr)
CN (1) CN121039467A (fr)
FR (1) FR3148472B1 (fr)
WO (1) WO2024227993A1 (fr)

Also Published As

Publication number Publication date
FR3148472B1 (fr) 2025-04-25
WO2024227993A1 (fr) 2024-11-07
FR3148472A1 (fr) 2024-11-08
CN121039467A (zh) 2025-11-28

Similar Documents

Publication Publication Date Title
FR3028031B1 (fr) Procede d'estimation d'un etat de navigation contraint en observabilite
US10997729B2 (en) Real time object behavior prediction
EP2572319B1 (fr) Procede et systeme pour fusionner des donnees issues de capteurs d'images et de capteurs de mouvement ou de position
EP2577231B1 (fr) Dispositif d'aide a la navigation, notamment a l'interieur de bâtiments
EP4256412B1 (fr) Système et procédé de contrôle de véhicule à base d'apprentissage machine
EP2385347B1 (fr) Procédé de définition d'un système de navigation
EP3807594B1 (fr) Procédé de calibration de magnétomètres équipant un objet
EP3953662B1 (fr) Procede de definition d'un chemin
FR2964765A1 (fr) Procede de recherche de plus court chemin avec heuristique
WO2020048770A1 (fr) Prédiction d'un paramètre de recalage cartographique par apprentissage profond
CN116772837A (zh) 基于交互式多模型的gnss/sins组合导航方法
EP4705722A1 (fr) Calibration d'un système de fusion multi-capteurs pour la navigation inertielle
WO2022189760A1 (fr) Procede d'aide a la navigation d'un vehicule
EP4348180B1 (fr) Procede d'aide a la navigation d'un vehicule
EP4229360B1 (fr) Procede de localisation d´objets routiers
EP4594824A1 (fr) Procédé de commande d'un système mécatronique
EP3792124B1 (fr) Procede de controle d'un vehicule autonome comprenant une discretisation des donnees de l'environnement
EP4305384A1 (fr) Procede d'aide a la navigation d'un vehicule
FR3130238A1 (fr) Procédé de supervision du fonctionnement d’un véhicule automobile.
KR102681564B1 (ko) 딥러닝 기반의 행동 판단 모델을 통해 gnss-imu센서 퓨전을 이용하여 생성된 차량 정보로부터 운전자의 운전 습관을 판단하는 방법 및 시스템
WO2024003187A1 (fr) Procédé de détermination de la position d'un dispositif à partir d'un réseau de satellites dans un système prédictif
US20250189342A1 (en) Methods and apparatus for navigation with point mass filters
CN117104006A (zh) 一种汽车行程能耗估测方法、装置、电子设备及存储介质
WO2025140877A1 (fr) Procédé d'évaluation sécurisée de données cartographiques
FR3167442A1 (fr) Procede de planification de vitesse minimisant une erreur de navigation

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

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

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

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

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

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20251105

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 ME MK MT NL NO PL PT RO RS SE SI SK SM TR