一种适用于微型无人机的移动MUAV-MTP协议
2018-05-30邓嘉辉薄焕仕
邓嘉辉,薄焕仕,姚 悦,霍 星
(合肥工业大学 a.软件学院; b.数学学院,合肥 230009)
0 概述
无人机的移动通信控制在近些年发展迅速,目前,无人机技术已经跨入到4G时代。文献[1]给出了基于4G的无人机远程巡逻系统,分别实现了无人机端、服务端和地面控制端的软件开发设计,该系统能够清晰地显示视频信息和飞行状态信息。文献[2]提出了一种考虑3G/4G网络特性的多无人机环保监测任务调度,将多无人机任务调度问题建模为团队定向问题,并使用局部迭代搜索算法对该问题进行优化求解。文献[3]对基于多旋翼无人机和4G的指控系统中继通信进行了研究,分析了如何进行地空宽带无线网络与挂载单载波频域均衡体制4G转信平台之间的网络互联。文献[4]使用4G网络的Android手机作为地面通信和控制平台,设计一种基于4G网络控制的四旋翼飞行器系统,该系统具有远距离控制、视频实时传输、实时查看设备信息等功能。文献[5]设计并开发了小型无人机和地面控制站(GCS),使用GSM双向通信技术对无人机进行非视距(NLOS)远程控制。文献[6]设计和实现一个小型低功耗、低成本的半自主飞行固定翼无人机,完成实时路径规划、轨迹生成和轨迹跟踪功能。文献[7]针对EFIGENIA无人机设计嵌入式多处理器模糊逻辑飞行引导和控制系统方案,实现无人机自动驾驶、智能飞行。
微型无人机凭借其体型小、价格低、控制精准的优势在快递物流[8]、线路巡检[9]、农田信息采集[10]等商业领域取得了广泛的应用。支持微型无人机的主流协议为MavLink协议,该协议主要用于地面站与微型无人机之间的通信以及微型无人机内部子系统之间的通信,协议以消息库的形式定义了参数传输的规则[11]。与其他通信方式不同,移动通信具有信道特性差、环境干扰因素多、频谱资源少、管理级别高的特点[12]。由于现有MavLink协议的设计主要面向低速率、大数据量的消息传输,无法满足移动通信的特点,另外,此协议还存在扩展性不强、不易于与外部传感器进行通信等问题。
本文从通信协议的角度对基于移动通信的微型无人机技术进行研究,并提出一种用于微型无人机自主巡航的新型移动通信协议。
1 MUAV-MTP协议设计
由于不同地区移动网络信号强度与可靠性差别较大,因此要求系统能够适用于不同的传输层协议[13]。为了满足实际开发需求,将MUAV-MTP协议设计为支持TCP和UDP 2种传输层协议,方便用户的不同选择。
消息帧结构如表1所示,共分为6个字段。其中开始标志、消息帧序号、消息ID和消息长度字段都是int8_t类型,占用1 Byte。消息帧序号字段的表示范围是[0,255],在发送消息帧时循环增加。保证消息帧在顺序接收执行的同时计算丢包率,并在应答时指明消息帧的编号。消息ID字段用来指明数据字段的解码方式。针对不同消息所需传输参数相差大的问题,采取消息帧不定长形式,并加入消息长度字段来确保消息帧的完整接收。每个消息帧的长度范围介于6 Byte~261 Byte。最后在消息帧末尾加入2 Byte校验位,保证消息帧的正确。
表1 MUAV-MTP消息帧结构 Byte
MUAV-MTP消息帧字段及数据类型如表2、表3所示。
表2 MUAV-MTP消息帧字段
表3 数据类型 Byte
MUAV-MTP协议中使用的数据类型包括字符、整数、无符号整数、单精度浮点数与二进制流。考虑到不同硬件平台对浮点数的存储格式存在差异,并且经度、纬度、高度、速度等使用浮点数进行记录的数据的取值范围较为固定[14]。所以,将浮点数扩大2倍~20倍后,转为32位无符号整数再进行传输。通过计算可知,上述方式传输的经纬度及高度的精确度可以达到0.01 m,飞行速度、角速度等数据的精确度也完全可以满足实际要求。
基于以上的帧结构,本文设计出基于TCP/UDP协议的移动无人机自主飞行通信协议。满足通过4G网络传输数据、无人机远程控制、低空巡航等功能需求。同时保证协议的轻便性、可扩充性与安全性。根据MUAV-MTP协议消息帧的设计,实现消息帧的封装流程如图1所示。
图1 消息帧的封装流程
2 消息设计
2.1 消息类型
根据传送消息内容,将消息分为6个主要类型,如表4所示。其中,身份验证、状态信息、命令应答的消息帧长度固定,控制命令、路线设置、传感信息的消息帧长度不固定。消息类型字段使用uint8_t类型来保存,占用1 Byte,最多可以使用256个消息类型,留有充足的扩展空间。
表4 MUAV-MTP协议消息类型
2.2 路线设置消息
路线设置消息主要是传输无人机巡航路线信息。把巡航路线分割成由若干条线段相连的三维折线,将各个端点作为巡航点。通过一组巡航点信息来表示整条巡航路线的信息。
如表5所示,路线设置消息的第1个字段为巡航点数量字段,采用uint16_t类型,占2 Byte,最多可以保存2个~16个巡航点。第2个字段为模式字段,用来控制2个巡航点之间的飞行模式。接下来是一组巡航点信息,其中每个巡航点信息分为经度字段、纬度字段、高度字段、到下一个巡航点的速度字段和当前巡航点的编号字段。其中经度、纬度、高度和速度字段采用float类型保存,分别占用4 Byte。巡航点编号字段采用uint16_t类型,占用2 Byte。由此,可以计算出每个巡航点占18 Byte,一个消息帧最多可以保存14个巡航点。如果路线巡航点的数量超过单消息帧上限,将分帧传输。无人机接收到路线设置消息帧后,根据编号字段依次记录巡航点信息。
表5 路线设置消息数据格式 Byte
路线设置消息的另一个功能是从服务器向客户端发送无人机附近禁飞区信息。与巡航路线类似,用一组由原点与半径组成的圆形区域来表示禁飞区。数量、编号、经度和纬度字段意义不变,模式字段取固定值0xFE作为标志。使用高度字段保存禁飞半径、速度字段来保存警告半径,从而实现通过路线设置消息更新客户端禁飞区信息。
2.3 状态信息与传感信息
状态信息与传感信息保存的是无人机的飞行数据。将实时性要求较高的数据使用状态信息数据格式保存,作为心跳包实时发送。而其他飞行数据作为传感器信息,根据实际需求状况间歇性进行发送。这样一方面减少数据传输量,另一方面又保证了必要数据的实时更新。
如表6所示,状态信息数据包括飞行状态、飞行模式、经度、纬度、高度和速度6个字段。作为心跳包定时传输,更新无人机状态的同时检测网络连接情况。当心跳包时间间隔为0.2 s时,状态信息消息帧大小为24 Byte,计算心跳包数据传输率为120 Byte/s。
表6 状态信息数据格式 Byte
如表7所示,传感信息消息帧用于传输除状态信息数据外的各种无人机所搭载的传感器和硬件设备的数据,如摄像头的视频数据、电池的状态数据等。对于数据量较大的可以采取分帧传输,首帧的帧编号为0,每发送一帧,帧编号加1,增加到65 535帧后返回0。用户可以根据需要自行定义传感器数据格式,理论上有效传输率可以达到96%。
表7 传感信息数据格式 Byte
3 协议性能评估
3.1 发送数据量的统计分析
在一般状态下,MUAV-MTP协议传输的数据主要是#1状态信息消息帧及少量#6传感信息消息帧(如电池状态等)。而MAVLink协议除了传输#0 HEARTBEAT外,也会大量传输#1 SYS_STATUS、#30 ATTITUDE、#32 LOCAL_POSITION_NED、#36 SERVO_OUTPUT_RAW、#74 VFR_HUD和#105 HIGHRES_IMU消息包,表8介绍了各消息包的内容。如图2所示,设置心跳包发送频率为1 Hz,对比MUAV-MTP与MavLink 2种协议的数据传输量,可以看出MUAV-MTP协议的数据传输量远小于MavLink协议。
表8 部分MavLink协议消息格式
图2 2种协议的数据传输量
3.2 路线信息消息帧的验证
分别使用TCP和UDP协议验证MUAV-MTP路线信息的准确性和传输效率。在实验中,两者都可以完整地接收巡航点信息并还原路线信息。随着巡航点的增多,传输巡航点信息所需时间的变化如图3所示。TCP与UDP传输时间都成阶梯型增长。原因是由于单个路线信息消息帧最多保存14个巡航点,每发送超过14个巡航点就需要分帧发送,因此TCP传输时间呈现明显的阶梯增长,而UDP传输时间增长趋势要小于TCP。需要注意的是,在发送路线信息消息帧时,TCP连接已经建立,同时UDP的丢包率小于5%。相比于主流的MavLink协议,MUAV-MTP协议面向于无人机-服务器-客户端的远程移动网络控制模型,如图4所示。无人机无需搭载微波接收器,从根本上避免了无人机通过微波被劫持的情况[15]。同时,通过移动网络通信,无人机的IP地址是动态分配的,具有一定的不可预测性[16],有效地避免了针对无人机的网络攻击,通信安全性大大提高。
图3 路线信息消息帧传输效率
图4 无人机-服务器-客户端通信模型
MUAV-MTP协议针对自主飞行的需求加入了路线设置和部分控制命令,删除了MavLink协议中姿态调整等较为底层的内容,屏蔽了部分原始数据,使协议更为简洁并具有良好的封装性。MUAV-MTP协议传输的数据量主要取决于心跳包的发送频率及传感器传输的数据量,可以根据实际需求进行弹性调整。除此之外,服务器也可以参与通信,实现无人机飞行的实时监控与记录保存,帮助完善无人机飞行的合法化、规范化。
本文的主要贡献和创新在于:
1)提出了MUAV-MTP协议,该协议基于对MavLink协议的重新解析,简化了指令集,更加适用于移动通信环境。
2)在原有协议基础上,MUAV-MTP协议新定义了巡航指令,可以传输自主飞行需要的信息和高级命令。
3) MUAV-MTP协议具有良好的兼容性和鲁棒性,能够更为方便地传输无人机搭载的传感器的数据。
4 结束语
由于现有MavLink协议的设计主要面向低速率、大数据量的消息传输,存在移动通信信道特性差、环境干扰因素多、频谱资源少等特点,本文通过对基于移动通信的微型无人机技术进行研究,提出一种可以用于微型无人机自主巡航的新型移动通信协议。相比于主流的MavLink协议,MUAV-MTP协议面向于无人机-服务器-客户端的远程移动网络控制模型,无人机无需搭载微波接收器,从根本上避免了无人机通过微波被劫持的情况[15]。同时,通过移动网络通信,无人机的IP地址是动态分配的,具有一定的不可预测性[16],有效地避免了针对无人机的网络攻击,提高了通信安全性。
[1] 谢相博,徐光辉,范凯鑫,等.基于4G的无人机远程巡逻系统[J].通信技术,2015(11):1305-1309.
[2] 欧阳秋萍,李 杰,沈林成.考虑3G/4G网络特性的多无人机环保监测任务调度[J].计算机应用,2016,36(3):871-877,882.
[3] 何 一,姜 飞,张亚妮.基于多旋翼无人机和4G的指控系统中继通信研究[C]//中国指挥控制大会论文集.出版地不详:中国指挥与控制学会,2015:4.
[4] 程宏宽,柳正扬,郑仁杰,等.基于4G网络平台控制四旋翼飞行器的系统设计[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] 林 鹰.无人机进军空中快递业[J].交通与运输,2014(1):41-42.
[9] 王振华,黄宵宁,梁 焜,等.基于四旋翼无人机的输电线路巡检系统研究[J].中国电力,2012,45(10):59-62.
[10] 姬江涛,扈菲菲,贺智涛,等.四旋翼无人机在农田信息获取中的应用[J].农机化研究,2013,35(2):1-4.
[11] 吕 强,倪佩佩,王国胜,等.DSP的MAVLink微型无人机通信协议移植与应用[J].单片机与嵌入式系统应用,2014(11):3-5,8.
[12] 张 华.移动通信技术未来的发展趋势[J].中国新通信,2014(15):42-43.
[13] 赵 飞,叶 震.UDP协议与TCP协议的对比分析与可靠性改进[J].计算机技术与发展,2006,16(9):219-221.
[14] 龙昱程.基于TCP协议的应用层协议设计[J].信息通信,2015(5):69-70.
[15] 佚 名.2017年哪些网络安全威胁不容忽视[J].网络安全技术与应用,2016(12):172.
[16] 毕倩倩,王斌君,王靖亚.动态分配的可信IP地址研究[J].中国人民公安大学学报(自然科学版),2010(4):40-43.