Comment exporter des codes ROS sur votre installation locale – ROS French Tutorial

19/02/2024

This tutorial is created by Rosbotics Ambassador 023 Enzo 

Rosbotics Ambassador Program https://www.theconstruct.ai/rosbotics-ambassador/)

Rosbotics Ambassador Program https://www.theconstruct.ai/rosbotics-ambassador/)
Cours: ROS2 Baiscs in 5 Days Python: https://app.theconstructsim.com/courses/132

Introduction

Dans cet article, vous apprendrez comment exporter le code écrit sur les plateformes TheConstruct vers votre machine locale. Que ce soit dans le cadre d’une formation ou en utilisant un Rosject pour simuler un environnement spécifique, de nombreux utilisateurs sur le forum ROS Ignite Academy se demandent comment partager, télécharger ou utiliser leur code sur leur installation locale.

Prérequis

Pour suivre le tutoriel sur votre ordinateur, vous devez configurer votre installation locale.

ROS2 installation

Avant de pouvoir tester ce tutoriel, vous devez disposer d’une installation locale de ROS2. Pour ce faire, vous pouvez suivre les instructions dans la documentation officielle: https://docs.ros.org/en/humble/Installation.html. Vous devez également configurer un espace de travail ROS2 pour stocker votre package et le construire. Pour ce faire, suivez les instructions de la documentation officielle: https://docs.ros.org/en/humble/Tutorials/Beginner-Client-Libraries/Creating-A-Workspace/Creating-A-Workspace.html

Turtlebot3 installation

Vous devez avoir le package Turtlebot3 installé dans votre environnement local afin de lancer la simulation Gazebo du Turtlebot3 et tester le code fourni dans le package. Pour ce faire, vous pouvez suivre les instructions de la documentation Turtlebot3 :https://emanual.robotis.com/docs/en/platform/turtlebot3/simulation/ et construire le code source sur votre machine locale, ou installer directement les packages Turtlebot3 avec cette commande :

# pour installer tous les packages du turtlebot3
$ sudo apt-get install ros-humble-turtlebot3*

# n'oubliez pas d'exporter le modèle de Turtlebot3 que vous souhaitez utiliser
$ export TURTLEBOT3_MODEL=waffle_pi

Maintenant que votre installation locale est prête, je vais vous montrer deux façons de partager vos packages entre les ROSjects ou les cours TheConstruct et votre installation locale. 

Téléchargez votre package depuis l’interface web Rosject

La première méthode consiste à télécharger le package directement depuis l’IDE de la plateforme. Pour ce faire, clique droit sur le dossier src qui contient votre package dans votre arborescence de fichier de l’IDE, puis cliquez sur on Download.

Cela devrait lancer le téléchargement dans votre navigateur.

Vous pouvez décompresser le package dans votre workspace ROS2.

Ensuite, compilez le package en utilisant les instructions suivantes dans un terminal local :

$ cd ~/ros2_ws

# compiler le package
$ colcon build

# sourcer le workspace
$ source install/setup.bash

L’avantage principal de cette méthode est sa simplicité d’utilisation. Cependant, elle peut ne pas être adaptée si vous souhaitez pouvoir continuer à faire évoluer le code ou le partager dans le cadre d’un développement collaboratif. C’est pourquoi la deuxième méthode peut être plus adaptée pour les projets.

 

Configurer un dépôt (repository) GitHub 

La deuxième méthode consiste à utiliser un dépôt sur GitHub. L’avantage principal de cette méthode est que vous pouvez versionner votre code et continuer à développer sur plusieurs installations parallèles, facilitant le partage de votre travail. Vous pouvez initialiser votre dépôt GitHub en allant sur  https://github.com/, vous connecter, aller dans “Your repository” et sélectionner “New”. Ensuite, vous pouvez créer un dépôt qui a le même nom que votre package ROS.

Pour utiliser mon dépôt sans utiliser SSH, j’ai configuré un personal access token (classic). Voici un lien qui explique comment le configurer : https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic, vous pouvez également interagir avec votre dépôt en utilisant SSH.

Une fois que le dépôt GitHub est créé, vous devez exécuter ces commandes sur le webshell ROSject :

# go to the directory of your package
$ cd ~/ros2_ws/src/tutorial_local_machine

$ git init

# entrer vos informations
$ git config --global user.email "you@example.com"
$ git config --global user.name "Your Name"

# ajouter tous les fichier du package dans votre commit
$ git add --all

# commit et ajouter un message pour décrire l’état d’avancement du projet
$ git commit -m "Initialize the repository"

$ git branch -M main

# lier le dépôt locale à le dépôt distante sur GitHub
$ git remote add origin https://github.com/[YourGithubUserName]/tutorial_local_machine.git

# s’identifier et utiliser le jeton d'accès personnel comme mot de passe
$ git push -u origin main

Une fois les commandes exécutées, votre code devrait être téléchargé sur votre dépôt distant sur GitHub.

Vous pouvez maintenant ouvrir un terminal sur votre machine locale et cloner votre dépôt GitHub dans votre workspace ROS2 local:

$ cd ~/ros2_ws/src/

# cloner la dépôt
$ git clone https://github.com/[YourGithubUserName]/tutorial_local_machine.git

# revenir à la racine du workspace
$ cd ..

# compiler le package
$ colcon build

# sourcer le workspace
$ source install/setup.bash

Lancer la simulation en local et exectuer le code

 

Maintenant que tout est configuré et que le package est compilé, vous devriez être en mesure d’exécuter le node. Le package du tutoriel contient un node C++ simple pour interagir avec le laserscan et le cmd_vel du Turtlebot3. Le node s’abonne au topic /scan afin de déterminer la distance entre un obstacle en face du robot et publie sur /cmd_vel pour avancer tant que la distance est supérieure à 1,0 mètre. Une fois que la distance est inférieure à 1,0 mètre, il publie une vitesse de 0 pour arrêter le robot.Vous pouvez tester le code en exécutant le fichier launch suivant:

$ cd ~/ros2_ws
$ source install/setup.bash
$ ros2 launch tutorial_local_machine start_sim_node.launch.py

Ou vous pouvez démarrer la simulation Turtlebot3 en exécutant cette commande dans un terminal sur votre machine locale:

$ ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py

Ensuite, dans un deuxième terminal, exécutez le nœud:

$ cd ~/ros2_ws
$ source install/setup.bash
$ ros2 run tutorial_local_machine main_node

La simulation gazebo du Turtlebot3 et le script devraient être en cours d’exécution.

Merci d’avoir suivi ce poste.

Ressources

Feedback

Cet article vous a plu ? Avez-vous des questions sur ce qui est expliqué ? Quoi qu’il en soit, n’hésitez pas à laisser un commentaire dans la section des commentaires ci-dessous, afin que nous puissions interagir et apprendre les uns des autres.

Si vous souhaitez en savoir plus sur d’autres sujets liés à ROS, faites-le nous savoir dans l’espace commentaires et nous ferons une vidéo ou un article à ce sujet.
Topics: ROS Q&A | ros2

Video Tutorial

Topics: ROS
Masterclass 2023 batch2 blog banner

Check Out These Related Posts

0 Comments

Submit a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Pin It on Pinterest

Share This