基于遗传算法的PID整定原理及matlab仿真程序

合集下载

用遗传算法实现PID参数整定

用遗传算法实现PID参数整定

控制理论与应用Control Theory and Applications《自动化技术与应用》2004年第23卷第7期用遗传算法实现PID 参数整定万佑红1,李新华2(1.南京邮电学院电子工程系,江苏 南京 210003; 2.安徽大学电子工程系,安徽 合肥 230001)摘要:PI D 参数整定一直是控制领域中的重要研究问题。

本文在M AT LAB 平台上将遗传算法应用于PI D 参数的自动整定,算法实例仿真取得了良好的效果,为PI D 参数整定方法提供了一种新的尝试。

关键词:PI D 参数;遗传算法中图分类号:TP27312 文献标识码:A 文章编号:100327241(2004)0720007202PID Tu nin g Bas e d O n Ge netic Alg orit h m sWAN You -hong 1,LI Xin -hua 2(1.E lectronics Department of Nanjing University of P osting T echnology ,Nanjing 210003,China ;2.E lectronics Department of AnHui University ,Hefei 230001,China )Abstract :A new method to s olve the tuning of PI D paramrters is proposed in this paper.I t is showed that g ood control effect can be obtained by usingG enetic Alg orithms (G A ).K ey w ords :PI D paramrters ;G A1 引言PI D 控制无需知道被控对象的数学模型,算法简单,鲁棒性好且可靠性高,因此成为一种获得广泛应用的控制策略。

基于MATLAB的PID控制器参数整定及仿真

基于MATLAB的PID控制器参数整定及仿真

基于MATLAB的PID控制器参数整定及仿真摘要: PID控制器结构和算法简单应用广泛,但参数整定方法复杂,通常用凑试法来确定。

文中探讨利用MATLAB实现PID参数整定及仿真的方法,并分析、比较比例控制、比例积分控制和比例微分控制,探讨了Kp, Ti, Td 3个参数对PID 控制规律的影响。

关镇词: MATLAB ; PID控制器;参数整定;仿真Parameter tuning and emulation of PID controller based on MATLAB Ahstratct; The control structure and algorithm of PID is easy and widely applicable,but its setting meth-ods of parameter are multifarious. Generally utilize guessing and trying to fix. This artical is convenient to tune PID parameters and emulate through MATLAB experiment. Analyze and compare the proportion control, the proportion integral control and the proportion differential control. Discuss the influence of three parameters KP ,Ti and Td to the PID control rules.Key words ; MATLAB;PID controller; parameter tuning; emulation引言PID控制器又称为PID调节器,是按偏差的比例P( Proportional )、积分I(Integxal)、微分D ( Differential orDerivative)进行控制的调节器的简称,它主要针对控制对象来进行参数调节。

基于遗传算法的PID整定

基于遗传算法的PID整定

PID控制是工业过程控制中应用最广的策略之一,因此PID控制器参数的优化成为人们关注的问题,它直接影响控制效果的好坏,并和系统的安全、经济运行有着密不可分的关系。

目前PID参数的优化方法有很多,如间接寻优法、梯度法、爬山法等,而在热工系统中单纯形法专家整定法则应用较广。

虽然这些方法都具有良好的寻优特性,但存在着一些弊端,单纯形法对初值比较敏感,容易陷入局部最优化解,造成寻优失败。

专家整定法则需要太多的经验,不同的目标函数对应不同的经验,而整理知识库则是一项长时间的工程。

因此我们选取了遗传算法来进行参数寻优,该方法是一种不需要任何初始信息并可以寻求全局最优解的、高效的优化组合方法。

采用遗传算法进行PID三个系数的整定,具有以下优点:(1)与单纯形法相比,遗传算法同样具有良好的寻优特性,且克服了单纯形法参数初值的敏感性。

在初始条件选择不当的情况下,遗传算法在不需要给出调节器初始参数的情况下,仍能寻找到合适的参数,使控制目标满足要求。

同时单纯形法难以解决多值函数问题以及在多参数寻优(串级系统)中,容易造成寻优失败或时间过长,而遗传算法的特性决定了它能很好地客服以上问题。

(2)与专家整定相比,它具有操作方便、速度快的优点,不需要复杂的规则,只通过字串进行简单地复制、交叉、变异,便可达到寻优。

避免了专家整定法中前期大量的知识库整理工作及大量的仿真实验。

(3)遗传算法是从许多点开始并行操作,在解空间进行高效启发式搜索,克服了从单点出发的弊端及搜索的盲目性,从而使寻优速度更快,避免了过早陷入局部最优解。

(4)遗传算法不仅适用于单目标寻优,而且也适用于多目标寻优,根据不同的控制系统,针对一个或多个目标,遗传算法均能在规定的范围内寻找到合适参数。

遗传算法作为一种全局优化算法,得到越来越广泛的应用。

近年来,遗传算法在控制上的应用日益增多。

二、基于遗传算法的PID整定原理1、参数的确定及表示首先确定参数范围,该范围一般是由用户给定,然后由精度的要求,对其进行编码。

控制系统pid参数整定方法的matlab仿真

控制系统pid参数整定方法的matlab仿真

控制系统PID参数整定方法的MATLAB仿真1. 引言PID控制器是一种常见的控制算法,广泛应用于自动控制系统中。

其通过调节三个参数:比例增益(Proportional gain)、积分时间常数(Integral time constant)和微分时间常数(Derivative time constant),实现对被控对象的稳态误差、响应速度和稳定性等性能指标的调节。

PID参数的合理选择对控制系统的性能至关重要。

本文将介绍PID控制器的经典整定方法,并通过MATLAB软件进行仿真,验证整定方法的有效性。

2. PID控制器的整定方法2.1 手动整定法手动整定法是根据经验和试错法来选择PID参数的方法。

具体步骤如下:1.将积分时间常数和微分时间常数设为零,仅保留比例增益,将比例增益逐渐增大直至系统产生较大的超调现象。

2.根据超调响应的情况,调整比例增益,以使系统的超调量接近所需的范围。

3.逐步增加微分时间常数,观察系统的响应速度和稳定性。

4.增加积分时间常数,以减小系统的稳态误差。

手动整定法的优点是简单易行,但需要经验和反复试验,对控制系统要求较高。

2.2 Ziegler-Nichols整定法Ziegler-Nichols整定法是一种基于试探和试错法的自整定方法,该方法通过调整系统的输入信号,观察系统的输出响应,从而确定PID参数。

具体步骤如下:1.将I和D参数设为零,仅保留P参数。

2.逐步增大P参数,直到系统的输出出现大幅度的振荡。

3.记录下此时的P参数值,记为Ku。

4.根据振荡的周期Tp,计算出系统的临界增益Kc = 0.6 * Ku。

