鄧嘉輝,薄煥仕,姚 悅,霍 星
(合肥工業(yè)大學 a.軟件學院; b.數(shù)學學院,合肥 230009)
無人機的移動通信控制在近些年發(fā)展迅速,目前,無人機技術(shù)已經(jīng)跨入到4G時代。文獻[1]給出了基于4G的無人機遠程巡邏系統(tǒng),分別實現(xiàn)了無人機端、服務端和地面控制端的軟件開發(fā)設計,該系統(tǒng)能夠清晰地顯示視頻信息和飛行狀態(tài)信息。文獻[2]提出了一種考慮3G/4G網(wǎng)絡特性的多無人機環(huán)保監(jiān)測任務調(diào)度,將多無人機任務調(diào)度問題建模為團隊定向問題,并使用局部迭代搜索算法對該問題進行優(yōu)化求解。文獻[3]對基于多旋翼無人機和4G的指控系統(tǒng)中繼通信進行了研究,分析了如何進行地空寬帶無線網(wǎng)絡與掛載單載波頻域均衡體制4G轉(zhuǎn)信平臺之間的網(wǎng)絡互聯(lián)。文獻[4]使用4G網(wǎng)絡的Android手機作為地面通信和控制平臺,設計一種基于4G網(wǎng)絡控制的四旋翼飛行器系統(tǒng),該系統(tǒng)具有遠距離控制、視頻實時傳輸、實時查看設備信息等功能。文獻[5]設計并開發(fā)了小型無人機和地面控制站(GCS),使用GSM雙向通信技術(shù)對無人機進行非視距(NLOS)遠程控制。文獻[6]設計和實現(xiàn)一個小型低功耗、低成本的半自主飛行固定翼無人機,完成實時路徑規(guī)劃、軌跡生成和軌跡跟蹤功能。文獻[7]針對EFIGENIA無人機設計嵌入式多處理器模糊邏輯飛行引導和控制系統(tǒng)方案,實現(xiàn)無人機自動駕駛、智能飛行。
微型無人機憑借其體型小、價格低、控制精準的優(yōu)勢在快遞物流[8]、線路巡檢[9]、農(nóng)田信息采集[10]等商業(yè)領域取得了廣泛的應用。支持微型無人機的主流協(xié)議為MavLink協(xié)議,該協(xié)議主要用于地面站與微型無人機之間的通信以及微型無人機內(nèi)部子系統(tǒng)之間的通信,協(xié)議以消息庫的形式定義了參數(shù)傳輸?shù)囊?guī)則[11]。與其他通信方式不同,移動通信具有信道特性差、環(huán)境干擾因素多、頻譜資源少、管理級別高的特點[12]。由于現(xiàn)有MavLink協(xié)議的設計主要面向低速率、大數(shù)據(jù)量的消息傳輸,無法滿足移動通信的特點,另外,此協(xié)議還存在擴展性不強、不易于與外部傳感器進行通信等問題。
本文從通信協(xié)議的角度對基于移動通信的微型無人機技術(shù)進行研究,并提出一種用于微型無人機自主巡航的新型移動通信協(xié)議。
由于不同地區(qū)移動網(wǎng)絡信號強度與可靠性差別較大,因此要求系統(tǒng)能夠適用于不同的傳輸層協(xié)議[13]。為了滿足實際開發(fā)需求,將MUAV-MTP協(xié)議設計為支持TCP和UDP 2種傳輸層協(xié)議,方便用戶的不同選擇。
消息幀結(jié)構(gòu)如表1所示,共分為6個字段。其中開始標志、消息幀序號、消息ID和消息長度字段都是int8_t類型,占用1 Byte。消息幀序號字段的表示范圍是[0,255],在發(fā)送消息幀時循環(huán)增加。保證消息幀在順序接收執(zhí)行的同時計算丟包率,并在應答時指明消息幀的編號。消息ID字段用來指明數(shù)據(jù)字段的解碼方式。針對不同消息所需傳輸參數(shù)相差大的問題,采取消息幀不定長形式,并加入消息長度字段來確保消息幀的完整接收。每個消息幀的長度范圍介于6 Byte~261 Byte。最后在消息幀末尾加入2 Byte校驗位,保證消息幀的正確。
表1 MUAV-MTP消息幀結(jié)構(gòu) Byte
MUAV-MTP消息幀字段及數(shù)據(jù)類型如表2、表3所示。
表2 MUAV-MTP消息幀字段
表3 數(shù)據(jù)類型 Byte
MUAV-MTP協(xié)議中使用的數(shù)據(jù)類型包括字符、整數(shù)、無符號整數(shù)、單精度浮點數(shù)與二進制流??紤]到不同硬件平臺對浮點數(shù)的存儲格式存在差異,并且經(jīng)度、緯度、高度、速度等使用浮點數(shù)進行記錄的數(shù)據(jù)的取值范圍較為固定[14]。所以,將浮點數(shù)擴大2倍~20倍后,轉(zhuǎn)為32位無符號整數(shù)再進行傳輸。通過計算可知,上述方式傳輸?shù)慕?jīng)緯度及高度的精確度可以達到0.01 m,飛行速度、角速度等數(shù)據(jù)的精確度也完全可以滿足實際要求。
基于以上的幀結(jié)構(gòu),本文設計出基于TCP/UDP協(xié)議的移動無人機自主飛行通信協(xié)議。滿足通過4G網(wǎng)絡傳輸數(shù)據(jù)、無人機遠程控制、低空巡航等功能需求。同時保證協(xié)議的輕便性、可擴充性與安全性。根據(jù)MUAV-MTP協(xié)議消息幀的設計,實現(xiàn)消息幀的封裝流程如圖1所示。
圖1 消息幀的封裝流程
根據(jù)傳送消息內(nèi)容,將消息分為6個主要類型,如表4所示。其中,身份驗證、狀態(tài)信息、命令應答的消息幀長度固定,控制命令、路線設置、傳感信息的消息幀長度不固定。消息類型字段使用uint8_t類型來保存,占用1 Byte,最多可以使用256個消息類型,留有充足的擴展空間。
表4 MUAV-MTP協(xié)議消息類型
路線設置消息主要是傳輸無人機巡航路線信息。把巡航路線分割成由若干條線段相連的三維折線,將各個端點作為巡航點。通過一組巡航點信息來表示整條巡航路線的信息。
如表5所示,路線設置消息的第1個字段為巡航點數(shù)量字段,采用uint16_t類型,占2 Byte,最多可以保存2個~16個巡航點。第2個字段為模式字段,用來控制2個巡航點之間的飛行模式。接下來是一組巡航點信息,其中每個巡航點信息分為經(jīng)度字段、緯度字段、高度字段、到下一個巡航點的速度字段和當前巡航點的編號字段。其中經(jīng)度、緯度、高度和速度字段采用float類型保存,分別占用4 Byte。巡航點編號字段采用uint16_t類型,占用2 Byte。由此,可以計算出每個巡航點占18 Byte,一個消息幀最多可以保存14個巡航點。如果路線巡航點的數(shù)量超過單消息幀上限,將分幀傳輸。無人機接收到路線設置消息幀后,根據(jù)編號字段依次記錄巡航點信息。
表5 路線設置消息數(shù)據(jù)格式 Byte
路線設置消息的另一個功能是從服務器向客戶端發(fā)送無人機附近禁飛區(qū)信息。與巡航路線類似,用一組由原點與半徑組成的圓形區(qū)域來表示禁飛區(qū)。數(shù)量、編號、經(jīng)度和緯度字段意義不變,模式字段取固定值0xFE作為標志。使用高度字段保存禁飛半徑、速度字段來保存警告半徑,從而實現(xiàn)通過路線設置消息更新客戶端禁飛區(qū)信息。
狀態(tài)信息與傳感信息保存的是無人機的飛行數(shù)據(jù)。將實時性要求較高的數(shù)據(jù)使用狀態(tài)信息數(shù)據(jù)格式保存,作為心跳包實時發(fā)送。而其他飛行數(shù)據(jù)作為傳感器信息,根據(jù)實際需求狀況間歇性進行發(fā)送。這樣一方面減少數(shù)據(jù)傳輸量,另一方面又保證了必要數(shù)據(jù)的實時更新。
如表6所示,狀態(tài)信息數(shù)據(jù)包括飛行狀態(tài)、飛行模式、經(jīng)度、緯度、高度和速度6個字段。作為心跳包定時傳輸,更新無人機狀態(tài)的同時檢測網(wǎng)絡連接情況。當心跳包時間間隔為0.2 s時,狀態(tài)信息消息幀大小為24 Byte,計算心跳包數(shù)據(jù)傳輸率為120 Byte/s。
表6 狀態(tài)信息數(shù)據(jù)格式 Byte
如表7所示,傳感信息消息幀用于傳輸除狀態(tài)信息數(shù)據(jù)外的各種無人機所搭載的傳感器和硬件設備的數(shù)據(jù),如攝像頭的視頻數(shù)據(jù)、電池的狀態(tài)數(shù)據(jù)等。對于數(shù)據(jù)量較大的可以采取分幀傳輸,首幀的幀編號為0,每發(fā)送一幀,幀編號加1,增加到65 535幀后返回0。用戶可以根據(jù)需要自行定義傳感器數(shù)據(jù)格式,理論上有效傳輸率可以達到96%。
表7 傳感信息數(shù)據(jù)格式 Byte
在一般狀態(tài)下,MUAV-MTP協(xié)議傳輸?shù)臄?shù)據(jù)主要是#1狀態(tài)信息消息幀及少量#6傳感信息消息幀(如電池狀態(tài)等)。而MAVLink協(xié)議除了傳輸#0 HEARTBEAT外,也會大量傳輸#1 SYS_STATUS、#30 ATTITUDE、#32 LOCAL_POSITION_NED、#36 SERVO_OUTPUT_RAW、#74 VFR_HUD和#105 HIGHRES_IMU消息包,表8介紹了各消息包的內(nèi)容。如圖2所示,設置心跳包發(fā)送頻率為1 Hz,對比MUAV-MTP與MavLink 2種協(xié)議的數(shù)據(jù)傳輸量,可以看出MUAV-MTP協(xié)議的數(shù)據(jù)傳輸量遠小于MavLink協(xié)議。
表8 部分MavLink協(xié)議消息格式
圖2 2種協(xié)議的數(shù)據(jù)傳輸量
分別使用TCP和UDP協(xié)議驗證MUAV-MTP路線信息的準確性和傳輸效率。在實驗中,兩者都可以完整地接收巡航點信息并還原路線信息。隨著巡航點的增多,傳輸巡航點信息所需時間的變化如圖3所示。TCP與UDP傳輸時間都成階梯型增長。原因是由于單個路線信息消息幀最多保存14個巡航點,每發(fā)送超過14個巡航點就需要分幀發(fā)送,因此TCP傳輸時間呈現(xiàn)明顯的階梯增長,而UDP傳輸時間增長趨勢要小于TCP。需要注意的是,在發(fā)送路線信息消息幀時,TCP連接已經(jīng)建立,同時UDP的丟包率小于5%。相比于主流的MavLink協(xié)議,MUAV-MTP協(xié)議面向于無人機-服務器-客戶端的遠程移動網(wǎng)絡控制模型,如圖4所示。無人機無需搭載微波接收器,從根本上避免了無人機通過微波被劫持的情況[15]。同時,通過移動網(wǎng)絡通信,無人機的IP地址是動態(tài)分配的,具有一定的不可預測性[16],有效地避免了針對無人機的網(wǎng)絡攻擊,通信安全性大大提高。
圖3 路線信息消息幀傳輸效率
圖4 無人機-服務器-客戶端通信模型
MUAV-MTP協(xié)議針對自主飛行的需求加入了路線設置和部分控制命令,刪除了MavLink協(xié)議中姿態(tài)調(diào)整等較為底層的內(nèi)容,屏蔽了部分原始數(shù)據(jù),使協(xié)議更為簡潔并具有良好的封裝性。MUAV-MTP協(xié)議傳輸?shù)臄?shù)據(jù)量主要取決于心跳包的發(fā)送頻率及傳感器傳輸?shù)臄?shù)據(jù)量,可以根據(jù)實際需求進行彈性調(diào)整。除此之外,服務器也可以參與通信,實現(xiàn)無人機飛行的實時監(jiān)控與記錄保存,幫助完善無人機飛行的合法化、規(guī)范化。
本文的主要貢獻和創(chuàng)新在于:
1)提出了MUAV-MTP協(xié)議,該協(xié)議基于對MavLink協(xié)議的重新解析,簡化了指令集,更加適用于移動通信環(huán)境。
2)在原有協(xié)議基礎上,MUAV-MTP協(xié)議新定義了巡航指令,可以傳輸自主飛行需要的信息和高級命令。
3) MUAV-MTP協(xié)議具有良好的兼容性和魯棒性,能夠更為方便地傳輸無人機搭載的傳感器的數(shù)據(jù)。
由于現(xiàn)有MavLink協(xié)議的設計主要面向低速率、大數(shù)據(jù)量的消息傳輸,存在移動通信信道特性差、環(huán)境干擾因素多、頻譜資源少等特點,本文通過對基于移動通信的微型無人機技術(shù)進行研究,提出一種可以用于微型無人機自主巡航的新型移動通信協(xié)議。相比于主流的MavLink協(xié)議,MUAV-MTP協(xié)議面向于無人機-服務器-客戶端的遠程移動網(wǎng)絡控制模型,無人機無需搭載微波接收器,從根本上避免了無人機通過微波被劫持的情況[15]。同時,通過移動網(wǎng)絡通信,無人機的IP地址是動態(tài)分配的,具有一定的不可預測性[16],有效地避免了針對無人機的網(wǎng)絡攻擊,提高了通信安全性。
[1] 謝相博,徐光輝,范凱鑫,等.基于4G的無人機遠程巡邏系統(tǒng)[J].通信技術(shù),2015(11):1305-1309.
[2] 歐陽秋萍,李 杰,沈林成.考慮3G/4G網(wǎng)絡特性的多無人機環(huán)保監(jiān)測任務調(diào)度[J].計算機應用,2016,36(3):871-877,882.
[3] 何 一,姜 飛,張亞妮.基于多旋翼無人機和4G的指控系統(tǒng)中繼通信研究[C]//中國指揮控制大會論文集.出版地不詳:中國指揮與控制學會,2015:4.
[4] 程宏寬,柳正揚,鄭仁杰,等.基于4G網(wǎng)絡平臺控制四旋翼飛行器的系統(tǒng)設計[J].信息化建設,2015(8):120-121.
[5] ABDELHAMID A,PENG Z,ABDELHAMID B.Advanced software ground station and UAV development for NLoS control using mobile communications[J].Discrete Dynamics in Nature and Society,2015,2015:1-20.
[6] BEARD R W,KINGSTON D,QUIGLEY M,et al.Autonomous vehicle technologies for small fixed-wing UAVs[J].Journal of Aerospace Computing Information & Communication,2005,2(1):92-108.
[7] CORDOBA G M A.Autonomous intelligent fuzzy logic guidance,and flight control system for the EFIGENIA EJ-1B MOZART unmanned aerial vehicle UAV [J].IFAC Proceedings Volumes,2007,40(7):31-36.
[8] 林 鷹.無人機進軍空中快遞業(yè)[J].交通與運輸,2014(1):41-42.
[9] 王振華,黃宵寧,梁 焜,等.基于四旋翼無人機的輸電線路巡檢系統(tǒng)研究[J].中國電力,2012,45(10):59-62.
[10] 姬江濤,扈菲菲,賀智濤,等.四旋翼無人機在農(nóng)田信息獲取中的應用[J].農(nóng)機化研究,2013,35(2):1-4.
[11] 呂 強,倪佩佩,王國勝,等.DSP的MAVLink微型無人機通信協(xié)議移植與應用[J].單片機與嵌入式系統(tǒng)應用,2014(11):3-5,8.
[12] 張 華.移動通信技術(shù)未來的發(fā)展趨勢[J].中國新通信,2014(15):42-43.
[13] 趙 飛,葉 震.UDP協(xié)議與TCP協(xié)議的對比分析與可靠性改進[J].計算機技術(shù)與發(fā)展,2006,16(9):219-221.
[14] 龍昱程.基于TCP協(xié)議的應用層協(xié)議設計[J].信息通信,2015(5):69-70.
[15] 佚 名.2017年哪些網(wǎng)絡安全威脅不容忽視[J].網(wǎng)絡安全技術(shù)與應用,2016(12):172.
[16] 畢倩倩,王斌君,王靖亞.動態(tài)分配的可信IP地址研究[J].中國人民公安大學學報(自然科學版),2010(4):40-43.