- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE \* MERGEFORMAT 1
实验模糊控制实验
实验报告
专业:自动化
班级:
姓名:
日期:
实验2
实验目的
利用Matlab软件实现模糊控制系统仿真实验,了解模糊控制的查询表方法和在线推理方法的基本原理及实现过程,并比较模糊控制和传统PID控制的性能的差异。
实验要求
设计一个二维模糊控制器分别控制一个一阶被控对象和二阶被控对象。先用模糊控制器进行控制,然后改变控制对象参数的大小,观察模糊控制的鲁棒性。为了进行对比,再设计PID控制器,同样改变控制对象参数的大小,观察PID控制的鲁棒性。也可以用其他语言编制模糊控制仿真程序。
实验内容
(一)查询表式模糊控制器实验设计
查询表法是模糊控制中的最基本的方法,用这种方法实现模糊控制决策过程最终转化为一个根据模糊控制系统的误差和误差变化来查询控制量的方法。本实验利用了Matlab仿真模块——直接查询表(Direct look-up table)模块(在Simulink下的Functions and Tables模块下去查找),将模糊控制表中的数据输入给 Direct look-up table,如图1所示。设定采样时间(例如选用0.01s),在仿真中,通过逐步调整误差量化因子Ke,误差变化的量化因子Kec以及控制量比例因子Ku的大小,来提高和改善模糊控制器的性能。
模糊控制器设计步骤:
选定误差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}
对模糊语言值进行量化:对模糊语言值进行量化,就是将语言值用特定的模糊集合来描述,从而确定出论域内元素对应相应模糊集合的隶属度。具体的赋值表见《模糊控制》一书的93页。利用计算机根据赋值表进行计算,并采用最大隶属度法的解模糊方法,可以得到模糊控制查询表,如表1所示。
表1 模糊控制表
UEC
E
-6
-5
-4
-3
-2
-1
0
+1
+2
+3
+4
+5
+6
-6
7
6
7
6
7
7
7
4
4
2
0
0
0
-5
6
6
6
6
6
6
6
4
4
2
0
0
0
-4
7
6
7
6
7
7
7
4
4
2
0
0
0
-3
7
6
6
6
6
6
6
3
2
0
-1
-1
-1
-2
4
4
4
5
4
4
4
1
0
0
-1
-1
-1
-1
4
4
4
5
4
4
1
0
0
0
-3
-2
-1
-0
4
4
4
5
1
1
0
-1
-1
-1
-4
-4
-4
+0
4
4
4
5
1
1
0
-1
-1
-1
-4
-4
-4
+1
2
2
2
2
0
0
-1
-4
-4
-3
-4
-4
-4
+2
1
2
1
2
0
-3
-4
-4
-4
-3
-4
-4
-4
+3
0
0
0
0
-3
-3
-6
-6
-6
-6
-6
-6
-6
+4
0
0
0
-2
-4
-4
-7
-7
-7
-6
-7
-6
-7
+5
0
0
0
-2
-4
-4
-6
-6
-6
-6
-6
-6
-6
+6
0
0
0
-2
-4
-4
-7
-7
-7
-6
-7
-6
-7
在进行仿真时将上述表格中元素以矩阵形式输入到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设置仿真模型中各个模块的参数
先设置一阶对象中的T1为2,二阶对象中的
文档评论(0)