关注作者了解更多
我的其他CSDN专栏
关注作者了解更多
资料来源于网络,如有侵权请联系编者
目录
[3.2 模糊控制器的结构和设计](#3.2 模糊控制器的结构和设计)
[3.2.1 模糊化接口](#3.2.1 模糊化接口)
2) 语言变量论域的设计 语言变量论域的设计)
3) 定义各语言变量的语言值 定义各语言变量的语言值)
[3.2.2 规则库](#3.2.2 规则库)
[3.2.3 模糊推理](#3.2.3 模糊推理)
[3.2.4 清晰化接口](#3.2.4 清晰化接口)
[(1) 最大隶属度方法](#(1) 最大隶属度方法)
[3.2.5 模糊查询表](#3.2.5 模糊查询表)
[3.2.6 模糊控制器的设计内容](#3.2.6 模糊控制器的设计内容)
2)总结模糊关系总结模糊关系)
[3.28 模糊控制的优缺点](#3.28 模糊控制的优缺点)
3.1模糊控制的工作原理
模糊控制的基本思想
将人类专家对特定对象的控制经验,运用模糊集合论进行量化,转化为可数学实现的控制器,从而实现对被控对象的控制。
人类专家的控制经验是如何转化为数学控制器的?
控制思想:
如果水温偏高,就把燃气阀关小;
如果水温偏低,就把燃气阀开大。
模仿人类的调节经验,可以构造一个模糊控制系统来实现对热水器的控制.
用一个温度传感器来替代左手进行水温的测量,传感器的测量值经A/D变换后送往控制器。
电磁燃气阀代替右手和机械燃气阀作为执行机构。电磁燃气阀的开度由控制器的输出经D/A变换后控制。
构造控制器,使其能够模拟人类的操作经验。
人类的控制规则
如果水温比期望值高,就把燃气阀关小;
如果水温比期望值低,就把燃气阀开大。
描述了输入(水温与期望值的偏差e)和输出(燃气阀开度的增量u)之间的模糊关系R
模糊控制器的基本工作原理
将测量得到的被控对象的状态经过模糊化接口转换为用人类自然语言描述的模糊量,而后根据人类的语言控制规则,经过模糊推理得到输出控制量的模糊取值,控制量的摩呼之再经过清晰化接口转换为机构能够接受的精确量。
3.2 模糊控制器的结构和设计
模糊控制器的基本结构通常由四个部分组成:
模糊化接口
规则库
模糊推理
清晰化接口
3.2.1 模糊化接口
模糊化就是通过在控制器的输入、输出论域上定义语言变量,来将精确的输入、输出值转换为模糊的语言值。
模糊化接口的设计不走就是定义语言变量的过程,可分为以下几步
1)语言变量的确定
针对模糊控制器每个输入、输出空间,各自定义一个语言变量。
通常取系统的误差值e湖误差变化率ec为模糊控制器的两个输入,在e的论域上定义语言变量"误差E",在ec的论域上定义语言变量"误差变化EC";在控制量U的论域上定义语言变量"控制量U"
2) 语言变量论域的设计
在模糊控制器的设计中,通常就把语言变量的论域定义为有限整数的离散论域。例如,可以将E的论域定义为{-m, -m+1, ..., -1, 0, 1, ..., m-1, m};将EC的论域定义为{-n, -n+1, ..., -1, 0, 1, ..., n-1, n};将U的论域定义为{-l, -l+1, ..., -1, 0, 1, ..., l-1, l}。
为了提高实时性,模糊控制器常常以控制查询表的形式出现。该表反映了通过模糊控制算法求出的模糊控制量和输出量在给定离散点上的对应关系。为了能方便地产生控制查询表,在模糊控制器的设计中,通常就把语言变量的论域定义为有限整数的离散论域。
如何实现实际的连续域到有限整数离散域的转换?
在确定了量化因子和比例因子之后,误差e和误差变化率ec可通过下式转换为模糊控制器的输入E和EC:
式中,<>代表取整运算。
模糊控制器的输出U可以通过下式转换为实际的输出值u:
3) 定义各语言变量的语言值
通常在语言变量的论域上,将其划分为有限的几档。
例如,可将E、EC和U的划分为 {"正大(PB)","正中(PM)","正小(PS)","零(ZO)", "负小(NS)","负中(NM)","负大(NB)"}七档。
档级多,规则制定灵活,规则细致,但规则多、复杂,编制程序困难,占用的内存较多;
档级少,规则少,规则实现方便,但过少的规则会使控制作用变粗而达不到预期的效果。
因此在选择模糊状态时要兼顾简单性和控制效果
4)定义各语言值的隶属度函数
隶属函数的类型
正态分布型(高斯基函数 )
其中,ai为函数的中心值,bi为函数的宽度。
假设与{PB,PM,PS,ZO,NS,NM,NB}对应的高斯基函数的中心值分别为{6,4,2,0,-2,-4,-6},宽度均为2。隶属函数的形状和分布如图所示。
2.三角型
梯型
隶属函数确定时需要考虑的几个问题
隶属函数曲线形状对控制性能的影响。
隶属函数形状较尖时,分辨率较高,输入引起的输出变化比较剧烈,控制灵敏度较高;
曲线形状较缓时、分辨率较低,输入引起的输出变化不那么剧烈,控制特性也较平缓,具有较好的系统稳定性。
因而,通常在输入较大的区域内采用低分辨率曲线(形状较缓),在输入较小的区域内采用较高分辨率曲线(形状较尖),当输入接近零则选用高分辨率曲线(形状尖)。
隶属函数曲线的分布对控制性能的影响
兼顾控制灵敏度和鲁棒性
相邻两曲线交点对应的隶属度值较小时,控制灵敏度较高,但鲁棒性不好;值较大时,控制系统的鲁棒性较好,但控制灵敏度将降低。
清晰性
相邻隶属函数之间的区别必须是明确的。
完备性
属函数的分布必须覆盖语言变量的整个论域,否则,将会出现"空档",从而导致失控。
不完备的隶属函数分布
模糊化过程小结:
经过1)~4)步的定义可以在输入输出空间定义语言变量,从而将输入输出的精确值转换为相应的模糊值。具体的步骤如下:
第一步 将实际检测的系统误差和误差变化率量化为模糊控制器的输入。
假设实际检测的系统误差和误差变化率分别为e*和ec*,可以通过量化因子将其量化为模糊控制器的输入E*和EC*
第二步 将模糊控制器的精确输入E*和EC*通过模糊化接口转化为模糊输入A*和B*。
将E*和EC*所对应的隶属度最大的模糊值当作当前模糊控制器的模糊输入量A*和B*。
假设E*=-6,系统误差采用三角形隶属函数来进行模糊化。 E*属于NB的隶属度最大(为1),则此时,相对应的模糊控制器的模糊输入量为:
对于某些输入精确量,有时无法判断其属于哪个模糊值的隶属度更大,例如当E*=-5时,其属于NB和NM的隶属度一样大。此时有两种方法进行处理:
1)在隶属度最大的模糊值之间任取一个;例如当E*=-5时,A*=NB或NM。
2)重新定义一个模糊值,该模糊值对于当前输入精确量的隶属度为1,对于其它精确量的隶属度为0。
3.2.2 规则库
规则库的描述
规则库由若干条控制规则组成,这些控制规则根据人类控制专家的经验总结得出,按照 IF ...is ...AND ...is ...THEN ...is...的形式表达。
其中,E、EC是输入语言变量"误差","误差变化率";U是输出语言变量"控制量"。 Ai 、 Bi 、 Ci是第i条规则中与E、EC、U对应的语言值。
规则库也可以用矩阵表的形式进行描述。
例如在模糊控制直流电机调速系统中,模糊控制器的输入为E(转速误差)、EC(转速误差变化率),输出为U(电机的力矩电流值)。
在E、EC、U的论域上各定义了7个语言子集:{PB,PM,PS,ZO,NS,NM,NB}
对于E、EC可能的每种取值,进行专家分析和总结后,则总结出的控制规则为:
规则库蕴涵的模糊关系
规则库中第i条控制规则: Ri: IF E is Ai AND EC is Bi THEN U is Ci 蕴含的模糊关系为:
控制规则库中的n条规则之间可以看作是"或",也就是"求并"的关系,则整个规则库蕴涵的模糊关系为:
规则库的产生
模糊控制规则的提取方法在模糊控制器的设计中起着举足轻重的作用,它的优劣直接关系着模糊控制器性能的好坏,是模糊控制器设计中最重要的部分。
模糊控制规则的生成方法归纳起来主要有以下几种:
根据专家经验或过程控制知识生成控制规则。这种方法通过对控制专家的经验进行总结描述来生成特定领域的控制规则原型,经过反复的实验和修正形成最终的规则库。
根据过程的模糊模型生成控制规则。这种方法通过用模糊语言描述被控过程的输入输出关系来得到过程的模糊模型,进而根据这种关系来得到控制器的控制规则。
根据学习算法获取控制规则。应用自适应学习算法(神经网络、遗传算法等)对控制过程的样本数据进行分析和聚类,生成和在线优化较完善的控制规则。
模糊控制规则的总结要注意以下几个问题:
规则数量合理
控制规则的增加可以增加控制的精度,但是会影响系统的实时性;控制规则数量的减少会提高系统的运行速度,但是控制的精度又会下降。所以,需要在控制精度和实时性之间进行权衡。
规则要具有一致性
控制规则的目标准则要相同。不同的规则之间不能出现相矛盾的控制结果。如果各规则的控制目标不同,会引起系统的混乱。
完备性要好
控制规则应能对系统可能出现的任何一种状态进行控制。否则,系统就会有失控的危险。
3.2.3 模糊推理
根据模糊输入和规则库中蕴涵的输入输出关系,通过第二章描述的模糊推理方法得到模糊控制器的输出模糊值
3.2.4 清晰化接口
由模糊推理得到的模糊输出值C*是输出论域上的模糊子集,只有其转化为精确控制量u,才能施加于对象。我们实行这种转化的方法叫做清晰化/去模糊化/模糊判决。
(1) 最大隶属度方法
把C*中隶属度最大的元素U*作为精确输出控制量
上式中,元素-4对应的隶属度最大,则根据最大隶属度法得到的精确输出控制量为-4。
若模糊输出量的元素隶属度有几个相同的最大值,则取相应诸元素的平均值,并进行四舍五入取整,作为控制量。上式中,元素-4、-3、-2对应的隶属度均为1,则精确输出控制量为
(2)加权平均法(重心法)
该方法对模糊输出量中各元素及其对应的隶属度求加权平均值,并进行四舍五入取整,来得到精确输出控制量。
式中,<>代表四舍五入取整操作。
清晰化处理后得到的模糊控制器的精确输出量U*,经过比例因子可以转化为实际作用于控制对象的控制量
3.2.5 模糊查询表
模糊控制器的工作过程:
模糊控制器实时检测系统的误差和误差变化率e*和ec*;
通过量化因子ke和kec将e*和ec*量化为控制器的精确输入E*和EC*;
E*和EC*通过模糊化接口转化为模糊输入A*和B*;
将A*和B*根据规则库蕴涵的模糊关系进行模糊推理,得到模糊控制输出量C*;
对C*进行清晰化处理,得到控制器的精确输出量U*
通过比例因子ku将U*转化为实际作用于控制对象的控制量u*。
将(3)~(5)步离线进行运算,对于每一种可能出现的E和EC取值,计算出相应的输出量U,并以表格的形式储存在计算机内存中,这样的表格我们称之为模糊查询表。
如果E、EC和U的论域均为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},则生成的模糊查询表具有如下形式
|-------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|-------|-------|-------|
| U || EC |||||||||||||
| U || -6 | -5 | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
| E | -6 | -6 | -6 | -6 | -6 | -6 | -5 | -5 | -4 | -3 | -2 | 0 | 0 | 0 |
| E | -5 | -6 | -6 | -6 | -6 | -5 | -5 | -5 | -4 | -3 | -2 | 0 | 0 | 0 |
| E | -4 | -6 | -6 | -6 | -5 | -5 | -5 | -5 | -3 | -3 | -2 | 0 | 0 | 0 |
| E | -3 | -5 | -5 | -5 | -5 | -4 | -4 | -4 | -3 | -2 | -1 | 1 | 1 | 1 |
| E | -2 | -4 | -4 | -4 | -4 | -4 | -4 | -4 | -2 | -1 | 0 | 2 | 2 | 2 |
| E | -1 | -4 | -4 | -4 | -3 | -3 | -3 | -3 | -1 | 2 | 2 | 3 | 3 | 3 |
| E | 0 | -4 | -4 | -4 | -3 | -3 | -1 | 0 | 1 | 3 | 3 | 4 | 4 | 4 |
| E | 1 | -3 | -3 | -3 | -2 | -2 | 1 | 3 | 3 | 3 | 3 | 4 | 4 | 4 |
| E | 2 | -2 | -2 | 0 | 0 | 1 | 2 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
| E | 3 | -1 | -1 | 0 | 1 | 2 | 3 | 4 | 4 | 4 | 5 | 5 | 5 | 5 |
| E | 4 | 0 | 0 | 1 | 2 | 3 | 4 | 5 | 5 | 5 | 5 | 6 | 6 | 6 |
| E | 5 | 0 | 0 | 1 | 2 | 3 | 4 | 5 | 5 | 5 | 6 | 6 | 6 | 6 |
| E | 6 | 0 | 0 | 1 | 2 | 3 | 4 | 5 | 5 | 6 | 6 | 6 | 6 | 6 |
3.2.6 模糊控制器的设计内容
(1)确定模糊控制器的输入变量和输出变量;
(2)确定输入,输出的论域和Ke、Kec、Ku的值;
(3)确定各变量的语言取值及其隶属函数;
(4)总结专家控制规则及其蕴涵的模糊关系;
(5)选择推理算法;
(6)确定清晰化的方法;
(7)总结模糊查询表。
3.2.7模糊控制器的软件实现(Matlab)
1 模糊控制查询表的实现
初始化
总结模糊关系
总结模糊查询表
1)初始化
假设E、EC和U的论域:{-6,-5,...,-1,0,1,...,5,6}; E、EC和U定义了7个语言值{NB,NM,NS,Z,PS,PM,PB}; 则我们在Matlab中通过定义三个向量来表示这些语言值:
各语言值的隶属函数采用三角函数,其分布可用下表表示:
|--------|--------|---------|--------|---------|--------|---------|-------|---------|-------|---------|-------|---------|-------|
| | -6 | -5 | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
| NB | 1 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| NM | 0 | 0.5 | 1 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| NS | 0 | 0 | 0 | 0.5 | 1 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Z | 0 | 0 | 0 | 0 | 0 | 0.5 | 1 | 0.5 | 0 | 0 | 0 | 0 | 0 |
| PS | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.5 | 1 | 0.5 | 0 | 0 | 0 |
| PM | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.5 | 1 | 0.5 | 0 |
| PB | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.5 | 1 |
在matlab中,可以用一个矩阵来表示该表。
假设控制规则表总结如下
将语言值按顺序编号,NB、NM、NS、Z、PS、PM、PB分别对应1、2、3、4、5、6、7号。 则上表可用一个矩阵表示为:
2)总结模糊关系
某条规则蕴涵的模糊关系
3.28 模糊控制的优缺点
模糊控制的优点:
1.设计时不需要建立被控制对象的数学模型,只要求掌握人类的控制经验。
2.系统的鲁棒性强,尤其适用于非线性时变、滞后系统的控制。
模糊控制的缺点
1.确立模糊化和逆模糊化的方法,缺乏系统的方法,主要靠经验和试凑。
2.总结模糊控制规则有时比较困难。
3.模糊规则一旦确定,不能在线调整,不能很好地适应情况的变化。
3.模糊控制器由于不具有积分环节,因而稳定度不高。