王賀鵬 李志斌 王立
摘 要:自動駕駛必須使用仿真測試方法以便加快其落地,已成為業(yè)界共識。通過探究中國交通燈的特性,為自動駕駛仿真提供中國特色交通信號燈子系統(tǒng)。通過 3Ds Max 構(gòu)建交通燈三維模型,Infraworks繪制道路以及路口三維模型,最終基于 UE4藍(lán)圖編程實現(xiàn)中國交通信號燈的變換機制,以及對背景車輛的約束。
關(guān)鍵詞:自動駕駛仿真;虛擬交通信號系統(tǒng);UE4;3Ds Max
Abstract: It is an industry consensus that autonomous driving must use simulation test methods in order to accelerate its landing. By exploring the characteristics of Chinese traffic lights, we provide a traffic light subsystem with Chinese characteristics for automatic driving simulation. Construct 3D models of traffic lights through 3Ds Max, Infraworks draws 3D models of roads and intersections, and finally implements the transformation mechanism of Chinese traffic lights and restricts background vehicles based on UE4 blueprint programming.
前言
世界衛(wèi)生組織公布的全球十大死亡原因之一就是道路交通傷亡,據(jù)統(tǒng)計全球每年約有125萬人死于交通事故。自動駕駛汽車的出現(xiàn)可以極大地降低交通事故出現(xiàn)概率,不像人類駕駛一樣只有有限的環(huán)境感知能力,自動駕駛汽車具有360度視野,可以對潛存危機做出安全的反應(yīng),且其反應(yīng)能比類駕駛更為迅速。極大地避免了行車距離過近、分心駕駛及危險駕駛等人為因素導(dǎo)致的交通事故。因此實現(xiàn)汽車自動駕駛具有一定的現(xiàn)實意義,在自動駕駛系統(tǒng)研發(fā)階段需要有配套的仿真系統(tǒng)測試自動駕駛相關(guān)算法。
本文基于虛幻引擎UE4,借助藍(lán)圖編程實現(xiàn)交通信號燈機制,搭建了一個滿足中國交通信號燈系統(tǒng)法規(guī)的仿真系統(tǒng),為自動駕駛仿真系統(tǒng)提供了交通信號燈仿真環(huán)境。
1 UE4 引擎介紹
UE4引擎是一個全面整合的專業(yè)游戲引擎,是一個可以輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內(nèi)容的多平臺的綜合型游戲開發(fā)工具,被廣泛應(yīng)用于游戲制作、虛擬現(xiàn)實、模擬仿真等領(lǐng)域。
在本文中,使用UE4引擎來實現(xiàn)交通信號燈的三維表現(xiàn)及信號燈狀態(tài)變化的底層邏輯實現(xiàn)。
2 自動駕駛仿真系統(tǒng)的交通信號燈系統(tǒng)需求分析
在自動駕駛車投入運行之前的訓(xùn)練需要大量數(shù)據(jù),面對的是極其嚴(yán)苛的工況。雖然目前已經(jīng)有許多功能齊全、先進(jìn)的封閉測試園區(qū),但是僅靠園區(qū)模擬測試是不可能窮盡所有的不可控、不可預(yù)見因素的。而且在封閉園區(qū)中采集成本高昂、效率低下,不具有復(fù)現(xiàn)功能。于是提出了整車在環(huán)仿真,這樣不需要實際復(fù)雜的路況,就能讓自動駕駛汽車的傳感器與周圍環(huán)境發(fā)生互動。
利用虛擬環(huán)境下環(huán)境感知傳感器進(jìn)行仿真建模測試,不僅可以在短期內(nèi)實現(xiàn)對多種路況進(jìn)行復(fù)現(xiàn)測試以及對危險的駕駛情況進(jìn)行測試,而且可以突破時間限制,能夠大大縮短產(chǎn)品測試周期,降低測試成本。
對于自動駕駛仿真系統(tǒng)來說,需要一個盡量和現(xiàn)實道路一致的場景?,F(xiàn)有的商業(yè)或者開源的自動駕駛仿真系統(tǒng),或者缺乏仿真場景,或者雖然有仿真場景,但是缺乏滿足中國交通法規(guī)的場景。對于自動駕駛來說,有一個很大的特點——區(qū)域性。例如,因為缺少很多中國特色的交通元素的場景,在國外訓(xùn)練好的自動駕駛模型拿到國內(nèi)來卻未必能用。以國外的十字路口為例,國外是四個路口按照順序依次放行;而中國大部分是對向的路口同時放行,同時有的路口還有待轉(zhuǎn)情況以及右轉(zhuǎn)忽略交通燈的情況。所以搭建一個具有中國特色的場景來做測試是非常必要的,其中最重要的組件之一就是交通信號燈。
3 交通信號燈仿真系統(tǒng)的總體設(shè)計
3.1 交通信號燈系統(tǒng)分析
根據(jù)《GB14886-2016 道路交通信號燈設(shè)置與安裝規(guī)范》的要求,主要的交通場景包括十字路口、丁字路口、以及環(huán)島等。本文根據(jù)道路車道數(shù)以及車流量的不同,選取了比較常見的兩種機動車信號燈和方向指示信號燈的組合形式來進(jìn)行實現(xiàn),其它形式的實現(xiàn)與此相同:
常規(guī)組合1:用于左轉(zhuǎn)車輛較少、不需要設(shè)置左轉(zhuǎn)控制相位的路口,或直行左轉(zhuǎn)共用的路口,如圖1左所示。機動車信號燈中綠燈亮表示,準(zhǔn)許車輛通行,轉(zhuǎn)彎的車輛不得妨礙被放行的直行車輛、行人通行;機動車信號燈的紅燈亮表示,禁止車輛通行,但右轉(zhuǎn)彎的車輛在不妨礙被放行的車輛和行人通行的情況下,可以通行。
常規(guī)組合2:設(shè)置左轉(zhuǎn)專用導(dǎo)向車道且左轉(zhuǎn)車輛較多,需要設(shè)置獨立的左轉(zhuǎn)控制相位的路口,如圖1右所示。機動車信號燈的綠燈亮,左轉(zhuǎn)方向指示信號燈的紅燈亮表示:直行和右轉(zhuǎn)方向可通行,左轉(zhuǎn)禁行;機動車信號燈中紅燈亮,左轉(zhuǎn)方向指示信號燈的綠燈亮表示:左轉(zhuǎn)方向可通行,直行禁行,右轉(zhuǎn)彎的車輛在不妨礙被放行的車輛、行人通行的情況下,可以通行;在設(shè)有左彎待轉(zhuǎn)的路口,如果左轉(zhuǎn)方向指示信號燈的紅燈亮,機動車信號燈中綠燈亮,左轉(zhuǎn)車輛可以進(jìn)入待轉(zhuǎn)區(qū)。
3.2 功能設(shè)計
自動駕駛仿真系統(tǒng)需要的交通場景包括靜態(tài)場景和動態(tài)場景,較難實現(xiàn)的是動態(tài)場景的設(shè)計。動態(tài)場景主要包括交通流和交通信號燈等。因為仿真系統(tǒng)里的交通信號燈不僅要讓被測自動駕駛車對應(yīng)的hero車的視覺傳感器來識別虛擬環(huán)境里的交通燈,檢測自動駕駛算法,還需要約束大規(guī)模背景交通流,保證不會出現(xiàn)塞車、撞車的情況。為了節(jié)省資源,自動駕駛仿真系統(tǒng)里的背景交通流通過簡單的自動駕駛方式來實現(xiàn),而非視覺識別,這就需要將背景車的邏輯與紅綠燈狀態(tài)相互關(guān)聯(lián)。具體的說,交通信號燈系統(tǒng)就不單單是實現(xiàn)交通燈顏色的變化,還要實現(xiàn)對背景交通流的約束。
通過藍(lán)圖編程,仿真系統(tǒng)中所有交通燈可以實現(xiàn)各自的狀態(tài)變換。但如果沒有統(tǒng)一的控制,在仿真開始后,系統(tǒng)里所有的交通燈會同時按照自身設(shè)置的時間同步變化。然后再加入控制藍(lán)圖實現(xiàn)交通燈之間的相互配合。
以有左彎待轉(zhuǎn)的十字路口為例,如圖2,總共有12條路線,右轉(zhuǎn)不受交通燈約束,因此右轉(zhuǎn)彎的4條路線的控制燈可以假設(shè)稱為常綠狀態(tài),另外,其他的8條線路是兩兩為一組的,可以歸為4組,所以,只需考慮圖中為虛線的4條路線的控制燈的切換順序。首先設(shè)置一個交通燈的狀態(tài)變換順序函數(shù),當(dāng)經(jīng)過時間大于設(shè)置的時長,調(diào)用該函數(shù)讓交通燈切換到下一狀態(tài)。當(dāng)一號交通燈黃燈時間經(jīng)過結(jié)束后,調(diào)用凍結(jié)時間函數(shù),若此時交通燈是紅燈,則切換到二號交通燈變換,以此類推可以實現(xiàn)交通燈的復(fù)雜配合。
為了讓背景交通流遵守交通規(guī)則,紅燈時停在讓行線內(nèi),需要觸發(fā)器box trigger加到交通燈的藍(lán)圖里。當(dāng)背景車行駛到box trigger處,如果此時不是綠燈,則會觸發(fā)背景車的邏輯流程,使車速降低到零。
考慮到仿真場景里有多個交通燈,以及左彎待轉(zhuǎn)情況,需要將同一懸臂上的直行和左轉(zhuǎn)交通燈做藍(lán)圖通信來共享變量,以此完成待轉(zhuǎn)情況時的boxtrigger觸發(fā),如圖3所示。通過接口藍(lán)圖,把控制器里所設(shè)置的各個狀態(tài)的時長傳遞給相應(yīng)的交通燈,由此來切換交通燈的貼圖,實現(xiàn)倒計時功能。
3.3 整體實現(xiàn)
交通信號燈仿真系統(tǒng)中所需要的交通燈的三維模型由3Ds Max完成,根據(jù)國家標(biāo)準(zhǔn)制作中國的信號燈,包括信號燈懸臂長度、信號燈安裝高度等;根據(jù)國家標(biāo)準(zhǔn)提供的圖片,由PS獲得所需的貼圖;交通場景里大量的道路及路口由Infra -works繪制,并導(dǎo)入到UE4 里。系統(tǒng)功能的最終展現(xiàn)形式主要是UE4,物體的材質(zhì)選擇和特效制作由 UE4 中材質(zhì)和特效系統(tǒng)實現(xiàn),交通信號燈的控制機制由藍(lán)圖編程實現(xiàn)。整個系統(tǒng)的搭建流程如圖4。
將交通燈按照國家標(biāo)準(zhǔn)擺放在合理的位置,通過仿真系統(tǒng)的背景車輛生成程序給場景中添加背景交通流,讓其遵守交通規(guī)則,實現(xiàn)交通信號燈系統(tǒng)對車流的控制,場景示意圖如圖5所示:
3.4 細(xì)節(jié)設(shè)計
為了方便使用,在UE4中建立了一個新的關(guān)卡,來放置已經(jīng)做好的交通燈。如果在交通燈庫里沒有發(fā)現(xiàn)和現(xiàn)實生活匹配的交通燈,可以在做好的交通燈的基礎(chǔ)上稍稍改動來獲得。例如可以很容易的在交通燈懸臂上添加紅綠燈組。也可以根據(jù)實際情況很容易地修改燈的顏色以及交通燈上的貼圖。
在藍(lán)圖的視口選項里,添加Static Mesh,選擇導(dǎo)入的交通燈懸臂模型,然后在heads里添加變量就可以直接添加一組交通燈,然后只需再調(diào)整位置或旋轉(zhuǎn)坐標(biāo),就可以得到不同懸臂的交通燈,如圖6所示。
在控制器藍(lán)圖里可以選擇讓哪些交通信號燈配合工作以及紅黃綠保持的時間。,可以根據(jù)實際情況方便快捷的設(shè)置時間。交通燈的默認(rèn)狀態(tài)是紅燈,Change指的是該懸臂上的交通燈按紅綠黃變化完之后,切換到下一懸臂燈色開始變化之間的間隔時間;Green和Yellow分別指的是對應(yīng)的顏色保持時間,如圖7所示。
交通信號燈以及控制器的藍(lán)圖如圖8、9所示:
4 結(jié)論
該系統(tǒng)在搭建過程中,首先用Infraworks和3Ds Max建好模型。然后導(dǎo)入UE4里完成場景設(shè)置、關(guān)卡設(shè)置、以及交通燈的藍(lán)圖,制作了符合中國特色的交通信號燈系統(tǒng),并且達(dá)到了預(yù)期的性能,實現(xiàn)了一個逼真的交通信號燈系統(tǒng)。未來,我們可以加入更多的中國元素進(jìn)一步優(yōu)化場景,在自動駕駛仿真系統(tǒng)里添加中國特色。
參考文獻(xiàn)
[1] 徐雯皓,李忠,蘇鑫昊.基于3D引擎的汶川震前水文變化三維模擬演示系統(tǒng)設(shè)計[J].軟件,2018,39(04):176-179.
[2] 中華人民共和國國家標(biāo)準(zhǔn).GB14886-2016.道路交通信號燈設(shè)置與安裝規(guī)范.
[3] 王昆博,陶志清,朱佳華,等.VR火災(zāi)模擬逃生仿真系統(tǒng)[J].科學(xué)技術(shù)創(chuàng)新,2018(22):64-65.
[4] 姚亮.虛幻引擎(UE4)技術(shù)基礎(chǔ)[M].北京:電子工業(yè)出版社,2018.
[5] 彭浩,林曉輝.交通信號控制3D虛擬仿真實訓(xùn)平臺的設(shè)計與實現(xiàn)[J].廣東交通職業(yè)技術(shù)學(xué)院學(xué)報,2018,17(02):52-55+60.
[6] 裴金漪.基于SUMO和雙流體模型的城市交通信號系統(tǒng)模擬[D].蘭州交通大學(xué),2015.
[7] 王德.車聯(lián)網(wǎng)中虛擬智能交通燈的控制算法的研究[D].黑龍江大學(xué),2018.
[8] 洪峰.智能汽車交通車輛的綜合認(rèn)知及其虛擬測試方法研究[D].吉林大學(xué),2018.
[9] 李媛媛.基于虛擬現(xiàn)實的人群仿真技術(shù)研究[D].天津理工大學(xué), 2019.