论文阅读:OPEN-EASE — A Knowledge Processing Service for Robots and Robotics/AI Researchers

标题:OPEN-EASE — A Knowledge Processing Service for Robots and Robotics/AI Researchers

作者:Michael Beetz1, Moritz Tenorth1 and Jan Winkler

下载链接:http://www.open-ease.org/wp-content/uploads/2015/03/knowrob-s.pdf

0. 摘要

要使未来的自主机器人能够完成人类规模的操纵任务,就需要我们为其配备知识和推理机制。 我们提出OPEN-EASE,这是一种旨在促进这些功能的远程知识表示和处理服务。 OPEN-EASE为用户提供了前所未有的访问前沿自动机器人代理的知识的机会。 它还提供了表示性基础结构,以使语义上可访问的机器人和人类操作情节的非均匀体验数据成为可能,并辅以一套软件工具,使研究人员和机器人能够对体验数据进行解释,分析,可视化和学习。 使用OPEN-EASE的用户可以检索到所记忆的操作事件,并询问有关机器人看到,推理和执行的内容以及机器人的操作方式,原因以及产生的影响的查询。

1.介绍

在接下来的几年中,将越来越多地要求自动移动操作机器人完成人类规模的操作任务:将要求自动仓库机器人从给定的订单清单中取出物品并将其包装到盒子中,家用机器人将负责清洁桌子并卸下洗碗机[1],[2]。 此类人类规模的操作任务的性质在于,它们没有完全指定,并且需要从背景知识中进行推理才能成功完成。 仓库机器人必须推断出如何抓握,搬运和放置要收集和包装的物品。 他们还必须考虑是否要垫上物品,将它们包裹起来,甚至可能还要考虑通过以不同的方式包装盒子来改变盒子的重心。 清洁桌子时,机器人必须推理对象的状态,无论它们是干净的还是脏的,填充的或空的,并进行相应的处理。

已经提出了不同的实验性自主机器人控制系统,它们使机器人能够通过采用支持知识和推理的控制来完成这些任务,例如[3],[4],[5],[6]。 但是,为自主机器人配备全面的知识和相应的推理能力是一项艰巨而繁琐的编程任务,可能需要精通AI推理方法和非标准的AI编程语言。 对于在这一领域没有背景的团队来说,为其机器人配备“智能”问题解决功能的障碍通常非常大。

我们提出OPEN-EASE1,这是一种远程知识表示和处理服务,旨在促进使用人工智能技术为机器人配备知识和推理能力。 OPEN-EASE为用户提供了前所未有的访问权限,可以执行执行人类规模的操作任务的先进的自主机器人代理。 这包括

1)对机器人的硬件,功能,环境和操作对象的了解;

2)记忆操纵事件的经历,可以推理出机器人看到,推理和做过的事情,如何做到这一点,原因以及造成的影响; 和

3)从训练中获得的知识,其中人类展示了机器人可以学习的技能。

可以通过以通用逻辑编程语言PROLOG编写的查询来检索此信息。 这些查询可以由人类通过基于Web的图形界面发送,也可以由通过Webservice API访问OPEN-EASE的机器人发送。 这样,他们可以查询和使用OPEN-EASE的背景知识,为其传感器数据和用于控制目的的数据结构提供语义含义。 我们计划扩展该系统,以使研究人员和机器人可以上载自己的数据结构和执行日志文件,将其元素声明为PROLOG规则,从而将其数据文件转换为虚拟的OPEN-EASE知识库。

OPEN-EASE也可以看作是在支持AI的自主机器人操纵领域中促进开放研究的一种手段。 在进入http://www.open-easy.org网站后,研究人员可以完全访问执行抓取和携带任务的机器人的全面数据集,并可以人工演示其中的某些任务。 标准化的语义检索语言可提供对所有数据的完全访问权限,并使研究人员能够组合各个信息源。 先进的软件工具使研究人员可以通过基于Web的界面可视化和分析数据。 这样,机器学习的研究人员将能够创建现实且高度相关的机器人学习问题。 计算机视觉研究人员将能够将真实的感知任务和相应的传感器数据转换为基准问题。

我们在开发OPEN-EASE并将其公开发布方面所做的努力可以被视为符合Nielsen的“重塑发现”愿景的精神[7],该愿景通过现代互联网技术提供的合作设施促进了更有效地进行研究的新方法 。 此类可促进其他领域开放研究的Web服务的启发性蓝图包括Allen Human Brain Atlas [8]和HapMap项目[9],该项目使人类基因组研究中的网络科学成为可能。

