基于IAF-NARX 的车载锂电池SOC 实时估算
2020-07-17陈德海邹争明丁博文华铭
陈德海,邹争明,丁博文,华铭
(江西理工大学电气工程与自动化学院,江西 赣州341000)
0 引 言
锂离子电池因具有能量密度高、使用寿命长、环保等优点,被广泛用作新能源电动汽车的动力电源。 SOC 定义为当前剩余电量占总容量的比值,直接反映了电池当前剩余电量状况,是电动汽车电池管理系统 (BMS) 监测电池性能状态的关键参数,SOC 的准确估计有助于延长电动汽车电池组的使用寿命和提高整车的性能。 车载锂电池SOC 值与充放电流、端电压、温度、循环次数存在复杂的非线性耦合关系,导致建立电池模型困难,给SOC 估算增添了很大的难度[1]。目前SOC 估算方法主要分为三类,第一类是直接法,常用的有内阻法、放电法、优化安时积分法等;第二类是基于电池模型的估计算法,主要是卡尔曼滤波算法、粒子滤波算法等;第三类是基于数据驱动的估计方法,主要有神经网络法和支持向量机法等,该类方法通过智能算法依据大量的放电数据拟合出SOC 与某些表征参数之间的数学模型。 优化安时积分法的估算精度依赖于SOC 初值及电流测量值的准确度;卡尔曼滤波法对电池模型的依赖性太高,对于不同锂电池需要建立不同的电池模型,实际应用过于复杂;而传统的模型建立方法又不适应于多变量、非线性的系统建模,因此导致该类方法的估计精度低、适应性差。由于神经网络具有较强的学习能力,能从大量数据中自动地找出输入输出之间的函数关系,无须建立机理模型,因此针对电池SOC 估计中模型建立困难的问题,神经网络的优越性得以体现。
为了提高SOC 估算模型的鲁棒性和估算精度,文献[2]利用粒子群算法优化支持向量机模型,虽然提高了估计精度,但是模型的适用性差,在复杂工况下难以应用,不能满足汽车工业的要求。 文献[3]在考虑电压、电流、温度对SOC 影响的基础上,通过BP 神经网络建立SOC 估算模型,虽然该方法能有效估算SOC,但是忽略了电池寿命衰减对SOC 的影响,精度有待提高。 文献[4]考虑电池寿命衰减对SOC 的影响,建立基于广义生长剪枝径向基函数神经网络的多参数SOC 估算模型,同时通过一阶阻容等效电路模型给RBF 神经网络引入反馈环节,通过输出值来修正估算模型,该方法解决了RBF 神经网络神经元个数选择的随机性,在一定程度上提高SOC 估算精度,但是该方法忽略实际充放电过程中等效模型的各参数是随实际环境实时变化,没有建立随环境条件改变的动态模型,适应性有待提高。
针对目前车载锂电池SOC 存在估算时误差大、适应性差、建立动态数学模型困难的问题,本文提出一种基于IAF-NARX 车载锂电池SOC 估算模型。 为了提高模型的估计精度和自适应性,首先通过改进的人工鱼群算法优化NARX 神经网络的结构参数,其次在考虑电池老化、温度、自放电等对SOC 估算的影响的基础上,引入锂电池的健康状态[2](SOH)、温度作为模型的输入参数,并通过电池模型将SOH、温度与内阻联系起来,以减少神经网络输入个数,降低算法的计算量。
1 问题描述与数学模型
锂电池SOC 值是反映电池当前剩余电量大小的参数,不能直接测量,只能通过相关的参数间接获得。SOC 的影响因素有许多,主要有充放电电流、电压、工作温度、老化程度等因素。SOC 与这些因素有着强烈非线性耦合关系,加之这些因素之间存在一定的累积效应,给建立SOC 估计模型带来很大的困难。考虑到人工神经网络具有逼近任意复杂非线性函数的能力[5],文中提出建立一种基于IAF-NARX的车载锂电池SOC 估算模型。
1.1 NARX 神经网络
NARX (Nonlinear autoregressive with external inputs) 是一种带有外部输入的非线性自回归神经网络,属于动态神经网络的范畴,它具有良好的学习能力、泛化能力、非线性映射能力,擅长处理与SOC 估计同一类的时间序列问题[6]。 NARX 由四层神经元构成,分别为输入层、输出层、隐含层、延迟层,结构如图1 所示。
图1 中D 模块表示延迟模块,其输出代表上一时刻输入、输出变量;P 表示隐节点的个数。 网络的信息逐层传递,每层神经元的输出状态仅影响与之相连的神经元的状态。 隐含层的第m 个神经元的输出为:
图1 NARX 结构图
其中,X、Y 分别表示输入、输出时间序列;d1表示输入层的延时阶数;d2表示输出层的延时阶数;WX、WY为权重向量;hm、bm分别表示隐含层第 m 个神经元的输出值和阈值;fm为隐含层第m 个激活函数。输出层的输出为:
其中,H(n+1)表示隐含层输出向量;b 表示输出层神经元的阈值;g(…)表示输出层的激活函数。
由公式(1)、(4)、(5)可知网络的输出值由多个时刻输入变量的值和网络的输出值共同决定,因此NARX 可看成一种处理时间序列的反馈型神经网络。 NARX 神经网络结构参数共3 个,分别为输入层延时阶数、输出层延时阶数、隐含层神经元的数目,这些结构参数的微小变化对NARX 神经网络性能会产生较大影响,为了得到网络最佳的结构参数,文中提出一种求解整数规划问题的改进人工鱼群算法。 NARX 神经网络模型误差为:
1.2 人工鱼群算法
人工鱼群算法(Artificial fish swarm algorithm,AF) 通过模拟鱼群中人工鱼寻食过程中4 种活动来进行寻优,包括觅食、追尾、聚群行为、随机行为,最终获得全局最优解的智能优化算法,算法中每条人工鱼都代表一个潜在解[7],对应一个适应值。人工鱼在感知范围内有意识选取一个有利方向 (适应值大的位置),然后根据周围环境做出相应行为,实现个体寻优的目的,其人工鱼的行为活动数学模型如下:
其中,Xi,Xj表示不同人工鱼位置;step 表示步长;表示视野;σ 表示拥挤度因子,用来衡量鱼群的允许拥挤程度的大小,值越大表示允许拥挤程度越大;d 表示迭代次数;公式(9)描述是人工鱼的随机行为。能否将人工鱼群算法用于整数规划问题求解最主要限制是确保可行解在整数范围内,避免不必要的实数搜索,提高算法寻优效率。 解整数规划与一般优化问题一样,同样易陷入局部最优和优化后期求解精度低,为了高效求解整数规划问题,文章提出一种改进AF 算法。
1.3 改进AF 算法
AF 算法具有全局搜索能力强、对初始值选择不敏感和抗干扰性能好[8]等优点,同时该算法也具有一些局限,算法在优化后期寻优精度低。 为了解决AF 算法寻优精度低的问题,文中提出一种自适应的拥挤度因子改进方法,具体思想是在优化初期,聚群的人工鱼数目应该小,避免算法陷入局部最优,在优化后期,聚群的人工鱼数目应该大,用来提高寻优精度。 在前期算法为了减少算法的计算量,本文将人工鱼xi的视野设置为离它最近的人工鱼的距离[9],将步长设置为视野乘以一个固定系数(0<λ<1)。在算法初期,人工鱼之间的距离比较远,随着迭代次数增大,人工鱼均向着最优的地方移动,它们之间距离变小,则步长会随视野动态变化。 将改进人工鱼群算法用于整数规划问题求解最重要的约束是确保人工鱼每次搜索空间在整数范围内,避免不必要的实数搜索,提高算法寻优效率。 其解决方法通过随机产生初始整数解,然后将动态步长取整,确保每次搜索空间都在整数范围内,数学公式如式(13)所示。
设人工鱼群的规模为N,其数学模型为:
其中,σ0为初始拥挤度;int()表示取整运算。
2 IAF-NARX 模型估算车载锂电池
电动汽车锂电池在充放电过程中,由于内部复杂的电化学反应,导致SOC 的影响因素多且复杂,其中主要包括充放电倍率、自放电、工作温度、循环次数以及电池老化程度[10]等因素。 通过文献[1]、文献[5]分析可知,温度升高会导致电池的电极材料、电解液溶解,温度下降时锂离子活性物质[11]的迁移速度会变慢,这都将导致放电效率和可用容量下降,造成SOC 估算值偏大。随着循环次数的增加,锂电池内部电解液、电极材料累积消耗增大,副反应增多,导致可用容量、充电效率明显减小,造成SOC 估算不准确。此外,锂电池自放电现象会造成实际放电量偏小,对SOC 估算造成影响;最后若充放电流增大,锂电池内部的锂离子活性物质的迁移速度会加快,伴随着大量副反应,导致锂电池的可用容量减小。 综上分析,温度、电池老化、电池自放电对SOC 估计精度都有影响。 为了消除温度、电池老化、自放电对SOC 估计精度的影响,文中初步考虑在电压、电流的基础上再引入内阻和温度作为神经网络的输入。电池老化程度实际上可用电池寿命(SOH)来衡量[12];研究表明,电池内部电阻与SOH 呈现负相关关系,电池老化可用电池欧姆内阻来表征。故选择电池的电流、电压、温度、内阻作为NARX 的输入变量可以消除造成SOC 估计出现误差的主要因素,然而增加输入变量的个数又会导致算法计算量增大,处理速度变慢。
为了进一步提高SOC 估计的数学模型的自适应性以及降低神经网络的输入量的个数,将电池SOH、温度、自放电通过电池等效模型与电池的内阻联系起来。 电池内阻是通过电池等效GNL 模型在线辨识得到,模型中的参数在实际应用中并不是固定的,而是随电池的温度以及电池使用次数实时更新。 图2 为GNL 模型电路结构图。
图2 GNL 模型电路结构
GNL 模型是根据电池的各种电阻建立的,不同电阻模拟电池充放电中不同的反应过程。 GNL模型中Ug表示电池的端电压;Uocv表示电池的开路电压;Rz的值描述电池自放电程度;R0表示电池欧姆电阻;Rcp表示极化内阻,模拟电极材料浓度差极化反应过程,该模型能够较好地反映电池充放电过程的动态特性。 为了提高内阻在线辨识精度和速度,采用递推最小二乘法(RLS)实现电池内阻在线辨识[13]。 其中新的估计值是在旧的估计值基础上递推得到,LSR 辨识速度快,样本数据需求量少,能实现参数在线识别。 由GNL 模型分析得出输入输出递推方程:
其中,θ 表示等效电路多个参数组成向量;f1~f5表示RLS 待辨识的参数,是关于模型参数的函数。 端电压、放电电流是电池SOC 估计中常用的两个检测参数,因此本文选择电池的电压、电流、欧姆内阻作为NARX 的SOC 估算模型的输入变量。 NARX 的误差函数即为改进人工鱼群算法的目标函数,其输出为电池SOC 值。
改进人工鱼群算法的目的是找出最优的输入、输出的延时阶数和隐含层神经元的数目使目标函数达到最优,改进人工鱼群算法优化NARX 神经网络步骤如下:
Step0:设定改进人工鱼群算法的参数,鱼群规模为10,最大迭代次数为100,初始步长为1.5,人工鱼觅食行为尝试次数为10。 设定输入,输出的延时阶数和隐含层神经元的数目的上下限,其中输入和输出的延时阶数的上限为10,下限为0;隐含层神经元的数目的上限为1,下限为20。
Step1: 先通过LSR 获取欧姆内阻,然后将输入、输出样本数据做归一化处理。
Step2: 按照初始化方法,产生初始输入、输出延时阶数及隐含层神经元的个数,即产生初始人工鱼群。
Step3:运行NARX 神经网络,并计算目标函数,其中网络学习算法选用LevenVerg-Marquardt 法。
Step4:执行 IAF 算法,产生下一代人工鱼。 更新输入,输出延时阶数及隐含层神经元的个数。
Step5:判断目标函数是否满足终止条件,若满足,得到SOC 估算模型;否则,执行step4 直至满足条件为止。
3 实验测试
3.1 车载锂电池放电实验
实验所使用的电池为两种不同类型的锂电池,一种是磷酸铁锂电池,电池容量为600 mAh,标称电压为3.2 V;另一种是锰酸锂电池,电池容量为7500 mAh,标称电压为3.7 V。 电池组分别由16 节同一种型号锂电池串联组成,依次给单个电池编号,编号为 1,2,…,16。 实验原理图如图 3 所示。 实验前先将锂电池组充满电,然后进行放电实验,每隔1 min 采集一次锂电池组的电压、充放电流、电池温度以及其中个别电池放电数据,其中SOC 值通过放电实验法获取,记录相关数据。 总共1200 组放电数据,1000 组数据用于训练,200 组用于测试。 按照同样方法,获取车载锂电池放电数据。 共3 组实验,第1 组是在锰酸锂电池在不同温度和循环次数下的放电实验; 第2 组是在城市驱动标准工况[14](FUDS)下车载锰酸锂电池放电实验;第3 组为在美国城市循环工况(UDDS)下三元锂电池放电实验。
图3 实验原理图
3.2 估算模型验证
为了验证AF-NARX 估计模型的估计精度及适应性,本文分别以锰酸锂电池和三元锂电池为研究对象进行训练测试,其中图4~图6 为锰酸锂电池的实验结果。
图4 为IAF 优化NARX 神经网络的结构参数随迭代次数变化的曲线图,由图4 看出在第25 次迭代时,目标函数已经收敛,此时NARX 的输入、输出延迟阶数和神经元的个数分别为5,3,17,在这种结构参数组合下NARX 神经网络拟合效果最好,并且说明IAF 算法能确保人工鱼每次搜索空间在整数范围内,在多次迭代后最终找到最优解。图5 为两种不同估计方法下车载锂电池测试结果,明显看出IAF-NARX 估计精度比NARX 高,因此IAF 优化算法可以在一定程度上提高了网络的预测精度。 图6 为锰酸锂电池的SOC 估算误差,由图6可知最大误差不超过0.008,进一步说明模型对于复杂工况下锂电池的SOC 仍然有较高的估计精度。
图4 NARX 神经网络结构参数变化曲线
图5 FUDS 循环下SOC 估算结果
图6 IAF-NARX 的SOC 估算值误差
图7 三元锂电池IAF-NARX 的SOC 估计误差
图8 不同温度下的SOC 估算结果
图9 不同循环寿命状态下的SOC 估算结果
图7~图9 为三元锂电池的测试结果,由图7可知最大误差不超过0.006,说明该估计方法对不同的电池仍然适用。图8 为三元锂电池处于不同温度下的 SOC 估计结果,由图 8 可知,-10~50 ℃范围内NARX 估计的SOC 值基本上和实际值吻合,说明建立NARX 估计模型对不同温度下电池也能精准估计。 图9 为不同循环寿命状态下的测试结果,结果表明建立NARX 估计模型对不同循环次数的电池SOC 估计也适用。
为了体现本文估算方法优越性,采用4 种估算方法对4 类不同情况下锂电池进行SOC 估算,为了消除其他因素对实验结果的影响,在测试4 种估算方法时,控制其他因素相同。
表1 为不同情况下预测误差,由表 1 可知,4 种SOC 估计方法中精度最高的为IAF-NARX 方法,其次是RBF 方法,最低为安时积分法,同时易知对于不同锂电池及不同运行环境,IAF-NARX 模型都能满足最低的 SOC 估计精度要求(MSE≤0.04)。
表1 不同情况下锂电池预测结果对比
4 结 论
文中建立基于IAF-NARX 的SOC 估算模型,通过改进AF 算法优化NARX 神经网络的输入、输出延时阶数、隐含层神经元数目3 个结构参数,通过内阻在线辨识综合考虑温度、循环次数、自放电对SOC 估算的影响,减少输入变量的个数,该方法巧妙将两种不同算法结合在一起,提高了SOC 估计模型的精度以及模型自适应性。 仿真结果表明,基于改进AF 算法优化NARX 神经网络的SOC 估算模型较传统神经网络模型在预测精度、自适应性方面都有一定的提升。