一阶系统模糊控制器仿真研究

发布于:2021-06-20 15:18:55

学号:1108211038

本科毕业论文(设计) ( 2013 届)
一阶系统模糊控制器的仿真研究

院 专 姓

系 电子信息工程学院 业 名 电子信息工程 田雷 吴剑威 讲师

指导教师

2013 年 5 月

合肥师范学院 2013 届本科毕业论文(设计)





随着模糊控制技术的广泛应用,特别是在那些复杂的、非线性、不确定性、多变性的 大系统中。模糊控制技术越来越受到人们的关注并且不断发展。*年来,模糊控制技术也 是控制领域的研究热点。模糊控制器建立的关键是模糊控制规则及隶属度函数的建立,他 们的确定对输出控制的结果产生很大的影响。 模糊控制作为一种智能控制技术,它是根据专家经验和熟练操作人员经验并以模糊数 学、模糊语言以及模糊规则和推理为理论基础,其可以在不建立对象数学框架的前提下根 据人类的思维方式和推理过程实现对被控制对象较精确的控制。时至今日,模糊控制凭借 其智能化水*高、控制过程简单且易实现等特点,显示出巨大的发展潜力和实用价值,在 很多领域都获得了完美的应用和发展。 本论文通过模糊控制器对一阶系统进行仿真分析。首先介绍了模糊控制系统的现状和 发展趋势以及基本结构和实现方法,然后介绍了模糊工具箱的基本功能和应用,最后对一 阶系统进行仿真分析。 仿真过程是创建一个一阶系统, 确定变量和隶属度函数, 用 MATLAB 命令编程设计模糊控制器,用图形用户界面(GUI)建立模糊推理器(FIS)以及模糊规则, 在 Simulink 中建立模糊控制系统的模型并进行仿真。 关键词:模糊控制;隶属度;Simulink;一阶系统

I

合肥师范学院 2013 届本科毕业论文(设计)

Abstract
With the widely application of the fuzzy control technology, especially in the complex, nonlinear, uncertainty and variability of large system, fuzzy control technology is more and more getting the attention of people and continuous development. In recent years, the focus of recent research is in the field of fuzzy control technology. Fuzzy controller is the key to the establishment of the fuzzy control rules and membership functions, the results of their determination to control the output produce very big effect. Fuzzy control technology is an intelligent control technique, which is based on the experience of experts and skilled operators experience and fuzzy mathematics, fuzzy language and fuzzy rules and reasoning as the theoretical foundation, it can be in the premise of not establish the mathematical framework based on human thinking and reasoning process to achieve the control of the control object precisely. Today, the fuzzy control with its high intelligent level, the control characteristics of the process of simple and easy to achieve, shows great potential for development and practical value, in many areas have gained the application and development of perfect. In this paper was carried out on the first order system by fuzzy controller simulation analysis. First introduced the present situation and development trend of fuzzy control system and the basic structure and implementation method, and then introduced the basic function and application of the fuzzy toolbox, the simulation analysis was carried out on the first order system. Simulation process is to create a first-order system, determine the variables and the membership functions, MATLAB command programming design of fuzzy controller, with a graphical user interface (GUI) based fuzzy reasoning (FIS) and the fuzzy rules and fuzzy control system model is established in Simulink and the simulation. Keywords: Fuzzy Control; Membership; Simulink; first order system

II

合肥师范学院 2013 届本科毕业论文(设计)

目 摘 目 1 绪



要 ...................................................... I 录 .................................................... III 论 .................................................... 1

ABSTRACT ................................................... II

1.1 课题的研究背景及意义 ....................................... 1 1.2 国内外研究现状 ............................................. 1 1.3 模糊控制的发展趋势及存在的问题 ............................. 2

2 模糊控制的基本原理 ........................................ 2
2.1 模糊控制理论基本概念 ....................................... 3 2.2 模糊控制系统 ............................................... 4 2.3 模糊控制器 ................................................. 6

3 MATLAB 及模糊工具箱 ........................................ 9
3.1 MATLAB 简介 ................................................ 9 3.2 模糊工具箱 ................................................ 10 3.3 Simulink 介绍 ............................................. 14

4 一阶系统模糊控制器设计及仿真 ............................. 16
4.1 一阶系统 .................................................. 16 4.2 模糊控制器的设计 .......................................... 18 4.3 利用 Simulink 建立模糊控制系统模型并仿真 ................... 26

5 总结与展望 ............................................... 27
5.1 总结 ...................................................... 27 5.2 展望 ...................................................... 28

参考文献 ................................................... 29

III

合肥师范学院 2013 届本科毕业论文(设计)

1
1.1 课题的研究背景及意义





在当今社会科技迅速发展的前提下,现代工业变得越来越规模化、自动化、生产过程 也越来越复杂化,家用电器等很多控制对象日益变得复杂。尤其是对于那些多变性、非线 性系统,传统的控制理论和控制方法像 PID 控制、自适应控制等越来越显示出局限性,那 些复杂系统的控制对象它们已经不再适用。[1]所以对于这种状况,人们希望出现一种更智 能的控制方法,它能以人类思维的控制方案为基础,并能反映人类经验的控制过程,以达 到控制目的并通过某种形式表现出来,随着计算机技术在各领域的渗透,在模糊数学理论 基础上发展起来的模糊技术在控制领域取得了长足发展。这种模糊控制技术应用简单、易 于实现而且行之有效,因此其应用变得越来越广泛。
在非线性、多变性的复杂系统中,我们很难确切地说明复杂对象和系统的任何物理现

象和运动状况。也可以说,我们暂时根本无法实现对这些对象的描述。[2]那些传统的控制 技术在复杂的大系统中已不适用,并且逐渐显示出了局限性,而模糊控制技术却充满了活 力并在蓬勃的发展,因其不仅适用小规模变量系统,而且逐渐向大规模、不确定、非线性 复杂系统扩展,这种控制系统简单灵活,不需要建立对象的数学模型而且易于实现,能发 挥熟练专家操作的良好自动化效果等其他传统控制技术无法实现的功能。因此,模糊控制 技术的研究对未来工业、家电等各领域的发展起着至关重要的作用。

1.2 国内外研究现状
模糊控制理论具有巨大的发展潜力和强大的生命力。这已在无数的实践中得到验证并 且会在未来的发展中逐渐得到认可和证明。 在国外, 1974 年英国的马丹尼(E.H.MAMDANI) 首次提出并在蒸汽机控制中应用了模糊理论;第一篇关于模糊控制理论的论文是 1976 年 英国的汤哥(R.TONG)编写的,此书详细介绍了模糊控制基本原理、结构等相关知识;1979 年,英国的 I.J.Procyk 和 E.H.Mamdani 研究了一种自组织的模糊控制器,它在控制过程中 不断修改和调整控制规则,使得控制系统的性能不断完善;1983 年,日本的 M. Sugeno 和 Kurakani 将语言真值推理与模糊逻辑控制器相结合,使模糊控制器的性能不断完善,并且 成功应用到汽车的控制上;后来,美国、欧洲等国先后将模糊控制理论应用于智能机器人、 工业生产工程等领域;90 年代后模糊控制技术在工业的应用更加深入化、专业化,而且应 用领域更加广阔,模糊控制技术也日趋成熟和完善,很多通过模糊控制的产品遍布日本和 欧美市场,比如模糊洗衣机、模糊吸尘器等。欧美各个国家都在争先努力开发适应市场需 要的模糊新技术和新产品。模糊控制的稳定性问题也在专家们的研究中逐步解决;模糊控 制理论不断与其它新技术结合应用,充分结合各自的优点以达到最佳效果,比如与人工神 经网络模糊技术和遗传基因模糊技术等相结合用于解决单一技术所解决不了的问题。至 此,模糊技术已取得了丰硕的成果。在国内,自 1979 年以来,有大量专家学者对模糊控 制技术进行了大量理论研究和实体开发,对我国模糊控制在工业控制领域的发展起了推动
1

