模糊控制的方法、模糊控制器及计算机存储介质与流程

文档序号:12946195阅读:473来源:国知局
模糊控制的方法、模糊控制器及计算机存储介质与流程

本发明涉及过程控制领域,更具体地涉及一种模糊控制的方法、模糊控制器及计算机存储介质。



背景技术:

在过垃圾燃烧程控制中,由于环境和原料等各种原因,许多生产过程无法精确建立模型的控制系统。这种问题无法采用传统的比例-积分-导数(proportion-integral-derivative,pid)控制系统进行解决,并且各种基于模型的控制系统都失去作用。



技术实现要素:

考虑到上述问题而提出了本发明。本发明提供了一种用于控制系统的模糊控制的方法、模糊控制器及计算机存储介质,适用于通用操作系统,并且能够扩展到各种其他的应用领域。

根据本发明的第一方面,提供了一种用于控制系统的模糊控制的方法,包括:

进行输入变量的模糊化计算,得到输入变量隶属度,其中,所述输入变量包括偏差和变化率;

基于矩阵化表示的规则库,根据所述输入变量隶属度得到与所述规则库中的每个规则对应的激励强度;

用所述激励强度对与所述激励强度对应的规则的输出变量隶属函数mf进行切割,得到对应的输出mf;

将与所有规则对应的输出mf进行合并,得到总输出mf。

示例性地,在所述基于矩阵化表示的规则库,根据所述输入变量隶属度得到与所述规则库中的每个规则对应的激励强度之前,还包括:将所述规则库进行矩阵化表示。

示例性地,假设所述规则库有n个输入x1,…,xn,m个输出y1,…,ym,则包括z个规则的所述规则库的所述矩阵化表示为:

示例性地,所述基于矩阵化表示的规则库,根据所述输入变量隶属度得到与所述规则库中的每个规则对应的激励强度,包括:

针对所述规则库中的一个规则,用模糊与算子、模糊或算子,将所述一个规则的各个输入的对应输入变量隶属度进行合并,得到与所述一个规则对应的所述激励强度。

示例性地,所述将与所有规则对应的输出mf进行合并,得到总输出mf,包括:

通过对与所有规则对应的输出mf进行取最小值或者乘法运算,得到所述总输出mf。

示例性地,将所述输入变量代入到各个语言值的mf中,得到与各个语言值对应的输入变量隶属度。

第二方面,提供了一种模糊控制器,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面及各个示例所述方法的步骤。

第三方面,提供了一种计算机存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面及各个示例所述方法的步骤。

由此可见,本发明实施例中的模糊控制的方法使用矩阵化表示的规则库进行模糊推理过程,该过程能够脱离原有的plc框架,适合于通用的操作系统,且可以用高级语言进行,并且该通用算法能够很方便地扩展到其他应用领域。

附图说明

通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1是模糊控制器进行控制的一个示意图;

图2是本发明实施例的用于控制系统的模糊控制的方法的一个示意性流程图;

图3为两规则的mamdani模糊推理过程的一个示意图。

具体实施方式

为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。

图1是模糊控制器进行控制的一个示意图,在针对变量进行控制时,控制的目的是期望该变量的实际值与标签值相同。可以将标签值与实际值之差作为模糊控制器的一个输入,将差值的变化作为另一个输入,而模糊控制器的输出可以对该变量的实际值进行自动调节。

图2是本发明实施例的用于控制系统的模糊控制的方法的一个示意性流程图。图2所示的方法可以包括:

s101,进行输入变量的模糊化计算,得到输入变量隶属度,其中,输入变量包括偏差和变化率;

s102,基于矩阵化表示的规则库,根据所述输入变量隶属度得到与所述规则库中的每个规则对应的激励强度;

s103,用所述激励强度对与所述激励强度对应的规则的输出变量隶属函数(membershipfunction,mf)进行切割,得到对应的输出mf;

s104,将与所有规则对应的输出mf进行合并,得到总输出mf。

作为一种实现方式,在图2所示的s101之前,可以包括:通过控制器参数存储算法保存控制器的参数信息。

示例性地,控制器的参数信息可以包括控制器数量、控制器参数、控制器输入变量和控制器输出变量等。可以根据存储算法为各个数据保存特定的格式,并且所有的控制器均按照该格式进行保存,在启动时进行调用,能够方便计算机的进行。

