MATLAB遗传算法PID大作业._第1页
MATLAB遗传算法PID大作业._第2页
免费预览已结束,剩余14页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、遗传算法在调节控制系统参数中的应用【摘要】自动化控制系统多采用PID控制器来调节系统稳定性和动态性,PID的Kp,Ki,Kd参数需要合理选择方能达到目标。遗传算法是一种模拟生物进化寻求最优解的 有效算法,本文通过利用GAbx工具箱实现对控制电机的PID进行参数优化,利用matlab的仿真功能可以观察控制效果。1.直流伺服电机模型1.1物理模型图 i 直流伺服电机的物理模型u:.-电枢输入电压(V)Ra-电枢电阻(门)LS-电枢电感(H)2Uq-感应电动势(V)Tg-电机电磁转矩(N,m)J-转动惯量(kg m)B-粘性阻尼系数(N m s)ig-流过电枢的电流(A)-电机输出的转角(rad)1

2、.2传递函数利用基尔霍夫定律和牛顿第二定律得出电机基本方程并进行拉布拉斯变换Ua(S)-Uq(S)= Ia(s) RaLaS Ia(S)Tg(s) = Js r (s) Bs r (S)Tg(s)二Ia(s) Ktr=FiUq(s)二KeS V(s)KGJs)二心LKdsKp,Ki,Kd为比例,积分,微分系数s令Kp=15、Ki=0.8、Kd=0.6M文件:J=3.23E-6;B=3.51E-6;Ra=4;La=2.75E-6;Kt=0.03;num= Kt;den=(J*La) (J*Ra)+(La*B) (B*Ra)+Kt*Kt) 0;t=0:0.001:0.2;step( nu m,de

3、 n, t);Kp=15;Ki=0.8;Kd=0.6;numcf=Kd Kp Ki;de ncf=1 0;numf=conv(numcf,nu m);denf=conv (de ncf,de n);nu mc,de nc=cloop( nu mf,de nf);t=0:0.001:0.04;step( nu mc,de nc,t);matlab进行仿真,我们可以看出不恰当的PID参数并不能使系统达到控制系统的要求,因此需要对PID参数进行优化图 2 直流伺服电机模型方框图消去中间变量得系统的开环传递函数:G(s)Ua(s)Kt(LdS Ra)(Js B) KtKcs系统参数如下:2J = 3.

4、23mg m , B = 3.51uN m s2. PID校正Ra = 4 J La = 2.75uH , Kt= =0.03(N m)A图 3 PID 校正图 4 系统阶跃响应(Kp=15, Ki=0.8 , Kd=0.6)3.遗传算法3.1遗传算法和工具箱简介遗传算法(GA)是基于自然选择和基因遗传学原理的优化搜索方法。它借鉴了达尔 文的进化论和孟德尔的遗传学说。其本质上是一种高效、并行、全局搜索的方法,它能 在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优解。 遗传算法操作使用适者生存的原则, 在潜在的解决方案种群中逐次产生一个近似 最优的方案。在遗传算法的

5、每一代中,根据个体在问题域中的适应度值和从自然遗传学 中借鉴来的再造方法进行个体选择,产生一个新的近似解。在这个过程导致种群中个体 的进化,得到的新个体比原个体更能适应环境,就像自然界中的改造一样。1 1)位吊斜码的参数2) 汁算 H 标甫数值 :厂向适应度值映射 4)适阪度调整圏圏 5 1 遗传算法的工作示意图遗传算法的工作示意图表3.1遗传学和遗传算法中基本用语对照表遗传学遗传算法染色体(Chromosome)解的编码(算法的操作对象)基因(Gene)解中母一分里等位基因(Allele)特性值基因座(Locus)二进制串中位置基因型(Genptype)结构表现型(Phe no type)参

6、数集、候选解个体(In dividual)解适者生存在算法停止时,最优目标值的解有最大可能被留住适应性(Fitness)适应度函数值群体(Population)选定的一组解复制(Reproduction)根据适应度函数值选取的一组解交配(Crossove)通过交配产生一组新解的过程变异(Mutation)编码的某一个分量发生变化的过程英国谢菲尔德大学开发的遗传算法工具箱把参数,选择,交叉,变异等过程封装成函数进行操作,其基本搜索过程不变产生新-代种群再义异选交变12 3确毎实际问题参数策遗传操作結束)表3.2遗传算法工具箱常用函数创建种群crtbase创建基向量crtbp创建任意离散随即种群c

