談發明 王琪
(江蘇理工學院,常州 213001)
主題詞:荷電狀態 跟蹤 精度 狀態檢測 動力電池
荷電狀態(State Of Charge,SOC)估計是車載動力電池管理系統的核心功能之一,SOC無法直接測量,只能通過測量電池其他狀態量來間接估計。SOC的估計方法各有優點和應用限制:開路電壓結合安時積分法不需要長時間靜置電池,但累積誤差仍存在[1];基于神經網絡理論建立模型預測SOC取得了比較好的效果,但模型中網絡拓撲結構難以確定[2],估算結果受樣本數據量影響較大[3];內阻法在電池放電后期估計精度較好,但是內阻難以精確測量[4]。實際工程中常用的卡爾曼濾波(Kalman Filter,KF)是一種最優化自回歸數據處理算法,實現簡單,在修正系統初始誤差和抑制系統噪聲方面效果較好[5]。
無跡卡爾曼濾波(Unscented Kalman Filter,UKF)算法是KF算法的一種改進形式,該算法針對電池的非線性特性,利用二階以上精度獲取高斯非線性系統狀態的后驗均值與方差,提高了SOC估計精度且收斂性較好[6],是目前電池SOC估計的一種常見方案。但UKF算法在電池模型誤差、狀態初值設定誤差偏大或出現狀態突變等情況時,容易發生魯棒性變差、估計精度降低及跟蹤能力減弱的問題[7]。針對以上問題,文獻[8]、文獻[9]利用神經網絡實時預測并更新電池模型參數,減小模型時變誤差對UKF算法估計效果的影響,但未考慮系統狀態初值誤差的影響。文獻[10]提出通過減少采樣點數量、減小球面半徑確保所有采樣點在同一個單位超球體球面上,從而提高算法對初值設定的魯棒性,并采用平方根濾波提高算法的數值穩定性,但跟蹤收斂速度稍慢。文獻[11]、文獻[12]利用系統觀測殘差對估計過程中噪聲協方差進行自適應修正以提高系統的估計效果,這種方法提升了算法的跟蹤能力,但自適應過程容易導致估計波形抖振。
在前述研究的基礎上,本文首先利用復合模型建立電池的非線性系統模型并用遞推最小二乘法對其參數進行辨識,分析了UKF算法和改進型自適應衰減因子的UKF算法在電池SOC估計中的優缺點,在此基礎上引入基于殘差特性的狀態檢測機制,檢測到系統異常時引入改進衰減因子方法提升跟蹤速度和抗差能力,在跟蹤到目標點值或系統未產生異常時,切換到普通UKF算法避免估計結果波動性大帶來精度下降的問題。
建模研究對象為96節3.7 V、60 A·h的聚合物動力鋰電池串聯構成的電池組,為了提高電池非線性特性,合并常用的Shepherd模型、Unnewehr Universal模型及Nernst模型,并將函數同項刪除,得到復合模型,復合模型在擬合精度上更具優勢[5]。結合安時計量法,可得到電池觀測模型方程。
狀態方程為:

式中,xk為k時刻的SOC值;ik為k時刻采樣得到的電池電流;η為充電效率;C為電池的額定總容量;Δt為采樣周期。
觀測方程為:

其中,E0為電池開路電壓;R為電池內阻;k1、k2、k3、k4為擬合系數;yk為k時刻采樣得到的電池端電壓。
最小二乘法在未知觀測數據概率統計信息時的結果具有很好的統計特性。本文采用遞推最小二乘法辨識式(2)模型參數,該方法要求系統輸入量為持續激勵[13]。路況復雜度較高的單循環城市道路循環(Urban Dynamometer Driving Schedule,UDDS)工況下采集到的測試數據能夠滿足激勵要求。在UDDS工況下以1 s的采樣周期采集電池數據,圖1a、圖1b所示為采集到電池的電壓和電流樣本數據,在大多數情況下電池處于小電流充、放電狀態;圖1c所示為實測的電池SOC樣本數據,SOC變化整體呈緩慢下降趨勢。
針對式(2),取數據矩陣為 Hk=[1 ik1/xkxkln(xk)ln(1-xk)],待估參數矩陣為θ?k=[E0R k1k2k3k4],最小二乘形式為yk=HTkθ?k+ek,其中ek為誤差。遞推計算公式為:

式中,Kk為增益矩陣;Gk為協方差矩陣。

圖1 數據采集及辨識結果
具體辨識步驟為:
a. 初始值設置:待估參數矩陣初始值θ?0=[10-310-310-310-310-310-3],協 方 差 矩 陣 初 始 值G0=107I6,I6為6階單位矩陣。
b. 先根據采樣數據得到算法的當前輸入yk、ik及輸出xk,再確定 Hk。
c. 用式(3)迭代計算k時刻θ?k、Kk和Gk。
d.判斷是否達到最大迭代次數,若未達到則返回步驟2,否則返回結果θ?=[E0R k1k2k3k4。]
從圖1d參數辨識結果可知,參數E0、R、k1、k2、k3、k4辨識曲線有相似收斂特性,均在迭代1 000次后趨于穩定,直至收斂。表1所示為辨識得到的各參數穩定值。

