程滔
摘要
在無人直升機(jī)地面測(cè)控系統(tǒng)中,既要保證設(shè)備的體積小,又要保證系統(tǒng)的實(shí)時(shí)性和穩(wěn)定性,文章針對(duì)此問題提出了一種基于Qt,在Windows平臺(tái)下的無人直升機(jī)顯控終端軟件設(shè)計(jì)新方法。Qt因具有跨平臺(tái)特性,逐漸成為圖形界面的主流開發(fā)工具。本軟件采用基于Qt圖形化視圖框架,程序架構(gòu)清晰。使用Qwt工具及樣式表使得圖形界面設(shè)計(jì)簡(jiǎn)單、界面友好美觀。
【關(guān)鍵詞】無人直升機(jī) Qt 圖形視圖框架 樣式表
1引言
無人直升機(jī)是指由無線電地面遙控飛行或/和自主控制飛行的可垂直起降不載人飛行器,在構(gòu)造形式上屬于旋翼飛行器,在功能上屬于起降飛行器。無人直升機(jī)具有垂直起降、空中懸停、不拘泥于跑道等特點(diǎn),能完成不適合有人直升機(jī)執(zhí)行的危險(xiǎn)空中作業(yè)或固定翼無人機(jī)無法完成的任務(wù)。
Qt是C++圖形用戶界面應(yīng)用程序開發(fā)框架。Qt具有優(yōu)良的跨平臺(tái)特性,Windows、Linux、Solaris等,在某一環(huán)境下編寫的源代碼,只要稍加修改或不修改即可在不同的環(huán)境下進(jìn)行編譯運(yùn)行。
無人直升機(jī)地面顯控終端軟件以實(shí)現(xiàn)遙控、遙測(cè)數(shù)據(jù)收發(fā)為主。軟件由飛行監(jiān)控、指令遙控、遙調(diào)控制、載荷監(jiān)控等顯示區(qū)域構(gòu)成人機(jī)操作界面,其它信息可隱藏,必要時(shí)調(diào)出顯示。
2軟件系統(tǒng)設(shè)計(jì)
地面監(jiān)控軟件以遙控、遙測(cè)數(shù)據(jù)收發(fā)為主,在系統(tǒng)其它部件的配合下完成系統(tǒng)配置、起降監(jiān)控、任務(wù)監(jiān)控等功能。
地面監(jiān)控軟件有兩種模式,一種是監(jiān)控模式,接收飛控、任務(wù)等的數(shù)據(jù);一種是數(shù)據(jù)回放模式,選擇本地歷史數(shù)據(jù)回放。系統(tǒng)啟動(dòng)默認(rèn)為監(jiān)控模式,在該模式下,軟件完成上行遙控?cái)?shù)據(jù)的組幀及發(fā)送、下行遙測(cè)數(shù)據(jù)的接收、處理及顯示、下行任務(wù)數(shù)據(jù)的接收、處理及顯示等。
2.1Qwt控件
地面監(jiān)控軟件采用模塊化設(shè)計(jì),分為飛行控制模塊和飛行狀態(tài)模塊。飛行狀態(tài)模塊設(shè)計(jì)成五個(gè)部分:飛行姿態(tài)、系統(tǒng)狀態(tài)及故障告警顯示、典型參數(shù)顯示、遙控遙調(diào)控制指令及狀態(tài)欄。飛行姿態(tài)是用戶非常關(guān)心的版塊,該部分采用Qwt控件設(shè)計(jì)實(shí)現(xiàn),可以達(dá)到理想的人機(jī)交互效果。
Qwt,全稱是Qt Widgets for Technical Application。它為具有技術(shù)背景的程序提供GUI組件和一組實(shí)用類。Qwt基于Qt開發(fā),繼承了Qt的跨平臺(tái)特性。利用Qwt中QwtDial類制作地平儀面板,QwtScaleWidget類制作高度、速度刻度。地面監(jiān)控軟件提供典型曲線顯示功能,曲線可顯示的有姿態(tài)角、姿態(tài)角速率、加速度等。典型曲線界面用QwtPlot控件設(shè)計(jì)。QwtPlot用來繪制二維圖像,在畫板上可以無限制的顯示繪畫組件。
2.2界面布局和風(fēng)格
QtCreater是一個(gè)跨平臺(tái)的、完整的Qt集成開發(fā)環(huán)境,其中包括了高級(jí)C++代碼編譯器、項(xiàng)目和生成管理工具、集成的上下文相關(guān)的幫助系統(tǒng)、圖形化調(diào)試器、代碼管理和瀏覽工具等。其集成了QtDesigner的功能,QtDesigner是QtGUI編程語言一系列工具中的一個(gè),該工具提供了Qt基本的可繪制窗口的部件,產(chǎn)生.ui文件。添加Qwt控件后,其控件如QtDesigner設(shè)計(jì)器中其它控件一樣,通過鼠標(biāo)拖放相應(yīng)部件,能夠高效、快速的實(shí)現(xiàn)界面的整體框架設(shè)計(jì)。對(duì)GUI界面美化主要用到樣式表,樣式表可快速、高效的完成部件的外觀風(fēng)格設(shè)計(jì)。如遙控遙調(diào)控制指令按鈕設(shè)計(jì)為三態(tài)按鈕,即可用如下代碼實(shí)現(xiàn):
QPushButton{border-image:url(:/images/normal.png);}
QPushButtomhover{border-image:url(:/images/hover.png);}
QPushButtompressed{border-image:url(:/images/press.png);}
在用戶界面設(shè)計(jì)過程中,布局管理是必不可少的,直接影響用戶的使用效果。Qt提供了QLayout類及其子類作為布局管理器,常用的布局管理器類有QBoxLayout、QGridLayout、QFormLayout和QStackedLayout等。
本軟件使用QtCreater設(shè)計(jì)地面顯控軟件界面上的部件和窗口,在人機(jī)交互過程中,使用了信號(hào)與槽的機(jī)制。
3應(yīng)用實(shí)例
在某項(xiàng)目中,在Windows環(huán)境下采用Qt5.5.1進(jìn)行無人直升機(jī)地面顯控終端界面的軟件開發(fā)。用戶界面主要包括五大部分:飛行姿態(tài)、典型數(shù)據(jù)曲線及故障告警顯示、典型參數(shù)顯示、遙控遙調(diào)控制指令及狀態(tài)欄。飛行姿態(tài)主要是以圖形化的形式直觀展現(xiàn)出無人直升機(jī)的姿態(tài)信息,在飛行姿態(tài)區(qū)域上方提供啟動(dòng)數(shù)據(jù)回放、源碼顯示、任務(wù)窗口及配置信息功能按鈕;典型數(shù)據(jù)曲線及故障告警顯示是根據(jù)需要選擇性的顯示相關(guān)數(shù)據(jù)曲線及整個(gè)系統(tǒng)故障信息顯示;典型參數(shù)顯示是顯示用戶關(guān)心的參數(shù)信息;遙控遙調(diào)控制指令區(qū)域是發(fā)送上行控制指令區(qū)域;狀態(tài)欄是當(dāng)前模式及時(shí)間的顯示。
4結(jié)論
本文中添加的Qwt為Qwt-6.1.2。Qwt的畫圖控件比Qt自帶的控件美觀,但是需要編譯進(jìn)行添加。通過各項(xiàng)數(shù)據(jù)測(cè)試及地面聯(lián)試試驗(yàn)顯示,使用Qt對(duì)無人直升機(jī)地面顯控終端軟件進(jìn)行設(shè)計(jì)與開發(fā),能夠滿足系統(tǒng)的要求,同時(shí)實(shí)時(shí)性好、界面美觀。
參考文獻(xiàn)
[1]劉波,張洪濤,管明森.無人直升機(jī)技術(shù)的發(fā)展[J].艦船電子工程,2011(03).
[2]馬聰穎,高瑞周,朱玉祜.無人機(jī)地面控制站通用化軟件架構(gòu)[J].航空計(jì)算計(jì)算,2013(03).
[3]周名陽,韓秀玲.基于Qt的圖像數(shù)據(jù)網(wǎng)絡(luò)傳輸應(yīng)用研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2011(06).
[4]王冰山,郝延剛,王遠(yuǎn)斌.基于Qt的船用導(dǎo)航雷達(dá)顯控終端軟件設(shè)計(jì)[J].江蘇科技信息,2014(22):59+65.endprint