Tous droits réservés

Naviguer (presque) sans GPS grâce à la navigation inertielle

Principe de fonctionnement de la navigation inertielle

Dernière mise à jour :
Auteur :
Catégories :
Temps de lecture estimé : 13 minutes

De nos jours, il est facile de savoir où l’on est. Grâce au GPS ou à des systèmes concurrents, connaître précisément sa position est devenu un jeu d’enfant. Les récepteurs GPS sont d’ailleurs partout, que ce soit dans les téléphones, les voitures, les avions, ou encore les bateaux.

Pourtant, le GPS ne répond pas à tous les besoins. Pour certaines applications, il est trop cher, trop peu précis, ou tout simplement impossible à mettre en œuvre. Par exemple, pour les sous-marins en plongée, il n’est pas possible de capter les signaux du GPS. Sur un champ de bataille, le positionnement doit rester précis même en cas de brouillage. Sur les systèmes grand public, les contraintes de coût limitent encore la précision.

Quand le GPS seul n’est pas une option viable, on recourt souvent à la navigation inertielle. Cette technique permet d’estimer le déplacement d’un objet avec seulement un capteur d’accélération et un chronomètre. Cet article en présente le principe de fonctionnement.

Principe physique

La navigation inertielle est rendue possible grâce aux les lois physiques régissant le mouvement des corps, car elles permettent de déterminer la position d’un objet en connaissant seulement :

  • le point de départ,
  • la vitesse initiale,
  • l’accélération à chaque instant,
  • le temps écoulé depuis le départ.

Pour ce faire, on part de la définition de l’accélération. Il s’agit de la dérivée de la vitesse par rapport au temps :

a(t)=dvdt(t)a(t) = \frac{\mathrm{d}{v}}{\mathrm{d}{t}}(t)

On en déduit une expression de la vitesse par intégration :

v(t)=v(0)+0ta(t)dtv(t) = v(0) + \int_{0}^{t} {a(t)} \mathrm{d}{t}

La vitesse est, par définition, la dérivée de la position par rapport au temps :

v(t)=dp(t)dtv(t) = \frac{\mathrm{d}{p(t)}}{\mathrm{d}{t}}

On procède alors à une deuxième intégration pour en déduire la position en fonction de la vitesse :

p(t)=p(0)+0tv(t)dtp(t) = p(0) + \int_{0}^{t} {v(t)} \mathrm{d}{t}

Si on réunit tous les morceaux, on obtient :

p(t)=p(0)+0t(v(0)+0ta(t)dt)dtp(t) = p(0) + \int_{0}^{t} {\left( v(0) + \int_{0}^{t} {a(t)} \mathrm{d}{t} \right)} \mathrm{d}{t}

En fin de compte, on obtient la position exprimée en fonction d’éléments connus ou calculables : la position et la vitesse initiale, l’accélération, le temps et des intégrales.

Illustrons ce principe physique par un exemple. Imaginez une voiture de sport sur une piste rectiligne, et qui enchaîne les cinq phases suivantes :

  1. une phase sans accélération pendant 15 secondes,
  2. une phase d’accélération pendant les 25 secondes suivantes,
  3. une nouvelle phase sans accélération pendant les 10 secondes suivantes,
  4. une phase de freinage pendant 12,5 secondes,
  5. une nouvelle phase sans accélération à la fin.

Avec les expressions précédentes, on peut déduire la vitesse, puis la position à partir de l’accélération. La figure ci-dessous montre le résultat qu’on obtient pour notre exemple.

Mouvement d'une voiture de sport.

Mise en œuvre

Les lois physiques vues ci-avant peuvent être simulées en temps réel par un calculateur, en utilisant des techniques d’intégration numérique.

Nous utilisons ici la méthode d’Euler, qui est certainement la technique la plus simple. D’autres approches plus raffinées existent, mais elles ne sont pas utiles pour notre article.

La méthode d’Euler consiste à approximer les dérivées par le taux de variation entre deux instants suffisamment proches.

Todo : image approximation.

En appliquant cette approximation dans notre cas, on déduit deux récurrences : une pour mettre à jour la vitesse, et une pour mettre à jour la position.

Le calcul se déroule de la manière suivante. On part d’une estimation de position initiale p0p_0 et de vitesse initiale v0v_0. Ensuite, à chaque instant tkt_k où l’on souhaite estimer la position, on commence par mettre à jour l’estimation de vitesse :

vk=vk1+(tktk1)vk1v_k = v_{k-1} + (t_k - t_{k-1}) v_{k-1}

Après, on met à jour l’estimation de position :

pk=pk1+(tktk1)vkp_k = p_{k-1} + (t_k - t_{k-1}) v_k

Et on recommence à un nouvel instant en partant de l’estimation précédente.

Pour que la méthode d’Euler estime suffisamment bien la véritable intégrale, il faut que les instants tkt_k soient suffisamment proches les uns des autres, c’est-à-dire que la fréquence de mise à jour soit suffisamment élevée.

Reprenons notre voiture de sport de la section précédente et estimons sa position avec les calculs vus ci-avant. Le résultat est montré dans la figure ci-dessous. La réalité physique et l’estimation sont presque indiscernable !

