智能技术与应用实验报告Word文档下载推荐.docx
《智能技术与应用实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《智能技术与应用实验报告Word文档下载推荐.docx(51页珍藏版)》请在冰豆网上搜索。
任务三:
在控制器参数一定的情况下改变被控对象的结构,分析对象结构变化时fuzzycontroller的适应能力。
三、实验分析
要完成以上任务应分两个步骤:
一设计模糊控制器,二用matlab的模糊逻辑工具箱建立模糊推理系统,并在simulink中实现对模糊系统的仿真。
接下来就以对象一为例说明模糊控制系统的仿真。
一、模糊控制器的设计
模糊控制器的设计步骤为:
1、选择控制器的输入输出:
选择误差e及误差变化量ec为输入,u作为输出用于控制对象,这样模糊控制器具有二输入一输出的结构。
2、模糊集及论域的定义:
输入e的模糊子集为{NBNMNSNOPOPSPMPB}
输入ec和输出u的模糊子集均为{NBNMNSZOPSPMPB}
e的论域为{-6-5-4-3-2-1-0+0123456}
ec的论域为{-6-5-4-3-2-10123456}
u的论域为{-7-6-5-4-3-2-101234567}
我们选择三角形作为隶属度函数的形状,e的隶属度函数如
ec的隶属度函数如下图所示:
u的隶属度函数如下图所示
3、确定模糊控制规则,模糊规则表如下:
NB
NM
NS
ZO
PS
PM
PB
NO
PO
表1-1
4、选择输入输出变量的量化因子:
这里暂时选定输入输出的量化因子Ke=Kc=Ku=1,接下来的仿真过程还可以调整。
5、择模糊规则前提交的方法为min,模糊推理方法为min,而反模糊化方法可以在仿真过程中设置。
二、对模糊系统进行仿真
模糊控制系统的控制框图为:
matlab提供的simulink软件包可对控制系统进行仿真。
仿真分两步:
一是在fuzzylogic工具箱中建立模糊推理系统(FIS),二是在simulink中建立完整的模糊控制系统并进行仿真分析。
1、在fuzzylogic工具箱中建立模糊推理系统
模糊逻辑工具箱提供了图形用户界面(GUI)和命令行方式两种方式,但总的来说用GUI工具建立模糊逻辑推理系统更容易些,接下来将介绍GUI方式的使用。
(1)、fuzzylogic工具箱由5个主要的GUI工具来建立、编辑和观察模糊推理系统,这5个工具为:
FIS编辑器:
用于定义并编辑整个系统的输入、输出个数以及推理、解模的方法。
隶属函数编辑器:
用于定义并编辑每个变量模糊子集的隶属函数。
模糊规则编辑器:
用于编辑规则列表
模糊规则观察器和输出曲面观察器:
用于观察模糊推理系统,值得注意的是观察器是只读工具。
这5个GUI工具之间能相互作用并交换信息,任何一个都能对工作区和磁盘进行读写。
接下来就以上面给出的系统为例说明工具箱的使用。
matlab的命令窗口键入fuzzy,系统就打开了FIS编辑器(也可以点击命令窗口左下角的start菜单,然后选择toolbox下的fuzzylogic,再在fuzzylogic下选择FISeditorviewer便可以打开FIS编辑器),FIS编辑器的界面如下所示:
系统在默认值状态下给出了mamdani型控制器,如果要设计一个sugeno控制器,在file菜单下的newfile中选sugeno即可。
在edit菜单下的addvariable中选择input添加一个输入变量,使推理系统成为一个二输入单输出的系统。
单击input1的图标使之变成当前变量,并且可以在该界面右下区的currentvariable的name框中改变变量名为e。
同理也可以改变input2、output的变量名为ec和u。
在该界面的左下区域可以选择模糊交、模糊并、模糊推理、反模糊化的方法。
这里我们可以初选交方法为min,推理方法为min,聚类方法为max,反模糊化方法为mom。
当我们在simulink中仿真时还可以选择不同的反模糊化方法进行比较。
(2)、在FIS编辑器的edit菜单下,选择membershipfunction可以进入隶属函数编辑器。
(也可以双击FIS编辑器的输入或输出变量进入隶属函数编辑器),隶属函数编辑器如下所示:
图1-6
单击输入变量e使之成为当前变量
在edit菜单下选择addmfs弹出对话框用于定义变量e的隶属度函数的类型和语言变量的个数,用同样的方法按前面的设计定义ec、u的隶属度函数的类型和语言变量的个数。
选择一个变量作为当前变量,在该界面的左下区域的currentvariable中设置该变量的范围和显示范围
在该界面的隶属函数图形区选中一条隶属函数曲线为当前隶属函数,并在界面的右下区的currentmembershipfunction定义各隶属函数的名称、类型和参数。
修改隶属函数的参数可以改变隶属函数的形状,但也可以用鼠标拖动隶属函数的方法来改变隶属函数的形状和位置。
(3)、在membershipfunction编辑器的edit菜单下选择rules进入规则编辑器
在connection框中选择推理前提的关系and
选择输入输出变量的语言值,并单击addrule按钮添加规则,也可单击deleterule或changerule删除或修改规则,直到把所有的规则输入完后为止。
在以上三个界面的任何一个file菜单下选择exporttoworkspace或exporttodisk进入存储对话框就可以将建立的推理系统保存在当前工作空间或磁盘中,这样模糊推理系统就建立起来了。
在任一个编辑器的view菜单下选择rule或surface就可以进入模糊规则和模糊推理的观察器。
2、用simulink仿真模糊系统
(1)、模糊控制器和simulink的连接
在命令窗口中键入simulink打开simulink库,并建立一个仿真模型
在simulink库中打开fuzzylogictoolbox,选择fuzzylogiccontroller,并将之拉到仿真模型中
双击仿真模型中的fuzzylogiccontroller进入blockparameters的对话框,并在文本框中输入保存在工作空间的模糊推理系统的名称(如果模糊控制推理系统仅保存在磁盘上,则应先将该FIS存在工作空间,这样才能使控制器和仿真模型连接起来)
这样就完成了模糊控制器和simulink的连接,然后从simulink库中选其它的模块按图1-4的方式建立起一个完整的模糊控制系统。
(2)、对系统进行仿真,完成前面规定的三个任务
实验任务一:
模糊控制器通常可以调节的参数是控制器的反模糊化方法、模糊规则前提并、交的方法、模糊推理的方法以及控制系统中输入输出变量的量化因子。
在这里只仿真不同的反模糊化方法、不同的Ke、Kc、Ku对系统的影响
A)、分析不同的反模糊化方法对系统性能的影响
fuzzylogic工具箱提供了以下几种反模糊化的方法
centroid:
centroidofareamethod
bisector:
bisectorofareamethod
mom:
meanofmaximummethod
som:
smallestofmaximummethod
lom:
largestofmaximummethod
现要求其它参数不变,且设置Ke=6、Kc=5、Ku=8,仿真步长为0.01s,以下是取不同的解模方法时的仿真图:
解模方法为bisector时系统响应为:
解模方法为mom时系统响应为:
解模方法为som时系统响应为:
解模方法为lom时系统响应为:
由以上四种反模糊方法的仿真结果可以看出:
在参数为Ke=6、Kc=5、Ku=8的情况下,最适合该系统的反模糊方法为bisector。
B)、分析不同的量化因子对系统性能的影响
我们根据上面的仿真结果选择bisector为反模糊化方法,分析各量化因子对系统性能的影响:
Ke的影响
当Ke=6、Kc=5、Ku=8时系统响应图为图1-8,性能指标为:
系统可达到稳定状态,且稳态误差为0;
系统的动态响应时间为3.0s。
当Ke=1、Kc=5、Ku=8时系统响应图为:
性能指标为:
系统可达到稳定状态,且稳态误差为0.07;
系统的动态响应速度变慢,当t=10s时,系统输出为0.9。
当Ke=0.5、Kc=5、Ku=8时系统响应图为:
从图可以看出系统的稳态误差更大,动态响应速度更慢。
总结:
根据以上三组数据可以得出:
Ke越大,系统的超调越大,使调节时间增长,过渡过程就越长;
Ke越小,则系统变化越慢,稳态精度降低。
Kc的影响
当Ke=6、Kc=1、Ku=8时系统响应图为:
当Ke=6、Kc=0.5、Ku=8时系统响应图为:
Ke越大,对系统状态变化的抑制能力增大,系统的超调越小,系统的稳定性增加,但系统变化越慢。
当Ke=6、Kc=5、Ku=1时系统响应图为:
当Ke=6、Kc=5、Ku=0.5时系统响应图为:
实验任务二:
仍使用以上设计的模糊控制器,被控对象为:
G(s)=K/【(T1s+1)(T2s+1)】,被控对象的参数有以下四组:
第一组参数:
G(s)=20/【(1.2s+1)(4s+1)】
第二组参数:
(s