论文的科学技术贡献是:(1)全面性,现代自主操纵机器人的实际执行数据被记录,存储并开放给研究团体使用; (2)提供了代表性的基础结构,以使来自不同机器人甚至人类操纵事件的非常不均匀的体验数据在统一和标准化的概念词汇中语义上可访问; (3)一套软件工具,使研究人员和机器人可以对经验数据进行解释,分析,可视化和学习。

在本文的其余部分安排如下。 我们从用户角度开始描述OPEN-EASE。 然后,我们对它的功能组件进行了概述,详细解释了它的实现,并给出了一些示例性的用例。 最后,我们概述了一些预期的应用程序,并讨论了相关工作以及我们的结论。

2. 轻松一瞥

对于人类用户,OPEN-EASE通过图1所示的基于Web的界面进行展示。Web界面包括具有不同用途的窗格。 Prolog交互窗格(1)允许用户键入Prolog查询和命令并查看这些查询的答案。 查询列表窗格(2)中提供了带有英语翻译的准备好的查询列表。 3D显示窗格(3)可以可视化机器人及其环境。 可以添加和突出显示其他信息,例如轨迹,机器人和对象姿势。 信念窗格(3)使用户可以检查机器人信念的内部数据结构,包括机器人使用的对象,动作和位置描述。 最后,有一个图像窗格(4)用于显示由机器人摄像机捕获的图像,而视觉分析窗格(5)可以将统计数据可视化为条形图和饼图。

论文阅读:OPEN-EASE — A Knowledge Processing Service for Robots and Robotics/AI Researchers

 OPEN-EASE施加在操作活动事件的日志数据上的概念视图是如图2所示的第一顺序时间间隔逻辑[10],[11],[12],有时也称为“编年史表述” [13]。通过时间点的开始和结束来指定时间间隔。这些链接到相应的Unix时间戳,该时间戳允许与其他记录的数据同步,例如捕获的图像和机器人姿势。诸如到达动作之类的事件在时间间隔内发生。动作被视为由代理程序实现某些目标而引起的事件。代表例如某个对象在某个位置的状态的场合会在一段时间间隔内保持。瞬时事件和连续状态发生在时间点ti,时间点ti是持续时间为0的时间间隔。例如,考虑图2中描绘的提取和放置任务的时间历史表示。该图包括以下事件:通过包括以下事实在内的一组事实,在用表示语言断言的情节中发生:

论文阅读:OPEN-EASE — A Knowledge Processing Service for Robots and Robotics/AI Researchers

 这种表示形式使我们可以进行复杂的查询,这些查询将这些逻辑事实的信息与连续和几何方面(例如三维空间中的机器人姿势)相结合。 例如,我们可以查询任务Tsk,以抓取杯子类型的对象为目标,并在抓取动作的结束时间End结束时根据全局地图坐标“ / map”检索机器人的姿势。 根据记录的体验数据回答该查询; 其结果如图3所示(左)。

论文阅读:OPEN-EASE — A Knowledge Processing Service for Robots and Robotics/AI Researchers

 论文阅读:OPEN-EASE — A Knowledge Processing Service for Robots and Robotics/AI Researchers

 除了查询各个时间点外,我们还可以在执行动作时检索机器人任意部分的轨迹。 也就是说,我们首先获取St和End之间的时间间隔,该时间间隔表示抓取动作的开始和结束,从日志数据中读取哪个抓取器用于该动作,然后将这些时间之间的轨迹添加到可视化文件中:

论文阅读:OPEN-EASE — A Knowledge Processing Service for Robots and Robotics/AI Researchers

 查询不限于记录的经验数据,还可以包括一般背景知识。 以下两个查询使用机械手模型分别突出显示连接到左臂的组件(红色)和机械手的所有摄像机(蓝色)。 结果也显示在上图中。

论文阅读:OPEN-EASE — A Knowledge Processing Service for Robots and Robotics/AI Researchers

 三, OPEN-EASE概述

OPEN-EASE可以看作是一个庞大的,可远程访问的知识服务,其中包括

一个大数据数据库,存储有关人类和机器人执行复杂操纵任务的情节的全面数据;

本体:即百科全书知识库,提供操纵活动的概念模型;

以及用于查询,可视化和分析操作任务情节的软件工具。

A. 操作情节数据库

OPEN-EASE提供的数据包括(◦)“原始”传感器数据和机器人对其解释的结果,(◦)记录的机器人行为(包括姿态数据),(◦)机器人的计划及其解释,(◦) 一个结构化的,带有语义标签的环境模型,以及(◦)对象及其在场景中的姿势。 记录的计划解释数据,环境模型和对象检测以Web本体语言OWL [14]表示。 可以将这种表示形式加载到知识库中,并可以使用下一部分中描述的时间逻辑进行推理。 但是,传感器数据和机器人姿态数据通常要大得多,并且将它们存储在OWL中会导致大量开销。

