移动操作:会移动、会抓取的机器人需要的数据

大多数机器人数据都假设机械臂被螺栓固定在桌上。而会走到物体面前再抓取它的机器人,需要把导航与操作耦合起来的数据。

阅读约 7 分钟

一台仓库里的机器人走向货架,停下,把手伸进料箱,抬起一个包裹,转身,把它送上传送带。这一切看起来都稀松平常,直到你追问训练数据从何而来。几乎全部数据,都是由一条根本走不动的机械臂记录的:螺栓固定在工作台上,盯着同一小块桌面,往同一个料箱里一遍遍地抓取和放置,重复上千个 episode。

这就是移动操作内部那个安静的错配。整个领域是在「底座从不移动」这一假设之上,积累起海量的示范数据的。而一旦底座真的动起来,走动、滚动、下蹲,问题的形状就变了,很多数据也不再那么合身。移动操作并不是给固定底座的操作在底下加一套驱动机构那么简单,它是另一个数据问题。

差别归根结底在于一点:移动机器人必须先抵达物体,才能对它动手,而它是怎么抵达的,决定了那个动作到底可不可能完成。要把这种耦合采集下来,也就是把导航与操作当作一段连续的行为、而非两段来记录,比看上去要难,而这正是从一个移动的身体出发的第一人称采集大显身手的地方。

大多数操作数据都假设有一张桌子

打开一个典型的操作数据集,底座就是家具。机械臂固定在一个不动的框架上,工作区是一块桌面,相机从固定位置观察,物体就摆在机械臂已经够得到的地方。这个假设并非偶然,它让下游的一切都更简单:世界坐标系和机器人坐标系实际上是同一个,可达集合是固定的,而 episode 很短,因为有意思的部分从示范开始的那一刻就已经展开。

Open X-Embodiment 汇集了来自二十多种机器人的一百多万条轨迹,是跨本体学习的一座里程碑,然而其中绝大多数 episode 都来自固定的、装在桌面上的机械臂。这不是在批评这个语料,它只是反映了这个领域在哪里采集最省成本。但这也意味着,在这类数据上预训练出来的策略,见过大量的伸手与抓取,却几乎没见过走到一张自己从未站在其前的台面、再决定该在哪里停下的过程。

当底座能动,什么变了

把机械臂装到轮式或足式底座上,有三样东西会同时膨胀。

状态变大了。固定底座机械臂的状态,基本上就是它的关节角、夹爪和物体。移动系统还要加上底座在世界中的位姿、它的朝向与速度,以及底座和机械臂之间的关系。自由度更多,意味着要覆盖的空间更大,而覆盖,恰恰是示范数据买来的东西。

坐标系变多、还会漂移。在工作台上,物体的位置可以在世界坐标系里写下一次,整段采集都能信任。而在移动底座上,有世界坐标系、底座坐标系、臂基坐标系、头部相机坐标系和夹爪坐标系,它们全都在彼此之间移动。更糟的是,底座对自身位置的估计会漂移。轮式里程计打滑,足式步态带来晃动,SLAM 定位可能有几厘米的偏差。一个写在世界坐标里的抓取目标,会继承这份误差。而以身体为参照采集的数据,把目标表达为相对头部或手的位置,就绕开了漂移,因为策略真正用到的那些相对关系,并不依赖全局位置。

视角随身体移动。墙上的相机可以永远盯着一条不动的机械臂,却没法跟着一台在楼里四处走动的机器人。在操作发生的那一刻,唯一保证在场的相机,是机器人自己身上的那台,而它是沿着底座走过的路径抵达物体的。抓取时能看到什么,取决于是怎么接近的,所以接近的过程也必须在数据里。

从台面固定臂到走到任务面前的机器人,数据问题如何改变
维度固定底座操作移动操作
要采集的状态臂关节、夹爪、物体臂、夹爪,外加底座位姿、朝向与速度
坐标系世界与机器人坐标系重合,稳定多个移动坐标系,底座定位会漂移
视角可用固定的外部相机只能靠机身,随身体移动,由接近方式决定
episode 时长几秒到约一分钟常达数分钟,导航加操作
采集难度可控、可复现更大、更长,更难同步与复位

交接处才是崩坏的地方

经典机器人学把导航和操作装在两个分开的盒子里:规划器把底座开到一个目标位姿,然后由操作控制器接手。两者之间的接缝,正是移动操作悄悄失败的地方。多停半米,货架就够不着;接近的角度不对,策略学到的那个抓取就对不上了。导航结束时的底座位姿,是机械臂接下来一切动作的初始条件,而一段把这两个阶段当成互不相干的片段来处理的示范,就把这份依赖关系丢掉了。

好的移动示范会把这种耦合记录下来。它们采集底座为伸手而预先摆位、机械臂在底座还没完全停稳时就开始伸出,以及那种让机器人倾斜躯干、多够出几厘米而不必再迈一步的全身协同。这正是全身遥操作装置的意义所在:像 Stanford 研发的 Mobile ALOHA 那一类系统,让一名操作者同时驾驭底座和双臂,使记录下来的轨迹包含协同本身,而不是「先导航、再抓取」拼接起来的序列。Stanford IRIS lab 这样的团队,以及源源不断的 cs.RO 工作,之所以推动这种全身视角,正是因为那种朴素的模块边界丢掉了最重要的信息。

机器人在哪里停下,是抓取的第一个决定,而不是行走的最后一个决定。把两者割裂开的数据,会把接近和操作教成互不相识的陌生人。

为什么随身相机正合适

人类就是移动操作的参照标准。我们穿过房间、拉开抽屉、取出一把勺子,想都不用想,把移动与操作耦合得如此紧密,以至于自己从未察觉那个交接。从当事人自身视角把这个过程采集下来,一台头戴相机加一台腕部相机,这段记录就有了一个恰好适合移动机器人的性质:视角随身体移动,正如机器人机身上的相机将要做的那样。

这就是第一人称采集与移动操作天然一体的更深层原因。随身相机会走到台面前,于是它记录下接近的过程、目标不断变化的尺度、手从画面下方进入的那一刻。它天然以身体为参照,因此不依赖一个真实机器人永远不会拥有的完美全局位置。而由于一个人导航到某项任务、再去执行它,本就是一段不间断的连续流,「抵达」与「动手」之间的耦合便被免费地采集了下来,而且恰恰采集在那个事后最难伪造的地方。

部署中的系统让这一点变得具体。Agility Robotics 造出了 Digit,一台在仓库里走向料箱、搬运料箱的双足机器人;Google DeepMind 则在厨房和办公室里,让操作策略跑在移动平台上,机器人必须先把自己开到够得着的范围内,才能动手。两种情形里,机器人的传感器都在机器人身上、随它移动,看到的是随身相机看到的东西,而不是对面房间里三脚架看到的东西。

底座不是脚注

人们很容易把驱动机构当成一个早已在工作台上被解决的操作问题下面的管道。数据却不这么说。当底座移动,状态在变大,坐标系在漂移,视角在行进,episode 也拉长到把那段为抓取做铺垫的行走一并纳入。一台只从固定在桌上的机械臂那里学过东西的机器人,会把世界当作是自己送上门来的。而那些走向物体、抵达之后再抓住它的机器人,将从与它们移动方式相同的数据里学习。

mobile-manipulationdata-collectionnavigationrobot-learningdemonstration-data

来源