mac OS (source)
Table des matières
Configuration requise
Nous prenons actuellement en charge macOS Mojave (10.14). La distribution Rolling Ridley changera de plates-formes cibles de temps en temps à mesure que de nouvelles plates-formes seront disponibles. La plupart des gens voudront utiliser une distribution ROS stable.
Installer les prérequis
Vous devez installer les éléments suivants pour compiler ROS 2 :
Xcode
Si vous ne l’avez pas déjà installé, installez Xcode.
Remarque : les versions de Xcode ultérieures à 11.3.1 ne peuvent plus être installées sur macOS Mojave, vous devrez donc installer une ancienne version manuellement, voir : https://stackoverflow.com/a/61046761
De plus, si vous ne l’avez pas déjà installé, installez les outils de ligne de commande :
xcode-select --install # This command will not succeed if you have not installed Xcode.app sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer # If you installed Xcode.app manually, you need to either open it or run: sudo xcodebuild -license # To accept the Xcode.app license
brew (nécessaire pour installer plus de choses ; vous avez probablement déjà ceci) :
Suivez les instructions d’installation sur http://brew.sh/
Facultatif : Vérifiez que
brew
est satisfait de la configuration de votre système en exécutant :brew doctor
Corrigez tous les problèmes qu’il identifie.
Utilisez
brew
pour installer plus de choses :brew install asio assimp bison bullet cmake console_bridge cppcheck \ cunit eigen freetype graphviz opencv openssl orocos-kdl pcre poco \ pyqt5 python qt@5 sip spdlog tinyxml tinyxml2
Configurez quelques variables d’environnement :
# Add the openssl dir for DDS-Security # if you are using ZSH, then replace '.bashrc' with '.zshrc' echo "export OPENSSL_ROOT_DIR=$(brew --prefix openssl)" >> ~/.bashrc # Add the Qt directory to the PATH and CMAKE_PREFIX_PATH export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:/usr/local/opt/qt@5 export PATH=$PATH:/usr/local/opt/qt@5/bin
Utilisez
python3 -m pip
(justepip
peut installer Python3 ou Python2) pour installer plus de choses :python3 -m pip install -U \ argcomplete catkin_pkg colcon-common-extensions coverage \ cryptography empy flake8 flake8-blind-except==0.1.1 flake8-builtins \ flake8-class-newline flake8-comprehensions flake8-deprecated \ flake8-docstrings flake8-import-order flake8-quotes \ importlib-metadata lark==1.1.1 lxml matplotlib mock mypy==0.931 netifaces \ nose pep8 psutil pydocstyle pydot pygraphviz pyparsing==2.4.7 \ pytest-mock rosdep rosdistro setuptools==59.6.0 vcstool
Assurez-vous que la variable d’environnement
$PATH
contient l’emplacement d’installation des binaires (par défaut :$HOME/Library/Python/<version>/bin
)Facultatif : si vous souhaitez construire le pont ROS 1<->2, vous devez également installer ROS 1 :
Commencez par les instructions d’installation normales : http://wiki.ros.org/kinetic/Installation/OSX/Homebrew/Source
Lorsque vous arrivez à l’étape où vous appelez
rosinstall_generator
pour obtenir le code source, voici une autre invocation qui n’apporte que le minimum requis pour produire un pont utile :rosinstall_generator catkin common_msgs roscpp rosmsg --rosdistro kinetic --deps --wet-only --tar > kinetic-ros2-bridge-deps.rosinstall wstool init -j8 src kinetic-ros2-bridge-deps.rosinstall
Sinon, suivez simplement les instructions normales, puis sourcez le résultat
install_isolated/setup.bash
avant de continuer ici pour construire ROS 2.
Désactiver la protection de l’intégrité du système (SIP)
Les versions macOS/OS X >=10.11 ont la protection de l’intégrité du système activée par défaut. Pour que SIP n’empêche pas les processus d’hériter des variables d’environnement de l’éditeur de liens dynamique, telles que DYLD_LIBRARY_PATH
, vous devrez le désactiver en suivant ces instructions <https://developer.apple.com/library/content/documentation /Security/Conceptual/System_Integrity_Protection_Guide/ConfiguringSystemIntegrityProtection/ConfiguringSystemIntegrityProtection.html>`__.
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 des fournisseurs 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 ROS 2
Exécutez l’outil colcon
pour tout construire (plus d’informations sur l’utilisation de colcon
dans ce tutoriel):
cd ~/ros2_rolling/
colcon build --symlink-install --packages-skip-by-dep python_qt_binding
Remarque : en raison d’un problème non résolu avec SIP, Qt@5 et PyQt5, nous devons désactiver python_qt_binding
pour que la construction réussisse. Cela sera supprimé lorsque le problème sera résolu, voir : https://github.com/ros-visualization/python_qt_binding/issues/103
Configuration de l’environnement
Sourcez le fichier d’installation de ROS 2 :
. ~/ros2_rolling/install/setup.bash
Cela configurera automatiquement l’environnement pour tous les fournisseurs de DDS pour lesquels la prise en charge a été conçue.
Essayez quelques exemples
Dans un terminal, configurez l’environnement ROS 2 comme décrit ci-dessus, puis exécutez un talker
C++ :
ros2 run demo_nodes_cpp talker
Dans un autre terminal, sourcez le fichier de configuration, puis exécutez un Python listener
:
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.
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