合肥师范学院 2013 届本科毕业论文(设计)

作用。*几年来,我国模糊控制技术在工业控制领域中的应用已取得了很多成果。田方、 李有善等人把模糊控制技术成功应用于钢铁、煤炭等工业控制领域,并且取得了可喜的成 果。虽然我国模糊控制技术正在不断发展并取得了不错的成果,但是在硬件开发环境方面 和国外相比还是有差距的,我国模糊控制技术的开发主要以软件实现为主,对于实现模糊 控制的产业化、规模化还有待加强。

1.3 模糊控制的发展趋势及存在的问题 1.3.1 模糊控制的发展趋势
在计算机技术和模糊控制理论的不断发展和创新过程中,模糊控制技术已经深入到了 各个领域并且向很多方向发展: 1、模糊控制领域未来的发展方向是模糊控制技术同其它控制技术或控制方法的相结合, 如模糊 PID 控制、模糊神经网络控制、模糊控制与遗传算法(GA)的结合等; 2、在过去只是以大型机械以及大规模的生产过程为对象进行控制,而现在逐渐扩展到 以电冰箱、空调等家用电器为对象,控制对象逐渐小型化、大众化和智能化; 3、在不断加强模糊控制器专业领域芯片的研究和开发的同时,加大模糊控制器通用芯 片及系统的研发。并不断向智能系统、复杂系统、社会系统等方向发展。

1.3.2 模糊控制存在的问题
模糊控制技术经过几十年的发展,技术越来越成熟并且成功应用于很多领域。但也存在 一些问题[3]。 (1)对于那些多变的复杂系统,要想建立模糊规则、隶属函数和模糊推理系统还有一定 难度,目前还没有一个系统的方法解决复杂系统的模糊控制问题; (2)模糊控制系统在实际应用到控制对象中能否保持稳定的控制; (3)模糊控制系统的自适应能力和更加智能且能自动更新的系统的设计也是模糊控制技 术发展过程中的难题; (4)简单且具有各种控制功能的模糊集成芯片及模糊控制设备的开发和应用; (5) 系统设计方法的获得即如何获得模糊规则和隶属度函数, 当前都是凭经验来进行的。

2

模糊控制的基本原理

模糊控制[4]作为一种智能控制技术,它是根据专家知识和熟练操作人员经验并以模糊 数学、模糊语言以及模糊规则和推理为理论基础,其可以在不建立对象数学框架的前提下 根据人类的思维方式和推理过程实现对被控制对象较精确的控制。模糊控制的基本原理是 先将熟练操作人员的经验或专家知识提炼成一组模糊规则,然后把输入端传来的实时信号 进行模糊处理,再把模糊处理后的信号输入到模糊推理机中进行模糊推理,推理完成后把 得到的清晰量加到执行机构中。

2

合肥师范学院 2013 届本科毕业论文(设计)

2.1 模糊控制理论基本概念
模糊集合的概念是 1965 年查德在其著名的论文《模糊集合论》中最早提出的,其定 义为: 设 X 是对象 x 的集合, x 是 X 中的任意一个元素。 X 上的模糊子集 A 定义为一组有序

