愛采購

發產品

  • 發布供應
  • 管理供應

基于Virtools的分布式高炮火控系統仿真平臺設計

   2012-07-31 轉載于網絡佚名4160
導讀

摘要:在高炮火控系統開發模擬訓練系統過程中,開發人員工作量大,系統開發效率低和效果不理想等問題,提出了一種基于Virtools與

摘要:在高炮火控系統開發模擬訓練系統過程中,開發人員工作量大,系統開發效率低和效果不理想等問題,提出了一種基于Virtools與高層體系結構(HLA分布式)相結合的解決方案。該方方案用HLA分布式的模塊化建模的思想,將整個仿真系統的功能劃分成若干個聯邦成員,進行分布式系統仿真。從設計系統的體系結構入手,劃分聯邦成員功能、建立FOM文件,并針對仿真平臺開發中的分布交互行為模塊的開發、解算行為模塊的開發、坐標系變換、分布交互行為模塊與解算行為模塊數據傳輸速率不同步等問題進行了深入的研究,并提出了解決方案。最后基于此方法設計了一個某型高炮火控系統的操縱仿真平臺,實踐表明系統的開發效率有了較大的提升,結果顯示在實時性及逼真度方面均達到了較好的效果。

Virtools是一套整合軟件,可以將現有常用的檔案格式整合在一起,如3D的模型、2D圖形或是音效等。Virtools是一套具備豐富的互動行為模塊的實時3D環境虛擬實境編輯軟件,可以制作出許多不同用途的3D產品,如網際網絡、計算機游戲、多媒體、建筑設計、交互式電視、教育訓練、仿真與產品展示等 。

2005年7月份達索系統集團宣布達索公司以大約 1200 萬歐元,收購 3D / VR 整合開發平臺的領導廠商法國 Virtools公司。把該款產品納入其產品虛擬設計和全周期管理系列當中。

1 引言

高炮火控系統是高炮中最具發展潛力和至關重要的系統,高炮火控系統的快速發展使高炮的整體戰技性能得到大幅提升。我國早期的武器火控仿真系統多采用Socket通訊或DIS標準,如某型火控系統操作訓練仿真平臺[1]、基于DIS的坦克火控系統[2]等。為適應軍事仿真發展的需求,火控系統的分布式仿真迅速地由DIS標準向HLA分布式[3]標準升級。利用本地化技術、包裝技術、轉換器技術進行兩種標準地過渡。HLA分布式是比DIS更高一級的計算機仿真標準,有著更多的優點。DIS采用廣播的數據傳輸方式,而HLA分布式采用有選擇性地在聯邦成員之間進行數據傳輸的方式,這樣就能夠更好地控制網絡流量,有效地防止在仿真運行過程中因網絡負載過大而導致使用HLA分布式標準開發的火控仿真系統不能正常運行。利用HLA分布式開發的分布式系統離不開三維視景生成,當前在仿真系統設計中所使用的軟件資源在3D建模方面沒有什么區別,大都選取Creator、3DMax和GL Studio等,且各種建模軟件之間格式轉換也已不是問題。使用這些軟件既離不開對OpenGL底層技術的了解,也離不開編輯環境如VC++等的支持。鑒于此,本文引入一種新的3D建模軟件Virtools[4],Virtools將相關底層技術封裝入行為模塊,使開發者不需要了解或直接利用底層的OpenGL或Direx技術等進行開發應用,使資源的重用性大大增強。為此本文提出了基于Virtools與HLA分布式的結合的火控系統操縱仿真平臺設計方法。

1 高炮火控系統操縱仿真平臺的體系結構

1.1 基于HLA的分布式仿真系統體系結構

HLA(High Level ARChitecture)是美國國防部1995年提出的分布式交互仿真的高層體系結構,它的基本思想是采用面向對象的方法來設計、開發和實現仿真系統的對象模型,以獲得仿真聯邦高層次的互操作和重用。運行支撐系統(RTI)是按照HLA分布式接口規范開發的仿真支撐軟件,它提供了一系列用于仿真互聯的服務,是HLA分布式仿真系統進行分層管理控制、實現分布仿真可擴展性的基礎,也是進行HLA分布式其他關鍵技術研究的立足點?;贖LA分布式的分布式系統的標準體系結構如圖1所示:

 