示例性地,该格式的一个示例可以如下所示:

作为一种实现方式,在图2所示的s101之前,可以包括:根据模糊工具存储读取算法保存变量的模糊变量的参数、规则库、模糊推理方式、反模糊化方式等。

模糊控制器的保存格式的一个示例可以如下所示:

在上述示例中,模糊推理方式为“mamdani推理方式”,本领域技术人员可理解,该模糊推理方式也可以为“lusinglarson推理方式”、“sugeno推理方式”等其他推理方式。在上述示例中,反模糊化方式(defuzzmethod,也称解模糊方式)为“centroid”(重心法),本领域技术人员可理解,该反模糊化方式也可以为“最大平均值法”“sugeno解模糊法”等其他方式。

本模糊控制器的输入变量为2个,包括偏差和变化率,偏差可以表示为e,即参照图1中的标签值与实际值之差;变化率可以表示为de,即参照图1中的差值的变化。其中,每个模糊控制器输入变量的语言值为5个,分别表示为nb、ns、pb、0和ps。本模糊控制器的规则数量为7个。本模糊控制器的输出变量为1个,模糊控制器输出变量的语言值为7个,分别表示为nb、ns、pb、0、ps、pm和nm。另外,上述的示例中的模糊与算子(andmethod)为min,模糊或算子(ormethod)为max,模糊合并算子(impmethod)为min。

计算机为了获取控制器的详细参数,可以创建一个内存矩阵(matrix),并将详细参数存储在该内存矩阵中。具体地,控制器矩阵中对应参数说明如下所述:

1、matrix[0]:模糊控制文件名称

2、matrix[1]:模糊类型例如,mamdani或sugeno(t-s)等

3、matrix[2][0]:模糊控制器输入变量数量

matrix[2][1]:模糊控制器输出变量数量

4、matrix[3]:每个模糊控制器输入变量模糊语言数量,例如nb、pb等

5、matrix[4]:每个模糊控制器输出变量模糊语言数量,例如nb、pb等

6、matrix[5]:模糊规则数量

7、matrix[6]:andmethod中内容//与运算

8、matrix[7]:ormethod中内容//或运算

9、matrix[8]:impmethod中内容//合成运算

10、matrix[9]:aggmethod中内容//每条规则输出值数组处理函数(确定每条规则最终输出)

11、matrix[10]:defuzzmethod确定反模糊化方法

matrix[11]之后的定义如下,且具体的数量与模糊控制器输入变量的数量、模糊控制器输出变量的数量以及规则数量有关。

12、模糊控制器输入/输出变量的名称(name):

(注意行数根据变量数量确定,变量名称3个部分组成,用&符号分割。

例如:name='main&so2&e'

第一个&符号之前,即name的第一部分,表示控制器变量类型。main控制器主变量。aux表示辅助变量。

两个&符号之间,即name的第二部分,表示控制器变量标签,例如'so2'是控制器变量标签,该变量来自于驱动程序实际数据。

第二个&之后,即name的第三部分,表示数据处理。例如,e表示偏差;de表示变化率。)

13、模糊控制器输入/输出变量的范围range(注意行数根据变量数量确定)

14、模糊控制器输入/输出变量的模糊语言(注意行数根据变量数量确定)

15、模糊控制器输入/输出变量的模糊隶属函数类型(注意行数根据变量数量确定)

16、模糊控制器输入/输出变量的模糊隶属函数参数(注意行数根据变量数量确定)

17、模糊规则库

其中,matrix[i]表示第i行。具体地,模糊工具箱文件在内存矩阵中的行数为:11+2×(模糊控制器输入变量数量+模糊控制器输出变量数量)+3×(模糊控制器输入变量数量+模糊控制器输出变量数量)+规则数量。

由此,本发明实施例中将模糊控制器的各个参数存储在内存矩阵中,能够方便后续模糊控制器的计算处理。并且能够方便地在基于windows操作系统的vc++6.0使用mfc进行开发,从而创建适合于计算机表达的模糊控制器算法。

作为一种实现方式,在图2所示的s101之前,工具箱需要对于控制器主变量、辅助变量分别进行处理:

