Von Driver-Only bis Roboter-Taxi – die Herausforderungen beim automatisierten Fahren

In vielen Science Fiction Filmen gehören selbstfahrende Autos schon seit den späten 80ern zum Alltag. Prominente Beispiele sind die Actionserie Knight Rider, in der der Hauptdarsteller ein sprechendes, mit künstlicher Intelligenz ausgestattetes Auto fährt, oder Batmans Batmobil. Ein anderes Beispiel ist der Film Total Recall (1990). Hier flieht der Hauptdarsteller in einem automatisch gesteuerten Taxi vor seinen Verfolgern. Die in diesen Filmen beschriebenen Fahrzeuge entsprechen vor allem den Stufen 4 und 5 des automatisierten Fahrens. Das bedeutet, der Fahrer kann die Fahrzeugführung komplett an das Fahrzeug abgeben oder gar, dass es keinen Fahrer mehr gibt, sondern nur noch Passagiere.

Während in den Science Fiction Filmen automatisierte und sogar selbstfahrende Autos bereits Standard sind, sieht die Realität ganz anders aus. Auch heute sind wir von den Stufen 4 und 5 des automatisierten Fahrens noch recht weit entfernt – aus technischen und rechtlichen Gründen.

Aber was genau sind eigentlich die verschiedenen Stufen des automatisierten Fahrens und wo liegen die größten Herausforderungen?

Die fünf Stufen beim automatisierten Fahren

Assistiert, teilautomatisiert, hochautomatisiert, vollautomatisiert, autonom: Diese Begriffe beschreiben die verschiedenen Stufen bis hin zum autonomen Fahrzeug, in denen der Fahrer stufenweise immer mehr Verantwortung an das Auto abgibt.

Die verschiedenen Techniken rund um das automatisierte Fahren werden in fünf Stufen eingeteilt.

Je höher die Stufe, desto höher ist auch der Grad der Automatisierung des Fahrzeugs. Die jeweilige Stufe sagt aus, in welchem Umfang das Auto die Aufgaben des Fahrers übernehmen kann.

Stufe 0 – „Driver-only“

Stufe  0 – „Driver-only“ beschreibt ein nicht automatisiertes Fahrzeug. Bei dieser Stufe ist der Fahrer selbst vollständig für Querführung (lenken) und Längsführung (Geschwindigkeit halten, Gas geben und Bremsen) zuständig. Fahrzeuge, die komplett Stufe 0 entsprechen, gibt es in Deutschland immer weniger. Denn zumindest ein Antiblockiersystem (ABS) ist bei neuen Fahrzeugen mittlerweile Standard. Und diese Systeme können bereits in die Längsführung eingreifen.[1]

Stufe 1 – assistiertes Fahren

Beim assistierten Fahren unterstützen einzelne Assistenzsysteme bei bestimmten Fahraufgaben. Das kann sich auf die Quer- oder auf die Längsführung eines Fahrzeugs beziehen. Auch in Stufe 1 beherrscht der Fahrer jedoch ständig sein Fahrzeug und muss den Verkehr im Blick behalten. Er haftet auch für Schäden und Verkehrsverstöße.

Das assistierte Fahren ist schon heute in vielen Autos Realität. Ein Beispiel für ein in vielen Fahrzeugen vorhandenes Assistenzsystem ist der Tempomat. Dieser sorgt dafür, dass die gewählte Geschwindigkeit beibehalten wird. Der Sicherheitsabstand zum vorausfahrenden Fahrzeug kann durch den automatischen Abstandsregeltempomat (ACC, Adaptive Cruise Control) kontrolliert werden:  Dieser bremst oder beschleunigt das Auto, je nach Entfernung zum vorausfahrenden Fahrzeug. Auch der automatische Spurhalteassistent (LKAS, Lane Keeping Assistant System) wird häufig in Fahrzeugen verbaut.

Stufe 2  –  teilautomatisiertes Fahren

In der Stufe 2 spricht man von teilautomatisiertem Fahren. In dieser Stufe kann der Fahrzeugführer in einem bestimmten Anwendungsfall sowohl die Quer- als auch die Längsführung an das Fahrzeug übergeben. Das heißt, das Auto kann manche Aufgaben zeitweilig eigenständig ausführen – ohne den Eingriff eines Menschen. Beispielsweise ist ein Stufe-2-Fahrzeug in der Lage, auf der Autobahn gleichzeitig zu bremsen, zu beschleunigen und die Spur zu halten.[2]

