基于Simulink 仿真的植保四轴飞行器控制系统研究

2020-08-28 05:41徐思维
自动化与仪表 2020年8期
关键词:控制算法旋翼飞行器

龙 坤,徐思维,杨 帆,2

(1.武汉工程大学 电气信息学院,武汉430205;2.湖北省视频图像与高清投影工程技术研究中心,武汉430205)

四轴飞行器是一种由4 个电机驱动的具有对称结构的多旋翼无人机,通过改变电机转速来控制其飞行姿态,具有结构简单,操作性强等特点,被越来越多地应用于各行各业中,尤其是在农业灌溉和喷洒农药等方面发挥了巨大作用[1]。 近年来随着传感器检测技术和自动化技术不断发展以及微电子和智能制造技术的逐步成熟,国内外很多研究机构的专家学者们开始对四轴飞行器进行整体的运动原理分析。在以STM32 为核心的飞行器控制系统基础上,建立了经典的数学模型,分析了各种控制算法自主飞行控制的可能性[2]。 四轴飞行器主要采用的是PID 控制算法,在室内环境中以较小姿态角对飞行器进行测试。 经过调节系统参数后,四轴飞行器系统能在一定程度上稳定飞行, 但是由于传统PID 控制算法只能不断采用试凑法调节参数,经Simulink 仿真后的效果并不理想。 因此,在传统PID控制基础上, 本文设计了一种模糊PID 控制算法,在相同条件下,可实时调节系统参数来维持四轴飞行器的稳定。

1 四轴飞行器系统工作原理

四轴飞行器主要有“X”型和“+”型2 种,主要区别在于机头方向的选择。 四轴飞行器的简化模型如图1 所示,4 个旋翼同时旋转所带来的总的升力作用于飞行器,使其开始做飞行运动,控制器不断改变驱动4 个旋翼的电机转速,就可以使飞行器做出相应的飞行运动模式[3]。由于“X”型四轴飞行器机动性更灵活,故本文采用“X”型四轴飞行器。 研究中把4 个旋翼按逆时针方向分别编号为1、2、3、4,其中2号和4 号顺时针方向,1 号和3 号逆时针方向,这样可抵消四轴飞行器做飞行运动时的反扭矩效应以及机身陀螺效应[4-5]。 飞行器一般有5 种飞行状态:悬停、垂直、俯仰、横滚和偏航。 由于X,Y 方向对飞行器角速度、角度影响较大,故本文从该点出发,主要研究了系统内外部因素变化时对俯仰、偏航2 种飞行运动模式的影响。

图1 四轴飞行器的结构Fig.1 Structure of quadrocopter

设计的系统由MPU6050 运动传感器、2.4G 无线通信模块、遥控板和飞控板等组成[6]。 飞行器的工作原理如图2 所示。 当系统内外部因素发生改变时, 四轴飞行器的稳定性将会减弱,MPU6050 传感器会将检测到的干扰信号传给飞控板,然后数据被2.4G 无线通信模块接收后发给遥控板,此时需手动操作4 向摇杆来控制飞行器姿态, 当飞行器稳定后,遥控板会将处理后的信号通过2.4G 无线通信模块传给飞控板,四轴飞行器接收到信号后,电机转速会迅速得到调整以保持自身姿态稳定。

图2 四轴飞行器控制系统的工作原理Fig.2 Working principle of quadrocopter control system

2 四轴飞行器力学模型研究

四轴飞行器的前进动力主要是旋翼产生的总升力,结合飞行器的机械结构可知4 个旋翼产生的总升力为

式中:F 为升力;ρ 表示空气密度;CT表示阻力系数;A 表示桨盘面积;ω 表示电机的转速;R 表示桨叶半径[7]。 由于A、ρ、R 都为常量,将其等效为ki,则旋翼的升力Fi可以简化为

式中:ki为常量;i 为旋翼数。

由于俯仰方向是飞行器绕X 轴旋转,而横滚方向是绕Y 轴旋转, 上下左右产生的作用量大小相等,极性相反刚好可以相互补偿。 故四轴飞行器在1,3 旋翼上产生的力矩可以表示为

式中:L 表示电机轴心到飞行器重心的距离。