μ A ),x ? X ,其中,μ A(x )被称为模糊子集 A 的隶属度函数。 对: A = (x,
设论域 F,F 在闭区间[0,1]上的任一映射μ A :

?

?

μA : F → ? ?0,1? ?

(2-1) (2-2)

f → μ A(f)
属度函数,μ A(f)为元素 f 隶属于 A 的程度,简称为 A(f)。

它确定了 F 的一个模糊子集,简称模糊集(或 F 集) ,记为 A。μ 称为模糊集 A 的隶

根据上述定义可知, 论域 F 上的模糊子集 A 完全由隶属度函数μ A(f)来表征, μ A(f)的 取值范围为闭区间为[0,1],μ A(f)的大小反应了 f 对于模糊子集 A 的隶属程度。

μ A(f)=1,表示完全属于 A; μ A(f)=0,表示完全不属于 A;
0<μ A(f)<1,表示部分属于 A。 模糊集合的隶属函数是经典集合的一种特殊形式。确定隶属函数的过程实质上是人们 对具体事物或对象相似程度的定性描述, 这种描述从本质上来说是客观的。 根据定义来看, 我们可取无穷多个值来表示模糊集合的隶属函数,但这在实际应用中很难实现,所以一般 情况下可以进行如下简化:把隶属程度最高的隶属度定为 1.0,隶属程度最低的隶属度定 为 0.0。常用的隶属函数有:三角形、梯形、钟形、高斯型、Z 型和 Sigmoid 型。

2.1.1 模糊逻辑操作
模糊集合具有模糊“交” 、 “并” 、 “补”等运算关系,这是与经典集合运算相类似的。 设 A、 B 是论域 U 上的模糊集合, A 与 B 的交集、 并集和 A 的补集也是论域上的模糊集合。 A 与 B 的交集、并集运算分别是取最小值、取最大值运算。设任意元素,则 u 对 A 与 B 的交集、并集和对 A 的补集的隶属函数分别定义如下: 交运算: ?A B (u) ? min ??A (u), ?B (u)? 并运算: ?A B (u) ? max ??A (u), ?B (u)? 补运算: uA ? 1 ? uA (u)
(2-3) (2-4) (2-5)

2.1.2 模糊规则与模糊推理
1、模糊规则 模糊系统从本质上来说是专家系统,而且它是基于规则的。它的语言规则形式是 “if-then”形式。一个模糊系统性能的好坏,关键是看规则是否能正确反映专家知识及操
3

合肥师范学院 2013 届本科毕业论文(设计)

作人员经验、反映对象特征。模糊规则的一般形式为 if A then B。 构造模糊推理系统非常重要的步骤是模糊规则的建立,一般建立模糊规则的方法主要 有三种:1、根据专家知识、操作人员的经验建立模糊规则;2、依据模糊模型的结构来建 立模糊规则;3、基于学*的方法,通过设计具有自组织、自学*能力的模糊控制器来自 动获取模糊规则。 2、模糊推理 模糊推理也称为“似然推理” ,其实质是根据已知命题,并按照一定的法则,去推断 一个新的命题的思维过程和思维方式。其也可以看成是一种模糊集合的变换和隶属函数的 演算。模糊控制理论中主要有两种推理方法比较常用,即 Mamdani 模糊推理算法和 Takagi-Sugeno 型模糊推理算法。模糊推理可以有多种不同的算法,是由于其执行结果与模 糊操作的定义、模糊合成规则以及连接词的定义等有关。本论文主要是用 Mamdani 型的模 糊推理算法推理。

2.2 模糊控制系统 [5]
模糊控制系统作为一种智能控制系统,它以模糊数学、模糊集合、模糊语言形式的知 识表示和模糊逻辑的规则推理为理论基础,采用计算机控制技术构成的一种具有反馈通道 的闭环结构的数字控制系统。与其他控制系统不同的是他的组成核心是具有智能性的模糊 控制器。

2.2.1 模糊控制系统的特点
模糊控制系统具有如下优点: 1、由于复杂系统和模糊对象的数学模型无法获得,使得常规控制系统束手无策,而 在这方面模糊控制凸显其优势,因其不依赖于系统精确的数学模型。 2、模糊控制系统的智能性和自学*性是区别于常规控制系统的重要标志之一。因模 糊控制系统中的变量及隶属函数表示、模糊规则和模糊推理是在专家知识或熟练操作者的 成熟经验的基础上产生的,并且可以通过学*对其进行更新。 3、模糊控制系统人性化的人机界面,即使是只有一定操作经验而不了解控制理论的 工作人员,也能在短时间内学会并且可以使用“模糊语言”进行人机对话,获取需要的控 制信息。 4、模糊控制系统具有较强的鲁棒性和控制性,这体现在可以有多个模糊推理输入输 出的控制变量模糊化等级包含于一个系统的误差等级。

2.2.2 模糊控制系统的组成
模糊控制基本工作原理[6]是系统将实际值 y(被控制量)与给定值进行比较后得到的 偏差 e 和偏差变化率 ec 输入到模糊控制器,模糊控制器再通过计算得到控制量 u,最终通 过 u 对生产过程进行控制。图 2-1 所示为模糊控制系统的框图,其中点划线部分为模糊控 制器,将在下节进行介绍。 图 2-1 中模糊控制器有二个输入变量 e 和 ec,称为二维模糊控制器;如果去掉一个输
4

合肥师范学院 2013 届本科毕业论文(设计)

入变量 ec,就变成了一维模糊控制器;要想提高控制精度,我们可以在输入 e 和 ec 的基 础上再输入偏差的二阶导数,则称为三维模糊控制器。高维模糊控制器的维数越高,精确 度越高,但会使是控制规律变复杂,而且可能会降低控制的实时性和有效性,因此在大多 数情况下我们都采用二维模糊控制器。

r + d dt

e
A/D

模 糊 化 处 理

ec

模 糊 控 制 算 法

去 模 糊 化 处 理

u
D/A

执 行 机 构

被 控 对 象

y

模糊控制器

测量装置 图 2-1 模糊控制系统框图

1、被控制对象:其是一种设备或机器,或者是一个生产的、自然的、社会的或其他 类型的状态转移过程,该被控对象可以是被标识的或模糊的、一个变量或多个变量,也可 以是线性的或非线性的、固定不变的或随时间变化的,对于那些很难构建数学框架的复杂 对象,就可以用模糊控方法来解决; 2、执行机构:除一些电力设备外(如各类交、直流电动机,伺服电动机,步进电动 机等) ,还有气动的和液动的(如各类气动调节阀和液压马达、液压阀等) ; 3、控制器:是模糊控制系统的核心部分,根据被控对象的类型,以及对系统性能要 求、控制规则的差异以及使用者的需要,可以设计不同功能的控制器,对于经典控制理论, 用运算放大器加上阻容网络构成的 PID 调节器和由串级、前馈补偿等系统构成的校正器; 对于现代控制理论,设计的有状态反馈控制器、数字控制器、最优控制器、鲁棒控制器等, 而对于在模糊控制理论,主要是运用以模糊知识变量和模糊规则的模糊控制器,这一点是 模糊控制系统与其他控制系统的重要区别; 4、输入-输出(I/O)接口:由于需要把被控对象的模拟控制量转换成数字信号,所以模 糊控制器和其他混合控制系统一样,也具有模/数(A/D)、数/模(D/A)转换功能,而又与其 他系统所不同的是模糊控制系统的结构中还必须有便于模糊处理的“模糊化”与“清晰化” 这两个部分,这两部分一般被认为是模糊控制器的输入输出接口; 5、测量装置:它的作用是将被控对象的物理量变换成数字量,它的组成主要是能进 行模数转换的测量仪器以及各种测量元件或传感器,它在模糊控制系统中起着非常重要的 作用,它的精度对整个控制系统的性能好坏至关重要,所以测量装置的设计必须稳定、可 靠且精度高。 总之,要想提高模糊控制器的控制精度,就必须了解被控量的变化规律以及实际值与 给定值之间的偏差,以便根据偏差调节控制规则以及输出控制量,因此,我们总是先将测
5

合肥师范学院 2013 届本科毕业论文(设计)

量装置的观测值反馈到系统输入端,并与给定输入量相比较,构成具有反馈通道的闭环结 构形式。

2.3 模糊控制器
模糊控制器[7](Fuzzy Controller—FC)也称为模糊逻辑控制器(Fuzzy Logic Controller —FLC) ,由于所采用的模糊控制规则是由模糊理论中模糊条件语句来描述的,因此模糊控 制器是一种语言型控制器,故也称为模糊语言控制器(Fuzzy Language Controller—FLC) 。 模糊控制器是模糊控制系统的核心,一个模糊控制系统性能的优劣,主要取决于模糊控制 器的结构,所采用的模糊规则、合成推理算法以及模糊决策的方法等因素。

2.3.1 模糊控制器的特点
1、模糊控制器的设计只需要根据专家知识和熟练操作人员的经验而不需要根据机理 与分析建立被控对象的精确数学模型。这使得其模糊推理和模糊决策容易让人理解,而且 方便应用和推广。隶属函数比较简单,而所需控制规则不多,系统却能完成很复杂的任务。 2、设计者运用模糊逻辑推理设计模糊控制器,这种推理方法实质上是仿照人类的决 策方式,这种方法能够处理非线性、时变的被控对象或控制系统。 3、模糊控制器作为一种多功能的智能控制器,它是以开放性的专家知识和模糊语言 决策为基础设计模糊规则,这极大的提高了控制系统自我学*和自我更新的能力。 4、只要了解了受控对象的控制要求及规律就很容易建立语言控制规则,掌握前件和 后件的模糊关系。所以模糊控制对那些数学模型难以获取,动态特性不易掌握的对象非常 适用。这是其他常规控制器所不能的。 5、模糊控制系统鲁棒性强,大大减弱了干扰和参数变化对控制效果的影响,尤其适 用于非线性、多变量、时变及纯滞后系统的控制。

2.3.2 模糊控制器的组成
模糊控制器主要由四部分组成:知识库(其中包括数据库和规则库) 、模糊化、模糊 推理、清晰化。要想设计一个性能优良的模糊控制器,关键是要看这四个部分的设计是否 合理且能否达到最优设置。其中模糊化(Fuzzification)的过程是将精确的输入、输出变量 变换成模糊控制器中模糊推理过程所需要的模糊语言变量;清晰化(Defuzzffication,亦称 去模糊化) 是将模糊控制器推理后形成的控制策略 (变量) 转换成一个精确的控制变量值, 并且输出此控制变量进行模糊控制。模糊控制器的基本结构框图如图 2-2 所示。
知识库

A/D

e ec

模糊化

E
EC

模糊规 则推理

U

清晰化

D/A

u

图 2-2 模糊控制器结构框图
6

合肥师范学院 2013 届本科毕业论文(设计)

1、知识库 知识库包括数据库与规则库两部分。数据库主要是存储输入、输出变量的全部模糊子 集的隶属度矢量值,若论域为连续域则为隶属度函数。在规则推理的模糊关系方程求解过 程中,向推理机提供数据。规则库包括用模糊语言变量表示的一系列控制规则,他们是控 制专家经验和知识的反映。 模糊规则通常由一系列的关系词连接而成, 如 if-then、 else、 also、 end、or 等,关系词必须经过“翻译”才能将模糊规则数值化。 2、模糊化 模糊化是将误差 e 及误差变化 ec 的精确量转换为模糊语言变量, 即根据输入变量模糊 子集的隶属函数找出相应的隶属度,将 e 和 ec 变量转换成模糊语言变量 E 和 EC。在实际 控制过程中,把一个实际物理量划分为“正大” 、 “正中” 、 “正小” 、 “零” 、 “负小” 、 “负中” 、 “负大” 七级, 分别以英文字母 PB (Positive Big) 、 PM(Positive Medium)、 PS (Positive Small) 、 ZE(Zero) 、NS(Negative Small) 、NM(Negative Medium) 、NB(Negative Big)表示。 只有确定了各个变量所在模糊子集的隶属度函数(Membership Function)后才能对变量实 行模糊化操作。 3、模糊规则推理 模糊规则推理对模糊控制器的性能至关重要,因此我们在设计模糊控制器时,必须得 根据专家知识经验或其他方法设计一个精确的模糊控制规则。 模糊规则主要是在专家知识以及熟练操作人员经验的基础上,根据不断实验得到的结 果与想要达到的值的偏差对其加以修改和调节。模糊规则的形式为: IF…THEN…。 通常可写为: IF T is X and L is Y,THEN R is Z。 上式是模糊控制系统控制规律的逻辑推理式,称为规则(Rule) 。其中 IF 部分的“IF T is X and L is Y”被称作是前提部,而 THEN 部分的“R is Z”被称作是结论部,T、L 为输 入变量,R 为推理结论。因为变量 T、L、R 都是模糊变量,而在实际中所给的输入输出量 皆为精确量,所以我们在现实中要想实现模糊控制,就必须要把输入变量 T、L 变成模糊 量,而要把 R 变成清晰量。X、Y、Z 有各自的模糊集,并且用隶属度函数的形式表示, 通常一个模糊控制器的模糊规则是由设计者自己选取的,规则多少不固定,输入、输出变 量也可有多个规则。 在模糊控制推理中我们主要应用两种模糊推理方法,即最大 -最小推理方法 (MAX-MIN-Operation)和最大-乘积推理方法(MAX-PROD-Operation) ,用的最多的模 糊推理方式是 Zadeh 推理法、Mamdani 推理法及 Baldwin 推理法等。 模糊规则对模糊控制器的性能好坏有着巨大的影响,要想设计一个性能优良的模糊控 制器, 就必须把控制规则优化到最佳状态, 并且要确定合适的规则条数和适当的隶属函数; 与此同时还要赋给全部规则合适的调节因子(Adjust Factor) ,调节因子由多次试验的经验 为依据加以确定,并且可以在实验中不断修改完善。
7

合肥师范学院 2013 届本科毕业论文(设计)

总之,模糊控制器控制规则的设计原则是:当误差较大时,控制量的变化应尽量使误 差迅速减小;当误差较小时,除了要消除误差以外,还要考虑系统的稳定性,防止系统产 生不必要的超调,甚至振荡。 4、清晰化 清晰化又叫去模糊化或解模糊化。由于模糊推理的结果一般都是模糊值,只有将其转 化成一个可以被执行机构所实现的精确量后才能作为输出的控制量。目前用的最多的清晰 化方法是最大隶属度法。 还有一些比较常用的方法有面积重心法 (COG, Center of Gravity) , 最大*均(MOM,Mean of Maximum) 、左取大(LM,Left Maximum) 、右取大(RM, Right Maximum) 、乘积和重心法(PSG,Product Sum-Gravity)等。

2.3.3 模糊控制器的结构
随着人们对模糊控制器的深入研究和广泛应用,模糊控制器从原来单一的结构形式已 发展成为多种多样的结构形式。[8]根据模糊控制器输入、输出变量的个数多少可以分为单 变量、 多变量模糊控制器; 根据模糊控制器模型构建型式的不同又可以分成多值逻辑模型、 数学方程模型和语言规则模型的模糊控制器;根据控制功能可分为自适应模糊控制器、自 组织模糊控制器、自学*模糊控制器和专家模糊控制器等,虽然模糊控制器的种类很多, 但不管什么类型的模糊控制器,他们的总体结构都是没有差别的,只是在设计细节和功能 上有所差异。 通常情况下,我们把单变量模糊控制器的输入量的个数叫做模糊控制器的维数,维数 越多说明输入量越多,表示方式非常直观,如图 2-3,图 2-4,图 2-5 所示。 X1
一维模糊 控制器 图 2-3 一维模糊控制器

U

X1 e
ec d/dt 二维模糊 控制器 图 2-4 二维模糊控制器

U

X1

e ec 三 维 模 糊
控制器 d/dt d/dt

U

ecc

图 2-5 三维模糊控制器
8

合肥师范学院 2013 届本科毕业论文(设计)

1、一维模糊控制器:如图 2-3 所示。一维模糊控制器只有一个输入变量而且其输入 变量通常选择输入给定的偏差量 e。因为其输入变量只采用偏差量,要想精确且全面的反 映控制系统的品质,并且达到良好的系统性能是很困难的。所以一维模糊控制器一般只被 用于简单的控制对象比如一阶被控对象。 2、二维模糊控制器:如图 2-4 所示。二维模糊控制器有两个输入变量,通常选择偏 差 e 和偏差变化 ec,因为用二维模糊控制器构造的控制系统能很好地反映控制系统在控制 过程中输出变量的品质特性,而且它的控制性能要远远好于一维模糊控制器,所以这种模 糊控制器比较常用。 3、三维模糊控制器:如果在二维模糊控制器的基础上再加上偏差变化的变化率 ecc 就构成了三位模糊控制器。它主要用在那些控制要求非常高,光靠调节系统偏差、偏差变 化信号根本解决不了的情况下。如图 2-5 所示。三维模糊控制器的三个输入变量分别为系 统偏差量 e、偏差变化量 ec 和偏差变化的变化率 ecc。由于三维模糊控制器结构繁琐、模 糊推理用时太多,而且应用于控制对象特性要求很高的场合,所以在实际应用中通常很少 用到它。 从理论上讲,模糊控制系统[9]所选用的模糊控制器维数越高,系统的控制精度也就越 高。但是维数选择太高,模糊控制规律就过于复杂,基于模糊合成推理的控制算法的计算 机实现也就更困难,这也是人们在设计模糊控制系统中,多数都采用二维模糊控制器的原 因。

3

MATLAB 及模糊工具箱

本论文是在 Simulink 仿真环境下利用 MATLAB 模糊工具箱对仿真对象进行仿真研究 的。

3.1 MATLAB 简介
MATLAB 是美国 MathWorks 公司推出的产品,是为了克服在科学研究和工程应用中 一般语言对大量的数学运算,尤其当涉及到矩阵运算时编程复杂、调试麻烦等困难而开发 的。值得一提的是,MATLAB 开始并不是为控制理论与控制系统的设计者们编写的,但以 它的“语言”化的数值计算,强大的矩阵处理及绘图能力,以及灵活的可扩充性和产业化 的开发思路,很快就为自动控*绲难芯咳嗽彼跄俊ATLAB 从 1984 年推出正式版, 1992 年推出具有划时代意义的 MATLAB4.0 版本,1993 年推出微机版以配合 Microsoft Windows 操作系统。 1998 年推出 MATLAB 5.2 版本, 1999 年推出 MATLAB 5.3 版本, 2000 年为 MATLAB 6.0 版本,现在最新的版本为 MATLAB 7.0。该软件的应用范围越来越广。

3.1.1 MATLAB 的主要特点 [10]
1、 MATLAB 提供了非常友好的工作环境界面支持,用户可以根据需要对这些环境进行 定制和操作,还可以为自己的操作定义快捷键;

9

合肥师范学院 2013 届本科毕业论文(设计)

2、支持编写各种函数,既包括 M 脚本语言编写的函数,也包括匿名函数编写的内嵌 函数等; 3、MATLAB 语言以解释方式工作,对每条语句进行解释后就可运行,键入算式就能 得结果,无需编译,可立即反映错误情况,大大减少了编程和调试的工作,具有非常友好 的人机界面; 4、在新的绘图界面中,用户可以通过直接输入图形交互界面来完成图形的创建和编 辑功能,而且,对于较底层的开发,M 函数代码提供了功能比较强大的处理能力; 5、支持功能强大的文件输入输出功能,与多种格式的文件之间形成交互操作,增加 了程序设计的灵活性和兼容性; 6、MATLAB 既具有结构化的控制语言(如 for 循环、while 循环、break 语句和 if 语 句),又有面向对象编程的特性。

3.1.2 MATLAB 基本组成
MATLAB 主要由三部分组成:MATLAB 主程序、Simulink 动态系统仿真和 MATLAB 工具箱。其中 MATLAB 主程序包括 MATLAB 语言、工作环境、句柄图形、数学函数库和 应用程序接口五个部分;Simulink 是一种基于 MATLAB 的框图设计环境,是实现动态系 统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数 字信号处理的建模和仿真中;MATLAB 工具箱可分为功能型工具箱和领域型工具箱。工具 箱实际就是用 MATLAB 基本语言编写的各种子程序集和函数库,用于解决某一方面的问 题和实现某种算法,它具有开放性,用户可以利用也可以根据自己需要进行扩展和设计。

3.2 模糊工具箱
模糊工具箱是在数学计算机环境下函数集成体, 用户可以用其提供的工具在 MATLAB 环境下设计、测试模糊推理系统。利用 Simulink 工具还能对模糊系统进行仿真分析,也可 以通过编写独立的 C 语言程序来调用 MATLAB 中所需要的模糊系统。MATLAB 工具箱还 提供了图形用户界面(GUI)来帮助用户快速、方便的完成工作。

3.2.1 模糊工具箱类型
模糊工具箱所包括的工具类型有:程序编辑函数、图形设计工具以及仿真分析模块。 1、程序编辑函数:主要是由设计者根据需要自己编写的程序及系统自带的函数构成。 这些函数一般以 MATLAB 的.m 文件的形式存放,根据用户需要得到所要的逻辑算法。用 户可以查看这些函数的 MATLAB 源代码,也可以修改文件来改变函数的功能,还可以编 写新的 M 文件来扩展工具箱的功能。因为 MATLAB 语言具有灵活性而且系统函数所要求 的运算具有广泛的适应性,所以用户最好不要直接修改系统所提供函数的源代码,可以把 新编的或改动的函数用与系统函数不同的的名称存盘。 2、图形设计工具(GUI):图形用户界面的工具主要是为用户进行图形设计、分析和 为仿真做准备。这个工具能让工具箱函数以图形界面的形式直观的展现给用户。让用户很 快就能够实现模糊推理系统的设计,而且查看、修改也很方便。
10

合肥师范学院 2013 届本科毕业论文(设计)

3、仿真分析模块:仿真模块是模糊工具箱与 Simulink 仿真环境相结合的模糊逻辑模 块。这些接口模块能够在 Simulink 仿真环境下构建逻辑电路并对其进行仿真,有了这些模 块,就可以方便地将用前两类工具设计的模糊模型在 Simulink 仿真环境下仿真分析。

3.2.2 模糊逻辑工具箱功能
模糊逻辑工具箱是用于模糊推理和模糊控制器仿真的工具包,它集成了 FIS 编辑器、 隶属函数编辑器、模糊规则编辑器、规则浏览器和输出预览器等可视化工具,为用户快速 开发设计模糊控制器提供了极大的方便。 1、定义输入输出变量 在 MATLAB 编程环境下输入 fuzzy 即可进入 FIS(Fuzzy Inference System)编辑器。 FIS 编辑器是模糊推理系统的主界面,它集成了隶属函数编辑器、模糊规则编辑器、规则 浏览器和输出预览器等功能。用户可以在 FIS 编辑器中设置模糊控制器的模糊算子、输入 输出变量个数、模糊变量名称及解模糊化的方法(如最大隶属度法、中位数法、加权*均 判别法等)。如图 3-1 所示。

图 3-1 FIS 编辑器

2、定义语言变量隶属函数 在 FIS 编辑器中双击输入变量或输出变量方框,进入隶属度函数编辑器主界面对模糊 变量的隶属函数进行编辑。在设计一个输入语言变量的隶属函数时 ,需要考虑隶属函数的 个数、形状,位置分布和相互重叠程度等因素。如图 3-2 所示,通过隶属度函数编辑器, 我们可以定义变量的论域(图 3-2 举例为 [-6 , 6] )、变量的模糊集(图 3-2 举例为 {NB,NS,ZR,PS,PB})、隶属函数的类型(图 3-2 既有三角形又有梯形)。

11

合肥师范学院 2013 届本科毕业论文(设计)

图 3-2 隶属函数

一个语言变量的各个模糊集(语言值)之间并没有明确的分界线,反应在模糊集的隶属 函数曲线上,就是这些隶属函数必定是相互重叠的。分布可能是不均匀的。一般情况下, 选择隶属函数的形状越陡,分辨率越高,模糊控制器的灵敏度也越高;相反,若选择的隶 属度函数改变非常慢,则控制特性也较*缓,模糊控制系统的稳定性就相对较好,所以隶 属函数的选择通常是在误差为零的区域附*,选择分辨率较高的隶属度函数,而在误差稍 大一点的区域,为了保证系统的稳定性,可以选用分辨率稍低一点的隶属度函数。 3、定义模糊规则 单击 FIS 编辑器中的 View 菜单下的 Edit Rule 子菜单,或直接双击 FIS 编辑器中流程 图里规则方框就能进入模糊规则编辑器主界面。在模糊规则编辑框中用户需按照规定的模 糊规则书写格式编写自己需要的模糊规则,计算机根据模糊推理合成规则进行模糊矩阵计 算。规则格式如下形式: 1)if(E is NB)and(EC is NB)then(U is PB) (1) 2)if(E is NB)and(EC is NS)then(U is PB) (1) 3)if(E is NB)and(EC is ZR)then(U is PS) (1) … 格式输入无误后,系统会把规则格式转化为 symbolic 格式和 indexed 格式。 4、输出预览 单击 FIS 编辑器等窗口主菜单中 View Surface,就能看到经模糊决策矩阵运算并解模 糊化后得到的三维坐标图,如图 3-3 所示。模糊变量由每个坐标轴来代表,x、y 轴分别表 示输入模糊变量 E 和 EC,z 轴表示输出模糊变量 U。坐标范围就是该模糊变量的论域,通 过鼠标拖动来旋转坐标轴,不同变量可以任意选用不同坐标轴。因为维数限制,所以预览 图最多只能同时预览两个输入变量和一个输出变量。

