Hana's Blog
SIMPLER 论文精读:用仿真可靠评测真实机器人操作策略Blur image
Arxiv ID 2405.05941
幻觉翻译 2405.05941
publication pending

SIMPLER 不追求仿真与现实逐帧一致,而是用控制系统辨识、真实背景绿幕和前景纹理匹配,构造能正确排序真实机器人策略的仿真评测环境。

推荐指数:

1. 论文概述#

一句话总结#

【Paper】 论文提出 SIMPLER(Simulated Manipulation Policy Evaluation for Real Robot Setups),将“在真实世界训练的机器人操作策略”放入为 Google Robot 与 WidowX/BridgeData V2 定制的仿真环境中评测。作者不要求做完整 digital twin,而是优先修正最影响评测相关性的 control gap 与 visual gap,并通过配对 sim-real 实验证明:仿真成功率能够较好地反映真实策略的相对排名、分布偏移敏感性和新型纹理鲁棒性。

SIMPLER 环境与真实评测的总体流程(论文 Figure 2)

核心贡献#

【Paper】

  1. 提出一个面向真实机器人 setup 的可复用仿真评测套件,覆盖 RT 系列 Google Robot 与 BridgeData V2 的 WidowX 任务。
  2. 用离线轨迹做 controller system identification,减少相同动作在 sim 与 real 中产生的末端轨迹差异。
  3. 提出 Visual Matching:真实背景绿幕合成 + 物体/机器人前景纹理匹配;同时比较 Variant Aggregation 这一随机化替代方案。
  4. 引入 Mean Maximum Rank Violation(MMRV),与 Pearson correlation 一起衡量“仿真是否能正确传递策略改进信号”。
  5. 开源环境、策略推理、评测脚本和新环境构建流程,使其他研究者可以用 Gym API 批量评测自己的策略。

【Analysis】 论文真正改变的是评测目标:仿真不是用来证明“这一条 rollout 和真实 rollout 完全相同”,而是用来回答“策略 A 在现实中优于策略 B 时,仿真是否也会给出 A > B”。这个相对排序目标让环境逼真度从“越高越好”变成“对决策信号是否有用”。

2. 背景与相关工作#

【Paper】 泛化操作策略覆盖的任务、物体和 embodiment 越来越多,但真实评测具有三个瓶颈:每次 rollout 需要占用实体机器人;不同实验室的相机、灯光和工作台难以复现;大规模 checkpoint 或数据增强消融的比较成本随任务数线性增长。现有 benchmark 往往固定硬件或只覆盖单一技能,难以服务 RT-1、RT-2-X、RT-1-X、Octo 这类 generalist policy。

仿真 benchmark(如 SAPIEN、ManiSkill、Isaac Sim、RLBench)能提供廉价、可控、可并行的场景,但多数工作在仿真中训练并在仿真中测试,不能保证“真实数据训练的 policy”在其中保持相同的行为。导航领域通常构造完整房间 digital twin;操作任务还要复现抓取接触、关节摩擦、物体材质和动态遮挡,完全复制现实的成本更高。

【Analysis】 SIMPLER 与传统 sim-to-real 的方向相反。它不问“sim 训练的策略能否迁移到 real”,而问“real 训练的策略能否在一个廉价 sim 中被可靠筛选”。因此 domain randomization 不再是训练时增加鲁棒性的手段,而变成评测时观察策略行为模式的对照组。

3. 问题定义#

【Paper】 给定若干策略 π1,,πN\pi_1,\ldots,\pi_N,真实评测得到成功率 RiR_i,仿真评测得到 RS,iR_{\mathcal{S},i}。目标不是要求 Ri=RS,iR_i=R_{\mathcal{S},i},而是要求二者在策略集合上的相对关系一致:如果 Ri>RjR_i>R_j,则应有 RS,i>RS,jR_{\mathcal{S},i}>R_{\mathcal{S},j}

一次 rollout 的观测是 RGB 图像和语言任务指令;动作使用 7 维末端执行器控制:世界坐标系平移增量、轴角旋转增量和夹爪开合。Google Robot 默认控制频率为 3 Hz,Bridge/WidowX 为 5 Hz;仿真内部约 500 Hz。

评测指标#

Pearson 相关系数衡量线性一致性:

r=i(RiRˉ)(RS,iRˉS)i(RiRˉ)2i(RS,iRˉS)2.r=\frac{\sum_i (R_i-\bar R)(R_{\mathcal{S},i}-\bar R_\mathcal{S})} {\sqrt{\sum_i(R_i-\bar R)^2}\sqrt{\sum_i(R_{\mathcal{S},i}-\bar R_\mathcal{S})^2}}.

