Skip to content

Commit 2b5610e

Browse files
authored
Merge pull request #124 from OpenSimulationInterface/Extended-Traffic-Signs
Improvements on extended traffic signs
2 parents 5790ba9 + 833450f commit 2b5610e

File tree

1 file changed

+116
-104
lines changed

1 file changed

+116
-104
lines changed

osi_landmark.proto

Lines changed: 116 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ message TrafficSign
120120
// Start of area without traffic to reduce harmful air pollution (StVO 270.1).
121121
//
122122
TYPE_ENVIRONMENTAL_ZONE_BEGIN = 12;
123+
123124
// End of area without traffic to reduce harmful air pollution (StVO 270.2).
124125
//
125126
TYPE_ENVIRONMENTAL_ZONE_END = 13;
@@ -239,138 +240,178 @@ message TrafficSign
239240
// Prescribed right turn and driving straight ahead (StVO 214.2).
240241
//
241242
TYPE_PRESCRIBED_RIGHT_TURN_AND_STRAIGHT = 42;
242-
243-
// Roundabout (StVO 215).
244-
//
245-
TYPE_ROUNDABOUT = 43;
246243

244+
// Prescribed left and right turn (StVO 214.3).
245+
//
246+
TYPE_PRESCRIBED_LEFT_TURN_AND_RIGHT_TURN = 43;
247+
248+
// Prescribed left turn, right turn and driving straight ahead (required for logical signs as road marking).
249+
//
250+
TYPE_PRESCRIBED_LEFT_TURN_RIGHT_TURN_AND_STRAIGHT = 44;
251+
247252
// One-way road to the left (StVO 220.1).
248253
//
249-
TYPE_ONEWAY_LEFT = 44;
250-
254+
TYPE_ONEWAY_LEFT = 45;
255+
251256
// One-way road to the right (StVO 220.2).
252257
//
253-
TYPE_ONEWAY_RIGHT = 45;
254-
258+
TYPE_ONEWAY_RIGHT = 46;
259+
260+
// No U turn left (StVO 272).
261+
//
262+
TYPE_NO_U_TURN_LEFT = 47;
263+
264+
// No U turn right ().
265+
//
266+
TYPE_NO_U_TURN_RIGHT = 48;
267+
268+
// Prescribed U turn left ().
269+
//
270+
TYPE_PRESCRIBED_U_TURN_LEFT = 49;
271+
272+
// Prescribed U turn right ().
273+
//
274+
TYPE_PRESCRIBED_U_TURN_RIGHT = 50;
275+
276+
// Left lane limitation or end of left lane (StVO 531.2x).
277+
//
278+
TYPE_ANNOUNCE_LEFT_LANE_END = 51;
279+
280+
// Right lane limitation or end of right lane (StVO 531.1x).
281+
//
282+
TYPE_ANNOUNCE_RIGHT_LANE_END = 52;
283+
255284
// Entry not allowed (StVO 267).
256285
//
257-
TYPE_DO_NOT_ENTER = 46;
286+
TYPE_DO_NOT_ENTER = 53;
287+
288+
// Roundabout (StVO 215).
289+
//
290+
TYPE_ROUNDABOUT = 54;
291+
292+
// Bus only lane begin.
293+
//
294+
TYPE_BUS_LANE_BEGIN = 55;
295+
296+
// Bus only lane end ().
297+
//
298+
TYPE_BUS_LANE_END = 56;
258299

259300
// Entry prohibited for all vehicle types (StVO 250).
260301
//
261-
TYPE_PROHIBITED_FOR_ALL = 47;
302+
TYPE_PROHIBITED_FOR_ALL = 57;
262303

263304
// Entry prohibited for all motor vehicles (StVO 251).
264305
//
265-
TYPE_PROHIBITED_FOR_MOTOR_VEHICLES = 48;
306+
TYPE_PROHIBITED_FOR_MOTOR_VEHICLES = 58;
266307

267308
// Entry prohibited for trucks (StVO 253).
268309
//
269-
TYPE_PROHIBITED_FOR_TRUCKS = 49;
310+
TYPE_PROHIBITED_FOR_TRUCKS = 59;
270311

