999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于GL Studio的儀表面板開發及其應用

2016-05-25 00:37:18趙銀玲李治國
電子設計工程 2016年23期
關鍵詞:系統

趙銀玲,李治國

(1.西安職業技術學院 陜西 西安 710032;2.中航工業西安飛行自動控制研究所 陜西 西安 710065)

基于GL Studio的儀表面板開發及其應用

趙銀玲1,李治國2

(1.西安職業技術學院 陜西 西安 710032;2.中航工業西安飛行自動控制研究所 陜西 西安 710065)

運動的視景可以顯示出飛機的位置和姿態,但視景沒有直觀的數據以供參考,所以在飛行視景中加入儀表是非常必要的。通過儀表的數據變化實時獲取飛機準確的高度、速度、航向等信息,為研究無人機飛行運動過程提供直觀事實依據。文章從仿真建模到軟件模塊的實現,較全面地介紹了一種專用虛擬儀表制作軟件-GL Studio,以無人機座艙為例,詳細說明了GL Studio的ActiveX代碼實現技術及嵌入視景時的關鍵問題和解決方法。該軟件在無人機半物理仿真試驗中得到了很好的應用,滿足了系統對實時性和流暢性的要求。

虛擬現實;儀表;紋理;控件

近年來,隨著軍事科技的發展,高技術武器裝備在現代戰爭中得到了廣泛的應用,越來越多的高技術武器已經裝配到部隊,對部隊的戰場訓練和技術保障都產生了重大的影響[1]。由于高技術裝備造價貴、品種多、數量少,所以在實際裝備上開展操作和維修訓練都越來越困難。虛擬現實技術的發展為部隊開展脫離實裝的訓練提供了技術基礎[1-2]。

在虛擬座艙的仿真建模中,座艙中的儀表多種多樣,如地評議、高度表、空速表、平顯、航向表等。需要對座艙中的大量的儀表面板的行為,如指針的擺動、指示燈的閃爍、旋鈕的轉動、掃描線的移動等進行仿真。座艙面板的機械結構復雜,利用傳統的建模工具,如3D Max、Solidwork等,建模工作量大,效率低,難度大。為此,座艙面板的建模使用一種快速、新型的建模工具——GL Studio,它支持照片級別的紋理,只要將欲仿真的面板的照片應用為紋理即可[3],從而大大降低建模難度,減小了工作量,提高了效率,而且建模效果非常逼真。在目前無人機半物理仿真中的到了很好的使用。

1 系統總體設計

無人機半物理仿真綜合測試系統由飛行仿真機(包括仿真主控機和目標機)、飛控計算機(以下簡稱飛控機)、飛控臺、導航臺、視景計算機等組成。系統的結構如圖1所示。

圖1 系統結構圖

飛控臺和視景計算機以及導航臺之間均采用高速的網卡代替了傳統的串行通訊系統,使得系統的傳輸效率和運行速度都有大幅度的提高。導航臺通過TCP協議發送給飛控臺航路點信息,飛控臺接收、顯示并通過串口上傳給飛控機。飛控機通過串口RS232向飛控臺輸出遙測數據幀,其中包括無人機的經度、緯度、高度、俯仰角、滾轉角、偏航角、空速、油量等。飛控臺接收并顯示,然后把相關數據通過UDP協議轉發給導航臺和視景計算機。

2 系統軟件平臺

GL Studio是一個獨立平臺的快速原型工具,用來創建實時的、三維的、照片級的互動圖形界面。它能與HLA/DIS仿真應用相連;生成的C++和OpenGL源代碼可以單獨運行,也可以嵌入其他應用中;它能運行于WindowsNT2000XP、TRIX和Linux等操作系統上[4-5]。

GL Studio設計器包括兩個主要的控制窗口和一個或多個編輯窗口。所有設計的對象的列表用一個可折疊的樹狀結構來顯示。如圖2所示。GL Studio支持照片級紋理的應用。一切多邊形對象都可以貼紋理。紋理工具可以讓你使用大多數格式的紋理,如TIFF,JPEG,SGI,BMP等。GL Studio設計器有10種圖像原型,包括規則多邊形、不規則曲線和TrueType文本對象。原型能被組合成更復雜的對象。設計器支持所有的繪圖操作,包括剪貼和粘貼、轉換、縮放、修剪、剔除、頂點編輯、插入和移除頂點、水平翻轉、垂直翻轉、左旋轉、右旋轉、自由旋轉、扭曲、排列對象和改變繪圖順序等[7]。設計器支持文檔的多視圖,包括3個正投影視圖和一個自由視角的透視視圖。在每個視圖下可以以網格、文體和貼有紋理等方式來觀察。

