一种基于分散式ESN模型的风力发电机故障检测方法与流程

文档序号:23725753发布日期:2021-01-26 16:02阅读:172来源:国知局
一种基于分散式ESN模型的风力发电机故障检测方法与流程
一种基于分散式esn模型的风力发电机故障检测方法
技术领域
[0001]
本发明涉及一种风力发电机故障检测方法,特别涉及一种基于分散式esn模型的风力发电机故障检测方法。


背景技术:

[0002]
随着自然资源的日益短缺,充分利用可再生能源领域受到了越来越多的关注。其中,风力发电占据着举足轻重的地位。在风力持续的情况下,风力发电机能持续不断的提供电能,因此风力发电机的应用规模与日俱增。与此同时,及时的检测出风力发电机运行过程中出现的故障对于保证风力发电高效的电力输出具有重要的研究意义。由于风力发电机是一个大型且复杂的系统,通过物理原理建立相应的动力学模型和电路模型是非常困难的。因此,利用机理模型实施故障检测的方案是不可取的。
[0003]
一般而言,风力发电机这个系统中通常会安装有多个传感器,会实时反馈诸如发电机转速,生成的电功率,加速度等数据信息。这些传感器以及相应配套的数据存储设备为实施数据驱动的风力发电机故障检测提供了坚实的数据基础。在当前智能制造与大数据的风潮下,利用这些采样数据实施风力发电机故障检测的方案是非常合时宜的,已有多种按照模式分类思想实施风力发电机故障检测与诊断的数据驱动的技术。然而,风力发电机的工作状态会受到外部环境风速的直接影响,会随着风速的变化而不断发生变化的。因为风力的间歇特性、非线性特性、时序变化特性并非人为可精准预测或可控制的,风力发电机的工作状态直接受风速影响的这种工作特性给数据驱动的故障检测方案增加了挑战。
[0004]
从风力发电机运行机理上讲,每个时刻的风力发电机自身数据都是会受到外部环境风速的直接影响,而且风力发电机自身的测量数据之间也是相互关联的。从这个角度上讲,如何挖掘这些测量变量之间的关联性,对于实施数据驱动的风力发电机故障检测具有重要的作用。假设能建立精确的风力发电机的机理模型,则该模型就能描述出环境风速与风力发电机自身测量变量(如:风叶转速,功率等)之间的相关关系,相应的机理模型误差的异常变化即可反映出风力发电机运行出现故障问题。由于精确的机理模型无法建立,可行的解决思路只能通过数据驱动的方法来建立这些测量变量之间的关系模型,从而使用数据驱动模型的误差实现故障检测。
[0005]
近年来,在时间序列分析相关的研究领域,回声状态网络(echo state networks,缩写:esn)得到了广泛的研究与应用。然而,esn是一类有监督的建模策略,需要多故障类别的风力发电机数据才可实施故障诊断,无法直接应用esn解决只有正常工况数据下的风力发电机故障检测问题。虽然,esn从表面上看应用于风力发电机故障检测看似困难重重,但从esn在解决时序建模问题的优势来看,是可以用来解决风速的时序变化特性建模问题。从这个角度出发,如何将esn用于风力发电机故障检测是值得研究并丞待解决的一个问题。


技术实现要素:

[0006]
本发明所要解决的主要技术问题是:如何利用esn来建立风力发电机各个测量变
量之间的量化模型,从而利用数据驱动模型的误差来反映风力发电机运行过程中出现的故障。具体来讲,本发明方法通过结合使用esn与分散式建模策略的优势,为风力发电机各个测量变量建立分散式的esn模型,再通过监测分散式esn模型的估计误差的异常变化来实现风力发电机故障的实时检测目的。
[0007]
本发明方法解决上述问题所采用的技术方案为:一种基于分散式esn模型的风力发电机故障检测方法,包括以下所示步骤:
[0008]
步骤(1):在风力发电机正常运行状态下,每间隔1分钟采集一次样本数据,具体包括11个数据,并将每次采集的这11个数据组成一个列向量;其中,列向量中的11个数据依次为:风速,旋翼转速,发电机转速,机械转矩,发电功率,叶片螺距角,叶片方位角,叶片根部力矩,顶部水平轴加速度,顶部纵轴加速度,偏航误差。
[0009]
步骤(2):按照采集的时间先后顺序,将风速在5m/s至20m/s之间的n个列向量x1,x2,

