Retour à la page d'accueilSNT · Seconde · Changer de matière
Commencer gratuitement
Seconde · SNT
Graphes, données structurées, localisation et programmation embarquée · Localisation et cartographie

GPS, trames NMEA et itinéraires

Lucas attend le TER à Lille et ouvre l'application de cartes de son téléphone. Un point bleu apparaît, à quelques mètres près, sur la bonne rue. Pourtant, il n'a envoyé aucune information aux satellites. Comment sait-il où il se trouve ? Et comment l'application calcule-t-elle en une seconde le trajet jusqu'à la gare ? Réponse dans ce chapitre.

Le principe de la géolocalisation par satellites

Le GPS (américain) et Galileo (européen) sont des constellations de satellites placés à environ 20 000 km d'altitude. Chaque satellite émet en continu un signal radio contenant deux informations : sa position et l'heure exacte d'émission, donnée par une horloge atomique embarquée.

Le récepteur (ton téléphone) ne fait qu'écouter. Il note l'heure à laquelle le signal arrive. La différence donne le temps de propagation $\Delta t$. Comme le signal voyage à la vitesse de la lumière $c = 300\,000\ \text{km·s}^{-1}$, on en déduit la distance :

$$d = c \times \Delta t$$ Schéma en deux dimensions : trois satellites et les distances d1, d2 et d3 qui les séparent du récepteur au sol. Satellite 1Satellite 2Satellite 3 d1d2d3 Récepteur

Une seule distance ne suffit pas : elle place le récepteur sur une sphère. Avec deux satellites, on obtient un cercle. Avec trois, il reste deux points, dont un est absurde (loin dans l'espace) : on l'écarte. Il faut donc trois distances pour la position, et une quatrième mesure pour l'horloge du récepteur (voir plus bas). La figure est un schéma en deux dimensions : elle montre seulement les trois distances d1, d2 et d3 qui aboutissent au récepteur.

Mais il y a un piège. L'horloge du téléphone est une simple horloge à quartz, bien moins précise qu'une horloge atomique. Son erreur est une inconnue de plus à déterminer. On ajoute donc un quatrième satellite : avec quatre satellites, on obtient les trois coordonnées $(x ; y ; z)$ et la correction de l'horloge du récepteur.

Entraîne-toi★☆☆Pas commencé
Expliquer le principe de la géolocalisation par satellites (GPS, Galileo) en citant le rôle de l'horloge atomique et du temps de propagation du signal.

Expliquer le principe de la géolocalisation par satellites (GPS, Galileo) en citant le rôle de l'horloge atomique et du temps de propagation du signal.

Résoudre
Entraîne-toi★☆☆Pas commencé
Un signal radio se propage à $c=300\,000$ km/s. Un satellite est à 20 200 km d'un récepteur situé à la verticale. a) Calculer le temps de propagation en secondes…

Un signal radio se propage à $c=300\,000$ km/s. Un satellite est à 20 200 km d'un récepteur situé à la verticale.

  1. a) Calculer le temps de propagation en secondes (arrondir au dix-millième) puis en millisecondes (arrondir au dixième).
  1. b) Pourquoi une erreur d'horloge d'une microseconde est-elle gênante ?
Résoudre
Entraîne-toi★★☆Pas commencé
Une erreur d'horloge de $\Delta t = 2\ \mu\text{s}$ affecte la mesure du temps de propagation d'un signal. a) Calculer l'erreur de distance correspondante avec…

Une erreur d'horloge de $\Delta t = 2\ \mu\text{s}$ affecte la mesure du temps de propagation d'un signal.

  1. a) Calculer l'erreur de distance correspondante avec $c=3\times10^{8}$ m/s.
  1. b) Pourquoi faut-il au moins quatre satellites pour obtenir une position en trois dimensions et corriger l'horloge du récepteur ?
Résoudre

Précision et sources d'erreur

Un téléphone est en général précis à quelques mètres en terrain dégagé. Cette précision se mesure en comparant la position affichée à une position connue : l'erreur moyenne est la moyenne des écarts relevés.

$$\text{erreur moyenne} = \frac{\text{somme des écarts}}{\text{nombre de relevés}}$$

