基于粒子群算法(PSO)的PID控制器优化设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图2 Simulink环境下的PID控制系统模型
解题思路及步骤
优化设计过程 利用粒子群算法对PID控制器的参数进行优化设计,其过程如图3所示。
粒子群算法(PSO) Simulink
开始
产生粒子群 粒子依次赋值给Kp、Ki、Kd 粒子群 更新操作
运行控制系统模型
输出性能指标 N 满足终止条件吗? Y 结束
问题描述
PID控制器的系统结构图如图1所示。
PID控制器的优化问题就是确定一组合适的参数Kp、Ki、Kd,使得指标达 到最优。常用的误差性能指标包括ISE、IAE、ITAE等,这里选用ITAE指 标,其定义为
选取的被控对象为以下不稳定系统:
问题描述
在simulink环境下建立的模型如图2所示,图2中,微分环节由一个一阶 环节近似,输出端口1即为式(2)所示的ITAE指标,通过将时间及误差绝对 值的乘积进行积分后得到。
结果分析
图5 PSO优化PID得到的性能指标ITAE变化曲线
结果分析
图6 PSO优化PID得到的最优参数对应的单位阶跃响应曲线
将以上参数代回图2所示的仿真模型,等到的单位阶跃响应曲线如图6所示。
由图5可知,算法优化过程中,性能指标ITAE不断减小,PSO不断寻找更 优的参数。由图6可知,对于不稳定的被控对象,由PSO设计出的最优PID控 制器使得Kp、Ki、Kd的选择合理,很好地控制了被控对象。
结果分析
图4 PSO优化PID得到的Kp、Ki、Kd变化曲线
MATLAB程序实现
1、Simulink部分的程序实现
2、PSO部分的程序实现
结果分析
运行程序,得到优化过程如图4和图5所示,前者为PID控制器的3个参数 Kp、Ki、Kd的变化曲线,后者为性能指标ITAE的变化曲线。得到的最优控制 器参数及性能指标为 Kp=33.6469 , Kd=38.7990 , Ki=0.1662, ITAE=1.0850
粒子群算法实现
PSO的流程如下:
(1)初始化粒子群,随机产生所有粒子的位置和速度,并确定粒子的Pt 和 Gt。 (2)对每个粒子,将其适应值与该粒子所经历过的最优位置Pt的适应值 进行比较,如较好,则将其作为当前的Pt。 (3)对每个粒子,将其适应治值与整个粒子群所经历过的最优位置Gt的 适应值进行比较,如较好,则将其作为当前的Gt。 (4)按式(4)和式(5)更新粒子的速度和位置。 (5)如果没有满足终止条件(通常为预设的最大迭代次数和适应值得 下限值),则返回步骤(2)否则,退出算法,等到最优解。
基于粒子群算法的PID控制器优来自百度文库设计
一、理论基础 二、问题描述
三、解题思路及步骤
四、MATLAB程序实现 五、结果分析
理论基础
PID控制器应用广泛,其一般形式为
其中,e(t)是系统误差;KP、Ki和Kd分别是对系统误差信号及其积 分与微分量的加权,控制器通过这样的加权就可以计算出控制信号,驱 动受控对象。如果控制器设计合理,那么控制信号将能使误差朝减小的 方向变化,达到控制的要求。可见,PID控制器的性能取决于KP、Ki、Kd 这3个参数是否合理,因此,优化PID控制器参数具有重要意义。本案例 将使用PSO进行PID控制器参数的优化设计。
图3 PSO优化PID的过程示意图
设计优化过程
图3中,粒子群算法与Smiulink模型之间连接的桥梁是粒子(PID控 制器参数)和该粒子对应的适应值(即控制系统的性能指标)。 优化过程如下:PSO产生粒子群(可以是初始化粒子群,也可以是更新 后的粒子群),将该粒子群中的粒子依次赋值给PID控制器的参数Kp、 ki、Kd,然后运行控制系统的Simulink模型,得到该组参数对应的性能 指标,该性能指标传递到PSO中作为该粒子的适应值,最后判断是否可 以退出算法。
粒子群算法实现
根据粒子群算法的基本原理,粒子在搜索空间中的速度和位置根据 以下公式确定:
其中, 表示粒子群的位置; 为惯性因子; 表示粒子群的速度; C1、C2为加速常数;r1、r2为[0,1]区间的随机数;Pt是粒子迄今为止搜 素到的最优为止;Gt是整个粒子群迄今为止搜索到的最优位置。
x