【VLN】NavGPT-3分层导航运行时

一句话定位

用 Harness + 类 OS 运行时 把「慢而强的 LLM Planner」接到「快而专的 NavGPT VLA」上:工具管空间上下文与路线修补,Motion Authority 管谁能动;完整系统在 R2R-CE 达 81.51 SR ,RxR-CE 首次逼近人类跟随者(90.43 vs 90.4 SR)。
关键词

系统 :NavGPT-3 · Agent Harness · Motion Authority · RSI Harness

策略 :NavGPT VLA · Codec Allocation · 航点预测

范式对照 :双系统 VLN · Hierarchical VLN · HarnessVLN · Qwen-RobotNav

任务 / 指标:VLN · VLN-CE · R2R · ObjectNav · SR · SPL · nDTW · OSR · NE · Visual Grounding

1. 背景概念

术语 白话
VLN 听自然语言路线说明,边看相机边走到终点
VLN-CE 连续环境里走(不是只在离散拓扑图上跳节点)
Planner 强推理 LLM:想路线、调工具、决定何时结束
VLA 策略 看图+指令,高频出局部航点,像「司机」
Harness 模型外面的缰绳:看见什么、能调什么、状态怎么留
Motion Authority 方向盘归属:谁此刻可以发任务运动
Codec Allocation 视觉 token 预算按「画面变了多少」分配

技术线 :Agentic VLN(NavGPT / MapGPT)× 导航 VLA(Qwen-RobotNav、InternVLA-N1)× harness 工程;NavGPT-3 主张 接口与运行时 才是把前沿 LLM 接到物理控制的关键。

2. 论文在干什么

问题

  • LLM 经长程 agentic RL 后「想得明白」,但决策周期是 3--19 s/次,世界不会停。
  • 小 VLA「走得快」但长指令会漂,需要把执行证据交回 Planner 检查、回退、修补。
  • 已有分层系统多是「规划 → 子目标 → 控制器」;缺少 异步线程 + 运动权限 + 可检查的委派回执。

生活类比:导航 App 想路线很慢,司机要实时躲人;需要调度台决定谁握方向盘、谁旁路可以急停,以及司机开完一段要把「沿途照片」交回重新规划。

设定

  • 任务:R2R-CE / RxR-CE Val-Unseen;迁移 ObjectNav、具身问答;Go2 真机
  • 输入:指令 + RGB(仿真四视图;真机前视)+ harness 状态/地图
  • 输出:工具调用或 VLA 航点 → 连续运动;仅 Planner 可正式结束任务

贡献(作者侧)

  1. 完整导航 harness + OS-like runtime(线程、权限、打断)
  2. NavGPT VLA(~19.28M 混合数据 + codec 视觉分配)
  3. 基准 SOTA / 人类水平 RxR-CE;harness 与 Planner--VLA 交互消融

3. 核心创新点

  1. 系统级接两个异质模型,而不是再训一个「既慢又快」的单体

    Planner 可全程自己走,也可委派 VLA;回执含关键帧、端点全景、观测地图、编号地点 → 可检查、可回退、可局部修。

  2. OS-like Runtime:推理 / 执行 / 监控异步 + Motion Authority

    审查可与执行重叠;安全监控可不经 LLM 确认就收回运动权(Go2:急停延迟大降)。

  3. Harness 用 RSI 搜出来

    开发期树搜索(Think→Critic→Experiment→Distill→Reflect),不改模型权重;在 100 条训练子集上用 SR 选接口。曲线:基础 66% → +VLA 76% → +空间工具 ~81% SR。

  4. NavGPT VLA:codec 按场景变化分视觉 token + 通才混合数据

    相对纯位置式分配;数据覆盖指令跟随 / 点目标 / 物体目标 / 跟踪 / 户外驾驶 + grounding。

4. 方法细节

4.1 Harness:上下文、工具、回执

Planner 在 harness 给出的上下文 C k C_k Ck 与许可工具集 T k \mathcal{T}_k Tk 下选动作:

a k ∼ π P l a n n e r ( ⋅ ∣ C k , T k ) a_k \sim \pi_{\mathrm{Planner}}(\cdot \mid C_k, \mathcal{T}_k) ak∼πPlanner(⋅∣Ck,Tk)

