基于多Agent战场仿真系统研究
2016-10-24刘桂涛李哲张凯兵张天凡
刘桂涛,李哲,张凯兵,张天凡,2
(1.湖北工程学院a.计算机与信息科学学院;b.新技术学院,湖北 孝感 432000;2.西北工业大学 自动化学院,陕西 西安 710072)
基于多Agent战场仿真系统研究
刘桂涛1a,李哲1b,2,张凯兵1a,张天凡1a,2
(1.湖北工程学院a.计算机与信息科学学院;b.新技术学院,湖北 孝感432000;2.西北工业大学 自动化学院,陕西 西安710072)
设计战场虚拟仿真系统,分别将战场抽象为栅格化地图、作战单位抽象为智能体,将其映射到系统中,由此将战场指挥转换为多智能体协同控制及其决策问题。仿真系统中使用智能体进行战况推演,也可结合实际作战单位进行联合分析,可模拟多种战场情况,为决策提供参考。以战场覆盖性和特定目标搜索作为重要验证方法,测试结果表明系统能够有效仿真多Agent战场环境,通过决策推演与表达,为指挥人员提供重要决策参考。
仿真系统;虚拟战场;智能体;协同控制;agency服务器;决策推演
0 引言
在未来信息化和无人化战争新发展趋势下,使用虚拟化的Agent统一描述无人机系统及常规作战单位,由此构建虚拟战场及其推演系统成为未来军事指挥重要工具[1]。基于多Agent仿真平台在各种军事用途中均有呈现,如文献[2]主要针对多机空对空、空对地应用仿真,文献[3]侧重于地面作战单位的仿真研究,文献[4]侧重于水面舰艇协同仿真研究,在后勤保障领域也有相关研究如文献[5]。国内仿真系统大多依赖国外较为成熟的平台如多智能体系统(multi-agent system,MAS)[4-5],认知决策模型(recognition-primed decision,RPD)[6],Java智能体开发框架(Java agent development framework,JAD)[7],用户驻地网(customer premises network,CPN)[8]和高层体系结构(high level architecture,HLA)[9-10]等,因此国内外的研究重点逐步向协同决策研究发展[11-12],信息融合与系统决策为主,而且将人类行为融入智能体决策也是一种趋势[13-14]。现有多Agent仿真系统能力强,部分系统使用如UDK,UE4等优秀引擎能够高度真实模拟战场环境如地形地貌、天气、城市建筑模型,提供丰富的细节表现。
但该类系统开发成本高、周期长,对图形运算及硬件设备有较高要求,一般只能部署在拥有较高性能硬件设备的指挥中心,而作战单位及前线指挥部高度依赖指挥中心的信息处理与决策,不利于信息与决策的快速交互,同时整体抗打击与指挥重组能力被严重削弱。
以减少决策路径长度、提高系统整体可靠性为设计目标,基于精简化的框架设计思路,将系统分为基础框架和业务组件2部分:其中基础框架部分使用2D栅格化地图对战场环境以及Agent进行表达,而数据存储及处理则使用压缩矩阵存储;业务组件则可以根据需要(如计算性能)动态增减。系统可对多种场景环境进行模拟,支持自定义多Agent(包括地形环境对象);为对象设定行动脚本可为对象赋予一定自主行为能力,如运动、防御、攻击等;决策子系统会根据用户设定的目标自动规划行动路径,同时也支持人工路径设定。
仿真系统虽表现细节比较粗糙,但对处理器要求很低,实验阶段已移植于基于Cortex-A7/A8架构嵌入式系统(Allwinner A10/A20),从而获得更加可靠、便携的优点,甚至可部署到基层指挥系统以及作战装备上,从而将集中式指挥系统变为分布式信息处理及临场决策系统,提高整体生存能力,适应恶劣战场环境下作战指挥应用需求。
本文第1部分介绍多Agent仿真系统及其国内外发展趋势;第2部分详细阐述系统设计思路与实现过程;第3部分则使用典型的战场覆盖性搜索和指定目标搜索作为系统验证与测试的方法,验证了系统的有效性和时效性,特别是验证了较少的计算运算量和计算时间是系统能够移植到嵌入式处理系统上的关键因素;最后对本文进行了总结,阐述了作者所研究的工作内容,特别是在嵌入式并行计算系统、并行算法在军事系统中的应用部分。
1 仿真系统设计
仿真系统的目的是在虚拟系统中完成对现实世界的映射,便于决策者进行宏观分析决策,这种映射概念如图1所示。
整个仿真系统分为4个基本步骤:
步骤1:Server通过实体对象的传感器收集齐状态信息;
步骤2:在仿真系统中构建Agent实体(Entity)对象,完成现实世界对象Object向虚拟世界Agent映射关联;
步骤3:由决策者(可以是AI)作出决策,通过Server将决策同时反馈给Objects和Agents;
步骤4.1:Server首先更新各Agent状态——以预期状态表示决策者希望达到的效果进行示意;
步骤4.2:Server随后将决策信息发送给现实中各Object以期实际执行其决策任务;
重复以上步骤,从而形成“观察——决策——行动”闭合系统。
1.1系统结构设计
系统主体采用C/S结构:客户端中,实际Object和虚拟Agent均抽象为封装了基础功能的Agent抽象类,无论Agent是否实际存在,系统都以统一的方式进行管理,便于在仿真阶段增加虚拟对象以模拟各种突发情况;服务器则由agency与leader服务器组成, 其中agency负责数据分配、 任务调度, leader服务器负责具体的数据处理与决策;通讯管理由“黑板(Assistant)”负责,还承担数据收集、反馈、数据预处理等功能。系统结构如图2所示。
图1 仿真系统映射现实世界概念图Fig.1 Conceptual mapping of real-world in simulation system
图2 系统结构框图Fig.2 Block diagram of system
系统采用C#.net 配合VisualStudio2008进行开发,采用典型的MVC 3层结构模式:顶层为UI层,负责显示Agent与map以及基本的用户交互操作;Agent Server则对应BLL;底层为DB所在的Model层。通过对每层进行分解可转换为多层结构以便应对不同任务处理模型,特别是分布式任务处理模型。
1.2任务处理系统设计
(1) 集中式任务处理:传统作战系统中数据处理和决策集中于服务器端(上层指挥中心),可通过高性能计算系统提高数据融合与决策速度,但集中模式决策链较长,决策中心的失效将导致整个指挥系统瘫痪。
(2) 分布式任务处理:通过将任务分布到多个Agent Server或者Agent本身就地任务处理,可提高系统冗余度,降低指挥链长度,但其宏观决策能力较弱。
路径规划系统核心功能之一,决策者制定预期目标(Expect)与行动路径(Courses of Action),但在实际执行时可能因某些因素如新障碍物(Obstacle)而发生变化,如图3所示。
图3 预期与实际执行效果图Fig.3 Expected and actual performance chart
Agent必然会根据基本壁障规则或其他决策[14-15](如目标威胁程度)避开障碍物,重新规划合适的路径:对于集中式处理,Agent.Sensors获得的信息提交给服务器并由其进行决策;而分布式处理中,Agent可就地决策,仅将决策结果传递给服务器进行宏观控制。
对比2种任务处理方式,集中处理模型拥有较好的全局决策性,但其决策时效性与灵活性远不如分布式处理方式——过长的指挥链以及过多冗余信息的处理都会降低指挥中心的实际指挥效果,而基层指挥系统的临机决断更能适应瞬息万变的战场环境。
1.3Agent对象设计
系统中所有作战单位包括障碍物等都抽象为IVirtual_simulation,可表达基本的Agent状态与运动情况,系统按照需求进行实例化,其定义如下:
class Mov_agent:
public Virtual_simulation{
protected :
SVector2D m_vVelocity;//矢量速度
SVector2D m_vHeading;//姿态
SVector2D m_vSide;//主方位
Position m_Pos;//位置信息
AABB m_AABB;//AABB包围盒结构
double m_dMass;//质量
double m_dMaxSpeed;//最大速率
double m_dMaxForce; //最大动力
double m_dMaxTurnRate; }//转动速率
通过损失表达精度减少了运算量,使用圆形轴对齐包围盒(AABB)可较好地补偿过于规则的对象外形和折线运动轨迹造成的精度损失,相比于有向包围盒(oriented bounding box,OBB)AABB精度较低,但算法简单且实时性强。
1.4UI表现层设计
诸多仿真系统使用3D引擎表达空间场景,但其开销较大,本仿真系统中剔除了图1中3D图形部分,并使用2D栅格化地图抽象表达战场,能模拟多种基本容器如墙壁、障碍物和智能体,地图数据存储在Plane.map中,通过Ramove_map类存取map数据,如图4所示。
图4 地图编辑器与对象设置面板Fig.4 Map editor and object settings panel
栅格化地图可以有效简化系统、降低实现难度,且基于拓扑图实现的底层结构(map使用邻接矩阵存储)可快速迁移到其他复杂的仿真系统,具有较强通用性。通过对象设置面板可以设定多种不同的地形物件,包括其类型、标识颜色等,通过为对象编写行为模式脚本,如模拟防御工事的防御强度(不同颜色表示不同防御级别)以及对象攻击模式,可以进一步增强仿真系统真实性。
1.5通讯控制与数据调度解决方案
Assistant负责接收来传感器数据,转发决策层的控制信息。设计了ICommunication和IDataProcess 2个接口,分别实现无依赖的通讯单元、数据调度单元和数据处理单元,其结构如图5所示。
ICommunication是抽象通讯接口,定义了Input,Output和Data Exchange等通用方法,任何实现了ICommunication的通讯单元都能直接接入系统。IData Process抽象接口则可兼容多种类型的传感器,系统可以根据需要动态加载对应驱动程序,调度程序通过适配器(Adapter)将数据发送给合适的传感器数据解析对象——实际上系统中几乎所有的数据包括GPS(GPS_Process)、日志(LogProcess)和地图(MapContext_Porcess)都是由IDataProcess部分统一进行处理的,为平台扩展能力提供了保障。
1.6Agent服务器设计
(1) 映射对象管理单元
服务器包含映射对象管理单元以支持多Agent互动,能够将决策作用于现实世界。通过感知器获取实体信息,而控制器则来将控制指令下发给作战单位,如图6所示。
感知Agent(特别是视觉感知Agent)负责环境数据的采集,同时Agent也会接收agency服务器传来的控制命令以执行任务,leader服务器服务处理来自于agency的数据并作出决策。
(2) 数据服务与决策控制
服务器在验证数据是否有效后决定使用何种决策方案,如障碍规避、碰撞测试等, 生成的指令则放入输出队列。有效数据存储数据库,无效数据单独保留以备系统验证分析与演化。服务器根据Agent的具体能力和任务不同选择上层调度方案,再根据具体的要求如距离、时间、场合等分解成多个子任务,再由智能体组根据其组内因素如所携带的传感器、速度和灵活程度、 通信能力和计算能力,以及当前是否空闲,是否有相似的历史行为等自行分配子任务。
图5 通讯控制单元和适配器的数据调度单元流程图Fig.5 Flowchart of communication control unit and data scheduling of adapter module
图6 带反馈的闭环控制系统Fig.6 Closed-loop control system with feedback
以地图搜索决策流程为例,系统首先会根据问题规模并建立模型,根据是否存在已有的地图模型而选择不同的搜索算法,例如以BFS(breadth first search,广度优先搜索)/DFS(depth first search,深度优化搜索)算法尝试建立地图,而使用启发算法在已有模型中制定最优路径,行动决策流程如图7所示。
图7 Agent行动决策流程图Fig.7 Flowchart of action decision for agents
2 系统验证与测试
系统验证主要包括以下4个部分:
(1) 仿真系统对现实环境的模拟能力:如图4所示通过自定义对象特性及其属性能够对多种对象进行模拟。
(2) Agent对象在仿真系统中映射正确性:能够有效对单个/多个Agent对象进行映射,对象持有的AABB可确保对象之间不会与(1)中的环境对象出现碰撞。
(3) 系统决策层以及用户决策是否能够正确作用于Agent。
(4) 系统运行效率。
其中(1),(2)可通过地图搜索与建立的过程验证,而(3),(4)需验证算法进行测试。
2.1系统验证算法
战场覆盖性搜索和指定目标搜索是仿真系统重要的技术指标,因此将其作为系统验证与测试的方法,前者用于未知环境探索及地图建模,后者侧重考虑已知地图下目标可达性和最优路径决策问题。这2种方法的核心仍是路径搜索,主要有DFS算法、BFS算法、Dijkstra算法(迪科斯彻算法)和a*算法[15]4类算法,其对比如表1所示。
其中启发式算法通过合适的启发函数,计算当前位置可达的所有节点的代价,选择代价最低的节点为扩展节点从而提高搜索效率并使其路径为最优。到节点的开销用于决定节点在优先队列中的位置,节点的累计开销产生启发因子,从而达到优化算法目的,基于这种思想设计了基于Dijkstra的启发式搜索算法,算法模型定义如表2所示。
算法伪代码:
1:Create_IndexPriQueue(Q,n)//创建索引优先级队列
2:Mark(Q,A),Mark(Q,T)//在队列中标记A和T
3:WHILEQ.length!= 0 DO
4:Bi=GetMinCost(E)//查找最小开销节点Bi
5:/*将Bi-1与Bi(B0=A,i>0)的边E放入路径树SPT中,并标记为路径S*/
6:S=Path(SPT.Push(E))
7:IFQi==TTHEN
8:RETURNS
9:ELSE
10:C=GetAdjacentNode(Bi)// 获取Bi的邻接点
11:FOREACHKINCDO
12:/*计算与该节点相邻的最小开销*/
14:Gi=Gi-1+H//计算当前累计开销
15:Fi=Gi+H//当前总开销
16:IF SPTmin== NULL ORFi 17:Smin=Fi 18:END IF 19:END FOR 20:END IF 21:END WHILE 2.2系统测试 选用的测试环境为处理器Intel i5-3470 3.2 GHz,内存8 GB,Win 7专业版,.net4.0。测试开始前准备了一幅24×24尺寸栅格化地图,设定固定的起点和目标分别使用上述4种算法进行测试,如图8所示。 图8a)对所有节点进行无差别探索,适合Agent处于未知环境下的覆盖性探索;图8b)BFS能对各节点并行搜索,并能找出最短路径。Dijkstra算法开销比BFS低,如图8c)所示;如图8d)a*算法具有更少搜索次数、效率最高,且通过具有高级视觉功能的Agent作为启发因子直接的计算节点之间的直线距离对算法进行优化,无论是检索次数还是最优化结果都是上述集中搜索算法中最少的。不同的地图障碍物及其组成方式也会对算法产生影响,因此进行了多组测试,如图9所示。 表1 4类典型搜索算法比较 表2 启发式搜索算法定义 图8 4种搜索算法对比Fig.8 Comparison of four search algorithms 图9 4种搜索算法在8组不同地图中的执行时间对比图Fig.9 Runtime comparison of four types of search algorithms in eight different maps 启发式算法优于另外3种算法。但是在改变起始位置、目标位置和地图时,不同算法消耗的时间也是不同的,图9中第2、5组测试中DFS算法的时间远大于其他算法;第2、3组测试中Dijkstra比BFS耗时更多,如分支较多且地图较大时Dijkstra算法性能会快速下降,启发式算法也会因此降低性能。 以上4种算法在测试环境中的平均执行时间仅为0.135 1 ms,最大执行时间也仅为0.424 4 ms,足以保证系统的实时性,这种低开销也是系统能够移植到嵌入式系统的重要依据。 仿真系统以2D栅格化地图模拟战场环境及其对象,通过典型的覆盖性搜索测试验证了系统业务组件的可靠性与性能,特别是其运算量少、处理速度快,对硬件要求较低,与作者研究方向紧密相关。如在文献[16]进行了受限环境下的成像制导算法研究,在文献[17]进一步研究了嵌入式并行计算系统(受限环境)架构及其并行算法调度研究,这些都为当前仿真系统向受限的嵌入式系统环境进行移植提供了必要基础。 系统的通用兼容能力还不足,必须满足硬件接口和通讯协议的前提下才能支持异构Agent接入;为Agent编写的行动脚本在Agent数量较少且规则较少时运作良好,当数量增加时会出现较多冲突,从而极大地影响系统预演运算速度;仿真系统目前仅与简单的实体系统如智能小车、微型多旋翼飞行器进行初步的联合运行,缺少进一步的系统测试;此外系统在算法部分如多智能体协同控制算法、复杂环境下随机性网络时延下(同构/异构)多智能体一致性控制算法等支持较弱,这都是未来进一步研究的重点。 [1]邹湘军,孙健,何汉武,等. 虚拟现实技术的演变发展与展望[J].系统仿真学报, 2004, 16(9): 1905-1909. ZOU Xiang-jun, SUN Jian, HE Han-wu, et al .The Development and Prospects of Virtual Reality[J]. Journal of System Simulation, 2004, 16(9): 1905-1909. [2]李小民,云超,郑宗贵. 无人机飞行仿真系统多智能体建模分析与应用研究[J]. 测控技术, 2015, 34(6): 146-149, 153. LI Xiao-min,YUN Chao,ZHENG Zong-gui. Research and Application of UAV Flight Simulation System Modeling Based on Multi-Agent[J].Measurement & Control Technology,2015,34(6):146-153. [3]王润岗,陈璐,花传杰. 基于Multi-Agent的坦克分队作战仿真系统[J]. 火力与指挥控制, 2010, 35(8): 159-161, 172. WANG Run-gang,CHEN Lu,HUA Chuan-jie.Multi-Agent Based Fighting Simulation System for Tank Element[J].Fire Control & Command Control,2010,35(8):159-161,172. [4]吕超,黄炎焱,迟少红,等. 基于MAS的海军装备协同作战仿真模型[J]. 江苏科技大学学报:自然科学版, 2010, 24(3): 273-277. LÜ Chao,HUANG Yan-yan,CHI Shao-hong, et al. Simulation Model of Naval Equipment Cooperative Combat Based on Multi-Agent System[J].Journal of Jiangsu University of Science and Technology:Natural Science ed,2010,24(3):273-277. [5]庞国锋,郑天舒,张磊. 基于MAS的作战后勤一体化仿真体系结构研究[J]. 系统仿真学报, 2014, 26(11): 2709-2713, 2721. PANG Guo-feng,ZHENG Tian-shu,ZHANG Lei.Research on Architecture of MAS-Based Operation Logistic Integration Simulation[J].Journal of System Simulation,2014,26(11):2709-2721. [6]孟庆操,赵晓哲,姜伟.基于Recognition-Primed Decision模型的多智能体作战仿真[J]. 系统仿真学报, 2011, 23(2): 294-299. MENG Qing-cao,ZHAO Xiao-zhe,JIANG Wei.Multi-Agent System Combat Emulation Based on Recognition-Primed Decision[J].Journal of System Simulation,2011,23(2):294-299. [7]王珊珊. 基于JADE的多Agent系统仿真研究[D].武汉:华中科技大学,2006. WANG Shan-shan. Research on Multi-Agent System Simulation Based on JADE[D].Wuhan: Huazhong University of Science and Technology, 2006. [8]李莉. 基于CPN的Multi-Agent调度系统建模与仿真[D].北京:北京工业大学,2008. LI Li. Modeling and Simulation of Multi-Agent Scheduling System Based on CPN [D]. Beijing:Beijing University of Technology, 2008. [9]闫琦. 基于Agent的CBTC系统运行仿真平台的研究[D].北京:北京交通大学,2008. YAN Qi. Research on Simulation Platform of CBTC System Based on Agent is Running[D].Beijing: Beijing Jiaotong University, 2008. [10]李云芳. 战场环境下基于HLA的BDI Agent仿真研究与实现[D].南京:南京航空航天大学,2012. LI Yun-fang. BDI Agent Simulation Based on HLA Battlefield Environment and Its Implementation [D].Nanjing: Nanjing University of Aeronautics and Astronautics,2012. [11]周昊,覃征,邢剑宽. 基于多Agent的多无人机协同决策算法仿真平台设计 [J]. 系统仿真学报, 2012, 24(3): 587-593. ZHOU Hao,QIN Zheng,XING Jian-kuan.Simulation Platform of Cooperative Algorithm for UAVs Based on Multi-Agent System[J].Journal of System Simulation,2012,24(3):587-593. [12]柳玉,文家焱.基于多智能体的战术仿真系统体系结构设计方法[J]. 兵工自动化, 2014, 33(6): 22-26, 35. LIU Yu,WEN Jia-yan. Architecture Design of Tactics Simulating System Based on Multi-Agents[J].Ordnance Industry Automation,2014,33(6):22-35. [13]Serkan Isci, Okan Topcu. Extending the Jadex Framework with Coherence Driven Adaptive Agent Decision-Making Model [J]. International Joint Conferences on Web Intelligence (WI) and Intelligent Agent Technologies (IAT),2014:8-55. [14]谭雁英,胡淼,祝小平,等.基于人机合作策略下SAS算法的多无人机路径再规划[J].西北工业大学学报,2014,33(5):688-692. TAN Yan-ying, HU Miao,ZHU Xiao-ping, et al.Path Replanning Approach for Multiple UAVs Based on SAS Algorithm Under Human Automation Collaboration[J].Journal of Northwestern Polytechnical University, 2014,33(5): 688-692. [15]DONG Zhou-ning,CHEN Zong-ji,ZHOU Rui,et al.A Hybrid Approach of Virtual Force and A*Search Algorithm for UAV Path Re-Planning[C]∥Proc of IEEE Conference on Industurial Electronics and Applications,2011. [16]卢军,怯新现,张天凡,等. 成像制导中的多处理器并行及二值化算法研究[J]. 现代防御技术, 2015, 43(2): 103-109, 164. LU Jun,KAI Xin-xian,ZHANG Tian-fan, et al. Multiprocessor in Missile Guidance Systems and Research of Binarization Algorithms of Parallel Algorithms[J].Modern Defence Technology, 2015, 43(2): 103-109, 164. [17]李哲,慕德俊,郭蓝天,等. 嵌入式多处理器系统混合调度机制的研究[J]. 西北工业大学学报,2015,33(1):50-56. LI Zhe,MU De-jun, GUO Lan-tian, et al. Hybrid Scheduling of Embedded Multi-Processor System[J]. Journal of Northwestern Polytechnical University, 2015, 33(1):50-56 Multi-Agent Simulation System for Battlefield LIU Gui-tao1a,LI Zhe1b,2,ZHANG Kai-bing1a,ZHANG Tian-fan1b,2 (1.Hubei Engineering University,a. Computer and Information Science College;b.Technology College, Hubei Xiaogan 432000,China;2. Northwestern Polytechnical University,Automation College,Shaanxi Xi′an 710072,China) A virtual battlefield simulation system is developed, which abstracts the battlefield as a rasterized map and fighting units as multi-agents. By mapping the multi-agents into the system, the battlefield command issues can be converted to a problem of collaborative control and decision making between multi-agents. In the proposed system, agents can not only be used to infer the situations on the battlefield, but also to make a joint analysis according to fighting units in practice. By mimicking different scenarios of battlefield, the system can offer a valuable reference for decision-making. In the system, the battlefield coverage and searching for specified targets are employed as metric to assess the effectiveness of the proposed system. The test results indicate that our proposed system can effectively simulate multi-agents battlefield situation. With the decision deduction and expression, it can provide important decision reference for commanders. simulation system; virtual battlefield; agents; collaborative control; agency Server; decision deduction 2015-07-13; 2015-10-16 国家自然科学基金(61471161);湖北省自然科学基金(2014CFB576);湖北工程学院自然科学基金(z2013016;z201515;Hgxky14) 刘桂涛(1972-),男,湖北云梦人。副教授,硕士,研究方向为控制与技能,分布式网络协同控制。 通信地址:432000湖北省孝感市学院路158号E-mail:188477493@qq.com 10.3969/j.issn.1009-086x.2016.04.023 TP391.9 A 1009-086X(2016)-04-0144-093 结束语