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