分类
麻省理工学院新闻

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

About five photos of a robotic experiment are collaged together. A robotic arm uses a spoon to pick up red marbles and place in a bowl. A human hand pushes and pulls the robotic hand. Marbles are scattered on the table and are also being poured into the new bowl.

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

事实证明,机器人是出色的模仿者。但是,除非工程师也对它们进行编程,以适应每一个可能的颠簸和推动,否则机器人不一定知道如何处理这些情况,除非从头开始他们的任务。

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

他们的方法使机器人能够从逻辑上将许多给定的家务任务解析为子任务,并在物理上适应子任务中的中断,以便机器人可以继续前进,而不必返回并从头开始任务 – 并且工程师不必明确地为每个可能的故障编程修复。

A robotic hand tries to scoop up red marbles and put them into another bowl while a researcher’s hand frequently disrupts it. The robot eventually succeeds.
图片由研究人员提供。

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

Wang和他的同事们在一项研究中详细介绍了他们的新方法,他们将在5月份的国际学习表征会议(ICLR)上发表。该研究的合著者包括EECS研究生Tsun-Hsuan Wang和Jiayuan 毛,麻省理工学院航空航天系(AeroAstro)博士后Michael Hagenow和麻省理工学院航空航天学教授Julie Shah。

语言任务

研究人员用一个简单的家务来说明他们的新方法:从一个碗里舀出弹珠,然后把它们倒进另一个碗里。为了完成这项任务,工程师通常会通过舀取和倾倒的动作来移动机器人——所有这些都在一个流体轨迹中。他们可能会多次这样做,给机器人一些人类演示来模仿。

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

该团队意识到,虽然人类可以一次性演示一项任务,但该任务取决于一系列子任务或轨迹。例如,机器人必须先把手伸进碗里才能舀,然后才能舀到空碗里,等等。如果机器人在任何一个子任务中被推动或推动犯了错误,它唯一的办法就是从头开始停止和开始,除非工程师明确标记每个子任务和程序或收集新的演示,以便机器人从所述故障中恢复过来,使机器人能够立即自我纠正。

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

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

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

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

映射弹珠

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

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

该团队在实验中展示了这种方法,他们用机械臂训练了大理石舀取任务。实验者通过物理引导机器人完成任务来训练机器人,首先将手伸进碗中,舀起弹珠,将它们运送到空碗上,然后倒入其中。经过几次演示后,该团队使用预训练的LLM,并要求模型列出将弹珠从一个碗舀到另一个碗所涉及的步骤。然后,研究人员使用他们的新算法将LLM定义的子任务与机器人的运动轨迹数据联系起来。该算法自动学习将机器人在轨迹中的物理坐标和相应的图像视图映射到给定的子任务。

然后,该团队让机器人使用新学到的接地分类器自行执行舀取任务。当机器人完成任务的步骤时,实验者将机器人推离其路径,并在不同点将弹珠从勺子上敲下来。机器人没有停下来重新开始,也没有盲目地继续勺子上没有弹珠,而是能够自我纠正,并在继续下一个子任务之前完成每个子任务。(例如,它将确保在将弹珠运送到空碗之前成功舀起弹珠。

“使用我们的方法,当机器人犯错误时,我们不需要要求人类编程或提供额外的演示来说明如何从故障中恢复,”Wang说。“这非常令人兴奋,因为现在人们正在努力用远程操作系统收集的数据来训练家用机器人。我们的算法现在可以将训练数据转换为强大的机器人行为,尽管有外部扰动,但可以完成复杂的任务。

新闻旨在传播有益信息,英文版原文来自https://news.mit.edu/2024/engineering-household-robots-have-little-common-sense-0325