基于改进粒子滤波算法的动力锂离子电池荷电状态估计
2020-07-29刘淑杰,郝昆昆,王永,邓威威
刘 淑 杰, 郝 昆 昆, 王 永, 邓 威 威
( 大连理工大学 机械工程学院, 辽宁 大连 116024 )
0 引 言
当前环境污染和能源危机问题日益突显,气候变暖和温室效应对全球环境也造成了巨大的影响,促进新型能源和储能系统的研究是应对环境和能源危机一个较好的解决方案.在众多储能装置中,锂离子电池由于其应用广泛,而且作为新能源电动汽车中的储能装置,被看作具有良好发展前景的一种储能方式.与传统类型的铅酸、镍氢电池相比较,锂离子电池具有高能量密度和功率密度,循环使用寿命长以及自放电率极低、污染小等优点[1].电动汽车推广使用对减少温室气体排放有着重要意义,电池包作为电动汽车的重要供能装置,在汽车使用过程中的可靠性和安全性应予以保证,电池管理系统(battery management system,BMS)可以实现对电池包信息监测和状态预测功能,防止电池包过充电过放电行为发生,保证电池使用过程中性能安全可靠,使其最佳能效得到发挥并延长使用寿命[2].
电池包在工作过程中可观测的物理量仅有电压、电流和温度,而电池的一些关键指标如荷电状态(state of charge,SOC)、功率状态和健康状态等信息则无法通过直接测量获得,需要借助可观测量和相应算法或模型来了解电池包的真实状态.SOC基本定义是电池工作过程中剩余容量与电池额定容量百分比,是表征电池基本状态信息的关键指标,其意义等同于燃油汽车中的燃油表[3].大量文献研究电池SOC估计方法,其大致可以分为安时法、开路电压法、模型法、阻抗法以及基于模糊逻辑和机器学习的联合估计方法.安时法虽然简单易实施,但是需要准确获取电池的初始容量和充放电电流,当充放电时间较长时,累计误差对最终估计结果造成的影响便难以忽略,此方法需要进行定期校正,因此安时法通常与开路电压法结合使用[4-5].基于模型类的估计方法可分为电路模型法与电化学模型法[6-7],电路模型法可以分为SOC直接估计方法与基于自适应滤波器及观测器的改进估计方法[8-12],直接进行SOC估计是一种开环方法,而基于滤波器和观测器类的SOC估计方法是闭环方法,闭环方法能修正状态估计过程中存在的偏差,对模型准确性以及测量信号精度要求不是非常严格;另一种模型方法是电化学模型方法,该方法能从本质上反映电池内部电化学行为与电池SOC及温度之间的关系,无须电路模型方法中要借助查表方法来获取不同SOC和温度间的关系,但电化学模型方法的缺点是模型中含有大量偏微分方程,使算法计算量和模型复杂度要远大于电路模型法.另一类常用的方法为模糊逻辑和机器学习算法,如模糊逻辑算法、神经网络算法、基于模糊逻辑的神经网络算法和支持向量机等机器学习类算法,这类方法的估计精度与模型训练数据量及数据的准确性有较大关系[13-16].
电动汽车中电池包SOC估计常采用等效电路模型方法[17-18],等效电路模型根据电学原理用电子元器件近似模拟电池中的电化学物理量[19-20],建立相应的电路方程,推导出电路方程与所估计状态量间的数学关系,是一种数学模型且计算量远小于电化学模型.借助相应的电路模型,将SOC整合到电路方程中,根据可测量的电学量估计OCV(open circuit voltage,OCV),从而建立SOC与电池开路电压OCV间关系.利用OCV对电池SOC进行估计,可靠的SOC-OCV映射关系和准确的OCV估算是电池SOC估计时需要考虑的两个关键问题.Plett[20]应用扩展卡尔曼滤波(extended Kalman filter,EKF)方法提出了一种状态和模型参数双估计器,优化的参数包括OCV、欧姆内阻、库仑效率和电池的容量等;He等[21]在Plett研究基础上将递归最小二乘法与EKF结合应用于估计器中,对电池状态和模型参数进行估计;El Mejdoubi等[22]假定OCV是一个随时间缓慢变化的信号,建立电池动态数学模型,用EKF方法和李雅普诺夫观测器进行OCV预测,但是此方法中模型观测器参数很难调整,而EKF方法仅适用于高斯噪声环境;Dang等[23-24]应用双神经网络扩散模型基于OCV进行SOC估计,一个神经网络用于辨识电池模型参数,另一个神经网络用于建立电池OCV和SOC的函数映射关系,之后又基于电池电学特性在文献[24]中采用受控自回归滑动平均模型估计电池OCV,运用BP神经网络对SOC与OCV间的关系进行映射,但是此类方法在模型训练阶段需要大量数据;Chen等[25]采用粒子滤波(particle filter,PF)算法对一阶等效电路模型中OCV进行估计,根据实验中建立的SOC-OCV关系估计电池的SOC,虽然PF算法可用于求解非线性和非高斯噪声条件下系统估计问题,但在迭代求解过程中存在粒子退化现象,当粒子退化严重时,最终的估算结果会产生较大误差.针对PF算法进行SOC估计时存在的问题,本文分别采用改进的扩展粒子滤波(extended particle filter,EPF)和无迹粒子滤波(unscented particle filter,UPF)算法对电池SOC进行估计,首先建立电池模型并运用带遗忘因子的递归最小二乘方法对模型中参数进行实时估计,将辨识后的参数代入系统方程中,分别以EKF和UKF作为EPF和UPF中的建议密度函数,对电池进行SOC估计.
1 电池建模和参数估计
1.1 电池建模
电路模型通常将一个或多个并联的电容-电阻(RC)网络进行串联,模拟电压的缓慢变化过程,串联欧姆电阻模拟电压的快速变化过程,Zhang等[26]对RC个数与模型计算复杂度和估计误差进行了研究,结果表明随RC个数增加估算的精度会提高,但同时算法的运算时间也会增加.本文综合考虑模型精度与算法复杂度,采用一阶RC电路模型作为电池模型[27],如图1所示.
图1电路模型中包含一个欧姆内阻和一个RC网络,UOCV为电池开路电压;Rin为电池欧姆内阻,用于模拟充放电过程中输出端电压快速变化过程;Rp、Cp代表电池内部的极化内阻和极化电容,模拟工作过程中电池两端电压缓慢变化过程;Ut为锂离子电池的输出电压;URin为电池欧姆内阻两端有电流通过时产生的电压;Up为电池内部并联Rp、Cp网络两端的电压,并规定放电时电流符号为负,充电时为正.根据电路学基本原理可得到电路模型的数学表达式如下:
(1)
Ut(t)=UOCV(t)-(URin(t)+Up(t))
(2)
根据SOC定义,其表达式可写为
(3)
式中:η为电池库仑效率,Qn代表电池额定容量,SOC(t0)表示t0时刻电池初始SOC值,I(t)表示电池工作过程中电流.
方程(1)进行整理后可得
(4)
方程(2)、(4)进行拉氏变换得到
Ut(s)-UOCV(s)=-(UR(s)+Up(s))=
(5)
(6)
令U(s)=I(s),Y(s)=Ut(s)-UOCV(s),得系统传递函数表达式:
(7)
(8)
式(8)中,T为离散后系统采样步长,本研究中采样间隔为1 s.
根据离散后的传递函数表达式(8),可得到输出电压Ut(k)、开路电压UOCV(k)和电路电流I(t)间的数学关系式:
E(k)=a1E(k-1)+a2I(k)+a3I(k-1)
(9)
其中
(10)
方程(9)中,E(k)表示电池输出电压Ut(k)与开路电压UOCV(k)间电压差,UOCV(k)的获取则是通过实验建立的SOC-OCV曲线,如图2通过查表法获得的;方程(10)是方程(9)中各系数的数学表达式,其余各参数含义与方程(1)、(2)中相同.
1.2 模型参数估计
如图1中所示的一阶Thevenin电路模型,该模型需要辨识的参数为Rin、Rp、Cp.室温环境(25±1) ℃下,采用动态应力测试(dynamic stress test,DST)方法[28]对单体电池进行实验室条件下动态充放电测试,使用变化电流激励电池,用于模拟电池动态工作特性,实验中采用的电池信息见表1,采用的DST放电策略见表2,在该放电策略下测得的电池两端电压、电流数据如图3所示.
表2 DST工况测试策略
表1 实验电池详细参数
本文中采用小电流充放电方法对电池SOC与OCV特性进行研究,此方法一定程度上可以降低极化现象对电池端电压的影响,还可以提高实验效率[29].根据文献[30]中的21点数据拟合方法,选取实验中测得的21个SOC-OCV离散数据点,采用9阶多项式对SOC-OCV间关系式进行拟合:
UOCV(k)=p1SOC9(k)+…+p9SOC(k)+p10
(11)
SOC-OCV拟合曲线结果如图2所示,拟合后方程(11)各系数如表3所示.
表3 SOC-OCV多项式拟合系数
表4为SOC-OCV曲线拟合效果优劣的评定参数,误差平方和越接近0,表明模型的拟合效果越好;决定系数取值范围为[0 1],越接近1说明模型对数据的拟合效果越好;校正后决定系数对模型评价的效果与决定系数相同,取值范围也是[0 1],该值越大模型的拟合效果越好;拟合标准差评价效果与误差平方和相同,通常也是越小越好.从以上评价指标数值可以看出,方程(11)对SOC与OCV的关系有良好的拟合效果.
表4 SOC-OCV拟合曲线评定指标
为保证模型SOC估算时初值可靠,同时避免电池模型参数估计过程中旧数据累计造成下一次参数估计无法进行有效的修正情况,本文中模型参数辨识采用带遗忘因子的最小二乘方法.此方法能够通过引入遗忘因子减弱历史数据累计对下次更新时参数权重的影响,利用新观测数据对旧估计值进行修正.在进行参数估计时,将输入数据定义为u(k),待辨识参数定义为θ(k),y(k)定义为输出参数,利用带遗忘因子的最小二乘方法与方程(9)、(10)对电路模型中参数Rin、Rp和Cp进行辨识,辨识结果如图4所示.
动态参数辨识后需要对提出模型的精度进行验证,将图4中辨识后模型参数代入方程(2)中,得到模型估计下的输出电压值如图5(a)所示,并将得到的估计电压与DST工况下的电压进行对比,得到两者的误差如图5(b)所示.
从图5(a)中可以看出仅在4C放电或2C充电时,模型的估计电压误差最大,但此类电流在一个循环周期中作用时间非常短,其余时刻均能实现对实际电压良好估计,电压的平均估计误差仅为0.001 6 V,因此可对本文SOC估计方法验证.
2 基于改进粒子滤波算法的SOC估计
卡尔曼滤波(Kalman filter,KF)是一种线性系统和高斯噪声条件下运用最小均方误差原则进行系统动态估计的方法,实际应用中多数系统为非线性系统,常用处理方式是利用线性化方法将非线性问题转化为近似线性问题进行次优求解运算.EKF是一种常用的非线性处理方法,当系统维数较高时,系统的观测噪声协方差阵和过程噪声协方差阵容易出现非正定,会使滤波器发散;另一种近似非线性滤波方法是UKF,由于该方法非线性函数转化过程中未忽略高阶项,得到的估计结果精度要高于EKF,但是实际应用中的多数非线性系统,其过程噪声和观测噪声并不服从高斯分布,所以KF及其扩展方法在非高斯分布的系统中并不适用.PF算法在求解非线性特性与非高斯条件下系统状态估计问题时较为常用,它通过对系统概率密度函数采样得到的集合进行预测与更新实现状态估计.PF算法中的重要密度函数是先验信息概率密度函数,如果测量精度没有严格要求时,可以得到满意的结果,但PF算法由于没有考虑当前测量值,使得以先验密度函数采样获得的样本集合和以实际后验概率密度采样的粒子集合两者之间产生严重偏差,同时重要性采样中的权重方差也会随时间变大,导致样本中粒子的权重发生退化,在几轮迭代后粒子集中部分粒子权重可能退化至很小,不仅浪费计算资源,同时采样后的粒子集也不能真实表示粒子集合后验概率密度的分布情况.
粒子退化是PF算法存在的一个严重问题,可以采用一些方法对其进行改进,常用的方法有增加采样粒子数目、重采样和选用合理建议密度函数.重采样方法能够减少粒子集合中权重较低的粒子,关注权重较高的粒子,然而这种方法会降低粒子的多样性;而增加粒子数目抑制权重退化又会使算法计算时间大大增加.选择合理的建议密度分布函数,通过重要性重采样技术得到一组样本点集“覆盖”真实粒子状态,便能保证采样的有效性和结果的可靠性.本文从建议密度函数角度改进PF算法,分别以EKF、UKF作为改进滤波算法EPF和UPF的建议密度函数,与PF算法中以先验信息密度函数作为重要密度函数不同,EKF算法能够根据非线性问题的一阶泰勒展开形式,结合最新量测值对后验分布进行估计,并将近似后验密度函数作为建议密度函数实现粒子更新;UKF相比EKF,在处理非线性问题时采用无迹变换处理一步预测中的均值和方差,结合量测值采用一系列样本近似逼近后验概率密度函数,避开了EKF方法中非线性系统一阶泰勒展开而忽略高阶项引起的误差问题,并以得到的后验概率密度函数作为建议密度函数对粒子进行更新,对电池SOC进行估计.
本研究中采用的EPF和UPF算法执行过程如下.
2.1 EPF算法执行步骤
EPF算法执行步骤如下:
(1)初始化,从先验分布中抽取初始化状态:
(12)
(2)用EKF更新粒子:
(13)
(3)更新产生粒子:
(14)
(4)计算粒子权值:
(15)
(5)归一化粒子权值:
(16)
(6)状态估计:
(17)
(7)重采样:
(18)
2.2 UPF算法执行步骤
UPF算法执行步骤如下:
(2)k=1,2,…
①重要性采样:i=1,2,…,N,使用UKF算法更新粒子.
时间更新:
(19)
测量更新:
(20)
③输出融合结果:
(21)
系统离散处理后,得到电池模型的状态方程和观测方程,如式(22)和(23):
状态方程
xk+1=f(xk,uk)+wk
(22)
观测方程
yk+1=h(xk+1,uk+1)+vk+1
(23)
式(22)、(23)中,xk表示系统状态向量,uk表示输入向量,yk表示观测向量.f(·)是状态方程映射函数,h(·)是观测方程映射函数,wk和vk分别模拟系统过程噪声与系统观测噪声.
当SOC(t0)已知时,SOC(t)可由方程(3)计算得到,根据方程(1)、(2),系统状态方程和相应的观测方程可写为式(24)~(27):
(24)
Yk+1=(1 -1 -I(k+1))·
(25)
(26)
(27)
式中:Δt是数据采样间隔;Qn为电池的额定容量;wSOCk、wUp,k、wRin,k为过程噪声,vk+1为观测噪声,过程噪声协方差为(10-410-510-5),观测噪声协方差为10-4;其余模型参数定义与前述相同.
3 实验结果分析
为验证研究中所用两种改进后粒子滤波算法的有效性,本文采用第1章中的DST工况数据对电池的SOC进行估计,实验中电池电流、电压数据如图3所示.根据电池模型状态方程和观测方程,将辨识后的参数代入模型中,按照EPF、UPF算法流程执行,可以得到DST工况下,基于EKF、UKF、PF、EPF和UPF共5种算法的电池SOC估计值,如图6所示.
从图6曲线可以看出,SOC估计所用的5种算法中,PF算法及其改进的EPF和UPF算法下SOC估计值波动程度要小于EKF和UKF算法,对参考SOC的追踪能力好于KF类算法.图7为5种滤波算法下的SOC与参考SOC两者间偏差D对比图,由图7可知,EKF、UKF和PF滤波算法中,PF算法估计偏差曲线波动最小,EKF算法估计偏差曲线波动最大,而UKF算法估计效果介于EKF和PF算法之间.PF、EPF和UPF算法SOC估计偏差对比结果表明,改进后EPF与UPF算法估计的结果要好于PF算法下的估计结果.以UKF为建议密度函数的UPF算法SOC估计偏差明显小于以EKF为建议密度函数的EPF算法的估计偏差,并且UPF方法的偏差波动范围较小,稳定性好于EPF.图8是5种滤波算法估计误差e和估计误差统计特征量f分析,从图8(a)中可以看出SOC的估计误差与图7中偏差的分析结论相似,EPF和UPF两种改进后的PF算法在进行估计时稳定性高于EKF、UKF和PF 3种传统滤波算法,从两种改进后的算法估计误差曲线看出,UPF算法估计误差和误差曲线波动程度要小于EPF算法.图8(b)是5种算法SOC估计误差结果的统计特征量,分别是SOC估计误差的均值、标准差和最大估计误差,采用EKF、UKF和PF算法估计情况下,平均误差分别为3.26%、2.19%和1.36%,标准差为2.14、1.68和1.35,表明PF算法的估计效果优于EKF和UKF;而PF、EPF和UPF 3种算法下估计误差结果的均值、标准差分别为1.36%、1.09%、0.71%和1.35、1.25、0.79,EPF和UPF的估计精度相对于PF算法分别提高19.8%、47.8%,说明以UKF为建议密度函数进行重采样的UPF算法SOC估计效果优于以EKF为建议密度函数进行重采样的EPF估计效果,两者与PF算法相比在一定程度上抑制了粒子退化现象.
4 结 语
本文选择Thevenin一阶等效电路模型作为电池研究模型,提出了基于EPF、UPF算法的动力电池SOC估计方法.在实验室DST数据条件下,采用带遗忘因子的最小二乘方法辨识电池模型中未知参数,将辨识后的参数代入模型状态方程和观测方程,结合改进后的EPF和UPF算法,对电池的SOC进行估计.结果表明,以UKF为建议密度函数进行重采样后的UPF算法得到的SOC估计误差均值为0.71%,标准差为0.79,低于以EKF为建议密度函数重采样的EPF算法下的均值1.09%和标准差1.25;与PF算法相比,UPF算法通过选择合理的建议密度函数抑制了PF算法中粒子权重退化的现象,提高了SOC估计的精度,比以EKF为建议密度函数的EPF方法在SOC估计中更有意义.