5.根据系统的类型选择相应的整定法则:–P型系统:Kp = 0.5 * Kc,Ti = ∞,Td = 0–PI型系统:Kp = 0.45 * Kc,Ti = Tp / 1.2,Td = 0–PID型系统:Kp = 0.6 * Kc,Ti = Tp / 2,Td = Tp / 82.3 Cohen-Coon整定法Cohen-Coon整定法是基于频域曲线拟合的方法,主要应用于一阶和二阶系统的整定。

基于遗传算的PID参数优化及MATLAB实现

基于遗传算的PID参数优化及MATLAB实现

引言PID操纵器结构简单且鲁棒性强,在操纵领域一直被普遍应用。

运算机的进展为在线辩识提供了条件,从而也为在线整定PID参数提供了可能。

PID操纵是工业进程中应用最普遍的策略之一,因此PID 操纵器参数的优化成为人们关注的问题,它直接阻碍操纵成效的好坏,并和系统的平安、经济运行有着密不可分的关系。

目前PID参数的优化方式很多,如:间接寻优法,梯度法,登山法等,而在热工系统中单纯形法、专家整定法那么应用普遍。

尽管二者都具有良好的寻优特性,但却存在一些短处,单纯刑法对初值比较灵敏,容易陷入局部最优解,造成寻优失败。

专家整定法那么需要太多体会,不同的目标函数对应不同的体会,而整理知识库是一项长时刻的工程。

因此咱们选取遗传算法来进行参数寻优,该方式是一种不需要任何初始信息并能够寻求全局最优解的高效的优化组合方式。

第一章:遗传算法和PID操纵原理简介一遗传算法简介大体原理遗传算法是依照生物进化的模型提出的一种优化算法。

遗传算法是从代表问题可能潜在解集的一个群组(popuation)开始的,而一个种群那么由通过基因(gene)编码(coding)的必然数量的个体(individual)组成。

每一个个体事实上是染色体(chromosome)带有特点的实体。

染色体作为遗传物质的要紧载体,即多个基因组合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现。

因此,在一开始需要实现从表现型到基因型的映射即编码工作。

由于仿照基因编码的工作很复杂,咱们往往进行简化,如二进制编码。

初代种群产生以后,依照适者生存和优胜劣汰的原理,逐代(genetation)演化产生出愈来愈好的近似解。

在每一代,依照问题域中个体的适应度(fitness)大小挑选(selection)个体,并借助于自然遗传学的遗传算子(genetic operator)进行组合交叉.(crossover)和变异(mutation),产生出代表新的解集的种群。

基于遗传算法的PID整定原理及matlab仿真程序

基于遗传算法的PID整定原理及matlab仿真程序

%GA(Generic Algorithm) Program to optimize PID Parameters clear all;close all;global rin yout timefSize=30;CodeL=3;MinX(1)=zeros(1);MaxX(1)=20*ones(1);MinX(2)=zeros(1);MaxX(2)=*ones(1);MinX(3)=zeros(1);MaxX(3)=*ones(1);Kpid(:,1)=MinX(1)+(MaxX(1)-MinX(1))*rand(Size,1);Kpid(:,2)=MinX(2)+(MaxX(2)-MinX(2))*rand(Size,1);Kpid(:,3)=MinX(3)+(MaxX(3)-MinX(3))*rand(Size,1);G=100;BsJ=0;%*************** Start Running ***************for kg=1:1:Gtime(kg)=kg;%****** Step 1 : Evaluate BestJ ******for i=1:1:SizeKpidi=Kpid(i,:);[Kpidi,BsJ]=chap5_2f(Kpidi,BsJ);BsJi(i)=BsJ;end[OderJi,IndexJi]=sort(BsJi);BestJ(kg)=OderJi(1);BJ=BestJ(kg);Ji=BsJi+1e-10; %Avoiding deviding zerofi=1./Ji;% Cm=max(Ji);% fi=Cm-Ji;[Oderfi,Indexfi]=sort(fi); %Arranging fi small to biggerBestfi=Oderfi(Size); %Let Bestfi=max(fi)BestS=Kpid(Indexfi(Size),:); %Let BestS=E(m), m is the Indexfi belong to max(fi)kgBJBestS%****** Step 2 : Select and Reproduct Operation******fi_sum=sum(fi);fi_Size=(Oderfi/fi_sum)*Size;fi_S=floor(fi_Size); % Selecting Bigger fi valuer=Size-sum(fi_S);Rest=fi_Size-fi_S;[RestValue,Index]=sort(Rest);for i=Size:-1:Size-r+1fi_S(Index(i))=fi_S(Index(i))+1; % Adding rest to equal Sizeendk=1;for i=Size:-1:1 % Select the Sizeth and Reproduce firstlyfor j=1:1:fi_S(i)TempE(k,:)=Kpid(Indexfi(i),:); % Select and Reproducek=k+1; % k is used to reproduceendend%************ Step 3 : Crossover Operation ************Pc=;for i=1:2:(Size-1)temp=rand;if Pc>temp %Crossover Conditionalfa=rand;TempE(i,:)=alfa*Kpid(i+1,:)+(1-alfa)*Kpid(i,:);TempE(i+1,:)=alfa*Kpid(i,:)+(1-alfa)*Kpid(i+1,:);endendTempE(Size,:)=BestS;Kpid=TempE;%************ Step 4: Mutation Operation ************** Pm=[1:1:Size]*/Size; %Bigger fi,smaller PmPm_rand=rand(Size,CodeL);Mean=(MaxX + MinX)/2;Dif=(MaxX-MinX);for i=1:1:Sizefor j=1:1:CodeLif Pm(i)>Pm_rand(i,j) %Mutation Condition TempE(i,j)=Mean(j)+Dif(j)*;endendend%Guarantee TempE(Size,:) belong to the best individualTempE(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’);子程序:function [Kpidi,BsJ]=pid_gaf(Kpidi,BsJ)global rin yout timefts=;sys=tf(400,[1,50,0]);dsys=c2d(sys,ts,’z’);[num,den]=tfdata(dsys,’v’);rin=;u_1=;u_2=;y_1=;y_2=;x=[0,0,0]’;B=0;error_1=0;tu=1;s=0;P=100;for k=1:1:Ptimef(k)=k*ts;r(k)=rin;u(k)=Kpidi(1)*x(1)+Kpidi(2)*x(2)+Kpidi(3)*x(3);if u(k)>=10u(k)=10;endif u(k)<=-10u(k)=-10;endyout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2; error(k)=r(k)-yout(k);%------------ Return of PID parameters -------------u_2=u_1;u_1=u(k);y_2=y_1;y_1=yout(k);x(1)=error(k); % Calculating Px(2)=(error(k)-error_1)/ts; % Calculating Dx(3)=x(3)+error(k)*ts; % Calculating Ierror_2=error_1;error_1=error(k);if s==0if yout(k)>&yout(k)<tu=timef(k);s=1;endendendfor i=1:1:PJi(i)=*abs(error(i))+*u(i)^2*; B=B+Ji(i);if i>1erry(i)=yout(i)-yout(i-1);if erry(i)<0B=B+100*abs(erry(i));endendendBsJ=B+*tu*10;。

