高振海,閆相同,高 菲
(吉林大學,汽車仿真與控制國家重點實驗室,長春 130022)
汽車縱向自動駕駛決策策略研究是現階段自動駕駛研究領域的核心方向之一。如何學習人的行為規律從而建立決策與控制規則,提高自動駕駛車輛的乘坐體驗是當前研究的熱點。
在前期的縱向自動駕駛研究中,強化學習方法是主要研究方法之一。強化學習方法是一種用于描述和解決智能體(agent)在與環境的交互過程中通過學習策略達成回報最大化或實現特定目標的方法,與基于規則的系統相比,基于強化學習的系統不需要人為構建規則庫,僅通過強化學習算法訓練得到決策控制策略控制自動駕駛汽車。Charles 等在協同自適應定速巡航(cooperative adaptive cruise control,CACC)系統中使用強化學習方法,在仿真環境有效地實現CACC 的性能。高振海等在仿真場景中使用Q 學習算法建立縱向自動駕駛決策策略,在多個工況中進行了分析測試。Ye等將深度學習深度確定性策略梯度(deep deterministic policy gradient,DDPG)方法與車輛高保真模型結合起來,換道和跟車行為相結合,將訓練模型擴展到更復雜的任務中。朱美欣等基于DDPG 算法考慮安全性、效率和舒適性定義獎勵函數,建立了自適應巡航控制算法,其效果優于傳統的模型預測控制(model predictive control,MPC)算法。
強化學習方法的獎勵函數依然依靠專家的經驗設計,擬人化程度不高,得到的策略與人類駕駛員仍然存在差距,使自動駕駛車輛存在乘員舒適性不足、道路上其他駕駛員難以預測自動駕駛車輛的行為等問題。因此,研究者們從不同的角度進行了擬人化自適應巡航控制算法設計。Zhu 等提出了一種模仿人類駕駛員跟車的DDPG 算法,通過比較駕駛員經驗曲線和仿真輸出的距離、速度定義獎勵函數,最終得到了和人類駕駛行為相似的控制效果。Chen 等基于神經Q 學習算法開發了一種個性化自適應巡航制的學習模型,在線學習并模擬人類駕駛員的駕駛策略,具有比傳統方法更好的駕駛舒適性。不過,以上研究的獎勵函數依然需要人為設計,設計較為主觀,需要大量的調試工作才能實現較好的控制效果。
逆向強化學習(inverse reinforcement learning,IRL)是一種能夠從專家的演示數據中推斷出獎勵函數,并利用該獎勵函數學習策略,使得在該獎勵函數下學習得到的最優策略與專家的策略接近的方法。它與強化學習一樣,也是在馬爾科夫決策過程的框架內構建的。獎勵函數在強化學習任務中起著至關重要的作用。的設置直接確定智能體將采用的策略。逆向強化學習使用逆向思維,假設專家在完成某項任務時,其決策往往是最優的或接近最優的,通過比較專家的交互樣本和強化學習交互樣本的差別,學習得到獎勵函數。因此,逆向強化學習算法能更好地解決自動駕駛任務中獎勵函數設計存在的問題,使自動駕駛車輛的行為更接近駕駛員駕駛的車輛。Gao 等使用逆向強化學習方法,對駕駛員的跟車決策行為進行了研究,得到了不同駕駛員各自的獎勵函數。You 等使用逆向強化學習算法,通過專家駕駛員示例得到最佳的自動駕駛汽車策略,解決交通環境中自動駕駛汽車的規劃問題,以提高通行效率。唐明弘等設計考慮安全性舒適性的獎勵函數,通過逆向強化學習方法對獎勵函數更新,得到擬人化的ACC決策策略。
本文中提出了一種逆向強化學習汽車縱向自動駕駛決策方法。使用駕駛員在駕駛模擬器上的軌跡數據,基于最大邊際逆向強化學習算法并建立相應的獎勵函數,得到仿駕駛員的縱向自動駕駛決策策略,最后通過仿真試驗對決策策略進行測試,并與駕駛員數據和強化學習策略對比。
最大邊際逆向強化學習縱向自動駕駛決策模型的框架如圖1所示。

