Apollo 9.0
自动驾驶开放平台
simulation_world.proto
浏览该文件的文档.
1syntax = "proto2";
2
3package apollo.dreamview;
4
13
14// Next-id: 4
15message PolygonPoint {
16 optional double x = 1;
17 optional double y = 2;
18 optional double z = 3 [default = 0.0];
19
20 // Gaussian probability information
21 optional apollo.common.GaussianInfo gaussian_info = 4;
22}
23
24// Next-id: 3
25message Prediction {
26 optional double probability = 1;
27 repeated PolygonPoint predicted_trajectory = 2;
28}
29
30// Next-id: 13
31message Decision {
32 enum Type {
33 IGNORE = 0; // Ignore the object
34 STOP = 1; // Stop at a distance from the object
35 NUDGE = 2; // Go around the object
36 YIELD = 3; // Go after the object
37 OVERTAKE = 4; // Go before the object
38 FOLLOW = 5; // Follow the object in the same lane
39 SIDEPASS = 6; // Pass the object in neighboring lane
40 }
41 optional Type type = 1 [default = IGNORE];
42
43 // Shape Info
44 // Can be used for corners of nudge region
45 repeated PolygonPoint polygon_point = 2;
46
47 // Position Info
48 // Can be used for stop fence
49 optional double heading = 3;
50 optional double latitude = 4;
51 optional double longitude = 5;
52 optional double position_x = 6;
53 optional double position_y = 7;
54 optional double length = 8 [default = 2.8];
55 optional double width = 9 [default = 1.4];
56 optional double height = 10 [default = 1.8];
57
59 STOP_REASON_HEAD_VEHICLE = 1;
60 STOP_REASON_DESTINATION = 2;
61 STOP_REASON_PEDESTRIAN = 3;
62 STOP_REASON_OBSTACLE = 4;
63 STOP_REASON_SIGNAL = 100;
64 STOP_REASON_STOP_SIGN = 101;
65 STOP_REASON_YIELD_SIGN = 102;
66 STOP_REASON_CLEAR_ZONE = 103;
67 STOP_REASON_CROSSWALK = 104;
68 STOP_REASON_EMERGENCY = 105;
69 STOP_REASON_NOT_READY = 106;
70 STOP_REASON_PULL_OVER = 107;
71 }
72 optional StopReasonCode stopReason = 11;
73 optional apollo.routing.ChangeLaneType change_lane_type = 12;
74}
75
76// Next-id: 41
77message Object {
78 // ID
79 optional string id = 1; // primary identifier for each object
80
81 // Shape Info
82 repeated PolygonPoint polygon_point = 2; // corners of an object
83
84 // Position Info
85 optional double heading = 3;
86 optional double latitude = 4;
87 optional double longitude = 5;
88 optional double position_x = 6;
89 optional double position_y = 7;
90 optional double length = 8 [default = 2.8];
91 optional double width = 9 [default = 1.4];
92 optional double height = 10 [default = 1.8];
93
94 // Motion Info
95 // For objects with motion info such as ADC.
96 optional double speed = 11; // in m/s, can be negative
97 optional double speed_acceleration = 12; // in m/s^2
98 optional double speed_jerk = 13;
99 optional double spin = 14;
100 optional double spin_acceleration = 15;
101 optional double spin_jerk = 16;
102 optional double speed_heading = 17;
103 optional double kappa = 18;
104 optional double dkappa = 35;
105
106 // Signal Info
107 // For objects with signals set and current signal such as Traffic Light,
108 // Stop Sign, and Vehicle Signal.
109 repeated string signal_set = 19;
110 optional string current_signal = 20;
111
112 // Time Info
113 optional double timestamp_sec = 21;
114
115 // Decision Info
116 repeated Decision decision = 22;
117 optional bool yielded_obstacle = 32 [default = false];
118
119 // Chassis Info
120 // For ADC
121 optional double throttle_percentage = 23;
122 optional double brake_percentage = 24;
123 optional double steering_percentage = 25;
124 optional double steering_angle = 26;
125 optional double steering_ratio = 27;
126 optional int32 battery_percentage = 38;
127 optional apollo.canbus.Chassis.GearPosition gear_location = 39;
129 DISENGAGE_NONE = 0;
130 DISENGAGE_UNKNOWN = 1;
131 DISENGAGE_MANUAL = 2;
132 DISENGAGE_EMERGENCY = 3;
133 DISENGAGE_AUTO_STEER_ONLY = 4;
134 DISENGAGE_AUTO_SPEED_ONLY = 5;
135 DISENGAGE_CHASSIS_ERROR = 6;
136 };
137
138 optional DisengageType disengage_type = 28;
139
140 enum Type {
142 UNKNOWN_MOVABLE = 1;
143 UNKNOWN_UNMOVABLE = 2;
144 PEDESTRIAN = 3; // pedestrian, usually determined by moving behavior.
145 BICYCLE = 4; // bike, motor bike.
146 VEHICLE = 5; // passenger car or truck.
147 VIRTUAL = 6; // virtual object created by decision module.
148 CIPV = 7; // closest in-path vehicle determined by perception module.
149 };
150
151 optional Type type = 29; // obstacle type
152 // obstacle sub-type
154 repeated Prediction prediction = 30;
155
156 // perception confidence level. Range: [0,1]
157 optional double confidence = 31 [default = 1];
158 optional apollo.prediction.ObstaclePriority obstacle_priority = 33;
159 optional apollo.prediction.ObstacleInteractiveTag interactive_tag = 40;
160
161 // v2x for perception obstacle
163 [default = HOST_VEHICLE]; // source type
164 // v2x use case info
165 optional apollo.perception.V2XInformation v2x_info = 37;
166}
168message DelaysInMs {
169 optional double chassis = 1;
170 optional double localization = 3;
171 optional double perception_obstacle = 4;
172 optional double planning = 5;
173 optional double prediction = 7;
174 optional double traffic_light = 8;
175 optional double control = 9;
176}
178message RoutePath {
179 repeated PolygonPoint point = 1;
180}
182message Latency {
183 optional double timestamp_sec = 1;
184 optional double total_time_ms = 2;
185}
188 repeated string lane = 1;
189 repeated string crosswalk = 2;
190 repeated string junction = 3;
191 repeated string signal = 4;
192 repeated string stop_sign = 5;
193 repeated string yield = 6;
194 repeated string overlap = 7;
195 repeated string road = 8;
196 repeated string clear_area = 9;
197 repeated string parking_space = 10;
198 repeated string speed_bump = 11;
199 repeated string pnc_junction = 12;
200}
202message ControlData {
203 optional double timestamp_sec = 1;
204 optional double station_error = 2;
205 optional double lateral_error = 3;
206 optional double heading_error = 4;
207 optional apollo.common.TrajectoryPoint current_target_point = 5;
208}
211 optional double timestamp_sec = 1;
212 optional apollo.common.monitor.MonitorMessageItem item = 2;
213}
216 repeated Object sensor_measurement = 1;
217}
218
219// Next-id: 31
220message SimulationWorld {
221 // Timestamp in milliseconds
222 optional double timestamp = 1;
223
224 // Sequence number
225 optional uint32 sequence_num = 2;
226
227 // Objects in the world and the associated predictions/decisions
228 repeated Object object = 3;
229
230 // Autonomous driving cars
231 optional Object auto_driving_car = 4;
232
233 // Planning signal
234 optional Object traffic_signal = 5;
235
236 // Routing paths
237 repeated RoutePath route_path = 6;
238 // Timestamp of latest routing
239 optional double routing_time = 7;
240
241 // Planned trajectory
242 repeated Object planning_trajectory = 8;
243
244 // Main decision
245 optional Object main_stop = 9 [deprecated = true];
246 optional Object main_decision = 10;
247
248 // Speed limit
249 optional double speed_limit = 11;
250
251 // Module delays
252 optional DelaysInMs delay = 12;
253
254 // Notification
255 optional apollo.common.monitor.MonitorMessage monitor = 13
256 [deprecated = true];
257 repeated Notification notification = 14;
259 // Engage advice from planning
260 optional string engage_advice = 15;
262 // Module latency
263 map<string, Latency> latency = 16;
265 optional MapElementIds map_element_ids = 17;
266 optional uint64 map_hash = 18;
267 optional double map_radius = 19;
269 // Planning data
270 optional apollo.planning_internal.PlanningData planning_data = 20;
272 // GPS
273 optional Object gps = 21;
275 // Lane Markers from perception
276 optional apollo.perception.LaneMarkers lane_marker = 22;
278 // Control data
279 optional ControlData control_data = 23;
281 // Relative Map
282 repeated apollo.common.Path navigation_path = 24;
284 // RSS info
285 optional bool is_rss_safe = 25 [default = true];
287 // Shadow localization
288 optional Object shadow_localization = 26;
290 // Perception detected signals
291 repeated Object perceived_signal = 27;
293 // A map from a story name to whether it is on
294 map<string, bool> stories = 28;
296 // A map from a sensor_id to a group of sensor_measurements
297 map<string, SensorMeasurements> sensor_measurements = 29;
298
299 optional bool is_siren_on = 30 [default = false];
301 // vehicle param
302 optional apollo.common.VehicleParam vehicle_param = 31;
303}
Planning module main class.
apollo::canbus
apollo::common::monitor
apollo::common
apollo::prediction
class register implement