一种动力锂电池的剩余电量估计方法

文档序号:6502 发布日期:2021-09-17 浏览:32次 英文

一种动力锂电池的剩余电量估计方法

技术领域

本发明属于电动汽车动力锂电池剩余电量(SOC)估计领域,涉及一种变长窗口动态加权最小二乘向量机的SOC估计方法,指一种在电动汽车行驶放电及停车充电阶段,利用加入变长窗口的动态加权最小二乘向量机模型(WLSSVM)对其动力锂电池的剩余电量进行估计的方法。

背景技术

动力锂电池因为高密度、记忆性低、对环境友好等优点被广泛应用于电动汽车中。电池剩余电量(State Of Charge:SOC)是表征电池充放电状态的重要指标,精确的SOC估计可以避免电池的过度充电和过度放电,从而避免电池起火事件,同时延长电池的使用寿命。但是SOC并不能通过传感器直接测量,只能够通过与其强相关的测量量(如电流,电压,温度等)来间接估计,因此估计方法成了解决SOC估计问题的关键。

近年来,由于机器学习方法的迅速发展,使得基于数据驱动的SOC估计方法引发了广泛的关注,在该类方法的主要思想是对数据信息的进行深度挖掘从而建立满足工程要求的数学模型,因此,从海量的动态数据中提取准确的特征建立适当的模型成为提高SOC估计的一个关键因素。动力电池的使用寿命是有限的,于此同时,电池的内部特性也会随着电池使用时间的推进而发生改变,于是建立动态的自适应的数据驱动SOC估计模型成为改善SOC估计的关键问题。

公开号为CN108872866A的专利“一种锂离子电池荷电状态动态评估与长效预测融合方法”利用扩展卡尔曼和神经网络建立了两个独立的SOC估计模型,并对其进行加权融合得到最终的SOC值,但是,由于专利中采用的方案是固定不变的SOC估计模型,一旦最新的输入数据特征发生变化,所建立的模型将会变得和数据特征不吻合。公开号为CN107132490A的专利“一种实现锂电池组荷电状态估计的方法”中,利用小样本建立了支持向量机(SVM)模型,并用粒子群算法寻找支持向量机的最优参数,之后将其用于SOC估计。同样存在的问题是无论是支持向量机还是粒子群优化过程都具有阶段性,并没有建立起自适应的SOC估计机制。

因此,针对SOC估计缺乏自适应性以及优化过程具有阶段性的问题,提出基于动态支持向量机的SOC估计模型,并用容积卡尔曼滤波(CKF)辅助支持向量机自适应的更新模型参数,可以确保建立起长期有效的动力锂电池的SOC估计模型。

建立动态的自适应SOC估计模型面临两方面的特殊难题:1)建立基于动态WLSSVM的SOC估计模型时,每当训练数据发生改变时,由于WLSSVM的训练需要花费一定的时间,而动态SVM面临着频繁的改变训练数据,重新训练模型无疑会增加模型的运算负担;2)动态的WLSSVM依靠滑动窗口来实现模型的更新迭代,在滑动窗口机制下,面临着如何选取滑动窗口的长度以及如何为下一个窗口中的WLSSVM模型寻找最佳的参数这两个难题。

发明内容

本发明的目的在于提供一种长期有效的自适应SOC估计方法,旨在根据动力锂电池的外部采集数据对锂电池的内部SOC参数进行在线估计,为电池管理系统以及用户提供准确的SOC估计结果,增加电池管理的可靠性,为用户合理使用电池提供准确的信息。

为实现上述目的,本发明的技术方案是:

本发明包括线下阶段和线上阶段,其中本发明中的线下阶段:

步骤1:从动力锂电池的完整充电和放电过程中,选取若干组工作数据作为训练数据,每组训练数据包含的数据信息有:1)工作电压;2)工作电流;3)电池的平均温度;4)电池的剩余电量。

步骤2:对步骤1中训练样数据归一化处理,使其处于[-1,1]的区间内。

步骤3:设置线下的WLSSVM模型的核参数σ0

步骤4:利用训练数据完成WLSSVM训练,从而得到训练后的

本发明的线上阶段:

线上阶段初始阶段:

步骤5:设置初始滑动窗口长度为P0

步骤6:线上采集电池的工作电压(U)、电流(I)、电池平均温度(T),输入到已经完成训练的模型中,并输出相应的SOC值。同时将[U,I,T,SOC]放置到初始窗口中,并占用一个窗口宽度。

步骤7:重复步骤6,直到初始滑动窗口中的宽度被占满。

步骤8:计算初始窗口中的SOC变化量方差ΔSOC表示相邻两个时刻SOC的变化量,其中var表示ΔSOC的方差。