【Paper】 Pearson rr 的问题是:它只看线性拟合,且对真实成功率很接近的一组策略非常敏感。论文因此定义两两策略的 rank violation:

RV(i,j)=RiRj1[(RS,i>RS,j)(Ri>Rj)],\operatorname{RV}(i,j)=|R_i-R_j|\,\mathbf{1}\left[(R_{\mathcal{S},i}>R_{\mathcal{S},j})\ne(R_i>R_j)\right],

并取每个策略最严重的错误排序,再对策略求平均:

MMRV(R,RS)=1Ni=1NmaxjRV(i,j).\operatorname{MMRV}(R,R_\mathcal{S})=\frac1N\sum_{i=1}^N\max_j\operatorname{RV}(i,j).

MMRV 范围为 [0,1][0,1],越低越好;它把“排错了多少”与“被排错的两个策略在现实中差多少”同时纳入。

4. 方法#

4.1 Overall Architecture#

SIMPLER 的控制与视觉 gap 修正组件(论文 Figure 2)

SIMPLER 的数据流可以压缩成一句话:从真实 demo 或评测视频抽取 setup 信息,建立 SAPIEN/ManiSkill 环境;用 SysID 校准机器人控制器,用 Visual Matching 或 Variant Aggregation 生成观测;把 policy action 按真实机器人接口执行,统计每个任务和策略的成功率。

4.2 核心模块#

Control Gap:离线系统辨识#

【Paper】 输入是一小批真实演示轨迹中的动作 {ai}\{\mathbf a_i\}、末端位姿 {(xi,Ri)}\{(\mathbf x_i,R_i)\} 和初始仿真控制器参数。输出是关节 PD stiffness 与 damping,使同一串开环动作在仿真中产生接近真实的 6D 末端轨迹。作者使用三轮 simulated annealing,每轮缩小搜索范围。

系统辨识前后,仿真机器人对真实轨迹的跟踪差异(论文 Figure 3)

【Analysis】 这一步不是把物理世界完全辨识出来,而是对评测最敏感的“动作到末端运动”的闭环接口做校准。对于基于视觉的策略,几厘米的抓取偏差可能就会把成功变成失败,因此控制 gap 往往比物体质量的细节更优先。

Visual Matching:让策略看到相似的画面#

【Paper】 Visual Matching 包含两个阶段:

  1. Green screening:用在线 inpainting 从真实视频首帧移除机器人和前景物体;仿真渲染得到前景 segmentation mask MM,再合成 I=MIsim+(1M)Ireal.I'=M\odot I_{\text{sim}}+(1-M)\odot I_{\text{real}}.
  2. Texture matching:对差异最大的物体,先在真实图像中分割并对齐仿真姿态,再把真实 RGB texture unproject 到仿真 mesh;机器人 link 则可直接从真实图像挑选颜色并制作多套 texture。

Visual Matching:真实背景绿幕与前景纹理烘焙(论文 Figure 4)

【Code】 官方仓库的 rgb_overlay_path 将真实背景图传给 evaluator,环境通过 segmentation mask 生成前景合成;additional_env_build_kwargs 可选择 robot_init_x/y、物体位置、相机和纹理 variant。simpler_env/utils/env/ 提供观测转换,策略只接收与真实部署相同格式的 RGB 图像。

Variant Aggregation:不匹配,而是平均多个变体#

【Paper】 作为替代方案,作者沿 background、lighting、distractor、table texture 四个轴各构造两个变体,平均所有变体的成功率。它类似 domain randomization,但用于评测而非训练。

【Analysis】 Variant Aggregation 的假设是:多个偏差的平均值会抵消单一场景的偶然性。实验却显示 Visual Matching 更可靠,说明对视觉敏感的 policy 会把“随机化范围”当成新的分布,而不是现实分布的无偏估计。

Environment Builder 与资产流程#

【Paper】 环境基于 SAPIEN 构建,机器人 URDF 来自公开仓库或 ROS 导出;常见物体来自 Objaverse,少见物体通过扫描或单视图重建;尺寸在 Blender 中校准,碰撞几何用 CoACD 生成。刚体资产使用材料密度与摩擦系数的合理近似;柜门等 articulated object 需要手工建模。最后调节机器人和相机位姿,使固定物体边缘和初始夹爪位置与真实视频大致对齐。

【Code】 README 将代码分为 ManiSkill2_real2sim/(机器人、资产和环境)、simpler_env/evaluation/(评测循环)、simpler_env/policies/(RT-1/Octo 适配)和 tools/(指标、视频、SysID)。环境通过 simpler_env.make(name) 或标准 Gym API 使用。