圖1 逆向強化學習縱向自動駕駛決策算法
首先使用駕駛模擬器采集駕駛員駕駛車輛跟隨目標車輛行駛的軌跡數據;
然后對強化學習(Q 學習)方法的獎勵函數和值函數進行初始化;
之后訓練得到該獎勵函數下的控制策略和行駛軌跡,通過計算車輛模型軌跡的特征期望和駕駛員數據的特征期望之間的差距(梯度),更新獎勵函數,重新進行強化學習(Q 學習)訓練,重復訓練,直到梯度足夠小,獲得仿駕駛員的決策策略。
本文使用最大邊際逆向強化學習方法,直接從駕駛員駕駛數據中學習尋找一個能夠使強化學習得到的最優策略π控制的動作與駕駛員軌跡中的動作一致的獎勵函數。假設獎勵函數是特征值(,)與權重矩陣的線性組合:

特征值(,)間接地代表了環境的感知狀態。因此,在策略下的動作值函數Q(,)可以表示為

其中:

式中:為折扣因子,本文中值為0.99。μ被稱為策略的特征期望,它決定了根據該策略執行的動作的預期折扣獎勵總和。
對于不同的兩個策略和,如果它們擁有相同的特性期望,它們會擁有相同的動作值函數Q1和Q。

因此,為使逆向強化學習得到的決策策略與駕駛員的決策接近,可以通過最小化駕駛員數據的特征期望μ和學習模型策略的特征期望μ之間的差距方式來實現。
在進行自動駕駛的縱向決策任務時,需要考慮本車的行駛狀態和本車與目標車的相互運動關系。同時,為了便于設計獎勵函數、易于收斂,選擇的狀態集和動作集所包含的參數不能過多。本文選取的狀態集和動作集包含的元素為={,,v},={a},如表1所示。

表1 狀態集和動作集的設計
狀態集大小為(即狀態的總數),動作集大小為(即動作的總數)。


式中s為狀態集中第個狀態。
然后,我們可以在時刻通過狀態-動作特征表示(s,a)來擴展該狀態特征。它是大小為×的行向量:

其中f(∈[1,]))為維行向量:

式中a為動作集中第個動作。
駕駛員數據特征期望即為平均每條采集到的駕駛員軌跡數據的特征值之和,如式(8)所示。

同理,學習模型策略的特征期望即為模型輸出的軌跡特征值之和,如式(9)所示。

式中M為模型輸出的軌跡狀態動作對的數量。
在得到駕駛員數據特征期望和學習模型特征期望之后,就可以得到它們之間的差距(即梯度),如式(10)所示。

獎勵函數如式(1)所示,獎勵函數的更新實際上是更新權重矩陣(權重矩陣的初始值為0-1之間的隨機數),本文通過梯度下降法更新權重矩陣:

式中為學習效率,本文中=0.05。
當梯度小于一定值時結束訓練,得到權重矩陣和相應的獎勵函數,進而可以使用該獎勵函數進行強化學習訓練獲得仿駕駛員決策策略。
城市快速路是自動駕駛汽車主要的行駛環境之一,本文使用駕駛模擬器采集熟練駕駛員在3 種常見的城市快速路工況下(如表2 所示)的駕駛數據(本車速度、本車加速度、相對距離、相對速度等)共120組。其中,采集駕駛員駕車以80 km/h(22.22 m/s)的初速度從相對距離40 m 處接近并跟隨勻速行駛的目標車數據,目標車車速40 km/h(11.11 m/s)和60 km/h(16.67 m/s)各采集40 組;采集駕駛員跟隨目標車40 km/h 勻速行駛,隨后加速到60 km/h 勻速行駛,再減速至60 km/h 勻速行駛數據40 組。單組數據時長30-50 s。本實驗中駕駛員為男性,27 歲,駕齡7年。

表2 工況設計
將采集到的真實駕駛員實驗數據按照不同工況使用Matlab曲線擬合工具箱中的傅里葉曲線擬合法擬合相對距離時間曲線和本車速度時間曲線。如圖2和圖3所示,圖中黑色粗線為擬合的具有統計規律的駕駛員曲線,其他曲線為采集的真實駕駛員實驗數據曲線。

圖2 接近勻速行駛目標車

