NaVILA 深度技术解读

Legged Robot Vision-Language-Action Model for Navigation
RSS 2025 · An-Chieh Cheng, Yandong Ji, Zhaojing Yang et al.
NVIDIA + UCSD + USC
Project · arXiv · GitHub
← 返回 VLN 技术站

0. 30 秒速览

NaVILA 是首个在真实四足机器人(Unitree Go2)上完成 VLN 的系统。它把问题分为两层:上层 VLM 理解图像和语言指令,输出中间语义动作(如"前进 75cm");下层 RL locomotion policy 将语义动作转化为 12 个关节的物理控制。这种解耦设计让 VLM 的语义推理能力和 RL 的物理控制能力各自发挥所长。

属性规格
上层模型VILA VLM(vision encoder + MLP projector + LLM)
下层模型RL locomotion policy(actor-critic in IsaacLab)
动作接口中间语言动作(如 "move forward 75cm", "turn right 30°")
机器人Unitree Go2(12-DoF 四足,4 腿 × 3 关节)
传感器RGB(VLA 层)+ LiDAR height map + 本体感知(locomotion 层)
新基准VLN-CE-Isaac(基于 IsaacLab 的高保真仿真环境)

1. 背景知识:VLN 和四足机器人

1.1 什么是 VLN?

Vision-and-Language Navigation(VLN):给智能体一段自然语言指令(如"走出客厅,左转进厨房,停在冰箱旁边"),让它在未知的 3D 环境中导航到目标位置。智能体每一步需要:①观察当前环境的图像 ②理解指令语义 ③决定下一步走哪里。

传统 VLN 研究在仿真环境(如 Matterport3D)中进行,智能体是"抽象点"——在预定义的 viewpoint 之间跳转。但真实机器人不是"跳"的,它需要物理地行走,处理碰撞、地形、关节控制等物理问题。

1.2 四足机器人的挑战

Unitree Go2 有 12 个关节(4 条腿 × 3 个关节:髋侧摆/髋前后/膝)。要让机器人"往前走 1 米",需要协调 12 个关节的连续运动——这远比 VLN 中"选择下一个 viewpoint"复杂。

核心矛盾

VLM 擅长理解"走出客厅左转进厨房"这种语义级指令,但不擅长输出 12 个关节的物理控制信号。RL locomotion policy 擅长物理控制,但不懂语言。NaVILA 的核心创新:用中间语言动作作为两者的接口。

2. 两层架构

1
Layer 1 — VLA(Vision-Language-Action 模型) 输入 RGB 图像序列 + 语言指令 → VLM 理解语义 → 输出中间动作如 "move forward 75cm"
↓ 中间语言动作
2
Layer 2 — Visual Locomotion Policy(RL 运动控制) 输入中间动作 + LiDAR height map + 本体感知 → RL policy → 输出 12 维关节目标位置
↓ q_d ∈ ℝ¹²
3
执行 PD 控制器将关节目标位置转化为电机扭矩 → 机器人运动 → 新的 RGB + LiDAR → 回到 Layer 1

2.1 为什么不直接从语言到关节?

  1. 维度灾难:VLM 的输出是离散 token,无法高效表达 12 维连续关节控制
  2. 训练数据缺失:不存在"语言指令 → 12 维关节轨迹"的大规模数据集
  3. Sim-to-Real 已有成熟方案:四足 locomotion 的 RL 训练 + domain randomization 已经被证明能有效迁移到真机

解耦后:VLA 只需处理高层语义→中间指令(VLN 社区已有很多数据),locomotion policy 只需处理中间指令→关节控制(RL 社区已有很多技术积累)。

3. Layer 1:VLA 模型详解

3.1 VILA backbone

NaVILA 的上层使用 VILA 模型(不是 VLA,是 VILA,一个类似 LLaVA 的视觉语言模型),包含:

组件说明
Vision Encoder处理输入图像序列(当前帧 + 历史帧采样)→ 视觉 token
MLP Projector将视觉特征投影到语言模型的嵌入空间
LLM处理视觉 token + 语言指令 token → 生成中间动作文本

3.2 三阶段训练

阶段训练什么数据目标
Stage 1:对齐只训练 projector(MLP),冻结 vision encoder 和 LLM图文对齐数据让 projector 学会把视觉特征"翻译"成 LLM 能理解的格式
Stage 2:交错预训练训练 projector + LLM,冻结 vision encoder图文交错语料(如 MMC4)让 LLM 学会在文本中"嵌入"图像理解
Stage 3:指令微调全模块训练(vision encoder + projector + LLM)R2R 导航数据 + EnvDrop 增强学会在导航场景中输出正确的中间动作

