Hana's Blog
SIM1 论文精读:让变形物理模拟成为零样本数据扩展器Blur image
Arxiv ID 2604.08544
幻觉翻译 2604.08544
publication pending

SIM1 用真实场景数字化、变形稳定 AVBD 求解器和扩散轨迹生成构造 R2S2R 数据引擎,使纯仿真训练策略在衣物折叠上实现零样本 sim-to-real。

推荐指数:

1. 论文概述#

【Paper】 《SIM1: Physics-Aligned Simulator as Zero-Shot Data Scaler in Deformable Worlds》研究一个很具体、但对具身学习很关键的问题:衣物的形状、接触和拓扑不断变化,真实示教昂贵,而传统刚体模拟生成的数据很难直接迁移。作者的判断是,模拟失败的根因不是“合成”,而是没有被真实世界约束。

SIM1 的 real-to-sim-to-real 总览(论文 Figure 1)

一句话总结#

【Analysis】 SIM1 把数据扩展问题改写成对齐问题:先把真实场景做成有公制尺度的数字孪生,再用稳定的软体动力学和人类式运动生成,让仿真样本不仅“看起来像”,而且在机器人控制下“反应得像”。

核心贡献#

【Paper】

  1. 提出面向变形物体的 real-to-sim-to-real(R2S2R)数据引擎,统一处理几何、动力学和运动三类 sim-real gap。
  2. 用高精度扫描与网格后处理得到带纹理、亚毫米级几何精度的衣物资产;用 ARX ACONE 的 URDF 对齐双臂机器人。
  3. 在 Newton/VBD 基础上加入 Augmented Vertex Block Descent(AVBD)式应变约束,减少实时抓取、拉伸时的过度变形与接触不稳定。
  4. 将示教轨迹拆成 interaction 与 moving 区段,用 diffusion-based trajectory generation 补全运动,并以规则和视频判别器过滤失败样本。
  5. 在真实 T-shirt folding 上,纯合成数据训练的策略达到 90%(π0.5\pi_{0.5})零样本成功率,并报告约 1:15 的合成/真实样本等价关系。

2. 背景与相关工作#

【Paper】 刚体操作可以依赖成熟的资产库、抓取点和 pick-and-place primitive;衣物操作则同时受到连续形变、摩擦、遮挡和接触拓扑变化影响。少量真实示教覆盖不了这些状态,导致 VLA 或 imitation policy 在训练分布外快速失效。

传统 S2R 往往从随机化开始,但随机化只能扩大“错误模拟”的覆盖范围。SIM1 强调先做 R2S:几何尺寸要对应,机器人运动要对应,软体响应也要对应;只有在这个基础上,合成数据的规模才有价值。与只做资产重建的方案相比,本文还把在线软体求解和运动生成纳入同一个闭环。

3. 问题定义#

【Paper】 给定少量真实或仿真遥操作轨迹 D={τi}D=\{\tau_i\}、真实工作空间的机器人和衣物,SIM1 需要生成一批带 RGB、机器人状态和动作的合成轨迹 D~\tilde D,使只用 D~\tilde D 训练的 policy 能在真实机器人上执行。

维度SIM1 的设定
Observation仿真中渲染的头部相机 RGB、双臂状态与衣物粒子/网格状态
Action Representation双臂关节/末端位姿轨迹与夹爪开合;扩散模块使用 16 维 EE 向量(左右各 3D position、四元数和 openness)
Policy论文评估 π0.5π_{0.5}π0π_0,合成数据以 LeRobot 格式导出供 imitation learning
Robot / EmbodimentARX ACONE 双臂;仿真遥操作使用 ARX X5 映射到模拟机器人
Dataset1,000 条真实轨迹、200 条仿真源轨迹;生成数据最多扩展到 10k 条
TaskT-shirt folding 为主,另展示 towel flipping、shorts/long-sleeve folding、crumpled garment flattening

【Analysis】 这里的目标不是学习一个“更强的模拟器评分”,而是让模拟器生成的监督在真实控制闭环中保持有效;因此最终指标必须是 real-robot success,而非仅仅是渲染逼真度。

4. 方法#

4.1 Overall Architecture#

SIM1 三阶段框架:场景数字化、变形稳定物理模拟与结构化轨迹合成(论文 Figure 2)

【Paper】 数据流是:真实场景扫描与资产导入 → 通过行为匹配校准的软体模拟 → 轨迹分解、扩散补全、质量筛选和外观随机化 → 输出可用于策略训练的合成 episode。

