李永勇,張永進(jìn),張燕軍
(1.安徽工業(yè)大學(xué) 數(shù)理科學(xué)與工程學(xué)院,安徽 馬鞍山 243032;2.揚(yáng)州大學(xué) 機(jī)械工程學(xué)院,江蘇 揚(yáng)州 225127)
隨著道路交通的快速發(fā)展,機(jī)動(dòng)車已成為人們?nèi)粘9ぷ魃钪胁豢苫蛉钡囊徊糠?,因此機(jī)動(dòng)車的可靠性、故障維修以及如何快速有效地診斷出機(jī)動(dòng)車的故障源越來越受到人們重視。傳統(tǒng)的機(jī)動(dòng)車故障診斷過程復(fù)雜、效率低且對(duì)維修人員的素質(zhì)要求較高,因此設(shè)計(jì)一種能夠快速診斷故障并能給出維修方案的專家系統(tǒng)具有重要的現(xiàn)實(shí)意義。
當(dāng)前,已研究的機(jī)動(dòng)車故障診斷專家系統(tǒng)模型主要有基于知識(shí)的[1]、規(guī)則的[2]、實(shí)例的[3]及其組合的[4],以及基于模糊邏輯的[5]和人工神經(jīng)網(wǎng)絡(luò)的[6]等。雖然傳統(tǒng)的專家系統(tǒng)不需要精確的分析模型,但因缺乏知識(shí)自學(xué)習(xí),難以獲取知識(shí)和建立知識(shí)庫,從而不能滿足當(dāng)前需求。FTA(故障樹分析)雖然簡(jiǎn)單可靠,但傳統(tǒng)的面向割集的FTA需要精確的分析模型和故障機(jī)理分析,且該方法計(jì)算復(fù)雜度高,不易用計(jì)算機(jī)實(shí)現(xiàn)。
為了避免上述診斷方法的缺陷,本文在FTA的基礎(chǔ)上,設(shè)計(jì)一種基于Petri網(wǎng)求最小割集的機(jī)動(dòng)車故障診斷專家系統(tǒng)。該系統(tǒng)采用結(jié)構(gòu)模塊化設(shè)計(jì),利用知識(shí)庫中的知識(shí)設(shè)計(jì)故障推理機(jī),實(shí)現(xiàn)對(duì)機(jī)動(dòng)車故障的快速定位并給出故障維修方案,且可利用自學(xué)習(xí)功能對(duì)專家知識(shí)庫進(jìn)行更新擴(kuò)充。
故障樹是系統(tǒng)故障發(fā)生和傳播的邏輯表示,它通過特定的事件、邏輯門和其他符號(hào)來描述系統(tǒng)中事件的因果關(guān)系。
由故障樹底部的事件狀態(tài)xi完全確定頂部事件狀態(tài)Φ,xi只有1和0兩種狀態(tài),故障樹結(jié)構(gòu)函數(shù)為Φ=Φ(x1,x2,…,xn)。對(duì)于大型復(fù)雜系統(tǒng)的故障樹,采用下行法或上行法求解最小割集時(shí)將會(huì)顯得十分繁瑣,相比之下,Petri網(wǎng)是一種較為簡(jiǎn)潔有效的方法。Petri網(wǎng)是一種由節(jié)點(diǎn)和定向弧長(zhǎng)組成的二元有向圖,將故障樹中的事件轉(zhuǎn)換為Petri網(wǎng)中的庫p,用圓圈表示,并將邏輯符號(hào)轉(zhuǎn)換為變遷t,通過直線段或矩形表示,可直觀地體現(xiàn)出故障的動(dòng)態(tài)傳輸過程。
在Petri網(wǎng)中,若從庫所p到轉(zhuǎn)移t的輸入函數(shù)是非負(fù)整數(shù)w,則標(biāo)記I(p,t)=w,用p到t的有向弧和旁注w表示;若從轉(zhuǎn)移t到庫所p的輸出函數(shù)是非負(fù)整數(shù)v,則標(biāo)記為O(p,t)=v,用t到p的有向弧和旁注v表示。I和O是n·m非負(fù)整數(shù)矩陣。關(guān)聯(lián)矩陣A是O 和I 之 間 的 差,即 A=O-I[7-8]。根 據(jù) 文獻(xiàn)[9],可將故障樹轉(zhuǎn)化為Petri網(wǎng),如圖1所示。
圖1 故障樹邏輯門的Petri網(wǎng)表示
機(jī)動(dòng)車故障診斷專家系統(tǒng)主要由人機(jī)交互界面、故障特征信息庫、專家知識(shí)庫、推理機(jī)、解釋機(jī)五部分組成,其結(jié)構(gòu)框圖如圖2所示。
圖2 機(jī)動(dòng)車故障診斷專家系統(tǒng)結(jié)構(gòu)框圖
用戶通過人機(jī)界面提供相應(yīng)故障特征信息,系統(tǒng)利用專家知識(shí)庫中存儲(chǔ)的知識(shí),按照相應(yīng)的推理策略進(jìn)行逐級(jí)匹配診斷后,由人機(jī)界面顯示出推理結(jié)果。因?yàn)椴煌脩魧?duì)機(jī)動(dòng)車故障的描述會(huì)因其所掌握相關(guān)專業(yè)知識(shí)程度的不同而不同,所以需要對(duì)故障描述內(nèi)容進(jìn)行特征提取并統(tǒng)一表示,組成故障特征信息庫。系統(tǒng)將機(jī)動(dòng)車故障特征信息和專家知識(shí)等導(dǎo)入知識(shí)庫中進(jìn)行數(shù)據(jù)庫操作,包括增刪改等,即為知識(shí)獲取過程,如圖3所示。
圖3 知識(shí)獲取過程框圖
專家知識(shí)庫由故障樹和規(guī)則庫兩部分組成。故障字典的形成過程也是故障樹的建立過程,如果故障的原因不在知識(shí)庫中,則會(huì)在故障字典中填寫,并繼續(xù)擴(kuò)展知識(shí)庫。規(guī)則庫是專家知識(shí)通過“生產(chǎn)表示”來表達(dá)的,符合人的思維習(xí)慣,可以清晰表達(dá)專家知識(shí),如最小割集為{X1,X2},那么產(chǎn)生式表示為IF X1AND X2THEN R1,其中R1表示相應(yīng)導(dǎo)致的故障。
在整個(gè)專家系統(tǒng)的診斷過程中,解釋機(jī)將推理機(jī)推理出的故障診斷結(jié)果和維修方案展示給用戶。作為系統(tǒng)核心部分的推理機(jī)可從規(guī)則庫中推斷出故障模式,其過程是用“產(chǎn)生式規(guī)則”來表示,并按規(guī)則進(jìn)行查找相關(guān)故障樹的割集,這些割集與知識(shí)庫中的規(guī)則是一一對(duì)應(yīng)的。故障診斷推理的具體流程見圖4。
常見的機(jī)動(dòng)車故障主要由電控汽油噴射發(fā)動(dòng)機(jī)常見故障、傳動(dòng)系常見故障、制動(dòng)系常見故障和車身常見故障等故障分類組成。如果對(duì)傳動(dòng)系常見故障再進(jìn)行細(xì)分的話,主要有離合器故障、手動(dòng)變速器故障和自動(dòng)變速器故障等。對(duì)上述故障部件進(jìn)行故障樹分析,可得相應(yīng)由若干種故障的原因?yàn)榈资录M成的子故障樹,即為元件故障樹。而基于元件故障樹的系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)也就成為機(jī)動(dòng)車故障診斷的依據(jù)。元件故障樹的每個(gè)割集為一種故障模式,且與專家知識(shí)庫中的規(guī)則相對(duì)應(yīng)。
機(jī)動(dòng)車故障樹如圖5所示,將機(jī)動(dòng)車故障作為頂事件,常見的七類機(jī)動(dòng)車故障作為第二層子節(jié)點(diǎn),再下層為機(jī)動(dòng)車七類故障對(duì)應(yīng)的子故障樹,此處以離合器故障為例,X1至X11為離合器故障的底事件。
圖4 故障診斷推理流程
圖5 機(jī)動(dòng)車故障樹
為了便捷地求出機(jī)動(dòng)車故障樹的所有最小割集,系統(tǒng)利用Petri網(wǎng)關(guān)聯(lián)矩陣求最小割集。矩陣中,1表示由變遷指向庫所的有向弧,-1表示由庫所指向變遷的有向弧,0表示變遷與庫所間無指向關(guān)系。可將故障診斷推理的過程有效地轉(zhuǎn)化為矩陣數(shù)學(xué)運(yùn)算求出最小割集[10],過程如下:
(1)在關(guān)聯(lián)矩陣中,找只含有“0”和“1”的行對(duì)應(yīng)為頂庫所,按此行中的“1”列查找“-1”,此“-1”行表示的庫是頂庫的輸入庫,如果列包含多個(gè)“-1”,則意味著有多個(gè)輸入庫對(duì)應(yīng)于同一轉(zhuǎn)換,且為“與”的關(guān)系。
(2)根據(jù)步驟(1)中的“-1”行,尋找“1”,如果“1”指示庫是中間庫,繼續(xù)通過步驟(1)循環(huán)查找“-1”,直到該行上沒有“1”。若沒有“1”,則表示為基庫所。若該行中有多個(gè)“1”,則這些“1”所對(duì)應(yīng)的庫所之間是“或”關(guān)系。
(3)按步驟(1)和步驟(2)繼續(xù)尋找,直到找到底庫所為止。
(4)將底庫所展開,根據(jù)布爾吸收律或質(zhì)數(shù)法求出所有最小割集。
通過上述求最小割集過程可以看到,利用Petri網(wǎng)關(guān)聯(lián)矩陣法可快速有效地求出故障樹的最小割集,算法清晰,并且易于計(jì)算機(jī)實(shí)現(xiàn)。
機(jī)動(dòng)車故障分析所建立起來的故障樹十分龐大,如果在機(jī)動(dòng)車發(fā)生故障后對(duì)每個(gè)最小割集的底事件進(jìn)行依次檢查,不僅工作量大,而且效率低下甚至不可行。因此在計(jì)算底事件概率的基礎(chǔ)上進(jìn)行最小割集的重要度分析,計(jì)算并排序每個(gè)最小割集的重要度,值越大的優(yōu)先級(jí)越高,反之亦然。最小割集重要度是指它相對(duì)于頂事件發(fā)生的概率,而頂事件概率可以由底事件的故障概率來求解。
例如通過上述過程求出機(jī)動(dòng)車故障樹的n個(gè)最小割集Ci(i=1,2,…,n),可計(jì)算頂事件發(fā)生概率PT:
其中:P(C
i
C
j
)(1≤i<j≤n)為兩個(gè)割集同時(shí)發(fā)生的概率(即兩個(gè)最小割集發(fā)生概率之積);P(C
1
C
2
…C
n
)為n個(gè)最小割集同時(shí)發(fā)生的概率(n個(gè)最小割集發(fā)生概率之積)。
當(dāng)最小割集可靠度較大時(shí),頂事件發(fā)生概率收斂很快,可將頂事件發(fā)生概率PT近似解為PT≈,求出所有最小割集的重要度Ii為:
再根據(jù)Ii的大小來排序制定診斷優(yōu)先級(jí),并以此來快速診斷出機(jī)動(dòng)車故障原因,從而降低診斷系統(tǒng)分析的難度和工作量,提高一次診斷故障原因的可靠性。最后,利用專家系統(tǒng)故障分析可找出機(jī)動(dòng)車制造設(shè)計(jì)薄弱環(huán)節(jié)并計(jì)算出可靠度Rs=1-PT[11]。通 過 對(duì) 薄弱環(huán)節(jié)采取相對(duì)應(yīng)的措施,如對(duì)易發(fā)生故障的部件進(jìn)行改造升級(jí),從而可減少故障的發(fā)生。
由于機(jī)動(dòng)車故障樹較為復(fù)雜,所以本文只對(duì)某型機(jī)動(dòng)車的離合器故障底事件進(jìn)行故障樹分析,表1給出了該機(jī)動(dòng)車離合器故障樹底事件。
表1 某型機(jī)動(dòng)車離合器的故障樹底事件
為了便于故障樹轉(zhuǎn)化Petri網(wǎng),該離合器故障樹只涉及了AND門和OR門,用多輸入變遷代替AND門,用兩個(gè)變遷代替OR門。圖6和圖7分別給出了離合器故障樹和相應(yīng)的Petri網(wǎng)。
圖6 機(jī)動(dòng)車離合器故障樹
圖7 離合器故障樹對(duì)應(yīng)的Petri網(wǎng)
由圖6和圖7可知,故障樹的底事件與Petri網(wǎng)的庫所的對(duì)應(yīng)關(guān)系,如表2所示。
表2 故障樹底事件與Petri網(wǎng)庫所的對(duì)應(yīng)關(guān)系
可以得出Petri網(wǎng)對(duì)應(yīng)的關(guān)聯(lián)矩陣A=O-I,具體如式(3)所示:
根據(jù)式(3)關(guān)聯(lián)矩陣求故障樹最小割集:
(1)搜索只有“1”和“0”沒有“-1”的行,此例中為第16行,得到:
p16=p15+p14+p13+p12.
(2)對(duì)行15、14、13、12分別找為1的列,重復(fù)上述步驟,得到:
(3)將所有底庫所求出后,將以上算式逐級(jí)代入,并整理后得:
(4)最后按照布爾吸收律或素?cái)?shù)法得出離合器故障樹的最小割集,最小割集與底事件的對(duì)應(yīng)關(guān)系如表3所示。
由專家經(jīng)驗(yàn)可得到某型機(jī)動(dòng)車離合器各底事件概率,見表4。
表4 機(jī)動(dòng)車某型號(hào)離合器底事件發(fā)生概率
用式(1)求離合器故障頂事件發(fā)生概率為:對(duì)所有最小割集進(jìn)行式(2)中的重要度Ii計(jì)算,得到的最小割集重要度見表5。
表5 最小割集的重要度
根據(jù)最小割集Ii的大小確定優(yōu)先級(jí):
然后根據(jù)所求優(yōu)先級(jí)排序?qū)C(jī)動(dòng)車離合器進(jìn)行故障診斷,優(yōu)先級(jí)高的底事件的發(fā)生更易導(dǎo)致故障發(fā)生,因此,在進(jìn)行故障診斷維修時(shí)優(yōu)先考慮會(huì)有更好的效果。
根據(jù)定性分析可知,C2、C4為機(jī)動(dòng)車離合器發(fā)生故障的主要原因,對(duì)C2、C4中的底事件X3、X5中部件進(jìn)行改進(jìn),降低其故障的發(fā)生概率為X3=0.005,X5=0.002,可計(jì)算出改造升級(jí)后的離合器故障發(fā)生率PT′=0.057和可靠度Rs=0.943。故障部件經(jīng)過改造后,提高了機(jī)動(dòng)車離合器的可靠性。
針對(duì)傳統(tǒng)的面向割集的故障樹和專家系統(tǒng)的不足,提出并分析了基于Petri網(wǎng)的機(jī)動(dòng)車故障診斷專家系統(tǒng)。
(1)該系統(tǒng)綜合利用各種類型的故障特征,整合多渠道故障診斷信息,使診斷結(jié)果更加精確可靠,彌補(bǔ)了傳統(tǒng)方法的很多不足,可快速精確地診斷典型故障并給出可行的解決方案。
(2)該系統(tǒng)的診斷推理引擎利用知識(shí)庫中的知識(shí)進(jìn)行推理,并利用故障樹對(duì)應(yīng)的Petri網(wǎng)快速地求出最小割集,實(shí)現(xiàn)對(duì)每個(gè)底事件重要性的分析,極大地簡(jiǎn)化了FTA的計(jì)算。
最后通過實(shí)例,對(duì)機(jī)動(dòng)車離合器的故障診斷進(jìn)行分析,并對(duì)其故障部件進(jìn)行維修改善后,使得離合器的可靠性有所提高,證明了設(shè)計(jì)的故障診斷專家系統(tǒng)的實(shí)用性。