曹孟達,張 濤,王 羽,張亞軍,劉亞杰
(國防科技大學 系統(tǒng)工程學院,湖南 長沙 410073)
隨著我國工業(yè)的蓬勃發(fā)展,鋰離子電池技術(shù)已廣泛應(yīng)用于車輛、航空航天、便攜式電子設(shè)備等領(lǐng)域。與傳統(tǒng)電池相比,鋰離子電池具有許多優(yōu)勢,如高能量密度、循環(huán)壽命長、自放電率低且與其他電池化學物質(zhì)相比沒有記憶效應(yīng)[1-3]。這些優(yōu)勢使得鋰離子電池被應(yīng)用在更廣泛的領(lǐng)域,如新一代豐田普銳斯、比亞迪E6、K9和本田思域等電動汽車都采用鋰離子電池作為動力來源。尤其是在航空航天領(lǐng)域,鋰離子電池取代傳統(tǒng)鎳氫、鎳鎘電池,成為第三代衛(wèi)星儲能電池,并已經(jīng)投入實際生產(chǎn)和應(yīng)用,例如美國國家航空航天局(NASA)的火星探測漫游者項目(Mars Exploration Rover,MER)、歐洲航天局(ESA)的火星快車號(Mars Express)和日本的獵鷹(Falcon Bird)小行星都已經(jīng)選擇鋰離子電池作為能量儲備[4-5]。同時,鋰離子電池使用期間的安全性、可靠性和穩(wěn)定性是應(yīng)用中關(guān)注的重點,通常需要安裝電池管理系統(tǒng)(BMS)來確保電池系統(tǒng)的安全、高效運行[6-7]。
作為工業(yè)系統(tǒng)中的主要儲能設(shè)備,鋰離子電池故障常常會導(dǎo)致系統(tǒng)性能降低、失效,增加維修、維護成本[8]。1999年,美國太空試驗空軍研究實驗室因電池內(nèi)部阻抗異常而故障失效[9]。2013年,機載鋰離子電池故障引起多架波音787失火,并導(dǎo)致所有同類型客機無限期停飛[10]。而衛(wèi)星電源系統(tǒng)的鋰離子電池由于工作環(huán)境特殊,維修困難,一旦出現(xiàn)故障,將導(dǎo)致衛(wèi)星整體失效,無法運轉(zhuǎn)。NASA發(fā)射的火星探測器電池存在過充問題,但操作者未及時發(fā)現(xiàn)其狀態(tài)仍然將探測器的太陽能電池板朝太陽方向旋轉(zhuǎn),使電池溫度過高而失效,最終導(dǎo)致探測器丟失。因此,準確地評估、預(yù)測鋰離子電池的剩余使用壽命(Remaining Useful Life,RUL),在鋰離子電池狀態(tài)估計和健康管理中起著越來越重要的作用[11],能夠在電池出現(xiàn)失效前及時調(diào)整工作狀態(tài),避免出現(xiàn)更嚴重的故障。
鋰離子電池RUL估計的典型方法通??梢苑譃榛谀P偷姆椒╗12]、基于數(shù)據(jù)驅(qū)動的方法[13]和二者組合的混合方法[14]?,F(xiàn)在較普遍的粒子濾波方法[15]、艾林(Eyring)模型[16]、威布爾分布模型[17]等均屬于基于模型的方法。OSSAI等人[18]采用隨機效應(yīng)模型和威布爾分布函數(shù)對鋰離子電池RUL進行評估,選擇最大似然估計(MLE)算法和隨機近似期望最大化(SEAM)算法對隨機效應(yīng)參數(shù)進行優(yōu)化,對鋰離子電池RUL預(yù)測精度達到98%以上。XU等人[19]通過建立狀態(tài)空間模型預(yù)測鋰離子電池RUL,該模型中參數(shù)和狀態(tài)的更新是通過期望最大化(EM)和擴展卡爾曼濾波器(EKF)算法的組合來實現(xiàn)。這些研究雖然能夠?qū)?fù)雜系統(tǒng)退化進行精確建模從而獲取較準確的預(yù)測結(jié)果,但其建模過程往往需要大量有關(guān)物理系統(tǒng)的先驗知識[20]。由于鋰離子電池內(nèi)部復(fù)雜的化學反應(yīng),通常很難檢測和收集用于電池退化模型的綜合內(nèi)部狀態(tài)參數(shù),因此在實際情況中很難建立準確的預(yù)測模型。數(shù)據(jù)驅(qū)動方法能夠基于傳感器收集的歷史數(shù)據(jù)對退化特性建模,通過揭示傳感器數(shù)據(jù)中的潛在相關(guān)性和因果關(guān)系推斷出相應(yīng)的系統(tǒng)信息[21](如RUL)?;跀?shù)據(jù)驅(qū)動的方法通常需要足夠的歷史數(shù)據(jù)來訓(xùn)練模型,在預(yù)測上不過多依賴先驗知識。近年來提出了許多數(shù)據(jù)驅(qū)動算法,并且取得了良好的預(yù)測結(jié)果,包括人工神經(jīng)網(wǎng)絡(luò)(Neural Network,NN)、支持向量機(SVM)[22]、隱馬爾可夫模型[23]、相關(guān)向量機(RVM)[24]等。將基于數(shù)據(jù)驅(qū)動的方法和基于模型的方法相結(jié)合的混合方法旨在利用2種方法的優(yōu)點,避免其缺點[25]。鋰離子電池的混合方法主要與粒子濾波和卡爾曼濾波等方法相關(guān)。Dong等人[26]提出了一種基于短期浮動的鋰離子電池RUL預(yù)測框架,該框架通過應(yīng)用基于布朗運動的退化模型來實現(xiàn)電池容量評估,將容量變化視為布朗粒子在一定時間內(nèi)間隔的移動距離,粒子濾波用于估計布朗運動的漂移參數(shù)。盡管在混合方法上已經(jīng)有了一些研究,但是開發(fā)有效的混合方法應(yīng)用于實際退化仍然是非常困難的,特別是對于物理模型和數(shù)據(jù)驅(qū)動技術(shù)的結(jié)合。
在過去的幾年中,基于數(shù)據(jù)驅(qū)動的方法在鋰離子電池RUL預(yù)測領(lǐng)域得到了許多關(guān)注。但是,基于數(shù)據(jù)驅(qū)動的方法常常需要復(fù)雜的信號處理技術(shù)從傳感器數(shù)據(jù)中提取特征。這種信號處理需要人工提取、處理并分析信號數(shù)據(jù),但人為因素的加入也導(dǎo)致模型的精確度和可靠性受到影響。隨著人工智能和生物技術(shù)的發(fā)展,深度學習在處理信號數(shù)據(jù)時具有良好的自動挖掘和提取信息的能力[27],能夠避免人為提取特征的不確定性。谷歌的Deepmind在AlphaGo上取得的成功證明了深度學習對大數(shù)據(jù)處理和功能學習的強大作用[28]。而深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)也在圖像識別、自然語言處理、語音識別等許多領(lǐng)域獲得了巨大的成功,并在提取原始振動信號和時頻特征方面進行故障診斷有很好的應(yīng)用潛力[29-30]。
基于深度學習在信號處理和提取特征中的優(yōu)勢,提出了一種集成的深度學習方法用于鋰離子電池RUL預(yù)測。將深度學習中的自動編碼器和深度神經(jīng)網(wǎng)絡(luò)集成在一起,構(gòu)建一種基于自動編碼器模型的20維特征提取方法來表征鋰離子電池的退化狀況,訓(xùn)練基于深度神經(jīng)網(wǎng)絡(luò)的多電池RUL預(yù)測模型。將該方法應(yīng)用于NASA的鋰離子電池循環(huán)壽命的真實數(shù)據(jù)集進行實例驗證,實驗結(jié)果表明了該方法的有效性和優(yōu)越性。
基于深度學習的鋰離子電池RUL預(yù)測模型框架如圖1所示。首先從原始數(shù)據(jù)中提取特征后采用自動編碼器對特征進行融合,然后將融合后的特征輸入深度神經(jīng)網(wǎng)絡(luò)中,以預(yù)測鋰離子電池的RUL,輸出預(yù)測結(jié)果。
圖1 基于深度學習的鋰離子電池RUL預(yù)測模型
2.1.1 原始信號數(shù)據(jù)
通過對傳感器收集的鋰離子蓄電池充放電過程時的數(shù)據(jù)進行分析,得出充放電過程,如圖2所示。
圖2 一次循環(huán)充放電過程
充電階段首先以恒定電流對鋰離子電池進行充電,待電壓升至固定值后,保持恒定電壓進行充電,直到充電電流降至固定值。放電階段同樣以恒定電流進行放電,直至電壓降至固定值后,停止放電。
在鋰離子電池循環(huán)充放電的全壽命周期內(nèi),獲得的充電數(shù)據(jù)包括充電溫度、充電測量電流、充電端電流、充電測量電壓。電池充電期間電荷參數(shù)變化如圖3所示。
(a) 端電壓變化
放電數(shù)據(jù)包括放電溫度、放電負載電流、放電負載電壓、放電測量電流。電池放電期間電荷參數(shù)變化如圖4所示。
(a) 負載電壓變化
隨著電池充放電循環(huán)次數(shù)的增加,電池壽命逐漸退化,在每一次循環(huán)中電池充放電時間不完全一致,因此采樣數(shù)據(jù)點也參差不齊,無法直接將原始采樣數(shù)據(jù)輸入特征融合模型,需要對原始數(shù)據(jù)進行預(yù)處理,以提取所有電量參數(shù)的典型特征。
2.1.2 提取特征
在對原始數(shù)據(jù)進行特征提取時,需要考慮提取得到的數(shù)據(jù)是否能夠有效表征鋰離子電池的退化和實際性能,而鋰離子電池的每個測試參數(shù)的曲線都有明顯的幾何特征,并隨電池壽命退化而發(fā)生偏移[31]。因此,根據(jù)鋰離子電池每個循環(huán)中的每個維度,提取各個維度中的典型幾何特征信息,并利用這些幾何特征來表示鋰離子電池當前的狀態(tài)。
① 電池充電期間端電壓特征提取如下:
(tmax(i),vi),s.t.vi≤4.2 V,i=1,2,3,...,n,
(1)
式中,tmax(i)為電池端電壓達到峰值,即將下降時的充電時間;vi為電池端電壓即將下降前的電壓值;n為當次循環(huán)樣本數(shù)。
② 電池充電期間端電流、測量電流特征提取如下:
(tmax(i),Ii),s.t.Ii≤1.5 A,i=1,2,3,...,n,
(2)
式中,tmax(i)為電池端電流、測量電流保持恒定不變的最長時間;Ii為電池端電流、測量電流即將下降前的電流值;n為當次循環(huán)樣本數(shù)。
③ 電池充電期間測量電壓特征提取如下:
(tcmv,vcm)={ti,vi|max(vi)},i=1,2,3,...,n,
(3)
式中,tcmv為電池測量電壓達到峰值,開始恒壓充電時的時間;vcm為此時的電壓值;n為當次循環(huán)樣本數(shù)。
④ 電池充電、放電期間溫度特征提取如下:
(tcT,Tc)={ti,Ti|max(Ti)},i=1,2,3,...,n,
(4)
式中,tcT為電池測量溫度達到峰值的時間;Tc為電池溫度峰值;n為當次循環(huán)樣本數(shù)。
⑤ 電池放電期間測量電壓、負載電壓特征提取如下:
(td,vd)={ti,vi|max(vi)},i=1,2,3,...,n,
(5)
式中,td為電池測量電壓、負載電壓達到峰值時的時間;vd為此時電壓值;n為當次循環(huán)樣本數(shù)。
⑥ 電池放電期間測量電流、負載電流特征提取如下:
(tmax(i),Ii),s.t.|Ii|≤2 A,i=1,2,3,...,n,
(6)
式中,tmax(i)為電池結(jié)束恒定電流放電、電流的絕對值將低于2 A的時間;Ii為此時的電流值;n為當次循環(huán)樣本數(shù)。
2.2.1 自動編碼器
采用神經(jīng)網(wǎng)絡(luò)模型進行預(yù)測時,通常輸入特征信息越多,信息的表達能力愈強。但隨著提取特征維度的增加,容易導(dǎo)致模型信息冗余和計算效率低下。同時,電池充電時恒流放電結(jié)束和電壓達到峰值的時間、放電時恒流放電結(jié)束和電壓達到最低值的時間常常是高度相關(guān)甚至互補的,應(yīng)當在不降低預(yù)測精度的情況下減少冗余數(shù)據(jù),多傳感器收集的信息進行融合產(chǎn)生更準確、更可靠的信息表示。因此在進行深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練前,需要對提取特征進行數(shù)據(jù)融合。經(jīng)典的信息融合降維方法包括主成分分析(Principal Component Analysis,PCA)[32]、近鄰保持嵌入(Neighborhood Preserving Embedding,NPE)[33]和自動編碼器(Auto Encoder,AE)等。但PCA法存在局限性,在線性投影上效果較好且要求數(shù)據(jù)服從高斯分布,近鄰保持嵌入等方法無法學習高維抽象[34],因此采用AE對鋰離子電池的時域特征數(shù)據(jù)進行融合。
AE是一種3層的無監(jiān)督神經(jīng)網(wǎng)絡(luò),具有完全對稱的網(wǎng)絡(luò)結(jié)構(gòu),采用輸入向量通過非線性映射在下一層形成一個高層次的概念。AE嘗試近似一個相同的函數(shù),將輸入的x進行編碼,得到新的特征y,并且希望原始的x能夠從新的特征y中解碼出來,其結(jié)構(gòu)如圖5所示。
圖5 自動編碼器的編碼和解碼
AE分為編碼和解碼2個階段。編碼是一個前向傳播過程,通過Sigmoid激活函數(shù)f(z)訓(xùn)練數(shù)據(jù)集{x1,x2,…,xi,},xi∈Zn進行非線性映射到隱含層:
(7)
(8)
得到隱含層{y1,y2,…,yi}后,對隱含層進行解碼:
(9)
式中,W為不同層之間的權(quán)值向量;b為偏差。
自動編碼器解碼時的損失函數(shù)為:
(10)
式中,m,n分別為原始數(shù)據(jù)維度和隱含層維度,鋰離子電池特征數(shù)據(jù)維度m為20,隱含層維度n為16;x′,x分別是解碼后輸出數(shù)據(jù)和原始數(shù)據(jù)。
2.2.2 深度神經(jīng)網(wǎng)絡(luò)
深度學習技術(shù)已經(jīng)被廣泛應(yīng)用于各行各業(yè)中,通過組合多種類型的網(wǎng)絡(luò)層,形成深度神經(jīng)網(wǎng)絡(luò)模型,逐層對原始數(shù)據(jù)計算,利用反向傳播算法學習對數(shù)據(jù)越來越抽象的表示形式,從而提高對目標預(yù)測、圖像分類等任務(wù)的精確度[35]。由于深度神經(jīng)網(wǎng)絡(luò)中每個隱含層都可以是非線性變換的輸出層,因此深度神經(jīng)網(wǎng)絡(luò)比淺層神經(jīng)網(wǎng)絡(luò)具有更強的表達能力。
在鋰離子電池RUL預(yù)測框架中使用深度神經(jīng)網(wǎng)絡(luò)模型,它是一種有監(jiān)督的學習模型,在前向傳播過程接收原始數(shù)據(jù)(即經(jīng)過自動編碼器融合后的特征數(shù)據(jù))將其映射為固定數(shù)據(jù)量的輸出數(shù)據(jù),從前一層到下一層的計算過程中,融合特征被加權(quán)求和,經(jīng)過激勵函數(shù),得到輸出結(jié)果。
加權(quán)求和過程為:
(11)
激勵函數(shù)一般有Sigmoid函數(shù)、tanh函數(shù)和Relu函數(shù),Sigmoid函數(shù)如式(8),tanh函數(shù)和Relu函數(shù)如式(12)和式(13)所示:
f(x)=tanh(x),
(12)
f(x)=max(x,0)。
(13)
訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)時,設(shè)置預(yù)測結(jié)果和實際結(jié)果的均方誤差(Mean Square Error,MSE)作為損失函數(shù):
(14)
實驗數(shù)據(jù)來自于NASA埃姆斯卓越故障預(yù)測研究中心(Prognostic Center of Excellence,PCoE)的鋰離子電池數(shù)據(jù)集。本文利用了數(shù)據(jù)集中的B5、B6、B7三種鋰離子電池數(shù)據(jù)開展驗證實驗,該系列電池均為市場銷售的18650鋰離子電池,在25 ℃下進行了3種不同工作模式下的加速退化實驗,并記錄了實驗數(shù)據(jù),步驟如下:
① 充電過程:以1.5 A的恒流充電模式對鋰離子電池進行充電,電壓不斷升高至4.2 V后開始恒壓充電,直至充電電流降低至0.02 A。
② 放電過程:以2 A的恒流放電模式對鋰離子電池進行放電,直至B5、B6、B7三組鋰離子電池的電壓降至2.7,2.5,2.2 V。
③ 不斷進行充放電循環(huán),加速電池退化過程,當檢測到電池容量衰減到70%時,判定電池失效,實驗結(jié)束。
鋰離子電池RUL預(yù)測模型分為AE和深度神經(jīng)網(wǎng)絡(luò)兩部分,選擇B5、B6電池數(shù)據(jù)作為訓(xùn)練集,B7電池作為測試集對預(yù)測模型進行實驗驗證,并將混合模型(ADNN)預(yù)測結(jié)果和深度神經(jīng)網(wǎng)絡(luò)模型、SVM模型和采用AE融合特征的AE-SVM模型預(yù)測結(jié)果進行對比。
在AE模型中,傳感器收集的原始數(shù)據(jù)特征經(jīng)預(yù)處理后得到20維的特征數(shù)據(jù)。編碼過程采用Sigmoid函數(shù)作為激勵函數(shù),設(shè)置中間層為16維,解碼過程的激勵函數(shù)采用Relu函數(shù),得到中間層輸出結(jié)果即為深度神經(jīng)網(wǎng)絡(luò)預(yù)測模型的輸入數(shù)據(jù)。在深度神經(jīng)網(wǎng)絡(luò)部分,設(shè)置隱含層數(shù)分別為12,7,4,輸出層為1,即鋰離子電池容量。中間層激活函數(shù)均采用Relu函數(shù),模型參數(shù)更新采用Adam優(yōu)化算法,兩部分訓(xùn)練過程損失函數(shù)如圖6所示。
(a) 自動編碼器訓(xùn)練損失
深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)束后,采用B7電池進行鋰離子電池RUL預(yù)測,未采用AE對特征數(shù)據(jù)進行融合處理得到預(yù)測結(jié)果如圖7(a)所示,采用自動編碼器處理后的ADNN預(yù)測結(jié)果如圖7(b)。
預(yù)測結(jié)果中橫軸為B7電池充放電循環(huán)次數(shù),縱軸為電池容量歸一化后結(jié)果。藍色的點為真實值,紅色的線為預(yù)測值,能夠觀察到圖7(a)中RUL預(yù)測曲線與實際值趨勢相近,但預(yù)測誤差較大。而圖7(b)中RUL預(yù)測曲線與實際值基本吻合。
(a) DNN
使用SVM模型對B7電池進行RUL預(yù)測的結(jié)果如圖8所示,能夠發(fā)現(xiàn)采用自動編碼器對特征數(shù)據(jù)進行融合處理后的SVM模型預(yù)測效果更好。
(a) SVM
除損失函數(shù)均方誤差(Mean Square Error,MSE)外,進一步采用均方根誤差(Root Mean Square Error,RMSE)和平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)對模型預(yù)測精度進行驗證:
(15)
(16)
模型預(yù)測誤差對比結(jié)果如表1所示。
表1 預(yù)測誤差
由表1可以看出,采用深度神經(jīng)網(wǎng)絡(luò)對鋰離子電池RUL預(yù)測具有很好的效果,而采用自動編碼器對鋰離子電池數(shù)據(jù)進行融合處理后,預(yù)測精度都有了一定的提升。因此本文提出的基于自動編碼器的ADNN模型能夠準確、可靠地預(yù)測鋰離子電池的RUL。當衛(wèi)星發(fā)射到太空后,由于無法直接獲取容量數(shù)據(jù),通過地面同類型電池循環(huán)實驗構(gòu)造鋰離子電池容量評估模型,根據(jù)衛(wèi)星傳回地面的相關(guān)數(shù)據(jù)得到衛(wèi)星鋰離子電池的實時容量,使地面操作人員更直觀清晰地了解衛(wèi)星電池的工作狀況。
鋰離子電池的RUL預(yù)測對鋰離子電池狀態(tài)估計和健康管理很重要,因此本文提出了一種深度學習框架的鋰離子電池RUL預(yù)測方法。這種深度學習框架采用自動編碼器對鋰離子電池數(shù)據(jù)進行特征提取和數(shù)據(jù)融合,深度神經(jīng)網(wǎng)絡(luò)對鋰離子電池RUL進行預(yù)測?;贜ASA的電池測試數(shù)據(jù),與支持向量機方法相比,驗證了自動編碼器在特征提取融合上的優(yōu)勢和本混合方法在鋰離子電池RUL預(yù)測上具有更好的準確性和有效性。
根據(jù)這種方法,在衛(wèi)星在軌運行期間,通過地面同步實驗構(gòu)建鋰離子電池RUL預(yù)測模型,結(jié)合衛(wèi)星傳輸?shù)降孛娴倪b測數(shù)據(jù)實時了解鋰離子電池容量,為地面操作人員判斷衛(wèi)星電池健康狀態(tài)提供參考。下一步計劃研究在不同充放電環(huán)境下鋰離子電池的RUL預(yù)測方法。