因此,这些类型的数据存储在MongoDB [15]中,MongoDB是一种高效的无模式,高容量数据库。 可以通过特殊谓词从知识库访问数据,这些谓词使用过程附件透明地加载所需的信息并将其与语义模型相关联。 这种方法使OPEN-EASE可以随时重建机器人的状态,包括其姿态和计划解释的计算状态。 此外,还存储了已用于感知任务的所有图像,以及感知算法计算的结果以及与操作任务相关的所有对象的姿态。

B. OPEN-EASE概念词汇

OPEN-EASE提供对前面小节中描述的数据库的标准化语义访问。 该方法将定义操作活动的概念模型的本体与用于对该概念模型进行推理的一组查询谓词结合在一起。 OPEN-EASE使用的KNOWROB本体[16]并在图5中进行了定义,它定义了事件和时间事物,动作,空间事物(包括对象,事物和主体)以及数学概念作为其主要概念。 完整的分类法共计约8000个类别,包括约130个动作类别,7000个对象类型和150个特定于机器人的概念,可以用300多种属性来描述。 这些类及其实例是通过一组断言定义的,可以链接到更详细地描述它们的子符号数据。例如,对象类可以参考其几何形状及其由功能组件组成的3D模型,如图6所示,这是一瓶煎饼混合物。 这些组合的语义几何模型可以从常见的3D模型中自动生成,因为它们可以在Internet的公共数据库中找到[17]。

这些概念提供了一组谓词来表示和推理机器人活动情节的词汇,图4中列出了最重要的词汇。它们在主题上被分组为关于场合,信念和事件的谓语。 关于计划和计划解释的谓词; 事件类型; 场合类型; 和对象描述。 尽管这些谓词为用户提供了关于数据的统一逻辑视图,但是它们可以在查询时从不同的信息源中进行计算。

我们将此概念称为“虚拟知识库”,它是在半结构化且通常是大量日志数据的基础上创建的[18]。 符号知识库的内容是按需计算的,是对子符号数据的抽象“视图”,因此完全基于机器人的内部数据结构。 具有通用的符号表示形式可以轻松组合来自不同来源的数据,并可以回答不同结构的数据集上的相同查询。 例如,某些机器人可能不受复杂的基于计划的控制器的控制,并且日志文件中的信息较少。 但是,只要可以在记录的数据之上实现以下谓词,就可以回答相同的查询。

4. 实施—知识

OPEN-EASE系统已在KNOWROB机器人知识库的基于云的版本中实现[16]。 KNOWROB提供了表达性表示和复杂的推理方法,可满足自动机器人的需求。 使用mongodb日志工具的扩展[23],将来自机器人和人类活动的低级数据记录到“大数据”数据库中。 记录和推理高级体验数据的方法基于我们自己的先前工作[18]。 浏览器和云中的ROS系统之间的通信,以及查询前端中的许多图形元素,都是使用robotwebtools框架构建的[24]。

OPEN-EASE必须满足一项重要的技术要求,即为每个用户配备自己的个人知识库。 这是必要的,因为用户必须从自己的库和公用存储库中加载和卸载知识库以执行其实验,并且还必须断言要使用该知识库的其他事实和规则。 该功能由KNOWROBS提供,KNOWROBS是一种软件即服务的云应用程序,它为可以使用rosbridge [26]协议连接到WebSocket [25]的远程用户提供KNOWROB功能。

大多数现代浏览器都支持Web套接字,但也可以很容易地将其实现为机器人上客户端应用程序的一部分。 KNOWROBS使用Docker框架的高效虚拟化技术为每个用户创建单独的虚拟知识库。 Docker不再模拟计算机的硬件,而是隔离仍在相同Linux内核上运行的进程,其中包含进程ID,内存和存储资源,计算时间,网络接口,用户权限等。这些功能使我们能够向不同的用户提供单独的知识库,而无需 禁止过度使用内存和计算资源。

论文阅读:OPEN-EASE — A Knowledge Processing Service for Robots and Robotics/AI Researchers

 图7展示了KNOWROBS系统的体系结构。 基于Web的前端管理不同的容器,并在用户登录系统后将其分配给用户。 每个用户都有一个带有完整KNOWROB系统的容器,以及一个用于持久数据存储的容器。 此外,我们还有在所有用户之间共享的容器,例如具有记录的大量机器人数据的公共数据库和公共的内存集存储库。

