Skip to content

Commit 0489a04

Browse files
Merge branch 'master' into bugfix/osi_object
2 parents e0566a5 + 970ce90 commit 0489a04

11 files changed

+5990
-40
lines changed

CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ cmake_minimum_required(VERSION 3.5)
22

33
project(open_simulation_interface)
44

5+
# set default compiler
6+
set(CMAKE_CXX_STANDARD 11)
7+
58
# Set a default build type if none was specified
69
set(default_build_type "Release")
710
if(EXISTS "${CMAKE_SOURCE_DIR}/.git")
@@ -71,6 +74,7 @@ set(OSI_PROTO_FILES
7174
osi_roadmarking.proto
7275
osi_lane.proto
7376
osi_featuredata.proto
77+
osi_logicaldetectiondata.proto
7478
osi_object.proto
7579
osi_occupant.proto
7680
osi_sensordata.proto

doc/images/OSI_RotationRate.svg

Lines changed: 5487 additions & 0 deletions
Loading

doc/osifiles.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ OSI common provides the building blocks for the OSI field messages.
5656
`osi_featuredata.proto`_
5757
---------------------------------
5858

59+
`osi_logicaldetectiondata.proto`_
60+
---------------------------------
61+
5962
`osi_object.proto`_
6063
---------------------------------
6164

osi_common.proto

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,3 +461,33 @@ message BaseMoving
461461
//
462462
repeated Vector2d base_polygon = 7;
463463
}
464+
465+
//
466+
// \brief The StatePoint definition
467+
//
468+
// A reference to a time and pose. Typically used in a repeated field to define
469+
// a trajectory.
470+
//
471+
// \note The StatePoint definition does not define mandatory fields.
472+
// The context defines how and what fields are used. For example, in some cases
473+
// only the pose variables are relevant and the timestamp is ignored.
474+
//
475+
message StatePoint
476+
{
477+
// The timestamp of a StatePoint.
478+
//
479+
// \note Zero time does not need to coincide with the UNIX epoch.
480+
//
481+
optional Timestamp timestamp = 1;
482+
483+
// Position in the global coordinate system.
484+
//
485+
// \note Remark: The definition of the reference point follows the
486+
// specification of the \c BaseMoving message.
487+
//
488+
optional Vector3d position = 2;
489+
490+
// Orientation in the global coordinate system.
491+
//
492+
optional Orientation3d orientation = 3;
493+
}

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)