From 309ff0bc586be9b8d60c69f180de1a7caa63e395 Mon Sep 17 00:00:00 2001 From: ClemensLinnhoff Date: Wed, 26 Jun 2024 14:37:52 +0200 Subject: [PATCH] Add requirements to readme and add rules accordingly Signed-off-by: ClemensLinnhoff --- README.md | 34 ++-- rules/input_rules/osi_common.yml | 131 +++++++++++++++ rules/input_rules/osi_datarecording.yml | 4 + rules/input_rules/osi_detectedlane.yml | 22 +++ rules/input_rules/osi_detectedobject.yml | 66 ++++++++ rules/input_rules/osi_detectedoccupant.yml | 8 + rules/input_rules/osi_detectedroadmarking.yml | 11 ++ .../input_rules/osi_detectedtrafficlight.yml | 11 ++ rules/input_rules/osi_detectedtrafficsign.yml | 23 +++ rules/input_rules/osi_environment.yml | 34 ++++ rules/input_rules/osi_featuredata.yml | 149 ++++++++++++++++++ rules/input_rules/osi_groundtruth.yml | 29 ++++ rules/input_rules/osi_hostvehicledata.yml | 59 +++++++ rules/input_rules/osi_lane.yml | 90 +++++++++++ .../input_rules/osi_logicaldetectiondata.yml | 33 ++++ rules/input_rules/osi_logicallane.yml | 68 ++++++++ rules/input_rules/osi_motionrequest.yml | 16 ++ rules/input_rules/osi_object.yml | 110 +++++++++++++ rules/input_rules/osi_occupant.yml | 9 ++ rules/input_rules/osi_referenceline.yml | 10 ++ rules/input_rules/osi_roadmarking.yml | 81 ++++++++++ rules/input_rules/osi_route.yml | 11 ++ rules/input_rules/osi_sensordata.yml | 40 +++++ rules/input_rules/osi_sensorspecific.yml | 14 ++ rules/input_rules/osi_sensorview.yml | 45 ++++++ .../osi_sensorviewconfiguration.yml | 88 +++++++++++ rules/input_rules/osi_streamingupdate.yml | 12 ++ rules/input_rules/osi_trafficcommand.yml | 78 +++++++++ .../input_rules/osi_trafficcommandupdate.yml | 11 ++ rules/input_rules/osi_trafficlight.yml | 19 +++ rules/input_rules/osi_trafficsign.yml | 51 ++++++ rules/input_rules/osi_trafficupdate.yml | 7 + rules/input_rules/osi_version.yml | 5 + .../input_rules/schema/osi_common_schema.yml | 135 ++++++++++++++++ .../schema/osi_datarecording_schema.yml | 21 +++ .../schema/osi_detectedlane_schema.yml | 33 ++++ .../schema/osi_detectedobject_schema.yml | 57 +++++++ .../schema/osi_detectedoccupant_schema.yml | 23 +++ .../schema/osi_detectedroadmarking_schema.yml | 26 +++ .../osi_detectedtrafficlight_schema.yml | 26 +++ .../schema/osi_detectedtrafficsign_schema.yml | 36 +++++ .../schema/osi_environment_schema.yml | 41 +++++ .../schema/osi_featuredata_schema.yml | 128 +++++++++++++++ .../schema/osi_groundtruth_schema.yml | 41 +++++ .../schema/osi_hostvehicledata_schema.yml | 76 +++++++++ rules/input_rules/schema/osi_lane_schema.yml | 59 +++++++ .../osi_logicaldetectiondata_schema.yml | 39 +++++ .../schema/osi_logicallane_schema.yml | 73 +++++++++ .../schema/osi_motionrequest_schema.yml | 31 ++++ .../input_rules/schema/osi_object_schema.yml | 101 ++++++++++++ .../schema/osi_occupant_schema.yml | 25 +++ .../schema/osi_referenceline_schema.yml | 25 +++ .../schema/osi_roadmarking_schema.yml | 36 +++++ rules/input_rules/schema/osi_route_schema.yml | 26 +++ .../schema/osi_sensordata_schema.yml | 53 +++++++ .../schema/osi_sensorspecific_schema.yml | 28 ++++ .../schema/osi_sensorview_schema.yml | 56 +++++++ .../osi_sensorviewconfiguration_schema.yml | 88 +++++++++++ .../schema/osi_streamingupdate_schema.yml | 27 ++++ .../schema/osi_trafficcommand_schema.yml | 91 +++++++++++ .../osi_trafficcommandupdate_schema.yml | 25 +++ .../schema/osi_trafficlight_schema.yml | 32 ++++ .../schema/osi_trafficsign_schema.yml | 63 ++++++++ .../schema/osi_trafficupdate_schema.yml | 22 +++ .../input_rules/schema/osi_version_schema.yml | 22 +++ rules/output_rules/osi_common.yml | 130 +++++++++++++++ rules/output_rules/osi_datarecording.yml | 4 + rules/output_rules/osi_detectedlane.yml | 22 +++ rules/output_rules/osi_detectedobject.yml | 69 ++++++++ rules/output_rules/osi_detectedoccupant.yml | 8 + .../output_rules/osi_detectedroadmarking.yml | 11 ++ .../output_rules/osi_detectedtrafficlight.yml | 11 ++ .../output_rules/osi_detectedtrafficsign.yml | 23 +++ rules/output_rules/osi_environment.yml | 34 ++++ rules/output_rules/osi_featuredata.yml | 149 ++++++++++++++++++ rules/output_rules/osi_groundtruth.yml | 29 ++++ rules/output_rules/osi_hostvehicledata.yml | 59 +++++++ rules/output_rules/osi_lane.yml | 90 +++++++++++ .../output_rules/osi_logicaldetectiondata.yml | 33 ++++ rules/output_rules/osi_logicallane.yml | 68 ++++++++ rules/output_rules/osi_motionrequest.yml | 16 ++ rules/output_rules/osi_object.yml | 110 +++++++++++++ rules/output_rules/osi_occupant.yml | 9 ++ rules/output_rules/osi_referenceline.yml | 10 ++ rules/output_rules/osi_roadmarking.yml | 81 ++++++++++ rules/output_rules/osi_route.yml | 11 ++ rules/output_rules/osi_sensordata.yml | 40 +++++ rules/output_rules/osi_sensorspecific.yml | 14 ++ rules/output_rules/osi_sensorview.yml | 45 ++++++ .../osi_sensorviewconfiguration.yml | 88 +++++++++++ rules/output_rules/osi_streamingupdate.yml | 12 ++ rules/output_rules/osi_trafficcommand.yml | 78 +++++++++ .../output_rules/osi_trafficcommandupdate.yml | 11 ++ rules/output_rules/osi_trafficlight.yml | 19 +++ rules/output_rules/osi_trafficsign.yml | 51 ++++++ rules/output_rules/osi_trafficupdate.yml | 7 + rules/output_rules/osi_version.yml | 5 + .../output_rules/schema/osi_common_schema.yml | 135 ++++++++++++++++ .../schema/osi_datarecording_schema.yml | 21 +++ .../schema/osi_detectedlane_schema.yml | 33 ++++ .../schema/osi_detectedobject_schema.yml | 57 +++++++ .../schema/osi_detectedoccupant_schema.yml | 23 +++ .../schema/osi_detectedroadmarking_schema.yml | 26 +++ .../osi_detectedtrafficlight_schema.yml | 26 +++ .../schema/osi_detectedtrafficsign_schema.yml | 36 +++++ .../schema/osi_environment_schema.yml | 41 +++++ .../schema/osi_featuredata_schema.yml | 128 +++++++++++++++ .../schema/osi_groundtruth_schema.yml | 41 +++++ .../schema/osi_hostvehicledata_schema.yml | 76 +++++++++ rules/output_rules/schema/osi_lane_schema.yml | 59 +++++++ .../osi_logicaldetectiondata_schema.yml | 39 +++++ .../schema/osi_logicallane_schema.yml | 73 +++++++++ .../schema/osi_motionrequest_schema.yml | 31 ++++ .../output_rules/schema/osi_object_schema.yml | 101 ++++++++++++ .../schema/osi_occupant_schema.yml | 25 +++ .../schema/osi_referenceline_schema.yml | 25 +++ .../schema/osi_roadmarking_schema.yml | 36 +++++ .../output_rules/schema/osi_route_schema.yml | 26 +++ .../schema/osi_sensordata_schema.yml | 53 +++++++ .../schema/osi_sensorspecific_schema.yml | 28 ++++ .../schema/osi_sensorview_schema.yml | 56 +++++++ .../osi_sensorviewconfiguration_schema.yml | 88 +++++++++++ .../schema/osi_streamingupdate_schema.yml | 27 ++++ .../schema/osi_trafficcommand_schema.yml | 91 +++++++++++ .../osi_trafficcommandupdate_schema.yml | 25 +++ .../schema/osi_trafficlight_schema.yml | 32 ++++ .../schema/osi_trafficsign_schema.yml | 63 ++++++++ .../schema/osi_trafficupdate_schema.yml | 22 +++ .../schema/osi_version_schema.yml | 22 +++ 129 files changed, 5841 insertions(+), 15 deletions(-) create mode 100644 rules/input_rules/osi_common.yml create mode 100644 rules/input_rules/osi_datarecording.yml create mode 100644 rules/input_rules/osi_detectedlane.yml create mode 100644 rules/input_rules/osi_detectedobject.yml create mode 100644 rules/input_rules/osi_detectedoccupant.yml create mode 100644 rules/input_rules/osi_detectedroadmarking.yml create mode 100644 rules/input_rules/osi_detectedtrafficlight.yml create mode 100644 rules/input_rules/osi_detectedtrafficsign.yml create mode 100644 rules/input_rules/osi_environment.yml create mode 100644 rules/input_rules/osi_featuredata.yml create mode 100644 rules/input_rules/osi_groundtruth.yml create mode 100644 rules/input_rules/osi_hostvehicledata.yml create mode 100644 rules/input_rules/osi_lane.yml create mode 100644 rules/input_rules/osi_logicaldetectiondata.yml create mode 100644 rules/input_rules/osi_logicallane.yml create mode 100644 rules/input_rules/osi_motionrequest.yml create mode 100644 rules/input_rules/osi_object.yml create mode 100644 rules/input_rules/osi_occupant.yml create mode 100644 rules/input_rules/osi_referenceline.yml create mode 100644 rules/input_rules/osi_roadmarking.yml create mode 100644 rules/input_rules/osi_route.yml create mode 100644 rules/input_rules/osi_sensordata.yml create mode 100644 rules/input_rules/osi_sensorspecific.yml create mode 100644 rules/input_rules/osi_sensorview.yml create mode 100644 rules/input_rules/osi_sensorviewconfiguration.yml create mode 100644 rules/input_rules/osi_streamingupdate.yml create mode 100644 rules/input_rules/osi_trafficcommand.yml create mode 100644 rules/input_rules/osi_trafficcommandupdate.yml create mode 100644 rules/input_rules/osi_trafficlight.yml create mode 100644 rules/input_rules/osi_trafficsign.yml create mode 100644 rules/input_rules/osi_trafficupdate.yml create mode 100644 rules/input_rules/osi_version.yml create mode 100644 rules/input_rules/schema/osi_common_schema.yml create mode 100644 rules/input_rules/schema/osi_datarecording_schema.yml create mode 100644 rules/input_rules/schema/osi_detectedlane_schema.yml create mode 100644 rules/input_rules/schema/osi_detectedobject_schema.yml create mode 100644 rules/input_rules/schema/osi_detectedoccupant_schema.yml create mode 100644 rules/input_rules/schema/osi_detectedroadmarking_schema.yml create mode 100644 rules/input_rules/schema/osi_detectedtrafficlight_schema.yml create mode 100644 rules/input_rules/schema/osi_detectedtrafficsign_schema.yml create mode 100644 rules/input_rules/schema/osi_environment_schema.yml create mode 100644 rules/input_rules/schema/osi_featuredata_schema.yml create mode 100644 rules/input_rules/schema/osi_groundtruth_schema.yml create mode 100644 rules/input_rules/schema/osi_hostvehicledata_schema.yml create mode 100644 rules/input_rules/schema/osi_lane_schema.yml create mode 100644 rules/input_rules/schema/osi_logicaldetectiondata_schema.yml create mode 100644 rules/input_rules/schema/osi_logicallane_schema.yml create mode 100644 rules/input_rules/schema/osi_motionrequest_schema.yml create mode 100644 rules/input_rules/schema/osi_object_schema.yml create mode 100644 rules/input_rules/schema/osi_occupant_schema.yml create mode 100644 rules/input_rules/schema/osi_referenceline_schema.yml create mode 100644 rules/input_rules/schema/osi_roadmarking_schema.yml create mode 100644 rules/input_rules/schema/osi_route_schema.yml create mode 100644 rules/input_rules/schema/osi_sensordata_schema.yml create mode 100644 rules/input_rules/schema/osi_sensorspecific_schema.yml create mode 100644 rules/input_rules/schema/osi_sensorview_schema.yml create mode 100644 rules/input_rules/schema/osi_sensorviewconfiguration_schema.yml create mode 100644 rules/input_rules/schema/osi_streamingupdate_schema.yml create mode 100644 rules/input_rules/schema/osi_trafficcommand_schema.yml create mode 100644 rules/input_rules/schema/osi_trafficcommandupdate_schema.yml create mode 100644 rules/input_rules/schema/osi_trafficlight_schema.yml create mode 100644 rules/input_rules/schema/osi_trafficsign_schema.yml create mode 100644 rules/input_rules/schema/osi_trafficupdate_schema.yml create mode 100644 rules/input_rules/schema/osi_version_schema.yml create mode 100644 rules/output_rules/osi_common.yml create mode 100644 rules/output_rules/osi_datarecording.yml create mode 100644 rules/output_rules/osi_detectedlane.yml create mode 100644 rules/output_rules/osi_detectedobject.yml create mode 100644 rules/output_rules/osi_detectedoccupant.yml create mode 100644 rules/output_rules/osi_detectedroadmarking.yml create mode 100644 rules/output_rules/osi_detectedtrafficlight.yml create mode 100644 rules/output_rules/osi_detectedtrafficsign.yml create mode 100644 rules/output_rules/osi_environment.yml create mode 100644 rules/output_rules/osi_featuredata.yml create mode 100644 rules/output_rules/osi_groundtruth.yml create mode 100644 rules/output_rules/osi_hostvehicledata.yml create mode 100644 rules/output_rules/osi_lane.yml create mode 100644 rules/output_rules/osi_logicaldetectiondata.yml create mode 100644 rules/output_rules/osi_logicallane.yml create mode 100644 rules/output_rules/osi_motionrequest.yml create mode 100644 rules/output_rules/osi_object.yml create mode 100644 rules/output_rules/osi_occupant.yml create mode 100644 rules/output_rules/osi_referenceline.yml create mode 100644 rules/output_rules/osi_roadmarking.yml create mode 100644 rules/output_rules/osi_route.yml create mode 100644 rules/output_rules/osi_sensordata.yml create mode 100644 rules/output_rules/osi_sensorspecific.yml create mode 100644 rules/output_rules/osi_sensorview.yml create mode 100644 rules/output_rules/osi_sensorviewconfiguration.yml create mode 100644 rules/output_rules/osi_streamingupdate.yml create mode 100644 rules/output_rules/osi_trafficcommand.yml create mode 100644 rules/output_rules/osi_trafficcommandupdate.yml create mode 100644 rules/output_rules/osi_trafficlight.yml create mode 100644 rules/output_rules/osi_trafficsign.yml create mode 100644 rules/output_rules/osi_trafficupdate.yml create mode 100644 rules/output_rules/osi_version.yml create mode 100644 rules/output_rules/schema/osi_common_schema.yml create mode 100644 rules/output_rules/schema/osi_datarecording_schema.yml create mode 100644 rules/output_rules/schema/osi_detectedlane_schema.yml create mode 100644 rules/output_rules/schema/osi_detectedobject_schema.yml create mode 100644 rules/output_rules/schema/osi_detectedoccupant_schema.yml create mode 100644 rules/output_rules/schema/osi_detectedroadmarking_schema.yml create mode 100644 rules/output_rules/schema/osi_detectedtrafficlight_schema.yml create mode 100644 rules/output_rules/schema/osi_detectedtrafficsign_schema.yml create mode 100644 rules/output_rules/schema/osi_environment_schema.yml create mode 100644 rules/output_rules/schema/osi_featuredata_schema.yml create mode 100644 rules/output_rules/schema/osi_groundtruth_schema.yml create mode 100644 rules/output_rules/schema/osi_hostvehicledata_schema.yml create mode 100644 rules/output_rules/schema/osi_lane_schema.yml create mode 100644 rules/output_rules/schema/osi_logicaldetectiondata_schema.yml create mode 100644 rules/output_rules/schema/osi_logicallane_schema.yml create mode 100644 rules/output_rules/schema/osi_motionrequest_schema.yml create mode 100644 rules/output_rules/schema/osi_object_schema.yml create mode 100644 rules/output_rules/schema/osi_occupant_schema.yml create mode 100644 rules/output_rules/schema/osi_referenceline_schema.yml create mode 100644 rules/output_rules/schema/osi_roadmarking_schema.yml create mode 100644 rules/output_rules/schema/osi_route_schema.yml create mode 100644 rules/output_rules/schema/osi_sensordata_schema.yml create mode 100644 rules/output_rules/schema/osi_sensorspecific_schema.yml create mode 100644 rules/output_rules/schema/osi_sensorview_schema.yml create mode 100644 rules/output_rules/schema/osi_sensorviewconfiguration_schema.yml create mode 100644 rules/output_rules/schema/osi_streamingupdate_schema.yml create mode 100644 rules/output_rules/schema/osi_trafficcommand_schema.yml create mode 100644 rules/output_rules/schema/osi_trafficcommandupdate_schema.yml create mode 100644 rules/output_rules/schema/osi_trafficlight_schema.yml create mode 100644 rules/output_rules/schema/osi_trafficsign_schema.yml create mode 100644 rules/output_rules/schema/osi_trafficupdate_schema.yml create mode 100644 rules/output_rules/schema/osi_version_schema.yml diff --git a/README.md b/README.md index ff886a1..55ce594 100644 --- a/README.md +++ b/README.md @@ -34,24 +34,28 @@ The detection of moving objects, stationary objects, traffic signs and traffic l ### Input: Required Fields in OSI3::SensorView -- `sensor_view.mounting_position` -- `sensor_view.global_ground_truth.timestamp` -- `sensor_view.global_ground_truth.host_vehicle_id` -- `sensor_view.global_ground_truth.stationary_object.id` -- `sensor_view.global_ground_truth.stationary_object.base.position` -- `sensor_view.global_ground_truth.stationary_object.base.orientation` -- `sensor_view.global_ground_truth.stationary_object.base.dimension` +| OSI Message | Required / Optional | +|------------------------------------------------------------------|---------------------| +| `sensor_view.mounting_position` | required | +| `sensor_view.global_ground_truth.timestamp` | required | +| `sensor_view.global_ground_truth.host_vehicle_id` | required | +| `sensor_view.global_ground_truth.moving_object.id` | required | +| `sensor_view.global_ground_truth.moving_object.base.position` | required | +| `sensor_view.global_ground_truth.moving_object.base.orientation` | required | +| `sensor_view.global_ground_truth.moving_object.base.dimension` | required | ### Output: Fields in OSI3::SensorData Filled by the Sensor Model -- `sensor_data.timestamp` -- `sensor_data.moving_object.header.ground_truth_id` -- `sensor_data.moving_object.header.tracking_id` -- `sensor_data.moving_object.header.existence_probability` -- `sensor_data.moving_object.header.measurement_state` -- `sensor_data.moving_object.header.sensor_id` -- `sensor_data.moving_object.base.position` -- `sensor_data.moving_object.base.dimension` +| OSI Message | Required / Optional | +|----------------------------------------------------------|---------------------| +| `sensor_data.timestamp` | required | +| `sensor_data.moving_object.header.ground_truth_id` | required | +| `sensor_data.moving_object.header.tracking_id` | required | +| `sensor_data.moving_object.header.existence_probability` | required | +| `sensor_data.moving_object.header.measurement_state` | required | +| `sensor_data.moving_object.header.sensor_id` | required | +| `sensor_data.moving_object.base.position` | required | +| `sensor_data.moving_object.base.dimension` | required | ## Build Instructions diff --git a/rules/input_rules/osi_common.yml b/rules/input_rules/osi_common.yml new file mode 100644 index 0000000..98cccc3 --- /dev/null +++ b/rules/input_rules/osi_common.yml @@ -0,0 +1,131 @@ +Vector3d: + x: + y: + z: +Vector2d: + x: + y: +Timestamp: + seconds: + - is_greater_than_or_equal_to: 0 + nanos: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 999999999 +Dimension3d: + length: + - is_greater_than_or_equal_to: 0 + width: + - is_greater_than_or_equal_to: 0 + height: + - is_greater_than_or_equal_to: 0 +Orientation3d: + roll: + pitch: + yaw: +Identifier: + value: + - is_greater_than_or_equal_to: 0 +ExternalReference: + reference: + type: + - is_set: + identifier: +MountingPosition: + position: + orientation: +Spherical3d: + distance: + - is_greater_than_or_equal_to: 0 + azimuth: + elevation: +LogicalLaneAssignment: + assigned_lane_id: + - refers_to: LogicalLane + s_position: + t_position: + angle_to_lane: +BoundingBox: + dimension: + position: + orientation: + contained_object_type: + model_reference: +BaseStationary: + dimension: + position: + orientation: + base_polygon: + bounding_box_section: +BaseMoving: + dimension: + - is_set: + position: + - is_set: + orientation: + - is_set: + velocity: + acceleration: + orientation_rate: + orientation_acceleration: + base_polygon: + bounding_box_section: +StatePoint: + timestamp: + position: + orientation: +WavelengthData: + start: + end: + samples_number: +SpatialSignalStrength: + horizontal_angle: + vertical_angle: + signal_strength: +ColorDescription: + grey: + rgb: + rgbir: + hsv: + luv: + cmyk: +ColorGrey: + grey: +ColorRGB: + red: + green: + blue: +ColorRGBIR: + red: + green: + blue: + infrared: +ColorHSV: + hue: + saturation: + value: +ColorLUV: + luminance: + u: + v: +ColorCMYK: + cyan: + magenta: + yellow: + key: +Pedalry: + pedal_position_acceleration: + pedal_position_brake: + pedal_position_clutch: +VehicleSteeringWheel: + angle: + angular_speed: + torque: +GeodeticPosition: + longitude: + latitude: + altitude: +KeyValuePair: + key: + value: +Polygon3d: + vertex: diff --git a/rules/input_rules/osi_datarecording.yml b/rules/input_rules/osi_datarecording.yml new file mode 100644 index 0000000..65ca3b5 --- /dev/null +++ b/rules/input_rules/osi_datarecording.yml @@ -0,0 +1,4 @@ +SensorDataSeries: + sensor_data: +SensorDataSeriesList: + sensor: diff --git a/rules/input_rules/osi_detectedlane.yml b/rules/input_rules/osi_detectedlane.yml new file mode 100644 index 0000000..17e2899 --- /dev/null +++ b/rules/input_rules/osi_detectedlane.yml @@ -0,0 +1,22 @@ +DetectedLane: + header: + candidate: + CandidateLane: + probability: + - is_less_than_or_equal_to: 1 + - is_greater_than_or_equal_to: 0 + classification: +DetectedLaneBoundary: + header: + candidate: + boundary_line: + boundary_line_rmse: + boundary_line_confidences: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + color_description: + CandidateLaneBoundary: + probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + classification: diff --git a/rules/input_rules/osi_detectedobject.yml b/rules/input_rules/osi_detectedobject.yml new file mode 100644 index 0000000..79be0fa --- /dev/null +++ b/rules/input_rules/osi_detectedobject.yml @@ -0,0 +1,66 @@ +DetectedItemHeader: + tracking_id: + - is_set: + ground_truth_id: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + age: + measurement_state: + sensor_id: +DetectedStationaryObject: + header: + base: + base_rmse: + candidate: + color_description: + radar_specifics: + lidar_specifics: + camera_specifics: + ultrasonic_specifics: + CandidateStationaryObject: + probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + classification: +DetectedMovingObject: + header: + base: + base_rmse: + reference_point: + movement_state: + percentage_side_lane_left: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 100 + percentage_side_lane_right: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 100 + candidate: + color_description: + radar_specifics: + lidar_specifics: + camera_specifics: + ultrasonic_specifics: + CandidateMovingObject: + probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + type: + vehicle_classification: + - check_if: + - is_equal_to: 2 + target: this.type + do_check: + - is_set: + head_pose: + - check_if: + - is_equal_to: 3 + target: this.type + do_check: + - is_set: + upper_body_pose: + - check_if: + - is_equal_to: 3 + target: this.type + do_check: + - is_set: diff --git a/rules/input_rules/osi_detectedoccupant.yml b/rules/input_rules/osi_detectedoccupant.yml new file mode 100644 index 0000000..b41e5a9 --- /dev/null +++ b/rules/input_rules/osi_detectedoccupant.yml @@ -0,0 +1,8 @@ +DetectedOccupant: + header: + candidate: + CandidateOccupant: + probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + classification: diff --git a/rules/input_rules/osi_detectedroadmarking.yml b/rules/input_rules/osi_detectedroadmarking.yml new file mode 100644 index 0000000..a934bd2 --- /dev/null +++ b/rules/input_rules/osi_detectedroadmarking.yml @@ -0,0 +1,11 @@ +DetectedRoadMarking: + header: + base: + base_rmse: + candidate: + color_description: + CandidateRoadMarking: + probability: + - is_less_than_or_equal_to: 1 + - is_greater_than_or_equal_to: 0 + classification: diff --git a/rules/input_rules/osi_detectedtrafficlight.yml b/rules/input_rules/osi_detectedtrafficlight.yml new file mode 100644 index 0000000..e4e48cc --- /dev/null +++ b/rules/input_rules/osi_detectedtrafficlight.yml @@ -0,0 +1,11 @@ +DetectedTrafficLight: + header: + base: + base_rmse: + candidate: + color_description: + CandidateTrafficLight: + probability: + - is_less_than_or_equal_to: 1 + - is_greater_than_or_equal_to: 0 + classification: diff --git a/rules/input_rules/osi_detectedtrafficsign.yml b/rules/input_rules/osi_detectedtrafficsign.yml new file mode 100644 index 0000000..c5640cb --- /dev/null +++ b/rules/input_rules/osi_detectedtrafficsign.yml @@ -0,0 +1,23 @@ +DetectedTrafficSign: + header: + main_sign: + supplementary_sign: + DetectedMainSign: + candidate: + base: + base_rmse: + geometry: + CandidateMainSign: + probability: + - is_less_than_or_equal_to: 1 + - is_greater_than_or_equal_to: 0 + classification: + DetectedSupplementarySign: + candidate: + base: + base_rmse: + CandidateSupplementarySign: + probability: + - is_less_than_or_equal_to: 1 + - is_greater_than_or_equal_to: 0 + classification: diff --git a/rules/input_rules/osi_environment.yml b/rules/input_rules/osi_environment.yml new file mode 100644 index 0000000..57f3998 --- /dev/null +++ b/rules/input_rules/osi_environment.yml @@ -0,0 +1,34 @@ +EnvironmentalConditions: + ambient_illumination: + time_of_day: + unix_timestamp: + atmospheric_pressure: + - is_greater_than_or_equal_to: 80000 + - is_less_than_or_equal_to: 120000 + temperature: + - is_greater_than_or_equal_to: 170 + - is_less_than_or_equal_to: 340 + relative_humidity: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 100 + precipitation: + fog: + source_reference: + clouds: + wind: + sun: + TimeOfDay: + seconds_since_midnight: + - is_greater_than_or_equal_to: 0 + - is_less_than: 86400 + CloudLayer: + fractional_cloud_cover: + Wind: + origin_direction: + speed: + - is_greater_than_or_equal_to: 0 + Sun: + azimuth: + elevation: + intensity: + - is_greater_than_or_equal_to: 0 diff --git a/rules/input_rules/osi_featuredata.yml b/rules/input_rules/osi_featuredata.yml new file mode 100644 index 0000000..97c2b14 --- /dev/null +++ b/rules/input_rules/osi_featuredata.yml @@ -0,0 +1,149 @@ +FeatureData: + version: + radar_sensor: + lidar_sensor: + ultrasonic_sensor: + camera_sensor: +SensorDetectionHeader: + measurement_time: + cycle_counter: + - is_greater_than_or_equal_to: 0 + mounting_position: + - is_set: + mounting_position_rmse: + data_qualifier: + number_of_valid_detections: + - is_greater_than_or_equal_to: 0 + sensor_id: + - is_set: + extended_qualifier: +RadarDetectionData: + header: + detection: +RadarDetection: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + object_id: + - refers_to: DetectedObject + position: + position_rmse: + radial_velocity: + radial_velocity_rmse: + - is_greater_than_or_equal_to: 0 + rcs: + snr: + point_target_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + ambiguity_id: + classification: +LidarDetectionData: + header: + detection: +LidarDetection: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + object_id: + - refers_to: DetectedObject + position: + position_rmse: + height: + - is_greater_than_or_equal_to: 0 + height_rmse: + - is_greater_than_or_equal_to: 0 + intensity: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 100 + free_space_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + classification: + reflectivity: + echo_pulse_width: + - is_greater_than_or_equal_to: 0 + radial_velocity: + beam_id: +UltrasonicDetectionSpecificHeader: + max_range: + number_of_valid_indirect_detections: +UltrasonicDetectionData: + header: + specific_header: + detection: + indirect_detection: +UltrasonicDetection: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + object_id: + - refers_to: DetectedObject + distance: + - is_greater_than_or_equal_to: 0 +UltrasonicIndirectDetection: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + object_id: + - refers_to: DetectedObject + ellipsoid_radial: + ellipsoid_axial: + receiver_id: + receiver_origin: +CameraDetectionSpecificHeader: + number_of_valid_points: + - is_greater_than_or_equal_to: 0 +CameraDetectionData: + header: + specific_header: + detection: + point: +CameraDetection: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + object_id: + - refers_to: DetectedObject + time_difference: + image_shape_type: + shape_classification_background: + shape_classification_foreground: + shape_classification_flat: + shape_classification_upright: + shape_classification_ground: + shape_classification_sky: + shape_classification_vegetation: + shape_classification_road: + shape_classification_non_driving_lane: + shape_classification_non_road: + shape_classification_stationary_object: + shape_classification_moving_object: + shape_classification_landmark: + shape_classification_traffic_sign: + shape_classification_traffic_light: + shape_classification_road_marking: + shape_classification_vehicle: + shape_classification_pedestrian: + shape_classification_animal: + shape_classification_pedestrian_front: + shape_classification_pedestrian_side: + shape_classification_pedestrian_rear: + shape_classification_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + color: + color_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + ambiguity_id: + first_point_index: + number_of_points: + - is_greater_than_or_equal_to: 0 + color_description: +CameraPoint: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + point: + point_rmse: diff --git a/rules/input_rules/osi_groundtruth.yml b/rules/input_rules/osi_groundtruth.yml new file mode 100644 index 0000000..1ce07b7 --- /dev/null +++ b/rules/input_rules/osi_groundtruth.yml @@ -0,0 +1,29 @@ +GroundTruth: + version: + - is_set: + timestamp: + - is_set: + host_vehicle_id: + - refers_to: MovingObject + - is_set: + stationary_object: + moving_object: + traffic_sign: + traffic_light: + road_marking: + lane_boundary: + lane: + occupant: + environmental_conditions: + country_code: + - is_iso_country_code: + proj_string: + map_reference: + model_reference: + reference_line: + logical_lane_boundary: + logical_lane: + proj_frame_offset: + ProjFrameOffset: + position: + yaw: diff --git a/rules/input_rules/osi_hostvehicledata.yml b/rules/input_rules/osi_hostvehicledata.yml new file mode 100644 index 0000000..14fb887 --- /dev/null +++ b/rules/input_rules/osi_hostvehicledata.yml @@ -0,0 +1,59 @@ +HostVehicleData: + version: + timestamp: + host_vehicle_id: + location: + location_rmse: + vehicle_basics: + vehicle_powertrain: + vehicle_brake_system: + vehicle_steering: + vehicle_wheels: + vehicle_localization: + vehicle_automated_driving_function: + vehicle_motion: + route: + VehicleBasics: + curb_weight: + operating_state: + VehiclePowertrain: + pedal_position_acceleration: + pedal_position_clutch: + gear_transmission: + motor: + Motor: + type: + rpm: + torque: + VehicleBrakeSystem: + pedal_position_brake: + VehicleSteering: + vehicle_steering_wheel: + VehicleWheels: + wheel_data: + WheelData: + axle: + index: + rotation_rate: + slip: + VehicleLocalization: + position: + orientation: + geodetic_position: + VehicleMotion: + position: + orientation: + velocity: + orientation_rate: + acceleration: + current_curvature: + VehicleAutomatedDrivingFunction: + name: + custom_name: + state: + custom_state: + driver_override: + custom_detail: + DriverOverride: + active: + override_reason: diff --git a/rules/input_rules/osi_lane.yml b/rules/input_rules/osi_lane.yml new file mode 100644 index 0000000..64f31c0 --- /dev/null +++ b/rules/input_rules/osi_lane.yml @@ -0,0 +1,90 @@ +Lane: + id: + - is_globally_unique: + - is_set: + classification: + source_reference: + Classification: + type: + is_host_vehicle_lane: + centerline: + centerline_is_driving_direction: + left_adjacent_lane_id: + - check_if: + - is_different_to: 4 + target: this.type + do_check: + - is_set: + right_adjacent_lane_id: + - check_if: + - is_different_to: 4 + target: this.type + do_check: + - is_set: + lane_pairing: + right_lane_boundary_id: + - check_if: + - is_different_to: 4 + target: this.type + do_check: + - is_set: + left_lane_boundary_id: + - check_if: + - is_different_to: 4 + target: this.type + do_check: + - is_set: + free_lane_boundary_id: + - check_if: + - is_different_to: 4 + target: this.type + do_check: + - is_set: + road_condition: + subtype: + RoadCondition: + surface_temperature: + - is_greater_than_or_equal_to: 0 + surface_water_film: + - is_greater_than_or_equal_to: 0 + surface_freezing_point: + - is_greater_than_or_equal_to: 0 + surface_ice: + - is_greater_than_or_equal_to: 0 + surface_roughness: + - is_greater_than_or_equal_to: 0 + surface_texture: + LanePairing: + antecessor_lane_id: + - refers_to: Lane + successor_lane_id: + - refers_to: Lane +LaneBoundary: + id: + - is_globally_unique: + boundary_line: + - first_element: + width: + - is_equal_to: 0.13 + - first_element: + height: + - is_equal_to: 0.14 + - last_element: + width: + - is_equal_to: 0.13 + - last_element: + height: + - is_equal_to: 0.13 + classification: + source_reference: + color_description: + BoundaryPoint: + position: + width: + height: + dash: + Classification: + type: + color: + limiting_structure_id: + - refers_to: StationaryObject diff --git a/rules/input_rules/osi_logicaldetectiondata.yml b/rules/input_rules/osi_logicaldetectiondata.yml new file mode 100644 index 0000000..9935c0d --- /dev/null +++ b/rules/input_rules/osi_logicaldetectiondata.yml @@ -0,0 +1,33 @@ +LogicalDetectionData: + version: + - is_set: + header: + logical_detection: +LogicalDetectionDataHeader: + logical_detection_time: + data_qualifier: + number_of_valid_logical_detections: + - is_greater_than_or_equal_to: 0 + sensor_id: +LogicalDetection: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + object_id: + - refers_to: DetectedObject + position: + position_rmse: + velocity: + velocity_rmse: + - is_greater_than_or_equal_to: 0 + intensity: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 100 + snr: + point_target_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + sensor_id: + classification: + echo_pulse_width: + - is_greater_than_or_equal_to: 0 diff --git a/rules/input_rules/osi_logicallane.yml b/rules/input_rules/osi_logicallane.yml new file mode 100644 index 0000000..5f2c3ee --- /dev/null +++ b/rules/input_rules/osi_logicallane.yml @@ -0,0 +1,68 @@ +LogicalLaneBoundary: + id: + - is_globally_unique: + - is_set: + boundary_line: + reference_line_id: + - refers_to: ReferenceLine + physical_boundary_id: + - refers_to: LaneBoundary + passing_rule: + source_reference: + LogicalBoundaryPoint: + position: + s_position: + t_position: +LogicalLane: + id: + - is_globally_unique: + type: + source_reference: + physical_lane_reference: + - refers_to: Lane + reference_line_id: + - refers_to: ReferenceLine + start_s: + end_s: + move_direction: + right_adjacent_lane: + left_adjacent_lane: + overlapping_lane: + right_boundary_id: + - refers_to: LogicalLaneBoundary + left_boundary_id: + - refers_to: LogicalLaneBoundary + predecessor_lane: + successor_lane: + street_name: + traffic_rule: + PhysicalLaneReference: + physical_lane_id: + - refers_to: Lane + start_s: + end_s: + LaneConnection: + other_lane_id: + - refers_to: LogicalLane + at_begin_of_other_lane: + LaneRelation: + other_lane_id: + - refers_to: LogicalLane + start_s: + end_s: + start_s_other: + end_s_other: + TrafficRule: + traffic_rule_type: + traffic_rule_validity: + speed_limit: + TrafficRuleValidity: + start_s: + end_s: + valid_for_type: + TypeValidity: + type: + vehicle_type: + vehicle_role: + SpeedLimit: + speed_limit_value: diff --git a/rules/input_rules/osi_motionrequest.yml b/rules/input_rules/osi_motionrequest.yml new file mode 100644 index 0000000..22aa7eb --- /dev/null +++ b/rules/input_rules/osi_motionrequest.yml @@ -0,0 +1,16 @@ +MotionRequest: + version: + - is_set: + timestamp: + - is_set: + motion_request_type: + desired_state: + desired_trajectory: + DesiredState: + timestamp: + position: + orientation: + velocity: + acceleration: + DesiredTrajectory: + trajectory_point: diff --git a/rules/input_rules/osi_object.yml b/rules/input_rules/osi_object.yml new file mode 100644 index 0000000..5ebfd10 --- /dev/null +++ b/rules/input_rules/osi_object.yml @@ -0,0 +1,110 @@ +StationaryObject: + id: + - is_globally_unique: + - is_set: + base: + classification: + model_reference: + source_reference: + color_description: + Classification: + type: + material: + density: + color: + emitting_structure_attribute: + assigned_lane_id: + assigned_lane_percentage: + logical_lane_assignment: + EmittingStructureAttribute: + wavelength_data: + emitted_spatial_signal_strength: +MovingObject: + id: + - is_globally_unique: + - is_set: + base: + type: + assigned_lane_id: + vehicle_attributes: + - check_if: + - is_equal_to: 2 + target: this.type + do_check: + - is_set: + vehicle_classification: + - check_if: + - is_equal_to: 2 + target: this.type + do_check: + - is_set: + model_reference: + future_trajectory: + moving_object_classification: + source_reference: + color_description: + pedestrian_attributes: + - check_if: + - is_equal_to: 3 + target: this.type + do_check: + - is_set: + VehicleAttributes: + driver_id: + radius_wheel: + - is_greater_than_or_equal_to: 0 + number_wheels: + - is_greater_than_or_equal_to: 1 + bbcenter_to_rear: + bbcenter_to_front: + ground_clearance: + wheel_data: + steering_wheel_angle: + WheelData: + axle: + index: + position: + wheel_radius: + rim_radius: + width: + orientation: + rotation_rate: + model_reference: + friction_coefficient: + MovingObjectClassification: + assigned_lane_id: + assigned_lane_percentage: + logical_lane_assignment: + VehicleClassification: + type: + light_state: + has_trailer: + trailer_id: + - check_if: + - is_equal_to: true + target: this.has_trailer + do_check: + - is_set: + role: + LightState: + indicator_state: + front_fog_light: + rear_fog_light: + head_light: + high_beam: + reversing_light: + brake_light_state: + license_plate_illumination_rear: + emergency_vehicle_illumination: + service_vehicle_illumination: + PedestrianAttributes: + bbcenter_to_root: + skeleton_bone: + Bone: + type: + position: + orientation: + length: + missing: + velocity: + orientation_rate: diff --git a/rules/input_rules/osi_occupant.yml b/rules/input_rules/osi_occupant.yml new file mode 100644 index 0000000..062e01a --- /dev/null +++ b/rules/input_rules/osi_occupant.yml @@ -0,0 +1,9 @@ +Occupant: + id: + - is_globally_unique: + classification: + source_reference: + Classification: + is_driver: + seat: + steering_control: diff --git a/rules/input_rules/osi_referenceline.yml b/rules/input_rules/osi_referenceline.yml new file mode 100644 index 0000000..535bdc6 --- /dev/null +++ b/rules/input_rules/osi_referenceline.yml @@ -0,0 +1,10 @@ +ReferenceLine: + id: + - is_globally_unique: + - is_set: + type: + poly_line: + ReferenceLinePoint: + world_position: + s_position: + t_axis_yaw: diff --git a/rules/input_rules/osi_roadmarking.yml b/rules/input_rules/osi_roadmarking.yml new file mode 100644 index 0000000..37b14e7 --- /dev/null +++ b/rules/input_rules/osi_roadmarking.yml @@ -0,0 +1,81 @@ +RoadMarking: + id: + - is_set: + base: + classification: + source_reference: + color_description: + Classification: + type: + traffic_main_sign_type: + - check_if: + - is_greater_than_or_equal_to: 2 + target: this.type + do_check: + - is_set: + - check_if: + - is_less_than_or_equal_to: 4 + target: this.type + do_check: + - is_set: + monochrome_color: + - check_if: + - is_equal_to: 2 + target: this.type + do_check: + - is_set: + - check_if: + - is_equal_to: 1 + target: this.monochrome_color + do_check: + - is_set: + value: + value_text: + assigned_lane_id: + - refers_to: Lane + is_out_of_service: + country: + - check_if: + - is_greater_than_or_equal_to: 2 + target: this.type + do_check: + - is_set: + - check_if: + - is_less_than_or_equal_to: 4 + target: this.type + do_check: + - is_set: + country_revision: + - check_if: + - is_greater_than_or_equal_to: 2 + target: this.type + do_check: + - is_set: + - check_if: + - is_less_than_or_equal_to: 4 + target: this.type + do_check: + - is_set: + code: + - check_if: + - is_greater_than_or_equal_to: 2 + target: this.type + do_check: + - is_set: + - check_if: + - is_less_than_or_equal_to: 4 + target: this.type + do_check: + - is_set: + sub_code: + - check_if: + - is_greater_than_or_equal_to: 2 + target: this.type + do_check: + - is_set: + - check_if: + - is_less_than_or_equal_to: 4 + target: this.type + do_check: + - is_set: + logical_lane_assignment: diff --git a/rules/input_rules/osi_route.yml b/rules/input_rules/osi_route.yml new file mode 100644 index 0000000..9621c28 --- /dev/null +++ b/rules/input_rules/osi_route.yml @@ -0,0 +1,11 @@ +Route: + route_id: + - is_set: + route_segment: + LogicalLaneSegment: + logical_lane_id: + - refers_to: LogicalLane + start_s: + end_s: + RouteSegment: + lane_segment: diff --git a/rules/input_rules/osi_sensordata.yml b/rules/input_rules/osi_sensordata.yml new file mode 100644 index 0000000..be3bda5 --- /dev/null +++ b/rules/input_rules/osi_sensordata.yml @@ -0,0 +1,40 @@ +DetectedEntityHeader: + measurement_time: + cycle_counter: + data_qualifier: +SensorData: + version: + - is_set: + timestamp: + - is_set: + host_vehicle_location: + host_vehicle_location_rmse: + sensor_id: + - is_set: + mounting_position: + - is_set: + mounting_position_rmse: + sensor_view: + last_measurement_time: + stationary_object_header: + stationary_object: + moving_object_header: + moving_object: + traffic_sign_header: + traffic_sign: + traffic_light_header: + traffic_light: + road_marking_header: + road_marking: + lane_boundary_header: + lane_boundary: + lane_header: + lane: + occupant_header: + occupant: + feature_data: + logical_detection_data: + VirtualDetectionArea: + polygon: + virtual_detection_area: + system_time: diff --git a/rules/input_rules/osi_sensorspecific.yml b/rules/input_rules/osi_sensorspecific.yml new file mode 100644 index 0000000..078b330 --- /dev/null +++ b/rules/input_rules/osi_sensorspecific.yml @@ -0,0 +1,14 @@ +RadarSpecificObjectData: + rcs: +LidarSpecificObjectData: + maximum_measurement_distance_sensor: + - is_greater_than_or_equal_to: 0 + probability: + - is_less_than_or_equal_to: 1 + - is_greater_than_or_equal_to: 0 + trilateration_status: + trend: + signalway: + Signalway: + sender_id: + receiver_id: diff --git a/rules/input_rules/osi_sensorview.yml b/rules/input_rules/osi_sensorview.yml new file mode 100644 index 0000000..13239be --- /dev/null +++ b/rules/input_rules/osi_sensorview.yml @@ -0,0 +1,45 @@ +SensorView: + version: + - is_set: + timestamp: + - is_set: + sensor_id: + - is_set: + mounting_position: + - is_set: + mounting_position_rmse: + host_vehicle_data: + global_ground_truth: + host_vehicle_id: + - refers_to: 'MovingObject' + - is_set: + generic_sensor_view: + radar_sensor_view: + lidar_sensor_view: + camera_sensor_view: + ultrasonic_sensor_view: +GenericSensorView: + view_configuration: +RadarSensorView: + view_configuration: + reflection: + Reflection: + signal_strength: + time_of_flight: + doppler_shift: + source_horizontal_angle: + source_vertical_angle: +LidarSensorView: + view_configuration: + reflection: + Reflection: + signal_strength: + time_of_flight: + doppler_shift: + normal_to_surface: + object_id: +CameraSensorView: + view_configuration: + image_data: +UltrasonicSensorView: + view_configuration: diff --git a/rules/input_rules/osi_sensorviewconfiguration.yml b/rules/input_rules/osi_sensorviewconfiguration.yml new file mode 100644 index 0000000..8b3e4d0 --- /dev/null +++ b/rules/input_rules/osi_sensorviewconfiguration.yml @@ -0,0 +1,88 @@ +SensorViewConfiguration: + version: + - is_set: + sensor_id: + - is_set: + mounting_position: + mounting_position_rmse: + field_of_view_horizontal: + field_of_view_vertical: + range: + - is_greater_than_or_equal_to: 0 + update_cycle_time: + update_cycle_offset: + simulation_start_time: + omit_static_information: + generic_sensor_view_configuration: + radar_sensor_view_configuration: + lidar_sensor_view_configuration: + camera_sensor_view_configuration: + ultrasonic_sensor_view_configuration: +GenericSensorViewConfiguration: + sensor_id: + mounting_position: + mounting_position_rmse: + field_of_view_horizontal: + field_of_view_vertical: +RadarSensorViewConfiguration: + sensor_id: + mounting_position: + mounting_position_rmse: + field_of_view_horizontal: + field_of_view_vertical: + number_of_rays_horizontal: + - is_greater_than_or_equal_to: 1 + number_of_rays_vertical: + - is_greater_than_or_equal_to: 1 + max_number_of_interactions: + - is_greater_than_or_equal_to: 1 + emitter_frequency: + - is_greater_than_or_equal_to: 0 + tx_antenna_diagram: + rx_antenna_diagram: + AntennaDiagramEntry: + horizontal_angle: + vertical_angle: + response: +LidarSensorViewConfiguration: + sensor_id: + mounting_position: + mounting_position_rmse: + field_of_view_horizontal: + field_of_view_vertical: + number_of_rays_horizontal: + - is_greater_than_or_equal_to: 1 + number_of_rays_vertical: + - is_greater_than_or_equal_to: 1 + max_number_of_interactions: + - is_greater_than_or_equal_to: 1 + emitter_frequency: + - is_greater_than_or_equal_to: 0 + num_of_pixels: + - is_greater_than_or_equal_to: 1 + directions: + timings: +CameraSensorViewConfiguration: + sensor_id: + mounting_position: + mounting_position_rmse: + field_of_view_horizontal: + field_of_view_vertical: + number_of_pixels_horizontal: + - is_greater_than_or_equal_to: 1 + number_of_pixels_vertical: + - is_greater_than_or_equal_to: 1 + channel_format: + - is_greater_than_or_equal_to: 1 + samples_per_pixel: + - is_greater_than_or_equal_to: 1 + max_number_of_interactions: + - is_greater_than_or_equal_to: 1 + wavelength_data: + pixel_order: +UltrasonicSensorViewConfiguration: + sensor_id: + mounting_position: + mounting_position_rmse: + field_of_view_horizontal: + field_of_view_vertical: diff --git a/rules/input_rules/osi_streamingupdate.yml b/rules/input_rules/osi_streamingupdate.yml new file mode 100644 index 0000000..90d67f3 --- /dev/null +++ b/rules/input_rules/osi_streamingupdate.yml @@ -0,0 +1,12 @@ +StreamingUpdate: + version: + - is_set: + timestamp: + - is_set: + stationary_object_update: + moving_object_update: + traffic_sign_update: + traffic_light_update: + environmental_conditions_update: + host_vehicle_data_update: + obsolete_id: diff --git a/rules/input_rules/osi_trafficcommand.yml b/rules/input_rules/osi_trafficcommand.yml new file mode 100644 index 0000000..a858464 --- /dev/null +++ b/rules/input_rules/osi_trafficcommand.yml @@ -0,0 +1,78 @@ +TrafficCommand: + version: + - is_set: + timestamp: + - is_set: + traffic_participant_id: + - is_set: + action: +TrafficAction: + follow_trajectory_action: + follow_path_action: + acquire_global_position_action: + custom_action: + longitudinal_distance_action: + lane_offset_action: + lateral_distance_action: + teleport_action: + ActionHeader: + action_id: + - is_set: + DynamicConstraints: + max_acceleration: + max_deceleration: + max_speed: + FollowTrajectoryAction: + action_header: + trajectory_point: + constrain_orientation: + following_mode: + FollowPathAction: + action_header: + path_point: + constrain_orientation: + following_mode: + AcquireGlobalPositionAction: + action_header: + position: + orientation: + LaneChangeAction: + action_header: + relative_target_lane: + dynamics_shape: + distance: + SpeedAction: + action_header: + absolute_target_speed: + dynamics_shape: + distance: + AbortActionsAction: + action_header: + EndActionsAction: + action_header: + CustomAction: + action_header: + command: + command_type: + LongitudinalDistanceAction: + action_header: + target_traffic_participant_id: + distance: + freespace: + follow: + dynamic_constraints: + LateralDistanceAction: + action_header: + target_traffic_participant_id: + distance: + freespace: + follow: + dynamic_constraints: + LaneOffsetAction: + action_header: + target_lane_offset: + dynamics_shape: + TeleportAction: + action_header: + position: + orientation: diff --git a/rules/input_rules/osi_trafficcommandupdate.yml b/rules/input_rules/osi_trafficcommandupdate.yml new file mode 100644 index 0000000..5e1f327 --- /dev/null +++ b/rules/input_rules/osi_trafficcommandupdate.yml @@ -0,0 +1,11 @@ +TrafficCommandUpdate: + version: + - is_set: + timestamp: + - is_set: + traffic_participant_id: + - is_set: + dismissed_action: + DismissedAction: + dismissed_action_id: + failure_reason: diff --git a/rules/input_rules/osi_trafficlight.yml b/rules/input_rules/osi_trafficlight.yml new file mode 100644 index 0000000..9e66f9d --- /dev/null +++ b/rules/input_rules/osi_trafficlight.yml @@ -0,0 +1,19 @@ +TrafficLight: + id: + - is_globally_unique: + - is_set: + base: + classification: + model_reference: + source_reference: + color_description: + Classification: + color: + icon: + mode: + counter: + - is_greater_than_or_equal_to: 0 + assigned_lane_id: + - refers_to: Lane + is_out_of_service: + logical_lane_assignment: diff --git a/rules/input_rules/osi_trafficsign.yml b/rules/input_rules/osi_trafficsign.yml new file mode 100644 index 0000000..845d2c5 --- /dev/null +++ b/rules/input_rules/osi_trafficsign.yml @@ -0,0 +1,51 @@ +TrafficSignValue: + value: + value_unit: + text: +TrafficSign: + id: + - is_globally_unique: + - is_set: + main_sign: + supplementary_sign: + source_reference: + MainSign: + base: + classification: + model_reference: + Classification: + variability: + type: + value: + direction_scope: + assigned_lane_id: + - refers_to: Lane + vertically_mirrored: + is_out_of_service: + country: + country_revision: + code: + sub_code: + logical_lane_assignment: + SupplementarySign: + base: + classification: + model_reference: + Classification: + variability: + type: + value: + assigned_lane_id: + - refers_to: Lane + actor: + arrow: + is_out_of_service: + country: + country_revision: + code: + sub_code: + logical_lane_assignment: + Arrow: + lane_id: + - refers_to: Lane + direction: diff --git a/rules/input_rules/osi_trafficupdate.yml b/rules/input_rules/osi_trafficupdate.yml new file mode 100644 index 0000000..8bde406 --- /dev/null +++ b/rules/input_rules/osi_trafficupdate.yml @@ -0,0 +1,7 @@ +TrafficUpdate: + version: + - is_set: + timestamp: + - is_set: + update: + internal_state: diff --git a/rules/input_rules/osi_version.yml b/rules/input_rules/osi_version.yml new file mode 100644 index 0000000..7a2ef64 --- /dev/null +++ b/rules/input_rules/osi_version.yml @@ -0,0 +1,5 @@ +InterfaceVersion: + version_major: + version_minor: + version_patch: + current_interface_version: diff --git a/rules/input_rules/schema/osi_common_schema.yml b/rules/input_rules/schema/osi_common_schema.yml new file mode 100644 index 0000000..6d1ebd2 --- /dev/null +++ b/rules/input_rules/schema/osi_common_schema.yml @@ -0,0 +1,135 @@ +Vector3d: + x: any(list(include('rules', required=False)), null(), required=False) + y: any(list(include('rules', required=False)), null(), required=False) + z: any(list(include('rules', required=False)), null(), required=False) +Vector2d: + x: any(list(include('rules', required=False)), null(), required=False) + y: any(list(include('rules', required=False)), null(), required=False) +Timestamp: + seconds: any(list(include('rules', required=False)), null(), required=False) + nanos: any(list(include('rules', required=False)), null(), required=False) +Dimension3d: + length: any(list(include('rules', required=False)), null(), required=False) + width: any(list(include('rules', required=False)), null(), required=False) + height: any(list(include('rules', required=False)), null(), required=False) +Orientation3d: + roll: any(list(include('rules', required=False)), null(), required=False) + pitch: any(list(include('rules', required=False)), null(), required=False) + yaw: any(list(include('rules', required=False)), null(), required=False) +Identifier: + value: any(list(include('rules', required=False)), null(), required=False) +ExternalReference: + reference: any(list(include('rules', required=False)), null(), required=False) + type: any(list(include('rules', required=False)), null(), required=False) + identifier: any(list(include('rules', required=False)), null(), required=False) +MountingPosition: + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) +Spherical3d: + distance: any(list(include('rules', required=False)), null(), required=False) + azimuth: any(list(include('rules', required=False)), null(), required=False) + elevation: any(list(include('rules', required=False)), null(), required=False) +LogicalLaneAssignment: + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + s_position: any(list(include('rules', required=False)), null(), required=False) + t_position: any(list(include('rules', required=False)), null(), required=False) + angle_to_lane: any(list(include('rules', required=False)), null(), required=False) +BoundingBox: + dimension: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + contained_object_type: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) +BaseStationary: + dimension: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + base_polygon: any(list(include('rules', required=False)), null(), required=False) + bounding_box_section: any(list(include('rules', required=False)), null(), required=False) +BaseMoving: + dimension: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + velocity: any(list(include('rules', required=False)), null(), required=False) + acceleration: any(list(include('rules', required=False)), null(), required=False) + orientation_rate: any(list(include('rules', required=False)), null(), required=False) + orientation_acceleration: any(list(include('rules', required=False)), null(), required=False) + base_polygon: any(list(include('rules', required=False)), null(), required=False) + bounding_box_section: any(list(include('rules', required=False)), null(), required=False) +StatePoint: + timestamp: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) +WavelengthData: + start: any(list(include('rules', required=False)), null(), required=False) + end: any(list(include('rules', required=False)), null(), required=False) + samples_number: any(list(include('rules', required=False)), null(), required=False) +SpatialSignalStrength: + horizontal_angle: any(list(include('rules', required=False)), null(), required=False) + vertical_angle: any(list(include('rules', required=False)), null(), required=False) + signal_strength: any(list(include('rules', required=False)), null(), required=False) +ColorDescription: + grey: any(list(include('rules', required=False)), null(), required=False) + rgb: any(list(include('rules', required=False)), null(), required=False) + rgbir: any(list(include('rules', required=False)), null(), required=False) + hsv: any(list(include('rules', required=False)), null(), required=False) + luv: any(list(include('rules', required=False)), null(), required=False) + cmyk: any(list(include('rules', required=False)), null(), required=False) +ColorGrey: + grey: any(list(include('rules', required=False)), null(), required=False) +ColorRGB: + red: any(list(include('rules', required=False)), null(), required=False) + green: any(list(include('rules', required=False)), null(), required=False) + blue: any(list(include('rules', required=False)), null(), required=False) +ColorRGBIR: + red: any(list(include('rules', required=False)), null(), required=False) + green: any(list(include('rules', required=False)), null(), required=False) + blue: any(list(include('rules', required=False)), null(), required=False) + infrared: any(list(include('rules', required=False)), null(), required=False) +ColorHSV: + hue: any(list(include('rules', required=False)), null(), required=False) + saturation: any(list(include('rules', required=False)), null(), required=False) + value: any(list(include('rules', required=False)), null(), required=False) +ColorLUV: + luminance: any(list(include('rules', required=False)), null(), required=False) + u: any(list(include('rules', required=False)), null(), required=False) + v: any(list(include('rules', required=False)), null(), required=False) +ColorCMYK: + cyan: any(list(include('rules', required=False)), null(), required=False) + magenta: any(list(include('rules', required=False)), null(), required=False) + yellow: any(list(include('rules', required=False)), null(), required=False) + key: any(list(include('rules', required=False)), null(), required=False) +Pedalry: + pedal_position_acceleration: any(list(include('rules', required=False)), null(), required=False) + pedal_position_brake: any(list(include('rules', required=False)), null(), required=False) + pedal_position_clutch: any(list(include('rules', required=False)), null(), required=False) +VehicleSteeringWheel: + angle: any(list(include('rules', required=False)), null(), required=False) + angular_speed: any(list(include('rules', required=False)), null(), required=False) + torque: any(list(include('rules', required=False)), null(), required=False) +GeodeticPosition: + longitude: any(list(include('rules', required=False)), null(), required=False) + latitude: any(list(include('rules', required=False)), null(), required=False) + altitude: any(list(include('rules', required=False)), null(), required=False) +KeyValuePair: + key: any(list(include('rules', required=False)), null(), required=False) + value: any(list(include('rules', required=False)), null(), required=False) +Polygon3d: + vertex: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_datarecording_schema.yml b/rules/input_rules/schema/osi_datarecording_schema.yml new file mode 100644 index 0000000..72f32e7 --- /dev/null +++ b/rules/input_rules/schema/osi_datarecording_schema.yml @@ -0,0 +1,21 @@ +SensorDataSeries: + sensor_data: any(list(include('rules', required=False)), null(), required=False) +SensorDataSeriesList: + sensor: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_detectedlane_schema.yml b/rules/input_rules/schema/osi_detectedlane_schema.yml new file mode 100644 index 0000000..ca56145 --- /dev/null +++ b/rules/input_rules/schema/osi_detectedlane_schema.yml @@ -0,0 +1,33 @@ +DetectedLane: + header: any(list(include('rules', required=False)), null(), required=False) + candidate: any(list(include('rules', required=False)), null(), required=False) + CandidateLane: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +DetectedLaneBoundary: + header: any(list(include('rules', required=False)), null(), required=False) + candidate: any(list(include('rules', required=False)), null(), required=False) + boundary_line: any(list(include('rules', required=False)), null(), required=False) + boundary_line_rmse: any(list(include('rules', required=False)), null(), required=False) + boundary_line_confidences: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + CandidateLaneBoundary: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_detectedobject_schema.yml b/rules/input_rules/schema/osi_detectedobject_schema.yml new file mode 100644 index 0000000..f32536d --- /dev/null +++ b/rules/input_rules/schema/osi_detectedobject_schema.yml @@ -0,0 +1,57 @@ +DetectedItemHeader: + tracking_id: any(list(include('rules', required=False)), null(), required=False) + ground_truth_id: any(list(include('rules', required=False)), null(), required=False) + existence_probability: any(list(include('rules', required=False)), null(), required=False) + age: any(list(include('rules', required=False)), null(), required=False) + measurement_state: any(list(include('rules', required=False)), null(), required=False) + sensor_id: any(list(include('rules', required=False)), null(), required=False) +DetectedStationaryObject: + header: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + base_rmse: any(list(include('rules', required=False)), null(), required=False) + candidate: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + radar_specifics: any(list(include('rules', required=False)), null(), required=False) + lidar_specifics: any(list(include('rules', required=False)), null(), required=False) + camera_specifics: any(list(include('rules', required=False)), null(), required=False) + ultrasonic_specifics: any(list(include('rules', required=False)), null(), required=False) + CandidateStationaryObject: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +DetectedMovingObject: + header: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + base_rmse: any(list(include('rules', required=False)), null(), required=False) + reference_point: any(list(include('rules', required=False)), null(), required=False) + movement_state: any(list(include('rules', required=False)), null(), required=False) + percentage_side_lane_left: any(list(include('rules', required=False)), null(), required=False) + percentage_side_lane_right: any(list(include('rules', required=False)), null(), required=False) + candidate: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + radar_specifics: any(list(include('rules', required=False)), null(), required=False) + lidar_specifics: any(list(include('rules', required=False)), null(), required=False) + camera_specifics: any(list(include('rules', required=False)), null(), required=False) + ultrasonic_specifics: any(list(include('rules', required=False)), null(), required=False) + CandidateMovingObject: + probability: any(list(include('rules', required=False)), null(), required=False) + type: any(list(include('rules', required=False)), null(), required=False) + vehicle_classification: any(list(include('rules', required=False)), null(), required=False) + head_pose: any(list(include('rules', required=False)), null(), required=False) + upper_body_pose: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_detectedoccupant_schema.yml b/rules/input_rules/schema/osi_detectedoccupant_schema.yml new file mode 100644 index 0000000..31c7816 --- /dev/null +++ b/rules/input_rules/schema/osi_detectedoccupant_schema.yml @@ -0,0 +1,23 @@ +DetectedOccupant: + header: any(list(include('rules', required=False)), null(), required=False) + candidate: any(list(include('rules', required=False)), null(), required=False) + CandidateOccupant: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_detectedroadmarking_schema.yml b/rules/input_rules/schema/osi_detectedroadmarking_schema.yml new file mode 100644 index 0000000..6df5e8f --- /dev/null +++ b/rules/input_rules/schema/osi_detectedroadmarking_schema.yml @@ -0,0 +1,26 @@ +DetectedRoadMarking: + header: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + base_rmse: any(list(include('rules', required=False)), null(), required=False) + candidate: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + CandidateRoadMarking: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_detectedtrafficlight_schema.yml b/rules/input_rules/schema/osi_detectedtrafficlight_schema.yml new file mode 100644 index 0000000..d855af9 --- /dev/null +++ b/rules/input_rules/schema/osi_detectedtrafficlight_schema.yml @@ -0,0 +1,26 @@ +DetectedTrafficLight: + header: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + base_rmse: any(list(include('rules', required=False)), null(), required=False) + candidate: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + CandidateTrafficLight: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_detectedtrafficsign_schema.yml b/rules/input_rules/schema/osi_detectedtrafficsign_schema.yml new file mode 100644 index 0000000..d4ee871 --- /dev/null +++ b/rules/input_rules/schema/osi_detectedtrafficsign_schema.yml @@ -0,0 +1,36 @@ +DetectedTrafficSign: + header: any(list(include('rules', required=False)), null(), required=False) + main_sign: any(list(include('rules', required=False)), null(), required=False) + supplementary_sign: any(list(include('rules', required=False)), null(), required=False) + DetectedMainSign: + candidate: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + base_rmse: any(list(include('rules', required=False)), null(), required=False) + geometry: any(list(include('rules', required=False)), null(), required=False) + CandidateMainSign: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + DetectedSupplementarySign: + candidate: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + base_rmse: any(list(include('rules', required=False)), null(), required=False) + CandidateSupplementarySign: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_environment_schema.yml b/rules/input_rules/schema/osi_environment_schema.yml new file mode 100644 index 0000000..92a0a92 --- /dev/null +++ b/rules/input_rules/schema/osi_environment_schema.yml @@ -0,0 +1,41 @@ +EnvironmentalConditions: + ambient_illumination: any(list(include('rules', required=False)), null(), required=False) + time_of_day: any(list(include('rules', required=False)), null(), required=False) + unix_timestamp: any(list(include('rules', required=False)), null(), required=False) + atmospheric_pressure: any(list(include('rules', required=False)), null(), required=False) + temperature: any(list(include('rules', required=False)), null(), required=False) + relative_humidity: any(list(include('rules', required=False)), null(), required=False) + precipitation: any(list(include('rules', required=False)), null(), required=False) + fog: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + clouds: any(list(include('rules', required=False)), null(), required=False) + wind: any(list(include('rules', required=False)), null(), required=False) + sun: any(list(include('rules', required=False)), null(), required=False) + TimeOfDay: + seconds_since_midnight: any(list(include('rules', required=False)), null(), required=False) + CloudLayer: + fractional_cloud_cover: any(list(include('rules', required=False)), null(), required=False) + Wind: + origin_direction: any(list(include('rules', required=False)), null(), required=False) + speed: any(list(include('rules', required=False)), null(), required=False) + Sun: + azimuth: any(list(include('rules', required=False)), null(), required=False) + elevation: any(list(include('rules', required=False)), null(), required=False) + intensity: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_featuredata_schema.yml b/rules/input_rules/schema/osi_featuredata_schema.yml new file mode 100644 index 0000000..f68009c --- /dev/null +++ b/rules/input_rules/schema/osi_featuredata_schema.yml @@ -0,0 +1,128 @@ +FeatureData: + version: any(list(include('rules', required=False)), null(), required=False) + radar_sensor: any(list(include('rules', required=False)), null(), required=False) + lidar_sensor: any(list(include('rules', required=False)), null(), required=False) + ultrasonic_sensor: any(list(include('rules', required=False)), null(), required=False) + camera_sensor: any(list(include('rules', required=False)), null(), required=False) +SensorDetectionHeader: + measurement_time: any(list(include('rules', required=False)), null(), required=False) + cycle_counter: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + data_qualifier: any(list(include('rules', required=False)), null(), required=False) + number_of_valid_detections: any(list(include('rules', required=False)), null(), required=False) + sensor_id: any(list(include('rules', required=False)), null(), required=False) + extended_qualifier: any(list(include('rules', required=False)), null(), required=False) +RadarDetectionData: + header: any(list(include('rules', required=False)), null(), required=False) + detection: any(list(include('rules', required=False)), null(), required=False) +RadarDetection: + existence_probability: any(list(include('rules', required=False)), null(), required=False) + object_id: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + position_rmse: any(list(include('rules', required=False)), null(), required=False) + radial_velocity: any(list(include('rules', required=False)), null(), required=False) + radial_velocity_rmse: any(list(include('rules', required=False)), null(), required=False) + rcs: any(list(include('rules', required=False)), null(), required=False) + snr: any(list(include('rules', required=False)), null(), required=False) + point_target_probability: any(list(include('rules', required=False)), null(), required=False) + ambiguity_id: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +LidarDetectionData: + header: any(list(include('rules', required=False)), null(), required=False) + detection: any(list(include('rules', required=False)), null(), required=False) +LidarDetection: + existence_probability: any(list(include('rules', required=False)), null(), required=False) + object_id: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + position_rmse: any(list(include('rules', required=False)), null(), required=False) + height: any(list(include('rules', required=False)), null(), required=False) + height_rmse: any(list(include('rules', required=False)), null(), required=False) + intensity: any(list(include('rules', required=False)), null(), required=False) + free_space_probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + reflectivity: any(list(include('rules', required=False)), null(), required=False) + echo_pulse_width: any(list(include('rules', required=False)), null(), required=False) + radial_velocity: any(list(include('rules', required=False)), null(), required=False) + beam_id: any(list(include('rules', required=False)), null(), required=False) +UltrasonicDetectionSpecificHeader: + max_range: any(list(include('rules', required=False)), null(), required=False) + number_of_valid_indirect_detections: any(list(include('rules', required=False)), null(), required=False) +UltrasonicDetectionData: + header: any(list(include('rules', required=False)), null(), required=False) + specific_header: any(list(include('rules', required=False)), null(), required=False) + detection: any(list(include('rules', required=False)), null(), required=False) + indirect_detection: any(list(include('rules', required=False)), null(), required=False) +UltrasonicDetection: + existence_probability: any(list(include('rules', required=False)), null(), required=False) + object_id: any(list(include('rules', required=False)), null(), required=False) + distance: any(list(include('rules', required=False)), null(), required=False) +UltrasonicIndirectDetection: + existence_probability: any(list(include('rules', required=False)), null(), required=False) + object_id: any(list(include('rules', required=False)), null(), required=False) + ellipsoid_radial: any(list(include('rules', required=False)), null(), required=False) + ellipsoid_axial: any(list(include('rules', required=False)), null(), required=False) + receiver_id: any(list(include('rules', required=False)), null(), required=False) + receiver_origin: any(list(include('rules', required=False)), null(), required=False) +CameraDetectionSpecificHeader: + number_of_valid_points: any(list(include('rules', required=False)), null(), required=False) +CameraDetectionData: + header: any(list(include('rules', required=False)), null(), required=False) + specific_header: any(list(include('rules', required=False)), null(), required=False) + detection: any(list(include('rules', required=False)), null(), required=False) + point: any(list(include('rules', required=False)), null(), required=False) +CameraDetection: + existence_probability: any(list(include('rules', required=False)), null(), required=False) + object_id: any(list(include('rules', required=False)), null(), required=False) + time_difference: any(list(include('rules', required=False)), null(), required=False) + image_shape_type: any(list(include('rules', required=False)), null(), required=False) + shape_classification_background: any(list(include('rules', required=False)), null(), required=False) + shape_classification_foreground: any(list(include('rules', required=False)), null(), required=False) + shape_classification_flat: any(list(include('rules', required=False)), null(), required=False) + shape_classification_upright: any(list(include('rules', required=False)), null(), required=False) + shape_classification_ground: any(list(include('rules', required=False)), null(), required=False) + shape_classification_sky: any(list(include('rules', required=False)), null(), required=False) + shape_classification_vegetation: any(list(include('rules', required=False)), null(), required=False) + shape_classification_road: any(list(include('rules', required=False)), null(), required=False) + shape_classification_non_driving_lane: any(list(include('rules', required=False)), null(), required=False) + shape_classification_non_road: any(list(include('rules', required=False)), null(), required=False) + shape_classification_stationary_object: any(list(include('rules', required=False)), null(), required=False) + shape_classification_moving_object: any(list(include('rules', required=False)), null(), required=False) + shape_classification_landmark: any(list(include('rules', required=False)), null(), required=False) + shape_classification_traffic_sign: any(list(include('rules', required=False)), null(), required=False) + shape_classification_traffic_light: any(list(include('rules', required=False)), null(), required=False) + shape_classification_road_marking: any(list(include('rules', required=False)), null(), required=False) + shape_classification_vehicle: any(list(include('rules', required=False)), null(), required=False) + shape_classification_pedestrian: any(list(include('rules', required=False)), null(), required=False) + shape_classification_animal: any(list(include('rules', required=False)), null(), required=False) + shape_classification_pedestrian_front: any(list(include('rules', required=False)), null(), required=False) + shape_classification_pedestrian_side: any(list(include('rules', required=False)), null(), required=False) + shape_classification_pedestrian_rear: any(list(include('rules', required=False)), null(), required=False) + shape_classification_probability: any(list(include('rules', required=False)), null(), required=False) + color: any(list(include('rules', required=False)), null(), required=False) + color_probability: any(list(include('rules', required=False)), null(), required=False) + ambiguity_id: any(list(include('rules', required=False)), null(), required=False) + first_point_index: any(list(include('rules', required=False)), null(), required=False) + number_of_points: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) +CameraPoint: + existence_probability: any(list(include('rules', required=False)), null(), required=False) + point: any(list(include('rules', required=False)), null(), required=False) + point_rmse: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_groundtruth_schema.yml b/rules/input_rules/schema/osi_groundtruth_schema.yml new file mode 100644 index 0000000..0453a28 --- /dev/null +++ b/rules/input_rules/schema/osi_groundtruth_schema.yml @@ -0,0 +1,41 @@ +GroundTruth: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + host_vehicle_id: any(list(include('rules', required=False)), null(), required=False) + stationary_object: any(list(include('rules', required=False)), null(), required=False) + moving_object: any(list(include('rules', required=False)), null(), required=False) + traffic_sign: any(list(include('rules', required=False)), null(), required=False) + traffic_light: any(list(include('rules', required=False)), null(), required=False) + road_marking: any(list(include('rules', required=False)), null(), required=False) + lane_boundary: any(list(include('rules', required=False)), null(), required=False) + lane: any(list(include('rules', required=False)), null(), required=False) + occupant: any(list(include('rules', required=False)), null(), required=False) + environmental_conditions: any(list(include('rules', required=False)), null(), required=False) + country_code: any(list(include('rules', required=False)), null(), required=False) + proj_string: any(list(include('rules', required=False)), null(), required=False) + map_reference: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) + reference_line: any(list(include('rules', required=False)), null(), required=False) + logical_lane_boundary: any(list(include('rules', required=False)), null(), required=False) + logical_lane: any(list(include('rules', required=False)), null(), required=False) + proj_frame_offset: any(list(include('rules', required=False)), null(), required=False) + ProjFrameOffset: + position: any(list(include('rules', required=False)), null(), required=False) + yaw: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_hostvehicledata_schema.yml b/rules/input_rules/schema/osi_hostvehicledata_schema.yml new file mode 100644 index 0000000..d4302b6 --- /dev/null +++ b/rules/input_rules/schema/osi_hostvehicledata_schema.yml @@ -0,0 +1,76 @@ +HostVehicleData: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + host_vehicle_id: any(list(include('rules', required=False)), null(), required=False) + location: any(list(include('rules', required=False)), null(), required=False) + location_rmse: any(list(include('rules', required=False)), null(), required=False) + vehicle_basics: any(list(include('rules', required=False)), null(), required=False) + vehicle_powertrain: any(list(include('rules', required=False)), null(), required=False) + vehicle_brake_system: any(list(include('rules', required=False)), null(), required=False) + vehicle_steering: any(list(include('rules', required=False)), null(), required=False) + vehicle_wheels: any(list(include('rules', required=False)), null(), required=False) + vehicle_localization: any(list(include('rules', required=False)), null(), required=False) + vehicle_automated_driving_function: any(list(include('rules', required=False)), null(), required=False) + vehicle_motion: any(list(include('rules', required=False)), null(), required=False) + route: any(list(include('rules', required=False)), null(), required=False) + VehicleBasics: + curb_weight: any(list(include('rules', required=False)), null(), required=False) + operating_state: any(list(include('rules', required=False)), null(), required=False) + VehiclePowertrain: + pedal_position_acceleration: any(list(include('rules', required=False)), null(), required=False) + pedal_position_clutch: any(list(include('rules', required=False)), null(), required=False) + gear_transmission: any(list(include('rules', required=False)), null(), required=False) + motor: any(list(include('rules', required=False)), null(), required=False) + Motor: + type: any(list(include('rules', required=False)), null(), required=False) + rpm: any(list(include('rules', required=False)), null(), required=False) + torque: any(list(include('rules', required=False)), null(), required=False) + VehicleBrakeSystem: + pedal_position_brake: any(list(include('rules', required=False)), null(), required=False) + VehicleSteering: + vehicle_steering_wheel: any(list(include('rules', required=False)), null(), required=False) + VehicleWheels: + wheel_data: any(list(include('rules', required=False)), null(), required=False) + WheelData: + axle: any(list(include('rules', required=False)), null(), required=False) + index: any(list(include('rules', required=False)), null(), required=False) + rotation_rate: any(list(include('rules', required=False)), null(), required=False) + slip: any(list(include('rules', required=False)), null(), required=False) + VehicleLocalization: + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + geodetic_position: any(list(include('rules', required=False)), null(), required=False) + VehicleMotion: + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + velocity: any(list(include('rules', required=False)), null(), required=False) + orientation_rate: any(list(include('rules', required=False)), null(), required=False) + acceleration: any(list(include('rules', required=False)), null(), required=False) + current_curvature: any(list(include('rules', required=False)), null(), required=False) + VehicleAutomatedDrivingFunction: + name: any(list(include('rules', required=False)), null(), required=False) + custom_name: any(list(include('rules', required=False)), null(), required=False) + state: any(list(include('rules', required=False)), null(), required=False) + custom_state: any(list(include('rules', required=False)), null(), required=False) + driver_override: any(list(include('rules', required=False)), null(), required=False) + custom_detail: any(list(include('rules', required=False)), null(), required=False) + DriverOverride: + active: any(list(include('rules', required=False)), null(), required=False) + override_reason: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_lane_schema.yml b/rules/input_rules/schema/osi_lane_schema.yml new file mode 100644 index 0000000..2606224 --- /dev/null +++ b/rules/input_rules/schema/osi_lane_schema.yml @@ -0,0 +1,59 @@ +Lane: + id: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + Classification: + type: any(list(include('rules', required=False)), null(), required=False) + is_host_vehicle_lane: any(list(include('rules', required=False)), null(), required=False) + centerline: any(list(include('rules', required=False)), null(), required=False) + centerline_is_driving_direction: any(list(include('rules', required=False)), null(), required=False) + left_adjacent_lane_id: any(list(include('rules', required=False)), null(), required=False) + right_adjacent_lane_id: any(list(include('rules', required=False)), null(), required=False) + lane_pairing: any(list(include('rules', required=False)), null(), required=False) + right_lane_boundary_id: any(list(include('rules', required=False)), null(), required=False) + left_lane_boundary_id: any(list(include('rules', required=False)), null(), required=False) + free_lane_boundary_id: any(list(include('rules', required=False)), null(), required=False) + road_condition: any(list(include('rules', required=False)), null(), required=False) + subtype: any(list(include('rules', required=False)), null(), required=False) + RoadCondition: + surface_temperature: any(list(include('rules', required=False)), null(), required=False) + surface_water_film: any(list(include('rules', required=False)), null(), required=False) + surface_freezing_point: any(list(include('rules', required=False)), null(), required=False) + surface_ice: any(list(include('rules', required=False)), null(), required=False) + surface_roughness: any(list(include('rules', required=False)), null(), required=False) + surface_texture: any(list(include('rules', required=False)), null(), required=False) + LanePairing: + antecessor_lane_id: any(list(include('rules', required=False)), null(), required=False) + successor_lane_id: any(list(include('rules', required=False)), null(), required=False) +LaneBoundary: + id: any(list(include('rules', required=False)), null(), required=False) + boundary_line: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + BoundaryPoint: + position: any(list(include('rules', required=False)), null(), required=False) + width: any(list(include('rules', required=False)), null(), required=False) + height: any(list(include('rules', required=False)), null(), required=False) + dash: any(list(include('rules', required=False)), null(), required=False) + Classification: + type: any(list(include('rules', required=False)), null(), required=False) + color: any(list(include('rules', required=False)), null(), required=False) + limiting_structure_id: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_logicaldetectiondata_schema.yml b/rules/input_rules/schema/osi_logicaldetectiondata_schema.yml new file mode 100644 index 0000000..17588d0 --- /dev/null +++ b/rules/input_rules/schema/osi_logicaldetectiondata_schema.yml @@ -0,0 +1,39 @@ +LogicalDetectionData: + version: any(list(include('rules', required=False)), null(), required=False) + header: any(list(include('rules', required=False)), null(), required=False) + logical_detection: any(list(include('rules', required=False)), null(), required=False) +LogicalDetectionDataHeader: + logical_detection_time: any(list(include('rules', required=False)), null(), required=False) + data_qualifier: any(list(include('rules', required=False)), null(), required=False) + number_of_valid_logical_detections: any(list(include('rules', required=False)), null(), required=False) + sensor_id: any(list(include('rules', required=False)), null(), required=False) +LogicalDetection: + existence_probability: any(list(include('rules', required=False)), null(), required=False) + object_id: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + position_rmse: any(list(include('rules', required=False)), null(), required=False) + velocity: any(list(include('rules', required=False)), null(), required=False) + velocity_rmse: any(list(include('rules', required=False)), null(), required=False) + intensity: any(list(include('rules', required=False)), null(), required=False) + snr: any(list(include('rules', required=False)), null(), required=False) + point_target_probability: any(list(include('rules', required=False)), null(), required=False) + sensor_id: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + echo_pulse_width: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_logicallane_schema.yml b/rules/input_rules/schema/osi_logicallane_schema.yml new file mode 100644 index 0000000..a312fa3 --- /dev/null +++ b/rules/input_rules/schema/osi_logicallane_schema.yml @@ -0,0 +1,73 @@ +LogicalLaneBoundary: + id: any(list(include('rules', required=False)), null(), required=False) + boundary_line: any(list(include('rules', required=False)), null(), required=False) + reference_line_id: any(list(include('rules', required=False)), null(), required=False) + physical_boundary_id: any(list(include('rules', required=False)), null(), required=False) + passing_rule: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + LogicalBoundaryPoint: + position: any(list(include('rules', required=False)), null(), required=False) + s_position: any(list(include('rules', required=False)), null(), required=False) + t_position: any(list(include('rules', required=False)), null(), required=False) +LogicalLane: + id: any(list(include('rules', required=False)), null(), required=False) + type: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + physical_lane_reference: any(list(include('rules', required=False)), null(), required=False) + reference_line_id: any(list(include('rules', required=False)), null(), required=False) + start_s: any(list(include('rules', required=False)), null(), required=False) + end_s: any(list(include('rules', required=False)), null(), required=False) + move_direction: any(list(include('rules', required=False)), null(), required=False) + right_adjacent_lane: any(list(include('rules', required=False)), null(), required=False) + left_adjacent_lane: any(list(include('rules', required=False)), null(), required=False) + overlapping_lane: any(list(include('rules', required=False)), null(), required=False) + right_boundary_id: any(list(include('rules', required=False)), null(), required=False) + left_boundary_id: any(list(include('rules', required=False)), null(), required=False) + predecessor_lane: any(list(include('rules', required=False)), null(), required=False) + successor_lane: any(list(include('rules', required=False)), null(), required=False) + street_name: any(list(include('rules', required=False)), null(), required=False) + traffic_rule: any(list(include('rules', required=False)), null(), required=False) + PhysicalLaneReference: + physical_lane_id: any(list(include('rules', required=False)), null(), required=False) + start_s: any(list(include('rules', required=False)), null(), required=False) + end_s: any(list(include('rules', required=False)), null(), required=False) + LaneConnection: + other_lane_id: any(list(include('rules', required=False)), null(), required=False) + at_begin_of_other_lane: any(list(include('rules', required=False)), null(), required=False) + LaneRelation: + other_lane_id: any(list(include('rules', required=False)), null(), required=False) + start_s: any(list(include('rules', required=False)), null(), required=False) + end_s: any(list(include('rules', required=False)), null(), required=False) + start_s_other: any(list(include('rules', required=False)), null(), required=False) + end_s_other: any(list(include('rules', required=False)), null(), required=False) + TrafficRule: + traffic_rule_type: any(list(include('rules', required=False)), null(), required=False) + traffic_rule_validity: any(list(include('rules', required=False)), null(), required=False) + speed_limit: any(list(include('rules', required=False)), null(), required=False) + TrafficRuleValidity: + start_s: any(list(include('rules', required=False)), null(), required=False) + end_s: any(list(include('rules', required=False)), null(), required=False) + valid_for_type: any(list(include('rules', required=False)), null(), required=False) + TypeValidity: + type: any(list(include('rules', required=False)), null(), required=False) + vehicle_type: any(list(include('rules', required=False)), null(), required=False) + vehicle_role: any(list(include('rules', required=False)), null(), required=False) + SpeedLimit: + speed_limit_value: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_motionrequest_schema.yml b/rules/input_rules/schema/osi_motionrequest_schema.yml new file mode 100644 index 0000000..b470d4e --- /dev/null +++ b/rules/input_rules/schema/osi_motionrequest_schema.yml @@ -0,0 +1,31 @@ +MotionRequest: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + motion_request_type: any(list(include('rules', required=False)), null(), required=False) + desired_state: any(list(include('rules', required=False)), null(), required=False) + desired_trajectory: any(list(include('rules', required=False)), null(), required=False) + DesiredState: + timestamp: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + velocity: any(list(include('rules', required=False)), null(), required=False) + acceleration: any(list(include('rules', required=False)), null(), required=False) + DesiredTrajectory: + trajectory_point: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_object_schema.yml b/rules/input_rules/schema/osi_object_schema.yml new file mode 100644 index 0000000..0c3f1fa --- /dev/null +++ b/rules/input_rules/schema/osi_object_schema.yml @@ -0,0 +1,101 @@ +StationaryObject: + id: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + Classification: + type: any(list(include('rules', required=False)), null(), required=False) + material: any(list(include('rules', required=False)), null(), required=False) + density: any(list(include('rules', required=False)), null(), required=False) + color: any(list(include('rules', required=False)), null(), required=False) + emitting_structure_attribute: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_percentage: any(list(include('rules', required=False)), null(), required=False) + logical_lane_assignment: any(list(include('rules', required=False)), null(), required=False) + EmittingStructureAttribute: + wavelength_data: any(list(include('rules', required=False)), null(), required=False) + emitted_spatial_signal_strength: any(list(include('rules', required=False)), null(), required=False) +MovingObject: + id: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + type: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + vehicle_attributes: any(list(include('rules', required=False)), null(), required=False) + vehicle_classification: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) + future_trajectory: any(list(include('rules', required=False)), null(), required=False) + moving_object_classification: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + pedestrian_attributes: any(list(include('rules', required=False)), null(), required=False) + VehicleAttributes: + driver_id: any(list(include('rules', required=False)), null(), required=False) + radius_wheel: any(list(include('rules', required=False)), null(), required=False) + number_wheels: any(list(include('rules', required=False)), null(), required=False) + bbcenter_to_rear: any(list(include('rules', required=False)), null(), required=False) + bbcenter_to_front: any(list(include('rules', required=False)), null(), required=False) + ground_clearance: any(list(include('rules', required=False)), null(), required=False) + wheel_data: any(list(include('rules', required=False)), null(), required=False) + steering_wheel_angle: any(list(include('rules', required=False)), null(), required=False) + WheelData: + axle: any(list(include('rules', required=False)), null(), required=False) + index: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + wheel_radius: any(list(include('rules', required=False)), null(), required=False) + rim_radius: any(list(include('rules', required=False)), null(), required=False) + width: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + rotation_rate: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) + friction_coefficient: any(list(include('rules', required=False)), null(), required=False) + MovingObjectClassification: + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_percentage: any(list(include('rules', required=False)), null(), required=False) + logical_lane_assignment: any(list(include('rules', required=False)), null(), required=False) + VehicleClassification: + type: any(list(include('rules', required=False)), null(), required=False) + light_state: any(list(include('rules', required=False)), null(), required=False) + has_trailer: any(list(include('rules', required=False)), null(), required=False) + trailer_id: any(list(include('rules', required=False)), null(), required=False) + role: any(list(include('rules', required=False)), null(), required=False) + LightState: + indicator_state: any(list(include('rules', required=False)), null(), required=False) + front_fog_light: any(list(include('rules', required=False)), null(), required=False) + rear_fog_light: any(list(include('rules', required=False)), null(), required=False) + head_light: any(list(include('rules', required=False)), null(), required=False) + high_beam: any(list(include('rules', required=False)), null(), required=False) + reversing_light: any(list(include('rules', required=False)), null(), required=False) + brake_light_state: any(list(include('rules', required=False)), null(), required=False) + license_plate_illumination_rear: any(list(include('rules', required=False)), null(), required=False) + emergency_vehicle_illumination: any(list(include('rules', required=False)), null(), required=False) + service_vehicle_illumination: any(list(include('rules', required=False)), null(), required=False) + PedestrianAttributes: + bbcenter_to_root: any(list(include('rules', required=False)), null(), required=False) + skeleton_bone: any(list(include('rules', required=False)), null(), required=False) + Bone: + type: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + length: any(list(include('rules', required=False)), null(), required=False) + missing: any(list(include('rules', required=False)), null(), required=False) + velocity: any(list(include('rules', required=False)), null(), required=False) + orientation_rate: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_occupant_schema.yml b/rules/input_rules/schema/osi_occupant_schema.yml new file mode 100644 index 0000000..0b2907c --- /dev/null +++ b/rules/input_rules/schema/osi_occupant_schema.yml @@ -0,0 +1,25 @@ +Occupant: + id: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + Classification: + is_driver: any(list(include('rules', required=False)), null(), required=False) + seat: any(list(include('rules', required=False)), null(), required=False) + steering_control: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_referenceline_schema.yml b/rules/input_rules/schema/osi_referenceline_schema.yml new file mode 100644 index 0000000..8e284d3 --- /dev/null +++ b/rules/input_rules/schema/osi_referenceline_schema.yml @@ -0,0 +1,25 @@ +ReferenceLine: + id: any(list(include('rules', required=False)), null(), required=False) + type: any(list(include('rules', required=False)), null(), required=False) + poly_line: any(list(include('rules', required=False)), null(), required=False) + ReferenceLinePoint: + world_position: any(list(include('rules', required=False)), null(), required=False) + s_position: any(list(include('rules', required=False)), null(), required=False) + t_axis_yaw: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_roadmarking_schema.yml b/rules/input_rules/schema/osi_roadmarking_schema.yml new file mode 100644 index 0000000..1ec67a7 --- /dev/null +++ b/rules/input_rules/schema/osi_roadmarking_schema.yml @@ -0,0 +1,36 @@ +RoadMarking: + id: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + Classification: + type: any(list(include('rules', required=False)), null(), required=False) + traffic_main_sign_type: any(list(include('rules', required=False)), null(), required=False) + monochrome_color: any(list(include('rules', required=False)), null(), required=False) + value: any(list(include('rules', required=False)), null(), required=False) + value_text: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + is_out_of_service: any(list(include('rules', required=False)), null(), required=False) + country: any(list(include('rules', required=False)), null(), required=False) + country_revision: any(list(include('rules', required=False)), null(), required=False) + code: any(list(include('rules', required=False)), null(), required=False) + sub_code: any(list(include('rules', required=False)), null(), required=False) + logical_lane_assignment: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_route_schema.yml b/rules/input_rules/schema/osi_route_schema.yml new file mode 100644 index 0000000..af073f9 --- /dev/null +++ b/rules/input_rules/schema/osi_route_schema.yml @@ -0,0 +1,26 @@ +Route: + route_id: any(list(include('rules', required=False)), null(), required=False) + route_segment: any(list(include('rules', required=False)), null(), required=False) + LogicalLaneSegment: + logical_lane_id: any(list(include('rules', required=False)), null(), required=False) + start_s: any(list(include('rules', required=False)), null(), required=False) + end_s: any(list(include('rules', required=False)), null(), required=False) + RouteSegment: + lane_segment: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_sensordata_schema.yml b/rules/input_rules/schema/osi_sensordata_schema.yml new file mode 100644 index 0000000..3fa49b0 --- /dev/null +++ b/rules/input_rules/schema/osi_sensordata_schema.yml @@ -0,0 +1,53 @@ +DetectedEntityHeader: + measurement_time: any(list(include('rules', required=False)), null(), required=False) + cycle_counter: any(list(include('rules', required=False)), null(), required=False) + data_qualifier: any(list(include('rules', required=False)), null(), required=False) +SensorData: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + host_vehicle_location: any(list(include('rules', required=False)), null(), required=False) + host_vehicle_location_rmse: any(list(include('rules', required=False)), null(), required=False) + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + sensor_view: any(list(include('rules', required=False)), null(), required=False) + last_measurement_time: any(list(include('rules', required=False)), null(), required=False) + stationary_object_header: any(list(include('rules', required=False)), null(), required=False) + stationary_object: any(list(include('rules', required=False)), null(), required=False) + moving_object_header: any(list(include('rules', required=False)), null(), required=False) + moving_object: any(list(include('rules', required=False)), null(), required=False) + traffic_sign_header: any(list(include('rules', required=False)), null(), required=False) + traffic_sign: any(list(include('rules', required=False)), null(), required=False) + traffic_light_header: any(list(include('rules', required=False)), null(), required=False) + traffic_light: any(list(include('rules', required=False)), null(), required=False) + road_marking_header: any(list(include('rules', required=False)), null(), required=False) + road_marking: any(list(include('rules', required=False)), null(), required=False) + lane_boundary_header: any(list(include('rules', required=False)), null(), required=False) + lane_boundary: any(list(include('rules', required=False)), null(), required=False) + lane_header: any(list(include('rules', required=False)), null(), required=False) + lane: any(list(include('rules', required=False)), null(), required=False) + occupant_header: any(list(include('rules', required=False)), null(), required=False) + occupant: any(list(include('rules', required=False)), null(), required=False) + feature_data: any(list(include('rules', required=False)), null(), required=False) + logical_detection_data: any(list(include('rules', required=False)), null(), required=False) + VirtualDetectionArea: + polygon: any(list(include('rules', required=False)), null(), required=False) + virtual_detection_area: any(list(include('rules', required=False)), null(), required=False) + system_time: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_sensorspecific_schema.yml b/rules/input_rules/schema/osi_sensorspecific_schema.yml new file mode 100644 index 0000000..4a1bd90 --- /dev/null +++ b/rules/input_rules/schema/osi_sensorspecific_schema.yml @@ -0,0 +1,28 @@ +RadarSpecificObjectData: + rcs: any(list(include('rules', required=False)), null(), required=False) +LidarSpecificObjectData: + maximum_measurement_distance_sensor: any(list(include('rules', required=False)), null(), required=False) + probability: any(list(include('rules', required=False)), null(), required=False) + trilateration_status: any(list(include('rules', required=False)), null(), required=False) + trend: any(list(include('rules', required=False)), null(), required=False) + signalway: any(list(include('rules', required=False)), null(), required=False) + Signalway: + sender_id: any(list(include('rules', required=False)), null(), required=False) + receiver_id: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_sensorview_schema.yml b/rules/input_rules/schema/osi_sensorview_schema.yml new file mode 100644 index 0000000..349b066 --- /dev/null +++ b/rules/input_rules/schema/osi_sensorview_schema.yml @@ -0,0 +1,56 @@ +SensorView: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + host_vehicle_data: any(list(include('rules', required=False)), null(), required=False) + global_ground_truth: any(list(include('rules', required=False)), null(), required=False) + host_vehicle_id: any(list(include('rules', required=False)), null(), required=False) + generic_sensor_view: any(list(include('rules', required=False)), null(), required=False) + radar_sensor_view: any(list(include('rules', required=False)), null(), required=False) + lidar_sensor_view: any(list(include('rules', required=False)), null(), required=False) + camera_sensor_view: any(list(include('rules', required=False)), null(), required=False) + ultrasonic_sensor_view: any(list(include('rules', required=False)), null(), required=False) +GenericSensorView: + view_configuration: any(list(include('rules', required=False)), null(), required=False) +RadarSensorView: + view_configuration: any(list(include('rules', required=False)), null(), required=False) + reflection: any(list(include('rules', required=False)), null(), required=False) + Reflection: + signal_strength: any(list(include('rules', required=False)), null(), required=False) + time_of_flight: any(list(include('rules', required=False)), null(), required=False) + doppler_shift: any(list(include('rules', required=False)), null(), required=False) + source_horizontal_angle: any(list(include('rules', required=False)), null(), required=False) + source_vertical_angle: any(list(include('rules', required=False)), null(), required=False) +LidarSensorView: + view_configuration: any(list(include('rules', required=False)), null(), required=False) + reflection: any(list(include('rules', required=False)), null(), required=False) + Reflection: + signal_strength: any(list(include('rules', required=False)), null(), required=False) + time_of_flight: any(list(include('rules', required=False)), null(), required=False) + doppler_shift: any(list(include('rules', required=False)), null(), required=False) + normal_to_surface: any(list(include('rules', required=False)), null(), required=False) + object_id: any(list(include('rules', required=False)), null(), required=False) +CameraSensorView: + view_configuration: any(list(include('rules', required=False)), null(), required=False) + image_data: any(list(include('rules', required=False)), null(), required=False) +UltrasonicSensorView: + view_configuration: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_sensorviewconfiguration_schema.yml b/rules/input_rules/schema/osi_sensorviewconfiguration_schema.yml new file mode 100644 index 0000000..0a2b73d --- /dev/null +++ b/rules/input_rules/schema/osi_sensorviewconfiguration_schema.yml @@ -0,0 +1,88 @@ +SensorViewConfiguration: + version: any(list(include('rules', required=False)), null(), required=False) + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + field_of_view_horizontal: any(list(include('rules', required=False)), null(), required=False) + field_of_view_vertical: any(list(include('rules', required=False)), null(), required=False) + range: any(list(include('rules', required=False)), null(), required=False) + update_cycle_time: any(list(include('rules', required=False)), null(), required=False) + update_cycle_offset: any(list(include('rules', required=False)), null(), required=False) + simulation_start_time: any(list(include('rules', required=False)), null(), required=False) + omit_static_information: any(list(include('rules', required=False)), null(), required=False) + generic_sensor_view_configuration: any(list(include('rules', required=False)), null(), required=False) + radar_sensor_view_configuration: any(list(include('rules', required=False)), null(), required=False) + lidar_sensor_view_configuration: any(list(include('rules', required=False)), null(), required=False) + camera_sensor_view_configuration: any(list(include('rules', required=False)), null(), required=False) + ultrasonic_sensor_view_configuration: any(list(include('rules', required=False)), null(), required=False) +GenericSensorViewConfiguration: + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + field_of_view_horizontal: any(list(include('rules', required=False)), null(), required=False) + field_of_view_vertical: any(list(include('rules', required=False)), null(), required=False) +RadarSensorViewConfiguration: + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + field_of_view_horizontal: any(list(include('rules', required=False)), null(), required=False) + field_of_view_vertical: any(list(include('rules', required=False)), null(), required=False) + number_of_rays_horizontal: any(list(include('rules', required=False)), null(), required=False) + number_of_rays_vertical: any(list(include('rules', required=False)), null(), required=False) + max_number_of_interactions: any(list(include('rules', required=False)), null(), required=False) + emitter_frequency: any(list(include('rules', required=False)), null(), required=False) + tx_antenna_diagram: any(list(include('rules', required=False)), null(), required=False) + rx_antenna_diagram: any(list(include('rules', required=False)), null(), required=False) + AntennaDiagramEntry: + horizontal_angle: any(list(include('rules', required=False)), null(), required=False) + vertical_angle: any(list(include('rules', required=False)), null(), required=False) + response: any(list(include('rules', required=False)), null(), required=False) +LidarSensorViewConfiguration: + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + field_of_view_horizontal: any(list(include('rules', required=False)), null(), required=False) + field_of_view_vertical: any(list(include('rules', required=False)), null(), required=False) + number_of_rays_horizontal: any(list(include('rules', required=False)), null(), required=False) + number_of_rays_vertical: any(list(include('rules', required=False)), null(), required=False) + max_number_of_interactions: any(list(include('rules', required=False)), null(), required=False) + emitter_frequency: any(list(include('rules', required=False)), null(), required=False) + num_of_pixels: any(list(include('rules', required=False)), null(), required=False) + directions: any(list(include('rules', required=False)), null(), required=False) + timings: any(list(include('rules', required=False)), null(), required=False) +CameraSensorViewConfiguration: + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + field_of_view_horizontal: any(list(include('rules', required=False)), null(), required=False) + field_of_view_vertical: any(list(include('rules', required=False)), null(), required=False) + number_of_pixels_horizontal: any(list(include('rules', required=False)), null(), required=False) + number_of_pixels_vertical: any(list(include('rules', required=False)), null(), required=False) + channel_format: any(list(include('rules', required=False)), null(), required=False) + samples_per_pixel: any(list(include('rules', required=False)), null(), required=False) + max_number_of_interactions: any(list(include('rules', required=False)), null(), required=False) + wavelength_data: any(list(include('rules', required=False)), null(), required=False) + pixel_order: any(list(include('rules', required=False)), null(), required=False) +UltrasonicSensorViewConfiguration: + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + field_of_view_horizontal: any(list(include('rules', required=False)), null(), required=False) + field_of_view_vertical: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_streamingupdate_schema.yml b/rules/input_rules/schema/osi_streamingupdate_schema.yml new file mode 100644 index 0000000..d1e7e28 --- /dev/null +++ b/rules/input_rules/schema/osi_streamingupdate_schema.yml @@ -0,0 +1,27 @@ +StreamingUpdate: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + stationary_object_update: any(list(include('rules', required=False)), null(), required=False) + moving_object_update: any(list(include('rules', required=False)), null(), required=False) + traffic_sign_update: any(list(include('rules', required=False)), null(), required=False) + traffic_light_update: any(list(include('rules', required=False)), null(), required=False) + environmental_conditions_update: any(list(include('rules', required=False)), null(), required=False) + host_vehicle_data_update: any(list(include('rules', required=False)), null(), required=False) + obsolete_id: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_trafficcommand_schema.yml b/rules/input_rules/schema/osi_trafficcommand_schema.yml new file mode 100644 index 0000000..6c8bef2 --- /dev/null +++ b/rules/input_rules/schema/osi_trafficcommand_schema.yml @@ -0,0 +1,91 @@ +TrafficCommand: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + traffic_participant_id: any(list(include('rules', required=False)), null(), required=False) + action: any(list(include('rules', required=False)), null(), required=False) +TrafficAction: + follow_trajectory_action: any(list(include('rules', required=False)), null(), required=False) + follow_path_action: any(list(include('rules', required=False)), null(), required=False) + acquire_global_position_action: any(list(include('rules', required=False)), null(), required=False) + custom_action: any(list(include('rules', required=False)), null(), required=False) + longitudinal_distance_action: any(list(include('rules', required=False)), null(), required=False) + lane_offset_action: any(list(include('rules', required=False)), null(), required=False) + lateral_distance_action: any(list(include('rules', required=False)), null(), required=False) + teleport_action: any(list(include('rules', required=False)), null(), required=False) + ActionHeader: + action_id: any(list(include('rules', required=False)), null(), required=False) + DynamicConstraints: + max_acceleration: any(list(include('rules', required=False)), null(), required=False) + max_deceleration: any(list(include('rules', required=False)), null(), required=False) + max_speed: any(list(include('rules', required=False)), null(), required=False) + FollowTrajectoryAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + trajectory_point: any(list(include('rules', required=False)), null(), required=False) + constrain_orientation: any(list(include('rules', required=False)), null(), required=False) + following_mode: any(list(include('rules', required=False)), null(), required=False) + FollowPathAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + path_point: any(list(include('rules', required=False)), null(), required=False) + constrain_orientation: any(list(include('rules', required=False)), null(), required=False) + following_mode: any(list(include('rules', required=False)), null(), required=False) + AcquireGlobalPositionAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + LaneChangeAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + relative_target_lane: any(list(include('rules', required=False)), null(), required=False) + dynamics_shape: any(list(include('rules', required=False)), null(), required=False) + distance: any(list(include('rules', required=False)), null(), required=False) + SpeedAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + absolute_target_speed: any(list(include('rules', required=False)), null(), required=False) + dynamics_shape: any(list(include('rules', required=False)), null(), required=False) + distance: any(list(include('rules', required=False)), null(), required=False) + AbortActionsAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + EndActionsAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + CustomAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + command: any(list(include('rules', required=False)), null(), required=False) + command_type: any(list(include('rules', required=False)), null(), required=False) + LongitudinalDistanceAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + target_traffic_participant_id: any(list(include('rules', required=False)), null(), required=False) + distance: any(list(include('rules', required=False)), null(), required=False) + freespace: any(list(include('rules', required=False)), null(), required=False) + follow: any(list(include('rules', required=False)), null(), required=False) + dynamic_constraints: any(list(include('rules', required=False)), null(), required=False) + LateralDistanceAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + target_traffic_participant_id: any(list(include('rules', required=False)), null(), required=False) + distance: any(list(include('rules', required=False)), null(), required=False) + freespace: any(list(include('rules', required=False)), null(), required=False) + follow: any(list(include('rules', required=False)), null(), required=False) + dynamic_constraints: any(list(include('rules', required=False)), null(), required=False) + LaneOffsetAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + target_lane_offset: any(list(include('rules', required=False)), null(), required=False) + dynamics_shape: any(list(include('rules', required=False)), null(), required=False) + TeleportAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_trafficcommandupdate_schema.yml b/rules/input_rules/schema/osi_trafficcommandupdate_schema.yml new file mode 100644 index 0000000..f2928c3 --- /dev/null +++ b/rules/input_rules/schema/osi_trafficcommandupdate_schema.yml @@ -0,0 +1,25 @@ +TrafficCommandUpdate: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + traffic_participant_id: any(list(include('rules', required=False)), null(), required=False) + dismissed_action: any(list(include('rules', required=False)), null(), required=False) + DismissedAction: + dismissed_action_id: any(list(include('rules', required=False)), null(), required=False) + failure_reason: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_trafficlight_schema.yml b/rules/input_rules/schema/osi_trafficlight_schema.yml new file mode 100644 index 0000000..20db3ed --- /dev/null +++ b/rules/input_rules/schema/osi_trafficlight_schema.yml @@ -0,0 +1,32 @@ +TrafficLight: + id: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + Classification: + color: any(list(include('rules', required=False)), null(), required=False) + icon: any(list(include('rules', required=False)), null(), required=False) + mode: any(list(include('rules', required=False)), null(), required=False) + counter: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + is_out_of_service: any(list(include('rules', required=False)), null(), required=False) + logical_lane_assignment: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_trafficsign_schema.yml b/rules/input_rules/schema/osi_trafficsign_schema.yml new file mode 100644 index 0000000..22830bd --- /dev/null +++ b/rules/input_rules/schema/osi_trafficsign_schema.yml @@ -0,0 +1,63 @@ +TrafficSignValue: + value: any(list(include('rules', required=False)), null(), required=False) + value_unit: any(list(include('rules', required=False)), null(), required=False) + text: any(list(include('rules', required=False)), null(), required=False) +TrafficSign: + id: any(list(include('rules', required=False)), null(), required=False) + main_sign: any(list(include('rules', required=False)), null(), required=False) + supplementary_sign: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + MainSign: + base: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) + Classification: + variability: any(list(include('rules', required=False)), null(), required=False) + type: any(list(include('rules', required=False)), null(), required=False) + value: any(list(include('rules', required=False)), null(), required=False) + direction_scope: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + vertically_mirrored: any(list(include('rules', required=False)), null(), required=False) + is_out_of_service: any(list(include('rules', required=False)), null(), required=False) + country: any(list(include('rules', required=False)), null(), required=False) + country_revision: any(list(include('rules', required=False)), null(), required=False) + code: any(list(include('rules', required=False)), null(), required=False) + sub_code: any(list(include('rules', required=False)), null(), required=False) + logical_lane_assignment: any(list(include('rules', required=False)), null(), required=False) + SupplementarySign: + base: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) + Classification: + variability: any(list(include('rules', required=False)), null(), required=False) + type: any(list(include('rules', required=False)), null(), required=False) + value: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + actor: any(list(include('rules', required=False)), null(), required=False) + arrow: any(list(include('rules', required=False)), null(), required=False) + is_out_of_service: any(list(include('rules', required=False)), null(), required=False) + country: any(list(include('rules', required=False)), null(), required=False) + country_revision: any(list(include('rules', required=False)), null(), required=False) + code: any(list(include('rules', required=False)), null(), required=False) + sub_code: any(list(include('rules', required=False)), null(), required=False) + logical_lane_assignment: any(list(include('rules', required=False)), null(), required=False) + Arrow: + lane_id: any(list(include('rules', required=False)), null(), required=False) + direction: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_trafficupdate_schema.yml b/rules/input_rules/schema/osi_trafficupdate_schema.yml new file mode 100644 index 0000000..54c5f3d --- /dev/null +++ b/rules/input_rules/schema/osi_trafficupdate_schema.yml @@ -0,0 +1,22 @@ +TrafficUpdate: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + update: any(list(include('rules', required=False)), null(), required=False) + internal_state: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/input_rules/schema/osi_version_schema.yml b/rules/input_rules/schema/osi_version_schema.yml new file mode 100644 index 0000000..8c59006 --- /dev/null +++ b/rules/input_rules/schema/osi_version_schema.yml @@ -0,0 +1,22 @@ +InterfaceVersion: + version_major: any(list(include('rules', required=False)), null(), required=False) + version_minor: any(list(include('rules', required=False)), null(), required=False) + version_patch: any(list(include('rules', required=False)), null(), required=False) + current_interface_version: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/osi_common.yml b/rules/output_rules/osi_common.yml new file mode 100644 index 0000000..439bd19 --- /dev/null +++ b/rules/output_rules/osi_common.yml @@ -0,0 +1,130 @@ +Vector3d: + x: + y: + z: +Vector2d: + x: + y: +Timestamp: + seconds: + - is_greater_than_or_equal_to: 0 + nanos: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 999999999 +Dimension3d: + length: + - is_greater_than_or_equal_to: 0 + width: + - is_greater_than_or_equal_to: 0 + height: + - is_greater_than_or_equal_to: 0 +Orientation3d: + roll: + pitch: + yaw: +Identifier: + value: + - is_greater_than_or_equal_to: 0 +ExternalReference: + reference: + type: + - is_set: + identifier: +MountingPosition: + position: + orientation: +Spherical3d: + distance: + - is_greater_than_or_equal_to: 0 + azimuth: + elevation: +LogicalLaneAssignment: + assigned_lane_id: + - refers_to: LogicalLane + s_position: + t_position: + angle_to_lane: +BoundingBox: + dimension: + position: + orientation: + contained_object_type: + model_reference: +BaseStationary: + dimension: + position: + orientation: + base_polygon: + bounding_box_section: +BaseMoving: + dimension: + - is_set: + position: + - is_set: + orientation: + velocity: + acceleration: + orientation_rate: + orientation_acceleration: + base_polygon: + bounding_box_section: +StatePoint: + timestamp: + position: + orientation: +WavelengthData: + start: + end: + samples_number: +SpatialSignalStrength: + horizontal_angle: + vertical_angle: + signal_strength: +ColorDescription: + grey: + rgb: + rgbir: + hsv: + luv: + cmyk: +ColorGrey: + grey: +ColorRGB: + red: + green: + blue: +ColorRGBIR: + red: + green: + blue: + infrared: +ColorHSV: + hue: + saturation: + value: +ColorLUV: + luminance: + u: + v: +ColorCMYK: + cyan: + magenta: + yellow: + key: +Pedalry: + pedal_position_acceleration: + pedal_position_brake: + pedal_position_clutch: +VehicleSteeringWheel: + angle: + angular_speed: + torque: +GeodeticPosition: + longitude: + latitude: + altitude: +KeyValuePair: + key: + value: +Polygon3d: + vertex: diff --git a/rules/output_rules/osi_datarecording.yml b/rules/output_rules/osi_datarecording.yml new file mode 100644 index 0000000..65ca3b5 --- /dev/null +++ b/rules/output_rules/osi_datarecording.yml @@ -0,0 +1,4 @@ +SensorDataSeries: + sensor_data: +SensorDataSeriesList: + sensor: diff --git a/rules/output_rules/osi_detectedlane.yml b/rules/output_rules/osi_detectedlane.yml new file mode 100644 index 0000000..17e2899 --- /dev/null +++ b/rules/output_rules/osi_detectedlane.yml @@ -0,0 +1,22 @@ +DetectedLane: + header: + candidate: + CandidateLane: + probability: + - is_less_than_or_equal_to: 1 + - is_greater_than_or_equal_to: 0 + classification: +DetectedLaneBoundary: + header: + candidate: + boundary_line: + boundary_line_rmse: + boundary_line_confidences: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + color_description: + CandidateLaneBoundary: + probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + classification: diff --git a/rules/output_rules/osi_detectedobject.yml b/rules/output_rules/osi_detectedobject.yml new file mode 100644 index 0000000..170493f --- /dev/null +++ b/rules/output_rules/osi_detectedobject.yml @@ -0,0 +1,69 @@ +DetectedItemHeader: + tracking_id: + - is_set: + ground_truth_id: + - is_set: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + age: + measurement_state: + - is_set: + sensor_id: + - is_set: +DetectedStationaryObject: + header: + base: + base_rmse: + candidate: + color_description: + radar_specifics: + lidar_specifics: + camera_specifics: + ultrasonic_specifics: + CandidateStationaryObject: + probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + classification: +DetectedMovingObject: + header: + base: + base_rmse: + reference_point: + movement_state: + percentage_side_lane_left: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 100 + percentage_side_lane_right: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 100 + candidate: + color_description: + radar_specifics: + lidar_specifics: + camera_specifics: + ultrasonic_specifics: + CandidateMovingObject: + probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + type: + vehicle_classification: + - check_if: + - is_equal_to: 2 + target: this.type + do_check: + - is_set: + head_pose: + - check_if: + - is_equal_to: 3 + target: this.type + do_check: + - is_set: + upper_body_pose: + - check_if: + - is_equal_to: 3 + target: this.type + do_check: + - is_set: diff --git a/rules/output_rules/osi_detectedoccupant.yml b/rules/output_rules/osi_detectedoccupant.yml new file mode 100644 index 0000000..b41e5a9 --- /dev/null +++ b/rules/output_rules/osi_detectedoccupant.yml @@ -0,0 +1,8 @@ +DetectedOccupant: + header: + candidate: + CandidateOccupant: + probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + classification: diff --git a/rules/output_rules/osi_detectedroadmarking.yml b/rules/output_rules/osi_detectedroadmarking.yml new file mode 100644 index 0000000..a934bd2 --- /dev/null +++ b/rules/output_rules/osi_detectedroadmarking.yml @@ -0,0 +1,11 @@ +DetectedRoadMarking: + header: + base: + base_rmse: + candidate: + color_description: + CandidateRoadMarking: + probability: + - is_less_than_or_equal_to: 1 + - is_greater_than_or_equal_to: 0 + classification: diff --git a/rules/output_rules/osi_detectedtrafficlight.yml b/rules/output_rules/osi_detectedtrafficlight.yml new file mode 100644 index 0000000..e4e48cc --- /dev/null +++ b/rules/output_rules/osi_detectedtrafficlight.yml @@ -0,0 +1,11 @@ +DetectedTrafficLight: + header: + base: + base_rmse: + candidate: + color_description: + CandidateTrafficLight: + probability: + - is_less_than_or_equal_to: 1 + - is_greater_than_or_equal_to: 0 + classification: diff --git a/rules/output_rules/osi_detectedtrafficsign.yml b/rules/output_rules/osi_detectedtrafficsign.yml new file mode 100644 index 0000000..c5640cb --- /dev/null +++ b/rules/output_rules/osi_detectedtrafficsign.yml @@ -0,0 +1,23 @@ +DetectedTrafficSign: + header: + main_sign: + supplementary_sign: + DetectedMainSign: + candidate: + base: + base_rmse: + geometry: + CandidateMainSign: + probability: + - is_less_than_or_equal_to: 1 + - is_greater_than_or_equal_to: 0 + classification: + DetectedSupplementarySign: + candidate: + base: + base_rmse: + CandidateSupplementarySign: + probability: + - is_less_than_or_equal_to: 1 + - is_greater_than_or_equal_to: 0 + classification: diff --git a/rules/output_rules/osi_environment.yml b/rules/output_rules/osi_environment.yml new file mode 100644 index 0000000..57f3998 --- /dev/null +++ b/rules/output_rules/osi_environment.yml @@ -0,0 +1,34 @@ +EnvironmentalConditions: + ambient_illumination: + time_of_day: + unix_timestamp: + atmospheric_pressure: + - is_greater_than_or_equal_to: 80000 + - is_less_than_or_equal_to: 120000 + temperature: + - is_greater_than_or_equal_to: 170 + - is_less_than_or_equal_to: 340 + relative_humidity: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 100 + precipitation: + fog: + source_reference: + clouds: + wind: + sun: + TimeOfDay: + seconds_since_midnight: + - is_greater_than_or_equal_to: 0 + - is_less_than: 86400 + CloudLayer: + fractional_cloud_cover: + Wind: + origin_direction: + speed: + - is_greater_than_or_equal_to: 0 + Sun: + azimuth: + elevation: + intensity: + - is_greater_than_or_equal_to: 0 diff --git a/rules/output_rules/osi_featuredata.yml b/rules/output_rules/osi_featuredata.yml new file mode 100644 index 0000000..97c2b14 --- /dev/null +++ b/rules/output_rules/osi_featuredata.yml @@ -0,0 +1,149 @@ +FeatureData: + version: + radar_sensor: + lidar_sensor: + ultrasonic_sensor: + camera_sensor: +SensorDetectionHeader: + measurement_time: + cycle_counter: + - is_greater_than_or_equal_to: 0 + mounting_position: + - is_set: + mounting_position_rmse: + data_qualifier: + number_of_valid_detections: + - is_greater_than_or_equal_to: 0 + sensor_id: + - is_set: + extended_qualifier: +RadarDetectionData: + header: + detection: +RadarDetection: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + object_id: + - refers_to: DetectedObject + position: + position_rmse: + radial_velocity: + radial_velocity_rmse: + - is_greater_than_or_equal_to: 0 + rcs: + snr: + point_target_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + ambiguity_id: + classification: +LidarDetectionData: + header: + detection: +LidarDetection: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + object_id: + - refers_to: DetectedObject + position: + position_rmse: + height: + - is_greater_than_or_equal_to: 0 + height_rmse: + - is_greater_than_or_equal_to: 0 + intensity: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 100 + free_space_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + classification: + reflectivity: + echo_pulse_width: + - is_greater_than_or_equal_to: 0 + radial_velocity: + beam_id: +UltrasonicDetectionSpecificHeader: + max_range: + number_of_valid_indirect_detections: +UltrasonicDetectionData: + header: + specific_header: + detection: + indirect_detection: +UltrasonicDetection: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + object_id: + - refers_to: DetectedObject + distance: + - is_greater_than_or_equal_to: 0 +UltrasonicIndirectDetection: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + object_id: + - refers_to: DetectedObject + ellipsoid_radial: + ellipsoid_axial: + receiver_id: + receiver_origin: +CameraDetectionSpecificHeader: + number_of_valid_points: + - is_greater_than_or_equal_to: 0 +CameraDetectionData: + header: + specific_header: + detection: + point: +CameraDetection: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + object_id: + - refers_to: DetectedObject + time_difference: + image_shape_type: + shape_classification_background: + shape_classification_foreground: + shape_classification_flat: + shape_classification_upright: + shape_classification_ground: + shape_classification_sky: + shape_classification_vegetation: + shape_classification_road: + shape_classification_non_driving_lane: + shape_classification_non_road: + shape_classification_stationary_object: + shape_classification_moving_object: + shape_classification_landmark: + shape_classification_traffic_sign: + shape_classification_traffic_light: + shape_classification_road_marking: + shape_classification_vehicle: + shape_classification_pedestrian: + shape_classification_animal: + shape_classification_pedestrian_front: + shape_classification_pedestrian_side: + shape_classification_pedestrian_rear: + shape_classification_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + color: + color_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + ambiguity_id: + first_point_index: + number_of_points: + - is_greater_than_or_equal_to: 0 + color_description: +CameraPoint: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + point: + point_rmse: diff --git a/rules/output_rules/osi_groundtruth.yml b/rules/output_rules/osi_groundtruth.yml new file mode 100644 index 0000000..1ce07b7 --- /dev/null +++ b/rules/output_rules/osi_groundtruth.yml @@ -0,0 +1,29 @@ +GroundTruth: + version: + - is_set: + timestamp: + - is_set: + host_vehicle_id: + - refers_to: MovingObject + - is_set: + stationary_object: + moving_object: + traffic_sign: + traffic_light: + road_marking: + lane_boundary: + lane: + occupant: + environmental_conditions: + country_code: + - is_iso_country_code: + proj_string: + map_reference: + model_reference: + reference_line: + logical_lane_boundary: + logical_lane: + proj_frame_offset: + ProjFrameOffset: + position: + yaw: diff --git a/rules/output_rules/osi_hostvehicledata.yml b/rules/output_rules/osi_hostvehicledata.yml new file mode 100644 index 0000000..14fb887 --- /dev/null +++ b/rules/output_rules/osi_hostvehicledata.yml @@ -0,0 +1,59 @@ +HostVehicleData: + version: + timestamp: + host_vehicle_id: + location: + location_rmse: + vehicle_basics: + vehicle_powertrain: + vehicle_brake_system: + vehicle_steering: + vehicle_wheels: + vehicle_localization: + vehicle_automated_driving_function: + vehicle_motion: + route: + VehicleBasics: + curb_weight: + operating_state: + VehiclePowertrain: + pedal_position_acceleration: + pedal_position_clutch: + gear_transmission: + motor: + Motor: + type: + rpm: + torque: + VehicleBrakeSystem: + pedal_position_brake: + VehicleSteering: + vehicle_steering_wheel: + VehicleWheels: + wheel_data: + WheelData: + axle: + index: + rotation_rate: + slip: + VehicleLocalization: + position: + orientation: + geodetic_position: + VehicleMotion: + position: + orientation: + velocity: + orientation_rate: + acceleration: + current_curvature: + VehicleAutomatedDrivingFunction: + name: + custom_name: + state: + custom_state: + driver_override: + custom_detail: + DriverOverride: + active: + override_reason: diff --git a/rules/output_rules/osi_lane.yml b/rules/output_rules/osi_lane.yml new file mode 100644 index 0000000..64f31c0 --- /dev/null +++ b/rules/output_rules/osi_lane.yml @@ -0,0 +1,90 @@ +Lane: + id: + - is_globally_unique: + - is_set: + classification: + source_reference: + Classification: + type: + is_host_vehicle_lane: + centerline: + centerline_is_driving_direction: + left_adjacent_lane_id: + - check_if: + - is_different_to: 4 + target: this.type + do_check: + - is_set: + right_adjacent_lane_id: + - check_if: + - is_different_to: 4 + target: this.type + do_check: + - is_set: + lane_pairing: + right_lane_boundary_id: + - check_if: + - is_different_to: 4 + target: this.type + do_check: + - is_set: + left_lane_boundary_id: + - check_if: + - is_different_to: 4 + target: this.type + do_check: + - is_set: + free_lane_boundary_id: + - check_if: + - is_different_to: 4 + target: this.type + do_check: + - is_set: + road_condition: + subtype: + RoadCondition: + surface_temperature: + - is_greater_than_or_equal_to: 0 + surface_water_film: + - is_greater_than_or_equal_to: 0 + surface_freezing_point: + - is_greater_than_or_equal_to: 0 + surface_ice: + - is_greater_than_or_equal_to: 0 + surface_roughness: + - is_greater_than_or_equal_to: 0 + surface_texture: + LanePairing: + antecessor_lane_id: + - refers_to: Lane + successor_lane_id: + - refers_to: Lane +LaneBoundary: + id: + - is_globally_unique: + boundary_line: + - first_element: + width: + - is_equal_to: 0.13 + - first_element: + height: + - is_equal_to: 0.14 + - last_element: + width: + - is_equal_to: 0.13 + - last_element: + height: + - is_equal_to: 0.13 + classification: + source_reference: + color_description: + BoundaryPoint: + position: + width: + height: + dash: + Classification: + type: + color: + limiting_structure_id: + - refers_to: StationaryObject diff --git a/rules/output_rules/osi_logicaldetectiondata.yml b/rules/output_rules/osi_logicaldetectiondata.yml new file mode 100644 index 0000000..9935c0d --- /dev/null +++ b/rules/output_rules/osi_logicaldetectiondata.yml @@ -0,0 +1,33 @@ +LogicalDetectionData: + version: + - is_set: + header: + logical_detection: +LogicalDetectionDataHeader: + logical_detection_time: + data_qualifier: + number_of_valid_logical_detections: + - is_greater_than_or_equal_to: 0 + sensor_id: +LogicalDetection: + existence_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + object_id: + - refers_to: DetectedObject + position: + position_rmse: + velocity: + velocity_rmse: + - is_greater_than_or_equal_to: 0 + intensity: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 100 + snr: + point_target_probability: + - is_greater_than_or_equal_to: 0 + - is_less_than_or_equal_to: 1 + sensor_id: + classification: + echo_pulse_width: + - is_greater_than_or_equal_to: 0 diff --git a/rules/output_rules/osi_logicallane.yml b/rules/output_rules/osi_logicallane.yml new file mode 100644 index 0000000..5f2c3ee --- /dev/null +++ b/rules/output_rules/osi_logicallane.yml @@ -0,0 +1,68 @@ +LogicalLaneBoundary: + id: + - is_globally_unique: + - is_set: + boundary_line: + reference_line_id: + - refers_to: ReferenceLine + physical_boundary_id: + - refers_to: LaneBoundary + passing_rule: + source_reference: + LogicalBoundaryPoint: + position: + s_position: + t_position: +LogicalLane: + id: + - is_globally_unique: + type: + source_reference: + physical_lane_reference: + - refers_to: Lane + reference_line_id: + - refers_to: ReferenceLine + start_s: + end_s: + move_direction: + right_adjacent_lane: + left_adjacent_lane: + overlapping_lane: + right_boundary_id: + - refers_to: LogicalLaneBoundary + left_boundary_id: + - refers_to: LogicalLaneBoundary + predecessor_lane: + successor_lane: + street_name: + traffic_rule: + PhysicalLaneReference: + physical_lane_id: + - refers_to: Lane + start_s: + end_s: + LaneConnection: + other_lane_id: + - refers_to: LogicalLane + at_begin_of_other_lane: + LaneRelation: + other_lane_id: + - refers_to: LogicalLane + start_s: + end_s: + start_s_other: + end_s_other: + TrafficRule: + traffic_rule_type: + traffic_rule_validity: + speed_limit: + TrafficRuleValidity: + start_s: + end_s: + valid_for_type: + TypeValidity: + type: + vehicle_type: + vehicle_role: + SpeedLimit: + speed_limit_value: diff --git a/rules/output_rules/osi_motionrequest.yml b/rules/output_rules/osi_motionrequest.yml new file mode 100644 index 0000000..22aa7eb --- /dev/null +++ b/rules/output_rules/osi_motionrequest.yml @@ -0,0 +1,16 @@ +MotionRequest: + version: + - is_set: + timestamp: + - is_set: + motion_request_type: + desired_state: + desired_trajectory: + DesiredState: + timestamp: + position: + orientation: + velocity: + acceleration: + DesiredTrajectory: + trajectory_point: diff --git a/rules/output_rules/osi_object.yml b/rules/output_rules/osi_object.yml new file mode 100644 index 0000000..5ebfd10 --- /dev/null +++ b/rules/output_rules/osi_object.yml @@ -0,0 +1,110 @@ +StationaryObject: + id: + - is_globally_unique: + - is_set: + base: + classification: + model_reference: + source_reference: + color_description: + Classification: + type: + material: + density: + color: + emitting_structure_attribute: + assigned_lane_id: + assigned_lane_percentage: + logical_lane_assignment: + EmittingStructureAttribute: + wavelength_data: + emitted_spatial_signal_strength: +MovingObject: + id: + - is_globally_unique: + - is_set: + base: + type: + assigned_lane_id: + vehicle_attributes: + - check_if: + - is_equal_to: 2 + target: this.type + do_check: + - is_set: + vehicle_classification: + - check_if: + - is_equal_to: 2 + target: this.type + do_check: + - is_set: + model_reference: + future_trajectory: + moving_object_classification: + source_reference: + color_description: + pedestrian_attributes: + - check_if: + - is_equal_to: 3 + target: this.type + do_check: + - is_set: + VehicleAttributes: + driver_id: + radius_wheel: + - is_greater_than_or_equal_to: 0 + number_wheels: + - is_greater_than_or_equal_to: 1 + bbcenter_to_rear: + bbcenter_to_front: + ground_clearance: + wheel_data: + steering_wheel_angle: + WheelData: + axle: + index: + position: + wheel_radius: + rim_radius: + width: + orientation: + rotation_rate: + model_reference: + friction_coefficient: + MovingObjectClassification: + assigned_lane_id: + assigned_lane_percentage: + logical_lane_assignment: + VehicleClassification: + type: + light_state: + has_trailer: + trailer_id: + - check_if: + - is_equal_to: true + target: this.has_trailer + do_check: + - is_set: + role: + LightState: + indicator_state: + front_fog_light: + rear_fog_light: + head_light: + high_beam: + reversing_light: + brake_light_state: + license_plate_illumination_rear: + emergency_vehicle_illumination: + service_vehicle_illumination: + PedestrianAttributes: + bbcenter_to_root: + skeleton_bone: + Bone: + type: + position: + orientation: + length: + missing: + velocity: + orientation_rate: diff --git a/rules/output_rules/osi_occupant.yml b/rules/output_rules/osi_occupant.yml new file mode 100644 index 0000000..062e01a --- /dev/null +++ b/rules/output_rules/osi_occupant.yml @@ -0,0 +1,9 @@ +Occupant: + id: + - is_globally_unique: + classification: + source_reference: + Classification: + is_driver: + seat: + steering_control: diff --git a/rules/output_rules/osi_referenceline.yml b/rules/output_rules/osi_referenceline.yml new file mode 100644 index 0000000..535bdc6 --- /dev/null +++ b/rules/output_rules/osi_referenceline.yml @@ -0,0 +1,10 @@ +ReferenceLine: + id: + - is_globally_unique: + - is_set: + type: + poly_line: + ReferenceLinePoint: + world_position: + s_position: + t_axis_yaw: diff --git a/rules/output_rules/osi_roadmarking.yml b/rules/output_rules/osi_roadmarking.yml new file mode 100644 index 0000000..37b14e7 --- /dev/null +++ b/rules/output_rules/osi_roadmarking.yml @@ -0,0 +1,81 @@ +RoadMarking: + id: + - is_set: + base: + classification: + source_reference: + color_description: + Classification: + type: + traffic_main_sign_type: + - check_if: + - is_greater_than_or_equal_to: 2 + target: this.type + do_check: + - is_set: + - check_if: + - is_less_than_or_equal_to: 4 + target: this.type + do_check: + - is_set: + monochrome_color: + - check_if: + - is_equal_to: 2 + target: this.type + do_check: + - is_set: + - check_if: + - is_equal_to: 1 + target: this.monochrome_color + do_check: + - is_set: + value: + value_text: + assigned_lane_id: + - refers_to: Lane + is_out_of_service: + country: + - check_if: + - is_greater_than_or_equal_to: 2 + target: this.type + do_check: + - is_set: + - check_if: + - is_less_than_or_equal_to: 4 + target: this.type + do_check: + - is_set: + country_revision: + - check_if: + - is_greater_than_or_equal_to: 2 + target: this.type + do_check: + - is_set: + - check_if: + - is_less_than_or_equal_to: 4 + target: this.type + do_check: + - is_set: + code: + - check_if: + - is_greater_than_or_equal_to: 2 + target: this.type + do_check: + - is_set: + - check_if: + - is_less_than_or_equal_to: 4 + target: this.type + do_check: + - is_set: + sub_code: + - check_if: + - is_greater_than_or_equal_to: 2 + target: this.type + do_check: + - is_set: + - check_if: + - is_less_than_or_equal_to: 4 + target: this.type + do_check: + - is_set: + logical_lane_assignment: diff --git a/rules/output_rules/osi_route.yml b/rules/output_rules/osi_route.yml new file mode 100644 index 0000000..9621c28 --- /dev/null +++ b/rules/output_rules/osi_route.yml @@ -0,0 +1,11 @@ +Route: + route_id: + - is_set: + route_segment: + LogicalLaneSegment: + logical_lane_id: + - refers_to: LogicalLane + start_s: + end_s: + RouteSegment: + lane_segment: diff --git a/rules/output_rules/osi_sensordata.yml b/rules/output_rules/osi_sensordata.yml new file mode 100644 index 0000000..be3bda5 --- /dev/null +++ b/rules/output_rules/osi_sensordata.yml @@ -0,0 +1,40 @@ +DetectedEntityHeader: + measurement_time: + cycle_counter: + data_qualifier: +SensorData: + version: + - is_set: + timestamp: + - is_set: + host_vehicle_location: + host_vehicle_location_rmse: + sensor_id: + - is_set: + mounting_position: + - is_set: + mounting_position_rmse: + sensor_view: + last_measurement_time: + stationary_object_header: + stationary_object: + moving_object_header: + moving_object: + traffic_sign_header: + traffic_sign: + traffic_light_header: + traffic_light: + road_marking_header: + road_marking: + lane_boundary_header: + lane_boundary: + lane_header: + lane: + occupant_header: + occupant: + feature_data: + logical_detection_data: + VirtualDetectionArea: + polygon: + virtual_detection_area: + system_time: diff --git a/rules/output_rules/osi_sensorspecific.yml b/rules/output_rules/osi_sensorspecific.yml new file mode 100644 index 0000000..078b330 --- /dev/null +++ b/rules/output_rules/osi_sensorspecific.yml @@ -0,0 +1,14 @@ +RadarSpecificObjectData: + rcs: +LidarSpecificObjectData: + maximum_measurement_distance_sensor: + - is_greater_than_or_equal_to: 0 + probability: + - is_less_than_or_equal_to: 1 + - is_greater_than_or_equal_to: 0 + trilateration_status: + trend: + signalway: + Signalway: + sender_id: + receiver_id: diff --git a/rules/output_rules/osi_sensorview.yml b/rules/output_rules/osi_sensorview.yml new file mode 100644 index 0000000..13239be --- /dev/null +++ b/rules/output_rules/osi_sensorview.yml @@ -0,0 +1,45 @@ +SensorView: + version: + - is_set: + timestamp: + - is_set: + sensor_id: + - is_set: + mounting_position: + - is_set: + mounting_position_rmse: + host_vehicle_data: + global_ground_truth: + host_vehicle_id: + - refers_to: 'MovingObject' + - is_set: + generic_sensor_view: + radar_sensor_view: + lidar_sensor_view: + camera_sensor_view: + ultrasonic_sensor_view: +GenericSensorView: + view_configuration: +RadarSensorView: + view_configuration: + reflection: + Reflection: + signal_strength: + time_of_flight: + doppler_shift: + source_horizontal_angle: + source_vertical_angle: +LidarSensorView: + view_configuration: + reflection: + Reflection: + signal_strength: + time_of_flight: + doppler_shift: + normal_to_surface: + object_id: +CameraSensorView: + view_configuration: + image_data: +UltrasonicSensorView: + view_configuration: diff --git a/rules/output_rules/osi_sensorviewconfiguration.yml b/rules/output_rules/osi_sensorviewconfiguration.yml new file mode 100644 index 0000000..8b3e4d0 --- /dev/null +++ b/rules/output_rules/osi_sensorviewconfiguration.yml @@ -0,0 +1,88 @@ +SensorViewConfiguration: + version: + - is_set: + sensor_id: + - is_set: + mounting_position: + mounting_position_rmse: + field_of_view_horizontal: + field_of_view_vertical: + range: + - is_greater_than_or_equal_to: 0 + update_cycle_time: + update_cycle_offset: + simulation_start_time: + omit_static_information: + generic_sensor_view_configuration: + radar_sensor_view_configuration: + lidar_sensor_view_configuration: + camera_sensor_view_configuration: + ultrasonic_sensor_view_configuration: +GenericSensorViewConfiguration: + sensor_id: + mounting_position: + mounting_position_rmse: + field_of_view_horizontal: + field_of_view_vertical: +RadarSensorViewConfiguration: + sensor_id: + mounting_position: + mounting_position_rmse: + field_of_view_horizontal: + field_of_view_vertical: + number_of_rays_horizontal: + - is_greater_than_or_equal_to: 1 + number_of_rays_vertical: + - is_greater_than_or_equal_to: 1 + max_number_of_interactions: + - is_greater_than_or_equal_to: 1 + emitter_frequency: + - is_greater_than_or_equal_to: 0 + tx_antenna_diagram: + rx_antenna_diagram: + AntennaDiagramEntry: + horizontal_angle: + vertical_angle: + response: +LidarSensorViewConfiguration: + sensor_id: + mounting_position: + mounting_position_rmse: + field_of_view_horizontal: + field_of_view_vertical: + number_of_rays_horizontal: + - is_greater_than_or_equal_to: 1 + number_of_rays_vertical: + - is_greater_than_or_equal_to: 1 + max_number_of_interactions: + - is_greater_than_or_equal_to: 1 + emitter_frequency: + - is_greater_than_or_equal_to: 0 + num_of_pixels: + - is_greater_than_or_equal_to: 1 + directions: + timings: +CameraSensorViewConfiguration: + sensor_id: + mounting_position: + mounting_position_rmse: + field_of_view_horizontal: + field_of_view_vertical: + number_of_pixels_horizontal: + - is_greater_than_or_equal_to: 1 + number_of_pixels_vertical: + - is_greater_than_or_equal_to: 1 + channel_format: + - is_greater_than_or_equal_to: 1 + samples_per_pixel: + - is_greater_than_or_equal_to: 1 + max_number_of_interactions: + - is_greater_than_or_equal_to: 1 + wavelength_data: + pixel_order: +UltrasonicSensorViewConfiguration: + sensor_id: + mounting_position: + mounting_position_rmse: + field_of_view_horizontal: + field_of_view_vertical: diff --git a/rules/output_rules/osi_streamingupdate.yml b/rules/output_rules/osi_streamingupdate.yml new file mode 100644 index 0000000..90d67f3 --- /dev/null +++ b/rules/output_rules/osi_streamingupdate.yml @@ -0,0 +1,12 @@ +StreamingUpdate: + version: + - is_set: + timestamp: + - is_set: + stationary_object_update: + moving_object_update: + traffic_sign_update: + traffic_light_update: + environmental_conditions_update: + host_vehicle_data_update: + obsolete_id: diff --git a/rules/output_rules/osi_trafficcommand.yml b/rules/output_rules/osi_trafficcommand.yml new file mode 100644 index 0000000..a858464 --- /dev/null +++ b/rules/output_rules/osi_trafficcommand.yml @@ -0,0 +1,78 @@ +TrafficCommand: + version: + - is_set: + timestamp: + - is_set: + traffic_participant_id: + - is_set: + action: +TrafficAction: + follow_trajectory_action: + follow_path_action: + acquire_global_position_action: + custom_action: + longitudinal_distance_action: + lane_offset_action: + lateral_distance_action: + teleport_action: + ActionHeader: + action_id: + - is_set: + DynamicConstraints: + max_acceleration: + max_deceleration: + max_speed: + FollowTrajectoryAction: + action_header: + trajectory_point: + constrain_orientation: + following_mode: + FollowPathAction: + action_header: + path_point: + constrain_orientation: + following_mode: + AcquireGlobalPositionAction: + action_header: + position: + orientation: + LaneChangeAction: + action_header: + relative_target_lane: + dynamics_shape: + distance: + SpeedAction: + action_header: + absolute_target_speed: + dynamics_shape: + distance: + AbortActionsAction: + action_header: + EndActionsAction: + action_header: + CustomAction: + action_header: + command: + command_type: + LongitudinalDistanceAction: + action_header: + target_traffic_participant_id: + distance: + freespace: + follow: + dynamic_constraints: + LateralDistanceAction: + action_header: + target_traffic_participant_id: + distance: + freespace: + follow: + dynamic_constraints: + LaneOffsetAction: + action_header: + target_lane_offset: + dynamics_shape: + TeleportAction: + action_header: + position: + orientation: diff --git a/rules/output_rules/osi_trafficcommandupdate.yml b/rules/output_rules/osi_trafficcommandupdate.yml new file mode 100644 index 0000000..5e1f327 --- /dev/null +++ b/rules/output_rules/osi_trafficcommandupdate.yml @@ -0,0 +1,11 @@ +TrafficCommandUpdate: + version: + - is_set: + timestamp: + - is_set: + traffic_participant_id: + - is_set: + dismissed_action: + DismissedAction: + dismissed_action_id: + failure_reason: diff --git a/rules/output_rules/osi_trafficlight.yml b/rules/output_rules/osi_trafficlight.yml new file mode 100644 index 0000000..9e66f9d --- /dev/null +++ b/rules/output_rules/osi_trafficlight.yml @@ -0,0 +1,19 @@ +TrafficLight: + id: + - is_globally_unique: + - is_set: + base: + classification: + model_reference: + source_reference: + color_description: + Classification: + color: + icon: + mode: + counter: + - is_greater_than_or_equal_to: 0 + assigned_lane_id: + - refers_to: Lane + is_out_of_service: + logical_lane_assignment: diff --git a/rules/output_rules/osi_trafficsign.yml b/rules/output_rules/osi_trafficsign.yml new file mode 100644 index 0000000..845d2c5 --- /dev/null +++ b/rules/output_rules/osi_trafficsign.yml @@ -0,0 +1,51 @@ +TrafficSignValue: + value: + value_unit: + text: +TrafficSign: + id: + - is_globally_unique: + - is_set: + main_sign: + supplementary_sign: + source_reference: + MainSign: + base: + classification: + model_reference: + Classification: + variability: + type: + value: + direction_scope: + assigned_lane_id: + - refers_to: Lane + vertically_mirrored: + is_out_of_service: + country: + country_revision: + code: + sub_code: + logical_lane_assignment: + SupplementarySign: + base: + classification: + model_reference: + Classification: + variability: + type: + value: + assigned_lane_id: + - refers_to: Lane + actor: + arrow: + is_out_of_service: + country: + country_revision: + code: + sub_code: + logical_lane_assignment: + Arrow: + lane_id: + - refers_to: Lane + direction: diff --git a/rules/output_rules/osi_trafficupdate.yml b/rules/output_rules/osi_trafficupdate.yml new file mode 100644 index 0000000..8bde406 --- /dev/null +++ b/rules/output_rules/osi_trafficupdate.yml @@ -0,0 +1,7 @@ +TrafficUpdate: + version: + - is_set: + timestamp: + - is_set: + update: + internal_state: diff --git a/rules/output_rules/osi_version.yml b/rules/output_rules/osi_version.yml new file mode 100644 index 0000000..7a2ef64 --- /dev/null +++ b/rules/output_rules/osi_version.yml @@ -0,0 +1,5 @@ +InterfaceVersion: + version_major: + version_minor: + version_patch: + current_interface_version: diff --git a/rules/output_rules/schema/osi_common_schema.yml b/rules/output_rules/schema/osi_common_schema.yml new file mode 100644 index 0000000..6d1ebd2 --- /dev/null +++ b/rules/output_rules/schema/osi_common_schema.yml @@ -0,0 +1,135 @@ +Vector3d: + x: any(list(include('rules', required=False)), null(), required=False) + y: any(list(include('rules', required=False)), null(), required=False) + z: any(list(include('rules', required=False)), null(), required=False) +Vector2d: + x: any(list(include('rules', required=False)), null(), required=False) + y: any(list(include('rules', required=False)), null(), required=False) +Timestamp: + seconds: any(list(include('rules', required=False)), null(), required=False) + nanos: any(list(include('rules', required=False)), null(), required=False) +Dimension3d: + length: any(list(include('rules', required=False)), null(), required=False) + width: any(list(include('rules', required=False)), null(), required=False) + height: any(list(include('rules', required=False)), null(), required=False) +Orientation3d: + roll: any(list(include('rules', required=False)), null(), required=False) + pitch: any(list(include('rules', required=False)), null(), required=False) + yaw: any(list(include('rules', required=False)), null(), required=False) +Identifier: + value: any(list(include('rules', required=False)), null(), required=False) +ExternalReference: + reference: any(list(include('rules', required=False)), null(), required=False) + type: any(list(include('rules', required=False)), null(), required=False) + identifier: any(list(include('rules', required=False)), null(), required=False) +MountingPosition: + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) +Spherical3d: + distance: any(list(include('rules', required=False)), null(), required=False) + azimuth: any(list(include('rules', required=False)), null(), required=False) + elevation: any(list(include('rules', required=False)), null(), required=False) +LogicalLaneAssignment: + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + s_position: any(list(include('rules', required=False)), null(), required=False) + t_position: any(list(include('rules', required=False)), null(), required=False) + angle_to_lane: any(list(include('rules', required=False)), null(), required=False) +BoundingBox: + dimension: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + contained_object_type: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) +BaseStationary: + dimension: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + base_polygon: any(list(include('rules', required=False)), null(), required=False) + bounding_box_section: any(list(include('rules', required=False)), null(), required=False) +BaseMoving: + dimension: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + velocity: any(list(include('rules', required=False)), null(), required=False) + acceleration: any(list(include('rules', required=False)), null(), required=False) + orientation_rate: any(list(include('rules', required=False)), null(), required=False) + orientation_acceleration: any(list(include('rules', required=False)), null(), required=False) + base_polygon: any(list(include('rules', required=False)), null(), required=False) + bounding_box_section: any(list(include('rules', required=False)), null(), required=False) +StatePoint: + timestamp: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) +WavelengthData: + start: any(list(include('rules', required=False)), null(), required=False) + end: any(list(include('rules', required=False)), null(), required=False) + samples_number: any(list(include('rules', required=False)), null(), required=False) +SpatialSignalStrength: + horizontal_angle: any(list(include('rules', required=False)), null(), required=False) + vertical_angle: any(list(include('rules', required=False)), null(), required=False) + signal_strength: any(list(include('rules', required=False)), null(), required=False) +ColorDescription: + grey: any(list(include('rules', required=False)), null(), required=False) + rgb: any(list(include('rules', required=False)), null(), required=False) + rgbir: any(list(include('rules', required=False)), null(), required=False) + hsv: any(list(include('rules', required=False)), null(), required=False) + luv: any(list(include('rules', required=False)), null(), required=False) + cmyk: any(list(include('rules', required=False)), null(), required=False) +ColorGrey: + grey: any(list(include('rules', required=False)), null(), required=False) +ColorRGB: + red: any(list(include('rules', required=False)), null(), required=False) + green: any(list(include('rules', required=False)), null(), required=False) + blue: any(list(include('rules', required=False)), null(), required=False) +ColorRGBIR: + red: any(list(include('rules', required=False)), null(), required=False) + green: any(list(include('rules', required=False)), null(), required=False) + blue: any(list(include('rules', required=False)), null(), required=False) + infrared: any(list(include('rules', required=False)), null(), required=False) +ColorHSV: + hue: any(list(include('rules', required=False)), null(), required=False) + saturation: any(list(include('rules', required=False)), null(), required=False) + value: any(list(include('rules', required=False)), null(), required=False) +ColorLUV: + luminance: any(list(include('rules', required=False)), null(), required=False) + u: any(list(include('rules', required=False)), null(), required=False) + v: any(list(include('rules', required=False)), null(), required=False) +ColorCMYK: + cyan: any(list(include('rules', required=False)), null(), required=False) + magenta: any(list(include('rules', required=False)), null(), required=False) + yellow: any(list(include('rules', required=False)), null(), required=False) + key: any(list(include('rules', required=False)), null(), required=False) +Pedalry: + pedal_position_acceleration: any(list(include('rules', required=False)), null(), required=False) + pedal_position_brake: any(list(include('rules', required=False)), null(), required=False) + pedal_position_clutch: any(list(include('rules', required=False)), null(), required=False) +VehicleSteeringWheel: + angle: any(list(include('rules', required=False)), null(), required=False) + angular_speed: any(list(include('rules', required=False)), null(), required=False) + torque: any(list(include('rules', required=False)), null(), required=False) +GeodeticPosition: + longitude: any(list(include('rules', required=False)), null(), required=False) + latitude: any(list(include('rules', required=False)), null(), required=False) + altitude: any(list(include('rules', required=False)), null(), required=False) +KeyValuePair: + key: any(list(include('rules', required=False)), null(), required=False) + value: any(list(include('rules', required=False)), null(), required=False) +Polygon3d: + vertex: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_datarecording_schema.yml b/rules/output_rules/schema/osi_datarecording_schema.yml new file mode 100644 index 0000000..72f32e7 --- /dev/null +++ b/rules/output_rules/schema/osi_datarecording_schema.yml @@ -0,0 +1,21 @@ +SensorDataSeries: + sensor_data: any(list(include('rules', required=False)), null(), required=False) +SensorDataSeriesList: + sensor: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_detectedlane_schema.yml b/rules/output_rules/schema/osi_detectedlane_schema.yml new file mode 100644 index 0000000..ca56145 --- /dev/null +++ b/rules/output_rules/schema/osi_detectedlane_schema.yml @@ -0,0 +1,33 @@ +DetectedLane: + header: any(list(include('rules', required=False)), null(), required=False) + candidate: any(list(include('rules', required=False)), null(), required=False) + CandidateLane: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +DetectedLaneBoundary: + header: any(list(include('rules', required=False)), null(), required=False) + candidate: any(list(include('rules', required=False)), null(), required=False) + boundary_line: any(list(include('rules', required=False)), null(), required=False) + boundary_line_rmse: any(list(include('rules', required=False)), null(), required=False) + boundary_line_confidences: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + CandidateLaneBoundary: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_detectedobject_schema.yml b/rules/output_rules/schema/osi_detectedobject_schema.yml new file mode 100644 index 0000000..f32536d --- /dev/null +++ b/rules/output_rules/schema/osi_detectedobject_schema.yml @@ -0,0 +1,57 @@ +DetectedItemHeader: + tracking_id: any(list(include('rules', required=False)), null(), required=False) + ground_truth_id: any(list(include('rules', required=False)), null(), required=False) + existence_probability: any(list(include('rules', required=False)), null(), required=False) + age: any(list(include('rules', required=False)), null(), required=False) + measurement_state: any(list(include('rules', required=False)), null(), required=False) + sensor_id: any(list(include('rules', required=False)), null(), required=False) +DetectedStationaryObject: + header: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + base_rmse: any(list(include('rules', required=False)), null(), required=False) + candidate: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + radar_specifics: any(list(include('rules', required=False)), null(), required=False) + lidar_specifics: any(list(include('rules', required=False)), null(), required=False) + camera_specifics: any(list(include('rules', required=False)), null(), required=False) + ultrasonic_specifics: any(list(include('rules', required=False)), null(), required=False) + CandidateStationaryObject: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +DetectedMovingObject: + header: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + base_rmse: any(list(include('rules', required=False)), null(), required=False) + reference_point: any(list(include('rules', required=False)), null(), required=False) + movement_state: any(list(include('rules', required=False)), null(), required=False) + percentage_side_lane_left: any(list(include('rules', required=False)), null(), required=False) + percentage_side_lane_right: any(list(include('rules', required=False)), null(), required=False) + candidate: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + radar_specifics: any(list(include('rules', required=False)), null(), required=False) + lidar_specifics: any(list(include('rules', required=False)), null(), required=False) + camera_specifics: any(list(include('rules', required=False)), null(), required=False) + ultrasonic_specifics: any(list(include('rules', required=False)), null(), required=False) + CandidateMovingObject: + probability: any(list(include('rules', required=False)), null(), required=False) + type: any(list(include('rules', required=False)), null(), required=False) + vehicle_classification: any(list(include('rules', required=False)), null(), required=False) + head_pose: any(list(include('rules', required=False)), null(), required=False) + upper_body_pose: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_detectedoccupant_schema.yml b/rules/output_rules/schema/osi_detectedoccupant_schema.yml new file mode 100644 index 0000000..31c7816 --- /dev/null +++ b/rules/output_rules/schema/osi_detectedoccupant_schema.yml @@ -0,0 +1,23 @@ +DetectedOccupant: + header: any(list(include('rules', required=False)), null(), required=False) + candidate: any(list(include('rules', required=False)), null(), required=False) + CandidateOccupant: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_detectedroadmarking_schema.yml b/rules/output_rules/schema/osi_detectedroadmarking_schema.yml new file mode 100644 index 0000000..6df5e8f --- /dev/null +++ b/rules/output_rules/schema/osi_detectedroadmarking_schema.yml @@ -0,0 +1,26 @@ +DetectedRoadMarking: + header: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + base_rmse: any(list(include('rules', required=False)), null(), required=False) + candidate: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + CandidateRoadMarking: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_detectedtrafficlight_schema.yml b/rules/output_rules/schema/osi_detectedtrafficlight_schema.yml new file mode 100644 index 0000000..d855af9 --- /dev/null +++ b/rules/output_rules/schema/osi_detectedtrafficlight_schema.yml @@ -0,0 +1,26 @@ +DetectedTrafficLight: + header: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + base_rmse: any(list(include('rules', required=False)), null(), required=False) + candidate: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + CandidateTrafficLight: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_detectedtrafficsign_schema.yml b/rules/output_rules/schema/osi_detectedtrafficsign_schema.yml new file mode 100644 index 0000000..d4ee871 --- /dev/null +++ b/rules/output_rules/schema/osi_detectedtrafficsign_schema.yml @@ -0,0 +1,36 @@ +DetectedTrafficSign: + header: any(list(include('rules', required=False)), null(), required=False) + main_sign: any(list(include('rules', required=False)), null(), required=False) + supplementary_sign: any(list(include('rules', required=False)), null(), required=False) + DetectedMainSign: + candidate: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + base_rmse: any(list(include('rules', required=False)), null(), required=False) + geometry: any(list(include('rules', required=False)), null(), required=False) + CandidateMainSign: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + DetectedSupplementarySign: + candidate: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + base_rmse: any(list(include('rules', required=False)), null(), required=False) + CandidateSupplementarySign: + probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_environment_schema.yml b/rules/output_rules/schema/osi_environment_schema.yml new file mode 100644 index 0000000..92a0a92 --- /dev/null +++ b/rules/output_rules/schema/osi_environment_schema.yml @@ -0,0 +1,41 @@ +EnvironmentalConditions: + ambient_illumination: any(list(include('rules', required=False)), null(), required=False) + time_of_day: any(list(include('rules', required=False)), null(), required=False) + unix_timestamp: any(list(include('rules', required=False)), null(), required=False) + atmospheric_pressure: any(list(include('rules', required=False)), null(), required=False) + temperature: any(list(include('rules', required=False)), null(), required=False) + relative_humidity: any(list(include('rules', required=False)), null(), required=False) + precipitation: any(list(include('rules', required=False)), null(), required=False) + fog: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + clouds: any(list(include('rules', required=False)), null(), required=False) + wind: any(list(include('rules', required=False)), null(), required=False) + sun: any(list(include('rules', required=False)), null(), required=False) + TimeOfDay: + seconds_since_midnight: any(list(include('rules', required=False)), null(), required=False) + CloudLayer: + fractional_cloud_cover: any(list(include('rules', required=False)), null(), required=False) + Wind: + origin_direction: any(list(include('rules', required=False)), null(), required=False) + speed: any(list(include('rules', required=False)), null(), required=False) + Sun: + azimuth: any(list(include('rules', required=False)), null(), required=False) + elevation: any(list(include('rules', required=False)), null(), required=False) + intensity: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_featuredata_schema.yml b/rules/output_rules/schema/osi_featuredata_schema.yml new file mode 100644 index 0000000..f68009c --- /dev/null +++ b/rules/output_rules/schema/osi_featuredata_schema.yml @@ -0,0 +1,128 @@ +FeatureData: + version: any(list(include('rules', required=False)), null(), required=False) + radar_sensor: any(list(include('rules', required=False)), null(), required=False) + lidar_sensor: any(list(include('rules', required=False)), null(), required=False) + ultrasonic_sensor: any(list(include('rules', required=False)), null(), required=False) + camera_sensor: any(list(include('rules', required=False)), null(), required=False) +SensorDetectionHeader: + measurement_time: any(list(include('rules', required=False)), null(), required=False) + cycle_counter: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + data_qualifier: any(list(include('rules', required=False)), null(), required=False) + number_of_valid_detections: any(list(include('rules', required=False)), null(), required=False) + sensor_id: any(list(include('rules', required=False)), null(), required=False) + extended_qualifier: any(list(include('rules', required=False)), null(), required=False) +RadarDetectionData: + header: any(list(include('rules', required=False)), null(), required=False) + detection: any(list(include('rules', required=False)), null(), required=False) +RadarDetection: + existence_probability: any(list(include('rules', required=False)), null(), required=False) + object_id: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + position_rmse: any(list(include('rules', required=False)), null(), required=False) + radial_velocity: any(list(include('rules', required=False)), null(), required=False) + radial_velocity_rmse: any(list(include('rules', required=False)), null(), required=False) + rcs: any(list(include('rules', required=False)), null(), required=False) + snr: any(list(include('rules', required=False)), null(), required=False) + point_target_probability: any(list(include('rules', required=False)), null(), required=False) + ambiguity_id: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) +LidarDetectionData: + header: any(list(include('rules', required=False)), null(), required=False) + detection: any(list(include('rules', required=False)), null(), required=False) +LidarDetection: + existence_probability: any(list(include('rules', required=False)), null(), required=False) + object_id: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + position_rmse: any(list(include('rules', required=False)), null(), required=False) + height: any(list(include('rules', required=False)), null(), required=False) + height_rmse: any(list(include('rules', required=False)), null(), required=False) + intensity: any(list(include('rules', required=False)), null(), required=False) + free_space_probability: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + reflectivity: any(list(include('rules', required=False)), null(), required=False) + echo_pulse_width: any(list(include('rules', required=False)), null(), required=False) + radial_velocity: any(list(include('rules', required=False)), null(), required=False) + beam_id: any(list(include('rules', required=False)), null(), required=False) +UltrasonicDetectionSpecificHeader: + max_range: any(list(include('rules', required=False)), null(), required=False) + number_of_valid_indirect_detections: any(list(include('rules', required=False)), null(), required=False) +UltrasonicDetectionData: + header: any(list(include('rules', required=False)), null(), required=False) + specific_header: any(list(include('rules', required=False)), null(), required=False) + detection: any(list(include('rules', required=False)), null(), required=False) + indirect_detection: any(list(include('rules', required=False)), null(), required=False) +UltrasonicDetection: + existence_probability: any(list(include('rules', required=False)), null(), required=False) + object_id: any(list(include('rules', required=False)), null(), required=False) + distance: any(list(include('rules', required=False)), null(), required=False) +UltrasonicIndirectDetection: + existence_probability: any(list(include('rules', required=False)), null(), required=False) + object_id: any(list(include('rules', required=False)), null(), required=False) + ellipsoid_radial: any(list(include('rules', required=False)), null(), required=False) + ellipsoid_axial: any(list(include('rules', required=False)), null(), required=False) + receiver_id: any(list(include('rules', required=False)), null(), required=False) + receiver_origin: any(list(include('rules', required=False)), null(), required=False) +CameraDetectionSpecificHeader: + number_of_valid_points: any(list(include('rules', required=False)), null(), required=False) +CameraDetectionData: + header: any(list(include('rules', required=False)), null(), required=False) + specific_header: any(list(include('rules', required=False)), null(), required=False) + detection: any(list(include('rules', required=False)), null(), required=False) + point: any(list(include('rules', required=False)), null(), required=False) +CameraDetection: + existence_probability: any(list(include('rules', required=False)), null(), required=False) + object_id: any(list(include('rules', required=False)), null(), required=False) + time_difference: any(list(include('rules', required=False)), null(), required=False) + image_shape_type: any(list(include('rules', required=False)), null(), required=False) + shape_classification_background: any(list(include('rules', required=False)), null(), required=False) + shape_classification_foreground: any(list(include('rules', required=False)), null(), required=False) + shape_classification_flat: any(list(include('rules', required=False)), null(), required=False) + shape_classification_upright: any(list(include('rules', required=False)), null(), required=False) + shape_classification_ground: any(list(include('rules', required=False)), null(), required=False) + shape_classification_sky: any(list(include('rules', required=False)), null(), required=False) + shape_classification_vegetation: any(list(include('rules', required=False)), null(), required=False) + shape_classification_road: any(list(include('rules', required=False)), null(), required=False) + shape_classification_non_driving_lane: any(list(include('rules', required=False)), null(), required=False) + shape_classification_non_road: any(list(include('rules', required=False)), null(), required=False) + shape_classification_stationary_object: any(list(include('rules', required=False)), null(), required=False) + shape_classification_moving_object: any(list(include('rules', required=False)), null(), required=False) + shape_classification_landmark: any(list(include('rules', required=False)), null(), required=False) + shape_classification_traffic_sign: any(list(include('rules', required=False)), null(), required=False) + shape_classification_traffic_light: any(list(include('rules', required=False)), null(), required=False) + shape_classification_road_marking: any(list(include('rules', required=False)), null(), required=False) + shape_classification_vehicle: any(list(include('rules', required=False)), null(), required=False) + shape_classification_pedestrian: any(list(include('rules', required=False)), null(), required=False) + shape_classification_animal: any(list(include('rules', required=False)), null(), required=False) + shape_classification_pedestrian_front: any(list(include('rules', required=False)), null(), required=False) + shape_classification_pedestrian_side: any(list(include('rules', required=False)), null(), required=False) + shape_classification_pedestrian_rear: any(list(include('rules', required=False)), null(), required=False) + shape_classification_probability: any(list(include('rules', required=False)), null(), required=False) + color: any(list(include('rules', required=False)), null(), required=False) + color_probability: any(list(include('rules', required=False)), null(), required=False) + ambiguity_id: any(list(include('rules', required=False)), null(), required=False) + first_point_index: any(list(include('rules', required=False)), null(), required=False) + number_of_points: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) +CameraPoint: + existence_probability: any(list(include('rules', required=False)), null(), required=False) + point: any(list(include('rules', required=False)), null(), required=False) + point_rmse: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_groundtruth_schema.yml b/rules/output_rules/schema/osi_groundtruth_schema.yml new file mode 100644 index 0000000..0453a28 --- /dev/null +++ b/rules/output_rules/schema/osi_groundtruth_schema.yml @@ -0,0 +1,41 @@ +GroundTruth: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + host_vehicle_id: any(list(include('rules', required=False)), null(), required=False) + stationary_object: any(list(include('rules', required=False)), null(), required=False) + moving_object: any(list(include('rules', required=False)), null(), required=False) + traffic_sign: any(list(include('rules', required=False)), null(), required=False) + traffic_light: any(list(include('rules', required=False)), null(), required=False) + road_marking: any(list(include('rules', required=False)), null(), required=False) + lane_boundary: any(list(include('rules', required=False)), null(), required=False) + lane: any(list(include('rules', required=False)), null(), required=False) + occupant: any(list(include('rules', required=False)), null(), required=False) + environmental_conditions: any(list(include('rules', required=False)), null(), required=False) + country_code: any(list(include('rules', required=False)), null(), required=False) + proj_string: any(list(include('rules', required=False)), null(), required=False) + map_reference: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) + reference_line: any(list(include('rules', required=False)), null(), required=False) + logical_lane_boundary: any(list(include('rules', required=False)), null(), required=False) + logical_lane: any(list(include('rules', required=False)), null(), required=False) + proj_frame_offset: any(list(include('rules', required=False)), null(), required=False) + ProjFrameOffset: + position: any(list(include('rules', required=False)), null(), required=False) + yaw: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_hostvehicledata_schema.yml b/rules/output_rules/schema/osi_hostvehicledata_schema.yml new file mode 100644 index 0000000..d4302b6 --- /dev/null +++ b/rules/output_rules/schema/osi_hostvehicledata_schema.yml @@ -0,0 +1,76 @@ +HostVehicleData: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + host_vehicle_id: any(list(include('rules', required=False)), null(), required=False) + location: any(list(include('rules', required=False)), null(), required=False) + location_rmse: any(list(include('rules', required=False)), null(), required=False) + vehicle_basics: any(list(include('rules', required=False)), null(), required=False) + vehicle_powertrain: any(list(include('rules', required=False)), null(), required=False) + vehicle_brake_system: any(list(include('rules', required=False)), null(), required=False) + vehicle_steering: any(list(include('rules', required=False)), null(), required=False) + vehicle_wheels: any(list(include('rules', required=False)), null(), required=False) + vehicle_localization: any(list(include('rules', required=False)), null(), required=False) + vehicle_automated_driving_function: any(list(include('rules', required=False)), null(), required=False) + vehicle_motion: any(list(include('rules', required=False)), null(), required=False) + route: any(list(include('rules', required=False)), null(), required=False) + VehicleBasics: + curb_weight: any(list(include('rules', required=False)), null(), required=False) + operating_state: any(list(include('rules', required=False)), null(), required=False) + VehiclePowertrain: + pedal_position_acceleration: any(list(include('rules', required=False)), null(), required=False) + pedal_position_clutch: any(list(include('rules', required=False)), null(), required=False) + gear_transmission: any(list(include('rules', required=False)), null(), required=False) + motor: any(list(include('rules', required=False)), null(), required=False) + Motor: + type: any(list(include('rules', required=False)), null(), required=False) + rpm: any(list(include('rules', required=False)), null(), required=False) + torque: any(list(include('rules', required=False)), null(), required=False) + VehicleBrakeSystem: + pedal_position_brake: any(list(include('rules', required=False)), null(), required=False) + VehicleSteering: + vehicle_steering_wheel: any(list(include('rules', required=False)), null(), required=False) + VehicleWheels: + wheel_data: any(list(include('rules', required=False)), null(), required=False) + WheelData: + axle: any(list(include('rules', required=False)), null(), required=False) + index: any(list(include('rules', required=False)), null(), required=False) + rotation_rate: any(list(include('rules', required=False)), null(), required=False) + slip: any(list(include('rules', required=False)), null(), required=False) + VehicleLocalization: + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + geodetic_position: any(list(include('rules', required=False)), null(), required=False) + VehicleMotion: + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + velocity: any(list(include('rules', required=False)), null(), required=False) + orientation_rate: any(list(include('rules', required=False)), null(), required=False) + acceleration: any(list(include('rules', required=False)), null(), required=False) + current_curvature: any(list(include('rules', required=False)), null(), required=False) + VehicleAutomatedDrivingFunction: + name: any(list(include('rules', required=False)), null(), required=False) + custom_name: any(list(include('rules', required=False)), null(), required=False) + state: any(list(include('rules', required=False)), null(), required=False) + custom_state: any(list(include('rules', required=False)), null(), required=False) + driver_override: any(list(include('rules', required=False)), null(), required=False) + custom_detail: any(list(include('rules', required=False)), null(), required=False) + DriverOverride: + active: any(list(include('rules', required=False)), null(), required=False) + override_reason: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_lane_schema.yml b/rules/output_rules/schema/osi_lane_schema.yml new file mode 100644 index 0000000..2606224 --- /dev/null +++ b/rules/output_rules/schema/osi_lane_schema.yml @@ -0,0 +1,59 @@ +Lane: + id: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + Classification: + type: any(list(include('rules', required=False)), null(), required=False) + is_host_vehicle_lane: any(list(include('rules', required=False)), null(), required=False) + centerline: any(list(include('rules', required=False)), null(), required=False) + centerline_is_driving_direction: any(list(include('rules', required=False)), null(), required=False) + left_adjacent_lane_id: any(list(include('rules', required=False)), null(), required=False) + right_adjacent_lane_id: any(list(include('rules', required=False)), null(), required=False) + lane_pairing: any(list(include('rules', required=False)), null(), required=False) + right_lane_boundary_id: any(list(include('rules', required=False)), null(), required=False) + left_lane_boundary_id: any(list(include('rules', required=False)), null(), required=False) + free_lane_boundary_id: any(list(include('rules', required=False)), null(), required=False) + road_condition: any(list(include('rules', required=False)), null(), required=False) + subtype: any(list(include('rules', required=False)), null(), required=False) + RoadCondition: + surface_temperature: any(list(include('rules', required=False)), null(), required=False) + surface_water_film: any(list(include('rules', required=False)), null(), required=False) + surface_freezing_point: any(list(include('rules', required=False)), null(), required=False) + surface_ice: any(list(include('rules', required=False)), null(), required=False) + surface_roughness: any(list(include('rules', required=False)), null(), required=False) + surface_texture: any(list(include('rules', required=False)), null(), required=False) + LanePairing: + antecessor_lane_id: any(list(include('rules', required=False)), null(), required=False) + successor_lane_id: any(list(include('rules', required=False)), null(), required=False) +LaneBoundary: + id: any(list(include('rules', required=False)), null(), required=False) + boundary_line: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + BoundaryPoint: + position: any(list(include('rules', required=False)), null(), required=False) + width: any(list(include('rules', required=False)), null(), required=False) + height: any(list(include('rules', required=False)), null(), required=False) + dash: any(list(include('rules', required=False)), null(), required=False) + Classification: + type: any(list(include('rules', required=False)), null(), required=False) + color: any(list(include('rules', required=False)), null(), required=False) + limiting_structure_id: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_logicaldetectiondata_schema.yml b/rules/output_rules/schema/osi_logicaldetectiondata_schema.yml new file mode 100644 index 0000000..17588d0 --- /dev/null +++ b/rules/output_rules/schema/osi_logicaldetectiondata_schema.yml @@ -0,0 +1,39 @@ +LogicalDetectionData: + version: any(list(include('rules', required=False)), null(), required=False) + header: any(list(include('rules', required=False)), null(), required=False) + logical_detection: any(list(include('rules', required=False)), null(), required=False) +LogicalDetectionDataHeader: + logical_detection_time: any(list(include('rules', required=False)), null(), required=False) + data_qualifier: any(list(include('rules', required=False)), null(), required=False) + number_of_valid_logical_detections: any(list(include('rules', required=False)), null(), required=False) + sensor_id: any(list(include('rules', required=False)), null(), required=False) +LogicalDetection: + existence_probability: any(list(include('rules', required=False)), null(), required=False) + object_id: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + position_rmse: any(list(include('rules', required=False)), null(), required=False) + velocity: any(list(include('rules', required=False)), null(), required=False) + velocity_rmse: any(list(include('rules', required=False)), null(), required=False) + intensity: any(list(include('rules', required=False)), null(), required=False) + snr: any(list(include('rules', required=False)), null(), required=False) + point_target_probability: any(list(include('rules', required=False)), null(), required=False) + sensor_id: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + echo_pulse_width: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_logicallane_schema.yml b/rules/output_rules/schema/osi_logicallane_schema.yml new file mode 100644 index 0000000..a312fa3 --- /dev/null +++ b/rules/output_rules/schema/osi_logicallane_schema.yml @@ -0,0 +1,73 @@ +LogicalLaneBoundary: + id: any(list(include('rules', required=False)), null(), required=False) + boundary_line: any(list(include('rules', required=False)), null(), required=False) + reference_line_id: any(list(include('rules', required=False)), null(), required=False) + physical_boundary_id: any(list(include('rules', required=False)), null(), required=False) + passing_rule: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + LogicalBoundaryPoint: + position: any(list(include('rules', required=False)), null(), required=False) + s_position: any(list(include('rules', required=False)), null(), required=False) + t_position: any(list(include('rules', required=False)), null(), required=False) +LogicalLane: + id: any(list(include('rules', required=False)), null(), required=False) + type: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + physical_lane_reference: any(list(include('rules', required=False)), null(), required=False) + reference_line_id: any(list(include('rules', required=False)), null(), required=False) + start_s: any(list(include('rules', required=False)), null(), required=False) + end_s: any(list(include('rules', required=False)), null(), required=False) + move_direction: any(list(include('rules', required=False)), null(), required=False) + right_adjacent_lane: any(list(include('rules', required=False)), null(), required=False) + left_adjacent_lane: any(list(include('rules', required=False)), null(), required=False) + overlapping_lane: any(list(include('rules', required=False)), null(), required=False) + right_boundary_id: any(list(include('rules', required=False)), null(), required=False) + left_boundary_id: any(list(include('rules', required=False)), null(), required=False) + predecessor_lane: any(list(include('rules', required=False)), null(), required=False) + successor_lane: any(list(include('rules', required=False)), null(), required=False) + street_name: any(list(include('rules', required=False)), null(), required=False) + traffic_rule: any(list(include('rules', required=False)), null(), required=False) + PhysicalLaneReference: + physical_lane_id: any(list(include('rules', required=False)), null(), required=False) + start_s: any(list(include('rules', required=False)), null(), required=False) + end_s: any(list(include('rules', required=False)), null(), required=False) + LaneConnection: + other_lane_id: any(list(include('rules', required=False)), null(), required=False) + at_begin_of_other_lane: any(list(include('rules', required=False)), null(), required=False) + LaneRelation: + other_lane_id: any(list(include('rules', required=False)), null(), required=False) + start_s: any(list(include('rules', required=False)), null(), required=False) + end_s: any(list(include('rules', required=False)), null(), required=False) + start_s_other: any(list(include('rules', required=False)), null(), required=False) + end_s_other: any(list(include('rules', required=False)), null(), required=False) + TrafficRule: + traffic_rule_type: any(list(include('rules', required=False)), null(), required=False) + traffic_rule_validity: any(list(include('rules', required=False)), null(), required=False) + speed_limit: any(list(include('rules', required=False)), null(), required=False) + TrafficRuleValidity: + start_s: any(list(include('rules', required=False)), null(), required=False) + end_s: any(list(include('rules', required=False)), null(), required=False) + valid_for_type: any(list(include('rules', required=False)), null(), required=False) + TypeValidity: + type: any(list(include('rules', required=False)), null(), required=False) + vehicle_type: any(list(include('rules', required=False)), null(), required=False) + vehicle_role: any(list(include('rules', required=False)), null(), required=False) + SpeedLimit: + speed_limit_value: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_motionrequest_schema.yml b/rules/output_rules/schema/osi_motionrequest_schema.yml new file mode 100644 index 0000000..b470d4e --- /dev/null +++ b/rules/output_rules/schema/osi_motionrequest_schema.yml @@ -0,0 +1,31 @@ +MotionRequest: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + motion_request_type: any(list(include('rules', required=False)), null(), required=False) + desired_state: any(list(include('rules', required=False)), null(), required=False) + desired_trajectory: any(list(include('rules', required=False)), null(), required=False) + DesiredState: + timestamp: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + velocity: any(list(include('rules', required=False)), null(), required=False) + acceleration: any(list(include('rules', required=False)), null(), required=False) + DesiredTrajectory: + trajectory_point: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_object_schema.yml b/rules/output_rules/schema/osi_object_schema.yml new file mode 100644 index 0000000..0c3f1fa --- /dev/null +++ b/rules/output_rules/schema/osi_object_schema.yml @@ -0,0 +1,101 @@ +StationaryObject: + id: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + Classification: + type: any(list(include('rules', required=False)), null(), required=False) + material: any(list(include('rules', required=False)), null(), required=False) + density: any(list(include('rules', required=False)), null(), required=False) + color: any(list(include('rules', required=False)), null(), required=False) + emitting_structure_attribute: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_percentage: any(list(include('rules', required=False)), null(), required=False) + logical_lane_assignment: any(list(include('rules', required=False)), null(), required=False) + EmittingStructureAttribute: + wavelength_data: any(list(include('rules', required=False)), null(), required=False) + emitted_spatial_signal_strength: any(list(include('rules', required=False)), null(), required=False) +MovingObject: + id: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + type: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + vehicle_attributes: any(list(include('rules', required=False)), null(), required=False) + vehicle_classification: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) + future_trajectory: any(list(include('rules', required=False)), null(), required=False) + moving_object_classification: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + pedestrian_attributes: any(list(include('rules', required=False)), null(), required=False) + VehicleAttributes: + driver_id: any(list(include('rules', required=False)), null(), required=False) + radius_wheel: any(list(include('rules', required=False)), null(), required=False) + number_wheels: any(list(include('rules', required=False)), null(), required=False) + bbcenter_to_rear: any(list(include('rules', required=False)), null(), required=False) + bbcenter_to_front: any(list(include('rules', required=False)), null(), required=False) + ground_clearance: any(list(include('rules', required=False)), null(), required=False) + wheel_data: any(list(include('rules', required=False)), null(), required=False) + steering_wheel_angle: any(list(include('rules', required=False)), null(), required=False) + WheelData: + axle: any(list(include('rules', required=False)), null(), required=False) + index: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + wheel_radius: any(list(include('rules', required=False)), null(), required=False) + rim_radius: any(list(include('rules', required=False)), null(), required=False) + width: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + rotation_rate: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) + friction_coefficient: any(list(include('rules', required=False)), null(), required=False) + MovingObjectClassification: + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_percentage: any(list(include('rules', required=False)), null(), required=False) + logical_lane_assignment: any(list(include('rules', required=False)), null(), required=False) + VehicleClassification: + type: any(list(include('rules', required=False)), null(), required=False) + light_state: any(list(include('rules', required=False)), null(), required=False) + has_trailer: any(list(include('rules', required=False)), null(), required=False) + trailer_id: any(list(include('rules', required=False)), null(), required=False) + role: any(list(include('rules', required=False)), null(), required=False) + LightState: + indicator_state: any(list(include('rules', required=False)), null(), required=False) + front_fog_light: any(list(include('rules', required=False)), null(), required=False) + rear_fog_light: any(list(include('rules', required=False)), null(), required=False) + head_light: any(list(include('rules', required=False)), null(), required=False) + high_beam: any(list(include('rules', required=False)), null(), required=False) + reversing_light: any(list(include('rules', required=False)), null(), required=False) + brake_light_state: any(list(include('rules', required=False)), null(), required=False) + license_plate_illumination_rear: any(list(include('rules', required=False)), null(), required=False) + emergency_vehicle_illumination: any(list(include('rules', required=False)), null(), required=False) + service_vehicle_illumination: any(list(include('rules', required=False)), null(), required=False) + PedestrianAttributes: + bbcenter_to_root: any(list(include('rules', required=False)), null(), required=False) + skeleton_bone: any(list(include('rules', required=False)), null(), required=False) + Bone: + type: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + length: any(list(include('rules', required=False)), null(), required=False) + missing: any(list(include('rules', required=False)), null(), required=False) + velocity: any(list(include('rules', required=False)), null(), required=False) + orientation_rate: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_occupant_schema.yml b/rules/output_rules/schema/osi_occupant_schema.yml new file mode 100644 index 0000000..0b2907c --- /dev/null +++ b/rules/output_rules/schema/osi_occupant_schema.yml @@ -0,0 +1,25 @@ +Occupant: + id: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + Classification: + is_driver: any(list(include('rules', required=False)), null(), required=False) + seat: any(list(include('rules', required=False)), null(), required=False) + steering_control: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_referenceline_schema.yml b/rules/output_rules/schema/osi_referenceline_schema.yml new file mode 100644 index 0000000..8e284d3 --- /dev/null +++ b/rules/output_rules/schema/osi_referenceline_schema.yml @@ -0,0 +1,25 @@ +ReferenceLine: + id: any(list(include('rules', required=False)), null(), required=False) + type: any(list(include('rules', required=False)), null(), required=False) + poly_line: any(list(include('rules', required=False)), null(), required=False) + ReferenceLinePoint: + world_position: any(list(include('rules', required=False)), null(), required=False) + s_position: any(list(include('rules', required=False)), null(), required=False) + t_axis_yaw: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_roadmarking_schema.yml b/rules/output_rules/schema/osi_roadmarking_schema.yml new file mode 100644 index 0000000..1ec67a7 --- /dev/null +++ b/rules/output_rules/schema/osi_roadmarking_schema.yml @@ -0,0 +1,36 @@ +RoadMarking: + id: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + Classification: + type: any(list(include('rules', required=False)), null(), required=False) + traffic_main_sign_type: any(list(include('rules', required=False)), null(), required=False) + monochrome_color: any(list(include('rules', required=False)), null(), required=False) + value: any(list(include('rules', required=False)), null(), required=False) + value_text: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + is_out_of_service: any(list(include('rules', required=False)), null(), required=False) + country: any(list(include('rules', required=False)), null(), required=False) + country_revision: any(list(include('rules', required=False)), null(), required=False) + code: any(list(include('rules', required=False)), null(), required=False) + sub_code: any(list(include('rules', required=False)), null(), required=False) + logical_lane_assignment: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_route_schema.yml b/rules/output_rules/schema/osi_route_schema.yml new file mode 100644 index 0000000..af073f9 --- /dev/null +++ b/rules/output_rules/schema/osi_route_schema.yml @@ -0,0 +1,26 @@ +Route: + route_id: any(list(include('rules', required=False)), null(), required=False) + route_segment: any(list(include('rules', required=False)), null(), required=False) + LogicalLaneSegment: + logical_lane_id: any(list(include('rules', required=False)), null(), required=False) + start_s: any(list(include('rules', required=False)), null(), required=False) + end_s: any(list(include('rules', required=False)), null(), required=False) + RouteSegment: + lane_segment: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_sensordata_schema.yml b/rules/output_rules/schema/osi_sensordata_schema.yml new file mode 100644 index 0000000..3fa49b0 --- /dev/null +++ b/rules/output_rules/schema/osi_sensordata_schema.yml @@ -0,0 +1,53 @@ +DetectedEntityHeader: + measurement_time: any(list(include('rules', required=False)), null(), required=False) + cycle_counter: any(list(include('rules', required=False)), null(), required=False) + data_qualifier: any(list(include('rules', required=False)), null(), required=False) +SensorData: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + host_vehicle_location: any(list(include('rules', required=False)), null(), required=False) + host_vehicle_location_rmse: any(list(include('rules', required=False)), null(), required=False) + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + sensor_view: any(list(include('rules', required=False)), null(), required=False) + last_measurement_time: any(list(include('rules', required=False)), null(), required=False) + stationary_object_header: any(list(include('rules', required=False)), null(), required=False) + stationary_object: any(list(include('rules', required=False)), null(), required=False) + moving_object_header: any(list(include('rules', required=False)), null(), required=False) + moving_object: any(list(include('rules', required=False)), null(), required=False) + traffic_sign_header: any(list(include('rules', required=False)), null(), required=False) + traffic_sign: any(list(include('rules', required=False)), null(), required=False) + traffic_light_header: any(list(include('rules', required=False)), null(), required=False) + traffic_light: any(list(include('rules', required=False)), null(), required=False) + road_marking_header: any(list(include('rules', required=False)), null(), required=False) + road_marking: any(list(include('rules', required=False)), null(), required=False) + lane_boundary_header: any(list(include('rules', required=False)), null(), required=False) + lane_boundary: any(list(include('rules', required=False)), null(), required=False) + lane_header: any(list(include('rules', required=False)), null(), required=False) + lane: any(list(include('rules', required=False)), null(), required=False) + occupant_header: any(list(include('rules', required=False)), null(), required=False) + occupant: any(list(include('rules', required=False)), null(), required=False) + feature_data: any(list(include('rules', required=False)), null(), required=False) + logical_detection_data: any(list(include('rules', required=False)), null(), required=False) + VirtualDetectionArea: + polygon: any(list(include('rules', required=False)), null(), required=False) + virtual_detection_area: any(list(include('rules', required=False)), null(), required=False) + system_time: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_sensorspecific_schema.yml b/rules/output_rules/schema/osi_sensorspecific_schema.yml new file mode 100644 index 0000000..4a1bd90 --- /dev/null +++ b/rules/output_rules/schema/osi_sensorspecific_schema.yml @@ -0,0 +1,28 @@ +RadarSpecificObjectData: + rcs: any(list(include('rules', required=False)), null(), required=False) +LidarSpecificObjectData: + maximum_measurement_distance_sensor: any(list(include('rules', required=False)), null(), required=False) + probability: any(list(include('rules', required=False)), null(), required=False) + trilateration_status: any(list(include('rules', required=False)), null(), required=False) + trend: any(list(include('rules', required=False)), null(), required=False) + signalway: any(list(include('rules', required=False)), null(), required=False) + Signalway: + sender_id: any(list(include('rules', required=False)), null(), required=False) + receiver_id: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_sensorview_schema.yml b/rules/output_rules/schema/osi_sensorview_schema.yml new file mode 100644 index 0000000..349b066 --- /dev/null +++ b/rules/output_rules/schema/osi_sensorview_schema.yml @@ -0,0 +1,56 @@ +SensorView: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + host_vehicle_data: any(list(include('rules', required=False)), null(), required=False) + global_ground_truth: any(list(include('rules', required=False)), null(), required=False) + host_vehicle_id: any(list(include('rules', required=False)), null(), required=False) + generic_sensor_view: any(list(include('rules', required=False)), null(), required=False) + radar_sensor_view: any(list(include('rules', required=False)), null(), required=False) + lidar_sensor_view: any(list(include('rules', required=False)), null(), required=False) + camera_sensor_view: any(list(include('rules', required=False)), null(), required=False) + ultrasonic_sensor_view: any(list(include('rules', required=False)), null(), required=False) +GenericSensorView: + view_configuration: any(list(include('rules', required=False)), null(), required=False) +RadarSensorView: + view_configuration: any(list(include('rules', required=False)), null(), required=False) + reflection: any(list(include('rules', required=False)), null(), required=False) + Reflection: + signal_strength: any(list(include('rules', required=False)), null(), required=False) + time_of_flight: any(list(include('rules', required=False)), null(), required=False) + doppler_shift: any(list(include('rules', required=False)), null(), required=False) + source_horizontal_angle: any(list(include('rules', required=False)), null(), required=False) + source_vertical_angle: any(list(include('rules', required=False)), null(), required=False) +LidarSensorView: + view_configuration: any(list(include('rules', required=False)), null(), required=False) + reflection: any(list(include('rules', required=False)), null(), required=False) + Reflection: + signal_strength: any(list(include('rules', required=False)), null(), required=False) + time_of_flight: any(list(include('rules', required=False)), null(), required=False) + doppler_shift: any(list(include('rules', required=False)), null(), required=False) + normal_to_surface: any(list(include('rules', required=False)), null(), required=False) + object_id: any(list(include('rules', required=False)), null(), required=False) +CameraSensorView: + view_configuration: any(list(include('rules', required=False)), null(), required=False) + image_data: any(list(include('rules', required=False)), null(), required=False) +UltrasonicSensorView: + view_configuration: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_sensorviewconfiguration_schema.yml b/rules/output_rules/schema/osi_sensorviewconfiguration_schema.yml new file mode 100644 index 0000000..0a2b73d --- /dev/null +++ b/rules/output_rules/schema/osi_sensorviewconfiguration_schema.yml @@ -0,0 +1,88 @@ +SensorViewConfiguration: + version: any(list(include('rules', required=False)), null(), required=False) + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + field_of_view_horizontal: any(list(include('rules', required=False)), null(), required=False) + field_of_view_vertical: any(list(include('rules', required=False)), null(), required=False) + range: any(list(include('rules', required=False)), null(), required=False) + update_cycle_time: any(list(include('rules', required=False)), null(), required=False) + update_cycle_offset: any(list(include('rules', required=False)), null(), required=False) + simulation_start_time: any(list(include('rules', required=False)), null(), required=False) + omit_static_information: any(list(include('rules', required=False)), null(), required=False) + generic_sensor_view_configuration: any(list(include('rules', required=False)), null(), required=False) + radar_sensor_view_configuration: any(list(include('rules', required=False)), null(), required=False) + lidar_sensor_view_configuration: any(list(include('rules', required=False)), null(), required=False) + camera_sensor_view_configuration: any(list(include('rules', required=False)), null(), required=False) + ultrasonic_sensor_view_configuration: any(list(include('rules', required=False)), null(), required=False) +GenericSensorViewConfiguration: + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + field_of_view_horizontal: any(list(include('rules', required=False)), null(), required=False) + field_of_view_vertical: any(list(include('rules', required=False)), null(), required=False) +RadarSensorViewConfiguration: + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + field_of_view_horizontal: any(list(include('rules', required=False)), null(), required=False) + field_of_view_vertical: any(list(include('rules', required=False)), null(), required=False) + number_of_rays_horizontal: any(list(include('rules', required=False)), null(), required=False) + number_of_rays_vertical: any(list(include('rules', required=False)), null(), required=False) + max_number_of_interactions: any(list(include('rules', required=False)), null(), required=False) + emitter_frequency: any(list(include('rules', required=False)), null(), required=False) + tx_antenna_diagram: any(list(include('rules', required=False)), null(), required=False) + rx_antenna_diagram: any(list(include('rules', required=False)), null(), required=False) + AntennaDiagramEntry: + horizontal_angle: any(list(include('rules', required=False)), null(), required=False) + vertical_angle: any(list(include('rules', required=False)), null(), required=False) + response: any(list(include('rules', required=False)), null(), required=False) +LidarSensorViewConfiguration: + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + field_of_view_horizontal: any(list(include('rules', required=False)), null(), required=False) + field_of_view_vertical: any(list(include('rules', required=False)), null(), required=False) + number_of_rays_horizontal: any(list(include('rules', required=False)), null(), required=False) + number_of_rays_vertical: any(list(include('rules', required=False)), null(), required=False) + max_number_of_interactions: any(list(include('rules', required=False)), null(), required=False) + emitter_frequency: any(list(include('rules', required=False)), null(), required=False) + num_of_pixels: any(list(include('rules', required=False)), null(), required=False) + directions: any(list(include('rules', required=False)), null(), required=False) + timings: any(list(include('rules', required=False)), null(), required=False) +CameraSensorViewConfiguration: + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + field_of_view_horizontal: any(list(include('rules', required=False)), null(), required=False) + field_of_view_vertical: any(list(include('rules', required=False)), null(), required=False) + number_of_pixels_horizontal: any(list(include('rules', required=False)), null(), required=False) + number_of_pixels_vertical: any(list(include('rules', required=False)), null(), required=False) + channel_format: any(list(include('rules', required=False)), null(), required=False) + samples_per_pixel: any(list(include('rules', required=False)), null(), required=False) + max_number_of_interactions: any(list(include('rules', required=False)), null(), required=False) + wavelength_data: any(list(include('rules', required=False)), null(), required=False) + pixel_order: any(list(include('rules', required=False)), null(), required=False) +UltrasonicSensorViewConfiguration: + sensor_id: any(list(include('rules', required=False)), null(), required=False) + mounting_position: any(list(include('rules', required=False)), null(), required=False) + mounting_position_rmse: any(list(include('rules', required=False)), null(), required=False) + field_of_view_horizontal: any(list(include('rules', required=False)), null(), required=False) + field_of_view_vertical: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_streamingupdate_schema.yml b/rules/output_rules/schema/osi_streamingupdate_schema.yml new file mode 100644 index 0000000..d1e7e28 --- /dev/null +++ b/rules/output_rules/schema/osi_streamingupdate_schema.yml @@ -0,0 +1,27 @@ +StreamingUpdate: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + stationary_object_update: any(list(include('rules', required=False)), null(), required=False) + moving_object_update: any(list(include('rules', required=False)), null(), required=False) + traffic_sign_update: any(list(include('rules', required=False)), null(), required=False) + traffic_light_update: any(list(include('rules', required=False)), null(), required=False) + environmental_conditions_update: any(list(include('rules', required=False)), null(), required=False) + host_vehicle_data_update: any(list(include('rules', required=False)), null(), required=False) + obsolete_id: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_trafficcommand_schema.yml b/rules/output_rules/schema/osi_trafficcommand_schema.yml new file mode 100644 index 0000000..6c8bef2 --- /dev/null +++ b/rules/output_rules/schema/osi_trafficcommand_schema.yml @@ -0,0 +1,91 @@ +TrafficCommand: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + traffic_participant_id: any(list(include('rules', required=False)), null(), required=False) + action: any(list(include('rules', required=False)), null(), required=False) +TrafficAction: + follow_trajectory_action: any(list(include('rules', required=False)), null(), required=False) + follow_path_action: any(list(include('rules', required=False)), null(), required=False) + acquire_global_position_action: any(list(include('rules', required=False)), null(), required=False) + custom_action: any(list(include('rules', required=False)), null(), required=False) + longitudinal_distance_action: any(list(include('rules', required=False)), null(), required=False) + lane_offset_action: any(list(include('rules', required=False)), null(), required=False) + lateral_distance_action: any(list(include('rules', required=False)), null(), required=False) + teleport_action: any(list(include('rules', required=False)), null(), required=False) + ActionHeader: + action_id: any(list(include('rules', required=False)), null(), required=False) + DynamicConstraints: + max_acceleration: any(list(include('rules', required=False)), null(), required=False) + max_deceleration: any(list(include('rules', required=False)), null(), required=False) + max_speed: any(list(include('rules', required=False)), null(), required=False) + FollowTrajectoryAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + trajectory_point: any(list(include('rules', required=False)), null(), required=False) + constrain_orientation: any(list(include('rules', required=False)), null(), required=False) + following_mode: any(list(include('rules', required=False)), null(), required=False) + FollowPathAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + path_point: any(list(include('rules', required=False)), null(), required=False) + constrain_orientation: any(list(include('rules', required=False)), null(), required=False) + following_mode: any(list(include('rules', required=False)), null(), required=False) + AcquireGlobalPositionAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) + LaneChangeAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + relative_target_lane: any(list(include('rules', required=False)), null(), required=False) + dynamics_shape: any(list(include('rules', required=False)), null(), required=False) + distance: any(list(include('rules', required=False)), null(), required=False) + SpeedAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + absolute_target_speed: any(list(include('rules', required=False)), null(), required=False) + dynamics_shape: any(list(include('rules', required=False)), null(), required=False) + distance: any(list(include('rules', required=False)), null(), required=False) + AbortActionsAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + EndActionsAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + CustomAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + command: any(list(include('rules', required=False)), null(), required=False) + command_type: any(list(include('rules', required=False)), null(), required=False) + LongitudinalDistanceAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + target_traffic_participant_id: any(list(include('rules', required=False)), null(), required=False) + distance: any(list(include('rules', required=False)), null(), required=False) + freespace: any(list(include('rules', required=False)), null(), required=False) + follow: any(list(include('rules', required=False)), null(), required=False) + dynamic_constraints: any(list(include('rules', required=False)), null(), required=False) + LateralDistanceAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + target_traffic_participant_id: any(list(include('rules', required=False)), null(), required=False) + distance: any(list(include('rules', required=False)), null(), required=False) + freespace: any(list(include('rules', required=False)), null(), required=False) + follow: any(list(include('rules', required=False)), null(), required=False) + dynamic_constraints: any(list(include('rules', required=False)), null(), required=False) + LaneOffsetAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + target_lane_offset: any(list(include('rules', required=False)), null(), required=False) + dynamics_shape: any(list(include('rules', required=False)), null(), required=False) + TeleportAction: + action_header: any(list(include('rules', required=False)), null(), required=False) + position: any(list(include('rules', required=False)), null(), required=False) + orientation: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_trafficcommandupdate_schema.yml b/rules/output_rules/schema/osi_trafficcommandupdate_schema.yml new file mode 100644 index 0000000..f2928c3 --- /dev/null +++ b/rules/output_rules/schema/osi_trafficcommandupdate_schema.yml @@ -0,0 +1,25 @@ +TrafficCommandUpdate: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + traffic_participant_id: any(list(include('rules', required=False)), null(), required=False) + dismissed_action: any(list(include('rules', required=False)), null(), required=False) + DismissedAction: + dismissed_action_id: any(list(include('rules', required=False)), null(), required=False) + failure_reason: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_trafficlight_schema.yml b/rules/output_rules/schema/osi_trafficlight_schema.yml new file mode 100644 index 0000000..20db3ed --- /dev/null +++ b/rules/output_rules/schema/osi_trafficlight_schema.yml @@ -0,0 +1,32 @@ +TrafficLight: + id: any(list(include('rules', required=False)), null(), required=False) + base: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + color_description: any(list(include('rules', required=False)), null(), required=False) + Classification: + color: any(list(include('rules', required=False)), null(), required=False) + icon: any(list(include('rules', required=False)), null(), required=False) + mode: any(list(include('rules', required=False)), null(), required=False) + counter: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + is_out_of_service: any(list(include('rules', required=False)), null(), required=False) + logical_lane_assignment: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_trafficsign_schema.yml b/rules/output_rules/schema/osi_trafficsign_schema.yml new file mode 100644 index 0000000..22830bd --- /dev/null +++ b/rules/output_rules/schema/osi_trafficsign_schema.yml @@ -0,0 +1,63 @@ +TrafficSignValue: + value: any(list(include('rules', required=False)), null(), required=False) + value_unit: any(list(include('rules', required=False)), null(), required=False) + text: any(list(include('rules', required=False)), null(), required=False) +TrafficSign: + id: any(list(include('rules', required=False)), null(), required=False) + main_sign: any(list(include('rules', required=False)), null(), required=False) + supplementary_sign: any(list(include('rules', required=False)), null(), required=False) + source_reference: any(list(include('rules', required=False)), null(), required=False) + MainSign: + base: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) + Classification: + variability: any(list(include('rules', required=False)), null(), required=False) + type: any(list(include('rules', required=False)), null(), required=False) + value: any(list(include('rules', required=False)), null(), required=False) + direction_scope: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + vertically_mirrored: any(list(include('rules', required=False)), null(), required=False) + is_out_of_service: any(list(include('rules', required=False)), null(), required=False) + country: any(list(include('rules', required=False)), null(), required=False) + country_revision: any(list(include('rules', required=False)), null(), required=False) + code: any(list(include('rules', required=False)), null(), required=False) + sub_code: any(list(include('rules', required=False)), null(), required=False) + logical_lane_assignment: any(list(include('rules', required=False)), null(), required=False) + SupplementarySign: + base: any(list(include('rules', required=False)), null(), required=False) + classification: any(list(include('rules', required=False)), null(), required=False) + model_reference: any(list(include('rules', required=False)), null(), required=False) + Classification: + variability: any(list(include('rules', required=False)), null(), required=False) + type: any(list(include('rules', required=False)), null(), required=False) + value: any(list(include('rules', required=False)), null(), required=False) + assigned_lane_id: any(list(include('rules', required=False)), null(), required=False) + actor: any(list(include('rules', required=False)), null(), required=False) + arrow: any(list(include('rules', required=False)), null(), required=False) + is_out_of_service: any(list(include('rules', required=False)), null(), required=False) + country: any(list(include('rules', required=False)), null(), required=False) + country_revision: any(list(include('rules', required=False)), null(), required=False) + code: any(list(include('rules', required=False)), null(), required=False) + sub_code: any(list(include('rules', required=False)), null(), required=False) + logical_lane_assignment: any(list(include('rules', required=False)), null(), required=False) + Arrow: + lane_id: any(list(include('rules', required=False)), null(), required=False) + direction: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_trafficupdate_schema.yml b/rules/output_rules/schema/osi_trafficupdate_schema.yml new file mode 100644 index 0000000..54c5f3d --- /dev/null +++ b/rules/output_rules/schema/osi_trafficupdate_schema.yml @@ -0,0 +1,22 @@ +TrafficUpdate: + version: any(list(include('rules', required=False)), null(), required=False) + timestamp: any(list(include('rules', required=False)), null(), required=False) + update: any(list(include('rules', required=False)), null(), required=False) + internal_state: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file diff --git a/rules/output_rules/schema/osi_version_schema.yml b/rules/output_rules/schema/osi_version_schema.yml new file mode 100644 index 0000000..8c59006 --- /dev/null +++ b/rules/output_rules/schema/osi_version_schema.yml @@ -0,0 +1,22 @@ +InterfaceVersion: + version_major: any(list(include('rules', required=False)), null(), required=False) + version_minor: any(list(include('rules', required=False)), null(), required=False) + version_patch: any(list(include('rules', required=False)), null(), required=False) + current_interface_version: any(list(include('rules', required=False)), null(), required=False) +--- +rules: + is_greater_than: num(required=False) + is_greater_than_or_equal_to: num(required=False) + is_less_than_or_equal_to: num(required=False) + is_less_than: num(required=False) + is_equal_to: any(num(), bool(), required=False) + is_different_to: num(required=False) + is_globally_unique: str(required=False) + refers_to: str(required=False) + is_iso_country_code: str(required=False) + is_set: str(required=False) + check_if: list(include('rules', required=False),required=False) + do_check: any(required=False) + target: any(required=False) + first_element: any(required=False) + last_element: any(required=False) \ No newline at end of file