
双臂协作搬箱指南OpenLET具身智能挑战赛task2_box_move双臂操作数据处理与训练全流程Embodied-Data-Manipulation-Challenge 是 OpenLET 具身智能挑战赛官方开源的机器人操作数据集其中 task2_box_move 子集记录了人形机器人双臂协作搬箱的 500 条真实操作轨迹共 294,678 帧、约 49 分钟的 10fps 动作数据。本文带你从零完成 task2_box_move 双臂搬箱数据集的下载、目录解析、字段梳理到模仿学习训练的全流程零基础也能快速上手。一、数据集速览task2_box_move 里有什么task2_box_move 对应挑战赛中双臂协作搬箱工业任务机器人双臂协同抓取并搬运箱子同时底盘以速度指令vx、vy、vyaw跟随移动。整个仓库包含三个任务的数据搬箱任务位于 sim/task2_box_move/ 目录。关键数据一览来自 sim/task2_box_move/meta/info.json项目数值说明机器人类型kuavo-5w双 7 自由度机械臂 双手 11 自由度夹爪数据格式版本v3.0LeRobot 数据集规范总轨迹数500 条 episodes全部划分给训练集0:500总帧数294,678 帧平均每条轨迹约 589 帧采集频率10 fps平均每条轨迹约 59 秒相机数量3 路头部相机 左右腕部相机480×640AV1 编码 平均每条轨迹持续约 59 秒正好覆盖接近箱子 → 双臂抓取 → 搬运 → 放下的完整操作闭环非常适合长时序操作策略的训练。二、目录结构解析三步看懂数据集布局task2_box_move 采用 LeRobot v3.0 标准目录组织核心就是data、meta、videos三兄弟sim/task2_box_move/ ├── data/ # 动作与状态数据parquet 表格格式按 chunk 分片 │ └── chunk-000/file-000.parquet ├── meta/ # 元信息 │ ├── info.json # 数据集说明书字段定义、维度、命名 │ ├── stats.json # 各字段的统计量min/max/mean/std/分位数 │ ├── tasks.parquet# 任务语言指令表 │ └── episodes/ # 每条轨迹的起止索引 │ └── chunk-000/file-000.parquet ├── videos/ # 三路相机视频按相机名分目录、按 chunk 分片 │ ├── observation.images.head_cam_h/ # 头部主相机 │ ├── observation.images.wrist_cam_l/ # 左腕相机 │ └── observation.images.wrist_cam_r/ # 右腕相机 └── 20261015/ # 2026-10-15 采集的 200 条轨迹快照子集data/sim/task2_box_move/data/chunk-000/file-000.parquet 存储逐帧的observation.state36 维状态和action39 维动作是训练策略的核心输入。meta/sim/task2_box_move/meta/episodes/chunk-000/file-000.parquet 记录每条 episode 在数据文件中的行区间用于按轨迹切分 batch。videos/视频文件与 parquet 数据按帧对齐文件名一一对应如 head_cam_h/file-000.mp4。20261015/sim/task2_box_move/20261015/ 是当日采集的 200 条轨迹独立快照结构与主目录完全一致可用于增量训练或小规模快速验证。三、字段详解36 维状态与 39 维动作怎么读打开 sim/task2_box_move/meta/info.jsonfeatures字段完整定义了每一列的维度与含义这是理解双臂数据的关键3️⃣ 状态向量 observation.state36 维区段维度含义zarm_l1~l7_link7左臂 7 个关节角left_sg100_1~1111左手夹爪 11 个自由度zarm_r1~r7_link7右臂 7 个关节角right_sg100_1~1111右手夹爪 11 个自由度3️⃣ 动作向量 action39 维前 36 维与状态一一对应双臂关节 双手夹爪的目标值末尾 3 维是底盘速度指令vx前进/后退线速度vy横向移动线速度vyaw旋转角速度⚠️ 注意搬箱任务要求双臂与底盘协同——搬重物时双臂保持对称发力的同时底盘还需低速跟随训练时建议对这 3 维单独做归一化避免其量纲淹没手臂动作信号。3️⃣ 三路视觉观测480×640AV110fpsobservation.images.head_cam_h、observation.images.wrist_cam_l、observation.images.wrist_cam_r三路视频均无音频、非深度图通道数 3可直接接入 VLM 或视觉编码器。四、一键下载正确处理 Git LFS 大文件仓库通过 .gitattributes 配置了 Git LFS*.parquet、*.mp4等大文件以指针形式存放在 Git 中直接 clone 只会得到几十字节的文本指针开头是version https://git-lfs.github.com/spec/v1。请按顺序执行git clone https://gitcode.com/OpenLET/Embodied-Data-Manipulation-Challenge cd Embodied-Data-Manipulation-Challenge git lfs install git lfs pull验证是否拉取成功检查文件头是否为真正的二进制parquet 文件以PAR1开头而不是 LFS 指针文本head -c 4 sim/task2_box_move/data/chunk-000/file-000.parquet # 输出 PAR1 即为成功若输出 vers 则说明 LFS 未生效如果网络受限可只拉取搬箱任务所需目录git lfs pull --includesim/task2_box_move/*五、训练全流程从 parquet 到策略模型1️⃣ 用 LeRobot 官方工具链加载数据数据集codebase_version为 v3.0可直接用 LeRobot 的LeRobotDataset加载from lerobot.common.datasets.lerobot_dataset import LeRobotDataset dataset LeRobotDataset( rootsim/task2_box_move, # 指向数据集根目录 video_backendav1, # 视频为 AV1 编码 )meta/info.json中的data_path与video_path模板已定义好分片规则chunk-{chunk_index:03d}加载器会自动拼接无需手动遍历文件。2️⃣ 归一化直接使用现成的 stats.jsonsim/task2_box_move/meta/stats.json 已为全部 10 个字段预计算了 min/max/mean/std/分位数如observation.state覆盖了全部 294,678 帧。做均值-标准差归一化时直接引用该文件即可不要在训练过程中动态重算避免分布漂移。3️⃣ 划分训练集info.json的splits字段声明train: 0:500即全部 500 条轨迹参与训练。建议自行留出最后 20% 轨迹作为 hold-out 验证集并配合 sim/task2_box_move/20261015/ 快照做跨日泛化测试——不同日期采集的数据箱位、光照存在自然差异是检验策略鲁棒性的天然测试床。4️⃣ 推荐的训练配置起步参数配置项建议值依据输入图像分辨率224×224在 480×640 原图上缩放保留操作细节动作 chunk8 帧0.8s10fps 下适合搬箱的慢速精细动作观察窗口4 帧历史双臂协作需要时序信息判断抓握稳定性batch size32~64单卡 A100 起步三路图像输入显存占用较高优化器AdamWlr3e-4cosine 衰减模仿学习常用配置归一化基于 stats.json 的 mean/std全数据集统计离线完成 搬箱任务对双臂对称性敏感可在 loss 中增加左右臂对应关节动作的一致性正则或按左右各 50% 混合采样缓解单臂主导问题。5️⃣ 验证与打榜离线评估在 hold-out 轨迹上计算关节动作 MSE重点关注left_sg100_*/right_sg100_*夹爪段stats.json 中夹爪维度 std 极小异常值一目了然。在线评估部署到仿真环境对比箱子最终位置 未掉落两项指标。打榜将模型按挑战赛规则提交持续迭代排名。六、常见问题 FAQQ1parquet 文件打开报错 Parquet magic bytes not found说明 LFS 未拉取文件仍是文本指针。回到第四章执行git lfs pull即可。Q2视频帧和 parquet 行数对不上视频按video_path模板与数据同 chunk 对齐确认info.json中video.fps与fps一致本数据集均为 10。Q3只想训练视觉策略不用状态向量可以。把observation.state从模型输入中剔除即可但建议保留作为辅助损失state action 预测能显著提升长时序稳定性。Q4三个任务能混合训练吗task1_parts_pick零件拣选、task2_box_move搬箱、task3_loop_feed循环喂料同机型kuavo-5w、同 schema可混训做任务泛化只需按task_index区分。七、小结task2_box_move 以 500 条完整搬箱轨迹、双臂 底盘的 39 维动作空间、三路 480×640 视频构成了一个开箱即用的双臂协作基准集。按本文流程git lfs pull下载 → 读懂 info.json 字段 → 用 stats.json 归一化 → LeRobot 加载训练 → hold-out 验证打榜即可在数天内跑通首个搬箱策略。更多任务数据可参考 sim/task1_parts_pick/ 与 sim/task3_loop_feed/数据集说明见 README.md。创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考