From 51b96bf9d39288bf7cd12ae53a540d58fca15c9c Mon Sep 17 00:00:00 2001 From: Thomas Sedlmayer Date: Mon, 21 Jul 2025 11:11:23 +0200 Subject: [PATCH] Fix base reference frame definitions - Remove specific reference frame definitions in base stationary and base moving - Add specific reference frame definitions where base objects are used - Mention all messages where the base objects are used in base definition Signed-off-by: Thomas Sedlmayer --- osi_common.proto | 20 ++++++++------------ osi_detectedobject.proto | 6 ++++++ osi_detectedroadmarking.proto | 3 +++ osi_detectedtrafficlight.proto | 3 +++ osi_detectedtrafficsign.proto | 6 ++++++ osi_object.proto | 10 ++++++++++ osi_roadmarking.proto | 2 ++ osi_trafficlight.proto | 6 ++++++ osi_trafficsign.proto | 6 ++++++ 9 files changed, 50 insertions(+), 12 deletions(-) diff --git a/osi_common.proto b/osi_common.proto index cd49951a6..4e7d64be5 100644 --- a/osi_common.proto +++ b/osi_common.proto @@ -494,14 +494,12 @@ message BoundingBox // \brief The base attributes of a stationary object or entity. // // This includes the \c StationaryObject , \c TrafficSign , -// \c TrafficLight , \c RoadMarking messages. +// \c TrafficLight , \c RoadMarking messages and the corresponding detected +// object messages ( \c DetectedStationaryObject , \c DetectedTrafficSign , +// \c DetectedTrafficLight , and \c DetectedRoadMarking ). // -// \image html OSI_BaseStationary.svg -// -// All coordinates and orientations from ground truth objects are relative to -// the global ground truth frame (see image). (All coordinates and orientations -// from detected objects are relative to the host vehicle frame (see: -// \c Vehicle vehicle reference point).) +// The reference frame of \c BaseStationary depends on the context in which it +// is used and is defined in the message where the \c BaseStationary is used. // message BaseStationary { @@ -575,7 +573,7 @@ message BaseStationary // // \brief The base attributes of an object that is moving. // -// This includes the \c MovingObject messages. +// This includes the \c MovingObject and \c DetectedMovingObject messages. // // \image html OSI_BaseMoving.svg // @@ -583,10 +581,8 @@ message BaseStationary // // E.g. a vehicle is a base moving object. // -// All coordinates and orientations from ground truth objects are relative to -// the global ground truth frame. All coordinates and orientations -// from detected objects are relative to the host vehicle frame -// (see: \c MovingObject vehicle reference point). +// The reference frame of \c BaseMoving depends on the context in which it is +// used and is defined in the message where the \c BaseMoving is used. // message BaseMoving { diff --git a/osi_detectedobject.proto b/osi_detectedobject.proto index 3ea53c4e0..238a4af5f 100644 --- a/osi_detectedobject.proto +++ b/osi_detectedobject.proto @@ -114,6 +114,9 @@ message DetectedStationaryObject // The base parameters of the stationary object. // + // The parent frame of \c DetectedStationaryObject::base is the virtual + // sensor coordinate system. + // optional BaseStationary base = 2; // The root mean squared error of the base parameters of the detected @@ -205,6 +208,9 @@ message DetectedMovingObject // The base parameters of the moving object. // + // The parent frame of \c DetectedMovingObject::base is the virtual sensor + // coordinate system. + // // \note The bounding box does NOT include mirrors for vehicles. // \note The height includes the ground_clearance. It always goes from the // top to the ground. diff --git a/osi_detectedroadmarking.proto b/osi_detectedroadmarking.proto index 481e33d9c..3075e8e47 100644 --- a/osi_detectedroadmarking.proto +++ b/osi_detectedroadmarking.proto @@ -37,6 +37,9 @@ message DetectedRoadMarking // The base parameters of the road marking. // + // The parent frame of \c RoadMarking::base is the virtual sensor coordinate + // system. + // // The orientation of the bounding box \c #base // \c BaseStationary::orientation is defined as follows: // The z-axis of the \c BaseStationary::orientation is the vector from the diff --git a/osi_detectedtrafficlight.proto b/osi_detectedtrafficlight.proto index 0c7878f17..b481e5490 100644 --- a/osi_detectedtrafficlight.proto +++ b/osi_detectedtrafficlight.proto @@ -34,6 +34,9 @@ message DetectedTrafficLight // The base parameters of the traffic light. // + // The parent frame of \c TrafficLight::base is the virtual sensor + // coordinate system. + // // \c BaseStationary::orientation x-axis is view normal of the traffic // light's icon. // diff --git a/osi_detectedtrafficsign.proto b/osi_detectedtrafficsign.proto index 344c20250..39cad6ac3 100644 --- a/osi_detectedtrafficsign.proto +++ b/osi_detectedtrafficsign.proto @@ -52,6 +52,9 @@ message DetectedTrafficSign // The base parameters of the traffic sign. // + // The parent frame of \c DetectedMainSign::base is the virtual sensor + // coordinate system. + // // The orientation of the bounding box \c #base // ( \c BaseStationary::orientation ) is defined as follows: // @@ -186,6 +189,9 @@ message DetectedTrafficSign // The base parameters of the supplementary traffic sign. // + // The parent frame of \c DetectedSupplementarySign::base is the virtual + // sensor coordinate system. + // // The orientation of the bounding box \c SupplementarySign::base // ( \c BaseStationary::orientation ) is defined as follows: // The z-axis of the given \c BaseStationary::orientation is the vector diff --git a/osi_object.proto b/osi_object.proto index f4a326e59..085dc7af2 100644 --- a/osi_object.proto +++ b/osi_object.proto @@ -11,6 +11,8 @@ package osi3; // \c MovingObject e.g. pedestrian, animal, or vehicle) nor a traffic related // object (\c TrafficLight, \c TrafficSign). // +// The parent frame of a stationary object is the global coordinate system. +// // \image html OSI_BaseStationary.svg // // \c StationaryObject excludes traffic lights, traffic signs and road marking @@ -28,6 +30,9 @@ message StationaryObject // The base parameters of the stationary object. // + // The parent frame of \c StationaryObject::base is the global coordinate + // system. + // optional BaseStationary base = 2; // The classification of the stationary object. @@ -395,6 +400,8 @@ message StationaryObject // moving object (animal, pedestrian, etc), but not a stationary // object (\c TrafficLight, \c TrafficSign, or \c StationaryObject). // +// The parent frame of a moving object is the global coordinate system. +// // \image html OSI_MovingObject.svg // // \image html OSI_HostVehicle.svg @@ -416,6 +423,9 @@ message MovingObject // The base parameters of the vehicle. // + // The parent frame of \c MovingObject::base is the global coordinate + // system. + // // \note The bounding box does NOT include side mirrors for vehicles. // \note The height includes the ground_clearance. It always goes from the // top to the ground. diff --git a/osi_roadmarking.proto b/osi_roadmarking.proto index ea1b85912..29d27d6ef 100644 --- a/osi_roadmarking.proto +++ b/osi_roadmarking.proto @@ -37,6 +37,8 @@ message RoadMarking // The base parameters of the road marking. // + // The parent frame of \c RoadMarking::base is the global coordinate system. + // // The orientation of the bounding box \c #base // \c BaseStationary::orientation is defined as follows: // The z-axis of the \c BaseStationary::orientation is the vector from the diff --git a/osi_trafficlight.proto b/osi_trafficlight.proto index 6dfba2929..a8b77f22f 100644 --- a/osi_trafficlight.proto +++ b/osi_trafficlight.proto @@ -9,6 +9,9 @@ package osi3; // // \brief A traffic light. // +// All coordinates and orientations are relative to the global ground truth +// coordinate system. +// // \image html OSI_TrafficLight.svg // // One traffic light message defines a single 'bulb' and not a box of several @@ -27,6 +30,9 @@ message TrafficLight // The base parameters of the traffic light. // + // The parent frame of \c TrafficLight::base is the global coordinate + // system. + // // \c BaseStationary::orientation x-axis is view normal of the traffic // light's icon. // diff --git a/osi_trafficsign.proto b/osi_trafficsign.proto index fa3a0e4d3..5b15bbcee 100644 --- a/osi_trafficsign.proto +++ b/osi_trafficsign.proto @@ -222,6 +222,9 @@ message TrafficSign { // The base parameters of the traffic sign. // + // The parent frame of \c MainSign::base is the global coordinate + // system. + // // The orientation of the bounding box \c #base // ( \c BaseStationary::orientation ) is defined as follows: // The z-axis of the given \c BaseStationary::orientation is the vector @@ -5585,6 +5588,9 @@ message TrafficSign { // The base parameters of the supplementary traffic sign. // + // The parent frame of \c SupplementarySign::base is the global + // coordinate system. + // // The orientation of the bounding box \c SupplementarySign::base // ( \c BaseStationary::orientation ) is defined as follows: // The z-axis of the given \c BaseStationary::orientation is the vector