PAPER DEEP DIVE
TANGO:用全身视觉-语言-动作模型在杂乱环境中导航
人形机器人在杂乱室内的导航不是 2D 路径规划问题:身体的几何形状在运动中持续变化,穿过狭窄通道需要手臂摆放、躯干调整与步态调制的连续协同。TANGO 是首个面向杂乱环境语言条件通行的全身视觉-语言-动作框架,输入自然语言指令与第一视角 RGB 观测,直接预测 29 自由度关节空间动作块交给下游全身控制执行。训练数据全部在仿真中合成:Plan-Edit-Track(PET)管线用全局路径规划、运动学全身动作生成、障碍感知动作编辑与强化学习跟踪自动产出 64,633 条动力学可行的无碰撞通行轨迹,仅耗 211 GPU 小时。TANGO 在 VLNVerse 上取得 54.69 / 52.89 的 seen / unseen 成功率,是对比方法中唯一具备真实物理控制能力的,并把杂乱场景碰撞率压到 9.90%(最强基线 15.81%,且对方额外使用了 LiDAR)。零样本部署到 Unitree G1 后,可在真实杂乱场景中完成语言引导通行,无需任何真实导航数据。已被 CoRL 2026 接收。
论文元信息
| 项目 | 内容 |
|---|---|
| 标题 | TANGO: Humanoid Navigation in Cluttered Environments with a Whole-Body Vision-Language-Action Model(TANGO:用全身视觉-语言-动作模型做杂乱环境中的人形导航) |
| 作者 | Anqi Li、Yuxin Chen、Zhaobo Li、Zhuo Cao(四人同等贡献)、Junli Ren(项目负责人)、Masayoshi Tomizuka、Dhruv Shah(通讯作者) |
| 机构 | 加州大学伯克利分校、北京大学、清华大学、香港大学、普林斯顿大学 |
| arXiv | 2609.09158v1(2026-09-08,cs.RO),已被 CoRL 2026 接收 |
| 项目主页 | tango-vla.github.io/tango-vla.github.io;论文承诺开源数据管线、生成数据集、VLA 框架、模型 checkpoint 与部署系统,当前页面尚无代码链接 |
| 硬件平台 | Unitree G1;RealSense D455(前视)+ D435i(下视)纯 RGB;VLA 跑在装 RTX PRO 6000 的服务器,SONIC 跟踪器跑在机载 Jetson Orin NX,标准 IP 网络互联 |
| 模型与训练 | Qwen2.5VL-7B(用 InternVLA-N1 权重热启动)+ 流匹配 MM-DiT 动作专家;16 节点 × 8× A100,约 7 小时,合计 896 A100 GPU 小时;单 epoch,lr $1\times 10^{-5}$ |
| 数据集 | PET 管线合成 64,633 条轨迹;场景来自 VLNVerse(263→205)与 SAGE-3D(1000→373),共 578 个增强场景;PET 86 + 渲染 125 = 211 RTX PRO 6000 GPU 小时 |
一句话总结
TANGO 把「导航」重新定义成一个全身问题:不再输出 2D 航点或平面速度指令,而是由 Qwen2.5VL-7B 主干加流匹配动作专家直接预测 29 自由度关节角 + 基座 6D 旋转的动作块,交给 SONIC 跟踪器执行;配套的 Plan–Edit–Track(PET)管线在仿真里自动合成 64,633 条无碰撞全身通行轨迹(只用 211 GPU 小时),使模型在 VLNVerse 上取得 54.69/52.89 的 seen/unseen 成功率,并在杂乱场景里把碰撞率从 15.81% 压到 9.90%——尽管对手 HumanoidPF 还额外用了 LiDAR,而 TANGO 只用 RGB。
图1:论文 Fig. 1。TANGO 作为面向杂乱室内场景导航的全身基础模型,在真实杂乱办公室场景中零样本走完 30 米路线,并穿越带悬空障碍、地面障碍与狭窄通道的杂乱场景。
研究背景与动机
作者开篇的立场很鲜明:导航是一个全身问题。轮式或移动底盘机器人可以把导航简化成平面路径规划,因为它们的几何外形在运动过程中基本不变;而人形机器人是用一个高维 articulated 身体导航的,身体的几何形状在运动中持续变化,于是身体构型本身就是导航问题不可剥离的一部分。在杂乱室内空间里,一条路线能不能走通,不只取决于路线本身,还取决于机器人的手臂、躯干、腿能不能在不碰撞周围几何的前提下物理地穿过去。
这就造成了一种紧耦合:规划层面看起来有效的动作,对具身的人形机器人来说可能根本执行不了。作者称之为 embodied gap(具身鸿沟)。现有工作分成三条线,每条都各自缺一块:
| 技术路线 | 代表工作 | 能力 | 缺什么 |
|---|---|---|---|
| 经典 VLN | Seq2Seq、CMA、RDP、HNR、Uni-NaVid、InternVLA-N1 | 语言理解 + 场景理解,长时程导航 | 动作空间是 2D 航点或离散指令,无法表达导航决策与全身可行性之间的关系,遇到空间受限的通行场景就失效 |
| 人形基础模型 / 全身 VLA | GR00T-N1.6、$\Psi_{0}$、WholeBodyVLA、LeVERB、HumanoidVLA、PhysiFlow | 全身控制能力强,可做 loco-manipulation | 导航部分仍被表示成高层行走指令并下放给下游控制器,导航过程中无法显式推理全身可通行性;解耦式设计(上身动作 + 下身指令)也限制了杂乱通行所需的全身协同 |
| 碰撞感知通行(RL) | HumanoidPF、人形 parkour 系列 | 特定通行场景下成功率高,能做避障动作 | 依赖任务特定先验与训练分布,难以扩展到长时程语言引导导航与复杂障碍组合;parkour 类主要是与场景物体的短时程交互 |
三条线合不到一起,于是「联合推理导航意图与全身可通行性」这件事仍然是空白。TANGO 的答案是把动作空间本身改掉:给定语言指令与第一视角 RGB 观测,直接预测 29 自由度关节空间动作,从而不再需要分离的导航模块与控制模块。
但改动作空间立刻撞上第二个难题:训练数据从哪来。要同时覆盖语义任务多样性与物理上合理的全身通行行为,人工动作捕捉 + 重定向那条路既有动作退化又有 embodiment 失配,而且不可扩展。所以论文的另一半贡献是一条可扩展的仿真数据管线 PET,自动合成无碰撞的人形通行轨迹并提供动力学可行的监督。部署侧则靠带实时动作分块的动作跟踪器把学到的策略落到真机,实现零样本迁移。作者明确承诺开源数据管线、生成数据集、VLA 框架、模型 checkpoint 与部署系统。
图2:论文 Fig. 2。上半是 PET(Plan–Edit–Track)数据管线,自动合成无碰撞的全身通行数据;下半是 TANGO 模型,把视觉-语言主干、基于扩散的动作专家与低层跟踪器组合起来,实现语言引导的人形全身控制。
预备知识:全身视觉-语言导航的形式化
现有 VLN 工作的根本限制在于其平面动作空间无法表达真实环境中的复杂通行动作。作者因此定义全身视觉-语言导航问题:给定自然语言指令 $\ell$、当前观测 $\mathbf{o}_{t}$(包含前视与下视相机的时序 RGB 图像序列 $\mathbf{I}_{1:t}^{\text{fr},\text{dn}}$ 以及全身关节角本体感知状态 $\mathbf{q}_{t}$),模型学习预测一个覆盖时域 $H$ 的全身动作块:
$$\mathbf{A}_{t}=\{\mathbf{a}_{1},\cdots,\mathbf{a}_{H}\},\qquad \mathbf{a}_{i}=\{\mathbf{q}_{\text{d},i},\mathbf{r}_{\text{b},i}\},\quad i\in\{1,\cdots,H\}$$
其中 $\mathbf{q}_{\text{d},i}\in\mathbb{R}^{29}$ 是第 $i$ 步期望的全身关节角,$\mathbf{r}_{\text{b},i}\in\mathbb{R}^{6}$ 是基座的 6D 旋转表示。预测出的动作块随后被流式送给低层动作跟踪器,由其完成物理落地。
这里有个值得注意的设计选择:动作不是末端执行器位姿或平面速度,而是关节角加基座旋转。等于说模型被要求直接生成「一个可被跟踪器执行的全身参考动作」,把可通行性推理压进了动作生成本身。
方法详解
1. 环境增强:把标准房间改造成需要全身动作的场景
现有导航数据集(VLNVerse、SAGE-3D、Habitat 系列)主要捕捉标准房间布局,而真实环境的特征是随机摆放的物体造成的复杂空间约束。作者从 VLNVerse(原 263 个场景)与 SAGE-3D(原 1,000 个场景)出发,用 Gemini 2.5 Flash 过滤掉低质量场景(地面不平、几何不完整等),保留 205 + 373 = 578 个源场景做增强。
沿用 HumanoidPF 的三类障碍设定,但关键差别在于放置方式——不是随机撒杂物,而是轨迹条件化放置:给定原场景、其 A* 导航轨迹与从场景提取的占据栅格,作者沿着路径在「很可能需要全身行为」的位置插入障碍。三种目标交互类型分别是:
| 类型 | 放置方式 | 诱导行为 | 选用的资产 | 占比 |
|---|---|---|---|---|
| stride(跨越) | 在路径上放低矮障碍 | 抬腿跨过 | 地毯、坐垫、矮凳 | 44% |
| sidle(侧身) | 用一对侧向障碍构成狭窄通道 | 侧身挤过 | 椅子、植物、书架 | 15% |
| squat(下蹲) | 放悬空或躯干高度的障碍 | 低头弯腰或降低身体 | 吸顶灯、台灯、窗帘、壁挂物 | 41% |
每个场景的候选放置点沿有效 A* 轨迹采样,避开起点与终点区域,并与局部路径方向对齐,使插入的障碍自然与机器人预定路线发生交互。放置还要通过有效性检查:障碍不得堵住无关路径、不得离轨迹端点太近(但源轨迹本身允许被插入的障碍影响——这正是目的)。放置完成后障碍被写回占据表示,让下游规划器与策略看到同一套几何。障碍位姿在可通行范围内随机采样而非每类固定。
图3:论文 Fig. 5 的两例目标化环境增强。上图为 stride 类——路径上放置低矮障碍以诱导跨越;下图为 squat 类——放置悬空/躯干高度障碍以诱导下蹲。原图另含 sidle 类(侧向障碍构成狭窄通道)。
2. PET 管线:Plan—Edit—Track
人形动作数据采集通常依赖人力密集的动捕加重定向,带来动作退化与 embodiment 失配。PET 是一条全自动的离线管线,合成无碰撞、动力学可行的全身通行动作。三个阶段各司其职,而且它们的分工是这套方法里最值得琢磨的地方。
Plan:规划一条有障碍意识的平面参考路径。给定起点 $s$、终点 $g$ 与已包含增强障碍的场景占据图,在 2D 地面栅格上用 A* 规划。为了让路径偏好有全身间隙的更安全路线,在步进代价上加了一个障碍感知项,该项由到占据格的 2D 符号距离 $\Phi_{2\mathrm{D}}(\mathbf{x})$ 计算:
$$c(\mathbf{x})=c_{\text{step}}+\lambda\,\exp\!\left(-\Phi_{2\mathrm{D}}(\mathbf{x})/d_{0}\right)$$
靠近障碍的格子受到一个随间隙 $d_{0}$ 衰减的软惩罚,而可采纳的到终点欧氏距离启发式在该代价下仍保持最优性。输出是带切向朝向 $\psi_{k}=\operatorname{atan2}(y_{k+1}-y_{k},x_{k+1}-x_{k})$ 的平面折线 $\mathcal{P}=\{(x_{k},y_{k})\}_{k=1}^{K}$。
随后一个基于规则的偏航重写器处理狭窄通道:沿 $\mathcal{P}$ 探测两侧横向可用宽度 $w_{\perp}(s)$,当它低于阈值 $w_{\min}$ 时,把身体朝向重写成与行进切向偏 $90^{\circ}$($\psi^{\text{body}}_{k}=\psi_{k}\pm\tfrac{\pi}{2}$,符号选择让前导肩保持在更宽的一侧)。进出通道的 $\pm 90^{\circ}$ 平滑过渡产生了蟹行(crab-walking)步态——平移方向与面朝方向解耦。最后把轨迹转成速度指令交给 SONIC 动作规划器,生成沿 2D 轨迹的自然人形行走动作;在 IsaacSim 中回放这些轨迹以 2 Hz 渲染第一视角 RGB,再喂给 Gemini 2.5 Flash 生成格式化的 VLN 指令。
Edit:把行走动作编辑成全身避障动作。这一阶段的输入是 Plan 得到的参考动作 $\mathcal{M}^{\text{ref}}$,输出是带全身障碍交互的 $\mathcal{M}^{\text{edit}}$。参考步态被保留作为运动先验——其时序、步态相位与动作风格不变,编辑只在路径走廊内有障碍的地方局部施加。场景体素占据用快速行进法(fast marching)转成 3D 符号距离场 $\Phi(\mathbf{p})$,提供整个工作空间的距离值与梯度 $\nabla\Phi$;杆状薄结构障碍另外用精确定向盒的解析 SDF 表示,保证间隙查询连续。编辑被限制在一个空间走廊内——围绕规划路径的半宽 $w_{\text{corr}}\approx 0.5\,\mathrm{m}$ 的管道,管道外的场样本一律视为自由空间。
每帧求解一个带四个目标的全身逆运动学(IK)问题:参考姿态跟踪、足部接触与落脚目标、质心(CoM)目标、以及势场连杆力。势场力来自 HumanoidPF 的人形势场,用障碍与真值轨迹先验引导,通过 SoftMimic 式伪力施加到关键身体连杆上。三类行为分别由不同机制处理:
| 障碍类型 | 处理机制 | 关键细节 |
|---|---|---|
| squat(下蹲) | 势场下蹲控制器 | 对 squat 障碍只保留每个力的竖直分量,让场提供「降低身体」的提示而不是横向推力。另加两项:前视探测项(在头部/肩部若干高度与若干前向距离处探测 $\tilde{\Phi}$,若最小探测值落在几何体间隙 $\eta$ 内就加一个正比于违反量的向下力,使身体在到达障碍前就开始降低)与虚拟头部障碍(保护点 $\mathbf{p}_{\text{head}}=\mathbf{p}_{\text{torso}}+h\hat{z}$,间隙 $b=\tilde{\Phi}(\mathbf{p}_{\text{head}})-r$,当 $b<b_{m}$ 时施加严格向下的力 $k_{s}(b_{m}-b)+k_{h}\max(0,-b)$,即软硬两层障碍,并截断到最大躯干位移)。上身下移量再通过下蹲激活度 $\alpha=\operatorname{clip}(\Delta z/\delta_{\max},0,1)$ 耦合到姿态:腰部前倾目标 $\theta^{\text{waist}}\leftarrow\theta^{\text{waist}}+\alpha\theta_{0}$、成比例的髋俯仰偏置、以及质心目标下移 $\Delta z_{\text{CoM}}=\alpha c_{z}$——这个 CoM 下移让腿来降低身体,而不是让 CoM 任务把身体拉回直立。实现支持三档协同预设:waist-only(只弯腰,腿由跟踪器控制)、com-drop(竖直降低身体)、full-squat(腰、骨盆倾角、髋屈、膝弯、踝背屈与 CoM 下降的组合)。下蹲激活期间上身参考跟踪项被放松,让势场重塑躯干而不是与直立参考竞争 |
| stride(跨越) | 步态适应模块 | 上身引导不够,因为摆动脚必须跨过物体。模块在线重定向落脚点,同时保留参考步态的相位与时序。每次抬脚时把基座投影到规划路径上、查询一段短弧长前视、在路径偏航系里指定落脚目标,并对该目标施加相对参考触地点的最大位移钳制(防止 IK 追不可达的落脚位置)。足迹感知的 SDF 扫描检测摆动脚前方的低障碍,返回障碍跨越的区间 $[d_{\text{near}},d_{\text{far}}]$ 与顶部高度 $z_{\text{top}}$;按高度分类,只有 $z_{\text{top}}\leq z_{\text{bar}}$(可跨越的杆)才触发跨越动作,更高的几何被当成墙或天花板交给横向与上身层处理,因此机器人不会试图跨过一面墙 |
| sidle(侧身) | Plan 阶段的蟹行 + 横向势场引导 | 横向分量把躯干与手臂推离两侧墙面,并与蟹行朝向协同 |
跨越动作的落脚目标被推到障碍远边之外一个余量:$d^{\text{land}}=d_{\text{far}}+m$。落脚目标相对该点而非「落在杆上的参考触地点」评估,这既清除了障碍,也补偿了下游跟踪器已知的前向欠冲,使实际落脚点仍在杆之后。摆动轨迹由参考脚轨迹(来自动捕或 RL 数据)向重定向端点做 warping,再叠加一条竖直间隙弧:以摆动相位 $u\in[0,1]$、smoothstep 插值后的 $\bar{u}$、参考脚路径 $\mathbf{p}^{\text{ref}}(u)$ 表示,
$$\mathbf{p}^{\text{swing}}(u)=\mathbf{p}^{\text{ref}}(u)+(1-\bar{u})\,\Delta\mathbf{p}_{\text{lift}}+\bar{u}\,\Delta\mathbf{p}_{\text{land}}+h_{\text{arc}}\,\rho(u)\,\hat{z}$$
$\Delta\mathbf{p}_{\text{lift}},\Delta\mathbf{p}_{\text{land}}$ 是重定向端点与参考端点的偏移,$\rho(u)$ 是非对称间隙轮廓:快速四分之一正弦上升到早期峰值,随后四分之一余弦下降。非对称是有理由的——它让脚在摆动早期就保持高位,而这对「抬脚后不久就要跨过杆的后腿」是必需的;对称的 $\sin(\pi u)$ 弧在这个阶段太低。峰值高度 $h_{\text{arc}}$ 逐步求解,使整个脚印在每个采样相位都越过障碍盒:
$$z_{\text{ground}}+h_{\text{arc}}\,\rho(u)\ \geq\ z_{\text{top}}(u)+\epsilon$$
求解器与实际执行的弧使用同一个轮廓 $\rho$,保证规划动作与执行动作一致。另有摆动膝弯偏置鼓励膝屈而非直腿伸展来获得间隙;当多个低障碍连续出现时,用一段短落脚序列在间隙中放置自然步长的步子,而不是要求一步跨很长。
Track:把 SONIC 跟踪器当作可执行性过滤器。编辑后的动作 $\mathcal{M}^{\text{edit}}$ 是运动学的,可能违反动力学可行性(例如摆动过快或下蹲过猛)。作者让它通过 SONIC 跟踪器闭环来恢复可行性:编辑后的全身参考(含关节位置、关节速度、基座朝向)逐帧流给 RL 跟踪策略,在 MuJoCo 里带物理跟踪,输出动力学可行的动作 $\mathcal{M}^{\text{track}}$。失败或碰撞的轨迹被直接丢弃。同一个跟踪器也用于部署(system-0),因此合成的监督与执行是一致的。
这里有一个反直觉但关键的决定:训练监督用的不是跟踪后的轨迹。作者明确指出,如果用跟踪后的轨迹作为监督,可能会退化动作的类人质量,因此他们采用规划与编辑阶段产出的无碰撞参考动作作为动作监督信号。这样既保留了类人结构,又保证了物理可执行性(因为跟踪阶段已经把不可执行的都筛掉了)。基于验证过的轨迹重新生成 RGB 观测并相应更新语言指令。
最终数据集含 64,633 条轨迹;PET 与渲染分别需要 86 与 125 RTX PRO 6000 GPU 小时,合计 211 GPU 小时(论文 Table 6)。以六万条全身导航轨迹的规模来说,这个成本相当低。
训练侧还有两个针对稀有行为的重要处理:把 rollout 转成动作块之后,数据级重平衡上采样行为重要的行(大幅转向、侧向运动、下蹲、跨越,以及下蹲-跨越混合段),其中跨越与侧向被最强地提升以补偿其低频率与弱动作信号;损失级加权对动作向量施加动作条件化的逐维权重,给每种行为最相关的关节位置维度更高权重(下蹲→髋、脊柱、膝;跨越→脊柱、肩;混合→二者并集;侧向→肩 + 身体系运动维度)。
flowchart TD
subgraph DATA["PET data pipeline (offline, 211 RTX PRO 6000 GPU-h)"]
SC["VLNVerse 263 + SAGE-3D 1000
Gemini 2.5 Flash filter -> 578 scenes"] --> AUG["Trajectory-conditioned augmentation
stride 44% / sidle 15% / squat 41%"]
AUG --> PLAN["Plan: A* with obstacle-aware cost
c(x) = c_step + lambda*exp(-Phi_2D/d_0)
+ 90-deg yaw rewriter -> crab walk"]
PLAN --> SONICP["SONIC motion planner
-> natural walking M_ref"]
SONICP --> EDIT["Edit: SoftMimic pseudo-forces
whole-body IK, corridor half-width 0.5 m
SDF via fast marching"]
EDIT --> MEDIT["M_edit: arm clearance,
step-over, crouch"]
MEDIT --> TRACK["Track: SONIC as executability filter
MuJoCo physics, discard collisions"]
TRACK --> SUP["Supervision = collision-free REFERENCE
(not tracked trajectory)"]
SUP --> DS["64,633 trajectories
+ 2 Hz RGB replay + Gemini instructions"]
end
subgraph MODEL["TANGO triple-system model (896 A100-h)"]
IMG["Front + down RGB, vertically stacked"] --> BATS["BATS token sampling
P(t)=(1-eps)e^(k(t-T)/T)+eps"]
BATS --> GP["Grid pooling: fine for recent,
coarse for history"]
GP --> VLM["System-2: Qwen2.5VL-7B
warm-started from InternVLA-N1
-> latent z"]
LANG["Language instruction l"] --> VLM
VLM --> CE["Text-decoding branch
VideoQA co-tuning (L_CE)"]
VLM --> S1["System-1: flow-matching MM-DiT
stabilized target a_tilde with
chunk-relative yaw + dx,dy,dpsi"]
PROP["Proprioception q_d,t"] --> S1
S1 --> RTC["Training-time RTC
random committed prefix d
inpaint remaining horizon"]
RTC --> FM["L_FM, weight w_FM = 20"]
end
DS --> S1
CE --> LOSS["L = L_CE + w_FM * L_FM
1 epoch, lr 1e-5"]
FM --> LOSS
S1 --> S0["System-0: SONIC tracker
~200 Hz joint commands"]
S0 --> G1["Unitree G1 zero-shot"]
3. TANGO 架构:三系统
杂乱环境中的全身 VLA 导航同时要求物理世界理解、连续动作预测与鲁棒动作执行。TANGO 因此采用三系统架构:视觉-语言主干(system-2)、带实时分块的多模态扩散 Transformer 动作专家(system-1)、以及现成的动作跟踪器(system-0)。VL 主干与动作专家联合训练;部署时预测的动作块流给低层跟踪器,生成连续高频的人形控制信号。
System-2:视觉-语言感知。用 Qwen2.5VL-7B 实例化,并以 InternVLA-N1 权重热启动以继承强导航先验(选它是因为开源可得且做过导航预训练,其它基于 VLA 的 VLN 主干也可适配到该框架)。每个时间步前视与下视相机画面 $\mathbf{I}_{t}^{\text{fr}},\mathbf{I}_{t}^{\text{dn}}$ 竖直拼成单帧 $\mathbf{I}_{t}$。为在给定显存容量下管理长时程视频历史 $\mathbf{I}_{1:T}$,采用预算感知 token 采样(BATS):在时间步 $T$,所有历史帧按概率函数独立采样进导航上下文:
$$P(t)=(1-\epsilon)\,e^{k(t-T)/T}+\epsilon,\qquad t\in[1,T]$$
$\epsilon$ 与 $k$ 调节时间强度——这是一个指数衰减但带下限 $\epsilon$ 的采样分布,意味着近期帧几乎必被采样,远期帧仍有一个不为零的概率被保留(长时程导航里「我刚从哪个房间出来」这类信息不能被完全丢掉)。视觉特征 $v_{i}=\text{VisionEncoder}(\mathbf{I}_{i})\in\mathbb{R}^{n\times p\times c}$ 再经空间网格池化 $\tilde{v}_{i}=\mathrm{GridPool}(v_{i},g_{i})\in\mathbb{R}^{g_{i}\times c}$,给近期观测分配更细的网格、给历史分配更粗的网格。最后采样得到的视觉 token $\tilde{v}_{\text{sampled}}$ 与语言指令 $\ell$ 一起送进 VLM,产出隐上下文 token $z=\text{VLM}(\tilde{v}_{\text{sampled}},\ell)$。
System-1:动作预测。条件于隐变量 $z$ 与当前本体感知 $\mathbf{q}_{d,t}$,system-1 预测未来的全身参考块。虽然标准动作定义为关节角与基座位姿 $\mathbf{a}_{i}=\{\mathbf{q}_{d,i},\mathbf{r}_{b,i}\}$,但作者构造了一个便于回归的稳定化训练目标:
$$\tilde{\mathbf{a}}_{i}=\{\mathbf{q}_{d,i},\tilde{\mathbf{r}}_{b,i},\Delta x_{i},\Delta y_{i},\Delta\psi_{i}\}$$
其中 $\tilde{\mathbf{r}}_{b,i}$ 里的基座偏航相对于动作块第一帧参数化(避免绝对朝向带来的回归困难),辅助增量 $(\Delta x_{i},\Delta y_{i},\Delta\psi_{i})$ 显式编码块级平面位移与朝向变化——平面轨迹预测在这里是辅助目标而非主目标,这一点在后面 Table 4 的消融中被用来隔离全身动作生成的作用。system-1 用基于流的 MM-DiT 实现,通过流匹配训练生成时域 $\tilde{\mathbf{A}}_{t:t+H}$。
为把离线训练与在线流式执行对齐,训练时应用 RTC(real-time chunking):让模型条件于一个随机长度的已提交前缀 $d$ 个动作,去 inpaint 剩余时域。这直接对应部署时的真实情形——上一块的前几步已经在执行、无法撤回,模型必须与之连续衔接。生成的块随后被还原为 $\mathbf{A}_{t:t+H}$ 并流给 SONIC 跟踪器(system-0),由它对照机器人本体感知跟踪参考,提供高频关节指令。
联合训练目标。沿用 VL 解码的双分支设计,在 system-2 上追加一个文本解码分支,把导航任务与 VideoQA 样本一起 co-tune 以保持泛化的世界知识:
$$\mathcal{L}=\mathcal{L}_{\text{CE}}+w_{\text{FM}}\cdot\mathcal{L}_{\text{FM}},\qquad w_{\text{FM}}=20$$
$\mathcal{L}_{\text{CE}}$ 是 VideoQA 的交叉熵损失,$\mathcal{L}_{\text{FM}}$ 是流匹配损失。TANGO 端到端训练单个 epoch,学习率 $1\times 10^{-5}$,全参数微调,16 节点 × 8× A100 约 7 小时,合计 896 A100 GPU 小时。
4. 部署:云边分离
图4:论文 Fig. 3 真机部署系统。采用服务器-客户端设计,把低频 VLA 模型与高频全身跟踪器分开运行。
部署架构把计算密集的 VLA 模块与高频全身控制模块分离:VLA(system-2 + system-1)跑在装 RTX PRO 6000 的集群服务器上,SONIC 跟踪器(system-0)跑在机载 Jetson Orin NX 上,两者通过标准 IP 网络相连。人形用 RealSense D455 与 D435i 采集前视与下视 RGB,连同本体感知状态一起以约 20 ms 延迟流到服务器。服务器充当全局时钟,每 0.5 s 做一次 VLA 推理,对应 30 Hz 下 $s=15$ 个动作的执行时域。预测的动作块流回机器人、重采样到 50 Hz,由 SONIC 跟踪器执行,低层控制闭环约 200 Hz。作者还做了一个网页控制面板,用于发送导航指令、监控 VLA 输出与机器人观测、向 VLA 与 WBC 系统发控制信号。
仿真部署用了另一套巧思:全身导航既要求高渲染质量又要求物理真实性,单用一个仿真器难以兼得。作者用数字孪生传送系统——MuJoCo 负责低层跟踪器部署与物理仿真,同时在 IsaacSim 里传送一个人形数字孪生,由给定的人形位姿经正向运动学(FK)解算出指定相机位姿,从那里获取照片级真实的视觉观测作为 VLA 输入。
实验结果
1. VLNVerse 基准:唯一带低层物理控制的方法
评测在 VLNVerse(IsaacSim 中照片级真实室内场景的新建 VLN 基准)上进行,对比对象覆盖离散动作模型 CMA 与 Seq2Seq、连续动作模型 RDP、神经隐式表示方法 HNR,以及 SOTA 级 VLA 模型 InternVLA-N1 与 Uni-NaVid。指标为成功率 SR、路径长度加权成功率 SPL、导航误差 NE、Oracle 成功率 OSR。所有方法都在 VLNVerse-train 的 3,963 条轨迹上训练,在 VLNVerse-seen(423 条)与 VLNVerse-unseen(825 条)上评测;InternVLA-N1 与 Uni-NaVid 按各自原始设置微调五个 epoch。
一个必须说清的前提:所有基线都缺少低层控制模块,因此按 VLNVerse 原始协议在传送(teleportation)设置下评测;TANGO 是唯一配备低层控制、在真实物理约束下运行的方法。
| 方法 | 低层控制 | Seen NE ↓ | Seen OSR ↑ | Seen SR ↑ | Seen SPL ↑ | Unseen NE ↓ | Unseen OSR ↑ | Unseen SR ↑ | Unseen SPL ↑ |
|---|---|---|---|---|---|---|---|---|---|
| CMA | ✗ | 5.36 | 59.81 | 37.35 | 33.36 | 5.16 | 62.79 | 31.15 | 27.92 |
| Seq2Seq | ✗ | 4.78 | 44.68 | 32.62 | 30.39 | 4.36 | 49.58 | 35.03 | 33.37 |
| RDP | ✗ | 4.02 | 68.09 | 47.28 | 41.69 | 3.75 | 71.93 | 48.60 | 42.72 |
| HNR | ✗ | – | – | 36.34 | 32.10 | – | – | 32.95 | 29.56 |
| InternVLA-N1 | ✗ | 3.91 | 62.50 | 51.56 | 34.37 | 4.09 | 64.13 | 45.56 | 34.98 |
| Uni-NaVid | ✗ | 4.31 | 60.62 | 51.88 | 39.72 | 3.97 | 62.50 | 45.00 | 39.42 |
| TANGO(本文) | ✓ | 3.90 | 70.31 | 54.69 | 40.18 | 3.72 | 71.07 | 52.89 | 40.18 |
TANGO 在 seen 与 unseen 两个划分上都取得最高 SR 与最低 NE,SPL 与 OSR 与 SOTA 的 RDP 基线相当。考虑到 RDP 是在传送设置下评测的(等于免除了物理执行的一切困难),这个对比对 TANGO 是有利的。
作者对偏低的 SPL 给出了坦率的解释:SPL 相对更低说明导航效率有所下降,原因很可能是低层跟踪器的保守行为——它可能偏好绕开障碍时更安全但不那么直接的轨迹。这是一个诚实的取舍陈述:拿物理可行性换来的路径最优性损失。
2. 杂乱环境通行:RGB 打败带 LiDAR 的对手
在增强的 VLNVerse-unseen 场景上评测,验证 3D 环境中的避障与空间理解能力。对比两种低层执行器:Unitree 官方 RL 控制器 + MPC(按平面速度指令执行基本移动),以及能在复杂 3D 场景做避障动作的 HumanoidPF 通用策略。微调设置下,InternVLA-N1 在增强的 VLNVerse-train 场景上微调,视觉输入分别采自 Unitree 控制器或 HumanoidPF 的动作(记作 “+Unitree WBC” 与 “+HumanoidPF”)。推理时 Unitree 控制器接收由预测轨迹解释出的 2D 速度指令,HumanoidPF 跟踪轨迹上前方 1.2 m 采样的路点,均为 50 Hz。作者引入碰撞率 CR(至少发生一次碰撞的评测回合占比)来量化杂乱环境中的导航安全性。
| 方法 | NE ↓ | SR ↑ | SPL ↑ | CR ↓ |
|---|---|---|---|---|
| InternVLA-N1(zero-shot)† | 5.34 | 26.67 | 11.92 | 19.03 |
| InternVLA-N1(zero-shot)‡ | 3.19 | 35.29 | 24.35 | 16.11 |
| InternVLA-N1 + Unitree WBC | 4.57 | 35.00 | 17.38 | 17.49 |
| InternVLA-N1 + HumanoidPF | 4.04 | 41.88 | 29.49 | 15.81 |
| TANGO(本文) | 4.01 | 43.75 | 31.83 | 9.90 |
† 配 Unitree 低层控制器与 MPC;‡ 由 HumanoidPF 通用策略跟踪。
TANGO 取得最高 SR 与 SPL,同时保持所有方法中最低的 CR。最关键的一组数字是碰撞率:相比最强基线从 15.81% 降到 9.90%,而 TANGO 只依赖 RGB 观测,被 HumanoidPF 跟踪的那个基线还额外能访问基于 LiDAR 的几何感知。在成功率上比微调过的 InternVLA-N1 + HumanoidPF 高 1.87 个百分点、SPL 高 2.34 点。作者的结论是:这支持了端到端全身动作生成相对于所评测的模块化方法的优势。
这个对比值得多说一句。模块化方案的通病是接口损失:VLA 出轨迹 → 解释成速度指令或路点 → 控制器执行,每次跨越接口都丢掉一些几何信息,而「轨迹可行」并不等于「身体能过去」。TANGO 把可通行性推理压进动作生成本身,因此在同等甚至更弱的传感条件下拿到更低的碰撞率。
3. 真机实验:零样本 sim-to-real
图5:论文 Fig. 4 真机定性结果。四类场景:长时程导航、狭窄通道侧身通过、弯腰避开悬空障碍、跨越地面障碍,展示了不使用任何真机训练数据的零样本 sim-to-real 迁移。
定性。四个代表性场景——长时程导航、在狭窄通道中侧身通过、弯腰避开悬空障碍、跨过地面障碍。TANGO 在全部情形中展现出鲁棒的场景理解与空间通行能力:机器人在遵循自然语言指令的同时执行连续的全身动作,调整身体构型以通过障碍,并保持向导航目标推进。
定量。与微调过的 InternVLA-N1 + Unitree WBC 基线在三种设置下对比:短时程 2D 导航(一次转弯,约 10 m)、长时程 2D 导航(两到三次转弯,约 30 m)、以及带一个挑战性障碍的杂乱 3D 导航。每种设置含三个场景、每场景五次试验,即每方法每设置 15 次试验。杂乱场景的指令显式指定所需的通行行为(跨越、侧身或弯腰)。下表报告成功试验数与每次试验平均碰撞次数(后者是碰撞计数,与仿真中的回合级 CR 不同):
| 方法 | 短时程 2D SR ↑ | 短时程 Coll. ↓ | 长时程 2D SR ↑ | 长时程 Coll. ↓ | 杂乱 3D SR ↑ | 杂乱 3D Coll. ↓ |
|---|---|---|---|---|---|---|
| InternVLA-N1 † | 11/15 | 1.40 | 6/15 | 3.47 | 6/15 | 1.93 |
| TANGO(本文) | 12/15 | 0.40 | 8/15 | 1.07 | 10/15 | 0.73 |
TANGO 在三种设置下都拿到最高 SR 且碰撞更少。差距最大的是杂乱 3D 场景:10/15 对 6/15,平均碰撞 0.73 对 1.93——正好是全身动作空间最该发挥作用的地方。长时程 2D 导航(约 30 m)从 6/15 提到 8/15,说明长时程下的误差累积也被抑制了。
4. 消融一:全身动作空间到底值多少
在原始 VLNVerse-unseen 基准上研究动作表示与低层执行的影响,以验证 29 自由度全身动作空间。对比对象是 zero-shot 的 InternVLA-N1,以及本文方法的平面变体 Ours-2D。由于平面轨迹预测在本文表述中只是辅助目标,Ours-2D 恰好隔离出全身动作生成的作用。两个基线都在两种执行设置下评测:传送,以及用 Unitree 低层控制器 + MPC 的物理执行。
| 方法 | 低层控制 | Val Unseen SR ↑ | Val Unseen SPL ↑ |
|---|---|---|---|
| InternVLA-N1 | ✗(传送) | 43.69 | 35.74 |
| Ours-2D | ✗(传送) | 45.74 | 35.44 |
| InternVLA-N1 † | ✓(物理执行) | 42.37 | 22.50 |
| Ours-2D † | ✓(物理执行) | 26.67 | 8.34 |
| TANGO(全身) | ✓(物理执行) | 52.89 | 40.18 |
† 配 Unitree 低层控制器与 MPC。
这张表是全文论证力度最强的地方,因为它把「传送 → 物理执行」这个鸿沟量化了出来:
其一,两个平面策略在从传送切到物理执行时都大幅掉分。Ours-2D 从 45.74% 掉到 26.67%(−19.07 个百分点),SPL 从 35.44 掉到 8.34(−27.10 点);InternVLA-N1 从 43.69% 掉到 42.37%、SPL 从 35.74 掉到 22.50。这直接印证了论文的核心主张:传统导航策略迁移到具身设置有多难——在传送设置下看起来相当能干的模型,一旦要真的用身体走过去就可能崩掉。
其二,TANGO 在物理执行下反而更高(52.89%),不仅没掉分,还超过了两个基线在传送这个宽松设置下的成绩。Ours-2D 与 TANGO 的对比(26.67% vs 52.89%)支持全身动作预测的收益:两者的差别就在动作空间,平面版把全身信息丢掉了,在物理执行下立刻暴露。
需要注意作者自己的提醒:zero-shot 的 InternVLA-N1 那两行提供了额外参考点,但并不能把动作表示与训练差异隔离开——真正干净的对比是 Ours-2D 与 TANGO,因为它们共享训练配方。
5. 消融二:RTC 是生死线
在增强的 VLNVerse-unseen 上分别评测动作编辑、RTC 与低层跟踪器三个设计选择(默认配置用 SONIC,跟踪器变体用 ScaleBFM;SR 与 CR 为百分比,SPL 已按 100 缩放):
| 方法 | SR ↑ | SPL ↑ | CR ↓ |
|---|---|---|---|
| w/o RTC | 10.94 | 10.94 | 14.60 |
| w/o Motion Editing | 36.25 | 30.36 | 20.60 |
| SONIC → ScaleBFM | 40.94 | 29.65 | 9.10 |
| TANGO(完整) | 43.75 | 31.83 | 9.90 |
去掉 RTC 是灾难性的:SR 从 43.75% 掉到 10.94%,跌幅 32.81 个百分点,CR 从 9.90% 升到 14.60%。这个量级说明 RTC 不是一个优化技巧而是系统能否工作的前提——它维持了执行期间跨动作块的动作连续性。原因不难理解:部署时每 0.5 s 出一个新块,如果新块的开头与正在执行的旧块不连续,机器人每半秒就会经历一次动作跳变,全身动作在物理上根本不可能平滑衔接,跟踪器只能不断救火。
去掉动作编辑使 SR 降到 36.25%、CR 升到 20.60%(全表最高碰撞率),说明障碍感知的动作监督对碰撞避免有实质贡献。碰撞率翻一倍这个结果尤其能说明问题:没有 Edit 阶段,数据里就只有普通行走动作,模型学不到「手臂要收、身体要低、腿要抬」这些避障行为。
把 SONIC 换成 ScaleBFM 得到 40.94% SR、29.65 SPL、9.10% CR,三项指标都在默认配置的三个点以内——其中 CR 甚至略优。这说明 TANGO 与另一个通用全身控制器兼容,方法不绑定特定跟踪器,这对跨平台部署是个重要的可扩展性信号。
局限性
作者自述:低层跟踪器能力是继续部署的关键约束。作者在 Limitation 段落明确指出,低层跟踪器的能力成为进一步部署到更复杂环境(例如上楼梯)的关键瓶颈。这是一个结构性依赖:TANGO 的动作空间上限由 system-0 决定——VLA 可以预测出跨台阶的全身参考,但如果跟踪器执行不了,整条链路就断在那里。值得注意的是,本文与 PGMT 这类专攻地形适应的跟踪器工作恰好互补:PGMT 补的正是「跟踪器在复杂地形上的能力」这一块。
作者自述:视觉输入只有 RGB。模型完全依赖 RGB 图像,这可能限制其充分理解复杂场景的能力,尤其是在杂乱、视觉歧义或低光照环境中——作者认为深度相机与 LiDAR 在这些场景下会有帮助,并留给未来工作。这个自述与第 2 节的结果构成一个有意思的张力:正因为只用 RGB 就打败了带 LiDAR 的基线,说明当前场景下 RGB 够用;但作者也承认在低光照或视觉歧义场景下这会成为短板。
读者视角补充:其一,真机定量结果的统计强度有限——每设置每方法仅 15 次试验(3 场景 × 5 次),杂乱 3D 上 10/15 对 6/15 的差异在这个样本量下置信区间很宽,论文也没有给出显著性检验或跨场景方差。其二,仿真主结果的对比条件不对等:TANGO 是唯一在物理执行下评测的方法,基线全部在传送设置下评测。这对 TANGO 有利(它承担更多困难),但也意味着表 1 的 SR/SPL 并不是同一口径下的数字,严格比较需要 Table 4 那种「同方法两种执行」的设计,而 Table 4 只覆盖了 Ours-2D 与 InternVLA-N1。其三,依赖云边网络:VLA 在服务器上跑、每 0.5 s 一次推理,机器人靠约 20 ms 延迟的 IP 网络与之相连。论文没有分析网络抖动、丢包或断连时的行为——对一个正在跨越障碍的人形来说,这不是一个可以忽略的失效模式。其四,SPL 偏低反映的保守性没有被单独分析:作者把它归因于跟踪器保守,但没有给出路径长度分布或绕行幅度的量化。其五,数据合成的行为覆盖由规则决定:三类障碍(stride/sidle/squat)与其占比(44%/15%/41%)是人工设计的,下蹲只有 waist-only/com-drop/full-squat 三档预设,跨越只对 $z_{\text{top}}\leq z_{\text{bar}}$ 触发;真实世界里更长尾的通行行为(如侧身同时下蹲、跨越不规则形状)不在覆盖范围内。其六,代码与数据集当前尚未发布(论文承诺开源五件套,但项目页暂无代码链接),数字暂不可复现。
总结与展望
TANGO 的贡献可以拆成三层,彼此支撑。最上层是一个问题重述:导航是全身问题,所以动作空间应该是 29 自由度关节角 + 基座 6D 旋转,而不是 2D 航点或平面速度。这个重述本身不新,但论文用 Table 4 把它钉死了——平面策略从传送切到物理执行会掉 19 个百分点(Ours-2D 45.74% → 26.67%),而全身动作空间在物理执行下反而拿到 52.89%。中间层是数据:PET 管线用 211 GPU 小时合成 64,633 条无碰撞全身轨迹,其中「Track 阶段只做可执行性过滤、监督用规划+编辑阶段的无碰撞参考而非跟踪后轨迹」这个决定,同时保住了类人质量与物理可行性。最下层是工程:BATS 的时间指数采样加粗细网格池化管住长时程视频历史,稳定化动作目标(块相对偏航 + 辅助平面增量)让回归可训,训练时 RTC 对齐离线训练与在线流式执行——而 RTC 的重要性由那条 −32.81 个百分点的消融曲线无可辩驳地证明了。
结果层面,VLNVerse 上 seen/unseen SR 54.69/52.89 且是唯一带物理控制的方法;增强杂乱场景上 CR 从 15.81% 降到 9.90%(仅用 RGB,对手有 LiDAR);真机零样本走完 30 m 杂乱办公室路线,杂乱 3D 场景 10/15 对基线 6/15。换 ScaleBFM 后三项指标都在三个点以内,说明框架不绑定特定跟踪器。
往后看,作者把 TANGO 定位成「迈向实用全身大规划模型」的一步,未来工作是把它作为基础模型适配与扩展到更通用的 loco-manipulation 基础模型,处理需要协同且主动使用整个身体的任务。从本文暴露的约束倒推,最有价值的三个方向是:换一个地形能力更强的 system-0(把上楼梯这类能力补进来,这正好与 PGMT 那类感知式跟踪器工作互补);引入深度或 LiDAR 以覆盖低光照与视觉歧义场景;以及把机载算力做到能脱离服务器独立运行,消除云边链路这个单点失效。
金句
对轮式机器人来说,导航是「路线能不能走通」;对人形机器人来说,导航是「这具身体能不能穿过去」——把动作空间从 2D 航点换成 29 个关节角,不是把问题做复杂了,而是终于开始问那个本来就该问的问题。