Plusieurs facteurs dégradent la précision :

  • les bâtiments (en ville, les signaux rebondissent : on parle de trajets multiples) ;

  • une faible couverture du ciel (tunnel, forêt dense, intérieur) ;

  • la traversée de l'atmosphère, qui ralentit un peu le signal ;

  • une mauvaise répartition des satellites dans le ciel.

Pour l'améliorer, on peut utiliser plusieurs constellations à la fois (GPS + Galileo), un récepteur double fréquence, ou un système de correction au sol.

Entraîne-toi★★★Pas commencé
Un récepteur GPS fixe affiche une position qui varie légèrement. Les distances mesurées à un point de contrôle sur 5 relevés sont : 3,2 m ; 4,1 m ; 2,8 m ; 3,9 m ; 3,5…

Un récepteur GPS fixe affiche une position qui varie légèrement. Les distances mesurées à un point de contrôle sur 5 relevés sont : 3,2 m ; 4,1 m ; 2,8 m ; 3,9 m ; 3,5 m.

  1. a) Calculer l'erreur moyenne.
  1. b) Un service utilise la position pour guider un piéton sur un trottoir large de 2 m. Cette précision est-elle suffisante ? Justifier.
  1. c) Citer deux facteurs (bâtiments, couverture satellite…) qui dégradent la précision et un moyen de l'améliorer.
Résoudre

Les trames NMEA 0183

Un récepteur GPS envoie ses résultats sous forme de trames de texte au protocole NMEA 0183. Chaque trame est une ligne dont les champs sont séparés par des virgules. Elle commence par $ et finit par * suivi d'une somme de contrôle (pour détecter les erreurs de transmission).

Le premier champ indique le type de trame. Par exemple GPGGA donne la position et la qualité du signal, GPRMC la position, la vitesse et la date.

Voici une trame fictive (sa somme de contrôle est donnée à titre d'illustration et n'a pas été vérifiée) :

$GPGGA,094530,4513.30,N,00506.20,E,1,07,1.1,230.0,M,48.0,M,,*5A

Champ Valeur Signification
GPGGA type de trame
094530 09:45:30 heure UTC (hhmmss)
4513.30 45° 13,30' latitude (ddmm.mmm)
N nord hémisphère
00506.20 5° 06,20' longitude (dddmm.mmm)
E est est ou ouest
1 1 qualité du signal (0 = pas de position)
07 7 nombre de satellites utilisés
230.0 230 m altitude

La vitesse dans une trame GPRMC est donnée en nœuds. Pour la convertir : $1\ \text{nœud} = 1{,}852\ \text{km/h}$. Par exemple, 10 nœuds valent $10 \times 1{,}852 = 18{,}52$ km/h.

Entraîne-toi★★☆Pas commencé
Une trame NMEA 0183 est :…

Une trame NMEA 0183 est :

$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47

  1. a) Donner l'heure UTC (hh:mm:ss) de la mesure.
  1. b) Donner la latitude en degrés et minutes, avec son hémisphère.
  1. c) Donner le nombre de satellites utilisés (le champ après la qualité du signal).
Résoudre
Entraîne-toi★★★Pas commencé
Un récepteur lit la trame…

Un récepteur lit la trame $GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3,E*62.

  1. a) Interpréter les champs : heure UTC, statut (A = valide), latitude, longitude, vitesse en nœuds.
  1. b) Convertir la latitude en degrés décimaux (arrondir au millième) en sachant que $1°=60'$ et qu'elle est dans l'hémisphère Sud (valeur négative).
  1. c) Convertir 12,5 nœuds en km/h sachant que $1\text{ nœud}=1{,}852$ km/h.
Résoudre

Les cartes numériques

Une position GPS n'a de sens que posée sur une carte. Les cartes numériques sont organisées en couches d'informations superposées : fond de plan, routes, bâtiments, relief, limites administratives, etc. Tu peux afficher ou masquer ces couches.

Sur ton téléphone, tu peux aussi régler la confidentialité de ta position : dans les paramètres, chaque application reçoit l'autorisation d'accéder à ta position « jamais », « pendant l'utilisation » ou « toujours ». Tu choisis donc si tu la partages ou non.

Deux services à connaître :

  • GéoPortail : le portail de l'Institut national de l'information géographique et forestière (IGN). Il propose des cartes, des photographies aériennes et de nombreuses couches (cadastre, risques, relief…). Il s'agit d'un service public.

  • OpenStreetMap (OSM) : une carte du monde construite collaborativement par des contributeurs bénévoles, sous licence libre (ODbL). Tout le monde peut l'utiliser et la modifier.

