@@ -38,13 +38,63 @@ message TrafficUpdate
3838 //
3939 optional Timestamp timestamp = 2 ;
4040
41- // Updated moving object
41+ // Updated traffic participant data
4242 //
43- // \note Only the following members are considered in updates: id, base member
44- // without dimension and base_polygon and the vehicle_classification.light_state.
45- // All other members can be left undefined and will be
46- // ignored by the receiver of this message.
43+ repeated TrafficParticipantUpdate traffic = 3 ;
44+
45+ // \brief Data for a single traffic participant to update the simulator.
46+ //
47+ // It includes an immediate update for the current timestamp reported in
48+ // parent traffic update message which can include the full detail of a
49+ // moving object message.
50+ //
51+ // The future trajectory is deliberately more sparse as much of the detail
52+ // won't be known for all future points.
4753 //
48- optional MovingObject update = 3 ;
54+ message TrafficParticipantUpdate
55+ {
56+ // Updated moving object
57+ //
58+ // \note Only the following members are considered in updates: id, base member
59+ // without dimension and base_polygon and the vehicle_classification.light_state.
60+ // All other members can be left undefined and will be
61+ // ignored by the receiver of this message.
62+ //
63+ optional MovingObject update = 1 ;
64+
65+ // The future trajectory message is to allow traffic participants to
66+ // indicate to the simulator their current expectations of where they plan to
67+ // be in the future.
68+ //
69+ // \note Traffic participants aren't required to stick precisely to this future
70+ // trajectory. It is to allow the simulator to provide realistic agent
71+ // behaviours without performing prediction for all external traffic
72+ // participants.
73+ //
74+ repeated FutureTrajectoryNode future_trajectory = 2 ;
75+
76+ //
77+ // \brief The future node is a single point in time as part of a future
78+ // trajectory which defines the pose, velocity, acceleration, etc. at
79+ // that point.
80+ // See the FutureTrajectory message for details and context.
81+ //
82+ message FutureTrajectoryNode
83+ {
84+ // The future timestamp for the trajectory node. Zero time is arbitrary
85+ // but must be identical for all messages. Zero time does not need to
86+ // coincide with the UNIX epoch. Recommended is the starting time point of
87+ // the simulation.
88+ //
89+ // \note This must be in the future compared to the timestamp in the top
90+ // level traffic update message.
91+ //
92+ optional Timestamp timestamp = 1 ;
4993
94+ // Traffic participant data for the future trajectory node.
95+ //
96+ // \note Dimensions and base polygon are ignored.
97+ optional BaseMoving future_point = 2 ;
98+ }
99+ }
50100}
0 commit comments