可持续自主学习的micROS机器人操作系统平行学习架构

2019-02-20 03:34戴华东易晓东王彦臻王之元杨学军
计算机研究与发展 2019年1期
关键词:插件无人架构

戴华东 易晓东 王彦臻 王之元 杨学军

(军事科学院国防科技创新研究院人工智能研究中心 北京 100071)

人类正在经历第三次工业革命,机器人即将重复个人电脑崛起的道路,走进千家万户[1].作为机器人平台最重要的基础软件,机器人操作系统是推动这一发展的核心和关键.机器人操作系统是“机器人革命”的引擎,具有重大的经济价值和军事价值.机器人操作系统正朝着空间分布性、功能异构性、任务并行性以及更强的智能性和容错性方向发展,致力于在更广泛的应用场景中自主或人机协同完成更为复杂的任务.特别地,机器人群体可以形成数量规模优势,降低全系统的研用成本.当前,人工智能正由手工知识/统计学习向适应环境发展,适应实际环境的学习理念为拓展机器人操作系统的实用性提供了有益借鉴.

本文在群体智能机器人操作系统micROS[2]的基础上,提出了面向机器人群体的可持续自主学习的平行学习架构,通过“虚实结合、同步演进”的技术途径实现机器学习器的学习训练,加速智能机器人的自学习和自演进,支持适应环境的人工智能在机器人和无人系统上的实现.本文的主要研究包括4个方面:

1) 拓展了机器人操作系统的体系架构,以支撑机器人系统的可持续自主学习为目标,提出了“虚实结合、同步演进”的平行学习架构;

2) 设计并实现了机器人操作系统的核心概念,针对机器人资源管理和行为管理的特点,提出了基于“角色”的控制抽象和基于“语义情境图”的数据抽象;

3) 突破了群体智能行为操控、自组织无线网络等需解决的关键技术问题;

4) 开展了机器人操作系统的应用验证,以无人农机、无人物流、协同搜索、通信中继等实际应用需求作为牵引,采用虚实结合方式对micROS的能力进行验证.

1 国内外发展趋势

与micROS相关的研究方向包括群体机器人、机器人操作系统及类似软件框架,以及近年来提出的适应环境的人工智能.

1.1 群体机器人

单体机器人的研究相对成熟.在单体机器人研究的基础上,许多国家都启动了群体机器人研究计划.日本早在1989年就由Asama等人提出了Actress系统[3]和CEBOT系统[4].Actress系统是通过设计底层的通信结构而把机器人、周边设备和计算机等连接起来的自治多机器人智能系统,这个系统的主要特点是系统的单个动作和合作动作的并存.CEBOT系统假设每个机器人可以自主地运动,没有全局的世界模型,整个系统没有集中控制,可以根据任务和环境动态重构,对具有学习和适应能力的群体智能,采用分布式的体系结构.美国学者Jin和Beni等人研究了SWARM[5]系统,该系统认为单个机器人无智能,但它们在组成系统后将表现出群体的智能.2014年,哈佛科学家Nagpal设计了名为Kilobot的集群机器[6],它包含1 024个建造成本低廉的微型机器人,以产生去中心化、无领导的、点对点的、网络特征的(大规模)合作.欧盟MARTHA[7]项目针对多自主机器人协同搬运问题,对多机器人中进行了系统研究.其他类似项目还包括欧盟的Swarmnoid[8],Swarm-Bots[9],REPLICATOR[10]项目,瑞士联邦理工大学的SMAVNET[11],Nissan公司的EPORO项目[12]等.

1.2 机器人操作系统及类似软件框架

在机器人操作系统的概念提出之前,实现类似功能的基础软件被称为机器人中间件、机器人软件框架或者机器人开发环境等.2000年机器人中间件的概念开始兴起,出现了Miro[13],Orca[14],RT-Middleware[15],Player/Stage[16],RSCA[17]、Orocos[18]等典型项目和系统.2006年,微软也推出了机器人开发平台RDS.近年来,机器人操作系统的概念也逐渐被学术界和产业界认可和接受,越来越多的实验性和商业机器人系统都全部或部分基于机器人操作系统进行开发实现,其中甚至包括机组成员工作座舱内自动化系统(ALIAS)和宇航机器人Robonaut 2等对系统可靠性和实时性要求苛刻的项目.

