李五一, 閆楚良, 田兆鋒, 孟慶瑞
(北京飛機(jī)強(qiáng)度研究所 北京,100083)
載荷譜是飛機(jī)定壽、延壽和結(jié)構(gòu)可靠性設(shè)計(jì)的基礎(chǔ),為獲取載荷譜必須進(jìn)行大量的實(shí)測(cè)飛行,取得能夠代表真實(shí)情況的典型載荷-時(shí)間歷程。早期數(shù)據(jù)處理大量采用人工計(jì)數(shù)處理的方式,這種辦法顯然不能滿足現(xiàn)代載荷譜測(cè)量的需要。從20世紀(jì)70年代開(kāi)始,計(jì)算機(jī)作為輔助的數(shù)據(jù)處理手段被引入到飛機(jī)載荷譜數(shù)據(jù)處理中,隨著測(cè)試技術(shù)和設(shè)備的發(fā)展,數(shù)據(jù)量呈現(xiàn)爆炸式的增長(zhǎng),采集的數(shù)據(jù)具有類型復(fù)雜、數(shù)據(jù)量大的特點(diǎn),對(duì)于不同的機(jī)型,采集參數(shù)不同,數(shù)據(jù)結(jié)構(gòu)也不相同[1-4],單一的數(shù)據(jù)處理工具Excel,Matlab根本無(wú)法滿足用戶的需求,數(shù)據(jù)可視化技術(shù)的發(fā)展為存儲(chǔ)、組織和管理、分析和處理海量數(shù)據(jù)提供了一條有效地技術(shù)途徑。
近年來(lái),隨著計(jì)算機(jī)技術(shù)特別是圖形學(xué)技術(shù)的迅猛發(fā)展,可視化技術(shù)涵蓋了更廣泛的內(nèi)容,出現(xiàn)了數(shù)據(jù)可視化的概念。數(shù)據(jù)可視化(data visualization)技術(shù)指的是運(yùn)用計(jì)算機(jī)圖形學(xué)和圖像處理技術(shù),將數(shù)據(jù)轉(zhuǎn)換為圖形、圖像在屏幕上顯示出來(lái),并進(jìn)行交互處理的理論、方法和技術(shù)。它涉及到計(jì)算機(jī)圖形學(xué)、圖像處理、計(jì)算機(jī)輔助設(shè)計(jì)、計(jì)算機(jī)視覺(jué)及人機(jī)交互技術(shù)等多個(gè)領(lǐng)域,成為研究數(shù)據(jù)表示、數(shù)據(jù)處理、決策分析等一系列問(wèn)題的綜合技術(shù)[5-7]。利用數(shù)據(jù)可視化技術(shù)可將飛機(jī)載荷譜實(shí)測(cè)數(shù)據(jù)及相關(guān)信息的處理及分析方法與先進(jìn)的圖形技術(shù)結(jié)合起來(lái),形象地表達(dá)數(shù)據(jù)和計(jì)算結(jié)果,從而加快數(shù)據(jù)處理效率。數(shù)據(jù)可視化技術(shù)可以使用圖形、曲線等方式顯示實(shí)測(cè)數(shù)據(jù),使用戶對(duì)數(shù)據(jù)的有效性判斷更準(zhǔn)確,剖析更清晰;數(shù)據(jù)可視化技術(shù)能夠?yàn)樘幚頂?shù)據(jù)提供人機(jī)交互的手段,實(shí)現(xiàn)用戶與計(jì)算機(jī)之間交流與反饋的機(jī)制,是將專家知識(shí)與經(jīng)驗(yàn)作用于計(jì)算機(jī)的橋梁;數(shù)據(jù)可視化技術(shù)可以以三維圖形動(dòng)態(tài)模擬飛機(jī)和儀表在飛行時(shí)的實(shí)際狀態(tài),直觀準(zhǔn)確地反映飛機(jī)的實(shí)際飛行姿態(tài)和飛行過(guò)程、駕駛艙儀表實(shí)際工作情況等,真實(shí)再現(xiàn)飛行過(guò)程。如果能充分利用數(shù)據(jù)可視化技術(shù)豐富的圖形表達(dá)能力,在準(zhǔn)確表達(dá)原始數(shù)據(jù)的基礎(chǔ)上,通過(guò)人機(jī)交互融入用戶自身的專家知識(shí)與經(jīng)驗(yàn),能夠達(dá)到快速準(zhǔn)確地分析處理飛機(jī)載荷譜數(shù)據(jù)的目的[8-9]。
飛機(jī)載荷譜數(shù)據(jù)具有數(shù)據(jù)量大、類型復(fù)雜等特點(diǎn)[10-11],根據(jù)飛機(jī)載荷譜數(shù)據(jù)資源特點(diǎn)提出了 3層結(jié)構(gòu)模型:a.底層數(shù)據(jù)層;b.中間語(yǔ)言層;c.頂層用戶端,如圖1所示。
圖1 數(shù)據(jù)可視化3層結(jié)構(gòu)模型
底層數(shù)據(jù)層是數(shù)據(jù)可視化數(shù)據(jù)準(zhǔn)備階段,是數(shù)據(jù)存儲(chǔ)的地方,提供飛機(jī)載荷譜實(shí)測(cè)數(shù)據(jù)和描述性的文檔。由于實(shí)測(cè)數(shù)據(jù)量很大,全部數(shù)據(jù)可能分布在多臺(tái)服務(wù)器上存儲(chǔ)和管理,形成了實(shí)測(cè)數(shù)據(jù)存儲(chǔ)服務(wù)器組,而非結(jié)構(gòu)化數(shù)據(jù)分布在文檔存儲(chǔ)服務(wù)器上,可以針對(duì)不同的應(yīng)用選取不同的數(shù)據(jù)源。
中間語(yǔ)言層是數(shù)據(jù)可視化設(shè)計(jì)的關(guān)鍵部位,針對(duì)飛機(jī)載荷譜數(shù)據(jù)資源的特點(diǎn)設(shè)計(jì)了柔性數(shù)據(jù)層(flexible data layer,簡(jiǎn)稱FDL)。柔性數(shù)據(jù)層是為了適應(yīng)不同格式飛機(jī)實(shí)測(cè)數(shù)據(jù)文件而實(shí)現(xiàn)的一個(gè)抽象層,完成頂層用戶端與底層數(shù)據(jù)層之間的交互訪問(wèn)操作,將用戶操作和數(shù)據(jù)庫(kù)訪問(wèn)相隔離。柔性數(shù)據(jù)層FDL的具體結(jié)構(gòu)如圖 2所示。
柔性數(shù)據(jù)層 FDL包括以下幾部分:
1)底層的 FDL Interface文件接口層:配合不同的數(shù)據(jù)描述文件,實(shí)現(xiàn)不同結(jié)構(gòu)文件的實(shí)測(cè)數(shù)據(jù)的物理讀取;
圖2 柔性數(shù)據(jù)層結(jié)構(gòu)圖
2)物理量轉(zhuǎn)換層:將測(cè)量碼值根據(jù)標(biāo)定數(shù)據(jù)處理結(jié)果轉(zhuǎn)換為物理量,內(nèi)含轉(zhuǎn)換公式解釋器,提供使用文本形式配置轉(zhuǎn)換公式的能力;
3)當(dāng)量修正層:將物理量進(jìn)行當(dāng)量修正等的轉(zhuǎn)換,得到真實(shí)的物理量;
4)虛擬參數(shù):又稱為導(dǎo)出參數(shù),該參數(shù)并沒(méi)有真正地測(cè)量,可以通過(guò)一個(gè)或多個(gè)實(shí)測(cè)參數(shù)經(jīng)過(guò)計(jì)算導(dǎo)出,但對(duì)頂層應(yīng)用軟件,就像是真實(shí)測(cè)量的參數(shù)一樣,故稱為虛擬參數(shù);
5)用戶自定義插件 DLL:對(duì)于虛擬參數(shù)無(wú)法描述,或者計(jì)算方法比較特殊的自定義參數(shù),還提供了DLL插件規(guī)范和模板,用戶按照規(guī)范書(shū)寫(xiě),包含相應(yīng)格式計(jì)算函數(shù)的 DLL既可進(jìn)行擴(kuò)充;
6)SmartRT動(dòng)態(tài)數(shù)據(jù)接口:用于讀取各種采集設(shè)備所傳送的動(dòng)態(tài)數(shù)據(jù)流;
7)應(yīng)用編程接口(API):使得在 FDL基礎(chǔ)上開(kāi)發(fā)的數(shù)據(jù)處理程序使用統(tǒng)一的模式對(duì)數(shù)據(jù)進(jìn)行讀取,而不再需要考慮物理數(shù)據(jù)文件格式的不同。
數(shù)據(jù)錄入存儲(chǔ)并經(jīng)過(guò)中間語(yǔ)言層的邏輯分析后,被頂層用戶端程序調(diào)用,以曲線或圖形的方式顯示相應(yīng)的數(shù)據(jù)信息,即數(shù)據(jù)可視化的結(jié)果,本系統(tǒng)的窗口界面是多窗口界面,包括飛行歷程可視化窗口、標(biāo)定數(shù)據(jù)采集界面、實(shí)測(cè)數(shù)據(jù)顯示窗口等,通過(guò)多線程處理在同一時(shí)間調(diào)用不同的窗口進(jìn)行可視化觀察。
各種飛機(jī)載荷譜實(shí)測(cè)試驗(yàn),測(cè)試的參數(shù)數(shù)量、類型都是不一樣的,因此,其記錄的數(shù)據(jù)格式各不相同。在載荷譜測(cè)試項(xiàng)目中,根據(jù)測(cè)試目的的不同,各種不同的參數(shù)也使用不同的采樣頻率來(lái)進(jìn)行記錄。為了處理不同飛機(jī)測(cè)試項(xiàng)目產(chǎn)生不同的數(shù)據(jù)文件格式,提出了載荷譜通用數(shù)據(jù)接口技術(shù),建立的 FDL柔性數(shù)據(jù)層,以 C++類庫(kù)的形式提供給其他開(kāi)發(fā)者使用,FDL提供了一組類和使用函數(shù),提供了一個(gè)規(guī)范的數(shù)據(jù)讀寫(xiě)查詢接口,稱為應(yīng)用編程接口(application programming interface,簡(jiǎn)稱 API)。這使得在 FDL基礎(chǔ)上開(kāi)發(fā)的數(shù)據(jù)處理程序使用統(tǒng)一的模式對(duì)數(shù)據(jù)進(jìn)行讀取,而不再需要考慮物理數(shù)據(jù)文件格式的不同。
在實(shí)測(cè)數(shù)據(jù)處理平臺(tái)中載入飛行實(shí)測(cè)起落的數(shù)據(jù),同時(shí)打開(kāi)飛行姿態(tài)模擬仿真的窗口,用戶可以交互地自由切換不同的視角對(duì)飛機(jī)進(jìn)行觀察,在飛機(jī)動(dòng)作的判讀、飛機(jī)狀態(tài)與載荷關(guān)聯(lián)分析、載荷譜實(shí)測(cè)飛行科目有效性判讀方面具有重要的應(yīng)用價(jià)值。采用OpenGL三維仿真技術(shù)開(kāi)發(fā)飛行過(guò)程的可視化仿真模塊,創(chuàng)建多種型號(hào)飛機(jī)的3D模型。
數(shù)據(jù)可視化將實(shí)測(cè)數(shù)據(jù)及計(jì)算結(jié)果轉(zhuǎn)換為圖形圖像在屏幕上顯示出來(lái),并進(jìn)行交互處理。計(jì)算處理面臨三方面的挑戰(zhàn):a.多進(jìn)程窗口界面,系統(tǒng)包含飛行歷程可視化、實(shí)測(cè)數(shù)據(jù)處理、振動(dòng)數(shù)據(jù)處理等界面;b.數(shù)據(jù)量和數(shù)據(jù)復(fù)雜程度大,隨著測(cè)試水平的提高和飛機(jī)要求實(shí)測(cè)參數(shù)的增加,數(shù)據(jù)量呈現(xiàn)快速增長(zhǎng);c.要求數(shù)據(jù)實(shí)時(shí)性,虛擬仿真窗口要求數(shù)據(jù)不斷地刷新跟進(jìn)飛機(jī)狀態(tài)的變化,這些都要求快速的處理速度。當(dāng)前多核心CPU的普及為系統(tǒng)采用并行計(jì)算提供先決條件。
通過(guò)對(duì)飛機(jī)載荷譜數(shù)據(jù)可視化技術(shù)的研究,在已有數(shù)據(jù)可視化模型的基礎(chǔ)上,利用 VC++2010開(kāi)發(fā)工具、OpenGL圖形平臺(tái)以及 VTree SDK工具,重視面向?qū)ο蟮某绦蛟O(shè)計(jì)(OOP),利用其信息封裝、數(shù)據(jù)抽象、動(dòng)態(tài)鏈接和繼承等特性進(jìn)行開(kāi)發(fā),功能上進(jìn)行模塊劃分,覆蓋了飛機(jī)載荷譜項(xiàng)目從標(biāo)定到數(shù)據(jù)處理的全部?jī)?nèi)容,并已成功應(yīng)用到多個(gè)機(jī)種的實(shí)測(cè)飛行和數(shù)據(jù)處理中。
標(biāo)定采集模塊實(shí)現(xiàn)標(biāo)定輸入載荷和輸出應(yīng)變信號(hào)同步瞬時(shí)采集以及在線圖形化實(shí)時(shí)顯示,并對(duì)采集實(shí)測(cè)數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,給出標(biāo)定試驗(yàn)數(shù)據(jù)處理擬合結(jié)果,可依據(jù)數(shù)據(jù)的有效性,對(duì)標(biāo)定試驗(yàn)進(jìn)行控制和調(diào)整,如圖 3所示。
圖3 標(biāo)定數(shù)據(jù)記錄界面
對(duì)實(shí)測(cè)參數(shù)載荷-時(shí)間歷程進(jìn)行同步回放和瀏覽,以圖形的方式讓用戶在一屏上任選實(shí)測(cè)參數(shù)的時(shí)間歷程曲線,同時(shí)可以配合不同的數(shù)據(jù)處理模塊實(shí)現(xiàn)不同的數(shù)據(jù)處理功能。
飛機(jī)飛行歷程可視化再現(xiàn)了飛機(jī)的實(shí)測(cè)飛行歷程,即可在飛行模擬窗口中看到與飛行實(shí)測(cè)數(shù)據(jù)時(shí)刻對(duì)應(yīng)的飛機(jī)飛行姿態(tài)和動(dòng)作,一方面可用于飛機(jī)載荷狀態(tài)的判別,另一方面,作為現(xiàn)場(chǎng)實(shí)測(cè)數(shù)據(jù)監(jiān)控手段,判斷該起落飛行員的空中動(dòng)作是否滿足飛行訓(xùn)練大綱規(guī)定的要求[12]。
1)飛機(jī)載荷譜數(shù)據(jù)可視化技術(shù)將數(shù)據(jù)用豐富的圖像、曲線、二維圖形、三維體顯示,并在人與數(shù)據(jù)、人與人之間實(shí)現(xiàn)圖像通信,為快速判斷數(shù)據(jù)有效性和進(jìn)行數(shù)據(jù)處理提供有力工具,提高數(shù)據(jù)處理效率,使數(shù)據(jù)得到有效利用。
2)柔性數(shù)據(jù)層支持系統(tǒng)采集不同飛行測(cè)試設(shè)備的數(shù)據(jù)流,使用統(tǒng)一模式對(duì)數(shù)據(jù)進(jìn)行讀取,解決異構(gòu)異態(tài)數(shù)據(jù)處理的需要,具有高度適應(yīng)性。
3)數(shù)據(jù)可視化系統(tǒng)的層次分離和功能塊劃分,便于系統(tǒng)的不斷更新、移植、裁減和擴(kuò)充,有效降低系統(tǒng)開(kāi)發(fā)和維護(hù)的復(fù)雜程度,提高系統(tǒng)可靠性。
[1] Yan Chuliang,Liu Kege.Fatigue scatter factor of whole life and reliability of aircraft structure service life[C]∥2008International Conference on Advances in Product Development and Reliabilty.2008,44-46:739-744.
[2] Yan Chuliang,Liu kege.Theory of active reliability based design for predetermined life of structures[C]∥2008 International Conference on Advances in Product Development and Reliabilty.2008,44-46:745-750.
[3] 閻楚良,高鎮(zhèn)同.飛機(jī)高置信度中值隨機(jī)疲勞載荷譜的編制原理[J].航空學(xué)報(bào),2000,21(2):118-123.
Yan Chuliang,Gao Zhengtong.Compilation theory of median stochastic fatigue load spectrum with high confidence level for airplane[J].Acta Aeronautica et Astronautica Sinica, 2000, 21(2): 118-123. (in Chinese)
[4] 閻楚良,張書(shū)明,葉舸,等.中值隨機(jī)載荷譜數(shù)據(jù)處理專家系統(tǒng)[J].北京航空航天大學(xué)報(bào),2000,26(4):428-431.
Yan Chuliang,Zhang Shuming,Ye Ge,et al.Data treatment expert system for median stochastic loadspectrum[J].Journal of Beijing University of Aeronautics and Astronautics,2000,26(4):428-431.(in Chinese)
[5] 劉勘,周曉崢,周洞汝,等.數(shù)據(jù)可視化的研究與發(fā)展[J].計(jì)算機(jī)工程,2002,28(8):1-2,63.
Liu Kan,Zhou Xiaozheng,Zhou Dongru,et al.Data visualization research and development[J].Computer Engineering,2002,28(8):1-2,63.(in Chinese)
[6] 段曉君,杜小勇,易東云,等.可視化數(shù)據(jù)挖掘技術(shù)及其應(yīng)用 [J].計(jì)算機(jī)應(yīng)用,2000(1):54-56.
Duan Xiaojun,Du Xiaoyong,Yi Dongyun,et al.Visual data mining techniques and their application[J].Computer Application,2000(1):54-56.(in Chinese)
[7] Ferreira de O,Levkowitz M C H.From visual data exploration to visual data mining:a survey[J].IEEE Transactions on Visualization and Computer Graphics,2003,9(3):378-394.
[8] 李春香.飛行數(shù)據(jù)可視化技術(shù)研究[J].中國(guó)安全學(xué)報(bào),2009,19(1):166-171.
Li Chunxiang.Research on the visualization technology of flight data[J].China Safety Science Journal,2009,19(1):166-171.(in Chinese)
[9] 黎卓虹,羅智佳,彭奕文,等.基于三層結(jié)構(gòu)數(shù)據(jù)可視化的開(kāi)發(fā)及應(yīng)用 [J].微計(jì)算機(jī)信息,2006,22(21):31-33.
Li Zhuohong,Luo Zhijia,Peng Yiwen,et al.Development and application in data visualization of three layers structure[J].Control&Automation,2006,22(21):31-33.(in Chinese)
[10]田兆鋒,閻楚良.一種基于 RIA結(jié)構(gòu)的飛機(jī)載荷譜數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)方法 [J].航空學(xué)報(bào),2009,30(10):1889-1894.
Tian Zhaofeng,Yan Chuliang.A method to design aircraft load spectrum resources database based on RIA framework[J].Acta Aeronautica et Astronautica Sinica,2009,30(10):1889-1894.(in Chinese)
[11]周福強(qiáng),張書(shū)明 ,閻楚良,等.飛機(jī)典型材料疲勞 /斷裂性能數(shù)據(jù)庫(kù)設(shè)計(jì)——基于 Java Applet[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(17):245-248.
Zhou Fuqiang,Zhang Shuming,Yan Chuliang,et al.Design of database for aeroplane typical materials fatigue/fracture behavior based on JavaApplet[J].ComputerEngineering and Application, 2007,43(17):245-248.(in Chinese)
[12]葉舸,田兆鋒,閆楚良.基于OpenGL的飛機(jī)飛行實(shí)測(cè)數(shù)據(jù)可視化研究 [J].航空學(xué)報(bào),2011,32(6):1050-1057.
Ye Ge,Tian Zhaofeng,Yan Chuliang.Experimental data visualization of aircraft’s flight course based on OpenGL[J].Acta Aeronauticaet Astronautica Sinica,2011,32(6):1050-1057.(in Chiense)