您正在阅读的是旧版本但仍受支持的 ROS 2 文档。 Jazzy.
macOS (源代码)
系统要求
我们目前支持 macOS Mojave (10.14)。
安装先决条件
要构建 ROS 2,您需要安装以下设备:
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 许可证
酿 (需要安装更多东西;您可能已经有了这个)。:
请按照以下网址的安装说明进行操作 http://brew.sh/
可选:检查
酿
运行酿 医生
修复它发现的任何问题。
使用
酿
安装更多东西:酿 安装 秋叶 屁股 野牛 子弹 cmake 控制台桥 cppcheck \ 单元 本征 自由类型 图形化 opencv opensl Orocos-kdl pcre poco \ pyqt@5 蟒蛇 qt@5 啜饮 spdlog osrf/simulation/tinyxml1 tinyxml2
设置一些环境变量
# 为 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
使用
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
)可选如果您想构建 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。
了解最新信息
参见 维护源检查 定期刷新源安装。
故障排除
可以找到故障排除技术 这里.
卸载
如果您按照上述说明使用 colcon 安装了工作区,那么 "卸载 "可能只是打开一个新终端,而不是从工作区的
设置
文件。这样,您的系统环境就会像没有安装 Humble 软件一样运行。如果你也想释放空间,可以用以下方法删除整个工作区目录:
rm -rf ~/ros2_humble