Was Vincent van Gogh mit selbstfahrenden Autos zu tun hat

van Gogh wird den Impressionisten zugeordnet. Er hat sich, ganz ein Kind seiner Zeit, einem naturalistischen Malstil verschrieben und die Realität ungeschönt abgebildet. Bekannt sind vor allem seine Bilder Nachtasyl und Die Kartoffelesser welche das harte Leben der einfachen Menschen zeigen. Geprägt wurde von van Gogh auch durch die Realität in den Kohlegruben in denen Bergarbeiter sehr früh gestorben sind. Ursache damals war, dass es weder Schutzkleidung gab, kein ausreichendes Licht und mangelnde medizinische Versorgung.

Heute gibt es zwar nicht mehr die Kohlegruben aus den Zeiten van Goghs, aber es gibt etwas ähnliches. Den Straßenverkehr. Würde heute van Gogh leben würde er vermutlich mit seiner Staffelei die Autobahnpolizei begleiten und all das zu Papier bringen was er täglich sieht: Auffahrunfälle, LKWs die in ein Stauende hineinfahren, eingeklemmte Väter sowie Massenunfälle mit vielen Toten. Ähnlich wie in den Kohlegruben von vor 100 Jahren wird das so hingenommen weil man keine Alternative weiß, außer eben nicht das Auto zu nutzen, was aber keine Alternative ist.

Der Ausweg ist simpel: im Grunde kann man das selbe tun, was auch damals mit den Kohlegruben gemacht wurde: sie technisch zu modernisieren. Also darüber nachzugrübeln wie man mit Erfindungen das Leben der Bergarbeiter vereinfacht bzw. auf die Gegenwart übertragen wie man das Leben der Autofahrer schont. Einen wichtigen Schritt in diese Richtung übernimmt gerade das Startup Waymo (früher als Google self-driving car bekannt) was in den USA die Straßenzulassung erhalten hat um die ersten selbstfahrenden Autos im Straßenverkehr zu testen. Wenn alles klappt, wird es irgendwann gelingen die Unfallrate von derzeit 1 Mio Toten jährlich pro Jahr zu senken.

Im Grunde ist es ziemlich einfach: man investiert einfach genügend Gehirnschmalz in eine self-driving-car Software, führt unendlich viele Tests durch und irgendwann hat man ein Auto, was fehlerfrei durch den Verkehr fährt und die Unfallrate auf 0 senkt. Das ganze ist ein Ingineurproblem. Na ja nicht nur, es ist auch eine Frage von Patentrecht und von Geldverdienen, aber das gehört in den USA zusammen.

Der Ansatz ist nicht unumstritten. Technikskeptiker weisen darum hin, dass sogenannte Selbstfahrende Autos meist mit 4 Personen besetzt sind. Der Fahrer, der die Hände immer am Lenkrad hat. Der Beifahrer mit einem schwerem Laptop auf dem Schoß. Auf dem Rücksitz noch ein Inginieur und daneben dann jemand von der Zulassungsstelle der wissen will, was die drei Herren mit dem Auto vorhaben. Andere Skeptiker sagen, dass autonome Autos niemals Realität werden, das man auch noch in 20 Jahren mit Laptops auf dem Beifahrersitz herumprogrammieren muss weil die Software doch nicht so gut ist wie erhofft. Fakt ist jedoch, dass die erste Dampfmaschine auch nicht über Nacht erfunden wurde, und bis das erste Flugzeug abgehoben ist vergingen sogar mehr als 100 Jahre. Das autonome Autos grundsätzlich möglich sind, kann man heute bereits in Computerspielen sehen. Dort fahren sie schon durch die virtuelle Stadt. Jetzt gilt es dies auch in der Realität nachzubilden.

Von dem Künstler Tom McGrath gibt es aus dem Jahr 2004 ein Ölgemälde mit dem Titel „car crash“.

Advertisements

Vision Zero–Anspruch und Wirklichkeit

