mac OS (source)

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 :

  1. 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
      
  2. 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.

  3. 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
    
  4. 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
    
  5. Utilisez python3 -m pip (juste pip 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)

  6. 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épannage

Les techniques de dépannage peuvent être trouvées ici.

Désinstaller

  1. 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.

  2. 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