Skip to content

Commit 5e69259

Browse files
authored
Merge branch 'master' into fix_bibliography
2 parents 2963c3f + c2bf773 commit 5e69259

File tree

11 files changed

+207
-10
lines changed

11 files changed

+207
-10
lines changed

.antora/modules/specification/nav_contribution.adoc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
3333
// *** xref:contributing/creating_images.adoc[]
3434

35+
** xref:contributing/test_scripts.adoc[]
36+
3537
** Reviewing contributions
3638

3739
*** xref:contributing/review_author.adoc[]
@@ -48,6 +50,12 @@
4850
[appendix]
4951
* Release Notes
5052
53+
:sectnums!:
54+
** xref:appendix/releases/v03.07.adoc[]
55+
:sectnums!:
56+
** xref:appendix/releases/v03.06.adoc[]
57+
:sectnums!:
58+
** xref:appendix/releases/v03.05.adoc[]
5159
:sectnums!:
5260
** xref:appendix/releases/v03.04.adoc[]
5361
:sectnums!:

.github/workflows/antora-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
steps:
1919
- name: Trigger generator
2020
if: ${{ env.MUP_KEY != '' }}
21-
uses: peter-evans/repository-dispatch@v2
21+
uses: peter-evans/repository-dispatch@v3
2222
with:
2323
token: ${{ secrets.MACHINE_USER_PAT }}
2424
event-type: antora-build-trigger

content/appendix/releases/v03.05.adoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ This is an official ASAM release of OSI. The standard can also be downloaded on
1616

1717
*Purpose*
1818

19+
//tag::content[]
1920
In this minor release, several interface messages have been updated and extended to better ensure consistency within the standard itself and harmonization with other OpenX-Standards like ASAM OpenDRIVE or OpenScenario.
2021
In this context the extension of GroundTruth by logical lane information - to empower a better traffic participant modelling - was one of the key achievements for this release.
2122

