姚遠(yuǎn),陳志聰,吳麗君,程樹英,林培杰
(福州大學(xué)物理與信息工程學(xué)院,微納器件與太陽(yáng)能電池研究所,福建 福州 350108)
鋰離子電池的剩余使用壽命(remaining useful life, RUL)是指從當(dāng)前時(shí)刻到電池的壽命終止?fàn)顟B(tài)(EOL)時(shí)的充放電循環(huán)周期次數(shù)[1]. EOL一般是指電池容量下降到其標(biāo)稱容量的70%~80%時(shí)的狀態(tài). RUL的準(zhǔn)確預(yù)測(cè)能夠確保及時(shí)更換電池以及電池管理系統(tǒng)的可靠運(yùn)行. 由于鋰離子電池復(fù)雜的化學(xué)特性[2],其容量會(huì)隨著電池的連續(xù)使用而變化,并且受溫度、電壓、放電倍率等多種因素的影響較大. 因此,RUL的準(zhǔn)確預(yù)測(cè)依然是研究的重點(diǎn)與難點(diǎn). 目前最常用的是基于等效電路模型和基于數(shù)據(jù)驅(qū)動(dòng)的兩種預(yù)測(cè)方法[3].
基于等效電路模型的方法一般是將等效電路物理模型與自適應(yīng)濾波方法(例如粒子濾波算法(PF)、卡爾曼濾波算法(KF)等)結(jié)合起來,根據(jù)電池特性搭建等效電路仿真模型,然后使用濾波方法進(jìn)行RUL預(yù)測(cè)[4]. 文獻(xiàn)[5]采用粒子濾波器和蒙特卡羅算法結(jié)合來預(yù)測(cè)貝葉斯框架中的電池RUL; 文獻(xiàn)[6]提出了一種高斯-赫姆特粒子濾波方法來預(yù)測(cè)電池容量的衰減,以進(jìn)行電池RUL預(yù)測(cè). 盡管基于模型的方法具有參數(shù)變量較少、可實(shí)現(xiàn)性強(qiáng)的優(yōu)點(diǎn),但是搭建的仿真模型不能夠完全描述電池復(fù)雜的動(dòng)態(tài)特性,當(dāng)電池參數(shù)發(fā)生變化時(shí),模型也需要進(jìn)行相應(yīng)的調(diào)整,不具有泛化性[7-8]. 基于數(shù)據(jù)驅(qū)動(dòng)的方法不需要明確的數(shù)學(xué)模型來描述電池的容量退化,僅僅依賴于電池歷史退化數(shù)據(jù),可以有效地避免基于等效電路模型方法的不足[9]. 一些常用的機(jī)器學(xué)習(xí)方法,如支持向量機(jī)(SVM)、極限學(xué)習(xí)機(jī)(ELM)、高斯過程回歸(GPR)、隱形馬爾可夫(HMM)等[10-13],已被用于RUL預(yù)測(cè). 雖然機(jī)器學(xué)習(xí)方法訓(xùn)練較快、簡(jiǎn)單易實(shí)現(xiàn),但是對(duì)于電池RUL這類復(fù)雜非線性問題,長(zhǎng)期預(yù)測(cè)的精度會(huì)變差. 除上述機(jī)器學(xué)習(xí)方法外,深度學(xué)習(xí)算法已被用于預(yù)測(cè)領(lǐng)域. 深度學(xué)習(xí)方法學(xué)習(xí)和適應(yīng)能力較強(qiáng),尤其是循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)系列算法,適用于具有序列特性的數(shù)據(jù)的預(yù)測(cè)(如鋰離子電池RUL的預(yù)測(cè)),因此許多專家學(xué)者進(jìn)行了相關(guān)的研究分析. 文獻(xiàn)[14]采用基于RNN的鋰離子電池建模方法; 文獻(xiàn)[11]使用長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)依據(jù)鋰離子電池?cái)?shù)據(jù)預(yù)測(cè)RUL,從而避免了長(zhǎng)期RNN導(dǎo)致的梯度消失問題. 文獻(xiàn)[15]使用LSTM-RNN混合算法預(yù)測(cè)鋰離子電池的RUL. 但是在RNN和LSTM中,當(dāng)電池?cái)?shù)據(jù)嘈雜或數(shù)據(jù)量較小時(shí),通常會(huì)發(fā)生擬合不足現(xiàn)象. 而最新提出的門控制循環(huán)單元網(wǎng)絡(luò)(gated recurrent unit, GRU)被認(rèn)為是LSTM的變體,相對(duì)于LSTM少了一個(gè)門函數(shù),因此模型參數(shù)較少,訓(xùn)練速度更快,能夠更快收斂. 但是單一的GRU算法可能對(duì)多種電池RUL的預(yù)測(cè)泛化性較差.
為克服上述方法的局限性,本文提出一種基于GRU-MC混合算法的鋰離子電池RUL預(yù)測(cè)方法,首先對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,構(gòu)造特征矩陣,利用GRU較優(yōu)的記憶性,搭建模型對(duì)電池RUL進(jìn)行預(yù)測(cè),為了進(jìn)一步提高預(yù)測(cè)精度,采用馬爾科夫算法(MC)方法對(duì)初步預(yù)測(cè)結(jié)果進(jìn)行誤差修正,得到最終的電池RUL預(yù)測(cè)結(jié)果.
門控制循環(huán)單元網(wǎng)絡(luò)(GRU)是循環(huán)神經(jīng)網(wǎng)絡(luò)算法之一. GRU在簡(jiǎn)單循環(huán)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上對(duì)網(wǎng)絡(luò)的結(jié)構(gòu)做了調(diào)整,加入了門控機(jī)制,用來控制神經(jīng)網(wǎng)絡(luò)中信息的傳遞. 門控機(jī)制可以用來控制記憶單元中的信息有多少需要保留,有多少需要丟棄,新的狀態(tài)信息又有多少需要保存到記憶單元中等. 這使得GRU可以學(xué)習(xí)跨度相對(duì)較長(zhǎng)的依賴關(guān)系,而不會(huì)出現(xiàn)梯度消失和梯度爆炸的問題. 而鋰離子電池的RUL就是與之前的狀態(tài)具有較強(qiáng)的依賴關(guān)系,而且數(shù)據(jù)量較小,GRU能夠很好地從電池之前的狀態(tài)中訓(xùn)練學(xué)習(xí),保留有用的信息,從而得到準(zhǔn)確的預(yù)測(cè)結(jié)果. 因此,本研究選擇GRU算法來搭建預(yù)測(cè)模型.
(1)
馬爾科夫鏈(MC)是一種數(shù)學(xué)過程,其利用隨機(jī)過程理論對(duì)事件的發(fā)展規(guī)律和可能的預(yù)測(cè)結(jié)果進(jìn)行狀態(tài)劃分,通過研究不同狀態(tài)間的轉(zhuǎn)換規(guī)律,從而對(duì)預(yù)測(cè)結(jié)果進(jìn)行修正,提高預(yù)測(cè)準(zhǔn)確率. 單一的預(yù)測(cè)模型可能對(duì)多個(gè)數(shù)據(jù)集的泛化性較低,對(duì)預(yù)測(cè)結(jié)果進(jìn)行誤差修正是一種提高預(yù)測(cè)精度和泛化性較好的方法. 因此選擇采用MC方法對(duì)初始的預(yù)測(cè)結(jié)果進(jìn)行誤差修正,其具體實(shí)現(xiàn)步驟如下:
步驟1. 根據(jù)下式,計(jì)算初始預(yù)測(cè)結(jié)果的相對(duì)誤差,以此進(jìn)行狀態(tài)區(qū)間劃分,指定區(qū)間上下限:
(2)
其中:δ是電池容量預(yù)測(cè)的相對(duì)誤差;Cr是電池容量的實(shí)際值;Cp是預(yù)測(cè)值.
步驟2.通過對(duì)每個(gè)預(yù)測(cè)值進(jìn)行狀態(tài)標(biāo)記,根據(jù)相鄰兩個(gè)預(yù)測(cè)值所處的狀態(tài)轉(zhuǎn)換規(guī)律,統(tǒng)計(jì)得到每個(gè)狀態(tài)的轉(zhuǎn)移概率,以此確定狀態(tài)轉(zhuǎn)移矩陣PN:
(3)
其中:N表示狀態(tài)區(qū)間個(gè)數(shù),Pij(其中i,j∈[1,N])表示電池容量預(yù)測(cè)值從劃分的狀態(tài)Ei轉(zhuǎn)移到狀態(tài)Ej的概率.
圖2 混合模型預(yù)測(cè)流程Fig.2 Mixed model forecasting process
步驟3. 根據(jù)計(jì)算得到的狀態(tài)轉(zhuǎn)移矩陣,求解得到下一時(shí)刻預(yù)測(cè)值的誤差狀態(tài)區(qū)間,預(yù)測(cè)結(jié)果修正公式如下式所示:
(4)
其中:H(x)表示進(jìn)行修正后的電池容量預(yù)測(cè)值;ΔH、ΔL表示所處的誤差狀態(tài)區(qū)間的上下限;h(x)表示初始的電池容量預(yù)測(cè)值.
混合模型預(yù)測(cè)流程如圖2所示. 首先,對(duì)公共數(shù)據(jù)集進(jìn)行數(shù)據(jù)處理,根據(jù)相關(guān)性分析提取特征參數(shù),構(gòu)造特征矩陣,利用GRU保留特征、參數(shù)少的優(yōu)點(diǎn),搭建了基于GRU的預(yù)測(cè)模型并進(jìn)行訓(xùn)練預(yù)測(cè). 根據(jù)得到的預(yù)測(cè)值用MC方法對(duì)預(yù)測(cè)誤差進(jìn)行修正,確定狀態(tài)轉(zhuǎn)移矩陣并得到預(yù)測(cè)值所處的誤差狀態(tài)區(qū)間,通過計(jì)算得到最終的鋰離子電池RUL預(yù)測(cè)量.
根據(jù)上述提出的模型,采用來自NASA的B0006數(shù)據(jù)集和CALCE的CS2-33數(shù)據(jù)集來驗(yàn)證所提出RUL預(yù)測(cè)方法的準(zhǔn)確性和泛化性. B0006數(shù)據(jù)集所用的是18650電池,額定容量為2 A·h; CS2-33數(shù)據(jù)集所用的是CS2電池,額定容量為1.1 A·h. 通過對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)清洗和數(shù)據(jù)規(guī)范,將一次完整的充電和放電作為一個(gè)周期,兩個(gè)電池按周期進(jìn)行充放電,周期總數(shù)分別為168和765,兩個(gè)數(shù)據(jù)集的電池容量變化曲線如圖3~4所示. 選擇采用皮爾遜相關(guān)系數(shù)法對(duì)選取的輸入特征與電池容量進(jìn)行相關(guān)性分析,結(jié)果如表1所示.
表1 數(shù)據(jù)特征相關(guān)性分析
從表1中可以看出,平均放電電壓、恒壓充電時(shí)間均與電池容量成正相關(guān),而且相關(guān)系數(shù)接近1,說明相關(guān)性非常高. 這兩個(gè)特征包含充放電兩部分的電壓、充電時(shí)間等數(shù)據(jù),并不包括單一的部分,具有代表性,因此選擇了這兩個(gè)特征. 此外,考慮到電池隨著充放電周期數(shù)的增加,整體容量呈現(xiàn)下降的趨勢(shì),具有一定的時(shí)序性,可以看作時(shí)序序列數(shù)據(jù). 因此在進(jìn)行常規(guī)特征選擇的同時(shí)還考慮了之前電池容量值的影響因素,通過選擇之前5個(gè)電池容量值(即時(shí)序長(zhǎng)度為5)和上述兩個(gè)特征構(gòu)成了輸入特征矩陣,并選擇不同的預(yù)測(cè)起點(diǎn)來進(jìn)行訓(xùn)練預(yù)測(cè). 根據(jù)EOL的定義,本研究選擇電池健康狀態(tài)(SOH)下降到70%時(shí)作為預(yù)測(cè)EOL點(diǎn),對(duì)應(yīng)兩個(gè)數(shù)據(jù)集的EOL周期點(diǎn)分別為110和530.
圖3 B0006數(shù)據(jù)集的電池容量變化曲線Fig.3 Battery capacity change curve of B0006 data set
圖4 CS2-33數(shù)據(jù)集的電池容量變化曲線Fig.4 Battery capacity change curve of CS2-33 data set
選擇均方根誤差(RMSE)、平均絕對(duì)誤差(MAE)、預(yù)測(cè)誤差周期RULe作為模型評(píng)價(jià)指標(biāo). 其中,RMSE一般是用來衡量預(yù)測(cè)值和真實(shí)值的偏差; MAE可以更真實(shí)地反映預(yù)測(cè)值和真實(shí)值的誤差情況; RULe是用來衡量達(dá)到EOL時(shí)預(yù)測(cè)值和真實(shí)值的誤差周期. 評(píng)價(jià)指標(biāo)的計(jì)算如下所示:
(5)
圖5 B0006電池預(yù)測(cè)起點(diǎn)60的結(jié)果對(duì)比Fig.5 Comparison of results of B0006 battery prediction starting point 60
以B0006電池為例,設(shè)置預(yù)測(cè)起點(diǎn)為60,GRU預(yù)測(cè)模型的參數(shù)設(shè)置為: 序列長(zhǎng)度為5,隱藏層層數(shù)為1,隱藏層節(jié)點(diǎn)數(shù)為24,學(xué)習(xí)率為0.01,訓(xùn)練次數(shù)為100,預(yù)測(cè)結(jié)果如圖5中曲線“GRU”所示. 對(duì)預(yù)測(cè)結(jié)果采用MC方法進(jìn)行誤差修正,根據(jù)相對(duì)誤差劃分的三個(gè)狀態(tài)區(qū)間為{E1[-1.500,-0.010];E2[-0.009,0.010];E3[0.011,0.040]},根據(jù)劃分的狀態(tài)區(qū)間統(tǒng)計(jì)預(yù)測(cè)結(jié)果的狀態(tài)轉(zhuǎn)移情況,得到了狀態(tài)轉(zhuǎn)移矩陣P如下:
根據(jù)步驟3計(jì)算得到修正后的預(yù)測(cè)值,最終的預(yù)測(cè)曲線如圖5中“GRU-MC”曲線所示.
從圖5可以看出,GRU預(yù)測(cè)模型能夠預(yù)測(cè)到電池容量的變化趨勢(shì),達(dá)到EOL狀態(tài)時(shí)的預(yù)測(cè)周期與實(shí)際周期幾乎一致. 雖然LSTM也能擬合容量變化曲線,但是與GRU相比,預(yù)測(cè)誤差明顯較大. 在80~100周期異常值和120周期之后單純GRU算法的預(yù)測(cè)精度明顯下降,與實(shí)際值偏差較大. 而經(jīng)過MC修正誤差之后,預(yù)測(cè)曲線明顯能夠更好地?cái)M合實(shí)際曲線,預(yù)測(cè)精度明顯提高. 其他之前預(yù)測(cè)較準(zhǔn)確部分也沒有發(fā)生經(jīng)過誤差修正出現(xiàn)矯枉過正的現(xiàn)象. 這是由于MC算法對(duì)相對(duì)誤差進(jìn)行狀態(tài)區(qū)間劃分導(dǎo)致后面進(jìn)行誤差修正時(shí),起初誤差較大的值能得到較大的誤差修正,而起初誤差較小的,得到的修正變化較小,對(duì)預(yù)測(cè)結(jié)果的影響較小. 從圖中可以看出還有一部分值的誤差較大,即使經(jīng)過誤差修正,誤差沒有減小很多,這是因?yàn)楫惓V祵?duì)于之前狀態(tài)的依賴性較小,導(dǎo)致了GRU預(yù)測(cè)結(jié)果不準(zhǔn)確,MC對(duì)于這些個(gè)別異常值不夠敏感,只是按照所在的狀態(tài)區(qū)間進(jìn)行誤差修正,如果狀態(tài)區(qū)間較小,就會(huì)導(dǎo)致修正較小. 綜上所述,經(jīng)過誤差修正之后整體曲線的預(yù)測(cè)精度有所提升. 此外,將模型應(yīng)用于B0006數(shù)據(jù)集的預(yù)測(cè)起點(diǎn)80和100進(jìn)行預(yù)測(cè),實(shí)驗(yàn)結(jié)果如圖6~7所示. 從圖中可以看出,隨著預(yù)測(cè)起點(diǎn)越接近EOL點(diǎn),訓(xùn)練數(shù)據(jù)越多,所有算法的預(yù)測(cè)精度均有所提升,預(yù)測(cè)周期誤差不斷減小,而GRU-MC混合算法始終取得較小的RMSE和MAE. 實(shí)驗(yàn)結(jié)果說明在B0006數(shù)據(jù)集上,GRU能夠較為準(zhǔn)確地預(yù)測(cè)RUL的變化,MC能夠有效地對(duì)初步的預(yù)測(cè)結(jié)果進(jìn)行誤差修正,使得預(yù)測(cè)結(jié)果更加準(zhǔn)確.
圖6 預(yù)測(cè)起點(diǎn)80的結(jié)果對(duì)比Fig.6 Comparison of results of prediction starting point 80
圖7 預(yù)測(cè)起點(diǎn)100的結(jié)果對(duì)比Fig.7 Comparison of results of prediction starting point 100
為了驗(yàn)證模型的泛化性,在CS2-33數(shù)據(jù)集上進(jìn)行電池RUL預(yù)測(cè). 設(shè)置預(yù)測(cè)起點(diǎn)為300、350和400,實(shí)驗(yàn)結(jié)果如圖8~10所示. 從圖中可以看出,GRU算法能夠較為準(zhǔn)確地預(yù)測(cè)電池容量的變化趨勢(shì). 在550周期之前,算法的預(yù)測(cè)誤差較小,在后面周期部分預(yù)測(cè)誤差變大. 這是由于CS2-33數(shù)據(jù)集是對(duì)電池完全充放電,最后的容量下降接近0,超過了電池的失效閾值. 而經(jīng)過MC的誤差修正,最后部分的誤差明顯有所減小. 可以看出與GRU、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、LSTM相比,隨著預(yù)測(cè)起點(diǎn)越來越靠近失效點(diǎn),GRU-MC的誤差周期幾乎沒變化. 這是由于GRU-MC在預(yù)測(cè)起點(diǎn)300時(shí)的誤差周期已經(jīng)很小,約為1個(gè)周期,無論訓(xùn)練數(shù)據(jù)的增加或者誤差修正,對(duì)誤差周期的影響已經(jīng)不大. 但是RMSE和MAE均有所減小,預(yù)測(cè)曲線更接近真實(shí)曲線,證明了混合算法的魯棒性. 綜上所述,實(shí)驗(yàn)結(jié)果證明了本研究所提出方法的準(zhǔn)確性和泛化性.
圖8 預(yù)測(cè)起點(diǎn)300的結(jié)果對(duì)比Fig.8 Comparison of results of prediction starting point 300
圖9 預(yù)測(cè)起點(diǎn)350的結(jié)果對(duì)比Fig.9 Comparison of results of prediction starting point 350
圖10 預(yù)測(cè)起點(diǎn)400的結(jié)果對(duì)比Fig.10 Comparison of results of prediction starting point 400
本研究提出一種基于GRU-MC混合算法的鋰離子電池剩余使用壽命預(yù)測(cè)方法. 首先,對(duì)數(shù)據(jù)進(jìn)行預(yù)處理和特征提取,根據(jù)GRU模型的特型選擇構(gòu)建合適的輸入特征矩陣,然后搭建基于GRU的預(yù)測(cè)模型,并使用MC方法對(duì)預(yù)測(cè)結(jié)果進(jìn)行誤差修正,使RUL的預(yù)測(cè)更加準(zhǔn)確和穩(wěn)定. 在B0006和CS2-33公共數(shù)據(jù)集上驗(yàn)證了GRU-MC混合算法的預(yù)測(cè)性能,實(shí)驗(yàn)結(jié)果表明,所提出方法RUL總的預(yù)測(cè)誤差約為1個(gè)周期,RMSE約為1.2%~2.2%. 與未經(jīng)過MC方法誤差修正的結(jié)果相比,預(yù)測(cè)結(jié)果有了較明顯的提升,RMSE減少了約0.9%~1.4%; 與其他RUL預(yù)測(cè)方法相比,所提出方法的預(yù)測(cè)結(jié)果較為準(zhǔn)確. 綜上所述,本研究提出的GRU-MC混合算法能夠較為準(zhǔn)確地預(yù)測(cè)鋰離子電池RUL,能夠確保電動(dòng)汽車中電池管理系統(tǒng)的安全可靠運(yùn)行.