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

?

基于Qt的無(wú)人機(jī)地面站軟件系統(tǒng)的設(shè)計(jì)

2017-03-12 06:42:08李帥范項(xiàng)媛
關(guān)鍵詞:航點(diǎn)航跡報(bào)文

李帥, 范項(xiàng)媛

(1.中國(guó)電子科技集團(tuán)公司第三十八研究所, 安徽合肥 230088;2.孔徑陣列與空間探測(cè)安徽省重點(diǎn)實(shí)驗(yàn)室, 安徽合肥 230088;3.智能情報(bào)處理重點(diǎn)實(shí)驗(yàn)室, 安徽合肥 230088)

0 引言

無(wú)人駕駛飛機(jī)是一種有動(dòng)力,可控制,能攜帶多種任務(wù)設(shè)備,執(zhí)行多種任務(wù),由無(wú)線電遙控操縱或自主程序控制,并能重復(fù)使用的無(wú)人駕駛航空器,簡(jiǎn)稱無(wú)人機(jī)(Unmanned Aerial Vehicle, UAV)[1]。由于其獨(dú)有的零傷亡、低損耗、可重復(fù)使用和高機(jī)動(dòng)等優(yōu)勢(shì),受到越來(lái)越多的重視,使用范圍包括軍事、民用和科學(xué)研究三大領(lǐng)域。

無(wú)人機(jī)地面站(UAV Ground Control Station)作為其中非常重要的一部分,實(shí)現(xiàn)了對(duì)無(wú)人機(jī)飛行狀態(tài)和設(shè)備狀態(tài)的實(shí)時(shí)檢測(cè),控制無(wú)人機(jī)飛行軌跡,并對(duì)一些故障及時(shí)給與警報(bào)或采取相應(yīng)處理措施。

本文重點(diǎn)討論無(wú)人機(jī)地面站中軟件系統(tǒng)的設(shè)計(jì),由于目前對(duì)國(guó)產(chǎn)化操作系統(tǒng)的推廣,要求軟件可同時(shí)支持Windows平臺(tái)和Linux平臺(tái)。Qt采用C++軟件開(kāi)發(fā)框架,可實(shí)現(xiàn)“一次編寫(xiě),隨處編譯”[2],使程序在不同平臺(tái)下完美運(yùn)行,選擇Qt進(jìn)行地面站軟件的設(shè)計(jì)已經(jīng)是當(dāng)務(wù)之急。

以下從系統(tǒng)組成、軟件系統(tǒng)設(shè)計(jì)和設(shè)計(jì)實(shí)例三個(gè)方面展開(kāi)闡述,給出基于Qt開(kāi)發(fā)平臺(tái)的軟件設(shè)計(jì)方案。

1 系統(tǒng)組成

1.1 無(wú)人機(jī)系統(tǒng)組成

無(wú)人機(jī)系統(tǒng)主要包括兩部分:飛行器(Air Vehicle)和無(wú)人機(jī)地面站,如圖1所示。

圖1 無(wú)人機(jī)系統(tǒng)組成圖

在飛行器執(zhí)行飛行任務(wù)之前,首先進(jìn)行飛行器的航跡規(guī)劃和航跡注入,由地面站通過(guò)無(wú)線通信裝備向飛行器發(fā)送航跡規(guī)劃遙測(cè)命令。確認(rèn)航跡注入成功無(wú)誤,進(jìn)入飛行器飛行控制,由地面站通過(guò)無(wú)線通信裝備向飛行器發(fā)送飛行遙測(cè)命令。飛行任務(wù)執(zhí)行過(guò)程中,飛行器通過(guò)無(wú)線通信設(shè)備與地面站進(jìn)行鏈接,飛行器按照20 Hz的速率實(shí)時(shí)向地面站發(fā)送遙測(cè)信息,其中包括飛行器的經(jīng)度、緯度、高度、橫滾角、俯仰角、轉(zhuǎn)速、水溫等。操縱員可實(shí)時(shí)在地面站顯控席位觀察飛行器的各種狀態(tài),并對(duì)異常狀態(tài)進(jìn)行適當(dāng)?shù)娜斯じ深A(yù),保證飛行器的安全和飛行任務(wù)的有效完成。無(wú)人機(jī)系統(tǒng)的數(shù)據(jù)流如圖2所示。

圖2 無(wú)人機(jī)系統(tǒng)數(shù)據(jù)流

1.2 地面站系統(tǒng)組成

地面站系統(tǒng)[3-4]包括硬件和軟件兩個(gè)部分,硬件主要包括地面站的機(jī)房、路由器、電腦機(jī)柜、顯控席位臺(tái)等,本文重點(diǎn)討論地面站軟件系統(tǒng)的設(shè)計(jì)。