@@ -34,4 +35,5 @@ In this context the extension of GroundTruth by logical lane information - to em
3435
- CMake: Project usable via FetchContent.
3536
- Doxygen: Improved output.
3637
- CI: Moved to current protobuf release.
37-
- Updated documentation of coordinate systems and their transformations.
38+
- Updated documentation of coordinate systems and their transformations.
39+
//end::content[]
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
ifndef::include-only-once[]
2+
:root-path: ../../
3+
include::{root-path}_config.adoc[]
4+
endif::[]
5+
ifdef::use-antora-rules[]
6+
:reftext: v3.6.0 - OSI "Inspiring Irvine"
7+
= https://github.com/OpenSimulationInterface/open-simulation-interface/releases/tag/v3.6.0[{reftext}]
8+
endif::[]
9+
ifndef::use-antora-rules[]
10+
= https://github.com/OpenSimulationInterface/open-simulation-interface/releases/tag/v3.6.0[v3.6.0 - OSI "Inspiring Irvine"]
11+
endif::[]
12+
13+
Limitless P(OSI)bilities!
14+
15+
*Purpose*
16+
17+
//tag::content[]
18+
In this minor release, a new streaming update interface message has been added for low-latency applications, as well as a HAD function output interface message.
19+
20+
The additions of detailed pedestrian skeleton information, host vehicle kinematics, lane road name information, an enhanced lane reference line ST definition, enhanced traffic sign variability information, added radial velocity and echo pulse width information in sensor detection data, and pixel_order information for camera sensor view data are further enhancements of this release.
21+
22+
Beyond that, many clarifications, improvements in definitions and documentation, enhanced installation information and enhanced/fixed flatbuffer support are key improvements in this release.
23+
24+
*https://github.com/OpenSimulationInterface/open-simulation-interface/milestone/20?closed=1[Content/Changes]*
25+
26+
- Build: Create base Antora setup.
27+
- Fix path to asciidoc-resources.
28+
- Added one more missing step.
29+
- Build/master branch naming.
30+
- Never trigger antora builds for PRs from forks.
31+
- Fix traffic sign variability attribute description.
32+
- Fixing title of Fig. 10 with coordinate systems.
33+
- Add new traffic sign variability types.
34+
- Add new enum Type in vehicle classification for stand-up scooters.
35+
- Adapt ReferenceLine ST definition to avoid transformation ambiguity and discontinuities.
36+
- Add DAY to TrafficSign-Value-Unit and change DAY to WEEKDAY.
37+
- Update host vehicle data with kinematics data.
38+
- Adding the missing field for echo pulse width to logical detections.
39+
- Logical lanes: add street name.
40+
- Add sensor-specific data to detected stationary objects.
41+
- Feature/tp/had output.
42+
- Build: Create a release pipeline that replaces the manual creation of a deliverable package.
43+
- (feat SensorModelling) add pixel_order field.
44+
- Links in README and example moved to docu.
45+
- Fix sensordata reference frame definitions.
46+
- Fix documentation on coordinate systems and transformations.
47+
- Clean README and enhanced install instructions for protobuf in Docu.
48+
- Move missing vcpkg information to prerequisites.
49+
- Fix flatbuffer builds for upcoming release.
50+
- Added radial_velocity to LidarDetection.
51+
- Streaming Interface.
52+
- Add detailed pedestrian description to MovingObject.
53+
//end::content[]
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
ifndef::include-only-once[]
2+
:root-path: ../../
3+
include::{root-path}_config.adoc[]
4+
endif::[]
5+
ifdef::use-antora-rules[]
6+
:reftext: v3.7.0 - OSI "Jolly Jones"
7+
= https://github.com/OpenSimulationInterface/open-simulation-interface/releases/tag/v3.7.0[{reftext}]
8+
endif::[]
9+
ifndef::use-antora-rules[]
10+
= https://github.com/OpenSimulationInterface/open-simulation-interface/releases/tag/v3.7.0[v3.7.0 - OSI "Jolly Jones"]
11+
endif::[]
12+
13+
Ambr(OSI)al Features!
14+
15+
*Purpose*
16+
17+
//tag::content[]
18+
This minor release contains a number of incremental enhancements and improvements:
19+
20+
- Sub-bounding boxes can be provided for ground truth objects to model e.g. concave non-rectangular objects in more realistic ways without resorting to full 3D models.
21+
- Logical lanes can contain effective speed limit information to avoid the need to process traffic signs for speed selection.
22+
- Routing information can be transmitted as part of HostVehicleData.
23+
- Orientation rates can be transmitted as part of pedestrian skeleton information.
24+
- A virtual detection area can be supplied in SensorData to visualize or indicate the currently active nominal detection area of a sensor.
25+
- The system time of a source of SensorData can be supplied in addition to the simulation measurement timestamp to aid timing simulation and measurement use cases.
26+
- An offset has been introduced that is to be added to the cartesian global ground truth coordinate system prior to mapping into a geodetic coordinate system with the proj.4 string. This harmonizes OSI with OpenDRIVE and allows the easier provision of false easting/northing in the coordinate transformation.
27+
- The set of car types has been reduced to better harmonize with other OpenX standards as part of overall harmonization efforts.
28+
29+
Beyond that, many clarifications, improvements in definitions and documentation, enhanced installation information and enhanced Python support, including provisioning of Python packages on PyPI are key improvements in this release.
30+
31+
*https://github.com/OpenSimulationInterface/open-simulation-interface/milestone/21?closed=1[Content/Changes]*
32+
33+
- Add beam ID to LidarDetection.
34+
- Update release.yml.
35+
- Add osi_trafficcommandupdate.proto to CMakeLists.
36+
- Make CMAKE_CXX_STANDARD overridable (fix #741).
37+
- Update build workflow for modular protobuf version support.
38+
- Workflow: Update Python and Actions + Black formatting Python files.
39+
- feat: New OSI message osi_route.
40+
- Add orientation rate to PedestrianAttributes::Bone.
41+
- Define mandatory field with checker rules.
42+
- Removal of the historical .txt trace file format and related scripts.
43+
- Fix typos in proto files.
44+
- Add new message for sub-bounding boxes.
45+
- Update github actions for release workflow.
46+
- Add check that all proto files are included in build.
47+
- feat: Add virtual detection area.
48+
- Modernize python build setup, protoc dependency.
49+
- Remove OSC todo comment from source_reference.
50+
- Fix documentation on FeatureData messages.
51+
- Feature/proj offset.
52+
- Add system time to sensor data.
53+
- Add pyspelling html filter.
54+
- Deprecate various car types in favor of new alias TYPE_CAR.
55+
- Fix streaming principle image reference.
56+
- Logical Traffic Rules and Speed Limit.
57+
//end::content[]

content/contributing/naming_conventions.adoc

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,12 @@ message EnvironmentalConditions
4141
}
4242
----
4343

