警告

您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 Jazzy.

视窗(来源)

本指南介绍如何在 Windows 上为 ROS 2 建立开发环境。

先决条件

首先按照以下步骤进行 安装前提条件 上的二进制安装页面。

到达 "下载 ROS 2 "部分时,请停止并返回此处。

语言支持

确保您的本地语言支持 UTF-8.例如,在安装中文版 Windows 10 时,您可能需要安装一个 英语语言包.

其他先决条件

从源代码构建时,需要安装一些额外的先决条件。

从 Chocolatey 安装其他先决条件

首先安装 git:

巧克力 安装 -y 笨蛋

您需要添加 Git cmd 文件夹 C:\Program Files\Git\cmd 到 PATH 中(方法是点击 Windows 图标,输入 "环境变量",然后点击 "编辑系统环境变量"。在弹出的对话框中,单击 "环境变量",然后单击底部窗格中的 "路径",再单击 "编辑 "并添加路径)。

安装开发人员工具

现在,我们准备安装一些用于帮助开发 ROS 2 的工具。

让我们从 vcstool:

核心 安装 -U vcstool

您只需运行 vcs (您应该可以在同一个 cmd 提示符中执行此操作)。

接下来,安装 胶管:

核心 安装 -U Colcon-common-extensions

您只需运行 胶管 (您应该可以在同一个 cmd 提示符中执行此操作)。

此外,您还应安装 卷曲:

巧克力 安装 -y 卷曲

安装依赖项

接下来安装最新版本的 设置工具核心:

蟒蛇 -m 核心 安装 -U 设置工具 核心

然后,您可以继续安装其他 Python 依赖项:

核心 安装 -U catkin_pkg 加密 EmPy ifcfg 云雀解析器 lxml numpy 解析 pyyaml

接下来安装测试工具,如 测试 等:

核心 安装 -U 测试 pytest-mock 覆盖率 调侃

接下来安装衬垫和校验器,如 flake8 等:

核心 安装 -U flake8 鳞片8-盲点-例外 flake8-builtins flake8-class-newline flake8-comprehensions flake8-deprecated flake8-docstrings flake8-import-order flake8-quotes mypy==0.761 pep8 pydocstyle

接下来安装 cppcheck:

巧克力 安装 -y cppcheck

接下来安装 xmllint:

安装 Qt5

下载 5.12.X 脱机安装程序 从 Qt 网站下载。运行安装程序。确保选择 MSVC 2017 64 位 下的组成部分 Qt ->; Qt 5.12.12

最后,在管理员 cmd.exe 窗口设置这些环境变量。下面的命令假定你已将其安装到默认位置,即 C:\Qt.

setx /m Qt5_DIR C:\Qt\Qt5.12.12\5.12.12\msvc2017_64 setx /m qt_qpa_platform_plugin_path C:\Qt\Qt5.12.12\5.12.12\msvc2017_64\p卢金斯\p平台

备注

该路径可能会根据所安装的 MSVC 版本、Qt 的安装目录以及所安装的 Qt 版本而改变。

获取 ROS 2 代码

有了开发工具,我们就可以获取 ROS 2 的源代码了。

首先建立一个开发文件夹,例如 C:\foxy:

备注

由于 Windows 默认路径限制(260 个字符)较短,因此所选路径必须较短。要允许更长的路径,请参阅 https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry.

医学博士 \f\src
CD \f

获取 ros2.repos 文件,该文件定义了要克隆的仓库:

vcs 舶来品 --输入 https://raw.githubusercontent.com/ros2/ros2/foxy/ros2.repos 来源

安装其他 DDS 实现(可选)

快速 DDS 与 ROS 2 源码捆绑在一起,除非您在 ROS 2 源码中设置了 COLCON_IGNORE 文件中的 (""和"") 文件夹。

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

构建 ROS 2 代码

要构建 ROS 2,您需要以管理员身份运行 Visual Studio 命令提示符("x64 Native Tools Command Prompt for VS 2019")。

建立 \foxy 文件夹树:

胶管 构建 --合并安装

备注

