王佳偉 羅毓芳 邱瑞
(北京空間飛行器總體設(shè)計(jì)部,北京 100094)
航天器仿真可視化是仿真領(lǐng)域研究的重要課題,其中針對(duì)航天器演訓(xùn)任務(wù)特點(diǎn)進(jìn)行的可視化,是用戶進(jìn)行業(yè)務(wù)追蹤和決策的重要內(nèi)容。隨著航天器數(shù)量的不斷增加,演訓(xùn)任務(wù)的復(fù)雜性不斷提升,任務(wù)范圍包括測(cè)控事件、故障處理、特定演練、聯(lián)合作戰(zhàn)等??梢暬臅r(shí)效性、直觀性及交互性要求不斷提高,因此僅對(duì)航天器任務(wù)過(guò)程的遙測(cè)信息進(jìn)行列表顯示,已經(jīng)無(wú)法滿足當(dāng)前航天器演訓(xùn)任務(wù)可視化的需求。
在過(guò)去幾十年中,圍繞工程任務(wù)需求,國(guó)內(nèi)外已經(jīng)開(kāi)展了航天器演訓(xùn)仿真任務(wù)可視化方法的相關(guān)研究。研究的重點(diǎn)主要集中在系統(tǒng)架構(gòu)設(shè)計(jì)及面向信息流的可視化方法等方面,提出了基于時(shí)間序列、層次信息、隨機(jī)分布等方法。
隨著航天器演訓(xùn)仿真任務(wù)的復(fù)雜性與動(dòng)態(tài)性不斷提高,仿真系統(tǒng)需要對(duì)多源異構(gòu)的仿真數(shù)據(jù),包括仿真遙測(cè)信息、仿真控制信息、仿真流程信息等類型數(shù)據(jù)進(jìn)行顯示。能否全面、快速、動(dòng)態(tài)顯示演訓(xùn)任務(wù)信息是航天器可視化系統(tǒng)亟待解決的問(wèn)題。通過(guò)演訓(xùn)任務(wù)的實(shí)時(shí)動(dòng)態(tài)可視化,用戶可更為直觀的掌握仿真任務(wù)狀態(tài),及時(shí)有效的進(jìn)行決策分析。
本文通過(guò)分析航天器演訓(xùn)任務(wù)特點(diǎn),在多源異構(gòu)仿真數(shù)據(jù)基礎(chǔ)上,提出了一種基于數(shù)據(jù)驅(qū)動(dòng)的航天器演訓(xùn)任務(wù)可視化方法,并結(jié)合某航天器演練訓(xùn)任務(wù)仿真實(shí)例進(jìn)行了試驗(yàn)驗(yàn)證,為航天器仿真系統(tǒng)可視化提供了新的方法手段。
在仿真系統(tǒng)中,航天器演訓(xùn)任務(wù)可視化的內(nèi)容與顯示形式應(yīng)能夠?qū)崿F(xiàn)對(duì)演訓(xùn)任務(wù)全流程的完整描述,滿足仿真演訓(xùn)的要求。用戶可通過(guò)可視化的顯示內(nèi)容,完成對(duì)演訓(xùn)任務(wù)流程的正確認(rèn)知和分析評(píng)估。目前可視化方法對(duì)任務(wù)信息顯示以數(shù)據(jù)列表為主,對(duì)數(shù)據(jù)之間關(guān)聯(lián)性顯示較少[1]。針對(duì)任務(wù)多源數(shù)據(jù)的可視化,缺少以場(chǎng)景為主導(dǎo)的交互數(shù)據(jù)動(dòng)態(tài)實(shí)時(shí)顯示[2]。針對(duì)復(fù)雜航天器演訓(xùn)任務(wù),涉及任務(wù)環(huán)節(jié)多,任務(wù)進(jìn)行過(guò)程中交互數(shù)據(jù)量大,當(dāng)數(shù)據(jù)交互關(guān)系復(fù)雜時(shí),單一的可視化手段無(wú)法滿足高效仿真決策的要求。
為進(jìn)一步增加演訓(xùn)任務(wù)現(xiàn)實(shí)豐富性,解決關(guān)聯(lián)數(shù)據(jù)可視化問(wèn)題,本文提出了基于仿真實(shí)時(shí)數(shù)據(jù)驅(qū)動(dòng)的動(dòng)態(tài)可視化方法,包括對(duì)演訓(xùn)任務(wù)結(jié)構(gòu)化分析、基于任務(wù)場(chǎng)景的數(shù)據(jù)生成和封裝、對(duì)任務(wù)環(huán)節(jié)關(guān)聯(lián)性顯示分析及任務(wù)全過(guò)程的動(dòng)態(tài)展示。該方法根據(jù)航天器演訓(xùn)任務(wù)規(guī)范和操作人員的訓(xùn)練習(xí)慣,將演訓(xùn)任務(wù)可視化分為任務(wù)流程時(shí)序可視化、任務(wù)遙測(cè)數(shù)據(jù)可視化、交互數(shù)據(jù)可視化等方面。演訓(xùn)任務(wù)流程通過(guò)各子任務(wù)環(huán)節(jié)之間的時(shí)序關(guān)系進(jìn)行表示,顯示過(guò)程中采用動(dòng)態(tài)可視化模式。
演訓(xùn)任務(wù)仿真可視化過(guò)程中,有兩個(gè)主要問(wèn)題需要解決:一是將多源分散的仿真數(shù)據(jù)和任務(wù)的整個(gè)流程轉(zhuǎn)變?yōu)闀r(shí)序的結(jié)構(gòu)化模型;二是實(shí)現(xiàn)可視化數(shù)據(jù)的關(guān)聯(lián)分析和動(dòng)態(tài)顯示[3]。對(duì)于第一個(gè)問(wèn)題,本文提出一種結(jié)構(gòu)化樹(shù)形語(yǔ)言模型,對(duì)任務(wù)數(shù)據(jù)進(jìn)行轉(zhuǎn)換;對(duì)于第二個(gè)問(wèn)題需要進(jìn)行多層次的任務(wù)流程數(shù)據(jù)動(dòng)態(tài)可視化實(shí)現(xiàn)。動(dòng)態(tài)可視化方法過(guò)程如圖1所示。
(1)演訓(xùn)任務(wù)結(jié)構(gòu)化語(yǔ)言描述模塊,通過(guò)接收用戶設(shè)定的演訓(xùn)任務(wù),并根據(jù)指定的結(jié)構(gòu)化語(yǔ)言對(duì)仿真任務(wù)進(jìn)行處理。將任務(wù)數(shù)據(jù)轉(zhuǎn)換成表格結(jié)構(gòu)或網(wǎng)絡(luò)結(jié)構(gòu)數(shù)據(jù),通過(guò)結(jié)構(gòu)化語(yǔ)言轉(zhuǎn)換成可視化層次樹(shù)結(jié)構(gòu)存儲(chǔ),用于支持后續(xù)可視化的操作。
(2)關(guān)聯(lián)屬性展示模塊,對(duì)演訓(xùn)任務(wù)結(jié)構(gòu)化轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行關(guān)聯(lián)屬性分析,對(duì)多個(gè)任務(wù)節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系進(jìn)行配置,同時(shí)根據(jù)遍歷算法,按照時(shí)序流程遍歷顯示所有任務(wù)節(jié)點(diǎn)。
(3)場(chǎng)景化數(shù)據(jù)封裝模塊,根據(jù)數(shù)據(jù)處理引擎生成的任務(wù)樹(shù)形結(jié)構(gòu),對(duì)可視化節(jié)點(diǎn)進(jìn)行各種配置,最終生成可視化的數(shù)據(jù)包。包括節(jié)點(diǎn)布局配置、類型配置、可視化配置和關(guān)聯(lián)配置。其中布局配置用以指定可視化節(jié)點(diǎn)整體的布局;類型配置用以指定各個(gè)節(jié)點(diǎn)可視化使用的圖形或控件類型;可視化配置用以詳細(xì)配置各個(gè)可視化圖形的具體參數(shù),如坐標(biāo)軸對(duì)應(yīng)的數(shù)據(jù)、可視化圖形元素的顏色、尺寸等屬性;關(guān)聯(lián)配置用以配置多個(gè)不同的可視化節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系。所有場(chǎng)景數(shù)據(jù)最終作為動(dòng)態(tài)可視化顯示的輸入。
(4)動(dòng)態(tài)可視化模塊,對(duì)已經(jīng)生成的任務(wù)數(shù)據(jù)樹(shù)進(jìn)行遍歷和渲染的過(guò)程,確保能夠?qū)崟r(shí)動(dòng)態(tài)地顯示用戶交互數(shù)據(jù)和任務(wù)數(shù)據(jù)。
圖1 動(dòng)態(tài)可視化方法過(guò)程Fig.1 Dynamic visualization method flow
可視化過(guò)程按照演訓(xùn)任務(wù)的時(shí)序流程進(jìn)行,每個(gè)任務(wù)環(huán)節(jié)按照結(jié)構(gòu)化語(yǔ)言規(guī)則對(duì)環(huán)節(jié)包含的數(shù)據(jù)進(jìn)行建模,同時(shí)整個(gè)環(huán)節(jié)的可視化數(shù)據(jù)進(jìn)行“容器”封裝。根據(jù)時(shí)序規(guī)劃,對(duì)任務(wù)節(jié)點(diǎn)進(jìn)行遍歷顯示,并根據(jù)用戶的交互信息作實(shí)時(shí)動(dòng)態(tài)調(diào)整。
演訓(xùn)任務(wù)過(guò)程中會(huì)包含眾多的仿真節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)數(shù)據(jù)包括用戶交互操作數(shù)據(jù)、仿真遙測(cè)數(shù)據(jù)、可視化屬性相關(guān)數(shù)據(jù)等信息,這些數(shù)據(jù)的格式不同,在可視化實(shí)現(xiàn)過(guò)程中首先要對(duì)任務(wù)涉及的數(shù)據(jù)進(jìn)行融合處理,格式歸一化。
演訓(xùn)任務(wù)經(jīng)過(guò)結(jié)構(gòu)化分析表示后,形成了各種功能的仿真數(shù)據(jù)包。進(jìn)行可視化實(shí)現(xiàn)時(shí),按場(chǎng)景對(duì)可視化進(jìn)行服務(wù)級(jí)組裝,系統(tǒng)保存的仿真任務(wù)場(chǎng)景結(jié)構(gòu)化文件經(jīng)過(guò)一定的仿真模擬算法轉(zhuǎn)化為時(shí)序數(shù)據(jù),然后以一定頻率發(fā)送給可視化模塊。在場(chǎng)景化的數(shù)據(jù)文件中,保存了仿真任務(wù)場(chǎng)景中涉及的可視化模型實(shí)例及各實(shí)例的表達(dá)式形式。場(chǎng)景化數(shù)據(jù)生成架構(gòu)如圖2所示。
(1)根據(jù)結(jié)構(gòu)化處理后的演訓(xùn)任務(wù)節(jié)點(diǎn),將同一個(gè)可視化節(jié)點(diǎn)的相關(guān)數(shù)據(jù)放在同一個(gè)服務(wù)中,一個(gè)場(chǎng)景對(duì)應(yīng)一個(gè)服務(wù),確保拆分的可視化節(jié)點(diǎn)是可獨(dú)立部署升級(jí)的服務(wù)單元。
(2)根據(jù)仿真任務(wù)類型、任務(wù)規(guī)模選擇合適的服務(wù)架構(gòu)模式,確定服務(wù)縱向分區(qū)、橫向分層的原則,確定分區(qū)之間與分層之間的交互方式與通信機(jī)制。
(3)確定場(chǎng)景化服務(wù)中內(nèi)部服務(wù)通信接口和外部服務(wù)通信接口,為了降低服務(wù)間耦合,服務(wù)對(duì)外暴露的信息應(yīng)盡可能少,并充分利用服務(wù)發(fā)現(xiàn)機(jī)制實(shí)現(xiàn)服務(wù)之間的透明通信。
(4)針對(duì)特定子任務(wù)的場(chǎng)景化封裝,將不同的子任務(wù)設(shè)定為主題選擇,通過(guò)選擇不同的主題風(fēng)格,可以實(shí)現(xiàn)對(duì)演訓(xùn)任務(wù)的組裝。提供對(duì)多數(shù)據(jù)源的支持以及對(duì)多可視化圖形之間關(guān)聯(lián)的支持。在可視化設(shè)計(jì)的過(guò)程中,可以隨時(shí)選擇新的數(shù)據(jù)源進(jìn)行加載。
圖2 場(chǎng)景可視化數(shù)據(jù)生成架構(gòu)Fig.2 Scene visualization data generation architecture
針對(duì)航天器演訓(xùn)任務(wù)的可視化方法,必須結(jié)合航天器演訓(xùn)任務(wù)自身特點(diǎn),對(duì)仿真流程及各節(jié)點(diǎn)之間的關(guān)聯(lián)性進(jìn)行分析,再通過(guò)結(jié)構(gòu)化語(yǔ)言規(guī)則進(jìn)行描述[4]??梢暬^(guò)程中,不僅要對(duì)每個(gè)節(jié)點(diǎn)相關(guān)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化轉(zhuǎn)換,還需要顯示各節(jié)點(diǎn)間的關(guān)聯(lián)關(guān)系,對(duì)各關(guān)聯(lián)數(shù)據(jù)的可視化是要解決的重要問(wèn)題。
航天器演訓(xùn)任務(wù)包括常規(guī)演訓(xùn)任務(wù)、應(yīng)急演訓(xùn)任務(wù)、故障處置任務(wù)等類型。演訓(xùn)任務(wù)仿真所涉及的可視化數(shù)據(jù)包括:任務(wù)流程節(jié)點(diǎn)數(shù)據(jù)、任務(wù)相關(guān)遙測(cè)數(shù)據(jù)、任務(wù)交互數(shù)據(jù)和可視化屬性數(shù)據(jù)。針對(duì)任務(wù)過(guò)程的動(dòng)態(tài)可視化就是基于數(shù)據(jù)驅(qū)動(dòng),將任務(wù)時(shí)序執(zhí)行過(guò)程中各節(jié)點(diǎn)的數(shù)據(jù)信息進(jìn)行動(dòng)態(tài)可視化顯示,演訓(xùn)任務(wù)過(guò)程中涉及的仿真數(shù)據(jù)如圖3所示。
圖3 演訓(xùn)任務(wù)數(shù)據(jù)分類Fig.3 Classification of training task data
本文設(shè)計(jì)了樹(shù)形結(jié)構(gòu)可視化語(yǔ)言描述方法,通過(guò)樹(shù)形結(jié)構(gòu)描述演訓(xùn)任務(wù)過(guò)程和可視化相關(guān)數(shù)據(jù)。演訓(xùn)任務(wù)和樹(shù)形結(jié)構(gòu)化語(yǔ)言數(shù)據(jù)之間為一一對(duì)應(yīng)的映射關(guān)系,通過(guò)可視化方法實(shí)現(xiàn)語(yǔ)義層的數(shù)據(jù)業(yè)務(wù)含義與任務(wù)數(shù)據(jù)實(shí)體之間的關(guān)聯(lián)關(guān)系。[5]
任務(wù)流程數(shù)據(jù)可表示為一組節(jié)點(diǎn)Qi的集合{Q1,Q2,…,Qn}。節(jié)點(diǎn)的數(shù)據(jù)通過(guò)屬性子節(jié)點(diǎn)T1、T2、T3、T4的樹(shù)形結(jié)構(gòu)表示,如圖4所示。
(1)Qi是演訓(xùn)任務(wù)流程的一個(gè)節(jié)點(diǎn),作為節(jié)點(diǎn)結(jié)構(gòu)化數(shù)據(jù)的根節(jié)點(diǎn)。
(2)Qi節(jié)點(diǎn)的任務(wù)樹(shù)劃分為4個(gè)子樹(shù),包括節(jié)點(diǎn)任務(wù)功能描述子樹(shù)T1、可視化屬性子樹(shù)模塊T2、遙測(cè)數(shù)據(jù)子樹(shù)T3和關(guān)聯(lián)關(guān)系描述子樹(shù)T4。根節(jié)點(diǎn)與每個(gè)子樹(shù)均為一對(duì)多的關(guān)系,即根節(jié)點(diǎn)可以包括0個(gè)或多個(gè)子樹(shù)的實(shí)體。
(3)演訓(xùn)仿真任務(wù)劃分為多個(gè)子任務(wù)節(jié)點(diǎn)Qi的組合,其中T1是Qi的任務(wù)功能角度的分解,每個(gè)功能項(xiàng)對(duì)應(yīng)一個(gè)樹(shù)節(jié)點(diǎn),節(jié)點(diǎn)數(shù)據(jù)組成功能描述數(shù)據(jù)包;T2是任務(wù)可視化相關(guān)屬性的描述,包括可視狀態(tài)、可視屬性,節(jié)點(diǎn)數(shù)據(jù)組成可視化屬性數(shù)據(jù)包;T3是每個(gè)任務(wù)節(jié)點(diǎn)所涉及的遙測(cè)數(shù)據(jù),根據(jù)規(guī)定的協(xié)議組成可視化遙測(cè)數(shù)據(jù)包;T4是各任務(wù)節(jié)點(diǎn)數(shù)據(jù)之間關(guān)聯(lián)關(guān)系數(shù)據(jù)包,實(shí)現(xiàn)演訓(xùn)任務(wù)不同維度可視化數(shù)據(jù)的聯(lián)動(dòng)。[6]
(4)以圖4中T2節(jié)點(diǎn)為例,T2節(jié)點(diǎn)為可視化屬性節(jié)點(diǎn),劃分為節(jié)點(diǎn)形狀、節(jié)點(diǎn)顏色、節(jié)點(diǎn)相鄰邊和節(jié)點(diǎn)位置等數(shù)據(jù)包。通過(guò)結(jié)構(gòu)化描述規(guī)則將數(shù)據(jù)與相應(yīng)的節(jié)點(diǎn)屬性進(jìn)行綁定,后續(xù)進(jìn)行可視化顯示時(shí)對(duì)T2包含的所有數(shù)據(jù)包進(jìn)行遍歷。[7]
演訓(xùn)任務(wù)中包含多個(gè)可視化圖形,則需要對(duì)多個(gè)圖形之間的關(guān)聯(lián)關(guān)系配置。關(guān)聯(lián)配置允許在結(jié)果包含多個(gè)可視化圖形時(shí),將兩個(gè)圖形對(duì)應(yīng)的數(shù)據(jù)中的某個(gè)維度的數(shù)據(jù)進(jìn)行關(guān)聯(lián)。當(dāng)具有關(guān)聯(lián)關(guān)系的子任務(wù)中數(shù)據(jù)發(fā)生變化,具有關(guān)聯(lián)性的任務(wù)節(jié)點(diǎn)均會(huì)根據(jù)數(shù)據(jù)的變化而重新繪制。
通過(guò)設(shè)置的關(guān)聯(lián)關(guān)系,可以查看仿真任務(wù)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)。關(guān)聯(lián)關(guān)系通過(guò)節(jié)點(diǎn)之間的邊結(jié)構(gòu)進(jìn)行描述,基于邊數(shù)據(jù)的樹(shù)形展示提供系統(tǒng)歸屬編輯的參考依據(jù)[8]。針對(duì)仿真任務(wù)流程進(jìn)行展示時(shí),則需要快速查找基于仿真節(jié)點(diǎn)的邊數(shù)據(jù)。樹(shù)形展示算法的輸入為任務(wù)節(jié)點(diǎn)的編號(hào),根據(jù)節(jié)點(diǎn)中的輸入邊與輸出邊屬性獲取樹(shù)形關(guān)聯(lián)關(guān)系可視化的數(shù)據(jù),如圖5所示。
在關(guān)聯(lián)關(guān)系可視化階段,T1、T2、T3、T4存在一個(gè)節(jié)點(diǎn)具有相同關(guān)聯(lián)節(jié)點(diǎn)情況:例如節(jié)點(diǎn)T1有鄰居,節(jié)點(diǎn)T2有鄰居T4、T5、T6。當(dāng)用戶雙擊節(jié)點(diǎn)T1時(shí),展示T3、T4、T5節(jié)點(diǎn);用戶繼續(xù)雙擊節(jié)點(diǎn)T2,展示T4、T5、T6節(jié)點(diǎn),此時(shí)不需要再對(duì)節(jié)點(diǎn)T4與T5進(jìn)行展示,僅需要繪制T2和T4、T2和T5之間的邊。可視化過(guò)程中,同時(shí)定義一個(gè)對(duì)象用于記錄已展示節(jié)點(diǎn)與上一級(jí)節(jié)點(diǎn)的關(guān)系[9]。該對(duì)象的目的是為了解決鄰居節(jié)點(diǎn)已添加后避免二次添加的問(wèn)題。
圖5 任務(wù)節(jié)點(diǎn)關(guān)聯(lián)屬性配置Fig.5 Task node association attribute configuration
關(guān)聯(lián)屬性可視化主要步驟如下:
(1)傳入用戶點(diǎn)擊的任務(wù)節(jié)點(diǎn)編號(hào);
(2)獲取被點(diǎn)擊點(diǎn)的關(guān)聯(lián)關(guān)系鏈表結(jié)構(gòu);
(3)構(gòu)建節(jié)點(diǎn)的輸入、輸出邊關(guān)系;
(4)判定鄰居中是否有節(jié)點(diǎn)被添加至界面中,根據(jù)結(jié)果添加/刪除節(jié)點(diǎn)與邊;
(5)根據(jù)節(jié)點(diǎn)上下級(jí)關(guān)系,獲取上級(jí)節(jié)點(diǎn)的坐標(biāo),并進(jìn)行布局計(jì)算。
本文依據(jù)某航天器實(shí)際演訓(xùn)任務(wù),根據(jù)可視化方法,實(shí)現(xiàn)整個(gè)演訓(xùn)任務(wù)可視化系統(tǒng),驗(yàn)證動(dòng)態(tài)可視化方法的有效性和實(shí)用性。
選取航天器演訓(xùn)任務(wù)中“某航天器規(guī)避演訓(xùn)任務(wù)”作為可視化實(shí)例,該任務(wù)是通過(guò)地面發(fā)送干擾信號(hào),仿真航天器識(shí)別干擾信號(hào)、處理信號(hào)、預(yù)警規(guī)避的過(guò)程,任務(wù)過(guò)程如圖6所示。
演訓(xùn)任務(wù)開(kāi)始,地面模擬干擾信息,并發(fā)送至航天器綜合電子分系統(tǒng);綜合電子分系統(tǒng)中的中心管理單元(SMU)收到地面發(fā)出的干擾信號(hào)后,形成預(yù)警數(shù)據(jù)包;在自主預(yù)警規(guī)避功能使能的前提下,對(duì)姿態(tài)進(jìn)行適當(dāng)調(diào)整,規(guī)避干擾信號(hào),任務(wù)結(jié)束。利用本文的動(dòng)態(tài)可視化方法,首先對(duì)演訓(xùn)任務(wù)的流程進(jìn)行結(jié)構(gòu)化分解和描述,將任務(wù)的每部動(dòng)作轉(zhuǎn)化為節(jié)點(diǎn)數(shù)據(jù),并通過(guò)結(jié)構(gòu)化規(guī)則進(jìn)行數(shù)據(jù)描述;然后分析各環(huán)節(jié)間的關(guān)聯(lián)屬性,形成關(guān)聯(lián)數(shù)據(jù),并將節(jié)點(diǎn)相關(guān)可視化數(shù)據(jù)封裝為可視化數(shù)據(jù)包;最后根據(jù)動(dòng)態(tài)可視化方法對(duì)任務(wù)進(jìn)行遍歷顯示。
(1)將演訓(xùn)任務(wù)轉(zhuǎn)換為一系列節(jié)點(diǎn)鏈接圖的遍歷顯示,通過(guò)節(jié)點(diǎn)鏈接圖的信息組合來(lái)解決可視化過(guò)程多信息展示的問(wèn)題,數(shù)據(jù)節(jié)點(diǎn)信息描述及實(shí)現(xiàn)如圖7所示。
圖6 某航天器規(guī)避演訓(xùn)任務(wù)流程Fig.6 Process of a spacecraft evasion training mission
圖7 任務(wù)節(jié)點(diǎn)結(jié)構(gòu)化代碼Fig.7 Task node structured code
(2)遍歷演訓(xùn)任務(wù)節(jié)點(diǎn)列表,讀取每個(gè)節(jié)點(diǎn)數(shù)據(jù)包,并按照動(dòng)態(tài)顯示方法進(jìn)行顯示。讀取任務(wù)節(jié)點(diǎn)Qi數(shù)據(jù),包括節(jié)點(diǎn)的功能數(shù)據(jù)、遙測(cè)數(shù)據(jù)和關(guān)聯(lián)關(guān)系數(shù)據(jù)。
(3)若節(jié)點(diǎn)存在關(guān)聯(lián)關(guān)系數(shù)據(jù),檢查遍歷節(jié)點(diǎn)相關(guān)的邊是否存在。根據(jù)檢查進(jìn)行維護(hù)上下級(jí)關(guān)系并進(jìn)行畫(huà)布上的節(jié)點(diǎn)與邊的操作。在可視化插件中,所有的節(jié)點(diǎn)均默認(rèn)添加至畫(huà)布中央原點(diǎn)的位置再進(jìn)行彈力布局,在此基礎(chǔ)上根據(jù)上下級(jí)關(guān)系修正了樹(shù)形節(jié)點(diǎn)的坐標(biāo),代碼實(shí)現(xiàn)如圖8所示。
圖8 關(guān)聯(lián)特性可視化代碼Fig.8 Visualization code of association characteristics
(4)根據(jù)用戶實(shí)時(shí)的交互信息,更新任務(wù)節(jié)點(diǎn)信息。基于數(shù)據(jù)的動(dòng)態(tài)可視化方法應(yīng)用在航天器演訓(xùn)任務(wù)仿真中,能夠?qū)崟r(shí)顯示任務(wù)流程,幫助用戶在演訓(xùn)過(guò)程中迅速發(fā)現(xiàn)和掌握任務(wù)執(zhí)行情況。
本文提出了一種基于仿真數(shù)據(jù)驅(qū)動(dòng)的演訓(xùn)任務(wù)可視化方法,對(duì)航天器演訓(xùn)任務(wù)的流程顯示形式進(jìn)行了規(guī)范和設(shè)計(jì)。將演訓(xùn)任務(wù)過(guò)程按照結(jié)構(gòu)化的方式進(jìn)行描述,并封裝成場(chǎng)景化數(shù)據(jù)包,對(duì)任務(wù)流程進(jìn)行動(dòng)態(tài)可視化。該方法將航天器演訓(xùn)任務(wù)操作人員的交互需求,融入到可視化過(guò)程中,對(duì)于提高演訓(xùn)人員操作效率起到關(guān)鍵作用。提出的層次化任務(wù)數(shù)據(jù)描述方法,符合航天器演訓(xùn)任務(wù)可視化的實(shí)際需求,實(shí)現(xiàn)了可視化數(shù)據(jù)的快速生成;關(guān)聯(lián)性可視化方法支持多可視化圖形之間的交互配置,可以實(shí)現(xiàn)多個(gè)任務(wù)節(jié)點(diǎn)之間的關(guān)聯(lián)顯示;場(chǎng)景化的數(shù)據(jù)封裝,可以設(shè)計(jì)隨時(shí)間、隨參數(shù)變化的可視化圖形。按照該方法開(kāi)發(fā)的的軟件系統(tǒng),經(jīng)過(guò)試驗(yàn)驗(yàn)證,在性能和應(yīng)用效果方面達(dá)到了預(yù)期效果,證明該方法可行且有效,能夠?qū)教炱餮萦?xùn)任務(wù)決策和實(shí)施起到較好的輔助作用。