Image tirée de : http://www.webdo.tn/wp-content/uploads/2017/12/satellite.jpg 

Positionnement GPS : du mètre au millimètre

 

ENSTA Bretagne

2 rue F. Verny

29806 Brest Cedex 9, France

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Contenu

Mots clés. 3

Keywords. 3

Résumé. 3

Abstract 3

Introduction. 4

Développement 4

1.      Rapport bibliographique. 4

1.1 Les GNSS. 4

Origine. 4

Fonctionnement 5

Applications et exemples. 6

1.2  Un GNSS particulier : Le GPS. 7

Historique et mode de fonctionnement 7

Normes de fonctionnement NMEA. 8

1.3   Aspect technique et métrologique. 8

Le port série. 8

Le Lambert 93. 9

2.      Communication avec un récepteur GPS : Le G-STAR IV. 10

2.1    Acquisition et transformation des données. 10

Acquisition. 10

Transformation des données. 12

2.2    Représentation graphique. 13

3.      Qualité métrique de deux récepteurs différents, G-STAR IV et Proflex 8000. 15

3.1    Récupération de données exploitables. 15

Acquisition. 15

Conversion des données en Lambert 93. 16

3.2   Calculs de fidélité, justesse et exatitude. 16

Méthodes de calcul 16

Obtention des résultats. 17

Conclusion. 19

Bibliographie. 19

Annexe. 20

 

Mots clés

 

Géolocalisation, Satellite, Port série, Trilatération, Précision 

Keywords

 

Geolocation, Satellite, Serial Port, Trilateration, Accuracy

Résumé

 

La géolocalisation est aujourd’hui un outil indispensable dans de nombreux domaines. En effet, savoir se positionner est essentiel aussi bien pour des personnes civiles que militaires. L’objectif de ce rapport est de présenter un moyen de géolocalisation particulier : la géolocalisation par GPS. Aujourd’hui, c’est cet outil qui est le plus utilisé pour se positionner sur le globe. Après avoir présenté de manière générale les systèmes de géolocalisation par satellites, dont découle le GPS, nous avons étudié ce dernier de manière théorique en nous intéressant particulièrement aux normes de fonctionnement NMEA qui régissent les interactions entre le GPS et les systèmes informatiques. Suite à cela, nous avons présenté plusieurs aspects techniques nécessaires à l’utilisation des récepteurs GPS dont nous nous sommes servis : le G-STAR IV de la marque GlobalSat et  le Proflex 500 de la marque Ashteck. Une fois l’étude du port série réalisée, nous avons produit les codes permettant d’extraire et de rendre exploitables les trames NMEA des GPS. Nous avons ensuite exploité ces informations afin de visualiser les positions des récepteurs et des satellites mais aussi d’évaluer les différentes erreurs de mesures. L’objectif final est de comparer l’exactitude des mesures de position des deux récepteurs GPS.

Abstract

 

Today, geolocation is an essential tool in numerous sectors. In fact, it’s very important for civilians and militaries to be able to position themselves. This report aims to outline a particular way of geolocation: the geolocation one by GPS. Today, this is the most used to position yourself on the globe. Firstly, we will present generally global navigation satellite system. After that, we have studied a particular system: the GPS system. We have mainly insisted on the NMEA frames, allowing communication between computers and GPS. Furthermore, we’ll deal with technical aspects needed to make our GPS receptors (G-STAR IV, Proflex 500) work properly. Once the serial port study done, we have coded programs to extract and exploit NMEA frames from the GPS. Then, we analysed this information to visualize receptors and satellites positions, and finally assess the measurement errors. The ultimate goal is to compare the accuracy of positioning measurement of both GPS receptors.

 

 

 

 

Introduction

 

            Avant d’acquérir un système de géolocalisation, il est intéressant de comparer les performances de différents récepteurs, afin de choisir celui qui correspondrait le mieux à nos attentes. Ce rapport a pour objectif d’étudier deux produits : le G-STAR IV, le Proflex 500 et leurs performances sur des sollicitations précises. Le fonctionnement de ces systèmes est différent, tout comme leur qualité et donc leur prix, ce qui rend cette comparaison d’autant plus intéressante.

 

               Les récepteurs doivent obéir à certaines exigences, renvoyer des informations d’une exactitude sur la position imposée par le cahier des charges, mais aussi sur les satellites communiquant avec ces récepteurs. Après avoir réalisé une étude théorique de ces systèmes, nous nous concentrerons sur les interfaces entre ces produits et les systèmes informatiques, puis enfin sur l’exploitation des données acquises.

 

               Nous pourrons ainsi conclure sur l’exactitude relative de nos deux récepteurs, sujets d’étude.

Développement

1.    Rapport bibliographique

 

  L'homme a toujours cherché à connaître avec précision le monde qui l'entoure. Ainsi, savoir se positionner est devenu un besoin essentiel. On appelle géolocalisation l'ensemble des « Techniques de détermination de la situation géographique précise d'un lieu ou, à un instant donné, d'une personne, d'un véhicule ou d'un objet ». Il existe aujourd'hui plusieurs procédés de géolocalisation : par satellites, par Wi-Fi, par GSM… Une des techniques les plus connues est sans aucun doute la localisation par GPS (pour Global Positioning System) qui est une méthode particulière de géolocalisation par satellites. Un système de positionnement par satellites est appelé GNSS (pour Global Navigation Satellite System). Actuellement, de nombreux GNSS sont en cours de développement à l’échelle mondiale. Nous sommes donc en mesure de nous demander pourquoi les GNSS, et notamment le GPS, font aujourd’hui partis des systèmes les plus utilisés. 

