Observation_EntityRepository

This observer logs all entities generated for an experiment, split by run and/or persistence. In the following, the parametrization and generated outputs of the Observation_EntityRepository observer are described.

Parametrization

Following parameters are supported:

Parameter

Type

Description

FilenamePrefix

String

(Optional) Prefix for the output files. Defaults to Repository resulting e.g. in Repository_Run_00.csv.

WritePersistentEntities

String

Defines how persistent, ie cross-run entities such as stationary objects, are logged

Options:

  • Consolidated (default): Logged together with non persistent entities and hence duplicated for each run.

  • Separate: Written once into {FilenamePrefix}_Persistent.csv

  • Skip: No output.

Warning

The visualization is searching for files with the default Repository prefix, so don’t change it unless you have a reason to.

Example

      <Library>Observation_EntityRepository</Library>
      <Parameters>
        <!-- If "FilenamePrefix" is skipped, defaults to Value="Repository" -->
        <String Key="FilenamePrefix" Value="Repository"/>
        <!-- If "WritePersistentEntities" is skipped, defaults to Value="Consolidated"
             Options: 
             - Consolidated: Concatenate with {FilenamePrefix}_Run_###.csv for each run
             - Separate: Write to {FilenamePrefix}_Persistent.csv
             - Skip: No output for persistent entities
        -->
        <String Key="WritePersistentEntities" Value="Consolidated"/>
      </Parameters>

Output Files

Repository_Run_###.csv

This file contains information about entities, which exist only within the given run. In other words, Repository_Run_000.csv will contain all moving objects, spawned within the first run (zero-based index).

Example

id

group

source

version

name

secondary id

type

subtype

0

MovingObject

OpenSCENARIO

Ego

Ego

1

MovingObject

OpenSCENARIO

TF

Scenaro

2

MovingObject

OpenSCENARIO

S1

Scenaro

3

MovingObject

OpenSCENARIO

S2

Scenaro

4

MovingObject

OpenSCENARIO

S3

Scenaro

5

MovingObject

OpenSCENARIO

Common

6

MovingObject

OpenSCENARIO

Common

7

MovingObject

OpenSCENARIO

Common

Note

By convention, moving objects start with id 0.

If WritePersistentEntities is set to Consolidated, each file will also contain information about stationary objects, described below.

Repository_Persistent.csv

This file contains information about entities, which exist in every single run. This includes mainly both objects (starting at 100000) and road elements (starting at 200000), defined by the Scenery.

Example

id

group

source

version

name

secondary id

type

subtype

100000

StationaryObject

OpenDRIVE

1.6

Barrier

barrier_01

obstacle

100001

StationaryObject

OpenDRIVE

1.6

GuardRail

guardrail_01

railing

100002

StationaryObject

OpenDRIVE

1.6

GuardRail

guardrail_01

railing

100003

StationaryObject

OpenDRIVE

1.6

GuardRail

guardrail_01

railing

100004

StationaryObject

OpenDRIVE

1.6

GuardRail

guardrail_01

railing

100005

StationaryObject

OpenDRIVE

1.6

GuardRail

guardrail_01

railing

100006

StationaryObject

OpenDRIVE

1.6

GuardRail

guardrail_02

railing

100007

StationaryObject

OpenDRIVE

1.6

GuardRail

guardrail_02

railing

100008

StationaryObject

OpenDRIVE

1.6

GuardRail

guardrail_02

railing

100009

StationaryObject

OpenDRIVE

1.6

GuardRail

guardrail_02

railing

100010

StationaryObject

OpenDRIVE

1.6

GuardRail

guardrail_02

railing

200000

Others

OpenDRIVE

1.6

LaneRoadMark

Solid

200001

Others

OpenDRIVE

1.6

LaneRoadMark

Solid

200002

Others

OpenDRIVE

1.6

Lane

-3

Driving

200003

Others

OpenDRIVE

1.6

LaneRoadMark

Broken

200004

Others

OpenDRIVE

1.6

Lane

-2

Driving

200005

Others

OpenDRIVE

1.6

LaneRoadMark

Broken

200006

Others

OpenDRIVE

1.6

Lane

-1

Driving

Information coming from the source OpenDRIVE are mapped in the following manner:

Attribute

Column

name

name

id

secondary id

type

type

subtype

subtype

Note

Repeated OpenDRIVE objects are internally split into individual objects. E.g. a single guard rail object in OpenDRIVE, is split into individual openPASS objects having consecutive ids. In the example above, the OpenDRIVE object with (secondary) id guardrail_01 is split into 5 individual openPASS objects with the closed id range from 100001 to 100005.