12

合肥师范学院 2013 届本科毕业论文(设计)

图 3-3 规则预览图

3.2.3 模糊逻辑工具箱应用
模糊逻辑工具箱提供了生成和编辑模糊推理系统(FIS)常用的工具函数,如 newfis、 addvar、addmf、addrule、setfis、writefis 等。它包括了产生新的 FIS、给 FIS 加入变量、隶 属函数、规则、设置解模糊方法及存储 FIS 等功能,用户可以用命令调用这些函数的方式 生成和编辑模糊推理系统。工具箱还提供了 GUI(图形用户界面)编辑函数,利用它可以 更直观迅速地生成系统。其中 Fuzzy()为模糊逻辑工具箱中用于产生一个基本 FIS 图形 编辑的函数。具体步骤如下: (1)在 MATLAB 命令窗口中输入 fuzzy,会弹出一个 FIS 编辑窗口,该窗口包括输 入、输出、模糊规则及其他系统设置模块。 (2)在 File 下拉菜单中可以选择模型类型(Mamdani 或 Sugeno) ,在 Edit 菜单下可 以添加输入输出语言变量以及模糊规则等,在右下角可以更改变量的名称,一般常用误差 e 和误差变化率 ec 做为输入变量,输出变量为 u。 (3)对输入输出及规则进行设置。包括隶属度函数类型设置(三角型、梯形、高斯 型等) ,为了便于计算,一般选三角型或梯形。语言变量的语言值,一般分为七档,分别 为{NB,NM,NS,ZR,PS,PM,PB},再由实际需要设置系统中各个变量的论域。 (4)编辑模糊规则是最关键的一步,主要是针对实际操作经验和具体情况编辑输入 输出变量之间的模糊映射关系,在编辑过程中,可以随时删除更改规则,编辑完成以后, 可以用 Ctrl+Enter 来检查规则的正误。 (5) 编辑完 FIS 文件以后, 命名并存盘。 在 Simulink 模块库中选择 Fuzzy Logic Toolbox, 打开模糊逻辑控制模块(Fuzzy Logic Controller) ,写入事先已经建好的 FIS 名字,再将被 控对象模块与该模糊控制系统模块连接。若要进行仿真时,需要把建好的 FIS 开再存入工 作空间(workplace)中。 (6)启动仿真,并通过 Scope 观察仿真结果。
13

合肥师范学院 2013 届本科毕业论文(设计)

3.3 Simulink 介绍 [11]
Simulink 是 The Math Works 公司为 MATLAB 设计提供的结构图编程与系统仿真的专 用软件包,是 MATLAB 重要组件之一,它提供了一个动态系统建模、仿真和分析的集成 环境,在该环境中,用户只需要通过单机和拖动鼠标就能完成系统建模,如同用笔和纸画 一样容易,Simulink 适用面广、贴*实际、结构及流程清晰而且仿真精细,现已在控制理 论及数字信号处理的复杂仿真和设计中被广泛应用。

3.3.1 Simulink 功能
1、 Simulink 具有可视化功能, 基于 MATLAB 框图设计环境, 能够实现动态系统建模、 仿真和分析,在线性系统、非线性系统、数字控制和数字信号处理的建模和仿真中有广泛 应用。 2、Simulink 提供了良好的图形用户界面,用户只需通过单机和拖动鼠标就能创建系 统模型,这种方式快捷、方便,而且用户能立即看到系统仿真结果。 3、Simulink 能用于动态系统和嵌入式系统等多领域的仿真。其提供了交互式图形化 环境和可定制模块库对各种时变系统,比如通讯、控制、信号处理等。 4、Simulink 与 MATLAB 紧密集成,能够直接访问 MATLAB 的大量工具来进行仿真 分析和可视化、建模环境的定制及信号参数的定义等。

