Configuration de l’environnement

Objectif : Ce tutoriel vous montrera comment préparer votre environnement ROS 2.

Niveau du tutoriel : Débutant

Durée : 5 minutes

Arrière-plan

ROS 2 repose sur la notion de combinaison d’espaces de travail à l’aide de l’environnement shell. « Espace de travail » est un terme ROS désignant l’emplacement de votre système où vous développez avec ROS 2. L’espace de travail principal de ROS 2 est appelé la sous-couche. Les espaces de travail locaux suivants sont appelés superpositions. Lors du développement avec ROS 2, vous aurez généralement plusieurs espaces de travail actifs simultanément.

La combinaison d’espaces de travail facilite le développement avec différentes versions de ROS 2 ou avec différents ensembles de packages. Il permet également l’installation de plusieurs distributions ROS 2 (ou « distros », par exemple Dashing et Eloquent) sur le même ordinateur et de basculer entre elles.

Ceci est accompli en recherchant les fichiers de configuration chaque fois que vous ouvrez un nouveau shell, ou en ajoutant la commande source à votre script de démarrage du shell une fois. Sans sourcer les fichiers d’installation, vous ne pourrez pas accéder aux commandes ROS 2, ni trouver ou utiliser les packages ROS 2. En d’autres termes, vous ne pourrez pas utiliser ROS 2.

Conditions préalables

Avant de commencer ces didacticiels, installez ROS 2 en suivant les instructions de la page ROS 2 Installation.

Les commandes utilisées dans ce didacticiel supposent que vous avez suivi le guide d’installation des packages binaires pour votre système d’exploitation (packages Debian pour Linux). Vous pouvez toujours suivre si vous avez construit à partir de la source, mais le chemin d’accès à vos fichiers d’installation sera probablement différent. Vous ne pourrez pas non plus utiliser la commande sudo apt install ros-<distro>-<package> (utilisée fréquemment dans les didacticiels de niveau débutant) si vous installez à partir des sources.

Si vous utilisez Linux ou macOS, mais que vous n’êtes pas encore familiarisé avec le shell, ce tutoriel vous aidera.

Tâches

1 Source des fichiers d’installation

Vous devrez exécuter cette commande sur chaque nouveau shell que vous ouvrez pour avoir accès aux commandes ROS 2, comme ceci :

# Replace ".bash" with your shell if you're not using bash
# Possible values are: setup.bash, setup.sh, setup.zsh
source /opt/ros/rolling/setup.bash

Note

La commande exacte dépend de l’endroit où vous avez installé ROS 2. Si vous rencontrez des problèmes, assurez-vous que le chemin du fichier mène à votre installation.

2 Ajoutez le sourcing à votre script de démarrage du shell

Si vous ne voulez pas avoir à sourcer le fichier de configuration à chaque fois que vous ouvrez un nouveau shell (en sautant la tâche 1), vous pouvez ajouter la commande à votre script de démarrage du shell :

echo "source /opt/ros/rolling/setup.bash" >> ~/.bashrc

Pour annuler cela, localisez le script de démarrage du shell de votre système et supprimez la commande source ajoutée.

3 Vérifier les variables d’environnement

L’approvisionnement des fichiers d’installation de ROS 2 définira plusieurs variables d’environnement nécessaires au fonctionnement de ROS 2. Si vous rencontrez des problèmes pour trouver ou utiliser vos packages ROS 2, assurez-vous que votre environnement est correctement configuré à l’aide de la commande suivante :

printenv | grep -i ROS

Vérifiez que les variables telles que ROS_DISTRO et ROS_VERSION sont définies.

ROS_VERSION=2
ROS_PYTHON_VERSION=3
ROS_DISTRO=rolling

Si les variables d’environnement ne sont pas définies correctement, revenez à la section d’installation du package ROS 2 du guide d’installation que vous avez suivi. Si vous avez besoin d’une aide plus spécifique (car les fichiers de configuration de l’environnement peuvent provenir de différents endroits), vous pouvez obtenir des réponses de la communauté.

3.1 La variable ROS_DOMAIN_ID

Consultez l’article ID de domaine pour plus de détails sur les ID de domaine ROS.

Une fois que vous avez déterminé un entier unique pour votre groupe d’agents ROS 2, vous pouvez définir la variable d’environnement avec la commande suivante :

export ROS_DOMAIN_ID=<your_domain_id>

Pour conserver ce paramètre entre les sessions shell, vous pouvez ajouter la commande à votre script de démarrage shell :

echo "export ROS_DOMAIN_ID=<your_domain_id>" >> ~/.bashrc

3.2 La variable ROS_LOCALHOST_ONLY

Par défaut, la communication ROS 2 n’est pas limitée à localhost. La variable d’environnement ROS_LOCALHOST_ONLY vous permet de limiter la communication ROS 2 à localhost uniquement. Cela signifie que votre système ROS 2 et ses rubriques, services et actions ne seront pas visibles par les autres ordinateurs du réseau local. L’utilisation de ROS_LOCALHOST_ONLY est utile dans certains contextes, tels que les salles de classe, où plusieurs robots peuvent publier sur le même sujet, provoquant des comportements étranges. Vous pouvez définir la variable d’environnement avec la commande suivante :

export ROS_LOCALHOST_ONLY=1

Pour conserver ce paramètre entre les sessions shell, vous pouvez ajouter la commande à votre script de démarrage shell :

echo "export ROS_LOCALHOST_ONLY=1" >> ~/.bashrc

Résumé

L’environnement de développement ROS 2 doit être correctement configuré avant utilisation. Cela peut être fait de deux manières : soit en vous procurant les fichiers d’installation dans chaque nouveau shell que vous ouvrez, soit en ajoutant la commande source à votre script de démarrage.

Si vous rencontrez des problèmes pour localiser ou utiliser des packages avec ROS 2, la première chose à faire est de vérifier vos variables d’environnement et de vous assurer qu’elles sont définies sur la version et la distribution souhaitées.

Prochaines étapes

Maintenant que vous avez une installation de ROS 2 fonctionnelle et que vous savez comment trouver ses fichiers d’installation, vous pouvez commencer à apprendre les tenants et les aboutissants de ROS 2 avec l’outil turtlesim .