news 2026/10/29 2:02:21

单臂抓取实战:用OpenLET具身智能挑战赛task1_parts_pick数据训练ACT操作策略(附完整代码)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
单臂抓取实战:用OpenLET具身智能挑战赛task1_parts_pick数据训练ACT操作策略(附完整代码)

单臂抓取实战:用OpenLET具身智能挑战赛task1_parts_pick数据训练ACT操作策略(附完整代码)

本文将带你用OpenLET 具身智能挑战赛的task1_parts_pick(部件拾取)真实机器人数据,从零训练一个ACT 操作策略。数据集采用 LeRobot v3.0 标准格式,500 条轨迹、23 万+ 帧,开箱即可跑通"下载数据 → 加载校验 → ACT 训练 → 效果验证"全流程,是新手入门具身智能抓取算法的极佳起点。

🎯 为什么选 ACT 作为第一个操作策略

ACT(Action Chunking with Transformers)是当前最易上手的视觉操作策略:它不预测单帧动作,而是一次性预测一段动作序列(action chunk),天然适合抓取、搬运这类需要连续协调的任务。配合本项目提供的真实遥操作数据,即使没有机器人本体,单卡 GPU 就能完成一次完整的模仿学习实验。

📦 获取 task1_parts_pick 数据集

# 1. 安装 Git LFS(数据文件通过 LFS 存储) git lfs install # 2. 克隆挑战赛数据仓库 git clone https://gitcode.com/OpenLET/Embodied-Data-Manipulation-Challenge

三个任务的数据都在 sim/ 目录下,本文使用其中的部件拾取任务:

sim/task1_parts_pick/ ├── data/chunk-000/file-000.parquet # 状态 + 动作等数值数据 ├── meta/ │ ├── info.json # 数据集元信息(特征、帧率、路径模板) │ ├── stats.json # 各特征 min/max/mean/std 统计量 │ ├── tasks.parquet # 任务语言描述 │ └── episodes/chunk-000/file-000.parquet # episode 索引 └── videos/{camera}/chunk-000/file-*.mp4 # 三路/两路相机视频

⚠️ 克隆完成后若file-000.parquet只有几百字节,说明 LFS 未拉取,请在仓库根目录执行git lfs pull。

🔍 读懂数据:元信息里藏着训练所需的全部配置

打开 sim/task1_parts_pick/meta/info.json,关键字段如下:

字段值说明
codebase_versionv3.0LeRobot 数据集格式版本
robot_typekuavo-5w采集平台机器人型号
total_episodes500500 条完整拾取轨迹
total_frames237813约 6.6 小时 10fps 数据
fps10采集/播放帧率,训练时需一致

features中定义了每帧的完整结构:

  • observation.state:18 维 float32,右侧机械臂 7 个关节角(zarm_r1~r7_link)+ 右夹爪 11 维状态(right_sg100_1~11)
  • action:21 维 float32,在 18 维状态基础上追加底盘速度vx / vy / vyaw,即策略需同时学会"动臂 + 动身"
  • observation.images.head_cam_h/wrist_cam_r:头相机与右腕相机,分辨率 480×640、av1 编码、10fps,视频按 sim/task1_parts_pick/videos/observation.images.head_cam_h/chunk-000/file-000.mp4 的路径模板存放

归一化参数无需手动计算,直接读取 sim/task1_parts_pick/meta/stats.json 中的mean/std即可。

💡 目录下还有一个 sim/task1_parts_pick/20261015/meta/info.json 的双臂扩展版本(200 条轨迹、36 维状态、39 维动作、左/右腕双相机)。单臂跑通后,可切换过去做双臂进阶实验。

⚙️ 一键配置训练环境

推荐 Python 3.10+ 与 CUDA 环境:

# 安装 LeRobot(提供 ACT 实现与 LeRobotDataset 数据加载器) pip install "lerobot[act]" pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118

验证环境能正确读取数据(关键一步,提前暴露解码问题):

from lerobot.common.datasets.lerobot_dataset import LeRobotDataset ds = LeRobotDataset(repo_id="local/task1_parts_pick", root="./task1_parts_pick") sample = ds[0] print(sample["observation.state"].shape) # torch.Size([18]) print(sample["action"].shape) # torch.Size([21]) print(len(ds)) # 237813

🚀 完整训练代码:启动 ACT 策略

训练命令(python -m lerobot.train,参数名以所用 LeRobot 版本为准):

