近日,北京大学人工智能研究院朱毅鑫助理教授及团队在IEEE/RSJ IROS 2022发表文章“Sequential Manipulation Planning on Scene Graph”,介绍了让机器人在理解场景结构的基础上进行复杂的任务规划,从逻辑语言到场景图,机器人的任务规划潜力获得了极大提升的方法。
灵活利用外部环境以助达成目标一直以来被看作是高等智能的一种体现,其中不仅涉及了智能体对复杂环境的认知能力,也反映了智能体对规律及常识的灵活应用。例如,在搬运大量物体时,几个月大的婴儿或者拥有同等智力的猴子只会用两只手一趟趟地搬运物体(下左),等到婴儿再长大一些,他们会变得更加聪慧,懂得使用桶或者容器来提高效率(下中)[1]。那些搬运领域的“专家”们则能够将环境利用到极致,合理地将物体进行堆叠以求更好更快地搬运大量物体(下右)。在这个例子中我们不难发现,人类逐渐在成长中学会了物体间如何支撑才能稳定这一物理规律,并且灵活运用到了自身的行动中。
一个智能体,或是一个智能机器人,是如何利用物理规律或者常识来规划行动并达成目标的呢?其实从20世纪50年代开始,人工智能领域的学者们就思考着怎样让智能体自主解决复杂问题,并发展出了自主规划(automated planning and scheduling)这一子领域。结合后来机器人学的出现与发展,进而衍生出了机器人的自主规划,即任务规划(task planning)这一主题,目的就是为了让机器人根据所处环境、自身能力,以及任务目标来安排合理的行动计划(action sequence)。任务规划最初依靠逻辑语言,使用离散化的符号描述环境状态与物体之间的关系,通过搜索算法搜寻可行的行动序列(其中隐含了人为定义的物理规律和常识)改变环境状态直到目标状态。经过几十年的发展,基于逻辑语言的任务规划渐趋成熟,但在应用到实体机器人上面时,其中的问题逐渐凸显出来:逻辑语言无法描述不断变化的连续信息,例如物体在空间中的坐标,物体的几何模型,性质等等。但是这些信息又是机器人进行运动规划(motion planning)所必需的,导致一个在逻辑语言上合理的计划,在三维空间中并不一定合理。所以,对机器人来说,基于传统的逻辑语言的任务规划有着很多无法解决的痛点。
近年来,人工智能已经发展到前所未有的高度,其中计算机视觉得到了极大发展,对环境信息的表达更加丰富。其中通过机器人视觉与SLAM算法生成的场景图[2]不仅仅可以表示物体之间的逻辑关系(例如上、下、左、右等),也可以表示物体本身的性质(几何形状、体积、质量等),以及运动结构(kinematic structure)。例如前文提到的搬运例子,物体之间稳定的支撑关系由物体自身几何形状、质量、重心位置、物体间相对位置等等因素共同决定,而且这些信息仅靠逻辑语言无法完整描述。但是依据场景图上丰富的信息,就有可能描述稳定支撑关系,进而使得利用更加丰富的物理常识进行任务规划成为可能。如此看来,使用场景图作为智能机器人任务规划的基础是非常有潜力的。
我们通过进一步完善[2]提出的场景图,在此之上提出了一套全新的任务规划方法[3]。首先来看下面这张图,机器人的任务是将桌子上的所有物体放到抽屉里,而抽屉是在两层橱柜里面(下左)。由于抽屉里原有的物体与有限的空间(下中),机器人需要小心安排物体摆放位置。在这里,我们使用了遗传算法(genetic algorithm)首先寻找可能的场景图结构(即物体间的逻辑关系),之后通过随机优化算法(stochastic optimization)确定物体位置(即利用空间几何信息避免与物理常识冲突),最终生成一个可行的目标场景图(下右)。
在知道如何摆放之后,机器人仍需要规划一系列的动作例如开门、关门、抓取、摆放等等以求最快达成目标。因为我们已经得到起始和目标场景图,我们可以通过计算二者之间的图编辑距离(graph editing distance)生成基本动作集合(action set),最后根据物理规则与常识(例如:在一个动作之后,场景中物体不允许倾倒;物体之间无法穿透)对动作集合里面的元素进行补充和拓扑排序生成最终行动计划。在任务规划之后我们使用了基于虚拟运动链(Virtual Kinematic Chain)对任务进行运动规划[4][5]。基于虚拟运动链的运动规划将机器人与被操作的物体视作一个整体,通过虚拟运动链结构的改变对动作进行抽象,可以在长行动计划上规划出手、脚、物协同的路径以供机器人执行。
下图展示了任务规划的结果,我们可以发现几点有趣的现象:原本抽屉里的棕色盒子最先被移到一旁,给后续动作提供空间;紫色的盒子被放倒,作为一个托盘将绿色和蓝色的物体一起放入抽屉,简化了动作,提高了效率;红色的瓶子因为超高被倒着放进抽屉。正是利用了场景图丰富的信息,我们的规划方法得以更好地结合物理规律和常识来规划更有效的行动计划。
从逻辑语言到场景图,机器人的任务规划潜力获得了极大提升。本文提出的方法可以让机器人在理解场景结构的基础上进行复杂的任务规划,不仅解决了逻辑语言描述信息受限的问题,还让机器人可以最大化利用场景中的信息,来生成更加合理的最终目标和更加高效的动作规划。这使得机器人可以“聪明”地使用容器移动多个物体以减少移动次数,提高执行效率,并且合理安排动作顺序,以避免呆板地移动物体,结果上方或后方的物体被先放入柜子中,导致任务失败或需要重试。
未来,我们期望在场景图中引入更加丰富的物理信息,不局限于支撑、包含等关系,使得机器人可以规划更加复杂(如做饭、清扫等)的任务;同时我们将尝试增加智能体数量,使得多个机器人可以协同完成工作,进一步增加工作效率。
参考文献:
[1] “Collecting and Transporting.” Lovevery, 29 May 2020.
[2] Han, Muzhi, et al. “Reconstructing Interactive 3D Scenes by Panoptic Mapping and CAD Model Alignments.” 2021 IEEE International Conference on Robotics and Automation (ICRA), ieeexplore.ieee.org, 2021, pp. 12199–206.
[3] Jiao, Ziyuan, et al. “Sequential Manipulation Planning on Scene Graph.” 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), ieeexplore.ieee.org, 2022.
[4] Jiao, Ziyuan, et al. “Consolidating Kinematic Models to Promote Coordinated Mobile Manipulations.” 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), IEEE, 2021, doi:10.1109/iros51168.2021.9636351.
[5] Jiao, Ziyuan, et al. “Efficient Task Planning for Mobile Manipulation: A Virtual Kinematic Chain Perspective.” 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), ieeexplore.ieee.org, 2021, pp. 8288–94.