44-
Enum field names shall use _UPPER_SNAKE_CASE_.
45-
Enum fields shall always be prefixed with the name of the corresponding enum.
46-
The first enum field shall always use the suffix _UNKNOWN_.
47-
The second enum field shall always use the suffix _OTHER_.
44+
Enum field value names shall use _UPPER_SNAKE_CASE_.
45+
Enum field value names shall always be prefixed with the name of the corresponding enum.
46+
47+
For enum fields that are concerned with ground truth or sensor data, the first two enum values shall always be defined with the following rules:
48+
The first enum field value shall always use the suffix _UNKNOWN_.
49+
The second enum field value shall always use the suffix _OTHER_.
4850

4951
[source,protobuf,linenums]
5052
----
@@ -61,4 +63,6 @@ message EnvironmentalConditions
6163
AMBIENT_ILLUMINATION_LEVEL1 = 2;
6264
}
6365
}
64-
----
66+
----
67+
68+
Other enum fields, especially purely technical fields, can deviate from the rules for the first two field values.
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
ifndef::include-only-once[]
2+
:root-path: ../
3+
include::{root-path}_config.adoc[]
4+
endif::[]
5+
= Test scripts
6+
7+
The following collection of test scripts is designed to automate the validation and enforcement of coding standards, documentation quality, and specific syntactical conventions within a software development project.
8+
These scripts cover a broad spectrum of checks, from Python package initialization, adherence to comment standards, and validation of Doxygen documentation output, to ensuring the integrity of Protocol Buffer (.proto) files.
9+
Each script focuses on a specific aspect of the code or documentation, automating the process of identifying common errors, enforcing naming conventions, and ensuring that documentation is both accurate and adheres to defined standards.
10+
Through these automated tests, the project aims to maintain high quality in coding and documentation standards, facilitating a more reliable and efficient development process.
11+
12+
== `\\__init__.py`
13+
14+
This script indicates the use of the directory as a Python Package, allowing Python to consider the directory as part of a module.
15+
16+
== `test_comment_type.py`
17+
18+
Automates the administration of comment standards.
19+
It locates all `.proto` files using the glob module and includes different test cases inherited from `unittest.TestCase`.
20+
These test cases perform checks on the comment description's brevity, length, and existence. Additionally, it includes a utility method `convert` for transforming camel case names into uppercase snake case, ensuring high documentation and coding standards in Protocol Buffer Files.
21+
22+
== `test_doxygen_output.py`
23+
24+
Validates the output of Doxygen documentation files to ensure the absence of errors or issues in documentation syntax or Doxygen's interpretation of comments.
25+
It checks for hash characters `(#)`, slash triplets `(///)`, and backslash triplets `(\\\)` that might indicate documentation errors, maintaining the quality of Doxygen-generated HTML documentation.
26+
27+
== `test_invalid_comment.py`
28+
29+
Ensures the integrity of comments within Protocol buffer files, checking for the use of more than two consecutive forward slashes `(///)` and block comment delimiters ``(/* and */)``, which are not supported in Protocol Buffers syntax.
30+
31+
== `test_invalid_enum.py`
32+
33+
Checks `.proto` files for issues related to enum naming and usage, verifying that enum names follow a PascalCase naming convention and that enum types are in uppercase, ensuring adherence to naming conventions.
34+
35+
== `test_invalid_html.py`
36+
37+
Validates the use of HTML and Doxygen-specific comment syntax within `.proto` files, checking for incorrect usage of slashes `(/,\)`, hash `(#)` characters, `@` symbols outside of `htmlonly` sections, and ensuring that every `htmlonly` section is properly closed.
38+
39+
== `test_invalid_message.py`
40+
41+
Defines tests for common issues in `.proto` files, such as naming conventions and field definitions, ensuring that message names, field names, and nested message types adhere to specified naming conventions and that fields specify their multiplicity correctly.
42+
43+
== `test_invalid_punctuation.py`
44+
45+
Aims to ensure the absence of double underscores `(__)` in `.proto` files, indicating a formatting error when such punctuation is found.
46+
47+
== `test_invalid_tabs.py`
48+
49+
Prohibits the use of tab characters for indentation or alignment in `.proto` files, considering their use a formatting error.
50+
51+
== `test_newline.py`
52+
53+
Ensures that all Protocol Buffer `(.proto)` files end with a newline character `(\n)`, maintaining code quality and interoperability across different environments.
54+
55+
== `test_non_ascii.py`
56+
57+
Ensures that Protocol Buffer `(.proto)` files do not contain non-ASCII characters, checking for the presence of special characters outside the ASCII set `(eg. ä,ü,ö etc.)` and failing the test if any are found.
58+
59+
== `test_osi_trace.py`
60+
61+
Serves as a unit test for the `OSITrace` class, ensuring correct processing of OSI SensorView messages and their conversion into a human-readable format.
62+
63+
== `test_rules.py`
64+
65+
Ensures compliance with specific rules for Protocol Buffer `(.proto)` files as defined in a YAML configuration file `(rules.yml)`, checking for rule violations and providing feedback for corrections.
66+
67+
== `test_units.py`
68+
69+
Validates the syntax of unit documentation within Protocol Buffer (.proto) files, ensuring that units are documented correctly according to the specified syntax without any enclosing brackets or braces.

