Windows使用ROS機器人操作系統全面資料彙總

0 摘要:

本文以Win10系統中安裝使用ROS1Melodic和ROS2Dashing爲基礎,並通過開源硬件設備Arduino與ROS的通信爲示例,具體介紹機器人操作系統ROS1和ROS2的細節。部分內容已經在高校本科課程中進行講解,詳情可搜索:機器人控制器編程

https://microsoft.github.io/Win-RoS-Landing-Page/#

Arduinohttps://blog.csdn.net/ZhangRelay/article/details/104668711

Gazebohttps://blog.csdn.net/ZhangRelay/article/details/104900528


1 引言:

機器人操作系統ROS,可以被理解爲一個特定的應用於機器人領域的物聯網(IoT)系統,很多知識點和技能相似相通,學習並掌握這個工具非常重要。ROS接口豐富,並可與OpenCV,OpenAI等多種第三方開源工具結合,開發出新奇實用的各類機器人。

全平臺(Windows/Linux/MacOS/……)和全語言(C++/Python/Java/……)是ROS的另一個典型特點。大部分ROS課程基於Ubuntu講解。本課程從設計之初就考慮到不同平臺使用用戶特定場景之差異,課程涵蓋了Windows/Linux/MacOS。但測試過程並未公開,依據大量反饋,以學生爲中心,目標導向和持續改進爲內核,課程將全面免費公開Windows版本內容,該版本在測試與反饋中獲得較爲溫和評價,Windows系統目前仍然是國內佔有率最高的桌面平臺。

課程部分介紹資料參考鏈接:機器人編程實踐-ROS2基礎與應用-

必備工具,請安裝最新版本

2 ROS1:

安裝:http://wiki.ros.org/Installation/Windows

使用:https://ms-iot.github.io/ROSOnWindows/

中文:https://blog.csdn.net/ZhangRelay/article/details/82928141

注意:中文版本是一年以前寫的,現在已經有些變動,將在下文列出。

除了基本教程,還支持服務機器人工業機械臂

這些在之前博客中已經詳細介紹過了,這裏就不再重複了。只列出一些要點:

Windows操作系統

  • Windows的ROS1&2需要64位Windows 10桌面或Windows 10 IoT Enterprise。

預留安裝空間

  • 在繼續操作之前,請清理並備份c:\opt下的所有現有數據。

  • c:\opt是指定的安裝位置。當前未啓用重定位。不支持安裝在其他位置!!!

  • 請確保C:\ 驅動器上有10 GB的可用空間用於安裝和開發。
安裝路徑

安裝Visual Studio 2019