地面站軟件系統(tǒng)主要是對(duì)無(wú)人機(jī)的位置以及狀態(tài)信息進(jìn)行實(shí)時(shí)顯示,同時(shí)可以對(duì)無(wú)人機(jī)的工作模式及參數(shù)進(jìn)行控制,對(duì)飛行軌跡進(jìn)行規(guī)劃,保證無(wú)人機(jī)的安全飛行和飛行任務(wù)的有效完成。

為了提高地面站軟件系統(tǒng)的魯棒性,軟件系統(tǒng)由3個(gè)獨(dú)立進(jìn)程組成,包括飛行器狀態(tài)監(jiān)視進(jìn)程、飛行器控制進(jìn)程和航跡規(guī)劃進(jìn)程。每個(gè)進(jìn)程包括各個(gè)獨(dú)立功能模塊,如圖3所示。每個(gè)進(jìn)程獨(dú)立進(jìn)行通信,支持遙測(cè)和遙控即上行和下行數(shù)據(jù),其中通信模塊屬于重用模塊。每個(gè)進(jìn)程之間的通信采用共享內(nèi)存的方式進(jìn)行。

圖3 地面站軟件系統(tǒng)組成

1) 通信模塊:實(shí)現(xiàn)UDP通信參數(shù)的設(shè)置,支持單播和組播發(fā)送和接收;

2) 虛擬儀表模塊:按照行業(yè)標(biāo)準(zhǔn),基于QPainter實(shí)現(xiàn)橫滾俯仰姿態(tài)圖、指南針、通用儀表盤(pán)等設(shè)計(jì);

3) 曲線繪制模塊:基于Qcustomplot實(shí)現(xiàn)各種曲線圖顯示,支持單條曲線及多條曲線的繪制;

4) 數(shù)據(jù)重演模塊:實(shí)現(xiàn)網(wǎng)絡(luò)報(bào)文的記錄和數(shù)據(jù)回放功能;

5) 控制參數(shù)配置模塊:實(shí)現(xiàn)飛行模式的控制,支持XML配置文件實(shí)現(xiàn)動(dòng)態(tài)配置;

6) 地圖顯示模塊:基于osg庫(kù)實(shí)現(xiàn)19級(jí)瓦片地圖(精度可達(dá)到0.5 m)的顯示及操作,包括地圖的放大、縮小、漫游等功能;

7) 航點(diǎn)注入模塊:實(shí)現(xiàn)航點(diǎn)的設(shè)置和上傳注入,同時(shí)支持對(duì)話框手工輸入及刪除、地圖鼠標(biāo)標(biāo)繪設(shè)置及刪除。

2 關(guān)鍵技術(shù)

2.1 通信報(bào)文

地面站與飛行器之間以無(wú)線方式傳輸遙測(cè)信息和遙控指令,為了保證數(shù)據(jù)不受外界的干擾而發(fā)生錯(cuò)誤,對(duì)通信報(bào)文進(jìn)行校驗(yàn)設(shè)計(jì),確保接收端能正確接收數(shù)據(jù)。

地面站軟件系統(tǒng)的遙測(cè)信息和遙控指令的通信報(bào)文是定長(zhǎng)報(bào)文,每幀共64 B,格式如表1所示。

表1 通信報(bào)文格式

頭信息:2 B,在無(wú)線通信中,噪聲是以隨機(jī)字節(jié)出現(xiàn)的,使用頭信息能起到穩(wěn)定接收和發(fā)射通信的作用。地面站軟件系統(tǒng)的通信報(bào)文以0XEB9A作為頭信息,接收端只將以0XEB9A開(kāi)頭的通信報(bào)文作為有效報(bào)文。

數(shù)據(jù)部分:61 B,其中第一個(gè)字節(jié)是信息類型,用來(lái)區(qū)分遙測(cè)信息還是遙控指令,剩下的60個(gè)字節(jié)用于表示具體的數(shù)據(jù)信息。若是遙測(cè)信息,其中包括空速、地速、高度、滾轉(zhuǎn)角、俯仰角、經(jīng)度、緯度、主電源電壓、主電源電流等參數(shù)信息;若是遙控信息,其中包括起飛、平飛、左傾斜5°、滑行等命令。

校驗(yàn)和:1 B,數(shù)據(jù)部分所有數(shù)據(jù)項(xiàng)之和取低8位,確保接收端數(shù)據(jù)不會(huì)由于外界干擾而出現(xiàn)錯(cuò)誤,若出現(xiàn)不對(duì)應(yīng)關(guān)系,則認(rèn)為報(bào)文無(wú)效,丟棄處理。

尾信息:1 B,作為信息報(bào)文的結(jié)束標(biāo)志。

2.2 虛擬儀表