content/general_docs/changes.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ include::{root-path}_config.adoc[]
44
endif::[]
55
= What has changed
66

7-
include::../appendix/releases/v03.04.adoc[tag=content]
7+
include::../appendix/releases/v03.07.adoc[tag=content]

content/general_docs/foreword.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ The {THIS_STANDARD} (Open Simulation Interface) is a specification for interface
88
OSI is strongly focused on the environmental perception of automated driving functions.
99

1010
The complexity of automated driving functions is rapidly increasing, which means the requirements for testing and development methods are growing too.
11-
Testing in virtual environments makes it possible to control and reproduce environment conditions.
11+
Testing in virtual environments makes it possible to control and reproduce environmental conditions.
1212

1313
To enable the widespread use of driving simulators for developers of functions, generic and standardized interfaces are needed for the connection between the function-development framework and the simulation environment.
1414
OSI permits easy and straight-forward compatibility between automated driving functions and the variety of driving-simulation frameworks that are available.

content/general_standard/relations_to_other_standards.adoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@ Combining all three standards provides a scenario-driven description of traffic
1919

2020
* DIN ISO 8855:2013-11: Road vehicles - Vehicle dynamics and road-holding ability - Vocabulary cite:[iso8855]
2121
* ISO 23150: Road vehicles — Data communication between sensors and data fusion unit for automated driving functions — Logical interface cite:[iso23150]
22-
* FMI 2.0: https://svn.modelica.org/fmi/branches/public/specifications/v2.0/FMI_for_ModelExchange_and_CoSimulation_v2.0.pdf[Functional Mock-up Interface for Model Exchange and Co-Simulation] cite:[fmi2.0]
22+
* FMI 2.0: https://github.com/modelica/fmi-standard/releases/download/v2.0.4/FMI-Specification-2.0.4.pdf[Functional Mock-up Interface for Model Exchange and Co-Simulation 2.0.4] cite:[fmi2.0]
23+
* FMI 3.0: https://fmi-standard.org/docs/3.0.1/[Functional Mock-up Interface Specification 3.0.1] cite:[fmi3.0]
24+
* SSP 1.0: https://ssp-standard.org/publications/SSP101/SystemStructureAndParameterization101.pdf[System Structure and Parameterization 1.0.1] cite:[ssp1.0]

0 commit comments

Comments
 (0)