基于粒子群优化算法对离散PID控制器参数的优化研究
Research on Parameter Optimization of Discrete PID Controller Based on Particle Swarm Optimization Algorithm
摘要: 针对已有的控制对象,如何设计控制性能良好的离散PID控制器,即如何找到一组最合适的离散PID控制器参数在工业实际控制中具有很高的实用价值。论文采用粒子群优化算法,在二次型性能指标下对离散PID控制器的控制参数进行优化并给出了优化结果。通过仿真研究与分析,采用粒子群优化算法可得到PID控制器的最优参数,且在二次型性能指标下控制效果明显。
Abstract: In view of the existing control objects, how to design the discrete PID controller with good control performance, that is, how to find a group of most suitable discrete PID controller parameters has become very important. In this paper, the particle swarm optimization algorithm is used to opti-mize the control parameters of the discrete PID controller under the quadratic performance index, and the optimization results are given. Through simulation research and analysis, the optimal pa-rameters of PID controller can be obtained by using particle swarm optimization algorithm, and the control effect is better under the quadratic performance index.
文章引用:郭利进, 窦中广. 基于粒子群优化算法对离散PID控制器参数的优化研究[J]. 软件工程与应用, 2020, 9(5): 373-380. https://doi.org/10.12677/SEA.2020.95042

1. 引言

在控制理论和技术飞速发展的今天,工业过程控制中95%以上的控制回路都具有PID结构,并且许多高级控制都是以PID控制为基础的 [1]。PID制系统设计的核心内容,即比例系数、积分时间和微分时间( K p , K i , K d )的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是实验凑试法,它主要依赖调试经验,直接在控制系统的试验中进行,在工程实际中被广泛采用。二是理论计算整定法,它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改 [2]。但根据凑试法得出的控制器参数的控制效果并不是很理想,而手动调整控制器参数找到较优值费时又费力,因此利用一种优化算法对控制器参数进行优化是非常必要的。论文采用粒子群优化算法,在二次型性能指标下对离散PID控制器的控制参数 K p K i K d 进行了优化,并对在不同的二次型性能指标参数 ρ 值下的优化结果进行比较。

2. 粒子群优化算法

粒子群优化算法是一种计算智能领域中基于群集智能的优化算法,由Kennedy和Eberhart于1995年提出,通过模仿简单的社会模型如鸟类捕食与鱼群跟随的特点来描述动态进化系统 [3]。该算法的思想是通过群体中个体之间的协作和信息共享来寻求全局的最优,其中粒子间的距离将起到至关重要的作用。由于其概念简单、易行、鲁棒性好等特点,粒子群算法已在工程优化等方面崭露头角 [4]。

借鉴鸟类群体动态学的智慧,算法将所研究的对象抽象为一群粒子,并随机赋予每个粒子各自的位置与速度。且每个粒子都有一个由目标函数决定的适应值。他们通过自身与同伴们的飞行经验来决定自己的飞行路径,同时也要根据自身经验与群体协作决定粒子的飞行速度。即通过已知的最好适应度值来决定粒子的下一步动作 [5]。

2.1. 优化问题目标函数的选取

粒子群算法需要一个目标函数来衡量每个粒子的适应程度,从而使粒子在系统的约束条件下,寻求更好地状态 [6]。

对于论文所描述的控制系统,选取二次型性能指标作为粒子群优化算法的目标函数。

当目标函数目的在于使终端误差、控制过程中的偏差和控制能量综合起来比较小时,目标函数常常采用二次型性能指标函数,即:

J = k = 0 [ e 2 ( k ) + ρ u 2 ( k ) ] (1)

其中 ρ 为常数,取值范围为 0 ρ 1

2.2. 粒子群算法

粒子群算法的步骤如下:

步骤1:粒子群初始化。分析所要优化的问题,运用均等概率分布函数合理生成一群(一系列)粒子,并随机赋予每个粒子速度与位置。并设置最大代数或最小目标函数值。

步骤2:根据目标函数衡量每个粒子的适应度。在论文处理的优化问题中,要使目标函数最小化。

步骤3:通过比较得出个体最优值pbest。将每个粒子当代的适应度 p f 与该粒子之前的pbest作比较。如果粒子当代的适应度 p f 优于之前的pbest,则将pbest更新为当代的适应度 p f ,该粒子位置也随之更新。

步骤4:通过比较得出群体最优值gbest。在上述每个粒子当代最优中选出当代群体最优,再与之前的gbest作适应度的比较,如果当代群体最优好于之前的gbest,则gbest更新为当代最优粒子的属性。

