張志虎,余酣冬,黃 強
(南京電子技術研究所, 南京210039)
隨著雷達系統越來越復雜,性能越來越高,對雷達可靠性、可測試性和可維護性的要求也越來越高。在保證雷達可靠性,提高雷達裝備的可測試性和可維護性,提高測試維修效率,降低測試維修費用等方面,雷達機內自檢(簡稱雷達BIT)技術無疑是一種重要的途徑。
常規BIT在提高武器裝備測試性和維修性,提高測試維修效率,降低測試維修成本方面起到了極大的作用[1],但常規BIT同時存在一些不足,例如功能相對簡單、故障診斷能力差、狀態檢測能力有限、虛警率高[2-3]。智能BIT的出現,為彌補常規BIT的不足提供了新的思路。國外大型航空公司和軍工生產企業都在大力支持智能BIT技術的研究,并將最先進的研究成果應用于各種飛機、雷達等裝備[2]。國內智能BIT技術的研究起步較晚,基礎理論和方法相對薄弱。
智能BIT就是將包括專家系統、神經網絡、模糊理論、信息融合等智能理論應用到常規BIT的設計、檢測、診斷、決策等方面,提高BIT綜合效能,從而降低設備全壽命周期費用的理論、技術和方法。本文以機械掃描雷達為例,借助人工智能理論和工具——邏輯程序,設計一種機掃雷達智能BIT系統,使得雷達BIT系統能夠進行智能化診斷和決策。
基于常規的機械掃描雷達設備,構建如圖1所示的智能BIT系統。系統主要包含罩內設備和艙內設備、狀態監測模塊、事實產生器、推理機、解釋器、知識庫、知識庫管理模塊、控制模塊以及人機交互接口。

圖1 機掃雷達智能BIT系統架構圖
罩內設備包括裂縫天線、饋線、波控器、驅動器、罩內冷卻設備等分系統,艙內設備包括發射機、中央單元、信號處理機、數據處理機等分系統。罩內設備和艙內設備實時或定時向狀態監測模塊上報各個設備BIT狀態。
系統控制模塊根據推理機產生的指令或者人為指令對罩內設備和艙內設備進行控制。事實上,控制模塊是結合專家知識和當前BIT狀態控制各設備正常工作、停止工作、性能降級工作或者自動轉入另外一種工作方式。控制模塊也可直接接受人機交互接口輸入的控制指令對設備進行操控。
狀態監測模塊是故障診斷的前提和基礎。通過監測罩內設備和艙內設備狀態信號,收集和分析各個設備的數據,判斷其運行狀態是否正常和故障,從而產生BIT信息發送給事實產生器模塊。
事實產生器以某種知識表示方法將狀態監測模塊收集的BIT信息表示為事實知識,作為推理機開展推理的依據。事實產生器實際上是一個知識獲取模塊。
臨時事實庫存放的是當前工作狀態下動態的事實。動態事實可由事實產生器動態產生,也可由用戶根據實際的工作模式、工作狀態以及當前作戰任務等實際情況臨時添加。臨時事實庫為用戶干預智能推理提供了接口。
推理機是實現推理的程序,按照某種的控制策略,根據目前的事實和知識庫中先驗專家知識進行推理。推理產生的結果輔助用戶進行決策或者直接用于對罩內設備和艙內設備進行操控。專家對故障的診斷和處理思想通過推理機實現。推理機是智能BIT系統的核心模塊。
解釋器是將形式化的知識轉化為計算機或者用戶能夠理解的結果。例如,解釋器將推理機推理產生的知識轉化為控制模塊可以接收的控制指令,或者將推理結果解釋為用戶可以理解的操作步驟以便用戶進行后續的操作。
知識庫是以某種知識表示形式存放專家先驗知識的集合。類似數據庫,數據庫是存放數據的集合,知識庫是存放知識的集合。知識庫越豐富,推理機可利用的知識就越多,越能夠對設備的故障進行診斷和處理,智能BIT系統就越智能。知識庫又可以細化分為規則庫和事實庫。在建立知識庫時,專家要確保知識庫的存放的知識的正確性和知識之間不存在矛盾。
知識管理模塊是專家對知識庫進行管理的工具。用于往知識庫中增加知識、刪除知識以及更新知識的模塊。
人機交互接口是用戶和專家與內部模塊交互界面。一方面,專家通過人機交互接口對知識庫進行管理,用戶通過人機交互接口對設備進行操控;另一方面,解釋器通過人機交互接口向用戶展示雷達BIT故障診斷結果以及操作建議。
BIT知識表示和推理是智能BIT系統的核心。本節重點闡述系統所采用的知識表示方法及推理機制。
知識表示方法是構建知識庫的基礎,表示方法選取得是否合理不僅關系到知識庫的有效存儲,并且直接影響推理機的推理效率。
已經提出了多種知識表示方法,如基于產生式規則的表示、框架表示、邏輯表示、語義網絡表示等方法。本文基于人工智能領域非常成熟的知識表示方法——邏輯程序。邏輯程序早在20世紀60年代末及70年代初就已經開始了研究,目前已被應用于規劃、計算機輔助驗證系統、安全分析、產品配置及診斷等領域。值得一提的是,美國顧問項目(USA Advisor Project)采用的知識表示方法就是邏輯程序。該項目旨在構建美國航天飛機飛行控制員決策支持系統。
本文設計的智能BIT系統采用的是邏輯程序中文獻[4-5]中描述的邏輯程序。邏輯程序具備較強的表達能力和較高的執行效率,被視為知識表示和自動推理中最有價值的工具之一[6]。一個邏輯程序是由一些規則和事實組成。邏輯程序中基本規則的語法形式如下

