题目:设计一个两个输入,单输出的模糊控制器。
解题过程如下:
设计的二维模糊控制器的结构如图1所示。在此控制器中两个输入为机器人与障碍的距离d和机器人所处的环境类型t,输出为转角b。
1. 控制器结构。
与障碍距离a
移动机器人输出转角b
障碍物情况t
图1. 二维模糊控制器结构。
2. 语言变量。
取a的模糊子集:
很近近中远很远。
分别简记为: vn n m f vf
取t的模糊子集为(以障碍物与机器人方向为准(如图2所示))
前左右前左前右左右前左右无。
分别简记为: t1 t2 t3 t4 t5 t6 t7 t8
图2. t的模糊子集对应的环境类型。
取b的模糊子集为:
左快转左转直行右转右快转。
分别简记为: lf l s r rf
3. 计算论域确定。
a的计算论域:[-6,+6] t的计算论域:[1,8] b的计算论域:[-6,+6]
4. 确定隶属函数
障碍距离a(x)与输出转角b(z)的隶属函数为:
障碍物情况t(y)的隶属函数为:
相应的模糊变量赋值表如下:
表1. 模糊变量a的赋值表。
表2. 模糊变量t的赋值表。
表3. 模糊变量b的赋值表。
5. 制定模糊控制规则并建立模糊控制表。
基于操作者手动控制策略,得出如下表所示的40条控制规则。
表4. 控制规则表。
将上表的40条控制规则用语言描述为:
例如控制规则的第一条语句:
由这条语句所确定的模糊关系可用下式写出:
如果实际距离为a,实际环境为t,则由上市可以算出控制量为。
对于a和t的隶属函数值对应于所量化的等级上取1,其余均取0,这样可使上式简化为。
式中是模糊集合第i个元素(即令测量得到的误差为第i等级)的隶属度,而是模糊集合第j个元素(即令测量得到的误差为第j等级)的隶属度。
同理,可以由其余各条语句分别求出控制量,则控制量为模糊集合b,表示为。
由上式计算出的模糊控制量采用加权平均法,将控制量由模糊量变为精确量。
利用计算机可以根据不同的i和j预先计算好控制量b,制成如表5所示的控制表(经过圆整处理),作为“文件”存储在计算机中。当进行实时控制时,便于根据输出的信息,从“文件”中查寻所需采取的控制策略。
表5. 加权平均法模糊控制查询表。
6. 程序设计。
应用matlab程序求解控制查询表。
程序如下:x=-6:6;
vn=exp(-(x+6).^2/4);
n=exp(-(x+3).^2/4);
m=exp(-(x).^2/4);
f=exp(-(x-3).^2/4);
vf=exp(-(x-6).^2/4);
lf=exp(-(x+6).^2/4);
l=exp(-(x+3).^2/4);
s=exp(-(x).^2/4);
r=exp(-(x-3).^2/4);
rf=exp(-(x-6).^2/4);
a=[vn;n;m;f;vf];
b=[lf;l;s;r;rf];
t=eye(8);
guize=['s ' lf' 'rf' 'lf' 'rf' 'lf' 's ' s '
's ' lf' 'rf' 'lf' 'rf' 'lf' 's ' s '
's ' l ' r ' l ' r ' l ' s ' s '
's ' l ' s ' s ' r ' l ' s ' s '
's ' s ' s ' s ' r ' l ' s ' s ']
g=[3 1 5 1 5 1 3 3;3 1 5 1 5 1 3 3;3 2 4 2 4 2 3 3;3 2 3 3 4 2 3 3;3 3 3 3 4 2 3 3];
o=1;for m=1:8
for n=1:5
k=1;for j=m:8:64
for i=n:5:65
if a(i)>=t(j)
c(k)=t(j);
elsec(k)=a(i);
endk=k+1;
endend
c=reshape(c,13,8);
l=1;for i=1:104
k=1;for j=g(n,m):5:65
if c(i)>=b(j)
d(k,l)=b(j);
elsed(k,l)=c(i);
endk=k+1;
endl=l+1;
endk=1;
for i=1:13:13*104
e(k,o)=(6)*d(i)+(5)*d(i+1)+(4)*d(i+2)+(3)*d(i+3)+(2)*d(i+4)+(1)*d(i+5)+d(i+7)+2*d(i+8)+3*d(i+9)+4*d(i+10)+5*d(i+11)+6*d(i+12))/d(i)+d(i+1)+d(i+2)+d(i+3)+d(i+4)+d(i+5)+d(i+6)+d(i+7)+d(i+8)+d(i+9)+d(i+10)+d(i+11)+d(i+12));
k=k+1;
endo=o+1;
endend
h=e';for k=1:40:40*104
for i=1:40
for j=k:k+39-i
if h(j)>=h(j+1)
t=h(j);
h(j)=h(j+1);
h(j+1)=t;
endend
endend
for i=1:13
out(i)=h(5,i);
endfor i=14:26
out(i)=h(6,i);
endfor i=27:39
out(i)=h(15,i);
endfor i=40:52
out(i)=h(16,i);
endfor i=53:65
out(i)=h(25,i);
endfor i=66:78
out(i)=h(26,i);
endfor i=79:91
out(i)=h(35,i);
endfor i=92:104
out(i)=h(36,i);
endfor i=1:104
yz(i)=round(out(i));
endyz=reshape(yz,13,8);
模糊控制作业
模糊控制理论与应用。专业 姓名 学号 指导教师 完成时间 二 一一年八月。1 设在论域e 误差 和控制电压u 上定义的模糊子集的隶属度函数分别如图 所示。图1图2 已知模糊控制规则 规则1 如果误差e为ze,则u为ze 规则2 如果误差e为ps,则u为ns。试应用玛达尼推理法计算当输入误差e 0.6...
2019模糊控制作业
2 建立各语言变量的赋值表。设误差e的基本论域为 5,5 c,输入变量e的论域为 5,4,3,2,1,0,1,2,3,4,5 误差的量化因子为ke 5 5 1。语言变量e选取5个语言值 表1为语言变量e ec的赋值表,表2为语言变量u的赋值表。表1语言变量e ec的赋值表。表2 语言变量u的赋值表。...
微机控制作业
题目1 1 课件中介绍的系统稳定性与那些因素有关?答 系统的放大系数,采样周期。2 稳定条件时间域的计算方法。答 由g s 经部分分式法,直接查找z变换和拉普拉斯变换对应表求得g z 然后求出闭环系统的特征方程f z 1 g z 当k已知根据系统稳定的条件求出采样周期t的范围,当t已知根据系统稳定条...