,x
n
组成矩阵x=[x1,x2,

,x
n
],并对x∈r
11
×
n
中各个行向量实施归一化处理从而得到新矩阵其中,r
11
×
n
表示11
×
n维的实数矩阵,r
11
×1表示11
×
1维的实数向量,归一化处理的具体方式为:将行向量减去该行向量的最小值后,再除以该行向量的最大值与最小值之差。
[0010]
步骤(3):依次分别将中第2行至第11行的行向量用作esn模型的输出,并将中其它10行的行向量组成输入矩阵后用作esn模型的输入,建立由10个esn模型组成的分散式esn模型,并保留模型参数集,具体的实施过程如步骤(3.1)至步骤(3.9)所示。
[0011]
步骤(3.1):初始化j=2。
[0012]
步骤(3.2):将新矩阵中第j行的行向量记做为输出向量z
j
∈r1×
n
,并将新矩阵中其余11行的行向量组成输入矩阵z
j
∈r
10
×
n
;其中,r1×
n
表示1
×
n维的实数向量,r
10
×
n
表示10
×
n维的实数矩阵。
[0013]
步骤(3.3):搭建一个回声状态网络模型,具体包括:8个输入节点,l个储蓄池节点,和1个输出节点;其中,储蓄池节点的激活函数f(u)=tanh(u)为双曲正切函数,u为函数自变量。
[0014]
步骤(3.4):初始化权值连接矩阵w
j
∈r
l
×
l
;其中,w
j
的各个元素都是按照均匀分布在区间[-1,1]范围内随机产生的。
[0015]
步骤(3.5):先对权值连接矩阵w
j
进行稀疏度修正,再对w
j
进行谱密度修正。
[0016]
所谓的稀疏度修正,就是将w
j
中小于等于0.1且大于等于-0.1的非对角线上的元素修改成0;实施稀疏度修正时,不修改w
j
中对角线上的元素,只对除对角线以外的其他元素进行修正。
[0017]
而谱密度修正需要首先计算权值连接矩阵w
j
的所有特征值,并对所有特征值计算绝对值后,再将最大的绝对值记做α;其次,判断α是否小于1;若否,则根据公式w
j
=0.8
·
w
j
/α更新权值连接矩阵w
j
;若是,则不对权值连接矩阵w
j
进行任何处理。
[0018]
步骤(3.6):初始化输入权值矩阵初始化反馈权值向量v
j
∈r
l
×1;其中,输入权值矩阵和反馈权值向量中的元素都是按照均匀分布在区间[-1,1]范围内随机产生的。
[0019]
步骤(3.7):根据公式计算输出权值向量其
中,表示z
j
中第2个至第n个元素组成的向量,上标号t表示矩阵或向量的转置符号,λ为正则系数,i为k
×
k维的单位矩阵,n=n-1,k=11+l,矩阵z
j
的组成方式如下所示:
[0020]
上式中,表示x
j
中第2列至第n列的列向量组成的矩阵,表示z
j
中第1个至第n-1个元素组成的向量,表示状态矩阵s
j
∈r
l
×
n
中第2列至第n列的列向量组成的矩阵,状态矩阵s
j
中第一列向量为零向量,s
j
中第i列向量的计算方式如下所示:
[0021]
上式中,表示x
j
中的第i列向量,i∈{2,3,

,n},表示状态矩阵s
j
中第i-1列向量,表示z
j
中的第i-1个元素。
[0022]
步骤(3.8):保留模型参数集并根据公式计算输出估计向量y
j
∈r1×
n
后,再计算估计误差向量
[0023]
步骤(3.9):判断是否满足条件:j<11;若是,则设置j=j+1后,返回步骤(3.2);若否,则得到模型参数集φ2,φ4,

,φ
11
,以及误差向量e2,e4,

,e
11