Im obigen Clip wird „Vision Zero“ vorgestellt. Zwar dürfte allen klar sein, was das Ziel ist (null Verkehrstote) doch bei der Umsetzung mangelt es derzeit gerade in Europa. Im Video werden als Maßnahmen konkret vorgestellt: Fahrradfahrer bevorzugen, Verkehrsinseln um Autos von Fußgänger zu trennen, Geschwindigkeitsreduzierte Straßen. Ein wenig oberflächlich betrachtet bedeutet Vision Zero also das Auto zum Sündenbock zu machen und mit Tempo 30 Zonen zu reglementieren. Das Problem ist, dass das Konzept nicht funktioniert. Was im obigen Video leider nicht erwähnt wird, ist, dass gerade in dem fahrradfreundlichen Niederlanden die Anzahl der Verkehrstoten sehr hoch ist. Rund 1000 Personen sterben dort jedes Jahr auf den Straßen. Hinzu kommen zahlreiche Unfälle mit Folgeschäden. Will man Vision Zero ernsthaft angehen muss man sich für autonomes Fahren bekennen. Damit lassen sich tatsächlich die Unfälle auf Null reduzieren. Leider gibt es aktuell weder in den Niederlanden noch sonstwo in Europa Anstrengungen in diese Richtung. Ja, die meisten Bibliotheken schaffen es noch nichtmal, vorhandene Forschungsliteratur über Robotik ihren Studenten zugänglich zu machen (Stichwort Paywall) so dass zwischen Vision und Realität ein riesiger Unterschied besteht.

Eine Youtube Suche nach „dutch car crash“ brachte eine extrem hohe Trefferanzahl. Und das sind nur die Unfälle die mittels Dashcam aufgenommen wurden. Die Realität dürfte noch um einiges schlimmer ausfallen. Anders formuliert, wer behauptet, dass die Niederlande auf einem guten Weg sind, ihre Verkehrstoten zu senken der ignoriert die Realität.

Vision Zero in weiter Ferne

Laut der amtlichen Unfallstatistik ist die Zahl der Fahrradunfälle erstaunlich niedrig. Gerade einmal 78653 Unfälle gab es im Jahr 2014 https://www.adfc.de/presse/pressemitteilungen/zahl-der-radfahrunfaelle-gestiegen–adfc-fordert-sichere-radwege-elektronische-warnsysteme-weniger-tempo Man sollte jedoch erwähnen, dass es bei Fahrradunfällen eine extrem hohe Dunkelziffer um den Faktor 6 gibt http://www.upi-institut.de/UPI77Radunfaelle3.pdf Die tatsächliche Anzahl von Unfällen dürfte damit bei 500000 gelegen haben. Nicht weltweit, sondern nur auf Deutschland bezogen.

Patente sind unwichtig, Software ist entscheidend

https://www.heise.de/newsticker/meldung/Deutsche-Hersteller-bei-Patenten-zum-autonomen-Fahren-vorn-3813293.html Selbstfahrende Autos sind keineswegs auf Technologien angewiesen wie Kamera und Radar wie im obigen Text suggeriert, sondern was benötigt wird ist Software. Genauer gesagt benötigt man für selbstfahrende Autos schätzungsweise 10 Mio Lines of Code, im Zweifel sogar deutlich mehr. In diesen Codezeilen werden dann die Straßentrajektorien, das Mannöver bein Einparken sowie das Head-up Display spezifiziert. Die deutschen Autobauer sind bei der Softwareentwicklung nicht wirklich schlecht, siehe die Spezifikation https://en.wikipedia.org/wiki/OpenDRIVE_(specification) welche maßgeblich von Daimler, BMW und anderen ausgearbeitet wurde, aber gegenüber dem Silicon Valley gibt es was Softwareentwicklung angeht noch Defizite. Patente auf physische Sensoren und zur mechanischen Kopplung von Servomotoren mit dem Lenkrad sind nicht ausreichend, wenn die Systeme autonom fahren sollen.

Software zu patentieren ist zwar nicht generell unmöglich aber es ist schwierig. Im wesentlichen machen es Google und Co dadurch, dass sie ihre Codebasen geheim halten. Laut einem Wired Artikel sitzt der US-Amerikanische Konzern Google derzeit auf einer Codebasis von 2 Milliarden Zeilen, welches in einem riesigen Repository hinterlegt ist. https://www.wired.com/2015/09/google-2-billion-lines-codeand-one-place/ Vermutlich wird sich darin nicht nur der Code für die Suchmaschine selber befinden sondern auch Software um Autos zu steuern oder Paketdrohnen zu betreiben. Noch wichtiger als bereits geschriebener Code ist jedoch die Fähigkeit from scratch neuen Code zu erzeugen. Und hier liegen die USA und das dortige Bildungssystem sehr weit vorne. Nicht nur github als größter Hoster von OpenSource Projekten ist im Silicon Valley angesiedelt, sondern auch das objektorientierte Programmieren wurde in den vereinigten Staaten von Amerika erfunden.

