【RoboDojo】仿真与真实双轨机器人操纵基准:测试流程与防作弊机制深度解析

摘要

RoboDojo 是一个将仿真评测与真实机器人评测统一到同一套协议下的通用操纵策略基准:RoboDojo-Sim 基于 Isaac Sim 异构并行仿真,覆盖 42 个任务、5 个能力维度,以 3 组随机种子报告均值与标准差;RoboDojo-RealEval 则用标准化真机工作站把 18 个真实任务开放给远程云端 24 小时连续评测,覆盖 3 种机械臂具身。两条管道都通过 XPolicyLab 统一接入,并靠"隐藏布局一致性验证"防止策略在公开测试集上过拟合或被人工调参。本文梳理其测试流程、评分口径与防作弊协议,并指出工程实现中值得借鉴的细节。


论文 :RoboDojo: Scaling the Himalayas of Manipulation

代码 :robodojo-benchmark/RoboDojo


一、问题背景

通用机器人操纵策略(Generalist Manipulation Policy)这几年快速涌现出 VLA(Vision-Language-Action)、WAM、Agent 式策略等多种范式,但评测长期存在两个割裂:

  1. 仿真评测和真实评测互不相通。仿真基准(如早期的 RoboTwin)能跑大规模域随机化和多随机种子统计,却无法回答"这套策略换到真机上还行不行";真机评测则因为场地、硬件、复位流程不统一,几乎没有可横向比较的公开榜单。
  2. 公开测试集容易被"刷榜"。只要评测布局(场景摆放、物体位置等)长期公开,策略就有被直接在该分布上过拟合甚至人工调参的空间,分数会脱离真实泛化能力。

RoboDojo 的动机就是针对这两点给出统一方案:用同一套接口(XPolicyLab)把仿真和真实两条评测管道接起来,让一个策略"只集成一次、两边都能跑";同时引入隐藏布局机制,把"公开分数"和"隐藏分数"的一致性作为能否正式上榜的门槛。

二、核心方法

2.1 整体架构:一次集成,两条管道并行评测

通用策略经 XPolicyLab 接入后并行跑 Sim 与 RealEval 两条评测管道

图 1:策略经 XPolicyLab 统一接入层集成一次后,同时流入 RoboDojo-Sim(仿真)与 RoboDojo-RealEval(真实)两条评测管道,二者的分数之外都要经过隐藏布局验证才能汇入官方榜单。来源:重绘自官方评测协议文字描述,原始素材中无此整合视图。

官方首页的概览图直观展示了"仿真 + 真实"两端各自的任务规模与关注点:

Simulation 42 任务 5 维度 / Real-World 18 任务 3 具身

图 2:官网首页概览图,左侧标注仿真端 42 任务、5 个能力维度(Generalization/Memory/Long-Horizon/Precision/Open),右侧标注真实端 18 任务、3 种具身;下方榜单截图还列出了当前仿真/真实两端排名靠前的策略(Hy-Embodied-0.5-VLA、Spatial-Forcing、Pi0.5、X-VLA 等)。来源:RoboDojo 官网首页。

2.2 RoboDojo-Sim:异构并行仿真 + 多维度能力拆解

RoboDojo-Sim 跑在 Isaac Sim 上,用"异构并行"(同时铺开多个不同任务/场景的仿真实例)换取吞吐量。42 个任务被归入 5 个能力维度,分别考察:

  • Generalization(泛化):物体/场景变化下的鲁棒性;
  • Memory(记忆):需要利用历史观测或任务状态的任务;
  • Precision(精度):对抓取/放置精度要求高的任务;
  • Long-Horizon(长时序):多步骤组合完成的长任务;
  • Open(开放词表指令):依赖自然语言开放指令理解的任务。

排行榜除了给出这 5 个维度各自的分数,还额外给出两个汇总口径:average(全部维度平均)和 sft(刨除 Open 维度之后的平均,即更偏"传统监督式"任务能力的子集平均)。所有分数都在 3 组随机种子下独立评测后汇总:

s ˉ = 1 3 ∑ i = 1 3 s i , σ = 1 3 ∑ i = 1 3 ( s i − s ˉ ) 2 \bar{s} = \frac{1}{3}\sum_{i=1}^{3} s_i, \qquad \sigma = \sqrt{\frac{1}{3}\sum_{i=1}^{3}(s_i-\bar{s})^2} sˉ=31i=1∑3si,σ=31i=1∑3(si−sˉ)2