5. 用例

使用相同的方法已经实现了以下所有用例。 1)计算机系统正在生成或观察操纵活动。 2)通过“大数据”日志记录机制扩展了该系统,该机制可以尽可能全面地记录大量(尤其是子符号系统状态)数据,而不会降低系统运行速度。 3)记录的数据在KNOWROB分类法中被符号注释和解释为符号概念的实例,以便可以在语义上进行索引。 4)然后,我们可以将Prolog语言与图4中列出的谓词一起使用,以推断出操纵事件并回答有关它们的查询。

A.使用机器人操纵情节

强大的表示形式和基于逻辑的查询语言与全面的几何信息的结合,使机器人能够重构世界的状态,因为该机器人认为它处于语义描述的时间点,例如,当您握住杯子时(图8左)。这允许对故障情况进行事后分析,这在很难以其他方式跟踪的偶然问题的情况下非常有用。 通过在记录的传感器数据上测试新算法,可以测试它们在相应情况下的性能是否更好。 通过设置一个具有记录的世界状态的模拟器,甚至可以将这些感知结果与(模拟的)机器人动作结合起来。

论文阅读:OPEN-EASE — A Knowledge Processing Service for Robots and Robotics/AI Researchers

 B.处理人类示范剧集

可以根据对人类活动的观察来回答对记录的机器人体验可以回答的相同查询(右图8)。 明显的限制是无法获得有关人的计划和意图的信息,而只能从外部观察所得行为。 如果我们手动或使用自动活动识别方法对观察结果进行注释,则可以使用相同的方法对观察到的数据进行语义检索,例如,可以帮助选择用于分析或学习目的的数据。

C. 处理情节集

不仅有一个情节,而且有一系列情节,可以计算统计信息,这些统计信息可用于评估机器人的性能和学习预测模型。 这有助于回答问题,例如平均需要执行多长时间,其可靠性如何以及哪些故障最频繁发生。 图9显示了两个示例:如左图所示,大多数错误属于ManipulationPoseUnreachable类型,这表明对该组件的改进可能会对整体性能产生重大影响。 右侧图表中显示的平均任务持续时间为机器人和人类提供了通常需要采取多长时间(例如出于调度目的)的信息。

D. Robots Using OPEN-EASE

虽然我们在基于Web的查询前端中以图形化可视化形式显示查询结果,但是机器人可以使用相同的界面将查询发送到云中的KNOWROB实例。 在本地ROS设置中,机器人会通过json prolog服务将Prolog查询发送到以JSON格式编码的KNOWROB。 KNOWROBS提供了相同的接口,通过WebSocket连接建立了隧道。

6. 预计的应用

除了可以为AI /机器人研究人员和自治机器人提供潜在强大的远程知识处理服务外,我们目前还研究了KNOWROBS的许多可能具有高影响力的应用程序,即使用KNOWROBS实现

1)基于AI的机器人技术中的电子学习工具。 我们正在使用OPEN-EASE作为网络工具来教授智能机器人技术课程,以使学生探索机器人,他们的传感器和效应器的硬件,并获得关于传感器生成的数据的更好的直觉(“ 使用相机距离杯子至少1.5m处的图像的杯子吗?”,或“使用机器人的Kinect传感器无法检测到厨房环境中的哪些物体或对象零件?”)。 此外,我们让学生使用真实的机器人数据进行学生练习,例如学习在一组操作情节中站立在厨房柜台上的对象的对象分类器。

2)用于再现实验数据的工具。 OPEN-EASE提高了实验数据的可重复性。 考虑在一段时间后必须扩展科学出版物的实验评估的情况。 重新运行实验既繁琐又耗时,并且需要类似的硬件设置。 收集的综合日志数据和语义检索工具支持研究人员在现有的实验数据上添加缺少的评估。 研究人员甚至可以通过OPEN-EASE授予审阅者和读者访问数据的权限,这使他们可以澄清有关实验设置的问题(例如,当对象识别机制成功时机器人站在什么位置,或无法识别物体的场景)。

3)开放式机器人研究工具。 最近,通过提供大量数据并在其上运行数据和信息分析工具,或者通过直观地浏览和搜索这些数据,推动了许多研究领域的进步。 例如,艾伦大脑地图集,地理数据等。OPEN-EASE当前提供来自机器人特工的数据,这些特工在厨房环境中执行提取和放置任务,用户在虚拟现实游戏中演示煎饼制作,人们摆好桌子并清理(来自TUM厨房数据集[27])。 我们计划包括来自进行化学实验,人机合作等的机器人特工的经验数据。 这使OPEN-EASE成为与自主机器人研究相关的最全面,最详细的活动知识库之一。

