目录
一、模糊控制器
模糊控制器主要由模糊化、知识库、模糊逻辑推理和解模糊组成[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)、神经网络法 利用神经网络的学习功能,由神经网络自动生成隶属函数,并通过网络的学习自动调整隶属函数的值。