Kara0807的个人博客分享 http://blog.sciencenet.cn/u/Kara0807

博文

平行机器:一种智能机器的管理与控制框架

已有 1109 次阅读 2019-10-17 09:51 |个人分类:智能科学与技术学报|系统分类:论文交流

 平行机器:一种智能机器的管理与控制框架

白天翔, 沈震, 刘雅婷, 董西松   



摘要 针对智能机器控制的复杂性问题,提出了平行机器的概念、框架和方法。平行机器是将基于 ACP 的方法扩展到智能机器领域的产物,形成虚实平行互动的管控模式,是一种针对复杂环境、复杂问题的管理与控制方法。平行机器包括实际的物理机器和软件定义的虚拟机器,通过二者间的虚实互动实现描述、预测和引导3个功能,最后介绍平行机器相关技术并对平行机器的潜在应用进行展望。

关键词:   平行机器  ;  机器人  ;  ACP ;  平行系统  ;  虚拟现实  

引用格式 白天翔, 沈震, 刘雅婷, 董西松.平行机器:一种智能机器的管理与控制框架. 智能科学与技术学报[J], 2019, 1(2):  181-191 doi:10.11959/j.issn.2096-6652.201915 

                    

Parallel machine:a framework for the control and management for intelligent machines     

BAI Tianxiang, SHEN Zhen, LIU Yating, DONG Xisong 


Abstract The concept of parallel machine framework as a solution to the challenges of the complexity of intelligent machines was proposed in this paper.The ACP theory was incorporated into intelligent machine field,and a virtual-real interactive pattern was formed in the control and management of machine.The parallel machine concept is composed of the real machine and corresponding software-defined virtual ones,and through which the functionality including describing,predicting and prescription can be achieved.Finally,relevant technologies and potential applications of parallel machine were discussed.

Keywords:  parallel machine ;  robots ;  ACP ;  parallel system ;  virtual-reality      

Citation BAI Tianxiang.Parallel machine:a framework for the control and management for intelligent machines. Chinese Journal of Intelligent Science and Technology[J], 2019, 1(2):  181-191 doi:10.11959/j.issn.2096-6652.201915

 

1 引言

在过去的几十年中,机器正在变得快速、灵活和准确,这一切可归功于机械电子工程、纳米技术、仿生技术、传感器技术尤其是人工智能技术的发展。长期以来,机器被设计用于工业用途,运行在严格管制的生产环境中,代替人类进行重复性和烦琐的工作,例如制造、组装、搬运、焊接等。然而,随着机器在感知、决策等方面不断获得更优良的性能,机器开始具有一些智能,它们开始被用于执行复杂的任务,如复杂机动、双足步行、稳定的抓取和精细的手术等。这一趋势还逐步将实验室或工厂的机器带入人们日常生活中的复杂场景中。然而,实施先进的智能机器系统仍然存在挑战。

Legg 等在文献[1]中将“智能”概括性地总结为智能代理在各种环境中实现目标的能力,也就是说,智能机器系统应该能够在各种情况下完成各种任务——无论能力是来自内置算法、网络,还是人类或其他机器的帮助。根据文献[2],进入21世纪,研究人员对于机器人技术的研究兴趣已经从移动、力学、图像和传感器等,转变为仿人、学习、环境、自主、仿真、无人车等,这表明通过人工智能增强机器的智能性已经成为技术发展的主要趋势,并将沿此继续发展。

如今,人工智能在机器研究中发挥着至关重要的作用,自动地面车辆(automatic ground vehicle, AGV)、无人驾驶飞行器(unmanned aerial vehicle, UAV)、自主水下载具(autonomous underwater vehicle,AUV)、抓取、同步定位与地图(simultaneous localization and mapping,SLAM)构建、人机交互、群体智能和医疗机器人、软体机器人以及柔性机器人等方向,都吸引了众多机器与机器人研究人员及AI 研究人员进行探索。

