周仁, 張向文,2*
(1.桂林電子科技大學電子工程與自動化學院, 桂林 541004; 2. 廣西自動檢測技術與儀器重點實驗室, 桂林 541004)
為了應對燃油車帶來的環境污染和能源危機問題,世界各國都在積極推動和發展新能源汽車,特別是純電動汽車的研發和推廣應用。純電動車擁有零排放、零污染、成本低等優勢,在中國被確定為七大戰略性新興產業之一[1]。純電動汽車的關鍵技術在電池、電機、電控3個方面,而電池的能量密度遠低于汽油,這嚴重影響了純電動汽車的行駛速度和續航里程,而電池的老化也制約了純電動汽車的使用壽命。另外,電池的成本在整車中占比1/3[2]。隨著使用時間、充放電次數和極端工作溫度影響而出現老化現象,依據IEEE Std 1188—1996標準規定,當動力電池的儲能能力下降到出廠容量80%時達到報廢標準,應及時更換電池[3]。因此,對電池健康狀態(state of health, SOH)的準確估計,對延長動力電池的使用壽命和降低電動汽車的使用成本具有重要的現實意義和實用價值。
目前,電池SOH估計的主要方法包括實驗法、模型法、數據驅動法和大數據分析法四類[4-5]。
實驗法包含定義法、內阻法、電化學分析法、容量衰減法、部分放電法和阻抗譜分析法,這些方法不方便實車在線應用,在近幾年中使用頻率越來越低。
模型法基于壽命衰減模型、經驗模型和等效電路模型,通過數學模型結合各類濾波器與估計算法來進行SOH的估計,美國阿克倫大學的Hashemi等[6]提出一種在線參數估計方法,該方法通過該參數估計器提出一種自適應滑模觀測器來估計實車電池容量,可針對溫度變化對電池SOH估計精度進行修正,但其溫度補償公式效果較差,實際電池SOH的估計誤差在1.3%以上。
數據驅動法,國內方面,武漢理工大學的楊勝杰等[7]對電池剩余容量(state of capacity, SOC)切片分區,使用容量增量分析法 (incremental capacity analysis, ICA)提取的特征進行SOH預測,該研究選用NASA數據集中的四組電池,提取IC曲線特征基于高斯回歸建立預測模型,很好地量化了SOH與IC曲線特征參數的關系,但是僅選取IC曲線的特征作為特征輸入,得到的預測結果精度較低,其均方根誤差(root mean squard error,RMSE)為2%;國外方面,法國巴黎-薩克雷大學的Mawonou等[8]開發了兩種新的老化指標,使用充電和駕駛期間采集的數據,結合實際用戶行為和環境條件,使用隨機森林算法來對電池老化進度進行預測,對實車電池SOH的估計誤差在1.27%左右,但這兩種指標的具體提取方式并未標明,該指標與電池SOH的相關性有待考究。
大數據分析法是一種新興方法,國內方面,北京航空航天大學的宋林軍等[9]提出了基于互聯網平臺在線大數據的SOH估計方法,在原有數據的基礎上從歷史運行數據中提取的運行狀況特征進行SOH預測,對不同駕駛模式下700輛電動車的監測數據集進行了測試驗證,對不同類型車輛的適應性較好,但是該方法對SOH的估計誤差較大,預測結果的RMSE為4.5%;國外方面,美國北達科他州立大學的Phattara等[10]使用機器學習算法基于大數據分析,采用深度神經網絡方法對鋰離子電池的SOH和剩余壽命進行預測,使用了NASA Ames大數據卓越中心數據庫采集的實車動力電池數據集,并將結果與支持向量機、最近鄰分類、人工神經網絡和線性回歸等算法進行比較試驗,估算結果的RMSE在5%以內,該方法在保證樣本適應性的同時,估計精度較低,大數據分析法精度受車輛類型影響較大,且需要體量較大的大數據平臺提供數據采集服務,不利于常規性的研究,該方法發展到成熟還需要一些時間。
目前的SOH估計方法大部分都是使用實驗室數據,這些數據一般在規定的溫度和充放電電流下進行測試獲得,具有很好的連續性和完整性。通過前面的分析可以看出,由于實際電池的循環老化壽命受到很多因素的影響[11-12],地域溫度不同、快慢充電流、非滿充滿放循環、數據采集丟失等原因都會造成估計的誤差,因此,利用實際數據進行SOH估計的難度較大。
現利用實車數據進行SOH估計研究,通過對原始數據的清洗、篩選、填充缺失值等一系列預處理,對不同類型車輛數據進行車型分類,得到規范化的車輛數據,然后使用ICA方法提取出IC峰值與對應電壓位置的特征參數,進行數據特征的相關性分析和特征選擇,隨后,利用穩定性高的反向傳播-自適應推進(back propagation-adapt boost,BP-AdaBoost)算法進行數據訓練,建立數據特征和SOH之間的聯系,最后,進行SOH估計算法的驗證。以期滿足基于實車測試數據的SOH估計精度要求,具有一定的應用價值。
使用的數據集來源于國家大數據聯盟NCBDC(National College New Energy Vehicle Big Data Application Innovation Competition)比賽的實車數據,包含京滬兩地10輛在運行的車輛2018年3月—2020年3月收集的數據,時間跨度高達24個月。該數據集以《電動汽車遠程服務與管理系統技術規范》(GB/T 32960—2016)為基礎,大數據平臺數據采樣周期為10 s,得到總計1 600萬行17列的數據樣本。監控數據包括車輛ID、數據采集時間、車輛狀態、充電狀態、車輛運行模式、車速、累計里程、總電壓、總電流、SOC、電池單體電壓最高值、電池單體電壓最低值、最高溫度值、最低溫度值、最高報警級別和報警標志定義數據。通過對車輛的數據特征和計算容量的分析,10輛車可以分成A、B、C、D 4個類型,為了簡化分析,后續研究以C類三輛車為例,利用C類三輛車car5、car6、car9的充電數據進行研究。
原始數據繁多且雜亂,基于大數據處理的思維建立了一個完整的數據預處理模型,獲取電池的容量和數據特征。預處理模型分為數據處理和容量處理兩部分。
1.2.1 數據處理步驟
步驟1遍歷數據集,根據車輛標識符把數據集分為不同車輛類型的數據集。
步驟2把每一輛車的時間數據類型由數值型轉換為時間類型,方便后續操作,同時根據時間序列對車輛數據進行排序。
步驟3根據車輛狀態、充放電數據、行駛里程和 SOC等相關數據,提取車輛的充電和放電片段。
預處理模型流程如圖1所示。

