模糊控制应用示例_第1页
模糊控制应用示例_第2页
模糊控制应用示例_第3页
模糊控制应用示例_第4页
模糊控制应用示例_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、u例例1:工业工程控制工业工程控制u例例2:典型二阶环节典型二阶环节 的模糊控的模糊控制制u例1: 某一工业过程要根据测量的温度(t)和压力(p)来确定阀门开启的角 度: 这种关系很难用数学模型精确描述。实际中由有经验的操作员完成,因此通常可设计模糊控制器取而代之。 ),( Ptfu温度: 0 30 度u压力: 0 3 大气压u阀门开启的角度 : 1010度u采用三角形隶属度函数u温度:“冷”“热”u压力:“正常”“高”05101520253000.20.40.60.81温度隶属度函数00.511.522.5300.20.40.60.81压力隶属度函数u“负” “零” “正”-10-8-6-4

2、-2024681000.20.40.60.81角度增量隶属度函数u模糊推理规则有3条: If 温度“冷” and 压力“高”,则阀门角度增量为“正”If 温度“热” and 压力“高”,则阀门角度增量为“负”If 压力“正常”,则阀门角度增量为“零” pc1=newfis(pc1);pc1=addvar(pc1,input,温度,0 30);pc1=addvar(pc1,input,压力,0 3);pc1=addvar(pc1,output,增量,-10 10);addvar功能:功能:在在FIS中添加变量。中添加变量。格式:格式:a = addvar (a,varType,varName,v

3、arBounds)addmf功能:功能:隶属度函数添加到隶属度函数添加到FIS(模糊推理系统模糊推理系统)。格式:格式:a = addmf(a,varType,varIndex,mfName,mfType,mfParams)05101520253000.20.40.60.81温度隶属度函数00.511.522.5300.20.40.60.81压力隶属度函数pc1=addmf(pc1,input,1,冷,trapmf,0 0 10 20);pc1=addmf(pc1,input,1,热,trapmf,10 20 30 30);pc1=addmf(pc1,input,2,正常,trimf,0 1

4、2);pc1=addmf(pc1,input,2,高,trapmf,1 2 3 3);pc1=addmf(pc1,output,1,负,trimf,-10 -5 0);pc1=addmf(pc1,output,1,零,trimf,-5 0 5);pc1=addmf(pc1,output,1,正,trimf,0 5 10);addrule功能:在FIS中添加规则。格式:a = addrule (a,ruleList)m个输入,个输入,n个输出:个输出:前前m列表示系统的输入,每列表示系统的输入,每列的数值表示输入变量隶属列的数值表示输入变量隶属度函数的编号;接着的度函数的编号;接着的n列列表示系

5、统的输出,每列的数表示系统的输出,每列的数值表示输出变量隶属度函数值表示输出变量隶属度函数的编号;第的编号;第m + n + 1 列为该列为该条规则的权值(条规则的权值(01);第);第m + n + 2 列的值决定模糊操列的值决定模糊操作符的类型:作符的类型:1(当模糊操(当模糊操作符为作符为AND时)或时)或2(当模(当模糊操作符为糊操作符为OR时)。时)。rulelist=1 2 3 1 1; 2 2 1 1 1; 0 1 2 1 2;pc1=addrule(pc1,rulelist);u模糊推理规则 If 温度“冷” and 压力“高”,则阀门角度增量为“正”If 温度“热” and

6、压力“高”,则阀门角度增量为“负”If 压力“正常”,则阀门角度增量为“零” uevalfis功能:功能:完成模糊推理计算。完成模糊推理计算。格式:格式:output= evalfis (input, fismat)output= evalfis (input, fismat, numPts)unumPts:计算输入和输出隶属度函数时采用的取样点数,如缺省,则采用缺省值:101。 例如,当t=5,P=2,则evalfis(5 2,pc1)ans = 5这说明模糊控制器的输出为5 u绘制出当t(或者P)不变时的控制曲线,例如当t5时,可求出控制输出与压力P之间的关系,如图(a)所示。00.511

7、.522.53-20246压力控制051015202530-505温度控制t1=0:30; P1=2;X1=t1, P1*ones(size(t1);Y1=evalfis(X1,pc1);subplot 212plot(t1,Y1),xlabel(温度);ylabel(控制) ugensurf(pc1) 0510152025300123-505温度压力增 量14 . 46 . 120)(2sssHDuCxyBuAxx这种以传递函数形式表示的系统可以等效表示成状态方程形式u四阶龙格库塔公式,也就是在工程中应用广泛的经典龙格库塔算法: 34231214321*)(,)(2/*)(,2)(2/*)(

8、,2)()(),(6/22*)() 1(),()(khixhiufkkhixhiufkkhixhiufkixiufkkkkkhixixBuAxxuftxu设系统输入为R,系统输出误差为e,误差导数为de,则可根据系统输出的误差和误差导数设计出模糊控制器(FC)。u误差e的论域:【6 6】u误差导数de的论域:【6 6】u控制输入u的论域:【3 3】-6-4-2024600.20.40.60.81eNBNSZRPSPB-6-4-2024600.20.40.60.81deNBNSZRPSPB -3-2-1012300.20.40.60.81uNBNSZRPSPB edeNBNSZRPSPBNBPB

9、PBPSPSZRNSPBPSPSZRZRZRPSPSZRZRNSPSPSZRZRNSNSPBZRZRNSNSNBu% Example 3.8u% 典型二阶系统的模糊控制u% u%被控系统建模num=20;den=1.6,4.4,1;a1,b,c,d=tf2ss(num,den);x=0;0;u%系统参数T =0.01; h=T;N=250;R =1.5*ones(1,N); %参考输入u%定义输入和输出变量及其隶属度函数a=newfis(Simple);a=addvar(a,input,e,-6 6);a=addmf(a,input,1,NB,trapmf,-6,-6,-5,-3);a=add

10、mf(a,input,1,NS,trapmf ,-5,-3,-2 0); a=addmf(a,input,1,ZR,trimf ,-2,0,2);a=addmf(a,input,1,PS,trapmf ,0,2,3 5); a=addmf(a,input,1,PB,trapmf,3,5,6,6); a=addvar(a,input,de,-6 6);a=addmf(a,input,2,NB,trapmf ,-6,-6,-5,-3); a=addmf(a,input,2,NS,trapmf ,-5,-3,-2 0); a=addmf(a,input,2,ZR,trimf ,-2,0,2); a=

11、addmf(a,input,2,PS,trapmf ,0,2,3,5); a=addmf(a,input,2,PB,trapmf ,3,5,6,6); a=addvar(a,output,u,-3 3);a=addmf(a,output,1,NB,trapmf,-3,-3,-3,-2);a=addmf(a,output,1,NS,trimf,-2,-1,0); a=addmf(a,output,1,ZR,trimf,-1,0,1); a=addmf(a,output,1,PS,trimf,0,1,2); a=addmf(a,output,1,PB,trapmf,2,3,3,3); u%模糊规则

12、矩阵。rr =5 5 4 4 3 5 4 4 3 3 4 4 3 3 2 4 3 3 2 2 3 3 2 2 1;r1=zeros(prod(size(rr),3); k=1;for i=1:size(rr,1) for j=1:size(rr,2) r1(k,:)=i,j,rr(i,j); k=k+1; endendr,s=size(r1);r2=ones(r,2);rulelist=r1,r2;a=addrule(a,rulelist);u%采用模糊控制器的二阶系统仿真e=0; de=0;ke=30; kd=20; ku=1;for k=1:Nu%输入变量变换至论域e1=ke*e; de1

13、=kd*de;if e1=6 e1=6; elseif e1=6 de1=6; elseif de1=-6 de1=-6;endu%模糊推理,计算出被控对象的控制输入in=e1 de1;u=ku*evalfis(in,a); uu(1,k)=u; u%控制作用于被控系统,计算系统输出k0=a1*x+b*u;k1=a1*(x+h*k0/2)+b*u;k2=a1*(x+h*k1/2)+b*u;k3=a1*(x+h*k2)+b*u;x=x+(k0+2*k1+2*k2+k3)*h/6;y=c*x+d*u;yy(1,k)=y;u%计算系统输出误差及误差导数 e1=e; e=y-R(1,k); de=(e

14、-e1)/T;endu% 典型二阶环节的模糊控制输出曲线kk=1:N*T;figure(1);plot(kk,R,k,kk,yy,r); grid onxlabel(时间(秒); ylabel(输出); u模糊控制系统阶跃响应曲线 00.511.522.500.20.40.60.811.21.41.61.82时间(秒)输出u完成下列题目之一,独立思考,可以互相讨论,目的是掌握模糊控制系统的实际设计;u将自己设计结果形成报告,应该包含系统分析、模糊控制系统设计、程序、结果、结果分析和设计体会。报告发送地址:uEmail:u典型二阶系统的模糊控制与传统PID控制的性能比较。通常的工业过程可等效成二阶系统加上一些典型的非线性环节,如死区、饱和、纯延迟等,这里假设系统为:控制执行结构具有0.07的死区和0.7的饱和区,取样时间间隔T0.01。设计模糊控制器,并绘出参考输入为1时的模糊控制系统响应。 18210)(2sssHu倒立

温馨提示

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

评论

0/150

提交评论