RoboTwin2.0_failure_data_type1
收藏资源简介:
# RoboTwin2.0 Type1 Failure Data 这是一个基于 RoboTwin2.0 生成的多样性动作干预失败数据集。数据保持任务和场景身份不变,对成功关键动作施加任务相关干预,用于研究动作扰动、失败行为、恢复抑制以及机器人策略在非理想执行条件下的表现。 ModelScope 数据集 ID:`Markowea/RoboTwin2.0_failure_data_type1` ## Dataset Summary - Total: **5,000 episodes** - Type1: **50 个任务,每个任务 100 条** - Approximate size: **94 GB** - 每条 episode 包含一个 HDF5 数据文件、一个 MP4 视频和两份 JSON 元数据 - 正式文件总数:5,000 HDF5、5,000 MP4、10,000 JSON,共 20,000 个 episode 文件 - `episode0`–`episode99` 是每个任务目录内的导出编号,不代表原始轨迹编号 ## Directory Structure ```text <repository_root>/ └── type1/ └── <task>/ ├── data/episode0.hdf5 ... episode99.hdf5 ├── video/episode0.mp4 ... episode99.mp4 ├── metadata/episode0.json ... episode99.json └── resolved_request/episode0.json ... episode99.json ``` 其中,`data/` 和 `video/` 保留 RoboTwin2.0 核心目录及文件命名方式;`metadata/` 和 `resolved_request/` 用于记录动作来源、执行场景、动作干预、重放状态和生成请求。 ## Failure Data Definition ### Type1: Same-task, same-scene action intervention Type1 保持动作来源任务与实际执行任务一致,并保持配置和场景身份一致: ```text source.task == target.task source.scene_seed == target.scene_seed source action trajectory + task-specific action intervention ``` 干预只针对动作执行本身,例如夹爪提前松开、目标偏移、动作行程不足、跳过关键动作或小幅执行扰动。具体干预方式、主要失败、次要失败和检查结果必须以对应 episode 的 `metadata/*.json` 为准。 本数据集与通过场景失配构造的 Type2/Type3 数据不同:Type1 不交换场景或任务,失败来源是同一任务和场景中的动作修改。 ## File Formats ### HDF5 HDF5 文件包含以下四个核心顶层结构: ```text / ├── joint_action/ ├── endpose/ ├── observation/ └── pointcloud/ ``` `joint_action/vector` 通常为 `(T, 14)`,是读取执行动作时最常用的数据。`observation/` 保存仿真观测,`endpose/` 保存末端位姿,`pointcloud/` 保存点云信息。 ### Metadata JSON `metadata/episodeN.json` 的主要字段包括: - `source`:动作来源任务、配置、场景种子和动作信息 - `target`:实际执行任务、配置和场景信息 - `intervention`:动作修改方式、失败因素和恢复限制 - `replay`:动作执行、轨迹完整性及身份校验信息 - `outcome`:任务检查结果、失败原因、checker 状态和人工审核状态 `resolved_request/episodeN.json` 保存解析后的生成请求、方法参数、来源信息和目标场景信息。 元数据中的绝对路径仅用于生成阶段的溯源。在公开发布前应将其删除或映射为公开相对路径;下载后的使用不应依赖生成机器上的路径。 ## Loading an Episode 下载数据集: ```bash modelscope download \ --dataset Markowea/RoboTwin2.0_failure_data_type1 \ --local_dir ./RoboTwin2.0_failure_data_type1 ``` 读取动作: ```python import h5py path = "type1/<task>/data/episode0.hdf5" with h5py.File(path, "r") as f: actions = f["joint_action/vector"][:] ``` 读取失败定义和执行结果: ```python import json with open("type1/<task>/metadata/episode0.json", encoding="utf-8") as f: metadata = json.load(f) print(metadata["source"]) print(metadata["target"]) print(metadata["intervention"]) print(metadata["replay"]) print(metadata["outcome"]) ``` 筛选已审核且允许用于失败训练的样本: ```python outcome = metadata.get("outcome", {}) review_status = outcome.get( "manual_review_status", metadata.get("diversity_status", "pending"), ) checker_blind = outcome.get("checker_blind", False) training_eligible = metadata.get("eligible_for_failure_training", False) use_for_training = review_status == "approved" and training_eligible ``` ## Notes - 这是动作干预失败数据,不是只包含成功示范的常规训练集。 - `checker_blind=true` 的样本可能出现 `raw_check_success=true`,但仍具有视觉上真实的失败行为。不要仅根据单一成功标志判断样本含义。 - 部分样本仍处于 `manual_review_status=pending`,且 `eligible_for_failure_training=false`;使用前应按上面的审核字段进行过滤。 - 使用 `metadata/` 判断每条样本的真实来源、动作干预和执行结果,不要只根据目录名推断失败类型。 ## License and Redistribution ModelScope 仓库当前标记为 Apache License 2.0。该仓库标记不替代 RoboTwin2.0 项目、原始数据及相关资产各自的上游许可要求;使用和再分发本数据集时,应同时遵守所有适用的上游条款。