Aber vermutlich weiß die Heise Redaktion es selbst am besten, und hat den Artikel nur verfasst um ihre Community aus der Reserve zu locken. Einige Diskutanten haben bereits reagiert und ebenfalls als Gegenargument angeführt, dass autonome Autos auf Software basieren:
https://www.heise.de/forum/heise-online/News-Kommentare/Deutsche-Hersteller-bei-Patenten-zum-autonomen-Fahren-vorn/Autonomes-Fahren-basiert-zum-Grossteil-auf-Software/posting-30933611/show/
https://www.heise.de/forum/heise-online/News-Kommentare/Deutsche-Hersteller-bei-Patenten-zum-autonomen-Fahren-vorn/Und-wie-gut-sind-die-deutschen-Autobauer-beim-deep-learning/posting-30933412/show/

Einer der Leser bringt es mit einer bissigen Überschrift „mit oder ohne Mogelsoftware?“ auf den Punkt:
https://www.heise.de/forum/heise-online/News-Kommentare/Deutsche-Hersteller-bei-Patenten-zum-autonomen-Fahren-vorn/mit-oder-ohne-Mogelsoftware/posting-30932563/show/

Aber mal unabhängig von den Aufmerksamkeits-Gesetzen im Heise-Forum wird aller Voraussicht nach die Software für Autonome Autos, ähnlich wie auch Linux und MS-Windows nicht aus Deutschland kommen. Aber, wirklich schlecht ist Deutschland nicht aufgestellt was Softwareentwicklung angeht. Erinnert sei beispielsweise an die Glanzzeiten des Data Becker Verlages, an die Spielefirma Rainbow Arts oder Anno 1701 http://www.pcgameshardware.de/Spiele-Thema-239104/Specials/Deutsche-Wertarbeit-681808/ alles wurde in Germany programmiert. Selbst wenn Deutschland aktuell keine Ressourcen besitzt, Software für autonome Autos zu schreiben führt wohl kein Weg daran vorbei es zu versuchen.

Die gute Nachricht lautet, dass nicht alles was in den USA programmiert wird gut ist. Erinnert sei an das Programmierprojekt von George Hotz was durch die Firma comma.ai entwickelt wurde. https://github.com/commaai/research

Reaktionsgeschwindigkeit von autonomen Autos

https://robotics.stackexchange.com/questions/11625/how-quickly-can-a-driverless-vehicle-generate-control-commands In der Praxis nimmt die Frequenz mit der die Kommandos erzeugt werden eine untergeordnete Stellung ein. Eine Game-Engine arbeitet üblicherweise mit augenschonenenden 60 fps. Die Steuerung eines selbstfahrenden Autos lässt sich mit deutlich weniger realisieren. In meinem eigenen Projekt habe ich derzeit nur 2 fps in Verwendung. Das heißt, das System wartat nach jeder Aktion erstmal für eine halbe Sekunde.

for i in range(10000000):
  self.automodesteering()
  pygame.time.delay(500)
  if self.autostatus=="off":
    stopthread=True
    break
if stopthread==True: print "automode stopped"

Erstaunlicherweise reicht das bereits aus, um das Auto einer Trajektorie folgen zu lassen. Man kann den Wert zwar erhöhen, aber das ist nicht der eigentliche Flaschenhals. Auch bei Echtzeitsystemen wird die CPU keineswegs maximal ausgelastet, sondern insbesondere High-Performance Systeme zur Multi-Agenten-Simulation bestehen aus sehr vielen Leerlauf-Steps. Die Kunst besteht darin, die Systeme intelligent nichts tun zu lassen.

Fahrassistenzsysteme sind die Zukunft

