閆 浩 劉小珠 石 英
(武漢理工大學(xué)自動化學(xué)院 武漢430070)
不安全的變道行為是導(dǎo)致交通事故的原因之一,因此控制無人駕駛車輛安全變道成為了無人駕駛技術(shù)的研究目標之一[1]。為了使無人駕駛車輛的變道行為更規(guī)范、更準確、更安全,前人在無人駕駛車輛變道控制技術(shù)領(lǐng)域付出了很多努力并取得了一定數(shù)量的研究成果。
無人駕駛車輛變道控制策略研究多是基于傳統(tǒng)控制算法的研究。邱少林等[2]基于“預(yù)瞄-跟隨”控制理論和“車輛-道路”模型提出了最優(yōu)預(yù)瞄軌跡跟蹤控制模型,并使用LQR算法設(shè)計出基于最優(yōu)預(yù)瞄的變道控制器,實驗證明其控制器良好的精度和魯棒性;林小寧等[3]基于MNC 非線性輪胎模型,設(shè)計約束條件下快速變道軌跡規(guī)劃算法和隸屬度函數(shù)在線自整定的模糊控制器,實驗證明其對車輛快速變道場景的適用性;Peng 等[4]使用高斯分布來描述軌跡模型,定義1 種新的車輛安全變道含義,設(shè)計1 種四級自動駕駛模型和考慮安全性和人體工程學(xué)的決策機制,并構(gòu)建基于反饋線性化的控制器,通過半實物仿真實驗證明其控制器的有效性和可行性;Hu 等[5]結(jié)合車道檢測設(shè)計模型預(yù)測控制器,并采用基于偏航角和偏航率的模糊控制器進行前輪修正,在雙變道情況下進行仿真實驗以證明其魯棒性和自適應(yīng)性;Wu 等[6]設(shè)計1 種面向安全性和舒適性的車輛變道控制器,設(shè)計灰色預(yù)測模型來估計周圍車輛狀態(tài),并在軌跡規(guī)劃時采用時變安全裕度,在不同安全裕度的情況下進行仿真實驗驗證其算法的有效性;聶枝根等[7]提出了基于軌跡預(yù)瞄的智能汽車變道動態(tài)軌跡規(guī)劃與跟蹤控制策略,在硬件環(huán)試驗臺驗證了所提控制策略的正確性;蔡英鳳等[8]將基于預(yù)瞄偏差的PID 控制器和基于道路曲率的PID 控制器結(jié)合,在連續(xù)2 次變道實驗中達到了良好的控制效果;白成盼等[9]基于微分平坦理論和模型預(yù)測控制對無人駕駛車輛變道控制技術(shù)展開研究,通過仿真實驗證明其安全性和高效性;劉洋[10]基于預(yù)瞄理論和模糊PID 技術(shù)對無人駕駛車輛變道控制技術(shù)開展研究,在仿真和實車上實驗證明其研究的可行性;張家旭等[11]提出1 種結(jié)合Radau 偽譜法與離散滑??刂频淖兊揽刂扑惴?,并通過仿真實驗驗證其控制策略的有效性和可行性。雖然前人對無人駕駛車輛變道控制策略進行了研究并取得了成效,但是上述傳統(tǒng)控制算法的局限性,它們或是基于車輛的模型設(shè)計控制器,使得控制器設(shè)計過程復(fù)雜(如LQR和MPC);或是需要進行控制器參數(shù)調(diào)節(jié)才能適應(yīng)不同工況的控制任務(wù),自適應(yīng)性差(如PID和模糊控制)。因此,需要研究1種不依賴于模型,控制器設(shè)計難度低,有自適應(yīng)性的無人駕駛車輛變道控制策略。
隨著人工智能的發(fā)展,強化學(xué)習(xí)(reinforcement learning,RL)算法,尤其是無模型(model-free)的強化學(xué)習(xí)算法,在無人駕駛領(lǐng)域得到了應(yīng)用,這些算法不依賴于被控對象的模型只通過學(xué)習(xí)的方式就能滿足控制任務(wù)甚至是多工況任務(wù)。趙師濤等[12-13]采用2 個深度神經(jīng)網(wǎng)絡(luò)實現(xiàn)演員批評家(actor-critic)結(jié)構(gòu)設(shè)計AGV 控制器,并采用確定梯度策略算法(deterministic policy gradient)進行訓(xùn)練,通過與PID和模糊控制對比實驗證明其控制器的可行性和自適應(yīng)性,同時使用預(yù)訓(xùn)練的自編碼器進行狀態(tài)特征提取,縮短訓(xùn)練時間和提高可遷移性;Andrea等[14]采用DDPG 算法設(shè)計欠驅(qū)動船舶控制器,并提出邊界獎勵函數(shù)和高斯獎勵函數(shù),同時與視線法進行對比實驗,證明其對控制精度的影響;Wang 等[15]結(jié)合PID 和q-learning 算法設(shè)計移動機器人軌跡跟蹤控制器,降低q-learning 反饋函數(shù)的計算復(fù)雜度,并通過仿真實驗驗證其有效性;由于計算機算力的提高,近年來基于無模型強化學(xué)習(xí)的無人駕駛控制技術(shù)在AUV、AGV和水面船舶等應(yīng)用研究方面取得進展,但目前尚未發(fā)現(xiàn)學(xué)者基于強化學(xué)習(xí)技術(shù)針對無人駕駛車輛變道控制技術(shù)開展研究,因此本文將基于無模型強化學(xué)習(xí)算法研究無人駕駛車輛變道控制技術(shù)。
本文采用無模型強化學(xué)習(xí)算法中的REINFORCE算法和神經(jīng)網(wǎng)絡(luò)技術(shù),對無人駕駛車輛變道控制策略進行研究。通過車輛動力學(xué)模型,確定系統(tǒng)狀態(tài)量和控制量,設(shè)計控制器及其訓(xùn)練方案,優(yōu)化控制器訓(xùn)練方案以解決樣本數(shù)值和方差過大問題,結(jié)合無人駕駛車輛運行場景分析獎勵分布稀疏問題并提出1種基于對數(shù)函數(shù)的獎勵塑造解決方案,最后通過實驗以證明本研究的可行性。
首先建立車輛動力學(xué)模型,為仿真環(huán)境的建立提供前提,設(shè)定車輛模型的固定參數(shù),確定狀態(tài)反饋量和控制量,根據(jù)魔術(shù)輪胎公式[16]對后續(xù)控制器設(shè)計提出輸出限幅的要求。
采用使用前輪轉(zhuǎn)向車輛單軌模型作為車輛動力學(xué)模型[17],見圖1。OXY 代表地面坐標系,oxy 代表車體坐標系,x 方向為車體正方向,y 方向為與x 方向垂直的車體左方向,o在車身重心位置,δf為輪胎側(cè)偏角,φ為地面坐標系OXY與車體坐標系oxy的夾角。
圖1 車輛單軌模型圖Fig.1 Monorail model of vehicle
式中:sf為車體前輪滑移率;sr為車體后輪滑移率;lf為車輪前軸到重心的距離,m;lr為車輪后軸到重心的距離,m;Ccf為車體前輪側(cè)偏剛度,N/rad;Ccr為車體后輪側(cè)偏剛度,N/rad;Clf為車體前輪縱向剛度,N/rad;Clr為車體后輪縱向剛度,N/rad;m為車體質(zhì)量,kg;Iz為車體以過重心o與oxy平面垂直直線為軸的轉(zhuǎn)動慣量,kg·m2。上述系數(shù)皆為固定參數(shù),具體取值見表1。
表1 車輛固定參數(shù)表Tab.1 Fixed parameters of vehicles
由于車輛單軌模型由魔術(shù)輪胎公式仿真結(jié)果簡化而來[17],受其仿真中的小角度線性化結(jié)果影響,需要對輪胎側(cè)偏角δf定義域限幅,約束到[-5°,5°],約為弧度制[-0.087,0.087]。
選取控制量為輪胎側(cè)偏角δf,反饋量為車速x?、車頭朝向φ及其微分φ?、誤差e及其微分e?,其中誤差e的定義見式(2)。
式中:Yd為Y坐標的當前給定值,m。
設(shè)計控制系統(tǒng)并確定控制器的輸入量和輸出量,確定神經(jīng)網(wǎng)絡(luò)控制器的結(jié)構(gòu)并搭建輕量級神經(jīng)網(wǎng)絡(luò),將強化學(xué)習(xí)流程與無人駕駛工況結(jié)合并確定控制系統(tǒng)各部分在強化學(xué)習(xí)過程中的分工,結(jié)合帶有基線的REINFORCE 算法確定神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方式,針對樣本數(shù)值和方差過大的問題提出1 種經(jīng)驗池預(yù)處理方式,針對獎勵分布稀疏問題設(shè)計1 種可以改變獎勵分布的獎勵塑造方式。
采用傳統(tǒng)的反饋控制系統(tǒng)結(jié)構(gòu),但與傳統(tǒng)控制控制系統(tǒng)不同的是本文采用神經(jīng)網(wǎng)絡(luò)作為控制器,控制系統(tǒng)結(jié)構(gòu)見圖2。
圖2中,車輛模型反饋量包括當前時刻的縱向車速x?、車頭朝向φ和Y坐標,反饋量經(jīng)過誤差計算、微分和向量合成得到狀態(tài)向量s=[x?,φ,φ?,e,e?]作為神經(jīng)網(wǎng)絡(luò)的輸入向量。神經(jīng)網(wǎng)絡(luò)進行分類任務(wù),將狀態(tài)向量s 的狀態(tài)空間映射到控制量δf的動作空間,根據(jù)當前狀態(tài)向量s 的特征求得對不同動作a的偏好程度,再根據(jù)對動作a的偏好程度使用分類器求得最合適的動作a并將其換算為對應(yīng)的控制量δf。
可選動作越少,網(wǎng)絡(luò)越小,算法實時性越高,算法收斂速度也越快,但是動作執(zhí)行的精密度也越低,控制效果也隨之變差;反之,提升控制效果需要增加可選動作數(shù)量,但算法的實時性和收斂速度就會降低[18],因此綜合算法收斂速度、實時性和控制效果考慮,將動作空間均分為50 份。根據(jù)第1 部分提出對控制量δf限幅要求,將控制量δf限制在弧度[-0.08,0.08]并均分為50份,因此包括0在內(nèi),可選的控制量δf對應(yīng)51個動作,動作a取值范圍為[0,50]的整數(shù)。
需要注意的是,強化學(xué)習(xí)算法本身不直接參與控制任務(wù),強化學(xué)習(xí)的任務(wù)是訓(xùn)練神經(jīng)網(wǎng)絡(luò)控制器的參數(shù)。神經(jīng)網(wǎng)絡(luò)控制器的參數(shù)由強化學(xué)習(xí)算法根據(jù)其目標函數(shù)和參數(shù)更新方式進行訓(xùn)練,以保證神經(jīng)網(wǎng)絡(luò)通過歷史樣本學(xué)習(xí)到控制策略。
采取2 層結(jié)構(gòu)的BP 神經(jīng)網(wǎng)絡(luò)作為神經(jīng)網(wǎng)絡(luò)控
圖2 車輛變道控制系統(tǒng)結(jié)構(gòu)圖Fig.2 Structure of vehicle lane-change control system
表2 神經(jīng)網(wǎng)絡(luò)參數(shù)表Tab.2 Parameters of the neural network
神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)率為0.002,使用Adam優(yōu)化器。
選取BP 神經(jīng)網(wǎng)絡(luò)僅有2 層結(jié)構(gòu),計算量小,有利于遷移至輕量級計算硬件,并在一定程度上保證控制策略的實時性;又由于2層結(jié)構(gòu)過于簡單,將神經(jīng)元數(shù)量定義為200個,雖然計算量偏大,但是保證網(wǎng)絡(luò)的擬合質(zhì)量。
神經(jīng)網(wǎng)絡(luò)可視為關(guān)于狀態(tài)向量s 、動作a和網(wǎng)絡(luò)參數(shù)θ的偏好值計算函數(shù)h(s,a,θ)。對于多分類問題,采用softmax函數(shù)對不同動作的偏好值進行處理,將其限制于[0,1],從而得到所有動作的相對偏好情況的分布
在得到動作的偏好分布后,分類器就可以實現(xiàn)分類功能,從而通過分類選擇合適的動作a。
最后將動作a對應(yīng)到控制量δf,轉(zhuǎn)換公式為
式中:a為[0,50]整數(shù)。
首先引入強化學(xué)習(xí)示意圖,用于描述強化學(xué)習(xí)過程,見圖3。
圖3 強化學(xué)習(xí)過程示意圖Fig.3 Process of reinforcement learning
智能體首先根據(jù)環(huán)境當前的狀態(tài)St結(jié)合自身的策略函數(shù)π(At|St,θ)進行動作At的選擇,環(huán)境根據(jù)動作At進入下1 個狀態(tài)St+1,并根據(jù)當前狀態(tài)計算產(chǎn)生獎勵Rt+1。智能體的任務(wù)是通過以往的經(jīng)歷,包括狀態(tài)動作及其對應(yīng)的獎勵,調(diào)整自身的策略,從而達到累計獎勵最大化的目的。環(huán)境的狀態(tài)反饋功能由車輛模型提供,智能體的全部功能和環(huán)境的獎勵計算功能由神經(jīng)網(wǎng)絡(luò)控制器提供。
本研究采用在帶有基線的REINFORCE 算法,該算法是1 種基于策略的方法,這一類方法可以由當前系統(tǒng)的狀態(tài)直接映射到動作,而不依賴于價值函數(shù)來選擇動作,這樣可以避免價值函數(shù)的錯誤估計帶來錯誤動作選擇的結(jié)果[18],該算法具體更新方式為
式中:α為學(xué)習(xí)率;b為基線,Gt為累計回報,累計回報Gt可由多個單步即時獎勵Rk計算
式中:γ為折扣率取0.99,T為終止時刻。
在REINFORCE 算法中由累計回報Gt構(gòu)成累計回報序列[G0,G1,G2,…,GT-1],當該序列樣本的數(shù)值和方差較大時,影響策略的收斂速度和收斂結(jié)果[18],下面將通過1個例子說明該問題。
假設(shè)目前的累計回報序列為[1,2,3,4,5,6,7,8,9,10],從單步更新的角度來看,累計回報絕對值的最大值10 數(shù)值可能偏大,根據(jù)式(5)可知參數(shù)θ的更新幅度也會偏大,而過大的參數(shù)更新幅度有可能導(dǎo)致算法在學(xué)習(xí)過程中發(fā)散;從多步更新的角度來看,整個樣本序列的方差為8.25,該方差也偏大,大方差會導(dǎo)致算法的學(xué)習(xí)過程中出現(xiàn)大的波動,使得學(xué)習(xí)過程不平穩(wěn),收斂質(zhì)量差,過大的方差也會導(dǎo)致算法的發(fā)散[18]。因此,所以需要1種對經(jīng)驗池中累計回報Gt進行預(yù)處理的方式來降低樣本的絕對值和方差,從而保證策略收斂速度和結(jié)果。
式中:std函數(shù)為標準正態(tài)化函數(shù)。這樣處理回報有3 個優(yōu)勢:①引入均值基線和標準正態(tài)化都可以抑制過大的參數(shù)更新,從而抑制智能體在學(xué)習(xí)過程中出現(xiàn)的波動,保證策略平穩(wěn)更新;②當累計回報都為正值時,引入基線會使數(shù)值較低的累計回報變?yōu)樨撝担瑥亩顾惴梢詮妮^優(yōu)的策略中學(xué)習(xí)最優(yōu)的策略,而不是學(xué)習(xí)最優(yōu)策略,當回報都為負值時,也可以從這些較差的策略中“擇優(yōu)”學(xué)習(xí);③當累計回報序列的絕對值都很小時,比如:[-2·10-5,-1·10-6,1·10-6,2·10-5],該預(yù)處理方式也可以適當?shù)胤糯罄塾嫽貓笾担瑥亩苊獍l(fā)生因更新幅度太小而導(dǎo)致的無效學(xué)習(xí)。
在強化學(xué)習(xí)的獎勵設(shè)置中,大多使用“0-1”設(shè)置(“零一”設(shè)置),即目標狀態(tài)的獎勵值為1,非目標狀態(tài)的獎勵值為0;或者目標狀態(tài)的獎勵值為0,非目標狀態(tài)的獎勵值為-1。但是這種獎勵設(shè)置方式不適合跟蹤控制任務(wù),下面將以圖4和圖5這2個例子說明該問題。
在圖4中,實線為理想跟蹤軌跡圖中target,2條虛線分別上下偏離理想跟蹤軌跡0.1 m,用于表示目標狀態(tài)范圍(獎勵值為1 的空間,圖中reward borderline),虛線包括空間以外的區(qū)域獎勵值為0,車輛在原點開始從左向右行駛。根據(jù)強化學(xué)習(xí)的運行機理,智能體只有收到獎勵才能學(xué)習(xí)如何控制車輛到達目標狀態(tài),而車輛的行為方式依賴于神經(jīng)網(wǎng)絡(luò)的參數(shù)初始化結(jié)果,這個結(jié)果是隨機的,當車輛的行為方式使其無法到達目標狀態(tài)來獲取獎勵,那么智能體將什么也學(xué)不到。在圖4 中,獎勵的空間只有0.2 m的寬度,即使在起步時處于目標狀態(tài),也很快駛?cè)敕悄繕藸顟B(tài),尤其是在神經(jīng)網(wǎng)絡(luò)初始化后只會控制車輛直走和右轉(zhuǎn)的情況,這使得有獎勵的樣本數(shù)量太少,不足以使算法收斂,強化學(xué)習(xí)學(xué)界將此類的問題稱之為獎勵稀疏(reward sparse)。另外,無論偏離目標狀態(tài)多遠,獎勵都為0,這使得智能體甚至不能學(xué)習(xí)次優(yōu)解。
圖4 “0-1”設(shè)置例1Fig.4 “0-1”setting in case 1
圖5 “0-1”設(shè)置例2Fig.5 “0-1”setting in case 2
圖5和圖4相同,唯一的區(qū)別在于虛線的偏離值為1 m,即大幅度增加目標狀態(tài)范圍。在圖5中,車輛比圖4中的情況更容易到達目標狀態(tài)從而獲取獎勵以訓(xùn)練神經(jīng)網(wǎng)絡(luò),而且獎勵的樣本數(shù)量更多,算法更容易收斂。但是,由于誤差在不大于1 m 的時候獎勵都為1,那么智能體很有可能會學(xué)習(xí)到控制車輛到達1 m誤差的方式或是在這2 m的區(qū)間內(nèi)震蕩行駛的方式,而不是盡可能的跟蹤理想軌跡。此外,增加目標狀態(tài)的范圍并非長久之計,在整體狀態(tài)空間較小的時候增加目標狀態(tài)范圍或許有用,但在整體狀態(tài)空間龐大甚至是無窮大的情況下,目標狀態(tài)區(qū)域在整體狀態(tài)空間的占比還是很小,獎勵稀疏問題仍然存在。
針對上述問題,提出1 種可以調(diào)節(jié)獎勵分布稀疏程度獎勵塑造方式
式中:et為當前誤差,m;c為可調(diào)節(jié)參數(shù),用于調(diào)節(jié)獎勵分布的稀疏程度;ε為截斷項,以防在誤差為0時函數(shù)值無意義,本文取ε為0.000 1。使用-ln函數(shù)進行獎勵塑造優(yōu)勢有2點:①-ln函數(shù)由于其在正數(shù)域的單調(diào)連續(xù)性,在偏離目標軌跡不同的位置反饋的回報也不一樣,即便車輛未到達最優(yōu)軌跡,也能通過當前的樣本的獎勵值較大的部分學(xué)習(xí)到次優(yōu)解,并通過多次學(xué)習(xí)和探索逐漸收斂到目標軌跡;②控制誤差越小,控制難度越大,也越值得獎勵,誤差越接近0,-ln函數(shù)數(shù)值越激增,符合該要求。
另外,該獎勵塑造方式可以調(diào)節(jié)獎勵分布的稀疏程度,從而加速算法收斂或提高控制精度。在學(xué)習(xí)初期,可以將參數(shù)c調(diào)小從而使高數(shù)值獎勵的分布范圍更大,高數(shù)值獎勵信號更容易獲得,加速神經(jīng)網(wǎng)絡(luò)收斂;在學(xué)習(xí)后期,逐漸增加參數(shù)c,收縮獎勵分布范圍,提高控制精度。
首先仿基于sin函數(shù)規(guī)劃給定變道路徑,然后在10,15,20,25 m/s的車速下將基于REINFORCE算法的神經(jīng)網(wǎng)絡(luò)控制器進行仿真實驗以證明其可行性。此外,記錄在不同平臺下基于REINFORCE 算法的神經(jīng)網(wǎng)絡(luò)控制器的運行時間并與仿真實驗的采樣時間對比以證明算法實時性和遷移至輕量級硬件平臺的可行性。
仿真實驗中的被控對象根據(jù)式(1)在matlab/simulink 環(huán)境中進行搭建;PID 對照組仿真實驗在matlab/simulink 環(huán)境中進行;REINFORCE 算法實現(xiàn)和神經(jīng)網(wǎng)絡(luò)搭建使用tensorflow框架,并和matlab/simulink 環(huán)境中的被控對象進行交互以完成仿真實驗。仿真實驗電腦配置:i7-4710HQ,16G 內(nèi)存,GTX980M。實時性測試實驗使用該計算機、TX2和Jetson nano,其中后2者為輕量級平臺。
采用基于sin 函數(shù)的變道軌跡所為無人車的給定軌跡[2],其公式見式(11)。
式中:S為車輛變道的橫向距離,m;d為車輛變道的縱向距離,m。另外,為了驗證控制器在變道后仍能夠保持穩(wěn)定,在變道完成后續(xù)接長度為d的直道,即給定軌跡縱向總長度為2d,前半段路徑為變道超車,后半段路徑為直線行駛。
分別選取不基于模型的PID控制和文獻[2]中基于模型的LQR 控制作為對照組進行實驗。為了排除干擾,假設(shè)給定變道軌跡絕對安全,所有控制器的參數(shù)固定不變。
設(shè)定采樣周期為0.01 s且控制器在每個采樣點都生成控制量,車輛變道橫向距離S為4 m,在10 m/s,15 m/s,20 m/s,25 m/s的勻速條件下分別跟隨車輛變道縱向距離d為60 m,90 m,120 m,150 m的變道軌跡,保證所有實驗時間統(tǒng)一。實驗結(jié)果見圖6~13,圖中target表示給定路徑,REINFORCE表示在基于REINFORCE算法的神經(jīng)網(wǎng)絡(luò)控制器作用下車輛的運行軌跡,PID表示PID控制器作用下車輛的運行軌跡。同時記錄不同工況下的3種控制器作用下車輛的變道完成后誤差和變道過程中最大誤差,見表4。
圖6 車速為10 m/s時對照PID實驗結(jié)果圖Fig.6 Experimental result compared to PID when the vehicle speed is 10 m/s
圖7 車速為15 m/s時對照PID實驗結(jié)果圖Fig.7 Experimental result compared to PID when the vehicle speed is 15 m/s
圖8 車速為20 m/s時對照PID實驗結(jié)果圖Fig.8 Experimental result compared to PID when the vehicle speed is 20 m/s
圖9 車速為25 m/s時對照PID實驗結(jié)果Fig.9 Experimental result compared to PID when the vehicle speed is 25 m/s
圖10 車速為10 m/s時對照LQR實驗結(jié)果圖Fig.10 Experimental result compared to LQR when the vehicle speed is 10 m/s
圖11 車速為15 m/s時對照LQR實驗結(jié)果圖Fig.11 Experimental result compared to LQR when the vehicle speed is 15 m/s
圖12 車速為20 m/s時對照LQR實驗結(jié)果圖Fig.12 Experimental result compared to LQR when the vehicle speed is 20 m/s
圖13 車速為25 m/s時對照LQR實驗結(jié)果圖Fig.13 Experimental result compared to LQR when the vehicle speed is 25 m/s
表3 變道完成后誤差和變道過程中最大誤差記錄表Tab.3 Errors after lane change and the maximum error during lane change
結(jié)合圖6~13和表4的數(shù)據(jù),基于REINFORCE算法的神經(jīng)網(wǎng)絡(luò)控制器雖然在變道完成進入直行工況后出現(xiàn)較小的誤差,無人車在25 m/s車速時出現(xiàn)該誤差最大值為0.08 m,但在直行工況下,對于標準車道寬度來說偏離中心線0.08 m完全可容忍(標準車道寬度為3.5 m或3.75 m[19])。
與不基于模型的PID控制器相比,基于REINFORCE算法的神經(jīng)網(wǎng)絡(luò)控制器在變道過程中(0~6s 過程)的誤差更小,無人車在25 m/s車速時出現(xiàn)誤差最大值,最大誤差為0.1 m,而相同條件下PID 最大誤差為0.17 m。在給定變道軌跡絕對安全的前提下,基于REINFORCE 算法的神經(jīng)網(wǎng)絡(luò)控制器在變道過程中因其控制誤差更小,出現(xiàn)與周圍車輛碰撞和刮擦的風險更小,所以能夠控制車輛更加安全地完成變道任務(wù)。此外,REINFORCE算法具有自適應(yīng)性,可自行調(diào)節(jié)參數(shù),無需像PID 算法一樣需要人工參數(shù)整定過程。因此,在無人駕駛車輛變道控制任務(wù)中,基于REINFORCE 算法的神經(jīng)網(wǎng)絡(luò)控制器可以在一定程度上替代PID控制器。
與基于模型的LQR控制器相比,基于REINFORCE算法的神經(jīng)網(wǎng)絡(luò)控制器在車速為10 m/s和15 m/s時控制效果相對較差,最大誤差大于LQR;但在車速為20 m/s 和25 m/s 時控制效果相對較好,最大誤差小于LQR。令人意外的是,在車速為25 m/s時LQR控制器的控制效果甚至不如PID控制器,這可能是控制器參數(shù)固定而導(dǎo)致的結(jié)果。雖然,基于REINFORCE算法的神經(jīng)網(wǎng)絡(luò)控制器的控制效果沒有完全優(yōu)于LQR 控制器,但是性能接近,并沒有表現(xiàn)過差,最大誤差只比LQR 控制器多0.04 m 和0.02 m,根據(jù)文獻[19]的標準,還是可以安全完成變道任務(wù)。而且,與基于模型且同樣需要人工參數(shù)整定的LQR 控制器相比,REINFORCE 算法不依賴模型,在控制器設(shè)計過程中可以省去建模、簡化模型、解耦、參數(shù)調(diào)節(jié)等過程,對控制器設(shè)計者更加友好。因此,在無人駕駛車輛變道控制任務(wù)中,基于REINFORCE算法的神經(jīng)網(wǎng)絡(luò)控制器可以在一定程度上替代LQR控制器。
此外,進行實時性測試實驗。記錄在10 m/s工況下,基于REINFORCE 算法的神經(jīng)網(wǎng)絡(luò)控制器在實驗計算機、TX2和Jetson nano平臺的實驗仿真總用時、實驗仿真總步數(shù)、平均單步所用時間,見表5。
表4 神經(jīng)網(wǎng)絡(luò)控制器運行時間記錄表Tab.4 Running time of the neural-network controller
根據(jù)表5,仿真實驗的單步運行時間均值都遠小于采樣時間0.01 s,且本文實驗為仿真實驗,單步實驗中即包括車輛模型運行又包括神經(jīng)網(wǎng)絡(luò)控制器運算,表5 所示的時間比神經(jīng)網(wǎng)絡(luò)控制器實際運算用時長,實際的控制器單步用時會更短,因此基于REINFORCE算法的神經(jīng)網(wǎng)絡(luò)控制器對控制量生成的實時性和遷移至輕量級計算平臺的可行性有一定的保障。
綜合上述分析,與PID相比,基于REINFORCE算法的神經(jīng)網(wǎng)絡(luò)控制器在控制車輛變道過程中擁有更小的誤差,變道過程更加安全;與LQR相比,基于REINFORCE算法的神經(jīng)網(wǎng)絡(luò)控制器的整體表現(xiàn)也不算差,算法實時性有保障,滿足無人駕駛車輛安全變道要求,是1種不依賴于模型,控制器設(shè)計過程友好,有自適應(yīng)性的無人駕駛車輛變道控制器。
但是,基于REINFORCE 算法的神經(jīng)網(wǎng)絡(luò)控制器也有一定的缺陷。PID 和LQR 的穩(wěn)態(tài)誤差都為0,但基于REINFORCE 算法的神經(jīng)網(wǎng)絡(luò)控制器存在穩(wěn)態(tài)誤差,且車速越高穩(wěn)態(tài)誤差越大。因此,如何降低該穩(wěn)態(tài)誤差將作為下一步的研究內(nèi)容之一。
本文基于無模型強化學(xué)習(xí)REINFORCE 算法和神經(jīng)網(wǎng)絡(luò)技術(shù),對無人駕駛車輛變道控制技術(shù)展開研究。
1)采用車輛單軌模型為被控對象,確定控制系統(tǒng)的反饋量和控制器的控制量,并根據(jù)單軌模型中魔術(shù)輪胎公式的要求對控制量進行限幅。
2)根據(jù)REINFORCE 算法和神經(jīng)網(wǎng)絡(luò)技術(shù)設(shè)計控制器結(jié)構(gòu)和訓(xùn)練方式,針對樣本數(shù)值和方差過大的問題,提出1種經(jīng)驗池數(shù)據(jù)預(yù)處理的方法。
3)結(jié)合無人駕駛車輛運行場景,分析強化學(xué)習(xí)過程中的獎勵稀疏問題,并針對該問題提出1 種獎勵塑造的解決方案。
4)在不同車速下進行對比實驗,控制效果表明基于REINFORCE 算法的無人駕駛車輛變道控制策略的適用于無人駕駛車輛變道任務(wù);在不同硬件平臺上進行實驗,表明算法實時性和遷移至輕量級平臺的可行性。
下一步研究將對基于REINFORCE 算法的神經(jīng)網(wǎng)絡(luò)控制器的穩(wěn)態(tài)誤差開展研究,尋找降低該誤差的方法。另外,本文實驗的前提是給定軌跡絕對安全,但在實際情況中因給定路線上出現(xiàn)障礙物而導(dǎo)致給定軌跡不安全的情況時有發(fā)生,因此,下一步還將結(jié)合避障控制技術(shù)開展研究。