| <!DOCTYPE html> |
| <html class="writer-html5" lang="en" > |
| <head> |
| <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> |
| |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| <title>Scenario — OpenPASS Documentation</title> |
| <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> |
| <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" /> |
| <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" /> |
| <link rel="stylesheet" href="../../_static/tabs.css" type="text/css" /> |
| <link rel="shortcut icon" href="../../_static/openPASS.ico"/> |
| <!--[if lt IE 9]> |
| <script src="../../_static/js/html5shiv.min.js"></script> |
| <![endif]--> |
| |
| <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script> |
| <script src="../../_static/jquery.js"></script> |
| <script src="../../_static/underscore.js"></script> |
| <script src="../../_static/doctools.js"></script> |
| <script src="../../_static/js/theme.js"></script> |
| <link rel="index" title="Index" href="../../genindex.html" /> |
| <link rel="search" title="Search" href="../../search.html" /> |
| <link rel="next" title="Scenery" href="scenery.html" /> |
| <link rel="prev" title="ProfilesCatalog" href="profilescatalog.html" /> |
| </head> |
| |
| <body class="wy-body-for-nav"> |
| <div class="wy-grid-for-nav"> |
| <nav data-toggle="wy-nav-shift" class="wy-nav-side"> |
| <div class="wy-side-scroll"> |
| <div class="wy-side-nav-search" > |
| <a href="../../index.html" class="icon icon-home"> openPASS |
| <img src="../../_static/openPASS.png" class="logo" alt="Logo"/> |
| </a> |
| <div class="version"> |
| 0.9.0 |
| </div> |
| <div role="search"> |
| <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> |
| <input type="text" name="q" placeholder="Search docs" /> |
| <input type="hidden" name="check_keywords" value="yes" /> |
| <input type="hidden" name="area" value="default" /> |
| </form> |
| </div> |
| </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> |
| <p class="caption" role="heading"><span class="caption-text">Installation Guide</span></p> |
| <ul> |
| <li class="toctree-l1"><a class="reference internal" href="../../installation_guide/10_getting_started.html">Getting Started</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../installation_guide/20_install_prerequisites.html">Installing Prerequisites</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../installation_guide/30_install_openpass.html">Installing OpenPASS</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../installation_guide/50_further_guidance.html">Further Guidance</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../installation_guide/60_conan.html">Building with Conan</a></li> |
| </ul> |
| <p class="caption" role="heading"><span class="caption-text">User Guides</span></p> |
| <ul class="current"> |
| <li class="toctree-l1"><a class="reference internal" href="../10_overview.html">Overview</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../20_tutorials.html">Tutorials</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../30_gui_plugins.html">GUI Plugins</a></li> |
| <li class="toctree-l1 current"><a class="reference internal" href="../40_configs_in_depth.html">Configs in Depth</a><ul class="current"> |
| <li class="toctree-l2"><a class="reference internal" href="profilescatalog.html">ProfilesCatalog</a></li> |
| <li class="toctree-l2 current"><a class="current reference internal" href="#">Scenario</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="#overview">Overview</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#parameterdeclarations">ParameterDeclarations</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#catalogs">Catalogs</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="#vehiclecatalog">VehicleCatalog</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="#pedestriancatalog">PedestrianCatalog</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="#roadnetwork">RoadNetwork</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#entities">Entities</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#storyboard">Storyboard</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="#init">Init</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="#story">Story</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="#stoptrigger">StopTrigger</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="scenery.html">Scenery</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="simulationconfig.html">SimulationConfig</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="staticsystemconfig.html">Static SystemConfig</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="systemconfigblueprint.html">SystemConfigBlueprint</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l1"><a class="reference internal" href="../50_outputs_in_depth.html">Outputs in Depth</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../60_scenario_simulation.html">Simulator</a></li> |
| </ul> |
| <p class="caption" role="heading"><span class="caption-text">Advanced topics</span></p> |
| <ul> |
| <li class="toctree-l1"><a class="reference internal" href="../../advanced_topics/20_simulator_advanced.html">Simulator</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../advanced_topics/30_testing.html">EndToEnd Test Framework</a></li> |
| </ul> |
| <p class="caption" role="heading"><span class="caption-text">Developer Information</span></p> |
| <ul> |
| <li class="toctree-l1"><a class="reference internal" href="../../developer_information/10_ide_support.html">IDE Support</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../developer_information/20_documentation.html">Documentation Concept</a></li> |
| </ul> |
| <p class="caption" role="heading"><span class="caption-text">Other Information</span></p> |
| <ul> |
| <li class="toctree-l1"><a class="reference internal" href="../../other_information/10_external_dependencies.html">External Dependencies</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../other_information/20_glossary.html">Glossary</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../other_information/30_license.html">License</a></li> |
| </ul> |
| |
| </div> |
| </div> |
| </nav> |
| |
| <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > |
| <i data-toggle="wy-nav-top" class="fa fa-bars"></i> |
| <a href="../../index.html">openPASS</a> |
| </nav> |
| |
| <div class="wy-nav-content"> |
| <div class="rst-content"> |
| <div role="navigation" aria-label="Page navigation"> |
| <ul class="wy-breadcrumbs"> |
| <li><a href="../../index.html" class="icon icon-home"></a> »</li> |
| <li><a href="../40_configs_in_depth.html">Configs in Depth</a> »</li> |
| <li>Scenario</li> |
| <li class="wy-breadcrumbs-aside"> |
| <a href="../../_sources/user_guide/configs/scenario.rst.txt" rel="nofollow"> View page source</a> |
| </li> |
| </ul> |
| <hr/> |
| </div> |
| <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> |
| <div itemprop="articleBody"> |
| |
| <section id="scenario"> |
| <span id="id1"></span><h1>Scenario<a class="headerlink" href="#scenario" title="Permalink to this headline"></a></h1> |
| <section id="overview"> |
| <span id="scenario-overview"></span><h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline"></a></h2> |
| <p>The scenario configuration file describes all dynamic configuration of a simulation run, i.e. the position of an agent as well as conditional events that alter the behavior of the simulation during the run. |
| It adheres to the <strong>ASAM OpenSCENARIO 1.0</strong> standard, although we support only a subset of the features of the standard.</p> |
| <p>The different parts of the scenario configuration are described in the following chapters.</p> |
| </section> |
| <section id="parameterdeclarations"> |
| <span id="scenario-parameterdeclaration"></span><h2>ParameterDeclarations<a class="headerlink" href="#parameterdeclarations" title="Permalink to this headline"></a></h2> |
| <p>The tag <code class="docutils literal notranslate"><span class="pre">ParameterDeclarations</span></code> allow to define generic parameters, which can be referenced later the file by its name, prefixed with <code class="docutils literal notranslate"><span class="pre">$</span></code>.</p> |
| <p><strong>Example declaration</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><ParameterDeclarations></span> |
| <span class="nt"><ParameterDeclaration</span> <span class="na">name=</span><span class="s">"OP_OSC_SchemaVersion"</span> <span class="na">parameterType=</span><span class="s">"string"</span> <span class="na">value=</span><span class="s">"0.4.0"</span><span class="nt">/></span> |
| <span class="nt"></ParameterDeclarations></span> |
| </pre></div> |
| </div> |
| <p><strong>Example usage</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><SimulationTimeCondition</span> <span class="na">value=</span><span class="s">"30.0"</span> <span class="na">rule=</span><span class="s">"greaterThan"</span><span class="nt">/></span> |
| </pre></div> |
| </div> |
| <p><strong>Supported parameterTypes</strong></p> |
| <ul class="simple"> |
| <li><p>string</p></li> |
| <li><p>integer</p></li> |
| <li><p>double</p></li> |
| </ul> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>Only <code class="docutils literal notranslate"><span class="pre">string</span></code> allows empty values.</p> |
| </div> |
| <div class="admonition warning"> |
| <p class="admonition-title">Warning</p> |
| <p>The parameter <code class="docutils literal notranslate"><span class="pre">OP_OSC_SchemaVersion</span></code> is used to check for schema compatibility and is mandatory within <strong>openPASS</strong>.</p> |
| </div> |
| </section> |
| <section id="catalogs"> |
| <span id="scenario-catalogs"></span><h2>Catalogs<a class="headerlink" href="#catalogs" title="Permalink to this headline"></a></h2> |
| <p>The <code class="docutils literal notranslate"><span class="pre">Catalogs</span></code> tag defines references to various other files containing sub features of OpenSCENARIO (and written in the same format).</p> |
| <p>The following catalogs interpreted:</p> |
| <ul class="simple"> |
| <li><p>Mandatory: <a class="reference internal" href="#scenario-vehiclemodels"><span class="std std-ref">VehicleCatalog</span></a></p></li> |
| <li><p>Mandatory: <a class="reference internal" href="#scenario-pedestrianmodels"><span class="std std-ref">PedestrianCatalog</span></a></p></li> |
| <li><p>Optional: TrajectoryCatalog for the case that a <em>FollowTrajectory action</em> is defined</p></li> |
| </ul> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><CatalogLocations></span> |
| <span class="nt"><VehicleCatalog></span> |
| <span class="nt"><Directory</span> <span class="na">path=</span><span class="s">"VehicleModelsCatalog.xosc"</span><span class="nt">/></span> |
| <span class="nt"></VehicleCatalog></span> |
| <span class="nt"><PedestrianCatalog></span> |
| <span class="nt"><Directory</span> <span class="na">path=</span><span class="s">"PedestrianModelsCatalog.xosc"</span><span class="nt">/></span> |
| <span class="nt"></PedestrianCatalog></span> |
| <span class="nt"><ControllerCatalog></span> |
| <span class="nt"><Directory</span> <span class="na">path=</span><span class="s">""</span><span class="nt">/></span> |
| <span class="nt"></ControllerCatalog></span> |
| <span class="nt"><ManeuverCatalog></span> |
| <span class="nt"><Directory</span> <span class="na">path=</span><span class="s">""</span><span class="nt">/></span> |
| <span class="nt"></ManeuverCatalog></span> |
| <span class="nt"><MiscObjectCatalog></span> |
| <span class="nt"><Directory</span> <span class="na">path=</span><span class="s">""</span><span class="nt">/></span> |
| <span class="nt"></MiscObjectCatalog></span> |
| <span class="nt"><EnvironmentCatalog></span> |
| <span class="nt"><Directory</span> <span class="na">path=</span><span class="s">""</span><span class="nt">/></span> |
| <span class="nt"></EnvironmentCatalog></span> |
| <span class="nt"><TrajectoryCatalog></span> |
| <span class="nt"><Directory</span> <span class="na">path=</span><span class="s">""</span><span class="nt">/></span> |
| <span class="nt"></TrajectoryCatalog></span> |
| <span class="nt"><RouteCatalog></span> |
| <span class="nt"><Directory</span> <span class="na">path=</span><span class="s">""</span><span class="nt">/></span> |
| <span class="nt"></RouteCatalog></span> |
| <span class="nt"></CatalogLocations></span> |
| </pre></div> |
| </div> |
| <section id="vehiclecatalog"> |
| <span id="scenario-vehiclemodels"></span><h3>VehicleCatalog<a class="headerlink" href="#vehiclecatalog" title="Permalink to this headline"></a></h3> |
| <p>This file is mandatory. |
| It contains the available vehicle models for the simulation. |
| For each vehicle the physical parameters are stored here.</p> |
| <p><strong>Supported models:</strong></p> |
| <ul class="simple"> |
| <li><p>car_bmw_i3</p></li> |
| <li><p>car_bmw_3</p></li> |
| <li><p>car_bmw_7_1</p></li> |
| <li><p>car_bmw_7_2</p></li> |
| <li><p>car_mini_cooper</p></li> |
| <li><p>bus</p></li> |
| <li><p>truck</p></li> |
| <li><p>bicycle</p></li> |
| </ul> |
| <p><strong>Full Example:</strong> <a class="reference download internal" download="" href="../../_downloads/0965737f605655fed8aac44efd5903a6/VehicleModelsCatalog.xosc"><code class="xref download docutils literal notranslate"><span class="pre">/../../../tuev/sim/contrib/examples/Common/VehicleModelsCatalog.xosc</span></code></a></p> |
| </section> |
| <section id="pedestriancatalog"> |
| <span id="scenario-pedestrianmodels"></span><h3>PedestrianCatalog<a class="headerlink" href="#pedestriancatalog" title="Permalink to this headline"></a></h3> |
| <p>This file is mandatory. |
| It contains the available pedestrian models for the simulation. |
| For each pedestrian the physical parameters are stored here.</p> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>Currently, pedestrian models are internally handled the same way as vehicle models, i.e. they behave like simplified vehicles. |
| For convenience, <strong>openPASS</strong> internally sets <em>meaningless</em> parameters, such as <em>number of gears</em>, to operational defaults.</p> |
| </div> |
| <p><strong>Supported models:</strong></p> |
| <ul class="simple"> |
| <li><p>pedestrian_child</p></li> |
| <li><p>pedestrian_adult</p></li> |
| </ul> |
| <p><strong>Full Example:</strong> <a class="reference download internal" download="" href="../../_downloads/85825bd0d23525c6407fa4bf464a1ca3/PedestrianModelsCatalog.xosc"><code class="xref download docutils literal notranslate"><span class="pre">/../../../tuev/sim/contrib/examples/Common/PedestrianModelsCatalog.xosc</span></code></a></p> |
| </section> |
| </section> |
| <section id="roadnetwork"> |
| <span id="scenario-roadnetwork"></span><h2>RoadNetwork<a class="headerlink" href="#roadnetwork" title="Permalink to this headline"></a></h2> |
| <p>The <code class="docutils literal notranslate"><span class="pre">RoadNetwork</span></code> tag contains the mandatory reference to the OpenDRIVE <a class="reference internal" href="scenery.html#scenery"><span class="std std-ref">Scenery</span></a>.</p> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><RoadNetwork></span> |
| <span class="nt"><LogicFile</span> <span class="na">filepath=</span><span class="s">"SceneryConfiguration.xodr"</span><span class="nt">/></span> |
| <span class="nt"><SceneGraphFile</span> <span class="na">filepath=</span><span class="s">""</span><span class="nt">/></span> |
| <span class="nt"></RoadNetwork></span> |
| </pre></div> |
| </div> |
| <p>Furthermore the controllers of the traffic lights are defined in this section. |
| Each controller defines the phases of a set of linked traffic lights (e.g. one junction). |
| The state must be one of the following: “red”, “yellow”, “green”, “red yellow”.</p> |
| <p>Example</p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><TrafficSignals></span> |
| <span class="nt"><TrafficSignalController</span> <span class="na">name=</span><span class="s">""</span><span class="nt">></span> |
| <span class="nt"><Phase</span> <span class="na">duration=</span><span class="s">"3"</span> <span class="na">name=</span><span class="s">"Phase1"</span><span class="nt">></span> |
| <span class="nt"><TrafficSignalState</span> <span class="na">state=</span><span class="s">"green"</span> <span class="na">trafficSignalId=</span><span class="s">"1"</span> <span class="nt">/></span> |
| <span class="nt"></Phase></span> |
| <span class="nt"><Phase</span> <span class="na">duration=</span><span class="s">"3"</span> <span class="na">name=</span><span class="s">"Phase2"</span><span class="nt">></span> |
| <span class="nt"><TrafficSignalState</span> <span class="na">state=</span><span class="s">"yellow"</span> <span class="na">trafficSignalId=</span><span class="s">"1"</span> <span class="nt">/></span> |
| <span class="nt"></Phase></span> |
| <span class="nt"><Phase</span> <span class="na">duration=</span><span class="s">"3"</span> <span class="na">name=</span><span class="s">"Phase3"</span><span class="nt">></span> |
| <span class="nt"><TrafficSignalState</span> <span class="na">state=</span><span class="s">"red"</span> <span class="na">trafficSignalId=</span><span class="s">"1"</span> <span class="nt">/></span> |
| <span class="nt"></Phase></span> |
| <span class="nt"><Phase</span> <span class="na">duration=</span><span class="s">"3"</span> <span class="na">name=</span><span class="s">"Phase4"</span><span class="nt">></span> |
| <span class="nt"><TrafficSignalState</span> <span class="na">state=</span><span class="s">"red yellow"</span> <span class="na">trafficSignalId=</span><span class="s">"1"</span> <span class="nt">/></span> |
| <span class="nt"></Phase></span> |
| <span class="nt"></TrafficSignalController></span> |
| <span class="nt"></TrafficSignals></span> |
| </pre></div> |
| </div> |
| <p>Currently these states are supported</p> |
| <table class="docutils align-default"> |
| <colgroup> |
| <col style="width: 100%" /> |
| </colgroup> |
| <tbody> |
| <tr class="row-odd"><td><p>off</p></td> |
| </tr> |
| <tr class="row-even"><td><p>red</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>yellow</p></td> |
| </tr> |
| <tr class="row-even"><td><p>green</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>red yellow</p></td> |
| </tr> |
| <tr class="row-even"><td><p>yellow flashing</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </section> |
| <section id="entities"> |
| <span id="scenario-entities"></span><h2>Entities<a class="headerlink" href="#entities" title="Permalink to this headline"></a></h2> |
| <p>The <code class="docutils literal notranslate"><span class="pre">Entities</span></code> tag defines all agents that are present at the start of the simulation at predefined positions. |
| There may be any number of these so called <strong>Scenario Agents</strong> (also zero). |
| Each entity is described by a name and a reference to a vehicle profile within the <a class="reference internal" href="profilescatalog.html#profilescatalog"><span class="std std-ref">ProfilesCatalog</span></a>.</p> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>This deviates from the OpenSCENARIO standard.</p> |
| </div> |
| <div class="admonition-todo admonition" id="id2"> |
| <p class="admonition-title">Todo</p> |
| <p>In what way do scenario agents deviate from the standard?</p> |
| </div> |
| <p>To specify an entity as the <strong>Ego Agent</strong>, the it must be named “Ego”.</p> |
| <p>Entities can also be grouped into selections.</p> |
| <div class="admonition-todo admonition" id="id3"> |
| <p class="admonition-title">Todo</p> |
| <p>What is an EntitySelection?</p> |
| </div> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Entities></span> |
| <span class="nt"><ScenarioObject</span> <span class="na">name=</span><span class="s">"Ego"</span><span class="nt">></span> |
| <span class="nt"><CatalogReference</span> <span class="na">catalogName=</span><span class="s">"ProfilesCatalog.xml"</span> <span class="na">entryName=</span><span class="s">"MiddleClassCarAgent"</span><span class="nt">/></span> |
| <span class="nt"></ScenarioObject></span> |
| <span class="nt"><EntitySelection</span> <span class="na">name=</span><span class="s">"ScenarioAgents"</span><span class="nt">></span> |
| <span class="nt"><Members/></span> |
| <span class="nt"></EntitySelection></span> |
| <span class="nt"></Entities></span> |
| </pre></div> |
| </div> |
| <p><strong>Overriding Parameters</strong></p> |
| <p>Parameters defined in the VehicleCatalog can be assigned inside the CatalogReference element. |
| In this case the assigned parameter will overwrite the definition in the VehicleCatalog. |
| Otherwise the value defined in the VehicleCatalog is used. |
| The type of the parameter must match that in the VehicleCatalog.</p> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><CatalogReference</span> <span class="na">catalogName=</span><span class="s">"ProfilesCatalog.xml"</span> <span class="na">entryName=</span><span class="s">"MiddleClassCarAgent"</span><span class="nt">></span> |
| <span class="nt"><ParameterAssignments></span> |
| <span class="nt"><ParameterAssignment</span> <span class="na">parameterRef=</span><span class="s">"Length"</span> <span class="na">value=</span><span class="s">"4.0"</span> <span class="nt">/></span> |
| <span class="nt"></ParameterAssignments></span> |
| <span class="nt"></CatalogReference></span> |
| </pre></div> |
| </div> |
| <div class="admonition-agentprofile-vs-vehiclemodel admonition"> |
| <p class="admonition-title">AgentProfile vs. VehicleModel</p> |
| <p><strong>OpenPASS</strong> references AgentProfiles instead of a VehicleModels. |
| Such an AgentProfile may have a stochastic distribution of different VehicleModels, each with potentially different parameters. |
| After the random selection of the vehicle model, some parameters may not be available and are therefore not assigned (ignored).</p> |
| </div> |
| </section> |
| <section id="storyboard"> |
| <span id="scenario-storyboard"></span><h2>Storyboard<a class="headerlink" href="#storyboard" title="Permalink to this headline"></a></h2> |
| <p>The <code class="docutils literal notranslate"><span class="pre">Storyboard</span></code> tag contains the initial setup of the scenario and manipulator actions. |
| These actions control the behavior of the simulation at runtime based on predefined conditions.</p> |
| <section id="init"> |
| <span id="scenario-init"></span><h3>Init<a class="headerlink" href="#init" title="Permalink to this headline"></a></h3> |
| <p>The content of the <code class="docutils literal notranslate"><span class="pre">Init</span></code> tag is forwarded to the SpawnPoint and define <em>if</em> and <em>where</em> it should place the ego and scenario agents. |
| The position can either be defined as global coordinates (x and y) with the <code class="docutils literal notranslate"><span class="pre">World</span></code> tag or as lane coordinates (s and t) with the <code class="docutils literal notranslate"><span class="pre">Lane</span></code> tag.</p> |
| <p>The schema is defined as follows:</p> |
| <table class="tight-table docutils align-default"> |
| <colgroup> |
| <col style="width: 26%" /> |
| <col style="width: 24%" /> |
| <col style="width: 32%" /> |
| <col style="width: 18%" /> |
| </colgroup> |
| <thead> |
| <tr class="row-odd"><th class="head"><p>Tag</p></th> |
| <th class="head"><p>Parent</p></th> |
| <th class="head"><p>Attributes</p></th> |
| <th class="head"><p>Occurrences</p></th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr class="row-even"><td><p>Actions</p></td> |
| <td><p>Init</p></td> |
| <td><p><em>none</em></p></td> |
| <td><p>1</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Private</p></td> |
| <td><p>Actions</p></td> |
| <td><p>entityRef</p></td> |
| <td><p>1 per entity</p></td> |
| </tr> |
| <tr class="row-even"><td><p>PrivateAction</p></td> |
| <td><p>Private</p></td> |
| <td><p><em>none</em></p></td> |
| <td><p>1+</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>TeleportAction</p></td> |
| <td><p>PrivateAction</p></td> |
| <td><p><em>none</em></p></td> |
| <td><p>1</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Position</p></td> |
| <td><p>TeleportAction</p></td> |
| <td><p><em>none</em></p></td> |
| <td><p>1</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>LanePosition</p></td> |
| <td><p>Position</p></td> |
| <td><p>roadId, laneId, s, offset</p></td> |
| <td><p>0 or 1</p></td> |
| </tr> |
| <tr class="row-even"><td><p>WorldPosition</p></td> |
| <td><p>Position</p></td> |
| <td><p>x, y, h</p></td> |
| <td><p>0 or 1</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Orientation</p></td> |
| <td><p>LanePosition</p></td> |
| <td><p>type, h</p></td> |
| <td><p>0 or 1</p></td> |
| </tr> |
| <tr class="row-even"><td><p>LongitudinalAction</p></td> |
| <td><p>PrivateAction</p></td> |
| <td><p><em>none</em></p></td> |
| <td><p>1</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>SpeedAction</p></td> |
| <td><p>LongitudinalAction</p></td> |
| <td><p><em>none</em></p></td> |
| <td><p>1</p></td> |
| </tr> |
| <tr class="row-even"><td><p>SpeedActionDynamics</p></td> |
| <td><p>SpeedAction</p></td> |
| <td><p>rate, dynamicsShape</p></td> |
| <td><p>1</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>SpeedActionTarget</p></td> |
| <td><p>SpeedAction</p></td> |
| <td><p><em>none</em></p></td> |
| <td><p>1</p></td> |
| </tr> |
| <tr class="row-even"><td><p>AbsoluteTargetSpeed</p></td> |
| <td><p>SpeedActionTarget</p></td> |
| <td><p>value</p></td> |
| <td><p>1</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>RoutingAction</p></td> |
| <td><p>PrivateAction</p></td> |
| <td><p><em>none</em></p></td> |
| <td><p>0 or 1</p></td> |
| </tr> |
| <tr class="row-even"><td><p>AssignRouteAction</p></td> |
| <td><p>RoutingAction</p></td> |
| <td><p><em>none</em></p></td> |
| <td><p>1</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Route</p></td> |
| <td><p>AssignRouteAction</p></td> |
| <td><p><em>none</em></p></td> |
| <td><p>1</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Waypoint</p></td> |
| <td><p>Route</p></td> |
| <td><p><em>none</em></p></td> |
| <td><p>1+</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Position</p></td> |
| <td><p>Waypoint</p></td> |
| <td><p><em>none</em></p></td> |
| <td><p>1</p></td> |
| </tr> |
| <tr class="row-even"><td><p>RoadPosition</p></td> |
| <td><p>Position</p></td> |
| <td><p>roadId, t</p></td> |
| <td><p>1</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>VisibilityAction</p></td> |
| <td><p>PrivateAction</p></td> |
| <td><p>traffic</p></td> |
| <td><p>1</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <p>All listed attributes are required. |
| The attributes have the following meaning:</p> |
| <table class="tight-table docutils align-default"> |
| <colgroup> |
| <col style="width: 15%" /> |
| <col style="width: 14%" /> |
| <col style="width: 71%" /> |
| </colgroup> |
| <thead> |
| <tr class="row-odd"><th class="head"><p>Tag</p></th> |
| <th class="head"><p>Attribute</p></th> |
| <th class="head"><p>Description</p></th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr class="row-even"><td><p>Private</p></td> |
| <td><p>entityRef</p></td> |
| <td><p>name of the entity for which the initial values are described in the sub-tags</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>LanePosition</p></td> |
| <td><p>roadId</p></td> |
| <td><p>Id of the road in the Scenery</p></td> |
| </tr> |
| <tr class="row-even"><td><p>LanePosition</p></td> |
| <td><p>laneId</p></td> |
| <td><p>Id of the lane in the Scenery</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>LanePosition</p></td> |
| <td><p>s</p></td> |
| <td><p>start position on the lane (i.e. distance from the start of the road) of the reference point</p></td> |
| </tr> |
| <tr class="row-even"><td><p>LanePosition</p></td> |
| <td><p>offset</p></td> |
| <td><p>lateral distance of the reference point to the middle of the road (i.e. t coordinate)</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>WorldPosition</p></td> |
| <td><p>x</p></td> |
| <td><p>x coordinate of the reference point</p></td> |
| </tr> |
| <tr class="row-even"><td><p>WorldPosition</p></td> |
| <td><p>y</p></td> |
| <td><p>y coordinate of the reference point</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>WorldPosition</p></td> |
| <td><p>h</p></td> |
| <td><p>heading</p></td> |
| </tr> |
| <tr class="row-even"><td><p>Orientation</p></td> |
| <td><p>type</p></td> |
| <td><p>has to be “relative”</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>Orientation</p></td> |
| <td><p>h</p></td> |
| <td><p>heading angle in radiant relative to the lane</p></td> |
| </tr> |
| <tr class="row-even"><td><p>SpeedActionDynamics</p></td> |
| <td><p>rate</p></td> |
| <td><p>acceleration</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>SpeedActionDynamics</p></td> |
| <td><p>dynamicsShape</p></td> |
| <td><p>“linear” for constant acceleration, “step” for immediate transition</p></td> |
| </tr> |
| <tr class="row-even"><td><p>SpeedActionDynamics</p></td> |
| <td><p>dynamicsDimension</p></td> |
| <td><p>has to be “rate”</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>AbsoluteTargetSpeed</p></td> |
| <td><p>value</p></td> |
| <td><p>velocity</p></td> |
| </tr> |
| <tr class="row-even"><td><p>RoadPosition</p></td> |
| <td><p>roadId</p></td> |
| <td><p>Id of the road in the Scenery</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>RoadPosition</p></td> |
| <td><p>t</p></td> |
| <td><p>negative for driving in roadDirection (i.e on lanes with negative Id) else positive</p></td> |
| </tr> |
| <tr class="row-even"><td><p>RoadPosition</p></td> |
| <td><p>s</p></td> |
| <td><p>ignored</p></td> |
| </tr> |
| <tr class="row-odd"><td><p>VisibilityAction</p></td> |
| <td><p>traffic</p></td> |
| <td><p>Flag deciding if the scenario agent will be spawned (true = spawned, false = not spawned)</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <p><strong>Defining a Position</strong></p> |
| <p><strong>OpenPASS</strong> only supports <code class="docutils literal notranslate"><span class="pre">LanePosition</span></code> and <code class="docutils literal notranslate"><span class="pre">WorldPosition</span></code> from the OpenSCENARIO standard.</p> |
| <p><strong>Controlling Visibility</strong></p> |
| <p>VisibilityAction is an optional attribute, which allows easy parameterization of certain entities, e.g. via <a class="reference internal" href="#scenario-parameterdeclaration"><span class="std std-ref">ParameterDeclarations</span></a>.</p> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>If VisibilityAction <strong>is not defined</strong> the according entity agent <strong>will be spawned</strong>.</p> |
| </div> |
| <p><strong>Follow Route Action</strong></p> |
| <p>This action is defined here in the init part of the Storyboard. See <a class="reference internal" href="#scenario-followrouteaction"><span class="std std-ref">FollowRouteAction</span></a></p> |
| <p><strong>Stochastic Values</strong></p> |
| <p>Unlike OpenSCENARIO, <strong>openPASS</strong> allows some of the aforementioned values to be stochastic. |
| This is achieved by using the sub-tag <code class="docutils literal notranslate"><span class="pre">Stochastics</span></code> within the tags <code class="docutils literal notranslate"><span class="pre">LanePosition</span></code> or <code class="docutils literal notranslate"><span class="pre">SpeedAction</span></code>:</p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Stochastics</span> <span class="na">value=</span><span class="s">"..."</span> <span class="na">stdDeviation=</span><span class="s">"..."</span> <span class="na">lowerBound=</span><span class="s">"..."</span> <span class="na">upperBound=</span><span class="s">"..."</span><span class="nt">/></span> |
| </pre></div> |
| </div> |
| <p>The stochastics tag normally defines a normal distribution, but it is up to each component to interpret its values. |
| Here, value is a selector, which can be either <code class="docutils literal notranslate"><span class="pre">s</span></code>, <code class="docutils literal notranslate"><span class="pre">offset</span></code> (if inside LanePosition), <code class="docutils literal notranslate"><span class="pre">velocity</span></code> or <code class="docutils literal notranslate"><span class="pre">rate</span></code> (if inside SpeedAction). |
| Depending on the selected type, the actual mean value is then taken from the attribute of the corresponding tag <code class="docutils literal notranslate"><span class="pre">LanePosition</span></code>, <code class="docutils literal notranslate"><span class="pre">SpeedActionDynamics</span></code>, or <code class="docutils literal notranslate"><span class="pre">AbsoluteTargetSpeed</span></code>.</p> |
| <p><strong>Full Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Init></span> |
| <span class="nt"><Actions></span> |
| <span class="nt"><Private</span> <span class="na">entityRef=</span><span class="s">"Ego"</span><span class="nt">></span> |
| <span class="nt"><PrivateAction></span> |
| <span class="nt"><TeleportAction></span> |
| <span class="nt"><Position></span> |
| <span class="nt"><LanePosition</span> <span class="na">roadId=</span><span class="s">"1"</span> <span class="na">s=</span><span class="s">"20.0"</span> <span class="na">laneId=</span><span class="s">"-2"</span> <span class="na">offset=</span><span class="s">"0.0"</span><span class="nt">></span> |
| <span class="nt"><Orientation</span> <span class="na">type=</span><span class="s">"relative"</span> <span class="na">h=</span><span class="s">"0.2"</span><span class="nt">/></span> |
| <span class="nt"><Stochastics</span> <span class="na">value=</span><span class="s">"s"</span> <span class="na">stdDeviation=</span><span class="s">"5.0"</span> <span class="na">lowerBound=</span><span class="s">"10.0"</span> |
| <span class="na">upperBound=</span><span class="s">"30.0"</span><span class="nt">/></span> |
| <span class="nt"></LanePosition></span> |
| <span class="nt"></Position></span> |
| <span class="nt"></TeleportAction></span> |
| <span class="nt"></PrivateAction></span> |
| <span class="nt"><PrivateAction></span> |
| <span class="nt"><LongitudinalAction></span> |
| <span class="nt"><SpeedAction></span> |
| <span class="nt"><SpeedActionDynamics</span> <span class="na">rate=</span><span class="s">"0.0"</span> <span class="na">dynamicsShape=</span><span class="s">"linear"</span> |
| <span class="na">dynamicsDimension=</span><span class="s">"rate"</span><span class="nt">/></span> |
| <span class="nt"><SpeedActionTarget></span> |
| <span class="nt"><AbsoluteTargetSpeed</span> <span class="na">value=</span><span class="s">"10.0"</span> <span class="nt">/></span> |
| <span class="nt"></SpeedActionTarget></span> |
| <span class="nt"><Stochastics</span> <span class="na">value=</span><span class="s">"velocity"</span> <span class="na">stdDeviation=</span><span class="s">"2.0"</span> <span class="na">lowerBound=</span><span class="s">"5.0"</span> |
| <span class="na">upperBound=</span><span class="s">"15.0"</span><span class="nt">/></span> |
| <span class="nt"></SpeedAction></span> |
| <span class="nt"></LongitudinalAction></span> |
| <span class="nt"></PrivateAction></span> |
| <span class="nt"><PrivateAction></span> |
| <span class="nt"><RoutingAction></span> |
| <span class="nt"><AssignRouteAction></span> |
| <span class="nt"><Route></span> |
| <span class="nt"><Waypoint></span> |
| <span class="nt"><Position></span> |
| <span class="nt"><RoadPosition</span> <span class="na">roadId=</span><span class="s">"1"</span> <span class="na">t=</span><span class="s">"-1.0"</span> <span class="na">s=</span><span class="s">"0"</span><span class="nt">/></span> |
| <span class="nt"></Position></span> |
| <span class="nt"></Waypoint></span> |
| <span class="nt"><Waypoint></span> |
| <span class="nt"><Position></span> |
| <span class="nt"><RoadPosition</span> <span class="na">roadId=</span><span class="s">"2"</span> <span class="na">t=</span><span class="s">"-1.0"</span> <span class="na">s=</span><span class="s">"0"</span><span class="nt">/></span> |
| <span class="nt"></Position></span> |
| <span class="nt"></Waypoint></span> |
| <span class="nt"></Route></span> |
| <span class="nt"></AssignRouteAction></span> |
| <span class="nt"></RoutingAction></span> |
| <span class="nt"></PrivateAction></span> |
| <span class="nt"></Private></span> |
| <span class="nt"><Private</span> <span class="na">entityRef=</span><span class="s">"ScenarioAgent"</span><span class="nt">></span> |
| <span class="nt"><PrivateAction></span> |
| <span class="nt"><TeleportAction></span> |
| <span class="nt"><Position></span> |
| <span class="nt"><LanePosition</span> <span class="na">roadId=</span><span class="s">"1"</span> <span class="na">s=</span><span class="s">"50.0"</span> <span class="na">laneId=</span><span class="s">"-3"</span> <span class="na">offset=</span><span class="s">"0.0"</span><span class="nt">/></span> |
| <span class="nt"></Position></span> |
| <span class="nt"></TeleportAction></span> |
| <span class="nt"></PrivateAction></span> |
| <span class="nt"><PrivateAction></span> |
| <span class="nt"><LongitudinalAction></span> |
| <span class="nt"><SpeedAction></span> |
| <span class="nt"><SpeedActionDynamics</span> <span class="na">rate=</span><span class="s">"0.0"</span> <span class="na">dynamicsShape=</span><span class="s">"linear"</span> |
| <span class="na">dynamicsDimension=</span><span class="s">"rate"</span><span class="nt">/></span> |
| <span class="nt"><SpeedActionTarget></span> |
| <span class="nt"><AbsoluteTargetSpeed</span> <span class="na">value=</span><span class="s">"10.0"</span> <span class="nt">/></span> |
| <span class="nt"></SpeedActionTarget></span> |
| <span class="nt"></SpeedAction></span> |
| <span class="nt"></LongitudinalAction></span> |
| <span class="nt"></PrivateAction></span> |
| <span class="nt"></Private></span> |
| <span class="nt"></Actions></span> |
| <span class="nt"></Init></span> |
| </pre></div> |
| </div> |
| </section> |
| <section id="story"> |
| <span id="scenario-story"></span><h3>Story<a class="headerlink" href="#story" title="Permalink to this headline"></a></h3> |
| <p>The tag <code class="docutils literal notranslate"><span class="pre">Story</span></code> is optional and defines all conditional interventions during runtime. |
| The story consists of multiple acts, which itself can consist of multiple <code class="docutils literal notranslate"><span class="pre">ManeuverGroup</span></code> tags. |
| A maneuver groups must consist of exactly one <code class="docutils literal notranslate"><span class="pre">Actors</span></code> tag and one <code class="docutils literal notranslate"><span class="pre">Maneuver</span></code> tag. |
| The <code class="docutils literal notranslate"><span class="pre">maximumExecutionCount</span></code> attribute states the maximum number of times that each maneuver will by triggered. |
| To trigger an maneuver for an unlimited number of times, set the value to <code class="docutils literal notranslate"><span class="pre">-1,</span></code>.</p> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>While multiple stories can be added, grouping of maneuver groups into acts currently has no effect in the simulator.</p> |
| </div> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Story</span> <span class="na">name=</span><span class="s">"MyStory"</span><span class="nt">></span> |
| <span class="nt"><Act</span> <span class="na">name=</span><span class="s">"Act1"</span><span class="nt">></span> |
| <span class="nt"><ManeuverGroup</span> <span class="na">name=</span><span class="s">"MySequence"</span> <span class="na">maximumExecutionCount=</span><span class="s">"-1"</span><span class="nt">></span> |
| <span class="nt"><Actors></span> |
| ... |
| <span class="nt"></Actors></span> |
| <span class="nt"><Maneuver</span> <span class="na">name=</span><span class="s">"MyManeuver"</span><span class="nt">></span> |
| ... |
| <span class="nt"></Maneuver></span> |
| <span class="nt"></ManeuverGroup></span> |
| <span class="nt"></Act></span> |
| <span class="nt"></Story></span> |
| </pre></div> |
| </div> |
| <section id="actors"> |
| <span id="scenario-actors"></span><h4>Actors<a class="headerlink" href="#actors" title="Permalink to this headline"></a></h4> |
| <p>The <code class="docutils literal notranslate"><span class="pre">Actors</span></code> tag defines the agents that are mainly affected by this sequence. |
| These agents can either be defined directly by stating their name within a sub-tag <code class="docutils literal notranslate"><span class="pre"><EntityRef</span> <span class="pre">entityRef="entityName"/></span></code> or as the agent that triggered the event itself via <code class="docutils literal notranslate"><span class="pre"><Actors</span> <span class="pre">selectTriggeringEntities="true"/></span></code>.</p> |
| </section> |
| <section id="maneuver"> |
| <span id="scenario-maneuver"></span><h4>Maneuver<a class="headerlink" href="#maneuver" title="Permalink to this headline"></a></h4> |
| <p>The <code class="docutils literal notranslate"><span class="pre">Maneuver</span></code> tag defines the conditions, when an action shall take place. |
| It contains one or more events, each consisting of <strong>one</strong> action and <strong>one or more</strong> start conditions.</p> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>Only a single action is currently supported, although the standard allows several.</p> |
| </div> |
| <div class="admonition warning"> |
| <p class="admonition-title">Warning</p> |
| <p>Due to internal handling, event names must be unique.</p> |
| </div> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Maneuver</span> <span class="na">name=</span><span class="s">"MyManeuver"</span><span class="nt">></span> |
| <span class="nt"><Event</span> <span class="na">name=</span><span class="s">"MyEvent"</span> <span class="na">priority=</span><span class="s">"overwrite"</span><span class="nt">></span> |
| <span class="nt"><Action</span> <span class="na">name=</span><span class="s">"MyManipulator"</span><span class="nt">></span> |
| ... |
| <span class="nt"></Action></span> |
| <span class="nt"><StartTrigger></span> |
| <span class="nt"><ConditionGroup></span> |
| <span class="nt"><Condition</span> <span class="na">name=</span><span class="s">"Conditional"</span><span class="nt">></span> |
| ... |
| <span class="nt"></Condition></span> |
| <span class="nt"></ConditionGroup></span> |
| <span class="nt"></StartTrigger></span> |
| <span class="nt"></Event></span> |
| <span class="nt"></Maneuver></span> |
| </pre></div> |
| </div> |
| <section id="conditions"> |
| <span id="scenario-conditions"></span><h5>Conditions<a class="headerlink" href="#conditions" title="Permalink to this headline"></a></h5> |
| <p><strong>OpenPASS</strong> support different kind of conditions, belonging either to <code class="docutils literal notranslate"><span class="pre">ByValueCondition</span></code> or <code class="docutils literal notranslate"><span class="pre">ByEntityCondition</span></code>. |
| While a <strong>by value condition</strong> trigger based on a specified value and is unrelated to any specific agent, a <strong>by entity condition</strong> is bound to an triggering agent, defined by a mandatory section <code class="docutils literal notranslate"><span class="pre">TriggeringEntities</span></code>. |
| Entities can be either ego or scenario agents, or all agents if the section is left blank.</p> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>OpenSCENARIO specifies that a rule should be applied to the <code class="docutils literal notranslate"><span class="pre">TriggeringEntities</span></code> element. |
| Currently, only the rule <code class="docutils literal notranslate"><span class="pre">any</span></code> is supported, so any of the listed entities may satisfy the condition independent of the others.</p> |
| </div> |
| <table class="docutils align-default"> |
| <colgroup> |
| <col style="width: 72%" /> |
| <col style="width: 28%" /> |
| </colgroup> |
| <thead> |
| <tr class="row-odd"><th class="head"><p>Condition</p></th> |
| <th class="head"><p>Triggered By</p></th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr class="row-even"><td><p><a class="reference internal" href="#scenario-simulationtime"><span class="std std-ref">SimulationTime</span></a></p></td> |
| <td><p>Value</p></td> |
| </tr> |
| <tr class="row-odd"><td><p><a class="reference internal" href="#scenario-relativelaneposition"><span class="std std-ref">RelativeLanePosition</span></a></p></td> |
| <td><p>Entity</p></td> |
| </tr> |
| <tr class="row-even"><td><p><a class="reference internal" href="#scenario-roadposition"><span class="std std-ref">RoadPosition</span></a></p></td> |
| <td><p>Entity</p></td> |
| </tr> |
| <tr class="row-odd"><td><p><a class="reference internal" href="#scenario-relativelaneposition"><span class="std std-ref">RelativeLanePosition</span></a></p></td> |
| <td><p>Entity</p></td> |
| </tr> |
| <tr class="row-even"><td><p><a class="reference internal" href="#scenario-relativespeed"><span class="std std-ref">RelativeSpeed</span></a></p></td> |
| <td><p>Entity</p></td> |
| </tr> |
| <tr class="row-odd"><td><p><a class="reference internal" href="#scenario-timetocollision"><span class="std std-ref">TimeToCollision</span></a></p></td> |
| <td><p>Entity</p></td> |
| </tr> |
| <tr class="row-even"><td><p><a class="reference internal" href="#scenario-timeheadway"><span class="std std-ref">TimeHeadway</span></a></p></td> |
| <td><p>Entity</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <section id="simulationtime"> |
| <span id="scenario-simulationtime"></span><h6>SimulationTime<a class="headerlink" href="#simulationtime" title="Permalink to this headline"></a></h6> |
| <p>Defines, when the simulation ends. |
| Triggers at a specified time value, given in seconds. |
| The rule is required and only <code class="docutils literal notranslate"><span class="pre">greaterThan</span></code> is currently supported.</p> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Condition</span> <span class="na">name=</span><span class="s">"EndTime"</span> <span class="na">delay=</span><span class="s">"0"</span> <span class="na">conditionEdge=</span><span class="s">"rising"</span><span class="nt">></span> |
| <span class="nt"><ByValueCondition></span> |
| <span class="nt"><SimulationTimeCondition</span> <span class="na">value=</span><span class="s">"30.0"</span> <span class="na">rule=</span><span class="s">"greaterThan"</span><span class="nt">/></span> |
| <span class="nt"></ByValueCondition></span> |
| <span class="nt"></Condition></span> |
| </pre></div> |
| </div> |
| </section> |
| <section id="relativelaneposition"> |
| <span id="scenario-relativelaneposition"></span><h6>RelativeLanePosition<a class="headerlink" href="#relativelaneposition" title="Permalink to this headline"></a></h6> |
| <p>Triggers if an entity is within a relative lane position with respect to the specified object. |
| Here, <em>ds</em> (s-delta) and <em>dLane</em> (lane-delta) are applied to a reference <em>object</em>, e.g. <code class="docutils literal notranslate"><span class="pre">referenceEntity.s</span> <span class="pre">+</span> <span class="pre">ds</span></code>. |
| The tolerance is then added and subtracted from the resulting s-coordinate to form a triggering zone. |
| The condition is satisfied, if a TriggeringEntity touches this zone.</p> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Condition</span> <span class="na">name=</span><span class="s">"RelativeLanePosition"</span><span class="nt">></span> |
| <span class="nt"><ByEntityCondition></span> |
| <span class="nt"><TriggeringEntities</span> <span class="na">triggeringEntitiesRule=</span><span class="s">"any"</span><span class="nt">></span> |
| <span class="nt"><EntityRef</span> <span class="na">entityRef=</span><span class="s">"Ego"</span><span class="nt">/></span> |
| <span class="nt"></TriggeringEntities></span> |
| <span class="nt"><EntityCondition></span> |
| <span class="nt"><ReachPositionCondition</span> <span class="na">tolerance=</span><span class="s">"15.0"</span><span class="nt">></span> |
| <span class="nt"><Position></span> |
| <span class="nt"><RelativeLanePosition</span> <span class="na">entityRef=</span><span class="s">"StandingAgent"</span> <span class="na">dLane=</span><span class="s">"-1"</span> <span class="na">ds=</span><span class="s">"20.0"</span><span class="nt">/></span> |
| <span class="nt"></Position></span> |
| <span class="nt"></ReachPositionCondition></span> |
| <span class="nt"></EntityCondition></span> |
| <span class="nt"></ByEntityCondition></span> |
| <span class="nt"></Condition></span> |
| </pre></div> |
| </div> |
| </section> |
| <section id="roadposition"> |
| <span id="scenario-roadposition"></span><h6>RoadPosition<a class="headerlink" href="#roadposition" title="Permalink to this headline"></a></h6> |
| <p>This Condition evaluates if a TriggeringEntity touches a given s-coordinate, <em>s</em>, on a specified road, given by <em>roadId</em>. |
| Note that the tolerance is added and subtracted from the s-coordinate to form a triggering zone. |
| The condition is satisfied, if a TriggeringEntity touches this zone.</p> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Condition</span> <span class="na">name=</span><span class="s">"RoadPosition"</span><span class="nt">></span> |
| <span class="nt"><ByEntityCondition></span> |
| <span class="nt"><TriggeringEntities</span> <span class="na">triggeringEntitiesRule=</span><span class="s">"any"</span><span class="nt">></span> |
| <span class="nt"><EntityRef</span> <span class="na">entityRef=</span><span class="s">"Ego"</span><span class="nt">/></span> |
| <span class="nt"></TriggeringEntities></span> |
| <span class="nt"><EntityCondition></span> |
| <span class="nt"><ReachPositionCondition</span> <span class="na">tolerance=</span><span class="s">"3.0"</span><span class="nt">></span> |
| <span class="nt"><Position></span> |
| <span class="nt"><RoadPosition</span> <span class="na">roadId=</span><span class="s">"0"</span> <span class="na">s=</span><span class="s">"110.0"</span> <span class="na">t=</span><span class="s">"0.0"</span><span class="nt">/></span> |
| <span class="nt"></Position></span> |
| <span class="nt"></ReachPositionCondition></span> |
| <span class="nt"></EntityCondition></span> |
| <span class="nt"></ByEntityCondition></span> |
| <span class="nt"></Condition></span> |
| </pre></div> |
| </div> |
| </section> |
| <section id="relativespeed"> |
| <span id="scenario-relativespeed"></span><h6>RelativeSpeed<a class="headerlink" href="#relativespeed" title="Permalink to this headline"></a></h6> |
| <p>This condition evaluates if the relative velocity (<img class="math" src="../../_images/math/fcf1e10911eacf44f57a43c7f8b190228aba5320.png" alt="v_{rel}"/>) between a TriggeringEntity and a reference entity, is <em>lessThan</em>, <em>equalTo</em>, or <em>greaterThan</em>, a specified value, where <img class="math" src="../../_images/math/d17927d945626222b572588e9b810bd91a62f7bb.png" alt="v_{rel} = v_{trig} - v_{ref}"/>.</p> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Condition</span> <span class="na">name=</span><span class="s">"RelativeSpeed"</span><span class="nt">></span> |
| <span class="nt"><ByEntityCondition></span> |
| <span class="nt"><TriggeringEntities</span> <span class="na">triggeringEntitiesRule=</span><span class="s">"any"</span><span class="nt">></span> |
| <span class="nt"><EntityRef</span> <span class="na">entityRef=</span><span class="s">"Ego"</span><span class="nt">/></span> |
| <span class="nt"></TriggeringEntities></span> |
| <span class="nt"><EntityCondition></span> |
| <span class="nt"><RelativeSpeedCondition</span> <span class="na">entityRef=</span><span class="s">"StandingAgent"</span> <span class="na">value=</span><span class="s">"10.0"</span> <span class="na">rule=</span><span class="s">"greaterThan"</span><span class="nt">/></span> |
| <span class="nt"></EntityCondition></span> |
| <span class="nt"></ByEntityCondition></span> |
| <span class="nt"></Condition></span> |
| </pre></div> |
| </div> |
| </section> |
| <section id="timetocollision"> |
| <span id="scenario-timetocollision"></span><h6>TimeToCollision<a class="headerlink" href="#timetocollision" title="Permalink to this headline"></a></h6> |
| <p>This condition evaluates if the <em>Time To Collision</em> (TTC) between a TriggeringEntity and a reference entity is <em>lessThan</em>, <em>equalTo</em>, or <em>greaterThan</em> a specified value. |
| The TTC is determined by projecting the movement of the entities using steps of 0.1 seconds and returning the first time step, at which their bounding boxes intersect.</p> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Condition</span> <span class="na">name=</span><span class="s">"TimeToCollision"</span><span class="nt">></span> |
| <span class="nt"><ByEntityCondition></span> |
| <span class="nt"><TriggeringEntities</span> <span class="na">triggeringEntitiesRule=</span><span class="s">"any"</span><span class="nt">></span> |
| <span class="nt"><EntityRef</span> <span class="na">entityRef=</span><span class="s">"Ego"</span><span class="nt">/></span> |
| <span class="nt"></TriggeringEntities></span> |
| <span class="nt"><EntityCondition></span> |
| <span class="nt"><TimeToCollisionCondition</span> <span class="na">value=</span><span class="s">"3.0"</span> <span class="na">rule=</span><span class="s">"lessThan"</span><span class="nt">></span> |
| <span class="nt"><TimeToCollisionConditionTarget></span> |
| <span class="nt"><EntityRef</span> <span class="na">entityRef=</span><span class="s">"StandingAgent"</span><span class="nt">/></span> |
| <span class="nt"></TimeToCollisionConditionTarget></span> |
| <span class="nt"></TimeToCollisionCondition></span> |
| <span class="nt"></EntityCondition></span> |
| <span class="nt"></ByEntityCondition></span> |
| <span class="nt"></Condition></span> |
| </pre></div> |
| </div> |
| </section> |
| <section id="timeheadway"> |
| <span id="scenario-timeheadway"></span><h6>TimeHeadway<a class="headerlink" href="#timeheadway" title="Permalink to this headline"></a></h6> |
| <p>This condition evaluates if the <em>Time Headway</em> (THW) between a TriggeringEntity and a reference entity is <em>lessThan</em>, <em>equalTo</em>, or <em>greaterThan</em> a specified value. |
| If <code class="docutils literal notranslate"><span class="pre">freespace="true"</span></code> the net distance of the bounding boxes is considered, otherwise the distance of the reference points. |
| The <code class="docutils literal notranslate"><span class="pre">alongRoute</span></code> attribute must be <code class="docutils literal notranslate"><span class="pre">true</span></code>.</p> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Condition</span> <span class="na">name=</span><span class="s">"TimeHeadway"</span><span class="nt">></span> |
| <span class="nt"><ByEntityCondition></span> |
| <span class="nt"><TriggeringEntities</span> <span class="na">triggeringEntitiesRule=</span><span class="s">"any"</span><span class="nt">></span> |
| <span class="nt"><EntityRef</span> <span class="na">entityRef=</span><span class="s">"Ego"</span><span class="nt">/></span> |
| <span class="nt"></TriggeringEntities></span> |
| <span class="nt"><EntityCondition></span> |
| <span class="nt"><TimeHeadwayCondition</span> <span class="na">value=</span><span class="s">"3.0"</span> |
| <span class="na">rule=</span><span class="s">"lessThan"</span> |
| <span class="na">entityRef=</span><span class="s">"StandingAgent"</span> |
| <span class="na">freespace=</span><span class="s">"true"</span> |
| <span class="na">alongRoute=</span><span class="s">"true"</span><span class="nt">/></span> |
| <span class="nt"></EntityCondition></span> |
| <span class="nt"></ByEntityCondition></span> |
| <span class="nt"></Condition></span> |
| </pre></div> |
| </div> |
| </section> |
| </section> |
| <section id="actions"> |
| <span id="scenario-actions"></span><h5>Actions<a class="headerlink" href="#actions" title="Permalink to this headline"></a></h5> |
| <p>Actions define what happens if all conditions of the maneuver are fulfilled and are applied on the actors defined for this maneuver.</p> |
| <p>The following openSCENARIO actions are supported:</p> |
| <ul class="simple"> |
| <li><p><a class="reference internal" href="#scenario-followrouteaction"><span class="std std-ref">FollowRouteAction</span></a></p></li> |
| <li><p><a class="reference internal" href="#scenario-lanechange"><span class="std std-ref">LaneChange</span></a></p></li> |
| <li><p><a class="reference internal" href="#scenario-followtrajectory"><span class="std std-ref">Follow Trajectory</span></a></p></li> |
| <li><p><a class="reference internal" href="#scenario-acquireposition"><span class="std std-ref">Acquire Position</span></a></p></li> |
| <li><p><a class="reference internal" href="#scenario-removeagent"><span class="std std-ref">Remove Agent</span></a></p></li> |
| <li><p><a class="reference internal" href="#scenario-speedaction"><span class="std std-ref">SpeedAction</span></a></p></li> |
| </ul> |
| <p>In addition, the following user defined actions are interpreted:</p> |
| <ul class="simple"> |
| <li><p><a class="reference internal" href="#scenario-componentstatechange"><span class="std std-ref">UserDefinedAction: Component State Change</span></a></p></li> |
| <li><p><a class="reference internal" href="#scenario-defaultcustomcommandaction"><span class="std std-ref">UsedDefinedAction: DefaultCustomCommandAction</span></a></p></li> |
| </ul> |
| <div class="admonition-todo admonition" id="id4"> |
| <p class="admonition-title">Todo</p> |
| <p>Write a paragraph about the concept “Trajectories, OSC Actions, and so” in the developer zone.</p> |
| </div> |
| <section id="followrouteaction"> |
| <span id="scenario-followrouteaction"></span><h6>FollowRouteAction<a class="headerlink" href="#followrouteaction" title="Permalink to this headline"></a></h6> |
| <p>The FollowRouteAction is a private Action which is added to the Init part of the Storyboard. It defines Waypoints, |
| which are located by road_id and further with s and t coordinates. |
| The Agent will try to follow the specified points.</p> |
| <p><strong>Example</strong> <em>Right turn, by specifying three waypoints</em></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span> <span class="nt"><RoutingAction></span> |
| <span class="nt"><AssignRouteAction></span> |
| <span class="nt"><Route></span> |
| <span class="nt"><Waypoint></span> |
| <span class="nt"><Position></span> |
| <span class="nt"><RoadPosition</span> <span class="na">roadId=</span><span class="s">"1472558076"</span> <span class="na">t=</span><span class="s">"-1.0"</span> <span class="na">s=</span><span class="s">"230"</span><span class="nt">/></span> |
| <span class="nt"></Position></span> |
| <span class="nt"></Waypoint></span> |
| <span class="nt"><Waypoint></span> |
| <span class="nt"><Position></span> |
| <span class="nt"><RoadPosition</span> <span class="na">roadId=</span><span class="s">"3083973"</span> <span class="na">t=</span><span class="s">"0"</span> <span class="na">s=</span><span class="s">"8.5"</span><span class="nt">/></span> |
| <span class="nt"></Position></span> |
| <span class="nt"></Waypoint></span> |
| <span class="nt"><Waypoint></span> |
| <span class="nt"><Position></span> |
| <span class="nt"><RoadPosition</span> <span class="na">roadId=</span><span class="s">"2015840166"</span> <span class="na">t=</span><span class="s">"-0.2"</span> <span class="na">s=</span><span class="s">"100"</span><span class="nt">/></span> |
| <span class="nt"></Position></span> |
| <span class="nt"></Waypoint></span> |
| <span class="nt"></Route></span> |
| <span class="nt"></AssignRouteAction></span> |
| <span class="nt"></RoutingAction></span> |
| </pre></div> |
| </div> |
| </section> |
| <section id="lanechange"> |
| <span id="scenario-lanechange"></span><h6>LaneChange<a class="headerlink" href="#lanechange" title="Permalink to this headline"></a></h6> |
| <p>If this action trigger, the actor is forced to perform a trajectory, calculated at the time of triggering. |
| The target lane be given either absolute or with respect to another entity. |
| The trajectory can either have a fixed length (in s) or a fixed time.</p> |
| <p>Currently, “sinusoidal” is the only supported type.</p> |
| <p><strong>Example</strong> <em>with absolute target and fixed length</em></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Action</span> <span class="na">name=</span><span class="s">"LaneChange"</span><span class="nt">></span> |
| <span class="nt"><PrivateAction></span> |
| <span class="nt"><LateralAction></span> |
| <span class="nt"><LaneChangeAction></span> |
| <span class="nt"><LaneChangeActionDynamics</span> <span class="na">value=</span><span class="s">"2.0"</span> <span class="na">dynamicsShape=</span><span class="s">"sinusoidal"</span> <span class="na">dynamicsDimension=</span><span class="s">"time"</span><span class="nt">/></span> |
| <span class="nt"><LaneChangeTarget></span> |
| <span class="nt"><AbsoluteTargetLane</span> <span class="na">value=</span><span class="s">"-4"</span><span class="nt">/></span> |
| <span class="nt"></LaneChangeTarget></span> |
| <span class="nt"></LaneChangeAction></span> |
| <span class="nt"></LateralAction></span> |
| <span class="nt"></PrivateAction></span> |
| <span class="nt"></Action></span> |
| </pre></div> |
| </div> |
| <p><strong>Example</strong> <em>with relative target and fixed time</em></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Action</span> <span class="na">name=</span><span class="s">"LaneChange"</span><span class="nt">></span> |
| <span class="nt"><PrivateAction></span> |
| <span class="nt"><LateralAction></span> |
| <span class="nt"><LaneChangeAction></span> |
| <span class="nt"><LaneChangeActionDynamics</span> <span class="na">value=</span><span class="s">"2.0"</span> <span class="na">dynamicsShape=</span><span class="s">"sinusoidal"</span> <span class="na">dynamicsDimension=</span><span class="s">"time"</span><span class="nt">/></span> |
| <span class="nt"><LaneChangeTarget></span> |
| <span class="nt"><RelativeTargetLane</span> <span class="na">entityRef=</span><span class="s">"Ego"</span> <span class="na">value=</span><span class="s">"+1"</span><span class="nt">/></span> |
| <span class="nt"></LaneChangeTarget></span> |
| <span class="nt"></LaneChangeAction></span> |
| <span class="nt"></LateralAction></span> |
| <span class="nt"></PrivateAction></span> |
| <span class="nt"></Action></span> |
| </pre></div> |
| </div> |
| </section> |
| <section id="follow-trajectory"> |
| <span id="scenario-followtrajectory"></span><h6>Follow Trajectory<a class="headerlink" href="#follow-trajectory" title="Permalink to this headline"></a></h6> |
| <p>If triggered, the defined trajectory is relayed as signal to listening components. |
| The trajectory can be defined either directly in the story or as separate TrajectoryCatalog. |
| For the points (vertices) of the trajectory only world coordinates, given as <code class="docutils literal notranslate"><span class="pre">openScenario::WorldPosition</span></code>, are supported. |
| Right now, the mandatory attributes <em>z</em>, <em>pitch</em> and <em>roll</em> are ignored.</p> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Action</span> <span class="na">name=</span><span class="s">"Trajectory"</span><span class="nt">></span> |
| <span class="nt"><PrivateAction></span> |
| <span class="nt"><RoutingAction></span> |
| <span class="nt"><FollowTrajectoryAction></span> |
| <span class="nt"><Trajectory</span> <span class="na">name=</span><span class="s">"LaneChange"</span> <span class="na">closed=</span><span class="s">"false"</span><span class="nt">></span> |
| <span class="nt"><Shape></span> |
| <span class="nt"><Polyline></span> |
| <span class="nt"><Vertex</span> <span class="na">time=</span><span class="s">"0"</span><span class="nt">></span> |
| <span class="nt"><Position></span> |
| <span class="nt"><WorldPosition</span> <span class="na">x=</span><span class="s">"100"</span> <span class="na">y=</span><span class="s">"3"</span> <span class="na">z=</span><span class="s">"0"</span> <span class="na">h=</span><span class="s">"1.570796326"</span> <span class="na">p=</span><span class="s">"0"</span> <span class="na">r=</span><span class="s">"0"</span><span class="nt">/></span> |
| <span class="nt"></Position></span> |
| <span class="nt"></Vertex></span> |
| <span class="nt"><Vertex</span> <span class="na">time=</span><span class="s">"5"</span><span class="nt">></span> |
| <span class="nt"><Position></span> |
| <span class="nt"><WorldPosition</span> <span class="na">x=</span><span class="s">"100"</span> <span class="na">y=</span><span class="s">"8"</span> <span class="na">z=</span><span class="s">"0"</span> <span class="na">h=</span><span class="s">"1.570796326"</span> <span class="na">p=</span><span class="s">"0"</span> <span class="na">r=</span><span class="s">"0"</span><span class="nt">/></span> |
| <span class="nt"></Position></span> |
| <span class="nt"></Vertex></span> |
| <span class="nt"></Polyline></span> |
| <span class="nt"></Shape></span> |
| <span class="nt"></Trajectory></span> |
| <span class="nt"><TimeReference></span> |
| <span class="nt"><None/></span> |
| <span class="nt"></TimeReference></span> |
| <span class="nt"><TrajectoryFollowingMode</span> <span class="na">followingMode=</span><span class="s">"position"</span><span class="nt">/></span> |
| <span class="nt"></FollowTrajectoryAction></span> |
| <span class="nt"></RoutingAction></span> |
| <span class="nt"></PrivateAction></span> |
| <span class="nt"></Action></span> |
| </pre></div> |
| </div> |
| <p><strong>Example</strong> <em>using a TrajectoryCatalog</em></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Action</span> <span class="na">name=</span><span class="s">"FollowTrajectory"</span><span class="nt">></span> |
| <span class="nt"><Private></span> |
| <span class="nt"><Routing></span> |
| <span class="nt"><FollowTrajectoryAction></span> |
| <span class="nt"><CatalogReference</span> <span class="na">catalogName=</span><span class="s">"TrajectoryCatalog.xosc"</span> <span class="na">entryName=</span><span class="s">"TrajectoryA"</span><span class="nt">></span> |
| <span class="nt"></FollowTrajectoryAction></span> |
| <span class="nt"></Routing></span> |
| <span class="nt"></Private></span> |
| <span class="nt"></Action></span> |
| </pre></div> |
| </div> |
| </section> |
| <section id="acquire-position"> |
| <span id="scenario-acquireposition"></span><h6>Acquire Position<a class="headerlink" href="#acquire-position" title="Permalink to this headline"></a></h6> |
| <p>If triggered, the defined position is relayed as signal to listening components. |
| Currently only “WorldPosition” and “RelativeObjectPosition” are supported.</p> |
| <div class="admonition warning"> |
| <p class="admonition-title">Warning</p> |
| <p>Currently, this is only supported by the component <em>FMU_Wrapper</em> and for OSMP messages.</p> |
| </div> |
| <div class="admonition warning"> |
| <p class="admonition-title">Warning</p> |
| <p>An FMU might contain routing logic not visible to the OpenPASS simulation core. |
| For that reason, an equivalent <cite>RoutingAction</cite> should be set when using <cite>AcquirePosition</cite>. |
| Otherwise the simulation output might contain missing data for fields depending on the localization along the route (<cite>PositionRoute</cite>, <cite>TCoordinate</cite>, <cite>AgentInFront</cite>, …).</p> |
| </div> |
| <p><strong>Example</strong> <em>(WorldPosition)</em></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Action</span> <span class="na">name=</span><span class="s">"AcquirePosition"</span><span class="nt">></span> |
| <span class="nt"><PrivateAction></span> |
| <span class="nt"><RoutingAction></span> |
| <span class="nt"><AcquirePositionAction></span> |
| <span class="nt"><Position></span> |
| <span class="nt"><WorldPosition</span> <span class="na">x=</span><span class="s">"1.0"</span> <span class="na">y=</span><span class="s">"2.0"</span> <span class="na">z=</span><span class="s">"0.0"</span> <span class="na">h=</span><span class="s">"3.1415"</span> <span class="na">p=</span><span class="s">"0.0"</span> <span class="na">r=</span><span class="s">"0.0"</span> <span class="nt">/></span> |
| <span class="nt"></Position></span> |
| <span class="nt"></AcquirePositionAction></span> |
| <span class="nt"></RoutingAction></span> |
| <span class="nt"></PrivateAction></span> |
| <span class="nt"></Action></span> |
| </pre></div> |
| </div> |
| <p><strong>Example</strong> <em>(RelativeObjectPosition)</em></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Action</span> <span class="na">name=</span><span class="s">"AcquirePosition"</span><span class="nt">></span> |
| <span class="nt"><PrivateAction></span> |
| <span class="nt"><RoutingAction></span> |
| <span class="nt"><AcquirePositionAction></span> |
| <span class="nt"><Position></span> |
| <span class="nt"><RelativeObjectPosition</span> <span class="na">dx=</span><span class="s">"1.0"</span> <span class="na">dy=</span><span class="s">"1.0"</span> <span class="na">entityRef=</span><span class="s">"S1"</span><span class="nt">/></span> |
| <span class="nt"></Position></span> |
| <span class="nt"></AcquirePositionAction></span> |
| <span class="nt"></RoutingAction></span> |
| <span class="nt"></PrivateAction></span> |
| <span class="nt"></Action></span> |
| </pre></div> |
| </div> |
| </section> |
| <section id="remove-agent"> |
| <span id="scenario-removeagent"></span><h6>Remove Agent<a class="headerlink" href="#remove-agent" title="Permalink to this headline"></a></h6> |
| <p>The RemoveAgentsManipulator removes the specified entity at the time of triggering.</p> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Action</span> <span class="na">name=</span><span class="s">"RemoveAgents"</span><span class="nt">></span> |
| <span class="nt"><GlobalAction></span> |
| <span class="nt"><EntityAction</span> <span class="na">entityRef=</span><span class="s">""</span><span class="nt">></span> |
| <span class="nt"><DeleteEntityAction/></span> |
| <span class="nt"></EntityAction></span> |
| <span class="nt"></GlobalAction></span> |
| <span class="nt"></Action></span> |
| </pre></div> |
| </div> |
| </section> |
| <section id="speedaction"> |
| <span id="scenario-speedaction"></span><h6>SpeedAction<a class="headerlink" href="#speedaction" title="Permalink to this headline"></a></h6> |
| <p>The SpeedAction adjusts the velocity of an entity based on parameters of the SpeedAction. |
| Both variants, “RelativeTargetSpeed” and “AbsoluteTargetSpeed”, are supported, but with restrictions:</p> |
| <ul class="simple"> |
| <li><p>The SpeedActionDynamics attribute “dynamicsShape” only supports “linear” and “step”.</p></li> |
| <li><p>The SpeedActionDynamics attribute “dynamicsDimension” only supports “rate”.</p></li> |
| <li><p>The RelativeTargetSpeed attribute “continuous” is ignored.</p></li> |
| </ul> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>Values defined in the SpeedAction might not reflect actual values used by the simulator due to physical boundaries of the simulator.</p> |
| </div> |
| <p><strong>Example</strong> <em>AbsoulteTargetSpeed</em></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Action</span> <span class="na">name=</span><span class="s">"SpeedAction"</span><span class="nt">></span> |
| <span class="nt"><PrivateAction></span> |
| <span class="nt"><LongitudinalAction></span> |
| <span class="nt"><SpeedAction></span> |
| <span class="nt"><SpeedActionDynamics</span> <span class="na">dynamicsShape=</span><span class="s">"step"</span> <span class="na">value=</span><span class="s">"0.0"</span> <span class="na">dynamicsDimension=</span><span class="s">"rate"</span><span class="nt">/></span> |
| <span class="nt"><SpeedActionTarget></span> |
| <span class="nt"><AbsoluteTargetSpeed</span> <span class="na">value=</span><span class="s">"20"</span><span class="nt">/></span> |
| <span class="nt"></SpeedActionTarget></span> |
| <span class="nt"></SpeedAction></span> |
| <span class="nt"></LongitudinalAction></span> |
| <span class="nt"></PrivateAction></span> |
| <span class="nt"></Action></span> |
| </pre></div> |
| </div> |
| <p><strong>Example</strong> <em>RelativeTargetSpeed</em></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Action</span> <span class="na">name=</span><span class="s">"SpeedAction"</span><span class="nt">></span> |
| <span class="nt"><PrivateAction></span> |
| <span class="nt"><LongitudinalAction></span> |
| <span class="nt"><SpeedAction></span> |
| <span class="nt"><SpeedActionDynamics</span> <span class="na">dynamicsShape=</span><span class="s">"step"</span> <span class="na">value=</span><span class="s">"0.0"</span> <span class="na">dynamicsDimension=</span><span class="s">"rate"</span><span class="nt">/></span> |
| <span class="nt"><SpeedActionTarget></span> |
| <span class="nt"><RelativeTargetSpeed</span> <span class="na">entityRef=</span><span class="s">"ScenarioAgent"</span> <span class="na">value=</span><span class="s">"10"</span> |
| <span class="na">speedTargetValueType=</span><span class="s">"delta"</span> <span class="na">continuous=</span><span class="s">"false"</span><span class="nt">/></span> |
| <span class="nt"></SpeedActionTarget></span> |
| <span class="nt"></SpeedAction></span> |
| <span class="nt"></LongitudinalAction></span> |
| <span class="nt"></PrivateAction></span> |
| <span class="nt"></Action></span> |
| </pre></div> |
| </div> |
| </section> |
| <section id="useddefinedaction-defaultcustomcommandaction"> |
| <span id="scenario-defaultcustomcommandaction"></span><h6>UsedDefinedAction: DefaultCustomCommandAction<a class="headerlink" href="#useddefinedaction-defaultcustomcommandaction" title="Permalink to this headline"></a></h6> |
| <div class="admonition-todo admonition" id="id5"> |
| <p class="admonition-title">Todo</p> |
| <p>Write a paragraph in the developer zone about the concept “wrapping FMUs” and the “OSMP FMU”</p> |
| </div> |
| <p>This is <strong>the</strong> default custom command, and is always selected, if <strong>the first WORD</strong> (Keyword) in the command string is <strong>not</strong> registered as a special custom command.</p> |
| <p>The <code class="docutils literal notranslate"><span class="pre">DefaultCustomCommandAction</span></code> adds an event to the <code class="docutils literal notranslate"><span class="pre">EventNetwork</span></code>, which is relayed as a string (<code class="docutils literal notranslate"><span class="pre">StringSignal</span></code>) by the component``OSCActions``.</p> |
| <div class="admonition-fmu-wrapper-component-for-osmp-messages-only admonition"> |
| <p class="admonition-title">FMU_Wrapper component for OSMP messages only</p> |
| <p>The linked string signal is set as custom action of the TrafficCommand.</p> |
| </div> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Action</span> <span class="na">name=</span><span class="s">"CustomParameters"</span><span class="nt">></span> |
| <span class="nt"><UserDefinedAction></span> |
| <span class="nt"><CustomCommandAction></span>Arbitrary String, e.g. { "hello": "world"}<span class="nt"></CustomCommandAction></span> |
| <span class="nt"></UserDefinedAction></span> |
| <span class="nt"></Action></span> |
| </pre></div> |
| </div> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>Here, “Arbitrary” is first checked, if it matches any other available Keyword for used defined actions, such as <a class="reference internal" href="#scenario-componentstatechange"><span class="std std-ref">UserDefinedAction: Component State Change</span></a>.</p> |
| </div> |
| </section> |
| <section id="userdefinedaction-component-state-change"> |
| <span id="scenario-componentstatechange"></span><h6>UserDefinedAction: Component State Change<a class="headerlink" href="#userdefinedaction-component-state-change" title="Permalink to this headline"></a></h6> |
| <p>Command Keyword: SetComponentState</p> |
| <div class="admonition-todo admonition" id="id6"> |
| <p class="admonition-title">Todo</p> |
| <p>Write a paragraph in the developer zone about the concept “Component State Change”</p> |
| </div> |
| <p>The ComponentStateChangeManipulator influences the maximum reachable state of an agent component that is handled by the ComponentController, i.e. it can either activate or deactivate a component.</p> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt"><Action</span> <span class="na">name=</span><span class="s">"ComponentStateChange"</span><span class="nt">></span> |
| <span class="nt"><UserDefinedAction></span> |
| <span class="nt"><CustomCommandAction></span>SetComponentState Dynamics_TrajectoryFollower Acting<span class="nt"></CustomCommandAction></span> |
| <span class="nt"></UserDefinedAction></span> |
| <span class="nt"></Action></span> |
| </pre></div> |
| </div> |
| </section> |
| </section> |
| </section> |
| </section> |
| <section id="stoptrigger"> |
| <span id="scenario-stoptrigger"></span><h3>StopTrigger<a class="headerlink" href="#stoptrigger" title="Permalink to this headline"></a></h3> |
| <p>Here, end conditions for the simulation are defined.</p> |
| <p>Right now, only SimulationTime is supported, given in seconds, with the fixed <code class="docutils literal notranslate"><span class="pre">rule="greaterThan"</span></code>.</p> |
| <p><strong>Example</strong></p> |
| <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span> <span class="nt"><StopTrigger></span> |
| <span class="nt"><ConditionGroup></span> |
| <span class="nt"><Condition</span> <span class="na">name=</span><span class="s">"EndTime"</span> <span class="na">delay=</span><span class="s">"0"</span> <span class="na">conditionEdge=</span><span class="s">"rising"</span><span class="nt">></span> |
| <span class="nt"><ByValueCondition></span> |
| <span class="nt"><SimulationTimeCondition</span> <span class="na">value=</span><span class="s">"30.0"</span> <span class="na">rule=</span><span class="s">"greaterThan"</span><span class="nt">/></span> |
| <span class="nt"></ByValueCondition></span> |
| <span class="nt"></Condition></span> |
| <span class="nt"></ConditionGroup></span> |
| <span class="nt"></StopTrigger></span> |
| </pre></div> |
| </div> |
| </section> |
| </section> |
| </section> |
| |
| |
| </div> |
| </div> |
| <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> |
| <a href="profilescatalog.html" class="btn btn-neutral float-left" title="ProfilesCatalog" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> |
| <a href="scenery.html" class="btn btn-neutral float-right" title="Scenery" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> |
| </div> |
| |
| <hr/> |
| |
| <div role="contentinfo"> |
| <p>© Copyright 2022 OpenPASS Working Group.</p> |
| </div> |
| |
| Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a |
| <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> |
| provided by <a href="https://readthedocs.org">Read the Docs</a>. |
| |
| |
| </footer> |
| </div> |
| </div> |
| </section> |
| </div> |
| <script> |
| jQuery(function () { |
| SphinxRtdTheme.Navigation.enable(true); |
| }); |
| </script> |
| |
| </body> |
| </html> |