| |
| |
| <!DOCTYPE html> |
| <html class="writer-html5" lang="en" > |
| <head> |
| <meta charset="utf-8" /> |
| |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| |
| <title>Overview — openPASS Documentation</title> |
| |
| |
| |
| <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> |
| <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> |
| <link rel="stylesheet" href="../_static/tabs.css" type="text/css" /> |
| <link rel="stylesheet" href="../_static/css/custom.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 type="text/javascript" id="documentation_options" data-url_root="../" 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 type="text/javascript" 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="Tutorials" href="20_tutorials.html" /> |
| <link rel="prev" title="Building with Conan" href="../installation_guide/60_conan.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"> |
| 1.0.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="main navigation"> |
| |
| |
| |
| |
| |
| |
| <p class="caption"><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/15_system_requirements.html">System Requirements</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"><span class="caption-text">User Guides</span></p> |
| <ul class="current"> |
| <li class="toctree-l1 current"><a class="current reference internal" href="#">Overview</a><ul> |
| <li class="toctree-l2"><a class="reference internal" href="#getting-started">Getting Started</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="#intended-audience">Intended Audience</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="#workflow">Workflow</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="#primer">Primer</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="#inputs">Inputs</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#outputs">Outputs</a></li> |
| </ul> |
| </li> |
| </ul> |
| </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_configs_in_depth.html">Configs in Depth</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="40_outputs_in_depth.html">Outputs in Depth</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="50_scenario_simulation.html">Simulator</a></li> |
| </ul> |
| <p class="caption"><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"><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> |
| <li class="toctree-l1"><a class="reference internal" href="../developer_information/30_coding_conventions.html">Coding Guidelines</a></li> |
| </ul> |
| <p class="caption"><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_gui_plugins.html">GUI Plugins</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../other_information/40_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="top navigation"> |
| |
| <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="breadcrumbs navigation"> |
| |
| <ul class="wy-breadcrumbs"> |
| |
| <li><a href="../index.html" class="icon icon-home"></a> »</li> |
| |
| <li>Overview</li> |
| |
| |
| <li class="wy-breadcrumbs-aside"> |
| |
| |
| <a href="../_sources/user_guide/10_overview.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"> |
| |
| <div class="section" id="overview"> |
| <span id="user-guide-overview"></span><h1>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h1> |
| <p>openPASS is an open-source software, which is continuously being improved by stakeholders of the openPASS working group: <strong>openPASS</strong> (Open Source) (<a class="reference external" href="https://openpass.eclipse.org/">https://openpass.eclipse.org/</a>) |
| openPASS can simulate traffic situations with the goal of predicting and evaluating the safety of driver assistance systems, more specifically ADAS (Advanced Driving Assistance Systems) or AD functions. Its main use-cases are PCM-(PreCrash Matrix), and scenario-based simulations. |
| Let’s have a look at what that means:</p> |
| <a class="reference internal image-reference" href="../_images/crash-scenario.png"><img alt="../_images/crash-scenario.png" class="align-center" src="../_images/crash-scenario.png" style="width: 600px;" /></a> |
| <ol class="arabic simple"> |
| <li><p>PCM Simulations: “Crash re-simulations”</p></li> |
| </ol> |
| <blockquote> |
| <div><ul class="simple"> |
| <li><p>PCM of GIDAS: PreCrash Matrix from the database of the German In-Depth Accident Study</p></li> |
| <li><p>Re simulate real crashes from the past, but with cars having ADAS or AD functions and asses if the tested technology would have improved the safety.</p></li> |
| </ul> |
| </div></blockquote> |
| <ol class="arabic simple" start="2"> |
| <li><p>(Traffic-)scenario based simulations</p></li> |
| </ol> |
| <blockquote> |
| <div><ul class="simple"> |
| <li><p>This is the most common use-case for openPASS.</p></li> |
| <li><p>Enables simulation of whole traffic scenarios. That includes stochastic variation of those scenarios, intervention through detection of events and triggered actions and much more.</p></li> |
| <li><p>To get a better understanding about how these simulations are performed, please look at the scenario-based simulation tutorial.</p></li> |
| </ul> |
| </div></blockquote> |
| <p>For beginners, this presentation gives more illustrations and background about openPASS: <a class="reference external" href="https://openpass.eclipse.org/target_objectives/openPASS_at_a_glance.pdf">https://openpass.eclipse.org/target_objectives/openPASS_at_a_glance.pdf</a></p> |
| <div class="section" id="getting-started"> |
| <h2>Getting Started<a class="headerlink" href="#getting-started" title="Permalink to this headline">¶</a></h2> |
| <p>This chapter provides insights on openPASS and how to work with the simulation. |
| The following step-by-step guides are included to guide you through your first simulations with openPASS:</p> |
| <blockquote> |
| <div><ul class="simple"> |
| <li><p>Scenario-based Simulation: traffic simulation based on OpenSCENARIO description</p></li> |
| <li><p>PCM Simulation: crash re-simulation based on GIDAS record</p></li> |
| </ul> |
| </div></blockquote> |
| <p>In particular, it is presented how to go through the required steps until a simulation can be run successfully. |
| To enhance the guiding, there are going to be examples in every section. |
| It is important to mention that openPASS is still in progress and e. g. some plugins and options have not been fully implemented yet.</p> |
| </div> |
| <div class="section" id="intended-audience"> |
| <h2>Intended Audience<a class="headerlink" href="#intended-audience" title="Permalink to this headline">¶</a></h2> |
| <p>This manual serves as an entry point for users who have an operational simulator at hand (see <a class="reference internal" href="../installation_guide/10_getting_started.html#sim-install-guide"><span class="std std-ref">Getting Started</span></a>) and want to carry out (first) experiments at the invocation level (<em>GUI-less mode</em>). |
| In this sense, it primarily tackles how input-sets are composed, their interdependencies and, finally, the generated outputs.</p> |
| <img alt="|op| Workflow" src="../_images/workflow.png" /> |
| <p>This image shows the <em>GUI-less</em> workflow, starting with the input-set, bundled together in a folder typically named <code class="docutils literal notranslate"><span class="pre">configs</span></code>. |
| The <code class="docutils literal notranslate"><span class="pre">core</span></code>, executed manually by the experimenter, processes these configs and generates an (configurable) output-set typically placed in a folder named <code class="docutils literal notranslate"><span class="pre">results</span></code>. |
| Thereby, the <strong>Simulation Output</strong> is again a set of files.</p> |
| </div> |
| <div class="section" id="workflow"> |
| <h2>Workflow<a class="headerlink" href="#workflow" title="Permalink to this headline">¶</a></h2> |
| <p>A typical workflow can be:</p> |
| <blockquote> |
| <div><ol class="arabic simple"> |
| <li><p>Configure systems and agents</p></li> |
| <li><p>Configure the simulation</p></li> |
| <li><p>Run the simulation</p></li> |
| <li><p>Evaluate the simulation results</p></li> |
| <li><p>Close the loop by continuing with your next simulation</p></li> |
| </ol> |
| </div></blockquote> |
| </div> |
| <div class="section" id="primer"> |
| <span id="id1"></span><h2>Primer<a class="headerlink" href="#primer" title="Permalink to this headline">¶</a></h2> |
| <p>In the following the input and output sets are described with respect to the intended audience. |
| For detailed information please refer to the “in-depth” documentation of the individual files.</p> |
| <div class="section" id="inputs"> |
| <h3>Inputs<a class="headerlink" href="#inputs" title="Permalink to this headline">¶</a></h3> |
| <p>The input is focused around the files presented in the following chart, which depticts the information flow between the files:</p> |
| <img alt="../_images/overview-configs.png" src="../_images/overview-configs.png" /> |
| <p>In the following list, those files are discussed further and listed with decreasing importance for the current audience.</p> |
| <ul> |
| <li><p><strong>Scenario</strong></p> |
| <p>This file describes the overall situation in terms of the <strong>ASAM OpenSCENARIO 1.0</strong> standard. |
| This includes placement of cars, the story (what happens when), how long the simulation will run.</p> |
| <p>On top it contains links to additionally needed files, where the following might need modification with respect to the current audience:</p> |
| <ul> |
| <li><p><strong>Scenery</strong> (<code class="docutils literal notranslate"><span class="pre">*.xosc</span></code>)</p> |
| <p>The <strong>scenery</strong> file describes the world in which the experiment runs. |
| As such, it contains the description of the road network and any static object, such as a highway, a parking lot, or traffic signs and obstacles. |
| It follows the <strong>ASAM OpenDRIVE 1.6</strong> standard.</p> |
| </li> |
| <li><p><strong>ProfilesCatalog</strong> (<code class="docutils literal notranslate"><span class="pre">*.xml</span></code>)</p></li> |
| </ul> |
| <blockquote> |
| <div><p>This catalog is the probabilistic heart of the simulation as it describes the composition of various simulation components and entities, using both, deterministic and stochastic definitions. |
| The ProfilesCatalog defines which of the available components are actually existing in the simulation: |
| That includes vehicles (from the <code class="docutils literal notranslate"><span class="pre">VehicleModelCatalog.xosc</span></code>), pedestrians (from the <code class="docutils literal notranslate"><span class="pre">PedestrianModelCatalog.xosc</span></code>), but also components like sensors, driver assistance systems or driver models being used. |
| A Profile provides, for example, information about which components are generally available in an agent (vehicle with driver) and how likely it is that they are actually existent. |
| Such components could be ADAS sensors, which means that they are parametrized in this section as well. |
| On the implementation level, a Profile is a set of parameters which will be provided to the instantiated components of an agent or to a simulation core component, e.g. Spawner. |
| For every parameterizable component an associated ProfileGroup contains one or more Profiles, from which one will be selected based on the given probabilities.</p> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>As <strong>OpenSCENARIO</strong> does not support probabilities (yet), this file is not conform to the standard.</p> |
| </div> |
| </div></blockquote> |
| <ul> |
| <li><p><strong>VehicleCatalog</strong> and <strong>PedestrianCatalog</strong>: (<code class="docutils literal notranslate"><span class="pre">*.xosc</span></code>)</p> |
| <p>These catalogs, also based on <strong>OpenSCENARIO</strong>, describes the physical parameters of available vehicles or pedestrians, respectively.</p> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>Historically, the referenced files carry the word <em>Model</em> in the filename: <code class="docutils literal notranslate"><span class="pre">VehicleModelsCatalog.xosc</span></code> and <code class="docutils literal notranslate"><span class="pre">PedestrianModelsCatalog.xosc</span></code></p> |
| </div> |
| </li> |
| </ul> |
| </li> |
| <li><p><strong>SimulationConfig</strong> (<code class="docutils literal notranslate"><span class="pre">simulationConfig.xml</span></code>)</p> |
| <p>This is the entry point for the simulation, containing the setup of the core, such as active observers, reference to the scenario, the initial random seed, and the number or invocations.</p> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>This file is normally of limited interest. |
| Yet, some variations, such as <em>environmental conditions</em> are historically placed in here and not in the scenario description. |
| It is therefore recommended to study the contents of this file.</p> |
| </div> |
| </li> |
| <li><p><strong>SystemConfigBlueprint</strong> (<code class="docutils literal notranslate"><span class="pre">systemConfigBlueprint.xml</span></code>)</p> |
| <p>This file is contains a superset of all possible <em>components</em> and their valid connections. |
| Such components can be lateral and longitudinal controllers, assistance systems, prioritizers, driver models, and so on. |
| Depending on the configured profiles and their probabilities, the core picks a subset of components to create one complete <em>system</em>.</p> |
| <div class="admonition warning"> |
| <p class="admonition-title">Warning</p> |
| <p>This file should not be changed without the proper (developer) expertise.</p> |
| </div> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>Instead of using an overall blueprint, concrete (static) systems can be specified using the same format. |
| These files are simply referred to as <code class="docutils literal notranslate"><span class="pre">SystemConfig</span></code> files.</p> |
| </div> |
| </li> |
| </ul> |
| <p>Some components need their own input files (e.g. a configuration). |
| It is convention to put these files also into the <code class="docutils literal notranslate"><span class="pre">configs</span></code> folder, which is internally provided as path to the components. |
| This helps to keep experiments separated.</p> |
| </div> |
| <div class="section" id="outputs"> |
| <h3>Outputs<a class="headerlink" href="#outputs" title="Permalink to this headline">¶</a></h3> |
| <p>Outputs are generated by individual observers, configured by the <strong>SimulationConfig</strong>, and collected within the folder <cite>results</cite>. |
| This section describes the output files by the <a class="reference internal" href="outputs/observation_log.html#observation-log"><span class="std std-ref">Observation_Log</span></a>, as configured by the provided example configurations.</p> |
| <p>Please refer to the documentation of the individual observers and files for more details.</p> |
| <ul> |
| <li><p><strong>Simulation Output</strong> (<code class="docutils literal notranslate"><span class="pre">simulationOutput.xml</span></code>)</p> |
| <p>This file acts as central entry point for further evaluation, such as the visualization. |
| It contains central information about all executed invocations within an experiment, such as the executed scenario and the run results, which can be seen as current values from the random sampling of the given probabilities. |
| As such, each run result contains, a list of participating moving entities (also referred to as agents), events related to the entities, such as collisions or activation of ADAS’s, and a reference to the <em>cyclics file</em>.</p> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>This file <strong>does not</strong> contain information about the actual position of agents.</p> |
| </div> |
| </li> |
| <li><p><strong>Cyclic Output</strong> (<code class="docutils literal notranslate"><span class="pre">Cyclics_Run_###.csv</span></code>)</p> |
| <p>This file contains the ground truth information for each agent at each time step. |
| For each invocation, a new file is generated (starting with <code class="docutils literal notranslate"><span class="pre">Cyclics_Run_000.csv</span></code> and referenced in the according run results in the <code class="docutils literal notranslate"><span class="pre">simulationOutput.xml</span></code>.</p> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>This file <strong>does not</strong> contain information about the interaction between agents.</p> |
| </div> |
| </li> |
| </ul> |
| <div class="admonition note"> |
| <p class="admonition-title">Note</p> |
| <p>The core generates a file called <code class="docutils literal notranslate"><span class="pre">opSimulation.log</span></code> at the execution path, which logs errors and warnings. |
| If the simulation behaves strange or did not produce any output, check this file.</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| </div> |
| |
| </div> |
| <footer> |
| <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> |
| <a href="20_tutorials.html" class="btn btn-neutral float-right" title="Tutorials" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> |
| <a href="../installation_guide/60_conan.html" class="btn btn-neutral float-left" title="Building with Conan" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> |
| </div> |
| |
| <hr/> |
| |
| <div role="contentinfo"> |
| <p> |
| © Copyright 2023 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 type="text/javascript"> |
| jQuery(function () { |
| SphinxRtdTheme.Navigation.enable(true); |
| }); |
| </script> |
| |
| |
| |
| |
| |
| |
| </body> |
| </html> |