工具四组(Table 4):

组 代表工具 作用(白话)
Basic observe_* / navigate_relative / terminate_episode 看、挪一小步、正式结束
VLA navigate_by_instruction 把指令(或剩余段)交给 VLA 跑一段;回关键帧与状态
Map observe_map 已观测区域俯视图 + 访问顺序编号
Backtrack navigate_to_node / annotate_node 回到编号地点、贴语义标签

VLA 停下只结束这一次委派 ;整集是否成功结束必须 Planner 调 terminate_episode。

4.2 Runtime:线程与运动权限

  • 线程各有上下文、工具、权限;更新周期可以不同。
  • 前景线程 f ℓ f_\ell fℓ 持有 Motion Authority;事件 e ℓ e_\ell eℓ(审查请求 / 安全打断)经优先级规则 σ \sigma σ 转移或收回权限。
  • 典型模式:(A)执行中背景审查 → 打断 → 工具修补 → VLA 续跑;(B)安全监控立刻撤权,推理可继续,恢复需新状态授权。
  • 骨干:Qwen3-VL-Instruct + MLP;每步预测 8 航点 ( x , y , θ ) (x,y,\theta) (x,y,θ),只执行第一个。
  • Codec Allocation:I/P 帧直觉 + 位置权重;预算紧张时把 token 挪到变化大的视图。
  • 数据:约 19.28M effective records/epoch(动作回归 ~65.6%,NTP ~34.4%);含大量 grounding。
  • 损失:导航样本航点 MSE + 非导航样本 next-token(二者单位权重)。

4.4 与相近工作对照

系统 像什么 和本文差在哪
InternVLA-N1 / DualVLN 慢计划 + 快执行,常共训/共享表征 NavGPT-3 更强调 外置 harness + 运动权限 + 强通用 LLM
HarnessVLN 零样本 MLLM + 证据闸门 + ST Graph 本文 自带强训 VLA,并用执行回执做路线修订
Qwen-RobotNav 航点 VLA + agentic 接口 本文 codec 分配 + 完整 runtime/权限;完整系统数字更高

5. 整体框架(Mermaid)

