-
Vorliegend werden ein computerimplementierte Verfahren zum Erstellen eines Verkehrsteilnehmeralgorithmus zur Computersimulation von Verkehrsteilnehmern, ein computerimplementiertes Verfahren zum Trainieren wenigstens eines Algorithmus für ein Steuergerät eines Kraftfahrzeugs, ein Computerprogrammprodukt sowie ein Kraftfahrzeug beschrieben.
-
Verfahren zum Erstellen eines Verkehrsteilnehmeralgorithmus zur Computersimulation von Verkehrsteilnehmern, Verfahren zum Trainieren wenigstens eines Algorithmus für ein Steuergerät eines Kraftfahrzeugs, Computerprogrammprodukte sowie Kraftfahrzeuge der eingangs genannten Art sind im Stand der Technik bekannt.
-
Die ersten teilautomatisiert fahrenden Kraftfahrzeuge (entsprechend SAE Level 2 gemäß SAE J3016) sind in den vergangenen Jahren zur Serienreife gelangt. Automatisiert fahrende (entspricht SAE Level >=3 gemäß SAE J3016) bzw. autonom fahrende (entspricht SAE Level 4/5 gemäß SAE J3016) Kraftfahrzeuge müssen anhand vielfältiger Vorgaben, zum Beispiel Fahrziel und Einhaltung gängiger Verkehrsregeln, mit maximaler Sicherheit auf unbekannte Verkehrssituationen selbständig reagieren können. Da die Verkehrswirklichkeit aufgrund der Unvorhersehbarkeit des Verhaltens anderer Verkehrsteilnehmer, insbesondere anderer menschlicher Verkehrsteilnehmer, hoch komplex ist, gilt es als nahezu unmöglich, entsprechende Steueralgorithmen und -geräte von Kraftfahrzeugen mit herkömmlichen Methoden und auf der Grundlage von menschengemachten Regeln zu programmieren.
-
Zur Bewältigung hochkomplexer Probleme mittels Computern ist es darüber hinaus bekannt, mit Methoden des maschinellen Lernens bzw. der künstlichen Intelligenz Algorithmen zu entwickeln bzw. durch selbstlernende neuronale Netze entwickeln zu lassen. Solche Algorithmen können einerseits maßvoller auf komplexe Verkehrssituationen reagieren als traditionelle Algorithmen. Andererseits ist es mithilfe künstlicher Intelligenz prinzipiell möglich, die Algorithmen während des Entwicklungsprozesses und im Alltag durch ständiges Lernen weiterzuentwickeln und kontinuierlich zu verbessern. Alternativ kann ein Stand des Algorithmus nach der Beendigung einer Trainingsphase im Entwicklungsprozess und einer Validierung durch den Hersteller eingefroren werden und in entsprechenden Steuergeräten in Kraftfahrzeugen in Einsatz gebracht werden.
-
Nachteilig an den bekannten Verfahren ist, dass die Simulation bislang mit regelkonformen Verkehrsteilnehmern durchgeführt wurde. In der Realität kommt es hingegen häufig vor, dass Verkehrsteilnehmer sich nicht regelkonform verhalten, z.B. zu schnell fahren, Spurmarkierungen scheinbar grundlos überfahren, unaufmerksam sind, rechts überholen oder sich auf nicht naheliegenden Trajektorien bewegen etc. Ein nur mit sich regelkonform verhaltenden anderen Verkehrsteilnehmern trainierter Algorithmus ist daher schlechter auf menschliches Fahrverhalten vorbereitet. Dies führt zu einem unnatürlichen Fahrverhalten eines mit einem entsprechend trainierten Algorithmus ausgestatteten Kraftfahrzeugs, da das Kraftfahrzeug weniger flexibel reagieren kann und es kann zu kritischen Situationen kommen, wenn der Algorithmus das Verhalten des anderen Verkehrsteilnehmers nicht richtig antizipiert hat.
-
Aus der
JP 2009 019920 A ist eine Verkehrssimulation bekannt, die eine realistische Route basierend auf der Vorhersage eines Fußgänger- oder eines Fahrradverhaltens zu generieren. Die Route ist aus Sicht des Fußgängers oder des Fahrradfahrers optimiert und beinhaltet auch das Risiko einer Kollision mit einem Fremdfahrzeug und eventuell weitere Parameter wie z.B. Wetter. Die resultierenden Modelle integrieren eine Vielzahl von Routen in Abhängigkeit vom Gesamtrisiko, mit denen reale Verkehrsverhältnisse simuliert werden.
-
Hiermit eine Situation beschrieben, in der ein Fußgänger oder ein Fahrradfahrer auf weitere Parameter reagiert. Die Route basiert jedoch auf Simulationsdaten. Nachteilig daran ist, dass die dadurch erzeugten Routen nicht das Verhalten von echten Verkehrsteilnehmern simulieren können.
-
Somit stellt sich die Aufgabe, computerimplementierte Verfahren zum Trainieren wenigstens eines Algorithmus für ein Steuergerät eines Kraftfahrzeugs, Computerprogrammprodukte sowie Kraftfahrzeuge der eingangs genannten Art Verfahren zum Erstellen eines Verkehrsteilnehmeralgorithmus zur Computersimulation von Verkehrsteilnehmern, computerimplementierte Verfahren zum Trainieren wenigstens eines Algorithmus für ein Steuergerät eines Kraftfahrzeugs, Computerprogrammprodukte sowie Kraftfahrzeuge der eingangs genannten Art dahingehend weiterzubilden, dass diese besser dazu eingerichtet sind, reale Verkehrsverhältnisse abzubilden.
-
Die Aufgabe wird gelöst durch ein computerimplementiertes Verfahren zum Erstellen eines Verkehrsteilnehmeralgorithmus zur Computersimulation von Verkehrsteilnehmern gemäß Anspruch 1, ein computerimplementiertes Verfahren zum Trainieren wenigstens eines Algorithmus für ein Steuergerät eines Kraftfahrzeugs gemäß dem nebengeordneten Anspruch 6, ein Computerprogrammprodukt gemäß dem nebengeordneten Anspruch 9 sowie ein Kraftfahrzeug gemäß dem nebengeordneten Anspruch 10. Weiterführende Ausgestaltungen und Weiterbildungen sind Gegenstand der abhängigen Ansprüche.
-
Nachfolgend wird ein computerimplementiertes Verfahren zum Erstellen eines Verkehrsteilnehmeralgorithmus zur Computersimulation von Verkehrsteilnehmern, wobei die Verkehrsteilnehmer einer Klasse von schlecht geschützten Verkehrsteilnehmern angehören, wobei Daten einer Mehrzahl verschiedener, real existierender Verkehrsteilnehmer der Klasse in einer realen Verkehrsumgebung mithilfe von an den Verkehrsteilnehmern angebrachten Sensoren während der Durchführung wenigstens einer Mission erfasst werden, wobei aus den Daten Bewegungstrajektorien der Verkehrsteilnehmer ermittelt werden, wobei aus den Bewegungstrajektorien eine mittlere Bewegungstrajektorie für die Mission und Bandbreiten für Abweichungen von der mittleren Bewegungstrajektorie berechnet werden.
-
Schlecht geschützte Verkehrsteilnehmer sind solche, deren passive Sicherheitseinrichtung keinen, marginalen oder nur geringen Schutz bieten, z.B. durch Sicherheitskleidung und/oder am Körper getragene Protektoren und/oder Helme. Zu dieser Klasse zählen beispielsweise Fußgänger, Skateboarder, Rollschuhfahrer, Fahrradfahrer, Motorradfahrer, Quadfahrer, Rollerfahrer, Rollstuhlfahrer und dergleichen mehr.
-
Die Mission kann unter anderem eine den real existierenden Verkehrsteilnehmern gestellten Mission sein oder die Mission kann aus Daten abgeleitet sein, die aus Bewegungsdaten der Verkehrsteilnehmer gewonnen werden, die sich ohne explizite Mission zwischen einem gemeinsamen Startpunkt oder -bereich und einem gemeinsamen Endpunkt oder - bereich bewegen. Eine entsprechende Mission kann auch komplexer formuliert sein, beispielsweise eine bestimmte von mehreren möglichen Routen einzuschlagen oder sie kann Zwischenziele aufweisen.
-
Mögliche Quellen können zum Beispiel positionsaufzeichnende Geräte wie Mobiltelefone oder Smart Watches sein. Viele Verkehrsteilnehmer tragen Mobiltelefone mit sich herum, die in der Regel dazu geeignet sind, entsprechende Daten aufzeichnen.
-
Die Mehrzahl von Verkehrsteilnehmern ist idealerweise so groß, dass die dadurch gewonnenen Trajektoriendaten statistisch signifikant sind, sodass sich zuverlässige Aussagen über die Trajektorien und Bandbreiten ableiten lassen. Von statistischer Signifikanz kann man ab 15 Verkehrsteilnehmern ausgehen.
-
Die Bandbreiten können beispielsweise 95 oder 99 % der einzelnen Trajektorien abdecken, sodass nur sehr weit von der mittleren Trajektorie entfernte Trajektorien ausgeschlossen werden.
-
Der Mittelwert kann nach verschiedenen bekannten Mittelwertmethoden ermittelt werden, z.B. als geometrisches Mittel.
-
Ein entsprechender Verkehrsteilnehmeralgorithmus kann somit innerhalb der Bandbreiten unterschiedliche Trajektorien für eine gegebene Mission erzeugen, die einem realen Verhalten von Verkehrsteilnehmern näherkommen als eine feste Trajektorie für die gleiche Mission. Die Unterschiede können in einer möglichen Ausgestaltung durch verschiedene Parameter erreicht werden.
-
In einer ersten weiterführenden Ausgestaltung kann der Verkehrsteilnehmeralgorithmus derart ausgebildet sein, dass er innerhalb der Bandbreiten randomisierte Trajektorien erzeugt. Solche randomisierten Trajektorien führen bei unterschiedlichen Trainingszyklen oder bei unterschiedlichen Verkehrsteilnehmern innerhalb einer Simulation, die mithilfe des gleichen Algorithmus simuliert werden, zu unterschiedlichen Verhaltensmustern. Im Ergebnis lassen sich damit stets neue und unvorhersehbare Situationen erzeugen, die der Realität näherkommen als sich gleichförmig wiederholende Situationen.
-
In einer anderen weiterführenden Ausgestaltung kann vorgesehen sein, dass die Verkehrsteilnehmer Fahrzeuge einer gegebenen, schlecht geschützten Fahrzeugklasse darstellen, wobei an den Fahrzeugen jeweils wenigstens ein Sensor zur Erfassung von Daten angebracht oder den Fahrzeugen zugeordnet wird, wobei die Daten von dem Verkehrsteilnehmeralgorithmus ausgewertet werden.
-
Für den Fall, dass die Verkehrsteilnehmer Fahrzeuge sind, die von Menschen gesteuert werden, sind häufig ohnehin Sensoren an oder in den entsprechenden Kraftfahrzeugen angeordnet, z.B. Beschleunigungssensoren. Wenn die hieraus erzeugten Daten ausgewertet werden, kann die Anzahl an zusätzlich notwendigen Sensoren reduziert werden oder zusätzliche Sensoren können vollständig vermieden werden.
-
Bevor die Daten von dem Verkehrsteilnehmeralgorithmus ausgewertet werden, können Sie gemäß einer Weiterbildung konvertiert und/oder umgerechnet werden, sodass aus Sensorrohdaten, z.B. Spannungswerte, besser verwendbare Sensordaten, z.B. Beschleunigungen, erzeugt werden.
-
In einer weiteren weiterführenden Ausgestaltung kann vorgesehen sein, dass der wenigstens eine an dem Verkehrsteilnehmer oder dem Fahrzeug angeordnete Sensor eine Kamera, ein GPS-Sensor, ein Lidar- und/oder ein Radarsensor ist.
-
Mithilfe von GPS-Sensoren können absolute Positionen erfasst werden, aus denen sich Bewegungsmuster und Trajektorien ableiten lassen. Mithilfe von Beschleunigungssensoren lassen sich relative Bewegungsdaten ermitteln. Kameras, Lidar- oder Radarsensoren können zur Erfassung der Umgebung dienen und können daher die Trajektorien ausgehend von einem bekannten Startpunkt erzeugen oder zumindest plausibilisieren. Dies kann beispielsweise hilfreich sein, um zu erkennen, dass eine bestimmte Trajektorie eine Ausweichbewegung in Reaktion auf ein stehendes oder bewegtes Hindernis beinhaltet. Eine solche Trajektorie kann dann entsprechend klassifiziert werden.
-
In einer weiteren weiterführenden Ausgestaltung kann vorgesehen sein, dass in der Verkehrsumgebung wenigstens ein die Verkehrsteilnehmer erfassender Sensor angeordnet ist, wobei die Daten ausgewertet und in den Verkehrsteilnehmeralgorithmus eingebracht werden.
-
Ein in der Infrastruktur angeordneter Sensor, der beispielsweise statisch sein kann, zum Beispiel eine Verkehrsüberwachungskamera, kann das gesamte Verkehrsgeschehen erfassen und somit zusätzliche Daten zur Plausibilisierung des Verhaltens der Verkehrsteilnehmer liefern. Hierdurch kann unter anderem antizipierendes Verhalten der betreffenden Verkehrsteilnehmer abgeleitet werden.
-
In einer weiteren weiterführenden Ausgestaltung kann vorgesehen sein, dass ein selbstlernendes neuronales Netz bereitgestellt wird, wobei die Daten dem selbstlernenden neuronalen Netz bereitgestellt werden, wobei der Verkehrsteilnehmeralgorithmus von dem selbstlernenden neuronalen Netz trainiert wird.
-
Mithilfe eines selbstlernenden neuronalen Netzes kann ein Verkehrsteilnehmeralgorithmus geschaffen werden, der auf unbekannte Situationen in menschenähnlicher Art reagieren kann. Es ist somit möglich, einen universell einsetzbaren Algorithmus für Verkehrssimulationen zu schaffen, mithilfe dessen eine Simulation eines entsprechenden Verkehrsteilnehmers, der einer schlecht geschützten Klasse angehört, erzeugt werden kann.
-
Ein erster unabhängiger Gegenstand betrifft ein computerimplementiertes Verfahren zum Trainieren wenigstens eines Algorithmus für ein Steuergerät eines Kraftfahrzeugs, wobei das Steuergerät zur Umsetzung einer automatisierten bzw. autonomen Fahrfunktion unter Eingriff in Aggregate des Kraftfahrzeugs auf der Grundlage von Eingangsdaten unter Verwendung des wenigstens einen Algorithmus vorgesehen ist, wobei der Algorithmus durch ein selbstlernendes neuronales Netz trainiert wird, umfassend folgende Schritte:
- a) Bereitstellen eines Computerprogrammproduktmoduls für die automatisierte bzw. autonome Fahrfunktion, wobei das Computerprogrammproduktmodul den zu trainierenden Algorithmus und das selbstlernende neuronale Netz enthält,
- b) Bereitstellen einer Simulationsumgebung mit Simulationsparametern, wobei die Simulationsumgebung Kartendaten eines real existierenden Einsatzgebiets, das Kraftfahrzeug sowie als Agenten wenigstens einen weiteren simulierten Verkehrsteilnehmer enthält, wobei ein Verhalten des wenigstens einen weiteren Verkehrsteilnehmer durch einen Verkehrsteilnehmeralgorithmus bestimmt ist, der nach der zuvor beschriebenen Art erzeugt wurde;
- c) Bereitstellen einer Mission für das Kraftfahrzeug, und
- d) Durchführen der Mission und Trainieren des Algorithmus.
-
Dadurch, dass der Algorithmus des Steuergeräts mithilfe von Agenten trainiert wird, die ein natürlicheres Verhalten von Verkehrsteilnehmern einer schlecht geschützten Klasse, beispielsweise Fußgängern, Fahrradfahrern, Motorradfahrern oder dergleichen, simulieren als herkömmlich programmierte Agenten, kann eine naturgetreuere Simulationsumgebung angegeben werden, sodass ein entsprechender Algorithmus bereits in einer reinen Simulation zu einer hohen Reife gelangen kann.
-
In einer ersten weiterführenden Ausgestaltung kann vorgesehen sein, dass wenigstens einer der weiteren simulierten Verkehrsteilnehmer eine Trajektorie erzeugt, die randomisiert oder stochastisch parametervariiert ist.
-
Eine randomisierte oder stochastisch parametervariierte Trajektorie wird bei jeder Simulation in situ neu erzeugt, sodass das Verhalten des entsprechenden Verkehrsteilnehmers bzw. Agenten nicht im Vorhinein determiniert ist. Dies führt zu besonders komplexen Herausforderungen für den zu trainierenden Algorithmus und zu einem robusteren Algorithmus.
-
In einer weiteren weiterführenden Ausgestaltung kann vorgesehen sein, dass eine Mehrzahl von weiteren simulierten Verkehrsteilnehmern bereitgestellt werden, die sich zumindest teilweise entlang der mittleren Trajektorie, teilweise innerhalb der Bandbreiten bewegen.
-
Wenn die Verkehrsteilnehmer unterschiedliche Verhaltensweisen an den Tag legen, also sich manche ‚normal‘ und andere sich anormal verhalten, kann hieraus eine Vielzahl von Agenten geschaffen werden, die zur Simulation sehr realistischer Verkehrsgeschehen in der Lage sind.
-
Ein weiterer unabhängiger Gegenstand betrifft eine Vorrichtung zum Erstellen eines Verkehrsteilnehmeralgorithmus zur Computersimulation von Verkehrsteilnehmern, wobei die Verkehrsteilnehmer einer Klasse von schlecht geschützten Verkehrsteilnehmern angehören, wobei an einer Mehrzahl verschiedener, real existierender Verkehrsteilnehmer der Klasse Sensoren angebracht sind, mit denen Daten in einer realen Verkehrsumgebung während der Durchführung wenigstens einer Mission erfassbar sind werden, wobei Mittel zur Ermittlung von Bewegungstrajektorien aus den Daten vorgesehen sind, wobei die Mittel dazu eingerichtet sind, aus den Bewegungstrajektorien eine mittlere Bewegungstrajektorie für die Mission und Bandbreiten für Abweichungen von der mittleren Bewegungstrajektorie zu berechnen.
-
In einer ersten weiterführenden Ausgestaltung kann vorgesehen sein, dass die Verkehrsteilnehmer Fahrzeuge einer gegebenen, schlecht geschützten Fahrzeugklasse darstellen, wobei an den Fahrzeugen jeweils wenigstens ein Sensor zur Erfassung von Daten angebracht oder den Fahrzeugen zugeordnet ist, wobei der Verkehrsteilnehmeralgorithmus dazu ausgebildet ist, die Daten von dem wenigstens einen Sensor auszuwerten.
-
In einer weiteren weiterführenden Ausgestaltung kann vorgesehen sein, dass der wenigstens eine an dem Verkehrsteilnehmer oder dem Fahrzeug angeordnete Sensor eine Kamera, ein GPS-Sensor, ein Lidar- und/oder ein Radarsensor ist.
-
In einer weiteren weiterführenden Ausgestaltung kann vorgesehen sein, dass in der Verkehrsumgebung wenigstens ein die Verkehrsteilnehmer erfassender Sensor angeordnet ist, wobei Mittel zum Auswerten der Daten und zum Einbringen in den Verkehrsteilnehmeralgorithmus vorgesehen sind.
-
In einer weiteren weiterführenden Ausgestaltung kann selbstlernendes neuronales Netz vorgesehen sein, wobei die Daten dem selbstlernenden neuronalen Netz bereitgestellt werden, wobei das selbstlernende neuronale Netz dazu eingerichtet ist, den Verkehrsteilnehmeralgorithmus zu trainieren.
-
Ein weiterer unabhängiger Gegenstand betrifft eine Vorrichtung zum Trainieren wenigstens eines Algorithmus für ein Steuergerät eines Kraftfahrzeugs, wobei das Steuergerät zur Umsetzung einer automatisierten bzw. autonomen Fahrfunktion unter Eingriff in Aggregate des Kraftfahrzeugs auf der Grundlage von Eingangsdaten unter Verwendung des wenigstens einen Algorithmus vorgesehen ist, wobei ein selbstlernendes neuronales Netz zum Trainieren des Algorithmus vorgesehen ist, wobei:
- a) ein Computerprogrammproduktmodul für die automatisierte bzw. autonome Fahrfunktion bereit steht, wobei das Computerprogrammproduktmodul den zu trainierenden Algorithmus und das selbstlernende neuronale Netz enthält,
- b) eine Simulationsumgebung mit Simulationsparametern bereit steht, wobei die Simulationsumgebung Kartendaten eines real existierenden Einsatzgebiets, das Kraftfahrzeug sowie als Agenten wenigstens einen weiteren simulierten Verkehrsteilnehmer enthält, wobei ein Verhalten des wenigstens einen weiteren Verkehrsteilnehmer durch einen Verkehrsteilnehmeralgorithmus bestimmt ist, der nach der zuvor beschriebenen Art erzeugt wurde;
- c) eine Mission für das Kraftfahrzeug bereitsteht, und
- d) Mittel zum Durchführen der Mission und Trainieren des Algorithmus vorgesehen sind.
-
In einer ersten weiterführenden Ausgestaltung kann vorgesehen sein, dass Mittel zum Randomisieren oder zum stochastischen Variieren von Parametern der Trajektorie des wenigstens einer der weiteren simulierten Verkehrsteilnehmer vorgesehen sind.
-
In einer weiteren weiterführenden Ausgestaltung können Mittel zum Bereitstellen einer Mehrzahl von weiteren simulierten Verkehrsteilnehmern vorgesehen sein, die dazu eingerichtet sind, sich zumindest teilweise entlang der mittleren Trajektorie, teilweise innerhalb der Bandbreiten zu bewegen.
-
Ein weiterer unabhängiger Gegenstand betrifft Computerprogrammprodukt, mit einem computerlesbaren Speichermedium, auf dem Befehle eingebettet sind, die, wenn sie von wenigstens einer Recheneinheit ausgeführt werden, bewirken, dass die wenigstens eine Recheneinheit dazu eingerichtet ist, das Verfahren der zuvor beschriebenen Art auszuführen.
-
Das Verfahren kann auf einer oder auf mehreren Recheneinheiten verteilt ausgeführt werden, sodass bestimmte Verfahrensschritte auf der einen Recheneinheit und andere Verfahrensschritte auf wenigstens einer weiteren Recheneinheit ausgeführt werden, wobei berechnete Daten sofern notwendig zwischen den Recheneinheiten übermittelt werden können.
-
Ein weiterer unabhängiger Gegenstand betrifft Kraftfahrzeug mit einem Computerprogrammprodukt der zuvor beschriebenen Art.
-
Weitere Merkmale und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung, in der - gegebenenfalls unter Bezug auf die Zeichnung - zumindest ein Ausführungsbeispiel im Einzelnen beschrieben ist. Beschriebene und/oder bildlich dargestellte Merkmale bilden für sich oder in beliebiger, sinnvoller Kombination den Gegenstand, gegebenenfalls auch unabhängig von den Ansprüchen, und können insbesondere zusätzlich auch Gegenstand einer oder mehrerer separater Anmeldung/en sein. Gleiche, ähnliche und/oder funktionsgleiche Teile sind mit gleichen Bezugszeichen versehen. Dabei zeigen schematisch:
- 1 ein Kraftfahrzeug, das zum autonomen Fahren eingerichtet ist;
- 2 ein Computerprogrammprodukt für das Kraftfahrzeug aus 1;
- 3 einen Ort mit dem Kraftfahrzeug aus 1 und weiteren Verkehrsteilnehmern;
- 4 einen Repräsentanten eines Verkehrsteilnehmers einer Klasse schlecht geschützter Verkehrsteilnehmer;
- 5 ein Ablaufdiagramm eines Verfahrens;
- 6 ein Ablaufdiagramm eines weiteren Verfahrens;
- 7 eine Prinzipskizze der Generierung eines virtuellen Agenten, sowie
- 8 eine Prinzipskizze der Generierung eines Algorithmus zur Steuerung eines Kraftfahrzeugsteuergeräts des Kraftfahrzeugs aus 1.
-
1 zeigt ein Kraftfahrzeug 2, das zum autonomen Fahren eingerichtet ist.
-
Das Kraftfahrzeug 2 weist ein Kraftfahrzeugsteuergerät 4 mit einer Recheneinheit 6 und einem Speicher 8 auf. Im Speicher 8 ist ein Computerprogrammprodukt gespeichert, das im Nachfolgenden insbesondere im Zusammenhang 2, 3 und 8 eingehender beschrieben ist.
-
Das Kraftfahrzeugsteuergerät 4 ist einerseits mit einer Reihe von Umgebungssensoren verbunden, die eine Erfassung der aktuellen Lage des Kraftfahrzeugs 2 sowie der jeweiligen Verkehrssituation erlauben. Hierzu zählen Umgebungssensoren 10, 12 an der Front des Kraftfahrzeugs 2, Umgebungssensoren 14, 16 am Heck des Kraftfahrzeugs 2, eine Kamera 18 sowie ein GPS-Modul 20. Je nach Ausgestaltung können weitere Sensoren vorgesehen sein, zum Beispiel Raddrehzahlsensoren, Beschleunigungssensoren etc., die mit dem Kraftfahrzeugsteuergerät 4 verbunden sind.
-
Während des Betriebs des Kraftfahrzeugs 2 hat die Recheneinheit 6 das im Speicher 8 abgelegte Computerprogrammprodukt geladen und führt dieses aus. Auf der Grundlage eines Algorithmus und der Eingangssignale entscheidet die Recheneinheit 6 über die Steuerung des Kraftfahrzeugs 2, die die Recheneinheit 6 über Eingriff in die Lenkung 22, Motorsteuerung 24 sowie Bremsen 26 erreichen kann, die jeweils mit dem Kraftfahrzeugsteuergerät 4 verbunden sind.
-
2 zeigt ein Computerprogrammprodukt 28 mit einem Computerprogrammproduktmodul 30.
-
Das Computerprogrammprodukt 30 weist ein selbstlernendes neuronales Netz 32 auf, das einen Algorithmus 34 trainiert. Das selbstlernende neuronale Netz 32 lernt nach Methoden des bestärkenden Lernens, d. h. das neuronale Netz 32 versucht durch Variation des Algorithmus 34, Belohnungen für ein verbessertes Verhalten entsprechend einer oder mehrerer Kriterien oder Maßstäbe, also für Verbesserungen des Algorithmus 34 zu erhalten. Alternativ können aber auch bekannte Lernverfahren des überwachten und unüberwachten Lernens, sowie Kombinationen dieser Lernverfahren verwendet werden.
-
Der Algorithmus 34 kann im Wesentlichen ein aus einem komplexen Filter mit einer Matrix aus Werten, oft Gewichte genannt, bestehen, die eine Filterfunktion definieren, die das Verhalten des Algorithmus 34 abhängig von Eingangsgrößen, welche vorliegend über die Umgebungssensoren 10 bis 20 aufgenommen werden, bestimmt und Steuersignale zur Steuerung des Kraftfahrzeugs 2 generiert.
-
Die Überwachung der Güte des Algorithmus 34 wird von einem weiteren Computerprogrammproduktmodul 36 vorgenommen, das Eingangsgrößen und Ausgangsgrößen überwacht, daraus Metriken ermittelt und die Einhaltung der Güte durch die Funktionen anhand der Metriken kontrolliert. Gleichzeitig kann das Computerprogrammproduktmodul 36 negative wie positive Belohnungen für das neuronale Netz 32 geben.
-
3 zeigt einen Ort 36.
-
Das Kraftfahrzeug 2 fährt auf einer Straße 38, die sich mit einer Straße 40, an einer Stra-ßenkreuzung 42 kreuzt.
-
Mehrere Motorradfahrer wie der in 3 dargestellte Motorradfahrer 44 hat eine Mission 50, von einem Startpunkt 46 auf der Straße 40 zu einem Zielpunkt 48 auf der Straße 38 zu fahren. Die Route erfordert das Einbiegen von der Straße 40 kommend auf die Straße 38 Der Motorradfahrer 44 wird während der Mission 50 eine bestimmte Trajektorie 52.1 fahren.
-
Die Mission 50 wird mehrfach von unterschiedlichen Motorradfahrern wiederholt, die alle die Aufgabe haben, vom Startpunkt 46 sind Zielpunkt 48 zu fahren. Praktisch können die Start- und Zielpunkte als Bereiche oder Korridore definiert sein, z.B. als zweidimensionaler Bereich oder als Start- und Ziellinien.
-
Dabei werden andere Motorradfahrer andere Trajektorien 52.2,52.3 und 52.4 fahren, die jeweils voneinander abweichen und die einerseits in dem Fahrverhalten der entsprechenden Verkehrsteilnehmer, andererseits in den jeweils vorherrschenden, unterschiedlichen Verkehrsbedingungen bzw. konkreten Situationen begründet sind.
-
Mithilfe des hierin beschriebenen Verfahrens zum Erzeugen eines Verkehrsteilnehmeralgorithmus für die Klasse von Motorradfahrern wird daraus eine mittlere Trajektorie 54 sowie Bandbreitengrenzen 56.1, 56.2 erzeugt, die ein übliches Verhalten sowie übliche Abweichungen von der mittleren Trajektorie 54 beschreiben.
-
Die Bandbreitengrenzen 56.1, 56.2 decken die meisten der gefahrenen Trajektorien in jedem Abschnitt ab, d.h., es ist nicht erforderlich, dass eine einzelne der Trajektorien 52.1 bis 52.4 vollständig von Start bis Ziel innerhalb der Bandbreitengrenzen 56.1, 56.2 liegen.
-
An der Straßenkreuzung 42 kann des Weiteren eine stationär angebrachte Verkehrsüberwachungskamera 58 vorgesehen sein, die das Verkehrsgeschehen beobachtet und damit das Verhalten des Motorradfahrers 44 und seine gefahrene Trajektorie 52.1 sowie weiteres Verkehrsgeschehen, beispielsweise die Bewegung eines Fußgängers 60 aufzeichnet.
-
Später wird, wie nachfolgend beschrieben, der Algorithmus 34 für das Steuergerät 4 des Kraftfahrzeugs 2 in einer Simulation des Orts 36 trainiert, wobei eine Simulation des Motorradfahrers 44 als Agent erfolgt, der im Rahmen der Simulation die gleiche Mission 50 haben kann.
-
4 zeigt den Motorradfahrer 44.
-
Der Motorradfahrer 44 weist einen GPS-Sensor 62 auf, der laufend Daten über die Position des Motorradfahrers 44 erfasst. Der GPS-Sensor 62 kann beispielsweise in einem vom Motorradfahrer 44 mitgeführten Mobiltelefon verbaut sein.
-
Des Weiteren ist eine Steuerung 64 vorgesehen, die beispielsweise ein Motorrad 65 des Motorradfahrers 44 steuert und das Daten erfassen kann.
-
Mit der Steuerung 64 ist darüber hinaus eine Kamera 66 verbunden, die das Verkehrsgeschehen vor dem Motorradfahrer 44 aufzeichnet. Die Steuerung 64 kann des Weiteren Daten über das Motorrad erfassen, zum Beispiel eine Drosselklappensstellung, eingelegter Gang, Geschwindigkeit, Schräglage und dergleichen mehr.
-
5 zeigt ein Ablaufdiagramm zum Erzeugen des Verkehrsteilnehmeralgorithmus.
-
In einem ersten Schritt wird die Software bereitgestellt.
-
Anschließend werden ein neuronales Netz und ein Algorithmus bereitgestellt.
-
Danach wird eine Mission bestimmt, beispielsweise die in 3 gezeigte Mission 50, als Motorradfahrer von den Startpunkt 46 zum Zielpunkt 48 zu fahren.
-
Dann werden von dem Motorradfahrer 44 und den anderen Motorradfahrern jeweils Sensordaten erfasst, beispielsweise von den GPS-Sensor 62, der Steuerung 64 sowie der Kamera 66 und der Verkehrsüberwachungskamera 58. Die Sensordaten werden in das neuronale Netz eingespeist, dort eine durchschnittliche Trajektorie und Bandbreiten ermittelt.
-
Anschließend wird ein Stochastikmodul hinzugefügt, mithilfe dessen eine Trajektorie in der Simulation zufällig variiert werden kann.
-
Hieraus wird ein Algorithmus erzeugt und ausgegeben, der in einer weiteren Verkehrssimulation verwendet werden kann.
-
6 zeigt ein Ablaufdiagramm des Verfahrens zum Trainieren des Algorithmus 34.
-
In einem ersten Schritt wird ein zu trainierendes Computerprogrammproduktmodul (Software) für das Steuergerät 4 des Kraftfahrzeugs 2 bereitgestellt.
-
In einem darauffolgenden Schritt werden Kartendaten des Orts 38 bereitgestellt.
-
Anschließend wird eine Mission für den Algorithmus 34 definiert, z.B. als Kraftfahrzeug 2 von einem Startort zu einem Zielort in einer bestimmten Verkehrssituation zu gelangen.
-
In der Verkehrssituation gibt es andere Verkehrsteilnehmer, z.B. einen Motorradfahrer. Dazu werden virtuelle Objekte und Agenten definiert und bereitgestellt. Wenigstens einer der Agenten verhält sich gemäß dem in 5 erzeugten Algorithmus. Der betreffende Agent kann die Mission 50 haben.
-
Sodann werden eine oder mehrere verschiedene Verkehrssituationen mit den virtuellen Objekten und Agenten simuliert.
-
Sodann wird der Algorithmus im Steuergerät des Kraftfahrzeugs auf der Grundlage der gestellten Situationen trainiert.
-
Durch Beobachtung des zu trainierenden Fahrzeuges und Rückkopplung an die Simulationsumgebung können die entsprechenden Informationen verwertet werden, um die Simulation zu beeinflussen.
-
Mithilfe des hier beschriebenen Verfahrens können eine Vielzahl von unterschiedlichen Verkehrsteilnehmern abgebildet werden, zum Beispiel Autos, Lkws, Motorräder, Fahrradfahrer, Fußgänger. Ebenso kann reale Infrastruktur, zum Beispiel Schilder, Ampeln, Straßensymbolen, Leitlinien etc. dargestellt werden.
-
Mithilfe des Verfahrens können komplexe Verkehrsmanöver im Rahmen der kooperativen Mobilität realistisch untersucht werden, zum Beispiel Fahren an einer Kreuzung, an der sich mehrere Verkehrsteilnehmer befinden und Kommunikation zwischen den Verkehrsteilnehmern, um zum Beispiel keinen Verkehrsteilnehmer zu gefährden.
-
7 zeigt eine weitere Prinzipskizze der Generierung eines Agenten 70, hier eine Simulation des Motorradfahrers 44.
-
Dabei wird davon ausgegangen, dass ein Agent 50 durch einen mittels selbstlernender Verfahren verfeinerten Algorithmus 72 erzeugt wird. Den Algorithmus 72, der in einem Computer 74 läuft, wird mit den Daten des GPS Sensors 62, der Steuerung 64, der Kamera 66 sowie der Verkehrsüberwachungskamera 58 versorgt.
-
Ein selbstlernendes neuronales Netz 76 optimiert den Algorithmus 62 durch Variation desselben und Angabe eines Algorithmus 72' und Prüfung, ob der modifizierte Algorithmus 72' besser arbeitet als der ursprüngliche Algorithmus 72. Sobald gewisse Qualitätsmetriken erfüllt sind, wird der Algorithmus 72 eingefroren und mittels eines Compilers 78 der virtuelle Agent 70 geschaffen, der in Simulationsumgebungen eingesetzt werden kann.
-
8 zeigt eine Simulationsumgebung 80
-
Die Simulationsumgebung 80 wird durch Kartendaten des Orts 34 sowie Simulationen des Kraftfahrzeugs 2 und anderer Verkehrsteilnehmer wie den Fußgängers 60 sowie den virtuellen Agenten 70 bereitgestellt.
-
Sodann wird eine Mission aufgestellt, die der Algorithmus 34, der das Kraftfahrzeug 2 steuert, durchführen soll. Dies wird, wie im Zusammenhang mit 7 beschrieben, von dem neuronalen Netz 32 verarbeitet, die den Algorithmus 34 variiert, bis gewisse Qualitätsstandards erfüllt sind.
-
Sodann wird mithilfe eines Compilers 82 das Computerprogrammproduktmodul 30 für das Steuergerät 4 des Kraftfahrzeugs 2 erzeugt.
-
Obwohl der Gegenstand im Detail durch Ausführungsbeispiele näher illustriert und erläutert wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden. Es ist daher klar, dass eine Vielzahl von Variationsmöglichkeiten existiert. Es ist ebenfalls klar, dass beispielhaft genannte Ausführungsformen nur Beispiele darstellen, die nicht in irgendeiner Weise als Begrenzung etwa des Schutzbereichs, der Anwendungsmöglichkeiten oder der Konfiguration der Erfindung aufzufassen sind. Vielmehr versetzen die vorhergehende Beschreibung und die Figurenbeschreibung den Fachmann in die Lage, die beispielhaften Ausführungsformen konkret umzusetzen, wobei der Fachmann in Kenntnis des offenbarten Erfindungsgedankens vielfältige Änderungen beispielsweise hinsichtlich der Funktion oder der Anordnung einzelner, in einer beispielhaften Ausführungsform genannter Elemente vornehmen kann, ohne den Schutzbereich zu verlassen, der durch die Ansprüche und deren rechtliche Entsprechungen, wie etwa einer weitergehenden Erläuterung in der Beschreibung, definiert wird.
-
Bezugszeichenliste
-
- 2
- Kraftfahrzeug
- 4
- Steuergerät
- 6
- Recheneinheit
- 8
- Speicher
- 10
- Umgebungssensor
- 11
- Umgebungssensor
- 12
- Umgebungssensor
- 13
- Umgebungssensor
- 14
- Kamera
- 15
- GPS-Modul
- 16
- Raddrehzahlsensor
- 18
- Beschleunigungssensor
- 20
- Pedalsensor
- 22
- Lenkung
- 24
- Motorsteuerung
- 26
- Bremsen
- 28
- Computerprogrammprodukt
- 30
- Computerprogrammproduktmodul
- 32
- neuronales Netz
- 34, 34'
- Algorithmus
- 36
- Ort
- 38
- Straße
- 40
- Straße
- 42
- Straßenkreuzung
- 44
- Motorradfahrer
- 46
- Startpunkt
- 48
- Zielpunkt
- 50
- Mission
- 52.1
- - 52.4 Trajektorie
- 54
- mittlere Trajektorie
- 56.1, 56.2
- Bandbreitengrenze
- 58
- Verkerhsüberwachungskamera
- 60
- Fußgänger
- 62
- GPS-Sensor
- 64
- Steuerung
- 65
- Motorrad
- 66
- Kamera
- 70
- virtueller Agent
- 72, 72'
- Algorithmus
- 72'
- modifizierter Algorithmus
- 74
- Computer
- 76
- selbstlernendes neuronales Netz
- 78
- Compiler
- 80
- Simulationsumgebung
- 82
- Compiler
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-