Entraîne-toi★☆☆Pas commencé
Citer deux services de cartes numériques (par exemple GéoPortail, OpenStreetMap) et donner une différence entre eux (organisme, licence ou usage).

Citer deux services de cartes numériques (par exemple GéoPortail, OpenStreetMap) et donner une différence entre eux (organisme, licence ou usage).

Résoudre

Calculer un itinéraire : les graphes pondérés

Pour calculer un itinéraire, le logiciel représente le réseau routier par un graphe pondéré : les sommets sont les carrefours ou les villes, les arêtes sont les routes, et chaque arête porte un poids (durée en minutes, distance en km…).

Le poids d'un chemin est la somme des poids de ses arêtes. Chercher l'itinéraire le plus rapide, c'est chercher le chemin de poids minimal.

Graphe pondéré à cinq sommets A, B, C, D, E avec des durées en minutes sur chaque arête. ACBDE 241583

L'algorithme de Dijkstra trouve le plus court chemin depuis un sommet de départ. Principe :

  1. Le départ a la distance 0, les autres sommets ont une distance provisoire infinie.

  2. On choisit le sommet non encore définitif de plus petite distance provisoire : sa distance devient définitive.

  3. Pour chacun de ses voisins, on teste si passer par lui raccourcit le chemin ; si oui, on met à jour la distance provisoire.

  4. On recommence jusqu'à ce que l'arrivée soit définitive.

Entraîne-toi★★☆Pas commencé
Le réseau routier entre cinq villes est modélisé par un graphe pondéré (durées en minutes) : A–B 30, A–C 50, B–C 15, B–D 40, C–D 20, C–E 45, D–E 10. a) Donner la durée…

Le réseau routier entre cinq villes est modélisé par un graphe pondéré (durées en minutes) : A–B 30, A–C 50, B–C 15, B–D 40, C–D 20, C–E 45, D–E 10.

  1. a) Donner la durée du trajet A–B–D–E.
  1. b) Trouver l'itinéraire le plus court en durée de A à E et sa durée.
Résoudre
Entraîne-toi★★★Pas commencé
On applique l'algorithme de Dijkstra au graphe pondéré : S–A 7, S–B 2, B–A 3, A–C 1, B–C 8, C–T 4, A–T 9. a) Dérouler l'algorithme depuis S en donnant les distances…

On applique l'algorithme de Dijkstra au graphe pondéré : S–A 7, S–B 2, B–A 3, A–C 1, B–C 8, C–T 4, A–T 9.

  1. a) Dérouler l'algorithme depuis S en donnant les distances provisoires puis définitives.
  1. b) Donner le plus court chemin de S à T et sa longueur.
  1. c) Expliquer pourquoi le chemin avec le moins d'étapes n'est pas forcément le plus court.
Résoudre

Retour au début : le téléphone de Lucas mesure les temps de propagation de signaux venus d'au moins quatre satellites, en déduit sa position, la place sur une carte, puis cherche sur un graphe pondéré le trajet le plus court jusqu'à la gare.

L'essentiel

  • Un récepteur GPS ou Galileo calcule sa position à partir du temps de propagation de signaux émis par des satellites équipés d'horloges atomiques : $d = c \times \Delta t$.

  • Il faut quatre satellites : trois pour $x$, $y$, $z$ et un pour corriger l'horloge du récepteur. 1 µs d'erreur donne environ 300 m.

  • La précision est de quelques mètres ; elle est dégradée par les bâtiments, le manque de ciel visible et l'atmosphère.

  • Une trame NMEA 0183 est une ligne de champs séparés par des virgules (heure UTC, latitude ddmm.mmm, hémisphère, nombre de satellites…). Degrés décimaux $=$ degrés $+$ minutes$/60$ ; 1 nœud $= 1{,}852$ km/h.

  • GéoPortail (IGN, service public) et OpenStreetMap (collaboratif, licence libre) sont deux services de cartes numériques organisés en couches.

  • Un itinéraire se calcule sur un graphe pondéré avec l'algorithme de Dijkstra ; le plus court en poids n'est pas forcément celui qui a le moins d'étapes.

Voir tous les exercices de cette partie