基于遗传算法的PID控制器参数优化与仿真研究

基于遗传算法的PID控制器参数优化与仿真研究
模拟PID控制系统的原理框图如下图所示。
分别介绍比例调节器、积分调节器、微分调节器的作用[3]
1)比例调节器:比例调节器对偏差是即时反应的,偏差一旦出现,调节器立即产生控制作用,使输出量朝减小偏差的方向变化,控制作用的强弱取决于比例系数Kp。比例调节器虽然简单快速,但是对系统的响应存在静差。可通过增大Kp值来减小稳定误差并提高系统的动态稳定速度,但是如果取值过大,将可能导致系统不稳定;太小会导致控制精度降低,响应速度减慢,系统的物理特性变坏。
2
PID控制器是一种线性调节器,这种调节器是将系统的给定值r与实际输出值y构成的控制偏差 的比例、积分、微分,通过线性组合构成控制量,所以简称PID控制器。
连续控制系统中的模拟PID控制规律为
(2-1)
式中Kp—比例系数
Ti—积分时间常数
TD—微分时间常数
将上面式子换成传递函数形式, 得:
(2-2)
KEY WORDS:PID control;Genetic algorithm;Parameter optimization;Matlab simulation
0 前言
PID控制是过程控制中广泛应用的一种控制方法。比例、积分、微分的组合决定了PID控制效果,决定了系统能否高效可靠地运行。PID参数整定方法随着PID的大量应用也不断更新。工程上经常使用工程整定法、反应曲线法等,在按照经验公式整定出参数后只需微调即可获得满意的控制性能。但是随着控制要求的不断提高,被控对象越来越复杂,使用常规PID整定方法整定PID参数难以取得令人满意效果,因此PID控制器参数的优化成为人们关注的问题, 它直接影响控制效果的好坏, 并和系统的安全、经济运行有着密不可分的关系。因此,有效的PID参数优化方法已成为迫切的需要。

基于遗传算法整定的PID控制 毕业论文

基于遗传算法整定的PID控制  毕业论文

2010届毕业生毕业论文题目: 基于遗传算法整定的PID控制院系名称:信息科学与工程学院专业班级:电子信息科学与技术学生姓名:学号:指导教师:教师职称:讲师2010年 6 月 2 日摘要PID控制器是在工业过程控制中常见的一种控制器,因此,PID参数整定与优化一直是自动控制领域研究的重要问题。

遗传算法是一种具有极高鲁棒性的全局优化方法,在自控领域得到广泛的应用。

针对传统PID参数整定的困难性,本文提出了把遗传算法运用于PID参数整定中。

本文首先对PID控制的原理和PID参数整定的方法做了简要的介绍。

其次介绍了遗传算法的原理、特点和应用。

再次,本文结合实例阐述了基于遗传算法的PID参数优化方法,采用误差绝对值时间积分性能指标作为参数选择的最小目标函数,利用遗传算法的全局搜索能力,使得在无须先验知识的情况下实现对全局最优解的寻优,以降低PID参数整定的难度,达到总体上提高系统的控制精度和鲁棒性的目的。

最后,本文针对遗传算法收敛速度慢、易早熟等缺点,将传统的赌盘选择法与最优保存策略结合起来,并采用改进的自适应交叉算子和自适应变异算子对PID参数进行迭代寻优整定。

采用MATLAB对上述算法进行仿真验证,仿真结果表明了遗传算法对PID 参数整定的有效性。

关键词:PID;参数控制;遗传算法;MATLABTitle Tuning of PID Parameters Based on Genetic AlgorithmAbstractPID controller is a kind of controller that is usual in industrial process control. Therefore, tuning and optimization of PID parameters are important researchable problems in the automatic control field, where Genetic algorithm is widely used because of the highly robust global optimization ability of it. Aiming at the difficulty of traditional tuning of PID parameter, this paper puts forward a method that genetic algorithm is applied to the tuning of PID parameters.Firstly, the principle of PID control and the methods of tuning of PID parameters are introduced briefly. Secondly, this paper introduces the principle, characteristics and application of genetic algorithm. Thirdly, this article expounds on the methods of tuning of PID parameters based on genetic algorithm with an example. In this paper, the performance index of time integral of absolute error serves as the minimum objective function in the tuning of PID parameters, and the global search ability of genetic algorithm is used, so the global optimal solution is obtained without prior knowledge, and the difficulty of tuning of PID parameter is reduced, so the goal is achieved which is improving the control accuracy and robustness of the system overall. Finally, aiming at the weakness of genetic algorithm, such as the slow convergence of prematurity and precocious, the traditional gambling site selection method and elitist model are united in this paper, and the paper also adopted adaptive crossover operator and adaptive mutation operator to optimize PID parameters iteratively.Use MATLAB to simulate these algorithms, and the simulation results show that PID controller tuning based on genetic algorithm is effective.Keywords: Genetic algorithm; PID control; optimum; MATLAB目次1 引言 (1)1.1 PID控制的发展与现状 (1)1.2 遗传算法的发展与现状 (1)1.3 课题研究背景和意义 (3)1.4 本文主要工作 (3)2 PID控制 (5)2.1 PID控制原理 (5)2.2 PID参数整定 (7)3 遗传算法 (9)3.1 遗传算法基本原理 (9)3.1.1 遗传算法概要 (9)3.1.2 遗传算法的应用步骤 (10)3.2 遗传算法的实现 (11)3.2.1 编码方法 (11)3.2.2 适应度函数 (12)3.2.3 选择算子 (12)3.2.4 交叉算子 (13)3.2.5 变异算子 (14)3.2.6 遗传算法控制参数选取 (14)3.3 遗传算法的仿真验证 (15)4 基于遗传算法的PID参数优化 (18)4.1 总体实现 (18)4.2 具体实现 (19)4.2.1 参数的确定及表示 (19)4.2.2 选取初始种群 (19)4.2.3 适应度函数的确定 (19)4.2.4 选择部分实现 (20)4.2.5 交叉部分实现 (20)4.2.6 变异部分实现 (21)4.3 编译及仿真 (22)4.3.1 编译环境选择 (22)4.3.2 仿真验证及结果分析 (22)5 基于改进遗传算法的PID参数优化 (24)5.1 遗传算法的改进 (24)5.1.1 选择算子的改进 (24)5.1.2 交叉与变异算子的改进 (24)5.2 仿真验证及结果分析 (25)结论 (26)致谢 (27)参考文献 (28)1 引言1.1 PID控制的发展与现状PID控制技术的发展可以分为两个阶段。