以上示例均通过 AI 增强机器人的性能,这些机器人简称 AI 增强型机器人。除此之外,在智能终端或远程服务器中运转的纯 AI 机器也正在崛起。将那些在知识领域工作的、完全由软件驱动的机器称为知识机器(knowledge machine)或软件机器(software machine)。知识机器由服务器、客户端和应用程序组成,主要由自然语言处理(NLP)、交互技术(UI)以及后台算法构成。严格来说,这些脱离硬件执行机构的机器可以被视为纯粹的程序或软件,但为了更好地与用户交互,它们通常配备类似机器人的身体和人声,有时还包括图形显示作为面部以模仿表情。知识机器是一种介于机器与软件之间的存在,可以被认为是智能机器的大脑和交互中枢,这就是将知识机器视为机器而非软件程序的原因。典型案例包括苹果公司的 Siri和微软公司的 Cortana 等,他们接收用户的自然语言命令,并根据知识搜索、排序、处理和表达完成工作。其他形态的知识机器包括聊天机器人(Chatbot)[3]、问答系统(QA-system)[4]、创作机器、网络爬虫(web-crawlers)[5]、网间机器人(cyber bots)[6]和自动编程机器等。可以认为,机械定义的物理机器和基于知识的软件机器的组合将成为机器发展的未来趋势。

为了实现这种组合,研究人员提出了多种不同的框架来应对物理机器和知识机器相结合带来的复杂情景中的挑战。然而,根据文献调研,目前只有平行机器人理论完整地提出了一种将物理机器和知识机器统一于一体的框架,该框架基于王飞跃研究员于 2004 年提出的平行系统方法[7]。2015年,平行机器人的概念被正式提出,将平行系统方法拓展到了机器人、智能制造、智能机器等各个领域,其核心是软件定义的虚拟机器可在虚拟人工系统中运行,作为实际物理定义的机器的虚拟代理。软件定义的机器负责实际机器的学习、评估、协调、管理和人机交互过程。该框架的细节和应用展望将在下文说明。

2 相关研究综述

平行机器的概念起源于1994年的影子系统[8],其中,王飞跃提出将协同仿真嵌入实际系统,实现嵌入式协同仿真对实际系统的智能控制。2004年,王飞跃进一步考虑了虚拟系统在整个系统中的价值,提出了虚实互动的平行系统的概念[7]。2015年,平行机器的概念由王飞跃在报告中正式提出[9],报告将机器人与系统工程和知识工程相结合,为机器技术规划了未来的发展趋势和发展道路。平行机器的发展路线并非空想,目前发展迅猛的多个机器人研究方向均与其密切贴合,在某一方面或多或少体现了平行机器虚实互动的本质,这也反过来推动了平行机器的发展。本节介绍与平行机器概念密切相关的各主要领域的研究现状,包括仿真工具、机器人中间件、机器知识库和云机器人。

2.1 仿真系统

通过仿真虚拟测试和评估机器性能的想法早已有之。由于机器通常价值不菲,并且在跌落、碰撞或死区时往往极易发生故障,因此在脱离数学仿真验证的前提下直接将原始控制策略运行在机器上是非常冒险的行为。毫不夸张地说,仿真是机器设计、测试和评估中最重要的方面之一,数学评估工具和仿真工具的使用在机器研究中起着至关重要的作用。特别是随着机器学习技术的兴起,仿真不仅可以保证安全运行,也可以极大地提升探索和学习效率。目前机器仿真器可划分为3类,即计算仿真器、专用仿真器和通用仿真器,每一类分别起不同的作用。

计算仿真器针对动态系统的初步评估,特别适用于数学建模和设计合适的控制器(例如MATLAB/Simulink),它支持用于动态系统建模和分析的图形化编程环境,通过其与物理控制器或其他仿真软件的接口,可以方便地进行控制器设计调参。由于MATLAB提供商Mathworks一直在推广“基于模型的设计”的概念,所以 MATLAB /Simulink 被设计用于信息物理系统(CPS)中机器的整个生命周期[10]。同类产品包括 Mathematica[11]、SciLab[12]、SimPy[13]、Maple[14]。除此之外,一些特定领域的数学仿真项目通常基于 MATLAB 或上面提到的其他数学仿真器开发,可用于直升机[15]、机器鱼类[16]等。通常,数学仿真工具在计算中是最有效的,但由于其往往缺乏直接的领域知识,因而通常用于对独立模块的评估,而非对整体性能的综合仿真。

专业仿真器的系统设计往往考虑领域知识并创建专门的物理环境,用以模拟机器在真实环境中运行时各个方面的整体性能。此外,该类仿真器提供硬件在环或软件在环测试平台,从而也为用户提供了在实施之前熟悉机器操作和性能的机会。这意味着专用仿真器对机器和操作人员都有很高的价值,例如,FightGear[17]开源飞行仿真器可用于学术、工业工程和其他许多领域创建复杂的飞行仿真器框架,类似的工具包括 X-Plane[18]和AirSim[19]等。UWSim[20]和SubSim[21]是专为水下交通工具设计的仿真项目,CarSim[22]是最受欢迎的专业地面车辆仿真器之一。