271312
// Entry prohibited for bicycles (StVO 254).
272313
//
273-
TYPE_PROHIBITED_FOR_BICYCLES = 50;
314+
TYPE_PROHIBITED_FOR_BICYCLES = 60;
274315

275316
// Entry prohibited for motor bikes (StVO 255).
276317
//
277-
TYPE_PROHIBITED_FOR_MOTOR_BIKES = 51;
318+
TYPE_PROHIBITED_FOR_MOTOR_BIKES = 61;
278319

279320
// Entry prohibited for pedestrians (StVO 259).
280321
//
281-
TYPE_PROHIBITED_FOR_PEDESTRIANS = 52;
322+
TYPE_PROHIBITED_FOR_PEDESTRIANS = 62;
282323

283324
// Entry prohibited for all motor vehicles and bikes (StVO 260).
284325
//
285-
TYPE_PROHIBITED_FOR_MOTOR_VEHICLES_BIKES = 53;
326+
TYPE_PROHIBITED_FOR_MOTOR_VEHICLES_BIKES = 63;
286327

287328
// Begin of highway (StVO 330.1).
288329
//
289-
TYPE_HIGHWAY_BEGIN = 54;
330+
TYPE_HIGHWAY_BEGIN = 64;
290331

291332
// End of highway (StVO 330.2).
292333
//
293-
TYPE_HIGHWAY_END = 55;
334+
TYPE_HIGHWAY_END = 65;
294335

295336
// Highway exit sign (StVO 333).
296337
//
297-
TYPE_HIGHWAY_EXIT = 56;
338+
TYPE_HIGHWAY_EXIT = 66;
298339

299340
// Pole indicating highways exit in 100m (StVO 450).
300341
//
301-
TYPE_POLE_EXIT_100M = 57;
342+
TYPE_POLE_EXIT_100M = 67;
302343

303344
// Pole indicating highways exit in 200m (StVO 450).
304345
//
305-
TYPE_POLE_EXIT_200M = 58;
346+
TYPE_POLE_EXIT_200M = 68;
306347

307348
// Pole indicating highways exit in 300m (StVO 450).
308349
//
309-
TYPE_POLE_EXIT_300M = 59;
350+
TYPE_POLE_EXIT_300M = 69;
310351

311352
// Pole for warning and guiding purposes (red/white stripes - StVO 605).
312353
//
313-
TYPE_POLE_WARNING = 60;
354+
TYPE_POLE_WARNING = 70;
314355

315356
// Begin of expressway for motor vehicles (StVO 331.1).
316357
//
317-
TYPE_EXPRESSWAY_BEGIN = 61;
358+
TYPE_EXPRESSWAY_BEGIN = 71;
318359

319360
// End of expressways for motor vehicles (StVO 331.2).
320361
//
321-
TYPE_EXPRESSWAY_END = 62;
362+
TYPE_EXPRESSWAY_END = 72;
322363

323364
// Priority must be given to vehicles from the opposite direction (StVO 208).
324365
//
325-
TYPE_PRIORITY_TO_OPPOSITE_DIRECTION = 63;
366+
TYPE_PRIORITY_TO_OPPOSITE_DIRECTION = 73;
326367

327368
// Traffic has priority over vehicles from the opposite direction (StVO 308).
328369
//
329-
TYPE_PRIORITY_OVER_OPPOSITE_DIRECTION = 64;
370+
TYPE_PRIORITY_OVER_OPPOSITE_DIRECTION = 74;
330371

331372
// Priority must be given to vehicles from the opposite direction (StVO 208). Upside down.
332373
//
333-
TYPE_PRIORITY_TO_OPPOSITE_DIRECTION_UPSIDE_DOWN = 65;
374+
TYPE_PRIORITY_TO_OPPOSITE_DIRECTION_UPSIDE_DOWN = 75;
334375

335376
// Traffic has priority over vehicles from the opposite direction (StVO 308). Upside down.
336377
//
337-
TYPE_PRIORITY_OVER_OPPOSITE_DIRECTION_UPSIDE_DOWN = 66;
378+
TYPE_PRIORITY_OVER_OPPOSITE_DIRECTION_UPSIDE_DOWN = 76;
338379