7、rtrp创建实值初始种群(bs2rv )适应度计算ranking常用的基于秩的适应度计算scaling比率适应度计算选择函数reins一致随机和基于适应度的重插入rws轮盘选择select高级选择例程sus随机遍历采样变异算子mut离散变异mutate高级变异函数mutbga实值变异交叉算子recdis离散重组recint中间重组reclin线性重组recmut具有变异特征的线性重组recombine高级重组算子xovdp两点交叉算子xovdprs减少代理的两点交叉xovmp通常多点交叉xovsh洗牌交叉xovshrs减少代理的洗牌交叉xovsp单点交叉xovsprs减少代理的单点交叉子种群的

8、支持migrate在子种群间交换个体实用函数bs2rv二进制串到实值的转换rep矩阵的复制3.2利用遗传算法优化过程1)根据遗传算法优缺点这里选择遗传代数为100,种群大小为30,变量维数为3其中10Kp 20,0Kiw1, 0KcK1,要求精度0.0001所以二进制串编码长度为17故Kp精度为(20-10)/( -1) Ki,Kd精度为(1-0)/(一-1),代沟为0.9,交叉概率为0.6,变异概率为0.01o2)适应度函数的设计PID优化设计的目的是使系统某些性能指标最优,然而,单纯的误差性能指标很难 同时满足系统对快速性、稳定性和鲁棒性的要求,因此在适应度函数中引入超调量、上 升时间和累

