1. Windows操作系统

  • Windows的ROS需要64位Windows 10桌面或Windows 10 IoT Enterprise。
  • 请确保已在系统路径中安装了Powershell。

2. 预留安装空间

  • 在继续操作之前,请清理并备份c:\ opt下的所有现有数据。
  • c:\ opt是必需的安装位置。当前未启用重定位。
  • 请确保C:\驱动器上有10 GB的可用空间用于安装和开发。

3. 安装Visual Studio 2019

为Windows生成ROS项目需要Visual Studio和Windows的Microsoft SDK。

  • 下载Visual Studio 2019
    • 包括“使用C ++进行桌面开发”工作负载。
    • 如果要构建WinML,请包括“通用Windows平台开发”工作负载。
    • 如果已经安装了Visual Studio 2019,则可以修改安装

4. 安装Windows软件包管理器

Chocolatey是Windows的程序包管理器。它用于简化安装构建和运行ROS项目所需的工具和库的过程。以下说明将Chocolatey安装位置重定向到c:\ opt,以便您可以从该位置清洁或移动ROS环境。

  • 在“开始”菜单中,找到“ VS 2019 x64本机工具命令提示符”项。

  • 右键单击,选择“更多”,然后选择“以管理员身份运行”

  • 复制以下命令行:

    1
    @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
    • 将其粘贴到命令窗口中。

    • 批准任何提示

    • 完成后,关闭命令提示符以完成安装。

  • 安装Git:

    • 如上所述,重新打开Visual Studio命令窗口。

    • 即使您已将其安装为应用程序,也请使用此处的命令安装Git。

      1
      choco upgrade git -y
    • 安装Git之后,请确保Git现在在Visual Studio命令窗口中可用。

      1
      git --version
    • 如上所述,关闭并重新打开Visual Studio命令窗口。

5. 二进制软件包安装

要为Windows设置ROS,请遵循以下建议步骤:

5.1. ROS Last Known Good(LKG)生成安装

要开始使用,请安装推荐的desktop_full元软件包。元软件包是其他软件包的集合。桌面完全元软件包是指构建,运行,调试和可视化机器人所需的许多其他软件包。

如上所述,以管理员身份打开Visual Studio命令提示符。

1
2
3
4
mkdir c:\opt\chocolatey
set ChocolateyInstall=c:\opt\chocolatey
choco source add -n=ros-win -s="https://roswin.azurewebsites.net/api/v2" --priority=1
choco upgrade ros-melodic-desktop_full -y --execution-timeout=0

5.2. ROS 2 Nightly 构建安装

要开始使用ROS 2,您也可以按照类似的步骤从同一Chocolatey Feed中安装ROS 2。

例如,如果你想安装ROS2 口才每日构建,打开ROS命令提示符上面创建和批准的行政海拔如果尚未打开。

1
2
3
4
mkdir c:\opt\chocolatey
set ChocolateyInstall=c:\opt\chocolatey
choco source add -n=ros-win -s="https://roswin.azurewebsites.net/api/v2" --priority=1
choco upgrade ros-eloquent-desktop -y --execution-timeout=0 --pre

6. 创建ROS命令窗口快捷方式

为了在Windows上使用ROS,需要在每个命令窗口中调用ROS设置脚本。为了将来不会忘记,使用自动执行此操作的ROS快捷方式将很有帮助。

  • 为Visual Studio创建一个管理命令行快捷方式:

  • 右键单击Windows资源管理器文件夹,选择“新建”>“快捷方式”

  • 在快捷方式路径中,根据上面安装的Visual Studio,从以下选项中复制突出显示的命令行:

    • 如果您使用社区:

      1
      C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64&& set ChocolateyInstall=c:\opt\chocolatey&& c:\opt\ros\melodic\x64\setup.bat
    • 如果您使用的是Professional:

      1
      C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64&& set ChocolateyInstall=c:\opt\chocolatey&& c:\opt\ros\melodic\x64\setup.bat
    • 如果您使用的是Enterprise:

      1
      C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64&& set ChocolateyInstall=c:\opt\chocolatey&& c:\opt\ros\melodic\x64\setup.bat
    • 将快捷方式命名为“ ROS”

    • 将该快捷方式设置为管理员

      • 右键单击快捷方式,然后选择“属性”。
  • 选择“快捷方式”选项卡(如果尚未选择)。

    • 按下[进阶]按钮

    • 检查按钮“以管理员身份运行”。

      • 在“高级属性”对话框上按“确定”。
    • 在“ ROS属性”快捷方式对话框上按“确定”。

