模糊控制器的 设计方法 本发明涉及一种如权利要求1前序部分所述的模糊控制器的设计方法。
模糊控制器的基础理论例如已由汉斯-彼得·普罗伊斯(Hans-PeterPreuβ)的文章“模糊控制-借助模糊逻辑的试探式控制”,该文章发表在“atp”(1992)4,第176至183及“atp”(1992)5,第239至246页中。那里所述的模糊控制器借助于模糊逻辑装置应用于调节、控制、过程优化及试探式策略。在模糊控制中模糊控制器的输入及输出量的数值基本上是随意的。为了设计一种模糊控制器,首先必须将输入及输出量的数字值范围通过语言变量值如“小”,“中”或“大”进行质的特征化。每个语言变量将通过一个隶属函数来描述。这就以这样的方式确定了语言变量值的数量表达,即它给出了一个过程量每次出现的数字值的一个逻辑值。通过该也被称为模糊化地过程,被考察的过程被细分为“模糊”部分区域。部分区域的数目相当于一个输入量的语言变量值的数目,在多个输入量的情况下相当于各个输入量的语言变量值的组合可能性的数目。对于每个该部分区域或综合地对于多个部分区域,控制策略通过条件语句式的(如果-则)控制规则来确定。这些控制规则被寄存在一个控制规则基区(Regelbasis)中。在每个控制规则中,对于条件部分中输入量的语言变量值的组合,例如通过用“与”或“或”运算符的关系连接对分别每个输出量确定一个作为语言变量值的结果值。为了计算条件部分的逻辑值,将根据在控制规则中所使用的运算符来逻辑地连接由各个输入量的隶属函数求得的逻辑值。在被称为推理,对单个控制规则的推理结论所进行的计算中,将例如在一个控制规则中由相应语言变量表示的输出量的隶属函数限制在一个逻辑值上,条件部分将该逻辑值提供给控制规则。在所谓的组合前有关输出量的控制功能彼此叠加,例如通过输出量的所有隶属函数的最大值的构成来进行。最后进行称为解模糊的输出值计算,例如通过计算所有被限制的隶属函数所包括的输出量的值区域的重心位置来实现。
该文章所描述的设计方法,尤其是使用语言变量时的控制规则基区的表示,是以足够的过程认识或利用人工操作方式的操作者经验为前提的。即使该前提存在时,将操作者的经验转换成简单处理的模糊控制常常有困难。
本发明的目的在于,寻求一种模糊控制器的设计方法,它可以不受上述限制地使用,尤其是该方法中无需一定要将过程知识或操作者经验转换成模糊控制,就能拟定控制基区。
本发明的目的是这样实现的,即本文前言部分所述类型的方法将具有在权利要求1或3所述的特征。本发明的进一步优选结构将在从属权利要求2和4至8中给出。根据本发明的新设计方法可得到一种如权利要求9所述的模糊控制器,它在控制电路中的作用类似于一个有经验的操作者。
本发明的设计方法的优点在于:无需使用经验知识可实现模糊控制的自动学习。如果需要时,该方法无需预先给定操作员便可应用。仅是输入及输出量的学习数据必须由用户提供。该方法主要在一个模糊控制器要投入应用时提供使用,尽管操作者经验不足或不明确。在此情况下根据学习数据来设计模糊控制器的该方法是有利的。该方法可在一个通常的数据处理装置上来实施。通过数集可由学习数据分布自动地求得每个输入或输出量隶属函数的数目及位置。这种分类本身是“不分明”,因此也可以在无足够学习数据的区域中适当地插值。并且也可以获得一种自学型模糊控制器,这时模糊控制器扩展为实施本发明方法的一种装置。
下面借助附图所示实施例对本发明及其改进和优点作进一步详细说明,附图中:
图1为具有两个输入及一个输出的系统;
图2为用于输出量y的一个语言变量K的寄存器值;
图3为用于输出量y的一个语言变量G的寄存器值;
图4为以矩阵描述方式的一个模糊控制器的调节控制部件;
图5和6为根据一种最小值/最大值(MIN/MAX)方法的设计方法。
图1中描绘了具有两输入量、即一个控制规则误差e1及它的导数e2和一个输出量y的功能框图1。此外在图框2,3及4中描绘了量e1,e2及y的隶属函数。语言变量值各为K(小)及G(大),对它们设定了图框2,3及4中的隶属函数。在图框2,3及4的横坐标上记录的值区域分别相当于量e1,e2及y数值区域。在纵坐标上设定了从0至1的逻辑值区域。为了设计一个模糊系统,首先通过图中未示出的测量装置记录输入量e1及e2以及输出量y的信号曲线并作为离散值进行存储。待求值的信号曲线可能起源于一个模拟控制电路或在操作员工作状态下测量出的测量值。也可用此方式通过一个模糊控制器来模仿传统控制器。
通过学习数据的数集将所有的隶属函数定位在学习数据的聚积点上。同时每个输入及输出量的隶属函数数目可作为数集的结果来得到。它的最大数目在需要的情况下可预给出。该数集是一维产生的,即每个输入及输出量与其余的无关。在多维数集的情况下可能出现:分开的多维重心在第一输入或输出量上产生间隔的单维重心,而在第二输入或输出量上产生共同靠得太紧的单维重心。因此使必要的隶属函数的数目不必要地增大了。通过单维数集可有利地避免该情况。此外相似的数集中心可以合并。为了聚集数可从两个固定的边缘数集及一个输入或输出量的数值区域上一个预定数目的独立的但首先为等距离的数集中心出发。三角形隶属函数将以这种方式定位,即三角形的顶角点位于数集中心上及底角点位于相邻的数集中心内。在一个迭代方法中,学习数据依次地分配给相邻位置上的数集中心并求得所有属于该数集中心的已处理数据点的重心。这样计算的重心在下次数据点处理时作为新数集中心。如上所述,隶属函数通过得到的数集中心来确定。
接着对于由输入量e1,e2及输出量y的每个测量值组成的三维数值组,求得语言变量K和G的所述隶属函数的逻辑值并确定出哪个占优势,即哪个语言变量具有比同一输入或输出量的其余语言变量更大的逻辑值。在图1所示的实施例中,输入量e1的语言变量G的逻辑值约为0.6,其语言变量K的逻辑值约为0.4。因此测量值位于语言变量G占优势的部分区域中。输入量e2的语言变量G的逻辑值约为0.9,它同样大于语言变量K的逻辑值0.1,所以它同样位于语言变量G占优势的部分区域中。相反地,输出量y的语言变量K的逻辑值为0.7,它大于语言变量G的逻辑值0.3,因此输出量y的测量值位于语言变量K占优势的部分区域中。
为计算测量值对于输入及输出量的部分区域的每种组合可能性设置了一个存储器的寄存器。在图1所示实施例中对于八种组合设置了八个寄存器,相当于图2及图3中的矩阵域。图2中的矩阵域与输出量y的语言变量K占优势的组合可能性相对应。图3表示语言变量G占优势的矩阵域。在一个求值阶段,根据由图1求得的逻辑值在图2所示的输出量y的语言变量K占优势的矩阵中将一个值提高到9.0的量值上,该值被写入输入量e1及e2的语言变量G占优势的矩阵域中。该值的最佳选择为等于输出量的语言变量K的逻辑值0.7。此外也可以由当前逻辑值及瞬时写入值构成最大值,由此可作到与相同或相似值的数目无关。
在图2及图3的矩阵域中写入的值表示已经过一系列的对测量三维数组求值的结果。在一个合成过程得到图4所示的控制规则部分的矩阵表达式,同时将输出量y的某语言变量写在矩阵域中,该变量在求值阶段对图2及图3中所示的矩阵进行比较时具有最大值。例如在图3中的矩阵域内输入量e1和e2以及输出量y的语言变量G的值55.1大于与此对应的(图2中)矩阵域内两输入量e1和e2的语言变量G及输出量y的语言变量K的值9.0,因此在图4中两个输入量e1及e2的语言变量G相应的矩阵域内应写入输出量y的语言变量G。根据图4控制规则部分的两种控制规则可以写成下列式子:
如果(e1=K)则(y=K)及
如果(e1=G)则(y=G)。
在至此所述的设计方法中为了确定寄存器内容仅要考虑在相应测量三维数组中占优势的隶属函数。借助图5及图6来描述根据MIN/MAX法的设计方法,其中考虑了相邻的语言变量较小的逻辑值。这将提高模糊描述的模化品质。
图5中的模糊控制器5具有两个输入量x1和x2以及一个输出量y1。输入量x1,x2及输出量y1分别具有语言变量K(小),M(中)及G(大)的三种隶属函数。借助图5来说明一个测量值三数组的寄存器写入过程。在寄存器单元中仅在输出量y1的测量值中具有最大逻辑值的输出量语言变量。在该例中输出量y1的语言变量G具有逻辑值0.6(图5中右框图)。根据“与”的逻辑连接将输入量x1,x2及输出量y1的逻辑值的最小值写入到相应的寄存器单元中。在所述的例中,输入量x1的测量值为语言变量M提供逻辑值0.8,输入量x2为语言变量K提供逻辑值0.9,输出量y1为语言变量G提供逻辑值0.6。逻辑值的最小值为0.6,它被写入在用于x1=M,x2=K及y1=G的寄存器单元中(图5中的右下方矩阵)。同样对输入量x1及x2,也考虑提供较小逻辑值的相邻隶属函数。因此在该寄存器中也写入组合可能性x1=G,x2=K及y1=G。这里,隶属函数为输入量x1的语言变量G提供值0.2作为最小逻辑值,它被写入在相应的寄存器中。在y1=G的矩阵中,根据为其余两个组合可能性提供最小逻辑值的输入量x2的语言变量M的逻辑值0.1得到具有值0.1的两个写入值。以此方式,通过测量值三维数组的求值已获得了四个写入值。但是仅当求得的各个逻辑值的最小值大于至此已写入的值时才进行写入。在图5所示的例中每个寄存器都是这种情况,因为在测量三维数组处理前所有的寄存器都是空的。该最大值的构成相当于由最小值构成获得的逻辑值的“或”逻辑连接。
图6表示作为所有测量值三维数组求值结果的输出量y1的语言变量K,M及G的矩阵及其在寄存器的写入内容形成。对输入量x1及x2的相应组合可能性取得最大逻辑值的那些区域用圆圈作了标记。为了形成在图6中所表示的控制矩阵,对输入量x1及x2的组合可能性直接赋予根据求值具有最大相关性的语言变量K、M或G。利用控制关系矩阵现在可设置基本控制规则。譬如一种基本控制规则为:
如果((x1=K)且(x2=K))则(y1=G)。
输入量x1及x2的三种组合可能性得到的基本控制规则在结果部分中具有语言变量G。这些基本控制规则可通过它们条件部分的“或”逻辑连接归纳成一种紧凑的用括号括起来的控制规则它表示为:如果(x2=K)则(y1=G)。
由多个基本控制规则构成该紧凑的控制规则其优点在于,在相同数目的控制规则的情况下可处理更多数量的输入量。因此在控制器具有相同的调节范围的情况下可实现更大的模糊控制器。当控制过程的控制规则数量仍超过一预定最大值时,可通过重新启动学习过程以减少隶属函数最大数目来保证所产生的控制规则不超过最大允许的范围。
在该实施例中仅考虑占优势的输出量y1的语言变量来用于所有量的组合可能性的最小逻辑值的求值及写入。这意味着方法的简化未带来值得一提的质量损失。但也完全有可能在该方法中同样考虑作为辅助值情况下对输出量y1提供较小逻辑值的相邻语言变量。
在紧接着的试验阶段可将通过具有该控制器及在图5中所示的隶属函数的模糊控制器计算出的输出量与测量出的输出量相比较。如果在此情况下不能满足预定的精确度要求,则存在这样的可能性,即在重新开始的学习阶段求得另外的测量值并用同样的预定隶属函数重复求值阶段及合成处理,或也可通过预给定的变化,如对于输入或输出量的隶属函数的数目或形式的变化来尝试对模糊控制器进一步改善。在一个优选的实施形式中仅对输出量的隶属函数重新优化,并使偏移的平方和减至最小,作为数值优化的目的函数。