一种风力发电机偏航***的智能控制方法
技术领域
本发明属于风力发电自动化控制领域,具体涉及到一种基于模糊控制和神经元算法的智能化风力发电偏航控制。
背景技术
大中型风力发电机一般采用电动伺服或调向电机来调整风轮并使其对准风向。偏航***一般包括感应风向的风向标,偏航电机,偏航行星齿轮减速器,回转体大齿轮等。偏航***以风向标作为感应元件将风向的变化用电信号传递到偏航电机的控制回路里,经过比较后处理器给偏航电机发出顺时针或逆时针的偏航命令,带动风轮偏航对风,当对风完成后,风向标失去电信号,电机停止工作,偏航过程结束。风力发电机偏航控制***的结构图如附图1所示。
由于风向的时变、非线性的特点,决定了偏航***是一个典型的非线性***,各种参数也存在时变性所以很难建立精确的数学模型。因此,不仅用经典控制理论来解决得不到满意结果,即便是现代控制理论有时也得不到非常满意的结果。与之相对应,模糊控制方法属于典型的智能控制方法,用于自然科学和社会科学的许多领域,其最大的特点是将专家的知识和经验表示为语言规则用于控制,不依赖于被控对象的精确数学模型,能够克服非线性因素的影响,对被调节对象有较强的鲁棒性。它是处理推理***和控制***中不精确和不确定性对象的一种有效方法。
针对风力发电机偏航控制***的要求以及风向的时变、非线性的特点,将模糊控制理论引入偏航控制***的方案,对输入信息进行模糊化处理,制定模糊控制规则,设计模糊控制器,可以取得良好的控制效果。但是模糊控制中模糊规则的提取和隶属函数的优化是困扰模糊信息处理技术的难题。利用专家的经验得到的模糊控制规则和隶属函数具有很大程度的不确定性,因此将这样的控制策略直接应用于控制中,往往不能得到理想的控制效果。
利用神经网络的自学习特性进行控制规则的提取和隶属度函数的优化可以有效解决以上难题。人们对神经元网络的研究从20世纪40年代初就开始了,随着人工神经元网络研究的不断深入,出现了各种类型的神经元网络模型,这些神经网络都具有很强的自适应和自学习能力,另外还具有并行计算,分布式信息存储,容错能力强等一系列优点。网络通过训练,学会对输入向量的分析和处理,能够进行计算、记忆、识别等功能,单个神经元结点的结构如附图2所示。
将人工神经元通过一定的结构组织起来,就可构成人工神经元网络(简称神经网络)。虽然目前有数十种神经网络,但最常见的三大类模型是:前向神经网络、反馈神经网络和自组织神经网络。
我们注意到在模糊控制上,隶属函数的取值范围为[0,1],在人工神经网络理论中sigmoid非线形也具有相同的值域:在算法规则上采用不同模糊算子的最大——最小推理类似于人工神经网络输入的加权和算法:在输入的划分上,人工神经网络层上的神经原和模糊***隶属函数及控制规则的划分也极为相似。因此,完全可以将二者有机结合。模糊控制具备处理模糊语言信息的能力,而不具备学习功能;人工神经网络恰恰相反,具备学习功能,但不能处理和描述模糊信息。由于神经网络与模糊控制既有共性又有互补性,将模糊控制理论与神经网络有机结合起来,可以互补长短,提高整个***的分析和处理能力,将其应用到风力偏航控制***中,可以大大提高控制的性能。
发明内容
在模糊控制中,模糊词集中模糊变量的赋值大都采用隶属函数,根据不同的控制对象采用不同的隶属函数(如正态分布、钟形、梯形等),隶属函数的合理性及精确性是模糊控制能否达到理想效果的关键环节,由于风力发电***中,常年风向及风力变化具有一定规律性,基本成正态分布,因而在风力偏航控制中隶属函数采用正态分布能够起到较好的控制效果。同时,传统的模糊控制中,隶属函数大都依据相关专家经验确定,具有很大程度的不确定性,用于实际控制中,往往与实际情况有很大出入,尤其是在风力发电***中,不同地域风力情况差别较大,不能得到理想的控制效果。因而将某一地区常年的风力资源情况作为神经网络的离线训练资源,利用定向型多层反向传播的BP算法进行训练,对由专家经验得到的隶属函数进行优化,从而得到符合当地情况的模糊控制的隶属函数,而且随着离线训练资源的不断丰富,隶属函数可以得到动态优化,应用于实际控制当中,可以得到良好的控制效果。
基于神经网络的风力发电机偏航***的模糊控制设计步骤如下:
①根据已知的风力发电机偏航控制的知识、经验等,初步确定出传统意义上的模糊控制***;
②根据上述模糊控制***的隶属函数与模糊控制规则,确定出神经网络的连接方式和连接权值;
③对操作人员的实际经验进行总结和归纳,得出风力发电机偏航模糊控制规则表,将此表转化为适应于受控对象的输入量与输出量之间的关系表(即模糊查询表),此即FNN的学习样本。利用定向型多层反向传播的BP算法对FNN进行离线训练,学习结果便确定了各参数aij,bij和wpq,也就调整了各语言值隶属度函数并记住了模糊控制规则;
④根据被控对象的实际工作情况,选择适当的比例因子,将FNN接入到控制***中进行控制。
因此,本发明提出了一种风力发电机偏航***的智能控制方法,其特征在于利用神经网络的自学习功能,将理论旋转角度与实际旋转角度的偏差和偏差变化率作为神经网络的输入层,通过对神经网络的训练,实现模糊规则的自动提取和隶属函数的优化,不需要建立精确的数学模型就可以得到合理的控制策略,对控制***进行优化,具体包括以下步骤:
(1)根据已知的风力发电机偏航控制的知识和经验,初步确定出传统意义上的模糊控制***;
(2)根据上述传统意义上的模糊控制***的隶属函数与模糊控制规则,确定出神经网络的连接方式和连接权值;
(3)对操作人员的实际经验进行总结和归纳,得出风力发电机偏航模糊控制规则表,将此表转化为适应于受控对象的输入量与输出量之间的对应关系的模糊查询表,得到基于神经网络的模糊控制FNN的学习样本,利用误差反向传播BP算法对基于神经网络的模糊控制FNN进行离线训练,学习结果便确定了以下的各参数:
采用正态分布的隶属函数的中心值:aij;
采用正态分布的隶属函数的宽度值:bij;和
对应模糊控制中的模糊查询表中相应的控制规则,模糊词集的最大隶属度:wpq,并且调整各语言值隶属度函数并记住模糊控制规则;
(4)根据被控制对象的实际工作情况,选择适当的比例因子,将基于神经网络的模糊控制FNN接入到控制***中对风力发电机的偏航***进行控制。
参见图5,其中所述风力发电机偏航***智能控制方法的计算步骤如下:
(1)输入一个训练周期样本,并设定初始误差,对输入量进行模糊化,即:
其中,Aij(xi)表示当输入为xi时相应的隶属度,aij,bij表示采用正态分布的隶属函数的中心值和其宽度,调节中心值aij可以改变隶属度函数在论域上的分布,调节宽度bij可以改变其形状,i=1,2,为输入变量标号,j=1,2...为语言值标号。
(2)采用复合推理法进行模糊推理,其中:
Ipq (3)=A1p(x1)A2q(x2)
Opq (3)=Ipq (3)
(3)利用重心法进行模糊化,其中:
式中,N为每个输入语言变量所含的语言值数目,wpq是结论语言值wpq的最大隶属度。
(4)选择目标函数 计算总的平均误差,当总平均误差大于要求值时,如果总的平均误差增大,则减小学***均误差减小,则增大学***均误差小于等于要求值,
当总平均误差小于等于要求值时,看是否还有新的训练周期样本,如果没有则过程结束;如果还有,则输入下一个训练周期样本重复上面步骤,直到所有训练周期样本的总平均误差小于等于要求值后结束。
本发明的优点:将基于神经网络的模糊控制应用在风力发电偏航控制***中,可以很好的解决风力发电机偏航***控制过程中难以建立准确的数学模型的难题,控制***具有较好的鲁棒性。在对风力发电机偏航***模糊控制的基础上,利用神经网络的自学习特性来进行模糊信息处理,避免了利用专家的经验得到的模糊控制规则和隶属函数的不确定性,很好的解决模糊规则的自动提取和隶属函数优化问题。使风力发电偏航控制***不需要建立精确的数学模型就可以得到合理的控制策略,具有较高的控制精度和自适应性。
附图说明
图1是现有技术的风力发电机偏航控制***的结构示意图;
图2是单个神经元结点图的结构示意图;
图3是本发明的基于神经网络的风力发电机偏航***模糊控制***结构示意图;
图4是依据本发明的训练后X1的隶属函数;
图5是依据本发明的风力发电机偏航***智能控制方法的流程图。
具体实施方式
人工神经元相当于一个多输入单输出的非线性阀值器件,它有三个基本要素:
①一组连接权值,对应于生物神经元的突触;
②一个求和单元,用于求取各输入信息的加权和;
③一个非线性激励函数,起非线性映射作用并限制神经元输出在一定的范围之内。
此外还有一个阀值θj,单个神经元的输入输出关系为:
式中x1,x2,...,xn为输入信号,wj1,wj2,...wjn为神经元j之权值,Ij为线性组合结果,θj为阀值,f为激励函数,yj为神经元j的输出。
为了方便,将Ij统一表示为:
式中wj0=θj,x0=-1。
将人工神经元通过一定的结构组织起来,就可构成人工神经元网络。基于神经网络的模糊控制(FNN)***采用如下形式的模糊推理规则:
IF X1 is A1p and X2 is A2p THEN Y1 is Wpq
X1,X2(角度偏差和偏差变化率)为输入语言变量,A1p,A2p为对应的模糊词集,Y1(偏航控制输出)为输出语言变量,Wpq为对应的模糊词集。风力发电机偏航***为一个典型的“两入一出”***,其结构图如附图3所示。
在此***中共有四层神经元,每一层神经原都表示了模糊推理中相应的某种含义。
第一层神经元为输入层,输入是风力发电偏航***理论旋转角度与实际旋转角度的偏差和偏差变化率。此层仅把输入值传递给下一层,其连接权值为1。
即:Ii (1)=xi
Oi (1)=Ii (1)
第二层对输入量进行模糊化。每个神经原代表一种语言值,表达为一个隶属函数。将理论旋转角度与实际旋转角度偏差和偏差变化率定义为7个语言值,因此第二层共有14个神经原。每个神经原的输出对应相应的隶属函数。(步骤一)
Iij (2)=Oi (1)=xi
其中,Aij(xi)表示当输入为xi时相应的隶属度,aij,bij表示采用正态分布的隶属函数的中心值和其宽度。调节中心值aij可以改变隶属度函数在论域上的分布,调节宽度bij可以改变其形状。i=1,2,为输入变量标号;j=1,2...,7为语言值标号。
第三层进行模糊推理,第二和第三层神经元之间的连接权值为1,共有7×7=49个神经元,采用积复合推理法则,(步骤二)有:
Ipq (3)=A1p(x1)A2q(x2)
Opq (3)=Ipq (3)
第四层为去模糊化层(步骤三),采用重心法有:
式中,N=7为每个输入语言变量所含的语言值数目,wpq是结论语言值wpq的最大隶属度。
选择目标函数 其中Δu* mn为基于神经网络的模糊控制FNN的期望输出量,Δumn为FNN的实际输出量。我们采用前向型多层神经网络,利用反向传播BP算法调整aij,bij和wpq值,直至目标函数小于或等于设定值,从而实现隶属度函数和模糊控制规则的离线记忆和优化。
为了使基于神经网络的模糊控制FNN应用到***中去,使***能保持稳定,要对FNN进行离线训练,使FNN能够记忆模糊控制规则。设角度偏差的语言变量为E,角度偏差变化率的语言变量为EC,基于神经网络的模糊控制FNN的输出量为Δu,根据常规模糊控制得到的模糊查询表,对N×N(N=13)个样本进行训练。在此我们使用批处理方式训练网络,即待组成一个训练周期的全部样本都依次输入后计算总的平均误差再求各修正值。针对反向传播BP算法收敛速度慢、有可能收敛于局部极值点的问题,采用了两个常用且较有效的改进方法。首先通过对学习效率的在线调整,可以大大提高收敛速度。学习速率的调整原则是使它的每一步保持尽可能大的值,而又不致使学习过程失稳。考虑误差的成批处理,可以根据总误差变化的信息进行启发式调整,其规则如下。
①若总误差E减小(即新误差比老误差小),则学习速率增加(例如将步长实际值乘以因子a=1.06)。
②若总误差E增大(即新误差比老误差大),则学习速率减小。当新误差与老误差之比超过一定值(例如1.09),则学习速率快速下降(例如将步长实际值乘以因子b=0.7)。
上述规则可用下面的方程来表示。
式中,参数的典型值为:a=1.06,b=0.7,n=1.09。
其次,为了避免神经网络收敛于局部极值点,在权系数调整时应引入动量项,考虑以前时刻连接权系数的变化量,使得由连接权系数构成的多维空间向更合理的方向改变,从而有利于避免神经网络收敛于局部极值点。
步骤四,根据反向传播BP算法,aij,bij和wpq按如下关系进行学习:
式中,η(t)为t时刻的学习率,β为动量项系数;p,q,j=1,2,...,N;i=1,2。
经过理论推导,有:
经过训练后X1(角度偏差)的隶属函数如附图4所示。
此处已经根据特定的示例性实施例对本发明进行了描述。对本领域的技术人员来说在不脱离本发明的范围下进行适当的替换或修改将是显而易见的。示例性的实施例仅仅是例证性的,而不是对本发明的范围的限制,本发明的范围由所附的权利要求定义。