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

        ?

        基于Qt 的小型無人機地面站軟件設(shè)計與實現(xiàn)

        2015-11-26 03:00:12劉智騰
        計算機與現(xiàn)代化 2015年7期
        關(guān)鍵詞:數(shù)據(jù)庫功能

        賈 杰,劉智騰

        (南昌航空大學(xué)信息工程學(xué)院,江西 南昌 330063)

        0 引言

        無人機地面站(Ground Control Station,GCS),即無人機地面控制系統(tǒng),是無人機系統(tǒng)的重要組成部分。地面站的主要功能是實時監(jiān)控飛行器的飛行過程、飛行軌跡、有效載荷、通訊鏈路以及飛行器的發(fā)射和回收,同時也要求能夠靈活地克服各種未知的自然與人為因素的不利影響,適應(yīng)各種復(fù)雜的環(huán)境,保證全系統(tǒng)整體功能的實現(xiàn)[1]。Qt 作為使用廣泛的C++編程環(huán)境,界面美觀,擁有良好的跨平臺能力。因此,本文選取Qt 作為編程工具來實現(xiàn)地面站的各項功能。

        1 地面站系統(tǒng)總體設(shè)計

        綜合考慮無人機地面站需要實現(xiàn)的功能,由地面站的功能出發(fā)對地面站系統(tǒng)進行總體設(shè)計。地面站需要實現(xiàn)的功能有:

        1)實時、可靠、高效的數(shù)據(jù)鏈路通信;

        2)飛行器飛行狀態(tài)的顯示和控制;

        3)有效載荷的顯示和控制;

        4)飛行數(shù)據(jù)的存儲和回放。

        根據(jù)以上功能需求,可以將系統(tǒng)劃分為通信控制與數(shù)據(jù)傳輸、數(shù)據(jù)顯示、數(shù)據(jù)處理模塊[2]。圖1 為系統(tǒng)結(jié)構(gòu)圖。根據(jù)系統(tǒng)結(jié)構(gòu)功能圖,設(shè)計如圖2 所示的軟件流程圖。

        圖1 系統(tǒng)結(jié)構(gòu)圖

        圖2 軟件流程圖

        2 地面站系統(tǒng)軟件設(shè)計

        由于無人機地面站的功能需要由不同的功能模塊來實現(xiàn),因此,將無人機地面站劃分為不同的功能模塊來實現(xiàn)。模塊分為串口通信模塊、電子地圖模塊、虛擬儀表顯示模塊、飛行數(shù)據(jù)存儲模塊等。系統(tǒng)前臺界面采用Qt 編程語言進行開發(fā),后臺采用SQLite 數(shù)據(jù)庫對飛行數(shù)據(jù)進行儲存,虛擬儀表使用第三方類庫Qwt(Qt Widgets for Technical Application)編程實現(xiàn)。

        2.1 數(shù)據(jù)傳輸模塊

        數(shù)據(jù)傳輸模塊需要實現(xiàn)的功能為:對數(shù)據(jù)進行緩存和通信控制以實現(xiàn)飛行器與地面監(jiān)控平臺的實時通信[3]。因此,在數(shù)據(jù)無線傳輸方面,采用9XStream無線數(shù)傳電臺來實現(xiàn)功能。9XStream 支持RS232 串行接口通信,其接口速率在9 600 bps 和19 200 bps之間,能夠滿足地面站和飛行器之間遙測數(shù)據(jù)包的傳輸[4]。在通信協(xié)議方面,參考MAVLink 通信協(xié)議,定義如下的通信協(xié)議格式[5]:

        1)上行通信協(xié)議。

        圖3 上行通信協(xié)議

        上行通信協(xié)議的格式見圖3,其一幀數(shù)據(jù)為40字節(jié),其中控制指令位中的數(shù)據(jù)主要為角度調(diào)節(jié)、經(jīng)緯度、爬升高度等信息。

        2)下行通信協(xié)議。

        圖4 下行通信協(xié)議

        下行通信協(xié)議的格式見圖4,其一幀數(shù)據(jù)包含56字節(jié),幀頭占1 字節(jié),校驗和占1 字節(jié),數(shù)據(jù)包括無人機飛行狀態(tài)數(shù)據(jù)和GPS 數(shù)據(jù)等,共占54 字節(jié)。

        在功能的實現(xiàn)方面,采用Qt 的第三方串口通信類Qextserialport 實現(xiàn)所需功能。該類在使用上比較簡單,首先創(chuàng)建一個基于Qextserialport 類的對象;其次,定義串口對象,并傳遞函數(shù),在構(gòu)造函數(shù)里對其進行初始化;再次,以讀寫方式打開串口;最后關(guān)聯(lián)串口信號和槽函數(shù)。當(dāng)串口緩沖區(qū)有數(shù)據(jù)時,會發(fā)出讀取串口的信號,之后通過相關(guān)聯(lián)的槽函數(shù)對串口進行讀取串口操作。代碼如下:

        2.2 航跡繪制模塊

        航跡繪制模塊需要實現(xiàn)的功能有:電子地圖、對飛行器飛行位置進行標(biāo)注、繪制飛行器的運行軌跡并實現(xiàn)基本的地圖放大縮小等操作。考慮到無人機飛行器需要在無網(wǎng)絡(luò)覆蓋的地區(qū)進行作業(yè),因此采用離線的Google 地圖實現(xiàn)功能。在實現(xiàn)方面,需要先下載Google 瓦片地圖到本地,之后使用JavaScript 編程對下載的瓦片地圖進行拼接,并做出一個本地化的Html 網(wǎng)頁,最后在Qt 上用QWebView 調(diào)用該離線版的Html 網(wǎng)頁以實現(xiàn)所需功能。

        電子地圖加載完畢之后,接收從數(shù)據(jù)傳輸模塊下傳解析過后的無人機 GPS 數(shù)據(jù)信息,調(diào)用GoogleMapsAPI 在地圖上進行航跡顯示工作。航跡繪制流程圖如圖5 所示。

        圖5 航跡規(guī)劃流程圖

        2.3 虛擬儀表顯示模塊

        Qt 上做虛擬儀表有2 種方法,一種是使用Qt 的2D 繪圖類QPainter 繪制,另一種是使用Qwt,它是一個基于LGPL 協(xié)議的開源庫,擁有封裝好的表盤類,能夠通過直接調(diào)用模板來完成儀表盤的設(shè)計[6]。本開發(fā)中,考慮到儀表的美觀方面,采用Qwt 來實現(xiàn)虛擬儀表,需要使用Qwt 下的QwtDial 類來繪制所需的儀表盤。

        要使用Qwt,需要對Qwt 的開發(fā)環(huán)境進行配置。首先需要用MinGW 對Qwt 庫文件進行編譯,將編譯后的頭文件添加到項目文件夾中,然后在工程文件中添加Qwt 路徑語句,目的是指明Qwt 庫文件的地址,方便主程序調(diào)用,最后在頭文件中添加進Qwt 的頭文件,即可使用Qwt 進行儀表盤的繪制。

        Qwt 配置完成之后,在UI 界面上能看到QwtWidget 的控件,將控件直接拖拽進UI 界面上,設(shè)置好控件的背景顏色、最小刻度、顯示方式等,就能做出一個完整的虛擬儀表盤。儀表盤完成之后,在主程序中添加一個QwtDialNeedle 的指針類對象,并對其初始化后,通過給指針類對象傳遞數(shù)據(jù)以達到顯示當(dāng)前飛行數(shù)據(jù)的目的。制作完成的速度表如圖6 所示。

        圖6 虛擬速度表

        2.4 數(shù)據(jù)存儲模塊

        飛行數(shù)據(jù)存儲模塊需要實現(xiàn)的功能有:存儲重要的飛行數(shù)據(jù),如空速、地速、高度、航跡、航向、滾轉(zhuǎn)、俯仰、經(jīng)緯度等,用于存儲規(guī)劃飛行路線中的航點信息[7]。本設(shè)計中,采用2 種方式來對數(shù)據(jù)庫進行訪問。一種是通過訪問SQLite 數(shù)據(jù)庫的方式,另一種是通過文本文檔方式,對數(shù)據(jù)進行保存。通過數(shù)據(jù)庫保存數(shù)據(jù)時,需要在SQLite 數(shù)據(jù)庫中建立多個表格,將飛行數(shù)據(jù)分類保存在不同的表格中,以備之后的分析和處理。通過文本文檔保存數(shù)據(jù)時,以接收數(shù)據(jù)的時間作為保存的文件名,方便日后調(diào)用。

        對于SQLite 數(shù)據(jù)庫,首先建立data 和point 2 張表,分別儲存無人機飛行狀態(tài)數(shù)據(jù)信息和航點信息,然后通過QtSQL 對建立好的數(shù)據(jù)庫進行鏈接,最后對數(shù)據(jù)表進行添加數(shù)據(jù)以及提取數(shù)據(jù)的操作。

        對于文本文件,使用QTextstream 類來進行,該類將二進制文件以數(shù)據(jù)流的形式的儲存[5]。當(dāng)串口收到無人機下傳的遙測數(shù)據(jù)包后,建立一個帶有當(dāng)前系統(tǒng)時間信息的文本文檔,該文本文檔放置在用戶指定的目錄下。在這之后,通過QTextStream 的txtOutput成員函數(shù)將一整幀數(shù)據(jù)寫入文本文檔中[5]。

        3 地面站控制系統(tǒng)測試結(jié)果分析

        開發(fā)完成的無人機地面站軟件主界面如圖7 所示。

        圖7 無人機地面站軟件主界面

        開發(fā)程序已經(jīng)通過了自行編制的模擬飛行器測試程序的驗證。測試表明,地面站控制系統(tǒng)能夠完成數(shù)據(jù)的實時接收、顯示、存儲、回放、電子地圖的讀取、飛行器GPS 信息顯示、飛行器航跡顯示等功能。證明了基于Qt 平臺開發(fā)的無人機地面站控制系統(tǒng)的可行性。

        4 結(jié)束語

        本文設(shè)計了基于Qt 開發(fā)平臺的無人機控制系統(tǒng)的地面站軟件。對所涉及的一些關(guān)鍵技術(shù)進行了各模塊的分析、實現(xiàn)和驗證。無人機地面站能夠較為穩(wěn)定、準(zhǔn)確、清晰地監(jiān)控?zé)o人飛行器的飛行狀態(tài),為今后的開發(fā)奠定了良好的基礎(chǔ)。

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

        [2]蘆勤桑.無人機遙測遙控地面站系統(tǒng)[D].南昌:南昌航空大學(xué),2012.

        [3]馬少瑛.小型無人機地面站的研究與設(shè)計[D].呼和浩特:內(nèi)蒙古工業(yè)大學(xué),2009.

        [4]楊滌.系統(tǒng)實時仿真開發(fā)環(huán)境與應(yīng)用[M].北京:清華大學(xué)出版社,2002.

        [5]Paul G Fahlstrom,Thomas J Gleason.無人機系統(tǒng)導(dǎo)論[M].吳漢平,邵國培譯.北京:電子工業(yè)出版社,2003:1-2.

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

        [7]劉波.某型無人機地面導(dǎo)航站系統(tǒng)的設(shè)計與實現(xiàn)[D].西安:西北工業(yè)大學(xué),2007.

        [8]Bruce K Walker,Norman M Wereley,Luppold Robert H,et al.Effects of redundancy management on reliability modeling[J].IEEE Transactions on Reliability,1989,38(4):475-482.

        [9]劉歌群,劉衛(wèi)國,盧京潮.無人機強實時性串口通訊程序設(shè)計[J].計算機應(yīng)用,2005,25(1):210-212.

        [10]Zhou Donghua,F(xiàn)rank P M.Fault diagnostic and fault tolerant control[J].IEEE Transactions on Aerospace and Electronics Systems,1998,34(2):420-427.

        [11]徐雷.基于Linux 的無人機地面站設(shè)計與實現(xiàn)[D].廣州:華南理工大學(xué),2010.

        [12]胡華海,廖劍華.VC++中數(shù)據(jù)接口技術(shù)的探討[J].甘肅科技,2009(15):21-23.

        [13]湯彬,李培耀.Windows 下多線程編程技術(shù)[J].上海工程技術(shù)大學(xué)學(xué)報,2002,16(4):310-313.

        [14]楊紫千,張繼永,岳陽.Windows 消息機制及其在軟件系統(tǒng)設(shè)計中的應(yīng)用[J].艦船電子工程,2004,24(5):81-84.

        [15]宋青,鄭冰,李國輝.VC 與數(shù)據(jù)庫接口技術(shù)的研究[J].現(xiàn)代電子技術(shù),2007,30(22):72-73.

        [16]馬少瑛,烏仁格日樂.基于CSerialPortEx 類的無人機地面站串口通信的實現(xiàn)[J].電腦知識與技術(shù)(學(xué)術(shù)交流),2011,7(8):5312-5314.

        [17]劉刀桂,孟繁晶.Visual C ++實踐與提高—數(shù)據(jù)庫篇[M].北京:中國鐵道出版社,2001.

        猜你喜歡
        數(shù)據(jù)庫功能
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        關(guān)于非首都功能疏解的幾點思考
        數(shù)據(jù)庫
        財經(jīng)(2017年15期)2017-07-03 22:40:49
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        懷孕了,凝血功能怎么變?
        媽媽寶寶(2017年2期)2017-02-21 01:21:24
        “簡直”和“幾乎”的表達功能
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        中西醫(yī)結(jié)合治療甲狀腺功能亢進癥31例
        91久久国产露脸国语对白| 欧美巨大xxxx做受中文字幕| 在线观看av中文字幕不卡| 娇妻粗大高潮白浆| 国内偷拍精品一区二区| 亚洲夜夜性无码| 国产啪精品视频网站| 一区二区免费电影| 国产av一区二区日夜精品剧情| 国产精品天天看天天狠| 亚洲人成电影在线观看天堂色| 国产精品久久久久久2021| 国产喷白浆精品一区二区豆腐| 久久久精品国产亚洲av网深田| 久久超碰97人人做人人爱| 91在线在线啪永久地址| 国产偷拍盗摄一区二区| 国产一区二区三区四色av| 免费国产黄网站在线观看可以下载| 国产成人久久综合热| 亚洲高清自偷揄拍自拍| 中文字幕日韩人妻少妇毛片| 成人综合婷婷国产精品久久蜜臀| 欧美色色视频| 亚洲国产综合一区二区| 老妇高潮潮喷到猛进猛出| 欧美人与动人物牲交免费观看| 国产极品视觉盛宴在线观看| 亚洲av色在线播放一区| 一区二区三区精品亚洲视频| 亚洲综合极品美女av| 中文字幕亚洲情99在线| 久久久久成人精品免费播放| 伊人久久大香线蕉av不变影院| 热久久国产欧美一区二区精品| 欧美艳星nikki激情办公室| 久久久久亚洲精品天堂| av一区二区三区观看| 久久综合亚洲色一区二区三区| 亚洲av无码一区二区二三区下载| 午夜少妇高潮免费视频|