线上初始之后阶段:

步骤9:假设当前(即第k个窗口)滑动窗口的宽度为Pk(Pk为正整数)。同时将第k-1个窗口中的数据归一化。

假设前一个窗口中的SOC变化量方差为k表示窗口的序号。

步骤10:假设当前最新的WLSSVM模型核参数为σk-1

步骤11:在步骤10的基础上,利用步骤9中归一化之后的第k-1个窗口中的数据完成当前WLSSVM模型的训练,将该模型记作

步骤12:采集当前时刻t的工作电压、电流、电池平均温度,输入到已经完成训练的WLSSVM模型中,并输出相应的SOC值。同时将[U,I,T,SOC]放置到当前窗口中,并占用一个窗口宽度。

步骤13:重复步骤12,直到当前窗口中的数据总组数等于窗口的宽度。

步骤14:建立核参数σk的状态方程:σk=Fσk-1+vk,其中转移矩阵F为一维单位矩阵,k=0,1,2…表示当前的窗口序号,σk表示第k个窗口的训练数据对应的WLSSVM模型核参数。将的数学模型,作为CKF的测量方程,核参数σk状态方程和测量方程组成CKF的滤波模型。

步骤15:设置CKF的初始参数,通过CKF滤波算法去寻找最佳的核参数σk

步骤16:对当前窗口中所有SOCt,计算变化量ΔSOCk,继而计算ΔSOCt的方差

步骤17:根据

确定下一个滑动窗口的宽度Pk+1

步骤18:采用步骤11中得到的新的核参数σk,用第k个窗口的数据训练新的WLSSVM模型

步骤19:重复步骤9---步骤18,当没有新的数据输入,则停止。在执行步骤11的过程中,具体步骤如下:

当滑动窗口中的数据发生改变时,在新的数据基础上重新训练WLSSVM模型为了加快训练过程,本发明提出动态WLSSVM模型求解方法来加速模型求解过程。

在求解模型时,关键是要求出模型参数(bk-1,αk-1)

其中,是求解WLSSVM模型时的过程参数,N表示矩阵维度。显然求解这对参数的关键又是要求解为QN的逆。

当窗口中加入新数据时,利用这些新数据信息更新假设加入了m组新数据,此时的QN可以表示为

其中PN+m都是由新数据得到的信息,接着根据分块矩阵求逆的方法得到

接着,剔除QN中关于上一个窗口的旧数据信息,假设旧数据的总数目为L个。这里将QN+m重新表示为

其中PL都是旧的数据信息。根据公式(4)和(5)求解得到继而,根据公式(2)和(3)可以求得模型的参数(bk-1,αk-1)

新的WLSSVM模型即可通过这种动态的矩阵计算方式被确定。

相较于现有技术,本发明具有以下有益效果:

1.采用具有强大学习能力的加权最小二乘支持向量机实现对动力锂电池的SOC估计模型的建模和在线估计,诸多研究证明加权最小二乘的支持向量机相较于原始的支持向量机更具有鲁棒性。

2.加权最小二乘支持向量机的核参数模型的选取过程可以通过CKF进行在线自适应完成。

3.建立动态WLSSVM过程,利用最新的工况数据来建立SOC估计模型,从而更好的反应数据特征。

4.提出动态WLSSVM的快速求解方法,在面对全新输入数据的情况下可以快速求解出模型参数,建立新的SOC估计模型。

附图说明

图1是本发明的方法流程图;

图2是实例的验证结果图;

图3是实例的验证结果图。

具体实施方式

下面结合附图,对本发明的技术方案进行具体说明。

本实施例提供一种实现动力锂电池剩余电量估计方法,如图1所示,包括以下步骤:

线下阶段:

步骤1:从动力锂电池的完整充电和放电过程中,以相邻样本之间的时间间隔为5s为采样准则,选取若干组电池工作数据作为训练数据,每组训练数据包含的数据信息有:1)工作电压;2)工作电流;3)电池的平均温度;4)电池的剩余电量。

步骤2:对步骤1中的训练数据做归一化处理,使其处于[-1,1]的区间内。

步骤3:设置初始的核参数为σ0,此时WLSSVM的核函数为

其中,xi和xj是训练数据集中的第i和第j个数据。

步骤4:利用步骤2中归一化之后的训练数据完成当前WLSSVM模型的训练,训练后的模型记为

当电动汽车的动力锂电池处于充电或者是放电工况的初始阶段时,利用线下训练完成的模型,在线上进行SOC估计,输入数据为线上的工作电压;工作电流;动力锂电池的平均温度。