其中 s i s_i si 为第 i i i 组随机种子下某任务/维度的成功率或得分,最终榜单展示 s ˉ ± σ \bar{s} \pm \sigma sˉ±σ,而不是单次跑分------这是仿真端对抗"运气好跑出高分"最基本的统计手段。

2.3 RoboDojo-RealEval:可复现的标准化真机评测系统

真实端的核心设计目标是"可复现":同一套策略、同一组任务,不同人在不同时间跑出来的分数应该可比。官方工作站实拍图给出了具体做法:

标准化工作站:固定相机位姿、3D 打印夹具、触屏运行时

图 3:RoboDojo-RealEval 工作站实拍。左侧是遮光帐篷 + 24 小时常亮 LED 线性光源,保证光照条件恒定;中间是 1.5m×1.5m 的标准化桌面工作站;右侧是三种机械臂具身(ARX X5、Piper、Piper X)、头部相机(Gemini 335L ×1)与双腕部相机(Gemini 305 ×2),以及用于运行评测流程的触屏显示器。来源:RoboDojo 官网首页 RoboDojo-RealEval 介绍模块。

几个关键的"标准化"细节,直接对应着真机评测最容易失真的几个环节:

环节 标准化做法
光照 遮光帐篷内置 24 小时常亮 LED 线性光源,排除环境光干扰
场地尺寸 固定 1.5m × 1.5m 工作站占地(桌面 1.2m × 1.2m)
相机与机械臂位姿 3D 打印定位夹具固定相机与机械臂安装位置,姿态不随每次搭建漂移
评测运行 触屏显示器直接驱动评测流程(任务列表、运行状态),支持远程接入
具身覆盖 ARX X5、Piper、Piper X 三种机械臂逐一评测,而非只测单一硬件

真实端 18 个任务不再按仿真那套 5 维度划分,而是直接按 3 种具身分别评测、分别报告成绩,再汇总出整体 average。这是因为真机场景下,"同一任务换一种机械臂"本身就是一种重要的泛化考验,拆分展示比强行套用仿真那套能力维度更有信息量。配合"远程云端接入 + 24 小时连续运行",官方评测系统可以不间断地排队跑分,而不需要人工值守换场景。

三、工程实现

GitHub 仓库 robodojo-benchmark/RoboDojo 的目录结构清晰对应着上述两条管道加一个统一接入层:

bash 复制代码
RoboDojo/
├── env/              # 仿真/真实环境封装,对接 Isaac Sim 与 RoboDojo-RealEval
├── task/RoboDojo/    # 42+18 个任务定义
└── XPolicyLab/       # 策略统一接入层:一次集成,Sim/Real 两端复用

