Mesh Navigation
Nature Robots 推出的機器人導航,在 3D 三角網格上應對崎嶇的戶外地形
授權條款
BSD-3-Clause
概述
mesh_navigation 由 Osnabrück University 開發、Nature Robots 維護,以 3D 三角網格取代傳統的 2D 佔據網格作為導航表示。分層的網格成本地圖編碼了真實地形的高度差、粗糙度與陡峭度;波前與測地線規劃器接著在網格表面上計算連續的向量場,產生的路徑能顧及斜坡、稜線與懸垂結構,而這些在 2D 網格上會被壓平成毫無意義的資訊。它透過 Move Base Flex 接入 ROS 2,並已部署在 Nature Robots 的商用戶外機器人上。
整個堆疊以 Mesh Map 為核心:這是一個半邊結構的三角網格(OpenMesh/lvr2),附加可插拔的成本層,包括高度差、粗糙度、陡峭度、膨脹與致命區域,並合併成每個頂點的可通行成本。規劃器直接在這個表面上運作:類 Fast Marching 的波前規劃器將成本傳播到整個網格,產生連續的向量場(每個頂點都知道通往目標的方向,因此從任何起點都能即時重新規劃),另有以 Dijkstra 為基礎的替代方案處理較簡單的情況。控制器沿著向量場移動,並以感知網格的方式投影位姿。整個堆疊以 Move Base Flex 外掛的形式執行,因此恢復行為與動作語意都與標準的 ROS 導航一致。地圖來自 lvr2 對真實環境光達(lidar)掃描所做的重建;儲存庫附有示範網格與 RViz 網格工具。結果是一套原生理解 3D 地形的導航,專為森林、草地與斜坡而非倉庫地面打造,而且它是 Nature Robots 農業平台上的量產軟體。
為何重要
對於一個 2D 導航根本無法提出的問題,也就是「如果世界不是平的呢?」,mesh_navigation 是最完整的開放解答。對戶外與崎嶇地形機器人來說,它以嚴謹的 3D 表面表示取代網格地圖上的權宜做法,而且已在商用農業機器人上實戰驗證,不只存在於論文中。
解決的問題
佔據網格把斜坡、岩架與崎嶇地面壓縮成一個平面,使戶外機器人不是規劃得很差,就是陷入大量啟發式規則中。mesh_navigation 在真實的 3D 表面上以感知地形的成本進行規劃,在不平整地面上提供安全、可持續重新規劃的路徑。
重點
- 導航表示是 3D 三角網格,而不是 2D 佔據網格
- 分層網格成本地圖:高度差、粗糙度、陡峭度、膨脹
- 波前規劃器產生連續的向量場,可從任何位姿即時重新規劃
- 以 Move Base Flex 外掛形式在 ROS 2 中執行,並提供 RViz 網格工具
- 已量產部署在 Nature Robots 的戶外農業機器人上
適用對象
- 戶外與野外機器人工程師
- 農業與林業機器人開發者
- 超越 2D 網格的導航研究人員
- 有不平整地形使用情境的 ROS 2 開發者
限制
- 需要事先重建環境的網格,(目前)還不是完整的線上網格 SLAM
- 運算與記憶體成本高於 2D 網格導航
- 學習曲線較陡:網格工具(lvr2/OpenMesh)不如 costmap_2d 為人熟悉