L’objectif de ce rapport bibliographique est d’abord de présenter les origines des systèmes de géolocalisation par satellites ainsi que leur principe de fonctionnement. Par la suite nous étudierons un GNSS particulier, le GPS,  au travers d’un historique ainsi que de l’étude des normes régissant son fonctionnement. Enfin, nous présenterons un outil nécessaire pour acquérir des données provenant de récepteurs GPS avec Python : le port série.

1.1 Les GNSS

 

L’objectif d’un système de géolocalisation par satellites est de permettre la détermination de la position et de la vitesse d’un élément à la surface de la terre. En outre il doit également permettre d’attester de la fiabilité des informations fournies.

 Origine

 

Les premiers GNSS sont assez récents dans la mesure où ils sont apparus avec le début de l’ère spatiale et les premiers satellites à la fin des années 1960. En outre ce type de système requiert également de pouvoir mesurer le temps de manière précise : l’homme n’a été capable de le faire qu’avec l’invention de la première horloge atomique à ammoniac mise au point au milieu du 20eme siècle.

               Le tout premier système de géolocalisation par satellites est mis au point en 1964 par les États-Unis pour son armée et est appelé TRANSIT (la version civile sera elle disponible à partir de 1967). [3] Il fonctionnait en utilisant le principe de l’effet Doppler, mais possédait cependant plusieurs inconvénients. D’abord il était d’une précision assez faible : initialement doté d’une précision inférieure au kilomètre, la plupart des mesures permettaient de localiser un élément avec un écart par rapport à la position réelle allant de 200 à 500 mètres. La meilleure précision obtenue avec ce type de système de géolocalisation a été de 80cm. Le second défaut majeur de ce système est le nombre de satellites utilisés pour obtenir les mesures. Étant insuffisant pour couvrir totalement toute la surface du globe, les mesures de position pouvaient parfois mettre plus d’une journée à être effectuées. Ce système a toutefois été utilisé jusqu’à la fin des années 1980.

Suite à cela, les États-Unis ont cherché à concevoir un système plus performant : c’est à cette époque que le système GPS a vu le jour. Ce système, tout comme les GNSS apparues après le système TRANSIT, fonctionne sur un principe différent que nous allons maintenant présenter.

 

Fonctionnement

 

               Aujourd’hui, les systèmes de géolocalisation par satellites fonctionnent sur le principe suivant : un récepteur mesure le temps de propagation d’une onde émise par un satellite. Un point de l’espace étant repéré par 3 coordonnées il faut donc, pour déterminer une position, effectuer cette mesure avec 3 satellites. Le principe de trilatération, qui repose sur des mesures de distances permet alors, en tenant compte de quelques ajustements, de déterminer la position et la vitesse du récepteur. Cependant pour déterminer les distances inconnues à partir des temps de propagation des ondes, le satellite et le récepteur doivent utiliser deux échelles de temps synchronisées. [1][2] Chaque GNSS utilise donc sa propre échelle de temps en lien avec celles classiquement utilisées. Trois échelles de temps sont aujourd’hui principalement utilisées : deux échelles de temps universelles (le temps UT1 et le temps UTC) et une échelle de temps atomique TAI. La différence réside dans la méthode de définition de la seconde.

Dans le cas du temps universel UT1, la seconde est définie par rapport à la rotation de la Terre. En effet  si on appelle Ω la vitesse de rotation de la Terre, le produit de Ω par le temps universel UT1 donne l’angle de rotation de la Terre par rapport au référentiel géocentrique.

Le temps atomique international (TAI) est quant à lui défini de manière tout à fait différente : c’est en 1967 que la seconde est définie lors de la 13ème Conférence générale des poids et mesures. Une seconde correspond à la durée de 9 192 631 770 périodes de la radiation émise, correspondant à la transition entre les deux niveaux hyperfins de l'état fondamental de l'atome de césium 133.

Enfin le temps universel coordonné (UTC) est défini comme le TAI décalé d’un certain nombre (entier) de secondes afin de correspondre au maximum au temps universel UT1. En pratique, puisque l’on souhaite que la différence UTC-UT1 soit inférieure en valeur absolue à 0.9s, le temps universel coordonné  est actuellement UTC=TAI-37s.

Au niveau pratique, les satellites des GNSS sont donc équipés d'horloges atomiques pour permettre une mesure extrêmement précise du temps. C'est essentiel dans la mesure où une erreur d'une microseconde sur la mesure du temps conduit à une erreur de 300m sur la distance séparant le récepteur du satellite. Concrètement, une erreur de 10 millisecondes provoque une erreur de plus de 3000km sur le calcul de la position. Ainsi les satellites d'un GNSS peuvent embarquer plusieurs horloges atomiques comme par exemple des masers à hydrogène, des horloges atomiques au césium et aussi parfois des horloges atomiques au rubidium.

 

 Pour des raisons financières et d'encombrement, les récepteurs sont quant à eux équipés d'horloges à quartz moins précises. Cette différence de précision se voit particulièrement au niveau de la dérive journalière : chaque jour un décalage d'une dizaine de millisecondes peut être observé sur ces oscillateurs à quartz, en revanche, sur les horloges atomiques, ce décalage n'est que de quelques nanosecondes.

