洗衣机模糊控制matlab仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
洗衣机模糊控制仿真
1.模糊控制背景
美国教授查徳(L.A.Zandeh)在1965年首先提出模糊集合的概念,由此打开了模糊数学及其应用的大门。
1974年英国教授马丹尼(E.H.Mamdani)首先将模糊集合理论应用于加热器的控制,创造了模糊控制的基本框架。
1980年,Sugeno开创了日本的首次模糊应用——控制一家富士电子水净化厂。1983年他又开始研究模糊机器人。
随着模糊控制技术的不断发展,模糊控制逐渐被应用到日用家电产品的控制,例如电饭锅﹑照相机﹑吸尘器﹑洗衣机等。
2.仿真目的
本次仿真的主要目的是设计一个比较合理的洗衣机模糊控制器,它能够根据被洗涤衣物的污泥多少和油脂多少,综合得到洗涤时间,从而达到最佳的洗涤效果。
3.仿真方法
本次仿真借助matlab中集成的模糊控制工具箱,使用图形界面进行模糊控制器的设计。最后随意给定几组输入,得到输出并作出简单分析。4.模糊控制器的设计
4.1模糊控制器理论设计方法
①选择合适的模糊控制器类型;
②确定输入输出变量的实际论域;
③确定e,e
∆的模糊集个数及各模糊集的隶属度函数;
∆,u
④输出隶属度函数选为单点,可使解模糊简单;
⑤设计模糊控制规则集;
⑥选择模糊推理方法;
⑦解模糊方法。
4.2实际设计过程
①模糊控制器类型:选用两输入单输出模糊控制器,控制器输入为衣物的污泥和油脂,输出为洗涤时间。
②确定输入输出变量的实际论域:输入为Mud(污泥)和Grease (油脂),设置Range=[0 100](输入变化范围为[0,100]);输出为Time(洗涤时间),Range=[0 60](输出变化范围为[0,60])。 对应matlab 中模糊控制模块:
③确定模糊集个数及各模糊集的隶属度函数:将污泥分为3个模糊集:SD (污泥少)MD (污泥中)LD(污泥多);將油脂分为三个模糊集:NG (油脂少)MG (油脂中)LG (油脂多);将洗涤时间非为5个模糊集:VS (很短)S (短)M (中等)L (长)VL (很长)。
输入﹑输出隶属度函数都定为三角形隶属函数。结合④输出隶属度函数选为单点,可使解模糊简单;定义污泥隶属函数如下 50)50()(x x SD -=μ 0≤x ≤50
50
x
0≤x ≤50
=Mad μ =)(x MD μ 50
)
100(x - 50<x ≤100
50)50()(-=x x LD μ 50<x ≤100
对应matlab 中隶属度函数仿真图如下:
由隶属函数设置污泥的3个模糊集参数为 [Input1] Name='Mud' NumMFs=3
MF1='SD':'trimf',[-50 0 50] MF2='MD':'trimf',[0 50 100] MF3='LD':'trimf',[50 100 150] 定义油脂隶属函数如下:
50)50()(y x SG -=μ 0≤y ≤50
50
y
0≤y ≤50
=Grease μ =)(x MG μ 50
)
100(y - 50<y ≤100 50)50()(-=y x LG μ 50<y ≤100
对应matlab中隶属度函数仿真图如下:
由隶属函数设置油脂3个模糊集参数为[Input2]
Name='Grease'
NumMFs=3
MF1='SG':'trimf',[-50 0 50]
MF2='MG':'trimf',[0 50 100]
MF3='LG':'trimf',[50 100 150]
定义输出时间隶属函数如下:
µVS(Z)=(10-Z)/10 0≤Z≤10
Z/10 0≤Z≤10
µS(Z)=
(25-Z)/15 10≤Z≤25
(Z-10)/15 10≤Z≤25
µM(Z)=
µ洗涤时间=(40-Z)/15 25≤Z≤40
(Z-25)/15 25≤Z≤40
µL(Z)=
(60-Z)/20 40≤Z≤60
µVL(Z)=(Z-40)/20 40≤Z≤60对应matlab中隶属度函数仿真图如下:
由隶属函数设置输出洗涤时间5个模糊集参数为
[Output1]
Name='Time'
NumMFs=5
MF1='S':'trimf',[0 10 25]
MF2='L':'trimf',[25 40 60]
MF3='VS':'trimf',[-10 0 10]
MF4='M':'trimf',[10 25 40]
MF5='VL':'trimf',[40 60 80]
⑤设计模糊控制规则:设计标准为污泥越多,油脂越多,洗涤时间越长;污泥适中,油脂适中,洗涤时间适中;污泥越少,油脂越少,洗涤时间越短。
建立模糊控制表如下:
洗涤时间Z
油脂y
SG MG LG
油脂X SD VS M L MD S M L LD M L VL
体现在matlab中模糊控制规则如下:
5.仿真实验
1.任給一输入[45,70],仿真结果如下,可以看出经过前面设计好的模糊控制器
得到输出时间为T=33.1。
2.输入为[0,0],仿真结果如下
分析:输出T=3.14,并不是0。
3.输入为[100,100],仿真结果如下
分析:输出为T=53.5,并不是60.
6.仿真结果综合分析
模糊推理方法常用的是Mamdani模糊推理法,由上面仿真结果能够看出虽然定义输出时间的变化范围是[0,60],但是仿真过程中并不能达到理想的最大最小输出时间。这是因为在清晰化的过程中该仿真工具箱是采用一定的算法得到输出时间。上面的仿真中总共设定了9条规则,当给定某一输入时,也就是给定了Mad与Grease的假定值,将该输入分别与9条规则中各自设定的隶属函数进行对应,并将两个输入综合作用的结果与相应规则中的输出时间Time对应得到一个输出结果,从而总共可以得到9个输出时间Time的隶属函数图,由仿真图就可以很方便的看到这个过程。将9个输出按一定推理法整合在一个图上,这时再用到清晰化的方法比如最大隶属度法,中心法,加权平均法等进行解模糊,我们常使用的方法是取所有输出的中心或重心,最终确定一个输出时间,本仿真中最终输出就是最终洗涤时间Time。
另一方面,从输入分别为[0,0]和[100,100],输出时间为T=3.14和T=53.5可以看到,上面隶属函数的设定还是比较合理的