Apollo 10.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}
175
176message LaneMarker {
177 optional apollo.hdmap.LaneBoundaryType.Type lane_type = 1;
178 optional double quality = 2; // range = [0,1]; 1 = the best quality
179 optional int32 model_degree = 3;
180
181 // equation X = c3 * Z^3 + c2 * Z^2 + c1 * Z + c0
182 optional double c0_position = 4;
183 optional double c1_heading_angle = 5;
184 optional double c2_curvature = 6;
185 optional double c3_curvature_derivative = 7;
186 optional double view_range = 8;
187 optional double longitude_start = 9;
188 optional double longitude_end = 10;
189}
190
191message LaneMarkers {
192 optional LaneMarker left_lane_marker = 1;
193 optional LaneMarker right_lane_marker = 2;
194 repeated LaneMarker next_left_lane_marker = 3;
195 repeated LaneMarker next_right_lane_marker = 4;
196}
197
198message CIPVInfo {
199 optional int32 cipv_id = 1;
200 repeated int32 potential_cipv_id = 2;
201}
202
204 optional int32 id = 1;
205
206 optional apollo.common.Point3D position = 2;
207 optional double theta = 3;
208 optional apollo.common.Point3D velocity = 4;
209 optional double length = 5;
210 optional double width = 6;
211 optional double height = 7;
212 repeated apollo.common.Point3D polygon_point = 8;
213 optional double tracking_time = 9;
214
215 enum Type {
216 UNKNOWN = 0;
217 CAN = 1;
218 CIGARETTE = 2;
219 CIGARETTE_CASE = 3;
220 PEEL = 4;
221 PACKAGE = 5;
222 PLASTIC_BAG = 6;
223 BOTTLES = 7;
224 SHELL = 8;
225 LEAF = 9;
226 PAPER_CUP = 10;
227 CUBE = 11;
228 WIRE = 12;
229 };
230 optional Type type = 10;
231
232 optional double timestamp = 11;
233 optional double confidence = 12;
234 optional BBox2D bbox2d = 13;
235 optional DebugMessage msg = 14;
236}
237
239 repeated PerceptionObstacle perception_obstacle = 1; // An array of obstacles
240 optional apollo.common.Header header = 2; // Header
241 optional apollo.common.ErrorCode error_code = 3 [default = OK];
242 optional LaneMarkers lane_marker = 4;
243 optional CIPVInfo cipv_info = 5; // Closest In Path Vehicle (CIPV)
244 repeated PerceptionWaste perception_waste = 6; // An array of wastes
245}
246
248 optional apollo.common.Header header = 1;
249 optional bool is_useable = 2 [default = false];
250 repeated apollo.common.Point3D edge_point = 3;
251 repeated apollo.common.Point3D edge_relative_point = 4;
252 optional double delta_s = 5 [default = 0.2];
253 optional double edge_length = 6;
254 optional bool is_smoother_succ = 7 [default = false];
255 optional bool is_cross_localization = 8 [default = false];
256}
257
259 optional apollo.common.Header header = 1;
260 optional bool is_useable = 2 [default = false];
261 optional apollo.common.Point3D relative_position = 3;
262 repeated apollo.common.Point3D relative_path_position = 4;
263 optional double relative_heading = 5;
264}
apollo::common
apollo::hdmap
Definition map.proto:3
class register implement
Definition arena_queue.h:37