首页 > 范文大全 > 正文

基于粒子群算法的自整定PID控制器

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于粒子群算法的自整定PID控制器范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:粒子群算法是一种基于群智能的全局寻优方法,方法简单易于实现,寻优效果好。本文设计了一种基于粒子算法的自整定pid控制器。它可以根据系统参数的变化实现在线的PID参数优化。仿真结果证明其性能良好。

关键词:粒子群优化;PID参数;自整定

中图分类号:TP18 文献标识码:A文章编号:1009-3044(2007)15-30836-02

A Self-tuning Controller Based on Particle Swarm Optimization

LIU Huan, KUANG Xu-bo,XIAO Gen-fu

(Jinggangshan University, Ji’an 343009,China)

Abstract:Particle swarm optimization algorithm is a global optimization technique. The algorithm is simple for implement and excellent for application. A self-tuning PID controller based on particle swarm optimization is designed in this paper. The controller can optimize PID parameter on line following the shift of system parameter. The simulation shows the controller is useful.

Key words:Particle swarm optimization;PID parameter;Self-tuning

1 引言

在众多控制方法中,PID控制原理简单,实现方便,控制性能好,在控制领域被广泛采用。在实际控制系统中,被控对象往往是时变的,传统的PID控制器由于参数固定不能跟随被控对象变化,难以实现控制性能的最优。粒子群算法寻优速度快,算法简单,适于在线应用。本文将粒子群算法与PID参数整定结合起来,设计出了一种在线自整定的PID控制器。

2 粒子群优化算法(PSO)

粒子群优化(Particle Swarm Optimizition)算法是一类基于群智能的随机优化算法。因受到人工生命的研究结果启发,Kennedy和Eberhart于1995年提出了PSO算法。

粒子群算法初始化为一组随机粒子,然后通过迭代寻找最优解。粒子追随两个最优值来更新自己,一个是粒子迄今为止寻找到的最优值,叫做个体极值(pBest);另外一个是整个粒子群迄今为止寻找到的最优值,叫做全局极值(gBest)。粒子用以下公式更新自己:

Vi=wVi-1+c1・r1・(pb-xi)+c2・r2・(pg-xi)(1)

xi=xi-1+Vi(2)

其中:Vi当代粒子移动速度;

Vi-1前一代粒子移动速度;

r1,r2介于[0,1]之间随机数;

c1,c2学习因子,一般为2;

xi当代粒子位置;

xi-1前一代粒子位置;

w惯性因子。

使用式(1)为速度更新公式的算法称为全局版粒子群算法,因为pg是整个粒子群的最优位置。如果把某个粒子的邻居们搜索到的最优位置作为pg,则称为局部版粒子群算法。

惯性因子w的确定:惯性因子w对优化性能有很大的影响,较大的w值有利于跳出局部极小点,而较小的w值有利于算法收敛。一般采用以下公式进行更新:

式中:iter迭代次数。

3 PID参数自整定控制器

PID控制是最早发展起来的控制策略之一,它所涉及的设计算法和控制结构都是很简单,十分适用于工程应用。PID控制规律满足以下差分方程:

e(n) 本次偏差;

Kp 比例系数;

Ti积分时间常数;

Td 微分时间常数;

T 采样周期。

PID参数整定就是确定最佳Kp、Ti和Td,使控制系统某一性能指标达到最佳,本文采用绝对误差的矩积分(ITAE)作为评价的性能指标,如下式所示:

以绝对误差矩积分作为粒子群算法的适应度函数,使用粒子群算法自动调整PID控制器的Kp、Ti和Td,构成PID自整定控制器,如图1所示。

图1 PID自整定控制

4 仿真实例

假定被控对象是二阶惯性加延滞的模型,其传递函数为:

采用PID控制器对被控制对象进行控制,并用粒子群算法对PID控制器的比例系数、微分、积分时间常数进行寻优,仿真程序流程如图(2)所示。

仿真软件用MATLAB,输入信号为阶跃信号,仿真计算采用定步长4阶Runge-Kutta法。粒子群算法种群大小为10,粒子维数为3,分别对应Kp、Ti、Td,c1=c2=2;惯性因子w采用线性减小的公式(3)进行更新,wmax取值为0.9,wmin取值为0.4,迭代次数取itermax=30。

图2 仿真程序流程

粒子群算法自整定的PID参数(Kp=2.234、Ti=0.337、Td=0.519)与Ziegler-Nichols整定方法所整定参数(Kp=2.813、Ti=1.63、Td=0.409)的对比如图(3)所示。从图中可以看出粒子群算法取得了满意的结果。

5 结论

粒子群算法简单,收敛速度快,鲁棒性强,易于编程实现。将粒子群算法运用到PID参数的自整定上,仿真实验结果表明粒子群算法在PID参数整定领域的良好效果及巨大潜力。基于算法的快速有效性,可以将此方法进行在线自整定的实际应用。

图3 优化结果

参考文献:

[1]Kennedy J. and Eberhart R .Particle Swarm Optimization . IEEE International Conference on Neural Networks (Perth, Australia), IEEE Service Center, Piscataway, NJ, IV: 1942-1948,1995.

[2]Shi Y, Eberhart R. A modified particle swarm optimizer[C]. In: IEEE World Congress on Computational Intelligence ,1998:69-73.

[3]徐钦龙,刘国平,张键民.基于粒子群算法的温度模型优化.南昌大学学报[工科版],2003,(1):68-71.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。