模糊控制的基本原理和方法(MATLAB)四_第1页
模糊控制的基本原理和方法(MATLAB)四_第2页
模糊控制的基本原理和方法(MATLAB)四_第3页
模糊控制的基本原理和方法(MATLAB)四_第4页
模糊控制的基本原理和方法(MATLAB)四_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

模糊控制的基本原理和方法

•模糊逻辑控制器的基本结构

•模糊控制系统的设计

•PID控制器模糊增益调节

•利用MATLAB设计模糊控制器

•模糊系统的稳定性分析

•模糊逻辑控制器的基本结构

在采样时刻k,误差和误差的变化定义为:

e

k=丹-yk

。=ek-ek_x

▲模糊化部件

▲知识库

▲决策逻辑一模糊控制系统的核心

▲去模糊化部件

模糊控制中,模糊系统行为按专家知识,以语言规则描述:

多输入多输出(MIMO)转化为多输入单输出(MISO)。

一般规则表示如下:

用:ifx是N;,x?是N:,.....,x是N:,thenj是

JLJy.JLf»•,4X

:ifx,是是N;,.....,x“是N;,then/是

R〃;ifx、茂^N;',x2是N;',.....,x〃是4'then〃是C〃

项和y的论域分别为Oz.和匕用模糊隐含表示:

Rici或%,-U44(巧)一〃B,(y)

jJ

•模糊控制系统的设计

1.模糊化的策略

▲采用单点模糊化

▲选择合适的模糊函数

☆对应于输入测量(确定的)的范围,语言变量域中

应取多少元素,即片中,i取何值?一般5〜30。

☆模糊变量术语集合的数目选取。在细分和粗分之间进

行折中。一般为2〜10。

2.模糊规则的合理调整

按照系统的动态行为可以合理地选择和确定模糊规则:

根据e和△e的方向和大小,选择控制量的增量△u的

大小和方向。

有四种情况:

1.e>0Ae<0(相当于i、v、ix区);

2.e<0Ae<0(相当于ii、vi、x区);

3.e<0Ae>0(相当于iii、vii、xi区);

4.e>0Ae>0(相当于iv、viii、xii区);

有交叉点和峰、谷点。

交叉点:1.e>0-e<0,Ae<0(b.f.j)

2.e<0-e>0,Ae>0

峰点:△?=(),e<0(c.g.k)

谷点:Ae=0,e>0(e.i.m)

控制元规则:

lo如果e和二者都为零,△u=0,保持现状。

2O如果e以满意的速率趋向零,△u=0,保持现状。

3o如果e不是自校正,△口不为零,取决于e和△e的符号和大小。

•对交叉点,△u符号和△e符号一样。

对b,f,j,A"<0

对d>0

•对峰、谷点,△;!符号和e符号一样。

对gg.k,At/<0

对e,i)m,Aw>06

•对i、v、ix区,当e大时,要缩短上升时间,△〃>();

当接近设定值时,A”=0或恐Oo

•对ii、vi、x区,应防止超调,Aw<0

•对iii、vii、xi区,当e大时,要缩短上升时间,Aw<0;

当接近设定值时,△〃=0或〉Oo

•对iv、viii、xii区,应防止超调,减小谷点的峰值,Aw>0o

根据以上规则,我们可以选择和设计模糊控制器

的规则表

6

规则号e△eAu参考点

1PBZEPBa

2PMZEPMe

3PSZEPS1

4ZENBNBb

5ZENMNMf

*

6ZENSNSJ

7NBZENBc

8NSZENMg

9ZEZENSk

10ZEPBPBd

11ZEPMPMh

*

12ZEPSPS1

13ZEZEZE设置点

关于语言相平面方法调整规则

R]:/吴差e是4•和误差导数Ae是与.then控制规则为G.可以写成:

K3[u(k)]=尸[O,K2\e{k}\

厂表示模糊关系,可以是线性或非线性。

调节K/fK2,K3可以修正规则。

什么叫语言相平面?

按误差e(£)和误差变化/£)语言值和相应的规则,构成语言

相平面£xAE,rm

什么叫语言轨迹?

在相平面中,隶属函数为最大的点的连线,

改变K"(改变相应语言轨迹,就可调节系统的动

态行为(品质)。

举例:

4AE△E

K1合适,A:2太小K1太大,长2合适K]合适,犬2合适

S是由K.K2决定的,增加模糊输出语言值,就

应增加K3。

举例:一阶系统的调节。

△E

△E

NBNMNMNSZEZEZE

NBNMNMNSZEZEZE

NBNS国图Z£ZEPS

NMNS国Z£PSPS

NSZE\ZE\ZEPS[PS\[PB

ZEZE\ZEWPF\^MWPM\PB

ZEZEZEPSPMPMPB

上升时间慢,超调量大。

△E

△E

NBNMNMNSZEZEZE

NBNMNMNMZEZEZE

NBNMNSZEZEZEPM

NBNM^S]ZEPSPMS-^

NMZE0ZEPSPM国

ZEZE阳网网网PB

ZEZEZEPSPMPMPB

少了一个州减少超调。尸M与前图相同。

△E

△E

NBNMNMNSZEZEZE

NBNMNBNBZEZEZE

NBNBNBZEPSPMPB

E

NBNMNSZEPSPM^B]

