彭 健,史 靜,張麗曄,蔡斐華,許 昶
(中國運(yùn)載火箭技術(shù)研究院 研發(fā)中心,北京 100076)
飛行器性能樣機(jī)虛擬試驗系統(tǒng)研究與實現(xiàn)
彭 健,史 靜,張麗曄,蔡斐華,許 昶
(中國運(yùn)載火箭技術(shù)研究院 研發(fā)中心,北京 100076)
為實現(xiàn)航天飛行器研制中性能樣機(jī)模型的充分利用,提出了飛行器性能樣機(jī)虛擬試驗系統(tǒng)的總體方案,通過試驗基礎(chǔ)數(shù)據(jù)庫、試驗數(shù)據(jù)管理、驗證輔助工具、虛擬試驗應(yīng)用等子系統(tǒng)劃分和工作流程設(shè)計,提供對虛擬試驗的全流程支持;系統(tǒng)突破了試驗數(shù)據(jù)對象化管理、試驗流程建模等關(guān)鍵技術(shù),并基于虛擬試驗支撐平臺VITA完成了相應(yīng)系統(tǒng)實現(xiàn),在多個飛行器研制過程中開展了典型應(yīng)用。
性能樣機(jī);虛擬試驗;試驗數(shù)據(jù)管理
0 引言
航天飛行器研制過程中需要開展大量的實物試驗、仿真分析和虛擬試驗來驗證飛行器的各種性能指標(biāo)。試驗過程中形成了大量以CAE模型、中間結(jié)果數(shù)據(jù)或?qū)嵨镌囼灁?shù)據(jù)形式存在的性能樣機(jī)模型。性能樣機(jī)模型無法用現(xiàn)有產(chǎn)品數(shù)據(jù)管理系統(tǒng)進(jìn)行有效管理,也缺乏必要的輔助分析工具,模型的隱含價值難以得到充分利用。設(shè)計一種基于產(chǎn)品性能樣機(jī)的飛行器虛擬試驗系統(tǒng),在完成實物樣機(jī)功能模擬的基礎(chǔ)上,采用仿真和虛擬試驗技術(shù)開展子系統(tǒng)之間的復(fù)雜集成和耦合關(guān)系分析,可為后續(xù)實物試驗的開展提供綜合試驗和分析工具,為飛行器關(guān)鍵技術(shù)攻關(guān)和實現(xiàn)途徑驗證提供有效的試驗支撐手段。
1 系統(tǒng)功能需求
飛行器性能樣機(jī)虛擬試驗系統(tǒng)構(gòu)建的主要需求包括以下幾點。
1.1 試驗數(shù)據(jù)統(tǒng)一管理
試驗數(shù)據(jù)以文件方式分散管理,存儲方式不統(tǒng)一且容易丟失,難以實現(xiàn)數(shù)據(jù)的安全共享和快速查找,影響了數(shù)據(jù)的有效分析和合理利用,需要進(jìn)行統(tǒng)一的規(guī)范化管理。
1.2 標(biāo)準(zhǔn)化試驗流程定制
仿真分析和設(shè)計工作所產(chǎn)生的復(fù)雜數(shù)據(jù)和文檔,各個分析工具之間、設(shè)計工具與分析工具之間、后處理結(jié)果共享等協(xié)同環(huán)節(jié)流通不暢,影響工作效率。需要以產(chǎn)品結(jié)構(gòu)樹為基礎(chǔ)建立各類性能樣機(jī)模型、結(jié)果與幾何模型的關(guān)系,建立標(biāo)準(zhǔn)化的試驗分析流程,提供多專業(yè)數(shù)據(jù)之間的協(xié)同工作平臺。
1.3 試驗流程管理與監(jiān)控
仿真和試驗過程難以實時監(jiān)控和有效協(xié)同,實物試驗、仿真分析和虛擬試驗等不同類型試驗由不同的單位和人員負(fù)責(zé),人工管理難度較大。
1.4 虛實結(jié)合與虛實比對
充分利用在實物試驗、仿真分析方面的已有資源進(jìn)行相互促進(jìn),利用實物試驗的結(jié)果來修正仿真分析的模型,從而提高仿真模型的準(zhǔn)確性,更好的發(fā)揮試驗對設(shè)計的預(yù)示與驗證作用,實現(xiàn)實物試驗、仿真分析和虛擬試驗的緊密結(jié)合。
2 系統(tǒng)總體方案
2.1 系統(tǒng)組成
性能樣機(jī)飛行器虛擬試驗系統(tǒng)將以性能樣機(jī)模型為基礎(chǔ)實現(xiàn)對飛行器總體性能和飛行品質(zhì)的全面評價,為研制試驗的開展提供虛擬試驗技術(shù)支撐。系統(tǒng)組成如圖1所示,由虛擬試驗支撐平臺VITA、若干性能樣機(jī)模型和試驗輔助支撐工具組成,VITA平臺提供綜合的虛擬試驗環(huán)境和一系列標(biāo)準(zhǔn)的API接口服務(wù),在此基礎(chǔ)上搭建虛擬力學(xué)環(huán)境等飛行器虛擬試驗應(yīng)用系統(tǒng)。

