Engineering Case Study

人形机器人操作数据采集与 VLA 推理验证

把 baseline 复现、LeRobot v2.1 到 v3.0 迁移、100 条操作数据、ACT / Pi0 / SmolVLA 的分工整理成可复盘工程页。

参赛实践LeRobotACT / Pi0SmolVLA100 条操作数据

数据规模

100 条

四类任务操作数据,分布细节建议继续补 dataset metadata

任务覆盖

4 类

拣选、流水线分拣、零件嵌入、装箱

模型链路

ACT / Pi0 / SmolVLA

分别用于模仿学习、VLA 策略尝试和推理演示

比赛状态

结果待公布

页面避免写成已获奖项目

01

背景、角色与目标

项目背景

优必选人形机器人挑战赛要求围绕人形机器人操作任务完成数据采集、训练和推理链路。项目重点不是单点 demo,而是能把数据格式、任务适配和模型推理串起来。

我的角色

我独立完成官方 baseline 复现、四类任务配置理解、LeRobot 数据采集链路整理、ACT/Pi0 训练尝试与 SmolVLA 推理演示。

任务目标

建立从仿真任务配置、操作数据采集、LeRobot 数据集整理、策略训练到推理视频展示的可验证链路。

任务目标

  • 复现官方 baseline,并把四类任务配置和采集流程跑通。
  • 采集 100 条可用于训练/验证的操作数据,并明确数据字段和任务来源。
  • 对比 ACT、Pi0 与 SmolVLA 在链路中的分工,避免只堆模型名。
  • 记录 LeRobot v2.1 到 v3.0 迁移时的数据格式、脚本和兼容性问题。

技术方案

  • 先从仿真任务 YAML 和 DataLogger 入手,确认每类任务的输入、动作和场景参数。
  • 用 LeRobot 数据集结构统一图像、状态、动作、episode metadata 和任务描述。
  • ACT 用于验证模仿学习 baseline,Pi0 用于 VLA 策略训练/适配尝试,SmolVLA 用于端到端推理演示。
  • 把推理视频、本地采集视频和 GitHub 代码位置放在同一页,招聘方能直接复核。

02

关键实现

ACT / Pi0 / SmolVLA 分工

ACT 主要验证行为克隆 baseline;Pi0 用于测试 VLA policy 训练与配置;SmolVLA 用于把图像输入和语言/任务条件接到推理演示中。

LeRobot v2.1 到 v3.0 迁移

迁移重点在数据集 API、policy 配置、训练脚本入口和兼容字段。页面保留代码链接,后续可补充具体报错截图和修复 commit。

个人贡献与 baseline 边界

My Contribution

我完成官方 baseline 的本地复现、四类任务配置梳理、100 条操作数据采集、ACT/Pi0 训练链路尝试、SmolVLA 推理演示,以及 LeRobot v2.1 到 v3.0 迁移时的数据结构和脚本入口排查。

我重点处理的文件范围

证据应优先指向任务 YAML、DataLogger、LeRobot 数据集读取、训练脚本和模型策略入口;这些文件能回答“任务怎么适配、数据怎么记录、模型怎么跑起来”。

官方 baseline 边界

仓库中的 Docker 环境、基础 README、Isaac Sim/LeRobot 通用入口、官方预训练权重说明和大段任务规则说明来自官方 baseline 或上游框架。作品集页面明确把这些作为复现基础,不把官方说明文档等同于个人贡献。

03

LeRobot 数据采集流程

STEP 1

任务配置

选择 Conveyor / Foam / Packing / Part Sorting YAML 场景。

STEP 2

仿真执行

在 UBTECH sim 中执行操作任务并记录机器人状态。

STEP 3

DataLogger

保存图像帧、动作、状态、episode 边界和任务 metadata。

STEP 4

LeRobot Dataset

转换为训练脚本可消费的数据集结构。

STEP 5

训练/推理

ACT、Pi0 训练尝试,SmolVLA 推理视频验证链路。

04

训练与推理链路对比

项目
改动前 / 风险
改动后 / 处理方式
ACT
只作为模型名展示时,招聘方无法判断做了什么。
定位为模仿学习 baseline,用 100 条操作数据验证数据到 policy 的训练闭环。
Pi0
容易被理解为简单跑官方 demo。
定位为 VLA policy 适配尝试,重点说明配置、输入结构和训练入口。
SmolVLA
只放视频,缺少任务解释。
作为推理演示证据,展示模型在 UBTECH 操作任务场景中的动作输出链路。
数据质量
只写 100 条数据,缺少可判断的信息。
补充任务类别、episode 字段、样例说明、成功率和失败案例的展示槽位。

05

问题、解决方案与判断标准

问题

LeRobot 版本迁移导致脚本入口、配置字段和数据集结构不完全一致。

解决方案

把 v2.1 与 v3.0 的数据集、policy、训练脚本拆开检查,优先保证数据读取和可视化能跑通。

怎么判断变好

通过 visualize_dataset、train.py 和推理视频验证数据能被后续模型链路消费。

问题

100 条数据如果只报总数,无法说明是否覆盖任务分布和失败场景。

解决方案

在页面中明确四类任务来源,并预留 dataset metadata、任务分布和成功率位置。

怎么判断变好

后续补齐每类任务条数、成功/失败标记和代表 episode 后,可直接作为面试追问材料。

问题

ACT、Pi0、SmolVLA 容易变成关键词堆叠。

解决方案

把三者放进同一训练/推理链路,分别说明 baseline、VLA policy 适配和推理演示作用。

怎么判断变好

页面能回答“每个模型分别做了什么”,比单个项目卡片更像工程作品集。

06

可验证证据

SmolVLA 推理视频

视频用于展示 UBTECH 操作任务场景中的推理链路。当前可作为推理演示证据,建议后续补字幕标注任务名、输入视角和动作输出。

LeRobot 数据采集视频

视频展示数据采集过程,可用于说明 100 条操作数据不是纯文本描述,而是有实际采集链路支撑。

07

代码位置

08

复盘

这个项目的价值在于数据、训练和推理链路的完整性。作品集页面要让招聘方看到数据长什么样、模型各自做什么、推理视频验证了什么。

后续最该补的是数据分布与成功率:四类任务各多少条、每类成功率、失败案例截图、SmolVLA 视频对应的具体任务名和输入输出说明。