Licence CC BY

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

Principe de fonctionnement de la navigation inertielle

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 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 simplifier, nous considérons un mouvement sur une seule dimension seulement (par exemple l’axe des abscisses), mais sachez que les cas à deux et trois dimensions sont identiques.

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(τ)dτv(t) = v(0) + \int_{0}^{t} a(\tau) \mathrm{d}\tau

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

v(t)=dpdt(t)v(t) = \frac{\mathrm{d}p}{\mathrm{d}t}(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(τ)dτp(t) = p(0) + \int_{0}^{t} v(\tau) \mathrm{d}\tau

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

p(t)=p(0)+0t(v(0)+0ua(τ)dτ)dup(t) = p(0) + \int_{0}^{t} \left( v(0) + \int_{0}^{u} a(\tau) \mathrm{d}\tau \right) \mathrm{d}u

En fin de compte, la position est exprimée en fonction des éléments qu’on s’est donné au départ : la position initiale, la vitesse initiale et l’accélération jusqu’à l’instant tt.

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.
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.

Le cœur de la méthode d’Euler, dans notre cas, consiste à approximer le taux de variation entre deux instants suffisamment proches par la dérivée.

Approximation du taux d’accroissement par la méthode d’Euler.
Approximation du taux d’accroissement par la méthode d’Euler.

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. Notez qu’on travaille toujours sur une seule dimension par simplification, mais qu’on pourrait aisément généraliser à trois dimensions.

Le calcul se déroule de la manière suivante1. 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)akv_k = v_{k-1} + (t_k - t_{k-1}) a_{k}

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 indiscernables !

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

  1. On travaille toujours sur une seule dimension, comme dans la première section, mais les calculs pour les autres dimensions sont identiques.

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 le temps, rendant à terme l’estimation inutile.

Effet d'une erreur de position initiale.
Effet d’une erreur de position initiale.
Effet d'une erreur de vitesse initiale.
Effet d’une erreur de vitesse initiale.

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 du taux d’accroissement devient de moins en moins bonne quand la fréquence de la mise à jour diminue.

En pratique, les calculateurs modernes permettent une précision respectable. 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.

Erreur d’intégration numérique.
Erreur d’intégration numérique.

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.
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 grand public (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

Les erreurs de mesure sont vraiment les plus gênantes, car elles sont à la longue la principale cause de dérive. Pour les applications exigeantes, les ingénieurs travaillent sur des capteurs très précis et robustes qui limitent fortement les erreurs (par exemple basés sur de l’interférométrie laser).

Mais même les meilleurs capteurs ne peuvent éviter totalement la dérive, il suffit d’attendre suffisamment longtemps pour que l’erreur devienne arbitrairement grande. C’est pourquoi on a recours à des techniques où l’on mélange l’information de différents capteurs.

Un cas typique est de mélanger l’estimation inertielle avec une mesure de position par satellite, comme le GPS. Cela permet d’éliminer la dérive, tout en ayant une précision supérieure à celle de chaque capteur pris séparément. La figure montre un exemple de telle mélange ; il utilise une technique simpliste mais illustre bien le principe : l’estimation combinée est meilleure que le GPS seul et sans dérive.

Fusion de l’information de navigation inertielle et GPS.
Fusion de l’information de navigation inertielle et GPS.

Une technique usuelle non simpliste est le filtrage de Kalman. Cette technique permet de réaliser un filtre qui mélange de manière optimale (selon certains critères) les informations obtenues par navigation inertielle et par mesure de position, en prenant en compte les erreurs du modèle physique et les erreurs de mesure.


Et voilà pour cette introduction ! Vous avez vu dans le principe général de la navigation inertielle. Si vous souhaitez découvrir ce domaine plus en détail, sachez qu’il y a énormément de spécificités pratiques à découvrir, telles que la prise en compte de la gravité terrestre, de la rotondité de la Terre et toutes les autres subtilités nécessaires à la mise en pratique industrielle de la navigation inertielle.

Références

Remerciements

Merci à Dwayn pour les relectures en bêta et à adri1 pour la validation.


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.

Ces contenus pourraient vous intéresser

11 commentaires

Merci pour l’article ! Au risque de faire une pub éhontée pour mon propre article, cette méthode est appelée "intégration du chemin" chez les animaux et est notamment utilisée par les arthropodes et les mammifères pour s’orienter, et constitue, je crois, ce que nous appelons "sens de l’orientation".

Je n’en avais pas parlé parce que c’est plus une méta méthode d’orientation, mais du coup maintenant est l’occasion. :)

