平行机器:一种智能机器的管理与控制框架
1
2
Parallel machine:a framework for the control and management for intelligent machines
1
2
通讯作者:
修回日期: 2019-06-01 网络出版日期: 2019-06-20
基金资助: |
|
Revised: 2019-06-01 Online: 2019-06-20
Fund supported: |
|
作者简介 About authors
白天翔(1991-),男,北京人,中国科学院自动化研究所博士生,主要研究方向为机器人、强化学习、预测控制等 , E-mail:baitianxiang@ia.ac.cn
沈震(1982-),男,辽宁沈阳人,中国科学院自动化研究所副研究员,主要研究方向为复杂系统、智能制造 。
刘雅婷(1992-),女,山西晋中人,中国科学院自动化研究所博士生,主要研究方向为计算机视觉、目标跟踪、概率图模型 。
董西松(1978-),男,博士,中国科学院自动化研究所副研究员,主要研究方向为复杂系统的建模与控制、智能交通系统 。
针对智能机器控制的复杂性问题,提出了平行机器的概念、框架和方法。平行机器是将基于 ACP 的方法扩展到智能机器领域的产物,形成虚实平行互动的管控模式,是一种针对复杂环境、复杂问题的管理与控制方法。平行机器包括实际的物理机器和软件定义的虚拟机器,通过二者间的虚实互动实现描述、预测和引导3个功能,最后介绍平行机器相关技术并对平行机器的潜在应用进行展望。
关键词:
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:
本文引用格式
白天翔, 沈震, 刘雅婷, 董西松.
BAI Tianxiang.
1 引言
在过去的几十年中,机器正在变得快速、灵活和准确,这一切可归功于机械电子工程、纳米技术、仿生技术、传感器技术尤其是人工智能技术的发展。长期以来,机器被设计用于工业用途,运行在严格管制的生产环境中,代替人类进行重复性和烦琐的工作,例如制造、组装、搬运、焊接等。然而,随着机器在感知、决策等方面不断获得更优良的性能,机器开始具有一些智能,它们开始被用于执行复杂的任务,如复杂机动、双足步行、稳定的抓取和精细的手术等。这一趋势还逐步将实验室或工厂的机器带入人们日常生活中的复杂场景中。然而,实施先进的智能机器系统仍然存在挑战。
如今,人工智能在机器研究中发挥着至关重要的作用,自动地面车辆(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]等。通常,数学仿真工具在计算中是最有效的,但由于其往往缺乏直接的领域知识,因而通常用于对独立模块的评估,而非对整体性能的综合仿真。
除了专用仿真器之外,用户还可以更自由地创建自己的虚拟机器模型并基于物理引擎和渲染技术创建虚拟环境,即为通用仿真器。其中,许多仿真器都是基于低级物理引擎(例如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)机器人的研究就是典型的网络机器实例。如今,在大数据和云计算技术发展的推动下,网络机器演变成具有知识引擎的云机器人。
然而,尽管云机器人或数字双胞胎都提供了远程访问知识库和控制机器的服务,但它们并没有明确指出如何在本地物理机器和远程对应物之间进行交互,也没有通过虚拟实体来发展知识,也就是说,云机器人和数字双胞胎可以被视为平行机器框架的部分,但它们并不等效。
2.4 总结
与平行机器相关的前置工作包含 3 个主要方面:首先,机器仿真环境在保真度和效率方面都经历了快速发展;其次,ROS 等机器人中间件被机器人社区所采纳,因为它们提供了低级抽象的集成,这些抽象可以作为黏合剂来帮助用户专注于自己的兴趣,中间件在很大程度上促进了智能机器的功能实现;最后,过去十年内提出了机器的云计算服务。这些云平台和知识引擎为机器提供了云计算、大数据、众包和集成学习功能,已经在抓取、SLAM 和导航等领域取得进展。这些前置工作奠定了将远程软件定义的机器世界与物理现实世界进一步结合的基础,可以在复杂环境中完成一些奇妙的任务(包括知识任务)。在这些趋势下,本文提出了平行机器的概念和框架以及对它的一些看法,以促进机器人领域的研究和应用。
3 平行机器人框架
2004 年,王飞跃研究员在其关于复杂系统的研究中提出了平行系统的概念,如图1所示。根据文献[49]所述,对于一个系统来说,如果它有不可分和不可知两个基本特征,则其可被视为一个复杂系统。其中,不可分性意味着复杂系统的全局行为必须作为一个整体来确定,而不是对其组成部分进行独立分析;不可知性意味着复杂系统的全局行为无法在大范围内提前确定。为了应对上述挑战,王飞跃研究员提出应建立与真实系统相对应的虚拟代理系统(即人工系统),从而通过虚实交互来管理和控制系统 [50]。这便形成了平行系统的概念,它可以通过ACP(人工系统(artifical intelligence)、计算实验(computational experiments)、平行执行(parallel execution))方法来解决不可分和不可知的问题[51]。
图1
一般来说,ACP方法的每个阶段都代表了一种找到复杂系统问题解决方案的方法。人工系统表明,应建立人工系统以整体方式描述复杂系统;计算实验表明,应对建成的人工系统进行计算实验,以分析和评估解决方案的性能,并在此阶段进行优化;平行执行表明,应采用虚拟—实际交互方法来控制和管理整个系统和人工系统。因此,物联网(IoT)、云计算、“工业 4.0”可被视为ACP的支持子模块。
平行机器人框架旨在构建一种方法,以增强机器人在其控制和管理中的智能性。一般而言,该框架是物理机器人、软件机器人、虚拟环境、Ad hoc网络、远程知识数据库和人工智能技术的组合。
文献[9]提出平行机器可以是物理机器和软件定义的机器的组合,可以是一对一的模式,也可以是一对多、多对一、多对多的模式,从而实现对不同层次智能机器的控制和管理。该系统构成了整个网络—物理—社会空间(CPSS)的整体闭环控制逻辑。
在实践中,与基于 ACP 的平行系统框架类似,通常平行机器框架如图2所示:框架由两个相应的主体和3个功能块组成。通过物理和软件定义机器人之间的相互作用,可以实现3个主要功能,如机器人学习与训练、机器人管理和控制、机器人实验与评估。
机器人学习与训练的功能一方面使机器能够学习新的算法或适应新的场景,另一方面使实践者能够熟悉操作或维护机器人;机器人实验与评估对机器的控制策略进行了测试和优化,通过迭代求解提高性能指标;关于机器人管理和控制功能,物理和软件定义的机器的交互循环共同构成了 CPSS上系统的闭环自适应反馈控制回路。这使得机器能够根据系统反馈和管理者指令进行响应,同时将系统状态呈现给管理员进行监视。
图2
4 平行机器系统架构
通常,机器的核心控制系统架构是一个状态、执行和传感的循环。平行机器在这个基础上增加了另一个虚拟控制、虚拟执行和虚拟循环的扩展循环。基本循环和扩展循环之间流动的是数据和知识。流程从真实数据开始,用虚拟数据增加,并衍生到知识中,从而产生新的知识和循环周期。平行机器的系统架构如图3所示。
平行机器人的架构主要用于将机器在物理和软件定义的两侧集成在一起,同时将其他动态参与者(尤其是人类)整合到系统中。平行系统的3个阶段(即人工系统、计算实验和平行执行)充当骨架结构,而知识作为血液在其中流动,为系统中的每个器官提供动力。
在建立了相应的物理子系统和人工子系统之后,自然会考虑利用系统收集即将进行的动作和状态的数据样本。因此引出了另一个知识处理步骤,以便通过计算实验丰富系统产生未来状态的潜在分布。然而,正如假设的那样,该系统是一个复杂的系统的系统(SoS),它是不可分割且不可预测的,这意味着该系统本身无法准确地提供长期预测,因此必须通过感知和预测迭代地获得预测成为“预测”流程。总之,该体系结构是一个知识流动的闭环,其中知识来自人类社会,由人工系统描述,通过计算实验进行细化,并通过平行执行付诸实践,直至最终实现控制目标。
图3
5 思考与展望
本节对平行机器进行深入探讨,对平行机器涉及的主要问题进行简要介绍,并探讨平行机器如何激发机器的研究和应用,从而为机器和自动化社区提供一些启示。
5.1 人工系统
5.1.1 海量数据
对于数据来说,总量多少并不是数据质量的唯一指标。在文献[46]中,作者提出脏数据和稀疏数据问题是云机器人面临的主要挑战之一。众所周知,现实世界的场景非常动态和多样化,这导致了数据样本有限的稀疏性。以传感器为例,在计算机视觉中,信号特征受照明、天气条件等的影响,而这些场景不容易再现,这就留下了数据偏差问题。在人工系统中,通过特定工具注入多样性,仿真数据可以为组合数据补充更多的多样性,这反过来可以在某种程度上缓解稀疏和偏差问题 [56]。脏数据的问题也可以通过这种方式来解决。实际上,复杂的数据样本需要手工制作烦琐的标签,这不可避免地会带来错误。相反,人工系统收集的数据样本具备自动标注的特点,即可以通过直接从仿真内置的物理模型中读取并自动标记其属性,因此可以轻易地获取大量真值数据样本。
数据生成过程中的另一个重要的指标是空间探索能力,空间探索能力对于强化学习具有显著影响。在实验室环境中使用机器进行试验验证总是基于十分严苛的假设,即使实地测试也将受到极大的限制,以避免可能的事故造成法律和伦理问题。另外,人类对于机器的好奇心也可能对实验造成影响。而在人工系统中,仿真机器可以尽可能自由地行动且没有安全问题。例如,在文献[57]中,作者使用仿真增强现实来学习行人避让其他行人的导航策略。因此,一方面,利用计算实验,机器可以充分利用其潜在的行动空间,产生更好、更积极的策略;另一方面,在人工系统中,机器可以很容易地修改某些参数(如手臂长度、关节方向等),这意味着不仅可以探索其动作空间,还可以探索其状态空间。通过改变机器的物理特性,可以确定机器对某些任务的最佳配置。
5.1.2 现实差距
现实差距(reality gap)是人工系统面临的主要问题之一,这种现象往往在将人工系统训练或设计的控制策略部署到现实世界场景时出现。原则上,希望机器模型的任何方面及其工作条件都尽可能真实,也期望系统能够尽可能快地求解计算。然而,欲望的忠诚度和效率都不能得到真正满足。此外,在保真度和效率之间存在折中,因为如果追求仿真的保真度,就不可避免地需要详细说明建模以增加计算的复杂性;反之亦然。
现实差距源于多个方面,例如建模的不完备、物理引擎的不完美、场景中其他参与者的动态行为中的理想化假设,或渲染效果和真实读数之间的差异。不完整的建模或物理缺陷意味着某些物理接触未经建模或简化建模,以满足人工系统的实时性要求,例如用简化的空气动力学方程或流体力学方程进行无人机和水下机器人的研究。
5.1.3 数据库自动化部署
人工系统的部署规模是另一个亟待解决的问题。构建程序化仿真机器并非易事,构建逼真的动态仿真场景也非常烦琐。如上所述,期望的人工系统应具有高保真、快速计算、可扩展和可重复使用的性质。因此,需要建立一个数据库来收集场景、对象、数据样本和训练有素的算法。近年来,机器人社区已经提出了类似目的的项目并得到了很多人的认可,特别是那些与云机器人概念相关的项目。云机器人平台提供服务,提供远程数据存储并在云中共享以满足要求。但是,仍需要添加其他服务才能实现人工系统的全部功能。
首先,就场景来说,传统上通过根据真实场景向仿真环境添加组件来构建世界;或者通过自动化步骤,借助数据库中的地图服务和语义地图服务来生成世界,这两种方法都需要大量的人工参与。然而,最近的生成模型过程(尤其是生成对抗网络(GAN)[60])可以将现实世界的场景转化为人工场景,或者通过“直接”与实际相互作用来仿真机器世界的场景。因此,人工系统可以发挥在线学习的作用。
综上所述,平行机器人中的人工系统有可能为机器训练提供海量数据样本,结合人工数据和实际数据可以在一定程度上缩小偏差。然而,由于仿真并不等于真实,数据会不可避免地受到称为现实差距的问题的困扰。作为回应,必须首先在模型保真度和计算效率之间进行权衡;之后,根据任务目的,还需要选择工具链和系统工程;然后,还可以采用领域迁移等方法来提高保真度。为了实现人工系统的全部功能,需要使用更多的设施,尤其是远程服务器和数据库,可以利用现有的云机器人服务。GAN 等新兴技术也有助于整合现实世界和人工系统。尽管存在许多困难,但随着计算能力与算法的不断发展,未来将出现具备快速计算能力的大规模保真仿真系统。通过人工系统可以获得大量的数据样本,这些样本真伪难辨,将有助于进一步推动基于统计学习的机器控制方法的成熟。
5.2 计算实验
计算实验有两种主要操作模式,即“学习与训练”和“实验与评估”,前者用于机器学习如何在给定条件下达到某个目标的策略,后者用于评估机器的性能以及相应的策略。
5.2.1 学习与训练
在学习与训练模式中,机器从仿真数据样本和部分真实世界的数据中学习控制策略。然而,由于在训练样本和现场应用之间存在偏差(即领域漂移,domain shift),如果实施到现实世界的任务中,训练的策略可能出现一定程度的性能退化。这种偏差一部分来自仿真与现实分布之间的差距,另一部分来自不同任务之间的差距。为了减轻这种影响,应该采取领域迁移或迁移学习等策略[61]。
领域漂移的另一个主要来源是不同任务之间的分布差异以及执行相同任务的不同机器之间的差异。由于机器总是设计用于执行多项任务,因此有必要转移训练有素的策略来执行新任务,而不是从零开始全新训练。这种需求同样适用于将学习到的策略从一个机器转移到另一个机器。适应过程通常通过迁移学习来完成,迁移学习用于通过给定少量样本来适应新任务。例如,在文献[62]中,作者提出了一个模块化策略网络,该模块化策略网络利用训练好的模块与异构机器一起执行不同的任务。在计算实验的帮助下,可以将这些小样本扩展到合成大样本。
5.2.2 实验与评估
对于“实验与评估”问题,现实世界的现场测试和人工系统测试共同用于评估所得策略。由于人工系统是完全可控的,现实中严重的耦合问题可以在其中被部分松弛,因此可以独立评估单独或一组变量,以将性能测试到极限。这可以作为真实场景中的指导,如何构建真实世界的测试环境来评估某些因素的策略,就像在计算机视觉中引入的一样,通过这种迭代,可以在随后的训练步骤中发现并将数据偏向该机器最难以解决的问题。该过程可被视为数据增强过程,该方法已被证明有助于提高计算机视觉领域的稳健性,因此可以期待评估实验与评估该迭代的有效性。
5.3 平行执行
平行执行旨在使现实世界的物理机器与多个软件定义的代理实现一种平行执行的模式,以确保完成任务并实现期望的性能。具体来说,在操作过程中,多个人工系统与现实世界并行建立,软件代理在人工系统中与真实机器人完全相同,但并不总是同步,而是超前或滞后若干步于实际系统[63]。通过这种方式,机器的动作是基于当前读数和合成预测的组合,同时由历史状态监督。这里对平行执行过程做进一步分析。
第一,上文所述的工作流程有两个主要优点。首先,如上所述,一些人工系统滞后于实际系统,这样就能够通过平行执行区分正常操作和异常操作。具体来说,在这些世界中,软件定义的机器人根据真实机器人传感器读数的历史记录采取行动,以计算与模拟环境交互的动作。通过将结果与真实机器人的历史进行比较,可以判断人工系统能否准确反映现实世界的特征,以便给出足够的预测或者由人类抛出异常。
第二,在发现存在表现不佳的情况后,可以采用利用在线学习和优化程序来在线推动机器人的政策。具体来说,由于实际与模拟之间存在真实偏差,以及不同任务之间存在领域转换,在不同的情况下,在整个工作期间,如果希望一劳永逸地解决所有问题,所获得的预训练策略可能在某些具体问题上表现不佳,因此,能够在操作过程中学习对于多功能机器人来说非常重要。一旦发现或预测到表现不佳的情况,系统就可以生成更多相应的情景。构建的世界对硬场景的分布有一些偏见,在这些场景中,可以根据偏差训练新的策略,使它们更适合那些硬场景,例如在文献[64-65]中,作者使用结果状态转换和逆动力学来调整模拟环境,并通过更好地模拟经过训练的策略在实际实验中获得了性能提升。
第三,除了基于历史数据评估经过训练的策略之外,平行机器系统可以受益于访问与当前情况共享一些公共数据库的数据库中的存储数据。存储的数据可以来自人工系统、构建的地图、渲染的环境,甚至是其他机器在执行过程中记录的传感器读数。使用这些数据,机器可以预测其在潜在情况下的性能,从而在执行即将到来的任务时提供机器的早期评估,还可以对新政策进行培训,以使即将到来的情况适应在线学习。
第四,平行执行提供了一种将繁重的计算从本地迁移到远程的方法。智能机器总是受到低机载存储和计算资源的制约,这使得它们无法实现许多先进的控制技术。云机器人最近的发展带动了机器人服务提供商从本地到远程迁移大量的计算和存储服务。然而,这需要理想的网络状况来交换传感器读数和命令,如果延迟过大,则可能引起性能损失[47]。平行机器可以提供一种减轻通信质量需求的方法。具体地,平行机器不仅在本地拥有一个完整的控制系统,可代替交换传感器读数和命令,而且在平行执行的过程中,只有语义语境的和更新的模型配置周期性地进行交换。换句话说,机器通过本地控制器,产生对当前环境的语义描述,服务器周期性地更新本地控制。这种方式可以保证机器人在糟糕的通信条件下执行任务。综上所述,平行执行为机器人提供了一种检测异常的方法,并且可以在操作期间进行在线学习。通过这种方式,机器人可以改善其在未知环境中的性能。平行执行还提供了一种将大量计算和存储消耗迁移到远程的方法,同时减轻了对网络条件的需求。因此,平行执行确实需要本地数据处理算法和更多的远程资源,这些资源提供了对各种人工系统的快速计算,然而这些资源具有被社区中的其他机器重用的可能,实际上对于机器的平均资源消耗可以打一个折扣。
6 结束语
本文做了有关平行机器仿真工具链、机器人中间件和云机器人的相关工作的综述,这些工作为机器的虚实平行交互技术奠定了基础。将基于 ACP的平行系统方法扩展到机器领域,提出了平行机器的概念、框架和体系结构,并针对相关方法和应用进行了展望。作为一种新颖的机器控制和管理方法,平行机器框架建立在网络化机器人、仿真和基于知识的机器学习的基础上,探索在复杂环境中管理机器并指导其完成任务的系统性方法。平行机器分为3个组成部分,其中人工系统是根据基于观察和知识的物理世界生成的。随后进行了计算实验以基于仿真收集动作状态样本。最后,以平行执行的方式制定了一系列解决方案并在线优化参数,最终完成了任务并达到了期望的性能。
参考文献
Robotics narratives and networks[history]
[J]. ,
Survey on Chatbot design techniques in speech conversation systems
[C]//
Beyond the hype:big data concepts,methods,and analytics
[J]. ,
Web data extraction,applications and techniques:a survey
[J]. ,
The darpa cyber grand challenge:a competitor’s perspective
[J].,2015,13,6:72-76. ,
平行系统方法与复杂系统的管理和控制
[J]. ,
Parallel system methods for management and control of complex systems
[J].
Shadow systems:a new concept for nested and embedded cosimulation for intelligent systems
[R]. ,
机器人的未来发展:从工业自动化到知识自动化
[J]. ,
On future development of robotics:from industrial automation to knowledge automation
[J].
A model-based design methodology for cyber-physical systems
[C]//
Modeling and Simulation in SCILAB
[J].,2006. ,
Introduction to discrete-event simulation and the SimPy language
[M].
Advanced mathematical methods with Maple
[M].
Simulation of flexible mechanisms in a rotating blade for smart-blade applications
[J]. ,
Swimming simulation and system implementation of a multilink robotic fish
[C]//
The flight gear flight simulator
[C]//
Multiuav simulator utilizing x-plane
[C]//
Air-sim:high-fidelity visual and physical simulation for autonomous vehicles
[C]//
Uwsim:a simulator for underwater sensor networks
[J]. ,
Subsim:an autonomous underwater vehicle simulation package
[C]//
Carsim:car-following model for simulation of traffic in normal and stop-and-go conditions
[J]. ,
cloudsim:a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms
[J]. ,
Design and use paradigms for Gazebo,an open-source multi-robot simulator
[C]//
Mujoco haptix:a virtual reality system for hand manipulation
[C]//
V-rep:a versatile and scalable robot simulation framework
[C]//
Argos:a modular,multi-engine simulator for heterogeneous swarm robotics
[C]//
Robotics middleware:a comprehensive literature survey and attribute-based bibliography
[J]. ,
ROS:an open-source robot operating system
[C]//
The player/stage project:tools for multi-robot and distributed sensor systems
[C]//
Rt-middleware:distributed component middleware for rt (robot technology)
[C]//
OpenRAVE:a planning architecture for autonomous robotics
[J]. ,
Tekkotsu:a framework for aibo cognitive robotics
[C]//
Robocomp:a tool-based robotics framework
[C]//
Improving a robotics framework with real-time and high-performance features
[C]//
An integrated,modular framework for computer vision and cognitive robotics research (icvision)
[C]//
Orca:components for robotics
[C]//
Px4:a node-based multithreaded open source robotics frame-work for deeply embedded platforms
[C]//
Rapyuta:the roboearth cloud engine
[C]//
Robobrain:large-scale knowledge engine for robots
[J]. ,
Open-ease
[C]//
Cloud-enabled humanoid robots
[C]//
Davinci:a cloud computing framework for service robots
[C]//
A survey of research on cloud robotics and automation
[J]. ,
Cloud robotics:current status and open issues
[J]. ,
About the importance of autonomy and digital twins for the future of manufacturing
[J]. ,
On the modeling,analysis,control and management of complex systems
[J]. ,
Parallel control theory of complex systems and applications
[J]. ,
Artificial societies,computational experiments,and parallel systems:a discussion on computational theory of complex social economic systems
[J]. ,
ImageNet:a large-scale hierarchical image database
[C]//
From perception to decision:a data-driven approach to end-to-end motion planning for au-tonomous ground robots
[C]//
Dronet:learning to fly by driving
[J]. ,
Parallel vision for perception and understanding of complex scenes:methods,framework,and perspectives
[J]. ,
Deep-learning in mobile robotics-from perception to control systems:a survey on why and why not
[J]. ,
平行仿真的内涵、发展与应用
[J]. ,
Parallel simulation:motivation,concept and application
[J].
Generative adversarial networks for parallel vision
[C]//
Learning modular neural network policies for multi-task and multi-robot transfer
[C]//
Research on the classification of parallel execution modes of ACP theory
[J]. ,
Grounded action transformation for robot learning in simulation
[C]//
Humanoid robots learning to walk faster:from the real world to simulation and back
[C]//
平行交通:虚实互动的智能交通管理与控制
[J]. ,
Parallel transportation:virtual-real interaction for intelligent traffic management and control
[J].
平行装卸:迈向智慧物流的智能技术
[J]. ,
Parallel loading and unloading:smart technology toward intelligent logistics
[J].
/
〈 | 〉 |