基于Multi-Agent的煤矿安全监控系统研究

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基金支持:国家自然科学基金(51104003)国家自然科学基金(51274011)基于Multi-Agent的煤矿安全监控系统研究摘要:针对传统煤矿安全监控系统难以实现实时、全面地对煤矿井下环境进行有效的监控,研究了多Agent技术应用于煤矿井下环境监控的可靠性,提出了一种基于Multi-Agent的煤矿安全监控系统的体系结构,系统包括主控Agent,管理Agent和监测Agent,并采用自定义通信协议实现主控Agent、管理Agent和监控Agent之间的通信,对煤矿安全具有一定的意义。关键词:传统煤矿安全监控系统;多Agent技术;可靠性;通信协议CoalMineSafetyMonitoringSystembasedonMulti-AgentAbstAct:Traditionalcoalminesafetymonitoringsystemisdifficulttoachieveinreal-time,comprehensiveeffectivemonitoringofcoalmineenvironment,ThereliabilityofMulti-Agenttechnologyisappliedtocoalmineenvironmentalmonitoring,ProposedcoalminesafetymonitoringsystembasedonMulti-AgentArchitecture,ThesystemcomprisesamaincontrolAgent,ManagementAgentandMonitoringAgent,AndcustomcommunicationprotocolmasterAgentManagementAgentandmonitorthecommunicationbetweenagents,andhasacertainsignificancetocoalminesafety.KEYWORD:Traditionalcoalminesafetymonitoringsystem,Multi-Agenttechnology,reliability,communicationprotocol0引言近年来出现的Agent和多Agent技术已经广泛应用于系统建模、故障监测与诊断、生产过程监控等各个领域[1-3]。Agent是一个能独立执行的软件模块,具有自治性、反应性、主动性、社会性等特点,而多Agent系统是由多个Agent组成的松散网络,通过Agent之间的相互协作,解决单个Agent不能解决的问题,实践中将大的复杂系统构建成小的、彼此相互通讯及协调的、易于管理的多个个体Agent结构,共同完成复杂系统的监控任务,本文根据多Agent技术,按照煤矿监控系统监控的要求,建立了基于多Agent的煤矿安全监控系统的框架,将煤矿安全监控系统从功能上划分成多个个体Agent,并给出了个体Agent的基本结构和主要功能,分析了多Agent系统的工作过程和通信协议,通过各个Agent之间相互通讯、彼此协调,共同完成煤矿井下安全监控问题,为煤矿安全监控系统的研究和开发提供了一个新的思路。1基于多Agent的煤矿安全监控系统框架1.1煤矿安全监控系统的物理拓扑结构传统的煤矿安全监控系统主要由若干传感器、若干分站、通信接口和监控系统主站组成[4],系统结构图如图1所示。监控系统主站通信接口分站传感器2传感器3传感器4传感器1分站分站传感器2传感器3传感器4传感器1图1传统的煤矿安全监控系统图1中传感器主要负责采集井下环境参数;分站主要负责对井下环境参数传感器的数据进行实时集中采集、显示、存储,并传送至地面监控系统主站;通信接口主要是实现煤矿井下和地面监控系统主站的通信;监控系统主站主要用于对井下环境参数的远程监控,实现网络传输和网络资源的共享。1.2煤矿安全监控系统的多Agent框架如图1中所示的分布式煤矿安全控制系统具有敏捷、灵活、可靠性高的优点,同时具有一定的集中性,体现出系统稳定协调的优点,也便于利用Agent技术实现[5]。首先,煤矿安全监控系统本身具有分布性,整个系统可以被划分为三个相对独立的子监控系统,其数据、控制和资源基本上都是分布的,而且现代煤矿安全有较为成熟和先进的软硬件基础,这些良好的技术基础使得系统不需要进行太大的改变就可以基于现有的软硬件系统封装成一个Agent,通过它们之间的合作来完成整个系统的监控。其次,现代煤矿安全系统的软硬件系统通常是异构的,而且种类繁多,复杂程度高,Agent的自治性、社会性等特征为实现复杂、庞大的监控系统提供了强有力的抽象工具和问题解决的方法。最后,现代煤矿安全监控系统一般要求具有一定的智能性,以便于管理者和操作员的管理和操作,作出正确决策,Agent的自治性、主动性等智能性特征为满足这些要求提供了可能。因此,将Agent技术应用到煤矿安全监控系统中,可以充分利用Agent的特点,通过MAS中各个Agent的协作,满足煤矿安全的监控要求。考虑到煤矿现有的复杂环境,为方便利用Agent技术实现,本文构建了如图2所示具有实时性与分布性的煤矿安全多Agent系统,与煤矿监控系统的物理结构相适应,通过协作完成系统分配给它们的任务。主控Agent……群1管理Agent1群i管理Agenti无线网络监测Agent监测Agent监测Agent监测Agent监测Agent监测Agent监测Agent监测Agent用户图2基于多Agent的煤矿安全监控系统结构在图2所示的分层分布结构多Agent系统中,主控Agent除了自身信息,还包括及下一层次管理Agent的信息,同样,管理Agent包含有同一层次的其他管理Agent信息外,还分别包含有相应的下一层次各现场监测Agent的信息,是主控Agent和监控Agent的桥梁,起到组织协调控制的功能,而各现场监测Agent则只包含有自身的信息。系统采用这种层次使系统中现场监控Agent之间不需要直接交互,只与上层次管理Agent之间进行通信,使得整个系统的通信量大为减少,可以提高系统的实时性,同时主控Agent和管理Agent可以纵观全局,Agent之间更易完成协调与合作,如果有新的Agent加入,或原有Agent的属性能力发生改变,只需要对相应的上一层次的管理Agent中的相关信息修改即可,减少了工作量,使整个系统的构造更为简单,增加了系统的开放性与灵活性。2功能Agent结构设计结合煤矿安全监控过程的监控要求,本文设计的监测Agent、管理Agent和主控Agent等三个主要个体Agent的基本结构和具体功能如下。(1)监测Agent监测Agent包括瓦斯Agent、COAgent、温度Agent、煤与粉尘Agent、压力Agent等用于对煤矿井下危险环境信息进行实时监控。一方面完成煤矿生产过程中对危险源的信息进行实时采集、检测和处理、,另一方面是对整个生产过程的状态进行初步分析和预测,并对生产过程可能发生的危险作出判断,并向管理Agent进行汇报。监测Agent结构图如下。传感器模块中央处理器模块通信模块管理Agent图3监测Agent结构图监测Agent接收到管理Agent的请求后,通过传感器模块执行信息采集任务,中央处理器对采集信息进行处理,然后通过通信模块将采集信息发送给管理Agent,完成瓦斯浓度、CO含量、煤尘等信息的监控。(2)管理Agent管理Agent位于各终端监测Agent和主控Agent之间,是井下安全监控模块与地面监控中心之间的传输枢纽,起到组织协调控制的功能,负责井下环境信息的参数采集与处理,并通过工业以太网与主控Agent进行通信。管理Agent能否有效地工作决定了煤矿安全监控系统能否顺利实现,在煤矿安全监测监控中心发挥者重要的作用。结构图如图4所示:监测Agent中央处理器模块通信模块主控Agent图4管理Agent结构图管理Agent接收到主控Agent的请求后,通过通信模块向监测Agent分配任务,执行信息采集任务,对来自监测Agent采集的环境信息进行集中处理,然后通过通信模块将处理结果发送给主控Agent。(3)主控Agent主控Agent主要用于对井下环境信息进行远程监控;实现网络传输和网络资源的共享;结构如如图5所示。管理Agent中央处理器模块通信模块用户图5主控Agent结构图主控Agent主要是针对全局进行管理,一方面接受系统的任务,分解任务,并把分解后的任务分配给agent,完成完成对各Agent的组织协调,实现系统的优化管理。另一方面对来自各管理agent的信息进行分析处理,将处理后的结果显示在监控系统桌面上,一旦出现危险,及时将危险信息发送给相应的管理人员,完成对煤矿监控系统的实时监控。3多Agent系统的监控过程实现该系统采用自定义通信协议实现主控Agent、管理Agent和监控Agent之间的通信,数据传递应用数据包的形式进行,下面是Agent之间通信数据交换包定义,为减少数据流量,使用二进制包作为数据交换包。数据包的基本格式如下(图6):包尾(1字节)包头(1字节)包内容(0~65533字节)图6数据包格式包头用以标记该包的意义,各个包不同,包内容是该包记录的必要信息,包尾包结束。数据包名称定义说明:从主控Agent(ZA)到管理Agent(GA)的数据包为以ph_ZG开头,从管理Agent到主控Agent的数据包为以ph_GZ开头,从管理Agent到监测Agent(JA)的数据包为以ph_GJ开头,从监测Agent(JA)到管理Agent的数据包为以ph_JG开头。enumPACKET_HEAD//包头定义{ph_ZG_StArt=0,ph_ZG_BAsicInfo,//主控Agent向管理Agent发送监测危险源的基本信息ph_ZG_AssignTAsk,//主控Agent向指定管理Agent分配任务ph_ZG_End,ph_GJ_StArt=20,ph_GJ_BAsicInfo,//管理Agent向监测Agent发送监测危险源的基本信息ph_GJ_AssignTAsk,//管理Agent向指定监测Agent分配任务ph_GJ_End,ph_JG_StArt=80,ph_JG_BAsicInfo,//监测Agent向管理Agent发送数据基本信息ph_JG_MArkInfo,//监测Agent返回的属性值ph_JG_Answer,//监测Agent向管理Agent返回监测结果ph_JG_End,ph_GZ_StArt=80,ph_GZ_BAsicInfo,//管理Agent向主控Agent发送数据基本信息ph_GZ_MArkInfo,//管理Agent返回的属性值ph_GZ_Answer,//管理Agent向主控Agent返回监测结果ph_GZ_End,ph_GJ_Count=ph_GJ_End,ph_ZG_Count=ph_ZG_End,};其中各功能函数定义如下:1)ZG_QueryBAsicInfo()函数。该函数实现主控Agent向管理Agent发送监测数据的基本信息,其中包括监测任务所处位置信息、任务参数类型、任务特征描述以及任务优先级等信息。管理Agent接收到来自监测特征参数获取Agent的监测任务后,自动生成任务编号和任务分解后,随即向分解后的一组监测Agent发送这个数据包,其具体定义如下:structph_MJ_QueryBAsicInfo:BAsePAcket{IntJAID[16];//参与的监测AgentIDintTAskID;//任务编号intLocAtion;//任务所处的位置intType;//任务参数类型chArDiscription[512];//任务特征描述intPriority;//任务的优先级MJ_QueryBAsicInfo():BAsePAcket(ph_MJ_QueryBAsicInfo){for(inti=0;i<sizeof(JAID)/sizeof(int);i++){JAID[i]=0;TAskID=0

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功