郝高峰,付 莊,鄭 輝
(上海交通大學(xué)機(jī)械系統(tǒng)與振動(dòng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,上海 200240)
轉(zhuǎn)鼓試驗(yàn)是汽車(chē)開(kāi)發(fā)過(guò)程中一個(gè)很重要的環(huán)節(jié)。進(jìn)行試驗(yàn)時(shí),汽車(chē)行駛在室內(nèi)試驗(yàn)臺(tái)上來(lái)模擬路面行駛,試驗(yàn)臺(tái)根據(jù)車(chē)型模擬相應(yīng)的路面阻力。然后使用相應(yīng)的設(shè)備來(lái)檢測(cè)汽車(chē)的動(dòng)力性、排放、油耗、噪聲、安全性和舒適性等多項(xiàng)指標(biāo)。傳統(tǒng)的轉(zhuǎn)鼓試驗(yàn)由人工駕駛,人工駕駛具有效率低、可重復(fù)性差、精度低、不適合碰撞試驗(yàn)或長(zhǎng)時(shí)間試驗(yàn)等不足,自動(dòng)駕駛機(jī)器人為解決這些問(wèn)題提供了可能。自動(dòng)駕駛機(jī)器人研發(fā)的難點(diǎn)之一是如何精確地控制車(chē)速跟蹤目標(biāo)車(chē)速[1]。行駛速度曲線一般由監(jiān)管部門(mén)統(tǒng)一制定,如全球統(tǒng)一輕型車(chē)輛測(cè)試循環(huán)(WLTC)、新歐洲測(cè)試循環(huán)(NEDC)等。在國(guó)內(nèi),國(guó)標(biāo)GB 18352.6—2016制定了詳細(xì)的試驗(yàn)標(biāo)準(zhǔn)[2]。
近年來(lái)各種各樣應(yīng)用于車(chē)速跟蹤控制的方法被提出。陳剛等[3-4]提出了一種基于模糊邏輯理論的分級(jí)協(xié)調(diào)控制方法,以實(shí)現(xiàn)各種條件下的轉(zhuǎn)鼓試驗(yàn)循環(huán)的協(xié)調(diào)控制和精確的速度跟蹤,但該方法過(guò)于依賴專(zhuān)家的經(jīng)驗(yàn),并且試驗(yàn)結(jié)果的精度難以達(dá)到要求。為解決換擋對(duì)車(chē)速的影響,Mizutani等[5]修正了目標(biāo)速度曲線,使修正后的速度曲線與實(shí)際目標(biāo)速度曲線的差值正好抵消掉換擋的影響,但該方法構(gòu)建的控制器只能針對(duì)特定的目標(biāo)速度曲線。本實(shí)驗(yàn)室朱宇豪等[6]基于分段PID構(gòu)建了一套速度跟蹤算法,并通過(guò)故障診斷方法對(duì)參數(shù)進(jìn)行精細(xì)調(diào)節(jié),但該方法對(duì)于每輛車(chē)的調(diào)參過(guò)程過(guò)于復(fù)雜和耗時(shí)。
自動(dòng)駕駛機(jī)器人速度跟蹤控制的主要難點(diǎn)來(lái)自汽車(chē)模型的復(fù)雜性:傳動(dòng)系統(tǒng)的復(fù)雜性、踏板的死區(qū)特性和延遲特性。而深度神經(jīng)網(wǎng)絡(luò)的強(qiáng)大之處正是其對(duì)于復(fù)雜模型的近似能力,故可以將深度強(qiáng)化學(xué)習(xí)應(yīng)用到車(chē)速跟蹤控制中。本文構(gòu)建了一種基于DQN的控制方法,并基于馬爾可夫性設(shè)計(jì)了狀態(tài)空間、動(dòng)作空間,根據(jù)超差規(guī)則設(shè)計(jì)了獎(jiǎng)賞函數(shù)。
強(qiáng)化學(xué)習(xí)所解決的問(wèn)題使用馬爾可夫決策過(guò)程來(lái)進(jìn)行描述[7],它包含4個(gè)要素(St,At,p,r)。其中,St表示描述環(huán)境全部信息的狀態(tài)空間,At表示智能體可以采取的動(dòng)作空間,rt=r(st,at,at+1)表示每個(gè)時(shí)刻環(huán)境反饋的獎(jiǎng)賞,p(st+1|st,at)表示環(huán)境狀態(tài)轉(zhuǎn)移函數(shù),任意時(shí)刻的環(huán)境at狀態(tài)都只和上一時(shí)刻的狀態(tài)和動(dòng)作有關(guān)。
1.1.1 狀態(tài)空間
環(huán)境狀態(tài)和環(huán)境固有特性應(yīng)該被區(qū)分出來(lái)。對(duì)于車(chē)速跟蹤控制,計(jì)算車(chē)速和加速度依賴于上一時(shí)刻的車(chē)速、加速度、踏板開(kāi)度,以及車(chē)重、風(fēng)阻系數(shù)、傳動(dòng)摩擦阻力系數(shù)、汽車(chē)排量等。但算法是針對(duì)同一輛車(chē),除車(chē)速、踏板開(kāi)度等之外的參數(shù)都是環(huán)境的固有特性,可以被當(dāng)作未知的常量。將環(huán)境固有特性加入狀態(tài)空間,不會(huì)導(dǎo)致算法不工作,但會(huì)增加神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的負(fù)擔(dān)。另外,考慮到未來(lái)很遠(yuǎn)的目標(biāo)車(chē)速影響很小,所以狀態(tài)S可以近似為
St=〈踏板開(kāi)度,實(shí)際車(chē)速,實(shí)際加速度,
目標(biāo)車(chē)速,0.5 s后目標(biāo)車(chē)速,…,3 s
后目標(biāo)車(chē)速〉
(1)
1.1.2 動(dòng)作空間
機(jī)器人重裝之后位置不固定,而算法需要環(huán)境模型在訓(xùn)練完之后是不變的,所以在每次安裝機(jī)器人之后先進(jìn)行標(biāo)定工作。將踏板開(kāi)度與機(jī)械腳掌位置的關(guān)系測(cè)量出并記錄到表中,然后在程序中進(jìn)行查表和插值轉(zhuǎn)換。這樣就可以將踏板開(kāi)度與機(jī)械腳掌位置關(guān)系排除在算法之外,使用踏板開(kāi)度直接作為算法的動(dòng)作空間。出于安全考慮,限制同一時(shí)刻只允許踩油門(mén)和剎車(chē)中的1個(gè)踏板。所以可以使用參數(shù)o同時(shí)表示2個(gè)踏板開(kāi)度,負(fù)值表示剎車(chē)踏板開(kāi)度,正值表示油門(mén)踏板開(kāi)度。即動(dòng)作空間表示為
At=〈o〉
(2)
1.1.3 獎(jiǎng)賞函數(shù)
國(guó)標(biāo)GB 18352.6—2016制定了目標(biāo)速度曲線的上下界。實(shí)際車(chē)速超出界限范圍稱(chēng)作超差,超差應(yīng)少于10次,并且每次持續(xù)時(shí)間小于1 s,否則記為試驗(yàn)失敗。獎(jiǎng)賞函數(shù)的基本思想是:懲罰和速度差成正比,但懲罰系數(shù)隨著速度差增大而增大,從而使網(wǎng)絡(luò)快速訓(xùn)練到最優(yōu)解附近,然后再精細(xì)訓(xùn)練逼近最優(yōu)解。
(3)
智能體與環(huán)境進(jìn)行交互,它的目標(biāo)是選擇最優(yōu)動(dòng)作,即最大化累計(jì)獎(jiǎng)賞。累計(jì)獎(jiǎng)賞可以量化地定義為
(4)
γ為折扣系數(shù),γ∈[0,1]。智能體的控制策略表示為π,即任意狀態(tài)st下選擇動(dòng)作at的概率為π(at|st)。在策略π下,以任意狀態(tài)為起點(diǎn)并且選取動(dòng)作a的累計(jì)獎(jiǎng)賞期望值叫做動(dòng)作價(jià)值函數(shù)Qπ(st,a),即
Qπ(st,a)=Eπ[Gt|st,a]=
(5)
強(qiáng)化學(xué)習(xí)的目標(biāo)等價(jià)于找到一個(gè)最佳策略,使得其動(dòng)作價(jià)值函數(shù)總是所有策略中最大的,記作Q*(st,a)。此時(shí),只要總是選取動(dòng)作為
(6)
則累計(jì)獎(jiǎng)賞期望總是最大的。

圖1 基于DQN的車(chē)速跟蹤控制架構(gòu)
基于Q-learning[8]的方法記錄一個(gè)映射Q(st,a)(使用表或使用神經(jīng)網(wǎng)絡(luò)來(lái)近似),然后通過(guò)訓(xùn)練使得Q(st,a)逐漸逼近Q*(st,a),基于貝爾曼公式[9]的更新公式為
Q(st,a)←Q(st,a)+
(7)
α為學(xué)習(xí)率,α∈[0,1]。Q-learning方法的精妙之處在于,它使用maxQ(st,a)來(lái)估計(jì)下個(gè)時(shí)刻的累計(jì)獎(jiǎng)賞值和選擇下個(gè)時(shí)刻的動(dòng)作。但使用神經(jīng)網(wǎng)絡(luò)的問(wèn)題是在復(fù)雜任務(wù)中網(wǎng)絡(luò)不易收斂。Mnih等[10-11]使用經(jīng)驗(yàn)回放策略和雙神經(jīng)網(wǎng)絡(luò)策略成功地解決了這個(gè)問(wèn)題。
如圖1所示,神經(jīng)網(wǎng)絡(luò)接受環(huán)境狀態(tài)并輸出動(dòng)作價(jià)值,環(huán)境狀態(tài)包括車(chē)輛狀態(tài)和目標(biāo)速度,價(jià)值最大的動(dòng)作通過(guò)探索函數(shù)、限制函數(shù)及駕駛機(jī)器人反饋給車(chē)輛。神經(jīng)網(wǎng)絡(luò)的隱層數(shù)為2,隱層節(jié)點(diǎn)數(shù)分別為30、20,隱層激活函數(shù)為ReLU函數(shù),輸出層激活函數(shù)為T(mén)anh函數(shù)。
Q(st,a)網(wǎng)絡(luò)被分化為當(dāng)前的Qeval(st,a)和過(guò)時(shí)的Qtarget(st,a)。Qeval(st,a)用于網(wǎng)絡(luò)更新和計(jì)算輸出動(dòng)作值,Qtarget(st,a)用于估計(jì)下一步的動(dòng)作價(jià)值。更新公式為:
Loss(θQeval)=E[(y-Qeval(st,a))2]
(8)
(9)
δθQeval=τ·Loss(θQeval)
(10)
另外,為了使神經(jīng)網(wǎng)絡(luò)充分探索動(dòng)作空間,避免陷入局部最優(yōu),網(wǎng)絡(luò)輸出動(dòng)作值增加一個(gè)高斯分布,即
at←N(at,σ)
(11)
隨著訓(xùn)練的進(jìn)行,探索空間逐漸縮小,方差逐漸衰減。
試驗(yàn)使用的自動(dòng)駕駛機(jī)器人由泛亞汽車(chē)技術(shù)中心有限公司與上海交通大學(xué)機(jī)器人實(shí)驗(yàn)室聯(lián)合研制,如圖2a所示。轉(zhuǎn)鼓試驗(yàn)倉(cāng)如圖2b所示。試驗(yàn)車(chē)輛包括雪佛蘭、別克、凱迪拉克,排量包括帶渦輪增壓和不帶渦輪增壓的1.3 L、1.5 L、2.0 L、4.0 L。
進(jìn)行轉(zhuǎn)鼓試驗(yàn)時(shí),轉(zhuǎn)鼓通過(guò)調(diào)節(jié)自身轉(zhuǎn)動(dòng)慣量來(lái)模擬不同的車(chē)輛模型,出風(fēng)口根據(jù)車(chē)速來(lái)調(diào)節(jié)風(fēng)速進(jìn)而模擬風(fēng)阻,駕駛機(jī)器人安裝在司機(jī)座椅與踏板之間,車(chē)身被固定在地面。車(chē)速和踏板開(kāi)度等數(shù)據(jù)通過(guò)CAN總線從車(chē)輛DLC接口讀取。

圖2 試驗(yàn)環(huán)境
強(qiáng)化學(xué)習(xí)算法基于TensorFlow搭建,控制軟件的界面和后端業(yè)務(wù)邏輯使用Python和PyQt開(kāi)發(fā),數(shù)據(jù)分析用到了NumPy、Matplotlib等。此外,系統(tǒng)底層部分還包括機(jī)器人控制服務(wù)器、機(jī)器人控制下位機(jī)等。
2.3.1 WLTC曲線試驗(yàn)
試驗(yàn)的目標(biāo)速度曲線為WLTC曲線,如圖3所示。WLTC曲線持續(xù)1 800 s,共3 600個(gè)周期。為

圖3 全球統(tǒng)一輕型車(chē)輛測(cè)試循環(huán)(WLTC)
了便于分析,每200個(gè)周期記為1段。
試驗(yàn)顯示,從零開(kāi)始只需4~5輪訓(xùn)練,就可以有效地控制車(chē)速跟蹤目標(biāo)速度,并且滿足超差數(shù)小于10的要求。圖4為雪佛蘭1.5 t車(chē)型的4輪訓(xùn)練的速度曲線片段(600~850 s,WLTC中相對(duì)較復(fù)雜的一段)。在第1輪時(shí),神經(jīng)網(wǎng)絡(luò)參數(shù)基本還是隨機(jī)數(shù),實(shí)際速度和目標(biāo)速度有著較大偏差,但得益于踏板開(kāi)度的限制環(huán)節(jié),速度曲線的基本趨勢(shì)是正確的。第2、3輪時(shí),網(wǎng)絡(luò)已經(jīng)基本學(xué)到了踏板的控制策略,但細(xì)節(jié)處還有很多波動(dòng)和偏差,比如起步停車(chē)段。第4輪之后,基本上在整段WLTC曲線中,實(shí)際速度和目標(biāo)速度都有著很好的貼合。

圖4 WLTC曲線4輪訓(xùn)練速度曲線片段
圖5為訓(xùn)練過(guò)程平均獎(jiǎng)賞值和平均動(dòng)作價(jià)值收斂曲線。在初始階段,獎(jiǎng)賞值和Q值都有著比較大的波動(dòng),但訓(xùn)練到一定程度后它們就趨于穩(wěn)定并且收斂。

圖5 平均獎(jiǎng)賞曲線和平均Q值曲線
2.3.2 超參數(shù)
為了使神經(jīng)網(wǎng)絡(luò)盡可能全面地學(xué)習(xí)環(huán)境模型,在訓(xùn)練時(shí)輸出動(dòng)作會(huì)加一個(gè)高斯分布的探索空間。高斯分布的方差σ決定了探索空間的大小。隨著訓(xùn)練的進(jìn)行,網(wǎng)絡(luò)逐漸學(xué)到環(huán)境模型,探索空間逐漸減小,網(wǎng)絡(luò)逐漸在更小的范圍內(nèi)更精確學(xué)習(xí),所以將每步訓(xùn)練后σ減小ε個(gè)百分點(diǎn),即衰減率。衰減率影響著網(wǎng)絡(luò)的穩(wěn)定性,隨著衰減率的增大,平均獎(jiǎng)賞的收斂曲線如圖6所示。可以看到,ε在0.999 00~0.999 90的范圍內(nèi),網(wǎng)絡(luò)有著很好的穩(wěn)定性。

圖6 不同衰減率下的平均獎(jiǎng)賞值收斂曲線
在強(qiáng)化學(xué)習(xí)中,獎(jiǎng)賞函數(shù)對(duì)算法具有很大的影響。盡管一些關(guān)于歸一化的技術(shù)可以減小不同單位和不同尺度獎(jiǎng)賞值帶來(lái)的影響[12],但試驗(yàn)仍是研究它的最直觀方法。如圖7所示,隨著從0.02增大到100.00,平均獎(jiǎng)賞收斂曲線的變化很小,這說(shuō)明網(wǎng)絡(luò)對(duì)于λ的取值有著很高的包容性。

圖7 不同獎(jiǎng)賞系數(shù)下的平均獎(jiǎng)賞值收斂曲線
本文基于DQN算法,構(gòu)建了一種自動(dòng)駕駛機(jī)器人速度跟蹤控制方法。試驗(yàn)結(jié)果表明,該算法可以使駕駛機(jī)器人在轉(zhuǎn)鼓試驗(yàn)中滿足高精度速度跟蹤要求,并解決了不同類(lèi)型轉(zhuǎn)鼓試驗(yàn)、不同車(chē)輛試驗(yàn)的自適應(yīng)性問(wèn)題,避免了傳統(tǒng)控制方法的復(fù)雜調(diào)參過(guò)程。任意能提供訓(xùn)練環(huán)境的自動(dòng)控制問(wèn)題,都可以使用強(qiáng)化學(xué)習(xí)方法,本文研究為其提供了一個(gè)參考案例。后期將針對(duì)各特定轉(zhuǎn)鼓試驗(yàn)進(jìn)行獎(jiǎng)賞函數(shù)優(yōu)化,以及解決訓(xùn)練開(kāi)始階段車(chē)輛抖動(dòng)嚴(yán)重的問(wèn)題。