仅记录安装需要注意的步骤,安装版本为ros2 foxy,依据官网教程链接:
一,安装Chocolatey
- 以管理员模式打开PowerShell
- 执行Get-ExecutionPolicy,如果显示Restricted,则执行Set-ExecutionPolicy AllSigned
二,安装Python3.8
- 注意不指定版本可能会下载python3.9,到后面执行ros2时会报错"failed to create process"
- 执行如下安装
choco install -y python --version 3.8.3
- 卸载python执行如下
choco uninstall python
三,安装OpenSSL
1,下载链接 Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions
2,选择Win64 OpenSSL v1.1.1h的EXE文件安装,注意不要选择light版本下载
四,安装依赖包
- 打开链接Release 2020-02-24 · ros2/choco-packages · 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
- 然后在powershell(管理员)中执行
choco install -y -s E:\ros2tmp asio cunit eigen tinyxml-usestl tinyxml2 log4cxx bullet
- 注意之前如果choco安装过这些依赖包,那么注册表是会留下信息的,再次安装会失败。需要删除注册表中这些包的信息。在注册表中的位置为:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Kitware\CMake\Packages
五,安装python依赖库
- 注意要以管理员身份在CMD中运行,不要在powershell中运行
- 在使用pip时候,可能会出现权限问题,需要手动修改文件的权限
六,安装ROS2
- 打开链接https://github.com/ros2/ros2/releases
- 下载文件ros2-foxy-20201211-windows-release.amd64.zip
- 解压到C:\dev目录下,将文件夹名称改为ros2
- 执行如下命令
call C:\dev\ros2\local_setup.bat
七,验证ROS2,打开两个CMD,分别执行
ros2 run demo_nodes_cpp talker
ros2 run demo_nodes_py listener
八,源码编译问题
在windows中编译ros2源码会存在一些问题,比如QT5 问题,ros-foxy中rviz_default_plugins默认的qt版本为5.12.0,且安装位置为C:/Qt/5.12.10/msvc2017_64,除此之外还会有其他把路径定死的问题,所以源码编译时要根据自己实际的环境来修改源码中的路径以及版本问题。
九,colcon安装
pip install -U colcon-common-extensions