thinkism.ai

机器人学会「预演未来」:拆解 Pelican-Sim 1.0 的 28 维动作世界模型

2026-10-05 · AI / 世界模型 / 具身智能 · 阅读时间 ≈ 9 分钟

2026 年 9 月底,北京人形机器人创新中心(x-humanoid.com)放出了 Pelican-Sim 1.0。它想回答的工程问题很朴素:如果让你随便挑一种机器人——机械臂、人形、夹爪、灵巧手——只要给它一张现在的照片和一串打算执行的动作,模型能不能直接「想象」出执行完之后画面是什么样?答案是可以,而且有一个非常具体的数字撑腰:在仿真数据集 RoboTwin 上,Pelican-Sim 1.0 把 PSNR 从 20.04 推到了 30.38,FVD 从 26.6 砸到 4.98。

这篇笔记不打算重复那篇长稿里的全部故事。我更关心的是三个工程问题:为什么把「数字动作」和「骨架视频」同时塞进去是必要的? MoE + 4 步蒸馏为什么是性价比最高的工程改造? 世界模型对机器人训练循环到底改变了什么? 不绕开数字,也不迷信数字,谈完再说落地。

初始 RGB 帧 28 维动作向量 URDF → 骨架视频 奇数层:数值调制 偶数层:残差视频 28 层 Video DiT + 稀疏 MoE 1 共享 + 8 路由 每 token 激活 2 35 步教师 → 4 步学生 未来 21 帧 2.2 s / 段 5.67× 加速 Pelican-Sim 1.0:数字 + 骨架双通道动作世界模型 作者:北京人形机器人创新中心 · 2026 · 图 1 · 本博客手绘示意图
图 1 · Pelican-Sim 1.0 整体架构。RGB 帧与 28 维动作向量并列输入;动作数值在奇数层做特征调制,骨架视频在偶数层叠加残差;28 层 Video DiT + 1+8 稀疏 MoE;通过因果自回归蒸馏把 35 步采样压到 4 步。本图为本人手绘,数据来自北京人形机器人创新中心公开材料与 2026 年 10 月科技行者长报道。

一、问题不是「能不能预测」,而是「能不能跨具身预测」

先说一件容易被忽略的事:把视频扩散模型套上「动作输入」这件事,在 2026 年已经不稀奇。IRASim、Ctrl-World、EnerVerse-AC、OSCAR 等一串工作,基本都跑通「给一张图 + 一串动作 → 预测未来画面」这件事。问题在于:这些方法几乎都押一种表示——要么只吃机器人关节角度的数字指令,要么只吃渲染好的骨架视频。前者精确但抽象,模型看不见画面就不知道这条动作轨迹「长什么样」;后者直观但松散,模型看得见骨架却不知道夹爪开合到底落在哪一格。

更现实的问题在于跨本体:同一个抓取动作,在 Panda 机械臂和 Sawyer 机械臂之间的关节含义不一样;六轴机械臂和七自由度人形手臂的运动语义不一样;双指夹爪和五指灵巧手的「抓握」完全不是一回事。把一个模型训练好后,换一个机器人,大概率要重新训练。

Pelican-Sim 1.0 想解决的是这两件事的合集:既给出统一、跨本体的动作接口,又给出让模型同时「看数字 + 看视频」的双通道表示。思路不算新颖,但他们的实现细节——尤其是那个 28 维的动作表示——是真正值得抄的工程配方。

二、统一动作表示:28 维的数字契约

设计上,他们规定了一个 28 维的向量作为所有机器人的统一动作契约:

这意味着不管你塞进来的是 Franka、单臂 UR5e,还是双臂人形 Tiangong,模型看到的永远是同一个 28 维接口。缺失的部分不再是「字段缺失」,而是「结构性零」,模型从训练阶段就把「缺失即不动」这件事学会了。

与此同时,这串数字还用 URDF + 相机标定渲染成一段骨架视频,跟原始 RGB 帧严格对齐。骨架上的夹爪用颜色编码:蓝色代表打开、灰色代表过渡、橙色代表闭合。这样模型看见骨架时,就知道「这一刻的手在干什么」。

为什么必须同时给数字和视频?看消融数据最直观(AgiBotWorld Beta):

只看数字对模型的帮助近乎为零——光有「每个关节 17 度」这种数字,模型根本不知道这条轨迹在画面里会成什么形态。只看视频给了一些帮助,但丢失了精确性。两条腿走路,比单独一条腿强,但也比两条加起来稍强一点。这是工程上很诚实的一个发现:别相信「押一种表示就行」。

三、把两条信号塞进 28 层 Video DiT:奇偶交替注入

接下来就是核心工程问题了:怎么把「数值」和「视频」这两条异构信号,塞进同一个 Video DiT?