1.2 Virtools與HLA分布式的互操作

由于HLA分布式具有開放性、支持面向對象、仿真應用和底層通訊相分離的特點,所以分布式的火控系統仿真平臺采用HLA分布式的標準設計。分布式仿真系統離不開三維視景生成,由于Creator、3DMax和GL Studio等在3D建模方面的復雜性,所以本文引入Virtools 3D建模軟件。Virtools采用的是模塊化的設計思想,對于對象的腳本編排都是基于行為模塊(Building Block,簡稱BB)進行。Virtools dev提供給開發者十分方便易用的拖拉模塊式構建方法,使得整個開發過程流暢自然。它自帶了數百個Building Block,供開發者自由調配靈活使用。但對于一些特定的處理過程,Virtools自身的BB模塊不能滿足需求,此時需要開發一些BB模塊。為適應程序員們更廣泛的需求,Virtools dev還提供了編程SDK給廣大的程序員,以便于程序員能根據不同的應用需求,開發出更適臺具體情況需求的解決方案。

基于此,本文為了使HLA分布式/RTI能夠和Virtools相兼容,對HLA分布式/RTI的相關功能進行二次封裝,并通過Virtools SDK將其功能封裝進Virtools特有的BB中,這樣當聯邦成員要與聯邦或其它成員進行信息交互時,只需調用相應的HLA分布式/RTI BB就可實現相關功能,不同的聯邦成員只需修改相關的輸入參數就可使用相同的HLA分布式/RTI BB,這樣也使模塊重用性得到較大的增強。開發RTI BB的步驟如下:首先將RTI Ambassador和Federate Ambassador相關的功能服務封裝成Win32形式的dll,然后將Win32 dll在VS2003.net環境下封裝成RTI BB模塊,封裝原理如圖2所示:

 

1.3 基于RTI BB的火控系統操縱仿真平臺體系結構

根據HLA分布式的體系結構、Virtools特點和火控系統仿真的一般過程及研究需要,考慮系統的通用性、可擴展性和可移植性,設計基于Virtools/HLA分布式的火控系統仿真平臺的體系結構如圖3所示。

各個節點的功能如下:

目標仿真成員:根據收到的導演臺關于目標設定初始化的信息,生成符合要求的空情;

雷達仿真成員:搜索空中目標,并在發現目標的情況下給出目標的導引信息:

 

電視跟蹤仿真成員:根據雷達傳遞的目標導引信息,繼續對目標進行搜索。在跟蹤上目標的同時,并測定目標的坐標;

仿真導演臺:通過人機交互界面,對各節點進行初始化。同時控制整個仿真過程,包括啟動、暫停、停止和控制仿真。

推進的快慢;并顯示火控系統解算過程中的一些中間信息、提前點信息及射擊諸元信息;

仿真數據庫:實時接收所有聯邦成員發布的數據,并將所有數據存儲在數據庫,以便事后進行分析;

火控解算仿真成員:根據收到的目標現在點信息對目標坐標信息進行濾波,并實時進行解命中,求取火炮的射擊提前點和射擊諸元;

三維視景顯示成員:利用Virtools軟件進行視景編程,實時顯示整個三維仿真場景。

2 火控系統操縱仿真平臺的開發

2.1火控系統操縱仿真平臺開發流程[5]

基于HLA分布式的仿真系統開發過程十分復雜。盡管不同應用領域的用戶在建立HLA分布式應用時,所采用的步驟可能各不相同,但從高層看,HLA分布式聯邦開發和執行的過程可以抽象為幾個必須遵循的基本步驟。在本系統的開發過程中,參考了DMSO的FEDFP模型,通過有限的步驟將用戶的需求從抽象的邏輯概念初步轉化為具體的物理實現。參考FEDFP模型,按如下過程進行聯邦開發:

1)根據火控系統仿真模型開發了各個聯邦成員的仿真對象模型SOM;