matlab模拟中央空调pid遗传算法

matlab模拟中央空调pid遗传算法

一、引言中央空调系统在现代建筑中扮演着至关重要的角色,对空调系统的控制效率和性能要求也越来越高。

PID控制器作为一种经典的控制算法,被广泛应用于中央空调系统中。

而遗传算法作为一种全局搜索和优化的方法,具有一定的优势和应用前景。

MATLAB作为一个功能强大的模拟工具,提供了丰富的工具箱和函数,可以用于模拟和优化中央空调系统的PID控制器参数。

二、MATLAB模拟中央空调PID控制器1. 使用MATLAB进行中央空调系统建模在MATLAB环境中,可以利用Simulink工具箱进行中央空调系统的建模。

建立空调系统的传递函数模型,包括室内外温度传感器、风机、制冷剂循环等部件,以及控制器的输入输出。

这一步可以帮助工程师理解系统的动态特性,并为下一步的控制器设计做准备。

2. 设计PID控制器在MATLAB中,可以利用Control System Toolbox设计PID控制器。

根据已建立的系统模型,利用PID Tuner或者手动调节的方式,得到合适的比例、积分和微分系数,使得系统能够快速、稳定地响应温度变化。

3. 仿真系统响应利用Simulink工具箱对设计的PID控制器进行仿真,观察系统的响应特性。

可以通过改变温度变化输入信号,观察系统的温度响应、控制器输出等参数,并评估PID控制器性能的优劣。

三、遗传算法在PID参数优化中的应用1. 遗传算法原理及优化遗传算法是一种模拟生物进化过程的优化方法,其基本思想是通过种群的选择、交叉和变异等操作,实现对问题的全局搜索和优化。

在PID参数优化中,可以利用遗传算法搜索合适的控制器参数,使得系统的性能指标达到最优。

2. MATLAB中的遗传算法工具MATLAB提供了遗传算法工具箱,可以方便地使用遗传算法对问题进行优化。

用户可以自定义适应度函数、遗传算子等参数,也可以选择内置的优化函数进行快速优化。

3. 将遗传算法与PID控制器相结合通过将遗传算法与PID控制器相结合,可以实现对PID参数的优化。

PID控制算法的matlab仿真

PID控制算法的matlab仿真

PID 控制算法的matlab 仿真PID 控制算法是实际工业控制中应用最为广泛的控制算法,它具有控制器设计简单,控制效果好等优点。

PID 控制器参数的设置是否合适对其控制效果具有很大的影响,在本课程设计中一具有较大惯性时间常数和纯滞后的一阶惯性环节作为被控对象的模型对PID 控制算法进行研究。

被控对象的传递函数如下:()1d sf Ke G s T sτ-=+ 其中各参数分别为30,630,60f d K T τ===。

MATLAB 仿真框图如图1所示。

1Out1Zero-Order HoldTransport Delay30630s+1Transfer FcnStep-K-Kp-K-Ki-K-Kdz (z-1)(z-1)zAdd图12 具体内容及实现功能2.1 PID 参数整定PID 控制器的控制参数对其控制效果起着决定性的作用,合理设置控制参数是取得较好的控制效果的先决条件。

常用的PID 参数整定方法有理论整定法和实验整定法两类,其中常用的实验整定法由扩充临界比例度法、试凑法等。

在此处选用扩充临界比例度法对PID 进行整定,其过程如下:1) 选择采样周期 由于被控对象中含有纯滞后,且其滞后时间常数为60d τ=,故可选择采样周期1s T =。

2) 令积分时间常数i T =∞,微分时间常数0d T =,从小到大调节比例系数K ,使得系统发生等幅震荡,记下此时的比例系数k K 和振荡周期k T 。

3) 选择控制度为 1.05Q =,按下面公式计算各参数:0.630.490.140.014p k i k d k s kK K T T T T T T ====通过仿真可得在1s T =时,0.567,233k k K T ==,故可得:0.357,114.17,32.62, 3.262p i d s K T T T ====0.0053.57p s i i p d d sK T K T K T K T ====按此组控制参数得到的系统阶跃响应曲线如图2所示。

基于MATLAB的PID控制器参数整定及仿真

基于MATLAB的PID控制器参数整定及仿真

基于MATLAB的PID控制器参数整定及仿真PID控制器是一种经典的控制器,在工业自动化控制系统中广泛应用。

其主要功能是根据系统的误差信号,通过调整输出信号的比例、积分和微分部分来减小误差,并达到系统的稳定控制。

PID控制器参数整定是指确定合适的比例常数Kp、积分常数Ki和微分常数Kd的过程。

本文将介绍基于MATLAB的PID控制器参数整定及仿真的方法。

首先,在MATLAB中建立一个包含PID控制器的模型。

可以通过使用MATLAB的控制系统工具箱来实现这一过程。

在工具箱中,可以选择合适的建模方法,如直接设计模型、积分节点模型或传输函数模型。

通过这些工具,可以方便地建立控制系统的数学模型。

其次,进行PID控制器参数整定。

PID控制器参数整定的目标是通过调整比例常数Kp、积分常数Ki和微分常数Kd,使系统的响应特性达到最佳状态。

常用的PID参数整定方法有经验法、试误法、Ziegler-Nichols方法等。

1.经验法:根据系统的特性和经验,选择合适的PID参数。

这种方法常用于初步整定,但可能需要根据实际情况调整参数。

2.试误法:通过逐步试验和调整PID参数,使系统的输出响应逐渐接近期望值,从而达到最佳控制效果。

3. Ziegler-Nichols方法:该方法是一种经典的系统辨识方法,通过测试系统的临界稳定性,得到系统的传递函数参数,并据此计算出合适的PID参数。

最后,进行PID控制器参数整定的仿真。

在MATLAB中,可以通过使用PID模块进行仿真。

可以输入相应的输入信号和初始参数,观察系统的输出响应,并通过调整参数,得到最佳的控制效果。

总结起来,基于MATLAB的PID控制器参数整定及仿真的过程包括:建立控制系统模型、选择PID参数整定方法、进行PID参数整定、进行仿真实验。

PID控制器参数整定的好坏直接影响控制系统的工作性能。

通过基于MATLAB的仿真实验,可以方便地调整和优化控制系统的PID参数,提高系统的响应速度、稳定性和抗干扰性能。

基于MATLAB的PID控制器参数整定及仿真

