自适应pid控制器的设计及仿真--本科毕业论文.doc
摘 要PID控制器是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高和可靠性高,被广泛应用于工业过程控制。PID控制器提供了反馈控制,通过比例环节成比例的反应偏差信号,加快系统响应速度,提高系统的调节精度,通过积分作用反应并消除系统的稳态误差,通过微分作用预测未来偏差信号的变化趋势,改善系统动态特性。本文将模糊控制器和PID控制器结合在一起,利用模糊逻辑控制实现了PID控制器参数在线自调整,进一步完善了PID控制器的性能,提高了系统的控制精度。并把MATLAB中的Fuzzy Toolbox和SIMULINK有机结合起来,方便的实现了该自适应模糊PID控制系统的计算机仿真,拓宽了Fuzzy Toolbox和SIMULINK的应用范围。仿真结果表明:模糊PID参数自整定控制较常规PID控制具有较小的超调量和较短的调节时间,以及较好的动态响应特性和稳态特性。关键词:模糊控制;PID控制器;MATLAB;SIMULINK;系统仿真。AbstractPID controller is one of the first developed one of the control strategy, because of its algorithm is simple, robust and reliable and high reliability, are widely used in industrial process control. PID controller provides a feedback control through the proportional response bias signal of the aspect ratio,to speed up response time, improve the accuracy of regulation; through integral role to response to the steady-state system and eliminate errors, through differential role to predict the changes in trends of signal deviation in future;improve dynamic characteristics of the system.The using of Fuzzy logic controller makes the parameters self-adaption of PID controller possible when Fuzzy logic controller and PID controller are combined together. It also perfects the properties of PID controller and improves the precision of control system.The organic combination of Fuzzy Toolbox and SIMULINK realized the computer simulation of this self-adaptive Fuzzy PID control system conveniently,and also promotes the application of MATLAB.The simulation results show that,compared with ordinary PID control, fuzzy PID parameters of self-tuning control have smaller over shoot ,shorter regulation time and better dynamic response characteristics.Keywords: Fuzzy Logic control;PID controller;MATLAB;SIMULINK;System simulation.目 录绪论11 MATLAB/Simlink简介21.1 Matlab21.1.1 Matlab概述21.1.2 Matlab特点21.1.3 Matlab窗口31.2 Simulink51.2.1 Simulink概述51.2.2 Simulink操作52 模糊控制102.1 模糊控制基本原理102.2 模糊控制器设计102.2.1 结构设计102.2.2 论域及量化因子确定112.2.3 控制规则设计122.2.4 建立控制规则表152.2.5 建立控制表163 自适应PID控制器的设计及其在Simulink中的仿真173.1 PID控制原理173.2 模糊PID控制器在Simulink中的仿真制作203.2.1模糊控制整定P ID参数的原理203.2.2 自适应PID控制器Simulink仿真结构233.2.4 PID参数模糊自整定控制规则283.2.5 仿真结果及对比结果分析28结 论37致 谢38参考文献39附录A 英文原文40附录B 中文翻译50 55绪 论PID(比例-积分-微分)控制器是工业过程控制中最常见的一种线性控制调节器,作为最早实用化的控制器已有50多年历史,现在仍然是应用最广泛的工业控制器,广泛应用于化工、冶金、机械、热工、轻工等工业过程控制系统。PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。PID控制器因为结构简单、鲁棒性较强,并且具有实现简单的特点,因而被广泛应用于各种工业过程控制中。PID控制器提供了反馈控制,通过比例环节成比例的反应偏差信号,加快系统响应速度,提高系统的调节精度,通过积分作用反应并消除系统的稳态误差,通过微分作用预测未来偏差信号的变化趋势,改善系统动态特性。作为一种广泛的控制规律,PID控制在相当长的一段时间内,并没有因为各种先进控制算法的出现而遭到淘汰。相反,经过时间的考验,PID控制仍然在各种控制技术中占着主导地位。但PID参数复杂繁琐的整定过程一直困扰着工程技术人员,研究PID参数整定技术具有十分重大的工程实践意义。PID控制器参数整定优劣与否,是PID控制器能否在实用中得到好的闭环控制效果的一个前提。近年来,随着计算机技术的飞跃发展和人工智能技术渗透到自动控制领域,各种整定PID控制器参数整定方法层出不穷,给PID控制器参数整定的研究带来了活力与契机。 另外系统稳定是控制器设计首先需要考虑的问题,只有在系统稳定的前提下,提高其它性能才是有意义的。针对上述问题,通过研究,本课题所做的主要工作和研究结果如下:首先,掌握MATLAB软件的应用,掌握MATLAB的Simulink环境的应用。其次,就PID控制器的发展过程及其基本原理作简要介绍,由于传统PID控制器存在局限性,人们设计出模糊智能PID控制器来克服。重点介绍了PID参数整定的优点,模糊参数自整定PID控制器的设计方法,通过与常规PID参数整定比较,仿真实验的结果验证了模糊PID控制器的优点,通过模糊参数自整定PID控制与普通PID控制参数整定比较得知,模糊参数自整定PID控制比普通PID参数整定更具备良好的动态响应特性和抗干扰性能。然后综述了近几年在PID参数整定方面的研究发展情况。1 MATLAB/Simulink简介1.1 MATLAB1.1.1 MATLAB概述MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。1.1.2 MATLAB的特点1、 高级语言可用于技术计算 2、 此开发环境可对代码、文件和数据进行管理3、 交互式工具可以按迭代的方式探查、设计及求解问题 4、 数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等 5、 二维和三维图形函数可用于可视化数据 6、 各种工具可用于构建自定义的图形用户界面 7、 各种函数可将基于MATLAB的算法与外部应用程序和语言(如 C、C+、Fortran、Java、COM 以及 Microsoft Excel)集成。1.1.3 MATLAB窗口1、 主窗口介绍MATLAB主窗口是MATLAB的主要工作界面。主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。(1) 菜单栏 MATLAB 主窗口的菜单栏,共包含File、Edit、View、Web、Window和Help 6个菜单项。1) File菜单项:File菜单项实现有关文件的操作。2) Edit菜单项:Edit菜单项用于命令窗口的编辑操作。3) View菜单项:View菜单项用于设置MATLAB集成环境的显示方式。4) Web菜单项:Web菜单项用于设置MATLAB的Web操作。5) Window菜单项:主窗口菜单栏上的Window菜单,只包含一个子菜单Close all,用于关闭所有打开的编辑器窗口,包括M-file、Figure、Model和GUI窗口。 6) Help菜单项:Help菜单项用于提供帮助信息。(2) 工具栏MATLAB主窗口的工具栏共提供了10个命令按钮,这些命令按钮均有对应的菜单命令,但此菜单命令使用起来更快捷、方便。2、 命令窗口 命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。MATLAB命令窗口中的“>>”为命令提示符,表示MATLAB正在处于准备状态。在命令提示符后键入命令并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。例如:p=15,m=35p=15;m=35如果一个命令行很长,一个物理行之内写不下,可以在第一个物理行之后加上3个小黑点并按下回车键,然后接着下一个物理行继续写命令的其他部分。3个小黑点称为续行符,即把下面的物理行看作该行的逻辑继续。在MATLAB里,有很多的控制键和方向键可用于命令行的编辑。3、 工作空间窗口工作空间是MATLAB用于存储各种变量和结果的内存空间。在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除。4、 常用工具箱MATLAB包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。开放性使MATLAB广受用户欢迎。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。Matlab Main Toolboxmatlab主工具箱Control System Toolbox控制系统工具箱Communication Toolbox通讯工具箱Financial Toolbox财政金融工具箱System Identification Toolbox系统辨识工具箱Fuzzy Logic Toolbox模糊逻辑工具箱Higher-Order Spectral Analysis Toolbox高阶谱分析工具箱Image Processing Toolbox图象处理工具箱LMI Control Toolbox线性矩阵不等式工具箱Model predictive Control Toolbox模型预测控制工具箱-Analysis and Synthesis Toolbox分析工具箱Neural Network Toolbox神经网络工具箱Optimization Toolbox优化工具箱Partial Differential Toolbox偏微分方程工具箱Robust Control Toolbox鲁棒控制工具箱Signal Processing Toolbox信号处理工具箱Spline Toolbox样条工具箱Statistics Toolbox统计工具箱Symbolic Math Toolbox符号数学工具箱Simulink Toolbox动态仿真工具箱Wavele Toolbox小波工具箱。1.2 Simulink1.2.1 Simulink概述Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。 Simulink是MATLAB中的一种可视化仿真工具, 是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。Simulink®是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。.构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。Simulink与MATLAB® 紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。 1.2.2 Simulink操作1、 Simulink启动和退出安装时必须选择安装SIMULINK选项,启动SIMULINK 必须先启动MATLAB。在MATLAB的命令窗口输入simulink或单击MATLAB主窗口工具栏上的Simulink命令按钮即可启动Simulink。Simulink启动后会显示Simulink模块库浏览器(Simulink Library Browser)窗口。该窗口列出了当前MATLAB系统中已安装的所有SIMULINK模块。在MATLAB主窗口File菜单中选择New菜单项下的Model命令,在出现Simulink模块库浏览器的同时,还会出现一个名字为untitled的模型编辑窗口。在启动Simulink模块库浏览器后再单击其工具栏中的Create a new model命令按钮,也会弹出模型编辑窗口。利用模型编辑窗口,可以通过鼠标的拖放操作创建一个模型。模型创建完成后,从模型编辑窗口的File菜单项中选择Save或Save As命令,可以将模型以模型文件的格式(扩展名为.mdl)存入磁盘。如果要对一个已经存在的模型文件进行编辑修改,需要打开该模型文件,其方法是,在MATLAB命令窗口直接输入模型文件名(不要加扩展名.mdl)。在模块库浏览器窗口或模型编辑窗口的File菜单中选择Open命令,然后选择或输入欲编辑模型的名字,也能打开已经存在的模型文件。另外,单击模块库浏览器窗口工具栏上的Open a model命令按钮或模型编辑窗口工具栏上的Open model命令按钮,也能打开已经存在的模型文件。为了退出Simulink,只要关闭所有模型编辑窗口和Simulink模块库浏览器窗口即可。2、 Simulink系统仿真模型(1) Simulink的基本模块Simulink的模块库提供了大量模块。单击模块库浏览器中Simulink前面的“+”号,将看到Simulink模块库中包含的子模块库,单击所需要的子模块库,在右边的窗口中将看到相应+的基本模块,选择所需基本模块,可用鼠标将其拖到模型编辑窗口。同样,在模块库浏览器左侧的Simulink栏上单击鼠标右键,在弹出的快捷菜单中单击Open the Simulink Libray 命令,将打开Simulink基本模块库窗口。单击其中的子模块库图标,打开子模块库,找到仿真所需要的基本模块。(2) 主要模块介绍Simulink模块库按功能分为以下8类子库:Continuous (连续模块)Discrete (离散模块)Function&Tables (函数和平台模块)Math (数学模块)Nonlinear (非线性模块)Signals&Systems (信号和系统模块)Sinks (接收器模块)Sources (输入源模块)1) 连续模块(Continuous)Integrator:输入信号积分Derivative:输入信号微分State-Space:线性状态空间系统模型Transfer-Fcn:线性传递函数模型Zero-Pole:以零极点表示的传递函数模型Memory:存储上一时刻的状态值Transport Delay:输入信号延时一个固定时间再输出Variable Transport Delay:输入信号延时一个可变时间再输出2) 离散模块(Discrete)Discrete-time Integrator:离散时间积分器Discrete Filter:IIR与FIR滤波器Discrete State-Space:离散状态空间系统模型Discrete Transfer-Fcn:离散传递函数模型Discrete Zero-Pole:以零极点表示的离散传递函数模型First-Order Hold:一阶采样和保持器Zero-Order Hold:零阶采样和保持器Unit Delay:一个采样周期的延时3) Function &TablesFcn:用自定义的函数(表达式)进行运算MATLAB Fcn:利用matlab的现有函数进行运算S-Function:调用自编的S函数的程序进行运算Look-Up Table:建立输入信号的查询表(线性峰值匹配)Look-Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配)4) Math(数学模块)Sum:加减运算Product:乘运算Dot Product:点乘运算Gain:比例运算Math Function:包括指数函数、对数函数、求平方、开根号等常用数学函数Trigonometric Function:三角函数,包括正弦、余弦、正切等MinMax:最值运算Abs:取绝对值Sign:符号函数5) Nonlinear(非线性模块)Saturation:饱和输出,让输出超过某一值时能够饱和。Relay:滞环比较器,限制输出值在某一范围内变化。Switch:开关选择,当第二个输入端大于临界值时,输出由第一个输入端而来,否则输出由第三个输入端而来。Manual Switch:手动选择开关6) Signal&Systems(信号和系统模块)In1:输入端。Out1:输出端。Mux:将多个单一输入转化为一个复合输出。Demux:将一个复合输入转化为多个单一输出。Ground:连接到没有连接到的输入端。Terminator:连接到没有连接到的输出端。SubSystem:建立新的封装(Mask)功能模块7) Sinks(接收器模块)Scope:示波器。XY Graph:显示二维图形。To Workspace:将输出写入MATLAB的工作空间。To File(.mat):将输出写入数据文件。8) Sources(输入源模块)Constant:常数信号。Clock:时钟信号。From Workspace:来自MATLAB的工作空间。From File(.mat):来自数据文件。Pulse Generator:脉冲发生器。Repeating Sequence:重复信号。Signal Generator:信号发生器,可以产生正弦、方波、锯齿波及随意波。Sine Wave:正弦波信号。Step:阶跃波信号。9) Simulink模型的特点在SIMULINK里提供了许多如Scope的接收器模块,这使得用SIMULNK进行仿真具有像做实验一般的图形化显示效果。SIMULINK的模型具有层次性,通过底层子系统可以构建上层母系统。SIMULINK提供了对子系统进行封装的功能,用户可以自定义子系统的图标和设置参数对话框。2 模糊控制模在工控制过程中经常会碰到大滞后、时变、非线性的复杂系统。其中,有的参数未知或缓慢化;有的存在滞后和随机干扰;有的无法获得精确的数学模型。模糊控制器是一种近年来发展起来的新型控制器,其优点是不要求掌握受控对象的精确数学模型,而根据人工控制规则组织控制决策表,然后由该表决定控制量的大小。将模糊控制和PID控制两者结合起来,扬长避短,既具有模糊控灵活而适应性强的优点,又具有PID控制精度高的特点。这种Fuzzy-PID复合型控制器,对复杂控制系统和高精度伺服系统具有良好的控制效果。2.1 模糊控制的基本原理 模糊控制系统与一般的计算机控制系统具有相似的结构,其框图如图2.1所示。系统的核心是一个用模糊知识表示,能完成模糊推理与模糊控制功能的模糊控制器。图 2.1 模糊控制系统结构框图模糊控制规律由计算机程序实现,计算机的采样值为被控量的精确值,将它与给定值比较便可得到偏差信号,此偏差经A/D转换后作为模拟控制器的输入,控制器首先对偏差值进行模糊处理,并用响应的模糊语言值(实际上是一个模糊向量)表示。根据模糊控制规则经推理合成进行模糊决策,便可得到模糊控制向量。控制向量经非模糊化(即清晰)化处理转换成精确量,由D/A输出实现对系统的精确控制。2.2 模糊控制器的设计2.2.1 结构设计结构设计是指合理地确定控制器的输入和输出变量。结构设计直接影响控制器的性能。从输入信号“个数”上,模糊控制器可以分为单变量控制器和多变量控制器两种。目前应用最多的是单变量模糊控制器。单变量模糊控制器从输入信号“维数”上可分为以下三种:(1) 一维控制器:输入为被控量与给定值的偏差E,其动态性能比较差,一般只适用于一阶被控对象。(2) 二维控制器:输入为偏差E及其变化量EC,控制器有较好的动态响应,应用广泛。(3) 三维控制器:输入为偏差E、偏差变化EC、及偏差变化的改变量ECC。图2.3为单变量模糊控制器结构示意图。从理论上讲控制器的维数越高,系统控制精度也越高,但系统越复杂,控制算法也越难于实现,所以目前应用最多的仍是二维控制器,本课题所用到的就是二维控制器。图 2.3 单变量模糊控制器结构模糊控制器输出多采用控制量的增量形式。有时为获得理想的上升特性及改善动态品质,也可在偏差大时采用控制量的绝对量输出,而当偏差为中小时再采用其增量形式。2.2.2 论域及量化因子确定所谓论域即是被考虑客体所有元素的集合。对于模糊控制器,其输入输出信号的变化范围即为控制器的基本论域。对于二维模糊控制器,设误差基本论域为-xe xe,误差变化的基本论域为-xc xc,输出基本论域为-yu yu 。取误差、误差变化及输出模糊子集的论域分别为 (2.1)论域的量化等级、取得越大,控制精度越高,但计算量也越大。一般取,6,7。当控制器基本论域和模糊论域确定之后,由基本论域(精确的模拟量)到模糊论域的转换关系就确定了。通常称 (2.2)分别为误差、误差变化、及输出的比例因子。由于连续量到离散量之间不是一一对应的,因此对于控制器输入论域的所有精确值式(2.2)并不是恒定关系。但对于输出量,式(2.2)是由模糊论域到基本论域的转换,因此对于所有值都是成立的。合理地确定比例因子对于模糊控制器的性能有较大的影响。一般地,过大会使系统超调增加、过渡时间加长,这是因为过分加强了误差变量在控制中的作用。而过小会使系统响应缓慢、稳态精度下降;大一些可以增加误差变化率的控制作用、有助于 减小超调,但却可能使响应时间加大。改变可以改变控制器总的增益,影响输出信号幅度。过小,使系统响应缓慢,过大则容易引起超调,甚至会产生振荡。、合理组合,才能使系统获得满意的响应特性。一般、c多采用离线设定,而则先离线确定一个初值,然后经在线调试确定,以保证达到系统的指标要求。2.2.3 控制规则设计规则设计是模糊控制器设计的关键。设计内容主要包括:确定语言变量词集、确定语言值的隶属函数,以及建立控制规则表等。1 确定语言变量词集描述输入输出变量状态的词汇的集合即为变量的词集。在确定模糊预言变量时,应首先确定基本语言值,如“大”、 “中”、 “小”、“高”、“中”、“”低”等。通常为三元值。考虑到变化的正、负、以及零(平衡状态),一般为七个词汇:负大,负中,负小,零,正小,正中,正大,或NB,NM,NS,ZO,PS,PM,PB。所选词汇越多,对变量描述越准确、控制效果越好,但控制规则变得复杂。词汇选得少,变量描述粗糙,控制效果变差。在偏差控制中,常将“零”化分为“正零”和“负零” (即“PO” 和“NO”) 。此时词集为NB,NM,NS,NO,PO,PS,PM,PB。2 确定语言值隶属函数描述输入输出变量状态的每个语言值都具有模糊特性,它实际上是一个模糊子集。语言值对于模糊模糊论域的隶属关系可以用隶属函数描述。隶属函数是模糊集合的特征函数,它是对模糊概念的定量描述。根据扎德给出的定义:设给定论域E,E区间0,1上的任一映射。 (2.3)它确定了E的一个 模糊子集,称为元素对的隶属度。它的大小反映了对的隶属程度。其值越接近1,隶属程度越高;越接近0,隶属程度越低。隶属函数常以曲线形式给出。如图2.4所示为论域X中的元素x对于模糊变量i的隶属函数曲线。设论域X=-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,由曲线有 (2) = (6) =0.2, (3) = (5) =0.7, (4) =1,而(-6)(1)=0。于是模糊子集可表示为 (分母为元素,隶属度为零的项省略不写)。图 2.4 x对模糊变量i的隶属函数曲线常用隶属函数主要有三角形、高斯型、和直接量化型等。隶属函数曲线越陡,模糊子集分辨率越高,控制灵敏度也比较高;曲线平缓,模糊子集分辨率低,控制系统的平稳性比较好。通常在误差小的区域合用分辨高的模糊子集,在误差大的区域适合用分辨率低的模糊子集。隶属函数多根据经验或由由统计方法确定。为使控制器具有优良的性能,不仅要选择合适的隶属函数的形状,而且要使各模糊子集隶属函数在论域上有一个合理的分布。它们既要能较好地覆盖整个论域,子集间又应有一定的重叠。重叠过多,则交集最大隶属度a过大,会使系统控制灵敏度变差。重叠太少a过小,又会使系统鲁棒性下降。一般使a=0.40.8为宜。 适当增加论域中元素的个数对于上述考虑是有利的。通常使论域中元素总数为模糊子集数的23倍较为适宜。一般论域中元素个数均不低于13,所以模糊子集总数多为7个。表2.1 误差e模糊子集量化表euE-6 -5 -4 -3 -2 -1 -0 0 1 2 3 4 5 6PBPMPSPONONSNMNB0 0 0 0 0 0 0 0 0 0 0.1 0.4 0.8 1.00 0 0 0 0 0 0 0 0 0.2 0.7 1.0 0.7 0.20 0 0 0 0 0 0 0.3 0.8 1.0 0.5 0.1 0 00 0 0 0 0 0 0 1.0 0.6 0.1 0 0 0 00 0 0 0 0.1 0.6 1.0 0 0 0 0 0 0 00 0 0.1 0.5 1.0 0.8 0.3 0 0 0 0 0 0 00.2 0.7 1.0 0.7 0.2 0 0 0 0 0 0 0 0 01.0 0.8 0.4 0.1 0 0 0 0 0 0 0 0 0 0表2.2 误差变化ec模糊子集量化表ecuEC-6 -5 -4 -3 -2 -1 -0 0 1 2 3 4 5 6PBPMPSZONSNMNB0 0 0 0 0 0 0 0 0 0 0.1 0.4 0.8 1.00 0 0 0 0 0 0 0 0 0.2 0.7 1.0 0.7 0.20 0 0 0 0 0 0 0 0.9 1.0 0.7 0.2 0 00 0 0 0 0 0 0.5 1.0 0.5 0 0 0 0 00 0 0.2 0.7 1.0 0.9 0 0 0 0 0 0 0 00.2 0.7 1.0 0.7 0.2 0 0 0 0 0 0 0 0 01.0 0.8 0.4 0.1 0 0 0 0 0 0 0 0 0 0表2.3 输出u模糊子集量化表uuU-7 -6 -5 -4 -3 -2 -1 -0 0 1 2 3 4 5 6 7PBPMPSZONSNMNB0 0 0 0 0 0 0 0 0 0 0 0 0.1 0.4 0.8 1.00 0 0 0 0 0 0 0 0 0 0.2 0.7 1.0 0.7 0.2 00 0 0 0 0 0 0 0 0.4 1.0 0.8 0.4 0.1 0 0 00 0 0 0 0 0 0.5 1.0 0.5 0 0 0 0 0 0 00 0 0.1 0.4 0.8 1.0 0.4 0 0 0 0 0 0 0 0 00 0.2 0.7 1.0 0.7 0.2 0 0 0 0 0 0 0 0 0 0 1.0 0.8 0.4 0.1 0 0 0 0 0 0 0 0 0 0 0 0将论域X上所有模糊子集的隶属函数离散化,便可得到模糊子集量化表。表2.1、表2.2及表2.3分别为某二维模糊控制器的误差e、误差变化ec、以及输出u的模糊子集量化表。2.2.4 建立控制规则表 模糊控制规则是根据人工控制经验和直觉推理,利用模糊集合理论和语言变量概念归纳提炼而成的。手动控制策略一般都可用条件语句加以描述,其基本形式为“若则”。对于二维模糊控制器,输入为偏差及偏差变化率,输出为控制量,其基本控制规则为:若e是i且ec是j,则u是ij。可简写为:若