您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 《模糊控制》实验指导书
《模糊控制》实验指导书李士勇沈毅周荻邱华洲袁丽英实验名称:实验地点:指导教师:联系电话:HarbinInstituteofTechnology2005.3模糊控制实验指导书一、实验目的利用Matlab软件实现模糊控制系统仿真实验,了解模糊控制的查询表方法和在线推理方法的基本原理及实现过程,并比较模糊控制和传统PID控制的性能的差异。二、实验要求设计一个二维模糊控制器分别控制一个一阶被控对象11)(11sTsG和二阶被控对象)1)(1(1)(212sTsTsG。先用模糊控制器进行控制,然后改变控制对象参数的大小,观察模糊控制的鲁棒性。为了进行对比,再设计PID控制器,同样改变控制对象参数的大小,观察PID控制的鲁棒性。也可以用其他语言编制模糊控制仿真程序。三、实验内容(一)查询表式模糊控制器实验设计查询表法是模糊控制中的最基本的方法,用这种方法实现模糊控制决策过程最终转化为一个根据模糊控制系统的误差和误差变化(模糊量)来查询控制量(模糊量)的方法。本实验利用了Matlab仿真模块——直接查询表(Directlook-uptable)模块(在Simulink下的FunctionsandTables模块下去查找),将模糊控制表中的数据输入给Directlook-uptable,如图1所示。设定采样时间(例如选用0.01s),在仿真中,通过逐步调整误差量化因子Ke,误差变化的量化因子Kec以及控制量比例因子Ku的大小,来提高和改善模糊控制器的性能。模糊控制器设计步骤:1、选定误差E和误差变化EC作为模糊控制器的输入(二维模糊控制器),控制量U作为模糊控制器的输出。E,EC和U的模糊集及其论域定义如下:EC和U的模糊语言变量集均为{NB,NM,NS,ZO,PS,PM,PB}E的模糊语言变量集为{NB,NM,NS,NO,PO,PS,PM,PB}E和EC论域为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}U的论域为{-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7}确定模糊变量的赋值表:对模糊变量赋值,就是确定论域内元素对模糊语言变量的隶属度。各个变量的赋值表见《模糊控制、神经控制和智能控制论》一书的283页。利用计算机根据赋值表进行计算,并采用最大隶属度法的解模糊方法,可以得到模糊控制查询表,如表1所示。表1模糊控制表UECE-6-5-4-3-2-10+1+2+3+4+5+6-67777777442000-56666666442000-47777777442000-37666666320-1-1-1-24445441000-1-1-1-14445441000-3-2-1+02222000-1-1-1-4-4-4+1222200-1-4-4-4-4-4-4+212120-3-4-4-4-4-4-4-4+30000-3-3-6-6-6-6-6-6-6+4000-2-4-4-7-7-7-7-7-7-7+5000-2-4-4-7-6-6-6-6-6-7+6000-2-4-4-7-7-7-7-7-7-7在进行仿真时将上述表格中元素以矩阵形式输入到matlab直接查询表(Directlook-uptable)模块中,直接查询表模块参数的修改可以直接在对话框中修改(注意,各行元素之间须以分号隔开),也可以在Simulink/Tools/Look-uptableeditor中进行修改。图1查询表法的仿真模型2、建立仿真模型仿真模型如图1所示。考虑到输入变量的变化范围,有可能超出表中给定的值,选择了两个饱和环节saturation1和saturation2(在simulink/discontinuities查找这个模块)作为超限的保护。Roundingfunction(在simulink/math中查找)是四舍五入环节,将小数转换为整数。因为directlook-uptable中行和列的起始号都是从零开始的,所以输入到directlook-uptable中的变量要加一个偏移量+6。Scope模块(在simulink/sinks中查找)是示波器,可以直接观察系统的输出曲线,并可以进行存储、打印。3、设置仿真模型中各个模块的参数。先设置一阶对象中的T1为2,二阶对象中的T1、T2的分别为2和4,然后设定仿真时间(点击仿真模型窗口上simulation/simulationparameters进行设定)。打开directlook-uptable,将表1中的元素以矩阵形式输入到Tabledata中。然后调节Ke,Kec,和Ku的参数(对一阶系统参考数据分别是100,1,-1,二阶系统参考数据是200,5,-200),直到符合要求(如误差小于1%或者超调量小于5%)为止,观察输出曲线。改变控制对象参数(在Matlab中,对象参数修改很方便,只要双击对象模块,以向量形式给出传递函数形式对象的系数),仔细观察输出曲线,并讲实验结果填写到实验报告的表格中。本实验中,一阶对象的变化范围可以选择1~10;二阶对象参数变化范围,T1选择1~5,T2选择1~5)。4、建立PID仿真模型为了和模糊控制做比较,也建立了PID控制的仿真模型,如图2所示。调节PID参数(参考数据是100,2,50)。观察输出曲线同样在二阶对象下调节PID的参数,然后改变对象参数,观察PID控制系统输出曲线。仿真框图如图2(a)所示。(a)中的PID子系统框图如图2(b)所示。图2(a)图2(b)PID控制仿真模型二阶系统的模糊控制输出曲线如图3所示:图3模糊控制系统输出曲线二阶系统的PID控制输出曲线如图4所示:图4PID控制系统输出曲线当改变控制对象的参数时,再观察模糊控制系统输出曲线,将结果填入实验报告表格中。(二)在线模糊推理方法的模糊控制1、模糊推理的五个步骤1)输入变量的模糊化fuzzyinputs这是模糊推理的第一步,是获取输入变量,并确定它们的隶属函数,从而确定属于每个模糊集合的隶属度。2)应用模糊算子ApplyFuzzyOperator完成了输入模糊化,就知道了对于每个模糊规则,前提中每一个部分被满足的程度。如果一个给定规则的前提有多个部分,则要应用模糊算子来获得一个数值,这个数值表示前提对于该规则的满足程度。模糊算子有模糊交(AND)和模糊或(OR)算子。3)应用推理方法ApplyImplicationMethod推理的类型有mamdani和sugeno推理。Mamdani推理法是一种在模糊控制中普遍使用的方法,它本质上仍然是一种合成推理方法,只不过对模糊蕴涵关系取不同的形式而已。Mamdani型推理,从每个规则的结果中得到的模糊集通过聚类运算后得到结果模糊集,被反模糊化后得到系统输出。Sugeon型推理:其中每个规则的结果是输入的线性组合,而输出是结果的加权线性组合。4)输出的聚类AggregateAllOutputs由于决策是在对模糊推理系统中所有规则进行综合考虑的基础上做出的,因此必须以某种方式将规则结合起来以做出决策。聚类就是这样一个过程,它将表示每个规则输出的模糊集结合成一个单独的模糊集。聚类方法有max,probor(概率乘),sum。其中,sum执行的是各规则输出集的简单相加。5)解模糊化Defuzzify解模糊化过程也叫反模糊化过程,它的输入是一个模糊集,既上一步的聚类输出模糊集,其输出为一个单值。模糊集的聚类中包含很多输出值,因此必须进行反模糊化,以从集合中解析出一个单输出值。2、模糊逻辑工具箱的介绍模糊逻辑工具箱提供的图形用户界面(GUI)工具有五个:模糊推理系统(FIS)编辑器;隶属函数编辑器;模糊规则编辑器;模糊规则观察器;输出曲面观察器。1)FIS编辑器:Matlab的FIS界面如图3所示。FIS处理系统有多少个输入变量,输出变量,名称是什么,模糊算子“与”(min,prod乘积,custom自定义),“或”(max大,probor概率统计方法,custom),推理方法(min,prod,custom),聚类方法(max,probor,sum,custom),解模糊的方法(centroid质心法,bisector中位线法,middleofmaximum,largestofmaximum,smallestofmaximum)。图3模糊推理系统(FIS)界面2)隶属函数编辑器:确定各个变量的论域和显示范围(左下角编辑区内),如图4所示。定义每个变量的模糊集的名称(如负大、负中、负小、零、正小、正中、正大)和个数(Edit菜单中AddMFs),以及每个模糊变量的隶属函数类型和参数(点击变量的隶属函数曲线后在右下角编辑区内修改)。隶属函数的类型有:trimf,trapmf,gbellmf,gaussmf,gauss2mf,sigmf,dsigmf,psigmf,pimf,smf,zmf图4隶属函数编辑器3)模糊规则编辑器:完成了对变量的命名,隶属函数也有了适当的形状和名字,就可以编辑模糊规则。选择连接关系(and或者or),权重,在编辑器左边选择一个输入变量,并选择它的语言值,然后在编辑器右边的输出变量中选择一个输出变量,并选中它的语言值,然后将这种联系添加到模糊规则中。Options/Format下可以选择模糊规则不同的格式,默认的是verbose(模糊规则的详细格式),还有symbolic(符号格式),indexed(高度压缩格式)4)模糊规则观察器模糊规则观察器的功能是可以令用户观察模糊推理图,并观察模糊推理系统的行为是否与预期的一样。可以观察到输入变量(默认色是黄色)和输出变量(默认色是蓝色)如何应用在模糊规则中;反模糊化的数值是多少。5)输出曲面观测器模糊规则观察器非常详细的显示了在某一个时刻的计算。如果看到模糊推理系统的全部输出曲面,即与整个输入区间相对应的输出区间,就要打开输出曲面观测器。View/viewsurface…3、在线推理模糊控制器的设计步骤:1)确定模糊规则误差E、误差变化EC及控制量U的模糊集定义如下:EC和U的模糊集均为:{NB,NM,NS,ZO,PS,PM,PB}E的模糊集为:{NB,NM,NS,NO,PO,PS,PM,PB}确定每个模糊集的隶属函数,本实验可以在FIS中选择隶属函数的形状和参数。确定模糊控制规则:一般如表2所示表2模糊控制规则UECENBNMNSZOPSPMPBNBPBPBPBPMPMZOZONMPBPBPBPMPMZOZONSPMPMPMZOZONSNSNOPMPMPSZONSNMNMPOPMPMPSZONSNMNMPSPSPSZONMNMNMNMPMZOZONMNBNBNBNBPBZOZONMNBNBNBNB2)建立仿真模型图5在线推理方式模糊控制仿真模型在MATLAB的simulink仿真环境中建立模糊控制系统的方框图。如图5所示。其中有信号发生器,比较器,放大器(Gain),零阶保持器,多路混合器(Mux),模糊逻辑控制器(FIS)(在SimulinkLibraryBrowser/FuzzyLogicToolbox下添加),控制对象,示波器(scope)。3)模糊逻辑控制系统(FIS)模块参数设置模糊逻辑控制系统的参数对控制性能影响很大,因此参数设置是实验的重点内容,具体步骤如下:a.打开Matlab的FIS编辑器(双击Fuzzylogictoolbox下的FISEditorViewer),确定模糊推理输入变量和输出变量的个数、名字。b.打开隶属函数编辑器,选定变量的论域和显示范围,选择隶属函数的形状和参数。c.打开模糊规则编辑器,编辑模糊规则。d.重新回到FIS编辑器界面,选择模糊算子,推理方法,聚类方法,解模糊的方法等(centroid,bisector,middleofmaximum,largestofmaximum,smallestofmaximum)。e.用模糊规则观察器或输出曲面观察器,观看模糊推理情况。f.将建立的FIS保存到磁盘,文件名后缀为.fis。g.进行模糊控制仿真时,首先要将FIS发送到Matlab工作空间(wor
本文标题:《模糊控制》实验指导书
链接地址:https://www.777doc.com/doc-2840633 .html