From f9bc10ceefff71a3c690c616005af183a06685ad Mon Sep 17 00:00:00 2001 From: Maximilian Rosin Date: Fri, 18 Jun 2021 17:23:24 +0200 Subject: [PATCH 1/4] feat(docs): Add architecture overview (#534) Signed-off-by: Maximilian Rosin --- doc/architecture/architecture_overview.adoc | 34 +++++++++++++----- doc/images/osi-context.png | Bin 0 -> 28730 bytes .../osi-traffic-participant-advanced.png | Bin 0 -> 54822 bytes .../osi-traffic-participant-principle.png | Bin 0 -> 23836 bytes 4 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 doc/images/osi-context.png create mode 100644 doc/images/osi-traffic-participant-advanced.png create mode 100644 doc/images/osi-traffic-participant-principle.png diff --git a/doc/architecture/architecture_overview.adoc b/doc/architecture/architecture_overview.adoc index 0bbbe8e05..0f1b5c267 100644 --- a/doc/architecture/architecture_overview.adoc +++ b/doc/architecture/architecture_overview.adoc @@ -1,11 +1,27 @@ = Overview of OSI architecture -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. -Et malesuada fames ac turpis egestas. -Mauris pharetra et ultrices neque ornare aenean euismod elementum nisi. -Nulla facilisi morbi tempus iaculis urna id. Justo eget magna fermentum iaculis. -Sed augue lacus viverra vitae congue eu. -Velit ut tortor pretium viverra suspendisse. -Amet commodo nulla facilisi nullam vehicula ipsum a. -Nibh nisl condimentum id venenatis a. -Diam vel quam elementum pulvinar etiam non quam lacus suspendisse. \ No newline at end of file +OSI contains an object-based environment description using the message format of the https://github.com/protocolbuffers/protobuf/wiki[Protocol Buffer] library developed and maintained by Google. +OSI defines top-level messages that are used to exchange data between separate models. +Top-level messages define the ``GroundTruth`` interface, the ``SensorData`` interface and, since OSI version 3.0.0, the ``SensorView``, ``SensorViewConfiguration`` and ``FeatureData`` interfaces. + +The following figure shows the interfaces and models involved in modeling a sensor. + +.Open Simulation Interface overview +image::osi-context.png[1100] + + +OSI also defines interfaces for traffic participant models. +These interfaces allow to send commands to traffic participant models and to receive their updated state. +The following figure shows the interfaces of a generic traffic participant. + +.Interface of a traffic participant +image::osi-traffic-participant-principle.png[1100] + +Traffic participant models may use other OSI interfaces internally, for example, to model autonomous vehicles. +The following figure shows a more advanced use case for traffic participants. + +.Traffic participant with sensor models, AD function, and dynamic model +image::osi-traffic-participant-advanced.png[1100] + +OSI currently provides only limited support for data structures describing measured internal states of the traffic participant. +Actuator intentions are currently not covered by OSI and must be handled with a different data description format. diff --git a/doc/images/osi-context.png b/doc/images/osi-context.png new file mode 100644 index 0000000000000000000000000000000000000000..0738c383138193779c7d13e6b3e4372140126c83 GIT binary patch literal 28730 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 LHD7S{{^` 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 literal 0 HcmV?d00001 diff --git a/doc/images/osi-traffic-participant-advanced.png b/doc/images/osi-traffic-participant-advanced.png new file mode 100644 index 0000000000000000000000000000000000000000..451e4b32b81d040f109a0f91f0eda5543b56c845 GIT binary patch literal 54822 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 Date: Fri, 18 Jun 2021 17:33:35 +0200 Subject: [PATCH 2/4] feat(docs): Add content about interface fields as found in original docs (#534) Signed-off-by: Maximilian Rosin --- doc/architecture/architecture_overview.adoc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/doc/architecture/architecture_overview.adoc b/doc/architecture/architecture_overview.adoc index 0f1b5c267..b7938a906 100644 --- a/doc/architecture/architecture_overview.adoc +++ b/doc/architecture/architecture_overview.adoc @@ -25,3 +25,12 @@ image::osi-traffic-participant-advanced.png[1100] OSI currently provides only limited support for data structures describing measured internal states of the traffic participant. Actuator intentions are currently not covered by OSI and must be handled with a different data description format. + +All fields in an interface are set to optional and required is not used. +This has been done to allow backward compatible changes in the field. +Additionally, this is the default behavior in protobuf version 3 that does no longer have the required type and therefore ensures update compatibility. +However, this does not mean that filling the field is optional. +For the purpose of providing a complete interface, all existing fields should be set, unless not setting a field carries a specific meaning as indicated in the accompanying comment. + +All field numbers of 10000 and upward are available for user-specific extensions via custom fields. +Therefore, no future evolution of OSI will use field numbers of 10000 or above. \ No newline at end of file From 9e24025de20f528c73813de4c29c7d1e081524d0 Mon Sep 17 00:00:00 2001 From: Maximilian Rosin Date: Thu, 24 Jun 2021 11:47:00 +0200 Subject: [PATCH 3/4] fix(docs): Improve text quality (#534) Signed-off-by: Maximilian Rosin --- doc/architecture/architecture_overview.adoc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/doc/architecture/architecture_overview.adoc b/doc/architecture/architecture_overview.adoc index b7938a906..6613a475b 100644 --- a/doc/architecture/architecture_overview.adoc +++ b/doc/architecture/architecture_overview.adoc @@ -26,11 +26,12 @@ image::osi-traffic-participant-advanced.png[1100] OSI currently provides only limited support for data structures describing measured internal states of the traffic participant. Actuator intentions are currently not covered by OSI and must be handled with a different data description format. -All fields in an interface are set to optional and required is not used. -This has been done to allow backward compatible changes in the field. -Additionally, this is the default behavior in protobuf version 3 that does no longer have the required type and therefore ensures update compatibility. +All fields in an interface are set to `optional`. +`required` is not used. +This has been done to allow backward-compatible changes in the field. +Additionally, this is the default behavior in Protocol Buffer version 3 that does no longer have the `required` type and therefore ensures update compatibility. However, this does not mean that filling the field is optional. For the purpose of providing a complete interface, all existing fields should be set, unless not setting a field carries a specific meaning as indicated in the accompanying comment. -All field numbers of 10000 and upward are available for user-specific extensions via custom fields. -Therefore, no future evolution of OSI will use field numbers of 10000 or above. \ No newline at end of file +All field numbers equal to or greater than 10000 are available for user-specific extensions via custom fields. +Therefore, no future evolution of OSI will use field numbers equal to or greater than 10000. \ No newline at end of file From 7e3325ce3b312aefb051c6a5dee9276a902c4518 Mon Sep 17 00:00:00 2001 From: Maximilian Rosin Date: Wed, 7 Jul 2021 15:31:53 +0200 Subject: [PATCH 4/4] feat(docs): Add traffic command, traffic update and host vehicle data to description (#534) Signed-off-by: Maximilian Rosin --- doc/architecture/architecture_overview.adoc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/architecture/architecture_overview.adoc b/doc/architecture/architecture_overview.adoc index 6613a475b..5e54b6c1e 100644 --- a/doc/architecture/architecture_overview.adoc +++ b/doc/architecture/architecture_overview.adoc @@ -11,7 +11,8 @@ image::osi-context.png[1100] OSI also defines interfaces for traffic participant models. -These interfaces allow to send commands to traffic participant models and to receive their updated state. +The ``TrafficCommand`` interface allows to send commands to traffic participant models. +The ``TrafficUpdate`` interface allows to receive their updated state. The following figure shows the interfaces of a generic traffic participant. .Interface of a traffic participant @@ -23,7 +24,8 @@ The following figure shows a more advanced use case for traffic participants. .Traffic participant with sensor models, AD function, and dynamic model image::osi-traffic-participant-advanced.png[1100] -OSI currently provides only limited support for data structures describing measured internal states of the traffic participant. +The ``HostVehicleData`` interface describes the measured internal states of a traffic participant +OSI currently provides only limited support for data structures describing measured internal states traffic participants. Actuator intentions are currently not covered by OSI and must be handled with a different data description format. All fields in an interface are set to `optional`.