一句话定位

GNM 用 6 种异构地面机器人(四足、全地形车、越野轮式、室内小车等——训练集不含任何空中/无人机数据)聚合的约 60 小时导航轨迹,训练一个 image-goal 目标条件”omnipolicy”,靠”归一化动作空间 + 具身上下文”两处小改动,就能零样本迁移到训练里从未见过的新机器人(包括一架欠驱动四旋翼),是”跨具身视觉导航基础模型”这条线的开山之作。

背景与定位

机器学习在 NLP、视觉靠互联网级数据实现了广泛泛化,但机器人领域长期”碎片化”:每个研究者用自己机器人采自己的数据、训自己的策略,攒不出足够大的数据集。作者的切入点是视觉导航——不同机器人(轮式、四足、无人机)的相机、视角、动力学各异,但”探索环境、规划到目标的路径、避障”这一抽象导航目标是共通的。因此可以跨机器人共享数据、训练一个通用导航策略。

范式上 GNM 属于跨具身模仿学习 / 数据共享(cross-embodiment data sharing),走的是”直接用高容量模型在真实数据上训练即可泛化”的路线,而非设计专门的 domain adaptation 算法或手工增广。它在系统层面沿用了视觉导航经典的”拓扑图高层规划 + image-goal 底层反应式策略”框架(Neural Topological SLAM、ViNG、ViKiNG 一系),把 ViNG 的负样本挖掘、拓扑图部署直接搬来。与 DroNet(用汽车驾驶数据训练四旋翼)相比,GNM 把”跨具身”从两个平台推广到多机器人聚合数据集并控制全新机器人。

GNM 是这条线的第一环,直接催生了后续的 vint-foundation-model-visual-navigation(把 backbone 换成 Transformer、扩到约 100 小时数据的 foundation model)与 nomad-goal-masked-diffusion-navigation(用 goal-masked 扩散策略统一导航与探索);三者共享同一份 visualnav-transformer 代码库。它也是”one policy to drive any robot”这一叙事在导航领域的代表作,与操作领域的 RT-1 / RoboNet 数据共享思路平行。

模型架构

任务形式:image-goal navigation——目标 G 用在 G 处拍摄的图像观测 o_G 指定,不依赖真值定位或语义标签。学一个目标到达策略 π(o_t, o_G),只用第一视角 RGB 观测导航。

policy backbone(Conditioned 双编码器架构):这是一个目标条件卷积策略,不是 VLM。

  • 两个独立的 MobileNetv2 CNN 编码器:一个编码”当前观测 + 具身上下文”{o_t, C_t},另一个编码目标图像 o_G(Siamese 之外多一条从观测直达输出的通路,即消融里表现最好的 “Conditioned” 变体,源自 RECON/Nair 等)。
  • 两个 embedding 拼接后过 3 层全连接,接两个预测头。
  • 视觉输入:所有观测统一为 85×64 RGB 图像。

动作头 / 输出(shared abstraction 的核心)

  1. 归一化未来路点序列 {p̃_i, ψ_i},共 τ=5 个未来路点。中层动作空间用相对路点 p(x,y) + 偏航变化 ψ,标签由各数据集都易得的局部里程计给出。
  2. 归一化时间距离 d̃_t(到目标的 temporal distance),作为可通行性度量,用于估计拓扑图的连通性。

归一化动作空间:直接学原始动作困难(各机器人速度跨度 0.2–10 m/s,Ackermann vs 差速)。GNM 用 p̃ := (1/α)·p,其中 α 是与机器人最高速度相关的机器人特定缩放因子,把不同动力学的数据点”拉平”得更像; 同样在归一化尺度上估计。部署时由机器人特定底层控制器(PID、MPPI)反归一化并跟踪路点,转成速度/电机指令。

Embodiment Context(具身上下文):不手工定义机器人参数(尺寸、转弯半径),而是自动地用过去 k=5 帧连续观测 {o_(t-k):(t-1)} 推断一个学习到的具身上下文 C_t,与观测一起喂给策略。消融显示”时序一致”(temporal,连续过去帧)优于”静态”(static,固定的一组过去帧)。这让同一策略无需任何手工机器人表征就能部署到新配置。

