《武汉工程大学学报》  2016年2期 190-194   出版日期:2016-04-30   ISSN:1674-2869   CN:42-1779/TQ
基于Cortex-M4的无人飞行器安防系统研究


1 引 言
无人飞行器自诞生之日起,一直是航空领域研究的热点,特别是小型多旋翼无人机因其体积小、飞行姿态灵活多变且易于操控,广泛应用于完成侦察与营救任务、科学数据采集、地质和林业勘探、农业病虫害防治、影视制作等领域. 通过无人飞行器来完成上述任务不仅大大降低成本而且提高人员安全保障[1].
在现有的安防监控系统中,多采用固定摄像头监控与人员随机巡逻相结合的方式进行,摄像头通过无线或者有线的方式将视频传回监控室,人员根据视频信息随机选择巡逻路线,监控与巡逻不同步. 有研究将无人机用于视频监控领域,在飞行器上加装摄像头,通过射频信号传回视频信息,人员观看视频并利用遥控器控制飞行器的运动,这种方式依赖于操作人员的娴熟程度,且人工操控通常会受到遥控的通讯距离、人员疲劳程度的影响[2],因此飞行距离和作业复杂程度都会受到限制,使得无人机很难在智能化安防领域发挥作用,根据有人操作无人机的诸多弊端,结合视频跟踪与通讯技术设计了一种无人操作的无人机安防监控系统,该系统主要由飞行控制系统,通讯系统,目标跟踪系统组成,利用无线网络传输视频与控制信息,无需遥控器在视距范围内操控,实现无人机在安防区域内动态规划飞行轨迹并自主飞行的功能,同时能对可疑目标进行跟踪并进行远程警告.
2 系统设计
2.1 飞行系统
由于4旋翼无人飞行器具有6个自由度,而自身只有4个输入力,所以在这种欠驱动系统中,机身具有非常灵活的动作能力,非常适合悬停或者动态飞行.
通过对安防系统的实际应用进行需求分析,设计了一种铝合金框架的机身,如图1所示,该结构具有重量轻,强度高,紧凑性强等诸多优点, 有助于提高无人机的稳定性和灵活性,并可延长其飞行时间[3]. 飞行控制芯片采用基于ARM Cortex-M4的STM32F41716浮点型MCU,该芯片采用多重AHB总线矩阵和多通道DMA,支持程序执行和数据传输并行处理,多达1MB FLASH数据传输速率非常快,足以满足无人机控制算法的实时性要求. 动力系统由1045的正反桨和KV980的无刷电机组成,并使用基于BLHELI固件的驱动器进行转速控制. 硬件设计如图2所示.
其中各类型传感器与STM32主控板通过IIC、UART接口相连,电机连接调速器间接与主控板相连,由PWM信号控制.
姿态控制传感器采用MPU6050(陀螺仪)、HMC5883L(电子罗盘)、MS5611(气压计)、HC-SR04(超声波)、Ublox NEO 6M(GPS)等器件,控制算法采用四路闭环PID控制,其中包含俯仰角、横滚角、偏航角和高度四路闭环[4].
如图3所示,u1、u2、u3、u4分别为4个控制量,x、y、z分别为无人机的空间坐标,[θ、?、ψ]分别为地面坐标系下无人机的偏航角,俯仰角,翻滚角度.
机体自身坐标系各自坐标轴的角速度p、q、r与[θ、?、ψ]之间的关系通常由式1表示.
[ψ?θ???=1sinφtanθcosφtanθ0cosφ-sinφ0sinφsecθcosφsecθpqr] (1)
经过简化模型后,式1的近似表达如下:
[ψ?θ???=100010001pqr] (2)
另根据刚体的转动定理,可以求出对应轴的合力矩,继而得出4个旋翼的转速与姿态的关系式,使得控制电机的转速即可控制机身的姿态[5].
2.2 通讯系统
在安防系统中多架飞机在安防区域巡逻,须同时将监控图像传回至监控中心,因此选择5.8 GHz的32通道无线图像传输系统. 监控中心将各架飞机回传的视频飞配到不同的地址进行视频访问. 如图4所示.