表1 各參數辨識結果
根據表1的辨識結果建立電池非線性模型并進行仿真驗證,以絕對誤差AE、相對誤差RE,平均相對誤差MRE及均方根誤差RMSE評價模型的準確性:

式中,yj為樣本觀測值;y?j為樣本估計值;l為樣本數。
UDDS工況下仿真結果及其相對誤差如圖2所示。

圖2 UDDS工況端電壓仿真結果及相對誤差
由圖2可知,模型仿真電壓變化趨勢與實測電壓基本保持一致,均方根誤差為0.1%,平均相對誤差為0.08%,最大絕對誤差為1.418 4 V,說明復合模型參數辨識結果在UDDS工況下精度高,辨識方法可行有效。
UKF算法利用無跡變換修正非線性卡爾曼濾波,可以把均值和協方差逼近到3階的泰勒級數[1]。定義狀態變量維數為1的電池非線性系統模型為:

式中,wk、nk分別為電池測量時產生的均值為0的系統和量測高斯白噪聲。
wk、nk的協方差矩陣分別為Qk和Rk,設定初值Q0=10-6I1、R0=10-3I1,其它濾波參數初值定義如下:

式中,x?0為SOC的初始估計值,是系統初始狀態值;P0=10-2I1為狀態誤差協方差矩陣初值。
算法遞推估計SOC的過程為:
a. 計算采樣點。選取(2n+1)個Sigma點作為粒子點,為解決異常情況下Pk-1失去正定性而無法使用Cholesky分解的問題[14],本文基于奇異值分解計算Sigma點,即使用比例修正的采樣策略為:

式中,Sk-1為由Pk-1的奇異值構成的對角矩陣;Uk-1和Vk-1為酉矩陣。

根據輸入變量的統計信息,采用Sigma點對稱采樣策略所對應的權重定義為:

b.更新狀態的一步預測值和方差:

c.測量更新:

d.變量和協方差修正后計算估計值:

式中,vk=yk-y?k|k-1為系統觀測殘差。
圖3所示為在UDDS工況下設定不同的SOC初值時UKF算法的跟蹤能力和估計精度的仿真驗證結果,標準參考值的變化趨勢說明電池實際SOC呈緩慢下降趨勢,由于汽車再生制動過程會對電池進行能量回饋,導致SOC時而呈現出小幅增加突變或緩變的情況。

圖3 不同SOC初值下UKF估計結果
估計結果表明,不同的SOC初始值選取對UKF算法影響較大,UKF算法狀態初值誤差的修正能力較弱,初始誤差越大,跟蹤效果越差,因為在系統平穩狀態時,增益矩陣K會趨于極小值,當系統受各類干擾時,雖然殘差vk會增大,但K不會隨之發生劇烈變化。然而,UKF算法在電池模型精確度較高的條件下跟蹤上目標以后的估計精度較好。
UKF算法除受系統狀態初值設定誤差的影響,還會受到其他諸多因素干擾產生模型誤差,導致估計效果變差,本文根據殘差協方差匹配原理,引入改進自適應衰減因子更新觀測誤差及互誤差協方差矩陣,使系統具有較好的跟蹤速度和精度。
定義的殘差協方差陣為:

改進型衰減因子為:

式中,tr[]為矩陣的跡。
引入自適應衰減因子的UKF算法在電池SOC估計中應用容易出現波動性大甚至引起發散的問題,需設定衰減控制系數μ,μ的取值對估計效果的影響較大,通常取值遠小于1。
修正后的測量更新為:

UKF算法中引入改進的衰減因子能夠有效平衡狀態方程預測與觀測信息的權重比,而且能夠在一定范圍內控制模型或設定的狀態初值誤差對濾波效果的影響。
圖4所示仿真結果說明衰減控制系數μ的選取對濾波結果有較大影響:取值越大,跟蹤能力越強,但濾波精度隨著取值增大而減少;取值越小,濾波精度越高,但會影響跟蹤收斂速度,不能及時跟蹤到目標。

圖4 衰減系數μ對SOC估計結果的影響
SOC初始值的設定對UKF算法的影響較大,但只要能跟蹤到目標,即可在建立的模型精確度高的條件下實現理想的估計精度,而引入改進自適應衰減因子的UKF算法受衰減控制系數μ的影響較大,在精度和跟蹤能力之間存在矛盾。為了提升估計精度,提高系統抗差及跟蹤能力,本文引入了狀態檢測機制,當算法檢測到觀測殘差vk偏大時,引入自適應衰減因子UKF算法對系統進行濾波跟蹤估計。
具有調節功能的異常狀態檢測常采用殘差χ2假設檢驗的方法,利用殘差的統計信息對系統異常進行檢測。但是,由于UKF算法自身有一定的魯棒性,特別是對于小幅變化和緩變情況,殘差χ2假設檢驗難以有效地進行檢測,尤其是當殘差取值過小時,該方法的表現欠佳[16]。本文采用了一種改進的基于殘差特性的觀測量異常狀態檢測方法對狀態異常情況進行判別,檢測判斷條件為:

