⏱ ~35 min
里程碑
⭐ 为何重要

把 MimicGen 思想扩展到双手灵巧/人形机器人:仅 60 条人类示范就自动合成 21K 条轨迹,覆盖多种双手协调行为,并提供 real-to-sim-to-real 管线。它是人形灵巧操作数据规模化的关键基础设施,对 KB 灵巧+teleop 主线在 2024-2025 年的『数据合成』分支具有承上启下意义。

建立在
  • MimicGen
催生

P-DexMimicGen-2024 · 自动化双臂灵巧操作数据生成

作者 / 机构:Zhenyu Jiang, Yuqi Xie, Kevin Lin(共一), Zhenjia Xu, Weikang Wan, Ajay Mandlekar†, Linxi "Jim" Fan†, Yuke Zhu†(†项目负责) / NVIDIA Research + UT Austin + UC San Diego
发表:arXiv 2410.24185(2024-10 v1,2025-03 v2),ICRA 2025
arxiv:2410.24185 · 代码github.com/NVlabs/DexMimicGen(已开源) · 项目页dexmimicgen.github.io
在线索中的位置:T02 (dataset infrastructure)「程序化轨迹扩增」的代表;T11 (dexterous) + T07 (humanoid teleop) 的数据基础设施;MimicGen 在双臂灵巧手上的直接延伸。
一句话定位:把 MimicGen 的「少量人示教 + SE(3) 等变换 + 仿真开环 replay」范式从单臂 parallel-jaw 推到双臂灵巧手——靠三类子任务分类(parallel / coordination / sequential)+ 异步执行队列 + 同步约束 + 顺序约束,让"两臂+多指手"也能从 5–10 个人 demo 自动生成 1000 条仿真轨迹;真机 Can Sorting 用 real2sim2real 把 4 条人 demo 放大到 40 条 DexMG 数据,Diffusion Policy 成功率从 0% → 90%


动机

IL 的瓶颈不在算法,在数据。单臂夹爪的解法是 MimicGen [Mandlekar 2023, arXiv:2310.17596]——用少量人 demo + 仿真 SE(3) 等变换,开环 replay 出海量轨迹。但 2024 年人形/双臂灵巧手兴起后,MimicGen 的范式直接用不上

  1. 双臂异步:每只手要抓不同物体、不同时刻完成,MimicGen 的「整段单一子任务序列」假设崩盘;
  2. 双臂协调:某些阶段必须双手协同(抬托盘、合盖子),需要末端相对位姿与源 demo 对齐;
  3. 顺序依赖:一只手必须等另一只手完成前置动作(先倒球再端碗),不能并行;
  4. 采集成本爆炸:双手+多指需要专门 teleop 接口(Apple Vision Pro + VisionProTeleop + OmniH2O retargeting),单 demo 采集成本远高于单臂 iPhone RoboTurk。

DexMimicGen 的核心洞察:MimicGen 的 SE(3) 等变换机制本身没问题,问题在"子任务编排"。只要把双臂子任务按"是否需要协调、是否需要顺序"分类,给每类配一套执行约束,就能在保持等变换机制的前提下处理双臂协调。

方法核心

全部数字/机制来自 PDF 正文 Sec.III–VI + Table I/II/III + Fig.2/3。部分超参(policy 网络结构、batch size、训练步数)需查开源代码。

1. MimicGen 回顾(前提)

MimicGen 假设任务可分解为物原子任务序列 $S_1(o_1), S_2(o_2), \ldots, S_M(o_M)$,每段 $S_i(o_i)$ 在物体 $o_i$ 的坐标系下描述。把每条源 demo 切成对应片段 $\tau_i$,每段是一串末端位姿 $T_W^{C^0}, T_W^{C^1}, \ldots, T_W^{C^K}$($W$ 为世界系)。生成新轨迹时,观测当前物体位姿 $T_W^{o'}$,对源段施加等变换 $T_{o'}^W (T_W^{o_i})^{-1}$——这保证末端与物体的相对位姿在新场景中不变。在段首插入过渡位姿(从机器人当前位姿插值到段起点),再用末端控制器开环 replay 整段,循环处理所有子任务,成功才保留。三条假设:(A1) 动作 = 末端位姿 + 手指 actuation(夹爪 1D / 灵巧手 6D);(A2) 任务可分解为物原子任务;(A3) 接触前物体位姿可观。

2. 子任务三分类(关键创新,Fig.2)

DexMimicGen 把双臂子任务分成三类,每类配独立执行策略:

