Es ist schon lange davon zu lesen, dass die Art der Softwaregestaltung maßgeblich die Charakteristik des Autos, je nach Hersteller, prägt. Ein Daimler wird das ESP wohl eher soft und sicher auslegen, ein Porsche wohl eher im Grenzbereich die Parameter setzen. Doch wie geht es weiter, vor allem in Bezug zur vollautonomen Fahrt?
Mit der zunehmenden Unterstützung des Fahrers und immer besseren und detaillierteren Erkennungsmöglichkeiten für Umgebung und Situationen, müssen die Algorithmen auch immer schwierigere Entscheidungen treffen.
Jüngst hat Google ein paar ausgewählte Beispiele aus dem städtischen Umfeld präsentiert. Die Algorithmen interpretieren komplexe Situationen erstaunlich gut.
Eine logische Weiterentwicklung des Gesamtkonstrukts wird an den Punkt führen, an dem ein Software-Ingenieur tatsächlich ethische Fragen mit den Kollegen diskutieren muss.
Menschen machen Fehler
Man darf nicht vergessen, dass der Grund, weshalb überhaupt jemand angefangen hat Autos sicherer zu gestalten, das menschliche Fehlverhalten war. Gäbe es keine Unfälle, bestünde auch kein Bedarf, die Karosserie 500kg schwerer zu gestalten, nur um den Insassen das Überleben zu ermöglichen (passive Sicherheit).
Die Assistenzsysteme kommen hinzu, sind eine präventive Maßnahme (aktive Sicherheit).
Da es präventive Maßnahmen sind, müssen sie auch vor Eintreten eines Unfalls wirken. Der Mensch hat im Allgemeinen eine relativ schlechte Reaktionszeit. Oftmals ist er sogar unaufmerksam, erschrocken oder trifft Fehlentscheidungen. Doch in vielen Fällen ist eine Kollision einfach unvermeidlich, auch für autonome Fahrzeuge.
Algorithmen machen nur was sie sollen
Grundsätzlich ist ein Algorithmus eine fest definierte Handlungsabfolge. Ein Software-Ingenieur hat irgendwann mal definiert, was im Falle X passieren soll. Dabei gibt es unzählige clevere Kombinationsmöglichkeiten, von Kalman-Filter über Stateflows bis hin zu Neuronalen Netzen, welche erstaunlich gute Entscheidungen treffen können.
Aber eben nur ihm Rahmen ihrer Möglichkeiten.
Kollision unvermeidlich – was tun?
Eine wirklich komplizierte Frage ist nun, wie ein autonomes Fahrzeug handeln soll, wenn es feststellt, dass alle Optionen (der Algorithmus geht den Entscheidungsbaum für die mögliche Ansteuerung der Aktorik – also Lenken, Bremsen, Beschleunigen – durch) zum Crash führen würden.
Typisch für solche Situationen ist, dass die Zeitspanne so kurz ist, dass es auch keine Option ist, eine Lampe im Cockpit einzuschalten, welche den Fahrer zur Handlungsübernahme auffordert. Auch der Mensch kann die Situation nicht retten, schlicht weil er zu langsam ist.
Baum oder Gegenverkehr?
Interessanter Weise habe ich diese Frage schon vor ein paar Jahren gestellt, damals aber ohne an autonome Fahrt zu denken. Man nehme nun beispielsweise die Situation, dass man auf einer Landstraße unterwegs ist und ein entgegenkommendes Fahrzeug hat sich mit dem Überholvorgang verschätzt. Das eigene (autonome) Fahrzeug merkt, dass es eine Kollision geben wird. Der Algorithmus schätzt alle Ausweichtrajektorien ab:
Vollbremsung
Der Nachteil bei einer Vollbremsung ist, dass man sich nicht mehr bewegen kann, wenn man still steht. Es kann also sein, dass selbst ein vollständiges Abbremsen nicht immer die beste Option ist. Wenn es möglich wäre, ist es auf jeden Fall die beste Variante, um dem Crash etwas Energie zu entziehen. Gehen wir aber mal davon aus, dass die Zeiträume zu kurz sind, um damit den Crash zu vermeiden.
3. Spur auf machen
Rein rechnerisch würde der Platz auf vielen Straßen reichen, der Korridor zwischen den beiden entgegenkommenden Fahrzeug und dem Straßenrand ist breit genug. Doch was, wenn es doch nicht klappt und eine Frontalkollision mit nur geringer partieller Überdeckung die Folge ist? Diese hat – statistisch gesehen – eine sehr hohe Mortalitätsrate, weil unter Umständen kein richtig absorbierendes Teil der Karosserie die Energie aufnehmen kann und beispielsweise das Vorderrad in den Innenraum eindringen könnte.
Kollision gegen einen Baum
Auch hier das Problem, dass das Kollisionsobjekt kaum Energie aufnimmt, relativ klein ist und nicht gut (im Sinne von Crash-Kompatibilität) getroffen wird.
Kollision mit dem Gegenverkehr
Eine weitere Option, welche aber natürlich ebenfalls nicht schön ist.
Auch aus ethischen Gesichtspunkten, denn im entgegenkommenden Fahrzeug sitzen ja auch Menschen.
Ethische Entscheidung – Schwere Entscheidung
Hier kann man nun beliebig in’s Detail gehen, wenngleich es eher theoretische statt praktische Fragen sind, denn die Sensorik ist derzeit nicht in der Lage die Eingangsparameter so detailliert zu ermitteln:
- Ist es ethisch korrekt, wenn das eigene Auto (also der Algorithmus) vorher abwägt, ob es die optimalste Entscheidung ist, mit dem entgegenkommenden Fahrzeug zu kollidieren?
- Was ist, wenn man selbst ein 2500kg schweres SUV ist und der Entgegenkommende detektierbar ein Kleinwagen, vielleicht mit schlechten Crash-Werten?
Sollte das Fahrzeug nur darauf achten die eigenen Insassen zu schützen (100% Egoismus) oder auch auf die Überlebenschance aller Beteiligten achten?
Ist es ethisch korrekt, wenn ein Fahrzeug beim Ausweichen eines Fahrradfahrers, welcher kein Helm trägt, die Kollision mit einem Fahrradfahrer riskiert, welcher einen auf hat?
Ist es ethisch korrekt, einem auf die Straße laufenden Kind auszuweichen, auch wenn man dabei eine erwachsene Person anfahren muss? Was ist, wenn die erwachsene Person einen Kinderwagen bei sich hat?
Software-Ingenieure sind auch nur Menschen
Weiterhin darf man nicht davon ausgehen, dass jede beliebige Situation korrekt interpretiert wird und die Handlung für alle beteiligten Menschen einwandfrei ist. Zwei verschiedene Menschen, welche in einen Unfall verwickelt sind, haben immer 2 unterschiedliche Geschichten, wie es dazu kam.
Nun ist noch ein Fahrzeug involviert, welches vielleicht ganz objektiv eine Entscheidung getroffen hat, die für den Menschen völliger Blödsinn war. Auch hier wird man sich vor Gericht treffen und diskutieren müssen, wie es dazu kam. Diesbezüglich ändert sich also eigentlich nichts.
Fazit
Die Hersteller werden den Autos entsprechende Handlungsanforderungen mit auf den Weg geben müssen. Auch hier, wie bei jedem Softwaredesign, werden entsprechende Charakteristika die Autos unterscheiden. In jedem Fall wird der Software-Ingenieur von ganz abstrakten Algorithmen zu ganz realen Schicksalen blicken und an der Weiterentwicklung arbeiten.
Auf dem Weg zu Vision Zero – Zeit für null Verkehrstote!
Titelbild: UR:BAN Projekt
via Wired.com
4 Comments
Hallo,
ich finde die Unterstürzenden Sicherheitselemente sind ein sehr gute Entwicklung in die Aktive Fahrsicherheit. Was mich ein wenig stört, dass man das Auto Voll automatisieren will. Wo bleibt da noch der Fahrspaß?
Vg. Maik Strunk
Auf der Rennstrecke, wo er hingehört :)
Die Thematik geht hier sehr stark in Richtung KI. Diese Entscheidungsalgorithmen werden aber mit Sicherheit nie explizit in ein Fahrzeug implementiert werden. Im besten Fall einer robusten Umgebungssensorik wird es auch nicht zu solchen Entscheidungsdilemmata kommen. Und bevor diese nicht wirklich redundant abgesichert wird, werden auch keine autonomen Fahrzeug auf der Straße fahren.
Und so wirft jede Lösung gleichzeitig neue Probleme auf. Der Teufel steckt bekanntlich im Detail…
Wobei ich nicht glaube, dass es sobald zu solchen Entscheidungen (Baum o. Gegenverkehr) kommen kann und wird. Dazu fehlen derzeit sicher noch die techn. Kapazitäten. Und wenn das dann doch mal möglich, wird wohl kein Konstrukteur / Programmierer drum rum kommen, eben zunächst im Sinne des “eigenen” Lenkers zu entscheiden und zu programmieren. Thats Life… so war es immer…