Mise à jour (16 / 05 / 2024): Nous avons beaucoup de stock de tous nos produits, retrouvez-nous aussi dans ainsi que le    Achetez maintenant

Comment l'utiliser ? ArduSimple Récepteurs RTK et obtenez des données GPS dans ROS

Dans ce tutoriel, nous expliquons comment utiliser ArduSimple Récepteurs RTK pour obtenir des données de positionnement précises dans ROS. Nous vous guiderons dans les étapes d'intégration ArduSimple Récepteur RTK dans votre projet ROS, vous permettant d'exploiter la puissance de données GPS précises.

Que vous soyez un passionné de robotique, un chercheur ou un développeur, ce tutoriel vous fournira les étapes pour accéder aux données de positionnement dans vos applications ROS.

Si vous êtes nouveau sur ROS, nous avons préparé un court ttutoriel pour vous aider à démarrer avec ROS pour en savoir plus sur les termes clés du ROS, quelle plate-forme et quel environnement de développement il vaut mieux choisir, etc.

Matériel requis:

Logiciel requis:

  • Ubuntu 18 ou 20 (dans ce tutoriel, nous utilisons Ubuntu 20) installé nativement sur un PC 
  • ROS (nous utilisons ROS Noetic).

Comment l'utiliser ? ArduSimple Récepteurs RTK et obtenir des données GPS dans ROS ?

Tout d'abord, connectez et configurez le récepteur RTK dans Ubuntu.

  1. Branchez le Antenne RTK à ta récepteur. Lieu l'antenne dans un endroit avec une bonne vue sur le ciel ou près d'une fenêtre pour tester la fonctionnalité.
  2. Connectez votre récepteur au PC via le port USB étiqueté «POWER+GPS. »
  3. Votre récepteur devrait être configuré automatiquement. Pour le vérifier, ouvrez terminal et tapez la commande :
				
					ls /dev/tty*
				
			
  • Vous verrez le "/dev/ttyACM0" a été créé automatiquement.
  1. Pour vérifier le flux de votre Récepteur RTK, utilisez la commande :
				
					sudo cat /dev/ttyACM0
				
			
  • Le flux d'entrée GPS ressemble à ce qui suit :
  • Presse Ctrl + C pour annuler la visualisation du flux.
  1. Pour éviter le Récepteur RTK de commencer dans un autre "ttyACM* » chaque fois qu'il est alimenté, créez une règle udev (un lien dynamique) qui crée une entrée avec un nom spécifique en ajoutant le fichier suivant avant de connecter le Récepteur RTK.
				
					sudo nano /etc/udev/rules.d/50-ardusimple.rules
				
			
  1. Saisissez le texte suivant dans la règle :
				
					KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a9", SYMLINK="tty_Ardusimple", GROUP="dialout", MODE="0666"
				
			
  1. Presse Ctrl + X pour quitter le fichier et appuyez sur Y pour enregistrer le tampon modifié.
  2. Maintenant, chaque fois qu'un Récepteur RTK est connecté, il sera accessible depuis le "/dev/tty_Ardusimple » lien. Pour le vérifier, déconnectez-vous Récepteur RTK (débranchez et rallumez) et entrez les commandes :
				
					sudo service udev reload
