卡尔曼滤波与数据驱动融合的电池soc估计方法

文档序号:10723088阅读:1979来源:国知局
卡尔曼滤波与数据驱动融合的电池soc估计方法
【专利摘要】本发明公开了一种卡尔曼滤波与数据驱动融合的电池SOC估计方法,属于电池SOC估计方法技术领域。本发明提出一种噪声方差可变的卡尔曼滤波与最小二乘支持向量机融合的方法(Varied Variance Kalman Filter?Least Square Support Vector Machine,VVKF?LSSVM),以KF的两个方程为根据,每次迭代时设置最适应当前系统状态的噪声方差,克服了卡尔曼滤波噪声方差初值依靠人为经验设定造成精度下降的问题。选用最小二乘支持向量机(Least Square Support Vector Machine,LS?SVM)作为KF的量测方程从数据角度出发,通过简单样本库的构建完成了适应于多种电池的SOC估计方法,并通过动态建模提高了估计精度。分别使用NASA、CACLE锂电池数据集的部分数据进行实验证明了VVKF较KF的优越性以及整体方法对于锂电池SOC估计的有效性。
【专利说明】
卡尔曼滤波与数据驱动融合的电池 soc估计方法
技术领域
[0001] 本发明涉及一种卡尔曼滤波与数据驱动融合的电池 S0C估计方法,属于电池 S0C估 计方法技术领域。
【背景技术】
[0002] 人们通常只通过端电压的观测避免电池的过充电与过放电,而随着人们对电池使 用要求的增高,荷电状态(state of Charge,S0C)就像汽车油表盘一样作为电池管理的主 要参数。电池是将化学能转化为电能的装置,因此其荷电状态具有不可测量性,通常将端电 压、工作电流、内阻等参数与S0C对应,从而通过这些物理量估计S0C。目前电池 S0C估计方法 有很多,可分为开路电压法、安时法、内阻法、基于模型方法、数据驱动方法以及融合方法。 常用方法包括电流积分法,开路电压法,卡尔曼滤波及其组合的方法。开路电压法需要长时 间静置才可以测得,因此其不适用于在线估计S0C。而内阻法需要精确的测量电池内阻,使 其对测量仪器的精度要求极高,因此也不适用于在线估计S0C。安时法是一种估计S0C的直 接方法,其需要S0C的初值以及较高精度的电流测量,其误差会不断累积因此不可单独使 用。
[0003] Gregory L.Plett在2004年使用扩展卡尔曼滤波有效的估计了电池状态,证明了 这一类方法在电池状态估计上的可用性,在此之前卡尔曼滤波在电池状态估计领域应用较 少。近年来卡尔曼滤波在这一领域极为活跃,其作为一种统计滤波的方法其经常与安时法、 等效电路模型、电化学模型等结合使用,其具有着动态特性良好、计算量适中的优点,大量 学者就卡尔曼滤波以及其衍生方法针对S0C估计完成了丰富的研究成果。但鲜有人关注此 类方法具有需设置初始值、精度极其依赖模型的缺点。作为卡尔曼滤波中观测方程的各类 模型,其参数受环境因素、工况因素、电池型号、电池健康状态影响极大,因此模型对于电池 不适应性会造成极大地S0C估计误差。虽然卡尔曼滤波良好的迭代收敛特性使其对于初始 值的设定并不敏感,通过经验选取合适的初值并迭代下去也取得了相对较好的估计效果, 但随着电池的老化、电池型号的改变以及电池使用环境的变化,其模型的适应性必然发生 变化,若系统噪声的预设参量设置与当前工况相差较多就会造成S0C估计的精度极差甚至 发散。因此,针对噪声方差矩阵Q和量测误差方差矩阵R不可知导致滤波发散的问题一些学 者采用了自适应卡尔曼滤波(Adapt Kalman Filter,AKF)解决电池 S0C估计问题,但此类方 法大多在卡尔曼滤波的基本原理中添加一个遗忘因子,通过观测值修正误差协方差,动态 变化Q、R提高其收敛速度,而未考虑到观测模型和状态方程会跟随系统不断变化,而且其还 造成了遗忘因子设置的盲目性,从而导致了误差随公式变化而并非跟随实际的迭代过程不 断变化,进而造成了估计精度的下降。
[0004] 数据驱动方法是另一类估计S0C的常用方法,是一种将电池作为一种不可知其内 部结构的黑箱,采用电池外部参数与电池状态统一进行样本训练,找到外部参数与电池状 态间的非线性关系,从而通过采集电池外部参数估计电池当前状态。支持向量机(Support Vector Machine,SVM)、神经网络(Artificial Neural Network,ANN)等方法均属于这一 类。SVM算法基于结构风险最小化原则,相比于神经网络有泛化能力强、收敛到全局最优、维 数不敏感等优点。有人使用SVM输入电压、电流、温度建模最终较为准确的估计了电池 SOC。 在实际应用中,经常会面对多种类、多工况的问题,其产生的数据量是极大的,而SVM存在大 规模训练样本难以实施的问题,因此有人采用了 LS-SVM估计SOC的方法,提高了计算效率还 采用了粒子群优化算法提高训练效率与精度,其估计结果精度较高,证明了 LS-SVM在估计 SOC上的优越性。从通俗角度来说样本集与测试集的相似度越大得到的结果就越准确,因此 只要选择了合适的样本我们就可以针对任一电池任一工况做SOC估计,但随之而来的问题 即为单纯的使用数据驱动方法会造成估计结果很高的不确定性,并且LS-SVM自身还存在将 所有样本作为支持向量建模的问题。数据驱动方法仅仅从统计角度以数据的方式将外部参 数映射至SOC,因此还存在没有考虑电池本身化学反应特性的问题。
[0005] 为解决KF以及数据驱动方法的不足,近年来,有许多学者已经着手通过数据驱动 方法与统计滤波方法融合估计电池 S0C。有人通过SVM将卡尔曼滤波中的新息作为时间序列 预测,从而校正最终的滤波结果。有人将LS-SVM作为自适应卡尔曼滤波的观测方程,采用 Simulink仿真的数据建模以及测试,并通过AKF算法自身的协方差迭代公式更新噪声方差。 这类方法虽在精度上都取得不错的进步,但对于反复迭代的核心依据一一协方差,都存在 经验设定、不能跟随模型自身的变化选择最准确的方差值的缺点。

