模糊时间控制器的设计与Matlab仿真.docx
- 文档编号:15556815
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:12
- 大小:626.48KB
模糊时间控制器的设计与Matlab仿真.docx
《模糊时间控制器的设计与Matlab仿真.docx》由会员分享,可在线阅读,更多相关《模糊时间控制器的设计与Matlab仿真.docx(12页珍藏版)》请在冰点文库上搜索。
模糊时间控制器的设计与Matlab仿真
模糊时间控制器的设计与Matlab仿真
测控09-126号
(广东石油化工学院信息学院,广东茂名52500)
一、问题描述:
洗衣机一般要根据衣物的多少、污垢程度水温的高低来决定洗涤时间,一个有经验的家庭主妇能够把衣物洗得干干净净而又不损伤衣物本身。
这并不容易做到,因此,设计一个只能洗衣机是非常必要的。
本方案采用Mamdani推理型模糊控制方法,设计了一种根据洗涤衣物的油腻程度和脏污程度,利用模糊控制系统自动选定洗涤时间。
二、FC的设计
1、确定模糊控制器的结构
洗衣机利用分光光度计传感器,通过检测洗涤液的透明程度等方法,测出洗涤液中的污泥含量
%和油脂含量
%。
模糊控制器则根据x和y的数据,选定洗涤时间
(分钟)。
因为只是考虑洗涤时间,可以采用双输入—单输出模糊控制器完成任务。
图1洗衣机自动定时洗涤模糊控制器的结构
2、定义输入量、输出量的模糊分布
所有模糊子集都选取三角形隶属函数
选定三个模糊子集:
污泥少、污泥中、污泥多,用于涵盖输入量x的论域[0,100],他们的隶属函数如下,其分布如下图所示。
图2覆盖污泥含量x论域的模糊子集分布
选定三个模糊子集:
油脂少(NG)、油脂中(MG)和油脂多(LG),用于涵盖输入量y的论域[0100],他们的隶属函数如下,其分布如图3所示。
图3覆盖油脂含量y论域的模糊子集分布
选定五个模糊子集涵盖输入量t的论域[0,60]:
很短(VS)、短(S)、中等(M)、长(L)和很长(VL),他们的隶属函数如下,其分布如图4所示。
图4覆盖洗涤时间t论域的模糊子集分布
3、建立模糊规则
根据人的操作经验可以归纳总结出下述三条模糊规则:
1、“污泥越多,油脂越多,洗涤时间就越长”;
2、“污泥适中,油脂适中,洗涤时间就适中”
3、“污泥越少,油脂越少,洗涤时间就越短”
x
t
y
NG
MG
LG
SD
VS
M
L
MD
S
M
L
LD
M
L
VL
根据上表,可得9条模糊控制规则如下:
4、模糊逻辑推理
假设某一时刻测得的清晰输入量为x==60,y=70,则根据图2可知道,清晰量x=60模糊化后只是映射到模糊子集MD(x)和LD(x)上;根据图3可知,清晰量y=70经过模糊化后只映射到模糊子集MG(y)和LG(y)上。
从模糊规则表可知,这样的输入量只能激活4条模糊规则:
5、If(污泥isMD)and(油脂isMG)then(洗涤时间isM)
8、If(污泥isMD)and(油脂isLG)then(洗涤时间isL)
6、If(污泥isLD)and(油脂isMG)then(洗涤时间isL)
9、If(污泥isLD)and(油脂isLG)then(洗涤时间isVL)
其相应的蕴涵关系R分别为:
对于控制规则(5)“If(污泥isMD)and(油脂isMG)then(洗涤时间isM)”,其输出为
(t)。
由于MD(60)=0.8,MG(70)=0.6,于是输出
(0.6M)(t)是数值0.6和模糊子集M(t)的数积,依然是个模糊子集,如图所示
对于控制规则(8),“If(污泥isMD)and(油脂isLG)then(洗涤时间isL)”
,其输出是
。
由于MD(60)=0.8,LG(70)=0.4,所以输出
(0.4L)(t)是0.4和L(t)的数积。
对于控制规则(6)“If(污泥isLD)and(油脂isMG)then(洗涤时间isL)”
由于LD(60)=0.2,LG(70)=0.6,所以输出为:
④对于控制规则(9)“If(污泥isLD)and(油脂isLG)then(洗涤时间isVL)”
其输出为
,由于LD(60)=0.2,LG(70)=0.4,所以输出为:
最后总输出的模糊子集U(t),是4个模糊子集
、
、
、
的并;
如上图所示,总输出是个模糊子集,他的隶属函数是一个覆盖10~60分钟的不规则图形。
5、输出模糊量U(t)的反模糊
这里用最大隶属度的方法进行反模糊:
1)用(最大隶属度)最小值法(som)
在论域[10,60]上,最大隶属度为0.6,与其对应时间点设为[t1,t2].他们应该满足M(t1)=M(t2)=0.6,由隶属函数
可得方程(t1-10)/15=0.6和(40-t2)/15=0.6,解这两个方程得出
t1=19分,t2=31分
所以,最大隶属度对应的时间段为19分到31分~~仿真结果如下图:
2)用重心法仿真结果如下:
三、结论总结
虽然这个针对洗衣机洗涤时间的模糊控制器设计是大部分参照教科书的,但是在这个过程中,我也是受益匪浅的。
最开始根本有明白老师要求我们完成的什么,更不知道怎么去设计。
但是,在参考了教科书之后,找到了这个实例,在一步一步的教科书指导下,我的思路渐渐清晰。
除了学会利用MATLAB软件对模糊控制器的设计仿真,更是把课堂上老师讲解的零散的知识点,比如模糊数学、逻辑规则设计等进行系统的复习,整合了一个知识架构,感觉思路理清了很多。
也更加深刻体会了模糊控制器的设计方法及步骤。
实验中,模糊逻辑推理的时候,教材里推理的方法并不是我们上课讲的,所以,我自己用我们上课学到的模糊数学的方法进行分析,最终分析结果竟然跟教材的一样,让我有点点小成就感。
在这个过程中,也有遇到一些下问题,但是通过度娘的帮助或者与同学的讨论,都能够解决,最后在模糊控制系统的设计与仿真中,很遗憾,由于我电脑安装的MATLAB软件的问题,在“把FIS嵌入模糊逻辑控制器”总是连接失败,但是在不断的找寻失败中让我学会了更多种把FIS嵌入模糊控制器的方法。
另外,由于查不到关于自动洗衣机的模糊控制系统原理图,无法把我设计的模糊控制器应用到其中进行仿真,是这个实验最大的遗憾。
附:
液位模糊控制系统的仿真
1、液位模糊控制器的结构:
2、两个输入变量和输出变量的隶属函数:
3、在模型编辑器中构建模糊控制系统的仿真模型图
4、摆好位置:
5、进行连线
6、检查坦克3结构文件嵌入模糊逻辑控制器,是否该模块与sumulink连接成功。
仿真结果:
(动画)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模糊 时间 控制器 设计 Matlab 仿真