4.2 核心模块#

SIM1-Scene:真实场景数字化#

【Paper】 衣物安装在 mannequin 上,用 EinScan Rigil Pro 获取多视角 RGB 与 LiDAR,融合成点云后移除 mannequin 点,再进行 Poisson reconstruction、补洞、平滑和 remeshing,最终得到带纹理的 OBJ。文中称几何精度可达亚毫米级。机器人则直接导入厂商 CAD 生成的 URDF,并校正根坐标与双臂相对标定;桌面等环境资产按真实测量尺寸放置。

【Analysis】 这个模块的关键不是把照片变成漂亮 mesh,而是保留接触点、桌面高度和双臂工作空间的公制关系。衣物尺寸偏差会同时改变碰撞、摩擦和可达性,后续求解器再准确也无法补偿这种系统误差。

SIM1-Sim:变形稳定的刚柔耦合#

AVBD 应变约束与双向行为校准(论文 Figure 3)

【Paper】 cloth mesh 的顶点是粒子、边是连接关系。每次外力作用后,先运行 Newton-VBD 更新,再检查每条边的伸长;超过阈值时激活虚拟弹性约束,把额外的拉力加入下一轮顶点优化,从而快速传播接触引起的应变。

【Paper】 模拟参数 Θ={ρ,E,ν,μ,η,ζ}\Theta=\{\rho,E,\nu,\mu,\eta,\zeta\} 分别表示密度、Young’s modulus、Poisson’s ratio、摩擦、恢复和 relaxation。作者不声称恢复真实材料参数,而是把真实双臂关节流送入模拟器,再比较布料下垂、折叠和接触行为,人工迭代参数直到达到操作层面的行为一致。

SIM1-DataGen:结构化变形操作合成#

【Paper】 轨迹被拆成 interaction segments 与 moving segments。稳定抓取与接触片段直接从示教池中重用并随机重排;片段之间的运动由 conditional diffusion 根据历史和边界 pose 补全。这样做避免了在变形物体上自动寻找可靠 grasp point,也避免把接触片段粗暴切断。

【Code】 官方 components/datagen/splitter.pySplitterFine 通过双夹爪位置变化阈值(默认 stable_thresh=0.01)检测 stable/moving 区间,合并相邻状态并把过短 stable 段并入 moving。components/datagen/datagen_core.pyDataGenerator 将稳定段组织成带 history/src/tgt/traj/mask/lengths 的 batch,送入 diffusion flow;扩散输出再经过 EE 轨迹平滑和 IK 转换回关节序列。

质量筛选与外观随机化#

【Paper】 首先用衣物粒子状态的规则快速剔除明显失败样本,再训练 ResNet-18 + Transformer 的二分类视频判别器 D(V)D(V)。只有 D(V)>τdiscD(V)>\tau_{disc} 的轨迹进入 Blender 渲染;材质、灯光和相机参数被随机化,最后连同机器人状态与动作写成 LeRobot 数据。

【Code】 video_filtter.py 将正负视频按较小类平衡采样,抽取固定采样率的最多 8 秒片段,ResNet-18 提取每帧特征后由 Transformer 聚合,输出有效性分数。filter_cloth_quality.py 读取 replay USD 的最后一帧衣物顶点,用 zmaxz_{max}yminy_{min} 阈值过滤;位置随机化时先用 Kabsch 对齐到参考 USD。代码中的过滤器是可解释的后处理,并非论文中所称的端到端可微物理判定。

4.3 关键公式#

应变约束#

对连接顶点 i,ji,j 的边 ee,静止长度为 l0l_0,最大允许伸长比例为 ξ\xi

C(e)=eiej(1+ξ)l00.C(e)=\|e_i-e_j\|-(1+\xi)l_0\le 0.

C(e)>0C(e)>0 时约束激活。ei,ejR3e_i,e_j\in\mathbb R^3 是当前顶点位置,ξ\xi 控制允许的局部拉伸量。它把“布料不能被瞬间拉长太多”写成可检测的局部条件。

约束能量与增广更新#