Parallel subtask(并行子任务):两臂独立追求各自子目标。例:Piece Assembly 开局两手分别抓 concave/convex piece。MimicGen 的"单一固定子任务序列"假设在这里失效——两只手可能不同时刻完成抓取解法:每只手单独维护子任务序列 $S^{a_1}_1(o_1), \ldots, S^{a_1}_{M_1}(o_{M_1})$ 与 $S^{a_2}_1(o_1), \ldots, S^{a_2}_{M_2}(o_{M_2})$,每只手一个 action queue,按各自节奏 dequeue;队列空了就用 MimicGen 的等变换机制填下一段。这是异步执行:两臂不要求时序对齐。

Coordination subtask(协调子任务):两臂共同完成同一目标。例:Box Cleanup 合盖、Tray Lift 抬托盘。要求两臂末端相对位姿与源 demo 对齐。解法:(a) 源 demo segmentation 时强制 coordination 子任务在两臂同一时刻结束(temporal alignment 在数据准备阶段就做好);(b) 执行时synchronization 策略——每只手在 coordination 段末尾等待对方,直到两者剩余步数相同再继续。变换方案二选一

  • Transform scheme:用"第一只手开始 coordination 子任务时的物体位姿 $T_W^{o'}$"与"源段对应物体位姿 $T_W^{o_i}$"算 $T_{o'}^W(T_W^{o_i})^{-1}$,两臂共用同一变换矩阵。
  • Replay scheme:直接 replay 源轨迹不做变换,保证轨迹在运动学可行域内、完全可执行——对 Can Sorting / Transport 的 handover 阶段特别重要。

Sequential subtask(顺序子任务):一只手的前置子任务必须先完成。例:Pouring 必须先用一只手把球倒进碗,另一只手才能端碗放到 pad 上。解法:显式声明 pre-subtask(倒球)与 post-subtask(端碗),执行 post-subtask 的那只手在 pre-subtask 完成前阻塞。

3. 数据生成流程(Tray Lift 为例,Fig.3)


Step 1: 源 demo 按臂分别 segmentation(人工标注或启发式)
        每段记录参考物体位姿;末段标为 coordination
Step 2: 场景随机化(论文难度档 0/1/2 不同 reset 分布)+ 随机选源 demo
Step 3: 迭代生成
  for each arm in parallel:
    if action_queue 空:
      用 MimicGen 等变换把源段变换到当前物体位姿
      填入 action_queue
    dequeue 一个动作执行
    若是 coordination 段:等对方对齐
    若是 sequential post-subtask:等对方 pre-subtask 完成
Step 4: 指关节动作直接 replay(指动作相对末端,无需重变换)
Step 5: 全部子任务成功执行才保留 demo;否则重来

4. 系统设计(Sec.V)

9 个仿真任务 × 3 种本体(Fig.4):

  1. 双臂 Panda + parallel-jaw gripper(OSC 控制)
  2. 双臂 Panda + 灵巧手(OSC + 指关节位置控制)
  3. GR-1 humanoid + 灵巧手IK 控制,因为 humanoid 双臂共享单个 torso,运动树复杂,OSC 不稳;用 mink 库 [73,74])

任务:Threading / Piece Assembly / Transport / Box Cleanup / Drawer Cleanup / Tray Lift / Pouring / Coffee / Can Sorting。复位分布(论文难度档 0/1/2):档 0 默认;档 1 范围更广;档 2 物体位置交换(如 Pouring 中 bowl 与 green pad 互换)。

仿真器:RoboSuite [70] + MuJoCo [71]。

遥操系统

  • parallel-jaw Panda → iPhone + RoboTurk [4,24](采手腕和夹爪动作);
  • 灵巧手 / GR-1 → Apple Vision Pro + VisionProTeleop [75] 采腕和手指位姿,OmniH2O [13] 的 retargeting 把人手指 pose 转 robot 指关节位置。需要固定初始 pose 做 human→robot calibration。

5. 实验(Sec.VI)

Setup:parallel-jaw 任务采 10 条源 demo,灵巧手任务(操作员负担重)只采 5 条;每任务 DexMG 生成 1000 条 demo;3 个 policy:BC-RNN、BC-RNN-GMM、Diffusion Policy [54];3 seeds,取每 seed 最大成功率。

总产出21K demos from 60 source demos(abstract 数字)。

关键结果(Table I)——源 demo vs DexMG 1000 条

任务source demo (DP)DexMG 1000 最佳
Drawer Cleanup0.7%80.0% (BC-RNN)
Threading1.3%69.3% (DP)
Piece Assembly3.3%80.7% (DP)
Tray Lift3.3%88.7% (DP)
Pouring0.7%79.3% (DP)
Can Sorting0.7%97.3% (DP)
Coffee14.7%84.7% (BC-RNN)
Box Cleanup62.0%94.7% (BC-RNN)
Transport52.7%83.3% (DP)

Policy 架构选择Diffusion Policy 普遍最好;有意思的是 BC-RNN-GMM 反而不如 BC-RNN / DP,尤其在灵巧手任务上——这与 RoboMimic [1] 单臂研究"加 GMM 头有益"的结论相反,作者推测双臂灵巧任务的多模态分布与单臂不同。

