For a better experience on dSPACE.com, enable JavaScript in your browser. Thank you!

Wie Adaptive AUTOSAR autonomes Fahren ermöglicht

Veröffentlicht: 01.10.2018

Sven Flake, Product Engineer Virtual Validation, dSPACE GmbH

In meinem letzten Beitrag habe ich über virtuelle Steuergeräte gesprochen, und ich habe AUTOSAR als Grundlage für den einfachen Austausch von Software-Funktionen hervorgehoben. Dabei ging es jedoch um das klassische AUTOSAR, genauer gesagt um die AUTOSAR Classic Platform. Im Kontext des autonomen Fahrens spricht man von Adaptive AUTOSAR oder auch von der AUTOSAR Adaptive Platform.

Als die Adaptive Platform zum ersten Mal in Gesprächen mit Kunden auftauchte, klang das ungefähr so:
Kunde: „Wir brauchen flexible Software-Architekturen, um Updates over-the-air durchzuführen."
Ich: „Wie wollen Sie das anstellen?”
Kunde: „Wir wissen es noch nicht, aber Adaptive AUTOSAR wird es schaffen."

Das war ein paar Monate vor dem ersten Release der Adaptive Platform. Unsere Erwartungen waren hoch und passten perfekt zu dem Eifer, mit dem die dSPACE Kollegen bereits daran arbeiteten, unsere Software-in-the-Loop-Toolkette „adaptiv“ zu machen.

Natürlich ist da etwas Grundsätzliches, das man sich bewusst machen muss: Adaptive AUTOSAR ist kein Nachfolger des klassischen AUTOSAR; das eine ersetzt nicht das andere. Stattdessen ist es eine alternative Möglichkeit, Steuergeräte-Software zu definieren und die Art, wie sie auf Steuergeräte-Hardware – oder auf virtuellen Maschinen – ausgeführt wird.

Warum eine weitere AUTOSAR-Plattform?

Was ist der Grund für die Einführung einer neuen Plattform? AUTOSAR ging 2002 an den Start und hat heute mit der AUTOSAR Classic Platform eine ausgereifte Version 4. Wenn Sie auf der Suche nach einem modularen Standard für die Programmierung und den Austausch von eingebetteter Software im Automobilbereich sind, empfehlen wir Ihnen, diesen zu verwenden.

Aber die Automobilindustrie erfindet sich neu. Mit dem autonomen Fahren haben sich die Anforderungen an Software-Architekturen grundlegend verändert.

Bedenken Sie, dass selbstfahrende Autos Folgendes können müssen:

  • Kommunizieren mit ihrer Umgebung.
  • Beobachten ihrer Umgebung mit einer Vielzahl von Sensoren.
  • Basierend auf diesen Daten Fahrentscheidungen treffen, die meisten davon entscheidend für unsere Gesundheit und manchmal auch für unser Leben.

Lassen Sie uns das in eher technische Begriffe übersetzen:

  • Unser Auto fungiert als ein weiteres Gerät und ist mit allem verbunden. Zum Beispiel mit Ihrem Smart Home. Aber in erster Linie ist die Kommunikation mit Daten-Back-ends gemeint, mit weiteren Fahrzeugen und mit der Ampel an der Ecke.
  • Dafür nutzt das Fahrzeug das Medien-Streaming. Nicht als Unterhaltungsprogramm für die Kinder auf der Rückbank, sondern für die Sensoren, die kontinuierlich die Umgebung scannen und riesige Datenmengen erzeugen, um sicherzustellen, dass Ihr Autobahnpilot oder Ihre Notbremsung funktioniert.
  • Dafür ist ausreichend Rechenleistung notwendig, um hochmoderne neuronale Netze betreiben zu können, die Sensordaten interpretieren und richtige Entscheidungen treffen.
  • Das Fahrzeug muss regelmäßig mit der neuesten Software aktualisiert werden, und das möglichst nicht in der Werkstatt.

Dies sind nur Beispiele für derzeitige Überlegungen im Zusammenhang mit teilautomatisiertem und autonomem Fahren.

Sie haben großen Einfluss darauf, wie Software entwickelt werden muss.

Jedem eine eigene Software-Architektur

Wenn Sie entscheiden, wie Sie die Software entwickeln, dann müssen Sie sich auch für eine bestimmte Architektur entscheiden, was nicht ganz unwichtig ist. Jede Software-Architektur verfolgt einen Zweck.

Mit der AUTOSAR Classic Platform entwerfen Sie eine Software-Architektur mit einem bestimmten Ziel. Es geht ausschließlich um Software, die "tief eingebettet" ist:

  • Sie läuft auf kleiner, spezieller Hardware (in Bezug auf die Rechenleistung).
  • Die Software ist konzipiert und erstellt für Steuergeräte und kann darauf ausgeführt werden, ohne dass sie geändert werden muss.
  • Die Kommunikation zielt (hauptsächlich) auf die zyklische Übertragung von relativ kleinen Datenpaketen über traditionelle automotive Busnetze wie CAN ab.