圖1 預處理模型流程圖Fig.1 Flowchart of the preprocess model
1.2.2 容量處理步驟
步驟1對選用車輛數據特征進行規范化處理,根據片段內的充電電流和時間數據,區分快充和慢充行為,并使用安時積分法計算每次循環充入的容量。
步驟2將快慢充數據處理合并成同一個時間序列下的完整充電容量數據。
步驟3通過溫度補償函數對容量數據進行溫度容量補償。
步驟4通過箱型圖法刪除誤差較大的容量結果,去除異常數據。
步驟5將首次充電數據設為出廠容量,定義此時的電池SOH為100%,后續的容量數據基于此標準轉換為電池SOH特征,從而獲得完整的可用容量數據集。
由于采集頻率和使用工況等一系列不可控因素影響,實車數據準確度不高,質量較差,為了提高估計結果的精度,需要對原始數據進行規范化處理,將離散、雜亂、低質量的數據規范為便于使用的高質量數據。
數據規范化的過程如下。
(1)通過時間數據的識別對重復采樣點進行合并處理。
(2)使用箱型圖對超出邊界的電壓電流數據進行剔除。
(3)針對所屬不同類型的空白值數據,選用合適的插值函數進行插值填充。
(4)刪除部分缺失過大的數據。
(5)最后進行交叉驗證,確認每一列的基礎數據都能符合規范。
(6)將電壓、電流和時間數據的單位分別統一到伏(V)、安(A)、秒(s)。
實際車輛使用過程中存在快速充電和慢速充電的充電行為,對電池實際容量的確定存在一定的干擾[13],不同車型受到的影響程度不同,需要單獨分開處理。以C類車為例,可以通過完整充電過程的平均電流數據和總充電時間數據來劃分快充和慢充,根據describe函數設定充電電流閾值為20 A、充電時間閾值為1.5 h,來綜合區分car5的快慢充行為片段,結果如圖2所示。

