From 700454f409cac99cbabd67f50f3b57c997f8cb25 Mon Sep 17 00:00:00 2001 From: Thomas Nader Date: Tue, 12 Mar 2019 14:10:56 +0100 Subject: [PATCH 01/30] Create osi_adas_function.proto --- osi_adas_function.proto | 209 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 209 insertions(+) create mode 100644 osi_adas_function.proto diff --git a/osi_adas_function.proto b/osi_adas_function.proto new file mode 100644 index 000000000..2de36eec9 --- /dev/null +++ b/osi_adas_function.proto @@ -0,0 +1,209 @@ +syntax = "proto2"; + +option optimize_for = SPEED; + +import "osi_common.proto"; +import "osi_common_extension.proto"; + +package osi3; + +// +// \brief An Interface to describe the communication of an ADAS-function. +// This proto is in far parts complementary to the osi_driver_inputs.proto. +// The inputs are divided into states and requests. +// +message AdasFunction +{ + // + // States the ADAS-function can set. + // + optional FunctionStates function_states = 1; + + // + // Requests of the ADAS-function. + // + optional FunctionRequests function_requests = 2; + + // + // \brief An Interface to describe the communication of an ADAS-function. + // The first set of signals are states the function sets internally + // and are relevant for the vehicle state. + // + message FunctionStates + { + // States of an ADAS-Function (SAE Level 3). + // + optional HadPilot hadpilot = 1; + + // States of the longitudinal control. + // + optional LongitudinalControl longitudinal_control = 2; + + // States of the lateral control. + // + optional LateralControl lateral_control = 3; + + // States of function Emergency-Brake-Assistant. + // + optional EmergencyBrakeAssistant emergency_brake_assistant = 4; + + // Request that the driver has to take over. + // 0=Off; 1=On + // + optional bool driver_take_over_request = 5; + + // Color of the steering wheel (e.g. to show the driving mode). + // See osi_common_extension. + // + optional ColorformatRGB steering_wheel_lighting_color = 6; + + // Requested state of the blindspot-lights (often in the side mirrors). + // + optional BlindSpotWarning blind_spot_warning = 7; + + // Defined states of the possible blind spot warnings. + // + enum BlindSpotWarning + { + // No warning. + // + BLIND_SPOT_WARNING_NONE = 0; + + // Left warning. + // + BLIND_SPOT_WARNING_LEFT = 1; + + // Right warning. + // + BLIND_SPOT_WARNING_RIGHT = 2; + + // Warning on both sides. + // + BLIND_SPOT_WARNING_BOTH = 3; + } + } + + // + // \brief An Interface to describe the communication of an ADAS-function. + // This proto is in far parts complementary to the osi_driver_inputs.proto. + // The inputs are divided into states and requests. + // + // The first set of signals are states the function sets internally + // and are relevant for the vehicle state. + // + message FunctionRequests + { + // All information about the trajectory the vehicle should follow. + // See osi_common_extension. + // + optional Trajectory trajectory = 1; + + // Angle, angle-speed and torque. + // See osi_common_extension. + // + optional Steeringwheel steeringwheel = 2; + + // Factor to scale the steeringtorque of the function output. + // 0-1 (0 = no force of the function, 0.5 = half the force, 1 = 100% Torque). + // + optional double steering_override_factor = 3; + + // Acceleration-, brakepedal and clutch. + // See osi_common_extension. + // + optional Pedalry pedalry = 4; + + // Position of the handbrake. + // 0-100 (percentage of position: Released - fully pressed) + // + optional double handbrake = 5; + + // This is a description of the possible indicatorstates. + // + optional Indicators indicators = 6; + + // This is a description of the possible indicatorstates. + // + enum Indicators + { + // No indicator. + // + INDICATORS_NONE = 0; + + // Left-indicator. + // + INDICATORS_LEFT = 1; + + // Right-indicator. + // + INDICATORS_RIGHT = 2; + + // Warning lights. + // + INDICATORS_ALL = 3; + } + } +} + +// +// \brief A description for highly automated driving (SAE Level 3). +// +// +message HadPilot +{ + // Activationstate of the function. + // + optional bool is_activated = 1; + + // This is the speed the function targets. + // E.g.: At the point of activation, the actual speed could be 80 km/h, + // but the function tries to accelerate to 130 km/h. + // In [km/h]. + // + optional double targeted_speed = 2; +} + +// +// \brief A description for the function longitudinal control. +// +// +message LongitudinalControl +{ + // Activationstate of the function. + // + optional bool is_activated = 1; + + // This is the speed the function targets. + // E.g.: At the point of activation, the actual speed could be 80 km/h, + // but the function tries to accelerate to 130 km/h. + // In [km/h]. + // + optional double targeted_speed = 2; + + // The timegap describes the minimumdistance to the next vehicle in front. + // In [s]. + // + optional double timegap = 3; +} + +// +// \brief A description for the function lateral control. +// +// +message LateralControl +{ + // Activationstate of the function. + // + optional bool is_activated = 1; +} + +// +// \brief A description for the function emergency brake assistant. +// +// +message EmergencyBrakeAssistant +{ + // Activationstate of the function. + // + optional bool is_activated = 1; +} From d0dc3816539722b3614e3458fdf794d02fbc5e76 Mon Sep 17 00:00:00 2001 From: Thomas Nader Date: Tue, 12 Mar 2019 14:11:57 +0100 Subject: [PATCH 02/30] Create osi_driver_inputs.proto --- osi_driver_inputs.proto | 127 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 osi_driver_inputs.proto diff --git a/osi_driver_inputs.proto b/osi_driver_inputs.proto new file mode 100644 index 000000000..351de8bb7 --- /dev/null +++ b/osi_driver_inputs.proto @@ -0,0 +1,127 @@ +syntax = "proto2"; + +option optimize_for = SPEED; + +import "osi_common.proto"; +import "osi_common_extension.proto"; +import "osi_adas_function.proto"; + +package osi3; + +// +// \brief An Interface to describe the inputs from a human driver. +// Contains a base-set of signals with focus on ADAS-functions. +// The inputs are divided into states and requests. +// +message DriverInputs +{ + // + // The first set of signals are states the driver can (usually) directly set. + // + optional DriverInitializedStates driver_initialized_states = 1; + + // + // The second set of signals are requests addressed to an external function. + // + optional DriverRequests driver_requests = 2; + + // + // \brief The first set of signals are states the driver can (usually) directly set. + // + message DriverInitializedStates + { + // State of the driver seat-belt. It is often an initial condition to start an ADAS-Function. + // 0=Open; 1=Closed + // + optional bool seat_belt = 1; + + // State of the doors. It is often an initial condition to start an ADAS-Function. + // 0=Open; 1=Closed + // + optional bool doors = 2; + + // Hands-On-Detection. + // 0=HandsOff; 1=HandsOn + // + optional bool hands_on_detection = 3; + + // State of the ignition. It is often an initial condition to start an ADAS-Function. + // 0=Off; 1=On + // + optional bool ignition = 4; + + // State of the warning lights. + // 0=Off; 1=On + // + optional bool warning_lights = 5; + + // Angle, angle-speed and torque. + // See osi_common_extension. + // + optional Steeringwheel steeringwheel = 6; + + // Acceleration-, brakepedal and clutch. + // See osi_common_extension. + // + optional Pedalry pedalry = 7; + + // Position of the handbrake. + // 0-100 (percentage of position: Released - fully pressed) + // + optional double handbrake = 8; + + // Position of the gearlever. + // See osi_common_extension. + // + optional Gear gearlever = 9; + } + + // + // \brief The second set of signals are requests addressed to an external function. + // The ADAS-function can react to a request by setting its own states. + // The osi_adas_function.proto is widely complementary to this proto. + // For e.g. the driver wants to activate a function, but the initial-conditions of the + // ADAS-function are not fullfilled, the request is without an effect to the driving behaviour. + // + message DriverRequests + { + // Wished states of the driver regarding an ADAS-Function (SAE Level 3). + // + optional HadPilot hadpilot = 1; + + // Wished states of the driver regarding the longitudinal control. + // + optional LongitudinalControl longitudinal_control = 2; + + // Wished states of the driver regarding the lateral control. + // + optional LateralControl lateral_control = 3; + + // Wished states of the driver regarding the function Emergency-Brake-Assistant. + // + optional EmergencyBrakeAssistant emergency_brake_assistant = 4; + + // Request to an ADAS-Function for a lane change. + // 0=EgoLane; 1=Left; 2=Right + // + optional LaneChangeRequest lane_change_request = 5; + + // Request to an ADAS-Function for a lane change. + // 0=EgoLane; 1=Left; 2=Right + // + enum LaneChangeRequest + { + // Stay on the actual lane. + // + LANE_CHANGE_REQUEST_EGO_LANE = 0; + + // Change to the left. + // + LANE_CHANGE_REQUEST_LC_LEFT = 1; + + // Change to the right. + // + LANE_CHANGE_REQUEST_LC_RIGHT = 2; + } + } +} From 4329a4ae1392f366bd026edc4f97e409a739cfb4 Mon Sep 17 00:00:00 2001 From: Thomas Nader Date: Tue, 12 Mar 2019 14:12:38 +0100 Subject: [PATCH 03/30] Create osi_vehicle.proto --- osi_vehicle.proto | 233 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 233 insertions(+) create mode 100644 osi_vehicle.proto diff --git a/osi_vehicle.proto b/osi_vehicle.proto new file mode 100644 index 000000000..32c510091 --- /dev/null +++ b/osi_vehicle.proto @@ -0,0 +1,233 @@ +syntax = "proto2"; + +option optimize_for = SPEED; + +import "osi_common.proto"; +import "osi_common_extension.proto"; + +package osi3; + +// +// \brief Interface to the vehicle-model. So where the movement of a car is calculated, +// but also the behaviour of some components of the car itself. +// Consists of four messages: VehicleKinematics, VehiclePowertrain, VehicleSteeringwheel and VehicleWheels. +// +message OsiVehicle +{ + // + // So this is the interface, that describes how the vehicle is moving. + // All coordinates and orientations are relative to the global ground truth + // coordinate system. + // + optional VehicleKinematics vehicle_kinematics = 1; + + // + // Interface to the vehicle-model. + // The focus here is on the powertrain. + // + optional VehiclePowertrain vehicle_powertrain = 2; + + // + // Interface to the vehicle-model. + // The focus here is on the steeringwheel. + // + optional VehicleSteeringwheel vehicle_steeringwheel = 3; + + // + // Interface to the vehicle-model. + // The focus here is on the physical description of a wheel. + // + optional VehicleWheels vehicle_wheels = 4; + + // + // \brief So this is the interface, that describes how the vehicle is moving. + // All coordinates and orientations are relative to the global ground truth + // coordinate system. + // + message VehicleKinematics + { + // The 3D dimension of the moving object (its bounding box). + // + optional Dimension3d dimension = 1; + + // The reference point for position and orientation: the center (x,y,z) of + // the bounding box. + // + optional Vector3d position = 2; + + // The relative velocity of the moving object w.r.t. its parent frame and + // parent velocity. + // The velocity becomes global/absolute if the parent frame does not move. + // + // #position (t) := #position (t-dt)+ #velocity *dt + // + optional Vector3d velocity = 3; + + // The relative acceleration of the moving object w.r.t. its parent frame + // and parent acceleration. + // The acceleration becomes global/absolute if the parent frame is not + // accelerating. + // + // #position (t) := #position (t-dt)+ #velocity *dt+ #acceleration /2*dt^2 + // + // #velocity (t) := #velocity (t-dt)+ #acceleration *dt + // + optional Vector3d acceleration = 4; + + // The relative orientation of the moving object w.r.t. its parent frame. + // + // Origin_base_moving_entity := Rotation_yaw_pitch_roll(#orientation)*(Origin_parent_coordinate_system - #position) + // + // \note There may be some constraints how to align the orientation w.r.t. + // to some stationary object's or entity's definition. + // + optional Orientation3d orientation = 5; + + // The relative orientation rate of the moving object w.r.t. its parent + // frame and parent orientation rate in the center point of the bounding box + // (origin of the bounding box frame). + // + // Rotation_yaw_pitch_roll(#orientation (t)) := Rotation_yaw_pitch_roll(#orientation_rate *dt)*Rotation_yaw_pitch_roll(#orientation (t-dt)) + // + // \note #orientation (t) is \b not equal #orientation (t-dt)+#orientation_rate *dt + // + optional Orientation3d orientation_rate = 6; + + // The relative orientation rate acceleration of the moving object w.r.t. its parent + // frame and parent orientation rate in the center point of the bounding box + // (origin of the bounding box frame). + // + // Rotation_yaw_pitch_roll(#orientation (t)) := Rotation_yaw_pitch_roll(#orientation_rate *dt)*Rotation_yaw_pitch_roll(#orientation (t-dt)) + // + // \note #orientation (t) is \b not equal #orientation (t-dt)+#orientation_rate *dt + // + optional Orientation3d orientation_rate_acceleration = 7; + } + + // + // \brief Interface to the vehicle-model. + // The focus here is on the powertrain. + // + message VehiclePowertrain + { + // The positions of the pedals. + // + optional Pedalry pedalry = 1; + + // Rounds per minute of the crankshaft. + // + optional double engine_rpm = 2; + + // Torque in Nm. + // + optional double engine_torque = 3; + + // Consumption in liters per 100 km. + // + optional double engine_consumption = 4; + + // Consumption in liters per 100 km. + // + optional double fuel_consumption = 4; + + // Consumption of electrical or hybrid vehicle + // + optional double electrical_energy_consumption = 5; + + // The actual gear of the car. + // + optional Gear gear = 6; + } + + // + // \brief Interface to the vehicle-model. + // The focus here is on the steeringwheel. + // + message VehicleSteeringwheel + { + // Angle, angle-speed and torque. + // See osi_common_extension. + // + optional Steeringwheel steeringwheel = 1; + + // Spring-stiffness of the steering in Nm/Deg. + // + optional double stw_springstiffness = 2; + + // Damping of the steering in Nm*s/Deg. + // + optional double stw_damping = 3; + + // Friction of the steering in Nm. + // + optional double stw_friction = 4; + } + + // + // \brief Interface to the vehicle-model. + // The focus here is on the wheels. + // It is made usage of the wheel-message to shorten the code. + // + message VehicleWheels + { + // Contains the physical description of the front-left wheel. + // + optional Wheel wheel_front_left = 1; + + // Contains the physical description of the front-right wheel. + // + optional Wheel wheel_front_right = 2; + + // Contains the physical description of the rear-left wheel. + // + optional Wheel wheel_rear_left = 3; + + // Contains the physical description of the rear-right wheel. + // + optional Wheel wheel_rear_right = 4; + } + + // + // \brief Interface to the vehicle-model. + // The focus here is on the physical description of a wheel. + // + message Wheel + { + // Contains the friction-coefficient of each wheel. + // Dimensionless. + // + optional double friction_coefficient = 1; + + // Contains the z-coordinate (contact-point) of each wheel. + // Dimensionless. + // + optional double contact_point = 2; + + // Contains the rotational speed of each wheel per second. + // In [Rad/s]. + // + optional double rotational_speed = 3; + + // Contains the steering angle of each wheel. + // In [Rad]. + // + optional double steeringangle = 4; + + // Contains the camber of each wheel. + // In [Rad]. + // Negative camber if the bottom of the wheel is farther out than the top. + // For more information: https://en.wikipedia.org/wiki/Camber_angle. + // + optional double camber = 5; + + // Contains the tirepressure of each tire. + // In [Pascal]. + // + optional double tirepressure = 6; + + // Contains the springdeflection in z-direction for each wheel. + // In [mm]. + // + optional double springdeflection = 7; + } +} From b6db92d8e11106ccd192d3ad2febf7f10986c369 Mon Sep 17 00:00:00 2001 From: Thomas Nader Date: Tue, 12 Mar 2019 14:14:24 +0100 Subject: [PATCH 04/30] Update osi_common.proto Extension of osi_common. --- osi_common.proto | 207 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) diff --git a/osi_common.proto b/osi_common.proto index a6a79e73e..2574673b7 100644 --- a/osi_common.proto +++ b/osi_common.proto @@ -428,3 +428,210 @@ message BaseMoving // repeated Vector2d base_polygon = 7; } + +// +// \brief A description for the steeringwheel. +// +message Steeringwheel +{ + // Angle of the steeringwheel. + // + // Unit in rad: 0=Central (Straight); Left>0; 0>Right. + // + optional double angle = 1; + + // Angle-speed of the steeringwheel. + // + // Unit in rad/s: 0=Central (Straight); Left>0; 0>Right. + // + optional double angular_speed = 2; + + // Torque of the steeringwheel to the hand. + // + // Unit in Nm: 0=Central (Straight); Left>0; 0>Right. + // + optional double torque = 3; +} + +// +// \brief A description for the positions of the pedals. +// +// +message Pedalry +{ + // Position of the acceleration-pedal. + // 0-100 (percentage of position: Unpressed - fully pressed) + // + optional double pedal_position_acceleration = 1; + + // Position of the brake-pedal. + // 0-100 (percentage of position: Unpressed - fully pressed) + // + optional double pedal_position_brake = 2; + + // Position of the clutch-pedal. + // 0-100 (percentage of position: Unpressed - fully pressed) + // + optional double pedal_position_clutch = 3; +} + +// +// \brief This is a message to describe, which trajectory the vehicle should follow. +// +// +message Trajectory +{ + // Contains the timestamp where the trajectorypoint should be reached. + // In [s]. + // + optional Timestamp timestamp = 1; + + // Contains the X-Position the vehicle should be at the timestamp. + // + optional double targeted_pos_x = 2; + + // Contains the Y-Position the vehicle should be at the timestamp. + // + optional double targeted_pos_y = 3; + + // Direction of the vehicle at the timestamp. + // In [Rad]. + // + optional double trackangle = 4; + + // Contains the curvature at the timestamp. + // In [1/m]. + // + optional double curvature = 5; + + // Contains the curvaturechange at the timestamp. + // In [1/m*s]. + // + optional double curvaturechange = 6; + + // Contains the velocity of the vehicle at the timestamp. + // In [m/s]. + // + optional double velocity = 7; + + // Contains the acceleration of the vehicle at the timestamp. + // In [m/s^2]. + // + optional double acceleration = 8; + + // Contains the interpolation method. + // + optional InterpolationMethod interpolation_method = 9; + + // Contains the interpolation method. + // + enum InterpolationMethod + { + // Stay on the actual lane. + // + INTERPOLATION_METHOD_LINEAR = 0; + + // Change to the left. + // + INTERPOLATION_METHOD_CUBIC = 1; + } +} + +// The actual gear of the car. +// +enum Gear +{ + // The actual gear was not calculated by the dynamicmodell. + // + GEAR_UNKNOWN = 0; + + // The actual gear is 1. + // + GEAR_1 = 1; + + // The actual gear is 2. + // + GEAR_2 = 2; + + // The actual gear is 3. + // + GEAR_3 = 3; + + // The actual gear is 4. + // + GEAR_4 = 4; + + // The actual gear is 5. + // + GEAR_5 = 5; + + // The actual gear is 6. + // + GEAR_6 = 6; + + // The actual gear is 7. + // + GEAR_7 = 7; + + // The actual gear is 8. + // + GEAR_8 = 8; + + // The actual gear is 9. + // + GEAR_9 = 9; + + // The car is in idling-mode. + // + GEAR_IDLING = 10; + + // The car is in reverse-mode. + // + GEAR_REVERSE = 11; + + // The car is in automatic-driving-mode. + // + GEAR_D = 20; + + // The car is in automatic-idling-mode. + // + GEAR_N = 21; + + // The car is in automatic-parking-mode. + // + GEAR_P = 22; + + // The car has an automatic transmission, but the driver shifts up by his own. + // + GEAR_UP = 30; + + // The car has an automatic transmission, but the driver shifts by his own. + // + GEAR_MID = 31; + + // The car has an automatic transmission, but the driver shifts down by his own. + // + GEAR_DOWN = 32; +} + +// +// \brief A 3D-vector for color-description regarding the RGB-format. +// More information: https://en.wikipedia.org/wiki/RGB_color_model. +// +message ColorformatRGB +{ + // The part of red. + // Values from 0 to 255. + // + optional uint32 rgb_red = 1; + + // The part of green. + // Values from 0 to 255. + // + optional uint32 rgb_green = 2; + + // The part of blue. + // Values from 0 to 255. + // + optional uint32 rgb_blue = 3; +} From 92764bebccfb18e8c389506ae2d485d0d999e3c7 Mon Sep 17 00:00:00 2001 From: Thomas Nader Date: Tue, 12 Mar 2019 14:18:01 +0100 Subject: [PATCH 05/30] Update osi_environment.proto extension by wind_speed and wind_direction. --- osi_environment.proto | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/osi_environment.proto b/osi_environment.proto index 0f3e01b12..1103952e3 100644 --- a/osi_environment.proto +++ b/osi_environment.proto @@ -48,6 +48,17 @@ message EnvironmentalConditions // Description of the fog. // optional Fog fog = 7; + + // Contains the velocity of the wind (global weather). + // In [m/s]. + // + optional double wind_speed = 8; + + // Contains the direction of the wind (global weather). + // In [Degree]. Wind direction is measured in degrees clockwise from due north. + // Like on a windrose. E.g.: A wind blowing from the north has a wind direction of 0 Degree. + // + optional double wind_direction = 9; // Definition of discretized precipitation states according to [1]. // (I = Intensity of precipitation in mm per hour [mm/h]) From a613586f923a40c12d96f3d7354d60929cbe7f3f Mon Sep 17 00:00:00 2001 From: Thomas Nader Date: Tue, 12 Mar 2019 14:19:31 +0100 Subject: [PATCH 06/30] Update osi_adas_function.proto --- osi_adas_function.proto | 1 - 1 file changed, 1 deletion(-) diff --git a/osi_adas_function.proto b/osi_adas_function.proto index 2de36eec9..ebffd341d 100644 --- a/osi_adas_function.proto +++ b/osi_adas_function.proto @@ -3,7 +3,6 @@ syntax = "proto2"; option optimize_for = SPEED; import "osi_common.proto"; -import "osi_common_extension.proto"; package osi3; From 2f2eb6b61d2ca452dd425749d9227f93f883242e Mon Sep 17 00:00:00 2001 From: Thomas Nader Date: Tue, 12 Mar 2019 14:19:57 +0100 Subject: [PATCH 07/30] Update osi_driver_inputs.proto --- osi_driver_inputs.proto | 1 - 1 file changed, 1 deletion(-) diff --git a/osi_driver_inputs.proto b/osi_driver_inputs.proto index 351de8bb7..6356032fd 100644 --- a/osi_driver_inputs.proto +++ b/osi_driver_inputs.proto @@ -3,7 +3,6 @@ syntax = "proto2"; option optimize_for = SPEED; import "osi_common.proto"; -import "osi_common_extension.proto"; import "osi_adas_function.proto"; package osi3; From 3e2cfe46ca7490fb0332ee84564b6e93392ea13a Mon Sep 17 00:00:00 2001 From: Thomas Nader Date: Tue, 12 Mar 2019 14:20:37 +0100 Subject: [PATCH 08/30] Update osi_vehicle.proto --- osi_vehicle.proto | 1 - 1 file changed, 1 deletion(-) diff --git a/osi_vehicle.proto b/osi_vehicle.proto index 32c510091..cf9c4d9bb 100644 --- a/osi_vehicle.proto +++ b/osi_vehicle.proto @@ -3,7 +3,6 @@ syntax = "proto2"; option optimize_for = SPEED; import "osi_common.proto"; -import "osi_common_extension.proto"; package osi3; From 086285f3792a0f665363033d4a92264f5ce5b098 Mon Sep 17 00:00:00 2001 From: Carlo van Driesten Date: Wed, 10 Apr 2019 14:19:26 +0200 Subject: [PATCH 09/30] fixed unit doxygen comment --- osi_environment.proto | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/osi_environment.proto b/osi_environment.proto index 1103952e3..f01bb4566 100644 --- a/osi_environment.proto +++ b/osi_environment.proto @@ -39,6 +39,7 @@ message EnvironmentalConditions // temperature and atmospheric_pressure are known. // // Unit: [%] + // optional double relative_humidity = 5; // Description of the precipitation. @@ -50,7 +51,8 @@ message EnvironmentalConditions optional Fog fog = 7; // Contains the velocity of the wind (global weather). - // In [m/s]. + // + // Unit: [m/s] // optional double wind_speed = 8; From 18d44238c0b23605ab91a8cceb802fda4ec978f6 Mon Sep 17 00:00:00 2001 From: Thomas Nader Date: Wed, 10 Apr 2019 17:11:50 +0200 Subject: [PATCH 10/30] Update osi_common.proto --- osi_common.proto | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/osi_common.proto b/osi_common.proto index 2574673b7..4d23b3391 100644 --- a/osi_common.proto +++ b/osi_common.proto @@ -436,19 +436,19 @@ message Steeringwheel { // Angle of the steeringwheel. // - // Unit in rad: 0=Central (Straight); Left>0; 0>Right. + // Unit: [rad]: 0=Central (Straight); Left>0; 0>Right. // optional double angle = 1; // Angle-speed of the steeringwheel. // - // Unit in rad/s: 0=Central (Straight); Left>0; 0>Right. + // Unit: [rad/s]: 0=Central (Straight); Left>0; 0>Right. // optional double angular_speed = 2; // Torque of the steeringwheel to the hand. // - // Unit in Nm: 0=Central (Straight); Left>0; 0>Right. + // Unit: [Nm]: 0=Central (Straight); Left>0; 0>Right. // optional double torque = 3; } @@ -460,17 +460,17 @@ message Steeringwheel message Pedalry { // Position of the acceleration-pedal. - // 0-100 (percentage of position: Unpressed - fully pressed) + // Unit: [0-1] (Unpressed - fully pressed) // optional double pedal_position_acceleration = 1; // Position of the brake-pedal. - // 0-100 (percentage of position: Unpressed - fully pressed) + // Unit: [0-1] (Unpressed - fully pressed) // optional double pedal_position_brake = 2; // Position of the clutch-pedal. - // 0-100 (percentage of position: Unpressed - fully pressed) + // Unit: [0-1] (Unpressed - fully pressed) // optional double pedal_position_clutch = 3; } From b34ace21ffa90a3a290055521b7de54d7b7b517b Mon Sep 17 00:00:00 2001 From: Thomas Nader Date: Thu, 11 Apr 2019 17:02:33 +0200 Subject: [PATCH 11/30] Update osi_vehicle.proto seperated gear lever and transmission --- osi_vehicle.proto | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/osi_vehicle.proto b/osi_vehicle.proto index cf9c4d9bb..7b6dcb98e 100644 --- a/osi_vehicle.proto +++ b/osi_vehicle.proto @@ -133,9 +133,14 @@ message OsiVehicle // optional double electrical_energy_consumption = 5; - // The actual gear of the car. + // The actual gear of the gear lever. // - optional Gear gear = 6; + optional Gear gear_gear_lever = 6; + + // The actual gear of the transmission. + // E.g. gear_lever can be in "D" and transmission in "4", but not the other way around. + // + optional Gear gear_transmission = 7; } // From 22d73813a950e42cce16250aa37d9205c55e56fa Mon Sep 17 00:00:00 2001 From: Thomas Nader Date: Thu, 11 Apr 2019 17:03:37 +0200 Subject: [PATCH 12/30] Update osi_driver_inputs.proto --- osi_driver_inputs.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osi_driver_inputs.proto b/osi_driver_inputs.proto index 6356032fd..53a88843d 100644 --- a/osi_driver_inputs.proto +++ b/osi_driver_inputs.proto @@ -72,7 +72,7 @@ message DriverInputs // Position of the gearlever. // See osi_common_extension. // - optional Gear gearlever = 9; + optional Gear gear_lever = 9; } // From 7637b1a1d7738404c730eeab2cbbc31a28a71b49 Mon Sep 17 00:00:00 2001 From: ainar Date: Fri, 10 May 2019 13:33:54 +0200 Subject: [PATCH 13/30] Improving coding style along with units (#317) * Improving coding style along with units * Update osi_environment.proto --- osi_adas_function.proto | 9 ++++++--- osi_common.proto | 27 +++++++++++++++++--------- osi_driver_inputs.proto | 2 ++ osi_environment.proto | 4 +++- osi_vehicle.proto | 42 +++++++++++++++++++++++++++++++++-------- 5 files changed, 63 insertions(+), 21 deletions(-) diff --git a/osi_adas_function.proto b/osi_adas_function.proto index ebffd341d..92e95a66c 100644 --- a/osi_adas_function.proto +++ b/osi_adas_function.proto @@ -157,7 +157,8 @@ message HadPilot // This is the speed the function targets. // E.g.: At the point of activation, the actual speed could be 80 km/h, // but the function tries to accelerate to 130 km/h. - // In [km/h]. + // + // Unit: [km/h] // optional double targeted_speed = 2; } @@ -175,12 +176,14 @@ message LongitudinalControl // This is the speed the function targets. // E.g.: At the point of activation, the actual speed could be 80 km/h, // but the function tries to accelerate to 130 km/h. - // In [km/h]. + // + // Unit: [km/h] // optional double targeted_speed = 2; // The timegap describes the minimumdistance to the next vehicle in front. - // In [s]. + // + // Unit: [s] // optional double timegap = 3; } diff --git a/osi_common.proto b/osi_common.proto index 4d23b3391..6fec7f234 100644 --- a/osi_common.proto +++ b/osi_common.proto @@ -435,20 +435,23 @@ message BaseMoving message Steeringwheel { // Angle of the steeringwheel. + // 0=Central (Straight); Left>0; 0>Right. // - // Unit: [rad]: 0=Central (Straight); Left>0; 0>Right. + // Unit: [rad] // optional double angle = 1; // Angle-speed of the steeringwheel. + // 0=Central (Straight); Left>0; 0>Right. // - // Unit: [rad/s]: 0=Central (Straight); Left>0; 0>Right. + // Unit: [rad/s] // optional double angular_speed = 2; // Torque of the steeringwheel to the hand. + // 0=Central (Straight); Left>0; 0>Right. // - // Unit: [Nm]: 0=Central (Straight); Left>0; 0>Right. + // Unit: [N*m] // optional double torque = 3; } @@ -482,7 +485,8 @@ message Pedalry message Trajectory { // Contains the timestamp where the trajectorypoint should be reached. - // In [s]. + // + // Unit: [s] // optional Timestamp timestamp = 1; @@ -495,27 +499,32 @@ message Trajectory optional double targeted_pos_y = 3; // Direction of the vehicle at the timestamp. - // In [Rad]. + // + // Unit: [rad] // optional double trackangle = 4; // Contains the curvature at the timestamp. - // In [1/m]. + // + // Unit: [1/m] // optional double curvature = 5; // Contains the curvaturechange at the timestamp. - // In [1/m*s]. + // + // Unit: [1/m*s] // optional double curvaturechange = 6; // Contains the velocity of the vehicle at the timestamp. - // In [m/s]. + // + // Unit: [m/s] // optional double velocity = 7; // Contains the acceleration of the vehicle at the timestamp. - // In [m/s^2]. + // + // Unit: [m/s^2] // optional double acceleration = 8; diff --git a/osi_driver_inputs.proto b/osi_driver_inputs.proto index 53a88843d..8135a6666 100644 --- a/osi_driver_inputs.proto +++ b/osi_driver_inputs.proto @@ -67,6 +67,8 @@ message DriverInputs // Position of the handbrake. // 0-100 (percentage of position: Released - fully pressed) // + // Unit: [%] + // optional double handbrake = 8; // Position of the gearlever. diff --git a/osi_environment.proto b/osi_environment.proto index f01bb4566..e2e7f1923 100644 --- a/osi_environment.proto +++ b/osi_environment.proto @@ -57,9 +57,11 @@ message EnvironmentalConditions optional double wind_speed = 8; // Contains the direction of the wind (global weather). - // In [Degree]. Wind direction is measured in degrees clockwise from due north. + // Wind direction is measured in degrees clockwise from due north. // Like on a windrose. E.g.: A wind blowing from the north has a wind direction of 0 Degree. // + // Unit: [deg] + // optional double wind_direction = 9; // Definition of discretized precipitation states according to [1]. diff --git a/osi_vehicle.proto b/osi_vehicle.proto index 7b6dcb98e..305555014 100644 --- a/osi_vehicle.proto +++ b/osi_vehicle.proto @@ -115,21 +115,31 @@ message OsiVehicle // Rounds per minute of the crankshaft. // + // Unit: [1/min] + // optional double engine_rpm = 2; // Torque in Nm. // + // Unit: [N*m] + // optional double engine_torque = 3; // Consumption in liters per 100 km. // + // Unit: [l] + // optional double engine_consumption = 4; // Consumption in liters per 100 km. // + // Unit: [l] + // optional double fuel_consumption = 4; - // Consumption of electrical or hybrid vehicle + // Consumption of electrical or hybrid vehicle per 100 km + // + // Unit: [kWh] // optional double electrical_energy_consumption = 5; @@ -154,16 +164,22 @@ message OsiVehicle // optional Steeringwheel steeringwheel = 1; - // Spring-stiffness of the steering in Nm/Deg. + // Spring-stiffness of the steering in Nm/deg. + // + // Unit: [N*m/deg] // optional double stw_springstiffness = 2; - // Damping of the steering in Nm*s/Deg. + // Damping of the steering in Nm*s/deg. + // + // Unit: [N*m*s/deg] // optional double stw_damping = 3; // Friction of the steering in Nm. // + // Unit: [N*m] + // optional double stw_friction = 4; } @@ -200,37 +216,47 @@ message OsiVehicle // Contains the friction-coefficient of each wheel. // Dimensionless. // + // Unit: [] + // optional double friction_coefficient = 1; // Contains the z-coordinate (contact-point) of each wheel. // Dimensionless. // + // Unit: [] + // optional double contact_point = 2; // Contains the rotational speed of each wheel per second. - // In [Rad/s]. + // + // Unit: [rad/s] // optional double rotational_speed = 3; // Contains the steering angle of each wheel. - // In [Rad]. + // + // Unit: [rad] // optional double steeringangle = 4; // Contains the camber of each wheel. - // In [Rad]. + // // Negative camber if the bottom of the wheel is farther out than the top. // For more information: https://en.wikipedia.org/wiki/Camber_angle. // + // Unit: [rad] + // optional double camber = 5; // Contains the tirepressure of each tire. - // In [Pascal]. + // + // Unit: [Pa] // optional double tirepressure = 6; // Contains the springdeflection in z-direction for each wheel. - // In [mm]. + // + // Unit: [mm] // optional double springdeflection = 7; } From 64d521d2103dc3fd62fc9dccf06480d90c0a70c3 Mon Sep 17 00:00:00 2001 From: ainar Date: Tue, 28 May 2019 10:07:49 +0200 Subject: [PATCH 14/30] Extension adas vehicle driver inputs (#328) * Wrapping lines and fixed CapWords * Fixed CapWord and snake_case according to exact English nomenclature * Wrapping and rename bools to improve readability * Enum consitency with unknown and other * Added \notes --- osi_adas_function.proto | 79 ++++++++++++++++++++++++++++------------- osi_common.proto | 19 +++++----- osi_driver_inputs.proto | 56 +++++++++++++++-------------- osi_vehicle.proto | 59 ++++++++++++++++-------------- 4 files changed, 127 insertions(+), 86 deletions(-) diff --git a/osi_adas_function.proto b/osi_adas_function.proto index 92e95a66c..b5097b57b 100644 --- a/osi_adas_function.proto +++ b/osi_adas_function.proto @@ -47,16 +47,20 @@ message AdasFunction optional EmergencyBrakeAssistant emergency_brake_assistant = 4; // Request that the driver has to take over. - // 0=Off; 1=On + // + // \note 0 = off; 1 = on. // optional bool driver_take_over_request = 5; // Color of the steering wheel (e.g. to show the driving mode). - // See osi_common_extension. + // + // \note See osi_common_extension. // optional ColorformatRGB steering_wheel_lighting_color = 6; - // Requested state of the blindspot-lights (often in the side mirrors). + // Requested state of the blindspot-lights. + // + // \note Often visible in the side mirrors. // optional BlindSpotWarning blind_spot_warning = 7; @@ -64,21 +68,30 @@ message AdasFunction // enum BlindSpotWarning { + // The state of the blind spot warning is unknown + // (must not be unsed in ground truth). + // + BLIND_SPOT_WARNING_UNKNOWN = 0; + + // Other (unspecified but known) blind spot warning. + // + BLIND_SPOT_WARNING_OTHER = 1; + // No warning. // - BLIND_SPOT_WARNING_NONE = 0; + BLIND_SPOT_WARNING_NONE = 2; // Left warning. // - BLIND_SPOT_WARNING_LEFT = 1; + BLIND_SPOT_WARNING_LEFT = 3; // Right warning. // - BLIND_SPOT_WARNING_RIGHT = 2; + BLIND_SPOT_WARNING_RIGHT = 4; // Warning on both sides. // - BLIND_SPOT_WARNING_BOTH = 3; + BLIND_SPOT_WARNING_BOTH = 5; } } @@ -93,53 +106,71 @@ message AdasFunction message FunctionRequests { // All information about the trajectory the vehicle should follow. - // See osi_common_extension. + // + // \note See osi_common_extension. // optional Trajectory trajectory = 1; // Angle, angle-speed and torque. - // See osi_common_extension. // - optional Steeringwheel steeringwheel = 2; + // \note See osi_common_extension. + // + optional SteeringWheel steering_wheel = 2; // Factor to scale the steeringtorque of the function output. - // 0-1 (0 = no force of the function, 0.5 = half the force, 1 = 100% Torque). + // + // \note 0 = no force of the function, 0.5 = half the force, 1 = 100% torque. + // + // Range: [0, 1] // optional double steering_override_factor = 3; // Acceleration-, brakepedal and clutch. - // See osi_common_extension. + // + // \note See osi_common_extension. // optional Pedalry pedalry = 4; // Position of the handbrake. - // 0-100 (percentage of position: Released - fully pressed) // - optional double handbrake = 5; + // \note A value of 0.0 means fully released and 1.0 means fully pressed. + // + // Range: [0, 1] + // + optional double handbrake_position = 5; - // This is a description of the possible indicatorstates. + // This is a description of the possible indicator states. // optional Indicators indicators = 6; - // This is a description of the possible indicatorstates. + // Description of the possible indicator states. // enum Indicators { + // The state of the indicator is unknown + // (must not be unsed in ground truth). + // + INDICATORS_UNKNOWN = 0; + + // Other (unspecified but known) indicator state. + // + INDICATORS_OTHER = 1; + // No indicator. // - INDICATORS_NONE = 0; + INDICATORS_NONE = 2; // Left-indicator. // - INDICATORS_LEFT = 1; + INDICATORS_LEFT = 3; // Right-indicator. // - INDICATORS_RIGHT = 2; + INDICATORS_RIGHT = 4; // Warning lights. // - INDICATORS_ALL = 3; + INDICATORS_ALL = 5; } } } @@ -150,7 +181,7 @@ message AdasFunction // message HadPilot { - // Activationstate of the function. + // Activation state of the function. // optional bool is_activated = 1; @@ -169,7 +200,7 @@ message HadPilot // message LongitudinalControl { - // Activationstate of the function. + // Activation state of the function. // optional bool is_activated = 1; @@ -194,7 +225,7 @@ message LongitudinalControl // message LateralControl { - // Activationstate of the function. + // Activation state of the function. // optional bool is_activated = 1; } @@ -205,7 +236,7 @@ message LateralControl // message EmergencyBrakeAssistant { - // Activationstate of the function. + // Activation state of the function. // optional bool is_activated = 1; } diff --git a/osi_common.proto b/osi_common.proto index 6fec7f234..2853d6d48 100644 --- a/osi_common.proto +++ b/osi_common.proto @@ -430,25 +430,25 @@ message BaseMoving } // -// \brief A description for the steeringwheel. +// \brief A description for the steering wheel. // -message Steeringwheel +message SteeringWheel { - // Angle of the steeringwheel. + // Angle of the steering wheel. // 0=Central (Straight); Left>0; 0>Right. // // Unit: [rad] // optional double angle = 1; - // Angle-speed of the steeringwheel. + // Angle-speed of the steering wheel. // 0=Central (Straight); Left>0; 0>Right. // // Unit: [rad/s] // optional double angular_speed = 2; - // Torque of the steeringwheel to the hand. + // Torque of the steering wheel to the hand. // 0=Central (Straight); Left>0; 0>Right. // // Unit: [N*m] @@ -479,7 +479,8 @@ message Pedalry } // -// \brief This is a message to describe, which trajectory the vehicle should follow. +// \brief This is a message to describe, which trajectory the vehicle should +// follow. // // message Trajectory @@ -610,7 +611,8 @@ enum Gear // GEAR_P = 22; - // The car has an automatic transmission, but the driver shifts up by his own. + // The car has an automatic transmission, but the driver shifts up by his + // own. // GEAR_UP = 30; @@ -618,7 +620,8 @@ enum Gear // GEAR_MID = 31; - // The car has an automatic transmission, but the driver shifts down by his own. + // The car has an automatic transmission, but the driver shifts down by his + // own. // GEAR_DOWN = 32; } diff --git a/osi_driver_inputs.proto b/osi_driver_inputs.proto index 8135a6666..2eb752618 100644 --- a/osi_driver_inputs.proto +++ b/osi_driver_inputs.proto @@ -15,7 +15,8 @@ package osi3; message DriverInputs { // - // The first set of signals are states the driver can (usually) directly set. + // The first set of signals are states the driver can (usually) directly + // set. // optional DriverInitializedStates driver_initialized_states = 1; @@ -25,64 +26,66 @@ message DriverInputs optional DriverRequests driver_requests = 2; // - // \brief The first set of signals are states the driver can (usually) directly set. + // \brief The first set of signals are states the driver can (usually) + // directly set. // message DriverInitializedStates { - // State of the driver seat-belt. It is often an initial condition to start an ADAS-Function. - // 0=Open; 1=Closed + // State of the driver seat-belt. It is often an initial condition to + // start an ADAS-Function. // - optional bool seat_belt = 1; + optional bool is_seat_belt_fastened = 1; - // State of the doors. It is often an initial condition to start an ADAS-Function. - // 0=Open; 1=Closed + // State of the doors. It is often an initial condition to start an + // ADAS-Function. // - optional bool doors = 2; + optional bool are_doors_closed = 2; - // Hands-On-Detection. - // 0=HandsOff; 1=HandsOn + // Hands Off Detection. // - optional bool hands_on_detection = 3; + optional bool are_hands_off = 3; - // State of the ignition. It is often an initial condition to start an ADAS-Function. - // 0=Off; 1=On + // State of the ignition. It is often an initial condition to start an + // ADAS-Function. // - optional bool ignition = 4; + optional bool is_ignition_on = 4; // State of the warning lights. - // 0=Off; 1=On // - optional bool warning_lights = 5; + optional bool are_warning_lights_on = 5; // Angle, angle-speed and torque. // See osi_common_extension. // - optional Steeringwheel steeringwheel = 6; + optional SteeringWheel steering_wheel = 6; - // Acceleration-, brakepedal and clutch. + // Acceleration-, brake pedal and clutch. // See osi_common_extension. // optional Pedalry pedalry = 7; // Position of the handbrake. - // 0-100 (percentage of position: Released - fully pressed) + // A value of 0% means fully released and 100% means fully pressed // // Unit: [%] // - optional double handbrake = 8; + optional double handbrake_position = 8; - // Position of the gearlever. + // Position of the gear lever. // See osi_common_extension. // optional Gear gear_lever = 9; } // - // \brief The second set of signals are requests addressed to an external function. + // \brief The second set of signals are requests addressed to an external + // function. // The ADAS-function can react to a request by setting its own states. // The osi_adas_function.proto is widely complementary to this proto. - // For e.g. the driver wants to activate a function, but the initial-conditions of the - // ADAS-function are not fullfilled, the request is without an effect to the driving behaviour. + // For e.g. the driver wants to activate a function, but the + // initial-conditions of the + // ADAS-function are not fullfilled, the request is without an effect to the + // driving behaviour. // message DriverRequests { @@ -98,17 +101,16 @@ message DriverInputs // optional LateralControl lateral_control = 3; - // Wished states of the driver regarding the function Emergency-Brake-Assistant. + // Wished states of the driver regarding the function + // Emergency-Brake-Assistant. // optional EmergencyBrakeAssistant emergency_brake_assistant = 4; // Request to an ADAS-Function for a lane change. - // 0=EgoLane; 1=Left; 2=Right // optional LaneChangeRequest lane_change_request = 5; // Request to an ADAS-Function for a lane change. - // 0=EgoLane; 1=Left; 2=Right // enum LaneChangeRequest { diff --git a/osi_vehicle.proto b/osi_vehicle.proto index 305555014..c2293278c 100644 --- a/osi_vehicle.proto +++ b/osi_vehicle.proto @@ -7,9 +7,10 @@ import "osi_common.proto"; package osi3; // -// \brief Interface to the vehicle-model. So where the movement of a car is calculated, -// but also the behaviour of some components of the car itself. -// Consists of four messages: VehicleKinematics, VehiclePowertrain, VehicleSteeringwheel and VehicleWheels. +// \brief Interface to the vehicle-model. So where the movement of a car is +// calculated, but also the behaviour of some components of the car itself. +// Consists of four messages: VehicleKinematics, VehiclePowertrain, +// VehicleSteeringWheel and VehicleWheels. // message OsiVehicle { @@ -28,9 +29,9 @@ message OsiVehicle // // Interface to the vehicle-model. - // The focus here is on the steeringwheel. + // The focus here is on the steering wheel. // - optional VehicleSteeringwheel vehicle_steeringwheel = 3; + optional VehicleSteeringWheel vehicle_steering_wheel = 3; // // Interface to the vehicle-model. @@ -39,7 +40,8 @@ message OsiVehicle optional VehicleWheels vehicle_wheels = 4; // - // \brief So this is the interface, that describes how the vehicle is moving. + // \brief So this is the interface, that describes how the vehicle is + // moving. // All coordinates and orientations are relative to the global ground truth // coordinate system. // @@ -49,27 +51,28 @@ message OsiVehicle // optional Dimension3d dimension = 1; - // The reference point for position and orientation: the center (x,y,z) of - // the bounding box. + // The reference point for position and orientation: the center (x,y,z) + //of the bounding box. // optional Vector3d position = 2; - // The relative velocity of the moving object w.r.t. its parent frame and - // parent velocity. - // The velocity becomes global/absolute if the parent frame does not move. + // The relative velocity of the moving object w.r.t. its parent frame + // and parent velocity. + // The velocity becomes global/absolute if the parent frame does not + // move. // // #position (t) := #position (t-dt)+ #velocity *dt // optional Vector3d velocity = 3; - // The relative acceleration of the moving object w.r.t. its parent frame - // and parent acceleration. + // The relative acceleration of the moving object w.r.t. its parent + // frame and parent acceleration. // The acceleration becomes global/absolute if the parent frame is not // accelerating. // - // #position (t) := #position (t-dt)+ #velocity *dt+ #acceleration /2*dt^2 + // #position (t) := #position (t-dt)+ #velocity *dt+ #acceleration /2*dt^2 // - // #velocity (t) := #velocity (t-dt)+ #acceleration *dt + // #velocity (t) := #velocity (t-dt)+ #acceleration *dt // optional Vector3d acceleration = 4; @@ -77,14 +80,14 @@ message OsiVehicle // // Origin_base_moving_entity := Rotation_yaw_pitch_roll(#orientation)*(Origin_parent_coordinate_system - #position) // - // \note There may be some constraints how to align the orientation w.r.t. - // to some stationary object's or entity's definition. + // \note There may be some constraints how to align the orientation + //w.r.t. to some stationary object's or entity's definition. // optional Orientation3d orientation = 5; // The relative orientation rate of the moving object w.r.t. its parent - // frame and parent orientation rate in the center point of the bounding box - // (origin of the bounding box frame). + // frame and parent orientation rate in the center point of the bounding + // box (origin of the bounding box frame). // // Rotation_yaw_pitch_roll(#orientation (t)) := Rotation_yaw_pitch_roll(#orientation_rate *dt)*Rotation_yaw_pitch_roll(#orientation (t-dt)) // @@ -92,9 +95,9 @@ message OsiVehicle // optional Orientation3d orientation_rate = 6; - // The relative orientation rate acceleration of the moving object w.r.t. its parent - // frame and parent orientation rate in the center point of the bounding box - // (origin of the bounding box frame). + // The relative orientation rate acceleration of the moving object + // w.r.t. its parent frame and parent orientation rate in the center + // point of the bounding box (origin of the bounding box frame). // // Rotation_yaw_pitch_roll(#orientation (t)) := Rotation_yaw_pitch_roll(#orientation_rate *dt)*Rotation_yaw_pitch_roll(#orientation (t-dt)) // @@ -148,21 +151,22 @@ message OsiVehicle optional Gear gear_gear_lever = 6; // The actual gear of the transmission. - // E.g. gear_lever can be in "D" and transmission in "4", but not the other way around. + // E.g. gear_lever can be in "D" and transmission in "4", but not the + // other way around. // optional Gear gear_transmission = 7; } // // \brief Interface to the vehicle-model. - // The focus here is on the steeringwheel. + // The focus here is on the steering wheel. // - message VehicleSteeringwheel + message VehicleSteeringWheel { // Angle, angle-speed and torque. // See osi_common_extension. // - optional Steeringwheel steeringwheel = 1; + optional SteeringWheel steering_wheel = 1; // Spring-stiffness of the steering in Nm/deg. // @@ -241,7 +245,8 @@ message OsiVehicle // Contains the camber of each wheel. // - // Negative camber if the bottom of the wheel is farther out than the top. + // Negative camber if the bottom of the wheel is farther out than the + // top. // For more information: https://en.wikipedia.org/wiki/Camber_angle. // // Unit: [rad] From f6154b5b88641ffdbbc85fd0c439c94b9c589f50 Mon Sep 17 00:00:00 2001 From: Carlo van Driesten Date: Tue, 28 May 2019 10:09:50 +0200 Subject: [PATCH 15/30] Update osi_adas_function.proto --- osi_adas_function.proto | 2 -- 1 file changed, 2 deletions(-) diff --git a/osi_adas_function.proto b/osi_adas_function.proto index b5097b57b..1b037c0c1 100644 --- a/osi_adas_function.proto +++ b/osi_adas_function.proto @@ -13,12 +13,10 @@ package osi3; // message AdasFunction { - // // States the ADAS-function can set. // optional FunctionStates function_states = 1; - // // Requests of the ADAS-function. // optional FunctionRequests function_requests = 2; From b801ab11414ea59b1557f92493473fe19e03c235 Mon Sep 17 00:00:00 2001 From: Carlo van Driesten Date: Tue, 28 May 2019 10:13:15 +0200 Subject: [PATCH 16/30] added hyperlink to unix_timestamp --- osi_groundtruth.proto | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/osi_groundtruth.proto b/osi_groundtruth.proto index a1bc17040..54e8c58f1 100644 --- a/osi_groundtruth.proto +++ b/osi_groundtruth.proto @@ -51,7 +51,8 @@ message GroundTruth // arbitrary but must be identical for all messages. // Recommendation: Zero time point for start point of the simulation. // - // \note Zero time point does not need to coincide with the UNIX epoch. + // \note Zero time point does not need to coincide with the + // \c #osi3::EnvironmentalConditions::unix_timestamp . // // \note For ground truth data this timestamp coincides both with the // notional simulation time the data applies to and the time it was sent From ed4a2ada8ea6cebaaeb539b889f38e1c7e939cb3 Mon Sep 17 00:00:00 2001 From: Carlo van Driesten Date: Tue, 28 May 2019 10:37:54 +0200 Subject: [PATCH 17/30] Update osi_environment.proto --- osi_environment.proto | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/osi_environment.proto b/osi_environment.proto index f93e6db4e..066f14494 100644 --- a/osi_environment.proto +++ b/osi_environment.proto @@ -70,19 +70,20 @@ message EnvironmentalConditions // optional Fog fog = 7; - // Contains the velocity of the wind (global weather). + // Contains the velocity of the wind. // // Unit: [m/s] // - optional double wind_speed = 8; + optional double wind_speed = 9; - // Contains the direction of the wind (global weather). - // Wind direction is measured in degrees clockwise from due north. - // Like on a windrose. E.g.: A wind blowing from the north has a wind direction of 0 Degree. + // Contains the direction of the wind. + // + // \note Wind direction is measured in degrees clockwise from due north like on a windrose. + // E.g.: A wind blowing from the north has a wind direction of 0 degree. // // Unit: [deg] // - optional double wind_direction = 9; + optional double wind_direction = 10; // Definition of discretized precipitation states according to [1]. // (I = Intensity of precipitation in mm per hour [mm/h]) From 629f72482782cce61512dc34753e39b318ed8a09 Mon Sep 17 00:00:00 2001 From: Ludwig Friedmann <40625995+LudwigFriedmannBMW@users.noreply.github.com> Date: Tue, 28 May 2019 10:49:11 +0200 Subject: [PATCH 18/30] Extended focus from ADAS to driver assistance functions Alter file name and reformulate initial description. --- ...o => osi_driver_assistance_functions.proto | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) rename osi_adas_function.proto => osi_driver_assistance_functions.proto (90%) diff --git a/osi_adas_function.proto b/osi_driver_assistance_functions.proto similarity index 90% rename from osi_adas_function.proto rename to osi_driver_assistance_functions.proto index 1b037c0c1..44f40222b 100644 --- a/osi_adas_function.proto +++ b/osi_driver_assistance_functions.proto @@ -7,24 +7,27 @@ import "osi_common.proto"; package osi3; // -// \brief An Interface to describe the communication of an ADAS-function. -// This proto is in far parts complementary to the osi_driver_inputs.proto. -// The inputs are divided into states and requests. +// \brief An Interface to describe the communication of +// driver assistance functions. // -message AdasFunction +// \note This message is partwise complementary to the \c osi::DriverInputs +// message. It is designed for bidirectional communication of driver assistance +// functions with a simulation environment. Therefore it comprises message +// elements providing both function states and requests. +// +message DriverAssistanceFunctions { - // States the ADAS-function can set. + // Internal states of driver assistance functions. // optional FunctionStates function_states = 1; - // Requests of the ADAS-function. + // (External) requests of driver assistance functions. // optional FunctionRequests function_requests = 2; // - // \brief An Interface to describe the communication of an ADAS-function. - // The first set of signals are states the function sets internally - // and are relevant for the vehicle state. + // \brief Internal states of driver assistance functions. + // // message FunctionStates { From 19afa531bdd3ba1b970db3f7b38a992552499e16 Mon Sep 17 00:00:00 2001 From: RobertMengerBMW Date: Thu, 6 Jun 2019 16:59:05 +0200 Subject: [PATCH 19/30] Added additional values to wheel-struct (#309) --- osi_vehicle.proto | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/osi_vehicle.proto b/osi_vehicle.proto index c2293278c..40968f37d 100644 --- a/osi_vehicle.proto +++ b/osi_vehicle.proto @@ -224,12 +224,12 @@ message OsiVehicle // optional double friction_coefficient = 1; - // Contains the z-coordinate (contact-point) of each wheel. - // Dimensionless. + // Contains the x, y and z-coordinate of the contact point of the wheel, so that walking, torsion and deflation can be visualized. + // relative to the center of the wheel. // - // Unit: [] + // Unit: [m] // - optional double contact_point = 2; + optional Vector3d contact_point = 2; // Contains the rotational speed of each wheel per second. // @@ -264,5 +264,31 @@ message OsiVehicle // Unit: [mm] // optional double springdeflection = 7; + + //Contains the relativ position of the wheel to the center of the car + // + //Unit: [m] + // + optional Vector3d position = 8; + + //Contains the relativ orientation of the wheel to the center of the car + //As the rotation of the wheel is also controlled by this value, + // + //Unit: [rad] + // + optional Orientation3d orientation = 9; + + //Contains the absolute (longitunal) slip of the tire + //0-100 percent + // + //Unit: [] + // + optional double slip = 10; + + //Contains the slip-angle of the tire + // + //Unit: [rad] + // + optional double slipangle = 11; } } From c414b3f92ab06bd096b54bd35694547a38537812 Mon Sep 17 00:00:00 2001 From: ainar Date: Tue, 9 Jul 2019 09:51:04 +0200 Subject: [PATCH 20/30] Spaces and unit correction (#333) --- osi_common.proto | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/osi_common.proto b/osi_common.proto index 2853d6d48..559cb14b3 100644 --- a/osi_common.proto +++ b/osi_common.proto @@ -503,7 +503,7 @@ message Trajectory // // Unit: [rad] // - optional double trackangle = 4; + optional double track_angle = 4; // Contains the curvature at the timestamp. // @@ -511,11 +511,11 @@ message Trajectory // optional double curvature = 5; - // Contains the curvaturechange at the timestamp. + // Contains the curvature change at the timestamp. // - // Unit: [1/m*s] + // Unit: [1/(m*s)] // - optional double curvaturechange = 6; + optional double curvature_change = 6; // Contains the velocity of the vehicle at the timestamp. // From 2b1cfe2f505f83690077ab228893e31a17b2dd07 Mon Sep 17 00:00:00 2001 From: Aina Rasoldier Date: Wed, 10 Jul 2019 13:05:22 +0200 Subject: [PATCH 21/30] update of Gear (->GearLeverState) message clarifying its state and differenciating power train and lever states --- osi_common.proto | 113 ++++++++++++++++++++++------------------ osi_driver_inputs.proto | 4 +- osi_vehicle.proto | 14 ++++- 3 files changed, 76 insertions(+), 55 deletions(-) diff --git a/osi_common.proto b/osi_common.proto index 559cb14b3..ea714968a 100644 --- a/osi_common.proto +++ b/osi_common.proto @@ -549,81 +549,92 @@ message Trajectory // The actual gear of the car. // -enum Gear +message GearLeverState { - // The actual gear was not calculated by the dynamicmodell. + // Current set gear of the gear lever. It is optional if none of these + // conditions is fulfilled: + // - the gear lever controls a manual transmission + // - the gear lever controls an automatic transmission with the manual + // override mode set. // - GEAR_UNKNOWN = 0; - - // The actual gear is 1. - // - GEAR_1 = 1; - - // The actual gear is 2. + // The sign of this field set the gear's mode as following: + // - zero: neutral position + // - positive: driving forward mode + // - negative: reverse mode (generally -1, but some vehicles have several + // reverse mode gears) // - GEAR_2 = 2; + optional integer gear = 0; - // The actual gear is 3. + // This Gear Lever controls an automatic transmission. // - GEAR_3 = 3; + optional bool controls_automatic_transmission = 1; - // The actual gear is 4. + // Transmission mode of an automatic transmission. // - GEAR_4 = 4; - - // The actual gear is 5. + // Optional if the transmission is manual. // - GEAR_5 = 5; + optional AutomaticTransmissionMode automatic_transmission_mode = 2; - // The actual gear is 6. + // The request from the driver to shift gear if the transmission mode is + // MANUAL_OVERRIDE_MODE. // - GEAR_6 = 6; + optional ManualOverrideRequest manual_override_request = 3; - // The actual gear is 7. + // The all-wheel drive (AWD) mode is engaged by the driver. // - GEAR_7 = 7; + optional bool is_all_wheel_drive_engaged = 4; - // The actual gear is 8. + // Describe the possible mode of an automatic transmission. // - GEAR_8 = 8; + enum AutomaticTransmissionMode + { + // The gear lever is in automatic parking mode. + // + PARK_MODE = 0; - // The actual gear is 9. - // - GEAR_9 = 9; + // The gear lever is in reverse motion mode. + // + REVERSE_MODE = 1; - // The car is in idling-mode. - // - GEAR_IDLING = 10; + // The gear lever is in automatic neutral mode. + // + NEUTRAL_MODE = 2; - // The car is in reverse-mode. - // - GEAR_REVERSE = 11; + // The gear lever is in automatic driving mode. + // + DRIVE_MODE = 3; - // The car is in automatic-driving-mode. - // - GEAR_D = 20; + // The gear lever is in a manual override mode. + // + MANUAL_OVERRIDE_MODE = 4; - // The car is in automatic-idling-mode. - // - GEAR_N = 21; + // The gear lever is in a non common mode. + // + OTHER_MODE = 5; - // The car is in automatic-parking-mode. - // - GEAR_P = 22; + // The gear lever's position is unknown. + // + UKNOWN_MODE = 6; + } - // The car has an automatic transmission, but the driver shifts up by his - // own. + // Describe a request for a gear change on automatic transmission vehicle + // with a gear shifter. // - GEAR_UP = 30; + enum ManualOverrideRequest + { + // The driver shifts down on his own. + // + GEAR_DOWN = 0; - // The car has an automatic transmission, but the driver shifts by his own. - // - GEAR_MID = 31; + // The automatic transmission is in manual override mode but the driver + // is not shifting the gear. + // + GEAR_MID = 1; - // The car has an automatic transmission, but the driver shifts down by his - // own. - // - GEAR_DOWN = 32; + // The driver shifts up on his own. + // + GEAR_UP = 2; + } } // diff --git a/osi_driver_inputs.proto b/osi_driver_inputs.proto index 2eb752618..3ab1d7b58 100644 --- a/osi_driver_inputs.proto +++ b/osi_driver_inputs.proto @@ -71,10 +71,10 @@ message DriverInputs // optional double handbrake_position = 8; - // Position of the gear lever. + // State of the gear lever. // See osi_common_extension. // - optional Gear gear_lever = 9; + optional GearLeverState gear_lever_state = 9; } // diff --git a/osi_vehicle.proto b/osi_vehicle.proto index 40968f37d..6e7d483db 100644 --- a/osi_vehicle.proto +++ b/osi_vehicle.proto @@ -148,13 +148,23 @@ message OsiVehicle // The actual gear of the gear lever. // - optional Gear gear_gear_lever = 6; + optional GearLeverState gear_lever_state = 6; // The actual gear of the transmission. // E.g. gear_lever can be in "D" and transmission in "4", but not the // other way around. // - optional Gear gear_transmission = 7; + // The sign of this field is linked to the gear's mode as following: + // - zero: neutral position + // - positive: driving forward mode + // - negative: reverse mode (generally -1, but few vehicles have several + // reverse mode gears) + // + optional integer gear_transmission = 7; + + // The all-wheel drive (AWD) mode is engaged on the powertrain. + // + optional bool is_all_wheel_drive_engaged = 8; } // From cf1047cea2c43cac173fa44c2397ebe8cbd3adb1 Mon Sep 17 00:00:00 2001 From: Aina Rasoldier Date: Thu, 11 Jul 2019 14:26:30 +0200 Subject: [PATCH 22/30] Corrected types and field numbers --- osi_common.proto | 10 +++++----- osi_vehicle.proto | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/osi_common.proto b/osi_common.proto index ea714968a..c711d2d3a 100644 --- a/osi_common.proto +++ b/osi_common.proto @@ -563,26 +563,26 @@ message GearLeverState // - negative: reverse mode (generally -1, but some vehicles have several // reverse mode gears) // - optional integer gear = 0; + optional int32 gear = 1; // This Gear Lever controls an automatic transmission. // - optional bool controls_automatic_transmission = 1; + optional bool controls_automatic_transmission = 2; // Transmission mode of an automatic transmission. // // Optional if the transmission is manual. // - optional AutomaticTransmissionMode automatic_transmission_mode = 2; + optional AutomaticTransmissionMode automatic_transmission_mode = 3; // The request from the driver to shift gear if the transmission mode is // MANUAL_OVERRIDE_MODE. // - optional ManualOverrideRequest manual_override_request = 3; + optional ManualOverrideRequest manual_override_request = 4; // The all-wheel drive (AWD) mode is engaged by the driver. // - optional bool is_all_wheel_drive_engaged = 4; + optional bool is_all_wheel_drive_engaged = 5; // Describe the possible mode of an automatic transmission. // diff --git a/osi_vehicle.proto b/osi_vehicle.proto index 6e7d483db..85a452ba6 100644 --- a/osi_vehicle.proto +++ b/osi_vehicle.proto @@ -138,17 +138,17 @@ message OsiVehicle // // Unit: [l] // - optional double fuel_consumption = 4; + optional double fuel_consumption = 5; // Consumption of electrical or hybrid vehicle per 100 km // // Unit: [kWh] // - optional double electrical_energy_consumption = 5; + optional double electrical_energy_consumption = 6; // The actual gear of the gear lever. // - optional GearLeverState gear_lever_state = 6; + optional GearLeverState gear_lever_state = 7; // The actual gear of the transmission. // E.g. gear_lever can be in "D" and transmission in "4", but not the @@ -160,11 +160,11 @@ message OsiVehicle // - negative: reverse mode (generally -1, but few vehicles have several // reverse mode gears) // - optional integer gear_transmission = 7; + optional int32 gear_transmission = 8; // The all-wheel drive (AWD) mode is engaged on the powertrain. // - optional bool is_all_wheel_drive_engaged = 8; + optional bool is_all_wheel_drive_engaged = 9; } // From 69555f866d41928edf5937edf71d01d4fc0f5a92 Mon Sep 17 00:00:00 2001 From: Carlo van Driesten Date: Thu, 11 Jul 2019 16:54:32 +0200 Subject: [PATCH 23/30] removed spaces --- osi_vehicle.proto | 52 +++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/osi_vehicle.proto b/osi_vehicle.proto index 85a452ba6..0c61d4c24 100644 --- a/osi_vehicle.proto +++ b/osi_vehicle.proto @@ -274,31 +274,31 @@ message OsiVehicle // Unit: [mm] // optional double springdeflection = 7; - - //Contains the relativ position of the wheel to the center of the car - // - //Unit: [m] - // - optional Vector3d position = 8; - - //Contains the relativ orientation of the wheel to the center of the car - //As the rotation of the wheel is also controlled by this value, - // - //Unit: [rad] - // - optional Orientation3d orientation = 9; - - //Contains the absolute (longitunal) slip of the tire - //0-100 percent - // - //Unit: [] - // - optional double slip = 10; - - //Contains the slip-angle of the tire - // - //Unit: [rad] - // - optional double slipangle = 11; + + //Contains the relativ position of the wheel to the center of the car + // + //Unit: [m] + // + optional Vector3d position = 8; + + //Contains the relativ orientation of the wheel to the center of the car + //As the rotation of the wheel is also controlled by this value, + // + //Unit: [rad] + // + optional Orientation3d orientation = 9; + + //Contains the absolute (longitunal) slip of the tire + //0-100 percent + // + //Unit: [] + // + optional double slip = 10; + + //Contains the slip-angle of the tire + // + //Unit: [rad] + // + optional double slipangle = 11; } } From 8aadc3ead10dc25eeb40f4dc57000a44dec100d6 Mon Sep 17 00:00:00 2001 From: Thomas Nader Date: Fri, 12 Jul 2019 09:52:54 +0200 Subject: [PATCH 24/30] Deleted wrong Naming in message OsiVehicle to Vehicle --- osi_vehicle.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osi_vehicle.proto b/osi_vehicle.proto index 0c61d4c24..866e65f54 100644 --- a/osi_vehicle.proto +++ b/osi_vehicle.proto @@ -12,7 +12,7 @@ package osi3; // Consists of four messages: VehicleKinematics, VehiclePowertrain, // VehicleSteeringWheel and VehicleWheels. // -message OsiVehicle +message Vehicle { // // So this is the interface, that describes how the vehicle is moving. From 1fcefc3df52425a5cbd93c41ee93644803310fc2 Mon Sep 17 00:00:00 2001 From: Carlo van Driesten Date: Thu, 8 Aug 2019 14:45:19 +0200 Subject: [PATCH 25/30] Fixed message numbering in osi_environment.proto. Removed tabs --- osi_environment.proto | 4 ++-- osi_vehicle.proto | 52 +++++++++++++++++++++---------------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/osi_environment.proto b/osi_environment.proto index 066f14494..997e7eda4 100644 --- a/osi_environment.proto +++ b/osi_environment.proto @@ -74,7 +74,7 @@ message EnvironmentalConditions // // Unit: [m/s] // - optional double wind_speed = 9; + optional double wind_speed = 8; // Contains the direction of the wind. // @@ -83,7 +83,7 @@ message EnvironmentalConditions // // Unit: [deg] // - optional double wind_direction = 10; + optional double wind_direction = 9; // Definition of discretized precipitation states according to [1]. // (I = Intensity of precipitation in mm per hour [mm/h]) diff --git a/osi_vehicle.proto b/osi_vehicle.proto index 866e65f54..26dc50bcb 100644 --- a/osi_vehicle.proto +++ b/osi_vehicle.proto @@ -274,31 +274,31 @@ message Vehicle // Unit: [mm] // optional double springdeflection = 7; - - //Contains the relativ position of the wheel to the center of the car - // - //Unit: [m] - // - optional Vector3d position = 8; - - //Contains the relativ orientation of the wheel to the center of the car - //As the rotation of the wheel is also controlled by this value, - // - //Unit: [rad] - // - optional Orientation3d orientation = 9; - - //Contains the absolute (longitunal) slip of the tire - //0-100 percent - // - //Unit: [] - // - optional double slip = 10; - - //Contains the slip-angle of the tire - // - //Unit: [rad] - // - optional double slipangle = 11; + + //Contains the relativ position of the wheel to the center of the car + // + //Unit: [m] + // + optional Vector3d position = 8; + + //Contains the relativ orientation of the wheel to the center of the car + //As the rotation of the wheel is also controlled by this value, + // + //Unit: [rad] + // + optional Orientation3d orientation = 9; + + //Contains the absolute (longitunal) slip of the tire + //0-100 percent + // + //Unit: [] + // + optional double slip = 10; + + //Contains the slip-angle of the tire + // + //Unit: [rad] + // + optional double slipangle = 11; } } From 39fb1982936f9d165919e8f2fbb4cd39e1b4f581 Mon Sep 17 00:00:00 2001 From: Carlo van Driesten Date: Thu, 8 Aug 2019 16:06:37 +0200 Subject: [PATCH 26/30] Replaced tabs. Corrected the enums in osi_common.proto --- osi_common.proto | 44 ++++++++++++++++++++++++++++---------------- osi_vehicle.proto | 4 ++-- 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/osi_common.proto b/osi_common.proto index c711d2d3a..fe0064095 100644 --- a/osi_common.proto +++ b/osi_common.proto @@ -537,17 +537,28 @@ message Trajectory // enum InterpolationMethod { + // The interpolation method is unknown (must not be used in ground + // truth). + // + INTERPOLATION_METHOD_UNKNOWN = 0; + + // Other (unspecified but known) interpolation method. + // + INTERPOLATION_METHOD_OTHER = 1; + // Stay on the actual lane. // - INTERPOLATION_METHOD_LINEAR = 0; + INTERPOLATION_METHOD_LINEAR = 2; // Change to the left. // - INTERPOLATION_METHOD_CUBIC = 1; + INTERPOLATION_METHOD_CUBIC = 3; } } -// The actual gear of the car. +// +// \brief The actual gear of the car. +// // message GearLeverState { @@ -588,33 +599,34 @@ message GearLeverState // enum AutomaticTransmissionMode { + // The gear transmission mode is unknown (must not be + // used in ground truth). + // + AUTOMATIC_TRANSMISSION_MODE_UNKNOWN = 0; + + // Other (unspecified but known) transmisson mode. + // + AUTOMATIC_TRANSMISSION_MODE_OTHER = 1; + // The gear lever is in automatic parking mode. // - PARK_MODE = 0; + AUTOMATIC_TRANSMISSION_MODE_PARK = 2; // The gear lever is in reverse motion mode. // - REVERSE_MODE = 1; + AUTOMATIC_TRANSMISSION_MODE_REVERSE = 3; // The gear lever is in automatic neutral mode. // - NEUTRAL_MODE = 2; + AUTOMATIC_TRANSMISSION_MODE_NEUTRAL = 4; // The gear lever is in automatic driving mode. // - DRIVE_MODE = 3; + AUTOMATIC_TRANSMISSION_MODE_DRIVE = 5; // The gear lever is in a manual override mode. // - MANUAL_OVERRIDE_MODE = 4; - - // The gear lever is in a non common mode. - // - OTHER_MODE = 5; - - // The gear lever's position is unknown. - // - UKNOWN_MODE = 6; + AUTOMATIC_TRANSMISSION_MODE_MANUAL_OVERRIDE = 6; } // Describe a request for a gear change on automatic transmission vehicle diff --git a/osi_vehicle.proto b/osi_vehicle.proto index 26dc50bcb..cc8a991e8 100644 --- a/osi_vehicle.proto +++ b/osi_vehicle.proto @@ -274,7 +274,7 @@ message Vehicle // Unit: [mm] // optional double springdeflection = 7; - + //Contains the relativ position of the wheel to the center of the car // //Unit: [m] @@ -301,4 +301,4 @@ message Vehicle // optional double slipangle = 11; } -} +} \ No newline at end of file From f29bed3cb05bac5b4f951514e46cd338451f89ae Mon Sep 17 00:00:00 2001 From: Carlo van Driesten Date: Thu, 8 Aug 2019 16:11:29 +0200 Subject: [PATCH 27/30] Fix enums. Fix numbering in osi_environment.proto --- osi_common.proto | 19 ++++++++++++++----- osi_environment.proto | 4 ++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/osi_common.proto b/osi_common.proto index fe0064095..4149d5646 100644 --- a/osi_common.proto +++ b/osi_common.proto @@ -634,18 +634,27 @@ message GearLeverState // enum ManualOverrideRequest { + // The manual override request is unknown (must not be + // used in ground truth). + // + MANUAL_OVERRIDE_REQUEST_UNKNOWN = 0; + + // Other (unspecified but known) manual override request. + // + MANUAL_OVERRIDE_REQUEST_OTHER = 1; + // The driver shifts down on his own. // - GEAR_DOWN = 0; + MANUAL_OVERRIDE_REQUEST_GEAR_DOWN = 2; - // The automatic transmission is in manual override mode but the driver - // is not shifting the gear. + // The automatic transmission is in manual override mode + // but the driver is not shifting the gear. // - GEAR_MID = 1; + MANUAL_OVERRIDE_REQUEST_GEAR_MID = 3; // The driver shifts up on his own. // - GEAR_UP = 2; + MANUAL_OVERRIDE_REQUEST_GEAR_UP = 4; } } diff --git a/osi_environment.proto b/osi_environment.proto index 997e7eda4..066f14494 100644 --- a/osi_environment.proto +++ b/osi_environment.proto @@ -74,7 +74,7 @@ message EnvironmentalConditions // // Unit: [m/s] // - optional double wind_speed = 8; + optional double wind_speed = 9; // Contains the direction of the wind. // @@ -83,7 +83,7 @@ message EnvironmentalConditions // // Unit: [deg] // - optional double wind_direction = 9; + optional double wind_direction = 10; // Definition of discretized precipitation states according to [1]. // (I = Intensity of precipitation in mm per hour [mm/h]) From f78b9598dcbb5a320943203befa3f55eb4e7c904 Mon Sep 17 00:00:00 2001 From: Carlo van Driesten Date: Thu, 8 Aug 2019 16:17:14 +0200 Subject: [PATCH 28/30] Added newline at the end of osi_vehicle.proto --- osi_vehicle.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osi_vehicle.proto b/osi_vehicle.proto index cc8a991e8..e577c5b9e 100644 --- a/osi_vehicle.proto +++ b/osi_vehicle.proto @@ -301,4 +301,4 @@ message Vehicle // optional double slipangle = 11; } -} \ No newline at end of file +} From ce0919d69f2d82685c1ae9700fc933fdecc7abcc Mon Sep 17 00:00:00 2001 From: "Schloemicher, Thomas AVL,AT" Date: Sat, 19 Oct 2019 16:59:22 +0200 Subject: [PATCH 29/30] bugfix setup.py and osi_driver_inputs.proto --- osi_driver_inputs.proto | 2 +- setup.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/osi_driver_inputs.proto b/osi_driver_inputs.proto index 3ab1d7b58..b033faa78 100644 --- a/osi_driver_inputs.proto +++ b/osi_driver_inputs.proto @@ -3,7 +3,7 @@ syntax = "proto2"; option optimize_for = SPEED; import "osi_common.proto"; -import "osi_adas_function.proto"; +import "osi_driver_assistance_functions.proto"; package osi3; diff --git a/setup.py b/setup.py index 03057e679..45b1f740d 100644 --- a/setup.py +++ b/setup.py @@ -67,7 +67,10 @@ def find_protoc(): 'osi_sensordata.proto', 'osi_sensorviewconfiguration.proto', 'osi_sensorspecific.proto', - 'osi_sensorview.proto') + 'osi_sensorview.proto', + 'osi_vehicle.proto', + 'osi_driver_assistance_functions.proto', + 'osi_driver_inputs.proto') """ Generate Protobuf Messages """ From bd8c15c06a2022bac30f7069beabe1e4d2d739a3 Mon Sep 17 00:00:00 2001 From: Carlo van Driesten Date: Tue, 22 Oct 2019 11:53:09 +0200 Subject: [PATCH 30/30] remove forbidden tabs --- setup.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 45b1f740d..1d327ec75 100644 --- a/setup.py +++ b/setup.py @@ -68,9 +68,9 @@ def find_protoc(): 'osi_sensorviewconfiguration.proto', 'osi_sensorspecific.proto', 'osi_sensorview.proto', - 'osi_vehicle.proto', - 'osi_driver_assistance_functions.proto', - 'osi_driver_inputs.proto') + 'osi_vehicle.proto', + 'osi_driver_assistance_functions.proto', + 'osi_driver_inputs.proto') """ Generate Protobuf Messages """