目录
一、模糊控制器
模糊控制器主要由模糊化、知识库、模糊逻辑推理和解模糊组成[2]。 如下图所示:
模糊控制原理图 [6]
1、模糊化[8]
模糊化部分的主要作用就是把输入变量的精确值变换到其对应论域上的模糊集合,以利用模糊控制规则进行模糊推理。模糊化的具体过程如下:
(1)、首先对这些输入量进行处理,以变成模糊控制器要求的输入量。
(2)、将上述已经处理过的输入量进行尺度变换,使其变换得到各自的论域范围。
(3)、将已经变换到的论域范围的输入量进行模糊处理,使原先精确的输入量变成模糊量,并用相应的模糊集合来表示。
1.1、定义输入和输出模糊集[12]
对误差e、误差变化ec及控制量u的模糊集及其论域定义如下:
(1)、e、ec和u的模糊集均为:{NB,NM,NS,ZO,PS,PM,PB}。
(2)、e、ec的论域均为:{-3,-2,-1,0,1,2,3}。
(3)、u的论域为:{-4.5,-3,-1.5,0,1,3,4.5}。
2、知识库[8]
知识库中包含了具体应用领域中的知识和要求的控制目标。它通常由数据库和模糊控制规则库两部分组成[7-9]。
2.1、数据库
数据库主要包括各语言变量的隶属函数,尺度变换因子及模糊空间的分级数。
2.1.1、隶属函数[13]
(1)、隶属函数
在Matlab中已经开发出了11种隶属函数,即双S形隶属函数(dsigmf)、联合高斯型隶属函数(gauss2mf)、高斯型隶属函数(gaussmf)、广义钟形隶属函数(gbellmf)、II型隶属函数(pimf)、双S形乘积隶属函数(psigmf)、S状隶属函数(smf)、S形隶属函数(sigmf)、梯形隶属函数(trapmf)、三角形隶属函数(trimf)、Z形隶属函数(zmf)。
在模糊控制中应用较多的隶属函数有以下6种隶属函数:高斯型隶属函数、广义钟形隶属函数、S状隶属函数、梯形隶属函数、三角形隶属函数、Z形隶属函数。
(2)、隶属函数的确定方法
隶属函数是模糊控制的应用基础。目前还没有成熟的方法来确定隶属函数,主要还停留在经验和实验的基础上。通常的方法是初步确定粗略的隶属函数,然后通过“学习”和实践来不断地调整和完善。遵照这一原则的隶属函数选择方法有以下几种。
(1)、模糊统计法 根据所提出的模糊概念进行调查统计,提出与之对应的模糊集A,通过统计实验,确定不同元素隶属于A的程度。
u0对模糊集A的隶属度 =
(2)、主观经验法 当论域为离散论域时,可根据主观认识,结合个人经验,经过分析和推理,直接给出隶属度。这种确定隶属函数的方法已经被广泛应用。
(3)、神经网络法 利用神经网络的学习功能,由神经网络自动生成隶属函数,并通过网络的学习自动调整隶属函数的值。
(3)、隶属函数确定原则[8]
(1)、隶属函数必须是凸模糊集[14];
(2)、隶属函数是对称和平衡的;
(3)、隶属函数在论域上应合理分布。
(4)、论域-隶属函数-模糊集之间的关系(个人理解)
1.先给定e、ec和u的论域;
2.将其代入到隶属度函数中,计算e、ec和u的隶属度;
3.根据隶属度确定e、ec对应的模糊集,此时即将原来精准的输入量变成模糊量,这样可以得到Kp、Ki、Kd的模糊规则;
4.然后根据u的论域,解模糊得到Kp、Ki、Kd的精确值。
2.1.2、尺度变换因子
(1)、尺度变换因子又分为量化因子和比例因子[17]。
量化因子(Scaling factor)是将输入变量的论域转换为模糊子集论域的比例系数。它用于将实际的输入值映射到模糊控制器可以理解的范围,以便进行模糊推理。量化因子的选择取决于输入变量的实际范围和模糊子集论域的范围。
比例因子(Proportional factor)是将输出变量从模糊子集论域转换回实际论域的比例系数。在模糊控制器完成模糊推理后,得到的输出值是在模糊子集论域范围内的,需要通过比例因子将其映射回实际的输出范围,以便对被控对象进行控制。比例因子的选择取决于输出变量的实际范围和模糊子集论域的范围。
(2)、具体操作
对输入和输出进行尺度变换,使其在给定的论域范围内。例如[16]:
e、ec、u的实际变化范围分别为[-30,30],[-24,24],[-36,36]。
E、EC、UC的离散论域均为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6)。
则量化因子:k1=6/30,k2=6/24;比例因子:k3 =36/6。
2.1.3 、模糊空间的分级数
(1)、 是指对模糊集合系进行划分的级别数量。在一个论域中,可以根据需要将模糊集合划分为不同的级别,每个级别对应一个模糊子集,这些模糊子集通过隶属度函数来描述。
(2)、 在模糊数学中,论域可以是有限集或无限集。
对于有限集,模糊集合的表示方法常见的有Zadeh表示法、序偶表示法和向量表示法[15]。例如,假设论域为有限集{x1, x2, ..., xn}上的模糊集A,每个元素xi有一个隶属度μA(xi),这些隶属度组成的集合即为模糊集合A的表示。
如果论域是无限的,模糊集合可以写成连续的隶属度函数形式。
2.2、规则库
规则库包括了用模糊语言变量表示的一系列控制规则,它们反映了控制专家的经验和知识。
2.2.1、Kp、Ki、Kd模糊规则如下[5]:
其中:e=期望值-实际值,ec=(e-e_last)/t;
PB-正大,PM-正中,PS-正小,ZO-零,NB-负大,NM-负中,NS-负小。
3、模糊逻辑推理[8]
以“知识库”为基础进行模糊逻辑推理,具有模拟人的基于模糊概念的推理能力,是模糊控制器的核心。
3.1、e、ec与模糊规则表的关系[3][4]
e、ec与模糊规则表的关系
(1)、当在A点时,e为正,ec为负,说明误差与误差变化趋势相反,误差越来越小;
对应模糊规则:if e=PS,ec=NM,then Kp=PS,Ki=NS,Kd=ZO。
(2)、当在B点时,e为负,ec为负,说明误差与误差变化趋势相同,误差越来越大;
对应模糊规则:if e=NS,ec=NM,then Kp=PM,Ki=NM,Kd=NS。
(3)、当在C点时,e为负,ec为正,说明误差与误差变化趋势相反,误差越来越小;
对应模糊规则:if e=NS,ec=PM,then Kp=NS,Ki=PS,Kd=NS。
(4)、当在D点时,e为正,ec为正,说明误差与误差变化趋势相同,误差越来越大;
对应模糊规则:if e=PS,ec=PS,then Kp=NS,Ki=PS,Kd=ZO。
3.2、调节规则[10]:
(1)、当e较大时,为加快系统的响应速度使系统具有较好的跟踪性,防止因开始时e的瞬间变大可能会引起的微分溢出,应取较大的Kp和较小Kd;同时由于积分作用太强会使系统超调加大,因而要对积分作用加以限制,通常取较小的Ki值;
(2)、当e中等大小的时候,为减小系统的超调量,保证一定的响应速度,kp应适当减小;在这种情况下,Kd的取值对系统的影响较大,应取得较小些,Ki的取值大小要适中;
(3)、当e较小的时候,为了减小稳态误差,使系统具有较好的稳态性能,Kp与Ki应取得大些,为了避免输出响应在设定值附近振荡,同时考虑系统的抗干扰性能,当 ec较大时 Kd的取值可取得小些;当ec较小时Kd的取值可取得大些。
4、解模糊[8]
解模糊也叫清晰化、精确化,是指将模糊推理得到的模糊控制量转化为作用于执行机构的精确控制量。它包含以下两部分:
(1)、将模糊的控制量经清晰化变换,变成表示在论域范围的清晰量。
(2)、将表示在论域范围的清晰量经尺度变换成实际的控制量。
常用的解模糊方法有:最大隶属度法、重心法和加权平均法[7][11]。
4.1 最大隶属度法
选取推理结果模糊集合中隶属度最大的元素作为输出值,即
如果在输出论阈V中,其最大隶属度对应的输出值多于一个,则取所有具有最大隶属度输出的平均值,即
N为具有相同最大隶属度输出的总数。
最大隶属度法不考虑输出隶属度函数的形状,只考虑最大隶属度处的输出值。因此,难免会丢失许多信息。它的突出优点是简单,在一些控制要求不高的场合,可以用最大隶属度法。
4.2 重心法
为了获得准确的控制量,就要求模糊方法能够很好的表达输出隶属度函数的计算结果。重心法是取隶属度函数曲线与横坐标围成面积的重心,作为模糊推理的最终输出值,即
对于具有m个输出量化级数的离散阈情况:
与最大隶属度法相比较,重心法具有更平滑的输出推理控制。即使对应于输入信号的微小变化,输出也会发生变化。
4.3 加权平均法
工业控制中广泛应用的反模糊化法是加权平均法,输出值由下式决定:
其中系数ki的选择根据实际情况而定。不同的系数决定系统具有不同的响应特性。当系数ki取隶属度当系数ki取隶属度 时,就化为重心法。
4.4 MATLAB提供五中解模糊化方法
(1)、centriod:面积重心法;
(2)、bisector:面积等分法;
(3)、mom:最大隶属度平均法;
(4)、som:最大隶属度取最小法;
(5)、lom:最大隶属度取最大法。
在MATLAB中,可通过setfis()设置解模糊化方法,通过defuzz()执行反模糊化运算。
二、参考文献及博客
[1].模糊PID控制器的设计及其仿真
[2].基于模糊PID控制器的控制方法研究
[3].模糊PID控制_模糊pid控制器件实验思考题-CSDN博客
[4].模糊PID控制的规则表一点理解_模糊pid规则表是如何得到的-CSDN博客
[5].自适应模糊PID控制,理论+仿真_matlab实现自适应模糊控制-CSDN博客
[6].下肢外骨骼步态自适应助力控制研究
[7].PID控制器开发笔记之十二:模糊PID控制器的实现-CSDN博客
[8].模糊控制综述--中国期刊网 (chinaqking.com)
[9].模糊控制的基本结构 - 百度文库 (baidu.com)
[10].PID模糊控制设计(7.9笔记)_模糊pid规则表-CSDN博客
[12].模糊控制——(2)模糊系统和模糊控制器 - 一抹烟霞 - 博客园 (cnblogs.com)
[13].模糊控制——理论基础(2隶属函数) - 一抹烟霞 - 博客园 (cnblogs.com)
[14].模糊控制简介及数学基础 (模糊集合、隶属函数)-CSDN博客
[15].模糊数学模型(一): 隶属函数、模糊集合的表示方法、模糊关系、模糊矩阵-CSDN博客