粒子群算法优化模糊pid(谷风软件)
- 格式:doc
- 大小:669.50 KB
- 文档页数:5
DCWTechnology Analysis技术分析75数字通信世界2024.03随着近年来科技的不断进步,工业和医疗对科技的要求也越来越高。
在20世纪90年代Pod lubny 提出,将传统PID 控制器引入微分阶次μ和积分阶次λ,增加了FOPID 控制器的控制范围[1-2],控制精度大大提高,在被控对象的控制过程中也可以更加灵活地操作。
相比于传统PID 控制器,FOPID 控制器增加了两个参数,在参数整定方面,FOPID 控制器变得更加复杂。
传统控制中采用整数阶PID 控制器是因为缺少求解分数阶微分方程的数学工具,FOPID 控制器虽然可以解决许多复杂难题,但是参数整定的问题如果不能得到有效解决依然不能得到广泛推广,于是参数整定的问题成为分数阶PID 控制的研究热点。
相比于常见的频域幅值裕量法和主导极点法,采用优化方法可以缩减很多工作量。
优化方法最重要的一环就是获得优化参数,在控制系统的控制过程中正是借用这些参数提升系统性能的,利用粒子群(Particle SwarmOptimization ,PSO )优化算法是当下获取参数运用比较广泛的新型算法。
1 分数阶微积分及分数阶PID控制器1.1 分数阶微积分整数阶微积分通过延伸的方式推出分数阶微积分,只要不是整数阶次的微积分就可以被定义成分数阶微积分。
若想实现多种阶次的微积分也需要依靠分数阶微积分,分数阶微积分的算子能在整数阶微积分算子的基础上拓展得到,表达式如下:(1)式中,为分数阶微积分算子;下限中积分或微分用a 表示;上限中积分或微分用t 表示;阶次用表示。
下面四个公式是分数阶微积分中使用最多的定义。
基于改进粒子群优化算法的分数阶PID控制器李小松,孙志敏(太原科技大学电子信息工程学院,山西 太原 030024)摘要:针对控制系统控制性能不稳定的问题,实践中可在控制系统里设定一种分数阶PID控制器。
相比于整数阶PID控制器,分数阶PID控制器增加了λ和μ两个控制参数,这样可以让控制器在控制过程中拥有更好的性能,但同时也使得参数整定使用更加困难。
模糊pid算法基本原理
模糊PID算法是PID控制算法的一种变种,其基本原理是在
传统PID控制算法的基础上引入了模糊逻辑,以解决传统PID 控制算法在非线性、时变、模型不准确等实际控制问题中的局限性。
模糊PID算法的基本原理可以概括为以下几个步骤:
1. 模糊化:将PID控制中的误差、偏差和变化率等输入量进
行模糊化处理,将连续的实数转化为模糊的语言变量。
通常使用三角形或者梯形的隶属函数进行模糊化。
2. 规则库:建立模糊控制器的规则库,提供一系列的模糊规则,规定了输入变量和输出变量之间的关系。
这些规则基于经验知识和专家判断,模糊规则可以通过专家经验、实验结果、系统模型等方式得到。
3. 模糊推理:根据输入变量通过模糊规则进行推理,得到输出变量的模糊结果。
模糊推理通常使用模糊逻辑与运算和或运算等操作,根据规则库中的模糊规则进行匹配和推理。
4. 解模糊化:将输出变量的模糊结果转化为具体的控制量。
解模糊化是将模糊结果映射到实际的控制量,通常使用模糊加权平均法、模糊加权最大法等常见的解模糊化方法。
5. 输出控制量:将解模糊化后得到的控制量应用于被控对象,通过控制对象的反馈信号进行闭环控制。
通过引入模糊逻辑,模糊PID算法能够有效地应对非线性、时变、模型不准确等问题,提供了更强的适应性和鲁棒性。
但同时,模糊PID算法也增加了计算量和参数调整的难度,需要合适的模糊规则库和解模糊化方法,以及合理的参数选择和调节策略。
基于改进粒子群算法的移相全桥模糊PID控制赵凯;曾涛【期刊名称】《厦门大学学报(自然科学版)》【年(卷),期】2024(63)2【摘要】[目的]为了得到具有良好性能指标的移相全桥(PSFB)控制方案,本文提出了基于改进粒子群算法(IPSO)寻优的模糊比例积分微分(PID)控制方法.[方法]在PSFB的小信号模型基础上,使用模糊控制器改善PID的参数,随后应用自适应惯性权重和压缩因子法优化PSO的全局特性和收敛性,进而计算模糊控制器的比例因子和量化因子,以提高系统的控制效果.在Simulink仿真环境中分别使用常规PID、模糊PID、IPSO优化模糊PID三种方式对移相全桥拓扑进行仿真,并设计了一台100 W的样机,验证所提控制策略的有效性.[结果]仿真结果中,IPSO优化的模糊PID控制相对于常规PID和模糊PID,其调节时间、超调量、稳态误差分别下降79.6%、99.4%、42.9%和40.2%、20%、87.5%;基于TMS320F28034硬件的实验结果中,IPSO优化的模糊比例积分(PI)控制相对于增量式PI和模糊PI,其调节时间、超调量、稳态误差、电压输出纹波分别下降52.4%、56.4%、46.7%、75.0%和12.1%、37.4%、20%、66.7%.[结论]将IPSO应用于PSFB的PID控制,相对于常规PID和模糊PID,具有更高的控制精度、更快的收敛速度、更强的抗干扰能力.【总页数】12页(P259-270)【作者】赵凯;曾涛【作者单位】厦门大学航空航天学院【正文语种】中文【中图分类】TM46【相关文献】1.移相全桥动态模型及自适应模糊PID控制器设计2.模糊自适应PID控制的移相全桥变换器设计与仿真3.模糊PID复合控制的移相全桥ZVS PWM变换器设计研究4.遗传算法优化的移相全桥变换器模糊PID控制因版权原因,仅展示原文概要,查看原文内容请购买。
粒子群算法优化pid参数主程序%% 该文件演示基于TSP-PSO算法clc;clear%% 下载数据data=load('eil51.txt');cityCoor=[data(:,2) data(:,3)];%城市坐标矩阵figureplot(cityCoor(:,1),cityCoor(:,2),'ms','LineWidth',2,'MarkerEdg eColor','k','MarkerFaceColor','g')legend('城市位置')ylim([4 78])title('城市分布图','fontsize',12)xlabel('km','fontsize',12)ylabel('km','fontsize',12)%ylim([min(cityCoor(:,2))-1 max(cityCoor(:,2))+1])grid on%% 计算城市间距离n=size(cityCoor,1); %城市数目cityDist=zeros(n,n); %城市距离矩阵for i=1:nfor j=1:nif i~=jcityDist(i,j)=((cityCoor(i,1)-cityCoor(j,1))^2+...(cityCoor(i,2)-cityCoor(j,2))^2)^0.5;endcityDist(j,i)=cityDist(i,j);endendnMax=200; %进化次数indiNumber=1000; %个体数目individual=zeros(indiNumber,n);%^初始化粒子位置for i=1:indiNumberindividual(i,:)=randperm(n);end%% 计算种群适应度indiFit=fitness(individual,cityCoor,cityDist); [value,index]=min(indiFit);tourPbest=individual; %当前个体最优tourGbest=individual(index,:) ; %当前全局最优recordPbest=inf*ones(1,indiNumber); %个体最优记录recordGbest=indiFit(index); %群体最优记录xnew1=individual;%% 循环寻找最优路径L_best=zeros(1,nMax);for N=1:nMaxN%计算适应度值indiFit=fitness(individual,cityCoor,cityDist);%更新当前最优和历史最优for i=1:indiNumberif indiFit(i)<recordpbest(i)recordPbest(i)=indiFit(i); tourPbest(i,:)=individual(i,:);endif indiFit(i)<recordgbest recordGbest=indiFit(i);tourGbest=individual(i,:);endend[value,index]=min(recordPbest); recordGbest(N)=recordPbest(index);%% 交叉操作for i=1:indiNumber% 与个体最优进行交叉c1=unidrnd(n-1); %产生交叉位c2=unidrnd(n-1); %产生交叉位while c1==c2c1=round(rand*(n-2))+1;c2=round(rand*(n-2))+1;endchb1=min(c1,c2);chb2=max(c1,c2);cros=tourPbest(i,chb1:chb2); ncros=size(cros,2);%删除与交叉区域相同元素for j=1:ncrosfor k=1:nif xnew1(i,k)==cros(j)xnew1(i,k)=0;for t=1:n-ktemp=xnew1(i,k+t-1);xnew1(i,k+t-1)=xnew1(i,k+t);xnew1(i,k+t)=temp;endendendend%插入交叉区域xnew1(i,n-ncros+1:n)=cros;%新路径长度变短则接受dist=0;for j=1:n-1dist=dist+cit</recordgbest</recordpbest(i)yDist(xnew1(i,j),xnew1(i,j+1));enddist=dist+cityDist(xnew1(i,1),xnew1(i,n)); if indiFit(i)>distindividual(i,:)=xnew1(i,:);end% 与全体最优进行交叉c1=round(rand*(n-2))+1; %产生交叉位c2=round(rand*(n-2))+1; %产生交叉位while c1==c2c1=round(rand*(n-2))+1;c2=round(rand*(n-2))+1;endchb1=min(c1,c2);chb2=max(c1,c2);cros=tourGbest(chb1:chb2);ncros=size(cros,2);%删除与交叉区域相同元素for j=1:ncrosfor k=1:nif xnew1(i,k)==cros(j)xnew1(i,k)=0;for t=1:n-ktemp=xnew1(i,k+t-1);xnew1(i,k+t-1)=xnew1(i,k+t);xnew1(i,k+t)=temp;endendendend%插入交叉区域xnew1(i,n-ncros+1:n)=cros;%新路径长度变短则接受dist=0;for j=1:n-1dist=dist+cityDist(xnew1(i,j),xnew1(i,j+1)); enddist=dist+cityDist(xnew1(i,1),xnew1(i,n)); if indiFit(i)>distindividual(i,:)=xnew1(i,:);end%% 变异操作c1=round(rand*(n-1))+1; %产生变异位c2=round(rand*(n-1))+1; %产生变异位while c1==c2c1=round(rand*(n-2))+1;c2=round(rand*(n-2))+1;endtemp=xnew1(i,c1);xnew1(i,c1)=xnew1(i,c2);xnew1(i,c2)=temp;%新路径长度变短则接受dist=0;for j=1:n-1dist=dist+cityDist(xnew1(i,j),xnew1(i,j+1)); enddist=dist+cityDist(xnew1(i,1),xnew1(i,n)); if indiFit(i)>distindividual(i,:)=xnew1(i,:);endend[value,index]=min(indiFit);L_best(N)=indiFit(index);tourGbest=individual(index,:);end%% 结果作图figureplot(L_best)title('算法训练过程')xlabel('迭代次数')ylabel('适应度值')grid onfigurehold onplot([cityCoor(tourGbest(1),1),cityCoor(tourGbest(n),1)],[city Coor(tourGbest(1),2),...cityCoor(tourGbest(n),2)],'ms-','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g') hold onfor i=2:nplot([cityCoor(tourGbest(i-1),1),cityCoor(tourGbest(i),1)],[cityCoor(tourGbest(i-1),2),...cityCoor(tourGbest(i),2)],'ms-','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g') hold onendlegend('规划路径')scatter(cityCoor(:,1),cityCoor(:,2));title('规划路径','fontsize',10)xlabel('km','fontsize',10)ylabel('km','fontsize',10)grid onylim([4 80])。
粒子群算法自寻优模糊PID控制器设计杨洋;张秋菊【摘要】针对常规模糊PID控制器的控制规则和控制参数固定不变而降低了系统自适应能力的问题,提出了一种基于粒子群算法寻优的方法对模糊控制器进行寻优.通过改变模糊控制器的3个尺度系数(Ke、Kec、Ku),可以改变不同阶段系统的误差以及误差变化率所对应的权重.以ITAE指标作为粒子群寻优的目标函数,可以保证系统的快速响应性、超调量、调节时间以及稳态误差等.通过在Matlab下建立交流永磁同步电机(PMSM)模型,对其仿真分析表明:粒子群算法自寻优模糊PID控制器有着更优越的控制性能.【期刊名称】《机械制造与自动化》【年(卷),期】2018(047)003【总页数】4页(P201-204)【关键词】模糊PID控制;粒子群算法;参数自寻优【作者】杨洋;张秋菊【作者单位】江南大学机械工程学院,江苏无锡214122;江苏省食品先进制造装备技术重点实验室,江苏无锡214122;江南大学机械工程学院,江苏无锡214122;江苏省食品先进制造装备技术重点实验室,江苏无锡214122【正文语种】中文【中图分类】TP2710 引言近年来,随着“工业4.0”的提出,工业伺服控制领域向着智能化方向发展。
部分厂家已经将参数自寻优自适应功能作为开发新一代伺服控制器的必备功能[1]。
目前,市场上的伺服控制器通常采用PID控制方法,PID控制器的参数整定问题又是伺服控制的难点问题[2-4]。
不少学者将智能控制与传统的PID控制方法相结合来实现控制系统的智能化,使之具有自寻优、自适应的能力。
目前,智能控制策略主要是基于模糊控制理论、神经网络控制以及遗传算法理论等[5-7]。
模糊控制理论诞生以来应用于许多领域,取得了良好的控制效果[8]。
自从1974年第一台模糊控制器[9]诞生以来,人们对模糊控制器投入了极大的研究热情,并已经得到了广泛的研究和应用[10]。
然而模糊PID控制也有其缺点,它过分地依赖于专家经验而无法满足特殊条件下的抗干扰能力。
2020年4月计算机工程与设计Apr.2020第41卷第4期COMPUTER ENGINEERING AND DESIGN Vol.41No.4基于改进粒子群算法的PID控制参数优化张继荣,张天+(西安邮电大学通信与信息工程学院,陕西西安710061)摘要:针对粒子群优化算法(particle swarm optimization algorithm,PSO)后期易陷入局部最优解这一缺陷,提出一种惯性权重余弦调整的粒子群优化算法(IWCPSO)。
在迭代过程中对惯性权重引入余弦变化,改善迭代后期的不足,提高算法的精度。
在matlab2016仿真环境下,与Ziegler-Nichols(ZN)公式法和惯性权重正弦调整的粒子群优化算法(SIPSO)在PID控制参数优化方面的应用效果对比得出该算法是一种使得PID控制系统响应函数性能指标更好,整定结果更精确的算法。
关键词:惯性权重;余弦调整;粒子群;优化算法;PID控制器参数整定中图法分类号:TP18;TP301.6文献标识号:A文章编号:1000-7024(2020)04-1035-06doi:10.16208/j.issnl000-7024.2020.04.023Optimization of PID control parameters based on improvedpartide group algorithmZHANG Jirong,ZHANG Tian+(School of Communication and Information Engineering&Xi'an University of Posts and Telecommunications,Xi'an710061,China)Abstract:A particle swarm optimization algorithm(IWCPSO)with cosine adjustment of inertia weight was proposed to solve the problem that PSO is prone to fa l into local optimal solution.In this algorithm,cosine change was introduced to the inertia weightduringtheiterationprocess,whichobviouslyimprovedthedeficiencyinthelateriterationandimprovedtheaccuracyof thealgorithm.Inthematlab2016simulationenvironment,Ziegler-Nichols$ZN)formulamethodandinertiaweightsinusoidal adjustmentparticleswarmoptimizationalgorithm SIPSO)werecomparedinapplicatione f ectsofPIDcontrolparameteroptimi-zation,results show that the proposed algorithm makes the performance index of PID control system response function be t er, andmakesthetuningresultsofthealgorithm moreprecise.Key words:inertia weight;cosine adjustment;particle groups;optimization algorithm;PID parameter alignment2引言PID控制(proportion integration differentiation)是工业控制领域中常用的控制方法之一m。
基于改进粒子群算法的PID控制参数优化
黄训爱;杨光永;樊康生;陈旭东;徐天奇
【期刊名称】《组合机床与自动化加工技术》
【年(卷),期】2024()2
【摘要】针对传统粒子群算法存在收敛速度慢,收敛精度低以及易陷入局部最优的问题,提出了一种融合中垂线策略的中垂线粒子群算法(MAPSO),同时引入惯性权重余弦调整策略,避免算法陷入局部最优。
基于中垂线策略的游离粒子位置更新方法,能够加快粒子的收敛速度,从而增强算法的寻优速度和寻优精度。
将改进的粒子群算法用于PID控制器参数优化,与Ziegler-Nichols(Z-N)公式法、线性递减惯性权重粒子群优化算法(MeanPSO)进行对比实验,结果表明中垂线粒子群算法精度更高,能够快速地整定PID参数,使控制系统响应函数性能指标更好。
【总页数】5页(P89-92)
【作者】黄训爱;杨光永;樊康生;陈旭东;徐天奇
【作者单位】云南民族大学电气信息工程学院
【正文语种】中文
【中图分类】TH165;TG659
【相关文献】
1.改进粒子群算法在湿法烟气脱硫系统PID控制参数优化中的应用
2.基于改进粒子群算法的主汽温控制系统PID参数优化
3.基于改进粒子群算法的PID控制器参
数优化4.一种改进粒子群算法及其在水轮机控制器PID参数优化中的应用5.基于改进粒子群算法的PID控制参数优化
因版权原因,仅展示原文概要,查看原文内容请购买。
基于模糊推理的粒子群优化算法
1 引言
粒子群优化算法(Particle Swarm Optimization,PSO)是一种基
于模糊推理的进化计算策略,它能够有效地优化复杂的多目标和多约
束的数值优化问题。
与基于遗传算法的优化技术相比,PSO算法以其更低的参数调整和便利性而受到越来越多的关注。
然而,针对实际问题,现有粒子群优化算法仍存在一些问题,如较弱的搜索能力和追踪能力等。
2 基于模糊推理的粒子群优化算法
为了解决现有的粒子群优化算法的缺点,将模糊推理引入粒子群
优化算法,以改进搜索能力和追踪能力。
这种新的粒子群优化算法称
为基于模糊推理的粒子群优化算法(Fuzzy Inference Particle Swarm Optimization,FIPSO)。
FIPSO算法将模糊推理用于粒子群优化,可以改善PSO算法的搜索能力和追踪能力。
FIPSO算法首先基于粒子速度和粒子位置计算模糊规则,然后用这些模糊规则对粒子进行加权汇总,最后根据权重更新粒
子的位置和速度。
使用模糊搜索策略的FIPSO算法可以解决以往粒子
群优化算法中难以弥补的搜索能力和追踪能力缺陷。
3 总结
基于模糊推理的粒子群优化算法是进化计算领域的一种重要方法,它能够有效地优化复杂的数值优化问题。
将模糊推理的算法策略应用
于粒子群优化算法,提高了搜索能力和追踪能力,有效地解决了现有
粒子群优化算法中存在的负面问题,受到广泛关注。
粒子群算法自寻优模糊PID控制器设计
杨洋;张秋菊
【期刊名称】《机械制造与自动化》
【年(卷),期】2018(047)003
【摘要】针对常规模糊PID控制器的控制规则和控制参数固定不变而降低了系统自适应能力的问题,提出了一种基于粒子群算法寻优的方法对模糊控制器进行寻优.通过改变模糊控制器的3个尺度系数(Ke、Kec、Ku),可以改变不同阶段系统的误差以及误差变化率所对应的权重.以ITAE指标作为粒子群寻优的目标函数,可以保证系统的快速响应性、超调量、调节时间以及稳态误差等.通过在Matlab下建立交流永磁同步电机(PMSM)模型,对其仿真分析表明:粒子群算法自寻优模糊PID控制器有着更优越的控制性能.
【总页数】4页(P201-204)
【作者】杨洋;张秋菊
【作者单位】江南大学机械工程学院,江苏无锡214122;江苏省食品先进制造装备技术重点实验室,江苏无锡214122;江南大学机械工程学院,江苏无锡214122;江苏省食品先进制造装备技术重点实验室,江苏无锡214122
【正文语种】中文
【中图分类】TP271
【相关文献】
1.自寻优模糊PID控制器的设计与仿真 [J], 冯淑琳;陈家琪
2.粒子群算法自寻优模糊PID控制器设计 [J], 杨洋;张秋菊
3.自寻优自调整模糊PID控制器的设计与仿真 [J], 马祥兴
4.自寻优模糊PID控制器的控制参数和规则 [J], 马祥兴
5.自适应粒子群算法的整定模糊PID控制器的参数优化 [J], 方圆;陈水利;陈国龙因版权原因,仅展示原文概要,查看原文内容请购买。
matlab pid控制粒子群算法摘要:1.引言2.MATLAB 简介3.PID 控制原理4.粒子群算法5.基于粒子群算法的PID 控制器参数优化6.总结与展望正文:1.引言MATLAB 是一种广泛应用于科学计算和工程设计的软件,它具有丰富的函数库和强大的图形功能,可以方便地进行数据分析和可视化。
在控制领域,MATLAB 被广泛应用于各种控制算法的仿真和实现。
本文将介绍如何利用MATLAB 实现基于粒子群算法的PID 控制器参数优化。
2.MATLAB 简介MATLAB 是一种强大的数学软件,由美国MathWorks 公司开发。
它集成了丰富的工具箱和函数库,可以进行各种数学计算、数据分析和可视化。
MATLAB 具有强大的矩阵运算能力,可以方便地进行向量、矩阵和方程组的计算。
3.PID 控制原理PID 控制器是一种广泛应用于工业控制系统的闭环控制器,它的原理是根据系统的误差信号(设定值与测量值之差)来调整控制器的输出,从而使系统的输出接近设定值。
PID 控制器的主要参数包括比例系数、积分时间和微分时间。
4.粒子群算法粒子群算法(Particle Swarm Optimization, PSO)是一种起源于自然界鸟群觅食行为的优化算法。
它通过模拟鸟群的觅食过程,来寻找最优解。
粒子群算法的主要参数包括粒子群大小、学习因子、惯性权重和搜索范围。
5.基于粒子群算法的PID 控制器参数优化在工业控制系统中,PID 控制器的参数整定是一个关键的问题。
传统的参数整定方法通常需要依靠经验和试错,费时费力。
而基于粒子群算法的PID 控制器参数优化,可以自动地找到最优的参数组合,从而提高控制系统的性能。
具体实现过程如下:(1)确定优化目标:选择合适的性能指标,如系统响应速度、超调量等。
(2)初始化粒子群:随机生成一定数量的粒子,每个粒子代表一种参数组合。
(3)评估粒子群:计算每个粒子的性能指标,并根据结果更新粒子的速度和位置。
基于改进粒子群算法的PID控制器优化设计作者:庄石榴王爱元来源:《科学与财富》2018年第17期摘要:PID控制器是根据PID控制原理对整个控制系统进行偏差调节,从而使被控变量的实际值与工艺要求的预定值一致。
不同的控制规律适用于不同的生产过程,必须合理选择相应的控制规律,否则PID控制器将达不到预期的控制效果。
目前,PID控制器参数主要是人工调整,这种方法不仅费时,而且不能保证获得最佳的性能。
粒子群算法已经广泛应用于函数优化、神经网络训练、模糊系统控制以及其他应用领域,本文通过改进粒子群算法对PID控制器进行优化设计。
关键词:改进粒子群算法;PID控制器;优化设计(一). PID控制器原理PID 控制器是一个在工业控制应用中常见的反馈回路部件[1-2],其应用范围非常广泛。
它的一般形式如下:分别是对系统误差信号及其积分与微分量的加权。
控制器通过KP,Ki,Kd就能够计算出控制信号来驱动受控对象。
如果控制器的设计合理,那么控制信号将会使得误差往减小的方向变化,达到最终控制的要求。
PID控制器的系统结构如图1所示。
PID控制器的优化问题就是确定一组合适的参数KP,Ki,Kd,使得指标达到最优。
本文选用ITAE指标作为最终的最优化目标。
(二). PID控制器模型的建立在simulink中搭建PID控制器模型,如图2所示。
本文选取的被控对象为以下不稳定系统:(三). 改进粒子群算法优化改进粒子群算法[3-4]中粒子在搜索空间中的速度和位置以如下公式更新:通过在matlab中编制程序,种群规模设置为400,最大迭代次数为200,最小适应值为0.2,速度范围为[-1,1]。
运行程序得到最优控制参数分别为KP=33.6470,Ki=0.1762,Kd=38.7880,性能指标如图3所示,ITAE=1.05。
(四).结论本文通过改进粒子群算法来优化PID控制器,优化时间大大缩减,优化效果大为提升,实验仿真结果我们可以从中得到,改进的粒子群算法使其全局搜索能力得到了提高与改善,其收敛速度和寻优速度也得到增强。
2017年软 件2017, V ol. 38, No. 11基金项目: 辽宁省教育厅科学研究项目资助(NO. LYB201617);国家自然科学基金项目资助(61472169);辽宁省教育厅科学研究一般项目资助(NO. L2015204)作者简介:董楠楠,(1981-),女,山东,汉族,硕士研究生,研究方向:数据库和模式识别等;夏天,(1988-),男,硕士研究生,研究方向:数据库和模式识别等;王长海(1995-),本科,研究方向:计算机科学与技术。
基于粒子群优化算法对PID 参数的优化整定董楠楠,夏 天,王长海(辽宁大学信息学院,辽宁 沈阳 110035)摘 要: 本文首先介绍了PID 控制器,在此基础上提出了一种基于智能群算法对PID 控制器的比例、积分、微分三个参数进行优化整定的改进PSO 算法,并利用Mat lab 对 PID 工业控制器进行模拟仿真,利用仿真曲线进行直观的对比。
通过与标准PSO 优化算法及常规的Z-N 整定法的比较,结果表明基于改进PSO 算法对PID 的整定方法不仅能快速的从全局搜索出优化的整定参数,而且也能够大大地提升整定效果。
实验结果也表明该算法具体良好的收敛速度和稳定性,是一种具有高控制精度、高稳定性和快速性的PID 整定算法。
关键词: 群智能算法;改进PSO 算法;惯性权重;学习因子;PID 控制器;参数整定 中图分类号: TM306;TP18 文献标识码: A DOI :10.3969/j.issn.1003-6970.2017.11.013本文著录格式:董楠楠,夏天,王长海. 基于粒子群优化算法对PID 参数的优化整定[J]. 软件,2017,38(11):67-70An Improved Particle Swarm Optimization Approach forOptimum Tuning of PID ControllerDONG Nan-nan, XIA Tian, WANG Chang-hai(College of information,Liaoning University,Shenyang 110035, China )【Abstract 】: We have firstly introduced the PID controller, and proposed an improved particle swarm optimization approach based on swarm intelligent algorithm for the three parameters of PID optimum tuning, and we have used the Matlab for visual comparison with the simulation curve to compare our algorithm with the standard PSO algorithm and conventional Z-N tuning method. The result shows that the improved PSO algorithm can not only rapidly find the global search optimization, but also can greatly enhance the optimum effect and it is an algorithm with good conver-gence speed and stability, it is also a good PID tuning algorithm with high control precision, high stability and rapidity. 【Key words 】: Swarm intelligence algorithm; Improved PSO algorithm; Inertia weigh; Learning factor; PID con-troller; Optimum design0 引言如今对于工程生产过程中的设备来说,其中的某个或某些部件发生损坏后,整台设备甚至整个生产过程都将陷入瘫痪状态[1],由此造成巨大的经济损失,甚至会危及公众生命安全[2]。
AGV模糊PID控制与多策略粒子群优化的结合AGV模糊PID控制与多策略粒子群优化的结合引言:自动引导车(AGV)作为一种重要的自动化设备,在物流和制造业中广泛应用。
为了提高AGV的导航精度和路径规划能力,本文将结合模糊PID控制和多策略粒子群优化,实现AGV的精准控制与优化路径选择。
第一步:理解AGV模糊PID控制原理1.1 模糊PID控制简介模糊PID控制是一种基于模糊逻辑的控制方法,通过将传统PID控制器的参数进行模糊化处理,使得控制器对于非线性、时变系统有更好的适应性和鲁棒性。
1.2 AGV模糊PID控制实现基于AGV的导航需求,我们可以将AGV的位置、速度等状态变量作为输入,将引导指令作为输出,通过模糊PID控制器中的模糊化、规则库和解模糊化等步骤,实现对AGV的精确控制。
第二步:了解多策略粒子群优化算法2.1 粒子群优化算法简介粒子群优化算法是一种模拟鸟群或鱼群寻找目标的优化算法,通过模拟种群中个体间的信息共享和学习,实现全局最优解的搜索。
2.2 多策略粒子群优化算法多策略粒子群优化算法是对传统粒子群优化算法的改进,引入多种策略和特殊操作,增强算法的搜索能力和收敛速度。
第三步:设计AGV精确控制与路径规划策略3.1 设计模糊PID控制器根据AGV的导航需求和系统特点,设计合适的模糊PID控制器,包括输入变量、输出变量、模糊化过程、规则库的构建和解模糊化等。
3.2 设计多策略粒子群优化算法根据AGV的路径规划需求和环境特点,设计多策略粒子群优化算法,包括粒子群的初始化、适应度函数的定义、速度和位置的更新策略等。
第四步:将模糊PID控制与多策略粒子群优化结合4.1 建立AGV模糊PID控制与多策略粒子群优化的联合模型将模糊PID控制器的输出作为多策略粒子群优化算法的目标函数,实现模糊PID控制与路径规划的协同优化。
4.2 优化路径选择与控制参数调整通过多次迭代优化,得到最优的路径选择和控制参数,实现AGV的高精度导航和路径规划。
(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 201910338682.X(22)申请日 2019.04.25(71)申请人 南京航空航天大学地址 210000 江苏省南京市御道街29号申请人 南京长空科技有限公司 南京浦口高新技术产业开发区管理委员会(72)发明人 李志宇 宋一可 展凤江 宋彦国 王从庆 孙占杰 郭剑东 高艳辉 (74)专利代理机构 南京理工大学专利中心32203代理人 朱宝庆(51)Int.Cl.G05D 1/08(2006.01)G05B 13/04(2006.01)G05B 11/42(2006.01)(54)发明名称改进粒子群算法优化模糊PID无人直升机姿态控制方法(57)摘要本发明提供了一种改进粒子群算法优化模糊PID无人直升机姿态控制方法,包括以下步骤:步骤1,根据机理建模方法得到的无人直升机的动力学和运动学模型设计模糊PID姿态控制器,利用控制器对期望姿态角和实际姿态角的误差、误差变化率进行控制得到模糊PID姿态控制器的参数调整量;步骤2,采用改进粒子群算法对模糊PID姿态控制器中的量化因子和比例因子进行优化;步骤3,将优化后的量化因子和比例因子赋值给模糊PID姿态控制器。
权利要求书2页 说明书4页 附图5页CN 109947124 A 2019.06.28C N 109947124A1.一种改进粒子群算法优化模糊PID无人直升机姿态控制方法,其特征在于,包括以下步骤:步骤1,根据机理建模方法得到的无人直升机的动力学和运动学模型设计模糊PID姿态控制器,利用控制器对期望姿态角和实际姿态角的误差、误差变化率进行控制得到模糊PID 姿态控制器的参数调整量;步骤2,采用改进粒子群算法对模糊PID姿态控制器中的量化因子和比例因子进行优化;步骤3,将优化后的量化因子和比例因子赋值给模糊PID姿态控制器。
2.根据权利1要求所述的方法,其特征在于,选用无人直升机期望姿态角和实际姿态角的误差及其误差变化率作为PID姿态控制器的输入变量,将模糊PID姿态控制器的参数调整量Δk p 、Δk i 、Δk d 作为输出变量,其中Δk p 、Δk i 、Δk d 分别是比例P、积分I、微分D对应的三个参数k p 、k i 、k d 的变化量。
it软件#
1
本文选取常见的二阶惯性加纯滞后环节,传递函数为:
)1)(1(21sTsT
e
G
s
s
在这里,3.0,2,,121TT PID参数取为2,1,2idpKKK
本设计中的模糊控制器采用两输入(e, ec),三输出(P,I,D)的形式来调整
PID参数。e的论域为[-3,3],ec的论域为[-3,3]。推理机使用
{,,,,,,}NBNMNSOPSPMPB
,表示{负大,负中,负小,零,正小,正中,正大}
为了可以调节尽可能多的系统,此控制器选定在负边界处和正边界处分别选用平
滑连续的Z型隶属度函数和S型隶属度函数,在中间部分采用灵敏度较强的三角
形隶属度函数。规则表如下图所示:
(1)主程序:
clear
clc
%% 参数设置
w = 0.6; % 惯性因子
c1 = 1.414; % 加速常数
c2 = 1.623; % 加速常数
Dim = 5; % 维数
SwarmSize = 100; % 粒子群规模
ObjFun = @PSO_PID; % 待优化函数句柄
MaxIter = 100; % 最大迭代次数
MinFit = 0.01; % 最小适应值
Vmax = 2;
Vmin =-2;
Ub = [20 50 1 1 1];
Lb = [0 0 0 0 0];
%% 粒子群初始化
Range = ones(SwarmSize,1)*(Ub-Lb);
Swarm = rand(SwarmSize,Dim).*Range + ones(SwarmSize,1)*Lb; % 初始化粒子群
it软件#
1
VStep = rand(SwarmSize,Dim)*(Vmax-Vmin) + Vmin; % 初始化速度
fSwarm = zeros(SwarmSize,1);
for i=1:SwarmSize
fSwarm(i,:) = feval(ObjFun,Swarm(i,:)); % 粒子群的适应值
end
%% 个体极值和群体极值
[bestf,bestindex]=min(fSwarm);
zbest=Swarm(bestindex,:); % 全局最佳
gbest=Swarm; % 个体最佳
fgbest=fSwarm; % 个体最佳适应值
fzbest=bestf; % 全局最佳适应值
%% 迭代寻优
iter = 0;
y_fitness = zeros(1,MaxIter); % 预先产生4个空矩阵
K_p = zeros(1,MaxIter);
K_i = zeros(1,MaxIter);
K_d = zeros(1,MaxIter);
e= zeros(1,MaxIter);
ec = zeros(1,MaxIter);
while( (iter < MaxIter) && (fzbest > MinFit) )
for j=1:SwarmSize
% 速度更新
VStep(j,:) = w*VStep(j,:) + c1*rand*(gbest(j,:) - Swarm(j,:)) + c2*rand*(zbest -
Swarm(j,:));
if VStep(j,:)>Vmax, VStep(j,:)=Vmax; end
if VStep(j,:)
Swarm(j,:)=Swarm(j,:)+VStep(j,:);
for k=1:Dim
if Swarm(j,k)>Ub(k), Swarm(j,k)=Ub(k); end
if Swarm(j,k)end
% 适应值
fSwarm(j,:) = feval(ObjFun,Swarm(j,:));
% 个体最优更新
if fSwarm(j) < fgbest(j)
gbest(j,:) = Swarm(j,:);
fgbest(j) = fSwarm(j);
end
% 群体最优更新
if fSwarm(j) < fzbest
zbest = Swarm(j,:);
fzbest = fSwarm(j);
it软件#
1
end
end
iter = iter+1; % 迭代次数更新
y_fitness(1,iter) = fzbest; % 为绘图做准备
K_p(1,iter) = zbest(1);
K_i(1,iter) = zbest(2);
K_d(1,iter) = zbest(3);
e(1,iter) = zbest(4);
ec(1,iter) = zbest(5);
end
%% 绘图输出
figure(1) % 绘制性能指标ITAE的变化曲线
plot(y_fitness,'LineWidth',2)
title('最优个体适应值', 'fontsize',18);
xlabel('迭代次数','fontsize',18);ylabel('适应值','fontsize',18);
set(gca,'Fontsize',18);
figure(2) % 绘制PID控制器参数变化曲线
plot(K_p)
hold on
plot(K_i,'k','LineWidth',3)
title('Kp、Ki优化曲线','fontsize',18);
xlabel('迭代次数','fontsize',18);ylabel('参数值','fontsize',18);
set(gca,'Fontsize',18);
legend('Kp','Ki',1);
figure(3) % 绘制PID控制器参数变化曲线
plot(e)
hold on
plot(ec,'k','LineWidth',3)
title('e、ec 优化曲线','fontsize',18);
xlabel('迭代次数','fontsize',18);ylabel('参数值','fontsize',18);
set(gca,'Fontsize',18);
legend('e','ec',1);
figure(4) % 绘制PID控制器参数变化曲线
plot(K_d)
hold on
title('Kd 优化曲线','fontsize',18);
xlabel('迭代次数','fontsize',18);ylabel('参数值','fontsize',18);
set(gca,'Fontsize',18);
legend('Kd',1);
clear
clc
(2)simulnik与算法结合程序
function z=PSO_PID(x)
it软件#
1
assignin('base','Kp',x(1));
assignin('base','Ki',x(2));
assignin('base','Kd',x(3));
assignin('base','e',x(4));
assignin('base','ec',x(5));
[t_time,x_state,y_out]=sim('pca',[0,20]);
z=y_out(end,1);
(3)Simulink仿真图:
实验结果:8446.8,1,20,15ITAEKKKdip,波形如下图所示。
实验结论:本次设计使用的是pid,粒子群算法模糊pid,粒子群算法模糊smith pid相结合,
仿真波形如下图所示。黄色的是pid波形,红色的是粒子群算法模糊pid,蓝色的是粒子群
算法模糊smith pid。从图中明显的可以看出加入粒子群算法模糊控制后波形超调量减少,调
节时间缩短;在加入smith后波形有了明显的改善。