摘要:针对四旋翼无人机受干扰时姿态控制效果差的问题,提出了基于深度学习的无人机控制系统设计。系统选用STM32芯片进行控制,采用MEMS传感器采集姿态调节数据,选用NRFNRF51822芯片实现远距离监控和参数调节,电源模块采用TP4059芯片供电,并对电池电量进行监控。构建深度学习目标控制模型,运用深度学习算法设计无人机控制器,保证系统处于一种高动态平衡稳定状态,提高了无人机的控制精准度,对处理突发性群体事件具有重要意义。
关键词:四旋翼无人机;深度学习;姿态控制;STM32
四旋翼无人机是一种能够垂直起降的自主飞行器[1],具有结构简单、便于悬停及垂直起降的特点,同时具有较为良好的可控性,既在近地监视与侦察等军事任务中有着广泛的应用[2],又在环境监测、森林防火、农业植保等民用方面具有广阔的研究和应用前景[3]。由于四旋翼无人机是一个非线性、欠驱动、强耦合且存在多个变量的控制对象[4],为较好的完成四旋翼无人机的位姿控制,本文根据深度学习的原理,设计了一种基于STM32的四旋翼无人机控制系统。
1无人机控制系统总体设计
四旋翼无人机主要由机架、飞行控制器、导航与定位系统、自动避障系统等组成,无人机控制系统负责控制无人机飞行,控制系统的性能决定了无人机飞行的稳定性。本控制系统总体框图如图1所示。主控制器主要完成控制电路初始化、驱动外围模块电路,以及核心算法处理等操作;姿态检测模块负责将姿态传感器采集到的位置信息输入到算法单元进行估算,并将获取的此刻及下一时刻的姿态信息传送到控制模块,通过测算下一步动作实现无人机姿态调节;通过主控制器提供的四路PWM波完成直流电机的控制和调节;电源管理模块提供适配电压给各模块电路;无线通信模块负责远距离通信。
1、1主控制器
作为飞行控制器的核心,主控制器负责接收四旋翼无人机的各项控制指令,在无遥控信号输入时自主完成飞行。本设计选用ST公司的STM32F4作为主控芯片。主控制器将遥控器接收到的PWM信号进行解码,得到目标姿态,为电调提供4路PWM信号控制4个无刷电机的转速,以控制飞行姿态,并将姿态传感器的实时数据发送给存储器,估计下一时刻的姿态。STM32F4系列芯片的电路图如图2所示。
1、2姿态检测模块
为获取四旋翼无人机的姿态信息,本设计中选择MPU6050为主控制器提供无人机的姿态变化检测;磁力传感器选用HMC5883L元件,完成四轴无人机航向角的检测;气压高度计芯片选用的MS5611系列芯片,可对周围10cm的大气压进行精确测量,经各自测量的数据进行融合,优劣互补。
1、3无线通信模块
为完成无人机控制系统和地面站之间的远程通信,无线通信模块采用NRF模块。系统采用基于2、4GHz的无线通信技术的新一代低功耗芯片NRF51822,将其作为协处理器,与远程遥控器交互通信,实现远距离调节参数,并监控无人机飞行状态。通信模块中选用了FLY-SKYFS-T62、4G数码比率遥控器,该遥控器采用的是间隔发送工作模式,发射功率低,工作时间长,且具有较高的性价比。NRF模块原理图如图3所示。
1、4电机驱动模块
电机驱动模块由电机和电调组成,二者相互配合带动无人机的螺旋桨转动。无人机的空中姿态由电机转速决定,主控制器通过电机驱动电路完成电机控制,控制器输出的PWM信号并未直接作用于电机,而是通过电调进行处理,将处理后得到的三相电流驱动无刷电机。本系统的驱动装置采用MT2213-920KV型无刷直流电机,连接线路如图4所示。
1、5电源管理模块
本设计中的电源管理模块不仅负责为系统各模块电路提供适配电压,并为电池提供充电功能,也要实时监控电池电量的使用情况,当电池电量低于设定阈值时,需将紧急处理指令传至地面站。系统供电方案如图5所示。电源管理模块选择的是TP4059电池充电管理芯片和XC6204稳压器芯片。TP4059通过USB接口给电池充电,XC6204保证在低压时能够为主控制器和无线通信模块供电,为系统提供稳定电源。
2系统软件功能设计
本系统按照模块化、结构化的思想,开发各模块的软件系统,目的是即使四旋翼硬件平台变更,只需将原有软件系统稍作修改,即可在新的平台上应用。针对传统控制算法需要建立复杂数据模型这一不足,本软件系统的设计是采用基于深度学习的无人机控制算法。根据深度学习的原理,对控制系统软件进行局部设计,提出区域卷积神经网络(R-CNN)。首先,将图像划分成2000-3000个候选区域,支持向量机训练分类器将每个区域的特征进行分类和排序,最后采用回归算法进行目标边界框重新定位,深度学习目标控制模型如图7所示[5]。将无人机的三轴加速度和角速度作为六个状态量,该状态量与目标值之间的差距Error如式(1)所示:(式中1α和2α表示加速度与角速度的权值;c1c2c3ss、sc1c2c3sss、c1c2c3sss表示当前状态中的各分量;t1t2t3ss、st1t2t3sss、t1t2t3ss表示目标状态中的各分量。式(1)中第一部分为三轴加速度,第二部分为三轴角速度。若目标值与六个状态量的差距越大,Error会增大,无人机飞离目标状态越远,表明无人机飞行越不平稳;若两者差距为0,则Error也为0,说明无人机达到了目标状态。由式(1)可知,Error的数值大小与无人机稳定时的状态呈负相关。在本设计中使用Error值衡量无人机飞行的稳定性,Error值越小,无人机飞行越趋于目标状态,飞行越稳定,控制器的控制效果越好。依照模型,系统的软件设计由主控制器模块、数据采集模块、电机控制模块、无线通信模块等四部分组成。主控制器的流程如图8所示。主控制器模块负责完成整个控制电路硬件初始化,算法处理,控制器外围电路驱动等操作。通过消息机制,各任务管理模块之间进行信息交互处理,在整个控制系统中,控制中心负责提供需要调节的位置变化量,系统控制中心需要的最新姿态信息由姿态测算模块实时提供,姿态调整由电机驱动器驱动电机实现。整个主控制器采用模块化编程,以方便程序移植,四旋翼无人机飞行器软件流程图如下:无人机上电初始化后,首先设置无人机工作模式,接下来检测电源系统、传感器等是否正常,自检正常后则启动运行程序,获取姿态检测模块中各传感器数据,利用核心算法获取实时姿态信息,反馈给主控制器,以调整飞行状态。本系统软件流程如图9所示。
3仿真分析
本系统基于GitHub中一个开源的四旋翼无人机平台验证控制器的控制效果[6]。六个状态量分别是无人机的三轴角速度与三轴加速度,四个动作量分别是四个电机的转速,并添加噪声模拟无人机真实飞行中受到的干扰,无人机的仿真环境如图10所示。针对无人机控制系统的设计合理性进行仿真实验,在控制器控制下,设定无人机飞行500步,并记录Error的最大值、最小值和平均值。分别对不加控制器、加PID控制器与基于深度学习的控制器在空中飞行时进行对比实验。三者的error变化曲线如图11所示。图11中,横坐标(step)表示无人机飞行步数,纵坐标为每步对应的error值,图中的虚线表示500步error的均值。由图11(a)知,error值随步数增大显现出明显的单调递增趋势,表明不加控制器时,无人机的三轴姿态角离期望值越来越偏离,不能稳定飞行;图11(b)曲线随步数增加在一个较小的范围内上下波动,但没有发散趋势,500步error的均值比图11(a)小,表明加PID控制器时,无人机的姿态角保持在一定范围内,提高了系统的稳定性;图11(c)的曲线与图11(b)比较接近,但其均值明显比PID控制器小,表明基于深度学习的控制器性能优于传统PID控制器。
4结论
四旋翼无人机控制作为控制领域的研究热点,具有非线性、强耦合等特点,本文设计出一种基于深度学习的四旋翼无人机控制系统设计方案,该方法相较传统PID控制器。避免了复杂的建模过程,通过仿真实验,其控制效果优于PID控制器,具有较好的抗扰性。后续将进一步优化算法,使该算法能适应不同结构的无人机,以及更加复杂的环境,提高算法的鲁棒性。
作者:黄靓 单位:平顶山工业职业技术学院