王征 王家林 姚刚 程路尧
(1. 华中科技大学控制科学与工程系,武汉 430074;2. 海军工程大学电气与信息工程学院,武汉 430033;3.中国人民解放军海军92557部队,广州 510720;4. 中国人民解放军海军91336部队,秦皇岛066326)
现代船舶电力系统日趋大型化和复杂化,一旦发生故障,便会有大量的报警信息集中涌现。近几年来,虽然船舶电力系统在实现通用的采集显示功能以外还进行了一些简单的故障判断,但是当一些故障发生时,它只是将大量报警信息不加选择地提供给管理员,而在此情况下要求调度员迅速、正确地判断故障是非常困难的,所以,船舶电力系统故障诊断的研究就成为一个非常有意义的研究课题,它能辅助船舶管理人员处理事故,可起到缩短事故处理时间、防止事故扩大的作用,对保证电力系统安全稳定运行具有重要意义[1]。
在船舶电力系统的故障诊断系统方面已开展了不少研究。传统的电力系统故障诊断系统研究,建立被诊断系统网络拓扑结构模型的基础上,使用传统的数学方法进行电力系统故障诊断。因系统规模、复杂程序和不确定因素等的限制,系统故障诊断难以达到理想的效果。多Agent技术具有自主性、分布性、协调性,并具有自组织能力、学习能力和推理能力。采用Agent系统解决实际应用问题,具有很强的鲁棒性和可靠性,并具有较高的问题求解效率。多Agent已经成为继面向对象方法之后出现的又一种进行系统分析与设计的强有力思想方法与工具,其适用条件与船舶电力系统的故障诊断特征几乎完全吻合,能够解决普通电力系统故障诊断不易或无法解决的问题[2-3]。
Agent与多 Agent系统(MAS)的概念起源于人工智能领域,是分布式人工智能的主要方向之一Agent是对过程运行中的决策或控制任务进行抽象而得到的一种具有主动行为能力的实体,它可以利用数学计算或规则推理完成特定操作任务,并通过消息机制与过程对象及其他Agent交互以完成信息传递与协调。
Agent基本特性包括:自治性、可通信性、反应性、面向目标性和针对环境性等。自治性是指Agent对自己的行为或动作具有控制权,无需外部干预,自主地完成其特定的任务;可通信性是指每个Agent在有组织的群体中,通过相互通信接受任务指派和反馈任务执行的信息;反应性是指 Agent应具备感知环境并做出相应动作的能力;面向目标性是指Agent能对自己的行为做出评价并使其逐步导向目标;针对环境性是指Agent只能工作在特定的环境中一般说来,具有以上特性的主动行为能力的实体,如生物体、软件系统以及控制系统中的控制器等,均可以作为Agent对象。
船舶电力系统供电系统和配电网络集中配置,表现为由若干个配电区间按照一定的结构形式通过主汇流排联结起来构成一个统一的电力网络或多个相互独立的电气子网。
图1是一典型船舶电力系统的结构框图,主要由两个大的部分组成,分别为交流电力网络和直流电力网络。交流网络主要有2台发电机组ACG1和ACG2,直流网络主要有4台发电机组DCG1、DCG2、DCG3和DCG4。两个网络中间通过AC/DC变流器进行互联。
图1 船舶电力系统框图
对于该船舶电力系统的交流网络按照物理区域的分布进行划分,主要分为1号交流发电机及其相关设备、2号交流发电机及其相关设备、1号变流器及其相关设备、2号变流器及其相关设备、3号变流器及其相关设备、4号变流器及其相关设备。如图2。相关设备一般包括断路器、同期装置、励磁装置、调速装置、其他安全保护装置等。对于船舶电力系统直流网络按照物理区域的分布进行划分,主要分为1号直流发电机及其相关设备、2号直流发电机及其相关设备、3号直流发电机及其相关设备、4号直流发电机及其相关设备、1号DC/DC变流器及其相关设备、2号DC/DC变流器及其相关设备、1号DC/AC变流器及其相关设备、2号DC/AC变流器及其相关设备飞轮储能及其相关设备、蓄电池及其相关设备、电力推进1及其相关设备、电力推进2及其相关设备,如图3。
图2 船舶交流网络故障诊断多Agent分布设计
图3 船舶直流网络故障诊断多Agent分布设计
在船舶电力系统故障诊断的结构设计中,提出了两种方案,方案一为软件分布式多Agent故障诊断。图4为方案一的信息流程,即模拟量和数字量通过综合智能监控模块进行采集,然后通过主通信模块将采集的所有数据上传到主数据服务器和备份数据服务器。最后多Agent故障诊断工作站进行软件分布式故障诊断。图5为多Agent故障诊断工作站进行软件分布式故障诊断的示意框图。
方案二如图6所示,系统在设计中就充分应用了硬件分布式多Agent,系统中有处于底层的分布式并行结构的ITU-Agent(智能终端-Agent)、中间层SCM-Agent(子通信管理-Agent)、上层的DFS-Agent(故障诊断融合-Agent)、MDBAgent(主数据服务Agent)、BDB-Agent(备份数据服务Agent)、OPC-Agent(OPC通信Agent)几部分组成。其中处于底层的分布式并行结构的ITU-Agent完成基本的区域故障的诊断,主要采用的方法是模糊认知图推理和模糊关系型合同网协作。底层的诊断的信息以及原始数据通过SCM-Agent,实现异构网络的数据转换,将数据上传到DFS-Agent,完成最后整个电力系统的故障诊断。
ITU-Agent内部为基于决策的BDI框架Agent逻辑结构模型[5-7]。
图4 多Agent故障诊断的系统结构(方案一)
图5 软件多Agent故障诊断的内部结构(方案一)
图6 硬件多Agent故障诊断的系统结构(方案二)
BDI框架结构是最早出现的慎思型Agent基本结构的重要代表,是将Agent作为意识系统的具体体现,BDI框架产生的根基在于实用推理理论的哲学基础,它模仿了人们为实现一定的目标而采取的一系列行动的过程。简单的说,它是由信念、愿望和意图三个基本概念构成,其中信念反映了Agent的认知特性,愿望反映了Agent的感情偏好,Agent做出承诺的目标形成意图。定义BDI框架的 Agent结构如下的十一元组:
定义Bel为Agent所有可能的信念构成的集合,则有B∈γ(Bel)表示某个确定的信念集;定义Des为Agent所有可能的愿望构成的集合,则有D∈γ(Des)表示某个确定的愿望集;定义Int为Agent所有可能的意图构成的集合,则有I∈γ(Int)表示某个确定的意图集。根据以上定义,元组中Agent的内部行为可以表示为如下映射:
see:S→P表示信念确定的过程;
bmp:γ(Bel) ×P→γ(Bel)表示信念修正过程;
opt:r(Bel) ×r(Int) →r(Des)表示愿望确定过程;
filter:γ(Bel) ×γ(Des) ×γ(Int) →γ(Int)表示意图确定过程;
exe:γ(Int) →A表示对某一确定的意图实施特定的行为。
图7 基于BDI框架的Agent结构框图
由于BDI理论建立在实用推理理论的基础之上,具有深刻的认知心理学和哲学基础,因此据此建立实现Agent的结构符合人工智能当前的发展趋势。同时,在Agent的实际构造中,对于表达信念、愿望、意图等反映思维状态的概念,并合理完成相应的推理转化还有很大的困难。要真正实现基于BDI框架的成熟的Agent模型,就必须在完善BDI形式化研究的同时,结合实际应用背景和应用目的,综合逻辑、决策理论以及其它理论研究成果,在Agent知识推理过程中,以及Agent与环境交互方面选用适当的方法,加以准确的描述。
该系统的故障诊断的主要目的是尽可能快速实时的检测出系统运行中的各种故障,并隔离故障、诊断并修复故障以减少其对系统运行的影响。该系统的故障诊断主要完成以下功能:
1)故障监测与检测:主要通过采集的信息由各单元的ITU-Agent监测设备层故障,由各单元ITU-Agent与其他ITU-Agent协同诊断电力系统区域故障。通过SCM-Agent和DFS-Agent实现网络系统级故障。
2)故障实时通知(告警):简单故障信息实时投递到SCM-Agent,复杂故障通过故障诊断融合Agent实现。
3)告警即时展示:告警在GUI上即时展示给维护人员,保证故障及时处理。
4)告警状态设置以及活动告警列表:告警产生后,设置相应产生告警设备的告警状态,并维护活动告警消息列表,以供了解当前的告警状态及详细的活动告警信息。
5)告警清除:故障恢复后,需要清除相应设备的告警状态以及活动告警消息列表的相应条目,支持告警的自动清除和管理人员清除两种操作机制。
6)告警过虑:设置告警过滤的条件,对设备告警消息进行抑制或有选择的投递。
7)故障隔离:将产生故障的设备从工作资源中删除,这个功能体现在状态管理的状态设置功能中。
8)故障分析:分析故障产生的原因,以及指导恢复设备正常工作。
9)告警历史数据保存:收集设备产生的各种告警信息,以长时存储,供将来进行告警分析使用。
系统中的多个Agent必须进行自主、有序的工作,是实现多Agent故障诊断的重要前提。为保证ITU-Agent之间的协调有效的工作,采用文中研究的模糊关系合同网协作模型,从而使ITU-Agent之间能够利用互为主从关系,从分利用信息资源合作诊断。
ITU-Agent之间、ITU-Agent与SCM-Agent之间采用消息通信的方式,SCM-Agent与DFS-Agent之间也是采用消息通信的方式。消息通信较为简单,这种通信满足三个条件:首先要有通信协议,其次要基于共同的Agent通信语言;另外还需要对使用的词语有共同的理解。从系统实现的角度来说,Agent与对象一样,需要提供一个与其内部数据结构算法无关、基于消息的接口。在面向对象的领域中,通信是采用方法调用,消息的含义对于每个对象是不同的。但是在面向Agent的软件工程中,消息使用通用的语言,与Agent的语义无关。
图8 消息通信结构示意图
采用消息的通信,使得MADS的通信具有以下特点:通信数据量小、可以很大程度缩短网络传输时间,减少延时,提高系统的实时性;消息中描述的是诊断程序的协作行为,属于高级语义信息,语义级集成的协同应用程序之间耦合度低、异构性高,有利于实现分布式异构系统的故障诊断。因此文中设计了层次化通信结构,规范了通信协议,并采用适当的通信语言和基于消息的通信方式,能够使得MADS中的Agent更好的通信和协作,以实现分布式智能化的故障诊断。
数据库Agent设计包括MDB-Agent(主数据服务Agent)和BDB-Agent(备份数据服务Agent),两者的结构基本一致。数据库Agent设计是为系统多Agent故障诊断的详细设计、编程和测试提供数据支持。
选取ORACLE公司的数据库产品,版本号为9.0,该产品功能完善、可靠性高、操作维护方便、易于获得技术支持。SCM-Agent通过调用ORACAL数据库提供的OCI(Oracle Call Interface)接口库来实现,本设计中为了调用方便将其进一步封装。DFS-Agent通过调用微软提供的ADO(ActiveX Data Objects)接口访问ODBC,而ODBC与ORACAL数据库连接,由此实现对ORACAL数据库的访问。
将多Agent技术应用到船舶电力系统故障诊断系统的设计中,各Agent能自主完成任务,并通过通信相互传递信息与其他Agent发生联系,相互协作;各Agent之间功能划分清晰,能较好的相互协作共同解决诊断问题。整个系统不仅有一定的自主性,还拥有较好的交互性,使得诊断系统具有一定的自主性、自适应性,是船舶电力系统故障诊断的一种新的有效途径。
[1] 张海艳,夏飞.基于 Petri网的船舶电力系统故障诊断[J]. 哈尔滨工程大学学报, 2008, 29(9): 933-937.
[2] KhoslaR,LiQ. Multi-layered Multi-Agent Architecture with Fuzzy Application in Electrical in Electrical power System [A]. Proceedings of the IEEE International Conference on Fuzzy Systems, 2002:209-214.
[3] McArthur S D J,Davidson E M, Hossack J A, etal.Automating Power System Fault Diagnosis Through Multi-agent System[C]. Proceedings of the 37th Annual Hawaii International Conference on System Sciences, USA, 2004: 947-954.
[4] 范玉顺, 曹军威. 多代理系统理论、方法与应用[M].北京: 清华大学出版社, 2002.
[5] 赵伟,白晓民,丁剑等. 基于协同式专家系统及多智能体技术的电网故障诊断方法[J]. 中国电机工程学报, 2006, 26(20): 1-8.
[6] 钱佳, 余雪丽. 基于多 Agent电力故障诊断系统体系结构风格的研究[J]. 太原理工大学学报, 2006,37(专辑): 42-44.
[7] 董海鹰, 白建社, 薛钧义. 一种基于多Agent的变电站故障诊断方法研究[J]. 电工电能新技术, 2003,22(1): 21-24.
[8] R.Khosla, Q.Li. Multi-layered Multi Agent Architecture with Fuzzy Application in Electrical Power Systems[J]. Proceedings of the 2002 IEEE International Conference on Fuzzy Systems, 2002, 1:209-214.
[9] 朱永利, 卢锦玲, 卢敏. 基于 Multi-agent的电网故障诊断系统的研究[J]. 电力系统保护与控制, 2006,34(5): 1-4.