一、提要:
? ? ? ? 之前已經(jīng)在ubuntu22.04上安裝上了ROS2-Humble,后期開發(fā)想要跨平臺(tái),ubuntu上發(fā)布話題,在windows上訂閱話題,所以實(shí)驗(yàn)在windows上安裝ROS2。
? ? ? ? 因?yàn)閡buntu上安裝的是Humble版本,所以在win10上首選安裝也是Humble版,實(shí)驗(yàn)過程中是先通過在線方式安裝了foxy版本,后面通過離線方式又安裝了Humble。
二、必要的工具和準(zhǔn)備
2.1 系統(tǒng)要求
Windows系統(tǒng)準(zhǔn)備:ROS-for-Windows需要64位Windows 10桌面或Windows 10物聯(lián)網(wǎng)企業(yè)版。
檢查系統(tǒng)是否自帶工具Powershell。
從病毒掃描程序中排除ROS安裝路徑c:\opt(以及稍后的工作區(qū)文件夾),因?yàn)樗鼈兛赡軙?huì)干擾安裝和開發(fā)。
2.1 powershell介紹
工具準(zhǔn)備:powershell是一個(gè)交互終端,其命令和linux下差不多,ls,ssh,ping,scp等等都是支持的??梢允褂脀in+R,輸入powershell打開,也可以通過左下方搜索powershell打開。
三、安裝Visual Studio 2022
Vcpkg is used for managing dependent libraries. It requires that the English language pack be installed.
Include "Desktop development with C++" workload.
In the Individual Components, select "Windows 10 SDK (10.0.19041.0)".
注意:安裝完VC2019后,有一個(gè)VC版本的命令行工具很重要,如圖:
在安裝ROS2之前我已經(jīng)安裝了64位2022?Community版本的Visual Studio。
此次安裝ROS2,會(huì)用到VS的命令行工具(下圖)進(jìn)行64位的軟件操作,都需要打開此命令行進(jìn)行。
四、 “巧克力”-Chocolatey安裝
4.1 ?Chocolatey是啥?
在Ubuntu下有下載更新工具apt-get,Chocolatey就可以理解成win10版的apt-get。
4.2 安裝一個(gè)chocolatey
在開始菜單中,找到“x64 Native Tools Command Prompt for VS 2022”項(xiàng),然后右鍵選擇“以管理員身份運(yùn)行”
復(fù)制以下命令行運(yùn)行:
@"%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"
安裝完成后在powershell中輸入choco顯示如下
五、安裝ROS2
安裝過程參考ROS2官方安裝說明:
ROS2-Humble官方安裝文檔
5.1 安裝各種依賴
需要使用chocolatey,但是chocolatey國(guó)內(nèi)網(wǎng)速非常慢,經(jīng)常連接不到服務(wù)器,需要自己想辦法,或者離線安裝。
5.1.1在線or離線安裝python-3.8.3
?A.在線安裝:
choco install -y python --version 3.8.3
B.離線安裝:
python-3.8.3官網(wǎng)下載地址
注意:建議安裝debug,需要科學(xué)上網(wǎng),安裝時(shí)下載可能會(huì)遇到,“0x80072efd未指定的錯(cuò)誤”,可以先不勾選,安裝完再M(fèi)odify.
點(diǎn)擊安裝后等待即可,強(qiáng)烈建議去除window最大路徑長(zhǎng)度限制
5.1.2在線安裝Visual C++ Redistributables
choco install -y vcredist2013 vcredist140
5.1.3離線安裝OpenSSL
OpenSSL官網(wǎng)下載地址
ROS2官方安裝文檔要求下載Win64 OpenSSL v1.1.1n,不要下載v1.1.1n Light、Win32或者v3.X.Y版本的。
發(fā)個(gè)安裝完成的界面讓大家開心一下
?安裝完成后,設(shè)置環(huán)境變量(管理員權(quán)限打開powershell)
setx /m OPENSSL_CONF "C:\Program Files\OpenSSL-Win64\bin\openssl.cfg"
5.1.4在線+離線安裝其他依賴
choco install -y cmake
GIt下載頁面
-
asio.1.12.1.nupkg
-
bullet.3.17.nupkg
-
cunit.2.1.3.nupkg
-
eigen-3.3.4.nupkg
-
tinyxml-usestl.2.6.2.nupkg
-
tinyxml2.6.0.0.nupkg
下載后放到【下載文件夾】,powershell安裝
choco install -y -s 【下載文件夾】 asio cunit eigen tinyxml-usestl tinyxml2 bullet
升級(jí)pip和setuptools:
python -m pip install -U pip setuptools==59.6.0
安裝python其他依賴
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
?5.1.4離線安裝Qt5
ROS2官方文檔推薦安裝5.12.X
Qt官網(wǎng)下載鏈接
確保在安裝過程中,勾選 Qt -> Qt 5.12.12 下的MSVC 2017 64-bit組件
安裝完成后,在管理員模式下的powerShell中設(shè)置環(huán)境變量
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
至此,準(zhǔn)備工作基本完成,現(xiàn)在入正題,開始安裝ROS2。
5.2安裝ROS2????????
實(shí)驗(yàn)過程中,在線存在服務(wù)器無響應(yīng)的情況,可以多試幾次,能不能安裝上靠命,推薦自己下載后離線安裝。
5.2.1在線安裝ROS2-Foxy
mkdir c:\opt\chocolatey
set PYTHONNOUSERSITE=1
set ChocolateyInstall=c:\opt\chocolatey
choco source add -n=ros-win -s="https://aka.ms/ros/public" --priority=1
安裝最新版本的Foxy
choco upgrade ros-foxy-desktop -y --execution-timeout=0
5.2.2在線安裝ROS2-Humble
mkdir c:\opt\chocolatey
set PYTHONNOUSERSITE=1
set ChocolateyInstall=c:\opt\chocolatey
choco source add -n=ros-win -s="https://aka.ms/ros/public" --priority=1
安裝最新版本的Humble(Humble目前是pre版,需要加參數(shù)--pre)
choco upgrade ros-humble-desktop --pre -y --execution-timeout=0
5.2.1在線安裝ROS2
1.下載自己需要的版本的離線包
離線包下載地址
2.開始菜單中,右鍵 “x64 Native Tools Command Prompt for VS 2019” ,以管理員身份運(yùn)行。
3.修改安裝包搜索優(yōu)先級(jí),如圖所示,是下載的nupkg文件所在的文件夾地址。
choco source add -n=ros-win -s=“E:\roswininstall” #離線包本地存放地址
choco source remove -n=chocolatey
choco source add -n=chocolatey -s"https://chocolatey.org/api/v2/" --priority=1
4.在Command輸入
choco upgrade chocolatey-windowsupdate.extension
5.更新成功后,繼續(xù)輸入
choco upgrade ros-foxy-desktop -y --execution-timeout=0
或者
choco upgrade ros-humble-desktop --pre -y --execution-timeout=0
六、測(cè)試ROS2?
1.HelloWorld-Foxy
打開cmd命令行,設(shè)置環(huán)境變量
call C:\opt\ros\foxy\x64\local_setup.bat
HelloWorld
ros2 run demo_nodes_cpp talker
Ctrl+C退出
?2.小海龜-Humble
打開cmd命令行,設(shè)置環(huán)境變量
call C:\opt\ros\humble\x64\local_setup.bat
?運(yùn)行小海龜
ros2 run turtlesim turtlesim_node
?再啟動(dòng)一個(gè)窗口,設(shè)置環(huán)境變量
call C:\opt\ros\humble\x64\local_setup.bat
啟動(dòng)鍵盤控制節(jié)點(diǎn)
ros2 run turtlesim turtle_teleop_key
?七、設(shè)置ROS2 環(huán)境變量
因?yàn)槊看未蜷_新的PowerShell運(yùn)行ROS2都需要運(yùn)行call C:\opt\ros\humble\x64\local_setup.ps1來設(shè)置ROS2環(huán)境,所以官方也給出了自動(dòng)初始化ROS2環(huán)境的方法:
1.在文件夾C:\用戶\【你的用戶名】\文檔\WindowsPowerShell\里面新建一個(gè).txt文件
2.然后在txt里粘貼兩行代碼 C:\dev\ros2_foxy\local_setup.ps1 和 Unblock-File C:\dev\ros2_foxy\local_setup.ps1 ,保存,重命名文件為 Microsoft.PowerShell_profile.ps1,以后就不用每次打開PowerShell都要運(yùn)行call C:\dev\ros\foxy\x64\local_setup.ps1來Source ROS2了
3.可能打開PowerShell后提示禁止運(yùn)行腳本,這個(gè)時(shí)候輸入命令:set-executionpolicy remotesigned,然后選擇y就可以了,重啟一下PowerShell搞定文章來源:http://www.zghlxwxcb.cn/news/detail-805586.html
至此,win10上安裝ROS2完成,可以愉快的玩耍了文章來源地址http://www.zghlxwxcb.cn/news/detail-805586.html
到了這里,關(guān)于win10安裝ROS2(foxy+humble/在線安裝+離線安裝)超詳細(xì)保姆級(jí)教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!