2)通過對聯邦執行過程中的交互數據和聯邦概念模型進行優化合并,得到系統的聯邦對象模型(FOM),確定了仿真聯邦FOM中的對象類和交互類以及它們的屬性和參數。

 
表1

表1 給出了開發本系統時設計的部分交互類和對象類;

3)根據FOM表和SOM表,生成了聯邦執行時的聯邦執行文件(*.FED);

4)開發各個聯邦成員,并將開發好的聯邦成員進行系統集成,調試并解決系統中的問題。

2.2 火控系統操縱仿真平臺的工作流程

根據HLA分布式的體系框架,基于Virtools的聯邦成員的程序結構,在程序設計時我們采用雙線程:一個是Virtools界面線程,主要用于管理用戶和界面的交互;另一個是仿真線程,主要用于完成仿真模型的執行和聯邦的交互。這種雙線程的程序結構如圖4所示。

 

3平臺開發關鍵技術

3.1分布交互BB模塊的開發

由圖3可以看出,火控系統操縱仿真平臺的分布互聯是通過RTI BB實現的,因此RTI BB模塊的開發是仿真平臺實現的基礎。本文設計的RTI BB在具體實現時,通過將HLA分布式/RTI中與本地聯邦成員相關的本地RTI大使(RTI Ambassador)和聯邦成員大使(Federate Ambassador)的相關服務進行封裝調用,使得基于Virtools設計的腳本在驅動RTI BB時,就可執行聯邦成員相應的創建聯邦、加入聯邦、公布訂購、時間推進、更新成員信息、獲取聯邦或其它成員的信息等相應功能。對于RTI BB的設計主要包含了輸入輸出參數和輸入輸出端口的設計。

3.1.1輸入輸出參數

對于輸入輸出參數,根據參數的通用性,分為一般參數和特殊參數,其中一般參數的主要包括:創建聯邦執行、加入聯邦執行、初始化時間管理、公布與訂購、時間推進等。游離于一般輸入輸出參數之外,還有一些是不同的聯邦成員需求各異的,對于這部分參數主要有如下幾種:

1)啟動RTI進程。負責啟動RTI運行環境。需要在bIn中創建一字符串類型接口,用以輸入RTI執行文件的完整文件名。該端口通常只為安裝有RTI主程序的用戶終端所對應的RTI BB所擁有;

2)需更新的信息。更新信息由于涉及到的種類有多種多樣,如數組、字符串、整形值、浮點值等,在設計上不能夠通用,需要根據不同的成員以及數據種類,在bOut中創建數據陣列進行相應的設定;

3)需接收的信息。與更新的信息相類似,接收信息也需要根據不同的成員以及數據種類,在bIn中創建各種參數輸入端口接收相關信息;

4)控制標志。這里的控制標志指的是bIn中的一些布爾設置,主要是為了定義信息發送或接收的狀態許可。對于這些標志需要根據不同的聯邦成員的仿真應用需求來進行相關的設定。

3.1.2 輸入輸出端口

輸入輸出端負責BB的啟動和執行信息的承接。對于輸入端,從執行順序上劃分,可分為初始化、執行仿真應用和退出聯邦執行輸入端三個部分。

1)初始化輸入端。該輸入端主要負責啟動聯邦成員創建聯邦、加入聯邦執行、初始化時間管理、公布訂購、創建對象實例等功能。對于該端口,在實際應用時只需啟動一次。

2)執行仿真應用輸入端。該輸入端主要負責啟動仿真應用、更新信息、接收信息、所有權轉移和申請時間推進等相應功能。由于仿真執行具有時間上的延續性,因此本端口在仿真過程中需循環啟動。

3)退出聯邦執行輸入端。該端口主要負責當聯邦成員退出聯邦執行后,啟動聯邦成員取消公布與訂購、刪除對象實例、退出聯邦執行、撤銷聯邦執行和關閉RTI等功能,該端口在實際應用時也只啟動一次。對于輸出端口,為了使RTI BB更具靈活性,本文根據其輸入端設計了一一對應的三個輸出端口。系統中開發的RTI BB如圖5所示:

 

