Part VI · 第 22 章 模仿学习与数据 · 22.3

遥操作与数据采集:ALOHA、UMI

模仿学习(22.1–22.2 节)留下了一个问题:示范数据从哪里来?答案几乎总是:一个人通过某种接口操纵机器人或它的替身,同时把它看到的和做的都记录下来。这一节从接口讲起:主从臂为什么直接复制关节角、不解逆运动学;延迟怎样拖慢操作员;UMI 的手持夹爪为什么用腕部相机和相对动作,又为什么要做延迟匹配;以及在采集预算有限时,为什么多换几个环境比在同一个环境里多录几条更值。

约 40 分钟 前置:22.1 BC 与 DAgger · 7.5 逆运动学 · 3.4 机器人雅可比 · 5.3 SE(3) · 9.4 执行器与传感器 · 16.2 泛化 5 个交互

    1为什么机器人需要它

    22.1 节的行为克隆把学策略变成了监督学习:给它成对的(观测,动作),它学会从前者预测后者。这个配方里最贵的不是 GPU,而是这些成对的数据。图片和文字可以从网上爬,机器人数据却要有人当场做一遍。看看量级:ALOHA 论文里每个真实任务录 50 条示范(穿魔术贴的任务录了 100 条),每条只有 8–14 秒,可是算上复位,一个任务要 30–60 分钟墙钟时间,平均每条 36–72 秒;UMI 在 30 个地点录的 1400 条示范用了 12 个人时,平均每条约 31 秒。一条示范要花几十秒到一分钟以上的人工,而一个任务通常只有几十到几百条。

    所以一个采集系统要回答四个问题:

    • 映射:人的动作怎样变成机器人的动作?主从臂、VR 手柄、手机、空间鼠标、外骨骼、手持夹爪,各有各的映射方式和代价(FIG 1)。
    • 闭环:操作员看到的是多久以前的画面?延迟会让人变慢、变抖,而慢而抖的示范也会被策略学去(FIG 2)。
    • 记录:记下什么,在哪个坐标系里,带什么时间戳?这决定了数据能不能换一台机器人、换一个地点继续用(FIG 3、FIG 4)。
    • 录多少、在哪里录:预算有限时,是在同一张桌子上多录几条,还是多换几个环境(FIG 5)?

    这一节不重复 22.1–22.2 的学习算法,只关心喂给它们的数据。

    2直觉:主从臂复制的是关节,不是位姿

    最直接的遥操作接口是给操作员一台"小号的机器人"。ALOHA 用两台小的 WidowX 作为主臂(leader),两台 6 自由度的 ViperX 作为从臂(follower),都来自 Trossen Robotics。操作员握住主臂的手柄拖动它,从臂以 50 Hz 复制主臂的关节角,主臂手柄上加装的"剪刀式"机构连续控制夹爪开合。整套系统(含相机等附件)在 2 万美元以内。GELLO 把这个想法推到更便宜:用 3D 打印件和 Dynamixel XL330 舵机做出目标机械臂的运动学等价缩小版(连杆长度按 DH 参数缩放到 0.5 倍),每台物料成本不到 300 美元,支持 Franka、UR5 和 xArm。

    为什么复制关节角,而不是把主臂手爪的位姿交给从臂、让从臂自己解逆运动学(7.5 节)?因为只要主臂和从臂的关节结构相同、连杆比例相同,"关节角相同"就意味着"手爪位姿相同(差一个缩放)",根本不需要 IK:没有奇异位形时的数值问题,没有多解时"肘部翻转"的问题,主臂能摆出的每一个姿态从臂都摆得出。ALOHA 论文明确说,现成的 IK 在奇异位形附近经常失败,所以选了关节空间映射。

    代价是:主臂必须是从臂的"运动学复制品"。VR 手柄、手机、空间鼠标、手部追踪给出的是位姿,没有关节;它们只能走"任务空间重定向":把人手的位姿(经过缩放、平移)当成从臂手爪的目标,每一帧解一次 IK。这种方式对任意机械臂都适用,却继承了 IK 的全部麻烦:目标超出从臂的工作空间、靠近奇异位形、关节限位、多解之间跳变。

    下图左边是主臂(拖动关节圆圈),右边是从臂。先用"半尺寸复制品"主臂和"复制关节"映射动一动,再换成"比例不同"的主臂,最后切到"任务空间 IK"。

    FIG 1主从映射:复制关节 vs 任务空间 IK
    主臂:拖动关节圆圈
    从臂(尺寸 ×2 左右)
    从臂是平面 3R 臂,连杆 0.40 / 0.32 / 0.12 m(虚线圆是它的可达半径 0.84 m)。主臂可选"半尺寸复制品"(0.20 / 0.16 / 0.06 m)或"比例不同"(0.13 / 0.21 / 0.06 m)。空心琥珀色标记是操作员想要的手爪位姿:主臂手爪位置除以运动缩放 \(s\),朝向不变;实心琥珀点是从臂手爪的实际位置;红色线段是两者的位置误差。关节用红、绿、蓝圆圈标出(基座、肘、腕)。任务空间 IK 用阻尼最小二乘(\(\lambda=0.04\),朝向一行权重 0.15 m/rad),每次更新迭代 20 次,从上一次的解热启动。
    试一试
    • 保持"复制关节",换成"比例不同"的主臂,把它摆到一个弯曲的姿态,使从臂手爪偏离想要的位置超过 10 cm。为什么手臂伸直时误差最小(只剩 4 cm)?
    • 还是"比例不同"的主臂,切到"任务空间 IK",保持主臂肘部明显弯曲(\(|q_2|>0.6\) rad):从臂手爪的位置误差小于 5 mm、朝向误差小于 2°。这时两条臂的关节角还一样吗?
    • 在"任务空间 IK"下把运动缩放 \(s\) 调小(放大人的动作),再把主臂伸展开,让目标落到从臂够不到的地方:IK 的残差超过 5 cm,从臂被拉直。"复制关节"模式下缩放有作用吗?
    核心洞见

    主从臂之所以简单可靠,是因为它把"解 IK"这件事交给了操作员的手:人直接摆出关节构型,从臂照抄。只要两条臂运动学相似,关节空间的复制就同时保证了位姿一致、没有奇异和多解问题。任务空间重定向换来的是通用性(任意接口、任意机械臂),付出的是 IK 的全部麻烦,以及"人想要的位姿根本到不了"的情况。

    3动手玩:延迟让操作员变慢

    遥操作时,操作员本身就是控制器:看到手爪离目标还有多远,就按比例把手往那个方向移。这个回路里有两段延迟:人自己的反应时间(这里取 150 ms),和系统延迟(指令传到从臂 + 视频传回操作员,网络、编码、显示都在里面)。9.4 节在关节伺服回路里看过:延迟不改变增益,只吃掉相位,增益太大就会振荡。人也一样。延迟大时,人会本能地放慢,或者"动一下、等一下"(Ferrell 在 1965 年就观察到了这种 move-and-wait 策略)。

    主从臂还有一个常被忽视的好处:操作员能用自己的手感觉主臂在哪里(本体感觉),这条局部回路没有系统延迟。主臂与从臂运动学匹配时,手在哪里,从臂过一会儿就到哪里,所以在空中移动时,视频延迟没那么要紧。但只能从视频里看到的东西(移动的物体、接触是否发生)仍然是迟到的。下图里,操作员要把从臂手爪移到 20 cm 外的目标,±5 mm 内停住 0.3 s 才算完成。

    FIG 2带延迟的人在回路
    上:操作员一侧 · 下:机器人一侧
    位置 (m) vs 时间 (s)
    琥珀色 = 从臂手爪 \(x_f\),紫色 = 主臂 / 操作员的手 \(x_\ell\),绿色虚线与绿带 = 目标及 ±5 mm 容差;上方的空心琥珀标记是操作员此刻在视频里看到的从臂(晚了视频延迟)。操作员模型:手速 \(=K\times\) 感知到的误差,限幅 0.6 m/s,反应延迟 150 ms;系统延迟一半在指令通路、一半在视频通路;从臂伺服的时间常数 30 ms。"自己的手"模式下,操作员按主臂的位置闭环,目标仍从视频里看。仿真步长 2 ms,共 6 s,播放速度与真实时间一致。
    试一试
    • 看视频闭环,把系统延迟调到 300 ms 以上:默认增益下手爪来回振荡,6 s 内停不下来。降低增益 \(K\),让它在 2.0 s 内完成。最快能多快?
    • 保持延迟 ≥ 300 ms,换成"自己的手"闭环,增益 \(K\ge3\):1.0 s 内完成。再把目标换成"移动":这时延迟还要紧吗?
    核心洞见

    延迟给操作员的增益设了一个上限,大约是 \(\pi/(2\tau)\),\(\tau\) 是整个回路的延迟。增益受限,最快的完成时间就和延迟成正比:无延迟时最快 0.60 s,300 ms 时最快 1.50 s。示范因此变慢、变犹豫,策略学到的也是这样的动作。降低延迟最有效的办法,是给操作员一条不经过网络的局部回路:主从臂的本体感觉、VR 里本地渲染的手。

    4第二个视角:UMI,不带机器人去采数据

    主从臂要把整台机器人搬到采集现场。UMI(Universal Manipulation Interface,Chi 等,RSS 2024)换了个思路:做一个手持夹爪,人拿着它在任何地方做示范,机器人部署时在手腕上装一个同样的夹爪和同样的相机。具体做法:3D 打印的夹爪上装一台 GoPro(Hero 9)和 155° 的鱼眼镜头;视野边缘两面小镜子在同一张图里提供"隐式立体"视角;手指上的标记(fiducial markers)让夹爪开度可以从图像里连续读出;夹爪的 6 自由度位姿由视觉–惯性 SLAM 估计(基于 ORB-SLAM3,用 GoPro 内置的加速度计和陀螺仪)。夹爪物料约 73 美元,GoPro 及配件约 298 美元,整机 780 g。

    没有机器人,也就没有"机器人的基座坐标系"。SLAM 给出的位姿在一个地图坐标系里,它的原点和朝向每次录制都可能不同,和部署时机器人站在哪里也没有关系。而腕部相机看到的世界,天然是在夹爪坐标系里的。UMI 的选择是让动作也在夹爪坐标系里:一段动作轨迹里的每个位姿,都相对于这段轨迹开始时的手爪位姿表示("相对轨迹"),本体感觉也用相对量。这样,从观测到动作的映射与场景在世界里的位置、朝向无关。

    下图在一张俯视的桌面上验证这件事。示范者从杯子前方走近、转向杯子、停在抓取位置(杯子在手指前方 8 cm)。我们用同一批 30 条示范(660 个(观测,动作)对)训练两个同样大小的 MLP:相对策略输入杯子在夹爪坐标系里的位置(腕部相机看到的),输出夹爪坐标系里的位移;绝对策略额外输入夹爪在世界坐标系里的位姿,输出世界坐标系里的位移。按"训练"让它们边学边看,再把桌子转 90° 或换一张桌子。

    FIG 3腕部相机 + 相对动作 vs 绝对动作
    俯视图:拖动杯子、夹爪和它前方的朝向手柄
    青色阴影 = 训练桌面上杯子出现的区域,青色细线 = 30 条示范轨迹;虚线方框 = 当前测试桌面上杯子出现的区域。琥珀色 = 相对策略的轨迹,紫色 = 绝对策略的轨迹,都从图中的夹爪出发、各走 30 步;绿色圆 = 杯子,青色扇形 = 腕部相机的视野。两个网络都是 [输入, 32, 32, 3]、tanh、Adam(学习率 0.004),批大小 32,训练到 1500 步自动停止。"评估"在当前桌面上随机摆 40 次杯子和起点,成功 = 杯子最终在手指前方 8 cm 处 2.5 cm 以内、偏角小于 15°。
    试一试
    • 训练至少 1000 步,选"转 90° 的桌子",按"评估":相对策略成功率 ≥ 90%,绝对策略 ≤ 20%。在训练桌面上两者分别是多少?
    • 训练至少 1000 步后,拖动夹爪和它的朝向手柄,让夹爪从一个与示范差别很大的方向接近杯子(起始朝向与 +x 方向相差超过 70°,即 \(|\theta_0|>1.2\) rad;把夹爪放到杯子的另一侧,让杯子落在它前方的青色扇形里):琥珀色轨迹成功,紫色轨迹失败。

    相对动作解决了"在哪个坐标系"的问题,还有一个"在哪个时刻"的问题。在真实机器人上,策略看到的图像已经是几十毫秒前拍的(相机曝光、传输、解码),推理又要几十毫秒,指令发出后机械臂还要一段时间才执行到位。如果策略把图像当成"现在"、把它输出的动作序列当成"从现在开始立即生效",那么对一个移动的目标,它永远慢半拍。UMI 的做法是延迟匹配:把各路观测都对齐到最慢的那一路(通常是相机)的时间戳;把动作按执行延迟提前发送,过时的动作直接丢弃。论文里动态抛掷任务的成功率因此从 57.5%(69/120)提高到 87.5%(105/120)。

    下图模拟这件事:一个冰球在桌上来回滑动,策略以 10 Hz 运行,每次用最新的两帧图像(相隔 0.1 s)估计冰球的位置和速度,按匀速外推出一段动作轨迹,让夹爪停在冰球正上方。

    FIG 4延迟匹配:动作对齐到图像的时间戳
    俯视:冰球与两只夹爪
    位置 x (m) vs 时间 (s)
    青色 = 冰球的真实位置 \(x(t)=0.3\sin(\omega t)\) m(滑块设定峰值速度 \(0.3\,\omega\)),紫色 = 不做匹配的夹爪(把图像当成现在、动作立即生效),琥珀色 = 做了延迟匹配的夹爪(动作从图像时间戳算起,并提前一个执行延迟发送)。下方的条形是延迟预算:红 = 相机,蓝 = 推理,绿 = 执行。误差是 \(t\ge1\) s 之后夹爪与冰球距离的均方根,仿真步长 10 ms。
    试一试
    • 峰值速度保持在 0.25–0.30 m/s,把三段延迟加起来调到 300 ms 以上:不匹配的误差超过 5 cm,匹配后的误差小于 2 cm。延迟怎样分配在三段之间,结果有区别吗?
    • 找到连延迟匹配也救不了的情况:匹配后的误差超过 5 cm。需要调哪两个量?
    换个角度看

    FIG 3 和 FIG 4 是同一个原则的两面:记录下的动作必须在部署时能以同样的意义执行。坐标系上,相对动作只依赖"夹爪此刻在哪",这件事在采集和部署时都知道;绝对动作依赖一个部署时并不存在的地图坐标系。时间上,动作要和它所依据的那张图像对齐,而不是和"策略算完的时刻"对齐。UMI 还把采集和部署时的夹爪、相机、镜头做成完全一样,使观测本身也不变(论文里去掉鱼眼镜头后,杯子摆放任务从 20/20 降到 11/20)。

    5第三个视角:数据的质量、多样性与数量

    采集预算是固定的:人时、场地、机器人。录 200 条示范,是在一张桌子上录 200 条,还是在 20 个厨房里各录 10 条?Lin 等(2024)用 UMI 采了 4 万多条示范、做了 1.5 万多次真机测试,结论很清楚:策略在新环境、新物体上的表现大致随训练环境数和物体数呈幂律增长;环境和物体的多样性远比示范的绝对数量重要;每个环境里的示范够了以后,再加几乎没有用。他们建议,对难度相近的任务,每个"环境–物体"组合录约 50 条,组合数达到 32 个时一般就够了;四个人用一个下午采的数据,就让两个任务在没见过的环境和物体上达到约 90% 的成功率。

    下图是一个大约半分钟就能跑完的玩具版本。每个"环境"有自己的外观向量 \(\mathbf z\)(光照、桌布、背景),它会让相机看到的物体位置稍有偏移,也作为额外的输入特征;每个环境里物体集中出现在某一片区域。网络要从观测预测正确的动作(一个关于物体位置的光滑函数)。我们在 \(K\) 个环境 × 每个 \(N\) 条示范上训练,再在 40 个没见过的环境上测试。

    FIG 5多样性 vs 数量:在 \(K\times N\) 网格上训练 108 个小网络
    新环境上的成功率(点击格子)
    所选格子的训练数据与测试结果
    左:横轴是环境数 \(K\),纵轴是每个环境的示范数 \(N\),格子越绿成功率越高;琥珀色框是所选格子,紫色斜线连起示范总数为 64 的格子。每格是 3 个随机种子的平均,每个种子一个 [5, 16, 16, 2] 的 tanh 网络、Adam(学习率 0.01)、批大小 32、600 步;测试集是 40 个新环境、各 10 个物体位置,预测动作与正确动作的距离小于 0.25 算成功。右:所选格子(第一个种子)的训练物体位置,按环境轮流着蓝、琥珀、紫、青色;小方块是测试位置,绿 = 成功,红 = 失败。"干净示范"的动作标签带标准差 0.05 的小噪声,"带噪示范"把这个独立噪声加大到标准差 0.3。采集时间 = \(K\times\) 每个新环境的准备时间 + \(K N\times\) 每条示范的时间(含复位)。按钮“类 ALOHA 平台”取每条 54 s(ALOHA 报告的 36–72 s 的中间值)和假设的每个新环境 30 min 搬运与布置;“类 UMI 手持”取每条 31 s(12 人时 / 1400 条,已包含在各地点之间移动的时间),不另加准备时间。
    试一试
    • 按"运行",等网格算完("干净示范")。在示范总数正好为 64 的五个格子(紫色斜线)里,点出成功率最高的那个。它比 \(K=2,\,N=32\) 高多少?
    • 切到"带噪示范",等网格重新算完,在 \(K=32\) 一列里点一个成功率 ≥ 80% 的格子。和干净示范相比,这一列需要的 \(N\) 变了吗?为什么?
    核心洞见

    干净示范时,固定 64 条总数,\(K=2,N=32\) 在新环境上只成功 26%,\(K=32,N=2\) 成功 93%;\(K=16\) 时,\(N\) 从 1 加到 8,成功率从 39% 升到 97%,再往上就几乎不动了。原因是 16.2 节讲的泛化:环境太少时,外观特征 \(\mathbf z\) 和物体所在的区域一一对应,网络可以靠"认出是哪个环境"来拟合训练数据,到了新环境就外推失败;环境多了,\(\mathbf z\) 与动作无关这一事实才在数据里显现出来。示范带噪时,数量重新变得重要:\(K=32\) 时 \(N=1\) 只有 18%,\(N=32\) 才到 92%,因为独立的噪声要靠多次平均才能消掉。

    质量同样要紧,而且常常比数量更难补救。好的示范一致(同一个任务用同一种策略,不同操作员之间也尽量一致;不一致的示范会变成多模态,MSE 会把它们平均掉,见 22.1 节的 FIG 5,生成式策略见 22.2 节)、流畅(没有长时间的停顿;停顿的帧教会策略"原地不动")、可复现(只用机器人部署时也能得到的信息完成,例如操作员不要靠侧面才看得见的视角)、并且最好包含一些从偏差中恢复的片段(这正是 DAgger 想要的数据,见 22.1 节)。

    6再看数学

    关节空间映射与任务空间重定向

    关节空间映射只需逐个关节标定一个符号和零位偏移(\(D\) 是对角的 \(\pm1\) 矩阵,\(\mathbf b\) 是偏移):

    $$ \hl{jc}{\mathbf q_f = D\,\mathbf q_\ell+\mathbf b}. $$

    如果从臂的每一根连杆都是主臂的 \(1/s\) 倍(关节轴的排列相同),那么正运动学满足 \(\mathbf p_f(\mathbf q)=\mathbf p_\ell(\mathbf q)/s\)、\(R_f(\mathbf q)=R_\ell(\mathbf q)\):同样的关节角给出同样朝向、按比例放大的手爪位置。比例不同时这个等式不再成立,误差随姿态变化(FIG 1 里伸直时只剩总长度不同造成的 4 cm,弯曲时可以超过 10 cm)。

    任务空间重定向先构造从臂手爪的目标位姿。VR 手柄、手机这类接口一般带"离合":按下按钮的时刻 \(t_0\) 记下人手位姿 \(H_{t_0}\) 和从臂手爪位姿 \(T_{f,t_0}\),之后只传递人手的相对运动(位移部分乘缩放系数):

    $$ \hl{ik}{T^\star_t} \;=\; T_{f,t_0}\;\mathcal S_{1/s}\!\big(H_{t_0}^{-1}H_t\big),\qquad \Delta\mathbf q=J^\top\big(JJ^\top+\lambda^2 I\big)^{-1}\mathbf e\big(\mathbf q,T^\star_t\big), $$

    其中 \(\mathcal S_{1/s}\) 只把位移部分除以 \(s\),\(\mathbf e\) 是 7.5 节的位姿误差,右式是那里的阻尼最小二乘一步。每一帧从上一帧的解热启动迭代几次。阻尼 \(\lambda\) 让奇异位形附近的步长有界,代价是目标够不到时,从臂只会"尽量靠近",停在残差不为零的地方(FIG 1 的第三个任务)。离合还解决了另一个问题:人手的工作空间和从臂的不同,松开离合、把手挪回舒服的位置、再按下,就能"重新对齐"。

    延迟给增益设的上限

    把 FIG 2 的操作员模型线性化:手速正比于感知误差,从臂位置是手速的积分,回路总延迟 \(\tau=\tau_h+\tau_s\)(人的反应 + 系统延迟),开环传递函数是

    $$ L(s)=\frac{K\,e^{-s\hl{loop}{\tau}}}{s},\qquad |L(j\omega)|=\frac{K}{\omega}\;\Rightarrow\;\omega_c=K,\qquad \angle L(j\omega_c)=-\frac{\pi}{2}-K\tau . $$

    相位裕度 \(\pi/2-K\tau\) 必须为正,所以 \(K<\pi/(2\tau)\)。闭环的时间常数大约是 \(1/K\),于是最快的完成时间至少和 \(\tau\) 成正比:延迟翻倍,能用的增益减半,完成时间大约翻倍。FIG 2 的数字(再加上 30 ms 的从臂伺服和 0.6 m/s 的手速上限)与这个估计一致:系统延迟 100 ms 时 \(\tau=0.25\) s,上限 \(K<6.3\),\(K=6\) 时已经停不下来。"自己的手"闭环时,从视频进入回路的延迟消失,\(\tau\) 只剩 \(\tau_h\)。这也是双边遥操作(带力反馈)理论的出发点:Anderson 与 Spong(1989)证明了有延迟时朴素的力反馈会失稳,并用基于无源性的散射理论方法恢复稳定(后来 Niemeyer 与 Slotine 把它改写成"波变量"的形式)。

    相对动作为什么不依赖坐标系

    设 \(T_t\in\SE\) 是夹爪在某个世界坐标系(SLAM 地图或机器人基座)里的位姿(5.3 节)。一段从 \(t_0\) 开始的动作轨迹,用相对位姿表示为

    $$ \hl{rel}{\Delta_k=T_{t_0}^{-1}\,T_{t_0+k}},\qquad k=1,\dots,H . $$

    换一个世界坐标系,相当于所有位姿左乘同一个刚体变换 \(G\):\(T_t\mapsto GT_t\)。相对位姿不变:

    $$ (GT_{t_0})^{-1}(GT_{t_0+k})=T_{t_0}^{-1}G^{-1}G\,T_{t_0+k}=\Delta_k ,\qquad \hl{abs}{T_{t_0+k}\mapsto GT_{t_0+k}} . $$

    腕部相机看到的物体位置 \(\mathbf o^{\,c}=T_{t}^{-1}\mathbf o\) 同样不变。于是"观测 → 相对动作"这一对数据在整个场景平移、旋转之后保持原样,策略在任何地方看到的都是训练分布里的输入;而绝对动作 \(T_{t_0+k}\) 跟着 \(G\) 变了,一个在训练桌面上学的网络在转过的桌面上就要外推(FIG 3)。部署时,机器人以自己此刻的手爪位姿 \(T^{r}_{t_0}\) 为起点执行 \(T^{\star}_{t_0+k}=T^{r}_{t_0}\,\Delta_k\),只需要它自己的正运动学。UMI 用"相对于这段轨迹起点"的写法,而不是逐步的增量 \(\delta_k=T_{t_0+k-1}^{-1}T_{t_0+k}\):增量要连乘 \(T_{t_0+k}=T_{t_0}\delta_1\cdots\delta_k\),每一步的误差都会累积。论文里杯子摆放任务用增量动作时从 20/20 降到 16/20。

    延迟匹配

    设图像在 \(t_c\) 时刻拍下,从拍摄到策略拿到它是 \(\tau_o\),推理 \(\tau_i\),指令到机械臂执行到位 \(\tau_e\)。策略预测的是"从图像时刻起"的轨迹 \(\hat x(t_c+u)\)。不做匹配时,它在 \(t_c+\tau_o+\tau_i\) 时刻之后 \(u\) 秒才发出 \(\hat x(t_c+u)\),再晚 \(\tau_e\) 执行,于是夹爪位置 \(x_g\) 满足下式左边;做匹配时,在 \(t\) 时刻发送的指令 \(u(t)\) 是右式:

    $$ x_g(t)=\hat x\big(t-(\tau_o+\tau_i+\tau_e)\big)\;\Rightarrow\; |x_g(t)-x(t)|\approx |\dot x|\,(\tau_o+\tau_i+\tau_e),\qquad \hl{lm}{u(t)=\hat x\big(t+\tau_e\big)} . $$

    延迟匹配在 \(t\) 时刻发送"为 \(t+\tau_e\) 时刻准备的那一步",并丢弃目标时刻已经过去的步,于是 \(x_g(t)=\hat x(t)\):剩下的误差只来自预测本身(这里是匀速外推遇到加速度,大约 \(\tfrac12|\ddot x|(\tau_o+\tau_i+\tau_e)^2\) 再加上用两帧估计速度的误差)。在 FIG 4 默认的 200 ms、0.3 m/s 下,不匹配的误差 3.9 cm,匹配后 1.0 cm;三段延迟只以总和出现,所以怎么分配结果都一样。

    多样性与数量的一个简单模型

    把新环境上的误差粗略拆成两项:一项来自"环境之间的差异没被覆盖",随环境数 \(K\) 下降;一项来自标签噪声,随总样本数下降:

    $$ \mathcal E(K,N)\;\approx\;c\,\hl{div}{K}^{-\alpha}\;+\;\frac{\sigma^2}{K N}. $$

    示范干净(\(\sigma\) 小)时第一项主导,\(N\) 几乎不起作用,增加 \(K\) 才有用;示范带噪时第二项变大,\(N\) 重新变得重要(FIG 5 的两种设置)。这只是帮助思考的示意,不是 Lin 等论文里拟合出的公式;他们报告的是成功率随环境数、物体数近似呈幂律关系。21.2 节会更系统地讨论规模定律。

    7机器人中的它:采集系统与数据格式

    ALOHA 家族。ALOHA(Zhao 等,RSS 2023):两对主从臂,四台 Logitech C922x 网络摄像头(两台在从臂手腕上,一台在前、一台在顶),480×640 图像,遥操作与记录都在 50 Hz;每个任务 50 条示范,配合 ACT(22.2 节)用约 10 分钟的示范数据在六个真实任务上达到 80–90% 的成功率。ALOHA 2(Google DeepMind 等,2024)改进了硬件:主臂夹爪改成低摩擦直线导轨,打开力从 14.68 N 降到 0.84 N;从臂夹爪指尖夹持力从 12.8 N 升到 27.9 N;用被动的伸缩器替代橡皮筋做重力补偿;相机换成四台 Intel RealSense D405;并开放了带系统辨识的 MuJoCo 模型。Mobile ALOHA(Fu、Zhao、Finn,CoRL 2024)把 ALOHA 装上 AgileX Tracer 移动底盘,操作员的腰部与底盘相连,边用双手操纵主臂边用身体推着底盘走("全身遥操作"),整机预算 3.2 万美元以内;与 825 条静态 ALOHA 数据联合训练后,用 ACT 时"叫电梯"从 0% 提高到 95%,"冲洗平底锅"从 0% 提高到 80%。

    其他接口。RoboTurk(Mandlekar 等,CoRL 2018)用 iPhone 一类的手机做 6 自由度遥操作,让远程众包工人采了 137.5 小时的数据,其中 2200 多条成功示范。GELLO(Wu 等,2023)的 12 人用户研究里,GELLO、VR 手柄和 3D 鼠标的平均任务成功率分别是 0.92、0.72、0.63。DROID(Khazatsky 等,2024)由 50 名采集员在 12 个月里于北美、亚洲、欧洲采了 7.6 万条轨迹、350 小时、564 个场景、86 个任务。AirExo(Fang 等,2024)是与机械臂运动学匹配的低成本外骨骼,和主从臂同属"关节复制"一类。Open-TeleVision(Cheng 等,CoRL 2024)在 Unitree H1 和 Fourier GR-1 人形机器人上把立体相机画面实时送进头显,并让机器人跟随操作员手臂和手的运动。LeRobot 的 SO-100 / SO-101 低成本主从臂套件,用 lerobot-record 一条命令同时遥操作和录制数据集。

    数据格式。两种格式最常见,它们存的东西大同小异:一条条轨迹(episode),每条是一串带时间戳的步(step)。

    RLDSLeRobotDataset (v3.0)
    来源Ramos 等(Google,2021),基于 TFDS / tf.dataHugging Face LeRobot,PyTorch,托管在 Hugging Face Hub
    结构episode = 元数据 + 一串 step;每个 step 有 observation、action、reward、discount、is_first、is_last、is_terminal,其中只有 is_first 和 is_last 是必需的低维信号(状态、动作、时间戳)存在 Parquet 里,相机画面编码成 MP4;meta/ 下有 schema 与帧率(info.json)、归一化统计(stats.json)、任务描述和每条 episode 的起止偏移
    典型用途Open X-Embodiment 用它统一了 60 个数据集用 lerobot-record 录制,delta_timestamps 按秒取时间窗口(历史帧、动作块)
    # LeRobot:按时间(秒)取历史观测与未来动作块(22.1 节的动作分块)
    ds = LeRobotDataset(repo_id, delta_timestamps={
        "observation.images.wrist": [-0.1, 0.0],                 # 两帧历史
        "action": [k / fps for k in range(16)],                   # 16 步动作块
    })
    真实系统里

    Open X-Embodiment(Open X-Embodiment Collaboration,2023)把 34 个实验室的 60 个已有数据集统一成 RLDS 格式:超过 100 万条真实机器人轨迹,22 种机器人形态,21 家机构,527 种技能(160,266 个任务)。在它上面训练的 RT-1-X 在小数据领域比只用单个数据集训练的 RT-1 或原方法好 50%,RT-2-X 在涌现技能评测上是 RT-2 的 3 倍。跨形态混合数据时,动作空间(关节 / 末端、绝对 / 相对、控制频率)和坐标系约定各不相同,统一它们是工作量的大头,这正是 FIG 3 和 FIG 4 讨论的问题在数据集层面的样子。工程上:给每一路数据记录采集时刻的时间戳(而不是收到的时刻);把相机内外参、控制频率、动作的坐标系和单位写进元数据;录制时就标记失败和被打断的 episode(RLDS 为此留了 invalid 之类的元数据字段)。

    8常见误区

    误区 1:把遥操作数据当成"最优示范"

    示范里有停顿、犹豫、试探和纠正。行为克隆会忠实地学走这些:长时间静止的帧让策略在某些状态下"不动",不同操作员的不同策略让动作分布变成多模态。FIG 2 里延迟 300 ms 时,默认增益的示范在目标附近来回摆了 6 s 都没停下,这样的轨迹进了数据集,策略也会摆。录制前统一操作规范,录制后裁掉首尾静止段、剔除失败和被打断的 episode,比事后加数据更有效。

    误区 2:用"收到的时间"给数据打时间戳

    相机、关节编码器、夹爪传感器的延迟各不相同,按"程序收到的时刻"对齐,图像和关节状态之间就差了几十毫秒。手爪移动时,图里物体相对手爪的位置和本体感觉对不上,训练时学到的就是一个被模糊的映射;部署时延迟又不一样,误差就系统化了(FIG 4 里匹配与不匹配的误差差了约 4 倍)。记录采集时刻,按最慢的流对齐,并在部署时测一遍实际延迟。

    误区 3:在部署时不存在的坐标系里记录动作

    SLAM 地图坐标系、某次标定的世界坐标系、采集时机器人基座的位置,部署时都不一定还在。FIG 3 里在训练桌面上 100% 成功的绝对策略,桌子转 90° 后成功率是 0%,相对策略仍然 100%。同样要小心的是相机安装:采集时腕部相机的位置、镜头、视场与部署时稍有不同,观测就离开了训练分布。

    误区 4:在一个场景里录完所有数据

    在实验室同一张桌子上录 200 条,测试时成功率很高,换个房间就崩溃。网络学到的是"这个场景里的这个任务",背景、光照、桌布都成了它的线索。FIG 5 里 \(K=1\) 时,\(N\) 从 1 加到 32,新环境上的成功率只从 3% 到 19%。评估时一定要用没见过的环境和物体;采集时把预算花在多样性上,每个环境录"够用"即可。

    误区 5:示范用了机器人做不到或看不到的东西

    手持夹爪很自由,人可以做出机械臂够不到、关节转不过去、或速度和加速度超出电机能力的动作;操作员可以从侧面、从高处看清楚,而机器人只有腕部和固定相机的画面;操作员的手能感觉到接触力,机器人可能没有力传感器。这些示范在训练集里看着没问题,策略却无法复现。采集后要检查动作的运动学可行性(例如对每条轨迹解一遍 IK),并让操作员尽量只依赖机器人自己能获得的观测。

    9小练习

    1. ALOHA 的从臂直接复制主臂的关节角,而不是对主臂手爪位姿解逆运动学。主要原因是什么?
    选项 C。ALOHA 论文明确提到现成 IK 在奇异位形附近经常失败。关节复制的前提恰恰是两条臂结构相似(所以选项 D 反了);结构不同时,只能用任务空间重定向(FIG 1)。带宽和速度都不是原因。
    2. 把操作员看成增益为 \(K\) 的比例控制器,从臂是一个积分器。回路总延迟从 0.25 s 增加到 0.5 s,能保持稳定的最大增益怎样变化?
    选项 B。\(L(s)=Ke^{-s\tau}/s\) 的穿越频率是 \(\omega_c=K\),相位裕度 \(\pi/2-K\tau>0\) 给出 \(K<\pi/(2\tau)\):\(\pi/0.5\approx6.3\),\(\pi/1.0\approx3.1\)。延迟确实只改相位,但正是因为它吃掉了 \(K\tau\) 的相位,增益上限才和 \(\tau\) 成反比(所以选项 A 错)。
    3. 用 UMI 采集的数据,部署时机器人基座放在和示范者完全不同的位置和朝向。为什么"相对于轨迹起点"的动作仍然可以直接执行?
    选项 A。相对位姿对世界坐标系的选择不变(6 节),腕部相机的观测也不变,所以观测–动作对在新的位置和朝向下与训练时相同。SLAM 地图与基座没有固定关系(选项 B 错);部署时也不需要 SLAM(选项 D 错)。数值大小不是关键(选项 C)。
    4. 一个物体以 0.5 m/s 匀速移动,相机、推理和执行延迟合计 0.2 s。策略把图像当成"现在"、动作立即生效(不做延迟匹配)。夹爪大约落后物体多少?
    选项 D。滞后 ≈ 速度 × 总延迟 = 0.5 × 0.2 = 0.1 m。三段延迟以总和出现。物体匀速时,延迟匹配加上两帧估计的速度可以几乎完全消除这个误差;FIG 4 里冰球有加速度,所以匹配后仍留下外推误差。
    5. 你有采 200 条示范的预算,目标是在没见过的厨房里抓没见过的杯子。示范都很干净。依据 Lin 等(2024)和 FIG 5,哪种分配最可能泛化得最好?
    选项 D。对新环境、新物体的泛化主要随环境和物体的数量增长,每个环境里的示范一旦够用,再多收益很小。FIG 5 里固定 64 条时,\(K=2,N=32\) 只有 26%,\(K=32,N=2\) 达到 93%。只有示范很嘈杂或任务很难、每个环境需要更多样本才能学会时,才应该在每个环境里多录。

    10延伸阅读

    • T. Z. Zhao, V. Kumar, S. Levine & C. Finn, Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware, RSS 2023 — ALOHA 硬件与 ACT
    • Z. Fu, T. Z. Zhao & C. Finn, Mobile ALOHA: Learning Bimanual Mobile Manipulation using Low-Cost Whole-Body Teleoperation, CoRL 2024 — 全身遥操作与静态数据联合训练
    • ALOHA 2 Team (J. Aldaco et al.), ALOHA 2: An Enhanced Low-Cost Hardware for Bimanual Teleoperation, 2024 — 硬件改进、开源设计与 MuJoCo 模型
    • C. Chi, Z. Xu, C. Pan, E. Cousineau, B. Burchfiel, S. Feng, R. Tedrake & S. Song, Universal Manipulation Interface: In-The-Wild Robot Teaching Without In-The-Wild Robots, RSS 2024 — 手持夹爪、相对轨迹动作与延迟匹配
    • P. Wu, Y. Shentu, Z. Yi, X. Lin & P. Abbeel, GELLO: A General, Low-Cost, and Intuitive Teleoperation Framework for Robot Manipulators, 2023 — 运动学等价的低成本主臂
    • A. Mandlekar et al., RoboTurk: A Crowdsourcing Platform for Robotic Skill Learning through Imitation, CoRL 2018 — 用手机远程众包采集示范
    • F. Lin, Y. Hu, P. Sheng, C. Wen, J. You & Y. Gao, Data Scaling Laws in Imitation Learning for Robotic Manipulation, 2024 — 多样性与数量的大规模真机研究
    • A. Khazatsky et al., DROID: A Large-Scale In-The-Wild Robot Manipulation Dataset, 2024 — 多地点、多采集员的大规模遥操作数据集
    • Open X-Embodiment Collaboration, Open X-Embodiment: Robotic Learning Datasets and RT-X Models, 2023 — 跨形态数据集与 RT-X
    • S. Ramos et al., RLDS: an Ecosystem to Generate, Share and Use Datasets in Reinforcement Learning, 2021 — episode / step 数据格式
    • R. J. Anderson & M. W. Spong, Bilateral Control of Teleoperators with Time Delay, IEEE Trans. Automatic Control 34(5), 1989 — 有延迟的力反馈遥操作与无源性
    • W. R. Ferrell, Remote Manipulation with Transmission Delay, IEEE Trans. Human Factors in Electronics, 1965 — 延迟下操作员的 move-and-wait 策略
    • P. F. Hokayem & M. W. Spong, Bilateral Teleoperation: An Historical Survey, Automatica 42(12), 2006 — 双边遥操作综述