RoboTwin 数据收集-翻译
我们在开源发布的 RoboTwin 数据集中提供了超过 10 万条预收集的轨迹。但由于任务和实体设置具有高度可配置性和多样性,我们强烈建议用户自行进行数据收集。
运行以下命令,将首先为目标收集数量搜索随机种子,然后回放该种子以收集数据。
数据收集前,请查看常见问题。我们强烈建议避免使用 A/H/V 系列 GPU 进行数据收集和策略评估。数据收集前,请查看常见问题 #3(数据收集和评估时卡住)。我们强烈建议避免使用 A-、H- 或 V- 系列 GPU 进行数据收集和策略评估。
collect_data.sh ${task_name} ${task_config} ${gpu_id}
# 干净数据示例:bash collect_data.sh beat_block_hammer demo_clean 0
# 随机化数据示例:bash collect_data.sh beat_block_hammer demo_randomized 0
数据存储说明
数据收集完成后,收集到的数据将存储在 data/${task_name}/${task_config} 路径下。
- 单个回合的数据将存储在一个 HDF5 文件中,图像以比特流形式存储。若需恢复图像,可使用以下代码:
image = cv2.imdecode(np.frombuffer(image_bit, np.uint8), cv2.IMREAD_COLOR) - 每条轨迹的观测和动作数据以 HDF5 格式保存在
data目录中。 - 每条轨迹对应的语言指令存储在
instructions目录中。 - 每条轨迹的头部摄像头视频可在
video目录中找到。 _traj_data、.cache、scene_info.json和seed.txt文件是数据收集过程中生成的辅助输出文件。
参数与配置说明
- 所有可用的
task_name选项可在文档中查询。 gpu_id参数指定要使用的 GPU,需设置为 0 到 N-1 之间的整数(其中 N 是系统中可用的 GPU 数量)。- 数据合成器通过执行
envs目录中的任务脚本,结合curobo机器人规划器,实现自动化数据收集。 - 数据收集通过任务特定的配置文件进行配置(详见
./configurations.md中的教程),该文件定义了目标实体、领域随机化设置、要收集的数据样本数量等参数。
补充说明
- 所有任务中各实体的数据生成成功率可查看:https://robotwin-platform.github.io/doc/tasks/index.html。
- 由于不同机械臂的结构限制,并非所有实体都能完成所有任务。
- 数据收集流程首先探索一组随机种子(
seed.txt),以确定可成功收集数据的轨迹,然后据此记录细粒度的动作轨迹(_traj_data)。 - 整个过程完全自动化,只需运行一条命令即可启动。
- ⚠️ 若不需要 3D 数据,可忽略 “missing pytorch3d” 警告。
2025 年 10 月 5 日
TianxingChen