式中:左邊部分為規則頭;右邊部分為規則體;中間的←符號代表推出含義。規則頭中b1,b2,…,bm代表的含義是b1和b2以及 bm。b1,b2,…,bm和 a均是形式化的符號,是規則的基本元素,在具體的應用中指代不同的含義。式(1)中規則代表的直觀意義是如果條件b1和b2以及bm均成立,則可以推理得到結論a成立。舉一個簡單的例子,如果我們想表達“鳥會飛”這樣一條知識,用式(1)中的規則表示如下

式中:brid代表“鳥”;fly代表“會飛”。整條規則的含義是如果是鳥則可推理得到結論會飛。
邏輯程序中事實的語法形式為

事實實際是一種特殊的規則。當一條規則的規則體為空時,該規則即為事實。也就是說不需要任何前提條件,便可得到結論,該結論即為直觀意義上的客觀事實。
邏輯程序中另外一種特殊的規則為完整約束為

完整約束中規則頭為空。所代表的含義是,一旦前提條件成立,將推理不出任何結論。完整約束常在邏輯程序中作為約束準則。
系統中知識庫中的知識就是由上述基本規則、事實及完整約束表示。臨時事實庫中的知識僅由事實表示。在用規則來表示系統BIT知識時,首先需要明確規則中基本元素,然后根據專家的經驗構建規則。以發射機故障診斷知識為例,首先明確發射機故障知識符號表,如表1所示。

表1 發射機故障知識符號表
其次,根據專家經驗構建發射機故障診斷規則。專家知識是:如果雷達設備出現真空度異常、前級故障、調制器故障、過壓、欠壓、過流、打火故障、末級故障及冷卻異常中某一種或者多種異常現象,則代表發射機出現故障。對應于該專家知識,構建以下10條規則:
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
發射機分系統需要嚴格的控制和保護機制,一旦檢測到異常應立刻停止發射任務。為了表示該知識,可在發射機故障診斷規則集上添加以下符號表和第11條規則,以便對發射機分系統進行保護。

表2 發射機保護符號表
r11:Stop_Work←Tx_Err
下面以另外一條輔助決策知識為例描述決策知識的知識表示過程。機掃雷達在下視模式中,如果和通道和保護通道被檢測出故障,可以通過控制邏輯,將故障通道的輸入信號,切換到差通道,能夠完成系統性能降級的任務[7]。
根據決策知識首先創建符號表,如表3所示。

