Fields2Cover
用於自主農業車輛的覆蓋路徑規劃函式庫
授權條款
BSD-3-Clause
概述
Fields2Cover 是一個 C++ 函式庫,用於為自主農業車輛產生穩健且高效的覆蓋路徑。它實作了一套模組化流程,包含田頭區生成、作業條帶建立、路線規劃與路徑規劃,專為精準農業設計。這個函式庫能處理真實世界的田地幾何,包括不規則邊界、障礙物與田頭轉彎模式。它支援多種覆蓋演算法,可用於任何執行系統性區域覆蓋的車輛,從曳引機與噴灑機到機器人割草機與測量無人機皆可。
Fields2Cover 是一個開源函式庫,為自主農業車輛產生穩健且高效的覆蓋路徑。它發表於 IEEE Robotics and Automation Letters,以模組化架構處理覆蓋路徑規劃(CPP)問題,將任務拆成四個可組合的階段:田頭區生成、作業條帶建立、路線規劃與路徑規劃。
這個函式庫的模組化設計,代表每個階段都能以不同的演算法獨立設定。2.0 版帶來重大功能,包括透過梯形分解與 boustrophedon 分解支援非凸田地與避障,以及整合 Google OR-Tools 進行全域最佳化的路線規劃。
雖然主要為農業開發,其底層演算法也適用於任何需要完整區域覆蓋的領域,從清潔機器人到測量無人機皆然。Fields2Cover 同時提供 C++ 與 Python 介面,既適用於即時嵌入式系統,也適用於快速原型開發的工作流程。
為何重要
Fields2Cover 提供第一個完整、開源、採用經同儕審查之演算法的覆蓋路徑規劃函式庫,填補了農業機器人的關鍵空缺。它讓自主車輛能高效覆蓋整片田地,同時處理田頭區、障礙物與非凸田地形狀等真實世界的限制。
解決的問題
為農業機器人規劃高效的覆蓋路徑相當複雜:田地有不規則的形狀、障礙物與作業限制,通用的路徑規劃器無法處理。Fields2Cover 提供專為農業覆蓋設計的模組化流程,從田頭區生成、作業條帶建立、路線最佳化,到最終的路徑規劃。
重點
- 模組化流程:田頭區生成、作業條帶建立、路線規劃與路徑規劃
- 2.0 版新增對非凸田地與含障礙物之田地的支援
- 內含梯形分解與 boustrophedon 分解,可處理複雜的田地形狀
- 以 Google OR-Tools 進行路線最佳化,求得最佳的作業條帶順序
- 同時提供 C++ 與 Python 介面,整合更有彈性
適用對象
- 開發自主農機的農業機器人研究人員與公司
- 處理覆蓋路徑規劃問題的自主車輛工程師
- 打造田間作業規劃工具的精準農業開發者
- 在任何領域研究覆蓋路徑規劃的機器人研究人員
限制
- 聚焦於離線規劃,並非為反應式或線上重新規劃而設計
- 主要針對假設地形平坦的農業使用情境進行最佳化
- 需要了解 CPP 的概念(田頭區、作業條帶、轉彎)才能有效使用
- 尚未處理 3D 地形與坡度的考量