为什么灵巧手需要更丰富的操作数据
两指夹爪是一个已解决的数据问题,五指灵巧手做手内操作却不是,而教它所需的数据几乎不存在。为什么灵巧把数据的门槛抬得这么高。
把一枚硬币平放在桌上,用指尖把它捏起来。再换一把厨房夹子做同一件事。夹子能夹起一支铅笔或一只马克杯,却拿这枚硬币没办法,因为要从平面上捏起一个又薄又平的东西,得靠指甲从边缘下方滑进去,一捏,再把它往掌心里轻轻一滚。夹子做得到的与手指做得到的,两者之间的这道鸿沟,正是大多数训练数据所描述的机器人手,与这个领域真正想造出来的机器人手,两者之间的鸿沟。
一个两指平行夹爪做抓取与放置,基本上是一个已解决的数据问题。这类开放语料很多,现代策略用几百条示范就能学会。而一只五指手在半空中翻转一个零件、拧上瓶盖,或系一根鞋带,则是一个难上好几个数量级的问题,用来教它的数据几乎不存在。原因不是没人试过,而是灵巧本身在好几个维度上同时抬高了数据的门槛。
本文要谈的就是为什么。不是「灵巧更难」这句人人都同意的话,而是具体地说:灵巧对一份训练记录提出了哪些夹爪从不需要的要求,多得多的自由度需要监督、更快也更密集的接触事件、单个相机无法分辨的手内打滑与重新抓取,以及一种没有廉价捷径的手指协同。
自由度的鸿沟
先从数目说起。一个平行夹爪只有一个受控自由度:张开、合拢。它去哪儿是手臂的事。把一只五指手装到同一条手臂上,按设计不同,你会一下子多出大约 16-24 个一起运动的受控关节。而机器人手所模仿的那只人手,本身就带着二十多个自由度。
这不是难度上的线性增加。一条示范必须为每一个受控关节、在每一个时间步都给出一个监督目标。对夹爪来说,这个目标接近于一个标量:张开多少。而对一只灵巧手来说,它是一个高维向量,且必须内部自洽,因为手指共用腱、接触同一个物体、彼此互相约束。你无法脱离其余四指在做什么,去单独标注拇指。策略必须学着产生的动作空间,一下子从一个通道变成了大约二十个彼此协同的通道。
一条夹爪示范在每个瞬间只回答一个问题:张多宽。一条灵巧手示范同时回答二十个,而且它们只有合在一起才有意义。
手内操作是另一种问题
抓取与放置,哪怕用一只花哨的手,本质上也大多是搬运:抓住、移动、松开。抓握一旦形成就是静态的。而真正要紧的灵巧,是当物体被你抓住之后仍在继续运动时发生的事:把一颗螺栓翻转过来找它的螺纹,把一支笔在手指间「走」到笔尖朝前,重新抓握一件落进手里角度不对的工具。机器人学家把这种让它得以实现的、一根手指接一根手指的接力称为手指步态(finger gaiting),它在夹爪的词汇里没有任何对应物。
手内操作打破了廉价数据所依赖的那些假设。接触不再是指尖处一次单独的建立与断开,而是分布在五根手指上的一连串建立与断开,每根手指短暂承力,随即松开,让另一根接手。打滑也不再是要极力避免的失败,而成了一种受控的工具:你让物体滑动一段可测量的距离,再把它止住。OpenAI 的 Dactyl 工作曾让单手翻转一个方块、后来又翻转一个魔方,但它几乎完全依赖仿真和域随机化,恰恰是因为并不存在一份记录了这种行为的真实语料可供学习。
为什么一台腕部相机看不到它
让夹爪数据变便宜的那套标准传感配置,一台腕部相机加上关节编码器,到了这里悄悄地不再够用。问题出在自遮挡。手内操作时,物体位于手掌中央,被正在干活的那些手指团团围住。腕部相机顺着手背往下看,看到的是一簇既挡住物体、又互相遮挡的手指。场景中信息量最大的那块区域,恰恰是最稳定地被挡住的那块。
多加几台外部相机有帮助,但它们从外侧撞上同一堵墙:在任何一个瞬间,大多数指尖都被手自身的几何结构遮住。正因如此,灵巧采集无法指望事后从视觉里把状态还原出来。手指的关节角度必须在源头直接测量,靠手套或手自身的编码器,因为没有哪个相机角度能让它们在同一时刻全部可见。推动学习型灵巧的团队,比如斯坦福的 IRIS lab,以及 arXiv 上更广泛的手内操作文献,都反复撞上同一个约束:一只手的真值,无法可靠地从像素里恢复出来。
一条灵巧示范必须携带什么
把要求并排放在一起,这道坎有多陡就一目了然。同一个动词「把它拿起来」,掩盖了记录内容上的一次台阶式跃升。
| 要求 | 两指抓取与放置 | 五指手内操作 |
|---|---|---|
| 需要监督的手部受控自由度 | 1(张开/合拢) | 约 16-24 个协同关节 |
| 每个任务的接触事件 | 一次抓握,短暂,位于指尖 | 众多、同时发生、在手指间不断转移 |
| 真正要紧的力通道 | 净握力,一个数 | 逐指尖的压力与切向力 |
| 关键时间尺度 | 数十毫秒 | 个位数毫秒,亚帧级的转变 |
| 状态的可见性 | 大体在腕部相机视野内 | 自遮挡,必须直接测量 |
| 可用的开放数据 | 大量,语料众多 | 稀薄而零碎 |
有两行值得强调。帧率:夹爪那一次单独的接触转变,用一路快速触觉通道就能轻松抓到;但手指步态把好几次接触转变塞进了夹爪完成一次所需的时间里,于是力和触觉数据流必须跑在数百赫兹,否则那次重抓在两次采样之间就成了一团模糊。还有逐指尖的力:单个腕部力/力矩传感器报告的是整只手上的净力旋量,它说不出到底是哪根手指在打滑。灵巧需要按接触点分辨的力,这意味着每根指尖都要有触觉传感,并标定到物理单位。
为什么这类数据在规模上几乎不存在
上面这一切,都让灵巧示范的生产变得昂贵,而这份昂贵,表现为它的缺席。大型开放操作语料绝大多数是夹爪数据,因为那是多数研究机器人所配备的,也是遥操作装置能廉价产出的。像 RH20T 这样把视觉与真实的力、触觉读数配在一起的数据集,是例外而非常态,而且即便是它们,也偏向更简单的末端执行器。高自由度、逐指、带力测量的手内数据,是本已稀薄的供给中最薄的那一片。
这个领域眼下的应对方式很能说明问题。NVIDIA 的 Isaac GR00T 计划把真实机器人数据、人类视频和大量仿真掺在一起,正是因为真实的灵巧示范太稀缺,无法单靠它来训练;其 GEAR lab 则一直在推动用合成的方式生成灵巧示范,把那点仅有的真实数据成倍放大。Physical Intelligence 展示过在真正灵巧、可形变的任务上的通用策略,而那些工作贯穿始终的一条线索是:最难的部分,一开始就是把这种行为的示范凑齐。当标准动作变成在仿真里制造数据,这本身就是一个信号:真实的东西不够。
所以,读懂一段机器人手打结的短片,诚实的方式不是「模型变聪明了」,而是「有人为那一个行为解决了数据问题」,而且通常绕了一大圈仿真。夹爪教会这个领域:操作可以用几百条示范学会。而手正在教它那行小字:那个数字,一直是末端执行器能做多少事的函数,而一只手能做的事,多得多。补上这道鸿沟,与其说靠一个更聪明的策略,不如说靠有人真的走出去,一个关节一个关节、一根手指一根手指地,把任何夹爪语料都不曾包含的那份灵巧记录下来。