鮑 偉,葛建軍
(合肥工業(yè)大學電氣與自動化工程學院,合肥 230009)
鋰離子電池的荷電狀態(tài)(state of charge,SOC)[1]是電池的一項重要參數(shù),它反映了電池剩余容量與額定容量的比值。SOC對于電池的充放電管理、均衡管理以及電池健康狀態(tài)診斷、有效避免過度充放電等導致的電池使用壽命縮短的問題等都具有重要意義。但是SOC并不能通過傳感器測量而直接獲得,需要通過算法估計。
目前估計電池SOC的方法主要有放電實驗法、安時積分法、開路電壓法和等效電路法等[2-6]。放電實驗法需要大量時間,電池進行的工作需要被迫中斷,不適用于行駛中的電動汽車;安時積分法必須要考慮電池充放電效率,且在高溫狀態(tài)和電流變化劇烈的情況下,誤差較大;開路電壓法需要對電池長時間靜置,單獨使用時只適用于電動汽車駐車狀態(tài);等效電路法在建立電池數(shù)學模型時需要考慮電池內(nèi)部復雜的物理化學反應,比較繁瑣。近年來,由于計算機技術(shù)的迅速發(fā)展,數(shù)據(jù)驅(qū)動的方法得到了廣泛的應用。數(shù)據(jù)驅(qū)動思想[7]指利用受控系統(tǒng)的在線和離線數(shù)據(jù),實現(xiàn)系統(tǒng)的基于數(shù)據(jù)的預報、評價、調(diào)度、監(jiān)控、診斷、決策和優(yōu)化等各種期望功能。劉征宇等[8]基于 QPSO-BP神經(jīng)網(wǎng)絡的方法對鋰電池的SOC進行了預測,尹安東等[9]基于自適應模糊神經(jīng)系統(tǒng)對鋰電池SOC進行了預測,都有較好的預測精度。但是上述SOC估計預測算法,需要的電池相關(guān)數(shù)據(jù)的采樣周期非常短,譬如10 ms,數(shù)據(jù)較為稠密。一旦采樣周期變長,估計的準確度就會下降。
隨著智能網(wǎng)聯(lián)和云平臺技術(shù)的不斷發(fā)展,越來越多的電動汽車將整車特別是動力電池的關(guān)鍵數(shù)據(jù)上傳到云平臺上,方便科研和技術(shù)人員對整車狀態(tài)進行良好把控,通過算法對某些潛在故障進行提前預警。如果能夠利用上傳的電池數(shù)據(jù)對未來時刻的SOC值進行合理的預測,并與實際上傳的BMS估計的SOC值進行相互佐證,則對于電池系統(tǒng)的云平臺在線診斷有著十分重要的意義。然而受到上傳數(shù)據(jù)量、無線通信速率和流量等因素的限制,目前整車數(shù)據(jù)的上傳周期為幾十秒,時間維度數(shù)據(jù)較稀疏。因此上述在實驗室或整車上使用的SOC估計預測算法無法估計準確的SOC值。
本文中深入分析并利用電池數(shù)據(jù)監(jiān)控云平臺電池數(shù)據(jù)庫中存儲的稀疏采樣的電池數(shù)據(jù),結(jié)合支持向量機(SVM)與貝葉斯優(yōu)化算法,提出了基于稀疏采樣數(shù)據(jù)驅(qū)動的電動公交車電池SOC單步預測方法和自主預測方法,具有較高的預測精度,在理論和工程應用上都具有重要的意義。
以某公交公司電動公交車云平臺系統(tǒng)為例,整車實時采樣動力電池運行過程中的關(guān)鍵數(shù)據(jù),并將采樣得到的數(shù)據(jù)通過車載終端實時上傳到電池數(shù)據(jù)監(jiān)控云平臺的電池數(shù)據(jù)庫中,電池數(shù)據(jù)的上傳周期為30 s,電池數(shù)據(jù)監(jiān)控云平臺如圖1所示。
圖1 電池數(shù)據(jù)監(jiān)控云平臺
電池數(shù)據(jù)云平臺根據(jù)其電池數(shù)據(jù)庫中所存儲的稀疏采樣的電池數(shù)據(jù),如電壓、電流和溫度等來對電池的狀態(tài)進行有效監(jiān)控。電池數(shù)據(jù)監(jiān)控云平臺的電池數(shù)據(jù)庫中存儲的數(shù)據(jù)主要包括采樣時間、電池管理系統(tǒng)(BMS)估計的真實 SOC值、電池組的總電壓、電流、總裝機容量、剩余容量和每個模組的溫度值等,如表1所示。
表1 電池數(shù)據(jù)庫主要數(shù)據(jù)
2.1.1 預測變量與輸出變量的選取原則
SOC值的變化與電池的總電壓、電流等明顯相關(guān),又由于環(huán)境溫度的變化會影響電池內(nèi)部化學反應的快慢,從而導致SOC變化的快慢,所以模組的溫度也是影響因素之一。另外,下一時刻的SOC值必然與當前時刻的SOC值密切相關(guān)。所以,為預測第t+1個采樣時刻的SOC值,選取第t+1個采樣時刻總電壓值 Ut+1,電流值 It+1,模組溫度均值 TempAt+1,第t個采樣時刻電池組的SOC值SOCt作為預測變量,選取第t+1個采樣時刻的 SOC值 SOCt+1為輸出變量。
2.1.2 數(shù)據(jù)預處理
共選取30 000組樣本數(shù)據(jù),由于采樣獲得的數(shù)據(jù)中只包含第t個采樣時刻編號為m的模組溫度值Tempt(m),所以首先求取第t個采樣時刻所有模組的溫度均值TempAt。
式中M為模組的總數(shù)。
為加快模型的收斂速度,對選取的預測變量和輸出變量按照式(2)進行標準化處理,將數(shù)據(jù)映射到[-1,1]范圍內(nèi)。
式中:vt(k)為第k個變量在第t個采樣時刻的原始數(shù)據(jù)值;vmax(k)為整個數(shù)據(jù)集中第k個變量原始數(shù)據(jù)的最大值;vtstd(k)為第k個變量在第 t個采樣時刻的標準化數(shù)據(jù),標準化數(shù)據(jù)的范例如表2所示。
表2 標準化數(shù)據(jù)范例
2.1.3 數(shù)據(jù)集劃分與數(shù)據(jù)向量構(gòu)建
將前20 000組數(shù)據(jù)作為訓練數(shù)據(jù),并按式(3)構(gòu)建訓練數(shù)據(jù)集的輸入數(shù)據(jù)向量x,輸出數(shù)據(jù)向量y;將后10 000組作為測試數(shù)據(jù),按式(4)構(gòu)建測試數(shù)據(jù)集的輸入數(shù)據(jù)向量xtest,輸出數(shù)據(jù)向量ytest。
2.2.1 支持向量機
支持向量機(SVM)[10]能根據(jù)有限的樣本信息在模型的復雜性和學習能力之間尋求最佳折中,以獲得良好的泛化能力。支持向量機能夠較好地解決小樣本、非線性、高維數(shù)和局部極小點等實際問題。支持向量機回歸(SVR)是用于解決回歸問題的支持向量機。
首先將式(3)中構(gòu)建的訓練數(shù)據(jù)集的輸入數(shù)據(jù)向量x,通過非線性映射φ(x)映射到一個高維的特征空間,然后在這個特征空間中建立一個線性模型來估計回歸函數(shù),即
式中:w為與特征空間維數(shù)相等的權(quán)值向量;b為偏置量;f(x,w)為預測的 SOC值。
對于給定的包含l個點的訓練數(shù)據(jù)集(x1,y1),(x2,y2),…,(xl,yl),其中 xl(l=1,2,…,t+1)為訓練數(shù)據(jù)集的輸入數(shù)據(jù)向量,yl(l=1,2,…,t+1)為相對應的真實SOC值,采用ε-不敏感損失函數(shù),通過ε-支持向量機回歸(ε-SVR)[11],找到一個函數(shù) f(x,w),使得對于所有的輸入數(shù)據(jù)向量xl,其對應的預測SOC值f(xl,w)同真實 SOC值 yl的偏差不超過ε,則其約束優(yōu)化問題可表示為
式中:C為懲罰系數(shù),決定了對于大于ε的偏差的容忍程度和函數(shù)扁平程度之間的折中;ξ*i與ξi為松弛變量。
式(6)中的優(yōu)化問題可通過引入拉格朗日函數(shù)將其轉(zhuǎn)化為對偶問題,如式(7),即ε-不敏感損失函數(shù),求解式(7)得到式(5)的解:
式中:K(xi,xj)為核函數(shù);αi、αi*(i=1,2,…,l)為拉格朗日乘子。其中不為0的αi、αi*對應的樣本就是支持向量(support vector,SV),通過支持向量并由式(8)可預測SOC值:
式中λ為核參數(shù)。
2.2.2 尋找SVM的最優(yōu)超參數(shù)
支持向量機的超參數(shù)包含懲罰系數(shù)C,不敏感系數(shù)ε,以及核函數(shù)K(xi,x)的核參數(shù)λ。SVM非常依賴于所選擇的超參數(shù)組合,因此需要選用合適的方法來尋找支持向量機的最優(yōu)超參數(shù)組合。目前的方法主要有:網(wǎng)格搜索法[12]、隨機搜索法[13]和貝葉斯優(yōu)化算法[14]。貝葉斯優(yōu)化算法是一種聯(lián)合優(yōu)化超參數(shù)的強力工具,它能夠自動調(diào)節(jié)超參數(shù),且能夠以較快的速度獲取全局最優(yōu)值,因此,采用貝葉斯優(yōu)化算法來尋找超參數(shù)組合的全局最優(yōu)解。
貝葉斯優(yōu)化算法的主要目的是在一個有界的超參數(shù)組合的集合Z(Z是RD的一個子集)中尋找使目標函數(shù)即ε-不敏感損失函數(shù)L(α)取得最小值的超參數(shù)組合zbest,即
其中超參數(shù)組合表示為 zn=(Cn,εn,λn),zn∈Z。貝葉斯優(yōu)化算法與其他算法的不同之處在于它為L(α,zn)建立了一個概率模型,然后開采該模型來決定下一次在Z中的何處評估L(α,zn)。
在執(zhí)行貝葉斯優(yōu)化算法時,要做如下兩個選擇。
(1)選擇一個先驗函數(shù)來表達關(guān)于要被優(yōu)化的函數(shù)的假設(shè),通常選擇高斯過程[15]先驗,由于它具有靈活性和易處理性。
高斯過程是表達函數(shù)的方便而又有力的先驗分布,形式為L:Z→R。任意 n個點 zn∈Z(n=1,…,N)的有限集合都服從一個多元高斯分布,根據(jù)這個性質(zhì),定義了高斯過程。
(2)選擇一個采集函數(shù),用于從模型后驗估計中構(gòu)建一個效用函數(shù)以決定下一個評估點。
假設(shè)要優(yōu)化的目標函數(shù)L(α,zn)來自于高斯過程先驗,且觀測值形如{zn,hn},hn~N(L(α,zn),θ)(n=1,…,N),其中θ是引入函數(shù)觀測值的噪聲方差。這個先驗假設(shè)和這些觀測數(shù)據(jù)將會引發(fā)基于采集函數(shù)的后驗估計,采集函數(shù)表示為a:Z→R+,通過代理優(yōu)化過程znext=arg mazx a(z)來決定Z中下一個評估點。在高斯過程先驗下,采集函數(shù)a(z)完全取決于模型的預測均值函數(shù)μ(z)和預測方差函數(shù)σ2(z),通過開采高斯過程的下置信邊界[16]來構(gòu)建采集函數(shù),采集函數(shù)為
式中κ為一個可調(diào)的參數(shù),用來平衡探索與開采,在此處取2。
2.2.3 序列最小最優(yōu)化(SMO)算法
在求解目標函數(shù)最小值的過程中,還需要求解式(7)中的拉格朗日乘子,序列最小最優(yōu)化(SMO)算法[17]能很好地解決這個問題。SMO算法每次啟發(fā)式選擇2個變量進行優(yōu)化,不斷循環(huán),直到目標函數(shù)達到最優(yōu)值。
2.2.4 建模與預測方法
根據(jù)電池數(shù)據(jù)監(jiān)控云平臺的電池數(shù)據(jù)庫中存儲的以30 s為采樣周期的稀疏采樣電池數(shù)據(jù),基于貝葉斯優(yōu)化的SVM對式(3)中構(gòu)建的訓練數(shù)據(jù)集進行訓練,得出SOC單步預測模型。由訓練得出的SOC單步預測模型,根據(jù)式(12)對訓練數(shù)據(jù)進行預測:
式中:mdl為訓練所得的單步預測模型;SOCpredt+1為經(jīng)SOC單步預測算法預測出的第t+1個采樣時刻的SOC值。
SOC單步預測算法在預測SOC的過程中,只能利用第t個采樣時刻采樣的真實SOC值作為預測變量之一,來預測第t+1個采樣時刻的SOC值,為擺脫這種長期依賴,直接利用第t個采樣時刻的預測SOC值替代真實SOC值,并作為預測變量之一,來預測第t+1個采樣時刻的SOC值,本文中進一步建立了電動公交車電池SOC自主預測模型。
2.3.1 數(shù)據(jù)再劃分與訓練數(shù)據(jù)集再構(gòu)建
為實現(xiàn)對動力電池SOC值的自主預測,需要將訓練數(shù)據(jù)集進一步劃分為充電訓練數(shù)據(jù)集和放電訓練數(shù)據(jù)集。當t+1時刻數(shù)據(jù)滿足SOC變化量ΔSOC非負,且電流值為正時,被劃分為充電訓練數(shù)據(jù),否則被劃分為放電訓練數(shù)據(jù),如式(13)所示:
共有8 943組數(shù)據(jù)被劃分為充電訓練數(shù)據(jù),11 056組數(shù)據(jù)被劃分為放電訓練數(shù)據(jù),分別構(gòu)建充電訓練數(shù)據(jù)集與放電訓練數(shù)據(jù)集。
2.3.2 建模與預測方法
基于貝葉斯優(yōu)化的SVM對充電數(shù)據(jù)集和放電數(shù)據(jù)集分別進行訓練,建立充電過程SOC預測模型和放電過程SOC預測模型。
為實現(xiàn)自主預測,只需先根據(jù)第1個采樣時刻的真實SOC值及第2個采樣時刻電池的充放電狀態(tài)求出第2個采樣時刻的SOC預測值,并在之后的預測中,用第t個采樣時刻的預測SOC值替代預測變量中來自BMS的第t個采樣時刻的真實SOC值,并根據(jù)式(14)構(gòu)建預測向量,即可預測出第t+1個采樣時刻的SOC值:
式中SOC_Ipredt為經(jīng)SOC自主預測算法預測出的第t個采樣時刻的SOC值。
預測時根據(jù)動力電池當前時刻和上一時刻的電流I來判斷電池是處于充電狀態(tài)還是放電狀態(tài)。判斷準則是:若 t+1時刻電流值 It+1≤0,則 t+1時刻電池處于放電狀態(tài)。根據(jù)放電過程預測模型并由式(15)預測 t+1時刻的 SOC值:
式中mdl_disch為訓練得出的放電過程SOC預測模型。
若 t+1時刻電流值 It+1>0,則再判斷是否 t時刻電流值It≤0,若 It≤0,則 t+1時刻電池處于放電狀態(tài),根據(jù)放電過程預測模型并由式(15)預測t+1時刻的SOC值,這種判斷的依據(jù)是純電動公交車動力電池運行過程中存在制動能量回收過程,當發(fā)生制動能量回收時,會出現(xiàn)短時間的電流大于0的過程,實際上電池仍然處于放電的過程中。
如果不滿足上述條件,則t+1時刻處于充電狀態(tài),根據(jù)充電過程預測模型并由式(16)來預測t+1時刻的SOC值:
式中mdl_ch為訓練得出的充電過程SOC預測模型。
基于Matlab 2016b平臺進行訓練,訓練所得的SOC單步預測模型的相關(guān)參數(shù)如表3所示。
表3 SOC單步預測模型相關(guān)參數(shù)
在訓練數(shù)據(jù)集上,單步預測SOC值與真實SOC值的對比如圖2所示,誤差如圖3所示。
圖2 訓練數(shù)據(jù)上單步預測方法預測SOC曲線
在訓練數(shù)據(jù)集上,基于貝葉斯優(yōu)化的SVM預測模型預測出的SOC值與真實SOC值的最大絕對誤差為1.58%,平均絕對誤差僅0.18%,具有較高的預測精度。
圖3 訓練數(shù)據(jù)上單步預測方法預測誤差
為測試SOC單步預測模型的泛化性能,將SOC單步預測模型應用于式(4)中構(gòu)建的測試數(shù)據(jù)集上,觀察預測模型的表現(xiàn)。測試數(shù)據(jù)集上單步預測SOC值與真實SOC值的對比如圖4所示,誤差如圖5所示。
圖4 測試數(shù)據(jù)上單步預測方法預測SOC曲線
圖5 測試數(shù)據(jù)上單步預測方法預測誤差
在測試數(shù)據(jù)集上,基于貝葉斯優(yōu)化的SVM預測模型仍然具有很高的預測精度,最大絕對誤差為1.82%,平均絕對誤差僅為0.17%,也進一步證明SOC單步預測模型具有很好的泛化性。
基于Matlab 2016b平臺進行訓練,訓練所得的SOC自主預測模型的相關(guān)參數(shù)如表4所示。
表4 SOC自主預測模型相關(guān)參數(shù)
在訓練數(shù)據(jù)集上,自主預測的SOC值與真實SOC值的對比如圖6所示,誤差如圖7所示。
圖6 訓練數(shù)據(jù)上自主預測方法預測SOC曲線
圖7 訓練數(shù)據(jù)上自主預測方法誤差
在訓練數(shù)據(jù)集上,自主預測的SOC值與真實SOC值的最大絕對誤差為5.89%,平均絕對誤差為2.69%,具有較高的預測精度。
為測試SOC自主預測模型的泛化性能,將SOC自主預測模型應用于測試數(shù)據(jù)集上,觀察預測模型的表現(xiàn)。測試數(shù)據(jù)集上自主預測SOC值與真實SOC值的對比如圖8所示,誤差如圖9所示。
圖8 測試數(shù)據(jù)上自主預測方法預測SOC曲線
圖9 測試數(shù)據(jù)上自主預測方法誤差
在測試數(shù)據(jù)集上,自主預測方法同樣具有優(yōu)秀的表現(xiàn),其預測的最大絕對誤差為5.87%,平均絕對誤差為2.75%,模型具有很好的泛化性。
值得注意的是,上述建立的SOC預測模型反映的是SOC與電池的總電壓、電流和電池溫度等因素之間的內(nèi)在關(guān)系,與公交車的運行路線、工況和氣溫等外界因素沒有直接耦合的關(guān)系。因為外界因素的變化最終體現(xiàn)在總電壓、電流和電池溫度等內(nèi)在因素的變化上,而這些內(nèi)在因素已經(jīng)作為預測模型的輸入,參與到了模型的訓練和預測中,因此SOC預測模型的精度對公交車的運行路線、工況和氣溫等外界因素的變化不敏感,體現(xiàn)了SOC預測模型的魯棒性。
為驗證SOC單步預測模型與SOC自主預測模型的魯棒性,用上述已訓練好的1號公交車SOC的預測模型,來預測具有不同運行路線的2號公交車的SOC值。同時為驗證預測模型對氣溫的不敏感性,2號車的預測數(shù)據(jù)段取自夏天(2017年7月),而圖4、圖5、圖8和圖9的預測數(shù)據(jù)段取自1號車冬天(2017年2月)。值得注意的是,1號車與2號車具有相同的電池包,且為同一廠家同一批次的電芯。
將2號車的稀疏采樣數(shù)據(jù)進行數(shù)據(jù)預處理,構(gòu)建測試數(shù)據(jù)集,并基于1號車訓練所得SOC單步預測模型進行預測,結(jié)果如圖10和圖11所示。
圖10 2號車7月份單步預測方法預測SOC曲線
圖11 2號車7月份單步預測方法預測誤差
基于1號車訓練所得SOC自主預測模型對2號車SOC進行預測,結(jié)果如圖12和圖13所示。
圖12 2號車7月份自主預測方法預測SOC曲線
由圖10和圖11可以看出,在不同運行路線且處于不同氣溫的情況下,SOC單步預測方法仍然具有很高的精度,單步預測的最大絕對誤差為1.65%,平均絕對誤差為0.58%。由圖12和圖13可以看出,在不同運行路線且處于不同氣溫的情況下,SOC自主預測方法也具有很高的精度,自主預測的最大絕對誤差為5.89%,平均絕對誤差為2%??梢娫诓煌\行路線且在不同天氣溫度的情況下,SOC預測模型具有較強的魯棒性。
圖13 2號車7月份自主預測方法誤差
值得注意的是,若電池生產(chǎn)廠家不同,或電池材料體系及電池包的成組方式不同等,其電池的SOC與總電壓、電流、電池溫度等的內(nèi)在關(guān)系必然會發(fā)生不同程度的改變,在進行電池SOC預測前需要重新訓練以建立新的電池SOC預測模型。
基于某公交公司純電動公交車云平臺電池數(shù)據(jù)庫中存儲的稀疏采樣的動力電池運行數(shù)據(jù),對影響純電動公交車運行過程中電池SOC變化的影響因素進行了深入分析,運用支持向量機回歸方法,并結(jié)合貝葉斯優(yōu)化算法,建立了SOC單步預測模型,對第t+1個采樣時刻的SOC值進行預測,預測的最大絕對誤差僅為1.82%;進一步建立了SOC自主預測模型,實現(xiàn)了對第t+1個采樣時刻SOC值的自主預測,預測的最大絕對誤差僅為5.89%;并基于該預測模型對具有不同運行路線且處于不同氣溫下的車輛進行了SOC預測,驗證了預測模型具有較強的魯棒性。
所提出的基于稀疏采樣數(shù)據(jù)驅(qū)動的SOC單步預測方法是一種新穎的預測電動公交車電池SOC的方法,簡化了預測模型建立的過程;進一步建立的SOC自主預測方法擺脫了SOC預測過程中對預測變量中真實SOC值的長期依賴,實現(xiàn)了對電池SOC的自主預測。所提出的預測方法合理地運用了電池監(jiān)控云平臺的電池數(shù)據(jù)庫中存儲的稀疏采樣數(shù)據(jù),且能夠?qū)㈩A測的未來時刻的SOC值與實際上傳的BMS估計的SOC值進行相互佐證,對于電池系統(tǒng)的云平臺在線診斷有著十分重要的意義,同時也為挖掘動力電池運行數(shù)據(jù)背后的規(guī)律和價值提供了一種參考。下一步計劃在自主預測的基礎(chǔ)上實現(xiàn)SOC提前多步預測,以此為駕駛員提供參考續(xù)駛時間。