OpenScenario File Format - JnSmmr/OpenPASS-Wiki GitHub Wiki
OpenScenario .xosc
files are used to define the dynamic aspects of the simulation and in this case mainly utilized by the OpenPass framework functionalities to define agents and the rules they obliege.
The ASAM OpenSCENARIO: User Guide gives a good overview over the file format and all it's possibilities.
While OpenPASS and DReaM make use of a wide range of what OpenSCENARIO offers, it should be said that they only depict a subset of these possibilities and many features the format offers cannot be supported.
As the DReaM navigation module differs from the core framework's, some particularities concerning the defnition of navigation decisions the agents are supposed to make have to be brought into account. This problem arises as OpenPASS is currently lacking an interface to access needed information from the Scenario.xml
, so it has to be parsed redundantly. In particular, the representation of lanes and the possibility to set waypoints to specific lanes poses a contrast to OpenPASS. For DReaM to be able to correctly handle the wanted wayfinding-behaviour, the waypoint(s) an agent should follow should be given in the following format:
The Route
an agent will take is defined by one or multiple Waypoint
s. The agent will drive from one to another until he reaches the last waypoint he is given. Those waypoints use a Position
element, where the position should be specified with a Road identifier, in this case the same Id that is used for the target road in the SceneryConfiguration.xodr
OpenDRIVE file. Optionally, a specific lane or road direction can be specified. When using the RoadPosition
argument t
, -1.0
results in the right-most lane in road direction while 1.0
results in the left-most lane in road direction.
Using either of these to specify a lane is, while not strictly necessary, strongly advised as problems could arise from a randomly chosen lane.
Furthermore, an s
coordinate offset can be specified, if the waypoint should be located somewhere along the road instead of at it's beginning. This is especially useful when using a scenery with some rather long roads.
<AssignRouteAction>
<Route>
<Waypoint>
<Position>
<RoadPosition roadId="7" laneId="-1" s="0"/>
</Position>
</Waypoint>
<Waypoint>
<RoadPosition roadId="10" t="-1.0" s="150"/>
</Waypoint>
</Route>
</AssignRouteAction>
It is worth mentioning that OpenScenario offers a wide range of navigation options, e.g. defining multiple dynamic routing strategies or navigation via trajectories iststead of waypoints. However, a representation of the agents' navigation and route choices in the form of static routes and waypoints is clearly sufficient for the means of DReaM, they are not usable on the current version.