OpenDrive file format - JnSmmr/OpenPASS-Wiki GitHub Wiki
OpenDrive .xodr
files are used in the simulation to define the road network and other static objects in the scene. The core framework supports the OpenDrive Standard 1.4 to some degree. The current specification can be seen on the original website.
This section will give an overview of all features in OpenDrive that have an impact on driver behaviour. For the behaviour irrelevant parts like the definition of roads will not be discussed.
The traffic signs are based on german traffic law. A list of all signs can be found here. Of these signs only a few are supported by the framework. Traffic signs can be added by modifying a few lines in the code.
The following traffic signs can be processed by the driver behaviour module and might impact driver decisions:
- Give Way
- Speed Limit (max)
- Right of Way (next intersection)
- Stop
The following XML-code underneath a <road>
-Element will add a signal.
<signals>
<signal s="10" t="-10" zOffset="0" hOffset="0" value="50" pitch="0" id="999" name="Max Speed 50"
dynamic="no" orientation="-" country="DE" type="274" subtype="50" unit="km/h"/>
</signals>
The following table shows the different possible attributes as well as some implementation information. Most attributes are needed (not optional) but are unused in the current framework. This is a limitation of the core framework. The column "Relevance" describes if the porvided value for the attribute is used in the framework. Important attributes (that actually determine the type of signal / its position) are marked with ⭐.
Attribute | Description | Optional | Relevance |
---|---|---|---|
s ⭐ | position on s-axis (along road) | no | needed |
t ⭐ | position on t-axis (at point s) | no | needed |
zOffset | offset on z-axis towards world | no | unused |
hOffset | offset on h-axis | no | unused |
value ⭐ | value of the sign, interpreted differently from sign to sign | no | Speed Limit |
pitch | pitch | no | unused |
id ⭐ | unique id | no | internal structure |
name | name of the element | no | unused |
dynamic | dynamic object or static ["yes" or "no"] | no | unused |
orientation | side of the road | no | unused, use t value (negative value for right side) |
country | country code for the signs (only DE supported) | no | unused |
type ⭐ | type of sign | no | needed |
subtype | subtype of the sign | no | unused |
unit | unit of the sign | yes | unused |
width | width of the sign | yes | unused |
height | height of the sign | yes | unused |
text | zext on the sign | yes | unused |
TODO: when the code is on github link the necessary files
TODO: add when implemented
This is not a list of all currently unsupported features but some of the most important ones.
- Elevation of roads