跳到正文
EMBODIED INTELLIGENCE · 数据、评测与真机工程

机器人数据不是一段视频,而是一段可追溯的行动

一条轨迹要说明机器人当时看见什么、身体是什么状态、发出了什么动作,以及动作之后发生了什么。时间、坐标、单位、轨迹边界和数据切分共同决定这些记录能否变成可信的训练样本。

机械臂搬运方块,图像、关节状态和动作记录按时间对齐,再按完整任务分组;图像只是数据的一条通道。
直觉总览:机械臂搬运方块,图像、关节状态和动作记录按时间对齐,再按完整任务分组;图像只是数据的一条通道。 生成插画不承载精确结构、尺寸或安全保证,正文机制图为准。 查看原图 ↗
01 · 录像看得见,动作未必找得到

先把一段经历拆成可解释的字段

看烹饪视频,能知道厨师把锅抬起来了,却不一定知道手施加了多大力。机器人学习同样不能只靠“看起来做了什么”:训练目标必须与设备真正接收的动作语义相匹配。

Episode 指一次有边界的交互过程,例如从物体初始摆放到入盒、失败或超时;trajectory 指按时间排列的轨迹。一个 step 是其中一个记录步。episode 级信息描述任务、设备、场景与最终结果;step 级信息描述观察、状态、动作与时间。采样频率不同的相机、关节和力觉可以先保留原始流,再按明确规则构造训练步,不能默认每个文件的第 100 行都发生在同一时刻。

OBSERVATION

当时能观察到什么

多路图像、深度、关节读数、夹爪状态及各自时间戳。区分真实传感器量、估计量和仅仿真可见的真值,避免部署时缺少训练输入。

ACTION

请求机器人做什么

关节目标、末端位姿或速度;必须注明坐标系、单位、关节顺序、绝对/增量含义、控制模式和动作有效时刻。

OUTCOME

动作之后的证据

后续观察、任务结果、终止原因和人工接管区间。命令值不等于实测执行值,成功标签也不应由“已发送动作”推断。

奖励、折扣或终止字段是否存在,取决于学习目标和格式。强化学习数据需要区分任务终止与时间截断;模仿学习也应保留失败和接管信息,以便筛选和分析。RLDS(Reinforcement Learning Datasets,强化学习数据集格式)提供 episode/step 组织及边界标识,但不能替代任务自己的成功定义。

02 · 时间错了,标签就错了

观察应该对应决策时可用的信息

  1. 保存各源原始时间

    区分曝光、采样、接收、发令与执行时刻;记录时钟来源与偏移。

  2. 确定动作语义

    说明这行是目标、增量还是实际状态;对应当前还是下一控制周期。

  3. 按因果关系配对

    构造决策时实际可用的观察历史,不能偷偷读取未来图像。

  4. 生成窗口与有效掩码

    动作块不跨 episode;缺帧、边界填充与无效值要有显式处理。

这是数据处理合同,不是仅把文件按行拼接。离线重建状态可以采用与在线推理不同的方法,但训练输入不能使用部署时无法获得的未来信息。

最近邻匹配容易隐藏未来信息。例如相机帧在 0、33、67 ms,决策发生于 50 ms,67 ms 与 33 ms 同样接近;直接按某个舍入规则可能选到未来帧。若要模拟实时决策,应使用当时已经可用的帧及其实际接收时间。若在离线标签构建中使用插值,则要说明用途,不能让未来样本进入模型观察。

Δx=v Δt\Delta x=v\,\Delta t
仅对恒定平移速度的教学近似:时间错配 Δt 会造成位置错配 vΔt。若速度为 0.4 m/s、错配为 50 ms,则位置差为 0.02 m,即 2 cm;真实运动还涉及加速度、旋转和传感延迟。

标称帧率不是时钟同步。30 帧每秒的摄像头可能丢帧、缓冲或重复帧;两个同频摄像头也可能有固定相位差。缺帧不能用“上一帧重复”悄悄伪装成新鲜观察。应记录原始时间与数据年龄,按任务容差标记无效或重新采集。