除了专用仿真器之外,用户还可以更自由地创建自己的虚拟机器模型并基于物理引擎和渲染技术创建虚拟环境,即为通用仿真器。其中,许多仿真器都是基于低级物理引擎(例如ODE或Bullet)构建的,并由大型在线生态系统支持的开源组织维护,主要面向学术领域,例如DARPA机器挑战(DRC)将CloudSim[23]和Gazebo[24]作为支持平台,欧洲机器挑战(EuRoC)使用 ROS 和 Gazebo 平台,以及TurvoVNC用于无人机等。目前主要的通用仿真器包括Gazebo、MuJoCo[25]、V-Rep[26]、ARGoS [27]等,其中每一个都具有自己的独特优势,用户可根据自己的喜好选择。例如,Gazebo 与 ROS 的集成度更高, MuJoCo 针对平行处理进行了优化,而 ARGoS 则适用于群体仿真场景。尽管存在差异,但这些仿真器仍具有一些共同的优点,例如高保真、传感器渲染功能、可编程的环境控制以及拥有精细可靠的模型库等。这使得通用机器仿真器更适合于构建全面的人工系统,这些由一个个仿真原件组成的人工系统即为平行机器的第一阶段。

2.2 机器人中间件

机器人中间件又称为机器人系统的“软件胶水”,可以将其视为机器人系统的高级软件层,它集成机器的低层组件,驻留在操作系统和软件应用程序之间 [28]。在机器人中间件的帮助下,研究和开发人员可以更专注于自己感兴趣的领域,并促进分布式计算以及软件的重用。

21世纪以来,已有几个机器人中间件项目被提出并广泛使用,包括 Willow Garage 的机器人操作系统(ROS)[29]、Brian Gerkey的Player/Stage[30]、YARP[31]和 RT-Middleware[32]等,其中,ROS 是最受机器人社区欢迎的机器人中间件之一。ROS 是一种机器人元操作系统,它提供硬件抽象、常用功能库、消息传递和包管理,甚至强大的机器人硬件平台,如 PR2 和 Baxter。毫不夸张地说,ROS 已经受到研究人员和爱好者的极大关注,成为当今机器软件事实上的标准。ROS 将机器的每个子系统视为单独的节点,促进了从模块到模块、从硬件到驱动程序、从算法到数据的分离,这也是吸引机器人研究人员的主要动力。组件之间的这种松散的链接框架允许用户专注于他们的特定区域。

硬件和软件之间、算法和数据之间的分离或解耦思想同样反映在机器框架和中间件中。例如, 2008 年,卡耐基梅隆大学(CMU)的 Diankov 和Kuffner 提出了自动机器技术的 OpenRAVE[33],这是一个专注于运动规划和高级脚本的开源架构。Touretzky[34]为机器技术开发了一个认知框架,以提供一个高级编程系统,提供用于感知和操纵对象的抽象基元。Manso 在 2010 年提出了RoboComp[35],这是一个面向开源组件的机器框架。Martinez[36]提出了使用数据分发服务(DDS)对RoboComp进行改进,以处理实时嵌入式系统。Leitner[37]开发了用于计算机视觉和认知机器研究的icVision框架,该框架在YARP的帮助下,为人形机器人提供了一种自下而上的模块化架构。Brooks 等开发的 Orca[38]是一个基于组件的软件工程框架,专门针对移动机器领域。苏黎世联邦理工学院开发的嵌入式系统PX4[39]是一个模块化、面向标准的机器人中间件,与 ROS 一起被广泛用于开源无人机系统中。在Elkady[28]的调查中可以找到机器人中间件选择的全面比较,本文不再赘述。

通过这种方式,机器中间件可以作为纽带来整合真实的机器和软件定义的机器,这种整合有助于有效地进行计算实验,并实现整个系统的平行执行。

2.3 网络化机器人

