張 佳
(西安航空學院 電子工程學院,西安 710077)
近年來,民用小型四旋翼無人機在航拍、植保、物流、電力巡線等場合得到了普遍的應用。四旋翼無人機的操作和使用入門門檻已經降低到了平民化的水平,然而隨著其在民用領域的普及,各種問題和矛盾也層出不窮,如無人機黑飛、擅闖禁飛區、干擾民航航班、撞擊高壓線、意外墜落傷人等。因此,監管部門需要完善相應的規章制度以規范民用無人機的飛行,通過技術手段對無人機的飛行進行實時監管,從源頭上避免事故的發生。
目前,應用最廣泛的無人機監控系統是Michael Oborne在2010年發布的Mission Planner[1]。國內較為優秀的地面站監控系統是匿名科創開源無人機團隊研發的ANO地面站系統。本文設計了一套包含機載模塊、無線通信鏈路和地面站的無人機監控系統,能夠在GSM/GPRS信號覆蓋范圍內實現對無人機的實時監控。
在無人機上安裝用于監管的監控模塊,配合地面站上的監控軟件,能夠有效地改善目前無人機無序放飛的現狀。要實現對無人機的監控,就需要搭建無人機系統與地面站系統之間的通信鏈路,使無人機的飛行數據能夠實時地傳輸至地面站。
目前,常見的小型四旋翼無人機與地面站之間一般使用數傳電臺的方式傳輸數據。這種方式的最大傳輸距離通常在1 km以內,傳輸距離較短,嚴重地限制了監控系統的作用范圍。為了擴大監控范圍,增強監控系統的普遍適用性,在此所設計的監控系統以GSM/GPRS無線通信網絡作為通信鏈路,也就是說在無線通信信號覆蓋的區域都能夠實現無人機監控。無人機監控系統如圖1所示。

圖1 無人機監控系統示意Fig.1 UAV monitoring system diagram
飛行控制器提供無人機的飛行參數和GPS位置信息;機載監控模塊能夠從飛行控制器(簡稱“飛控”)中讀取飛行參數,通過GSM/GPRS無線通信模塊發送至運營商服務器;地面站計算機通過互聯網讀取服務器中的無人機飛行參數,使用電子地理的圍欄功能判斷無人機是否在指定區域內飛行。
所謂電子地理圍欄功能,是指用戶在地面站上設置的允許無人機飛行的一個區域,一般情況下是一個封閉的多邊形GPS區域,該區域包含平面范圍以及最低、最高高度。啟用電子地理圍欄功能時,無人機一旦超出設置的區域就會自行切換到返航模式,使無人機飛回預定的返回點并在那里懸停,等待用戶重新接管,用戶則可以使用發射器的開關接管控制無人機[2]。本系統電子地理圍欄,除了具備這些傳統功能外,還能夠在無人機飛出圍欄區域時立刻發出報警信號并通知無人機操作員。
無人機監控系統可以分為兩大模塊:機載監控模塊和地面模塊。
機載監控模塊安裝在無人機上。作為獨立于無人機的部分,該模塊采集無人機的位置信息,并將采集到的數據通過GSM/GPRS無線通信網絡發送至運營商服務器。
地面模塊包括服務器、地面站計算機以及地面站軟件。服務器位于運營商機房,是無人機飛行數據存儲的媒介,同時也是無人機與地面站之間進行數據交換的橋梁;地面站計算機是用于對無人機進行監控監管的終端;在地面站計算機上運行的地面站軟件,能夠將讀取到的無人機飛行參數和位置信息顯示在用戶界面上,在出現無人機越界的情況時能夠及時發出報警信號并通過手機短信的形式通知無人機操作員。
無人機上的機載監控模塊與無人機飛控及其他機載用電設備共用一個供電電源。機載監控模塊安裝于飛控與數傳無線電臺之間,是無人機與地面站通信的必經之路。如此設計旨在使監控系統采集到的數據保持客觀性,不受外界因素干擾,使監控系統能夠服務于獨立的第三方監管部門。
根據功能需求來設計機載監控模塊,無人機使用的飛控型號為APM2.8,無人機飛控與無線電臺之間通過串口進行通信,數據以MAVLink協議的格式打包。因此,要采集無人機的飛行參數和GPS位置信息,機載監控模塊必須具備串口通信功能并且能夠解包MAVLink協議幀。
機載監控模塊運算核心選用了意法半導體ST公司的STM32F103型號基于ARM架構的MCU。STM32F103擁有32 b的Cortex-M3內核,其最高工作頻率為72 MHz;擁有2個DMA控制器,共計12個DMA通道;支持3個USART接口[3],其性能能夠滿足系統要求。
以微控制器的通用同步/異步接口1(USART1)作為串口通信端口與飛控連接讀取位置信息,STM32F103微控制器的USART1接口具有重映射功能,通過設置映射寄存器中的重映射控制位USART1_REMAP,便可以將USART1接口定義在不同的引腳上。USART1重映射功能定義如表1所示。