各国竞相展开了机器人操作系统的研究,如美国的Player/Stage、欧洲的Orocos和YARP[19]等.特别值得关注的是,一套用“机器人操作系统”命名的机器人软件——ROS[20](robot operating system)从2007年开始发展,进展迅猛,得到了国内外学术界和工业界的广泛关注.《麻省理工技术评论》[21]指出,“ROS正在逐步成为机器人研发领域的事实标准”.最近,微软也发布了可在Windows 10上运行的ROS版本,并将对其进行持续开发维护.近几年来,ROS的应用日益广泛,无论是无人机/无人车等机器人本体的研究[22-23]、机器人平台控制器的研究[24-25],还是机器人导航定位等方面的应用研究[26-27],都大量基于ROS开展,为ROS的进一步改进和完善提供了广阔的舞台,但国内外的科研机构在ROS内核方面投入研究力量并不充分,ROS1.0及当前的2.0版本主要还是由开源社区维护和主导.

美国军方早在无人机平台上成功地研发了通用操作系统——COS,并投入实战.COS的设计目的是将所有无人机平台的武器、传感器和通信等进行整合,对X-45,X-47以及未来10年内新开发的飞机进行统一操控.基于机器人操作系统,美国DARPA更加注重体系集成,推出SoSITE[28]等体系集成项目,重点是寻求有人平台和无人平台统一的体系架构以及支撑工具,这为机器人操作系统及其软件体系的研究和设计打开了一条新思路.

1.3 适应环境的人工智能

美国DARPA按照信息处理系统的4种能力——感知、学习、抽象和推理,将人工智能发展分为3个阶段,即手工知识型、统计学习型和适应环境型.手工知识型人工智能可针对限定问题进行推理,因不具备学习能力而不能处理非确定性问题.我们正在经历统计学习型人工智能发展阶段,以深度学习为代表的统计机器学习方法可从大数据中学习数据的表征,可有效处理分类和预测等非确定性问题.然而,当前人工智能系统的抽象和推理能力较弱,不能有效适应动态变化的任务环境.未来,人工智能将在向适应性环境型发展,系统将具备较强的感知、学习、抽象和推理能力,可适应样本类别、数据分布、样本属性等因素不断变化的“开放动态环境”.

美国已经对第3次人工智能浪潮展开布局,DARPA宣布投资20亿,分10个项目利用5年时间开发适应环境型人工智能技术.2018年正式发布“利用更少标记样本学习”(LwLL)项目,试图利用3年时间将面向特定问题的深度学习模型训练所需的标记样本量降低100万倍;正式发布“内嵌物理知识的人工智能”(PAI)项目,试图在机器学习算法中嵌入因果推理、确定性方程等物理知识,以提升人工智能系统在开放环境中的学习能力.

2 平行学习架构

在micROS的可扩展多态分布架构基础之上,为了揭示群体机器智能的横向——深向协同机理,借鉴平行控制思想,本文提出了机器人操作系统的平行学习架构,研究虚实联动的平行学习智能体系.为支撑适应环境的群体机器智能,从深向设计了虚实联动的平行学习架构,如图1所示,其原理是:基于情境图和语义构建可解释的内部世界模型,设计对环境的感知和持续更新的学习算法,并将经验知识和学习知识不断用于抽象和推理.

Fig. 1 Parallel learning architecture of micROS图1 机器人操作系统的平行学习架构

针对动态场景中智能行为的偶然性和复杂环境情境数据的非独立同分布特性,研究群体机器智能结构性实现方法,按照本能反应式智能——局部后天反应式智能——全局后天反应式智能——慎思式智能等多个人类的智能水平层级,设计并实现平行学习架构,包括:在分布式智能无人平台上实现本能反应式智能的学习、局部后天反应式智能的学习、在群体机器智能系统的云端分级实现全局后天反应式智能的学习、慎思式智能的学习等.这种架构解决了群体机器智能联合学习算法设计和群体机器智能系统设计相结合的问题.

