张 佳
(西安航空学院 电子工程学院,西安 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.