中南大学学报(自然科学版)

DOI: 10.11817/j.issn.1672-7207.2016.11.016

基于果蝇优化算法的PID控制器设计与应用

赵晓军,刘成忠,胡小兵

(甘肃农业大学 工学院,甘肃 兰州,730070)

摘 要:

N法得到的PID参数,难以获得最优的控制性能,提出一种基于果蝇优化算法的PID控制器参数优化的方法。果蝇优化算法具有控制参数少、实现简单和优化性能良好的优点,运用此算法设计出PID控制器,与Z-N法和遗传算法设计的PID控制器进行比较。仿真结果表明:果蝇优化算法的PID控制器比Z-N法和遗传算法的PID控制器所得结果更优,比遗传算法具有较快的收敛速度,并应用于环形一级倒立摆系统的稳定控制问题,达到较好的控制效果。

关键词:

果蝇优化算法PID控制器参数整定环形倒立摆

中图分类号:TP391         文献标志码:A         文章编号:1672-7207(2016)11-3729-06

Design and application of PID controller based on fruit fly optimization algorithm

ZHAO Xiaojun, LIU Chengzhong, HU Xiaobing

(College of Engineering, Gansu Agricultural University, Lanzhou 730070, China)

Abstract: The PID parameter obtained from the traditional Z-N method is difficult to receive the optimal control performance. Therefore, a method for parameter optimization of PID controller based on Fruit fly Optimization Algorithm was proposed, which has less control parameters, simple operation and good optimize performance. Then, We the performance of the PID controller designed by this algorithm with that designed by the Z-N method and genetic algorithm were compared. The simulation results show that the PID controller base on Fruit fly Optimization Algorithm is better than the Z-N method and genetic algorithm, and has a faster convergence speed than the genetic algorithm, and the stability control problem of circular inverted pendulum system by using this PID controller achieves good control effect.

Key words: fruit fly optimization algorithm; PID controller; parameters tuning; rotary inverted pendulum

PID控制作为最早发展起来的控制策略之一,是由偏差的比例(P)、积分(I)和微分(D)构成[1]。由于其控制结构简单、实现容易、控制效果较好、鲁棒性强和可靠性高,在工业过程控制中得到了广泛地应用,并取得了很好的经济效果。但是PID控制器的参数优化一直困扰着工程技术人员,通过人工的实际经验进行调整,这种方法不但耗时,而且难以满足控制要求,因此PID控制器的参数整定成为了人们关注的问题。伴随着智能计算科学的快速发展,许多智能优化算法,如蚁群算法(ACO)[2]、神经网络学习算法[3]、遗传算法(GA)[4-6]、粒子群算法(PSO)[7-8]等应用到PID参数整定中,同时取得了比传统方法更为理想的结果。但是这些智能优化算法存在某些不足,如神经网络学习算法的一些参数选择没有系统的方法,如神经元的个数、隐含层的数目以及初始权值,遗传算法存在过早收敛、参数依赖性强的缺陷,粒子群算法采用二阶微分的优化方程。本文作者尝试采用果蝇优化算法优化PID参数,为PID参数的自整定提供了新途径。果蝇优化算法来源于对果蝇觅食行为的仿照,是在2011年6月由潘文超提出的一类全新的演化式优化算法[9]。与其他群智能优化算法相比较,果蝇优化算法不但具有算法简单、程序代码容易实现、更快地收敛于最优解的优点,而且比其他的群智能算法调整的参数少。由于难以将参数间的复杂关系研究清楚,若选取不适的参数,会直接涉及到算法的优化性能,并且会加深算法复杂度分析的难度,因此采用果蝇优化算法设计的PID控制器,能够在参数的选取上减少一些困扰。而且果蝇优化算法的运行时间较少,可以减少计算复杂度。

1  PID控制器

PID控制作为一种经常使用的串联控制器形式,是对输入的误差信号进行比例、积分以及微分的加权运算得出控制信号,驱动受控对象模型[10]。PID控制器的一般形式为

       (1)