飞行状态的控制实际上是对电机转速进行实时微调,设电机初始转速为ω0,微调转速为Δω,由于无法直接表示出飞行器姿态角度,故可用某一时刻的角加速度来表示角度变化的快慢。 以俯仰方向的角加速度为例:

式中:αx表示绕X 轴旋转的角加速度;Jxx表示转动惯量。 在某一初始条件下,若将飞行器系统自身负载用变量K 表示, 当系统负载发生改变时,K 值也跟随变化[8]。 故飞行器的角加速度可进一步简化为

由式(5)可知飞行器角速度即为

式中:K 为系统自身变量;t 为时间常数。

3 两种控制算法的仿真比较

3.1 传统PID 控制的系统仿真研究

在该系统中,通过IMU 实时解算的姿态参考系数与理想参考系数的偏差,参照飞行器实时状态,输出合适的电机转速,实现飞行器的稳定飞行[9]。 根据PID 控制原理,采用方波信号作为输入角度,搭建起四轴飞行器俯仰方向的PID 控制模型如图3 所示。

图3 传统PID 控制Matlab/Simulink 仿真Fig.3 Conventional PID simulation diagram usingMatlab/Simulink

图3 中PID 控制器会由输入的角度偏差对应输出相应的电机转速,增益K 主要取决于系统自身负载和电机初始转速ω0。 为了使仿真系统超调量不超过响应信号最大值,系统上升时间不超过2 s。 系统PID 参数受飞行器自身负载的影响,K 取不同值时,系统受到的扰动也不同,通过不断调节PID 的控制参数,可以发现PID 各系数集中在如下范围内:5≤kp≤7,1≤kd≤3,ki≤0.3,如果在该范围之外,就无法得到理想的仿真效果。 选取几组PID 参数为kp=6,ki=0.05,kd=1 及3,方波幅值为20。 由于四轴飞行器在农业作业过程中自身负载会不断减小(即K 值改变),若系统负载也在1、3 之间转换,仿真时间设为20 s,则系统响应曲线如图4 所示。

图4 传统PID 控制器系统响应图Fig.4 System response curve of conventional PID controller

由图4 可知,当系统自身因素变化时K 值会改变。a 曲线:kd=1,K=1 时,系统超调量约为65.1%,上升时间约为1.73 s;b 曲线:kd=1,K=3 时,系统超调量约为40.3%, 上升时间约为0.51 s;c 曲线:kd=3,K=1 时,系统超调量约为25.5%,上升时间约为1.39 s。 通过对比三个仿真结果可知,适当调节PID的控制参数可以达到比较满意的控制效果。 但是在地形和气流干扰较大的高原区域作业时, 传统的PID 控制可能会在很大程度上受到外部环境的干扰,从而导致飞行器失控。

3.2 模糊PID 控制的系统仿真研究

根据对四轴飞行器姿态控制原理的进一步分析,结合上述动力学模型,同时考虑到传统PID 控制参数对系统的不同控制效果, 通过模糊规则推理,建立规则库。 模糊参数整定部分的输入量由输入期望值与实际输出值的偏差e 和误差变化率ec组成,输出量为PID 参数的修正量Δkp,Δki,Δkd。 设定模糊语言集{负大(NB),负中(NM),负小(NS),零(Z0),正小(PS),正中(PM),正大(PB)},把论域均分成7 个部分进行描述[10-11]。 模糊变量e 和ec 的论域均为(-10,10),Δkp,Δki,Δkd的模糊论域为均为(-1,1)。 模糊PID 的控制原理如图5 所示。

图5 模糊PID 的控制原理图Fig.5 Fuzzy PID control principle diagram

3.2.1 模糊控制规则的制定

根据系统在不同参数下的输出结果和基于传统PID 控制调节经验,制定出符合飞行器系统的模糊控制规则,其中{NB,NM,NS,Z0,PS,PM,PB}为e,ec,Δkp,Δki,Δkd在论域内的模糊子集[12]。 采用三角形隶属度曲线对各模糊子集进行描述。 模糊控制器模型如图6 所示。

基于四轴飞行器的模糊控制规则如下:

图6 模糊逻辑控制器Fig.6 Fuzzy logic controller

采用mamdani 推理法,每个输出控制量的模糊规则数为49 个, 由于重心法能使得输出曲线更平滑,故采用重心法进行解模糊,如式(7),解算得到kp、ki、kd的值。