En effet, l’article que tu cites parle de dead reckoning, c’est-à-dire de navigation à l’estime, dont je n’ai pas parlé.

C’est ce qu’on utilisait (et qu’on utilise encore dans une certaine mesure) pour naviguer en bateau (ou ailleurs). Usuellement, on mesure la vitesse (corde à nœud, tube Pitot) et le cap (boussole), on intègre le vecteur vitesse ainsi mesuré, et on sait approximativement où l’on se trouve.

+0 -0

Je trouve que c’est un bon article, mais il y a un truc qui me titille un peu dans l’idée de décrire le calcul de la position à partir de l’accélération comme "rendue possible grâce aux lois physiques régissant le mouvement des corps". Pour moi ce n’est pas rendu possible par les lois physiques, c’est simplement un calcul mathématique.

Quand une quantité A est définie comme la dérivée d’une quantité B dans le temps, il me semble qu’il n’y a pas de "physique" derrière le fait de retrouver A à partir d’une valeur initiale et d’une intégrale sur B. Il s’agit d’une application directe du concept de dérivée. D’ailleurs ça ne dépend pas du fait qu’on travaille sur des objets ayant une existence physique.

J’aurais tendance à parler de "lois physiques" (et donc de leurs applications) quand on met en relation des choses existant dans le monde physique selon des lois observées (plutôt que définitionnelles). Par exemple, le lien entre l’accélération, la force et la masse repose sur des lois physique, et le calcul de la position d’un objet à partir de son poids et d’un champ de forces serait rendu possible par ces lois.

(Évidemment il y a une subtilité liée à la question de si une propriété d’une notion est "par définition" ou si c’est une propriété physique observée; si on définit la seconde en fonction des radiations du Césium, alors le principe de compter le temps avec une horloge atomique peut être vu comme "vrai par définition (mathématique)", alors que la définition pré-suppose en fait des lois physiques sur la relation entre le temps et les radiations. Mais ici je pense que la définition de la vitesse comme la dérivée de la position est standard, directe, et pas particulièrement influencée par des observations physiques.)

J’ai l’impression que tu vois des mathématiques pures là où il y a un effort de modélisation physique préalable.

Je trouve que c’est un bon article, mais il y a un truc qui me titille un peu dans l’idée de décrire le calcul de la position à partir de l’accélération comme "rendue possible grâce aux lois physiques régissant le mouvement des corps". Pour moi ce n’est pas rendu possible par les lois physiques, c’est simplement un calcul mathématique.

Le calcul mathématique marche car c’est un modèle qui décrit suffisamment bien les lois physiques « vraies ». En l’occurrence, il s’agit de la mécanique newtonienne, qui marche, pour faire simple, quand l’objet physique n’est ni trop rapide ni trop petit, qu’il n’y a pas trop de masse à proximité.

Si ce calcul mathématique ne modélisait pas correctement le monde réel, hé bien on ne pourrait pas procéder à la navigation inertielle avec cette méthode. Par exemple, tu ne peux pas utiliser la méthode de l’article pour un vaisseau voyageant à une fraction de vitesse de la lumière à proximité d’un trou noir.

Quand une quantité A est définie comme la dérivée d’une quantité B dans le temps, il me semble qu’il n’y a pas de "physique" derrière le fait de retrouver A à partir d’une valeur initiale et d’une intégrale sur B. Il s’agit d’une application directe du concept de dérivée. D’ailleurs ça ne dépend pas du fait qu’on travaille sur des objets ayant une existence physique.

On applique « juste » le concept de dérivée car, dans la mécanique newtonienne, les concepts d’accélération et de vitesse existent et sont liés par des relations différentielles.

Je pense que la physique, c’est d’abord de la modélisation, et ensuite du calcul mathématique. Les notions de masse, force, vitesse, accélération et position forment un tout cohérent dans la mécanique newtonienne, ce qui fait que quand on se sert de cette théorie, on fait beaucoup de calculs grâce à leurs définitions. Le fait qu’on puisse modéliser le problème dans le cadre newtonien permet de se réduire à faire « juste » des maths.