我们使用 --合并安装 在此避免 路径 变量太长。如果你修改这些说明是为了构建一个较小的工作区,那么你可以使用默认的隔离安装行为,即每个软件包都安装到不同的文件夹中。

备注

如果要进行调试构建,请使用 python_d path\to\colcon_executable 构建 --cmake-args -DCMAKE_BUILD_TYPE=Debug.湖泊 调试模式的额外内容 以获取更多关于在 Windows 调试构建中运行 Python 代码的信息。

环境设置

启动命令 shell,并调用 ROS 2 设置文件来设置工作区:

致电 C:\f\i安装\local_setup.bat

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

正常情况下,如果没有其他问题,前一条命令会准确地输出一次 "系统无法找到指定的路径"。

测试和运行

请注意,首次运行任何可执行文件时,都必须通过弹出的 Windows 防火墙允许访问网络。

您可以使用此命令运行测试:

胶管 测试 --合并安装

备注

--合并安装 只有在构建步骤中也使用了它时,才能使用。

之后,您可以使用该命令获取测试摘要:

胶管 测试结果

要运行示例,首先打开一个全新的 cmd.exe 并设置工作区,方法是将 local_setup.bat 文件。然后,运行 C++ 话匣子:

致电 安装\local_setup.bat ros2 运行 演示节点 话匣子

在另一个 shell 中也可以这样做,但要运行 Python 听众:

致电 安装\local_setup.bat ros2 运行 演示节点 听众

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

备注

不建议在同一 cmd 提示下构建,因为您已将 local_setup.bat.

安装后的下一步

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

其他 RMW 实施(可选)

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

调试模式的额外内容

如果想在调试模式下运行所有测试,还需要再安装一些东西:

  • 要提取 Python 源代码压缩包,可以使用 PeaZip:

巧克力 安装 -y 豌豆荚
  • 您还需要 SVN,因为某些 Python 源代码编译依赖项是通过 SVN 签出的:

巧克力 安装 -y svn hg
  • 安装上述程序后,您需要退出并重新启动命令提示符。

  • tgz:

  • 现在,从 Visual Studio 命令提示符以调试模式构建 Python 源代码:

CD C:\dev\Python-3.8.3\PCbuild get_externals.bat build.bat -p x64 -d
  • 最后,将构建产品复制到 Python38 安装目录中,紧挨着 Release-mode Python 可执行文件和 DLL:

CD C:\dev\Python-3.8.3\PCbuild\amd64 复制 python_d.exe C:\Python38 /复制 python38_d.dll C:\Python38 /复制 python3_d.dll C:\Python38 /复制 python38_d.lib C:\Python38\libs /复制 python3_d.lib C:\Python38\libs /复制 sqlite3_d.dll C:\Python38\DLLs /Y
对于 %I  (*_d.pyd)  抄袭 %I C:\Python38\DLLs /Y
  • 现在,在新的命令提示符下,确保 python_d 工作:

python_d -c "import _ctypes ; import coverage";
  • 一旦验证了 python_d因此,有必要重新安装一些带有调试功能库的依赖项:

python_d -m 核心 安装 --强制重新安装 https://github.com/ros2/ros2/releases/download/numpy-archives/numpy-1.18.4-cp38-cp38d-win_amd64.whl python_d -m 核心 安装 --强制重新安装 https://github.com/ros2/ros2/releases/download/lxml-archives/lxml-4.5.1-cp38-cp38d-win_amd64.whl
  • 要验证这些依赖项的安装情况:

python_d -c "from lxml import etree ; import numpy";
  • 当您希望重新构建发布二进制文件时,有必要卸载调试变体并使用发布变体:

蟒蛇 -m 核心 卸载 numpy lxml python -m 核心 安装 numpy lxml
  • 要创建可执行文件 python 脚本(.exe),应使用 python_d 来调用 colcon 以及相应的 CMake 构建类型。如果使用 pip 安装了 colcon,可通过以下命令找到 colcon 可执行文件的路径 核心 展览 胶芯.

python_d \to\c可执行 构建 --合并安装 --cmake-args -dcmake_build_type(构建类型=调试
  • 万岁,你完成了!

了解最新信息

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

故障排除

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

卸载

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

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

    rmdir /s /q \ros2_foxy