温度模糊控制的matlab实现与PID的比较
第 三 章 模糊控制原理
3.1 模糊控制的基本思路
在生产中由于种种原因,造成了对某些设备或生产环节至今仍必须由人的手动控制来完成,人的手动控制策略是通过操作者的长期实践积累而形成的,它可以通过人的自然语言来描述,因此这种控制属于语言控制,而人的语言又具有模糊性,故这种语言控制也称为模糊语言控制或简称为模糊控制,从另一个角度看,模糊控制是建立在模糊逻辑基础上的,有人又称之为模糊逻辑控制。
模糊控制通过模糊逻辑和近似推理方法,把人的实践积累形式化.模糊化,变成计算机可以接受的控制模型,让计算机代替人来进行有效的实时控制,为实现模糊控制,语言变量的概念可作为描述手动控制策略的基础,并在次基础上发展为一种新型的控制器---模糊控制器。1:输入量,输出量的模糊量化2:建立模糊控制规则3:输出信息的模糊判决是设计模糊控制器须解决的三个问题
S e E U u ? 控制判对模糊 规则 决 象 d量 化
dt c C
图3-1 模糊控制结构框图
S-系统的设定值,是精确量.
e,c-系统偏差与偏差变化率,均是精确量.
E,C-经模糊量化处理后,偏差与偏差变化率变成的模糊量.
U-模糊量的偏差与偏差变化率经模糊控制规则,近似推理处理后,得到控制作用U
u-对模糊量的控制作用U,经模糊判决,得到模糊控制器输出的精确量的控制作用u,去控制被控对象。
? 9 ?
四川理工学院本科毕业(设计)论文
3.2 精确量的模糊化
3.2.1 模糊控制器的语言变量
模糊控制器的输入变量(常取偏差,偏差变化率)和输出变量(常取控制量)均用自然语言形式给出,而不是以数值形式给出,因此他们不是数值变量,而是语言变量。
在应用中常取语言变量的词集(即语言变量的语言值)为如下7个模糊子集组成的集合:
{负大,负中,负小,零,正小,正中,正大} 或 {NB, NM, NS, ZO, PS, PM, PB}
有时零(ZO)还要细分为正零(PO)和负零(NO),此时词集由8个模糊子集组成。
3.2.2 连续变量的离散化
把模糊控制器的输入变量偏差,偏差变化率的实际范围及输出变量的实际变化范围称为这些变量的基本论域。
设偏差E(e)的基本论域为[-xe,xe],其内的量是精确量,偏差的量化论域为 X={-n, -n+1,?????? 0, ??????, n-1, n} (3-1)
正整数n为将0~Xe范围内连续变化的偏差离散化(或量化)后分成的级数,由于通常Ke不等于n,因此偏差的量化因子Ke定义为
Ke= n /Xe (3-2)
量化因子KE选定后(即n选定后),系统的任何偏差Xi总可量化为论域上的某一元素:
(1) t<=KeXi
? 10 ?
温度模糊控制的matlab实现与PID的比较
{-6,-5 , -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6}
若偏差取[ a, b ]上的量,可用公式
X?{2n/b?a[x?(a?b)/2]}取整数 (3-3)
'
3.3 模糊判决
由模糊控制算法得出的是论域上的模糊集,但被控对象只能接受精确的控制量,这就需要进行输出信息的模糊判决,也就是要把模糊量转化为精确量。设输出模糊集为:
U=u(-s) / (-s)+u(-s+1) / (-s+1)+?????? +u(0) / 0+??????+u(s-1) / (s-1)+u(s) / s (3-4)
常用方法有如下3种: 3.3.1最大隶属度法
设论域U是被识别的全体对象,Ai属于F(U),i=1,2,?????? ,n为以知的n个模糊子集(又称模式),现在要确定一个元素u0属于U属于哪个模式,如果存在一个k属于{1,2, ??????,n},使得
那么,最大隶属原则告诉我们:u0应属于Ak。
最大隶属原则给出判别单点的具体方法,这种方法称为模式识别的直接方法,该方法简单,应用很广,因此应用最大隶属原则的思想,选取隶属度最大的元素作为控制量Um,即若
Ak(u0)=Max {A1(u0), A2(u0),…, A3(u0)} (3?5)
(u)?,s?( ui?maxu(?s
???1???)u,0????,??u,s?,us( (1)), )3-6
则取um=I为控制量,如果上式的i不 唯一,即若
ui1?ui2?????uik
?max(u(?s),u(?s?1),??????,u0,??????,u(s?1),us)
则取
? 11 ?
四川理工学院本科毕业(设计)论文
um?1/k(i1?i2?????ik) (3-7) 为控制量
如果 论域为{-6,-5,…,0,…,5, 6},输出的模糊集合为
1) 2)
u1=0.3/(-1)+0.5/0+0.7/1+1/2+0.6/3
u2=0.1/(-3)+0.3/(-2)+1/(-1)+1/0+1/1+1/2+0.7/3
由最大隶属度法知
对1,
ui=maxU, u2=1? um=2
1对2, ui= maxU2, u(-1)=u0 =u1 = u2?um =(-1+0+1+2)/4=0.5
取整后,可用量化等级中的1级对应的精确值作为控制量。
3.3.2加权平均法
该方法主要有如下3种具体方法.
1)重心法
重心法又称普通加权平均法,公式
ssi ua?(来判决控制量ua 2) u>=0.5的加权平均法
?i?ui??s)/?(ui (3-8) )i??s该公式与重心法基本一致,只是只取分子大于0.5的项 3) 加权平均法
加权平均法又称-权系数加权平均法,公式
ss 来判决控制量uc
uc?(?i?ki)/(?ki) (3-9)
i??si??s? 12 ?
温度模糊控制的matlab实现与PID的比较
3.3.3取中位数法
把输出模糊集的隶属函数曲线与横坐标轴所围成的面积平分成2部分的数,作为判决结果ud,此数可称为中位数,过此数而垂直于横轴的直线可称为中位线 算法略,得出ud=1.425。
用上述判决方法,对同一个模糊子集而言,会得到不同的结果,究竟哪个结果好,要由实践来检验,但作为方法而言,我们还是可以作一些比较。最大隶属法的优点是简单易行,使用方便,算法实时性好,缺点是仅仅利用了最大隶属度的信息,忽略了最小隶属度元素的影响,输出的信息量利用太少。
重心法不仅有公式可循,而且利用了全部信息,取u>=0.5的加权平均法,利用的信息就少些,忽略了u<=0.5的信息,取中位数法也是比较充分的利用了所有输出信息,但计算量太大。
? 13 ?