RTKLIB: le GPS haute précision abordable…

Les GPS courant que nous avons par exemple dans nos smartphones offrent une précision de localisation de quelques mètres (en général 5 à 10m en milieu urbain).

Pour certains usages, il est nécessaire d’avoir une bien plus grande précision, par exemple pour le guidage de piétons malvoyants, pour le guidage de véhicules autonomes, mais aussi pour collecter des données cartographiques de haute précision destinée à ce guidage.

Il existe du matériel professionnel relativement coûteux (quelques milliers d’euros) mais des alternatives bien plus abordables sont désormais disponibles, c’est ce que je vais explorer dans ce billet qui sera sûrement un peu long ou en plusieurs épisodes.

Comment fonctionne le système GPS ?

Commençons par ce petit rappel qui permettra d’y voir plus clair sur la suite. Vous pouvez aussi lire l’article wikipédia sur le sujet .

Le système GPS a été lancé par les militaires américains dans les années 80 et est pleinement opérationnel depuis 1995. Depuis 2000 le système a été plus largement ouvert aux usages civils en supprimant un brouillage artificiel qui dégradait artificiellement la précision des positions à une centaine de mètres.

Il fonctionne à l’aide d’un ensemble de satellites qui tournent autour de la terre et passent et repassent régulièrement au dessus de notre tête.

Ces satellites émettent un signal synchronisé à l’aide d’horloges atomique de haute précision et nos récepteurs déterminent le temps de parcourt de ce signal pour calculer la distance qui nous sépare de chaque satellite.

Dès que la distance à 3 satellites est calculée, on peut déterminer notre position (latitude, longitude) sur le globe terrestre par triangulation en partant des positions des satellites sur leur orbite.

Avec un 4ème signal, on peut aussi déterminer notre hauteur par rapport à un globe terrestre simplifié (ellipsoïde). En ajoutant plus de satellites on améliore la précision.

Depuis quelques années, les satellites américains du système GPS ne sont plus les seuls dans le ciel. Le système russe GLONASS fonctionne sur un principe similaire et les récepteurs actuels combinent les deux système pour avoir plus plus de précision et un temps plus court pour se synchroniser sur les signaux.

Les chinois déploient aussi leur système (BEIDOU) mais celui-ci couvre essentiellement l’Asie et n’est pas exploitable en Europe.

L’Europe est en train de déployer GALILEO, une autre série de satellites qui entre petit à petit en fonctionnement.

On a ainsi en France en moyenne entre 15 et 20 satellites visibles dans le ciel.

Précision et sources d’imprécision

Tout se base donc sur le temps de transmission des signaux, la synchronisation des horloges, la position des satellites dans l’espace. Cette position des satellites est transmises dans le signal GPS (les “éphémérides” ou “almanach”), mais il s’agit d’une position théorique qui n’est pas d’une grande précision.

La précision de chaque élément va influer sur la précision du résultat, donc la précision de la position calculée.

Les sources d’erreur proviennent des perturbations dans la transmission du signal dans la ionosphère, de la précision des horloges, de l’exactitude de la position des satellites dans l’espace… voire même la vitesse de rotation (variable !) du globe terrestre et les perturbations locales comme les réflexions des signaux sur les bâtiments ou le masquage de certains satellites par des obstacles (bâtiments, végétation, etc).

Passer en haute précision…

Cela revient à éliminer ces accumulations d’erreurs. La principale provient des perturbations lors du passage dans la ionosphère.

Pour déterminer cette erreur, l’idée est simple: on utilise un récepteur à une position connue (la “base”), qui va déterminer l’erreur du signal reçu en le comparant à celui qu’il aurait dû recevoir vu sa position.

Cette erreur reste stable dans une zone proche (quelques kilomètres) et permet donc de corriger le signal reçu par un récepteur proche (le “rover”) qui pourra du coup calculer sa position avec une bien plus grande précision. On passe facilement ainsi en dessous du mètre voire nettement mieux !

Temp-réel ou post-traitement

Dans l’idéal on peut appliquer la correction en temps-réel, mais il faut dans ce cas que le rover ait accès en temps réel aux données de la base.

On peut aussi faire du post-traitement, c’est à dire enregistrer le signal brut avec son erreur, puis refaire le calcul de position plus tard en y combinant les erreurs déterminées par la base.

La majorité des récepteurs GPS ne permet pas d’enregistrer les signaux bruts avant calcul de la position, mais depuis quelques années des modèles “raw” offrent l’accès à ces données brutes.

Rover et bases

On peut avoir 2 récepteurs, dans ce cas il faudra déterminer avec exactitude la position de celui qu’on mettra en “base”. On peut le faire en le positionnant à un emplacement aux coordonnées connues, par exemple une borne géodésique IGN.

Lorsque l’on n’a qu’un récepteur (rover) on pourra utiliser une base proche dont les données sont diffusées publiquement. Il en existe plusieurs centaines en France, souvent utilisées pour la positionnement précis d’engins agricoles.

Les données de corrections ne sont que rarement diffusées en temps réel (ou alors via un abonnement payant), elles le sont le plus souvent avec 1 à 2h de décalage, ce qui permet de faire du post-traitement. On peut donc effectuer des mesures sur le terrain, le récepteur GPS donnera à ce moment une position avec quelques mètres de précision, puis faire un post-traitement pour obtenir une position bien plus précise.

RTKLIB

Il s’agit d’une librairie open source qui permet :

  • d’enregistrer les données brutes provenant d’un récepteur GPS,

La version Windows de RTKLIB offre des outils avec interface graphique, la version Linux ou OSX n’a que des outils en ligne de commande sans interface graphique.

RTKLIB a une documentation assez détaillée (plus de 180 pages) mais pas forcément facile d’accès vu la complexité du domaine et les nombreuses possibilités.

Le choix des récepteurs GPS

N’importe quel GPS ne peut pas convenir, il faut un modèle permettant l’accès aux mesures brutes (RAW).

Plusieurs fabricants proposent des modèles avec sortie “RAW” et RTKLIB est compatible avec certains modèles (listé en appendice D.2 du manuel de RTKLIB).

J’ai fait mes tests avec deux récepteurs u-blox NEO-M8T que l’on trouve doté d’une antenne et d’une prise USB pour environ 100€ .

Image for post
Image for post

Le modèle NEO-M8N que l’on trouve à environ 35€ peut lui aussi fonctionner en mode “RAW” en le reconfigurant avec des commandes non documentées (que RTKLIB peut envoyer automatiquement).

Written by

40 ans d'informatique + 33 de base de données + 25 d'internet + 11 de cartographie = #OpenStreetMap + #opendata + #logiciel_libre

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store