另外,通过虚实联动的平行控制解决学习器训练的问题.据此,把体系中的要素分为实际系统和人工系统,实际系统可是无人系统,也可是人机共融系统,人工系统是基于计算机模拟的虚拟系统.实际系统在实际环境中运行,人工系统在模拟仿真的虚拟环境中运行,与实际系统联动.同时,实际环境为虚拟环境提供了基础性数据,虚拟环境可以通过训练和推理的方式生成数据,为实际环境提供海量的数据扩充.通过实际系统和人工系统的相互耦合、虚实互动,可为群体智能行为的自学习、自演进、智能涌现奠定技术基础.

针对大规模群体无人系统的平行学习,基于云平台和轻量级容器技术,在后台虚拟空间中构造与前端物理空间中的无人集群系统保持虚实联动同步演进的平行管控系统.构建“平台即服务”的平行控制系统构造所需的基础设施,设计计算资源、存储资源以及网络资源的按需分配、协同调度、高效并发等机制,支持前端智能无人集群系统大规模并发访问、信息共享、全局视图的快速构建;基于容器云消息队列构建松耦合的基于发布/订阅模式的互操作协议与平行管控协议,统一前端异构无人系统之间及其与后台平行管控系统之间的互操作模型和框架;基于容器云快速构建深度学习器,为前端智能演算提供实时算力支持.

3 核心概念

控制抽象和数据抽象是操作系统基础研究的核心内容.在计算机操作系统发展过程中,基于“进程/线程”模型的控制抽象的提出具有划时代的意义,是现代操作系统资源管理和程序执行的基本单元,是构成并发、实时、分布等计算模式的基础,并衍生出许多计算机基础理论,例如进程代数理论等.基于文件的数据抽象同样是计算机操作系统发展过程中的重要里程碑,使得不同来源的异构数据和设备能够被统一管理和共享使用.

群体智能机器人操作系统担负管理机器人和群体机器人的资源和行为的任务,资源管理从信息域扩展到物理、信息、认知、社会四域,行为管理更是计算机操作系统所不具备的功能.另外,机器人需要具备观察、判断、决定、行动的态势元素集,以及空间数据库、人机自然交互系统、目标与场景识别等系统.因此,群体智能机器人操作系统需要设计和实现不同于传统计算机操作系统的控制抽象和数据抽象机制.

3.1 基于“角色”的控制抽象

我们认为,智能是有结构的.为了揭示多元群体机器智能的分布结构模型形成机理,采用基于角色(actor)的思想,研究单体机器智能与群体机器智能结构的关联性,重点是角色设定与交互规则、基于学习的角色能力形成机理、角色的智能生成与演化机理,以及分布结构模型中各角色的分工协作.我们以多智能体(multi agent system, MAS)、计算机支持协同工作(computer supported cooperative work,CSCW)等理论为基础,提出了基于角色模型的群体智能机器人操作系统控制抽象.角色是机器人及机器人群体面向特定任务的一次行为的抽象,它与传统计算机操作系统中进程核心概念的对比如表1所示.我们设计了角色的核心数据结构,并实现了机器人群体中角色的扮演、激活、调度和迁移等基本操作.

1) 角色扮演.角色扮演是指将角色与传感器、机器人、机器人群体等进行绑定,实现资源分配,并建立机器人群体的组织结构、交互关系等.

2) 角色激活.角色激活是指将任务分配给角色,角色按照所分配的任务,开始执行以OODA循环为模型的行为.

Table1 Comparison of Process and Actor表1 进程与角色的对比

3) 角色调度.传感器、机器人平台、机器人群体等可以并发扮演不同的角色,根据任务需求、资源约束等进行调度.

4) 角色迁移.面向传感器、机器人平台或机器人群体失效等情况,由不同的传感器、机器人平台或机器人群体扮演原有角色,继续完成任务,实现群体的任务弹性.

基于以上角色模型,课题组正在研究面向群体智能行为管理与协同任务管理的机制与算法.

3.2 基于“语义情境图”的数据抽象

