Skip to content
Snippets Groups Projects
Commit f2fcbc26 authored by David Weiß's avatar David Weiß Committed by Reinhard Biegel
Browse files

feat(Sensor_OSI): Add E2E test for sensor failure


Signed-off-by: default avatarWeiss David <david.weiss@in-tech.com>
parent a86ec562
No related branches found
No related tags found
No related merge requests found
<Profiles SchemaVersion="0.4.6">
<AgentProfiles>
<AgentProfile Name="MiddleClassCarAgent" Type="Dynamic">
<DriverProfiles>
<DriverProfile Name="StandingStill" Probability="1.0"/>
</DriverProfiles>
<VehicleProfiles>
<VehicleProfile Name="BMW 3 f30 2015" Probability="1.0"/>
</VehicleProfiles>
</AgentProfile>
</AgentProfiles>
<VehicleProfiles>
<VehicleProfile Name="BMW 3 f30 2015">
<Model Name="car_bmw_3"/>
<Components/>
<Sensors>
<Sensor Id="0">
<Position Height="0.5" Lateral="0.0" Longitudinal="0.0" Name="Default" Pitch="0.0" Roll="0.0" Yaw="0.0"/>
<Profile Name="Standard" Type="Geometric2D"/>
</Sensor>
</Sensors>
</VehicleProfile>
</VehicleProfiles>
<ProfileGroup Type="Driver">
<Profile Name="StandingStill">
<String Key="Type" Value="AlgorithmAgentFollowingDriverModel"/>
<String Key="AlgorithmLateralModule" Value="Algorithm_LateralAfdm"/>
<String Key="AlgorithmLongitudinalModule" Value="Algorithm_LongitudinalAfdm"/>
<Double Key="VelocityWish" Value="0.0"/>
<Double Key="Delta" Value="0.0"/>
<Double Key="TGapWish" Value="0.0"/>
<Double Key="MinDistance" Value="0.0"/>
<Double Key="MaxAcceleration" Value="1.4"/>
<Double Key="MaxDeceleration" Value="2.0"/>
</Profile>
</ProfileGroup>
<ProfileGroup Type="Geometric2D">
<Profile Name="Standard">
<Double Key="DetectionRange" Value="300"/>
<Bool Key="EnableVisualObstruction" Value="false"/>
<Double Key="FailureProbability" Value="0.5"/>
<NormalDistribution Key="Latency" Max="0.0" Mean="0.0" Min="0.0" SD="0.0"/>
<Double Key="OpeningAngleH" Value="0.35"/>
<Double Key="RequiredPercentageOfVisibleArea" Value="0.001"/>
</Profile>
</ProfileGroup>
<ProfileGroup Type="TrafficRules">
<Profile Name="Germany">
<Double Key="OpenSpeedLimit" Value="INF"/>
<Bool Key="KeepToOuterLanes" Value="true"/>
<Bool Key="DontOvertakeOnOuterLanes" Value="true"/>
<Bool Key="FormRescueLane" Value="true"/>
<Bool Key="ZipperMerge" Value="true"/>
</Profile>
<Profile Name="USA">
<Double Key="OpenSpeedLimit" Value="31.2928"/>
<Bool Key="KeepToOuterLanes" Value="false"/>
<Bool Key="DontOvertakeOnOuterLanes" Value="false"/>
<Bool Key="FormRescueLane" Value="true"/>
<Bool Key="ZipperMerge" Value="false"/>
</Profile>
<Profile Name="China">
<Double Key="OpenSpeedLimit" Value="33.3333"/>
<Bool Key="KeepToOuterLanes" Value="false"/>
<Bool Key="DontOvertakeOnOuterLanes" Value="true"/>
<Bool Key="FormRescueLane" Value="false"/>
<Bool Key="ZipperMerge" Value="true"/>
</Profile>
</ProfileGroup>
</Profiles>
<?xml version="1.0"?>
<OpenSCENARIO>
<FileHeader revMajor="1" revMinor="0" date="2020-06-26T00:17:00" description="Sensor_Failure" author="in-tech GmbH"/>
<ParameterDeclarations>
<ParameterDeclaration name="OP_OSC_SchemaVersion" parameterType="string" value="0.4.0"/>
</ParameterDeclarations>
<CatalogLocations>
<VehicleCatalog>
<Directory path="VehicleModelsCatalog.xosc"/>
</VehicleCatalog>
<PedestrianCatalog>
<Directory path="PedestrianModelsCatalog.xosc"/>
</PedestrianCatalog>
<ControllerCatalog>
<Directory path=""/>
</ControllerCatalog>
<ManeuverCatalog>
<Directory path=""/>
</ManeuverCatalog>
<MiscObjectCatalog>
<Directory path=""/>
</MiscObjectCatalog>
<EnvironmentCatalog>
<Directory path=""/>
</EnvironmentCatalog>
<TrajectoryCatalog>
<Directory path=""/>
</TrajectoryCatalog>
<RouteCatalog>
<Directory path=""/>
</RouteCatalog>
</CatalogLocations>
<RoadNetwork>
<LogicFile filepath="SceneryConfiguration.xodr"/>
<SceneGraphFile filepath=""/>
</RoadNetwork>
<Entities>
<ScenarioObject name="Ego">
<CatalogReference catalogName="ProfilesCatalog.xml" entryName="MiddleClassCarAgent"/>
</ScenarioObject>
<ScenarioObject name="ScenarioAgent">
<CatalogReference catalogName="ProfilesCatalog.xml" entryName="MiddleClassCarAgent"/>
</ScenarioObject>
<EntitySelection name="ScenarioAgents">
<Members>
<EntityRef entityRef="ScenarioAgent"/>
</Members>
</EntitySelection>
</Entities>
<Storyboard>
<Init>
<Actions>
<Private entityRef="Ego">
<PrivateAction>
<TeleportAction>
<Position>
<LanePosition roadId="1" laneId="-1" offset="0.0" s="0.0"/>
</Position>
</TeleportAction>
</PrivateAction>
<PrivateAction>
<LongitudinalAction>
<SpeedAction>
<SpeedActionDynamics dynamicsShape="linear" value="0.0" dynamicsDimension="rate"/>
<SpeedActionTarget>
<AbsoluteTargetSpeed value="0"/>
</SpeedActionTarget>
</SpeedAction>
</LongitudinalAction>
</PrivateAction>
</Private>
<Private entityRef="ScenarioAgent">
<PrivateAction>
<TeleportAction>
<Position>
<LanePosition roadId="1" laneId="-1" offset="0.0" s="100.0"/>
</Position>
</TeleportAction>
</PrivateAction>
<PrivateAction>
<LongitudinalAction>
<SpeedAction>
<SpeedActionDynamics dynamicsShape="linear" value="0.0" dynamicsDimension="rate"/>
<SpeedActionTarget>
<AbsoluteTargetSpeed value="0.0"/>
</SpeedActionTarget>
</SpeedAction>
</LongitudinalAction>
</PrivateAction>
</Private>
</Actions>
</Init>
<StopTrigger>
<ConditionGroup>
<Condition name="EndTime" delay="0" conditionEdge="rising">
<ByValueCondition>
<SimulationTimeCondition value="30.0" rule="greaterThan"/>
</ByValueCondition>
</Condition>
</ConditionGroup>
</StopTrigger>
</Storyboard>
</OpenSCENARIO>
<OpenDRIVE>
<header revMajor="1" revMinor="1" name="Testfile" version="1" date="Thu Feb 8 14:24:06 2007" north="2.0000000000000000e+003" south="-2.0000000000000000e+003" east="2.0000000000000000e+003" west="-2.0000000000000000e+003"/>
<road name="" length="5139.7188686309819" id="1" junction="-1">
<link/>
<planView>
<geometry s="0.0000000000000000e+000" x="0" y="7.5" hdg="0" length="4000">
<line/>
</geometry>
<geometry s="4000" x="4000" y="7.5" hdg="0" length="285">
<spiral curvStart="0.0000000000000000e+000" curvEnd="-0.0028500000000000066"/>
</geometry>
<geometry s="4285" x="4280.3350391612494" y="-30.629710830536482" hdg="-0.40612500000000096" length="183.7188686309816">
<arc curvature="-0.0028500000000000066"/>
</geometry>
<geometry s="4468.7188686309819" x="4422.9323279193268" y="-143.12204699500415" hdg="-0.92972377559829977" length="571">
<spiral curvStart="-0.0028500000000000066" curvEnd="0.0000000000000000e+000"/>
</geometry>
<geometry s="5039.7188686309819" x="4476.6651848689908" y="-694.88624436808436" hdg="-1.7453292519943295" length="100">
<line/>
</geometry>
</planView>
<elevationProfile/>
<lateralProfile/>
<lanes>
<laneSection s="0.0000000000000000e+000">
<left/>
<center>
<lane id="0" type="border" level="true">
<link>
</link>
<roadMark weight="standard" sOffset="0" type="solid" color="standard" width="0.12" laneChange="both"/>
</lane>
</center>
<right>
<lane id="-1" type="driving" level="true">
<link>
</link>
<width sOffset="0" a="3.75" b="0" c="0" d="0"/>
<roadMark weight="standard" sOffset="0" type="broken" color="standard" width="0.12" laneChange="both"/>
</lane>
<lane id="-2" type="driving" level="true">
<link>
</link>
<width sOffset="0" a="3.75" b="0" c="0" d="0"/>
<roadMark weight="standard" sOffset="0" type="solid" color="standard" width="0.12" laneChange="both"/>
</lane>
</right>
</laneSection>
</lanes>
<objects>
</objects>
<signals/>
</road>
</OpenDRIVE>
<simulationConfig SchemaVersion="0.8.2">
<ProfilesCatalog>ProfilesCatalog.xml</ProfilesCatalog>
<Experiment>
<ExperimentID>123</ExperimentID>
<NumberOfInvocations>1</NumberOfInvocations>
<RandomSeed>532725206</RandomSeed>
<Libraries>
<WorldLibrary>World_OSI</WorldLibrary>
</Libraries>
</Experiment>
<Scenario>
<OpenScenarioFile>Scenario.xosc</OpenScenarioFile>
</Scenario>
<Environment>
<TimeOfDays>
<TimeOfDay Probability="0.4" Value="15"/>
<TimeOfDay Probability="0.6" Value="18"/>
</TimeOfDays>
<VisibilityDistances>
<VisibilityDistance Probability="0.7" Value="300"/>
<VisibilityDistance Probability="0.3" Value="400"/>
</VisibilityDistances>
<Frictions>
<Friction Probability="1.0" Value="1.0"/>
</Frictions>
<Weathers>
<Weather Probability="0.5" Value="Rainy"/>
<Weather Probability="0.5" Value="Snowy"/>
</Weathers>
<TrafficRules>Germany</TrafficRules>
</Environment>
<Observations>
<Observation>
<Library>Observation_Log</Library>
<Parameters>
<String Key="OutputFilename" Value="simulationOutput.xml"/>
<Bool Key="LoggingCyclicsToCsv" Value="false"/>
<StringVector Key="LoggingGroup_Trace" Value="XPosition,YPosition,YawAngle"/>
<StringVector Key="LoggingGroup_RoadPosition" Value="AgentInFront,Lane,PositionRoute,Road,TCoordinate"/>
<StringVector Key="LoggingGroup_RoadPositionExtended" Value="SecondaryLanes"/>
<StringVector Key="LoggingGroup_Sensor" Value="Sensor*_DetectedAgents,Sensor*_VisibleAgents"/>
<StringVector Key="LoggingGroup_Vehicle" Value="AccelerationPedalPosition,BrakePedalPosition,EngineMoment,Gear,SteeringAngle,TotalDistanceTraveled,YawRate"/>
<StringVector Key="LoggingGroup_Visualization" Value="AccelerationEgo,BrakeLight,IndicatorState,LightStatus,VelocityEgo"/>
<StringVector Key="LoggingGroups" Value="Trace,Visualization,RoadPosition,Sensor"/>
</Parameters>
</Observation>
<Observation>
<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>
</Observation>
</Observations>
<Spawners>
<Spawner>
<Library>SpawnerScenario</Library>
<Type>PreRun</Type>
<Priority>1</Priority>
</Spawner>
</Spawners>
</simulationConfig>
......@@ -31,6 +31,8 @@ set(PYOPENPASS_SPECIALIZED_TEST_SCOPES
LocalizationOnJunction
PCM
Sensor_Latency
Sensor_Failure_Detected
Sensor_Failure_Undetected
)
# Generic test scopes
......
......@@ -275,6 +275,42 @@
[
"Sensor_Latency"
]
},
"Sensor_Failure_Detected":
{
"baseConfig":
{
"duration": 5,
"invocations": 2
},
"specialized":
{
"description": "Sensor detects scenario agent in some timestep.",
"query": "count(AgentId | AgentId==0 and Sensor0_DetectedAgents=='1') > 0",
"success_rate": 1
},
"configurations":
[
"Sensor_Failure"
]
},
"Sensor_Failure_Undetected":
{
"baseConfig":
{
"duration": 5,
"invocations": 2
},
"specialized":
{
"description": "Sensor does not detect scenario agent in some timestep.",
"query": "count(AgentId | AgentId==0 and Sensor0_DetectedAgents=='nan') > 0",
"success_rate": 1
},
"configurations":
[
"Sensor_Failure"
]
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment