Windows (source)
Table des matières
Ce guide explique comment configurer un environnement de développement pour ROS 2 sous Windows.
Configuration requise
Seul Windows 10 est pris en charge.
Support linguistique
Assurez-vous d’avoir une locale qui supporte UTF-8
. Par exemple, pour une installation de Windows 10 en chinois, vous devrez peut-être installer un package de langue anglaise.
Installation des prérequis
Installer Chocolatey
Chocolatey est un gestionnaire de paquets pour Windows, installez-le en suivant leurs instructions d’installation :
Vous utiliserez Chocolatey pour installer d’autres outils de développement.
Installer Python
Ouvrez une invite de commande et tapez ce qui suit pour installer Python via Chocolatey :
choco install -y python --version 3.8.3
Install Visual C++ Redistributables
Ouvrez une invite de commande et tapez ce qui suit pour les installer via Chocolatey :
choco install -y vcredist2013 vcredist140
Installer OpenSSL
Téléchargez le programme d’installation OpenSSL Win64 OpenSSL v1.1.1n à partir de cette page. Faites défiler vers le bas de la page et téléchargez Win64 OpenSSL v1.1.1n. Ne téléchargez pas les versions Win32 ou Light, ni les programmes d’installation v3.X.Y.
Exécutez le programme d’installation avec les paramètres par défaut, car les commandes suivantes supposent que vous avez utilisé le répertoire d’installation par défaut.
Cette commande définit une variable d’environnement qui persiste au fil des sessions :
setx /m OPENSSL_CONF "C:\Program Files\OpenSSL-Win64\bin\openssl.cfg"
Vous devrez ajouter le dossier bin OpenSSL-Win64 à votre PATH. Vous pouvez le faire en cliquant sur l’icône Windows, en tapant « Variables d’environnement », puis en cliquant sur « Modifier les variables d’environnement système ». Dans la boîte de dialogue résultante, cliquez sur « Variables d’environnement », puis cliquez sur « Chemin » dans le volet inférieur, enfin cliquez sur « Modifier » et ajoutez le chemin ci-dessous.
C:\Program Files\OpenSSL-Win64\bin\
Installer Visual Studio
Installez Visual Studio 2019.
Si vous disposez déjà d’une version payante de Visual Studio 2019 (Professional, Enterprise), ignorez cette étape.
Microsoft fournit une version gratuite de Visual Studio 2019, nommée Community, qui peut être utilisée pour créer des applications utilisant ROS 2. Vous pouvez télécharger le programme d’installation directement via ce lien.
Assurez-vous que les fonctionnalités Visual C++ sont installées.
Un moyen simple de s’assurer qu’ils sont installés est de sélectionner le flux de travail Développement de bureau avec C++
lors de l’installation.
Assurez-vous qu’aucun outil C++ CMake n’est installé en les désélectionnant dans la liste des composants à installer.
Installer OpenCV
Certains exemples nécessitent l’installation d’OpenCV.
Vous pouvez télécharger une version précompilée d’OpenCV 3.4.6 à partir de https://github.com/ros2/ros2/releases/download/opencv-archives/opencv-3.4.6-vc16.VS2019.zip .
En supposant que vous l’avez décompressé dans C:\opencv
, tapez ce qui suit sur une invite de commande (nécessite des privilèges d’administrateur) :
setx /m OpenCV_DIR C:\opencv
Puisque vous utilisez une version ROS précompilée, nous devons lui indiquer où trouver les bibliothèques OpenCV. Vous devez étendre la variable PATH
à C:\opencv\x64\vc16\bin
.
Installer les dépendances
Il existe quelques dépendances non disponibles dans la base de données du package Chocolatey. Afin de faciliter le processus d’installation manuelle, nous fournissons les packages Chocolatey nécessaires.
Comme certains packages chocolatés en dépendent, nous commençons par installer CMake
choco install -y cmake
Vous devrez ajouter le dossier CMake bin C:\Program Files\CMake\bin
à votre PATH.
Veuillez télécharger ces packages depuis ce référentiel GitHub.
install.1.12.1.nupkg
puce.3.17.nupkg
cunit.2.1.3.nupkg
propre-3.3.4.nupkg
tinyxml-usestl.2.6.2.nupkg
tinyxml2.6.0.0.nupkg
Une fois ces packages téléchargés, ouvrez un shell d’administration et exécutez la commande suivante :
choco install -y -s <PATH\TO\DOWNLOADS\> asio cunit eigen tinyxml-usestl tinyxml2 bullet
Veuillez remplacer <PATH\TO\DOWNLOADS>
par le dossier dans lequel vous avez téléchargé les packages.
Premier pip de mise à niveau et setuptools :
python -m pip install -U pip setuptools==59.6.0
Installez maintenant quelques dépendances Python supplémentaires :
python -m pip install -U catkin_pkg cryptography empy importlib-metadata lark==1.1.1 lxml matplotlib netifaces numpy opencv-python PyQt5 pillow psutil pycairo pydot pyparsing==2.4.7 pyyaml rosdistro
Installer Qt5
Téléchargez le 5.12.X offline installer depuis le site Web de Qt. Exécutez le programme d’installation. Assurez-vous de sélectionner le composant MSVC 2017 64-bit
sous l’arborescence Qt
-> Qt 5.12.12
.
Enfin, dans une fenêtre administrateur cmd.exe
, définissez ces variables d’environnement. Les commandes ci-dessous supposent que vous l’avez installé à l’emplacement par défaut de C:\Qt
.
setx /m Qt5_DIR C:\Qt\Qt5.12.12\5.12.12\msvc2017_64
setx /m QT_QPA_PLATFORM_PLUGIN_PATH C:\Qt\Qt5.12.12\5.12.12\msvc2017_64\plugins\platforms
Note
Ce chemin peut changer en fonction de la version de MSVC installée, du répertoire dans lequel Qt a été installé et de la version de Qt installée.
Dépendances RQt
Pour exécuter rqt_graph, vous devez télécharger et installer Graphviz. Le programme d’installation vous demandera si vous souhaitez ajouter graphviz à PATH, choisissez de l’ajouter à l’utilisateur actuel ou à tous les utilisateurs.
Installer des implémentations DDS supplémentaires (facultatif)
Si vous souhaitez utiliser un autre fournisseur DDS ou RTPS en plus du Fast DDS par défaut, vous pouvez trouver des instructions ici.
Prérequis supplémentaires
Lors de la construction à partir de la source, vous aurez besoin de quelques prérequis supplémentaires installés.
Installez les prérequis supplémentaires de Chocolatey
choco install -y cppcheck curl git winflexbison3
Vous devrez ajouter le dossier Git cmd C:\Program Files\Git\cmd
au PATH (vous pouvez le faire en cliquant sur l’icône Windows, en tapant « Variables d’environnement », puis en cliquant sur « Modifier l’environnement système variables ». Dans la boîte de dialogue résultante, cliquez sur « Variables d’environnement », cliquez sur « Chemin » dans le volet inférieur, puis cliquez sur « Modifier » et ajoutez le chemin).
Installer les prérequis Python
Installation de dépendances Python supplémentaires :
pip install -U colcon-common-extensions coverage flake8 flake8-blind-except flake8-builtins flake8-class-newline flake8-comprehensions flake8-deprecated flake8-docstrings flake8-import-order flake8-quotes mock mypy==0.931 pep8 pydocstyle pytest pytest-mock vcstool
Installer divers prérequis
Installez ensuite xmllint :
Téléchargez les archives binaires 64 bits de
libxml2
(et ses dépendancesiconv
etzlib
) depuis https://www.zlatkovic.com/projects/libxml/Décompressez toutes les archives, par ex.
C:\xmllint
Ajoutez
C:\xmllint\bin
auPATH
.
Obtenir le code ROS 2
Maintenant que nous avons les outils de développement, nous pouvons obtenir le code source de ROS 2.
Configurez d’abord un dossier de développement, par exemple C:\rolling
:
Note
Il est très important que le chemin choisi soit court, en raison des courtes limites de chemin Windows par défaut (260 caractères). Pour autoriser des chemins plus longs, consultez https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry.
md \rolling\src
cd \rolling
Récupérez le fichier ros2.repos
qui définit les dépôts à partir desquels cloner :
vcs import --input https://raw.githubusercontent.com/ros2/ros2/rolling/ros2.repos src
Installer des implémentations DDS supplémentaires (facultatif)
Fast DDS est fourni avec la source ROS 2 et sera toujours construit à moins que vous ne mettiez un fichier COLCON_IGNORE
dans le dossier src\eProsima
.
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 ROS 2
Pour construire ROS 2, vous aurez besoin d’une invite de commande Visual Studio (« Invite de commande x64 Native Tools pour VS 2019 ») exécutée en tant qu’administrateur.
Pour construire l’arborescence de dossiers \rolling
:
colcon build --merge-install
Note
Nous utilisons ici --merge-install
pour éviter une variable PATH
trop longue à la fin de la construction. Si vous adaptez ces instructions pour créer un espace de travail plus petit, vous pourrez peut-être utiliser le comportement par défaut qui est l’installation isolée, c’est-à-dire où chaque package est installé dans un dossier différent.
Note
Si vous faites une construction de débogage, utilisez python_d path\to\colcon_executable
colcon
. Voir Éléments supplémentaires pour le mode débogage pour plus d’informations sur l’exécution de code Python dans les versions de débogage sous Windows.
Configuration de l’environnement
Démarrez un shell de commande et sourcez le fichier de configuration ROS 2 pour configurer l’espace de travail :
call C:\rolling\install\local_setup.bat
Cela configurera automatiquement l’environnement pour tous les fournisseurs de DDS pour lesquels la prise en charge a été conçue.
Il est normal que la commande précédente, si rien d’autre ne s’est mal passé, affiche « Le système ne peut pas trouver le chemin spécifié ». exactement une fois.
Tester et exécuter
Notez que la première fois que vous exécutez un exécutable, vous devrez autoriser l’accès au réseau via une fenêtre contextuelle du pare-feu Windows.
Vous pouvez exécuter les tests à l’aide de cette commande :
colcon test --merge-install
Note
--merge-install
ne doit être utilisé que s’il a également été utilisé dans l’étape de construction.
Ensuite, vous pouvez obtenir un résumé des tests à l’aide de cette commande :
colcon test-result
Pour exécuter les exemples, ouvrez d’abord un nouveau fichier cmd.exe
et configurez l’espace de travail en sélectionnant le fichier local_setup.bat
. Ensuite, lancez un talker
C++ :
call install\local_setup.bat
ros2 run demo_nodes_cpp talker
Dans un shell séparé, vous pouvez faire la même chose, mais à la place, exécutez un Python listener
:
call install\local_setup.bat
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 !
Note
Il n’est pas recommandé de construire dans la même invite cmd que vous avez fourni le local_setup.bat
.
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.
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.
Trucs supplémentaires pour le mode débogage
Si vous voulez pouvoir exécuter tous les tests en mode débogage, vous devrez installer quelques éléments supplémentaires :
Pour pouvoir extraire l’archive source Python, vous pouvez utiliser PeaZip :
choco install -y peazip
Vous aurez également besoin de SVN, car certaines des dépendances de construction source Python sont extraites via SVN :
choco install -y svn hg
Vous devrez quitter et redémarrer l’invite de commande après avoir installé ce qui précède.
Obtenez et extrayez la source Python 3.8.3 du
tgz
:Pour garder ces instructions concises, veuillez les extraire dans
C:\dev\Python-3.8.3
Maintenant, créez la source Python en mode débogage à partir d’une invite de commande Visual Studio :
cd C:\dev\Python-3.8.3\PCbuild
get_externals.bat
build.bat -p x64 -d
Enfin, copiez les produits de construction dans les répertoires d’installation de Python38, à côté de l’exécutable Python en mode Release et des DLL :
cd C:\dev\Python-3.8.3\PCbuild\amd64
copy python_d.exe C:\Python38 /Y
copy python38_d.dll C:\Python38 /Y
copy python3_d.dll C:\Python38 /Y
copy python38_d.lib C:\Python38\libs /Y
copy python3_d.lib C:\Python38\libs /Y
copy sqlite3_d.dll C:\Python38\DLLs /Y
for %I in (*_d.pyd) do copy %I C:\Python38\DLLs /Y
Maintenant, à partir d’une nouvelle invite de commande, assurez-vous que
python_d
fonctionne :
python_d -c "import _ctypes ; import coverage"
Une fois que vous avez vérifié le fonctionnement de
python_d
, il est nécessaire de réinstaller quelques dépendances avec les bibliothèques activées pour le débogage :
python_d -m pip install --force-reinstall https://github.com/ros2/ros2/releases/download/numpy-archives/numpy-1.18.4-cp38-cp38d-win_amd64.whl
python_d -m pip install --force-reinstall https://github.com/ros2/ros2/releases/download/lxml-archives/lxml-4.5.1-cp38-cp38d-win_amd64.whl
Pour vérifier l’installation de ces dépendances :
python_d -c "from lxml import etree ; import numpy"
Lorsque vous souhaitez revenir à la construction des binaires de version, il est nécessaire de désinstaller les variantes de débogage et d’utiliser les variantes de version :
python -m pip uninstall numpy lxml
python -m pip install numpy lxml
Pour créer des scripts python exécutables (.exe), python_d doit être utilisé pour invoquer colcon
python_d path\to\colcon_executable build
Hourra, vous avez terminé !
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 :
rmdir /s /q \ros2_rolling