【ROS2教程】windows10下安装ROS2-Foxy Fitzroy

目录

  • 介绍
  • 一、安装前提条件
    • 1、安装Chocolatey
    • 2、安装python
    • 3、安装vs c++
    • 4、安装openSSL
    • 5、安装Visual Studio
    • 6、安装openCV
    • 7、安装依赖
  • 二、从ROS2 源码安装
    • 1、安装开发人员工具
    • 2、安装Qt5
    • 3、安装RTI
    • 4、获取repo文件
    • 5、导入储存库
    • 6、编译源码
  • 三、安装二进制版本ROS2
  • 四、测试

介绍

ROS2的安装有两种方式

  • 从源码构建
  • 安装二进制包

一、安装前提条件

1、安装Chocolatey

Chocolatey是Windows的软件包管理器,我们按照官网的说明进行安装。

要求

  • Windows 7+ / Windows Server 2003+
  • PowerShell v2 +(虽然还不是PowerShell Core)(由于TLS 1.2要求,从此网站安装的最低版本是v3 )
  • .NET Framework 4+(如果未安装.NET 4.0,安装程序将尝试安装。)(由于TLS 1.2要求,从此网站安装的最低版本为4.5 )

对于win10用户,你可暂时忽略上述要求,直接安装即可,出现安装错误再进行检查

使用管理员打开cmd,输入以下内容并回车:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

等安装完成后输入choco检查,如下所示:
在这里插入图片描述

2、安装python

安装Python3.8,注意不指定版本可能会下载python3.9,到后面执行ros2时会报错"failed to create process",大家可以可以用choco安装

choco install -y python --version 3.8.3

或者直接去官网下载安装包使用,注意安装目录要选至C盘

3、安装vs c++

同样我们可以使用choco快速安装

choco install -y vcredist2013 vcredist140

等窗口滚完之后会提示我们需要重启
【ROS2教程】windows10下安装ROS2-Foxy Fitzroy_第1张图片

4、安装openSSL

我们从官网下载安装包,选择64位完整版。

【ROS2教程】windows10下安装ROS2-Foxy Fitzroy_第2张图片
默认安装目录为C:\OpenSSL-Win64,我们选择安装至E盘。
【ROS2教程】windows10下安装ROS2-Foxy Fitzroy_第3张图片

接下来在命令行输入以下指令(根据安装目录自行修改):

setx -m OPENSSL_CONF "E:\ROS2\OpenSSL-Win64\bin\openssl.cfg"

最后,还需要将OpenSSL的bin目录添加到Path环境变量当中

5、安装Visual Studio

同样去官网下载安装包,我们选择社区版即可。
【ROS2教程】windows10下安装ROS2-Foxy Fitzroy_第4张图片
选中c++组件,这里编者已经安装了2019的版本了,因此用2017的进行演示。选好后点击安装即可
【ROS2教程】windows10下安装ROS2-Foxy Fitzroy_第5张图片

6、安装openCV

您可以从ROS2预编译的OpenCV版本下载OpenCV 3.4.6的预编译版本,下载后解压到你想放置的目录,这里我们同样解压到E盘ROS2目录下,并将文件夹改名为opencv。

在这里插入图片描述
随后,在命令行中输入:

setx -m OpenCV_DIR E:\ROS2\opencv

由于我们使用的是预编译的ROS版本,因此我们必须告诉它在哪里可以找到OpenCV库。因此我们必须将E:\ROS2\opencv\x64\vc16\bin添加到PATH环境变量当中

7、安装依赖

首先安装cmake,大家可以通过常规方式安装(自行百度),亦可以通过choco安装,最后记得将bin目录添加进环境变量中即可:

choco install -y cmake

接下来我们还需要从github中下载以下离线安装文件。

  • asio.1.12.1.nupkg
  • bullet.2.89.0.nupkg
  • cunit.2.1.3.nupkg
  • eigen-3.3.4.nupkg
  • tinyxml-usestl.2.6.2.nupkg
  • tinyxml2.6.0.0.nupkg
  • log4cxx.0.10.0.nupkg

这里我将上述文件下载到同一个文件夹中方便安装,如下图:

【ROS2教程】windows10下安装ROS2-Foxy Fitzroy_第6张图片
使用choco进行安装(自行更改至下载目录)

choco install -y -s E:\ROS2\dependencies asio cunit eigen tinyxml-usestl tinyxml2 log4cxx bullet

如果安装失败(以下报错),检查一下注册表是否存在对应的注册文件,删掉重新安装即可,参考这篇文章

ERROR: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: A key in this path already exists.
The install of asio was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\asio\tools\chocolateyinstall.ps1'.
 See log for details.

