論文導讀:VAMOS——同一個導航大腦,換一個小模組就能指揮四足狗和輪式車

Mateo Guaman Castro, Sidharth Rajagopal, Daniel Gorbatov, Matt Schmittle, Rohan Baijal, Octi Zhang, Rosario Scalise, Sidharth Talia, Emma Romig, Celso de Melo, Byron Boots, Abhishek Gupta · 2025原文連結

一句話讀懂這篇論文

導航有兩件事要做:決定大方向(往目標走、繞過大障礙)和判斷這台機器人走不走得過去(四足狗可以爬樓梯,輪式車不行)。前者對所有機器人都通用,後者完全取決於機器人本身。VAMOS 把這兩件事拆開:一個大型視覺語言模型用大量不同機器人的資料學「怎麼走」,在畫面上畫出幾條候選路徑;每種機器人另外有一個在模擬中便宜訓練的小模型,替這些路徑打「走得過去的機率」,挑出最適合的那條。換機器人時,只要換那個小模型。

論文資訊卡

  • 標題:VAMOS: A Hierarchical Vision-Language-Action Model for Capability-Modulated and Steerable Navigation
  • 作者:Mateo Guaman Castro、Sidharth Rajagopal、Daniel Gorbatov、Matt Schmittle、Rohan Baijal、Octi Zhang、Rosario Scalise、Sidharth Talia、Emma Romig、Celso de Melo、Byron Boots、Abhishek Gupta
  • 機構:華盛頓大學、美國陸軍作戰能力發展司令部研究實驗室(DEVCOM ARL)
  • 發表:arXiv 2025 年 10 月(2510.20818)
  • 專案頁:vamos-vla.github.io
  • 程式碼:github.com/vamos-vla/vamos(模型授權 CC BY-NC 4.0,僅限非商業用途)
  • 定位:跟其他操作類 VLA 不同,這是一個導航 VLA

問題背景

資料越多元,反而越難用

機器人基礎模型的表現隨資料量和多樣性提升,但資料集越大,異質性也越高。當下游機器人物理上做不到混合資料集中記錄的所有行為時,問題就來了——四足機器人爬樓梯的資料,對輪式機器人用處有限。這造成一個瓶頸:沒辦法單純把所有可用資料混在一起,就得到可靠的導航表現。

既有三條路線

傳統模組化導航(狀態估計 → 感知 → 規劃 → 控制):可靠、可解釋,是複雜真實系統的標準做法。也有研究在感知、可通行性估計、規劃中加入學習元件。但問題是:

  • 通常針對特定機器人和有限的運作情境大量調校,換到新環境就脆弱
  • 中間表示(例如 2.5D 成本地圖)會丟失有用資訊,在模組之間形成效能瓶頸
  • 缺乏跨機器人泛化:換一台機器人通常要重新訓練學習元件、大量重新調整整個系統

端到端學習導航:直接從感測器輸入映射到控制動作,把負擔從手動設計轉到大規模資料。但沒有額外結構時,部署很脆弱;因為各資料集的動作空間不同,很難跨異質資料集訓練。

階層式架構:把高層規劃和低層控制分開。但表示的選擇和職責的分工非常關鍵,很多既有的階層模型在複雜環境中甚至輸給傳統模組化方法。

  • 一類做法(GNM、ViNT、NoMaD)用通用模型吃目標影像、輸出低層速度指令。單一模型要同時學高層導航語意和推斷機器人的低層能力,在平坦地形以外表現很差;還需要事先示範取得目標影像,長距離導航常依賴預先建好的地圖
  • 最相關的是 NaVILA:微調 VLM,把自然語言指令轉成一連串文字形式的低層動作(例如「往前 25 公分」)。缺點是用文字指定精確目標很繁瑣、容易模糊;短時距的離散文字指令不適合長距離規劃,也沒有提供讓下游機器人專屬模組調整的自然介面

方法

關鍵設計:介面是一條 2D 路徑

VAMOS 最核心的設計決定是:高層和低層之間用什麼溝通?答案是影像空間中的 2D 路徑。

高層 VLM 規劃器 P(τ∣I,gl)P(\tau \mid I, g_l) 吃一張單眼 RGB 影像 II 和以文字編碼的目標座標 glg_l,預測一條粗略的 2D 路徑 τ={(x,y)t}\tau = \{(x, y)_t\}——一串正規化的像素位置,描述機器人未來每個時間步在畫面中的位置。