Estimation de la position d'une voiture de sport par intégration numérique.

Sources d'erreur

La section précédente fait une démonstration de la navigation inertielle dans un cas idéalisé. En pratique, différents phénomènes introduisent des erreurs dans le processus d’estimation.

Erreur sur les conditions initiales

Les conditions initiales, position et vitesse, sont souvent issues de mesures, entachées d’erreur plus ou moins importantes.

Par exemple, en mer, un bateau pourrait se repérer en utilisant les étoiles, mais les instruments de mesure n’étant pas parfaitement précis, la position ne serait connue que de manière approximative.

De même, toutes sortes d’instruments permettent de mesurer la vitesse avec une erreur variable.

L’erreur de position initiale créée un décalage entre l’estimation et la réalité, qui va perdurer indéfiniment. L’erreur de vitesse initiale, quant à elle, fait dériver l’estimation, en introduisant un décalage qui croît proportionnellement avec la temps, rendant à terme la l’estimation inutile.

Effet des erreurs sur les conditions initiales.

Erreur d’intégration numérique

La méthode d’intégration numérique introduit des erreurs qui grandissent à mesure que la fréquence de mise à jour diminue. Ce phénomène s’explique par le fait que l’approximation de la dérivée devient de moins en moins bonne quand la fréquence de la mise à jour diminue.

En pratique, les calculateurs modernes permettent une précision respectables. Cependant, si on attend suffisamment longtemps, cette erreur finira toujours par se manifester sensiblement.

L’exemple ci-dessous reprend le cas de la voiture de sport. Cette fois-ci, la fréquence de mise à jour est beaucoup plus faible, et crée des erreurs qui s’accumulent au cours du temps. Pour que le phénomène soit bien visible, la fréquence de mise à jour est choisie volontairement très basse.

Intégration

Erreur de mesure d’accélération

L’erreur la plus gênante en pratique est sans doute celle sur la mesure d’accélération.

Les capteurs d’accélération présentent différents types d’erreurs liés à la constitution et à la chaîne de traitement du signal. On peut notamment citer le biais, le bruit de mesure, ou les non-linéarités.

Bien qu’on puisse les limiter, ces erreurs sont inévitables et entraînent une dérive à mesure que l’estimation prend en compte le bruit comme s’il s’agissait d’une véritable mesure.

L’exemple ci-dessous montre comment la dérive affecte l’estimateur de position de notre voiture. La voiture est immobile, mais un bruit entraîne la dérive de l’estimateur,que j’aime appeler le « voyage immobile ». :-)

Dérive due aux erreurs sur la mesure d'accélération.

Il existe encore d’autres erreurs spécifiques à certaines applications, qui ne seront pas traitées dans cet article.

Mitigation des erreurs

Il existe différentes techniques pour mitiger les erreurs.

Erreur de position et vitesse initiale et initialisation

Pour mitiger l’erreur de position et de vitesse initiales, il est possible d’effectuer l’initialisation dans des conditions précises connues. Par exemple, pour un véhicule terrestre, il s’agirait de faire une mesure à l’arrêt (vitesse nulle) en un point précisément mesuré (erreur de position faible).

Ce n’est pas toujours possible, si on ne peut pas se mettre à l’arrêt ni savoir précisément où l’on est. C’est le cas notamment pour un bateau en pleine mer : le courant et le vent empêchent de mesurer la véritable vitesse, c’est-à-dire la vitesse par rapport au fond et la précision de la position initiale est limitée par les moyens du bord.

Erreur d’intégration et puissance du calculateur

Nous avons vu dans la partie précédente que si on mettait à jour l’estimation trop lentement, l’erreur de position s’accumulait. Pour limiter ce type d’erreur, il suffit alors de procéder plus vite.

La performance du calculateur peut devenir bloquante. D’une part, les contraintes de coûts limitent la puissance des calculateurs dans les applications grands publics (dans un téléphone par exemple) ; d’autres part, plus les accélérations maximales du véhicule sont importantes et le positionnement nécessaire précis, plus la mise à jour doit se faire vite (dans un avion de chasse par exemple), ce qui peut devenir limitant pour du calcul en temps réel.

Erreur de mesure, filtrage et fusion de capteurs

Erreur de mesure très gênante et cause de « voyage immobile ».

Possibilité de filtrer le bruit ou le biais. Différentes approches dont Kalman.

Possibilité de fusionner l’information de différents capteurs pour obtenir un résultat meilleur que chacun pris séparément

Exemple : mélanger GPS et navigation inertielle pour se recaler.

Hybridation


https://fr.wikipedia.org/wiki/Navigation_inertielle

https://fr.wikipedia.org/wiki/Centraleàinertie

https://fr.wikipedia.org/wiki/Calculnumériqued’une_intégrale

https://en.wikipedia.org/wiki/Kalman_filter

Illustration de la miniature : Carte du monde faite à partir des données de Natural Earth (projection: planisphère Hölzels centrée 10° est), par Ktrinko, sous licence CC BY-SA 3.0.

Aucun commentaire

Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte