四旋翼自主飞行器探测跟踪系统
作者 寇梓黎 郑添 邹少锋 东南大学 电子科学与工程学院(江苏 南京 211189)
本文引用地址:http://www.amcfsurvey.com/article/201806/382299.htm*2017年全国大学生电子设计竞赛瑞萨杯最佳应用奖
摘要:随着四旋翼飞行器技术的不断应用,无人机的各种用途被不断发掘出来。基于四旋翼飞行器相对平稳的飞行状态和可控等特点,利用四旋翼飞行器进行探测和跟踪目标成为可能。本文介绍了一种四旋翼自主飞行探测跟踪系统,该系统采用以STM32F4单片机作为姿态控制模块的主控芯片,采用MPU9150、MS5611作为姿态解算模块的传感器,利用US-100传感器和气压计实现融合定高,图像处理上采用OV7670摄像头,配合RX23T-NUEDC开发板采集环境信息,以实现定高悬停以及定点跟踪等功能。
0 引言
随着四旋翼飞行器技术的逐步发展,目前的四旋翼飞行器已经能够做到平稳地飞行和高自由度地操控,再配上机载相机便能够实现航拍、图像识别等多种功能。为了使四旋翼飞行器实现探测和跟踪的功能,本作品将姿态控制模块、姿态解算模块、图像识别模块、定高模块、电源模块、遥控小车模块及声光模块进行整合,完成了以下任务:1)一键起飞,稳定飞行,定高悬停,平缓降落等基本功能;2)定点悬停及跟踪小车飞行;3)跟踪小车时实现航向的跟随偏转。本系统包括:姿态控制模块、姿态解算模块、图像识别模块、定高模块、电源模块、遥控小车模块及声光模块。该系统可以在平稳飞行的同时,按照程序指令搜寻目标,并触发跟踪状态,完成跟踪任务后,能够自主地择地平稳降落。
1 系统概述
该系统由姿态控制模块、姿态解算模块、图像识别模块、定高模块、电源模块、遥控小车模块及声光模块组成,各个模块间相互作用,系统模块映射框图如图1所示。
根据探测和跟踪任务的需要,本系统需要完成悬停定点、探测跟踪、择地降落等一系列任务,主要工作流程如图2所示。
具体而言,四旋翼飞行器利用US-100超声波传感器,以50 ms周期读取传感器的数据,计算出飞行器的实际高度,通过串级PID算法对飞行器的加速度环、高度环进行反馈,使飞行器的期望高度为我们指定高度的同时,飞行器的加速度期望值为零,从而实现定高悬停。在定高悬停的情况下,处理OV7670摄像头模块获得的图像,计算出黑色圆点的圆心位置,输出圆心距离中心点的偏差量dx和dy。飞行器对偏差量进行前翻和横滚两个方向的PID调节,实现定点悬停。对于运动的遥控小车,为其套上涂有黑色圆点的外壳,对运动的黑点进行定点悬停,即实现了跟踪功能。
2 硬件设计
2.1 姿态控制模块
方案1:采用AVR单片机作为主控芯片
AVR单片机为8位最高16 MHz主频的单片机,其学习资源较为丰富,编译环境简单且适应性强。但AVR单片机的处理速度过低,达不到实时控制飞行姿态的要求。典型的AVR开源飞控包括APM飞控等。
方案2:采用STM32F4单片机作为主控芯片
STM32F407是一款以ARM Cortex-M4为内核,最高主频168 MHz的32位单片机。其速度快,具有极强的计算处理能力;内置定时器多,引出众多外设接口,能适应飞行器姿态控制的输入输出,可移植性强。典型的STM32F4开源飞控包括匿名科创、恒拓HAWK、PIXHAWK等。
综合飞行器平缓飞行、高效控制的性能要求,选择方案2。
2.2 姿态解算模块
方案1:采用MMA7260+ENC-03M传感器
MMA72600加速度传感器含信号调理和温度补偿技术,ENC-03M角度传感器可稳定测量角加速度值,但两传感器结合使用较复杂,且需外加电路抑制噪声与温漂。
方案2:采用MPU9150+MS5611传感器
MPU9150为9轴陀螺仪,内部集成了MPU6050和AK8975芯片,可精准测量3轴角度,3轴加速度,3轴地磁方向。MS5611为高精度气压计,支持I2C/SPI数字输出,两者配合可以迅速准确地反馈飞行器的姿态。
综合传感器的环境可靠性及使用方便程度,选择方案2。
2.3 图像识别模块
方案1:采用OV2640配合RX23T-NUEDC开发板
OV2640的黑电平校准能力较差,获得的灰度图需事先校准,才能获得理想的二值化图像。OV2640像素高达200 W,并自带DSP压缩功能,但考虑到RX23T内存大小以及I/O捕获速率的限制,开发较为困难。
方案2:采用OV7670配合RX23T-NUEDC开发板
OV7670像素可达30 W,通过设定阈值,在黑白赛道上即可获得理想的二值化图像,具有较强的抗干扰能力,帧率能够满足图像处理的需求。
综合飞行器循迹的视野及准确性要求,选择方案2。
2.4 电源模块
方案1:采用电子调速器的自带稳压模块
3S锂聚合电池供电给4路电调,输出三相电的同时,可利用电调自带的线性稳压模块输出5 V的电压给核心板供电。这样做成本低、方便,但没有低压报警且纹波不够稳定,不能有效地管理电源输入。
方案2:采用PMU电源管理模块
设计一个电源管理模块,实现了对2S至6S电池(电压范围在8~24 V)的线性稳压,并且对电压实时监测,具备了低压报警的功能。
综合电源的安全性和稳定性要求,选择方案2。
2.5 定高模块
方案1:采用气压计定高
使用气压计获取高度信息,不受角度影响且测量范围很大,但有浮动误差,需进行运算才能保证较高精度。
方案2:采用SR-04传感器+气压计
SR-04超声波传感器测距范围为0~150 cm,误差为3 cm,误差约为0.3%,测距范围也符合题目要求。
方案3:采用US-100传感器+气压计
US-100相较SR-04增加了温度补偿,并使用内置芯片处理,直接串口输出,使用更方便。
综合定高的稳定性和环境适应性要求,选择方案3。
2.6 遥控小车模块设计
我们使用了玩具车的成品遥控芯片RX-2B,提供了配套的4按键遥控器,其内部原理如图3所示。我们给小车搭载一块单片机,对遥控芯片的输出口进行输入捕捉,然后利用单片机计时器输出4路PWM波,实现了遥控小车的四向运动功能。小车上搭载蜂鸣器、LED灯等外设,具体模块关系如图4所示。
3 软件算法
3.1 飞控传感器滤波算法
对气压计、超声波等传感器初始数据进行卡尔曼滤波,可以得到期望值的最优解。卡尔曼滤波通过反馈控制对过程状态进行估计,其中时间更新部分可以推算当前的状态变量和误差协方差的估计值,构造下一个时间状态的先验估计;测量更新部分负责信息反馈,实现后验估计。
3.2 飞控串级PLD控制算法
飞行控制使用的主要控制算法是串级PID控制,即多个PID反馈控制环串接。其中,横滚、俯仰方向的姿态角速度控制环、姿态角控制环串接实现飞行器的姿态稳定,组成内控制环;垂直速度控制环、垂直高度控制环组成外环,与内环级联,实现稳定的高度控制;水平位置PID控制环是另一个外环,与内环级联实现水平位置的控制。姿态控制环用于控制飞行器姿态稳定。三个平行的姿态控制环分别控制飞行器的横滚、俯仰、方向(Roll, Pitch, Yaw)。控制环的输出将作为四个电机控制器(ECS)的输入,从而控制四个桨叶的转速。垂直速度与高度控制环用于控制飞行器的相对高度。由于本作品在室内工作,因此GPS与气压计均不能工作,我们通过超声波传感器来测量对地高度,作为控制反馈。控制环的输出为四个电机整体的油门控制量。水平位置控制环用于飞行器的追踪与定点悬停。我们通过图像识别得到飞行器与被追踪目标的水平距离,作为控制反馈。输出控制量为横滚、俯仰两个水平方向控制量,给到姿态控制环中,控制飞机缩小与目标之间的距离,自动追踪目标。在参数调节上,这三个控制环也有着不同的目标,因而调参方法也不太相同。姿态控制环与水平位置控制环应该追求高动态性能,能够快速响应,因此它们的比例分量(P参数)、微分分量(D参数)比较重要,同时也应该尽量优化算法以提高控制环运行的频率。而高度控制环应该追求高静态性能,保证最小误差与抗干扰,因此应该使用合适的微分分量(I参数)。
3.3 图像识别算法
多旋翼自主飞行器的定点悬停和跟踪小车是通过识别小车上的圆心位置,与自身位置对比后进行姿态调整和控制。小车上圆心的识别采用霍夫圆变换算法。霍夫圆变换的具体步骤为:1)根据RGB彩色图像获得灰度图和二值图。对二值图像进行横向和纵向扫描,检测图像的边缘;2)对边缘图像上的每一个非零点,利用sobel算子计算x方向导数和y方向的导数,从而得到梯度,从边缘点沿着梯度和梯度的反方向,对黑色区域中的每一个像素,在该像素点位置对应的二维累加器中投票;3)取二维累加器中累加值最高的点,作为候选圆心;4)从候选圆心由内向外进行区域扩张,直至遇到白点。对该黑色区域的累加器的累加值求平均作为该候选圆心的累加值,如果这个累加值大于一个设定的阈值,则认为该候选圆心有效;5)对有效的候选圆心的坐标进行低通滤波。多旋翼自主飞行器在跟踪小车时实现航向的跟随偏转,是通过检测小车上的两条相互垂直的直线,根据两条直线的交点和斜率来进行姿态调整。检测直线时,通过霍夫线变换获得两条相互垂直的直线,根据两条直线的交点进行定点跟踪,根据其中一条直线的斜率实现航向偏转。霍夫线变换的具体步骤为:1)根据RGB彩色图像获得灰度图和二值图。对二值图像进行横向和纵向扫描,检测图像的边缘;2)将每一行或每一列的黑线中心坐标转换至霍夫空间,转换时以上一帧的检测出的直线作为检测范围的约束条件,既能减少运算量又能实现对直线的跟踪:3)选择参数空间中的极大值点对应的直线作为候选直线;4)由行扫描和列扫描获得的两条直线若近似满足垂直关系则认为检测有效:5)对有效检测后的两条直线的交点和斜率进行低通滤波。图像处理算法原理如图3所示。
4 成效分析
要求一:A点一键起飞,以不低于1米的高度悬停。
要求二:飞行器距小车0.5~1.5 m时,飞行器和小车发出明显声光指示。
在上下限高度范围内,小车和飞行器都能声光提示。
要求三:飞行器从A区起飞至B区悬停降落。
要求四:飞行器跟踪小车抵达4个点。
经测试,飞行器始终跟随小车前行,相当稳健。
5 结论
飞行器可始终跟踪小车,与小车保持同样朝向,小车转向则飞机航向跟随偏离。经测试,小车在地面作旋转运动时,飞行器可跟踪改变航向,一同旋转。在跟踪航向的同时,仍然可以跟踪定位,作平面运动。
参考文献:
[1]胡仁杰,堵国樑,黄慧春.全国大学生电子设计竞赛优秀作品设计报告选编:2015年江苏赛区.南京:东南大学出版社,2016.4.
[2]杨庆华,宋召青,时磊.四旋翼飞行器建模、控制与仿真[J].海军航空工程学院学报, 2009,24(5):499-502.
[3]宿敬亚,樊鹏辉,蔡开元.四旋翼飞行器的非线性PID姿态控制[J].北京航空航天大学学报,2011,37(9):1054-1058.
[4]汪绍华,杨莹.基于卡尔曼滤波的四旋翼飞行器姿态估计和控制算法研究(英文)[J].控制理论与应用,2013,30(9):1109-1115.
[5]张旭明,徐滨士,董世运.用于图像处理的自适应中值滤波[J].计算机辅助设计与图形学学报,2005,17(2):295-299.
本文来源于《电子产品世界》2018年第7期第34页,欢迎您写论文时引用,并注明出处。
评论