open-navigation/opennav_coverage

Nav2 Compatible Complete Cover Task Server, Navigator, & BT Utils

解決的問題

此專案提供一個完整的覆蓋路徑規劃系統,讓機器人能有效率地覆蓋整個區域(例如田地),且不會有空隙。它解決了為自主機器人生成路徑的問題,使其能執行割草、噴灑或收穫等任務,支援開放田地的多邊形與預先定義的行(例如果園中的行)。

如何運作

此系統將 Fields2Cover 庫整合至 Nav2 架構中,作為一組生命周期元件(Lifecycle-Component)任務伺服器。它處理輸入的多邊形或標註的行,並執行多階段的規劃流程:

  1. 割幅生成:產生機器人必須遵循的平行線(割幅)。
  2. 邊緣區生成:可選擇性地移除田地周圍的邊界區域。
  3. 路徑生成:決定割幅的訪問順序(例如蛇形、螺旋或自訂模式)。
  4. 路徑規劃:計算實際可行的路徑(使用 Dubins 或 Reeds-Shepp 曲線)以連接這些割幅。

它支援 GPS 和笛卡兒座標,並透過 Nav2 的動作伺服器與行為樹(BT)節點公開這些功能。

適用對象

使用 ROS 2 與 Nav2 生態系統的自主農業車輛、工業清潔機器人,或任何需要系統性覆蓋指定區域的機器人開發者。

主要特色

  • 雙重覆蓋模式:支援基於開放田地多邊形的規劃與針對不規則或預先建立行的行式規劃。
  • Nav2 整合:完全整合為 Nav2 任務伺服器,並搭配對應的行為樹節點與導航器外掛。
  • 彈性路由:提供多種路由模式,包括 Boustrophedon、蛇形與螺旋。
  • 座標彈性:支援 GPS 與笛卡兒座標來定義田地。
  • 模組化設計:拆分為五個專用套件,分別負責訊息、BT 節點、主伺服器與導航器外掛。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案