由于处于实验阶段,为了简化设计,只用一架飞行器进行实验,并设计了一种基于Linux的嵌入式操作系统的大功率无线WiFi图传模块,来完成视频的采集、传输工作[6]. 图5为其实物图,为了提升视频传输的稳定性和流畅性,需要加大缓存的容量.
采用64M RAM提升系统运行缓存空间与系统内存空间. 由于系统中还存在通讯和控制程序,所以提升了程序存储空间,采用8M FLASH 闪存芯片并使用CH341芯片编程器,将Bootloader引导程序烧入其中,使得上层的Linux系统能方便的调试、更新.
整个系统由摄像头、Linux图传模块、Web服务器和客户端(PC或手机等移动设备)组成,无线模块除了上述无线视频采集、传输功能外,还负责接收控制中心传出的控制指令,并将控制指令通过串口传给飞行控制板,同时也接收飞行控制板发送的飞行数据信息,回传给控制中心,实现双板联通与双核协同.
控制指令采用数据帧包的方式进行传输,因此建立“一问一答,不问不答”的通讯协议,即下位机不主动发送数据以减轻板载CPU的负载,上位机需要获取数据的时候,向下位机发送指令,下位机则回传相应的数据.
通讯格式如下:上位机读取数据信息$M>[data length][code][data][check sum];上位机发送控制信息$M<[data length][code][data][check sum];图6为指令的具体格式.
2.3 智能跟踪系统
2.3.1 区域巡逻系统 运用地理围栏技术将飞行器的巡逻范围限定在安防区域内,对安防区域进行三维建模,将飞行器的GPS坐标信息与模型的相对位置相匹配,实时动态的生成飞行器的巡逻轨迹,多个飞行器的巡逻轨迹在三维空间上不重叠,且每隔一段时间重新规划一次.
其中,由于传统GPS定位时间长、信号穿透力弱、精度差等缺点. 参考主流移动终端的定位方式,可以结合GPS、AGPS、WIFI进行精准定位. 时下WIFI的普及,给WIFI定位技术提供了低成本的运行环境,无需再去投入资金安装设备.
2.3.2 可疑人员跟踪系统 TLD(Tracking-Learning-Detection)是一种单目标长时间的跟踪算法,其包含跟踪、学习、检测这三部分[7],通过不断的在线学习机制,实时对跟踪目标的特征点进行提取,继而对目标的数学模型和相关参数在线更新,可以解决由于跟踪目标的形变、转向、遮挡等情况导致的跟踪失败问题,相对于传统的算法而言,这种结合跟踪与检测的新型算法将跟踪过程中所涉及的核心问题统一化,使其稳定性好,可靠度高[8].
基于安防监控系统的使用特点,需要对目标进行长时间的监控跟踪,使用单一的跟踪和检测算法都无法满足实际的需求,于是采用TLD算法对目标进行跟踪,结合实际应用场景,对算法所涉及的三大部分进行合理安排,详细的流程框图如图7所示[9].












视频可以看作由一帧帧的图像组成,算法分析每一帧图像中不断运动的目标,对目标的相对和绝对运动趋势进行估计、检测,若是相邻图像中的目标处于运动幅度无限状态,或者目标完全被遮挡,处于不可见状态,都将导致跟踪无法继续. 假设视频帧之间都是独立的,根据之前学习所生成的模型,在视频帧图像范围内全局搜索,找到相应目标后,对此时的目标特征点进行更新,并加入到新的学习模型中,对数据动态修改,以此不断的检测和跟踪连续的运动目标[10]. 在此过程中,检测跟踪部分会产生错误的情况,学习模块结合现有模型对错误进行比对修正,生成训练样本,更新到目标模型的参数中,并对其中的关键特征点刷新,避免再次出现相同的错误. 实际视频监控效果如图8所示. 从图8中可看出该算法对运动目标的跟踪效果良好, 在目标车辆不断改变方位和姿态的情况下,此算法仍能精确锁定目标.
3 结 语
上述设计的无人机安防系统,通过实际现场测试,飞行器在悬停时能控制在直径为0.35 m的圆形区域内,高度浮动不超过±0.15 m,精确的悬停动作对于轨迹控制打下了良好的基础. 由于采用了循环时间为1.2 ms(0.84 kHz)的快速控制方式,使得飞行器4个电机反应迅速,在抗干扰能力方面有显著提升.
在TLD算法中,对总帧数为2 665的视频片段而言,正确识别的帧数为641,总时间为315 662 ms,平均时间为118 ms,由于视频处理在PC机上完成,加上传输视频、控制信号的滞后性,算法的实时性不够高,若是移植到机载嵌入式平台中,会使效果有很大的提升.
总体来说,该系统在提高安防系统的自动化水平和减轻人员劳动强度方面有较大的作用,并且该系统成本较低,抗干扰能力强,运营维护较为方便,适合大规模推广运行,对提高我国的智能安防水平有较大的贡献.
致 谢
感谢曹鹏彬老师的支持!