高洪森,王 雪,魏宏博,游國棟,侯曉鑫,趙雙樂
(1. 天津力神電池股份有限公司,天津 300384;2. 天津科技大學(xué)電子信息與自動化學(xué)院,天津 300222)
與鉛酸電池以及堿性電池相比,鋰離子電池具有能量密度高、自放電率低、無記憶效應(yīng)以及熱效應(yīng)小等優(yōu)點(diǎn)[1].但是,單節(jié)鋰離子電池只能夠產(chǎn)生1.5~4.5V的輸出電壓,在實(shí)際應(yīng)用中為了獲得滿足需求的輸出電壓,通常需要把多個鋰離子電池串聯(lián)起來使用[2].在電池管理系統(tǒng)(BMS)中,荷電狀態(tài)(state of charge,SOC)是一個用于表示電池狀態(tài)的重要參數(shù),它不僅可以給出電池組當(dāng)前的剩余容量,而且能指示電池組的可用壽命.作為BMS的一個重要參數(shù),SOC一般用于評估電池的運(yùn)行狀態(tài)和健康狀況[3],SOC的準(zhǔn)確估計(jì)對鋰離子電池的高效利用和能量管理具有重要意義.
卡爾曼濾波(Kalman filters,KF)算法是利用線性系統(tǒng)狀態(tài)方程,通過系統(tǒng)輸入輸出觀測數(shù)據(jù),對系統(tǒng)進(jìn)行最優(yōu)估計(jì)的算法.由于觀測數(shù)據(jù)中包括系統(tǒng)中的噪聲和干擾,所以也可以把最優(yōu)估計(jì)當(dāng)作一個濾波過程,卡爾曼濾波算法是一種常見的鋰離子電池SOC估計(jì)算法[4-5].鋰離子電池在工作時,其運(yùn)行狀態(tài)復(fù)雜而且容易受很多因素的干擾.為了解決串聯(lián)鋰離子電池組不一致性的辨識與SOC估計(jì)等問題,葛云龍等[6]提出一種STF&LM算法,該算法能將各單體電池的SOC、內(nèi)阻估計(jì)誤差控制在合理的范圍內(nèi),從而更好地辨識電池組內(nèi)電池的不一致性以及進(jìn)行SOC的估計(jì).范文杰等[7]在分析鋰離子電池二階RC等效電路的基礎(chǔ)上,采用電化學(xué)阻抗譜對鋰離子電池的內(nèi)部溫度進(jìn)行了估計(jì),該方法提高了電池歐姆電阻和容量估計(jì)的精度.上述算法大都把系統(tǒng)的噪聲特性設(shè)置為已知的量,然而在系統(tǒng)運(yùn)行時,它的過程噪聲方差陣或觀測噪聲方差陣并不是已知的,并且還具有很強(qiáng)的不確定性和時變性,因此如果錯誤估計(jì)了參數(shù),常常會造成濾波的發(fā)散.
深度強(qiáng)化學(xué)習(xí)將深度學(xué)習(xí)的感知能力和強(qiáng)化學(xué)習(xí)的決策能力相結(jié)合,可以直接根據(jù)輸入圖像進(jìn)行輸出控制,是一種更加接近人類思維方式的人工智能方法[8-10].文獻(xiàn)[11]利用深度強(qiáng)化學(xué)習(xí)思維,提出了一種強(qiáng)化學(xué)習(xí)的鋰離子電池SOC估計(jì)算法,該方法的優(yōu)點(diǎn)在于能夠更加準(zhǔn)確且靈活地估計(jì)鋰離子電池的SOC,缺點(diǎn)是更改參數(shù)存在困難.文獻(xiàn)[12]和文獻(xiàn)[13]分別將神經(jīng)網(wǎng)絡(luò)和卡爾曼濾波算法相結(jié)合,提出了兩種不同的算法,實(shí)驗(yàn)均驗(yàn)證了算法能夠提高鋰離子電池SOC估計(jì)的精度.但是在上述算法中,初始學(xué)習(xí)參數(shù)的選擇主要依靠經(jīng)驗(yàn),如果參數(shù)選擇不當(dāng),很容易產(chǎn)生局部最優(yōu)解.廖曉閩等[14]構(gòu)建了一種深度強(qiáng)化學(xué)習(xí)的蜂窩網(wǎng)資源分配算法,用于解決蜂窩網(wǎng)資源分配多目標(biāo)優(yōu)化問題.作者通過Q-learning機(jī)制設(shè)計(jì)了誤差函數(shù),利用梯度下降法訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的權(quán)值,訓(xùn)練結(jié)果表明該算法能夠自主設(shè)置資源分配方案的偏重程度,且收斂速度快.
基于上述分析,本文通過構(gòu)建鋰離子電池的二階RC等效電路模型,建立了離散系統(tǒng)數(shù)學(xué)模型,設(shè)計(jì)了一種新的基于深度強(qiáng)化學(xué)習(xí)擴(kuò)展卡爾曼濾波鋰離子電池SOC估計(jì)算法.首先,通過分析鋰離子電池二階RC等效電路模型,建立了電池的SOC空間模型,并利用擴(kuò)展卡爾曼濾波(extended Kalman filter,EKF)算法構(gòu)建了鋰離子電池的離散系統(tǒng)數(shù)學(xué)模型.結(jié)合人工智能思想,進(jìn)一步設(shè)計(jì)了一個深度強(qiáng)化學(xué)習(xí)擴(kuò)展卡爾曼濾波鋰離子電池SOC估計(jì)算法,該算法設(shè)計(jì)了雙深度Q 網(wǎng)絡(luò)(雙DQN,DDQN),并對EKF參數(shù)進(jìn)行優(yōu)化.仿真結(jié)果表明該算法能夠較好 地提高SOC的估計(jì)精度.
針對鋰離子電池SOC估計(jì)的模型主要有等效電路模型、電化學(xué)模型和人工神經(jīng)網(wǎng)絡(luò)模型.相比后兩者,前者能準(zhǔn)確表達(dá)電池的動態(tài)特性,故本文選擇鋰離子電池二階RC等效電路模型作為研究對象,鋰離子電池二階RC等效電路模型如圖1所示.二階RC等效電路模型是由兩組RC網(wǎng)絡(luò)、串聯(lián)的電阻器和電壓源組成的電路.圖1中:Ut為輸出端電壓;Uoc為電池開路電壓;Rc為電池歐姆電阻;Ic為電池的工作電流;R1、C1分別為電池電化學(xué)極化電阻和極化電容;R2、C2分別為電池濃度極化電阻和極化電容;U1為R1、C1的端電壓;U2為R2、C2的端電壓.
圖1 鋰離子電池二階RC等效電路模型 Fig. 1 Second-order RC equivalent circuit model of Liion battery
根據(jù)圖1的二階RC等效電路模型可得到電路的基本方程
根據(jù)美國先進(jìn)電池聯(lián)合會的定義,SOC的計(jì)算公式為
式中:S為電池的SOC;S(t)為t時刻的SOC;S(t0)為t0時刻的SOC;CN為標(biāo)稱容量;η為庫侖效率,即實(shí)際充電電流與實(shí)際電池電流之比.
Ic>0時,電池正在進(jìn)行放電;Ic<0時,電池正在進(jìn)行充電.
根據(jù)開路電壓法,可知等效電路模型中的開路電壓與電池的SOC存在線性關(guān)系.即
EKF是在KF基礎(chǔ)上,將非線性環(huán)節(jié)線性化,對狀態(tài)方程和觀測方程的系數(shù)矩陣進(jìn)行泰勒級數(shù)展開,并忽略或逼近二次及以上的高次項(xiàng),以此來解決非線性問題.鋰離子電池充放電是一種典型的非線性過程,采用EKF對其二階RC等效電路模型電氣基本方程進(jìn)行離散化,得到
式中:Δt為采樣時間,Q1為電池額定容量,wk為系統(tǒng)噪聲,vk為觀測噪聲.
雙DQN通過使用兩個Q網(wǎng)絡(luò)解決算法在學(xué)習(xí)過程中產(chǎn)生的過估計(jì)問題[14].雙DQN利用當(dāng)前Q網(wǎng)絡(luò)Q(st,at,θ)負(fù)責(zé)動作的選擇,利用目標(biāo)Q網(wǎng)絡(luò)Q′(st,at,θ)負(fù)責(zé)計(jì)算目標(biāo)Q值,減少因?yàn)镼值的最大值計(jì)算帶來的偏差所導(dǎo)致的值函數(shù)過估計(jì)問題,關(guān)系如式(6)所示.
式中:at為當(dāng)前Q網(wǎng)絡(luò)選擇的動作變量,st為當(dāng)前Q網(wǎng)絡(luò)的狀態(tài)變量,θ為當(dāng)前Q網(wǎng)絡(luò)的參數(shù),γ為當(dāng)前Q網(wǎng)絡(luò)的折扣因子.
基于雙DQN的目標(biāo)Q值計(jì)算如下
式中:rt+1為目標(biāo)Q網(wǎng)絡(luò)的獎勵變量;θ-為目標(biāo)Q網(wǎng)絡(luò)的參數(shù).
利用控制動作執(zhí)行的實(shí)時情況,對強(qiáng)化學(xué)習(xí)控制進(jìn)行優(yōu)化訓(xùn)練,通過學(xué)習(xí)對EKF的參數(shù)進(jìn)行持續(xù)優(yōu)化.為了避免學(xué)習(xí)陷入局部最優(yōu),同時保證算法的收斂速度,本文引入了貪婪策略(ε-policy).在雙DQN模塊中,通過在每次迭代中優(yōu)化目標(biāo)函數(shù),實(shí)現(xiàn)損失函數(shù)[Yi-Q(si,ai,θ)]2的最小化.優(yōu)化儲能預(yù)測的EKF中參數(shù)的雙DQN流程圖如圖2所示.
圖2 優(yōu)化儲能預(yù)測的EKF中參數(shù)的雙DQN流程圖 Fig. 2 Double DQN flow chart for optimizing parameters in EKF for energy storage prediction
基于雙DQN和EKF的鋰離子電池SOC估計(jì)的運(yùn)行流程由兩部分組成,分別為環(huán)境和智能體.
第一部分為環(huán)境,它由等效電路模塊和EKF模塊組成.首先,構(gòu)建鋰離子電池二階RC等效電路模型,建立鋰離子電池動態(tài)特性電氣方程;然后,將電氣方程離散化,獲得狀態(tài)方程和觀測方程;最后,代入EKF模塊中,進(jìn)行循環(huán)迭代,對鋰離子電池的SOC進(jìn)行估計(jì).作為環(huán)境,需要為智能體提供狀態(tài)變量st、動作變量at和獎勵變量rt,并且需要對它們的參數(shù)進(jìn)行設(shè)置.
狀態(tài)變量類型的選擇對控制性能有重要影響. 為了防止訓(xùn)練后的深度神經(jīng)網(wǎng)絡(luò)陷入局部最優(yōu),一般需要觀察和訓(xùn)練的狀態(tài)變量較少.然而,雙DQN算法在缺少關(guān)鍵狀態(tài)變量的情況下,可能無法充分理解狀態(tài)轉(zhuǎn)換過程與環(huán)境之間的相互作用關(guān)系,導(dǎo)致迭代和收斂困難.因此,選取等效電路模型的狀態(tài)函數(shù)和EKF中導(dǎo)致SOC估計(jì)造成誤差的函數(shù)作為狀態(tài)變量,即
由于所研究的鋰離子電池二階RC等效電路已通過EKF轉(zhuǎn)換為離散數(shù)學(xué)系統(tǒng),需要將動作離散化,并且將離散化步長設(shè)置適中.如果離散化步長過小,則增加算法訓(xùn)練時間;如果離散化步長過大,會造成算法的局部最優(yōu).根據(jù)假設(shè),EKF為雙DQN模塊提供EKF中的觀測方差R,動作參數(shù)為
Action={increasing R 10 times,increasing R 5 times,maintaining R,decreasing R 5 times,decreasing R 10 times}
獎勵函數(shù)用于評估給定狀態(tài)下動作值的質(zhì)量,主要依賴于SOC的估計(jì)誤差(eSOC),其定義為
式中:Re表示獎勵函數(shù),Lr表示學(xué)習(xí)因子.
第二部分為智能體,即雙DQN模塊,它利用由EKF模塊提供的狀態(tài)st、動作at和獎勵rt,采用貪婪策略選擇動作,改變EKF中的觀測方差R,將產(chǎn)生的經(jīng)驗(yàn)樣本(rt,st+1)存儲到經(jīng)驗(yàn)池中,然后每隔D步對隨機(jī)抽取的經(jīng)驗(yàn)樣本進(jìn)行經(jīng)驗(yàn)回放,更新網(wǎng)絡(luò)參數(shù).該部分的核心是采用貪婪策略選擇動作對EKF模塊的參數(shù)進(jìn)行優(yōu)化,隨著迭代次數(shù)的增加,動作的輸出逐漸穩(wěn)定,獎勵函數(shù)獲得最優(yōu)值.該模塊的算法框架如圖3所示.
圖3 雙DQN模塊的訓(xùn)練算法框架 Fig. 3 Training algorithm framework of double DQN
根據(jù)仿真需求與人工經(jīng)驗(yàn)對雙DQN算法的超參數(shù)進(jìn)行設(shè)置.超參數(shù)是在算法開始學(xué)習(xí)過程之前設(shè)置的參數(shù),包括學(xué)習(xí)率α、折扣因子γ、存儲樣本最大值N、貪婪策略的初始概率ε和經(jīng)驗(yàn)回放大小n,超參數(shù)設(shè)置見表1.
表1 雙DQN算法的超參數(shù)設(shè)置 Tab. 1 Super parameters setting of double DQN algorithm
3.1.1 電池基本參數(shù)
文中選取的研究對象為天津力神電池股份有限公司生產(chǎn)的18650EC型鋰離子電池,該電池的額定容量為1.3A·h,標(biāo)稱電壓為3.2V,充電截止電壓為3.6V,放電截止電壓為2.8V.
3.1.2 測量步驟
使用電池測量裝置,不斷地進(jìn)行充放電實(shí)驗(yàn),測量電池的開路電壓,測量時按照如下步驟進(jìn)行操作:
第一步:將待測電池測試環(huán)境的溫度設(shè)定在常溫(20~25℃).
第二步:0.02It(It為參考電流)恒流充電至3.6V,然后恒壓充電,至電流小于0.02It,靜置1h.SOC標(biāo)記為100%,記錄放電開路電壓.
第三步:0.02It恒流放電,放電時間為10min,靜置1h.SOC標(biāo)記為90%,記錄放電開路電壓.
第四步:重復(fù)第三步,分別將電池的SOC標(biāo)記為80%、70%……10%、0.
第五步:靜置1h,0.02It恒流充電,操作過程與放電過程相同,每次充電后靜置1h,記錄充電開路電壓.
3.1.3 擬合Uoc-S特性曲線
經(jīng)過以上的測量步驟,可以得到電池不同SOC時對應(yīng)的開路電壓,擬合后得到的Uoc-S特性曲線如圖4所示.
圖4 Uoc-S特性曲線 Fig. 4 Uoc-S characteristic curve
基于DQN和雙DQN算法的訓(xùn)練迭代中累計(jì)獎勵的均值如圖5所示.在學(xué)習(xí)的初始階段,智能體更傾向于選擇“探索”策略,目的是找到更多有關(guān)環(huán)境的信息(即嘗試各種控制動作),導(dǎo)致累計(jì)獎勵的均值在相對較低的水平.隨著訓(xùn)練迭代的進(jìn)行,兩種智能體都逐漸傾向于選擇累計(jì)獎勵較高的動作,即獎勵函數(shù)值隨著SOC的估計(jì)誤差的減小而單調(diào)增加,最終趨于穩(wěn)定.但由于探索的波動,累計(jì)獎勵并不是嚴(yán)格連續(xù)遞增的.與DQN相比,基于雙DQN的策略在收斂速度上顯示出更好的性能和更高的累計(jì)獎勵的均值,表明雙DQN可以同時產(chǎn)生更準(zhǔn)確的價值估計(jì)和更好的策略.
圖5 累計(jì)獎勵的均值 Fig. 5 Average value of cumulative awards
基于EKF的鋰離子電池SOC的估計(jì)誤差觀測圖如圖6所示.在仿真初始階段,誤差較??;但是,隨著時間的推移,誤差逐漸變大,最后逐漸變小,趨于平穩(wěn).基于EKF的鋰離子電池SOC估計(jì)雖然具有較好的準(zhǔn)確度,但是仍舊存在誤差偏大和收斂時間較長的缺點(diǎn).
圖6 基于EKF的鋰離子電池SOC的估計(jì)誤差觀測圖 Fig. 6 Observation diagram of state of charge estimation error of Li-ion battery based on EKF parameters
基于DQN和雙DQN算法優(yōu)化EKF參數(shù)的鋰離子電池SOC的估計(jì)誤差觀測圖如圖7所示.在仿真初期,基于DQN和雙DQN算法的SOC的估計(jì)誤差均偏大;但是隨著迭代訓(xùn)練的增加,兩者SOC的估計(jì)誤差均逐漸變?。畬Ρ葓D5—圖7可知,雙DQN算法得到的鋰離子電池SOC的估計(jì)誤差比另外兩種算法得到的要小,雙DQN算法的性能高于另外兩種算法.
圖7 基于DQN和雙DQN算法優(yōu)化EKF參數(shù)的鋰離子電池SOC的估計(jì)誤差觀測圖 Fig. 7 Observation diagram of state of charge estimation error of Li-ion battery based on DQN and double DQN algorithm to optimize EKF parameters
針對鋰離子電池的SOC估計(jì)精度問題,結(jié)合傳統(tǒng)的EKF算法和深度強(qiáng)化學(xué)習(xí)思想,設(shè)計(jì)一種新的雙DQN擴(kuò)展卡爾曼濾波鋰離子電池SOC估計(jì)方法.該方法采用深度強(qiáng)化學(xué)習(xí)對EKF的參數(shù)進(jìn)行優(yōu)化,對原有的SOC估計(jì)方法進(jìn)行改進(jìn),提高了SOC的估計(jì)性能.通過實(shí)驗(yàn)測試與數(shù)據(jù)擬合,構(gòu)建鋰離子電池開路電壓與SOC特性曲線模型,設(shè)計(jì)關(guān)于優(yōu)化儲能預(yù)測的EKF中參數(shù)的雙DQN的框架圖,選擇等效電路模型的狀態(tài)函數(shù)和EKF中導(dǎo)致SOC估計(jì)產(chǎn)生誤差的函數(shù)作為狀態(tài)變量,對控制動作EKF中的觀測方差進(jìn)行改變,從而對SOC進(jìn)行估計(jì).仿真結(jié)果表明,該估計(jì)方法在利用兩種算法優(yōu)點(diǎn)的基礎(chǔ)上,有效降低了估計(jì)過程的計(jì)算量,進(jìn)而提升了SOC估計(jì)的精度,具有較好的實(shí)用性.