ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:115.88KB ,
资源ID:3549973      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3549973.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于遗传算法PID控制寻优实现有代码超详细.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于遗传算法PID控制寻优实现有代码超详细.docx

1、基于遗传算法PID控制寻优实现有代码超详细基于遗传优化算法对离散PID控制器参数的优化设计摘要PID控制作为一种经典的控制方法,从诞生至今,历经数十年的发展和完善,因其优越的控制性能业已成为过程控制领域最为广泛的控制方法;PID控制器具有结构简单、适应性强、不依赖于被控对象的精确模型、鲁棒性较强等优点,其控制性能直接关系到生产过程的平稳高效运行,因此对PID控制器设计和参数整定问题的研究不但具有理论价值更具有很大的实践意义,遗传算法是一种借鉴生物界自然选择和自然遗传学机理上的迭代自适应概率性搜索算法。本论文主要应用遗传算法对PID调节器参数进行优化。关键词:遗传优化算法 PID控制器 参数优化

2、1.前言PID调节器是最早发展起来的控制策略之一,因为它所涉及的设计算法和控制结构都是简单的,并且十分适用于工程应用背景,此外PID控制方案并不要求精确的受控对象的数学模型,且采用PID控制的控制效果一般是比较令人满意的,所以在工业实际应用中,PID调节器是应用最为广泛的一种控制策略,也是历史最久、生命力最强的基本控制方式。调查结果表明: 在当今使用的控制方式中,PID型占84. 5% ,优化PID型占68%,现代控制型占有15%,手动控制型66%,人工智能(AI)型占0.6% 。如果把PID型和优化PID型二者加起来,则占90% 以上,这说明PID控制方式占绝大多数, 如果把手动控制型再与上

3、述两种加在一起,则占97.5% , 这说明古典控制占绝大多数。就连科学技术高度发达的日本,PID控制的使用率也高达84.5%。这是由于理论分析及实际运行经验已经证明了PID调节器对于相当多的工业过程能够起到较为满足的控制效果。它结构简单、适用面广、鲁棒性强、参数易于调整、在实际中容易被理解和实现、在长期应用中己积累了丰富的经验。特别在工业过程中,由于控制对象的精确数学模型难以建立,系统的参数又经常发生变化,运用现代控制理论分析综合要耗费很大的代价进行模型辨识, 但往往不能达到预期的效果, 所以不论常规调节仪表还是数字智能仪表都广泛采用这种调节方式。正是PID控制算法具有以上多种优点, 所以这种

4、算法仍将在现场控制中居于主导地位。PID控制器参数整定的方法很多,概括起来有两大类:一是实验凑试法,它主要依赖调试经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。二是理论计算整定法,它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改1。但根据参数凑试法得出的控制器参数的控制效果并不是很理想,而手动调整控制器参数找到较优值费时又费力,因此利用一种优化算法对控制器参数进行优化是非常必要的。本文采用遗传优化算法,在二次型性能指标下对离散PID控制器的控制参数进行优化并给出了优化结果,同时通过

5、仿真进行研究与分析。本文的其余部分安排如下:第二部分介绍了PID控制器的基本原理;第三部分介绍了遗传优化算法;第四部分采用MATLAB编程和simulink模块对被控对象进行建模;第五部分使用遗传算法对系统进行仿真分析。最后,在第六部分对本文的研究进行了总结。2.PID控制器1.2.2.1.PID控制器基本原理PID控制是基于对变量“过去”、“现在”和“未来”信息估计的交叉控制算法。控制系统框图如图2-1所示,系统主要由被控对象和PID控制器两部分组成。常规的PID一般为线性控制器,实际输出值和给定值会存在一个偏差,将偏差按比例、积分和微分通过线性组合来构成控制量,最后对被控对象进行控制,故称

