【論文翻譯】Automatic Conversion of Road Networks from OpenDRIVE to Lanelets

路網的自動轉換:從OpenDRIVE到Lanelets

0 摘要

詳細的路線圖是一個重要的組成部分,在大規模駕駛時,它們可以加速在車輛內創建語義環境模型,並在傳感器被遮擋或受損時作爲備份解決方案。由於需要詳細的地圖進行自動駕駛和虛擬駕駛。爲測試驅動器。創建這樣的地圖是相當費力的。雖然一些相當大區域的詳細地圖已經存在,但它們通常以不同的格式存在,因此無法在公司和研究機構之間交換。來解決這個問題。我們提供了第一個公開可用的從OpenDRIVE格式到lanelet的轉換——這兩種表示都是最流行的地圖格式。我們通過使用公開可用的地圖來演示轉換器的功能。

1 引言

雖然許多自主系統開發人員的夢想是讓車輛僅從車載傳感器完全瞭解其環境,但很明顯,在車輛1[2]運行期間,地圖極大地改善和加速了環境語義地圖的構建。此外,如果傳感器故障或道路部分被堵塞,地圖可以作爲備用解決方案。出於這個原因,許多大公司和初創公司都在投資創建詳細的自動駕駛地圖。除了在車上使用地圖,地圖對虛擬試駕也至關重要,可以降低測試自動駕駛車輛或高級駕駛輔助系統的成本;看到如[3 - [5]。導航地圖已經存在,並且在某些情況下是開源的,比如OpenStreetMap[6],但是爲自動駕駛創建詳細的地圖是昂貴的,而降低地圖創建的成本是一個持續研究的問題。雖然可以使用同步定位和映射(SLAM)自動創建地圖,但這些地圖還不如[7]手動創建的地圖詳細。降低成本的另一種方法是將現有的映射轉換爲所需的格式。在這項工作中,我們提出了第一個公開可訪問的轉換器從OpenDRIVE到lanelets。這兩種表示都是最流行的地圖格式,其中OpenDRIVE[8]在工業上使用得更多,lanelets[9]目前在學術界使用得更多。

我們首先描述OpenDRIVE的主要優勢,然後介紹使用lanelets的好處。有一些工具支持OpenDRIVE,也有一些工具支持以OpenDRIVE格式創建地圖,比如Trian3D Builder1。OpenDRIVE的主要優點之一是保證了不同模擬器之間的模型無縫交換。其他的工作,比如[10],擴展了OpenDRIVE格式,提供了更多的語義信息,並部分地自動化了有意義映射的創建。

Lanelets越來越受歡迎,因爲它的定義比OpenDRIVE更輕,但功能強大,足以滿足駕駛模擬器和自動駕駛的所有主要需求。例如,沿着Bertha Benz紀念路線的自動駕駛就使用了lanelets[111]。Lanelets用於駕駛模擬器和自動駕駛的許多方面,如可組合基準運動規劃道路(CommonRoad) [12], lane-level匹配[13],深度學習[14],形式化的交通規則[15],基於集合預報的交通參與者[16],司機的意圖分類(17日和決心的位置合規[18],等等。除了lanelets和OpenDRIVE外,其他的道路描述也被開發出來。RoadXML 19在概念上接近於OpenDRIVE,由拓撲、邏輯、物理和視覺層組成。還有一些更開放的道路網絡格式,如LandXML[20]和OpenStreetMap[6],但它們主要是爲地理目的而設計的,而不是爲駕駛模擬器或自動駕駛而設計的。據我們所知,我們提出了第一個適用於自動駕駛的開放訪問的地圖轉換器。我們的轉換器可從commonroad下載。在。我們相信我們的轉換器對許多學術團體和工業人士是有用的,因爲地圖通常只存在一種格式。

本文組織如下:在第二節中,我們提出了將OpenDRIVE描述的路網轉換爲lanelets描述的路網的原理。第三節給出了具體的實現方法,第四節給出了證明轉換質量的數值例子,第五節給出了最後的結論。

2 從OPENDRIVE到LANELETS的地圖轉換

本節簡要介紹了從OPENDRIVE到LANELETS的地圖轉換。爲此,我們簡要介紹了這兩種格式,並概述了它們之間的相關區別,然後詳細描述了轉換原則。

A.OpenDRIVE格式

在OpenDRIVE中,道路是基於參考路徑指定的。如圖2所示,通過指定與參考路徑的橫向距離來創建單獨的車道。參考路徑通過連接clothoids(又名歐拉螺旋)或多項式來構建。請注意圓弧段和直線是clothoids的特殊情況。使用clothoids的優點是,沿着參考路徑的曲率隨路徑長度線性變化,這就是爲什麼大多數道路都是由clothoids[21]構造的。圖I示出參考路徑示例,該參考路徑表示從直線過渡到彎道。我們把要連接的元素稱爲部分引用路徑。

圖1所示:一個參考線的例子,描述了從直路到彎路的轉變。

在這裏插入圖片描述
請注意,如圖I所示,只有起始點pop_o在地圖上是絕對定位的,參考路徑的每段都有一個以t和ds爲軸的局部座標系,如圖I所示引用路徑被劃分爲多個section,這些部分的選擇獨立於部分引用路徑的開始和結束。每個section都有恆定數量的車道。但是在section中,寬度等屬性是可以改變的(如圖2所示)。這種類型能清楚地區分汽車可以或可能行駛的車道和人行道或停車位等其他區域。相對於參考路徑的車道寬度的精確定義相當複雜,可以在OpenDRIVE格式規格中找到。

OpenDRIVE的車道之間沒有gap;爲了引入gap,必須創建一個特殊的非道路類型的附加車道。車道號爲負數的車道與參考路徑方向相同,車道號爲正數的車道與參考路徑方向相反,如圖2所示。

在這裏插入圖片描述
部分引用路徑可以沒有後繼路徑、一個後繼路徑或多個後繼路徑,後者用於建模junction。在連接道路密集的路口,可採用單獨的格式。多個junction可以分組成一個junction group。與路段內車道的連接被稱爲neighbors,並決定可以改變哪條車道。應該注意到,用OpenDRIVE描述現實世界道路的各種可能性是具有挑戰性的。接下來,我們將引入lanelets,它不使用任何參考路徑,並且具有更輕量級的表示。

B.Lanelet格式

Lanelets是原子的、相互連接的、可行駛的路段。lanelet是由它的left bound和right bound定義的。其中每個bound由一個point的數組表示(一個polyline),如圖3所示。我們定義lanelet的start points和end points,作爲左和右邊界的行駛方向的第一和最後一個點。連接lanelets組成道路網的隱式定義:如果一個lanelet的左右起點與下一個lanelet的終點在駕駛方向上相同,則稱爲縱向相鄰。如果lanelet2的左邊界與lanelet1的右邊界相同,則稱lanelet2與lanelet1相鄰。這類似地定義爲右鄰車道。出於實現的原因,可能會接受lanelets連接點的小偏差,而不是要求值相同。
在這裏插入圖片描述
縱向、左、右和空鄰接構成一個可建模爲有向圖的道路網絡。選擇橫向相鄰的小lanelets使其公共bound長度相等是一個很好的實踐,這樣做不會喪失一般性。這種做法減少了多車道道路的橫向鄰接的數量。類似地,對於路叉,很好的做法是按照圖3所示構造它們,以確保鄰接保持整個lanelet。這是通過考慮可能的變道,只要存在一個車道交叉口,如圖4(a)所示。因此,我們引入點q作爲分叉車道對應車道邊界的交點,如圖4(a)所示。如果lanelet11和lanelet21外界的最終點與點q和lanelet21對應lanelet22繼續如圖4(a)所示的對應車道,所有的lanelets要麼沿着其全長相鄰,要麼根本不相鄰。得到的有向圖如圖所示。
4 (b)。
在這裏插入圖片描述

C. OpenDRIVE道路的 Lane Bounds

由於lanelets僅由其左右邊界定義,因此轉換的主要任務是計算OpenDRIVE道路車道邊界的polyline,如圖5所示。爲每個section計算bounds(使用其本地座標系統),以便sections和lanelets的長度是相同的。首先,我們計算沿參考路徑(圖5中的灰色圓圈)的點 sis_i,其部分路徑由直線、圓弧、clothoids和polynomials組成。我們使用[22],[23,Eq.(3)]得到沿各部分路徑的x, y座標。對於每個點 sis_i 計算第 jj 車道對應的內點 Ii(j)I^{(j)}_i 和外點 Oi(j)O^{(j)}_i 。這些點是通過沿車道寬度 wi(j)w^{(j)}_i 橫向移動 sis_i點得到的,其中ii爲第ii個點sis_i, jj爲第jj車道。一條車道的外點與下一條車道的內點相同。
在這裏插入圖片描述
顯然,所得到的折線是OpenDRIVE 車道邊界的近似。但是在OpenDRIVE中使用的clothoids沒有解析解,因此任何駕駛模擬器或自動駕駛車輛都必須通過適合於有效計算的折線或類似表示來近似clothoids。此外,利用點 sis_i 之間的小距離,可以使近似誤差任意減小。然而,對於直線,轉換是精確的,並且只需要起始點和結束點。對於曲率爲c的弧,當逼近誤差小於 emaxe_{max} 時,我們使用(I)中的公式來確定步長 dsmaxds_{max} ,這是根據弧段的基本幾何形狀得出的。
在這裏插入圖片描述請注意,我們使用的曲率c是最內的車道的最高曲率,而不是參考路徑上的那個。對於clothoids,我們在開始或結束使用最大的曲率,因爲他們的曲率線性變化,以便在開始或結束髮現最大值。

D. 車道合併和分割

路網描述的一個主要區別是車道的合併和分割。在OpenDRIVE中,車道由寬度逐漸減小至零合併或由寬度逐漸增大至分割。即使寬度爲零,車道實際上消失了,同樣的車道標識符在另一節中被重用,如圖2中車道-2末端的圖[2所示。在一個lanelet網絡中,由於端點必須與另一個lanelet的起始點重合,從而實現圖6(b)所示的分割和合並,因此一個實現一個lane合併或分割的lanelet會與鄰近lane的lanelet發生重疊。
在這裏插入圖片描述
爲了方便地進行合併和拆分的轉換,我們提出了參數化車道的概念。如圖7(a)所示,通過指定相對於參考路徑的邊界,消除了每個車道對其內部鄰居的依賴。如圖7(b)所示,參數化車道需要以下參數:
在這裏插入圖片描述
在這裏插入圖片描述
因此,參數化車道可以建模如圖[6(b)所示的車道。參數化車道到lanelet的轉換類似於常規車道。

3 實現

在Alg1中給出了OpenDRIVE到lanelet轉換器的總體實現。首先,我們通過所有的道路建模,並獲得基於OpenDRIVE平面視圖和額外的車道偏移量的參考路徑。對於道路的每一段,我們通過調用Alg. 2在lineA中生成lanelets,後面將對此進行解釋。在創建所有lanelets之後,我們創建一個有向圖來表示它們之間的關係。由於lanelets的路網是隱式定義的,所以這個步驟是不必要的,但是對於其他算法來說,已經有了有向圖是很方便的。在第6-9行,爲predecessors,、successors,、左鄰右鄰建立了聯繫。

在一個路段中創建lanelets如alg2所示,我們首先將所有的車道轉換爲參數車道,然後在第二步將參數車道轉換爲lanelets。儘管這隻在合併和分割時需要,但是由於參數化車道與其他車道沒有依賴關係,使用唯一的pipeline可以簡化我們的代碼並使後續的代碼更新更容易。

在第1行參考點的路徑被分配到最inner的border,那裏的step size(步長)根據(1)選擇。下一個邊界點上是通過將一個點的沿着車道寬度平移得到的,這部分代碼是在Sec.II-C的第3行。由於下一個車道與內車道共享邊界,下一個內邊界等於當前的外邊界(見第5行)。最後,在第7-12行,參數化車道被轉換爲lanelets。
在這裏插入圖片描述

4 實驗結果

來演示我們的轉換器的性能。我們正在從www.opendrive中轉換開放的例子。ora/下載,結果可以獨立檢查。所有轉換都是在12gb內存的雙核Intel 2.60 GHz處理器上完成的。所有計算時間顯示在表1中。
在這裏插入圖片描述
首先,在圖8中,我們呈現了一個原始的OpenDRIVE方案和轉換的結果。我們可以清楚地看到創建的lanelets,它明確地顯示了環形交叉口前的車道的分割。也可以看到,環形交叉處有兩條車道,其中一個可以進行變道。箭頭表示每條車道的行駛方向。進一步的轉換結果如圖9所示,爲了識別轉換後地圖的細節,我們只給出了轉換後道路的一小部分;但是,Table1中的計算用時是轉換整個地圖花費的時間。

圖8A 圖8B
在這裏插入圖片描述 在這裏插入圖片描述
圖9
在這裏插入圖片描述 在這裏插入圖片描述 在這裏插入圖片描述

5 結論

我們提供了第一個從OpenDRIVE到lanelets的開放可訪問的轉換器。OpenDRIVE在製造商和供應商中很受歡迎,而lanelets在學術界也越來越受歡迎,因爲它們的格式更輕。OpenDRIVE和lanelets之間的主要區別在於,OpenDRIVE需要一個引用路徑,並在橫向上爲它定義了通道。有些方面,比如行人島,在OpenDRIVE中建模可能有點乏味。Lanelets。另一方面,是簡單地定義由左折線和右折線。爲了獲得折線,我們對clothoid曲線進行採樣,使其不超過最大誤差。應該指出的是,clothoids不能用於直接計算,因爲它們沒有解析解,在任何情況下都必須轉換爲折線或類似的形式。我們的轉換器可以在所有測試場景下完美地工作,可以從commonroad.in.tum.de.下載。即使對於較大的地圖,計算時間也在幾秒內。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章