Nichts davon harmoniert mit unserer Erwartungshaltung an autonomes Fahren. Schon an den drei Beispielen sehen wir, dass neue Anforderungen erfüllt werden müssen:

  • Kontinuierliche Datenströme der Sensoren müssen zwischen zwei oder drei Funktionen ausgetauscht werden, im Gegensatz zu kleinen Paketen, die an das gesamte Netzwerk übertragen werden.
  • Mehr Rechenleistung, um Zahlen wirklich schnell zu berechnen – auch mit Unterstützung von Grafikprozessoren (GPUs).
  • Flexible Software, die zur Laufzeit ausgetauscht werden kann und die sich auch mit modernsten Web-Systemen verbinden lässt (Denen ist es egal, welches Kommunikationsprotokoll im Auto verwendet wird).

Die AUTOSAR Classic Platform ist einfach nicht für autonomes Fahren ausgelegt. Deshalb hat AUTOSAR die Adaptive Platform entwickelt – mit genau diesen neuen Anforderungen vor Augen.

Flexibilität ist Trumpf

Mit der Adaptive Platform werden die Busnachrichten zwischen Software-Funktionen nicht mehr zyklisch alle auf einmal gesendet, sondern serviceorientiert. Eine „adaptive Anwendung“ (in der Classic Platform als „Software-Komponente“ bezeichnet) meldet, welche Daten sie bereitstellen kann und welche Daten sie benötigt. Ein Brokering Service findet die richtige Übereinstimmung und die beiden Anwendungen kommunizieren direkt.

Darüber hinaus basiert die untergeordnete Kommunikation nicht mehr auf CAN oder anderen klassischen automotiven Bussystemen, die eigene Protokolle verwenden, sondern auf Ethernet. Neben der Ethernet-Kommunikation erregt derzeit SOME/IP [http://some-ip.com] deutlich mehr Aufmerksamkeit. Als serviceorientierte Middleware-Schicht definiert es die tatsächliche Art und Weise, wie Anwendungen kommunizieren. Beispielsweise müssen Sie zyklische Triggerzeiten nicht mehr direkt im Code-Verhalten festlegen.

Als jemand, der aus der Welt der Classic Platform kommt, verstehe ich den Austausch von Software zur Laufzeit in nicht eingebetteten Kontexten, aber nicht den im AUTOSAR-Kontext. Der Grund dafür liegt auf der Hand. Mit der Classic Platform wird die Kommunikation zwischen den Software-Komponenten fest definiert und durch die AUTOSAR Runtime Environment (RTE) zum Leben erweckt. Diese übersetzt im Anschluss daran die Kommunikation von der Architektur- auf die Steuergeräte-Ebene. Dies geschieht durch die Auflösung statischer Makros und deren Übersetzung in entsprechende Basissoftware-Aufrufe, zum Beispiel um sie in Busnachrichten zu wrappen.

Wenn Sie Software bevorzugen, die zur Laufzeit ausgetauscht werden kann, funktioniert dieses Vorgehen nicht. Die Adaptive Platform schaltet die Nachteile der fest definierten Kommunikation durch die Implementierung einer serviceorientierten Kommunikationsarchitektur aus.

Dadurch arbeitet die adaptive Version der AUTOSAR Runtime Environment (ARA, AUTOSAR Runtime for Adaptive Applications) unabhängig von den eigentlichen Anwendungen. Sie stellt ausschließlich den Brokering Service bereit. Die Kommunikation wird zwischen allen Anwendungen hergestellt, die danach fragen,

Das Endergebnis? Sie können Software zur Laufzeit hinzufügen oder ersetzen, da die Kommunikation erst nach dem Start der Software automatisch aufgebaut wird – sie wird im Gegensatz zur Classic Platform nicht in der Entwurfsphase festgelegt.

Lasst das Programmieren beginnen

Eine letzte Anmerkung zur Flexibilität: Wir alle wissen, dass modernste autonome Antriebssysteme, insbesondere im Rahmen der Sensordatenverarbeitung, auf Linux-Systemen entwickelt werden. Wir brauchen die gesamte Flexibilität, die ein Betriebssystem bietet, einschließlich flexibler Speicherzuweisung, Thread-Handling usw. Auf diese Flexibilität wollen und können wir nicht verzichten, nur weil wir unseren Code für ein spezielles Steuergeräte-Betriebssystem kompilieren müssen.

Aus diesem Grund basiert die Adaptive Platform auf einem POSIX-Interface. Durch die Bereitstellung der Anwendungen auf einer adaptiven Plattform können Entwickler nun alle Vorteile ihres geliebten Linux nutzen.

Das ist doch etwas, oder?

Zusammenfassung

Meine persönliche Schlussfolgerung ist, dass die Adaptive Platform eine Schwester der Classic Platform ist. Beide Plattformen haben die gleichen Vorfahren, die gleiche Absicht: Bereitstellen von Methoden und einem Standard zur Entwicklung hochwertiger automotiver Software.

Sie ergänzen sich gegenseitig: Die Classic Platform ist auf effiziente, tief eingebettete Funktionen der klassischen Automobilbereiche spezialisiert, während die Adaptive Platform auf die sich entwickelnde Domäne des autonomen Fahrens abzielt, mit all der Flexibilität, die dieser Bereich erfordert und die wir in Bezug auf Software-Architektur, Kommunikationsmittel und Rechenleistung erreichen können.

Deshalb brauchen wir beide.

Und bei dSPACE unterstützen wir beide. Unser nächster Beitrag wird auf die Details eingehen.

Weiterführende Informationen