线上阶段的初始阶段:

采用滑动窗口来动态更新WLSSVM模型,下面将详细介绍,滑动窗口机制,以及窗口发生移动后,WLSSVM模型如何快速求解。

步骤5:设置初始滑动窗口长度为P0

步骤6:线上每隔5秒采集一次电池的工作电压(U)、电流(I)、电池平均温度(T),输入到已经完成训练的模型中,并输出相应的SOC值。同时将[U,I,T,SOC]放置到初始窗口中,并占用一个窗口宽度。

步骤7:重复步骤6,直到初始滑动窗口中的宽度被占满。

步骤8:计算初始窗口中的SOC变化量方差

ΔSOCt=SOCt+1-SOCt,t=0…P0 (8)

其中,t表示采集的时刻。

线上初始之后阶段:

步骤9:设当前处于第k个窗口,将第k-1个窗口中的数据(工作电压、工作电流,动力电池的平均温度,电池剩余电量)归一化到区间[-1,1]。

假设前一个窗口中的SOC变化量方差为且当前(即第k个窗口)滑动窗口的宽度为pk(pk为正整数)。

步骤10:设置当前最新的的WLSSVM模型的核参数为σk-1,在本实施例中采用高斯核函数:

其中,xi和xj是第k-1个窗口中的第i和第j个数据。

步骤11:在步骤10的基础上,利用步骤9中归一化之后的第k-1个窗口中的数据完成当前WLSSVM模型的训练,将该模型记作

步骤12:采集当前时刻的工作电压(U)、电流(I)、电池平均温度(T),输入到模型中,并输出相应的SOC值,接着,将当前时刻的[U,I,T,OOC]放置到当前窗口中,并占用一个窗口宽度。

步骤13:重复步骤12,直到当前窗口中宽度被占满。

步骤14:建立核参数σk的状态方程:σk=Fσk-1+vk,其中转移矩阵F为一维单位矩阵,k=0,1,2…表示当前的窗口序号,将数学模型,作为CKF的测量方程(公式10),接着将状态方程和测量方程组成CKF的滤波模型。

其中,

其中,αk-1和bk-1模型的解,xi (k)是第k个窗口中的数据,vk和ωk是噪声信息,SOCk是第k个窗口中所有SOC值按照生成顺序组成的列向量,uk是测量方程的输入,在本例中指第k个窗口中的U,I,T组成的矩阵。

步骤15:启动CKF算法,得到σk的估计结果,作为第k+1个窗口中WLSSVM模型的核参数。

步骤16:对第k个窗口中所有SOCt,计算变化量ΔSOCk,继而计算ΔSOCt的方差

步骤17:根据

确定下一个滑动窗口的宽度Pk+1

步骤18:利用第k个窗口中的数据,以及高斯核参数σk,训练新的WLSSVM模型,将其记作

在执行步骤11过程中需要求解两个关键的模型参数,bk-1和αk-1。求解这两个参数的过程为:

其中,Ωi,j=K(xi,xj),N表示矩阵是N维方阵;y=[y1 … yN];α=[α1 … αN];V是WLSSVM的权矩阵,是权矩阵中的元素。

定义QN=ΩN+V,根据上式可知,求解αk-1和bk-1可以通过下式:

其中N为训练集的数据总数目。

利用当前窗口中的数据生成新的信息,用来更新QN。假设新数据的数目有m个,且m=pk。则有

其中,PN+m=[PN+1 PN+2 … PN+m]

其中,PN+i=K(xN+i,xj),i=1,…,m,j=1,…,N+i-1

其中,vN+1,…,vN+m是新的数据信息带来的新的权矩阵值。

根据分块矩阵求逆的方法,可以得到:

其中,

接着将上一个窗口中的旧数据的信息从QN+m中剔除出去,假设旧数据的数目为L个,且L=pk-1。则有

其中,Pt=K(xi,xj),i=1,…,L,j=i,…,N其中,

根据公式(5),根据分块矩阵求逆知识可得:

其中,

由此,可以推出:

接着,根据公式,可以计算得到的模型解:

步骤19:重复步骤9-步骤18,直到没有新的数据出现。

仿真结果如图2和3所示。数据由杭州颉码能源科技有限公司提供,真实的SOC(real-SOC)是刚投入使用的动力锂电池在城市道路上行驶过程中,由车辆电池管理系统生成的SOC曲线,Estimated SOC是用算法估计的结果。

图2是WLSSVM的估计效果,图3是本发明中动态WLSSVM-CKF的估计效果。可见图3中的Estimated曲线和真实的SOC的曲线差别更小。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:电池电量计量方法、装置及车锁

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类