From 3fba82a23f7331130743f27872e34662caccd0e3 Mon Sep 17 00:00:00 2001 From: Florian Bade <45602620+FlorianBadeBMW@users.noreply.github.com> Date: Wed, 5 Dec 2018 14:26:34 +0100 Subject: [PATCH 1/6] Update osi_occupant.proto Added initial definition for (physiological) occupant state. --- osi_occupant.proto | 50 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/osi_occupant.proto b/osi_occupant.proto index 10d2f04b7..bb3619a98 100644 --- a/osi_occupant.proto +++ b/osi_occupant.proto @@ -37,6 +37,8 @@ message Occupant // wheel (mostly driver). // optional SteeringControl steering_control = 4; + + optional State state = 5; // Definition of seat positions. // @@ -126,5 +128,53 @@ message Occupant // STEERING_CONTROL_RIGHT_HAND = 6; } + + // + // \brief An occupants state consists of physiological data like head pose, + // eye states and gaze. + // + message State + { + // Occupant's head pose. + // + optional HeadPose head_pose = 1; + + // Occupant's eye state(s). + // + optional EyeState eye_state = 2; + + // + // \brief An occupant's head pose, including position and orientation. + // + message HeadPose + { + // Head's position within the ego vehicle's coordinate system. + // + optional Vector3d position = 1; + + // Head's orientation. + // + optional Orientation3d orientation = 2; + } + + // + // \brief The eye state comprised informtion regarding both eyes' gaze, + // position and opening. + // + message EyeState + { + // Gaze vectors (left and right). + // + repeated Orientation3d gaze = 1; + + // Eye positions (left and right). + // + repeated Vector3d position = 2; + + // Eye openings in [m] (left and right). + // + repeated double opening = 3; + } + } } } From 6c7a5bff145171878762c6f1c8a0498b07baf6b4 Mon Sep 17 00:00:00 2001 From: Florian Bade <45602620+FlorianBadeBMW@users.noreply.github.com> Date: Wed, 20 Mar 2019 11:10:10 +0100 Subject: [PATCH 2/6] Update osi_occupant.proto Corrected missing documentation --- osi_occupant.proto | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/osi_occupant.proto b/osi_occupant.proto index bb3619a98..132961751 100644 --- a/osi_occupant.proto +++ b/osi_occupant.proto @@ -38,6 +38,7 @@ message Occupant // optional SteeringControl steering_control = 4; + // Occupant's (physiological) state. optional State state = 5; // Definition of seat positions. @@ -130,7 +131,7 @@ message Occupant } // - // \brief An occupants state consists of physiological data like head pose, + // \brief An occupant's state consists of physiological data like head pose, // eye states and gaze. // message State From 86fa081994656432c94daac6e6f6bcc0d6093c43 Mon Sep 17 00:00:00 2001 From: Florian Bade <45602620+FlorianBadeBMW@users.noreply.github.com> Date: Mon, 1 Apr 2019 17:23:19 +0200 Subject: [PATCH 3/6] Update osi_occupant.proto Implemented review comments. --- osi_occupant.proto | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/osi_occupant.proto b/osi_occupant.proto index 132961751..52d347bcb 100644 --- a/osi_occupant.proto +++ b/osi_occupant.proto @@ -136,45 +136,53 @@ message Occupant // message State { - // Occupant's head pose. + // Head pose. // optional HeadPose head_pose = 1; - // Occupant's eye state(s). + // Left eye state. // - optional EyeState eye_state = 2; + optional EyeState eye_state_left = 2; + + // Right eye state. + // + optional EyeState eye_state_right = 3; // // \brief An occupant's head pose, including position and orientation. // message HeadPose { - // Head's position within the ego vehicle's coordinate system. + // Position within the ego vehicle's coordinate system. // optional Vector3d position = 1; - // Head's orientation. + // Orientation. // optional Orientation3d orientation = 2; } // - // \brief The eye state comprised informtion regarding both eyes' gaze, + // \brief The eye state comprises information regarding an eye's presence, gaze, // position and opening. // message EyeState { - // Gaze vectors (left and right). + // Flag indicating whether the eye is present. + // + optional bool present = 1; + + // Gaze vector. // - repeated Orientation3d gaze = 1; + optional Orientation3d gaze = 2; - // Eye positions (left and right). + // Position. // - repeated Vector3d position = 2; + optional Vector3d position = 3; - // Eye openings in [m] (left and right). + // Opening in [m]. // - repeated double opening = 3; + optional double opening = 4; } } } From ea00abbec03b6c74a12dae6288910a882286041f Mon Sep 17 00:00:00 2001 From: Florian Bade <45602620+FlorianBadeBMW@users.noreply.github.com> Date: Mon, 1 Apr 2019 17:27:33 +0200 Subject: [PATCH 4/6] Update osi_occupant.proto Fixed missing comment line. --- osi_occupant.proto | 1 + 1 file changed, 1 insertion(+) diff --git a/osi_occupant.proto b/osi_occupant.proto index 52d347bcb..f26708641 100644 --- a/osi_occupant.proto +++ b/osi_occupant.proto @@ -39,6 +39,7 @@ message Occupant optional SteeringControl steering_control = 4; // Occupant's (physiological) state. + // optional State state = 5; // Definition of seat positions. From 66ff330ea711e8c582a4db14bfdb252ef9998460 Mon Sep 17 00:00:00 2001 From: Carlo van Driesten Date: Thu, 8 Aug 2019 14:25:54 +0200 Subject: [PATCH 5/6] Fixed unit in documentation for eye opening --- osi_occupant.proto | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/osi_occupant.proto b/osi_occupant.proto index f26708641..06b0fdcad 100644 --- a/osi_occupant.proto +++ b/osi_occupant.proto @@ -181,7 +181,9 @@ message Occupant // optional Vector3d position = 3; - // Opening in [m]. + // Opening of the eye. + // + // Unit: [m] // optional double opening = 4; } From d19d66acb0bcaf2b7e39b339ed1013117fc70195 Mon Sep 17 00:00:00 2001 From: Habedank Clemens Date: Mon, 15 Mar 2021 17:34:36 +0100 Subject: [PATCH 6/6] harmonization with osi_detectedobject.proto Signed-off-by: Habedank Clemens --- osi_occupant.proto | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/osi_occupant.proto b/osi_occupant.proto index aa1857370..a9bceffd0 100644 --- a/osi_occupant.proto +++ b/osi_occupant.proto @@ -141,31 +141,35 @@ message Occupant // message State { - // Head pose. + // The position from the occupant's head, always relative to the host vehicle frame + // (for ground truth occupants an detected occupants). // - optional HeadPose head_pose = 1; + optional Vector3d head_position = 1; + + // The orientation from the occupant's head, always relative to the host vehicle frame + // (for ground truth occupants an detected occupants). + + // The head pose describes the occupant's head orientation. + // The x-axis of the right-handed head frame is pointing along the + // occupant's straight ahead viewing direction (anterior), the y-axis lateral to the left, + // and the z-axis is pointing upwards (superior) [1]. + // + // ``View_normal_base_coord_system = + // Inverse_Rotation(#head_pose)*Unit_vector_x`` + // + // \par Reference: + // + // [1] Patton, K. T. & Thibodeau, G. A. (2015). Anatomy & Physiology. 9th Edition. Elsevier. Missouri, U.S.A. ISBN 978-0-323-34139-4. p. 1229. + // + optional Orientation3d head_pose = 2; // Left eye state. // - optional EyeState eye_state_left = 2; + optional EyeState eye_state_left = 3; // Right eye state. // - optional EyeState eye_state_right = 3; - - // - // \brief An occupant's head pose, including position and orientation. - // - message HeadPose - { - // Position within the ego vehicle's coordinate system. - // - optional Vector3d position = 1; - - // Orientation. - // - optional Orientation3d orientation = 2; - } + optional EyeState eye_state_right = 4; // // \brief The eye state comprises information regarding an eye's presence, gaze, @@ -177,11 +181,11 @@ message Occupant // optional bool present = 1; - // Gaze vector. + // Gaze vector, relative to the occupant's head pose. // optional Orientation3d gaze = 2; - // Position. + // Position of the eye relative to the occupant's head position. // optional Vector3d position = 3;