Dans la pratique, la définition d’accélération n’est pas utilisée sans modélisation pour la navigation inertielle. Les capteurs d’accélération n’existent pas vraiment, la plupart sont simplement des capteurs de force… On est obligé de modéliser l’environnement (gravitation et rotation de la Terre notamment), pour obtenir l’accélération de l’objet par rapport au référentiel terrestre.

J’aurais tendance à parler de "lois physiques" (et donc de leurs applications) quand on met en relation des choses existant dans le monde physique selon des lois observées (plutôt que définitionnelles). Par exemple, le lien entre l’accélération, la force et la masse repose sur des lois physique, et le calcul de la position d’un objet à partir de son poids et d’un champ de forces serait rendu possible par ces lois.

Ce sont quoi des lois observées plutôt que définitionnelles ? Je te mets au défi d' « observer » une force ou même la masse. D’une certaine manière, les modèles utilisés pour les forces sont définis via les effets visibles sur le mouvement. Ce ne sont pas des choses facilement tangibles, contrairement à une position par exemple.

(Évidemment il y a une subtilité liée à la question de si une propriété d’une notion est "par définition" ou si c’est une propriété physique observée; si on définit la seconde en fonction des radiations du Césium, alors le principe de compter le temps avec une horloge atomique peut être vu comme "vrai par définition (mathématique)", alors que la définition pré-suppose en fait des lois physiques sur la relation entre le temps et les radiations.

Si tu regardes en détail la définition de la seconde, tu verras qu’elle n’est pas réalisable exactement en pratique. Il faut un atome à 0 K… Les horloges réelles utilisent un modèle pour prendre en compte la variation de fréquence liée aux effets thermiques.

Ce modèle est issu d’observations et de modélisations physiques. Tu as donc encore une fois deux choses : de la modélisation, et ensuite des maths.

Mais ici je pense que la définition de la vitesse comme la dérivée de la position est standard, directe, et pas particulièrement influencée par des observations physiques.)

gasche

C’est devenu standard grâce à Newton, pour faire court. Mais la plupart des définitions ne sont pas évidentes. Il y a eu pendant longtemps des confusions sur ce qu’était une action, une force, une quantité de mouvement, un moment, l’impulsion, etc.

Et par ailleurs, il y a des observations physiques fortes qui permettent de définir l’accélération et la vitesse à l’aide de dérivées. Notamment des choses du type :

  • les objets ne se téléportent pas (la position est continue),
  • changer la vitesse d’un objet massique ne peut pas se faire instantanément (la vitesse est continue).
+5 -0

bonjour, je cherche à connaitre la position dans l’espace d’un point avec une précision inférieure au mm le point ce trouve dans un espace défini, connu, inférieur à 3m cube .La position de départ est parfaitement connue (X,Y,Z,et angulaire). Quelles sont les caractéristiques des imu à identifiées? si je cumule deux imu positionnées à 90°l’une de l’autre cela augmentera t il la précision de la mesure? merci de ton retour Willdao

Bonjour,

Je n’ai pas la réponse à ta question. Si tu as besoin d’informations précises sur le choix d’une IMU, le mieux est de chercher conseil auprès de gens dont c’est le métier. Notamment, les fabricants fournissent parfois du conseil pour choisir un produit en fonction de l’application visée.

Merci pour l’article. Si un jour quelqu’un trouve la motivation : je n’ai jamais trouvé de tutoriel sur les filtres de Kalman qui ne soit pas totalement abscons. C’est un sujet qui m’intéresserait.

Petite question : l’erreur due au bruit de mesure : c’est bien une fonction quadratique du temps ?

Merci pour l’article. Si un jour quelqu’un trouve la motivation : je n’ai jamais trouvé de tutoriel sur les filtres de Kalman qui ne soit pas totalement abscons. C’est un sujet qui m’intéresserait.

Petite question : l’erreur due au bruit de mesure : c’est bien une fonction quadratique du temps ?

1e49ba0eba

C’est bref, introductif, mais ca peut peut-être t’intéresser (avec une source que je n’ai pas vérifié) https://lucidar.me/fr/kalman-filters/example-of-kalman-filter/

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

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