圖2 兩種充電行為下的電壓和電流變化曲線Fig.2 Voltage and current curves under two charging behaviors
由圖2可以看出,慢充過程耗費的時間是快充的4~5倍,快充過程平均電流是慢充過程平均電流的4~5倍。另外,慢充過程大部分充電電流較為穩定,不存在過大波動,可以直接使用,但是快充過程充電電流變化過大和充電過程較短,不利于平均濾波,需要對通過安時積分獲取的容量結果進行進一步處理。
容量數據是一個重要的特征量,但是,原數據集沒有給出,可以通過SOC數據、汽車充電行為數據和電流數據進行求解。由于實車數據都不是完整的充放電過程,放電數據由于實際運行工況的離散程度過高且連續性較差,難以清晰得到SOH相關的有效數據,而充電數據均采集于停車時的充電過程中,相對穩定,干擾因素也較少,因此,將其作為容量標定的特征數據。實際使用中,車主很少在SOC偏低時進行充電,也很少完全充電,這導致充電開始和結束時的SOC都不相同,最后根據數據量分布情況,選取在SOC位于40%~80%段的數據進行分析,該段電壓電流變化相對穩定且具有代表性,用此段數據結合安時積分法得到每次循環過程中的電池容量,根據獲取的電池容量,可以進行SOH的估計,計算公式為
(1)
式(1)中:Qnow-max為電池當前循環時SOC位于40%~80%的最大可用容量;Qnew-max為電池第一次循環時SOC位于40%~80%的最大可用容量。
通過安時積分得到容量數據,然后利用式(1)標定電池SOH,積分容量結果與采樣時間有關,數據采集平臺的采樣周期存在少量差異,其中采樣周期為10 s的數據占97%以上,采樣周期的變化會引起容量計算的誤差[13],其中的關系如表1所示。
表1中采樣周期為1 s和10 s的數據對結果的影響較低,為了確保最后得到優質、準確的SOH特征,在充電行為判斷中對分段數據內間隔大于10 s的數據進行刪除,保留間隔較小的數據。缺失較少的電流數據使用前后插值、平均插值、函數插值等方法進行填充,電流和時間缺失過多的充電次數僅保留時間值,容量積分結果進行剔除以免出現過大誤差。

表1 采樣周期與容量估計誤差Table 1 Sampling period and capacity estimation error
不同類型車輛受到快慢充行為的影響程度不同,C類車受到不同充電行為的影響最小,該類型車輛的快慢充容量結果在處理后能夠統合成一個數據集,例如car5的快慢充容量結果如圖3所示,隨著電池循環次數增加有明顯的容量下降趨勢。
圖3中快充容量和慢充容量變化曲線相似,容量值也屬于同一量級,可以對car5的快慢充容量結果進行歸一化處理,考慮到實際運行過程中快充行為和慢充行為交替進行,按照時間序列將快慢充合并為一個完整的循環老化過程。
除了充電電流的影響之外,數據時間跨度高達兩年,實際運行環境的溫差較大,考慮到電池溫度對容量造成的影響,對初步計算得到的容量結果進行溫度容量補償操作。根據實車數據,結合文獻[11]相同特征的經驗公式,經過數據擬合得出合適的對數函數模型為
K=-0.068 3lgT+0.790 9
(2)
QT=QK
(3)
式中:T為某次循環電池組的平均溫度, ℃;K為溫度補償系數;Q為安時積分法得到的容量;QT為溫度修正后的容量。兩個常數-0.068 3、0.790 9通過實驗測試結果進行擬合得到。

圖3 car5的快慢充容量結果Fig.3 Fast and slow charging capacity results of car5
數據集中沒有單體溫度高于40 ℃或者低于0 ℃的數據,所以不考慮過高溫度帶來的容量下降因素。通過單體最高溫度和最低溫度計算得到平均溫度數據,作為溫度補償函數的修改依據。基于式(2)和式(3),可以得到溫度修正后的結果如圖4所示。
由圖4可以看出,相對于溫度修正之前的快慢統合結果,經過溫度修正后的結果波動更小。安時積分法得到的容量結果在40次循環時存在異常,主要原因是car5在40次循環時最低溫度為0 ℃,導致實際充入電池的電量過少,反之,較高環境溫度時則會充入比平時更多的容量。對此類數據進行溫度補償后,電池容量數據均方差有所降低,比僅僅使用安時積分法得到的容量數據更加符合容量衰退規律,在一定程度上修正了溫度變化所帶來的誤差。

