# Navigation magnéto-inertielle - Filtrage de Kalman et intelligence artificielle

Hassen Fourati, Christophe Prieur

<figure><img src="image_1.png" /></figure>

## To cite this version:

Hassen Fourati, Christophe Prieur. Navigation magnéto-inertielle - Filtrage de Kalman et intelligence artificielle. Techniques de l'Ingénieur, 2023, pp.S7809. 10.51257/a-v1-s7809. hal-04218438

HAL Id: hal-04218438

https://hal.science/hal-04218438v1

Submitted on 26 Sep 2023

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
# Navigation magnéto-inertielle

## Filtrage de Kalman et intelligence artificielle

## Magneto-inertial navigation

## Coupling Kalman filtering with artificial intelligence

par Hassen FOURATI et Christophe PRIEUR

Maître de Conférences et Directeur de Recherche CNRS

Univ. Grenoble Alpes, CNRS, Inria, Grenoble INP, GIPSA-Lab, 38000 Grenoble, France

**Résumé** : La navigation consiste à déterminer des informations sur le déplacement d'un mobile par rapport à un repère de référence. La navigation inertielle repose sur des capteurs inertiels, tels que des accéléromètres et des gyromètres, complétés souvent par des magnétomètres. Cette technique est autonome et permet une navigation à l'estime à tout instant sans dépendre de sources extérieures. En revanche, ces capteurs sont sujets à des bruits et des incertitudes qui détériorent la connaissance des états de navigation. Dans ce contexte, cet article présente deux approches de filtrage de Kalman pour la navigation magnéto-inertielle qui exploitent des techniques de l'intelligence artificielle afin d'améliorer la précision d'estimation. Ces approches sont validées lors de scénarios de vol d'un drone et d'une marche piétonne.

**Abstract** : Navigation consists in determining the displacement of a moving object relative to a reference frame. Inertial navigation relies on inertial sensors such as accelerometers and gyroscopes, often combined with magnetometers. This technique is autonomous, enabling dead reckoning navigation at all times without dependence on external sources. On the other hand, these sensors are subject to noise and uncertainties that reduce the performance of the navigation. In this context, this paper presents two Kalman filtering approaches for magneto-inertial navigation that exploit artificial intelligence techniques to improve estimation accuracy. These approaches are validated in drone flight and pedestrian walking scenarios.

**Mots-clés** : Capteurs inertiels et magnétiques, navigation magnéto-inertielle, estimation, filtrage de Kalman, intelligence artificielle, apprentissage par renforcement.

**Keywords** : Inertial and magnetic sensors, magneto-inertial navigation, estimation, Kalman filtering, artificial intelligence, reinforcement Learning.

## Table des matières

<table><tr><td>1</td><td>Capteurs inertiels et magnétiques : définitions et principes de fonctionnement</td><td>5</td></tr><tr><td>1.1</td><td>Technologie MEMS</td><td>5</td></tr><tr><td>1.2</td><td>Les accéléromètres</td><td>6</td></tr></table>
<table>
  <tbody>
    <tr>
      <td>1.3</td>
      <td>Les gyromètres</td>
      <td>6</td>
    </tr>
    <tr>
      <td>1.4</td>
      <td>Les magnétomètres</td>
      <td>7</td>
    </tr>
    <tr>
      <td>1.5</td>
      <td>Systèmes électroniques pour la navigation magnéto-inertielle</td>
      <td>9</td>
    </tr>
    <tr>
      <td>2</td>
      <td>EKF : principe général et algorithme</td>
      <td>10</td>
    </tr>
    <tr>
      <td>3</td>
      <td>EKF magnéto-inertiel basé sur un réseau BiLSTM</td>
      <td>12</td>
    </tr>
    <tr>
      <td>3.1</td>
      <td>Travaux connexes à la problématique</td>
      <td>13</td>
    </tr>
    <tr>
      <td>3.2</td>
      <td>Modélisation dynamique et énoncé du problème</td>
      <td>13</td>
    </tr>
    <tr>
      <td>3.2.1</td>
      <td>Navigation assistée par gradient de champ magnétique</td>
      <td>13</td>
    </tr>
    <tr>
      <td>3.2.2</td>
      <td>Modèle dynamique basé sur les mesures magnéto-inertielles</td>
      <td>14</td>
    </tr>
    <tr>
      <td>3.2.3</td>
      <td>Limites du EKF traditionel basé sur le gradient de champ magné-tique pour l'estimation de la vitesse</td>
      <td>15</td>
    </tr>
    <tr>
      <td>3.2.4</td>
      <td>Limites de la méthode de ZUPT pour la correction de vitesse estimée par l'EKF</td>
      <td>16</td>
    </tr>
    <tr>
      <td>3.3</td>
      <td>Approche basée sur un EKF couplé à un réseau neuronal profond (EKF-BiLSTM)</td>
      <td>17</td>
    </tr>
    <tr>
      <td>3.3.1</td>
      <td>Présentation générale de l'approche</td>
      <td>17</td>
    </tr>
    <tr>
      <td>3.3.2</td>
      <td>Structure du filtre basé sur le gradient de champ magnétique</td>
      <td>18</td>
    </tr>
    <tr>
      <td>3.3.3</td>
      <td>Adaptation de la matrice de covariance de mesure de vitesse</td>
      <td>19</td>
    </tr>
    <tr>
      <td>3.4</td>
      <td>Expérimentations et résultats obtenus</td>
      <td>20</td>
    </tr>
    <tr>
      <td>3.4.1</td>
      <td>Module TMI</td>
      <td>20</td>
    </tr>
    <tr>
      <td>3.4.2</td>
      <td>Système de référence et acquisition de données</td>
      <td>20</td>
    </tr>
    <tr>
      <td>3.4.3</td>
      <td>Détails de la mise en œuvre de l'EKF-BiLSTM</td>
      <td>21</td>
    </tr>
    <tr>
      <td>3.4.4</td>
      <td>Effet de l'adaptation de la matrice de covariance de mesure</td>
      <td>21</td>
    </tr>
    <tr>
      <td>3.4.5</td>
      <td>Résultats et performances de l'EKF-BiLSTM</td>
      <td>23</td>
    </tr>
    <tr>
      <td>4</td>
      <td>EKF magnéto-inertiel avec adaptation des matrices de covariance de bruits par Q-Learning</td>
      <td>27</td>
    </tr>
    <tr>
      <td>4.1</td>
      <td>Apprentissage par Q-Learning pour l'adaptation des matrices de covariance de bruits</td>
      <td>28</td>
    </tr>
    <tr>
      <td>4.1.1</td>
      <td>Préliminaires sur l'apprentissage par Q-Learning</td>
      <td>28</td>
    </tr>
    <tr>
      <td>4.1.2</td>
      <td>Adaptation des matrices de covariance par Q-Learning statique pour l'EKF</td>
      <td>29</td>
    </tr>
    <tr>
      <td>4.2</td>
      <td>Adaptation des matrices de covariance par Q-Learning dynamique pour l'EKF (DG-QLEKF)</td>
      <td>30</td>
    </tr>
    <tr>
      <td>4.2.1</td>
      <td>Grille dynamique et algorithme ε-greedy amélioré</td>
      <td>30</td>
    </tr>
  </tbody>
</table>
<table><tr><td>4.2.2</td><td>Algorithme Q-Learning avec grille dynamique et convergence</td><td>33</td></tr><tr><td>4.2.3</td><td>Algorithme EKF avec Q-Learning basée sur une grille dynamique</td><td>34</td></tr><tr><td>4.2.4</td><td>Limites d'erreur d'estimation du DG-QLEKF</td><td>36</td></tr><tr><td>4.3</td><td>Simulations numériques avec des données réelles</td><td>37</td></tr><tr><td>4.3.1</td><td>Configuration de la simulation</td><td>37</td></tr><tr><td>4.3.2</td><td>Résultats et analyse</td><td>38</td></tr><tr><td>5</td><td>Conclusion</td><td>41</td></tr><tr><td>6</td><td>Glossaire</td><td>42</td></tr><tr><td>7</td><td>Acronymes</td><td>42</td></tr></table>

## Introduction générale

Le mouvement d'un corps rigide mobile dans son environnement qu'il soit terrestre, aérien ou marin, peut être déterminé à l'aide de techniques de navigation. Il est alors nécessaire d'estimer des états dynamiques de ce corps dans un espace bidimensionnel (2-D) voire tridimensionnel (3-D), tels que la position, la vitesse ou l'attitude. L'estimation de ces états est fondamental pour que le mobile puisse se localiser, calculer la distance parcourue, et plus généralement assurer sa mission comme le suivi d'une trajectoire.

On distingue quatre types de navigation : (i) la navigation par cheminement, (ii) la navigation par erreur systématique, (iii) la navigation à l'estime et (iv) la détermination du cap, de la dérive et de la vitesse sol. La navigation à l'estime, une des techniques de navigation les plus couramment utilisée actuellement en navigation pédestre ou de drones, permet de déterminer ces états spécifiques à la navigation en mesurant récursivement leur évolution par rapport à leurs valeurs initiales. La nécessité d'une navigation à l'estime découle des limites de techniques typiques de positionnement par satellites (GPS par exemple) nécessitant une ligne de vue directe entre le récepteur satellitaire et au moins quatre satellites pour déterminer les états de navigation.

La navigation inertielle se distingue par l'utilisation de capteurs inertiels d'accélération et de rotation, couplés à la technique de navigation à l'estime, afin de déterminer le mouvement absołu du corps mobile. En effet, si on peut mesurer, par ces capteurs, la force résultante exercée sur un corps en mouvement à l'aide de la deuxième loi de Newton, les taux de mouvements linéaires et/ou rotationnels peuvent être déduits. La navigation inertielle date du 17ième siècle avec le développement de ces appareils de mesures. Elle présente l'avantage d'être totalement autonome mais les performances d'estimation dépendent très étroitement de la qualité des capteurs utilisés. Le système inertiel présente ainsi des erreurs pouvant dégrader ses performances à long terme. Comparé aux autres systèmes de navigation, il reste le système le plus efficace pour la navigation et peut par ailleurs être hybridé à des systèmes complémentaires, comme le GPS par exemple. La navigation inertielle est communément utilisée aujourd'hui dans la navigation pédestre, aérienne et sous-marine par exemple. Un marché prometteur est en train de se développer autour de cette technique pour la santé, la sécurité et sauvetage de personnes, les objets connectés, etc.

Les capteurs inertiels sont classés selon deux catégories principales : les accéléromètres et les gyromètres. Les accéléromètres mesurent des forces (la somme du vecteur gravité et du vecteur
d'accélération linéaire), tandis que les gyromètres mesurent des vitesses angulaires. Lorsqu'il est monté suivant des formes géométriques spécifiques et attaché rigidement au corps, l'ensemble des capteurs inertiels est appelé unité de mesure inertielle ("inertial measurement unit" (IMU)). Une IMU est couplée à un processeur de traitement de données à bord pour convertir les mesures brutes en forces spécifiques sensibles et vitesses angulaires. Une IMU typique comprend une triade d'accéléromètres et de gyromètres, montée autour de trois axes mutuellement orthogonaux et elle est souvent complétée par une triade de magnétomètres pour mesurer le champ magnétique terrestre, afin d'obtenir une référence par rapport au nord magnétique.
Les mesures issues de l'IMU sont mathématiquement représentatives de variations de position, de vitesse et d'orientation pour le corps mobile. Par conséquent, les états de navigation peuvent être accumulés au fil du temps pour identifier la position, la vitesse et l'orientation à tout instant donné. Le système qui utilise les mesures d'une IMU pour calculer en ligne les états de navigation est la centrale de navigation inertielle ("inertial navigation system" (INS)). Une INS inclut une IMU ainsi que de l'électronique embarquée pour traiter les mesures et fournir/estimer une solution de navigation complète. Le marché des IMUs et INSs est en plein essor et plusieurs solutions sont commercialisées par des entreprises comme Xsens Technologies, ST Microelectronics, InvenSense, etc.

Dans une INS ou IMU, les mesures de capteurs magnéto-inertiels sont souvent soumis à des erreurs systématiques et/ou aléatoires. Ces erreurs incluent le facteur d'échelle des biais, la non-linéarité de ce facteur d'échelle et le couplage croisé des mesures d'axes sensibles. Néanmoins des processus de calibration de capteurs magnéto-inertiels peuvent être mis en place afin de corriger ces erreurs. Les erreurs aléatoires d'autre part, défi principal dans ce contexte, se manifestent par des bruits variés et peuvent être d'origine électrique et mécanique, selon la conception et la fabrication de ces capteurs. L'ordre de grandeur et l'impact de ces erreurs sur les solutions de navigation magnéto-inertielle dépendent de la technologie employée.
La technologie à base de systèmes microélectromécaniques (micro electro mechanical systems (MEMS)) est actuellement la plus répandue en navigation magnéto-inertielle. Elle offre une miniaturisation de ces capteurs et un coût de fabrication réduit. En contrepartie, ces capteurs souffrent souvent d'un niveau de bruit et biais élevés. A cela s'ajoutent d'autres types de problèmes, tels que les accélérations linéaires mesurées par les accéléromètres et les perturbations magnétiques auxquelles sont souvent soumis les magnétomètres. Ces problèmes rendent les mesures des variations des états erronées et biaisées dans le temps.

La recherche s'est intensifiée depuis plusieurs années autour du développement de nouvelles méthodes de fusion de mesures magnéto-inertielles MEMS pour l'estimation des états de navigation avec des IMUs et INSs. Une littérature abondante existe avec des méthodes incluant principalement des filtres de Kalman, des filtres complémentaires et des observateurs non-linéaires. Dans de nombreux cas, il n'est pas facile d'estimer l'état exact du système pour de nombreuses raisons telles que les incertitudes des capteurs, l'imperfection des modèles dynamiques considérés, et les paramètres inexactes des estimateurs. Dans ce contexte, les techniques d'intelligence artificielle (IA) ont été appliquées à de nombreux algorithmes d'estimation de la littérature pour compenser des problèmes liés aux réglages de paramètres et à l'estimation de pseudo-mesures par exemples. Cela est devenu possible grâce à l'avantage des techniques d'IA qui ont la capacité d'associer une soi-disante "boîte noire" entre l'entrée et la sortie. Comme nous le montrons dans cet article, l'IA offre de nouvelles perspectives pour la recherche en filtrage magnéto-inertiel.

Cet article présente deux approches récentes de navigation magnéto-inertielle aidée par de l'IA, pour traiter deux problèmes différents liés à l'estimation, améliorer l'observabilité et mieux ajouter les matrices de covariances. La première approche consiste à coupler un filtre de Kalman étendu (EKF) magnéto-inertiel à un réseau de neurones récurrents à mémoire court-terme et long-terme ("bidirectional long-short term memory" (BiLSTM)) pour améliorer l'estimation du système dynamique en question. En effet, ce réseau apprend à partir de mesures inertielles
pour calculer la vitesse, vitesse qui est ensuite ajoutée au vecteur de mesures ce qui permet d'améliorer la qualité des estimés de vitesse et position. La deuxième approche se focalise sur le développement d'un EKF magnéto-inertiel couplé à une méthode d'adaptation appropriée des matrices de covariance de bruits provenant de l'apprentissage par renforcement, à savoir la méthode du Q-Learning. En effet, le réglage du filtre de Kalman repose notamment sur le bon choix des matrices de covariances et cette tâche est souvent ardue. Ces approches sont validées par des simulations utilisant des données expérimentales issues de capteurs magnéto-inertiels lors de scénarios de vol d'un drone et d'une marche piétonne.

Cet article est organisé comme suit. Dans la section 1, les définitions et les principes de fonctionnement des capteurs inertiels et magnétiques sont présentés. Dans la section 2, le principe général d'un EKF ainsi que son algorithme sont expliqués. La section 3 se focalise sur la première approche qui synthétise un EKF magnéto-inertiel basé sur un réseau BiLSTM. La section 4 est dédiée à la deuxième approche qui s'articule autour d'un EKF magnéto-inertiel avec adaptation des matrices de covariance de bruits par Q-Learning. Cet article se termine par une conclusion générale et une ouverture vers les évolutions technologiques futures dans le domaine. Un glossaire et une liste des acronymes utilisés viennent compléter l'article respectivement en sections 6 et 7.

# 1 Capteurs inertiels et magnétiques : définitions et principes de fonctionnement

La navigation magnéto-inertielle fonctionne sur la base d'une triade de capteurs formée d'accéléromètre, de gyromètre et de magnétomètre. Elle peut être complétée dans certains cas par d'autres systèmes de mesures (baromètre, système mondial de positionnement (global positioning system (GPS)), altimètre, inclinomètre, odomètre, caméra, etc.) afin d'augmenter la précision d'estimation des états de navigation par des algorithmes dédiés [1, 2]. Le développement de l'électronique et des micro-technologies a permis d'obtenir de nouveaux capteurs bien adaptés aux applications de basses ou moyennes performances : les MEMS.

Cette section se concentre sur la définition de la technologie MEMS et des capteurs magnéto-inertiels MEMS, tout en introduisant brièvement leurs principes de fonctionnement. Les principaux systèmes électroniques utilisés en navigation magnéto-inertielle sont exposés à la fin de la section 1.

## 1.1 Technologie MEMS

Un MEMS est un système microélectronique composé d'éléments électroniques analogiques et numériques. Les MEMS (aussi désignés sous l'appellation de *Microsystèmes* en Europe ou *Micromachines* au Japon) sont des solutions économiques réunissant un ensemble de composants réalisés le plus souvent sur silicium à l'aide de micro-technologies. Ils emploient des technologies microélectroniques pour réaliser des dispositifs qui, en plus d'être des circuits électroniques, sont aussi des capteurs et/ou des actionneurs. L'association de la microélectronique sur silicium avec la technologie de micro-usinage a rendu possible la réalisation de systèmes sur puce complets. Ces composants profitent à la fois d'une extrême miniaturisation, d'un poids et d'une consommation énergétique faibles, ce qui conduit à un rapport performance/coût très avantageux. Parmi la grande diversité de capteurs disponibles en technologies MEMS, on peut citer les capteurs inertiels constitués par les accéléromètres et les gyromètres et les capteurs magnétiques représentés par les magnétomètres. Les principaux constructeurs de ces capteurs basés cette technologie sont : STMicroelectronics, Bosch, Freescale, Analog Devices, Invensense, Honeywell, Yamaha, etc.
## 1.2 Les accéléromètres

Un accéléromètre mesure comme son nom l'indique l'accélération du corps mobile qui le supporte suivant un, deux ou trois axes. Un accéléromètre peut être vu comme un corps d'épreuve de masse *m*, attaché à un ressort de raideur *k* et à un amortisseur de coefficient *B*, et que l'on cherche à maintenir en position (système ressort-masse-amortisseur, cf. figure 1). Lorsqu'une force *F* est appliquée, l'accélération résultante tend à déplacer la masse d'épreuve de sa position initiale et à déplacer le ressort. La force appliquée pour maintenir le corps en place (par le ressort) fournit une mesure de l'accélération [3].

