Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automotive Simulator #136

Merged
merged 15 commits into from
Feb 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@
# simulated-sensor directory (Rhea)
/simulated-sensor @telina

# automotive-simulator directory (Rhea)
/automotive-simulator @telina

# leakage-test directory (Selcan AND Robert Or Lena)
/leakage-test @selcan-k
/leakage-test @robertschubert @lenasauermann
Expand Down
19 changes: 19 additions & 0 deletions automotive-simulator/VARIABLES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Variables of SHACL Files in this folder

## Prefixes

- automotive-simulator: <https://github.com/GAIA-X4PLC-AAD/ontology-management-base/tree/main/automotive-simulator/>
- simulated-sensor: <https://github.com/GAIA-X4PLC-AAD/ontology-management-base/tree/main/simulated-sensor/>

## List of SHACL Properties

| Shape | Property prefix | Property | MinCount | MaxCount | Description | Datatype/NodeKind | Filename |
| --- | --- | --- | --- | --- | --- | --- | --- |
| AutomotiveSimulatorShape | automotive-simulator | general | 1 | 1 | general object with properties for description and data | | automotive-simulator_shacl.ttl |
| AutomotiveSimulatorShape | automotive-simulator | simulatorMake | 1 | 1 | Make/Type of automotive simulator | <http://www.w3.org/2001/XMLSchema#string> | automotive-simulator_shacl.ttl |
| AutomotiveSimulatorShape | automotive-simulator | softwareVersion | 1 | 1 | Sofware version of the simulator | <http://www.w3.org/2001/XMLSchema#string> | automotive-simulator_shacl.ttl |
| AutomotiveSimulatorShape | automotive-simulator | sensorFailureFlag | 1 | 1 | If true, the simulator supports the simulation of sensor failures | <http://www.w3.org/2001/XMLSchema#boolean> | automotive-simulator_shacl.ttl |
| AutomotiveSimulatorShape | automotive-simulator | sensorAttackFlag | 1 | 1 | If true, the simulator supports the simulation of sensor attacks | <http://www.w3.org/2001/XMLSchema#boolean> | automotive-simulator_shacl.ttl |
| AutomotiveSimulatorShape | automotive-simulator | scenarioDefinition | 0 | | Description language for defining driving scenarios supported by the simulator | <http://www.w3.org/2001/XMLSchema#string> | automotive-simulator_shacl.ttl |
| AutomotiveSimulatorShape | automotive-simulator | interface | 0 | | Communcation interface provided by the simulator to communicate with different assets (e.g. agents/vehicle implementations) | <http://www.w3.org/2001/XMLSchema#string> | automotive-simulator_shacl.ttl |
| AutomotiveSimulatorShape | simulated-sensor | simulatedSensor | 0 | | Type and kinds of sensors that are natively included in the simulator | | automotive-simulator_shacl.ttl |
81 changes: 81 additions & 0 deletions automotive-simulator/automotive-simulator_instance.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
{
"@context": {
"general": "https://github.com/GAIA-X4PLC-AAD/ontology-management-base/tree/main/general/",
"simulated-sensor": "https://github.com/GAIA-X4PLC-AAD/ontology-management-base/tree/main/simulated-sensor/",
"automotive-simulator": "https://github.com/GAIA-X4PLC-AAD/ontology-management-base/tree/main/automotive-simulator/",
"sh": "http://www.w3.org/ns/shacl#",
"rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"skos": "http://www.w3.org/2004/02/skos/core#"
},
"@id": "TBD",
"@type": "automotive-simulator:AutomotiveSimulator",
"automotive-simulator:general": {
"@type": "general:General",
"general:description": {
"@type": "general:Description",
"general:name": {
"@value": "Sensor failure and attack simulation with a modified CARLA simulator",
"@type": "xsd:string"
},
"general:description": {
"@value": "An extension of the CARLA simulator by various degradation models for perceptionsensors that cover effects of internal failures, external failures and security attacks. Delivered as two docker files (preqrequiste and carla.docker)",
"@type": "xsd:string"
}
},
"general:data": {
"@type": "general:Data",
"general:size": {
"@value": 0.0004845,
"@type": "xsd:float"
}
},
"general:data": {
"@type": "general:Data",
"general:size": {
"@value": 0.001348,
"@type": "xsd:float"
}
}
},
"automotive-simulator:simulatorMake": "CARLA",
"automotive-simulator:softwareVersion": "0.9.15",
"automotive-simulator:sensorFailureFlag": true,
"automotive-simulator:sensorAttackFlag": true,
"automotive-simulator:scenarioDefinition": "ASAM openSCENARIO 2.x",
"automotive-simulator:scenarioDefinition": "ASAM openSCENARIO 1.x",
"automotive-simulator:scenarioDefinition": "scenic",
"automotive-simulator:interface": "ROS1",
"automotive-simulator:interface": "ROS2",
"automotive-simulator:interface": "TCP",
"simulated-sensor:SimulatedSensor": {
"simulated-sensor:sensorIdentifier": "sensor.other.radar",
"simulated-sensor:sensorType": {
"@type": "simulated-sensor:Radar"
}
},
"simulated-sensor:SimulatedSensor": {
"simulated-sensor:sensorIdentifier": "sensor.other.lidar",
"simulated-sensor:sensorType": {
"@type": "simulated-sensor:Lidar"
}
},
"simulated-sensor:SimulatedSensor": {
"simulated-sensor:sensorIdentifier": "sensor.camera.rgb",
"simulated-sensor:sensorType": {
"@type": "simulated-sensor:Camera",
"simulated-sensor:rgbFlag": true,
"simulated-sensor:3dflag": false,
"simulated-sensor:depthFlag": false
}
},
"simulated-sensor:SimulatedSensor": {
"simulated-sensor:sensorIdentifier": "sensor.camera.depth",
"simulated-sensor:sensorType": {
"@type": "simulated-sensor:Camera",
"simulated-sensor:rgbFlag": false,
"simulated-sensor:3dflag": false,
"simulated-sensor:depthFlag": true
}
}
}
21 changes: 21 additions & 0 deletions automotive-simulator/automotive-simulator_ontology.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix gax-core: <https://w3id.org/gaia-x/core#> .
@prefix gx: <https://registry.lab.gaia-x.eu/development/api/trusted-shape-registry/v1/shapes/jsonld/trustframework#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix automotive-simulator: <https://github.com/GAIA-X4PLC-AAD/ontology-management-base/tree/main/automotive-simulator/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix openlabel: <https://openlabel.asam.net/V1-0-0/ontologies/> .

