CMU发布了一种新的灵巧机器人算法,可以准确地学习如何操纵日常家具带有垂直旋转轴的门,带有水平旋转轴的烤箱,因为这些物体的主要部分由各种关节连接。由于这些关节的存在,被连接物体的零件的零件在运动学上受到关节的约束,因此这些零件只有一个自由度(1DoF)。这些物品在我们的生活中无处不在,尤其是在我们的日常生活中,是我们日常生活的重要组成部分。作为人类,我们看到无论什么样的家具,我们都能很快弄清楚如何操纵和控制它。就好像我们知道这些物体的每个关节是如何运动的。那么机器人能否像人类一样预测家具的移动方式呢?这种预测能力很难得,如果机器人能学会这种能力,对国产机器人来说是一个巨大的助力。近日,卡内基梅隆大学机器人学院DavidHeld教授R-PAD实验室的两名学生BenEisner和HarryZhang在操纵复杂关节物体方面取得突破,推出基于3D神经网络的FlowBot3D,高效表达铰接物体部分运动轨迹的预测算法,例如日常家具。该算法由两部分组成。第一部分是感知部分(perception),它使用3D深度神经网络从被操纵的家具对象的点云数据中预测3D瞬时运动轨迹(3DArticulatedFlow)。算法的第二部分是策略部分(policy),它使用预测的3DArticulatedFlow来选择机器人的下一步动作。两者都在模拟器中完全学习,可以直接在现实世界中实现,无需重新训练或调整。借助FlowBot3D算法,机器人可以像人类一样随意操纵日常家具等铰接式物体。该论文目前是全球顶级机器人会议RoboticsScienceandSystems(RSS)2022的最佳论文候选(前3%),并将于7月在美国纽约展出,与其他7篇优秀论文角逐最佳论文论文荣誉。论文地址:https://arxiv.org/pdf/2205.04382.pdf项目主页:https://sites.google.com/view/articulated-flowbot-3dFlowBot3D只依赖模拟器,在模拟数据中进行监督学习,在为了学习日常家具等关节物体部件的瞬时运动轨迹(3DArticulatedFlow)。3DArticulatedFlow是一种视觉点云轨迹表示方法,可以大大简化机器人下一步策略的复杂度,提高泛化性和效率。机器人只需跟随这个瞬时轨迹并在闭环中重新预测这个轨迹,就可以完成操纵铰接物体的任务。此前,学术界操纵家具等关节物体的常规方法是通过被操作物体的几何特性(如被连接部件的位置和方向)推导出部件的运动方向,或者通过模仿专家策略(通常从人类)学习对特定物体的操作,从而完成联合物体操作的复杂动作。学术界的这些传统方法都没有很好的泛化能力,数据使用效率低,训练需要收集大量的人类演示数据。与这些不同,FlowBot3D是第一个完全基于模拟器的学习,不需要人类的任何演示数据,算法允许机器人通过学习每个部分的瞬时运动轨迹来计算最佳物体操纵路径,因此该算法是高度可概括的。正是这一特性让FlowBot3D能够泛化到模拟器训练期间不可见的物体,成功地直接在现实世界中操纵真实的日常家具物体。下面的动画演示了FlowBot3D的操作。左边是操控后的视频,右边是预测的点云瞬时运动轨迹3DArticulatedFlow。FlowBot3D算法首先使机器人能够识别物体的哪一部分可以被操纵,然后预测该部分将移动的方向。打开冰箱门:打开马桶盖:打开抽屉:这篇论文的审稿人说:总的来说,这篇论文对机器人操作有相当大的贡献。那么,FlowBot3D是如何学会这项技能的呢?当人类看到一个新的家具物品时,比如门,我们知道门是通过一个门轴旋转的,我们知道门轴由于门轴的约束只能在一个方向上旋转,所以我们可以按照我们心中想象的方向去打开这扇门。因此,如果机器人想要准确有效地预测家具等关节物体的操纵方式和运动轨迹,一个有效的方法就是让机器人了解这些部件的运动学约束,从而能够预测这些物体的运动追踪。FlowBot3D的具体方法并不复杂,只依赖于模拟器,不需要复杂的真人数据。另外,模拟器的另一个好处是,在模拟器中,这些家居用品的3D数据文件(URDF)包含了各个部分的运动学约束以及约束的具体参数,所以各个部分的运动轨迹都在模拟器中可以准确计算。FlowBot3D的两个模块。在模拟器训练过程中,机器人观察被操纵物体的3D点云数据作为机器人视觉模块的输入数据。感知模块(perceptionmodule)使用PointNet++预测输入点云中每个点在外力作用下(比如抽屉打开1cm后,门打开5度)的3D关节流轨迹3D铰接流,使用三维坐标向量以不良形式表示。这个运动轨迹的实际数据可以通过正运动学准确计算出来。下一个三维向量坐标减去当前三维向量坐标,就可以得到被操纵物体的部分轨迹。因此,在训练期间,只有预测的3D铰接流的L2损失需要最小化以进行监督学习。在这张图中,蓝色的点是观察到的点云数据,红色的箭头代表立面运动轨迹的预测3DArticulatedFlow。通过这种学习方式,FlowBot3D可以学习到运动学约束下各部件的运动方向,以及同一力作用下部件上各点运动的相对速度和相对方向(速度)。常见的家庭关节是棱柱形的和旋转的。对于抽屉等抽动件,在相同的外力作用下,抽屉表面各点的运动方向和速度都相同。对于转动件,如门,门上各点所受外力相同,运动方向相同,但离转动轴线越远,速度越大。研究人员利用机器人学中的物理定律(螺旋理论)证明最长的3DArticulatedFlow可以使物体的加速度最大化。根据牛顿第二定律,这个策略是最优解。基于理论基础,在实际操作中,机器人需要做的是通过FlowBot3D的VisionModule来预测每个点的运动轨迹。在每条轨迹中,找到最长的3D铰接流向对应的点作为控制点,对该控制点的轨迹进行闭环预测。如果选择的操纵点不能成功抓取(比如表面不满足机械手的抓取条件),那么FlowBot3D会选择长度次长且能够满足抓取条件的点。此外,由于PointNet++的特性,FlowBot3D预测每个点的轨迹,不依赖于物体本身的几何特征,对机器人可能遮挡物体具有很强的鲁棒性。此外,由于算法是闭环的,机器人可以在下一步的预测中纠正自己可能出现的错误。FlowBot3D的真实世界性能FlowBot3D有能力克服现实世界中的泛化挑战。FlowBot3D的设计理念是只要能准确预测被操纵物体的轨迹(3D铰接流),那么下一步就是沿着这个轨迹完成任务。同样重要的是,FlowBot3D利用单个经过训练的模型来操纵多类对象,包括在训练中未见过的类。而在现实世界中,机器人只需要使用这个纯模拟器训练出来的模型,就可以操纵各种真实的物体。因此,在现实世界中,FlowBot3D直接推广到现实世界,因为家用物体的运动学约束与模拟器中的基本相同。FlowBot3D在真实实验中使用的家居物品(包括垃圾桶、冰箱、马桶盖、箱子、保险箱等。在模拟器中,机器人使用一些类别的家居物品进行训练,包括订书机、垃圾桶、抽屉、窗户,冰箱等。在模拟器和真实世界测试中,测试数据来自训练类的新对象和训练期间未见过的类。FlowBot3Dmanipulationtasksinthesimulator.相比较而言,academicThecommonimitationlearning-based世界上的方法需要人类指导来学习如何操纵新物体,这使得这些机器人在现实世界中落地是不现实的,尤其是在家用机器人场景中。此外,3D点云数据比其他方法更强。2DRGB使用的数据,因为点云可以让机器人了解每个关节以及关节之间的关系,从而可以在更高层次上理解和预测零件的运动轨迹,并大大增强泛化能力。实验结果表明,FlowBot3D在操作大部分物体(无论是训练时见过或没见过的类别)时,可以实现小于10%的距离“全开”,成功率可达以上90%。相比之下,其他基于模仿学习(DAagger)或强化学习(SAC)的方法则远远落后,缺乏泛化能力。总之,FlowBot3D是一款很有潜力的作品。它无需微调即可在现实世界中高效部署。这项工作还表明,计算机视觉的进步可以改变机器人领域,尤其是运动轨迹3D关节流的视觉表示,可以应用于多个任务,以简化机器人策略选择和决策。有了这种可推广的表达方式,模拟器学习方法将有可能直接部署在现实世界中,这将大大降低未来家庭机器人训练和学习的成本。FlowBot3D的下一步目前,研究团队正在尝试将流的理解和预测方法应用到关节物体以外的物体上,比如如何利用流来预测6自由度物体的运动轨迹。同时,作者也在尝试将flow作为一种通用的视觉表达,应用到其他机器人学习任务中,比如强化学习,以提高学习效率、鲁棒性和泛化能力。DavidHeld副教授主页:https://davheld.github.io/BenEisner主页:https://beisner.me/HarryZhang主页:https://harryzhangog.github.io/