数据规模效应(Fig.5):100 → 500 → 1000 → 5000 demo,100→1000 提升显著,1000→5000 出现 diminishing returns(视任务而定)。

DemoNoise 基线(Table III):用同样源 demo 但只 replay + 加动作噪声。DexMG 在三个任务上高出 52–61 个百分点(Piece Assembly +61.3、Tray Lift +58.6、Pouring +52.6;论文正文表述为 ">58%" 略偏乐观)。DemoNoise 还无法生成档 1/2(只能重放源 demo 的初始配置)。

coordination 子任务的 Replay vs Transform:Transport 任务 Replay 63.3% vs Transform 46.0%;Can Sorting 两者相当(Replay 97.3% vs Transform 98.6%)。Replay 作为涉及 handover 任务的默认选择

sequential 子任务的 ordering constraint:Drawer Cleanup(BC-RNN)有约束 50.7% vs 无约束 48.0%(直接用同一源 demo 56.7%);Pouring(DP)有约束 88.7% vs 无约束 76.7%(同一源 demo 79.3%)。约束有效。

BiGym benchmark 泛化:3 个 humanoid 移动操作任务(FlipCup / DishwasherLoadPlates / CupBoardsCloseAll)各生成 1000 demo,生成成功率 29.1% / 43.6% / 76.4%。

6. 真机 Can Sorting(Sec.VI.D,real2sim2real)

  • 硬件:Fourier GR1 + 两个 6-DoF Inspire 灵巧手;2 个 Intel RealSense D435i(头戴第一人称 + 前方第三人称)。
  • Digital twin:仿真资产与真机对齐。GroundingDINO [78] 用头戴相机初始 RGB-D 帧分割物体 RGB mask,mask 内深度均值定位物体 $x,y$,初始化仿真中物体位姿。
  • 流程:4 条真机源 demo → 仿真中 replay 当 source → DexMG 生成新轨迹 → 成功的话把控制动作序列发回真机执行。Digital twin 充当真机数据生成的安全层。生成 40 条真机 demo(除环境 reset 外全自动)。
  • 结果:Diffusion Policy 训练在 40 条 DexMG 数据上 90% 成功率 vs 训练在 4 条源 demo 上 0%

为什么重要

  1. 第一个把 MimicGen 范式工程化到双臂灵巧手。MimicGen 的 SE(3) 等变换是单臂夹爪的,DexMimicGen 用"三子任务分类 + 异步队列 + 同步约束 + 顺序约束"这套最小必要扩展把双臂协调问题拆解干净——这是后续 humanoid IL 数据基础设施的关键拼图。
  2. 数据放大的杠杆率惊人:60 → 21K(350×);真机 4 → 40 demo 就能把 0% 的 policy 拉到 90%。这是灵巧 IL 摆脱"数据荒"的最直接路径。
  3. 三子任务分类法本身有方法论价值:把双臂协调问题归约到"是否需要时序对齐、是否需要顺序依赖"两个正交维度,给后续双臂系统(包括 humanoid loco-manipulation、BiGym、RoboCasa)提供了共同的 task description language。
  4. 开源生态贡献:NVlabs/DexMimicGen 与 MimicGen 主仓库打通,配合 RoboSuite / BiGym benchmark 可直接复现——这成为 2024–2025 双臂灵巧 IL 论文的标准实验基线之一。
  5. 在 T02 线索里承前启后:上接 MimicGen(单臂)、下启 HumanoidMimicGen [arXiv:2605.27724](全身 loco-manip)、GR00T Mimic / GR00T-Dreams(用 3D 生成 + Cosmos world model 进一步自动化)。这是 NVIDIA "合成数据栈"从"轨迹变换"过渡到"生成式轨迹"的中间一阶。

局限

  1. 依赖物原子任务分解 + 人工 segmentation:每加一个新任务都要人手标注子任务边界(或写启发式),不能 zero-shot 迁移到新场景。
  2. 依赖源 demo 质量与 teleop 接口:双臂 + 多指 teleop 仍需 Apple Vision Pro + OmniH2O retargeting,硬件门槛高;源 demo 不够多样时 DexMG 也救不了。
  3. digital twin 对齐成本:真机 pipeline 需 GroundingDINO 物体分割 + 深度初始化,对物体外观/几何敏感;文中只演示 Can Sorting 一任务,大规模真机泛化未证。
  4. BiGym 生成成功率 29–76%:在更多样化的 humanoid 任务上,等变换机制生成的轨迹相当一部分不可行,被 DexMG 自己丢弃——反映 MimicGen 范式在长程 mobile manipulation 上的边界。
  5. 仿真到真机的 IK 简化:humanoid 用 mink IK 控制器(非学习),不处理全身动力学/平衡;locomanipulation 场景下需要接低层 WBC(如 HOVER)。
  6. action 开环 replay:每段轨迹在末端控制器层开环执行,依赖源 demo 的运动学可行性;若新场景几何与源 demo 差异大(如更窄间隙),不重新规划就会失败。
  7. 被后续工作解决的部分
  • 长程 + 全身 → HumanoidMimicGen [2026, arXiv:2605.27724] 用 whole-body planning 把 contact-rich 技能适配到新位姿;
  • 生成式轨迹(不依赖源 demo)→ GR00T Mimic / GR00T-Dreams 用 Cosmos world foundation model 从单图 + 语言直接生成轨迹;
  • teleop 接口成本 → ACE / DOGlove / Bunny-VisionPro 系列不断降低门槛。