可用于Qt平臺(tái)的虛擬儀表庫(kù)相對(duì)較少,其中Qwt[4]是一個(gè)基于LGPL協(xié)議的開(kāi)源庫(kù),雖然擁有封裝好的表盤(pán)類,但并不是為飛行器類產(chǎn)品專業(yè)設(shè)計(jì),不滿足行業(yè)類的使用需求。故地面站軟件系統(tǒng)的虛擬儀表采用Qt的2D繪圖類QPainter[5]繪制。設(shè)計(jì)繪制了包括姿態(tài)儀表、指南針、豎型數(shù)值顯示圖、通用表盤(pán)四種。

1) 姿態(tài)儀表

姿態(tài)儀表包括背景、俯仰刻度線、橫滾刻度線、橫滾刻度指針?biāo)膫€(gè)部分,它分成兩個(gè)緯度,橫滾變化是左右旋轉(zhuǎn),俯仰變化是上下平移,采用QImage的方式繪制在QWidget上,對(duì)QImage旋轉(zhuǎn)和指針位置的重繪實(shí)現(xiàn)橫滾和俯仰的變化。

設(shè)計(jì)流程圖如圖4所示。

圖4 姿態(tài)儀表設(shè)計(jì)流程

設(shè)計(jì)效果如圖5所示。

圖5 姿態(tài)儀表效果圖

2) 指南針

指南針由背景、360°刻度線以及中間的飛機(jī)型指針組成。根據(jù)飛行器的航向?qū)崟r(shí)更新指針旋轉(zhuǎn)方向。

設(shè)計(jì)效果如圖6所示。

圖6 指南針效果圖

3) 數(shù)值顯示圖

數(shù)值顯示圖由背景、刻度線以及數(shù)值顯示框組成??筛鶕?jù)顯示數(shù)值的范圍動(dòng)態(tài)重繪刻度,數(shù)值顯示框可實(shí)時(shí)更新數(shù)值并給出必要文字說(shuō)明。

設(shè)計(jì)效果如圖7所示。

圖7 數(shù)值顯示效果圖

4) 通用表盤(pán)

通用儀表盤(pán)由背景、刻度線、指針、警示顏色條以及數(shù)值顯示框組成??筛鶕?jù)顯示數(shù)據(jù)的范圍動(dòng)態(tài)重繪刻度線,分段警示顏色條,數(shù)值顯示框可實(shí)時(shí)更新數(shù)值并給出必要文字說(shuō)明。

設(shè)計(jì)效果如圖8所示。

圖8 通用表盤(pán)效果圖

2.3 航跡規(guī)劃

航跡規(guī)劃模塊包括地圖顯示及操作、航點(diǎn)注入兩個(gè)部分。

1) 地圖顯示及操作

采用osg(open scene graph)[6]開(kāi)源庫(kù)進(jìn)行二次開(kāi)發(fā),osg擁有強(qiáng)大的地圖顯示功能,可加載高精度瓦片地圖,可實(shí)現(xiàn)地圖的基本操作,如放大、縮小、平移等。

使用osg開(kāi)源庫(kù)首先需要編譯針對(duì)當(dāng)前軟件開(kāi)發(fā)Qt版本的osg庫(kù)文件,并將庫(kù)文件、頭文件的路徑加載到軟件開(kāi)發(fā)環(huán)境中;然后,準(zhǔn)備好需要加載的瓦片地圖文件;最后,編寫(xiě)osg庫(kù)讀取地圖文件的配置文件,按照需要的格式,設(shè)置參數(shù),加載地圖文件路徑,即可進(jìn)行地圖顯示。

2) 航點(diǎn)注入

航點(diǎn)注入分為航點(diǎn)設(shè)置、航點(diǎn)對(duì)比及航點(diǎn)啟用三個(gè)步驟。

航點(diǎn)設(shè)置包括3種方式,第一種是地圖標(biāo)繪,即通過(guò)鼠標(biāo)進(jìn)行選擇指定航點(diǎn)的位置,第二種是對(duì)話框手動(dòng)輸入,第三種是手動(dòng)編輯航點(diǎn)文件,通過(guò)讀取文件進(jìn)行設(shè)置。這3種方式可以互相配合使用。航點(diǎn)設(shè)置可在地圖上按照其地理位置進(jìn)行疊加顯示,會(huì)按照編號(hào)順序用直線段將各個(gè)航點(diǎn)連接起來(lái)形成規(guī)劃航跡。

航點(diǎn)對(duì)比就是比較本地航點(diǎn)設(shè)置與飛行器上的航點(diǎn)設(shè)置情況是否一致,作為飛行器飛行前的確認(rèn)工作。飛行器上的回送航點(diǎn)支持在地圖上按照規(guī)劃航跡的方式顯示,并可查看其具體數(shù)值。

