導航組件(Components of autonomous navigation)

前言大綱

要開始使用自主導航,您需要掌握以下概念:

地圖(Maps)

地圖是由路徑點雲(waypoints) 和邊際(Edges)組成的拓撲圖。地圖由操作員使用平板電腦控制器記錄,或者由客戶端應用程序使用對 GraphNavRecordingService 的調用記錄( RPC calls )。

路徑點雲(waypoints) 

路徑點雲(waypoints) 定義了機器人在地圖上遵循的路線。每個路徑點雲(waypoints)都存儲一個指向記錄過程中捕獲的數據快照的指針。在記錄過程中,機器人以大約 2m 的間隔或根據需要以其他方式放置路徑點雲(waypoints) 。 可以通過 API 從平板電腦或客戶端應用程序顯式創建路徑點雲(waypoints) 。

邊際(Edges)

邊連接路徑點雲(waypoints)。它們包含描述一個路徑點雲(waypoints)相對於另一個路徑點雲(waypoints)的位置的變換,以及控制機器人如何在它們之間移動的註釋。例如,註釋可以指示樓梯模式或速度限制。

本地定位(Localization)

定位是機器人用來確定其相對於圖中單個路徑點雲(waypoints)位置的過程。機器人通過將其實時傳感數據與地圖路徑點雲(waypoints)中記錄的傳感數據進行比較來不斷更新其位置。需要初始定位,通常由基準fiducial輔助。

初始化(Initialization)

當地圖最初加載時,GraphNav 不知道機器人相對於它的位置,用戶必須幫助初始化機器人的本地定位。如果使用基準點,您可以選擇初始化到特定的基準fiducial或路徑點雲(waypoints)。如果不使用基準點,則必須初始化到特定路徑點雲(waypoints),並且可以選擇提供初始猜測或搜索區域。

任務(Missions)

任務表示為行為樹,行為樹由按層次結構排列的節點組成。行為樹在任務循環內執行。任務循環的每次迭代都稱為一個滴答(tick)。對於任何給定的滴答(tick),任務執行從樹的根部開始,並根據節點的類型和每個節點的狀態向下進行特定的分支:失敗、運行中或成功(請參閱 Mission.proto 文件中定義的 NodeState Result 枚舉)。失敗節點不一定會導致任務失敗。例如,當機器人充滿電時,節點可以檢查電池電量低和 "失敗"。

一旦根節點從運行變為失敗或成功,任務就完成了。

有關詳細信息,請參閱 任務服務(Missions service)

參考資料

特色、摘要,Feature、Summary:

關鍵字、標籤,Keyword、Tag:

留言

這個網誌中的熱門文章

Ubuntu 常用指令、分類與簡介

iptables的觀念與使用

網路設定必要參數IP、netmask(遮罩)、Gateway(閘道)、DNS

了解、分析登錄檔 - log

Python 與SQLite 資料庫

Blogger文章排版範本

Pandas 模組

如何撰寫Shell Script

查詢指令或設定 -Linux 線上手冊 - man

下載網頁使用 requests 模組