OSI-Tutorial

OSI (Open Simulation Interface) ist eine objektbasierte Beschreibung für Interfaces zwischen Modellen und Komponenten einer verteilten Simulation. OSI ermöglicht als standardisierte Schnittstelle Kompatibilität zwischen Fahrfunktionen, Modellen und Simulationsframeworks. Haupteinsatzzweck ist die Verwendung im Bereich der Fahrassistenzsysteme und des autonomen Fahrens. Informationen zum Umfeld und zu den Sensoren können über OSI übermittelt werden. Damit adressiert OSI auch den ISO-Standard 23150 zur Datenkommunikation zwischen Sensoren und Sensorfusion. OSI ist ein ASAM-Standard und wird wird im Rahmen des ASAM-Konsortiums weiterentwickelt. Weitere Informationen finden sich auf den Projektseiten:

Technisch basiert OSI auf Googles Protocol Buffers (Protobuf). Dabei erfolgt die Beschreibung des OSI-Formats über Proto-Dateien. Basierend auf den Proto-Dateien können für verschiedene Zielsprachen die benötigten Artefakte zur Erstellung und Serialisierung der Nachrichten erstellt werden.

Die Nachrichtenübertragung der serialisierten Nachrichten ist nicht standardisiert. In der Praxis wird häufig ZeroMQ zur Nachrichtenübertragung verwendet.

Benutzung in ecu.test

Zur Verwendung von OSI muss in der Testkonfiguration ein System für die Umfeldkommunikation eingerichtet werden. Das System für die Umfeldkommunikation muss dazu mit einem Tool zur Übertragung der Nachrichten verknüpft werden. Für die Übertragung von OSI-Nachrichten können die folgenden Tools verwendet werden, welche den ENVCOM Port implementieren:

Einrichtung

Die Einrichtung eines Systems für die Umfeldkommunikation mittels OSI wird anhand der Konfiguration einer über ZeroMQ angeschlossenen SensorView-Quelle (z.B. für Daten eines Kamerasensors) aufgezeigt:

  1. Konfiguration des Tools zur Nachrichtenübertragung in der Testbenchkonfiguration: Das Tool für die Nachrichtenübertragung (hier ZeroMQ, siehe auch ZeroMQ) und ein dazugehöriger ENVCOM-Ports werden in einer Testbenchkonfiguration angelegt. img_TBC_ZeroMq

  2. Konfiguration der Umfeldkommunikation in der Testkonfiguration (siehe auch Konfiguration eines Umfeldkommunikationszugriffs): In der Testkonfiguration wird der in Schritt 1 erstellte ENVCOM-Port mit der spezifischen Konfiguration des Nachrichtenformats verknüpft. Hierfür wird OSI als Nachrichtenformat ausgewählt und die OSI-Formatdefinition gesetzt (hier auf SensorView). img_TCF_ZeroMq

  3. Die in den Schritten 1 bzw. 2 erstellten Konfigurationen (Testbenchkonfiguration und Testkonfiguration) werden ausgewählt und aktiviert.

  4. Im Tab Umfeldkommunikation steht nun das OSI-Modell der ausgewählten Datenquelle bereit. img_Tab_ENVCOM

Verwendung

Über den Tab Umfeldkommunikation kann auf das OSI-Modell zugegriffen werden. Im Baum wird die Struktur des konkreten OSI-Formats angezeigt. Der Zugriff auf die Signale erfolgt über Lese-Testschritte in einem Package. Zur Laufzeit wird jeweils der nächste über das Nachrichtenübertragungsmedium gesendete Wert zurückgegeben. Es findet kein Caching bzw. Halten des letzten Wertes statt.