基于MATLAB的PID控制器参数整定及仿真

基于MATLAB的PID控制器参数整定及仿真基于MATLAB的PID控制器参数整定及仿真摘要:PID控制器结构和算法简单,应⽤⼴泛,但参数整定⽐较复杂,在此我探讨利⽤MATLAB实现PID参数整定及其仿真的⽅法,并分析⽐较⽐例、⽐例积分、⽐例微分控制,探讨K p,T i,T d三个参数对PID控制规律的影响关键字:PID控制器,MATLAB,参数整定,仿真Parameter tuning and emulation of controller based on MATLAB Abstract:The control structure and algorithm of PID is easy and widely applicable,but its setting methods of are multifarious,Generally utilize guessing and trying to fix.It is convenient to tune PID parameters and emulate through MATLAB experiment.Analyze and compare the proportion、the proportion integral and the proportion differential control.Discuss the influence of three parameters K p,Ti and T d to the PID control rules.Key words:PID controller,MATLAB,parameter turning,emulation⼀PID控制的简介及其发展1.1PID控制简介PID(P,proportion⽐例;I,integration积分;D,differentiation)⽤于控制精度,⽐例是必须的,它直接影响精度,影响控制的结果;积分相当于⼒学的惯性能使震荡趋于平缓;微分控制提前量,它相当于⼒学的加速度,影响控制的反应速度,太⼤会导致⼤的超调量使系统极不稳定;太⼩会使反应缓慢。

控制系统pid参数整定方法的matlab仿真实验报告

控制系统pid参数整定方法的matlab仿真实验报告

控制系统pid参数整定方法的matlab仿真实验报告一、引言PID控制器是广泛应用于工业控制系统中的一种常见控制算法。

PID 控制器通过对系统的误差、误差积分和误差变化率进行调节,实现对系统的稳定性和动态性能的控制。

而PID参数的整定是保证系统控制性能良好的关键。

本实验旨在利用Matlab仿真,研究控制系统PID参数整定的方法,探讨不同整定策略对系统稳定性和动态性能的影响,为工程实际应用提供理论依据。

二、控制系统模型本实验采用了以二阶惯性环节为例的控制系统模型,其传递函数为:G(s) = K / (s^2 + 2ξω_ns + ω_n^2)其中,K为系统增益,ξ为阻尼比,ω_n为自然频率。

三、PID参数整定方法实验中我们探讨了几种典型的PID参数整定方法,包括经验法、Ziegler-Nichols方法和遗传算法。

1. 经验法经验法是一种简单粗糙的PID参数整定方法,根据实际系统的性质进行经验性调试。

常见的经验法包括手动调整法和试探法。

在手动调整法中,我们通过调整PID参数的大小,观察系统的响应曲线,从而找到满足系统性能要求的参数。

这种方法需要操作者有一定的经验和直觉,且对系统有一定的了解。

试探法是通过试验和试验的结果来确定PID参数的值。

在试探过程中,我们可以逐渐逼近最佳参数,直到满足系统性能要求。

2. Ziegler-Nichols方法Ziegler-Nichols方法是一种广泛应用的PID参数整定方法。

该方法通过系统的临界增益和临界周期来确定PID参数。

首先,在开环状态下,逐渐增加系统增益,当系统开始出现振荡时,记录下此时的增益值和周期。

然后根据临界增益和临界周期的数值关系,计算出PID参数。

3. 遗传算法遗传算法是一种基于生物进化原理的优化算法,可以用于自动化调整PID参数。

该方法通过对参数的种群进行进化迭代,逐渐找到最优的PID参数。

四、实验结果与分析我们利用Matlab进行了控制系统的PID参数整定仿真实验,并得到了不同整定方法下的系统响应曲线。

基于遗传算法对PID控制器参数的整定

基于遗传算法对PID控制器参数的整定
Abstract:The PID control algorithm has simple structure and strong robustness. It plays a leading role in industrial control. How to set the control parameters of the PID controller is a major problem in the practical application of the PID controller. In this paper,the basic genetic algorithm is used to tune the parameters of the PID controller. The simulation of MATLAB shows that the control effect of the basic genetic algorithm is better than that of the traditional method.
2.2 适配函数的确定
为了获取满意的过渡过程动态特性,采用误差绝对值时 间积分性能指标作为系统控制参数选择的最小目标函数;为 了防止控制能量过大,在目标函数中加入控制输入的平方项, 同时为了避免超调,设置惩罚函数功能,即如果产生超调, 将超调量作为最优指标其中的一项。系统对以上控制目标的 实现具体描述为:
1 PID 控制简介
PID 控制器是一种线性控制器,它根据给定值 r(t)与
实际输出值 y(t)构成控制偏差 e(t):
e(t)=r(t)-y(t)
(1)
将偏差的比例(P)、积分(I)和微分(D)通过线性
组合构成控制量,对被控对象进行控制,故称 PID 控制器。

基于遗传算法的PID整定与研究 本科毕业论文

基于遗传算法的PID整定与研究 本科毕业论文

CHANGZHOU INSTITUTE OF TECHNOLOGY毕 业 设 计 说 明 书题目:基于遗传算法的PID 整定与研究二级学院(直属学部): 延陵学院专业: 自动化 班级: 07自Y学生姓名: 王思凡 学号: 07121222指导教师姓名:张燕红 职称:评阅教师姓名: 职称:2011年 6月KC021-1摘要PID控制是工业过程中应用最为广泛的一种方法,而遗传算法是模拟自然界遗传机制和生物进化论而成的一种并行随机搜索的最优化的方法,它将“优胜劣汰、适者生存”的生物进化原理引入优化参数形成的编码串连的群体中,按照所选择的适配值函数并通过遗传中的复制、交叉及变异对个体进行筛选,使得适配值高的个体被保留下来,组成新的群体,新的群体又继承了上一代的信息,又优于上一代,这样群体中的个体的适应度不断提高,从而得到全局最优解。

通过适应度函数来确定寻优方向,与其他一些常规整定方法相比,遗传算法比较简便,整定精度较高。

本文用遗传算法对PID进行整定与研究,对该系统进行了仿真,实验结果表明该种算法的有效性和优越性,也表明遗传算法是一种简单高效的算法,与传统的PID控制方法相比明显地改善了控制系统的各方面性能。

