模糊控制理论与应用。
专业:姓名:
学号:指导教师:
完成时间:二〇一一年八月。
1、设在论域e(误差)=和控制电压u=上定义的模糊子集的隶属度函数分别如图所示。图1图2
已知模糊控制规则:
规则1:如果误差e为ze,则u为ze;
规则2:如果误差e为ps,则u为ns。
试应用玛达尼推理法计算当输入误差e=0.6时,输出电压u=?(精确化计算采用重心法)
采用重心法去模糊化。
解答:1)输入输出模糊化。
1) 确定输入输出变量,2) 确定输入输出变量的模糊语言值(模糊集合)
3) 建立隶属度函数方程。
对于误差来说:
对于控制电压来说:
2)根据经验建立模糊控制规则:
1)根据规则1:规则1、如果误差e是ze,则控制u为ze;
有:误差。由规则1得到。
故控制: 解得:u11=3.4,u12=4.6;
2)根据规则2、如果误差e是ps,则控制u为ns;
误差。由规则2得到。
故控制: 解得:u21=0.6,u22=3.4;
3)根据重心法,去模糊化输出电压为:
2、已知某一加炉炉温控制系统,要求温度保持在600℃恒定。目前此系统采用人工控制方式,并有以下控制经验。
1)若炉温低于600℃,则升压;低得越多升压越高。
2)若炉温高于600℃,则降压;高得越多降压越低。
3)若炉温等于600℃,则保持电压不变。
设模糊控制器为一维控制器,输入语言变量为误差,输出为控制电压。两个变量的量化等级为七级、取五个语言值。隶属度函数根据确定的原则任意确定。
试按常规模糊逻辑控制器的设计方法设计出模糊逻辑控制表。
解答:两个变量的量化等级为七级、取五个语言值。
量化等级为七级。
五个语言值pb、ps、ze、ns、nb
给定值600℃
模糊控制器选用的系统的实际温度t与温度给定值td的误差作为输入语言变量,把控制加热装置的供电电压u选作输出语言变量。
误差隶属度函数。
模糊输出量隶属度函数。
规则1、如果误差e是nb,则控制u为nb;
规则2、如果误差e是ns,则控制u为ns;
规则3、如果误差e是ze,则控制u为ze;
规则4、如果误差e是ps,则控制u为ps;
规则5、如果误差e是pb,则控制u为pb;
按照离散重心法:
重心法。重心法是取模糊隶属度函数的曲线与横坐标围城面积的重心为模糊推理最终输出值。
连续: 模糊控制逻辑表。
离散: 1)从误差隶属度图看到pb,ps
规则4、如果误差e是ps,则控制u为ps;
误差。由规则4得到。
控制: 规则5、如果误差e是pb,则控制u为pb;
误差。由规则5得到。
控制: 最后的输出增量为上面两条控制量的合成,模糊输出量隶属度函数。
精确化。控制输出:
2)从误差隶属度图看到pb,ps
规则4、如果误差e是ps,则控制u为ps;
误差。由规则4得到。
控制: 规则5、如果误差e是pb,则控制u为pb;
误差。由规则5得到。
控制: 最后的输出增量为上面两条控制量的合成,模糊输出量隶属度函数。
精确化。控制输出:
3)从误差隶属度图看到ps,ze
规则3、如果误差e是ze,则控制u为ze;
误差。由规则3得到。
控制: 规则4、如果误差e是ps,则控制u为ps;
误差。由规则4得到。
控制: 最后的输出增量为上面两条控制量的合成,模糊输出量隶属度函数。
精确化。控制输出:
4)从误差隶属度图看到ze
规则3、如果误差e是ze,则控制u为ze;
误差。由规则3得到。
控制: 最后的输出增量为上面一条控制量的合成,模糊输出量隶属度函数。
精确化。控制输出:
5)从误差隶属度图看到ze,ns
规则2、如果误差e是ns,则控制u为ns;
误差。由规则1得到。
控制: 规则3、如果误差e是ze,则控制u为ze;
误差。由规则3得到。
控制: 最后的输出增量为上面两条控制量的合成,模糊输出量隶属度函数。
精确化。控制输出:
6)从误差隶属度图看到ns,nb
规则1、如果误差e是nb,则控制u为nb;
误差。由规则1得到。
控制: 规则2、如果误差e是ns,则控制u为ns;
误差。由规则2得到。
控制: 最后的输出增量为上面两条控制量的合成,模糊输出量隶属度函数。
精确化。控制输出:
7)从误差隶属度图看到ns,nb,规则1、如果误差e是nb,则控制u为nb;误差。
由规则1得到,控制:;规则2、如果误差e是ns,则控制u为ns;误差。
由规则2得到控制:,最后的输出增量为上面两条控制量的合成,
模糊输出量隶属度函数。
精确化。控制输出:
因此模糊逻辑控制表。
3、假设受控对象为,选择k1=k2=ku=1及,这样可以建立起如图3所示的**框图,对该系统进行**则可以得出输出曲线和控制器参数曲线。图3解答:
模糊pid控制器的典型结构如图4所示。由于直接用模块搭建前面的模糊pid控制器算法比较复杂,所以这里采用s-函数的形式来构造该模块。考虑到本题想显示变化的kp,,ki,kd系数,所以暂时选择输出个数为4;输入信号可以选择两路,即这样可以容易地编写出如下的s-函数来表示模糊pid控制器的核心部分。
图4 模糊pid控制器控制框图。
function[sys,x0,str,ts]=fuz_pid(t,x,u,flag,t,afuz,fx0,gam)
switch flag,case 0,[sys,x0,str,ts]=mdlinitializesizes(t);
case 2,sys=mdlupdates(x,u);
case 3,sys=mdloutputs(x,u,t,afuz,fx0,gam);
case ,sys=
otherwise,error(['unhandledflag= 'num2str(flag)])
end;function[sys,x0,str,ts]=mdlinitializesizes(t)
sizes=simsizes;
sys=simsizes(sizes);x0=zeros(3,1);
str=ts=[t 0];
function sys=mdlupdates(x,u)
sys=[u(1);x(2)+u(1);u(1)-u(2)];
function sys=mdloutputs(x,u,t,afuz,fx0,gam)
kpid=fx0+gam(:)evalfis(x([1,3]),afuz)';sys=[kpid'*x;kpid];
有了核心的s-函数,则可以构造封装出模糊pid控制模块,其内部结构如图5所示,该图中引用了s-函数fuz_其参数对话框如图6所示,整个pid控制器的参数设置对话框如图7所示。
图5 模糊pid控制器结构。
图6 fuz_pid模块参数设置。
图7 模糊pid控制器参数对话框。
在模糊p1d控制器中,根据经验可以构造出表1中给出的参数变化表,根据该模糊表可以matlab环境下输入该模糊推理系统,该系统仍有两输入,但和前面不同的是,该系统将有三路输出,分别对应于,,。
根据模糊规则表,可以用fuzzy()函数可视地建立起整个模糊推理系统该系统有两路输入和三路输出,如图8所示。该模型中选择输入和输出变量的范围均为(-3,3),为方便起见,应该保持该模糊推理系统的输入、输出变量范围,而推理结果可以由系数来修正。在模糊系统中,模糊规则编辑程序界面如图9所示,而得出的3个规则曲面在图10中给出。
表1 pid控制器模糊逻辑。
图8 模糊结构系统示意图。
图9 模糊规则编辑对话框。
a)规则。b)规则。
c)规则。图10 模糊pid控制器三参数的模糊推理规则曲面。
图11 输出曲线和控制器参数曲线。
模糊控制作业
题目 设计一个两个输入,单输出的模糊控制器。解题过程如下 设计的二维模糊控制器的结构如图1所示。在此控制器中两个输入为机器人与障碍的距离d和机器人所处的环境类型t,输出为转角b。1.控制器结构。与障碍距离a 移动机器人输出转角b 障碍物情况t 图1.二维模糊控制器结构。2.语言变量。取a的模糊子集 ...
2019模糊控制作业
2 建立各语言变量的赋值表。设误差e的基本论域为 5,5 c,输入变量e的论域为 5,4,3,2,1,0,1,2,3,4,5 误差的量化因子为ke 5 5 1。语言变量e选取5个语言值 表1为语言变量e ec的赋值表,表2为语言变量u的赋值表。表1语言变量e ec的赋值表。表2 语言变量u的赋值表。...
微机控制作业
题目1 1 课件中介绍的系统稳定性与那些因素有关?答 系统的放大系数,采样周期。2 稳定条件时间域的计算方法。答 由g s 经部分分式法,直接查找z变换和拉普拉斯变换对应表求得g z 然后求出闭环系统的特征方程f z 1 g z 当k已知根据系统稳定的条件求出采样周期t的范围,当t已知根据系统稳定条...