论文的做法叫交替注入:

  1. 奇数层(共 14 层):用动作数值做特征调制——类似 conditional LayerNorm,把数值向量当成一种「颜色调色盘」,让每一帧的特征按数值偏移。
  2. 偶数层(共 14 层):用动作视频提供残差补充——类似 cross-attention 的简化版,把骨架视频的时空结构作为运动引导线。

他们也试过「每一层都同时塞两种信息」,结果 PSNR 只提升了 0.075 dB——几乎可以忽略。说明在 DiT 这种高度非线性结构里,两层信号只要有地方「碰头」就够了,没必要每层都来一次。

28 层 Video DiT 的奇偶交替注入 L1 L2 L3 L4 L5 L6 L7 L8 L9 … 数值 视频 数值 视频 数值 视频 数值 视频 数值 奇数层:28 维数值特征调制(蓝色) 偶数层:URDF 骨架视频残差叠加(紫色)
图 2 · 交替注入:奇数层负责数值精度,偶数层负责视觉结构,28 层下来信号相互补完。本图为本人手绘示意图。

四、稀疏 MoE:用 1+8 的「专家分诊」应对本体差异

前面解决了「如何表示动作」,但还有一个问题:不同机器人、不同任务的「运动学特征」差异巨大。如果让一个统一的神经网络同时学所有差异,就像让一个全科医生既看骨折又看心律失常,大概率顾此失彼。

Pelican-Sim 的解法是稀疏混合专家(MoE):在 Video DiT 的 FFN 层,把统一的稠密前馈替换成「1 个共享专家 + 8 个路由专家」的结构。每个 token 进来后,路由器决定激活其中 2 个专家,其余 7 个静默。共享专家负责处理通用变换,路由专家则根据输入内容动态分配——「这一帧的轨迹是图型级别的夹取,还是场景级多臂协同」,交给对应的专家。

数字很硬:在完全相同的训练数据和优化步数下,只把稠密 FFN 换成 1+8 稀疏 MoE,FVD 从 17.380 降到 10.850,降幅 6.530。对视频生成来说,这是一个「肉眼可感」的提升。

这个设计的工程含义远大于它本身的创新:它把「机器人型号」和「任务类型」变成了可分诊的特征。当你想扩展到新本体时,只要把新本体的训练数据喂进路由器,它会自动学到「这个新来的是另一种,交给路由专家 X」。这是为什么 Pelican-Sim 在未见过的 Sawyer、IIWA、UR5e 机械臂上,也能复现原样的命令序列。

五、四步顶三十五步:把「预演」从奢侈品变成日用品

即使模型本身设计得再漂亮,35 步扩散采样仍然是工程上的拦路虎。35 步意味着生成一段 21 帧的视频需要几秒钟——如果只是 demo,没问题;但如果要用它做「数据生成、动作筛选、闭环 RL 训练」这些需要成百上千次调用的场景,速度就是生死线。

Pelican-Sim 的解法叫因果自回归蒸馏,分两步:

  1. 因果适配:把原本的双向注意力改成「块因果注意力」——当前块只能看到自己和之前的块,看不到未来。代价是上下文缺一半,但收益是支持流式生成。
  2. 少步蒸馏:用训练好的 35 步教师模型去教一个 4 步学生模型,学生尽量模仿老师的中间状态。

效果:21 帧推理从 12 秒压到 2.2 秒,5.67× 加速。这意味着世界模型第一次从「演示用玩具」变成了「训练数据生成器」——可以反复调用,可以做动作搜索,可以塞进 RL 循环。

这个改进单独看很工程化,但它是 Pelican-Sim 在下游任务上发挥作用的前提。没有这个加速,后面四个应用场景全部跑不动。

六、数字承诺与简单产品验证。三个数据集上的可比结果

光讲设计不够,要看实打实的数字。Pelican-Sim 在三个数据集上和多个基线方法做了对比,涵盖真实场景、跨实验室数据、仿真数据三种分布:

数据集 方法 PSNR ↑ FVD ↓
AgiBotWorld Beta(真机)EnerVerse-AC(最强基线)17.64021.390
AgiBotWorld BetaPelican-Sim 1.022.27610.850
RoboMIND(真机)Ctrl-World(最强基线)21.77016.700
RoboMINDPelican-Sim 1.023.85015.930
RoboTwin(仿真)Ctrl-World(最强基线)20.04026.600
RoboTwinPelican-Sim 1.030.3834.980

注意三个细节:

七、下游四个场景:从「能跑」到「能用」的鸿沟

光会生成视频还不够,论文花了大量篇幅验证这套世界模型在真实训练循环里的价值。我把四个下游场景列出来,每个场景给一个核心数字:

7.1 数据生成:50 条示范 + 500 条生成 = 93% 成功率

从 50 条干净示范出发,用图像编辑工具生成 10 种场景变体,再用 Pelican-Sim 给每个变体生成对应的动作视频。生成轨迹成本:24 秒/条,比人工采集的 60 秒快 2.5×,比仿真器的 55 秒快 2.3×。

