国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2019-03-25 02:36:22安佳寧
宇航計測技術(shù) 2019年1期
關鍵詞:偏度油門控件

安佳寧

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

1 引 言

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

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

2 飛行組合儀表設計

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

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

2.2 組合儀表詳細設計

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

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

發(fā)動機油門偏度儀表刻度盤中,油門小于70%為綠色,大于70%小于90%為黃色,大于90%為紅色。

2.3 儀表開發(fā)流程

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

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

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

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

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

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

3.1 儀表編程

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

3.1.1 速度刻度條

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

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

void Altitude(const float& value)

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

關鍵代碼為:

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

3.1.2 高度刻度條

高度刻度條控件的設計與速度刻度條類似。

3.1.3 姿態(tài)顯示器

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

3.1.3.1 俯仰通道

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

temp 為通過飛控數(shù)據(jù)幀計算出的當前俯仰角值,需要判斷正負。

3.1.3.2 滾轉(zhuǎn)通道

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

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

temp 為通過飛控數(shù)據(jù)幀計算出的當前滾轉(zhuǎn)角值,需要判斷正負。 最后通過“Convert component”將其轉(zhuǎn)化成組件對象。

3.1.4 水平方位儀

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

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

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

3.1.5 油門偏度

油門偏度控件的設計與水平方位儀類似。

3.1.6 組合儀表的集成

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

4 組合儀表通信接口設計

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

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

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

5 編譯調(diào)試

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

6 結(jié)束語

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

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

猜你喜歡
偏度油門控件
對稱分布的矩刻畫
駕哥
岷峨詩稿(2020年4期)2020-11-18 23:54:01
關于.net控件數(shù)組的探討
軟件(2018年7期)2018-08-13 09:44:42
基于偏度的滾動軸承聲信號故障分析方法
考慮偏度特征的動態(tài)多響應穩(wěn)健參數(shù)設計與優(yōu)化
基于偏度、峰度特征的BPSK信號盲處理結(jié)果可信性評估
電子器件(2015年5期)2015-12-29 08:42:56
誤將油門當作剎車的防錯裝置
誤將油門當作剎車的防錯裝置
就這樣玩會VBA中常見的自定義控件
電腦迷(2012年24期)2012-04-29 00:44:03
農(nóng)用機動車油門使用注意事項
名山县| 和林格尔县| 湟中县| 库尔勒市| 林西县| 郁南县| 大厂| 五常市| 牟定县| 乌鲁木齐市| 阳东县| 安顺市| 余庆县| 宕昌县| 甘谷县| 河曲县| 屏东县| 华宁县| 湘阴县| 永新县| 蒙城县| 子长县| 陕西省| 衡阳市| 扶余县| 湘潭市| 鄂托克前旗| 洛扎县| 绥滨县| 沙洋县| 石屏县| 元江| 池州市| 肇庆市| 广西| 阿克| 潞城市| 霍州市| 织金县| 林州市| 阿城市|