我们提出语义情境图作为机器人操作系统的数据抽象,以实现机-机协同与人-机协同、数据融合、异步更新、多视图共享、事件触发等功能.语义情境图和传统计算机操作系统中文件的概念对比如表2所示.在群体智能操作系统中,语义情境图包含可帮助机器人具备观察、判断、决定、行动的态势元素集,以及空间数据库、人机自然交互系统、目标与场景识别等系统.

Table 2 Comparison of Files and Semantic Situational Maps表2 文件与语义情境图的对比

根据DARPA提出的适应环境的人工智能思想,针对基于群体机器智能构建可解释环境模型的挑战,我们重点提出了可解释环境表征、单体环境模型构建和群体环境模型构建机理.针对构建可解释复杂环境表征的挑战,我们提出了复杂环境的分解机理,重点是可解释的环境积木发现和表征机制;针对单体机器人构建环境模型的挑战,我们提出了基于可解释的环境积木的动态组合机制,重点是环境积木的相关性分析和层次式组合派生机制;针对群体构建环境模型的挑战,我们通过设计与实现,探索了群体共享环境模型的可扩展性,重点是环境模型知识与语义有组织的理解和共享.

4 系统实现

4.1 关键技术

4.1.1 群体智能行为操控技术

美国军事战略家约翰·博伊德(John Boyd)提出了一个行为认知模型——OODA循环[29],该模型最初用于描述军事对抗行动,现在已经被广泛扩展到商业行为、社会事件和学习过程等应用领域.OODA循环由“观察(observe)、判断(orient)、决定(decide)、行动(act)”4个环节组成.该模型充分考虑到了开放环境和复杂系统的特征,能够用于描述高级和复杂的群体行为.群体智能操作系统以“自主观察与群体感知、自主判断与群体认知、自主决定与群体博弈、自主行动与群体动力”这4个科学问题为牵引,参照OODA行为认知模型,将感知智能、认知智能、群体智能、人机混合智能等人工智能技术应用于OODA循环的4个环节,实现了对群体机器人的智能行为管理.

群体智能行为可以看作是一个复杂适应系统(complex adaptive systems, CAS),系统中的成员是具有一定适应性的主体,每个主体能够与环境以及其他主体进行交互作用.主体在这种持续不断的交互作用的过程中,不断地“学习”或“积累”经验,并且根据学到的经验改变自身的结构和行为方式.整个宏观系统的演变或进化,包括新层次的产生、分化和多样性的出现新的、聚合而成的、更大的主体的出现等,都将在这个基础上逐步派生而来.群体智能体在这一过程中涌现出来的群体智能,使得整个群体行为系统不断发展和进化,通过不断地适应产生群体智能行为的复杂性.

4.1.2 自组织无线网络技术

具有适应性和涌现性的智能群体通过单体之间的信息流动,实现复杂适应系统的“流”特性.在群体机器智能系统中,信息的流动依赖于自适应、自组织的网络.因此,自组织网络不仅是对群体机器智能适应性与环境交互机理的运用,也是构建具有适应性和涌现性的各类群体机器智能系统的共性基础.

群体机器智能系统自组织网络以群体机器智能联合感知、群体机器智能联合学习、群体机器智能联合抽象和群体机器智能联合推理算法为指导,一方面涉及分布式宽带频谱探测与认知机制、多维智能通信机制和弹性自组织网络机制,另一方面涵盖将上述模型和机制物化为实体的自组织网络系统集成方法,主要包括:

1) 分布式宽带频谱探测与认知机制.基于分布式多无人平台的协作频谱探测,聚合多个平台的探测频段并进行精确的频谱认知,从聚合的智能电磁群体与电磁环境的交互机制出发,设计自适应调控和折衷的单体规则.重点还包括基于机器学习的无线信道模型、多维频谱地图模型构建方法、频谱感知网络与自适应通信网络动态构建方法.

2) 多维智能通信机制.主要是具有自主调节能力的多维智能通信机制,包括发射端基于学习型算法的波形自适应机制和接收端基于学习型算法的自适应接收技术,以实现空、时、频、能、码等多个维度的智能通信,匹配集群机器智.