式中:为系统误差信号;Kp,Ki和Kd分别为比例、积分和微分的系数。这3个系数有各自的物理意义,比例控制直接响应于当前的误差信号,Kp较大则偏差将变小,但考虑到根轨迹分析,Kp无限增大将引起闭环系统的不稳定。积分控制对以往的误差信号发生作用,能够消除静态误差,Ki的大小会影响系统的超调量和系统响应趋于稳态值的速度。微分控制对误差的变化率发生作用,具有一定的预报功能,Kd的大小影响系统的响应速度和调节时间。

2  基于FOA的PID控制器设计

2.1  果蝇优化算法

果蝇优化算法依据果蝇优越的嗅觉和敏锐的视觉特性,对其寻食过程进行仿真模拟,进而获得一种全局优化进化的新方法。果蝇的嗅觉器官能够对空气中飘浮的各种气味,产生超强的感知能力和搜索能力,而且在食物周围可以通过敏锐的视觉察觉食物和同伴,从而能够顺利地飞向目标[11]

果蝇优化算法的基本思想:根据果蝇优越的嗅觉器官对食物进行搜索,而果蝇和食物之间的距离与食物的味道浓度相关,即距离越近,其味道浓度越大。果蝇搜索食物的实质过程就是其渐渐地从味道浓度淡的位置飞向味道更浓的位置的过程[12-13]

依据果蝇优化算法(FOA)搜索食物的生理特性,将其概况为以下几个步骤。

1) 初始化,设定群体规模Sizepop和最大迭代次数Maxgen,以及随机产生果蝇群体的初始坐标位置Xaxis和Yaxis

2) 给出果蝇运用嗅觉器官寻找食物的随机方向与距离。

         (2)

3) 因为没有办法获知食物的位置,所以先计算果蝇个体与原点之间的距离,并计算味道浓度判定值Si

              (3)

                (4)

4) 将味道浓度判定值Si代入味道浓度判定函数(或称作适应度函数)中,从而得到果蝇个体的味道浓度

             (5)

5) 从该果蝇群体中找到味道浓度最优的果蝇个体。

       (6)

6) 记录并保留下最优味道浓度bbestSmell与其X、Y坐标,这时候果蝇群体利用视觉向该位置飞去。

            (7)

7) 进入迭代寻优,将步骤2)~5)循环进行,判断当前最佳味道浓度是否优于前一迭代最佳味道浓度,并且当前迭代次数是否小于最大迭代数MMaxgen;若是则执行步骤6)。

2.2  果蝇优化算法的PID控制器参数优化

目前,果蝇优化算法(FOA) 的应用较为广泛,尤其是在函数优化、支持向量回归参数优化、神经网络方面具有巨大的应用价值。由于果蝇优化算法是在最近几年提出的,其理论知识还处在研究当中,其应用范围有望进一步扩展[14]

1) 性能指标。对PID参数进行优化整定,是为了找到1组Kp,Ki和Kd参数使某些性能指标达到最优,通过性能指标判断找到的参数是否最为合适,因此,控制系统的性能指标作为识别PID控制器优劣的根据。常用的性能指标有MSE,ISE,IAE和ITAE,公式如式(8)所示。采用不同的性能指标,以反映优化PID参数过程中的不同侧重点[15]

             (8)

2) 本文算法采用实数编码,对于PID参数寻优中的果蝇个体编码为Kp,Ki和Kd。果蝇优化算法整定PID控制器参数具体过程如下。

Step 1:初始化,包括群体规模、最大迭代次数和随机产生果蝇群体位置Xaxis和Yaxis

Step 2:给定果蝇个体的随机方向、距离。

Step 3:计算果蝇个体与原点之间的距离DDisti,并计算味道浓度判定值Si

Step 4:将果蝇个体解码为PID控制器参数Kp,Ki和Kd,运行控制系统的Simulink模型,得到该组参数对应的性能指标。

