Skip to content

Commit 051dbc7

Browse files
authored
Merge pull request #150 from OpenSimulationInterface/feature/road_marking_traffic_sign_orentation
Define BaseStationary orientation for OSI::Landmarks
2 parents 9327f3b + a92ac2a commit 051dbc7

File tree

1 file changed

+34
-19
lines changed

1 file changed

+34
-19
lines changed

osi_landmark.proto

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ message TrafficSign
1717

1818
// The base parameters of the traffic sign.
1919
//
20+
// The orientation of the bounding box \c TrafficSign::base.orientation is defined as:
21+
// \c BaseStationary::orientation x-axis is the vector from bottom to top of the traffic sign's image.
22+
// (Normally it is equal to the ground truth z-axis.)
23+
// \c BaseStationary::orientation z-axis is view normal of the traffic sign's image.
24+
// This z-axis points from the traffic sign's image in the direction from where a 'viewer' could see the traffic sign.
2025
optional BaseStationary base = 2;
2126

2227
// The type of the traffic sign.
@@ -31,21 +36,27 @@ message TrafficSign
3136
//
3237
optional Variability variability = 5;
3338

34-
// View normal of the traffic sign. If the angle between \c -TafficSign::view_normal and \c camera_view_direction is \c (-90° .. +90°)
35-
// the camera can see the traffic sign. Larger angles will display the backside of the traffic sign.
36-
optional Vector3d view_normal = 6;
37-
38-
// The view_normal as x-Axis, the global z-Axis and an optional arrow on the displayed traffic sign.
39-
// Arrow in direction y-Axis means right, arrow in direction of -y-Axis means left.
40-
optional DirectionScope direction_scope = 7;
39+
// Some traffic signs could have an additional arrow symbol as an additional constrain for the scope (e.g. no parking to the right).
40+
// The arrow points to right resp. left from the viewpoint of a 'normal standing pedestrian' viewing the traffic sign's arrow.
41+
//
42+
// The definition for left and right:
43+
// Build a fictive coord. system.
44+
// z-axis of the fictive coord. system is equal to the GT z-axis.
45+
// x-axis of the fictive coord. system is like the view normal of the traffic sign (\c TrafficSign::base.orientation z-axis).
46+
// Right: direction of the fictive coord. system's y-axis.
47+
// Left: opposite direction of the fictive coord. system's y-axis i.e. -(y-axis),
48+
//
49+
// \note If the traffic sign lies on the ground (there is no definition for right or left).
50+
// Normally this is a road marking and no traffic sign.
51+
optional DirectionScope direction_scope = 6;
4152

4253
// Additional, supplementary signs, e.g. time limit, modifying the traffic sign.
4354
//
44-
repeated SupplementarySign supplementary_sign = 8;
55+
repeated SupplementarySign supplementary_sign = 7;
4556

4657
// The ids of the lanes that the traffic sign is assigned to.
4758
// Might be multiple if the traffic sign is valid for multiple lanes.
48-
repeated Identifier assigned_lane = 9;
59+
repeated Identifier assigned_lane = 8;
4960

5061
// Definition of traffic sign types.
5162
// Numbers given according to German StVO.
@@ -311,19 +322,19 @@ message TrafficSign
311322

312323
// Priority must be given to vehicles from the opposite direction (StVO 208).
313324
//
314-
TPYE_PRIORITY_TO_OPPOSITE_DIRECTION = 63;
325+
TYPE_PRIORITY_TO_OPPOSITE_DIRECTION = 63;
315326

316327
// Traffic has priority over vehicles from the opposite direction (StVO 308).
317328
//
318-
TPYE_PRIORITY_OVER_OPPOSITE_DIRECTION = 64;
329+
TYPE_PRIORITY_OVER_OPPOSITE_DIRECTION = 64;
319330

320331
// Priority must be given to vehicles from the opposite direction (StVO 208). Upside down.
321332
//
322-
TPYE_PRIORITY_TO_OPPOSITE_DIRECTION_UPSIDE_DOWN = 65;
333+
TYPE_PRIORITY_TO_OPPOSITE_DIRECTION_UPSIDE_DOWN = 65;
323334

324335
// Traffic has priority over vehicles from the opposite direction (StVO 308). Upside down.
325336
//
326-
TPYE_PRIORITY_OVER_OPPOSITE_DIRECTION_UPSIDE_DOWN = 66;
337+
TYPE_PRIORITY_OVER_OPPOSITE_DIRECTION_UPSIDE_DOWN = 66;
327338

328339
// Minimum safety distance for trucks (StVO 273).
329340
//
@@ -460,7 +471,7 @@ message SupplementarySign
460471

461472
// Time range for validity of traffic sign (starting from value_1 and ending with value_2, both defining
462473
// time of day in minutes from midnight).
463-
TPYE_TIME_RANGE = 5;
474+
TYPE_TIME_RANGE = 5;
464475

465476
// Restriction of the validity of the traffic sign depending on the vehicle's weight (more than value_1 in kilogram).
466477
//
@@ -801,6 +812,15 @@ message RoadMarking
801812

802813
// The base parameters of the road marking.
803814
//
815+
// The orientation of the bounding box \c RoadMarking::base.orientation is defined as:
816+
// \c BaseStationary::orientation x-axis is the vector from 'bottom' to 'top' of the road marking's image.
817+
// (Normally it is in the ground truth xy-plain.)
818+
// \c BaseStationary::orientation z-axis is view normal of the traffic sign's image.
819+
// This z-axis points normally to the sky.
820+
//
821+
// \note In case of a unidirectional valid road marking, if the road marking is assigned to the
822+
// host vehicle lane and the driving direction of the host vehice
823+
// is 'equal' to the \c RoadMarking::base.orientation x-axis than the 'driver' has to regard the road marking.
804824
optional BaseStationary base = 2;
805825

806826
// The type of the road marking.
@@ -819,11 +839,6 @@ message RoadMarking
819839
// Might be multiple if the road marking goes across multiple lanes.
820840
repeated Identifier assigned_lane = 6;
821841

822-
// Intersection orientation of the road marking.
823-
//
824-
// \note Defined for \c Lane::type = TYPE_INTERSECTION, otherwise zero vector
825-
optional Vector3d roadmarking_orientation = 7;
826-
827842
// Definition of road marking types.
828843
//
829844
enum Type

0 commit comments

Comments
 (0)