接下来安装所需要的python包

python -m pip install -U catkin_pkg cryptography empy ifcfg lark-parser lxml netifaces numpy opencv-python pyparsing pyyaml setuptools

可能会因为网速问题出现错误,多尝试几次过着逐个下载。

此外还需要QT的相关依赖

python -m pip install -U pydot PyQt5

要运行rqt_graph,我们同样需要安装Graphviz

choco install graphviz

C:\Program Files\Graphviz\bin添加到PATH环境变量当中

二、从ROS2 源码安装

从源码进行构建除了第一节当中提到的

1、安装开发人员工具

安装vcstool

pip install -U vcstool

安装colcon

pip install -U colcon-common-extensions

安装curl

choco install -y curl

安装git,并将C:\Program Files\Git\cmd至path环境变量当中

choco install -y git

安装测试工具

pip install -U pytest pytest-mock coverage mock

代码检查工具

pip install -U flake8 flake8-blind-except flake8-builtins flake8-class-newline flake8-comprehensions flake8-deprecated flake8-docstrings flake8-import-order flake8-quotes mypy pep8 pydocstyle

安装cppcheck

choco install -y cppcheck

安装xmllint

从这里下载以下三个文件

【ROS2教程】windows10下安装ROS2-Foxy Fitzroy_第7张图片
该库的依赖关系如图

【ROS2教程】windows10下安装ROS2-Foxy Fitzroy_第8张图片
解压到同一个目录当中,并添加bin目录到PATH中
【ROS2教程】windows10下安装ROS2-Foxy Fitzroy_第9张图片

2、安装Qt5

参考我的上一篇文章Window10下安装Qt5

在安装完后,需要设置环境变量Qt5_DIR,以便CMake可以找到它

setx -m Qt5_DIR E:\ROS2\Qt\5.15.0\msvc2019_64

随后在命令行中输入

set "NDDSHOME=C:\Program Files\rti_connext_dds-5.3.1"

3、安装RTI

到官网 注册信息, 随后到邮箱所收到的邮件中打开下载链接,选择对应版本安装即可

【ROS2教程】windows10下安装ROS2-Foxy Fitzroy_第10张图片

由于国内网络问题,所以可能一部分包会下载出错,因此我打包好所有源码上传,大家可自行下载。
获取源码后解压放置在src目录中即可,可跳过以下两步,直接进行源码的编译(第三步)

4、获取repo文件

现在我们有了开发工具,可以获得ROS 2源代码。

首先创建一个ros2_foxy\src文件夹用于存放ROS2源码,用管理员打开命令行

在ros2_foxy目录下,输入以下指令获取定义要克隆的存储库的ros2.repos文件:

curl -sk https://raw.githubusercontent.com/ros2/ros2/foxy/ros2.repos -o ros2.repos

成功下载的话会出现这个文件,但是本人亲测,raw.githubusercontent.com很多时候都是连不上的,此时需要修改host文件。

首先通过网站https://www.ipaddress.com/查找raw.githubusercontent.com的ip地址
【ROS2教程】windows10下安装ROS2-Foxy Fitzroy_第11张图片
随便选一个,在host文件中添加:185.199.111.133 raw.githubusercontent.com,保存,再次运行curl的那条指令,就能下载repos文件了

在这里插入图片描述

5、导入储存库

接下来,可以vcs导入ros2.repos文件中列出的存储库

vcs import src < ros2.repos

耐心等待一下,留意有没有报错信息,确保各个库都下载完成。

6、编译源码

随后,用管理员打开vs 2019的控制台

【ROS2教程】windows10下安装ROS2-Foxy Fitzroy_第12张图片
输入

colcon build --merge-install

程序开始运行后,会多出几个文件夹,我们只要耐心等候编译完成即可。

【ROS2教程】windows10下安装ROS2-Foxy Fitzroy_第13张图片

三、安装二进制版本ROS2

如果不想从源码进行构建,ros官方还提供了预编译的版本,到https://github.com/ros2/ros2/releases下载最新的软件包,例如ros2-foxy-*-windows-AMD64.zip

【ROS2教程】windows10下安装ROS2-Foxy Fitzroy_第14张图片

将文件解压到某个位置,这里假设解压至E:\ROS2\ros-windows.

四、测试

打开命令行,输入:

call E:\ROS2\ros-windows\local_setup.bat

随后可以测试我们的程序了

ros2 run demo_nodes_cpp talker

注意,每次重新打开命令行运行ros之前都需要call一下

【ROS2教程】windows10下安装ROS2-Foxy Fitzroy_第15张图片

你可能感兴趣的:(ros,python,深度学习)