Step 5:将上一步计算得到的性能指标作为果蝇个体的适应值,并判断该适应值是否满足算法停止条件,若满足,结束优化过程,进而得到最佳的PID参数;否则,转到Step 6。

Step 6:从果蝇群体中寻找出最优味道浓度的果蝇个体,并记录下最优味道浓度bbestSmell与其X和Y坐标,而后果蝇群体飞向该坐标位置。最终产生新的果蝇群体,转到步骤Step 2。

果蝇优化算法整定PID控制器参数的流程如图1所示。

3  仿真与应用

3.1  仿真实验

本文是在MATLAB/Simulink环境下进行仿真实验,仿真程序采用M语言编程实现,取被控对象的传递函数为

         (9)

图1  FOA整定PID控制器参数流程

Fig. 1  FOA process PID controller parameters

以ITAE性能指标作为适应度函数,建立Simulink模型如图2所示。

图2  PID控制系统模型

Fig. 2  Model of PID control system

图2中,输入为单位阶跃响应,输出端口1为式(8)中的性能指标。

1) 为了验证本文算法优化PID控制器参数的性能,分别采用Z-N法、遗传算法(GA)和果蝇优化算法(FOA)算法整定PID控制器参数,比较与分析被控对象的阶跃响应曲线。GA算法和FOA算法的种群规模为60,最大迭代次数为100;GA算法的交叉概率为0.6,变异概率为0.01。在整定PID参数中,Kp,Ki和Kd的取值界限在[0,300]。

在ITAE指标下,GA算法和FOA算法优化PID控制器参数得到的最优个体适应值收敛曲线如图3所示。

由图3可知:GA算法的收敛次数为89,而FOA算法在迭代了35次之后完成收敛,最终产生一组最优PID控制器参数Kp=32.19,Ki=0.167,Kd=37.02,说明本文算法具有较快的收敛速度。

图3  适应值收敛曲线比较

Fig. 3  Comparison of adaptive value convergence curve

图4所示为在ITAE指标下,Z-N法,GA算法和FOA算法的阶跃响应曲线。图4中3种方法的阶跃响应的性能参数结果见表1。

由图4和表1可知:Z-N法具有较快的响应,在调节时间和超调量上性能最差。而采用FOA算法优化PID控制器参数的方法,在调节时间、超调量和稳态误差上都优于GA算法所得结果,仅在上升时间上,GA算法的结果比FOA算法快0.049 s。可见,在ITAE性能指标下,运用FOA算法设计的PID控制器具有较好的优化性能。

2) 为了进一步证实本文算法的优越性,分别在MSE,IAE和ISE 3种性能指标下,采用GA算法和FOA算法进行仿真,得到的阶跃响应曲线如图5和图6所示。

图4  Z-N,GA和FOA阶跃响应曲线比较

Fig. 4  Z-N, GA and FOA step response curve comparison

表1  PID参数整定结果

Table 1  PID parameter tuning results

从性能指标上分析图5和图6所得结果,MSE的上升时间和调节时间在3种性能指标中最少,而超调量是最大的。ISE的响应结果无论在上升时间、调节时间和超调量,都处于MSE与IAE之间。IAE只有在超调量上优于其他性能指标,而在上升时间和调节时间上均表现较慢。因此,可以根据具体的控制要求来选择合适的性能指标,如果系统不希望出现较大波动,那么可以选择IAE作为性能指标。假如系统需要较短的上升时间和调节时间,就可以选择MSE的性能指标。

为了便于比较不同性能指标下FOA算法和GA算法优化PID参数的效果,将图5和图6所示仿真结果列于表2。

由表2可知:在不同性能指标下, FOA算法的超调量均小于GA算法的超调量,而FOA算法的上升时间比GA算法的稍微慢一点;另外,仅在IAE指标下,FOA算法的调节时间比GA算法需要的时间更长,在其他2种指标下,FOA算法的结果比GA算法较快到达稳定状态。因此,FOA算法在整体上优于GA算法。