表3 決策知識示例符號表
然后形成以下規則:
SwitchDelta_Oper←AirDown_Work,SigmaChan_Err,GuardChan_Err
推理機進行推理的過程:首先,根據事實產生器產生的動態事實,結合知識庫中的已存在的事實,匹配知識庫中的規則體,若匹配成功,則觸發此條規則產生結論;其次,結論作為新的事實加入,事實不斷地去迭代匹配規則體,直至不再產生新的結論,達到一個穩定的狀態;最后,該狀態下所有的事實作為推理機在此次推理過程中的輸出。
以上一節中發射機故障診斷和保護為例,當狀態監測模塊監測到發射機調制器故障時,事實產生器產生以下事實并存入臨時事實庫:
Modem_Err
結合臨時事實庫中的知識和知識庫中存有的知識,當前推理機具備的知識如下:
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
臨時事實庫中的事實可以匹配知識庫中的規則3,觸發規則3產生結論Tx_Err,即發射機故障。結論Tx_Err作為新的事實加入推理。此時推理機具備的知識如下:
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
新事實Tx_Err匹配規則11成功,觸發規則11產生結論Stop_Work,即發射機停止工作。該結論同樣作為新的事實加入推理過程。然而新的事實并不再匹配規則,推理過程達到一個穩定狀態,此時輸出故障結論--發射機故障和控制決策——發射機停止工作。解釋器進而向用戶提示發射機故障,同時控制模塊根據控制決策實時停止發射機工作以保護發射機避免發射機因為大功率輸出而燒壞。
基于邏輯程序的知識表示和推理,可快速構建智能BIT系統。本節主要描述系統流程和原型系統實現。
專家進入系統后可通過人機交互接口向知識庫添加故障診斷知識,同時也可以刪除認為不正確的知識。雷達領域專家在添加知識時一定要確保新添加的知識和知識庫中原有的知識不沖突,以確保推理機能夠正常開展推理分析工作。
雷達各分系統正常加電啟動后,狀態監測模塊實時監測各分系統的運行狀態和故障信息,一旦收到故障信息,將此信息發送給事實產生器模塊。事實產生器模塊根據文中上節描述的知識表示方法,將故障信息進行形式化的表達,轉化為邏輯程序中的事實存入臨時事實庫,同時觸發推理機開展工作。推理機結合臨時事實庫中的知識和知識庫中的規則,根據推理機制開展匹配和迭代,將推理結論發送給解釋器模塊。解釋器將形式化的推理結果轉化為故障信息或者控制指令。故障信息或者控制指令均發送給人機交互接口。通過人機交互接口,用戶可觀察到目前故障信息和故障產生的原因或者獲得對故障該采取相關措施的建議。若解釋器送出的是控制指令,則直接發送給系統控制模塊,對各分系統進行實時控制。圖2給出了關鍵流程。

圖2 系統故障診斷和決策流程圖
具體實現過程中采用了Windows操作系統,開發工具使用Visual C++6.0。運用面向對象技術,通過對成熟邏輯程序推理機——DLV[6]的封裝,在 VC++支持的MFC對話框開發模式下,實現了智能BIT原型系統。
通過知識符號管理界面添加發射機故障符號表,如圖3所示。

圖3 知識符號管理界圖
通過知識管理界面將規則保存至系統知識庫,如圖4所示。

圖4 知識庫規則管理界面
狀態監測模塊監測到發射機調制器故障,將該故障轉化為一條知識存入臨時事實庫中。系統最終運行結果,如圖5所示。

圖5 推理結果顯示界面
用戶可查看診斷結果,了解系統BIT狀態,也可根據診斷結果采取相應的操作。系統也可以根據推理結果對設備進行自動控制。
文中給出了一個機掃雷達智能BIT系統體系架構、BIT知識表示方法及推理機制,實現了對機掃雷達罩內設別和艙內設備故障的智能診斷和決策。
機掃雷達智能BIT系統利用智能技術——邏輯程序進行BIT知識的表示和推理。邏輯程序是一種描述性語言,簡單、直觀,方便雷達專家將領域知識形式化的表達,易于快速建立BIT知識庫模型,同時利用成熟的推理機,能夠高效、充分利用知識庫中的知識對故障進行推理。文中雖然以較為簡單的系統級BIT例子為例描述了如何開展智能化的故障診斷和決策,但針對更復雜的雷達BIT故障信息處理過程是完全一樣。關鍵在于雷達專家按照邏輯程序的知識表達方式將知識形式化為規則存入知識庫中。雷達專家的知識越豐富,智能BIT系統對故障的診斷和輔助決策的能力就越強大。
文中給出的智能BIT設計方案并不局限于構建機掃雷達的智能BIT系統,同樣適用其他類型雷達BIT系統設計。
[1] 溫熙森,徐永成,易曉山,等.智能機內測試理論與應用[M].北京:國防工業出版社,2002.Wen Xisen,Xu Yongchen,Yi Xiaoshan,et al.Intelligent built-in test theory and application[M].Beijing:National Defense Industry Press,2002.
[2] 黃運來,梁玉英,張 芳.智能BIT故障診斷技術研究與實現[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概念與內涵探討[J].計算機工程與應用,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,Faber W,et al.The DLV system for knowledge representation and reasoning[J].ACM Transactions on Computational Logic,2006,7(3):499-562.
[7] 徐 鈞.機掃雷達 BIT系統解決方案[J].現代雷達,2006,28(7):30-32.Xu Jun.BIT system design items on the mechanic scan radar[J].Modern Radar,2006,28(7):30-32.