automotive-simulator: a owl:Ontology ;
rdfs:label "Ontology definition for automotive-simulator"@en ;
dcterms:contributor "Rhea C. Rinaldo (IQZ), Aaron Blickle (IQZ), Johannes Heinrich (IQZ), Elias Modrakowski (DLR)" ;
dcterms:creator "The GAIA-X 4 PLC AAD Project Team" ;
dcterms:identifier "https://github.com/GAIA-X4PLC-AAD/ontology-management-base/tree/main/automotive-simulator/" ;
owl:versionIRI <https://github.com/GAIA-X4PLC-AAD/ontology-management-base/blob/automotive_simulator/automotive-simulator/automotive_simulator_ontology.ttl> ;
owl:versionInfo "0.1" .

automotive-simulator:AutomotiveSimulator a owl:Class ;
rdfs:label "class definition for automotive simulators"@en ;
rdfs:comment "An implementation of an automotive simulator"@en ;
rdfs:subClassOf gx:DataResource .
95 changes: 95 additions & 0 deletions automotive-simulator/automotive-simulator_shacl.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
@prefix automotive-simulator: <https://github.com/GAIA-X4PLC-AAD/ontology-management-base/tree/main/automotive-simulator/> .
@prefix general: <https://github.com/GAIA-X4PLC-AAD/ontology-management-base/tree/main/general/> .
@prefix simulated-sensor: <https://github.com/GAIA-X4PLC-AAD/ontology-management-base/tree/main/simulated-sensor/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

automotive-simulator:AutomotiveSimulatorShape a sh:NodeShape ;
sh:targetClass automotive-simulator:AutomotiveSimulator ;
# General shape (mandatory)
sh:property [
sh:node general:GeneralShape ;
sh:name "general object" ;
sh:path automotive-simulator:general ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:order 0 ;
sh:description "general object with properties for description and data" ;
] ;
# simulator type/make (String, mandatory)
sh:property [
skos:example "CARLA" ;
sh:path automotive-simulator:simulatorMake ;
sh:datatype xsd:string ;
sh:minCount 1 ;
sh:maxCount 1 ;
sh:name "simulator make"@en ;
sh:order 1 ;
sh:description "Make/Type of automotive simulator" ;
] ;
# software version (String, mandatory)
sh:property [
skos:example "0.9.15" ;
sh:path automotive-simulator:softwareVersion ;
sh:datatype xsd:string ;
sh:minCount 1 ;
sh:maxCount 1 ;
sh:name "software version"@en ;
sh:order 2 ;
sh:description "Sofware version of the simulator" ;
] ;
# Sensor Failure Flag (Boolean, mandatory)
sh:property [
skos:example "true" ;
sh:path automotive-simulator:sensorFailureFlag ;
sh:datatype xsd:boolean ;
sh:minCount 1 ;
sh:maxCount 1 ;
sh:name "sensor failure flag"@en ;
sh:order 3 ;
sh:description "If true, the simulator supports the simulation of sensor failures" ;
] ;
# Sensor Attack Flag (Boolean, mandatory)
sh:property [
skos:example "true" ;
sh:path automotive-simulator:sensorAttackFlag ;
sh:datatype xsd:boolean ;
sh:minCount 1 ;
sh:maxCount 1 ;
sh:name "sensor attack flag"@en ;
sh:order 5 ;
sh:description "If true, the simulator supports the simulation of sensor attacks" ;
] ;
# Open Scenario Version (List, optional)
sh:property [
skos:example "ASAM openSCENARIO 1.x" ;
sh:path automotive-simulator:scenarioDefinition ;
sh:datatype xsd:string ;
sh:in ("ASAM openSCENARIO 1.x" "ASAM openSCENARIO 2.x" "proprietary" "scenic") ;
sh:minCount 0 ;
sh:name "scenario definition"@en ;
sh:order 6 ;
sh:description "Description language for defining driving scenarios supported by the simulator" ;
] ;
# Open Scenario Version (List, optional)
sh:property [
skos:example "TCP" ;
sh:path automotive-simulator:interface ;
sh:datatype xsd:string ;
sh:in ("PythonAPI" "TCP" "UDP" "ROS1" "ROS2") ;
sh:minCount 0 ;
sh:name "interface"@en ;
sh:order 7 ;
sh:description "Communcation interface provided by the simulator to communicate with different assets (e.g. agents/vehicle implementations)" ;
] ;
# Sensor type(s) (optional, can be multiple)
sh:property [
sh:node simulated-sensor:SimulatedSensor ;
skos:example "Radar" ;
sh:path simulated-sensor:simulatedSensor ;
sh:minCount 0 ;
sh:name "simulated sensor"@en ;
sh:order 8 ;
sh:description "Type and kinds of sensors that are natively included in the simulator" ;
] .