图5  不同指标下GA-PID的阶跃响应

Fig. 5  Order GA-PID index under different step responses

图6  不同指标下FOA-PID的阶跃响应

Fig. 6  Order FOA-PID index under different step responses

表2  不同指标下GA和FOA算法优化结果对比

Table 2  Different indicators GA and FOA algorithm to optimize result comparison

通过上面的仿真及对比分析,果蝇优化算法在PID参数优化整定问题上具有一定的有效性和优越性。

3.2  在环形倒立摆系统中的应用

对于非线性、不稳定的环形一级倒立摆系统,是用来验证各种控制理论的理想实验模型。对其建立数学模型,在忽略空气阻力和模块之间的摩擦力的情况下,该系统可理想地简化为1个连杆、1个摆杆和1个质量块,如图7所示。其中:为连杆与y轴的夹角;为摆杆与垂直向上方向的夹角(顺时针为正)。

环形倒立摆在平衡位置时,各变量取值为0,即====0 rad,对系统进行线性化处理,得到K12=37.215 2、K15=0.839 4。取文献[16]中的系统运动方程:,将角加速度作为输入,即,则系统的传递函数为

     (10)

为了验证果蝇优化算法所设计的PID控制器的控制性能,在MATLAB中对环形一级倒立摆系统进行仿真,连杆和摆杆的响应曲线如图8和图9所示。

图7  环形一级倒立摆系统模型图

Fig. 7  Ring of an inverted pendulum model diagram

图8  连杆角度的响应曲线

Fig. 8  Response curve of connecting rod angle

图9  摆杆角度的响应曲线

Fig. 9  Response curve of swing rod angle

从图8可以看出:连杆经过1次振荡后,能够在1.2 s以内达到稳定。从图9可以看出:摆杆的起摆时间为1.0 s,稳定在3.14 rad位置时的时间为1.2 s。因此,本文所提出的基于果蝇优化算法的PID控制器能够较好地完成环形一级倒立摆的稳定控制。

4  结论

1) 果蝇优化算法调整参数少、收敛速度快以及优化性能良好的优点,将其用于PID控制器参数的优化上,给出了果蝇优化算法优化PID参数的步骤及流程。

2) 以被控对象的传递函数式(9)为例,在ITAE指标下,对Z-N法、GA算法和本文算法的控制性能进行了比较,仿真结果表明,本文算法表现出更好的优化性能,同时为验证本文算法的优越性,分别在MSE,IAE和ISE 3种指标下,使用GA算法和本文算法进行仿真,得到的结果是本文算法在不同性能指标下总体上优于GA算法。

3) 将基于果蝇优化算法的PID控制器应用于环形一级倒立摆系统的控制中,得到了较好的控制效果。

参考文献:

[1] 杨智, 陈志堂, 范正平, 等. 基于改进粒子群优化算法的PID控制器整定[J]. 控制理论与应用, 2010, 27(10): 1345-1351.

YANG Zhi, CHEN Zhitang, FAN Zhengping, et al. Tuning of PID controllers based on improved particle swarm optimization algorithm[J]. Control theory and Applications, 2010, 27(10): 1345-1351.

[2] CHIHA I, LIOUANE N, BORNE P. Multi-Objective Ant Colony Optimization to tuning PID controller[J]. International Journal of Engineering, 2009, 3(2): 11-16.

[3] MAJDABADI-FARAHANI V, HANIF M, GHOLAMINEZHAD I, et al. Multi-objective optimal design of online PID controllers using model predictive control based on the group method of data handling-type neural networks[J]. Connection Science, 2014, 26(4): 349-365.

[4] BHADURI R, BANERJEE S. Optimisation of controller parameters by genetic algorithm for an electromagnetic levitation system[J]. International Journal of Automation and Control, 2011, 5(3): 219-244.

[5] JAHEDI G, ARDEHALI M M. Genetic algorithm-based fuzzy-PID control methodologies for enhancement of energy efficiency of a dynamic energy system[J]. Energy Conversion and Management, 2011, 52(1): 725-732.

[6] AYALA H V H, DOS SANTOS COELHO L. Tuning of PID controller based on a multiobjective genetic algorithm applied to a robotic manipulator[J]. Expert Systems with Applications, 2012, 39(10): 8968-8974.

[7] MENHAS M I, WANG L, FEI M, et al. Comparative performance analysis of various binary coded PSO algorithms in multivariable PID controller design[J]. Expert Systems with Applications, 2012, 39(4): 4390-4401.

[8] SOLIHIN M I, TACK L F, KEAN M L. Tuning of PID controller using particle swarm optimization (PSO)[J]. International Journal on Advanced Science, Engineering and Information Technology, 2011, 1(4): 458-461.

[9] 韩俊英, 刘成忠. 自适应调整参数的果蝇优化算法[J]. 计算机工程与应用, 2014, 50(7): 50-51.

HAN Junying, LIU Chengzhong. Drosophila optimization algorithm with adaptive adjustment of parameters[J]. Computer Engineering and Application, 2014, 50(7): 50-51.

[10] ZBAY H, BONNET C, FIORAVANTI A R. PID controller design for fractional-order systems with time delays[J]. Systems & Control Letters, 2012, 61(1): 18-23.

[11] 潘文超. 应用果蝇优化算法优化广义回归神经网络进行企业经营绩效评估[J]. 太原理工大学学报, 2011, 29(4): 1-5.

PAN Wenchao. Enterprise operating performance evaluation algorithm of generalized regression neural network optimization and application of optimization of Drosophila melanogaster[J]. Journal of Taiyuan University of Technology, 2011, 29(4): 1-5.

[12] LI Hongze, GUO San, LI Chunjie, et al. A hybrid annual power load forecasting model based on generalized regression neural network with fruit fly optimization algorithm[J]. Knowledge- Based Systems, 2013, 37: 378-387.

[13] ISCAN H, GUNDUZ M. Parameter analysis on fruit fly optimization algorithm[J]. Journal of Computer and Communications, 2014, 2(4): 137-141.

[14] 胡能发. 演化式果蝇算法及其应用研究[J]. 计算机技术与发展, 2013, 23(7): 131-133.

HU Nengfa. Type of Drosophila evolution algorithm and its application[J]. Computer Technology and Development, 2013, 23(7): 131-133.

[15] 金翠云, 王建林, 马江宁, 等. 改进的PSO算法及其在PID控制器参数整定中的应用[J]. 电子测量与仪器学报, 2010, 24(2): 141-146.

JIN Cuiyun, WANG Jianlin, MA Jiangning, et al. Improved PSO algorithm and its application in parameter tuning of PID controllers[J]. Journal of Electronic Measurement and Instrument, 2010, 24(2): 141-146.

[16] 刘浩梅, 张昌凡. 基于LQR的环形单级倒立摆稳定控制及实现[J]. 中南大学学报(自然科学版), 2012, 43(9): 3496-3501.

LIU Haomei, ZHANG Changfan. LQR rotary inverted pendulum stability control and realization based on[J]. Journal of Central South University (Natural Science Edition), 2012, 43(9): 3496-3501.

(编辑  陈爱华)

收稿日期:2016-02-18;修回日期:2016-04-23

基金项目(Foundation item):甘肃省自然科学基金资助项目(1208RJZA133);甘肃农业大学青年导师基金资助项目(GAU-QNDS-201213) (Project(1208RJZA133) supported by the Natural Science Foundation of Gansu Province; Project(GAU-QNDS-201213) supported by the Youth Fund Project Supervisor of Gansu Agricultural University)

通信作者:刘成忠,副教授,从事智能控制理论与应用的研究;E-mail: liucz@gsau.edu.cn