圖2 GL Studio設計器界面

Vega是國內仿真系統常用的實時驅動軟件,它是MultiGen-Paradigm公司(MPI)以前最主要的三維實時驅動軟件。MPI早在2003年就已經停止對Vega開發和升級,Vega Prime作為Vega的升級版本主要改進之處有:VegaPrime是基于C++平臺,而Vega是基于C平臺;VegaPrime的場景圖VSG(Vega Scene Graph)是高級跨平臺場景圖形應用程序接口,取代了Vega的Performer;Vega是基于進程的,VegaPrime是基于線程的;Vega通過C功能調用,而VegaPrime是通過模塊類。

GL Studio與VegaPrime二者結合,都采用C++代碼進行開發,使得儀表與視景之間的交互問題變得迎刃而解[8]。

3 視景系統的關鍵問題及解決方法

3.1 ActiveX控件的建立與使用

視景系統采用GL Studio2.1的兩個向導來建立儀表,GL Studio可生成.EXE的文件單獨運行在其支持的操作系統上,也可生成ActiveX控件嵌入別的軟件平臺上。該系統首先采用生成可執行文件的向導來建立儀表,雖然這樣做并不能實現將儀表載入場景的目的,但是因為如果直接用生成.OCX控件,在沒有數據之前無法觀測到儀表的運動是否滿足要求,所以首先利用向導生成.EXE文件,觀察儀表的運動是否滿足用戶的要求,然后再利用向導生成.OCX控件嵌入視景[9-10]。

以座艙中儀表指針的轉動為例,首先在GL Studio中通過紋理貼圖來建立實例對象 needle,在代碼編輯窗口variables中建立roll變量,在控制窗口的代碼編輯欄中新建Method為NewMethod,在GL Studio原有的Calculate(doudle time)中寫入指針轉動的代碼:

動態效果完成之后,再用ActiveX向導生成一個空的工程文件,將原產生的.gls文件,.h和.cpp文件改成和新建的空工程中的.gls文件,.h和.cpp文件的名字分別相同,這樣在*.h中就包含有公有的虛函數

因void zylClass::Calculate(double time)中的代碼的變量用戶不可知,所以我們使用新的方法NewMethod(),用戶可以隨意定義它的變量,將NewMethod()的函數體寫為

注冊控件之后就可以在ActiveX Control Test Continer中預覽所作控件的效果了。

3.2 GL Studio與VegaPrime坐標系的解決方案

雖然GL Studio與VegaPrime都是在OpenGL基礎上的應用,使用的都是右手坐標系,但是VegaPrime的坐標系與GL Studio的坐標系又有所差別,如圖3所示。

圖3 坐標系

所以在解決這個問題的時候可以將GL Studio的儀表直接設計在XOZ平面上或者將在XOY平面上設計的儀表在載入視景時繞X軸旋轉90度即可。文章采用的方法是還在XOY平面建立儀表,而在載入場景中時將儀表繞X軸旋轉90度。

3.3 GL Studio載入視景時的單位變換

在VegaPrime中根據場景的大小不同,坐標所采用的是長度單位,例如可以是米、千米、英尺或英寸等。而在GL Studio中制作虛擬儀表是以像素為基本單位的。因此將GL Studio載入場景時是以1:1轉換的,即GL Studio載入視景時的一像素即為VegaPrime中的一米,所以在沒有任何處理的情況下儀表載入場景時非常大,所以要根據實際需要進行縮小,解決方案是在程序中縮小儀表面板的大小,一般選擇在GL Studio中制作的儀表面板的0.3或0.4倍。

3.4 數據通信

