小编最近看到一篇18年ICRA的优秀论文,看后觉得很受启发,在这里给大家做一个分享。论文题目为:MaestROB: A Robotics Framework for Integrated Orchestration of Low-Level Control and High-Level Reasoning。它展示了如何在多个参与者(人员,通信机器人和工业机器人)协作执行共同的工业任务的复杂场景中使用MaestROB框架。
摘要
本文介绍了一个名为MaestROB的框架。它旨在通过自然语言或演示给出的简单高级指令,使机器人高精度地执行复杂的任务。为了实现这一点,它通过使用以本体形式存储的知识和在不同级别的指令之间进行桥接的规则来处理层次结构。因此,该框架具有多层处理组件。底层的感知和驱动控制,用于认知能力和语义理解的符号计划程序和Watson API,以及一个名为Project Intu的新型开放源代码机器人中间件,对这些组件进行编排。我们展示了如何在多个参与者(人员,通信机器人和工业机器人)协作执行共同的工业任务的复杂场景中使用此框架。人类使用自然语言对话和演示向Pepper(日本软银的人形机器人)教授组装任务。我们的框架可帮助Pepper感知人类的演示并为UR5(UniversalRobots的协作机器人手臂)生成一系列动作,最终执行组装任务。
引言
使机器人编程对于初学者来说可行,对专家来说是容易的,这是在工业生产和装配中使用机器人超越常规应用范围的关键。未来的工业和通信机器人将理解语音和人类演示等自然界面,以学习复杂的技能。这些机器人将由许多较小的认知服务提供动力,而不是像单个大脑一样的组件,这些服务将协调工作以展现出更高的认知水平。系统中的每个服务都将展示基本情报,以有效地执行一个明确定义的任务。这些服务的连接和编排框架将是建立真正智能系统的关键。尽管经常互换使用,但我们使用术语“认知”而不是“机器学习”或“人工智能”来跨多个领域给出类似于人类的智力的概念。通常,人工智能一词的使用非常广泛,而机器学习通常是指在单个领域中解决不同问题的系统。
为了实现更高水平的认知能力,在本文中,我们提出了一个机器人框架– MaestROB。MaestROB的不同组件通过名为Project Intu的新型机器人中间件进行通信。Intu是一个开放源代码项目,位于https://github.com/watson-intu/self。Intu使用IBM Watson API提供对许多服务的无缝访问,包括对话,图像识别等。以Intu为核心,MaestROB通过定义若干级指令为规划引入了层次结构。通过使用物理约束和关系的知识和本体,这些抽象可以使人类指令成为可操作命令的基础。该框架在较高级别上执行符号推理,这对于长期自治非常重要,并使整个系统对其行为负责。允许个人技能使用机器学习或基于规则的系统。我们提供了一种通过开发新服务或将其与其他机器人中间件和脚本语言连接来扩展框架的机制。这允许使用PDDL(计划域定义语言)计划程序以及提议的扩展名来处理语义来进行较高级别的推理,而较低级别的技能可以作为ROS(机器人操作系统)节点执行。在MaestROB中,对每个组件的原始智能进行了协调,以演示复杂的行为。MaestROB的重要功能包括但不限于基于云的技能获取和共享服务,具有物理推理的任务计划,感知服务,从演示中学习的能力,多机器人协作以及通过自然语言进行教学。
我们通过某个人演示向通信机器人(Pepper)教授任务的场景来展示该框架的功能。机器人了解任务并与工业机械手(UR5)协作以使用UR5先前通过学习或编程获得的动作原语来执行任务。工业机器人具有执行物理操作的能力,但是缺少可以在特定情况下(例如,错误恢复等)提供帮助的关键传感器。使用MaestROB提供的计划和协作服务,具有这些传感器的通信机器人可以分析计划并将其转换为机械臂的命令序列。框架的学习功能和中间件的层次控制功能有助于轻松实现这些任务,而无需任何显式编程。
相关工作
中间件用于将机器人的各个组件粘合在一起以及它们之间的通信。机器人操作系统(ROS)可以说是最常用的机器人中间件,尤其是在研究界。尽管ROS为许多节点提供了协作的主干结构,但它本质上并没有提供任何有助于规划或训练机器人执行任务的组件。
大多数现有研究使用的定制学习和控制解决方案无法推广。提出的框架是一种努力,旨在提供一个通用框架,该框架可以处理所有这些情况以及以后的情况,而无需进行任何多余的工作。对相关工作感兴趣的朋友可以看下方参考原文。
图1:MaestROB中的不同级别的指令
动机和概念
提出MaestROB的动机是创建一个框架,通过观看演示或接受自然语言说明来执行真实世界中的精确物理操作。人类在更高的抽象水平上进行交流并假设了基础知识。另一方面,机器无法准确地理解这些模糊的指令。为了使机器人能够以可预测的方式理解自然语言命令,我们提出了指令的层次结构。图1显示了MaestROB中不同级别的指令,即手势,技能和计划。手势是依赖于平台的,但是随着我们转向更高级别的指令,将提供抽象。表I中给出了不同级别的指令示例。
表I:不同级别的指令示例
A.手势
手势用于直接控制机器人。它们等同于人体的运动技能。手势由基础平台或机器人控制器执行。根据平台的不同,某些手势可能不可用。
B.技能
下一个抽象层次是技能。我们将一项技能定义为一种逻辑,可以消耗传感器输入并生成手势列表。技能是执行全部任务一部分的原子操作。但是,不能单独执行技能。MaestROB提供了三种向机器人教授新技能的方法:
1)手势或技能列表:以最简单的形式,一项技能由手势或其他技能的顺序或并行列表组成。例如,抓取技能可以选择抓取位置并通过在该位置的顶部继续前进,然后下降,最后关闭抓手来执行一系列手势。
2)基于规则:在这种方法中,可以定义一组规则来消耗传感器的输入并发出适当的手势。基于规则的技能被简单地定义为“ iffAgthenfBg”规则。一个示例是,如果末端执行器位置在预定义的安全区域之外,则停止机器人。
3)机器学习:有些技能太难于由程序定义。MaestROB提供了一个基于云的学习API,可用于学习复杂的技能,例如不同的形状插入任务或视觉伺服。学习服务支持监督学习和强化学习范例。推理是在本地完成的,以满足机器人的实时约束,而模型是在云中存储和学习的。通过这种方式,处理能力最小的机器人还可以通过对MaestROB学习API进行REST调用来学习新技能。该API还支持从模拟器到真实环境的模型转移学习。
MaestROB通过实现定义或学习新技能的其他方法,提供了扩展框架的接口。一项技能可以将一个或多个参数作为其输入,例如 place(pose),moveTo(pose,pose)。根据技能在规定时间内的实际执行结果,所有技能返回的成功或失败。
C.规划
规划从概念上讲是从给定的初始状态到目标状态的高级抽象。它由符号计划者定义,学习或计算的一系列技能组成。计划对应于用户手册中的单个指令或人类发布的单个命令。计划者在框架中的作用是充当认知语义学和技能之间的桥梁。该框架目前提供三种定义新计划的方法。
1)技能或计划列表:计划可以定义为以编程方式或通过使用固定语法的自然语言交流定义的技能或其他计划的并行或顺序列表。这种方法受到J.Connell等人先前工作的启发。例如,我们可以告诉机器人他可以通过举起右手并左右移动几次来学习挥手。
2)从示范或对话中学习:计划还可以通过口头或编程方式定义最终或目标状态来描述。MaestROB提供了一种通过使用自然语言分类和映射将自然语言命令置于预期目标状态的机制。框架支持的另一种方法是显示系统的关键状态,而不是明确给出初始状态和目标状态。人们只需查看任务的初始状态和最终状态,就可以了解他们需要执行的操作顺序。通过使用感知和关系提取,计划人员可以使用可用的技能来帮助机器人进行相同的操作。在计算和执行计划之前,框架会检查世界的当前状况以了解初始状态。
与技能相似,我们定义一个接口来实施其他计划方法。计划是一种可以产生一系列一项或多项技能的逻辑。所有计划都返回成功或失败。
与技能不同,计划可以独立执行。它可以包含一个技能,一个技能列表或一个基于计划者或类似系统的动态计算的技能。可以通过人工指令启动计划,以响应某些条件,也可以连续循环启动计划。在技能失败的情况下,可以通过使用当前状态作为初始状态来生成新计划来实现目标。但是,如果计划者无法找到合适的计划,则可能需要人工干预。
图2:MaestROB框架
图3:MaestROB规划器
成果展示
在演示场景中,两个机器人(UR5和Pepper)与人协作执行任务。MaestROB具有足够的通用性,可以同时处理通信机器人和工业机械手,我们展示了不同的机器人如何利用自身的优势实现共同的目标。
Pepper是来自日本软银的仿人机器人,具有多个传感器,包括视觉。它是可移动的,但缺少强大的抓取器,无法执行精确的物理操作。另一方面,UR5(Universal Robots的协作机器人手臂)是固定的工业级机械手机器人。UR5可以进行高精度和可重复性(0.03mm)的物理操作,但由于缺少视觉传感器,它会盲目移动。在演示场景中,人类负责通过执行演示,控制机器人,并做出最终决定。用于演示的两个机器人的设置如图5所示。如果所需的手势可用,该演示也可以在其他机器人平台上运行。
表II显示了详细的方案以及不同参与者执行的操作。MaestROB的优势之一是与IBM Watson API的连接。这样可以轻松实现复杂的对话系统。以流畅的自然语言转换成复杂但可预测的动作序列的指令基础证明了MaestROB的优势。
该演示从一个人执行任务并同时与Pepper机器人对话开始。通过使用对话服务了解了命令的意图,机器人可以了解何时捕获关键帧以及演示何时结束。在示例中,机器人记录了演示的初始状态和最终状态。通过对话,它会记住正在学习执行的任务的名称(组装任务)。它还了解最终状态是演示的最后一帧。初始帧和最终帧将发送到感知服务,该服务使用条形码姿势检测来检测所有条形码的位置。每个零件的条形码编号以及条形码和对象之间的转换在对象数据库中分别定义。最终帧的状态由关系提取器确定。由于预定义了要插入的任务域,因此将加载适当的本体和关系数据库。
表II:分步演示场景。对象是人类、Pepper和UR5
在这种情况下,Pepper不会使用目标为其自身计算,而是Pepper会在UR5上实现该方案。Pepper使用演示表和UR5的预定义位置从一个位置移动到另一个位置。Pepper到达UR5时,它将捕获初始状态的图像。该图像用于校准带有UR5机器人的Pepper相机,还可以计算所有对象的条形码位置。Pepper使用从图像中观察到的初始状态和从人类演示中学到的目标状态来生成机械手机器人的可执行计划。但是,在此之前,必须与Pepper共享UR5的技能数据库。计划者使用常识本体来检查是否允许操作。例如,不允许将大物品插入较小的孔中。计划发送到UR5后,它开始执行基于位置控制的任务。一旦任务成功,Pepper可以返回,而UR5继续执行任务。在此演示中,我们有人工帮助将钉在每次UR5迭代之前恢复到初始状态。在工厂环境中,这通常是通过传送带或其他机器完成的。
图5:Pepper使用其摄像机分析对象的位置,创建计划并将其发送到UR5
除非出现问题,否则UR5会继续执行任务,在这种情况下,UR5会警告失败的计划。在这种情况下,Pepper返回操纵器以观察世界的状态。Pepper将当前状态与之前看到的初始状态进行比较。它发现没有钉子,并要求提供人为援助。然后,人类开始放下失踪的钉子。UR5可以继续执行将钉子插入相应孔中的重复性任务。
与UR5可以执行的一些简单技能相反,插入技能使用机器学习通过使用力-扭矩传感器找到孔的方向。使用基于MaestROB云的学习API通过强化学习对它进行了培训。
图6显示了在每个机器人上运行的MaestROB服务,以完成演示场景中定义的任务。大多数服务使用基于云的API来解决问题。重要的是要注意,为了制定UR5计划,Pepper机器人必须了解UR5机器人可用的技能。这是通过与Pepper共享UR5技能数据库来完成的。在演示场景中,Pepper正在运行Project Intu中间件的实例。Intu使语音转文本(STT),文本转语音(TTS),对话,知觉,计划等的实现变得容易且简单。UR5正在运行Pepper在ROS上使用MaestROB服务生成的计划。
图6:运行演示的重要服务。服务通过Intu的发布/订阅模型进行通信。UR5的机器人控制器是ROS节点,并通过ROS与Intu连接
图7:演示视频的屏幕截图
结论
本文提供了一个支持下一代机器人的框架,以帮助解决传统编程方法无法解决的问题。本文介绍的机器人中间件(Project Intu)现在可以作为开源项目使用。我们还介绍了一些关键服务,使我们能够演示涉及多个机器人与人之间协作的复杂场景.MaestROB对于中小型企业(SME)尤其有用,它们需要相对快速的上市时间,频繁的生产线变更和产量低。工人可以用自然语言与机器人进行交流,并向其传授新技能或执行现有技能。
作为未来的方向,我们希望使基于机器学习的技能在多个机器人之间共享。如本文和演示中所述,失败的计划通常需要人工协助。未来的方向之一可以是使机器人自行解决常见问题。我们还计划展示一个系统,该系统能够理解书面和口头说明,以创建诸如IKEA家具之类的复杂物体。
视频成果展示
点击链接观看视频:https://mp.weixin.qq.com/s/BM2yUrn4e07dgLwAiQtJyA
文中的intu框架已经开源并且支持多种平台。链接:https://github.com/watson-intu/self
感兴趣的朋友可以开动大脑在自己的机器人平台上尝试,我们希望可以看到更多的多机器人技能共享成功案例。该项目涉及到众多学科领域,如自然语言处理、视觉识别、机械臂规划等研究点,该团队均有不错的研究成果和论文发表。如果有视频中所涉及到的平台和任何机器人设备需求可随时与我们联系。
参考原文:
Munawar A, De Magistris G, Pham T H, et al. Maestrob: A robotics framework for integrated orchestration of low-level control and high-level reasoning[C]//2018 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2018: 527-534.
武汉京天电器作为日本软银机器人公司;丹麦Universal Robots公司;加拿大Clearpath公司;韩国ROBOTIS公司等多家国际知名智能机器人公司中国区授权代理和最大的销售平台,已成为最具有技术集成能力和售后服务的实力代理商。
诚邀商业合作伙伴
如果您有购买/合作等更多需求
欢迎联系武汉京天电器有限公司
市场部:18062020228、18062020229
电话:027-87522899、027-87522877
官网:http://www.jingtianrobots.com
更多行业资讯,敬请关注京天电器官方微信公众号
Donghu Robot Laboratory, 2nd Floor, Baogu Innovation and Entrepreneurship Center,Wuhan City,Hubei Province,China
Tel:027-87522899,027-87522877