3.3.2 Simulink 模块库
Simulink 为用户提供了丰富的模块库,按用途可将他们分为四类: (1)系统构成模块,包括:常用模块组(Commonly Used Blocks) 、连续(Continuous) 模块组、非连续(Discontinuities)模块组和离散(Discrete)模块组。 (2)连接、运算模块组,包括:逻辑和位运算(Logic and Bit Operations)模块组、 查表(Lookup Tables)模块组、数学运算(Math Operations)模块组、端口与子系统(Port &Subsystems)模块组、信号属性(Signal Attributes)模块组、信号通路(Signal Routing) 模块组、用户自定义函数(User-Defined Functions)模块组和附加数学与离散(Additional Math&Discrete)模块组。 (3) 专业模块组, 包括: 模型校核 (Model Verification) 模块组和模型扩充 (Model-Wide Utilities)模块组。 (4)输入输出模块组,包括:信源(Sources)模块组和信宿(Sinks)模块组。 在运行 Simulink 的时候,模块库浏览器、模块库、模型及仿真结果图形输出窗口各自 分开,他们之间相互独立。图 3-4(a)、图 3-4(b)、图 3-4(c)、图 3-4(d)分别为模块库浏 览器、模块库、模型及仿真结果图形输出窗口。

14

合肥师范学院 2013 届本科毕业论文(设计)

图 3-4(a) 模块库浏览器

图 3-4(b) 模块库窗口

15

合肥师范学院 2013 届本科毕业论文(设计)

图 3-4(c) 模型窗口

图 3-4(d) 仿真结果图形输出窗口

4
4.1 一阶系统

一阶系统模糊控制器设计及仿真

一阶系统是能用一阶微分方程描述的系统。一阶系统传递函数中分母多项式中 s 的最 高幂数为 1。其典型形式是惯性环节。 1、一阶系统微分方程: T
dc (t ) ? c(t ) ? r (t ) 。 dt
1 C ( s) 1 1 , 式中 T ? ,K 为放大 ? ? 1 K R( s ) Ts ? 1 s ?1 K

2、 一阶系统闭环传递函数形式为 G( s) ? 系数,T 为时间常数。 3、一阶系统系统框图:

16

合肥师范学院 2013 届本科毕业论文(设计)

R(S)

E(s)

1 Ts ? 1

C(S)

图 4-1 一阶系统框图

4、一阶系统单位阶跃响应:

图 4-2 一阶系统单位阶跃响应

给一阶系统输入单位阶跃信号,根据一阶系统的传递函数,计算其拉氏反变换,求出 微分方程的解 c(t),即为一阶系统的单位阶跃响应。其实质就是根据单位阶跃信号,利用
1 传递函数和拉氏反变换, 求出输出信号 c(t)。 因为输入信号是单位阶跃信号, 所以 R ( S ) ? , s

又因 G ( s ) ?

G( s) 1 1 1 1 ? ,故输出信号的拉式变换为 C ( s) ? G( s) R( s) ? ? ? ? R( s ) Ts ? 1 Ts ? 1 s s
? t T

1 1 s? T



查拉氏变换对照表得 c(t ) ? 1 ? e



一阶惯性系统总是稳定的,无振荡。时间常数 T 可以定义为系统的响应时间达到稳态 值的 63.2%所需的时间。反之,可以用实验的方法测出响应曲线达到稳态值的 63.2%高度 时所需时间,即为惯性环节的时间常数 T。由于一阶系统的阶跃响应没有超调量,所以其 性能指标主要是调节时间 t s , 它表征系统过渡过程进行的快慢。 从图 3.5 知, 由于 t ? 3T 时, 输出响应已达到稳态值的 95%;t=4T 时,输出达到稳态值的 98.2%,故一般取

t s ? 3T (s) ,(对应 Δ=5%的误差带)
17

合肥师范学院 2013 届本科毕业论文(设计)



t s ? 4T (s) ,(对应 Δ=2%的误差带)

显然,时间常数 T 是表征系统响应特性的唯一参数,系统时间常数越小,输出响应上升得 越快,同时系统调节时间 t s 也越小,响应过程的快速性也越好。 用 MATLAB 绘制的一阶系统单位阶跃响应曲线为:
1 0.9 0.8 0.7

响应曲线

0.6 0.5 0.4 0.3 0.2 0.1 0 0 1 2 时间 3 4 5

图 4-3 一阶系统单位阶跃响应

4.2 模糊控制器的设计
模糊控制器的设计一般主要包括这些内容:确定输入、输出量;确定论域和模糊控制 器的参数;确定模糊子集及隶属度函数;建立模糊控制规则;进行仿真分析。下面以一阶
? 系统 G(s) 2 为例设计模糊控制器。 4s ? 1