圖3 跟隨變速目標車
為了與逆向強化學習算法的效果形成對比,本文使用前期研究中設計的獎勵函數構建了強化學習(Q 學習)算法。使用CarSim&Simulink 聯合仿真,搭建車輛動力學模型和仿真訓練環境。分別設計3種仿真訓練工況(即本車以80 km/h(22.22 m/s)的初速度接近40 km/h(11.11 m/s)勻速行駛的目標車;本車以80 km/h(22.22 m/s)的初速度接近60 km/h(16.67 m/s)勻速行駛的目標車;本車和目標車初速度均為40 km/h,目標車先加速至60 km/h 保持勻速行駛后減速至40 km/h保持勻速行駛)進行強化學習和逆向強化學習訓練,并在訓練完成后在相應的環境中執行得到的決策策略,測試實驗結果。
2.2.1 目標車60 km/h勻速行駛
設置本車初始速度80 km/h(22.22 m/s),目標車以60 km/h(16.67 m/s)勻速行駛,目標車和本車初始相對距離40 m,仿真時長30 s,具有統計規律的駕駛員曲線、強化學習和逆向強化學習仿真結果如圖4所示。

圖4 本車接近60 km/h勻速目標車仿真結果
強化學習決策策略與駕駛員曲線的相對距離最大差值為2.79 m,均方根誤差為6.96%,本車速度最大差值1.55 m/s,均方根誤差2.81%;逆向強化學習決策策略與駕駛員曲線的相對距離最大差值為0.92 m,均方根誤差為2.28%,本車速度最大差值為0.76 m/s,均方根誤差為0.99%。
2.2.2 目標車40 km/h勻速行駛
設置本車初始速度80 km/h(22.22 m/s),目標車以40 km/h(11.11 m/s)勻速行駛,目標車和本車初始相對距離40 m,仿真時長30 s,具有統計規律的駕駛員曲線、強化學習和逆向強化學習仿真結果如圖5所示。

圖5 本車接近40 km/h勻速目標車仿真結果
強化學習決策策略與駕駛員曲線的相對距離最大差值為2.74 m,均方根誤差為9.75%,本車速度最大差值為1.87 m/s,均方根誤差6.71%;逆向強化學習決策策略與駕駛員曲線的相對距離最大差值為1.66 m,均方根誤差為6.00%,本車速度最大差值為1.26 m/s,均方根誤差為2.80%。
2.2.3 目標車變速行駛
目標車初始速度為40 km/h(11.11 m/s),本車初始速度為40 km/h(11.11 m/s),初始相對距離為6 m,仿真時長40 s。目標車開始時保持40 km/h 勻速行駛,10 s 后目標車開始加速至60 km/h 并保持勻速行駛,25 s 后目標車減速至40 km/h 之后保持勻速行駛。具有統計規律的駕駛員曲線、強化學習和逆向強化學習仿真結果如圖6所示。

圖6 本車接近變速目標車仿真結果
強化學習決策策略與駕駛員曲線的相對距離最大差值為1.06 m,均方根誤差為5.20%,本車速度最大差值為0.83 m/s,均方根誤差2.24%;逆向強化學習決策策略與駕駛員曲線的相對距離最大差值為0.95 m,均方根誤差為4.96%,本車速度最大差值為1.01 m/s,均方根誤差為2.01%。
2.2.4 結果分析
強化學習決策策略、逆向強化學習決策策略的相對距離和本車速度與具有統計規律的駕駛員相對距離和本車速度曲線的最大差距如圖7 所示,均方根誤差如圖8 所示。可以看出,與強化學習決策策略相比,逆向強化學習決策策略與駕駛員的接近程度更高,在完成仿駕駛員決策任務中表現更好。

圖7 學習算法與駕駛員曲線的最大差距

圖8 學習算法與駕駛員曲線的均方根誤差
本文中提出了一種基于逆向強化學習的仿駕駛員縱向自動駕駛決策算法,并在仿真環境下進行了測試驗證。
(1)建立了反應車輛狀態-動作特征的特征矩陣并明確車輛狀態-動作信息和特征值之間的映射關系,利用駕駛員軌跡數據的特征期望和執行模型輸出的策略得到的軌跡的特征期望,通過梯度下降法學習得到獎勵函數。
(2)從實驗結果來看,與強化學習算法相比,逆向強化學習算法訓練后得到的決策策略在各個工況下與人類駕駛員數據的均方根誤差減小了0.23%~4.68%,差距更小,一致性更高。
(3)本文中將逆向強化學習算法應用于縱向自動駕駛決策任務中,直接輸出期望加速度進而實現車輛縱向控制,實驗結果表明逆向強化學習算法能夠實現仿駕駛員縱向自動駕駛決策。在后續的研究中,針對現有的逆向強化學習算法存在的當狀態空間包含的狀態過多時算法不易收斂、速度和距離出現波動等問題,以神經網絡代替連續狀態空間的值函數,探索仿駕駛員深度逆向強化學習自動駕駛決策算法。