对于每个人来说,即使对于那些没有编程专门知识的人来说,培训交互式机器人一天可能都是一件容易的事。机器人专家正在开发可以仅通过观察人类来学习新任务的自动化机器人。在家里,您可能有一天会向家用机器人展示如何做日常杂务。在工作场所,您可以像新员工一样训练机器人,向他们展示如何执行许多职责。
为了实现这一愿景,麻省理工学院的研究人员设计了一种系统,使这些类型的机器人可以学习复杂的任务,否则这些任务就会用太多令人困惑的规则来阻碍它们。这样的任务之一是在某些条件下设置餐桌。
研究人员的核心是“不确定规格计划”(PUnS)系统,该机器人具有人性化的计划能力,可以同时权衡许多模棱两可(甚至可能相互矛盾)的要求,以达到最终目标。这样做时,系统总是根据关于要执行的任务的一些可能规格的“信念”,选择最可能采取的措施。
在他们的工作中,研究人员汇编了一个数据集,其中包含有关如何将八种物体(杯子,杯子,勺子,叉子,刀子,餐盘,小盘子和碗)以各种配置放置在桌子上的信息。机械手臂首先观察到随机选择的人类演示,以将物体摆在桌子上。然后,研究人员要求该部门根据所看到的内容,以特定的配置,在实际实验和仿真中自动设置表格。
为了获得成功,机器人必须权衡许多可能的摆放顺序,即使故意移除,堆叠或隐藏物品也是如此。通常,所有这些都会使机器人过于困惑。但是研究人员的机器人在几个真实世界的实验中没有犯任何错误,而在成千上万的模拟测试运行中只有少数错误。
“我们的愿景是将编程交给领域专家,他们可以通过直观的方式对机器人进行编程,而不是向工程师描述要添加代码的工程师的指令,”航空学研究生的第一作者Ankit Shah说。宇航公司(AeroAstro)和互动机器人小组(Interactive Robotics Group)强调,他们的工作只是实现这一愿景的第一步。这样一来,机器人将不再需要执行预编程的任务。工厂工人可以教机器人执行多个复杂的组装任务。家用机器人可以从家里的人那里学习如何堆放橱柜,装载洗碗机或摆放桌子。”
与Shah一同参加论文的还有AeroAstro和Interactive Robotics Group的研究生Shen Li和Interactive Robotics Group的负责人Julie Shah,后者是AeroAstro和计算机科学与人工智能实验室的副教授。
对冲
机器人是具有清晰“规格”的任务的良好计划者,可以帮助他们描述机器人需要完成的任务,并考虑其动作,环境和最终目标。通过观察示范来学习摆桌子,充满了不确定的规格。必须根据菜单和客人的座位将物品放置在某些位置,并根据物品的即时可用性或社交惯例将它们放置在某些顺序中。当前的规划方法无法处理这种不确定的规范。
一种流行的计划方法是“强化学习”,一种反复试验的机器学习技术,奖励和惩罚他们在完成任务时所采取的行动。但是对于具有不确定规格的任务,很难定义明确的奖励和惩罚。简而言之,机器人永远不会从错误中完全学习对错。
研究人员的系统称为PUnS(用于不确定规格的计划),可使机器人在一系列可能的规格上保持“信念”。然后可以使用信念本身来分配奖励和惩罚。“机器人本质上是根据任务的意图来下注,并采取满足其信念的行动,而不是我们给出明确的要求,” Ankit Shah说。
该系统建立在“线性时间逻辑”(LTL)之上,该语言是一种表达性语言,可以对当前和将来的结果进行机器人推理。研究人员在LTL中定义了模板,这些模板可对各种基于时间的条件进行建模,例如现在必须发生的事情,必须最终发生的事情以及必须发生直到发生其他事情为止。机器人对30个人演示设置表的观察产生了25种不同LTL公式的概率分布。每个公式都为设置表格编码了略有不同的首选项(或规范)。这种概率分布成为其信念。
“每个公式都编码不同的东西,但是当机器人考虑所有模板的各种组合,并试图使所有东西都满足时,它最终将做正确的事情,” Ankit Shah说。
遵循标准
研究人员还制定了一些标准,指导机器人满足对这些候选公式的全部信念。例如,一个满足最可能的公式,该公式以最高的概率丢弃除模板之外的所有其他内容。另一些满足最大数量的唯一公式,而不考虑其总体概率,或者满足代表最高总概率的几个公式。另一个简单地将误差最小化,因此系统会忽略失败概率很高的公式。
设计人员可以在培训和测试之前选择四个标准中的任何一个进行预设。每个人在灵活性和规避风险之间都有自己的权衡。标准的选择完全取决于任务。例如,在安全关键的情况下,设计人员可以选择限制故障的可能性。但是在失败后果不那么严重的情况下,设计人员可以选择赋予机器人更大的灵活性,以尝试不同的方法。
有了适当的标准,研究人员开发了一种算法,可以将机器人的信念(指向所需公式的概率分布)转换为等效的强化学习问题。该模型将根据决定遵循的规范,对执行的动作给予奖励或惩罚来对机器人进行ping操作。
在模拟中要求机器人将工作台设置为不同的配置时,在20,000次尝试中,它仅犯了6个错误。在现实世界中的演示中,它显示出与人类执行任务的行为类似的行为。例如,如果某个项目最初不可见,则机器人将完成不包含该项目的表的其余部分的设置。然后,当叉子被露出时,它将把叉子放置在适当的位置。“在那里灵活性非常重要,” Ankit Shah说。“否则,当它期望放置叉子而不完成剩余的桌子设置时,它将卡住。”
接下来,研究人员希望对系统进行修改,以帮助机器人根据口头指示,更正或用户对机器人性能的评估来改变其行为。“例如,一个人向机器人演示了如何仅在一个位置摆放桌子。该人可能会说,“对所有其他位置都做同样的事情”,或者“将刀子放在这里,而不是放在叉子之前,” Ankit Shah说。“我们希望为系统开发方法,使其自然适应这些口头命令,而无需进行额外的演示。”