3.2 解算BB模塊的開發

火控解算模型的主要功能包括目標運動參數求取、濾波、解算提前點和解算射擊諸元,可以將整個火控系統的解算模型封裝為一個BB模塊,也可以將各部分的功能分別封裝成BB模塊??紤]可重用性的要求,將火控系統的各功能模塊分別封裝成BB模塊。BB模塊的設計主要包括兩方面的內容:BB模塊輸入輸出端口的設計和BB模塊功能的實現。

3.2.1 解算BB輸入輸出端口的設計

BB模塊的輸入輸出參數和函數的輸入輸出參數類似,但由于解算模型中涉及的函數參數都非常復雜以及BB模塊輸入輸出類型的相對單一等問題,不能簡單的實現解算模型參數和BB模塊輸入輸出端口的一一對應。為了解決上述問題,在解算BB模塊開發過程中我們遵循以下準則:1)復雜參數分解為簡單參數。BB模塊輸入輸出端口支持的數據類型較少,因此對于解算函數中涉及到的復雜的函數參數必須先將其分解為一些基本的、能為BB模塊所接受的參數,才能為各個參數在BB模塊設計相應的端口。2)輸入參數和輸出參數分離。僅將復雜參數分解為簡單參數還不一定能滿足要求,因為在一些面向對象設計語言中對于一些參數來講它既是輸入又是輸出,但是在BB模塊中,輸入輸出嚴格分離不能混用,因此必須增加端口實現輸入和輸出的嚴格分離

3)首次輸入和首次以后輸入分離。對解算BB中的濾波B而言,濾波BB模塊的部分輸入參數是通過外部初始化的方式來獲取初值的,還有部分輸入參數是通過獲取一些輸出參數的值來得到的,因此必須再增加一些輸入端口,以實現首次輸入和首次以后輸入的分離。

3.2.2 解算BB模塊功能實現

解算模塊的主要功能包括目標運動參數求取、濾波、解算提前點和解算射擊諸元。目標運動參數的求取主要由兩種方法:一是將球坐標下的測量值轉換為直角坐標下的測量值,然后進行微分,再轉換為大地坐標系下運動參數值;二是將球坐標下的測量值轉換為直角坐標下的測量值,再轉換為大地坐標系下的值,最后進行微分求取運動參數值。可見無論使用何種方法都必須進行微分操作。如果測量量中不含有測量誤差,經過上述處理后,就可以準確地求出目標運動參數值。但實際測量過程中不可避免地存在著測量誤差,導致計算的目標運動參數也將含有誤差,而且經微分運算后誤差會變得更大,因此必須首先對測量結果進行濾波處理,然后再求取目標運動參數?;鹂叵到y中濾波常用的方法是卡爾曼濾波和α-β濾波,具體的實現步驟參見文獻[7]。再求取目標運動參數的基礎上,火控系統求解解命中問題方程組從而獲取射擊提前點和射擊諸元。解命中問題方程組可以歸結為一個非線性隱含方程t f =f (tf),對于該方程的求解主要有以下方法:牛頓迭代法、弦截法和拋物線法等,具體選擇何種方法需要根據武器系統中火控系統的解算原理來決定。再求得提前點的基礎上,根據提前點和射擊諸元的關系很容易求得火控系統的射擊諸元。實現解算BB模塊的功能有兩種方法:一種是直接將解算模塊對應的功能在解算BB模塊函數里實現;另一種方法是將解算模塊的功能先使用一些常用面向對象語言對其進行封裝(如封裝成DLL、COM等),然后再由解算BB模塊的函數進行調用。后一種方法有效實現了應用和功能的分離,提升了BB模塊的可重用性。

3.3 坐標系的轉換

構建virtools下的分布式火控系統仿真平臺,各個節點之間需要交互大量的數據,而這些數據分別是在不同的坐標系下定義的。主要涉及到三個坐標系:virtools中的世界坐標系,vitools中的車體坐標系,virtools中的航跡坐標系。

