李圓圓,王亞平,王家浩
(南京理工大學(xué),南京 210094)
槍械是近距離作戰(zhàn)時的單兵手持式軍械,使用過程中一旦出現(xiàn)故障,不僅拖延戰(zhàn)機,影響戰(zhàn)斗成功,還會危及到戰(zhàn)士的人身安全,因此槍械產(chǎn)品對可靠性的要求非常高。槍械是由槍管、發(fā)射機構(gòu)、復(fù)進機構(gòu)、閉鎖機構(gòu)等組成的復(fù)雜機械系統(tǒng),這些機構(gòu)共同配合,完成自動循環(huán)動作,時序上既有串聯(lián)又有并聯(lián),而且為了減輕質(zhì)量、縮小尺寸,槍械機構(gòu)中大量采用碰撞的形式進行運動和力的傳遞。同時,槍械的使用環(huán)境復(fù)雜多變,要滿足高溫、低溫、沙塵、雨水、鹽霧、河水等使用環(huán)境下的可靠性要求。因此,在槍械研制過程中,槍械出現(xiàn)故障后很難快速地作出判斷,故障診斷的正確性與及時性,對于設(shè)計者的知識水平和經(jīng)驗程度有很大的依賴性。
槍械故障具有如下特點:1)因果關(guān)系復(fù)雜,存在交叉性,同一故障可能由多種原因疊加而成。如卡彈故障,可能是由于自動復(fù)進速度低、彈匣口部變形、槍機推彈凸筍磨損等原因造成的。1個故障源可能引起多個故障現(xiàn)象,如自動機后坐能量不足,可能造成卡殼、空膛、卡彈等故障。2)故障影響因素具有隨機性,槍械使用過程中會受到多種多樣的隨機因素的影響,包括環(huán)境因素(溫度、腐蝕等)、載荷因素(火藥氣體力、磨損、潤滑等)、制造因素(尺寸、裝配質(zhì)量等)等。
目前槍械的故障診斷方法有定性分析法和定量分析法。定性分析法主要是故障樹分析法,根據(jù)故障現(xiàn)象和槍械工作原理進行邏輯分析,按照自動機機構(gòu)的執(zhí)行順序,逐項檢查,結(jié)合已有的檢查結(jié)果和現(xiàn)象,排除其他因素,逐漸逼近,最終找到故障原因。定量分析法主要是采用建模仿真手段,建立槍械機構(gòu)可靠性分析模型,通過調(diào)整影響因素取值,使得故障再現(xiàn)。故障樹分析法雖然實用性強、結(jié)構(gòu)簡單,但由于槍械結(jié)構(gòu)的特殊性,目前建立故障樹的通用性較差,導(dǎo)致推導(dǎo)結(jié)果不準確。另外,隨著新結(jié)構(gòu)、新原理槍械的不斷出現(xiàn),故障樹也會越來越龐大,常規(guī)的順序推理需要對事件進行逐一遍歷,推理效率低。可靠性建模仿真方法具有機理清晰的優(yōu)點,但是由于槍械故障是小概率故障,需要采用大量的仿真分析樣本,才能實現(xiàn)故障的再現(xiàn),且在影響因素的選擇上,仍然要依靠分析人員的經(jīng)驗,存在耗時長、效率低的問題。
為了提高槍械故障診斷的準確性和推理效率,本文提出基于規(guī)則(RBR)和實例(CBR)混合推理的槍械故障診斷方法?;赗ETA算法進行RBR推理,采用可拓方法建立槍械故障實例物元模型,對數(shù)值型和區(qū)間型不同組合形式的局部相似度進行準確表征。采用最近鄰近法進行實例相似度計算,并研制開發(fā)了槍械故障診斷專家系統(tǒng)。本文研究可為槍械故障分析提供手段,對于提高槍械的可靠性具有應(yīng)用價值。
基于規(guī)則的推理(RBR)知識表達簡潔明了、容易理解、可解釋性強,但是由于槍械故障推理規(guī)則是由槍械歷史故障歸納總結(jié)得到的,規(guī)則整理與表達專業(yè)性較強,其擴展性差?;趯嵗耐评恚–BR)將已有的大量診斷實例、可能發(fā)生的故障和排除方案作為知識來源,通過數(shù)據(jù)關(guān)系的匹配,尋找相似問題解的方法。實例建模過程簡單,其推理能力隨著實例的增多而增強,并能夠應(yīng)用在規(guī)則難以獲取的領(lǐng)域,其缺點是解釋性差。本文針對槍械故障因果關(guān)系復(fù)雜、隨機性大和迭代更新快等特點,采用以RBR為主、CBR為輔的推理模式,充分結(jié)合兩者的優(yōu)點,提高槍械故障診斷的準確性和推理效率。
提出的基于混合推理的槍械故障診斷流程(見圖1)如下:
圖1 混合推理流程 Fig.1 Mixed inference processes
1)用戶輸入槍械基本信息、可獲得的故障現(xiàn)象和數(shù)據(jù)。
2)首先進入RBR推理模塊,利用RETE算法進行規(guī)則篩選與匹配,檢查所得節(jié)點是否為唯一底事件。若是,則查詢對應(yīng)維修意見,將故障原因與維修意見輸出給用戶;若所得節(jié)點不是為唯一底事件,則進入CBR推理模塊。用戶確認故障原因是否正確,若正確,將此問題存入實例庫中,推理結(jié)束;若不是此故障原因,則進入CBR推理模塊。
3)進入CBR推理階段,利用可拓學(xué)物元模型和最近鄰近法,計算問題與實例的相似度,保留并以表格的形式輸出相似度≥85%的實例,供用戶選擇查看。
4)用戶選擇相關(guān)實例查看細節(jié)、故障原因與維修建議,確認是否正確。若正確,則將此問題保存至實例庫,推理結(jié)束;若不正確,則選擇下一條相關(guān)實例,直至找到正確的故障原因。
5)若選擇完所有相似實例仍未找到正確故障原因,則人工排除故障,并將此問題存入實例庫中。
知識表示的好壞對于推理機的推理效率和知識庫的可維護性有著直接影響。知識的表達有很多形式,如謂詞邏輯表示法、產(chǎn)生式表示法、框架 表示法、Petri網(wǎng)表示法、面向?qū)ο蟊硎痉ǖ?。本文采用故障樹的形式進行規(guī)則建模,故障樹層次結(jié)構(gòu)清晰,利于以圖形化建模的方式進行構(gòu)建。采用面向?qū)ο蟮闹R表示方式對基于故障樹形成的規(guī)則進行表達,面向?qū)ο蟮闹R表示方式具有可準確高效地表達知識、便于對知識庫進行操作(修改、添加、刪減和搜索等)、對故障原因有準確的定位等優(yōu)點。以步槍“卡彈”故障為例,建立的故障樹如圖2所示。由于篇幅原因,本文僅給出“供彈路線不合理”子故障面向?qū)ο蟮谋硎痉绞剑鐖D3所示。
圖2 步槍卡彈故障樹 Fig.2 Rifle jam fault tree
圖3 面向?qū)ο蟮墓收蠘渲R表達 Fig.3 Schematic diagram of object-oriented fault tree knowledge expression
為提高規(guī)則匹配算法的執(zhí)行效率,本文采用 RETE算法進行規(guī)則推理。RETE算法的基本思想是充分利用之前匹配過程中的信息(規(guī)則、規(guī)則模式、事實、匹配情況等),以空間為代價,降低匹配過程中的計算量,提高推理機的匹配效率,其原理如圖4所示。對事實和規(guī)則進行規(guī)則匹配的過程稱為模式匹配,產(chǎn)生式內(nèi)存區(qū)(Production Memory)中存放著被訪問的規(guī)則,工作存儲區(qū)(Working Memory)中存放需要被推理機匹配的數(shù)據(jù)。
圖4 RETE算法原理 Fig.4 RETE inference flowchart
按故障樹各節(jié)點間的邏輯關(guān)系,將不同節(jié)點儲存在RETE網(wǎng)絡(luò)中。卡彈故障樹部分節(jié)點的RETE網(wǎng)絡(luò)分布如圖5所示,包括Alpha網(wǎng)絡(luò)和Beta網(wǎng)絡(luò)。Alpha網(wǎng)絡(luò)用于儲存規(guī)則前提,即用戶可觀測到的故障癥兆;Beta網(wǎng)絡(luò)用于儲存不同規(guī)則前提組合所得結(jié)果。 其推理流程為:
圖5 卡彈故障樹部分節(jié)點RETE網(wǎng)絡(luò)分布 Fig.5 RETE network distribution
1)檢查用戶輸入數(shù)據(jù)的類型模式,不同的類型進入不同結(jié)點進行后續(xù)篩選,提高匹配效率。
2)檢查是否完成所有Alpha結(jié)點篩選,若篩選完成,則進入下一步;若未完成,則返回步驟1)繼續(xù)篩選。
3)組合Beta結(jié)點。根據(jù)步驟2)中所得Alpha結(jié)點,在Beta網(wǎng)絡(luò)中查找是否有組合結(jié)果。
4)若有組合結(jié)果,則將所得結(jié)果Beta結(jié)點輸 出給用戶。
本文收集了大量槍械研制過程中故障分析和處理實例,這些實例既有定性描述,又有定量描述,難以用結(jié)構(gòu)化數(shù)據(jù)表達,且通常1個表象故障都對應(yīng)著多個引發(fā)故障。實例知識表達是基于普通知識表示方法的一種抽象表達,其實現(xiàn)方式也與現(xiàn)有的知識表達方式(如謂詞邏輯表示、面向?qū)ο蟊硎镜龋┮粯?,但這些知識表達方式通常是利用向量特征來描述實例的定量特征,缺乏定性與定量相結(jié)合的表示方式,而物元模型將實例中定量特征與定性特征結(jié)合描述。因此,本文采用基于可拓方法中的物元模型來對槍械故障實例知識進行表達。
物元模型以物為對象,為的特征,為的量值,將這三者構(gòu)成一個有序的三元組:=(,,)。作為描述物的一個基本元,稱為一維物元,、、三者稱為物元的三要素,其中與構(gòu)成的二元組(,)表示物元的特征。
當(dāng)某一物以個特征,,,…,及關(guān)于(=1,2,3,…,)對應(yīng)的量值(=1,2,3,…,)來描述,則物元可表示為:
本文將槍械故障實例特征分2類,第一類為槍械說明特征,反映槍械具體的性能指標、結(jié)構(gòu)參數(shù)與使用環(huán)境;第二類為槍械故障特征,反映槍械故障原因與維修方法。實例庫模型為:
式中:=(,)為實例的說明特征集;=(,)為實例的故障特征集。
在槍械故障實例庫模型的基礎(chǔ)上,建立一個模型用于實例推理。由和組成,其中是目標,是條件。
式中:目標描述了實例推理的目標需求;為槍械說明性信息特征,且=;是目標特征對應(yīng)的取值;條件描述了實例庫中實例的特征與目標特征元的相符程度;是實例庫中各特征的索引;描述了實例與目標特征的相似程度。
因此,實例推理的知識表達系統(tǒng)為:
以95式自動步槍為例,根據(jù)戰(zhàn)技指標和結(jié)構(gòu)特性,選取以下說明特征:使用口徑、自動方式、供彈方式、有效射程、平均最大膛壓、容彈量、供彈方式、理論射速、槍械使用環(huán)境,其說明特征集物元表示為:
實例的檢索方法決定著模型的推理效率與準確率,檢索方法通常有知識引導(dǎo)法、神經(jīng)網(wǎng)絡(luò)法、歸納索引法和最近鄰近法??紤]到槍械說明性信息的獨立性,本文采用最近鄰近法來進行實例檢索。實例推理過程基本循環(huán)如圖6所示。
圖6 基于最近鄰近法的實例推理流程 Fig.6 Case Reasoning Based on Nearest Neighbor Method
推理系統(tǒng)若以物元模型來表達實例,則相似度是通過計算實例庫中每個實例的特征元和目標特征元的接近程度來確定的。對于槍械實例模型,首先計算說明信息特征集之間相似度,定位到具體槍械實例,再對應(yīng)故障特征集進行關(guān)鍵詞匹配,完成檢索。相似度的計算公式為:
特征元取值類型分為確定數(shù)值和區(qū)間2種,其組合類型見表1。
表1 組合類型 Tab.1 Combination types
1)與均為確定數(shù)值時:
2)與均為區(qū)間值時:
3)為區(qū)間值、為確定取值時:
4)為確定取值、為區(qū)間值時,在實際中一般不存在此種情況,若出現(xiàn),按照式(9)計算。
以某槍械故障問題數(shù)據(jù)為例,將其與95式自動步槍、03式自動步槍、56式自動步槍、CQ 5.56mm自動步槍實例進行相似度對比計算。目標數(shù)據(jù)、權(quán)重以及實例數(shù)據(jù)取值見表2。其中特征權(quán)重采用基于層次分析法的專家打分法獲得。
表2 問題與實例取值 Tab.2 Questions and example values
本文結(jié)合槍械故障機理與提出的混合推理故障診斷方法,研制開發(fā)了槍械故障診斷專家系統(tǒng)。為了滿足測試系統(tǒng)日后的維護和升級需要,本系統(tǒng)軟件采用模塊化設(shè)計理念,整個系統(tǒng)主要由登錄模塊、基礎(chǔ)信息管理、故障模型管理模塊、故障診斷模塊和幫助模塊5個部分。其中基礎(chǔ)信息管理模塊包括故障現(xiàn)象管理、故障原因管理、維修建議管理、用戶權(quán)限管理、用戶信息管理;故障診斷模塊包含槍械故障診斷與維修建議;故障模型管理模塊包括故障樹診斷模型的查看與更新、實例模型的查看。
采用槍械歷史故障數(shù)據(jù)作為測試數(shù)據(jù),對所設(shè)計的專家系統(tǒng)進行試操作。具體步驟如下。
1)挑選一條槍械歷史故障數(shù)據(jù),在輸入界面輸入槍械相關(guān)信息,如圖7所示。
圖7 用戶輸入界面 Fig.7 User input interface
2)點擊“開始診斷”,得到的診斷結(jié)果如圖8所示。
圖8 診斷結(jié)果界面 Fig.8 Diagnosis result interface
由推理過程可得,在RBR推理階段未能得到唯一底事件(即故障原因),系統(tǒng)自動進入CBR推理階段,并給出相似度由高到低3個槍械實例的故障原因,分別為“彈匣晃動”、“彈匣過高”和“彈下前后位置不合理”。由歷史故障數(shù)據(jù)可知,此槍械故障原因為“彈匣晃動”。由此可知,該專家系統(tǒng)準確度較高。
本文對于槍械故障因果關(guān)系復(fù)雜、隨機性大和迭代更新快等特點,提出了一種基于RBR和CBR混合推理方法。得出如下結(jié)論。
1)將RETA算法引入RBR推理模塊,提高了推理效率。
2)采用可拓方法建立槍械故障實例物元模型,將槍械實例的定性特征與定量特征有機結(jié)合起來,使實例的知識表達更為簡潔明確。
3)利用Visual Basic語言和MySQL數(shù)據(jù)庫編寫構(gòu)建槍械故障診斷專家系統(tǒng),為槍械故障分析提供手段,對于提高槍械的可靠性具有應(yīng)用價值。
由于采用基于最近相鄰法的實例推理過程中特征權(quán)重的確定對于相似性計算非常重要,本文采用了基于層次分析法的專家打分法,但這種方法的主觀性較強,后續(xù)工作中可進一步探索客觀賦權(quán)方法的應(yīng)用。