1.本发明涉及一种电池健康状态评估方法及系统,属于电池领域。
背景技术:2.锂离子电池因其高电压、充电快、寿命长、自放电率低等特点,已经成为动力储能装置的首选,在生活中的应用随处可见。为了保证电池安全可靠地运行,需要对电池进行健康管理,首先需要实现的就是电池健康状态评估。目前的评估方法大致分为四类:实验法、模型法、数据驱动法和融合法。其中实验法研究过程耗时且成本高;模型法包含的电池内部参量多,且估计结果过度依赖模型的准确度;数据驱动法易受数据完整性和确定性的影响,鲁棒性和适应性较差;融合法通过融合或集成多种估计方法,充分发挥各种方法的优点,提高了电池健康状态评估的准确度,具有重要的实际工程应用价值。
技术实现要素:3.本发明提供了一种电池健康状态评估方法及系统,解决了电池传统健康状态估计方法准确度不够高、泛化能力不够好的问题。
4.为了解决上述技术问题,本发明所采用的技术方案是:
5.一种电池健康状态评估方法及系统,包括,
6.根据电池循环充放电实验,提取放电电压、电流和容量序列;
7.搭建macsa-net模型,利用改进的蚁狮优化算法选择模型中的超参数;
8.将放电电压、电流和容量序列作为输入,基于优化后的macsa-net模型,对电池健康状态进行评估。
9.搭建macsa-net模型,该模型由卷积层、自注意力层、多层聚合层、规范化层以及前馈层组成。
10.自注意力层由多个自注意力单元堆叠而成,对于单个自注意力单元,它将卷积层提取出的特征向量与计算出的位置编码向量相加作为输入,进行线性变换后得到查询向量q、键向量k和值向量v,自注意力单元输出的计算公式为,
[0011][0012]
其中,attention(q,k,v)为自注意力单元的输出值,q、k、v分别为查询向量、键向量和值向量,dk是k向量的维度,softmax为归一化指数函数。
[0013]
改进的蚁狮优化算法中,蚁狮位置的更新公式为,
[0014]
w(t)=μ+σ*n(0,1)
[0015]
al=w
×
al+z1×
cauchy(0,1)
×
(al
best-al)
[0016]
其中,w(t)为第t次迭代的权重值,μ为随机权重平均值,σ为学习因子, n(0,1)为服从标准正态分布的随机数,w为权重值,z1为0到1之间的随机数, cauchy(0,1)为服从标准柯西分布的随机数,al
best
为最优蚁狮个体,al为调整后蚁狮的位置。
[0017]
利用改进的蚁狮优化算法选择macsa-net模型中的超参数,具体过程为,
[0018]
将电池容量估计值与实际值的平均绝对误差作为目标函数;
[0019]
利用改进的蚁狮优化算法,选择macsa-net模型中卷积层的滤波器个数和自注意力单元的个数;
[0020]
不断迭代从而使目标函数最小化。
[0021]
将放电电压、电流和容量序列作为输入,基于优化后的macsa-net模型,对电池健康状态进行评估,具体过程为,
[0022]
对放电电压、电流和容量序列进行归一化处理;
[0023]
将归一化后的样本划分测试集和训练集,作为macsa-net模型的输入;
[0024]
基于优化后的macsa-net模型,训练输入数据,实现电池健康状态评估。
[0025]
一种电池健康状态评估方法及系统,包括,
[0026]
采集模块:根据电池循环充放电实验,采集电池的放电电压、电流和容量数据;
[0027]
优化模块:利用改进的蚁狮优化算法,对macsa-net中的超参数进行选择;
[0028]
训练模块:基于放电电压、电流和容量序列,训练优化后的macsa-net 模型;
[0029]
评估模块:基于优化后的macsa-net模型对电池健康状态进行评估。
[0030]
一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行电池健康状态评估方法。
[0031]
一种计算设备,包括一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行电池健康状态评估方法的指令。
[0032]
本发明所达到的有益效果:本发明采用改进的蚁狮优化算法优化 macsa-net模型,避免了手动和凭经验设置超参数的不确定性,提高了模型的估算精度和效率,macsa-net模型能够更好地捕获数据间的长期依赖关系,缓解了深度网络中的梯度发散问题,提高了泛化能力。
附图说明
[0033]
图1为本发明方法的流程图;
[0034]
图2为锂离子电池放电电压和电流的曲线变化图;
[0035]
图3为macsa-net模型的结构图;
[0036]
图4为改进的蚁狮优化算法流程图。
具体实施方式
[0037]
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0038]
如图2所示,一种电池健康状态评估方法及系统,包括以下步骤:
[0039]
步骤1:根据电池充放电实验直接测得放电电压与电流数据。
[0040]
使用恒温箱将环境温度设定为25℃,以1c的放电倍率在恒定电流模型下充电。直至电池的工作电压达到最大截止电压时,转为在恒定电压模式下充电,当电池工作电流下降到110ma时,终止充电,静置10分钟。
[0041]
再次使用恒温箱将环境温度设定为25℃,以2c的放电倍率在恒定电流模式下放电,当电池的工作电压下降到最小截止电压时,终止放电,静置30分钟。
[0042]
重复以上充放电操作,记为一个循环周期,不断重复电池充放电测试。在循环充放电测试过程中,利用1hz的采样频率实时采集锂离子电池的工作电压和电流数据,以采集的第一次数据为例,其变化曲线如图2所示。
[0043]
步骤2:根据电池充放电实验中的放电电流,采用库仑计数法计算放电容量。
[0044]
库仑计数法指将充放电周期中相对于时间的放电电流进行积分,得到对应时刻的放电容量,计算公式为:
[0045][0046]
其中,i(t)为随时间变化的放电电流,c(t)为对应时刻的放电容量。
[0047]
步骤3:根据偏相关系数法计算放电电压、电流与电池健康状态的关联度。
[0048]
为了验证电池放电电压、电流与电池健康状态之间的关系,采用偏相关系数法,计算他们之间的关联度,计算公式为:
[0049][0050]
其中,y
xq,c
表示在循环周期c影响时,变量x和实际容量q之间的一阶偏相关系数,y
xq
表示变量x和实际容量q之间的皮尔逊相关系数,y
xc
表示变量x和循环周期c之间的皮尔逊相关系数,y
qc
表示实际容量q和循环周期c之间的皮尔逊相关系数。皮尔逊相关系数的计算公式为:
[0051][0052]
其中,ai、bi分别表示数据a和b中每个数据,分别表示数据a和b的平均值,y表示皮尔逊相关系数,y∈[-1,1]。若y<0,则a和b为负相关,若y>0,则a和b为正相关,y越接近1,相关性越高,若y=0,表示不相关。
[0053]
如图3所示,一种电池健康状态评估方法及系统,包括以下步骤:
[0054]
步骤1:搭建macsa-net模型。
[0055]
搭建多层聚合卷积自注意力网络(macsa-net)模型,该模型包含卷积层、自注意力层、多层聚合层、规范化层以及前馈层。
[0056]
具体过程如下:
[0057]
11)设置卷积层。
[0058]
卷积层具有局部感知的能力,它首先对输入数据的每个特征进行局部感知,然后再更高层次的对局部进行综合操作,从而获取全局信息,卷积层的计算公式为:
[0059]
o=(i-k+2p)/s+1
[0060]
其中,i为输入特征的维度,即放电电压、电流和容量的维度,k为卷积核的大小,s为步长,p为填充的像素数,o为卷积层输出的特征。
[0061]
12)设置自注意力层。
[0062]
自注意力层由多个自注意力单元堆叠而成,对于单个自注意力单元,它将卷积层提取出的特征向量与计算出的位置编码向量相加作为输入,进行线性变换后得到查询向量q、键向量k和值向量v,位置编码向量的计算公式为:
[0063]
pe(pos,2i)=sin(pos/10000
2i/d
)
[0064]
pe(pos,2i+1)=cos(pos/10000
2i/d
)
[0065]
其中,pe为位置编码向量,pos为特征向量在输入数据中的位置,2i为偶数的维度,2i+1为奇数的维度,d为位置编码向量的维度。
[0066]
自注意力单元输出的计算公式为:
[0067][0068]
其中,attention(q,k,v)为自注意力单元的输出值,dk是q、k向量的维度, softmax为归一化指数函数,其计算公式为:
[0069][0070]
其中,softmax(zi)为zi的归一化指数函数值,zi为第i个节点的输出值,c为输出节点的个数。
[0071]
计算出单个自注意力单元的输出后,自注意力层将它们拼接在一起,然后进行线性变换,得到自注意力层最终输出的容量估计值。
[0072]
13)设置多层聚合层。
[0073]
多层聚合层将多个自注意力层的输出值通过直连的方式连接到一个输出中,可以缓解深度网络中梯度发散的问题。
[0074]
经过直连连接后,多层聚合层输入与输出的关系式为:
[0075]
may=h(xa,wh)+xa[0076]
其中,may为多层聚合层的输出值,xa为自注意力层的输出值,wh为权重, h(xa,wh)为输入为xa时输出学习到的特征。
[0077]
14)设置规范化层。
[0078]
规范化层将该层的输入都转化成均值方差一样的,这样可以加快收敛。
[0079]
15)设置前馈层。
[0080]
前馈层由一个两层的全连接层组成,第一层的激活函数为relu,第二层不使用激活函数,经过规范化层的输出与全连接层都有权重连接,对应的公式为:
[0081]
ff(x)=max(0,xw1+b1)w2+b2[0082]
其中,x为输入的容量估计值,ff(x)为变换后的容量估计值,w1、w2为权重系数,b1、b2为偏置系数。
[0083]
步骤2:训练输入数据,实现电池健康状态评估。
[0084]
电池健康状态的计算公式为:
[0085][0086]
其中,soh为电池健康状态,q
max
为电池当前的最大可用容量,qn为电池的标称容量。
[0087]
如图4所示,一种电池健康状态评估方法及系统,包括以下步骤:
[0088]
采用改进的蚁狮优化算法选择macsa-net模型中的超参数,包括卷积层的滤波器个数和自注意力单元的个数,从而使电池容量估计值与实际值的平均绝对误差最小化,将目标函数记为q
t
。
[0089]
步骤1:设置参数。
[0090]
设置最大迭代次数t、蚂蚁和蚁狮的数目分别为n和m、搜索空间上下限分别为a和b。
[0091]
步骤2:随机初始化蚂蚁和蚁狮的位置并计算适应度值。
[0092]
具体过程如下:
[0093]
21)蚂蚁在搜索空间的位置计算公式为:
[0094]an,d
=bd+rand(0,1)
×
(a
d-bd)
[0095]
其中,a
n,d
表示第n个蚂蚁在第d维搜索空间的位置,ad、bd分别表示第d 维搜索空间的上下限,rand(0,1)为0到1之间的随机数。
[0096]
蚁狮在搜索空间的位置计算公式为:
[0097]
al
m,d
=bd+rand(0,1)
×
(a
d-bd)
[0098]
其中,al
m,d
表示第m个蚁狮在第d维搜索空间的位置。
[0099]
22)对目标函数q
t
进行处理,使得适应度值越大,q
t
越小,适应度值的计算公式为:
[0100][0101]
其中,f为适应度值,c
max
为一个相对比较大的数,可灵活选择,保证f≥0, q
t
为目标函数。
[0102]
选择适应度最大的蚁狮作为精英蚁狮个体,记为al
best
。
[0103]
步骤3:通过轮盘赌方式选择一个蚁狮,记为al
guess
,每个蚂蚁将同时围绕 al
best
和al
guess
进行随机游走,更新蚂蚁的位置,位置更新公式为:
[0104][0105]
其中,为目前蚂蚁第i维变量在第t次迭代的位置,a
t
为第t次迭代通过轮盘赌方式选择的在蚁狮周围随机游走的蚂蚁,e
t
为第t次迭代在精英蚁狮周围随机游走前蚂蚁。
[0106]
步骤4:当蚂蚁的适应度值高于蚁狮al
guess
时,把蚂蚁的位置赋给蚁狮。
[0107]
此时蚂蚁的位置更新公式为:
[0108][0109]
其中,为蚁狮al
guess
的位置,分别为和的适应度函数。
[0110]
步骤5:搜索全部蚁狮,调整最佳蚁狮位置。
[0111]
为了减小蚁狮优化算法陷入局部最优的可能,利用随机权重加柯西变异策略来调整蚁狮的位置,提高算法的寻优能力,柯西变异策略的计算公式为:
[0112]
al=w
×
al+z1×
cauchy(0,1)
×
(al
best-al)
[0113]
其中,w为权重值,z1为0到1之内的随机数,cauchy(0,1)是服从标准柯西分布的随机数,al
best
为最优蚁狮个体,al为调整后蚁狮的位置,w的计算公式为:
[0114]
w(t)=μ+σ*n(0,1)
[0115]
其中,w(t)为第t次迭代的权重值,μ为随机权重平均值,σ为学习因子, n(0,1)为服从标准正态分布的随机数。
[0116]
如果蚁狮的位置超出了超出了最远边界a或b,则按照最远边界处理,迭代次数t=t+1。
[0117]
步骤6:判断算法是否达到最大迭代次数或精度,若达到,则获得最佳蚁狮位置,否则转至步骤3继续执行。
[0118]
一种电池健康状态评估方法及系统,包括,
[0119]
采集模块:根据电池循环充放电实验,采集电池的放电电压、电流和容量数据;
[0120]
优化模块:利用改进的蚁狮优化算法,对macsa-net模型中的超参数进行选择;
[0121]
训练模块:基于放电电压、电流和容量序列,训练优化后的macsa-net 模型;
[0122]
评估模块:基于优化后的macsa-net模型对电池健康状态进行评估。
[0123]
一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行电池健康状态评估方法。
[0124]
一种计算设备,包括一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行电池健康状态评估方法的指令。
[0125]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0126]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0127]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0128]
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。