网络化机器是机器访问网络以寻求其任务解决方案的框架。网络化机器的想法可以追溯到 20世纪 80 年代,当时通用汽车公司提出了制造自动化协议(MAP),后来又开发了制造消息规范(MMS),以规范来自不同制造商的机械手、可编程逻辑控制(PLC)和主机之间的通信,这成为虚拟制造设备(VMD)之间的标准,并最终演变为ISO 9506,奠定了网络化机器的基础。在 MAP /MMS 之后,特别是在基于 TCP / IP 的 HTTP 兴起之后,网络机器成为机器领域不断增长的研究课题。通过电子邮件和网页控制PUMA(programmable universal machine for assembly)机器人的研究就是典型的网络机器实例。如今,在大数据和云计算技术发展的推动下,网络机器演变成具有知识引擎的云机器人。

2009年,RoboEarth[40]项目在欧洲启动,旨在为机器构建万维网。RoboEarth 项目建立了Rapyuta[41]平台,该平台提供远程计算中心和数据库服务,机器可以在这里共享信息并相互学习。除 RoboEarth之外,还提出了其他许多正在进行的机器知识引擎项目,如 RoboBrain[42]、Open-Ease[43],这些项目奠定了云机器人应用的基础。

Kuffner[44]在2010年的报告中提出了云机器人的概念,并详细阐述了其潜在的优势,从此引起了研究人员的高度关注。正如名称所示,云机器人不是在本地集成每个功能,而是访问云服务中的远程数据或代码,以在其应用期间获得支持。通过这种方式,机器可以突破其固有的板载存储和计算能力限制。这一概念被提出后不久,DAvinCI 项目 [45]和Rapyuta [41]项目相继出现:前者为机器生态系统提供了云计算的软件框架,后者为 RoboEarth 知识引擎提供了可访问的安全云计算服务平台。除了指定的云机器人平台,亚马逊、阿里巴巴云等商业服务器提供商也可以满足实施云机器人服务的一些要求。

在文献[46]中,Kehoe 讨论了云机器人的主要优势,包括云计算、大数据、集成学习和众包。到目前为止,云机器人在服务等级协议(SLA)、抓取和导航等领域取得了巨大成功。然而,云机器人仍面临一些重要挑战。在文献[47]中,作者讨论了云机器人所面临的主要难题,其中一方面在于不可控网络服务质量带来的通信和安全问题,另一方面在于脏数据和稀疏数据带来的学习问题。

在文献[46]中,作者提出云机器人技术的最终目标是实现 RAaaS(机器和自动化即服务),即使用功能块在线形成机器的交互式工作流程,并制定传感器读数与控制机器完成任务的命令之间的直接映射,从而避免本地机器烦琐的设置过程。类似的想法也可以在数字双胞胎 [48]中找到,它旨在使用机器的数字模型部分作为监视机器状态的服务,通过仿真过程和物理对象之间的差异来改进模型。“工业4.0”和物联网也在一定程度上体现了类似的思想。

然而,尽管云机器人或数字双胞胎都提供了远程访问知识库和控制机器的服务,但它们并没有明确指出如何在本地物理机器和远程对应物之间进行交互,也没有通过虚拟实体来发展知识,也就是说,云机器人和数字双胞胎可以被视为平行机器框架的部分,但它们并不等效。

2.4 总结

与平行机器相关的前置工作包含 3 个主要方面:首先,机器仿真环境在保真度和效率方面都经历了快速发展;其次,ROS 等机器人中间件被机器人社区所采纳,因为它们提供了低级抽象的集成,这些抽象可以作为黏合剂来帮助用户专注于自己的兴趣,中间件在很大程度上促进了智能机器的功能实现;最后,过去十年内提出了机器的云计算服务。这些云平台和知识引擎为机器提供了云计算、大数据、众包和集成学习功能,已经在抓取、SLAM 和导航等领域取得进展。这些前置工作奠定了将远程软件定义的机器世界与物理现实世界进一步结合的基础,可以在复杂环境中完成一些奇妙的任务(包括知识任务)。在这些趋势下,本文提出了平行机器的概念和框架以及对它的一些看法,以促进机器人领域的研究和应用。

3 平行机器人框架

2004 年,王飞跃研究员在其关于复杂系统的研究中提出了平行系统的概念,如图1所示。根据文献[49]所述,对于一个系统来说,如果它有不可分和不可知两个基本特征,则其可被视为一个复杂系统。其中,不可分性意味着复杂系统的全局行为必须作为一个整体来确定,而不是对其组成部分进行独立分析;不可知性意味着复杂系统的全局行为无法在大范围内提前确定。为了应对上述挑战,王飞跃研究员提出应建立与真实系统相对应的虚拟代理系统(即人工系统),从而通过虚实交互来管理和控制系统 [50]。这便形成了平行系统的概念,它可以通过ACP(人工系统(artifical intelligence)、计算实验(computational experiments)、平行执行(parallel execution))方法来解决不可分和不可知的问题[51]