NMZE\NsfzE\pS以

ZEZEIZFIIPFIFFIIPMIPB

ZEZEZEPSPMPMPB

3.模糊规则的完整性、一致性和交换性

•对过程的每一状态,都能推导出一个合适的控制规则,

——控制规则的完整性。

•子集的并,应该以一定程度8覆盖有关论域——控制

规则的8完整性。£>0.5.

•规则之间不存在矛盾.

模糊控制器应用的模式

•PID控制器模糊增益调节

匕i

•模糊PID调节器

精确量

•模糊控制在MATLAB中的实现

假定被控对象的传递函数为:

G=_______.

2(5+0.5)卜2+1.64s+8.456)

•设计一模糊控制器使其超调量不超过1%,输出的上升时间<0.3。

•步骤

1.确定e,de和u的论域

2.e,de和u语言变量的选取

3.规则的制定

4,推理方法的确定

利用MATLAB的Toolbox工具

•1.根据系统实际情况,选择e,de和u的论域

erange:[-11]

derange:[-0.10.1]

urange:[02]

•2.e,de和u语言变量的选取

e8个:NB,NM,NS,NZ,PZ,PS,PM,PB

de7个:NB,NM,NS,Z,PS,PM,PB

U7个:NB,NM,NSZPS,PM,PB

3.模糊规则确定

e

UNBNMNSNZPZPSPMPB

PBPLPMNMNMNMNLNLNB

PMPLPMNMNMNMNSNSNB

PSPLPMNSNSNSNSNMNB

dezPLPMPSZZNSNMNB

NSPLPMPSPSPSPSNMNB

NMPLPLPSPSPMPMNMNB

NBPLPLPLPMPMPMNMNB

4,隐含和推理方法的制定

•隐含采用'mamdani'方法:'max-min'

•推理方法,即'min,方法

•去模糊方法:面积中心法。

•选择隶属函数的形式:三角型

MATLAB

Membershipfunctionplotspoints:

inputvariaole"inputl

Membershipfunctionplots30tpoints:

NMdePMdePBde

-0.8

1.If(inputlisNBe)and(input2isNBde)then(outputlisPBu)(1)

2.If(inputlisNBe)and(input2isNMde)then(outputlisPBu)(1)

3.If(inputlisb4Bc)ond(input2isNSde)then(outputlisPBu)(1)

