吳 偉,張 威,潘順良,李鴻飛,楊 碩
(中國(guó)空間技術(shù)研究院 載人航天總體部,北京 100094)
載人航天器電測(cè)是指對(duì)器上設(shè)備的電氣功能和性能指標(biāo)的測(cè)試[1]。為了驗(yàn)證載人航天器的各項(xiàng)性能和功能是否滿足設(shè)計(jì)要求,并考核載人航天器上硬件設(shè)備和軟件程序的可靠性,在其發(fā)射之前需要進(jìn)行長(zhǎng)時(shí)間的電測(cè)。載人航天器結(jié)構(gòu)復(fù)雜、分系統(tǒng)多,在每次測(cè)試過程中都會(huì)產(chǎn)生大量的測(cè)試數(shù)據(jù)。人工判讀這些數(shù)據(jù)的正確性將耗費(fèi)大量的人力,因此在載人航天器的電測(cè)過程中引入了自動(dòng)判讀系統(tǒng)。
自動(dòng)判讀系統(tǒng)利用現(xiàn)有的計(jì)算機(jī)技術(shù),實(shí)時(shí)監(jiān)視和分析載人航天器的遙測(cè)數(shù)據(jù),并依據(jù)已經(jīng)錄入計(jì)算機(jī)的知識(shí)和規(guī)則,自動(dòng)地進(jìn)行數(shù)據(jù)的判讀。這不僅極大地減輕了測(cè)試人員的判讀負(fù)擔(dān),也提高了數(shù)據(jù)判讀的準(zhǔn)確性,提升了發(fā)現(xiàn)載人航天器潛在故障的能力。
目前自動(dòng)判讀系統(tǒng)已經(jīng)全面應(yīng)用于載人航天器各個(gè)型號(hào)的電測(cè)過程中,發(fā)現(xiàn)了一些靠人工判讀難以發(fā)現(xiàn)的錯(cuò)誤,發(fā)揮了很大的作用。本文介紹目前在載人航天器電測(cè)過程中使用的自動(dòng)判讀系統(tǒng),并對(duì)采用的方案和取得的效果進(jìn)行討論。
載人航天器電測(cè)中采用的自動(dòng)判讀系統(tǒng)是專家系統(tǒng)的一種應(yīng)用。專家系統(tǒng)是人工智能領(lǐng)域的研究熱點(diǎn)[2-3],在世界范圍內(nèi)都得到了廣泛的應(yīng)用,是人工智能從理論研究走向?qū)嶋H應(yīng)用的成功案例。自1984年美國(guó)航空航天局開始大規(guī)模引入人工智能技術(shù)開始,世界各地的航天機(jī)構(gòu)都陸續(xù)開始在航天器研制的各個(gè)階段進(jìn)行專家系統(tǒng)的開發(fā)和應(yīng)用,并收到了很好的效果[4-8]。
基本的專家系統(tǒng)由知識(shí)庫(kù)和推理機(jī)構(gòu)成,其一般實(shí)現(xiàn)中還包含有知識(shí)獲取模塊和結(jié)論顯示模塊[9]。與此類似,目前載人航天器電測(cè)中采用的自動(dòng)判讀系統(tǒng)的構(gòu)成包括:判讀數(shù)據(jù)庫(kù),判讀推理機(jī),結(jié)論存儲(chǔ)引擎,知識(shí)管理客戶端和結(jié)論顯示客戶端,其系統(tǒng)設(shè)計(jì)如圖1所示。
圖1 自動(dòng)判讀系統(tǒng)結(jié)構(gòu)示意圖Fig.1 Structure of the automatic diagnostic system
自動(dòng)判讀系統(tǒng)各組成部分的功能如下。
1)判讀數(shù)據(jù)庫(kù):存放判讀所需要的知識(shí)(由判讀規(guī)則組成)、判讀推理機(jī)得出的判讀結(jié)論以及所測(cè)試載人航天器的基本信息(如指令和參數(shù)信息等)。在工作過程中,判讀數(shù)據(jù)庫(kù)為判讀推理機(jī)提供判讀知識(shí)和其他基本信息,接收結(jié)論存儲(chǔ)引擎發(fā)送來的判讀結(jié)論并加以存儲(chǔ),為各個(gè)結(jié)論顯示客戶端提供歷史判讀結(jié)論的查詢服務(wù),并能夠存儲(chǔ)結(jié)論顯示客戶端對(duì)歷史判讀結(jié)論的分析信息。此外,判讀數(shù)據(jù)庫(kù)為知識(shí)管理客戶端提供判讀知識(shí),并接收知識(shí)管理客戶端對(duì)判讀知識(shí)的修改、添加與刪除。
2)判讀推理機(jī):負(fù)責(zé)從判讀數(shù)據(jù)庫(kù)獲得判讀知識(shí)并加以解析,處理網(wǎng)絡(luò)發(fā)送來的參數(shù)代號(hào)和工程值以及指令發(fā)送信息,得出判讀的結(jié)論,將判讀結(jié)論發(fā)送給結(jié)論存儲(chǔ)引擎,并通過測(cè)試局域網(wǎng)廣播給各個(gè)結(jié)論顯示客戶端。
3)結(jié)論存儲(chǔ)引擎:負(fù)責(zé)處理判讀推理機(jī)發(fā)出的判讀結(jié)論,并將處理后的結(jié)論存入判讀數(shù)據(jù)庫(kù)。判讀推理機(jī)發(fā)出的判讀結(jié)論數(shù)據(jù)量巨大,但是實(shí)際應(yīng)用中測(cè)試人員需要注意的僅是判讀出錯(cuò)以及判讀由錯(cuò)變對(duì)的相關(guān)信息。結(jié)論存儲(chǔ)引擎就負(fù)責(zé)從判讀推理機(jī)發(fā)出的大量判讀結(jié)論中提取出這兩部分信息,并按照數(shù)據(jù)庫(kù)需要的格式存入判讀數(shù)據(jù)庫(kù)。
4)知識(shí)管理客戶端:提供人機(jī)交互界面,從判讀數(shù)據(jù)庫(kù)中獲取判讀知識(shí)并將其顯示給用戶,同時(shí)為用戶提供修改判讀知識(shí)的接口。知識(shí)管理客戶端的主要功能包括判讀規(guī)則編輯、規(guī)則檢查、規(guī)則查詢、規(guī)則的批量導(dǎo)入導(dǎo)出等,能支持用戶對(duì)判讀知識(shí)進(jìn)行便捷的修改、添加和刪除。
5)結(jié)論顯示客戶端:提供人機(jī)交互界面,主要包括實(shí)時(shí)判讀結(jié)論顯示和歷史判讀結(jié)論查詢功能。實(shí)時(shí)判讀結(jié)論顯示功能是指實(shí)時(shí)將判讀推理機(jī)得出的判讀結(jié)論顯示在界面上,并提供出錯(cuò)時(shí)的報(bào)警,提醒測(cè)試人員對(duì)當(dāng)前出現(xiàn)的錯(cuò)誤進(jìn)行處理;歷史判讀結(jié)論查詢功能是指測(cè)試人員可以方便地查看某一段時(shí)間內(nèi)的歷史判讀結(jié)論,并能夠?yàn)檫@些歷史判讀結(jié)論填寫分析信息。
對(duì)于專家系統(tǒng)而言,知識(shí)庫(kù)與推理機(jī)是其主要組成部分[10],也是設(shè)計(jì)的重點(diǎn)和難點(diǎn)。在載人航天器所使用的這套自動(dòng)判讀系統(tǒng)中,判讀知識(shí)和判讀推理機(jī)的設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的核心。
此自動(dòng)判讀系統(tǒng)中,判讀知識(shí)采用了航天器測(cè)試常用的“條件+期望值”表達(dá)法,用產(chǎn)生式規(guī)則的形式表示判讀知識(shí),并采取正向推理的策略運(yùn)用判讀知識(shí)。一個(gè)參數(shù)或者指令的判讀知識(shí)一般由若干條判讀規(guī)則組成,每條判讀規(guī)則由規(guī)則關(guān)鍵字、前件及后件等部分組成,其形式為“If前件 Then后件;”。其中,“If”和“Then”為規(guī)則關(guān)鍵字,前件表示判讀的條件,后件給出了判讀的結(jié)論,每條判讀規(guī)則以“;”符號(hào)結(jié)尾。在一條判讀規(guī)則中,前件可以為空,表示此判據(jù)無須其他判決條件,但是后件必須存在。當(dāng)前件為空時(shí),“If”和“Then”規(guī)則關(guān)鍵字不用給出。
規(guī)則的前件為判據(jù)的條件部分,其既可以是一條單獨(dú)的布爾表達(dá)式(如“A001>9”),也可以是幾個(gè)布爾表達(dá)式的邏輯組合。目前自動(dòng)判讀系統(tǒng)的知識(shí)表達(dá)支持“與”邏輯(關(guān)鍵字為“&”)、“或”邏輯(關(guān)鍵字為“||”)和“非”邏輯(關(guān)鍵字為“!”),而布爾表達(dá)式則支持<,<=,>,>=,==,!=等常用的關(guān)系運(yùn)算符和加減乘除等常用的數(shù)學(xué)運(yùn)算符。
規(guī)則的后件為判據(jù)的結(jié)論部分,目前自動(dòng)判讀系統(tǒng)中后件主要有以下4種表達(dá)方式:
1)期望范圍表示。如“IfA001>9 ThenEL=0,EU=4;”,其中“EL”和“EU”分別為表示期望下限和期望上限的關(guān)鍵字。此表達(dá)式表示當(dāng)參數(shù)A001的值大于9時(shí),如果所判參數(shù)的取值在0~4之間則為正確,否則為錯(cuò)誤。
2)期望值與誤差范圍。如“IfB001>9 ThenB002.EV=12,ERR=1;”,其中“EV”和“ERR”分別為表示參數(shù)值和誤差范圍的關(guān)鍵字。此表達(dá)式表示當(dāng)參數(shù)B001的值大于9時(shí),若參數(shù)B002的取值范圍在12±1內(nèi)時(shí)為正確,否則為錯(cuò)誤。
3)期望規(guī)律表示。如“IfC001>9 ThenRET=incp(1,0,50)”,其中“RET”和“incp”分別為表示規(guī)則返回值和遞增函數(shù)的關(guān)鍵字。此表達(dá)式表示當(dāng)參數(shù)C001的值大于9時(shí),參數(shù)值若以步長(zhǎng)1在0~50的范圍內(nèi)周期性遞增變化,則為正確,否則為錯(cuò)誤。期望規(guī)律一般由函數(shù)表述,如此例中所述的“incp”函數(shù)。
4)直接返回判斷結(jié)論。如“IfD001>9 ThenRET=1”,則表示當(dāng)參數(shù)D001的值大于9時(shí),結(jié)論正確。在直接返回判斷結(jié)論時(shí),需要注意結(jié)論返回的完備性,同時(shí)要考慮到何時(shí)返回錯(cuò)誤、何時(shí)返回正確,因此使用直接返回判斷結(jié)論方式表示判讀知識(shí)時(shí),往往由幾條判斷規(guī)則共同組成。
由以上4種后件表達(dá)方式可以看出,前2種的后件中是一個(gè)期望表達(dá)式,而后2種的后件則直接給出了結(jié)論的返回值。實(shí)際上所有用期望表達(dá)式表達(dá)的后件都可以轉(zhuǎn)化為直接給出結(jié)論的方式,但是使用期望表達(dá)式往往更為簡(jiǎn)潔。
目前,自動(dòng)判讀系統(tǒng)的判讀知識(shí)表達(dá)除了支持常用的數(shù)學(xué)運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符以外,還支持遞增、遞減、差值、按位取值、正弦、余弦、正切等常用的函數(shù)和表達(dá),使得載人航天器專家的知識(shí)可以順利地轉(zhuǎn)化為判讀知識(shí),實(shí)現(xiàn)了較好的知識(shí)覆蓋。
判讀推理機(jī)是整個(gè)自動(dòng)判讀系統(tǒng)的核心,其推理能力直接影響到自動(dòng)判讀的有效性與實(shí)時(shí)性。目前,載人航天器電測(cè)所采用的自動(dòng)判讀推理機(jī)的工作流程如圖2所示。
圖2 判讀推理機(jī)工作流程示意圖Fig.2 The flow chart of the diagnostic inference engine
由圖2可知,判讀推理機(jī)啟動(dòng)后首先從判讀數(shù)據(jù)庫(kù)中加載并解析判讀知識(shí),得出判讀所需的規(guī)則,并讀入所測(cè)航天器的參數(shù)和指令的相關(guān)信息,接著進(jìn)入等待接收數(shù)據(jù)狀態(tài)。若接收到了網(wǎng)絡(luò)發(fā)送來的測(cè)試數(shù)據(jù),首先判斷數(shù)據(jù)是遙測(cè)參數(shù)、設(shè)備數(shù)據(jù)還是遙控指令信息,并分別更新參數(shù)列表、執(zhí)行指令作用效果,接著匹配規(guī)則并執(zhí)行參數(shù)判讀、指令判讀、指令監(jiān)視和事件判讀(參數(shù)判讀、指令判讀、指令監(jiān)視和事件判讀的詳細(xì)含義將在4.1節(jié)給出)。得出判讀結(jié)論后,判讀推理機(jī)將判讀結(jié)論發(fā)送給結(jié)論存儲(chǔ)引擎,并以廣播的方式發(fā)送到測(cè)試局域網(wǎng)供結(jié)論顯示客戶端使用。
自動(dòng)判讀系統(tǒng)所采用的判讀推理機(jī)充分考慮了載人航天器測(cè)試的特點(diǎn),用遙測(cè)參數(shù)、遙控指令等信息驅(qū)動(dòng)判讀規(guī)則匹配,得到了較好的效果,判讀結(jié)論的準(zhǔn)確性高、實(shí)時(shí)性好。
根據(jù)載人航天器電測(cè)的特點(diǎn),自動(dòng)判讀系統(tǒng)除了實(shí)現(xiàn)對(duì)航天器參數(shù)的判讀外,還實(shí)現(xiàn)了指令判讀、事件判讀和指令監(jiān)視等功能。
1)參數(shù)判讀
參數(shù)判讀主要監(jiān)視載人航天器在電測(cè)過程中遙測(cè)下傳的各種參數(shù),如溫度值、氣壓值、電壓值等。由于指令的發(fā)送、飛行模式的改變等都會(huì)對(duì)航天器上的參數(shù)產(chǎn)生影響,所以需要將這些影響因素寫入規(guī)則表達(dá)式的前件;此外,有時(shí)雖然指令已經(jīng)發(fā)送,但是對(duì)于某些參數(shù)的影響需要延遲一段時(shí)間才會(huì)顯現(xiàn)出來,因此判讀知識(shí)中還包含有與指令相關(guān)的延遲判讀信息。
2)指令判讀
指令判讀主要監(jiān)視指令發(fā)送后其執(zhí)行效果是否正常。當(dāng)一條指令被發(fā)送后,一般會(huì)導(dǎo)致相關(guān)參數(shù)的變化,指令判讀就是通過監(jiān)視這些參數(shù),來判讀指令是否被成功執(zhí)行。
3)事件判讀
模擬飛行試驗(yàn)是航天器測(cè)試中不可缺少的一部分。在模擬飛行試驗(yàn)中,指令是按照預(yù)先設(shè)定的時(shí)間順序自動(dòng)發(fā)送的。事件判讀的目的是監(jiān)視模擬飛行試驗(yàn)中指令的發(fā)送和執(zhí)行情況。它以指令判讀的知識(shí)為基礎(chǔ),并根據(jù)模擬飛行試驗(yàn)已經(jīng)設(shè)定好的指令發(fā)送時(shí)間來監(jiān)視指令的作用效果,以判讀出指令發(fā)送的時(shí)間是否準(zhǔn)確、執(zhí)行是否正常。
4)指令監(jiān)視
指令判讀是在已知指令發(fā)送的情況下判讀指令的作用效果是否正常。而指令監(jiān)視與指令判讀不同,是指在不知道指令發(fā)送的情況下,通過航天器上遙測(cè)下傳的各種參數(shù)值來判斷這些參數(shù)的值是否和某條指令發(fā)送后導(dǎo)致的執(zhí)行效果一致,從而逆向推導(dǎo)出可能的指令發(fā)送。指令監(jiān)視是通過遍歷所有指令的執(zhí)行效果來實(shí)現(xiàn)的,其目的在于監(jiān)視航天器上指令的發(fā)送情況,及時(shí)發(fā)現(xiàn)和消除設(shè)備故障及誤操作。
目前,參數(shù)判讀、指令判讀、事件判讀和指令監(jiān)視等功能都已經(jīng)在載人航天器的日常應(yīng)用中發(fā)揮了重要作用,雖然還未完全取代人工判讀,但是已經(jīng)為測(cè)試人員提供了另一種方便可靠的判讀依據(jù)。在已經(jīng)開展的載人航天器各型號(hào)的測(cè)試中,自動(dòng)判讀系統(tǒng)發(fā)現(xiàn)了人工判讀難以發(fā)現(xiàn)的參數(shù)跳變等問題,提升了載人航天器測(cè)試的有效性。
此外,目前自動(dòng)判讀系統(tǒng)中的判讀知識(shí)組織清晰、繼承性好,采用數(shù)據(jù)庫(kù)技術(shù)后轉(zhuǎn)移和沿用十分方便,同系列載人航天器判讀知識(shí)的沿用比例接近 100%,極大地節(jié)省了人力物力。隨著系列型號(hào)電測(cè)的不斷進(jìn)行,自動(dòng)判讀知識(shí)得以不斷改進(jìn)和積累,知識(shí)的準(zhǔn)確性和覆蓋率得到穩(wěn)步提升。
經(jīng)過多年的發(fā)展,自動(dòng)判讀系統(tǒng)已經(jīng)彌補(bǔ)了人工判讀的很多不足,取得了良好的效果。自動(dòng)判讀系統(tǒng)的參數(shù)判讀、指令判讀、事件判讀和指令監(jiān)視等功能方便實(shí)用,為載人航天器的測(cè)試提供了有效的支撐手段。隨著判讀功能和判讀知識(shí)的不斷完善,自動(dòng)判讀系統(tǒng)將在未來的載人航天器測(cè)試中發(fā)揮更加重要的作用。
(References)
[1]王慶成.航天器電測(cè)技術(shù)[M].北京: 中國(guó)科學(xué)技術(shù)出版社, 2007: 20
[2]吳鶴齡.專家系統(tǒng)工具 CLIPS 及其應(yīng)用[M].北京理工大學(xué)出版社, 1991: 1
[3]Liao S H.Expert system methodologies and applications—a decade review from 1995 to 2004[J].Expert Systems with Applications, 2005, 28(1): 93-103
[4]Finke K, Jarke M, Soltysiak R.Testing expert systems in process control[J].IEEE Trans on Knowledge and Data Engineering, 1989: 11-15
[5]Johnson L, Keravnou E T.Expert systems architectures[M].London: Kogan Page Ltd., 1988: 12-13
[6]張純良, 張振鵬, 楊爾輔, 等.空間推進(jìn)系統(tǒng)故障診斷專家系統(tǒng)研究[J].航空動(dòng)力學(xué)報(bào), 2004, 19(5): 718-723
Zhang Chunliang, Zhang Zhenpeng, Yang Erfu, et al.Research on fault diagnosis expert system of space propulsion system[J].Journal of Aerospace Power,2004, 19(5): 718-723
[7]Sell P S.Expert systems—a practical introduction[M].New York: Macmillan, 1985: 11-15
[8]Rolston D W.Principles of artificial intelligence and expert systems development[M].New York: McGraw-Hall, 1988: 22-23
[9]劉鋒, 夏春先, 黃振和.基于人工神經(jīng)網(wǎng)絡(luò)的故障診斷專家系統(tǒng)[J].國(guó)外電子測(cè)量技術(shù), 2004(4): 34-37
Liu Feng, Xia Chunxian, Huang Zhenhe.Fault diagnosis expert system based on the artificial neural network[J].Foreign Electronic Measurement Technology,2004(4): 34-37
[10]張煜東, 吳樂南, 王水花.專家系統(tǒng)發(fā)展綜述[J].計(jì)算機(jī)工程與應(yīng)用, 2010, 46(19): 43-47
Zhang Yudong, Wu Le’nan, Wang Shuihua.Survey on development of expert system[J].Computer Engineering and Applications, 2010, 46(19): 43-47