图1

图1    平行系统基本框架

 

一般来说,ACP方法的每个阶段都代表了一种找到复杂系统问题解决方案的方法。人工系统表明,应建立人工系统以整体方式描述复杂系统;计算实验表明,应对建成的人工系统进行计算实验,以分析和评估解决方案的性能,并在此阶段进行优化;平行执行表明,应采用虚拟—实际交互方法来控制和管理整个系统和人工系统。因此,物联网(IoT)、云计算、“工业 4.0”可被视为ACP的支持子模块。

过去十年中,基于 ACP 的平行方法(以下简称“ACP 方法”)已在许多复杂控制场景中成功应用,例如智能交通管理、计算机视觉、机器学习和控制 [52]领域。2015 年,文献[9]提议将ACP方法纳入机器人技术,形成平行机器人的概念。

平行机器人框架旨在构建一种方法,以增强机器人在其控制和管理中的智能性。一般而言,该框架是物理机器人、软件机器人、虚拟环境、Ad hoc网络、远程知识数据库和人工智能技术的组合。

文献[9]提出平行机器可以是物理机器和软件定义的机器的组合,可以是一对一的模式,也可以是一对多、多对一、多对多的模式,从而实现对不同层次智能机器的控制和管理。该系统构成了整个网络—物理—社会空间(CPSS)的整体闭环控制逻辑。

在实践中,与基于 ACP 的平行系统框架类似,通常平行机器框架如图2所示:框架由两个相应的主体和3个功能块组成。通过物理和软件定义机器人之间的相互作用,可以实现3个主要功能,如机器人学习与训练、机器人管理和控制、机器人实验与评估。

机器人学习与训练的功能一方面使机器能够学习新的算法或适应新的场景,另一方面使实践者能够熟悉操作或维护机器人;机器人实验与评估对机器的控制策略进行了测试和优化,通过迭代求解提高性能指标;关于机器人管理和控制功能,物理和软件定义的机器的交互循环共同构成了 CPSS上系统的闭环自适应反馈控制回路。这使得机器能够根据系统反馈和管理者指令进行响应,同时将系统状态呈现给管理员进行监视。

图2

图2    平行机器框架

 

4 平行机器系统架构

通常,机器的核心控制系统架构是一个状态、执行和传感的循环。平行机器在这个基础上增加了另一个虚拟控制、虚拟执行和虚拟循环的扩展循环。基本循环和扩展循环之间流动的是数据和知识。流程从真实数据开始,用虚拟数据增加,并衍生到知识中,从而产生新的知识和循环周期。平行机器的系统架构如图3所示。

平行机器人的架构主要用于将机器在物理和软件定义的两侧集成在一起,同时将其他动态参与者(尤其是人类)整合到系统中。平行系统的3个阶段(即人工系统、计算实验和平行执行)充当骨架结构,而知识作为血液在其中流动,为系统中的每个器官提供动力。

在建立了相应的物理子系统和人工子系统之后,自然会考虑利用系统收集即将进行的动作和状态的数据样本。因此引出了另一个知识处理步骤,以便通过计算实验丰富系统产生未来状态的潜在分布。然而,正如假设的那样,该系统是一个复杂的系统的系统(SoS),它是不可分割且不可预测的,这意味着该系统本身无法准确地提供长期预测,因此必须通过感知和预测迭代地获得预测成为“预测”流程。总之,该体系结构是一个知识流动的闭环,其中知识来自人类社会,由人工系统描述,通过计算实验进行细化,并通过平行执行付诸实践,直至最终实现控制目标。

图3

图3    平行机器系统架构

 

5 思考与展望

本节对平行机器进行深入探讨,对平行机器涉及的主要问题进行简要介绍,并探讨平行机器如何激发机器的研究和应用,从而为机器和自动化社区提供一些启示。

5.1 人工系统

5.1.1 海量数据

许多项目都体现了海量数据的思想。例如,对于抓取任务,加州大学伯克利分校提出了Dex Net,旨在通过大数据建立一个巨大的抓取数据集来促进研究,正如 ImageNet[53]刺激了计算机视觉的蓬勃发展。在他们的工作中,通过少量真实实验结合基于数学模型的仿真来收集样本,通过加入扰动、摄动等不确定性扩增样本数量,使样本量达到 TB 级。此外,研究者们还通过下载 3D 打印对象以提供复杂的对抗样本。在文献[54]中,作者使用仿真软件将通用导航算法转换为数据样本,并通过这些数据进行监督学习得到端到端导航器。在文献[55]中,作者则试图使用不同源的数据训练无人机端到端导航。

