- 作者:Aaron Hao Tan, Angus Fung, Haitong Wang, Goldie Nejat
- 單位:多倫多大學機械與工業工程系
- 論文標題:Mobile Robot Navigation Using Hand-Drawn Maps: A Vision Language Model Approach
- 出版信息:IEEE ROBOTICS ANDAUTOMATIONLETTERS,VOL.10,NO.7,JULY2025
- 論文鏈接:https://ieeexplore.ieee.org/abstract/document/11027320/
主要貢獻
- 提出了基于手繪地圖的移動機器人導航架構 HAM-Nav,該架構利用預訓練的視覺語言模型(VLMs)進行導航,能夠適應不同的環境、手繪風格和機器人形態,即使在地圖存在不準確的情況下也能有效工作。
- 引入了自適應視覺提示方法 Selective Visual Association Prompting(SVAP),通過將機器人視角與動態更新的拓撲地圖(疊加在手繪地圖上)放在一起,使預訓練的 VLMs 能夠直接將環境特征與手繪地圖中的對應元素關聯起來,從而以零樣本的方式估計機器人的位置并選擇合適的導航動作。
- 開發了一個預測導航計劃解析器 Predictive Navigation Plan Parser(PNPP),利用預訓練 VLMs 的常識知識來推斷缺失的地標信息(如類別和位置),以彌補手繪地圖中可能存在的錯誤。
研究背景
- 移動機器人導航任務通常需要在動態變化的環境中完成,如搜索救援場景中的結構不穩定、建筑施工中的改造或新建以及零售商店的重新配置等。現有的導航方法主要分為基于地圖的方法和無地圖的方法。基于地圖的方法需要在導航前通過人工遙控或自主機器人探索生成精確地圖,但地圖獲取成本高、耗時且需要專業知識;無地圖方法則需要在導航過程中同時進行探索和導航,這會影響導航效率。
- 手繪地圖作為一種替代方法,可以由人們根據對環境布局的記憶自由繪制,用于機器人導航,無需事先進行資源密集型的地圖獲取或在導航過程中同時探索。然而,現有的基于手繪地圖的機器人導航方法存在局限性,如僅適用于簡單環境、需要精確的手繪地圖等,無法適應復雜的真實世界環境和多樓層設置,且對人類記憶差異導致的手繪地圖不準確問題處理不足。
問題定義
- 手繪地圖 Mh\mathcal{M}_hMh? 由人基于記憶繪制,包含三個組成部分:空間配置 Sh\mathcal{S}_hSh?(表示機器人環境的外邊界和結構布局)、地標 Lh\mathcal{L}_hLh?(包括地標類別和在地圖中的像素位置)以及路徑 Ph\mathcal{P}_hPh?(包含初始機器人位置和期望機器人位置)。
- 由于人的記憶不完美,手繪地圖中可能存在地標位置、距離和比例的誤差,也可能遺漏或錯誤地標記地標。
- 移動機器人配備有 RGB-D 相機,用于捕獲周圍環境的 RGB 和深度圖像。
- 導航問題的目標是:給定手繪地圖 Mh\mathcal{M}_hMh? 和路徑 Ph\mathcal{P}_hPh?,機器人需要在未知環境中自主導航,從給定的起始位置到達期望位置,基于實時觀測數據生成一系列動作。
HAM-Nav 導航架構
提示工程
提示工程階段的目標是從手繪地圖 Mh\mathcal{M}_hMh? 和機器人當前視角的 RGB 圖像 IRGBtI_{\text{RGB}}^tIRGBt? 中提取導航和環境特征,生成視覺和文本提示,為后續的位置估計和動作選擇提供輸入。
拓撲地圖生成器
- 功能:根據手繪地圖 Mh\mathcal{M}_hMh? 生成拓撲地圖 Mtp\mathcal{M}_{tp}Mtp?,用于機器人定位和導航規劃。
- 輸出:拓撲地圖 Mtp=(V,E)\mathcal{M}_{tp} = (V, E)Mtp?=(V,E),其中 VVV 是節點集合(包括機器人位置節點 VrV_rVr? 和地標節點 VlV_lVl?),EEE 是連接這些節點的邊。
- 作用:拓撲地圖提供了一個簡化的環境表示,便于后續模塊進行地標檢測、視覺提示生成和路徑規劃。預測的地標 LpredobjL_{\text{pred}}^{\text{obj}}Lpredobj? 會反饋到 TMG 中,更新拓撲地圖。
空間解釋器
- 功能:在每個時間步 ttt,檢測機器人視角中的地標,并生成包含地標邊界框和類別標簽的圖像 IbRGB,tI_b^{\text{RGB}, t}IbRGB,t?,以及環境的文本描述 SDS_DSD?。
- 輸出:
- 圖像 IbRGB,tI_b^{\text{RGB}, t}IbRGB,t?:包含檢測到的地標邊界框和類別標簽。
- 文本描述 SDS_DSD?:描述機器人視角中的地標位置和類別。
- 實現:
- 物體地標檢測:使用 Grounding DINO 檢測物體地標 LobjL_{\text{obj}}Lobj?。
- 結構地標檢測:通過三階段方法檢測結構地標 LstrL_{\text{str}}Lstr?:(1)使用 Grounded-Segment Anything Model 生成可行駛區域的像素級掩碼 ItmktI_{\text{tmk}}^tItmkt?。(2)使用霍夫變換從掩碼中提取邊緣 IetI_e^tIet?,并按方向和長度分類。(3)使用基于規則的方法識別左轉和右轉。
- 文本描述生成:將檢測到的地標按其在圖像中的位置(左、中、右)分類,并生成結構化的文本描述。
經驗管理器
- 功能:收集和檢索過去的導航經驗,為定位引擎和導航規劃引擎提供歷史上下文導航信息。
- 輸出:最相關的導航經驗 hth_tht?,包括之前的觀測 SD′tS_{D'}^tSD′t?、估計的機器人位置 p′p'p′ 和執行的動作 a′a'a′。
- 實現:通過計算當前觀測與存儲經驗之間的余弦相似度,檢索最相關的經驗作為文本提示。
視覺提示生成器
- 功能:生成視覺提示 ISVAMI_{\text{SVAM}}ISVAM?,幫助 VLM 理解環境特征與手繪地圖之間的關系。
- 輸出:視覺提示 ISVAMI_{\text{SVAM}}ISVAM?,包含機器人視角 IbRGB,tI_b^{\text{RGB}, t}IbRGB,t? 和修剪后的拓撲地圖 Mtp′\mathcal{M}_{tp}'Mtp′?。
- 實現:使用概率模型修剪拓撲地圖中的節點,保留最有可能代表機器人真實位置的節點。
預測導航計劃解析器
- 功能:推斷手繪地圖中遺漏的地標,并生成導航計劃的文本描述 NPNPNP。
- 輸出:
- 預測地標 LpredobjL_{\text{pred}}^{\text{obj}}Lpredobj?:推斷出的地標類別和位置。
- 導航計劃文本描述 NPNPNP:描述導航路徑的文本。
- 實現:
- 地標預測:利用 VLM 根據地標的空間關系和鄰近性推斷潛在的共現地標。
- 導航計劃生成:將拓撲地圖分割為局部段,為每個段生成描述性句子,形成全局導航計劃。
位置估計
位置估計階段的目標是根據提示工程階段生成的視覺和文本提示,估計機器人在手繪地圖中的當前位置。
定位引擎
- 功能:使用 VLM 根據視覺提示 σvis(ISVAM)\sigma_{\text{vis}}(I_{\text{SVAM}})σvis?(ISVAM?) 和文本提示 σtext(SD′,p′,a′,NP)\sigma_{\text{text}}(S_{D'}, p', a', NP)σtext?(SD′?,p′,a′,NP) 估計機器人當前位置 ptp_tpt?。
- 輸出:估計的機器人位置 ptp_tpt?。
- 實現:
- 使用鏈式思考提示(Chain of Thought Prompting, CoT)將位置估計任務分解為多個小步驟。
- 使用分數提示(Score-based Prompting, SB)生成位置估計的概率分數。
動作選擇
動作選擇階段的目標是根據估計的機器人位置和導航計劃,選擇合適的離散導航動作。
導航規劃引擎
- 功能:使用 VLM 根據視覺提示 σvis(ISVAM)\sigma_{\text{vis}}(I_{\text{SVAM}})σvis?(ISVAM?) 和文本提示 σtext(SD′,p′,a′,NP,pt)\sigma_{\text{text}}(S_{D'}, p', a', NP, p_t)σtext?(SD′?,p′,a′,NP,pt?) 選擇離散導航動作 aaa。
- 輸出:離散導航動作 aaa(如“向前移動”、“向右轉”等)。
- 實現:
- 使用鏈式思考提示(CoT)將導航任務分解為多個小步驟。
- 使用分數提示(SB)為每個可能的動作分配概率分數,選擇概率最高的動作。
動作執行
動作執行階段的目標是將離散導航動作轉換為機器人可以執行的速度,完成導航任務。
導航控制器
- 功能:將離散動作 aaa 轉換為機器人在環境中執行的速度 (v,ω)(v, \omega)(v,ω)。
- 輸出:機器人速度 (v,ω)(v, \omega)(v,ω)。
- 實現:
- 使用 RGB-D 圖像、地標邊界框和可行駛區域掩碼進行路徑規劃。
- 使用全局路徑規劃器生成導航點,局部規劃器將導航點轉換為機器人速度。
實驗
消融研究
- 在 Gazebo 模擬器中生成了兩個 3D 光逼真的環境:一個結構化的室內多樓層工作場所和一個非結構化的室外建筑工地。
- 使用 Clearpath Jackal 輪式機器人和 ANYmal 四足機器人進行實驗,分別使用 A* 算法和 RRT 全局規劃器以及 TEB 和 NMPC 局部規劃器。
- 與 HAM-Nav 的不同變體進行比較,包括去除 Ldict、Lpred_obj、?′tp 和 EM,以及使用不同大小的開源 VLM(Qwen 2.5-VL 模型)。
- 評估指標包括導航時間(NT)、導航距離(D)、成功按路徑長度加權(SPL)和成功率(SR)。結果表明,完整的 HAM-Nav 系統性能最佳,具有最低的 NT(634 秒)和 D(28 米),最高的 SR(80%)和 SPL(0.712)。
真實環境用戶研究
- 在多倫多大學校園內的兩個室內和一個室外真實環境中進行,使用 Jackal 輪式機器人和 ZED Mini 立體相機。
- 與 MapGPT(一種視覺語言導航方法)進行比較,MapGPT 接受自然語言導航指令作為輸入。
- 20 名參與者(年齡 22-42 歲,平均年齡 30.2 歲)被招募,分別使用 HAM-Nav 和 MapGPT 進行導航任務。使用系統可用性量表(SUS)和凈推薦值(NPS)評估用戶體驗。
- 結果顯示,HAM-Nav 在 SUS(79.5)和 NPS(+10)上得分高于 MapGPT(SUS 為 47.25,NPS 為 -80),表明用戶對 HAM-Nav 的偏好更高。在真實世界試驗中,HAM-Nav 在 NT(1018 秒)、D(45 米)、SR(77%)和 SPL(0.703)方面均優于 MapGPT。
結論與未來工作
- 結論:
- HAM-Nav 架構利用預訓練的視覺語言模型,能夠在不同的環境和手繪風格中進行魯棒的機器人導航,無需手繪地圖在度量上精確。
- 通過消融研究和用戶研究驗證了 HAM-Nav 的性能,證明了其在室內和室外、單樓層和多樓層環境中都能有效導航。
- 未來工作:
- 當前的局限性包括機器人導航時間較長,因為機器人需要等待 VLM 輸出,且在運行過程中需要互聯網訪問以訪問 VLM API。
- 未來的工作將集中在本地運行 VLM 以加快推理速度,并將 HAM-Nav 擴展到支持多機器人系統。