Le principe de tous les accéléromètres est basé sur la loi fondamentale de Newton (masse d'inertie).

<figure><img src="image_3.png" /><figcaption>Figure 1 – Système ressort-masse-amortisseur pour un accéléromètre.</figcaption></figure>

La connaissance du déplacement *x* de la masse attachée au ressort (ou de la déformation engendrée par la force) permet d'en déduire l'accélération.

Un accéléromètre est caractérisé par plusieurs paramètres, dont les plus principaux sont : la plage de fonctionnement, exprimée en *m/s*² ou *g* (la constante gravitationnelle universelle, $1g = 9.81m/s^2$), la bande passante, exprimée en *Hz*, la résolution, exprimée en *g*, la sensibilité (la qualité de suivi des faibles variations de la grandeur d'entrée autour du point de mesure), exprimée en *V/g*, la gamme de température d'utilisation, exprimée en °C, la consommation, et la technique de construction. Ces paramètres déterminent les domaines d'applications associés à chaque type d'accéléromètre.

Dans la littérature, il existe différentes techniques pour mesurer le déplacement du corps d'épreuve ainsi que pour transformer l'action de l'accélération sur le capteur en signal électrique [4]. Parmi ces techniques, il y a celles à détection capacitive et piézorésistive qui utilisent la technologie MEMS dans les accéléromètres modernes.

## 1.3 Les gyromètres

Un gyromètre est un capteur de mouvement inertiel qui mesure la vitesse angulaire (et l'orientation) du référentiel lié au corps mobile qui le supporte, lorsqu'il tourne par rapport à un référentiel inertiel, suivant un, deux ou trois axes [3, 5]. Le fonctionnement du gyromètre est basé sur le principe de la conservation du moment cinétique.

De nombreuses classes de gyromètres existent, selon le principe physique de fonctionnement et la technologie impliquée, comme par exemple les gyromètres vibrant MEMS basés sur l'effet Coriolis. Les principes généraux de cet effet sont connus depuis l'expérience du pendule de Foucault en 1851. Ces gyromètres utilisent généralement un élément mécanique vibrant pour détecter la vitesse angulaire. Généralement, les gyromètres vibrants sont des capteurs inertiels de moyenne ou basse performance (en termes de précision) mais le faible coût et la miniturisation les rendent attractifs pour certaines applications (véhicules aériens, smartphones,
navigation piétonne, applications médicales, etc.).

Tous les gyromètres MEMS à élément vibrant sont basés sur le couplage et le transfert d'énergie entre deux modes de vibration (excitateur et détecteur) induit par l'accélération de Coriolis. Un gyromètre vibrant MEMS peut être simplement visualisé comme un système ressort-masse-amortisseur à deux degrés de liberté. La masse (élément sensible) possède la capacité de pouvoir osciller selon deux axes orthogonaux X et Y (figure 2). Lorsque l'élément sensible est en vibration le long de l'axe X, si le gyromètre est soumis à une vitesse de rotation Ω autour de l'axe Z, une vibration apparaît le long de l'axe Y. Cette vibration est excitée par la force de Coriolis et son amplitude est proportionnelle à Ω.

<figure><img src="image_4.png" /><figcaption>Figure 2 – Fonctionnement d'un gyromètre vibrant à effet Coriolis [6].</figcaption></figure>

Afin d'augmenter la sensibilité du gyromètre, les deux vibrations orthogonales ont des fréquences de résonance proches (le maximum de sensibilité correspondant à l'égalité des deux fréquences). Le premier mode, dénommé mode pilote, est excité à sa résonance avec une amplitude asservie pour être constante. Dans ces conditions, l'amplitude de la vibration du second mode, appelé mode détecteur, est donc uniquement proportionnelle à Ω. La mesure d'amplitude de vibration du mode détecteur permet d'estimer la vitesse de rotation.

La plage de fonctionnement d'un gyromètre est exprimée en °/s ou rad. Les principaux paramètres qui spécifient la précision d'un gyromètre sont le biais, le facteur d'échelle (sensibilité) et la résolution de mesure du capteur. Le biais correspond au signal de sortie du capteur (exprimé en (V)) en l'absence de signal d'entrée [4]. Le facteur d'échelle est le rapport entre la sortie du capteur (exprimée en (V)) et la grandeur d'entrée (exprimée en (°/s)); il s'exprime donc en (V/(°/s)). Une évolution du biais au cours du temps ou lors de variations de température se traduit directement par une erreur de mesure en valeur absolue (exprimée en (°/s)), alors qu'une évolution du facteur d'échelle se traduit par une erreur de mesure exprimée en valeur relative (ppm). La résolution du capteur (exprimée en (°/s)) correspond au plus petit signal d'entrée mesurable. La résolution est le produit de la densité spectrale de bruit (exprimée en (°/s/Hz)) par la racine carrée de la bande passante du capteur (exprimée en (Hz)).

## 1.4 Les magnétomètres

Un magnétomètre, appelé parfois compas magnétique, est un capteur permettant de mesurer, suivant un, deux ou trois axes, la projection du champ magnétique terrestre $m_t$ dans le référentiel du corps mobile qui le supporte. Ce champ magnétique, appelé aussi induction magnétique ou densité du flux de l'action magnétique du globe terrestre [7], entoure la terre de manière non circulaire. L'origine de ce champ est liée aux mouvements du fluide conducteur du noyau interne de la terre composé essentiellement de fer (Fe) et de nickel (Ni). Ceux-ci sont engendrés par convection thermique et par rotation de la terre créant des courants élec-
triques, et donnant ainsi naissance à un champ magnétique induit. Le premier magnétomètre capable de mesurer l'intensité magnétique absolue a été inventé par Carl Friedrich Gauss en 1833. Un magnétomètre peut être utilisé par exemple pour mesurer la direction du nord (référence de cap pour les centrales d'attitude et de cap), détecter les anomalies magnétiques de divers types dans les levés géophysiques, détecter les sous-marins dans l'armée, et détecter uniquement les métaux magnétiques (ferreux).

Le champ d'induction, dit également champ de Gauss, est approximativement égal à celui d'un dipôle centré. Les lignes du champ magnétique, représentées dans la figure 3, se déplacent du pôle Nord au pôle Sud, comme celles du champ électrique qui vont d'une charge positive à une charge négative. Ce champ fluctue au cours du temps : sa direction et son intensité ne sont pas constantes. De plus, il n'est pas homogène en tout point du globe. Les unités les plus utilisées pour la mesure du champ magnétique terrestre sont le Tesla (T) et le Gauss (G), (1T=10⁴G). Le champ magnétique terrestre varie généralement entre 0.8G (aux deux pôles) et 0.25G (à l'équateur) à cause de la nature différente des roches et de l'interaction entre les particules chargées du soleil et la magnétosphère d'une planète. L'existence et la connaissance de ce champ permettent de s'orienter à l'aide d'une boussole lors de la navigation.

Des méthodes de représentation de l'intensité et de la direction du champ magnétique terrestre ont été proposées dans la littérature en se basant sur la géométrie sphérique et les séries de fonctions sphériques convergentes. Grâce à ces méthodes, une représentation réaliste de ce champ, notamment pour la navigation, a été établie en utilisant deux modèles numériques de référence tels que le champ Géomagnétique International de Référence (IGRF, https://www.ngdc.noaa.gov/IAGA/vmod/igrf.html) et le Modèle Magnétique Mondial (WMM, https://www.ngdc.noaa.gov/geomag/WMM/). En utilisant les deux modèles numériques de référence, une expression simplifiée du champ magnétique, représentée par le vecteur $m_{ti}$ tridimensionnel dans un referentiel inertiel pourrait être proposée.

Selon la technologie de mesure du champ magnétique terrestre utilisée, on distingue plusieurs types de capteurs magnétiques ou magnétomètres, tels que fluxgate, effet Hall, magnétorésistance, etc. [8].

<figure><img src="image_5.png" /><figcaption>**Figure 3** – Représentation des lignes du champ magnétique terrestre [6].</figcaption></figure>

Un magnétomètre MEMS détecte et mesure le champ magnétique terrestre en utilisant le plus souvent l'effet Hall, ou dans une moindre mesure, l'effet magnétorésistif. Actuellement, plusieurs capteurs du marché utilisent l'effet Hall.

**Effet Hall** : les particules chargées subissent une force lorsqu'elles se déplacent dans un champ magnétique perpendiculaire à la vitesse de la particule. Cette force est connue sous le nom de force de Lorentz $F_l$. Elle est fonction de la charge de particules $q_p$, de la vitesse de ces particules $v_e$ et de la densité du flux magnétique d'intensité $m_t$.
Les magnétomètres à effet Hall tirent parti des forces de Lorentz en faisant passer un courant à travers une plaque conductrice mince (figure 4). Lorsque la plaque est placée dans un champ magnétique normal à la plaque, un champ électrique se forme sur les côtés de la plaque pour générer les forces nécessaires pour maintenir l'équilibre de la distribution des particules chargées.

<figure><img src="image_6.png" /><figcaption>Figure 4 – Principe de fonctionnement d'un magnétomètre à effet Hall.</figcaption></figure>

Considérons un électron se déplaçant avec une vitesse $v_{pe}$ à travers une densité de flux magnétique avec une intensité $m_t$ et un champ électrique latéral $E_{Hall}$, la force latérale totale $F_{Total}$ subie par l'électron peut être calculée. Dans des conditions d'équilibre, $F_{Total}$ est contrainte à être nulle et l'effet Hall $E_{Hall}$ se traduit par une tension qui peut être mesurée sur les côtés de la plaque et qui est proportionnelle à $m_t$. La détermination de ces coefficients de proportionalité se font à une étape de calibration qui n'est pas étudiée dans cet article (voir [9] pour plus de détails sur cette étape).

## 1.5 Systèmes électroniques pour la navigation magnéto-inertielle

Les accéléromètres, les gyromètres et les magnétomètres constituent de nos jours les capteurs de base pour les systèmes inertiels. Ces systèmes se divisent en trois catégories à savoir les unités de mesures inertielles (IMU), les centrales d'attitude et de cap (AHRS) et les centrales inertielles (INS) (figure 5). Ces systèmes utilisent la technique nommée « Strapdown ». Cela implique que le module de capteurs est attaché de façon plus ou moins rigide au corps et permet de détecter les accélérations, les rotations et les champs magnétiques de façon simultanée et coordonnée.

Par définition, une IMU contient principalement trois gyromètres et trois accéléromètres (et parfois trois magnétomètres) montés en triade orthogonale. Elle permet de mesurer selon les trois axes les composantes de l'accélération et de la vitesse instantanée de rotation du corps rigide par rapport à un référentiel inertiel.

Les unités de mesures inertielles sont aussi munies de sondes de température permettant de recaler le biais des gyromètres et des accéléromètres. Elles intègrent un dispositif électronique permettant de corriger les données capteurs : compensation de l'accélération au niveau de la mesure des gyromètres, autocompensation en température, orthogonalisation des axes de mesure, etc. Les capteurs et les modèles IMU sont calculés en usine via une séquence d'étalonnage dédiée utilisant une table tournante multi-axes et une chambre climatique. L'étalonnage améliore généralement les performances brutes des capteurs.

Une AHRS est conçue à base d'une unité de mesure inertielle mais ayant en plus la capacité de calculer en temps réel l'orientation de l'objet qui la supporte.

En complément, une INS permet de calculer en temps réel, à partir des composantes de l'ac-
<figure><img src="image_7.png" /><figcaption>Figure 5 – Différentes catégories de systèmes inertiels.</figcaption></figure>

élération, l'évolution du vecteur vitesse et de la position du véhicule à bord duquel elle est installée. La différence majeure entre les deux équipements est la phase de traitement des données capteurs. En effet, dans le cas d'une AHRS, les capteurs sont identiques à ceux utilisés dans une INS mais le traitement des données n'est pas prévu pour le calcul de position.

Le développement des capteurs MEMS ces dernières années a été un facteur déterminant dans l'apparition de systèmes inertiels miniaturisés et moins chers d'attitude et de position sur le marché. Ces systèmes sont parfois équipés de modules GPS et de baromètres. On peut citer quelques constructeurs spécialistes du domaine : Xsens Technologies, MicroStrain, Sbg Systems, Crossbow Technologies, VectoNav, STMicroelectronics, Aeron Systems, etc. Il apparaît que les algorithmes internes de calcul d'attitude et de position dans ces systèmes sont dans la plupart du temps basés sur des filtres de Kalman (ou Kalman étendu). Ces algorithmes sont associés à des processeurs rapides pour traiter les calculs nécessaires à la détermination de l'attitude et la position. Ces données sont converties parfois par la suite dans un format accessible ou même affichable sur un écran.

À retenir

- Les capteurs MEMS nécessaires pour la navigation magnéto-inertielle ont été introduits.

- Le problème de la navigation magnéto-inertielle a été introduit et motivé par des applications.

- Les systèmes électroniques complets collectant les données capteurs ont été également introduits.

## 2 EKF : principe général et algorithme

Une approche commune pour reconstruire l'état d'un mobile à partir de mesures fournies par des capteurs magnéto-inertiels consiste à construire un filtre de Kalman. De nombreux travaux sont ainsi disponibles dans la littérature proposant notamment des validations expérimentales, cf. [10, 11] par exemple. Rappelons dans un premier temps le principe du filtre de Kalman avant de nous pencher vers sa version non-linéaires.

Le filtre de Kalman est un algorithme de filtrage de données utilisé pour estimer l'état d'un système dynamique à partir de mesures incomplètes et bruitées. Il utilise des techniques de l'automatique et de traitement du signal pour combiner des observations à différents moments
dans le temps afin d'obtenir une estimation plus précise de l'état du système. Le filtre de Kalman est largement utilisé dans des applications comme la navigation, le contrôle de systèmes et la reconnaissance de formes. Ce filtre porte le nom du mathématicien et informaticien américain d'origine hongroise Rudolf Kalman. Le filtre de Kalman en contexte discret est un estimateur récursif. Cela signifie que pour estimer l'état courant, seules l'estimation de l'état précédent et les mesures actuelles sont nécessaires. L'historique des observations et des estimations n'est ainsi pas requis. Le filtre de Kalman est composé de deux phases distinctes : prédiction et mise à jour. La phase de prédiction utilise l'état estimé de l'instant précédent et le modèle des dynamiques pour produire une estimation de l'état courant. Dans l'étape de mise à jour, les observations de l'instant courant sont utilisées pour corriger l'état prédit dans le but d'obtenir une estimation plus précise. Pour plus de détails sur ce filtre, voici quelques références [12, 13]. Le filtre de Kalman est limité aux systèmes linéaires. Cependant, la plupart des processus physiques ont des comportement non-linéaires. Le filtre n'est donc efficace que dans les régions de l'espace d'état où le modèle linéaire est fidèle au processus physique. La non-linéarité peut être associée au modèle du processus, au modèle d'observation voire aux deux. Pour les systèmes non linéaires, un algorithme plus approprié est l'EKF. Dans ce dernier, les modèles d'évolution et d'observation n'ont pas besoin d'être des fonctions linéaires de l'état mais peuvent à la place être des fonctions différentiables. Dans ce cas un modèle de Markov discret est considéré pour décrire un système non linéaire, avec deux fonctions dynamiques comme suit :

$$ (1) \qquad \begin{cases} x_{k+1} = f(x_k) + w_k \\ y_k = g(x_k) + v_k \end{cases} $$

avec $f(\cdot)$ et $g(\cdot)$ sont des fonctions dynamiques de processus et de mesure, respectivement, et sont supposées être continûment différentiables, $x_k$ est l'état du système à estimer, $y_k$ est la sortie mesurable du système, $w_k$ et $v_k$ sont les bruits de processus et de mesure, respectivement. Ces bruits sont supposés indépendants et Gaussiens avec une moyenne nulle, ce qui signifie que pour tout $i, j = 0, 1, 2, \dots$, les propriétés suivantes sont satisfaites :

$$ (2) \quad \left\{ \begin{array}{l} E(w_i) = 0, \quad E(v_i) = 0 \\ E(w_i w_i^\top) = Q, \quad E(v_i v_i^\top) = R, \quad E(w_i v_j^\top) = 0 \\ \text{for } i \neq j: E(w_i w_j^\top) = 0 \text{ and } E(v_i v_j^\top) = 0 \end{array} \right. $$

Pour les systèmes non linéaires exprimés par l'équation (1), l'EKF utilisé pour l'estimation d'état est résumé dans l'algorithme 1. Dans cet algorithme, $\hat{x}_{k+1|k}$ est l'estimation d'état a priori à l'étape $k+1$ compte tenu de la connaissance du modèle de processus avant l'étape $k+1$, $A_k$ est la matrice Jacobienne des dérivées partielles de $f$ par rapport à $x$ à l'étape $k$ calculée autour de $\hat{x}_k$, $P_{k+1|k} = E[(x_{k+1} - \hat{x}_{k+1|k})(x_{k+1} - \hat{x}_{k+1|k})^\top]$ est l'estimation de la matrice de covariance des erreurs a priori à l'étape $k+1$ étant donné la connaissance du modèle de processus avant l'étape $k+1$, $C_k$ est la matrice Jacobienne des dérivées partielles de $g$ par rapport à $x$ à l'étape $k$ calculée autour de $\hat{x}_{k+1|k}$, $K_{k+1}$ est le gain de l'EKF au pas $k+1$, $\tilde{y}_{k+1}$ est le terme d'innovation de mesure à l'étape $k+1$, $\hat{x}_{k+1}$ est l'estimation de l'état a posteriori au pas $k+1$ étant donné la mesure $y_{k+1}$, $P_{k+1} = E[(x_{k+1} - \hat{x}_{k+1})(x_{k+1} - \hat{x}_{k+1})^\top]$ est la matrice de covariance des erreurs a posteriori au pas $k+1$ étant donné la mesure $y_{k+1}$.
## Algorithme 1 EKF traditionnel

$$ 
\begin{aligned}
1: \quad & \hat{x}_{k+1|k+1}, P_{k+1|k+1}, \hat{y}_{k+1} \\
& = EKF(\hat{x}_{k|k}, P_{k|k}, y_k, Q, R)
\end{aligned}
 $$

$$ 
\begin{array}{ll}
2: & \text{Entr\^{ee}} \hat{x}_{k|k}, P_{k|k}, y_k, Q, R \\
3: & \hat{x}_{k+1|k} = f(\hat{x}_{k|k}, 0) \{\text{Pr\^{ed}iction de l'estimation de l'état}\}
\end{array}
 $$

$$ 
\begin{array}{ll}
4: \quad & A_k = \frac{\partial f}{\partial x}(\hat{x}_{k|k}) \\
5: \quad & P_{k+1|k} = A_k P_{k|k} A_k^\top + Q \{\text{Pr\^{ed}iction de la matrice de covariance des erreurs}\}
\end{array}
 $$

$$ 
\begin{array}{ll}
6: \quad & C_{k+1} = \frac{\partial g}{\partial x}(\hat{x}_{k+1|k}) \\
7: \quad & K_{k+1} = P_{k+1|k} C_{k+1}^\top (C_{k+1} P_{k+1|k} C_{k+1}^\top + R)^{-1} \{\text{Calcul du gain de l'EKF}\}
\end{array}
 $$

$$ 
\begin{array}{ll}
8: \quad & \tilde{y}_{k+1} = y_{k+1} - g(\hat{x}_{k+1|k}, 0) \{\text{Calcul du terme d'innovation}\} \\
9: \quad & \hat{x}_{k+1|k+1} = \hat{x}_{k+1|k} + K_{k+1} \tilde{y}_{k+1} \{\text{Mise à jour de l'estimation de l'état}\}
\end{array}
 $$

$$ 
\begin{array}{ll}
10: \quad & P_{k+1|k+1} = P_{k+1|k} - K_{k+1} C_{k+1} P_{k+1|k} \{\text{Mise à jour de la matrice de covariance des erreurs}\}
\end{array}
 $$

$$ 
\begin{array}{ll}
11: \quad & \text{Sortie } \hat{x}_{k+1|k+1}, P_{k+1|k+1}, \tilde{y}_{k+1}
\end{array}
 $$

L'EKF repose donc sur une linéarisation locale du modèle autour de l'état estimé. Ceci assure donc la convergence locale de l'erreur, mais non globale en général. Un surcoût de calcul est constaté par rapport au filtre de Kalman classique. En effet, outre les opérations non linéaires introduites dans les équations d'états et de transitions, il faut recalculer à chaque étape les matrices Jacobiennes de ces équations. Malheureusement, les preuves de stabilité et de convergence établies dans le cas des systèmes linéaires ne peuvent être étendues de manière générale au cas des systèmes non linéaires.

A l'heure actuelle, un EKF appliqué en navigation inertielle présente un certain nombre de problèmes qui peuvent nuire à sa performance d'estimation. On peut citer par exemple le problème de réglage des matrices de covariance de bruits. Deux approches issues de l'IA seront utilisées dans la suite de cet article, couplées à l'EKF, pour améliorer les performances d'estimation :

- EKF magnéto-inertiel basé sur un réseau BiLSTM;

- EKF magnéto-inertiel avec adaptation des matrices de covariance de bruits par Q-Learning.

### À retenir

- Le principe des filtres de Kalman a été rappelé dans cette section, ainsi que le filtre de Kalman étendu pour des systèmes non-linéaires généraux.

- Les difficultés d'utilisation de ces filtres de Kalman étendus pour la navigation magnéto-inertielle ont été rappelées et motivent des techniques d'apprentissage issues de l'intelligence artificielle.

## 3 EKF magnéto-inertiel basé sur un réseau BiLSTM

Cette section expose le développement et l'implémentation d'une méthode pour estimer la vitesse d'un corps mobile en utilisant uniquement les données brutes d'une triade de capteurs inertiels MEMS, c'est-à-dire un accéléromètre et un gyromètre, ainsi qu'une disposition bien déterminée d'un réseau de magnétomètres. Ces capteurs ont été définis dans la Section 1. Le scenario de navigation piétonne intérieure (navigation inertielle pédestre) a été retenu dans ce cadre.
L'approche proposée combine un EKF basé sur le gradient de champ magnétique, avec un réseau d'apprentissage BiLSTM [14]. Le but est de mieux estimer la vitesse en navigation pédestre, en particulier lorsque les variations du champ magnétique sont faibles. La méthode proposée permet également de bien mettre à jour la vitesse quel que soit l'emplacement du capteur sur le corps du porteur, sans calculs lourds ou réglages complexes, comme c'est le cas pour la technique de mise à jour à vitesse nulle (zero velocity potential update (ZUPT)), largement utilisée en navigation pédestre.

La performance de l'approche proposée est démontrée lors de scenarios de trajectoires expérimentaux à l'aide d'un module magnéto-inertiel, fourni par l'entreprise Sysnav, et pour différents placements de capteurs. Les résultats obtenus montrent l'amélioration de l'estimation de la vitesse et son impact sur le calcul de la position.

## 3.1 Travaux connexes à la problématique

Au cours des dernières années, la navigation pédestre intérieure a motivé de nombreuses recherches, car elle représente un problème crucial pour de nombreuses applications autour de la sécurité, le sauvetage, et le loisir, en l'absence du GPS. L'approche proposée dans cet article s'inscrit dans ce cadre. Celle-ci s'inspire de travaux de recherches précédents autour de la navigation magnéto-inertielle utilisant le gradient de champ magnétique [15, 16, 17, 18, 19, 20], et de techniques de l'IA [21, 22, 23, 19].

## 3.2 Modélisation dynamique et énoncé du problème

L'objectif est d'estimer la vitesse d'un corps mobile naviguant dans un environnement intérieur magnétiquement variable avec un focus spécial sur la navigation pédestre. Parallèlement, l'estimation de l'attitude, du champ magnétique et de son gradient sont nécessaires pour atteindre cet objectif. Dans ce qui suit, l'indice $b$ (resp. $n$) désigne les coordonnées des vecteurs dans le repère mobile $\mathbb{R}_b$ (resp. dans le repère inertiel $\mathbb{R}_n$) du corps.

### 3.2.1 Navigation assistée par gradient de champ magnétique

La variation du champ magnétique dans les environnements intérieurs représente le point clé pour l'estimation de la vitesse. Dans [16], une nouvelle technique a été développée et a démontré la relation entre le gradient de champ magnétique et la vitesse, en se basant sur l'équation ci-dessous :

$$ (3) \qquad \frac{dB_b}{dt} = -\omega_b \times B_b + \nabla B_b v_b, $$

où

- $v_b = [v_{bx} \ v_{by} \ v_{bz}]^\top \in \mathbb{R}^{3 \times 1}$ est la vitesse (qui sera estimée) du corps mobile dans le repère $\mathbb{R}_b$, exprimée en $ms^{-1}$;

- $B_b = [B_{bx} \ B_{by} \ B_{bz}]^\top \in \mathbb{R}^{3 \times 1}$ est le champ magnétique (qui sera filtré) dans le repère $\mathbb{R}_b$, notée $m_t$ dans la section 1. Ce champ est mesuré par un magnétomètre triaxial en Gauss (G);

- $\nabla B_b \in \mathbb{R}^{3 \times 3}$ est la matrice Jacobienne qui représente le gradient spatial du champ magnétique en $Gm^{-1}$. Cette matrice peut également être transformée par une bijection unique en un vecteur dans $\mathbb{R}^{9 \times 1}$. Notez ici que le gradient de champ magnétique est
symétrique et de trace nulle. Cela signifie qu'il peut être décrit en utilisant seulement 5 de ses éléments tandis que le reste peut être déduit [18]. Ceci est avantageux lors de l'application de l'EKF, où 5 valeurs sont estimées au lieu de 9 ;

— $\omega_b = [\omega_{bx} \ \omega_{by} \ \omega_{bz}]^\top \in \mathbb{R}^{3 \times 1}$ est la vitesse de rotation (angulaire) dans le repère $\Re_b$, notée $\Omega$ dans la section 1. Elle est mesurée par un gyromètre triaxial en $\text{rad.s}^{-1}$.

De cette équation, on peut noter que l'observabilité de $v_b$ est assurée lorsque $\nabla B_b$ est non singulier [17]. De plus, pour reconstituer correctement $v_b$, des variations magnétiques sont nécessaires dans l'environnement du corps mobile. Cela signifie que $\nabla B_b$ doit être suffisamment grand. De plus, si le porteur de l'INS est statique (attitude constante et vitesse nulle), des problèmes d'observabilité se produisent [15].

### 3.2.2 Modèle dynamique basé sur les mesures magnéto-inertielles

Les équations en temps continu représentant la variation du quaternion, de la vitesse et de la position, ainsi que le champ magnétique et son gradient [18], sont résumées dans le modèle d'espace d'état (4) ci-dessous. Ces équations ont été dérivées en tenant compte de la relation entre les mesures magnéto-inertielles et les lois cinématiques standards. Les capteurs magnéto-inertiels, assemblés en IMU, seront attachés au piéton, plus précisément à sa cheville.

$$ (4) \quad \begin{cases} \frac{dq}{dt} = \frac{1}{2}[\omega_{bq}^{\times}]q, \\ \frac{dv_b}{dt} = -\omega_b \times v_b + a_b - R_{rot}g_v, \\ \frac{dB_b}{dt} = -\omega_b \times B_b + \nabla B_b v_b, \\ \frac{d\nabla B_b}{dt} = T_b v_b + \nabla B_b[\omega_b^{\times}] - [\omega_b^{\times}] \nabla B_b, \\ \frac{dM_n}{dt} = R_{rot}^{\top} v_b. \end{cases} $$

Ce modèle dynamique contient les variables suivantes :

— la matrice de rotation $R_{rot} \in \mathbb{R}^{3 \times 3}$ qui appartient à $SO(3)$, le groupe de rotations dans l'espace Euclidien 3D, et représentant la rotation de $\Re_n$ vers $\Re_b$. Cette matrice peut être exprimée en termes de quaternion unitaire, noté par $q = [q_0 \ q_1 \ q_2 \ q_3]^\top \in \mathbb{R}^{4 \times 1}$,

tel que $R_{rot} = R_{rot}(q) = \begin{bmatrix} 2q_0^2 - 1 + 2q_1^2 & 2(q_1q_2 + q_0q_3) & 2(q_1q_3 - q_0q_2) \\ 2(q_1q_2 - q_0q_3) & 2q_0^2 - 1 + 2q_2^2 & 2(q_2q_3 + q_0q_1) \\ 2(q_1q_3 + q_0q_2) & 2(q_2q_3 - q_0q_1) & 2q_0^2 - 1 + 2q_3^2 \end{bmatrix}$;

— la matrice asymétrique de $\omega_b$, notée par $[\omega_b^\times] = \begin{bmatrix} 0 & -\omega_z & \omega_y \\ \omega_z & 0 & -\omega_x \\ -\omega_y & \omega_x & 0 \end{bmatrix}$;

— la vitesse angulaire exprimée sous forme de quaternion $\omega_{bq} = [0 \ \omega_b^\top]^\top$ et sa matrice asymétrique correspondante $[\omega_{bq}^\times] = \begin{bmatrix} -[\omega_b^\times] & \omega \\ -[\omega_b^\times]^\top & 0 \end{bmatrix}$;

— l'accélération $a_b = [a_{bx} \ a_{by} \ a_{bz}]^\top \in \mathbb{R}^{3 \times 1}$ dans le repère $\Re_b$, mesurée par un accéléromètre triaxial en $\text{ms}^{-2}$. Les effets de la rotation de la terre et de l'accélération de Coriolis sont négligés, et le vecteur de gravité $g_v = [0 \ 0 \ g]^\top \in \mathbb{R}^{3 \times 1}$ est considéré connu;

— la position $M_n = [M_{nx} \ M_{ny} \ M_{nz}]^\top \in \mathbb{R}^{3 \times 1}$ dans le repère $\Re_n$ in $m$;
— le tenseur $T_b \in \mathbb{R}^{3 \times 3 \times 3}$ représentant la première dérivée spatiale de $\nabla B_b$ in $Gm^{-2}$ [18].

Alternativement, ce tenseur est défini par une bijection comme une matrice dans $\mathbb{R}^{9 \times 3}$.
Ce modèle est utilisé pour concevoir l'EKF basé sur le gradient de champ magnétique [20], où
le vecteur d'état est $X = [q \ v_b \ B_b \ \nabla B_b \ M_n]^\top \in \mathbb{R}^{18 \times 1}$, et son estimation correspondante
est $\hat{X}$. Le vecteur d'entrée est $u = [\omega_b \ a_b \ T_b]^\top \in \mathbb{R}^{13 \times 1}$, et le vecteur de sortie (mesure) est
$y = [B_b \ \nabla B_b]^\top \in \mathbb{R}^{8 \times 1}$.

3.2.3 Limites du EKF traditionel basé sur le gradient de champ magnétique pour l'estimation de la vitesse

Afin de reconstruire complètement $v_b$, le champ magnétique doit être variable autour du corps en mouvement pour obtenir un gradient élevé, lors de la navigation d'un pédestre. Dans les conditions proches des gradients singuliers/faibles, l'estimation de la vitesse se verra plus impactée d'erreurs, comme indiqué dans [15]. Un environnement magnétiquement variable génère un gradient de champ magnétique dont les valeurs propres sont de l'ordre de 0,05 $Gm^{-1}$. Dans le cas où le gradient est vraiment plus faible, les performances de l'EKF peuvent diminuer en fonction de la dynamique du système. Ce phénomène est illustré par l'utilisation d'un module embarqué (voir description dans la section 3.4.1), placé dans la poche arrière d'un sujet. Ce dernier effectue une trajectoire circulaire à deux endroits différents : d'abord à l'intérieur d'un bureau où il y a suffisamment de perturbations magnétiques pour avoir un champ variable, dues aux ordinateurs portables, aux courants électriques, etc. Deuxièmement, le long de l'entrée/du couloir d'un bâtiment, où il y a moins de variations magnétiques. Dans la figure 6, les valeurs propres de $\nabla B_b$, notées $\lambda$, sont tracées pour les deux emplacements testés, car elles représentent une évaluation directe de la présence de variations sur le champ magnétique [15]. Comme prévu, le gradient de champ magnétique dans le couloir est nettement inférieur à celui à l'intérieur du bureau.

<figure><img src="image_8.png" /><figcaption>Figure 6 – Valeurs propres du gradient de champ magnétique pour deux emplacements : dans un couloir (ligne rouge continue) et dans un bureau (ligne bleue discontinue) [14].</figcaption></figure>

La figure 7 montre la trajectoire reconstruite à l'aide de l'EKF basé sur le gradient de champ magnétique dans les deux scénarios. Sachant que la trajectoire effectuée est un cercle, il est facile de conclure que les performances de l'EKF se dégradent sous de faibles variations du champ magnétique ($\lambda \ll 0.05 \ Gm^{-1}$). Ainsi, le but est de proposer une approche pour
à améliorer l'estimation de la vitesse, en particulier sous de faibles variations magnétiques.

<figure><img src="image_9.png" /><figcaption>**Figure 7** – Effet du gradient de champ magnétique sur la performance d'estimation par l'EKF [14].</figcaption></figure>

### 3.2.4 Limites de la méthode de ZUPT pour la correction de vitesse estimée par l'EKF

Le ZUPT est la méthode la plus couramment utilisée dans les applications de navigation pédestre, avec une INS attachée au pied, pour corriger en continu l'estimation de vitesse en réinitialisant sa valeur à zéro à chaque fois qu'une phase d'appui (toute la période pendant laquelle le pied est au sol) est détectée. Ceci est fait étant données les mesures $a_b$ et $\omega_b$ et à travers un test d'hypothèse binaire [24] qui détermine si le module magnéto-inertiel est stationnaire ou non. Le problème avec le ZUPT est que si ce module est posé sur n'importe quelle autre partie du corps autre que les pieds, il peut soit souffrir de fausses détections, soit ne pas détecter les phases d'appui où la vitesse est nulle. Son comportement est fortement dépendant de la taille de fenêtre choisie par l'utilisateur, du seuil de détection, de la nature du détecteur, etc. Pour illustrer ces problèmes, une expérience est menée où un EKF-ZUPT [20] est appliqué. Deux bases de données sont utilisées, chacune correspondant à une trajectoire de forme triangulaire. Une base où le module magnéto-inertiel est placé sur la taille, et une autre avec le TMI placé sur la cheville. Le détecteur optimal d'hypothèse de position (SHOE) [24] est choisi, la fenêtre est fixée à 3 et le seuil de détection est de $0.03 * 10^5$. Ces valeurs ont été fixées en s'inspirant de l'approche proposée dans [25]. Dans la figure 8, les instances où le détecteur ZUPT indique une vitesse nulle sont tracées pour les deux emplacements considérés du module magnéto-inertiel.

Par exemple, sur la figure 8a, lorsque le module magnéto-inertiel est placé sur la taille, le ZUPT réussit à détecter avec précision les vitesses nulles au début et à la fin de la trajectoire (encerclées avec du vert). Cependant, il détecte également d'autres moments de vitesse nulle pendant la trajectoire bien que la norme de vitesse ne soit pas nécessairement égale à zéro. De l'autre côté, sur la figure 8b, on s'attend à ce que beaucoup plus de moments à vitesse nulle soient détectés car le placement du module magnéto-inertiel est presque similaire à celui sur le pied. Cependant, le ZUPT ne détecte que les phases statiques au début et à la fin du scénario de marche (encerclées en vert). Ces fausses détections et/ou instances non détectées affectent la précision de l'EKF-ZUPT, qui est détaillée dans la section 3.4. Ces résultats peuvent varier dans une certaine mesure avec un réglage différent de la fenêtre du ZUPT et des paramètres de seuil de détection, mais les mêmes conclusions sont obtenues. En conclusion, le ZUPT ne peut pas corriger les erreurs de vitesse générées par l'EKF proposé dans [20] pour de faibles variations magnétiques et lorsque le module magnéto-inertiel est
placé ailleurs que sur le pied. Pour cela une nouvelle alternative a été proposée dans [20], avec un nouvel algorithme d'estimation proposé lorsque le ZUPT n'est pas efficace. Il s'applique à n'importe quel placement du module magnéto-inertiel et ce sans réglage préalable.

<figure><img src="image_10.png" /><figcaption>**Figure 8** – Norme de la vitesse pour les deux emplacements (en bleu, taille en haut, et cheville en bas) et les cas où le détecteur du ZUPT indique une vitesse nulle (en rouge) [14].</figcaption></figure>

## 3.3 Approche basée sur un EKF couplé à un réseau neuronal profond (EKF-BiLSTM)

L'approche proposée combine l'EKF introduit dans [20] avec une solution basée sur l'IA, pour améliorer les performances d'estimation, en particulier dans le cas d'un faible gradient de champ magnétique. De plus, la solution ne dépend pas d'un emplacement de capteur particulier, comme c'est le cas pour la méthode du ZUPT. Il s'applique sur n'importe quel scénario de trajectoire et est sans réglage. Habituellement, les solutions basées sur l'IA sont lourdes en termes de calcul, car elles reposent sur de grandes bases de données et une longue procédure d'apprentissage pour fournir des résultats de prédiction précis. Par exemple, dans [26], la méthode proposée combinant un réseau neuronal convolutif (convolutional neural network (CNN)) et un BiLSTM, nécessite 9hrs d'apprentissage pour chaque jeu de paramètres, pour 800min d'enregistrements de données. L'approche proposée dans [19], au contraire, ne dépend d'aucun apprentissage lourd, car elle repose principalement sur l'EKF basé sur le gradient de champ magnétique. Le BiLSTM utilisé dans cette approche est entraîné avec un ensemble de données très limité (seulement 14min d'enregistrement de données) et de meilleurs résultats d'estimation sont obtenus.

### 3.3.1 Présentation générale de l'approche

Le schéma bloc de cette approche est représentée dans la figure 9. Il ressort de la littérature que la méthode du BiLSTM est adaptée aux données de séries temporelles, et qu'elle reste performante même avec un apprentissage utilisant peu de données à disposition.

Les trois blocs principaux qui forment l'approche proposée sont détaillés comme suit :

1. une fois entraînée avec la vitesse de référence, la méthode du BiLSTM génère une estimation de vitesse $v_{BILSTM} = [v_{x,BILSTM} \ v_{y,BILSTM} \ v_{z,BILSTM}]^\top \in \mathbb{R}^{3 \times 1}$ (bloc
<figure><img src="image_11.png" /><figcaption>Figure 9 – Approche d'estimation proposée EKF-BiLSTM.</figcaption></figure>

vert). Le $v_{BiLSTM}$ généré représente une pseudo-mesure qui est ajoutée au vecteur de sortie de l'EKF basé sur le gradient de champ magnétique (bloc bleu), tel que $y = [B_b \ \nabla B_b \ v_{BiLSTM}]^\top \in \mathbb{R}^{11 \times 1}$.

2. une adaptation de la matrice de covariance de mesure (bloc marron) pour contrôler le niveau de confiance donné par l'EKF à cette pseudo-mesure. Cela se fait en ajustant dynamiquement les éléments de bruit correspondant à $v_{BiLSTM}$ dans la matrice de covariance de mesures $N = \text{diag}(N_1, N_2, N_3) \in \mathbb{R}^{11 \times 11}$, où $N_{1<i \le 3}$ sont les matrices de covariance de mesures correspondant respectivement à $B_b, \nabla B_b$ et $v_{BiLSTM}$. Le réglage concerne uniquement les éléments de la matrice $N_3 \in \mathbb{R}^{3 \times 3}$. Concernant $N_1$ et $N_2$, leurs valeurs sont fixes, en tenant compte des caractéristiques du bruit dans le module magnéto-inertiel.

3. l'EKF utilise le modèle dynamique en temps continu dans (4), les mesures magnéto-inertielles, $v_{BiLSTM}$ et les matrices $N_3$ déterminées, pour estimer $\hat{X}$.

### 3.3.2 Structure du filtre basé sur le gradient de champ magnétique

Le modèle d'espace d'état formulé dans (4) peut être écrit sous la forme du système non linéaire suivant :

$$ (5) \qquad \left\{ \begin{array}{l} \dot{X}(t) = f(X(t), u(t), \eta(t)) \\ y(t) = h(X(t), \nu(t)) \end{array} \right. $$

avec $X(t) = [q(t) \ v_b(t) \ B_b(t) \ \nabla B_b(t) \ M_n(t)]^\top \in \mathbb{R}^{18 \times 1}$ est le vecteur d'état au temps $t$, $y(t) = [B_b(t) \ \nabla B_b(t) \ v_{BiLSTM}(t)]^\top \in \mathbb{R}^{11 \times 1}$ est le vecteur de sortie connu (vecteur de mesure), $u(t)$ est le vecteur d'entrée, $f(.)$ est une fonction non linéaire qui représente le modèle d'espace d'états, $h(.)$ est une fonction non linéaire qui représente le modèle de mesure, et $\eta(t)$ et $\nu(t)$ sont les bruits de processus et de mesure, respectivement, supposés être de moyenne nulle, blancs, Gaussiens et non corrélés.

L'implémentation de l'EKF nécessite la linéarisation du modèle dans (5) autour de l'estimation actuelle $\hat{X}(t)$, en calculant les matrices Jacobiennes de $f(.)$ et $h(.)$, à chaque pas de temps, comme suit :
$$ (6) \qquad F(\hat{X}(t), u(t)) = \frac{\partial f}{\partial \hat{X}}|_{\hat{X}(t),u(t)}, \quad H(\hat{X}(t), u(t)) = \frac{\partial h}{\partial \hat{X}}|_{\hat{X}(t)} $$

Cela conduit à la forme suivante de la matrice d'état $F(\hat{X}(t), u(t)) \in \mathbb{R}^{18 \times 18}$ :

$$ (7) \qquad F(\hat{X}(t), u(t)) = \begin{pmatrix} \frac{1}{2}[\omega_{bq}^\times] & 0_{4 \times 3} & 0_{4 \times 3} & 0_{4 \times 5} & 0_{4 \times 3} \\ A_1 & -[\omega_b^\times] & 0_{3 \times 3} & 0_{3 \times 5} & 0_{3 \times 3} \\ 0_{3 \times 4} & \nabla B_b & -[\omega_b^\times] & A_2 & 0_{3 \times 3} \\ 0_{5 \times 4} & A_3 & 0_{5 \times 3} & A_4 & 0_{5 \times 3} \\ A_5 & A_6 & 0_{3 \times 3} & 0_{3 \times 5} & 0_{3 \times 3} \end{pmatrix} $$

avec $A_1 = \frac{\partial(-Rg)}{\partial q} \in \mathbb{R}^{3 \times 4}$, $A_2 = \frac{\partial(\nabla B_b v_b)}{\partial \nabla B_b} \in \mathbb{R}^{3 \times 5}$, $A_3 = \frac{\partial(T_b v_b)}{\partial v_b} \in \mathbb{R}^{5 \times 3}$, $A_4 = \frac{\partial(\nabla B_b[\omega_b^\times] - [\omega_b^\times] \nabla B_b)}{\partial \nabla B_b} \in \mathbb{R}^{5 \times 5}$, $A_5 = \frac{\partial(R^\top v_b)}{\partial q} \in \mathbb{R}^{3 \times 4}$ et $A_6 = \frac{\partial(R^\top v_b)}{\partial v_b} \in \mathbb{R}^{3 \times 3}$ sont des matrices de taille appropriée dépendant aussi de $(\hat{X}(t), u(t))$.

Les matrices nulles et leurs dimensions sont représentées par $0_{i \times j}$, où $i$ correspond au nombre de lignes et $j$ au nombre de colonnes.

Le vecteur de sortie est $y = [B_b \quad \nabla B_b \quad v_{BiLSTM}]$. Cela signifie que la matrice de mesure $H \in \mathbb{R}^{11 \times 18}$ peut alors être exprimée comme suit :

$$ (8) \qquad H = \begin{pmatrix} 0_{11 \times 4} & I_{11} & 0_{11 \times 3} \end{pmatrix} $$

avec $I_{11}$ est la matrice d'identité dans $\mathbb{R}^{11 \times 11}$.

Le modèle d'espace d'état représenté ci-dessus est la version en temps continu du système proposé. Lors de l'implémentation, une étape de discrétisation est entreprise en utilisant la méthode de Runge-Kutta d'ordre 4 (RK4). Cela implique que $f(.)$ dans (6) est remplacée par $f_d(.) = RK4(f)$. Le modèle de sortie, cependant, n'est pas discrétisé, car le module magnéto-inertiel fourni déjà des mesures en temps discret via un processeur numérique. Ainsi, la sortie $y(t)$ est en fait équivalente à $y(k) = h(X(k), \nu(k))$ et la matrice de sortie $H$ reste la même. Les équations d'un EKF standard sont détaillées dans la section 2.

### 3.3.3 Adaptation de la matrice de covariance de mesure de vitesse

Dans [19], il a été démontré que le $v_{LSTM}$ prédit à partir du réseau LSTM entraîné est précis aux moments où la vitesse est proche de zéro. Le réseau ne nécessite pas non plus de calculs lourds. Cela signifie que la prédiction du réseau LSTM peut être utilisée pour corriger l'estimation de vitesse de l'EKF pendant ces moments (les mêmes conclusions sont faites pour un modèle basé sur un réseau BiLSTM). Comme mentionné dans la section 3.2.3, les moments où le gradient de champ magnétique est faible et/ou proches de la vitesse nulle affectent l'observabilité des états dans l'EKF [20], puis une dérive de la vitesse estimée est observée. Il est proposé
d'ajouter $v_{BiLSTM}$ à l'EKF en tant que pseudo-mesure et de contrôler les moments où elle est prise en compte pour améliorer significativement la précision de l'estimation. Ceci est assuré à travers une procédure d'adaptation de la matrice de covariance de mesure (voir la figure 9), qui contrôle dynamiquement la matrice de covariance $N_3$ correspondant à la mesure $v_{BiLSTM}$. Une telle adaptation est basée sur l'algorithme 2 et fonctionne en deux étapes. Premièrement, cet algorithme attribue un nombre grand à $N_3$, en utilisant un grand facteur de multiplication $\alpha \in \mathbb{R}_{>0}$. Ceci afin de donner plus de confiance à l'estimation de l'EKF qu'à celle du réseau BiLSTM. Deuxièmement, l'algorithme vérifie si la vitesse $v_{BiLSTM}$ est inférieure à un seuil adéquat $\epsilon \in \mathbb{R}_{>0}$. Dans ce cas, l'adaptateur attribue la matrice identité à $N_3$ afin de donner plus de confiance à la prédiction du réseau BiLSTM.

**Algorithmme 2** Adaptation de la matrice de covariance de mesure dans l'EKF

EKF initialisation;

pour $i = 1: \text{longueur (données)}$ faire

$N_{3,i} = \alpha \mathbb{I}_3$;

EKF prédiction;

si $v_{BiLSTM,i} \le \epsilon$ alors

$N_{3,i} = \mathbb{I}_3$;

fin si

EKF mise à jour;

fin pour

## 3.4 Expérimentations et résultats obtenus

Pour évaluer les performances de l'approche proposée, un banc d'essai expérimental est mis en place. Des mesures issues d'un module tachymètre magnéto-inertiel (TMI) sont utilisées. Les données de vérité terrain sont acquises à partir d'un système de capture de mouvement Qualisys et différentes comparaisons sont effectuées.

### 3.4.1 Module TMI

Le module utilisé est un tachymètre TMI fourni par l'entreprise Sysnav (https://www.sysnav.fr/). Il se compose d'un module contenant les différents capteurs (un accéléromètre triaxial, un gyromètre triaxial et un arrangement planaire de cinq magnétomètres triaxiaux : un au centre du TMI et quatre autour de celui-ci), et d'un module de fusion contenant la batterie et une carte mémoire pour sauvegarder les mesures magnéto-inertielles.

### 3.4.2 Système de référence et acquisition de données

Toutes les expérimentations ont été menées au GIPSA-Lab, un laboratoire de recherche à l'Université Grenoble Alpes. Une de ses salles est équipée d'un système de capture de mouvement de la marque Qualisys. La salle dispose de 9 caméras permettant d'obtenir une grande précision de la position de référence (1mm) ainsi que de l'attitude (angles d'Euler et matrice de rotation). Tous les traitements, de l'étalonnage des caméras à l'extraction des données, sont gérés à l'aide du logiciel Qualysis Track Manager. Le TMI est attaché à une triade de marqueurs, comme illustré dans la figure 10, de sorte que son mouvement puisse être capturé par les caméras pendant les enregistrements.

L'évaluation est effectuée avec trois placements de capteurs sur un sujet volontaire : cheville droite, poche avant droite et taille. Cinq trajectoires, réalisées par ce sujet, sont examinées : carré, cercle, rectangle diagonal, triangle et cœur. Les trajectoires sont réalisées en marche
normale et elles durent en moyenne 3.5min chacune. Les trajectoires sont conduites au mi-lieu de la salle dans environ 9m² de surface. Après avoir enregistré les différentes trajectoires, les données de vérité terrain et TMI sont extraites et une procédure de synchronisation est effectuée.

<figure><img src="image_12.png" /><figcaption>Figure 10 – Module TMI équipé d'un repère de marqueurs [14].</figcaption></figure>

### 3.4.3 Détails de la mise en œuvre de l'EKF-BiLSTM

L'implémentation de l'approche EKF-BiLSTM s'est faite sous Matlab. L'apprentissage et la prédiction du réseau BiLSTM sont effectués à l'aide d'une boîte à outils d'apprentissage en profondeur (TensorFlow). Le réseau commence par une séquence de couche d'entrée contenant 9 caractéristiques, représentant les données brutes TMI d'accélération, de vitesse angulaire et de champ magnétique. Ensuite, deux couches BiLSTM, où chaque couche est suivie d'une couche d'abandon avec une probabilité de 0.25. Ensuite, une couche entièrement connectée à la vitesse $v_{BILSTM}$. Enfin, une couche de régression qui calcule l'erreur quadratique moyenne (mean squared error (MSE)) entre la vitesse de référence issue du Qualysis et celle prédite par le réseau BiLSTM. En fait, la position de vérité terrain du système Qualysis est utilisée pour calculer la vitesse correspondante. L'optimiseur utilisé pour le processus d'apprentissage est ADAM, avec un taux d'apprentissage initial de 0.0015, et le modèle est entraîné pour 500 périodes. Pour chaque placement de capteur, quatre trajectoires sont utilisées pour construire l'ensemble d'apprentissage, et la trajectoire restante est destinée aux tests. Notez qu'il reste environ 1% de l'ensemble d'apprentissage pour validation. La formation prend moins de 1hr sur un CPU (Intel Core i7 @1.9GHz). Cette procédure est répétée 5 fois afin que chaque trajectoire puisse former un jeux de test. Il est à souligner que la base de données d'apprentissage reste très petite (≈ 14min, 9 caractéristiques et ≈ 200000 échantillons) par rapport aux travaux de la littérature [26] qui utilisent de très grandes bases de données d'apprentissage.

### 3.4.4 Effet de l'adaptation de la matrice de covariance de mesure

Afin de démontrer l'effet de l'adaptation de la matrice de covariance de mesure utilisée dans [19] sur l'estimation de la vitesse, une expérimentation est menée en utilisant le TMI, placé sur la cheville droite d'un sujet volontaire. Une trajectoire rectangulaire de marche est réalisée, ensuite les mesures enregistrées sont appliquées à l'approche EKF-BiLSTM avec et sans adaptation de la matrice de covariance de mesure. La valeur du facteur de multiplication de l'adaptateur doit être vraiment élevée, donc quand cette valeur est assignée à $N_3$, la prédiction du réseau BiLSTM est complètement rejetée, ainsi la constante $\alpha$ est choisie à $10^6$. Le seuil doit être inférieur à la vitesse d'un déplacement moyen (≈ $1\text{ms}^{-1}$), pour représenter une situation quasi-statique, sans être égal à zéro, ainsi $\epsilon$ est choisie à $0.2\text{ms}^{-1}$. Dans la figure 11, les
résultats de l'estimation de vitesse correspondant à cette expérience sont représentés. Pour faciliter l'analyse, seul le premier axe $v_{bx}$ est tracé pendant environ $10\,sec$ prélevées à partir du temps total de la trajectoire.

<figure><img src="image_13.png" /><figcaption>**Figure 11** – Reconstruction de la vitesse avec l'EKF-BiLSTM. La vérité terrain (courbe rouge) et l'estimation à partir de l'EKF-BiLSTM avec l'adaptateur de covariance de mesure (courbe bleue) et sans (courbe verte) [14].</figcaption></figure>

La courbe en vert correspond au cas où la pseudo-mesure $v_{BiLSTM}$ est utilisée tout le temps par l'EKF. Cela signifie qu'aucune adaptation dynamique de $N_3$ n'est prise en compte et que ses valeurs sont plutôt fixées pour avoir la matrice identité. Dans ce cas, la prédiction inexacte de $v_{BiLSTM}$, pendant les moments où la vitesse est supérieure au seuil $\epsilon$, affecte les estimations de vitesse et de position. Au contraire, la courbe en bleu est obtenue lorsque l'algorithme 2 est appliqué. Une estimation de vitesse plus performante est alors observée après contrôle du niveau de confiance donné à $v_{BiLSTM}$ par l'EKF à l'aide de l'adaptation appliquée sur la matrice de covariance de mesure. Dans la figure 12, les résultats de reconstruction de position sont tracés et les mêmes conclusions sont tirées. Notez ici que, pour faciliter l'analyse, seuls les axes $x$ et $y$ de $M_n$ sont affichés. Ceci s'applique à toutes les figures liées à l'estimation de la position. Cependant, tous les résultats numériques (comme dans le tableau 1, par exemple) prennent en compte les 3 axes du vecteur de position $M_n$.

<figure><img src="image_14.png" /><figcaption>**Figure 12** – Reconstruction de la position avec l'EKF-BiLSTM. La vérité terrain (courbe rouge) et l'estimation à partir de l'EKF-BiLSTM avec l'adaptateur de covariance de mesure (courbe bleue) et sans (courbe verte) [14].</figcaption></figure>
Le tableau 1 représente l'erreur de distance $d_e$ entre l'estimation de position par l'EKF-BiLSTM et la vérité terrain pour les deux cas, avec et sans l'adaptateur de la matrice de covariance de mesure. Cette erreur est définie comme suit :

$$ (9) \qquad d_e = \| \hat{M}_n - M_n \| $$

Une meilleure estimation est obtenue lorsque l'adaptateur de covariance de mesure est utilisé.

<table><caption>**Tableau 1** – Erreur de distance parcourue en utilisant l'EKF-BiLSTM avec et sans adaptation de la matrice de covariance de mesure</caption><thead><tr><th>d<sub>e</sub> (m)</th><th>Moyenne</th><th>Médiane</th><th>Maximum</th><th>Ecart-type</th></tr></thead><tbody><tr><td>Sans adaptation</td><td>1.93</td><td>1.87</td><td>3.88</td><td>1.20</td></tr><tr><td>Avec adaptation</td><td>0.43</td><td>0.45</td><td>0.71</td><td>0.15</td></tr></tbody></table>

Il est à noter que l'approche proposée peut être utilisée pour reconstruire n'importe quelle trajectoire, et ne dépend pas de l'emplacement du capteur sur le porteur. Contrairement au ZUPT, cette approche ne détecte pas seulement les moments où la vitesse est nulle, mais également ceux avec une vitesse proche de 0. En fait, il est certain que la vitesse passe sous le seuil $\epsilon$ à un moment donné, quelle que soit la trajectoire et l'emplacement du TMI. Cela signifie que l'application de l'approche proposée n'est pas limitée uniquement à une pose du TMI au pied. Il ne nécessite pas non plus de paramétrage particulier dépendant du rythme de la marche ou de la morphologie du sujet porteur. Il est souligné ici que la valeur de $\epsilon$ est maintenue constante pour toutes les trajectoires et tous les emplacements du TMI, ce qui rend l'approche proposée non dépendante d'un réglage particulier.

### 3.4.5 Résultats et performances de l'EKF-BiLSTM

Dans cette section, les résultats d'estimation par l'EKF-BiLSTM sont présentés. Des comparaisons sont faites avec des mesures de vérité terrain. Les résultats d'estimation d'un EKF standard basé sur le gradient de champ magnétique (avec et sans mise à jour ZUPT) sont également montrés.

#### 3.4.5.1 Gradient de champ magnétique et emplacements des capteurs

Pour cette première expérimentation, une trajectoire de marche triangulaire est effectuée pour chaque emplacement du TMI. Ensuite, le gradient de champ magnétique est calculé à l'aide du réseau de magnétomètres. Dans la figure 13, les trois valeurs propres de $\nabla B_b$ pour les différentes positions du TMI sont tracées. La figure 13, montre que les variations de champ magnétique sont plus importantes lorsque le TMI est placé sur la cheville (courbe rouge). Cela s'explique par la structure métallique du sol de la salle de capture de mouvement au GIPSA-Lab, qui génère des perturbations magnétiques importantes. La salle contient également du matériel de bureau (ordinateur portable, table métallique, etc.) qui génère aussi ces perturbations. Or, pour que ces variations soient captées, le sujet volontaire portant le TMI (dans la poche ou à la taille) doit se rapprocher de cet équipement.

Sinon, le gradient de champ magnétique enregistré ne sera pas aussi grand que celui relatif à l'emplacement sur la cheville. Cependant, pendant toutes les expérimentations, le sujet
<figure><img src="image_15.png" /><figcaption>Figure 13 – Valeurs propres du gradient de champ magnétique pour différents emplacements du TMI : cheville, taille et poche (respectivement en rouge, noir et bleu) [14].</figcaption></figure>

volontaire se déplaçait au milieu de la pièce mais pas très près de cet équipement. Pour cette raison, les emplacements du TMI dans la poche et à la taille ne capturent pas de variations magnétiques aussi élevées. Il s'ensuit que les résultats d'estimation des différents algorithmes comparés (EKF, EKF-ZUPT et EKF-BiLSTM) sont les plus précis pour l'emplacement du TMI sur la cheville, car il présente les plus grandes variations magnétiques. Cette comparaison sera détaillée dans les sections suivantes.

### 3.4.5.2 Emplacement du TMI et impact sur un EKF standard

Les résultats d'estimation de l'EKF basé sur le gradient de champ magnétique proposé dans [20] sont présentés. Ceci afin de confirmer que pour différents emplacements du TMI, la performance de l'estimation varie. Deux emplacements sont choisis pour la comparaison : la cheville et la taille. La même trajectoire triangulaire que dans la section 3.4.5.1 est considérée.

La figure 14 montre une comparaison entre la trajectoire estimée à partir de l'EKF et celle de la vérité terrain, pour les deux emplacements du TMI. D'après cette figure, il est clair que l'EKF offre une meilleure précision lorsque le TMI est soumis à suffisamment de variations du champ magnétique. Cela était attendu car l'EKF est très sensible au gradient de champ magnétique.

Dans la section suivante, les résultats expérimentaux montrent comment l'EKF-BiLSTM améliore l'estimation lorsque les variations magnétiques sont faibles, par exemple lorsque le TMI est à la taille. Il est souligné ici que l'ajout du BiLSTM à l'EKF dans le cas d'importantes variations magnétiques (TMI sur la cheville) n'améliore pas drastiquement les résultats du cas où seul l'EKF standard est utilisé. En d'autres termes, le plus grand impact de l'algorithme BiLSTM sur l'EKF basé sur le gradient de champ magnétique se produit lorsque l'EKF est utilisé sous un faible gradient de champ magnétique.
<figure><img src="image_16.png" /><figcaption>**Figure 14** – Estimation de la position en utilisant l'EKF [20] lorsque le TMI est attaché à la taille et à la cheville. En rouge, la trajectoire de référence à partir du système de capture de mouvement, et en bleu, l'estimation à partir de l'EKF [14].</figcaption></figure>

### 3.4.5.3 Résultats d'estimation avec l'approche EKF-BiLSTM

Dans cette section, les performances de l'approche EKF-BiLSTM sont étudiées. Tout d'abord, les résultats d'estimation de la vitesse pour les deux emplacements du TMI (taille et cheville, respectivement) sont tracés sur la figure 15. Pour faciliter l'analyse, seulement environ *60sec* de chaque signal sont tracées. L'axe $v_{bx}$ est choisi pour être tracé, les deux autres axes ont le même comportement. Une comparaison entre l'utilisation de l'EKF basé sur le gradient de champ magnétique et l'EKF-BiLSTM est réalisée. Il est clair que l'EKF-BiLSTM apporte une nette amélioration en le comparant à l'EKF seul, dans les deux cas de variations (petite et élevée) du champ magnétique, à la taille et sur la cheville. La différence de précision d'estimation entre l'EKF et l'EKF-BiLSTM est claire sur la figure 15a, ce qui prouve l'efficacité de l'approche proposée, en particulier dans les situations à faible gradient de champ magnétique. Une telle amélioration de l'estimation de la vitesse par l'EKF-BiLSTM a un impact sur la reconstruction de la position pour la trajectoire triangulaire étudiée. Sur la figure 16b, on voit que pour le cas où il y a suffisamment de perturbations magnétiques, l'EKF-BiLSTM réussit à estimer avec précision la trajectoire avec une faible erreur. Cela améliore également considérablement les résultats lorsque le TMI est sur la taille (figure 16a), en réduisant l'énorme dérive précédemment observée sur la figure 14a.

### 3.4.5.4 Comparaisons et discussion

Dans les tableaux 2 et 3, les résultats de toutes les méthodes discutées sont présentés. Pour chaque emplacement du TMI, les cinq trajectoires considérées dans l'expérimentation sont testées et la moyenne de leurs résultats est présentée. Le tableau 2 montre l'erreur quadratique moyenne (Root Mean Square Error (RMSE)) et l'erreur absolue moyenne (Mean Absolute Error (MAE)) de la vitesse estimée par rapport à celle issue de la vérité terrain. Le tableau 3 contient la moyenne, la médiane, le maximum et l'écart type (Standard Deviation (STD)) de l'erreur de distance entre la position calculée par la vérité terrain et celle estimée. En examinant les tableaux 2 et 3, l'approche EKF-BiLSTM proposée donne les meilleurs résultats d'estimation de vitesse et de position par rapport aux autres méthodes (EKF et EKF-ZUPT). L'avantage de la méthode EKF-BiLSTM est principalement observé pour l'emplacement du TMI à la poche, où les estimations de vitesse et de position sont bien meilleures que celles obtenues avec les autres méthodes.
<figure><img src="image_17.png" /><figcaption>**Figure 15** – Estimation de la vitesse à partir de l'EKF-BiLSTM lorsque le TMI est à la taille et sur la cheville. En rouge, la vitesse de référence déduite du système de capture de mouvement, en vert, son estimation lors de l'utilisation de l'EKF et en bleu lors de l'utilisation de l'EKF-BiLSTM [14].</figcaption></figure>

<figure><img src="image_18.png" /><figcaption>**Figure 16** – Estimation de la position à partir de l'EKF-BiLSTM lorsque le TMI est à la taille et à la cheville. En rouge, la trajectoire de référence déduite du système de capture de mouvement, et en bleu, celle estimée par l'EKF-BiLSTM [14].</figcaption></figure>

<table><caption>**Tableau 2** – RMSE et MAE de vitesse pour chaque emplacement du TMI [14]</caption><thead><tr><th></th><th>Méthodes</th><th>RMSE (ms<sup>-1</sup>)</th><th>MAE (ms<sup>-1</sup>)</th></tr></thead><tbody><tr><td rowspan="3">Taille</td><td>EKF</td><td>0.282</td><td>0.214</td></tr><tr><td>EKF-ZUPT</td><td>0.29</td><td>0.212</td></tr><tr><td><strong>EKF-BiLSTM</strong></td><td><strong>0.114</strong></td><td><strong>0.074</strong></td></tr><tr><td rowspan="3">Poche</td><td>EKF</td><td>0.206</td><td>0.166</td></tr><tr><td>EKF-ZUPT</td><td>0.21</td><td>0.164</td></tr><tr><td><strong>EKF-BiLSTM</strong></td><td><strong>0.106</strong></td><td><strong>0.078</strong></td></tr><tr><td rowspan="3">Cheville</td><td>EKF</td><td>0.164</td><td>0.116</td></tr><tr><td>EKF-ZUPT</td><td>0.152</td><td>0.102</td></tr><tr><td><strong>EKF-BiLSTM</strong></td><td><strong>0.088</strong></td><td><strong>0.05</strong></td></tr></tbody></table>

Cela prouve à nouveau que l'approche proposée est très intéressante dans le cas où le gradient de champ magnétique est faible. Il est également important de souligner que la différence de précision entre les algorithmes testés est moins remarquable quand le TMI est sur la cheville.
<table><caption>**Tableau 3** – Moyenne, médiane, maximum et écart-type relatifs à l'erreur de distance pour chaque emplacement du TMI [14]</caption><thead><tr><th></th><th>Méthodes</th><th>Moyenne (m)</th><th>Médiane (m)</th><th>Maximum (m)</th><th>Ecart-type (m)</th></tr></thead><tbody><tr><td rowspan="3">Taille</td><td>EKF</td><td>5.982</td><td>5.874</td><td>11.95</td><td>3.668</td></tr><tr><td>EKF-ZUPT</td><td>5.79</td><td>5.624</td><td>11.61</td><td>3.528</td></tr><tr><td>EKF-BiLSTM</td><td>3.65</td><td>3.516</td><td>7.254</td><td>2.176</td></tr><tr><td rowspan="3">Poche</td><td>EKF</td><td>11.35</td><td>11.15</td><td>23.28</td><td>7.154</td></tr><tr><td>EKF-ZUPT</td><td>11.29</td><td>11.17</td><td>23.15</td><td>7.094</td></tr><tr><td>EKF-BiLSTM</td><td>3.726</td><td>3.662</td><td>7.312</td><td>2.204</td></tr><tr><td rowspan="3">Cheville</td><td>EKF</td><td>2.402</td><td>2.288</td><td>5.216</td><td>1.456</td></tr><tr><td>EKF-ZUPT</td><td>2.072</td><td>1.966</td><td>4.53</td><td>1.42</td></tr><tr><td>EKF-BiLSTM</td><td>1.356</td><td>1.356</td><td>2.286</td><td>0.542</td></tr></tbody></table>

En effet, l'EKF peut déjà bien fonctionner seul, en raison de la présence d'un fort gradient de champ magnétique, comme expliqué dans la section 3.2.3. Notez ici que les résultats obtenus avec l'EKF et l'EKF-ZUPT sont très similaires, ce qui prouve encore, comme démontré dans la section 3.2.4 que le ZUPT est inefficace en dehors d'un TMI attaché au pied. Ainsi, l'EKF-BiLSTM se démarque, car il peut être utilisé avec des emplacements différents du TMI sur le porteur et peut bien fonctionner dans n'importe quelle condition du gradient de champ magnétique.

### À retenir

- Le modèle dynamique basé sur des mesures magnéto-inertielles a été écrit dans cette section.

- Les limites du filtre de Kalman étendu motivent le couplage avec des techniques d'apprentissage comme le BiLSTM.

- Les résultats obtenus avec un tachymètre sont issues d'expérimentations en laboratoire.

- La comparaison avec les résultats expérimentaux obtenus avec un filtre de Kalman étendu et avec ceux obtenus par réinitialisation de la vitesse à chaque pas détecté plaide en faveur du filtre de Kalman couplé à un BiLSTM.

- L'impact de la position du tachymètre a été aussi étudié dans cette section.

## 4 EKF magnéto-inertiel avec adaptation des matrices de covariance de bruits par Q-Learning

Il a été évoqué au début de cet article que l'IA joue de plus en plus un rôle important dans l'amélioration des performances d'estimation d'état. Dans la section 3, l'objectif était d'étendre le vecteur d'observation à partir d'une procédure d'apprentissage par ML, et ainsi améliorer l'observabilité du système (ajout de pseudo-mesure de vitesse). Dans cette section on va se focaliser sur un autre problème de l'estimation dans les EKFs. A l'aide de l'IA, on règlera de façon plus fine les matrices de covariance de bruits dans l'EKF.
Une solution de référence pour construire des observateurs d'état est généralement basée sur le filtre de Kalman et ses différentes extensions pour sa polyvalence et sa mise en œuvre pratique. Cependant, les performances de ces observateurs ont longtemps souffert de l'inexactitude des modèles de processus et surtout des matrices de covariance du bruit de mesure, ce qui implique une procédure fastidieuse de réglage des valeurs de ces matrices. Pour surmonter ce problème, l'approche proposée dans la suite est basée sur la méthode du Q-Learning pour adapter de manière autonome et intelligente les valeurs des matrices de covariance des bruits de processus et de mesure. Cette méthode établit un mécanisme d'apprentissage par renforcement qui force les pairs de matrices de covariance de bruits, ayant le moins de différence entre les prédictions et les mesures de la sortie, à se trouver dans un ensemble candidat prédéterminé. La performance de l'approche proposée, basée sur un EKF couplé à la méthode du Q-Learning, est validée grâce à la méthode de Monte Carlo qui utilise des données de vol réelles sur un véhicule aérien sans pilote.

## 4.1 Apprentissage par Q-Learning pour l'adaptation des matrices de covariance de bruits

Dans cette section, on présente les principes de base de l'apprentissage par renforcement utilisant la méthode du Q-Learning et sa combinaison avec l'EKF, puis on rappelle nos travaux antérieurs [27] sur l'adaptation basée sur l'apprentissage par Q-Learning.

### 4.1.1 Préliminaires sur l'apprentissage par Q-Learning

Le Q-Learning est une méthode d'apprentissage par renforcement qui maximise la récompense à long terme dans un environnement à états multiples. Cet environnement se compose généralement de paires état-action discrètes, chacune étant associée à un scalaire appelé valeur $Q_l$. Dans l'apprentissage par renforcement, l'agent tente d'obtenir une décision d'actions séquentielles optimale en maximisant la valeur $Q_l$ de chaque paire état-action, appelée exploitation. La visite de l'espace d'état-action non exploité par l'agent est appelée exploration. En général, l'exploitation et l'exploration doivent être équilibrées par une stratégie d'action. L'algorithme ε-greedy [28] est adopté dans ce travail pour sa simplicité de mise en œuvre et son efficacité par rapport à d'autres méthodes d'exploration, comme par exemple l'exploration par marche aléatoire [29, 30] et la sélection des actions Softmax [31]. Dans l'algorithme ε-greedy, l'agent choisit une action aléatoire avec une probabilité prédéfinie de $\epsilon$ ou choisit l'action qui maximise la valeur $Q_l$ avec la probabilité de $1 - \epsilon$. Chaque fois qu'il exécute une action $a$, l'agent reçoit une réponse de l'environnement, qui se traduit par une récompense $R_l$, montrant la qualité de l'action. De manière significative, l'apprentissage Q-Learning cherche à maximiser la récompense cumulative en exécutant la meilleure action à chaque état [32]. La récompense cumulative est stockée comme $Q_l$ valeurs suivant (10) :

$$ (10) \\ Q_l(s, a) = (1 - \alpha)Q_l(s, a) + \alpha[R_l + \gamma \max_{a \in A(s)} Q_l(s', a)] $$

où $Q_l(s, a) \in \mathbb{R}$ est la valeur $Q_l$ de l'action $a$ à partir de l'état $s$, $R_l \in \mathbb{R}$ est la récompense obtenue en exécutant $a$ à partir de l'état $s$, $\alpha \in ]0, 1[$ est le taux d'apprentissage, $\gamma$ est le facteur d'actualisation, et $A(s)$ est l'ensemble des actions possibles lorsque l'agent se trouve dans l'état $s$.
4.1.2 Adaptation des matrices de covariance par Q-Learning statique pour l'EKF

Dans cette section, nous partons du filtre de Kalman étendu présenté à la section 2 et nous proposons une méthode d'apprentissage pour l'optimisation du choix des matrices de covariance. Pour cela nous proposons d'utiliser ici le filtrage de Kalman avec apprentissage par renforcement Q-Learning statique pour les matrices de covariance de bruits (QLEKF) [27]. Ce travail sera amélioré dans la section 4.2 via une technique d'apprentissage dynamique (plus précisément le Q-Learning dynamique [33]).

Dans la méthode d'apprentissage Q-Learning, un agent se déplace généralement entre des états discrets dans une grille. Par exemple, on peut fixer les matrices de covariance de bruits à $M$ valeurs différentes pour $Q$ ($\{Q^{(1)}, ..., Q^{(M)}\}$) et $N$ valeurs différentes pour $R$ ($\{R^{(1)}, ..., R^{(N)}\}$), et on les place dans une grille $M$-par-$N$, dans laquelle l'élément $(i, j)$ contient les matrices de covariance ($Q^{(i)}, R^{(j)}$). Ainsi le couple $(Q^{(i)}, R^{(j)})$ est utilisé dans l'EKF quand l'agent est à l'état $(i, j)$. On introduit l'action inédite appelée "rester". L'agent reste là où il est au prochain pas de temps si l'action "rester" est choisie à l'étape actuelle. Ainsi, les actions possibles des éléments peuvent être classées en 3 catégories, comme le montre la figure 17 : les éléments du centre (orange), de la bordure (vert), et du coin (bleu). Ils peuvent se déplacer dans 4, 3 et 2 directions, respectivement. Puisque le terme d'innovation peut être calculé facilement et représente la précision de l'estimation de l'état a posteriori [32], $R_l$ est défini pour accumuler la différence de la norme du terme d'innovation entre l'EKF d'apprentissage et l'EKF traditionnel.

Puisque le but du Q-Learning, dans ce contexte, consiste à trouver la paire optimale de matrices de covariance de bruits à partir de paires prédéfinies (éléments de la grille), il est indispensable d'introduire l'action "rester" en plus des actions "bouger" ("gauche", "droite", "en haut", "en bas"). Par exemple, l'agent est censé rester où il est, si l'état actuel conserve la valeur $Q_l$ la plus élevée par rapport à tous ses états adjacents. Sinon, si l'agent se déplace constamment d'un état à l'autre de la grille, il est inutile de trouver l'état optimal, à savoir les matrices de covariance de bruits optimales.

Dans [27], on a proposé l'approche QLEKF qui exécute trois EKF parallèles à chaque pas de temps : l'EKF traditionnel, qui définit certaines valeurs initiales de $(Q, R)$ pour tous les pas de temps et sert de référence pour l'apprentissage Q-Learning ; l'EKF d'apprentissage, qui recherche des matrices de covariance de bruits appropriées dans la grille par l'algorithme d'apprentissage Q-Learning ; et l'EKF appris, qui produit le résultat de l'estimation en fonction des matrices de covariance trouvées par l'EKF d'apprentissage. Veuillez vous référer à l'algorithme 2 dans [27] pour plus de détails sur le QLEKF. Comme indiqué dans [27], le QLEKF présente l'avantage d'améliorer l'estimation de l'état de l'EKF en recherchant des matrices de covariance de bruits plus appropriées parmi un ensemble prédéfini de valeurs. Cependant, le QLEKF décrit dans l'algorithme 3 présente des insuffisances potentielles :

1. Des heuristiques sont utilisées pour définir $(Q, R)$ pour l'EKF traditionnel (de référence), qui compte beaucoup pour les performances d'estimation du QLEKF car elles déterminent le calcul de la récompense.

2. La détermination de la taille de la grille et de la valeur de chaque $(Q^{(i)}, R^{(j)})$ est choisie généralement de façon heuristique, ce qui est en effet un facteur clé pour les performances du QLEKF.

3. L'estimation d'état produite par l'EKF appris utilise la séquence exacte $(Q^{(i)}, R^{(j)})$ visitée par l'EKF d'apprentissage, dans laquelle les actions aléatoires peuvent dégrader la performance de l'estimation.

4. Dans le QLEKF, l'EKF appris utilise la trajectoire exacte des matrices de covariance de bruits que l'EKF d'apprentissage recherche tout au long du processus d'apprentissage. Une partie importante peut être constituée de valeurs sous-optimales ou non appro-
priées. Ces valeurs non désirées des matrices de covariance de bruits sont utilisées pour générer l'estimation de la sortie, ce qui réduit inévitablement les performances de l'EKF appris.

**Algorithmme 3** Filtre EKF couplé à un apprentissage Q-Learning (Q-Learning Extended Kalman Filter (QLEKF))

1: Initialiser $\hat{x}_{0|0}^t, \hat{x}_{0|0}^l, P_{0|0}^t, P_{0|0}^l, Q$, liste des actions possibles $A$, $s$ et $\epsilon$

2: $k \leftarrow 0, Q_l(s, a) \leftarrow 0, R_l \leftarrow 0$

3: **pour chaque itération faire**

4: Générer $n$ à partir d'une distribution uniforme $n \sim U(0, 1)$

5: **si $n < \epsilon$ alors**

6: choisir l'action $a$ au hasard parmi $A(s)$

7: **sinon**

8: $a = \arg\max_a Q_l(s, a)$

9: **fin si**

10: Sélectionnez une action $a$ à partir de l'algorithme $\epsilon$-greedy

11: Executer l'action $a$ et obtenir l'état $s'$

12: **pour chaque pas de temps dans une itération faire**

13: $[\hat{x}_{k+1}^t, P_{k+1}^t, \tilde{y}_{k+1}^t] = EKF(\hat{x}_k^t, P_k^t, y_k^t, Q, R)$

14: $[\hat{x}_{k+1}^l, P_{k+1}^l, \tilde{y}_{k+1}^l] = EKF(\hat{x}_k^l, P_k^l, y_k^l, Q_k^{(i)}, R_k^{(j)})$

15: $R_l \leftarrow R_l + \{[(\tilde{y}_{k+1}^t)^\top \tilde{y}_{k+1}^t]^{0.5} - [(\tilde{y}_{k+1}^l)^\top \tilde{y}_{k+1}^l]^{0.5}\}$

16: $[\hat{x}_{k+1}, P_{k+1}, \tilde{y}_{k+1}] = EKF(\hat{x}_k, P_k, y_k, Q_k^{(i)}, R_k^{(j)})$

17: $k \leftarrow k + 1$

18: **fin de pour**

19: $Q_l(s, a) = Q_l(s, a) + \alpha[R_l + \gamma \max_a Q_l(s', a) - Q_l(s, a)]$

20: $s \leftarrow s', R_l \leftarrow 0$

21: $\hat{x}_{k+1}^l \leftarrow \hat{x}_{k+1}^t, P_{k+1}^l \leftarrow P_{k+1}^t$

22: **fin de pour**

23: **renvoyer** $\{\hat{x}_{k+1}\}$ et $\{P_{k+1}\}$

Notez que l'introduction de l'action "rester" permet à l'agent de rester dans un certain état de manière persistante tant que la récompense de "rester" est supérieure à celle des autres actions, ce qui signifie qu'il n'y a pas de limite au nombre d'étapes futures. Outre les insuffisances de l'algorithme 3 présentées précédemment, notons que cet algorithme n'a pas de garanties de convergence, à notre connaissance. Cela reste une heuristique utilisable en pratique, comme nous le verrons ci-dessous dans la section 4.3.

## 4.2 Adaptation des matrices de covariance par Q-Learning dynamique pour l'EKF (DG-QLEKF)

Pour surmonter les inconvénients potentiels du QLEKF énumérés dans la section 4.1, on propose une manière déterministe de concevoir une grille dynamique et une mise à jour de l'algorithme $\epsilon$-greedy.

### 4.2.1 Grille dynamique et algorithme $\epsilon$-greedy amélioré

On propose une variante avancée de l'algorithme $\epsilon$-greedy et la façon de construire la grille dynamique (Algorithme 4). Premièrement, les étapes 4-5 permettent une exploration non biaisée à l'état $s$ lorsque ses actions possibles possèdent la même valeur $Q_l$. Sinon, si l'exploitation (étape 7) est appliquée, l'agent choisirait la première action située en $A(s)$ par défaut, ce qui
<figure><img src="image_19.png" /><figcaption>**Figure 17** – La grille M-par-N d'états (paires de matrices de covariance des bruits de processus et de mesure) et les actions correspondantes, représentées par des flèches [33].</figcaption></figure>

provoque une exploration biaisée. Si cela se produit continuellement, les directions correspondant aux actions situées dans les positions arrière de $A(s)$ seront visitées moins fréquemment que les autres, ce qui entraînera une exploration biaisée de tous les états. Deuxièmement, les étapes 8-9 assurent que seuls les états avec une récompense positive peuvent être choisis pour rester, ce qui garantit la dominance des matrices de covariance de bruits visitées dans le Q-Learning sur leurs valeurs de référence. Par exemple, comme la table de valeurs $Q_l$ est initialisée avec des zéros, supposons que la première fois l'action "rester" est choisie pour $s$ avec une récompense négative, alors $Q_l(s, "rester")$ est enregistré avec une valeur négative. Si "rester" est choisie pour $s$ une deuxième fois, les étapes 8-9 interdirait cette action "rester" en raison de la valeur $Q_l$ négative déjà enregistrée. Notez qu'on a mis "rester" dans la dernière position de tous les $A(s)$, de sorte que si la valeur $Q_l$ des autres actions est égale à $Q_l(s, "rester")$ et se trouve être le maximum, d'autres actions seraient choisies au lieu de "rester", ce qui incite à visiter plus d'états et à trouver une meilleure valeur de $Q_l$. Sinon, un état pire que la valeur initiale ou de référence des matrices de covariance de bruits serait retourné si l'agent reste dans un état avec une récompense négative, ce qui est le résultat non désiré de l'adaptation de l'apprentissage de la qualité.

Dans [33], on propose une stratégie de grille dynamique pour résoudre la difficulté de déterminer la taille de la grille et les valeurs d'état du QLEKF. Soit $(Q_0, R_0)$ désignent les matrices de covariance de bruits initiales utilisées pour l'EKF traditionnel. On considère que l'adaptation des matrices de covariance de bruits $(Q, R)$ s'effectue dans un ensemble comme $C = \{(Q, R) | Q = q_0Q_0, R = r_0R_0, 0 < \underline{q} \le q_0 \le \bar{q}, 0 < \underline{r} \le r_0 \le \bar{r}\}$, où $q_0$ et $r_0$ sont le rapport de multiplication associé à $Q_0$ et $R_0$, respectivement. La grille dynamique présentée dans la figure 18 est créé de la manière suivante : i) déterminer $(Q_c, R_c) \in C$ pour l'élément
central (les détails seront présentés dans la section 4.2.2). ii) calculer $\underline{Q} = \max\{\underline{q}, \frac{1}{q}\}Q_c$, $\bar{Q} = \min\{\bar{q}, q\}Q_c$, $\underline{R} = \max\{\underline{r}, \frac{1}{r}\}R_c$, $\bar{R} = \min\{\bar{r}, r\}R_c$ où $q > 1$ et $r > 1$ sont les facteurs de multiplication associés à $Q_c$ et $R_c$, respectivement.

**Algorithmme 4** Algorithme $\epsilon$-greedy amélioré

1: $a = \epsilon$-greedy amélioré($\epsilon$, $s$, $A(s)$, $Q_l(s, a)$)

2: **Entrée** : $s$, $A(s)$ and $Q_l(s, a)$

3: Générer $n$ à partir d'une distribution uniforme $n \sim U(0, 1)$

4: **si** $n < \epsilon$ **or** $\forall a_1, a_2 \in A(s), Q_l(s, a_1) = Q_l(s, a_2)$ **alors**

5: sélectionnez $a$ au hasard parmi $A(s)$

6: **sinon**

7: $a = \arg\max_{a \in A(s)} Q_l(s, a)$

8: **si** $a=\text{"rester"}$ and $Q_l(s, \text{"rester"}) < 0$ **alors**

9: choisir l'action $a$ au hasard parmi $A(s) \setminus \text{"rester"}$

10: **fin si**

11: **fin si**

<figure><img src="image_20.png" /><figcaption>**Figure 18** – La grille dynamique de 3 par 3 d'états (paires de matrices de covariance des bruits de processus et de mesure) et les actions possibles correspondantes, représentées par des flèches. L'agent peut "rester" à son état actuel ou se déplacer vers son état adjacent en exécutant une action [33].</figcaption></figure>

On exploite une grille dynamique 3 par 3 pour les raisons suivantes. Premièrement, 3 par 3 est la plus petite grille qui contient les combinaisons de matrices de covariance de bruits des valeurs de référence $Q_c$, $R_c$ et leurs équivalents plus grands et plus petits : $\underline{R}$, $\bar{R}$, $\underline{Q}$ et $\bar{Q}$. Deuxièmement, elle est suffisante pour que l'apprentissage $Q_l$ explore et exploite toutes les directions à partir de l'élément central. Troisièmement, ses 9 éléments peuvent être visités avec une période d'apprentissage plus courte, par rapport aux grilles de plus grande taille en [27, 32]. Quatrièmement, en actualisant dynamiquement le rapport $r$, $q$ et l'élément central ($Q_c$, $R_c$)
(les détails seront illustrés dans la section 4.2.2), cette taille de grille permet à l'algorithme Q-Learning d'effectuer des recherches dans un périmètre arbitrairement large (en manipulant $q, r, \bar{r}$ and $\bar{q}$) avec une précision arbitrairement élevée (en définissant $r$ et $q$ proches de 1). Enfin, après avoir examiné les 9 éléments dans une courte période d'apprentissage, il peut rapidement remplacer les valeurs insatisfaisantes des matrices de covariance de bruits par de nouvelles valeurs prometteuses (en mettant à jour $r$ et $q$), ce qui permet d'examiner beaucoup plus de valeurs différentes.

### 4.2.2 Algorithme Q-Learning avec grille dynamique et convergence

Dans [33], on illustre en détail l'idée de l'algorithme de Q-Learning basé sur une grille dynamique. Pour commencer, on définit la convergence globale de l'état dans le contexte du Q-Learning associé à l'algorithme $\epsilon$-greedy amélioré.

**Définition 1** Considérons un processus d'apprentissage Q-Learning qui suit l'algorithme $\epsilon$-greedy amélioré, lorsque le nombre d'actions s'approche de l'infini, de sorte que chaque $Q_l(s, a)$ est visité un nombre infini de fois, et que sa valeur converge vers une constante, notée $\bar{Q}_l(s, a)$ [28]. On dit que la trajectoire de l'état converge globalement vers $s_c$ si $\max_{s \in S, a \in A(s)} \bar{Q}_l(s, a) = \bar{Q}_l(s_c, \text{"rester"})$.

Puisque la définition 1 nécessite un nombre infini d'actions pour valider l'état de convergence globale, sa mise en œuvre est prohibitive en pratique. Au lieu de cela, on définit ci-dessous la convergence locale de l'état.

**Définition 2** Considérons un processus d'apprentissage Q-Learning qui suit l'algorithme $\epsilon$-greedy amélioré. On dit que la trajectoire de l'état converge localement vers $s_c$, si

$$ (11) \qquad \max_{a \in A(s_c)} Q_l(s_c, a) = Q_l(s_c, \text{"rester"}) \geq 0, $$

et l'action générée par la maximisation de $Q_l$ atteindrait $s_c$ pour tous ses états voisins$^a$.

On peut maintenant énoncer la proposition suivante :

**Proposition 1** Soit $\epsilon = 0.1$ pour l'algorithme $\epsilon$-greedy amélioré, et la table des valeurs de $Q_l$ initialisée à zéro, avec la loi de mise à jour donnée par (10). Supposons qu'une trajectoire comprenant 10 états consécutifs commence à $s_c$, si $s_c$ est un état localement convergent, alors la probabilité de $s_c$ d'apparaître au moins 8 fois est au moins 0.947 ; et si $s_c$ est un état non localement convergent, la probabilité pour que $s_c$ apparaisse au moins 8 fois est au plus 0.016.

**Démonstration** D'abord, d'après la définition 2, si la trajectoire converge localement vers $s_c$, alors (11) est vraie. Ainsi, un état autre que $s_c$ ne peut être obtenu que par une action aléatoire. Dans le pire des cas, en supposant que toutes les actions générées aléatoirement ne sont pas "rester", alors seuls les nombres générés par $U(0, 1)$ doivent être prises en compte, et la probabilité pour que $s_c$ apparaisse au moins 8 fois est $0.9^9 + \binom{9}{1} \times 0.1 \times 0.9^8 + \binom{9}{2} \times 0.1^2 \times 0.9^7 =$

<footnote>a. On dit d'un état qu'il est voisin de $s_c$ s'il peut être atteint par l'un des éléments suivant $s_c$ par l'action "avancer".</footnote>
0.947.

Deuxièmement, si $s_c$ est un état non localement convergent, il ne peut être atteint que par des actions aléatoires, le nombre d'actions les moins possibles est de 3 pour l'état de coin, ce qui conduit à la plus forte probabilité pour $s_c$ d'apparaître au moins 8 fois est $(\frac{9}{2}) \times (\frac{1}{3})^7 = 0.016$.

**Remarque 1** Nous avons fait le choix de présenter la proposition précédente avec $\epsilon = 0.1$ parce que c'est la valeur que nous utiliserons pour l'application dans la section 4.3. D'autres valeurs pourraient être envisagées, mais c'est celle-ci qui nous semble présenter le meilleur compromis entre exploration et apprentissage dans l'algorithme 4. En effet, en fixant $\epsilon = 0.1$, la probabilité d'avoir au moins 1 action aléatoire en 10 actions consécutives est $1 - 0.9^{10} = 0.65$, la proposition 1 garantit l'existence de l'exploration dans la validation de l'état localement convergent. En outre, il adopte non seulement la valeur communément utilisée de $\epsilon$ dans le modèle du $\epsilon$-greedy amélioré mais ne nécessite que 10 états consécutifs pour valider l'état localement convergent.

**Remarque 2** La validation de proposition 1 peut conduire au cas où $Q_l(s_c, "rester") > 0$ et pas tous les états voisins de $s_c$ ont été visités, alors la définition 2 n'est pas complètement satisfaite. On reconnait toujours $s_c$ comme un état localement convergent pour les raisons suivantes. Premièrement, il peut être nécessaire d'effectuer un grand nombre d'actions dans le cadre de l'apprentissage Q-Learning avec l'algorithme $\epsilon$-greedy amélioré pour visiter tous les états. Deuxièmement, il est souvent onéreux pour tous les $Q_l(s, "rester")$ à exécuter et évaluer, par exemple, si la valeur $Q_l$ d'un état $s$ avec une action en mouvement est positif, il ne ferait qu'exécuter "rester" en choisissant aléatoirement une action parmi $A(s)$, rendant la probabilité égale ou inférieure à $0.1 \times 1/3 = 0.033$. Troisièmement, comme seuls les états meilleurs sont autorisés à "rester" par les étapes 8-9 dans l'algorithme 4, la validation de la proposition 1 signifie que $s_c$ est soit l'état de référence, soit meilleur que l'état de référence.○

La remarque 2 entraine l'idée de combiner grille dynamique avec la proposition 1. C'est ce qui sera exploité dans la section 4.2.3.

### 4.2.3 Algorithme EKF avec Q-Learning basée sur une grille dynamique

L'algorithme DG-QLEKF (Dynamic Grid Q-Learning Extended Kalman Filter) est décrit dans l'algorithme 5, dans lequel l'étape 18 intègre l'algorithme 6 pour mettre à jour la grille dynamique 3 par 3. On souligne la différence par rapport à l'algorithme QLEKF dans la construction du DG-QLEKF. Pour commencer, on introduit une métrique absolue $T$ dans l'étape 11 comme la norme du terme d'innovation de l'EKF d'apprentissage, qui élimine l'impact du terme d'innovation de l'EKF de référence et reflète l'ordre de grandeur absolue de l'innovation de chaque élément distinct $(Q, R)$. Lors de l'étape 17 dans l'algorithme 5, la valeur $T_{mean}$, qui est la valeur moyenne de $T$ pour l'état $s_c$ comme présenté dans l'étape 2 de l'algorithme 6, parce qu'il atténue davantage l'impact de l'estimation de l'état précédent $\hat{x}_k^l$ sur $T$ et indique l'ordre de grandeur moyenne du terme d'innovation lorsque l'action "rester" est exécutée. Si un $T_{mean}$ plus petit est obtenu, on réinitialise d'abord le compteur $n_T$, pour la convergence de l'état local sans trouver une valeur plus faible de $T_{mean}$, à 0, en faisant en sorte que la grille actuelle soit examinée en permanence suffisamment de fois avant d'être mise à jour. Ensuite, si $s_c$ correspond à un élément non central, on déplace le centre vers cet élément et réinitialisons le rapport aux valeurs initiales comme à l'étape 6, qui génère une nouvelle grille 3 par 3. Si
aucune valeur de $T_{mean}$ inférieure est observée, $n_T$ est augmenté de 1 jusqu'à ce qu'il atteigne le seuil prédéfini $n_{ratio}$, auquel cas on augmente $r$ et $q^1$.

La logique derrière cela est, premièrement, que plusieurs fois ($n_{ratio}$), la vérification après convergence locale permet d'éviter la situation de non visite complète. Deuxièmement, chaque centre nouvellement trouvé est un candidat de valeur approprié. A son tour, de ses voisins proches (petit rapport) à ses voisins éloignés (grand rapport), la valeur correspondante de $T_{mean}$ doit être comparée à celle des autres candidats. Contrairement à l'algorithme QLEKF, où l'EKF traditionnel (de référence) utilise des matrices de covariance de bruits fixes pour le DG-QLEKF, chaque fois que $(Q_c, R_c)$ est modifié (une valeur inférieure de $T_{min}$ est trouvée), il sera appliqué à l'EKF traditionnel de la période d'apprentissage suivante, en veillant à ce que les matrices de covariance de bruits les mieux trouvées soient référencées pour calculer la récompense $R$ dans l'étape 10 de l'algorithme 5. Après le Q-Learning recherche dans tout le champ d'application prédéfini (à l'étape 23 de l'algorithme 5), les matrices de covariance de bruits $(Q_c, R_c)$ qui produisent le terme d'innovation moyen le plus faible, sont utilisées comme valeurs des matrices de covariance de bruits pour calculer l'estimation de l'état final.

**Algorithme 5** Apprentissage par Q-Learning dynamique pour un EKF (DG-QLEKF)

1: Initialiser $\hat{x}_{0|0}^t = \hat{x}_{0|0}^l = P_{0|0}^t = P_{0|0}^l$, $\underline{r}, r_0, \underline{q}, \bar{r}, \bar{q}, q_0, R_0, Q_0, n_l$ et $n_{ratio}$

2: $R_l \leftarrow 0, T \leftarrow 0, T_{record} \leftarrow \emptyset, T_{min} \leftarrow \infty, k \leftarrow 0, R_c \leftarrow R_0, Q_c \leftarrow Q_0, r \leftarrow r_0, q \leftarrow q_0, n_T \leftarrow 0$

3: $\forall s \in S, a \in A(s), Q_l(s, a) \leftarrow 0$

4: **répéte**

5: $a = \epsilon$-greedy amélioré(0.1, $s$, $A(s)$, $Q_l(s, a)$)

6: Exécuter l'action $a$ et obtenir l'état $s'$

7: **pour** chaque pas de temps dans une période **faire**

8: $[\hat{x}_{k+1}^t, P_{k+1}^t, \tilde{y}_{k+1}^t] = EKF(\hat{x}_k^t, P_k^t, y_k^t, Q_c, R_c) \{\text{EKF de référence}\}$

9: $[\hat{x}_{k+1}^l, P_{k+1}^l, \tilde{y}_{k+1}^l] = EKF(\hat{x}_k^l, P_k^l, y_k^l, Q(s'), R(s')) \{\text{Apprentissage et EKF}\}$

10: $R_l \leftarrow R_l + ||\tilde{y}_{k+1}^l|| - ||\tilde{y}_{k+1}^l||$

11: $T \leftarrow T + ||\tilde{y}_{k+1}^l|| \{\text{accumuler le terme d'innovation absolue correspondant à } (Q(s'), R(s'))\}$

12: $k \leftarrow k + 1$

13: **fin pour**

14: Mettre à jour $Q_l(s, a)$ avec (10)

15: $T_{record} \leftarrow [T_{record}, T], s \leftarrow s', R_l \leftarrow 0, T \leftarrow 0$

16: $\hat{x}_{k+1}^l \leftarrow \hat{x}_{k+1}^t, P_{k+1}^l \leftarrow P_{k+1}^t$

17: **si** un état $s_c$ apparaît suffisamment fréquemment dans les derniers $n_l$ états consécutifs² **alors**

18: Mettre à jour $Q_c, R_c, q$ et $r$ par DGU (algorithme 6)

19: $T_{record} \leftarrow \emptyset \{\text{réinitialisation des listes d'enregistrements après la convergence}\}$

20: Sélectionner un état $s$ aléatoirement choisi dans $S$

21: $\forall s \in S, a \in A(s), Q_l(s, a) \leftarrow 0$

22: **fin si**

23: jusqu'à $q = \bar{q}, r = \bar{r}$ et $n_T = n_{ratio}$

24: utiliser $Q_c$ et $R_c$ pour calculer $\{\hat{x}_k\}$ et $\{P_k\}$

<footnote n="1">1. On ne limite pas l'approche à l'augmentation de $r$ et $q$ à ce niveau, car elle peut se faire de différentes manières selon le modèle et l'application, par exemple, multiplier par un facteur fixe/non fixe supérieur à 1, prendre des valeurs dans un ensemble ou une séquence prédéfinie, etc.</footnote>
## Algorithm 6 Mise à jour dynamique de la grille (dynamic grid update, DGU)

1. **Entrée** : $s_c$, $T_{record}$, $q$, $r$, $T_{min}$, $n_l$ et la grille actuelle de 3 par 3

2. $T_{mean} \leftarrow$ valeur moyenne de $T$ correspondant à $s_c$ sur les derniers $n_l$ éléments de $T_{record}$

3. **si** $T_{mean} < T_{min}$ {meilleure innovation pour un état qui conerge} **alors**

4. $n_T \leftarrow 0$ {remise à zéro du compteur en absence d'amélioration}

5. **si** $s_c \neq (2, 2)$ {un nouveau centre est trouvé} **alors**

6. $Q_c$, $R_c \leftarrow$ valeurs des matrices de covariance de bruits dans la grille actuelle de 3 par 3 correspondant à $s_c$

7. $r \leftarrow r_0$, $q \leftarrow q_0$ {réinitialiser le ratio}

8. $T_{min} \leftarrow T_{mean}$

9. **fin si**

10. **sinon**

11. $n_T \leftarrow n_T + 1$

12. **si** $n_T = n_{ratio}$ **alors**

13. Augmenter $r$ et $q$
{la grille actuelle est bien exploitée, élargissez le champ de recherche}

14. **fin si**

15. **fin si**

### 4.2.4 Limites d'erreur d'estimation du DG-QLEKF

Dans cette section nous énonçons un résultat de convergence du carré moyen de l'erreur d'estimation d'état du DG-QLEKF et nous donnons les étapes principales de la démonstration (ce résultat est énoncé, mais pas prouvé, dans [33]). Pour cela, nous rappelons l'EKF traditionnel présenté pour (5) dans la section 3.3.2 et nous utilisons l'approximation de Taylor suivante :

$$ 
\begin{align} 
(12) \qquad & \mathbf{x}_{k+1} = f(\hat{\mathbf{x}}_k) + \mathbf{A}_k(\mathbf{x}_k - \hat{\mathbf{x}}_k) + \mathbf{w}_k + \phi(\mathbf{x}_k, \hat{\mathbf{x}}_k), \nonumber \\ 
& \mathbf{y}_{k+1} = g(\hat{\mathbf{x}}_{k+1|k}) + \mathbf{C}_k(\mathbf{x}_{k+1} - \hat{\mathbf{x}}_{k+1|k}) + \mathbf{v}_k \tag{13} \\ 
& \qquad + \psi(\mathbf{x}_{k+1}, \hat{\mathbf{x}}_{k+1|k}), \nonumber 
\end{align} 
$$

avec $\phi(\cdot)$ et $\psi(\cdot)$ sont des fonctions non linéaires pour compenser l'erreur de linéarisation de $f(\cdot)$ and $g(\cdot)$, respectivement.

Soit l'erreur d'estimation de l'état définie par $\tilde{\mathbf{x}}_k = \mathbf{x}_k - \hat{\mathbf{x}}_k$. En combinant les étapes 3, 8, 9 de l'algorithme 1, (12) et (13), on a :

$$ (14) \qquad \tilde{\mathbf{x}}_{k+1} = (\mathbf{I} - \mathbf{K}_{k+1}\mathbf{C}_{k+1})\mathbf{A}_k\tilde{\mathbf{x}}_k + \mathbf{r}_k + \mathbf{s}_k, $$

avec $\mathbf{r}_k = (\mathbf{I} - \mathbf{K}_{k+1}\mathbf{C}_{k+1})\phi(\mathbf{x}_k, \hat{\mathbf{x}}_k) - \mathbf{K}_{k+1}\psi(\mathbf{x}_{k+1}, \hat{\mathbf{x}}_{k+1|k})$, $\mathbf{s}_k = (\mathbf{I} - \mathbf{K}_{k+1}\mathbf{C}_{k+1})\mathbf{w}_k - \mathbf{K}_{k+1}\mathbf{v}_{k+1}$.

On rappelle un lemme sur la délimitation des processus stochastiques.

<footnote n="2">2. On considère que $\max_{s \in S, a \in A(s)} Q_t(s, a) = Q_t(s_c, 'rester')$ est satisfaite, c'est-à-dire que la trajectoire de l'état converge localement vers $s_c$. Pour équilibrer l'efficacité et la précision, la condition que $s_c$ apparaisse au moins 8 fois durant 10 états consécutifs est adopté pour les simulations de la section 4.3.</footnote>
**Lemme 1** [Lemme 2.1 dans [34]] Supposons qu'il existe un processus stochastique $V_k(\tilde{x}_k)$ et des nombres réels $\underline{v}, \bar{v}, \mu$ positifs et $0 < \alpha_1 \le 1$ tels que les inégalités $\underline{v}||x_k||^2 \le V_k(\tilde{x}_k) \le \bar{v}||x_k||^2$, et

$$ (15) \quad E[V_{k+1}(\tilde{x}_{k+1})|\tilde{x}_k] - V_k(\tilde{x}_k) \le \mu - \alpha_1 V_k(\tilde{x}_k) $$

sont satisfaites pour chaque solution de (14). Alors le processus stochastique est exponen-
tiellement convergeant en moyenne quadratique :

$$ (16) \quad E[||\tilde{x}_k||^2] \le \frac{\bar{v}}{\underline{v}} E[||\tilde{x}_0||^2] (1 - \alpha_1)^k + \frac{\mu}{\underline{v}\alpha_1}. $$

On présente maintenant le résultat des limites d'erreur d'estimation du DG-QLEKF.

**Théorème 1** Considérons un système stochastique non linéaire donné par (5). S'il existe des nombres réels $\bar{a}, \bar{a}, \underline{c}, \bar{c}, \underline{p}, \bar{p}, \underline{q}', \bar{q}', \underline{r}', \bar{r}', \alpha_1, \alpha_2, \alpha_3 > 0$, de sorte que pour chaque $k \ge 0$ on a alors :

$$ (17) \quad \underline{a} \le ||\mathbf{A}_k|| \le \bar{a}, \underline{c} \le ||\mathbf{C}_k|| \le \bar{c}, ||\tilde{\mathbf{x}}_k|| \le \alpha_1, $$

$$ (18) \quad \underline{p}\mathbf{I} \le \mathbf{P}_k \le \bar{p}\mathbf{I}, \underline{q}'\mathbf{I} \le \mathbf{Q}_c \le \bar{q}'\mathbf{I}, \underline{r}'\mathbf{I} \le \mathbf{R}_c \le \bar{r}'\mathbf{I}, $$

$$ (19) \quad ||\phi(\mathbf{x}_k, \hat{\mathbf{x}}_k)|| \le \alpha_2 ||\tilde{\mathbf{x}}_k||^2, $$

$$ (20) \quad ||\psi(\mathbf{x}_{k+1}, \hat{\mathbf{x}}_{k+1|k})|| \le \alpha_3 ||\tilde{\mathbf{x}}_k||^2, $$

alors on peut calculer un $\epsilon_0 > 0$ tel que pour tout $||\tilde{\mathbf{x}}_0|| \le \epsilon_0$ l'estimation de l'erreur $\tilde{\mathbf{x}}_k$ du DG-QLEKF donnée par l'algorithme 5 est bornée en moyenne quadratique, avec une probabilité 1.

## 4.3 Simulations numériques avec des données réelles

Pour démontrer la performance du DG-QLEKF en comparaison avec le QLEKF et l'EKF traditionnel, le problème de l'estimation de l'attitude/du biais dans les systèmes de navigation est considéré, tout en utilisant des magnétomètres, gyromètres, et accéléromètres triaxiaux. L'aproche d'estimation proposée est évaluée à l'aide de 50 simulations Monte Carlo en utilisant des données de vol réelles de drone, provenant de la base de données Euroc [35].

### 4.3.1 Configuration de la simulation

On construit le modèle dynamique d'un corps rigide se déplaçant dans l'espace 3D. Comme écrit dans (4), on représente la dynamique de l'attitude comme $\dot{q} = \frac{1}{2}[\omega_{bg}^\times]q$, où $q = [q_0, q_1, q_2, q_3]^\top$ est le quaternion qui décrit l'attitude avec $||q|| = 1$, avec $q_0$ est la partie scalaire et $q_1, q_2, q_3$ composent la partie vectorielle. Les mesures issues des capteurs magnéto-inertiels peuvent
être modélisées par

$$
\begin{cases}
\omega_b^m = \omega_b + b^g + v^g, \\
a_b^m = R_{rot}(q)g_v + b^a + v^a, \\
B_b^m = R_{rot}(q)m_{ti} + b^m + v^m,
\end{cases}
$$

où $\omega_b^m \in \mathbb{R}^3$ est la vitesse angulaire mesurée par le gyromètre, $B_b^m \in \mathbb{R}^3$ est le champ magnétique terrestre mesuré par le magnétomètre, et $a_b^m \in \mathbb{R}^3$ est l'accélération mesurée par l'accéléromètre. $b^g, b^a, b^m \in \mathbb{R}^3$ sont les biais du gyromètre, de l'accéléromètre et du magnétomètre, respectivement, et $v^g, v^a, v^m \in \mathbb{R}^3$ sont des bruits Gaussiens non corrélés de ces capteurs avec une moyenne nulle et des matrices de covariance $\Sigma_g = \sigma_g^2 I_3$, $\Sigma_a = \sigma_a^2 I_3$ et $\Sigma_m = \sigma_m^2 I_3$, où $I_3$ désigne la matrice d'identité de dimension 3. Il est à noter que dans cette simulation, on considère que le corps rigide ne fait que tourner sur lui-même et que son centre de masse ne bouge pas; ainsi, l'accélération linéaire du corps exprimée dans $\mathbb{R}_n$ est nulle. Ensuite, on considère que le vecteur d'état à estimer est égal à $x_k = [q_k; b_k^g; b_k^a; b_k^m]$. Après discrétisation, la dynamique de l'état est formulée comme suit

$$
x_{k+1} = f(x_k) + w_k = \text{blkdiag}(\zeta_k, \chi, I_3, I_3)[q_k; b_k^g; b_k^a; b_k^m] + [w_k^q; w_k^g; w_k^a; w_k^m],
$$

où blkdiag(A, B) est la matrice diagonale par bloc à partir des matrics A et B, $\zeta_k = I_3 + \frac{1}{2}\zeta(\omega_{bk}^m - b_k^g)T_e$ est la matrice de transition en quaternion [36, 27], et le biais du gyromètre $b_k^g$ est représenté par un processus Gaussien-Markovien discret, dans lequel $\chi = (1 - \beta^{-1})T_e I_3$ est dérivé de $\dot{b}_k^g = -\beta^{-1}b_k^g + w_k^g$ avec $\beta$ étant la constante de temps de la variation du biais, et $T_e = t_{k+1} - t_k$ désignant l'intervalle d'échantillonnage, $b_k^a$ et $b_k^m$ sont modélisés comme une marche aléatoire standard, et $w_k^q, w_k^g, w_k^a$ et $w_k^m$ forment le bruit du processus, supposé être Gaussien, non corrélé, de moyenne nulle et de matrices de covariance $\Sigma_w^q = \sigma_{w,q}^2 I_3$, $\Sigma_w^g = \sigma_{w,g}^2 I_3$, $\Sigma_w^a = \sigma_{w,a}^2 I_3$ et $\Sigma_w^m = \sigma_{w,m}^2 I_3$. Ainsi, la matrice de covariance du bruit de processus est diagonale et est représentée par $Q = \text{blkdiag}(\Sigma_w^q, \Sigma_w^g, \Sigma_w^a, \Sigma_w^m)$. Ensuite, le modèle de mesure est construit en regroupant les mesures de l'accéléromètre et du magnétomètre : $y_k = [a_{bk}^m; m_{bk}^m] = c(x_k) + v_k = \text{blkdiag}(R_{rot}(q_k), R_{rot}(q_k))[g_v; m_{ti}] + [v_k^a; v_k^m]$. Finalement, la matrice de covariance du bruit de mesure est diagonale et est représentée par $R = \text{blkdiag}(\Sigma_a^v, \Sigma_m^v)$.

4.3.2 Résultats et analyse

On utilise la vérité terrain de $b^g$, $b^a$ et $q_{true}$ de la base de données Euroc [35], $q_{true}$ est
utilisé pour connaître $\omega_b$. La vraie valeur du biais du magnétomètre est invariante dans
le temps, et est égale à $b^m = [5, 5, 5]^\top m G$. La fréquence d'échantillonnage des capteurs
magnéto-inertiels est fixée à 100Hz, $g_v = [0, 0, 9.81]^\top m s^{-2}$, $m_{ti} = [0.23, 0.01, 0.41]^\top G$. Pour
l'initialisation de chaque simulation de Monte Carlo, on a choisi $q_0 = [0.5, 0.5, 0.5, 0.5]^\top$,
$b_0^g = [2.2, 2, 2]^\top m \text{rad/s}$, $b_0^a = [0.1, 0.1, 0.1]^\top m/s^2$, $b_0^m = [0.1, 0.1, 0.1]^\top G$, $P_0 = 10 I_{13}$, $r$
et $q$ prennent des valeurs séquentielles dans la liste $\{2, 4, 8\}$, $\underline{r} = \underline{q} = 10^{-3}$, $\bar{r} = \bar{q} = 10^3$,
$n_{ratio} = 5$, $\sigma_{w,q} = 10^{-4}$, $\sigma_{w,g} = 10^{-3} \text{rad/s}$, $\sigma_{w,a} = 10^{-2} m/s^2$, $\sigma_{w,m} = 10^{-4} G$, $\sigma_{v,a} =$
$2 \times 10^{-2} m/s^2$, $\sigma_{v,m} = 2 \times 10^{-3} G$, $\beta = 100$, $Q_0 = \text{blkdiag}(10^{-8} I_4, 10^{-6} I_3, 10^{-4} I_3, 10^{-8} I_3)$,
$R_0 = \text{blkdiag}(4 \times 10^{-4} I_3, 4 \times 10^{-6} I_3)$, et la paire $(Q_0, R_0)$ est utilisée dans l'EKF tradi-
tionnel. En termes de QLEKF, $M = N = 5$, les matrices $Q_k^{(i)}$ et $R_k^{(j)}$ sont définies comme
une progression géométrique avec un rapport de 10 et $Q^{(3)} = Q_0$, $R^{(3)} = R_0$. La recherche
par apprentissage de $Q$ commence à la grille $(Q^{(2)}, R^{(2)})$. Pour chaque simulation de Monte
Carlo, on a exécuté 360 périodes et 100 pas de temps pour chaque itération. Le taux d'ap-
prentissage, le facteur d'actualisation et la probabilité de sélection des actions aléatoires sont
fixés à $\alpha = 0.1, \gamma = 0.9$ et $\epsilon = 0.1$, respectivement.
Le tableau 4 montre qu'après la convergence de 50 simulations de Monte Carlo, les trois EKF montrent des performances différentes en matière d'estimation d'état. De manière générale, le QLEKF surpasse l'EKF traditionnel, améliorant notamment l'erreur en quaternion de 58.34%. Quant au DG-QLEKF, il présente une prédominance importante de toutes les statistiques par rapport à l'EKF traditionnel et au QLEKF. Plus précisément, les améliorations moyennes de l'erreur en quaternion, des RMSE du biais du gyromètre, du biais de l'accéléromètre et du biais du magnétomètre du DG-QLEKF par rapport à l'EKF traditionnel sont de 88.93%, 40.60%, 82.39% et 74.62%, tandis que les améliorations du DG-QLEKF par rapport au QLEKF sont respectivement de 73.42%, 29.70%, 75.21% et 69.22%.

Les figures 19, 20, 21 et 22 montrent l'évolution de l'erreur moyenne d'estimation du quaternion et de la norme du RMSE des biais du gyromètre, de l'accéléromètre et du magnétomètre pour les trois EKF, dont chaque point de la courbe représente la moyenne de 100 échantillonnages consécutifs (1 sec) de 50 simulations de Monte Carlo après convergence. Comme le montre la figure 19, les trois courbes partagent des tendances et des fluctuations similaires après convergence. En revanche, l'erreur en quaternion du DG-QLEKF est toujours nettement inférieure à celle des deux autres EKF pendant toute la période de convergence.

L'avantage de suivre constamment le terme d'innovation le plus bas et d'appliquer la stratégie de grille dynamique peut expliquer ainsi : le premier garantit que les matrices de covariance de bruits les mieux trouvées sont exploitées. La seconde élargit le champ de recherche et permet une plus grande précision dans la recherche de solutions appropriées. Des comportements similaires peuvent être observés sur les figures 20 et 21, mais avec des variations plus instables du QLEKF, qui sont principalement causées par deux facteurs : des actions aléatoires persistantes générées par l'algorithme epsilon-greedy et une valeur inchangée de ($Q_0, R_0$) utilisée dans l'EKF de référence. En particulier après la convergence, le premier peut générer des matrices de covariance de bruits indésirables, ce qui peut en outre amener l'agent à 'rester' si cela préserve $R_l$ positif.

<table><caption>**Tableau 4** – Moyenne de 50 simulations de Monte Carlo après convergence pour l'erreur de quaternion et pour l'erreur quadratique moyenne (Root Mean Square Error (RMSE)) des biais du gyromètre, de l'accéléromètre et du magnétomètre [33]</caption><thead><tr><th></th><th>Moyenne de<br>l'erreur du<br>quaternion*<br>(×10<sup>-3</sup>)</th><th>RMSE du biais<br>du gyromètre<br>(mrad/s), sur<br>les axes x, y et<br>z</th><th>RMSE du biais<br>de<br>l'accéléromètre<br>(m/s<sup>2</sup>), sur les<br>axes x, y et z</th><th>RMSE du biais<br>de<br>magnetometre<br>(mG), sur les<br>axes x, y, et z</th></tr></thead><tbody><tr><td>EKF<br>traditionnel</td><td>18.35</td><td>1.564, 1.534,<br>1.184</td><td>0.135, 0.183,<br>0.064</td><td>6.756, 1.744,<br>3.580</td></tr><tr><td>QLEKF</td><td>7.644</td><td>1.231, 1.116,<br>1.133</td><td>0.120, 0.067,<br>0.048</td><td>4.942, 1.089,<br>3.963</td></tr><tr><td>DG-QLEKF</td><td>2.032</td><td>0.760, 0.643,<br>1.038</td><td>0.043, 0.014,<br>0.008</td><td>1.816, 0.277,<br>1.196</td></tr></tbody></table>

<footnote>* Pour un vrai quaternion $q_{true}$, l'erreur de l'estimation par rapport à $\hat{q}$ est calculée par $||q_{true}^{-1} \otimes \hat{q} - q_I||$, où $q_I = [1 \ 0 \ 0 \ 0]^T$ est le quaternion unité.</footnote>
- Un filtre de Kalman étendu couplé à un apprentissage des matrices de covariance a été étudié.

- Cette technique nécessite un calcul hors ligne d'une grille de matrices de covariance.

- Cette grille peut être dynamique et permet d'optimiser le choix des matrices de covariance lorsqu'un filtre de Kalman étendu est utilisé.

- Des simulations ont été fournies et illustrent l'intérêt de ce couplage "filtre de Kalman-IA".

<figure><img src="image_21.png" /><figcaption>**Figure 19** – Erreur moyenne de quaternion (voir le tableau 4 pour les valeurs) avec l'EKF traditionnel, le QLEKF, et le DG-QLEKF (respectivement en ligne discontinue bleue, avec des points orange, et continue verte) [33].</figcaption></figure>
<figure><img src="image_22.png" /><figcaption>(a) Norme du RMSE pour le biais du gyromètre.</figcaption></figure>

<figure><img src="image_23.png" /><figcaption>(b) Norme du RMSE pour le biais accéléromètre.</figcaption></figure>

**Figure 20** – Norme du RMSE pour les biais du gyromètre et de l'accéléromètre en utilisant l'EKF traditionnel, le QLEKF, et le DG-QLEKF (respectivement en ligne discontinue bleue, avec des points orange, et continue verte) [33].

<figure><img src="image_24.png" /><figcaption>(a) Norme du RMSE pour le biais magnétomètre.</figcaption></figure>

<figure><img src="image_25.png" /><figcaption>(b) axe *x*.</figcaption></figure>

**Figure 21** – Norme du RMSE (à gauche) et axe *x* (à droite) pour les biais du magnétomètre en utilisant l'EKF traditionnel, le QLEKF, et le DG-QLEKF (respectivement en ligne discontinue bleue, avec des points orange, et continue verte) [33].

# 5 Conclusion

Dans cet article, les principales technologies, en termes de capteurs, pour la navigation magnéto-inertielle ont été présentées pour ensuite exposer deux approches récentes de filtrage de Kalman pour l'estimation des états de navigation, en combinant les capteurs considérés. L'impact d'un couplage entre EKF et intelligence artificielle et comment ces techniques peuvent compenser/améliorer certains problèmes de ce type de filtrage ont été traités.

Il est à souligner que plusieurs recherches ont été effectuées en utilisant des capteurs magnéto-inertiels à très faible coût pour des applications de navigation tout en tenant compte de la modélisation d'erreurs de ces capteurs. Ces efforts de recherche se développeront dans le futur et viseront à obtenir des solutions de navigation de précision dans des applications d'industrie pétrolière et gazière, d'aérospatiale, de pédestre, d'appareils portables, de véhicules aériens sans pilote et de voitures autonomes.

Les évolutions technologiques possibles dans ce domaine seront aussi liées à une utilisation plus imposante de l'IA pour résoudre des problématiques en estimation liées à l'observabilité, aux réglages de gains, et à la prédiction de certains paramètres et constantes. L'IA pourra remplacer (ou compléter) probablement les méthodes d'estimation à base de modèles et la
<figure><img src="image_26.png" /><figcaption>**Figure 22** – RMSE pour les axes *y* (à gauche) et *z* (à droite) du biais du magnétométre en utilisant l'EKF traditionnel, le QLEKF, et le DG-QLEKF (respectivement en ligne discontinue bleue, avec des points orange, et continue verte) [33].</figcaption></figure>

problématique sera surtout de réduire les coûts de calculs et apprentissages. Les technologies quantiques pourront aussi faire bénéficier la navigation magnéto-inertielle d'évolutions notables en termes de conception de capteurs et de processeurs innovants.

# 6 Glossaire

**Navigation à l'estime**; *Dead reckoning*

Méthode de navigation qui consiste à estimer la position d'un mobile (terrestre, maritime, aérien ou spatial; piloté ou automatique) de sa route et de la distance parcourue depuis sa dernière position connue.

**Unité de mesure inertielle**; *Inertial measurement unit*

Composant électronique inclus dans la famille des capteurs. Il mesure l'accélération du capteur, la vitesse angulaire et son orientation à l'aide d'une combinaison d'accéléromètres, de gyromètres et de magnétomètres.

**Système de navigation inertielle**; *Inertial navigation system*

Système qui fournit des informations de roulis, tangage, cap, position et vitesse.

**Systèmes microélectromécaniques**; *Microelectromechanical systems*

Microsystème fabriqué à partir de matériaux semi-conducteurs. Il comprend un ou plusieurs éléments mécaniques et utilise l'électricité comme source d'énergie, en vue de réaliser une fonction de capteur ou d'actionneur, avec au moins une structure présentant des dimensions micrométriques; la fonction du système étant en partie assurée par la forme de cette structure.

**Filtre de Kalman**; *Kalman filter*

Le filtre de Kalman est un filtre à réponse impulsionnelle infinie qui estime les états d'un système dynamique à partir d'une série de mesures incomplètes ou bruitées. Le filtre a été nommé d'après le mathématicien et informaticien américain d'origine hongroise Rudolf Kalman.

# 7 Acronymes

Voici la liste des acronymes utilisés dans l'article.

- AHRS : centrale d'attitude et de cap, attitude and heading reference system

- BiLSTM : réseau de neurones récurrents à mémoire court-terme et long-terme, bidirec
rectional long-short term memory

- CNN : réseau neuronal convolutif, convolutional neural network

- DG-QLEKF : adaptation des matrices de covariance par Q-Learning dynamique pour l'EKF, dynamic grid Q-Learning extended Kalman filter

- DGU : mise à jour dynamique de la grille, dynamic grid update

- EKF : filtre de Kalman étendu, extended Kalman filter

- GPS : système global de positionnement, global positionning system

- IA : intelligence artificielle

- IMU : unité de mesure inertielle, inertial measurement unit

- INS : centrale de navigation inertielle, inertial navigation system

- MEMS : systèmes microélectromécaniques, micro electro mechanical systems

- MSE : erreur quadratique moyenne, mean squared error

- QLEKF : filtre EKF couplé à un apprentissage Q-Learning, Q-Learning extended Kalman filter

- RK4 : méthode de Runge-Kutta d'ordre 4

- RMSE : erreur quadratique moyenne, root mean square error

- TMI : tachymètre magnéto-inertiel

- ZUPT : mise à jour à vitesse nulle, zero velocity potential update
# Navigation magnéto-inertielle

## Filtrage de Kalman et intelligence artificielle

par Hassen FOURATI et Christophe PRIEUR

Maître de Conférences et Directeur de Recherche CNRS

Univ. Grenoble Alpes, CNRS, Inria, Grenoble INP, GIPSA-Lab, 38000 Grenoble, France

## Sources bibliographiques

[1] SAINT-MARTIN (P.). – *Applications de la géolocalisation - Une technologie qui change le monde*. (2022).

[2] ESCHER (A.-C.). – *Intégration du GPS avec les systèmes de navigation inertielle*. (2020).

[3] TITTERTON (D.) et WESTON (J.). – *Strapdown Inertial Navigation Technology*. Institution of Electrical Engineers (2004).

[4] BEEBY (S. P.), ENSEL (G.), et KRAFT (M.). – *MEMS Mechanical Sensors*. Artech House (2004).

[5] WERTZ (J. R.). – *Spacecraft Attitude Determination and Control*. Springer Dordrecht (2002).

[6] FOURATI (H.). – *Contributions à l'estimation d'attitude chez l'animal ou l'homme par fusion de données inertielles et magnétiques : de la reconstitution de la posture vers la navigation à l'estime : une application au Bio-logging*. PhD thesis Université Strasbourg (2010).

[7] RIPKA (P.). – *Magnetic Sensors and Magnetometers*. Artech House (2001).

[8] LENZ (J.). – A review of magnetic sensors. *Proceedings of the IEEE*, 78(6):973–989 (1990).

[9] CHESNEAU (C.-I.), ROBIN (R.), MEIER (H.), HILLION (M.), et PRIEUR (C.). – Calibration of a magnetometer array using motion capture equipment. *Asian Journal of Control*, 21(4):1459–1469 (2019).

[10] CHESNEAU (C.-I.), HILLION (M.), et PRIEUR (C.). – Motion estimation of a rigid body with an ekf using magneto-inertial measurements. In *2016 International Conference on Indoor Positioning and Indoor Navigation (IPIN)* p. 1–6 Madrid, Spain (2016).

[11] CHESNEAU (C.-I.), HILLION (M.), HULLO (J.-F.), THIBAULT (G.), et PRIEUR (C.). – Improving magneto-inertial attitude and position estimation by means of a magnetic heading observer. In *2017 International Conference on Indoor Positioning and Indoor Navigation (IPIN)* p. 1–8 Sapporo, Japan (2017). IEEE.

[12] WELCH (G.) et BISHOP (G.). – An introduction to the Kalman filter. In *SIGGRAPH* p. 1–81 Los Angeles, California, USA (2001).

[13] DELIGNON (Y.). – *Filtrage de Kalman*. (2009).

[14] ZMITRI (M.), FOURATI (H.), et PRIEUR (C.). – BiLSTM network-based extended Kalman filter for magnetic field gradient aided indoor navigation. *IEEE Sensors Journal*, 22(6):4781–4789 (2022).

[15] CHESNEAU (C.-I.). – *Magneto-Inertial Dead-Reckoning in inhomogeneous field and indoor applications*. PhD thesis, Université Grenoble Alpes, November 2018.
[16] VISSIÈRE (D.), MARTIN (A.), et PETIT (N.). – Using magnetic disturbances to improve imu-based position estimation. In *European Control Conference (ECC)* p. 2853–2858 (2007).

[17] VISSIERE (D.), MARTIN (A.), et PETIT (N.). – Using distributed magnetometers to increase imu-based velocity estimation into perturbed area. In *46th IEEE Conference on Decision and Control* p. 4924–4931 (2007).

[18] ZMITRI (M.), FOURATI (H.), et PRIEUR (C.). – Improving inertial velocity estimation through magnetic field gradient-based extended kalman filter. In *International Conference on Indoor Positioning and Indoor Navigation (IPIN)* p. 1–7 Pisa, Italy (2019).

[19] ZMITRI (M.), FOURATI (H.), et PRIEUR (C.). – Inertial velocity estimation for indoor navigation through magnetic gradient-based ekf and lstm learning model. In *IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)* p. 4545–4550 Las Vegas (NV), US (2020).

[20] ZMITRI (M.), FOURATI (H.), et PRIEUR (C.). – Magnetic field gradient-based EKF for velocity estimation in indoor navigation. *Sensors*, 20(20) :5726 (2020).

[21] BROSSARD (M.), BARRAU (A.), et BONNABEL (S.). – Ai-imu dead-reckoning. *IEEE Transactions on Intelligent Vehicles*, 5(4) :585–595 (2020).

[22] FEIGL (T.), KRAM (S.), WOLLER (P.), SIDDIQUI (R. H.), PHILIPPSEN (M.), et MUTSCHLER (C.). – A bidirectional lstm for estimating dynamic human velocities from a single imu. In *International Conference on Indoor Positioning and Indoor Navigation (IPIN)* p. 1–8 (2019).

[23] JAMIL (F.), IQBAL (N.), AHMAD (S.), et KIM (D.-H.). – Toward accurate position estimation using learning to prediction algorithm in indoor navigation. *Sensors*, 20(16) (2020).

[24] SKOG (I.), NILSSON (J.-O.), et HÄNDEL (P.). – Evaluation of zero-velocity detectors for foot-mounted inertial navigation systems. In *International Conference on Indoor Positioning and Indoor Navigation (IPIN)* p. 1–6 Zurich, Switzerland (2010).

[25] SKOG (I.), NILSSON (J.-O.), HÄNDEL (P.), et HARI (K.). – Foot-mounted INS for everybody - an open-source embedded implementation. In *Position Location and Navigation Symposium (PLANS)* p. 140–145 Myrtle Beach, SC, USA (2012).

[26] FEIGL (T.), KRAM (S.), WOLLER (P.), SIDDIQUI (R. H.), PHILIPPSEN (M.), et MUTSCHLER (C.). – A Bidirectional LSTM for estimating dynamic human velocities from a single imu. In *International Conference on Indoor Positioning and Indoor Navigation (IPIN)* p. 1–8 Pisa, Italy (2019).

[27] DAI (X.), NATEGHI (V.), FOURATI (H.), et PRIEUR (C.). – Q-learning-based noise covariance adaptation in Kalman filter for MARG sensors attitude estimation. In *IEEE International Symposium on Inertial Sensors & Systems* Avignon, France (2022).

[28] SUTTON (R. S.) et BARTO (A. G.). – Reinforcement learning : An introduction., *MIT press* (2018).

[29] THRUN (S.). – Efficient exploration in reinforcement learning. , Technical Report. Carnegie Mellon University (1992).

[30] WHITEHEAD (S. D.). – A complexity analysis of cooperative mechanisms in reinforcement learning. In *Proceedings of the ninth National Conference on Artificial Intelligence-Volume 2* p. 607–613 (1991).

[31] BRIDLE (J.). – Training stochastic model recognition algorithms as networks can lead to maximum mutual information estimation of parameters. *Advances in neural information processing systems*, 2 (1989).
[32] XIONG (K.), WEI (C.), et ZHANG (H.). – Q-learning for noise covariance adaptation in extended KALMAN filter. *Asian Journal of Control*, 23(4):1803-1816 (2021).

[33] DAI (X.), FOURATI (H.), et PRIEUR (C.). – A dynamic grid-based Q-learning for noise covariance adaptation in ekf and its application in navigation. In *IEEE 61st Conference on Decision and Control (CDC)* p. 4984–4989 Cancun, Mexico (2022).

[34] REIF (K.), GUNTHER (S.), YAZ (E.), et UNBEHAUEN (R.). – Stochastic stability of the discrete-time extended Kalman filter. *IEEE Transactions on Automatic control*, 44(4):714-728 (1999).

[35] BURRI (M.), NIKOLIC (J.), GOHL (P.), SCHNEIDER (T.), REHDER (J.), OMARI (S.), ACHTELIK (M. W.), et SIEGWART (R.). – The EuRoC micro aerial vehicle datasets. *The International Journal of Robotics Research*, 35(10):1157-1163 (2016).

[36] WERTZ (J. R.). – *Spacecraft Attitude Determination and Control*. volume 73. Springer Science & Business Media (2012).

# Annuaire

## Constructeurs – Fournisseurs – Distributeurs

**Sysnav**, entreprise française innovante de très haute technologie spécialisée dans les solutions de navigation, de géolocalisation et de capture du mouvement.

72 Rue Emile Loubet, 27200 Vernon https://www.sysnav.fr/

**Xsens Technologies B.V.**, fournisseur de produits de capture de mouvement 3D, de capteurs portables et de capteurs inertiels basés sur la technologie de capteurs inertiels MEMS miniatures.

Pantheon 6-A + 8A, 7521 PR Enschede, Pays-Bas https://www.xsens.com/

**SBG Systems**, fabrique des centrales inertielles de navigation, IMU, AHRS, très performants et économiques.

1 Av. Eiffel, 78420 Carrières-sur-Seine https://www.sbg-systems.com/fr/

**Qualisys**, premier fournisseur de systèmes de capture de mouvement pour enregistrer et d'analyser numériquement les mouvements.

Kvarnbergsgatan 2, 411 05 Göteborg, Suède https://www.qualisys.com/

**STMicroelectronics**, multinationale franco-italienne, qui conçoit, fabrique et commercialise des puces électroniques (semi-conducteurs).

Le siège opérationnel et exécutif est situé à Plan-les-Ouates, près de Genève en Suisse https://www.st.com/content/st_com/en.html

**InvenSense Inc.**, société Américaine d'électronique grand public qui fournit des systèmes pour la capture de mouvement sur puce pour les appareils électroniques grand public tels que les smartphones, les tablettes, les appareils portables, les appareils de jeu, la stabilisation optique de l'image et les télécommandes pour les téléviseurs intelligents.

Le siège social est à San José, Californie, États-Unis https://invensense.tdk.com/

## Organismes – Fédérations – Associations

**The National Centers for Environmental Information (NCEI)**, États-Unis, agence du gouvernement des États-Unis, gère l'une des plus grandes archives au monde de données atmosphériques, côtières, géophysiques et océaniques, contenant des informations allant de la surface du soleil au noyau de la Terre, et des anciens enregistrements des cernes des arbres et des carottes de glace à images satellites en temps quasi réel. https://www.ncei.noaa.gov/

**International Association of Geomagnetism and Aeronomy (IAGA)**, États-Unis, une
association scientifique internationale qui étudie le magnétisme terrestre et planétaire et la physique de l'espace. https://iaga-aiga.org/

Laboratoires – Bureaux d'études – Écoles – Centres de recherche (liste non exhaustive)

Grenoble images parole signal automatique (GIPSA-Lab), 11 Rue des Mathématiques, 38402 Saint-Martin-d'Hères.

http://www.gipsa-lab.grenoble-inp.fr

Institut national de recherche en sciences et technologies du numérique (INRIA), Centre Inria de l'Université Grenoble Alpes, 655 Avenue de l'Europe, 38330 Montbonnot-Saint-Martin.

https://www.inria.fr/fr/centre-inria-universite-grenoble-alpes

Université Grenoble Alpes (UGA), 621 Avenue Centrale, 38400 Saint-Martin-d'Hères.

https://www.univ-grenoble-alpes.fr/

Institut polytechnique de Grenoble (Grenoble INP), 46 Avenue Félix Viallet, Grenoble.

https://www.grenoble-inp.fr/

GEOLOC, Université Gustave Eiffel, Allée des Ponts et Chaussées, CS 5004 44344 Bouguenais Cedex.

https://geoloc.univ-gustave-eiffel.fr/le-laboratoire-geoloc

Laboratoire d'Informatique, Signaux et Systèmes de Sophia-Antipolis (I3S), 2000, route des Lucioles - Les Algorithmes - bât. Euclide B 06900 Sophia Antipolis.

https://www.i3s.unice.fr/

Institut franco-allemand de recherches de Saint-Louis (ISL), 5 rue du Général Cassagnou 68300 Saint-Louis.

https://www.isl.eu/