Estrain(n)(e)={12k(n)C(e)2+λ(n)C(e),C(e)>00,otherwiseE_{strain}^{(n)}(e)= \begin{cases} \frac12 k^{(n)}C(e)^2+\lambda^{(n)}C(e),&C(e)>0\\ 0,&\text{otherwise} \end{cases}

其中 k(n)k^{(n)} 是第 nn 次 Newton 迭代的 penalty stiffness,λ(n)\lambda^{(n)} 累积约束力。参数更新为:

k(n+1)=min(kmax,k(n)+βC(e)),λ(n+1)=λ(n)+k(n)C(e).k^{(n+1)}=\min(k_{max},k^{(n)}+\beta|C(e)|),\qquad \lambda^{(n+1)}=\lambda^{(n)}+k^{(n)}C(e).

【Analysis】 逐步增加刚度比一次性设置很大 stiffness 更适合实时交互:先允许求解器找到可行方向,再逐渐把过度伸长压回阈值,降低局部发散风险。

扩散轨迹目标#

给定干净轨迹 x0x_0、噪声/掩码等级 kk、历史 hh 以及起止 pose ps,pep_s,p_e,论文训练 transformer 预测噪声残差:

minθ  E[ϵϵθ(g(x0,k);h,ps,pe,k)22].\min_\theta\;\mathbb E\left[\|\epsilon-\epsilon_\theta(g(x_0,k);h,p_s,p_e,k)\|_2^2\right].

gg 是把轨迹扰动到等级 kk 的 corruption function,ϵ\epsilon 是真实噪声,ϵθ\epsilon_\theta 是条件模型输出。推理时它补全 interaction 片段之间的 moving 区间,而不是重新生成已经验证过的抓取接触。

4.4 Training#

【Paper】 流程从 200 条仿真遥操作源轨迹出发。轨迹先按稳定/移动状态分段,再随机重用接触片段并用 diffusion 生成中间运动;规则过滤和视频判别器移除无效 episode,Blender 进行材质、灯光、相机随机化,最终生成 RGB、状态和 action 对齐的数据。

【Code】 run_pipeline.shapps/datagen_app.py --use_dp --mode fine、Kalman 平滑、apps/replay_app.py、关节可达性过滤和衣物质量过滤串起来。DataGenerator.__init__ 当前实现会将 use_dp 固定为 True 并加载 flow_ckpt_three.pth;因此 README 中的“可选 DP”在该入口上实际是强制启用的。生成后 ee16_to_joint() 为每个 16 维末端向量调用 Newton IK,并附加夹爪开合限制。

Algorithm 1 SIM1 synthetic-data training pipeline
输入:
真实场景资产、少量示教轨迹 DD、扩散 checkpoint 与随机化配置。
输出:
通过筛选的 LeRobot 风格合成数据集 D~\tilde D
  1. 扫描并后处理衣物 mesh,导入机器人 URDF 与环境资产,建立 metric-consistent scene。

  2. 将示教分为 stable interaction 与 moving 区段,随机采样可复用的接触片段。

  3. 以历史、起止 pose 和扰动轨迹为条件运行 diffusion,补全片段间的运动。

  4. 在 AVBD/Newton 中 replay,执行关节/末端可达性与衣物粒子质量检查。
  5. 用视频 discriminator 保留高质量 episode,并在 Blender 中做材质、灯光和相机随机化。

  6. return

    导出同步 observation、robot state 与 action,供 imitation policy 训练。

4.5 Inference#

【Paper】 训练好的 policy 只接收真实机器人 RGB 与状态,不需要额外 real-data fine-tuning。真实控制器执行一段 action 后获得下一帧观测,整个过程是闭环的;论文把这种从纯仿真训练到真实部署称为 zero-shot sim-to-real。

【Code】 官方仓库主要开源数据生成、replay、过滤、渲染和 LeRobot 转换,并提供 replay_batch.sh 等脚本。真实 VLA policy 的训练/部署控制器不在该仓库中,因此动作执行频率、低层控制器和 checkpoint 细节应以论文实验系统为准,不能从代码仓库推断。

Algorithm 2 SIM1 zero-shot real-robot deployment
输入:
仅由合成数据训练的 policy、真实相机观测 oto_t 与机器人状态。
输出:
真实双臂执行的衣物操作轨迹。
  1. 将真实场景观测与训练时同构的相机/状态输入 policy。
  2. 预测当前控制周期的一段双臂动作或末端目标,并交给低层控制器。
  3. 执行动作、读取衣物和机器人新状态,保持闭环反馈。
  4. 重复至衣物达到目标折叠构型;无需真实示教再训练。

4.6 代码实现对照#

论文概念官方代码位置实际行为
场景与资产路径scripts/sim1_asset_paths.py, download_assets.sh从 Hugging Face bundle 查找 aconeclothmodel 与参考 NPZ
轨迹分段components/datagen/splitter.py按夹爪变化阈值检测 stable/moving,并合并短片段
Diffusion DataGencomponents/datagen/datagen_core.py, components/datagen/traj_df/对 16 维 EE 特征做归一化、flow inference、平滑,再 IK 到关节空间
物理 replayapps/replay_app.py, newton/重放轨迹并写出 NPZ/USD;求解器实现基于 Newton/Warp
质量过滤scripts/filter_joint_unreachable.py, scripts/filter_cloth_quality.py关节跳变/EE 可达性检查,加 USD 顶点阈值与 Kabsch 对齐
渲染和导出components/render/, components/lmdb2lerobot/Blender 随机化渲染,转换为 LeRobot 风格数据
论文中的 policy未在仓库完整提供论文报告 π0.5π_{0.5} / π0π_0 结果,但官方仓库重点是模拟与数据栈

5. 实验#

5.1 Experimental Setup#

SIM1 的真实/仿真采集与泛化评测设置(论文 Figure 4)

【Paper】 真实环境用 ARX ACONE 双臂和 kinesthetic teaching 收集 1,000 条轨迹;仿真在 RTX 4090 上运行,操作员通过 ARX X5 做同构遥操作,得到 200 条种子轨迹。每个配置评估 30 次,成功定义为衣物达到目标折叠构型且没有掉落或重新展开。

训练数据包括 200 条真实/仿真源轨迹或扩展后的 10k synthetic samples。泛化测试分别改变空间位置(平移最多 8 cm、旋转 ±15°)、衣物/桌面纹理及摩擦、灯光强度/方向和相机高度(±5°)。

SIM1 生成的多衣物、多任务与多环境资产(论文 Figure 5)

5.2 Main Results#

真实机器人 zero-shot sim-to-real 部署与跨衣物泛化(论文 Figure 9)

【Paper】 主要结果如下:

SIM1 的 in-domain 与 out-of-domain 成功率(论文 Figure 7)

评测结果
π0.5\pi_{0.5} in-domain真实数据 97%,sim-teleoperated 87%,sim-generated 90%
π0.5\pi_{0.5} from scratch真实数据 0%,合成数据 76%
π0\pi_0 zero-shot / 泛化论文摘要报告 zero-shot 76%,泛化提升 +56%
泛化收益(π0.5\pi_{0.5}spatial +50%,texture +13%,lighting +47%,viewpoint +40%(相对真实基线)
跨衣物部署未见过的 polo shirt 上,合成策略 70%,真实数据基线 20%

【Analysis】 这些数字支持两个层次的结论:在相同数据量下,物理对齐模拟可以接近真实示教;当数据规模扩大时,随机化带来的覆盖度开始超过少量真实数据的覆盖度。from-scratch 对照也说明结果并非完全依赖 π0.5\pi_{0.5}π0\pi_0 的已有操作先验。

5.3 Ablation Study#

SIM1 的数据规模曲线与模块效果(论文 Figure 8)

【Paper】 消融表明模块是逐步累积的:

方法Pass rate平均 success
Baseline(刚体式轨迹策略)0%-
+ trajectory decomposition65%0%
+ diffusion-based generation38%33%
+ deformation-stable solver40%76%

仅分段可以产生样本,但片段衔接不连续;加入 diffusion 后动作更像人类、in-domain 成功率达到 47%;加入变形稳定求解器后平均成功率提升到 76%,说明运动生成的外观合理并不等于接触动力学正确。

【Paper】 Figure 8 的拟合曲线给出数据等价关系:代表性的 π0.5\pi_{0.5} in-domain 约 15 条 synthetic samples 才能提供 1 条 real demonstration 的训练价值;texture generalization 场景约为 5:1。这里的等价点来自拟合曲线,不应理解为所有任务和数据规模都固定遵循 15:1。

5.4 Generalization#

【Paper】 Figure 6 展示 towel、shorts、长袖衣物和皱衣服等任务,说明数据生成管线并不绑定单一 T-shirt folding。真实部署还测试了训练和模拟中没有出现的 polo shirt,体现对材质、尺寸和纹理变化的迁移。

【Analysis】 泛化提升主要来自两种覆盖的叠加:几何/动力学对齐降低了合成监督的偏差,外观与位姿随机化扩大了视觉分布。若只做后者,模型可能学到大量与真实接触不一致的视觉捷径。

6. 方法分析#

6.1 为什么有效?#

【Analysis】 SIM1 的有效性来自三个误差源同时被约束:metric mesh 让碰撞位置对,AVBD 让接触下的应变传播对,interaction-preserving trajectory synthesis 让动作语义和接触时刻对。三者缺一时,数据会在策略训练中形成互相矛盾的视觉、状态与 action 标签。

6.2 核心创新#

  1. 【Paper】对齐优先于规模:把 R2S 作为合成扩展的前置条件,而不是训练后再做 domain adaptation。
  2. 【Paper】面向实时刚柔耦合的稳定求解:应变约束在接触拉伸时自适应激活,而非只追求离线 cloth simulation 的高精度。
  3. 【Paper】接触片段复用 + 运动扩散补全:保留最难生成的 grasp/contact,生成相对容易的 moving transition。
  4. 【Analysis】质量筛选成为数据生成的一等公民:宁可丢弃失败样本,也不把物理错误传播给 policy。

6.3 与已有方法的本质区别#

【Analysis】 MimicGen 一类刚体方法可以把轨迹按抓取点切片后重组;SIM1 不假设 deformable object 存在稳定可检测的 grasp primitive,而是从示教中直接复用接触片段。普通 domain randomization 只改变外观或位姿;SIM1 先校准行为,再随机化外观。单纯高保真 soft-body solver 也不够,因为它还需要在线双臂控制映射、轨迹生成与质量过滤才能成为数据引擎。

6.4 关键假设#

  • 【Paper】 少量示教中的 interaction segment 足以覆盖任务所需的有效接触模式。
  • 【Paper】 通过专家视觉反馈可以把材料参数调到操作层面的行为一致,但不保证物理参数真实可辨识。
  • 【Analysis】 训练和部署的机器人、相机布局与动作接口足够同构;若 embodiment 或控制频率变化很大,sim-real gap 仍可能重新出现。
  • 【Analysis】 粒子阈值与视频判别器能筛掉主要失败模式;对极端遮挡、粘连或拓扑改变,过滤器可能失去判别力。

7. 局限性#

7.1 作者明确提出的局限#

【Paper】 材料校准仍需要针对每种衣物由专家调参,限制了对任意 cloth type 的全自动扩展。作者也只在有限真实任务上验证了 zero-shot transfer,不能据此断言所有变形物体都能达到相同收益。

7.2 自己分析得到的局限#

  1. 【Analysis】 几何扫描、mannequin 分割、纹理映射和 URDF 标定本身是昂贵的工程流程;“减少真实示教”不等于消除现实采集成本。
  2. 【Analysis】 论文中的参数匹配依赖人工视觉判断,可能存在操作者偏差,也缺乏统一的行为距离指标。
  3. 【Analysis】 视频 discriminator 的正负样本来自模拟失败,若模拟器没有覆盖某种真实失败,过滤器无法发现分布外风险。
  4. 【Code】 官方仓库开源的是模拟/生成栈,真实 policy 的训练和部署控制器并不完整公开,复现实验成功率仍需要额外系统组件。
  5. 【Analysis】 1:15 等价关系来自特定任务和拟合区间;在更复杂的衣物拓扑、双手遮挡或高摩擦材料上,合成数据的边际收益可能饱和得更早。

8. 启发与研究思考#

【Analysis】 SIM1 给具身数据扩展一个值得推广的顺序:先问“模拟中的 action 是否会让物体以真实方式变化”,再问“如何随机化更多外观”。对未来工作,我认为有三条路线很自然:

  • 用可观测的布料轨迹、接触事件和成功率替代纯人工材料调参,形成自动 system identification。
  • 把规则过滤器、视频判别器与真实少量回放组成 active data curation,让失败样本反过来更新模拟器。
  • 将 R2S2R 的对齐信号暴露给 VLA policy,例如把应变、接触和不确定性作为辅助监督,减少策略只依赖纹理线索。

【Analysis】 论文最重要的启示并不是“仿真可以取代真实数据”,而是“只有行为对齐的仿真才具有可扩展的监督价值”。在变形操作中,几何、动力学和动作生成必须作为一个系统共同验证。

SIM1 论文精读:让变形物理模拟成为零样本数据扩展器
https://agusexp25.top/blog/paper-deep-dive-sim1
Author 菊花花
Published at August 27, 2026