式中,ζ為檢測量控制系數,通常取ζ≥100。
當式(17)成立時,表明對應系統狀態存在異常。
引入狀態檢測機制時后,需要對衰減因子的上限λmax進行約束,否則也會出現估計波形劇烈振動的問題,通過仿真研究分析得出,λmax的上限在15~20范圍內較為合適。
針對式(5)、式(6)定義的車載動力電池的非線性系統,提出的改進型UKF算法流程如圖5所示。本文改進部分的核心思想是依據狀態檢測機制的判斷結果對UKF算法測量更新部分的協方差矩陣Pyy,k和Pxy,k采用不同的衰減策略。

圖5 改進型UKF算法實現流程
為了驗證改進后的UKF算法對車載電池SOC估計的精度、跟蹤能力、魯棒性以及泛化能力,本文從算法收斂性、多種算法測試對比、變工況驗證等多角度進行研究分析。仿真中取μ=10-5,λmax=15,ζ=104。
測試改進型UKF算法在估計SOC時對初值設定的依賴程度、響應時間以及收斂性能。SOC初值假定分別為0.5、0.6、0.8、0.9,圖6描述了在不同SOC初值設定條件下,改進型UKF算法能的收斂能力。

圖6 算法收斂過程
由圖6可知,在第6個采樣點左右,所有曲線均收斂于參考值,收斂速度快,算法反應時間短。因為在初值設定誤差偏大時,系統殘差增大,當檢測到異常時,自動引入自適應衰減因子的方法跟蹤估計,跟蹤到目標值后,為了防止估計波形劇烈波動,自動切換到普通UKF算法跟蹤估計,改進方法能很好地克服UKF算法對初值設定敏感的問題,而且保證了估計精度。
利用改進型UKF算法分別與目前研究較多的UKF算法以及ST-UKF(Strong Tracking UKF)算法在相同條件下的估算結果進行對比,SOC初值設定為0.5,圖7所示為3種算法的估計結果。

圖7 不同算法估計結果比較
UKF算法在第900 s左右跟蹤到目標,跟蹤速度稍慢,跟蹤到目標后精度較高,平均相對誤差為2%;STUKF算法的跟蹤能力很強,但在第700 s前估計波形波動性較大,平均相對誤差為1.1%;改進型UKF算法跟蹤速度與ST-UKF算法相仿,在起始點超調量稍大,但跟蹤到目標后與參考曲線貼合最好,平均相對誤差為0.2%。故改進型UKF算法的估計精度最高。
利用改進型UKF算法分別在紐約城市循環(New York City Cycle,NYCC)工況和西弗吉尼亞州際行車(West Virginia Interstate Driving,WVUINTER)工況下進行測試,檢驗算法魯棒性和泛化能力。
利用3.1節建立的電池非線性模型對這兩種工況的電壓和誤差進行仿真對比,結果如圖8、圖9所示。表2所示為兩種工況模型誤差指標的驗證結果。

圖8 NYCC工況端電壓實測與仿真比較
兩種檢驗工況的模型驗證結果與UDDS工況相比精度較差,WVUINTER工況的最大絕對誤差AE甚至達到了35 V左右,說明固定的電池模型參數辨識結果在不同測試工況中準確度存在較大差異。
NYCC工況下不同算法估計結果如圖10所示。STUKF算法在前階段和后階段的預測能力較好,而在中間階段SOC參考值小幅緩變,電池能量回饋較多,在模型精確度不夠的情況下為了能及時響應跟蹤而產生了較大的波動性;UKF算法由于初值設定誤差較大,仿真結束時未能跟蹤到目標。
WVUINTER工況下不同算法估計結果如圖11所示。改進型UKF算法和ST-UKF算法收斂快,跟蹤能力強,但ST-UKF算法在SOC波形第200 s前的小幅突變和第1 580 s左右的大幅突變處估計結果產生較大的波動;UKF算法濾波波形平滑,收斂慢,精度較低。

圖9 WVUINTER工況端電壓實測與仿真比較

表2 模型驗證結果對比

圖10 NYCC工況下不同算法估計結果比較


圖11 WVUINTER工況下不同算法估計結果比較
仿真平均相對誤差結果如表3所示。誤差數據充分說明改進型UKF算法的優異性能,在SOC初始值誤差較大且變工況模型存在誤差的情況下,改進型UKF算法跟蹤速度和精度優勢明顯,能說明算法的有效性及泛化性能。

表3 平均相對誤差MRE結果對比 %
本文介紹了電池非線性復合模型的建立方法,利用遞推最小二乘法對電池模型參數進行了辨識和驗證,分析了UKF算法和基于改進自適應衰減因子UKF算法的優、缺點,引入狀態檢測機制形成最終的改進型UKF算法。變工況驗證結果表明,該算法對電池SOC的估計精度和抗差能力有了很大提高,跟蹤速度可滿足電動汽車使用要求。該算法不足之處在于消除誤差積累的能力以及對連續多點強干擾的跟蹤能力有待進一步提高。