表1 USART1重映射功能定義Tab.1 USART1 remapping function definition
在設計中,將重映射控制位USART1_REMAP設置為0,則微控制器的串口發送端USART1_TX為PA9,串口接收端USART1_RX為PA10。由于微控制器的串口接收發送的信號是TTL電平的,而飛控按照串口電平收發數據,2個端口的電平幅值不同,不能直接相連,需要通過電平轉換芯片連接。在此選用MAX232作為電平轉換芯片。MAX232是美信(Maxim)公司推出的用于串口與TTL電平之間的電平轉換芯片,其功耗低、成本低、集成度高。機載監控模塊與飛控連接示意如圖2所示。

圖2 機載監控模塊與飛控連接電路示意Fig.2 Airborne monitoring module and flight control connection circuit
機載監控模塊的另一個重要作用就是解析從飛控收到的MAVLink數據包。
MAVLink是基于串口的高層開源通訊協議,為小型飛行器與地面站或者小型飛行器之間進行通訊制定了一種數據收發規則,并加入了校驗功能。使用該協議進行數據通訊的基本單位是消息幀,其格式如圖3所示。

圖3 MAVLink協議格式Fig.3 MAVLink protocol format
除了載荷數據(PAYLOAD),其余部分的長度均為1 B。每個消息幀由9部分組成,它們分別是:
①STX為起始標志位,長度為1 B。
②LEN為MAVLink消息幀的有效載荷數據,即協議中PAYLOAD部分所包含的數據內容的字節長度,該標志位長度為1 B。在MAVLink消息幀接收端可以將LEN標志位與接收到數據的長度進行比較,從而校驗數據是否完整。
③SEQ為本次消息幀的序號,每發送1幀數據后該字節加1,當該字節累加到255之后會循環從0重新開始。通過該標志位可以計算出MAVLink消息幀的丟失比例,從而得出通信鏈路的信號強度。
④SYS為發送本條消息幀的設備的系統編號,用于接收端區分數據來源設備。
⑤COMP為發送本條消息幀的設備的單元編號,用于接收端區分消息來源的設備單元。
⑥MSG為有效載荷中消息包的編號,與SEQ有所區別,接收端要根據該標志位來鑒別消息幀數據里攜帶了什么消息包,從而依據該標志位使用相應的流程來處理消息幀數據。
⑦PAYLOAD為有效數據載荷,長度不定,范圍為 0~255。
⑧CKA為消息校驗位,校驗和(checksum)的低八位;
⑨CKB為消息校驗位,校驗和(checksum)的高八位。
要使STM32F103微控制器具有解析MAVLink消息幀的能力,應將MAVLink源代碼移植到微控制器中。首先,從MAVLink官網上下載MAVLink Gen erator源碼生成器;打開軟件后,單擊“Generate”按鈕,生成協議源代碼;將生成的文件添加到STM32工程中,再編譯、連接生成二進制文件燒寫到微控制器中。至此完成了MAVLink在STM32F103上的移植。
STM32F103微控制器解析出MAVLink消息幀中的無人機飛行參數和GPS位置信息后,由GSM/GPRS無線通信網絡發送至服務器。GSM/GPRS無線通信模塊選用基于SIM800A芯片的GSM/GPRS無線通信模塊。SIM800A模塊工作頻段為雙頻GSM 900/1800 MHz,能夠低功耗實現語音、DTMF,SMS(短信、彩信),GPRS 數據的傳輸[4]。
SIM800A模塊抗干擾能力強、外圍電路集成度高、尺寸小巧,適合用于遠程監控領域。該模塊GPRS下行傳輸最大速率85.6kb/s,上行傳輸最大速率42.8kb/s,內嵌TCP/IP協議,支持TCP/UDP通信,支持FTP/HTTP服務,滿足機載監控模塊的性能需求。
地面模塊用于接收和處理機載監控模塊發來的無人機位置數據,包括服務器和地面站2個部分。
服務器位于運營商機房,接收并存儲機載監控模塊通過GSM/GPRS無線通信網絡發來的數據,相當于整個數據鏈路的中繼。
地面站計算機是監控系統的地面終端,負責集中處理、顯示機載模塊采集的數據。地面站計算機與服務器之間通過互聯網連接,地面站訪問服務器取出數據后顯示在用戶界面上。同時,作為監控系統的核心功能,地面站軟件會實時判斷無人機是否在電子地理圍欄允許范圍內飛行,否則發出報警信號并通知無人機操作員[5]。
地理圍欄功能需要地面站計算機和無人機機載模塊協調完成,用戶在地面站軟件的地圖中劃出多邊形區域作為地理圍欄,放飛無人機后機載模塊會實時將其GPS位置信息發送至服務器。地面站軟件從服務器讀取到無人機信息后,使用射線法將采集到的無人機位置信息與地理圍欄區域進行比較,判斷無人機是否在圍欄區域內。一旦無人機超越圍欄,地面站將向機載模塊發送指令,從而觸發無人機的返航程序,使其返回預先設定的返航點。
地面站軟件基于C#開發,處理流程如圖4所示。

