发明内容
本发明提供一种锂离子电池剩余寿命间接预测方法及装置,无需复杂的参数计算就能够进行在线实时的长期预测,同时能够减少误差、提高预测精度。
本发明提供的一种锂离子电池剩余寿命间接预测方法,包括:
步骤S1,采集锂离子电池监测数据,提取出锂离子电池容量序列以及若干组等时间电压差序列,并将所述容量序列和所述等时间电压差序列归一化;
步骤S2,对所述归一化的等时间电压差序列和容量序列进行相关性分析,选择与所述容量序列相关性最好的一组等时间电压差序列作为归一化的健康因子序列;
步骤S3,根据所述归一化的容量序列以及所述归一化的健康因子序列,构建基于回声状态网络的锂离子电池健康状态估计模型;
步骤S4,根据所述归一化的健康因子序列,构建基于长短时记忆神经网络的健康因子预测模型,计算出未来循环周期的健康因子;
步骤S5,将所述未来循环周期的健康因子输入所述锂离子电池健康状态估计模型,得到未来循环周期容量的估计值,将所述未来循环周期容量的估计值反归一化得到未来循环周期容量的真实值,完成锂离子电池剩余寿命的预测。
式中,c(k)表示容量序列,
为容量序列中的最小值,
为容量序列中的最大值;u(k)表示等时间电压差序列,
为等时间电压差序列中的最小值,
为等时间电压差序列中的最大值。
所述步骤S2中的相关性分析包括灰度关联性分析、皮尔森系数相关性分析以及斯皮尔曼等级相关性分析。
所述步骤S3包括:
步骤S31,将所述归一化的容量序列按一定长度划分为容量训练集和容量测试集,将所述健康因子序列按一定长度划分为健康因子训练集和健康因子测试集;
步骤S32,配置回声状态网络的四个超参数:储备池处理单元个数、谱半径、储备池输入伸缩尺度以及输入单元位移;
步骤S33,将所述健康因子训练集输入回声状态网络,所述容量训练集作为输出,训练回声状态网络模型的输出权重矩阵;
步骤S34,将所述健康因子测试集输入训练后的回声状态网络模型,得到容量估计值,将所述容量估计值反归一化后,计算所述反归一化后的容量估计值与容量测试集真实值的误差;
步骤S35,重复步骤S32-步骤S34,当容量估计值与容量测试集的误差最小时,保存所述输出权重矩阵,得到锂离子电池健康状态估计模型。
所述锂离子电池健康状态估计模型包括单工况锂离子电池健康状态估计模型以及多工况锂离子电池健康状态估计模型。
所述步骤S4包括:
步骤S41,将所述归一化的健康因子序列按一定长度划分为健康因子训练集和健康因子测试集,将所述健康因子训练集处理成LSTM网络的输入格式;
步骤S42,构建LSTM神经网络模型;
步骤S43,将构建好的LSTM神经网络模型在所述健康因子训练集上进行训练,得到健康因子预测模型;
步骤S44,通过多步迭代划窗法得到未来周期健康因子的预测值;
所述步骤S41中将所述健康因子训练集处理成LSTM网络的输入格式的方法为:选取健康因子预测输出长度为L,以第1个到第L个循环周期的健康因子作为输入,第2个到第L+1个循环周期的健康因子作为输出,按顺序将输入输出依次递推构建若干个数据集。
所述步骤S43中LSTM神经网络模型的训练方法为:将所述第1个到第L个循环周期构建的L长度的健康因子序列作为模型输入,所述第2个到第L+1个循环周期构建的L长度的健康因子序列作为模型输出,选取均方根误差作为损失函数,通过梯度下降算法进行训练,最终构建起第1个到第L个循环周期与第2个到第L+1个循环周期两个健康因子序列关系的LSTM神经网络模型。
所述步骤S44中的多步迭代划窗法为:选取所述健康因子训练集的最后L个数据输入健康因子预测模型,得到L个输出,选取L个输出的最后一个值作为预测的第一个值;然后将划窗向前移动一步,将预测的第一个值加入划窗构成L个数据预测下一个值。
一种锂离子电池剩余寿命预测装置,其特征在于,包括:
数据预处理单元,对电池管理系统采集的锂离子电池监测数据进行提取,提取出锂离子电池容量序列以及若干组等时间电压差序列;
健康因子提取单元,对提取出的容量序列以及若干组等时间电压差序列归一化,并进行相关性分析,选择与容量序列相关性最好的一组等时间电压差序列作为归一化的健康因子序列;
健康状态估计单元,根据所述归一化的容量序列以及所述归一化的健康因子序列,构建基于回声状态网络的锂离子电池健康状态估计模型;
健康因子预测单元,根据所述归一化的健康因子序列,构建基于长短时记忆神经网络的健康因子预测模型,计算出未来循环周期的健康因子;
剩余寿命预测单元,将所述未来循环周期健康因子输入锂离子电池健康状态估计模型,得到容量估计值。
本发明从监测数据中分析可以表征容量退化的健康因子,并通过相关性分析验证了健康因子的有效性,证明了等时间电压差可以较好的表征容量。其次,本发明基于回声状态网络算法(ESN),根据现实的使用情况,在多工况和单工况两种情况下,对健康因子和容量建立锂离子电池的健康状态估计模型,通过建立的模型输入健康因子即可得到容量健康状态准确估计。同时,本发明还基于长短时记忆网络算法建立健康因子预测模型,通过多步迭代划窗法对健康因子进行长期的预测,从而实现锂离子电池剩余寿命的在线间接预测,能够在剩余寿命达到失效之前进行及时更换与维修,保证锂离子电池的正常运行,提升锂离子电池剩余寿命的预测精度。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合附图对本发明的较佳实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明的一种锂离子电池剩余寿命间接预测方法,如图1所示,包括:
步骤S1,由电池管理系统(BMS)采集锂离子电池监测数据,提取出锂离子电池容量序列C={c(k)|k=1,2,3…,n}以及锂离子电池在恒流充电模式下的监测时间和监测电压,然后选取一定时间间隔的电压求取电压差,构建若干组等时间电压差序列U={u(k)|k=1,2,3…,n},其中,n为锂离子电池充放电循环周期的总周期数。
为了分析等时间电压差与电池容量间的相关性,需要对等时间电压差和电池容量进行无量纲化处理,即将等时间电压差序列和容量序列进行归一化,如式(1)所示,从而将等时间电压差序列和容量序列缩放在0~1的区间范围内。
式中,
表示归一化的等时间电压差序列,
为等时间电压差序列中的最小值,
为等时间电压差序列中的最大值,
表示归一化的容量序列,
为容量序列中的最小值,
为容量序列中的最大值。
步骤S2,对归一化后的等时间电压差序列和容量序列进行灰度关联性分析、皮尔森系数相关性分析以及斯皮尔曼等级相关性分析,选择与容量序列相关性最好的一组等时间电压差序列作为归一化的健康因子序列
其中,灰度相关性系数按照公式(2)计算:
式中,ρ为分辨系数,0<ρ<1,ρ越大,关联系数间差异越大,区分能力越强,通常取ρ=0.5。因为关联系数是各个时段归一化的等时间电压差序列与归一化的容量序列的关联程度值,所以需要对求得的灰度关联系数求均值得到两序列之间最终的关联度r1,如公式(3)所示:
式中,n为锂离子电池充放电循环周期的总周期数。关联度r1越接近于1,序列相关性越好。
皮尔森系数相关性按照公式(4)计算:
式中,
表示归一化的等时间电压差序列,
表示归一化等时间电压差序列的平均值,
表示归一化的容量序列,
表示归一化容量序列的平均值,n为锂离子电池充放电循环周期的总周期数。皮尔森相关系数r
2是衡量两变量线性相关的程度的统计量,为两变量之间的协方差与标准差之商。相关系数r
2∈[-1,1],|r
2|越接近于1,说明两变量之间的线性相关程度越强,r
2>0代表两变量正相关,r
2<0代表两变量负相关。
斯皮尔曼等级相关性系数按照公式(5)计算:
式中,
表示归一化的等时间电压差序列,
表示归一化的容量序列,n为锂离子电池充放电循环周期的总周期数。斯皮尔曼等级相关系数r
3是衡量两变量之间是否严格单调的相关性指标,相关系数r
3∈[-1,1],|r
3|越接近于1说明两变量之间的单调相关程度越强,r
3>0代表单调上升,r
3<0代表单调下降。
步骤S3,根据归一化的容量序列
以及归一化的健康因子序列
构建基于回声状态网络的锂离子电池健康状态估计模型。如图2所示,具体包括:
步骤S31,将归一化的容量序列
按一定长度划分为容量训练集和容量测试集,将归一化的健康因子序列
按一定长度划分为健康因子训练集和健康因子测试集。
步骤S32,配置回声状态网络的四个超参数:储备池处理单元个数M,谱半径SR,储备池输入伸缩尺度IS以及输入单元位移IF。
回声状态网络的训练是通过输入健康因子序列驱动随机且固定的递归神经网络,从而在储藏层的每个神经元感应出非线性响应的信号,通过这些感应出的信号训练出容量估计的线性组合,回声状态网络的系统方程式为:
x(t+1)=f(Wx(t)+Winu(t+1)+Wfby(t)) (6)
式中,x(t)是在t时刻M维的储藏层状态,f通常为sigmoid函数或tanh函数,W为M×M的储藏层权重矩阵,u(t)为K维输入信号即健康因子训练集,Win为M×K的输入权重矩阵,y(t)是L维输出信号即容量估计值,Wfb是M×L的输出反馈矩阵。
如果不需要输出的反馈,则Wfb一般为0。此时系统在t时刻总的状态可以用输入状态和储藏层状态的联合形式表示:
z(t)=[x(t);u(t)] (7)
回声状态网络的观测方程即为:
y(t)=g(Woutz(t)) (8)
式中,g为激活函数,通常为sigmoid函数或恒等函数,Wout为L×(K+M)维的输出权重矩阵。
因此步骤S33,保持回声状态网络储备池单元的神经元随机初始化参数值W固定不变,将健康因子训练集输入回声状态网络,容量训练集作为输出,通过逻辑回归算法训练回声状态网络模型的输出权重矩阵Wout。
步骤S34,将健康因子测试集输入训练后的回声状态网络模型,得到容量估计值,将容量估计值反归一化后,计算其与容量测试集真实值的误差,以衡量模型的准确程度。一般使用均方根误差RMSE作为衡量模型准确程度的指标,如公式(9)所示:
式中,
表示容量测试集真实值,
表示回声状态网络输出的反归一化容量估计值,n为锂离子电池充放电循环周期的总周期数。
由于均方根误差只能反应整体的观测情况,但在实际场景的预测中,对于每一个数值的偏离程度均要求在百分之五以内,所以估算结果与真实结果的相对误差RE也作为衡量模型准确程度的一个标准:
式中,
表示容量测试集真实值,
表示回声状态网络输出的反归一化容量估计值。
步骤S35,重复步骤S32-步骤S34,当容量估计值与容量测试集的误差最小时,保存输出权重矩阵,得到锂离子电池健康状态估计模型。
根据锂离子电池监控数据,可以将锂离子电池分为单工况和多工况,因此可以分别针对单工况和多工况建立锂离子电池健康状态估计模型。
单工况建模主要针对在线使用中的电池,则可以通过一定周期数据量的积累,在线建立锂离子电池健康状态估计的模型。将BMS系统在线采集到的锂离子电池健康状态监控数据通过步骤S1和S2得到相关性较强的健康因子序列及容量序列。将健康因子序列作为输入信号u(t)输入回声状态网络,容量序列作为输出,通过逻辑回归算法训练回声状态网络的输出权重矩阵Wout,使回声状态网络输出的容量估计值与容量真实值误差最小,最后将回声状态网络的输出权重矩阵保存。
多工况建模主要针对同一型号电池在不同充放电时有较多记录数据的情况,在线下通过步骤S1和S2得到不同工况下的健康因子序列和容量序列。将不同工况下的健康因子序列作为输入信号u(t)输入回声状态网络,容量序列作为输出,通过逻辑回归算法训练回声状态网络的输出权重矩阵Wout,使回声状态网络输出的容量估计值与容量真实值均方根误差最小,最后将回声状态网络的输出权重矩阵保存。
多工况建立的锂离子电池健康状态估计模型相比于单工况,由于训练数据较多且数据多样化,得到的模型准确度更高,适用性更强,但需要线下大量的监控数据,而单工况建模只需要在线积累的数据即可进行健康状态估计建模,可以根据锂离子电池的监控数据情况,选择进行单工况或多工况健康状态估计建模,以符合实际情况的需求。
步骤S4,根据归一化的健康因子序列
构建基于LSTM神经网络的健康因子预测模型,计算出未来循环周期的健康因子。
LSTM神经网络模型是一个拥有三个门结构的网络结构,包括输入门、输出门以及遗忘门。所谓的门结构即通过sigmoid函数和一个按位乘法器实现,sigmoid函数可以根据输入的u’(t)和h(t-1),生成0~1之间的数值。然后通过按位乘法器,就可以决定哪些需要被输入,哪些需要被遗忘,哪些需要被输出。当sigmoid输出为0时,门处于关闭状态,所有信息都无法通过。当sigmoid输出为1时,门处于全打开状态,所有信息都可以通行。输入门和遗忘门是LSTM的核心,长短时记忆的功能就是通过这两个门来实现的。其应用于本发明的原理如下:
LSTM神经网络输入状态值z为:
z=tanh(WZ[h(t-1),u'(t)] (11)
式中,WZ为输入门状态权重矩阵,h(t-1)为上一时刻输出门输出的隐藏状态,u'(t)为当前时刻的输入即当前循环周期的健康因子。
输入门会根据当前循环周期的健康因子u'(t)和上一循环周期的健康因子估计值h(t-1)决定哪些信息可以加入当前的状态:
i=sigmoid(Wi[h(t-1),u'(t)] (12)
式中,Wi为输入权重矩阵。
遗忘门则根据u'(t)和h(t-1)决定哪些信息需要被遗忘:
f=sigmoid(Wf[h(t-1),u'(t)] (13)
式中,Wf为遗忘门状态权重矩阵。
则新的状态即为:
j(t)=f×j(t-1)+i×z (14)
式中,j(t-1)为上一时刻的状态。
输出门即通过u'(t)和h(t-1)决定哪些信息可以输出:
o=sigmoid(Wo[h(t-1),u'(t)] (15)
式中,Wo为输出门状态权重矩阵。
则模型输出的当前循环周期的健康因子估计值即为:
h(t)=o×tanhu'(t) (16)
因而如图3所示,步骤S4包括:
步骤S41,将归一化的健康因子序列
按一定长度划分为健康因子训练集和健康因子测试集,通过划窗的方法将健康因子训练集处理成LSTM网络的输入格式,具体为:选取健康因子预测输出长度为L,以第1个到第L个循环周期的健康因子作为输入,第2个到第L+1个循环周期的健康因子作为输出,按顺序将输入输出依次递推构建若干个数据集。
步骤S42,构建LSTM神经网络模型,将LSTM神经网络的输入输出层神经元设置为L,隐含层的层数设置为2。
步骤S43,将构建好的LSTM神经网络模型在健康因子训练集上进行训练,得到健康因子预测模型。具体为:将步骤S42中第1个到第L个循环周期构建的L长度的健康因子序列作为模型输入,第2个到第L+1个循环周期构建的L长度的健康因子序列作为模型输出,选取均方根误差作为损失函数,通过梯度下降算法进行训练,最终构建起第1个到第L个循环周期与第2个到第L+1个循环周期两个健康因子序列关系的LSTM模型,即健康因子预测模型,并将训练好的模型保存用于下一步的预测。该健康因子预测模型能够实现通过输入第1个到第L个循环周期的健康因子,即可得到第L+1个循环周期的健康因子预测值。前述建立健康因子预测模型的过程同时适用于单工况以及多工况的锂离子电池。
步骤S44,选取健康因子训练集的最后L个数据输入健康因子预测模型,得到L个输出,选取L个输出的最后一个值作为预测的第一个值。然后将划窗向前移动一步,将预测的第一个值加入划窗构成L个数据预测下一个值,依次类推,通过这种多步迭代划窗的方式进行预测得到未来循环周期的健康因子预测值。
最后步骤S5,将未来循环周期健康因子的预测值输入到步骤S3中建立的锂离子电池健康状态估计模型,得到未来循环周期容量的估计值,并将未来循环周期容量的估计值反归一化得到未来循环周期容量的真实值,当该真实值为额定容量的百分之七十时认定为电池的失效阈值,从而完成锂离子电池剩余寿命的间接预测。
本发明还提供一种锂离子电池剩余寿命预测装置1,如图4所示,包括数据预处理单元10、健康因子提取单元20、健康状态估计单元30、健康因子预测单元40以及剩余寿命预测单元50。
其中,数据预处理单元10,对电池管理系统采集的锂离子电池监测数据进行提取,提取出锂离子电池容量序列以及若干组等时间电压差序列。
健康因子提取单元20,对提取出的容量序列以及若干组等时间电压差序列归一化,并进行灰度关联性分析、皮尔森系数相关性分析以及斯皮尔曼等级相关性分析,选择与容量序列相关性最好的一组等时间电压差序列作为归一化的健康因子序列。
健康状态估计单元30,根据归一化的容量序列以及归一化的健康因子序列,构建基于回声状态网络的锂离子电池健康状态估计模型,通过该模型输入健康因子即可得到容量健康状态准确估计。
健康因子预测单元40,根据归一化的健康因子序列,构建基于LSTM神经网络的健康因子预测模型,计算出未来循环周期的健康因子。
剩余寿命预测单元50,将计算出的未来循环周期健康因子输入锂离子电池健康状态估计模型,得到容量估计值,实现间接预测锂离子电池的剩余寿命的目的。
以下以锂离子动力电池为例,进一步描述本发明锂离子电池剩余寿命间接预测的过程。
锂离子动力电池主要包括以下4个变量:
表1随机变量描述信息
序号 |
变量 |
序号 |
变量 |
1 |
恒流充电电压 |
3 |
恒流放电电压 |
2 |
恒压充电电流 |
4 |
容量 |
针对不同循环周期的锂离子电池监测数据进行比较,本发明选用上海动力储能采集到的锂离子动力电池的1946充放电周期的数据,通过2A的恒流充电,使电池电压达到4.2V,然后再在4.2V的电压下进行恒压充电,直到电流降至40mA,静置十分钟,再以4A的电流通过恒流放电,当电压达到2.75V时,静置十分钟,进行新一轮的充放电。总共进行了1946个周期的充放电,电池容量由4.2Ah衰减到3.8Ah。由于锂离子电池的充放电周期较长,所以实验中会以第1946个周期作为锂离子电池寿命结束点作为标准来验证比较。
其次根据步骤S2对恒流充电阶段的1000s、2000s、3000s、4000s等时间电压差序列和容量序列数据进行归一化处理,并分析相关性如下:
表2健康因子与容量的相关性分析
等时间间隔 |
灰度关联度 |
皮尔森相关系数 |
斯皮尔曼等级相关系数 |
1000s电压差 |
0.580 |
-0.915 |
-0.914 |
2000s电压差 |
0.575 |
-0.950 |
-0.965 |
3000s电压差 |
0.567 |
-0.982 |
-0.982 |
4000s电压差 |
0.576 |
-0.980 |
-0.980 |
由表2可以看出,选取3000s作为时间间隔时,等时间间隔电压差与容量具有较强的相关性,因而选取3000s间隔的电压差作为健康因子。
然后根据步骤S3通过回声状态网络进行建模,选取储备池处理单元个数M为100,谱半径SR为0.9。分别对前期(500循环周期)、中期(1000循环周期)及后期(1500)循环周期的数据进行建模,建立不同阶段的锂离子电池健康状态估计模型,图5为不同阶段建模的估计结果。并对不同阶段的模型进行评估,其均方根误差如下:
表3基于ESN的锂离子动力电池健康状态估计均方根误差
均方根误差 |
前期(T1=500) |
中期(T2=1000) |
后期(T3=1500) |
锂离子动力电池 |
0.047 |
0.034 |
0.025 |
再然后根据步骤S4通过长短时记忆网络分别对前期(500循环周期)、中期(1000循环周期)及后期(1500)循环周期的数据建立不同阶段的健康因子预测模型,选取预测输出长度为10,隐含层数为2,batch size为16,训练100个epoch。对不同阶段的模型进行未来循环周期的预测,图6为不同阶段健康因子的预测结果,健康因子预测的均方根误差如下:
表4基于LSTM的锂离子动力电池健康因子均方根误差
均方根误差 |
前期(T1=500) |
中期(T2=1000) |
后期(T3=1500) |
锂离子动力电池 |
0.02 |
0.009 |
0.004 |
最后根据步骤S5将健康因子未来循环周期预测得到的值输入到锂离子电池健康状态模型进行健康状态估计,得到未来循环周期容量的估计值,图7即为锂离子电池剩余寿命预测的结果,以第1946个周期作为锂离子电池寿命结束点作为参考点进行寿命预测的评估如下:
表5基于LSTM与ESN的锂离子动力电池剩余寿命预测误差
预测起始点 |
EOL |
EOP |
RUL_ae |
RUL_re |
前期(T1=500) |
1946 |
982 |
964 |
0.495 |
中期(T2=1000) |
1946 |
1707 |
239 |
0.123 |
后期(T3=1500) |
1946 |
1897 |
49 |
0.025 |
其中EOL为锂离子动力电池剩余寿命结束周期真实值,EOL为锂离子动力电池剩余寿命结束周期预测值,RUL_ae为锂离子动力电池剩余寿命预测值与真实值的绝对误差,RUL_re为锂离子动力电池剩余寿命预测值与真实值的相对误差。
整个发明根据BMS系统采集到的数据特性不同,采用了处理方法。从监控数据中提取出不同时间间隔的等时间电压差,通过相关性分析选取3000s等时间间隔电压差作为健康因子。通过回声状态网络,分别用前期(500循环周期)、中期(1000循环周期)及后期(1500)循环周期的数据建立起锂离子电池的健康状态估计模型及健康因子预测模型,最终实现不同阶段的锂离子电池剩余寿命预测。基于以上步骤,此发明能够很好的对锂离子电池进行剩余寿命预测,具有实际意义。
本发明实施例提供了一种基于ESN与LSTM的锂离子电池剩余寿命预测方法,以解决间接的对锂离子电池剩余寿命进行长期预测的问题。根据本发明实施例,提供了一整套复杂环境下锂离子电池剩余寿命间接预测的算法,该算法可以在线实时的对锂离子电池剩余寿命进行长期的预测。从监控数据中分析可以表征容量退化的健康因子,其中锂离子电池健康状态监控数据主要是:恒流充电电压、恒流放电电压、恒压充电电流、容量等四个随机变量。该算法还包括:建立健康状态估计模型、建立健康因子预测模型、剩余寿命预测等几个方面,实现锂离子电池剩余寿命的间接预测,以实现提高在线预测精度、提早进行维修更换的目的,从而保证了锂离子电池正常的运行。
以上所述的,仅为本发明的较佳实施例,并非用以限定本发明的范围,本发明的上述实施例还可以做出各种变化。即凡是依据本发明申请的权利要求书及说明书内容所作的简单、等效变化与修饰,皆落入本发明专利的权利要求保护范围。本发明未详尽描述的均为常规技术内容。