6.1. (可选)使用新的Windows终端

微软正在为Windows开发一个新的开源终端,该终端对内置命令行进行了许多改进,包括选项卡和外观自定义。您可以从Microsoft Store安装它。

为ROS设置终端:

  • 从开始菜单中找到Windows终端,右键单击并选择“以管理员身份运行”
  • 从添加选项卡(+)按钮旁边的下拉箭头中选择设置。
  • 在“配置文件”对象的列表数组中,为ROS添加一个新块。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
"profiles" :
{
list:
[
...
{
"commandline" : "C:\\Windows\\System32\\cmd.exe /k \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\Common7\\Tools\\VsDevCmd.bat\" -arch=amd64 -host_arch=amd64 && set ChocolateyInstall=c:\\opt\\chocolatey&& c:\\opt\\ros\\melodic\\x64\\setup.bat",
"guid" : "{xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxx}",
"icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
"name" : "ROS",
"startingDirectory" : "c:\\ws"
},
]
}
  • 从Visual Studio命令窗口中,使用命令uuidgen生成全局唯一标识符(也称为通用唯一标识符)。
  • 复制GUID(选择文本,然后右键单击以复制)
  • 用上面复制的文本替换xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxx。
  • (可选)将此guid设置为“ defaultProfile”
1
2
3
4
"alwaysShowTabs" : true,
"copyOnSelect" : false,
"defaultProfile" : "{xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxx}",
....

启动新的Windows终端时,请记住以“以管理员身份运行”,方法是右键单击Windows终端并选择“以管理员身份运行”。在解除此要求之前,需要实施“ 始终运行终端”提升功能请求

或者,按Ctrl + Shift +单击开始菜单或任务栏中的终端图标是以管理员身份运行的便捷快捷方式。

7. 保持最新

如果要更新ROS安装,请使用Chocolatey的升级功能。

打开上面创建的ROS命令提示符,并批准管理海拔(如果尚未打开)。

运行以下命令:

1
2
set ChocolateyInstall=c:\opt\chocolatey
choco upgrade all -y --execution-timeout=0

建议添加--execution-timeout = 0,以适应由于网络缓慢而导致的巧克力安装失败。

8. 卸载

  1. 卸载之前,请确保系统上没有运行ROS系统或程序。

  2. 在命令提示符下,运行以下命令:

    1
    rmdir /s /q c:\opt

9. 故障排除

9.1. 升级期间未找到VCPKG

vcpkg是用于管理库依赖关系的外部工具。外部工具要求Powershell处于路径中,否则它将无法安装。由于它是desktop_full的依赖项,因此安装可能会失败。

在安装ROS之前,请验证powershell.exe在您的路径中。

有关详细信息,请参见https://github.com/ms-iot/ROSOnWindows/issues/203。

9.2. 该系统找不到指定的路径

注意:一些软件包已从二进制部署更改为目录,这会导致升级问题。如果遇到以下情况:

1
2
ERROR: Can not open output file : The system cannot find the path specified. : c:\opt\ros\melodic\x64\lib\site-packages\gennodejs-2.0.1-py2.7.egg-info\dependency_links.txt
...

请删除每个受影响的文件,然后尝试再次更新。

1
2
del \opt\ros\melodic\x64\lib\site-packages\gennodejs-2.0.1-py2.7.egg-info
...

有关更多信息,请参见https://github.com/ms-iot/ROSOnWindows/issues/207。