王軍潔
(淮安生物工程高等職業(yè)學校 計算機系,江蘇 淮安 223200)
在節(jié)能減排、綠色環(huán)保的大背景下,發(fā)展新能源汽車對解決能源和環(huán)境問題以及提高國家的綜合實力都具有非常重要的意義[1-3]。 目前,新能源汽車已經(jīng)成為全球汽車產(chǎn)業(yè)的重要戰(zhàn)略方向。 2020 年國務院印發(fā)《新能源汽車產(chǎn)業(yè)發(fā)展規(guī)劃(2021—2035 年) 》[4],要求深入實施發(fā)展新能源汽車國家戰(zhàn)略,推動中國新能源汽車產(chǎn)業(yè)高質(zhì)量可持續(xù)發(fā)展,加快建設汽車強國。 在政策的激勵下,中國新能源汽車產(chǎn)業(yè)迅速發(fā)展,保有量占全球份額超過50%[5]。 隨著我國新能源汽車產(chǎn)銷量的不斷攀升,作為新能源汽車核心部件的動力電池獲得廣泛關注[6-7]。 動力電池對新能源汽車的性能具有決定性作用,實現(xiàn)對動力電池精確的狀態(tài)估計,包括荷電狀態(tài)(state-of-charge,SoC) 估計和健康狀態(tài)(state-of-health,SoH) 估計,是確保電池管理系統(tǒng)(battery management system,BMS) 對電池包實現(xiàn)安全管理的關鍵所在,因此電池狀態(tài)估計研究已成為近年來交通電氣化研究的熱點[8-10]。
大多數(shù)現(xiàn)有研究可實現(xiàn)SoC 或SoH 的獨立估計。 例如,劉素貞等[11]融合高相關性超聲特征和低復雜性回歸模型提出了一種磷酸鐵鋰電池平臺期SoC 估計方法,實現(xiàn)了不同動態(tài)工況下SoC 估計的均方根誤差和平均絕對誤差分別低于1.9%和1.6%。 黃玉莎等[12]基于二階RC 等效電路建立了一種受控自回歸滑動平均模型,在此基礎上實現(xiàn)了開路電壓(open circuit voltage,OCV) 參數(shù)的高精度在線辨識,并通過預先建立的分段OCV-SoC 曲線逆向查表,實現(xiàn)了SoC 的實時估計。 Zhou 等[13]提出了一種基于信息能量理論和奇異值分解(singular value decomposition,SVD) 的電池SoH 估計方法,首先計算電壓和電流的譜熵,并按照時間順序排列譜熵,構建信息能量矩陣,然后對信息能量矩陣進行奇異值分解以獲得與SoH 具有高度相關性的特征值,最后通過構建的SoH 與特征值間的線性回歸關系實現(xiàn)SoH 的準確估計,結果表明SoH 的平均絕對誤差估計可以控制在2%以內(nèi)。 上述方法雖然可以實現(xiàn)較為精確的SoC 或SoH 估計,但是卻無法實現(xiàn)SoC 和SoH 的聯(lián)合估計,不能為BMS 控制決策提供充分的狀態(tài)信息。 若簡單采用兩套不同算法分別實現(xiàn)SoC 和SoH 的估計,一方面兩套算法相較于一套算法而言,將加重BMS 計算的負擔;另一方面,兩套算法的獨立運行也忽視了SoC 和SoH 之間的耦合關系。 因此,將SoC 和SoH 算法進行簡單疊加無法滿足新能源汽車BMS的實際需要。
為解決上述問題,本研究結合深度神經(jīng)網(wǎng)絡理論,提出了一種可實現(xiàn)SoC 和SoH 聯(lián)合估計的計算框架,通過卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN) 和長短期記憶網(wǎng)絡(long short term memory,LSTM) 挖掘輸入特征量電壓到SoC 和SoH 的耦合映射關系,該方法具有運算量小、精度高等優(yōu)點。
本研究需要解決的問題是在給定固定長度的動力電池充電測試數(shù)據(jù)片段后,根據(jù)數(shù)據(jù)片段信息實現(xiàn)對動力電池SoC 和SoH 的同步估計。 其中,SoC 指的是數(shù)據(jù)片段末端動力電池的荷電狀態(tài),SoH 定義為動力電池當前狀態(tài)下的可用容量。 充電測試的數(shù)據(jù)片段在本研究中特指電池的端電壓數(shù)據(jù),因為目前動力電池組大多采用恒流充電模式,且由于現(xiàn)代BMS 溫控性能較好,充電過程中溫度不會發(fā)生明顯變化,對于可測數(shù)據(jù)電壓、電流、溫度而言,僅電壓數(shù)據(jù)會在充電過程中發(fā)生明顯變化,故輸入數(shù)據(jù)片段僅采用電壓數(shù)據(jù)即可。需要說明的是,模型實際使用時的充電倍率和環(huán)境溫度必須與訓練時的條件相近,即如果訓練時動力電池的充電倍率為1C,恒溫控制為23 ℃,那么實際應用時也應和上述條件相近。
聯(lián)合狀態(tài)估計的深度神經(jīng)網(wǎng)絡架構(圖1) 主要包括1 個輸入層、10 個卷積層、1 個全局平均池化(global averaging pooling,GAP) 、1 個LSTM 層、1 個全連接層(FC) 等,其中卷積層進一步由卷積操作、最大池化以及截斷線性(rectified linear unit,ReLU) 激活函數(shù)組成。
圖1 聯(lián)合狀態(tài)估計的深度神經(jīng)網(wǎng)絡架構Fig.1 Deep neural network architecture for state co-estimation
圖1 中,輸入層即數(shù)據(jù)片段的輸入接口,輸入層長度需要與數(shù)據(jù)片段長度保持一致。 在本研究中數(shù)據(jù)片段長度為500,因此輸入層長度也為500。
卷積操作可以有效提取局部數(shù)據(jù)中的特征信息[14],非常適用于提取電壓數(shù)據(jù)中隱含的與SoC 和SoH 高度相關的特征細節(jié)。 假設Wm表示第m個卷積核(卷積核的長度和高度分別為h和w) 的權重,bm表示對應的偏置項,那么對于數(shù)據(jù)片段輸入D,卷積操作的輸出ym可以表示為
上述卷積操作通過一定的步長在輸入數(shù)據(jù)片段上逐一掃過,從而構成完整的卷積輸出。
最大池化層可以縮減模型的大小,提高計算速度,同時提高所提取特征的魯棒性。 前向傳播時,最大池化層輸出特征圖Y中某一位置的值的輸入特征圖X對應池化窗口的最大值,即
式中:n是特征圖號;c是通道號;h是行號;w是列號;kh,kw∈[1,K],K是池化窗口的邊長。
ReLU 是人工神經(jīng)網(wǎng)絡中常用的激活函數(shù),其數(shù)學定義如下:
即:當輸入大于0 時,ReLU 被激活,可以直接輸出;當輸入小于0 時,ReLU 將被抑制,輸出為0。 ReLU 函數(shù)相比于tanh、sigmoid 等其他激活函數(shù),具有梯度下降及反向傳播效率更高、梯度爆炸和梯度消失問題不易出現(xiàn)、整體計算成本較低等顯著優(yōu)勢。
GAP 本質(zhì)上也是一種平均池化操作,旨在取代經(jīng)典卷積層中的部分全連接層。 GAP 意味著每個輸入特征圖的區(qū)域被當作相應特征圖的輸出[15]。 假設輸入特征圖為n,每個特征圖的大小為m×m,如果使用全連接層,則應將原始圖展平為n×m2的向量。 然而,如果使用GAP 代替全連接層,輸出長度可以減少到n。 從以上分析可以看出,當特征圖較大時,GAP 可以大大減輕計算負擔。 此外,與全連接層相比,GAP 層沒有額外的參數(shù)和復雜的乘法,進一步降低了計算成本。 同時,GAP 層直接規(guī)范了網(wǎng)絡結構,從而緩解了過度擬合問題。
LSTM 是最常用的循環(huán)神經(jīng)網(wǎng)絡結構之一,其關鍵是內(nèi)部狀態(tài)sc。 內(nèi)部狀態(tài)可被視為信息已被添加或已被刪除的載體,這種信息流通過“門”結構進行調(diào)節(jié)。 “門”結構是LSTM 的一個獨特特征,能夠選擇性地對信息進行傳遞。 LSTM 主要包括遺忘門、輸入門和輸出門[16],其結構如圖2 所示。
圖2 長短期記憶神經(jīng)網(wǎng)絡架構Fig.2 Network architecture of the LSTM
遺忘門:LSTM 的第一步是決定丟棄哪些信息,這個決定由遺忘門的sigmoid 層決定,它接受t時刻的輸入x(t)和t-1 時刻的隱藏狀態(tài)h(t-1),并為sc中的每個狀態(tài)輸出一個0 ~1 的數(shù)字。 1 表示完全保留狀態(tài)值,而0 表示完全丟棄值。 例如,對于電池SoC 和SoH 狀態(tài)的估計,丟棄的信息可以是相鄰循環(huán)之間劣化數(shù)據(jù)的異常值、噪聲和冗余信息等。 遺忘門的計算如下:
式中:WfX和Wfh分別表示遺忘門中的輸入權重和狀態(tài)權重;bf表示遺忘門偏置,為sigmoid 函數(shù)。
輸入門:LSTM 的第二步是決定在內(nèi)部狀態(tài)中存儲哪些新信息,該步驟的核心是sigmoid 函數(shù)和tanh 函數(shù),其中sigmoid 函數(shù)決定要更新哪些值,tanh 函數(shù)將創(chuàng)建一個可增加到隱藏狀態(tài)的新候選狀態(tài)向量。 輸入門的計算如下:
式中:WiX和Wih分別表示輸入門中的輸入權重和狀態(tài)權重;bi表示輸入門偏置;WgX和gih分別表示tanh 層中的輸入權重和狀態(tài)權重;bg表示tanh 層偏置。
根據(jù)式(4) 至式(6) 更新內(nèi)部狀態(tài)值:
輸出門:LSTM 的最后一步是決定輸出哪些信息。 在內(nèi)部狀態(tài)sc通過tanh 層后,將其乘以sigmoid 函數(shù)的輸出以獲得剩余狀態(tài)值,即
式中:WoX和Woh分別表示輸出門中的輸入權重和狀態(tài)權重;bo表示輸出門偏置。
全連接層是神經(jīng)網(wǎng)絡中最常見的層,其作用是將輸入空間線性加權后,經(jīng)過ReLU 函數(shù)去線性化,映射到輸出空間。 由于神經(jīng)網(wǎng)絡需要實現(xiàn)SoC 和SoH 的聯(lián)合估計,因而全連接層(即輸出層) 的神經(jīng)元數(shù)量為2,分別代表SoC 和SoH 的估計值。
本研究使用的電池數(shù)據(jù)集由牛津大學于2017 年發(fā)布[17]。 數(shù)據(jù)集包含Kokam 公司生產(chǎn)的8 個小型鋰離子電池,型號為SLPB533459H4,編號為1#至8#,電池外形及性能參數(shù)分別如圖3 和表1 所示。 電池的負極材料是石墨,正極材料是鋰鈷氧化物和鋰鎳鈷氧化物的混合物。
表1 電池性能參數(shù)Tab.1 Configuration parameters of the battery
圖3 電池外形參數(shù)(單位:mm) Fig.3 Size of the battery(unit: mm)
電池均在40 ℃恒溫箱中進行測試。 所有電池首先進行恒流-恒壓(constant current-constant voltage,CCCV) 充電,然后進行城市工況Artemis 曲線的循環(huán)放電,每100 個循環(huán)進行一次特性測試,包括1C(電流為740 mA) 和pseudo-OCV(電流為40 mA) 循環(huán)測試。 測試過程中以1 Hz 的頻率記錄數(shù)據(jù),包括電壓、溫度和電量。 圖4 給出了第100 次循環(huán)時1#電池的記錄數(shù)據(jù)[18]。
圖4 第100 次循環(huán)時1#電池的記錄數(shù)據(jù)Fig.4 Data record of battery 1#at 100th cycle
pseudo-OCV 測試最重要的作用是提供校準容量。 pseudo-OCV 測試時的激勵電流非常小,在這種情況下僅約為1/18C,充電和放電測試時的平均累積電量可以定義為實際容量。 因此,根據(jù)圖4 所示的結果,第100 次循環(huán)時1#電池的實際容量可以校準為(739.2+734.8) mA·h/2=737 mA·h。
圖5 顯示了基于pseudo-OCV 測試計算的8 個鋰離子電池的容量衰減情況。 從圖5(a) 可以看出:前1 500 次循環(huán),8 節(jié)電池的容量衰退基本一致,說明電池在使用早期時一致性相對較好。 然而,隨著電池的老化,容量差異逐漸擴大,如圖5(b) 所示。 特別地,由于未知原因,5#電池在末期出現(xiàn)異常退化,容量突然下降表明5#電池內(nèi)部可能出現(xiàn)某些故障。 為避免此處可能引入的誤導性結果,后續(xù)訓練或測試數(shù)據(jù)集中不包括5#電池末期的數(shù)據(jù)。
圖5 實驗中8 個鋰離子電池的容量衰減情況Fig.5 Degradation of the eight Li-ion batteries
對于SoC,可以用圖4 中的電量來表示,如圖4(b) 所示。 由于實驗中采用恒流充電,電量線性增加,也反映出SoC 在線性增加。
表2 給出了網(wǎng)絡各層的詳細結構參數(shù)。 對于最大平均池化層、ReLU 層和GAP 層,沒有特殊的超參數(shù);對于LSTM 層,設置了4 個隱藏層單元數(shù);對于全連接輸出層,如前所述采用ReLU 激活函數(shù)且輸出維度為2。
表2 卷積神經(jīng)網(wǎng)絡各層的詳細參數(shù)Tab.2 Detailed information about convolutional layers in the proposed mothod
模型驗證流程如圖6 所示,訓練數(shù)據(jù)集為1#至6#電池,測試數(shù)據(jù)集為與訓練集不同的7#和8#電池,以驗證模型的泛化能力。 首先用1#至6#電池訓練深度神經(jīng)網(wǎng)絡,獲得網(wǎng)絡參數(shù),然后將7#和8#電池的電壓數(shù)據(jù)輸入神經(jīng)網(wǎng)絡,獲得估計的電池容量,再與數(shù)據(jù)集中電池的標定容量進行對比,以獲得模型的估計誤差。
圖6 模型驗證流程Fig.6 Flowchart of model verification procedure
采用Adam 算法來訓練網(wǎng)絡,學習率最初設置為0.2,并且以指數(shù)形式隨著訓練的進行而逐漸減少,每訓練10 輪,將學習率乘以0.99,以獲得更好的網(wǎng)絡收斂性能[19]。 訓練時最大訓練輪數(shù)為5 000,每次訓練的樣本個數(shù)設置為2 048。 訓練用的電腦CPU 為Intel 酷睿i7-12700F@ 4. 9 GHz,GPU 為NVIDIA GeForce RTX3060,訓練時間持續(xù)約148 h。 需要說明的是,盡管訓練持續(xù)時間很長,但在網(wǎng)絡訓練完成時,用于預測的時間非常短。 給定長度為500 的輸入數(shù)據(jù)段,執(zhí)行一次聯(lián)合估計只需要約0.69 ms。 因此,該方法有望應用于計算能力有限的車載BMS。
為進一步說明本方法在精度方面的優(yōu)勢,將本方法與5 種先進的機器學習算法進行比較,包括將本方法中LSTM 層刪除的純CNN、支持向量回歸(support vector regression,SVR)[20]、集成學習(ensembling learning,EL)[18]、多層感知器(multilayer perceptron,MLP)[21]和決策回歸樹(regression tree,RT)[22]。 5 種方法效果評估流程均類似圖6,對比時采用和本方法相同的訓練集和測試集。 另外,由于SVR 和RT 方法無法同時給出2 個輸出,即無法實現(xiàn)SoC 和SoH 的聯(lián)合估計,所以SoC 和SoH 的估計是采用兩套模型完成的。 6 種方法在測試集上的平均誤差如表3 所示。 實驗結果表明,本方法可以實現(xiàn)較為精確的SoC 和SoH 聯(lián)合估計,SoC 和SoH 的估計均方根誤差分別是12.09 mA·h 和10.89 mA·h,僅為標稱容量的1.63%和1.47%。
表3 不同方法在測試集上的SoC 和SoH 聯(lián)合估計誤差Tab.3 Joint SoC and SoH estimation error of different approaches on testing dataset
從表3 可以看出:無論是SoC 還是SoH,本方法均表現(xiàn)出6 種方法中最高的估計精度。 對比CNN 方法可以看出,引入LSTM 層有效地捕捉了電池動態(tài)特性數(shù)據(jù)中的時域關聯(lián),因而精度有一定程度的提升,其他方法無論是估計誤差的平均值還是方差,均不如本方法,說明本方法在估計精度方面具有顯著優(yōu)勢。
本研究針對車用動力電池SoC 和SoH 的聯(lián)合狀態(tài)估計需求,提出了一種融合CNN 和LSTM 的聯(lián)合狀態(tài)估計方法,克服了傳統(tǒng)方法無法解析SoC 和SoH 耦合關系的不足。 利用深度神經(jīng)網(wǎng)絡特征自提取功能,構建了從可觀測電壓數(shù)據(jù)片段輸入到SoC 和SoH 的映射模型,實現(xiàn)了SoC 和SoH 的快速、高精度聯(lián)合估計。 對所提方法在電池測試數(shù)據(jù)集的1C充電數(shù)據(jù)上進行了驗證,結果表明SoC 和SoH 的估計均方根誤差分別是12.09 mA·h 和10.89 mA·h,分別僅為標稱容量的1.63%和1.47%,優(yōu)于CNN、SVR、EL、MLP、RT 等機器學習算法。