3) 弹性自组织网络机制.可进一步分解为通信运动联合规划和混合式自适应路由.群体机器智能系统通信运动联合规划根据任务需求量化系统优化目标,对物理电磁环境等外部约束、无人平台自主感知-规划-控制能力、通信能力和能量等内部约束进行建模,设计群体通信运动联合规划.混合式自适应路基于群体智能的适应性机理,在拓扑结构变化动态性较低的子网中采用反应式路由协议,在高动态拓扑变化的无人机子网中采用先应式路由协议等.

4) 自组织网络系统集成方法.根据层次式和软件构件化的设计思路,设计和实现支持分布式宽带频谱探测与认知机制、多维智能通信机制和弹性自组织网络机制的自组织网络系统集成方法,形成物化的分布可扩展互操作协议栈.

4.2 软件原型开发

我们已完成了群体智能操作系统软件micROS原型版本的开发,初步实现了多态分布体系架构,并且支持基于软件总线的软件插件化扩展.该软件原型主要采用C++程序设计语言开发.micROS按照群体智能操作系统的结点层次式架构设计开发,核心模块包括资源管理层和群体行为操控支撑架构层.其中,资源管理层分为物理域(physics domain)资源管理、信息域(information domain)资源管理、认知域(cognition domain)资源管理和作战域/社会域(social domain)资源管理共4个子模块;群体行为操控支撑架构层分为群体观察支撑框架observe、群体判断支撑框架orient、群体决定支撑框架decide、群体行动支撑框架act共4个子模块.群体智能操作系统软件原型的每一个子模块都基于“软件总线+插件”的设计进行开发,例如群体行动支撑框架act子模块中包含群体行动软件总线act_softbus和群体行动功能插件库plugins.micROS在插件库中提供了典型功能插件范例,并且支持第三方根据插件接口规范进行软件的插件化扩展.目前micROS提供的典型插件范例包括多种无人系统传感器驱动插件、典型控制器插件、导航定位数据处理插件、可见光数据处理插件、路径规划插件、群体行动自适应插件、群体动力控制插件、局部运动插件等.

针对大规模群体无人系统在虚拟空间中的行为仿真,基于高性能三维物理引擎、精细化虚拟实体建模系统、逼真环境生成系统、可视化展示系统构建并行化模拟仿真环境,为micROS提供仿真支撑,为平行学习架构提供平台支撑,形成基本功能要素齐全的可视化展示能力、实物试验前的功能集成测试能力、大规模集群的实验验证能力.针对物理引擎模块计算复杂度高,仿真效率低的问题,基于自适应参数设置、多线程并发等技术,构建高性能物理引擎并行计算模块.

针对单一仿真器可扩展性差,不足以支撑大规模集群实时/超实时仿真的缺点,基于micROS架构和发布/订阅模式,构建可扩展的多仿真器分布式仿真架构.通过物理引擎并行计算与分布式仿真架构,实现大规模无人系统实时/超实时高精度并行仿真.针对仿真器可视化功能弱、展示效果差的问题,在可扩展的分布式仿真架构下,搭建三维可视化平台,构建精细化虚拟实体建模系统、逼真环境生成系统,将仿真计算功能与可视化展示功能解耦,具备高逼真度的三维可视化展示能力.

4.3 机器人平台适配

4.3.1 低成本群体无人机试验系统Beebots

为了便于群体无人系统实物试验的开展,我们首先基于商用微型四旋翼无人机搭建了群体无人机实验硬件系统.相比固定翼无人机,旋翼无人机具有成本低、速度慢、安全性好、场地需求小等优势,在系统研制初期试验开展方面具有较大优势.为了确保机上有足够的计算资源部署和运行无人机应用程序,为无人机配备专门的任务板,为了使实验平台对机器人软件开发有良好的支持,我们完成了群体智能操作系统软件原型同无人机和任务板的适配与优化工作.如图2所示,我们选取了Parrot Bebop 2旋翼无人机和树莓派3 b开发板,作为无人机硬件和机载任务板,组成Beebots群体无人机实验系统的个体.任务板可通过USB线缆直接连接无人机传输控制指令.

