水箱液位模糊控制系统的仿真Word格式文档下载.docx
《水箱液位模糊控制系统的仿真Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《水箱液位模糊控制系统的仿真Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
图2输入、输出语言变量的隶属函数图
量化等级
隶属度
语言值
-4
-3
-2
-1
1
2
3
4
PL
PS
O
NS
NL
0.5
表1输入输出语言变量赋值表
1.2控制规则描述
总结人的控制水位策略,设计水位控制器包括5条规则如下:
R1:
if
E=NL
then
U=PL
R2:
E=NS
U=PS
R3:
E=O
U=O
R4:
E=PS
U=NS
R5:
E=PL
U=NL
1.3水位控制模糊关系矩阵
首先,求每条规则所描述的模糊关系Ri,然后,再求描述水位控制系统的总的模糊控制关系R,即
。
1.4模糊推理
1.4.1输入量模糊化
假设实际水位误差量化后等级分别为-4、-3、-2、-1、0、1、2、3、4,然后对这些量化等级进行模糊化。
规定等级-4、-2、0、2、4模糊化后的模糊集合分别为:
NL、NS、O、PS、PL。
而-3属于模糊集合NL、NS的隶属度都等于0.5,-1属于模糊集合NS、O的隶属度也等于0.5,1属于模糊集合O、PS的隶属度都等于0.5,3属于模糊集合PS、PL的隶属度也等于0.5。
因此:
(1)当输入误差量化等级为-3时,其输出控制量的模糊集合相应于输出论域元素的隶属度,应为当输入为NL、NS(或量化等级为-4、-2)时输出控制量集合相应于输出论域元素的隶属度和的一半。
或者认为:
当输入误差量化等级为-3时,其输出控制量的精确值,为当输入为NL、NS(或量化等级为-4、-2)时输出控制量精确值的一半。
(2)当输入误差量化等级为-1时,其输出控制量的模糊集合相应于输出论域元素的隶属度,应为当输入为NS、O(或量化等级为-2、0)时输出控制量集合相应于输出论域元素的隶属度和的一半。
当输入误差量化等级为-1时,其输出控制量的精确值,为当输入为NS、O(或量化等级为-2、0)时输出控制量精确值的一半。
(3)当输入误差量化等级为1时,其输出控制量的模糊集合相应于输出论域元素的隶属度,应为当输入为O、PS(或量化等级为0、2)时输出控制量集合相应于输出论域元素的隶属度和的一半。
当输入误差量化等级为-3时,其输出控制量的精确值,为当输入为O、PS(或量化等级为0、2)时输出控制量精确值的一半。
(4)当输入误差量化等级为3时,其输出控制量的模糊集合相应于输出论域元素的隶属度,应为当输入为PS、PL(或量化等级为2、-4)时输出控制量集合相应于输出论域元素的隶属度和的一半。
当输入误差量化等级为-3时,其输出控制量的精确值,为当输入为PS、PL(或量化等级为2、4)时输出控制量精确值的一半。
1.4.2模糊推理
对上述量化等级-4、-3、-2、-1、0、1、2、3、4模糊化后对应的模糊集合,分别进行模糊推理,得到的输出模糊集合分别为U1、U2、U3、U4、U5、U6、U7、U8、U9。
计算如下
1.5模糊判决
对上述输出模糊集合U1、U2、U3、U4、U5、U6、U7、U8、U9进行模糊判决,得到控制量的精确值,乘以比例因子才能施加给被控对象。
这里采用最大隶属度法分别对输出模糊集合U1、U2、U3、U4、U5、U6、U7、U8、U9进行模糊判决。
由于U2、U4、U6、U8中各有两个论域元素的隶属度最大且相等,所以对它们取最大隶属度对应元素的平均
值作为判决结果。
对所有输出模糊集合判决结果如下:
u1=4、u2=3、u3=2、u4=1、u5=0、u6=-1、u7=-2、u8=-3、u9=-4
1.6水位模糊控制查询表
将上述模糊控制器输入量化等级与其输出精确值相对应,得到下面的模糊控制查询表(表3—2):
e(xi)
u(zk)
表2水位模糊控制查询表
2利用MATLAB对水箱水位系统进行仿真
在这章里我们要用MALAB软件来对水箱水位模糊控制系统进行仿真建模试验,基本分为三步,第一步利用此软件所提供的模糊逻辑工具箱建立水箱水位模糊控推理系统,第二步利用Smulink工具箱对此系统进行设计与仿真,第三部对传统的PID控制与模糊控制进行比较。
2.1水箱水位模糊推理系统(FIS)的建立
水箱水位控制,如图4—1
图2—1水箱水位控制
通过控制进水阀使得水箱水位保持在一定水平上。
我们通常取水位误差e和误差变化率ec作为模糊控制器的输入变量。
其中:
e=r-y(误差=设定值-测量值)。
选取误差e的论域范围为:
[-1,1],三个语言变量为:
negative,zero,positive,他们的隶属度函数均取guassmf(高斯曲线);
水位变化率ec的论域为:
[-0.1,0.1],三个语言变量值为:
ngative,zero,positive,他们的隶属度寒暑也取gaussmf。
确定输出变量只有一个名字为u,5个语言变量值分别为closefast,closeslow,ochange,openslow,penfast隶属度函数选为trimf(三角形曲线)。
我们在此只需输入自定的隶属函数,至于模糊推理,查询表,解模糊等fis系统会自己生成。
选取edit菜单中的AddVariable…添加一个输入量然后按上面所说编辑各个输入输出量的隶属函数,其中输入输出的各具体隶属函数如图2—2所示:
图2—2各隶属函数的图像
根据经验判断:
其中输入量e隶属函数参数(params)为negative:
[0.3-1],zero:
[0.30],positive:
[0.31]。
其中输入量ec隶属函数参数(params)为negative:
[0.03-0.1],zero:
[0.030],positive:
[0.030.1]。
其中输出量u隶属函数参数(params)为
close_fast:
[-1-0.9-0.8],close_slow:
[-0.6-0.5-0.4],no_change:
[-0.100.1],open_slow:
[0.20.30.4],open_fast:
[0.80.91]。
其他参数图2—3选取:
图2—3FIS相关参数设定
编辑好后隶属函数如图2—4所示,然后根据经验编辑模糊控制规则,双击模糊控制器框进入规则编辑器:
图2—4编辑好后的隶属函数和规则编辑器
根据人工经验利用选框输入如下控制规则
Ifeisnegativethenuisclose-fast;
Ifeiszerothenuisno-change;
Ifeispositivethenuisopen-fast;
Ifeiszeroandecisnegativethenuisopen-slow;
Ifeiszeroandecispositivethenuisclose-slow;
在菜单view中的rules和surface选项分别对应得是规则观测器和曲面观测器,利用这两个工具我们可以方便的观察规则情况及调整不同的输入时所对应的输出情况,使其动静态特性一目了然:
如图2—5,2—6,2—7所示:
图2—5
图2—6规则观测器
图2—7曲面观测器
至此利用MATLAB建立的水箱水位模糊推理系统建立完毕,要记得用菜单File——Export——Todisk…将建立的系统以tank为名称保存在磁盘中以防丢失,另外一定要用File——Export——ToWorkspace…将其保存在工作空间中以便在下一节simulink仿真设计中调用。
2.2对SIMULINK模型控制系统的构建
VALUE代表阀门,其结构图见图4-8:
图2—8阀门底层结构图
WATERTANK代表水箱它是一个子系统模块,其结构图见2—9:
图2—9水箱底层结构图
PID为传统PID控制器结构见图2—10:
图2—10PID底层结构图
添加完控件后开始连线,构建好的水箱水位模糊控制系统模型见图2—11:
图2—11构建好的水箱水位模糊控制系统模型
双击模糊控制器(FuzzyLogicController),在FISFileStructure文本框中输入tank,调用上一节制作的模糊推理系统。
成功链接如图2—12
图4—12tankFIS结构与模糊控制器模块的成功链接
到此就已经构建好了整个Simulink模型系统,下一步就可以对所构建的模糊系统进行仿真。
2.3进行Simulink模型仿真
在仿真之前,还需要设置仿真参数,
参数的设置如图4—13:
图2—13仿真参数设计
这里只用设置Solver选项卡,其余的选项卡用默认设置即可。
本节的任务主要是观察在所给定的输入信号下水箱水位随时间的影响情况,并比较传统PID控制器和模糊控制器的控制效果。
选择菜单Simulation——Start,系统便开始仿真,const元件的常数设定为-1时系统由模糊控制器控制,其设定值为1时由PID控制器控制,示波器change,scope2,scope4分别显示的是误差变化率、水箱的溢水情况、水箱流出水流量随时间的变化的波形,主要用来监视工作状态的,而示波器Comparison是显示控制器输出的波形的,仿真运行时双击此元件即可看到动态的波形输出。
模糊控制器与PID控制器的输出波形如图2-14所示:
图2—14模糊控制器与PID控制器输出结果的比较
3.结论
根据上一节仿真结果的比较,我们能看出模糊控制较传统的PID控制来讲具有响应速度快、适应性较强,即鲁棒性好、超调量小稳定时间较长等优点,显示出预期良好的稳态性能。