這個參數化的好處:

  1. 能用各種來源的資料訓練:不同資料集的動作空間各不相同,但都可以統一成「預測點」
  2. 保留 VLM 的泛化能力:已有研究發現,用點層級預測訓練 VLM,能保留大部分預訓練的泛化能力
  3. 不需要事先示範或地圖:跟用目標影像的方法不同
  4. 可以被下游模組明確調整:一條路徑可以被投影到地面、逐點檢查能不能走

高層和低層是雙向互動的:高層給低層控制器追蹤的路徑點,低層則透過 affordance 函數調整高層的預測。

高層規劃器

模型:PaliGemma 2 3B,224 × 224 解析度,用 LoRA 微調(作者發現全參數微調和 LoRA 效果差不多)。

輸入輸出範例:

  • 輸入:一張影像 +「Navigate to x=<loc0444>, y=<loc0526>.」(<loc####> 是目標座標 token),可以再加上自然語言偏好,例如「往右繞一個大彎避開前面的人」
  • 輸出:一到多條候選路徑,編碼成位置 token 對的字串,解碼後是像素座標

訓練資料:組合四個導航資料集、三種機器人形態,共 29.8 小時、有里程計標註的資料:

  • SCAND(社交導航資料集)
  • TartanDrive 2(越野車)
  • CODa(校園資料集)
  • 0.3 小時自行在 Spot 上蒐集的領域內資料

這些資料涵蓋不同的機器人形態、相機視角、時間與天氣,以及最重要的——不同的導航能力和 affordance。

資料處理:

  • 所有資料都用「事後標註」:用未來 HH 步的相機姿態,配合已知或估計的內外參,把 3D 姿態投影成 2D 影像軌跡
  • 使用機器人在地面上的位置,所以可以在影像中指定被遮擋的目標點
  • 混合短時距和長時距的軌跡、依曲率過濾資料、經驗性地決定資料混合比例——這些處理對讓模型達到可部署的程度很關鍵

可引導性的訓練配方:VLM 的文字介面讓使用者可以在測試時用文字表達偏好。為了訓練出可引導的模型:

  1. 對 10% 的資料,產生 4 條時間相關的帶雜訊版本的真實軌跡,加上一條鏡像版本
  2. 把所有路徑疊在影像上,用思維鏈提示請 GPT-5-mini:描述場景中的障礙物和地形 → 描述每條路徑 → 依品質和多樣性排序
  3. 取前三條路徑和它們的描述加進資料集
  4. 另外跟 COCO-QA、Localized Narratives 兩個純文字視覺問答資料集共同訓練,避免遺忘

低層 affordance 函數

高層規劃器只負責通用的導航策略,把計畫落實到特定機器人物理能力上的工作完全交給 affordance 模型。

定義:affordance 函數 F:M×X×Y×A→[0,1]F: M \times X \times Y \times A \to [0, 1],輸入

  • 局部高程地圖 MM
  • 機器人周圍的正規化查詢位置 (x,y)(x, y)
  • 朝向 a∈{0°,45°,…,315°}a \in \{0°, 45°, \ldots, 315°\}

輸出「這台機器人的低層策略 π\pi 朝這個方向能穿過這個點」的機率。1 代表完全可通行,0 代表不可通行。這個設計受到可通行性估計文獻的啟發。

它在兩種情況下有幫助:

  1. 在 VLM 預測的多條候選中,找出最符合機器人實際能力的那條
  2. 過濾掉 VLM 的錯誤預測,例如穿過障礙物的路徑

訓練:完全在模擬中。在大量程序生成的地形上:隨機生成高程地圖 → 把機器人放在某個位置 → 朝某個方向執行低層策略一小段 → 記錄是否成功通過。得到資料集 D={M(n),x(n),y(n),a(n),s(n)}\mathcal{D} = \{M^{(n)}, x^{(n)}, y^{(n)}, a^{(n)}, s^{(n)}\},s∈{0,1}s \in \{0, 1\} 是成功與否。用一個 MLP 表示 FF,最小化二元交叉熵:

min⁡F EM,x,y,a,s∼D[ℓ(F(M,x,y,a), s)]\min_F\ \mathbb{E}_{M,x,y,a,s\sim\mathcal{D}}\big[\ell(F(M, x, y, a),\ s)\big]

模擬環境:在 Isaac Lab 中建置。Spot 用的是內建的步行控制器,在模擬中用強化學習訓練的感知式策略當它的代理。為了讓 affordance 能遷移到真實世界,地形要夠多樣——真實環境常有家具、植物等干擾物。作者用波函數坍縮(wave function collapse)生成有樓梯和斜坡的互連結構,用細胞自動機生成平滑但不平整的地形。

部署流程

  1. 導航任務以一連串 GPS 路徑點或世界座標的 3D 點定義,轉成影像中的 2D 點傳給 VLM
  2. VLM 對目前影像和目標座標輸出 KK 條像素空間的候選路徑
  3. 每條路徑投影到地面,得到世界座標中的一串位置
  4. 用局部高程地圖查詢每個點的 affordance
  5. 一條路徑只要有一點走不過去就是走不過去,所以累積 affordance 取整條路徑的最小值:
Fc(piw)=min⁡(F(M,x0,y0,a0)i,…,F(M,xH,yH,aH)i)F_c(p_i^w) = \min\big(F(M, x_0, y_0, a_0)_i, \ldots, F(M, x_H, y_H, a_H)_i\big)
  1. 選 FcF_c 最高的路徑(貪婪),或用 softmax 軟取樣保留一些隨機性
  2. 把路徑點交給低層的速度或位置控制器執行

採用滾動時域控制:VLM 預測 k=5k = 5 個路徑點,但只執行前 mm 個(m<km < k,可調)就重新規劃。如果目標不在畫面中,機器人原地旋轉直到目標回到畫面再重新規劃。

實驗

機器人平台

  • 四足:Boston Dynamics Spot,低層用內建的步行控制器(能走斜坡、樓梯等地形)
  • 輪式:UW Hound。使用同一個高層 VLM 規劃器,只換低層 affordance 函數和控制器

實驗一:真實世界導航

六條路線(場景都沒在訓練中出現過),目標以 3D 全域座標指定;長距離目標每約 10 公尺產生一個路徑點:

路線長度測試什麼
走廊約 20 m窄走廊與急轉彎
中庭約 20 m低光、雜亂的開放空間
實驗室約 5 m到被大型不規則障礙物遮住的點
校園約 40 m長距離,包含爬 7 階樓梯
森林約 20 m植被環境,有樓梯、樹根和植物覆蓋的地面、不規則水泥路、垂下的植物
下坡約 15 m走到比起點低的地方,避開會纏腳的藤蔓

比較方法:仿照既有系統的幾何模組化導航堆疊、ViPlanner(學習式幾何與語意規劃器)、NoMaD(導航基礎模型)、NaVILA(導航 VLA)。

每條路線 5 次的成功率(%):

方法走廊中庭實驗室校園森林下坡平均
模組化堆疊100100100002053
ViPlanner1001000100100067
NoMaD60040006027
NaVILA2004000010
VAMOS10080100801008090
  • 室內:VAMOS 跟模組化堆疊和 ViPlanner 差不多,因為室內推斷出的幾何成本地圖很乾淨、容易規劃。例外是較難的實驗室路線,VAMOS 勝過所有方法。兩個通用方法 NoMaD 和 NaVILA 雖然訓練資料也包含類似的室內資料,但難以泛化到分佈外,主要只會走直線或撞牆反彈。作者認為 VAMOS 的優勢來自使用 2D 軌跡,能保留更多預訓練 VLM 的泛化能力
  • 室外:模組化堆疊在感知與規劃的介面上失敗——感知不準造成下游錯誤;通用方法在開放環境中主要只會走直線。ViPlanner 因為調校良好的幾何與語意感知整合表現不錯,但在實驗室和下坡這兩條需要長期規劃、有大型幾何障礙的路線上,無法推理長期後果
  • 只有 VAMOS 在所有條件下都表現良好,平均 90%

實驗二:跨機器人導航

測試環境:一道樓梯和一個斜坡並排,通往一個較高的平台。同一個高層規劃器,Spot 和 Hound 各自換上自己的 affordance 模組。每次記錄選了樓梯還是斜坡(10 次):

機器人設定選樓梯選斜坡成功率
Spot無調整4/106/10100%
Spot有 affordance 調整8/102/10100%
Hound無調整4/106/1060%
Hound有 affordance 調整1/109/1090%
  • Spot 樓梯和斜坡都能走,所以有沒有調整都是 100%
  • Hound 是輪式的,只能走斜坡。沒有調整時,VLM 有四成機率選樓梯,成功率 60%;加上 Hound 自己的 affordance 模型後,幾乎都選斜坡,成功率提升到 90%

(為了讓這個實驗中的多模態生成更明顯,作者額外在該環境用兩台機器人各拍了 50 張姿勢略有不同的靜態影像,每張標註一條走樓梯、一條走斜坡的路徑,各產生 10 個帶雜訊樣本來微調 VLM。)

跟主實驗中最強的 ViPlanner 比較:

方法SpotHound
ViPlanner100%0%
VAMOS100%90%

ViPlanner 部署到 Hound 上就完全失敗。VAMOS 只要換一個訓練和執行成本都很低的 affordance 模型,就能在兩種機器人上都接近完美。

affordance 函數的視覺化也很直觀:它自然捕捉了環境幾何和個別機器人的能力——Spot 的 affordance 圖顯示樓梯可以走,Hound 的顯示不行;兩者都無法穿越高牆。

實驗三:自然語言引導

在目標座標後面加上偏好描述,例如「往左」「往右」「走樓梯」「走斜坡」「走花圃旁邊的草地」,輸出的路徑會照著偏好改變。用 ChatGPT 5 當評審,在指定走斜坡或走樓梯時,跟沒有偏好的原始軌跡相比,20 次中 20 次都符合偏好。

實驗四:通用規劃器 vs. 專屬導航器

比較「用所有資料集合併訓練」和「只用單一機器人的資料集訓練」的高層 VLM,在整個驗證集上的路徑預測平均 L2 誤差:合併資料的表現比只用個別資料集好。異質資料的正向遷移是存在的。

實驗五:單一機器人也受益於 affordance 調整

在分佈外的情境中,VLM 有時會預測穿過障礙物的路徑。affordance 調整能過濾掉這些危險的計畫:

條件成功率(10 次)
無調整20.0%
有 affordance 調整60.0%

這就是摘要中「拒絕物理上不可行的計畫,讓單一機器人的成功率提高約 3 倍」的來源。

實際跑一次的觀察

在 Colab 上把 VAMOS 的導航路徑預測模型跑過兩段:

  • Phase A:本機直接呼叫模型。給一張影像和「往右繞一個大彎避開前面的人」的指令,取樣出的幾條路徑都往右繞了一個彎,方向跟指令一致。同時取樣多條,是為了看模型對同一個指令給出的走法是否一致
  • Phase B:在 Colab 上背景啟動官方推論 server,用 ngrok 對外開放,再從外部打過去。兩邊畫出的路徑形狀和落點很接近,代表「模型跑在遠端 GPU、機器人從外部要路徑」這個架構可行

幾個實務上的注意事項:

  • 直接裝進 Colab 預設的 Python 環境會讓 transformers 壞掉(預裝版本比 repo 要求的新),需要另建 Python 3.11 環境
  • requirements.txt 裡有 rospy 等 PyPI 上沒有的 ROS 套件,要先過濾掉
  • /predict_json 的參數是 FastAPI 的 Form(...),要用表單格式送,欄位叫 text_prompt;表單單一欄位有 1 MB 上限,圖片要存成 JPEG 並縮小,回傳的路徑座標要自己換算回原圖尺寸
  • 這次只測了高層路徑預測模型,沒有用到 repo 裡另外的 affordance / value 模型,也沒有接到控制器或模擬器,看不到路徑實際能不能走

影響與定位

VAMOS 的貢獻在於證明了結構化的 VLA 可以同時勝過大量調校的模組化系統和單體式基礎模型。關鍵是把職責分清楚:

層級負責什麼用什麼資料訓練換機器人時
高層 VLM 規劃器通用導航策略、語意理解、語言引導多種機器人的真實世界資料不用換
低層 affordance 模型這台機器人能不能走該機器人在模擬中的大量試走換一個小 MLP

這種「通用模型提案、專屬模型評估」的模式,跟操作領域的 V-GPS(策略提案、價值函數挑選)思路相通:一個負責「大概怎麼做」,一個負責「這樣做行不行」。

相關論文推薦

參考資料

相關術語

訂閱 RoboTech Lab 電子報

每週一封,整理新的教學、論文導讀與機器人業界動態。隨時可以取消訂閱。