基于fuzzy模糊逻辑控制实验

基于fuzzy模糊逻辑控制实验

基于fuzzy模糊逻辑控制实验-创享日记
基于fuzzy模糊逻辑控制实验
此内容为付费资源,请付费后查看
3
立即购买
您当前未登录!建议登录后购买,可保存购买订单
付费资源

资源概况

购买将获得:完整无水印设计报告+Matlab\Simulink仿真源文件
其他注意:一经购买,概不退款,不提供指导,每年数量有限,售完为止。

资源介绍(截取部分,完整请购买)

基于fuzzy模糊逻辑控制实验-创享日记

“模糊”是人类感知万物,获取知识,思维推理,决策实施的重要特征。“模糊”比“清晰”所拥有的信息容量更大,内涵更丰富,更符合客观世界。

在日常生活中,人们的思维中有许多模糊的概念,如大、小、冷、热等,都没有明确的内涵和外延,只能用模糊集合来描述。人们常用的经验规则都是用模糊条件语句表达,例如,当我们拧开水阀往水桶里注水时,有这样的经验:桶里没水或水较少时,应开大水阀;桶里水较多时,应将水阀关小些;当水桶里水快满时,则应把阀门关得很小;而水桶里水满时应迅速关掉水阀。其中,“较少”、“较多”、“小一些”、“很小”等,这些表示水位和控制阀门动作的概念都具有模糊性。即有经验的操作人员的控制规则具有相当的模糊性。模糊控制就是利用计算机模拟人的思维方式,按照人的操作规则进行控制,实现人的控制经验。


模糊逻辑控制分析

模糊逻辑控制系统的基本结构如图3-69所示。它的核心部分是模糊控制器,图中虚线框中部分所示,其中模糊控制器由模糊化接口、知识库、推理机和模糊判决接口四个基本单元组成。模糊控制器的控制规律由计算机实现。

基于fuzzy模糊逻辑控制实验-创享日记

近年来,人们广泛的将模糊控制技术应用于生产生活各个领域。它以其不依靠被控对象的精确数学模型、适应性好、系统鲁棒性好以及易于实现无超调控制而受到业内人士青睐,尤其是二维模糊控制器(如图3-70),以其设计相对简单,控制精度较高而备受瞩目。

基于fuzzy模糊逻辑控制实验-创享日记

量化因子Ke、Kc和比例因子Ku对模糊控制系统的动静态性能均有较大影响。Ke越大,系统的超调越大,过渡过程就越长;Ke越小,则系统变化越慢,稳态精度降低。Kc越大,则系统变化越慢,超调量越小,调节时间变长;Kc越小,则系统反应加快,超调增大;Ku越小则系统过渡过程变长;Ku越大则会导致系统振荡。单纯的固定比例因子的模糊控制器与经典控制相结合,在算法上仍有很大局限性,不能充分发挥模糊控制在改善动态性能上的优势。

1、 模糊控制输入变量的设计和选择
模糊控制器采用二维模糊控制器(也称双输入单输出型控制器)。输入变量为偏差信号E和偏差变化率EC,输出变量为控制量U。
第一步:先确定变量的论域区间和系统模糊子集,考虑到尽量提高模糊控制器的控制精度,所以模糊控制器的输入变量(E、EC)、输出变量U的量化论域区间均定为[-6 ,-5,… -1,0,1,… ,5,6],模糊子集均定为{NB(负大),NM(负中),NS(负小),ZO(零),PS(正小),PM(正中),PB(正大)}。
第二步:根据经典控制算法下的系统阶跃偏差和偏差变化信号来确定输入变量的基本论域,偏差信号E的基本论域[-e,e]; 偏差变化率EC的基本论域[-ec,ec]。
于是可以初步选择偏差信号E的量化因子Ke(对偏差信号进行模糊化):
Ke=6/e
或者可以采用如下公式得到对偏差信号E 进行模糊化:
y=12[x-(a+b)/2]/(b-a)
式中a,b表示偏差信号E的实际范围,Ke的值在实际调试过程中需要反复修改直到获得满意的控制效果。
偏差变化率EC的量化因子Kc(对偏差变化率进行模糊化):
Kc=6/ec
第三步:分别建立E、EC、U的隶属度函数。隶属度函数可以是任意形状的曲线,取什么形状取决于是否让我们使用起来感到简单、方便、快递、有效,唯一的约束条件是隶属度函数的值域为[0,1]。这里选用三角形(trimf)隶属度函数。

2、 模糊控制规则的建立
模糊控制规则有两种方法:经验归纳法和推理合成法,本次设计中采用的是经验归纳法。模糊控制规则的建立应遵循以下两条原则:
1)当误差E为正较大值且误差变化EC也为正值的时候,输出控制U应为较大正值,以尽快减小误差;
2)当误差E为正较大值且误差变化EC为负值的时候,输出控制U应为较小正值或为0;