评测脚本的调用链是先由 scripts/robodojo.sh 发起,通过 eval.sh 驱动每个任务跑评测,真正执行策略 rollout 的是 scripts/eval_policy.sh------它作为回调脚本被 eval.sh 调用,负责把策略接到具体的仿真/真实环境上并记录每次试跑(trial)的结果。
#mermaid-svg-V8zUveL2v3aYp5Mw{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-V8zUveL2v3aYp5Mw .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-V8zUveL2v3aYp5Mw .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-V8zUveL2v3aYp5Mw .error-icon{fill:#552222;}#mermaid-svg-V8zUveL2v3aYp5Mw .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-V8zUveL2v3aYp5Mw .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-V8zUveL2v3aYp5Mw .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-V8zUveL2v3aYp5Mw .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-V8zUveL2v3aYp5Mw .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-V8zUveL2v3aYp5Mw .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-V8zUveL2v3aYp5Mw .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-V8zUveL2v3aYp5Mw .marker{fill:#333333;stroke:#333333;}#mermaid-svg-V8zUveL2v3aYp5Mw .marker.cross{stroke:#333333;}#mermaid-svg-V8zUveL2v3aYp5Mw svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-V8zUveL2v3aYp5Mw p{margin:0;}#mermaid-svg-V8zUveL2v3aYp5Mw .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-V8zUveL2v3aYp5Mw .cluster-label text{fill:#333;}#mermaid-svg-V8zUveL2v3aYp5Mw .cluster-label span{color:#333;}#mermaid-svg-V8zUveL2v3aYp5Mw .cluster-label span p{background-color:transparent;}#mermaid-svg-V8zUveL2v3aYp5Mw .label text,#mermaid-svg-V8zUveL2v3aYp5Mw span{fill:#333;color:#333;}#mermaid-svg-V8zUveL2v3aYp5Mw .node rect,#mermaid-svg-V8zUveL2v3aYp5Mw .node circle,#mermaid-svg-V8zUveL2v3aYp5Mw .node ellipse,#mermaid-svg-V8zUveL2v3aYp5Mw .node polygon,#mermaid-svg-V8zUveL2v3aYp5Mw .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-V8zUveL2v3aYp5Mw .rough-node .label text,#mermaid-svg-V8zUveL2v3aYp5Mw .node .label text,#mermaid-svg-V8zUveL2v3aYp5Mw .image-shape .label,#mermaid-svg-V8zUveL2v3aYp5Mw .icon-shape .label{text-anchor:middle;}#mermaid-svg-V8zUveL2v3aYp5Mw .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-V8zUveL2v3aYp5Mw .rough-node .label,#mermaid-svg-V8zUveL2v3aYp5Mw .node .label,#mermaid-svg-V8zUveL2v3aYp5Mw .image-shape .label,#mermaid-svg-V8zUveL2v3aYp5Mw .icon-shape .label{text-align:center;}#mermaid-svg-V8zUveL2v3aYp5Mw .node.clickable{cursor:pointer;}#mermaid-svg-V8zUveL2v3aYp5Mw .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-V8zUveL2v3aYp5Mw .arrowheadPath{fill:#333333;}#mermaid-svg-V8zUveL2v3aYp5Mw .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-V8zUveL2v3aYp5Mw .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-V8zUveL2v3aYp5Mw .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-V8zUveL2v3aYp5Mw .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-V8zUveL2v3aYp5Mw .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-V8zUveL2v3aYp5Mw .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-V8zUveL2v3aYp5Mw .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-V8zUveL2v3aYp5Mw .cluster text{fill:#333;}#mermaid-svg-V8zUveL2v3aYp5Mw .cluster span{color:#333;}#mermaid-svg-V8zUveL2v3aYp5Mw div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-V8zUveL2v3aYp5Mw .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-V8zUveL2v3aYp5Mw rect.text{fill:none;stroke-width:0;}#mermaid-svg-V8zUveL2v3aYp5Mw .icon-shape,#mermaid-svg-V8zUveL2v3aYp5Mw .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-V8zUveL2v3aYp5Mw .icon-shape p,#mermaid-svg-V8zUveL2v3aYp5Mw .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-V8zUveL2v3aYp5Mw .icon-shape .label rect,#mermaid-svg-V8zUveL2v3aYp5Mw .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-V8zUveL2v3aYp5Mw .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-V8zUveL2v3aYp5Mw .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-V8zUveL2v3aYp5Mw :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} robodojo.sh 发起评测
eval.sh 按任务调度
eval_policy.sh 回调:策略接入 env/
RoboDojo-Sim 或 RealEval
单次 trial 结果

judge_scores / success_count

total_time_seconds / has_video
robodojo.sh summerize 聚合多 seed/具身
本地评测报告

图 4:robodojo.sh summerize 调用链。每次试跑记录的字段里有 judge_scores 数组,说明打分不是单纯的二值成功/失败判定,而是经过某种判定环节(如人工或规则化 judge)给出的分项评分,再据此算出 success_count。来源:据 GitHub README 与评测脚本行为重绘,原始素材只有文字说明,无此调用链图。

提交到官方榜单不需要在私有开发阶段就公开权重或代码------用户只需跑通本地 bash robodojo.sh summerize 产出聚合结果,连同推理代码+权重(遵循 XPolicyLab 标准接口)、方法说明和模型类型标签(Agent/VLA/WAM/LLM/VLM/IL,可组合勾选)一起提交。只有正式上榜后,才需要在 3 天内完整开源 checkpoint、训练/部署代码、配置文件与复现说明。

四、评测与防作弊协议分析

真正决定一条提交能不能上"官方可验证榜单"的,不是公开布局分数本身,而是一次隐藏布局复测:

策略提交→公开布局评测→隐藏布局验证→一致则发布/不一致则排除

图 5:完整的提交-评测-上榜流程。策略先在公开布局上拿到展示于榜单的分数,再在未公开的隐藏布局上复测一次;如果公开/隐藏分数出现明显差距,说明策略很可能过拟合了公开布局(或被针对性调参),该提交会被判定无效,排除出官方可验证榜单;只有两者一致才能正式发布,并触发 3 日开源义务。来源:据官方评测协议文字重绘,原始素材未给出流程图。

