基于 VC 平臺的方艙飛行數(shù)據(jù)監(jiān)控系統(tǒng)軟件的研究
第 1 章 緒論
隨著中國航空航天事業(yè)的迅速發(fā)展與壯大,飛機器飛行任務(wù)復(fù)雜度越來越高,為保障飛機器飛行的安全性、提高產(chǎn)品研發(fā)的質(zhì)量以及加快研發(fā)速度,建設(shè)監(jiān)控系統(tǒng)地面站的需求量逐漸增大。地面站的應(yīng)用遍及多個方向,目前監(jiān)控地面站多用于無人機和衛(wèi)星的研發(fā)中,文[1-3]中開發(fā)的無人機監(jiān)控地面站和文[4-6]中研究的衛(wèi)星地面站應(yīng)用軟件,都極大地方便地面人員遠程對飛行器進行操控。軍用方艙是由堅固的夾芯板材料組裝而成的移動式廂體,可適用于通訊指揮中心、武器裝備系統(tǒng)和技術(shù)支援等的裝載體和工作間[7-10],如圖 1-1 所示為本課題所采用的移動式軍用方艙平臺。基于移動式方艙平臺搭建飛行數(shù)據(jù)監(jiān)控系統(tǒng),其監(jiān)控系統(tǒng)硬件平臺主要包含無線發(fā)射模塊、服務(wù)器分發(fā)設(shè)備、工業(yè)控制計算機、串口通信模塊接口、以太網(wǎng)通信模塊接口等,本文的主要工作是在該硬件平臺上開發(fā)飛行數(shù)據(jù)監(jiān)控系統(tǒng)軟件。
當(dāng)今世界處于復(fù)雜多變的環(huán)境,中國依然面臨著南海和釣魚島爭端等問題的困擾,在保障國家領(lǐng)土完整和不受外來勢力的欺壓,我國航空力量的不斷壯大發(fā)揮著巨大的作用,而各強國也正加緊投入大量人力物力來研究各種飛機地面站系統(tǒng)[55-58],以保障飛機飛行任務(wù)的順利完成。本文通過建立飛行數(shù)據(jù)監(jiān)控系統(tǒng),為飛機的飛行狀態(tài)提供準(zhǔn)確可靠的測評數(shù)據(jù),并實時地顯示于地面交流站,實現(xiàn)地面方艙的人機友好交互,做到各項技術(shù)指標(biāo)達標(biāo)和功能齊全完善,不僅降低飛機監(jiān)控地面站的研制時間和成本,保證研發(fā)產(chǎn)品的質(zhì)量[13-18],還促進航空技術(shù)事業(yè)的發(fā)展,推動我國航空科技的不斷革新。
......
1.2.1 國內(nèi)研究現(xiàn)狀
飛行數(shù)據(jù)地面站監(jiān)控系統(tǒng)軟件技術(shù)是集數(shù)據(jù)采集、數(shù)據(jù)傳輸、數(shù)據(jù)處理、傳感器技術(shù)、導(dǎo)航技術(shù)、圖像處理和 3D 模型等技術(shù)為一體的高新技術(shù)[19-26]。飛行數(shù)據(jù)監(jiān)控系統(tǒng)軟件一般采用VB、VC、Java、C#和Android等流行語言工具來開發(fā)[29-39]。北京航空航天大學(xué)、南京航空航天大學(xué)、哈爾濱工業(yè)大學(xué)和華南理工大學(xué)等國內(nèi)知名大學(xué)正致力于無人機、衛(wèi)星等地面站監(jiān)控系統(tǒng)的研究[19-25],并已取得可觀的成果。國內(nèi)許多公司也投入了大量的人力物力來研發(fā)各種類型的地面站監(jiān)控系統(tǒng),其中大疆科技公司和飛旋天行科技公司所研發(fā)的無人機地面站具有代表性。
圖 1-2 為 DJI 大疆創(chuàng)新科技有限公司開發(fā)的無人機 PC 版地面站軟件界面圖,該軟件提供了人性化的界面、飛行儀表盤顯示、支持谷歌 3D 地圖、工業(yè)級飛行控制算法和一鍵返航等強大特性。該軟件已成功應(yīng)用于商業(yè)領(lǐng)域,為攝影、測繪和無人機愛好者等提供了便利。
圖 1-3 為北京飛旋天行科技有限公司研發(fā)的無人機地面站軟件界面圖,該軟件具有完備的數(shù)據(jù)接口模塊配置、支持各類無人機通訊設(shè)備的接入和用戶的二次開發(fā)等強大優(yōu)勢,其界面不僅炫麗而且實用,值得借鑒。另外,該軟件已廣泛地應(yīng)用于許多重要設(shè)施,如巡航監(jiān)察、交通監(jiān)測、地理測繪、環(huán)境保護、公共安全和救援等,給人們的生產(chǎn)、生活帶來了巨大的便利[37-38]。
1.2.2 國外研究現(xiàn)狀
國外無人機和衛(wèi)星等地面站監(jiān)控系統(tǒng)的研發(fā)不僅比國內(nèi)要早,而且也更加成熟[41-48]。國外依托其強大、專業(yè)的硬件和軟件平臺為支撐,開發(fā)的地面站軟件不僅可靠性和性能高,還具備抗干擾能力高、使用周期長和圖像識別能力強等特點。國外也推出了許多經(jīng)典的地面站監(jiān)控系統(tǒng),如圖 1-4 為加拿大 MicroPilot 公司Horizon 軟件界面圖,該軟件具備可配置性高、支持 GPS 導(dǎo)航和多屏幕分辨率、界面友好等特性。該軟件已有超過 70 個國家購買并應(yīng)用,是一款成熟、深受喜愛的地面站監(jiān)控系統(tǒng)。
......
第 2 章 監(jiān)控系統(tǒng)總體框架設(shè)計
本監(jiān)控系統(tǒng)的網(wǎng)絡(luò)數(shù)據(jù)通信是基于局域網(wǎng)實現(xiàn)的,原始數(shù)據(jù)由單架飛機或多架飛機的無線傳輸模塊發(fā)射的信號產(chǎn)生,數(shù)據(jù)接收處理分發(fā)機負(fù)責(zé)接收該無線信號數(shù)據(jù)包,轉(zhuǎn)發(fā)至服務(wù)器端的分發(fā)計算機。監(jiān)控系統(tǒng)同時監(jiān)控的飛機架次一般為 4架(不超過 10 架),顯示終端計算機數(shù)量相應(yīng)地一般配備 4 臺(不超過 10 臺),服務(wù)器端對原始數(shù)據(jù)包進行解析處理后把參數(shù)包廣播給顯示終端,并且要求服務(wù)器端發(fā)送的數(shù)據(jù)能到達所有已連接上服務(wù)器端的顯示終端,顯示終端將其實時數(shù)據(jù)以多種顯示形式把參數(shù)包的數(shù)據(jù)展現(xiàn)出來。為方便地面觀察人員監(jiān)控數(shù)據(jù),在任一顯示終端處可連接一個或多個大屏幕顯示器,大屏幕顯示的內(nèi)容與顯示終端屏幕顯示內(nèi)容一致。監(jiān)控系統(tǒng)的硬件平臺連接圖如圖 2-1 所示。
圖 2-2 為方艙飛行數(shù)據(jù)監(jiān)控系統(tǒng)部署圖,本系統(tǒng)包含服務(wù)器端和顯示終端兩部分,用戶可操作服務(wù)器端和顯示終端應(yīng)用程序,通信數(shù)據(jù)參數(shù)包將存儲于服務(wù)器端數(shù)據(jù)庫中,而顯示終端的實時監(jiān)控與服務(wù)器端是通過以太網(wǎng)進行通信的,在顯示終端處進行飛行數(shù)據(jù)回放時獲取的數(shù)據(jù)依賴于遠程訪問服務(wù)器端的數(shù)據(jù)庫。
......
2.2.1 服務(wù)器端設(shè)計要求及分析
服務(wù)器端計算機負(fù)責(zé)接收來自數(shù)據(jù)接收分發(fā)設(shè)備轉(zhuǎn)發(fā)的數(shù)據(jù),服務(wù)器端把接收的數(shù)據(jù)解包后重新打包,并將其存儲至本地數(shù)據(jù)庫與發(fā)送至顯示終端計算機處。為了方便地管理數(shù)據(jù)庫表文件,需要設(shè)計用戶登錄系統(tǒng),其中用戶賬戶分為最高管理者賬戶、普通管理賬戶和普通賬戶三種,管理賬戶具有對數(shù)據(jù)庫進行查看、刪除等操作權(quán)限,而普通賬戶只有對數(shù)據(jù)庫進行查看操作權(quán)限;此外用戶登錄系統(tǒng)要求具有新增或刪除普通管理用戶與普通用戶的功能。服務(wù)器端應(yīng)用軟件的設(shè)計部分主要包括用戶登錄系統(tǒng)的設(shè)計、數(shù)據(jù)分發(fā)模塊的設(shè)計和數(shù)據(jù)管理模塊的設(shè)計三部分的設(shè)計,具體內(nèi)容如圖 2-3 所示。因此,服務(wù)器端的主要設(shè)計內(nèi)容為:
(1)用戶登錄系統(tǒng)的設(shè)計;
(2)基于以太網(wǎng)的網(wǎng)絡(luò)通信模塊的設(shè)計;
(3)數(shù)據(jù)解析模塊的設(shè)計;
(4)服務(wù)器端數(shù)據(jù)庫的設(shè)計;
(5)數(shù)據(jù)監(jiān)控界面的設(shè)計。
服務(wù)器端的主要設(shè)計難點如下:
(1)服務(wù)器端在接收數(shù)據(jù)接收分發(fā)設(shè)備發(fā)送的消息包和發(fā)送消息包給顯示終端時,數(shù)據(jù)包不能出現(xiàn)丟包、粘包、亂序等問題;
(2)在并發(fā)狀態(tài)下實現(xiàn)高效的消息包存儲,并不出現(xiàn)丟包、亂包等問題;
(3)在并發(fā)狀態(tài)下實現(xiàn)高效的數(shù)據(jù)解析模塊。
......
3.1 數(shù)據(jù)網(wǎng)絡(luò)通信庫的需求分析...........................15
3.2 數(shù)據(jù)網(wǎng)絡(luò)通信庫的設(shè)計與實現(xiàn)..........................15
第 4 章 數(shù)據(jù)解析模塊的設(shè)計與實現(xiàn)........................23
4.1 數(shù)據(jù)解析模塊的需求分析...................................23
4.2 數(shù)據(jù)解析模塊的設(shè)計與實現(xiàn).............................23
第 5 章 數(shù)據(jù)庫模塊的設(shè)計與實現(xiàn)..........................30
5.1 數(shù)據(jù)庫的需求分析.....................................30
5.1.1 服務(wù)器端數(shù)據(jù)庫的需求分析........................30
第 7 章 監(jiān)控系統(tǒng)的調(diào)試與分析
本文的測試是在系統(tǒng)聯(lián)調(diào)的環(huán)境下進行的,系統(tǒng)的聯(lián)調(diào)測試流程如下:
(1)登錄服務(wù)器端系統(tǒng),打開數(shù)據(jù)監(jiān)控主界面,然后設(shè)置其 UDP 通信配置區(qū)的IP地址為“192.168.2.100”,端口號為“3201”,TCP通信配置區(qū)的端口號為“8060”;
(2)為了驗證數(shù)據(jù)庫存儲功能,點擊“存儲數(shù)據(jù)”按鈕;
(3)開啟顯示終端并使其連接上服務(wù)器端;
(4)同時開啟對 4 個飛機架次的監(jiān)控,,即 001、002、003 和 004 架次;
(5)針對飛機編號為 001 架次,利用某數(shù)據(jù)計算分發(fā)設(shè)備給服務(wù)器端發(fā)送,發(fā)動機液油參數(shù)包、航電飛控參數(shù)包和故障告警信息參數(shù)包各 10695 包數(shù)據(jù)。
圖 7-1 為服務(wù)器端數(shù)據(jù)監(jiān)控調(diào)試圖,該圖中顯示飛機編號為 001 架次的數(shù)據(jù)包統(tǒng)計中,發(fā)動機液油參數(shù)包收到 10695 包,航電飛控參數(shù)包收到 10695 包,故障狀態(tài)信息參數(shù)包收到 10695 包,數(shù)據(jù)接收處理分發(fā)機設(shè)備發(fā)送的參數(shù)包數(shù)量與服務(wù)器端接收的參數(shù)包數(shù)量完全一致,另外由表 7-1 所示編號為 002、003 和 004 架次的接收包數(shù)的丟包率結(jié)果均為 0%,這表明本監(jiān)控系統(tǒng)的 UDP 網(wǎng)絡(luò)數(shù)據(jù)通信接收功能很好的實現(xiàn)了。
圖 7-2 為 001 架次飛機編號數(shù)據(jù)存儲的數(shù)據(jù)庫查詢結(jié)果圖,在圖 7-1 中飛機編號為 001 的架次在本次聯(lián)調(diào)中一共存儲 32085 包,利用數(shù)據(jù)庫可視化工具 SQLyog查詢 serverpatch 庫中“001_2016_03_14_13_11_45_2016_03_14_13_48_18”的表數(shù)據(jù),從圖 7-2 中可以看到,表包含 id(行數(shù))和 strJson(JSON 格式參數(shù)包)兩列,id 號的最大值為 32085(id 從 1 開始自動增長),若查詢本次監(jiān)控中其它架次存儲的數(shù)據(jù)包數(shù),即編號為 002、003 和 004 架次的包數(shù),可查詢到其 id 號的最大值分別為 33716、36242 和 35571,這與數(shù)據(jù)處理分發(fā)設(shè)備總發(fā)包數(shù)完全一致,這說明本監(jiān)控軟件存儲過程中無丟包情況發(fā)生,服務(wù)器端數(shù)據(jù)庫存儲功能得到了良好的實現(xiàn)。
......
第 8 章 總結(jié)與展望
本文以方艙飛行數(shù)據(jù)監(jiān)控系統(tǒng)的上位機軟件的實際應(yīng)用作為切入點,提出本監(jiān)控軟件服務(wù)器端和顯示終端的總體設(shè)計方案;然后分別詳細地對網(wǎng)絡(luò)通信庫、序列化庫、和數(shù)據(jù)庫等模塊進行了需求分析及技術(shù)選型,并依據(jù)其需求分析和技術(shù)選型對數(shù)據(jù)通信模塊、數(shù)據(jù)解析模塊、數(shù)據(jù)庫模塊和界面開發(fā)進行設(shè)計與實現(xiàn);最后,給出對服務(wù)器端和顯示終端的調(diào)試分析結(jié)果。本文的工作重心在于軟件的總體框架設(shè)計、一些重要組件模塊以及界面的設(shè)計和實現(xiàn)上,所完成的主要工作有:
(1)進行服務(wù)器端的軟件總體框架設(shè)計和顯示終端軟件總體框架設(shè)計,從總體上對軟件的工作流程進行敘述,并分模塊來進行設(shè)計開發(fā);
(2)根據(jù)對網(wǎng)絡(luò)通信庫的需求分析,比較當(dāng)前流行的網(wǎng)絡(luò)通信庫,結(jié)合本課題的實際需求選用 Boost.asio 庫作為數(shù)據(jù)網(wǎng)絡(luò)通信庫;分析 Boost.asio 的包裝庫st_asio_wrapper 對自動打包解包、發(fā)送和接收消息等網(wǎng)絡(luò)通信協(xié)議的實現(xiàn)方法;最后,本文基于 st_asio_wrapper 庫再次封裝了 UdpRecvComm、TCPServerComm 和TCPClientComm 三個適用于本課題的網(wǎng)絡(luò)通信類;
(3)根據(jù)數(shù)據(jù)解析模塊的需求分析,分析當(dāng)前流行的開源序列化庫并選用一個高效、簡易的序列化庫 kapok,定義適合于本課題的數(shù)據(jù)通信結(jié)構(gòu)體,并詳細敘述對數(shù)據(jù)解析模塊設(shè)計的流程和實現(xiàn)方法;
(4)根據(jù)對服務(wù)器端和顯示終端的數(shù)據(jù)庫進行需求分析,選用關(guān)系型數(shù)據(jù)庫MySQL 作為本課題的數(shù)據(jù)庫工具,并分別對服務(wù)器端數(shù)據(jù)庫和顯示終端數(shù)據(jù)庫進行設(shè)計;
......
參考文獻(略)
本文編號:313727
本文鏈接:http://www.lk138.cn/wenshubaike/caipu/313727.html