論文導讀: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 規劃器 吃一張單眼 RGB 影像 和以文字編碼的目標座標 ,預測一條粗略的 2D 路徑 ——一串正規化的像素位置,描述機器人未來每個時間步在畫面中的位置。
這個參數化的好處:
- 能用各種來源的資料訓練:不同資料集的動作空間各不相同,但都可以統一成「預測點」
- 保留 VLM 的泛化能力:已有研究發現,用點層級預測訓練 VLM,能保留大部分預訓練的泛化能力
- 不需要事先示範或地圖:跟用目標影像的方法不同
- 可以被下游模組明確調整:一條路徑可以被投影到地面、逐點檢查能不能走
高層和低層是雙向互動的:高層給低層控制器追蹤的路徑點,低層則透過 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。
資料處理:
- 所有資料都用「事後標註」:用未來 步的相機姿態,配合已知或估計的內外參,把 3D 姿態投影成 2D 影像軌跡
- 使用機器人在地面上的位置,所以可以在影像中指定被遮擋的目標點
- 混合短時距和長時距的軌跡、依曲率過濾資料、經驗性地決定資料混合比例——這些處理對讓模型達到可部署的程度很關鍵
可引導性的訓練配方:VLM 的文字介面讓使用者可以在測試時用文字表達偏好。為了訓練出可引導的模型:
- 對 10% 的資料,產生 4 條時間相關的帶雜訊版本的真實軌跡,加上一條鏡像版本
- 把所有路徑疊在影像上,用思維鏈提示請 GPT-5-mini:描述場景中的障礙物和地形 → 描述每條路徑 → 依品質和多樣性排序
- 取前三條路徑和它們的描述加進資料集
- 另外跟 COCO-QA、Localized Narratives 兩個純文字視覺問答資料集共同訓練,避免遺忘
低層 affordance 函數
高層規劃器只負責通用的導航策略,把計畫落實到特定機器人物理能力上的工作完全交給 affordance 模型。
定義:affordance 函數 ,輸入
- 局部高程地圖
- 機器人周圍的正規化查詢位置
- 朝向
輸出「這台機器人的低層策略 朝這個方向能穿過這個點」的機率。1 代表完全可通行,0 代表不可通行。這個設計受到可通行性估計文獻的啟發。
它在兩種情況下有幫助:
- 在 VLM 預測的多條候選中,找出最符合機器人實際能力的那條
- 過濾掉 VLM 的錯誤預測,例如穿過障礙物的路徑
訓練:完全在模擬中。在大量程序生成的地形上:隨機生成高程地圖 → 把機器人放在某個位置 → 朝某個方向執行低層策略一小段 → 記錄是否成功通過。得到資料集 , 是成功與否。用一個 MLP 表示 ,最小化二元交叉熵:
模擬環境:在 Isaac Lab 中建置。Spot 用的是內建的步行控制器,在模擬中用強化學習訓練的感知式策略當它的代理。為了讓 affordance 能遷移到真實世界,地形要夠多樣——真實環境常有家具、植物等干擾物。作者用波函數坍縮(wave function collapse)生成有樓梯和斜坡的互連結構,用細胞自動機生成平滑但不平整的地形。
部署流程
- 導航任務以一連串 GPS 路徑點或世界座標的 3D 點定義,轉成影像中的 2D 點傳給 VLM
- VLM 對目前影像和目標座標輸出 條像素空間的候選路徑
- 每條路徑投影到地面,得到世界座標中的一串位置
- 用局部高程地圖查詢每個點的 affordance
- 一條路徑只要有一點走不過去就是走不過去,所以累積 affordance 取整條路徑的最小值:
- 選 最高的路徑(貪婪),或用 softmax 軟取樣保留一些隨機性
- 把路徑點交給低層的速度或位置控制器執行
採用滾動時域控制:VLM 預測 個路徑點,但只執行前 個(,可調)就重新規劃。如果目標不在畫面中,機器人原地旋轉直到目標回到畫面再重新規劃。
實驗
機器人平台
- 四足: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 次的成功率(%):
| 方法 | 走廊 | 中庭 | 實驗室 | 校園 | 森林 | 下坡 | 平均 |
|---|---|---|---|---|---|---|---|
| 模組化堆疊 | 100 | 100 | 100 | 0 | 0 | 20 | 53 |
| ViPlanner | 100 | 100 | 0 | 100 | 100 | 0 | 67 |
| NoMaD | 60 | 0 | 40 | 0 | 0 | 60 | 27 |
| NaVILA | 20 | 0 | 40 | 0 | 0 | 0 | 10 |
| VAMOS | 100 | 80 | 100 | 80 | 100 | 80 | 90 |
- 室內:VAMOS 跟模組化堆疊和 ViPlanner 差不多,因為室內推斷出的幾何成本地圖很乾淨、容易規劃。例外是較難的實驗室路線,VAMOS 勝過所有方法。兩個通用方法 NoMaD 和 NaVILA 雖然訓練資料也包含類似的室內資料,但難以泛化到分佈外,主要只會走直線或撞牆反彈。作者認為 VAMOS 的優勢來自使用 2D 軌跡,能保留更多預訓練 VLM 的泛化能力
- 室外:模組化堆疊在感知與規劃的介面上失敗——感知不準造成下游錯誤;通用方法在開放環境中主要只會走直線。ViPlanner 因為調校良好的幾何與語意感知整合表現不錯,但在實驗室和下坡這兩條需要長期規劃、有大型幾何障礙的路線上,無法推理長期後果
- 只有 VAMOS 在所有條件下都表現良好,平均 90%
實驗二:跨機器人導航
測試環境:一道樓梯和一個斜坡並排,通往一個較高的平台。同一個高層規劃器,Spot 和 Hound 各自換上自己的 affordance 模組。每次記錄選了樓梯還是斜坡(10 次):
| 機器人 | 設定 | 選樓梯 | 選斜坡 | 成功率 |
|---|---|---|---|---|
| Spot | 無調整 | 4/10 | 6/10 | 100% |
| Spot | 有 affordance 調整 | 8/10 | 2/10 | 100% |
| Hound | 無調整 | 4/10 | 6/10 | 60% |
| Hound | 有 affordance 調整 | 1/10 | 9/10 | 90% |
- Spot 樓梯和斜坡都能走,所以有沒有調整都是 100%
- Hound 是輪式的,只能走斜坡。沒有調整時,VLM 有四成機率選樓梯,成功率 60%;加上 Hound 自己的 affordance 模型後,幾乎都選斜坡,成功率提升到 90%
(為了讓這個實驗中的多模態生成更明顯,作者額外在該環境用兩台機器人各拍了 50 張姿勢略有不同的靜態影像,每張標註一條走樓梯、一條走斜坡的路徑,各產生 10 個帶雜訊樣本來微調 VLM。)
跟主實驗中最強的 ViPlanner 比較:
| 方法 | Spot | Hound |
|---|---|---|
| ViPlanner | 100% | 0% |
| VAMOS | 100% | 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(策略提案、價值函數挑選)思路相通:一個負責「大概怎麼做」,一個負責「這樣做行不行」。
相關論文推薦
- 論文導讀:V-GPS——用價值函數在推論時幫通用機器人策略挑動作——操作領域的「提案 + 重新排序」
- 論文導讀:τ0-VLA——讓機器人在決定下一步之前,先用世界模型「想像」幾種做法——另一種階層式 VLA
- 論文導讀:HEIGHT——用異質互動圖 Transformer 在擁擠空間中導航——同樣是導航,但專注在人群中的互動
- 論文導讀:OpenVLA——70 億參數的開源 VLA,用七分之一參數打敗 RT-2-X
參考資料
- Guaman Castro, M., Rajagopal, S., Gorbatov, D., et al. (2025). VAMOS: A Hierarchical Vision-Language-Action Model for Capability-Modulated and Steerable Navigation. arXiv:2510.20818
- 專案頁:vamos-vla.github.io
- 程式碼:github.com/vamos-vla/vamos
相關術語
訂閱 RoboTech Lab 電子報
每週一封,整理新的教學、論文導讀與機器人業界動態。隨時可以取消訂閱。