动作块在轨迹末尾不足长度时,可以丢弃该窗口,或按算法合同填充并使用损失掩码。不能从下一次任务借几步凑齐:下一 episode 的物体可能已被人重新摆放,接续后就形成不存在的物理跳变。

一个具体格式例子:RLDS 中 is_last=true 的末步保存最后观察,但对应的 action、reward 和 discount 被定义为无效。它们即使在存储中占位存在,也不能继续当作有效学习目标;应按字段合同屏蔽,而不是只检查数组有没有数值。

03 · 文件边界不等于任务边界

存储格式负责找得到,语义合同负责用得对

LeRobot v0.6.1 文档中的 Dataset v3.0把低维信号放入 Parquet、视频放入 MP4,并用元数据恢复 episode 的范围与定位。多个 episode 可以共享存储文件,所以不能靠文件名猜任务边界。格式还描述特征形状、数据类型和帧率等信息;这里固定引用版本,不将某条命令描述为所有版本通用。

跨机器人合并时,数组长度一致远远不够。同样七维动作,可能是不同坐标系下的位置与旋转增量,也可能夹爪开合正方向相反。转换应同时更新动作语义、标定、归一化统计和版本,并保留从原始字段到训练字段的可追溯映射。格式转换成功并不证明机器人能跨本体迁移。

容量算例 · 未压缩 RGB

先算原始量,再评估编码与读取成本

三台 640×480 相机、每像素 RGB 三个 8 位通道、30 帧每秒、连续 60 秒,共 3×640×480×3×30×60 = 4,976,640,000 字节,约 4.98 GB(十进制),未含状态和元数据。视频压缩会显著改变容量,但压缩率取决于内容、编码器和质量,不能给所有数据集套一个固定倍数。训练还要考虑解码吞吐与随机读成本。

04 · 测试集不能是训练集的下一帧

先定义泛化问题,再决定怎样分组

把同一条轨迹的相邻帧随机分到训练和测试,模型很可能见过几乎相同的背景与姿态。至少按完整 episode 分组;若想测新场景、新物体实例或新操作者,就应按对应组整体留出。只留出轨迹、却让相同场景与同一物体出现在两边,只能支持较窄的结论。

动作归一化的均值、方差和范围应从训练部分估计,并随模型保存;不能先看完整测试集,再用它确定更合适的尺度。验证集用于选择模型与阈值,最终测试集保持独立。将失败场景反复拿来改模型后,它就不再是未见测试,必须更新实验记录。

混合不同来源时,采样权重也改变模型实际见到的分布。按帧均匀采样会让长轨迹贡献更多;按 episode 或任务均匀采样则是另一种训练目标。应报告选择,而不是仅写“用了十万条数据”。

05 · 数据集也有版本与误差

规模之外,要能追问每条记录从哪里来

DROID(Distributed Robot Interaction Dataset,分布式机器人交互数据集)的 2024 年研究报告约 7.6 万条示教轨迹、350 小时交互、564 个场景与 86 项任务,由 50 位采集者在 12 个月内完成。这些数字刻画采集覆盖,不等于同样数量的独立能力。项目在 2025 年 4 月又提供约 3.6 万个 episode 的改进相机标定,说明“使用哪个数据版本”会直接影响几何学习。

接入新数据时,先抽样回放“图像—目标动作—实测状态”,检查时间单调性、缺失值、坐标、范围、帧数与边界;再统计场景、对象、失败、接管和动作分布。对异常值先追溯原因,不能为了曲线好看直接裁掉真实接触事件。

保留原始数据、转换程序、版本标识、采集许可与访问范围。录像可能包含人员和私人环境,发布前需要适当授权与处理;公开下载也不意味着任意用途都没有限制。接着用遥操作与示教理解数据如何产生,再用独立评测检验数据改进是否真的转化为任务能力。

KNOWLEDGE CONNECTIONS

把这一层放回完整机器人

返回具身智能知识地图,或沿本专栏继续展开:

RESEARCH LEDGER

一手来源与证据边界

优先使用论文、官方文档、官方模型卡和代码仓库。页面中的数字只代表来源所述设置,不自动外推到其他模型与数据。