这套机制本质上是把"公开测试集"降级为"训练/调参可见的开发集",真正决定排名可信度的是开发者看不到、改不动的隐藏布局------这跟传统机器学习竞赛里 public/private leaderboard 分裂的思路是一致的,只是在机器人操纵评测里,"复测成本"远高于图像分类点一下提交按钮,所以 RoboDojo 选择用远程云端执行来摊薄这个成本:评测方只需要维护好标准化工作站,策略方既可以提交可部署的策略包,也可以只开一个远程策略服务供评测系统调用,私有开发阶段完全不用公开任何代码。

官网首页展示的当前榜单侧也能看到这套协议的实际效果------仿真端目前排名靠前的包括 Hy-Embodied-0.5-VLA、Spatial-Forcing、Pi0.5、X-VLA 等策略,真实端则是 Pi0.5、InternVLA-A1、GalaxeaVLA、XR-0 等;同一个 Pi0.5 策略在仿真和真实两端都出现在前列,从侧面印证了"一次集成、两端复用"的 XPolicyLab 接入层确实让横向比较变得可行------而不只是停留在协议设计层面的承诺。配套的 XPolicyLab(arXiv:2608.09892)目前已集成 30+ 个策略,把这套可横向比较的能力从理论变成了一个实际在增长的策略池。

小结

RoboDojo 这套基准真正的工程价值,不在于又多了 42+18 个任务,而在于两个具体的协议设计:一是用 XPolicyLab 把"接入一次、两端复用"做成了硬约束而不是倡议,逼着仿真和真实评测共享同一套策略接口;二是用隐藏布局一致性验证把"能不能正式上榜"和"是否只在公开集上刷分"绑在一起,比单纯依赖人工审核或道德自律更可执行。

需要指出的局限:真实端 18 个任务按 3 种具身分别评测、再汇总平均的做法,意味着榜单上的 average 分数混合了"策略本身的操纵能力"和"策略对不同机械臂的适配难度",两者目前没有在榜单上拆开展示,读者如果只看 average 一个数字,可能会误判策略在某一具身上的真实短板。另外,隐藏布局验证的具体"一致性阈值"(公开/隐藏分差多大算过拟合)官方素材中没有公开数值标准,这也是复现该协议时需要自行设定的一环。整体而言,RoboDojo 把"可横向比较的 sim-to-real 评测"向前推进了一步,其隐藏布局机制对正在搭建自己评测榜单的团队,是一个成本不高、值得直接借鉴的防作弊设计。


参考文献

  1. RoboDojo: Scaling the Himalayas of Manipulation. arXiv:2607.04434
  2. XPolicyLab. arXiv:2608.09892
  3. RoboTwin 2.0. arXiv:2506.18088
  4. MagicSim. arXiv:2606.17511
相关推荐
脆性薄片搬运谢工10 小时前
移栽电控箱放在机架上还是单独落地,产线布局哪个更合理?
机器人·脆性薄片搬运专机·桁架机械手·桁架机器人·特种桁架搬运专机
广州虚拟动力-动捕&虚拟主播11 小时前
从视角一致性看具身智能:头戴式采集设备的不可替代性
机器人
xwz小王子16 小时前
Science Advances 让机器人触觉在重压下继续分辨微小变化
机器人·1024程序员节
GlobalInfo21 小时前
机器人线缆用无卤TPU料市场分析报告深度版:产业洞察、技术演进与路径
大数据·人工智能·机器人
AiNightVision1 天前
电力巡检夜视方案选型指南——无人机/机器人/固定监测三种场景怎么选
人工智能·科技·车载系统·机器人·无人机·边缘计算·视频
咕泡科技1 天前
AI前沿速递:Gemini双连发+混元双档落地!智元发布首个机器人工时KPI,具身智能分出工厂与客厅两条赛道
人工智能·机器人·腾讯混元·智元机器人·gemini4carbon·巴布机器人
天树星智源1 天前
静态物理满分、交互 11.54%:3D 场景生成系统的幻觉
论文阅读·人工智能·3d·机器人
咬代码的兽1 天前
智元创新日拆解:机器人开始按工时结算,Token之后有了Worken
机器人
趣味科技v1 天前
具身智能从“演示”走向“部署”:智元把机器人送进真实工位
机器人·具身智能·智元