#mermaid-svg-MOzoDm1pGh0Eok9H{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-MOzoDm1pGh0Eok9H .error-icon{fill:#552222;}#mermaid-svg-MOzoDm1pGh0Eok9H .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-MOzoDm1pGh0Eok9H .marker{fill:#333333;stroke:#333333;}#mermaid-svg-MOzoDm1pGh0Eok9H .marker.cross{stroke:#333333;}#mermaid-svg-MOzoDm1pGh0Eok9H svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-MOzoDm1pGh0Eok9H p{margin:0;}#mermaid-svg-MOzoDm1pGh0Eok9H .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-MOzoDm1pGh0Eok9H .cluster-label text{fill:#333;}#mermaid-svg-MOzoDm1pGh0Eok9H .cluster-label span{color:#333;}#mermaid-svg-MOzoDm1pGh0Eok9H .cluster-label span p{background-color:transparent;}#mermaid-svg-MOzoDm1pGh0Eok9H .label text,#mermaid-svg-MOzoDm1pGh0Eok9H span{fill:#333;color:#333;}#mermaid-svg-MOzoDm1pGh0Eok9H .node rect,#mermaid-svg-MOzoDm1pGh0Eok9H .node circle,#mermaid-svg-MOzoDm1pGh0Eok9H .node ellipse,#mermaid-svg-MOzoDm1pGh0Eok9H .node polygon,#mermaid-svg-MOzoDm1pGh0Eok9H .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-MOzoDm1pGh0Eok9H .rough-node .label text,#mermaid-svg-MOzoDm1pGh0Eok9H .node .label text,#mermaid-svg-MOzoDm1pGh0Eok9H .image-shape .label,#mermaid-svg-MOzoDm1pGh0Eok9H .icon-shape .label{text-anchor:middle;}#mermaid-svg-MOzoDm1pGh0Eok9H .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-MOzoDm1pGh0Eok9H .rough-node .label,#mermaid-svg-MOzoDm1pGh0Eok9H .node .label,#mermaid-svg-MOzoDm1pGh0Eok9H .image-shape .label,#mermaid-svg-MOzoDm1pGh0Eok9H .icon-shape .label{text-align:center;}#mermaid-svg-MOzoDm1pGh0Eok9H .node.clickable{cursor:pointer;}#mermaid-svg-MOzoDm1pGh0Eok9H .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-MOzoDm1pGh0Eok9H .arrowheadPath{fill:#333333;}#mermaid-svg-MOzoDm1pGh0Eok9H .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-MOzoDm1pGh0Eok9H .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-MOzoDm1pGh0Eok9H .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-MOzoDm1pGh0Eok9H .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-MOzoDm1pGh0Eok9H .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-MOzoDm1pGh0Eok9H .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-MOzoDm1pGh0Eok9H .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-MOzoDm1pGh0Eok9H .cluster text{fill:#333;}#mermaid-svg-MOzoDm1pGh0Eok9H .cluster span{color:#333;}#mermaid-svg-MOzoDm1pGh0Eok9H div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-MOzoDm1pGh0Eok9H .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-MOzoDm1pGh0Eok9H rect.text{fill:none;stroke-width:0;}#mermaid-svg-MOzoDm1pGh0Eok9H .icon-shape,#mermaid-svg-MOzoDm1pGh0Eok9H .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-MOzoDm1pGh0Eok9H .icon-shape p,#mermaid-svg-MOzoDm1pGh0Eok9H .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-MOzoDm1pGh0Eok9H .icon-shape .label rect,#mermaid-svg-MOzoDm1pGh0Eok9H .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-MOzoDm1pGh0Eok9H .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-MOzoDm1pGh0Eok9H .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-MOzoDm1pGh0Eok9H :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 工具:观察/地图/回退/终止
委派 navigate_by_instruction
8 航点取第1
关键帧/地图/编号点
撤/授 Motion Authority
语言指令
Harness 上下文与工具
RGB 观测
LLM Planner
环境或真机
NavGPT VLA
Codec 视觉分配
安全监控
Runtime 调度
Monitor VLA Runtime Planner Monitor VLA Runtime Planner #mermaid-svg-CkRXSpjQiVmyh9fl{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-CkRXSpjQiVmyh9fl .error-icon{fill:#552222;}#mermaid-svg-CkRXSpjQiVmyh9fl .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-CkRXSpjQiVmyh9fl .marker{fill:#333333;stroke:#333333;}#mermaid-svg-CkRXSpjQiVmyh9fl .marker.cross{stroke:#333333;}#mermaid-svg-CkRXSpjQiVmyh9fl svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-CkRXSpjQiVmyh9fl p{margin:0;}#mermaid-svg-CkRXSpjQiVmyh9fl .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-CkRXSpjQiVmyh9fl text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-CkRXSpjQiVmyh9fl .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-CkRXSpjQiVmyh9fl .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-CkRXSpjQiVmyh9fl .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-CkRXSpjQiVmyh9fl .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-CkRXSpjQiVmyh9fl #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-CkRXSpjQiVmyh9fl .sequenceNumber{fill:white;}#mermaid-svg-CkRXSpjQiVmyh9fl #sequencenumber{fill:#333;}#mermaid-svg-CkRXSpjQiVmyh9fl #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-CkRXSpjQiVmyh9fl .messageText{fill:#333;stroke:none;}#mermaid-svg-CkRXSpjQiVmyh9fl .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-CkRXSpjQiVmyh9fl .labelText,#mermaid-svg-CkRXSpjQiVmyh9fl .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-CkRXSpjQiVmyh9fl .loopText,#mermaid-svg-CkRXSpjQiVmyh9fl .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-CkRXSpjQiVmyh9fl .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-CkRXSpjQiVmyh9fl .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-CkRXSpjQiVmyh9fl .noteText,#mermaid-svg-CkRXSpjQiVmyh9fl .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-CkRXSpjQiVmyh9fl .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-CkRXSpjQiVmyh9fl .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-CkRXSpjQiVmyh9fl .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-CkRXSpjQiVmyh9fl .actorPopupMenu{position:absolute;}#mermaid-svg-CkRXSpjQiVmyh9fl .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-CkRXSpjQiVmyh9fl .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-CkRXSpjQiVmyh9fl .actor-man circle,#mermaid-svg-CkRXSpjQiVmyh9fl line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-CkRXSpjQiVmyh9fl :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 审查可与执行重叠 委派指令执行 授予运动权限 高频航点循环 背景审查路线 危险 → 立刻撤权 停任务运动 回退/修补/再委派或 terminate