Pour fonctionner, chaque système de géolocalisation par satellites a donc besoin de sa propre échelle de temps mais aussi de son propre référentiel. C'est dans ce système de référence, propre à chaque GNSS, que sera exprimée la position du récepteur. Le calcul de la position s'effectue dans le récepteur, une fois les signaux émis par les différents satellites reçus.

L’obtention d’une mesure de positionnement par GNSS requiert donc 4 satellites [1] : 3 pour la détermination des inconnues de position et une pour la détermination de l’inconnue de temps qui permet de synchroniser les échelles de temps entre l’émetteur et le récepteur. En conséquence, pour obtenir une couverture complète de la Terre avec un GNSS il faut qu’à tout instant 4 satellites puissent interagir avec un récepteur. En pratique, en tenant compte des vitesses des satellites et des trajectoires de leurs orbites, il faut alors un peu plus d’une vingtaine de satellites pour qu’un GNSS soit opérationnel. Par exemple le système GPS était constitué à l’origine de 24 satellites mais en comporte aujourd’hui 31.

 

Applications et exemples

 

Si le GPS évoqué précédemment est aujourd’hui le système de géolocalisation par satellite le plus utilisé, d’autres GNSS sont actuellement en développement  [2] [3]:

               -L’Europe développe actuellement son propre GNSS appelé GALILEO. En fonction depuis la fin de l’année 2016, il fonctionne en coopération avec les systèmes GPS bien qu’initialement, les États-Unis souhaitant conserver leur monopole dans ce domaine, étaient réticents à ce que l’Europe élabore son propre système de géolocalisation. Ce système d’autant plus utile qu’il s’agit d’un système civil  qui aura une meilleure intégrité que le système GPS. Il fournira la mesure de position mais sera aussi capable de mieux estimer l’erreur de la mesure qu’il fournit.

               -La Russie a été la deuxième nation à développer son propre système de géolocalisation par satellites appelé GLONASS. Mis en marche en 1996, il a présenté des problèmes de fonctionnement dès 1997. Laissé à l’abandon avec la chute de l’URSS, il sera finalement remis en marche en 2010 notamment grâce au lancement de plusieurs satellites. Il comporte aujourd’hui une trentaine de satellites.

               -D’autres pays ont également développé leurs GNSS comme par exemple la Chine et son système Beidou qu’elle souhaite actuellement améliorer en un système global appelé Compass. L’Inde et le Japon développent également leurs GNSS avec les systèmes  IRNSS (Indian Regional Navigational Satellite System) et  QZSS (Quasi-Zenith Satellite System). La particularité de ces deux systèmes est que ce sont des systèmes locaux : ainsi le système IRNSS doit permettre de se positionner sur l’Inde et ses alentours tandis que le système QZSS permettra de se repérer au Japon et dans les régions voisines.

 

Enfin pour améliorer la qualité des mesures ainsi que leur fiabilité, il est possible d’avoir recours à des systèmes augmentant les performances des GNSS. Ces systèmes appelés « système d’augmentation de performances par satellites » ou SBAS (pour Satellite Based Augmentation System) reposent sur l’utilisation de satellites géostationnaires, en orbite à des altitudes bien plus élevées que celles des satellites du système GPS, orbitant à une altitude de 20200km environ. Ces satellites permettent d’obtenir des éléments de correction afin de tenir compte des différentes perturbations que l’onde rencontre lors de sa propagation.

 

Ces perturbations peuvent être dues aux différences de composition des couches de l'atmosphère traversée par l'onde. Il existe plusieurs types de SBAS mais on peut s’intéresser plus particulièrement à deux de ces systèmes :

               -Le premier système appelé WAAS (pour Wide Area Augmentation System) est un SBAS américain qui permet d’atteindre une précision allant de 1.5m à 3m sur l’Amérique du Nord. Il est composé de 3 satellites.

               -Le second système appelé EGNOS (pour European Geostationary Navigation Overlay System) permet d’atteindre une précision de 2m sur la quasi-totalité de l’Ouest de l’Europe et devrait prochainement couvrir l’Afrique du Nord. Il fonctionne grâce à 5 satellites.

 

1.2  Un GNSS particulier : Le GPS

 

Si de nombreux GNSS sont aujourd’hui en développement, le système le plus utilisé est sans aucun doute le système GPS que nous allons maintenant étudier plus précisément.

Historique et mode de fonctionnement

 

Le GPS est un descendant direct du GNSS TRANSIT présenté précédemment. Développé par l’armée américaine, le premier satellite composant le système GPS est lancé en 1978. Il faudra cependant attendre 1995 pour que le système soit pleinement opérationnel. Il est alors composé de 24 satellites plus 4 satellites de réserve. Bien qu'il soit initialement prévu pour un usage exclusivement militaire, un accident survenu en 1983 va changer la donne. En effet, cette année-là, un avion de la Korean Airlines est abattu par un avion de chasse soviétique après qu'il a pénétré dans l'espace aérien soviétique. Le président américain de l'époque Ronald Reagan propose alors que le système GPS devienne accessible aux civils. Cependant, il met seulement à disposition une version « dégradée » moins précise  du GPS afin d'éviter son utilisation militaire par un éventuel ennemi.