策略学习结果:

这是一个「边际收益递减」加上「绝对收益很大」的组合——生成数据能填的坑,主要是低样本场景下模型的初始偏差。

7.2 策略评估:VLM 裁判的「跨梦境稳定性」

论文微调了一个 VLM 当「裁判」:给它任务指令和 16 帧关键画面,它输出「成功 / 失败 / 完成进度」。这个裁判在 1000 条真实仿真视频上准确率 92.6%,在 Pelican-Sim 生成的视频上准确率 91.4%——差距只有 1.2 个百分点。

这意味着:用「世界模型 + VLM 裁判」的组合,你可以离线评估策略。1000 条视频下,排名 Spearman 相关系数 1.0(完全一致),平均成功率估计误差只有 2.4 个百分点。

这个细节比表面数字更让人放心:整套评估链路是经得起交叉验证的,不是「自说自话」。

7.3 动作选择:成功率从 43.2% → 63.8%

让扩散策略一次性生成 10 个候选动作方案,世界模型分别预测每个方案执行后的画面,VLM 裁判打分挑出最优。这套「预演 + 选优」把成功率从「随便选一个」的 43.2%,提升到「VLM 选最优」的 63.8%——相对提升 47.7%,距离「用真实仿真器跑遍 10 个方案再选最好」的 68.1% 只差 4.3 个百分点。

这是一个非常务实的工程结论——世界模型在「十选一」这件事上,几乎可以替代真实仿真器。

7.4 策略改进:梦境里做 RL

第四个场景最有意思,直接让策略在 Pelican-Sim 营造的「闭环梦境」里做 RL 训练——VLM 评分 → GRPO 更新策略参数。完全不用碰真实机器人,策略平均成功率从 62.7% 升到 75.4%,相对提升 20.3%。

但论文也诚实承认:距离「用真实仿真器反馈训练」的理论上限 83.8%,还有 8.4 个百分点的差距。这 8.4 pp 从哪里来?大概率来自 VLM 打分的粗糙度,以及世界模型对接触力学细节建模的不足——抓鸡蛋这种「稍微一用力就碎」的任务,目前的世界模型还撑不住。

八、五个维度的「举一反三」:是否真的学到了「动作的本质」

前面的对比都是同分布数据上的提升。但「模型是不是只是背下了训练数据」,要看分布外测试。论文设计五组实验,每一组都改变一个维度的信号,看模型是否能保持一致:

  1. 轨迹反转:把正向执行的动作序列倒过来,模型生成「倒放」画面,而不是继续按原方向运动。
  2. 场景外观变化:把叠裤子任务的背景换成洗衣房、摄影棚、白房间、走廊、车库、客厅六种,动作轨迹不变,看叠衣服逻辑是否保持。
  3. 机器人本体迁移:把 Panda 上的抓取任务,通过逆运动学迁移到训练时从未出现的 Sawyer、IIWA、UR5e 上,看陌生机械臂能否复制。
  4. 物体替换:把目标物体换成外观、形状、大小不同的五个新物体,动作指令不变,看抓取是否还对得上。
  5. 视角变化:用不同的相机机位(俯仰角、方位角、距离)重新渲染,看生成的动作序列是否一致。

所有五组都通过了。但作者坦率声明:这些是定性观察,不是严格的量化对照实验。翻译一下:模型「看起来」是学会了「动作的本质」,但还没法用数字严格证明「它真的不是死记硬背」。

九、我的判断:这条路线值不值得抄?

看完方法、数据、数字,我的工程视角判断如下。

9.2 什么时候该走 Pelican-Sim 路线

9.3 什么时候不该走

9.4 两条延伸观察

  1. 「双通道」会成为通用动作条件的默认配方。Pelican-Sim、4Director、Cosmos-Depth 等一串工作几乎都得出了同一个结论:动作数字和动作视频不能只选一个。这条经验会在未来 12 个月扩散到所有顶会动作条件生成论文。
  2. 「4 步蒸馏」可能比模型架构更值得抄。Pelican-Sim 的方法创新其实没有 4 步蒸馏的工程贡献大——后者直接让单一工作可以做大规模 RL 训练、数据合成、动作搜索。如果你在做类似系统,蒸馏可以先于架构优化做。

十、落地思考:从论文到工程的三步走

如果你下周就要在公司内部复用 Pelican-Sim 的某些想法,我会建议的步骤是:

完成这三条评估,你在「机器人预训练/微调」的工程杠杆上,差不多就赶上 2026 年 Q3 的头部水平了。


参考

下一篇预告:当 Pelican-Unify / Pelican-Sim 这一波「统一表征 + 跨本体世界模型」陆续开源,具身智能的训练循环会从「VLA 主导」转向「VLA × WLA 协作」,下一步真正卡脖子的不再是模型架构,而是真机数据——尤其是接触力学和长时序任务这两个还没被世界模型搞定的事。