长期以来,赋予机器人自主装配能力,一直是科研人员的目标。虽然组装任务对于人类来说可能较为简单,但对于机器人来说,却充满了挑战。一方面,实现这一目标不仅需要巨大的工程投入,更需要在理论上作出重大突破。另一方面,即便是人类在进行组装时,也难免犯错——可能会错误地安装某个部件。但人类具备的独特能力在于能够在后续的过程中发现并纠正这些错误。
然而,现有的机器人组装研究多聚焦于期望机器人一次性完成整个组装过程,忽视了错误识别与纠正这一关键环节。事实上,随着组装任务的推进,现有的方法可能会导致错误逐渐积累,从而使后续步骤逐渐偏离预定目标,甚至最终导致整个组装过程的中断。图1展示了这一错误积累的过程。
图1 组装错误积累示意图
为了解决这一挑战,北京大学计算机学院董豪团队提出了一个新的研究任务——单步组装纠错任务,并面临两个全新的挑战:首先,如何准确识别拼装错误的组件;其次,如何纠正这些错误,确保组件恢复到正确位置。为了解决这两个问题,团队构建了一个全新的数据集——LEGO-ECA,并提出了自纠错组装网络(SCANet),旨在帮助机器人在组装过程中及时发现并修正错误。
LEGO-ECA数据集是首个包含失败样例的组件组装数据集,来源于基于MEPNet合成的LEGO数据集。在构建过程中,研究团队从1429个组装手册中随机挑选,将其输入组装网络MEPNet,并通过加入高斯噪声干扰组装过程,成功生成了丰富的错误组装样本。最终,LEGO-ECA数据集包含约12万种不同的错误样例,成为机器人组装任务中不可或缺的重要资源。
图2 LEGO-ECA数据集
为了让机器人具备自我纠错的能力,团队在设计网络时提出了一个创新的思路:将已组装的组件视为查询对象,结合组装手册与组装结果的差异,帮助机器人识别并纠正错误。基于这一思路构建的自纠错网络,机器人能够在组装过程中识别并纠正错误组件,从而显著提升组装的准确性。
图3 自纠错组装网络结构示意图
实验结果表明,与现有的组装神经网络相比,SCANet在降低组装错误率和优化组装结果方面表现出了显著的优势,显著提升了机器人自主装配的准确性和稳定性。从下图可以看出,随着组装步骤的逐步增加,SCANet与MEPNet之间的差距越来越明显。这是因为在缺乏纠错机制的情况下,MEPNet的错误会随着每一步的执行而不断积累,最终导致其与正确组装路线之间的差距越来越大。
图4 组装结果对比
文章信息:
相关工作以“SCANet: Correcting LEGO Assembly Errors with Self-Correct Assembly Network”为题发表在IROS 2024会议上。该项工作最终入围IROS 2024最佳应用论文奖(Best Application Paper Award)候选名单,在本次会议共收到3645篇投稿中,仅有4篇论文成功入围该奖项候选人名单。北京大学计算机学院博雅青年学者董豪为本文通讯作者,万宇轩与Kaichen Zhou为论文共一作者。该工作得到国家青年拔尖人才支持计划、国家自然科学基金等项目支持。