● ROBOT STACK
查看 GitHub 仓库 ↗

新增 5 个任务专家:成功源、失败结果与启动示例 →

逐任务验收:干净基线、分档扰动与独立验证 →

COUNTERFACTUAL DATA / ERRORS / RECOVERY

让机器人见过意外,也学会恢复。

我们构建反事实纠错数据集,让模型有机会学习:任务原本怎样成功,突发错误怎样改变执行,以及从错误状态出发怎样继续完成任务。

为什么做这个项目

错误与突发情况是机器人执行中无法回避的一部分。抓偏、意外松爪、导航偏航,以及长任务中累积的小偏差,都会让实际状态偏离计划。仅有顺利完成的示范,无法提供足够的“出错以后怎么办”的例子。我们希望模型在训练中见过这些情况,并见过识别偏差、调整动作和重新规划的过程。

① 正常成功

不注入这次扰动,保存任务原本成功完成的轨迹。

② 错误对照

注入扰动后继续原来剩余的动作,观察不根据状态调整会产生什么结果。

③ 纠错恢复

从经过校验的同一个首次扰动后状态出发,根据当前状态调整动作,验证能否恢复成功。

这就是本项目的反事实构造:在受控仿真中比较同一任务的替代执行过程。用户可以改变扰动的插入位置、类型、幅度、时长与次数,研究导航、操作和长程任务中的纠错能力;失败恢复同样保留。

项目目标是为模型的错误识别与恢复学习提供数据。合格纠错必须满足:成功源、有效偏差、错误对照失败、恢复成功。已有轨迹不等于已证明模型训练收益;对未见错误的泛化和真实机器人迁移仍需单独验证。查看配对协议 →

采集成功示范、故意制造执行错误,再验证机器人能否从当前状态恢复。MetaWorld 全部 50 类任务、ManiSkill 的 7 类任务已有合格纠错样本;RoboTwin 已有双臂堆叠与放杯子纠错案例。RoboCasa 已跑通移动、抓取、搬运和放置,并验证三种扰动恢复;AI2-THOR 已有导航案例,MimicGen 已完成 Lift 原生扩增验证。查看逐任务覆盖表与超过 100 个真实动图;未验证任务和失败记录同样保留。

校准实验前的轨迹盘点快照

保存轨迹(文件副本去重)1,322不含本轮校准新增数据;含旧实验、调试及失败
公开实验合格纠错组248340 次尝试,989 条保存轨迹;调度可能共享源场景
RoboTwin 保存轨迹12050 类成功源视频,以及另列的纠错对照视频

逐环境数量、去重定义、实验清单与复算脚本 →

RoboCasa · 走过去,抓起来,搬运并放入水槽

原生 PickPlaceCounterToSink,PandaOmron 移动底盘与机械臂联动。同一初始场景下,错误转向、机械臂偏移、持物张爪三类干预均产生对照失败与恢复成功。限定 layout/style=1、apple、seed=1100;不是全场景成功率。

打开移动操作三种扰动的视频与复现代码 →

RoboTwin · 50 个任务的可播放视频

双臂交接、三层堆叠、工具使用与日常物体操作。支持任务搜索和按录制帧数排序;成功源示范与纠错实验分别标注。

打开 RoboTwin 视频库 → · 逐 benchmark 查看扰动类型、参数和恢复方式 →

逐任务覆盖与真实案例库

逐项查看成功源轨迹、有效扰动和纠错成功是否已有实测证据;全部 50 类 MetaWorld 任务的真实恢复动图也直接展示在 GitHub README。

打开任务覆盖与真实案例库 →

New: configurable multi-error recovery

Choose intervention timing, type, strength, duration and repetition. MetaWorld: all 50 task classes now have verified correction samples across separate experiments. First sweep: 69/100 qualified pairs across 48 classes; tool-task follow-up: 18/40, covering the remaining two. Six-goal AI2-THOR navigation with three interventions: 3/3.

Open interactive configuration, launch examples and videos

从同一条成功轨迹,产生可核验的纠错数据

MetaWorld 推物与抓取放置各 50 个原生任务实例,共 100 组有效纠错对。下面三个视频对应此前试采样的同一个 seed=220 抓取放置源示范;回放状态误差均为 0。

正常轨迹 · 成功
错误注入后沿原动作 · 失败
从相同错误状态闭环恢复 · 成功

前缀通过真实动作重执行;恢复过程不 reset、不瞬移。错误与恢复动作均计入总预算。三分支视频按查看帧率播放,不代表物理时间。

数据协议与适用边界 ↗

RoboCasa · 厨房导航中的错误与恢复

原生 NavigateKitchen,layout/style=1,seed 220–222:成功源轨迹 3/3,扰动后原动作成功 0/3,恢复成功 3/3。每条最多 500 个动作,包含 20 步错误转向。以下 seed=220 三分支均经独立动作回放,状态误差为 0;每 5 步渲染一帧,视频不代表物理时间。

导航到冰箱 · 成功
错误转向后继续原动作 · 失败
闭环恢复导航 · 成功

控制器使用原生底盘雅可比与有界摩擦补偿;未修改物理参数或放宽任务成功判据。这是三个种子的小规模验证,尚非全布局避障导航评测。

AI2-THOR · 原生 PointNav 纠错

官方 Unity CloudRendering,FloorPlan1,种子 220–222:3/3 有效纠错对。源轨迹成功、错误转向后原动作失败、重新规划恢复成功。9 条轨迹通过审计,seed=220 恢复轨迹独立回放的位姿误差为 0。

使用可达点真值地图;属于自定义 PointNav 验证,不是官方 ObjectNav 评测。

MimicGen · 从 2 条示范生成 10 条新轨迹

官方 DataGenerator + robosuite Panda Lift,种子 400–409。7/10 成功,3 条失败保留;全部 10 条通过逐步原生动作重放。成功要求最终连续 10 步满足原生抬升、双侧抓取和至少 10 cm 高度增益。

生成成功 · seed 400
生成失败 · seed 401,同样保留

这些是扩增示范,不自动计为纠错对;共享源示范的后代应放在同一数据划分中。

安装、复现与数据说明 ↗

早期专家采集记录 · 上方纠错实验另计

暂无实验数据
采集尝试0包含失败、中断和未验证记录
已验证成功0须通过任务成功判定
确认成功占比—已验证成功 / 全部尝试,非基准成功率

分组对照

按环境和任务分别统计,固定种子,保留全部失败。当前是官方专家采集测试;任务数量、步数预算与采集配置不同,不能作为标准 benchmark 排名或跨环境效率对比。

实验组验证成功 / 回合成功率每回合耗时中位数

结果分布

导入真实采集报告后显示结果

从可靠示范到纠错数据

  1. 固定任务与随机种子,测量基线
  2. 动作后检查状态,失败后有限重试
  3. 保存成功轨迹及可恢复仿真状态
  4. 施加扰动,记录错误与恢复区间
  5. 验证恢复成功,再用 MimicGen 扩增
规划可达 ≠ 任务完成。旧日志、仅规划和物体挂接调试都不会自动计为已验证成功。

三种环境 · 真实轨迹视频

抽样成功回合;视频用于观察,成功由原生任务判定器确认。MetaWorld 和 RoboTwin 视频按采样帧播放,不用于比较真实执行速度。

MetaWorld · 抓取放置
ManiSkill · 方块堆叠
RoboTwin · 双臂方块堆叠

Episode 记录

Episode状态规划 / 控制执行耗时
没有记录。页面未填入演示成功率。

本地轨迹视频预览

选择对应 episode 的视频进行检查;文件仅在当前浏览器播放,不会上传。视频本身不构成成功判定。