Skip to content

Commit 692e89f

Browse files
authored
Merge pull request #431 from OpenSimulationInterface/feature/lane-subtype
Add lane sub-types to represent OpenDRIVE lane type information
2 parents 90ab816 + 0ec6375 commit 692e89f

File tree

1 file changed

+116
-0
lines changed

1 file changed

+116
-0
lines changed

osi_lane.proto

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,12 @@ message Lane
346346
//
347347
optional RoadCondition road_condition = 11;
348348

349+
// The subtype of the lane.
350+
//
351+
// This subtype specifies a lane more concretely.
352+
//
353+
optional Subtype subtype = 12;
354+
349355
// Definition of available lane types.
350356
//
351357
enum Type
@@ -377,6 +383,116 @@ message Lane
377383
TYPE_INTERSECTION = 4;
378384
}
379385

386+
// Definition of available lane subtypes, aligned with OpenDRIVE.
387+
//
388+
enum Subtype
389+
{
390+
// Lane of unknown subtype. Do not use in ground truth.
391+
//
392+
SUBTYPE_UNKNOWN = 0;
393+
394+
// Any other subtype of lane.
395+
//
396+
SUBTYPE_OTHER = 1;
397+
398+
// A normal driving lane.
399+
// Example: Lanes with IDs l1, l2, l3 and l4 in image \ref
400+
// HighwayExit.
401+
//
402+
// Since it is intended to be used for normal automotive
403+
// driving, it should be used in combination with TYPE_DRIVING.
404+
//
405+
SUBTYPE_NORMAL = 2;
406+
407+
// A lane that is designated for bicylists.
408+
//
409+
// Since it is not intended to be used for normal automotive
410+
// driving, it should be used in combination with TYPE_NONDRIVING.
411+
//
412+
SUBTYPE_BIKING = 3;
413+
414+
// A lane that is designated for pedestrians (sidewalk).
415+
//
416+
// Since it is not intended to be used for normal automotive
417+
// driving, it should be used in combination with TYPE_NONDRIVING.
418+
//
419+
SUBTYPE_SIDEWALK = 4;
420+
421+
// A lane with parking spaces.
422+
//
423+
// Since it is not intended to be used for normal automotive
424+
// driving, it should be used in combination with TYPE_NONDRIVING.
425+
//
426+
SUBTYPE_PARKING = 5;
427+
428+
// A hard shoulder on motorways for emergency stops.
429+
// Example: Lane l5 in image \ref
430+
// HighwayExit.
431+
//
432+
// Since it is not intended to be used for normal automotive
433+
// driving, it should be used in combination with TYPE_NONDRIVING.
434+
//
435+
SUBTYPE_STOP = 6;
436+
437+
// A lane on which cars should not drive.
438+
//
439+
// Since it is not intended to be used for normal automotive
440+
// driving, it should be used in combination with TYPE_NONDRIVING.
441+
//
442+
SUBTYPE_RESTRICTED = 7;
443+
444+
// A hard border on the edge of a road.
445+
//
446+
// Since it is not intended to be used for normal automotive
447+
// driving, it should be used in combination with TYPE_NONDRIVING.
448+
//
449+
SUBTYPE_BORDER = 8;
450+
451+
// A soft border on the edge of a road.
452+
//
453+
// Since it is not intended to be used for normal automotive
454+
// driving, it should be used in combination with TYPE_NONDRIVING.
455+
//
456+
SUBTYPE_SHOULDER = 9;
457+
458+
// A deceleration lane in parallel to the main road.
459+
// Example: Lane l6 in image \ref
460+
// HighwayExit.
461+
//
462+
// Since it is intended to be used for normal automotive
463+
// driving, it should be used in combination with TYPE_DRIVING.
464+
//
465+
SUBTYPE_EXIT = 10;
466+
467+
// An acceleration lane in parallel to the main road.
468+
//
469+
// Since it is intended to be used for normal automotive
470+
// driving, it should be used in combination with TYPE_DRIVING.
471+
//
472+
SUBTYPE_ENTRY = 11;
473+
474+
// A ramp from rural or urban roads joining a motorway.
475+
//
476+
// Since it is intended to be used for normal automotive
477+
// driving, it should be used in combination with TYPE_DRIVING.
478+
//
479+
SUBTYPE_ONRAMP = 12;
480+
481+
// A ramp leading off a motorway onto rural or urban roads.
482+
//
483+
// Since it is intended to be used for normal automotive
484+
// driving, it should be used in combination with TYPE_DRIVING.
485+
//
486+
SUBTYPE_OFFRAMP = 13;
487+
488+
// A ramp that connect two motorways.
489+
//
490+
// Since it is intended to be used for normal automotive
491+
// driving, it should be used in combination with TYPE_DRIVING.
492+
//
493+
SUBTYPE_CONNECTINGRAMP = 14;
494+
}
495+
380496
//
381497
// \brief The condition of the road surface.
382498
//

0 commit comments

Comments
 (0)