4.If(inputlisNBejand(input2isZde)then(outputlisPBu)(1)

5.If(inputlisNBe)and(input2isPSde)then(outputlisPBu)(1)

6.If(inputlisNBejand(input2isPMde)then(outputlisPBu)(1)

7.If(inputlisNBejand(input2isPBde)then(outputlisPBu)(1)

8.If(inputlisNMe)and(input2isNBde)then(outputlisPBu)(1)

a.It(inputlisNMejand[input"isNMdeJthen(outputlrsHBuJ(1J

10.If(inputlisNMe)and(input2isNSde)then(oulputlisPMu)(1)

11IfImDutlisNMeland(inDut2isZdelthen(outDutlisPMul(11

12.If(inpudisNMe)and(input2isPSde)then(outputlisPMuj(1)

13.If(inputlisNMe)and(input2isPMde)then(outputlisPMu)(1)

14,If(inputlisNMe)and(input2isPBde)then(outputlisPMu)(1)

15.If(inputlisNSe)and(input2isNBde)then(outputlisPBu)(1)

16,If(inputlisNSe)and(input2isNMde)then[outputlisPSu)(1)

17.If(inputlisNSe)and(input2isNSde)then(outputlisPSu)⑴

18.If[inputlisNSe)and(input2isZde)then(outputlisPSu)(1)

19.If(inputlisNSe)and(input2isPSde)then(outputlisNSu)(1)

20.If(inputlisNSe)and(input2isPMde)then(outputlisNMu)(1)

21.If(inputlisNSe)and(input2isPBde)then(outputlisNMu)(1)

22.If(inDutlisNZelandfinDut2isNBde)thenfoutoutlisPMulH1

23.If(inputlisNZe)and(input2isNMde)then(outputlisPSuJ(1)

24.If(inputlisNZe)and(input2isNSde)then(outputlisPSu)(1)

25.If(inpuUisNZe)and(input2isZde)then(outputlisZu)(1)

26.If(inputlisNZe)and(input2isPSde)then(outputlisNSu)(1)

27.If(inputlisNZe)and(input2isPMde)then(outputlisNMu)(1)

28.If(inputlisNZe)and(input2isPBde)then(outputlisNMu)(1)

29.If(inputlisPSe)and(input2isNBde)then(outputlisPMu)⑴

30.If(inputlisPSe)and(input2isNMde)then(outputlisPMu)(1)

31.If(inputlisPSe)and(input2isNSde)then(outputlisPSu)(1)

32.If(inputlisPSe)arid(input2isZde)then(outputlisNSu)(1)

33IffinoutlisPSelandfinout2isPSdelthenfoutoutlisNSu)(11

34.If(inputlisPSe)and(input2isPMde)then(output!isNSu)(1)

35.If(inputlisPSe)and(input2isPBde)^hen(outputlisNBu)(1)

36.If(inputlisPMe)and(input2isNBde)then(outpuUisNMu)(1)

37.If(inputlisPMe)and(input2isNMde)then(outputlisNMu)(1)

38.If(inputlisPMe)and(input2isNSde)then(outputisNMu)(1)

39.If(inputlisPMe)and(input2isZde)then(outputlisNMu)(1)

40.If(inputlisPMe)and(input2isPSde)then(outputlisNMu)(1)

41If(inputlisPMe)and(input2isPMde)then(outpuUisNSu)(1)

42.If(inputlisPMe)and(input2isPBde)then(outputlisNBu)(1)

43.If(inputlisPBe)and(input2isNBde)then(outputlisNBu](1)

44IffinoutlisPBelandfinout2isNMdelthenfoutoutlisNBu)(11

45.If(inpudisPBe)and(input2isNSde)then(outpudisNBu)(1)

46.If(inputlisPBe)and(input2isZde)then(outputlisNBu)(1)

47.If(inputlisPBe)and(input2isPSde]then(outputlisNBu)(1)

48.If(inputlisPBe)and(input2isPMde)then(outputlisNBu)(1)

49.If(inputlisPBe)and(input2isPBde)then(output!isNBu)(1)

50.If(inputli$PZe)and(input2isNBde]then(outputlisPMu)(1)

51.If(inputlisPZe)arid(input2isNMde)then(outpudisPMu)(1)

52.If(inputlisPZe)and(input2isNSde)then(outpudi$PSu)(1)

53.If(inputlisFZejand(input2isZde)then(outputlisZu)(1)

54.If(inputlisPZe)and(input2isPSde)then(outputlisNSu)(1)

55.IffinoutlisFZelandiinoutZisPMdelthenfoutDUtlisNMu)H]

26,H(tubn(jpbS©)9uq"ub叫5\zbBAe)9gb屋n网可⑴

mputl=0mput2=0outputl=0.999

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

石洛图落区陶自雷印导石S百耳程5y名导S诟晶匾点次出

05

e

OA

Scope1Scope2

Scope3

・模糊系统的稳定性分析

为了分析模糊系统的稳定性,把常用的一阶模糊系统改写:

Ri:Ifx是^4'>X混_/;)•…x堤_4;)

x

Theny=p'。+P\x+…+k

i=192;,__77.

这是Takagi—Sugeno一阶模型。改写为:

R1:Ifx(左)是4',x(k-1)是4,…,x(k—H+1)是4:,

Thenx(k+1)=a;x(k)+...+a:x(k)

i=1,2,…/.

进一步,写成矩阵形式:

x(k+l)=A1x(k)

xQk)号R”,4wR"xR

xQk+1)=[),xQk—1),--xQk—n+1)]

a[a24〃

1ooO

o1oo

oooo

oooo

oo1o

寸隹理彳寻至u的才莫小胡输出:

x(k+1)=Zw'A.x{k}/Z”

7=1i=\

/是模糊隐含的数目,

n

M/=F(N;[x(A_p+l)]

〃=1

x{k+1)=Zw'4x(,)/Zw'

Z=1i=l

这是一个模糊系统,可以看成是一个离散系统,它由许多

子系统组成。

这系统在什么条件下能够稳定呢?

根据Lyapunov稳定理论,只要存在一个公共的正定矩阵£使:

T

AIAI-P<0

则该系统必定全局渐近稳定。

可以证明,此结论是正确的。证明见书本。

举例:

考虑一个过程的模糊模型:

R\ifx(A)是H,thenx\k+1)=2.178x(A)-0.588x(k-1)+0.603"(A)

R2:ifx(k)是A'thenx\k+l)=2.256x(A)-0.361-1)+1.120

模型的输

x(k+1)=[“上(/+1)+w%?(,+1)]/(信+>v2)

”和W2是权值。

模糊控制器为:

2?1.ifx(A)是],务的〃1(左)=-2.109x(k)+0.475x(k-1)

R2.ifx(k)是A2,thenu\k)=-1.205x(k)+0.053x(k-1)

合成的模糊控制器为:,

«(A)=[>v1M1(Zr)+>v2i/2(A)]/(>v1+>v2)

合成的总系统

x/+l)={[0.906(IV1)2x(/l)-0.302(IV1)2x(/l-l)]

+[1.345O%2)X(A)—o385(>V%2)X(A—1)]

+{[0.906")2*(△)—()302")2*(4—(]}

12

/[(IV)+2枕%2+(步2)2]

对照下式:

x(k+1)=Zw'4・X(A)/Zw'

i=\i=l

合成的总系统可以分解如下:

1111

7?:ifx(A)是(R和卬),thenx(k+1)=Anx{k}

=0.906於)-0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论