查询表式模糊逻辑推理器指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
查询表式模糊控制器设计实验指导书
一、 实验目的
利用Matlab 软件实现模糊控制系统仿真实验,了解模糊控制的查询表方法的基本原理及实现过程,并找出参数Ke ,Kec ,和Ku 对模糊控制器性能影响的规律。
二、 实验要求
设计一个二维模糊控制器分别控制一一个一阶被控对象1
1
)(11+=s T s G 。先用
模糊控制器进行控制,然后改变控制对象参数的大小,观察模糊控制的鲁棒性,找出参数Ke ,Kec ,和Ku 对模糊控制器性能影响的规律。
三、 实验内容
查询表法是模糊控制中的最基本的方法,用这种方法实现模糊控制决策过程最终转化为一个根据模糊控制系统的误差和误差变化(模糊量)来查询控制量(模糊量)的方法。本实验利用了Matlab 仿真模块——直接查询表(Direct look-up table )模块(在Simulink 下的Functions and Tables 模块下去查找),将模糊控制表中的数据输入给 Direct look-up table ,如图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所示。
在进行仿真时将上述表格中元素以矩阵形式输入到matlab直接查询表(Direct look-up table)模块中,直接查询表模块参数的修改可以直接在对话框中修改(注意,各行元素之间须以分号隔开),也可以在Simulink/Tools/Look-up table editor 中进行修改。
图1 查询表法的仿真模型
2、建立仿真模型
仿真模型如图1所示。考虑到输入变量的变化范围,有可能超出表中给定的值,选择了两个饱和环节saturation1和saturation2(在simulink/discontinuities查找这个模块)作为超限的保护。Rounding function(在simulink/math中查找)是四舍五入环节,将小数转换为整数。因为direct look-up table中行和列的起始号都是从零开始的,所以输入到direct look-up table中的变量要加一个偏移量+6。Scope模块(在simulink/sinks中查找)是示波器,可以直接观察系统的输出曲线,并可以进行存储、打印。
3、设置仿真模型中各个模块的参数。
1)观察模糊控制器的鲁棒性:打开direct look-up table,将表1中的元素以矩
阵形式输入到Table data中,并且设定仿真时间(点击仿真模型窗口上simulation/simulation parameters进行设定)。然后调节Ke,Kec,和Ku控制参数(对一阶系统参考数据分别是100,1,-1)直到符合要求(如误差小于1%或者超调量小于5%)为止,改变控制对象参数(在Matlab中,对象参数修改很方便,只要双击对象模块,以向量形式给出传递函数形式对象的系数)分别设置一阶对象中的T1分别为1,5,10,仔细观察输出曲线,并将实验结果填写到实验报告的表格中。
2)观察控制参数对模糊控制器性能影响的规律:先设置一阶对象中的T1为2,然后设定仿真时间(点击仿真模型窗口上simulation/simulation parameters进行设定)。分别调节Ke,Kec,和Ku的参数,观察输出曲线得到三个控制参数对模糊控制器性能影响的规律。
本实验中,一阶对象的变化范围可以选择1~10。