[0024]
步骤(4):将10个误差向量e2,e3,

,e
11
组成误差矩阵后,再计算误差矩阵e中所有行向量的平均值向量μ∈r1×
10
,并根据公式λ=(e-u)
t
(e-u)/(n-1)计算协方差矩阵λ;其中,均值矩阵u∈r
n
×
10
由n个相同的平均值向量μ∈r1×
10
组成。
[0025]
步骤(5):根据公式q=diag{(e-u)
t
λ-1
(e-u)}计算检测指标向量q,并将q中的最大值记做控制上限q
lim
以备调用;其中,diag{}表示将大括号内矩阵对角线元素转变成向量的操作。
[0026]
步骤(6):利用风力发电机的数据采集系统,采集最新采样时刻的样本数据x
new
∈r
11
×1;其中,x
new
中的11个元素依次由风速,旋翼转速,发电机转速,机械转矩,发电功率,叶片螺距角,叶片方位角,叶片根部力矩,顶部水平轴加速度,顶部纵轴加速度,和偏航误差组成。
[0027]
步骤(7):判断x
new
中的第一个元素(即:风速)是否小于等于20且大于等于5;若是,则执行步骤(8);若否,则风力发电机未产生电能,处于待机状态,并返回步骤(6)继续实施对最新采样时刻的风力发电机故障检测。
[0028]
步骤(8):对x
new
中各行的元素实施与步骤(2)中相同的归一化处理,从而得到新数据向量
[0029]
步骤(9):调用步骤(3)中的10个模型参数集φ2,φ3,

,φ
11
,计算得到10个误差数据f2,f3,

,f
11
,再将这10个误差数据组成误差向量f
t
=[f2,f3,

,f
11
],具体的实施过程如步骤(9.1)至步骤(9.4)所示。
[0030]
步骤(9.1):初始化j=2。
[0031]
步骤(9.2):将数据向量中的第j个元素用作esn模型的输出,并将中其余10
个元素组成输入向量γ
j
∈r
10
×1后用作esn模型的输入。
[0032]
步骤(9.3):组建向量后,再计算从而可以得到误差数据其中,t采样时刻的状态向量其中,t采样时刻的状态向量为数据向量中的第j个元素,是t-1采样时刻样本数据x
t-1
经归一化处理后得到的数据向量,s
t-1
为t-1采样时刻的状态向量,t-1采样时刻表示t采样时刻的前一个采样时刻。
[0033]
步骤(9.4):判断是否满足条件:j<11;若是,则设置j=j+1后,返回步骤(9.2);若否,则这10个误差数据f2,f3,

,f
11
组成误差向量f
t
=[f2,f3,

,f
11
]。
[0034]
步骤(10):计算检测指标q
t
=(f
t-μ)λ-1
(f
t-μ)
t
,并判断是否满足条件:q
t
≤q
lim
;若是,则风力发电机正常运行,并返回步骤(6)继续实施对风力发电机的实时故障检测;若否,则执行步骤(11)。
[0035]
步骤(11):返回步骤(6)继续利用最新采样时刻的样本数据实施故障检测;若连续6个采样时刻的检测指标皆大于q
lim
,则触发故障警报;反之,则风力发电机正常运行,并返回步骤(6)继续实施对风力发电机的故障检测。
[0036]
通过以上所述实施步骤,本发明方法的优势介绍如下。
[0037]
首先,本发明方法利用esn模型量化描述了风力发电机自身各测量变量之间的相互关系,这种相互关系是体现在时序特征上的非线性关系。其次,本发明方法通过监测分散式esn模型的估计误差的异常变化情况来反映是否出现故障,借鉴参考了利用机理模型生成误差的思想的优势。最后,在即将陈述的具体实施案例中,通过实际应用验证了本发明方法的可行性与优势。
附图说明
[0038]
图1为本发明方法的实施流程示意图。
[0039]
图2为本发明方法的故障检测详图。
具体实施方式
[0040]
下面结合附图和具体实施方式对本发明进行详细说明。
[0041]
本发明公开了一种基于分散式esn模型的风力发电机故障检测方法,下面结合如图1所示的实施流程示意图来说明本发明方法的具体实施方式。
[0042]
步骤(1):在风力发电机正常运行状态下,每间隔1分钟采集一次样本数据,具体包括:风速,旋翼转速,发电机转速,机械转矩,发电功率,叶片螺距角,叶片方位角,叶片根部力矩,顶部水平轴加速度,顶部纵轴加速度,偏航误差。
[0043]
步骤(2):按照采集的时间先后顺序,将风速在5m/s至20m/s之间的n个列向量x1,x2,