Fig. 2 Beebots experimental platform图2 Beebots实验系统

将树莓派3 b和Parrot Bebop 2连接后组装成Beebot个体,即可由多个Beebot个体组网形成无人机群,再加入PC地面站即可构成一套完整的无人机实物实验验证硬件系统,如图3所示.进行组网时,既可以将所有树莓派与地面站的无线网卡连接到同一路由器,也可以直接利用所有树莓派与地面站的无线网卡组成无线自组网,从而实现Beebot个体之间以及与地面站之间的通信.

在上述Beebot群体无人机实验硬件系统之上,我们完成了群体智能操作系统软件原型适配、实验辅助工具软件开发等工作,进行了包括自主起飞、编队生成、编队机动、队形变换、自主降落等科目在内的无人机群体协同行动能力实物验证.

Fig. 3 Collective Beebots connected by ad hoc network图3 Beebots群体无人机系统硬件结构示意图

4.3.2 无人潜航器

无人潜航器在民用领域可执行铺设管线、海底考察、海底施工等危险工作,在军用领域则可用于侦察、布雷、扫雷、援潜和救生等任务.水域无人系统的推进方式和载荷类型与无人机具有显著的不同,为验证micROS对于水域无人系统的适配能力,我们对某型无人潜航器展开适配.

潜航器采用轮缘推进器实现动力推进,采用集成有多普勒测速仪的捷联惯性系统实现位姿和速度估计,采用温湿度传感器、压力计、电源管理等传感器实现意外检测和应急处理,采用前置声呐实现障碍物检测.此外,潜航器还配备有水下摄像头、侧扫声呐等载荷.在micROS中,对潜航器的推进器和各型传感器进行了资源适配,行动控制采用姿态位置控制回路和导引回路,实现了对潜航器的悬停、上移、下沉、等高航行和转向等基本控制,以及绕航迹点的自主航行控制和行进过程中的自主避撞.

5 应用验证

以无人系统实际应用需求作为机器人操作系统研发的导向,构建良好的机器人操作系统生态环境,以机器人操作系统易用、易开发为目标,在实际应用中验证、发展micROS.值得注意的是,在传统计算机操作系统的发展历程中,不乏具备技术特色和技术优势的产品,但是这些产品重技术轻应用、重研发轻验证、重实验轻推广,最终都逐渐退出了历史舞台.以史为鉴,micROS从研发工作开始,就强调面向实际需求的应用验证,近年来国内智能无人系统领域产业发展迅速,形成了一大批具备强大研发实力的企业,我们目前已开展的应用包括:无人农机、无人物流、协同搜救、通信中继等,主要应用领域覆盖无人系统相关的机械制造、动力控制、关键零部件加工、装备实验测试等.

在应用验证的技术手段方面,借助并行化模拟仿真环境,根据现实应用需求牵引,采用虚实结合的方式,开发面向群体的地面站软件,对micROS支持人机自主协同的能力进行验证.另外,设计面向群体的任务级地面站软件,作为面向应用的人机交互界面.该软件摆脱了简单一对一、一对多的遥控式交互方式,而是按照任务和功能划分设计操作席位,例如任务规划席、群体操控席、无人平台监控席、通信保障席等,以实现操作员对群体无人系统的人机交互式操作.

6 结论与展望

群体智能机器人是有别于群体生物和群体社会的“新物种”,micROS创新了机器人操作系统的体系架构和核心概念的设计与实现.目前,micROS重点面向的是群体智能的结构性和适应性科学问题,下一步工作还将考虑群体智能机器人系统的智能涌现问题,朝着这一有挑战的领域拓进发展.

猜你喜欢
插件无人架构
基于CTK插件框架的太赫兹人体安检系统软件设计
HUMS在无人直升机上的应用与展望
功能架构在电子电气架构开发中的应用和实践
基于B/S架构的图书管理系统探究
自编插件完善App Inventor与乐高机器人通信
构建富有活力和效率的社会治理架构
基于OSGi的军用指挥软件插件机制研究
反击无人机
诗到无人爱处工
基于jQUerY的自定义插件开发