建材網(wǎng)站建設(shè) 南寧sem代運(yùn)營托管公司
文章目錄
- 前言
- 一、仿真場景的構(gòu)成
- 二、openDRIVE框架
- 三、g_additionalData
- 四、openDRIVE-header
- 五、openDRIVE-road
- 1、Road總拓?fù)浣Y(jié)構(gòu)
- 2、Road-link介紹
- 1)link的拓?fù)浣Y(jié)構(gòu)
- 2)link鏈接示例
- 3)link前繼后繼
- 4)道路link規(guī)則
- 3、road-type介紹
- 1)type的拓?fù)浣Y(jié)構(gòu)
- 4、road-elevation介紹
- 1) elevation類型
- 2)Elevation拓?fù)鋱D
- 3)標(biāo)高/超高計算
- 4)橫向輪廓計算
- 5、road-surface介紹
- 1)surface的拓?fù)浣Y(jié)構(gòu)
- 6、road-lane介紹
- 1)lane的拓?fù)浣Y(jié)構(gòu)
- 2)車道分組
- 3)車道部分
- 4)車道偏移
- 5)車道鏈接
- 6)車道屬性
- A、車道屬性-拓?fù)浣Y(jié)構(gòu)
- B、車道屬性-車道寬度
- C、車道屬性-車道高度
- 7)車道類型
- 8)車道限速
- 8)車道標(biāo)記
前言
本文內(nèi)容引用ASAM官方OpenDrive V1.7介紹
ASAM是“Automotive Software and Systems Modeling”的縮寫,是一個汽車行業(yè)標(biāo)準(zhǔn)化組織,旨在制定和維護(hù)與汽車軟件和系統(tǒng)相關(guān)的標(biāo)準(zhǔn)。OpenDRIVE是一種用于虛擬仿真場景的開放標(biāo)準(zhǔn),旨在描述道路網(wǎng)絡(luò)和場景的詳細(xì)信息,是仿真場景中的靜態(tài)組成部分,以支持自動駕駛和駕駛輔助系統(tǒng)的開發(fā)和測試。
點(diǎn)擊下載OpenDRIVE官方文檔及案例
一、仿真場景的構(gòu)成
ASAM OpenDRIVE定義了靜態(tài)路網(wǎng)格式(.xodr),ASAM OpenCRG,可以為路網(wǎng)添加路面描述(.crg)。 ASAM OpenDRIVE和ASAM OpenCRG僅包含靜態(tài)內(nèi)容。要添加動態(tài)內(nèi)容,需要ASAM OpenSCENARIO(.xosc)。 結(jié)合所有三個標(biāo)準(zhǔn)文件,就可以組成標(biāo)準(zhǔn)的仿真場景。
二、openDRIVE框架
1、ASAM OpenDRIVE框架組成主要為header、road、controller、junction、junctionGroup、station,主要由6個element組成,6個Element及其子Element可選擇性關(guān)聯(lián)g_additionalData(附加數(shù)據(jù))。
2、openDRIVE中的坐標(biāo)系
三、g_additionalData
1、g_additionalData附加數(shù)據(jù)做為可選的選項,Element可以自定義是否關(guān)聯(lián)g_additionalData節(jié)點(diǎn);g_additionalData節(jié)點(diǎn)用于向OpenDRIVE道路網(wǎng)絡(luò)描述中添加自定義信息或額外的數(shù)據(jù),其拓?fù)浣Y(jié)構(gòu)如下圖所示;
2、g_additionalData中的include,允許將外部文件包含在ASAM OpenDRIVE文件中, 比如對外部的文件的引用可以放在include元素中。
3、g_additionalData中的userdata可以用于在OpenDRIVE道路網(wǎng)絡(luò)描述中添加任意自定義信息,以滿足特定需求或添加額外的詳細(xì)信息。通常,userdata的內(nèi)容是用戶根據(jù)其特定應(yīng)用場景定義的。
4、g_additionalData中的dataQuality,原始數(shù)據(jù)或集成在ASAM OpenDRIVE中的外部來源的數(shù)據(jù)可能具有不同的質(zhì)量。 可以在ASAM OpenDRIVE中描述外部數(shù)據(jù)的質(zhì)量和準(zhǔn)確性。dataQuality的error可以描述外部數(shù)據(jù)(如GPS數(shù)據(jù))的絕對誤差和相對誤差范圍(以 [m] 為單位)。dataQuality的rawData描述一些基本元數(shù)據(jù)包含有關(guān)ASAM OpenDRIVE中包含的原始數(shù)據(jù)的信息,內(nèi)容比較多,詳細(xì)格式請看我上傳的資源文檔。
XML片段
<OpenDRIVE><road><lanes><laneSection><left><lane><g_additionalData><!-- 附加數(shù)據(jù) --><key>myKey</key><value>myValue</value></g_additionalData></lane></left></laneSection></lanes></road>
</OpenDRIVE>
四、openDRIVE-header
1、OpenDRIVE中的header一般定義:版本信息、描述信息、創(chuàng)建者信息、日期時間戳、坐標(biāo)信息等等,其拓?fù)浣Y(jié)構(gòu)如下圖所示;
XML片段
<?xml version="1.0" encoding="UTF-8"?>
<OpenDRIVE><header><revMajor>1</revMajor><revMinor>4</revMinor><name>Example Road</name><version>1.0</version><date>2023-11-12</date><north>0.0</north><south>0.0</south><east>0.0</east><west>0.0</west><!-- 其他頭部信息 --></header><!-- 其他道路信息 -->
</OpenDRIVE>
五、openDRIVE-road
1、Road總拓?fù)浣Y(jié)構(gòu)
2、Road-link介紹
road節(jié)點(diǎn)中的link主要是用于描述兩個不同的道路部分之間的過渡和連接關(guān)系;
1)link的拓?fù)浣Y(jié)構(gòu)
XML片段
<OpenDRIVE><!-- 頭部信息 --><road name="Road 1" id="1" length="100.0"><!-- 道路屬性 --><link><predecessor elementType="road" elementId="2" elementDir="-1" elementS="0.0" contactPoint="end"/><successor elementType="road" elementId="3" elementDir="1" elementS="0.0" contactPoint="start"/></link><!-- 其他道路元素 --></road><!-- 其他道路信息 --></OpenDRIVE>
2)link鏈接示例
顯示了禁止、允許和推薦的道路連接場景。 重要的是,要連接的道路的車道和參考線與其前繼或后繼道路有直接的聯(lián)系。 應(yīng)避免重疊或跳躍,但如果參考線連接正確,則不禁止重疊或跳躍。
3)link前繼后繼
link的元素predecessor(前繼)和successor(后繼)表示的時道路之間的相對關(guān)閉,如road1之前沒有道路,因此沒有前繼;road1之后有road2說明road1有后繼road2;
4)道路link規(guī)則
下述這種鏈接方式也是被允許的
3、road-type介紹
1)type的拓?fù)浣Y(jié)構(gòu)
<OpenDRIVE><!-- 頭部信息 --><road name="Road 1" id="1" length="100.0"><planView><!-- 道路幾何形狀信息 --></planView><lanes><!-- 道路車道信息 --></lanes><objects><!-- 道路對象信息 --></objects><roadType s="0.0"><type type="urban"><name>Urban Road</name><priority>2</priority><speed max="50.0" unit="km/h"/><country>China</country></type></roadType><!-- 其他道路元素 --></road><!-- 其他道路信息 --></OpenDRIVE>
4、road-elevation介紹
1) elevation類型
A、Road Elevation(標(biāo)高)指的是沿道路參考線的海拔,即s方向的海拔;
B、Su[er Elevation(超高)指的是道路側(cè)向剖面,垂直于道路參考線,且與地面存在夾角(類似于車輛的roll側(cè)傾角),即t方向的海拔。
C、Road Shape(形狀)一些橫向道路形狀過于復(fù)雜,無法僅用超高來描述。 形狀以更詳細(xì)的方式描述參考線上給定點(diǎn)處道路橫截面的海拔。 這意味著,在一個 s 坐標(biāo)處可能存在多個具有不同 t 值的形狀定義,從而描述道路的彎曲形狀。
2)Elevation拓?fù)鋱D
XML片段
<road name="Road 1" id="1" length="100.0"><road-elevationprofile><elevation s="0.0" a="0.0" b="0.0" c="0.0" d="0.0"/><elevation s="50.0" a="0.0" b="0.0" c="0.0" d="0.0"/></road-elevationprofile><road-lateralprofile><superelevation s="0.0" a="0.0" b="0.0" c="0.0" d="0.0"/><crossfall s="0.0" a="0.0" b="0.0" c="0.0" d="0.0"/></road-lateralprofile><road-shape><shape s="0.0" x="0.0" y="0.0"/><shape s="50.0" x="10.0" y="5.0"/></road-shape>
</road>
3)標(biāo)高/超高計算
道路標(biāo)高、超高使用以下三階多項式函數(shù)計算:elev(ds) = a + b*ds + c*ds2 + d*ds3
參數(shù)名 | 描述 |
---|---|
elev | 指定位置的標(biāo)高/超高 |
a, b, c, d | 多項式系數(shù) |
ds | 是新標(biāo)高/超高元素的起點(diǎn)與給定位置之間沿參考線的距離 |
道路標(biāo)高/超高的絕對位置計算:s = sstart + ds
參數(shù)名 | 描述 |
---|---|
s | 是參考線坐標(biāo)系中的絕對位置 |
sstart | 是元素在參考線坐標(biāo)系中的起始位置 |
4)橫向輪廓計算
在下圖中顯示了如何計算兩個橫向剖面之間的高度信息。sR1的側(cè)剖面有5個多項式定義,而sR2的側(cè)剖面有3個多項式定義。要計算兩個側(cè)面輪廓之間的點(diǎn),下圖所示的公式在這兩個輪廓之間進(jìn)行線性插值。
橫向輪廓的形狀使用以下多項式函數(shù)計算:hShape (ds)= a + b*dt + c*dt2 + d*dt3
參數(shù)名 | 描述 |
---|---|
hShape | 是給定位置上參考平面上方的高度 |
a, b, c, d | 是系數(shù) |
dt | 是形狀元素的起點(diǎn)與給定位置之間垂直于參考線的距離 |
形狀值的絕對位置計算如下:t = tstart + dt
參數(shù)名 | 描述 |
---|---|
t | 是參考線坐標(biāo)系中的絕對位置 |
a, b, c, d | 是元素在參考線坐標(biāo)系中的起始位置 |
tstart | 是元素在參考線坐標(biāo)系中的起始位置 |
5、road-surface介紹
1)surface的拓?fù)浣Y(jié)構(gòu)
XML片段
<road name="Road 1" id="1" length="100.0"><road-surface><friction s="0.0" coefficient="0.8"/><color s="0.0" r="255" g="255" b="255"/></road-surface>
</road>
因?yàn)閟uface涉及CRG相關(guān)內(nèi)容,后續(xù)再另開分支講述清楚吧。
6、road-lane介紹
1)lane的拓?fù)浣Y(jié)構(gòu)
XML片段
<road name="Road 1" id="1" length="100.0"><road-lane><laneSection s="0.0"><lane id="1" type="driving"><width sOffset="0.0" a="3.5"/><road-mark sOffset="0.0" type="solid" color="standard"/><speed sOffset="0.0" max="60.0" unit="km/h"/><access restriction="no"/><height sOffset="0.0" inner="3.8" outer="4.0"/><rule priority="1" yield="true"/><material surface="asphalt" friction="0.8"/><visibility sOffset="0.0" forward="100.0" back="50.0"/><border left="true" right="true"/><predecessor id="2" contactPoint="end"/><successor id="4" contactPoint="start"/><link elementId="laneLink1"/><userData><property name="laneType" value="driving"/></userData></lane><lane id="2" type="driving"><!-- 其他元素和屬性 --></lane></laneSection></road-lane>
</road>
2)車道分組
A、車道部分內(nèi)的車道分為左側(cè)、中間和右側(cè)車道。左側(cè)車道ID為正數(shù),右側(cè)車道ID為負(fù)數(shù),中間車道線(道路參考線)為0。
3)車道部分
A、車道可以分為多個車道部分。 每個車道段包含固定數(shù)量的車道。 每當(dāng)車道數(shù)量發(fā)生變化時,都需要一個新的車道段,另外車道段沿著車道參考線升序排列,即(st坐標(biāo)中的s方向)
B、為了簡化復(fù)雜道路的車道部分的使用,可以僅使用Lane section中的 @singleSide屬性為道路的一側(cè)定義車道部分。
C、Lane section屬性,singleSide字段表示車道是否只存在于道路的一側(cè)。它是一個布爾值,用于指示車道是否僅存在于道路的一個側(cè)面。如果singleSide為true,則表示車道只存在于道路的一側(cè),通常用于描述單行道或特定交通情況下的車道布局。如果singleSide為false,則表示車道存在于道路的兩側(cè),通常用于描述雙行道或多車道道路的車道布局。
參數(shù)名 | 描述 |
---|---|
s | 起始位置的 S 坐標(biāo) |
singleSide | 車道截面元素僅對一側(cè)(左側(cè)、中心或右側(cè))有效,具體取決于子元素。 |
4)車道偏移
A、車道偏移可用于將中心車道移離道路參考線。 這樣可以更輕松地對道路上車道的局部橫向移動進(jìn)行建模,例如左轉(zhuǎn)車道。車道偏移(road offset)和形狀定義(road shape)的組合可能會導(dǎo)致不一致,具體取決于用于車道偏移的插值。 由于線性插值用于沿參考線的道路形狀,因此線性插值也應(yīng)用于偏移定義;下圖描述中心車道遠(yuǎn)離道路參考線的偏移量。
B、給定點(diǎn)的偏移量使用以下三階多項式函數(shù)計算:offset (ds) = a + b*ds + c*ds2 + d*ds3
參數(shù)名 | 描述 |
---|---|
offset | 是給定位置的橫向偏移量 |
a, b, c, d | 多項式系數(shù) |
ds | 是新車道偏移元素的起點(diǎn)與給定位置之間沿道路參考線的距離 |
偏移值的絕對位置:s = sstart + ds
參數(shù)名 | 描述 |
---|---|
s | 是參考線坐標(biāo)系中的絕對位置 |
sstart | 是元素在參考線坐標(biāo)系中的起始位置 |
C、每次多項式函數(shù)更改時,都需要一個新的通道偏移元素,下面是XML示例。
<lanes><laneOffset s="25.0" a="0.0" b="0.0" c="3.9e-03" d="-5.2e-05"/><laneOffset s="75.0" a="3.25" b="0.0" c="0.0" d="0.0"/>…
</lanes>
5)車道鏈接
A、車道鏈接有兩個元素,predecessor(前繼)和successor(后繼), 車道可以與同一條或另一條道路上的車道相連;
它們之間的前后繼鏈接關(guān)系如下圖所示:
6)車道屬性
A、車道屬性-拓?fù)浣Y(jié)構(gòu)
車道屬性描述車道的用途和形狀。 車道屬性是按車道路段定義的,但可能會在該路段內(nèi)更改。 如果未為車道部分專門定義屬性,則應(yīng)用程序可以應(yīng)用默認(rèn)屬性;車道屬性拓?fù)浣Y(jié)構(gòu)如下圖所示。
B、車道屬性-車道寬度
a、給定點(diǎn)的寬度使用以下三階多項式函數(shù)計算:Width (ds) = a + b*ds + c*ds2 + d*ds3
參數(shù)名 | 描述 |
---|---|
width | 是給定位置的寬度 |
a, b, c, d | 多項式系數(shù) |
ds | 是新車道寬度元素的起點(diǎn)與給定位置之間沿道路參考線的距離 |
ds每個元素從零開始。 寬度值的絕對位置計算如下::s = ssection + offsetstart + ds
參數(shù)名 | 描述 |
---|---|
s | 是參考線坐標(biāo)系中的絕對位置 |
sSection | 是前一個車道段元素在航跡坐標(biāo)系中的起始位置 |
offsetStart | 是元素相對于前一個車道部分的偏移量 |
b、從不同偏移位置開始的正 s 方向上車道寬度的變化
C、車道屬性-車道高度
a、車道高度應(yīng)沿 h 坐標(biāo)定義。 車道高度可用于抬高獨(dú)立于道路標(biāo)高的車道。 車道高度用于實(shí)現(xiàn)小比例尺的標(biāo)高,例如抬高人行道,如圖下圖所示。 車道高度指定為 z 方向上與道路的偏移量(包括標(biāo)高、超高、形狀)。
b、XML片段
<lane id="-2" type="sidewalk" level="false"><link><successor id="-3"/></link><width sOffset="0.0" a="2.0" b="0.0" c="0.0" d="0.0"/><height sOffset="0.0" inner="0.12" outer="0.12"/>
</lane>
7)車道類型
A、車道類型分類
類型 | 描述 |
---|---|
shoulder | 描述道路邊緣的軟邊框。 |
border | 描述道路邊緣的硬邊框。與可行駛車道具有相同的高度。 |
driving | 描述一條“正?!钡目尚旭偟缆?#xff0c;不屬于其他類型之一。 |
stop | 用于緊急停車的高速公路硬路肩。 |
none | 描述道路最外側(cè)的空間,沒有實(shí)際內(nèi)容,其唯一目的是在駕駛員離開道路時注冊ASAM OpenDRIVE的存在。 |
restricted | 描述不應(yīng)該有車輛行駛的車道。該車道與可行駛車道具有相同的高度。通常使用線條分隔車道,經(jīng)常包含虛線。 |
parking | 描述帶有停車位的車道。 |
median | 描述位于相反行駛方向的行駛車道之間的車道。通常用于在大型道路上分隔交通。 |
biking | 描述為自行車保留的車道。 |
sidewalk | 描述供行人行走的車道。 |
curb | 描述路緣石。路緣石的高度與相鄰的可行駛車道不同。 |
exit | 描述用于與主干道平行的部分的車道。主要用于減速車道。 |
entry | 描述用于與主干道平行的部分的車道。主要用于加速車道。 |
onramp | 從鄉(xiāng)村或城市道路通向高速公路的匝道。 |
offRamp | 從高速公路通向鄉(xiāng)村或城市道路的匝道。 |
connectingRamp | 連接兩條高速公路的匝道,例如高速公路交匯處。 |
—高速公路的車道類型
—鄉(xiāng)村道路的車道類型
—城市道路的車道類型
—高速公路出口和入口的車道類型
8)車道限速
可以定義車道上允許的最大速度。車道限速優(yōu)先于道路限速。
8)車道標(biāo)記
A、拓?fù)浣Y(jié)構(gòu)圖
XML片段
<road><!-- 路段信息 --><lanes><!-- 車道信息 --><laneSection><!-- 車道段信息 --><left><!-- 左側(cè)車道信息 --><lane><!-- 車道信息 --><roadMark><!-- 車道標(biāo)線 --><sOffset>0.0</sOffset><width>0.1</width><type>solid</type><color>white</color><!-- 其他屬性 --></roadMark></lane><!-- 其他左側(cè)車道 --></left><center><!-- 中心車道信息 --><!-- 中心車道的車道標(biāo)線 --></center><right><!-- 右側(cè)車道信息 --><!-- 右側(cè)車道的車道標(biāo)線 --></right></laneSection><!-- 其他車道段 --></lanes><!-- 其他道路元素 --></road>
以上,就是從ASAM中整理下來的一些關(guān)于openDrive的一些內(nèi)容,因?yàn)閮?nèi)容比較多??赡軙謳灼獊韺?#xff0c;也有一些內(nèi)容描述的不是很詳細(xì),請大家見諒哈,后續(xù)有空再補(bǔ)充。