Wenn man dem Google Konzern glauben schenkt, dann gehört dem autonomen Fahren die Zukunft. Das mag technisch zwar richtig sein, überfordert jedoch die Gesellschaft. Wie ist die Rechtslage bei autonomen Autos? Wer soll solche Systeme programmieren? Mag sein, dass Google das nötige Wissen zum sicheren Betrieb solcher Fahrzeuge verfügt und Uber damit ebenfalls experimentiert, doch realistisch betrachtet sind die altbekannten Fahrassistenzsysteme die bessere Alternative. Es handelt sich dabei um eine inkrementelle Technologie, bei der klassische Automobilhersteller ihre Fahrzeuge leicht besser machen. Also Technik einbauen, die man für 1000 US$ Aufpreis bekommt und die beispielsweise alleine einparkt, oder den Abstand zum Vordermann reguliert. Der Vorteil ist, dass die Anforderungen an die Softwareentwickler, an die Versicherungen ja an die Gesellschaft insgesamt niedriger ist. Man kann so über einen längeren Zeitraum von 20 Jahren bei jeder Automesse ein klein wenig die Technik verbessern, den Verkaufspreis des Autos leicht erhöhen und dann ganz langsam die Technologie in der Praxis ausrollen. Anders gesagt, die Zukunft des Fahrens besteht darin, dass nach wie vor ein menschlicher Fahrer hinter dem Lenkrad Platznimmt. Im Jahr 2017 genauso wie im Jahr 2027 und sogar noch weiter nach vorne gedacht. Er bekommt lediglich immer neue Helferlein an die Hand welche die Sicherheit erhöhen.

Warum dieser langsame sukzessive Weg der richtige ist, erkennt man wenn man den Blick auf die Software als solche richtet. Genauer gesagt an die benötigten Lines of Code. Schone heute sind im Autombobilsektor mehrere Million Lines of Code der Standard um GPS, Fahrassistenten und Einspritzanlage zu steuern. Wenn man weitere Features hinzunimmt wie Verkehrschilddetektion und Überholassistent steigt der Codeumfang drastisch an. Sourcecode fällt jedoch nicht vom Himmel sondern will programmiert werden. Und das funktioniert nur, wenn die Erwartungen an die Software und die Programmierer überschaubar ist. Das heißt, einen vorhandenen Bremsassistenten leicht zu verbessern lässt sich von den Entwicklerteams realisieren, das Auto jedoch komplett auf autonomen Betrieb umzustellen ist eine Hürde die zu groß ist.

Ein weiterer Grund sind die Kosten. Damit man Sourcecode insbesondere wenn er als OpenSource veröffentlicht werden soll programmieren kann muss das jemand finanzieren. Die Kunden jedoch kaufen nur dann ein Produkt wenn es einen Mehrwert verspricht. Das heißt, es muss sehr gut getestet sein. Sowas lässt sich realistisch betrachtet nur bei Fahrassistenz-Systemen sicherstellen. Es ist auch aus ökonomischen Gründen sinnvoll, wenn man hier langsam vorgeht. Einen Aufpreis von 5000 US$ pro Auto wofür die Kunden dann eine Einparkhilfe plus Bremsassistenten erhalten ist noch geradeso verschmerzbar. Man kann solche Produkte in großer Stückzahl in heutigen Automobilen einbauen und in wenigen Jahren das Produkt so refinanzieren. Von dem Geld wiederum können neue Programmierer bezahlt werden, die die nächste Generation an Software entwickeln.

Natürlich ist das Fernziel in 20 Jahren ganz klar das autonome Auto, wo also der Fahrer nur noch den Zielort eingibt, und dann gar nichts mehr machen muss. Doch zu glauben, dass die benötigte Software quasi über Nacht entwickelt wird, oder bereits da wäre ist ein Irrglaube. Mal ein kleiner Vergleich: der Texteditor Eclipse besteht aus 7 Mio Lines of Code. Eine Game-Engine kommt bereits auf 20 Mio Lines of Code. Ein Autonomes Auto würde ich schätzen benötigt wenigstens 100 Mio Lines of Code. Im Vergleich dazu kann man einen Abstandswarner zum Vordermann schon für deutlich weniger Codezeilen realisieren. Im Extremfall reichen 10k aus.