式中:k 为解模糊所得输出值;ui为输入变量;λ(ui)变量ui对应的隶属度。

3.2.2 系统仿真

在传统的PID 控制器的基础上,根据确定的模糊规则得到模糊控制器,将其加入到Matlab/Simulink 中,构建一个模糊推理系统动态仿真环境[13],搭建起的俯仰方向仿真模型如图7 所示。

图7 模糊PID 系统模型Matlab/Simulink 仿真Fig.7 Fuzzy PID simulation diagram using Matlab/Simulink

在不改变传统PID 控制参数以及角度初值的前提下,将模糊逻辑控制器模型导入到Matlab 工作区中,然后调节系统自身变量K,得到模糊PID 的响应曲线如图8 所示。

图8 模糊PID 控制器系统响应图Fig.8 System response curve of fuzzy PID controller

由图8 可知:a 曲线:kd=1,K=1 时,系统超调量为45.2%,上升时间为1.69 s;b 曲线:kd=1,K=3 时,系统超调量为20.3%,上升时间为1.01 s;c 曲线:kd=3,K=1 时,系统超调量趋于0,上升时间为1.65 s。通过整体对比图4 和图8 后可知,采用模糊PID 控制算法之后,能够实现系统的超调量趋于0,稳定时间相对于传统PID 控制器更短。 尽管两种算法都能使飞行器正常飞行, 但在系统内外部因素改变时,模糊PID 控制器能更好地控制飞行器的姿态,保证其稳定飞行。

3.3 四轴飞行器实际测试

本设计通过遥控板输入控制信号来给定飞行器的姿态角度。 由于前文提到了横滚和俯仰方向产生的作用量大小相等,极性相反,故采用的测试方式相似,得到的结果也相似。 以横滚方向为例,由于地面风力相对较弱, 故实验地点选在海拔高度为200 m 的小山上, 以保证有足够的风力。 飞控板将MPU6050 传感器采集到的数据通过2.4G 通信模块传输到遥控板[14]。 分别将两种算法的控制程序通过上位机导入遥控板,并保证实测系统参数与仿真模型里的一致, 然后在系统里引入一个阶跃扰动信号,遥控板控制好电机转速,在俯仰方向上将姿态角设为60°, 观察系统的状态变化。 利用STM32 上的显示屏记录下几组角度和角速度数据,如表1 所示, 四轴飞行器控制系统的响应曲线如图9 所示。通过观察可以得知,图9(a)中角速度响应曲线最大超调量约为51.6%,上升时间约为2.2 s;图9(b)中角速度响应曲线最大超调量约为38.3%, 上升时间约为1.58 s。 因此,在受到外界干扰的情况下,基于模糊参数自整定PID 控制器的四轴飞行器系统响应快、超调量小、振荡小,能迅速地调整飞行器的姿态使其回到原来的稳定状态。

表1 四轴飞行器姿态记录Tab.1 Quadcopter attitude record

图9 两种控制器响应曲线图Fig.9 Response curve of two kinds of controller

4 结语

本文通过对四轴飞行器结构和工作原理的分析,在传统PID 控制和模糊PID 控制两种算法模式下,通过Matlab 对飞行器角度进行建模仿真,试验表明, 传统PID 控制器虽然能够使飞行器正常飞行,但在高原环境下难以很好地使飞行器系统持续稳定飞行;而模糊PID 控制器不但能使系统稳定运行,还可以自适应调节系统参数来适应外部环境的变化,在初始条件相同的情况下,能进一步减少控制时间以及操作成本。最后设计了基于STM32 的实际系统测试平台, 测试结果基本上与仿真效果相同。 由于在仿真过程中始终存在静态误差,导致仿真曲线出现小波动,如果采用运算速率更快的处理单元,结合改进的模糊规则,有望进一步提高四轴飞行器的稳定性,产生更大的经济效应。

猜你喜欢
控制算法旋翼飞行器
基于模型预测控制算法的智能密度控制系统在选煤厂的应用
高超声速飞行器
改进型自抗扰四旋翼无人机控制系统设计与实现
大载重长航时油动多旋翼无人机
基于STM32的四旋翼飞行器的设计
复杂飞行器的容错控制
高精度位置跟踪自适应增益调度滑模控制算法
四旋翼无人机动态面控制
神秘的飞行器
基于航迹差和航向差的航迹自动控制算法