高芬莉,耿朝陽,劉白林
(西安工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,西安 710021)
近年來專家系統(tǒng)技術(shù)逐漸成熟,廣泛應(yīng)用在工程、醫(yī)用、軍事等各種領(lǐng)域,并且已經(jīng)或正在產(chǎn)生巨大的經(jīng)濟(jì)效益以及社會影響。故障診斷技術(shù)的發(fā)展已經(jīng)歷30多年,它是一種綜合性的多學(xué)科交叉引入的全面技術(shù)[1]?;趯<蚁到y(tǒng)的故障診斷方法是智能診斷技術(shù)中研究與應(yīng)用較廣泛的方法,同時(shí)也是故障診斷領(lǐng)域中最重要的發(fā)展方向之一[2]。常見的武器故障診斷專家系統(tǒng)大多運(yùn)行在PC端,體型龐大、電池容量較小導(dǎo)致其自由性較差,不易攜帶,難以滿足長期在戶外工作人員的需求。隨著移動(dòng)互聯(lián)網(wǎng)以及移動(dòng)設(shè)備的不斷普及與發(fā)展,智能終端的開發(fā)主要以Android與IOS系統(tǒng)為主流,Android憑借開放性及低廉的價(jià)格,占據(jù)了市場上更大的份額[3]。Android技術(shù)和移動(dòng)互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展為解決移動(dòng)性等問題提供了一個(gè)相對完美的解決方案[4]。
鑒于此,有關(guān)移動(dòng)終端故障診斷專家系統(tǒng)的研究也隨之增多,例如基于故障樹分析法的飛機(jī)航電系統(tǒng)故障診斷系統(tǒng)[5]、發(fā)動(dòng)機(jī)移動(dòng)故障診斷系統(tǒng)及基于移動(dòng)終端的汽車診斷系統(tǒng)[6]、移動(dòng)端車輛監(jiān)控和診斷研究等,此類系統(tǒng)大多涉及航空、工業(yè)及汽車等領(lǐng)域,研究方案及技術(shù)路線已經(jīng)較為成熟。但針對大型武器系統(tǒng)的移動(dòng)端故障診斷的研究仍處于研發(fā)與測試階段,診斷效果不理想,仍需進(jìn)行深層次的理論及實(shí)踐研究。針對高技術(shù)條件下局部戰(zhàn)爭的特點(diǎn)及部隊(duì)裝備的實(shí)際情況,武器故障診斷專家系統(tǒng)應(yīng)向更加小巧、輕便、智能、可靠等方向發(fā)展[7]。文中擬以Android移動(dòng)設(shè)備作為開發(fā)平臺設(shè)計(jì)武器故障診斷專家系統(tǒng),為可移動(dòng)的解決武器裝備故障提供可解決的措施,提高故障解決的效率。
圖1為故障診斷專家系統(tǒng)的基本組成結(jié)構(gòu)及內(nèi)部關(guān)系。人機(jī)交互界面為專家系統(tǒng)與用戶進(jìn)行對話的界面,用于完成系統(tǒng)的輸入和輸出工作;知識庫可實(shí)現(xiàn)對故障診斷知識和數(shù)據(jù)的增刪改及檢查等操作;推理機(jī)模塊負(fù)責(zé)運(yùn)用診斷信息和相關(guān)知識完成診斷任務(wù);解釋機(jī)構(gòu)向用戶提供診斷結(jié)果,幫助用戶了解診斷對象診斷過程。數(shù)據(jù)庫用來存放推理的初始條件、中間數(shù)據(jù)和最終結(jié)果,是推理機(jī)必須的數(shù)據(jù)存儲空間,由數(shù)據(jù)庫管理系統(tǒng)進(jìn)行管理。將專家系統(tǒng)應(yīng)用到故障診斷當(dāng)中,可以利用領(lǐng)域知識和專家經(jīng)驗(yàn)提高故障診斷的效率[8]。
文中采用故障樹分析法[9]實(shí)現(xiàn)某武器的故障診斷專家系統(tǒng),從大系統(tǒng)的故障現(xiàn)象著手由上而下逐漸細(xì)化,隔離縮小故障可疑范圍,最終定位故障源。
基于Android平臺的故障診斷專家系統(tǒng)需要實(shí)現(xiàn)以下主要功能:
1)操作人員通過連接網(wǎng)絡(luò)使用故障診斷專家系統(tǒng),從設(shè)備故障現(xiàn)象入手,利用專家系統(tǒng)推理判斷功能,提供專家級的檢測維修知識,指導(dǎo)維修人員正確選用各種診斷手段,依據(jù)最佳檢測過程,預(yù)測故障點(diǎn)或進(jìn)一步檢測點(diǎn);
2)檢測過程中,向維修人員提供各類咨詢,迅速定位故障;
3)確定故障源之后,提供相應(yīng)解決方案。
圖1 故障診斷專家系統(tǒng)的基本組成結(jié)構(gòu)Fig.1 Basic structure of the fault diagnosis expert system
基于C/S架構(gòu)良好的交互性、響應(yīng)速度快等特點(diǎn),文中采用C/S架構(gòu)來構(gòu)建系統(tǒng)框架,如圖2所示。用戶使用Android客戶端通過互聯(lián)網(wǎng)(Internet)訪問故障診斷專家系統(tǒng)的后臺服務(wù)器,服務(wù)器訪問后臺數(shù)據(jù)庫后,將結(jié)果返回Android客戶端操作界面。
圖2 系統(tǒng)體系架構(gòu)圖Fig.2 System architecture diagram
開發(fā)環(huán)境為Android Studio,以某武器故障診斷為例,對基于Android平臺的武器故障診斷專家系統(tǒng)進(jìn)行軟件設(shè)計(jì)。由于武器裝備結(jié)構(gòu)復(fù)雜,在發(fā)生故障時(shí),很難直接準(zhǔn)確尋找故障源,因此需要將復(fù)雜的裝備結(jié)構(gòu)按照其組成結(jié)構(gòu)分解成多個(gè)子系統(tǒng),子系統(tǒng)分解為單體,再將單體往下層層細(xì)分,以上劃分呈現(xiàn)樹狀結(jié)構(gòu),樹狀結(jié)構(gòu)的最底層末端是元件或器件。在進(jìn)行故障檢測時(shí),從設(shè)備的機(jī)理和技術(shù)原理出發(fā)由表及里,由大到小,通過反復(fù)檢查,最終確定故障源。這種方法雖然略顯繁瑣,但可靠準(zhǔn)確。
結(jié)合某武器裝備的結(jié)構(gòu)組成,為了讓相對復(fù)雜的知識庫更易被理解,并且提高推理以及故障診斷的效率,在建立知識庫時(shí),將設(shè)備的故障信息與推理的規(guī)則分開,分別建立故障信息表和規(guī)則表,兩個(gè)表項(xiàng)之間通過設(shè)備的ID號相連接。
故障信息表包含故障診斷專家系統(tǒng)中的設(shè)備、設(shè)備節(jié)點(diǎn)號、故障信息、故障原因及故障解決措施等診斷對象的參數(shù)信息,見表1。
表1 故障信息表Tab.1 Fault information table
規(guī)則表描述了整個(gè)故障樹的層級關(guān)系,包含當(dāng)前節(jié)點(diǎn)的參數(shù)信息以及相對應(yīng)的父節(jié)點(diǎn)號、測試規(guī)則、測試方式、系統(tǒng)號、測試名稱以及測試方案,見表2。故障樹依靠規(guī)則表中的節(jié)點(diǎn)號及父節(jié)點(diǎn)號之間的關(guān)系以及層次號構(gòu)建。
表2 規(guī)則表Tab.2 Rule table
推理機(jī)在知識庫的基礎(chǔ)上進(jìn)行推導(dǎo)[10],本文采用的知識表示方式是“產(chǎn)生式規(guī)則[11]”,主要形式為“IF-THEN”。在進(jìn)行故障診斷時(shí),根據(jù)用戶選擇的故障現(xiàn)象,模擬該領(lǐng)域?qū)<医鉀Q問題時(shí)的思維過程,去知識庫中查找對應(yīng)的測試規(guī)則,采用正向推理的方式對該故障進(jìn)行推理,求解故障源。
服務(wù)器端為客戶端提供服務(wù),客戶端僅負(fù)責(zé)數(shù)據(jù)的收發(fā)及顯示,數(shù)據(jù)處理工作均在服務(wù)端。文中采用Mysql數(shù)據(jù)庫作為后臺數(shù)據(jù)庫,使用第三方的類庫Okhttp來處理相關(guān)的網(wǎng)絡(luò)請求。為了提升代碼的復(fù)用性,將Okhttp有關(guān)請求操作均封裝在OkhttpUtils類中。封裝過后,對于一般的get請求行為,客戶端希望直接給一個(gè)URL地址,在其回調(diào)函數(shù)中,直接對服務(wù)器返回的數(shù)據(jù)做相應(yīng)的處理。
客戶端主要由3部分功能模塊構(gòu)成:故障診斷模塊、知識庫維護(hù)模塊和用戶管理模塊,系統(tǒng)功能模塊如圖3所示。
圖3 系統(tǒng)功能模塊圖Fig.3 System function module diagram
故障診斷模塊是故障診斷專家系統(tǒng)的主要功能。在進(jìn)行故障診斷時(shí),按照經(jīng)驗(yàn)對故障現(xiàn)象進(jìn)行判斷,若不能直接定位故障源,需根據(jù)當(dāng)前故障癥狀進(jìn)行故障范圍分離,用戶根據(jù)提示的故障范圍選擇一個(gè)故障癥狀。若故障癥狀不明顯,直接進(jìn)行下一步故障分離,系統(tǒng)提示進(jìn)行檢測,通過檢測采集有關(guān)故障癥狀,根據(jù)專家知識進(jìn)行決策判斷故障范圍的分離。若分離確定的故障范圍是系統(tǒng)要求的故障源,則進(jìn)入解釋推理過程和提交維修措施。若不能達(dá)到故障診斷要求的分離深度,則反復(fù)進(jìn)行此分離過程。診斷推理過程如圖4所示。
圖4 故障診斷的診斷推理過程Fig.4 Diagnosis and reasoning process of fault diagnosis
知識庫維護(hù)模塊負(fù)責(zé)維護(hù)知識庫中的知識。在對知識庫進(jìn)行維護(hù)時(shí),需要保證數(shù)據(jù)來源的準(zhǔn)確性,因此此操作需要由相關(guān)的領(lǐng)域?qū)<摇⒅R工程師以及系統(tǒng)的管理員共同完成。
用戶管理主要是為管理不同類型用戶的操作權(quán)限,在登陸系統(tǒng)時(shí),需要提供正確的用戶名及密碼才可進(jìn)入系統(tǒng)。
現(xiàn)代大型的武器系統(tǒng)結(jié)構(gòu)復(fù)雜,一般均由若干個(gè)分系統(tǒng)組成,各個(gè)系統(tǒng)的結(jié)構(gòu)、功能各不相同,各個(gè)分系統(tǒng)和子系統(tǒng)之間又相互聯(lián)系、互相耦合。因其造價(jià)昂貴及任務(wù)使命的特殊性,系統(tǒng)的任何故障均可能導(dǎo)致不可預(yù)料的后果。以某型號武器系統(tǒng)為例,該系統(tǒng)包含方向指揮車系統(tǒng)、防空通用指揮車系統(tǒng)及偵查車系統(tǒng)等分系統(tǒng),各個(gè)分系統(tǒng)之間錯(cuò)綜復(fù)雜,協(xié)調(diào)進(jìn)行作戰(zhàn)指揮、互聯(lián)互通、輔助決策,共同完成防空作戰(zhàn)任務(wù)。雖然各個(gè)分系統(tǒng)的功能和作用各不相同,但其結(jié)構(gòu)構(gòu)成相似,在進(jìn)行故障檢測時(shí)需要解決的問題相似,因此又具有共性及典型性。
文中以某型號武器系統(tǒng)為例,實(shí)現(xiàn)了基于Android平臺的武器故障診斷專家系統(tǒng)。該故障診斷專家系統(tǒng)利用良好的人機(jī)交互界面協(xié)助操作人員完成對武器裝備的故障診斷。采用圖表、視頻及文字等多種表達(dá)方式以便于使用者在故障診斷過程中快速定位至故障源,并給出詳細(xì)的故障解決措施。在進(jìn)行故障診斷與推理時(shí),采用故障分離樹的顯示形式,對所描述的事件之間的邏輯關(guān)系進(jìn)行深入的定性及定量分析。故障診斷的推理和結(jié)果界面如圖5所示。
圖5 某武器故障診斷專家系統(tǒng)推理界面Fig.5 Reasoning Interface of a weapon fault diagnosis expert system
傳統(tǒng)的武器故障診斷專家系統(tǒng)基本均以單機(jī)模式實(shí)現(xiàn),隨著診斷對象的增多及其分布的廣泛性,知識庫會愈發(fā)龐大,造成知識管理及擴(kuò)展困難,不能及時(shí)獲取最新的領(lǐng)域知識,很難實(shí)現(xiàn)知識共享。且單機(jī)模式的故障診斷不能實(shí)現(xiàn)多個(gè)專家系統(tǒng)協(xié)同工作,重用率極低。相較而言,文中基于移動(dòng)設(shè)備的故障診斷專家系統(tǒng)可以借助移動(dòng)互聯(lián)網(wǎng)技術(shù)快速實(shí)時(shí)的更新知識庫,保障了知識庫的先進(jìn)性,并且可實(shí)現(xiàn)多個(gè)專家系統(tǒng)以及其他軍事保障系統(tǒng)之間的互聯(lián)互通,提高故障診斷的準(zhǔn)確性。
文中設(shè)計(jì)并實(shí)現(xiàn)了基于Android平臺的武器故障診斷專家系統(tǒng),通過Okhttp框架實(shí)現(xiàn)Android系統(tǒng)客戶端與服務(wù)器之間的通信,使用Mysql數(shù)據(jù)庫搭建專家系統(tǒng)知識庫,以某武器為例對該系統(tǒng)進(jìn)行系統(tǒng)測試及使用。測試結(jié)果表明,系統(tǒng)設(shè)計(jì)方案可行,人機(jī)界面交互性強(qiáng)、操作簡單,并采用圖片、圖表、音頻以及視頻等多媒體技術(shù)相結(jié)合的顯示方式,保障故障診斷的準(zhǔn)確性,提高故障診斷系統(tǒng)的安全性能。
文中故障診斷系統(tǒng)可打破傳統(tǒng)PC端診斷模式的局限性與地域性限制,可讓戶外工作人員隨時(shí)隨地訪問知識庫,對武器裝備進(jìn)行故障診斷操作,提高了故障診斷的實(shí)時(shí)性和便利性。該成果對未來的武器裝備領(lǐng)域的故障診斷專家系統(tǒng)的發(fā)展及研究有重要意義,并適合推廣其他領(lǐng)域的故障診斷。