航點(diǎn)啟用屬于航跡規(guī)劃的結(jié)束標(biāo)志,當(dāng)航點(diǎn)對(duì)比確認(rèn)成功,即完成航線規(guī)劃任務(wù)。飛行器會(huì)按照機(jī)上航跡規(guī)劃的路徑執(zhí)行任務(wù)。

航跡規(guī)劃如圖9所示。

圖9 航跡規(guī)劃對(duì)話框

3 應(yīng)用實(shí)例

在某項(xiàng)目中采用Qt 5.3進(jìn)行地面站軟件系統(tǒng)的開(kāi)發(fā)設(shè)計(jì),顯示效果如圖10、圖11所示。

圖10為無(wú)人機(jī)地面站系統(tǒng)的狀態(tài)監(jiān)控和控制軟件,其中集成了姿態(tài)儀表、指南針、通用儀表盤(pán)、曲線圖、各類BIT的回饋顯示以及飛行控制的指令按鈕。

圖11為無(wú)人機(jī)地面站的航跡規(guī)劃軟件,其中包括了二維精細(xì)地圖顯示,可支持放大、縮小、漫游,地圖上設(shè)置了6個(gè)航點(diǎn),按照順序連成預(yù)設(shè)航線,確定的預(yù)設(shè)航線在界面上顯示的同時(shí)會(huì)上傳至無(wú)人機(jī)機(jī)上系統(tǒng)用于實(shí)際飛行控制。

圖10 無(wú)人機(jī)地面控制軟件界面

圖11 航跡規(guī)劃軟件界面

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

本文提出的無(wú)人機(jī)地面站軟件系統(tǒng)設(shè)計(jì)是基于Qt平臺(tái)的,并可以同時(shí)滿足在Windows平臺(tái)和Linux平臺(tái)上的完美顯示。文中給出了地面站軟件的架構(gòu)組成和工作原理,并對(duì)設(shè)計(jì)關(guān)鍵技術(shù)進(jìn)行了詳細(xì)描述,可以有效地解決軟件設(shè)計(jì)中遇到的問(wèn)題,具有很強(qiáng)的可操作性。該設(shè)計(jì)可以滿足大多數(shù)無(wú)人機(jī)地面站軟件設(shè)計(jì)的要求,可廣泛用于無(wú)人機(jī)地面站軟件或相關(guān)的類似軟件中去。

[1]周焱. 無(wú)人機(jī)地面站發(fā)展綜述[J]. 航空電子技術(shù), 2010, 41(1):1-6.

[2]李繼進(jìn). 基于Qt的通用態(tài)勢(shì)顯示系統(tǒng)的構(gòu)架及關(guān)鍵技術(shù)研究[D]. 南京:南京理工大學(xué), 2012:6.

[3]魏明哲. 無(wú)人機(jī)航跡規(guī)劃與狀態(tài)追蹤系統(tǒng)[J]. 唐山學(xué)院學(xué)報(bào), 2016, 29(3):31-32.

[4]劉洋,韓泉泉,趙娜. 無(wú)人機(jī)地面綜合監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 2016, 24(14):110-111.

[5]盧華偉,秦品健,鄭銳. 基于Qt/Qwt的操作監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 微計(jì)算機(jī)信息, 2010, 26(1):72-74.

[6]陸文周. Qt5開(kāi)發(fā)及實(shí)例[M]. 北京:電子工業(yè)出版社, 2014:206-238.

[7]肖鵬,劉更代,徐明亮. OpenSceneGraph三維渲染引擎編程指南[M]. 北京:清華大學(xué)出版社, 2010:41-71.

猜你喜歡
航點(diǎn)航跡報(bào)文
基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
汽車電器(2022年9期)2022-11-07 02:16:24
CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
夢(mèng)的航跡
青年歌聲(2019年12期)2019-12-17 06:32:32
淺析反駁類報(bào)文要點(diǎn)
二次開(kāi)發(fā)在航點(diǎn)航跡圖批量繪制中的應(yīng)用
自適應(yīng)引導(dǎo)長(zhǎng)度的無(wú)人機(jī)航跡跟蹤方法
視覺(jué)導(dǎo)航下基于H2/H∞的航跡跟蹤
ATS與列車通信報(bào)文分析
基于航跡差和航向差的航跡自動(dòng)控制算法
安乡县| 达州市| 德令哈市| 商丘市| 潜山县| 平湖市| 琼海市| 松江区| 大理市| 中西区| 应用必备| 呼图壁县| 大洼县| 诸城市| 来宾市| 邵东县| 双牌县| 南通市| 北宁市| 共和县| 德江县| 仪征市| 息烽县| 凤台县| 佛学| 新龙县| 林西县| 东兰县| 额尔古纳市| 香格里拉县| 库伦旗| 临颍县| 浦县| 绥江县| 宁夏| 铅山县| 呼图壁县| 乌兰浩特市| 佛教| 贡山| 蒙山县|