Describe the problem
There are two different approaches to representing barriers in OSI.
A stationary object can be of type barrier as well as a lane boundary. Lane boundaries have a distinction between guard rail and barrier, stationary objects do not.
Describe your research
In OpenDRIVE guard rails, or any type of barrier that follows the curvature of a road, is represented as an object with an outline, for example like this:
<objectid="25"name="GuardRail"s="8.9425250584115815e+01"t="2.1041273659654401e+01"zOffset="3.3019998669624329e-01"hdg="-3.1415926530054130e+00"roll="0.0000000000000000e+00"pitch="0.0000000000000000e+00"orientation="-"type="barrier"subtype="guardRail"height="3.0480000000000002e-01"width="8.4376949871511897e-15"length="1.7885050846499973e+02"validLength="0.0000000000000000e+00"dynamic="no">
<outlines>
<outlineid="1"outer="true"closed="false">
<cornerLocalu="-8.9425257880883933e+01"v="-1.2880872333198568e-06"z="1.3303756707383485e-08"height="3.0480000000000002e-01"id="1"/>
<cornerLocalu="-8.6299565230264136e+01"v="-1.2899138113198205e-06"z="1.3303756707383485e-08"height="3.0480000000000002e-01"id="2"/>
<cornerLocalu="-8.0808164736064754e+01"v="-1.2931228781098980e-06"z="1.3303756707383485e-08"height="3.0480000000000002e-01"id="3"/>
<cornerLocalu="-7.5316764241865386e+01"v="-1.2963319448999755e-06"z="1.3303756707383485e-08"height="3.0480000000000002e-01"id="4"/>
<cornerLocalu="-6.9825363747666017e+01"v="-1.2995410259009077e-06"z="1.3303756707383485e-08"height="3.0480000000000002e-01"id="5"/>
...
</outline>
</outlines>
</object>
To convert this to OSI ground truth, it could either be represented as a lane boundary with every cornerLocal from the OpenDRIVE as a boundary_line. Or it could be represented as a stationary object with every cornerLocal as a base_polygon vector.
In the rather old issue #271 guard rails are implemented as lane boundaries. But esmini implements them as stationary objects using base_polygon.
Ask your question
Is there an officially "correct" way of representing a guard rail from OpenDRIVE in OSI?
Describe the problem
There are two different approaches to representing barriers in OSI.
A stationary object can be of type barrier as well as a lane boundary. Lane boundaries have a distinction between guard rail and barrier, stationary objects do not.
Describe your research
In OpenDRIVE guard rails, or any type of barrier that follows the curvature of a road, is represented as an object with an outline, for example like this:
To convert this to OSI ground truth, it could either be represented as a lane boundary with every cornerLocal from the OpenDRIVE as a boundary_line. Or it could be represented as a stationary object with every cornerLocal as a base_polygon vector.
In the rather old issue #271 guard rails are implemented as lane boundaries. But esmini implements them as stationary objects using base_polygon.
Ask your question
Is there an officially "correct" way of representing a guard rail from OpenDRIVE in OSI?