彭 程,白 越,喬冠宇,2
(1.中國科學院 長春光學精密機械與物理研究所,長春 130033;2.中國科學院大學,北京 100039)
多旋翼無人機地面控制站軟件系統(tǒng)設(shè)計與開發(fā)
彭 程1,白 越1,喬冠宇1,2
(1.中國科學院 長春光學精密機械與物理研究所,長春 130033;2.中國科學院大學,北京 100039)
針對多旋翼無人機自主飛行實時監(jiān)控需求,開發(fā)了一套完整的多旋翼無人機地面控制站軟件系統(tǒng);根據(jù)多旋翼無人機地面控制站軟件總體設(shè)計分析,基于功能模塊化思想,分別設(shè)計并實現(xiàn)了飛行監(jiān)控、飛行任務(wù)管理、二維與三維結(jié)合的導航電子地圖以及數(shù)據(jù)庫技術(shù)等功能,為無人機的實時監(jiān)控提供了有力保障;地面控制站軟件系統(tǒng)的三個用戶主界面簡約美觀,能夠?qū)崟r切換,便于地面操作員對無人機的飛行監(jiān)管;最后,通過某型多旋翼無人機的飛行作業(yè),對地面控制站軟件系統(tǒng)進行了全方位測試;實驗測試有效地證實了該地面控制站軟件系統(tǒng)具有完善的監(jiān)控功能,操作簡便,完全滿足無人機地面控制站需求,已經(jīng)作為標配軟件提供給用戶使用。
地面控制站軟件系統(tǒng);多旋翼無人機;飛行監(jiān)控;飛行任務(wù)管理;導航電子地圖;數(shù)據(jù)庫技術(shù)
近年來,多旋翼無人機具有體積小、飛行靈活、可垂直起降等優(yōu)點,受到了廣泛關(guān)注。為了實現(xiàn)多旋翼無人機的自主飛行,多旋翼無人機系統(tǒng)地面控制站作為無人機的指揮中心是必不可少的。地面控制站能夠為地面操作員提供無人機的實時監(jiān)控與管理[1]。
多旋翼無人機地面控制站軟件系統(tǒng)是地面控制站的核心組成部分。在一個完整的無人機系統(tǒng)中,操作員通過操控計算機、地面控制站硬件系統(tǒng)的手柄與按鈕等實現(xiàn)與地面控制站軟件系統(tǒng)的交互[2]。地面控制站軟件系統(tǒng)實現(xiàn)無人機飛行狀態(tài)信息的顯示、飛行任務(wù)規(guī)劃與管理、導航電子地圖以及飛行數(shù)據(jù)的記錄與保存等功能。
本文開發(fā)了一套完整的多旋翼無人機地面控制站軟件系統(tǒng),軟件系統(tǒng)功能完善、操作簡便、具有良好的可移植性和可擴展性,目前已經(jīng)在實際工程中得到了良好的應用。
多旋翼無人機地面控制站軟件系統(tǒng)在Windows 7操作系統(tǒng)下,基于Microsoft Visual C++集成開發(fā)。
1.1 地面控制站軟件系統(tǒng)總體結(jié)構(gòu)
基于功能模塊化設(shè)計思想,地面控制站軟件系統(tǒng)的總體結(jié)構(gòu)如圖1所示,分成四大模塊:飛行監(jiān)控模塊、飛行任務(wù)管理模塊、導航電子地圖模塊與數(shù)據(jù)庫模塊。模塊的獨立設(shè)計確保系統(tǒng)結(jié)構(gòu)清晰明了,針對性強,易于調(diào)試與測試。
圖1 地面控制站軟件系統(tǒng)總體結(jié)構(gòu)圖
1.2 關(guān)鍵技術(shù)的實現(xiàn)
1.2.1 飛行監(jiān)控
多旋翼無人機地面控制站通過無線數(shù)傳電臺通訊,并與上位機是通過串口連接。通過測試比較可知,多線程的第三方串口類CSeralPort類具有高效讀寫速率,靈活性高,能夠滿足軟件系統(tǒng)對無人機數(shù)據(jù)處理的準確性與實時性要求。最終,通信采用RS232標準,通信速率為115 200 bps,使用CSerialPort串口通信類實現(xiàn)無人機向上位機發(fā)送飛機狀態(tài)數(shù)據(jù):俯仰角、滾轉(zhuǎn)角、偏航角、經(jīng)度、緯度、高度、速度、電壓與通信信號強度。同時,上位機向無人機發(fā)送飛行航點控制指令。
另外,基于TVideoGrabber捕捉軟件的二次開發(fā)實現(xiàn)了對無人機的視頻監(jiān)控,具有對視頻實時顯示、保存以及照相等功能。
1.2.2 飛行任務(wù)管理
地面操作員需要預先編輯好飛行任務(wù)航點,將任務(wù)航點裝訂,在地圖上生成任務(wù)航線,從而便于操作員直觀監(jiān)督飛行狀況。任務(wù)航點通過串口通信傳送給無人機,控制無人機按照設(shè)定的任務(wù)飛行。若在飛行中遇到特殊情況,地面操作員可以隨時介入,重新編輯任務(wù)航點,確保能夠?qū)崟r監(jiān)控無人機,保證飛行安全。
飛行任務(wù)管理模塊的用戶界面,主要包括了添加航點、刪除航點、標記航點、連接航點、發(fā)送航點、開始巡航、停止巡航功能。其中,添加航點是添加一個新的任務(wù)航點,包括航號、高度、經(jīng)度、緯度和地速信息??梢允謩釉谔砑雍近c用戶界面上輸入相關(guān)信息來完成航點的添加,也可以直接使用鼠標在導航地圖上單擊添加航點。刪除航點是對已經(jīng)添加的航點進行刪除操作,后續(xù)的航點會依次上移。標記航點是在地面操作員完成預設(shè)任務(wù)航點后,點擊此按鈕,能夠在導航電子地圖上標記出所有的任務(wù)航點與相應的航號。點擊連接航點按鈕,將會在電子地圖上繪制出所有的任務(wù)航線。發(fā)送航點是通過串口通信將已經(jīng)預設(shè)好的任務(wù)航點發(fā)送給無人機,為無人機飛行任務(wù)做好準備。開始巡航表示啟動飛行任務(wù),無人機將按照預設(shè)的航點進行自主飛行。停止巡航表示無人機飛行停止,通常是在任務(wù)完成后或者遇到緊急狀況需要重新規(guī)劃飛行任務(wù)時觸發(fā)。
1.2.3 導航電子地圖
地面操作員通過導航電子地圖直觀獲取無人機地理位置信息,保證對無人機的實時監(jiān)控。本文設(shè)計的地面控制站軟件系統(tǒng)包含二維電子地圖與三維電子地圖,結(jié)合二者的優(yōu)點,使得地理信息更為豐富全面,保證了無人機的高級監(jiān)控。
1)二維電子地圖。
二維導航電子地圖選用Mapx的gst地圖,能夠離線查看,不需要聯(lián)網(wǎng),操作響應快,較為便捷[3]。在VC++開發(fā)環(huán)境下,基于Mapx控件可以直接加載gst格式的二維地圖,實現(xiàn)了地圖的各種擴展功能。在MFC框架下,使用鼠標消息響應函數(shù)獲取屏幕坐標與地理坐標轉(zhuǎn)換,從而使得鼠標在地圖上移動時,可以在狀態(tài)欄上實時顯示鼠標所處位置的經(jīng)度與緯度信息。基于MapX控件的相關(guān)圖層技術(shù)實現(xiàn)了無人機飛行位置的實時刷新與地圖標記,進而實現(xiàn)了無人機在地圖上的導航定位與跟蹤,航跡回放等功能,確保地面操作員準確地監(jiān)管多旋翼無人機。
2)三維電子地圖。
三維電子地圖選用了Google公司的Google Earth,該地圖整合了航拍照片、衛(wèi)星照片和GIS矢量數(shù)據(jù)[4],具有可視化的空間特征信息,但需要聯(lián)網(wǎng)支持,提供了離線下載功能?;贕oogle Earth COM API擴展接口,在VC++集成環(huán)境下實現(xiàn)了地圖嵌入與二次開發(fā),采用Windows Hook技術(shù)獲取鼠標在地圖上的坐標,通過建立全局鼠標Hook,攔截鼠標消息,建立動態(tài)鏈接庫進而將鼠標坐標信息傳送給主程序,從而實現(xiàn)電子地圖縮放、鼠標捕獲等功能。另外,基于KML文件的擴展接口開發(fā)了航點與航線的繪制,KML定義了地點、疊層、描述和多邊形等相關(guān)地理特征。在KML文件中寫入飛行航點的經(jīng)度與緯度信息,再依次加載每個飛行航點的KML文件,便會在Google Earth地圖中逐一繪制出各個航點連接成的航段,進而實現(xiàn)導航定位與跟蹤功能。
圖2描述了二維電子地圖與三維電子地圖的導航定位與跟蹤,用藍線表示飛行軌跡,無人機的當前位置在二維電子地圖中使用藍色小旗表示,在三維導航電子地圖中使用黃色地標符表示,具有美觀、醒目、可視化強特點。
圖2 導航定位與跟蹤
1.2.4 數(shù)據(jù)庫技術(shù)
在地面控制站軟件系統(tǒng)中,數(shù)據(jù)庫提供了飛行數(shù)據(jù)信息的存儲與調(diào)用,保證了安全可靠的數(shù)據(jù)管理功能。地面控制站數(shù)據(jù)信息主要有無人機飛行狀態(tài)數(shù)據(jù)和飛行任務(wù)中的航跡數(shù)據(jù)。采用合理的數(shù)據(jù)庫技術(shù)能夠有效準確地保存飛行重要數(shù)據(jù),快速調(diào)用相關(guān)數(shù)據(jù)為操作員提供航跡離線回放與數(shù)據(jù)回放,完成數(shù)據(jù)黑匣子功能。
本文開發(fā)的地面控制站軟件系統(tǒng)是基于Windows操作系統(tǒng),因此采用了接口簡單、輕量級的Microsoft Office Access數(shù)據(jù)庫。表1陳列了相關(guān)數(shù)據(jù)庫訪問技術(shù)的比較結(jié)果,通過對比分析,綜合選擇了具有快速訪問速度和高代碼效率的ADO訪問技術(shù)。
表1 數(shù)據(jù)庫訪問技術(shù)比較[5]
最終,利用ADO技術(shù)建立的多個數(shù)據(jù)表,每個數(shù)據(jù)表都以時間命名,選擇要查看的數(shù)據(jù)段便可回放相關(guān)飛行數(shù)據(jù)。
將上述模塊功能實現(xiàn)后,進而完成了地面控制站軟件系統(tǒng)的開發(fā)工作,圖3~5分別描述了地面控制站軟件系統(tǒng)的3個用戶主界面,分別為視頻用戶主界面,二維電子地圖用戶主界面以及三維電子用戶地圖主界面。其中,視頻用戶主界面支持兩個視頻接口,根據(jù)不同功能需求實現(xiàn)多方位視頻監(jiān)控。3個用戶主界面都包括菜單欄、狀態(tài)欄、工具欄以及無人機狀態(tài)數(shù)據(jù)與儀表顯示的相關(guān)信息,并且可以通過工具欄上的切換按鈕任意切換主界面。
圖3 視頻用戶主界面
圖4 二維電子地圖用戶主界面
為了驗證本文開發(fā)的地面控制站軟件系統(tǒng)的各項功能,進行了相關(guān)測試實驗。某型多旋翼無人機的軟件系統(tǒng)測試平臺包括上位機、圖傳電臺、無線數(shù)傳電臺、圖像采集卡。實驗地點位于吉林省公主嶺市的某農(nóng)場,某型多旋翼無人機進行播撒赤峰卵作業(yè)。
圖6為地面操作員預先設(shè)定的飛行任務(wù)航點與航線。在飛行任務(wù)管理模塊的添加航點界面中預先設(shè)定期望航點,點擊標記航點按鈕后,在地圖中便生成了任務(wù)航點,接著點擊連接航線按鈕,最后確定任務(wù)航點準確后,發(fā)送這些航點到無人機,點擊開始巡航按鈕,飛機便按照任務(wù)航點自主飛行。圖7繪制了該型多旋翼無人機實際飛行航跡。在任務(wù)管理模塊中,點擊停止巡航按鈕,無人機便自主降落,結(jié)束飛行作業(yè)。作業(yè)完成后,開啟航跡回放功能,在圖8中分別列出了二維電子地圖與三維電子地圖的航跡回放,可以看出,二維電子地圖與三維電子地圖都能夠準確有效地描述出無人機的飛行航跡。通過本文開發(fā)的地面控制站軟件系統(tǒng)實時、高效地完成了某型無人機的飛行作業(yè)。
圖5 三維電子地圖用戶主界面
圖6 預設(shè)的飛行任務(wù)航點與航線
圖7 導航跟蹤結(jié)果
圖8 航跡回放結(jié)果
由此可見,通過某型多旋翼無人機作業(yè)的實驗測試,有效地驗證了本文開發(fā)的地面控制站軟件系統(tǒng)是一個功能完善、能夠滿足對無人機實時監(jiān)控與管理的友好人機交互平臺。
本文開發(fā)了一套操作簡便、功能完善的多旋翼無人機地面控制站軟件系統(tǒng)。根據(jù)多旋翼無人機地面控制站軟件總體分析,建立了地面控制站軟件系統(tǒng)的總體結(jié)構(gòu)。采用功能模塊化方法,將地面控制站軟件系統(tǒng)進行獨立設(shè)計,分別實現(xiàn)了飛行監(jiān)控、飛行任務(wù)管理、二維與三維結(jié)合的導航電子地圖以及數(shù)據(jù)庫技術(shù)等多個功能。最后,通過地面控制站軟件系統(tǒng)的測試實驗有效地驗證了該地面控制站軟件系統(tǒng)是一個具有完善功能、滿足無人機實時監(jiān)控需求的友好人機交互平臺,目前已經(jīng)在實際工程中得到了良好的應用。
[1] 寧金星, 盧京潮, 閆建國. 基于VC++的無人機飛控地面站軟件的開發(fā)[J]. 計算機測量與控制, 2009, 17(3):596-598.
[2]喬志華, 李一波, 康紹鵬, 等. 基于虛擬現(xiàn)實技術(shù)的無人機地面控制站系統(tǒng)設(shè)計[A]. 系統(tǒng)仿真技術(shù)及其應用學術(shù)會議論文集[C]. 2008: 415-418.
[3]翟亞棟, 陳懷民, 吳成富, 等. 基于MapX開發(fā)的無人機導航系統(tǒng)[J]. 計算機測量與控制, 2008, 16(11): 1626-1628.
[4]馬 俊, 楊 忠, 楊成順,等. 基于Google Earth的人機交互平臺設(shè)計[J]. 應用科技, 2010, 37(7): 6-10.
[5]李 想. 無人機地面導航控制系統(tǒng)軟件研究與設(shè)計[D]. 哈爾濱:哈爾濱工程大學,2010.
Design and Development of Ground Control Station Software System for Multi-rotor UAV
Peng Cheng1, Bai Yue1, Qiao Guanyu2
(1.Changchun Institute of Optics, Fine Mechanics and Physics, Chinese Academy of Science, Changchun 130033, China;2.University of Chinese Academy of Sciences, Beijing 100039, China)
According to demands on real-time monitoring for multi-rotor UAV, an integrated ground control station software system for multi-rotor UAV was developed. In the light of the overall design analysis of the ground control station software system for multi-rotor UAV, flight monitoring function, flight mission management function, navigation maps combined two dimension with three dimension as well as database technology function were all designed, respectively, which provided the powerful guarantee to supervise multi-rotor UAV. There were three nice main user interfaces that can be switched in real time so as to supervise the multi-rotor UAV for the ground operator. Finally, the ground control station software system was tested via the flight work of a multi-rotor UAV. It was verified that the ground control station software system had favorable monitoring function with simple operation and could fully meet demands on ground control station for multi-rotor UAV. It has been provided for users as the standard software.
ground control station software system; multi-rotor UAV; flight monitoring; flight mission management; navigation maps; database technology
2017-05-04;
2017-05-23。
國家自然科學基金項目(11372309;61304017);吉林省科技發(fā)展計劃重點項目(20150204074GX)。
彭 程(1987-),女,吉林長春人,博士,助理研究員,主要從事無人機自動控制與軟件開發(fā)方向的研究。
1671-4598(2017)07-0150-04
10.16526/j.cnki.11-4762/tp.2017.07.038
TP311.52
A