3.3.1 坐標系的建立原則

Virtools中的世界坐標系:以炮重心所在位置為坐標原點,X軸指向右側,Y軸和X軸垂直且向上,Z軸垂直XOY平面,且符合右手定則。

Virtools中的車體坐標系:以炮重心所在位置為坐標原點,車頭方向為Z軸方向,向上且和車體底盤垂直方向為Y方向,X方向和YOZ平面垂直,且符合右手定則。

Virtools航跡坐標系:以飛機起飛點為坐標原點,X軸方向為Virtools中世界坐標系的X軸指向,Y軸方向為Virtools中世界坐標系的Z軸指向的負方向,Z軸和XOY平面垂直,且符合右手定則。

3.3.2 坐標系的旋轉和平移

坐標系的變換關系主要是兩種:旋轉和平移?;鹂叵到y原理中已經給出了實現方法。以大地坐標系和載體坐標系的變換為例,已知載體的姿態角,即航向角K、縱搖角Ψ、側傾角θ,設大地坐標系下的坐標為(X ,Y ,H),載體坐標系下的坐標為(Xt ,Yt ,Ht),坐標變換(坐標旋轉)關系為式(1)。

對于原點不重合的情況,還要先進行坐標的平移,設載體的原點為(JX ,JY ,JH),則坐標變換(坐標平移)關系為式(2)

 
關系式

3.3.3 Virtools中坐標系的變換

由3.3.2可知坐標的變換主要是確定坐標系之間的相對關系,火控系統仿真平臺中涉及到三個坐標系,由于VT世界坐標系和VT航跡坐標系之間原點不重合且坐標軸也不平行,坐標軸之間的相對關系也不易確定,因此直接進行坐標系的轉換非常困難,因此我們構造VT大地坐標系,VT中坐標系之間進行變換時,先轉換為VT大地坐標系下的坐標,然后由VT大地坐標系變換為其他坐標系。VT大地坐標系的建立原則如下:以炮重心所在位置為坐標原點,X軸方向為Virtools中世界坐標系的X軸指向,Y軸方向為Virtools中世界坐標系的Z軸指向的負方向,Z軸和XOY平面垂直,且符合右手定則。VT中世界坐標系下表征車體方向的三個參數為(K,Ψ,θ),且VT航跡坐標系原點在VT大地坐標系下的坐標為(JX ,JY ,JH),則火控系統各坐標系的變換關系如下圖所示:

 

3.4 RTI BB和解算BB速率不同步

使用該平臺來模擬火控系統的功能時,發現對于目標的運動參數進行濾波時,濾波結果嚴重偏離目標的實際參數。經研究發現,該現象是由于在VT下模塊互聯時RTI BB模塊傳輸數據的速率和解算BB模塊的解算的速率不同步造成的,準確的講是由于解算BB采樣速率高而RTI BB傳輸數據速率低造成的。圖7是RTI BB和解算BB的連接關系示意圖。

 

由圖7可以看出,A點的數據作為RTI BB的輸出由RTIBB反復更新,同時A點的數據又作為解算模塊的輸入,正常的處理過程應該是A點的數據更新一次,解算BB模塊解算一次。可由于以下原因造成處理流程混亂:1)BB模塊的輸入鎖存保持,即輸入端口數據沒有更新前,輸出端口會始終保持最后一次的輸出值;2)部分解算BB的輸入參數值是解算BB模塊的前一次輸出參數值。以上原因造成解算BB對于一個恒定的輸入值進行多次解算,導致每次解算的結果都不相同。

解決該問題關鍵是設法讓RTI BB傳輸數據的速率和解算BB的解算速率同步,主要有兩種思路:提升RTI BB的傳輸速率或是降低解算BB的解算速率。提升RTI BB的速率比較困難,因此我們采用后一種思路,即降低解算BB的速率。為了降低解算BB的速率,我們設計了一個更新判斷BB,該BB的作用主要是判斷RTI BB的特定輸出端口輸出是否更新,如果是則標志位置1,否則置0;同時,我們對解算BB模塊中的部分BB模塊也進行了改進,即添加輸入更新標志位,該標志位的輸入從更新判斷BB標志位獲取。如果該標志位為1,則進行一次解算,否則不解算。通過以上措施我們有效的降低了解算BB的解算速率。改進后的連接關系如圖8所示:

 

