?

基于TVFRLS 和SVD-UKF 的鋰離子電池SOC 估算

2024-01-10 06:58林正廉盧玉斌柯彥舜
電池 2023年6期
關鍵詞:無跡協方差電池

林正廉,盧玉斌,陳 亮,柯彥舜

(1. 福州大學先進制造學院,福建 泉州 362200; 2. 中國科學院福建物質結構研究所泉州裝備制造研究中心,福建 泉州 362200)

高效的電池管理系統(BMS)通過監測電池包狀態,在保障安全工作的前提下,提高電池利用效率并延緩老化[1]。 荷電狀態(SOC)是BMS 監測中的重要狀態之一,能夠提供電池剩余電量,預測剩余里程數等信息。 準確地估計電池SOC能保障電動汽車運行安全,延長電池壽命。 SOC 無法進行直接測量,只能通過測量電池外部參數進行估計,因此,精確的SOC 估計方法成為BMS 研究中的著重點。

目前,電池SOC 估計方法可大致分為3 類:基于電池物理特性的方法、基于電池模型的方法和基于機器學習的方法等[2]。 基于電池物理特性的SOC 估計方法包括安時積分法與開路電壓法,利用SOC 與充放電電流、開路電壓的關系,對SOC 進行估算[3]。 基于電池模型的SOC 估計方法,通過構建模型,模擬電池內部動態特性進行SOC 估計,常用方法有粒子濾波、H-infinity、粒子群優化和卡爾曼濾波(KF)算法等,其中,KF 算法通過良好的自校正性能成為在線SOC 估計的首選之一[4]。 基于機器學習的SOC 估計方法有神經網絡、模糊邏輯、支持向量機和極限學習機等[5]。 傳統KF 算法僅適用于線性系統,因此,有學者提出拓展卡爾曼濾波(EKF)和無跡卡爾曼濾波(UKF)算法[6]。 EKF 算法通過一階泰勒展開,實現系統的線性化,但只能實現一階精度,忽略高次項的影響,影響SOC 的估計精度。 UKF 算法通過構建Sigma點,利用無跡轉化的方法解決EKF 算法只能實現一階精度的問題。 在復雜工況下,系統的誤差協方差矩陣常常無法保持正定導致算法崩潰,影響了算法的魯棒性。

針對上述問題,本文作者采用時變遺忘因子遞推最小二乘法(TVFRLS)和奇異值無跡卡爾曼濾波(SVD-UKF)聯合算法在線估計SOC。 先引入時變遺忘因子,減小由遺忘因子固定導致的辨識精度問題,以提高參數辨識精度,再采用奇異值分解法(SVD),解決傳統UKF 算法在復雜工況和計算舍入誤差影響下崩潰的問題,以提高魯棒性與精確性。

1 等效電路模型搭建

1.1 二階等效電路模型

綜合考慮模型的復雜度和準確度,選擇二階RC 模型對電池進行建模。 二階RC 等效電路模型如圖1 所示。

圖1 二階RC 等效電路模型Fig.1 Second-order RC equivalent circuit model

圖1 中:Uoc為電池開路電壓;UL為電池端電壓;R0為電池歐姆內阻;R1、R2為電池極化電阻;C1、C2為電池極化電容;Ik為電流。

為了使二階RC 電路模型適用于UKF 算法,需要對電池系統模型進行離散化。 選取電池SOC 與兩個RC 網絡的電壓作為系統狀態變量、電流Ik作為系統輸入變量,結合安時積分法將電池系統離散化。

1.2 基于TVFRLS 的在線參數辨識

在二階RC 等效電路模型中,開路電壓(OCV)與SOC 存在強非線性關系,通過對OCV 和SOC 擬合,可得到OCV-SOC關系曲線。 實驗對象為INR18650-30Q 型磷酸鐵鋰鋰離子電池[韓國產,額定電壓為3.6 V,充電截止電壓為(4.2±0.5) V,放電終止電壓為2.5 V]。 實驗平臺由MP-80PCT-10-20V100A電池測試設備(湖南產)、可編程式恒溫箱與上位機等組成。

傳統帶遺忘因子遞推最小二乘法(FRLS)是以殘差平方和最小為目標,具體遞推方程為:

式(1)中:e(k)為系統預測誤差;(k)為當前時刻參數估計值;K(k)為系統增益系數;P(k)為系統協方差矩陣;φ(k)為系統測量矩陣;y(k-1)、φ(k-1)和(k-1)分別為系統前一時刻系統響應、系統測量矩陣和參數矩陣估計值;λ為遺忘因子。

傳統FRLS 算法對遺忘因子λ的取值一般為0.95 ~1.00,由仿真實驗不斷修改λ,取得一個相對合適的值。 在實際動態工況下,使用固定的λ很難較好地適應電池內部復雜的電化學反應,且通過實驗法選出的λ較難保證為當前工況下的最優值。 針對以上問題,本文作者引入一種數據開窗理論方法。 通過擴展系統估計誤差的數據點個數,對多時刻系統估計誤差求均方差,通過均方差大小實時影響λ的取值,從而提高算法的精確性和穩定性。 具體方程為:

式(2)中:M為開窗大小,M=2;H(k)為當前時刻遺忘因子誤差系數;ei為i時刻的系統估計誤差;λmin為遺忘因子在整個辨識過程中的最小值;λmax為遺忘因子在整個辨識過程中的最大值。

通過城市道路循環(UDDS)測試工況對TVFRLS 算法進行仿真實驗,可辨識出二階RC 等效電路模型的各參數值,辨識結果如圖2 所示。 通過分析可以看出,在算法運行初始階段,由于測試數據量限制導致辨識結果波動較大,隨著數據量進一步增大,各辨識參數逐步趨于穩定。

圖2 參數辨識結果Fig.2 Parameter identification results

2 鋰離子電池SOC 估計

2.1 奇異值分解法(SVD)

使用UKF 算法,對電池進行SOC 估計的過程中,通過無跡變換,避免了求導雅可比矩陣,大幅減小了系統的計算負擔。 對比EKF 算法,UKF 算法在無跡變換過程中保留了高階項,使算法可達到二階精度。

無跡變換的核心是求協方差矩陣P的平方根;傳統無跡轉換由Cholesky 變換對協方差矩陣P開方。 具體方程為:

式(3)中:L為下三角實數矩陣。

Cholesky 變換的必要條件是保持矩陣正定,但在實際工況下,協方差矩陣P易受到外部噪聲干擾與系統硬件計算導致的舍入誤差影響,導致矩陣非正定。 一旦發生上述情況,則無跡轉換無法進行,直接導致算法崩潰。 針對該問題,引入SVD 來保持協方差矩陣P正定,提高SOC 估計的魯棒性。設協方差矩陣為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奇異值構成的對角矩陣,r為矩陣P的秩,且s1,s2,…,sr>0。

2.2 SVD-UKF

UKF 是無跡轉換與卡爾曼濾波系統的組合,傳統UKF算法采用無跡變換代替泰勒級數展開式,將非線性系統轉化為線性系統,提高了算法的精度。 本文作者將無跡變換中的Cholesky 分解用SVD 分解代替,得到SVD-UKF 算法,SVDUKF 算法的其余部分與傳統UKF 算法一致。

電池等效電路模型的離散狀態方程與測量方程為:

式(5)中:yk為系統響應;f和g為系統狀態函數和觀測函數;Ak為系統矩陣;Bk為控制輸入矩陣;Sock為k時刻系統SOC 值;Uoc(Sock)為k時刻開路電壓;U1,k與U2,k為k時刻兩個極化回路的電壓值;xk=[SockU1,kU2,k]T,為系統的觀測變量;wk為系統過程噪聲;vk為系統測量噪聲。wk、vk均為零均值高斯白噪聲,方差分別為Q和R。

具體SVD-UKF 算法估算SOC 流程如下。

式(6)中:E[·]代表均值;x0為初始系統狀態變量。

②確定加權系數:

式(7)中:α為比例縮放因子,Sigma 點集的分布狀態通過α的取值來確定;κ為縮放參數,決定了采樣點的自由度;β為非負權系數,通過β的取值調節高階項的動差;λf為降低總預測誤差的尺度參數;ωm為均值的權重;ωc為方差的權重;n為狀態變量的維度。α、κ、β的取值分別為10-4<α<1、κ=n-3、β=2。

③使用SVD 法,分解k-1 時刻系統誤差協方差矩陣Pk-1,根據分解后的奇異值矩陣生成Sigma 點:

④時間更新,計算向后傳播到k時刻系統狀態變量均值及誤差協方差矩陣預測值:

式(10)中:xk|k-1為基于前一時刻變量值的預測狀態變量;xi,k|k-1為k時刻系統狀態變量;為k時刻系統狀態變量均值的最優估計;Pk|k-1為誤差協方差矩陣預測值;Qk-1為k-1 時刻系統過程噪聲方差。

式(12)-(13)中:xi,k|k-1與為基于k時刻的觀測變量預測值;分別為k時刻誤差協方差矩陣的預測值及逆矩陣的預測值;Rk-1為k-1 時刻測量噪聲方差。

⑥計算系統增益K,更新狀態變量估計值與誤差協方差矩陣估計值:

通過不斷更新系統狀態變量估計值,即可實現SOC 的實時在線估計。

3 仿真實驗設計與分析

3.1 實驗準備

為了驗證TVFRLS 與SVD-UKF 聯合算法的估計性能,采用UDDS 工況模擬新能源汽車實際駕駛工況。 通過上位機模擬控制產生UDDS 工況,控制MP-80PCT-10-20V100A 動力電池測試平臺對磷酸鐵鋰鋰離子電池進行充放電(電流為-30~10 A,電壓為2.5~4.2 V)。 測試平臺采集電池模塊電壓,同時測量充放電電流,隨后將測試數據存儲,得到UDDS工況下的工作電流與電壓,如圖3 所示。

