亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VC++/GL Studio 的通用飛行組合虛擬儀表設(shè)計(jì)及實(shí)現(xiàn)

        2019-03-25 02:36:22安佳寧
        宇航計(jì)測(cè)技術(shù) 2019年1期

        安佳寧

        (中國(guó)人民解放軍92419 部隊(duì),遼寧興城125106)

        1 引 言

        某飛行視景仿真系統(tǒng)為半實(shí)物仿真系統(tǒng),能夠?qū)崿F(xiàn)特定型號(hào)無(wú)人機(jī)的全數(shù)字動(dòng)態(tài)仿真,能在虛擬三維場(chǎng)景中顯示無(wú)人機(jī)從起飛前測(cè)試到空中飛行的全過(guò)程,在此過(guò)程中,需要同步顯示無(wú)人機(jī)的各項(xiàng)飛行參數(shù)。 通過(guò)基于VC++的GUI 編程方案來(lái)實(shí)現(xiàn)參數(shù)的通信、顯示較為成熟,但也存在開(kāi)發(fā)的界面相對(duì)簡(jiǎn)單,數(shù)據(jù)不直觀等問(wèn)題,而通過(guò)VC++/GL Studio 的混合編程來(lái)開(kāi)發(fā)圖形化界面以提升數(shù)據(jù)可視化效果是較為可行的技術(shù)途徑[1-3]。

        GL Studio 是由美國(guó)DISTI 公司開(kāi)發(fā)的專業(yè)儀表仿真軟件,它運(yùn)用面向構(gòu)件的圖形化仿真技術(shù),能夠把繁雜的程序和數(shù)據(jù)變成直觀的儀表圖像進(jìn)行顯示,使得開(kāi)發(fā)人員在建模初期就可以實(shí)現(xiàn)所見(jiàn)即所得的效果,使仿真的重心從程序的編寫(xiě)改為對(duì)仿真對(duì)象的分析和研究[4-6]。

        2 飛行組合儀表設(shè)計(jì)

        2.1 組合儀表構(gòu)成及布局

        根據(jù)顯示需求,組合儀表應(yīng)顯示的信息包括無(wú)人機(jī)姿態(tài)、航向、速度、高度及發(fā)動(dòng)機(jī)油門(mén)偏度狀態(tài)。 為此在組合儀表中設(shè)計(jì)了姿態(tài)顯示器和水平航向指示器。 速度和高度信息采用刻度條表示,分別用于顯示無(wú)人機(jī)的實(shí)時(shí)飛行速度和高度信息,發(fā)動(dòng)機(jī)油門(mén)偏度狀態(tài)采用儀表刻度盤(pán)形式表示。 儀表的布局考慮到視覺(jué)可達(dá)性,將姿態(tài)顯示器居中,速度和高度刻度條分別在姿態(tài)顯示器左右,下方左邊為水平方位儀,右邊為油門(mén)偏度儀表[7]。

        2.2 組合儀表詳細(xì)設(shè)計(jì)

        儀表的配色:儀表背景為黑色,姿態(tài)顯示器中地面背景為棕褐色,天空背景為藍(lán)色;其它儀表中刻度為白色,當(dāng)前正在起作用的方式為綠色,刻度指示符為綠色[8]。

        姿態(tài)顯示器提供姿態(tài)保護(hù)告警,當(dāng)橫滾通道γ ≥30° 時(shí),滾轉(zhuǎn)角指示符顯示為黃色,當(dāng)γ ≥45°時(shí),滾轉(zhuǎn)角指示符顯示為紅色。

        發(fā)動(dòng)機(jī)油門(mén)偏度儀表刻度盤(pán)中,油門(mén)小于70%為綠色,大于70%小于90%為黃色,大于90%為紅色。

        2.3 儀表開(kāi)發(fā)流程

        GL Studio 的開(kāi)發(fā)流程如圖1所示。

        圖1 GL Studio 開(kāi)發(fā)流程框圖Fig.1 Development flow chart of GL Studio

        本項(xiàng)目中,由于無(wú)人機(jī)沒(méi)有駕駛座艙,因此無(wú)需按照真實(shí)座艙和儀表面板進(jìn)行仿真,省卻了從照片開(kāi)始進(jìn)行處理的環(huán)節(jié)。 儀表的開(kāi)發(fā)工作直接從創(chuàng)建組件開(kāi)始,隨后為各組件創(chuàng)建行為屬性,生成C++代碼,在VC 環(huán)境下調(diào)試編譯運(yùn)行。

        2.4 儀表數(shù)據(jù)驅(qū)動(dòng)機(jī)制

        視景仿真系統(tǒng)運(yùn)行時(shí),飛控計(jì)算機(jī)以有線通信方式向地面測(cè)控站發(fā)送下行數(shù)據(jù),地面測(cè)控站按固定幀周期通過(guò)以太網(wǎng)向視景仿真系統(tǒng)主控子程序發(fā)送遙測(cè)數(shù)據(jù),驅(qū)動(dòng)飛機(jī)三維模型飛行和儀表顯示。

        3 組合儀表軟件實(shí)現(xiàn)

        3.1 儀表編程

        GL Studio 在用于人機(jī)界面開(kāi)發(fā)時(shí),可以各自獨(dú)立開(kāi)發(fā)可重用軟件對(duì)象(Reusable Software Object,RSO),然后將其轉(zhuǎn)化成?. gls 組件,最后予以集成實(shí)現(xiàn)組合儀表功能。

        3.1.1 速度刻度條

        在GL Studio 中新建文件,設(shè)置窗口屬性,“Create”中通過(guò)選擇“Inserts a GlsLinear Scale”、“Line Object”等,生成刻度條及對(duì)應(yīng)刻度數(shù)值。

        在Code 中,為類屬性添加float 型成員變量_altitude,定義高度顯示函數(shù):

        void Altitude(const float& value)

        該函數(shù)的功能是將輸入的高度參數(shù)按比例在刻度條中移動(dòng),實(shí)現(xiàn)高度的動(dòng)態(tài)顯示。

        關(guān)鍵代碼為:

        glData 為儀表控件通過(guò)網(wǎng)絡(luò)端口UDP 協(xié)議接收到的飛控?cái)?shù)據(jù)幀。 最后通過(guò)“Convert component”將其轉(zhuǎn)化成組件對(duì)象。

        3.1.2 高度刻度條

        高度刻度條控件的設(shè)計(jì)與速度刻度條類似。

        3.1.3 姿態(tài)顯示器

        姿態(tài)顯示器用于顯示無(wú)人機(jī)的俯仰和橫滾角。新建文件,設(shè)置窗口屬性,“Create”中通過(guò)選擇“Inserts a GlsLinear Scale”、“Line Object”等,生成俯仰通道刻度條及對(duì)應(yīng)刻度數(shù)值。

        3.1.3.1 俯仰通道

        在Code 中,為類屬性添加float 型成員變量_pitch,定義俯仰角顯示函數(shù)void Pitch(const float&value),實(shí)現(xiàn)將輸入的角度按比例在刻度條上顯示的功能。

        temp 為通過(guò)飛控?cái)?shù)據(jù)幀計(jì)算出的當(dāng)前俯仰角值,需要判斷正負(fù)。

        3.1.3.2 滾轉(zhuǎn)通道

        在Code 中,為類屬性添加float 型成員變量_roll,定義滾轉(zhuǎn)角顯示函數(shù)void Roll(const float&value),實(shí)現(xiàn)將輸入的角度按比例在儀表刻度上顯示的功能。

        部分實(shí)現(xiàn)關(guān)鍵代碼如下:

        temp 為通過(guò)飛控?cái)?shù)據(jù)幀計(jì)算出的當(dāng)前滾轉(zhuǎn)角值,需要判斷正負(fù)。 最后通過(guò)“Convert component”將其轉(zhuǎn)化成組件對(duì)象。

        3.1.4 水平方位儀

        水平方位儀在GL Studio 中新建文件,設(shè)置窗口屬性,“Create”中通過(guò)選擇“Inserts a Gls Angular Scale”繪制圓盤(pán)刻度,再通過(guò)“Line Object”、“Text Box”等生成東南西北及刻度數(shù)值。

        在Code 中,為類屬性添加float 型成員變量_h(yuǎn)eading,定義航向顯示函數(shù)void Heading(const float& value),實(shí)現(xiàn)將輸入的角度按比例在儀表刻度上顯示的功能。

        glData 為儀表控件通過(guò)網(wǎng)絡(luò)端口UDP 協(xié)議接收到的飛控?cái)?shù)據(jù)幀。 最后通過(guò)“Convert component”將其轉(zhuǎn)化成組件對(duì)象。

        3.1.5 油門(mén)偏度

        油門(mén)偏度控件的設(shè)計(jì)與水平方位儀類似。

        3.1.6 組合儀表的集成

        在VC++中新建Standalone AppWizard 工程,進(jìn)入?.gls,將以上單獨(dú)設(shè)計(jì)的控件分別通過(guò)“Inserts a Component”加入組合儀表界面,并按設(shè)計(jì)界面布局,界面中的文字標(biāo)注采用貼圖實(shí)現(xiàn),最后在Generation 中生成C++代碼。

        4 組合儀表通信接口設(shè)計(jì)

        Sockets 規(guī)范是得到廣泛應(yīng)用的、開(kāi)放的、支持多種協(xié)議的網(wǎng)絡(luò)編程接口[9],而網(wǎng)絡(luò)通信中常見(jiàn)的是傳輸控制協(xié)議TCP 和用戶數(shù)據(jù)報(bào)協(xié)議UDP。 前者面向連接、具有數(shù)據(jù)確認(rèn)和重傳機(jī)制;后者不需要建立連接,實(shí)時(shí)性較好[10]。 考慮到本項(xiàng)目的實(shí)際應(yīng)用情況,采用了UDP 協(xié)議。

        組合儀表處于接收端,首先創(chuàng)建套接字,然后將套接字綁定到一個(gè)端口,循環(huán)接收數(shù)據(jù)即可。 關(guān)鍵實(shí)現(xiàn)代碼如下:

        在初始化函數(shù)Initialize()中加載套接字庫(kù):

        5 編譯調(diào)試

        在VC 環(huán)境下編譯調(diào)試,根據(jù)飛控幀協(xié)議對(duì)接收的飛控?cái)?shù)據(jù)進(jìn)行解析處理,并驅(qū)動(dòng)對(duì)應(yīng)的儀表顯示,運(yùn)行顯示如圖2所示。

        6 結(jié)束語(yǔ)

        本文采用VC++/GL Studio 混合編程,實(shí)現(xiàn)了某無(wú)人機(jī)飛行仿真系統(tǒng)的儀表顯示需求,并通過(guò)VC++平臺(tái)實(shí)現(xiàn)了網(wǎng)絡(luò)通信和數(shù)據(jù)驅(qū)動(dòng)儀表功能。實(shí)際應(yīng)用表明:該組合儀表人機(jī)界面友好,儀表組件可重構(gòu)性好,工作性能可靠穩(wěn)定,能夠適用于其它同類無(wú)人機(jī)飛行仿真顯示系統(tǒng)和飛行訓(xùn)練系統(tǒng)。

        圖2 飛行組合儀表效果圖Fig.2 Effect picture of flight simulation integrated instrument

        亚洲成人av一区二区三区| 亚洲 自拍 另类 欧美 综合| 国产青青草在线观看视频| 国产三级精品视频2021| 无套熟女av呻吟在线观看| 久久伊人少妇熟女大香线蕉| 777精品久无码人妻蜜桃| 免费a级毛片永久免费| 丰满五十六十老熟女hd| 国产美女白浆| 五月天综合社区| 亚洲免费观看一区二区三区| 少妇人妻出水中文字幕乱码| 亚洲精品中文字幕熟女| 国产成人av三级在线观看韩国| 亚洲乱码中文字幕视频| 无码少妇丰满熟妇一区二区| 在线精品无码字幕无码av| 四虎影视免费观看高清视频| 亚洲碰碰人人av熟女天堂| 国产精品99久久久久久98AV| 久久精品国产88久久综合| 日本久久精品国产精品| 国产日产亚洲系列首页| 国产婷婷色一区二区三区深爱网 | 亚洲熟妇色自偷自拍另类| 三年中文在线观看免费大全| 欧美疯狂做受xxxx高潮小说| 亚洲成在人线久久综合| 亚洲精品在线观看一区二区 | 国产精品成年片在线观看| 精品2021露脸国产偷人在视频| 亚洲精品尤物av在线网站| 中文字幕人妻被公喝醉在线| 日本一区二区不卡精品| 成人内射国产免费观看| 国产麻豆精品一区| 中国精品视频一区二区三区| 丝袜美腿亚洲综合玉足| 久久人妻av无码中文专区| 欧洲美女黑人粗性暴交|