摘要:针对传统的Z-N法得到的PID参数,难以获得最优的控制性能,提出一种基于果蝇优化算法的PID控制器参数优化的方法。果蝇优化算法具有控制参数少、实现简单和优化性能良好的优点,运用此算法设计出PID控制器,与Z-N法和遗传算法设计的PID控制器进行比较。仿真结果表明:果蝇优化算法的PID控制器比Z-N法和遗传算法的PID控制器所得结果更优,比遗传算法具有较快的收敛速度,并应用于环形一级倒立摆系统的稳定控制问题,达到较好的控制效果。

[1] 杨智, 陈志堂, 范正平, 等. 基于改进粒子群优化算法的PID控制器整定[J]. 控制理论与应用, 2010, 27(10): 1345-1351.

[2] CHIHA I, LIOUANE N, BORNE P. Multi-Objective Ant Colony Optimization to tuning PID controller[J]. International Journal of Engineering, 2009, 3(2): 11-16.

[3] MAJDABADI-FARAHANI V, HANIF M, GHOLAMINEZHAD I, et al. Multi-objective optimal design of online PID controllers using model predictive control based on the group method of data handling-type neural networks[J]. Connection Science, 2014, 26(4): 349-365.

[4] BHADURI R, BANERJEE S. Optimisation of controller parameters by genetic algorithm for an electromagnetic levitation system[J]. International Journal of Automation and Control, 2011, 5(3): 219-244.

[5] JAHEDI G, ARDEHALI M M. Genetic algorithm-based fuzzy-PID control methodologies for enhancement of energy efficiency of a dynamic energy system[J]. Energy Conversion and Management, 2011, 52(1): 725-732.

[6] AYALA H V H, DOS SANTOS COELHO L. Tuning of PID controller based on a multiobjective genetic algorithm applied to a robotic manipulator[J]. Expert Systems with Applications, 2012, 39(10): 8968-8974.

[7] MENHAS M I, WANG L, FEI M, et al. Comparative performance analysis of various binary coded PSO algorithms in multivariable PID controller design[J]. Expert Systems with Applications, 2012, 39(4): 4390-4401.

[8] SOLIHIN M I, TACK L F, KEAN M L. Tuning of PID controller using particle swarm optimization (PSO)[J]. International Journal on Advanced Science, Engineering and Information Technology, 2011, 1(4): 458-461.

[9] 韩俊英, 刘成忠. 自适应调整参数的果蝇优化算法[J]. 计算机工程与应用, 2014, 50(7): 50-51.

ZBAY H, BONNET C, FIORAVANTI A R. PID controller design for fractional-order systems with time delays[J]. Systems & Control Letters, 2012, 61(1): 18-23." target="blank">[10] ZBAY H, BONNET C, FIORAVANTI A R. PID controller design for fractional-order systems with time delays[J]. Systems & Control Letters, 2012, 61(1): 18-23.

[11] 潘文超. 应用果蝇优化算法优化广义回归神经网络进行企业经营绩效评估[J]. 太原理工大学学报, 2011, 29(4): 1-5.

[12] LI Hongze, GUO San, LI Chunjie, et al. A hybrid annual power load forecasting model based on generalized regression neural network with fruit fly optimization algorithm[J]. Knowledge- Based Systems, 2013, 37: 378-387.

[13] ISCAN H, GUNDUZ M. Parameter analysis on fruit fly optimization algorithm[J]. Journal of Computer and Communications, 2014, 2(4): 137-141.

[14] 胡能发. 演化式果蝇算法及其应用研究[J]. 计算机技术与发展, 2013, 23(7): 131-133.

[15] 金翠云, 王建林, 马江宁, 等. 改进的PSO算法及其在PID控制器参数整定中的应用[J]. 电子测量与仪器学报, 2010, 24(2): 141-146.

[16] 刘浩梅, 张昌凡. 基于LQR的环形单级倒立摆稳定控制及实现[J]. 中南大学学报(自然科学版), 2012, 43(9): 3496-3501.