关键词PID控制;遗传算法;PID参数整定;Matlab;AbstractPID control is the most widely used industrial process in a way, the genetic algorithm is to simulate the genetic mechanisms and biological evolution in nature made of a parallel random search optimization method. It "survival of the fittest" theory of biological evolution optimized the parameters of the introduction of the encoding group in series.According to the adaptive value function which and through the heredity in duplication chooses, overlapping and the variation to the individual carries on screening, causes the adaptive value high individual to retain, forms the new community, the new community has inherited previous generation's information, also surpasses the previous generation, in such community's individual's sufficiency enhances unceasingly, thus obtains the globally optimal solution.Through the sufficiency function definite optimization direction, compares with other conventional installation method, the genetic algorithm is quite simple, the installation precision is high.In this paper, genetic algorithm for tuning PID and study the simulation of the system, experimental results show that the effectiveness and superiority of the kinds of algorithms, but also show that the genetic algorithm is a simple and efficient algorithm, and compared the traditional PID control method significantly improved control over all aspects of system performance.Key words : PID control; genetic algorithm; PID parameter tuning; Matlab目录摘要 (I)Abstract ........................................................................................................................... I I 目录 (III)第1章绪论 ................................................................................................................ - 1 -1.1课题研究背景 ................................................................................................ - 1 -1.2国内外研究现状 ............................................................................................ - 2 -1.3论文主要研究内容、目的和意义 ................................................................ - 5 -第2章PID算法简介 ................................................................................................. - 6 -2.1 PID控制原理................................................................................................. - 6 -2.2 PID控制器的基本用途................................................................................. - 7 -2.3 PID控制器的现实意义................................................................................. - 8 -2.4 PID控制器的参数整定................................................................................. - 8 -2.5本章小结 ...................................................................................................... - 10 -第3章遗传算法的基本理论及研究 ...................................................................... - 11 -3.1遗传算法的概念 .......................................................................................... - 11 -3.2标准遗传算法 .............................................................................................. - 11 -3.3遗传算法的模式定理 .................................................................................. - 12 -3.4标准遗传算法的结构、特点和应用关键 .................................................. - 13 -3.5本章小结 ...................................................................................................... - 16 -第4章基于遗传算法的PID参数整定 ................................................................. - 17 -4.1 Matlab简介.................................................................................................. - 17 -4.2 基于遗传算法PID控制器参数整定设计................................................. - 18 -4.3本章小结 ...................................................................................................... - 19 -第5章基于遗传算法的PID仿真 ......................................................................... - 20 -5.1遗传算法关键步骤的Matlab实现............................................................. - 20 -5.2基于二进制的遗传算法的PID仿真.......................................................... - 22 -5.3基于实数制的遗传算法PID仿真.............................................................. - 27 -5.4本章小结 ...................................................................................................... - 31 -结论 ............................................................................................................................ - 32 -参考文献 .................................................................................................................... - 33 -致谢 ............................................................................................................................ - 36 -附录 ............................................................................................................................ - 37 -第1章绪论1.1课题研究背景PID调节器是最早发展起来的控制策略之一,因为它所涉及的设计算法和控制结构都是简单的,并且十分适用于工程应用背景,此外PID控制方案并不要求精确的受控对象的数学模型,且采用PID控制的控制效果一般是比较令人满意的,所以在工业实际应用中,PID调节器是应用最为广泛的一种控制策略,也是历史最久、生命力最强的基本控制方式。

基于遗传算法的PID整定原理及matlab仿真程序

基于遗传算法的PID整定原理及matlab仿真程序

