Webots 專案

本頁針對 Google 系列文件接受的技術撰寫專案提供詳細資料。

專案摘要

開放原始碼機構:
Webots
技術文件撰寫者:
輕微錯覺通道
專案名稱:
Webots 適用的影片教學課程系列 (與 ROS2 整合)
專案長度:
標準長度 (3 個月)

Project description

學習重點:

這系列影片教學課程旨在協助新使用者從 Webots 著手運用最佳做法,同時為觀眾提供清楚的逐步解決方案,協助他們完成具體的模擬作業。

目標:

在本系列課程結束後,觀眾將能建立基本的 ROS2 節點並與 Webot 互動,並對行動版機器人的進階專案更有信心。這個系列影片也會針對機器人領域中的幾項重要概念,提供理論解釋。

系列影片詳細資料:

  1. 在 Visual Studio Code 中安裝及設定存放區。這包括使用指令式 ROS2 安裝及其工作的基本知識。其次,還可以在 VS 程式碼中設定 ROS 工作區,以及使用 VS 程式碼中基本分頁的功能。

  2. ROS2 和 Webots 基本範例。Webots ROS2 的一些例子是引導觀眾收看以及 ROS2 和 Webots 之間的基本通訊理論。

  3. 使用 ROS2 服務與 Webots 互動。說明 ROS 服務的基本概念,解釋 ROS 和 ROS2 服務之間的差異。其次,播放循序漸進的教學課程,瞭解如何呼叫服務,以及啟用感應器主題來讀取動作和致動器。

  4. 使用 ROS2 發布者控制自訂機器人。瞭解如何使用 ROS2 發布商將訊息發布至 Webots。我們可以針對某個主題發布鍵盤輸出內容,然後在 Webots 中運用鍵盤輸出內容,藉此控制機器人的動態效果。

  5. 向 ROS2 訂閱者透過機器人取得意見回饋。在這部影片中,我們將訂閱距離感應器的感應器讀數資料,並在機器人即將碰撞時停止機器人的讀數。基本上,這是一項障礙,避免系統發布互動式訊息。

  6. 使用 ROS2 的 Master(發布者) Slave(訂閱者) 機器人。 在這部影片中,我們將使用鍵盤控制一台機器,讓另一個機器人遠離手動機器人。以小偷和拳擊的情境類似 :) [這將是 3,4,5 部影片的連續播放]。如此一來,觀眾就能測試溝通,如果 ROS 發生問題,模擬作業中會出現瑕疵。

  7. 正在設定 Rviz (顯示不同的感應器輸出)。 在這部影片中,我們將加入其他幾組感應器,並發布到 Rviz 上。這部影片結束後,觀眾將可以設定 Rviz (例如新增光學雷達、相機等感應器來呈現圖表)、儲存設定,下次也會產生已儲存的設定。

  8. 偵錯影片 (Rostopic echo、Rostopic 資訊、RQT_graph)。本影片包含幾種主題有誤的功能,協助您瞭解偵錯技巧。我們會按照流程查看 RQT 圖表,找出問題的主因。使用 rostopic echo 檢查主題是否正在發布,並在最後檢查 Rostopic 資訊以找出我們的問題。解決問題並具備一般功能。

  9. 偵錯影片(rqt_console, rqt_gui) 這部影片將使用 Ros 訊息(資訊、偵錯、錯誤等) 和 rqt_console 使用方式。這部影片也將延伸至使用 rqt_gui 發布虛擬訊息,以取得必要功能。這可以做為修正部分錯誤的替代方法。

  10. 進階主題影片:說明如何整合不明環境 (SLAM 工具箱或 LaMa) 中的 SLAM 程式庫 [第 1 部分] 這部影片將介紹 SLAM 問題的基本理論。然後,我們會使用上述講解的概念基礎架構,瞭解專案的雜訊。最後,我們將透過終端機產生必要的節點,然後查看 Rviz 中的對應輸出。

  11. 進階主題影片:在不明環境 (SLAM 工具箱或 LaMa) 中整合 SLAM 程式庫 [第 2 部分] 在第 10 部影片中,我將教導如何製作啟動檔案來共同啟動所有節點,並檢查 rqt_graph 以確實瞭解 ROS 架構的概念。最後,我們將使用地圖伺服器儲存套件產生的地圖。

  12. 進階主題影片:整合 OpenCV (AR 標記偵測,Ar_track_alvar 套件) [第 1 集] 影片中會介紹什麼是 AR 標記,並說明這些標記在使用電腦視覺上進行本地化的重要性。接下來,我們將進一步建構 AR 追蹤 Alvar 套件的運作方式。這樣有助於提供專案的整體觀點。最後,將提供從 Webots 串流至 ROS 主題的視訊畫面串流服務。

  13. 進階主題影片:整合 OpenCV (AR 標記偵測,Ar_track_alvar 套件) [第 2 集] 這部影片將接續第 12 部影片的內容。影片套件將使用上述圖片串流,並發布機器人和 AR 標記之間的變形主題,您可以前往 Rviz 發布該部影片。最後,隨著我們移動機器人,我們會看到各種標記在 Rviz 和 Ros 主題訊息中的位置有所改變。

結論:

這項 GSOD 專案是自我可靠的套件,可讓您初步瞭解 ROS2 與 Webots 的整合。此套件也會包含 ROS2 中實際實作的實務做法,例如主題、服務、節點、發布檔案、發布者、訂閱者、不同的偵錯工具,以及 VS 程式碼的使用方式。這也包括 SLAM 和 OpenCV 等進階主題專案。這樣觀眾就會知道使用 ROS2 和 Webots 完成終結工作。