资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
智能控制实验指导书河北工业大学控制科学与工程学院2013.09实验一 基于MATLAB的模糊推理系统设计一、 实验目的要求在掌握模糊控制器基本工作原理和设计方法的基础上,熟悉MALAB的模糊控制工具箱,能针对实际问题设计模糊控制器,建立模糊控制系统,训练学生综合运用计算机来解决一些实际问题的能力。二、 实验要求1. 熟练掌握基于MATLAB的模糊推理系统设计;2. 设计小费模糊推理系统;3. 设计水箱液位模糊控制系统。三、 实验内容(一)模糊逻辑工具箱的介绍模糊逻辑工具箱提供的图形用户界面(GUI)工具有五个:模糊推理系统(FIS)编辑器;隶属函数编辑器;模糊规则编辑器;模糊规则观察器;输出曲面观察器。1. FIS编辑器:Matlab的FIS界面如图1所示。FIS处理系统有多少个输入变量,输出变量,名称是什么,模糊算子“与”(min,prod乘积,custom自定义),“或”(max大,probor 概率统计方法,custom),推理方法(min,prod,custom),聚类方法(max,probor,sum,custom),解模糊的方法(centroid质心法,bisector中位线法,middle of maximum,largest of maximum,smallest of maximum)。推理的类型有mamdani和sugeno 推理。图1 模糊推理系统(FIS)界面Mamdani推理:一种在模糊控制中普遍使用的方法,它本质上仍然是一种合成推理方法,只不过对模糊蕴涵关系取不同的形式而已。Mamdani型推理从每个规则的结果中得到的模糊集通过聚类运算后得到结果模糊集,被反模糊化后得到系统输出。Sugeon型推理:其中每个规则的结果是输入的线性组合,而输出是结果的加权线性组合。2. 隶属函数编辑器确定各个变量的论域和显示范围(左下角编辑区内),如图2所示。定义每个变量的模糊集的名称和个数(Edit菜单中Add MFs),以及每个模糊变量的隶属函数类型和参数(点击变量的隶属函数曲线后在右下角编辑区内修改)。隶属函数的类型有:trimf,trapmf,gbellmf, gaussmf,gauss2mf,sigmf,dsigmf,psigmf,pimf,smf,zmf。图2 隶属函数编辑器3. 模糊规则编辑器完成了对变量的命名,隶属函数也有了适当的形状和名字,就可以编辑模糊规则。选择连接关系(and 或者or),权重,在编辑器左边选择一个输入变量,并选择它的语言值,然后在编辑器右边的输出变量中选择一个输出变量,并选中它的语言值,然后将这种联系添加到模糊规则中。 Options/Format 下可以选择模糊规则不同的格式,默认的是verbose(模糊规则的详细格式),还有symbolic(符号格式),indexed(高度压缩格式)4. 模糊规则观察器模糊规则观察器的功能是可以令用户观察模糊推理图,并观察模糊推理系统的行为是否与预期的一样。可以观察到输入变量(默认色是黄色)和输出变量(默认色是蓝色)如何应用在模糊规则中;反模糊化的数值是多少。5. 输出曲面观测器模糊规则观察器非常详细的显示了在某一个时刻的计算。如果看到模糊推理系统的全部输出曲面,即与整个输入区间相对应的输出区间,就要打开输出曲面观测器。View/view surface(二)小费模糊推理系统设计1. 在MATLAB的命令窗口输入fuzzy命令,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Madmdani模糊推理系统。2. 增加一个输入变量,在弹出的窗口中选择EditAdd Variableinput;在name中更改input1为“service”,input2为“food”,output为“tip”,建立了一个两输入单输出模糊推理系统框架。 3. 双击变量图标进行模糊化模块设计:(1)打开Membership Function Editor窗口,在Range和Display Range中设置隶属函数图的取值范围,将两个输入变量的论域均设为0,10,输出论域为0,30。(2)选择EditAdd MFsnumbers of MFs 中选择模糊集个数通过增加隶属度函数来进行模糊空间划分。输入变量service划分为三个模糊集:更改mf1mf3的参数,分别命名为poor、good和excellent,隶属度函数均为高斯函数( gaussmf),参数分别为1.5 0、1.5 5和1.5 10。输入变量food划分为两个模糊集:rancid和delicious,隶属度函数均为梯形函数(trapmf ),参数分别为0 0 1 3和7 9 10 10。输出变量tip划分为三个模糊集:cheap、average和generous,隶属度函数均为三角形函数(trimf),参数分别为0 5 10、10 15 20和20 25 30。4. 设置模糊规则:打开Rule Editor窗口,通过选择添加三条模糊规则: if (service is poor) or (food is rancid) then (tip is cheap) if (service is good) then (tip is average) if (service is excellent) or (food is delicious) then (tip is generous)三条规则的权重均为1。5. 模糊推理参数均使用默认值,通过曲面观察器(ViewSurface)查看小费模糊推理的输入输出关系曲面。通过规则观察器(ViewRules)查看对具体输入的模糊推理及输出情况,输入各种不同的数据,查看模糊推理情况及输出数据。6. 增加规则,查看曲面的变化、推理输出的变化。 (三)水箱液位模糊控制系统设计1. 打开模糊工具箱的图形用户界面窗口,新建一个Madmdani模糊推理系统。2. 增加一个输入变量,将输入变量命名为level、rate,输出变量为valve,这样建立了一个两输入单输出模糊推理系统,保存为tank.fis。3. 设计模糊化模块:将输入变量rate的论域设为-0.1,0.1,另外两个变量采用论域-1,1。通过增加隶属度函数来进行模糊空间划分。输入变量level划分为三个模糊集:high、okay和low,隶属度函数均为高斯函数,参数分别为0.3 -1、0.3 0和0.3 1;输入变量rate划分为三个模糊集:negative、none和positive,隶属度函数均为高斯函数,参数分别为0.03 -0.1、0.03 0和0.03 0.1;输出变量valve划分为五个模糊集:close_fast、close_slow、no_change、open_slow和open_fast,隶属度函数均为三角形函数,参数分别为-1 -0.9 -0.8、-0.6 -0.5 -0.4、 -0.1 0 0.1、0.2 0.3 0.4和0.8 0.9 1。4. 设置模糊规则:打开Rule Editor窗口,通过选择添加三条模糊规则:if (level is okay) then (valve is no_change)if (level is low) then (valve is open_fast)if (level is high) then (valve is close_fast)if (level is okay) and (rate is positive) then (valve is close_slow)if (level is okay) and (rate is negative) then (valve is poen_slow)五条的权重均为1。5. 通过曲面观察器(Surface Viewer)查看水箱液位模糊推理的输入输出关系曲面。通过规则观察器(Rule Viewer)查看对具体输入的模糊推理及输出情况。 实验二 模糊控制系统设计一、 实验目的利用Matlab软件实现模糊控制系统仿真实验,了解模糊控制的基本原理及实现过程,比较模糊控制和传统PID控制的性能差异。二、 实验要求1. 设计一个二维模糊控制器控制一个二阶被控对象,传递函数为 其中各参数分别为。2. 采用模糊控制算法,设计出能跟踪给定输入的模糊控制器,对被控系统进行仿真,绘制出系统的阶跃响应曲线。3. 改变模糊控制器中模糊变量的隶属度函数,分析隶属度函数和模糊控制规则对模糊控制效果的影响,比较那种情况下的控制效果较好。4. 改变系统的参数,了解模糊控制在系统参数发生变化时的控制效果,并与PID控制器作用下系统参数发生变化时的控制效果进行比较,思考模糊控制相对于传统控制的优点。三、 实验内容(一)模糊控制器设计1. 模糊集合及论域的定义选定误差E和误差变化EC作为模糊控制器的输入(二维模糊控制器),控制量U作为模糊控制器的输出。E、EC及U的模糊集定义如下:E、EC和U的模糊集均为NB, NM, NS, O, PS, PM, PBE和EC的论域为-6、-5、-4、-3、-2、-1、0、1、2、3、4、5、6U的论域为-7、-6、-5、-4、-3、-2、-1、0、1、2、3、4、5、6、7上述3个模糊集合都选取了7个元素,主要目的是着眼于提高稳态精度。E、EC和U的隶属度函数图形如图所示:图1 E的隶属度函数图2 C的隶属度函数图3 U的隶属度函数2. 模糊控制规则设计表1 模糊控制规则U EECNBNMNS0PSPMPBNBPSPSPSPSPMPBPBNMNSPSPSPSPMPMPBNSNMNS00PSPMPM0NBNMNS0PSPMPMPSNBNMNS00PSPMPMNBNBNMNSNSPSPSPBNBNBNMNSNSNSPS进行模糊控制仿真时,首先要将FIS发送到Matlab工作空间(workspace)中,用FIS窗口下File/Export/to workspace实现,用户建立一个工作空间变量名(例如fuzzy control),这个变量将FIS系统作为Matlab的一个结构进行工作。仿真时,打开fuzzy logic controller,输入FIS变量名,就可以进行仿真了。3. 建立仿真模型在MATLAB的simulink仿真环境中建立模糊控制系统的方框图,如图4所示。系统所选用的参数Saturation、Saturation1、Saturation2的范围分别为-6 6、-6 6、-7 7,Transport Delay=2s。通过调试得到PID模糊控制的参数:Gain1=0.6,Gain=2.1,Gain2=0.11。图4 模糊控制仿真模型4. 仿真结果系统的阶跃响应曲线如图5所示,其中上方的曲线代表系统的阶跃响应,下方的曲线是系统的模糊控制量的变化。图5 阶跃输入的响应曲线图(二)分析模糊控制隶属度函数对控制效果的影响如下图所示改变模糊控制器中的隶属度
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号