圖1 性能樣機(jī)飛行器虛擬試驗系統(tǒng)組成
1)試驗基礎(chǔ)數(shù)據(jù)庫。主要負(fù)責(zé)存儲參與性能樣機(jī)試驗的數(shù)學(xué)模型、實物試驗數(shù)據(jù)、虛擬試驗數(shù)據(jù)等。這些模型和數(shù)據(jù)均以對象化方式存儲,每個模型帶有特定的數(shù)據(jù)標(biāo)簽,在傳統(tǒng)數(shù)據(jù)庫功能的基礎(chǔ)上,還提供了版本化和模型關(guān)聯(lián)關(guān)系的檢索功能。
2)試驗數(shù)據(jù)管理系統(tǒng)。負(fù)責(zé)在整個虛擬試驗過程中提供對模型輸入數(shù)據(jù)、中間過程數(shù)據(jù)和結(jié)果輸出數(shù)據(jù)的統(tǒng)一管理,以及試驗流程驅(qū)動和數(shù)據(jù)處理分析。該系統(tǒng)負(fù)責(zé)管理大型實物和虛擬試驗中產(chǎn)生的與性能相關(guān)的試驗數(shù)據(jù),并將實物和虛擬試驗數(shù)據(jù)進(jìn)行統(tǒng)一的,基于試驗流程的可追溯管理,將試驗過程中產(chǎn)生的數(shù)據(jù)進(jìn)行系統(tǒng)化、版本化的存儲,并對數(shù)據(jù)進(jìn)行解析和分析,從而解決目前飛行器單機(jī)、整機(jī)試驗過程中數(shù)據(jù)無法有效管理的問題。
3)驗證輔助工具。針對飛行器試驗的需求,建設(shè)虛實比對、虛擬振動、試驗結(jié)果在線可視化等工具集。這些輔助工具用于模擬性能樣機(jī)試驗中的力學(xué)虛擬試驗環(huán)境,按照實物試驗規(guī)范和對應(yīng)CAE分析流程,為設(shè)計人員提供虛擬的振動試驗平臺,并可以利用實物試驗數(shù)據(jù)進(jìn)行虛擬試驗?zāi)P托拚?,加快性能樣機(jī)分析過程。
4)虛擬試驗應(yīng)用系統(tǒng)。按各專業(yè)對性能仿真驗證和評估的需求,將專業(yè)模型按照物理類型轉(zhuǎn)換成為可以開展虛擬試驗的模型,并根據(jù)試驗?zāi)康奶岢鲈囼灥闹笜?biāo)、參數(shù)和與其他系統(tǒng)的接口關(guān)系,利用虛擬試驗支撐平臺的工具組織開展應(yīng)用系統(tǒng)的建設(shè)工作。
以上4個子系統(tǒng)協(xié)同工作,在此基礎(chǔ)上,應(yīng)用系統(tǒng)可根據(jù)任務(wù)需要和試驗大綱,在充分利用和共享性能樣機(jī)信息的基礎(chǔ)上開展虛擬試驗,為系統(tǒng)級大型聯(lián)合試驗的開展提供有力支撐。
2.2 工作流程
系統(tǒng)的工作流程分為試驗準(zhǔn)備、試驗運(yùn)行和試驗分析3個階段,各階段的具體工作內(nèi)容介紹如下。
2.2.1 試驗準(zhǔn)備階段
分析實物試驗、仿真及虛擬試驗工作過程,在試驗數(shù)據(jù)管理系統(tǒng)的支持下,完成試驗流程建模及初始化設(shè)置,作為后續(xù)基于性能樣機(jī)開展各項虛擬試驗提供指導(dǎo)和依據(jù)。相關(guān)工作包括:建立試驗流程,實物試驗流程依據(jù)試驗大綱建立,重點關(guān)注產(chǎn)生數(shù)據(jù)的環(huán)節(jié),仿真及虛擬試驗流程依據(jù)常用CAE分析、實時仿真過程建立,重點關(guān)注對試驗過程的規(guī)范和數(shù)據(jù)、經(jīng)驗積累;建立試驗數(shù)據(jù)對象,對試驗數(shù)據(jù)進(jìn)行抽象,由工程數(shù)據(jù)管理系統(tǒng)形成相應(yīng)的數(shù)據(jù)庫表或文件倉庫;建立試驗流程節(jié)點,集成第三方CAE商業(yè)分析軟件或自研軟件,實現(xiàn)試驗任務(wù)的自動處理;配置試驗基本信息,實現(xiàn)對產(chǎn)品結(jié)構(gòu)、試驗設(shè)備、試驗人員、試驗角色的配置及人員權(quán)限管理。
2.2.2 試驗運(yùn)行階段
根據(jù)試驗類型的不同,可分為兩類主要流程:實物試驗,實現(xiàn)對試驗各環(huán)節(jié)數(shù)據(jù)的檢入和審簽,數(shù)據(jù)批量轉(zhuǎn)換、統(tǒng)一顯示及報告自動生成等流程與虛擬試驗重用。力學(xué)虛擬試驗,按實物試驗規(guī)范準(zhǔn)備相關(guān)試驗測點和試驗結(jié)果數(shù)據(jù),按對應(yīng)CAE分析流程準(zhǔn)備虛擬仿真試驗?zāi)P?,調(diào)用驗證輔助工具提進(jìn)行虛擬振動等試驗,試驗結(jié)束后各類虛擬試驗結(jié)果數(shù)據(jù)自動檢入及批量轉(zhuǎn)換,由驗證輔助工具實現(xiàn)結(jié)果數(shù)據(jù)的統(tǒng)一顯示,由試驗數(shù)據(jù)管理系統(tǒng)實現(xiàn)試驗報告的自動生成與數(shù)據(jù)可追溯管理。
2.2.3 試驗分析階段
試驗數(shù)據(jù)管理系統(tǒng)存儲系統(tǒng)工作過程中產(chǎn)生各類數(shù)據(jù),并通過與驗證輔助工具實現(xiàn)實物試驗和虛擬試驗數(shù)據(jù)的比對分析、可視化顯示,以及對試驗數(shù)據(jù)曲線、圖表、均值、方差等形式的初步分析。
3 關(guān)鍵技術(shù)
3.1 試驗數(shù)據(jù)對象化管理技術(shù)
試驗數(shù)據(jù)管理提供試驗過程中仿真和試驗數(shù)據(jù)管理統(tǒng)一的存儲與管理,可基于產(chǎn)品結(jié)構(gòu)樹實現(xiàn)數(shù)據(jù)顯示方式的靈活配置,針對大型地面試驗和飛行器結(jié)構(gòu)仿真定制不同的產(chǎn)品結(jié)構(gòu)樹,提供上傳、下載、查看、檢索和修改等服務(wù),通過版本管理和譜系追蹤清晰顯示數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系。
對象化數(shù)據(jù)建模采用自定義數(shù)據(jù)對象DataClass的方式實現(xiàn),以面向?qū)ο蟮姆绞綄?shù)據(jù)進(jìn)行描述,能夠支持不同試驗過程中各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)格式。所建立的數(shù)據(jù)模型包括項目、產(chǎn)品結(jié)構(gòu)樹、工況、試驗數(shù)據(jù)、數(shù)據(jù)版本屬性等。
數(shù)據(jù)管理引擎通過動作封裝方式(Action Encapsulation,AE),實現(xiàn)對數(shù)據(jù)對象的創(chuàng)建、產(chǎn)生、傳遞及各類關(guān)系的管理支持。調(diào)用對象化數(shù)據(jù)模型創(chuàng)建數(shù)據(jù)庫,并自動產(chǎn)生數(shù)據(jù)對象的關(guān)聯(lián)關(guān)系以及譜系關(guān)系。
數(shù)據(jù)庫及文件倉庫系統(tǒng)用來存儲系統(tǒng)涉及到的所有文件,支持文件的上傳、下載、瀏覽及查詢等調(diào)用操作。

