本發(fā)明涉及電動汽車電池SOC估計技術(shù)領(lǐng)域,具體涉及基于支持向量機模型和卡爾曼濾波的鋰電池SOC估計方法。
背景技術(shù):
近些年來人們對電動汽車(Electric Vehicles,EVs)快速發(fā)展日益關(guān)注。鋰電池是EV的動力核心,電荷狀態(tài)(State of Charge,SOC)是鋰離子電池的重要參數(shù)之一;合理地進行SOC估計是電池管理系統(tǒng)的重要功能之一。
SOC估計方法有開路電壓法、安時積分法、內(nèi)阻法、神經(jīng)網(wǎng)絡(luò)法、卡爾曼濾波算法等,傳統(tǒng)單一的估計方法有一定的局限性,普遍存在著建模難、精度低的問題。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提供一種基于支持向量機模型和卡爾曼濾波的鋰電池SOC估計方法,該方法可以有效地解決鋰電池SOC估計中建模難、精度低的問題。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
基于支持向量機模型和卡爾曼濾波的鋰電池SOC估計方法,包括:
S1、獲取鋰電池充放電歷史樣本數(shù)據(jù),同時對樣本數(shù)據(jù)進行劃分,確定與SOC相關(guān)的主要變量;
S2、確定支持向量機鋰電池模型的輸入和輸出數(shù)據(jù);并確定影響支持向量機回歸精度重要參數(shù)規(guī)則化參數(shù)C和核函數(shù)的寬度參數(shù)σ,從而建立支持向量機鋰電池模型;
S3、當支持向量機鋰電池模型的SOC估計誤差在預設(shè)范圍內(nèi)時,將該模型輸出的SOC用卡爾曼濾波器(Kalman Filter,KF)算法進行濾波;
S4、獲取測試樣本數(shù)據(jù),將測試樣本中的電壓U、電流I、溫度T作為訓練后的支持向量機鋰電池模型的輸入,采用該訓練后的模型對測試樣本進行估計;為了增強其動態(tài)適應(yīng)性,輸出用KF算法進行濾波,進而獲得精度高的SOC估計值;
所述樣本數(shù)據(jù)分為訓練樣本數(shù)據(jù)和測試樣本數(shù)據(jù),訓練時所采用的鋰電池樣本數(shù)據(jù)包括幾個完整周期充放電歷史數(shù)據(jù)。
進一步,當支持向量機鋰電池模型的SOC估計誤差的預設(shè)范圍是5%~8%。
進一步,所述步驟S2,包括:
S21、統(tǒng)計獲取數(shù)據(jù),將電壓U、電流I、溫度T作為支持向量機模型的輸入數(shù)據(jù);SOC作為該模型的輸出數(shù)據(jù),從而建立基于支持向量機的鋰電池模型。
進一步,所述步驟S3,將該模型輸出的SOC用卡爾曼濾波(Kalman Filter,KF)算法進行濾波,包括以下步驟:
S31、計算先驗狀態(tài)估計值:
X(k|k-1)=AX(k-1|k-1)+BU(k)
其中,k是現(xiàn)在狀態(tài),X(k|k-1)是利用上一狀態(tài)預測的結(jié)果,X(k-1|k-1)是上一狀態(tài)最優(yōu)結(jié)果,U(k)為現(xiàn)在狀態(tài)控制量。
S32、計算先驗狀態(tài)估計值的協(xié)方差:
P(k|k-1)=AP(k-1|k-1)AT+Q
其中,P(k|k-1)是X(k|k-1)對應(yīng)的協(xié)方差,P(k-1|k-1)是X(k-1|k-1)對應(yīng)的協(xié)方差,AT表示A的轉(zhuǎn)置矩陣。
S33、對預測值進行修正:
X(k|k)=X(k|k-1)+Kg(k)(Z(k)-HX(k|k-1))
其中,現(xiàn)在狀態(tài)k的最優(yōu)化估算值為X(k|k)。
S34、更新修正值的協(xié)方差:
P(k|k)=(I-Kg(k)H)P(k|k-1)
其中,P(k|k)為更新k狀態(tài)下X(k|k)的協(xié)方差,I為1的矩陣,I=1。當系統(tǒng)進入k+1狀態(tài)時,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,循環(huán)執(zhí)行步驟S31至S35,以實時更新卡爾曼濾波狀態(tài)向量估計值X(k|k)。
S37、為了增強模型的動態(tài)適應(yīng)性,以支持向量機模型輸出的SOC作為KF的測量方程:
f(k+1)=SOC(k)+v
S38、將對電流安時積分所獲得SOC作為KF的狀態(tài)方程:
其中,I是電流,Qmax是最大容量,f(k+1)是支持向量機模型在時刻k+1輸出的SOC值,v是測量噪聲,w是狀態(tài)噪聲。
進一步,所述步驟S4,包括:
S41、用樣本數(shù)據(jù)中的訓練樣本中的電壓、電流、溫度作為支持向量機模型的輸入,SOC作為輸出;
S42、用測試樣本中的電壓、電流、溫度作為模型的輸入,采用訓練后的模型對該輸入進行預測。為了進一步提高預測精度、增強模型的動態(tài)適應(yīng)性,將支持向量機鋰電池模型輸出經(jīng)KF濾波處理。
本發(fā)明的有益效果是:與現(xiàn)有技術(shù)相比,本發(fā)明通過基于支持向量機模型和卡爾曼濾波算法對鋰電池SOC估計,結(jié)合電動汽車在實際工況下的鋰電池數(shù)據(jù)估計SOC值,能夠以任意的精度逼近任意非線性映射,可適用于多種不同的動力電池,建模簡單;同時本方法考慮外部噪聲的影響,利用KF算法,可以有效的提高SOC估計精度和預測的穩(wěn)定性。
附圖說明
圖1是本發(fā)明所采用鋰電池的支持向量機模型結(jié)構(gòu)示意圖。
圖2是本發(fā)明所采用的基于支持向量機模型和卡爾曼濾波算法的鋰電池SOC估計結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合具體實施例對本發(fā)明做進一步說明。
參照圖1、圖2,基于支持向量機模型和卡爾曼濾波的鋰電池SOC估計方法,包括:
S1、獲取鋰電池充放電歷史樣本數(shù)據(jù),同時對樣本數(shù)據(jù)進行劃分,確定與SOC相關(guān)的主要變量;
S2、確定支持向量機鋰電池模型的輸入和輸出數(shù)據(jù);并確定影響支持向量機回歸精度重要參數(shù)規(guī)則化參數(shù)C和核函數(shù)的寬度參數(shù)σ,從而建立基于支持向量機鋰電池模型;
S3、當支持向量機鋰電池模型的SOC估計誤差在預設(shè)范圍內(nèi)時,將該模型輸出的SOC用卡爾曼濾波(Kalman Filter,KF)算法進行濾波;
S4、獲取測試樣本數(shù)據(jù),將測試樣本中的電壓U、電流I、溫度T作為訓練后的支持向量機鋰電池模型的輸入,采用該訓練后的模型對測試樣本進行估計;為了增強其動態(tài)適應(yīng)性,輸出用KF算法進行濾波,進而獲得精度高的SOC估計值;
所述樣本數(shù)據(jù)分為訓練樣本數(shù)據(jù)和測試樣本數(shù)據(jù)。訓練時所采用的鋰電池樣本數(shù)據(jù)包括幾個完整周期充放電歷史數(shù)據(jù)。
具體地,步驟S2包括S21~S22;
S21、統(tǒng)計獲取的數(shù)據(jù),將電壓U、電流I、溫度T作為支持向量機模型的輸入數(shù)據(jù);將SOC作為該模型的輸出數(shù)據(jù),從而建立支持向量機的鋰電池模型。所述支持向量機模型被歸結(jié)為一類非線性回歸問題,用來擬合訓練樣本輸入xi和輸出yi之間的關(guān)系表達式為:
其中,訓練樣本集為X={(xi,yi)},i=1,2,…,n,xi∈Rd,yi∈R,通過一個映射將非線性問空間問題轉(zhuǎn)化為高維中的線性問題。當擬合精度為ε時,滿足|f(xi)-yi|≤ε,優(yōu)化目標為:
S22、將回歸問題就轉(zhuǎn)化為一個可求得全局最優(yōu)解得凸二次規(guī)劃問題。引入松弛變量ξi、后可得:
其中約束條件為由拉格朗日乘子法可解得:
其中,xi為支持向量,K(xi,x)為核函數(shù),常采用徑向基函數(shù)K(xi,x)=exp(-||x-xi||/σ2)。規(guī)則化參數(shù)C和核函數(shù)的寬度參數(shù)σ是決定支持向量機回歸精度的重要參數(shù),可用粒子群算法進行優(yōu)化。
具體地,所述步驟S3,包括步驟S31~S38:
S31、計算先驗狀態(tài)估計值:
X(k|k-1)=AX(k-1|k-1)+BU(k)
其中,k是現(xiàn)在狀態(tài),X(k|k-1)是利用上一狀態(tài)預測的結(jié)果,X(k-1|k-1)是上一狀態(tài)最優(yōu)的結(jié)果,U(k)為現(xiàn)在狀態(tài)的控制量。
S32、計算先驗狀態(tài)估計值的協(xié)方差:
P(k|k-1)=AP(k-1|k-1)AT+Q
其中,P(k|k-1)是X(k|k-1)對應(yīng)的協(xié)方差,P(k-1|k-1)是X(k-1|k-1)對應(yīng)的協(xié)方差,AT表示A的轉(zhuǎn)置矩陣。
S33、對預測值進行修正:
X(k|k)=X(k|k-1)+Kg(k)(Z(k)-HX(k|k-1))
其中,現(xiàn)在狀態(tài)k的最優(yōu)化估算值為X(k|k)。
S34、更新修正值的協(xié)方差:
P(k|k)=(I-Kg(k)H)P(k|k-1)
其中,P(k|k)為更新k狀態(tài)下X(k|k)的協(xié)方差,I為1的矩陣,I=1。當系統(tǒng)進入k+1狀態(tài)時,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,循環(huán)執(zhí)行步驟S31至S35,以實時更新卡爾曼濾波狀態(tài)向量估計值X(k|k)。
S37、為了增強模型的動態(tài)適應(yīng)性,以支持向量機模型輸出的SOC作為KF的測量方程:
f(k+1)=SOC(k)+v
S38、將對電流安時積分所獲得SOC作為KF的狀態(tài)方程:
其中,I是電流,Qmax是最大容量,f(k+1)是支持向量機模型在時刻k+1輸出的SOC值,v是測量噪聲,w是狀態(tài)噪聲。
進一步,所述步驟S4,包括S41~S43:
S41、用樣本數(shù)據(jù)中的訓練樣本作為中的電壓、電流、溫度作為支持向量機模型的輸入,SOC作為模型的輸出。
S42、用測試樣本中的電壓、電流、溫度作為模型的輸入,采用訓練后的模型對該輸入進行預測。為了進一步提高預測精度、增強模型的動態(tài)適應(yīng)性,將支持向量機模型的輸出經(jīng)KF濾波處理。
本發(fā)明的鋰電池SOC估計方法,通過建立鋰電池的支持向量機模型,降低了訓練樣本數(shù)量,能夠以任意精度逼近任意非線性函數(shù),同時考慮到外部噪聲的影響,模型輸出經(jīng)過KF濾波處理,能直接反映SOC的動態(tài)特性,可以有效提高估計數(shù)據(jù)的精度和穩(wěn)定性。
以上是對本發(fā)明的較佳實施進行了具體說明,但本發(fā)明創(chuàng)造并不限于實施例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做出種種的等同變形或替換,這些等同的變形或替換均包含在本申請權(quán)利要求所限定的范圍內(nèi)。