Le système GPS est composé de plusieurs blocs de satellites. [1] Trois de ces cinq blocs sont principalement utilisés aujourd'hui. Les deux blocs les plus anciens le BLOC I et le BLOC II, IIA comportent 39 satellites mais 2 seulement sont encore opérationnels aujourd'hui. Le BLOC IIR et le  BLOC IIF comportent chacun 12 satellites qui sont tous encore opérationnels. Le BLOC IIR-M comporte 8 satellites dont 7 sont toujours opérationnels. Enfin un BLOC III est actuellement en développement.

 

Le système GPS possède deux modes de fonctionnements : le mode SPS (pour Standard Positioning Service) et le mode PSP (pour Precise Service Positioning) :

- Mode de fonctionnement SPS : c'est le mode de fonctionnement adapté à un usage civil du GPS. Ce service basique est gratuit et peut être utilisé par toute personne possédant un récepteur GPS. La précision de ce mode de fonctionnement est d'environ 100m. Il a été soumis pendant un moment au système SA des Américains pour dégrader la qualité de la mesure de la position. En outre il existe des restrictions d’usage liées à la vitesse du récepteur afin d’éviter qu’un récepteur civil puisse être utilisé pour guider par exemple un missile balistique.  Cette limite de vitesse est aujourd’hui fixée à 600m/s.  Auparavant il existait également des limites liées à l’altitude du récepteur (environ 18000m) mais ces dernières ont été supprimées.

- Mode de fonctionnement PSP : c'est le mode de fonctionnement à usage militaire réservé aux américains et leurs alliés, il requiert un identifiant et il est doté d’une bien meilleure précision (environ 10 m).

La transmission des signaux [1] par les satellites se fait usuellement au moyen de deux porteuses L1 et L2 dont les fréquences légèrement différentes (1575,42 MHz pour L1 1277,60MHz pour L2) confèrent à ces deux ondes un comportement légèrement différent lors de leurs propagations. C’est particulièrement utile dans le cas des récepteurs bi-bandes qui peuvent, en analysant  les erreurs résultant des deux porteuses, offrir une mesure d’une plus grande précision. Cependant pour une grande majorité de récepteur, seule la porteuse L1 est utilisée.

Normes de fonctionnement NMEA

 

Afin de pouvoir analyser ou bien traiter en temps réels des données, le GPS doit être capable d’interagir avec divers systèmes informatiques.  Des normes de fonctionnement ont donc été créées afin de régir ce fonctionnement : ce sont les normes NMEA. Le protocole NMEA (National Marine Electronics Association), permet le dialogue en réseau de différents périphériques informatiques. Nous devons distinguer deux normes NMEA : la norme NMEA 0183 et la norme NMEA 2000. La première, plus ancienne, est basée sur une communication série assez lente mais est directement lisible, contrairement à la norme NMEA 2000.

Pour fonctionner, le protocole NMEA 0183 a besoin d’un autre processus de communication : le RS-232 qui nécessite l’usage d’un port série. Il est relativement simple d’usage car il repose sur l’utilisation de caractères ASCII codés sur 8 bits. Une trame NMEA, phrase renvoyée par le récepteur, rendant compte des informations acquises, est basée sur le fonctionnement suivant :

- on commence la trame par le symbole $.

- on indique le type d’émetteur grâce à son indicatif composé de deux lettres : par exemple GP pour GPS.

- on indique le type de phrase par les trois caractères suivants ceux concernant l’émetteur.

- on donne les valeurs des différentes propriétés, en fonction du type d’émetteur et du type de phrase utilisée, toutes séparées par une virgule.

- on termine la phrase par *, accompagné d’un checksum basé sur un algorithme simple.

Le protocole NMEA 2000 renvoie des données binaires compactes et non lisibles contrairement au NMEA 0183. Notre projet requiert l’utilisation du NMEA 0183 donc ici nous ne nous intéresserons pas au NMEA 2000.

1.3   Aspect technique et métrologique

Le port série

 

Du point de vue technique, la communication entre le GPS et un ordinateur se fait à travers une interface appelée « port série ». Tout d’abord, le port série est très largement utilisé, et ce depuis longtemps, car il permet une communication rapide et efficace avec différents périphériques tels que la souris. De plus, sa connectique est très simple et ne nécessite que quelques fils. On trouve deux ports séries différents, qui se distinguent l’un de l’autre uniquement par leur nombre de broches : 9 pour le DB9 et 25 pour le DB25 (plus ancien).

 

                                    

                        Port série DB9                                                                    Port série DB25

    

Le DB25 contient une grande majorité de connecteurs non utilisés, contrairement au DB9. En effet, on retrouve toutes les fonctions assurées par le DB9 dans le DB25, ce dernier ne contenant que quelques propriétés additionnelles non principales. On retrouve notamment une mise à la terre, un port de transmission, un de réception, et des connecteurs servant à indiquer l’état du périphérique et de l’ordinateur (prêt à la communication/envoi de données ou non). [6]

Il existe plusieurs standards pour le port série : RS 422, RS485 et enfin celui que nous allons utiliser le RS 232. Le port transfert un bit à la fois, et il le fait par l’intermédiaire de l’envoi de signaux électriques : un 0 correspond à une tension entre 3 et 25V et un 1 correspond à une tension entre -3 et -25V.

Pour fonctionner, il a néanmoins besoin de quelques paramètres de configuration :

- Le plus important, le baud rate, qui définit le nombre de bits transmit par seconde