模糊控制规则的建立过程(以偏差信号E为正大时为例):

If  E=PB  and  EC=PB  then  U= PB
or
If  E=PB  and  EC=PM  then  U= PB
or
If  E=PB  and  EC=PS  then  U= PB
or
If  E=PB  and  EC=ZO  then  U= PM
or
If  E=PB  and  EC=NS  then  U= PM
or
If  E=PB  and  EC=NM  then  U= PS
or
If  E=PB  and  EC=NB  then  U=ZO

以此为基础可以建立完整的模糊控制规则表。


模糊逻辑控制器设计

Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。

首先我们在Matlab的命令窗口(command window)中输入fuzzy,回车就会出来这样一个窗口。如下图所示。

基于fuzzy模糊逻辑控制实验-创享日记

1.确定模糊控制器结构:即根据具体的系统确定输入、输出量。
这里我们可以选取标准的二维控制结构,即输入为误差e和误差变化ec,输出为控制量u。注意这里的变量还都是精确量。相应的模糊量为E,EC和U,我们可以选择增加输入(Add Variable)来实现双入单出控制结构。

基于fuzzy模糊逻辑控制实验-创享日记

2.输入输出变量的模糊化:即把输入输出的精确量转化为对应语言变量的模糊集合。
首先我们要确定描述输入输出变量语言值的模糊子集,如{NB,NM,NS,ZO,PS,PM,PB},并设置输入输出变量的论域,例如我们可以设置误差E(此时为模糊量)、误差变化EC、控制量U的论域均为[-6 ,-5,… -1,0,1,… ,5,6];然后我们为模糊语言变量选取相应的隶属度函数。
在模糊控制工具箱中,我们在Membership Function Editor中即可完成这些步骤。首先我们打开Membership Function Editor窗口。

基于fuzzy模糊逻辑控制实验-创享日记

然后分别对输入输出变量定义论域范围,添加隶属函数,以E为例,设置论域范围为[-6 6],添加隶属函数的个数为7。

基于fuzzy模糊逻辑控制实验-创享日记

然后根据设计要求分别对这些隶属函数进行修改,包括对应的语言变量,隶属函数类型。

基于fuzzy模糊逻辑控制实验-创享日记

3.模糊推理决策算法设计:即根据模糊控制规则进行模糊推理,并决策出模糊输出量。
首先要确定模糊规则,即专家经验。对于我们这个二维控制结构以及相应的输入模糊集,我们可以制定49条模糊控制规则(一般来说,这些规则都是现成的,很多教科书上都有),如图。

基于fuzzy模糊逻辑控制实验-创享日记

制定完之后,会形成一个模糊控制规则矩阵,然后根据模糊输入量按照相应的模糊推理算法完成计算,并决策出模糊输出量。

4.对输出模糊量的解模糊:模糊控制器的输出量是一个模糊集合,通过反模糊化方法判决出一个确切的精确量,凡模糊化方法很多,我们这里选取重心法。

 

基于fuzzy模糊逻辑控制实验-创享日记

5.然后Export to disk,即可得到一个fuzzy1.fis文件,这就是你所设计的模糊控制器。在用这个控制器之前,需要用readfis指令将fuzzy1.fis加载到matlab的工作空间,比如我们用这样的指令:fuzzycontroller1=readfis(‘fuzzy1.fis’);就创建了一个叫fuzzycontroller1的结构体到工作空间,并在fuzzy logic controller中参数设为:fuzzycontroller1。

基于fuzzy模糊逻辑控制实验-创享日记

 


Simulink实时控制实验

鼠标双击主界面上的Select Experiment模块,在弹出的对话框中选择实验编号9,然后单击右侧对应的Enabled Subsystem模块后出现下图所示界面。

 

基于fuzzy模糊逻辑控制实验-创享日记

 

打开实验箱,将USB数据线和电源线取出,确定实验箱上的电源开关是关闭的,然后把数据线与电脑USB接口连接,电源插头插入插座。把小车推到导轨中间位置,打开实验箱上的电源开关,此时,小车就推不动了,因为电机已经上伺服了。
运行前查看是否为自己设计好的模糊逻辑控制器,并确定保证摆杆此时竖直向下。不用编译链接,直接单击“”按钮,用手捏住摆杆顶端(不要抓住中部或下部),慢慢地提起,到接近竖直方向时放手,当摆杆与竖直向上的方向夹角小于0.25弧度时,进入稳摆范围,可以观察到,摆杆直立不倒,小车稳摆在初始位置,然后单击“”停止实验。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容