原文作者論文:Michal Werner, David Čapek 等4名
原文連結論文:
雷峰網注:該系統由捷克理工大學(CTU in Prague)著名的多機器人系統小組(MRS)開發論文。它是針對德國 SPRIN-D Funke 挑戰賽(完全自主飛行挑戰賽) 專門研發的奪冠方案。比賽要求無人機在沒有 GNSS 訊號、沒有預先構建的稠密地圖的情況下,在 25 米以下(AGL)的低空自主飛行 9 公里進行航點導航。
本文介紹了一個為SPRIN-D Funke全自主飛行挑戰賽開發的機載無人機(UAV)系統,該系統旨在解決GNSS拒絕環境下長距離導航的難題論文。在挑戰賽中,無人機需要在無GNSS或預先密集建圖的情況下,完成9公里長的低空(低於25米AGL)航點導航。該系統透過將LiDAR生成的區域性Heightmap與先驗地理資料Heightmap進行基於梯度Template matching的匹配,並透過一個聚類粒子濾波器(clustered particle filter)融合Odometry和匹配結果,從而實現了輕量級的漂移校正。該系統在僅CPU的硬體上即時執行,成功完成了跨越城市、森林和開闊地帶的公里級飛行,並顯著減少了相對於原始Odometry的漂移。
系統架構 (System for GNSS-Denied Autonomous Flight)
該系統整合了感知、定位、規劃和控制功能論文,具體包括:
硬體平臺 (Hardware): 基於[19]的UAV平臺,配備Livox Mid-360 LiDAR(用於障礙物檢測、區域性建圖和Heightmap生成)、Intel RealSense D435深度相機(用於近距離障礙物感知)、Bluefox RGB相機與慣性測量單元(IMU)(用於OpenVINS VIO),以及一個Intel NUC i7機載計算機(僅CPU)論文。IMU和VIO相機透過3D列印的靜音塊機械解耦,以衰減高頻振動。車載磁力計提供絕對航向測量。
視覺慣性里程計 (Visual Inertial Odometry - VIO): 使用OpenVINS [20]提供單目VIO,其魯棒性透過IMU和相機與電池包的機械解耦來提高,以隔離電機和螺旋槳產生的高頻振動論文。
展開全文
建圖、規劃和反饋控制 (Mapping, Planning and Feedback Control): Livox Mid-360 LiDAR點雲被增量整合到區域性佔有率地圖(OctoMap [21], [22])中,該地圖以UAV機身框架為中心,大小為40x40米,以10 Hz更新論文。碰撞自由路徑透過A*演算法在歐幾里得符號距離場上找到,然後透過多項式軌跡生成模組[23]轉換為動態可行軌跡,並由底層模型預測參考跟蹤和控制管道[24]進行跟蹤。
任務控制 (Mission Control): 採用有限狀態機管理任務執行,包括無人機準備、起飛、航點導航、航點檢測(進入15米半徑後啟用)、超飛(檢測到旗幟後)、方形搜尋模式(未檢測到旗幟時),以及返航和降落論文。
數字孿生驅動開發 (Digital twin driven development): 在FlightForge模擬器[3]中建立環境數字孿生,基於公開地理資料(DEM、衛星影像等)進行地形、植被和建築物建模論文。該模擬環境用於系統開發、定位模組迭代測試以及航點檢測器訓練資料的生成。
航點檢測器 (Waypoint Detector): 基於YOLOv8 [26]架構論文。首先使用在FlightForge模擬器中生成的合成資料集訓練YOLOv8m模型,然後利用該預訓練模型輔助標註真實世界資料,最終在合成和真實資料上訓練輕量級的YOLOv8n模型,以滿足機載CPU計算約束,實現約100毫秒的即時檢測。
機載長距離GNSS拒絕定位 (Onboard Long-Range GNSS-Denied Localization)
這是該系統的核心創新點論文,其流程如圖8所示:
Heightmap預處理 (Heightmap Pre-Processing):
先驗資料 (Prior Data): 利用公開點雲資料(LAStools [27])或航空RGB影像深度估計模型[28], [29]生成地理參考、北向對齊的大尺度環境Heightmap(數字高程模型DEM)論文。
區域性Heightmap (Local Heightmap): 從機載LiDAR資料生成的線上佔有率地圖中構建,假設Odometry漂移在區域性地圖範圍內受限論文。地圖解析度為1米寬的bin,透過計算給定點雲(來自DEM或區域性地圖佔用單元格)的最大高度來構建。
對齊 (Alignment): 利用機載指南針測量將Heightmap與北方方向對齊,確保與先驗DEM的一致性論文。
Heightmap梯度匹配 (Heightmap Gradient Matching):
目的 (Purpose): 解決UAV無法可靠獲取絕對高度(如氣壓計噪聲大、地面傾斜)的問題,透過匹配梯度而非絕對高度來消除垂直偏移論文。
梯度濾波 (Gradient Filtering): 僅考慮絕對值大於5米的梯度,以強調高大、穩定的結構(如建築物和樹木),忽略小型或瞬態物體論文。
二值邊緣圖 (Binary Edge Maps): 將過濾後的強梯度區域標記為1,生成二值邊緣圖論文。
模板匹配 (Template Matching): 使用非歸一化相關係數(non-normalized correlation coefficient)將區域性二值Heightmap($T$)與先驗地圖($I$)進行模板匹配論文。該指標在區域性Heightmap不完整時表現更優。 $$R(x, y) = \sum_{x',y'} \left( T(x', y') - \bar{T} \right) \cdot \left( I(x + x', y + y') - \bar{I}{x,y} \right)$$ 其中,$T$是區域性二值Heightmap,$I$是先驗地圖,$\bar{T}$是區域性地圖的均值,$\bar{I}{x,y}$是匹配區域在$(x, y)$處的均值。
高斯模糊 (Gaussian Blur): 對生成的相似性地圖應用高斯模糊,以減少離散化偽影論文。
粒子濾波器 (Particle Filter):
融合 (Fusion): Odometry和相似性地圖在一個粒子濾波器中融合,以提供UAV位置的統一機率估計論文。
狀態維護 (State Maintenance): 粒子濾波器維護平移狀態的多個假設,而方向直接從指南針獲取論文。
傳播 (Propagation): 在重取樣步驟之間,粒子根據Odometry估計進行平移,並與指南針航向對齊論文。
加權 (Weighting): 每個粒子根據其投影位置在相似性地圖上的歸一化值分配權重論文。
重取樣 (Resampling): 當UAV根據Odometry移動10米後觸發重取樣,新粒子的位置由經驗估計的Odometry協方差高斯噪聲擾動論文。
聚類 (Clustering): 使用K-means演算法對粒子集進行聚類,選擇最大簇的質心作為最終位置估計,以解決感知混疊和Odometry噪聲引起的多簇問題論文。
實驗結果 (Experiments)
該系統在SPRIN-D挑戰賽中進行了評估,比賽區域包含城市、森林和開闊地帶論文。
評估方法 (Evaluation Methodology): 由於禁止GNSS,UAV的真實軌跡透過VIO資料結合相機/LiDAR footage的手動估計獲得(0-5米精度)論文。部分測試飛行則有GNSS地面真值。
自主GNSS拒絕飛行 (Autonomous GNSS-denied flights):
在有GNSS地面真值的測試飛行中,即使初始定位誤差達32米,該方法也能透過觀測環境特徵(如樹木)進行校正,最終將誤差減少到約4米論文。
在比賽期間,系統成功完成了多次公里級自主飛行,總定位RMSE低於11米,而僅靠指南針對齊的Odometry的RMSE高達53米論文。
飛行任務的終止通常是由於電池限制或硬體問題,而非定位漂移論文。
在城市環境中,由於特徵點和可區分物體較多,該方法表現更好論文。在開闊地帶,系統主要依賴Odometry。
系統能夠校正磁力計在某些區域產生的高達30度的緩慢變化的偏差論文。
比賽結果 (Results of the competition): 在九支參賽隊伍中,本系統是唯一一支能夠成功完成公里級飛行並訪問多個航點的隊伍,最終獲得第一名論文。
經驗教訓 (Lessons learned): IMU和VIO相機的機械解耦對VIO魯棒性至關重要;磁力計在建築物和鋼筋混凝土附近不可靠,感測器融合是實現魯棒自主性的關鍵;系統整體效能受限於最弱的元件,如區域性地圖大小限制了飛行速度;快速診斷和部署能力在時間緊迫的場景中至關重要論文。
結論 (Conclusions)
本文成功展示了一個用於GNSS拒絕環境下可靠長距離UAV導航的機載系統論文。該方法透過在聚類粒子濾波器中利用梯度匹配技術將區域性LiDAR Heightmap與先驗地理資料對齊,有效校正了Odometry漂移,並在城市、森林和開闊地帶等多種地形中表現出魯棒性。在SPRIN-D挑戰賽中,系統在僅CPU的硬體上實現了公里級飛行,RMSE低於11米,驗證了其在實際場景中的自主執行能力。研究表明,在長距離任務中,從高不確定性時期恢復並重新定位的能力比維持持續低瞬時RMSE更為關鍵。儘管在續航能力和低特徵環境操作方面仍存在挑戰,但這項工作為開發實際部署所需的彈性GNSS拒絕自主系統提供了基礎藍圖。