,x
n
组成矩阵x=[x1,x2,

,x
n
],并对x∈r
11
×
n
中各个行向量实施归一化处理从而得到新矩阵
[0044]
步骤(3):依次分别将中第2行至第11行的行向量用作esn模型的输出,并将中其它10行的行向量组成输入矩阵后用作esn模型的输入,建立由10个esn模型组成的分散式esn模型,并保留模型参数集,具体的实施过程如步骤(3.1)至步骤(3.9)所示。
[0045]
步骤(4):将10个误差向量e2,e3,

,e
11
组成误差矩阵e∈r
10
×
n
后,再计算误差矩阵
e中所有行向量的平均值向量μ∈r1×
10
,并根据公式λ=(e-u)
t
(e-u)/(n-1)计算协方差矩阵λ;其中,均值矩阵u∈r
n
×
10
由n个相同的平均值向量μ∈r1×
10
组成。
[0046]
步骤(5):根据公式q=diag{(e-u)
t
λ-1
(e-u)}计算检测指标向量q,并将q中的最大值记做控制上限q
lim
以备调用;其中,diag{}表示将大括号内矩阵对角线元素转变成向量的操作。
[0047]
步骤(6):利用风力发电机的数据采集系统,采集最新采样时刻的样本数据x
new
∈r
11
×1;其中,x
new
中的11个元素依次由风速,旋翼转速,发电机转速,机械转矩,发电功率,叶片螺距角,叶片方位角,叶片根部力矩,顶部水平轴加速度,顶部纵轴加速度,和偏航误差组成。
[0048]
步骤(7):判断x
new
中的第一个元素(即:风速)是否小于等于20且大于等于5;若是,则执行步骤(8);若否,则风力发电机未产生电能,处于待机状态,并返回步骤(6)继续实施对最新采样时刻的风力发电机故障检测。
[0049]
步骤(8):对x
new
中各行的元素实施与步骤(2)中相同的归一化处理,从而得到新数据向量具体的实施过程如步骤(8.1)至步骤(8.2)所示;
[0050]
步骤(8.1):根据公式对x
new
中的第k行的元素实施归一化处理,从而得到中的第k行的元素其中,与分别表示矩阵x中第k行向量的最大值与最小值,k∈{1,2,

,11}。
[0051]
步骤(8.2):分别设置k等于1,2,

,11,并执行步骤(8.1)即可完成对x
new
中各行元素的归一化处理。
[0052]
步骤(9):调用步骤(3)中的10个模型参数集φ2,φ3,

,φ
11
,计算得到10个误差数据f2,f3,

,f
11
,再将这10个误差数据组成误差向量f
t
=[f2,f3,

,f
11
],具体的实施过程如步骤(9.1)至步骤(9.4)所示。
[0053]
步骤(10):计算检测指标q
t
=(f
t-μ)λ-1
(f
t-μ)
t
,并判断是否满足条件:q
t
≤q
lim
;若是,则风力发电机正常运行,并返回步骤(6)继续实施对风力发电机的实时故障检测;若否,则执行步骤(11)。
[0054]
步骤(11):返回步骤(6)继续利用最新采样时刻的样本数据实施故障检测;若连续6个采样时刻的检测指标皆大于q
lim
,则触发故障警报;反之,则风力发电机正常运行,并返回步骤(6)继续实施对风力发电机的故障检测。
[0055]
为了清楚的展现出各个采样时刻的故障检测指标与控制上限之间的大小关系,将两者绘制于图2中。从图2中可以发现,在故障发生后,本发明方法可以持续不断触发故障警报。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1