圖4 添加溫度補償后的容量對比Fig.4 Capacity comparison after adding temperature compensation
動力電池的充放電過程是非常復雜的電化學變化過程,測試數據的特征與電池SOH之間具有較高的關聯性,其中IC曲線的峰值點與電池的反應速率和儲能能力有關[14-15]。ICA方法不僅適用于車載動力電池的低倍率充電過程,也同樣適用于高倍率充電過程[16],選取車輛的快充和慢充數據不會造成ICA結果出現誤差,且選取的車輛數據都是在恒流充電情況下采集的,所以可以通過分析充電過程中的IC曲線峰值高度與對應電壓關系得到與電池SOH相關的特征。以car5的數據為例,基于ICA方法,每間隔20次循環提取一次循環的IC曲線,并且通過高斯濾波器對噪聲進行平滑處理,該處理目的是為了找到明顯的IC峰值點,然后根據該峰值點選取原數據坐標,并不會影響數據的真實性,最終得到容量增量峰值與對應電壓位置變化的關系曲線如圖5所示。
由圖5可以看出,容量增量峰值隨循環次數增加而有所降低,峰值對應電壓位置隨循環次數增加在一定程度上右偏。第80次循環峰值不明顯,出現平臺區的原因是部分慢充過程時間較長,電壓變化緩慢,而第100次循環峰值存在左偏異常,是由于快充過程充電電流的波動較大導致的。
新提取的特征需要進行關聯度分析[15],通過皮爾森相關系數法對該特征參數與SOH進行相關性分析,car5的峰值和對應電壓位置數據與電池SOH的關聯度分別為0.895 8和0.813 4,因此,這兩個特征都可以作為模型估計的特征參數。
除了上述的ICA特征之外,為了降低實車數據中部分合理的強噪聲對單一特征預測結果穩定性的影響,同時也為了提高模型估計精度,選取了實車數據充電過程中的一段充電數據的容量樣本作為特征樣本輸入,綜合數據分布的可視化分析和真實充電行為的特征分析,最終選定每次充電循環中SOC在50%~60%段的累計充入容量作為容量樣本,該段充電過程中容量、電壓和電流數據變化趨勢最為平緩,且片段長度較短不會導致過擬合現象。由于其本身就是與SOH計算相關的一部分數據,所以不需要進行相關性分析。

