|
| 1 | +syntax = "proto2"; |
| 2 | +option optimize_for = SPEED; |
| 3 | +import "osi_version.proto"; |
| 4 | +import "osi_common.proto"; |
| 5 | +import "osi_object.proto"; |
| 6 | +import "osi_trafficlight.proto"; |
| 7 | +//import "osi_hostvehicledata.proto"; |
| 8 | + |
| 9 | +package osi3; |
| 10 | + |
| 11 | +// |
| 12 | +// ToDo: Rework Description |
| 13 | +// \brief The traffic update message is provided by traffic participant |
| 14 | +// models to provide updates to their position, state and future |
| 15 | +// trajectory back to the simulation environment. The message is |
| 16 | +// designed to update data of exactly one traffic participant, |
| 17 | +// optionally with an attached trailer. |
| 18 | +// |
| 19 | +// \note For reasons of convenience and consistency, the updated |
| 20 | +// information is provided as a MovingObject. Certain fields of this |
| 21 | +// sub-message are not required to be set and will be ignored by the |
| 22 | +// simulation environment, because they are static information. |
| 23 | +// Instead of creating a seperate message type for only the non-static |
| 24 | +// information, re-use existing message. |
| 25 | +// |
| 26 | +// RULE: Needs to include all stuff that changed. |
| 27 | +// |
| 28 | +message Streaming |
| 29 | +{ |
| 30 | + // The interface version used by the sender (traffic participant model). |
| 31 | + // |
| 32 | + optional InterfaceVersion version = 1; |
| 33 | + |
| 34 | + // The data timestamp of the simulation environment. Zero time is arbitrary |
| 35 | + // but must be identical for all messages. Zero time does not need to |
| 36 | + // coincide with the UNIX epoch. Recommended is the starting time point of |
| 37 | + // the simulation. |
| 38 | + // |
| 39 | + // \note For moving object update data the timestamp coincides both with |
| 40 | + // the notional simulation time the data applies to and the time it was sent. |
| 41 | + // There is no inherent latency for moving object update data, as opposed |
| 42 | + // to sensor data. |
| 43 | + // |
| 44 | + optional Timestamp timestamp = 2; |
| 45 | + |
| 46 | + // To discuss: Are they needed? |
| 47 | + // The list of stationary objects (excluding traffic signs and traffic |
| 48 | + // lights). |
| 49 | + // |
| 50 | + repeated StationaryObject stationary_object_update = 3; |
| 51 | + |
| 52 | + // Updated traffic participant data |
| 53 | + // |
| 54 | + // \note It is not expected that static fields are populated. If they |
| 55 | + // are, they may be ignored by the receiver of this message, for example, dimensions, |
| 56 | + // or vehicle category. All dynamic fields should be populated where known, |
| 57 | + // for example, velocity, light states, or future trajectory. |
| 58 | + // |
| 59 | + // \note The field is repeated because it is possible to have a trailer attached to |
| 60 | + // a vehicle, see MovingObject::VehicleClassification::has_trailer and |
| 61 | + // MovingObject::VehicleClassification::trailer_id. |
| 62 | + // |
| 63 | + repeated MovingObject moving_object_update = 4; |
| 64 | + |
| 65 | + // To discuss: Are they needed? |
| 66 | + // The list of traffic signs. |
| 67 | + // |
| 68 | + repeated TrafficSign traffic_sign = 5; |
| 69 | + |
| 70 | + // The list of traffic lights. |
| 71 | + // |
| 72 | + repeated TrafficLight traffic_light_update = 6; |
| 73 | + |
| 74 | + // To discuss: Here or from osi_ground_truth if sended in a lower cycle time? |
| 75 | + // Conditions of the environment. |
| 76 | + // |
| 77 | + optional EnvironmentalConditions environmental_conditions = 7; |
| 78 | + |
| 79 | + // To discuss: What about HostVehicleData? |
| 80 | + |
| 81 | + // To discuss: What about obsolet objects? |
| 82 | + // Approach 1: is_obsolete flags inside the messages (example see osi_object.proto) |
| 83 | + // |
| 84 | + // Approach 2: Is shown below, id_lists (also for traffic lights etc.) |
| 85 | + // Vehicles that may have been disappeared because of being out of simulation range. |
| 86 | + // |
| 87 | + // \note Todo: How often does it need to be sent? |
| 88 | + // |
| 89 | + //repeated Identifier disappeared_moving_object_id = x; |
| 90 | + // |
| 91 | + // Approach 3: This message with an enum describing if content is to update or to delete. |
| 92 | +} |
0 commit comments