倪 晋 陈世友
(武汉数字工程研究所 武汉 430205)
基于Agent的信息融合系统研究与设计*
倪 晋 陈世友
(武汉数字工程研究所 武汉 430205)
传感器资源分配是传感器管理中的核心问题,在未来海上战争的网络中心战的背景下,对如何完成多种传感器之间有效协同作战,使资源能够合理分配到各个传感器,具有十分重要的意义。论文介绍了一种基于Agent的信息融合系统结构,对该系统中各传感器Agent的协商机制进行了研究,并重点研究了基于合同网协议的分布式分配策略,最后用Repast仿真软件对其进行了仿真,证明了该方法的有效性与实用性。
传感器管理; Repast; 资源分配; Agent; 协商
Class Number TP391.4
网络中心战(Network-centric Warfare,NCW),现多称网络中心行动(Network-centric operations,NCO),是一种美国国防部所创的新军事指导原则,其做法是使用计算机、高速数据链和软件等,将作战舰艇、飞机与岸基军事力量联接成一个集中的通讯网络。在该网络中,各部分作战单元共享大量关键信息,可以大大提高海军作战的精度、反应速度和有效性。在该环境下,战场的态势十分复杂,战场信息瞬息万变,对如何完成多传感器之间的协同作战并实现资源的合理有效分配,具有重要的意义。
在传感器管理领域中,对如何高效地对传感器资源进行分配已有了大量研究,Nash[1]最早提出了多传感器管理问题,他把卡尔曼滤波器中的误差协方差阵的迹作为目标函数中的代价函数,并使用线性规划的方法来确定传感器与目标之间的分配。刘蕃[2]等提出了一种改进的基于线性规划的传感器管理方法,通过建立传感器对目标的效能函数,给出了一种多传感器资源分配方法。田康生[3]等对序贯Kalman滤波在多传感器多目标跟踪中的应用情况进行了分析,提出了一种基于费歇信息增量的多传感器对多目标的分配方法。较好地解决了传感器的组合分配问题,并能对目标的跟踪精度实施控制。黄树采[4]等提出了一种基于多Agent的传感器管理方法,通过传感器Agent之间的相互协商实现了传感器资源的分配。
传感器资源分配是信息融合系统中的核心问题之一,本文首先在以上背景的基础上,通过运用分布式人工智能中的Agent技术,结合传统的信息融合系统模型提出了一种基于Agent的信息融合系统结构。然后对该系统中各Agent之间的协商机制和系统工作流程进行了简要介绍,最后通过采用一种基于合同网协议的分配策略,将任务分配给各传感器Agent,并在Repast平台上对该任务分配机制进行了仿真,从而实现了系统资源分配的目标。
2.1 多传感器管理作用
传统的信息融合系统由多传感器子系统,数据融合子系统,人工决策子系统和传感器管理子系统等构成。刘先省[5]提出了一种以传感器部分,数据融合部分和传感器管理部分构成的数据融合系统的闭环控制模式,借以分析各组成部分的功能及它们之间相互联系、相互制约、相互控制的关系,以便得到一个具有反馈结构的、实时调整的和整体优化的数据融合系统。系统结构如图1所示。
图1 信息融合闭环控制模型
多传感器子系统相当于是整个数据融合闭环系统的探提供进一步融合的结果,并为多传感器管理子系统提供反馈的依据;人工决策子系统接收融合处理的结果,并进行态势和威胁评估,其融合结果也是进行多传感器管理的重要依据之一,传感器管理子系统则根据上面的反馈结果,对多传感器资源进行动态的分配。
因此,多传感器管理对形成数据融合闭环控制系统起着不可替代的反馈调节作用,也使我们对多传感器管理和数据融合的研究从开环方式上升到闭环方式,更利于从整个系统的层面对局部功能和算法的实现进行动态优化。
2.2 Agent技术
Agent是来自于分布式人工智能的一个模型,指驻留在某一环境下,能持续自主地发挥作用,具有驻留性、反应性、社会性、主动性等特征的计算实体。它具有非常高的自治性和灵活性,能够在不确定环境中,根据自身的状态、资源、外部环境等相关信息,通过推理、决策来实现问题求解,自主完成特定任务并达到某一目标。
2.3 基于Agent的信息融合系统结构
2.3.1 系统结构
将Agent技术运用到图1所示的信息融合闭环模型中,并将各部分进行细化处理。其中目标环境模块可用信源Agent替代,多传感器子系统和数据融合子系统可以合并到一个模块之中,并用融合中心Agent和传感器Agent的组合替代,传感器管理子系统可用方案生成Agent、方案优化Agent、方案传递Agent的组合替代,人工决策子系统可用人机交互Agent替代。具体结构如图2所示。
图2 基于Agent的信息融合系统
2.3.2 系统主要功能与协商策略
该系统主要由信源Agent,传感器Agent,融合中心Agent,人机交互Agent,方案传递Agent,方案优化Agent,方案生成Agent组成。
各Agent主要功能与运行机制如下:
· 信源Agent:包括一系列输入信息,如目标态势信息、传感器位置信息、我方平台位置信息、目标威胁等级信息、传感器探测能力模型、传感器优先级、目标跟踪精度要求等。该Agent将获取的相关数据进行数据对准,将数据在时间、空间和单位上统一到相同的坐标系,使数据被处理成其他Agent所需要的形式。
· 人机交互Agent:接收融合之后的信息,并将此信息与用户需求信息进行比对,若没达到需求目标,则通过和与其他Agent进行交互来改变传感器探测模型,目标跟踪精度等信息,并调整传感器融合相关策略,得到新的传感器管理方案。
· 融合中心Agent:得到方案传递Agent传递过来的方案后,对该方案进行进一步的分解,确定下一个传感器周期内每个传感器Agent需要完成的任务及性能指标。并对传感器反馈回来的相关信息进行融合,并对其进行监控。
· 传感器Agent:获取传感器需要完成的任务及性能指标,以及传感器与目标的相关数据,与其他传感器Agent、融合中心Agent进行协商,对传感器协商后的任务进行分配。并与融合中心Agent保持通信。
· 方案生成Agent:根据预先设置好的传感器与任务、目标的配对方案,给当前监控区域的特定目标,配对一个特定的传感器或传感器组合对其进行检测[6]。
· 方案优化Agent:根据融合中心与人机交互形成的任务需求,形成目标的优先级,对目标进行威胁等级排序。
· 方案传递Agent:具体负责将得到的传感器目标分配方案与目标优先级等信息传递给融合中心Agent与传感器Agent。
2.4 系统工作流程
1) 首先方案生成Agent根据各传感器的特征形成相关的传感器或传感器组与任务之间分配方案,并为某特定的目标分配传感器或传感器组合对其进行检测。
2) 方案优化Agent根据相关信息,优化上述方案,并形成目标优先级的排序。
3) 然后通过方案传递Agent将具体的分配方案传递给融合中心Agent与传感器Agent。
4) 融合中心Agent对该方案进行进一步的分解,在与传感器Agent协商的情况下确定下一个传感器周期内每个传感器Agent需要完成的任务及性能指标,传感器Agent从信源Agent得到系统的输入信息,并在与其他传感器Agent和融合中心Agent协商的情况下,根据融合中心分解的任务和指标完成任务的分配。并将相关数据信息反馈给融合中心Agent。
5) 融合中心Agent对相关数据进行处理和融合,并将融合之后的信息反馈给人机交互Agent,并与系统目标进行比对,看是否达到了预期的效果。
6) 若没达到预期效果,人机交互Agent继续通过上述步骤,来调整信源模型,融合策略,分配方案等信息,以达到融合的目标与任务的合理分配。
3.1 传感器资源分配问题描述
信息融合系统中传感器执行的任务一般分为三种[7]。
1) 孤立传感器任务。只能由一个传感器执行的任务,如只在某个传感器探测范围内的搜索任务。
2) 联合任务。能够被多个传感器执行的任务,如多个传感器能同时探测到的范围内探测到的任务。
3) 独立传感器任务。和孤立传感器任务不同,该任务刚开始可以由多个传感器协商,但最后只能由一个特定的传感器执行的任务。如特殊状况下,只有一个传感器能够正常工作,这时需要融合中心将任务分配给特定的传感器执行。
一般情况下,孤立与独立的传感器任务不需要传感器Agent之间进行协商,由融合中心Agent将任务分配给相应的传感器Agent即可。联合任务需要先由融合中心Agent确定分解后的任务的优先级,然后融合中心Agent对所有传感器Agent发送请求消息,以及能够完成该任务的传感器集合信息。然后各传感器Agent之间通过协商,确定任务的分配。
3.2 基于合同网协议的资源分配
合同网协议[8](Contact Net Protocol,CNP)是多Agent系统中一种经典的资源分配方法,它通过模拟市场中的招投标行为来完成传感器资源分配任务。其中招标者将需要处理的任务放置在市场上招标,并同时说明任务的性质与需求;投标者根据自身的资源情况来计算完成该任务的成本、时间、质量等,并转换为标值反馈给招标者。招标者通过投标者的标值选择最后的中标者,并与之签订合同,将任务交由它处理。
在本文提出的信息融合系统中,当方案传递Agent将方案传递给融合中心Agent与传感器Agent之后,融合中心Agent和传感器Agent之间具体的任务分配可以看成合同网协商问题。融合中心Agent和传感器Agent之间可以通过招投标来进行交互和协商以完成最后的目标任务。文献[9]提出的动态合同网(DCNP)中,引入了信任度的概念:一个传感器Agent相对于某类任务的信任度越大,则该Agent相对于该类任务的响应阈值越低,反之则越高;当传感器完成追踪任务时,就增加他的信任度,使其有更高的概率接到新任务。本文对上述方法进行了一定的改进,即改进的动态合同网(ADCNP),其对于不同的传感器Agent,他们完成任务的代价不同,因此当融合中心Agent进行任务的分解与分配时,应该同时考虑传感器Agent的信任度和任务完成的代价来提高任务完成的质量。
4.1 仿真平台简介
由于多Agent系统的应用前景非常广泛,近年来,人们对于多Agent系统的研究日趋增多,关于多Agent的建模方法的应用也越来越广泛,所研究的系统也越来越大,因此为了更好地实现多Agent系统的仿真,涌现了一些专门用于多Agent仿真实验的平台,如NetLogo、Swarm、JADE、Repast、MadKit等[10]。
Repast(recursive porous Agent simulation toolkit)是由芝加哥大学社会科学计算研究中心开发的基于Agent的计算机模拟软件架构。在经济、军事、生态领域都有广泛的应用。它以Java为主要编程语言,可以在多种操作系统上安装使用,具有强大的支持类库和编程资源供参考。又考虑到Repast具有底层结构的抽象性,很强的扩展性和良好的表现能力等特点,因此选择Repast作为Agent任务分配的仿真软件,并选择开发语言为Java。
4.2 仿真流程及模型建立
4.2.1 仿真流程
Repast仿真程序的基本流程如下:
图3 仿真流程
传感器资源分配的仿真主要按照以下流程实现:
1) 确定Agent之间的关系;
由以上任务分配问题知,该仿真系统中包括两类个体,融合中心Agent与传感器Agent。模型中包括对应的两类Agent:Fusion和Sensor。
2) 根据个体数学模型定义Agent属性、状态和行为[11];
3) 根据Agent的行为,定义Agent工作环境;
4) 定义Agent的移动规则和博弈规则,即Agent如何在环境中移动,如何与其他Agent交互;
5) 设计仿真程序,用户界面。
4.2.2 核心模块
Repast仿真模型主要由以下几部分组成:
· Agent类:描述实际系统中的个体属性和行为规则。
· 环境类:对应Agent运行的环境。
· 模型类:对应仿真模型本身,用于系统初始化,仿真调度和管理。该类为方针系统的核心,开发者可以使用Repast提供的默认模型类SimpleModel作为仿真模型的模型类,或者从SimpleModel继承模型类。
· 行为类:仿真调度器与Agent类之间的关系
· 数据源类:负责在仿真程序运行时,记录、收集Agent所产生的数据,并提供给分析、显示模块,即作为Agent与分析、显示模块之间的接口。
· 显示模块类:负责仿真中的可视化显示,由显示类(Display),简单图形类(SimGraphics),绘图接口(Drawable)等组成
4.2.3 模型建立
系统中的仿真模型创建主要分为两个部分,agent类与模型类的创建。
1) Agent类创建
Agent类:包括两类Agent,Fusion和Sensor。
Fusion主要有两种行为:选择完成任务的Sensor;更新Sensor的信任度。行为准则如下:Fusion优先选择信任度大于阈值的Sensor来完成任务,若所有的Sensor都不满足信任度条件,则Fusion对所有的Sensor进行招标,并对投标的Sensor进行评估,选择代价最小的Sensor来完成任务。并根据任务的完成情况对Agent的信任度进行更新。
Sensor有一种行为:模拟任务的完成。Sensor对于不同目标的追踪,所花费的代价不同,模拟任务完成过程,并将信息返回给Fusion。
2) 模型类创建
可利用Repast自带的SimpleModel类实现模型框架,然后设置相关参数即可[12]。
SimpleModel使用一下方法来实现模型框架的建立:
Import uchicago.src.sim.engine.SimpleModel;
Public class MyModel extends SimpleModel{…
Public MyModel(){
…//构造函数
}
Public String[] getInitParam(){
…//返回模型初始化参数名序列
}
Private void buildDisplay(){
…//创建仿真过程图形界面}
Private void buildGraph(){
…//创建仿真数据结果图形界面
}
Public void buildModel(){
…//创建所需的对象
}
Public void setup(){
…//使模型的变量值回到缺省值
}
Public void begin(){
…//启动模型
}
}
4.3 结果分析
实验中最重要的是对Agent行为的多次模拟实现,按照以上步骤,利用Repast平台建立动态合同网的仿真模型,实验中建立的Agent模型的总数量为20,任务数为500。通过以下对比实验发现,利用ADCNP的方法能够显著减少程序执行时间和通讯量,相对传统的合同网方法有较大优势。
图4 程序执行时间
图5 通讯量
本文在基于Agent的信息融合系统结构的基础上,提出了一种基于合同网协议的资源分配方法,通过Repast仿真平台进行了仿真实现。仿真结果表明基于ADCNP的方法能够有效减少程序执行时间和通讯量,为系统资源分配的实现提供了一种方法。本文只是提出了一个初步的信息融合系统结构模型和一个简单的资源分配方法,还有很多细节需要完善。下一步,仍需要加强对多传感器资源分配、仿真建模相关理论的研究,以提高系统的稳定性,分配的有效性。
[1] Nash-JM. Optimal allocation of tracking resource[C]//Proceedings of the IEEE Conference on Decision and Control,1977:1177-1180.
[2] 刘蕃,王新民,李爱军,等.一种改进的基于线性规划的机载多传感器管理算法[J].计算机测量与控制,2005,13(10):1158-1160.
[3] 田康生,朱光喜.目标跟踪中的传感器管理[J].传感器技术,2003,22(3):27-29.
[4] 黄树采,李为民,李威.基于多代理技术的防空监视网络传感器协作管理方法[J].传感器技术,2005,24(3):38-40.
[5] 刘先省,申石磊,潘泉.传感器管理及方法综述[J].电子学报,2002,30(3):394-396.
[6] 李薇,张凤鸣.基于多Agent的传感器管理系统研究与设计[J].传感器与仪器仪表,2006,22(7):157-159.
[7] 田康生,朱光喜,徐毓.基于多代理技术的传感器管理系统[J].现代雷达,2004,26(2):9-13.
[8] 宗方勇,张森,杨立强.基于MAS的多平台协同作战分布式武器目标分配研究[J].舰船电子工程,2010,30(5):59-61.
[9] 张海俊,史忠植.动态合同网协议[J].计算机工程,2004,30(21):44-57.
[10] 蒋慧超,韦兆文.基于Repast平台的多Agent仿真建模研究[J].计算机技术与发展,2008,18(11):250-252.
[11] 郭超,陈勇.基于Repast的多Agent建模方法仿真实现研究[J].装备学院学报,2012,23(6):97-100.
[12] 赵剑东,林健.基于Agent的Repast仿真分析与实现[J].计算机仿真,2007,24(9):265-268.
Research and Design of Information Fusion System Based on Agent
NI Jin CHEN Shiyou
(Wuhan Digital Engineering Institute, Wuhan 430205)
The distribution of sensor resources is the kernel question in sensor management. Under the background of future network-centric warfare, how to complete the cooperation of sensors and distribute resources to the right sensor makes sense. Firstly, a structure of information fusion system based on agent is introduced, then the consultation mechanisms of sensor agent are studied, and the distribution strategy based on contact net protocol are researched, finally, Repast, a simulation software, is used to simulate the strategy. The simulation result shows that the method is valid.
sensor management, Repast, resource distribute, agent, negotiate
2014年11月8日,
2014年12月29日
倪晋,男,硕士研究生,研究方向:信息融合技术与传感管理技术。陈世友,男,博士,研究方向:信息融合技术、信息系统技术。
TP391.4
10.3969/j.issn1672-9730.2015.05.008