圖3 UDDS 工況的工作電流和電壓曲線 Fig.3 Working current and voltage curves of urban dynamometer driving schedule(UDDS)

在UDDS 工況下,利用離線參數識別與TVFRLS 辨識算法分別進行仿真實驗,可得到兩種參數辨識算法的端電壓誤差。 端電壓誤差如圖4 所示。

圖4 端電壓誤差Fig.4 Terminal voltage error

從圖4 可知,TVFRLS 算法的辨識精度高于離線參數辨識,且平均電壓誤差為0.011 V。

為了對比聯合算法與傳統算法的性能,還采用了EKF、UKF 與SVD-UKF 算法進行比較分析。 各算法估計的SOC 結果及各算法與真實SOC 之間的誤差見圖5。

圖5 SOC 估計結果及誤差Fig.5 Estimation results and errors of state of charge(SOC)

3.2 實驗結果分析

從仿真實驗結果可以看出,在UDDS 工況下,各算法的SOC 估計值變化趨勢基本與真實SOC 值一致。 為了比較4類算法性能之間的優劣,引入最大絕對誤差(AEE)、平均絕對誤差(MEA)和均方根誤差(RMSE)作為性能評判指標,4類算法性能指標對比如表1 所示。

表1 SOC 估計性能指標比較Table 1 Comparison of SOC estimated performance indicators

從表1 可知:首先,SVD-UKF 算法相較于傳統EKF 與UKF 算法,AEE 最小,表明對SOC 估計的穩定性要優于傳統算法;其次,SVD-UKF 算法的MEA 與RMSE 也小于其余兩種傳統算法,表明準確性優于傳統算法;最后,聯合算法在加入了TVFRLS 的前提下,利用SVD-UKF 算法進行在線參數辨識。 聯合算法的各項性能指標對比SVD-UKF 算法具有顯著提升;估計精度與動態自適應性也全面優于其他傳統算法。與傳統UKF 算法相比,聯合算法的MEA 與RMSE 分別降低了60.0%和51.9%。

為了驗證聯合算法具有較高的魯棒性,在SOC 初始值失真且誤差協方差初始值P0設置為非正定的情況下,通過UDDS 工況人為設定不同SOC 初始值進行實驗。 SOC 初始值的設定分別為0.8、0.6、0.4 和0.2,實驗結果如圖6 所示。

圖6 不同初始值SOC 估計誤差Fig.6 SOC estimation error of different initial values

從圖6 可知,傳統UKF 算法無法在誤差協方差矩陣初始值非正定的情況下進行SOC 估計,而通過實驗可以看出,聯合算法不同SOC 初始值在100 s 內均可很好地收斂到真實值附近,說明聯合算法在初始值設定產生較大誤差時,具有較強的魯棒性。

4 結論

準確的SOC 估計是實現BMS 各項功能、保證電動汽車安全運行的基礎。 本文作者以INR18650-Q 鋰離子電池為實驗對象,針對傳統在線辨識方法遺忘因子固定導致等效電路模型精度低影響SOC 估計的問題,提出基于TVFRLS 以提升模型精度進而提高SOC 估計精度。 此外,還針對傳統的UKF 算法在SOC 估計過程中存在誤差協方差非正定導致算法失效的問題,提出基于奇異值分解無跡卡爾曼濾波算法,以提高SOC 估計的魯棒性。 在此基礎上,將TVFRLS 與SVD-UKF 進行聯合,在提升了SOC 估計魯棒性的前提下,提高了算法的精確性。 最后,通過UDDS 工況,將聯合算法與傳統SOC 估計算法進行比較。 通過分析得出以下結論:

在SOC 估計的過程中,聯合算法實時更新等效電路模型內部參數,降低了動態工況下由內部復雜電化學反應導致模型參數非線性變化引起的測量誤差,提高了估計的精確性。

聯合算法通過引入奇異值分解,在初始值失真且誤差協方差矩陣非正定的前提下也具有的較強的魯棒性,從而保證了聯合算法進行SOC 估計的穩定性。

聯合算法相較于其他傳統算法,通過聯合TVFRLS 與SOC 估計方法,提高了系統自適應性與SOC 估計精度,在實際應用過程中具有一定的借鑒價值。

聯合算法尚未考慮電池在變溫環境下的情況,后續算法改進可以由該出發點進行研究。

猜你喜歡
無跡協方差電池
電池很冤
“一粒鹽電池”
把電池穿身上
穿在身上的電池
無跡卡爾曼濾波在電線積冰觀測數據處理中的應用
基于無跡卡爾曼濾波的行波波頭辨識
多元線性模型中回歸系數矩陣的可估函數和協方差陣的同時Bayes估計及優良性
應用RB無跡卡爾曼濾波組合導航提高GPS重獲信號后的導航精度
二維隨機變量邊緣分布函數的教學探索
不確定系統改進的魯棒協方差交叉融合穩態Kalman預報器
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合