林正廉,盧玉斌,陳 亮,柯彥舜
(1. 福州大學(xué)先進(jìn)制造學(xué)院,福建 泉州 362200; 2. 中國科學(xué)院福建物質(zhì)結(jié)構(gòu)研究所泉州裝備制造研究中心,福建 泉州 362200)
高效的電池管理系統(tǒng)(BMS)通過監(jiān)測電池包狀態(tài),在保障安全工作的前提下,提高電池利用效率并延緩老化[1]。 荷電狀態(tài)(SOC)是BMS 監(jiān)測中的重要狀態(tài)之一,能夠提供電池剩余電量,預(yù)測剩余里程數(shù)等信息。 準(zhǔn)確地估計(jì)電池SOC能保障電動(dòng)汽車運(yùn)行安全,延長電池壽命。 SOC 無法進(jìn)行直接測量,只能通過測量電池外部參數(shù)進(jìn)行估計(jì),因此,精確的SOC 估計(jì)方法成為BMS 研究中的著重點(diǎn)。
目前,電池SOC 估計(jì)方法可大致分為3 類:基于電池物理特性的方法、基于電池模型的方法和基于機(jī)器學(xué)習(xí)的方法等[2]。 基于電池物理特性的SOC 估計(jì)方法包括安時(shí)積分法與開路電壓法,利用SOC 與充放電電流、開路電壓的關(guān)系,對SOC 進(jìn)行估算[3]。 基于電池模型的SOC 估計(jì)方法,通過構(gòu)建模型,模擬電池內(nèi)部動(dòng)態(tài)特性進(jìn)行SOC 估計(jì),常用方法有粒子濾波、H-infinity、粒子群優(yōu)化和卡爾曼濾波(KF)算法等,其中,KF 算法通過良好的自校正性能成為在線SOC 估計(jì)的首選之一[4]。 基于機(jī)器學(xué)習(xí)的SOC 估計(jì)方法有神經(jīng)網(wǎng)絡(luò)、模糊邏輯、支持向量機(jī)和極限學(xué)習(xí)機(jī)等[5]。 傳統(tǒng)KF 算法僅適用于線性系統(tǒng),因此,有學(xué)者提出拓展卡爾曼濾波(EKF)和無跡卡爾曼濾波(UKF)算法[6]。 EKF 算法通過一階泰勒展開,實(shí)現(xiàn)系統(tǒng)的線性化,但只能實(shí)現(xiàn)一階精度,忽略高次項(xiàng)的影響,影響SOC 的估計(jì)精度。 UKF 算法通過構(gòu)建Sigma點(diǎn),利用無跡轉(zhuǎn)化的方法解決EKF 算法只能實(shí)現(xiàn)一階精度的問題。 在復(fù)雜工況下,系統(tǒng)的誤差協(xié)方差矩陣常常無法保持正定導(dǎo)致算法崩潰,影響了算法的魯棒性。
針對上述問題,本文作者采用時(shí)變遺忘因子遞推最小二乘法(TVFRLS)和奇異值無跡卡爾曼濾波(SVD-UKF)聯(lián)合算法在線估計(jì)SOC。 先引入時(shí)變遺忘因子,減小由遺忘因子固定導(dǎo)致的辨識(shí)精度問題,以提高參數(shù)辨識(shí)精度,再采用奇異值分解法(SVD),解決傳統(tǒng)UKF 算法在復(fù)雜工況和計(jì)算舍入誤差影響下崩潰的問題,以提高魯棒性與精確性。
綜合考慮模型的復(fù)雜度和準(zhǔn)確度,選擇二階RC 模型對電池進(jìn)行建模。 二階RC 等效電路模型如圖1 所示。
圖1 二階RC 等效電路模型Fig.1 Second-order RC equivalent circuit model
圖1 中:Uoc為電池開路電壓;UL為電池端電壓;R0為電池歐姆內(nèi)阻;R1、R2為電池極化電阻;C1、C2為電池極化電容;Ik為電流。
為了使二階RC 電路模型適用于UKF 算法,需要對電池系統(tǒng)模型進(jìn)行離散化。 選取電池SOC 與兩個(gè)RC 網(wǎng)絡(luò)的電壓作為系統(tǒng)狀態(tài)變量、電流Ik作為系統(tǒng)輸入變量,結(jié)合安時(shí)積分法將電池系統(tǒng)離散化。
在二階RC 等效電路模型中,開路電壓(OCV)與SOC 存在強(qiáng)非線性關(guān)系,通過對OCV 和SOC 擬合,可得到OCV-SOC關(guān)系曲線。 實(shí)驗(yàn)對象為INR18650-30Q 型磷酸鐵鋰鋰離子電池[韓國產(chǎn),額定電壓為3.6 V,充電截止電壓為(4.2±0.5) V,放電終止電壓為2.5 V]。 實(shí)驗(yàn)平臺(tái)由MP-80PCT-10-20V100A電池測試設(shè)備(湖南產(chǎn))、可編程式恒溫箱與上位機(jī)等組成。
傳統(tǒng)帶遺忘因子遞推最小二乘法(FRLS)是以殘差平方和最小為目標(biāo),具體遞推方程為:
式(1)中:e(k)為系統(tǒng)預(yù)測誤差;(k)為當(dāng)前時(shí)刻參數(shù)估計(jì)值;K(k)為系統(tǒng)增益系數(shù);P(k)為系統(tǒng)協(xié)方差矩陣;φ(k)為系統(tǒng)測量矩陣;y(k-1)、φ(k-1)和(k-1)分別為系統(tǒng)前一時(shí)刻系統(tǒng)響應(yīng)、系統(tǒng)測量矩陣和參數(shù)矩陣估計(jì)值;λ為遺忘因子。
傳統(tǒng)FRLS 算法對遺忘因子λ的取值一般為0.95 ~1.00,由仿真實(shí)驗(yàn)不斷修改λ,取得一個(gè)相對合適的值。 在實(shí)際動(dòng)態(tài)工況下,使用固定的λ很難較好地適應(yīng)電池內(nèi)部復(fù)雜的電化學(xué)反應(yīng),且通過實(shí)驗(yàn)法選出的λ較難保證為當(dāng)前工況下的最優(yōu)值。 針對以上問題,本文作者引入一種數(shù)據(jù)開窗理論方法。 通過擴(kuò)展系統(tǒng)估計(jì)誤差的數(shù)據(jù)點(diǎn)個(gè)數(shù),對多時(shí)刻系統(tǒng)估計(jì)誤差求均方差,通過均方差大小實(shí)時(shí)影響λ的取值,從而提高算法的精確性和穩(wěn)定性。 具體方程為:
式(2)中:M為開窗大小,M=2;H(k)為當(dāng)前時(shí)刻遺忘因子誤差系數(shù);ei為i時(shí)刻的系統(tǒng)估計(jì)誤差;λmin為遺忘因子在整個(gè)辨識(shí)過程中的最小值;λmax為遺忘因子在整個(gè)辨識(shí)過程中的最大值。
通過城市道路循環(huán)(UDDS)測試工況對TVFRLS 算法進(jìn)行仿真實(shí)驗(yàn),可辨識(shí)出二階RC 等效電路模型的各參數(shù)值,辨識(shí)結(jié)果如圖2 所示。 通過分析可以看出,在算法運(yùn)行初始階段,由于測試數(shù)據(jù)量限制導(dǎo)致辨識(shí)結(jié)果波動(dòng)較大,隨著數(shù)據(jù)量進(jìn)一步增大,各辨識(shí)參數(shù)逐步趨于穩(wěn)定。
圖2 參數(shù)辨識(shí)結(jié)果Fig.2 Parameter identification results
使用UKF 算法,對電池進(jìn)行SOC 估計(jì)的過程中,通過無跡變換,避免了求導(dǎo)雅可比矩陣,大幅減小了系統(tǒng)的計(jì)算負(fù)擔(dān)。 對比EKF 算法,UKF 算法在無跡變換過程中保留了高階項(xiàng),使算法可達(dá)到二階精度。
無跡變換的核心是求協(xié)方差矩陣P的平方根;傳統(tǒng)無跡轉(zhuǎn)換由Cholesky 變換對協(xié)方差矩陣P開方。 具體方程為:
式(3)中:L為下三角實(shí)數(shù)矩陣。
Cholesky 變換的必要條件是保持矩陣正定,但在實(shí)際工況下,協(xié)方差矩陣P易受到外部噪聲干擾與系統(tǒng)硬件計(jì)算導(dǎo)致的舍入誤差影響,導(dǎo)致矩陣非正定。 一旦發(fā)生上述情況,則無跡轉(zhuǎn)換無法進(jìn)行,直接導(dǎo)致算法崩潰。 針對該問題,引入SVD 來保持協(xié)方差矩陣P正定,提高SOC 估計(jì)的魯棒性。設(shè)協(xié)方差矩陣為P∈Rm×n(m≥n),R為m×n階半正定對角矩陣,則該矩陣的奇異值分解為:
式(4)中:U∈Rm×n、Λ∈Rm×n、V∈Rm×n;矩陣U的列向量為矩陣P的左奇異向量;矩陣V的列向量為矩陣P的右奇異向量;S=diag(s1,s2,…,sr)為矩陣P奇異值構(gòu)成的對角矩陣,r為矩陣P的秩,且s1,s2,…,sr>0。
UKF 是無跡轉(zhuǎn)換與卡爾曼濾波系統(tǒng)的組合,傳統(tǒng)UKF算法采用無跡變換代替泰勒級(jí)數(shù)展開式,將非線性系統(tǒng)轉(zhuǎn)化為線性系統(tǒng),提高了算法的精度。 本文作者將無跡變換中的Cholesky 分解用SVD 分解代替,得到SVD-UKF 算法,SVDUKF 算法的其余部分與傳統(tǒng)UKF 算法一致。
電池等效電路模型的離散狀態(tài)方程與測量方程為:
式(5)中:yk為系統(tǒng)響應(yīng);f和g為系統(tǒng)狀態(tài)函數(shù)和觀測函數(shù);Ak為系統(tǒng)矩陣;Bk為控制輸入矩陣;Sock為k時(shí)刻系統(tǒng)SOC 值;Uoc(Sock)為k時(shí)刻開路電壓;U1,k與U2,k為k時(shí)刻兩個(gè)極化回路的電壓值;xk=[SockU1,kU2,k]T,為系統(tǒng)的觀測變量;wk為系統(tǒng)過程噪聲;vk為系統(tǒng)測量噪聲。wk、vk均為零均值高斯白噪聲,方差分別為Q和R。
具體SVD-UKF 算法估算SOC 流程如下。
式(6)中:E[·]代表均值;x0為初始系統(tǒng)狀態(tài)變量。
②確定加權(quán)系數(shù):
式(7)中:α為比例縮放因子,Sigma 點(diǎn)集的分布狀態(tài)通過α的取值來確定;κ為縮放參數(shù),決定了采樣點(diǎn)的自由度;β為非負(fù)權(quán)系數(shù),通過β的取值調(diào)節(jié)高階項(xiàng)的動(dòng)差;λf為降低總預(yù)測誤差的尺度參數(shù);ωm為均值的權(quán)重;ωc為方差的權(quán)重;n為狀態(tài)變量的維度。α、κ、β的取值分別為10-4<α<1、κ=n-3、β=2。
③使用SVD 法,分解k-1 時(shí)刻系統(tǒng)誤差協(xié)方差矩陣Pk-1,根據(jù)分解后的奇異值矩陣生成Sigma 點(diǎn):
④時(shí)間更新,計(jì)算向后傳播到k時(shí)刻系統(tǒng)狀態(tài)變量均值及誤差協(xié)方差矩陣預(yù)測值:
式(10)中:xk|k-1為基于前一時(shí)刻變量值的預(yù)測狀態(tài)變量;xi,k|k-1為k時(shí)刻系統(tǒng)狀態(tài)變量;為k時(shí)刻系統(tǒng)狀態(tài)變量均值的最優(yōu)估計(jì);Pk|k-1為誤差協(xié)方差矩陣預(yù)測值;Qk-1為k-1 時(shí)刻系統(tǒng)過程噪聲方差。
式(12)-(13)中:xi,k|k-1與為基于k時(shí)刻的觀測變量預(yù)測值;分別為k時(shí)刻誤差協(xié)方差矩陣的預(yù)測值及逆矩陣的預(yù)測值;Rk-1為k-1 時(shí)刻測量噪聲方差。
⑥計(jì)算系統(tǒng)增益K,更新狀態(tài)變量估計(jì)值與誤差協(xié)方差矩陣估計(jì)值:
通過不斷更新系統(tǒng)狀態(tài)變量估計(jì)值,即可實(shí)現(xiàn)SOC 的實(shí)時(shí)在線估計(jì)。
為了驗(yàn)證TVFRLS 與SVD-UKF 聯(lián)合算法的估計(jì)性能,采用UDDS 工況模擬新能源汽車實(shí)際駕駛工況。 通過上位機(jī)模擬控制產(chǎn)生UDDS 工況,控制MP-80PCT-10-20V100A 動(dòng)力電池測試平臺(tái)對磷酸鐵鋰鋰離子電池進(jìn)行充放電(電流為-30~10 A,電壓為2.5~4.2 V)。 測試平臺(tái)采集電池模塊電壓,同時(shí)測量充放電電流,隨后將測試數(shù)據(jù)存儲(chǔ),得到UDDS工況下的工作電流與電壓,如圖3 所示。
圖3 UDDS 工況的工作電流和電壓曲線 Fig.3 Working current and voltage curves of urban dynamometer driving schedule(UDDS)
在UDDS 工況下,利用離線參數(shù)識(shí)別與TVFRLS 辨識(shí)算法分別進(jìn)行仿真實(shí)驗(yàn),可得到兩種參數(shù)辨識(shí)算法的端電壓誤差。 端電壓誤差如圖4 所示。
圖4 端電壓誤差Fig.4 Terminal voltage error
從圖4 可知,TVFRLS 算法的辨識(shí)精度高于離線參數(shù)辨識(shí),且平均電壓誤差為0.011 V。
為了對比聯(lián)合算法與傳統(tǒng)算法的性能,還采用了EKF、UKF 與SVD-UKF 算法進(jìn)行比較分析。 各算法估計(jì)的SOC 結(jié)果及各算法與真實(shí)SOC 之間的誤差見圖5。
圖5 SOC 估計(jì)結(jié)果及誤差Fig.5 Estimation results and errors of state of charge(SOC)
從仿真實(shí)驗(yàn)結(jié)果可以看出,在UDDS 工況下,各算法的SOC 估計(jì)值變化趨勢基本與真實(shí)SOC 值一致。 為了比較4類算法性能之間的優(yōu)劣,引入最大絕對誤差(AEE)、平均絕對誤差(MEA)和均方根誤差(RMSE)作為性能評判指標(biāo),4類算法性能指標(biāo)對比如表1 所示。
表1 SOC 估計(jì)性能指標(biāo)比較Table 1 Comparison of SOC estimated performance indicators
從表1 可知:首先,SVD-UKF 算法相較于傳統(tǒng)EKF 與UKF 算法,AEE 最小,表明對SOC 估計(jì)的穩(wěn)定性要優(yōu)于傳統(tǒng)算法;其次,SVD-UKF 算法的MEA 與RMSE 也小于其余兩種傳統(tǒng)算法,表明準(zhǔn)確性優(yōu)于傳統(tǒng)算法;最后,聯(lián)合算法在加入了TVFRLS 的前提下,利用SVD-UKF 算法進(jìn)行在線參數(shù)辨識(shí)。 聯(lián)合算法的各項(xiàng)性能指標(biāo)對比SVD-UKF 算法具有顯著提升;估計(jì)精度與動(dòng)態(tài)自適應(yīng)性也全面優(yōu)于其他傳統(tǒng)算法。與傳統(tǒng)UKF 算法相比,聯(lián)合算法的MEA 與RMSE 分別降低了60.0%和51.9%。
為了驗(yàn)證聯(lián)合算法具有較高的魯棒性,在SOC 初始值失真且誤差協(xié)方差初始值P0設(shè)置為非正定的情況下,通過UDDS 工況人為設(shè)定不同SOC 初始值進(jìn)行實(shí)驗(yàn)。 SOC 初始值的設(shè)定分別為0.8、0.6、0.4 和0.2,實(shí)驗(yàn)結(jié)果如圖6 所示。
圖6 不同初始值SOC 估計(jì)誤差Fig.6 SOC estimation error of different initial values
從圖6 可知,傳統(tǒng)UKF 算法無法在誤差協(xié)方差矩陣初始值非正定的情況下進(jìn)行SOC 估計(jì),而通過實(shí)驗(yàn)可以看出,聯(lián)合算法不同SOC 初始值在100 s 內(nèi)均可很好地收斂到真實(shí)值附近,說明聯(lián)合算法在初始值設(shè)定產(chǎn)生較大誤差時(shí),具有較強(qiáng)的魯棒性。
準(zhǔn)確的SOC 估計(jì)是實(shí)現(xiàn)BMS 各項(xiàng)功能、保證電動(dòng)汽車安全運(yùn)行的基礎(chǔ)。 本文作者以INR18650-Q 鋰離子電池為實(shí)驗(yàn)對象,針對傳統(tǒng)在線辨識(shí)方法遺忘因子固定導(dǎo)致等效電路模型精度低影響SOC 估計(jì)的問題,提出基于TVFRLS 以提升模型精度進(jìn)而提高SOC 估計(jì)精度。 此外,還針對傳統(tǒng)的UKF 算法在SOC 估計(jì)過程中存在誤差協(xié)方差非正定導(dǎo)致算法失效的問題,提出基于奇異值分解無跡卡爾曼濾波算法,以提高SOC 估計(jì)的魯棒性。 在此基礎(chǔ)上,將TVFRLS 與SVD-UKF 進(jìn)行聯(lián)合,在提升了SOC 估計(jì)魯棒性的前提下,提高了算法的精確性。 最后,通過UDDS 工況,將聯(lián)合算法與傳統(tǒng)SOC 估計(jì)算法進(jìn)行比較。 通過分析得出以下結(jié)論:
在SOC 估計(jì)的過程中,聯(lián)合算法實(shí)時(shí)更新等效電路模型內(nèi)部參數(shù),降低了動(dòng)態(tài)工況下由內(nèi)部復(fù)雜電化學(xué)反應(yīng)導(dǎo)致模型參數(shù)非線性變化引起的測量誤差,提高了估計(jì)的精確性。
聯(lián)合算法通過引入奇異值分解,在初始值失真且誤差協(xié)方差矩陣非正定的前提下也具有的較強(qiáng)的魯棒性,從而保證了聯(lián)合算法進(jìn)行SOC 估計(jì)的穩(wěn)定性。
聯(lián)合算法相較于其他傳統(tǒng)算法,通過聯(lián)合TVFRLS 與SOC 估計(jì)方法,提高了系統(tǒng)自適應(yīng)性與SOC 估計(jì)精度,在實(shí)際應(yīng)用過程中具有一定的借鑒價(jià)值。
聯(lián)合算法尚未考慮電池在變溫環(huán)境下的情況,后續(xù)算法改進(jìn)可以由該出發(fā)點(diǎn)進(jìn)行研究。