6、PID控制器。图2-1 PID控制器结构图当系统是连续控制时,PID控制器的输出u(t)与输入e(t)之间会存在比例、积分、微分的关系,用下式表示出来, (2-1)也可写成常见的传递函数形式: (2-2)式中,是比例增益,是积分时间,是微分时间。在计算机控制系统中,也普遍采用PID控制思想。此时,调节器的输出与输入之间的关系为: (2-3)其中,、分别为比例系数、积分时间常数和微分时间常数;T为采样周期;k为采样序号,k=0,1,2,;u(kT)为第k次采样输出值;e(kT)为第k次采样的输入偏差值;e(kT-T)为第(K-1)次采样的输入偏差值。2.2.PID控制器参数对控制性能的影响PID

7、控制器各个参数对系统的动态和稳态性能起着不同的作用,这三个参数的取值优劣将直接影响PID控制系统的控制品质好坏。2.2.1.比例作用比例作用就是以比例形式来反应系统的偏差信号e(t),以最快速度来产生控制作用,使偏差逐渐趋于减小。(1)对动态特性的影响比例控制参数Kc加大,使系统的动作灵敏,速度加快,Kc越大,振荡次数加多,调节时间也越长。当Kc太大时,系统会趋于不稳定,若Kc太小,又会使系统的动作缓慢。(2)对稳态特性的影响在系统稳定的情况下,比例系数Kc增大,稳态误差就会减少,以此来提高控制精度,但是加大Kc只是减少,却无法从本质上上消除稳态误差。2.2.2.积分作用引入积分作用,主要是为

8、了在稳态状态下,满足被控量对设定值的无静差跟踪,对系统的性能影响主要表现如下:(1)对动态特性的影响积分作用会引起系统的稳定性下降,Ti太小,系统将不稳定,Ti偏小到一定程度时,系统会出现振荡;Ti太大,对系统性能的影响力也会缩减,只有当Ti合适时,才能出现比较理想的过渡特性。(2)对稳态特性的影响积分作用能够降低系统稳态误差,同时也能提高系统的控制精度,不过,当Ti值太大时,积分作用将会变得非常弱,稳态误差ess也不会紧随减弱了。2.2.3.微分作用微分作用常规使用会与比例作用、比例积分作用联合,构成PD控制器或者PID控制器。微分作用主要改善闭环系统的动态特性和稳定性。Td偏大时,超调量会

9、较大,调节时间也会较长;Td偏小时,超调量也较大,相应调节时间也会较长。3.遗传优化算法遗传算法是-类可用于复杂系统优化计算的鲁棒搜索算法, 与其他一些优化算法相比, 它主要有下述几个恃点: (1) 遗传算法以决策变量的编码作为运算对象。这种对决策变量的编码处理方式,使得我们在优化计算过程中可以借鉴生物学中染色体和基因等概念, 可以模仿自然界中生物的遗传和进化等机理, 也使得我们可以方便地应用遗传操作算子。(2) 遗传算法直接以目标函数值作为搜索信息。传统优化算法不仅需要利用目标函数值,而且往往需要目标函数的导数值等其他一些辅助信息才能确定搜索方向。而遗传算法仅使用由目标函数值变换来的适应度函

10、数值,就可确定进一步的搜索方向和搜索范围, 无需目标函数的导数值等其他一些辅助信息。这个特性对很多目标函数是无法或很难求导数的函数, 或导数不存在的函数的优化问题,以及组合优化问题等, 应用遗传算法时就显得比较方便, 因为它避开了函数求导这个障碍。(3) 遗传算法同时使用多个搜索点的搜索信息。单个搜索点所提供的搜索信息毕竟不多,所以搜索效率不高,有时甚至使搜索过程陷于局部最优解而停滞不前。遗传算法从由很多个体所组成的一个初始群体开始最优解的搜索过程,而不是从一个单一的个体开始搜索,这是遗传算法所特有的一种隐含并行性。(4) 遗传算法使用概率搜索技术。很多传统的优化算法往往使用的是确定性的搜索方

