張 騁,苗新蕊,牟雪曼
(1.浙江吉利汽車研究院有限公司,浙江 寧波 315336; 2.江蘇聯(lián)合職業(yè)技術學院南京分院,江蘇 南京 210019)
模擬測試是智能駕駛技術的研發(fā)流程中一個不可或缺的環(huán)節(jié)。國外有些立法機構要求自動駕駛汽車上路測試之前,先證明在模擬環(huán)境中已通過相應能力測試[1]。模擬器是以輸出被測系統(tǒng)全部輸入信號,接收并分析被測系統(tǒng)輸出數(shù)據(jù)為目標的專用工具。國際上技術最領先的Waymo公司,模擬自動駕駛測試總里程千倍于實際道路測試。他們認為:“一個好的、強大的模擬器源自于2點,其中一個是保真度”[2]。道路可視化環(huán)境是模擬器提供給被測系統(tǒng)的信號組成部分。傳統(tǒng)的三維道路重建辦法是對地圖數(shù)據(jù)解碼后,耗費大量的人力物力進行二次描繪[3],會產(chǎn)生人為的數(shù)據(jù)加工誤差。使用激光雷達的高精度采樣點作為原始數(shù)據(jù),為精準還原空間場景提供了可能性,但誤差也變得更不可忽視,導致了模擬器的保真度大打折扣。
提供測繪數(shù)據(jù)的地圖服務商提供的可視化基本都是二維地圖[4],近年來,也開始提供三維地圖顯示功能。但顯示的是道路兩側的建筑物[5],而無法可視化對于模擬真實道路訓練智能駕駛汽車至關重要的三維車道[6]。
為了在模擬器中實現(xiàn)三維地圖車道的可視化,本文提出一套數(shù)據(jù)還原技術,自動化地進行地圖車道數(shù)據(jù)的處理與三維繪制工作。要求在不對ESRI[7](Environmental Systems Research Institute)數(shù)據(jù)進行轉(zhuǎn)譯的情況下完成,保證了不造成原始數(shù)據(jù)信息的損失,同時大大提高了效率。
國家測繪地理信息局2016年下發(fā)的《關于加強自動駕駛地圖生產(chǎn)測試與應用管理的通知》中規(guī)定:“自動駕駛地圖(高精地圖)屬于導航電子地圖的新型種類和重要組成部分,其數(shù)據(jù)采集、編輯加工和生產(chǎn)制作必須由具有導航電子地圖制作測繪資質(zhì)的單位承擔”。
所謂高精度地圖[8],是相對于普通導航地圖而言,后者導航定位精度誤差在10 m~15 m,包含的地圖要素也十分單一。而高精度地圖精度相當高,誤差在15 cm~20 cm,可以詳細地標注出高速路上的具體車道、車道線的寬度和長短以及路燈位置,可以理解為把一個現(xiàn)實世界的道路完全矢量化成了地圖。最重要的信息是道路網(wǎng)的精確三維表征,例如:交叉路口布局和路標位置。
地圖服務商給車廠的原始數(shù)據(jù)一般由4個部分(安全輔助數(shù)據(jù)、道路交通設施、車道網(wǎng)數(shù)據(jù)、道路網(wǎng)數(shù)據(jù))組成[9],以圖層方式分層次組織,以ESRI格式存儲在地理數(shù)據(jù)庫中。圖層數(shù)據(jù)結構如圖1所示。
圖1 圖層結構示意圖
道路網(wǎng)數(shù)據(jù)部分定義了道路基準線、道路基準線連接點、路口等,建立了高精度車道級道路和傳統(tǒng)二維導航電子地圖的關聯(lián)關系。
車道網(wǎng)數(shù)據(jù)部分記錄了車道級道路中心線坐標點,連接點處的曲率、車道寬、坡度等屬性。所描述的車道精度達到厘米級分辨率,用這部分數(shù)據(jù)重建起來的道路,還原了真實的道路狀況,也是可視化高清三維地圖主要用到的數(shù)據(jù)。
其他圖層包括道路交通設施以及安全輔助數(shù)據(jù)這2類圖層數(shù)據(jù)。路面標線、道路邊界、交通標志的各種箭頭、文字、立面標記、突起路標等,構成了交通安全設施,即有助于智能駕駛車輛系統(tǒng)功能實現(xiàn)的安全交通數(shù)據(jù)。
還原真實環(huán)境最好的辦法是,模擬的道路環(huán)境與真實的駕駛道路環(huán)境使用同樣的數(shù)據(jù),也就是,真實車輛用的地圖數(shù)據(jù)、被測軟件用的地圖數(shù)據(jù)和場景地圖用的數(shù)據(jù)完全一致??梢暬亟ǖ募夹g方案如圖2所示。
圖2 繪制方案示意圖
地圖數(shù)據(jù)處理單元包含4個模塊,分別從地圖圖層中提取道路網(wǎng)的基本數(shù)據(jù)和車道網(wǎng)的基本數(shù)據(jù)和屬性數(shù)據(jù),形成待處理的數(shù)據(jù)結構。
原始數(shù)據(jù)采用經(jīng)緯海拔WGS84(World Geodetic System 1984)坐標系定位[10]。為了能夠更清晰地顯示出小范圍經(jīng)緯度內(nèi)部的細節(jié)信息,需要用米為單位的地心地固ECEF(Earth-Centered, Earth-Fixed)坐標[11]來轉(zhuǎn)換以度為單位的WGS84坐標。
原始數(shù)據(jù)是離散且不均勻的,生成的模型可視化會出現(xiàn)折線而影響視覺效果,因此針對要求高視覺效果的場合,要在繪制之前提出為渲染模塊對地圖數(shù)據(jù)點做插值優(yōu)化的處理方法。
地圖繪制單元包含2個模塊,道路數(shù)據(jù)起定位作用,可視化的是路緣以及點、線、面狀的交通設施。車道面是地圖中與車輛直接發(fā)生關系的部分,繪制車道面就是要按照詳細數(shù)據(jù)全部還原成三維模型并且可視化。
三維建模的方法有很多,但是不用人工地從高精地圖重建可視化的三維道路的方法尚不完善。利用專業(yè)的三維建模軟件的API(Application Programming Interface)程序腳本做成一個工具,在不對ESRI數(shù)據(jù)進行編譯的情況下,用程序?qū)Φ貓D數(shù)據(jù)進行處理與三維繪制工作,將數(shù)據(jù)自動化地生成能夠整合進模擬器的多邊形網(wǎng)格模型。
地圖模型導出單元的功能主要是在用程序處理地圖數(shù)據(jù)并繪制出車道面之后,為提高數(shù)據(jù)使用效率,進一步進行局部坐標分割,使模型使用便利性最大化。由于繪制地圖時統(tǒng)一使用的是各個形狀頂點對坐標原點的偏移量,實際上每個車道面模型的原點都重合在ECEF坐標系下的原點。為了導出的車道面模型能夠擁有不同的本地坐標原點,需要對每個車道面模型進行坐標變換,以適應使用的需要。生成的三維網(wǎng)格模型分別為模擬器的物理模塊和渲染模塊所用。物理模塊中,因車道面的幾何形狀對車身姿態(tài)有影響,為了取得準確的車身重心與車道表面的相對關系數(shù)據(jù),模型保真不作處理。
繪制三維車道,是把車道分解成三角平面的組合,沿著車道中心點向著一個方向逐點計算,由一個個圖元連接而成。繪制算法如圖3所示。
圖3 算法示意圖
圖3中圖元各頂點,C為車道中心點,L為左邊界點,R為右邊界點。地圖原始數(shù)據(jù)庫一般給出中心點坐標和車道截面幾何形狀的屬性,如車道寬參數(shù)、邊坡與水平面的夾角參數(shù)等。根據(jù)這些參數(shù),可以計算出邊界點的坐標。如圖4所示。
在中心點C1作垂直于C1C2向量的車道截平面S,根據(jù)邊坡夾角參數(shù)分別在S平面上作C1L1向量和C1R1向量,根據(jù)車道寬參數(shù)確定L1和R1的位置坐標點,逆時針方向畫出三角平面。將車道級圖層中定義的所有車道按照上述方法進行繪制,即可獲得按照車道定義的所有路面。
圖4 邊界點坐標計算
建模工具選用開源軟件Blender的API接口[12],使用Python腳本語言編寫程序。首先繪制可視化地圖的區(qū)域基本圖層,然后逐個繪制車道面,最后導出可以整合進模擬器的格式的文件。程序流程圖如圖5所示。
圖5 程序流程圖
道路設施也可以按照車道繪制技術,從原始數(shù)據(jù)自動生成。有高度的點、線、面狀設施,如燈桿、路緣、天橋等,也可以以三維來表現(xiàn)。
由于ECEF坐標的數(shù)值太大,為了便于計算做坐標變換,先把ECEF坐標變換到本地坐標系。
應用Hermite曲線插值法[13]對地圖原始數(shù)據(jù)的車道中心線進行等步長插值采樣,使得采樣點變得勻稱,線條變得光滑。Hermite曲線插值方法很靈活,其基函數(shù)的形式有多種,這里選用一種比較簡單的三次曲線。
插值基函數(shù)多項式為:
(1)
其中,s取值范圍(0,1),在給定的2點中間插值。
車道中心線點集的屬性中,除了坐標(x,y,z)還有道寬(w)和邊坡(a),于是把中心線的采樣點作為五維向量進行計算P(x,y,z,w,a)。準備優(yōu)化的車道中心線點從起點段P0P1起,P0,P1,…,Pi-1,Pi,Pi+1,…,Pk至終點段Pk-1Pk逐段進行插值計算。
設分段Pi,Pi+1,則給定值端點及切線為:
終點段的Tk沿用Tk-1的值。
計算得到樣條函數(shù)為:
P=h1×Pi-1+h2×Pi+h3×Ti-1+h4×Ti
(2)
用矩陣表示為:
(3)
為了達到勻稱的目的,選取合適的s值使得整條路插值點步長相等,新采樣的點集取代原始不均勻的中心線點集,開始進行車道面繪制。這樣,繪制出的可視化地圖將由光滑的曲線代替折線,使得視覺更美觀。
WGS84坐標轉(zhuǎn)為ECEF坐標可用公式(4):
(4)
式中,ECEF坐標為:X、Y、Z;緯度B、經(jīng)度L、海拔H[14]。
導出模型時的坐標變換:
通常的仿真模擬器如Carsim、PreScan等,道路場景可視化的方式是,以編輯器為輸入接口,導入OSM(Open Street Map)格式地圖,再根據(jù)需求人工編輯,生成所需要的場景地圖,如圖6所示。
圖6 PreScan導入OSM地圖
由于OSM格式的數(shù)據(jù)結構特點,因此會存在一些問題:
1)OSM網(wǎng)格地圖是一個區(qū)域地圖,道路位置有的需要人工修正,而且難以準確表現(xiàn)道路細節(jié)。自動駕駛的測試與驗證用的地圖,不能局限于一個區(qū)域,主要是數(shù)百上千公里車道的完全仿真呈現(xiàn)。
2)高精地圖的原始數(shù)據(jù)是ESRI格式,要轉(zhuǎn)換為OSM格式,由于數(shù)據(jù)結構的限制,是有損轉(zhuǎn)換。高精地圖的厘米級車道是OSM數(shù)據(jù)在地球坐標下無法達到的精度。
從圖7中的測試曲線可以看出,本文制作的可視化地圖與通常的地圖繪制相較于模擬測試的效果。
(a) 通常的地圖道路
(b) 道路的曲率
(c) 疊加對比圖7 車道可視化效果
圖7(a)是一段通常方式由人工參與制作的ENU(local Cartesian coordinates coordinate system)X-Y局部坐標系中的道路中心線,從右向左設為道路延伸方向。圖7(b)是由高精地圖數(shù)據(jù)生成的道路中心線曲率圖,道路前進里程由左至右,為圖1(a)的同一段道路。坐標U為道路前進里程,C為曲率。圖7(c)為曲率差可觀化,由(a)的曲率與(b)求差得到。將曲率差映射至道路切線空間后,將曲率差折算為m,并縮放104倍,得到圖(c)。
使用高精度地圖可視化的道路曲線,從宏觀上看與人工制作重合。但將道路的前進方向法線平面的曲率繪制為曲線,可以看出高精度的三維道路幾何信息對重建所帶來的影響:道路的細節(jié)起伏、傾斜都被得到還原而引起道路表面曲率波動。這些細節(jié)在傳統(tǒng)的人工制作流程中無法有效地進行還原。
車道面的三維可視化,能把地圖服務商采集的車道級原始數(shù)據(jù)全部體現(xiàn)出來,明顯提高了智能駕駛決策軟件的模擬測試質(zhì)量。而精細的點坐標,也更有助于車輛的定位。
有了三維地圖可視化的模擬器,運行時車道面能夠產(chǎn)生真實的信息,視覺效果也有提高,完全達到了預期結果。
1)繪制工作始終是在一個三維空間中進行的,不會出現(xiàn)二維與三維之間的格式轉(zhuǎn)換,避免了數(shù)據(jù)的丟失。自動化流程因無人工參與,控制了人為數(shù)據(jù)處理的錯誤產(chǎn)生,測試場景的精確度得到了提高。
2)通常方法制作的道路場景,其表面大幅度降低了對自動駕駛開發(fā)中車輛運動控制模塊和目標跟蹤系統(tǒng)中對擾動的要求,容易導致工程師錯誤地高估系統(tǒng)的抗擾動能力,在仿真中無法發(fā)現(xiàn)未來路測可能遇到的潛在穩(wěn)定性風險。
3)由于自動駕駛技術的要求是低于10 cm定位誤差,實際高精地圖車道已經(jīng)做到了100 m范圍內(nèi)定位誤差小于5 cm的精度。這樣的精度,靠人工繪制需一天的工作量,而本技術數(shù)秒就可以完成。若是長距離道路的繪制,實際上是人工無法完成的任務。
4)國內(nèi)的智能駕駛模擬測試技術還處在初步階段,在可查的范圍內(nèi),地圖重建技術方面的研究成果較少。本技術方案在還原的效率和可視化的效果上,具有一定的前瞻性和技術領先性。