【发明内容】

[0006] 本发明的目的是为了解决上述现有技术存在的问题,即针对目前使用广泛的卡尔 曼滤波(Kalman Filter,KF)及其衍生方法存在的参数设置无具体标准、其模型随工况环境 改变而适应性变差的问题,进而提供一种卡尔曼滤波与数据驱动融合的电池 S0C估计方法。
[0007] 本发明的目的是通过以下技术方案实现的:
[0008] -种卡尔曼滤波与数据驱动融合的电池 S0C估计方法,步骤如下:
[0009]( - )卡尔曼滤波用状态方程和量测方程来描述动态系统的输入输出关系,估计过 程中利用系统状态方程,量测方程和白噪声的统计特性形成估计算法;
[0010] 状态方程表达式如下:
[0011] xk = AkXk-i+BkUk-i+wk-i (2-1)
[0012] 量测方程表达式如下:
[0013] Zk = HkXk+vk (2-2)其中,Xk代表k时刻系统状态,A为Xk-1到Xk的状态转移矩阵,B为 状态的控制量,w为过程噪声其服从P(w)~N(0,Q)分布;Η为观测矩阵将系统状态处映射到 观测值zk,vS测量噪声其服ρ(ν)~N(0,R)分布;
[0014] 在设定好上述参数以及方程后,进行卡尔曼滤波的步骤如下:
[0015] (1)设置初始值4、Po,带入式2-3中,求得f;
[0016] xl +BukA (2-3)
[0017] (2)将Po、Q带入式2_4中,求得先验估计协方差Pi/ ;
[0018] Pk7 =APk-iAT+Q (2-4)
[0019] ⑶p〇、Hk、R带入式2-5中,求得卡尔曼增益Kk;
[0020] Kk = Pk/HT(HPk/HT+R)_1 (2-5)
[0021] (4)将第一步算得的|,带入量测方程中即式2-2中得到量测值zk,并带入式2-6中 得到后验估计4;
[0022] i.,,' -二.? 十人(z, - //.?) (2-6)
[0023] (5)还需按式2-7更新协方差,得到后验估计的协方差Pk,也作为下一次迭代的协 方差初始值;
[0024] Pk=(I-KkH)Pk/ (2-7)
[0025] (6)将4与Pk带入式2-3中,继续下一步的迭代;
[0026] (二)最小二乘支持向量机:将二次规划的求解问题转化为求解线性方程组问题; 对于给定的训练样本集
[0027] S = {(xi,yi)(x2,y2) ,···(χη,Υη)} (2-8)
[0028]其中Xi是输入向量即与S0C映射的电池外部特征参量,yi为相应的输出向量即电池 S0C,n为样本容量;
[0029]由于特征参量与S0C的非线性关系,需通过一个非线性函数Φ (·)将样本映射到 高维特征空间:
[0030] = (φ{-Χλ).) ??-ν,)) (2-9 )
[0031] 选用RBF核函数;
[0032] 其函数表达式如下:
[0033] K(x,y) =exp(-(x_y)2/2〇2) (2-10)
[0034]其中,〇为核宽度参数;
[0035] 然后在把训练结果在高维特征空间进行线性回归,其回归函数为:
[0036] f (x) =wT · Φ (x)+b (2-11)
[0037] 其中,wT为权值向量,b为偏置值,Φ(χ)为非线性函数;然后以结构风险最小化原 则为基础确定模型参数w、b;结构风险的表达式为:
[0039] 其中,γ为正规化参数,且y>0,Remp为损失函数,也叫做经验风险函数;LS-SVM算 法釆用的是二次损失函数的支持向量机,即
[0041] 其中,£1为支持向量机模型对训练样本的预测误差;
[0042] 利用结构风险最小化原则确定模型参数w、b的问题可等效为求解以下优化问题:
[0044] 约束条件:
[0045] yi=wT · Φ (x)+b (2-15)
[0046] 引入拉格朗日函数L得,
[0048]其中&=[&1,&2,"1]是拉格朗日乘子,根据优化条件有,
[0054]合并成线性方程组形式如下:
[0056]由训练样本s= {(xi,yi)(X2,y2),…(xn,yn)},求解方程组(2-20)可得[b,ai,a2...... an]的值,并最终得到最小二乘支持向量机的函数估计为:
[0058](三)噪声方差可变的卡尔曼滤波S0C估计
[0059]首先通过状态方程将系统从上一时刻状态推衍至下一时刻,安时法是反应电池内 部状态变化的重要方程,选用此法作为KF的状态方程,将其写为离散形式:
[0061 ]其中,SOCk是k时刻电池的荷电状态,Ck-Ak-1时刻估计电池当前的总容量,Ik-l·为 电池上一时刻的电流值,Δ t为采样时间间隔,由上式也可知状态转移矩阵A = 1,
[0062]然后计算该时刻的状态方程噪声方差,随后结合上一时刻的后验方差向前推算误 差协方差,然后通过动态欧几距离比较计算得到该时刻估计的电池总容量并挑选出用于建 模的样本集,其中,Ck用于下一步状态方程迭代使用,选择的样本集用于本次量测方程建 模,将LS-SVM作为卡尔曼滤波的量测方程,量测方程有:
[0063] SOC, = LS - SVM (V,, sub ) (3-2 )
[0064] 由于LS-SVM输出值为SOC值,因此对应的量测矩阵H=1;
[0065] 通过采集到电池的电压值与电压差值置于模型中计算得到量测方程的S0C值,随 后计算量测方程该时刻的噪声方差,通过KF的增益公式计算卡尔曼滤波增益K k,然后通过Kk 更新S0C估计结果,最后根据公式更新误差协方差Pk,完成本次对于S0Ck的估计;
[0066]由于KF需要给定迭代初始值,为保证S0C在每一时刻估计的都较为准确,使用LS-SVM给出的第一个S0C估计值与噪声方差作为迭代初始值;
[0067] -个估计值通过数据驱动的方式给出,另一个估计值从电池放电的基本原理出 发,最终通过统计滤波的方式在这两个误差较大的估计值中输出相对较为精准的S0C估计 值;
[0068](四)状态方程 [0069] 状态方程构建
[0070]由电池放电的基本原理得到电池荷电状态的如下数学表达式:
[0072] SOCk是k时刻电池的荷电状态,当电池处于放电状态时,n=l且i(t)<0,当电池处 于充电状态时〇<n<i且i(t)>〇,c为电池当前的总容量;
[0073] 通过以下公式计算出排除初始S0C估计误差,放电1AH安时法累积的最大误差;
[0075]其中,λ · (?代表电池实际容量值,其取值范围在额定容量的70%到100%之间,λ £[0.7,1];可以计算得在电流累积多0.01411,估计总容量为0.7(:而实际容量为1(:时误差为 正最大
;在电流少累积〇. 〇 1 Ah,估计总容量为1C而实际容量为0.7C时误差为负最 大,
[0076](五)状态方程动态噪声更新
[0077]上面已经计算得到了安时法每积分一安时得到的最大误差范围,而对于作为状态 方程的安时法,将其误差服从正态分布符合3〇准则;即数值分布在(μ-3〇,μ+3σ)中的概率为 0.9974;因此,对于安时法每一步的积分最大误差
为每一步安 时法积分得到的安时数)在此区间内,误差概率的积分应等于0.9974
,因
作为3〇的边界,由此可知:
[0080] 因此,认为安时法的噪声分布服从
[0081] (六)量测方程
[0082] 量测方程构建
[0083]采用动态欧几距离比较的方法选择与当前测试集最相似的放电电压曲线用于LS-SVM的建模,
[0084]与样本集动态欧几距离比较方式如下:
[0086]其中,V/代表测试集的电压点,而Vk,r/中k代表样本在样本集中的序列,η代表该 样本的起始点,如Vi,/为第一个样本集中的第二个电压点,若一个样本共有ρ个电压点,对 于一个样本需计算p-m+1次欧几距离,从这p-m+1个距离结果中选择最小的值作为测试集与 该样本之间的距离,从所有样本中选择距离小的前三组作为本次建模的样本;
[0087]通过上述的动态欧几距离比较,最终可以获得三个与当前测试集最相近的样本以 及距离值,根据每次选择样本与测试集距离的比例可以用于粗略地估计S0H,计算方法如 下:
[0089]其中,SOHk为第k次样本选择估计出的S0H值,capk,!代表第k次样本选择被选中的 样本1的容量,disk, 1代表第k次样本选择被选中的样本1与测试集的距离;
[0090] 通过上式,按与测试集的距离比例分配权重,粗略估计出电池的S0H,用于修正状 态方程的估计结果;
[0091] (七)LS-SVM 估计 S0C
[0092] LS-SVM输入、输出参数如下:
[0093]输入参数:样本集:端电压、电压差、S0C;核函数:高斯径向基核函数;正则化参 [0094]数:69;核参数:2.9;测试集:端电压、电压差;
[0095]输出参数;:S0C估计结果;训练误差;
[0096](八)量测方程动态噪声更新 [0097]训练误差计算公式如下:
[0098] errtrain-n=S0Ctrue-n-SOCLS-SVM-η (3-9)
[0099] 其中,errtrain_n是第η个点的训练误差,S0C true_n是第η个点的真实S0C值,SOCls-SVM_n 是第η个点的估计值,通过训练误差求其噪声方差公式如下:
[0101] 由式3-10求得每次迭代量测方程的噪声方差;
[0102] (九)卡尔曼滤波与最小二乘支持向量机融合
[0103] 首先通过动态欧几距离比较选择与当前测试集最相近的三个样本,进入LS-SVM中 进行样本训练与测试,得到训练误差与估计出的S0C值作为状态方程即安时积分法的初值, 随后得到第一个采样时刻的S0C估计值;当得到第二个采样点时,安时法通过积分与第一个 时刻的SOC最终值得到第二时刻SOC估计值,通过计算最大误差得到当前噪声方差Q,而LS-SVM部分继续第一步的计算流程,通过训练误差计算得到当前噪声方差R,R与Q通过计算公 式2-5得到增益值,将增益值、安时法估计值与LS-SVM估计值带入计算公式得到S0C最终估 计值。
[0104] 本发明提出了一种根据选择模型自更新噪声方差的新型卡尔曼滤波方法,并结合 LS-SVM对电池 S0C做出了较为精准的估计。实验中通过建立简单的数据样本,以欧氏距离判 别的方法筛选出了与测试集相近的样本从而建立了较为准确的观测方程,另一方面,结合 安时法的误差分析较为准确的计算每步迭代的方差,与LS-SVM的训练误差及S0C结果一并 输入至方差可变的卡尔曼滤波方法中,最终得到了精度高于传统卡尔曼滤波、LS-SVM的估 计结果。本发明提出的方法克服了观测模型需寻参、初值以及相关参数设置盲目的缺点,又 将数据驱动的方法融入统计滤波中,从而提高了 S0C估计精度。
【附图说明】
[0105] 图1为VVKF-LSSVM估计S0C的基本步骤示意图。
[0106] 图2为动态欧几距离比较选取样本流程图。
[0107] 图3为方差可变的卡尔曼滤波与LS-SVM结合电池荷电状态估计方法流程图。
[0108] 图4为四种方法的均方误差曲线图。
[0109] 图5为Cycle 66S0C估计结果图。
[0110] 图6为Cycle 66S0C估计误差图。
[0111] 图7为Cycle 500S0C估计结果图。
[0112] 图8为Cycle 500S0C估计误差图。
【具体实施方式】
[0113] 下面将结合附图对本发明做进一步的详细说明:本实施例在以本发明技术方案为 前提下进行实施,给出了详细的实施方式,但本发明的保护范围不限于下述实施例。
[0114] 如图1~图8所示,
[0115] 卡尔曼滤波:卡尔曼滤波是于1960年提出的一种基于统计的滤波方法,其通过前 一时刻的估计值以及当前时刻的测量值反复递推迭代最终从两个误差较大的值中估计出 一个相对较为精准的值。卡尔曼滤波用状态方程和量测方程来描述动态系统的输入输出关 系,估计过程中利用系统状态方程,量测方程和白噪声的统计特性形成最优估计算法。
[0116] 状态方程表达式如下:
[0117] xk = AkXk-i+BkUk-i+wk-i (2-1)
[0118] 量测方程表达式如下:
[0119] zk = HkXk+vk (2-2)
[0120] 其中,Xk代表k时刻系统状态,A为xk-^xk的状态转移矩阵,B为状态的控制量,w为 过程噪声其服从p( w)~N(〇,Q)分布;Η为观测矩阵将系统状态^映射到观测值Zk,v为测量噪 声其服P(v)~N(0,R)分布。
[0121] 在设定好上述参数以及方程后,进行卡尔曼滤波的步骤如下:
[0122] (1)设置初始值4、?〇,带入式2_3中,求得考。
[0123] xi ^ M^+ Bu^ (2-3)
[0124] (2)将Po、Q带入式2_4中,求得先验估计协方差Pi/。
[0125] Pk7 =APk-iAT+Q (2-4)
[0126] (3)P〇、Hk、R带入式2-5中,求得卡尔曼增益Kk。
[0127] Kk = Pk/HT(HPk/HT+R)_1 (2-5)
[0128] (4)将第一步算得的尤.带入量测方程中即式2-2中得到量测值zk,并带入
[0129] 式2-6中得到后验估计4,
[0130] 矣=.? + 馬(? - "i:) (2-6)
[0131] (5)还需按式2-7更新协方差,得到后验估计的协方差Pk,也作为下一次迭代的协 方差初始值。
[0132] Pk=(I-KkH)Pk/ (2-7)
[0133] 带入式2-3中,继续下一步的迭代。
[0134] 最小二乘支持向量机:LS_SVM算法秉承了支持向量机的核心思想,在结构风险最 小化准则的基础上,通过核函数将非线性问题转换到高维特征空间来处理,为了解决SVM算 法收敛速度慢、训练时间长的问题,其将二次规划的求解问题转化为求解线性方程组问题。
[0135] 对于给定的训练样本集
[0136] S = {(xi,yi)(x2,y2) ,···(χη,Υη)} (2-8)
[0137] 其中Xi是输入向量即与S0C映射的电池外部特征参量,yi为相应的输出向量即电池 S0C,n为样本容量。
[0138] 由于特征参量与S0C的非线性关系,需通过一个非线性函数Φ (·)将样本映射到 高维特征空间:
[0139] φ(χ) = ), φ(χ2) )) C 2-9)
[0140] 对应于不同问题选择何种类型核函数,目前尚无统一标准。在现有的核函数中, RBF核函数特性较好、应用较广,因此本次实验也选用RBF核函数。
[0141] 其函数表达式如下:
[0142] K(x,y) =exp(-(x_y)2/2〇2) (2-10)
[0143]其中,〇为核宽度参数。
[0144] 然后在把训练结果在高维特征空间进行线性回归,其回归函数为:
[0145] f (x) =wT · Φ (x)+b (2-11)
[0146] 其中,wT为权值向量,b为偏置值,Φ(χ)为非线性函数。然后以结构风险最小化原 则为基础确定模型参数w、b。结构风险的表达式为:
[0148] 其中,γ为正规化参数,且y>0,Remp为损失函数,也叫做经验风险函数。LS-SVM算 法釆用的是二次损失函数的支持向量机,即
[0150]其中,£1为支持向量机模型对训练样本的预测误差。
[0151]利用结构风险最小化原则确定模型参数w、b的问题可等效为求解以下优化问题:
[0153] 约束条件:
[0154] yi=wT · Φ (x)+b (2-15)
[0155] 引入拉格朗日函数L得,
[0157]其中&=[&1,&2,"1]是拉格朗日乘子。根据优化条件有,
[0163]合并成线性方程组形式如下:
[0165]由训练样本s= {(xi,yi)(X2,y2),…(xn,yn)},求解方程组(2-20)可得[b,ai,a2...... an]的值,并最终得到最小二乘支持向量机的函数估计为:
[0167] 噪声方差可变的卡尔曼滤波S0C估计方法
[0168] 方法框架
[0169] 电池的荷电状态作为一种不断变化且与以往数据极其相关的参量,采用卡尔曼滤 波及其扩展方法可以动态地、准确地估计其当前值。卡尔曼滤波将状态方程与观测方程的 误差都拟作高斯噪声,而在电池状态估计中状态方程与观测方程的噪声是会随着系统的不 断变化而变化的,若根据经验人为设定噪声方差R、Q将会造成估计不准甚至迭代发散的问 题,因此选择一种噪声方差根据状态方程与观测方程随着实际工况不断自我修正的方法将 极大地提高SOC的估计精度。同时使用LS-SVM与KF结合的方式也可以有效地提高方法精度 与泛化性。
[0170]首先通过状态方程将系统从上一时刻状态推衍至下一时刻,安时法是反应电池内 部状态变化的重要方程,也是目前KF在S0C估计领域应用最广泛的状态方程,本实施例选用 此法作为KF的状态方程,将其写为离散形式,有:
[0172]其中,SOCk是k时刻电池的荷电状态,Ck-Ak-1时刻估计电池当前的总容量,Ιη为 电池上一时刻的电流值,Δ t为采样时间间隔。由上式也可知状态转移矩阵A = 1。
[0173]然后计算该时刻的状态方程噪声方差,随后结合上一时刻的后验方差向前推算误 差协方差。然后通过动态欧几距离比较计算得到该时刻估计的电池总容量并挑选出用于建 模的样本集,其中,Ck用于下一步状态方程迭代使用,选择的样本集用于本次量测方程建 模。本实施例将LS-SVM作为卡尔曼滤波的量测方程。量测方程有:
[0174] SOC, = LS - SVM (V,,sub V.) (3-2)
[0175] 由于LS-SVM输出值为S0C值,因此对应的量测矩阵H=l。
[0176] 通过采集到电池的电压值与电压差值置于模型中计算得到量测方程的S0C值。随 后计算量测方程该时刻的噪声方差,通过KF的增益公式计算卡尔曼滤波增益K k,然后通过Kk 更新S0C估计结果,最后根据公式更新误差协方差Pk。完成本次对于S0Ck的估计。
[0177] 由于KF需要给定迭代初始值,为保证S0C在每一时刻估计的都较为准确,使用LS-SVM给出的第一个S0C估计值与噪声方差作为迭代初始值。
[0178] 综上,一个估计值通过数据驱动的方式给出,而另一个估计值从电池放电的基本 原理出发,最终通过统计滤波的方式在这两个误差较大的估计值中输出相对较为精准的 S0C估计值。
[0179] 在下面,将详细讲述如何根据系统当前的状态动态的更新两个方程的噪声方差以 及将两种方法融合的具体步骤。
[0180] 状态方程
[0181] 状态方程构建
[0182] 由电池放电的基本原理可以得到电池荷电状态的如下数学表达式:
[0184] SOCk是k时刻电池的荷电状态,当电池处于放电状态时,n=l且i(t)<0,当电池处 于充电状态时〇<n<i且i(t)>〇,c为电池当前的总容量。
[0185] 此式不仅是计算S0C的公式也可以作为S0C的定义,通过上式可以看出,在使用此 公式时需预知电池初始S0C,而初始S0C设置的误差在后续不断地计算中误差只会不断累积 而无法消除。其估计SOC精度取决于电流的测量精度以及对电池当前总容量的估计精度。在 电池总容量估计不变的情况下,S0C的精度会随着电流测量的误差不断下降,目前工业测电 流的精度为1 %,再考虑到电池总容量估计精度的问题,S0C的估计误差将会变得极大。
[0186] 一般定义实际容量为额定容量的70%至80%为锂离子电池的失效阈值。因此对于 C的估计误差最大为30%,通过上面提到的S0H粗略估计方法可以得到精度较为粗糙的C值。 通过以下公式可以计算出排除初始S0C估计误差,放电1AH安时法累积的最大误差。
[0188] 其中,λ · (?代表电池实际容量值,其取值范围在额定容量的70%到100%之间,λ £[0.7,1]。可以计算得在电流累积多0.01411,估计总容量为0.7(:而实际容量为1(:时误差为 正最大:
。在电流少累积O.OlAh,估计总容量为1C而实际容量为0.7C时误差为负最 大:
[0189] 状态方程动态噪声更新
[0190] 上面已经计算得到了安时法每积分一安时得到的最大误差范围,而对于作为状态 方程的安时法,将其误差服从正态分布符合3〇准则。即数值分布在(μ-3σ,μ+3σ)中的概率为 0.9974。因此,对于安时法每一步的积分最大误差
为每一步安 时法积分得到的安时数)在此区间内,误差概率的积分应等于〇.9974t
,因
作为3〇的边界。由此可知:
[0194] 由式3_6可以看出,每步状态方程迭代的噪声方差与电池总容量和每步的安时积 分相关,因此,通常情况下Q会随着电池的放电状态不断变化,从而达到动态更新噪声方差 的目的,使其最符合当前系统状态。
[0195] 量测方程
[0196] 使用LS-SVM通过可测的电压值非线性映射估计S0C,并将估计值作为量测方程用 于校正状态方程的输出结果。下面将详细介绍如何使用LS-SVM估计S0C值,将其作为量测方 程并动态更新噪声方差。
[0197] 量测方程构建
[0198] 动态欧几距离比较样本选择
[0199] 对于电池荷电状态估计问题,从理论上讲,若拥有足够的样本数据集,LS-SVM可通 过合理地样本训练完成对各类工况、各种电池的S0C估计。而由于LS-SVM为了降低训练时间 将不等式约束条件用等式来代替,使其将样本中的所有点都当做支持向量这就造成了有些 与当前电池状态、工况相差较多的样本进入建模不仅会造成计算量的增大还会造成估计 SOC的误差增大。因此,在使用LS-SVM做电池 SOC估计时需先进行样本的选择,选择最接近测 试集的样本建模才能达到精准的测试效果。
[0200] 在小电流放电工况下,端电压与开路电压的值相近,因此端电压与S0C相关性极 强。随着电池的循环次数增加,电池的寿命不断退化,其电压下降速率逐步加大,造成了放 电曲线的逐渐不一致性,从而影响到了 S0C曲线的不断变化。因此,假若选用最接近当前测 试电池状态的放电电压曲线作为样本建模,会极大地提高估计S0C的精度。
[0201] 电池放电的特性集中表现于其端电压的变化曲线,因此两个状态相近的电池其放 电电压曲线必然也是相似的,因此,用欧几距离评价两条端电压变化曲线是一种既实用又 简单的方法。而我们虽然对电池电压的采样率可以人为控制,但不可确定采集电压的起始 点,这就造成了对于任一测试电压点V/我们并不知道其对应样本集电压点{W,V 2,…,Vh, Vn}中的哪一个。因此本文采用动态欧几距离比较的方法选择与当前测试集最相似的放电 电压曲线用于LS-SVM的建模,其流程如图1所示。
[0202] 与样本集动态欧几距离比较方式如下:
[0204] 其中,V/代表测试集的电压点,而Vk,r/中k代表样本在样本集中的序列,η代表该 样本的起始点,如Vi,/为第一个样本集中的第二个电压点。若一个样本共有ρ个电压点,对 于一个样本需计算p-m+1次欧几距离,从这p-m+1个距离结果中选择最小的值作为测试集与 该样本之间的距离。从所有样本中选择距离小的前三组作为本次建模的样本,在放电初期 采集到的测试电压点不多的情况下,模型会很不稳定,每次新增电压点都会造成模型的重 建,在放电至30%D0D以后,选取的样本基本不再改变,因此为减少计算量不再进行动态欧 几距离比较选取样本。
[0205] 动态欧几距离比较不仅可以有效地筛选出适合当前测试集的样本,还可以粗略的 估计出电池健康状态(State of Health,S0H),S0H表征电池相对于新电池存储电能和能量 的能力,可定量描述电池性能状态。由于状态方程的状态更新需要用到S0H值,因此较为准 确的给出S0H值有益于提升算法的整体效果。
[0206] 通过上述的动态欧几距离比较,我们最终可以获得3个与当前测试集最相近的样 本以及距离值。根据每次选择样本与测试集距离的比例可以用于粗略地估计S0H。计算方法 如下:
[0208]其中,SOHk为第k次样本选择估计出的S0H值。capk,!代表第k次样本选择被选中的 样本1的容量,disk,i代表第k次样本选择被选中的样本1与测试集的距离。
[0209] 通过上式,按与测试集的距离比例分配权重,粗略估计出电池的S0H,可以用于修 正状态方程的估计结果。
[0210] LS-SVM 估计 S0C
[0211] 上面已经提到为了消除LS-SVM将所有样本点都作为支持向量的劣势选取与测试 集最相似的3个样本做建模,而在实际应用中,我们还需要选取样本中能与SOC有较强对应 关系的特征量作为LS-SVM的建模参量,通过LS-SVM找到其与S0C之间的关系,从而通过可测 量的特征量估计不可直接测量的S0C值。
[0212] 为了准确的描述电池在放电过程中的电压变化,引入了电压差的概念,由于是恒 流放电,因此,下一点电压与上一点电压的差值又可以表示为等放电深度电压变化。虽然不 同循环周期的电压差曲线不尽相同,但其中都有一段时间内,电压差趋于稳定随后迅速下 降,这也符合电池放电的特点。
[0213] 综上,LS-SVM输入、输出参数如下表所示:
[0214] 表3-1 LS-SVM输入、输出参数
[0215]
[0216] 量测方程动态噪声更新
[0217] 对于观测方程即LS-SVM给出的S0C估计结果,我抚法了解其测试误差方差,因此 只能用每次动态欧几距离比较选出的样本集做建模得到训练误差,用每次得到的训练误差 作为测试误差的方差即R,由于在充放电初期每次建模选用的样本集不同,因此在其期间R 会随着模型的不同而不断变化。训练误差计算公式如下:
[0218] errtrain-n=S0Ctrue-n-SOCLS-SVM-η (3-9)
[0219] 其中,errtrainn是第η个点的训练误差,S0Ctrue_ n是第η个点的真实S0C值,SOCls-SVM_n 是第η个点的估计值。通过训练误差求其噪声方差公式如下:
[0221] 由式3-10我们便可求得每次迭代量测方程的噪声方差。
[0222] 卡尔曼滤波还需要对状态方程设置初值,通常人们会根据经验或随机选取一个初 值以及初始误差协方差。将初值设定为LS-SVM第一次估计给出的值,而其选择的样本产生 的训练误差即为初始误差协方差,通过这种方式可以规避初值估计不准需要少量时间迭代 达到较为准确值的缺点,使在整个S0C估计过程中都可以得到较为精准的S0C值。
[0223] 卡尔曼滤波与最小二乘支持向量机融合
[0224] 综上,方差可变的卡尔曼滤波与最小二乘支持向量机结合估计电池荷电状态的方 法流程如图3所示。
[0225] 首先通过动态欧几距离比较选择与当前测试集最相近的三个样本,进入LS-SVM中 进行样本训练与测试,得到训练误差与估计出的S0C值作为状态方程即安时积分法的初值, 随后得到第一个采样时刻的S0C估计值。当得到第二个采样点时,安时法通过积分与第一个 时刻的S0C最终值得到第二时刻S0C估计值,通过计算最大误差得到当前噪声方差Q,而LS-SVM部分继续第一步的计算流程,通过训练误差计算得到当前噪声方差R,R与Q通过计算公 式2-5得到增益值,将增益值、安时法估计值与LS-SVM估计值带入计算公式得到SOC最终估 计值。
[0226] 整个方法体系输入、输出参数如下表所示:
[0227] 表3-2 VVKF-LSSVM输入、输出参数
[0228]
[0229] 实验验证与分析
[0230] 实验数据描述
[0231]本实施例用于的实验验证的数据集分别为NASA PCoE的公开数据集和马里兰大学 CALCE的电池数据集。实验旨在评估提出的VVKF-LSSVM算法在电池 S0C估计的能力,以及其 相比于单纯使用数据驱动方法、传统设置定值噪声方差的KF的优势。
[0232] NASA锂离子电池实验数据
[0233] NASA锂离子电池数据集使用额定容量为2Ah的18650锂电池于爱达荷州国家实验 室(Idaho National Lab)采集。选用数据集中的B6和B18,而由于与其同组的B5和B7放电截 止电压分别为2.7V和2.2V因此并未入选。
[0234] 充电工况为1.5A恒流充电至电压达到4.2V,而后转为恒压4.2V充电直至电流降至 20mA。在此期间,采集电池端电压、电池输出电流、电池温度、充电器电压、充电器电流和数 据采集时间。
[0235] 放电工况为2A恒流放电至端电压达到2.5V。在此期间,采集电池端电压、电池输出 电流、电池温度、负载电压、负载电流、数据采集时间。
[0236] 重复上述充放电循环直至电池实际容量下降至额定容量的70% (从2Ah降至 1.4Ah),上述实验采集了电池温度这一参量,由于此参量受环境因素影响较大,在实际应用 中要面对各类的环境因素,因此未将其作为估计S0C的参量。其中还采用了电化学阻抗谱 (EIS)采集了电池阻抗,由于在实际应用中,通常不具备采集此项数据的条件,因此未将其 作为估计电池状态的参量。由于整个数据集的采样间隔并不固定,因此对数据集中的采样 点进行了处理,平均18.5秒采集一个数据点。由于B18共计132次放电循环,而B6共计168次 放电循环,因此选用B6做样本集,B18做测试集。
[0237] 马里兰大学CALCE实验数据
[0238] CALCE使用Arbin BT2000对锂电池进行实验,选用额定容量为1.10Ah的电池数据, 实验数据选用CS2-8、CS2-21与CS2-33三组数据集。
[0239] 其充电工况为0.55A恒流充电至电池端电压达到4.2V,而后恒压4.2V充电至电流 下降至0.05A充电结束。在此期间,采集电池端电压、电池电流、数据采集时间。
[0240] 放电工况为0.55A恒流放电至2.7V截止。在此期间,采集电池端电压、电池电流、数 据采集时间。
[0241] 重复上述充放电循环直至电池实际容量下降至额定容量的80% (从l.lAh降至 〇.88Ah),选用的数据集每隔1分钟采样一次。实验中存在一些放电异常的循环,对异常离群 点做了清洗处理。CS2-8共计1277次放电循环,CS2-21共计777次放电循环,CS2-33共计592 次放电循环。选用CS2-8做样本集,CS2-21及CS2-33做测试集。
[0242] 实验结果及分析
[0243] NASA 电池 S0C 估计
[0244] 采用NASA的电池数据集进行实验验证,采用B6的168次循环作为样本,B18的132次 循环为测试集。使用前文所提的方差可变的卡尔曼滤波结合LS-SVM对电池 S0C进行估计。首 先从B6中选择3个与当前测试最接近的样本,然后建模估计当前S0C值并粗略估计S0H值,与 此同时再采用安时法通过上一时刻S0C值与当前积分值估计S0C值,卡尔曼滤波通过训练误 差与计算的安时法最大误差给出一个最终的S0C估计值,重复此过程直至结束。
[0245] 测试集共计132次循环,为充分验证所提方法相比于其他两种方法的优势,对132 次循环都进行了 S0C估计测试,并将每次循环最大误差结果统计于下表。
[0246] 表4-1NASA电池数据S0C估计结果统计表
[0247]
[0248]从上表中可以看出VVKF-LSSVM较前两种方法在精度上有所提高,其中最大误差不 超过5 %的循环次数占测试总循环75%,由于电池在测试过程中充放电循环有间歇,在整个 测试周期中期造成了较大的容量回升,这对于LS-SVM选择合适样本以及安时法的估计精度 都造成了影响,导致了3种算法的精度均有所下降。而由于ANN算法的特点每次得到计算结 果不相同,因此共计算10次取平均值作为最终的S0C估计结果并做统计。虽然误差小于10% 的循环较多,但可以看出其大部分循环估计误差在5%到10%之间。因此综合表格来看本方 法在保证精度的同时一定程度了抵御了该不确定性因素造成的影响。
[0249] 图4为所有测试循环的均方误差(Mean Squared Error,MSE)曲线。其中实线为 WKF-LSSVM的曲线,实虚线为KF-LSSVM,虚线为LS-SVM,点实线为ANN。从图中可以看出本实 施例所提出的方法明显优于单纯使用LS-SVM,略优于KF-LSSVM。
[0250] 选取测试中期的循环以来观测S0C估计的细节。由于此时已经发生容量再生,因此 精度相比于其他循环精度有所下降,ANN的误差虽在个别区域低于VVKF-LSSVM但其误差波 动很大而且精度不高。通过误差曲线图可以看出在LS-SVM估计较为粗糙时本实施例所提出 的方法仍然可以保持较高的精度,体现了动态更新噪声方差的优越性。
[0251] CALCE 电池 S0C 估计
[0252] 采用CALCE的电池数据集进行实验验证,采用CS2-8的1277次循环作为样本,CS2-21的777次循环与CS2-33的592次放电循环作为测试集。为充分验证所提方法相比于其他三 种方法的优势,分别对所有循环都进行了 S0C估计测试,并将测试结果统计于表4-2。
[0253] 表4-2中7"左侧为CS2-21的统计数据,右侧为CS2-33的统计数据。在CS2-21共计 777次测试循环中,本实施例提出的方法约有42%的循环最大误差在5%以内,数量约为ANN 的11倍、单纯使用LS-SVM的3倍,KF-LSSVM的2倍。约有99 %的循环均方误差在5 %以内,相比 于其余两种方法提升并不明显,而对于MSE小于2 %的循环次数,提出的方法较KF-LSSVM多 出98个循环、LS-SVM多出206个循环。
[0254] 在CS2-33共计592次测试循环中,VVKF-LSSVM的S0C估计结果约有96%的循环最大 误差不超过10%稍优于KF-LSSVM与ANN。值得注意的是在CS2-33的测试中,ANN的精度普遍 较只使用LS-SVM高,这一点也从侧面反映了单纯使用数据驱动方法的不稳定性。约有82% 的循环其均方误差在2 %以内,明显优于ANN与LS-SVM,略优于KF-LSSVM。
[0255] 从表中可以看出VVKF-LSSVM相比于ANN、LS-SVM、KF-LSSVM精度更高,而均方误差 这一指标不仅体现了方法较高的精度也体现了其估计的平稳性,进而体现出了 VVKF-LSSVM 相比于传统方法具有更快收敛的特性。
[0256] 表4-2 CALCE电池数据S0C估计结果统计表
[0257]
[0258] 图7与图8为第500次循环的S0C估计曲线与误差曲线,从图中可以看出VVKF-LSSVM 相比于其他方法可以更快收敛,误差更稳定,精度也更高。从而证明了所提出方法的优越 性。
【主权项】
1. 一种卡尔曼滤波与数据驱动融合的电池 soc估计方法,其特征在于, (一) 卡尔曼滤波用状态方程和量测方程来描述动态系统的输入输出关系,估计过程中 利用系统状态方程,量测方程和白噪声的统计特性形成估计算法; 状态方程表达式如下: xk=AkXk-i+I3kUk-i+wk-i (2-1) 量测方程表达式如下: zk =化Hi+vk (2-2) 其中,xk代表k时刻系统状态,A为xk-i到xk的状态转移矩阵,B为状态的控制量,W为过程 噪声其服从P(w)~N(0,Q)分布;Η为观测矩阵将系统状态xk映射到观测值zk,v为测量噪声其 服P(v)~N(0,R)分布; 在设定好上述参数W及方程后,进行卡尔曼滤波的步骤如下: (1) 设置初始值爲、Po,带入式2-3中,求得為;化3) (2) 将P〇、Q带入式2-4中,求得先验估计协方差P/ k; P'k=APk-iAT+Q (2-4) (3) P〇、Hk、R带入式2-5中,求得卡尔曼增益Kk;(2-5) (4) 将第一步算得的考.,:带入量测方程中即式2-2中得到量测值zk,并带入式2-6中得到 后验估计矣..;(2-6) (5) 还需按式2-7更新协方差,得到后验估计的协方差Pk,也作为下一次迭代的协方差初 始値;(2-7) (6) 将為与Pk带入式2-3中,继续下一步的迭代; (二) 最小二乘支持向量机:将二次规划的求解问题转化为求解线性方程组问题; 对于给定的训练样本集 s = {(xi,yi)(x2,y2) ,···(χη,Υη)} (2-8) 其中Xi是输入向量即与soc映射的电池外部特征参量,yi为相应的输出向量即电池 SOC, η为样本容量; 由于特征参量与S0C的非线性关系,需通过一个非线性函数Φ( ·)将样本映射到高维 特征空间: φ{χ)二[φ(X、)、狄X,)…狄X,,)) (2-9) 选用RBF核函数; 其函数表达式如下: K(x,y) = e 邱(-(x-y)^^2) (2-10) 其中,0为核宽度参数; 然后在把训练结果在高维特征空间进行线性回归,其回归函数为: f(x)=w^ · Φ (x)+b (2-11) 其中,wT为权值向量,b为偏置值,Φ (X)为非线性函数;然后W结构风险最小化原则为基 础确定模型参数w、b;结构风险的表达式为:(2-12) 其中,丫为正规化参数,且丫〉0,Remp为损失函数,也叫做经验风险函数;LS-SVM算法采 用的是二次损失函数的支持向量机,即(2-13) 其中,ει为支持向量机模型对训练样本的预测误差; 利用结构风险最小化原则确定模型参数w、b的问题可等效为求解W下优化问题:合并成线性方程组形式如下:由训练样本S = {(xi,yi) (X2,y2),…(Xn,yn)},求解方程组(2-20)可得[b,ai,a2......a。] 的值,并最终得到最小二乘支持向量机的函数估计为:(Ξ)噪声方差可变的卡尔曼滤波SOC估计 首先通过状态方程将系统从上一时刻状态推衍至下一时刻,安时法是反应电池内部状 态变化的重要方程,选用此法作为KF的状态方程,将其写为离散形式:其中,SOCk是k时刻电池的荷电状态,Ck-i为k-1时刻估计电池当前的总容量,Ik-1为电池 上一时刻的电流值,At为采样时间间隔,由上式也可知状态转移矩阵A=l, 然后计算该时刻的状态方程噪声方差,随后结合上一时刻的后验方差向前推算误差协 方差,然后通过动态欧几距离比较计算得到该时刻估计的电池总容量并挑选出用于建模的 样本集,其中,Ck用于下一步状态方程迭代使用,选择的样本集用于本次量测方程建模,将 LS-SVM作为卡尔曼滤波的量测方程,量测方程有:由于LS-SVM输出值为S0C值,因此对应的量测矩阵H= 1; 通过采集到电池的电压值与电压差值置于模型中计算得到量测方程的S0C值,随后计 算量测方程该时刻的噪声方差,通过KF的增益公式计算卡尔曼滤波增益Kk,然后通过Kk更新 S0C估计结果,最后根据公式更新误差协方差Pk,完成本次对于SOCk的估计; 由于KF需要给定迭代初始值,为保证S0C在每一时刻估计的都较为准确,使用LS-SVM给 出的第一个S0C估计值与噪声方差作为迭代初始值; 一个估计值通过数据驱动的方式给出,另一个估计值从电池放电的基本原理出发,最 终通过统计滤波的方式在运两个误差较大的估计值中输出相对较为精准的S0C估计值; (四)状态方程 状态方程构建 由电池放电的基本原理得到电池荷电状态的如下数学表达式:(3-3) SOCk是k时刻电池的荷电状态,当电池处于放电状态时,11=1且i(t)<0,当电池处于充 电状态时〇<n<i且i(t)>〇,c为电池当前的总容量; 通过W下公式计算出排除初始SOC估计误差,放电1AH安时法累积的最大误差;(3 4) 其中,λ · C额代表电池实际容量值,其取值范围在额定容量的7 0 %到10 0 %之间,λ e [0.7,1];可W计算得在电流累积多O.OlAh,估计总容量为0.7C而实际容量为1別寸误差为正 最大,为在电流少累积O.OlAh,估计总容量为1C而实际容量为0.7別寸误差为负最大, .307 办而方; (五) 状态方程动态噪声更新 上面已经计算得到了安时法每积分一安时得到的最大误差范围,而对于作为状态方程 的安时法,将其误差服从正态分布符合30准则;即数值分布在(μ-3〇,μ+3〇)中的概率为 0.9974;因此,对于安时法每一步的积分最大误:。为每一步安 时法积分得到的安时数)在此区间内,误差概率的积分应等于0.9974,由于,因 此可使后作为3 口的边界,由此可知:因此,认为安时法的噪声分布服(六) 量测方程 量测方程构建 采用动态欧几距离比较的方法选择与当前测试集最相似的放电电压曲线用于LS-SVM 的建模, 与样本集动态欧几距离比较方式如下:其中,代表巧聯集的电压点,而VkV中k代表样本在样本集中的序列,η代表该样本的 起始点,如Viy为第一个样本集中的第二个电压点,若一个样本共有Ρ个电压点,对于一个 样本需计算p-m+1次欧几距离,从运p-m+1个距离结果中选择最小的值作为测试集与该样本 之间的距离,从所有样本中选择距离小的前Ξ组作为本次建模的样本; 通过上述的动态欧几距离比较,最终可W获得Ξ个与当前测试集最相近的样本W及距 离值,根据每次选择样本与测试集距离的比例可W用于粗略地估计S0H,计算方法如下:其中,so化为第k次样本选择估计出的SOH值,capk, 1代表第k次样本选择被选中的样本1 的容量,disk, 1代表第k次样本选择被选中的样本1与测试集的距离; 通过上式,按与测试集的距离比例分配权重,粗略估计出电池的S0H,用于修正状态方 程的估计结果; (屯化S-SVM估计S0C LS-SVM输入、输出参数如下: 输入参数:样本集:端电压、电压差、S0C;核函数:高斯径向基核函数;正则化参数:69; 核参数:2.9;测试集:端电压、电压差; 输出参数:S0C估计结果;训练误差; (八) 量测方程动态噪声更新 训练误差计算公式如下: errtrain_n 二 SOCtrue_n_SOCLS-SVM_n ( 3_9 ) 其中,errtrain_n是第η个点的训练误差,S0Ctrue_n是第η个点的真实S0C值,SOCLS-SVM_n是第 η个点的估计值,通过训练误差求其噪声方差公式如下:由式3-10求得每次迭代量测方程的噪声方差; (九) 卡尔曼滤波与最小二乘支持向量机融合 首先通过动态欧几距离比较选择与当前测试集最相近的Ξ个样本,进入LS-SVM中进行 样本训练与测试,得到训练误差与估计出的S0C值作为状态方程即安时积分法的初值,随后 得到第一个采样时刻的S0C估计值;当得到第二个采样点时,安时法通过积分与第一个时刻 的S0C最终值得到第二时刻S0C估计值,通过计算最大误差得到当前噪声方差Q,而LS-SVM部 分继续第一步的计算流程,通过训练误差计算得到当前噪声方差R,R与Q通过计算公式2-5 得到增益值,将增益值、安时法估计值与LS-SVM估计值带入计算公式得到S0C最终估计值。
【文档编号】G01R31/36GK106093783SQ201610388922
【公开日】2016年11月9日
【申请日】2016年6月3日 公开号201610388922.3, CN 106093783 A, CN 106093783A, CN 201610388922, CN-A-106093783, CN106093783 A, CN106093783A, CN201610388922, CN201610388922.3
【发明人】彭喜元, 赵天意, 彭宇, 刘大同
【申请人】哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1