Skip to content

Commit 0d4ef24

Browse files
HendrikAmelunxenpmai
authored andcommitted
Extend lane subtypes based on OpenDRIVE types
Added comments regarding types + subtypes combinations. Signed-off-by: Pierre R. Mai <pmai@pmsf.de>
1 parent 471410d commit 0d4ef24

File tree

1 file changed

+87
-16
lines changed

1 file changed

+87
-16
lines changed

osi_lane.proto

Lines changed: 87 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -348,19 +348,7 @@ message Lane
348348

349349
// The subtype of the lane.
350350
//
351-
// This subtype specifies a lane more concretely.
352-
//
353-
// \note More subtypes will follow from ASAM (Harmonization with
354-
// OpenX), probably with being more specific about which
355-
// type/subtype combination will be possible/allowed. It is
356-
// verbally aligned with the ASAM working group, that the
357-
// introduction of subtypes will be the implementation for next
358-
// minor releases and also probably be the long-term
359-
// solution. This still leaves open the question, if exactly those
360-
// semantics (e.g. with the current types) will outlive the next
361-
// major release. For SETLevel, sidewalk and biking lane shall be
362-
// regarded as subtypes of TYPE_DRIVING. (This note can be deleted
363-
// after implementation at ASAM.)
351+
// This subtype specifies a lane more concretely.
364352
//
365353
optional Subtype subtype = 12;
366354

@@ -395,7 +383,7 @@ message Lane
395383
TYPE_INTERSECTION = 4;
396384
}
397385

398-
// Definition of available lane subtypes.
386+
// Definition of available lane subtypes, aligned with OpenDRIVE.
399387
//
400388
enum Subtype
401389
{
@@ -407,19 +395,102 @@ message Lane
407395
//
408396
SUBTYPE_OTHER = 1;
409397

410-
// A normal lane.
411-
// Example: Lanes with IDs l1, l2, l3, l4 and l6 in image \ref
398+
// A normal driving lane.
399+
// Example: Lanes with IDs l1, l2, l3 and l4 in image \ref
412400
// HighwayExit.
413401
//
402+
// Since it is intended to be used for normal automotive
403+
// driving it should be used in combination with TYPE_DRIVING.
404+
//
414405
SUBTYPE_NORMAL = 2;
415406

416407
// A lane which is designated for bicylists.
417408
//
409+
// Since it is not intended to be used for normal automotive
410+
// driving it should be used in combination with TYPE_NONDRIVING.
411+
//
418412
SUBTYPE_BIKING = 3;
419413

420414
// A lane which is designated for pedestrians (sidewalk).
421415
//
416+
// Since it is not intended to be used for normal automotive
417+
// driving it should be used in combination with TYPE_NONDRIVING.
418+
//
422419
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 leading to a motorway from rural or urban roads.
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 away from 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;
423494
}
424495

425496
//

0 commit comments

Comments
 (0)