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