,,,
(1.電子科技大學(xué) 材料與能源學(xué)院,成都 611731;2.成都汽車產(chǎn)業(yè)研究院,成都 610101)
鋰離子動(dòng)力電池剩余電量SOC值的精確估計(jì)是電池管理系統(tǒng)的關(guān)鍵技術(shù)之一。然而動(dòng)力電池在動(dòng)態(tài)充放電過(guò)程中,電池SOC值無(wú)法像電壓或電流一樣直接測(cè)量得到,必須通過(guò)一些其他物理量的測(cè)量并采用相關(guān)的數(shù)學(xué)模型和算法才能間接得到。同時(shí)動(dòng)力電池在使用過(guò)程中往往受到許多不確定因素的影響,常常表現(xiàn)為高度非線性,又增加了準(zhǔn)確估計(jì)電池SOC值的難度。
目前,常用的SOC估計(jì)方法有放電實(shí)驗(yàn)法,安時(shí)積分法[1-2],開(kāi)路電壓法[3](OCV-SOC)以及卡爾曼濾波法等。放電實(shí)驗(yàn)法適合于所有的電池,但是通常在實(shí)驗(yàn)室使用,不適合在電動(dòng)汽車上在線使用。安時(shí)積分法通過(guò)對(duì)流進(jìn)或流出的電池電流隨時(shí)間積分來(lái)計(jì)算,是一種簡(jiǎn)單且易于在機(jī)載設(shè)備上進(jìn)行使用的方法,但是它需要初始的SOC值,加上這種方法是開(kāi)環(huán)控制,測(cè)量的噪音以及電池的老化都會(huì)造成較大的估計(jì)誤差。開(kāi)路電壓法(OCV-SOC),通過(guò)建立相關(guān)的OCV-SOC查找表來(lái)實(shí)現(xiàn),然而開(kāi)路電壓法需要靜置很長(zhǎng)一段時(shí)間來(lái)達(dá)到電池的開(kāi)路電壓,同時(shí)它又是基于電池模型的一種估算方法,如果模型建立的不夠準(zhǔn)確將會(huì)產(chǎn)生很大的誤差。現(xiàn)在也有利用計(jì)算機(jī)的智能算法,比如,項(xiàng)宇[4]等人采用的神經(jīng)網(wǎng)絡(luò)算法,估算誤差達(dá)到2%以內(nèi)。但是采用的網(wǎng)絡(luò)結(jié)構(gòu)輸入變量只有電壓和電流,忽略了其他影響電池SOC值的因素比如電池溫度等,難以滿足電動(dòng)汽車實(shí)際工況下運(yùn)行對(duì)電池SOC值的要求。而趙剛[5]等人雖然采用了電壓,電流,溫度以及已發(fā)電量作為網(wǎng)絡(luò)結(jié)構(gòu)的輸入層,然而估算的誤差只能達(dá)到5%左右,難以滿足現(xiàn)今對(duì)于電池SOC值的要求。因此如何利用動(dòng)力電池可測(cè)參數(shù)實(shí)現(xiàn)對(duì)電池SOC值的精確估計(jì)一直以來(lái)都是電池管理系統(tǒng)的核心問(wèn)題和技術(shù)難點(diǎn)。
為了解決以上這些問(wèn)題,本文在分析了電池電壓、溫度、電流和放電電量對(duì)電池SOC值影響后,提出了一種新穎的免疫遺傳算法(Immune Genetic Algorithm,IGA)和BP神經(jīng)網(wǎng)絡(luò)相結(jié)合的鋰離子動(dòng)力電池SOC值聯(lián)合估計(jì)方法,利用IGA算法實(shí)現(xiàn)了對(duì)BP神經(jīng)網(wǎng)絡(luò)的參數(shù)尋優(yōu),通過(guò)仿真和電池工況下實(shí)驗(yàn)驗(yàn)證了這一算法的可行性和有效性。
關(guān)于SOC的定義,普遍采用的是美國(guó)先進(jìn)電池聯(lián)合會(huì)(USABC)的定義,SOC即State Of Charge,電池荷電狀態(tài),表示的是在一定的放電倍率下電池剩余電量與相同條件下電池額定容量的比值[6],其計(jì)算公式為:
(1)
(2)
式中,Q(Im)為電池以恒定Im電流放電時(shí)所具有的最大放電電量;Q(In)為在t時(shí)間內(nèi),在標(biāo)準(zhǔn)電流In下電池釋放的電量。而本文采用的是修正型SOC計(jì)算公式:
SOCD=SOC·K·f(I)
式中,K為溫度修正系數(shù);f(I)為電流修正系數(shù)。
動(dòng)力電池在充放電過(guò)程中是一個(gè)復(fù)雜的電化學(xué)過(guò)程,在電池工作期間會(huì)受到許多不確定因素的影響,這些因素當(dāng)中影響較大的有下面幾個(gè):1)充放電電流;2)溫度;3)電池老化;4)電池自放電等。
SOC估計(jì)精度通常受數(shù)學(xué)模型或網(wǎng)絡(luò)模型的影響較大,一個(gè)良好的電池估計(jì)模型能夠極大地提高電池SOC值估計(jì)精度;另外選擇影響電池SOC值相關(guān)變量也是一個(gè)關(guān)鍵,合適的選擇影響電池SOC值相關(guān)變量,不僅能夠提高電池SOC值估計(jì)精度,還能正確的反映電池的工作特性,極大的提供電池管理的效率。本文也是基于此通過(guò)優(yōu)化網(wǎng)絡(luò)模型以及合理的選擇影響電池SOC值的關(guān)鍵變量來(lái)提高電池SOC估計(jì)精度。
BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)的特點(diǎn)是“信號(hào)向前傳遞,誤差反向傳播”[7]。BP神經(jīng)網(wǎng)絡(luò)算法的基本原理是梯度最速下降法,它的思想就是通過(guò)調(diào)整權(quán)值使網(wǎng)絡(luò)的總誤差最小。利用BP神經(jīng)網(wǎng)絡(luò)這種特性能夠很好的滿足電池SOC值的預(yù)測(cè)估算問(wèn)題。通過(guò)BP神經(jīng)網(wǎng)絡(luò)的誤差反向傳播過(guò)程,能夠極大地減少由電池SOC值高度非線性造成的預(yù)測(cè)誤差。
本文結(jié)合鋰離子電池的實(shí)際工作模型,結(jié)合BP神經(jīng)網(wǎng)絡(luò)自身的工作特點(diǎn),采用三層神經(jīng)網(wǎng)絡(luò)對(duì)鋰離子電池進(jìn)行SOC值估算。
其中輸入層表示為X=(X1,X2,…Xn),Xn是輸入層的特征向量,n為輸入的特征向量個(gè)數(shù),輸出層表示為Y=(Y1,Y2,…Ym)Ym是輸出層的特征向量,m為輸出的特征向量個(gè)數(shù),wij,wjk為BP神經(jīng)網(wǎng)絡(luò)的權(quán)值,隱含層的閾值則用bk表示。通過(guò)三層網(wǎng)絡(luò)結(jié)構(gòu)模型建模,得到BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)電池SOC值網(wǎng)絡(luò)結(jié)構(gòu)模型。本文中鑒于影響鋰離子動(dòng)力電池SOC值的因素較多,模型中選取電池端電壓、電流和電池已放電量3個(gè)關(guān)鍵參數(shù)作為輸入變量傳入到輸入層中,輸出層則以電池的SOC值作為輸出。
免疫遺傳算法(IGA)[8-9]是模仿生物體免疫系統(tǒng)抵抗病菌的機(jī)制運(yùn)行的。該方法包含以下步驟:抗原識(shí)別,初始種群生成,計(jì)算個(gè)體適應(yīng)度,抗體的交叉變異,抗體親和力計(jì)算,種群更新,記憶單元的產(chǎn)生等。
其中把需要參數(shù)優(yōu)化的目標(biāo)函數(shù)[10]和約束條件可以看成是抗原,相應(yīng)的解集可以看作是抗體。目標(biāo)函數(shù)與解之間的匹配程度對(duì)應(yīng)于抗原與抗體之間的親和力,每對(duì)解之間的相似性對(duì)應(yīng)于每對(duì)抗體之間的濃度。在免疫遺傳算法中,首先在可行空間中隨機(jī)生成n個(gè)抗體,并使用適合的適應(yīng)度函數(shù)進(jìn)行評(píng)估。然后通過(guò)選擇,克隆增殖和變異來(lái)產(chǎn)生新的抗體。在選擇步驟中,選擇抗原和抗體之間具有高親和力的抗體作為克隆增殖的依據(jù)。通過(guò)克隆產(chǎn)生新的抗體,其中每種抗體的克隆率與其親和力成正比,并與其濃度成反比。另外,為了增強(qiáng)種群的多樣性,對(duì)每種抗體進(jìn)行變異處理,其中抗體的變異率與其親和力成反比。當(dāng)產(chǎn)生新的種群時(shí),IGA繼續(xù)通過(guò)選擇,克隆增殖和變異再次評(píng)估抗體,直到滿足終止標(biāo)準(zhǔn)。所提出的IGA的計(jì)算過(guò)程的流程見(jiàn)圖1。
圖1 IGA-BP聯(lián)合估計(jì)算法計(jì)算流程圖
根據(jù)以上分析,提出的IGA主要采用抗體濃度控制的機(jī)制維持種群多樣性和免疫遺傳特性,抑制進(jìn)化過(guò)程中的退化。 因?yàn)槊庖呦到y(tǒng)多樣性的特點(diǎn),所以能夠更好地保證可行空間的解的質(zhì)量。 在進(jìn)化過(guò)程中,抗原識(shí)別,親和力評(píng)估,遺傳操作(交叉和變異)和精英保留策略(抑制和更新)是該算法的關(guān)鍵步驟。另外上面說(shuō)明了免疫遺傳算法的計(jì)算過(guò)程,下面對(duì)這些關(guān)鍵步驟進(jìn)行了詳細(xì)的討論。
在提出的免疫遺傳算法中,在解空間中隨機(jī)產(chǎn)生有限數(shù)量的抗體,這些抗體以實(shí)數(shù)進(jìn)行編碼對(duì)于需要優(yōu)化的變量xi(i=1,2,…,n),定義xi的范圍為[ai,bi],對(duì)應(yīng)xi的實(shí)數(shù)編碼可以表示為xi=ai+γ·(bi-ai),其中γ是在[0,1]間均勻分布的隨機(jī)變量。抗體vi=(x1,x2,…,xj)表示為實(shí)數(shù)的向量,其中j是vi中元素的個(gè)數(shù)。在本文中,抗體的成分包括BP網(wǎng)絡(luò)中的權(quán)值參數(shù)w和閾值參數(shù)b。因此相應(yīng)的抗體結(jié)構(gòu)可以表示為vi=(wi,bi)。
在上面提出的算法中,有兩種親和力的評(píng)估方法。一種是抗體與抗原之間的親和力,代表抗體與抗原的結(jié)合強(qiáng)度。另一種是任何一對(duì)抗體之間的親和力,也稱為濃度,評(píng)估它們的性質(zhì)接近程度,從而保證多樣性。
在搜索BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值參數(shù)的最優(yōu)值之前,必須先設(shè)計(jì)一個(gè)親和函數(shù),評(píng)估每個(gè)抗體的性能。預(yù)先生成的訓(xùn)練特征子集用于計(jì)算抗體的親和力值。IGA中使用的親和度函數(shù)是基于BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)電池SOC值準(zhǔn)確性來(lái)實(shí)現(xiàn)的,通過(guò)訓(xùn)練特征子集進(jìn)行測(cè)試,其計(jì)算公式如下:
(3)
式中,yt為SOC的真實(shí)值;yp為網(wǎng)絡(luò)模型的預(yù)測(cè)值。之后的親和力評(píng)估是通過(guò)一個(gè)濃度函數(shù)來(lái)進(jìn)行,該濃度函數(shù)表示種群中每個(gè)抗體之間的相似性。在進(jìn)化過(guò)程中,由于所有抗體自適應(yīng)地調(diào)節(jié)其結(jié)構(gòu)以適應(yīng)抗原,種群多樣性將會(huì)降低。 所以選擇它們進(jìn)行遺傳操作之前,需要抑制這些高濃度的抗體。抗體的濃度函數(shù)計(jì)算公式如下:
(4)
(5)
式中,s(x,y)表示的是抗體x與抗體y的相似度,值越小,濃度c越大,抗體x和抗體y越相似;n是抗體的長(zhǎng)度。那么基于親和力和濃度的抗體k的選擇概率定義如下:
(6)
式中,β是反應(yīng)親和力fk和濃度ck的調(diào)節(jié)參數(shù);m表示種群中抗體的個(gè)數(shù)。從上式可以看出,與抗原親和力高的抗體被選擇幾率較大,任意一對(duì)濃度較大的抗體,被選擇幾率較低。 因此,與抗原具有高度親和力的抗體被促進(jìn),并且濃度大的抗體被抑制。 這種選擇策略有效地改善了種群多樣性,避免了進(jìn)化過(guò)程中的局部收斂。
遺傳操作包括交叉操作和變異操作,通過(guò)克隆繁殖生成新的抗體,提高IGA搜索最優(yōu)解的性能,避免局部收斂。
由于在本文中抗體是實(shí)數(shù)編碼的,因此可以采用多點(diǎn)交叉操作沿著有希望的解空間區(qū)域進(jìn)行搜索并改變。通過(guò)從群體中隨機(jī)選擇兩個(gè)抗體作為待交叉抗體并交換部分抗體串,在兩個(gè)選擇的抗體之間進(jìn)行交叉操作。根據(jù)選擇概率pc,從種群中隨機(jī)選擇兩個(gè)抗體xk和xl,則兩個(gè)抗體在j位的交叉操作可以描述如下:
(7)
式中,r是在[0,1]之間隨機(jī)變量。
交叉操作后,進(jìn)行變異操作以保持種群多樣性,避免IGA算法的早熟收斂。 通過(guò)從群體中隨機(jī)選擇抗體,所選抗體將以固定的概率pm進(jìn)行變異。對(duì)于選定的抗體xk,j位的變異可以描述如下:
(8)
式中,aj為j位下限值;bj為j位上限值;r是[0,1]之間的隨機(jī)變量;f(t)是變異概率,定義為如下:
(9)
式中,t為當(dāng)前迭代次數(shù);tmax為最大迭代次數(shù);r1是[0,1]之間的隨機(jī)變量。
記憶單元M是一組與抗原有較高親和力的抗體,對(duì)于保證免疫遺傳算法的收斂性非常重要。 由于記憶單元總數(shù)有限,如果新產(chǎn)生的抗體比現(xiàn)有M成員具有更高親和力的抗體,則當(dāng)前記憶單元中的親和度相對(duì)低的抗體將被這些親和力更高的抗體取代。 同時(shí),新產(chǎn)生的抗體如果與記憶單元中抗體結(jié)構(gòu)過(guò)于相似將會(huì)被消除,從而抑制了類似的抗體,保證了記憶單元的多樣性。
IGA算法對(duì)于解決BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值等非線性全局優(yōu)化問(wèn)題表現(xiàn)優(yōu)異,適合動(dòng)力電池SOC的BP神經(jīng)網(wǎng)絡(luò)估計(jì)模型。其中利用IGA算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值參數(shù)w和閾值參數(shù)b進(jìn)行優(yōu)化并構(gòu)建IGA-BP模型的步驟如下:
1)設(shè)置免疫遺傳算法參數(shù):設(shè)進(jìn)化代數(shù)為200,種群數(shù)量60,交叉概率0.2,變異概率0.1,w=10-6~104,b=10-6~102;
2)抗原識(shí)別:把BP神經(jīng)網(wǎng)絡(luò)的待尋優(yōu)的權(quán)值和閾值作為抗原,相應(yīng)的結(jié)構(gòu)為vi=(wi,bi);
3)初始化種群:在參數(shù)搜索的范圍內(nèi)隨機(jī)產(chǎn)生60個(gè)個(gè)體作為初代個(gè)體;
4)個(gè)體評(píng)估:利用訓(xùn)練數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,計(jì)算當(dāng)前種群中個(gè)體的適應(yīng)度;
5)終止條件判斷:如果個(gè)體達(dá)到設(shè)置的停止閾值或達(dá)到優(yōu)化的代數(shù),結(jié)束循環(huán),跳轉(zhuǎn)到步驟;否則,執(zhí)行步驟6);
6)根據(jù)當(dāng)前種群中的抗體的親和力進(jìn)行選擇、交叉、變異操作,產(chǎn)生子代種群;
7)更新種群:將子代種群作為當(dāng)前種群,并產(chǎn)生記憶單元抗體,跳轉(zhuǎn)至步驟4),繼續(xù)執(zhí)行操作;
8)記錄IGA-BP模型的最優(yōu)參數(shù)[wbest,bbest];利用最優(yōu)參數(shù)建立IGA-BP模型,并利用該模型對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行訓(xùn)練和預(yù)測(cè)。
本文采用26650磷酸鐵鋰動(dòng)力型鋰電池,其額定容量為3 Ah,額定電壓3.2 V,數(shù)據(jù)采集系統(tǒng)采用的是NEWARE BTS-8000,圖2為電池測(cè)試平臺(tái),在室溫(25℃)下,利用該平臺(tái)上進(jìn)行了不同的倍率下的放電實(shí)驗(yàn)見(jiàn)圖3,并利用該平臺(tái)獲取樣本數(shù)據(jù)對(duì)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練和預(yù)測(cè)。
圖2 電池測(cè)試平臺(tái)
圖3 不同倍率下動(dòng)力電池放電實(shí)驗(yàn)曲線
利用電池測(cè)試平臺(tái)獲得的電池?cái)?shù)據(jù),采用IGA-BP算法的網(wǎng)絡(luò)為模型,輸入電池測(cè)試數(shù)據(jù),模型估計(jì)結(jié)果和估計(jì)精度見(jiàn)圖4、圖5,估計(jì)精度對(duì)比結(jié)果見(jiàn)表1。
圖4 IGA-BP聯(lián)合估計(jì)實(shí)驗(yàn)結(jié)果
圖5 IGA-BP聯(lián)合估計(jì)實(shí)驗(yàn)誤差對(duì)比曲線
算法實(shí)驗(yàn)編號(hào)絕對(duì)誤差A(yù)E均方根誤差RMSE/%平均絕對(duì)百分誤差MAPEBP#10.89427.110.3152#20.96167.890.3526#30.88957.990.3668IGA-BP#10.21451.470.1213#20.19521.560.1565#30.19411.480.1325
從圖5和表1中可以看出,IGA-BP神經(jīng)網(wǎng)絡(luò)相較于未經(jīng)過(guò)優(yōu)化的BP神經(jīng)網(wǎng)絡(luò),在估計(jì)精度上面有了很大的提高,估計(jì)誤差進(jìn)一步縮小,均方根誤差控制在2%以內(nèi),表明IGA-BP網(wǎng)絡(luò)模型可以對(duì)電池SOC值進(jìn)行有效的估計(jì)。
為了進(jìn)一步驗(yàn)證IGA-BP算法的準(zhǔn)確性,本文將使用電池動(dòng)態(tài)工況實(shí)驗(yàn)數(shù)據(jù)進(jìn)行驗(yàn)證,該動(dòng)態(tài)工況實(shí)驗(yàn)?zāi)軌驅(qū)崟r(shí)的反應(yīng)電池的動(dòng)態(tài)狀態(tài)。其中電池的初始SOC值為80%,實(shí)驗(yàn)溫度為25℃,放電電流為負(fù),充電電流為正。所采用的電池實(shí)際工況曲線見(jiàn)圖6。
圖6 電池工況曲線
利用之前訓(xùn)練好的IGA-BP神經(jīng)網(wǎng)絡(luò),輸入電池工況實(shí)驗(yàn)數(shù)據(jù)進(jìn)行驗(yàn)證,在實(shí)際工況下的電池SOC跟蹤曲線和估計(jì)精度對(duì)比見(jiàn)圖7、圖8,估計(jì)誤差結(jié)果對(duì)比見(jiàn)表2。
圖7 實(shí)際工況SOC跟蹤曲線
圖8 實(shí)際工況下估計(jì)誤差
算法實(shí)驗(yàn)編號(hào)絕對(duì)誤差A(yù)E均方根誤差RMSE/%平均絕對(duì)百分誤差MAPEBP#10.994 27.810.345 2#20.961 67.950.382 6#30.989 58.290.411 5IGA-BP#10.254 51.670.131 3#20.295 21.860.176 5#30.294 11.980.182 5
從圖7、圖8和表2可以看出,在實(shí)際工況下,該模型在電池實(shí)際工況下依然能夠有效地估計(jì)電池SOC值,并且估計(jì)誤差相較于未經(jīng)優(yōu)化的網(wǎng)絡(luò)有了明顯地提高,表明了在實(shí)際工況下該算法可行性和有效性。同時(shí)結(jié)果表明采用基于免疫遺傳算法的IGA-BP神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn)了對(duì)電池SOC的精確估計(jì),估計(jì)均方根誤差控制在2%以內(nèi),滿足所需控制要求。
本文針對(duì)動(dòng)力電池SOC值難以直接測(cè)量且由于高度非線性所帶來(lái)較大估算誤差問(wèn)題,借鑒生物領(lǐng)域的免疫遺傳機(jī)制,提出了一種新穎的免疫遺傳算法(Immune Genetic Algorithm,IGA)和BP神經(jīng)網(wǎng)絡(luò)相結(jié)合的鋰離子動(dòng)力電池SOC值聯(lián)合估計(jì)方法。通過(guò)新穎的免疫遺傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行參數(shù)尋優(yōu),提高了網(wǎng)絡(luò)的學(xué)習(xí)效率和SOC的估計(jì)精度。最后為了進(jìn)一步驗(yàn)證該算法的有效性和可行性,通過(guò)電動(dòng)汽車實(shí)際工況下的電池放電實(shí)驗(yàn)進(jìn)行了相關(guān)驗(yàn)證,結(jié)果表明在實(shí)際工況下該算法依然能夠有效的估計(jì)電池的SOC值,滿足現(xiàn)代新能源電動(dòng)汽車對(duì)動(dòng)力電池SOC值的估計(jì)精度需求。