李家曦,孫友長,龐玉涵,伍朝兵,楊小青,胡 博,2
(1.重慶理工大學 車輛工程學院 汽車零部件先進制造技術教育部重點實驗室,重慶 400054;2.寧波市鄞州德來特技術有限公司,浙江 寧波 315100)
混合動力汽車的能量管理策略決定了其在行駛過程中能否實現對能源的高效利用,以達到節能減排的目標。能量管理策略主要是在發動機和電機的總功率滿足駕駛員的功率需求時,通過對兩者間的功率分配改善能源利用率,提高燃油經濟性[1-2]。如圖1所示,目前主流的控制策略有兩類:基于規則或者基于優化。基于規則的控制策略往往需要消耗大量調參資源并且適用范圍受到工況限制,早已有學者對其在混合動力汽車能量管理策略上的應用進行了研究[3-4]。而基于優化的控制策略因為其適應性好,調參相對簡單等特點,使得基于優化的控制策略逐漸成為研究熱點。國內外近年來對混合動力汽車能量管理策略的優化算法研究案例也逐漸增多,如Serrao等對3種已知的優化算法進行了比較分析[5],包括動態規劃、龐特里亞金最小原理(pontryagin’s minimum principle,PMP)和等效能耗最小策略[5-7],討論了能量管理策略的實時和全局優化方法。全局優化中的代表算法動態規劃雖然能夠達到全局最優的控制效果,但由于動態規劃需要事先獲得行駛工況信息導致其一般不能滿足實時控制要求。龐特里亞金最小原理由蘇聯學者龐特里亞金提出的極大值原理轉換得到[8]。多位學者嘗試引入龐特里亞金最小值原理來求解混合動力汽車在特定工況下的最優控制問題[9-12],但是基于PMP的控制方法較為復雜且系統方程并非連續,需要通過離散狀態解決,這一點并不符合大多數工程控制領域的連續動作控制[13]。而基于龐特里亞金最小原理發展出的等效能耗最小策略(equivalent consumption minimization strategy,ECMS)解決了PMP方法中系統方程不連續的問題[14]。本文重點討論ECMS方法在混合動力汽車能量管理控制策略領域的應用發展。
ECMS是一種由Paganelli等提出的實時優化方法[15],通過將全局最優問題轉為瞬時最優問題,使得實時計算成為可能,并且消耗計算資源相對較少。通過ECMS中的等效因子將消耗的電能轉化為等效的燃油消耗,加以計算最小化瞬時能耗,因此等效因子的選擇也即ECMS方法的關鍵點[16-17]。Serrao等[18]通過將ECMS應用于混合動力汽車能量管理策略,證明了合適的等效因子能夠使ECMS逼近全局最優控制。而根據等效因子在行駛過程中是否固定,ECMS又分為nonadaptive-ECMS和adaptive-ECMS,固定等效因子的nonadaptive方式雖然有逼近全局最優解的可能,但由于需要事先獲得行駛工況信息對等效因子值進行調整,而不能滿足實際多變的行駛工況,這時能夠在行駛過程中對等效因子進行調整的adaptive方式則更加符合實際車輛行駛的需求[19]。傳統的adaptive-ECMS方法往往是通過較為簡單的PID反饋控制器對等效因子進行調整[20-21],這可能會使調整效果較為一般,從而無法在調參能力有限時達到更優的控制目標。而隨著近年來人工智能技術尤其是機器學習中強化學習(reinforcement learning,RL)的快速發展,結合強化學習的智能算法在工業控制問題的應用研究取得了良好進展[22-23]。本文將通過強化學習改進A-ECMS方法,并對改進后的算法性能進行討論。
最近幾年,將強化學習應用于能量管理策略的研究引起國內外學者的關注。強化學習是來源于機器學習的一個普遍且高效的技術,適用于解決序貫決策問題[24]。2012年,Hsu等[25]使用Qlearning算法對混合動力自行車進行功率管理,他們量化了安全性和舒適性指標,比如騎行質量和電池的能源利用率。仿真結果表明:騎行質量和能源利用率可分別提高24%和50%。Yue等[26]提出了一種基于TD(λ)-learning、無模型(modelfree)的在線策略來管理HEV中超級電容器和電池中的能量流。如圖2所示,Hu等[27]在ADVISOR上評估了他們基于深度Q網絡(deep Q network,DQN)的能量管理策略,并通過與基于規則的控制策略進行比較,在當前的駕駛情況下,通過值函數誤差選擇最優匹配策略,證明了該策略可以滿足實時控制和在線學習目標。Zhao等[28]應用深度神經網絡(DNN)來訓練離線值函數,并使用Q-learning算法實現在線控制,可以適應不同的動力系統建模和駕駛情況。Liessner R等[29]構建了基于DRL的能量管理策略,該策略考慮了不同司機的駕駛行為以提高燃油效率。而目前應用強化學習在混合動力汽車能量管理控制策略方面的研究案例中,大部分還是通過離散動作的控制方法,這也導致控制效果與離散程度高度相關,不滿足實際工程控制需求。為了解決此類需要執行連續動作的控制問題,谷歌Deepmind近期提出了深度確定性策略梯度算法(deep deterministic policy gradient,DDPG),該算法結合深度Q網絡與評論家-批評家算法(actor-critic,AC),具有兩者各自的特點,能夠大幅提升算法收斂速度和控制效果。
不同于其他基于強化學習的控制策略對能量管理進行優化,本文提出了一種結合DDPG與AECMS的控制方法。通過DDPG對A-ECMS中的等效因子s進行控制以解決整車的SOC保持、油耗管理問題,同時在邊緣計算架構下以并行的深度強化學習框架加快算法的收斂速度。本文其余結構如下:第1節介紹了混合動力汽車模型以及ECMS方法,第2節說明了所使用的強化學習理論,在第3節解釋了設計的實驗仿真流程,第4節分析了實驗結果,第5節給出了結論。
研究對象選擇一款P2構型的混合動力汽車,電機置于變速箱的輸入端,在發動機與變速箱之間。車輛結構圖如圖3所示。
汽車運動模型:考慮汽車行駛時需要克服的路面滾動阻力Fr、空氣阻力FW,不考慮其他動力學因素。
空氣阻力表示如下:
A是迎風面積;CD是空氣阻力系數;ρα是空氣密度;v是車速。滾動阻力表示如下:k是車輛滑動阻力系數;M是整備質量;g是重力加速度。設驅動力Fx,汽車加速度表示如下:
發動機模型:采用準靜態模型進行發動機建模。燃料消耗率定義為
Ten是發動機輸出扭矩;nen是發動機轉速;燃油消耗率是兩者的函數。在時間T內的總油耗可由燃油消耗率積分得到:
電機模型:電動狀態時輸入電能,功率由定子端電壓和電流的乘積決定,輸出為機械能,功率由轉子端轉速和轉矩乘積決定,此時有功率損失,建模需查看效率表。發電狀態時能量流方向相反,輸入為電機轉矩和轉子轉速的機械功率。輸出為定子端電壓和電流乘積的電功率。本模型建模未考慮溫度等因素影響。
電動狀態時,電機轉矩Tm與轉速ωn滿足(ηm是電機電動狀態的效率):
發電狀態時,電機轉矩Tm與轉速ωn滿足(ηm是電機發電狀態的效率):
電池模型:采用最大容量5.3 Ah的磷酸鐵鋰電池,選用內阻模型建模。由于SOC與開路電壓關系特性曲線可由電池實驗獲得,則已知電池輸出功率時,可由SOC狀況求得電池電流,以此獲得此時電壓狀況,由電池功率平衡關系和電壓關系得:
Ubat和Voc分別為電池輸出電壓和開路電壓,rint是電池內阻;Pbat是電池輸出功率。SOC微分表達式為
Qbor為電池額定容量。為保證部件的安全性和可靠性,需滿足式(11)約束(發動機與電機的輸出轉速、轉矩范圍,SOC變化范圍,電池電流、功率變化范圍):
ECMS基于這樣的理念:混合動力車行駛過程中,初始SOC狀態應與行駛結束時的SOC保持相同,這個過程電池可以被看作是一個可逆的燃料箱,只作為能量緩沖器使用,所有能源消耗均來自發動機,目的是提高發動機工作效率。在電池放電階段使用的任何儲存電能必須在以后的階段通過發動機燃料或是通過再生制動進行補充。ECMS通過將計算全局燃料消耗最小值轉化為計算瞬時燃料消耗最小值,并以此推導出電機與發動機的功率分配比。ECMS中的瞬時成本被定義為
s(t)為等效因子EF,等效因子的作用是將電池功率轉化為等效燃油功率。
在傳統的離線實驗中,等效因子是通過迭代搜索發現最優值(通過打靶法求得),也即nonadaptive-ECMS方法。例如將每次迭代的等效因子值持續輸入訓練環境中并觀察效果,以此獲得能達到全局最優控制效果的最佳值。由于其值與某時刻所達到的SOC值存在明確關系,故通過迭代搜索是可行的。
而在當前基于ECMS方法的混合動力汽車能量管理策略中,等效因子的值往往是通過PID控制器調整,即將SOC與目標SOC(即初始值)之差作為PID控制器的輸入,經過計算得到輸出,即等效因子值,屬于一種常見的A-ECMS方法,如圖4。而基于PID的A-ECMS方法往不能達到較好的控制效果或是滿足在多個或未知工況下的行駛需求,本論文將通過深度強化學習對解決此問題進行探索。
強化學習是機器學習方法的一個分支,它通過智能體(Agent)與環境交互,即向環境輸入動作,并且從環境獲取反饋的方式來對自己的策略進行調整。算法邏輯結構如圖5所示,智能體根據環境當前的狀況作出決策并采取動作,在下個時間段獲得環境新的狀況以及獎勵信息Reward,通過這個過程來學習并更新強化學習的控制器,目標是通過試錯(Trial-and-error)的方式達到改進系統性能的目的[30-31],使獎勵信息的累計值達到最大。
深度強化學習由谷歌Deepmind在2015年首次提出并被應用于解決圍棋任務,取得了極好的效果且擊敗了圍棋界的頂級人類選手[32-33]。圖6是深度強化學習算法的邏輯圖,智能體通過神經網絡代替強化學習中的Q表,將狀態輸入給神經網絡預測其價值并輸出動作。
DDPG是由谷歌Deepmind團隊在2016年提出的[34],它成功實現了網絡直接輸出動作,從而使算法能夠在連續空間進行控制,DDPG和Actor-Critic算法相同的是:DDPG同樣具有Actor和Critic 2個網絡,通過Actor輸出動作,Critic基于Actor輸出的動作進行評估,而Actor基于Critic產生的梯度進行更新。DDPG算法和DQN相同之處是通過經驗數據回放的方式更新網絡,而Actorcritic是通過回合進行更新,DDPG的Actor-critic網絡中同樣具有evaluate和target 2個網絡,更新方式也與DQN相同,這一關系可由圖7表示。
DDPG算法的邏輯結構如下:
DDPG Algorithm
1:Randomly initialize critic network Q(s,a|θQ)and actor μ(s|θμ)with weightsθQandθμ
2:Initialize target networkθ*andμ′with weightsθQ←θQ,θμ←θμ
3:Initialize replay buffer R
4:for episode=1,M do
5:Initialize a random process N for action exploration
6:Receive initial observation state
7:for t=1,T do
8:Select action at=μ(st|θμ)+Ntaccording to the currentpolicy and exploration noise
9:Execute action atand observe reward rtand observe new state st+1
10:Store transition(st,at,rt,st+1)in R
11:Sample a random minibatch of N transitions(si,ai,ri,si+1)form R
12:Set yi=ri+γQ′(st+1,μ′(si+1|θμ)|θQ)
13:Update critic by minimizing the loss:
14:Update the actor policy using the sampled policy gradient:
15:Update the target networks:
16:end for
17:end for
Nonadaptive-ECMS通過離線調整選出固定的等效因子并應用于整個工況,由文獻[35]得知,可獲得接近全局最優解的控制效果,同時滿足SOC保持,缺點是消耗大量資源調參且對工況適應性差,無法在工況變化時仍保持最優控制,不滿足實際工業控制的需要。而本研究是通過DDPG算法獲得等效因子值,為驗證算法效果,將其與傳統基于PID反饋的A-ECMS方法進行對比。DDPG中Actor網絡輸出動作,即等效因子動作執行后,從環境獲得到達狀態和獎勵回報,與動作值以及上一步所處狀態組成一個四元組存入記憶池。通過將狀態及動作輸入Critic網絡來得到Critic估計的Q值,計算梯度并以策略梯度方法對Actor網絡更新。通過對Actor網絡輸入當前時刻狀態,得到Actor網絡對下一時刻狀態估計的動作,并將此動作輸入到Critic網絡中,得到V值與Q-target值并計算損失,通過Adam優化器對Critic網絡更新,每隔一定時間對Target網絡進行更新,以此循環直至算法收斂。本文提出的基于DDPG的控制器邏輯結構見圖8。
搭建基于深度確定性策略梯度算法框架,部分參數如表1。

