模拟控制器的设计实例

上传人:m**** 文档编号:223884493 上传时间:2023-07-23 格式:DOCX 页数:10 大小:203.20KB
返回 下载 相关 举报
模拟控制器的设计实例_第1页
第1页 / 共10页
模拟控制器的设计实例_第2页
第2页 / 共10页
模拟控制器的设计实例_第3页
第3页 / 共10页
点击查看更多>>
资源描述
模拟控制器的设计实例洗衣机的模糊控制传统的洗衣机都是人们用肉眼观看后,根据人的经验来调整洗衣时间和用水 量,而模糊控制就是以人对被控对象的控制经验为依据而设计的控制器,这样就 能实现控制器模拟人的思维方式来控制洗衣机。以模糊洗衣机的设计为例其控制 是一个开环的决策过程,模糊控制按以下步骤进行。1. 模糊控制器的结构选用单变量二维模糊控制器。控制器的输入为衣物的污泥和油脂,输出为洗 涤时间。2. 定义输入、输出模糊集将污泥分为3个模糊集:SD(污泥少),MD (污泥中),LD (污泥多);取值 范围为0,100。3. 定义隶属函数H (x )=(50 - x )/50SD卩(x )=(x - 50 )/50LD选用如下隶属函数0 x 500 x 5050 x 10050 x 100采用三角形隶属函数可实现污泥的模糊化。Matlab 实现污泥隶属度函数的设计,其仿真程序为 0001.m Close all;N=2;x=0:0.1:100;for i=1:N+1 f(i)=100/N*(i-1);end u=trimf(x,f(1),f(1),f(2);figure( 1);plot(x,u);for j=2:Nu=trimf(x,f(j-1),f(j),f(j+1); hold on;plot(x,u);end u=trimf(x,f(N),f(N+1),f(N+1); hold on;plot(x,u); xlabel(x);ylabel(Degree of membership); 污泥程序仿真结果:10 20 30 40 50 60 70 80 90 100x987654321000000000pihsrebmemfoergeDd (y )=(50 - y )/50NG卩(y )=(y - 50)/50LG将油脂分为三个模糊集:NG (无油脂)MG (油脂中)LG(油脂多),取值范围为0, 100选用如下隶属度函数0 y 500 y 5050 y 10050 y 100采用三角形隶属函数实现油脂的模糊化。Matlab 实现油脂隶属度函数的设计,其仿真程序为 0002.Close all;N=2;x=0:0.1:100;for i=1:N+1f(i)=100/N*(i-1);endu=trimf(y,f(1),f(1),f(2);figure(1);plot(y,u);for j=2:Nu=trimf(y,f(j-1),f(j),f(j+1);hold on;plot(y,u);endu=trimf(y,f(N),f(N+1),f(N+1);hold on;plot(y,u); xlabel(y);ylabel(Degree of membership); 油脂程序仿真结果:pihsrebmemfoeergeo98765432100000000005y8090将洗涤时间分为五个模糊集:VS(很短)S(短)M(中等)L(很长)取值范围为0,60d (z)=(10 - z)/10VS()f(z - 25)/15 卩 l= |(60 - z )/20卩(z)=(z - 40)/20VL选用如下隶属函数0 z 100 z 1010 z 2510z2525 z 4025 z 4040 z 6040 z 60采用三角形隶属函数实现洗涤时间的模糊化,其 Matlab 仿真程序如下:Close all;Z=0:0.1:60;U=trimf(z,0,0,10);Figure(1);Plot(z,u);U=trimf(z,0, 10,25); hold on;plot(z,u);U=trimf(z, 10,25,40); hold on;plot(z,u);U=trimf(z, 25,40,60); hold on;plot(z,u);U=trimf(z, 40,60,60); hold on;plot(z,u);xlabel(z)ylabel(“Degree of membership”); 洗涤时间仿真程序结果:0102030405060zpihsrebmemfoeerge4. 建立模糊控制规则根据人的操作经验设计模糊规则,模糊规则设计的标准为:“污泥越多,油 脂越多,洗涤时间越长”;“污泥适中,油脂适中,洗涤时间适中”;“污泥越少 油脂越少,洗涤时将越短”。5. 建立模糊控制表根据模糊规则设计标准,建立模糊规则表模糊洗衣机的洗涤规则洗涤时间z污泥xNGMGLG油 脂SDVS*MLMDSMLLDMLVL第 * 条规则为: “IF 衣物污泥少且没有油脂 THEN 洗涤时间很短 ” 。模糊推理:分以下几步进行(1)规则匹配:假定当前传感器测得的信息 x (污泥)=60, y (油脂)=70,分别代入所 00属的隶属函数中,求隶属度为卩(60)= 4 ,卩(60)=1MD 5 LD 5卩(70)=3,卩(70)=2MG 5 LG 5通过上述4 种隶属度,可得到 4 条匹配的模糊规则模糊推理结果洗涤时间z污泥xNGMG(3/5)LG(2/5)油 脂 ySD000MD(4/5)0卩(z)M卩(z)LLG(1/5)0卩(z )L卩(z )VL(2)规则触发 由表3-2 可知,被触发的规则有 4 条,即 Rule 1:IF y is MD and x is MG THEN z is M Rule 2:IF y is MD and x is LG THEN z is L Rule 3:IF y is LD and x is MG THEN z is L Rule 4:IF y is LD and x is LG THEN z is VL(3)规则前提推理 在同一条规则内,前提之间通过“与”的关系得到规则结论。前提的可信度之 间通过取小运算,得到每一条规则总前提的可信度为规则1前提的可信度为:min(4/5,3/5) = 3/5 规则2前提的可信度为: min(4/5,2/5) = 2/5 规则3前提的可信度为: min(1/5,3/5) = 1/5 规则4前提的可信度为: min(1/5,2/5) = 1/5 由此得到洗衣机规则前提可信度表,即规则强度表规则前提可信度洗涤时间z污泥xNGMG(3/5)LG(2/5)油SD000脂MD(4/5)03/52/5yLD(1/5)01/51/54)将上述两个表进行“与”运算得到每条规则总的可信度输出洗涤时间z污泥xSGMG(3/5)LG(2/5)油脂yND000MD(4/5)03min (匚,卩(z)5m2 /、 min(匚,卩(z)5 LLD(l/5)01 /、 min(:,卩(z)5 L1 /、 min(:,卩(z)5vl规则总的可信度(5)模糊系统的输出模糊系统总的输出为各条规则可信度推理结果的并集,即11卩 (z) = maxmin -,卩(z) |,min -,卩(z) |,min -,卩(z) |,min -,卩 (z)agg13=maximin ,卩 (z) Lmin ,卩(z) I.min 1,卩 (z)-”|(5 VL 丿11可见,有3 条规则被触发。(6)反模糊化模糊系统总的输出卩(z)实际上是3个规则推理结果的并集,需要进行反 agg模糊化才能得到更精确的推理结果。下面以最大平均法为例,进行反模糊化。洗衣机的模糊推理过程如图 3-4和图 3-5所示。由图可知,洗涤时间隶属度33最大值为卩=3。将卩=3代入洗涤时间隶属度函数中的卩(z),得到规则前提55M3隶属度卩=3。与规则结论隶属度卩(z)的交点,即5M/、 z 103卩(z )=7,卩(z )=40 - z 3M 155 M 15得到 z 二 19,z 二 3112 采用最大平均值法,可得精确输出为19 + 31=25即所需要的洗涤时间为 25分钟。1.04/5z0110000100洗衣机的 3 个规则被触发 仿真实例采用 Matlab 中模糊控制工具箱等的模糊命令设计洗衣机模糊控制 系统。采用本节隶属函数按上述步骤设计。取x = 60, y = 70,反模糊化采用重心法,模糊推理结果为33.6853。利用模糊命令ruleview可实现模糊控制的动态仿 真洗衣机模糊控制系统仿真程序如下:close all: a=newfis(fuzz-wash);a=addvar(a,input,x , 0,100);%Fuzzy Staina=addmf(a,input,1,SD,trimf,0, 0, 50);a=addmf(a,input,1,MD,trimf, 0, 50, 100);a=addmf(a,input,1,LD,trimf,50, 100, 100)a=addvar(a,input, y, 0,100);%Fuzzy Axungea=addmf(a,input,2,NG,trimf,0, 0, 50);a=addmf(a,input,2,MG,trimf, 0, 50, 100);a=addmf(a,input,2,LG,trimf,50, 100, 100)a=addvar(a,output,z, 060);%Fuzzy Timea=addmf(a,output, 1 ,VS,trimf, 0 , 0, 10) ;a=addmf(a,output, 1 ,S,trimf,0, 10, 25);a=addmf(a,output, 1 ,M,trimf,10, 25, 40);a=addmf(a,output, 1 ,L,trimf,25, 40, 60);a=addmf(a,output, 1 ,VL,trimf, 40, 60, 60);rule list=1 1 1 1 1:1 2 3 1 1:1 3 4 1 1:2 1 2 1 1:2 2 3 1 1:2 3 4 1 1:3 1 31 1: 3 2 4 1 1:3 3 5 1 1;a=addrule(a, rulelist);showrule(a) % showfuzzyrule baseal=setfis(a,Defuzz Method,mom);% Defuzzy writefis(al,wash); % Save to fuzzy file “washfis”a2=readfis(wash); figure(1);plotfis(a2); figure(2);plotmf(a,intput, 1);figure(3);plotmf(a,intput, 2); figure(4);plotmf(a,output,1); ruleview(wash); % Dynamic Simulation x=60;y=70;z=evalfis(x,y,a2) % Using fuzzy inference 采用本节隶属函数按上述步骤设计取x = 60, y = 70,反模糊化米用重心法,模糊推理结果为33.6853。利用模糊命令 ruleview 可实现模糊控制的动态仿真通过上述内容,得出理论数值与仿真数值非常接近,所以设计的是符合理论 和实际的。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!