圖2 試驗數(shù)據(jù)對象化管理技術(shù)方案
3.2 試驗流程建模技術(shù)
實現(xiàn)基于項目的數(shù)據(jù)和流程管理,具備靈活的試驗流程建模功能,能夠依據(jù)試驗大綱定制試驗流程和仿真分析流程,并能進(jìn)行流程進(jìn)度監(jiān)控和任務(wù)統(tǒng)計分析。具體需要實現(xiàn):按實際試驗過程,制定試驗流程模板,執(zhí)行不同任務(wù);為試驗管理人員提供了試驗計劃和任務(wù)的工作臺面,包括管理人員的試驗進(jìn)度監(jiān)控、試驗數(shù)據(jù)查看、工作分解情況等功能;為試驗執(zhí)行人員的試驗任務(wù)查看、任務(wù)處理、數(shù)據(jù)分析等功能。試驗流程建模通過三部分來實現(xiàn):
1)流程建模定義器。面向流程建模人員,可以進(jìn)行流程建模,并將建好的流程模板發(fā)布到流程執(zhí)行引擎中,由流程執(zhí)行引擎進(jìn)行調(diào)度。主要功能包括:流程建模工具,提供流程繪制功能和數(shù)據(jù)映射功能,對流程和流程模板進(jìn)行建模,并通過數(shù)據(jù)流視圖功能查看流程中的數(shù)據(jù)流情況,以結(jié)構(gòu)化的形式進(jìn)行存儲流程模板?;顒幽_本工具,通過圖形化的界面對活動腳本進(jìn)行建模并發(fā)布。數(shù)據(jù)類型工具,提供圖形化的自定義數(shù)據(jù)類型的建模環(huán)境,以可視化的方式對自定義數(shù)據(jù)類型進(jìn)行建模并發(fā)布,在活動腳本工具中可使用這些自定義的數(shù)據(jù)類型作為輸入輸出參數(shù)的類型。
2)流程管理平臺。面向試驗管理人員和試驗執(zhí)行人員,試驗管理人員可以在流程管理平臺中對流程進(jìn)行管理,包括對流程的增刪查改以及對流程執(zhí)行情況的監(jiān)控;試驗執(zhí)行人員則主要負(fù)責(zé)執(zhí)行流程中的各個節(jié)點的任務(wù),通過在流程管理平臺上填寫流程節(jié)點任務(wù)的表單來完成任務(wù)的執(zhí)行。流程管理平臺則通過與后臺的流程執(zhí)行引擎進(jìn)行交互,從而完成上述功能。主要功能包括:流程管理模塊,流程管理模塊為管理員提供了管理流程的界面,管理員可以通過流程管理模塊查找、修改、刪除系統(tǒng)中的流程,并且可以對流程的分類進(jìn)行管理。流程管理模塊則通過流程執(zhí)行引擎提供的接口對保存在數(shù)據(jù)庫中的流程進(jìn)行管理,從而實現(xiàn)了流程管理平臺與數(shù)據(jù)庫的隔離,減低了系統(tǒng)的耦合性。流程監(jiān)控模塊,通過流程監(jiān)控模塊提供的甘特圖監(jiān)控流程中的各個節(jié)點任務(wù)的執(zhí)行時間,了解流程的執(zhí)行情況,進(jìn)而優(yōu)化流程的結(jié)構(gòu),提高流程的執(zhí)行效率。流程監(jiān)控模塊對從流程執(zhí)行引擎獲取的流程執(zhí)行日志進(jìn)行分析,并展示流程執(zhí)行時間的甘特圖。任務(wù)執(zhí)行模塊,主要面向試驗流程的執(zhí)行人員,實現(xiàn)流程中的人工節(jié)點任務(wù)的執(zhí)行。任務(wù)執(zhí)行模塊從流程執(zhí)行引擎獲取流程實例目前的執(zhí)行狀態(tài),確定用戶需要執(zhí)行的任務(wù),并分析任務(wù)節(jié)點的輸入輸出參數(shù),從而生成節(jié)點的通用表單供流程執(zhí)行人員填寫,試驗執(zhí)行人員填寫完表單后即表示該任務(wù)的完成。
3)流程執(zhí)行引擎。是整個系統(tǒng)中最重要的部分,提供了各種管理流程、流程模板、活動腳本、數(shù)據(jù)類型的接口,并負(fù)責(zé)為上層的用戶界面應(yīng)用提供數(shù)據(jù),以及對下層的數(shù)據(jù)源進(jìn)行管理。同時,流程執(zhí)行引擎還負(fù)責(zé)流程的解析、運(yùn)行、調(diào)度等工作。主要功能包括:流程調(diào)度引擎,流程調(diào)度引擎負(fù)責(zé)接收從流程建模定義器發(fā)布的流程和流程模塊,并將其部署到VITA試驗數(shù)據(jù)管理系統(tǒng)中;解析流程模型的結(jié)構(gòu)化存儲文件,并將其進(jìn)行實例化和啟動運(yùn)行;對運(yùn)行中的流程節(jié)點進(jìn)行調(diào)度,即決定節(jié)點完成后下一個應(yīng)該執(zhí)行的節(jié)點;為人工節(jié)點任務(wù)提供通用表單供執(zhí)行人員填寫;記錄和分析流程執(zhí)行的日志,為流程的監(jiān)控提供數(shù)據(jù)。活動腳本引擎,負(fù)責(zé)接收從流程建模定義器發(fā)布的活動腳本和數(shù)據(jù)類型,并將其部署;解析活動腳本和數(shù)據(jù)類型的XML文件,并實例化活動腳本和數(shù)據(jù)類型的模型實例;當(dāng)流程中包含了活動腳本時,活動腳本引擎則負(fù)責(zé)將流程中的數(shù)據(jù)傳遞給活動腳本,并執(zhí)行活動腳本的實例,最后將活動腳本的結(jié)果傳遞給流程中的相應(yīng)變量,從而實現(xiàn)流程和活動腳本的整合。