爲Windows生成ROS項目需要Visual Studio和Windows的Microsoft SDK。

  • 下載Visual Studio 2019 (社區版免費

    • 包括“使用C++桌面開發”工作部件(工作負載)。
    • 如果要構建WinML,請包括“通用Windows應用程序”工作部件。
使用C++的桌面開發

安裝到D:

d:

安裝Windows軟件包管理器

Chocolatey是Windows的程序包管理器。它用於簡化安裝構建和運行ROS項目所需的工具和庫的過程。

  • 在“開始”菜單中,找到“ VS 2019 x64本機工具命令提示符”項。
  • 右鍵單擊,選擇“更多”,然後選擇“以管理員身份運行”
  • 複製以下命令行:
@"%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。
choco install git -y
  • 安裝Git之後,請確保ROS命令提示符中現在提供了Git。
git --version
  • 如上所述,關閉並重新打開Visual Studio命令窗口。

二進制軟件包安裝

要爲Windows設置ROS,請遵循以下建議步驟:

win10中ros軟件包安裝

ROS 1最新的(LKG)編譯好的安裝包-Melodic

要開始,請安裝推薦的desktop_full元軟件包。元軟件包是其他軟件包的集合。桌面完全元軟件包是指構建,運行,調試和可視化機器人所需的許多其他軟件包。

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

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
ros-melodic

ROS 2最新的編譯好的安裝包-Dashing

要開始使用ROS 2,也可以按照類似的步驟從同一Chocolatey Feed中安裝ROS 2。

例如,如果要安裝最新ROS2 Dashing版本,請打開上面創建的ROS命令提示符,如果尚未打開,請批准管理標高。

choco source add -n=ros-win -s="https://roswin.azurewebsites.net/api/v2" --priority=1
choco upgrade ros-dashing-desktop -y --execution-timeout=0 --pre

請一定,一定,一定測試安裝是否成功!!!

ROS1:

roscore

ROS2:

發佈
接收

創建ROS命令窗口快捷方式

爲了在Windows上使用ROS,需要在每個命令窗口中調用ROS設置腳本。爲了將來不會忘記,使用自動執行此操作的ROS快捷方式將很有幫助。

  • 爲Visual Studio創建一個管理命令行快捷方式:
  • 右鍵單擊Windows資源管理器文件夾,選擇“新建”>“快捷方式”

  • 在快捷方式路徑中,根據上面安裝的Visual Studio,從以下選項中複製突出顯示的命令行:
  • 如果使用Community社區版本:
C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64 && c:\opt\ros\melodic\x64\setup.bat
  • 如果使用的是Professional:
C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64 && c:\opt\ros\melodic\x64\setup.bat
  • 如果使用的是Enterprise:
C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64 && c:\opt\ros\melodic\x64\setup.bat
  • 將快捷方式命名爲“ ROS”
  • 將該快捷方式設置爲管理員
    • 右鍵單擊快捷方式,然後選擇“屬性”。
    • 選擇“快捷方式”選項卡(如果尚未選擇)。
    • 按下[進階]按鈕
    • 檢查按鈕“以管理員身份運行”。
    • 在“高級屬性”對話框上按“確定”。
    • 在“ ROS屬性”快捷方式對話框上按“確定”。

參考:

ROS1:

C:\Windows\System32\cmd.exe /k "D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64 && c:\opt\ros\melodic\x64\setup.bat

ROS2:

C:\Windows\System32\cmd.exe /k "D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64 && c:\opt\ros\dashing\x64\local_setup.bat

(可選)使用新的Windows終端

Microsoft正在爲Windows開發新的開源終端,該終端對內置命令行進行了許多改進,包括選項卡和外觀自定義。您可以從Microsoft Store安裝它。

爲ROS設置終端:

  • 從開始菜單中找到Windows終端,右鍵單擊並選擇“以管理員身份運行”
  • 從添加選項卡(+)按鈕旁邊的下拉箭頭中選擇設置。
  • 在“配置文件”部分,爲ROS添加一個新塊。
    "profiles" : 
    [
        {
            "acrylicOpacity" : 0.5,
            "background" : "#012456",
            "closeOnExit" : true,
            "colorScheme" : "Campbell",
            "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 && c:\\opt\\ros\\melodic\\x64\\setup.bat",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "guid" : "{xxxxx}",
            "historySize" : 9001,
            "icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
            "name" : "ROS",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : "c:\\ws",
            "useAcrylic" : true
        },
  • 使用guid生成器自定義“ guid”條目。
  • (可選)在“全局”部分中將此GUId設置爲“ defaultProfile”。
{
    "globals" : 
    {
        "alwaysShowTabs" : true,
        "copyOnSelect" : false,
        "defaultProfile" : "{xxxx}",
        ....
    }
}

啓動新的Windows終端時,請記住以“以管理員身份運行”,方法是右鍵單擊Windows終端並選擇“以管理員身份運行”。在取消此要求之前,需要實施“ 始終運行終端”提升功能請求

保持最新

如果要更新ROS安裝,請使用Chocolatey的升級功能:

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

運行以下命令:

choco upgrade ros-melodic-desktop_full -y --execution-timeout=0

建議添加 --execution-timeout=0 ,以避免由於網絡緩慢而導致的chocolatey 安裝失敗。

3 ROS2:

安裝:https://index.ros.org/doc/ros2/Installation/Dashing/Windows-Install-Binary/

使用類似ROS1方式更爲簡潔,也可以使用源碼編譯。

ROS1和ROS2在Windows 10中詳細安裝調試記錄參考,如下鏈接:

Windows安裝使用ROS機器人操作系統1&2記錄

安裝配置完成後,可以直接與Linux或MacOS中的ROS通訊互聯,也可以連接豐富外部設備。

4 Ardurno:

什麼是Arduino?(課程包含avr和arm)

Arduino是一個基於易於使用的硬件和軟件的開源電子平臺。 Arduino開發板能夠讀取傳感器上輸入,控制燈,按鈕或Twitter消息-並將其轉換爲輸出-啓動電動機,打開LED並在線發佈內容。可以通過向板上的微控制器發送一組指令來告訴該怎麼做。爲此,可以使用Arduino編程語言(基於Wiring)和Arduino軟件(IDE)(基於Processing)

多年來,Arduino一直是數千個項目的大腦,從日常對象到複雜的科學儀器。這個開放源代碼平臺聚集了世界各地的開發人員社區,包括學生,業餘愛好者,藝術家,程序員和專業人士,他們的貢獻積累了無與倫比的可訪問性知識,對新手和專家都可以提供極大的幫助。

Arduino出生於Ivrea交互設計學院,是一種快速原型製作的簡便工具,主要面向沒有電子和編程背景的學生。Arduino板一旦進入更廣泛的社區,便開始進行更改以適應新的需求和挑戰,將其產品從簡單的8位板擴展到IoT應用,可穿戴,3D打印和嵌入式環境的產品。所有Arduino開發板都是完全開源的,使用戶能夠獨立構建它們,並最終使它們適應其特定需求。該軟件也是開源的,並且通過全球用戶的貢獻而不斷髮展。

爲什麼選擇Arduino?

由於其簡單易用的用戶體驗,Arduino已用於數千個不同的項目和應用程序中。Arduino軟件對於初學者來說易於使用,但對於高級用戶而言足夠靈活。它可以在Mac,Windows和Linux上運行。老師和學生使用它來構建低成本的科學儀器,證明化學和物理原理,或開始編程和機器人技術。設計師和建築師構建交互式原型,音樂家和藝術家將其用於安裝並嘗試新的樂器。例如,製造商當然會使用它來構建在Maker Faire上展出的許多項目。Arduino是學習新事物的關鍵工具。任何人-兒童,業餘愛好者,藝術家,程序員-都可以按照套件的逐步說明進行修補,

還有許多其他微控制器和微控制器平臺可用於物理計算。Parallax Basic Stamp,Netmedia的BX-24,Phidg​​ets,MIT的Handyboard以及許多其他產品都提供了類似的功能。所有這些工具都採用了微控制器編程的繁瑣細節,並將其包裝在易於使用的程序包中。Arduino還簡化了使用微控制器的過程,但與其他系統相比,它爲教師,學生和感興趣的業餘愛好者提供了一些優勢:

  • 便宜 -與其他微控制器平臺相比,Arduino板相對便宜。可以手動組裝最便宜的Arduino模塊版本,甚至預組裝的Arduino模塊的價格也不到50美元
  • 跨平臺 -Arduino軟件(IDE)在Windows,Macintosh OSX和Linux操作系統上運行。大多數微控制器系統僅限於Windows。
  • 簡單,清晰的編程環境 -Arduino軟件(IDE)對於初學者來說易於使用,但足夠靈活,高級用戶也可以利用。對於老師來說,它很方便地基於處理編程環境,因此學習在該環境中進行編程的學生將熟悉Arduino IDE的工作方式。
  • 開源和可擴展軟件 -Arduino軟件作爲開源工具發佈,可供經驗豐富的程序員進行擴展。可以通過C ++庫擴展該語言,並且希望瞭解技術細節的人們可以從Arduino過渡到基於該語言的AVR C編程語言。同樣,您可以根據需要將AVR-C代碼直接添加到Arduino程序中。
  • 開源和可擴展的硬件 -Arduino開發板的計劃是在Creative Commons許可下發布的,因此經驗豐富的電路設計人員可以製作自己的模塊版本,進行擴展和改進。甚至相對沒有經驗的用戶也可以構建該模塊的試驗板版本,以瞭解其工作原理並節省資金。

如何使用Arduino?

請參閱入門指南。如果您正在尋找靈感,可以在Arduino Project Hub上找到各種各樣的教程。

Arduino入門指南的文本已獲得 Creative Commons Attribution-ShareAlike 3.0 License的許可。該指南中的代碼示例已發佈到公共領域。

安裝:https://www.arduino.cc/en/Main/Software

選擇windows版本直接安裝即可使用,在庫中可以直接安裝加載ROS庫。

win10 ros2 arduino

5 Webots:

爲什麼選擇Webots?

Webots是一個開放源代碼的機器人模擬仿真器,它提供了完整的開發環境來對機器人進行建模,編程和仿真。全球數以千計的機構將其用於研發和教學。自1996年以來,Webots由洛桑瑞士聯邦理工學院聯合開發,經過全面測試,充分記錄並持續維護。它是快速獲得專業成果的最有效解決方案,包括:

  • 複雜機器人系統的開發 -從頭開始快速原型製作 
  • 模擬無人駕駛汽車 -配備傳感器並與環境互動 
  • 驗證新的機器人技術 —深度學習,進化算法,多智能體等。 
  • 訓練練習的設置 -用於機器人教室 通過操縱桿,驅動輪,踏板和VR接口
  • 對飛行員進行培訓 直接向您的客戶
  • 提供定製的仿真

Webots功能

  • 精確的物理仿真模擬 -逼真的模擬依賴於已校準的模型 
  • 機器人,傳感器,執行器和對象庫 -模擬的構建塊 
  • 導入/導出 — CAD模型,OpenStreetMap,電影,Web 
  • API和插件 -編程語言,集成的IDE,場景樹編輯器 
  • 多平臺 -Windows,Linux,macOS(以及更多)

投資組合:基於Webots

  • 行業 -他們在研發,測試和應用程序中使用Webots 
  • 學術界 -他們與Webots一起進行教學和研究 
  • 諮詢 -我們爲他們提供自定義的Webots模擬 
  • 歐洲研究部 -我們以財團成員的身份爲他們提供專業知識

開始使用

請遵循以下步驟以熟練掌握Webots:

  1. 在Webots中學習3D導航: Viewpoint Control [在線模擬]。
  2. 用Python編程機器人: 機器人編程 [在線模擬]。
  3. 探索更多高級編程: robotbenchmark.net [在線模擬]。
  4. 下載,安裝Webots並遵循《 Webots用戶指南》的教程
  5. 運用Cyber​​botics機器人課程進一步學習

安裝:https://www.cyberbotics.com/#download

選擇windows版本,免費版本無服務支持。

6 V-Rep:

具有集成開發環境的機器人模擬仿真器V-REP基於分佈式控制體系結構:每個對象/模型都可以通過嵌入式腳本,插件,ROS或BlueZero節點,遠程API客戶端或自定義進行單獨控制解。這使得V-REP非常通用,非常適合多機器人應用。控制器可以用C / C ++,Python,Java,Lua,Matlab或Octave編寫。

V-REP用於快速算法開發,工廠自動化仿真,快速原型製作和驗證,機器人技術相關的教育,遠程監控,安全性雙重檢查以及數字孿生等等。可以在此處找到功能概述

安裝:http://coppeliarobotics.com/downloads.html

7 Matlab:

官網:https://ww2.mathworks.cn/products/matlab.html

8 ……

待完善……


依據反饋更新修正,感謝~


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章