遥操作是人直接遥控机器人完成动作,同时把当时的观测和动作记下来。记下来的一段连续记录叫一条轨迹(episode)。视觉-语言-动作模型、模仿学习,很多都吃这种数据:给模型看「当时看到了什么」,让它学「人接着做了什么」。
一条轨迹里通常有什么
| 字段 | 是什么 | 对不齐时会怎样 |
|---|---|---|
| 图像 | 一个或多个相机的画面 | 动作和画面错位,模型学到的是另一帧 |
| 本体感觉 | 关节角、夹爪开合、有时还有力 | 和图像时间戳不一致时,抓取顺序会反 |
| 动作 | 人发出的关节增量或末端增量 | 停顿被当成「正确动作」 |
| 指令 | 这句话要做什么,可有可无 | 多任务混在一起时模型不知道在模仿哪件 |
| 结果 | 成功、失败,或中途被打断 | 失败混进成功演示里,模型不知道该不该学 |
存储上常见两种:机器人侧的 ros2 bag,或训练框架自己的一段段文件。bag 能回放,不等于已经是训练集。训练要的是对齐过、切成固定频率、并且标了结果的样本。
三类通常要丢掉或单独标的片段
空动作。 人在想下一步,夹爪停着,画面仍在录。这类帧又多又容易学,模型会把「不动」学成高频动作。
时间对不齐。 相机和关节相差几十毫秒,短动作里足够把「靠近」和「夹紧」排反。后面看到的抖动会很像策略不好,根子在时钟。
没有标签的失败。 抓空、碰撞、人中途把臂拉开,如果和成功演示放在一起,模型不知道该模仿还是该避开。失败可以留,但必须写成失败,而不是和成功混在同一个「演示」标签下。
含糊的「好像碰到了」整段不要。一条轨迹一个结果更干净。
人和场景也会进数据
同一个人总从左边绕过物体,模型会把「从左边来」当成任务的一部分。同一任务至少换起始位置,可能的话换操作者。只保留好看的那几条,部署时稍有偏差就没有样本可对。
仿真里增广出来的轨迹和真机轨迹分开统计。混在一个成功率里,数字会很好看,真机对不上时无法判断是数据问题还是控制器问题。仿真和真机的差别见 Sim2Real。
采集时就写下来的三行
- 谁在操作,场景里有什么
- 相机和关节是否做过时间对齐
- 这条是成功、失败,还是作废
事后补标签,时间戳和当时的判断都补不准。
小结
遥操作数据是「观测 → 人的动作 → 结果」的记录,不是录像时长。能进训练集的,是频率对齐、成功和失败分开、空动作被去掉的那一部分。具身系统里模型处在哪一层,见 Physical AI 扫盲。