基于多Agent 的农产品加工设备用智能诊断系统的设计
2013-10-16王雪马秀莲席桂清
王雪,马秀莲,席桂清
(黑龙江八一农垦大学信息技术学院,大庆 163319)
对于智能诊断系统的研究已经开展了多年,比较成功的系统大多应用在大型装备及航空工业上。但是随着设备性能的日益提高,设备及其使用者在诊断精度、准确度和诊断速度上的要求也越来越高。应用于农产品的电子设备在高科技的需求下,越来越多地出现在我们的周围。其中不乏对精度要求高的设备,而农产品加工设备就是其中的一类。研究主要针对农产品加工用设备的智能诊断问题。采用多代理技术进行研究与设计,研究重点为智能诊断模型的构建,并把神经网络理论加入到诊断决策机制的定义中。最后将创建的智能诊断系统在之前开发的种蛋识别设备中进行应用,并对决策机制作出评价。
1 基于多Agent 的农产品加工设备用智能诊断系统的设计
1.1 智能诊断技术研究
智能诊断是将传统的故障诊断技术与先进的人工智能技术相结合的技术。关于智能诊断技术可以归纳为三种:基于知识的,基于模型的,基于神经网络的以及多种技术综合的诊断技术[1]。其中,基于知识的诊断技术类似于专家系统。在故障诊断过程中将设备的故障与征兆的因果信息元提取出来,用知识进行表示。归纳相关领域内的专家的经验进入知识库中。在诊断实现时,将实际诊断过程中获取到的故障信息分析后与知识库中的规则进行匹配,经过推理之后将结论及说明反馈给诊断人员。基于模型的诊断技术是在构建故障模型的基础上,通过模型进行形态差异的判断,从而确定故障的最小集合。基于神经网络的故障诊断技术研究主要集中在模式识别及使用动态神经网络进行拟合预测两个方面。而综合诊断技术主要是将神经网络与专家系统相结合的方式。基于多Agent 的农产品加工设备用智能诊断系统的设计将采用综合诊断技术。
1.2 多Agent 诊断技术
Agent 的理论及技术的研究随着人们对人工智能的需求增加而日益增加。研究者发现单个Agent 很难达到分布式系统结构的要求。所以多Agent 技术得到了众多研究者的青睐。多Agent 系统的最突出的特点就是其具有社会性。每个Agent 都各司其职。各Agent 通过协议或通信语言如KQML 语言等进行通信,而多Agent 的诊断系统在此基础上通过协作求解机制和诊断决策机制来完成协同诊断功能。在系统的组织结构上多Agent 系统可以分为主从结构、对等结构和复杂结构三种[2-5]。主从和对等结构的组织形式比较单一,主从结构中从属Agent 对上层Agent 的依赖性较强,每个从属Agent 间难以达到协同诊断。而对等Agent 正与之相反,每个Agent 之间的通信性和协作性较强,但是缺乏统一的管理,采用这样的结构会给系统留下缺口。将主从和对等两种结构的优点综合起来就形成了复杂结构。
系统既要求具有多Agent 的协同性,也要采用一定的管理机制对整个多Agent 系统进行管理。所以复杂结构可以满足要求。
1.3 多Agent 智能诊断模型
系统将整体结构分为四层,包括管理层、功能层、推理层和数据层。
图1 多Agent 智能诊断模型Fig.1 The model of intelligent diagnosis based on multi-agent
管理层主要负责整个系统的管理机制与通信机制。决策需要通信的Agent 双方需要对话,还是需要进行知识的交换。二是要对Agent 之间的关系作出判断。Agent 之间的交互有两种关系:正关系和负关系[1]。正关系表示Agent 的规划有重叠的部分,或某个Agent 具备其他Agent 不具备的能力,各Agent 可通过管理层的协调获得帮助,负关系会导致冲突。管理层要进行协调,达到冲突的消解的目的。
功能层是多Agent 诊断系统的核心层。主要包括知识处理、特征提取、实时监控、故障诊断与故障决策等功能组件。
推理层处于数据层和功能层之间。主要提供各功能组件所需的知识或数据,并对推理机制进行定义。
数据层包括数据库、知识库与扩展知识库三个方面。数据库主要用于存储由传感器获得的各种信息,知识库为众多相关领域的专家的经验总和。扩展知识库主要是为系统的日后扩展诊断功能留下接口。
在管理层中主要有两个Agent:管理Agent 和数据传输Agent。管理Agent 负责协调各Agent 和通信,数据传输Agent 负责与后台计算机上的通信Agent之间传输巡检数据。具体诊断时,数据采集子系统将被诊断设备的运行状态、参数等数据采集输入到诊断系统,一方面提供给PC 端显示,另一方面,将数据提供给诊断方法Agent,形成诊断请求。管理Agent对诊断请求进行任务分解,得出多个子任务,再根据对诊断Agent 的认识,将诊断任务分配给适当的诊断Agent。管理Agent 还要负责诊断Agent 间的工作协调、协作和借助于KQML 语言通信,以及将各诊断Agent 的诊断结果综合成最终结论,提交给用户。具体的诊断系统模型和诊断流程图如图1、2 所示。
其中数据采集与处理Agent 主要负责数据的特征识别等。而诊断方法Agent 将实现模糊数学诊断方法和神经网络诊断方法,负责对故障的具体诊断。
图2 多Agent 智能诊断系统的诊断流程图Fig.2 The flow chart of multi-agent intelligent diagnosis system
2 多Agent 智能诊断系统在农产品加工设备中的决策机制
所使用的实验设备为之前的研究成果种蛋识别设备。
2.1 种蛋识别设备的特征描述
该种蛋识别设备可以完成如下的功能[6]。
图像预处理—图像预处理菜单项包括图像灰度化、中值滤波、二值化和边缘检测操作。其中灰度化可实现灰度变换和灰度调整操作。
灰度化—可以把一幅彩色图像变成一幅灰白图像。
中值滤波—消除孤立的噪声点,使种蛋图像增强。
二值化—将灰度图像转换成二值图像。
边缘检测—从种蛋图像识别中抽取边缘轮廓。
特征提取—特征提取菜单包括9 个特征为基本特征,6 个不变矩特征,单值、多值特征显示在图像区,与使用的相关预处理图像显示的位置相同。
无精蛋识别—包括遗传神经网络构建、初始化、网络训练和识别。系统的分类器主要功能是把种蛋分为无精蛋和受精蛋。
2.2 种蛋识别设备的诊断决策机制
从上面可以看出该种蛋识别设备既有硬件部分也有软件部分。所以将该设备故障分为软件故障样本和硬件故障样本两部分。
硬件故障样本可以归纳为:噪声、电流稳定性、液位稳定性、温度稳定性、流量稳定性与压力稳定性等。
软件故障的测试需要选取样本图像作为检测故障的标准,再将设备识别的图像与之比对,误差在可以忍受的范围内则认为无故障。以将彩色图像灰度化这一功能为例。选择加权平均法所获得的灰度图效果较好,但是权值的设定对于图像的灰度效果有很大的影响,所以软件故障样本的归纳方法主要采用此种方式[7]。
在这里,认为硬件无故障。则设备的软件故障征兆样本与故障原因样本如下表所示,样本的量化标准值均为1,无故障标准值为0。
表1 软件故障征兆样本与故障原因样本Table 1 The fault symptoms samples and failure samples of software
决策Agent 获取本体知识库中设备的故障样本,针对软件故障样本设计训练能够进行进一步诊断的神经网络。根据表1 软件故障样本集,神经网络选择三层BP 神经网络,输入神经元数为3 个,输出神经元数为4 个;隐含层神经元由用户进行选择控制;神经网络运行参数:连接权值、阈值由系统随机设定,学习率、学习次数、自适应变量学习率系数由本体知识经验设定。神经网络设汁完成后训练故障样本。在进行样本训练时,选择用训练精度对BP 神经网络的训练进行控制,同时设置隐含层数为4 个。
结果可知训练次数为659 次,训练完成后将样本集输入诊断系统观察输出结果。样本输出结果如下。
可以看出对角线上数值接近1,其他数值接近0。与分析中的故障原因集类似,训练结果满意。与表1 中软件故障样本集基本一致。
3 结论
在对智能诊断技术研究基础上,构建了农产品加工用高精度智能诊断系统的诊断模型,并对具体的诊断流程进行了描述。最后给出了智能诊断系统的决策机制,并对故障样本进行了训练,基本上得到了预期的效果。
[1] 刘征.多Agent 故障诊断系统的研究[J].武汉理工大学学报,2009年,31(11):126-128.
[2] 张复春,张凤鸣,南建国.基于Agent 的远程故障诊断系统的实现[J].空军工程大学学报:自然科学版,2003,4(6):68-70.
[3] 蒋伟进,许宇胜,孙星明.基于MAS 的分布式智能故障诊断模型与关键技术研究[J].机械强度,2004,26(2):119-126.
[4] Daiping Hu,Weiguo Xu,Huiming Dou,et al.An Agent Based Fault Diagnosis Support System and its Application[A].Service Operations and Logistics and Informatics[C].Shanghai:IEEE Conference Publications,2006.
[5] 于志伟等.基于多智能体的监控与故障诊断技术及其应用[J].计算机工程,2006,32(13):222-224.
[6] 马秀莲,衣淑娟.基于嵌入式系统与机器视觉的上孵前无精蛋识别系统[J].农业机械学报,2011,42(5):187-192.
[7] 刘勇,朱景福,王雪.基于中间件和服务的协同协作模型设计与实现[J].黑龙江八一农垦大学学报,2012,24(2):87-89.