4.2.1 确定变量和隶属函数
假设控制系统的输入为 r=1.0,取系统输出误差 e 和误差变化 ec 作为模糊控制器的输 入,模糊控制器的输出作为被控对象的控制输入。模糊控制器与 e,ec 对应的输入分别为 E,EC,与 u 对应的输入为 U。模糊语言变量 E、EC、U 的表示如下:
E={-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6} EC={-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6} U={-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6}

其模糊子集均为{NB,NM,NS,ZR,PS,PM,PB},分别表示负大,负中,负小,零,正小,正中, 正大。

4.2.2 定义模糊推理规则
根据前面的隶属函数并结合专家经验, 定义模糊控制系统的控制规则, 如表 4-1 所示:

18

合肥师范学院 2013 届本科毕业论文(设计) 表 4-1 模糊控制规则
U E C EC

NB

NM

NS

ZR

PS

PM

PB

NB NM NS ZR PS PM PB

PB PB PB PM PS ZR ZR

PB PB PM PS ZR ZR NS

PB PM PM PS ZR NS NM

PB PM PS ZR NS NM NB

PM PS ZR NS NM NM NB

PS ZR ZR NS NM NB NB

ZR ZR NS NM NB NB NB

4.2.3 利用 MATLAB 编程设计模糊控制器
在 MATLAB 界面新建一个 M-file 文件,并在其中编程: %模糊控制器设计 %建立 FIS a=newfis('fuzzy'); %设置误差 e 与隶属度函数 a=addvar(a, 'input' ,'e' ,[-6 6]); a=addmf(a,'input',1,'NB' ,'zmf',[-6 -4]); a=addmf(a,'input',1,'NM', 'trimf',[-6 -4 -2]); a=addmf(a,'input',1,'NS','trimf',[-4 -2 0]); a=addmf(a,'input',1,'ZR','trimf',[-2 0 2]); a=addmf(a,'input',1,'PS','trimf',[0 2 4]); a=addmf(a,'input',1,'PM','trimf',[2 4 6]); a=addmf(a,'input',1,'PB','smf',[4 6]); %设置误差变化率 ec 与隶属度函数 a=addvar(a, 'input' ,'ec',[-6 6]); a=addmf(a,'input',2,'NB','zmf',[-6 -4]); a=addmf(a,'input',2,'NM','trimf',[-6 -4 -2]); a=addmf(a,'input',2,'NS','trimf',[-4 -2 0]); a=addmf(a,'input',2,'ZR','trimf',[-2 0 2]); a=addmf(a,'input',2,'PS','trimf',[0 2 4]); a=addmf(a,'input',2,'PM','trimf',[2 4 6]); a=addmf(a,'input',2,'PB','smf',[4 6]);
19

合肥师范学院 2013 届本科毕业论文(设计)

%设置误差变化率 u 与隶属度函数 a=addvar(a, 'output' ,'u',[-6 6]); a=addmf(a,'output',1,'NB','zmf',[-6 -4]); a=addmf(a,'output',1,'NM','trimf',[-6 -4 -2]); a=addmf(a,'output',1,'NS','trimf',[-4 -2 0]); a=addmf(a,'output',1,'ZR','trimf',[-2 0 2]); a=addmf(a,'output',1,'PS','trimf',[0 2 4]); a=addmf(a,'output',1,'PM','trimf',[2 4 6]); a=addmf(a,'output',1,'PB','smf',[4 6]); %建立控制规则表 rulelist=[1 1 7 1 1; 1 2 7 1 1; 1 3 7 1 1; 1 4 7 1 1; 1 5 6 1 1; 1 6 5 1 1; 1 7 4 1 1; 2 1 7 1 1; 2 2 7 1 1; 2 3 6 1 1; 2 4 6 1 1; 2 5 5 1 1; 2 6 4 1 1; 2 7 4 1 1; 3 1 7 1 1; 3 2 6 1 1; 3 3 6 1 1; 3 4 5 1 1; 3 5 4 1 1; 3 6 4 1 1; 3 7 3 1 1; 4 1 6 1 1; 4 2 5 1 1; 4 3 5 1 1; 4 4 4 1 1; 4 5 3 1 1; 4 6 3 1 1; 4 7 2 1 1; 5 1 5 1 1; 5 2 4 1 1; 5 3 4 1 1; 5 4 3 1 1; 5 5 2 1 1; 5 6 2 1 1; 5 7 1 1 1; 6 1 4 1 1;
20

合肥师范学院 2013 届本科毕业论文(设计)

6 2 4 1 1; 6 3 3 1 1; 6 4 2 1 1; 6 5 2 1 1; 6 6 1 1 1; 6 7 1 1 1; 7 1 4 1 1; 7 2 3 1 1; 7 3 2 1 1; 7 4 1 1 1; 7 5 1 1 1; 7 6 1 1 1; 7 7 1 1 1;]; a=addrule(a,rulelist); a1=setfis(a,'DefuzzMethod','centroid'); %设置去模糊化方法 writefis(a1,'fuzzy'); a2=readfis('fuzzy'); Ulist=zeros(13,13); for i=1:13 for j=1:13 e(i)=-7+i; ec(j)=-7+j; Ulist(i,j)=evalfis([e(i),ec(j)],a2); end end Ulist=ceil(Ulist) %绘制 FIS 系统图形 figure(1); plotfis(a2); figure(2); plotmf(a,'input',1); figure(3); plotmf(a,'input',2); figure(4); plotmf(a,'output',1); 以上程序可得内部原理图如图 4-4(a)所示,输入 E 的隶属度函数如图 4-4(b)所示, 输入 EC 的隶属度函数如图 4-4(c)所示,输出 U 的隶属度函数如图 4-4(d)所示,控 制规则表如表 4-2 所示:

e (7)

fuzzy

(mamdani)

49 rules u (7)

ec (7)

System fuzzy: 2 inputs, 1 outputs, 49 r ules

图 4-4(a) 内部原理图
21

合肥师范学院 2013 届本科毕业论文(设计)

NB 1

NM

NS

ZR

PS

PM

PB

0.8

Degree of membership

0.6

0.4

0.2

0 -6 -4 -2 0 e 2 4 6

图 4-4(b) 输入 E 的隶属度函数

NB 1

NM

NS

ZR

PS

PM

PB

0.8

Degree of membership

0.6

0.4

0.2

0 -6 -4 -2 0 ec 2 4 6

图 4-4(c) 输入 EC 的隶属度函数

NB 1

NM

NS

ZR

PS

PM

PB

0.8

Degree of membership

0.6

0.4

0.2

0 -6 -4 -2 0 u 2 4 6

图 4-4(d) 输出 U 的隶属度函数

22

合肥师范学院 2013 届本科毕业论文(设计) 表 4-2 控制规则表 EC E -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 -6 6 6 6 6 6 5 4 4 3 2 0 1 0 -5 6 6 6 5 5 4 4 2 2 2 1 -1 -1 -4 6 6 6 5 4 4 3 2 0 1 0 -1 -2 -3 6 5 5 5 4 4 3 2 1 -1 -1 -1 -2 -2 6 5 4 4 4 4 3 2 0 -1 -2 -2 -3 -1 6 5 4 4 4 2 2 1 -1 -1 -2 -3 -4 0 6 5 4 4 3 2 0 -1 -2 -2 -3 -4 -5 1 5 4 4 2 2 1 -1 -1 -2 -2 -3 -4 -5 2 4 4 3 2 0 -1 -2 -2 -3 -3 -3 -4 -5 3 4 2 2 2 1 -1 -2 -2 -3 -3 -3 -4 -5 4 3 2 0 1 0 -1 -2 -2 -3 -4 -5 -5 -5 5 2 2 1 -1 -1 -1 -2 -3 -4 -4 -5 -5 -5 6 0 1 0 1 -2 -2 -3 -4 -5 -5 -5 -5 -5

