背景:文件能打开之后还缺什么
一段机器人数据包含相机图像与状态、动作序列。把文件存进目录只解决了存储:它属于哪个来源版本、经过什么检查、交付了哪些内容,仍需要平台保存明确关系。
本项目聚焦数据协作与版本交付:Java 管业务状态、权限与事务,Python Worker 调用 LeRobot 官方工具处理数据,Rerun 辅助查看。目标是让每份交付都能回到当时的输入与处理依据。
数据链路
来源及 revision → Episode → 结构检查 → 人工复核
→ 候选成员 → 冻结清单 → 官方构建与读回 → 交付记录验证使用公开 LeRobot 数据;其中的机器人动作并非本项目采集,不能据此推断训练或真机控制已完成。
输入输出
- 解决的问题:多人协作后,如何说明一份交付包含哪些输入、依据哪次检查复核、经过什么构建,重试后结果是否仍可信。
- 输入:经 UploadSession(MinIO presigned 直传)上传的 LeRobot 文件或公开 fixture;来源身份为租户 + source + revision + episode_index,重复导入不产生重复 Episode。
- 输出:不可变数据集版本(冻结清单 + manifest hash)与交付记录,经官方读取路径读回核对。训练 / 模型 / 评估目前为关联记录,未对接外部训练执行。
- 平台实现:UploadSession 状态机、幂等物化、条件复核、Selection 冻结、Job claim / lease / attempt / retry、租户隔离;Python Worker 执行与 LeRobot 官方读写;结构 QC 与 Rerun 预览;Vue 工作区覆盖 devices / episodes / qc / datasets / training 等页面。
系统架构
业务记录
统计与状态缓存
数据资源
Spring Boot 是唯一的业务权威,Python Worker 只领取任务并报告结果,大文件走对象存储,Java 不解析数据格式。
从采集到评估
质检通过的 Episode 进入候选集合,冻结为不可变版本后触发官方构建,产物登记后关联训练、模型与评估,形成交付链。
分工
| 部分 | 职责 |
|---|---|
| Vue 工作区 | 查找数据、提交复核、组织候选、查看版本与任务 |
| Java 服务 | 权限、版本关系、冻结成员、持久任务与产物登记 |
| Python Worker | 领取任务、执行处理、生成产物并报告结果 |
| LeRobot / Rerun / 存储 | 官方读写与读回校验、多模态查看、MinIO / MySQL / Redis |
约束集中在:谁有权操作、处理的是哪份输入、结果何时生效、重试与旧回调如何不污染已确定版本。
三个关键问题
1. 审核的是哪份输入
结构检查与人工复核回答不同问题:文件可读不等于动作成功,人工通过也不能补齐缺失的必需检查。因此复核记录来源 revision、QC run 与 decision revision,服务端校验写入依据是否仍有效。
相关机制见两个质检员同时审核一条数据。
2. 交付的是哪一组内容
候选集合可调,冻结版本固定。构建只读冻结的成员、来源、复核依据与配置,不查询“最新数据”。输入清单记录用了什么,输出清单记录产生了什么;文件校验查完整性,官方读回查可读性,两者缺一不可。
这延续了从 CRUD 到 AI 数据平台中提交、审核与交付分离的思路。
3. 执行失败后谁能提交结果
Job 表达一次业务处理,attempt 表达具体执行归属;lease 与结果校验识别失效执行,幂等规则处理重复请求。取消与完成竞争、Worker 失联、旧结果晚到都需要按执行证据验证,而非只看成功标签。
分工讨论见训练任务为何不塞进请求里。本项目当前处理 IMPORT / BUILD。
当前范围
已跑通:上传直传 → 来源识别 → 结构检查(帧序、维度、时间、帧率、可解码性)→ 人工复核 → 候选 → 冻结 → 官方构建与读回 → 交付记录;任务可靠性、租户隔离、构建输入输出一一对应均有自动化测试覆盖。
暂不包含:训练执行与 GPU 调度、实时采集与 MCAP、多相机硬件同步、VLM 辅助质检、HDF5 / RLDS / Hub 接入;质量通过不等于训练有效,无真实机械臂验证。
Roadmap
- 版本化质量规则:规则版本、阈值、实测值与证据,补齐信号级算子与可观测性。
- 数据集治理:不可变发布语义、版本 diff、血缘边、统一指标层。
- 生态闭环:ROS 2 采集、流式质检、训练评测反馈(Data → Train → Eval → Data)。
阅读路线
- Episode 是什么:先理解数据对象与字段含义。
- 从 CRUD 到 AI 数据平台:理解协作为何需要不同业务对象。
- 两个质检员同时审核一条数据:看写入条件与事务。
前序案例是 AI 数据标注与模型训练管理平台,理解变化见从 AI 数据平台到 LeRobot。
← 返回项目