Motus 数据格式完全指南:RoboTwin、真机与 LeRobot 数据集如何组织与转换
【免费下载链接】MotusOfficial code of Motus: A Unified Latent Action World Model项目地址https://gitcode.com/gh_mirrors/motus1/Motus点击查看免费下载Motus 是一个面向机器人操作的统一潜在动作世界模型Unified Latent Action World Model。本文带你快速掌握Motus 数据格式RoboTwin 2.0 仿真数据、AC-One / Aloha-Agilex-2 真机数据与 LeRobot 数据集的目录组织方式、转换步骤以及 YAML 配置中的关键参数帮助新手一次完成数据准备。️ 先搞懂一份 Motus 数据集长什么样不管数据来自仿真还是真机Motus 训练时消费的每条样本都由四类信息组成它们在磁盘上就是一组同编号的文件信息典型文件说明 视频videos/0.mp4多视角拼接后的 MP4 视频 动作qpos/0.pt机器人关节位置形状为(T, 14)14 维动作 指令metas/0.txt带任务前缀的文本指令 语言嵌入umt5_wan/0.pt预编码的 T5 embedding可选可选跳过以省磁盘Motus 通过dataset.type区分五类数据源加载器由 data/dataset.py 中的工厂函数统一创建类型dataset.type适用场景加载器RoboTwin 2.0robotwin仿真50 个任务clean randomizedrobotwin_agilex_dataset.pyAC-One 真机ac_one单臂/双臂真机数据ac_one_dataset.pyAloha-Agilex-2 真机aloha_agilex_2双臂真机数据aloha_agilex2_dataset.py潜在动作预训练latent_actionStage 2 大规模视频预训练latent_action_dataset.pyLeRobotlerobotLeRobotDataset 标准格式lerobot_dataset.py权威参考完整的格式说明见 DATA_FORMAT.md。 RoboTwin 2.0从原始 HDF5 到 Motus 格式RoboTwin 2.0 原始数据是 HDF5 文件不能直接训练。仓库内置了完整的转换工具链 data/robotwin2/robotwin_data_convert/三步即可转换第一步下载原始数据集# 下载全部 50 个任务默认走 HF 镜像加速 python3 data/robotwin2/robotwin_data_convert/download_robotwin_dataset.py \ --output_dir /path/to/robotwin_raw_dataset # 也可以只下载指定任务 python3 data/robotwin2/robotwin_data_convert/download_robotwin_dataset.py \ --tasks adjust_bottle clean_mirror --output_dir /path/to/robotwin_raw_dataset原始结构按任务 → 数据划分组织每个 episode 是一个.hdf5加一个指令.jsonsource_root/ ├── {task_name}/ │ ├── aloha-agilex_clean_50/ │ │ ├── data/episode*.hdf5 │ │ └── instructions/episode*.json │ └── aloha-agilex_randomized_500/ │ ├── data/episode*.hdf5 │ └── instructions/episode*.json第二步修改转换配置编辑 config.yml核心是三个路径参数其余可按需调整参数默认值含义source_root必填原始数据集根目录target_root必填转换输出目录fps30输出视频帧率target_width/target_height320 / 360输出视频分辨率max_workers16并行进程数skip_existingtrue跳过已处理的 episode支持断点续转enable_t5_embeddingsfalse是否同时生成 T5 embeddingwan_repo_path—启用 T5 时指向 Wan2.2-TI2V-5B 模型目录其中demo_type_mapping把源目录名映射到目标划分aloha-agilex_clean_50 → clean、aloha-agilex_randomized_500 → randomized。第三步一键执行转换cd data/robotwin2/robotwin_data_convert ./run_conversion.shrun_conversion.sh 会自动做磁盘空间检查、解析配置再调用 robotwin_converter.py 执行转换日志写入logs/目录结束时输出视频 / qpos / 指令文件的统计报告。转换后的标准 Motus 结构如下target_root/ ├── clean/ │ └── {task_name}/ │ ├── videos/0.mp4 # 多视角拼接视频 │ ├── qpos/0.pt # 关节位置 (T, 14) │ ├── metas/0.txt # 带前缀的指令 │ └── umt5_wan/0.pt # T5 embedding可选 └── randomized/ └── {task_name}/ └── ...(同 clean)✅ 验收标准clean与randomized下每个任务目录中videos/、qpos/、metas/的文件编号一一对应。 真机数据AC-One 与 Aloha-Agilex-2 的目录组织真机数据采用任务类别 → 任务变体两级目录每个变体自包含视频、动作与指令结构见 ac_one_dataset.py/path/to/ac_one/ └── task_category/ # 如 fold_towel └── task_variant/ # 如 fold_blue_and_white_striped_towel/ ├── videos/0.mp4 ├── qpos/0.pt └── instructions/ ├── task.txt # 文本指令 └── task.pt # 该指令的 T5 embedding⚠️ 真机动作必须做归一化。Motus 使用统一的 min-max 归一化把动作映射到[0, 1]归一化实现data/utils/norm.py预置统计量data/utils/stat.json已含robotwin2、ac_one、aloha_agilex_1/2的 14 维 min/max想用自己的数据重算统计量data/utils/calc_stat.py 会并行扫描所有qpos/*.pt并输出 min/max同时标记|值| 3的异常维度 LeRobot 数据集适配meta parquet 视频Motus 也原生支持 LeRobotDataset 格式dataset.type: lerobot配置示例见 configs/lerobot.yaml。其标准结构为{dataset_root}/ ├── meta/ │ ├── info.json │ ├── episodes.jsonl │ ├── episodes_stats.jsonl │ └── tasks.jsonl ├── data/chunk-000/ │ └── episode_000000.parquet # 逐帧动作/状态 ├── videos/chunk-000/ │ ├── observation.images.cam_high/episode_000000.mp4 │ ├── observation.images.cam_left_wrist/episode_000000.mp4 │ └── observation.images.cam_right_wrist/episode_000000.mp4 └── t5_embedding/episode_000000.pt # T5 缓存可选LeRobotMotusDataset 要求视频使用cam_concatenated拼接视角。两个官方辅助脚本覆盖了最常见的格式升级需求1️⃣ 三视角 T 形拼接把cam_high顶部全宽与左右腕部相机底部各占一半拼成单路视频例如 480×640 → 720×640并自动更新meta/info.jsonpython -m data.lerobot.add_cam_concatenated_to_lerobot_dataset \ --repo_id your_task_name \ --root /path/to/lerobot/your_task_name \ --overwrite false实现见 add_cam_concatenated_to_lerobot_dataset.py纯图像拼接逻辑也可参考 data/utils/multi_camera_concat.py。2️⃣ 预生成 T5 缓存把每条 episode 指令用 Wan 内置的 umt5-xxl 编码器离线编码写入t5_embedding/episode_XXXXXX.pt并回写meta/episodes.jsonl训练时就不必再占用 GPU 实时编码export WAN_PATH/path/to/pretrained_models python data/lerobot/add_t5_cache_to_lerobot_dataset.py \ --repo_id your_task_name \ --root /path/to/lerobot/your_task_name \ --device cuda --t5_folder_name t5_embeddingT5 的加载顺序见 add_t5_cache_to_lerobot_dataset.pyparquet 帧级language_embedding→episodes.jsonl中的t5_embedding_path外置文件 → 配置enable_t5_fallback: true时的实时兜底编码。 Latent Action 预训练数据Stage 2Motus 用光流学习潜在动作做大规模视频预训练数据不需要真实机器人动作只要三个同名子目录见 latent_action_dataset.py/path/to/latent_action_data/ ├── videos/episode_0.mp4 ├── umt5_wan/episode_0.pt # T5 embedding └── latent_action_dim14/episode_0.pt # 光流潜在动作标签三个特点值得注意dataset_dir支持列表可同时挂载多个数据根目录见 configs/latent_action.yaml支持递归扫描子目录自动找到含三件套的叶子目录因此可以直接把robotwin2/clean这类结构整体挂进来以视频文件名为 episode id要求三目录间一一匹配⚙️ 在 YAML 中接入数据集以 configs/robotwin.yaml 为例只需四行核心配置dataset: type: robotwin # 五选一robotwin / ac_one / aloha_agilex_2 / latent_action / lerobot dataset_dir: /path/to/robotwin2 data_mode: both # robotwin 专用clean / randomized / both task_mode: multi # single 或 multisingle 时须给 task_name task_name: null # null 全部任务也可传任务名或任务列表与采样相关的common参数决定了看几帧视频、预测多长动作参数robotwin 默认含义action_dim/state_dim14动作/状态维度双臂 77num_video_frames8预测的视频帧数video_height/video_width384 / 320训练分辨率global_downsample_rate3全局下采样如 30Hz→10Hzvideo_action_freq_ratio2视频:动作 频率比动作块长度 num_video_frames × ratio✅ 数据问题自查清单症状可能原因解决方法加载时报 episode 缺失videos/、qpos/、metas/编号不匹配用find核对各目录文件数重跑转换skip_existing: true可续转训练时 GPU 被 T5 编码占用未预生成 embedding运行上面的 T5 缓存脚本或转换时开enable_t5_embeddings: true动作归一化报错 / 效果差缺少或错用统计量用 calc_stat.py 重算并核对stat.json中对应机器人条目数据加载慢num_workers太小参考 configs/robotwin.yaml 设为 16LeRobot 格式推荐 4-8数据准备完成后接下来就是运行bash scripts/train.sh开始训练完整流程见 TRAINING.md推理部署见 INFERENCE.md。建议按转换 → 核对目录 → 小max_episodes调试 → 全量训练的节奏推进可以少走很多弯路 赞分享【免费下载链接】MotusOfficial code of Motus: A Unified Latent Action World Model项目地址https://gitcode.com/gh_mirrors/motus1/Motus点击查看免费下载相关推荐LeRobot项目数据集创建与格式转换完全指南LeRobot项目数据集创建与格式转换完全指南 数据集架构概述 LeRobot项目采用标准化的数据集格式旨在为机器人学习提供统一的数据管理方案。该架构包含三个人工智能机器学习深度学习机器人具身智能强化学习如何将自定义数据集转换为LeRobot兼容格式如何将自定义数据集转换为LeRobot兼容格式 LeRobot项目作为一个开源的机器人学习框架对数据格式有着特定的要求。本文将详细介绍如何将各类常见机器人数据人工智能机器学习深度学习机器人具身智能强化学习Isaac-GR00T 机器人数据制备指南从任意格式转换到 GR00T LeRobot 数据集Isaac GR00T 机器人数据制备指南从任意格式转换到 GR00T LeRobot 数据集 导读 本文是 Isaac GR00T https://link人工智能大模型具身智能多模态预训练微调创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考