对于数据来说,总量多少并不是数据质量的唯一指标。在文献[46]中,作者提出脏数据和稀疏数据问题是云机器人面临的主要挑战之一。众所周知,现实世界的场景非常动态和多样化,这导致了数据样本有限的稀疏性。以传感器为例,在计算机视觉中,信号特征受照明、天气条件等的影响,而这些场景不容易再现,这就留下了数据偏差问题。在人工系统中,通过特定工具注入多样性,仿真数据可以为组合数据补充更多的多样性,这反过来可以在某种程度上缓解稀疏和偏差问题 [56]。脏数据的问题也可以通过这种方式来解决。实际上,复杂的数据样本需要手工制作烦琐的标签,这不可避免地会带来错误。相反,人工系统收集的数据样本具备自动标注的特点,即可以通过直接从仿真内置的物理模型中读取并自动标记其属性,因此可以轻易地获取大量真值数据样本。

数据生成过程中的另一个重要的指标是空间探索能力,空间探索能力对于强化学习具有显著影响。在实验室环境中使用机器进行试验验证总是基于十分严苛的假设,即使实地测试也将受到极大的限制,以避免可能的事故造成法律和伦理问题。另外,人类对于机器的好奇心也可能对实验造成影响。而在人工系统中,仿真机器可以尽可能自由地行动且没有安全问题。例如,在文献[57]中,作者使用仿真增强现实来学习行人避让其他行人的导航策略。因此,一方面,利用计算实验,机器可以充分利用其潜在的行动空间,产生更好、更积极的策略;另一方面,在人工系统中,机器可以很容易地修改某些参数(如手臂长度、关节方向等),这意味着不仅可以探索其动作空间,还可以探索其状态空间。通过改变机器的物理特性,可以确定机器对某些任务的最佳配置。

5.1.2 现实差距

现实差距(reality gap)是人工系统面临的主要问题之一,这种现象往往在将人工系统训练或设计的控制策略部署到现实世界场景时出现。原则上,希望机器模型的任何方面及其工作条件都尽可能真实,也期望系统能够尽可能快地求解计算。然而,欲望的忠诚度和效率都不能得到真正满足。此外,在保真度和效率之间存在折中,因为如果追求仿真的保真度,就不可避免地需要详细说明建模以增加计算的复杂性;反之亦然。

现实差距源于多个方面,例如建模的不完备、物理引擎的不完美、场景中其他参与者的动态行为中的理想化假设,或渲染效果和真实读数之间的差异。不完整的建模或物理缺陷意味着某些物理接触未经建模或简化建模,以满足人工系统的实时性要求,例如用简化的空气动力学方程或流体力学方程进行无人机和水下机器人的研究。

作为应对,必须首先在保真度和效率之间进行权衡,然后根据权衡来谨慎选择构建人工系统的工具链(无论是通用仿真环境还是特定仿真环境,它们分别适用于某些领域)。为了进一步改进,需要在算法和系统工程方面进一步努力,例如领域迁移。文献[58]是针对机器仿真领域迁移技术的详细综述。此外,结合平行理论,形成平行仿真的思路,也是实现高保真仿真的重要途径[59]

5.1.3 数据库自动化部署

人工系统的部署规模是另一个亟待解决的问题。构建程序化仿真机器并非易事,构建逼真的动态仿真场景也非常烦琐。如上所述,期望的人工系统应具有高保真、快速计算、可扩展和可重复使用的性质。因此,需要建立一个数据库来收集场景、对象、数据样本和训练有素的算法。近年来,机器人社区已经提出了类似目的的项目并得到了很多人的认可,特别是那些与云机器人概念相关的项目。云机器人平台提供服务,提供远程数据存储并在云中共享以满足要求。但是,仍需要添加其他服务才能实现人工系统的全部功能。

首先,就场景来说,传统上通过根据真实场景向仿真环境添加组件来构建世界;或者通过自动化步骤,借助数据库中的地图服务和语义地图服务来生成世界,这两种方法都需要大量的人工参与。然而,最近的生成模型过程(尤其是生成对抗网络(GAN)[60])可以将现实世界的场景转化为人工场景,或者通过“直接”与实际相互作用来仿真机器世界的场景。因此,人工系统可以发挥在线学习的作用。