python -m lerobot.train \ --policy.type=act \ --policy.device=cuda \ --dataset.repo_id=local/task1_parts_pick \ --dataset.root=./task1_parts_pick \ --batch_size=8 \ --steps=200000 \ --save_freq=10000 \ --eval_freq=5000 \ --output_dir=./act_task1

参数解读:

  • --policy.type=act:选择 ACT 策略,视觉编码器 + 动作分块预测
  • --batch_size=8:单卡显存吃紧时可降到 4;显存充足可尝试 16 提升收敛速度
  • --steps=200000:500 条轨迹、10fps 数据下,20 万步是兼顾收敛与耗时的常用起点
  • --save_freq/--eval_freq:定期保存 checkpoint 并回放评估,训练过程可中断续训

✅ 验证效果:回放与打榜

训练完成后,checkpoint 位于./act_task1/下,用 LeRobot 自带的回放工具肉眼检验抓取成功率:

python -m lerobot.replay \ --policy.path=./act_task1/checkpoints/last/pretrained_model \ --dataset.repo_id=local/task1_parts_pick \ --dataset.root=./task1_parts_pick \ --episodes=0,5,10

回放脚本会在终端渲染头相机与腕相机画面,并叠加预测动作。若机械臂先下探再闭合夹爪、轨迹平滑无抖动,说明动作分块学习到位;若轨迹"飘",优先检查fps是否与info.json中的 10 保持一致。

🧯 新手常见坑清单

  1. LFS 未拉取:parquet 只有几十字节、视频打不开 →git lfs pull
  2. av1 解码失败:旧版 PyAV 不支持 av1,升级av库或更换解码后端
  3. 帧率不一致:数据 10fps,加载/训练时采样率要统一,否则动作会"慢放"
  4. 归一化错位:单臂数据集与20261015双臂版本维度不同,切换数据集时务必重新加载对应的 stats.json
  5. 数据划分:info.json中splits.train = "0:500"表示全量训练,可自行留出最后 50 条做验证集

📚 下一步:扩展到另外两个任务

跑通 task1 后,同样的流程可平移到 sim/task2_box_move/(箱体搬运,500 条轨迹、约 29.5 万帧)与 sim/task3_loop_feed/(循环上料),对比不同任务间 ACT 策略的迁移与微调策略。更多赛事信息与提交方式见 README.md。

任务目录数据规模相机配置
部件拾取sim/task1_parts_pick/500 ep / 23.8 万帧头 + 右腕
箱体搬运sim/task2_box_move/500 ep / 29.5 万帧三路相机
循环上料sim/task3_loop_feed/见其 meta/info.json头 + 右腕

从 500 条真实轨迹到可回放的 ACT 模型,整个过程不涉及复杂工程——这正是具身智能挑战赛希望带给每位开发者的体验:数据就绪,专注算法。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/29 2:02:12

6AC7 电子管从零搭建实战:八脚管座引脚识别、偏压配置与静态工作点调试全流程

摘要:本文以经典遥截止锐屏五极管 6AC7 为例,手把手带新手从零搭建一套安全、可靠的电子管放大电路。内容严格按实际组装顺序展开:先识别八脚管座引脚定义(含 ASCII 示意图),再依次完成灯丝供电、偏压电路配置、屏极与帘栅极高压接入、抑制栅接地处理,随后通过阴极电阻将…

作者头像 李华
网站建设 2026/10/29 2:01:07

MokaTest 的 AI 功能一览

MokaTest 的 AI 功能一览 MokaTest 最近陆续加了一些 AI 相关的能力,目标很明确:把测试流程里重复、容易漏、费时间的环节交给 AI 先做一遍,人再来审核和确认。 目前主要落地的功能有以下几块。 一、AI 需求评审 写用例之前,需求质…

作者头像 李华
网站建设 2026/10/29 1:58:37

Folia 完整安装部署指南:从零跑通全屏歌词动画

Folia 完整安装部署指南:从零跑通全屏歌词动画 【免费下载链接】folia-major 专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器 项目地址: https://gitcode.com/GitHub_Trending/fo/folia-major Folia 全屏歌词动画播放器&#xff…

作者头像 李华
网站建设 2026/10/29 1:58:15

如何挑选 Android 开发教程:android_guides 开源项目的实用指南

如何挑选 Android 开发教程:android_guides 开源项目的实用指南 【免费下载链接】android_guides Extensive Open-Source Guides for Android Developers 项目地址: https://gitcode.com/gh_mirrors/an/android_guides 学 Android 开发教程,常常比…

作者头像 李华