错误在哪里发生,
由你定义。
指定扰动的插入位置、类型、强度、步数和次数。查看同一任务中的正常执行、错误后原动作与闭环恢复。每一条成功记录都保留动作、原生判据和审计证据。
生成可运行的扰动配置
此页面仅生成配置和命令,不会在浏览器中启动仿真。插入位置以成功源轨迹为参照;重复间隔不包含注入动作。选择环境后,只显示对应的原生动作扰动。
每种环境使用独立安装与原生资产。RoboTwin root 需要替换成实际路径。
抓取放置:从错误状态重新完成任务
MetaWorld pick-place-v3,源示范、错误后继续原动作、相同错误状态下反馈恢复。此前 seed 220 的三分支逐步回放误差均为 0。
六个目标,三次故意转错方向
AI2-THOR FloorPlan1,在成功源轨迹完成第 1、3、5 个导航目标的时间点插入错误转向。种子 700–702,3/3 组有效纠错;下方 seed 700 正常 105 步、扰动对照 112 步、恢复 111 步,三分支独立回放误差均为 0。
这是有顺序约束的多目标导航,使用真值地图;不是取物归柜、备餐等导航加操作难任务,也不是官方 ObjectNav 分数。后续误差状态可以不同,只对首次错误要求状态一致。视频按查看帧率播放。
python -m robot_stack.collect --backend ai2thor --task FloorPlan1 \
--episodes 3 --seed-start 700 --max-steps 500 \
--adapter-options '{"waypoints":6}' \
--schedule examples/perturbations/ai2thor-long.json \
--output outputs/long-navigation抓取放置:一条轨迹连续纠错三次
seed 610,在源轨迹 20% 处开始,注入三次 8 步偏移,中间间隔 8 个正常动作。正常源 50 步、扰动对照 74 步、恢复 103 步;全部三分支独立回放误差为 0。四类操作任务 × 三种配置 × 三个实例的独立实验共 36 次尝试,24 组有效纠错。
更复杂的操作:抓住工具,再拉动物体
MetaWorld stick-pull-v3,seed 621,从故意偏移后的状态重新抓取工具并完成原生拉动任务,恢复轨迹 186 步。工具推拉两类任务的独立补测共 40 次尝试、34 次成功源、18 组有效纠错;补齐首轮没有有效样本的两类任务。至此 50 类任务各至少有一组有效样本,不代表任意错误均可恢复。
全任务覆盖:可查的记录,清楚的边界
查看跨环境逐任务覆盖与 50 个真实动图 →MetaWorld 50 类任务,每类固定同一任务实例,测试固定偏移和随机动作两种配置。下表来自首轮原生报告,未将后续调参合并进首轮成功率。初始状态相同的派生样本必须保留在同一数据划分。
| 任务 | 有效纠错 / 尝试 | 成功源 / 尝试 | 恢复成功 / 有成功源 |
|---|---|---|---|
| 加载原生报告… | |||
50 类任务,150 条轨迹重新执行
每类任务各取一组有效样本,正常、扰动、恢复三分支全部通过独立原生回放,最大状态误差为 0,成功标签逐步一致。这验证了所展示的任务覆盖;其余样本通过数据审计,未声称全部重新执行。
下载逐轨迹回放证据 · 完整实验条件与统计跨环境的当前支持范围
| 环境 | 已经验证 | 尚待完成 |
|---|---|---|
| MetaWorld | 50 类专家注册与全量首轮试采 | 所有任务实例、所有错误都能恢复 |
| RoboCasa | NavigateKitchen 导航纠错 | 复合厨房任务的移动操作恢复策略 |
| AI2-THOR | 单目标、多目标导航多次纠错 | 取物、开柜、放置等完整任务链 |
| ManiSkill / RoboTwin | 原生专家采集与回放示例 | 通用扰动后的在线恢复策略 |
| RoboDojo | 原生场景 reset + 物理运行,策略桥接接口 | 完整策略成功与纠错采集 |
| MimicGen | Lift:2 条源示范扩增 10 条,7 条成功 | 更多任务的分段标注与环境接口 |
任务注册、原生执行、源轨迹成功、错误诱发、纠错成功分别验证。接入一个仿真器,不等于已经解决它的全部任务。