差分进化算法在四旋翼飞行姿态中的应用
2019-07-31薛萍周仁鹤王宏民
薛萍 周仁鹤 王宏民
摘 要:无人机技术现已被运用到军事、农业等越来越多的领域。在大多数四旋翼飞行器上仍采用PID控制算法,但其参数的调节要依赖精确的运动学模型,且调节时间较长。针对PID控制器调节时间慢,精度差的问题。采用了一种改进的PID控制器的方法来提高四旋翼飞行器的调整速度和稳定性。研究了基于差分进化算法的PID控制器的系统模型,相比于基于ZieglerNichols调参方法的PID控制器,系统的上升时间提高了36%。并通过matlab仿真,结果表明运用差分进化算法对四旋翼无人机的姿态进行调整,不仅能够提高四旋翼无人机的稳定性,还能提高四旋翼无人机姿态调整的速度。
关键词:四旋翼飞行器;模糊推理;差分进化算法;PID控制器
DOI:10.15938/j.jhust.2019.03.015
中图分类号: TP391.9
文献标志码: A
文章编号: 1007-2683(2019)03-0093-07
Abstract:Unmanned aerial vehicle (UAV) technology has been applied to more and more fields, such as military and agriculture. The PID control algorithm is still used on most four rotor aircraft, but the adjustment of its parameters depends on the accurate kinematic model and the adjustment time is longer. Aiming at the slow and poor precision of PID controller.An improved PID controller is adopted to improve the speed and stability of the four rotor aircraft. The system model of PID controller based on differential evolution algorithm is studied. Compared to the PID controller based on ZieglerNichols tuning method, the rising time of the system is increased by 36%. Through MATLAB simulation, the results show that the use of differential evolution algorithm to adjust the attitude of the four rotor aircraft can not only improve the stability of the four rotor aircraft, but also improve the speed of the attitude adjustment of the four rotor aircraft.
Keywords:quadrotors; fuzzy logic; differential evolution algorithm; PID controller
0 引 言
四旋翼飛行器因其简单的结构和高机动性越来越受到欢迎,但是同时四旋翼飞行器一直存在着两个问题,其可承受的负载较小和较短的飞行时间。这些缺点都阻碍了四旋翼飞行器运用到更广泛的领域[1]。尽管四旋翼飞行器存在着这些缺点,但是其小巧的模型,优惠的价格和可垂直起飞降落,还是让飞行器备受青睐。
另外,其他移动机器人存在着许多缺点,例如:翻越较高的地势比较困难,探索未知的领域不便,在爬楼梯方面更是不便捷。并且在规避障碍物和搜寻复杂空间区域的时候需要复杂的算法。而四旋翼飞行器则可以轻松进入到有许多复杂障碍物的环境,还可以在许多极端的环境下进行工作,可以在核辐射严重的地方进行监测,或者在火山喷发地带进行拍摄。
但是四旋翼飞行器是一个非线性系统,所以传统的线性控制方法不能够被用来控制飞行器。本文对传统PID控制器的调整过程进行改进,将差分进化算法与PID控制器相融合从而得到新的PID控制参数[2],使四旋翼飞行器的姿态更稳定。本文通过与传统的基于ZieglerNichols参数整定的PID控制器和基于模糊推理的PID控制器相比较,并运用MATLAB仿真。为了设计一种智能控制器,四旋翼飞行器数学模型的建立非常重要,下面给出了四旋翼飞行器数学模型的建立。
1 四旋翼系统的数学模型
通常,四旋翼飞行器是一种由四个电机组成的十字形结构的模型。其飞行运动是通过改变电机的转动速度来实现的,从而能够使四旋翼飞行器上升或下降等其它运动。其中电机2和电机4是顺时针运动,电机1和电机3是逆时针运动。可以通过增大(减小)电机3和减小(增大)电机1的转速来实现翻滚运动。还可以通过改变电机2和电机4的转速进行俯仰运动。最后通过增大逆时针电机速度和减小顺时针电机速度来实现偏航运动。
3 基于模糊推理的PID控制器
传统的PID控制器的系数不适用于参数变化的非线性设备。因此,PID控制器参数的自整定很重要[7]。模糊自整定PID控制器意味着PID控制器的三个参数能够通过模糊控制器自动调整[8]。
模糊自整定PID控制器的结构如下图所示。其中e是所期望的电机速度与实际电机速度之差,Δe表示偏差的变化率。模糊推理通过e和Δe的变化来对PID控制器的三个参数进行修正。
关于模糊推理结构,其中模糊推理的两个输入分别是e和Δe。模糊控制器对PID控制器的每一个参数KP,KI和KD进行调整。通过对Mamdani模型[9]的修改来构建模糊控制器的结构,从而可以使PID控制器的参数得到优化。模糊PID控制器的结构如下图所示
差分进化算法被用来优化PID控制器的参数从而对飞行器的飞行姿态进行稳定控制。差分进化算法对于解决优化问题非常有效。差分进化算法始于一种包含许多参数向量的种群优化问题,其中每个向量代表一个最优解并且每个解都有不同的适应度函数[14]。从根本上来说,差分进化算法包含三个主要阶段:变异,交叉和选择[15]。这三个基本步骤一直循环进行,直至达到停止标准。为此提出以下控制器的结构:
如上图所示,差分进化算法模块的输入是四旋翼飞行器待寻优的比例系数KP,积分时间常数KI和微分时间常数KD。以这三个参数作为分量构成一个三维行向量,然后进行浮点数编码,组成了差分进化算法的个体。然后以ZieglerNichols法获得的参数为中心向两边拓展,作为差分进化算法的搜索空间,这样大可以缩小实际参数的搜索空间。
为了仿真,差分进化算法的控制参数设置如下:种群大小(NP)=25;最大迭代次数=1200;被优化参数个数=9;突变因素(F)=0.7;交叉率因素(CR)=0.38
仿真分析
所提出的基于差分进化算法的PID控制器,通过输入一个阶跃信号来进行测试,我们仅以翻滚角的输出响应进行分析,从而验证下该控制器的效率和鲁棒性[16]。并通过与传统PID控制器和模糊PID控制器相比较。并从上升时间,稳定时间和稳定误差进行比较,从而展示这些控制器的不同性能。公式(24)被用来计算用在差分进化算法PID控制器的适应性函数。四旋翼系统的其他参数列在下表中[17]。
从上面翻滚角的阶跃响应来看,传统PID控制器的上升时间约为0.456s,模糊PID控制器的上升时间约为0.057s,而基于差分进化算法的PID控制器的上升时间为0.041s,由此可以看出基于差分进化算法的PID控制器的响应速度最快。
另外从阶跃响应的稳定时间来看,传统PID控制器的稳定时间达到了0.924s,模糊PID控制器的稳定时间为0.132s,而基于差分进化算法的PID控制器的稳定时间仅为0.056s,从结果上可以明显地看出基于差分进化算法的PID控制器达到稳定时间的速度相对于传统PID来讲提高了数十倍,相较于模糊PID来说也提高了数倍之多。
而且模糊PID控制器在稳态期间还出现有超调的现象,而基于差分进化算法的PID控制器的超调量几乎可以忽略不计,可见基于差分进化算法的PID控制器的鲁棒性优于模糊PID控制器。虽然传统PID控制器的超调量也很小,其鲁棒性可以和基于差分进化算法的PID控制器相媲美,但是传统PID控制器的反应速度远远不如基于差分进化算法的控制器优异。因此基于差分进化算法的PID控制器相比于其他两种控制器性能得到大大的改善。
基于差分进化算法的PID控制器更优异主要得益于该算法在搜索能力方面的增强[18],该控制器增加了一个严格的约束条件,当且仅当种群中的试验个体产生了一个更优的参数时,原本种群中的个体将会被替代。如此的迭代改进,使种群的个体为全局最优解。
5 结 论
在许多情况下,传统PID控制器和模糊PID控制器的参数调整过程都耗时长且精度低。而差分进化算法通过获取参数的最优解来控制四旋翼飞行器系统的姿态稳定有着很高的精度。差分进化算法仅需要几个控制参数且容易实施,与其他PID控制相比,通过差分进化算法的PID调整过程更快。
同时仿真结果表明,本文所提出的基于差分进化算法的PID控制器相比于传统PID控制器和模糊PID控制器,从上升时间和稳定时间这两方面来看,差分进化算法的PID控制器对于系统参数的调节都更快。从超调量和稳态误差这两方面来看,差分进化算法的PID控制器对于系统参数的调节更具稳定性。
参 考 文 献:
[1] 凌金福.四旋翼飞行器飞行控制算法的研究[D].南昌:南昌大学,2013:24.
[2] 常俊林,李亚朋,马小平,等.基于改进差分进化算法的PID优化设计[J].控制工程,2010,17(6):807.
[3] 曾小勇,彭辉,吴军.四旋翼飞行器的建模与姿态控制[J].中南大学学报(自然科学版),2013,44(9):3693.
[4] 黄友锐,曲立国.PID控制器参数整定与实现[M].北京,科学出版社,2010:61.
[5] KHAIRUDDIN,I.M., ANWAR P.P. A. and MAJEED,B.Modelling.PID Control of a Quadrotor Aerial Robot[J]. Advanced Materials Research ,2014,903(1):327.
[6] 姜立强,刘光斌 ,郭铮.基于差分进化算法的PID参数整定[J].计算机仿真,2009,26(6):204.
[7] 张镭,李浩.四旋翼飞行器模糊PID姿态控制[J].计算机仿真,2014,31(8):73.
[8] 李一波,宋述锡.基于模糊自整定PID四旋翼无人机悬停控制[J].控制工程,2013,20(5):910.
[9] ABBASI.E,MAHJOOB.M.Controlling of Quadrotor UAV Using a Fuzzy System for Tuning the PID Gains in Hovering Mode[J].International Journal of Control,Automation and Systems, 2012,10(1): 161.
[10]杨启文,蔡亮,薛云灿.差分进化算法综述[J].模式识别与人工智能,2008,21(4):506.
[11]呼忠权,王洪瑞,贺晙华.基于差分进化算法的太阳自动跟踪控制方法[J].太阳能学报,2014,35(6):1016.
[12]王右,王景成.基于差分进化的模糊PID复合控制在汽轮机转速调节系统中的应用[J].东南大学学报(自然科学版),2011,9(41):84.
[13]CHEN Y M, HE Y L, ZHOU M F. Decentralized PID Neural Network Control for a Quadrotor Helicopter Subjected to Wind Disturbance[J]. Journal Of Central South University, 2015,22(1):168.
[14]王旭明,郭业才,于小兵.基于组合差分进化算法的PID参数整定优化[J].组合机床与自动化加工技术,2015,11(11):79.
[15]Jimoh O. Pedro, Muhammed Dangor, Praneet J. Kala. Differential EvolutionBased PID Control of a Quadrotor System for Hovering Application[J]. 2016 IEEE Congress on Evolutionary Computation (CEC),2016:2791.
[16]刘金琨.先进PID控制及其MATLAB仿真[M].北京,电子工业出版社,2003:148.
[17]王荣杰,詹宜巨,周海峰.基于差分进化機理优化的PID控制的AVR系统[J].电力系统保护与控制,2015,43(24):108.
[18]汪慎文,丁立新,张文生.差分进化算法研究进展[J].武汉大学学报(理学版),2014,60(4):283.
(编辑:王 萍)