Um das zu erreichen, kombinieren die Autohersteller verschiedene Assistenten – in diesem Fall den Brems- und Spurhalteassistent mit dem Abstandsregeltempomat. Eine weitere Stufe-2-Funktion ist das automatische Einparksystem, bei dem der Fahrer nicht mehr zum Lenkrad greifen muss.

Im Gegensatz zum assistierten Fahren kann der Fahrer beim teilautomatisierten Fahren die Hände kurz vom Steuer nehmen, wenn der Pkw im teilautomatisierten Modus fährt.

Wie in Stufe 1 muss der Fahrer jedoch weiterhin das Fahrzeug und den Verkehr während der Fahrt ständig im Blick haben. Er ist dafür verantwortlich, die Assistenzsysteme stets zu überwachen und Fehlfunktionen zu erkennen und zu korrigieren. D.h. er muss auch jederzeit dazu in der Lage sein, die Steuerung des Fahrzeugs – ohne Ankündigung –  zu übernehmen und ist auch im Falle eines Unfalls verantwortlich.

Stufe 3 –  hochautomatisiertes Fahren

Im Gegensatz zu Stufe 2 erkennt das System beim hochautomatisierten Fahren selbstständig seine Grenzen. Tritt ein solcher Fall ein, fordert das Auto den Fahrzeugführer zur Übernahme auf.

Hochautomatisierte Fahrzeuge sind in der Lage, bestimmte Fahraufgaben selbstständig und ohne menschliche Eingriffe zu bewältigen. Beispielsweise überholen, bremsen oder beschleunigen sie – je nachdem, wie es die Verkehrssituation erfordert. Dies ist jedoch nur für einen begrenzten Zeitraum und unter geeigneten, vom Automobilhersteller vorgegebenen Bedingungen, möglich.

Der Fahrer eines Stufe-3-Fahrzeugs darf seine Aufmerksamkeit in einem solchen hochautomatisierten Anwendungsfall vorübergehend von der Autofahrt und dem Straßenverkehr abwenden. Das bedeutet, er darf zum Beispiel Zeitung lesen oder sich Fahrgästen auf den Rücksitzen zuwenden. Er muss jedoch auf Anforderung durch das System kurzfristig das Fahrzeug übernehmen, d.h. er muss sich jederzeit bereithalten.

Autobahnen bieten die besten Bedingungen, um Stufe 3 Fahrzeuge einzusetzen: Dort sind die Fahrbahnmarkierungen in der Regel in Ordnung, es gibt es keinen Gegenverkehr und die Straßen sind durchgängig digital erfasst.

Einige rechtliche Fragen sind bei Stufe 3 Fahrzeugen jedoch noch ungeklärt – z.B. wer das Bußgeld bezahlen muss, sollte das Assistenzsystem im teilautomatisierten Modus ein Tempolimit missachten. [3]

Stufe 4 –  vollautomatisiertes Fahren

Ab der Stufe vollautomatisiertes Fahren kann der Fahrer die komplette Fahrzeugführung an das System übergeben. Der Fahrer wird somit zum Passagier. Der Pkw bewältigt dann Fahrten auf bestimmten Strecken völlig selbstständig. Das Fahrzeug könnte beispielsweise auf die Autobahn auffahren, sich in den Verkehr einordnen, bei Bedarf bremsen, beschleunigen oder überholen und die Autobahn anschließend wieder verlassen. Nach einer solchen vollautomatisierten Fahrt kann ein Passagier das Steuer wieder übernehmen, er muss jedoch nicht. [4]

Der Hauptunterschied zur Stufe 3 ist, dass das System bei der Vollautomatisierung aus jeder Ausgangslage heraus wieder in einen sicheren Zustand zurückkehren muss – auch dann, wenn der Fahrer nicht übernimmt. Das heißt, es muss seine Grenzen so frühzeitig erkennen, dass es wieder einen sicheren Zustand erreichen kann und nach der Autobahnfahrt beispielsweise einen Parkplatz ansteuern.

Die Passagiere eines Stufe 4 Autos dürfen sich während einer vollautomatisierten Fahrt anderen Tätigkeiten widmen, z.B. schlafen oder ihr Smartphone verwenden. Während einer vollautomatisierten Fahrt haften die Passagiere nicht für Unfälle oder sonstige Verkehrsverstöße. Ein solches Fahrzeug darf sogar ohne Passagiere fahren. [5]

