葉麗華,王海鈺,施燁璠,薛定邦,李 杰,施愛平
(1.江蘇大學(xué) 汽車與交通工程學(xué)院,江蘇 鎮(zhèn)江 212013;2.紐約州立大學(xué) 電子與計算機工程學(xué)院,紐約 13903;3.江蘇大學(xué) 農(nóng)業(yè)工程學(xué)院,江蘇 鎮(zhèn)江 212013)
鋰離子電池因其綿長的循環(huán)壽命和超高的能量密度被廣泛應(yīng)用于電動汽車,為了保證電動汽車安全可靠且高效地運行,一個精密的電池管理系統(tǒng)(BMS)至關(guān)重要,而作為其核心技術(shù)的SOC估算,近年來一直是研究的熱點問題。動力電池的建模作為SOC估算的基礎(chǔ),其重要性不言而喻,等效電路模型通過一系列的電阻、電容及恒壓源等電路元器件組成電路網(wǎng)絡(luò)來模擬其外特性,如PNGV、Rint及Thevenin模型等[1]。
卡爾曼濾波(KF)正是一種基于模型的SOC估算方法,它通過構(gòu)建狀態(tài)空間方程,將SOC視為狀態(tài)變量進行迭代計算來提高估算精度[2-4]。隨著研究的深入,卡爾曼濾波算法發(fā)展出了不同的種類:擴展卡爾曼濾波算法(EKF)通過將經(jīng)典卡爾曼濾波在一階泰勒公式展開略去高階項得到,它是KF的非線性化延伸,缺點在于面對高度非線性化的系統(tǒng)時,SOC估算值不收斂[5-6];無跡卡爾曼濾波(UKF)利用無跡變換(UT),通過非線性模型選擇并傳播一組Sigma點,從而提供狀態(tài)向量的均值和協(xié)方差的近似值,缺點在于魯棒性稍差且UT變化比較復(fù)雜[7-9];分?jǐn)?shù)階卡爾曼(FOKF)基于分?jǐn)?shù)階微積分而提出,部分程度上解決了整數(shù)階模型無法準(zhǔn)確描述鋰離子電池固相鋰離子擴散和雙層效應(yīng)的問題,但問題在于其很大程度上依賴于底層模型的準(zhǔn)確度[10-12];容積卡爾曼濾波(CKF)是在3階球面徑向體積準(zhǔn)則的基礎(chǔ)上,利用一組體積點,逼近附帶高斯噪聲的非線性系統(tǒng)的狀態(tài)均值和協(xié)方差,其不足之處在于底層模型往往過于簡單,無法精確模擬電壓的回彈特性[13-14]。在等效電路模型足夠精確的情況下,任意一種KF算法均可實現(xiàn)較高的SOC估算精度,但問題在于除EKF外,其余算法過于復(fù)雜且計算量巨大,對于電動汽車BMS的硬件配置提出了更高的要求。
擴展卡爾曼濾波算法能得到狀態(tài)變量的最優(yōu)估計,不僅適用于動態(tài)系統(tǒng)狀態(tài)估計,還可用于動態(tài)系統(tǒng)時變參數(shù)的估計,其不足之處在于辨識效果嚴(yán)重依賴噪聲統(tǒng)計特性,而在單獨使用EKF進行SOC估算時,其系統(tǒng)噪聲協(xié)方差矩陣以及觀測噪聲協(xié)方差矩陣多為隨機給出,因此,僅依靠EKF,系統(tǒng)噪聲和測量噪聲的統(tǒng)計特性很難獲得最優(yōu)解。粒子群優(yōu)化算法(PSO)是一種生物進化算法,種群中的每個粒子都代表問題的一個潛在解,對應(yīng)一個由適應(yīng)度函數(shù)決定的適應(yīng)度值。每個粒子都具有位置和速度2個屬性,離子的位置即當(dāng)前的值,粒子的速度決定了粒子移動的方向和距離,速度隨自身及其他粒子的移動經(jīng)驗進行動態(tài)調(diào)整,實現(xiàn)個體在可解空間中的尋優(yōu)[15-17]。PSO全局尋優(yōu)的特性非常契合EKF中對于噪聲協(xié)方差矩陣中元素的尋優(yōu),但PSO算法也存在遍歷性差和容易陷入局部極小的缺陷。
在此基礎(chǔ)上,本文提出了一種改進粒子群算法(IPSO)耦合EKF算法的融合算法,通過對粒子群尋優(yōu)算法(PSO)的改進[18],對EKF的噪聲協(xié)方差矩陣進行種群尋優(yōu),從而提高SOC的估算精度。本文的創(chuàng)新性有以下2點:
1)以往的卡爾曼濾波算法及其變體算法出于簡便性及魯棒性的考慮,等效電路模型往往比較簡陋,多為1階或者2階RC電路,本文采用了一種新型的3階等效電路模型作為底層電路模型,結(jié)合離線辨識的方法辨識模型參數(shù),在保證模型不至于太過復(fù)雜的同時,保證了模型的精確性。
2)以往的基于等效電路模型的SOC估算方法,為了保證算法的精確性,融合了很多繁復(fù)的數(shù)學(xué)思維和推導(dǎo)變換過程,使得估算過程過于龐雜且耗時較長,與此同時,又忽略了對于噪聲的優(yōu)化。本文提出了一種將EKF方法與IPSO算法相結(jié)合的融合算法,在EKF迭代過程中,利用IPSO算法對系統(tǒng)噪聲和觀測噪聲進行尋優(yōu),提高SOC的估算精度。
以18650磷酸鐵鋰動力電池為對象展開研究,其單體電池主要性能參數(shù)如表1所示。
表1 單體電池性能參數(shù)
本文中所用到的電池測試設(shè)備是寧波拜特公司的NBT30V100AC4-T的電池測試系統(tǒng),主要由高精度數(shù)據(jù)測試采集一體機、恒溫箱和上位機組成,其主要技術(shù)參數(shù)如表2所示。
表2 NBT30V100AC4-T電池測試系統(tǒng)主要技術(shù)參數(shù)
電池測試平臺及數(shù)據(jù)采集設(shè)備原理圖如圖1所示。
圖1 電池測試平臺及數(shù)據(jù)采集設(shè)備
等效電路模型以動力電池的伏安特性關(guān)系為基礎(chǔ)進行建模,使用一系列電容、電阻及恒壓源等電路元器件組成電路網(wǎng)絡(luò),描述動力電池的外特性,且復(fù)雜程度較低,具有較高的估算精度,是目前應(yīng)用最廣泛的電池模型。由于鋰電池的外特性并不是完全一致的,基于本次所用動力電池的特性,即OCV-SOC曲線呈現(xiàn)出來的雙平臺特性,PNGV模型、Rint模型及Thevenin模型顯然不能充分模擬電池電壓的回彈特性及滯回特性,所以綜合考慮模型精度及復(fù)雜程度的基礎(chǔ)上,采用如下的3階RC等效電路模型,如圖2所示。
圖2 3階RC等效電路模型
圖2中,Ccap代表電池的額定容量,表示EMF的電壓源受電池的SOC(VSOC)控制,表示滯回電壓Vh的電壓源受電池的SOC(VSOC)以及VLh控制,其中,VLh控制是充電滯回還是放電滯回;RΩ代表歐姆內(nèi)阻,Rs,Rm,Rl代表極化內(nèi)阻,Cs,Cm,Cl代表極化電容,VB代表開路電壓OCV。A、B、C支路組成受控等效電壓源,模擬電池內(nèi)部由于電化學(xué)極化和濃度差極化現(xiàn)象導(dǎo)致的電壓滯回特性;3階RC電路組成等效阻抗,模擬電池的回彈特性。在電流激勵的作用下,上述模型的狀態(tài)空間方程可表述為:
(1)
將式(1)離散化,離散時間的方程如下:
(2)
一般選取SOC和歐姆內(nèi)阻兩端的電壓作為狀態(tài)方程的狀態(tài)變量,但是由式(2)可知,3階RC網(wǎng)絡(luò)兩端的電壓也會隨電流的變化而發(fā)生狀態(tài)變化,令
則式(2)可改寫為如下形式:
xk=Axk-1+Bik-1
(3)
將3階RC網(wǎng)絡(luò)兩端的電壓也列為狀態(tài)變量進行迭代計算,因此,EKF濾波器狀態(tài)變量的選取如下:
xk=[SOC,UΩ,Us,Um,Ul]
(4)
觀測變量選擇動力電池的開路電壓,即
yk=VB=UOCV
(5)
EKF的迭代流程可用圖3表示。
圖3 EKF迭代流程示意圖
參數(shù)辨識分為在線辨識和離線辨識,在線辨識可以通過傳感器實時監(jiān)測的數(shù)據(jù)實現(xiàn)模型的在線更新,精準(zhǔn)的捕捉系統(tǒng)的參數(shù)變化;而離線辨識則是通過HPPC工況,獲取電池脈沖充放電瞬間的電壓變化結(jié)合歐姆定律來辨識電池的阻抗參數(shù)。僅從算法的角度來說,在線辨識是以數(shù)學(xué)公示進行實時擬合,其魯棒性更好,由于本課題采用的等效電路模型為3階,需要辨識的阻抗數(shù)目較多,相對于Rint模型和Thevenin模型來說,模型較為復(fù)雜,在線辨識的結(jié)果并不理想。相對于在線辨識方法,離線辨識的參數(shù)更加準(zhǔn)確和穩(wěn)定。由于所用的底層電路模型為3階等效電路模型,高階模型在微小擾動下的辨識結(jié)果會有很大的波動,為了盡可能提高辨識精度,選擇0.2C、0.4C、0.6C、0.8C、1.0C、1.2C、1.4C、1.6C、1.8C、2.0C,共10組放電倍率,對電池的阻抗參數(shù)進行離線辨識,并繪制成三維圖像,結(jié)果如4所示:圖4中,(a)(b)(c)為等效極化電阻,分別對應(yīng)圖2中Rs,Rm,Rl,(d)(e)(f)為等效極化電容,分別對應(yīng)圖2中Cs,Cm,Cl。每一個3維圖片中,放電倍率定義為x軸,SOC定義為y軸,阻抗特性定義為z軸,上述圖片反映了在3階等效電路模型的基礎(chǔ)上,等效阻抗在不同放電倍率和SOC值下的變化特性,從圖中可以看出,當(dāng)放電電流恒定時,極化內(nèi)阻隨SOC的降低而增大;當(dāng)SOC恒定時,極化內(nèi)阻隨放電倍率(即放電電流)的增大而減小。極化電容的變化趨勢與極化電阻相反,因為二者并聯(lián),符合電池的工作特性。
圖4 等效極化電阻(a)與等效極化電容(b)的參數(shù)辨識結(jié)果
1)針對遍歷性差
采用Tent映射對粒子群位置和速度進行初始化[19],它是分段線性一維映射的一種形式,又稱帳篷映射,其數(shù)學(xué)表達式為:
xn+1=α-1-α|xn|,α∈(1,2]
(6)
Tent映射的Lyapunov指數(shù)為:
(7)
當(dāng)α≤1時,λ≤0,系統(tǒng)處于穩(wěn)定狀態(tài);當(dāng)α>1時,λ>0,系統(tǒng)處于混沌狀態(tài);當(dāng)α=2時,λmax=ln2,為中心Tent映射,其數(shù)學(xué)表達式為:
(8)
將初始化結(jié)果映射到[-1,1]區(qū)間,表達式如下:
ef,d=rf,d(2xk-1)
(9)
該式所得即為粒子群初始速度值和初始位置值。
Tent映射結(jié)構(gòu)簡單,具有很好的遍歷均勻性,更適合大數(shù)量級數(shù)據(jù)序列的運算處理,迭代速度和遍歷性要快于Logistic映射。
2)針對算法易早熟、后期易在全局最優(yōu)解附近震蕩
為了保持種群內(nèi)部的多樣性,避免算法過早在局部最優(yōu)處收斂,進而導(dǎo)致早熟現(xiàn)象,引入一個帶變異算子的變異控制函數(shù)[20-21],用來控制變異的粒子數(shù)目,變異控制函數(shù)為:
y(h)=(1-(h/hmax)α)β
(10)
式中:h為當(dāng)前迭代次數(shù);hmax為最大迭代次數(shù);α、β為控制系數(shù)。
變異算子的控制率計算公式如下:
u=m·y(h)
(11)
式中:u為變異率;m為預(yù)設(shè)變異率,設(shè)定后不變。
由式(10)(11)可以看出,通過控制α、β及變異率u的值可以控制變異函數(shù),在算法運行前期,為了種群搜索的全面性,α、u取較大的值,迭代次數(shù)更多;在算法運行后期,為了集中尋優(yōu),快速收斂,β、u取較小的值,迭代次數(shù)更少。
進行變異操作的粒子數(shù)通過變異率確定,如下式:
M=[N·u]
(12)
式中,M是進行變異操作的粒子數(shù)。
對粒子的變異操作為:首先對種群粒子進行Tent映射,并將初始化結(jié)果按照式(9)進行賦值,之后從中選擇M個粒子進行變異操作,假設(shè)第k個粒子被選中進行變異操作,如Xk=(xk1,xk2,…,xkD),其中第j個元素發(fā)生了變異,其操作策略為:
xk,j=xk,j+rand·y(h),rand∈(-a,a)
(13)
由式(13)可以看出,在算法前期,變異后的粒子距離變異前的粒子比較遠;在算法后期,變異后的粒子距離變異前的粒子比較近。這也就意味著,算法前期搜索空間比較大,減小了過早陷入局部最優(yōu)解的概率;后期搜索空間比較小,能夠集中資源向全局最優(yōu)解方向搜索,提高算法的收斂精度。
3)針對粒子易陷入極小值
以粒子群的位置協(xié)方差矩陣的取值作為標(biāo)準(zhǔn),當(dāng)其小于指定值時,表明粒子群陷入局部極小,重新由式(8)進行混沌映射初始化,表達式如下:
Δ=δf,d(f=1,2,…,n;d=1,2,…,D)
(14)
4)適應(yīng)度函數(shù)的選取
以模型電壓的模擬值與試驗電壓的測量值的絕對累積誤差值,作為IPSO算法的適應(yīng)度函數(shù),表達式如下:
(15)
利用IPSO-EKF融合算法進行SOC估算中的噪聲優(yōu)化主要分為2個步驟,首先是在Simulink中建立基于3階等效電路的EKF模型,其次是利用m腳本編寫IPSO程序,在每個采樣時刻,調(diào)用EKF模型1次,進行噪聲尋優(yōu),具體的步驟如下:
在Simulink中搭建基于3階等效電路的EKF模型,并設(shè)置好From Workspace以及To Workspace等調(diào)用接口;在Matlab中編寫m腳本,并利用options=simset(′SrcWork-space′,′current′)以及sim(′EKF′,[],options)設(shè)置好句柄;
步驟1 利用式(8)對PSO種群粒子進行Tent中心映射,并完成初始化;
步驟2 判斷是否達到最大迭代次數(shù);
步驟3 用式(15)計算粒子適應(yīng)度值;
步驟4 計算各個粒子的協(xié)方差矩陣;
步驟5 利用式(14)判斷種群是否陷入局部極小,判斷標(biāo)準(zhǔn)為所有粒子群都滿足式(14);
步驟6 判斷為是,利用式(10)對種群粒子進行變異操作,并返回步驟1;
步驟7 判斷為否,更新粒子位置和速度,并按照式(9),將粒子群最優(yōu)解賦值給Simulink中EKF模型的噪聲協(xié)方差矩陣Q、R;
步驟8 將Q、R帶入EKF模型進行一次迭代計算,并對電流、仿真電壓、測試電壓以及雅可比矩陣進行采樣,并計算SOC。
步驟9 輸出SOC,將此時的Q、R所對應(yīng)的粒子群速度和位置定義為種群歷史最優(yōu),并將其值返回步驟3,繼續(xù)進行迭代計算。
以上為IPSO-EKF在SOC估算中進行噪聲尋優(yōu)的遞推步驟,其融合算法流程以及子模塊局部放大圖如圖5所示。
圖5 IPSO-EKF融合算法流程框圖以及子模塊局部放大圖
首先對3階等效電路模型下的離線辨識結(jié)果進行驗證,驗證的方式為端電壓驗證,即在Simulink模型中輸入不同動態(tài)工況的電流激勵,模型會產(chǎn)生一個對應(yīng)的仿真電壓,將其與試驗電壓進行對比即可,IPSO-EKF算法的仿真電壓定義IPSO-EKF,試驗工況的真實電壓以具體的試驗名稱定義。
如圖6所示,驗證工況選用DST工況、UDDS工況以及NEDC工況,其中,DST工況和UDDS工況側(cè)重于模擬城市駕駛條件下動力電池的負載變化;而NEDC工況兼顧城市和市郊駕駛條件下動力電池的負載變化。由圖6可以看出,基于3階等效電路模型下的模型仿真電壓與動態(tài)工況測試電壓觀測值大部分重合,誤差基本在-0.02~0.06 V,說明在離線參數(shù)辨識的情況下,3階等效電路模型可以很好地進行模型參數(shù)識別。
圖6 DST、UDDS以及NEDC工況下的電壓驗證
分別基于DST工況、UDDS工況以及NEDC工況進行了IPSO-EKF算法驗證,結(jié)果如圖7所示。圖7中,以實驗室狀態(tài)下安時積分法測得的SOC作為基準(zhǔn)值,并定義為True SOC;EKF算法估算的SOC定義為EKF-SOC,需要注意的是,系統(tǒng)噪聲協(xié)方差矩陣和觀測噪聲協(xié)方差矩陣均為仿真平臺隨機生成,以此作為對比;IPSO-EKF算法估算的SOC定義為IPSO-EKF-SOC,該曲線是已經(jīng)經(jīng)過IPSO-EKF算法優(yōu)化噪聲之后的SOC估算曲線。由圖中可以看出,在SOC估算初期,由于EKF算法的噪聲協(xié)方差矩陣為仿真平臺隨即給出,其SOC估算曲線沒有及時收斂到True SOC,導(dǎo)致后期估算曲線越來越偏離真實值,并且逐漸出現(xiàn)發(fā)散的趨勢;而IPSO-EKF-SOC由于對噪聲進行尋優(yōu),曲線從放電開始,就及時收斂到了True SOC,且在后續(xù)的SOC估算過程中,一直保持在True SOC附近。此外,從誤差曲線也可以看出,在仿真開始的一瞬間,IPSO-EKF-SOC立刻收斂到True SOC附近,且在整個仿真過程中,估算誤差一直保持在5%以內(nèi),而EKF-SOC估算誤差越來越大,且沒有出現(xiàn)收斂的跡象。相比于EKF算法,IPSO-EKF算法具有更高的估算精度,其估算誤差比較平穩(wěn),且具有良好的適應(yīng)性。
圖7 DST、UDDS以及NEDC工況下的SOC估算精度比較
通過適應(yīng)度值收斂曲線隨算法迭代次數(shù)的變化來表征IPSO-EKF融合算法的收斂速度,如圖8所示。由圖8可知,本文提出的IPSO-EKF融合算法迭代速度較快,在前5次迭代過程中迅速收斂到全局最優(yōu)位置,并且在隨后的迭代過程中,最佳適應(yīng)度值趨向于穩(wěn)定。
圖8 DST、UDDS以及NEDC工況下的IPSO-EKF算法適應(yīng)度值收斂曲線
RMSE值和MAPE值通常用來作為評價一個回歸模型精度的指標(biāo),其值越小,代表模型精度越高,Yang等在研究鋰離子電池SOC估算問題時,提出可以用RMSE和MAPE來表征算法的精度和可靠性[9],即將試驗電壓的各個采樣點數(shù)據(jù)看作是離散空間中的點集,而將算法擬合的SOC曲線看作是一條回歸方程。不同動態(tài)工況下的RMSE和MAPE值如表3所示。
表3 DST、UDDS以及NEDC工況下EKF算法和IPSO-EKF算法的RMSE和MAPE值
由表3可知,DST工況以及UDDS工況下EKF算法和IPSO-EKF算法的RMSE值和MAPE值差別不大,這可能是由于DST和UDDS側(cè)重模擬城市駕駛條件下動力電池的負載變化,電流激勵比較單一,EKF和IPSO-EKF算法都具有比較好的適應(yīng)性;但是在NEDC工況下出現(xiàn)了巨大的差距,EKF算法的RMSE值和MAPE值分別達到了10.956 5和827.392 9,而IPSO-EKF算法的RMSE值和MAPE值僅為0.368 4和0.706 7,這是因為NEDC工況包括4個市區(qū)工況小循環(huán)和1個郊區(qū)工況循環(huán),需要兼顧城市和市郊駕駛條件下動力電池的負載變化,電流激勵在市區(qū)循環(huán)和郊區(qū)循環(huán)之間切換時會發(fā)生比較大的波動,對算法的適應(yīng)性提出了更高的要求,顯然,IPSO-EKF算法的精度和適應(yīng)性要優(yōu)于EKF算法。
綜合看來,相比于EKF算法,IPSO-EKF算法的RMSE和MAPE值更小,從統(tǒng)計學(xué)的角度來講,具有更高的精度和可靠性;同時無論是偏向城市駕駛條件下動力電池的負載變化;還是兼顧城市和市郊駕駛條件下動力電池的負載變化,本文提出的IPSO-EKF算法均表現(xiàn)出很強的適應(yīng)性。
1)采用3階RC等效電路模型,在不同放電倍率的基礎(chǔ)上,利用離線辨識的方法辨識模型參數(shù),試驗與仿真結(jié)果表明,在離線參數(shù)辨識的情況下,3階等效電路模型可以很好的進行模型參數(shù)識別。
2)本文所提出的IPSO-EKF融合算法,可以在EKF迭代過程中,利用IPSO優(yōu)化系統(tǒng)噪聲和觀測噪聲,提高SOC的估算精度。從試驗和仿真的結(jié)果可知,相對于EKF算法,IPSO-EKF算法具有較高的估算精度和良好的適應(yīng)性,無論是側(cè)重于模擬城市駕駛條件下動力電池負載變化的DST工況和UDDS工況,還是兼顧城市和市郊駕駛條件下動力電池負載變化的NEDC工況,本文提出的算法都可以很好的進行噪聲優(yōu)化,提高SOC的估算精度。
3)本文提出的IPSO-EKF融合算法迭代速度較快,在5次左右的迭代過程中迅速收斂到全局最優(yōu)位置,并且在隨后的迭代過程中,最佳適應(yīng)度值趨向于穩(wěn)定。
4)相比于EKF算法,IPSO-EKF算法的RMSE和MAPE值更小,從統(tǒng)計學(xué)的角度來講,具有更高的精度和可靠性;同時無論是偏向城市駕駛條件下動力電池的負載變化;還是兼顧城市和市郊駕駛條件下動力電池的負載變化,本文提出的IPSO-EKF算法均表現(xiàn)出很強的適應(yīng)性。
5)除此之外,本文為其他類型的鋰電池SOC估算提供了思路,即從噪聲尋優(yōu)的角度對SOC估算精度進行優(yōu)化。