From 550107674b116aabb9fe21d21219c17c4795569a Mon Sep 17 00:00:00 2001 From: Maikol Drechsler Date: Tue, 25 Oct 2022 13:19:24 +0200 Subject: [PATCH 1/5] Update host vehicle data with kinematics data Include velocity, acceleration and orientation rate data related to the vehicle coordinate system in the host_vehicle_data message Signed-off-by: Maikol Drechsler --- osi_hostvehicledata.proto | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/osi_hostvehicledata.proto b/osi_hostvehicledata.proto index 78e7095a3..894730b2d 100644 --- a/osi_hostvehicledata.proto +++ b/osi_hostvehicledata.proto @@ -86,6 +86,11 @@ message HostVehicleData // \note OSI uses singular instead of plural for repeated field names. // repeated VehicleAutomatedDrivingFunction vehicle_automated_driving_function = 12; + + // Interface regarding the vehicle kinematics. + // + optional VehicleKinematics vehicle_kinematics = 13; + // // \brief Base parameters and overall states of the vehicle. @@ -337,6 +342,31 @@ message HostVehicleData optional GeodeticPosition geodetic_position = 3; } + // + // \brief Current calculated and estimated acceleration, velocity and orientation rate on Inertial Measurement Unit measurements and related sensors. + // + // This message contains the most accurate information the vehicle knows about its velocity, + // acceleration and orientation rate available in the on-board network. + // + message VehicleKinematics + { + // Most accurate velocity information of the vehicle, available in the on-board network. + // The velocity is represented in context to the coordinate system of the vehicle. + // + optional Vector3d velocity = 1; + + // Most accurate acceleration information of the vehicle, available in the on-board network. + // The acceleration is represented in context to the coordinate system of the vehicle. + // + optional Vector3d acceleration = 2; + + // Most accurate orientation rate of the vehicle, available in the on-board network. + // The orientation rate is represented in context to the coordinate system of the vehicle. + // + optional Orientation3d orientation_rate = 3; + } + + // // \brief State of one automated driving function on the host vehicle. // From a22d7f88df5092130f50a6d58342f072a82a85e4 Mon Sep 17 00:00:00 2001 From: Maikol Drechsler Date: Mon, 28 Nov 2022 11:11:42 +0100 Subject: [PATCH 2/5] Move added informaiton to VehicleLocalization Move velocity, acceleration and orientation rate data to VehicleLocalization message and add current_curvature. Signed-off-by: Maikol Drechsler --- osi_hostvehicledata.proto | 48 ++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/osi_hostvehicledata.proto b/osi_hostvehicledata.proto index 894730b2d..b3fa553bf 100644 --- a/osi_hostvehicledata.proto +++ b/osi_hostvehicledata.proto @@ -86,11 +86,6 @@ message HostVehicleData // \note OSI uses singular instead of plural for repeated field names. // repeated VehicleAutomatedDrivingFunction vehicle_automated_driving_function = 12; - - // Interface regarding the vehicle kinematics. - // - optional VehicleKinematics vehicle_kinematics = 13; - // // \brief Base parameters and overall states of the vehicle. @@ -316,10 +311,10 @@ message HostVehicleData } // - // \brief Current calculated and estimated location that can be based on GNSS and related navigation sensors. + // \brief Current calculated and estimated location, velocity and acceleration that can be based on GNSS, IMU and related navigation sensors. // This message does not contain the individual sensor values of the sensor technology. // - // This message contains the most accurate information the vehicle knows about its position + // This message contains the most accurate information the vehicle knows about its position, velocity and acceleration // available in the on-board network. // Because of this the values can differ from the "true" values calculated out of // GroundTruth::proj_string, GroundTruth::MovingObject::BaseMoving::position, GroundTruth::host_vehicle_id. @@ -340,33 +335,34 @@ message HostVehicleData // Most accurate geodetic information of the vehicle available in the on-board network. // optional GeodeticPosition geodetic_position = 3; - } - - // - // \brief Current calculated and estimated acceleration, velocity and orientation rate on Inertial Measurement Unit measurements and related sensors. - // - // This message contains the most accurate information the vehicle knows about its velocity, - // acceleration and orientation rate available in the on-board network. - // - message VehicleKinematics - { + + // Most accurate curvature currently followed by vehicle and available in the on-board network, + // measured from a localization system. + // + // Reference point: car body point coincident with the midpoint of rear axle in design configuration, defined by the following coordinates: + // x: Position of rear axle + // y: Vehicle longitudinal centerline + // z: Wheel center of rear axle + // + optional double current_curvature = 4; + + // Most accurate orientation rate of the vehicle, available in the on-board network. + // Measured along the vehicle orientation in context of the global inertial system. + // + optional Orientation3d orientation_rate = 5; + // Most accurate velocity information of the vehicle, available in the on-board network. - // The velocity is represented in context to the coordinate system of the vehicle. + // Measured along the vehicle orientation in context of the global inertial system. // - optional Vector3d velocity = 1; + optional Vector3d velocity = 6; // Most accurate acceleration information of the vehicle, available in the on-board network. - // The acceleration is represented in context to the coordinate system of the vehicle. + // Measured along the vehicle orientation in context of the global inertial system. // - optional Vector3d acceleration = 2; + optional Vector3d acceleration = 7; - // Most accurate orientation rate of the vehicle, available in the on-board network. - // The orientation rate is represented in context to the coordinate system of the vehicle. - // - optional Orientation3d orientation_rate = 3; } - // // \brief State of one automated driving function on the host vehicle. // From eca9ece8b68a4aee58ecd7cdab90b082f70bf97d Mon Sep 17 00:00:00 2001 From: Maikol Drechsler Date: Mon, 12 Dec 2022 17:27:01 +0100 Subject: [PATCH 3/5] Create New message VehicleMotion In order to have position and orientation in the same coordinate system as the velocity and the acceleration (rear axle) a new message (VehicleMotion) was included. Signed-off-by: Maikol Drechsler --- osi_hostvehicledata.proto | 62 +++++++++++++++++++++++++++------------ 1 file changed, 44 insertions(+), 18 deletions(-) diff --git a/osi_hostvehicledata.proto b/osi_hostvehicledata.proto index b3fa553bf..eacc3507c 100644 --- a/osi_hostvehicledata.proto +++ b/osi_hostvehicledata.proto @@ -87,6 +87,10 @@ message HostVehicleData // repeated VehicleAutomatedDrivingFunction vehicle_automated_driving_function = 12; + // Interface regarding the vehicle motion. + // + optional VehicleMotion vehicle_motion = 13; + // // \brief Base parameters and overall states of the vehicle. // @@ -311,10 +315,10 @@ message HostVehicleData } // - // \brief Current calculated and estimated location, velocity and acceleration that can be based on GNSS, IMU and related navigation sensors. + // \brief Current calculated and estimated location that can be based on GNSS and related navigation sensors. // This message does not contain the individual sensor values of the sensor technology. // - // This message contains the most accurate information the vehicle knows about its position, velocity and acceleration + // This message contains the most accurate information the vehicle knows about its position // available in the on-board network. // Because of this the values can differ from the "true" values calculated out of // GroundTruth::proj_string, GroundTruth::MovingObject::BaseMoving::position, GroundTruth::host_vehicle_id. @@ -335,31 +339,53 @@ message HostVehicleData // Most accurate geodetic information of the vehicle available in the on-board network. // optional GeodeticPosition geodetic_position = 3; + + } + + // + // \brief Current calculated and estimated motion related information. + // + // This message contains the most accurate information the vehicle knows about its motion + // including vehicle dynamics and control related information available in the on-board network, + // which can differ from the "true" values calculated out of the ground truth. + // + // This data uses the reference point coincident with the midpoint of rear axle, defined by the following coordinates: + // x: Position of rear axle + // y: Vehicle longitudinal centerline + // z: Wheel center of rear axle + // + message VehicleMotion + { + // Most accurate position of the vehicle available in the on-board network + // measured in the cartesian global coordinate system. + // + optional Vector3d position = 1; + + // Most accurate orientation information of the vehicle available in the on-board network + // measured on the vehicle coordinate system in context of the global inertial system. + // + optional Orientation3d orientation = 2; - // Most accurate curvature currently followed by vehicle and available in the on-board network, - // measured from a localization system. + // Most accurate curvature currently followed by vehicle and available in the on-board network // - // Reference point: car body point coincident with the midpoint of rear axle in design configuration, defined by the following coordinates: - // x: Position of rear axle - // y: Vehicle longitudinal centerline - // z: Wheel center of rear axle + // Unit: m^-1 // - optional double current_curvature = 4; + optional double current_curvature = 3; - // Most accurate orientation rate of the vehicle, available in the on-board network. - // Measured along the vehicle orientation in context of the global inertial system. + // Most accurate orientation rate of the vehicle, available in the on-board network + // measured on the vehicle coordinate system in context of the global inertial system. // - optional Orientation3d orientation_rate = 5; + optional Orientation3d orientation_rate = 4; - // Most accurate velocity information of the vehicle, available in the on-board network. - // Measured along the vehicle orientation in context of the global inertial system. + // Most accurate velocity information of the vehicle, available in the on-board network + // measured on the vehicle coordinate system in context of the global inertial system. // - optional Vector3d velocity = 6; + optional Vector3d velocity = 5; - // Most accurate acceleration information of the vehicle, available in the on-board network. - // Measured along the vehicle orientation in context of the global inertial system. + // Most accurate acceleration information of the vehicle, available in the on-board network + // measured on the vehicle coordinate system in context of the global inertial system. // - optional Vector3d acceleration = 7; + optional Vector3d acceleration = 6; } From 285dff98b78fb578f499abf2e1c481893fa9ca98 Mon Sep 17 00:00:00 2001 From: Maikol Drechsler Date: Fri, 27 Jan 2023 12:32:50 +0100 Subject: [PATCH 4/5] Include reference to bbcenter_to_rear According to discussion in CCB 2023-01-16: References to bbcenter_to_rear in description of VehicleMotion were included; Fields were reorder to match derivative structure; Comment were added to VehicleLocalization to indicate the reference point. Signed-off-by: Maikol Drechsler --- osi_hostvehicledata.proto | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/osi_hostvehicledata.proto b/osi_hostvehicledata.proto index eacc3507c..c8004b98f 100644 --- a/osi_hostvehicledata.proto +++ b/osi_hostvehicledata.proto @@ -323,10 +323,11 @@ message HostVehicleData // Because of this the values can differ from the "true" values calculated out of // GroundTruth::proj_string, GroundTruth::MovingObject::BaseMoving::position, GroundTruth::host_vehicle_id. // + // This data uses the reference point coincident with the center (x,y,z) of the bounding box. + // message VehicleLocalization { - // Most accurate position information of the vehicle available in the on-board network. - // The reference point for position, that is, the center (x,y,z) of the bounding box + // Most accurate position information of the vehicle available in the on-board network // in context to the global coordinate system. // optional Vector3d position = 1; @@ -349,10 +350,8 @@ message HostVehicleData // including vehicle dynamics and control related information available in the on-board network, // which can differ from the "true" values calculated out of the ground truth. // - // This data uses the reference point coincident with the midpoint of rear axle, defined by the following coordinates: - // x: Position of rear axle - // y: Vehicle longitudinal centerline - // z: Wheel center of rear axle + // This data uses the reference point coincident with the middle (in x, y and z) of rear axle + // under neutral load conditions as defined in \c MovingObject::VehicleAttributes::bbcenter_to_rear. // message VehicleMotion { @@ -365,28 +364,28 @@ message HostVehicleData // measured on the vehicle coordinate system in context of the global inertial system. // optional Orientation3d orientation = 2; - - // Most accurate curvature currently followed by vehicle and available in the on-board network - // - // Unit: m^-1 + + // Most accurate velocity information of the vehicle, available in the on-board network + // measured on the vehicle coordinate system in context of the global inertial system. // - optional double current_curvature = 3; - + optional Vector3d velocity = 3; + // Most accurate orientation rate of the vehicle, available in the on-board network // measured on the vehicle coordinate system in context of the global inertial system. // optional Orientation3d orientation_rate = 4; - - // Most accurate velocity information of the vehicle, available in the on-board network - // measured on the vehicle coordinate system in context of the global inertial system. - // - optional Vector3d velocity = 5; // Most accurate acceleration information of the vehicle, available in the on-board network // measured on the vehicle coordinate system in context of the global inertial system. // - optional Vector3d acceleration = 6; - + optional Vector3d acceleration = 5; + + // Most accurate curvature currently followed by vehicle and available in the on-board network + // + // Unit: m^-1 + // + optional double current_curvature = 6; + } // From a79ff72ce8cf218651da44f3eb4ee70dc32eeae7 Mon Sep 17 00:00:00 2001 From: Maikol Drechsler Date: Mon, 30 Jan 2023 09:01:15 +0100 Subject: [PATCH 5/5] Improvement of the description Minor changes on the VehicleLocalization description Signed-off-by: Maikol Drechsler --- osi_hostvehicledata.proto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/osi_hostvehicledata.proto b/osi_hostvehicledata.proto index c8004b98f..cdd723118 100644 --- a/osi_hostvehicledata.proto +++ b/osi_hostvehicledata.proto @@ -328,12 +328,12 @@ message HostVehicleData message VehicleLocalization { // Most accurate position information of the vehicle available in the on-board network - // in context to the global coordinate system. + // measured in context to the global coordinate system. // optional Vector3d position = 1; // Most accurate orientation information of the vehicle available in the on-board network - // in context to the global coordinate system. + // measured in context to the global coordinate system. // optional Orientation3d orientation = 2;