Die Problematik beim selbstfahrenden Auto besteht darin, dass per heute kein einziges Softwarepaket als OpenSource existiert, was einsetzfähig wäre. Will man etwas neues haben, wie einen Einparkassistenten kann man entweder darauf hoffen, dass die Autohersteller sowas inhouse entwickeln oder man muss from scratch die benötigte Software schreiben. Anders formuliert, im Bereich des autonomen Fahrens gibt es derzeit eine Softwarekrise, also einen Mangel an einsatzfähiger Software. In dieser Situation kann man realistisch betrachtet nicht das autonome Auto versprechen ohne sich lächerlich zu machen. Auch das selbstfahrende Auto von Google wird nicht Wirklichkeit, sondern es bleibt eine Konzeptstudie. Es ist nur unwesentlich höher entwickelt als das selbstfahrende Auto von Ernst Dieter Dickmanns was formal in den 1980’er eine längere Strecke auf der Autobahn zurückgelegt hat, aber weit entfernt war von einem Praxiseinsatz.

Allein die Hardwarekosten sind immens. Schon ein relativ gering automatisiertes Auto benötigt ein Head-up Display, Abstandssensoren, Lidar-Sensoren die nachts funktionieren, elektrisch betriebene Lenkung und Motor, Kamerasysteme für Stereosehen, Onboard-CPU, GPS Empfänger, Internetverbindung für aktualisierte Karten usw. Und das ist nur jene Ausstattung die heute bereits käuflich zu erwerben ist. Wir reden hier von Hardwarekosten von oberhalb von 10000 US$. Hinzu kommt noch die eigentliche Software um diese Hardware auch in ein Sicherheitssystem zu verwandeln. Ketzerisch betrachtet wird durch all diese Feature die Cogntive Load des Fahrers um vielleicht 10% reduziert, ebenso die Unfallwahrscheinlichkeit. Das ganze ist also ein Anfang, mehr nicht. Will man den Automatisierungsgrad steigern dürften die Kosten proportional ansteigen. Sowohl für die Hardware als auch für die Software. Und hier liegt der Flaschenhals. Am Ende muss sich das ganz noch ökonomisch rechnen, und zwar für Hersteller wie für Konsumenten gleichermaßen.

Ich will damit sagen, dass selbst im Luxus-Segment von Mercedes, Audi und höher die Fahrer noch viele Jahre lang selber fahren werden.

Parkassistenz-Systeme im Vergleich

Parkassistenz-Systeme sind sowohl bei Versicherungen als auch bei Konsumenten beliebt. Laut den Testberichten bei den Fachzeitschriften hat sich die Qualität der Systeme in den letzten 5 Jahren dramatisch erhöht. Als praxistauglich gelobt wird das System von VW aber auch die Mercedes S-Klasse überzeugt. Dort ist der Automatisierungsgrad wesentlich höher. Aber wohin geht der Trend? Interessant zu beobachten dass im Luxussegment wie Jaguar ebenfalls Park-Assistenten verbaut werden. Insofern wäre es logisch die Gleichung aufzustellen: je teurer desto besser. Und in der Tat: neue Technologie wird zuerst in Sportwagen getestet wie dem Ford GT und wandert dann langsam in den Konsumer-Markt hinab. Meine persönliche Meinung ist jedoch, dass der Trend in Richtung Lowcost-Parkassistent geht. Das also die Qualität der Technologie zweitrangig ist, sondern es vor allem darauf ankommt sie billig zu produzieren. Im Extremfall also einfach eine Android App auf sein Smartphone draufzuspielen, dass mit der Autosensorik zu koppeln und dann für 2,99 EUR einen Parkassistenten zu nutzen.

Das man rein technisch einen Parkassisten bauen kann daran besteht kein Zweifel. Jeder Autobauer ist dazu in der Lage. Dazu braucht es viele Programmierer und viele Stunden im Simulator. Die eigentliche Kunst besteht jedoch, die Systeme in den Massenmarkt hineinzubringen, wo man das System dann für 200 EUR Aufpreis erwerben kann und in dem Preis dann auch die Abstandssensoren, Display und Software schon mit dabei sind. Das ist die eigentliche Kunst.