339380
// Minimum safety distance for trucks (StVO 273).
340381
//
341-
TYPE_MINIMUM_DISTANCE_FOR_TRUCKS = 67;
382+
TYPE_MINIMUM_DISTANCE_FOR_TRUCKS = 77;
342383

343384
// Traffic light ahead sign (StVO 131).
344385
//
345-
TYPE_ATTENTION_TRAFFIC_LIGHT = 68;
386+
TYPE_ATTENTION_TRAFFIC_LIGHT = 78;
346387

347388
// Pedestrian crossing (StVO 350).
348389
//
349-
TYPE_PEDESTRIAN_CROSSING_INFO = 69;
390+
TYPE_PEDESTRIAN_CROSSING_INFO = 79;
350391

351392
// Warning sign for a left turn (StVO 103.1).
352393
//
353-
TYPE_TURN_LEFT = 70;
394+
TYPE_TURN_LEFT = 80;
354395

355396
// Warning sign for a right turn (StVO 103.2).
356397
//
357-
TYPE_TURN_RIGHT = 71;
398+
TYPE_TURN_RIGHT = 81;
358399

359400
// Warning sign for a double turn (first left turn) (StVO 105.1).
360401
//
361-
TYPE_DOUBLE_TURN_LEFT = 72;
402+
TYPE_DOUBLE_TURN_LEFT = 82;
362403

363404
// Warning sign for a double turn (first right turn) (StVO 105.2).
364405
//
365-
TYPE_DOUBLE_TURN_RIGHT = 73;
406+
TYPE_DOUBLE_TURN_RIGHT = 83;
366407

367408
// Drive past on the left side (StVO 222.1).
368409
//
369-
TYPE_PASS_LEFT = 74;
410+
TYPE_PASS_LEFT = 84;
370411

371412
// Drive past on the right side (StVO 222.2).
372413
//
373-
TYPE_PASS_RIGHT = 75;
414+
TYPE_PASS_RIGHT = 85;
374415
}
375416

376417
// Definition of the variability of the traffic sign.
@@ -826,18 +867,37 @@ message RoadMarking
826867
// The type of the road marking.
827868
//
828869
optional Type type = 3;
829-
830-
// The color of the road marking.
870+
871+
// Traffic sign as road marking (colour image, monochrome image or character string).
872+
//
873+
// \note Field is set if ( \c RoadMarking.type == \c RoadMarking.Type.TYPE_PAINTED_TRAFFIC_SIGN or
874+
// \c RoadMarking.Type.TYPE_SYMBOLIC_TRAFFIC_SIGN or \c RoadMarking.Type.TYPE_TEXTUAL_TRAFFIC_SIGN ).
831875
//
832-
optional Color color = 4;
876+
// \note Field need not be set (or set to \c TrafficSign.Type.TYPE_OTHER)
877+
// if road marking type (\c RoadMarking.type) does not require it.
878+
optional TrafficSign.Type traffic_sign_type = 4;
879+
880+
// The monochrome color of the road marking.
881+
// \note Field need not be set (or set to \c RoadMarking.Color.COLOR_OTHER)
882+
// if road marking type does not require it (e.g. for \c RoadMarking.type == \c RoadMarking.Type.TYPE_PAINTED_TRAFFIC_SIGN).
883+
optional Color monochrome_color = 5;
833884

834885
// Additional value associated with the road marking, e.g. value of the speed limit.
835-
// Field need not be set if road marking type does not require it.
836-
optional double value = 5;
886+
// \note Field need not be set if road marking type does not require it.
887+
optional double value = 6;
888+
889+
// Additional text value as road marking, e.g. BUS, TAXI etc.
890+
// \note Field need not be set if road marking type does not require it.
891+
optional string value_text = 7;
837892

838893
// The id(s) of the lane(s) that the road marking is assigned to.
839894
// Might be multiple if the road marking goes across multiple lanes.
840-
repeated Identifier assigned_lane = 6;
895+
repeated Identifier assigned_lane = 8;
896+
897+
// Intersection orientation of the road marking.
898+
//
899+
// \note Defined for \c Lane::type = TYPE_INTERSECTION, otherwise zero vector
900+
optional Vector3d roadmarking_orientation = 9;
841901

