您正在阅读的是旧版本但仍受支持的 ROS 2 文档。 Jazzy.

macOS (源代码)

系统要求

我们目前支持 macOS Mojave (10.14)。

安装先决条件

要构建 ROS 2,您需要安装以下设备:

  1. Xcode

    • 如果尚未安装,请安装 [Xcode](https://apps.apple.com/app/xcode/id497799835).

    • 注意:在 macOS Mojave 上已无法安装 11.3.1 之后的 Xcode 版本,因此您需要手动安装旧版本,请参阅: https://stackoverflow.com/a/61046761

    • 此外,如果尚未安装,请安装命令行工具:

      xcode-select --安装
      # 如果您未安装 Xcode.app,此命令将无法成功执行
      苏都 xcode-select --开关 /Applications/Xcode.app/Contents/Developer
      # 如果您手动安装了 Xcode.app,则需要打开或运行它:
      苏都 xcodebuild -许可证
      # 接受 Xcode.app 许可证
      
  2. (需要安装更多东西;您可能已经有了这个)。:

    • 请按照以下网址的安装说明进行操作 http://brew.sh/

    • 可选:检查 运行

       医生
      

      修复它发现的任何问题。

  3. 使用 安装更多东西:

     安装 秋叶 屁股 野牛 子弹 cmake 控制台桥 cppcheck \
      单元 本征 自由类型 图形化 opencv opensl Orocos-kdl pcre poco \
      pyqt@5 蟒蛇 qt@5 啜饮 spdlog osrf/simulation/tinyxml1 tinyxml2
    
  4. 设置一些环境变量

    # 为 DDS-Security 添加 openssl 目录
    # 如果使用 BASH,则将 '.zshrc' 替换为 '.bashrc';
    回响 export OPENSSL_ROOT_DIR=$( --前缀 opensl)"; >>; ~/.zshrc
    
    # 在 PATH 和 CMAKE_PREFIX_PATH 中添加 Qt 目录
    出口 cmake_prefix_path=$cmake_prefix_path:$( --前缀 qt@5)
    出口 路径=$PATH:$( --前缀 qt@5)/bin
    
  5. 使用 python3 -m 核心 (只是 核心 可能安装 Python3 或 Python2)来安装更多的东西:

    python3 -m 核心 安装 --升级 pip python3 -m 核心 安装 -U \
      --配置设置="--global-option=build_ext"; \
      --配置设置="--global-option=-I$( --前缀 图形化)/include/"; \
      --配置设置="--global-option=-L$( --前缀 图形化)/lib/"; \
      argcomplete catkin_pkg Colcon-common-extensions 覆盖率 \
      加密 空虚 flake8 鳞片8-盲点-例外==0.1.1 flake8-builtins \
      flake8-class-newline flake8-comprehensions flake8-deprecated \
      flake8-docstrings flake8-import-order flake8-quotes \
      importlib-metadata 云雀==1.1.1 lxml matplotlib 调侃 mypy==0.931 网接口 \
      鼻子 pep8 psutil pydocstyle  pygraphviz 解析==2.4.7 \
      pytest-mock rosdep rosdistro 设置工具==59.6.0 vcstool
    

    请确保 $PATH 环境变量包含二进制文件的安装位置 ((酿造 --前缀)/bin)

  6. 可选如果您想构建 ROS 1<->2 桥接器,则必须同时安装 ROS 1:

    • 从正常的安装说明开始: http://wiki.ros.org/kinetic/Installation/OSX/Homebrew/Source

    • 当您在调用 生成器 来获取源代码,下面是另一种调用方式,只需调入产生有用桥接所需的最低限度的代码:

      生成器 柔荑花序 共同 msgs roscpp rosmsg --rosdistro 动力学 --侦探 --纯水 -焦油 >; kinetic-ros2-bridge-deps.rosinstall wstool 启动 -j8 来源 kinetic-ros2-bridge-deps.rosinstall
      

      否则,只需按照正常说明操作,然后将生成的 install_isolated/setup.bash 然后再继续构建 ROS 2。

禁用系统完整性保护 (SIP)

macOS/OS X 版本 >=10.11 默认启用了系统完整性保护。这样,SIP 就不会阻止进程继承动态链接器环境变量,例如 dyld_library_path您需要禁用它 根据这些说明.

获取 ROS 2 代码

创建工作区并克隆所有软件仓库:

mkdir -p ~/ros2_humble/src
CD ~/ros2_humble vcs 舶来品 --输入 https://raw.githubusercontent.com/ros2/ros2/humble/ros2.repos 来源

安装其他 DDS 供应商(可选)

如果您想使用默认设置之外的其他 DDS 或 RTPS 供应商,可以查看说明 这里.

构建 ROS 2 代码

运行 胶管 工具来构建一切(关于使用 胶管本教程):

CD ~/ros2_humble/ colcon 构建 --symlink-install --packages-skip-by-dep python_qt_binding

注意:由于 SIP、Qt@5 和 PyQt5 的一个未解决的问题,我们需要禁用 python_qt_binding 以确保构建成功。问题解决后,此功能将被移除,请参阅: https://github.com/ros-visualization/python_qt_binding/issues/103

环境设置

源 ROS 2 设置文件:

. ~/ros2_humble/install/setup.zsh

这将自动为支持的任何 DDS 供应商设置环境。

举例说明

在一个终端中,如上所述设置 ROS 2 环境,然后运行 C++ 话匣子:

玫瑰2 运行 演示节点 话匣子

在另一个终端中输入设置文件的源代码,然后运行 Python 听众:

玫瑰2 运行 演示节点 听众

您应该看到 话匣子 说它是 出版 信息和 听众 成语 I 听说 这些信息。这就验证了 C++ 和 Python API 都能正常工作。万岁

安装后的下一步

继续 教程和演示 来配置环境、创建自己的工作区和软件包,并学习 ROS 2 的核心概念。

使用 ROS 1 桥接器

ROS 1 桥接器可将主题从 ROS 1 连接到 ROS 2,反之亦然。请参阅专用的 文献资料 如何构建和使用 ROS 1 桥接器。

其他 RMW 实施(可选)

ROS 2 使用的默认中间件是 快速 DDS但中间件 (RMW) 可以在运行时更换。参见 向导 如何使用多个 RMW。

了解最新信息

参见 维护源检查 定期刷新源安装。

故障排除

可以找到故障排除技术 这里.

卸载

  1. 如果您按照上述说明使用 colcon 安装了工作区,那么 "卸载 "可能只是打开一个新终端,而不是从工作区的 设置 文件。这样,您的系统环境就会像没有安装 Humble 软件一样运行。

  2. 如果你也想释放空间,可以用以下方法删除整个工作区目录:

    rm -rf ~/ros2_humble