張志虎,余酣冬,黃 強(qiáng)
(南京電子技術(shù)研究所, 南京210039)
隨著雷達(dá)系統(tǒng)越來越復(fù)雜,性能越來越高,對(duì)雷達(dá)可靠性、可測(cè)試性和可維護(hù)性的要求也越來越高。在保證雷達(dá)可靠性,提高雷達(dá)裝備的可測(cè)試性和可維護(hù)性,提高測(cè)試維修效率,降低測(cè)試維修費(fèi)用等方面,雷達(dá)機(jī)內(nèi)自檢(簡(jiǎn)稱雷達(dá)BIT)技術(shù)無疑是一種重要的途徑。
常規(guī)BIT在提高武器裝備測(cè)試性和維修性,提高測(cè)試維修效率,降低測(cè)試維修成本方面起到了極大的作用[1],但常規(guī)BIT同時(shí)存在一些不足,例如功能相對(duì)簡(jiǎn)單、故障診斷能力差、狀態(tài)檢測(cè)能力有限、虛警率高[2-3]。智能BIT的出現(xiàn),為彌補(bǔ)常規(guī)BIT的不足提供了新的思路。國(guó)外大型航空公司和軍工生產(chǎn)企業(yè)都在大力支持智能BIT技術(shù)的研究,并將最先進(jìn)的研究成果應(yīng)用于各種飛機(jī)、雷達(dá)等裝備[2]。國(guó)內(nèi)智能BIT技術(shù)的研究起步較晚,基礎(chǔ)理論和方法相對(duì)薄弱。
智能BIT就是將包括專家系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、模糊理論、信息融合等智能理論應(yīng)用到常規(guī)BIT的設(shè)計(jì)、檢測(cè)、診斷、決策等方面,提高BIT綜合效能,從而降低設(shè)備全壽命周期費(fèi)用的理論、技術(shù)和方法。本文以機(jī)械掃描雷達(dá)為例,借助人工智能理論和工具——邏輯程序,設(shè)計(jì)一種機(jī)掃雷達(dá)智能BIT系統(tǒng),使得雷達(dá)BIT系統(tǒng)能夠進(jìn)行智能化診斷和決策。
基于常規(guī)的機(jī)械掃描雷達(dá)設(shè)備,構(gòu)建如圖1所示的智能BIT系統(tǒng)。系統(tǒng)主要包含罩內(nèi)設(shè)備和艙內(nèi)設(shè)備、狀態(tài)監(jiān)測(cè)模塊、事實(shí)產(chǎn)生器、推理機(jī)、解釋器、知識(shí)庫、知識(shí)庫管理模塊、控制模塊以及人機(jī)交互接口。
圖1 機(jī)掃雷達(dá)智能BIT系統(tǒng)架構(gòu)圖
罩內(nèi)設(shè)備包括裂縫天線、饋線、波控器、驅(qū)動(dòng)器、罩內(nèi)冷卻設(shè)備等分系統(tǒng),艙內(nèi)設(shè)備包括發(fā)射機(jī)、中央單元、信號(hào)處理機(jī)、數(shù)據(jù)處理機(jī)等分系統(tǒng)。罩內(nèi)設(shè)備和艙內(nèi)設(shè)備實(shí)時(shí)或定時(shí)向狀態(tài)監(jiān)測(cè)模塊上報(bào)各個(gè)設(shè)備BIT狀態(tài)。
系統(tǒng)控制模塊根據(jù)推理機(jī)產(chǎn)生的指令或者人為指令對(duì)罩內(nèi)設(shè)備和艙內(nèi)設(shè)備進(jìn)行控制。事實(shí)上,控制模塊是結(jié)合專家知識(shí)和當(dāng)前BIT狀態(tài)控制各設(shè)備正常工作、停止工作、性能降級(jí)工作或者自動(dòng)轉(zhuǎn)入另外一種工作方式??刂颇K也可直接接受人機(jī)交互接口輸入的控制指令對(duì)設(shè)備進(jìn)行操控。
狀態(tài)監(jiān)測(cè)模塊是故障診斷的前提和基礎(chǔ)。通過監(jiān)測(cè)罩內(nèi)設(shè)備和艙內(nèi)設(shè)備狀態(tài)信號(hào),收集和分析各個(gè)設(shè)備的數(shù)據(jù),判斷其運(yùn)行狀態(tài)是否正常和故障,從而產(chǎn)生BIT信息發(fā)送給事實(shí)產(chǎn)生器模塊。
事實(shí)產(chǎn)生器以某種知識(shí)表示方法將狀態(tài)監(jiān)測(cè)模塊收集的BIT信息表示為事實(shí)知識(shí),作為推理機(jī)開展推理的依據(jù)。事實(shí)產(chǎn)生器實(shí)際上是一個(gè)知識(shí)獲取模塊。
臨時(shí)事實(shí)庫存放的是當(dāng)前工作狀態(tài)下動(dòng)態(tài)的事實(shí)。動(dòng)態(tài)事實(shí)可由事實(shí)產(chǎn)生器動(dòng)態(tài)產(chǎn)生,也可由用戶根據(jù)實(shí)際的工作模式、工作狀態(tài)以及當(dāng)前作戰(zhàn)任務(wù)等實(shí)際情況臨時(shí)添加。臨時(shí)事實(shí)庫為用戶干預(yù)智能推理提供了接口。
推理機(jī)是實(shí)現(xiàn)推理的程序,按照某種的控制策略,根據(jù)目前的事實(shí)和知識(shí)庫中先驗(yàn)專家知識(shí)進(jìn)行推理。推理產(chǎn)生的結(jié)果輔助用戶進(jìn)行決策或者直接用于對(duì)罩內(nèi)設(shè)備和艙內(nèi)設(shè)備進(jìn)行操控。專家對(duì)故障的診斷和處理思想通過推理機(jī)實(shí)現(xiàn)。推理機(jī)是智能BIT系統(tǒng)的核心模塊。
解釋器是將形式化的知識(shí)轉(zhuǎn)化為計(jì)算機(jī)或者用戶能夠理解的結(jié)果。例如,解釋器將推理機(jī)推理產(chǎn)生的知識(shí)轉(zhuǎn)化為控制模塊可以接收的控制指令,或者將推理結(jié)果解釋為用戶可以理解的操作步驟以便用戶進(jìn)行后續(xù)的操作。
知識(shí)庫是以某種知識(shí)表示形式存放專家先驗(yàn)知識(shí)的集合。類似數(shù)據(jù)庫,數(shù)據(jù)庫是存放數(shù)據(jù)的集合,知識(shí)庫是存放知識(shí)的集合。知識(shí)庫越豐富,推理機(jī)可利用的知識(shí)就越多,越能夠?qū)υO(shè)備的故障進(jìn)行診斷和處理,智能BIT系統(tǒng)就越智能。知識(shí)庫又可以細(xì)化分為規(guī)則庫和事實(shí)庫。在建立知識(shí)庫時(shí),專家要確保知識(shí)庫的存放的知識(shí)的正確性和知識(shí)之間不存在矛盾。
知識(shí)管理模塊是專家對(duì)知識(shí)庫進(jìn)行管理的工具。用于往知識(shí)庫中增加知識(shí)、刪除知識(shí)以及更新知識(shí)的模塊。
人機(jī)交互接口是用戶和專家與內(nèi)部模塊交互界面。一方面,專家通過人機(jī)交互接口對(duì)知識(shí)庫進(jìn)行管理,用戶通過人機(jī)交互接口對(duì)設(shè)備進(jìn)行操控;另一方面,解釋器通過人機(jī)交互接口向用戶展示雷達(dá)BIT故障診斷結(jié)果以及操作建議。
BIT知識(shí)表示和推理是智能BIT系統(tǒng)的核心。本節(jié)重點(diǎn)闡述系統(tǒng)所采用的知識(shí)表示方法及推理機(jī)制。
知識(shí)表示方法是構(gòu)建知識(shí)庫的基礎(chǔ),表示方法選取得是否合理不僅關(guān)系到知識(shí)庫的有效存儲(chǔ),并且直接影響推理機(jī)的推理效率。
已經(jīng)提出了多種知識(shí)表示方法,如基于產(chǎn)生式規(guī)則的表示、框架表示、邏輯表示、語義網(wǎng)絡(luò)表示等方法。本文基于人工智能領(lǐng)域非常成熟的知識(shí)表示方法——邏輯程序。邏輯程序早在20世紀(jì)60年代末及70年代初就已經(jīng)開始了研究,目前已被應(yīng)用于規(guī)劃、計(jì)算機(jī)輔助驗(yàn)證系統(tǒng)、安全分析、產(chǎn)品配置及診斷等領(lǐng)域。值得一提的是,美國(guó)顧問項(xiàng)目(USA Advisor Project)采用的知識(shí)表示方法就是邏輯程序。該項(xiàng)目旨在構(gòu)建美國(guó)航天飛機(jī)飛行控制員決策支持系統(tǒng)。
本文設(shè)計(jì)的智能BIT系統(tǒng)采用的是邏輯程序中文獻(xiàn)[4-5]中描述的邏輯程序。邏輯程序具備較強(qiáng)的表達(dá)能力和較高的執(zhí)行效率,被視為知識(shí)表示和自動(dòng)推理中最有價(jià)值的工具之一[6]。一個(gè)邏輯程序是由一些規(guī)則和事實(shí)組成。邏輯程序中基本規(guī)則的語法形式如下
式中:左邊部分為規(guī)則頭;右邊部分為規(guī)則體;中間的←符號(hào)代表推出含義。規(guī)則頭中b1,b2,…,bm代表的含義是b1和b2以及 bm。b1,b2,…,bm和 a均是形式化的符號(hào),是規(guī)則的基本元素,在具體的應(yīng)用中指代不同的含義。式(1)中規(guī)則代表的直觀意義是如果條件b1和b2以及bm均成立,則可以推理得到結(jié)論a成立。舉一個(gè)簡(jiǎn)單的例子,如果我們想表達(dá)“鳥會(huì)飛”這樣一條知識(shí),用式(1)中的規(guī)則表示如下
式中:brid代表“鳥”;fly代表“會(huì)飛”。整條規(guī)則的含義是如果是鳥則可推理得到結(jié)論會(huì)飛。
邏輯程序中事實(shí)的語法形式為
事實(shí)實(shí)際是一種特殊的規(guī)則。當(dāng)一條規(guī)則的規(guī)則體為空時(shí),該規(guī)則即為事實(shí)。也就是說不需要任何前提條件,便可得到結(jié)論,該結(jié)論即為直觀意義上的客觀事實(shí)。
邏輯程序中另外一種特殊的規(guī)則為完整約束為
完整約束中規(guī)則頭為空。所代表的含義是,一旦前提條件成立,將推理不出任何結(jié)論。完整約束常在邏輯程序中作為約束準(zhǔn)則。
系統(tǒng)中知識(shí)庫中的知識(shí)就是由上述基本規(guī)則、事實(shí)及完整約束表示。臨時(shí)事實(shí)庫中的知識(shí)僅由事實(shí)表示。在用規(guī)則來表示系統(tǒng)BIT知識(shí)時(shí),首先需要明確規(guī)則中基本元素,然后根據(jù)專家的經(jīng)驗(yàn)構(gòu)建規(guī)則。以發(fā)射機(jī)故障診斷知識(shí)為例,首先明確發(fā)射機(jī)故障知識(shí)符號(hào)表,如表1所示。
表1 發(fā)射機(jī)故障知識(shí)符號(hào)表
其次,根據(jù)專家經(jīng)驗(yàn)構(gòu)建發(fā)射機(jī)故障診斷規(guī)則。專家知識(shí)是:如果雷達(dá)設(shè)備出現(xiàn)真空度異常、前級(jí)故障、調(diào)制器故障、過壓、欠壓、過流、打火故障、末級(jí)故障及冷卻異常中某一種或者多種異?,F(xiàn)象,則代表發(fā)射機(jī)出現(xiàn)故障。對(duì)應(yīng)于該專家知識(shí),構(gòu)建以下10條規(guī)則:
r1:Tx_Err←Vacuum_Err
r2:Tx_Err←Front_Err
r3:Tx_Err←Modem_Err
r4:Tx_Err←Over Press_Err
r5:Tx_Err←Less Press_Err
r6:Tx_Err←Over Flow_Err
r7:Tx_Err←Fire_Err
r8:Tx_Err←Wave_Err
r9:Tx_Err←Back_Err
r10:Tx_Err←Cold_Err
發(fā)射機(jī)分系統(tǒng)需要嚴(yán)格的控制和保護(hù)機(jī)制,一旦檢測(cè)到異常應(yīng)立刻停止發(fā)射任務(wù)。為了表示該知識(shí),可在發(fā)射機(jī)故障診斷規(guī)則集上添加以下符號(hào)表和第11條規(guī)則,以便對(duì)發(fā)射機(jī)分系統(tǒng)進(jìn)行保護(hù)。
表2 發(fā)射機(jī)保護(hù)符號(hào)表
r11:Stop_Work←Tx_Err
下面以另外一條輔助決策知識(shí)為例描述決策知識(shí)的知識(shí)表示過程。機(jī)掃雷達(dá)在下視模式中,如果和通道和保護(hù)通道被檢測(cè)出故障,可以通過控制邏輯,將故障通道的輸入信號(hào),切換到差通道,能夠完成系統(tǒng)性能降級(jí)的任務(wù)[7]。
根據(jù)決策知識(shí)首先創(chuàng)建符號(hào)表,如表3所示。
表3 決策知識(shí)示例符號(hào)表
然后形成以下規(guī)則:
SwitchDelta_Oper←AirDown_Work,SigmaChan_Err,GuardChan_Err
推理機(jī)進(jìn)行推理的過程:首先,根據(jù)事實(shí)產(chǎn)生器產(chǎn)生的動(dòng)態(tài)事實(shí),結(jié)合知識(shí)庫中的已存在的事實(shí),匹配知識(shí)庫中的規(guī)則體,若匹配成功,則觸發(fā)此條規(guī)則產(chǎn)生結(jié)論;其次,結(jié)論作為新的事實(shí)加入,事實(shí)不斷地去迭代匹配規(guī)則體,直至不再產(chǎn)生新的結(jié)論,達(dá)到一個(gè)穩(wěn)定的狀態(tài);最后,該狀態(tài)下所有的事實(shí)作為推理機(jī)在此次推理過程中的輸出。
以上一節(jié)中發(fā)射機(jī)故障診斷和保護(hù)為例,當(dāng)狀態(tài)監(jiān)測(cè)模塊監(jiān)測(cè)到發(fā)射機(jī)調(diào)制器故障時(shí),事實(shí)產(chǎn)生器產(chǎn)生以下事實(shí)并存入臨時(shí)事實(shí)庫:
Modem_Err
結(jié)合臨時(shí)事實(shí)庫中的知識(shí)和知識(shí)庫中存有的知識(shí),當(dāng)前推理機(jī)具備的知識(shí)如下:
r1:Tx_Err←Vacuum_Err
r2:Tx_Err←Front_Err
r3:Tx_Err←Modem_Err
r4:Tx_Err←OverPress_Err
r5:Tx_Err←LessPress_Err
r6:Tx_Err←OverFlow_Err
r7:Tx_Err←Fire_Err
r8:Tx_Err←Wave_Err
r9:Tx_Err←Back_Err
r10:Tx_Err←Cold_Err
r11:Stop_Work←Tx_Err
f1:Modem_Err
臨時(shí)事實(shí)庫中的事實(shí)可以匹配知識(shí)庫中的規(guī)則3,觸發(fā)規(guī)則3產(chǎn)生結(jié)論Tx_Err,即發(fā)射機(jī)故障。結(jié)論Tx_Err作為新的事實(shí)加入推理。此時(shí)推理機(jī)具備的知識(shí)如下:
r1:Tx_Err←Vacuum_Err
r2:Tx_Err←Front_Err
r3:Tx_Err←Modem_Err
r4:Tx_Err←OverPress_Err
r5:Tx_Err←LessPress_Err
r6:Tx_Err←OverFlow_Err
r7:Tx_Err←Fire_Err
r8:Tx_Err←Wave_Err
r9:Tx_Err←Back_Err
r10:Tx_Err←Cold_Err
r11:Stop_Work←Tx_Err
f1:Modem_Err
f2:Tx_Err
新事實(shí)Tx_Err匹配規(guī)則11成功,觸發(fā)規(guī)則11產(chǎn)生結(jié)論Stop_Work,即發(fā)射機(jī)停止工作。該結(jié)論同樣作為新的事實(shí)加入推理過程。然而新的事實(shí)并不再匹配規(guī)則,推理過程達(dá)到一個(gè)穩(wěn)定狀態(tài),此時(shí)輸出故障結(jié)論--發(fā)射機(jī)故障和控制決策——發(fā)射機(jī)停止工作。解釋器進(jìn)而向用戶提示發(fā)射機(jī)故障,同時(shí)控制模塊根據(jù)控制決策實(shí)時(shí)停止發(fā)射機(jī)工作以保護(hù)發(fā)射機(jī)避免發(fā)射機(jī)因?yàn)榇蠊β瘦敵龆鵁龎摹?/p>
基于邏輯程序的知識(shí)表示和推理,可快速構(gòu)建智能BIT系統(tǒng)。本節(jié)主要描述系統(tǒng)流程和原型系統(tǒng)實(shí)現(xiàn)。
專家進(jìn)入系統(tǒng)后可通過人機(jī)交互接口向知識(shí)庫添加故障診斷知識(shí),同時(shí)也可以刪除認(rèn)為不正確的知識(shí)。雷達(dá)領(lǐng)域?qū)<以谔砑又R(shí)時(shí)一定要確保新添加的知識(shí)和知識(shí)庫中原有的知識(shí)不沖突,以確保推理機(jī)能夠正常開展推理分析工作。
雷達(dá)各分系統(tǒng)正常加電啟動(dòng)后,狀態(tài)監(jiān)測(cè)模塊實(shí)時(shí)監(jiān)測(cè)各分系統(tǒng)的運(yùn)行狀態(tài)和故障信息,一旦收到故障信息,將此信息發(fā)送給事實(shí)產(chǎn)生器模塊。事實(shí)產(chǎn)生器模塊根據(jù)文中上節(jié)描述的知識(shí)表示方法,將故障信息進(jìn)行形式化的表達(dá),轉(zhuǎn)化為邏輯程序中的事實(shí)存入臨時(shí)事實(shí)庫,同時(shí)觸發(fā)推理機(jī)開展工作。推理機(jī)結(jié)合臨時(shí)事實(shí)庫中的知識(shí)和知識(shí)庫中的規(guī)則,根據(jù)推理機(jī)制開展匹配和迭代,將推理結(jié)論發(fā)送給解釋器模塊。解釋器將形式化的推理結(jié)果轉(zhuǎn)化為故障信息或者控制指令。故障信息或者控制指令均發(fā)送給人機(jī)交互接口。通過人機(jī)交互接口,用戶可觀察到目前故障信息和故障產(chǎn)生的原因或者獲得對(duì)故障該采取相關(guān)措施的建議。若解釋器送出的是控制指令,則直接發(fā)送給系統(tǒng)控制模塊,對(duì)各分系統(tǒng)進(jìn)行實(shí)時(shí)控制。圖2給出了關(guān)鍵流程。
圖2 系統(tǒng)故障診斷和決策流程圖
具體實(shí)現(xiàn)過程中采用了Windows操作系統(tǒng),開發(fā)工具使用Visual C++6.0。運(yùn)用面向?qū)ο蠹夹g(shù),通過對(duì)成熟邏輯程序推理機(jī)——DLV[6]的封裝,在 VC++支持的MFC對(duì)話框開發(fā)模式下,實(shí)現(xiàn)了智能BIT原型系統(tǒng)。
通過知識(shí)符號(hào)管理界面添加發(fā)射機(jī)故障符號(hào)表,如圖3所示。
圖3 知識(shí)符號(hào)管理界圖
通過知識(shí)管理界面將規(guī)則保存至系統(tǒng)知識(shí)庫,如圖4所示。
圖4 知識(shí)庫規(guī)則管理界面
狀態(tài)監(jiān)測(cè)模塊監(jiān)測(cè)到發(fā)射機(jī)調(diào)制器故障,將該故障轉(zhuǎn)化為一條知識(shí)存入臨時(shí)事實(shí)庫中。系統(tǒng)最終運(yùn)行結(jié)果,如圖5所示。
圖5 推理結(jié)果顯示界面
用戶可查看診斷結(jié)果,了解系統(tǒng)BIT狀態(tài),也可根據(jù)診斷結(jié)果采取相應(yīng)的操作。系統(tǒng)也可以根據(jù)推理結(jié)果對(duì)設(shè)備進(jìn)行自動(dòng)控制。
文中給出了一個(gè)機(jī)掃雷達(dá)智能BIT系統(tǒng)體系架構(gòu)、BIT知識(shí)表示方法及推理機(jī)制,實(shí)現(xiàn)了對(duì)機(jī)掃雷達(dá)罩內(nèi)設(shè)別和艙內(nèi)設(shè)備故障的智能診斷和決策。
機(jī)掃雷達(dá)智能BIT系統(tǒng)利用智能技術(shù)——邏輯程序進(jìn)行BIT知識(shí)的表示和推理。邏輯程序是一種描述性語言,簡(jiǎn)單、直觀,方便雷達(dá)專家將領(lǐng)域知識(shí)形式化的表達(dá),易于快速建立BIT知識(shí)庫模型,同時(shí)利用成熟的推理機(jī),能夠高效、充分利用知識(shí)庫中的知識(shí)對(duì)故障進(jìn)行推理。文中雖然以較為簡(jiǎn)單的系統(tǒng)級(jí)BIT例子為例描述了如何開展智能化的故障診斷和決策,但針對(duì)更復(fù)雜的雷達(dá)BIT故障信息處理過程是完全一樣。關(guān)鍵在于雷達(dá)專家按照邏輯程序的知識(shí)表達(dá)方式將知識(shí)形式化為規(guī)則存入知識(shí)庫中。雷達(dá)專家的知識(shí)越豐富,智能BIT系統(tǒng)對(duì)故障的診斷和輔助決策的能力就越強(qiáng)大。
文中給出的智能BIT設(shè)計(jì)方案并不局限于構(gòu)建機(jī)掃雷達(dá)的智能BIT系統(tǒng),同樣適用其他類型雷達(dá)BIT系統(tǒng)設(shè)計(jì)。
[1] 溫熙森,徐永成,易曉山,等.智能機(jī)內(nèi)測(cè)試?yán)碚撆c應(yīng)用[M].北京:國(guó)防工業(yè)出版社,2002.Wen Xisen,Xu Yongchen,Yi Xiaoshan,et al.Intelligent built-in test theory and application[M].Beijing:National Defense Industry Press,2002.
[2] 黃運(yùn)來,梁玉英,張 芳.智能BIT故障診斷技術(shù)研究與實(shí)現(xiàn)[J].火力與指揮控制,2011,36(2):174-176.Huang Yunlai,Liang Yuying,Zhang Fang.The research and realization on technology of intelligent built-in test fault diagnosis[J].Fire Control& Command Control,2011,36(2):174-176.
[3] 徐永成,溫熙森,劉冠軍,等.智能BIT概念與內(nèi)涵探討[J].計(jì)算機(jī)工程與應(yīng)用,2001(14):29-32.Xu Yongcheng,Wen Xisen,Liu Guanjun,et al.Research on the conception and connotation of intelligent built-in test[J].Computer Engineering and Applications,2001(14):29-32.
[4] Gelfond M,Lifschitz V.Classical negation in logic programs and disjunctive databases[J].New Generation Computing,1991(9):365-386.
[5] Przymusinski T C.Stable semantics for disjunctive programs[J].New Generation Computing,1991(9):401-424.
[6] Leone N,Pfeifer G,F(xiàn)aber W,et al.The DLV system for knowledge representation and reasoning[J].ACM Transactions on Computational Logic,2006,7(3):499-562.
[7] 徐 鈞.機(jī)掃雷達(dá) BIT系統(tǒng)解決方案[J].現(xiàn)代雷達(dá),2006,28(7):30-32.Xu Jun.BIT system design items on the mechanic scan radar[J].Modern Radar,2006,28(7):30-32.