王賀鵬 李志斌 王立



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