本发明涉及电动汽车电池SOC估计技术领域,具体涉及基于支持向量机模型和卡尔曼滤波的锂电池SOC估计方法。
背景技术:
近些年来人们对电动汽车(Electric Vehicles,EVs)快速发展日益关注。锂电池是EV的动力核心,电荷状态(State of Charge,SOC)是锂离子电池的重要参数之一;合理地进行SOC估计是电池管理系统的重要功能之一。
SOC估计方法有开路电压法、安时积分法、内阻法、神经网络法、卡尔曼滤波算法等,传统单一的估计方法有一定的局限性,普遍存在着建模难、精度低的问题。
技术实现要素:
为了解决上述技术问题,本发明提供一种基于支持向量机模型和卡尔曼滤波的锂电池SOC估计方法,该方法可以有效地解决锂电池SOC估计中建模难、精度低的问题。
本发明解决其技术问题所采用的技术方案是:
基于支持向量机模型和卡尔曼滤波的锂电池SOC估计方法,包括:
S1、获取锂电池充放电历史样本数据,同时对样本数据进行划分,确定与SOC相关的主要变量;
S2、确定支持向量机锂电池模型的输入和输出数据;并确定影响支持向量机回归精度重要参数规则化参数C和核函数的宽度参数σ,从而建立支持向量机锂电池模型;
S3、当支持向量机锂电池模型的SOC估计误差在预设范围内时,将该模型输出的SOC用卡尔曼滤波器(Kalman Filter,KF)算法进行滤波;
S4、获取测试样本数据,将测试样本中的电压U、电流I、温度T作为训练后的支持向量机锂电池模型的输入,采用该训练后的模型对测试样本进行估计;为了增强其动态适应性,输出用KF算法进行滤波,进而获得精度高的SOC估计值;
所述样本数据分为训练样本数据和测试样本数据,训练时所采用的锂电池样本数据包括几个完整周期充放电历史数据。
进一步,当支持向量机锂电池模型的SOC估计误差的预设范围是5%~8%。
进一步,所述步骤S2,包括:
S21、统计获取数据,将电压U、电流I、温度T作为支持向量机模型的输入数据;SOC作为该模型的输出数据,从而建立基于支持向量机的锂电池模型。
进一步,所述步骤S3,将该模型输出的SOC用卡尔曼滤波(Kalman Filter,KF)算法进行滤波,包括以下步骤:
S31、计算先验状态估计值:
X(k|k-1)=AX(k-1|k-1)+BU(k)
其中,k是现在状态,X(k|k-1)是利用上一状态预测的结果,X(k-1|k-1)是上一状态最优结果,U(k)为现在状态控制量。
S32、计算先验状态估计值的协方差:
P(k|k-1)=AP(k-1|k-1)AT+Q
其中,P(k|k-1)是X(k|k-1)对应的协方差,P(k-1|k-1)是X(k-1|k-1)对应的协方差,AT表示A的转置矩阵。
S33、对预测值进行修正:
X(k|k)=X(k|k-1)+Kg(k)(Z(k)-HX(k|k-1))
其中,现在状态k的最优化估算值为X(k|k)。
S34、更新修正值的协方差:
P(k|k)=(I-Kg(k)H)P(k|k-1)
其中,P(k|k)为更新k状态下X(k|k)的协方差,I为1的矩阵,I=1。当系统进入k+1状态时,P(k|k)就是步骤S32中的的P(k-1|k-1)。
S35、卡尔曼增益(Kalman Gain)为:
Kg(k)=P(k|k-1)HT/(HP(k|k-1)HT+R)
S36、返回步骤S31,循环执行步骤S31至S35,以实时更新卡尔曼滤波状态向量估计值X(k|k)。
S37、为了增强模型的动态适应性,以支持向量机模型输出的SOC作为KF的测量方程:
f(k+1)=SOC(k)+v
S38、将对电流安时积分所获得SOC作为KF的状态方程:
其中,I是电流,Qmax是最大容量,f(k+1)是支持向量机模型在时刻k+1输出的SOC值,v是测量噪声,w是状态噪声。
进一步,所述步骤S4,包括:
S41、用样本数据中的训练样本中的电压、电流、温度作为支持向量机模型的输入,SOC作为输出;
S42、用测试样本中的电压、电流、温度作为模型的输入,采用训练后的模型对该输入进行预测。为了进一步提高预测精度、增强模型的动态适应性,将支持向量机锂电池模型输出经KF滤波处理。
本发明的有益效果是:与现有技术相比,本发明通过基于支持向量机模型和卡尔曼滤波算法对锂电池SOC估计,结合电动汽车在实际工况下的锂电池数据估计SOC值,能够以任意的精度逼近任意非线性映射,可适用于多种不同的动力电池,建模简单;同时本方法考虑外部噪声的影响,利用KF算法,可以有效的提高SOC估计精度和预测的稳定性。
附图说明
图1是本发明所采用锂电池的支持向量机模型结构示意图。
图2是本发明所采用的基于支持向量机模型和卡尔曼滤波算法的锂电池SOC估计结构示意图。
具体实施方式
下面结合具体实施例对本发明做进一步说明。
参照图1、图2,基于支持向量机模型和卡尔曼滤波的锂电池SOC估计方法,包括:
S1、获取锂电池充放电历史样本数据,同时对样本数据进行划分,确定与SOC相关的主要变量;
S2、确定支持向量机锂电池模型的输入和输出数据;并确定影响支持向量机回归精度重要参数规则化参数C和核函数的宽度参数σ,从而建立基于支持向量机锂电池模型;
S3、当支持向量机锂电池模型的SOC估计误差在预设范围内时,将该模型输出的SOC用卡尔曼滤波(Kalman Filter,KF)算法进行滤波;
S4、获取测试样本数据,将测试样本中的电压U、电流I、温度T作为训练后的支持向量机锂电池模型的输入,采用该训练后的模型对测试样本进行估计;为了增强其动态适应性,输出用KF算法进行滤波,进而获得精度高的SOC估计值;
所述样本数据分为训练样本数据和测试样本数据。训练时所采用的锂电池样本数据包括几个完整周期充放电历史数据。
具体地,步骤S2包括S21~S22;
S21、统计获取的数据,将电压U、电流I、温度T作为支持向量机模型的输入数据;将SOC作为该模型的输出数据,从而建立支持向量机的锂电池模型。所述支持向量机模型被归结为一类非线性回归问题,用来拟合训练样本输入xi和输出yi之间的关系表达式为:
其中,训练样本集为X={(xi,yi)},i=1,2,…,n,xi∈Rd,yi∈R,通过一个映射将非线性问空间问题转化为高维中的线性问题。当拟合精度为ε时,满足|f(xi)-yi|≤ε,优化目标为:
S22、将回归问题就转化为一个可求得全局最优解得凸二次规划问题。引入松弛变量ξi、后可得:
其中约束条件为由拉格朗日乘子法可解得:
其中,xi为支持向量,K(xi,x)为核函数,常采用径向基函数K(xi,x)=exp(-||x-xi||/σ2)。规则化参数C和核函数的宽度参数σ是决定支持向量机回归精度的重要参数,可用粒子群算法进行优化。
具体地,所述步骤S3,包括步骤S31~S38:
S31、计算先验状态估计值:
X(k|k-1)=AX(k-1|k-1)+BU(k)
其中,k是现在状态,X(k|k-1)是利用上一状态预测的结果,X(k-1|k-1)是上一状态最优的结果,U(k)为现在状态的控制量。
S32、计算先验状态估计值的协方差:
P(k|k-1)=AP(k-1|k-1)AT+Q
其中,P(k|k-1)是X(k|k-1)对应的协方差,P(k-1|k-1)是X(k-1|k-1)对应的协方差,AT表示A的转置矩阵。
S33、对预测值进行修正:
X(k|k)=X(k|k-1)+Kg(k)(Z(k)-HX(k|k-1))
其中,现在状态k的最优化估算值为X(k|k)。
S34、更新修正值的协方差:
P(k|k)=(I-Kg(k)H)P(k|k-1)
其中,P(k|k)为更新k状态下X(k|k)的协方差,I为1的矩阵,I=1。当系统进入k+1状态时,P(k|k)就是步骤S42中的的P(k-1|k-1)。
S35、卡尔曼增益为:
Kg(k)=P(k|k-1)HT/(HP(k|k-1)HT+R)
S36、返回步骤S31,循环执行步骤S31至S35,以实时更新卡尔曼滤波状态向量估计值X(k|k)。
S37、为了增强模型的动态适应性,以支持向量机模型输出的SOC作为KF的测量方程:
f(k+1)=SOC(k)+v
S38、将对电流安时积分所获得SOC作为KF的状态方程:
其中,I是电流,Qmax是最大容量,f(k+1)是支持向量机模型在时刻k+1输出的SOC值,v是测量噪声,w是状态噪声。
进一步,所述步骤S4,包括S41~S43:
S41、用样本数据中的训练样本作为中的电压、电流、温度作为支持向量机模型的输入,SOC作为模型的输出。
S42、用测试样本中的电压、电流、温度作为模型的输入,采用训练后的模型对该输入进行预测。为了进一步提高预测精度、增强模型的动态适应性,将支持向量机模型的输出经KF滤波处理。
本发明的锂电池SOC估计方法,通过建立锂电池的支持向量机模型,降低了训练样本数量,能够以任意精度逼近任意非线性函数,同时考虑到外部噪声的影响,模型输出经过KF滤波处理,能直接反映SOC的动态特性,可以有效提高估计数据的精度和稳定性。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。