孫弘利,趙冠都
(中國海洋大學(xué),山東 青島 266100)
AUV電源管理系統(tǒng)主要負(fù)責(zé)為AUV整體供電,保證AUV內(nèi)部各個(gè)系統(tǒng)模塊正常工作。磷酸鐵鋰電池是AUV的主要能源。因此,準(zhǔn)確可靠地獲得磷酸鐵鋰電池SOC是AUV電源管理系統(tǒng)的基本任務(wù)之一。電池SOC能夠直接反映AUV內(nèi)部電池的總電量和AUV整體正常工作時(shí)間。人工神經(jīng)網(wǎng)絡(luò)很適合用于對(duì)多變量的電池SOC進(jìn)行估算。
目前,對(duì)磷酸鐵鋰電池SOC的估算方法有開路電壓法、安時(shí)積分法和卡爾曼濾波法等。開路電壓法通過建立開路電壓(OCV)與SOC之間的關(guān)系,測(cè)量電池兩端的開路電壓值得到電池SOC,但是測(cè)得的SOC值往往需要將電池靜置較長時(shí)間,因此實(shí)現(xiàn)電池SOC的在線估算較困難。安時(shí)積分法是指在電池充放電過程中按時(shí)間對(duì)電流進(jìn)行積分估算,在短時(shí)間內(nèi)能比較準(zhǔn)確地得到估算結(jié)果,但是存在累積誤差問題。利用卡爾曼濾波法可得到SOC的最優(yōu)估算值和SOC的最優(yōu)值誤差,比較適合電池SOC估算,但是其依賴合適的數(shù)學(xué)模型,確定電池內(nèi)部參數(shù)困難[1-3]。本文采用ELM神經(jīng)網(wǎng)絡(luò)方法進(jìn)行AUV內(nèi)部電池SOC模型建立,以估算AUV內(nèi)部電池SOC值。
ELM(Extreme Learning Machine)神經(jīng)網(wǎng)絡(luò)與其他神經(jīng)網(wǎng)絡(luò)(BP神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等)相比,訓(xùn)練速度快,人工干擾少,網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,泛化性能好,對(duì)于異質(zhì)性數(shù)據(jù)集泛化能力較強(qiáng),很適合數(shù)據(jù)量相對(duì)少的訓(xùn)練[3-6]。針對(duì)電池SOC的特性來說,很適合用ELM網(wǎng)絡(luò)。
ELM神經(jīng)網(wǎng)絡(luò)可理解為單隱層神經(jīng)網(wǎng)絡(luò),結(jié)構(gòu)如圖1所示。
圖1 ELM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
像其他神經(jīng)網(wǎng)絡(luò)一樣,ELM網(wǎng)絡(luò)同樣含有三層:輸入層、隱含層、輸出層。如圖1所示,ELM網(wǎng)絡(luò)輸入層有d個(gè)神經(jīng)元,隱含層有L個(gè)神經(jīng)元,輸出層有m個(gè)神經(jīng)元。像一些特殊的問題如典型的二分類問題,很明顯該m個(gè)神經(jīng)元是一維的[4]。只考慮隱含層輸出和輸出層,則輸出函數(shù)為:
式中,ai和bi是隱含層節(jié)點(diǎn)的參數(shù),βi表示第i個(gè)隱含層輸出神經(jīng)元之間的連接權(quán)值,G是隱含層輸出函數(shù)。對(duì)于相加型隱含層節(jié)點(diǎn),函數(shù)G表達(dá)式為:
矩陣表達(dá)式中,L往往遠(yuǎn)小于N,權(quán)值向量是無解的,網(wǎng)絡(luò)輸出值和實(shí)際值之間必然存在一定的誤差。因此,可以定義代價(jià)函數(shù)為:
式中參數(shù)H是隱含層的輸出矩陣,β是輸出函數(shù)與隱含層的權(quán)值[1-6]。
對(duì)于ELM神經(jīng)網(wǎng)絡(luò)模型的建立,要考慮該網(wǎng)絡(luò)的結(jié)構(gòu),其會(huì)直接影響樣本估算的效果。根據(jù)理論經(jīng)驗(yàn),對(duì)于有兩組非線性輸入、一組非線性輸出的數(shù)據(jù),選擇3層網(wǎng)絡(luò)就能滿足要求[4]。ELM神經(jīng)網(wǎng)絡(luò)模型如圖2所示。
圖2 ELM神經(jīng)網(wǎng)絡(luò)模型
圖2 中設(shè)置網(wǎng)絡(luò)的輸入層有2個(gè)節(jié)點(diǎn),其中設(shè)置向量為[X1,X2],X1為AUV內(nèi)部電池的放電電壓,X2為AUV內(nèi)部電池的放電電流。因?yàn)檩敵鍪荢OC值,所以輸出層只有1個(gè)節(jié)點(diǎn),設(shè)置該網(wǎng)絡(luò)輸出向量為[?L(X)],即SOC值。經(jīng)過網(wǎng)絡(luò)訓(xùn)練后,當(dāng)?shù)贸鲈摼W(wǎng)絡(luò)隱含層節(jié)點(diǎn)數(shù)為20個(gè)左右時(shí),可以得到比較理想的放電電壓、電流與SOC值之間的關(guān)系[2-6]。該網(wǎng)絡(luò)的輸入層、隱含層和輸出層用Sigmoid激活函數(shù),誤差定為0.000 01[2-6]。
以AUV內(nèi)部供電電池包(磷酸鐵鋰電池)為測(cè)試對(duì)象,該電池包標(biāo)稱電壓為25.9 V(充滿電電壓可達(dá)29 V),標(biāo)稱容量41.6 Ah。
利用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱進(jìn)行ELM網(wǎng)絡(luò)構(gòu)建[7-8]。將實(shí)驗(yàn)測(cè)得的電池樣本數(shù)據(jù)輸入網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并將測(cè)得的SOC實(shí)際值與SOC估計(jì)值進(jìn)行比較,結(jié)果如圖3所示。從圖3可看出,采用LEM網(wǎng)絡(luò)訓(xùn)練的SOC估計(jì)值曲線與SOC實(shí)際值曲線吻合度較好,差別很小??梢?,該網(wǎng)絡(luò)模型訓(xùn)練效果較好。
圖3 ELM神經(jīng)網(wǎng)絡(luò)估算圖
進(jìn)行誤差訓(xùn)練,設(shè)置網(wǎng)絡(luò)最大訓(xùn)練次數(shù)為200次,期望誤差為1×10-5。經(jīng)過訓(xùn)練后,它的均方誤差如圖4所示。從圖4可看出,網(wǎng)絡(luò)訓(xùn)練在180次左右時(shí)達(dá)到最小均方誤差,最小均方誤差為3.82×10-5??梢姡珽LM神經(jīng)網(wǎng)絡(luò)泛化性能好。
圖4 ELM神經(jīng)網(wǎng)絡(luò)訓(xùn)練均方誤差圖
網(wǎng)絡(luò)樣本數(shù)據(jù)的選取對(duì)訓(xùn)練效果至關(guān)重要。樣本數(shù)據(jù)的復(fù)雜性影響網(wǎng)絡(luò)的訓(xùn)練效果??紤]到時(shí)間問題,分別選取恒定電流7 A、8 A放電,電壓值是每放電30 min靜置30 min測(cè)得的AUV內(nèi)部電池開路電壓,測(cè)得的數(shù)據(jù)需要?dú)w一化處理,實(shí)驗(yàn)在室溫條件下進(jìn)行,結(jié)果如圖5所示。從圖5可看出,預(yù)測(cè)值與目標(biāo)值吻合度較好,且放電電壓會(huì)隨著SOC值的減小逐漸降低,尤其在放電初期,電池放電電壓隨著SOC的變化較大。
圖5 不同放電電流下的預(yù)測(cè)SOC曲線與目標(biāo)SOC曲線
本文以AUV內(nèi)部供電電池包為測(cè)試對(duì)象,建立了基于ELM神經(jīng)網(wǎng)絡(luò)的電池SOC估算模型。利用ELM神經(jīng)網(wǎng)絡(luò)進(jìn)行磷酸鐵鋰電池SOV估算具有訓(xùn)練速度較快、人工干擾較少、網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單、泛化性能好的特點(diǎn)。實(shí)驗(yàn)結(jié)果表明,ELM神經(jīng)網(wǎng)絡(luò)估算電池SOC具有可行性,準(zhǔn)確性較高。本文只考慮了工作電壓、電流和適量的訓(xùn)練樣本數(shù)據(jù),下一步工作將諸多因素綜合考慮并且選取大量訓(xùn)練樣本數(shù)據(jù),以便得到更準(zhǔn)確的電池SOC值。