• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      機(jī)載慣導(dǎo)系統(tǒng)可視化仿真方法研究

      2011-06-30 01:09:38藍(lán)仁恩,劉志成,王志樂,崔益鵬
      現(xiàn)代電子技術(shù) 2011年9期

      藍(lán)仁恩,劉志成,王志樂,崔益鵬

      摘 要:慣導(dǎo)系統(tǒng)作為現(xiàn)代軍機(jī)戰(zhàn)術(shù)引導(dǎo)的主要模塊,其可視化仿真也是模擬器中研發(fā)的難點(diǎn)與重點(diǎn)之一。介紹了慣導(dǎo)的功能結(jié)構(gòu),提出飛行仿真軟件中慣導(dǎo)可視化仿真架構(gòu)。利用GL Studio虛擬儀表技術(shù),結(jié)合OpenGL技術(shù)提出在飛行仿真過程中導(dǎo)航實(shí)時畫面的具體仿真方法和實(shí)現(xiàn)手段。實(shí)驗(yàn)證明,該方法在大型虛擬航空裝備的開發(fā)中收到了很好的效果。

      關(guān)鍵詞:慣導(dǎo)系統(tǒng); 可視化仿真; GL Studio; OpenGL

      中圖分類號:TN966-34

      文獻(xiàn)標(biāo)識碼:A

      文章編號:1004-373X(2011)09-0203-03

      Research of Visualized Simulation Method for Airborne Inertial System

      LAN Ren-en1,LIU Zhi-cheng2,WANG Zhi-le3,CUI Yi-peng3

      (1. Military Representatives Office of the Third Research Institute,Beijing 100074,China;

      2. Military Representatives Innings of the Shenyang District,Shenyang 110000,China;

      3.Naval Aeronautical Engineering Institute Qingdao Branch,Qingdao 266041,China)

      Abstract: Inertial navigation system as the main module of modern military tactics guide,whose visual simulation is a difficulty and key in the development of simulator research. The function and structure of inertial navigation is introduced,and the inertial visualization simulation framework in the flight simulation software is put forward. Using GL Studio virtual instrument technologyand OpenGL technology,the specific simulation method and the implementation means of real-time picture′s flight simulation are presented. Experiment shows that the proposed method received a very good effect in the large-scale virtual equipment′s development.

      Keywords: inertial navigation system; visualization simulation; GL Studio; OpenGL

      慣性導(dǎo)航系統(tǒng)可視化顯示是飛機(jī)綜合戰(zhàn)術(shù)處理水平和飛機(jī)整體性能的先進(jìn)性體現(xiàn)之一。通常作為一個模塊通過多功能顯示器(MFD)顯示[1-2],利用MFD周邊鍵控制慣導(dǎo)功能及導(dǎo)航信息。慣導(dǎo)系統(tǒng)與顯示系統(tǒng)交互數(shù)據(jù)復(fù)雜,信息量大,因此在飛行仿真系統(tǒng)中構(gòu)建類似復(fù)雜的可視化設(shè)備成為一個較難解決的課題。本文利用專業(yè)的儀表仿真平臺GL Studio[3-4]嵌入OpenGL技術(shù)[5],實(shí)現(xiàn)慣導(dǎo)設(shè)備可視化仿真過程中圖形的實(shí)時動態(tài)顯示,提高計算機(jī)資源的利用率。

      1 慣性導(dǎo)航系統(tǒng)仿真架構(gòu)設(shè)計

      慣性導(dǎo)航系統(tǒng)作為現(xiàn)代軍機(jī)綜合性能的主要指標(biāo)之一,對其輸出的數(shù)據(jù)進(jìn)行可視化仿真可以使訓(xùn)練人員直觀地觀察出當(dāng)前的飛機(jī)狀態(tài)。主要包括:高度、俯仰角、傾斜角、載機(jī)航向、飛行計劃、返場著落、航路點(diǎn)坐標(biāo)、待飛距離和時間、無線電羅盤、地速等重要信息[6]。通過按壓MFD周邊鍵控制慣導(dǎo)狀態(tài),慣導(dǎo)完成相應(yīng)功能,輸出導(dǎo)航數(shù)據(jù)到顯示畫面。因此仿真過程中按照圖形畫面的類型進(jìn)行組織,根據(jù)訓(xùn)練人員按鍵過程進(jìn)行正確的邏輯解算[7-8],以達(dá)到實(shí)時正確的可視化顯示慣導(dǎo)輸出的數(shù)據(jù)。具體設(shè)計如圖1所示。

      圖1 慣導(dǎo)系統(tǒng)仿真總體操作流程

      將慣性的設(shè)計分為2個模塊。

      (1) 圖形顯示模塊

      該模塊結(jié)合慣性系統(tǒng)的功能,將每個功能的顯示畫面按級別劃分。利用GL Studio,結(jié)合OpenGL紋理映射和畫線對象按照畫面顯示內(nèi)容和運(yùn)動規(guī)律逐一開發(fā)。

      (2) 邏輯仿真與數(shù)據(jù)傳輸模塊

      根據(jù)周邊鍵按鍵步驟和周邊鍵的功能特點(diǎn),實(shí)時顯示對應(yīng)畫面,同時接收飛控解算的飛行數(shù)據(jù),確保邏輯執(zhí)行結(jié)果和數(shù)據(jù)顯示的正確性和實(shí)時性。

      1.1 GL Studio虛擬儀表仿真原理

      GL Studio是DISTI公司為儀表仿真軟件開發(fā)提供的一套系統(tǒng)解決方案,是一個獨(dú)立平臺的快速原型工具,用來創(chuàng)建實(shí)時的、二維或三維的、照片級的互動圖形界面[9]。用戶可以利用其圖形交互界面以所見即所得的方式來完成儀表面板的制作,通過其代碼編輯器來完成儀表內(nèi)部邏輯仿真。其代碼生成器能夠?qū)⒂脩舻闹谱鹘Y(jié)果自動生成C++和OpenGL源代碼,用戶既可以將其代碼進(jìn)行單獨(dú)編譯也可嵌入到其他程序中進(jìn)行編譯,從而避免了大量繁瑣的底層OpenGL開發(fā)細(xì)節(jié)。圖2是GL Studio的開發(fā)流程圖。

      圖2 GL Studio開發(fā)流程圖

      因此可以利用GL Studio實(shí)現(xiàn)慣導(dǎo)系統(tǒng)可視化仿真的開發(fā)。GL Studio仿真儀表能被創(chuàng)建成可執(zhí)行文件(.exe)、動態(tài)鏈接庫(.dll)、ActiveX控件[10]。由于慣導(dǎo)系統(tǒng)作為飛行模擬器的重要部分在三維虛擬環(huán)境下使用,因此將可視化顯示模塊制作完畢之后,利用GL Studio的LiveComponent模式生成動態(tài)鏈接庫在三維虛擬環(huán)境下調(diào)用。

      1.2 可視化仿真模塊的生成

      慣導(dǎo)系統(tǒng)在MFD中的顯示畫面通過按壓周邊鍵選擇。畫面顯示的內(nèi)容從復(fù)雜度上可以分為兩類:一類是對GL Studio創(chuàng)建的元件進(jìn)行基本控制,包括旋轉(zhuǎn)、移動、紋理運(yùn)動、數(shù)據(jù)顯示等;另一類是對大量動態(tài)曲線和復(fù)雜圖形的創(chuàng)建與控制[11],在構(gòu)建這類元件的時候可以充分利用OpenGL語句直接生成。

      1.2.1 基本畫面元件的構(gòu)建

      駕駛畫面是慣導(dǎo)可視化仿真主要畫面之一。其中的地平儀是控制比較復(fù)雜的一個元件,涉及到元件的旋轉(zhuǎn)、紋理運(yùn)動。下面就以地平儀的控制模型舉例說明,圖3為開發(fā)的駕駛畫面程序的截圖。地平儀為駕駛畫面正中間儀表。整個地平儀由天藍(lán)色和土黃色刻度帶組成,代表飛機(jī)俯仰角的正負(fù)值,俯仰角范圍是±900,刻度帶隨著飛機(jī)即時俯仰角上下滾動,以中間水平線為基準(zhǔn)。地平儀中間的飛機(jī)符號代表飛機(jī)傾斜角,范圍是±600,與地平儀下面的黃色圓弧刻度相對應(yīng)。據(jù)此分析建立地平儀的控制模型。

      (1) 俯仰角。利用GL Studio創(chuàng)建基本的矩形元件,貼上刻度帶紋理,然后計算出每度紋理的移動量,通過調(diào)用GL Studio的ChangeVTexture函數(shù)控制紋理垂直運(yùn)動。

      scale=Bottom-TopTotal Texture Height

      (1)

      式中:scale表示俯仰角每度對應(yīng)的紋理移動的像素數(shù);Bottom和Top分別表示俯仰刻度帶-900和+900的起始位置(像素);Total Texture Height表示紋理的高度(像素)。控制方式如下:

      if(pitchAngle>=(-90)&& pitchAngle <=90)

      {

      ChangeVTexture(Dir_Pitch_U,0.01f,0,1024,

      pitchAngle *scale,0);

      }

      pitchAngle表示接收的飛控俯仰角,Dir_Pitch_U表示GL Studio創(chuàng)建的帶俯仰刻度帶紋理的地平儀元件,0.01f表示刻度帶運(yùn)動的精度,0和1 024表示刻度帶的起止范圍,pitchAngle *scale得到俯仰刻度帶的即時移動量,0是刻度帶開始位置。

      圖3 MFD駕駛畫面

      (2) 傾斜角。創(chuàng)建矩形元件,貼上飛機(jī)符號紋理。通過調(diào)用GL Studio的DynamicRotate函數(shù)控制飛機(jī)符號的旋轉(zhuǎn)代表傾斜角??刂品绞饺缦拢?/p>

      Dir_ Roll _U->DynamicRotate(RollAngle,Z_AXIS);

      Dir_ Roll _U代表創(chuàng)建的帶飛機(jī)符號紋理的元件,RollAngle表示接收的飛控傾斜角,Z_AXIS表示繞z軸旋轉(zhuǎn)。

      1.2.2 嵌入OpenGL實(shí)現(xiàn)動態(tài)曲線和復(fù)雜圖形

      GL Studio對OpenGL進(jìn)行了較好的封裝,把OpenGL對點(diǎn)、線的操作封裝成對幾何元件的操作[9]。這樣做的好處是可以進(jìn)行可視化的設(shè)計,使得設(shè)計過程變得簡單、所見即所得。隨著這種封裝技術(shù)的成熟,DISTI公司已經(jīng)不希望開發(fā)者私自在GL Studio中嵌入OpenGL語句,而是希望由可視化的幾何元件解決所有問題。但是隨著仿真程度的提高和仿真對象復(fù)雜性的加大以及用戶對仿真要求多元化的增強(qiáng),這種要求已經(jīng)成為限制其功能延伸的一個瓶頸。在GL Studio中嵌入OpenGL的一般流程如圖4所示。

      由于大部分工作是利用OpenGL代碼構(gòu)建圖形,所以對編程尤其是OpenGL編程的要求較一般的儀表仿真要高一些。對于復(fù)雜儀表中動態(tài)曲線和復(fù)雜圖形的實(shí)現(xiàn)在規(guī)劃設(shè)計階段由設(shè)計人員單獨(dú)列出,基于GL Studio庫文件創(chuàng)建該元件。GL Studio繪圖原理是在Calculate時鐘線程中周期性調(diào)用繪圖函數(shù)實(shí)現(xiàn)的,因此在Calculate線程中加入OpenGL實(shí)現(xiàn)的繪圖函數(shù)(DrawOpenGL方法),編譯完成元件構(gòu)件。在GL Studio創(chuàng)建的儀表庫文件中,通過Insert a Componet命令,把動態(tài)曲線導(dǎo)入儀表中。至此,在GL Studio嵌入OpenGL構(gòu)建儀表的基本過程已經(jīng)完成。

      圖4 GL Studio嵌入OpenGL流程

      慣導(dǎo)系統(tǒng)可視化仿真中飛行導(dǎo)航計劃是典型的動態(tài)變化曲線。在GL Studio中直接構(gòu)建動態(tài)實(shí)時航線需要對幾何元件的點(diǎn)進(jìn)行操控,在必要的時候還要對頂點(diǎn)進(jìn)行增加或刪減,實(shí)現(xiàn)起來比較困難。采用OpenGL語句直接生成[5],只需要考慮畫線的算法問題,而不必把大部分時間浪費(fèi)在如何操控各個頂點(diǎn)上。圖5中所繪的4幅圖形是動態(tài)創(chuàng)建的航線及航路點(diǎn),其中直線是利用glLineStipple設(shè)置線的形式,利用glVertex2f設(shè)置線的頂點(diǎn)生成,這些線的形狀與位置根據(jù)飛機(jī)坐標(biāo)系實(shí)時變化。

      圖5 構(gòu)建的動態(tài)實(shí)時航線

      2 應(yīng)用評估

      目前,該可視化仿真系統(tǒng)已應(yīng)用于某型固定翼戰(zhàn)機(jī)的虛擬仿真訓(xùn)練系統(tǒng)和半實(shí)物模擬訓(xùn)練器。系統(tǒng)在Inter(R)Core(TM)2 CPU 4 300 @1.80 GHz、內(nèi)存1 GB、顯卡NVIDIA GeForce9300硬件條件下運(yùn)行時,性能穩(wěn)定,畫面的逼真度高,數(shù)據(jù)的實(shí)時性好,完全滿足飛行模擬訓(xùn)練的需要。虛擬訓(xùn)練座艙內(nèi)MFD實(shí)時顯示的飛行導(dǎo)航效果如圖6所示。表1是交互響應(yīng)結(jié)果。

      表1 實(shí)時交互結(jié)果

      應(yīng)用實(shí)例儀表屬性總數(shù)屬性初始化時間 /s交互響應(yīng)時間范圍 /s

      某固定翼飛機(jī)13120.5940~0.031

      某直升機(jī)14920.6150~0.072

      圖6 虛擬座艙實(shí)時顯示

      3 結(jié) 論

      該導(dǎo)航系統(tǒng)可視化仿真的實(shí)現(xiàn)表明,利用GL Studio嵌入OpenGL技術(shù),可以實(shí)現(xiàn)復(fù)雜設(shè)備的可視化仿真,實(shí)現(xiàn)大型虛擬儀器儀表的快速開發(fā),同時該方法適用于大型軍事裝備與民用設(shè)備的整體仿真,具有很好的實(shí)用價值。

      參考文獻(xiàn)

      [1]陳曦,李國清,宋吉江,等.某型軍機(jī)多功能顯示系統(tǒng)的仿真[J].系統(tǒng)仿真學(xué)報,2006,18(z2):457-459.

      [2]羅春波,沈?yàn)槿?宋子善.飛行多功能顯示器仿真系統(tǒng)的研究與實(shí)現(xiàn)[J].計算機(jī)仿真,2004,21(12):249-251.

      [3]北京華力創(chuàng)通科技有限公司.GL Studio:真實(shí)儀表面板開發(fā)工具[J].軟件世界,2007(2):44-45.

      [4]樊世友.GL Studio軟件在視景仿真建模中的應(yīng)用[J].計算機(jī)工程,2002(3):260-261.

      [5]SHREINER Dave,WOO Mason,NEIDER Jackie,et al.OpenGL編程指南[M].4版.鄧鄭祥,譯.北京:人民郵電出版社,2005.

      [6]劉愛元,趙國榮,祝萌.飛行控制與慣性導(dǎo)航仿真訓(xùn)練系統(tǒng)的研究[J].計算機(jī)仿真,2006,23(4):274-277.

      [7]劉鵬遠(yuǎn),張錫恩.虛擬操作訓(xùn)練系統(tǒng)中的過程仿真模型研究[J].計算機(jī)仿真,2004,21(3):161-163.

      [8]陳青華,謝曉方,高波,等.虛擬座艙顯控系統(tǒng)的分步式仿真[J].計算機(jī)應(yīng)用與軟件,2005,22(10):135-136.

      [9]Distributed Simulation Technology Inc.. Gl studio user′s guide Ver3.0 [M]. USA: Distributed Simulation Technology Inc.,2005.

      [10]付超,楊善,胡小建.基于ActiveX的虛擬控制系統(tǒng)通用集成平臺研究[J].系統(tǒng)仿真學(xué)報,2006,18(9):2451-2454.

      [11]李哲煜,張峋,楊洪波.大型運(yùn)輸機(jī)綜合訓(xùn)練器虛擬儀表系統(tǒng)的研究[J].計算機(jī)仿真,2007,24(7):247-250.

      注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文

      丽水市| 马公市| 潮安县| 志丹县| 曲阳县| 两当县| 桦甸市| 仁怀市| 太康县| 邵阳县| 阳东县| 舒城县| 富宁县| 高唐县| 南昌市| 上虞市| 慈溪市| 梁平县| 乌兰浩特市| 连云港市| 栾川县| 行唐县| 竹山县| 特克斯县| 定陶县| 竹山县| 宣恩县| 启东市| 兴仁县| 库车县| 霍邱县| 镇平县| 隆尧县| 微山县| 正定县| 张家口市| 建阳市| 精河县| 延寿县| 石家庄市| 万荣县|