4.3 关键公式#

SysID 损失#

Ltransl=1Ti=1Txixi2,Lrot=1Ti=1Tarcsin(RiRiF22),\mathcal L_{\text{transl}}=\frac1T\sum_{i=1}^T\|\mathbf x_i-\mathbf x'_i\|_2, \qquad \mathcal L_{\text{rot}}=\frac1T\sum_{i=1}^T\arcsin\left(\frac{\|R_i-R'_i\|_F}{2\sqrt2}\right), Lsysid=Ltransl+Lrot.\mathcal L_{\text{sysid}}=\mathcal L_{\text{transl}}+\mathcal L_{\text{rot}}.

其中 (xi,Ri)(\mathbf x_i,R_i) 是真实末端位置与旋转,(xi,Ri)(\mathbf x'_i,R'_i) 是用同一动作在 sim 中得到的结果;(p,d)(\mathbf p,\mathbf d)(PD 参数)隐含在仿真轨迹中。平移与旋转采用相加而不是额外权重,论文未报告跨 embodiment 的单位归一化细节。

Visual Matching 合成#

MM 是仿真前景的二值 mask,IsimI_{\text{sim}} 是机器人和交互物体渲染,IrealI_{\text{real}} 是移除前景后的真实背景。该式只替换背景,阴影与遮挡仍由仿真前景近似。

分布偏移敏感性#

对某一 shift,作者报告两个变体相对 base 的平均变化:

ΔSuccess(shift)=12k=12(Success(shift,k)Success(base)).\Delta\operatorname{Success}(\text{shift})=\frac12\sum_{k=1}^{2}\left(\operatorname{Success}(\text{shift},k)-\operatorname{Success}(\text{base})\right).

4.4 Training#

SIMPLER 本身不训练新的 robot policy;训练对象是被评测的 RT-1、RT-1-X、RT-2-X 或 Octo,论文只使用其公开 checkpoint 和真实数据。SIMPLER 的“训练阶段”更准确地说是环境 calibration:从离线 demonstration 中抽取轨迹,优化控制参数,并准备背景、mesh、texture 与相机姿态。

Algorithm 1 SIMPLER 环境校准
输入:
真实演示轨迹、机器人 URDF、对象资产、真实视频首帧与初始 PD 参数。
输出:
可执行的 SIMPLER 环境、校准后的控制器和 Visual Matching 纹理。
  1. 从真实轨迹读取动作、末端位姿和相机/机器人初始状态。
  2. 在仿真中回放动作,计算平移与旋转 tracking loss。
  3. 对 stiffness/damping 做三轮 simulated annealing,保留最低 SysID loss 的参数。
  4. 建立场景与碰撞几何,调节尺寸、密度、摩擦、相机和初始位姿。
  5. 选择 Visual Matching(背景合成与纹理匹配)或 Variant Aggregation(生成变体集合)。

4.5 Inference#

【Paper】 推理时 policy 从仿真 RGB 与语言指令产生动作;Google Robot 以 3 Hz、WidowX 以 5 Hz 发送控制命令,底层在约 500 Hz 仿真频率下执行。长时程任务完成一个 subtask 后,环境更新语言指令并继续,直到最终成功或 episode 截止。

Algorithm 2 SIMPLER policy rollout
输入:
初始化后的仿真环境、语言任务、被评测 policy 和场景/纹理 variant。
输出:
episode success/failure、视频、动作轨迹与 success rate。
  1. reset 环境,读取 RGB observation 和语言 instruction。
  2. 将图像与 instruction 输入 policy,得到 7D action 和 terminate 信号。
  3. 把平移、轴角旋转和 gripper 拼接后调用 Gym env.step
  4. 若进入下一个 subtask,读取新 instruction;否则继续当前任务。
  5. 遍历 robot/object pose、纹理或随机种子,汇总成功率并计算 MMRV/Pearson。

4.6 代码实现对照#

【Code】 simpler_env/evaluation/maniskill2_evaluator.pyrun_maniskill2_eval_single_episode 是实际 rollout 核心:构造 obs_mode="rgbd" 环境,设置 sim_freq=513control_freq、最大步数和 segmentation camera;reset 时传入机器人初始位置/四元数及物体位置或 episode id。每个时间步调用 model.step(image, task_description),把 world_vectorrot_axanglegripper 拼成 7D action,再调用 env.step