9、计绝对误差指标项。设(T=(|yp-yref|/yref)X100%为系统的超调量,yp和yref分 别为输出峰值和输入参考值;t*r为上升时间,将其定义为输出从0第1次达到0.95yref的时间;ek=yk-yref为采样时刻k的输出误差;wj(j=1,2,3)为权重系数。则多目标适应度函 数为:n*f=w+w?tr+曲ek(5)通过对权重系数的调整,可以改变系统对快速性和稳定性的要求。如系统要求较小 的超调,可以适当增大W1;若系统要求快速的动态响应,贝U可以适当增大W2O计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此连续PID控制算法不能直接使用,需要采用离散化方法

10、。在计算机PID控制中,使用的是数字PID控制器。入只k)PIDVfiku(k)utt)1- *绅对象c(t)/ A1H1J vLi+Jc(k) K图 3.2 增量式 PID 控制系统增量式PID控制是数字控制器的输出只是控制器的增量厶U(k)o当执行机构需要的 是控制量的增量时,应采用增量式PID控制,采样时刻点kT(T为采样周期)代表连续 时间t。做如下近似变换来离散化:t=kTtk“ e(te(j )j=0de(t)占占(k)e(k1)kdtT可得离散的PID表达式:增量式PID控制算法:e( k) 2e(Q 1t e k 2)u(k) = kp( e炉e* i片)k i e炉一增量式P

11、ID控制算法不需多次累加,控制增量厶u(k)仅与最近3次得采样有关,所 以误动作时的影响相对较小采样时间取1ms,为获取满意的过渡过程动态特性,采用误差绝对值时间积分性能指标 作为参数选择的目标函数。为防止控制量过大,在目标函数中加入控制输入的平方项。选用下式作为参数选取的最优指标旳2J (0.999 |e(t)| O.OOlu (t)dt 2tue(t)为系统偏差,u(t)为PID控制器输出,人为上升时间。为避免超调了,采用惩罚功能,一旦产生超调,将超调量作为最优指标的一项, 此时最优指标为旳2if e(t) 0 J 二 (0.999 |e(t)| 0.001u2(t) 100|e(t)|)

12、dt - 2tuJ值越小,对应的PID参数越优良。但是,由于GA算法用于求解最大值问题,所 以需要对J做一个简单变形,从而得到算法的适应度函数:1fJk Au( k_ 1)= k e( Q 1 )bkj =0e(j)Tde(k-1e(2)T图 3.3 基于 GA 算法参数调整的 PID 控制系统3)依据遗传算法的步骤编写程序并仿真WFigure 2File Edit View Insert Tools Desktop Window Help aJ -s c X | a 0图 3.4 BestKpKiKd 优化值时的阶跃响应Fgure 1File Edft View Insert Tools D

13、esktop Window Help4 4JS/ 見 00gen图 3.5 J 随进化代数的变化曲线Currentfolder卜ttx Ccmmand Window+| n r.站池卜+ 厂诂申丫 于N N忡仏MATJIB?1 1恤h h thi;thi; WdwWdw iesies D?nD?n oror reaoreao jetrajetra 5iar?d.5iar?d.x xNau*Nau*前TE -舷熾L L 3Et3Et: :脸邮賦:! 脚HEHE训K K乩*.Nste.do:.Nste.do::! ! 唧曲刼驱1 1斜MM胡 QMM doubledoubleSfiirSfiir3Q

14、d3Qd doubledoubleqanqanJ J1 1 jdoubledouble3MdauHe阳率押诞爾g g汕5oejR.Nl.i5jM5oejR.Nl.i5jM泅琳ifdifd - -厢砸IdeiMsjIdeiMsj号咖賦們 与pithpith祸呦doubltdoubltsdl.swrpe.nisdl.swrpe.ni啓出wmnpsirmnpsirjhjDerrjhjDerr:WttiiWttii doubls*doubls* * *()图 3.6 优化得到 BestKpKiKd 及此时的 LeastJ4.程序代码1.GA.m 文件%GA(Generic Algorithm) Pro

15、gram to optimize Parameters of PID clcclear all;close all;% 清除命令,变量,关闭窗口global rin yout timef % 输入,输出,离散时间 %*Initialization*%MAXGEN=100;% 遗传代数NIND=30;% 种群大小NVAR=3;% 变量维数PRECI=17;% 变量精度GGAP=0.9;%代沟 (Generation gap)Pc=0.6; % 交叉概率Pm=0.01;% 变异概率FieldD=PRECI,PRECI,PRECI;10,0,0;20,1,1; 1,1,1;0,0,0;1,1,1;1

16、,1,1; Chrom=crtbp(NIND,NVAR*PRECI);%* Step 1 : Evaluate LeastJ *KpKiKdlsj=bs2rv(Chrom,FieldD);for j=1:1:NIND%各代种群由二进制串转化为实值J=0;KpKiKd=KpKiKdlsj(j,:);KpKiKd,J=pidf(KpKiKd,J);Lsj(j,1)=J;% 计算本代种群中各个个体的目标函数值endOderLsj,IndexLsj=sort(Lsj);genlstj(i)=OderLsj(1);%本代种群中各个个体的目标函数值升序排列% 升序排列中第一个最小,为本代最优BestKpK

17、iKd=KpKiKdlsj(IndexLsj(1),:);%BestKpKiKdLsj=Lsj+1e-10;Msj=1./Lsj;%Avoidi ng devidi ng zero 1*10A(-10)% 设置适应度函数OderMsj,IndexMsj=sort(Msj);genmost=OderMsj(NIND) ;%Arranging fi small to bigger 适应度值升序排列% Let Bestfi=max(fi) 升序中最后一个最大,为本代最优moststring=Chrom(IndexMsj(NIND),:);% 本代中对应最优的 PID 参数%* Step 2 : Se

18、lect and Reproduct Operation*FitnV = ranking(Lsj);% 分配适应度值 (Assign fitness values)SelCh=select(sus,Chrom,FitnV,GGAP); % 选择%* Step 3 : Crossover Operation *for i=1:1:MAXGEN gen(i)=i;% 遗传代数%区域描述器%初始种群SelCh=recombin(xovsp, SelCh,Pc);% 交叉%* Step 4: Mutation Operation *SelCh=mut(SelCh,Pm);% 变异SelCh(NIND,

19、:)=moststring; % 保证交叉后的新种群 Temp2 包含原种群中的最优个体 %*Step 5 :Reinsert Operation*ObjV=FitnV;KpKiKdlsj=bs2rv(SelCh,FieldD);% 计算 ObjVSelfor j=1:1:NINDJ=0;KpKiKd=KpKiKdlsj(j,:);KpKiKd,J=pidf(KpKiKd,J);Lsj(j,1)=J;endLsj=Lsj+1e-10;Msj=1./Lsj;ObjVSel=Msj;Chrom ObjV = reins(Chrom, SelCh, 1, 1, ObjV,ObjVSel);% 重插入endLeastJ=genlstj(MAXGEN)% 最优目标函数值(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论