利用光流的無人機3D避障路徑規劃

隨著無人機的靈活性和低空飛行能力,在監控、物流等多個領域發揮了重要作用。然而,在實現這些應用時,實時避障一直是一項需要克服的難題,這需要無人機具備環境感知能力。本研究介紹了一種利用光流的3D路徑規劃和避障算法,該算法利用安裝在無人機前方的單目相機進行環境訊息提取,實現低成本、高效的避障。

當前的無人機避障技術通常利用雷達(如LiDAR)。儘管雷達能提供精確的環境數據,但其昂貴、笨重且耗能高,對小型無人機來說並不實用。相比之下,相機因其價格低廉、重量輕成為替代選項。然而,如果要利用相機實現避障功能,需要實時處理視覺數據,而光流技術在模擬生物視覺感知方面展現了強大的應用潛力。

研究團隊設計一種基於單目相機的光流避障算法,該算法能有效處理橫向、縱向及正面三個方向的障礙物,並實現三維的即時路徑規劃。相比傳統算法,它能在四旋翼無人機的輕量硬體上運行,降低成本並提高適應性。

實驗方法
光流是在連續影像幀中,像素位置隨時間的變化,反映了相機與環境間的相對運動。本研究採用了Farnebäck密集光流法,該方法不僅比傳統算法(如Lucas-Kanade方法)準確,還能更高效地處理小尺寸圖像。

為了評估障礙物的威脅,作者定義了以下信號:
• 橫向與縱向光流不平衡信號:通過將畫面分為不同模板區域(例如左右、上下),比較每區域內的光流強度來判斷障礙物的方向。
• 光流擴展信號(EOF):當障礙物正面接近時,光流場在視場中心會呈現發散特性,這被用於檢測正面威脅。

當上述信號超過預設閾值時,觸發避障機制,計算新的中間路徑點(見圖一)。算法會利用球坐標系計算新目標點,並更新無人機的路徑。該算法在ROS環境中實現,並使用Gazebo模擬器進行測試。測試包括橫向、縱向和正面避障場景(圖二)。
圖一、無人機的避障機制。無人機首先朝向既定的下一個航點(藍色)飛行,當右側出現橫向障礙物時,障礙物在無人機視野中的運動會產生強光流,觸發避障機制。此機制計算出新的中間航點(綠色),無人機會先飛向該航點以成功避開障礙物。

圖二、Gazebo模擬環境。包括橫向避障(a)、縱向避障(c)和正面避障(b)。藍色圓點表示無人機避障後要抵達的目標航點。

實驗結果
如圖三所示,算法在橫向和縱向避障場景中的成功率達到100%,正面避障場景的成功率為95.2%。此外,模擬證明了算法能有效保持安全距離,顯示了其穩定性和可靠性。
圖三、實驗結果:分別在垂直(左圖)、正面(右圖)避障的模擬場景中獲得的結果,分別記錄了飛行路徑及與障礙物間的最小距離。

儘管算法在模擬測試中表現出色,但仍存在以下局限:
1. 視野限制:算法使用單目相機,對光線不足或紋理稀少的場景無法有效感知。
2. 深度信息缺失:單目相機無法提供精確的距離測量,可能影響算法在複雜環境中的表現。

研究團隊期望未來能加入多目相機或深度傳感器以改善環境感知能力,以及在更複雜的動態環境中進行測試。


撰文:余雪淩


原始論文:G. Allasia, A. Rizzo and K. Valavanis, "Quadrotor UAV 3D Path Planning with Optical-Flow-based Obstacle Avoidance," 2021 International Conference on Unmanned Aircraft Systems (ICUAS), Athens, Greece, 2021, pp. 1029-10360

留言