模拟控制器的设计实例洗衣机的模糊控制.docx
- 文档编号:28953981
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:14
- 大小:248.35KB
模拟控制器的设计实例洗衣机的模糊控制.docx
《模拟控制器的设计实例洗衣机的模糊控制.docx》由会员分享,可在线阅读,更多相关《模拟控制器的设计实例洗衣机的模糊控制.docx(14页珍藏版)》请在冰豆网上搜索。
模拟控制器的设计实例洗衣机的模糊控制
模拟控制器的设计实例——洗衣机的模糊控制
传统的洗衣机都是人们用肉眼观看后,根据人的经验来调整洗衣时间和用水量,而模糊控制就是以人对被控对象的控制经验为依据而设计的控制器,这样就能实现控制器模拟人的思维方式来控制洗衣机。
以模糊洗衣机的设计为例其控制是一个开环的决策过程,模糊控制按以下步骤进行。
1.模糊控制器的结构
选用单变量二维模糊控制器。
控制器的输入为衣物的污泥和油脂,输出为洗涤时间。
2.定义输入、输出模糊集
将污泥分为3个模糊集:
SD(污泥少),MD(污泥中),LD(污泥多);取值范围为[0,100]。
3.定义隶属函数
选用如下隶属函数
采用三角形隶属函数可实现污泥的模糊化。
Matlab实现污泥隶属度函数的设计,其仿真程序为0001.m
Closeall;
N=2;
x=0:
0.1:
100;
fori=1:
N+1
f(i)=100/N*(i-1);
end
u=trimf(x,[f
(1),f
(1),f
(2)]);
figure
(1);
plot(x,u);
forj=2:
N
u=trimf(x,[f(j-1),f(j),f(j+1)]);
holdon;
plot(x,u);
end
u=trimf(x,[f(N),f(N+1),f(N+1)]);
holdon;
plot(x,u);
xlabel(‘x’);
ylabel(‘Degreeofmembership’);
污泥程序仿真结果:
将油脂分为三个模糊集:
NG(无油脂)MG(油脂中)LG(油脂多),取值范围为[0,100]
选用如下隶属度函数
采用三角形隶属函数实现油脂的模糊化。
Matlab实现油脂隶属度函数的设计,其仿真程序为0002.
Closeall;
N=2;
x=0:
0.1:
100;
fori=1:
N+1
f(i)=100/N*(i-1);
end
u=trimf(y,[f
(1),f
(1),f
(2)]);
figure
(1);
plot(y,u);
forj=2:
N
u=trimf(y,[f(j-1),f(j),f(j+1)]);
holdon;
plot(y,u);
end
u=trimf(y,[f(N),f(N+1),f(N+1)]);
holdon;
plot(y,u);
xlabel(‘y’);
ylabel(‘Degreeofmembership’);
油脂程序仿真结果:
将洗涤时间分为五个模糊集:
VS(很短)S(短)M(中等)L(很长)取值范围为[0,60]
选用如下隶属函数
采用三角形隶属函数实现洗涤时间的模糊化,其Matlab仿真程序如下:
Closeall;
Z=0:
0.1:
60;
U=trimf(z,[0,0,10]);
Figure
(1);
Plot(z,u);
U=trimf(z,[0,10,25]);
holdon;
plot(z,u);
U=trimf(z,[10,25,40]);
holdon;
plot(z,u);
U=trimf(z,[25,40,60]);
holdon;
plot(z,u);
U=trimf(z,[40,60,60]);
holdon;
plot(z,u);
xlabel(‘z’)
ylabel(“Degreeofmembership”);
洗涤时间仿真程序结果:
4.建立模糊控制规则
根据人的操作经验设计模糊规则,模糊规则设计的标准为:
“污泥越多,油脂越多,洗涤时间越长”;“污泥适中,油脂适中,洗涤时间适中”;“污泥越少,油脂越少,洗涤时将越短”。
5.建立模糊控制表
根据模糊规则设计标准,建立模糊规则表
模糊洗衣机的洗涤规则
洗涤时间z
污泥x
NG
MG
LG
油
脂
y
SD
VS*
M
L
MD
S
M
L
LD
M
L
VL
第*条规则为:
“IF衣物污泥少且没有油脂THEN洗涤时间很短”。
模糊推理:
分以下几步进行
(1)规则匹配:
假定当前传感器测得的信息
(污泥)=60,
(油脂)=70,分别代入所属的隶属函数中,求隶属度为
,
,
通过上述4种隶属度,可得到4条匹配的模糊规则
模糊推理结果
洗涤时间z
污泥x
NG
MG(3/5)
LG(2/5)
油
脂
y
SD
0
0
0
MD(4/5)
0
LG(1/5)
0
(2)规则触发
由表3-2可知,被触发的规则有4条,即
Rule1:
IFyisMDandxisMGTHENzisM
Rule2:
IFyisMDandxisLGTHENzisL
Rule3:
IFyisLDandxisMGTHENzisL
Rule4:
IFyisLDandxisLGTHENzisVL
(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
污泥x
NG
MG(3/5)
LG(2/5)
油
脂
y
SD
0
0
0
MD(4/5)
0
3/5
2/5
LD(1/5)
0
1/5
1/5
(4)将上述两个表进行“和”运算
得到每条规则总的可信度输出
规则总的可信度
洗涤时间z
污泥x
SG
MG(3/5)
LG(2/5)
油
脂
y
ND
0
0
0
MD(4/5)
0
min(
)
min(
)
LD(1/5)
0
min(
)
min(
)
(5)模糊系统的输出
模糊系统总的输出为各条规则可信度推理结果的并集,即
=
[11]
可见,有3条规则被触发。
(6)反模糊化
模糊系统总的输出
实际上是3个规则推理结果的并集,需要进行反模糊化才能得到更精确的推理结果。
下面以最大平均法为例,进行反模糊化。
洗衣机的模糊推理过程如图3-4和图3-5所示。
由图可知,洗涤时间隶属度最大值为
。
将
代入洗涤时间隶属度函数中的
,得到规则前提隶属度
。
和规则结论隶属度
的交点,即
得到
采用最大平均值法,可得精确输出为
即所需要的洗涤时间为25分钟。
洗衣机的3个规则被触发
仿真实例采用Matlab中模糊控制工具箱等的模糊命令设计洗衣机模糊控制系统。
采用本节隶属函数按上述步骤设计。
取
,反模糊化采用重心法,模糊推理结果为33.6853。
利用模糊命令ruleview可实现模糊控制的动态仿真
洗衣机模糊控制系统仿真程序如下:
closeall:
a=newfis(‘fuzz-wash’);
a=addvar(a,‘input’,‘x’,[0,100]);%FuzzyStain
a=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]);%FuzzyAxunge
a=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’,[0,60]);%FuzzyTime
a=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]);
rulelist=[11111:
12311:
13411:
21211:
22311:
23411:
31311:
32411:
33511];
a=addrule(a,rulelist);showrule(a)%showfuzzy
rulebaseal=setfis(a,‘DefuzzMethod’,‘mom’);%Defuzzy
writefis(al,‘wash’);%Savetofuzzyfile“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’);%DynamicSimulation
x=60;y=70;
z=evalfis([x,y],a2)%Usingfuzzyinference
采用本节隶属函数按上述步骤设计
取
,反模糊化采用重心法,模糊推理结果为33.6853。
利用模糊命令ruleview可实现模糊控制的动态仿真
洗衣机的组合输出及反模糊化
图3-6动态仿真模糊系统
通过上述内容,得出理论数值和仿真数值非常接近,所以设计的是符合理论和实际的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟 控制器 设计 实例 洗衣机 模糊 控制