看见门就开?CMU研发新型机器人算法准确预测日常家具操纵方法

在日常生活中,我们接触的家具多为“铰接物体(articulated objects)“。何谓铰接物体呢?

比如,抽屉有一条可以抽拉的轨道,门有一个垂直的旋转轴,烤箱有一个水平的旋转轴。这种由关节连接起来的物品,我们就叫它“铰接物体 ”。 由于特定关节的存在,铰接物体的零件会受到关节的运动学约束,让这些零件只有一个自由度(DoF)。

铰接物体在我们生活中无处不在,构成了我们日常生活重要的一部分。而作为人类的我们,无论是看到什么样的铰接结构的家具,我们都能快速地知道如何去操纵以及开动它。好似我们知道这些物体的每个关节都是如何运动的。

那么机器人能不能也像人类一样,拥有这种可以预测家具如何开动的能力呢?如果可以的话,那将对居家机器人来说是一种很大的提升。

近日,来自 CMU(卡内基梅隆大学)机器人学院 David Held 教授的 R-PAD 实验室的两名学生 Ben Eisner 和 Harry Zhang 在有效操控复杂铰接物体(articulated objects)方面取得了重大突破,推出了一种基于3D神经网络,能有效表达,预测日常家具等铰接物体的零件运动轨迹的算法 FlowBot 3D。

该算法包含两个主要子策略,其一是利用3D深度神经网络(PointNet++)去预测纵的物体点云数据(pointcloud)的瞬时运动轨迹 (3D Articulated Flw/3DAF),其二是利用预测出来的运动轨迹去选择机器人下一步的动作。二者完全在模拟器中学习,并可以直接部署到真实世界中,不需要重新训练或者微调。在 FlowBot 3D 算法的帮助下,机器人可以像人一样随意操纵日常家具等铰接物体。

以往的日常家具操控要么是已知纵物体的几何特征(比如连接轴的位置及方向),要么通过模仿人类去学习如何操控一个给定的物体。二者都没有较好的可泛化性并且需要大量人类数据去训练。

与这些不同,FlowBot 3D 是第一个基于模拟器学习,通过学习每个零件的瞬时运动轨迹,使机器人可以计算出一条最优的物体操纵路径。这个特性使 FlowBot 3D 可以泛化到训练没有见到的物体上,并且可以直接部署到真实世界。

具体来说,FlowBot 3D 完全在模拟器中进行监督学习,从而学习出日常家具等铰接物体零件的瞬时运动轨迹 (3D Articulated Flow/3DAF)。3DAF 是一种 3D 视觉表达方式,它能够极大简化策略的复杂度,从而提高操纵效率。机器人只需要紧密跟随这条瞬时轨迹,并闭环地重新预测,就能成功操纵一个铰接物体。

FlowBot 3D 赋能的 Sawyer 机器人不仅可以迅速识别哪个家具零件可以控,还可以准确预测出开动零件的预测轨迹。

手动编码(hardcoding)的策略可以提高机器人在受控环境中的性能,但是想要机器人真正的理解家用物品的操控方式,唯一的方法是教机器人像人一样去预测这些物体的运动轨迹以及运动学约束(kinematic constraint)。

想要赋予机器人预测物体运动轨迹能力,研究者通过监督学习在模拟器中训练机器人的视觉模块,因为家用物体的运动轨迹在模拟器中可以准确计算出来。

在训练中,机器人观测到一个纵物体的点云(pointcloud)数据,然后在这个点云数据上,机器人的视觉模块利用 PointNet++ 来对每一个点(per-point)预测其在受外力下的下一步的位置。此运动轨迹的真实数据可以通过顺向运动学(forward kinematics)准确计算出来。将计算出来的下一步坐标减去目前的坐标就能得到控物体零件的运动轨迹(3D articulated flow/3DAF)。因此,训练的时候只需要去最小化预测出的 3DAF 和线 loss 。

FlowBot 3D 通过在模拟器中学习多种铰接物体在运动学约束下运动的轨迹,来预测新物体的操纵方向。常见的家用绞接物品分为抽动式(prismatic)和旋转式(revolute)两种。对于这两种类别,研究者用物理定律证明了直接跟随长度最长的 3DAF 方向(比如最远离门旋转轴的点)是可以最大化物体的加速度来达到操纵目的最佳策略。