Ein rechtlicher Rahmen fehlt allerdings bislang für vollautomatisierte Fahrten – Rechte und Pflichten der Fahrer sind aus diesem Grund noch nicht verbindlich.

Stufe 5 –  autonomes Fahren

Die letzte Entwicklungsstufe wird als das autonome bzw. fahrerlose Fahren bezeichnet. Das Fahrzeug wird jetzt komplett vom System geführt und erledigt alle dafür notwendigen Aufgaben.  Es kann die Fahrt auf allen Straßentypen, in allen Verkehrssituationen und Umfeldbedingungen vollständig allein durchführen. Fahrten ohne Insassen sind ebenfalls möglich und die Passagiere haften nicht für Unfälle oder sonstige Verkehrsverstöße. In dieser Stufe gibt es auch keinen Fahrer mehr, sondern nur noch Passagiere. Der rechtliche Rahmen für autonome Fahrzeuge ist allerdings noch unklarer als der für Stufe-4-Fahrzeuge. Rechte und Pflichten der Passagiere, Automobilhersteller, Softwarehersteller und der Versicherung müssen deswegen erst noch geklärt werden. [6]

Automatisiertes Fahren – und wo sind wir heute?

Die Stufen 4 und 5 sind bisher jedoch noch Zukunftsmusik. Heute sind wir an der Schwelle zum hochautomatisierten Fahren (Stufe 3). Assistenzsysteme sind mittlerweile weit verbreitet und viele neue Fahrzeuge entsprechen bereits Stufe 2 (teilautomatisiertes Fahren).

Backendbasierte Fahrerassistenzsysteme für automatisiertes Fahren

Hochautomatisiertes Fahren zeichnet sich vor allem dadurch aus, dass die Verantwortung vom Mensch zur Maschine übertragen wird. Der Fahrer muss das System nicht mehr ständig überwachen, sondern wird vom System aufgefordert, wenn er die Fahraufgabe übernehmen muss.

Für solche hochkomplexen Systeme werden zahlreiche Informationen zu Verkehrssituationen, Umwelteinflüssen und möglichen Gefahren benötigt.

Reichen die, mithilfe der Technik im Fahrzeug, ermittelbaren Daten nicht aus, wird ein zusätzliches IT Backendsystem benötigt. Dabei handelt es sich um ein zentrales Serversystem, in dem die Informationen vieler Fahrzeuge gesammelt werden können, z.B. zu gemeldeten Verkehrsereignissen oder Gefahren.

Warnung vor lokalen Gefahren wie Glätte oder Unfällen

Ein solches Backendsystem kann für unterschiedliche Funktionalitäten verwendet werden. So schafft es beispielsweise die Möglichkeit, dass lokale Gefahren wie Glätte oder Unfälle an ein zentrales System gemeldet und von dort aus von weiteren Fahrzeugen abgerufen werden können. Diese Informationen können dann – z.B. abhängig vom Standort – noch nach Relevanz für das anfragende Fahrzeug gefiltert werden.

Abgleich digitaler Karten mit der Realität

Außerdem ist es entscheidend, dass die hochgenauen digitalen Karten, die für automatisierte Fahrfunktionen benötigt werden, immer der Realität entsprechen. Aus diesem Grund ist eine Detaillierung und Erweiterung bestehender Karten notwendig. Durch eine Backendanbindung der Fahrzeuge kann ein Abgleich zwischen digitalen Karten und der Realität ermöglicht werden.

Parkplatzsuche erleichtern

Daneben gibt es weitere Anwendungsfälle, die für Autofahrer interessant sein könnten, z.B. die Parksituation. Um nicht unnötig Zeit mit der Suche nach einem freien Parkplatz zu verschwenden, ließe sich über ein Backendsystem eine Funktionalität bereitstellen, in der Informationen zu geparkten Fahrzeugen gesammelt werden. Dies könnte dann von einem anfragenden Fahrzeug abgefragt werden.

Aktuelle Verkehrsinformationen und variable Geschwindigkeitsbegrenzungen

Ein anderer Anwendungsfall sind aktuelle Informationen zum Verkehrsaufkommen. Diese können von einem Fahrzeug an das Backendsystem gemeldet werden und stehen dann für weitere Fahrzeuge zur Verfügung. Dadurch lässt sich beispielsweise die Zeit, die ein Fahrzeug für eine bestimmte Strecke benötigt, genauer ermitteln. Dasselbe gilt für variable Geschwindigkeitsbegrenzungen, z.B. aufgrund von Baustellen.