将得到的控制表存放到微机的存储器中,使得在实际控制中,微机采样和变换得到的 E 和 EC 直接与表中的行与列进行比较,通过查表即可得出所需要的控制量 U,以实现控制被控 对象。

4.2.4 建立模糊推理器( FIS)
在利用 Simulink 工具设计模糊控制系统模型并进行系统仿真前, 要先通过图形用户界面 (GUI)建立相应的模糊推理器。建立过程如下: 1、进入 fuzzy 编辑器

图 4-5 FIS 编辑器
23

合肥师范学院 2013 届本科毕业论文(设计)

在 MATLAB 的 Command Window 窗口下,输入 fuzzy。弹出 FIS 编辑器。确定模糊控制 器的类型和结构。本设计选用二输入一输出的模糊控制器。在 FIS 编辑器窗口选择 Edit/Add Variable/Input,既可增加一个输入。如图 4-5 所示。 2、编辑输入、输出变量的隶属度函数 在 FIS 编辑器界面双击输入模块, 在弹出的隶属度函数编辑窗口分别对输入、 输出函数 进行编辑。如图 4-6 所示(图示为编辑 e 的隶属度函数):

图 4-6 输入 e 的隶属度函数

3、编辑模糊控制规则 在 FIS 编辑窗口中选择 Edit/Rule,进入控制规则编辑器。然后根据表 4-1 提供的模糊 控制规则在编辑器中编写规则。如图 4-7 所示:

24

合肥师范学院 2013 届本科毕业论文(设计)

图 4-7 模糊控制规则

4、模糊工具箱仿真结果 模糊规则浏览器可以显示每条模糊控制规则所对应的输入量和输出量的隶属度函数。 通过输入指定的输入量,可以直接显示所采用的控制规则以及相应输出量,这样便于对模 糊规则进行修改。 所有规则编写完,在控制规则编辑器界面选择 View/Rules,弹出 Rule Viewer 界面,如 图 4-8(a)所示。

4-8(a) 规则查看器

在控制规则编辑器界面选择 View/Surface,弹出 Surface Viewer 界面,显示该仿真结果 的三维图。如图 4-8(b)所示。

25

合肥师范学院 2013 届本科毕业论文(设计)

图 4-8(b) 仿真结果三维图

FIS 系统建立完毕后,选择编辑器中 File/Export/To File,将其保存,名为 fuzzy.fis,以便 仿真时调用。

4.3 利用 Simulink 建立模糊控制系统模型并仿真
在 MATLAB 界面选择 按钮或直接在 MATLAB 命令窗口输入 Simulink 并回车,就 会弹出 Simulink 模块库窗口,新建一个窗口,然后从 Simulink 模块库中找出自己需要的模 块,用鼠标将其拖到新窗口中建立系统模型。如图 4-9 所示:

图 4-9 系统模型

对该系统模型设定仿真参数,如下:输入 r=1,采样周期 T=0.01s,仿真时长为 10s, 模糊量化因子 Ke=5,Ked=0.5,比例因子 Ku=2。采用变步长解算器算法中的 ode45 算法。

26

合肥师范学院 2013 届本科毕业论文(设计)

参数设置完后, 在 MATLAB 的 Command Window 窗口中输入 fz=readfis(’fuzzy.fis’) , 然后单击 Simulink 窗口中的模糊控制器模块,在弹出的窗口中输入 fz。这是为了把之前保 存的模糊规则文件导入到模糊控制器模块中。仿真后得到的阶跃响应曲线如图 4-10 所示:

图 4-10 阶跃响应曲线

5
5.1 总结

总结与展望

模糊控制是基于语言规则和模糊推理的高级控制,是现代智能控制的重要分支,越来 越受到工程技术人员的关注和重视。本论文以一阶系统为对象,运用 MATLAB 模糊工具 箱及 Simulink 仿真工具研究了一阶系统模糊控制器的控制问题及仿真分析。 在论文撰写中, 得出了一些结论。 1、对模糊控制理论和模糊控制器的相关知识进行了介绍,本论文详细介绍了模糊控 制器的设计过程。得出了模糊控制器的隶属函数和控制规则的确立对模糊控制器性能好坏 的重要性。在选择语言值的隶属函数时,要在误差为零的区域附*,选用分辨率较高的隶 属函数,而在误差较大的区域,为使系统具有良好的鲁棒性,可以选用分辨率较低的隶属 函数。控制规则的设计原则是:当误差较大时,控制量的变化应尽量使误差迅速减小;当 误差较小时,除了要消除误差以外,还要考虑系统的稳定性,防止系统产生不必要的超调, 甚至振荡。
2、介绍了模糊工具箱及仿真软件的应用。得出量化因子 ke、kec 和比例因子 ku 对控制

系统性能有较大影响。ke 越大,系统超调越大,会引起过渡过程越长,稳态过程和调节死 区越小;ke 越小,系统变化越慢,稳态精度降低,调节死区增大。Kec 越大,则系统变化 率越小,系统响应越慢;kec 越小,系统反应加快,超调量增大;ku 越大,上升得快,容 易引起超调,ku 小系统响应缓慢。
27

合肥师范学院 2013 届本科毕业论文(设计)

3、仿真实验说明,一阶系统模糊控制器的鲁棒性较强,稳定性好。用模糊控制器容 易实现对象的控制。

5.2 展望
本文通过模糊控制理论实现对一阶系统的仿真研究,取得了一定效果。但模糊控制理 论在其他方面还需要进一步的发展和研究: 1、模糊控制系统的设计方法即模糊规则和隶属度函数的获得,这将成为今后研究的 热点。 2、模糊控制系统的稳定性和鲁棒性的研究分析是模糊系统研究的一大难点也是热点 问题。 3、模糊控制系统与 PID 控制、神经网络等其他控制方法相结合,成为控制理论发展 的重要方向。 4、自适应模糊神经网络的研究,这体现了模糊系统具有很强的自适应能力。而神经 网络的万能**能力,已成为今后研究的方向之一。

28

合肥师范学院 2013 届本科毕业论文(设计)

参考文献
[1] 王立新.模糊系统与模糊控*坛蘙M].清华大学出版,2003. [2] 诸静著.模糊控制理论与系统原理[M].北京:机械工业出版社,1995. [3] 冯冬青等.一种基于 MATLAB 的模糊控制器综合优化设计方法[J].系统仿真学报, 2004. [4] 阮勇.基于 Matlab 的模糊控制器的设计与仿真[J].现代电子技术,2005(11) :5-7. [5] 刘曙光,魏俊民,竺志超.模糊控制技术[M].北京:中国纺织出版社,2001:61-61. [6] 李士勇.模糊控制和智能控制理论和应用[M].哈尔滨:哈尔滨工业大学出版社,1990. [7] 石辛民,郝整清编著.模糊控制及其 MATLAB 仿真[M].北京:清华大学出版社,2008.2. [8] 欧阳黎明.MATLAB 控制系统设计[M].国防工业出版社,2001. [9] 张德丰编著.MATLAB 模糊系统设计[M].北京:国防工业出版社,2009.4. [10] 薛定宇著.控制系统计算机辅助设计: MATLAB 语言及应用[M].清华大学出版社, 2009. [11] 吴忠强等编著.控制系统仿真及 MATLAB 语言[M].北京:电子工业出版社,2009.1.

29


相关推荐

最新更新

猜你喜欢