ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

从数据采集到模型部署:Every-Embodied手把手教你训练ACT、Pi0与SmolVLA抓取策略(附Notebook)

从数据采集到模型部署:Every-Embodied手把手教你训练ACT、Pi0与SmolVLA抓取策略(附Notebook) 从数据采集到模型部署Every-Embodied手把手教你训练ACT、Pi0与SmolVLA抓取策略附Notebook【免费下载链接】every-embodied仅需Python基础从0构建自己的具身智能机器人从0逐步构建VLA/OpenVLA/SmolVLA/Pi0 深入理解具身智能项目地址: https://gitcode.com/gh_mirrors/ev/every-embodiedEvery-Embodied是 Datawhale 开源的具身智能实战教程仅需 Python 基础即可在 MuJoCo 仿真中走完遥操作数据采集 → 回放校验 → 训练 ACT / Pi0 / SmolVLA → 闭环部署的完整流程手把手教你训练属于自己的机器人抓取策略。本章所有环节都以可直接运行的 Notebook 提供无需真机即可从零上手 VLA 模型训练。整体流程一览5个Notebook跑通抓取策略整个教程围绕一个经典桌面任务展开机械臂抓起杯子并放到盘子上。当杯子落在盘上、夹爪打开且末端位于杯子上方时环境判定成功。阶段核心文件说明① 数据采集1.collect_data.ipynb键盘遥操作采集示教轨迹② 数据回放2.visualize_data-nova5.ipynb在仿真中回放动作先验数据再训练③ 训练 ACT3.train.ipynb从零训练 Action Chunking Transformer④ 部署 ACT4.deploy.ipynb加载 checkpoint 闭环执行⑤ 语言数据5.language_env.ipynb采集红杯/蓝杯两类语言任务⑥⑦ Pi0 / SmolVLA7.pi0.ipynb、8.smolvla.ipynb基于语言条件数据微调并部署支持多种机械臂场景OMY、Nova5、xArm6/xArm7采集入口各有对应 Notebook如 1.collect_data_xarm7.ipynb。环境快速配置Python 3.10 MuJoCo 3.1.6环境配置是本教程最容易踩坑的一步官方建议在Python 3.10下进行并且不建议直接pip install lerobot。依赖清单见 requirements.txt关键要点创建 conda 环境Python 3.10安装requirements.txt中的依赖MuJoCo 固定为3.1.6若 torch 的 CUDA 版本有问题按 README 中的说明重新安装指定 CUDA 版本的 torch解压物体资源在asset/objaverse目录下解压plate_11.zip启动 JupyterLab 后建议先用 check_training_configs.py 校验训练配置只解析配置不训练、不下载权重第1步键盘遥操作采集示教数据打开1.collect_data.ipynb用键盘操控机械臂完成抓杯-放盘动作。键位设计非常直观WASDx-y 平面移动R/Fz 轴升降Q/E倾斜方向键其余旋转空格开合夹爪Z重置环境并丢弃当前回合数据画面叠加了 Agent 视角、腕部第一人称视角、侧视图与俯视图四路图像——这正是后续训练 VLA 模型所需的多视角输入。数据默认 20 fps以 LeRobot v2.1 格式parquet 元信息保存到./demo_data仓库中已附示例数据集 demo_data_example 供快速体验。第2步回放数据——训练前先验货新手最该养成的习惯训练前先回放。按采集时使用的机器人选择对应回放 Notebook如 2.visualize_data-nova5.ipynb数据路径和机器人模型必须匹配。主窗口回放动作右上、右下叠加图像直接来自数据集。如果回放轨迹都失败说明数据本身有问题键位打飘、夹爪时序错位等此时训练再久也没用——先修数据。第3步训练ACT并对比预测动作运行 3.train.ipynb大约需要 30~60 分钟。核心超参参数示例值直觉理解chunk_size10连招长度一次预测未来 10 帧动作值越大动作越连贯n_action_steps10实际执行步数通常与 chunk_size 一致training_steps5000官方建议至少 5000 步才有可评估的效果batch_size64按显存调整Notebook 内置了训练曲线绘制和预测动作 vs 真值动作的对比图——蓝橙两条线贴合得越紧说明 ACT 越接近示教轨迹训练好的 checkpoint 保存在./ckpt/act_y。⚠️常见报错若遇到PicklingError: Cant pickle function lambda把 DataLoader 的num_workers设为0即可详见章节 README。第4步部署ACT策略闭环执行运行 4.deploy.ipynb通过ACTPolicy.from_pretrained(./ckpt/act_y, ...)加载 checkpoint即可在仿真中观察策略自主完成抓取第5步采集语言条件数据红杯/蓝杯要训练 Pi0 和 SmolVLA需要带语言指令的数据。运行 5.language_env.ipynb键位与环境一相同采集把红杯子放到盘子上把蓝杯子放到盘子上两个任务共 20 条数据也可以直接下载公开的 20 episode / 2621 帧示例数据集统一放在./demo_data_language目录。采完同样建议用 6.visualize_data.ipynb 检查轨迹。第6步训练与部署Pi0Pi0 是 π 系列的动作生成式 VLA 模型微调配置在 pi0_datawhale_eai.yamlchunk_size5、steps20000、batch_size16默认读取本地./demo_data_language数据。训练命令一行搞定python train_model.py --config_path pi0_datawhale_eai.yaml训练脚本 train_model.py 基于固定版本的 LeRobot支持 checkpoint 保存与断点续训。WB 日志中可以看到 loss 平滑收敛运行 7.pi0.ipynb 即可看到微调后的 Pi0 按语言指令完成对应颜色杯子的抓取放置第7步训练与部署SmolVLASmolVLA 是轻量级开源 VLA视觉-语言基础能力更强配置与 Pi0 流程完全对称smolvla_datawhale_eai.yaml 同一份语言数据 同一份 train_model.pypython train_model.py --config_path smolvla_datawhale_eai.yaml部署效果见 8.smolvla.ipynb 注意更换本地数据目录时需同步修改 YAML 中的dataset.root和dataset.repo_id两项部署 Notebook 中的路径也要保持一致。进阶策略到底真成功了吗日志里的success有时会把杯子被挤到盘子旁边杯子倒了但位置接近判成成功。09策略诊断与物理成功评估.md 给出了更严格的physical_success口径杯子被真正抬起 ≥0.03m、持续若干步、终态直立并提供失败四分类诊断表失败类型常见现象优先检查未接触夹爪停在杯子旁边图像条件、初始位姿、语言指令抬起不足碰到杯子但夹不住gripper 动作、动作归一化放置偏抬起但落点远离盘子chunk 长度、末端示教、DAgger 纠偏倒杯到盘附近但姿态不直立release 时序、放置高度推荐报告结果时优先使用physical_success两者不一致时打开视频复核。常见问题速查问题解决方案pip install lerobot报错按requirements.txt安装固定 commit 版本不要直接 pip 安装PicklingErrornum_workers改为 0MuJoCo 版本冲突确认 MuJoCo 为 3.1.6torch CUDA 不可用按 README 重装指定 cu124 版本的 torch 2.6.0回放失败就去训练先修数据回放是最低成本的数据质检写在最后从遥操作采集到 ACT / Pi0 / SmolVLA 闭环部署本章教程用一条抓杯放盘主线串起了具身智能策略训练最核心的工程链路。建议按先 ACT无语言、从零训练→ 再 Pi0 / SmolVLA语言条件、微调大模型的顺序完成全部 Notebook再阅读 09策略诊断与物理成功评估.md 学会判断策略是否真正可用。更多章节VLA 综述、LIBERO 复现、硬件实操等可在 README.md 与仓库目录中继续探索。【免费下载链接】every-embodied仅需Python基础从0构建自己的具身智能机器人从0逐步构建VLA/OpenVLA/SmolVLA/Pi0 深入理解具身智能项目地址: https://gitcode.com/gh_mirrors/ev/every-embodied创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表