Herausforderungen backendbasierter Assistenzsysteme

Die IT-Systeme werden zunehmend komplexer, sowohl im Backend als auch im Fahrzeug. Die Beherrschung dieser Komplexität, besonders im Hinblick auf die zuverlässige Situationserfassung und Ausfallsicherheit, stellt eine der größten Herausforderungen beim automatisierten Fahren dar. Für die unterschiedlichen Automatisierungsstufen müssen international standardisierte Testverfahren entwickelt werden. Eine entscheidende Rolle spielt z.B. die Verlagerung des großen Testaufwandes in eine frühe, virtuelle Entwicklungsphase. [7]

Ein weiteres großes Thema ist die Benutzerfreundlichkeit und die Schnittstelle zwischen Mensch und Fahrzeug. Beispielsweise müssen hochautomatisierte Stufe-3-Fahrzeuge den Fahrer informieren, wenn dieser die Fahraufgabe wieder übernehmen muss. Dazu gibt es verschiedene Möglichkeiten wie akustische Signale oder Sprachausgaben. [8]

Umso komplexer die Systeme, desto zentraler wird auch die enge Verbindung von Software und Hardware. Und gerade bei backendbasierten Fahrerassistenzsystemen wird so der domänenübergreifende Austausch zwischen Ingenieuren und Informatikern immer wichtiger. Silodenken funktioniert nicht mehr, stattdessen ist es wichtig, über den eigenen Tellerrand zu blicken.

Fazit

Um vom heute vorherrschenden assistierten Fahren vom autonomen Fahren zu gelangen, müssen noch ein paar Stufen überwunden werden, die zahlreiche technische, rechtliche und auch menschliche Herausforderungen mit sich bringen. Aktuell stellen wir uns dafür insbesondere den Herausforderungen, die Stufe 3 – das hochautomatisierte Fahren – mit sich bringt. Unsere Projekte reichen von vernetzten Fahrzeugdiensten – wie einem elektronischen Fahrtenbuch – über eine Testplattform, die verschiedene Simulationstools für Fahrfunktionen kombiniert, bis hin zu Backenddiensten, die für anfragende Autos aktuelle und relevante Informationen zu Verkehrssituationen bereitstellen. Die beschriebenen Projekte basieren auf komplexen Microservice-Architekturen, die besonders hohe Anforderungen an Themen wie Performanz, Ausfallsicherheit und Skalierbarkeit stellen. Aus diesem Grund wird es zum einen immer wichtiger, sich mit High Performance Applications auseinander zu setzen. Zum anderen müssen die rechtlichen und gesellschaftlichen Fragen geklärt werden, die mit dem Thema einhergehen.


 

Du willst auch Projekte im Umfeld autonomes Fahren und High Performance Applications machen? Dann komm in unser Team.  Jetzt bewerben

 


Quellen

[1] https://www.heise.de/ct/artikel/Was-ist-der-Unterschied-zwischen-einem-autonomen-Auto-und-einem-autonomen-Auto-2773184.html

[2] Verband der Automobilindustrie: Von Fahrerassistenzsystemen zum automatisierten Fahren, in: VDA Magazin — Automatisierung

[3] https://www.adac.de/rund-ums-fahrzeug/autonomes-fahren/autonomes-fahren-5-stufen/

[4] https://www.adac.de/rund-ums-fahrzeug/autonomes-fahren/autonomes-fahren-5-stufen/

[5] https://www.adac.de/rund-ums-fahrzeug/autonomes-fahren/autonomes-fahren-5-stufen/

[6] https://www.adac.de/rund-ums-fahrzeug/autonomes-fahren/autonomes-fahren-5-stufen/

[7] https://www.euroforum.de/adfd/2017/06/23/die-herausforderungen-beim-hochautomatisierten-fahren/

[8] https://www.deutschlandfunk.de/auto-mensch-schnittstelle-eine-technische-herausforderung.676.de.html?dram:article_id=313536

Condition-Based Maintenance für Seilbahnen mit ZF ProVID

Ob beim Skifahren, Wandern oder gar als Transportmittel innerhalb einer Großstadt: In all diesen Situationen kommen Seilbahnen zu Einsatz. Häufig befinden sich diese an schwer zugänglichen Orten. Trotzdem müssen diese Anlagen regelmäßig geprüft und gewartet werden. Hin und wieder steht auch der Austausch von Verschleißteilen an. Wäre es da nicht praktisch, wenn Serviceabteilungen bereits aus der Ferne grundlegende Überprüfungen durchführen könnten, ohne jedes Mal vor Ort sein zu müssen?Mehr

