第三章模糊控制23.1模糊控制的工作原理模糊控制的基本思想将人类专家对特定对象的控制经验,运用模糊集理论进行量化,转化为可数学实现的控制器,从而实现对被控对象的控制。人类专家的控制经验是如何转化为数字控制器的?人类对热水器水温的调节控制思想:如果水温偏高,就把燃气阀关小;如果水温偏低,就把燃气阀开大。33.1模糊控制的工作原理模仿人类的调节经验,可以构造一个模糊控制系统来实现对热水器的控制。用一个温度传感器来替代左手进行对水温的测量,传感器的测量值经A/D变换后送往控制器。电磁燃气阀代替右手和机械燃气阀作为执行机构,电磁燃气阀的开度由控制器的输出经D/A变换后控制。构造控制器,使其能够模拟人类的操作经验。人类的控制规则如果水温比期望值高,就把燃气阀关小;如果水温比期望值低,就把燃气阀开大。描述了输入(水温与期望值的偏差e)和输出(燃气阀开度的增量u)之间的模糊关系R43.1模糊控制的工作原理输入e输出u模糊推理规则库RD/A电磁阀热水器温度传感器A/D期望值+-eu模糊值模糊值精确值精确值模糊化去模糊化热水器水温模糊控制系统结构53.1模糊控制的工作原理模糊控制器的基本工作原理将测量得到的被控对象的状态经过模糊化接口转换为用人类自然语言描述的模糊量,而后根据人类的语言控制规则,经过模糊推理得到输出控制量的模糊取值,控制量的模糊取值再经过清晰化接口转换为执行机构能够接收的精确量。63.2模糊控制器的结构和设计模糊推理清晰化接口模糊化接口规则库模糊控制器的基本结构通常由四个部分组成:模糊化接口规则库模糊推理清晰化接口73.2.1模糊化接口3.2模糊控制器的结构和设计模糊化就是通过在控制器的输入、输出论域上定义语言变量,来将精确的输入、输出值转换为模糊的语言值。模糊化接口的设计步骤事实上就是定义语言变量的过程,可分为以下几步:1)语言变量的确定针对模糊控制器每个输入、输出空间,各自定义一个语言变量。通常取系统的误差值e和误差变化率ec为模糊控制器的两个输入,在e的论域上定义语言变量“误差E”,在ec的论域上定义语言变量“误差变化EC”;在控制量u的论域上定义语言变量“控制量U”。83.2模糊控制器的结构和设计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}。?为了提高实时性,模糊控制器常常以控制查询表的形式出现。该表反映了通过模糊控制算法求出的模糊控制器输入量和输出量在给定离散点上的对应关系。为了能方便地产生控制查询表,在模糊控制器的设计中,通常就把语言变量的论域定义为有限整数的离散论域。9如何实现实际的连续域到有限整数离散域的转换?通过引入量化因子ke、kec和比例因子ku来实现kekecd/dt模糊控制器ku期望值y+-eecEECUu假设在实际中,误差的连续取值范围是e=[eL,eH],eL表示低限值,eH表示高限值。则:LHeeemk2同理,假如误差变化率的连续取值范围是ec=[ecL,ecH],控制量的连续取值范围是u=[uL,uH],则量化因子kec和比例因子ku可分别确定如下:LHecececnk2luukLHu23.2模糊控制器的结构和设计10在确定了量化因子和比例因子之后,误差e和误差变化率ec可通过下式转换为模糊控制器的输入E和EC:)2(LHeeeekE)2(LHececececkEC式中,代表取整运算。模糊控制器的输出U可以通过下式转换为实际的输出值u:2LHuuuUku3.2模糊控制器的结构和设计113)定义各语言变量的语言值通常在语言变量的论域上,将其划分为有限的几档。例如,可将E、EC和U的划分为{“正大(PB)”,“正中(PM)”,“正小(PS)”,“零(ZO)”,“负小(NS)”,“负中(NM)”,“负大(NB)”}七档。档级多,规则制定灵活,规则细致,但规则多、复杂,编制程序困难,占用的内存较多;档级少,规则少,规则实现方便,但过少的规则会使控制作用变粗而达不到预期的效果。因此在选择模糊状态时要兼顾简单性和控制效果。3.2模糊控制器的结构和设计124)定义各语言值的隶属函数隶属函数的类型①正态分布型(高斯基函数)22~)()(iiibaxAex其中,ai为函数的中心值,bi为函数的宽度。假设与{PB,PM,PS,ZO,NS,NM,NB}对应的高斯基函数的中心值分别为{6,4,2,0,-2,-4,-6},宽度均为2。隶属函数的形状和分布如图所示。-6-4-2024600.51NBNMNSZOPSPMPBx3.2模糊控制器的结构和设计13②三角型else0),(1),(1)(~cxbcucbbxaaxabxiA-6-4-20246NBNMNSZOPSPMPBx10③梯型else,0dxc,,1,)(~cdxdcxbbxaabaxxiA-6-4-20246NBNMNSZOPSPMPBx103.2模糊控制器的结构和设计14隶属函数确定时需要考虑的几个问题①隶属函数曲线形状对控制性能的影响。•隶属函数形状较尖时,分辨率较高,输入引起的输出变化比较剧烈,控制灵敏度较高;•曲线形状较缓时、分辨率较低,输入引起的输出变化不那么剧烈,控制特性也较平缓,具有较好的系统稳定性。因而,通常在输入较大的区域内采用低分辨率曲线(形状较缓),在输入较小的区域内采用较高分辨率曲线(形状较尖),当输入接近零则选用高分辨率曲线(形状尖)。3.2模糊控制器的结构和设计15②隶属函数曲线的分布对控制性能的影响•兼顾控制灵敏度和鲁棒性相邻两曲线交点对应的隶属度值较小时,控制灵敏度较高,但鲁棒性不好;值较大时,控制系统的鲁棒性较好,但控制灵敏度将降低。•清晰性相邻隶属函数之间的区别必须是明确的。~A~Bx~A~Bx不清晰的隶属函数分布清晰的隶属函数分布3.2模糊控制器的结构和设计16•完备性属函数的分布必须覆盖语言变量的整个论域,否则,将会出现“空档”,从而导致失控。-6-4-20246NBNMNSZOPSPMPBx10空档不完备的隶属函数分布3.2模糊控制器的结构和设计17模糊化过程小结:经过1)~4)步的定义可以在输入输出空间定义语言变量,从而将输入输出的精确值转换为相应的模糊值。具体的步骤如下:第一步将实际检测的系统误差和误差变化率量化为模糊控制器的输入。假设实际检测的系统误差和误差变化率分别为e*和ec*,可以通过量化因子将其量化为模糊控制器的输入E*和EC*。)2(**LHeeeekE)2(**LHececececkEC3.2模糊控制器的结构和设计18第二步将模糊控制器的精确输入E*和EC*通过模糊化接口转化为模糊输入A*和B*。将E*和EC*所对应的隶属度最大的模糊值当作当前模糊控制器的模糊输入量A*和B*。-6-4-20246NBNMNSZOPSPMPBx10假设E*=-6,系统误差采用三角形隶属函数来进行模糊化。E*属于NB的隶属度最大(为1),则此时,相对应的模糊控制器的模糊输入量为:605040302010001020304055.061*~NBA3.2模糊控制器的结构和设计19-6-4-20246NBNMNSZOPSPMPBx10-5对于某些输入精确量,有时无法判断其属于哪个模糊值的隶属度更大,例如当E*=-5时,其属于NB和NM的隶属度一样大。此时有两种方法进行处理:1)在隶属度最大的模糊值之间任取一个;例如当E*=-5时,A*=NB或NM。2)重新定义一个模糊值,该模糊值对于当前输入精确量的隶属度为1,对于其它精确量的隶属度为0。-6-4-20246x10-560504030201000102030405160*~A3.2模糊控制器的结构和设计203.2.2规则库规则库的描述规则库由若干条控制规则组成,这些控制规则根据人类控制专家的经验总结得出,按照IF…is…AND…is…THEN…is…的形式表达。R1:IFEisA1ANDECisB1THENUisC1R2:IFEisA2ANDECisB2THENUisC2………………………………………………………Rn:IFEisAnANDECisBnTHENUisCn其中,E、EC是输入语言变量“误差”,“误差变化率”;U是输出语言变量“控制量”。Ai、Bi、Ci是第i条规则中与E、EC、U对应的语言值。3.2模糊控制器的结构和设计213.2模糊控制器的结构和设计规则库也可以用矩阵表的形式进行描述。UECNBNMNSZPSPMPBENBNBNBNBNBNMZZNMNBNBNBNBNMZZNSNMNMNMNMZPSPSZNMNMNSZPSPMPMPSNSNSZPMPMPMPMPMZZPMPBPBPBPBPBZZPMPBPBPBPB例如在模糊控制直流电机调速系统中,模糊控制器的输入为E(转速误差)、EC(转速误差变化率),输出为U(电机的力矩电流值)。在E、EC、U的论域上各定义了7个语言子集:{PB,PM,PS,ZO,NS,NM,NB}对于E、EC可能的每种取值,进行专家分析和总结后,则总结出的控制规则为:223.2模糊控制器的结构和设计规则库蕴涵的模糊关系规则库中第i条控制规则:Ri:IFEisAiANDECisBiTHENUisCi蕴含的模糊关系为:~~~~)(iiiiCBAR控制规则库中的n条规则之间可以看作是“或”,也就是“求并”的关系,则整个规则库蕴涵的模糊关系为:~~iiRRU233.2模糊控制器的结构和设计规则库的产生模糊控制规则的提取方法在模糊控制器的设计中起着举足轻重的作用,它的优劣直接关系着模糊控制器性能的好坏,是模糊控制器设计中最重要的部分。模糊控制规则的生成方法归纳起来主要有以下几种:根据专家经验或过程控制知识生成控制规则。这种方法通过对控制专家的经验进行总结描述来生成特定领域的控制规则原型,经过反复的实验和修正形成最终的规则库。根据过程的模糊模型生成控制规则。这种方法通过用模糊语言描述被控过程的输入输出关系来得到过程的模糊模型,进而根据这种关系来得到控制器的控制规则。根据学习算法获取控制规则。应用自适应学习算法(神经网络、遗传算法等)对控制过程的样本数据进行分析和聚类,生成和在线优化较完善的控制规则。243.2模糊控制器的结构和设计模糊控制规则的总结要注意以下几个问题:规则数量合理控制规则的增加可以增加控制的精度,但是会影响系统的实时性;控制规则数量的减少会提高系统的运行速度,但是控制的精度又会下降。所以,需要在控制精度和实时性之间进行权衡。规则要具有一致性控制规则的目标准则要相同。不同的规则之间不能出现相矛盾的控制结果。如果各规则的控制目标不同,会引起系统的混乱。完备性要好控制规则应能对系统可能出现的任何一种状态进行控制。否则,系统就会有失控的危险。253.2模糊控制器的结构和设计3.2.3模糊推理根据模糊输入和规则库中蕴涵的输入输出关系,通过第二章描述的模糊推理方法得到模糊控制器的输出模糊值~*~*~*~)(RBAC3.2.4清晰化接口由模糊推理得到的模糊输出值C*是输出论域上的模糊子集,只有其转化为精确控制量u,才能施加于对象。我们实行这种转化的方法叫做清晰化/去模糊化/模糊判决。263.2模糊控制器的结构和设计(1)最大隶属度方法把C*中隶属度最大的元素U*作为精确输出控制量60504030201000102035.04155.060~*C上式中,元素-4对应的隶属度最大,则根据最大隶属度法得到的精确输出控制量为-4。60