- La longueur des données, de 5 à 8 bits (8 bits pour le G-STAR)

- La parité, qui permet de détecter les erreurs de transmission, soit none, even ou odd (None pour le G-STAR)

- Le nombre de bits d’arrêts pour la synchronisation (1 pour G-STAR)

Le Lambert 93

 

L’analyse des données renvoyées par le GPS nécessite néanmoins la conversion de celles-ci en Lambert 93 : en effet, la conversion permet d’avoir des coordonnées géographiques planes. Tout d’abord, le CNIG (Conseil National de l'Information Géographique), a conseillé l’IGN (institut national de l’information géographique et forestière) de définir un nouveau système géodésique : le RGF93. Les informations de ce système se présentent sous forme de coordonnées tridimensionnelles : longitude, latitude et hauteur ellipsoïdale.

Néanmoins, nous avons actuellement besoin de coordonnées planes issues d’une projection géographiques, à cause de l’exploitation GPS que nous avons. Une nouvelle projection a donc été réalisée par l’IGN, en utilisant l’ellipsoïde IAG-GRS80. La projection est une conique conforme, mais elle conserve néanmoins l’appellation Lambert, comme toutes celles réalisées avant elle (Lambert I, II, III etc…). Par ailleurs, le modèle Lambert-93 est souvent opposé au modèle CC (conique conforme) 9 zones. Ce modèle, comme son nom l’indique, comporte 9 zones de projection réparties sur la France. Néanmoins, on remarque certaines différences entre le Lambert 93 et les précédents modèles de Lambert :

- Le méridien à l’origine de la projection est le méridien de Greenwich alors qu’on avait l’habitude d’utiliser le méridien de Paris pour les précédents modèles.

- Le choix d’une ordonnée à l’origine d’une valeur 6600000, dans le but d’éviter la confusion avec les autres modèles de Lambert déjà existant. [5]

Néanmoins, les projections coniques conformes ont un avantage par rapport au Lambert 93 : l’altération linéaire. Avoir une altération linéaire plus faible ne veut pas dire que les projections CC ont une meilleure précision centimétrique de localisation d’objet, car les deux systèmes ont la même précision. En revanche, en termes de déformations des longueurs, les deux systèmes ne sont pas égaux : alors que les projections CC ont une déformation des longueurs inférieure à 10 centimètres par kilomètre, la déformation de la projection Lambert 93 peut aller jusqu’à une déformation de 3 mètres par kilomètre à Dunkerque. En effet, la déformation linéaire du Lambert 93 dépend de l’endroit concerné : elle est plus importante à l’extrême nord et à l’extrême sud que dans le centre de la France. On joint à la page précédente l’altération linéaire du Lambert 93 et des 9 zones CC en fonction de la position géographique en France.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   Altération linéaire en fonction de la position en France

 

Enfin, la conversion des coordonnées du modèle Lambert 93 vers des coordonnées géographiques classiques se fait à l’aide de l’algorithme suivant :

 

Entrées

Sorties

-Constantes de la projection : n, C, Xs, Ys (valant respectivement pour le Lambert 93 0.725, 11754255.426, 700000 et 12655612.05).

-λ0 : longitude du méridien central

-e : excentricité de l’ellipsoïde

-X, Y : coordonnées en Lambert

-λ, φ : latitude et longitude

 

Les sorties, latitudes et longitudes, sont donc calculées à partir des entrées de la façon suivante :

 

| R | =

 

γ =

λ = λ0+ γn

£ =  

φ = £-1(£, e)

 

2.    Communication avec un récepteur GPS : Le G-STAR IV

 

Le G-Star IV utilise un mode de positionnement standard, dont le fonctionnement est décrit dans la partie Bibliographie, et renvoie les données sous la forme de trames NMEA. Il est globalement composé d’une « antenne » recevant des informations à une fréquence particulière, d’un circuit qui traite les données reçues des différents satellites à cette fréquence précise, et enfin d’un microprocesseur qui exploite ces données. La présente partie va décrire la manière dont nous avons rendues exploitables les données extraites de ces trames pour représenter graphiquement notre position ou encore les trajectoires des satellites, aussi appelés constellations.

 

 

       2.1    Acquisition et transformation des données

Acquisition        

 

Pour commencer, il est nécessaire de se fixer un temps d’acquisition des données, qui n’est pas si facile à définir. En effet, le récepteur GPS que nous utilisons ici ne démarre pas à chaud, c’est-à-dire qu’il nécessite un temps d’initialisation pour définir sa position avant d’émettre des informations, particulièrement pendant la première utilisation de la journée, car les satellites se sont considérablement déplacés depuis la dernière acquisition. Il est intéressant de faire varier ce temps d’acquisition pour obtenir un nombre de trames représentatif. Ce temps sera noté tacq dans le code, ici l’acquisition est de 5 secondes et le temps d’arrêt se nomme t1.

 

              

 

Nous avons décidé de créer un fichier texte dans lequel nous écrirons toutes les trames traduites de l’ASCII dans un premier temps, une trame correspondant à une ligne.

 

Ensuite, la lecture des données GPS sans aucun traitement ni module utilisé renvoie des séquences alternant lettres et caractères du type \n. Autant dire qu’on ne peut rien tirer directement de l’analyse de ces données, il faut donc les décoder. Pour cela, on utilise tout d’abord le module Serial. Ce module est indispensable car il permet la communication avec le port série, le « serial port », port qui est utilisé pour l’utilisation du GPS.  Le module Serial requiert néanmoins des paramètres caractéristiques du GPS, tels que la vitesse d’écriture en bits/s, le temps d’arrêt et le temps d’écriture.

Nous utilisons ici le protocole NMEA 0183. Les appareils fonctionnant avec ce protocole fonctionnent comme receveur mais aussi comme émetteur. Ils nécessitent alors l’utilisation de l’interface serial avec les paramètres suivants :

- Un baud rate de 4800 (vitesse d’écriture en bit/s) caractéristique du GPS G-STAR IV utilisé.

- Un seul bit d’arrêt

Le paramètre device sert à faire apparaître les différentes lignes renvoyées par le GPS, il parcourt les données en temps réel.

Une fois les caractéristiques adéquates entrées, le GPS renvoie cette fois des lignes se rapprochant des trames NMEA mais pas encore tout à fait exploitables. En effet, on obtient des trames contenant les caractères \r\n et d’autres qu’on ne trouve normalement pas dans les trames NMEA. On joint ci-dessous une capture d’écran de ce que renvoie le GPS :

Macintosh HD:Users:Pierre:Desktop:Capture d’écran 2018-02-05 à 10.49.37.png

 

 

 

 

 

 

Les données n’étant pas utilisables tels quelles, elles nécessitent une fois de plus un décodage. Pour cela, on utilise l’instruction surlignée ci-dessous, pour décoder l’ASCII, et on obtient enfin des trames NMEA exploitables. On joint de plus la sortie finale du GPS.

 

 

 

 

 

 

 

 

                                                                                                                                                                                

              Code décodage ASCII

Macintosh HD:Users:Pierre:Desktop:Capture d’écran 2018-02-05 à 10.58.17.png

 

 

 

 

               Exemples de trames NMEA exploitables

 

               On peut donc, une fois le temps d’acquisition terminé, fermer notre fichier texte rempli de trames utilisables.

Transformation des données

 

               Nous commençons donc naturellement par ouvrir notre fichier d’informations en mode lecture. Nous avons choisi de commencer par l’exploitation des données concernant la position du récepteur GPS, dans le but de la tracer sur un plan. Pour cela, nous lisons le fichier ligne par ligne avec Python. Chaque ligne commence par un code composé du signe $ suivi de cinq lettres. Ce code désigne le type de ligne dont il s'agit. En ce qui concerne le fonctionnement du GPS G-STAR IV utilisé pour acquérir les données de ce projet, les trames NMEA font appel aux lignes désignées par les codes $GPGGA, $GPGSA, $GPGSV, $GPRMC et $GPVTG. Seules les trames concernant la localisation du récepteur nous intéressent pour parvenir à tracer un positionnement sur une carte du lieu (ici, le campus de l'ENSTA Bretagne). Ces informations sont contenues dans les trames NMEA désignées par les codes $GPGGA et $GPRMC. Dans les deux cas, les trames contiennent les informations de date d'acquisition, de latitude (en degrés, minutes, secondes), de longitude (en degrés, minutes, secondes), et d'altitude (en m).

 

               Ensuite, nous nous sommes intéressés aux données concernant les satellites, afin de tracer leurs trajectoires par rapport à la Terre. Pour cela, on crée une liste infos_satellites contenant trente-deux éléments correspondants aux trente-deux satellites potentiels pouvant communiquer avec le G-STAR IV grâce au système de positionnement GPS. Pour chacun nous relevons son élévation et son azimut, que nous avons défini selon le modèle suivant :

 