Parkassistenten wie auch Fahrassistenten ganz allgemein sind Softwaregetrieben. Ihre Leistungsfähigkeit hängt vom Sourcecode ab. Aktuell sind alle ausgelieferten Systeme propritär. Damit ist gemeint, dass der Code nicht bei github zum Download bereitsteht, sondern als vorkompilierte Binärdatei ausgeliefert wird, die irgendwo verschlüsselt im Onboard-Computer des Fahrzeuges verborgen ist. Aus Herstellersicht ist das die richtige Entscheidung weil man so Firmenknowhow schützen kann. Ja, vermutlich ist der Sourcecode den Audi, Mercedes und wie sie alle heißen, das wichtigste Asset was die Firmen besitzen. Wenn der abhanden kommt ist das weitaus schlimmer, als wenn irgendwelche Mitschnitte von Konferenzen an die Öffentlichkeit gelangen. Im Regelfall stecken in dem Sourcecode hohe Investitionen. Programmierer arbeiten nicht umsonst und Code zu schreiben ist zeitaufwendig.

Ähnlich wie bei Linux auch, gibt es gleichzeitig einen hohen Druck Software als OpenSource zu veröffentlichen. Weil man nur darüber die Kosten senken kann und die Qualität der Programme erhöht. Die spannende Frage lautet, wie man als Firma Geld verdient mit einem Parkassistenten der als OpenSource veröffentlicht wird. Meiner Meinung nach so ähnlich wie Red Hat Geld verdient. In dem man rund um das Produkte weitere Dienste anbietet: also Support, Updates usw. Davon sind die Autohersteller derzeit noch meilenweit entfernt. Ein konkretes Beispiel gibt es keines. Möglicherweise sind klassische Autohersteller hierfür auch die falschen Ansprechpartner. Gut möglich, dass in 10 Jahren die Parkassistenten nicht mehr von Autoherstellern, sondern von Google entwickelt werden und dann mit dem Android Smartphone gekoppelt sind. Das also die eigentliche Logik vom Onboard-Car-PC ins externe Smartphone verlagert wird, wo sehr viel mehr in Richtung OpenSource forscht.

Derzeit sind Car-PCs eine Art von Geheimwissenschaft. Irgendwo tief verborgen im Motorblick befindet sich der Port. Wie man da herankommt weiß nur die Vertragswerkstatt und die kann auch nicht einfach so die Firmware upgraden, sondern muss noch dreifach rückfragen. Das ist natürlich Gift wenn man Software OpenSource vermarkten will oder wenn man als Drittanbieter Updates einspielt. Bevor man also über Parkassistenten nachdenkt, heißt es erstmal den Onboard-Car-PC freizulegen. So dass dort Konsumenten herankönnen um Änderungen vorzunehmen. Auch aus rechtlicher Sicht ist das geboten. Weil ja die Fahrzeugführer für Unfälle haftbar sind und demzufolge dafür sorgen müssen, dass die von ihnen installierten elektronischen Hilfsmittel reibungslos arbeiten. Gewissermaßen hat der Fahrzeugführer die Obliegenheitspflicht sich vom einwandfreien Funktionieren der Assistenzsysteme zu überzeugen, und das kann er nur, wenn er eigenständig die Software installiert, upgraded und testet.

Nicht etwa die Vertragswerkstatt oder VW haftet für Unfälle die durch eine falsche Anwendung des Autopiloten entstehen, sondern es ist der Fahrer selber. Es sind seine Entscheidungen das System zu aktivieren oder es zu übersteuern. Es macht keinen Sinn, einerseits den Fahrer in Haftung zu nehmen, ihm aber gleichzeitig den Zugang zum Onboard-Car-PC zu untersagen.

Mag sein, dass der Parkassistent im Tesla Model S der weltweit beste ist, der ökonomisch am interessantesten ist hingen der Renault Clio Parkassistent. Der Clio ist ein dezidierter Kleinwagen und Lowcost-Fahrzeug. Entsprechend reduziert sind darin die verbauten Extras. Das macht die Sache umso interessanter. Weil es nicht nur um die Technik als solche geht, sondern es auch darum geht, diese zu verkaufen.

Noch sehr viel spannender wäre ein Parkassistent für das Modell Kwid, was speziell für den indischen Markt produziert wird und nicht mehr als 5000 US$ kosten darf. Wohlgemerkt, nicht für den Fahrassistenten sondern für das komplette Auto. Dafür ein elektronisches Helferlein zu entwickeln ist anspruchsvoll. Man darf allenfalls Billig-Sensoren nutzen und als Software kommt nur Standard-Software in Frage die bereits getestet wurde. Und genau das wird die Zukunft sein. Das man irgendwann Systeme hat, die sich in Lowcost-Fahrzeugen verbauen lassen.