6. 实验与结论

主结果(Val-Unseen)

模型分工

GPT-6 Astra / Claude Opus 5 = 闭源 Planner (想路线、调工具),不是开源导航模型。

NavGPT VLA 4B/8B = 作者训的执行策略(承诺开源)。完整 SOTA 行 = 两者 + Harness。

系统 R2R-CE SR RxR-CE SR RxR nDTW
NavGPT VLA 8B(仅策略) 74.51 78.19 74.85
NavGPT-3 + Opus 5 79.01 84.80 75.09
NavGPT-3 + GPT-6 Astra 81.51 90.43 78.47
人类跟随者(RxR 英文) --- 90.4 77.7
  • 完整系统相对纯 VLA:R2R +7 SR;RxR 提升更大(长指令更吃「回看与修补」)。
  • 反应时间:无 VLA 时约 3--19 s /LLM 决策;有 VLA 时约 0.5--1 s/步(表中 8B 均值 ~0.78 s)。

消融要点

  • Map + Backtrack 大幅抬高纯 LLM 导航并降 token;工具质量定上限。
  • VLA 是否抬 SR 取决于 Planner:Opus 受益明显;Astra alone 已很强时 VLA 主要换反应时间与成本结构。
  • 检查频率:每 16 VLA 步检查一次可抬 SR,但 token 从 ~179k → ~2.3M/集------更适合事件触发审查。
  • 数据 > 参数:混合数据从 1.7M→19.28M 的增益大于 4B→8B。
  • Go2:推理与优先监控重叠,SR 73.3→83.3;p95 急停 1840→180 ms。

局限

  • 强依赖前沿闭源 Planner scaffold(Codex / Claude Code);复现成本高。
  • 仿真 runtime 简化 vs 真机完整抢占不一致。
  • 频繁审查极贵;默认配置与「最准配置」有成本鸿沟。

要点总结

  • 瓶颈常在 具身接口(harness + 权限),不只在更大 VLA
  • Planner 保留任务终止权;VLA 停止 ≠ 任务完成
  • Codec 分配 = 变化大的画面多分 token
  • RxR-CE 人类水平靠「委派执行 + 可检查回执 + 回退修补」堆出来

开放问题

  • 开源后 Planner 换成开源模型,SR 掉多少?
  • Motion Authority 与现有 BT / 运控仲裁如何一一映射?
  • Codec 分配在单目前视真机上的增益是否仍显著?

参考

相关推荐
猫先生Mr.Mao1 天前
让动作先接受“未来检验”:ThinkWorld 如何用世界想象强化机器人推理
机器人·强化学习·具身智能·vla·世界模型·thinkworld
长弓三石1 天前
Spring Boot 4.1 + AgentScope:企业级 Agent 平台的 MCP 双向集成实战
人工智能·spring boot·后端·harness·开源智能体
河图洛水2 天前
χ₀: Kai0 用 MA / SA / TDA 驯服机器人学习的分布不一致
机器人·具身智能·vla·hil·纠错
前进的李工2 天前
Agent 学习笔记 02:Harness 与工作流怎么理解
笔记·学习·agent·工作流·harness
滴啦嘟啦哒2 天前
【具身笔记】【原理探究】一、对PI05源码的实践笔记
笔记·python·vla·具身
七牛开发者2 天前
多 Agent 架构中的 Subagent 拆分与合并策略
架构·agent·multiagent·subagent·harness
飞猫的边缘AI2 天前
机器人基础模型的两种赌注:VLA与VFA
人工智能·机器人·vla·ai模型·边缘ai·视觉语言动作模型·vfa
七牛开发者2 天前
从 GLM 到 GPT,HarnessPro 如何用 RSI 降低 Agent 成本
人工智能·gpt·agent·harness·rsi