您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 基于粒子群算法(PSO)的PID控制器优化设计
基于粒子群算法的PID控制器优化设计一、理论基础二、问题描述三、解题思路及步骤四、MATLAB程序实现五、结果分析理论基础PID控制器应用广泛,其一般形式为其中,e(t)是系统误差;KP、Ki和Kd分别是对系统误差信号及其积分与微分量的加权,控制器通过这样的加权就可以计算出控制信号,驱动受控对象。如果控制器设计合理,那么控制信号将能使误差朝减小的方向变化,达到控制的要求。可见,PID控制器的性能取决于KP、Ki、Kd这3个参数是否合理,因此,优化PID控制器参数具有重要意义。本案例将使用PSO进行PID控制器参数的优化设计。问题描述PID控制器的系统结构图如图1所示。PID控制器的优化问题就是确定一组合适的参数Kp、Ki、Kd,使得指标达到最优。常用的误差性能指标包括ISE、IAE、ITAE等,这里选用ITAE指标,其定义为选取的被控对象为以下不稳定系统:问题描述在simulink环境下建立的模型如图2所示,图2中,微分环节由一个一阶环节近似,输出端口1即为式(2)所示的ITAE指标,通过将时间及误差绝对值的乘积进行积分后得到。图2Simulink环境下的PID控制系统模型解题思路及步骤优化设计过程利用粒子群算法对PID控制器的参数进行优化设计,其过程如图3所示。开始产生粒子群粒子依次赋值给Kp、Ki、Kd运行控制系统模型输出性能指标满足终止条件吗?结束粒子群更新操作YN粒子群算法(PSO)Simulink图3PSO优化PID的过程示意图设计优化过程图3中,粒子群算法与Smiulink模型之间连接的桥梁是粒子(PID控制器参数)和该粒子对应的适应值(即控制系统的性能指标)。优化过程如下:PSO产生粒子群(可以是初始化粒子群,也可以是更新后的粒子群),将该粒子群中的粒子依次赋值给PID控制器的参数Kp、ki、Kd,然后运行控制系统的Simulink模型,得到该组参数对应的性能指标,该性能指标传递到PSO中作为该粒子的适应值,最后判断是否可以退出算法。粒子群算法实现根据粒子群算法的基本原理,粒子在搜索空间中的速度和位置根据以下公式确定:其中,表示粒子群的位置;表示粒子群的速度;为惯性因子;C1、C2为加速常数;r1、r2为[0,1]区间的随机数;Pt是粒子迄今为止搜素到的最优为止;Gt是整个粒子群迄今为止搜索到的最优位置。x粒子群算法实现PSO的流程如下:(1)初始化粒子群,随机产生所有粒子的位置和速度,并确定粒子的Pt和Gt。(2)对每个粒子,将其适应值与该粒子所经历过的最优位置Pt的适应值进行比较,如较好,则将其作为当前的Pt。(3)对每个粒子,将其适应治值与整个粒子群所经历过的最优位置Gt的适应值进行比较,如较好,则将其作为当前的Gt。(4)按式(4)和式(5)更新粒子的速度和位置。(5)如果没有满足终止条件(通常为预设的最大迭代次数和适应值得下限值),则返回步骤(2)否则,退出算法,等到最优解。MATLAB程序实现1、Simulink部分的程序实现2、PSO部分的程序实现结果分析运行程序,得到优化过程如图4和图5所示,前者为PID控制器的3个参数Kp、Ki、Kd的变化曲线,后者为性能指标ITAE的变化曲线。得到的最优控制器参数及性能指标为Kp=33.6469,Ki=0.1662,Kd=38.7990,ITAE=1.0850将以上参数代回图2所示的仿真模型,等到的单位阶跃响应曲线如图6所示。由图5可知,算法优化过程中,性能指标ITAE不断减小,PSO不断寻找更优的参数。由图6可知,对于不稳定的被控对象,由PSO设计出的最优PID控制器使得Kp、Ki、Kd的选择合理,很好地控制了被控对象。结果分析图4PSO优化PID得到的Kp、Ki、Kd变化曲线结果分析图5PSO优化PID得到的性能指标ITAE变化曲线结果分析图6PSO优化PID得到的最优参数对应的单位阶跃响应曲线
本文标题:基于粒子群算法(PSO)的PID控制器优化设计
链接地址:https://www.777doc.com/doc-3362373 .html