实验一模糊控制器MATLAB仿真.docx
《实验一模糊控制器MATLAB仿真.docx》由会员分享,可在线阅读,更多相关《实验一模糊控制器MATLAB仿真.docx(10页珍藏版)》请在冰豆网上搜索。
实验一模糊控制器MATLAB仿真
实验一模糊控制器的MATLAB仿真
一、实验目的
本实验要求利用MATLAB/SIMULINK与FUZZYTOOLBOX对给定的二阶动态系统,确定模糊控制器的构造,输入和输出语言变量、语言值及隶属函数,模糊控制规那么;比拟其与常规控制器的控制效果;研究改变模糊控制器参数时,系统响应的变化情况;掌握用MATLAB实现模糊控制系统仿真的方法。
二、实验设备:
计算机系统、Matlab仿真软件
三、实验原理
模糊控制器它包含有模糊化接口、规那么库、模糊推理、清晰化接口等局部,输人变量是过程实测变量与系统设定值之差值。
输出变量是系统的实时控制修正变量。
模糊控制的核心局部是包含语言规那么的规那么库和模糊推理。
模糊推理就是一种模糊变换,它将输入变量模糊集变换为输出变量的模糊集,实现论域的转换。
工程上为了便于微机实现,通常采用“或〞运算处理这种较为简单的推理方法。
Mamdani推理方法是一种广泛采用的方法。
它包含三个过程:
隶属度聚集、规那么激活和输出总合。
模糊控制器的体系构造如图1所示。
图1模糊控制器的体系构造
四、实验步骤
〔1〕对循环流化床锅炉床温,对象模型为
采用simulink图库,实现常规PID和模糊自整定PID。
〔2〕确定模糊语言变量及其论域:
模糊自整定PID为2输入3输出的模糊控制器。
该模糊控制器是以|e|和|ec|为输入语言变量,Kp、Ki、Kd为输出语言变量,其各语言变量的论域如下:
误差绝对值:
e={0,3,6,10};
误差变化率绝对值:
ec={0,2,4,6};
输出Kp:
Up={0,0.5,1.0,1.5};
输出Ki:
Ui={0,0.002,0.004,0.006};
输出Kd:
Ud={0,3,6,9}。
〔3〕语言变量值域的选取:
输入语言变量|e|和|ec|的值域取值“大〞(B)、“中〞(M)、“小〞(s)和“零〞(Z)4种;输出语言变量Kp、Ki、Kd的值域取值为“很大〞(VB)、“大〞(B)、“中〞(M)、“小〞(s)4种。
步骤如下:
在MATLAB控制窗口输入:
Fuzzy回撤
增加输入变量和输出变量:
修改输入变量和输出变量的名称得到:
双击每个输入变量和输出变量进展分别设计:
〔4〕规那么的制定:
根据PID参数整定原那么及运行经历,可列出输出变量Kp、Ki、Kd的控制规那么表。
●表1参数Kp的整定规那么
B
M
S
Z
B
B
M
B
B
M
VB
B
VB
VB
S
VB
B
VB
B
Z
VB
B
B
S
●表2参数Ki的整定规那么
B
M
S
Z
B
S
M
B
VB
M
S
M
VB
VB
S
S
S
VB
VB
Z
S
S
VB
VB
●表3参数Kd的整定规那么
B
M
S
Z
B
S
S
S
S
M
M
M
M
M
S
M
M
M
M
Z
VB
VB
VB
VB
设计模糊控制规那么表;
〔5〕推理方法确实定
Ø隐含采用“mamdani〞方法:
max-min;
Ø推理方法,即“min〞方法;
Ø去模糊方法:
面积中心法;
Ø选择隶属函数的形式:
三角型。
回到MATLAB主界面,可得到如下:
由此,利用FUZZYTOOLS的GUI工具建立模糊控制器(PID_auot.fis)之后,在Simulink环境下,构建模糊自整定PID和常规PID控制系统,如图2。
其中:
双击FuzzyLogicController,设置如下:
Subsystem设计如下:
图2模糊自整定PID和常规PID控制仿真系统
〔6〕给定输入为阶跃信号,运行程序,记录实验数据和控制曲线。
〔7〕比拟两种控制器的控制效果;
〔8〕当通过改变模糊控制器的比例因子时,分析系统响应有什么变化?
五、实验报告要求
给出模糊自整定PID控制系统的设计过程和仿真构造图,记录试验数据和曲线,分析试验结果。
六、思考题
1、模糊控制器中隶属函数形式、推理方法、去模糊方法的改变、对控制效果有什么影响?
2、模糊控制规那么如何建立?