3.3 关键创新:轨迹视频摘要任务

Stage 3 不只训练"看图选动作",还增加了一个辅助任务:给定一段导航轨迹的视频帧序列,要求 VLM 用自然语言总结已走过的路径

# 输入:均匀采样的轨迹帧 [frame_0, frame_15, frame_30, ...]
# 标注:路径的文字描述 "从走廊出发,经过一扇门,进入客厅,右转..."

# 为什么有用?
# 1. 迫使 VLM 理解空间方位(不是只看当前帧)
# 2. 让 VLM 记住历史(导航需要知道"我从哪来")
# 3. 增强时序推理("前两步往左走了,现在应该右转")

3.4 中间语言动作格式

VLA 输出的中间动作是自然语言文本,包含方向和距离信息:

"move forward 75cm"     # 前进 75 厘米
"turn right 30 degrees" # 右转 30 度
"turn left 45 degrees"  # 左转 45 度
"stop"                  # 到达目标,停止

这些文本被解析为速度指令(线速度 + 角速度),传给 locomotion policy。

4. Layer 2:Locomotion Policy 详解

4.1 Unitree Go2 机器人

属性规格
类型四足机器人(quadruped)
自由度12-DoF(4 腿 × 3 关节:髋侧摆/髋前后/膝)
传感器RGB 摄像头 + LiDAR(360° 激光雷达)
本体感知关节角度、角速度、身体姿态(IMU)

4.2 Actor-Critic RL 训练

Locomotion policy 用 PPO(Proximal Policy Optimization)在 IsaacLab 中训练。关键设计:

角色观测输入作用
Critic(训练时)本体感知 + 速度指令 + privileged height scan(上帝视角的地形高度图)评估当前状态的价值
Actor(推理时)本体感知 + 速度指令 + LiDAR height map(真实传感器数据)输出关节目标位置

为什么 Critic 和 Actor 看到的东西不一样?

这是 asymmetric actor-critic 设计。训练时 Critic 用"上帝视角"的精确地形数据(privileged information)来更好地评估价值,加速训练收敛。推理时 Actor 只用真实机器人能获取的传感器数据。Critic 在推理时被丢弃——它只是训练辅助。

4.3 LiDAR Height Map vs Depth Camera

一个重要的工程发现:室内环境中大量使用玻璃隔断。RGB-D 深度摄像头无法看到玻璃(红外光穿透),但 LiDAR 可以检测到。因此 NaVILA 使用 LiDAR 生成的俯视高度图(top-down height map)作为地形感知输入,而非前向深度图。

4.4 Sim-to-Real 迁移

Locomotion policy 在 IsaacLab 中训练时,通过 domain randomization 增强泛化性:

# 随机化的参数:
- 地面摩擦系数 (0.5 ~ 1.5)
- 机器人质量分布 (±10%)
- 关节阻尼 (±20%)
- 地形 roughness
- 外部扰动力 (随机推力)

这使得训练出的 policy 对真实世界的物理不确定性有鲁棒性,不需要在真机上微调。

5. VLN-CE-Isaac:新仿真基准

传统 VLN 研究使用 Habitat 仿真器,存在明显局限:

维度VLN-CE (Habitat)VLN-CE-Isaac
渲染引擎Magnum(光栅化,低多边形)PhysX 5(光线追踪
物理仿真基础碰撞检测完整刚体动力学
动作空间6-DoF 速度指令低层关节控制
机器人抽象点(无物理形态)物理四足机器人
场景真实度低(游戏引擎级别)(照片级渲染)

6. 真机实验

NaVILA 在 Unitree Go2 上完成的实验包括:

这是第一个端到端 VLN 系统(从自然语言到关节控制)在真四足机器人上的验证。

7. 工程权衡分析

✓ 优势

• 真机验证——不是仿真,是实物 Go2 上跑的

• 解耦设计——两层可以独立升级和调试

• 中间语言接口——天然可解释,便于人机交互

• Sim-to-Real 成熟——locomotion 的 RL+domain randomization 方案已被广泛验证

✗ 代价

• 两层串联延迟——VLM 推理 + RL 执行,实时性受限

• 训练成本高——需要训练两个独立系统 + IsaacLab 仿真器

• 中间动作粒度有限——"前进 75cm" 比 6-DoF 速度指令粗

• VLM 推理成本——7B+ 模型在嵌入式设备上难以实时运行