一种奖励自适应风力发电机功率控制方法
未命名
07-08
阅读:119
评论:0
1.本发明涉及风力发电机功率控制,尤其是涉及一种奖励自适应风力发电机功率控制方法。
背景技术:
2.目前,随着传统化石能源的枯竭以及其带来的环境恶化问题日益严重,新能源技术得到了国际社会的高度重视,加快发展可再生能源成为全球各国的解决环境和能源问题的必经之路,同时也是未来经济和技术发展的重中之重。风能作为技术最成熟、最具发展规模的清洁新能源,具有免费、清洁、无污染的特点。风力发电与大部分可再生能源发电技术相比有着很大竞争优势。在中国很多地区,风能资源十分丰富。发展风力发电,可以为国民经济发展提供重要保障,在国家能源格局中扮演着越来越重要的角色。
3.提高风力发电效率对风能发展和经济效益至关重要。但由于风力发电系统的非线性特点,风力发电机运行的最大输出功率点会随风速的变化而改变。为保证风能的最大利用率,风力发电系统需要采取适当的控制策略以保证最大功率的输出。因此,mppt(最大功率点跟踪)控制算法在提高风力发电效率中起着决定性作用。此外,当风速大于额定风速,风力发电机发电功率不稳定并会发生超载情况。因此,在风速大于额定风速情况下,应控制风力机的俯仰角,以稳定风力发电功率在最大功率并减少因超载而导致的设备疲劳。
4.同时,风速作为风力发电机的驱动力,在风力发电系统的控制设计中有着至关重要的作用。现有的大多数最大功率跟踪点控制算法就依赖于准确的有效风速信息。为了对风力发电系统进行精准的控制,需要对有效风速进行准确的估计和预测,以提高风力发电系统性能和增加风力发电经济效益。
5.mppt的本质就是通过控制信号改变风轮转速,使风能利用系数达到最大值,从而实现最大功率输出。传统mppt方法无法及时响应风速变化,功率跟踪误差较大,对风力发电系统运行的条件限制较多。而随着人工智能技术的快速发展,智能算法逐渐被应用于许多控制领域。因此,研究者们尝试将传统mppt方法与智能算法相结合,提出许多智能mppt控制方法,以提高风力发电系统功率控制效果,增加风力发电经济效益。但大部分工作主要考虑的是风力发电机在额定风速以下的mppt控制,没有同时将额定风速及额定风速以上的恒定功率控制共同考虑,导致风力发电功率不稳定,风轮负荷大,机组损耗大,且智能mppt控制方法的神经网络学习收敛速度较慢。
技术实现要素:
6.本发明的目的就是为了克服上述现有技术存在的缺陷而提供的一种奖励自适应风力发电机功率控制方法。
7.本发明的目的可以通过以下技术方案来实现:
8.一种奖励自适应风力发电机功率控制方法,包括以下步骤:
9.s1、获取t时刻的风机数据和t时刻的有效风速预测值,所述风机数据包括风轮叶
片偏转、风轮叶片扭转、风轮叶片桨距角、风轮气动功率、风轮角速度和风机发电功率;
10.s2、将t时刻的风机数据和t时刻的有效风速预测值输入训练好的基于lstm的有效风速估计模型,得到t时刻的有效风速估计值;
11.s3、基于t时刻的有效风速估计值和风机发电功率判断t时刻的运行状态,得到运行状态标记值;
12.s4、将t时刻的风轮气动功率、风轮角速度、有效风速估计值和运行状态标记值进行转换操作,得到第一网络的输入,所述第一网络基于深度确定性策略梯度算法构建,将第一网络的输入和t-1时刻的训练经验结合,得到t时刻的训练经验,将t时刻的训练经验存入第一网络的经验池中;
13.s5、对第一网络进行训练,得到训练完成的第一网络,基于训练完成的第一网络得到t时刻的第一网络的输出和t时刻的单步奖励,将所述单步奖励作为奖励信号存入第一网络的经验池中;
14.s6、将t时刻的第一网络的输出转化为风力发电系统的控制输入信号,基于控制输入信号对风力发电机进行功率控制;
15.s7、确定功率控制过程中的经验池,从功率控制过程中的经验池中获取第二小批量训练集,基于第二小批量训练集更新第一网络的参数,更新完成后执行s8;
16.s8、将t时刻更新为t+1时刻,返回s1。
17.进一步地,s1的具体步骤包括:
18.s11、基于测量仪器获取风轮叶片偏转,所述风轮叶片偏转包括叶片叶尖挥舞位移、叶片叶尖边缘位移和叶片径向位移;
19.s12、基于测量仪器获取风轮叶片扭转、风轮叶片桨距角、风轮气动功率、风轮角速度和风机发电功率,同时获取有效风速预测值。
20.进一步地,s2的基于lstm的有效风速估计模型的训练的具体过程包括:
21.s21、基于lstm设计有效风速估计网络;
22.s22、设置训练数据集,所述训练数据集包括有效风速估计网络的lstm输入值和lstm目标值;
23.s23、设定有效风速估计网络的样本估计误差,并基于样本估计误差计算其最小化的目标函数;
24.s24、设定有效风速估计网络的更新计算公式;
25.s25、基于训练数据集和有效风速估计网络的更新计算公式训练和更新有效风速估计网络,当训练数据集的训练结束,若样本估计误差的最小化的目标函数小于设定的误差阈值,则停止更新迭代,得到训练好的基于lstm的有效风速估计模型。
26.进一步地,s4的具体步骤为:
27.s41、获取t时刻的风轮气动功率、风轮角速度、有效风速估计值和运行状态标记值;
28.s42、根据获取的数据得到t时刻的风轮转速参考值;
29.s43、基于s41获取的数据和s42的风轮转速参考值得到t时刻的第一网络的输入和的外部奖励计算网络的输入;
30.s44、结合t-1时刻的训练经验,将t时刻的第一网络的输入、t-1时刻的第一网络的
输出、t-1时刻的奖励信号以及t-1时刻的第一网络的输入作为t时刻的训练经验存入第一网络的经验池中。
31.进一步地,s5的具体步骤为:
32.s51、基于深度确定性策略梯度算法设计第一网络,所述第一网络包括动作神经网络、评价神经网络、动作神经网络对应的第一目标网络和评价神经网络对应的第二目标网络;
33.s52、通过模拟湍流风速环境序列对s51中设计得到的网络进行预训练,预训练的具体步骤为:
34.获取序列中序号为k的第一网络的输入,将该输入作为动作神经网络的输入向量,得到输出动作,将动作神经网络的输入向量和输出动作作为评价神经网络的输入向量;
35.获取下一序号的第一网络的输入,该输入的序号为k+1,将该输入作为第一目标网络的输入向量,得到预测输出动作,将第一目标网络的输入向量和预测输出动作作为第二目标网络的输入向量,完成预训练;
36.s53、构建外部奖励计算模型和内部奖励计算模型,外部奖励计算模型包括奖励动作网络和奖励评价网络,并计算外部奖励;
37.基于内部奖励计算模型对s52中序号为k的输入和序号为k+1的输入进行特征提取,得到两个输入分别对应的状态特征,设置前向网络,所述前向网络基于s52的输出动作和序号为k的输入的状态特征,预测出序号为k+1的输入的第一特征,同时学习一个特征网络,所述特征网络提取与s52中的序号为k的输入和输出动作有关的特征;
38.s54、根据时间差分算法,设计外部奖励计算模型的训练过程,设置奖励评价网络的预测误差和最小化函数;
39.s55、基于最小化函数设置奖励评价网络的权值更新规则,基于该权值更新规则迭代更新奖励评价网络的权值,当迭代的次数达到预设的奖励评价网络的更新上限值,或奖励评价网络的预测误差小于预设的第一误差阈值,停止迭代,完成对奖励评价网络的训练,将此时的奖励评价网络的输出输入到奖励动作网络;
40.s56、基于s55中奖励评价网络的输出设置奖励动作网络的预测误差,设置奖励动作网络的权值更新规则,基于该权值更新规则迭代更新奖励动作网络的权值,当迭代的次数达到预设的奖励动作网络的更新上限值,或奖励动作网络的预测误差小于预设的第二误差阈值,停止迭代,此时奖励动作网络的输出为更新的外部奖励;
41.s57、计算内部奖励计算模型的前向网络的预测误差和特征网络的预测误差;
42.s58、设置前向网络和特征网络的权值更新规则,基于两个网络的权值更新规则分别迭代更新前向网络和特征网络,当迭代次数达到预设的前向网络和特征网络的更新上限值,或前向网络的预测误差小于预设的第三误差阈值且特征网络的预测误差小于预设的第四误差阈值,停止迭代更新,基于此时的前向网络的输出得到内部奖励,基于更新的外部奖励和内部奖励得到总的单步奖励,将单步奖励作为奖励信号存入第一网络的经验池中;
43.s59、从经验池中获取第一小批量训练集,设定动作神经网络的参数更新规则,设定后,基于随机优化算法,采用s24的更新计算公式对第一网络进行更新,得到训练完成的第一网络,得到t时刻的第一网络的输出。
44.进一步地,随机优化算法具体为经过自适应动量的随机优化算法优化的反向传播
算法。
45.进一步地,s7的具体步骤为:
46.s71、确定功率控制过程中的经验池;
47.s72、从功率控制过程中的经验池中获取第二小批量训练集,所述第二小批量训练集由经验池中的经验样本构成,根据s54的训练方法,基于第二小批量训练集对第一网络的参数进行在线更新。
48.进一步地,s3的运行状态的表达式如下:
[0049][0050]
其中,f1和f2是不同的两种运行状态,pg为风机发电功率,ve为有效风速估计值,p
g,rate
为额定发电功率,v
rate
为额定风速。
[0051]
进一步地,外部奖励的表达式为:
[0052][0053]
其中,re(k)为外部奖励,dist(k)是奖励动作网络的输入向量与径向基函数之间的距离,φa为径向基函数,n
a,h
为奖励动作网络的隐藏层神经元数量,w
a,i
(k)为奖励动作网络第i个隐藏神经元至输出层的权值,i为隐藏层神经元序号。
[0054]
进一步地,所述奖励评价网络为三层的bp神经网络,包含输入层、输出层和一个隐藏层。
[0055]
与现有技术相比,本发明具有以下有益效果:
[0056]
(1)本发明根据系统状态数据和设计的运行状态标记值,进而调节风力发电机电磁转矩和风轮桨距角,使风轮转速运行在最优值,比较现有的额定风速以下的mppt控制,本发明优化功率提取效率,稳定风力发电功率,减少风轮负荷和机组损耗。
[0057]
(2)本发明计算单步奖励,作为奖励信号进行学习,可以加快神经网络学习收敛速度。
[0058]
(3)本发明设计基于lstm的有效风速估计模型,能够利用存储的长时间有效风速记忆和当前短时间的风机信息进行当前有效风速估计,并预测下一时刻有效风速,与现有技术中的采集风速相比,有效风速估计能使功率控制结果更准确,鲁棒性和抗干扰性更强。
附图说明
[0059]
图1为本发明的流程图;
[0060]
图2为本发明的奖励自适应风力发电机功率控制系统的结构示意图;
[0061]
图3为本发明的风能利用系数函数的曲线图;
[0062]
图4为本发明的基于lstm的风力发电机有效风速估计模型结构示意图;
[0063]
图5为本发明的奖励自适应风力发电机功率控制方法的第一网络结构和参数调整示意图;
[0064]
图6为本发明的奖励自适应风力发电机功率控制方法的动作网络及其目标网络的结构示意图;
[0065]
图7为本发明的奖励自适应风力发电机功率控制方法的评价网络及其目标网络的结构示意图;
[0066]
图8为本发明的外部奖励计算网络的结构及参数调整示意图;
[0067]
图9为本发明的内部奖励计算模型的结构示意图;
[0068]
图中,风速采集系统1,风机信息采集模块2,风机有效风速估计模块3,风机运行状态判断模块4,输入数据处理模块5,风机功率控制模块6,输出数据处理模块7,控制输出计算子模块61。
具体实施方式
[0069]
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0070]
实施例1:
[0071]
本发明提供一种奖励自适应风力发电机功率控制方法,方法的流程图如图1所示。本发明的方法包括以下步骤:
[0072]
s1、获取t时刻的风机数据和t时刻的有效风速预测值,风机数据包括风轮叶片偏转、风轮叶片扭转、风轮叶片桨距角、风轮气动功率、风轮角速度和风机发电功率。
[0073]
s2、将t时刻的风机数据和t时刻的有效风速预测值输入训练好的基于lstm的有效风速估计模型,得到t时刻的有效风速估计值。
[0074]
s3、基于t时刻的有效风速估计值和风机发电功率判断t时刻的运行状态,得到运行状态标记值。
[0075]
s4、将t时刻的风轮气动功率、风轮角速度、有效风速估计值和运行状态标记值进行转换操作,得到第一网络的输入,第一网络基于深度确定性策略梯度算法构建,将第一网络的输入和t-1时刻的训练经验结合,得到t时刻的训练经验,将t时刻的训练经验存入第一网络的经验池中。
[0076]
s5、对第一网络进行训练,得到训练完成的第一网络,基于训练完成的第一网络得到t时刻的第一网络的输出和t时刻的单步奖励,将单步奖励作为奖励信号存入第一网络的经验池中。
[0077]
s6、将t时刻的第一网络的输出转化为风力发电系统的控制输入信号,基于控制输入信号对风力发电机进行功率控制。
[0078]
s7、确定功率控制过程中的经验池,从功率控制过程中的经验池中获取第二小批量训练集,基于第二小批量训练集更新第一网络的参数,更新完成后执行s8。
[0079]
s8、将t时刻更新为t+1时刻,返回s1。
[0080]
其中,s1的原理和具体步骤如下:
[0081]
s1中,t时刻的风机数据包括以下信息:风力发电机的风轮叶片偏转u(t)、风轮叶片扭转γ(t)、风轮叶片桨距角β(t)、风轮气动功率pa(t)、风轮角速度ω(t)和风机发电功率pg(t);其中,t表示采样时间。s1中采集的还包括基于风速采集系统采集的风场的风速数据,作为风场的实时入流风速值v(t)。
[0082]
s1的具体步骤为:
[0083]
s11、基于测量仪器获取风轮叶片偏转u(t),其中风轮叶片偏转u(t)包括叶片叶尖挥舞位移u
x
(t)、叶片叶尖边缘位移uy(t)、叶片径向位移uz(t),即u(t)={u
x
(t),uy(t),uz(t)};其中,下标x,y,z表示以空间坐标方向区别叶片不同方向的偏转。
[0084]
s12、基于测量仪器获取风轮叶片扭转γ(t)、风轮叶片桨距角β(t)、风轮气动功率pa(t)、风轮角速度ω(t)和风机发电功率pg(t);其中,pa整体表示气动功率,下标a表示风轮气动功率是基于空气动力学计算,pg(t)整体表示发电功率,下标g表示英文generator(发电机)。同时获取有效风速预测值v
p
(t-10。
[0085]
风速采集系统还通过风速测量仪器采集风场实时风速,取多个测量值的平均值作为入流风速v(t),t表示采样时间。
[0086]
s2的原理和具体步骤如下:
[0087]
s2中,将t时刻的风机数据,包括风轮叶片偏转u(t)、风轮叶片扭转γ(t)、风轮叶片桨距角β(t)、风轮气动功率pa(t)、风轮角速度ω(t)和t时的有效风速预测值v
p
(t-1),输入训练好的基于lstm的有效风速估计模型(记为v-net),输入记为xv,通过已训练完成的模型得到t时刻的有效风速估计值ve(t)和下一时刻有效风速预测值v
p
(t)。有效风速估计模型的结构图如图4所示。
[0088]
s2的基于lstm的有效风速估计模型的训练的具体过程包括:
[0089]
s21、基于lstm设计有效风速估计网络;
[0090]
s22、设置训练数据集(nv为dv的样本数,k=1,2,3,
…
,nv),训练数据集包括有效风速估计网络的lstm输入值和lstm目标值。
[0091]
数据集中的样本以风机运行的时间序列进行排列,k为样本序号,变量中的下标v表示对应变量是与v-net有关的变量。
[0092]
以xv={u(k),γ(k),β(k),pa(k),ω(k),v
p
(k-1)}作为lstm输入值,yv(k)为lstm目标值,即当前样本和下一样本的有效风速参考值。
[0093]
经过有效风速估计网络的计算,得到输出值其中,ve(k)整体表示对k样本的有效风速估计值,v
p
(k)整体表示对k+1样本的有效风速预测值,下标e和p分别表示估计和预测,以此将不同风速变量进行区别。
[0094]
s23、设定有效风速估计网络的样本估计误差并基于样本估计误差计算其最小化的目标函数
[0095]
s24、设定有效风速估计网络的更新计算公式。
[0096]
更新计算公式具体为:
[0097]
m(k)=l1m(k-1)+(1l1)g(k),va(k)=l2va(k-1)+(1l2)g2(k),其中,根据经验取参数η=0.001,l1=0.9,l2=0.999,∈=1e-8;g(k)表示第k个样本的损失函数关于参数θ的梯度,其中θ表示v-net的参数集合;m(k)为梯度g(k)的期望,va(k)是g2(k)的期望,是m(k)的偏置矫正,是va(k)的偏置矫正;其中,va整体表示g2(k)的期望,上标a仅做区分作用。
[0098]
上述更新计算公式是采用随机优化算法,随机优化算法具体为经过自适应动量的随机优化算法(adam)优化的反向传播算法;adam算法使用动量以抑制振荡,并使学习率随着时间的流逝而自适应,以此加快神经网络收敛速度。
[0099]
s25、基于训练数据集和有效风速估计网络的更新计算公式训练和更新有效风速估计网络,当训练数据集的训练结束,若样本估计误差的最小化的目标函数ev(k)小于设定的误差阈值εv,则停止更新迭代,得到训练好的基于lstm的有效风速估计模型。
[0100]
s3中,基于t时刻的有效风速估计值ve(t)和风机发电功率pg(t)判断t时刻的运行状态,得到运行状态标记值。
[0101]
s3的运行状态的表达式如下:
[0102][0103]
其中,f={f1,f2}标记不同的运行状态,并以此决定不同的控制区域,使控制算法自适应学习在多种运行情况下达成控制目标。其中,p
g,rate
为额定发电功率,v
rate
为额定风速。
[0104]
s4中,将t时刻的风轮气动功率pa(t)、风轮角速度ω(t)、有效风速估计值ve(t)和运行状态标记值f进行转换操作,得到第一网络的输入xd(t),第一网络基于深度确定性策略梯度算法(ddgp算法)构建,将第一网络的输入xd(t)和t-1时刻的训练经验结合,得到t时刻的训练经验,将t时刻的训练经验存入第一网络的经验池中。第一网络记为d-net。第一网络的结构和参数更新如图5所示。
[0105]
s4的具体步骤为:
[0106]
s41、获取t时刻的风轮气动功率pa(t)、风轮角速度ω(t)、有效风速估计值ve(t)和运行状态标记值f。
[0107]
s42、根据获取的数据得到t时刻的风轮转速参考值ω
opt
(t)。
[0108]
s43、基于s41获取的数据和s42的风轮转速参考值ω
opt
(t)得到t时刻的第一网络的输入xd(t)和的外部奖励计算网络的输入xr(t)。外部奖励计算网络记为re-net。表达式为:
[0109]
xd(t)={δve(t),δpg(t),ωe(t),f(t)}
[0110]
xr(t)={|δve(t)|,|δpg(t)|,|ωe(t)|,f(t)}
[0111]
其中,δve(t)=ve(t)-ve(t-1),δpg=pg(t)-pg(t-1),ωe=ωr(t)-ω
opt
(t)。ω
opt
(t)为t时刻的风轮转速参考值。
[0112]
s44、结合t-1时刻的训练经验,将t时刻的第一网络的输入、t-1时刻的第一网络的输出、t-1时刻的奖励信号以及t-1时刻的第一网络的输入作为t时刻的训练经验存入第一网络的经验池中。
[0113]
t时刻的训练经验的表达式为:{xd(t-1),yd(t-1),r(t-1),xd(t)}。
[0114]
s5中,利用经验池对第一网络d-net进行训练,得到训练完成的第一网络,基于训练完成的第一网络得到t时刻的第一网络的输出yd(t)={δte(t),β(t)}和t时刻的单步奖励r(t),单步奖励作为奖励信号存入第一网络的经验池中。其中,δte(t)为t时发电机转矩调节量。
[0115]
s5的具体步骤包括:
[0116]
s51、基于深度确定性策略梯度算法设计第一网络,第一网络包括动作神经网络、评价神经网络、动作神经网络对应的第一目标网络和评价神经网络对应的第二目标网络。
[0117]
d-net是基于ddpg算法设计的。ddpg算法是为解决连续动作控制提出的深度强化算法,它沿用actor-critic(行动者-评论家,ac)架构,包括动作神经网络(an)和评价神经网络(cn)两个部分,同时使用双网络架构,即每个部分还设有其相应的第一目标网络和第二目标网络(an
′
,cn
′
),即由an、cn、an
′
,cn
′
组成d-net;此外,引入经验回放机制,设立经验池,以此打破序列相关性并重复利用过去的经验,提高了训练的稳定性,加快网络收敛。本发明中,an
′
为第一目标网络,cn
′
为第二目标网络。
[0118]
an
′
是an的复制网络,其网络结构相同,如图6所示,其中observation表示an网络输入层,即d-net 61输入向量xd(t);afc1和afc2为全联接隐藏层,arelu和atanh分别为relu函数激活层和tanh函数激活层。relu函数定义为:f
relu
(x)=max(0,x),tanh函数定义为:an计算网络输出yd(t)公式如下:o
afc1
(t)=w
afc1
(t)
·
xd(t),o
arelu
(t)=f
relu
(o
afc1
(t)),o
afc2
(t)=w
afc2
(t)
·oarelu
(t),yd(t)=tanh(o
afc2
(t)),其中w
afc1
、w
afc2
分别为隐藏层afc1和afc2的权值参数,o
afc1
(t)、o
arelu
(t)、o
afc2
(t)分别为afc1、arelu和afc2隐藏层的输出向量,下标表示对应网络层;
[0119]
同样地,cn
′
是cn的复制网络,其结构如图7所示,其中action表示an网络输出yd(t),cfc1、cfc2和cfc3为全联接隐藏层,crelu1、crelu2为relu函数激活层,定义与arelu相同;cn评价网络计算q
μ
(t)公式如下:o
cfc1
(t)=w
cfc1
(t)
·
xd(t),o
crelu1
(t)=f
relu
(o
cfc1
(t)),o
cfc3
(t)=w
cfc3
(t)
·
yd(t),i
add
(t)=[i
crelu1
(t),o
cfc3
(t)],o
crelu2
(t)=f
relu
(o
add
(t)),q
μ
(t)=w
cfc2
(t)
·ocrelu2
(t),其中w
cfc1
、w
cfc2
和w
cfc3
分别为隐藏层cfc1、cfc2和cfc3的权值参数,o
cfc1
(t)、o
crelu1
(t)、o
cfc3
(t)、o
add
和o
crelu2
分别为cfc1、crelu1、cfc3、add和crelu2层的输出向量,下标表示对应网络层。
[0120]
s52、通过模拟湍流风速环境序列对s51中设计得到的网络进行预训练,预训练的具体步骤为:获取序列中序号为k的第一网络的输入,将该输入作为动作神经网络的输入向量,得到输出动作,将动作神经网络的输入向量和输出动作作为评价神经网络的输入向量,获取下一序号的第一网络的输入,该输入的序号为k+1,将该输入作为第一目标网络的输入向量,得到预测输出动作,将第一目标网络的输入向量和预测输出动作作为第二目标网络的输入向量,完成预训练。
[0121]
模拟湍流风速环境序列的表达式为:(nd为风速采样点数量,k=1,2,3,...,nd)预训练d-net,以系统状态额定值为训练初始值;vd以风机运行的时间序列进行排列,k为风速采样样本序号,变量中的下标d表示对应变量是与d-net有关的变量,下同。
[0122]
获取序列中第一网络的输入xd(k),xd(k)作为d-net中an的输入向量,得到输出动作yd(k)=μ(xd(k)|θ
μ
)={δte(k),β(k)},μ为动作函数,θ
μ
是an的网络参数;其中,δte(k)表示k样本的发电机转矩调节量,β(k)表示k样本的桨距角大小。
[0123]
将{xd(k),yd(k)}作为cn的输入向量,得到输出动作yd(k)的价值函数为θq是cn的网络参数,即θq={w
cfc1
,w
cfc2
,w
cfc3
}。
[0124]
再将下一序号的第一网络的输入xd(k+1)作为an
′
的输入向量,预测k+1的输出动作y
′d(k+1)=μ
‘
(xd(k+1)|θ
‘
μ
),μ
‘
用来拟合动作函数μ,θ
‘
μ
是an
′
的网络参数,即θ
‘
μ
={w
‘
afc1
,w
‘
afc2
};再将{xd(k+1),y
′d(k+1)}为cn
′
的输入向量,q
′
μ
为q
μ
的拟合值,θ
‘q为cn
′
的网络参数,即θq={w
‘
cfc1
,w
‘
cfc2
,w
‘
cfc3
}。
[0125]
s53、构建外部奖励计算模型和内部奖励计算模型,外部奖励计算模型包括奖励动作网络和奖励评价网络,并计算外部奖励;。
[0126]
基于内部奖励计算模型对s52中序号为k的输入和序号为k+1的输入进行特征提取,得到两个输入分别对应的状态特征,设置前向网络,前向网络基于s52的输出动作和序号为k的输入的状态特征,预测出序号为k+1的输入的第一特征,同时学习一个特征网络,特征网络提取与s52中的序号为k的输入和输出动作有关的特征。
[0127]
s53中,外部奖励计算模型记为re-net,基于ac架构构建,内部奖励计算模型记为ri-net,基于内部好奇心奖励机制构建。re-net的ac架构由基于rbf(径向基神经网络)的action(动作)网络(记为re_an,即奖励动作网络)和基于bp(反向传播神经网络)的critic(评价)网络(记为re_cn,即奖励评价网络)组成。其具体结构如图8所示。
[0128]
以s4中的外部奖励计算网络的输入xr(k)={|δve(k)|,δpg(k)|,|ωe(k)|,f(k)}作为re-an的输入向量,经re-an计算得到外部奖励re(k);然后,以{xr(k),re(k)}作为re_cn的输入向量,经re_cn计算得到re_an输出re(k)的累积回报预测值jc(k);设rc为re-net的强化信号,根据风力发电控制结果,以“0”和
“‑
1”分别表示“成功”和“失败”。
[0129]
ri-net用函数φ对xd(k)和xd(k+1)进行特征提取,得到状态特征表示φ(xd(k))和φ(xd(k+1));通过前向网络f基于动作yd(k)和φ(xd(k))预测xd(k+1)的特征表示同时学习一个特征网络g,提取xd中与yd有关的特征,获取动作预测值pk以此过滤环境中的无关噪音,其具体结构如图9所示。
[0130]
ri-net中的φ函数定义为net中的φ函数定义为为一个全职矩阵;前向网络f和特征网络g同样由三层的bp神经网络组成,其计算公式分别为:是k样本f网络输入层节点到隐藏层节点的权值,是k样本f网络隐藏层节点到输出层节点的权值,为f网络隐藏层节点的输出;同理,的输出;同理,是k样本g网络输入层节点到隐藏层节点的权值,是k样本g网络隐藏层节点到输出层节点的权值,为g网络隐藏层节点的输出。
[0131]
外部奖励re(k)计算公式如下:(k)计算公式如下:其中,dist(k)是re_an的输入向量与径向基函数之间的距离,n
a,h
为re_an的隐藏层神经元数量,c
a,i
(k)为re_an第i个隐藏神经元的径向基函数中心,σ
a,i
(k)为re_an第i个隐藏神经元的径向基函数宽度,w
a,i
(k)为re_an第i个隐藏神经元至输出层的权值;re_cn为三层的bp神经网络,包含输入层、输出层和一个隐藏层,jc(k)计算公式为:
[0132][0133][0134][0135]
其中是k样本re_cn第i个输入层节点到第j个隐藏层节点的权值,是k样本re_cn第i个隐藏层节点到输出层节点的权值;qi(k)是re_cn第i个隐藏层节点输入;pi(k)是re_cn第i个隐藏层节点的输出;n
c,h
是re_cn隐藏层节点总数;n+1是re_cn输入的总数包括re_an的输出re(k),在本发明的实施例中,n为5;xj(k)=[xr(k),re(k)}。
[0136]
s54、根据时间差分算法,设计外部奖励计算模型的训练过程,设置奖励评价网络的预测误差和最小化函数。
[0137]
设定re_cn的预测误差定义为ec(m)=αjc(m)-[jc(m-1)-rc(k)],α为折扣因子;设定re_cn的待最小化的目标函数定义为:m表示迭代次数;j(m)为第m次迭代后,仍将{xr(k),ri(k)}作为re_cn的输入,由re_cn输出的结果。
[0138]
s55、基于最小化函数设置奖励评价网络的权值更新规则,基于该权值更新规则迭代更新奖励评价网络的权值,当迭代的次数达到预设的奖励评价网络的更新上限值,或奖励评价网络的预测误差小于预设的第一误差阈值,停止迭代,完成对奖励评价网络的训练,将此时的奖励评价网络的输出输入到奖励动作网络。
[0139]
re_cn权值更新规则为:wc(m+1)=wc(m)+δwc(m),根据re_cn权值更新规则迭代更新re_cn权值;其中,wc(m)是re_cn权值在第m次迭代的结果,δwc(m)是第m次迭代时re_cn权值的改变值,lc是re_cn学习步长;当迭代次数m达到设定的re_cn更新上限值,或者re_cn的预测误差ec(m)小于设定的第一误差阈值εc,停止迭代;re_cn将j(m)作为j(k)输出至re_an。
[0140]
s56、基于s55中奖励评价网络的输出设置奖励动作网络的预测误差,设置奖励动作网络的权值更新规则,基于该权值更新规则迭代更新奖励动作网络的权值,当迭代的次数达到预设的奖励动作网络的更新上限值,或奖励动作网络的预测误差小于预设的第二误差阈值,停止迭代,此时奖励动作网络的输出为更新的外部奖励。
[0141]
设定re_an的预测误差为:ea(m)=j(k)-uc(m),其中uc(m)为re_an的最终期望值,其取值为0;设定re_an的目标函数为:设定re_an权值更新规则为:ca(m+1)=ca(m)-δca(m),σa(m+1)=σa(m)-δσa(m),wa(m+1)=wa(m)-δwa(m),根据re_an权值更新规则迭代更新re_an权值;其中,ca(m)和σa(m)分别为第m次迭代时re_an隐藏神经元径向基函数φa(
·
)的中心和宽度,δca(m)和δσa(m)是第m次迭代时中心和宽度的改变值;wa(m)为第m次迭代时re_an隐藏层到输出层的全连接层权值矩阵,δwa(m)是权值矩阵的改变
值;具体更新公式为:值;具体更新公式为:值;具体更新公式为:其中,la是re_an的学习步长,(
·
)表示φa是函数变量;当迭代次数m达到设定的re_an更新上限值,或者re_an的预测误差ea(m)小于设定的第二误差阈值εa,停止迭代;将xr(k)作为re_an的输入,通过re_an输出更新的外部奖励re(k)。
[0142]
s57、计算内部奖励计算模型的前向网络的预测误差和特征网络的预测误差。
[0143]
设定ri-net前向网络f的预测误差为其待最小化目标函数为特征网络g的预测误差为eg(m)=pk(m)-yd(k),其待最小化目标函数为其中m表示迭代次数,为第m次迭代后,仍将{φ(xd(k)),yd(k)}作为f的输入,由f输出的结果;pk(m)为第m次迭代后,仍将{φ(xd(k)),φ(xd(k+1))}作为g的输入,由g输出的结果。
[0144]
s58、设置前向网络和特征网络的权值更新规则,基于两个网络的权值更新规则分别迭代更新前向网络和特征网络,当迭代次数达到预设的前向网络和特征网络的更新上限值,或前向网络的预测误差小于预设的第三误差阈值且特征网络的预测误差小于预设的第四误差阈值,停止迭代更新,基于此时的前向网络的输出得到内部奖励,基于外部奖励和内部奖励得到总的单步奖励,将单步奖励作为奖励信号存入第一网络的经验池中。
[0145]
设定f和g的权值更新规则为:wf(m+1)=wf(m)+δwf(m)、wg(m+1)=wg(m)+δwg(m);根据权值更新规则迭代更新f和g的网络权值;其中,wf(m)、wg(m)分别是f和g的权值在第m次迭代的结果,δwf(m)、δwg(m)是第m次迭代时f和g权值的改变值,(m)是第m次迭代时f和g权值的改变值,(m)是第m次迭代时f和g权值的改变值,lf、lg分别是前向网络f和特征网络g的学习步长;当迭代次数m达到设定f和g的更新上限值,或者f的预测误差ef(m)小于设定的误差阈值εf,g的预测误差eg(m)小于设定的误差阈值εg,停止迭代;f将输出,根据计算内部奖励,ηr>0为比例因子;得到总奖励r(k)=re(k)+ri(k);将经验{xd(k),yd(k),r(k),xd(k+1)}存入训练经验池中。
[0146]
re-net和ri-net权值更新规则是根据反向传播算法得来的;反向传播算法是适合于多层神经元网络的一种学习算法,它主要由两个环节(激励传播、权重更新)反复循环迭代,逐层求出目标函数对各神经元权值的偏导数,构成目标函数对权值向量的梯量,作为修改权值的依据,直到网络的对输入的响应达到预定的目标范围为止。定理如下:若函数u=φ(x)及v=ψ(x)都在点x可导,函数z=f(u,v)在对应点(u,v)具有连续偏导数,则符合函数z=f[φ(x),ψ(x)]在对应点x可导,且其导数可用下列公式计算:
[0147]
s59、从经验池中获取第一小批量训练集,设定动作神经网络的参数更新规则,设定后,基于随机优化算法,采用s24的更新计算公式对第一网络进行更新,得到训练完成的第一网络,得到t时刻的第一网络的输出。
[0148]
从训练经验池中选取nq个经验样本,得到第一小批量训练集:
[0149][0150]
根据步骤s52,设定cn的参数更新规则,其待最小化损失函数为:
[0151][0152]
其中yi=r(i)+γqq
′
μ
(xd(i+1),μ
‘
(xd(i+1)|θ
μ
‘
)|θ
‘q),γq为cn的折扣因子;根据cn的参数更新规则,设定an的动作(策略)梯度为cn的参数更新规则,设定an的动作(策略)梯度为
[0153]
其中,表示动作累计回报期待值,参数更新以最大化j(μ)为目标;目标网络an
′
、cn
′
以滑动平均方式进行参数更新,其设定为:θ
‘q=τθq+(1τ)θ
‘q、θ
‘
μ
=τθ
μ
+(1τ)θ
‘
μ
,τ为训练因子。
[0154]
采用随机优化算法对an、cn、an
′
、cn
′
进行参数更新,即根据步骤s24中的公式进行更新,其中θ={θ
μ
,θq,θ
‘
μ
,θ
‘q}。
[0155]
s6中,风力发电系统的控制输入信号为{te(t),β9t)}。其中,发电机转矩te9t)=te(t-1)+δte(t),β(t)=β(t)。
[0156]
s7中,确定功率控制过程中的经验池,从功率控制过程中的经验池中获取第二小批量训练集:
[0157]
{xd(i),yd(i),r(i),xd(i+1)}(i=1,2,
…
,nq)
[0158]
基于第二小批量训练集在线更新第一网络的参数,更新完成后执行s8。
[0159]
s7的具体步骤包括:
[0160]
s71、确定功率控制过程中的经验池,其经验池是在控制风力发电系统过程中,由t为风力发电系统运行时间)组成;
[0161]
s72、从功率控制过程中的经验池中选取nq个经验样本,获取第二小批量训练集根据s54的训练方法,基于第二小批量训练集对第一网络的参数进行在线更新。
[0162]
本发明的方法可以采用一种奖励自适应风力发电机功率控制的系统实现。系统的结构示意图如图2所示。系统包括风速采集系统、风机信息采集模块、风机有效风速估计模块、风机运行状态判断模块、输入数据处理模块、风机功率控制模块和输出数据处理模块,具体如下:
[0163]
风速采集系统1,采集风场风速值;
[0164]
风机信息采集模块2,连接风力发电机,用于采集风轮叶片偏转、风轮叶片扭转、风轮叶片桨距角、风轮气动功率、风轮角速度和风机发电功率;其中,风轮叶片偏转包括叶尖挥舞位移、叶尖边缘位移、叶片径向位移;
[0165]
风机有效风速估计模块3,为深度学习模块,是由经过学习训练的基于lstm(长短期记忆网络)的有效风速估计模型组成;其信号连接风机信息采集模块,首先根据采集的风轮叶尖偏转、风轮叶片扭转数据、风轮叶片桨距角、风轮角速度、风场风速、风轮气动功率和前一时刻有效风速值估计风机当前有效风速和预测下一时刻有效风速;
[0166]
风机运行状态判断模块4,连接风机信息采集模块和风机有效风速估计模块,根据估计的有效风速和采集得到的风机发电功率判断风力发电系统运行状态,并输出运行状态标记值;
[0167]
输入数据处理模块5,其信号连接风机信息采集模块、风机有效风速估计模块和风机运行状态判断模块,处理采集的风机信息、估计的有效风速和运行状态标记值,得到设计的输入向量;
[0168]
风机功率控制模块6,为深度强化学习模块,是经过训练的基于ddpg的奖励自适应模型,包括基于双actor-critic(行动者-评论家,ac)结构的控制输出计算子模块和奖励信号自适应计算子模块;其中,奖励信号用于控制输出计算子模块的参数更新;风机功率控制模块信号连接输入数据处理模块,根据数据处理后得到各子模块的输入向量,经过计算控制输出和单步奖励信号;
[0169]
输出数据处理模块7,连接风机功率控制模块,将输出的控制向量转换成风力发电系统的控制输入信号。
[0170]
采用上述系统时,模块的工作原理如下:风机有效风速估计模块3利用风机信息采集模块2采集的系统状态信息、风速采集系统1采集的风场风速和前一时刻有效风速值估计风机当前有效风速和预测下一时刻有效风速;其次,通过风机运行状态判断模块4得到风机运行状态标记值;接着,将系统状态信息、有效风速估计值和风机运行状态标记值通过输入数据处理模块5,得到风机功率控制模块6输入向量;然后,风机功率控制模块6计算系统控制输出,并通过经验池进行在线更新控制输出计算子模块(d-net)61的网络参数;最后,将控制输出通过输出数据处理模块7,得到系统控制信号对风力发电机进行功率控制。
[0171]
图3为风能利用系数的函数曲线图,其中,虚线表示桨距角为0时叶尖速比与风能利用系数之间的映射关系,点线表示桨距角为5时的映射关系,单点虚线表示桨距角为15时的映射关系,双点虚线表示桨距角为20时的映射关系。
[0172]
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
技术特征:
1.一种奖励自适应风力发电机功率控制方法,其特征在于,包括以下步骤:s1、获取t时刻的风机数据和t时刻的有效风速预测值,所述风机数据包括风轮叶片偏转、风轮叶片扭转、风轮叶片桨距角、风轮气动功率、风轮角速度和风机发电功率;s2、将t时刻的风机数据和t时刻的有效风速预测值输入训练好的基于lstm的有效风速估计模型,得到t时刻的有效风速估计值;s3、基于t时刻的有效风速估计值和风机发电功率判断t时刻的运行状态,得到运行状态标记值;s4、将t时刻的风轮气动功率、风轮角速度、有效风速估计值和运行状态标记值进行转换操作,得到第一网络的输入,所述第一网络基于深度确定性策略梯度算法构建,将第一网络的输入和t-1时刻的训练经验结合,得到t时刻的训练经验,将t时刻的训练经验存入第一网络的经验池中;s5、对第一网络进行训练,得到训练完成的第一网络,基于训练完成的第一网络得到t时刻的第一网络的输出和t时刻的单步奖励,将所述单步奖励作为奖励信号存入第一网络的经验池中;s6、将t时刻的第一网络的输出转化为风力发电系统的控制输入信号,基于控制输入信号对风力发电机进行功率控制;s7、确定功率控制过程中的经验池,从功率控制过程中的经验池中获取第二小批量训练集,基于第二小批量训练集更新第一网络的参数,更新完成后执行s8;s8、将t时刻更新为t+1时刻,返回s1。2.根据权利要求1所述的一种奖励自适应风力发电机功率控制方法,其特征在于,s1的具体步骤包括:s11、基于测量仪器获取风轮叶片偏转,所述风轮叶片偏转包括叶片叶尖挥舞位移、叶片叶尖边缘位移和叶片径向位移;s12、基于测量仪器获取风轮叶片扭转、风轮叶片桨距角、风轮气动功率、风轮角速度和风机发电功率,同时获取有效风速预测值。3.根据权利要求1所述的一种奖励自适应风力发电机功率控制方法,其特征在于,s2的基于lstm的有效风速估计模型的训练的具体过程包括:s21、基于lstm设计有效风速估计网络;s22、设置训练数据集,所述训练数据集包括有效风速估计网络的lstm输入值和lstm目标值;s23、设定有效风速估计网络的样本估计误差,并基于样本估计误差计算其最小化的目标函数;s24、设定有效风速估计网络的更新计算公式;s25、基于训练数据集和有效风速估计网络的更新计算公式训练和更新有效风速估计网络,当训练数据集的训练结束,若样本估计误差的最小化的目标函数小于设定的误差阈值,则停止更新迭代,得到训练好的基于lstm的有效风速估计模型。4.根据权利要求3所述的一种奖励自适应风力发电机功率控制方法,其特征在于,s4的具体步骤为:s41、获取t时刻的风轮气动功率、风轮角速度、有效风速估计值和运行状态标记值;
s42、根据获取的数据得到t时刻的风轮转速参考值;s43、基于s41获取的数据和s42的风轮转速参考值得到t时刻的第一网络的输入和的外部奖励计算网络的输入;s44、结合t-1时刻的训练经验,将t时刻的第一网络的输入、t-1时刻的第一网络的输出、t-1时刻的奖励信号以及t-1时刻的第一网络的输入作为t时刻的训练经验存入第一网络的经验池中。5.根据权利要求3所述的一种奖励自适应风力发电机功率控制方法,其特征在于,s5的具体步骤为:s51、基于深度确定性策略梯度算法设计第一网络,所述第一网络包括动作神经网络、评价神经网络、动作神经网络对应的第一目标网络和评价神经网络对应的第二目标网络;s52、通过模拟湍流风速环境序列对s51中设计得到的网络进行预训练,预训练的具体步骤为:获取序列中序号为k的第一网络的输入,将该输入作为动作神经网络的输入向量,得到输出动作,将动作神经网络的输入向量和输出动作作为评价神经网络的输入向量;获取下一序号的第一网络的输入,该输入的序号为k+1,将该输入作为第一目标网络的输入向量,得到预测输出动作,将第一目标网络的输入向量和预测输出动作作为第二目标网络的输入向量,完成预训练;s53、构建外部奖励计算模型和内部奖励计算模型,外部奖励计算模型包括奖励动作网络和奖励评价网络,并计算外部奖励;基于内部奖励计算模型对s52中序号为k的输入和序号为k+1的输入进行特征提取,得到两个输入分别对应的状态特征,设置前向网络,所述前向网络基于s52的输出动作和序号为k的输入的状态特征,预测出序号为k+1的输入的第一特征,同时学习一个特征网络,所述特征网络提取与s52中的序号为k的输入和输出动作有关的特征;s54、根据时间差分算法,设计外部奖励计算模型的训练过程,设置奖励评价网络的预测误差和最小化函数;s55、基于最小化函数设置奖励评价网络的权值更新规则,基于该权值更新规则迭代更新奖励评价网络的权值,当迭代的次数达到预设的奖励评价网络的更新上限值,或奖励评价网络的预测误差小于预设的第一误差阈值,停止迭代,完成对奖励评价网络的训练,将此时的奖励评价网络的输出输入到奖励动作网络;s56、基于s55中奖励评价网络的输出设置奖励动作网络的预测误差,设置奖励动作网络的权值更新规则,基于该权值更新规则迭代更新奖励动作网络的权值,当迭代的次数达到预设的奖励动作网络的更新上限值,或奖励动作网络的预测误差小于预设的第二误差阈值,停止迭代,此时奖励动作网络的输出为更新的外部奖励;s57、计算内部奖励计算模型的前向网络的预测误差和特征网络的预测误差;s58、设置前向网络和特征网络的权值更新规则,基于两个网络的权值更新规则分别迭代更新前向网络和特征网络,当迭代次数达到预设的前向网络和特征网络的更新上限值,或前向网络的预测误差小于预设的第三误差阈值且特征网络的预测误差小于预设的第四误差阈值,停止迭代更新,基于此时的前向网络的输出得到内部奖励,基于更新的外部奖励和内部奖励得到总的单步奖励,将单步奖励作为奖励信号存入第一网络的经验池中;
s59、从经验池中获取第一小批量训练集,设定动作神经网络的参数更新规则,设定后,基于随机优化算法,采用s24的更新计算公式对第一网络进行更新,得到训练完成的第一网络,得到t时刻的第一网络的输出。6.根据权利要求5所述的一种奖励自适应风力发电机功率控制方法,其特征在于,随机优化算法具体为经过自适应动量的随机优化算法优化的反向传播算法。7.根据权利要求6所述的一种奖励自适应风力发电机功率控制方法,其特征在于,s7的具体步骤为:s71、确定功率控制过程中的经验池;s72、从功率控制过程中的经验池中获取第二小批量训练集,所述第二小批量训练集由经验池中的经验样本构成,根据s54的训练方法,基于第二小批量训练集对第一网络的参数进行在线更新。8.根据权利要求5所述的一种奖励自适应风力发电机功率控制方法,其特征在于,s3的运行状态的表达式如下:其中,f1和f2是不同的两种运行状态,p
g
为风机发电功率,v
e
为有效风速估计值,p
g,rate
为额定发电功率,v
rate
为额定风速。9.根据权利要求5所述的一种奖励自适应风力发电机功率控制方法,其特征在于,外部奖励的表达式为:其中,r
e
(k)为外部奖励,dist(k)是奖励动作网络的输入向量与径向基函数之间的距离,φ
a
为径向基函数,n
a,h
为奖励动作网络的隐藏层神经元数量,w
a,i
(k)为奖励动作网络第i个隐藏神经元至输出层的权值,i为隐藏层神经元序号。10.根据权利要求5所述的一种奖励自适应风力发电机功率控制方法,其特征在于,所述奖励评价网络为三层的bp神经网络,包含输入层、输出层和一个隐藏层。
技术总结
本发明涉及一种奖励自适应风力发电机功率控制方法,包括以下步骤:S1、获取风机数据和有效风速预测值;S2、将风机数据和有效风速预测值输入训练好的有效风速估计模型,得到有效风速估计值;S3、判断运行状态;S4、转换得到第一网络的输入,进而得到训练经验,存入第一网络的经验池中;S5、基于训练完成的第一网络得到第一网络的输出和单步奖励;S6、转化得到风力发电系统的控制输入信号,基于控制输入信号对风力发电机进行功率控制;S7、基于第二小批量训练集更新第一网络的参数,更新完成后执行S8;S8、更新时刻,返回S1。与现有技术相比,本发明具有稳定风力发电功率,减少风轮负荷和机组损耗等优点。损耗等优点。损耗等优点。
技术研发人员:陈芃 韩德志
受保护的技术使用者:上海海事大学
技术研发日:2023.02.01
技术公布日:2023/6/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:基于随机分布控制的风能发电系统最大功率跟踪控制方法 下一篇:一种形状记忆合金驱动器