系统部署(拓扑图 + Dijkstra):策略与拓扑地图 M 结合,节点是机器人观测(附具身上下文),边由策略估计的时间距离 d 算出,沿用 ViNG 的搭法。每步机器人在 M 中关联当前与目标观测(找时间距离最小的节点),用 Dijkstra 算最优子目标序列 {s_i},策略以当前观测和最近子目标 s_1 查询,输出 τ 个路点交由底层控制器跟踪。

作者强调这些改动与下游策略架构、学习算法正交——换编码器或改用 RL 都行;本文贡献不是新算法,而是”异构数据能泛化到新机器人”的实证。

数据

GNM 训练集:从 8 个已有数据集聚合,覆盖 6 种不同机器人平台,约 60 小时真实导航轨迹(正文/摘要/项目页均写 60 小时;论文 Table I 各行相加并在 “Ours” 行标 70h——两处口径不一致,此处以正文与项目页反复强调的”60 hours / over 60 hours”为主叙述,70h 系表内总计)。速度跨度 0.2–10 m/s

Table I(数据集 · 平台 · 速度 · 时长 · 环境):

数据集平台速度时长环境
GoStanfordTurtleBot20.5 m/s14hoffice
RECONJackal1 m/s25hoff-road
CoryHallRC Car1.2 m/s2hhallways
BerkeleyJackal2 m/s4hsuburban
SCAND-SSpot1.5 m/s8hsidewalks
SCAND-JJackal2 m/s1hsidewalks
SeattleWarthog5 m/s1hoff-road
TartanDriveATV10 m/s5hoff-road
NeBulaATV10 m/s10hoff-road
  • 6 个平台:4 个商用(TurtleBot、Clearpath Jackal、Warthog、Spot)+ 2 个定制(Yamaha Viking ATV、RC Car)。
  • 模态:全部第一视角前向 单目 RGB,配对指令动作局部里程计;各机器人相机参数(内参/外参/安装高度)不同,迫使策略跨相机位姿与内参泛化。
  • 数据来源与标注:遥操作 + 自主导航混合行为;动作标签(相对路点 + 偏航)来自局部里程计。全部真机数据(无仿真)
  • 配比 / 课程:实验用递增子集 GNM-Small / Mid / Large = 前 2 / 4 / 6 个数据集,用来观察”数据越多样越好”的趋势。
  • 训练数据对:从同一条轨迹采 image-goal 对作正样本,从不同轨迹采负样本(ViNG 式负样本挖掘)。
  • 代码库公开列出可用公开数据集:RECON、TartanDrive、SCAND、GoStanford2(Modified)、SACSoN/HuRoN;部分为未释放数据需联系原作者。

训练方法

  • 目标:监督式模仿学习,ℓ2 回归损失,两头联合训练。
  • 两头训练策略:distance 头在正+负样本上训练;action 头只在正样本上训练(负样本无有效动作监督)。沿用 Shah 等(ViNG/ViKiNG)流程。
  • 无 RL、无仿真:纯真机演示数据上的行为克隆式训练。
  • 关键超参:多 GPU 训练,batch size 400–1200Adam 优化器,学习率 5×10⁻⁴
  • 动作 tokenization:无离散 token;动作是连续归一化路点回归(τ=5)+ 连续时间距离标量。
  • 无蒸馏。

Infra(训练 / 推理工程)

  • 训练:多 GPU(“multi-GPU training”),具体 GPU 型号 / 数量 / GPU-hours 未披露;并行策略、精度未披露。已知 batch 400–1200、Adam、lr 5e-4。
  • 推理 / 边缘:论文未披露控制频率 / FPS / 时延。公开的 visualnav-transformer 部署代码面向开源 LoCoBot 平台,机载算力用 NVIDIA Jetson Orin Nano,ROS(noetic) 栈;navigate.py/usb_cam/image_raw 读观测、发布路点到 /waypoint,由 pd_controller.py(PD 控制器)转成底盘速度。社区已独立部署到 Clearpath Jackal、DJI Tello、Unitree A1、TurtleBot2、Vizbot 及 CARLA 仿真。(注:Orin Nano 属共享代码库当前部署方案,非 2022 年原论文实验必然使用的硬件;原论文推理硬件未披露。)

