楚 瀛,陳一凡,米 陽
(上海電力大學電氣工程學院,上海 200082)
車載鋰電池作為新能源電動汽車的唯一動力來源,電池健康狀態(tài)(SOH)是評價電池穩(wěn)定安全運行的重要指標。電池SOH的準確估計有助于電池管理系統(tǒng)(BMS)對電池性能的檢測與監(jiān)控,對于保障電動汽車的安全運行有重大的意義。
對于車載鋰電池SOH的估算研究主要可以分為模型化方法和數(shù)據(jù)驅動法[1]。模型化方法即事先建立能夠表征電池退化性能的電池模型,常運用卡爾曼濾波、遞推最小二乘法(RLS)等自適應方法進行模型參數(shù)的表征。文獻[2]建立了鋰離子電池等效電路模型,通過改進的反向傳播神經(jīng)網(wǎng)絡(BP)對模型參數(shù)進行辨識,最終預測SOH結果。然而,僅通過單一的等效電池模型對電池參數(shù)進行表征難以涵蓋電池復雜的充放電情況。
隨著機器學習的廣泛運用,基于數(shù)據(jù)驅動的估算方法逐漸受到研究者青睞。這類算法無需建立電池模型,注重數(shù)據(jù)源的質(zhì)量與數(shù)量。文獻[3]通過灰色關聯(lián)度方法選取了等壓降放電時間作為健康因子進行模型訓練,估計SOH,僅用少量特征因子便較好地完成了SOH估計,但是稀少的數(shù)據(jù)特征不能完備地涵蓋SOH復雜的耦合情況。
隨著近年來深度學習領域在理論上的突破以及TensorFlow、Keras 和Pytorch 等深度學習框架的普及,深度學習的應用場景不斷擴展。常用的深度學習模型有卷積神經(jīng)網(wǎng)絡(CNN)、循環(huán)神經(jīng)網(wǎng)絡(RNN)和長短期記憶網(wǎng)絡(LSTM)等。該類算法以模型本身的特點自動挖掘數(shù)據(jù)特征,直接建立輸入-輸出的非線性映射模型。文獻[4]采用了一維CNN 實現(xiàn)了SOH的估算,驗證了CNN 應對網(wǎng)格化數(shù)據(jù)出色的特征提取能力,但是僅表征了單個充電循環(huán)內(nèi)輸入整體與SOH的映射關系,忽略了SOH本身作為時序數(shù)據(jù)的特征。
綜上所述,本文選用深度學習模型作為主要架構,提出了一種基于注意力機制的CNN-LSTM 鋰電池SOH估算方法。該方法融合了CNN 對網(wǎng)格化數(shù)據(jù)強大的特征提取能力以及LSTM 對時序數(shù)據(jù)的記憶能力,既挖掘了輸入序列橫向的時序特征,又捕獲了SOH縱向時間序列的關聯(lián)性,且僅需要單個采樣周期內(nèi)電壓、電流、溫度的采樣序列即可獲得較高的估算精度。最終基于注意力機制,融合了不同視野域下輸出的結果,確保了特征提取的全面性,從而提高精度。
目前SOH的定義主要體現(xiàn)在容量、電量、內(nèi)阻、循環(huán)次數(shù)和峰值功率等幾個方面。文獻[5]驗證了基于充電容量進行SOH估算的可行性,同時考慮到電池容量易于從數(shù)據(jù)中進行提取,本文采取電池充電容量的角度定義SOH,公式如下所示:
式中:Cnew-max是電池標稱充電容量,其值為140 Ah;Caged-max是實際電池充電容量,可通過充電電流與時間積分計算獲得。
采用上海市電動汽車公共數(shù)據(jù)采集與監(jiān)測研究中心提供的車輛行駛工況數(shù)據(jù),車輛動力源為三元鋰電池,通過BMS 系統(tǒng)采集了上海市2019~2020 年25 輛純電電動汽車180 天的電池充放電數(shù)據(jù)以及電池性能數(shù)據(jù)。為了驗證模型的泛化能力,選取了24 號與25 號,14 號與20 號車輛數(shù)據(jù)為對照組進行測試。
電池SOH在多個充放電循環(huán)后會呈現(xiàn)衰退的特點。由式(1)可知,電池容量的減小意味著在相同充電倍率情況下充電時間的縮短。圖1 為不同循環(huán)次數(shù)下充電電壓變化曲線。整車輸出電壓在不同充放電循環(huán)次數(shù)下,充電電壓上升速率不同。由此可見,充電電壓序列與電池SOH有強相關性。
圖1 不同循環(huán)次數(shù)下充電電壓變化曲線
深度學習模型需要大量的數(shù)據(jù)輸入進行訓練,較多的輸入量會增加對計算能力和數(shù)據(jù)存儲能力的需求,而較少的輸入數(shù)據(jù)又不足以提取完整的特征信息。由于SOH既由整車電流序列積分計算獲得,又受環(huán)境溫度的影響極大[6]。因此同時截取相同時段的電壓、電流以及溫度數(shù)據(jù)作為數(shù)據(jù)輸入,增加輸入樣本的多樣性,以便于提取更完備的特征信息。
不同充電循環(huán)下的SOH值對應一組不同的充電電壓、電流、溫度時間序列,即一次充電過程中的電壓、電流、溫度均是隨時間變化的一維時序數(shù)列且對應一個SOH值。
設SOH序列集合為H={SOHk,k∈[1,m]},電壓、電流、溫度的全過程量集合為,令E為k取任意值時的一個集合,n為電壓、電流、溫度數(shù)據(jù)采樣點的數(shù)量。兩者為相關聯(lián)的非同軸向時序序列,在此將E定義為橫向時序序列,H定義為縱向時序序列。
使用CNN 提取橫向時序序列中的關鍵特征。卷積層是CNN 的核心,不同于一般的全連接神經(jīng)網(wǎng)絡,CNN 采用滑動窗口的方法使用復數(shù)個可學習的濾波器對網(wǎng)格數(shù)據(jù)進行局部運算,并且對整體數(shù)據(jù)共享濾波器權值。在鋰離子電池SOH估算中,一次恒流-恒壓充電過程中的電壓、電流、溫度曲線均是隨時間變化的一維時序數(shù)據(jù),且對應一個共同的SOH估算值。本文選用CNN為橫向時序序列E(k)的特征提取手段。
為了更高效提取橫向序列特征,特此設計高度為1,長度為length的卷積核。如圖2 所示,將卷積核的高度設為1,不會破壞數(shù)據(jù)縱向的數(shù)據(jù)特點,僅關注輸入序列橫向的局部關聯(lián)性。
圖2 卷積特征提取范例
使用該卷積核的優(yōu)勢主要為:輸入數(shù)據(jù)為連續(xù)時序數(shù)據(jù),連續(xù)數(shù)據(jù)的局部存在著一定的相關性,長條形的卷積核更善于提取局部信息的特征且能夠確保連續(xù)數(shù)據(jù)特征提取的完整性;因局部信息具有較大的相關性,所以該區(qū)域范圍內(nèi)的神經(jīng)元權值近似相同,卷積核具有權值共享的性質(zhì),能夠大大縮減網(wǎng)絡所需要學習的參數(shù)數(shù)量,降低模型所占的內(nèi)存量和計算量。
LSTM 是一種特殊的RNN,在時間序列預測領域有很好的應用。如圖3 所示,總共有三種邏輯門結構,即遺忘門、更新門、輸出門。這種邏輯門設計使得由LSTM 單元組成的網(wǎng)絡具有長時記憶能力。
圖3 LSTM 單元結構
假設xt=E*(t)為LSTM 單元的一個輸入數(shù)據(jù)點,具體計算方式如下所示:
(1)使用遺忘門決定前一個細胞狀態(tài)Ct-1的信息量在當前單元狀態(tài)Ct中的保留程度:
式中:Wf為遺忘門的權重矩陣;ht-1為t-1 時刻的輸出值,同時也是隱層狀態(tài)值;xt為t時刻的輸入值;bf為遺忘門的偏置項;σ 為sigmoid 激活函數(shù)。
(2)更新門用于選擇新增信息的保留程度:
式中:Ot為t時刻輸出門的輸出值。Ct通過tanh 函數(shù)縮放后與Ot相乘,即得到t時刻隱藏狀態(tài)ht的值,將其作為輸出值輸出。
綜合CNN 在局部特征提取的優(yōu)勢以及LSTM 在序列數(shù)據(jù)上的記憶性,CNN 與LSTM 相結合處理鋰離子電池電壓、電流、溫度曲線與SOH之間的映射關系。
CNN-LSTM 流程如圖4 所示。E(k)為1.3 節(jié)中劃定的原始輸入數(shù)據(jù),分別為一次恒流-恒壓充電過程中的電壓、電流、溫度曲線,通過設計的CNN 進行橫向特征提取。E*(k)為對E(k)進行卷積操作后的新特征圖,相比原來的輸入數(shù)據(jù),其橫向特征點從p變?yōu)閜*(p>p*),直觀上體現(xiàn)了原本的橫向數(shù)據(jù)經(jīng)過卷積操作后,減少了冗余信息,實現(xiàn)了數(shù)據(jù)降維。將特征圖E*(k)以滑動窗口的方式,切分為LSTM 的輸入數(shù)據(jù),其中t為時間跨度,s為樣本數(shù)量。使用LSTM 能夠深度挖掘縱向時間序列的關聯(lián)特征,最終完成SOH估計。至此,通過CNN 和LSTM 分別挖掘了橫向縱向兩個維度上的時間序列特征,確保了特征提取的全面性。
圖4 CNN-LSTM 流程
模型中的注意力機制能夠通過結果與該點的誤差大小調(diào)整其權重的大小,控制其對結果的影響程度。本文的注意力機制如圖5 所示。首先重復上述CNN-LSTM 過程,設計多個CNN 卷積核進行多SOH估計。將多個SOH估計值作為注意力機制的輸入,通過全連接層和Softmax 函數(shù)計算注意力權值,在各SOH估計值加權整合后輸出SOH的最終估計值。Softmax 函數(shù)如式(8)所示:
圖5 注意力機制
注意力機制除了能夠加權計算更優(yōu)的輸出外,還可以根據(jù)其訓練完成后的注意力權值從各個估計模塊中篩選較為優(yōu)異的CNN-LSTM 子估計模塊,借此能夠得出其中較優(yōu)的用于特征提取的卷積尺寸。
表1 為模型流程表。本文設計了4 個CNN-LSTM 模塊進行SOH初步估算并對其進行加權輸出。數(shù)據(jù)預處理階段,將輸入輸出數(shù)據(jù)進行歸一化處理。由于數(shù)據(jù)采樣間隔為10 s,分別采集15 個電壓、電流、溫度采樣序列作為數(shù)據(jù)輸入。模型每次輸入形為(5×3×15)的電壓、電流、溫度序列數(shù)據(jù),通過模型運算后輸出形為(1,1)的SOH值。即使用前五個時間步的序列數(shù)據(jù)對此時的SOH進行估算。將輸入數(shù)據(jù)復制四份分別輸入卷積核大小為(1×2)、(1×4)、(1×6)、(1×8)的子模塊中,為了挖掘數(shù)據(jù)序列關聯(lián)性,卷積跨度設為1。LSTM 模塊分別接收時間跨度為5,輸入維度為42、36、30、24 的二維特征圖。通過上述各CNN-LSTM 子模塊的計算,分別得到4 個SOH的初步估計值。
表1 模型流程表
在注意力模塊處,為了獲得四個初步估計值整合得到最優(yōu)的估算結果,將4 個SOH估計值率先通過全連接層,全連接層設定為4 輸入1 輸出結構,則能夠獲得其形為[1,4]的權重系數(shù),將權重系數(shù)提出后送入Softmax 層,使權重之和歸化為1,最終加權輸出最終的SOH估計值。為了避免每個子模塊對數(shù)據(jù)輸出的初始貢獻不同,設定全連接層的初始權重參數(shù)為(0.25,0.25,0.25,0.25),隨著訓練的進行,根據(jù)鏈式法則反向調(diào)整權重參數(shù),具體方式如式(9)~(10)所示:
式中:error 為模型設定的MSE 損失函數(shù)值;wi為所在全連接層中的某一個參數(shù);out 為輸出值;η 為學習率,此處設定為0.001。由鏈式法則能夠計算出全連接層中各個參數(shù)對整體誤差產(chǎn)生了多大的影響,最終根據(jù)式(10)更新參數(shù)。全連接層的參數(shù)更新完畢后由Softmax 層歸一化得出注意力權值,注意力權值的大小能夠體現(xiàn)某一個或幾個尺寸下的SOH子結構的輸出更好,對貢獻較低的輸出則會下降其權值。
為了驗證提出的基于注意力機制的CNN-LSTM 鋰離子電池SOH估算方法的有效性,展示了基于上海市電動汽車公共數(shù)據(jù)采集與監(jiān)測研究中心車輛行駛工況數(shù)據(jù)的估算結果。軟硬件有:CPU (intel Core i5-4590 3.3 GHz)、GPU (NVIDIA GeForce GTX 980Ti 4 GB)、RAM (16 GB)、Python 語言下的Pytorch 環(huán)境。
圖6~7 為各方法對鋰離子電池SOH估算的結果與誤差。本文估算方法良好地跟蹤了SOH參考值的退化趨勢,大部分數(shù)據(jù)點誤差保持在1.22%~0.95%以內(nèi)。
各項評價指標如表2 所示,結合圖6~7 可知,3 種算法所建立的鋰離子電池SOH估算模型精度上有一定的差異。LSTM 算法考慮了SOH的時序聯(lián)系性,但是對于輸入數(shù)據(jù)的特征挖掘不夠透徹,該算法雖能夠跟蹤SOH的退化趨勢,然而單個SOH值的估算精度較差。CNN-LSTM 算法估算結果較優(yōu),在兩個測試集上的MAPE達到了1.41%和1.03%,能夠較為精確地跟蹤SOH退化趨勢,驗證了CNN 對序列數(shù)據(jù)較強的擬合能力,然而僅使用了單一尺寸的卷積核,故精度略低于本文方法?;谧⒁饬C制的CNN-LSTM 算法在CNNLSTM 的基礎上加入了注意力權值對多個估算結果調(diào)控,融合了多個卷積尺寸下的估算結果。本文方法的誤差分布除個別數(shù)據(jù)點外,均低于其余方法,各項評價指標均優(yōu)于其他方法。
圖6 20號、25號樣本估算結果
圖7 20號、25號樣本誤差分布
表2 評價指標表 %
本文提出一種基于注意力機制的CNN-LSTM 電動汽車鋰離子電池SOH估算方法。將充電周期內(nèi)的電壓、電流、溫度作為SOH估算方法的輸入,以SOH值作為輸出,直接估算鋰離子電池SOH值?;谏虾J须妱悠嚬矓?shù)據(jù)采集與監(jiān)測研究中心提供的車輛行駛工況數(shù)據(jù)的實驗結果表明,相比LSTM 神經(jīng)網(wǎng)絡和CNN-LSTM 神經(jīng)網(wǎng)絡,本文提出的方法估算精度更高。該方法結合了CNN 對網(wǎng)格化數(shù)據(jù)強大的特征提取能力以及LSTM 對時序數(shù)據(jù)的記憶能力,既挖掘了輸入序列橫向的時序特征,又捕獲了SOH縱向時間序列的關聯(lián)性,能夠更全面地挖掘數(shù)據(jù)特征,基于注意力機制,融合了多個CNN-LSTM 的估算結果,進行了有效且精確的估算。