sudo service udev restart
sudo udevadm trigger
ls /dev/
				
			
  1. Maintenant tu peux voir ça "tty_ArduSimple » a été créé.
  1. Pour utiliser le U-center programme dans Ubuntu, installez Wine. Il s'agit d'un ensemble de bibliothèques Linux qui permettent à de nombreuses applications Windows de s'exécuter sur des distributions Linux (sur Ubuntu entre autres).
    Cela ne fait pas le U-center logiciel entièrement compatible, mais il peut être utilisé au cas où vous souhaiteriez vérifier l'état ou la configuration de votre Récepteur RTK.
    Pour installer Wine (l'installation peut durer 2-3 minutes), utilisez la commande :
				
					sudo apt install wine64  //if Ubuntu is installed natively
sudo apt install wine32  //if you run Ubuntu on a virtual machine

				
			
  1. Une fois Wine installé, il est possible d'installer U-Center dans Ubuntu, comme s'il s'agissait de Windows. Ouvrez le navigateur Web Firefox et téléchargez le U-Center programme sur le site officiel : https://www.u-blox.com/en/product/u-center.
  1. Une fois u-center est téléchargé, allez dans le dossier Téléchargement et extrayez le u-center sur le bureau.
  1. Pour démarrer l'installation de u-center logiciel, tapez la commande :
				
					cd ~/Desktop/
wine ./u-center_v22.07.exe

				
			
  1. Installer u-center comme si vous étiez sous Windows en suivant les étapes d'installation.
  2.  Créer un COM1 port, ouvert terminal et entrez la commande suivante pour créer un lien vers Récepteur RTK dans le dossier "~/.wine/dosdevice".
				
					ln -sf /dev/tty_Ardusimple ~/.wine/dosdevices/com1
				
			
  1. Fermer u-center si vous l'avez ouvert. Ouvrir u-center.
  2. Connectez-vous à votre Récepteur RTK in u-center en appuyant Ctrl + 1 .
  1. Vous verrez une lumière verte dans le coin gauche et les données de votre récepteur RTK similaires à celles ci-dessous.

Deuxièmement, exécutez RTK Receiver dans ROS.

  1. Créez un dossier avec les espaces de travail. Si vous n'en avez pas, vous pouvez le créer avec les commandes :
				
					mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash
				
			
  1. Téléchargez et installez les packages ROS dans src. Dans ce tutoriel, nous allons télécharger les packages à partir de https://github.com/KumarRobotics/ublox qui publiera les informations ROS. Cela fonctionne avec cette version 1.1.4. Vous pouvez utiliser les dernières versions, mais certaines étapes peuvent devoir être modifiées. Entrez les commandes :
				
					cd ~/catkin_ws/src
git clone https://github.com/KumarRobotics/ublox
cd ~/catkin_ws
rosdep install --from-paths src --ignore-src -r -y
				
			
  • Vous verrez dans le Terminal :
    #Tous les rosdeps requis ont été installés avec succès
  1. Compilez le programme pour pouvoir l'exécuter.  
				
					catkin_make
source ~/catkin_ws/devel/setup.bash
				
			
  • Lorsque le setup.bash est exécuté, nous sélectionnons l'espace de travail de travail et mettons à jour les programmes disponibles dans ROS.
  1. Afin d'avoir le contrôle des messages à publier dans ArduSimple vous pouvez modifier le yaml (fichier de configuration) que le nœud utilisera pour exécuter la communication avec ros.
    Ce nœud possède plusieurs fichiers de configuration de test, vous pouvez modifier les valeurs de celui-ci en modifiant les fichiers situés dans le répertoire suivant :
				
					cd ~/catkin_ws/src/ublox/ublox_gps/config
				
			
  1. Depuis le modèle u-blox à l'intérieur Ardusimple est le zed_f9p, nous modifions le fichier du même nom. Pour ouvrir l'éditeur, nous pouvons utiliser la commande suivante :
				
					nano zed_f9p.yaml
				
			
  1. Modifiez l'adresse de l'appareil en "/dev/tty_Ardusimple » pour s'assurer qu'il va toujours au Récepteur RTK:

				
					device: /dev/tty_Ardusimple
frame_id: gps
uart1:
  baudrate: 9600  //Change the baudrate value to the value set in U-Center.
config_on_startup: false

				
			
  1. Fermer u-center parce que ROS et u-center ne courez pas ensemble.

  1. Pour exécuter le nœud ROS, utilisez le lanceur situé dans le dossier suivant :
				
					cd ~/catkin_ws/src/ublox/ublox_gps/launch
				
			
  • Pour vérifier qu'il est répertorié, tapez la commande :
				
					ls
				
			
  1. Fichiers de lancement ROS simplifier le processus de démarrage de plusieurs nœuds et de configuration de leurs paramètres. Un fichier de lancement est un fichier XML qui décrit les nœuds à exécuter, leurs paramètres et les connexions entre eux. En utilisant des fichiers de lancement, vous pouvez démarrer plusieurs nœuds avec une seule commande, ce qui facilite la gestion de systèmes robotiques complexes. Ces fichiers ont l'extension ".launch", il existe d'autres fichiers qui sont des fichiers de configuration qui ont l'extension ".yaml".
    Pour lancer le fichier :
				
					roslaunch <name_of_package> <launch_file>
				
			
  • Le fichier qui lancera notre programme s'appelle "ublox_device.launch".
    Ce fichier peut être modifié au besoin.
    Pour lancer le programme, utilisez la commande suivante :
				
					roslaunch ublox_gps ublox_device.launch param_file_name:=zed_f9p
				
			
  1. Ouvrez un nouveau terminal et entrez la commande :
				
					source ~/catkin_ws/devel/setup.bash
				
			
  1. Nœuds ROS lors de l'exécution ont des noms uniques. Pour voir la liste des noms de nœuds ROS, utilisez la commande dans le terminal :
				
					rosnode list
				
			
  1. Pour obtenir des informations sur les nœuds ROS, telles que les rubriques auxquelles ils sont abonnés ou qu'ils publient, vous pouvez utiliser la commande suivante :
				
					rosnode info <name_of_node>
				
			
  • Par exemple, pour obtenir des informations sur "infos /ublox”, utilisez la commande :

				
					rosnode info /ublox
				
			
  1. Pour afficher une liste des actifs Sujets ROS qui sont actuellement disponibles et sont en cours de publication ou d'abonnement sur votre système ROS, utilisez la commande.
				
					rostopic list
				
			
  • La sortie de la liste des sujets ROS affiche généralement les noms des sujets ainsi que leurs types de message. Cette commande est utile pour vérifier les rubriques disponibles et vérifier si les rubriques souhaitées sont publiées ou souscrites dans votre environnement ROS.

  1. Pour afficher des informations sur qui publie et s'est abonné à ce message, tapez le message, utilisez la commande au format :
				
					rostopic info <name_of_topic>
				
			
  • Par exemple, pour recevoir des informations sur le type de message, les éditeurs et les abonnés du sujet "/rosout", exécutez la commande :
				
					rostopic info /rosout
				
			
  1. Pour recevoir des informations sur le type de message, les éditeurs et les abonnés du sujet /ublox/fix, exexécutez la commande :
				
					rostopic info /ublox/fix
				
			
  1. Pour voir les informations en cours de publication, utilisez la commande au format :
				
					rostopic echo <name_of_topic>
				
			
  • Pour tester que cela fonctionne, nous pouvons nous abonner aux différents sujets créés par le nœud.

    Les plus importants sont "/gps/réparer" (sont les données en WGS64) et "/Diagnostique" (nous donne des informations sur l'état du GPS). D'autres données peuvent être publiées selon la configuration définie depuis Récepteur RTK.

    Par exemple, pour observer et surveiller les données de position GPS publiées sur "/ublox/réparer" Sujet (sont les données dans WGS64), telles que la latitude, la longitude, l'altitude et d'autres informations pertinentes, utilisez la commande suivante pour afficher les données :

				
					rostopic echo /ublox/fix
				
			
  • Pour arrêter l'affichage du sujet, appuyez sur Ctrl + C.

  1. Pour voir les données publiées sur "/Diagnostique" qui donne l'information de l'état du GPS comme la précision entre autres, utilisez la commande :
				
					rostopic echo /diagnostics
				
			
  • Pour arrêter de visualiser les données, appuyez sur Ctrl + C.

  1. Si vous souhaitez enregistrer les informations publiées sur le Sujet dans le fichier, utilisez la commande :
  • pour enregistrer les données de position GPS publiées sur "/ublox/réparer" Sujet, tel que latitude, longitude, altitude entre autres :
				
					rostopic echo /ublox/fix > gps_fix_data.txt
				
			
  • pour enregistrer des données sur l'état du GPS "/Diagnostique":
				
					rostopic echo /diagnostics > gps_diagnostics.txt
				
			
  • Ces commandes créent fichiers gps_fix_data.txt ainsi que le gps_diagnostics.txt, où le sujet sera enregistré. Pour arrêter l'enregistrement, appuyez sur Ctrl + C.

  1. Pour voir les informations enregistrées dans les fichiers, exécutez :
				
					nano gps_fix_data.txt
				
			
				
					nano gps_diagnostics.txt
				
			
  1. Messages ROS sont les structures de données utilisées pour la communication entre les nœuds ROS. Ils définissent les informations échangées sur un sujet. Les messages sont définis à l'aide du format de fichier .msg.
    Pour voir la liste des types de messages ROS, utilisez la commande :
				
					rosmsg list
				
			
  1. Pour afficher la structure du message, utilisez la commande au format :

				
					rosmsg show <name_of_message>
				
			
  • Par exemple, la "capteur_msgs/NavSatFix" est un type de message dans ROS qui est utilisé pour représenter les données fixes du GPS (Global Positioning System) telles que la latitude, la longitude, l'altitude et d'autres paramètres liés à la position GPS.
    Pour voir la structure de "capteur_msgs/NavSatFix » message, utilisez la commande :
				
					rosmsg show sensor_msgs/NavSatFix
				
			
  1. Pour afficher la liste des actifs Services SRO qui permettent aux nœuds d'envoyer des requêtes et de recevoir des réponses, utilisez la commande :
				
					rosservice list
				
			
  1. Pour appeler le service, utilisez la commande au format :
				
					rosservice call <name_of_service> <type_srv> <request>
				
			
  • Ce service répondra avec le résultat.

    Par exemple, pour obtenir la configuration actuelle de l'enregistreur du nœud u-blox, qui peut être utile à des fins de débogage et de surveillance, utilisez la commande :

				
					rosservice info /ublox/get_loggers
				
			

Si vous souhaitez réaliser ce tutoriel, nous avons tous les produits en stock et prêts à être expédiés :

Si vous avez aimé ce contenu, vous pouvez nous suivre sur Twitter, YouTube, Facebook or LinkedIn pour rester à jour de contenu comme celui-ci.

Vous avez des questions ou des demandes?
Contactez-nous! Nous vous répondrons <24 heures !

Icône
Contact ArduSimple
Fermer

Vous souhaitez en savoir plus sur le GPS/RTK ?

1. Notre équipe d'ingénieurs vous contactera pour résoudre toutes les questions
2. Nous vous tiendrons au courant des promotions et des nouvelles versions de produits
3. Vous n'aurez de nos nouvelles que lorsque nous aurons des nouvelles importantes, nous ne spammerons pas votre e-mail