MATLAB遗传算法PID大作业(共13页).doc
《MATLAB遗传算法PID大作业(共13页).doc》由会员分享,可在线阅读,更多相关《MATLAB遗传算法PID大作业(共13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上遗传算法在调节控制系统参数中的应用【摘要】自动化控制系统多采用PID控制器来调节系统稳定性和动态性,PID的Kp,Ki,Kd参数需要合理选择方能达到目标。遗传算法是一种模拟生物进化寻求最优解的有效算法,本文通过利用GAbx工具箱实现对控制电机的PID进行参数优化,利用matlab的仿真功能可以观察控制效果。1. 直流伺服电机模型1.1物理模型图1 直流伺服电机的物理模型-电枢输入电压() -电枢电阻() -电枢电感(H)-感应电动势() -电机电磁转矩(N) J-转动惯量() B-粘性阻尼系数() -流过电枢的电流(A) -电机输出的转角()1.2传递函数利用基尔霍夫
2、定律和牛顿第二定律得出电机基本方程并进行拉布拉斯变换式中:为电机的转动常数();为感应电动势常数()图2 直流伺服电机模型方框图消去中间变量得系统的开环传递函数:系统参数如下:2. PID校正图3 PID校正 Kp,Ki,Kd为比例,积分,微分系数令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(num,den,t);Kp=15;Ki=0.8;Kd=0.6;numcf=Kd
3、 Kp Ki;dencf=1 0;numf=conv(numcf,num);denf=conv(dencf,den);numc,denc=cloop(numf,denf);t=0:0.001:0.04;step(numc,denc,t);matlab进行仿真,我们可以看出不恰当的PID参数并不能使系统达到控制系统的要求,因此需要对PID参数进行优化。图4 系统阶跃响应(Kp=15,Ki=0.8,Kd=0.6)3. 遗传算法3.1 遗传算法和工具箱简介遗传算法(GA)是基于自然选择和基因遗传学原理的优化搜索方法。它借鉴了达尔文的进化论和孟德尔的遗传学说。其本质上是一种高效、并行、全局搜索的方法,
4、它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优解。遗传算法操作使用适者生存的原则,在潜在的解决方案种群中逐次产生一个近似最优的方案。在遗传算法的每一代中,根据个体在问题域中的适应度值和从自然遗传学中借鉴来的再造方法进行个体选择,产生一个新的近似解。在这个过程导致种群中个体的进化,得到的新个体比原个体更能适应环境,就像自然界中的改造一样。表3.1遗传学和遗传算法中基本用语对照表遗传学遗传算法染色体(Chromosome)解的编码(算法的操作对象)基因(Gene)解中每一分量等位基因(Allele)特性值基因座(Locus)二进制串中位置基因型(Genptype
5、)结构表现型(Phenotype)参数集、候选解个体(Individual)解适者生存在算法停止时,最优目标值的解有最大可能被留住适应性(Fitness)适应度函数值群体(Population)选定的一组解复制(Reproduction)根据适应度函数值选取的一组解交配(Crossover)通过交配产生一组新解的过程变异(Mutation)编码的某一个分量发生变化的过程英国谢菲尔德大学开发的遗传算法工具箱把参数,选择,交叉,变异等过程封装成函数进行操作,其基本搜索过程不变。表3.2 遗传算法工具箱常用函数创建种群crtbase创建基向量crtbp创建任意离散随即种群crtrp创建实值初始种群(
6、bs2rv)适应度计算ranking常用的基于秩的适应度计算scaling比率适应度计算选择函数reins一致随机和基于适应度的重插入rws轮盘选择select高级选择例程sus随机遍历采样变异算子mut离散变异mutate高级变异函数mutbga实值变异交叉算子recdis离散重组recint中间重组reclin线性重组recmut具有变异特征的线性重组recombine高级重组算子xovdp两点交叉算子xovdprs减少代理的两点交叉xovmp通常多点交叉xovsh洗牌交叉xovshrs减少代理的洗牌交叉xovsp单点交叉xovsprs减少代理的单点交叉子种群的支持migrate在子种群间
7、交换个体实用函数bs2rv二进制串到实值的转换rep矩阵的复制3.2 利用遗传算法优化过程1)根据遗传算法优缺点这里选择遗传代数为100,种群大小为30,变量维数为3其中10Kp20,0Ki1, 0Kd1,要求精度0.0001所以二进制串编码长度为17故Kp精度为(20-10)/( -1) Ki,Kd精度为(1-0)/(-1),代沟为0.9,交叉概率为0.6,变异概率为0.01。2)适应度函数的设计PID优化设计的目的是使系统某些性能指标最优,然而,单纯的误差性能指标很难同时满足系统对快速性、稳定性和鲁棒性的要求,因此在适应度函数中引入超调量、上升时间和累计绝对误差指标项。设=(|yp-yre
8、f|/yref)100%为系统的超调量,yp和yref分别为输出峰值和输入参考值;t*r为上升时间,将其定义为输出从0第1次达到0.95yref的时间;ek=yk-yref为采样时刻k的输出误差;wj(j=1,2,3)为权重系数。则多目标适应度函数为: (5)通过对权重系数的调整,可以改变系统对快速性和稳定性的要求。如系统要求较小的超调,可以适当增大w1;若系统要求快速的动态响应,则可以适当增大w2。计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此连续PID控制算法不能直接使用,需要采用离散化方法。在计算机PID控制中,使用的是数字PID控制器。图3.2 增量式PID控制系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 遗传 算法 PID 作业 13
限制150内