警告
您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 Jazzy.
macOS (源代码)
系统要求
我们目前支持 macOS Mojave (10.14)。
安装先决条件
要构建 ROS 2,您需要安装以下设备:
Xcode
如果尚未安装,请安装 Xcode。
注意:在 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 本征 pcre poco 蟒蛇 tinyxml # 如果使用 Fast-RTPS,则为其安装依赖项 酿 安装 秋叶 tinyxml2 brew 安装 opencv # 为 rosbag2 安装 console_bridge 酿 安装 控制台桥 # 为 DDS-Security 安装 OpenSSL 酿 安装 opensl # 如果使用 ZSH,则用 '.zshrc' 替换 '.bashrc'; 回响 export OPENSSL_ROOT_DIR=$(酿 --前缀 opensl)"; >>; ~/.bashrc # 安装 rcl_logging 的依赖项 酿 安装 log4cxx spdlog # 为 Cyclone DDS 安装依赖项 酿 安装 野牛 单元
安装 rviz 依赖项
# 为 Rviz 安装依赖项 酿 安装 qt@5 自由类型 屁股 # 在 PATH 和 CMAKE_PREFIX_PATH 中添加 Qt 目录 出口 cmake_prefix_path=$cmake_prefix_path:/usr/local/opt/qt@5 出口 路径=$PATH:/usr/local/opt/qt@5/bin
安装 rqt 依赖项
酿 安装 图形化 pyqt5 啜饮
使用
python3 -m 核心
(只是核心
可能安装 Python3 或 Python2)来安装更多的东西:python3 -m 核心 安装 -U \ argcomplete catkin_pkg Colcon-common-extensions 覆盖率 \ 加密 空虚 flake8 鳞片8-盲点-例外 flake8-builtins \ flake8-class-newline flake8-comprehensions flake8-deprecated \ flake8-docstrings flake8-import-order flake8-quotes ifcfg \ importlib-metadata 云雀解析器 lxml 调侃 mypy==0.761 网接口 \ 鼻子 pep8 pydocstyle 嘟 pygraphviz "pyparsing>=2.4,<3"; \ pytest-mock rosdep 设置工具 vcstool matplotlib psutil rosdistro
请确保
$PATH
环境变量包含二进制文件的安装位置(默认值为:$HOME/Library/Python/<version>/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_galactic/src
CD ~/ros2_galactic vcs 舶来品 --输入 https://raw.githubusercontent.com/ros2/ros2/galactic/ros2.repos 来源
安装其他 DDS 供应商(可选)
如果您想使用默认设置之外的其他 DDS 或 RTPS 供应商,可以查看说明 这里.
构建 ROS 2 代码
运行 胶管
工具来构建一切(关于使用 胶管
于 本教程):
CD ~/ros2_galactic/ 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_galactic/install/setup.bash
这将自动为支持的任何 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 安装了工作区,那么 "卸载 "可能只是打开一个新终端,而不是从工作区的
设置
文件。这样,您的系统环境就会像没有安装银河系软件一样运行。如果你也想释放空间,可以用以下方法删除整个工作区目录:
rm -rf ~/ros2_galactic