From 9aa82a1dfbe7d9d53a3c33b314299a719aa0d9ed Mon Sep 17 00:00:00 2001 From: Markus Waldmann Date: Mon, 6 Sep 2021 15:16:57 +0200 Subject: [PATCH 1/7] feature/Issue #544 Extend: Added OpenSCENARIO Enviromental conditions to OSI --- osi_environment.proto | 123 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 122 insertions(+), 1 deletion(-) diff --git a/osi_environment.proto b/osi_environment.proto index 5aafe2cac..3a8c0702f 100644 --- a/osi_environment.proto +++ b/osi_environment.proto @@ -84,10 +84,43 @@ message EnvironmentalConditions // optional Precipitation precipitation = 6; + // Description of the precipitation with intensity and the type + // + message precipitation_enhanced + { + // The intensity of the precipitation (valid for all precipitation types). Unit [mm/h]. Range [0...inf[ + // According to OpenScenario 1.1 + // + optional Precipitation intensity = 1; + + // Type of the precipitation. + // + optional PrecipitationType type = 2; + } + // Description of the fog. // optional Fog fog = 7; - + + // \brief Defines fog at simulation runtime + // + // \note Described by the density of the fog, the visual range and the predefined bounding box + // + message fog_enhanced + { + // Description of the density of the fog. + // + optional Fog density = 1; + + // Defines the possible visible range \c Unit: m; Range: [0..inf[. + // + optional double visualRange = 2; + + // Dimensions and center of fog in fixed coordinates. + // TODO: osi_object.proto ??? + optional bool boundingBox = 3; + } + // Optional external reference to the environmental condition sources. // // \note For OpenDRIVE and OpenSECNARIO there is no direct counterpart. @@ -101,6 +134,23 @@ message EnvironmentalConditions // repeated ExternalReference source_reference = 9; + // Defines a precipitation by type and value of a weather. + // + enum PrecipitationType + { + // No precipitation. + // + PRECIPITATION_TYPE_DRY = 0; + + // Rain. + // + PRECIPITATION_TYPE_RAIN = 1; + + // Snow. + // + PRECIPITATION_TYPE_SNOW = 2; + } + // Definition of discretized precipitation states according to [1]. // (I = Intensity of precipitation in mm per hour mm/h) // @@ -299,6 +349,23 @@ message EnvironmentalConditions AMBIENT_ILLUMINATION_LEVEL9 = 10; } + // \brief Defines wind properties. + // + // \note Describes the wind speed and direction from OpenScenario 1.1 + // + message Wind + { + // The target direction of the wind (not the origin direction) in the ground/xy-plane of the \c + // world coordinate system. Corresponds to the heading/yaw angle. \c + // x-axis-direction is 0 rad. Unit [rad]. Range [0...2 pi[ + // + optional double direction = 1; + + // The wind speed. Unit [m/s]. Range [0...inf[ + // + optional double speed = 2; + } + // // \brief The time of day at a specified location. // @@ -324,4 +391,58 @@ message EnvironmentalConditions // optional uint32 seconds_since_midnight = 1; } + + // + // \brief Specification of sun properties. + // + // \note Defines the specification of the \c sun properties according to OpenScenario 1.1 + // + message Sun + { + // Azimuth of the sun, counted counterclockwise, 0=north, PI/2 = east, PI=south, 3/2 PI=west. Unit: radian; Range: [0..2PI]. + // + optional double azimuth = 1; + + // Solar elevation angle, 0=x/y plane, PI/2=zenith. Unit: rad; Range: [-PI..PI]. + // + optional double elevation = 2; + + // Illuminance of the sun, direct sunlight is around 100,00 lx. Unit: lux; Range: [0..inf[. + // + optional double intensity = 3; + } + + // Definition of the cloud state, i.e. cloud state and sky visualization settings. + enum CloudState + { + // Cloudy. There are more clouds than sunshine. + // + CLOUD_STATE_CLOUDY = 0; + + // Cloud free conditions. + // + CLOUD_STATE_FREE = 1; + + // Overcast sky. Dull and gray looking. + // + CLOUD_STATE_OVERCAST = 2; + + // Rain clouds. + // + CLOUD_STATE_RAINY = 3; + + // Turns off the sky visualization. + // + CLOUD_STATE_SKYOFF = 4; + } + + // + // \brief Definition of cloud states. + // + // \note Defines the cloud states according to OpenScenario 1.1 + // + optional CloudState cloudstate = 10; + + + } From 03852e1d75c1eadec13a37b1a1e461576bac0076 Mon Sep 17 00:00:00 2001 From: Markus Waldmann Date: Mon, 13 Sep 2021 15:17:52 +0200 Subject: [PATCH 2/7] feature/Issue #577 and #578 Extend: Added OpenSCENARIO Enviromental conditions to OSI and changed emuns to double values --- osi_environment.proto | 291 ++++++++++++++++++++++++++---------------- 1 file changed, 180 insertions(+), 111 deletions(-) diff --git a/osi_environment.proto b/osi_environment.proto index 3a8c0702f..58fb42ff3 100644 --- a/osi_environment.proto +++ b/osi_environment.proto @@ -22,25 +22,6 @@ message EnvironmentalConditions // The time of day at the host vehicles location. // optional TimeOfDay time_of_day = 2; - - // The Unix epoch (or Unix time or POSIX time or Unix timestamp) is - // the number of seconds that have elapsed since January 1, 1970 - // (midnight UTC/GMT [1]), not counting leap seconds [2]. - // Historically, the origin of UNIX system time was referred to as - // "00:00:00 GMT, January 1, 1970" [2]. Literally speaking the epoch - // is Unix time 0 (midnight 1/1/1970), but 'epoch' is often used as - // a synonym for 'Unix time'. Many Unix systems store epoch dates as - // a signed 32-bit integer, which might cause problems on January 19, - // 2038 (known as the Year 2038 problem or Y2038). - // - // \note You can convert the timestamp using the following [routines - // sorted by languages](https://www.epochconverter.com/#code). - // - // \par References: - // [1] ITU Radiocommunication Assembly. (2002). Recommondation ITU-R TF.460-6 Standard-frequency and time-signal emissions. (Rec. ITU-R TF.460-6). Retrieved January 25, 2020, from http://www.itu.int/dms_pubrec/itu-r/rec/tf/R-REC-TF.460-6-200202-I!!PDF-E.pdf \n - // [2] The Open Group. (2018). POSIX.1-2017 The Open Group Base Specifications Issue 7, 2018 edition. IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008). Retrieved January 25, 2020, from https://pubs.opengroup.org/onlinepubs/9699919799/xrat/contents.html - // - optional int64 unix_timestamp = 8; // Atmospheric pressure in Pascal at z=0.0 in world frame (about 101325 // Pa). @@ -84,55 +65,186 @@ message EnvironmentalConditions // optional Precipitation precipitation = 6; + // Description of the fog. + // It is not completely clear yet where and how to apply the new message and how to manage the transition to complement or replace existing Fog enums. + // + // Fog enums could be complemented (short-term) or replaced (long-term) with the new FogDescription. + // The name of the message (FogExtended) is still under discussion. + // + optional Fog fog = 7; + + // The Unix epoch (or Unix time or POSIX time or Unix timestamp) is + // the number of seconds that have elapsed since January 1, 1970 + // (midnight UTC/GMT [1]), not counting leap seconds [2]. + // Historically, the origin of UNIX system time was referred to as + // "00:00:00 GMT, January 1, 1970" [2]. Literally speaking the epoch + // is Unix time 0 (midnight 1/1/1970), but 'epoch' is often used as + // a synonym for 'Unix time'. Many Unix systems store epoch dates as + // a signed 32-bit integer, which might cause problems on January 19, + // 2038 (known as the Year 2038 problem or Y2038). + // + // \note You can convert the timestamp using the following [routines + // sorted by languages](https://www.epochconverter.com/#code). + // + // \par References: + // [1] ITU Radiocommunication Assembly. (2002). Recommondation ITU-R TF.460-6 Standard-frequency and time-signal emissions. (Rec. ITU-R TF.460-6). Retrieved January 25, 2020, from http://www.itu.int/dms_pubrec/itu-r/rec/tf/R-REC-TF.460-6-200202-I!!PDF-E.pdf \n + // [2] The Open Group. (2018). POSIX.1-2017 The Open Group Base Specifications Issue 7, 2018 edition. IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008). Retrieved January 25, 2020, from https://pubs.opengroup.org/onlinepubs/9699919799/xrat/contents.html + // + optional int64 unix_timestamp = 8; + + // Optional external reference to the environmental condition sources. + // + // \note For OpenDRIVE and OpenSECNARIO there is no direct counterpart. + // + // \note For non-ASAM standards, it is implementation-specific how + // source_reference is resolved. + // + // \note The value has to be repeated because one object may be derived + // from more than one origin source, for example, from a scenario file + // and from sensors. + // + repeated ExternalReference source_reference = 9; + + // + // \brief Definition of cloud states. + // + // \note Defines the cloud states according to OpenScenario 1.1 + // + optional CloudState cloudstate = 10; + + // Definition of ambient illumination in lux [lx]: + // Ambient light is any light in the vehicle's environment that is not + // emitted by the vehicle itself. It can include sun/moon light, light from + // other cars, street lights etc. + // + // lx ("lux") is the SI unit of luminance or illumination of an area of exact + // one square meter, which is equal to one lumen per square meter 1 lx = + // 1 lm/m^2 [1]. + // lm ("lumen") is the SI derived unit of luminous flux and a measure of + // the total quantity of visible light emitted by a source. The lumen is + // defined in relation to cd ("candela") as 1 lm = 1 cd sr, where sr + // denotes steradian, the unit of solid angle used in 3D geometry analogous + // to the radian [1]. + // + // \par References: + // [1] DIN Deutsches Institut fuer Normung e. V. (1982). DIN 5031-3 Strahlungsphysik im optischen Bereich und Lichttechnik - Groessen, Formelzeichen und Einheiten der Lichttechnik. (DIN 5031-3:1982-03). Berlin, Germany. \n + // + optional double ambient_illumination_extended = 11; + + // ----------------------------------------------------------------------------------------------------------------- + + // \brief Defines wind properties. + // + // \note Describes the wind speed and direction from OpenScenario 1.1 + // + message Wind + { + // The target direction of the wind (not the origin direction) in the ground/xy-plane of the \c + // world coordinate system. Corresponds to the heading/yaw angle. \c + // x-axis-direction is 0 rad. Unit [rad]. Range [0...2 pi[ + // + optional double direction = 1; + + // The wind speed. Unit [m/s]. Range [0...inf[ + // + optional double speed = 2; + } + + // + // \brief The time of day at a specified location. + // + // \note In general the global position of the parent frame should be + // obtainable in order to derive the local time. + // This information can be calculated from the \c #unix_timestamp in + // combination with \c #osi3::GroundTruth::proj_string and the position of + // the corresponding \c #osi3::BaseStationary or \c #osi3::BaseMoving . + // + message TimeOfDay + { + // The number of seconds in s that have passed since midnight local time. + // Used e.g. for determining the current state of the circadian rhythm + // of a driver. + // + // \note No changes of daylight saving time or time zones are + // considered. + // + // \rules + // is_greater_than_or_equal_to: 0 + // is_less_than: 86400 + // \endrules + // + optional uint32 seconds_since_midnight = 1; + } + + // + // \brief Specification of sun properties. + // + // \note Defines the specification of the \c sun properties according to OpenScenario 1.1 + // + message Sun + { + // Azimuth of the sun, counted counterclockwise, 0=north, PI/2 = east, PI=south, 3/2 PI=west. Unit: radian; Range: [0..2PI]. + // + optional double azimuth = 1; + + // Solar elevation angle, 0=x/y plane, PI/2=zenith. Unit: rad; Range: [-PI..PI]. + // + optional double elevation = 2; + + // Illuminance of the sun, direct sunlight is around 100,00 lx. Unit: lux; Range: [0..inf[. + // + optional double intensity = 3; + } + // Description of the precipitation with intensity and the type // message precipitation_enhanced { // The intensity of the precipitation (valid for all precipitation types). Unit [mm/h]. Range [0...inf[ - // According to OpenScenario 1.1 + // According to OpenScenario 1.1 and according to the context of ISO 2315 // - optional Precipitation intensity = 1; + optional double intensity = 1; // Type of the precipitation. // optional PrecipitationType type = 2; } - // Description of the fog. - // - optional Fog fog = 7; - // \brief Defines fog at simulation runtime // // \note Described by the density of the fog, the visual range and the predefined bounding box // message fog_enhanced { - // Description of the density of the fog. + // Definition of discretized fog states according to [1]. + // The bandwidth of thick and dense fog was adjusted to fit the German StVO + // regarding rear fog lights [2, 3]. + // (V = Visibility in m) // - optional Fog density = 1; + // Visibility is defined as the length of the atmosphere over which a beam + // of light travels before its luminous flux is reduced to 5% of its + // original value (definition used by the Meteorological Office [4]). + // This is approximately equivalent to visibility measured in terms of the + // contrast of a distant object against its background. + // + // \par References: + // [1] Shepard, F. D. (1996). Reduced visibility due to fog on the highway. Transportation Research Board, National Research Council (Ed.). National Academy Press. Washington, D.C., USA. ISBN 0-309-06006-0. \n + // [2] Strassenverkehrs-Ordnung (StVO) as of dated March 06, 2013 (BGBl. I S. 367), lastly changed by article 4a of the order from June 06, 2019 (BGBl. I S. 756). \n + // [3] stvo.de. (2013, April 01). StVO Par. 17 Beleuchtung. Retrieved January 25, 2020, from https://www.stvo.de/strassenverkehrsordnung/101-17-beleuchtung \n + // [4] Meteorological Office UK. (2020). Homepage of the Meteorological Office - How we measure visibility. Retrieved January 25, 2020, from http://www.metoffice.gov.uk/guide/weather/observations-guide/how-we-measure-visibility + // + optional double density = 1; // Defines the possible visible range \c Unit: m; Range: [0..inf[. // optional double visualRange = 2; // Dimensions and center of fog in fixed coordinates. - // TODO: osi_object.proto ??? - optional bool boundingBox = 3; + // + optional BaseStationary boundingBox = 3; } - // Optional external reference to the environmental condition sources. - // - // \note For OpenDRIVE and OpenSECNARIO there is no direct counterpart. - // - // \note For non-ASAM standards, it is implementation-specific how - // source_reference is resolved. - // - // \note The value has to be repeated because one object may be derived - // from more than one origin source, for example, from a scenario file - // and from sensors. - // - repeated ExternalReference source_reference = 9; + // ----------------------------------------------------------------------------------------------------------------- // Defines a precipitation by type and value of a weather. // @@ -146,9 +258,17 @@ message EnvironmentalConditions // PRECIPITATION_TYPE_RAIN = 1; + // Hail. + // + PRECIPITATION_TYPE_HAIL = 2; + // Snow. // - PRECIPITATION_TYPE_SNOW = 2; + PRECIPITATION_TYPE_SNOW = 3; + + // Sleet. + // + PRECIPITATION_TYPE_SLEET = 4; } // Definition of discretized precipitation states according to [1]. @@ -349,72 +469,31 @@ message EnvironmentalConditions AMBIENT_ILLUMINATION_LEVEL9 = 10; } - // \brief Defines wind properties. - // - // \note Describes the wind speed and direction from OpenScenario 1.1 - // - message Wind - { - // The target direction of the wind (not the origin direction) in the ground/xy-plane of the \c - // world coordinate system. Corresponds to the heading/yaw angle. \c - // x-axis-direction is 0 rad. Unit [rad]. Range [0...2 pi[ - // - optional double direction = 1; - - // The wind speed. Unit [m/s]. Range [0...inf[ - // - optional double speed = 2; - } - + // Definition of the cloud state, i.e. cloud state and sky visualization settings. // - // \brief The time of day at a specified location. + // Ref.: https://www.dwd.de/DE/service/lexikon/Functions/glossar.html?lv2=100932&lv3=101016 // - // \note In general the global position of the parent frame should be - // obtainable in order to derive the local time. - // This information can be calculated from the \c #unix_timestamp in - // combination with \c #osi3::GroundTruth::proj_string and the position of - // the corresponding \c #osi3::BaseStationary or \c #osi3::BaseMoving . - // - message TimeOfDay - { - // The number of seconds in s that have passed since midnight local time. - // Used e.g. for determining the current state of the circadian rhythm - // of a driver. - // - // \note No changes of daylight saving time or time zones are - // considered. - // - // \rules - // is_greater_than_or_equal_to: 0 - // is_less_than: 86400 - // \endrules - // - optional uint32 seconds_since_midnight = 1; - } - + // The total degree of coverage indicates how large the part of the sky vault is which is covered + // with clouds altogether. It is given in eighths, because this division is easier to estimate + // for the observer. 0 eighths means that there are no traces of clouds in the sky, + // 4 eighths means that the sky is covered with clouds up to half, 8 eighths means that the sky is + // completely covered with clouds and no sky blue can be recognized. // - // \brief Specification of sun properties. + // For cloud determination, the observer will choose a location from which he can overlook the entire sky. + // When determining the total cloud cover, all clouds or parts of clouds, regardless of height and genus, + // that are above his location will be added. Aircraft contrails are also counted as cloud cover if they remain + // in the sky for more than 15 minutes. On the other hand, fog is not counted as cloud cover. // - // \note Defines the specification of the \c sun properties according to OpenScenario 1.1 + // With a little practice, the observer can easily determine the total amount of cloud cover. + // Problems occur only with scattered clouds or many single clouds (cumulus). + // Their cloud cover is often overestimated. On the other hand, + // the coverage of thin ice clouds (cirrus) is often underestimated. // - message Sun - { - // Azimuth of the sun, counted counterclockwise, 0=north, PI/2 = east, PI=south, 3/2 PI=west. Unit: radian; Range: [0..2PI]. - // - optional double azimuth = 1; - - // Solar elevation angle, 0=x/y plane, PI/2=zenith. Unit: rad; Range: [-PI..PI]. - // - optional double elevation = 2; - - // Illuminance of the sun, direct sunlight is around 100,00 lx. Unit: lux; Range: [0..inf[. - // - optional double intensity = 3; - } - - // Definition of the cloud state, i.e. cloud state and sky visualization settings. enum CloudState { + // TODO: Check if https://www.dwd.de/DE/service/lexikon/Functions/glossar.html?lv2=100932&lv3=101016 + // the accuracy is acceptable + // Cloudy. There are more clouds than sunshine. // CLOUD_STATE_CLOUDY = 0; @@ -435,14 +514,4 @@ message EnvironmentalConditions // CLOUD_STATE_SKYOFF = 4; } - - // - // \brief Definition of cloud states. - // - // \note Defines the cloud states according to OpenScenario 1.1 - // - optional CloudState cloudstate = 10; - - - } From 872bd77d6fea91015896280ad412b0cb53956db9 Mon Sep 17 00:00:00 2001 From: Markus Waldmann Date: Mon, 20 Sep 2021 14:18:03 +0200 Subject: [PATCH 3/7] feature/Issue #577 and #578 Extend: Corrected to OSI convention -signoff --- osi_environment.proto | 50 +++++++++++++++++++++++++++++-------------- 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/osi_environment.proto b/osi_environment.proto index 58fb42ff3..781b2c53a 100644 --- a/osi_environment.proto +++ b/osi_environment.proto @@ -110,7 +110,7 @@ message EnvironmentalConditions // // \note Defines the cloud states according to OpenScenario 1.1 // - optional CloudState cloudstate = 10; + optional CloudState cloud_state = 10; // Definition of ambient illumination in lux [lx]: // Ambient light is any light in the vehicle's environment that is not @@ -198,7 +198,7 @@ message EnvironmentalConditions // Description of the precipitation with intensity and the type // - message precipitation_enhanced + message PrecipitationExtended { // The intensity of the precipitation (valid for all precipitation types). Unit [mm/h]. Range [0...inf[ // According to OpenScenario 1.1 and according to the context of ISO 2315 @@ -214,7 +214,7 @@ message EnvironmentalConditions // // \note Described by the density of the fog, the visual range and the predefined bounding box // - message fog_enhanced + message FogExtended { // Definition of discretized fog states according to [1]. // The bandwidth of thick and dense fog was adjusted to fit the German StVO @@ -237,11 +237,11 @@ message EnvironmentalConditions // Defines the possible visible range \c Unit: m; Range: [0..inf[. // - optional double visualRange = 2; + optional double visual_range = 2; // Dimensions and center of fog in fixed coordinates. // - optional BaseStationary boundingBox = 3; + optional BaseStationary bounding_box = 3; } // ----------------------------------------------------------------------------------------------------------------- @@ -250,25 +250,34 @@ message EnvironmentalConditions // enum PrecipitationType { + // Intensity of precipitation is unknown (must not be used in ground + // truth). + // + PRECIPITATION_TYPE_UNKNOWN = 0; + + // Other (unspecified but known) intensity of precipitation. + // + PRECIPITATION_TYPE_OTHER = 1; + // No precipitation. // - PRECIPITATION_TYPE_DRY = 0; + PRECIPITATION_TYPE_DRY = 2; // Rain. // - PRECIPITATION_TYPE_RAIN = 1; + PRECIPITATION_TYPE_RAIN = 3; // Hail. // - PRECIPITATION_TYPE_HAIL = 2; + PRECIPITATION_TYPE_HAIL = 4; // Snow. // - PRECIPITATION_TYPE_SNOW = 3; + PRECIPITATION_TYPE_SNOW = 5; // Sleet. // - PRECIPITATION_TYPE_SLEET = 4; + PRECIPITATION_TYPE_SLEET = 6; } // Definition of discretized precipitation states according to [1]. @@ -492,26 +501,35 @@ message EnvironmentalConditions enum CloudState { // TODO: Check if https://www.dwd.de/DE/service/lexikon/Functions/glossar.html?lv2=100932&lv3=101016 - // the accuracy is acceptable + // TODO: the accuracy is acceptable + // TODO: Check with Sensor Group + + // Cloud State is unknown (must not be used in ground truth). + // + CLOUD_STATE_UNKNOWN = 0; + + // Other (unspecified but known) CloudState. + // + CLOUD_STATE_OTHER = 1; // Cloudy. There are more clouds than sunshine. // - CLOUD_STATE_CLOUDY = 0; + CLOUD_STATE_CLOUDY = 2; // Cloud free conditions. // - CLOUD_STATE_FREE = 1; + CLOUD_STATE_FREE = 3; // Overcast sky. Dull and gray looking. // - CLOUD_STATE_OVERCAST = 2; + CLOUD_STATE_OVERCAST = 4; // Rain clouds. // - CLOUD_STATE_RAINY = 3; + CLOUD_STATE_RAINY = 5; // Turns off the sky visualization. // - CLOUD_STATE_SKYOFF = 4; + CLOUD_STATE_SKYOFF = 6; } } From 9cbee3f53e7c9fbe53e53ec4eb2e084ecb57727c Mon Sep 17 00:00:00 2001 From: Markus P <63288980+m-pauly@users.noreply.github.com> Date: Tue, 21 Sep 2021 16:00:40 +0200 Subject: [PATCH 4/7] =?UTF-8?q?Change=20of=20Cloudstate-Description=20#577?= =?UTF-8?q?=20#578=20=E2=80=93signoff?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- osi_environment.proto | 46 +++++++++++++++++++++++++++++++------------ 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/osi_environment.proto b/osi_environment.proto index 781b2c53a..12391f102 100644 --- a/osi_environment.proto +++ b/osi_environment.proto @@ -480,7 +480,9 @@ message EnvironmentalConditions // Definition of the cloud state, i.e. cloud state and sky visualization settings. // - // Ref.: https://www.dwd.de/DE/service/lexikon/Functions/glossar.html?lv2=100932&lv3=101016 + //\par References: + // [1] ISO 15469:2004(E) / CIE S 011/E:2003 : Spatial distribution of skylight + // [2] https://de.wikipedia.org/wiki/Bewölkung // // The total degree of coverage indicates how large the part of the sky vault is which is covered // with clouds altogether. It is given in eighths, because this division is easier to estimate @@ -500,8 +502,6 @@ message EnvironmentalConditions // enum CloudState { - // TODO: Check if https://www.dwd.de/DE/service/lexikon/Functions/glossar.html?lv2=100932&lv3=101016 - // TODO: the accuracy is acceptable // TODO: Check with Sensor Group // Cloud State is unknown (must not be used in ground truth). @@ -512,24 +512,44 @@ message EnvironmentalConditions // CLOUD_STATE_OTHER = 1; - // Cloudy. There are more clouds than sunshine. + // Cloudless (0/8) // - CLOUD_STATE_CLOUDY = 2; + CLOUD_STATE_CLOUDLESS = 2; - // Cloud free conditions. + // Sunny (1/8) // - CLOUD_STATE_FREE = 3; + CLOUD_STATE_SUNNY = 3; - // Overcast sky. Dull and gray looking. + // Serene (2/8)) // - CLOUD_STATE_OVERCAST = 4; + CLOUD_STATE_SERENE = 4; - // Rain clouds. + // Slightly Cloudy (3/8) // - CLOUD_STATE_RAINY = 5; + CLOUD_STATE_SLIGHTLYCLOUDY = 5; - // Turns off the sky visualization. + // Light Cloudy (4/8) // - CLOUD_STATE_SKYOFF = 6; + CLOUD_STATE_LIGHTCLOUDY = 6; + + // Cloudy (5/8) + // + CLOUD_STATE_CLOUDY = 7; + + // Heavy Cloudy (6/8) + // + CLOUD_STATE_HEAVYCLOUDY = 8; + + // Almost Covered (7/8) + // + CLOUD_STATE_ALMOSTCOVERED = 9; + + // Covered (8/8) + // + CLOUD_STATE_COVERED = 10; + + // No Sky (9/8) + // + CLOUD_STATE_NOSKY = 11; } } From 24930ead2295436fc93cc5f849de093bae15e35b Mon Sep 17 00:00:00 2001 From: Markus Waldmann Date: Tue, 28 Sep 2021 15:57:44 +0200 Subject: [PATCH 5/7] Todo's from Meeting included --- osi_environment.proto | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/osi_environment.proto b/osi_environment.proto index 12391f102..a8edaa7c1 100644 --- a/osi_environment.proto +++ b/osi_environment.proto @@ -198,6 +198,11 @@ message EnvironmentalConditions // Description of the precipitation with intensity and the type // + // TODO: Mixed types - repeated (relativer Anteil) 1) or + // TODO: Prozentualer Anteil 2) + // TODO: Distribution Marschall-Palmer, Ulbricht - SNOW? + // TODO: Bounding Box! + // TODO: https://github.com/jruebsam/open-simulation-interface/blob/255_environmental_conditions/osi_environment.proto message PrecipitationExtended { // The intensity of the precipitation (valid for all precipitation types). Unit [mm/h]. Range [0...inf[ @@ -239,7 +244,7 @@ message EnvironmentalConditions // optional double visual_range = 2; - // Dimensions and center of fog in fixed coordinates. + // Dimensions and center of fog in fixed world coordinates. // optional BaseStationary bounding_box = 3; } @@ -503,6 +508,7 @@ message EnvironmentalConditions enum CloudState { // TODO: Check with Sensor Group + // TODO: https://de.wikipedia.org/wiki/Bew%C3%B6lkung // Cloud State is unknown (must not be used in ground truth). // From 269a0b22406799c7310c1b9d1b4bc8cdc514641b Mon Sep 17 00:00:00 2001 From: Markus Waldmann Date: Wed, 13 Oct 2021 11:33:51 +0200 Subject: [PATCH 6/7] Added FogMist and changed Precipitation to repeated --- osi_environment.proto | 391 +++++++++++------------------------------- 1 file changed, 103 insertions(+), 288 deletions(-) diff --git a/osi_environment.proto b/osi_environment.proto index a8edaa7c1..684497063 100644 --- a/osi_environment.proto +++ b/osi_environment.proto @@ -15,9 +15,31 @@ package osi3; // message EnvironmentalConditions { - // The ambient illumination of the environment. // - optional AmbientIllumination ambient_illumination = 1; + // \brief Ambient light is any light in the vehicle's environment that is not + // emitted by the vehicle itself. It can include sun/moon light, light from + // other cars, street lights etc. + // + // \note lx ("lux") is the SI unit of luminance or illumination of an area of exact + // one square meter, which is equal to one lumen per square meter 1 lx = + // 1 lm/m^2 [1]. + // lm ("lumen") is the SI derived unit of luminous flux and a measure of + // the total quantity of visible light emitted by a source. The lumen is + // defined in relation to cd ("candela") as 1 lm = 1 cd sr, where sr + // denotes steradian, the unit of solid angle used in 3D geometry analogous + // to the radian [1]. + // + // Categorization is done based on natural day/night time illuminance levels + // [2] and standards for required lighting levels on roads [2, 3, 4, 5]. + // + // \par References: + // [1] DIN Deutsches Institut fuer Normung e. V. (1982). DIN 5031-3 Strahlungsphysik im optischen Bereich und Lichttechnik - Groessen, Formelzeichen und Einheiten der Lichttechnik. (DIN 5031-3:1982-03). Berlin, Germany. \n + // [2] National Optical Astronomy Observatory. (2015, December 02). Recommended Light Levels. Retrieved January 25, 2020, from https://www.noao.edu/education/QLTkit/ACTIVITY_Documents/Safety/LightLevels_outdoor+indoor.pdf \n + // [3] Wang, Y. & Zou, Y., (2016, March). Study on Illumination for State Highways. Washington State Department of Transportation. Retrieved January 25, 2020, from http://www.wsdot.wa.gov/research/reports/fullreports/847.1.pdf \n + // [4] Laperriere, A. (2011, May). LED street lighting in the municipality of Saint-Gedeon-de-Beauce within the framework of advanced lighting technologies. Retrieved January 25, 2020, from http://sslnet.ca/wp-content/uploads/2011/10/LTE-RT-2011-0076-Anglais.pdf \n + // [5] Crabb, G. I., Beaumont, R. & Webster, D. (2008, October 17). Review of the class and quality of street lighting. Transport Research Laboratory. Retrieved January 25, 2020, from http://courtneystrong.com/wp-content/uploads/2017/07/css-sl1-class-and-quality-of-street-lighting.pdf + // + optional double ambient_illumination = 1; // The time of day at the host vehicles location. // @@ -63,15 +85,21 @@ message EnvironmentalConditions // Description of the precipitation. // - optional Precipitation precipitation = 6; + repeated Precipitation precipitation = 6; - // Description of the fog. - // It is not completely clear yet where and how to apply the new message and how to manage the transition to complement or replace existing Fog enums. + // Definition of fog. + // (V = Visibility in m) + // + // Visibility is defined as the length of the atmosphere over which a beam + // of light travels before its luminous flux is reduced to 5% of its + // original value (definition used by the Meteorological Office [1]). + // This is approximately equivalent to visibility measured in terms of the + // contrast of a distant object against its background. // - // Fog enums could be complemented (short-term) or replaced (long-term) with the new FogDescription. - // The name of the message (FogExtended) is still under discussion. + // \par References: + // [1] Meteorological Office UK. (2020). Homepage of the Meteorological Office - How we measure visibility. Retrieved January 25, 2020, from http://www.metoffice.gov.uk/guide/weather/observations-guide/how-we-measure-visibility // - optional Fog fog = 7; + optional double fog = 7; // The Unix epoch (or Unix time or POSIX time or Unix timestamp) is // the number of seconds that have elapsed since January 1, 1970 @@ -105,50 +133,21 @@ message EnvironmentalConditions // repeated ExternalReference source_reference = 9; - // // \brief Definition of cloud states. // // \note Defines the cloud states according to OpenScenario 1.1 // optional CloudState cloud_state = 10; - // Definition of ambient illumination in lux [lx]: - // Ambient light is any light in the vehicle's environment that is not - // emitted by the vehicle itself. It can include sun/moon light, light from - // other cars, street lights etc. - // - // lx ("lux") is the SI unit of luminance or illumination of an area of exact - // one square meter, which is equal to one lumen per square meter 1 lx = - // 1 lm/m^2 [1]. - // lm ("lumen") is the SI derived unit of luminous flux and a measure of - // the total quantity of visible light emitted by a source. The lumen is - // defined in relation to cd ("candela") as 1 lm = 1 cd sr, where sr - // denotes steradian, the unit of solid angle used in 3D geometry analogous - // to the radian [1]. + // \brief Definition of the wind speed and direction. // - // \par References: - // [1] DIN Deutsches Institut fuer Normung e. V. (1982). DIN 5031-3 Strahlungsphysik im optischen Bereich und Lichttechnik - Groessen, Formelzeichen und Einheiten der Lichttechnik. (DIN 5031-3:1982-03). Berlin, Germany. \n - // - optional double ambient_illumination_extended = 11; - - // ----------------------------------------------------------------------------------------------------------------- + optional Wind wind = 11; - // \brief Defines wind properties. + // \brief Definition of fog mist with a given location with a bounding box // - // \note Describes the wind speed and direction from OpenScenario 1.1 + // \note There can be several of fog mist fields // - message Wind - { - // The target direction of the wind (not the origin direction) in the ground/xy-plane of the \c - // world coordinate system. Corresponds to the heading/yaw angle. \c - // x-axis-direction is 0 rad. Unit [rad]. Range [0...2 pi[ - // - optional double direction = 1; - - // The wind speed. Unit [m/s]. Range [0...inf[ - // - optional double speed = 2; - } + repeated FogMist fog_mist = 12; // // \brief The time of day at a specified location. @@ -176,14 +175,61 @@ message EnvironmentalConditions optional uint32 seconds_since_midnight = 1; } + // + // \brief Defines wind properties. + // + // \note Describes the wind speed and direction from OpenScenario 1.1 + // + message Wind + { + // The target direction of the wind (not the origin direction) in the ground/xy-plane of the \c + // world coordinate system. Corresponds to the heading/yaw angle. \c + // x-axis-direction is 0 rad. Unit [rad]. Range [0...2 pi[ + // + optional Vector3d direction = 1; + + // The wind speed. Unit [m/s]. Range [0...inf[ + // + optional double speed = 2; + } + + // + // \brief Mist is defined as 'when there is such obscurity and the associated visibility is equal to or exceeds 1000 m.' + // Like fog, mist is still the result of the suspension of water droplets, but simply at a lower density. [1] + // + // \note Mist typically is quicker to dissipate and can rapidly disappear with even slight winds, + // it's also what you see when you can see your breath on a cold day. Mist is commonly confused with fog, + // which resembles a stratus cloud lying at ground level. These two phenomena differ, but share some commonalities; + // similar processes form both fog and mist. Fog is denser and generally lasts longer, while mist is thinner and more transparent. [2] + // + // The definition of mist as being composed of an aggregate of microscopic and hygroscopic water droplets, + // and that mist is intermediate between haze and fog infers a distinction between haze and fog based + // on the definition of their particle size [3] + // + // \par References: + // [1] https://www.metoffice.gov.uk/weather/learn-about/weather/types-of-weather/fog/difference-mist-and-fog + // [2] https://en.wikipedia.org/wiki/Mist + // [3] Ralph G. Eldridge (1969). mist — the transition from haze to fog. The MITRE Corporation, Bedford, Mass. Vol 50, No. 6. pp. 422. https://doi.org/10.1175/1520-0477-50.6.422 + // + message FogMist + { + // Defines the possible visible range \c Unit: m; Range: [0..inf[. + // + optional double visibility = 1; + + // Dimensions and center of fog in fixed world coordinates. + // + optional BaseStationary bounding_box = 2; + } + // // \brief Specification of sun properties. // // \note Defines the specification of the \c sun properties according to OpenScenario 1.1 // - message Sun + message SunPosition { - // Azimuth of the sun, counted counterclockwise, 0=north, PI/2 = east, PI=south, 3/2 PI=west. Unit: radian; Range: [0..2PI]. + // Azimuth of the sun, counted counterclockwise, 0=north, PI/2 = east, PI=south, 3/2 PI=west. Unit: rad; Range: [0..2PI]. // optional double azimuth = 1; @@ -191,19 +237,22 @@ message EnvironmentalConditions // optional double elevation = 2; + // TODO: ambient_illumination? -> Solar irradiance: https://en.wikipedia.org/wiki/Solar_irradiance // Illuminance of the sun, direct sunlight is around 100,00 lx. Unit: lux; Range: [0..inf[. // - optional double intensity = 3; + optional double solar_intensity = 3; } + // // Description of the precipitation with intensity and the type + // (I = Intensity of precipitation in mm per hour mm/h) + // + // \par Reference: + // [1] Paulat, M., Frei, C., Hagen, M. & Wernli, H. (2008). A gridded dataset of hourly precipitation in Germany: Its construction, climatology and application. Meteorologische Zeitschrift. Vol. 17, No. 6. pp. 719-732. Berlin, Stuttgart, Germany. https://doi.org/10.1127/0941-2948/2008/0332 // - // TODO: Mixed types - repeated (relativer Anteil) 1) or - // TODO: Prozentualer Anteil 2) - // TODO: Distribution Marschall-Palmer, Ulbricht - SNOW? - // TODO: Bounding Box! - // TODO: https://github.com/jruebsam/open-simulation-interface/blob/255_environmental_conditions/osi_environment.proto - message PrecipitationExtended + // TODO: Distribution Marschall-Palmer, Ulbricht - SNOW? - tbd + // TODO: Bounding Box! - tbd + message Precipitation { // The intensity of the precipitation (valid for all precipitation types). Unit [mm/h]. Range [0...inf[ // According to OpenScenario 1.1 and according to the context of ISO 2315 @@ -215,43 +264,7 @@ message EnvironmentalConditions optional PrecipitationType type = 2; } - // \brief Defines fog at simulation runtime - // - // \note Described by the density of the fog, the visual range and the predefined bounding box - // - message FogExtended - { - // Definition of discretized fog states according to [1]. - // The bandwidth of thick and dense fog was adjusted to fit the German StVO - // regarding rear fog lights [2, 3]. - // (V = Visibility in m) - // - // Visibility is defined as the length of the atmosphere over which a beam - // of light travels before its luminous flux is reduced to 5% of its - // original value (definition used by the Meteorological Office [4]). - // This is approximately equivalent to visibility measured in terms of the - // contrast of a distant object against its background. - // - // \par References: - // [1] Shepard, F. D. (1996). Reduced visibility due to fog on the highway. Transportation Research Board, National Research Council (Ed.). National Academy Press. Washington, D.C., USA. ISBN 0-309-06006-0. \n - // [2] Strassenverkehrs-Ordnung (StVO) as of dated March 06, 2013 (BGBl. I S. 367), lastly changed by article 4a of the order from June 06, 2019 (BGBl. I S. 756). \n - // [3] stvo.de. (2013, April 01). StVO Par. 17 Beleuchtung. Retrieved January 25, 2020, from https://www.stvo.de/strassenverkehrsordnung/101-17-beleuchtung \n - // [4] Meteorological Office UK. (2020). Homepage of the Meteorological Office - How we measure visibility. Retrieved January 25, 2020, from http://www.metoffice.gov.uk/guide/weather/observations-guide/how-we-measure-visibility - // - optional double density = 1; - - // Defines the possible visible range \c Unit: m; Range: [0..inf[. - // - optional double visual_range = 2; - - // Dimensions and center of fog in fixed world coordinates. - // - optional BaseStationary bounding_box = 3; - } - - // ----------------------------------------------------------------------------------------------------------------- - - // Defines a precipitation by type and value of a weather. + // Defines a precipitation by type and value of the weather. // enum PrecipitationType { @@ -280,212 +293,14 @@ message EnvironmentalConditions // PRECIPITATION_TYPE_SNOW = 5; - // Sleet. + // Sleet/Graupel. // PRECIPITATION_TYPE_SLEET = 6; } - // Definition of discretized precipitation states according to [1]. - // (I = Intensity of precipitation in mm per hour mm/h) - // - // \par Reference: - // [1] Paulat, M., Frei, C., Hagen, M. & Wernli, H. (2008). A gridded dataset of hourly precipitation in Germany: Its construction, climatology and application. Meteorologische Zeitschrift. Vol. 17, No. 6. pp. 719-732. Berlin, Stuttgart, Germany. https://doi.org/10.1127/0941-2948/2008/0332 - // - enum Precipitation - { - // Intensity of precipitation is unknown (must not be used in ground - // truth). - // - PRECIPITATION_UNKNOWN = 0; - - // Other (unspecified but known) intensity of precipitation. - // - PRECIPITATION_OTHER = 1; - - // No precipitation, when I in [0,0.1[ mm/h - // - PRECIPITATION_NONE = 2; - - // Very light intensity of precipitation, when I in [0.1,0.5[ mm/h - // - PRECIPITATION_VERY_LIGHT = 3; - - // Light intensity of precipitation, when I in [0.5,1.9[ mm/h - // - PRECIPITATION_LIGHT = 4; - - // Moderate intensity of precipitation, when I in [1.9,8.1[ mm/h - // - PRECIPITATION_MODERATE = 5; - - // Heavy intensity of precipitation, when I in [8.1,34[ mm/h - // - PRECIPITATION_HEAVY = 6; - - // Very heavy intensity of precipitation, when I in [34,149[ mm/h - // - PRECIPITATION_VERY_HEAVY = 7; - - // Extreme intensity of precipitation, when I in [149,infinity[ mm/h - // - PRECIPITATION_EXTREME = 8; - } - - // Definition of discretized fog states according to [1]. - // The bandwidth of thick and dense fog was adjusted to fit the German StVO - // regarding rear fog lights [2, 3]. - // (V = Visibility in m) - // - // Visibility is defined as the length of the atmosphere over which a beam - // of light travels before its luminous flux is reduced to 5% of its - // original value (definition used by the Meteorological Office [4]). - // This is approximately equivalent to visibility measured in terms of the - // contrast of a distant object against its background. - // - // \par References: - // [1] Shepard, F. D. (1996). Reduced visibility due to fog on the highway. Transportation Research Board, National Research Council (Ed.). National Academy Press. Washington, D.C., USA. ISBN 0-309-06006-0. \n - // [2] Strassenverkehrs-Ordnung (StVO) as of dated March 06, 2013 (BGBl. I S. 367), lastly changed by article 4a of the order from June 06, 2019 (BGBl. I S. 756). \n - // [3] stvo.de. (2013, April 01). StVO Par. 17 Beleuchtung. Retrieved January 25, 2020, from https://www.stvo.de/strassenverkehrsordnung/101-17-beleuchtung \n - // [4] Meteorological Office UK. (2020). Homepage of the Meteorological Office - How we measure visibility. Retrieved January 25, 2020, from http://www.metoffice.gov.uk/guide/weather/observations-guide/how-we-measure-visibility - // - enum Fog - { - // Visibility is unknown (must not be used in ground truth). - // - FOG_UNKNOWN = 0; - - // Other (unspecified but known) fog intensity. - // - FOG_OTHER = 1; - - // Excellent visibility, when V in [40000,infinity[ m - // - FOG_EXCELLENT_VISIBILITY = 2; - - // Good visibility, when V in [10000,40000[ m - // - FOG_GOOD_VISIBILITY = 3; - - // Moderate visibility, when V in [4000,10000[ m - // - FOG_MODERATE_VISIBILITY = 4; - - // Poor visibility, when V in [2000,4000[ m - // - FOG_POOR_VISIBILITY = 5; - - // Mist, when V in [1000,2000[ m - // - FOG_MIST = 6; - - // Fog, when V in [200,1000[ m - // - FOG_LIGHT = 7; - - // Thick fog, when V in [50,200[ m - // - FOG_THICK = 8; - - // Dense fog, when V in [0,50[ m - // (allowed to use rear fog light according to [3]) - // - FOG_DENSE = 9; - } - - // Definition of discretized ambient illumination states: - // Ambient light is any light in the vehicle's environment that is not - // emitted by the vehicle itself. It can include sun/moon light, light from - // other cars, street lights etc. - // - // lx ("lux") is the SI unit of luminance or illumination of an area of exact - // one square meter, which is equal to one lumen per square meter 1 lx = - // 1 lm/m^2 [1]. - // lm ("lumen") is the SI derived unit of luminous flux and a measure of - // the total quantity of visible light emitted by a source. The lumen is - // defined in relation to cd ("candela") as 1 lm = 1 cd sr, where sr - // denotes steradian, the unit of solid angle used in 3D geometry analogous - // to the radian [1]. - // - // Categorization is done based on natural day/night time illuminance levels - // [2] and standards for required lighting levels on roads [2, 3, 4, 5]. - // - // \par References: - // [1] DIN Deutsches Institut fuer Normung e. V. (1982). DIN 5031-3 Strahlungsphysik im optischen Bereich und Lichttechnik - Groessen, Formelzeichen und Einheiten der Lichttechnik. (DIN 5031-3:1982-03). Berlin, Germany. \n - // [2] National Optical Astronomy Observatory. (2015, December 02). Recommended Light Levels. Retrieved January 25, 2020, from https://www.noao.edu/education/QLTkit/ACTIVITY_Documents/Safety/LightLevels_outdoor+indoor.pdf \n - // [3] Wang, Y. & Zou, Y., (2016, March). Study on Illumination for State Highways. Washington State Department of Transportation. Retrieved January 25, 2020, from http://www.wsdot.wa.gov/research/reports/fullreports/847.1.pdf \n - // [4] Laperriere, A. (2011, May). LED street lighting in the municipality of Saint-Gedeon-de-Beauce within the framework of advanced lighting technologies. Retrieved January 25, 2020, from http://sslnet.ca/wp-content/uploads/2011/10/LTE-RT-2011-0076-Anglais.pdf \n - // [5] Crabb, G. I., Beaumont, R. & Webster, D. (2008, October 17). Review of the class and quality of street lighting. Transport Research Laboratory. Retrieved January 25, 2020, from http://courtneystrong.com/wp-content/uploads/2017/07/css-sl1-class-and-quality-of-street-lighting.pdf - // - enum AmbientIllumination - { - // Ambient illumination is unknown (must not be used in ground truth). - // - AMBIENT_ILLUMINATION_UNKNOWN = 0; - - // Other (unspecified but known) ambient illumination. - // - AMBIENT_ILLUMINATION_OTHER = 1; - - // Level 1 illumination in ]0.001, 0.01[ lx - // E.g. Night with no artificial light. - // - // \note Use \c #AMBIENT_ILLUMINATION_LEVEL1 if illumination is less - // than 0.001 lx - // - AMBIENT_ILLUMINATION_LEVEL1 = 2; - - // Level 2 illumination in [0.01, 1[ lx - // E.g. Night full moon / Deep twilight. - // - AMBIENT_ILLUMINATION_LEVEL2 = 3; - - // Level 3 illumination in [1, 3[ lx - // E.g. Deep to average twilight / Minimum lighting on local low - // pedestrian conflict roads. - // - AMBIENT_ILLUMINATION_LEVEL3 = 4; - - // Level 4 illumination in [3, 10[ lx - // E.g. Average to full twilight / Minimum lighting on collector roads / - // Minimum lighting on major and expressway roads with low to average - // pedestrian conflict. - // - AMBIENT_ILLUMINATION_LEVEL4 = 5; - - // Level 5 illumination in [10, 20[ lx - // E.g. Minimum lighting on major and expressway roads with high - // pedestrian conflict. - // - AMBIENT_ILLUMINATION_LEVEL5 = 6; - - // Level 6 illumination in [20, 400[ lx - // E.g. Roads with more lighting / Very dark overcast day to sunrise or - // sunset on a clear day. - // - AMBIENT_ILLUMINATION_LEVEL6 = 7; - - // Level 7 illumination in [400, 1000[ lx - // E.g. Sunrise or sunset on a clear day / Overcast day. - // - AMBIENT_ILLUMINATION_LEVEL7 = 8; - - // Level 8 illumination in [1000, 10000[ lx - // E.g. Average to full daylight. - // - AMBIENT_ILLUMINATION_LEVEL8 = 9; - - // Level 9 illumination in [10000, 120000[ lx - // E.g. Full daylight to intense sunlight. - // - // \note Use \c #AMBIENT_ILLUMINATION_LEVEL9 if illumination is more - // than 120000 lx - // - AMBIENT_ILLUMINATION_LEVEL9 = 10; - } - // Definition of the cloud state, i.e. cloud state and sky visualization settings. // - //\par References: + // \par References: // [1] ISO 15469:2004(E) / CIE S 011/E:2003 : Spatial distribution of skylight // [2] https://de.wikipedia.org/wiki/Bewölkung // From 445a810b9838bbc7a7a6ea421a46d8afe1f6f908 Mon Sep 17 00:00:00 2001 From: Markus Waldmann Date: Fri, 15 Oct 2021 10:35:28 +0200 Subject: [PATCH 7/7] Added reference models to Precipitation and FogMist Changed the sun to a StationaryObject Update after meeting and new input given of the Sensor Group --- osi_environment.proto | 59 +++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 33 deletions(-) diff --git a/osi_environment.proto b/osi_environment.proto index 684497063..3c9d2af1a 100644 --- a/osi_environment.proto +++ b/osi_environment.proto @@ -3,6 +3,7 @@ syntax = "proto2"; option optimize_for = SPEED; import "osi_common.proto"; +import "osi_object.proto"; package osi3; @@ -143,11 +144,18 @@ message EnvironmentalConditions // optional Wind wind = 11; + // \brief Definition of the Sun. + // + // \note within the classification.emitting_structure_attribute \c + // the light intensity and wave length of the sun can be given. + // + optional StationaryObject Sun = 12; + // \brief Definition of fog mist with a given location with a bounding box // // \note There can be several of fog mist fields // - repeated FogMist fog_mist = 12; + repeated FogMist fog_mist = 13; // // \brief The time of day at a specified location. @@ -220,38 +228,21 @@ message EnvironmentalConditions // Dimensions and center of fog in fixed world coordinates. // optional BaseStationary bounding_box = 2; - } - - // - // \brief Specification of sun properties. - // - // \note Defines the specification of the \c sun properties according to OpenScenario 1.1 - // - message SunPosition - { - // Azimuth of the sun, counted counterclockwise, 0=north, PI/2 = east, PI=south, 3/2 PI=west. Unit: rad; Range: [0..2PI]. - // - optional double azimuth = 1; - - // Solar elevation angle, 0=x/y plane, PI/2=zenith. Unit: rad; Range: [-PI..PI]. - // - optional double elevation = 2; - // TODO: ambient_illumination? -> Solar irradiance: https://en.wikipedia.org/wiki/Solar_irradiance - // Illuminance of the sun, direct sunlight is around 100,00 lx. Unit: lux; Range: [0..inf[. - // - optional double solar_intensity = 3; + // Reference of an associated 3D model + // It is implementation-specific how model_references are resolved to + // 3d models. + optional string model_reference = 3; } // // Description of the precipitation with intensity and the type // (I = Intensity of precipitation in mm per hour mm/h) + // With a given model reference the 3D object of the e.g. rain drop can be given // // \par Reference: // [1] Paulat, M., Frei, C., Hagen, M. & Wernli, H. (2008). A gridded dataset of hourly precipitation in Germany: Its construction, climatology and application. Meteorologische Zeitschrift. Vol. 17, No. 6. pp. 719-732. Berlin, Stuttgart, Germany. https://doi.org/10.1127/0941-2948/2008/0332 // - // TODO: Distribution Marschall-Palmer, Ulbricht - SNOW? - tbd - // TODO: Bounding Box! - tbd message Precipitation { // The intensity of the precipitation (valid for all precipitation types). Unit [mm/h]. Range [0...inf[ @@ -262,6 +253,11 @@ message EnvironmentalConditions // Type of the precipitation. // optional PrecipitationType type = 2; + + // Reference of an associated 3D model e.g. Snow flake or rain drop. + // It is implementation-specific how model_references are resolved to + // 3d models. + optional string model_reference = 3; } // Defines a precipitation by type and value of the weather. @@ -298,13 +294,9 @@ message EnvironmentalConditions PRECIPITATION_TYPE_SLEET = 6; } - // Definition of the cloud state, i.e. cloud state and sky visualization settings. - // - // \par References: - // [1] ISO 15469:2004(E) / CIE S 011/E:2003 : Spatial distribution of skylight - // [2] https://de.wikipedia.org/wiki/Bewölkung + // \brief Definition of the cloud state, i.e. cloud state and sky visualization settings. // - // The total degree of coverage indicates how large the part of the sky vault is which is covered + // \note The total degree of coverage indicates how large the part of the sky vault is which is covered // with clouds altogether. It is given in eighths, because this division is easier to estimate // for the observer. 0 eighths means that there are no traces of clouds in the sky, // 4 eighths means that the sky is covered with clouds up to half, 8 eighths means that the sky is @@ -320,11 +312,12 @@ message EnvironmentalConditions // Their cloud cover is often overestimated. On the other hand, // the coverage of thin ice clouds (cirrus) is often underestimated. // + // \par References: + // [1] ISO 15469:2004(E) / CIE S 011/E:2003 : Spatial distribution of skylight + // [2] https://de.wikipedia.org/wiki/Bewölkung + // enum CloudState { - // TODO: Check with Sensor Group - // TODO: https://de.wikipedia.org/wiki/Bew%C3%B6lkung - // Cloud State is unknown (must not be used in ground truth). // CLOUD_STATE_UNKNOWN = 0; @@ -369,7 +362,7 @@ message EnvironmentalConditions // CLOUD_STATE_COVERED = 10; - // No Sky (9/8) + // No Sky // CLOUD_STATE_NOSKY = 11; }