Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Capteurs > Capteurs de position > GPS série/usb UMA

GPS série/usb UMA

samedi 14 novembre 2009, par Julien H.

Le club a récupéré un GPS de marque UMA (merci Yad). Il se connecte avec un driver USB/série PL2303 de Prolific. L’idée est déjà d’apprendre à s’en servir en tant que GPS, mais j’aimerais bien percer le mystère de la précision absolue/relative du GPS. En effet, on entend souvent en robotique des personnes dire "effectivement un GPS n’est précis qu’à 10 mètres, mais si vous avez un point fixe alors vous pouvez obtenir 5 centimètres de précision"... C’est surprenant, alors autant vérifier par nous-même.

Premiers pas

Tout d’abord, le driver, au cas où :

Driver USB/série PL2303

On peut recevoir des données sans rien lui envoyer, en s’y connectant avec les paramètres standards : 9600 bauds, 8 bits, 1 bit de stop, pas de parité.

Voici le résultat avec Docklight :

Capture de la liaison série

Interprétation

Ces lignes sont au format NMEA utilisé de manière standard par les GPS (même si des formats propriétaires existent, comme Garmin). On peut déduire du premier code de chaque ligne quelle information est donnée. Ici on en a 5 mais la liste des possibles est beaucoup plus complète :

Code Signification
GPGLL position Géographique, Latitude et Longitude
GPVTG en anglais, "Track Made Good and Ground Speed"
GPRMC en anglais, "Recommended minimum specific GPS/TRANSIT data"
GPGSA en anglais, "GPS DOP and active satellites "
GPGGA en anglais, "Global Positioning System Fix Data"

Comme vous le devinez, je n’ai compris que le premier code, donc pour l’instant on s’en contentera.
Voici une ligne GPGLL complète :

$GPGLL,2503.4661,N,12334.8333,E,002219.00,V,N*76

Je me précipite sur Google Earth, en pensant que
 2503.4661,N signifie 25°03,4661’ North
 12334.8333,E signifie 123°34,8333’ Est

Mais voilà ce que ça donne, l’océan à côté de Taiwan : il s’agit de la dernière position reçue (donc peut-être son lieu de fabrication ?).

Ma position...

D’ailleurs 002219 est l’heure (puisque le GPS donne aussi l’heure) qui signifie donc 00h22’19"

Nouvelle tentative

Il faut donc sortir le GPS pour qu’il reprenne une nouvelle position. C’est ce que nous avons fait en atelier et voici le résultat obtenu :

$GPGLL,4338.5110,N,00700.5274,E,002003.00,V,N*7A

Il faut convertir la dernière partie en secondes (lu en 10 000 èmes) et voici la nouvelle position : +43° 38’ 30.66", +7° 0’ 31.66" ce qui correspond parfaitement au lieu de nos réunions.

Lecture exacte de la trame

Maintenant qu’on a bien ri, on va trouver des explications plus détaillées sur le standard NMEA et on va essayer de comprendre, voire de corriger ou paramétrer notre GPS. Tout d’abord on va utiliser en fait GPRMC, qui représente les données minimales suffisantes.

$GPRMC,002051.00,V,2503.4661,N,12134.8333,E,0.62,0.00,010100,3.2,W,N*33

Il est donc 00h22’19" (en fait chez moi il est 21h et des poussières), les latitude et latitude sont les mêmes que pour le GPGLL, mais on découvre qu’on est le 1er janvier 2000 (010100).

Donc plus de doute, le GPS n’a été allumé qu’il y a 20 minutes et il n’est plus du tout opérationnel. Encore un mystère démystérisé :)

Et la suite sera découverte par un des membres du club pendant une de nos réunions.. pourquoi pas vous ? rejoignez-nous !

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.