11、法,而遗传算法属于一种自适应概率搜索技术,其选择、交叉、变异等运算都是以一种概率的方式来进行的,从而增加了其搜索过程的灵活性。当然, 交叉概率和奇异概率等参数也会影响算法的搜索效果和搜索效率,所以如何选择溃传算法的参数在其应用中是一个比较重要的问题。而另一方面,与其他一些算法相比,遗传算法的鲁棒性又会使得参数对其搜索效果的影响会尽可能地低。3.1.SGA的基本实现技术基于对自然界中生物遗传与进化机理的模仿,针对不同的问题, 很多学者设计了许多不同的编码方法来表示问题的可行解, 开发出了许多种不同的遗传算子来模仿不同环境下的生物遗传特性。这样,由不同的编码方法和不同的遗传算子就构成了各种不同的遗

12、传算法。但这些遗传算法都有共同的特点,即通过对生物遗传和进化过程中选择、交叉、变异机理的模仿,来完成对问题最忧解的自适应搏索过程。基于这个共同特点,Goldberg总结出了一种统一的最基本的遗传算法基本遗传算法(Simple Genetic Algorithms,简称SGA)。基本遗传算法只使用选择算子、交叉算子和变异算子这三种基本遗传算子,其遗传进化操作过程简单,容易理解,是其他一些遗传算法的雏形和基础,它不仅给各种遗传算法提供了一个基本框架,同时也具有一定的应用价值。3.2.编码方法在遗传算法中如何描述问题的可行解, 即把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法

13、称为编码。编码是应用遗传算法时要解决的首要问题,也是设计遗传算法时的一个关键步骤。二进制编码方法是遗传算法中最常用的一种编码方法。假设某一个参数U的取值范围是Umin , Umax ,用- 1 位二进制数n来表示,则它们的关系如下式(3- 1)所示: (3-1)上述过程为解码,它的反过程即为编码。3.3.适应度函数在研究自然界中生物的遗传和进化现象时,生物学家使用适应度这个术语来度量某个物种对于其生存环境的适应程度。遗传算法中也使用适应度这个概念来度量群体中各个个体在优化计算中有可能达到或接近于或有助于找到最优解的优良程度。适应度较高的个体遗传到下一代的概率就较大:而适应度较低的个体遗传到下一

14、代的概率就相对小一些。度量个体适应度的函数称为适应度函数( Fitness Function)。3.4.选择、交叉、变异算子遗传算法使用选择算子来对群体中的个体进行优胜劣汰操作。最常用的选择算子是基本遗传算法中的比例选择算子。其基本思想是:各个个体被选中的概率与其适应度大小成E比。设群体大小为M,个体i的适应度为F,则个体i被选中的概率Pis为: (3-2)交叉算子是指对两个相互配对的染色体按某种方式相互交换其部分基因,从而形成两个新的个体。交叉运算是遗传算法区别于其他进化算法的重要特征,它在遗传算法中起关键作用,是产生新个体的主要办法。最简单的交叉算子是单点交叉算子, 即在群体中随机选取两个

15、个体, 并在个体编码串中只随机设置一个交叉点,然后在该点以一定的概率Pc相互交换两个配对个体的部分染色体。一般民的经验取值范围是0.4-0.99。变异运算是指将个体染色体编码串中某些基因座上的基因值用该基因座的其它等位基因来替换, 从而形成一个新的个体。最简单的变异算子是基本位变异算子,即对个体编码串中的每一位基因座上的基因值均以变异概率p作变异运算。一般Pm的经验取值范围是0.0001-0.10变异可使遗传算法具有局部随机搜索功能, 又可维持群体的多样性, 避免出现初期收敛问题。4.被控对象及建模已知被控对象的传递函数模型为: (4-1)采样周期T=1s,要求阶跃响应超调量。如图4-1所示,

16、利用MATLAB/Simulink搭建系统仿真模型。图4-1 系统仿真模型PID控制器模块如图所示,其中PID控制器的Ki、Kd、Kp三个参数利用图4-2给定图4-2 PID控制器模型对于PID控制器,给定如下二次型性能指标函数: (4-2)其中为常数,取值范围为,搭出如图4-3所示模型。图4-3 系统模型及二次型性能指标函数亦可直接编写M函数对系统进行建模,程序如下:function Kpidi,BsJ=pid_gaf(Kpidi,BsJ)global rin yout timefts=1sys=tf(1,10,1,0); %被控对象函数dsys=c2d(sys,ts,z); %零阶保持器法

