洗衣机模糊控制建模
- 格式:docx
- 大小:176.83 KB
- 文档页数:7
实验一 洗衣机的模糊控制仿真一、实验目的本实验要求在学生掌握模糊控制器基本工作原理和设计方法基础上,熟悉MALAB 中的模糊控制工具箱,能针对实际问题设计模糊控制器,建立模糊控制系统,训练学生综合运用计算机来解决一些实际问题的能力。
二、实验设备计算机一台、MATLAB 软件三、实验要求设计一个模糊控制器,根据衣物的泥污和油污程度,输出衣物的洗涤时间,通过改变控制参数的大小,观察模糊控制的性能。
四、实验步骤1.确定模糊控制器的结构选用两输入单输出模糊控制器,控制器的输入为衣物的泥污和油污,输出为洗涤时间。
2. 定义输入、输出模糊集 将泥污分为三个模糊集:泥污少SD 、泥污中MD 、泥污大LD ;油污分为三个模糊集:油污少SG 、油污中MG 、油污大LG ;将洗涤时间分为五个模糊集:很短VS 、短S 、中等M 、长L 、很长VL 。
3. 定义隶属度函数选用三角形隶属度函数实现泥污、油污和洗涤时间的模糊化:(50)/50050/50050(100)/505010050100(50)/50x x x x x x x x μμμμ=-⎧≤≤⎪≤≤⎧⎪==⎨⎨-<≤⎩⎪⎪<≤=-⎩SD MD 泥污LD (50)/50050/50050(100)/505010050100(50)/50x x x x x x x x μμμμ=-⎧≤≤⎪≤≤⎧⎪==⎨⎨-<≤⎩⎪⎪<≤=-⎩SG MG 油污LG(50)/50010/50010(100)/501025/501025(100)/5025402540/504060(100)/504060(50)/50x z x z x z x z x z z x z x z x μμμμμμ=-⎧≤≤⎪⎧≤≤⎪=⎨⎪-<≤⎩⎪≤≤⎧⎪==⎨⎨-<≤⎩⎪⎪≤≤⎧⎪=⎨<≤-⎪⎩⎪≤≤=-⎩SG MG MG 洗涤时间MG LG实验结果:实验分析:6.模糊推理因模糊控制规则表对称,所以上图为input1 和input2分别为50时input2和input1与洗涤时间的关系。
基于MATLAB的洗衣机模糊控制设计MATLAB是一种功能强大的数学软件,可以用于模糊控制设计。
在本文中,我们将介绍如何使用MATLAB来设计一个基于模糊控制的洗衣机控制系统。
首先,我们需要定义洗衣机模糊控制系统的输入和输出变量。
在一个简单的洗衣机系统中,输入变量可以是衣物的脏度和水位,而输出变量可以是洗衣机的清洗时间和水温。
接下来,我们需要建立一个模糊控制器模型。
模糊控制器是一个基于模糊逻辑的控制器,能够处理模糊输入和输出变量。
在MATLAB中,我们可以使用Fuzzy Logic Toolbox来建立一个模糊控制器模型。
我们首先需要定义模糊输入变量的隶属函数。
在这个例子中,我们可以定义脏度变量的隶属函数为"低","中"和"高",水位变量的隶属函数为"低","中"和"高"。
然后,我们需要定义模糊输出变量的隶属函数。
在这个例子中,我们可以定义清洗时间变量的隶属函数为"短","适中"和"长",水温变量的隶属函数为"低","中"和"高"。
接下来,我们需要定义输入和输出变量之间的模糊规则。
在这个例子中,我们可以定义以下规则:规则1:如果脏度是低和水位是低,那么清洗时间是短和水温是低。
规则2:如果脏度是低和水位是中,那么清洗时间是适中和水温是中。
规则3:如果脏度是低和水位是高,那么清洗时间是长和水温是中。
规则4:如果脏度是中和水位是低,那么清洗时间是适中和水温是中。
规则5:如果脏度是中和水位是中,那么清洗时间是适中和水温是中。
规则6:如果脏度是中和水位是高,那么清洗时间是长和水温是高。
规则7:如果脏度是高和水位是低,那么清洗时间是长和水温是中。
规则8:如果脏度是高和水位是中,那么清洗时间是长和水温是高。
毕业设计基于MATLAB的洗衣机模糊控制设计摘要模糊控制洗衣机不仅实现了洗衣机的全面自动化,也提高了洗衣的质量,具有很强的实用性和较好的发展前景。
本设计的主要目的是设计一个比较合理的洗衣机模糊控制器,这种采用模糊控制的洗衣机能够通过洗衣桶内水的脏污程度和污渍性质(油污或者泥污)来自动预选水位和洗涤时间,以达到最佳的洗涤效果。
本文主要研究了基于MATLAB的洗衣机模糊控制。
首先介绍了模糊控制的基本原理,明确本设计中所要控制的变量,即水位和洗涤时间。
其次,定义了输入、输出模糊集,结合实际情况定义了隶属函数,然后建立模糊控制规则,给出模糊控制表,进行了模糊推理。
最后采用Simulink对该系统进行仿真,通过仿真曲线可以看出,文中采用的模糊控制方法是正确而有效的。
关键词:模糊控制;模糊集;隶属函数;控制规则;模糊推理AbstractFuzzy control of washing machine does not only achieve a fully automated washing machine, but also improve the quality of laundry; it has a strong practicality and a good development prospect.The main purpose of this design is to design a more reasonable washing machine fuzzy controller, fuzzy control of washing machine can automatically detect the dirty level of laundry bucket and the nature of stain (oil or sediment); it also can automatically pre-selected water level and washing time to achieve the best water quality.This paper mainly studies what based on the MATLAB fuzzy control of washing machines. First, it introduces the basic principles of fuzzy control, clearly the variables of this design to control, those are water level and washing time; Second, define the input and output fuzzy sets, and define the membership function combined the actual conditions, and then create the fuzzy control rules, give the fuzzy control table, then use these to the fuzzy reasoning. Finally, Simulink simulates the system; the simulation curves show that the text used in fuzzy control method is correct and effective.Key words:fuzzy control; fuzzy sets; the membership function; control rules; the fuzzy reasoning目录第1章前言 (1)1.1 选题的目的及意义 (1)1.2 国内外发展情况 (1)1.3 MATLAB简介 (2)1.4 模糊控制简介 (4)1.5 论文的主要内容 (4)第2章模糊控制器原理及设计 (6)2.1 模糊控制原理 (6)2.2 模糊控制系统的分类 (17)2.3 模糊控制器的设计 (18)第3章洗衣机的模糊控制 (21)3.1 洗衣机的时间控制 (21)3.2 洗衣机的水位控制 (28)3.3 本章小结 (31)结论 (32)参考文献 (33)致谢 (34)附录1 (35)附录2 (36)附录3 (37)附录4 (38)附录5 (40)第1章前言1.1 选题的目的及意义随着现代社会生活节奏的不断加快和人们生活水平的不断提高,人们对各种方便、快捷的家用电器需求量越来越大,为了提高人们的生活效率,全自动洗衣机应运而生。
以洗衣机模糊控制为例的教学案例设计方法1. 引言1.1 介绍洗衣机模糊控制案例设计的背景洗衣机模糊控制是指利用模糊逻辑控制方法来实现洗衣机的控制系统,以实现更精确和高效的洗涤过程。
随着科技的不断发展,洗衣机模糊控制技术在工程领域的应用日益广泛,成为一个备受关注的研究领域。
洗衣机模糊控制案例设计的背景源于工程技术领域对模糊控制理论的探索和应用。
传统的洗衣机控制方法往往存在着精度不高、响应速度慢等问题,而模糊控制技术恰好能够很好地解决这些问题。
因此,设计一个基于模糊控制原理的洗衣机控制系统可以提高洗衣机的智能化水平,提升用户体验。
通过深入研究洗衣机模糊控制案例设计,可以帮助工程学生更好地理解模糊控制理论,并将其应用到实际工程中。
教学案例设计不仅可以加强学生的理论知识,还可以培养学生的实际操作能力和创新思维,为他们未来的工程实践打下坚实的基础。
1.2 说明教学案例设计的重要性和目的教学案例设计在工程教育中具有重要意义和作用。
通过设计真实案例,可以帮助学生将理论知识与实践应用相结合,提升他们的解决问题的能力和实践能力。
案例设计可以让学生在实际操作中体会到知识的实用性,培养他们的创新精神和团队合作能力。
教学案例设计也可以激发学生学习的兴趣,提升他们的学习动力和自主学习能力。
2. 正文2.1 介绍洗衣机模糊控制原理和技术洗衣机模糊控制是一种基于模糊逻辑理论的控制方法,旨在处理系统具有模糊性、不确定性和复杂性的特点。
在传统的控制方法中,通常需要建立系统的精确数学模型,但对于某些复杂系统来说,这是一项艰巨的任务。
而模糊控制则不需要系统的精确数学模型,而是基于专家经验和模糊规则进行控制,使得系统更容易实现控制。
洗衣机模糊控制的原理是将洗衣机的控制系统分为模糊化、模糊推理和去模糊化三个步骤。
首先,通过传感器获取洗衣机的运行状态数据,然后将这些数据转化为模糊概念,如“脏”、“湿”、“轻度污渍”等。
接着,利用模糊规则库进行模糊推理,根据模糊规则库和模糊概念之间的关系,确定洗衣机的控制策略。
洗衣机的模糊控制器设计1 洗衣机的模糊控制传统的洗衣机都是人们用肉眼观看后,根据人的经验来调整洗衣时间和用水量,而模糊控制就是以人对被控对象的控制经验为依据而设计的控制器,这样就能实现控制器模拟人的思维方式来控制洗衣机。
以模糊洗衣机的设计为例其控制是一个开环的决策过程,模糊控制按以下步骤进行。
[4]1.1 洗衣机的时间控制1.1.1 确定模糊控制器的结构选用单变量二维模糊控制器。
控制器的输入为衣物的污泥和油脂,输出为洗涤时间。
1.1.2 定义输入、输出模糊集将污泥分为3个模糊集:SD(污泥少),MD (污泥中),LD (污泥多);取值范围为[0,100]。
将油脂分为3个模糊集:NG (油脂少),MG (油脂中),LG (油脂多); 将洗涤时间分为5个模糊集:VS (很短),S(短),M (中等),L(长),VL (很长)。
1.1.3 定义隶属函数选用如下隶属函数:50/5050/10050/50/50x x x x x x x μLDMD SD污泥1005010050500500 x x x x 采用三角形隶属函数可实现污泥的模糊化。
采用Matlab进行仿真,污泥隶属函数设计仿真程序如下: Close all ; N=2; x=0:0.1:100; for i=1:N+1 f(i)=100/N*(i-1); endu=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); endu=trimf(x,[f(N),f(N+1),f(N+1)]); hold on; plot(x,u); xlabel(‘x’);ylabel(‘Degree of membership ’); 污泥程序仿真结果如图1所示:01020304050607080901000.10.20.30.40.50.60.70.80.91xDe g r e e of m e m b e r s h i p图1 污泥隶属函数将油脂分为三个模糊集:NG (无油脂)MG (油脂中)LG(油脂多),取值范围为[0,100]选用如下隶属函数:50/5050/10050/50/50y y y y y y y LGMG NG油脂1005010050500500 y y y y 采用三角形隶属函数实现油脂的模糊化,仿真程序如下: Clear all; N=2; x=0:0.1:100; for i=1:N+1 f(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 ’); 油脂程序仿真结果如图2所示:01020304050607080901000.10.20.30.40.50.60.70.80.91yDe g r e e of m e mb e r s h i p图2 油脂隶属函数将洗涤时间分为五个模糊集:VS(很短)S (短)M (中等)L(很长)取值范围为[0,60] 选用如下隶属函数:20/4020/6015/2515/4015/1015/2510/10/10z z z z z z z z z z z z z VLL M S VS洗涤时间604060404025402525102510100100 z z z z z z z z 采用三角形隶属函数实现洗涤时间的模糊化,其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 ”); 洗涤时间仿真程序结果如图3所示:01020304050600.10.20.30.40.50.60.70.80.91zDe g r e e of m e m b e r s h i p图3 洗涤时间隶属函数1.1.4 建立模糊控制规则根据人的操作经验设计模糊规则,模糊规则设计的标准为:“污泥越多,油脂越多,洗涤时间越长”;“污泥适中,油脂适中,洗涤时间适中”;“污泥越少,油脂越少,洗涤时将越短”。
智能控制课程作业模糊控制理论实验报告题目洗衣机系统模糊控制建模与仿真班级姓名学号2014年3月13日一.实验目的通过设计洗衣机洗涤时间的模糊控制系统,理解模糊控制的基本原理。
掌握模糊控制系统MATLAB建模与仿真的方法。
二.实验原理洗衣机洗涤时间的模糊控制是一个开环模糊决策过程,其基本原理框图如图1-1所示。
它的核心部分是模糊控制器,模糊控制器的控制律由计算机程序来实现。
图1-1 系统原理框图系统选用两输入单输出的模糊控制器。
控制器的输入为衣物的污泥量x和油脂量y,输出为洗涤时间z。
将污泥分为3个模糊集:SD(污泥少),MD(污泥中),LD(污泥多);将油脂分为3个模糊集:NG(油脂少),MG(油脂中),LG(油脂多);将洗涤时间分为5个模糊集:VS(很短),S(短),M(中等),L(长),VL很长。
首先,定义输入x,y变量,输出z变量的隶属函数。
根据“污泥越多,油脂越多,洗涤时间越长”;“污泥适中,油脂适中,洗涤时间适中”;“污泥越少,油脂越少,洗涤时间越短”的规律建立洗衣机模糊规则表。
然后,根据模糊规则进行模糊推理并得到洗涤时间的模糊集合。
最终,利用重心法对模糊系统反模糊化,将洗涤时间的推理结果转化成精确值z输出。
三.实验内容利用MATLAB软件实现上述洗衣机系统模糊控制的建模与仿真。
1.建立x,y,z的隶属函数洗衣机系统变量x,y,z的隶属函数分段表达式,如式1-1所示。
()()()()()()()()()()()()()()()()SD MD LD NG MG LGVS 50/50050/50050100/505010050/505010050/50050/5005011100/505010050/505010010/10010Sx x x x x x x x x x x y y y y y y y y y y y z z z z μμμμμμμμμμμ=-≤≤⎧⎪≤≤⎧⎪⎪==⎨⎨-<≤⎪⎩⎪⎪=-<≤⎩=-≤≤⎧⎪≤≤⎧⎪⎪==-⎨⎨-<≤⎪⎩⎪⎪=-<≤⎩=-≤≤=污泥油脂洗涤时间()()()()()()()()()VL /1001025/15102510/15102540/15254025/15254060/20406040/204060M L z z z z z z z z z z z z z z z z z μμμ⎧⎪≤≤⎪⎧⎪=⎨⎪-<≤⎪⎩⎪⎪-≤≤⎧⎪⎪=⎨⎨-<≤⎪⎪⎩⎪-≤≤⎧⎪⎪=⎨⎪-<≤⎪⎩⎪⎪=-≤≤⎩在MATLAB 中,定义本系统为一个Mamdani (普通)型模糊控制系统,命名为a 。
智能控制课程作业模糊控制理论实验报告题目洗衣机系统模糊控制建模与仿真班级姓名学号2014年3月13日一.实验目的通过设计洗衣机洗涤时间的模糊控制系统,理解模糊控制的基本原理。
掌握模糊控制系统MATLAB建模与仿真的方法。
二.实验原理洗衣机洗涤时间的模糊控制是一个开环模糊决策过程,其基本原理框图如图1-1所示。
它的核心部分是模糊控制器,模糊控制器的控制律由计算机程序来实现。
图1-1系统原理框图系统选用两输入单输出的模糊控制器。
控制器的输入为衣物的污泥量x和油脂量y,输出为洗涤时间z。
将污泥分为3个模糊集:SD (污泥少),MD (污泥中),LD (污泥多);将油脂分为3个模糊集:NG (油脂少),MG (油脂中),LG (油脂多);将洗涤时间分为5个模糊集:VS(很短),S (短),M (中等),L (长),VL很长。
首先,定义输入x,y变量,输出z变量的隶属函数。
根据“污泥越多,油脂越多,洗涤时间越长”;“污泥适中,油脂适中,洗涤时间适中”;“污泥越少,油脂越少,洗涤时间越短”的规律建立洗衣机模糊规则表。
然后,根据模糊规则进行模糊推理并得到洗涤时间的模糊集合。
最终,利用重心法对模糊系统反模糊化,将洗涤时间的推理结果转化成精确值z输出。
三.实验内容利用MATLAB软件实现上述洗衣机系统模糊控制的建模与仿真。
1. 建立x,y,z的隶属函数洗衣机系统变量x,y,z的隶属函数分段表达式,如式1-1所示。
在MATLAB 中,定义本系统为一个 Mamdani (普通)型模糊控制系统,命 名为a 。
根据式1-1,分段建立系统a 的x,y,z 变量隶属函数,如图1-2所示际(X )=(50—x y 50 0兰x 兰50 lx /500兰x 兰50D (X 鬥(100—x j/50 50 ex 兰100% (x )=(x _50)/5050 ex 兰100 »NG (y 尸f 50 - y )/500兰y 兰50 fy/500兰y 兰50 2 ^MG "尸((100 —y )/5050 cy 兰100 比G (y )=(y -50 y50 50 c y 兰100》s (z )=(10—z )/10 0兰z 兰10fz/100 Ez 兰10 比㈠尸 j (25_z )/15 10cz 兰25 ff z —10 M15 10兰z 兰25=« »M (Z }= i 、「 J40—z )/15 25 <z 兰40i7z_25 )/15 25兰z 兰40A L (Z )=<:J60-z )/20 40 cz 兰60 £L (z ) = (z —40)/20 40兰z 兰60'污泥 ■洗涤时间J] Figure 2回克 File Edit View Insert Tools Desktop Window Help * □曰PS图1-2 x,y,z 隶属函数2. 编辑控制规则在生成系统a 的基础上,在rulelist (规则表)矩阵中编辑系统a 的模糊控制 规则。
并利用命令showrule 观察规则库,如下:1. If (x is SD) and (y is NG) then (z is VS) (1)2. If (x is MD) and (y is NG) then (z is M) (1)3. If (x is LD) and (y is NG) then (z is L) (1)4. If (x is SD) and (y is MG) then (z is S) (1)5. If (x is MD) and (y is MG) then (z is M) (1)6. If (x is LD) and (y is MG) then (z is L) (1)7. If (x is SD) and (y is LG) then (z is M) (1)8. If (x is MD) and (y is LG) then (z is L) (1)9. If (x is LD) and (y is LG) then (z is VL) (1) d-vs-laquumlu ①也」b ma.一上巴曲qEeE 它 皿書6也 @上巴型qulmE 」口 3巴0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 603. 反模糊化输出在生成了模糊控制规则库的基础上,用重心法(式(1-2))对系统a 反模糊化 处理。
z 、洗涤时间 z dz Zo ■.1! •洗涤时间 z dz利用函数 setfis (a,'DefuzzMethod','centroid')进行反模糊化(属性 centroid 代 表重心法,属性mom 为最大隶属度法),然后,调用plotfis (a )函数输出a 的模糊 控制结构特性,如图1-3所示。
B Figg 1 □ 回file Edit View Insert Tools Desktop Window Help---------- 1 |Od J ■ □ 'r 图1-3模糊控制系统结构特性取x=50, y=50,模糊处理结果为z=25,利用ruleview 实现模糊控制的动态 仿真,如图1-4所示(1-2) 9 rules4. MATLAB 源程序%Fuzzy Con trol for washerclear all;a=n ewfis('fuzz_wash'); %建立一个模糊控制系统a=addvar(a,'i nput','x',[0,100]);%Fuzzy Stain a=addmf(a,'i nput',1,'SD','trimf,[0,0,50]);a=addmf(a,'i nput',1,'MD','trimf,[0,50,100]);a=addmf(a,'i nput',1,'LD','trimf,[50,100,100]);a=addvar(a,'input','y',[0,100]);%Fuzzy Grease a=addmf(a,'i nput',2,'NG','trimf,[0,0,50]);a=addmf(a,'i nput',2,'MG','trimf,[0,50,100]);a=addmf(a,'i nput',2,'LG','trimf,[50,100,100]);a=addvar(a,'output','z',[0,60]);%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]);图1-4动态仿真模糊系统a=addmf(a,'output',1,'VL','trimf',[40,60,60]);rulelist=[1 1 1 1 1;2 13 1 1;3 14 1 1;1 2 2 1 1;2 23 1 1;3 24 1 1;1 3 3 1 1;2 3 4 1 1;3 3 5 1 1];a=addrule(a,rulelist); showrule(a)a1=setfis(a,'DefuzzMethod','centroid'); %Defuzzy 重心法 writefis(a1,'wash'); %Save to fuzzy file "wash.fis"a2=readfis('wash');plotfis(a2);figure(2);subplot(3,1,1); plotmf(a,'input',1);subplot(3,1,2);plotmf(a,'input',2); subplot(3,1,3) plotmf(a,'output',1);ruleview('wash'); %Dynamic Simulationx=40;y=60;z=evalfis([x,y],a2) %Using fuzzy inference 四. 结论基于重心法的模糊控制系统,对于不同输入变量,可得到恰当的输出结果。
理论上讲, 与最大隶属度法相比, 重心法可得到更平滑的输出推理控制。
因 此,不同的反模糊化方法对完全相同的系统和输入或许得到的不同的输出值。
%编辑模糊规则%Show fuzzy rule base。