圖5 電池IC曲線Fig.5 IC curve of battery
長短期記憶-循環神經網絡(long short term memory-recurrent neural network,LSTM-RNN)模型廣泛地用于數據預測研究,其結構為多個LSTM單元構成的RNN模型,可以有效地捕捉連續性數據在時間維度上的長期和短期特征依賴,電池老化過程屬于時間序列問題,該類問題使用LSTM-RNN模型的效果較好[17],但這種算法的魯棒性較差,多次預測結果之間均存在1%~3%的不一致預測結果。
在使用實車運行數據集進行數據處理時,對影響SOH結果且占此次循環數據總量不超過5%真實數據都予以保留,視為可用數據,反之視其與SOH的相關性進行處理或直接剔除。故而部分循環數據在實際數據集中并不是連續的,且實際運行數據的工況較為復雜且數據量巨大,出現部分狀態正常但數據結果離群值較大的正常數據,該類數據存在有隱含特征,讓依賴記憶前期數據特征的LSTM-RNN模型的預測結果受到較大的影響。后通過對該類數據結果的微觀分析發現,實車數據存在日常使用下的隔夜不滿充滿放行為以及不規律用電帶來的電池長時間靜置等問題,導致前后兩次充放電循環過程的數據時間性關系較差,數據特征在時序性上出現跳躍性的波動,所以預測結果在出現較多的離群點數據后,LSTM-RNN算法的預測結果往往會連續出現一系列誤差。
針對這一問題,選擇了與實車數據問題類似的股票價格預測問題中較為新穎的AdaBoost算法,對實車數據結果進行預測,最終結果表明,該算法可以較好地處理不規律數據變化問題[18]。使用BP-AdaBoost算法通過疊加法以AdaBoost算法為框架,以反向傳播(back propagation,BP)算法為弱預測器,優化樣本節點和弱預測器的權重,最終得到強預測模型。BP-AdaBoost算法可以利用n個BP網絡組成的弱預測器,最快速地挖掘數據特征,然后通過優化提升權重分配將多個弱預測器的輸出結果合并輸出,最大程度降低數據噪聲對學習效果的影響,提升估計效果。同時對輸入特征要求也不高,不需要額外進行特征篩選,強預測器可以彌補弱預測器由于誤差積累所帶來的缺陷,因此,將BP-AdaBoost算法應用于基于實車數據的電池SOH估計研究。
BP神經網絡是一種常用的神經網絡,其原理是通過數據信號的正向傳播與誤差的反向傳播來學習數據集內在關聯特征。BP神經網絡結構簡單,僅由輸入層、隱藏層和輸出層組成,解決回歸問題具有準確率高和訓練速度快的優點,適合用于構建AdaBoost算法中的弱預測器。負反饋過程中該網絡對每一個樣本輸出的結果y,都會通過式(4)計算其與預期結果Y的誤差率Er,即
Er=(Yr-yr)2
(4)
式(4)中:r為輸入網絡的第r個樣本。對所有樣本的均方誤差進行求和,得到BP神經網絡的目標函數,為了得到最優的結果,只需要最小化式(5)中的誤差函數Ek,即
(5)
式(5)中:M為樣本總量。BP網絡中局部數據的誤差不會對全局結果造成很大影響,適用于消除真實數據中強噪聲對后續預測結果的影響,也是選擇該神經網絡構造AdaBoost模型弱預測器的原因。結構上通過使用AdaBoost算法規則組合n個BP網絡為強預測器,有效改善了 BP 神經網絡自身容易過擬合停留在局部最優的情況,提高了整個模型全局搜索能力。為了提高模型預測精度,最終模型的輸入樣本包括容量樣本和ICA特征樣本,這兩種特征在迭代過程中的權重采用分開分配的策略,其實現過程如圖6所示。具體步驟如下。
步驟1導入容量樣本集和特征樣本集,對其簡單規范化預處理后,輸入由BP神經網絡構成的弱預測器,利用car5數據集中124次充電循環數據來訓練模型,每一個初始訓練樣本點最開始的權重W1=1/124,在此樣本權重下得到x1,通過x1訓練得到一個基本預測器H1,設置一個期望的誤差區間,根據H1對樣本的預測結果與真實值y進行比對,判斷預測結果是否在誤差區間內,從而對樣本進行分類并進行權重更新。預測失敗的樣本數據,提高數據樣本權重,使其更貼近真實值,已經預測成功的樣本數據,則降低權重,不對其分類結果進行修改。

圖6 BP-AdaBoost算法流程圖Fig.6 Flowchart of the BP-AdaBoost algorithm
步驟2根據新的權重分布訓練弱預測器Hn,將數據迭代m次,每次迭代中都進行樣本權重更新。同時將每一次BP網絡的預測結果與真實容量進行對比,根據樣本預測結果對樣本權重進行更新,樣本權重更新公式為
(6)
(7)
式中:Wmn為第m次迭代第n個預測器輸入的樣本權重;Hn為表示第n個預測器;Zm為標準化因子;an為弱預測器的權重;n為預測器的數量;y為電池SOH的真實值。
步驟3計算BP網絡預測結果與真實容量的誤差率E,作為最終弱預測器權重更新的依據,完成m次迭代后,將所有的弱預測器結果綜合加權得到強預測器模型,該算法能夠修正一部分實車容量數據問題帶來的偏差,提高模型收斂速度,穩定預測結果,比較適合實車電池SOH的估計模型,弱預測器Hn的權重更新公式為
(8)
式(8)中:En為第n個預測器的誤差率。
首先,BP-AdaBoost模型根據樣本點的預測結果進行樣本權重的迭代修改;其次,根據每次BP網絡的誤差率給所有的BP網絡分配權重;最后,得到基于BP神經網絡融合AdaBoost算法的電池SOH強預測器模型。
為了驗證設計算法的有效性,建立了BP-AdaBoost模型,利用同一類型3車輛的car5、car6和car9的實車數據進行訓練、驗證和測試,數據量比例約為2∶1∶1。為了防止循環次數長度干擾模型預測,car9數據量最大作為訓練集,car6作為驗證集,用于在預測過程中對參數進行尋優輔助模型建立,car5作為最后的測試數據。作為對比,同時建立了LSTM-RNN模型,利用相同的訓練數據和測試數據進行驗證。
利用car5的數據進行測試的結果如圖7所示,可以看到LSTM-RNN模型前20次循環預測結果誤差較大,全過程中的預測值普遍高于真實值,且對于波動較大的實車數據,無法很好地對其進行預測,特別是在電池SOH下降速度較快的98%~94%部分。這是由于LSTM-RNN中的梯度優化過程受到數據噪聲影響,并且實車數據的循環時間不是等距序列,間隔增大時LSTM會失去學習信息的能力,導致誤差增大,從而影響模型估計精度。