【Code】 simpler_env/policies/octo/octo_model.py 默认维护长度为 2 的 image history,预测 horizon 为 4、执行 horizon 为 1,并用 ActionEnsembler 融合重叠预测;这说明论文中的“policy inference”在代码里还包含具体的 action chunking 与 ensemble 策略。RT-1 适配位于 simpler_env/policies/rt1/rt1_model.py

【Code】 simpler_env/utils/metrics.py 固化了论文中的 REAL_PERFSIMPLER_PERF,并实现 pearson_correlationmean_maximum_rank_violation。该文件还把每个 checkpoint 的 success rate 转成无序 trial 结果,以便进行 Kruskal–Wallis 分布检验。

【Analysis】 代码与论文的边界很清楚:论文提出“怎样设计有信息量的环境”,代码负责“如何批量运行 policy、保存视频并汇总指标”。因此复现实验时不能只安装环境;还要保证 policy 的 action ordering、控制频率、相机输入和 episode termination 与真实 setup 一致。

5. 实验#

5.1 Experimental Setup#

【Paper】 作者在 Google Robot 任务上评测 RT-1(converged、15% 和 begin checkpoint)、RT-1-X、RT-2-X、Octo-Base;在 BridgeData V2/WidowX 上评测 RT-1-X、Octo-Base、Octo-Small。Google Robot 的仿真结果对四种 arm/gripper texture 求平均,Octo 额外对三个随机种子求平均;总计约 1500 个配对 sim-real episodes。

任务包括 pick coke can、move near、open/close drawer、place apple in closed drawer,以及 WidowX 的 spoon-on-towel、carrot-on-plate、stack-cube、put-eggplant-in-basket 等刚体操作。

5.2 Main Results#

BridgeData V2 上真实与仿真成功率(论文 Figure 6)

【Paper】 Google Robot 三个任务上,Validation MSE、Variant Aggregation、Visual Matching 的平均指标如下:

评测协议MMRV ↓Pearson rr
Validation MSE0.3750.308
SIMPLER-VarAgg0.1430.778
SIMPLER-VisMatch0.0560.924

按任务看,Visual Matching 在 Pick Coke Can 的 MMRV/Pearson 为 0.031/0.976,在 Drawer 上为 0.027/0.942。论文报告 RT-1 Converged 与 RT-2-X 在 Google Robot 上通常同时获得较高 real/sim 表现,RT-1 Begin 与 RT-1-X 较低;BridgeData V2 上 Octo-Small 整体优于 Octo-Base 与 RT-1-X。个别 policy 对视觉差异敏感,例如 RT-1 15% 和 Octo-Base 的 sim-real 成功率变化明显。

SIMPLER 的 real-sim 策略排序散点图(论文 Figure 1)

【Analysis】 结果支持的不是“仿真成功率就是现实成功率”,而是“SIMPLER 的排序错误通常只发生在现实成功率接近的策略之间”。这正是 MMRV 比单纯 Pearson 更适合 checkpoint selection 的原因。

5.3 Ablation Study#

不同分布偏移下的成功率变化(论文 Figure 8)

【Paper】 SysID 消融中,论文给出的 control loss/MMRV 为:未校准设置 0.267/0.070、另一组参数 0.432/0.100,SIMPLER SysID 达到 0.131/0.031。视觉消融中,仅调整 drawer 或 robot texture、或只做 green-screen 都不能稳定改善相关性;同时使用 green-screen、drawer matching 与 robot matching 时,MMRV 为 0.050、real-sim success gap 为 0.136,最佳。

物理属性消融改变空可乐罐密度、夹爪静摩擦和柜门关节摩擦,成功率最多变化约 15%,但在合理参数范围内 MMRV 仍低、Pearson 仍高。把 Google Robot 环境移植到 Isaac Sim 后也保持良好相关性,说明对于这些以刚体为主的任务,具体 simulator 不是决定性因素。

SAPIEN 与 Isaac Sim 的比较(论文 Figure 10)

5.4 Generalization#

【Paper】 作者沿 background、lighting、distractors、table texture、camera pose 五个轴测试分布偏移。仿真和真实都显示 camera pose 与 table texture 影响较大,lighting 与 distractors 影响较小;对 solid table color 的平均下降约 4%(sim 约 2%),patterned texture 的下降约 25%(sim 约 24%)。

更有说服力的是新偏移预测:仿真中 Octo-Base 使用未调 arm texture 的成功率为 0%,换成 tuned texture 后为 29.3%,而 RT-1-X 对 arm texture 更鲁棒。真实世界把机械臂包上不同礼品包装纸后,仍观察到 Octo-Base 比 RT-1-X 更敏感,说明 SIMPLER 可以预测未在校准阶段显式设计的行为模式。

