Skip to content

Commit bfe355e

Browse files
ThomasNaderBMWpmai
authored andcommitted
Add initial consolidated osi_streaming.proto
Interface and message for streaming updates, as discussed and revised in the workshops. Signed-off-by: Thomas Nader <Thomas.Nader@bmw.de>
1 parent 35d3f6a commit bfe355e

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

osi_streaming.proto

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
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+
// \brief This message is about partial updates from simulation entities.
13+
//
14+
// First time message is being sent:
15+
//
16+
// ToDo
17+
//
18+
// Afterwards:
19+
// As streaming update this message contains objects of which at least one
20+
// property has changed. Unchanged properties are nevertheless sent.
21+
//
22+
//
23+
//
24+
message Streaming
25+
{
26+
// The interface version used by the sender (traffic participant model).
27+
//
28+
optional InterfaceVersion version = 1;
29+
30+
// The data timestamp where the information of contained objects is calculated.
31+
//
32+
// Zero time is arbitrary but must be identical for all messages.
33+
// Zero time does not need to coincide with the UNIX epoch.
34+
// Recommended is the starting time point of the simulation.
35+
//
36+
optional Timestamp timestamp = 2;
37+
38+
// The list of stationary objects (excluding traffic signs and traffic
39+
// lights).
40+
//
41+
repeated StationaryObject stationary_object_update = 4;
42+
43+
// \note It is not expected that static fields are populated. If they
44+
// are, they may be ignored by the receiver of this message, for example, dimensions,
45+
// or vehicle category. All dynamic fields should be populated where known,
46+
// for example, velocity, light states, or future trajectory.
47+
//
48+
// ToDo: how to handle trailers?
49+
// \note The field is repeated because it is possible to have a trailer attached to
50+
// a vehicle, see MovingObject::VehicleClassification::has_trailer and
51+
// MovingObject::VehicleClassification::trailer_id.
52+
//
53+
repeated MovingObject moving_object_update = 5;
54+
55+
// The list of traffic signs.
56+
//
57+
repeated TrafficSign traffic_sign = 6;
58+
59+
// The list of traffic lights.
60+
//
61+
repeated TrafficLight traffic_light_update = 7;
62+
63+
// Conditions of the environment.
64+
//
65+
optional EnvironmentalConditions environmental_conditions_update = 12;
66+
67+
// Host vehicle data.
68+
//
69+
// Host vehicle data is data that the host vehicle knows about itself,
70+
// e.g. from location sensors, internal sensors and ECU bus data, etc.,
71+
// that is made available to sensors as input.
72+
//
73+
repeated HostVehicleData host_vehicle_data_update = 29;
74+
75+
// Entities that will no longer be updated, because they are considered
76+
// obsolete by the sender.
77+
//
78+
// Note: IDs are globally unique.
79+
//
80+
repeated Identifier obsolete_id = 30;
81+
}

0 commit comments

Comments
 (0)