圖7 兩種方法估計結果Fig.7 Prediction results of two methods
BP-AdaBoost模型在數據開始階段,估計誤差同樣較大,預測結果出現稍許滯后現象,通過樣本權重的再分配,有效地消除了波動較大數據對結果的影響,能夠很好地貼近實車數據結果,隨著弱預測器權重的迭代修正能夠很好地提高模型穩定性,多次預測結果相差極小,且隨著迭代次數增加,效果進一步提高。
兩種算法模型在電池老化循環剛開始時的估計誤差均保持在較低范圍,但是LSTM-RNN模型在電池SOH出現較大變化后,對實車電池SOH的估計精度明顯降低,而BP-AdaBoost模型的估計精度能在出現波動后迅速平復,相比之下誤差更低。為了更清楚地顯示兩種方法的估計結果變化,繪制兩種算法的估計誤差曲線如圖8所示。
圖8中,LSTM-RNN模型受到真實數據驟降影響,在第50次循環之后誤差普遍較大,表明該模型的抗噪聲能力較差。BP-AdaBoost模型總體效果較好,穩定性強,大部分預測結果均方根誤差在0.9%以下,雖然受到第90次循環真實值驟降的影響,后續預測結果出現波動,但能通過權值修改在一定程度上降低部分突變數據的影響。因此,BP-AdaBoost模型對于實車數據噪聲的抗干擾能力較強,穩定性較好,能夠對電池SOH進行準確的預測。為了更全面地比較兩種算法的估計結果,分別計算了RMSE、平均絕對誤差(mean absolute error,MAE)、平均絕對百分比誤差(mean absolute percent error,MAPE),結果如表2所示。

圖8 兩種方法結果誤差Fig.8 The result error of the two methods

表2 兩種方法評價指標對比Table 2 Comparison of evaluation indexes of two methods
由表2可以看出,相比于LSTM-RNN模型,BP-AdaBoost模型的3種評價指標較低,BP-AdaBoost模型的均方根誤差為1.116%,相比于LSTM-RNN模型降低了4.4%,其平均絕對誤差表現最好,誤差精度達到了0.963%,相比于LSTM-RNN模型降低了3.629%,而平均絕對百分比誤差為1.009%,相比于LSTM-RNN模型降低了3.664%。綜合3種評價指標,BP-AdaBoost模型在實車數據的電池SOH估計上效果更好、精度更高。
基于實車數據對電動汽車動力電池SOH估計算法展開研究,結論如下。
(1)使用大數據分析的處理方法,對京滬兩地實際運行的電動汽車數據進行數據預處理,得到符合模型估計精度的動力電池容量數據,在此基礎上進行溫度容量補償和汽車快慢充電的容量修正,降低了數據分布的離散性,最終在保證數據真實性的情況下,得到了新的可用于模型預測的實車運行數據集。
(2)同時使用容量特征和數據特征作為測試樣本輸入,容量特征使用了電池SOC在50%~60%段累計充入的容量,數據特征則通過ICA方法尋找電池IC曲線峰值和對應電壓位置參數得到,并驗證了該特征參數與SOH之間具有高關聯度,可適用于實車數據預測。
(3)針對實車數據部分不可處理的強噪聲和時序性差的問題,使用BP-AdaBoost算法進行SOH的估計,BP-AdaBoost模型對同一類車型表現出良好的適應性,預測結果更加貼近真實值,表現最好的MAE評價指標達到0.96%,可以滿足實際工況下的電動汽車動力電池SOH估計精度要求。