如果是主变量,并且数据处理是e。模糊控制器输入变量的实际输入in1是控制器给定sp,减去变量标签的值pv。

in1=sp-pv

如果是主变量,并且数据处理是de。模糊控制器输入变量的实际输入in2是本次控制器给定sp,减去变量标签的值pv,减去上一次的控制器给定sp减去变量标签的值pv。

in2=sp-pv-in2(last)

如果是主变量,必须有数据处理类型。

如果是辅助变量,如果没有数据处理,表示变量本身就是模糊控制器的输入值。如果数据处理是de,表示模糊控制器的输入值in1是本次的pv值,减去上一次的pv值。

in1=pv-in1(last)。

可以通过对模糊控制器输入变量的模糊化过程,计算得到模糊控制器输入变量的隶属度。具体地,每个语言值都有自己的隶属函数,假设一个模糊控制器输入变量的语言值数量为5,则相应地有5个语言值隶属函数。将模糊控制器输入变量的具体数值代入事先设定的隶属函数中进行计算,得到的计算结果即为模糊控制器输入变量的隶属度。假设模糊控制器输入变量包括偏差和变化率,且每个模糊控制器输入变量的语言值数量为5,则s101中所得到的模糊控制器输入变量的隶属度的数量为10。

作为一个示例,s101中,可以从计算得到的模糊控制器输入变量的隶属度中查找与规则对应的输入变量隶属度。

作为另一个示例,s101中,可以将输入变量代入到各个语言值的mf中,得到与各个语言值对应的输入变量隶属度。

应注意,s101-s104中的输入变量是指每条规则的输入变量,其不同于前述的模糊控制器输入变量;s101-s104中的输出变量是指每条规则的输出变量,其不同于前述的模糊控制器输出变量。

作为一种实现方式,在s102之前,可以包括:将所述规则库进行矩阵化表示。具体地,假设所述规则有n个输入x1,…,xn,m个输出y1,…,ym,则包括z个规则的规则库的所述矩阵化表示为:

该矩阵化表示即z个模糊规则所组成的规则库,并且该矩阵是规则库在内存中的排列顺序。

另外,还可以据此定义规则的输出变量量化等级隶属度矩阵:该矩阵为由每条规则的输出语言变量的全部量化等级隶属度组成的矩阵,如果输出变量的模糊语言y的量化等级n个y1,…,yn,模糊规则z个,那么该矩阵可以以单维数组形式进行描述,该矩阵描述为:

该矩阵组成由每条规则对应的激励矩阵,如果输出变量的模糊语言y的量化等级n个y1,…,yn,模糊规则z个,每条规则对应的激励:x1…xn。相应地,激励矩阵为

图2所示的方法即为基于上述的矩阵化内存表达所进行的矩阵推理模糊计算过程。示例性地,s102可以包括:针对所述规则库中的一个规则,用模糊与算子、模糊或算子,将所述一个规则的各个输入的对应输入变量隶属度进行合并,得到与所述一个规则对应的所述激励强度。可见,在s102中,可以计算出每条规则的激励强度,假设规则的数量为7,则计算得到的激励强度的数量为7。

示例性地,在s103中,可以用激励强度去切割相应规则的输出变量mf,得到有效的输出mf。其中,可以采用最小或乘法去计算每个语言输出数组。

示例性地,在s104中,可以包括:通过对与所有规则对应的输出mf进行取最小值或者乘法运算,得到所述总输出mf。也就是说,合成算法可以为取最小或乘法运算。

作为一个示例,如图3所示为两规则的mamdani模糊推理过程的一个示意图。

示例性地,在图2所示的方法之后,还可以包括:使用反模糊化方式进行反模糊过程。例如,反模糊化方式可以为重心法。

由此可见,本发明实施例中的模糊控制的方法使用矩阵化表示的规则库进行模糊推理过程,该过程能够脱离原有的plc框架,适合于通用的操作系统,且可以用高级语言进行,并且该通用算法能够很方便地扩展到其他应用领域。

另外,本发明实施例还提供了另一种模糊控制器,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,处理器执行所述程序时实现前述图2所示方法的步骤。

另外,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序。当所述计算机程序由处理器执行时,可以实现前述图2所示方法的步骤。例如,该计算机存储介质为计算机可读存储介质。

尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的物品分析设备中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1