复现要点

基于 PDF + 开源代码 github.com/NVlabs/DexMimicGen(依赖 mimicgen + robosuite + MuJoCo)。

  • 环境:装 MimicGen + RoboSuite + MuJoCo;BiGym 任务需额外装 bigym。
  • 源 demo 采集:parallel-jaw 用 iPhone + RoboTurk;灵巧手/humanoid 用 Apple Vision Pro + VisionProTeleop + OmniH2O finger retargeting;每任务 5–10 条;human→robot calibration 必须先做(固定初始 pose 算相对变换)。
  • 子任务 segmentation:人工标注或写启发式(源 demo 中物体参考帧切换点)。coordination 段必须强制两臂同时结束,否则 synchronization 无效。
  • 三子任务类型:在 task config 里显式声明 parallel / coordination / sequential;sequential 还需声明 pre-subtask / post-subtask 索引。
  • 变换方案:默认 Transform;涉及 handover 的 coordination 段(如 Can Sorting、Transport)用 Replay。
  • 生成:每任务 1000 demo(论文配置);更大规模(5000)diminishing returns,按任务调。
  • Policy 训练优先 Diffusion Policy;BC-RNN 次之;避免 BC-RNN-GMM(与单臂 RoboMimic 结论相反)。3 seeds,每 seed 取最大成功率(与 MimicGen/RoboMimic 评估协议一致)。
  • 真机 pipeline:先在仿真搭 digital twin(RoboSuite 资产对齐真机),用头戴 RGB-D + GroundingDINO 分割物体初始化 sim 物体位姿;DexMG 生成的仿真动作序列直接发真机;除环境 reset 外全自动。
  • 常见坑:(1) coordination 段 segmentation 错位 → synchronization 卡死;(2) sequential 约束没声明 → 两臂死锁或顺序乱;(3) humanoid 用 OSC 不稳 → 换 IK;(4) 真机 digital twin 物体位姿估计偏 → DexMG 生成的动作在真机抓空;(5) Diffusion Policy 的 prediction horizon / action horizon 需配合控制频率(GR1 + Inspire 手控制频率论文未给精确值,查代码)。

相关

  • 建立在:MimicGen [Mandlekar et al. 2023, arXiv:2310.17596](直接前作,单臂范式)、RoboSuite [Mandlekar 2020] + RoboTurk [Mandlekar 2018](仿真 + teleop 框架)、Diffusion Policy [Chi et al. 2023]、BC-RNN / RoboMimic [Mandlekar 2021]、OmniH2O [He et al. 2024, arXiv:2406.08858](灵巧手 retargeting)、VisionProTeleop [75]、mink IK [73,74]、GroundingDINO [78]、BiGym [76]。
  • 同期/后续:HumanoidMimicGen [Lin et al. 2026, arXiv:2605.27724](全身 loco-manip)、GR00T N1 [NVIDIA 2025, arXiv:2503.14734](人形 foundation model,DexMG 是其数据栈一环)、GR00T Mimic / GR00T-Dreams(生成式轨迹)、DexCap [Wang 2024](便携式灵巧手 mocap)、RoboCasa。
  • 本仓库笔记交叉引用
  • T02-dataset-infrastructure.md(转折 6「程序化轨迹扩增」代表)
  • T11-dexterous-manipulation.md(转折 5「IL 学灵巧」核心一环)
  • T07-humanoid-teleop-stack.md(VisionPro teleop 数据采集侧)
  • T10-vla-wbc-integration.md(humanoid IL 数据基础设施)
  • P-HumanPlus-2024.md(同期 humanoid + shadowing,HIT 用 ACT 改造,DexMG 提供数据放大层)
  • P-OmniH2O-2024.md(DexMG 用其 finger retargeting)
  • P-GR00T-N1-2025.md(DexMG 是 GR00T 数据栈前置)
  • P-DiffusionPolicy-2023.md(DexMG 默认 policy 头)