1、基于模糊逻辑的道路拥堵判别第2章 模糊控制2.1 模糊理论概述2.1.1 模糊理论的创立模糊理论是美国帕克莱加州大学电器系L. A. Zadeh教授在1965年创立的模糊集合理论的数学基础上发展起来的,主要包括模糊集合理论、模糊逻辑、模糊推理和模糊控制等方面的内容。模糊逻辑是一种连续逻辑,由一个可以确定隶属度的句子来表示一个模糊命题,可以用来描述客观世界中普遍存在的模糊现象。模糊控制是以模糊集合论作为它的数学基础,模糊控制系统应用于诸如在测量数据不确切,要处理的数据量过大以致无法判断它们的兼容性,一些复杂可变的被控对象等场合是非常适合的。由于模糊理论受到了世人前所未有的关注,MathWorks
2、公司聘请澳大利亚Queensland大学的A. Lot教授开发了基于MATLAB环境下的“模糊推理系统工具箱”(Fuzzy Inference System Toolbox for MATLAB)。该工具箱集成度高,内容丰富,基本包括了模糊集合理论的各个方面,其功能强大和方便使用的特点得到了用户的广泛欢迎。因为它在各个方面都能给人留下深刻的印象,从而使模糊逻辑成为智能系统的概念与设计的有效工具。对待模糊理论,学术界一直有两种不同的观点,其中持否定观点的大有人在,客观地说,有如下两个主要方面的原因:其一是推崇模糊理论的学者在强调其不依赖于精确的数学模型时过分夸大其功能,而正确的观点似乎应该是模糊
3、理论不依赖于被控对象的精确数学模型,当然它也不应该拒绝有效的数学模型。模糊控制理论在特定条件下可以达到经典控制理论难以达到的“满意控制”,而不是最优控制;其二是模糊理论的确还有许多不完善之处,比如模糊规则的获取和确定,隶属函数的选择以及稳定性问题至今未得到完善的解决。尽管如此,大量的工程系统已经应用上了模糊控制理论,特别是日本,尤为重视模糊理论的工程应用。从发展来看模糊控制已经成为智能控制的一个重要分支。2.1.2 模糊理论的发展和现状以日本、中国、欧美为代表的各国科技人员正就以下各个方面开展深入研究。(1) 模糊理论基础研究为了开拓更新更广的应用,完善模糊理论的理论体系,必须加强以基本概念为
4、核心的模糊理论和模糊方法论的研究,其重点在于应用模糊理论对人的思维过程和创造力进行理论研究。同时也要对已有基础理论中的基本概念,比如模糊概念、模糊推理的概念等进行推敲;对模糊推理中的多质理论、统一性理论、推理算法、多变量分析、模糊量化理论等进行研究;对模糊方法论中的模糊集合论、模糊方程、模糊统计和模糊数学,对思维功能与模糊系统的关系,模糊系统的评价方法、模糊系统与其他系统,特别是神经网络等相结合的理论问题进行研究。(2) 模糊计算机方面的研究其目标是实现具有模糊关系特征的高速推理计算机,并希望在系统小型化、微型化的同时,开发出可以大大提高效率的模糊计算机。这方面的研究包括模糊计算机机构、模糊逻
5、辑器件、模糊逻辑存储器、模糊编程语言以及模糊计算机操作系统软件等。(3) 机器智能化研究目的是实现对模糊信息的理解,对具有渐不变特征模糊系统的控制以及对模式识别和决策智能化的研究。主要包括智能控制、传感器、信息意义理解、评价系统,具有柔性思维和动作性能的机器人、能有语言理解能力的智能通讯、具有实时理解能力的图像识别等。(4) 人机工程的研究其目标是实现能高速模糊检索并能对未能预测的输入条件作适当判断的专家系统,以及对人与人之间的界面如何能尽量接近人机之间的界面,如何才能满足新系统要求的研究。这方面主要包括模糊数据库、模糊专家系统、智能接口和对人的自然语言的研究。(5) 人类系统和社会系统的研究
6、目的在于利用模糊理论解决充满不确定性的人的复杂行为、心理分析、社会经济的变化趋势,各种社会现象的模型、预测以及决策支持等。这方面包括对各种危机的预测和完全评价、对失误系统的评价方法、建立不良结构系统的模型、模糊理论在系统故障检测与诊断中的应用、人的行为与心理分析等。(6) 自然系统的研究目的在于利用模糊理论来解决复杂自然现象的模型和解释等。这方面还包括对各种物理化学现象的进一步解释,对自然环境大气圈、地球生物圈、水圈、地圈的研究。2.2 模糊控制的特点模糊逻辑控制简称模糊控制,是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制技术。模糊控制的基本思想是利用计算机来实现人的控制
7、经验,而这些经验多是用语言表达的具有相当模糊性的控制规则。模糊控制器获得巨大成功的主要原因在于它具有如下一些突出特点:(1) 模糊控制是一种基于规则的控制。它直接采用语言型控制规则,出发点是现场操作人员的控制经验或相关专家的知识,在设计中不需要建立被控对象的精确数学模型,因而使得控制机理和策略易于接受与理解,设计简单,便于应用。(2) 由工业过程的定性认识出发,比较容易建立语言控制规则,因而模糊控制对那些数学模型难以获取、动态特性不易掌握或变化非常显著的对象非常适用。(3) 基于模型的控制算法及系统设计方法,由于出发点和性能指标的不同,容易导致较大差异;但一个系统的语言控制规则却具有相对的独立
8、性,利用这些控制规律间的模糊连接,容易找到折衷的选择,使控制效果优于常规控制器。(4) 模糊控制算法是基于启发性的知识及语言决策规则设计的,这有利于模拟人工控制的过程和方法,增强控制系统的适应能力,使之具有一定的智能水平。(5) 模糊控制系统的鲁棒性强,干扰和参数变化对控制效果的影响被大大减弱,尤其适合于非线性、时变及纯滞后系统的控制。模糊控制系统是一种自动控制系统,它是以模糊数学、模糊语言形式的知识表示和模糊逻辑推理为理论基础,由计算机控制技术构成的一种具有闭环结构的数字控制系统。模糊控制系统的核心是智能化的模糊控制器,无疑,模糊逻辑控制系统是一种典型的智能控制系统,在控制原理上它应用模糊集
9、合论、模糊语言变量和模糊逻辑推理的知识,模拟人的模糊的思维方法,对复杂过程进行控制。其基本结构如图2-1所示:图2-1 模糊逻辑控制器的基本结构从图中可以看出,模糊逻辑控制系统的主要部件是模糊化过程、知识库(含数据库和规则库)、模糊推理(推理决策)和精确化计算。很显然,模糊控制系统在结构上与传统的控制系统没有太大的差别,主要不同之处在于控制器采用了模糊控制器。由于模糊控制器是采用数字计算机来实现的,所以它应该具备下列三个重要功能:(1) 把系统的偏差从数字量转化为模糊量。(2) 对模糊量给定的规则进行模糊推理(规则库、推理决策完成)。(3) 把模糊输出量转化为实际系统能够接受的精确数字量或模拟
10、量(精确化接口)。2.3 输入量的模糊化模糊化是把精确量转化成模糊量的变换过程,在模糊化的过程中需要进行量化、模糊划分和模糊表达。量化的实质是把连续输入精确值的范围离散化;模糊划分是对论域范围确定模糊量的个数;模糊表达就是对模糊量的隶属函数进行定义,即最终确定模糊量的隶属函数。目前尚未能证明什么形状的隶属函数对某一控制目标是最优的。因此,隶属函数大多数依赖经验或考虑处理方便而选取。另外,对大多数控制系统的运行表明,在划分宽度相同时,执行过程对隶属函数的形状并不敏感。基于上述原因,隶属函数的选择一般采取以下原则和方法:(1) 表示隶属函数的模糊集合必须是凸模糊集合;(2) 变量所取隶属度函数通常
11、是对称和平衡的;(3) 隶属函数要符合人们的语言顺序,避免不恰当的重叠;(4) 论域中的每个点应该至少属于一个隶属函数的区域,同时它一般应该属于至多不超过两个隶属函数的区域。根据以上原则,并且在实际中为了简化计算,通常选用对称等腰三角形、钟形或高斯形作为隶属函数曲线,并对“最负”或“最正”的模糊量采用不对称梯形。2.4 求模糊控制关系模糊推理是一种以模糊判断为前提,运用模糊语言规则,推出一个新的近似的模糊判断结论的方法。在模糊控制理论中,模糊推理有几十种不同的机理。但是在模糊控制中较多应用的只有四种,它们分别是Mamdani推理、Larsen推理、Tsukamoto推理、Takagi-Suge
12、no推理,一般选用Mamdani推理。下面阐述基于Mamdani推理的控制算法。Mamdani推理蕴含关系AB用A和B的直积表示,即有: 即: (2-1)因此有下列推理过程:设有控制规则:r1: if x is A1 and y is B1 then z is C1 r2: if x is A2 and y is B2 then z is C2 rn: if x is An and y is Bn then z is Cn则对于模糊控制规则的前件来说有推理强度: 其中和 i=1, 2, ,n分别是Ai和Bi的隶属度函数。对于第i条模糊控制规则,则有模糊控制量Ci, 其隶属度函数为: i=1,
13、2, ,n (2-2)对于一个模糊逻辑控制器,最后的模糊控制量C是由所有的模糊控制规则共同作用的,其隶属度函数为: (2-3)其中“” 和“”分别为最大运算符和最小运算符,即对任意, 有:, (2-4)由于推理中采用了最大、最小运算符,故Mamdani推理又称Max-Min推理。2.5 求输出控制量在模糊控制系统中,模糊控制器的输入量是模糊量,输出量也是模糊量。对于实际被控对象,它所需的控制信号是有一定物理意义的精确值,为了使模糊控制器的输出能对被控对象进行控制,要把它输出的模糊量转换成精确量,这个过程称反模糊化,反模糊化是一个把最后的组合模糊结论转换为非模糊结论的过程。反模糊化接口的主要作用
14、为:(1)进行比例映射,将输出变量值的范围转换为相应的论域;(2)反模糊化,它产生一个精确量的决策输出。常用的反模糊化方法有:最大隶属度函数法、加权平均法、中心平均法和重心法,其中中心平均法和重心法是目前应用较多的反模糊化方法。下面对最大隶属度函数法、中心平均法和重心法进行阐述。(1) 最大隶属度函数法最大隶属度函数法是取所有规则推理结果的模糊集合中隶属度最大的那个元素作为输出值。设模糊控制器的推理输出是模糊量C ,则其隶属度最大的元素u*就是反模糊化所对应的精确值,即对于论域中的任意元素u, 恒有: (2-5)其中U为控制量u的论域,u*为输出控制量。(2) 中心平均法中心平均法定义如下:
15、(2-6)其中N是模糊规则数,wi是第i条规则的权值,ci是输出模糊集的中心,di是输出模糊集的宽度,fi是第i条规则的模糊蕴涵。(3) 重心法重心法又称面积中心法,是取隶属度函数曲线与横坐标围成面积的重心作为输出值。对于具有m个输出量化级的离散论域情况,反模糊化结果为: (2-7)2.6 模糊控制系统设计步骤由于利用人的直觉和经验来设计控制系统,不需要受控对象的数学解析模型,因此设计模糊控制器也没有如经典控制器那样成熟而固定的设计过程和方法。但对于模糊控制器的设计,可以参考以下设计步骤及设计原理:(1) 定义输入输出变量首先要决定受控系统有哪些输入的状态必须被监控和哪些输出的控制作用是必须的
16、。对于多输入的情况,要考虑实现的复杂性。因此在选择输入输出量时要分清主次轻重。(2) 定义所有变量的模糊化条件根据受控的实际情况,决定输入变量的测量范围和输出变量的控制作用范围,以进一步确定每个变量的论域,然后再安排每个变量的语言值及其相对应的隶属度函数。(3) 设计控制规则库这是一个把专家知识和熟练操作工的经验转化为语言表达的模糊控制规则的过程。(4) 设计模糊推理结构这一部分可以设计成通用的计算机或单片机上用不同推理算法的软件来实现,也可采用专门设计的模糊推理硬件集成电路芯片来实现。(5) 选择反模糊化策略的方法为了得到确切的控制值,就必须对推理输出量进行转换,这个过程称作反模糊计算,亦称
17、精确化计算。这实际上是要在一组输出量中找到一个有代表性的值,或者说对推荐的不同输出量进行仲裁判决。2.7 本章小结模糊系统是由那些模糊现象引起的不确定性系统,它的状态或输入、输出具有模糊性。一般来说,模糊系统也是复杂过程的一种近似表达方式,该过程本身并不一定是模糊的。本章主要讲述了模糊逻辑控制系统的组成部分,并分别从输入量的模糊化、求模糊控制关系和求输出控制量进行分析。最后简单介绍了模糊控制系统的设计步骤。第3章 基于MATLAB模糊逻辑工具箱的应用3.1 引言用模糊逻辑工具箱建立系统有两种方法,一是使用模糊逻辑工具箱的命令行方式,二是使用模糊逻辑工具箱提供的图形用户界面(GUI)。但一般情况
18、下,使用图形化方法建立一个系统更加容易,本章介绍用GUI建立系统的方法。在模糊逻辑工具箱中有五个基本GUI工具用于建立、编辑和观察模糊逻辑推理系统,它们分别是模糊推理系统(FIS)编辑器、隶属度函数编辑器、规则编辑器、规则观察器和曲面观察器。这些GUI工具之间是动态链接的,使用它们中的任意一个对FIS的修改将会影响任何其它已打开的GUI中的显示结果。我们可以使用任意一个或所有的GUI打开任何给定的系统。FIS编辑器为系统处理高层属性:有多少输入和输出变量?它们的名字是什么?模糊逻辑工具箱不限制输入的数量,但是输入数量受到所用计算机可用内存的限制。如果输入数量太大或隶属度函数的数量太大,那么很难
19、使用其它GUI工具分析FIS。隶属度函数编辑器用于定义对应于每个变量的隶属度函数的形状。规则编辑器用于定义系统行为的一系列规则。规则观察器和曲面观察器是不同于编辑器的用于观察FIS的工具。规则观察器是一个基于MATLAB的用于显示模糊推理方框图的工具。可以用作一个诊断工具,例如它可以:显示哪一条规则正在使用,或者单独的隶属度函数的形状是如何影响结果的。曲面观察器用于显示一个输出与一个或两个输入之间的依赖情况,即它为系统生成和绘制输出曲面映射。五个基本GUI可以相互作用并交换信息。它们中的任意一个可以对工作空间和磁盘进行读与写,只读型观察器仍可以与工作空间和/或磁盘交换图形。对于任意模糊逻辑推理
20、系统,可以打开任意或所有这5个GUI。如果对一个系统打开一个以上的编辑器,各种GUI窗口可以知道其它GUI窗口的存在,并且如果需要的话将更新相关的窗口。例如,如果使用隶属度编辑器改变了隶属度函数的名字,这些改变将反映在规则编辑器中显示的规则中。编辑器可以打开任意数量的不同的FIS系统。FIS编辑器、隶属度编辑器和规则编辑器都可以读和修改FIS数据,但是规则观察器和曲面观察器无法修改FIS数据。3.2 FIS编辑器下面介绍如何使用GUI建立模糊逻辑系统。为了快速了解建立模糊推理的过程,在Command Window中键入:fuzzy tipper装入已建立的系统。这将装入与文件tipper.fi
21、s(扩展名fis是隐含的)相关的FIS与FIS编辑器。FIS显示有关模糊推理系统的一般信息。如图2-1所示:上半部用简单的方框图列出了模糊推理系统的基本组成部分:输入模糊变量、模糊规则和输出模糊变量。框图左边的方框下显示了输入变量的名字,而右边的方框下则显示了输出变量的名字。注意:显示在框图中的隶属度函数只是图标并不表示实际隶属度函数的形状。该图中间的白色方框是用于显示FIS名和FIS类型。方框图下面是系统的名字和使用的推理类型。缺省时是Mamdani型推理,另一个推理是Sugeno型推理。注意help和close按钮,它们分别调用在线帮助系统和关闭窗口。图2-1 FIS编辑器窗口 在MATL
22、AB提示符下键入fuzzy启动系统,打开了一个标记为input1的单输入、标记为output1的单输出的一个没有标题的FIS编辑器,如上图2-1所示。下面我们将构造一个双输入、单输出系统,因此打开Edit菜单选择Add input, 出现标记为input2的方框。设两个输入是service和food, 一个输出是tip. 我们需要将变量名改成这些名字,方法如下:(1) 单击左边input1黄色框,在右边空白编辑域中,将input1改成service.(2) 单击左边input2黄色框,在右边空白编辑域中,将input2改成food.(3) 单击右边output1蓝色框,在右边空白编辑域中,将o
23、utput1改成tip.这样就得到更新后的方框图如图2-2所示:图2-2 更新后的FIS编辑器窗口为定义与每个变量相关的隶属度函数,可用下列3种方法之一打开隶属度函数编辑器,隶属度函数编辑器窗口如图2-3所示。(1) 打开Edit菜单并选择Membership Functions;(2) 双击输出变量tip图标;(3) 在命令行键入mfedit. 图2-3 隶属度函数编辑器窗口3.3 隶属度函数编辑器如图2-3所示,当你打开隶属度函数编辑器,并和一个还没有存在于工作空间的模糊推理系统一起工作时,将没有任何隶属度函数与你刚才用FIS编辑器定义的变量相关。隶属度函数编辑器图形区左上部是“变量模板”
24、,可以通过双击对给定变量设置隶属度函数。下面打开Edit菜单选择Add Mfs将出现一个新窗口,你可以用它来选择与所选变量相关的隶属度函数类型和隶属度函数数量。在窗口的左下角是控制区,选择它可以改变隶属度函数的名字、类型和参数(形状)。当前变量的隶属度函数显示在主图形中,有两种方法可以操作这些隶属度函数。首先你可以用鼠标选择一个与给定变量参数相关的特定隶属度函数,然后从一边到另一边拖动隶属度函数,这将影响与给定变量隶属度函数相关的参数的数学描述,也可以膨胀或收缩选定的隶属度函数。方法是单击隶属度函数上的小方框拖动点,膨胀向外拖、收缩向内拖,这将改变与隶属度函数相关的参数。变量模板下面是有关当前
25、变量类型和名字的信息。此区域有一个文本框让你改变当前变量的上、下限,并且另一个区域让你改变当前图形的上、下限,这对系统没有真正的影响。3.4 规则编辑器为调用规则编辑器,从Membership Function Editor窗口打开Edit并选择rules或在命令行键入ruleedit, 打开规则编辑器窗口,如图2-4所示。 图2-4 规则编辑器窗口使用图形化规则编辑器窗口构造规则是相当简明的。基于用FIS编辑器定义的输入、输出变量的描述,通过单击并在每个输入变量和输出变量框中各选一项,并选择一个连接项,规则编辑器允许你自动的构造出规则语句。选择none作为一个变量的参数将从给定规则中除去该变
26、量,选择任一变量名下面的not将求反相关的参数。通过单击相应的按钮可以改变、删除或增加规则。类似于FIS编辑器和隶属度函数编辑器,规则编辑器也有某些类似的标志,包括菜单棒和状态行。从顶部的菜单棒的Options下拉式菜单可以使用Format弹出式菜单,该菜单通常用于设置显示的格式。类似地也可以从Options下设置Language菜单。单击Help按钮将引出MATLAB帮助窗口。在定义了模糊推理系统,包括变量、隶属度函数和系统所需要的规则后,可以检查前一节给出的模糊推理方框图并验证其行为是否是我们所期望的。这正是规则观察器所要完成的工作,这是我们将要介绍的下一个GUI工具。3.5 规则观察器从
27、View下拉菜单选择Rules打开如图2-5所示的规则观察器窗口。 图2-5 规则观察器窗口规则观察器显示了全模糊推理过程的路径图。每条规则对应一行小图形,每一列对应一个变量。如果你在规则号上单击一下,该号变成高亮红色,并且相应的规则显示在图形窗口的底部。注意到若有一个小图形是空的,则对应的规则中该变量的特征值为none.规则观察器也有一些像状态行和菜单棒这样的熟悉项,可以参照前面说明使用。右下部有一个文本域,你可以在其中输入特定的值。对于双输入系统,你需要输入一个向量,如1 8, 然后单击input. 对于每个输入,你可以单击上图左边3个图标的任何位置来改变这些输入值,系统将进行新的计算,并
28、且你可以看到整个模糊推理系统的工作过程。反模糊化输出值由通过合计模糊集的粗线表示。规则观察器让你一次就可完全了解整个模糊推理过程。规则观察器也显示了特定隶属度函数的形状是如何影响整个模糊推理结果的。由于它绘出了每条规则的每一部分,它不能广泛应用于特别大的系统,但是对于相对小型的输入和输出系统,它工作得很好。一般可以有高达30条规则和6或7个变量。规则观察器以非常详细的方式在任一时刻显示计算过程,在这一意义上它给出了模糊推理系统一种微观视角。3.6 曲面观察器为了看到系统的整个输出曲面,要打开曲面观察器,这是5个GUI工具的最后一个,可以从View菜单选择Surface打开如图2-6所示的窗口。
29、由于这是一个双输入、单输出情况,我们可以看到整个映射。因为它们生成的是MATLAB擅长处理的三维图。如果是三维以上的,那就碰到显示麻烦了。曲面观察器也配备了弹出式菜单,让你选择用于绘图的任意两个输入和任意一个输出。弹出式菜单正下方是两个文本输入域,让你确定想在x轴和y轴包含多少网格线。这让你为复杂的问题保证合理的计算时间。按下Evaluate按钮启动计算,在计算完成后会立即绘制图形。可以改变相应的文本域并单击图形来改变X轴和Y轴的网格,曲面观察器会重新绘制图形。图2-6 曲面观察器窗口曲面观察器有特殊功能,这在双(或多)输入和单输出情况非常有用:你可以实际抓住轴(用鼠标)并重定位它们以获得数据
30、的不同三维图。曲面观察器可以对输入变量的任意两个生成一个三维输出曲面。3.7 从GUI工具输入和输出 当保存一个模糊系统到磁盘中,你实际上是保存了一个带.fis文件后缀并表示系统的ASCII文本FIS文件。当保存模糊系统到MATLAB工作空间,就将创建一个变量(名字由你自己定),它作为一个FIS系统的MATLAB结构起作用。FIS文件和FIS结构表示相同的系统。注意:如果你不保存FIS到磁盘中,而仅仅保存到MATLAB工作空间,在新的MATLAB会话期间,就不能恢复它以重复使用。3.8 五个基本GUI工具以及与模糊推理系统之间关系简易图 图3-1 五个基本GUI工具以及与模糊推理系统之间的关系图3.9 本章小结本章主要介绍了怎样利用MATLAB模糊逻辑工具箱建立模糊系统。通过使用模糊推理系统编辑器、隶属度函数编辑器、规则编辑器、规则观察器和曲面观察器这五个基本工具来建立、编辑和观察模糊推理系统,说明了用GUI建立模糊系统的方法。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1