842902
// Definition of road marking types.
843903
//
@@ -851,77 +911,29 @@ message RoadMarking
851911
//
852912
TYPE_OTHER = 1;
853913

854-
// A solid stop line.
914+
// Paint on the road surface indicating a colour image of a traffic sign.
855915
//
856-
TYPE_STOP_LINE = 2;
916+
TYPE_PAINTED_TRAFFIC_SIGN = 2;
857917

858-
// A speed limit sign painted on the road surface.
918+
// Paint on the road surface indicating a monochrome logical symbol of a traffic sign (e.g. digits 50 as start of speed limit 50 or stop line for stop sign).
859919
//
860-
TYPE_SPEED_LIMIT = 3;
920+
TYPE_SYMBOLIC_TRAFFIC_SIGN = 3;
861921

862-
// A straight arrow painted on the road surface indicating a lane to drive straight. (StVO 297).
922+
// Paint on the road surface as a character string (e.g. BUS as bus only lane).
863923
//
864-
TYPE_STRAIGHT_ARROW = 4;
924+
TYPE_TEXTUAL_TRAFFIC_SIGN = 4;
865925

866-
// A straight arrow painted on the road surface indicating a lane to turn right (StVO 297).
867-
//
868-
TYPE_RIGHT_TURN_ARROW = 5;
869-
870-
// A straight arrow painted on the road surface indicating a lane to turn left (StVO 297).
871-
//
872-
TYPE_LEFT_TURN_ARROW = 6;
873-
874-
// A dashed stop line
875-
//
876-
TYPE_STOP_LINE_DASHED = 7;
877-
878-
// A stop line consisting of triangles.
879-
//
880-
TYPE_STOP_LINE_TRIANGLE = 8;
881-
882-
// An arrow painted on the road surface indicating a lane to drive straight and to turn left (StVO 297).
883-
//
884-
TYPE_STRAIGHT_LEFT_TURN_ARROW = 9;
885-
886-
// An arrow painted on the road surface indicating a lane to drive straight and to turn right (StVO 297).
887-
//
888-
TYPE_STRAIGHT_RIGHT_TURN_ARROW = 10;
889-
890-
// An arrow painted on the road surface indicating a lane to drive straight and to turn right or left (StVO 297).
891-
//
892-
TYPE_STRAIGHT_LEFT_TURN_RIGHT_TURN_ARROW = 11;
893-
894-
// An arrow painted on the road surface indicating a lane to turn right or left.
895-
//
896-
TYPE_LEFT_TURN_RIGHT_TURN_ARROW = 12;
897-
898-
// An arrow painted on the road surface indicating a turning point left.
899-
//
900-
TYPE_TURNPOINT_LEFT_ARROW = 13;
901-
902-
// An arrow painted on the road surface indicating a turning point right.
903-
//
904-
TYPE_TURNPOINT_RIGHT_ARROW = 14;
905-
906-
// Paint on the road surface indicating a zebra crossing.
907-
//
908-
TYPE_ZEBRA = 15;
909-
910926
// Paint on the road surface indicating a generic symbol.
911-
//
912-
TYPE_GENERIC_SYMBOL = 16;
927+
//
928+
TYPE_GENERIC_SYMBOL = 5;
913929

914-
// A right arrow painted on the road surface announcing a lane limitation or the end of a lane (StVO 297.1).
930+
// Paint on the road surface indicating a generic line.
915931
//
916-
TYPE_ANNOUNCE_RIGHT_ARROW = 17;
932+
TYPE_GENERIC_LINE = 6;
917933

918-
// A left arrow painted on the road surface announcing a lane limitation or the end of a lane (StVO 297.1).
934+
// Paint on the road surface indicating a generic character string.
919935
//
920-
TYPE_ANNOUNCE_LEFT_ARROW = 18;
921-
922-
// Paint on the road surface indicating a generic line.
923-
//
924-
TYPE_GENERIC_LINE = 19;
936+
TYPE_GENERIC_TEXT = 7;
925937
}
926938

927939
// Definition of road marking colors

0 commit comments

Comments
 (0)