步骤5:更新每个粒子的速度与位置。按照以下(2)式和(3)更新粒子的速度与位置:

v i k + 1 = w v i k + c 1 r a n d 1 ( x i p x i k ) + c 2 r a n d 2 ( x i g x i k ) (2)

x i k + 1 = x i k + v i k + 1 (3)

w = w max t ( w max w min ) t max (4)

在上式中,w为权重因子, i = 1 , 2 , , M 为粒子种群中的各个粒子。 k = 1 , 2 , , k max 为粒子处于的代数。则 v i k 代表第i个粒子处于第k代时的速度, x i k 代表第i个粒子处于第k代时的位置。 x i p 为第i个粒子至今为止的最好位置, x i g 则代表至今为止整个种群的最好位置。 c 1 c 2 为加速常数,分别表征着个体与社会的认知、学习能力,通常情况下,为保证算法具有较好的效果常取 c 1 = c 2 = 2 r a n d 1 r a n d 2 [ 0 , 1 ] 的随机数。由上式(2) (3)知,我们通过先前的经验与随机过程来更新进化粒子的状态。

步骤6:算法更新循环。当不满足终止条件时,重复步骤2;当满足终止条件时,退出算法,得到最优解。终止条件常为最大代数或最优目标函数值 [7] [8]。

3. 仿真研究与分析

3.1. 优化设计过程

对离散PID控制器进行优化,就是寻找合适的 K p K i K d 三个参数,以使闭环系统达到良好的输出效果 [9]。

论文在MATLAB/Simulink环境下进行仿真研究。已知被控对象的传递函数模型为

G ( s ) = 1 s ( 10 s + 1 ) (5)

采用二次型性能指标,则Simulink环境下的PID控制系统模型为图1所示。

其中rou为二次型性能指标的常数 ρ ,取值范围为 0 ρ 1

Figure 1. PID control system model in Simulink environment

图1. Simulink环境下的PID控制系统模型

利用粒子群算法对PID控制器的参数进行优化,其优化流程图如图2所示。

Figure 2. Flow chart of PID controller parameters optimization by particle swarm optimization

图2. 利用粒子群算法对PID控制器参数进行优化的流程图

粒子群算法与Simulink模型之间连接的桥梁是粒子(即PID控制器参数)和该粒子对应的适应值(及控制系统的二次型性能指标) [10]。优化过程如下:PSO产生粒子群,将该粒子群中的粒子依次赋值给PID控制器的参数 K p K i K d ,然后运行控制系统的Simulink模型,得到该组参数对应的性能指标,该性能指标传递到PSO中作为该粒子的适应值,最后判断是否可以退出算法。

3.2. 仿真结果分析

因为二次型性能指标的常数 ρ 的取值范围为 [ 0 , 1 ] ,首先取 ρ = 1 。设置控制系统Simulink模型的运行时间为 [ 0 , 50 ]

利用粒子群优化算法时,根据式(4),设置PSO的参数为:惯性因子 w = 0.6 ,加速常数 c 1 = c 2 = 2 ,维数为3 (有3个待优化参数),粒子群规模为50,最大迭代次数为100,最小适应值为负的无穷大,速度范围为 [ 1 , 1 ] ,3个待优化参数的范围均为 [ 0 , 10 ]

在第2秒给定一阶跃为1的输入信号,运行整个系统。经过Simulink仿真,可得寻得的最优参数为 K p = 0.2512 K i = 0 K d = 5.6257 。得到的最优控制信号的波形如图3所示,响应曲线如图4所示。

Figure 3. Waveform of control signal optimized by PSO

图3. 利用PSO优化的控制信号的波形

Figure 4. Response curve optimized by PSO

图4. 利用PSO优化的响应曲线

图5为PID控制器的参数 K p K i K d 的优化曲线,图6为最优个体适应值的变化曲线。

图3图4可以看出,在该组参数下,控制信号峰值为1.1377,响应曲线的峰值为1.147,上升过程超调较小,为14.7%。系统经过35 s进入稳态,稳态值为1,无稳态误差,符合工程实际要求。与利用下山单纯形法的优化结果进行对比如表1所示 [11]。

Figure 5. Optimization curve

图5. K p K i K d 的优化曲线

Figure 6. Variation curve of optimal individual fitness value

图6. 最优个体适应值的变化曲线