Convention over Configuration in Spring Boot

Komplexe Konfigurationen für eine simple Testanwendung gehören der Vergangenheit an: Mit Convention over Configuration in Spring Boot lässt sich die Komplexität von Konfigurationen stark reduzieren: Solange man sich an die Konventionen hält, die das Framework vorgibt, entfallen viele manuelle Konfigurationen. Beispielsweise werden die passenden Spring Beans erzeugt, wenn bestimmte Klassen im Pfad enthalten sind. Sind die passenden Beans hingegen bereits durch eine manuelle Konfiguration vorhanden, werden sie auch nicht erzeugt. [1]

Eine Spring Boot Anwendung kann über die vom Framework festgelegten Standardkonfigurationen somit schnell lauffähig gemacht werden, der Entwickler kann diese jedoch auch problemlos überschreiben.

Mehr

Swagger: Wenn die Schnittstellen-Dokumentation sich selber schreibt

„Der Quelltext ist die Dokumentation.“ Diesen Satz hört man oft, wenn es um die Dokumentation in Entwicklungsprojekten geht. Gerade wenn Zeit und Budget knapp sind wird gerne an der Dokumentation des Softwaresystems gespart. Diese ist zwar zeitaufwendig, jedoch hilfreich für die Wartung und Weiterentwicklung des Systems. Das ist besonders dann der Fall, wenn die Software nicht von dem Team gewartet bzw. erweitert wird, das sie entwickelt hat. Häufig wächst die Dokumentation jedoch nicht gleichmäßig mit dem entwickelten System und bleibt manchmal aufgrund von Termindruck sogar ganz auf der Strecke.[1]Mehr

Microsoft liebt Linux: Microsoft auf neuem Kurs

Microsoft versteckt sich nicht länger hinter den Mauern seines eigenen Betriebssystems. Die bereits in den vergangenen Jahren begonnene Öffnung des Ökosystems gegenüber der Außenwelt wurde im letzten Jahr stetig vorangetrieben. So ist Microsoft .NET Core auch für Linux und Mac OS X verfügbar und auch der SQL Server läuft auf Linux. Mit Visual Studio können Linux-Binaries erzeugt werden und auf Microsoft Azure laufen Betriebssysteme, die nicht von Microsoft sind. Auch die Linux Shell Bash ist in Zukunft unter Windows zu finden. [1]Mehr

“it works on my machine“ – zeitgemäßes Einrichten der Entwicklungsumgebung

Wenn ich als Entwickler in ein Projekt einsteige, möchte ich sofort mit der Entwicklung beginnen können, ohne zuvor jedes Mal viel Zeit zu investieren, um meine Entwicklungsumgebung aufzusetzen. Wenn ich erst im Laufe des Projektes hinzustoße, möchte ich eine Entwicklungsumgebung mit demselben Stand wie die bereits am Projekt arbeitenden Entwickler – inklusive aller projektspezifischen Einstellungen wie Code Formatierung, Plugins und Erweiterungen.Mehr

Angular Material Design VS Bootstrap UI

Die Bedeutung von MVC JavaScript Frameworks für die Frontend-Entwicklung im Enterprise Umfeld hat in den letzten Jahren stark zugenommen, wichtige Aspekte sind dabei Wiederverwendbarkeit, Skalierbarkeit und Wartbarkeit der Anwendungen [1]. Durch die zunehmenden Bestrebungen zur JavaScript-Standardisierung, lassen sie sich auch für komplexe Webanwendungen einsetzen. Aufgrund ihres höheren Abstraktionsgrades führen sie im Vergleich zu Frameworks wie jQuery zu einer besseren Codequalität sowie zu Geschwindigkeitsvorteilen bei der Entwicklung.

UI Frameworks in Kombination mit AngularJS

Eines der populärsten Frontend Frameworks für komplexe Anwendungen ist das von Google entwickelte AngularJS. Um das User Interface umzusetzen gibt es mehrere Möglichkeiten, die alle ihre Vor- und Nachteile haben.
Zwei interessante Alternativen sind Angular Material und UI Bootstrap. Beide sind quelloffen und auf GitHub verfügbar.

Mehr