董祥祥, 武 鹏, 葛传久, 金俊喆, 闫书佳, 陈 蓓
(上海工程技术大学电子电气工程学院, 上海 201620)
随着全球能源危机和环境污染问题的日益加重,无污染、零排放的新能源汽车得到了快速发展。锂离子电池因能量密度高、放电率低、使用寿命长等优点被广泛应用于新能源汽车动力系统中。锂电池的荷电状态(State of Charge,SOC)是描述电池剩余电量的指标,可用于防止电池过充过放、电动汽车行驶里程预测以及电池均衡管理,是电动汽车电池管理系统重要参数之一[1]。然而,电池的SOC无法直接测量,其大小受电池的工作温度、工作电流和电池老化程度等参数的影响。因此,准确的SOC估计是制约新能源汽车快速发展的关键因素。
为了准确估计电池SOC,国内外学者提出了多种估算方法。安时积分法[2]因计算简单在实际工程中得到了广泛的应用,但它无法解决SOC初始值的问题;开路电压法[3]需对电池进行充分时间的静置以确保电池达到稳定状态,难以实现SOC的在线实时估计;机器学习法包括神经网络法[4, 5]、模糊逻辑法[6, 7]、支持向量机法[8]等,可以获得较好的SOC估计精度,但需要大量的数据对模型进行训练;电池等效电路模型具有强非线性,扩展卡尔曼滤波[9, 10](Extended Kalman Filter,EKF)算法通过泰勒级数展开对电池等效电路模型进行线性化,忽略二阶及以上的高阶项,不可避免地引入了线性化误差;无迹卡尔曼滤波[11, 12](Unscented Kalman Filter,UKF)算法通过无迹变换对非线性系统进行处理,将SOC估计精度至少提高到二阶;粒子滤波法[13]基于统计学的知识对SOC进行估计,它无需要求系统的噪声特性服从高斯分布,但计算过程较为复杂。
当前,基于EKF和UKF的电池SOC估计算法大都假定系统噪声是固定的,但电池实际工作环境较为复杂,系统噪声特性通常难以准确获知。针对锂离子电池因噪声特性未知导致SOC估计不准确的问题,本文提出了一种新的自适应无迹卡尔曼滤波算法(Adaptive Unscented Kalman Filter,AUKF)。AUKF在SOC估计的同时,自适应估计系统噪声,进而提高SOC估计的准确性和稳定性。为了实现AUKF对SOC的自适应估计,首先,选择二阶RC等效电路对电池进行建模,并完成相关参数辨识,获得AUKF估计SOC所需的状态方程和测量方程;其次,提出改进的Sage-Husa自适应滤波算法,改进的Sage-Husa自适应滤波算法在自适应估计系统噪声的同时,还可以保证系统噪声协方差的对称性和非负定性;然后,将改进的Sage-Husa自适应滤波算法与UKF结合,提出AUKF算法;最后,基于电池状态方程和测量方程,将AUKF用于SOC估计。基于美国联邦城市运行工况(Federal Urban Driving Schedule,FUDS)[14]数据,对AUKF算法进行验证,并将SOC估计结果与UKF进行对比。
卡尔曼滤波是在已知系统状态模型、测量模型以及系统噪声统计特性前提下,利用观测数据和系统模型输出方程,实时获得系统最优状态的无偏估算。准确的电池模型是使用卡尔曼滤波精准估计SOC的前提。锂电池常用的等效电路模型[15-17]有Rint模型、Thevenin模型、PNGV模型以及GNL模型。其中,同时考虑电池静态特性和动态特性的Thevenin模型被广泛应用于锂电池SOC估计中。根据串联RC环节的数量,Thevenin模型可分为一阶RC模型和多阶RC模型[18]。电池模型的精度随着模型阶数的增加而增加,但模型阶数越高,计算的复杂度也就越高。综合考虑电池模型精度和计算复杂度,本文采用二阶RC模型对电池进行建模。二阶RC等效电路模型如图1所示。
图1 锂离子电池二阶RC等效电路模型
图1中,Uo为电池开路电压(Open Circuit Voltage,OCV),与电池SOC存在强非线性关系;Im为电池的工作电流,本文选取电池放电方向为正方向;R0为电池的欧姆内阻;R1和R2为电池的极化电阻;C1和C2为电池的极化电容;UL为电池的端电压;R1、C1并联环节和R2、C2并联环节的电压分别为U1和U2。
根据锂离子电池的二阶RC等效电路模型,结合安时积分法,选取电池SOC、两个RC并联环节的电压U1和U2作为系统的状态变量,并令xk=[SOCkU1,kU2,k]T,可得离散化后的电池状态方程和测量方程[19]:
(1)
UL,k=Uo(SOCk)-Im,kR0-U1,k-U2,k
(2)
式中,k为离散时间;xk为系统在k时刻的状态变量;τ1、τ2为时间常数,τ1=R1C1,τ2=R2C2: Δt为系统采样周期;η为库伦效率,对于锂电池,η≈1;CN为电池的额定容量。
电池的OCV与SOC是一一对应的关系,在电池的SOC估计过程中起着重要的作用。本文以三星18650动力锂电池为研究对象,通过开路电压试验[20]来获取SOC-OCV关系曲线。为了减小电池模型误差,本文对同一SOC值下的充放电方向上的OCV取平均值,然后对SOC-OCV关系曲线进行5次多项式拟合,拟合曲线如图2所示。
图2 SOC-OCV关系拟合曲线
在对电池SOC进行估计时,需对电池二阶RC等效电路模型中的相关参数R0、R1、R2、C1和C2进行辨识。在系统参数辨识中,最小二乘法因无需先验统计知识、计算量小等优点被广泛应用。本文基于锂电池在动态压力测试工况(Dynamic Stress Test,DST)[21]下的实测数据,使用离线递推最小二乘法[22]完成R0、R1、R2、C1和C2的参数辨识。为了降低模型参数辨识的误差,本文将离线递推最小二乘法辨识获得的多组电池参数取平均值作为最终辨识结果,辨识结果如表1所示。
表1 电池参数辨识结果
将2.2节获得的SOC-OCV多项式拟合关系与本节辨识获得的二阶RC等效电路模型参数R0、R1、R2、C1和C2代入式(1)、式(2),即可获得18650动力锂电池用于AUKF估计SOC的状态方程和测量方程。
使用UKF算法估计电池SOC时,需提前对系统的过程噪声和测量噪声进行设定。通常,将系统过程噪声和测量噪声设置为定值。如果系统噪声特性已知,过程噪声和测量噪声的预设值与实际噪声特性相匹配,UKF可以获得较高的SOC估计精度。但在实际中,电动汽车的行驶过程和运行环境复杂多变,系统噪声特性往往是未知的,有时甚至是时变的。如果电动汽车运行时,系统噪声预设值与实际噪声特性不匹配,将导致较大的SOC估计误差,严重时将导致滤波失败。因此,在UKF估计SOC的过程中,为了降低系统噪声对SOC估计精度的影响,需要对系统噪声进行自适应估计。原理简单、实用性好的Sage-Husa自适应滤波算法被广泛应用于系统噪声估计。本文将改进的Sage-Husa自适应滤波算法与UKF相融合构成AUKF,基于2.1节~2.3节获得的锂电池状态方程和测量方程,将AUKF用于电池SOC估计,在估计电池SOC的同时自适应估计系统噪声。
UKF算法的核心思想是,首先,在估计值附近通过无迹变换构造一组采样点,该采样点称为Sigma点,这些Sigma点具有与系统状态分布相同的均值和协方差;然后,将这些采样点经非线性函数直接进行传递;最后,基于这些Sigma点非线性变换后的结果来计算系统状态的后验均值和协方差[23]。
为了使UKF可以在线估计电池SOC,对式(1)和式(2)作如下处理,令:
(3)
(4)
uk=[Im,k]
(5)
yk=[UL,k]
(6)
根据式(1)~式(6),考虑系统过程噪声和测量噪声,用于UKF估计SOC的锂电池状态方程和测量方程可表示为:
(7)
式中,yk为系统的观测变量;uk为系统的输入变量;f和g分别为系统的状态函数和观测函数;ωk和vk分别为系统的过程噪声和测量噪声,均为0均值的高斯白噪声,其方差分别为Qk和Rk。
使用UKF估计电池SOC的步骤可总结如下:
(8)
式中,E(·)表示均值。
(9)
式中,ωm、ωc分别为均值和方差的权重;n为状态变量的维数;β为一个非负的权系数,可以合并高阶项中的动差,当Sigma点成高斯分布时,通常取β=2;α为尺度参数,决定了Sigma采样点在状态变量处的分布状态,满足1e-4≤α≤1;λ为比例因子,可表示为:
λ=α2(n+κ)-n
(10)
式中,κ为可调参数,在状态估计时通常取0。
(2)计算k-1时刻状态变量的Sigma采样点:
(11)
(3)状态变量时间更新:利用步骤(2)获得的2n+1个Sigma采样点,计算k时刻状态变量均值和协方差的预测值:
xi,k|k-1=f(xi,k-1,uk),i=0~2n
(12)
(13)
(14)
式中,qk-1为系统过程噪声的均值;k|k-1表示基于k-1时刻的变量值对k时刻变量值的预测。
(4)测量变量时间更新:计算k时刻观测变量的预测值:
χi,k|k-1=g(xi,k|k-1,uk)
(15)
(16)
式中,rk-1为系统测量噪声的均值。
(5)计算UKF的增益矩阵Kk:
(17)
其中
(18)
(6)状态变量测量校正:计算校正后k时刻的状态变量估计值及状态变量最优协方差矩阵:
(19)
(20)
Sage-Susa自适应滤波算法是在进行递推滤波时,利用测量的数据,通过时变噪声估值器,实现对系统过程噪声和测量噪声统计特性的实时估计和修正,进而达到降低系统模型误差、抑制滤波发散、提高滤波精度的目的[24]。使用Sage-Husa自适应滤波算法对系统过程噪声和测量噪声的估算步骤可总结如下[25, 26]:
(1)计算系统过程噪声均值估计值:
(21)
其中
(22)
式中,b为遗忘因子,取值范围通常为0.95~1。
(2)计算系统过程噪声协方差估计值:
(23)
式中,ek为残差,可表示为:
(24)
(3)计算系统测量噪声均值估计值:
(25)
(4)计算系统测量噪声协方差估计值:
(26)
(27)
(28)
式中,diag(diag(·))表示以(·)的主对角线元素所构成的对角矩阵。
式(21)~式(28)即为改进的Sage-Husa自适应滤波算法,其保证了系统过程噪声和测量噪声的非负定性和对称性,在与UKF结合时,能够确保系统状态变量协方差的半正定性,在减小系统噪声对电池SOC估计影响的同时,提升了SOC估计的稳定性。
将改进的Sage-Husa自适应滤波算法与UKF结合即可组成AUKF算法,AUKF在估计SOC的同时可以实现系统噪声的自适应估计,从而提高SOC估计的准确性和稳定性。使用AUKF估计电池SOC的主要步骤如图3所示。
图3 AUKF估计电池SOC流程图
实际生活中,电动汽车运行工况比较复杂,锂离子电池工作电流变化也比较剧烈。为了验证本文所提AUKF估计电池SOC的准确性,基于2.1节~2.3节获得的三星18650动力锂电池状态方程和测量方程,在较为复杂的FUDS工况下对所提估计方法进行了验证,同时将AUKF估计得到的SOC与UKF估计得到的SOC进行了对比。SOC的真实值由安时积分法获得。FUDS工况下锂电池实测工作电流Im、端电压UL曲线如图4和图5所示。图4中,正电流代表放电,负电流代表充电。
图4 FUDS工况工作电流曲线
图5 FUDS工况端电压曲线
电池SOC的估计结果如图6和图7所示。由图6可知,AUKF和UKF均可以在SOC初始值偏离真实值的情况下快速收敛到SOC的真实值附近,两者对SOC的估计曲线变化趋势与SOC真实曲线基本一致,相较于UKF,AUKF对SOC的估计曲线更接近真实值。由图7可知,收敛后,由于AUKF可以通过改进的Sage-Husa自适应滤波算法自适应估计系统实际噪声特性,在整个SOC估计过程中,AUKF的SOC误差估计曲线波动较小;而UKF由于噪声固定,随着放电的深入,预设噪声不能反映系统实际噪声特性,导致其对SOC的估计误差曲线波动逐渐增大。7 000 s后,AUKF和UKF对SOC的估计误差均较大,这是因为随着放电的深入,电池模型已不能很好地模拟电池实际工作特性,电池模型的误差累积导致SOC的估计误差逐渐增大。
图6 FUDS工况电池SOC估计对比曲线
图7 FUDS工况下电池SOC估计误差对比曲线
为了更直观地比较AUKF和UKF对SOC的估计性能,本文使用最大绝对误差(Maximum Absolute Error,MAE)和均方根误差(Root-Mean Square Error,RMSE)对两种估计算法进行综合评价。其中, MAE为不考虑收敛段,500 s之后的SOC最大绝对误差。MAE和RMSE越小,算法对SOC的估计准确度越高、稳定性越好[27]。MAE和RMSE的计算方式如下:
(29)
(30)
在FUDS工况下,AUKF、UKF的MAE和RMSE对比如表2所示。
表2 FUDS工况AUKF、UKF算法MAE和RMSE对比
由表2可以看出,AUKF的MAE、RMSE均比UKF的小。相较于AUKF,UKF的MAE增加了2.42%,RMSE增加了0.012 7,AUKF对SOC估计的准确性和稳定性均优于UKF。
电池SOC是新能源汽车电池管理系统的关键参数,准确的电池SOC估计对促进新能源汽车的发展有着重大的意义。本文提出AUKF算法来解决锂离子电池因噪声特性未知导致SOC估计不准确的问题,主要结论如下:
(1)选择二阶RC等效电路模型对电池建模,获得用于AUKF估计SOC的状态方程和测量方程。
(2)提出改进的Sage-Husa自适应滤波算法,改进的Sage-Husa自适应滤波算法在自适应估计系统噪声的同时,还具有保证噪声协方差对称性和非负定性、提高滤波稳定性的优点。
(3)提出AUKF算法,将AUKF用于SOC估计,AUKF算法在估计SOC的同时能够实现系统噪声特性的自适应估计。
(4)将AUKF在FUDS工况下进行验证,实验结果表明,与UKF相比,AUKF对SOC估计的准确度更高、稳定性更好。