表1 DDPG超參數
DDPG中神經網絡的結構搭建如圖9,Actor和Critic均具有3個隱藏層,每層120個神經元。
狀態由電池SOC、剩余行駛里程、上一步的輸出動作組成,選擇SOC與上一步的輸出動作是為使DDPG智能體獲得所要控制的SOC與目標值差距信息,以及自身上個動作導致的影響。而增加剩余里程作為狀態一部分的原因是受到智能網聯技術發展的啟發,當前智能網聯汽車中多數搭載有實時定位系統,通過此項技術可以迅速得知汽車位置與終點間距離情況,而此信息有助于DDPG智能體學習如何SOC保持,例如在距離終點過遠時可以允許SOC值在較大幅度內變動,以使發動機工作在高效率點,而距離終點位置較近時,則可據此控制SOC快速回到初始值附件,以滿足SOC保持目標;獎勵回報函數構成如下:
通過高斯函數形式設置獎勵回報函數,目的是能夠對本研究的2個關注點,即SOC和油耗進行控制,做到SOC保持的同時減小油耗。et是電池SOC值相對初始值的偏差,而it是在控制周期10 s內的油耗量,經過調整設置et和it的系數分別為0.7與0.3。
本文的并行部分通過邊緣計算的思想實現,所提出的并行深度強化學習控制器框架如圖10所示,首先在云端建立全局網絡,全局網絡同樣含有Actor與Critic框架,通過每個連入此網絡的邊緣設備(具有與云端完全相同的網絡結構)運行各自工況時經歷的狀態等信息計算出更新全局網絡的梯度,將此梯度用于云端的網絡更新,同時將云端的最新網絡參數同步到邊緣設備中,此方法既能夠綜合多個邊緣設備的算力來提升云端網絡的收斂速度,也能以此來打破數據相關性。對于邊緣設備在接入云端時,即獲得由云端分配的適用于當前工況的控制策略,能夠將多數算力分配到邊緣設備端而不需對云端提出過高的算力及延遲要求。
本研究計算任務通過一臺安裝Windows10專業版操作系統,具有64G RAM的高性能工作站完成,CPU:Intel Xeon Silver 4214(2顆,24核48線程),GPU:NVIDIA Quadro P2000。通 過 聯 合Python、Matlab/Simulink進行仿真實驗,在Simulink搭建仿真模型后,通過Python端的matlab.engine庫調用Matlab中編寫的m文件以達到控制Simulink仿真模型運行的目的,將Simulink端仿真模型產生的數據通過to workspace模塊輸出到Matlab工作區,再以m文件形式返回Python,以此循環完成仿真實驗。
等效因子的實質作用是在調整發動機與電機功率分配比,而電機與發動機的功率分配不同將導致SOC與燃油消耗率發生變化。本節中用于測試算法的FTP72工況信息如圖11所示。
圖12 是基于深度強化學習的優化策略學習曲線圖,在學習的前50回合,累積回報是在抖動的,而在50回合后,累積回報趨于收斂,此時算法已基本穩定,不再進行改變,策略基本訓練完成。后期雖然Reward圖仍然有波動,原因是設置有極小的動作探索并且仍在根據參數調整網絡,對策略穩定性基本沒有影響。
圖13 表示DDPG控制器在訓練初期具有較大的探索率,這是因為神經網絡初始化時輸出動作基本相同,直接執行將使智能體的記憶庫中數據學習效果較差進而影響算法初期的收斂速度,可以看到:探索值隨著時間越來越低并最終趨于0,這表示在后期智能體所執行的動作基本由DDPG控制器所給出。
圖14 是FTP72工況測試中電池SOC的變化情況,可以看出3種優化策略均能夠將電池SOC保持到較好水平。圖中3種算法控制下的SOC終止值不同,并且基于DDPG控制的SOC終止值相對其他2種略低,這是由于3種算法在行駛過程中對等效因子值的選取不同,使得電機輸出扭矩不同,進而引起SOC變化的差異累積所致。基于DDPG與接近全局最優控制效果的nonadaptive-ECMS方法則在行駛中使得SOC變化幅度更大,也就有更大余量能夠改善發動機工作情況,提高工作效率。計算等效油耗[36]后得知:基于DDPG控制的等效油耗值較基于PID控制的等效油耗值更低,滿足控制要求。
從圖15~17可看出:基于DDPG的控制策略與基于PID的控制策略在控制過程中發動機與電機扭矩分配情況有明顯差別,DDPG的控制效果則在多數情況能夠接近nonadaptive-ECMS的控制動作,而電機扭矩不同就導致電池SOC變化會產生不同,發動機扭矩的差別就會導致燃油消耗量的差異。經過計算轉化為等效油耗后,基于DDPG的控制策略油耗為百公里7.7 L,而基于PID的控制策略油耗為百公里8.3 L,DDPG相對PID方法油耗減少7.2%,表明了深度強化學習控制方法的有效性。
并行框架中設置不同數量邊緣設備的累計回報如圖18所示,多個邊緣設備的深度強化學習智能體較單個邊緣設備能夠明顯較快地得到算法收斂,其中8個邊緣設備的加入使算法訓練時間減少了約334%。
本文通過深度強化學習以及并行的深度強化學習控制A-ECMS中等效因子,理論分析的同時,在FTP72工況進行了驗證并與傳統PID控制器進行對比。實驗結果證明:結合DDPG與ECMS的控制方法能夠實現SOC保持并且減少油耗的目標,而邊緣計算架構下的并行深度強化學習方法能夠很大程度加快算法收斂速度。
本文的研究結果對當前混合動力汽車能量管理策略的發展有重要參考作用。未來將通過硬件在環及實車測試等對本文提出的控制算法進一步驗證,并更加緊密地結合物聯網技術,將交通信息、預測車速等數據導入算法框架,以提升算法的控制效果。