基于遗传算法的PID整定原理及matlab仿真程序主程序:chap5_2.m%ga(通用算法)程序优化EPID参数;closeall;globalrinyouttimef尺寸=30;codel=3;minx(1)=zeros(1);maxx(1)=20*ones(1);minx(2)=zeros(1);maxx(2)=1.0*ones(1);minx( 3)=zeros(1);maxx(3)=1.0*ones(1);kpid(:,1)=minx(1)+(maxx(1)-minx(1))*rand(大小,1);kpid(:,2)=minx(2)+(maxx(2)-minx(2))*rand(大小,1);kpid(:,3)=minx(3)+(maxx(3)-minx(3))*rand(大小,1);g=100;bsj=0;%***************开始转动***************分叉g=1:1:gtime(kg)=kg;%******步骤1:evaluatebestj****fori=1:1:sizekpidi=kpid(i,:);[kpidi,bsj]=chap5_2f(kpidi,bsj);bsji(i)=bsj;终止[oderji,indexji]=sort(bsji);bestj(kg)=oderji(1);bj=bestj(kg);ji=bsji+1e-10;%避免变零fi=1./ji;%cm=最大值(ji);%fi=cm-ji;[oderfi,indexfi]=排序(fi);%排列Fismalltobiggerbestfi=oderfi(大小);%letbestfi=最大值(fi)bests=kpid(indexfi(size),:);%letbests=e(m),mistheindexfibelongtomax(fi)kgbjbests%******step2:selectandreproductoperation******fi_sum=sum(fi);fi_u大小=(奥德菲/fi_u总和)*大小;fi_s=floor(fi_size);%selectingbiggerfivaluer=size-sum(fi_s);rest=fi_u-size-fi_u-s;[restvalue,index]=sort(rest);fori=尺寸:-1:尺寸-r+1fi_s(index(i))=fi_s(index(i))+1;%addingresttoequalsizeendk=1;fori=size:-1:1%selectthesizethandreproducefirstlyforj=1:1:fi_s(i)tempe(k,:)=kpid(indexfi(i),:);%选择和生产k=k+1;%kisusedtoreproduceendend%************步骤3:交叉操作************pc=0.90;fori=1:2:(1号)温度=rand;ifpc>temp%crossoverconditionalfa=rand;tempe(i,:)=alfa*kpid(i+1,:)+(1-alfa)*kpid(i,:);tempe(i+1,:)=alfa*kpid(i,:)+(1-alfa)*kpid(i+1,:);恩登tempe(size,:)=bests;kpid=tempe;%************步骤4:突变操作***************pm=0.10-[1:1:大小]**(0.01)/size;%biggerfi,smallerpmpm_uurand=rand(大小,代码);平均值=(最大值+最小值)/2;dif=(maxx-minx);fori=1:1:sizeforj=1:1:codelifpm(i)>pm_rand(i,j)%mutationconditiontempe(i,j)=mean(j)+dif(j)*(rand-0.5);endendend%最佳个人温度(尺寸:)=最佳;kpid=tempe;endbestfibestsbest_j=bestj(g)figure(1);情节(时间,bestj);xlabel(’times’);ylabel(’bestj’);figure(2);绘图(timef,rin,'r',timef,yout,'b');xlabel(“时间”);伊拉贝尔(“林,你”);子程序:chap5_2f.m函数[kpidi,bsj]=pid_gaf(kpidi,bsj)globalrinyoutTimets=0.001;sys=tf(400[1,50,0]);dsys=c2d(sys,ts,'z');[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;fork=1:1:ptimef(k)=k*ts;r(k)=rin;u(k)=kpidi(1)*x(1)+kpidi(2)*x(2)+kpidi(3)*x(3);ifu(k)>=10u(k)=10;end如果u(k)<=-10u(k)=-10;终止yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;error(k)=r(k)-yout(k);%------------PID参数的返回----------------u_2=u_1;u_1=u(k);y_2=y_1;y_1=yout(k);x(1)=error(k);%calculatingpx(2)=(error(k)-error_1)/ts;%calculatingdx(3)=x(3)+error(k)*ts;%calculatingi错误2=错误1;误差1=误差(k);如果s==0ifyout(k)>0.95&yout(k)<1.05tu=timef(k);s=1;endendendfori=1:1:pji(i)=0.999*abs(error(i))+0.01*u(i)^2*0.1;b=b+ji(i);ifi>1 erry(i)=yout(i)-yout(i-1);费里(i)<0b=b+100*abs(erry(i));endendendbsj=b+0.2*tu*10;。

基于遗传算法优化的模糊pid控制研究及其仿真

基于遗传算法优化的模糊pid控制研究及其仿真

基于遗传算法优化的模糊pid控制研究及其仿真本文的主要内容是基于遗传算法优化的模糊PID控制的研究技术和其仿真,主要研究了基于遗传算法的模糊PID控制在系统建模和控制中应用的可行性。

首先,在本文中,我们介绍了模糊PID控制器及其优点。

模糊PID控制是一种基于传统PID控制的模糊控制形式,具有传统PID控制器的结构简单、参数容易调整等优点,而且模糊PID控制具有更好的鲁棒性和自适应性,可以更有效地改善系统的控制性能。

其次,我们进一步介绍了基于遗传算法的模糊PID控制方法,用于优化模糊PID控制器的参数。

遗传算法(GA)是一种自适应优化算法,可以用于在未知条件下优化模糊PID控制器的参数,有助于提高系统的稳定性和控制性能。

接下来,为了证明基于遗传算法优化的模糊PID控制器的有效性,我们利用MATLAB仿真程序对一种典型的热水器系统进行了仿真。

借助MATLAB仿真平台,我们验证了基于遗传算法优化的模糊PID控制器的性能,并与传统PID控制器进行了比较。

实验结果表明,基于遗传算法优化的模糊PID控制器可以有效改善热水器系统的性能,大大提高了系统的稳定性和控制性能,在系统模型和控制上具有较强的抗干扰能力。

最后,本文介绍了基于遗传算法优化的模糊PID控制器,证明其有效性,并利用MATLAB进行仿真及其比较。

基于遗传算法优化的模糊PID控制器具有简单的结构、容易调整的参数和较好的鲁棒性和自适应性,可以更有效地改善系统的动态特性和控制性能,为系统的稳定性和控制性能的提高提供了可行的手段。

本文的研究结果为进一步探究基于遗传算法优化的模糊PID控制的应用奠定了基础。

本文的研究表明,基于遗传算法优化的模糊PID控制是一种可行的模糊控制方法,可以更有效地改善系统的动态特性和控制性能,为系统的稳定性和控制性能的提高提供了可行的手段。

综上所述,基于遗传算法优化的模糊PID控制是一种具有较好系统模型和控制能力,可以有效改善系统控制性能和稳定性的有效技术。

基于遗传算法的PID参数整定的MATLAB程序代码

基于遗传算法的PID参数整定的MATLAB程序代码

基于遗传算法的PID参数整定1引言传统的比例、积分、微分控制,即PID控制具有算法简单、鲁棒性好和可靠性高等优点,已经被广泛用于工业生产过程。

但工程实际中,PID控制器的比例、积分和微分调节参数往往采用实验加试凑的方法由人工整定。

这不仅需要熟练的技巧,往往还相当费时。

更为重要的是,当被控对象特性发生变化,需要控制器参数作相应调整时,PID控制器没有自适应能力,只能依靠人工重新整定参数,由于经验缺乏,整定结果往往达不到最优值,难以满足实际控制的要求。

考虑生产过程的连续性以及参数整定费事费力,这种整定实际很难进行。

所以,人们从工业生产实际需要出发,基于常规PID控制器的基本原理,对其进行了各种各样的改进。

近年来许多学者提出了基于各种智能算法的PID整定策略,比如模糊PID、神经元网络PID等等。

然而,这些先进算法都要求对被控对象有很多的先验知识,在实际应用中往往难于做到。

随着计算技术的发展,遗传算法有了很大的发展。

将遗传算法用于控制器参数整定,已成为遗传算法的重要应用之一。

本文介绍基于遗传算法的PID参数整定设计方法。

这是一种寻求全局最优的控制器优化方法,且无需对目标函数微分,可提高参数优化效果,简化计算过程。

仿真实例表明该方法与其他传统寻优方法相比,在优化效果上具有一定的优势。

2遗传算法简介2.1 遗传算法的基本原理遗传算法是John H.Holland根据生物进化的模型提出的一种优化算法。

自然选择学说是进化论的中心内容。

根据进化论,生物的发展进化主要有三个原因:即遗传、变异和选择。

遗传算法基于自然选择和基因遗传学原理的搜索方法,将“优胜劣汰,适者生存”的生物进化原理引入待优化参数形成的编码串群体中,按照一定的适应度函数及一系列遗传操作对各个体进行筛选,从而使适应度高的个体被保留下来,组成新的群体;新群体包含上一代的大量信息,并且引入了新的优于上一代的个体。

这样周而复始,群体中各个体适应度不断提高,直至满足一定的极限条件。

MATLAB遗传算法PID大作业.

MATLAB遗传算法PID大作业.

遗传算法在调节控制系统参数中的应用【摘要】自动化控制系统多采用PID 控制器来调节系统稳定性和动态性,PID 的Kp,Ki,Kd 参数需要合理选择方能达到目标。

遗传算法是一种模拟生物进化寻求最优解的有效算法,本文通过利用GAbx 工具箱实现对控制电机的PID 进行参数优化,利用matlab 的仿真功能可以观察控制效果。

1. 直流伺服电机模型 1.1物理模型图1 直流伺服电机的物理模型αu ---电枢输入电压(V ) a R ---电枢电阻(Ω) S L ---电枢电感(H ) q u ---感应电动势(V ) g T ---电机电磁转矩(N m ⋅) J---转动惯量(2m kg ⋅)B---粘性阻尼系数(s m N ⋅⋅) g i ---流过电枢的电流(A ) θ---电机输出的转角(rad )1.2传递函数利用基尔霍夫定律和牛顿第二定律得出电机基本方程并进行拉布拉斯变换)()()()()()()()()()()(2s s K s U K s I s T s Bs s Js s T s I s L R s I s U s U e q t a g g a a a a q a θθθ⋅=⋅=⋅+⋅=⋅+⋅=-式中:t K 为电机的转动常数(m N ⋅)A ;e K 为感应电动势常数(s V ⋅)rad图2 直流伺服电机模型方框图消去中间变量得系统的开环传递函数:sK K B Js R s L K s U s s G C t a d ta ]))([()()()(+++==θ系统参数如下:s m uN B m mg J ⋅⋅=⋅=51.3,23.32A m N K K uH L R e t a a )(03.0,75.2,4⋅===Ω=2. PID 校正图3 PID 校正s K sK K s G d ip c ++=)( 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 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参数进行优化。

基于遗传算法寻优的PID控制及MATLAB仿真

基于遗传算法寻优的PID控制及MATLAB仿真

基于遗传算法寻优的PID控制及MATLAB仿真
牛理想;扈晓利;王高平
【期刊名称】《电子质量》
【年(卷),期】2008(000)012
【摘要】文中介绍了遗传算法和基于遗传算法寻优的PID控制设计,采用误差绝对值时间积分性能指标作为参数选择的最小目标函数,利用遗传算法的全局搜索能力,使得在无须先验知识的情况下实现对全局最优解的寻优.以降低PID参数整定的难度.达到总体上提高系统的控制精度和鲁棒性的目的.通过MATLAB仿真结果表明,根据遗传算法寻优设计的PID控制器其有较强的鲁棒性,即使在外部环境恶劣的条件下,系统的控制性能仍具有较好的动态品质和稳态精度.
【总页数】3页(P7-9)
【作者】牛理想;扈晓利;王高平
【作者单位】河南工业大学,河南,郑州,450001;河南工业大学,河南,郑州,450001;河南工业大学,河南,郑州,450001
【正文语种】中文
【中图分类】TB11
【相关文献】
1.基于遗传算法寻优的PID控制与仿真 [J], 秦国经;任庆昌
2.基于遗传算法的锅炉水温PID控制寻优 [J], 李玉娜
3.基于混合遗传算法的转台PID控制寻优 [J], 杨明
4.基于遗传算法的PID控制及其MATLAB仿真 [J], 赵亮; 付兴武; 徐广明
5.基于非线性模型和遗传算法寻优的无人艇航向PID控制研究 [J], 王亮;向金林;王鸿东
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

主程序:chap5_2.m
%GA(Generic Algorithm) Program to optimize PID Parameters clear all;
close all;
global rin yout timef
Size=30;
CodeL=3;
MinX(1)=zeros(1);
MaxX(1)=20*ones(1);
MinX(2)=zeros(1);
MaxX(2)=1.0*ones(1);
MinX(3)=zeros(1);
MaxX(3)=1.0*ones(1);
Kpid(:,1)=MinX(1)+(MaxX(1)-MinX(1))*rand(Size,1);
Kpid(:,2)=MinX(2)+(MaxX(2)-MinX(2))*rand(Size,1);
Kpid(:,3)=MinX(3)+(MaxX(3)-MinX(3))*rand(Size,1);
G=100;
BsJ=0;
%*************** Start Running ***************
for kg=1:1:G
time(kg)=kg;
%****** Step 1 : Evaluate BestJ ******
for i=1:1:Size
Kpidi=Kpid(i,:);
[Kpidi,BsJ]=chap5_2f(Kpidi,BsJ);
BsJi(i)=BsJ;
end
[OderJi,IndexJi]=sort(BsJi);
BestJ(kg)=OderJi(1);
BJ=BestJ(kg);
Ji=BsJi+1e-10; %Avoiding deviding zero
fi=1./Ji;
% Cm=max(Ji);
% fi=Cm-Ji;
[Oderfi,Indexfi]=sort(fi); %Arranging fi small to bigger
Bestfi=Oderfi(Size); %Let Bestfi=max(fi)
BestS=Kpid(Indexfi(Size),:); %Let BestS=E(m), m is the Indexfi belong to max(fi)
kg
BJ
BestS
%****** Step 2 : Select and Reproduct Operation******
fi_sum=sum(fi);
fi_Size=(Oderfi/fi_sum)*Size;
fi_S=floor(fi_Size); % Selecting Bigger fi value
r=Size-sum(fi_S);
Rest=fi_Size-fi_S;
[RestValue,Index]=sort(Rest);
for i=Size:-1:Size-r+1
fi_S(Index(i))=fi_S(Index(i))+1; % Adding rest to equal Size end
k=1;
for i=Size:-1:1 % Select the Sizeth and Reproduce firstly for j=1:1:fi_S(i)
TempE(k,:)=Kpid(Indexfi(i),:); % Select and Reproduce
k=k+1; % k is used to reproduce end
end
%************ Step 3 : Crossover Operation ************
Pc=0.90;
for i=1:2:(Size-1)
temp=rand;
if Pc>temp %Crossover Condition
alfa=rand;
TempE(i,:)=alfa*Kpid(i+1,:)+(1-alfa)*Kpid(i,:);
TempE(i+1,:)=alfa*Kpid(i,:)+(1-alfa)*Kpid(i+1,:);
end
end
TempE(Size,:)=BestS;
Kpid=TempE;
%************ Step 4: Mutation Operation ************** Pm=0.10-[1:1:Size]*(0.01)/Size; %Bigger fi,smaller Pm Pm_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) %Mutation Condition TempE(i,j)=Mean(j)+Dif(j)*(rand-0.5);
end
end
end
%Guarantee TempE(Size,:) belong to the best individual TempE(Size,:)=BestS;
Kpid=TempE;
end
Bestfi
BestS
Best_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’);
子程序:chap5_2f.m
function [Kpidi,BsJ]=pid_gaf(Kpidi,BsJ)
global rin yout timef
ts=0.001;
sys=tf(400,[1,50,0]);
dsys=c2d(sys,ts,’z’);
[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)<=-10
u(k)=-10;
end
yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;
error(k)=r(k)-yout(k);
%------------ Return of PID parameters -------------
u_2=u_1;u_1=u(k);
y_2=y_1;y_1=yout(k);
x(1)=error(k); % Calculating P
x(2)=(error(k)-error_1)/ts; % Calculating D
x(3)=x(3)+error(k)*ts; % Calculating I
error_2=error_1;
error_1=error(k);
if s==0
if yout(k)>0.95&yout(k)<1.05
tu=timef(k);
s=1;
end
end
end
for i=1:1:P
Ji(i)=0.999*abs(error(i))+0.01*u(i)^2*0.1;
B=B+Ji(i);
if i>1
erry(i)=yout(i)-yout(i-1);
if erry(i)<0
B=B+100*abs(erry(i));
end
end
end
BsJ=B+0.2*tu*10;。

相关文档
最新文档