-        L’azimut est repéré par l’angle rapport au vrai Nord

-        L’élévation par l’angle par  rapport au sol

 

 

Il s’agit ensuite de repérer quelles informations issues des trames NMEA décrivent ces deux angles. Cela correspond aux éléments en cinquième et sixième position des trames $GPGSV, s’exprimant en degrés, d’après la documentation fournie.  Nous pouvons donc mettre à jour notre liste comportant ces renseignements sur les satellites étudiés.

 

 

 

Code pour récupérer les informations sur l’azimut et l’élévation du satellite

 

2.2       Représentation graphique

 

Commençons par tracer la position du récepteur sur un lieu connu : L’ENSTA Bretagne. Nous disposons d'un fichier contenant des données obtenues par un récepteur GPS. Notre but est d'exploiter les données de ce fichier afin de pouvoir en extraire des informations sur la position du récepteur lors de l'acquisition, dans le but de la tracer sur un plan. 

       Pour cela, nous lisons le fichier ligne par ligne avec Python. Chaque ligne commence par un code composé du signe $ suivi de cinq lettres. Ce code désigne le type de ligne dont il s'agit. En effet, il existe différents types d'information dans la trame NMEA des données GPS. En ce qui concerne le fonctionnement du GPS G-StarIV utilisé pour acquérir les données de ce projet, les trames NMEA font appel aux lignes désignées par les codes $GPGGA, $GPGSA, $GPGSV, $GPRMC et $GPVTG. Seules les trames concernant la position du récepteur nous intéressent pour parvenir à tracer un positionnement sur une carte du lieu (ici, le campus de l'ENSTA Bretagne). Ces informations sont contenues dans les trames NMEA désignées par les codes $GPGGA et $GPRMC.   Dans les deux cas, les trames contiennent les informations de date d'acquisition, de latitude (en degrés, minutes, secondes), de longitude (en degrés, minutes, secondes), et d'altitude (en m). Pour tracer cela, un jeu de trames NMEA nous a été fourni sur Moodle, il correspond à un trajet au sein de l’ENSTA Bretagne en contournant la place d’armes, ce que l’on peut confirmer par le tracé ci-dessous :

 

          Après avoir confirmé notre méthode d’extraction des données sur le jeu de trames donné, on peut passer à notre propre acquisition et observer si le G-STAR IV repère notre position correctement. Pour cela on se place en F015, une salle de classe de l’ENSTA Bretagne. On obtient le résultat suivant :

 

 

 

Le résultat est cohérent le point bleu est bien centré sur la F015, le tracé de la position est donc correcte, nous étudierons dans la partie suivante l’exactitude de ces mesures.

Nous passons maintenant au tracé de la trajectoire des satellites. On trace donc un cercle orienté selon les quatre points cardinaux et de rayon que l’on prendra arbitrairement égal à 2 ici, pour mieux distinguer les trajectoires. On va donc projeter la position des satellites dans le plan, c’est-à-dire traduire les coordonnées azimut-élévation en coordonnés cartésiennes. Pour cela on se sert des formules de projection suivantes :

 

 

Avec :                                                            

Et :                                                                

 

 

 

 

 

On doit de plus effectuer une rotation de 90 degrés à la figure dans le sens trigonométrique car le Nord est pris par défaut comme référence du cercle trigonométrique, soit en Est. Après ces modifications réalisées, nous pouvons donc tracer la constellation.

 

 

 

 

 

 

 

 

 Le résultat après une acquisition de 5 minutes est montré ci-après :

 

              

 

On peut constater que la durée d’acquisition n’est pas suffisante pour tracer de véritables ellipses, et le résultat est donc moins satisfaisant.

Avec un temps plus long pour la mesure, 3600 secondes ici, soit 1 heure,

on obtient le résultat ci contre.

 

 

 

3.    Qualité métrique de deux récepteurs différents, G-STAR IV et Proflex 8000

3.1    Récupération de données exploitables

Acquisition

 

Afin de comparer la fidélité, la justesse et donc l’exactitude de nos deux capteurs, nous devons nécessairement lancer des mesures sur un point de référence avec les deux appareils. Le point de référence 8000, situé sur la piste d’athlétisme de l’ENSTA Bretagne, va nous permettre d’effectuer ces acquisitions. Nous allons dans la suite utiliser les jeux de mesure réalisés avec un enseignant et présent sur Moodle. De manière analogue à la partie précédente, nous allons isoler les informations de latitude et de longitude exprimées en degrés décimaux dans la liste nommée coordonnées.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

En revanche, l’exactitude est plus intéressante si elle est exprimée en mètres, nous allons donc faire appel à un système de coordonnées particulier : le Lambert 93.

Conversion des données en Lambert 93

 

Pour convertir les degrés décimaux en mètres, nous allons utiliser les formules de passage suivantes, avec un certain nombre de données :

 

 

Puis les formules :

           

 

 

              

On peut ainsi implémenter la conversion des valeurs en Lambert 93, et comparer les résultats à la fiche de référence du point 8000.

3.2   Calculs de fidélité, justesse et exactitude

 

               Méthodes de calcul

 

               Pour définir nos différents indices, nous allons nous baser sur la distance, en m, entre nos points de mesures et nos points de références. Pour cela, nous allons stocker ces informations dans la liste distance.

 

 

       Nos trois indicateurs se définissent ainsi :

 

-        La justesse correspond à la capacité des mesures à s’approcher de la valeur réelle, ici définie par nos points de référence. On la calcule par l’écart entre la moyenne des valeurs et la valeur réelle.

On construit donc une liste qui va sommer toutes les distances puis diviser par le nombre d’éléments pour obtenir l’erreur de justesse.

 

-        La fidélité, ou reproductibilité, est la capacité à reproduire une même mesure. Elle se caractérise par la dispersion des valeurs par rapport à la moyenne, et l’écart-type est un bon indicateur de cette fidélité. On construit donc une liste sommecarres, qui comporte la somme des carrés des écarts à la moyenne, puis l’on prend la racine carrée de cette somme, préalablement divisée par le nombre d’éléments.

 

-        L’exactitude représente la qualité générale de la précision du récepteur GPS, elle est la composition des erreurs de justesse et de fidélité, on peut donc la calculer comme telle.

               Obtention des résultats

 

Nous allons donc effectuer ces mêmes calculs pour nos deux récepteurs GPS, puis les comparer à leur exactitude théorique, naturellement différente puisque le G-STAR IV est un mode standard et le Proflex 500 un mode RTK.

En effet, il existe différents modes de positionnement à l’aide d’un GNSS, modes de positionnements définis par un certain nombre de paramètres : utilisation de mesures de phases ou de code, positionnement absolu ou relatif, ou encore étude en temps réel ou en temps différé.

-En premier lieu, la mesure de code repose comme son nom l’indique, sur un code envoyé par l’émetteur (le satellite) au récepteur. Chaque satellite a son propre code, et les récepteurs connaissent ces codes : ils peuvent les décoder. Les récepteurs produisent alors une réplique du code reçu, mais celui-ci est entaché d’une erreur du au décalage temporel entre l’émission et la réception.

 

Ce décalage temporel est alors déterminé en fonction de la corrélation maximale des deux signaux pour différents décalages temporels. A l’aide d’algorithmes propres au récepteur, ce dernier est capable de calculer une pseudo-distance entre lui et le satellite. 4 pseudo-distances sont alors nécessaires pour obtenir la position du récepteur. La précision atteinte pour ces mesures est de l’ordre de quelques mètres.

-Intéressons nous maintenant aux mesures de phases. Cette méthode consiste à étudier le déphasage entre le signal reçu et le signal émis par le satellite. A l’aide d’algorithmes de traitements, le récepteur peut donc avoir accès à la distance avec le satellite, mais également à une mesure de phase. La précision atteinte avec les mesures de phase atteint une valeur de l’ordre du millimètre, la plaçant loin devant celle des mesures de codes.

- Le positionnement absolu nécessite un unique récepteur et plusieurs satellites. La position du récepteur est alors déterminé par multilatération à partir des différents satellites.

- Le positionnement relatif nécessite l’utilisation de plusieurs récepteurs (deux stations suffisent). Le principe est de comparer les observations simultanées de deux récepteurs, donnant ainsi la position d’un récepteur par rapport à l’autre, dont la position est connue. Cette méthode de positionnement permet alors d’éviter des erreurs systématiques, et donc d’obtenir une meilleure précision que celle du positionnement absolu. Néanmoins, elle nécessite l’utilisation d’une station réceptrice de référence.

-En temps réel, les corrections effectuées sont transmises directement au récepteur.

-En temps différé, les observations effectuées par les stations de coordonnées inconnues sont comparées avec celles de stations aux coordonnées connues. Elles sont analysées post-acquisition pour réduire les erreurs d’estimation.

Maintenant les différentes propriétés de positionnement présentées, nous allons comparer le mode de fonctionnement du RTK et du mode standard. Le positionnement standard correspond lui à un positionnement absolu à partir de mesures de codes, en temps réel et en temps différé. La réduction des sources d’erreurs ne se fait qu’a l’aide du grand nombre de mesures relevées. Sa précision est alors la plus faible compte tenu de ce qu’on a vu précédemment : de l’ordre de 5 à 15 mètres. A l’inverse, le positionnement RTK est un positionnement absolu et relatif à partir de mesures de phases, en temps réel. Sa précision dépend de la distance entre le récepteur et le satellite car nous sommes sur des mesures de phases, mais sa précision est largement meilleure que celle du positionnement standard car de l’ordre de 5 à 50cm (absolu) et de 5 à 15cm (relatif).

 

La sortie du code pour évaluer la qualité métrique est la suivante, les résultats étant exprimés en mètres :

Resultats exactitude

 

On constate donc que l’exactitude du G-STAR IV est de l’ordre de quelques mètres là où celle du Proflex 500 est de l’ordre de quelques centimètres.

 

 

 

L’exactitude d’un récepteur GPS Standard étant de 5 à 15 mètres, on peut en conclure que le G-STAR IV est de bonne qualité pour son mode de fonctionnement. De même, celle du Proflex 500 étant de 5 à 15 cm, il est également de bonne qualité pour son mode de fonctionnement.

Conclusion

 

Ce projet a été pour nous l’opportunité d’appréhender de manière plus poussée le fonctionnement des GPS. Grâce à l’étude des deux récepteurs G-STAR IV et Proflex 500, nous avons pu lier la théorie, apportée par les cours présents sur Moodle, à l’expérimentation par l’acquisition de données GPS. Suite à l’étude bibliographique des différents systèmes de géolocalisation, nous avons pu nous intéresser à la position des récepteurs et la trajectoire des satellites.

Ainsi, nous avons pu atteindre nos objectifs principaux : avoir une vue globale des systèmes de géolocalisation présents dans le monde, et comparer la qualité de deux produits répandus sur le marché aujourd’hui.

Ce projet nous a permis d’avoir un avant-goût de ce qu’est le métier d’ingénieur. En l’ayant effectué dans sa globalité, chaque membre du groupe a pu développer ses connaissances sur le plan individuel comme collectif. Nous prenons tous conscience aujourd’hui de l’importance de l’organisation, la communication et le travail d’équipe dans la réalisation de ce type de projet.

 

Bibliographie

 

[1]       Bosser, P. ; «  GNSS : Systèmes globaux de positionnement par satellites  », Cours de l'Ecole Nationale Supérieure des Techniques Avancées de Bretagne, 2017.

 

[2]          Jean-Marc Piéplu. «GPS et Galileo ». Eyrolles (2006)

 

[3]          « Global Positioning System »

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

 

[4]          Service de géodésie et nivellement. « Transformations géodésiques en France Métropolitaine»

https://geodesie.ign.fr/contenu/fichiers/documentation/pedagogiques/TransformationsCoordonneesGeodesiques.pdf

 

[5]          « Géoréférencement et RGF93 »

https://www.ideobfc.fr/upload/gedit/1/Documents/FicheT3Les_projections_coniques_conformes_9_zones.pdf   CERTU.

 

[6]         « Communication par transmission série RS232  »

http://javascool.gforge.inria.fr/documents/sketchbook/commSerie/Fiche-ressource_communicationRS232.pdf

 

 

 

 

 

 

 

 

 

 

 

Annexe

 

Programme acquisition de données :

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Programme qualité métrique :