無人機半物理仿真測試系統中不同設備之間根據需要采用不同的傳輸協議。不同的傳輸協議有不同的試用場合。TCP協議提供了一種可靠的面向連接的字節流運輸層服務。它提供端到端的流量控制,并計算和驗證一個強制性的端到端檢驗和[11]。對數據的解算比較嚴格,采用TCP用戶最終數據的解釋將帶來額外系統開銷,適合海量數據的傳輸以及要求可靠性高的場合;而UDP是ISO參考模型中位于傳輸層的一種無連接的協議,提供面向操作的簡單非可靠信息傳送服務,比TCP頭部消耗少,傳輸效率高,適合少量數據的傳輸和可靠性要求不是很高的場合[12]。

本例中導航臺的主要功能是任務規劃以及和飛控臺之間的以太網通信,它要求可靠發送航點信息,所以采用了TCP協議;由于視景計算機接收飛控臺發過來的數據量并不大而系統對于數據接收的流暢性要求較高,所以采用UDP傳輸協議來接收數據。UDP使用ioctlsocket函數將套結字設置為非阻塞,使數據接收更流暢。

Vega Prime應用程序的運行分為兩個主要的階段。首先是仿真系統的靜態設置階段,在這個階段中主要進行包括內存分配、參數設置、進程分配等在內的系統初始化和配置等,第二階段進入仿真系統的動態循環,系統等待飛控臺傳送數據,在沒有數據傳輸時系統處于等待狀態,否則程序進入飛行姿態設置和儀表驅動顯示階段,一幀數據發送完畢則重新進入下一個循環,仿真應用的主要過程都在這個階段中完成[3-13]。

3.5 視景和儀表驅動的實現

在該實驗系統中,飛控臺已確定的發送數據的時間為50 ms,首先通過套借口自定義函數recvfrom()將飛控臺每隔50 ms發過來的數據放到數據緩沖區數組buffer[10]中,其中在buffer[0],buffer[1],uffer[2]…buffer[5]中將分別存放無人機的位置參數x,y,z以及俯仰、滾轉、偏航的數據信息,這樣就完成了數據的接收任務,然后使用setPlanePosition()函數將收到的數據轉換為飛機位置向量,偽代碼如下:

視景的驅動首先新建一個類myApp*app=new myApp;然后調用用戶自定義的函數fly(),app->fly(),來實現飛行器的六自由度飛行仿真。偽代碼如下:

//對象指針指向無人機模型 getRotate(double*h,double*p,double*r)可以控制對象分別繞 X,Y,Z軸旋轉的數值,getTranslate(double*x,double*y,double*z)可以控制對象分別繞X,Y,Z軸平移的數值。

接收網絡數據完畢之后儀表的驅動就直接使用接收過來的數據,將接收的數據付給變量liner即可,以此類推[14]。運行結果圖如圖4所示。

圖4 飛行視景效果

4 結束語

文中介紹了一種新型的儀表制作工具GL Studio,研究了儀表與視景結合的關鍵問題和解決方法,仿真結果表明,利用GL Studio制作飛行儀表形象逼真、速率快、效率高、生成代碼可讀性好,確實是儀表面板仿真的開發利器[9-15]。將其應用于無人機半物理中仿針實驗中,取得了良好的應用效果。

[1]吳家鑄.視景仿真技術及應用[M].西安:電子科技大學出版社,2002.

[2]耿通奮,無人機實時仿真與測試系統綜合設計[D].南京:南京航空航天大學,2003.

[3]石瓊,無人機任務飛行的三維可視化[D].南京:南京航空航天大學,2004.

[4]喬林,費廣正等.OpenGL程序設計[M].北京:清華大學出版社,2000.

[5]夏衛國,軍用視景仿真系統的開發和應用研究[D].北京:北京理工大學,2002.

[6]Jackie.Neider,Tom.Davis Mason.Woo.OpenGL Programming Guide[M].USA:Silicon Graphics Incoporation,1998.

[7]MultiGen.MetaFlight Concept Guide versoin1.2 February 2005.

[8]MultiGen.Creating Terrain Studio User’s Guide versoin1.2 February 2005.

[9]趙龍.無人機飛行控制仿真視景系統設計與實現[D].南京:南京航空航天大學,2006.

[10]黃健熙,毛鋒等.基于VegaPrime的大型流域三維管理系統實現[J].系統仿真學報,2006(10):2819-2823.

[11]張德鋒,王華兵,等.基于Vega Prime的視景仿真技術研究與應用[J].計算機仿真,2006,23(7):191-195.

