gratuit (source)
Table des matières
Configuration requise
Les plates-formes cibles actuelles basées sur Debian pour Rolling Ridley sont :
Niveau 1 : Ubuntu Linux - Jammy (22.04) 64 bits
Niveau 3 : Ubuntu Linux - Focal (20.04) 64 bits
Niveau 3 : Debian Linux - Bullseye (11) 64 bits
Les autres plates-formes Linux avec différents niveaux de support incluent :
Arch Linux, voir instructions alternatives
Fedora Linux, voir instructions alternatives
OpenEmbedded / webOS OSE, voir instructions alternatives
Tel que défini dans REP 2000.
Installation du système
Set locale
Assurez-vous d’avoir une locale qui supporte UTF-8
. Si vous êtes dans un environnement minimal (comme un conteneur docker), la locale peut être quelque chose de minimal comme POSIX
. Nous testons avec les paramètres suivants. Cependant, cela devrait convenir si vous utilisez un autre paramètre régional pris en charge par UTF-8.
locale # check for UTF-8
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale # verify settings
Ajouter le référentiel ROS 2 apt
Vous devrez ajouter le référentiel ROS 2 apt à votre système.
Assurez-vous d’abord que le référentiel Ubuntu Universe est activé.
sudo apt install software-properties-common
sudo add-apt-repository universe
Ajoutez maintenant la clé ROS 2 GPG avec apt.
sudo apt update && sudo apt install curl
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
Ajoutez ensuite le référentiel à votre liste de sources.
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
Installer les outils de développement et les outils ROS
Installez les packages communs.
sudo apt update && sudo apt install -y \
python3-flake8-docstrings \
python3-pip \
python3-pytest-cov \
ros-dev-tools
Installez les packages en fonction de votre version d’Ubuntu.
sudo apt install -y \
python3-flake8-blind-except \
python3-flake8-builtins \
python3-flake8-class-newline \
python3-flake8-comprehensions \
python3-flake8-deprecated \
python3-flake8-import-order \
python3-flake8-quotes \
python3-pytest-repeat \
python3-pytest-rerunfailures
python3 -m pip install -U \
flake8-blind-except \
flake8-builtins \
flake8-class-newline \
flake8-comprehensions \
flake8-deprecated \
flake8-import-order \
flake8-quotes \
pytest-repeat \
pytest-rerunfailures
Obtenir le code ROS 2
Créez un espace de travail et clonez tous les dépôts :
mkdir -p ~/ros2_rolling/src
cd ~/ros2_rolling
vcs import --input https://raw.githubusercontent.com/ros2/ros2/rolling/ros2.repos src
Installer les dépendances à l’aide de rosdep
Les packages ROS 2 sont construits sur des systèmes Ubuntu fréquemment mis à jour. Il est toujours recommandé de vous assurer que votre système est à jour avant d’installer de nouveaux packages.
sudo apt upgrade
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext-dds-6.0.1 urdfdom_headers"
Remarque : Si vous utilisez une distribution basée sur Ubuntu (comme Linux Mint) mais qui ne s’identifie pas comme telle, vous obtiendrez un message d’erreur du type Unsupported OS [mint]
. Dans ce cas, ajoutez --os=ubuntu:jammy
à la commande ci-dessus.
Installer des implémentations DDS supplémentaires (facultatif)
Si vous souhaitez utiliser un autre fournisseur DDS ou RTPS en plus du fournisseur par défaut, vous pouvez trouver des instructions ici.
Construire le code dans l’espace de travail
Si vous avez déjà installé ROS 2 d’une autre manière (soit via Debians, soit via la distribution binaire), assurez-vous d’exécuter les commandes ci-dessous dans un nouvel environnement qui ne contient pas ces autres installations. Assurez-vous également que vous n’avez pas source /opt/ros/${ROS_DISTRO}/setup.bash
dans votre .bashrc
. Vous pouvez vous assurer que ROS 2 n’est pas sourcé avec la commande printenv | grep -i ROS
. La sortie doit être vide.
Vous trouverez plus d’informations sur l’utilisation d’un espace de travail ROS dans ce tutoriel.
cd ~/ros2_rolling/
colcon build --symlink-install
Remarque : si vous rencontrez des difficultés pour compiler tous les exemples et que cela vous empêche de terminer une construction réussie, vous pouvez utiliser COLCON_IGNORE
de la même manière que CATKIN_IGNORE pour ignorer la sous-arborescence ou supprimer le dossier de l’espace de travail. Prenons par exemple : vous voudriez éviter d’installer la grande bibliothèque OpenCV. Eh bien, exécutez simplement touch COLCON_IGNORE
dans le répertoire de démonstration cam2image
pour le laisser en dehors du processus de construction.
Configuration de l’environnement
Source du script d’installation
Configurez votre environnement en vous procurant le fichier suivant.
# Replace ".bash" with your shell if you're not using bash
# Possible values are: setup.bash, setup.sh, setup.zsh
. ~/ros2_rolling/install/local_setup.bash
Essayez quelques exemples
Dans un terminal, sourcez le fichier de configuration, puis exécutez un talker
C++ :
. ~/ros2_rolling/install/local_setup.bash
ros2 run demo_nodes_cpp talker
Dans un autre terminal, sourcez le fichier de configuration, puis exécutez un Python listener
:
. ~/ros2_rolling/install/local_setup.bash
ros2 run demo_nodes_py listener
Vous devriez voir le locuteur
dire qu’il publie
des messages et le auditeur
dire J'ai entendu
ces messages. Cela vérifie que les API C++ et Python fonctionnent correctement. Hourra !
Prochaines étapes après l’installation
Continuez avec les tutoriels et démos pour configurer votre environnement, créer votre propre espace de travail et vos packages, et apprendre les concepts de base de ROS 2.
Utilisation du pont ROS 1
Le pont ROS 1 peut connecter des sujets de ROS 1 à ROS 2 et vice-versa. Voir la documentation dédiée sur la façon de construire et d’utiliser le pont ROS 1.
Implémentations RMW supplémentaires (facultatif)
Le middleware par défaut utilisé par ROS 2 est Fast DDS
, mais le middleware (RMW) peut être remplacé au moment de l’exécution. Consultez le guide pour savoir comment travailler avec plusieurs RMW.
Compilateurs alternatifs
Utiliser un compilateur différent de gcc pour compiler ROS 2 est facile. Si vous définissez les variables d’environnement CC
et CXX
sur des exécutables pour un compilateur C et C++ fonctionnel, respectivement, et que vous relancez la configuration de CMake (en utilisant --force-cmake-config
ou en supprimant les packages que vous souhaitez affecter), CMake reconfigurera et utilisera le compilateur différent.
Tiens-toi à jour
Voir Maintenir la vérification de la source pour actualiser périodiquement votre installation source.
Désinstaller
Si vous avez installé votre espace de travail avec colcon comme indiqué ci-dessus, la « désinstallation » pourrait consister simplement à ouvrir un nouveau terminal et à ne pas rechercher le fichier
setup
de l’espace de travail. De cette façon, votre environnement se comportera comme s’il n’y avait pas d’installation progressive sur votre système.Si vous essayez également de libérer de l’espace, vous pouvez supprimer tout le répertoire de l’espace de travail avec :
rm -rf ~/ros2_rolling