前言
本来在Ubuntu下使用Ros就足够了,然而windows也需要使用深度摄像头的SDK,官方给的例子运行不成功,只能考虑曲线救国。
ROS2 Documentation: Humble,文档提供了各平台安装流程,按照步骤执行就可以。
一、安装Chocolatey
管理员运行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
设置安装目录
mkdir c:\opt\chocolatey
set PYTHONNOUSERSITE=1
set ChocolateyInstall=c:\opt\chocolatey
二、安装python
choco install -y python --version 3.8.3
注意安装位置一定要在C:\python38,如果本身有其他版本python,也要链接到这个目录
安装pip,已安装跳过。
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
pip --version
安装依赖,过程中可能会失败,多试几次。
python -m pip install -U catkin_pkg cryptography empy importlib-metadata lark==1.1.1 lxml matplotlib netifaces numpy opencv-python PyQt5 pillow psutil pycairo pydot pyparsing==2.4.7 pyyaml rosdistro
三、安装OpenSSL
官网OpenSSL,下载安装win64版
、
命令行配置环境变量
setx /m OPENSSL_CONF "C:\Program Files\OpenSSL-Win64\bin\openssl.cfg"
四、安装VS及C++依赖
Visual Studio 2022,根据自己的需求下载安装对应版本,其他版本的vs也可以。
完成后,打开VS的工具菜单,选择获取工具和功能
安装好C++桌面开发组件即可。
安装ROS2要用的到依赖库
choco install -y vcredist2013 vcredist140
五、安装OpenCV
OpenCV-3.4.6OpenCV-3.4.6OpenCV-3.4.6下载,注意安装在C:\opencv
然后配置环境变量
setx /m OpenCV_DIR C:\opencv
六 、安装Qt5
下载Qt5.12.12,安装时勾选msvc2017。
设置环境变量。
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\plugins\platforms
然后要安装Graphviz,打开Graphviz,下拉找到Windows安装包
下载安装,安装过程中要勾选设置环境变量的选项。
七、安装其他依赖
去到Github库 nupkg, 下载这些包,存放在同一个目录下。
然后指令安装, <PATH\TO\DOWNLOADS\>这个位置填写包存放的目录
choco install -y -s <PATH\TO\DOWNLOADS\> asio cunit eigen tinyxml-usestl tinyxml2 log4cxx bullet
八、安装 RTI Connext DDS (可选)
下载安装RTI Connext DDS。
九、安装Ros2
下载Ros2 Humble
找到最新的ros2-amd64压缩包,下载,解压。我这里解压在C:\ros2_humble\
设置Ros2环境
call C:\ros2_humble\local_setup.bat
十、启动
启动一个powershell
ros2 run demo_nodes_cpp talker
启动另一个powershell
ros2 run demo_nodes_py listener