Table 1. Comparison of optimization results of particle swarm optimization algorithm and downhill simplex method

表1. 利用粒子群优化算法与下山单纯形法的优化结果比较

通过比较,可以得出在采用粒子群优化算法优化得到的最优PID控制器参数下,与采用下山单纯形法相比,调节时间缩短8s,虽然控制信号峰值略大,但是响应曲线峰值降低,超调量有17.4%减小到14.7%,且最小适应值小于下山单纯形的最小适应值 [12]。所以,采用粒子群优化算法得到的是全局最优解。

为研究二次型性能指标的 ρ 值对优化结果的影响,令 ρ 值分别为0,0.2,0.4,0.6,0.8,1时的控制信号的波形比较图和响应曲线比较图分别如图7图8所示。

Figure 7. Comparison of waveform of optimal control signal under different ρ values

图7. 不同 ρ 值下最优控制信号的波形比较图

Figure 8. Comparison of optimal response curves under different ρ values

图8. 不同 ρ 值下最优响应曲线比较图

比较在不同 ρ 值下,最优控制的结果如表2所示。

Table 2. Comparison of optimal control results under different ρ values

表2. 在不同 ρ 值下最优控制的结果比较

表2可以看出,在二次型性能指标常数 ρ 的取值范围 [ 0 , 1 ] 内,当 ρ = 0 时,为特殊情况,即指标忽略控制信号的影响。此时调节时间最短,控制信号峰值、响应曲线峰值和超调量均最大,且有稳态误差。当 ρ 值分别为0.2,0.4,0.6,0.8,1时,调节时间变长,控制信号峰值减小,响应曲线峰值和超调量逐渐增大,均无稳态误差。

4. 结论

论文采用粒子群优化算法,在二次型性能指标下对离散PID控制器的控制参数 K p K i K d 进行了优化,并对在不同的二次型性能指标参数 ρ 值下的优化结果进行了比较。仿真结果表明,粒子群优化算法能够较好地找到离散PID控制器控制参数的最优解,且最优解随着二次型性能指标参数 ρ 值的变化而改变。可以得出,采用优化算法优化后的结果的好坏取决于所选用的性能指标,好的性能指标能帮助找到更好更适合工程应用的最优解,论文结论将进一步在实际项目中应用并验证。

参考文献

[1] 刘建昌, 关守平, 周玮, 等. 计算机控制系统[M]. 北京, 科学出版社, 2009.
[2] 于海生, 等. 微型计算机控制技术[M]. 北京: 清华大学出版社, 2004.
[3] Kennedy, J. and Eberhart, R.C. (1995) Particle Swarm Optimization. Proceedings of IEEE International Conference on Neural Networks, Perth, 27 November-1 December 1995, 1942-1948.
[4] Kennedy, J.F., Eberhart, R.C. and Shi, Y. (2001) Swarm Intelligence. Morgan Kaufmann Publications, San Francisco, CA.
https://doi.org/10.1016/B978-155860595-4/50009-7
[5] 张天佳, 杨永胜. 基于并行结构的多种群粒子群优化算法[J]. 传感器与微系统, 2020, 39(9): 119-121.
[6] 代诗强. 基于自整定分数阶PI~λD~μ的原子力显微镜运动控制研究[D]: [硕士学位论文]. 成都: 电子科技大学, 2020.
[7] 杜学武, 张明新, 沙广涛, 伍秋玉. 基于改进蝙蝠算法的模糊PID规则优化研究[J]. 计算机工程, 2020, 46(8): 305-312.
[8] 刘逸. 粒子群优化算法的改进及应用研究[D]: [博士学位论文]. 西安: 西安电子科技大学, 2013.
[9] 王伟, 于军琪. 基于单纯形法的最优PID控制器设计[J]. 装备制造技术, 2009(6): 77-78.
[10] The MathWorks Inc. (2010) Simulink Design Optimization User’s Guide.
[11] 杨华龙, 陆婷, 辛禹辰. 基于改进粒子群算法的异质车队二级IRP优化[J/OL]. 计算机工程与应用, 1-10. http://kns.cnki.net/kcms/detail/11.2127.TP.20200826.1525.008.html, 2020-10-02.
[12] Shenbagalakshmi, R., Vijaya-lakshmi, S. and Geetha, K. (2020) Design and Analysis of Discrete PID Controller for Luo Converter. International Journal of Power Electronics, 11, 283.
https://doi.org/10.1504/IJPELEC.2020.10027748