17、离散化num,den=tfdata(dsys,v);%提取被控对象参数rin=1.0; %赋初值u_1=0.0;u_2=0.0;y_1=0.0;y_2=0.0;x=0,0,0;B=0;error_1=0;tu=1;s=0;P=100;for k=1:1:P timef(k)=k*ts; r(k)=rin; u(k)=Kpidi(1)*x(1)+Kpidi(2)*x(2)+Kpidi(3)*x(3); %控制器输出 if u(k)=10 u(k)=10; end if u(k)0.95&yout(k)temp %交叉条件 alfa=rand; TempE(i,:)=alfa*Kpid(i+1,:

18、)+(1-alfa)*Kpid(i,:); TempE(i+1,:)=alfa*Kpid(i,:)+(1-alfa)*Kpid(i+1,:); end end TempE(Size,:)=BestS; Kpid=TempE; %* 步骤 4: 变异运算 *Pm=0.10-1:1:Size*(0.01)/Size; %具有更大 fi的个体具有更小的 PmPm_rand=rand(Size,CodeL);Mean=(MaxX + MinX)/2; Dif=(MaxX-MinX); for i=1:1:Size for j=1:1:CodeL if Pm(i)Pm_rand(i,j) %变异条件 T

19、empE(i,j)=Mean(j)+Dif(j)*(rand-0.5); end end end%保证 TempE(Size,:) 为最优个体 TempE(Size,:)=BestS; Kpid=TempE;endBestfiBestSBest_J=BestJ(G)figure(1);plot(time,BestJ);xlabel(Times);ylabel(Best J);figure(2);plot(timef,rin,r,timef,yout,b);xlabel(Time(s);ylabel(rin,yout);5.3.仿真优化及分析由式(4-2)可知,二次型性能指标的常数的取值范围为,

20、首先取。设置控制系统M函数模型的运行时间为100秒。给定阶跃信号,采用实数编码方式,经过100代进化,获得的优化PID整定结果为Kp=0.2756,Ki=0,Kd=0.9210,性能指标J=5.1323。得到系统动态响应曲线,如图5-2所示。 图5-2 系统响应曲线由图5-2可测得,系统调节时间T=34s,超调量为12.5%,最终达到稳定,无静态误差,得到较好的动静态响应特性。图5-3表示控制器输出波形,如图,控制器输出峰值为1.17,并且35秒后趋于稳定。图5-3 控制器输出波形图5-4为遗传算法随进化代数增加,性能指标J的变化过程,在100代前后得到最优参数。图5-4 遗传算法优化过程二次

21、型性能指标系数是否对对优化结果产生影响,可通过改变值并进行寻优来研究。值分别为0.25,0.5,0.75,1时的响应曲线比较图如图5-4所示。图5-5 不同参数值下的响应曲线比较当值增加时超调量上升,调节时间增加。6.总结本文在二次型性能指标的要求下,通过研究遗传算法,对控制对象进行PID参数整定,对PID系数进行了优化。利用优化结果进行了系统仿真,分析了控制器输出响应与系统动态响应。并对在不同值下的的系统响应进行了对比分析,得出结论。可以得出,利用遗传算法可以较好的优化PID控制器参数,使系统得到较好的动静态响应。参考文献1.关守平,周玮等. 计算机控制系统M. 北京:科学出版社,2009.

22、2.薛定宇,陈泉阳. 高等应用数学问题的MATLAB求解M.北京:清华大学出版社,2008.3.薛定宇.控制系统计算机辅助设计M.北京:清华大学出版社,2006.4.周明,孙树栋.遗传算法原理及应用M.北京:国防工业出版社,1999.5.刘金琨.先进PID控制MATLAB仿真M.北京:电子工业出版社,2004.6.苏小林,阎晓霞.基于遗传算法的PID参数优化技术电力系统及其自动化学报,1997, 9(2):20-26.7.刘国贤,林宪枢,杨奇逊.基于遗传算法的控制器参数寻优J,现代电力,1997,14(3):18-228.杨智,高靖,基于遗传算法的预测自整定PID控制器J.控制与决策,2000,15(1):113-115,118

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1