圖4 地面站軟件流程Fig.4 Ground station software flow chart
為全面監控無人機的狀態,地面站軟件能夠將無人機飛行參數如俯仰角、航向角、橫滾角顯示在用戶界面的儀表盤中。利用DirectX技術,建立四旋翼無人機的3D模型,導入地面站軟件中[6]。三維模型能夠隨著無人機飛行參數的變化,顯示出不同的對應狀態,直觀明了。地面站軟件界面如圖5所示。

圖5 地面站軟件用戶界面Fig.5 Ground station software user interface
利用四旋翼無人機飛控的輸出接口采集并解析無人機的飛行參數和GPS位置,通過GSM/GPRS無線通信網絡將數據傳輸至服務器;地面站計算機經由互聯網訪問服務器讀取無人機數據,并將無人機的位置和姿態信息直觀地顯示在用戶界面上;利用地面站軟件中的電子地理圍欄功能,實現了對無人機的實時監控,為監管部門提供了一種有效的小型民用四旋翼無人機的監管手段。
[1]Luca Damilano,Giorgio Guglieri,Fulvia Quagliotti,et al.Ground control station embedded mission planning for UAS[J].Journal of Intelligent&Robotic Systems,2013,69(1):241-256.
[2]楊澤,鄭立華,李民贊,等.基于射線檢測算法的無人機植保作業電子圍欄設計[J].農業機械學報,2016,47(S1):442-448.
[3]孫書鷹,陳志佳,寇超.新一代嵌入式微處理器STM32F103開發與應用[J].微計算機應用,2010,31(12):59-63.
[4]韓進,馬雙.基于SIM800C的GPRS數據傳輸系統設計[J].電子產品世界,2016,24(11):39-42.
[5]夏仁波,劉偉軍,王越超.點在平面多邊形內外的判斷方法[J].機械工程學報,2006,42(3):130-135.
[6]劉澤坤,昂海松,羅東明.基于DirectX的無人機實時飛行仿真系統開發[J].系統仿真學報,2006,18(4):918-920,923.