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 |
WritePersistentEntities |
String |
Defines how persistent, ie cross-run entities such as stationary objects, are logged Options:
|
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.