智能控制1对于模糊控制(fuzzy)的认识和体会模糊控制作为给合传统的基于规则的专家系统、模糊集理论和控制理论的成果而诞生,使其与基于被控过程数学模型的传统控制理论有很大的区别。
在模糊控制中,并不是像传统控制那样需要对被控过程进行定量的数学建模,而是试图通过从能成功控制被控过程的领域专家那里获取知识,即专家行为和经验,当被控过程午分复杂甚全“病态”时,建立被控过程的数学校型或者不可能,或者需要高昂的代价。
此时模糊控制就显得具有吸引力和实用性。
由于人类专家的行为是实现模糊控制的基础,因此,必须用一种容易且有效的方式来表达人类专家的知识。
IF-THEN规则格式是这种专家控制知识最和适的表式方式之一,即1F“条件”THEN“结果”,这种表示方式有两个显著的特征:它们是定性的而不是定量的;它们是一种局部知识,这种知识将局部的“条件”与局部的“结果”联系起来,前者可用模糊子集表示,而后者需要模糊蕴涵或模糊关系来表达。
然而,当用计算机实现时,这种规则最终需具有数位形式,隶属函数和近似推理为数值表示集合模糊蕴涵提供了一种有利工具。
一个实际的模糊控制系统实现时需要解决三个问题:知识表示、推理策略和知识获取。
知识表示是指如何将语言规则用数值方式表示出来;推理策略是指如何根据当前输入“条件”生一个合理的“结果”;知识的获取解决如何获得一组恰当的规则。
由于领域专家提供的知识常常是定性的,包含某种不确定性。
因此,知识的表示和推理必须是模糊的或近似的,近似推理理论正是为满足这种需要而提出的。
近似推理科看做是根据一些不精确的条件推导出个精确结论的过程,许多学者对模糊表示、近似推理进行了大量的研究,在近似推理算法中,最厂泛使用的是关系矩阵模型,它基于L.A.Zadeh的合成推理规则首次由Mamdani采用,由于规则可被解释成逻辑意义上的蕴涵关系,因此人最的蕴涵算子已被提出并应用于实际中由此可见。
模糊控制是以模糊集合沦、模糊语言变量及校糊逻辑推理为基础的一种计算机控制,从线性控制与非线性控制的角度分类,模糊井制是一种非线性控制。
从控制器智能性看,模糊控制属智能能控制的范畴,而且它已成为日前实现智能控制的一种重要而又有效的形式。
尤其是模糊制和神经网络、预测控制、遗传算法和混沌理论等新学科的相结合,正在显示出其巨大的应用潜力。
模糊控制器的基本结构包括以下四部分1.模糊化模糊化的作用是将输入的精确量转换成模糊化量,其中输入成份包括外界的参考输入、系统的输出或状态等。
模糊化的具体过程如下:首先对这此输入进行处理,以变成模糊控制器要求的输入从。
然后将上述己经处理过的输入量进行尺度变换,使其变换到各自的论域范围。
在将已经变换到论域范的输入最进行模糊处理,使原先精确的输入带变成模糊量,并用相应的模糊集合来表。
2.知识库知识库包含了具体应用领域中的知识和要求的控制目标。
它通常由数据库和模糊控制规则库两部分组成:1.数据库主要包括各种语言变量的隶属函数,尺度变换因子以及模糊空间的分级数等。
2.规则库包括了用模糊语言变量表示的一系列控制规则。
它们反映了控制专家的经验和知识。
3.模糊推理模糊推理是模糊控制器的核心,它具有模拟人的基于模糊概念的推理能力。
该推理过程是基于模糊逻辑中的蕴含关系及推理规则来进行的。
4.清晰化洁晰化的作用是将模糊推理得到的控制量(模糊量)变换为实际用于控制的清晰量,它包含以下两部分内容节(1)将模糊的控制量经清晰化变换,变成表示在论域范围的清晰量(2)经尺度变换将表示在论域范围的清晰量变成实际的控制量。
2模糊控制的仿真控制①在MATLAB命令窗口中输入“sltank"。
便可打升如下图所示的模型窗口。
②在MATLAB左下角的“Start'”菜单选项,用鼠标双击模糊逻斩系统(Fuzzy Logic)工具箱的FIS Editor Viewer项,打开模糊推理系统编辑器(Fls Editor)③利用FIS Editor编辑器的Edit/Add input菜单,添加条输入语言变量,并将两个输入语言变量和个输出语言变量的名称分别定义为:level;rate;valve。
其中,level代表水位; rate代表水位变化率:valve代表阀门。
模糊推理系统tank编辑器的图形界如上图窗口所示④利用FIS Editor编辑器中的Edit/Membership Functions菜单命令,打开隶属函数编辑器(Membership Functions Editor),将输入语言变从level的取值范围和显示范围(DisplayRang)均设置为[-1,1]。
隶属函数的类型(Type)设定为高斯型函数(gaussmf),而所包含的三条曲线的名称(Name)和参数(Params)([宽度中心点])分别设置为high,[0.3,-1];okay,[0.30];low,[0.31]。
其中,high,okay,low分别代表水位高、刚好和低。
将输入语言变量rate取值范围(Rang)和显示范围(Display Rang)均设置为[-0.l,0.1],隶属函数的类型(Type)设置为高斯函数(gaussmf),而所包含的三条曲线的名称(Name)和参数(Params)([宽度中心点])。
分别设置为:negative,[0.03-0.1]:none,[0.03-0.1];positive,[0.03-0.1]。
其中negative,none,positive分别代表水位变化率为负、不变和正。
输出语言变量valve的取值范围(Rang)和显示范围(Display Rang)均设置为[-11]。
隶属函数的类型(Type)设置为三角函数(trimf),而所包含的五条曲线的名称(Name)和参数(Params)([a b c])分别设置为close fast,[-1-0.9-0.8];close slow,[-0.6-0.5-0.4];no change,[-0.100.1];open slow,[0.20.30.4];open Fast,[0.80.91]。
其中close fast表示迅速关闭阀门;close slow表示缓漫关闭阀门;no change表示阀门大小不变;open slow表示缓慢打开阀门;open fast表示迅速打开阀门。
这里参数a,h和c指定三角型函数的形状,第二位值代表函数的中心点,第一、三位值决定了函数曲线的起始和终止点。
输出语言变节valve的取值范围和隶属函数的设置如下图所示。
⑤利用编辑器的Edit/Rules菜单命令,打开模糊规则编辑器(Rules Editor),根据题给的模糊控制规则进行设置,所有规则权重Weight均取默认值1。
⑥利用编辑其中的View/rules和View/Surface菜单命令,可以的到模糊系统的推理系统图的模糊规则,在所得的系统图中,显示了当输入语言变最分别为level=0.5,rate=0.05时,模糊系统的输出结果(valve=0.345)⑦利用编辑器的File/Export to Workspace菜单命令,将当前的模糊推理系统,以名称tank 保存到MATLAB工作空间的tank.fis模糊推理知矩阵中。
⑧在下图所示Simulink仿真系统中。
打月Fuzzy Logic Controller模糊逻辑控制器,在FIS File or Structure框中。
输入“tank"。
⑨然后回到原来的Simulink系统,打开的参数仿真设置窗口,,正确设置仿真参数后,启动仿真。
使可着到如下图所示的系统输出变化曲线。
3神经网络的认识传统的基于模型的控制方式,是根据被控对象的数学模型及对控制系统要求的性能标来设计控制器,并对控制规律加以数学解析描述;模糊控制方式则是基于专家经验和领域知识总结出若于条模糊控制规则,构成描述具有不确定性复杂对象的模糊关系,通过被控系统输出误差及误差变化和模糊关系的推理合成获得控制量,从而对系统进行控制。
以上两种控制方式都具有显式表达知识的特点,而神经网络不善于显式表达知识,但是它具有很强的逼近非线性函数的能力。
即非线性映射能力。
把神经网络用于控制正是利用它的这个独特优点。
由于神经网络是从微观结构及功能上对人脑神经系统的模拟而建立起来的一类模型。
具有模拟人的部分智能的特性,主要是具有非线性,学习能力和自适应性,使神经控制能对变化的环境(包括外加扰动、量测噪声、被控对象的时变特性三个方面)具有自适应性,且成为基本上不依赖于模型的一类控制,所以决定了它在控制系统中应用的多样性和灵活。
为了研究神经网络控制的多种形式,先来给出神经网络控制的定义。
所谓神经网络控制,即基于神经网络的控制或简称神经控制以精确描述的复杂的非线性对象进行建模,是指在控制系统中采用神经网络这工具对难以精确描述的复杂非线性系统进行描述,或充当控制器,或优化计算,或进行推理,或故障诊断等,以及同时兼有上述某些功能的适应组合制系统,称这种控制方式为神经网络控制,将这样的系统统称为基于神经网络的控制系统,根据上述定义,可以将神经网络在控制中的作用分为以下几种:1.在基于精确模型的各种控制结构中充当对象的模型,2.在反馈控制系统中直接充当控制器的作用,3.在传统控制系统中起优化计算作用,4.在与其他智能控制方法和优化算法中,为其提供作参数化对象模型、优化参数、如模糊控制、专家控制及遗传算法等相融合推理模型及故障诊断。
由于人工智能中的新技术不断出现及其在智能控制中的应用,神经网络必将在和其他新技术的相融合中,在智能控制方面发挥更大的作用神经网络控制境中的控制问题主要是为了解决复杂的非线性、使控制系统稳定性好、鲁棒性强,具有满意的动静态特性。
为了达到要求的性能指标,处在不确定、不确知环境中的复杂的非线性不确定、不确知系统的设计问题就成了控制研究领域的核心问题。
为了解决这类问题,可以在系统中设置两个神经网络,例如可以在神经网络中设计神经网络NNI作为辨识器,由于神经网络的学习能力,辨识器的参数可随着对象、环境的变化而自适应地改变,故它可在线辨识非线性不确定、不确知对象的模型。
辨识的目的是根据系统所提供的测是信息,在某种规则意义下估计出对象模nn的结构和参数。
再设计另外一个神经网络NNC作为控制器,其性能随着对象、环境的变化而自适应地改变(根据辨识器)。
4神经网络的仿真机辨识在MATLAB神经网络工具箱中提供了这个演示实例。
只需在MAI LAB命令窗口中输入命令“predcstr".就会自动地调用Simulink,并产生如下图所r示的模型窗口,其中,神经网络顶测控制模块(NNPredictive Controller)和X(2Y)Graph由神经网络模块集(Neural Network Blockset)的控制系统模块库(Control hystems)复制而来。