圖3 試驗流程建模技術(shù)方案
3.3 試驗工具軟件集成技術(shù)
試驗工具軟件通過動作封裝方式(Action Encapsulation,AE)來進(jìn)行集成,支持Ant、JavaScript代碼兩種形式腳本,可以定義試驗動作的基本信息、接口參數(shù)及具體動作過程,對系統(tǒng)功能擴(kuò)展更加靈活和方便。通過集成設(shè)計工具、前后處理軟件、求解器及自研程序,可對試驗任務(wù)進(jìn)行自動處理,實現(xiàn)對軟件的自動調(diào)用和數(shù)據(jù)的自動上傳。工具軟件集成后可在流程節(jié)點中以人工或自動方式使用,在流程執(zhí)行過程中完成相應(yīng)功能。
AE文件的定義格式如下圖所示,包含了預(yù)定義、輸入、處理、輸出四部分內(nèi)容,并采用XML格式存儲。預(yù)定義,包括該項動作的基本屬性,如名稱、展示的標(biāo)簽及圖標(biāo)、執(zhí)行模式等,執(zhí)行模式可分為在服務(wù)器上執(zhí)行、在客戶端上執(zhí)行兩類。輸入,包括輸入數(shù)據(jù)的基本屬性,如名稱、在頁面中展示的標(biāo)簽、輸入數(shù)據(jù)的類型、是否必須,類型包括基本數(shù)據(jù)類型、文件、數(shù)據(jù)對象。處理,包括執(zhí)行程序的類型和執(zhí)行程序的代碼。輸出,定義生成的結(jié)果數(shù)據(jù)類型,通過調(diào)用VITA數(shù)據(jù)管理系統(tǒng)的API完成數(shù)據(jù)的存儲。
label="Display Label "
image="Image.jpg"
interactive=" true | false"
execMode="Remote | Local "/>
type="Double |Boolean |Int |String |File | object"
required="true | false "/>