史永勝,施夢琢?,丁恩松,洪元濤,歐 陽
1) 陜西科技大學(xué)電氣與控制工程學(xué)院,西安 710021 2) 江蘇潤寅石墨烯科技有限公司,揚州 225600
鋰離子電池在長期的使用過程中,伴隨著充放電循環(huán)次數(shù)的增多,電池內(nèi)部發(fā)生了一些不可逆的化學(xué)反應(yīng),導(dǎo)致內(nèi)阻增大,性能衰退[1-4].可靠的壽命預(yù)測技術(shù)不僅可以更加有效地使用電池,更能降低故障發(fā)生率[5].鋰離子電池的剩余使用壽命(Remaining useful life,RUL)即在一定的工作條件下,電池從全新開始到壽命終止(End of life,EOL)所經(jīng)歷的充放電循環(huán)周期數(shù),一般容量衰減20%達(dá)到EOL.
目前對于鋰離子電池壽命預(yù)測的方法主要分為模型法和數(shù)據(jù)驅(qū)動法,基于模型法的鋰離子電池預(yù)測技術(shù)已經(jīng)較為成熟[6].目前數(shù)據(jù)驅(qū)動的預(yù)測方法依舊是主流,基于數(shù)據(jù)驅(qū)動方法能夠在不建立復(fù)雜電池模型的基礎(chǔ)上探索電池外部參數(shù)和內(nèi)部狀態(tài)之間的關(guān)系[7].Yun與Qin[8]利用了充放電時間來評價鋰離子電池的健康狀態(tài),并利用貝葉斯方法對鋰電池健康狀態(tài)評估.如Park等[9]考慮了使用電壓、電流、溫度、充電曲線等多個測量數(shù)據(jù),并結(jié)合長短期記憶(Long short term memory,LSTM)算法構(gòu)建了鋰離子電池壽命預(yù)測模型.熊瑞等[10]利用長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)(LSTMRNN)學(xué)習(xí)了鋰離子電池容量退化的長期依賴性.韋海燕等[11]建立了基于線性優(yōu)化重采樣粒子濾波(LORPF)的鋰離子電池RUL預(yù)測方法,其預(yù)測誤差小于5%.但是因為部分電池有嚴(yán)重的容量重生現(xiàn)象,因此很難準(zhǔn)確追蹤電池容量退化趨勢.
針對鋰電池壽命衰退過程存在的容量重生問題,Yu[12]提出了一種多尺度邏輯回歸(LR)和高斯過程回歸(GPR)結(jié)合的鋰離子電池壽命預(yù)測方法,采用了經(jīng)驗?zāi)B(tài)分解(EMD)方法將電池容量序列分解為全局退化、局部再生,從而減少了局部再生現(xiàn)象對壽命預(yù)測的影響.Zhou與Huang[13]提出一種基于時間卷積網(wǎng)絡(luò)(TCN)預(yù)測模型并采用了經(jīng)驗?zāi)B(tài)分解(EMD)技術(shù)對離線數(shù)據(jù)進行去噪處理,避免了局部再生造成的RUL預(yù)測誤差.其預(yù)測模型具有起點影響小、預(yù)測精度高、魯棒性強的特點.Li等[14]將經(jīng)驗?zāi)B(tài)分解與LSTM和Elman神經(jīng)網(wǎng)絡(luò)結(jié)合起來,使用EMD算法將數(shù)據(jù)分為若干層,分別建立了低頻預(yù)測模型和高頻預(yù)測模型.
傳統(tǒng)的EMD算法在模態(tài)分解過程中常常伴隨著模態(tài)混疊并且分解不夠完全,不能根據(jù)循環(huán)前期的容量退化趨勢進行可靠的壽命預(yù)測.而改進的自適應(yīng)噪聲完全集成的經(jīng)驗?zāi)B(tài)分解(CEEMDAN)算法,具有分解更為充分、重構(gòu)誤差更小、而且運算時間短等一系列優(yōu)點,在提取復(fù)雜序列的波動模式進而提升預(yù)測模型的精度方面具有突出的優(yōu)勢.且近年來LSTM預(yù)測模型以其優(yōu)異的性能在故障診斷和預(yù)測領(lǐng)域都得到了很廣泛的應(yīng)用,文獻(xiàn)[15-18]都使用LSTM或其改進算法對齒輪、發(fā)電機、衛(wèi)星鋰離子電池等進行了壽命預(yù)測,均得到了優(yōu)異的預(yù)測結(jié)果.
綜上所述,為綜合兩者算法的優(yōu)勢,本文提出了一種CEEMDAN和LSTM的組合鋰離子電池壽命預(yù)測方法.克服了鋰離子電池在壽命預(yù)測過程中存在的劇烈波動,可以準(zhǔn)確捕捉到鋰離子電池容量變化過程的微小變化,并使用公開數(shù)據(jù)驗證了組合預(yù)測模型的預(yù)測性能.
CEEMDAN理論是在經(jīng)驗?zāi)B(tài)分解(EMD)算法的基礎(chǔ)上發(fā)展的,EMD相當(dāng)于是一種自適應(yīng)正交基的時頻信號處理方對未知的非線性信號的處理方法,不需要預(yù)先的分析與研究,就可以直接開始分解,且會自動按照一些固定模式按層次分好,不需要人為干預(yù)與設(shè)置,但是實際上采用EMD的分解方法對信號處理會出現(xiàn)頻率混疊的現(xiàn)象,也叫模態(tài)混疊.
為解決此問題,總體經(jīng)驗?zāi)B(tài)分解(EEMD)算法針對EMD方法的不足提出噪聲輔助數(shù)據(jù)分析方法,在每次信號分解過程都對原始信號加入了零均值、固定方差的白噪聲,有效解決了EMD算法的模態(tài)混疊現(xiàn)象,但是處理過程中加入的高斯白噪聲很難消除.為此在EEMD的基礎(chǔ)上,通過在分解過程加入自適應(yīng)白噪聲進一步改進EEMD,提出了CEEMDAN算法,有效克服了EEMD分解不完備和重構(gòu)誤差大的問題[19-20].CEEMDAN算法實現(xiàn)的具體步驟如下:
步驟1 對鋰離子電池容量序列C(t)添加白噪聲容量序列,如公式(1)所示:
其中,t表示電池循環(huán)次數(shù),Cj(t)表示第j次添加了白噪聲的容量序列,nj(t)表示了第j次添加的服從標(biāo)準(zhǔn)正態(tài)分布的高斯白噪聲,βk表示第k個信噪比.
步驟2 使用EMD算法對Cj(t)信號進行N次重復(fù)分解,通過均值計算得到第一個模態(tài)分量imf1(t),并且通過公式(2)求出第一個余量信號R1(t).
步驟3 求出第二個模態(tài)函數(shù)和余量,對信號R1(t)+β1E1(nj(t))進行N次重復(fù)分解并求均值.Ek()為經(jīng)過EMD分解產(chǎn)生的第k個分量.由公式(3)~(4)得到第二個模態(tài)分量imf2以及第二個余量信號R2(t).
步驟4 對于后面每個階段,k=3,4,···,K求解方法都類同于步驟3,得到的第k+1個模態(tài)分量imfk+1和第k+1個余量Rk+1信號.
步驟5 重復(fù)步驟4,直到所得到余量信號不能再繼續(xù)分解,即余量序列極值點數(shù)小于或等于兩個,滿足分解的終止條件.最終信號被分解為:
LSTM是一種循環(huán)神經(jīng)網(wǎng)絡(luò),是Hochreiter為解決傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)梯度消失或梯度爆炸的問題而提出的一種特殊結(jié)構(gòu)[21-25].通常用于解決長時間序列的長期依賴性,圖1所示為LSTM的總體結(jié)構(gòu)圖.
圖 1 LSTM總體結(jié)構(gòu)圖Fig.1 LSTM structure diagram
LSTM結(jié)構(gòu)的關(guān)鍵點在于三個門(Gate)控制,分別為遺忘門、輸入門和輸出門.遺忘門決定了上一時刻的單元狀態(tài)St-1有多少保留到當(dāng)前時刻單元狀態(tài)St,其計算如(6)所示.
其中,Wf為遺忘門的權(quán)重矩陣,xt表示t時刻輸入層向量,yt-1表示t-1時刻輸出層向量,bf表示遺忘門偏置矩陣,ft表示遺忘門輸出矩陣,σ(·)表示sigmoid激活函數(shù).經(jīng)過激活函數(shù)之后單元狀態(tài)St輸出一個0到1之間的實數(shù)向量,1表示完全保留,0表示完全舍棄該狀態(tài)值.
輸入門決定了當(dāng)前網(wǎng)絡(luò)時刻的輸入xt有多少保存到單元狀態(tài)St,計算公式如下:
其中,Wi和bi分別為輸入門權(quán)值矩陣和偏置.并使用tanh函數(shù)構(gòu)建一個新的單元狀態(tài)t,輸出門決定了最終將要輸出的信息,計算公式如下:
其中,WO和bO分別為輸出門權(quán)值矩陣和偏置.
本文所提出的CEEMDAN-LSTM組合預(yù)測模型結(jié)構(gòu)如圖2所示.大致預(yù)測步驟可理解為合成—分解—再合成,大致分為4步.
圖 2 組合模型預(yù)測框圖Fig.2 Block diagram of combination prediction model
步驟1 將鋰電池容量退化數(shù)據(jù)C(t)作為鋰離子電池預(yù)測參數(shù).
步驟2 利用CEEMDAN算法對C(t)信號進行分解,根據(jù)式(1)~(5)將C(t)分解為n組 imf(t)和1組R(t)信號.
步驟3將分解后的imf(t)和1組R(t)信號分為一定比例的訓(xùn)練集和測試集,并分別代入訓(xùn)練好的LSTM模型中.
步驟4 對LSTM模型的預(yù)測結(jié)果進行有效集成,得到最終的鋰離子電池壽命預(yù)測結(jié)果.
為了研究鋰離子電池的容量衰減,美國馬里蘭大學(xué)先進生命周期工程研究中心(Center for Advanced Life Cycle Engineering, CALCE)對鋰離子電池進行了充放電實驗并獲得了大量實驗數(shù)據(jù)[26],每個數(shù)據(jù)集記錄了有關(guān)充電、放電和測量電阻的信息.本文研究了其中CX和CS兩種不同型號的鈷酸鋰 (LiCoO2)電池,包括了 CS33、CS34、CS37、CS38和CX36、CS37共6個電池,詳細(xì)規(guī)格參數(shù)如表1所示.
表 1 LiCoO2電池詳細(xì)參數(shù)Table 1 LiCoO2 battery details
實驗中所有電池充電為先恒流后恒壓充電模式,放電為恒流放電.具體過程為:充電時以0.5倍率恒流充電,當(dāng)電池電壓達(dá)到4.2 V再進行恒壓充電,達(dá)到截止電流(50 mA)停止充電.放電時采用恒流放電,放電截止電壓為2.7 V.其中CS33和CS34以 0.5倍率放電,CS37、CS38和CX36、CX37以1倍率放電.重復(fù)上述充放電實驗直到鋰離子電池達(dá)到壽命閾值,即總?cè)萘康?0%(CX從1.35 A·h 降至 1.08 A·h,CS 從 1.1 A·h降至 0.88 A·h)停止.所有實驗均在室溫(24 ℃)下進行.如圖3所示為6塊鋰離子電池放電過程中容量隨循環(huán)次數(shù)的衰減曲線.
圖 3 鋰離子電池容量衰減數(shù)據(jù).(a)CS33、CS34;(b)CS37、CS38、CX36、CX37Fig.3 Capacity degradation data of lithium-ion batteries: (a) CS33,CS34; (b) CS37, CS38, CX36, CX37
本文以CS33電池剩余容量衰減數(shù)據(jù)為例,將容量信號分解為頻率從高到底排列的若干個本征模態(tài)函數(shù)(imf)和一個殘差信號(R),極大地消除了鋰離子電池容量衰減過程的噪聲信號.分解結(jié)果如圖4所示,可以看到,分解之后的余量信號光滑且沒有容量重生現(xiàn)象,可以很大程度提高鋰離子電池的壽命預(yù)測精度.
圖 4 基于CEEMDAN的CS33容量序列分解Fig.4 CS33 capacity sequence decomposition based on CEEMDAN
如圖5所示為EEMD算法和CEEMDAN算法的分解重構(gòu)誤差比較圖,明顯可以看出CEEMDAN算法的重構(gòu)誤差小于EEMD算法.
圖 5 CS33兩種算法重構(gòu)誤差對比Fig.5 Comparison of reconstruction errors between two algorithms
為全面分析所選方法的有效性,本文選擇以下3個指標(biāo)來評估模型的性能,分別是均方根誤差(RMSE),平均絕對百分比誤差(MAPE)和平均絕對誤差(MAE),計算公式如下.
其中,Ct和t分別代表實際容量值和預(yù)測容量值,n代表樣本數(shù).
本次實驗為了體現(xiàn)CEEMDAN-LSTM組合模型的性能,分別選取了EMD-LSTM模型和LSTM進行對比說明.本次研究采用的LSTM參數(shù)設(shè)置如表2所示,為了避免LSTM模型在訓(xùn)練過程中發(fā)生過擬合現(xiàn)象,在訓(xùn)練時當(dāng)?shù)螖?shù)達(dá)到250次時學(xué)習(xí)率降低為初始值的十分之一.
表 2 LSTM預(yù)測模型參數(shù)設(shè)置Table 2 LSTM prediction model parameter setting
訓(xùn)練時,分別使用了數(shù)據(jù)集的50%和30%的全壽命循環(huán)數(shù)據(jù)來訓(xùn)練模型,然后將剩余的50%和70%全壽命循環(huán)數(shù)據(jù)用來測試模型,得到最終的預(yù)測結(jié)果如圖6所示.M1表示LSTM預(yù)測模型,M2表示EMD-LSTM預(yù)測模型,M3表示CEEMDANLSTM預(yù)測模型.
圖 6 50% 訓(xùn)練集電池預(yù)測結(jié)果.(a)CS33;(b)CS34;(c)CS37;(d)CS38;(e)CX36;(f)CX37Fig.6 Battery prediction results under 50% training set: (a) CS33; (b) CS34; (c) CS37; (d) CS38; (e) CX36; (f) CX37
(1)首先使用50%數(shù)據(jù)集對3種模型進行訓(xùn)練.
如圖6(b)所示,使用LSTM模型對CS34容量預(yù)測時預(yù)測波動比較大,而使用CEEMDANLSTM組合預(yù)測模型可以很好地跟隨容量退化曲線,預(yù)測誤差較小.且對于6塊不同型號、工作在不同放電倍率下的鋰離子電池,使用文中所提出的CEEMEDAN-LSTM組合預(yù)測模型的壽命預(yù)測方法均有較高的預(yù)測精度.
圖7給出了6塊鋰離子電池的估算誤差曲線,可以從中更好比較3種預(yù)測算法的性能.
圖 7 相對誤差曲線(a)CS33;(b)CS34;(c)CS37;(d)CS38;(e)CX36;(f)CX37Fig.7 Relative error curve: (a) CS33; (b) CS34; (c) CS37; (d) CS38; (e) CX36; (f) CX37
圖8繪制出了不同算法下6塊鋰離子電池預(yù)測結(jié)果的評價指標(biāo),其中RMSE和MAPE越小,代表預(yù)測模型的預(yù)測精度越高.
圖8中顯示了組合預(yù)測模型CEEMDANLSTM預(yù)測的各項性能指標(biāo)均優(yōu)于其他兩種方法,準(zhǔn)確率高,最大RMSE不超過2%,最大MAPE控制在1.5%之內(nèi).其中CX36和CX37兩塊鋰離子電池的最大MAPE在0.6%之內(nèi),具有很高的預(yù)測精度.
圖 8 50% 訓(xùn)練集電池預(yù)測誤差.(a)CS33;(b)CS34;(c)CS37;(d)CS38;(e)CX36;(f)CX37Fig.8 Battery prediction error under 50% training set: (a) CS33; (b) CS34; (c) CS37; (d) CS38; (e) CX36; (f) CX37
根據(jù)容量衰減到初始容量的80%為限作為壽命閾值,從而預(yù)測鋰離子電池達(dá)到壽命終止時的可用循環(huán)次數(shù).并使用RULer和Per來衡量壽命預(yù)測精度.公式如下所示.
其中,RULer為鋰離子電池RUL預(yù)測誤差;RULpr為鋰離子電池RUL預(yù)測值;RULtr為鋰離子電池RUL真實值.Per為鋰離子電池預(yù)測的相對誤差.
對鋰離子電池壽命預(yù)測誤差進行總結(jié),壽命預(yù)測誤差及相對誤差Per如表3所示.
表 3 50%訓(xùn)練集鋰電池壽命預(yù)測誤差Table 3 Lithium battery life prediction error under 50% training set
根據(jù)表3進行分析,可以得到文中新預(yù)測模型CEEMDAN-LSTM對于6塊電池的預(yù)測平均相對誤差最小,不會出現(xiàn)較大的波動,如CS34使用LSTM模型進行預(yù)測時,相對誤差高達(dá)52.8%,而CS38使用EMD-LSTM模型預(yù)測剩余壽命時,其相對誤差也達(dá)到10.45%.比較而言,使用CEEMDANLSTM組合模型時只有CS38預(yù)測結(jié)果較差,相對誤差為10.95%,但是綜合6塊電池預(yù)測結(jié)果,CEEMDAN-LSTM組合模型的平均相對誤差也只有2.41%.體現(xiàn)了組合模型較好的適應(yīng)性.
(2)為了根據(jù)壽命前期的容量衰退趨勢來預(yù)測鋰離子電池的剩余使用壽命,使用30%數(shù)據(jù)集對預(yù)測模型進行訓(xùn)練,3種模型預(yù)測結(jié)果如圖9所示.
圖 9 30% 訓(xùn)練集鋰離子電池預(yù)測結(jié)果.(a)CS33;(b)CS34;(c)CS37;(d)CS38;(e)CX36;(f)CX37Fig.9 Battery prediction error under under 30% training set: (a) CS33; (b) CS34; (c) CS37; (d) CS38; (e) CX36; (f) CX37
如圖9表示了使用30%的訓(xùn)練數(shù)據(jù)對模型訓(xùn)練得到的6塊電池容量預(yù)測結(jié)果,因為模型訓(xùn)練不夠充分,預(yù)測效果有一定誤差.如圖9(a)所示,從圖中預(yù)測起點開始直到第600次循環(huán)左右,EMD-LSTM模型的預(yù)測結(jié)果一直比較穩(wěn)定,和初始容量保持一定的相關(guān)性,但600次循環(huán)之后,EMD-LSTM模型預(yù)測結(jié)果產(chǎn)生了很大的誤差.而CEEMDAN-LSTM組合預(yù)測模型在訓(xùn)練數(shù)據(jù)較少的情況下依舊可以很好擬合鋰離子電池退化趨勢,穩(wěn)定性均優(yōu)于其他兩種算法.
圖10總結(jié)了30%訓(xùn)練集的所有鋰離子電池的預(yù)測性能指標(biāo).
圖 10 30% 訓(xùn)練集電池預(yù)測誤差.(a)CS33;(b)CS34;(c)CS37;(d)CS38;(e)CX36;(f)CX37Fig.10 Battery prediction error under 30% training set: (a) CS33; (b) CS34; (c) CS37; (d) CS38; (e) CX36; (f) CX37
由圖10可以看出只有CS33的預(yù)測MAPE值超過3%,其余均在1.5%之內(nèi),CEEMDAN-LSTM組合算法預(yù)測效果均優(yōu)于LSTM和EMD-LSTM算法.與前文相似,計算出30%訓(xùn)練集時各型號鋰電池的壽命預(yù)測結(jié)果如表4所示.
表 4 30%訓(xùn)練集鋰電池壽命預(yù)測誤差Table 4 Lithium battery life prediction error under 30% training set
由表4所示,訓(xùn)練數(shù)據(jù)僅為30%時,LSTM模型預(yù)測誤差較大,不能很好地擬合鋰離子電池容量退化趨勢.CEEMDAN-LSTM組合壽命預(yù)測模型中最大相對誤差為6.5%,6塊平均相對誤差為2.04%.且只有CS38這一塊電池的RULer超過了20,其主要原因還是CS38的剩余容量在壽命閾值附近波動較大,造成預(yù)測的不準(zhǔn)確,但相對于其他兩種模型精度都有一定的提升.
為進一步說明本組合方法進行電池壽命預(yù)測的優(yōu)越性,將該方法與其他機器學(xué)習(xí)的方法進行了比較說明.實驗使用CS33電池數(shù)據(jù)集,訓(xùn)練數(shù)據(jù)都為總數(shù)據(jù)集的30%,利用前饋神經(jīng)網(wǎng)絡(luò)(BP)、支持向量機(SVR)、極限學(xué)習(xí)機(ELM)的方法分別對鋰離子電池壽命衰減狀態(tài)進行預(yù)測,預(yù)測結(jié)果如表5所示.
表 5 不同算法預(yù)測精度Table 5 Prediction accuracy of different algorithms
針對同一樣本數(shù)據(jù),將CEEMDAN-LSTM組合算法和幾種常用的機器學(xué)習(xí)算法進行了比較,在訓(xùn)練數(shù)據(jù)量偏少時,BP、SVR、ELM的預(yù)測精度均有所下降,而CEEMDAN-LSTM組合預(yù)測算法卻仍然有很高的預(yù)測精度,體現(xiàn)了組合預(yù)測算法對數(shù)據(jù)的充分訓(xùn)練,提高了預(yù)測精度,并減小了對數(shù)據(jù)的強依賴性,唯一不足是訓(xùn)練時間較長.
本文提出了一種新的組合CEEMDAN-LSTM壽命預(yù)測模型對鋰離子電池的剩余壽命進行有效的學(xué)習(xí)和預(yù)測.主要結(jié)論有:
(1)文中提出的CEEMDAN-LSTM組合模型對于不同型號和不同放電倍率的鋰離子電池壽命預(yù)測均有較高的精度,而且訓(xùn)練數(shù)據(jù)的減少對預(yù)測結(jié)果的影響不大,預(yù)測模型具有一定的泛化性和魯棒性.
(2)通過與EMD-LSTM和LSTM及其他機器學(xué)習(xí)算法的對比,所提出的組合模型預(yù)測精度相對EMD-LSTM、LSTM模型均有一定的提升,CEEMDAN-LSTM組合算法的最大MAPE不超過1.5%,平均相對誤差在3%以內(nèi).
(3)因為引入CEEMDAN分解算法,影響了LSTM模型的訓(xùn)練時間,所以CEEMDAN-LSTM組合預(yù)測模型的訓(xùn)練時間與LSTM模型相比較長.后續(xù)的工作將在此基礎(chǔ)上改進,在提高預(yù)測精度的同時也可以節(jié)省模型訓(xùn)練時間.