Apollo 11.0
自动驾驶开放平台
perception_obstacle.proto
浏览该文件的文档.
1syntax = "proto2";
2
3package apollo.perception;
4
10
11message BBox2D {
12 optional double xmin = 1; // in pixels.
13 optional double ymin = 2; // in pixels.
14 optional double xmax = 3; // in pixels.
15 optional double ymax = 4; // in pixels.
16}
17
18message LightStatus {
19 optional double brake_visible = 1;
20 optional double brake_switch_on = 2;
21 optional double left_turn_visible = 3;
22 optional double left_turn_switch_on = 4;
23 optional double right_turn_visible = 5;
24 optional double right_turn_switch_on = 6;
25}
26
28 enum V2XType {
29 NONE = 0;
30 ZOMBIES_CAR = 1;
31 BLIND_ZONE = 2;
32 };
33 repeated V2XType v2x_type = 1;
34}
35
37 optional string sensor_id = 1;
38 optional int32 id = 2;
39
40 optional apollo.common.Point3D position = 3;
41 optional double theta = 4;
42 optional double length = 5;
43 optional double width = 6;
44 optional double height = 7;
45
46 optional apollo.common.Point3D velocity = 8;
47
48 optional PerceptionObstacle.Type type = 9;
49 optional PerceptionObstacle.SubType sub_type = 10;
50 optional double timestamp = 11;
51 optional BBox2D box = 12; // only for camera measurements
52}
53
54message Trajectory {
55 optional double probability = 1; // probability of this trajectory
56 repeated apollo.common.TrajectoryPoint trajectory_point = 2;
57}
58
59message DebugMessage {
60 // can have multiple trajectories per obstacle
61 repeated Trajectory trajectory = 1;
62}
63
65 optional int32 id = 1; // obstacle ID.
66
67 // obstacle position in the world coordinate system.
68 optional apollo.common.Point3D position = 2;
69
70 optional double theta = 3; // heading in the world coordinate system.
71 optional apollo.common.Point3D velocity = 4; // obstacle velocity.
72
73 // Size of obstacle bounding box.
74 optional double length = 5; // obstacle length.
75 optional double width = 6; // obstacle width.
76 optional double height = 7; // obstacle height.
77
78 repeated apollo.common.Point3D polygon_point = 8; // obstacle corner points.
79
80 // duration of an obstacle since detection in s.
81 optional double tracking_time = 9;
82
83 enum Type {
84 UNKNOWN = 0;
85 UNKNOWN_MOVABLE = 1;
86 UNKNOWN_UNMOVABLE = 2;
87 PEDESTRIAN = 3; // Pedestrian, usually determined by moving behavior.
88 BICYCLE = 4; // bike, motor bike
89 VEHICLE = 5; // Passenger car or truck.
90 };
91 optional Type type = 10; // obstacle type
92 optional double timestamp = 11; // GPS time in seconds.
93
94 // Just for offline debugging, will not fill this field on board.
95 // Format: [x0, y0, z0, x1, y1, z1...]
96 repeated double point_cloud = 12 [packed = true];
97
98 optional double confidence = 13;
100 CONFIDENCE_UNKNOWN = 0;
101 CONFIDENCE_CNN = 1;
102 CONFIDENCE_RADAR = 2;
103 };
104 optional ConfidenceType confidence_type = 14 [deprecated = true];
105 // trajectory of object.
106 repeated apollo.common.Point3D drops = 15 [deprecated = true];
107
108 // The following fields are new added in Apollo 4.0
109 optional apollo.common.Point3D acceleration = 16; // obstacle acceleration
110
111 // a stable obstacle point in the world coordinate system
112 // position defined above is the obstacle bounding box ground center
113 optional apollo.common.Point3D anchor_point = 17;
114 optional BBox2D bbox2d = 18;
115
116 enum SubType {
117 ST_UNKNOWN = 0;
118 ST_UNKNOWN_MOVABLE = 1;
119 ST_UNKNOWN_UNMOVABLE = 2;
120 ST_CAR = 3;
121 ST_VAN = 4;
122 ST_TRUCK = 5;
123 ST_BUS = 6;
124 ST_CYCLIST = 7;
125 ST_MOTORCYCLIST = 8;
126 ST_TRICYCLIST = 9;
127 ST_PEDESTRIAN = 10;
128 ST_TRAFFICCONE = 11;
129 ST_SMALLMOT = 12;
130 ST_BIGMOT = 13;
131 ST_NONMOT = 14;
132 };
133 optional SubType sub_type = 19; // obstacle sub_type
134
135 repeated SensorMeasurement measurements = 20; // sensor measurements
136
137 // orthogonal distance between obstacle lowest point and ground plane
138 optional double height_above_ground = 21 [default = nan];
139
140 // position covariance which is a row-majored 3x3 matrix
141 repeated double position_covariance = 22 [packed = true];
142 // velocity covariance which is a row-majored 3x3 matrix
143 repeated double velocity_covariance = 23 [packed = true];
144 // acceleration covariance which is a row-majored 3x3 matrix
145 repeated double acceleration_covariance = 24 [packed = true];
146
147 // lights of vehicles
148 optional LightStatus light_status = 25;
149
150 // Debug Message
151 optional DebugMessage msg = 26;
152
153 enum Source {
154 HOST_VEHICLE = 0;
155 V2X = 1;
156 };
157
158 optional Source source = 27 [default = HOST_VEHICLE];
159 optional V2XInformation v2x_info = 28;
160
162 SM_UNKNOWN = 0;
163 SM_IGNORE = 1;
164 SM_GROUND = 2;
165 SM_OBJECT = 3;
166 SM_CURB = 4;
167 SM_VEGETATION = 5;
168 SM_FENCE = 6;
169 SM_NOISE = 7;
170 SM_WALL = 8;
171 SM_MAX_OBJECT_SEMANTIC_LABEL = 9;
172 };
173 optional SemanticType semantic_type = 29;
174
176 MT_UNKNOWN = 0;
177 MT_MOVING = 1;
178 MT_STATIONARY = 2;
179 MT_MAX_OBJECT_MOTION_LABEL = 3;
180 };
181 optional MotionType motion_type = 30;
182}
183
184message LaneMarker {
185 optional apollo.hdmap.LaneBoundaryType.Type lane_type = 1;
186 optional double quality = 2; // range = [0,1]; 1 = the best quality
187 optional int32 model_degree = 3;
188
189 // equation X = c3 * Z^3 + c2 * Z^2 + c1 * Z + c0
190 optional double c0_position = 4;
191 optional double c1_heading_angle = 5;
192 optional double c2_curvature = 6;
193 optional double c3_curvature_derivative = 7;
194 optional double view_range = 8;
195 optional double longitude_start = 9;
196 optional double longitude_end = 10;
197}
198
199message LaneMarkers {
200 optional LaneMarker left_lane_marker = 1;
201 optional LaneMarker right_lane_marker = 2;
202 repeated LaneMarker next_left_lane_marker = 3;
203 repeated LaneMarker next_right_lane_marker = 4;
204}
205
206message CIPVInfo {
207 optional int32 cipv_id = 1;
208 repeated int32 potential_cipv_id = 2;
209}
210
212 optional int32 id = 1;
213
214 optional apollo.common.Point3D position = 2;
215 optional double theta = 3;
216 optional apollo.common.Point3D velocity = 4;
217 optional double length = 5;
218 optional double width = 6;
219 optional double height = 7;
220 repeated apollo.common.Point3D polygon_point = 8;
221 optional double tracking_time = 9;
222
223 enum Type {
224 UNKNOWN = 0;
225 CAN = 1;
226 CIGARETTE = 2;
227 CIGARETTE_CASE = 3;
228 PEEL = 4;
229 PACKAGE = 5;
230 PLASTIC_BAG = 6;
231 BOTTLES = 7;
232 SHELL = 8;
233 LEAF = 9;
234 PAPER_CUP = 10;
235 CUBE = 11;
236 WIRE = 12;
237 };
238 optional Type type = 10;
239
240 optional double timestamp = 11;
241 optional double confidence = 12;
242 optional BBox2D bbox2d = 13;
243 optional DebugMessage msg = 14;
244}
245
247 repeated PerceptionObstacle perception_obstacle = 1; // An array of obstacles
248 optional apollo.common.Header header = 2; // Header
249 optional apollo.common.ErrorCode error_code = 3 [default = OK];
250 optional LaneMarkers lane_marker = 4;
251 optional CIPVInfo cipv_info = 5; // Closest In Path Vehicle (CIPV)
252 repeated PerceptionWaste perception_waste = 6; // An array of wastes
253}
254
256 optional apollo.common.Header header = 1;
257 optional bool is_useable = 2 [default = false];
258 repeated apollo.common.Point3D edge_point = 3;
259 repeated apollo.common.Point3D edge_relative_point = 4;
260 optional double delta_s = 5 [default = 0.2];
261 optional double edge_length = 6;
262 optional bool is_smoother_succ = 7 [default = false];
263 optional bool is_cross_localization = 8 [default = false];
264}
265
267 optional apollo.common.Header header = 1;
268 optional bool is_useable = 2 [default = false];
269 optional apollo.common.Point3D relative_position = 3;
270 repeated apollo.common.Point3D relative_path_position = 4;
271 optional double relative_heading = 5;
272}
apollo::common
apollo::hdmap
Definition map.proto:3
class register implement
Definition arena_queue.h:37