4 火控系統仿真平臺應用實例

基于上文提出的設計方法,本文設計了局域網內的結構如圖3所示的某自行高炮單炮車的聯邦系統,現給出一個具體的應用實例。假定有空中目標出現,火控系統發現目標并解算諸元。首先,導演臺設定目標的參數并啟動仿真,目標仿真成員生成空中目標。雷達仿真成員搜索空中目標,發現目標后將目標的方位導引信息傳遞給電視跟蹤仿真成員。電視跟蹤仿真成員搜4火控系統仿真平臺應用實例基于上文提出的設計方法,本文設計了局域網內的結構如圖3所示的某自行高炮單炮車的聯邦系統,現給出一個具體的應用實例。假定有空中目標出現,火控系統發現目標并解算諸元。首先,導演臺設定目標的參數并啟動仿真,目標仿真成員生成空中目標。雷達仿真成員搜索空中目標,發現目標后將目標的方位導引信息傳遞給電視跟蹤仿真成員。電視跟蹤仿真成員搜索跟蹤目標,求取目標的參數,并傳遞給火控解算仿真成員。火控解算仿真成員解算射擊提前點和射擊諸元,并將解算過程參數及解算結果在導演臺進行顯示,同時,在三維視景仿真節點顯示整個過程。仿真中某時刻三維視景截屏如圖9所示??梢?,該仿真平臺能夠模擬火控系統工作過程的整個場景,實現了比較逼真的火控系統工作過程的場景模擬,使用戶有了較強的沉浸感。

 

5 結論

本文將Virtools與HLA分布式相結合,提出了一種新的仿真平臺設計方法,針對平臺開發中的關鍵技術進行了研究,并給出了解決的辦法。經過我們開發的某高炮火控系統示教系統的應用證明,該方法開發效率較高,開發項目的效果較好。實用性很強,具有很好的參考價值。

參考文獻

[1]楊建文,黃金波,陳俊.某型火控系統操作訓練仿真平臺設計[J].火炮發射與控制學報,2007,12(4):39-42.

[2]周啟煌,于諒,劉志高.分布式結構的坦克火控仿真系統研究[J].裝甲兵工程學院學報,1999,13(1):40-44.

[3]張家祥.HLA分布式仿真技術應用教程[M].北京:國防工業出版社,2007:31-33.

[4]王樂.基于Virtools的分布式VR的網絡技術研究[D].武漢理工大學,2006.

[5]張宇宏,胡亞海,彭曉源,等.基于HLA分布式的防空導彈武器系統仿真平臺研究[J].北京航空航天大學學報,2003,29(1):1-4.

[6]王元慧,邊信黔,王宏健,等.基于HLA分布式的艦船操縱綜合仿真平臺的設計[J].系統仿真學報,2009,21(2):385-388.(WANGYuan-hui,BIAN Xin-qian,WANG Hong-jian,et al.Design of ShipOperation Integrated Simulation Platform Based on HLA分布式[J].Journalof System Simulation(S1004-731X),2009,21(2):385-388.)

[7]何友,修建娟,關欣,等.雷達數據處理及應用[M].北京:電子工業出版社,2006:21-25.

 
反對 0舉報 0 收藏 0 打賞 0評論 0
免責聲明
本文為佚名原創作品,作者: 佚名。歡迎轉載,轉載請注明原文出處:http://www.451292.com/news/show-2796.html 。本文僅代表作者個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,作者需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們。
 
更多>同類資訊頭條

入駐

企業入駐成功 可尊享多重特權

入駐熱線:18682138895

請手機掃碼訪問

客服

客服熱線:18682138895

小程序

小程序更便捷的查找產品

為您提供專業幫買咨詢服務

請用微信掃碼

公眾號

微信公眾號,收獲商機

微信掃碼關注

頂部

91中文在线