3)用于为机器学习和机器人感知创建现实基准问题的工具。 OPEN-EASE的另一种可能用法是创建实际的基准数据集。考虑以下情况:要创建一组现实的机器人感知任务,以测试一些新开发的机器人感知方法。为此,您可以进行一些有特色的日常活动,例如设置表格并首先查询OPEN-EASE,以获取机器人为执行此类活动而发出的感知任务集。这种分析将使您对哪些类型的感知任务很重要,哪些类型的感知任务不重要。然后,我们可以通过找到机器人具有有关指定场景的最完整和最详细信息的时刻(例如桌子上的对象)来生成“地面真相”数据。如果需要,用户可以通过撤回和主张KNOWROB事实来主张其他知识或纠正信息。最后,用户可以弥补要执行感知任务的情况。

4)一种工具,用于在知识表示中对行动形式化的假设和推断机制进行基础和评估。 用于对行为和变更进行符号推理的大多数知识表示语言和方法都基于建模假设。 OPEN-EASE为这些领域的研究人员提供了机会来测试这种假设在何种程度上对自动操纵机器人有效,以及这些形式主义所做的推论在多大程度上对于机器人代理产生的行为和物理效果是有效的。

7. 相关工作

OPEN-EASE位于智能信息系统和机器人远程软件服务的交叉点。

在机器人技术方面,由Saxena及其同事领导的Robo Brain4项目与OPEN-EASE最为相关。 Robo Brain是一个大型计算系统,可从可公开获得的Internet资源,计算机模拟和现实生活中的机器人试验中学习。 它将所有内容累积到一个全面且相互关联的知识库中。 OPEN-EASE在某些方面与Robo Brain有所不同。 OPEN-EASE将来自不同来源的数据整合到具有强大推理机制的通用形式化知识表示语言中。 数据是通过机器人和观察系统自动生成的,而不是通过人工计算方法生成的。然而,与Robo Brain项目不同,该项目已经将学习广泛应用于数据,而OPEN-EASE中的学习工作尚未开始。

OPEN-EASE跟进了旨在为全球网络中的机器人提供知识库的研究。 这些研究工作包括RoboEarth [28],该研究通过提供用于机器人计划图式和知识库的元表示语言来研究机器人如何共享其知识,该语言允许机器人上载,查找和下载可用知识以及检查它们是否可以使用 各自的知识[28],[29],[30]。

OPEN-EASE是一种云机器人应用程序[31],[32],[33],专门为机器人提供知识。 云服务的其他示例包括Mujin5,它为客户端机器人提供运动计划功能,以及Google护目镜[34],可以检索与捕获的图像匹配的网页。

Web服务在智能信息系统领域更为普遍。 在这里,WordNet6(一个字典知识库),OpenCyc7(一个百科全书知识库)以及OpenMind和OpenMind室内常识[35]常识知识库,Google知识图[36]和DBpedia [37]都很流行。 例子。 但是,这些知识服务主要侧重于文本和符号数据,而OPEN-EASE包含大量具有多种形式的感觉数据。

最后,尽管不是正式表示的知识也不是现成的Web服务,但也存在许多用于提供相关数据的人类操纵活动数据的数据库。 这样的数据存储库包括TUM厨房数据集[27],MPII烹调活动数据集![38]和CMU MMAC数据集[39]。

8. 总结

在本文中,我们描述并讨论了OPEN-EASE,这是一种面向人类研究人员和机器人的远程知识表示和处理服务。 OPEN-EASE使它的用户能够解释,分析,可视化并从机器人和人类操纵事件的经验数据中学习。 使用OPEN-EASE的用户可以检索到所记忆的操作事件,并询问有关机器人看到,推理和执行的内容以及机器人的执行方式,原因以及产生的影响的查询。

OPEN-EASE之所以独特是因为(1)全面,全面地记录,存储和使研究团体可以公开访问现代自动操纵机器人的实际执行数据; (2)提供了代表性的基础结构,以使来自不同机器人甚至人类动作事件的非常不均匀的体验数据在统一和标准化的概念词汇中语义上可访问; (3)一套软件工具,使研究人员和机器人可以对经验数据进行解释,分析,可视化和学习。

OPEN-EASE的预计应用包括在基于AI的机器人技术中使用电子学习工具,使可再现的实验数据可访问并启用语义信息检索的工具,以及用于开放式机器人技术研究的工具。 可以通过http://www.open-ease.org网站访问OPEN-EASE。