陳 崢,陳 洋,申江衛(wèi),夏雪磊,沈世全,肖仁鑫
(昆明理工大學交通工程學院,云南 昆明 650500)
鋰電池具有壽命長、充電速度快、無記憶效應等優(yōu)點,因此被廣泛用作純電動汽車和混合動力汽車的儲能器[1]。鋰電池在使用過程中其性能會隨著充放電循環(huán)次數的增加而逐漸退化,具體表現(xiàn)為內阻增加以及可用容量減少[2]。當電池可用容量衰退到額定容量的80%時,電池達到壽命終止(end of life,EOL),若繼續(xù)使用電池,則更容易發(fā)生故障,存在較高安全風險[3]。因此,在使用過程中準確估算鋰電池容量,對電池高效和安全運行具有重要意義[4]。
目前大概有三類方法被廣泛應用于電池可用容量準確估算:直接測量法、基于模型的估算、基于數據驅動的估算[5]。直接測量法通過對電池進行完整充放電,利用安時積分法計算電池當前可用容量,該方法簡單、精確,然而該方法僅適用于離線電池的容量標定,且耗時較長,難以實現(xiàn)車載條件下的可用容量測量[6]?;谀P偷姆椒ㄊ峭ㄟ^建立電池模型并獲取模型參數,進而根據模型參數估計電池可用容量,常用的模型有電化學模型、經驗模型等。電化學模型是從電池內部化學反應的角度建立模型來反映電池在退化過程中表現(xiàn)出的規(guī)律[7]。經驗模型是通過分析大量的電池充放電實驗數據,得出電池容量與電池各參數的變化規(guī)律,進而建立容量與各參數之間的函數關系[8-9]?;谀P偷姆椒茌^好反映電池的物理特性,但是構建一個精確的電池退化模型較復雜,模型精度依賴于模型參數的準確辨識,而模型參數容易受到溫度、老化等多因素耦合影響[10]。
基于數據驅動的估算方法不需要構建復雜的電池模型,可以通過測量得到的電壓、電流和溫度等數據來自主學習電池容量與外部特性的非線性關系,具有較高的可遷移性、魯棒性與泛化性[11]。常用的數據驅動方法包括長短期記憶網絡(long shortterm memory,LSTM)、支持向量機(support vector machine,SVM)、支持向量回歸(support vector regression,SVR)、高斯過程回歸(Gaussian process regression,GPR)等。文獻[12]采用LSTM 來估計電池的可用容量,選取電池表面平均溫度、電池充電內阻以及增量容量曲線峰值作為老化特征和模型輸入,最大誤差為2.84%,但LSTM模型仍存在梯度消失、訓練時間長以及對訓練數據要求高的問題。文獻[13]采用卷積神經網絡模型從電池電壓和電流數據中自動學習電池老化特征,并實現(xiàn)了可用容量的精確估計。文獻[14]采用鯨魚優(yōu)化算法優(yōu)化GPR 模型并進行電池可用容量估計,所建立的優(yōu)化GPR 模型能夠基于較少訓練數據實現(xiàn)電池容量的精確估算,最大誤差低于1.56%。文獻[15]基于改進雙最小二乘支持向量機方法和Box-Cox 變換,進行鋰離子電池的可用容量及剩余循環(huán)壽命的協(xié)同估算,可用容量估計誤差小于1.44%,但是Box-Cox變換的閾值給電池容量估算引入了新的不確定性。文獻[16]提出了一種基于時間規(guī)整圖來提取健康特征參數的方法,并使用SVR 模型估計電池可用容量,最大容量估計誤差小于3%。目前使用傳統(tǒng)的SVR 估算電池可用容量時,依然存在估算時間長、不能找到全局最優(yōu)等問題。因此對傳統(tǒng)的SVR在參數尋優(yōu)的方法上,需進一步深入研究從而提高估算效率。文獻[17]提出了一種將麻雀優(yōu)化算法(sparrow search algorithm,SSA)用于微電網容量的優(yōu)化配置的應用,提高了系統(tǒng)供電可靠性及整體經濟效應。在參數尋優(yōu)方面,SSA算法憑借其收斂速度快、尋優(yōu)精度高等優(yōu)點被廣泛應用于電池的可用容量估計中。
綜上,針對傳統(tǒng)SVR 算法在處理大樣本數據時,參數尋優(yōu)存在時間耗時長、容易陷入局部最優(yōu)、對可用容量準確估計不夠精準的問題,本工作選用SSA 算法對SVR 進行核函數參數尋優(yōu),提出了一種優(yōu)化支持向量機回歸算法,用于準確估計鋰電池的可用容量。首先通過分析電池老化數據來提取特征因子,并通過皮爾遜相關系數法分析其關聯(lián)性;然后利用SSA 對SVR 的超參數進行尋優(yōu),并搭建SSA-SVR 電池可用容量估計模型,實現(xiàn)了電池可用容量衰退過程的準確追蹤;最后選擇不同參數尋優(yōu)方法以及不同估算模型進行了模型驗證,并在不同電池上實現(xiàn)了鋰電池可用容量的準確估計,證明了算法的有效性。
本節(jié)將介紹電池循環(huán)老化實驗測試流程,并通過分析老化數據,提取能夠表征電池容量衰減的特征因子,然后通過皮爾遜相關系數驗證所選取特征因子與電池可用容量衰退的相關性。
本工作使用的電池數據來源于一個較大的電池數據庫[18],該數據庫收集了各種商用LFP/石墨電池的循環(huán)壽命測試數據。從中選取了5塊電池,分別表示為電池1、電池2、電池3、電池4 和電池5。該電池正極材料為磷酸鐵,負極材料為石墨,標稱容量為1.1 Ah,額定電壓為3.3 V,電壓工作范圍為2.0~3.6 V。電池老化實驗流程遵循相同的充放電流程,其中充電階段首先是C1-C2 多段恒流充電,然后是恒流-恒壓充電。C1 和C2 是指第一段和第二段恒流充電,當電池荷電狀態(tài)(state of charge,SOC)達到80%時,多段恒流充電停止,之后靜置10 s,然后1 C 恒流充電至3.6 V,最后以3.6 V 恒壓充電至0.05 C。充電完成后對電池使用4 C 恒定電流放電至2 V,當電池可用容量衰減到初始容量的80%時老化實驗終止。電池老化實驗流程如圖1所示。
圖1 電池老化實驗Fig.1 Battery aging experiment
圖2 展示了通過循環(huán)壽命測試得到的5 塊電池的可用容量衰退曲線。由圖2可知,隨著電池充放電循環(huán)的增加,其可用容量整體表現(xiàn)出逐漸下降的趨勢;5 塊電池的可用容量衰退曲線整體下降趨勢相近,表明同一類型鋰電池在相似的工作條件下有著相近的衰退規(guī)律;電池容量在由100%至90%的階段,衰退較為平緩,當電池容量衰退到90%以后,衰退明顯加快。結果表明鋰離子電池的容量衰退過程呈現(xiàn)強非線性特征,這也給電池可用容量的準確預測帶來了挑戰(zhàn)。因此需要更加充分地分析電池老化數據,從而獲得能夠更好地表征電池容量衰退過程的特征因子。
圖2 1~5號電池可用容量衰退曲線Fig.2 Available capacity decline curve of cells No.1—5
將端電壓視為容量增量函數,可以得到容量增量(incremental capacity,IC)曲線,該方法被廣泛應用于電池可用容量的估計中。IC曲線能夠將電池充放電過程中相對平緩的電壓平臺轉化為變化趨勢明顯的IC 曲線,并且不需要完整的充放電數據,能夠從實車原始數據直接提取,具有較好的優(yōu)勢。IC曲線計算公式為:
式中,Q為充放電容量;V為電池端電壓;t為時間。當取較短的時間間隔時,由式(1)可得:
通過高斯濾波處理后的容量增量曲線如圖3所示。由圖3可知IC曲線具有明顯的峰值點,隨著電池循環(huán)次數的增加,峰值點高度不斷降低并向左偏移。為進一步驗證其與電池可用容量衰退的關系,提取1~5號電池的IC曲線峰值絕對值與循環(huán)次數的關系,如圖4所示。由圖4可以看出隨著循環(huán)的不斷進行,IC曲線峰值絕對值整體呈下降趨勢,且在前800 個循環(huán)下降較為平緩,當循環(huán)次數達到800 次后,下降趨勢加劇。這與圖2中電池可用容量的衰減趨勢呈現(xiàn)強一致性,因此提取IC曲線峰值絕對值作為表征電池可用容量衰退的特征因子,記為F1。
圖3 電池1不同循環(huán)的容量增量曲線Fig.3 The variation curves of discharge incremental capacity at different cycle numbers for cells No.1
圖4 電池1~5容量增量曲線峰值絕對值Fig.4 The peak absolute value of capacity increment curve for cells No.1—5
由圖3還可以看出,隨著電池老化的進行,容量增量曲線峰值對應電壓不斷減小。為探究其與電池可用容量衰退的關系,提取1~5 號電池IC 曲線峰值對應電壓與循環(huán)次數的關系,如圖5所示。由圖5 可以看出,隨著循環(huán)的不斷進行,在前1~800 個循環(huán)內,IC 曲線峰值對應電壓基本保持穩(wěn)定,當循環(huán)次數達到800次后,電池IC曲線峰值對應電壓迅速減小,這與圖2中電池可用容量的衰減趨勢呈現(xiàn)較強的一致性。所以,將每個循環(huán)下的IC曲線峰值對應電壓作為一個特征因子,記作F2。
圖5 電池1~5 特征因子F2變化趨勢Fig.5 Variation trend of characteristic factor F2 of cells No.1—5
為了進一步驗證所選取的特征因子是否合理,采用皮爾遜相關系數評估其與可用容量之間的相關性。皮爾遜相關系數是表達兩變量線性相關程度及方向的統(tǒng)計指標,其絕對值越接近1,表明相關性越強。皮爾遜相關系數計算公式如下
式中,n為樣本數;Xi、Yi為樣本;、為樣本平均值。通過計算,得到所選特征因子與電池可用容量的皮爾遜相關系數如表1所示。
表1 電池容量與特征因子的皮爾遜相關系數Table 1 Pearson correlation coefficient between capacity and features
從表1可以看出,除電池3的特征因子F2的相關系數小于0.9 外,其余特征因子與容量的相關系數均超過0.9,因此可以認為選取的特征因子能較好地反映電池可用容量的衰減。
本部分將主要介紹SVR 模型以及SSA 算法原理,并基于SSA-SVR 算法構建了電池可用容量估算框架。
SVR模型是通過最小化總損失和最大化間隔來得出優(yōu)化后的模型。相較于其他機器學習算法,SVR 基于核函數(kernel function,KF)理論,將高維樣本映射到特征空間后再進行回歸,能夠較好地處理高維線性問題,有效地提高了估算精度。除此之外,SVR模型參數較少,模型訓練效率高。而且SVR 方法使用少數的支持向量代替整個樣本空間,使得計算最終決策函數時更簡便,且有較好的“魯棒性”。
假定訓練樣本集為{(xi,yi)|i= 1, 2 …n},其中n為訓練樣本集的數量,SVR回歸函數為:
式中,w和b分別為模型的權重參數以及偏置參數。通過引入拉格朗日乘子將公式(5)轉化為求解凸二次優(yōu)化問題,其中對偶函數和約束條件為:
式中,ω為權重;c為懲罰因子;ξ與ξ*均為松弛因子;?為映射函數;ε為不敏感損失函數;b為閾值;xi、yi為樣本。求解式可以得到:
式中,x為樣本值;αj和均為拉格朗日乘子;nsv為支持向量個數;K(xj,x)為核函數,本工作使用的RBF核函數為:
式中,g為核函數參數。
麻雀優(yōu)化算法是受麻雀覓食行為以及反捕食行為啟發(fā)而提出的一種智能優(yōu)化算法,該方法具有設置參數少、操作簡單、搜索精度高、尋優(yōu)速度快以及跳出局部最優(yōu)能力強等優(yōu)點。算法具體可抽象為發(fā)現(xiàn)者-追隨者模型,并加入了偵查預警機制。在麻雀覓食時,一定比例的麻雀當作發(fā)現(xiàn)者,用于尋找食物,剩余麻雀當作加入者,在發(fā)現(xiàn)者的領導下獲取食物。同時一部分麻雀會進行偵查,麻雀在發(fā)現(xiàn)捕食者后,會放棄食物。搜索算法流程如圖6所示。
圖6 麻雀搜索算法流程Fig.6 Sparrow search algorithm flow
其中發(fā)現(xiàn)者的位置更新描述如下:
式中,itermax為最大迭代次數;Xi,j為麻雀的位置信息;α是一個隨機數;R2為預警值;ST為安全值;Q是服從正態(tài)分布的隨機數。L表示一個1行多維的矩陣,其中每個元素都為1。
加入者的位置更新描述如下:
式中,Xp表示最優(yōu)位置;Xworst表示最差的位置;A是一個1×d的矩陣。
警戒者位置更新描述如下:
式中,Xbest表示最優(yōu)位置;β、K是都隨機數;fi表示麻雀的適應度;fg和fw分別表示全局最佳和最差的適應度。
在SVR 中,懲罰因子C影響模型的復雜度和精度,而核函數參數g則控制著模型徑向的效應范圍,是影響SVR 性能的主要因素。傳統(tǒng)SVR 對尋找最優(yōu)C和g的效率低,精度差,故引入麻雀搜索算法,提升參數尋優(yōu)的效果。SSA 優(yōu)化SVR 流程如圖7所示。首先是通過分析電池老化數據提取特征因子F1、F2,然后用特征因子與對應可用容量組成樣本集,并按照比例將樣本集分為訓練集和測試集。其中訓練集用于SSA 對SVR 的參數尋優(yōu),并結合最優(yōu)C和g完成SSA-SVR 模型的搭建及訓練。最后利用測試集評估SSA-SVR 模型估計電池可用容量的精度。
圖7 SSA-SVR算法流程Fig.7 Algorithmic flow of SSA-SVR
本工作利用判定系數(cofficient of determination,R2)、均方根誤差(root mean square error,RMSE)、平均絕對誤差(average absolute error,AAE)、最大絕對誤差(maximum absolute error,MAE)[19]為評價指標,用來評估電池可用容量估計的準確度。具體計算公式如下:
式中,m為樣本數量;yi為真實值;?i為預測值;為響應變量均值。其中,R2取值范圍為[0,1],越靠近1 說明擬合程度越高,模型質量越好;而MAE、AAE 及RMSE 越小,說明模型估算精度越高。
本部分首先分析了不同長度訓練集對模型訓練精度以及效率的影響,其次對比了SSA 與遺傳搜索算法(genetic algorithm,GA)、粒子群算法(particle swarm optimization,PSO)用于SVR 模型優(yōu)化的效果,然后與其他基于數據驅動的可用容量估算模型進行了對比,最后在不同電池上驗證了模型的有效性。
為探究訓練數據量對模型的估計精度及訓練速度的影響,分別取電池1 全部老化數據的前50%、60%以及70%數據作為訓練集訓練模型,對應地,分別將數據的后50%、40%及30%作為測試集,用于驗證模型的精度。不同長度訓練數據下可用容量估算結果如圖8及表2所示。
表2 不同長度訓練數據估算結果及誤差Table 2 Estimation results and errors of different length training data
圖8 不同長度訓練數據估算結果及誤差Fig.8 Estimation results and errors of different length training data
由圖8和表2可知:①當選擇50%的訓練數據時,其MAE 達到了4.28%、AAE 達到了0.64%、RMSE達到了1.11%,出現(xiàn)了較大的誤差。且隨著循環(huán)的進行,誤差快速增大,表明模型沒有很好地學習特征因子與可用容量之間的關系。但由于其訓練數據較少,使得模型訓練時間最短,僅為1.2131 s。②當選擇70%的訓練數據時,可用容量估算結果最好,其MAE僅為0.99%,AAE及RMSE分別為0.08%和0.19%,說明模型得到較好地訓練,能夠很好地跟蹤電池可用容量的衰退軌跡。但由于其訓練數據較多,導致訓練時間最長,達到3.1239 s,為50%訓練數據用時的2.6 倍。③當選擇60%訓練數據時,其MAE、AAE 及RMSE 分別為1.02%、0.11% 和0.22%,模型訓練時間為1.7697 s。模型估算精度較高,且估算時間較短,符合電池可用容量準確估計的需求。由于訓練數據的增加在提升模型精度的同時也會增加訓練的時間,因此綜合考慮模型訓練時間成本以及模型估算精度情況下,選擇60%數據訓練模型,并進行后續(xù)的模型性能驗證。
為分析不同優(yōu)化算法對SVR模型精度的影響,以RMSE最小作為優(yōu)化目標,將SSA與常用的GA算法以及PSO 算法進行了對比。同時為了體現(xiàn)不同優(yōu)化算法對比的準確性,將GA、PSO算法參數設置與SSA 參數設置保持一致。估計結果及誤差如圖9及表3所示。
表3 不同優(yōu)化算法估算結果及誤差Table 3 Estimation results and errors of different optimization algorithms
圖9 不同優(yōu)化算法估算結果及誤差Fig.9 Estimation results and errors of different optimization algorithms
由圖9 及表3 可知:①使用GA 算法與PSO 算法優(yōu)化的SVR 模型,其可用容量估計結果準確度相近,且明顯低于SSA 算法優(yōu)化的SVR 模型。其中GA 算法的MAE、AAE 及RMSE 分別為3.98%、0.38%以及0.83%,而PSO 算法的MAE、AAE 及RMSE 分別為3.25%、0.39%以及0.88%。模型在電池老化初期能較好地跟蹤電池可用容量衰退趨勢,但隨著循環(huán)的進行,特別是當循環(huán)達到900次以后,模型估算誤差迅速增大。表明GA 算法及PSO 算法在SVR 模型超參數尋優(yōu)上未能得到較好效果。②利用SSA 算法優(yōu)化的SVR 模型得到了最好的估算結果,其MAE 僅為1.02%,而AAE 和RMSE 則分別為0.11%和0.22%,表明SSA 算法對SVR 模型的超參數尋優(yōu)取得了優(yōu)異的效果,使得模型能夠更精確地估計電池可用容量。③在參數尋優(yōu)耗時上,GA算法及PSO算法分別為3.13 s和4.47 s,而SSA算法用時最短,僅為1.77 s,進一步降低了模型訓練的時間,這是因為SSA算法的原理更為簡單、參數較少??傊Y果表明,SSA算法具有較高的參數尋優(yōu)精度且參數尋優(yōu)速度較快。
為進一步驗證模型效果,將傳統(tǒng)的SVM模型、GPR 神經網絡、LSTM 模型與本工作所建立的SSA-SVR 模型進行對比。為保證對比的公平性,四種模型都使用電池1 數據的前60%作為訓練集,后40%作為測試集,不同數據驅動模型可用容量估算結果與誤差以及幾種方法的優(yōu)缺點如圖10 及表4所示。
表4 不同方法估算結果及優(yōu)缺點Table 4 Estimation results and advantages and disadvantages of different methods
圖10 不同方法估算結果及誤差Fig.10 Estimation results and errors of different methods
由圖10 及表4 可知:①傳統(tǒng)SVM 模型在估算小樣本數據時效果較好,但隨著樣本規(guī)模的提升,其復雜度會顯著提升,同時精度也會有所下降。在本工作中由于其核函數參數尋優(yōu)效果不理想,未能找到最優(yōu)的超參數C和g,導致其估算電池可用容量時出現(xiàn)較大的誤差,其MAE已經達到了8.48%,是SSA-SVR 模型MAE 的8.3 倍,并且隨著循環(huán)進行呈現(xiàn)不斷增大的趨勢。②LSTM模型在長序列數據的訓練中有較好的表現(xiàn),能夠較好地估計電池可用容量,其MAE、AAE 及RMSE 分別為1.96%、0.28%以及0.56%,但在可用容量估算的后期,仍出現(xiàn)了大幅偏離容量實際衰退軌跡的情況。③GPR模型能夠對不確定性做出可靠的估計,在可用容量估算初期能夠較好地估計電池可用容量,但在估算后期同樣出現(xiàn)了較大的誤差,主要原因還是其本身的共軛梯度超參數尋優(yōu)方法陷入了局部最優(yōu),沒能找到最優(yōu)參數導致的。④SSA-SVR 模型具有最好估算結果,其MAE 僅為1.02%,而AAE 和RMSE則分別為0.11%和0.22%,這表明了SSA 在模型參數尋優(yōu)上取得了非常好的結果,促使模型能夠很好地追蹤電池可用容量的衰退過程。綜上可知,SSA-SVR 模型具有更好的估算性能,能夠準確估計電池的可用容量。
為驗證模型在不同電池上的適應性和泛化能力,將電池1的數據作為訓練集用來訓練模型,將電池2~5的數據作為測試集驗證模型的估算精度??捎萌萘抗浪憬Y果如圖11和表5所示。
表5 不同電池估算結果及誤差Table 5 Estimation results and errors of different batteries
圖11 不同電池估算結果及誤差Fig.11 Estimation results and errors of different batteries
由圖11及表5可知:①電池2~5的MAE分別為1.77%、1.95%、1.65%以及1.92%,最大誤差保持在2%以內,且最大誤差多出現(xiàn)在可用容量估計的開始和結尾處,整體估算結果較為理想。②電池2 的AAE 及RMSE 分別為0.30%和0.46%,電池3 的AAE 及RMSE 分別為0.47%和0.52%,電池4 的AAE 及RMSE 分別為0.95%和0.99%,電池5 的AAE 及RMSE 分別為0.49%和0.64%,本工作提出的估算模型在不同電池上均表現(xiàn)出了較高的可用容量估算精度。③最大MAE 出現(xiàn)在電池3的可用容量估算中,僅為1.95%,且其AAE 僅為0.47%,估算結果仍較為理想。綜上可知,當利用不同電池的數據分別作為訓練集和測試集時,模型仍能夠準確地估算電池可用容量。
為了解決當前基于數據驅動的鋰離子電池可用容量估計算法存在的老化特征提取不準確、可用容量衰退趨勢跟蹤精度低以及模型參數尋優(yōu)耗時長等問題,本工作基于SSA-SVR 算法構建了電池可用容量準確估計框架。通過分析電池老化數據,提取了IC 曲線峰值、IC 曲線峰值對應電壓2 個特征因子,并通過皮爾遜相關系數分析了所選取特征因子的合理性。然后,基于SVR 算法構建了容量估算框架,針對SVR 本身超參數尋優(yōu)存在的尋優(yōu)時間過長、易陷入局部最優(yōu)、尋優(yōu)結果不夠優(yōu)良的問題,選用SSA算法進行超參數尋優(yōu),完成SSA-SVR模型的搭建;其次,通過不同長度的訓練數據下估算結果的對比,確定將全部老化數據的前60%作為訓練集;最后與傳統(tǒng)的SVM、LSTM 及GPR 進行對比,還在不同的電池上驗證了模型的泛化性。結果表明,本工作提出的SSA-SVR 模型具有較高的容量估計精度以及較短的模型訓練時間,在不同電池上也有較好的容量估計效果,最大誤差為1.95%。
本工作所構建的模型具有精度高,泛化能力強等特點,同時大幅降低了模型訓練所用的時間。但目前研究仍停留在準確估計單體電池的可用容量上,在實車情況下實現(xiàn)電池組的可用容量準確估計將是下一步主要的研究方向。