有了理论加成,机器人只需要选择可抓取的最大 3DAF 预测点就可以有效率地操控这些物体。由于机器人的视觉模块学习的是在运动学约束下的每点(per-point)运动轨迹,此视觉模块对机器人对物体可能的遮挡有一定的鲁棒性。另外,由于 FlowBot 3D 算法是闭环算法,机器人可以在下一步对自己可能出现的错误进行修正。

FlowBot 通过使用两个子系统(视觉和操纵系统)克服了泛化性的挑战。在真实世界中,FlowBot 3D 可以准确预测出 3D AF 物体运动轨迹。只要这个轨迹可以准确预测出,那么操纵物体就只需要跟随这个轨迹这么简单。在真实世界中,FlowBot 3D 只需要使用模拟器中训练出来的一个模型就可以操控真实物体。

即使真实世界中的物体和模拟器中的外貌上有很大不同,只要两者的运动学约束相似(抽动式或者旋转式),那么 FlowBot 3D 就可以准确预测出操控物体的策略。

在模拟器中,机器人使用部分类别的家用物品进行训练。训练的物体包括订书机,垃圾箱,抽屉,窗户,冰箱等。研究者在模拟器中利用这些物体去训练出来一个能准确预测 3DAF 方向和大小的模型。

通过高准确度视觉模块和比较简单的操作策略模块的这种组合,机器人可以快速的预测并且操控没见过的物体。

相比较而言,先前基于模仿学习或者强化学习的方法训练的机器人需要几百万的训练数据,有时还需要人工指导才会学习新型物体的操控方式,使得这些机器人在现实世界中,尤其是家用机器人场景中不现实。

实验表明,支持 FlowBot 3D 部署的机器人成功地在操控较有难度的新型铰接物体,表现优于基于模仿学习部署的机器人。研究者使用相同的策略执行所有现实世界的部署,而不需要任何模拟校准或现实世界的微调。

实验结果显示,FlowBot 3D 在操作多数物体时都能将对“全开”的距离达到10%以下。然而其他基于模仿学习或者强化学习的方法差了很远。

FlowBot 3D 是机器人技术一项激动人心的进步,它可以无需微调在现实世界中部署高效且准确性强的家用机器人。这项工作还表明,计算机视觉的进步可以改变机器人领域,增强机器人的能力,同时使这些改进更易于扩展到新的条件。纯粹依靠模拟器学习的方法有可能在直接部署到真实世界里,并且有较强的泛化性,这将大大降低未来家用机器人训练和学习的成本。

这篇工作是在卡内基梅隆大学机器人学院的 Robots Doing and Perceiving (R-PAD) 实验室进行及完成的。R-PAD 实验室在可变形物体操纵(如学习理解布料)课题上处于世界领先地位。实验室的负责人是 PhD 毕业于斯坦福大学的 David Held 副教授,师从Silvio Savarese。实验室的主旨是利用计算机视觉方法(perceiving)帮助机器人去完成复杂的任务(doing)。

David Held 副教授相信,即使端对端学习方式很简单,但是真正部署到机器人上的时候会遇到许多问题,所以研究者应该将视觉(perception)与策略(policy)分开考虑,但是同时思考二者如何互相增加能力。在 FlowBot 3D 这篇工作中,这个主旨深度体现了出来:3D Articulated Flow 是一个可以极大简化策略和规划的视觉表示方式,在正确 3D Articulated Flow 预测的基础上,策略会被简化成追踪 flow 向量。

下一步,论文作者在尝试将 flow 这种视觉理解方式应用到铰接物体以外的物体上面,比如如何用 flow 预测6自由度的物体轨迹。同时,作者在尝试将 flow 应用到强化学习里,以增加强化学习的学习效率。

得益于 DeepMind 开发的计算机 AlphaGo 在围棋领域取得的惊人成就,强化学习这项技术在近几年备受关注。而随着设备计算速度的提升,以及深度学习架构的兴起,强化学习也得到了快速的成长。

强化学习的优势在于可以不依赖标注,而是由奖励函数来主导学习过程,这一点与人类在大多数情况下的学习方式是如出一辙的。2017年,强化学习被评选为《麻省理工科技评论》“全球十大突破性技术”之一。

强化学习的出现,不仅改善了自动驾驶汽车的技术,还让机器人可以在无需明确指导的情况下,掌握对一些物体的简单操作。就像前文提到的那样,机器人也能做到和人一样,在看到物体后就立刻明白如何将其拿起或打开。

相信在不久的将来,各种能够模仿人类行为的灵巧机器人(2019年《麻省理工科技评论》“全球十大突破性技术”之一),将以不同的方式走进千家万户。