评测 benchmark

全部为真机部署评测,指标为成功率(success rate,以朝目标推进的平均进度度量),覆盖约 20 个室内外环境(在 Jackal 与 LoCoBot 上定量),部署于 4 个机器人平台(其中 3 个无对应训练数据)。

部署的 4 个机器人:Vizbot(Roomba 改,无训练数据)、DJI Tello(四旋翼,无任何空中机器人训练数据,限制在离地 1 m 水平面模拟地面导航)、Clearpath Jackal UGV、LoCoBot(Kobuki 改,无训练数据)。

Table II(跨机器人汇总,单一 GNM-Mid 策略 vs 各机器人最优单机策略,成功率)

训练数据LoCoBotTelloVizbotJackal
GS(GoStanford)0.260.210.510.31
RECON0.620.790.260.68
GNM (Ours)0.960.990.930.94

单一 GNM 策略在每个机器人上都超过针对该机器人的最佳单机策略,部分场景提升达 5×

Table III(LoCoBot,未见机器人,成功率):GNM-Large 室内 Easy/Moderate 1.0 / 1.0、Outdoor 0.83;对比 CoryHall 0.22/0.13/0.29、GS 0.25/0.16/0.44、GS+ImageNet 0.35/0.35/0.57。

Table IV(Jackal,成功率):GNM-Large Outdoor Easy/Hard 1.0 / 1.0、Indoor 0.88;对比 GS、RECON(单域策略)及 +ImageNet。GNM 在越野与室内(对 RECON 是 OOD)都更均衡,“Hard”越野路线可超 100 m。数据越多样(Large > Mid > Small)越好,即便新增数据来自看似无关任务(越野驾驶)。

Table V(设计消融,LoCoBot,Easy/Moderate/Hard 成功率)

  • 动作空间:Velocities 0.73/0.54 · Waypoints 0.42/0.26 · Norm. Waypt. 1.0/0.95 —— 归一化路点显著最优。
  • 架构:Stacked 0.52/0.72 · Siamese 0.73/0.26 · Conditioned 1.0/0.95 —— 条件架构最优。
  • 具身上下文:None 1.0/0.79/0.36 · Static 1.0/0.86/0.5 · Temporal 1.0/0.92/0.7 —— 时序上下文在难场景增益最大。

鲁棒性(单域 vs GNM,成功率):转向退化(最大角速度被削)0.30→0.89;视角扰动(相机位置移动)0.17→0.81;物理损伤(轮胎卡木块)0.81→1.0。异构训练让策略学到跨机器人共享的 affordance,对传感器位置、机械属性的小变化更稳。

Baseline 明确:单域策略(GoStanford/GS、RECON、CoryHall)与 ImageNet 预训练表征微调。

创新点与影响

贡献:提出从多机器人异构数据集训练通用导航 omnipolicy 的框架,并给出实证——(i) 归一化动作空间形成跨机器人共享抽象、(ii) 用连续过去观测推断的具身上下文条件策略,两处简单改动就足以让异构数据泛化到全新环境与全新机器人(含从未见过的四旋翼)。作者反复强调本文不是新学习算法,价值在实证。公开释放了训练好的 GNM 策略、训练/部署代码与数据集。

改变了什么:把”下载预训练 backbone 再用”的范式引入视觉导航——GNM 想成为各类下游导航应用的”通用起点 / 预训练导航 base model”。它是 vint-foundation-model-visual-navigationnomad-goal-masked-diffusion-navigation 等跨具身导航基础模型的直接前身,奠定了”一个策略驱动任意机器人”在导航领域的技术路线与数据共享方法论。

作者自陈局限

  1. 未显式处理机器人能力差异——假设所有机器人都是带前向 RGB 相机的地面机器人(虽研究了对四旋翼的泛化);处理更多样的传感、执行(超出速度/转向变化)与可通行性是未来方向。
  2. 数据集可以更大——60 小时已见到令人兴奋的泛化,更大更广的数据集应能带来更强泛化(后续 ViNT 正是沿此扩到约 100 小时)。

原始链接

一手源存档(sources/)