6. 方法分析#

6.1 为什么有效?#

【Analysis】 有三层原因:

  1. 先校准 action-to-motion 接口。 操作策略的错误常由抓取时序和末端位姿累积产生,SysID 直接最小化这类轨迹差。
  2. 把视觉差异集中到 policy 真正看到的像素。 绿幕保留真实房间背景,纹理匹配覆盖高敏感前景,避免为所有墙面和灯具做昂贵建模。
  3. 评测相对关系而非绝对值。 即使摩擦、阴影或接触仍不完美,只要这些误差不会系统性地改变策略排序,sim 就能作为开发信号。

6.2 核心创新#

【Paper】 创新不是新的 policy architecture,而是一个可操作的 evaluation system:用 offline data 做控制校准、用半自动视觉合成降低建模成本、用 MMRV 定义评测质量,并以 paired experiments 验证这些选择。

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

方向训练/评测方向目标SIMPLER 的区别
Sim-to-real/domain randomizationsim 训练 → real 部署提高迁移成功率real 训练 → sim 评测,关心排序信号
Digital twin尽可能复刻一个场景逐帧/物理逼真只建“足够能排序”的环境
Validation action MSE离线动作误差选择 checkpoint直接执行闭环 policy,结果更贴近真实行为
传统 rank correlation只比较名次检查排序MMRV 还惩罚大幅度的错误排序

6.4 关键假设#

【Paper】 该方法隐含四个假设:任务主要是刚体操作;真实 setup 的背景和相机在 episode 内近似固定;少量 demonstration 足以辨识关键控制参数;策略的真实性能差异不会被仿真误差完全淹没。

【Analysis】 如果两个策略只相差 1–2 个百分点,或者策略利用了仿真中不存在的接触细节,MMRV 也无法把不可辨识的差异恢复出来。SIMPLER 更适合做“粗粒度模型选择与鲁棒性诊断”,而不是替代最终真实验收。

7. 局限性#

7.1 作者明确提出的局限#

【Paper】 当前环境集中在刚体物体,尚未覆盖布料、软体和复杂可变形物体;green-screen 假设固定相机,不能准确建模真实阴影等细节;环境创建仍需人工整理资产、构造 articulated object 和调纹理,距离自动生成成千上万个高质量场景还有差距。

7.2 自己分析得到的局限#

【Analysis】

  • 校准数据与评测分布耦合。 如果 demonstration 只覆盖一种夹爪姿态,SysID 得到的参数未必适用于新的动作幅度或负载。
  • 策略输入接口仍可能不一致。 真实系统的延迟、压缩、曝光和 proprioception 若没有在 simulator 中复现,视觉匹配只能修正外观,不能修正时序差。
  • 成功标签比较粗。 二元 success rate 无法解释“抓住但放置偏了”等中间行为;视频和 episode stats 仍需人工审计。
  • MMRV 依赖策略集合。 增加一个极差或极好的 policy 会改变平均 rank violation,因此跨论文比较时必须固定 checkpoint 集合和任务集合。
  • GPU 与环境依赖重。 官方代码要求 NVIDIA GPU、特定 CUDA/NumPy 版本,并依赖 ManiSkill2 子模块;这会削弱“可复现”的门槛优势。

8. 启发与研究思考#

  1. 评测环境也可以被学习。 可以把 MMRV 作为环境设计的 outer-loop objective,自动搜索相机、材质和控制参数,而不是手工决定哪些 gap 值得修正。
  2. 从排序扩展到诊断。 将 success rate 换成失败类型、接触阶段和动作延迟的分布,可构造“策略行为谱”,帮助定位是视觉、控制还是长时程规划导致失败。
  3. 为 VLA checkpoint 选择提供低成本闭环。 训练期间每隔若干步在 SIMPLER 上跑一次,可能比保存 validation MSE 更早发现策略已经学会或遗忘某种 embodiment 技能。
  4. 面向动态和软体任务的下一步。 对布料、液体和双臂协作,单纯刚体 simulator 不够;可以把可微物理、视频预测器和真实短片段校准结合起来,保持“相对性能相关”这一目标。
  5. SIMPLER 的经验可迁移到其他 benchmark。 任何希望用 sim 做 offline policy selection 的系统,都应同时报告绝对误差、Pearson/Spearman 和带幅度的 rank violation,并公开 real-sim paired 数据。
SIMPLER 论文精读:用仿真可靠评测真实机器人操作策略
https://agusexp25.top/blog/paper-deep-dive-simpler
Author 菊花花
Published at August 27, 2026