王文雙,劉崇屹,許才雄,朱桂芳,徐廷學(xué)
(1.海軍航空大學(xué),山東煙臺(tái)264001;2.海軍艦艇學(xué)院,山東青島266000)
導(dǎo)彈是現(xiàn)代化的高技術(shù)武器之一,國(guó)家武裝力量的重要組成部分,打贏未來(lái)戰(zhàn)爭(zhēng)的殺手锏。從德國(guó)最早研制的V1導(dǎo)彈投入使用至今,多種高新技術(shù)不斷地被運(yùn)用到導(dǎo)彈上,導(dǎo)彈的綜合性能得到了大幅度的提升。但是也不可避免地出現(xiàn)了導(dǎo)彈故障等問(wèn)題。由于導(dǎo)彈是一個(gè)包含大量元器件和電路的復(fù)雜、龐大的系統(tǒng),各個(gè)組成部件之間聯(lián)系緊密,導(dǎo)彈武器系統(tǒng)任何一個(gè)部分的故障都可能導(dǎo)致導(dǎo)彈發(fā)射失敗或發(fā)射后失效,導(dǎo)彈部分或完全喪失戰(zhàn)斗力,無(wú)法對(duì)敵方目標(biāo)形成有效的打擊,由此引發(fā)的經(jīng)濟(jì)損失甚至災(zāi)難性的后果更是不堪設(shè)想[1]。因此,必須進(jìn)行有效的故障診斷準(zhǔn)確定位導(dǎo)彈故障,同時(shí)實(shí)現(xiàn)故障發(fā)生前的故障預(yù)報(bào),評(píng)價(jià)故障發(fā)展趨勢(shì)及后果,由此預(yù)先地做出規(guī)劃,將潛在的故障消滅在萌芽狀態(tài)[2],最大限度地減小故障發(fā)生的可能及危害,提升導(dǎo)彈綜合作戰(zhàn)能力,保證最大限度發(fā)揮作戰(zhàn)效能。
國(guó)外在故障診斷與預(yù)測(cè)技術(shù)領(lǐng)域起步較早。以美國(guó)為代表的發(fā)達(dá)國(guó)家在裝備故障診斷與預(yù)測(cè)方面做出了大量研究工作,并成立了眾多科研機(jī)構(gòu)和組織,取得了較多研究成果。美國(guó)成立的卓越技術(shù)中心(Center of Excellence,COE)主要從事故障診斷、預(yù)測(cè)與狀態(tài)管理方面的研究與應(yīng)用;美國(guó)國(guó)防工業(yè)協(xié)會(huì)(National Defense Industrial Association,NDIA)參與美軍JSF項(xiàng)目中的電子產(chǎn)品故障診斷、預(yù)測(cè)工作;美軍還成立了故障預(yù)測(cè)與健康管理聯(lián)盟(Prognostics and Health Management Consortium,PHMC)[3-4]。
國(guó)內(nèi)雖然在故障診斷與預(yù)測(cè)技術(shù)領(lǐng)域起步較晚,但是研究進(jìn)展很快,工程應(yīng)用方面進(jìn)步也很大。倪巧云[5]和年夫順[6]等深入探討了故障診斷與健康管理的發(fā)展以及應(yīng)用,對(duì)于國(guó)內(nèi)開展相關(guān)工作具有借鑒意義。海軍航空大學(xué)馮玉光教授等人提出的軍用自動(dòng)測(cè)試系統(tǒng)中GPIB總線故障定位的方法,解決了總線通信診斷的難題[7]。雖然學(xué)者們?nèi)〉昧嗽S多可喜的研究成果,但是從總體上看,國(guó)內(nèi)故障診斷與預(yù)測(cè)技術(shù)的研究成果絕大部分還停留在理論階段,缺少一個(gè)面向?qū)嶋H應(yīng)用的工程系統(tǒng)。尤其是導(dǎo)彈受自身以及外部因素的影響,測(cè)試信息在一定程度上存在著不確定性,給導(dǎo)彈故障診斷與預(yù)測(cè)系統(tǒng)的設(shè)計(jì)增加了難度,相關(guān)研究成果寥寥。
針對(duì)這一問(wèn)題,本文在深入分析導(dǎo)彈測(cè)試信息不確定性和故障診斷與預(yù)測(cè)系統(tǒng)需求的基礎(chǔ)上,劃分功能模塊,規(guī)劃工作流程,討論實(shí)現(xiàn)算法,設(shè)計(jì)了一個(gè)導(dǎo)彈故障診斷與預(yù)測(cè)系統(tǒng),以期為導(dǎo)彈故障的準(zhǔn)確定位和狀態(tài)的有效評(píng)估提供依據(jù)和指導(dǎo)。
導(dǎo)彈測(cè)試信息是對(duì)導(dǎo)彈狀態(tài)的客觀反映,是判明導(dǎo)彈故障的依據(jù)。受導(dǎo)彈自身以及外部因素的影響,導(dǎo)彈測(cè)試信息在一定程度上存在著不確定性,并且主要表現(xiàn)為冗余性、不完備性和不協(xié)調(diào)性。
1)冗余性。導(dǎo)彈測(cè)試信息中的某些測(cè)試參數(shù)不是判斷導(dǎo)彈故障情況所必須的。它們占用大量存儲(chǔ)空間,增加了定位故障和預(yù)測(cè)故障的發(fā)生發(fā)展趨勢(shì)的計(jì)算復(fù)雜度。
2)不完備性。導(dǎo)彈測(cè)試信息中存在著空值信息。它們可能是定位導(dǎo)彈故障的關(guān)鍵信息,影響故障診斷規(guī)則的獲取和故障趨勢(shì)的預(yù)測(cè)。
3)不協(xié)調(diào)性。導(dǎo)彈測(cè)試信息中,某些超差測(cè)試參數(shù)相同而故障情況卻不同。這可能導(dǎo)致規(guī)則提取時(shí)產(chǎn)生不確定性診斷規(guī)則,即某些不確定性規(guī)則的超差測(cè)試參數(shù)相同,診斷結(jié)果不同。利用不確定性規(guī)則對(duì)某一樣本進(jìn)行故障診斷時(shí)可能產(chǎn)生多個(gè)彼此沖突的診斷結(jié)果。
因此,系統(tǒng)在故障診斷與預(yù)測(cè)之前必須減小甚至消除測(cè)試信息冗余性、不完備性和不協(xié)調(diào)性的影響,從而降低故障診斷與預(yù)測(cè)結(jié)果中的不確定性[8-9]。
能夠?qū)Σ杉降木哂胁淮_定性的導(dǎo)彈測(cè)試信息進(jìn)行處理,提取診斷規(guī)則。通過(guò)故障診斷實(shí)現(xiàn)導(dǎo)彈故障的準(zhǔn)確定位。通過(guò)故障預(yù)測(cè)實(shí)現(xiàn)導(dǎo)彈狀態(tài)的有效評(píng)估。進(jìn)而建立導(dǎo)彈測(cè)試信息數(shù)據(jù)庫(kù)、故障診斷規(guī)則庫(kù)和故障診斷預(yù)測(cè)結(jié)果庫(kù)。要求具有操作簡(jiǎn)單、界面友好、功能強(qiáng)大的人機(jī)交互界面,并且能夠?qū)v史信息進(jìn)行查詢。
主要功能包括:通過(guò)人機(jī)交互界面將采集的測(cè)試信息錄入系統(tǒng)數(shù)據(jù)庫(kù),對(duì)錄入的不確定性測(cè)試信息進(jìn)行處理,包括刪除正常、重復(fù)測(cè)試信息和冗余測(cè)試參數(shù)以及缺失值的完備化處理,最終提取診斷規(guī)則;能夠?qū)?dǎo)彈進(jìn)行故障診斷,在已有故障診斷規(guī)則無(wú)法直接對(duì)超差測(cè)試信息進(jìn)行診斷以及出現(xiàn)規(guī)則沖突時(shí),能夠?qū)崿F(xiàn)故障診斷推理;能夠結(jié)合已有的特征參數(shù)信息,對(duì)未來(lái)某一時(shí)刻的值進(jìn)行預(yù)測(cè);能夠?qū)v史測(cè)試信息、故障診斷結(jié)果和故障預(yù)測(cè)結(jié)果進(jìn)行模糊和精確查詢;能夠?qū)崿F(xiàn)用戶名和密碼的修改并且提供一套嚴(yán)格的身份驗(yàn)證機(jī)制,確保安全。
根據(jù)軟件系統(tǒng)的功能需求,系統(tǒng)主要包含測(cè)試信息管理、故障診斷、故障預(yù)測(cè)、歷史信息查詢和系統(tǒng)管理5個(gè)功能模塊,如圖1所示。
1)測(cè)試信息管理模塊。最終目的是從原始測(cè)試信息中提取故障診斷規(guī)則豐富導(dǎo)彈故障診斷規(guī)則庫(kù)。本模塊首先將采集到的不確定性原始測(cè)試信息錄入導(dǎo)彈測(cè)試信息數(shù)據(jù)庫(kù),刪除正常測(cè)試信息、重復(fù)測(cè)試信息和冗余參數(shù),對(duì)不完備測(cè)試信息進(jìn)行完備化處理;然后,分別從中提取確定性診斷規(guī)則與不確定性診斷規(guī)則,刪除重復(fù)規(guī)則;最后,整理合并規(guī)則,錄入導(dǎo)彈故障診斷規(guī)則數(shù)據(jù)庫(kù)。
2)故障診斷模塊。本模塊將故障診斷樣本信息錄入導(dǎo)彈測(cè)試信息數(shù)據(jù)庫(kù),利用導(dǎo)彈故障診斷規(guī)則庫(kù)中的確定性診斷規(guī)則對(duì)樣本信息進(jìn)行故障診斷推理,得到唯一診斷結(jié)果。
3)故障預(yù)測(cè)系統(tǒng)。本模塊首先刪除采集到的故障預(yù)測(cè)測(cè)試信息中的缺失值,再錄入導(dǎo)彈測(cè)試信息數(shù)據(jù)庫(kù);然后,構(gòu)造預(yù)測(cè)模型,預(yù)測(cè)未來(lái)某個(gè)時(shí)刻的特征參數(shù)值;最后,將該預(yù)測(cè)值與故障門限值比較,判斷故障情況。
4)歷史信息查詢模塊。在界面輸入導(dǎo)彈編號(hào)或(和)測(cè)試時(shí)間,查詢導(dǎo)彈測(cè)試信息數(shù)據(jù)庫(kù)中的測(cè)試信息或者故障診斷預(yù)測(cè)結(jié)果庫(kù)中的故障診斷、預(yù)測(cè)結(jié)果。
5)系統(tǒng)管理模塊。主要包括用戶名和密碼的修改以及用戶登錄和連接數(shù)據(jù)庫(kù)的身份驗(yàn)證。
圖1 功能模塊結(jié)構(gòu)圖Fig.1 Structure graph of function module
通過(guò)系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì),系統(tǒng)已經(jīng)有了總體的框架結(jié)構(gòu),但是系統(tǒng)各個(gè)模塊之間的協(xié)作過(guò)程仍然是模糊抽象的。因此,必須對(duì)系統(tǒng)的工作流程進(jìn)行規(guī)劃,幫助設(shè)計(jì)者把握全局,為下一步各個(gè)功能模塊的設(shè)計(jì)實(shí)現(xiàn)奠定基礎(chǔ)。
導(dǎo)彈故障診斷與預(yù)測(cè)系統(tǒng)整體的工作流程描述如下:
1)用戶通過(guò)身份驗(yàn)證進(jìn)入系統(tǒng)主界面后可以進(jìn)行用戶名和密碼的修改,也可以對(duì)歷史測(cè)試信息、故障診斷結(jié)果和故障預(yù)測(cè)結(jié)果進(jìn)行查詢,或者連接數(shù)據(jù)庫(kù)以便下一步進(jìn)行故障診斷與預(yù)測(cè)。
2)成功連接數(shù)據(jù)庫(kù)后,用戶可以錄入原始測(cè)試信息通過(guò)測(cè)試信息處理提取診斷規(guī)則;也可以錄入故障診斷樣本信息進(jìn)行故障診斷推理;或者錄入故障預(yù)測(cè)測(cè)試信息進(jìn)行故障預(yù)測(cè)。
3)關(guān)閉界面,用戶退出系統(tǒng)。如圖2所示。
圖2 工作流程圖Fig.2 Work flow graph
本模塊分為測(cè)試信息錄入、測(cè)試信息處理和提取診斷規(guī)則3個(gè)部分。
首先,剔除正常測(cè)試信息、重復(fù)測(cè)試信息和冗余測(cè)試參數(shù),避免冗余性造成的故障診斷時(shí)間和空間上的浪費(fèi)。其次,采用完備化算法填補(bǔ)缺失值,避免不完備性造成的有用故障診斷信息的丟失。最后,從測(cè)試信息中提取故障診斷規(guī)則,包括確定性診斷規(guī)則和不確定性診斷規(guī)則,從而克服導(dǎo)彈測(cè)試信息的不協(xié)調(diào)性對(duì)故障診斷的影響,錄入導(dǎo)彈故障診斷規(guī)則庫(kù)。本模塊流程如圖3所示。
冗余測(cè)試參數(shù)的處理采用屬性約簡(jiǎn)[10]算法,具體步驟如下。
Step1:計(jì)算分辨矩陣D和相對(duì)核CoreC(D)。將相對(duì)核作為初始的約簡(jiǎn)集R,即R=CoreC(D)。
Step2:檢驗(yàn)分辨矩陣D中的每一個(gè)元素項(xiàng)是否含有約簡(jiǎn)集R中的元素,如果含有,令該元素為空,分辨矩陣D轉(zhuǎn)化為再生分辨矩陣Z。
Step3:檢驗(yàn)Z是否是空矩陣,如果成立,則算法結(jié)束。否則,執(zhí)行Step4。
Step4:計(jì)算Z的再生集S。
Step5:計(jì)算S中再生集屬性ck在Z中出現(xiàn)的頻率f(ck)。
Step6:統(tǒng)計(jì)f(ck)=1的再生集屬性ck個(gè)數(shù)。如果個(gè)數(shù)為1,則R=R?ck,算法結(jié)束。如果個(gè)數(shù)為0,則計(jì)算所有再生集屬性ck的決策熵E(R?ck→D),跳到Step7。否則,找出決策熵最小的再生集屬性ck,令R=R?ck,算法結(jié)束。
Step7:找出最小決策熵E(R?ck→D)對(duì)應(yīng)的再生集屬性ck,統(tǒng)計(jì)ck個(gè)數(shù)。如果個(gè)數(shù)為1,則R=R?ck,跳到Step2。否則,執(zhí)行Step8。
Step8:選取在Z中出現(xiàn)頻率f(ck)最高的ck,令R=R?ck,跳到Step2。
圖3 測(cè)試信息管理模塊流程圖Fig.3 Flow graph of test information management module
關(guān)于缺失值的完備化處理,常用的完備化處理方法有刪除法、補(bǔ)齊法和擴(kuò)展法[11]。文獻(xiàn)[12]中的ROUSTIDA算法是一種填補(bǔ)性能較好的經(jīng)典算法。但是當(dāng)該算法應(yīng)用在不完備不協(xié)調(diào)決策系統(tǒng)中可能會(huì)導(dǎo)致新的沖突情況。本文采用文獻(xiàn)[13]的方法,考慮不同子系統(tǒng)中相似對(duì)象對(duì)填補(bǔ)效果的影響,對(duì)不完備決策系統(tǒng)進(jìn)行重新劃分,避免產(chǎn)生沖突。具體算法步驟在此不再贅述。
導(dǎo)彈故障診斷規(guī)則是反映故障與故障征兆之間關(guān)系的一種表現(xiàn)形式,分為確定性診斷規(guī)則和不確定性診斷規(guī)則。確定性診斷規(guī)則指所有與規(guī)則相符的樣本都一定會(huì)得到唯一診斷結(jié)果;不確定性診斷規(guī)則指與規(guī)則相符的樣本可能得到多個(gè)彼此沖突的診斷結(jié)果。經(jīng)過(guò)測(cè)試信息處理后的信息仍具有不協(xié)調(diào)性。這就導(dǎo)致不確定性診斷規(guī)則的產(chǎn)生,在一定程度上影響了故障診斷的可靠性。因此,本文采用一種屬性值約簡(jiǎn)算法,分別篩選出確定性診斷規(guī)則和不確定性診斷規(guī)則,將二者區(qū)別對(duì)待,具體步驟如下。
Step1:令決策系統(tǒng)的行序號(hào)p=1,執(zhí)行如下循環(huán)。
Step2:計(jì)算決策系統(tǒng)規(guī)則rp的規(guī)則辨識(shí)矩陣M(rp)。
Step3:檢驗(yàn)M(rp)是否有全零行。如果成立,記錄該規(guī)則的行序號(hào)p值與全零行對(duì)應(yīng)對(duì)象的行標(biāo)i值,該規(guī)則和全零行對(duì)應(yīng)對(duì)象的規(guī)則屬于不確定性規(guī)則,均不約簡(jiǎn),跳到Step8。否則,執(zhí)行Step4。
Step4:刪除重復(fù)的行。
Step5:計(jì)算規(guī)則rp的值核屬性。令值核Core(rp)=?。在M(rp)中找出只存在一個(gè)1而其余元素均為0的行。將這唯一的一個(gè)1所在的列加入Core(rp)。刪除M(rp)中該列元素也為1的所有行。Core(rp)中的元素即為所求值核屬性。
Step6:檢驗(yàn)M(rp)是否為空。如果成立,根據(jù)Core(rp)得到規(guī)則rp的簡(jiǎn)化規(guī)則,跳到Step8。否則,執(zhí)行Step7。
Step7:計(jì)算規(guī)則區(qū)分函數(shù)。從規(guī)則區(qū)分函數(shù)中得出極小合取范式,再轉(zhuǎn)化為析取范式。析取范式中的每個(gè)合取式都是診斷規(guī)則rp的簡(jiǎn)化規(guī)則。
Step8:p=p+1,若p<|U|(U為決策系統(tǒng)的行數(shù)),則結(jié)束循環(huán)。
本模塊分為測(cè)試信息錄入、完備決策系統(tǒng)錄入和故障診斷推理3個(gè)部分。
首先,判斷錄入的樣本信息是否為正常測(cè)試信息。然后,利用導(dǎo)彈故障診斷規(guī)則庫(kù)中的確定性診斷規(guī)則與樣本測(cè)試信息進(jìn)行比對(duì),若得到唯一診斷結(jié)果,則輸出診斷結(jié)果并將診斷結(jié)果錄入故障診斷預(yù)測(cè)結(jié)果庫(kù),以便查詢。否則,結(jié)合沖突證據(jù)合成方法[14]進(jìn)行判斷。本模塊流程如圖4所示。
DS證據(jù)理論能夠有效解決沖突問(wèn)題[15],但是不適用于證據(jù)高度沖突的情況[16],并且基本概率賦值獲取受主觀因素影響較大。本文在文獻(xiàn)[17]的基礎(chǔ)上,選取證據(jù)信任度作為基本概率賦值,引入證據(jù)可信度作為權(quán)重對(duì)DS證據(jù)理論進(jìn)行改進(jìn),解決了上述問(wèn)題,實(shí)現(xiàn)了診斷推理。完整的運(yùn)算步驟如下:
Step1:將樣本信息與導(dǎo)彈故障診斷規(guī)則庫(kù)中的確定性規(guī)則進(jìn)行比對(duì),若能夠得出唯一診斷結(jié)果,則輸出診斷結(jié)果。否則,跳到Step2。
Step2:構(gòu)造識(shí)別框架Θ={θ1,θ2,…,θN}。完備決策系統(tǒng)中所有的決策屬性作為識(shí)別框架的元素θ1,θ2,…,θN,所有測(cè)試參數(shù)作為證據(jù)E。
其中,基本概率賦值最大的決策屬性即為診斷出的故障部件,輸出診斷結(jié)果。
圖4 故障診斷模塊流程圖Fig.4 Flow graph of fault diagnosis module
本模塊分為測(cè)試信息錄入和故障預(yù)測(cè)兩個(gè)部分。
首先,將測(cè)試信息錄入導(dǎo)彈測(cè)試信息數(shù)據(jù)庫(kù),刪除空值信息,避免測(cè)試信息的不完備性使得故障趨勢(shì)難以預(yù)測(cè)。然后,設(shè)置故障門限值和預(yù)測(cè)時(shí)間,通過(guò)構(gòu)造預(yù)測(cè)模型得到預(yù)測(cè)值,與故障門限值比較,從而判斷故障是否會(huì)發(fā)生。最后,將預(yù)測(cè)結(jié)果錄入故障診斷預(yù)測(cè)結(jié)果庫(kù),以便查詢。本模塊流程如圖5所示。
圖5 故障預(yù)測(cè)模塊流程圖Fig.5 Flow graph of fault prognosis module
灰色系統(tǒng)是指同時(shí)具有已知信息和未知或非確定信息的系統(tǒng)。導(dǎo)彈測(cè)試數(shù)據(jù)具有不確定性,因而導(dǎo)彈可以看作是一個(gè)灰色系統(tǒng)。又因?qū)椞卣鲄?shù)的監(jiān)測(cè)是由具體任務(wù)而定,大多是不等時(shí)間間隔的[18]。因此,本文提出一種改進(jìn)UGM(1,1)的非等間隔預(yù)測(cè)方法,依據(jù)測(cè)試數(shù)據(jù)進(jìn)行故障預(yù)測(cè),主要運(yùn)算步驟如下。
Step4:構(gòu)造數(shù)據(jù)矩陣B和Yn。其中,。
本模塊分為歷史測(cè)試信息查詢、故障診斷結(jié)果查詢和故障預(yù)測(cè)結(jié)果查詢。首先,輸入查詢條件;然后,數(shù)據(jù)庫(kù)中的結(jié)果與查詢條件進(jìn)行匹配。若匹配成功,則輸出查詢結(jié)果。否則,輸出提示語(yǔ)句“沒(méi)有找到符合條件的測(cè)試文件”。
本模塊分為用戶管理和安全管理。用戶管理包括用戶名和密碼的修改;安全管理包括登錄和連接數(shù)據(jù)庫(kù)時(shí)的安全驗(yàn)證。以密碼修改為例,首先輸入原始密碼,檢驗(yàn)與登錄密碼是否相同以防止他人惡意修改。如果不相同,則彈出錯(cuò)誤提示重新輸入。否則,再次輸入新密碼。然后,檢驗(yàn)兩次輸入的密碼是否相同以防止誤輸入,如果不相同,則彈出錯(cuò)誤提示重新輸入。否則,將新密碼寫入注冊(cè)表,完成修改。完整的流程如圖6所示。
圖6 系統(tǒng)管理模塊流程圖Fig.6 Flow graph of system management module
本文針對(duì)導(dǎo)彈保障需求,結(jié)合導(dǎo)彈測(cè)試信息不確定性的特點(diǎn),從系統(tǒng)的需求分析入手,按照模塊化的原則,對(duì)系統(tǒng)進(jìn)行總體設(shè)計(jì),確定了系統(tǒng)的功能結(jié)構(gòu)和工作流程,并且給出了各個(gè)功能模塊的工作流程和實(shí)現(xiàn)算法,最終設(shè)計(jì)出一個(gè)導(dǎo)彈故障診斷與預(yù)測(cè)系統(tǒng),克服了測(cè)試信息冗余性、不完備性和不協(xié)調(diào)性的問(wèn)題,實(shí)現(xiàn)了故障的準(zhǔn)確定位和狀態(tài)的有效預(yù)測(cè),具有一定的實(shí)際應(yīng)用意義。但是,系統(tǒng)還存在一些不足。例如,導(dǎo)彈測(cè)試信息的不確定性因素有很多,本文只討論了冗余性、不完備性和不協(xié)調(diào)性,對(duì)于其他因素,特別是測(cè)試信息的隨機(jī)性,還有待進(jìn)一步深入研究。