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.

Table of Contents

Supported Features

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.

Traffic Signs

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.

Supported Traffic Signs

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

How to add to the scenery

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

Related files

TODO: when the code is on github link the necessary files

TODO: add when implemented

Noteworthy unsupported features

This is not a list of all currently unsupported features but some of the most important ones.

  • Elevation of roads
⚠️ **GitHub.com Fallback** ⚠️