综上所述,平行机器人中的人工系统有可能为机器训练提供海量数据样本,结合人工数据和实际数据可以在一定程度上缩小偏差。然而,由于仿真并不等于真实,数据会不可避免地受到称为现实差距的问题的困扰。作为回应,必须首先在模型保真度和计算效率之间进行权衡;之后,根据任务目的,还需要选择工具链和系统工程;然后,还可以采用领域迁移等方法来提高保真度。为了实现人工系统的全部功能,需要使用更多的设施,尤其是远程服务器和数据库,可以利用现有的云机器人服务。GAN 等新兴技术也有助于整合现实世界和人工系统。尽管存在许多困难,但随着计算能力与算法的不断发展,未来将出现具备快速计算能力的大规模保真仿真系统。通过人工系统可以获得大量的数据样本,这些样本真伪难辨,将有助于进一步推动基于统计学习的机器控制方法的成熟。

5.2 计算实验

计算实验有两种主要操作模式,即“学习与训练”和“实验与评估”,前者用于机器学习如何在给定条件下达到某个目标的策略,后者用于评估机器的性能以及相应的策略。

5.2.1 学习与训练

在学习与训练模式中,机器从仿真数据样本和部分真实世界的数据中学习控制策略。然而,由于在训练样本和现场应用之间存在偏差(即领域漂移,domain shift),如果实施到现实世界的任务中,训练的策略可能出现一定程度的性能退化。这种偏差一部分来自仿真与现实分布之间的差距,另一部分来自不同任务之间的差距。为了减轻这种影响,应该采取领域迁移或迁移学习等策略[61]

平行机器中出现领域漂移问题的一个主要原因是传感器渲染结果与实际传感器读数之间的分布存在差距。正如文献[58]中所讨论的,偏差在视觉领域的影响尤为严重,其中渲染的彩色图像和真实彩色摄像机读数之间存在差异。王坤峰等在文献[56]中分析了3种减轻计算机视觉领域计算实验中领域漂移的策略,即无监督域自适应学习、监督域自适应学习和半监督域自适应学习。其中,半监督域自适应学习策略利用合成数据和少量实际数据或预定义控制策略的组合数据集,具有丰富的研究价值,相关工作在机器导航领域有所应用。

领域漂移的另一个主要来源是不同任务之间的分布差异以及执行相同任务的不同机器之间的差异。由于机器总是设计用于执行多项任务,因此有必要转移训练有素的策略来执行新任务,而不是从零开始全新训练。这种需求同样适用于将学习到的策略从一个机器转移到另一个机器。适应过程通常通过迁移学习来完成,迁移学习用于通过给定少量样本来适应新任务。例如,在文献[62]中,作者提出了一个模块化策略网络,该模块化策略网络利用训练好的模块与异构机器一起执行不同的任务。在计算实验的帮助下,可以将这些小样本扩展到合成大样本。

5.2.2 实验与评估

对于“实验与评估”问题,现实世界的现场测试和人工系统测试共同用于评估所得策略。由于人工系统是完全可控的,现实中严重的耦合问题可以在其中被部分松弛,因此可以独立评估单独或一组变量,以将性能测试到极限。这可以作为真实场景中的指导,如何构建真实世界的测试环境来评估某些因素的策略,就像在计算机视觉中引入的一样,通过这种迭代,可以在随后的训练步骤中发现并将数据偏向该机器最难以解决的问题。该过程可被视为数据增强过程,该方法已被证明有助于提高计算机视觉领域的稳健性,因此可以期待评估实验与评估该迭代的有效性。

5.3 平行执行

平行执行旨在使现实世界的物理机器与多个软件定义的代理实现一种平行执行的模式,以确保完成任务并实现期望的性能。具体来说,在操作过程中,多个人工系统与现实世界并行建立,软件代理在人工系统中与真实机器人完全相同,但并不总是同步,而是超前或滞后若干步于实际系统[63]。通过这种方式,机器的动作是基于当前读数和合成预测的组合,同时由历史状态监督。这里对平行执行过程做进一步分析。

第一,上文所述的工作流程有两个主要优点。首先,如上所述,一些人工系统滞后于实际系统,这样就能够通过平行执行区分正常操作和异常操作。具体来说,在这些世界中,软件定义的机器人根据真实机器人传感器读数的历史记录采取行动,以计算与模拟环境交互的动作。通过将结果与真实机器人的历史进行比较,可以判断人工系统能否准确反映现实世界的特征,以便给出足够的预测或者由人类抛出异常。