[12]黃燕.三維地形地貌的可視化研究[D].北京:北京工業大學,2002.

[13]廖巍.大規模地形的建模與動態繪制技術研究[D].長沙:國防科學技術大學,2002.

[14]王召福,金士堯.HLA仿真系統中 Lookahead的分析與動態調整策略[J].計算機仿真,2003,20(4):78-81.

[15]彭光雷.三維地形生成研究及實現[D].重慶:重慶大學,2005.

Meter panel development and application based on GL Studio

ZHAO Yin-ling1,LI Zhi-guo2
(1.Xi'an Vocational and Technical College,Xi'an 710032,China;2.Xi'an Flight Automatic Control Research Institute of China Aviation Industry,Xi'an 710065,China)

Flying scene of simulation can display location and position of the UAV.but there is no flying data to reference.So it is necessary to add the meter to the scene.the user can obtain the exact information of the plane based of the variation of the meter data,such as altitude、volosity and heading.which provide intuitive and understandable warrant.A kind of expert construction software for virtual meter is presented at the aspects of modeling and realization of simulation modules.taking the UAV cabin as an example,the ActiveX code realization of GL Studio and key technologies and reality methods when embed in the scene are explained.this software behaves perfectly in the UAV half entity simulation trail,fulfilling the system requirement of liquidity and real time performance.

virtual reality;meter;texture;control

TP391

A

1674-6236(2016)23-0035-04

2015-12-28稿件編號:201512287

趙銀玲(1982—),女,陜西渭南人,講師。研究方向:控制理論與控制工程,視景仿真。

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 国产在线精彩视频论坛| 91久久国产综合精品| 国产一级裸网站| 欧美在线国产| 久久这里只有精品8| 99久久国产综合精品2020| 在线观看免费国产| 国产AV毛片| 白丝美女办公室高潮喷水视频 | 免费又黄又爽又猛大片午夜| 一本色道久久88| 欧美高清日韩| 内射人妻无套中出无码| 四虎精品免费久久| 国产视频a| 国产全黄a一级毛片| 免费毛片全部不收费的| 人妻精品久久无码区| 色欲色欲久久综合网| 亚洲三级色| 色综合成人| 在线看免费无码av天堂的| 亚洲人成影院在线观看| 国产系列在线| 国产国拍精品视频免费看| 找国产毛片看| 色综合天天综合| 成人福利在线免费观看| 99视频精品在线观看| 亚洲日韩图片专区第1页| 狠狠做深爱婷婷久久一区| 亚洲欧美日韩综合二区三区| 国产成人AV综合久久| 久久夜色精品国产嚕嚕亚洲av| 欧美日韩动态图| 国产午夜福利片在线观看| 小13箩利洗澡无码视频免费网站| 国产成人亚洲精品蜜芽影院| 精品久久久久久中文字幕女 | 91久久精品日日躁夜夜躁欧美| jizz亚洲高清在线观看| 亚洲综合久久成人AV| av午夜福利一片免费看| 日韩午夜福利在线观看| 中文字幕乱码中文乱码51精品| 免费在线一区| 99爱视频精品免视看| 日本福利视频网站| 91无码视频在线观看| 日韩专区欧美| 国产美女91视频| 国产免费网址| 国产精品无码久久久久久| 幺女国产一级毛片| 91色在线视频| 国产在线观看人成激情视频| 国产精品久久久久久久久久98| 91青青草视频在线观看的| 一级一级一片免费| 亚洲精品国偷自产在线91正片| 亚洲一区二区三区麻豆| 2021国产精品自产拍在线| 精品人妻AV区| 亚洲AV无码一区二区三区牲色| 精品国产成人a在线观看| 久久伊人久久亚洲综合| 欧美五月婷婷| 波多野结衣在线se| 欧美亚洲国产视频| 久热99这里只有精品视频6| 欧美日本一区二区三区免费| 亚洲女人在线| 亚洲一级毛片在线观| 国产制服丝袜91在线| 无码aaa视频| 米奇精品一区二区三区| 免费一级无码在线网站| 日本人妻丰满熟妇区| 2020精品极品国产色在线观看| www精品久久| 亚洲av无码专区久久蜜芽| 国产一级毛片在线|