付炳喆,李沂洹,王 瑋,李 慷
(1.華北電力大學(xué)控制與計算機工程學(xué)院,北京 102206;2.利茲大學(xué),英國利茲LS2 9JT)
鋰離子電池是實現(xiàn)電化學(xué)儲能的重要手段,具備循環(huán)壽命長、能量密度大、自放電率低和對環(huán)境友好的優(yōu)勢[1]。電池荷電狀態(tài)(SOC)是鋰離子電池使用中的關(guān)鍵參數(shù),精確獲取電池SOC信息對整個系統(tǒng)的優(yōu)化管理、安全運行等至關(guān)重要[2]。然而,由于電池內(nèi)部電化學(xué)反應(yīng)復(fù)雜,工作呈現(xiàn)較強的非線性特性,準確實時的電池SOC估計是當(dāng)前電池管理的關(guān)鍵和難點之一[3]。
為了精確估計SOC,各國學(xué)者對多種研究方法進行了改進創(chuàng)新。常用的SOC估計方法可以大致分為兩類:基于模型的估計方法和基于數(shù)據(jù)驅(qū)動的估計方法[4]?;谀P偷墓烙嫹椒ㄒ越⒕_優(yōu)良的模型為基礎(chǔ)展開估計研究,其準確程度高低往往取決于模型的優(yōu)劣,且受外界因素影響大,魯棒性較弱[5]?;跀?shù)據(jù)驅(qū)動的估計方法主要使用機器學(xué)習(xí)的諸多算法來直接建立起SOC與較易測量的電壓電流等參數(shù)之間的非線性關(guān)系[6],適用于所有類型的電池[7]。神經(jīng)網(wǎng)絡(luò)(NN)、支持向量機(SVM)、高斯回歸過程(GPR)等算法由于其可靠性、靈活性和強大的泛化能力,越來越多地被用于鋰離子電池的SOC估計中。徑向基神經(jīng)網(wǎng)絡(luò)(radial basis function neural network,RBF-NN)是一種結(jié)構(gòu)簡單,性能優(yōu)良的人工神經(jīng)網(wǎng)絡(luò)[8],但由于初始參數(shù)的隨機性,直接應(yīng)用于電池SOC估計時,其精度仍存在動態(tài)波動、穩(wěn)定性差的難題[9]。對此,本文提出基于黃金分割-模糊C 均值-遺傳(golden section method-fuzzy C means-genetic algorithm,GSM-FCM-GA)組合優(yōu)化算法來實現(xiàn)對RBF神經(jīng)網(wǎng)絡(luò)的改進。同時,為了幫助模型學(xué)習(xí)電池電壓電流快速改變時測量信號與電池內(nèi)部特性相關(guān)的非線性映射,額外引入了滑動窗口內(nèi)的釋放電荷量作為輸入信號。
為了驗證所提出模型的有效性,本文基于不同溫度下聯(lián)邦城市行車計劃(FUDS)的工況模擬環(huán)境,對比了RBF、GA-RBF、GSM-FCM-GA-RBF 的估計精度。實驗結(jié)果表明,所提出的優(yōu)化模型在線估計鋰離子電池SOC時具有較優(yōu)的性能。
徑向基神經(jīng)網(wǎng)絡(luò)是一種結(jié)構(gòu)簡單的單隱層前饋神經(jīng)網(wǎng)絡(luò),已廣泛應(yīng)用于函數(shù)逼近問題。徑向基函數(shù)作為內(nèi)置的隱含層神經(jīng)元激活函數(shù)。高斯函數(shù)是常見的徑向基函數(shù),其為一種樣本x到數(shù)據(jù)中心ci之間歐氏距離的單調(diào)函數(shù),如下:
式中:σ為高斯函數(shù)的寬度。
RBF 網(wǎng)絡(luò)中,輸出結(jié)果即為對隱含層輸出的線性組合。設(shè)定輸入向量x為d維,采用高斯徑向基函數(shù)作為激活函數(shù)的RBF 網(wǎng)絡(luò)可表示為:
式中:q為隱含層神經(jīng)元個數(shù);y(x)為網(wǎng)絡(luò)輸出值;ci與wi分別為第i個隱含層神經(jīng)元的中心與權(quán)值。
目前RBF 神經(jīng)網(wǎng)絡(luò)研究領(lǐng)域暫無統(tǒng)一方法確定隱含層神經(jīng)元個數(shù)這一重要參數(shù),實際應(yīng)用中大部分仍采用試錯法,不僅無法有效去除網(wǎng)絡(luò)中的冗余結(jié)構(gòu),還會帶來時間和人力的浪費。本文引入黃金分割優(yōu)選法作為RBF 神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元個數(shù)確定的依據(jù),具體步驟如下。
步驟1:確定選擇區(qū)間,認為在RBF 神經(jīng)網(wǎng)絡(luò)中若輸入層和輸出層節(jié)點數(shù)分別為I和J,則隱含層神經(jīng)元個數(shù)在如下區(qū)間選取。
步驟2:在區(qū)間[a,b]上確定第一個測試點g1。
其中int(·)表示對(·)進行取整運算,并記錄隱含層神經(jīng)元個數(shù)q取g1時模型輸出結(jié)果的均方誤差M1。
式中:m為樣本個數(shù);fn1和yn1分別為q=g1時第n個樣本對應(yīng)的實際值與模型輸出值。
步驟3:確定第二個測試點g2,并記錄對應(yīng)的均方誤差M2。
步驟4:對兩次測試結(jié)果進行比較。對區(qū)間的選擇標(biāo)準如下:
(1)若M2>M1,截去區(qū)間[a,g2],留存區(qū)間[g2,b];
(2)若M2<M1,截去區(qū)間[g1,b],留存區(qū)間[a,g1];
(3)若M2=M1,截去區(qū)間[a,g2]、[g1,b],留存區(qū)間[g2,g1]。
步驟5:在保留的區(qū)間內(nèi)不斷重復(fù)以上步驟,直至得到q。
基于黃金分割法選擇確定RBF 神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元個數(shù)的流程如圖1 所示。
圖1 黃金分割優(yōu)選法流程
模糊C-均值(FCM)聚類算法廣泛應(yīng)用于聚類中心選擇[10],本文以FCM 算法來根據(jù)輸入樣本選取RBF 神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元中心。設(shè)輸入信號X=[x1,x2,...,xN]T,首先確定迭代標(biāo)準ε>0 并隨機生成初始聚類中心cj(j=1,2,...,p)。然后計算輸入信號對中心的隸屬度,公式如下:
式中:uij為輸入信號xi(i=1,2,...,N)對中心cj的隸屬度,并規(guī)定若存在i,k使得xi-ck=0,則uij=1;p為聚類中心個數(shù);m為模糊系數(shù),對m的選取方法目前仍多為經(jīng)驗和實驗結(jié)論,一般取m=2[11]。
依據(jù)式(8)和式(9)更新中心cj:
式中:N為輸入信號樣本個數(shù)。計算出每次循環(huán)后的更新差值后,判斷其是否小于ε。
式中:C(d)為第d次聚類得到聚類中心向量。
FCM 聚類算法的偽代碼可表示如下:
算法1:基本模糊-C-均值算法
輸入:輸入信號維度N,迭代標(biāo)準ε
初始化:最大迭代次數(shù)L,輸入信號X,聚類中心C(0),模糊系數(shù)m
步驟:
1.d←0(initialization);
2.ford←0 toLdo
3.由式(7)計算輸入信號對中心的隸屬度
4.由式(9)更新聚類中心C(d+1)
5.Until 式(10)成立
6.end
7.Final
Return 更新后的聚類中心向量C
Update 隱含層神經(jīng)元中心矢量
RBF 神經(jīng)網(wǎng)絡(luò)的參數(shù)選取合適與否,直接決定了估計性能的優(yōu)劣。目前各國學(xué)者已經(jīng)通過多種優(yōu)化算法如粒子群優(yōu)化算法[12]、模擬退火算法[13]等對RBF 神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,取得了較好的效果。
遺傳算法(genetic algorithm,GA)是一種成熟的進化算法。通過對自然界生物種群繁衍進化的模擬,將適者生存的法則應(yīng)用到優(yōu)化求解領(lǐng)域[14]。其良好的尋優(yōu)能力適用于RBF 神經(jīng)網(wǎng)絡(luò)參數(shù)優(yōu)化問題,實現(xiàn)方法具體如下。
步驟1:對RBF 神經(jīng)網(wǎng)絡(luò)的隱含層神經(jīng)元高斯函數(shù)的寬度及隱含層和輸出層的連接權(quán)值進行編碼,得到初始化種群。
步驟2:解碼得到初始參數(shù)并賦予新建RBF 神經(jīng)網(wǎng)絡(luò),利用訓(xùn)練樣本訓(xùn)練后以驗證樣本計算輸出誤差。
步驟3:計算初始種群各染色體的適應(yīng)度值,本文中以輸出值的均方根誤差為計算適應(yīng)度函數(shù)值的唯一標(biāo)準。
式中:fk和yk分別為第k個輸出層節(jié)點的實際值與RBF 神經(jīng)網(wǎng)絡(luò)輸出值;L為輸出層節(jié)點個數(shù)。
步驟4:將種群中適應(yīng)度高的染色體篩選出來,執(zhí)行復(fù)制、交叉和變異操作,得到新一代種群。
步驟5:計算輸出誤差并判斷是否低于閾值,若滿足條件,解碼得到最優(yōu)的高斯函數(shù)寬度與連接權(quán)值。若不滿足,返回步驟2。
根據(jù)上述步驟訓(xùn)練RBF 網(wǎng)絡(luò),經(jīng)過遺傳算法對網(wǎng)絡(luò)參數(shù)進行尋優(yōu)得到的RBF 神經(jīng)網(wǎng)絡(luò)模型誤差較低,且泛化能力較好,在不同的應(yīng)用場景中均表現(xiàn)出較好的魯棒性[15]。
RBF 神經(jīng)網(wǎng)絡(luò)在鋰離子電池SOC估計領(lǐng)域具有強大的應(yīng)用潛力。在使用神經(jīng)網(wǎng)絡(luò)估計SOC時,通常采用鋰離子電池端電壓、電流和溫度作為輸入向量[16]。但實驗表明,由于鋰離子電池工作時的高度非線性動態(tài)響應(yīng)特性,在充放電過程中,尤其是電池工作電壓、電流大小和方向發(fā)生急劇改變時,現(xiàn)有的各類機器學(xué)習(xí)算法模型往往較難識別電池的外部測量信號與SOC精確的映射關(guān)系,這是由于諸如工作電壓、電流和溫度作為神經(jīng)網(wǎng)絡(luò)模型輸入信號時,均為快速變化的實時采樣的數(shù)據(jù),是有高度時變特性的測量信息。網(wǎng)絡(luò)只能機械地識別輸入輸出數(shù)據(jù)集序列的簡單的對應(yīng)關(guān)系,導(dǎo)致網(wǎng)絡(luò)在驗證集上擬合能力的丟失,泛化能力大大降低[17]。這給RBF 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力帶來極大挑戰(zhàn)。
針對以上問題,經(jīng)過大量實驗嘗試,在既有的實時測量工作電壓、電流和溫度的基礎(chǔ)上,加入一個慢時變信息——滑動時間窗口內(nèi)的放電容量,作為新增輸入信號。該信號可以在RBF 神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)鋰離子電池輸入輸出數(shù)據(jù)集的非線性映射關(guān)系時,作為一個平滑因子,降低劇烈變化的電池工作信號給網(wǎng)絡(luò)帶來的不良影響。對于一個未知初始SOC信息的鋰離子電池,經(jīng)過若干時間的充放電,較易獲得該時間窗口內(nèi)的累計放電信息。采用滑動濾波技術(shù),對某一時刻的滑動窗口時間內(nèi)的釋放電荷量進行累計,即可作為該時刻對應(yīng)的滑動窗口的釋放電荷量,可由式(12)計算:
式中:Qw為t時刻滑動窗口內(nèi)的釋放電量;η為庫侖效率;i(t)為鋰離子電池工作電流;m為該滑動窗口的長度。
本文以端電壓、電流、溫度和滑動時間窗口內(nèi)釋放電量作為輸入信號,SOC作為輸出信息,建立的GSM-FCM-GA優(yōu)化的RBF網(wǎng)絡(luò)有4個輸入節(jié)點、1個輸出節(jié)點。在保證均方誤差最小的前提下,GSM選擇了12 個隱含層神經(jīng)元。用FCM 聚類選擇合適的中心。在確定了RBF 神經(jīng)網(wǎng)絡(luò)的初步結(jié)構(gòu)后,使用遺傳算法對RBF 神經(jīng)網(wǎng)絡(luò)訓(xùn)練。初始化種群后,設(shè)定規(guī)模為100,交叉概率Pc=80%,變異概率Pm=1%?;赗BF 神經(jīng)網(wǎng)絡(luò)的電池SOC估計模型的拓撲結(jié)構(gòu)如圖2 所示。所提出的改進的RBF 神經(jīng)網(wǎng)絡(luò)模型估計鋰離子電池SOC的總體流程如圖3 所示。
圖2 用于SOC估計的RBF神經(jīng)網(wǎng)絡(luò)
圖3 改進RBF網(wǎng)絡(luò)估計SOC方法的總流程
為了驗證GSM-FCM-GA 的優(yōu)化效果,將其與原始RBF 神經(jīng)網(wǎng)絡(luò)及GA 優(yōu)化的RBF 網(wǎng)絡(luò)的估計性能進行對比。測試采用標(biāo)稱電壓為3.2 V、標(biāo)稱容量為1.6 Ah 的商用圓柱形磷酸鐵鋰電池,最大電壓3.6 V,最小電壓2.0 V,初始SOC為100%。
本實驗基于對FUDS 的放電工況模擬,實驗平臺如圖4所示。將磷酸鐵鋰電池置于BINDER-MK電池溫箱中,分別調(diào)整溫度至15 和35 ℃,使用NEWARE制造的BTS4000 電池測試系統(tǒng)對電池FUDS 工況放電時電信號的信息采集,匯總于實驗控制總機保存并處理。圖5 和圖6 顯示了兩種溫度的FUDS 工況下每一次循環(huán)的電壓電流曲線。
圖4 實驗平臺結(jié)構(gòu)示意圖
圖5 15 ℃FUDS工況電壓電流變化曲線
圖6 35 ℃FUDS工況電壓電流變化曲線
每次FUDS 工況放電循環(huán)共歷時約4 400 s,各進行8 次循環(huán)。分別采用離線訓(xùn)練好的GSM-FCM-GA優(yōu)化的RBF 網(wǎng)絡(luò)、原始RBF 神經(jīng)網(wǎng)絡(luò)及GA 優(yōu)化的RBF 神經(jīng)網(wǎng)絡(luò)模型對電池的SOC進行估計。圖7、圖8分別為15、35 ℃三種模型的估計結(jié)果與真實SOC變化的對比。圖中,黑色曲線代表SOC參考值,黃色曲線代表基礎(chǔ)RBF-NN 模型估計的SOC,藍色曲線代表基于GA 優(yōu)化的RBF-NN 模型估計的SOC,而紅色曲線代表本文所提出的改進RBF-NN 模型的輸出??梢钥闯觯唇?jīng)任何改進的基礎(chǔ)RBF-NN 模型的估計值相較于其他兩個模型,距離SOC參考值更遠;而本文所提出的模型其輸出結(jié)果幾乎與參考值重合。這表明,改進后的GSM-FCM-GA-RBF-NN 模型與其他兩個模型相比,具有更高的估計精度。
圖7 15 ℃估計結(jié)果對比
圖8 35 ℃估計結(jié)果對比
由于RBF 網(wǎng)絡(luò)模型的學(xué)習(xí)能力并非與隱含層神經(jīng)元個數(shù)呈完全的正比例關(guān)系,且隱含層神經(jīng)元設(shè)置過多會導(dǎo)致復(fù)雜度提高,收斂困難的問題。所以,為了驗證所提出方法的有效性,以浮點運算數(shù)(floating point operations,FLOPs)為衡量模型復(fù)雜度的標(biāo)準,在表1 中對比了不同隱含層神經(jīng)元個數(shù)設(shè)置時模型性能與復(fù)雜度,訓(xùn)練測試數(shù)據(jù)集采用35 ℃的FUDS 工況數(shù)據(jù)。
表1 不同隱含層神經(jīng)元個數(shù)設(shè)置時模型的復(fù)雜度與精度對比
從實驗結(jié)果可以看出,在隱含層神經(jīng)元個數(shù)超過GSM 選擇的12 以后,RBF 網(wǎng)絡(luò)模型已經(jīng)可以有效地完成學(xué)習(xí)與訓(xùn)練任務(wù),均方根誤差(RMSE)基本維持在3.5%以內(nèi)。此時繼續(xù)增加神經(jīng)元個數(shù)并未明顯提高模型估計精度,反而大幅增加模型復(fù)雜度。由圖可見,隱含層神經(jīng)元個數(shù)由12 增加到22 后,RMSE 幾乎沒有降低,但復(fù)雜度提高了近一倍,帶來結(jié)構(gòu)資源的浪費,對模型收斂速度造成影響。同時,為了驗證優(yōu)化模型在參數(shù)尋優(yōu)與模型優(yōu)化問題上的卓越性能,對比了3 次GSM-FCM-RBF 模型和GSMFCM-GA-RBF 模型在FUDS 工況下的訓(xùn)練測試結(jié)果,記錄其均方根誤差與最大估計誤差,見表2。
表2 使用GSM-FCM-GA-RBF 和GSM-FCM-RBF在FUDS 工況下的SOC 估計結(jié)果對比
從實驗結(jié)果可以看出,多次重復(fù)訓(xùn)練測試實驗GSM-FCM-GA-RBF 估計結(jié)果的均方根誤差均保持在2%以內(nèi),最大估計誤差也在3%以內(nèi)。而GSMFCM-RBF 雖然經(jīng)過結(jié)構(gòu)的優(yōu)化,但訓(xùn)練過程中仍采用梯度下降法等進行尋優(yōu),容易陷入局部最優(yōu)的問題,導(dǎo)致每次訓(xùn)練測試的結(jié)果具有明顯不確定性。最大估計誤差有時可以維持在5%以內(nèi),但在訓(xùn)練效果不好時可以達到近10%,這給直接應(yīng)用帶來困難。
為了更清楚地對比三個模型的估計結(jié)果,圖9 和圖10 給出了三個模型在不同溫度下的估計誤差曲線。由圖可見,改進后的模型對SOC動態(tài)工況的估計誤差基本維持在2%以內(nèi),明顯低于RBF 網(wǎng)絡(luò)模型的估計誤差,這得益于黃金分割優(yōu)選法與FCM 聚類算法自動地確定適合于鋰電池SOC估計的隱含層神經(jīng)元個數(shù)與中心。改進模型迅速地逼近最優(yōu)結(jié)構(gòu)后,利用遺傳算法的迭代全局尋優(yōu)能力訓(xùn)練RBF 網(wǎng)絡(luò)以得到最優(yōu)參數(shù)賦予模型,完成離線訓(xùn)練任務(wù)。同時,圖中可以看出相較于GA-RBF 模型3%以內(nèi)的估計誤差,GSM-FCM-GA-RBF 性能有進一步的提升,基本維持在2%以內(nèi),這體現(xiàn)了組合算法的優(yōu)勢。
圖9 15 ℃FUDS工況下估計誤差對比
圖10 35 ℃FUDS工況下估計誤差對比
上述實驗結(jié)果表明,與傳統(tǒng)的RBF 神經(jīng)網(wǎng)絡(luò)及GA 優(yōu)化的RBF 網(wǎng)絡(luò)相比,所提出的改進RBF 模型通過引入GSM 與FCM 來確定模型結(jié)構(gòu),可以去除網(wǎng)絡(luò)中的冗余結(jié)構(gòu),降低模型的復(fù)雜度與計算量,基于電池的動態(tài)性能獲得更適用于電池狀態(tài)估計的徑向基函數(shù)中心,提高了估計精度;進一步引入GA 來優(yōu)化RBF 模型的重要參數(shù),避免了參數(shù)初始化的不確定性對模型性能的影響,并減少了基于經(jīng)驗法調(diào)參帶來的巨大工作量,使模型的估計性能進一步得到顯著提升。
本文提出了一種基于GSM-FCM-GA 組合優(yōu)化的RBF 神經(jīng)網(wǎng)絡(luò)模型的鋰離子電池SOC估計方法,通過LiFePO4電池的測試實驗驗證了該方法的SOC估計性能。實驗結(jié)果表明,將滑動窗口內(nèi)的釋放電荷量作為擴展輸入添加到RBF 網(wǎng)絡(luò)的輸入變量,可以增強模型的學(xué)習(xí)能力,在強動態(tài)工況下仍能給出令人滿意的SOC估計結(jié)果。具體而言,所提出的GSM-FCM-GA-RBF 模型在不同溫度下的FUDS 工況下的電池數(shù)據(jù)在線估計的RMSE 和最大估計誤差分別維持在2%和3%以內(nèi),具有令人滿意的精度。同時,在相同的訓(xùn)練測試數(shù)據(jù)集上,對比了原始RBF神經(jīng)網(wǎng)絡(luò)及GA 優(yōu)化RBF 網(wǎng)絡(luò)的估計性能,進一步證明了所提出方法的優(yōu)越性。
由于優(yōu)化模型引入GSM 確定RBF 網(wǎng)絡(luò)隱含層神經(jīng)元個數(shù),結(jié)合FCM 確定徑向基函數(shù)中心,這種組合方法克服了RBF 神經(jīng)網(wǎng)絡(luò)因參數(shù)初始化的不確定性帶來估計性能不穩(wěn)定的缺點,并且避免了僅使用遺傳算法對參數(shù)一概尋優(yōu)而陷入局部最優(yōu)的可能。所提出方法旨在發(fā)揮組合方法在參數(shù)尋優(yōu)問題上的優(yōu)勢,因此并未改變RBF 模型的本質(zhì),仍具有結(jié)構(gòu)簡單的特點,且并不依賴初始SOC。