第二,在发现存在表现不佳的情况后,可以采用利用在线学习和优化程序来在线推动机器人的政策。具体来说,由于实际与模拟之间存在真实偏差,以及不同任务之间存在领域转换,在不同的情况下,在整个工作期间,如果希望一劳永逸地解决所有问题,所获得的预训练策略可能在某些具体问题上表现不佳,因此,能够在操作过程中学习对于多功能机器人来说非常重要。一旦发现或预测到表现不佳的情况,系统就可以生成更多相应的情景。构建的世界对硬场景的分布有一些偏见,在这些场景中,可以根据偏差训练新的策略,使它们更适合那些硬场景,例如在文献[64-65]中,作者使用结果状态转换和逆动力学来调整模拟环境,并通过更好地模拟经过训练的策略在实际实验中获得了性能提升。

第三,除了基于历史数据评估经过训练的策略之外,平行机器系统可以受益于访问与当前情况共享一些公共数据库的数据库中的存储数据。存储的数据可以来自人工系统、构建的地图、渲染的环境,甚至是其他机器在执行过程中记录的传感器读数。使用这些数据,机器可以预测其在潜在情况下的性能,从而在执行即将到来的任务时提供机器的早期评估,还可以对新政策进行培训,以使即将到来的情况适应在线学习。

第四,平行执行提供了一种将繁重的计算从本地迁移到远程的方法。智能机器总是受到低机载存储和计算资源的制约,这使得它们无法实现许多先进的控制技术。云机器人最近的发展带动了机器人服务提供商从本地到远程迁移大量的计算和存储服务。然而,这需要理想的网络状况来交换传感器读数和命令,如果延迟过大,则可能引起性能损失[47]。平行机器可以提供一种减轻通信质量需求的方法。具体地,平行机器不仅在本地拥有一个完整的控制系统,可代替交换传感器读数和命令,而且在平行执行的过程中,只有语义语境的和更新的模型配置周期性地进行交换。换句话说,机器通过本地控制器,产生对当前环境的语义描述,服务器周期性地更新本地控制。这种方式可以保证机器人在糟糕的通信条件下执行任务。综上所述,平行执行为机器人提供了一种检测异常的方法,并且可以在操作期间进行在线学习。通过这种方式,机器人可以改善其在未知环境中的性能。平行执行还提供了一种将大量计算和存储消耗迁移到远程的方法,同时减轻了对网络条件的需求。因此,平行执行确实需要本地数据处理算法和更多的远程资源,这些资源提供了对各种人工系统的快速计算,然而这些资源具有被社区中的其他机器重用的可能,实际上对于机器的平均资源消耗可以打一个折扣。

6 结束语

本文做了有关平行机器仿真工具链、机器人中间件和云机器人的相关工作的综述,这些工作为机器的虚实平行交互技术奠定了基础。将基于 ACP的平行系统方法扩展到机器领域,提出了平行机器的概念、框架和体系结构,并针对相关方法和应用进行了展望。作为一种新颖的机器控制和管理方法,平行机器框架建立在网络化机器人、仿真和基于知识的机器学习的基础上,探索在复杂环境中管理机器并指导其完成任务的系统性方法。平行机器分为3个组成部分,其中人工系统是根据基于观察和知识的物理世界生成的。随后进行了计算实验以基于仿真收集动作状态样本。最后,以平行执行的方式制定了一系列解决方案并在线优化参数,最终完成了任务并达到了期望的性能。

ACP 方法已成功应用于计算机视觉、机器学习、智能交通[66]、智能制造和智能物流[67]、无人驾驶[68]等领域,这些领域与机器领域密切相关,因此,可以期待平行机器在这些领域的成功应用,也可以期望平行机器与其他平行系统进行集成,共同支撑机器领域的蓬勃发展。相信平行机器将成为一个重要的研究分支,特别地,平行机器和机器学习的结合将有可能促进智能机器人系统的发展,并加快设计、仿真和学习的过程。

 

 

 



http://blog.sciencenet.cn/blog-951291-1202272.html

上一篇:基于自然免疫原理与可信计算的自主可控信息系统研究
下一篇:平行核电:迈向智慧核电的智能技术

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2020-1-29 15:50

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部