工程家用机器人要有一点常识

来源:
导读 从清理溢出物到提供食物,机器人正在被教导执行日益复杂的家务劳动。许多这样的家庭机器人学员都是通过模仿来学习的。它们被编程为复制人类...

从清理溢出物到提供食物,机器人正在被教导执行日益复杂的家务劳动。许多这样的家庭机器人学员都是通过模仿来学习的。它们被编程为复制人类引导它们完成的动作。

事实证明,机器人具有出色的模仿能力。但除非工程师也对它们进行编程以适应每一种可能的碰撞和推动,否则机器人不一定知道如何处理这些情况,除非从顶部开始执行任务。

现在,麻省理工学院的工程师们的目标是让机器人在面临偏离训练路径的情况时掌握一些常识。他们开发了一种方法,将机器人运动数据与大型语言模型(LLM)的“常识知识”联系起来。

他们的方法使机器人能够在逻辑上将许多给定的家务任务解析为子任务,并根据子任务中的中断进行物理调整,以便机器人可以继续前进,而无需返回并从头开始执行任务,并且工程师无需显式编程修复整个过程中所有可能的故障。

“模仿学习是实现家用机器人的主流方法。但是,如果机器人盲目模仿人类的运动轨迹,微小的错误就会积累起来,最终使其余的执行脱轨。”麻省理工学院电气工程系研究生王彦伟说和计算机科学(EECS)。“通过我们的方法,机器人可以自我纠正执行错误并提高整体任务的成功率。”

Wang和他的同事将在5月份的国际学习表征会议(ICLR2024)上展示一项研究,详细介绍了他们的新方法。该研究的共同作者包括EECS研究生Tsun-HsuanWang和JiayuanMao、麻省理工学院航空航天系(AeroAstro)博士后MichaelHagenow以及麻省理工学院航空航天系HNSlater教授JulieShah。

语言任务

研究人员通过一项简单的工作来说明他们的新方法:从一个碗中舀出弹珠并将其倒入另一个碗中。为了完成这项任务,工程师通常会移动机器人进行舀取和倾倒的动作——所有这些动作都在一个流体轨迹中进行。他们可能会多次执行此操作,以便让机器人进行多次人类演示以进行模仿。

“但人类的示范是一条漫长而连续的轨迹,”王说。

该团队意识到,虽然人类可能一次性演示一项任务,但该任务取决于一系列子任务或轨迹。例如,机器人必须先把手伸进碗里,然后才能舀起,并且必须先舀起弹珠,然后才能移动到空碗,等等。

如果机器人在任何这些子任务中被推动或轻推而犯错误,它唯一的办法就是停止并从头开始,除非工程师明确标记每个子任务和程序或收集新的演示,以便机器人从错误中恢复。所说的失败,是为了让机器人能够立即自我纠正。

“这种级别的规划非常乏味,”王说。

相反,他和他的同事发现其中一些工作可以由法学硕士自动完成。这些深度学习模型处理巨大的文本库,用于在单词、句子和段落之间建立联系。通过这些连接,法学硕士可以根据其对可能跟在最后一个单词后面的单词类型的了解来生成新句子。

就研究人员而言,除了句子和段落之外,还可以提示法学硕士生成给定任务中涉及的子任务的逻辑列表。例如,如果要求列出将弹珠从一个碗舀到另一个碗中所涉及的动作,法学硕士可能会产生一系列动词,例如“到达”、“舀”、“运输”和“倒”。

“法学硕士有办法用自然语言告诉你如何完成任务的每一步。人类的持续演示是这些步骤在物理空间中的体现,”王说。“我们希望将两者连接起来,以便机器人能够自动知道它处于任务的哪个阶段,并且能够自行重新计划和恢复。”

绘制弹珠图

对于他们的新方法,该团队开发了一种算法,可以自动将特定子任务的法学硕士自然语言标签与机器人在物理空间中的位置或编码机器人状态的图像连接起来。将机器人的物理坐标或机器人状态的图像映射到自然语言标签称为“接地”。该团队的新算法旨在学习一个基础“分类器”,这意味着它可以学习根据机器人的物理坐标或图像视图自动识别机器人所处的语义子任务,例如“伸手”与“舀取”。

“接地分类器促进了机器人在物理空间中所做的事情与法学硕士对子任务的了解以及每个子任务中必须注意的约束之间的对话,”Wang解释道。

该团队在实验中展示了这种方法,并用机械臂进行了铲大理石任务的训练。实验人员通过物理引导机器人完成以下任务来训练机器人:首先将手伸入碗中,舀起弹珠,将它们运送到空碗上,然后将其倒入其中。

经过几次演示后,该团队使用经过预训练的法学硕士,并要求模型列出将弹珠从一个碗舀到另一个碗所涉及的步骤。然后,研究人员使用他们的新算法将法学硕士定义的子任务与机器人的运动轨迹数据连接起来。该算法自动学习将机器人在轨迹中的物理坐标和相应的图像视图映射到给定的子任务。

然后,该团队让机器人使用新学习的接地分类器自行执行舀取任务。当机器人完成任务的步骤时,实验者将机器人推离其路径,并在不同的点将勺子上的弹珠碰掉。

机器人不会停下来重新从头开始,或者在勺子上没有弹珠的情况下盲目地继续,而是能够自我纠正,并在继续下一个子任务之前完成每个子任务。(例如,它会确保在将弹珠运送到空碗之前成功舀起弹珠。)

王说:“通过我们的方法,当机器人犯错误时,我们不需要要求人类编程或额外演示如何从故障中恢复。”“这非常令人兴奋,因为现在人们在利用远程操作系统收集的数据来训练家用机器人方面付出了巨大的努力。我们的算法现在可以将训练数据转换为强大的机器人行为,尽管存在外部扰动,但仍可以执行复杂的任务。”

标签:

免责声明:本文由用户上传,如有侵权请联系删除!