DE102019122826A1 - Adaptives fahrzeuglernen - Google Patents

Adaptives fahrzeuglernen Download PDF

Info

Publication number
DE102019122826A1
DE102019122826A1 DE102019122826.3A DE102019122826A DE102019122826A1 DE 102019122826 A1 DE102019122826 A1 DE 102019122826A1 DE 102019122826 A DE102019122826 A DE 102019122826A DE 102019122826 A1 DE102019122826 A1 DE 102019122826A1
Authority
DE
Germany
Prior art keywords
vehicle
unsafe
security agent
procedure according
action
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019122826.3A
Other languages
English (en)
Inventor
Subramanya Nageshrao
Hongtei Eric Tseng
Dimitar Petrov Filev
Ryan Lee Baker
Christopher Cruise
Leda Daehler
Shankar Mohan
Arpan Kusari
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102019122826A1 publication Critical patent/DE102019122826A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/10Path keeping
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D21/00Measuring or testing not otherwise provided for
    • G01D21/02Measuring two or more variables by means not covered by a single other subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/04Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
    • B60W10/06Conjoint control of vehicle sub-units of different type or different function including control of propulsion units including control of combustion engines
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/04Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
    • B60W10/08Conjoint control of vehicle sub-units of different type or different function including control of propulsion units including control of electric propulsion units, e.g. motors or generators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/18Conjoint control of vehicle sub-units of different type or different function including control of braking systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/20Conjoint control of vehicle sub-units of different type or different function including control of steering systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/18Braking system
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/20Steering systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Abstract

Diese Offenbarung stellt adaptives Fahrzeuglernen bereit. Ein Rechensystem kann eine Fahrzeughandlung basierend auf dem Eingeben von Fahrzeugsensordaten in ein erstes neuronales Netzwerk bestimmen, das einen ersten Sicherheitsagenten beinhaltet, der eine Wahrscheinlichkeit unsicheren Fahrzeugbetriebs bestimmen kann. Das erste neuronale Netzwerk kann zu einer Vielzahl von Zeiten durch einen periodisch neu trainierten Deep-Reinforcement-Learning-Agenten, der ein zweites tiefes neuronales Netzwerk beinhaltet, das einen zweiten Sicherheitsagenten beinhaltet, angepasst werden. Ein Fahrzeug kann basierend auf der Fahrzeughandlung betrieben werden.

Description

  • TECHNISCHES GEBIET
  • Die Erfindung betrifft ein Rechensystem, das eine Fahrzeughandlung basierend auf dem Eingeben von Fahrzeugsensordaten in ein erstes neuronales Netzwerk bestimmen kann, das einen ersten Sicherheitsagenten beinhaltet, der eine Wahrscheinlichkeit unsicheren Fahrzeugbetriebs bestimmen kann. Das erste neuronale Netzwerk kann zu einer Vielzahl von Zeiten durch einen periodisch neu trainierten Deep-Reinforcement-Learning-Agenten, der ein zweites tiefes neuronales Netzwerk beinhaltet, das einen zweiten Sicherheitsagenten beinhaltet, angepasst werden. Ein Fahrzeug kann basierend auf der Fahrzeughandlung betrieben werden.
  • ALLGEMEINER STAND DER TECHNIK
  • Fahrzeuge können dazu ausgestattet sein, sowohl in einem autonomen als auch in einem insassengesteuerten Modus betrieben zu werden. Fahrzeuge können mit Rechenvorrichtungen, Netzwerken, Sensoren und Steuerungen ausgestattet sein, um Informationen bezüglich der Umgebung des Fahrzeugs zu erlangen und das Fahrzeug basierend auf den Informationen zu betreiben. Der sichere und komfortable Betrieb des Fahrzeugs kann vom Erhalten genauer und rechtzeitiger Informationen bezüglich der Umgebung des Fahrzeugs abhängen. Fahrzeugsensoren können Daten hinsichtlich zu fahrenden Routen und Objekten bereitstellen, denen in der Umgebung des Fahrzeugs auszuweichen ist. Der sichere und effiziente Betrieb des Fahrzeugs kann vom Erhalten genauer und rechtzeitiger Informationen bezüglich Routen und Objekten in einer Umgebung des Fahrzeugs abhängig sein, während das Fahrzeug auf einer Fahrbahn betrieben wird.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Ein Verfahren beinhaltet das Eingeben von Fahrzeugsensordaten in ein erstes neuronales Netzwerk (NN), das einen Sicherheitsagenten beinhaltet, der eine Wahrscheinlichkeit unsicheren Fahrzeugbetriebs bestimmt und zu einer Vielzahl von Zeiten durch einen periodisch neu trainierten Deep-Reinforcement-Learning-Agenten angepasst wird, der ein zweites NN beinhaltet, das einen zweiten Sicherheitsagenten beinhaltet, und das Betreiben eines Fahrzeugs basierend auf einer Fahrzeughandlung, die von dem ersten NN ausgegeben wird.
  • Die Fahrzeughandlung kann den Betrieb von Lenkungs-, Bremsungs- und Antriebsstrangkomponenten des Fahrzeugs beinhalten.
  • Das Verfahren kann das Eingeben von Fahrzeugsensordaten durch Eingeben eines Farbvideobildes in das erste NN beinhalten.
  • Der Sicherheitsagent kann Wahrscheinlichkeiten unsicheren Fahrzeugbetriebs basierend auf dem Eingeben von Fahrzeughandlungen in eines von einem regelbasierten Maschinenlernsystem oder einem dritten NN, das basierend auf simulierten Daten trainiert wird, bestimmen.
  • Das zweite NN kann basierend auf Ground Truth der Fahrzeughandlung trainiert werden, wobei Ground Truth der Fahrzeughandlung Fahrzeugsensordaten, Fahrzeughandlungen und Informationen in Bezug auf unsicheren Fahrzeugbetrieb von dem Sicherheitsagenten beinhaltet.
  • Fahrzeugsensordaten, Fahrzeughandlungen und Informationen von dem Sicherheitsagenten können auf simulierten Daten basieren.
  • Das Verfahren kann das periodische neue Trainieren des zweiten NN, eines Reinforcement-Learning-Agenten, basierend auf aufgezeichneten Fahrzeugsensordaten, aufgezeichneter Ground Truth der Fahrzeughandlung und aufgezeichneten Informationen in Bezug auf unsicheren Fahrzeugbetrieb von dem Sicherheitsagenten, abhängig von einer Fehlerschranke, beinhalten.
  • Das Verfahren kann das Anpassen des ersten NN zu einer Vielzahl von Zeiten durch Aktualisieren erster NN-Parameter mit Parametern von dem zweiten NN beinhalten.
  • Das anfängliche Training des ersten NN kann sowohl auf sicheren Pufferpaaren (Zustand, sichere Handlung) als auch auf unsicheren Pufferpaaren (Zustand unsichere Handlung), die während der Offline-Simulation gesammelt werden, basieren, und das Training des zweiten NN basiert sowohl auf sicheren Pufferpaaren (Zustand, sichere Handlung) als auch auf unsicheren Pufferpaaren (Zustand unsichere Handlung), die während der Offline-Simulation gesammelt und während des Fahrens gesammelt werden.
  • Ein System beinhaltet einen Prozessor und einen Speicher, wobei der Speicher Anweisungen beinhaltet, die von dem Prozessor auszuführen sind, um Fahrzeugsensordaten in ein erstes neuronales Netzwerk (NN) einzugeben, das einen ersten Sicherheitsagenten beinhaltet, der eine Wahrscheinlichkeit unsicheren Fahrzeugbetriebs bestimmt und zu einer Vielzahl von Zeiten durch einen periodisch neu trainierten Deep-Reinforcement-Learning-Agenten angepasst wird, der ein zweites NN beinhaltet, das einen zweiten Sicherheitsagenten beinhaltet, und ein Fahrzeug basierend auf der Fahrzeughandlung zu betreiben, die von dem ersten NN ausgegeben wird.
  • Die Fahrzeughandlung kann den Betrieb von Lenkungs-, Bremsungs- und Antriebsstrangkomponenten des Fahrzeugs beinhalten.
  • Das System kann das Eingeben von Fahrzeugsensordaten durch Eingeben eines Farbvideobildes in das erste tiefe neuronale Netzwerk beinhalten.
  • Der Sicherheitsagent kann Wahrscheinlichkeiten unsicheren Fahrzeugbetriebs basierend auf dem Eingeben von Fahrzeughandlungen in eines von einem regelbasierten Maschinenlernsystem oder einem dritten NN, das basierend auf simulierten Daten trainiert wird, bestimmen.
  • Das zweite NN kann basierend auf Ground Truth der Fahrzeughandlung trainiert werden, wobei Ground Truth der Fahrzeughandlung Fahrzeugsensordaten, Fahrzeughandlungen und Informationen in Bezug auf unsicheren Fahrzeugbetrieb von dem Sicherheitsagenten beinhaltet.
  • Fahrzeugsensordaten, Fahrzeughandlungen und Informationen in Bezug auf unsicheren Fahrzeugbetrieb von dem Sicherheitsagenten können auf simulierten Daten basieren.
  • Das System kann das periodische neue Trainieren des zweiten NN, eines Deep-Reinforcement-Learning-Agenten, basierend auf aufgezeichneten Fahrzeugsensordaten, aufgezeichneter Ground Truth der Fahrzeughandlung und aufgezeichneten Informationen in Bezug auf unsicheren Fahrzeugbetrieb von dem Sicherheitsagenten, abhängig von einer Fehlerschranke, beinhalten.
  • Das System kann das Anpassen des ersten NN zu einer Vielzahl von Zeiten durch Aktualisieren erster NN-Parameter mit Parametern von dem zweiten NN beinhalten.
  • Das anfängliche Training des ersten NN kann sowohl auf sicheren Pufferpaaren (Zustand, sichere Handlung) als auch auf unsicheren Pufferpaaren (Zustand unsichere Handlung), die während der Offline-Simulation gesammelt werden, basieren, und das Training des zweiten NN basiert sowohl auf sicheren Pufferpaaren (Zustand, sichere Handlung) als auch auf unsicheren Pufferpaaren (Zustand unsichere Handlung), die während der Offline-Simulation gesammelt und während des Fahrens gesammelt werden.
  • Ein System beinhaltet Mittel zum Steuern des Lenkens, Bremsens und Antriebsstrangs des Fahrzeugs;
  • Computermittel zum Eingeben von Fahrzeugsensordaten in ein erstes neuronales Netzwerk (NN), das einen ersten Sicherheitsagenten beinhaltet, der eine Wahrscheinlichkeit unsicheren Fahrzeugbetriebs bestimmt und zu einer Vielzahl von Zeiten durch einen periodisch neu trainierten Deep-Reinforcement-Learning-Agenten angepasst wird, der ein zweites NN beinhaltet, das einen zweiten Sicherheitsagenten beinhaltet, und Betreiben eines Fahrzeugs basierend auf der Fahrzeughandlung und Mitteln zum Steuern der Lenkung, der Bremsung und des Antriebsstrangs des Fahrzeugs.
  • Das System kann das Eingeben von Fahrzeugsensordaten durch Eingeben eines Farbvideobildes in das erste NN beinhalten.
  • Figurenliste
    • 1 ist ein Blockdiagramm eines beispielhaften Verkehrsinfrastruktursystems.
    • 2 ist eine Darstellung eines beispielhaften Videobildes einer Verkehrsszene.
    • 3 ist eine Darstellung einer beispielhaften kognitiven Karte.
    • 4 ist eine Darstellung eines beispielhaften tiefen neuralen Netzwerks (Deep Neural Network - DNN).
    • 5 ist eine Darstellung eines beispielhaften Deep-Reinforcement-Learning-(DRL-)Systems.
    • 6 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Betreiben eines Fahrzeugs basierend auf einem Videobild.
    • 7 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Bestimmen von Fahrzeugzuständen basierend auf einem DRL-System.
  • DETAILLIERTE BESCHREIBUNG
  • Fahrzeuge können ausgestattet sein, um sowohl in einem autonomen als auch in einem von einem Insassen gesteuerten Modus betrieben zu werden. Mit einem halb- oder vollautonomen Modus ist ein Betriebsmodus gemeint, bei dem ein Fahrzeug durch eine Rechenvorrichtung als Teil eines Fahrzeuginformationssystems gesteuert werden kann, das Sensoren und Steuerungen aufweist. Das Fahrzeug kann besetzt oder unbesetzt sein, jedoch kann das Fahrzeug in beiden Fällen ohne die Unterstützung eines Insassen gesteuert werden. Im Rahmen dieser Offenbarung ist ein autonomer Modus als ein Modus definiert, bei dem Antrieb (z. B. über einen Antriebsstrang, der eine Brennkraftmaschine und/oder einen Elektromotor beinhaltet), Bremsung und Lenkung eines Fahrzeugs jeweils durch einen oder mehrere Fahrzeugcomputer gesteuert werden; in einem halbautonomen Modus steuert der bzw. steuern die Fahrzeugcomputer eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs. Bei einem nichtautonomen Fahrzeug wird nichts davon durch einen Computer gesteuert.
  • Eine Rechenvorrichtung in einem Fahrzeug kann dazu programmiert sein, Daten bezüglich der äußeren Umgebung eines Fahrzeugs zu erlangen und die Daten zu verwenden, um Bewegungsbahnen zu bestimmen, die zu verwenden sind, um ein Fahrzeug in einem autonomen oder halbautonomen Modus zu betreiben, wobei zum Beispiel die Rechenvorrichtung Informationen an Steuerungen bereitstellen kann, um das Fahrzeug auf einer Fahrbahn im Verkehr, an dem andere Fahrzeuge beteiligt sind, zu betreiben. Basierend auf Sensordaten kann eine Rechenvorrichtung einen sicheren zu fahrenden Pfad für ein Fahrzeug bestimmen, um in der Gegenwart von anderen Fahrzeugen und Fußgängern ein Ziel auf einer Fahrbahn zu erreichen, wobei ein Pfad als eine Linie definiert ist, die aufeinanderfolgende Standorte eines Fahrzeugs verbindet, wenn es sich von einem ersten Standort auf einer Fahrbahn zu einem zweiten Standort auf einer Fahrbahn bewegt, und ein sicherer Pfad als ein Pfad definiert ist, der das Fahrzeug innerhalb der Fahrbahn hält und keine Kollisionen mit Objekten, darunter zum Beispiel anderen Fahrzeugen und Fußgängern, beinhaltet. Das Bestimmen eines sicheren Pfades kann verbessert werden, indem ein sicherer Pfad basierend auf einem neuronalen Netzwerk (NN), das hierin auch als tiefes neuronales Netzwerk (DNN) bezeichnet werden kann, und einem sicheren Agenten (SA) bestimmt wird und das NN basierend auf Daten, die während des Betriebs des Fahrzeugs erworben werden, periodisch aktualisiert wird.
  • Hierin offenbart ist ein Verfahren, beinhaltend das Eingeben von Fahrzeugsensordaten in ein erstes neuronales Netzwerk (NN), das einen ersten Sicherheitsagenten beinhaltet, der eine Wahrscheinlichkeit unsicheren Fahrzeugbetriebs bestimmt und zu einer Vielzahl von Zeiten durch einen periodisch neu trainierten Deep-Reinforcement-Learning-Agenten angepasst wird, der ein zweites DNN beinhaltet, das einen zweiten Sicherheitsagenten beinhaltet, und das Betreiben eines Fahrzeugs basierend auf einer Fahrzeughandlung, die von dem ersten NN ausgegeben wird. Die Fahrzeughandlung kann den Betrieb von Lenkungs-, Bremsungs- und Antriebsstrangkomponenten des Fahrzeugs beinhalten. Fahrzeugsensordaten können durch Eingeben eines Farbvideobildes in das erste NN eingegeben werden. Der erste und zweite Sicherheitsagent können Wahrscheinlichkeiten unsicheren Fahrzeugbetriebs basierend auf dem Eingeben von Fahrzeughandlungen in eines von einem regelbasierten Maschinenlernsystem oder einem dritten NN, das basierend auf simulierten Daten trainiert wird, bestimmen. Die zweiten NNs können basierend auf Ground Truth der Fahrzeughandlung trainiert werden, wobei Ground Truth der Fahrzeughandlung Fahrzeugsensordaten, Fahrzeughandlungen und Informationen in Bezug auf unsicheren Fahrzeugbetrieb von dem Sicherheitsagenten beinhaltet.
  • Das erste und zweite NN können basierend auf Fahrzeugsensordaten, Fahrzeughandlungen und Informationen in Bezug auf unsicheren Fahrzeugbetrieb von dem Sicherheitsagenten, die auf simulierten Daten basieren können, trainiert werden. Das zweite NN, ein Reinforcement-Learning-Agent, kann basierend auf aufgezeichneten Fahrzeugsensordaten, aufgezeichneter Ground Truth der Fahrzeughandlung und aufgezeichneten Informationen in Bezug auf unsicheren Fahrzeugbetrieb von dem Sicherheitsagenten, abhängig von einer Fehlerschranke, periodisch neu trainiert werden. Das erste NN kann angepasst werden, indem das erste NN basierend auf Informationen von dem periodisch neu trainierten zweiten NN neu trainiert wird. Das anfängliche Training des ersten NN kann sowohl auf sicheren Pufferpaaren (Zustand, sichere Handlung) als auch auf unsicheren Pufferpaaren (Zustand unsichere Handlung), die während der Offline-Simulation gesammelt werden, basieren, und das Training des zweiten NN basiert sowohl auf sicheren Pufferpaaren (Zustand, sichere Handlung) als auch auf unsicheren Pufferpaaren (Zustand unsichere Handlung), die während der Offline-Simulation gesammelt und während des Fahrens gesammelt werden. Das Betreiben eines Fahrzeugs kann auf einer Fahrzeughandlung basieren, die von dem ersten NN ausgegeben wird, beinhaltend das Bestimmen eines Pfadpolynoms basierend auf der ausgegebenen Fahrzeughandlung. Das Pfadpolynom kann auf einem geschätzten 3D-Standort des Fahrzeugs in Bezug auf eine kognitive Karte basieren. Der Fahrzeugstandort kann auf dem Pfadpolynom und der kognitiven Karte basieren. Die Fahrzeugsensordaten können ein Farbvideostrom sein, der durch eine Videokamera erworben wird, die in dem Fahrzeug enthalten ist. Das Fahrzeug kann durch Steuern von Lenkung, Bremsung und Antriebsstrang des Fahrzeugs betrieben werden.
  • Ferner wird ein computerlesbares Medium offenbart, auf dem Programmanweisungen zum Ausführen einiger oder sämtlicher der vorstehenden Verfahrensschritte gespeichert sind. Ferner offenbart ist ein Computer, der programmiert ist, um einige oder alle der vorstehend genannten Verfahrensschritte auszuführen, beinhaltend eine Computervorrichtung, die programmiert ist, um Fahrzeugsensordaten in ein erstes neuronales Netzwerk (NN) einzugeben, das einen ersten Sicherheitsagenten beinhaltet, der eine Wahrscheinlichkeit unsicheren Fahrzeugbetriebs bestimmt und zu einer Vielzahl von Zeiten durch einen periodisch neu trainierten Deep-Reinforcement-Learning-Agenten angepasst wird, der ein zweites NN beinhaltet, das einen zweiten Sicherheitsagenten beinhaltet, und ein Fahrzeug basierend auf einer Fahrzeughandlung zu betreiben, die von dem ersten NN ausgegeben wird. Die Fahrzeughandlung kann den Betrieb von Lenkungs-, Bremsungs- und Antriebsstrangkomponenten des Fahrzeugs beinhalten. Fahrzeugsensordaten können durch Eingeben eines Farbvideobildes in das erste NN eingegeben werden. Der erste und zweite Sicherheitsagent können Wahrscheinlichkeiten unsicheren Fahrzeugbetriebs basierend auf dem Eingeben von Fahrzeughandlungen in eines von einem regelbasierten Maschinenlernsystem oder einem dritten NN, das basierend auf simulierten Daten trainiert wird, bestimmen. Die zweiten NNs können basierend auf Ground Truth der Fahrzeughandlung trainiert werden, wobei Ground Truth der Fahrzeughandlung Fahrzeugsensordaten, Fahrzeughandlungen und Informationen von dem Sicherheitsagenten beinhaltet.
  • Die Computervorrichtung kann ferner programmiert sein, um erste und zweite NN basierend auf Fahrzeugsensordaten, Fahrzeughandlungen und Informationen von dem Sicherheitsagenten basierend auf simulierten Daten zu trainieren. Der Deep-Reinforcement-Learning-Agent kann basierend auf aufgezeichneten Fahrzeugsensordaten, aufgezeichneter Ground Truth der Fahrzeughandlung und aufgezeichneten Informationen von dem Sicherheitsagenten, abhängig von einer Fehlerschranke, periodisch neu trainiert werden. Das erste NN kann angepasst werden, indem das erste NN basierend auf Informationen von dem periodisch neu trainierten zweiten NN neu trainiert wird. Das anfängliche Training des ersten NN kann sowohl auf sicheren Pufferpaaren (Zustand, sichere Handlung) als auch auf unsicheren Pufferpaaren (Zustand unsichere Handlung), die während der Offline-Simulation gesammelt werden, basieren, und das Training des zweiten NN basiert sowohl auf sicheren Pufferpaaren (Zustand, sichere Handlung) als auch auf unsicheren Pufferpaaren (Zustand unsichere Handlung), die während der Offline-Simulation gesammelt und während des Fahrens gesammelt werden. Das Betreiben eines Fahrzeugs kann auf einer Fahrzeughandlung basieren, die von dem DNN ausgegeben wird, beinhaltet das Bestimmen eines Pfadpolynoms basierend auf der ausgegebenen Fahrzeughandlung. Das Pfadpolynom kann auf einem geschätzten 3D-Standort des Fahrzeugs in Bezug auf eine kognitive Karte basieren. Der Fahrzeugstandort kann auf dem Pfadpolynom und der kognitiven Karte basieren. Die Fahrzeugsensordaten können ein Farbvideostrom sein, der durch eine Videokamera erworben wird, die in dem Fahrzeug enthalten ist. Das Fahrzeug kann durch Steuern von Lenkung, Bremsung und Antriebsstrang des Fahrzeugs betrieben werden.
  • 1 ist eine Darstellung eines Verkehrsinfrastruktursystems 100, das ein Fahrzeug 110 beinhaltet, welches in einem autonomen („autonom“ bedeutet in dieser Offenbarung alleinstehend „vollständig autonom“) und einem von einem Insassen gesteuerten (auch als nichtautonom bezeichneten) Modus betrieben werden kann. Das Fahrzeug 110 beinhaltet zudem eine oder mehrere Rechenvorrichtungen 115 zum Durchführen von Berechnungen zum Steuern des Fahrzeug 110 während des autonomen Betriebs. Die Rechenvorrichtungen 115 können Informationen hinsichtlich des Betriebs des Fahrzeugs von Sensoren 116 empfangen. Der Rechenvorrichtung 115 kann das Fahrzeug 110 in einem autonomen Modus, einem halbautonomen Modus oder einem nichtautonomen Modus betreiben. Zum Zwecke dieser Offenbarung ist ein autonomer Modus als einer definiert, in dem jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 110 durch die Rechenvorrichtung gesteuert wird; in einem halbautonomen Modus steuert die Rechenvorrichtung 115 eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs 110; in einem nicht autonomen Modus steuert ein menschlicher Bediener den Antrieb, die Bremsung und die Lenkung des Fahrzeugs.
  • Die Rechenvorrichtung 115 beinhaltet einen Prozessor und einen Speicher, wie diese bekannt sind. Ferner beinhaltet der Speicher eine oder mehrere Arten von computerlesbaren Medien und hat Anweisungen gespeichert, die durch den Prozessor ausführbar sind, um verschiedene Vorgänge durchzuführen, zu denen die hierin offenbarten gehören. Zum Beispiel kann die Rechenvorrichtung 115 eine Programmierung beinhalten, um eines oder mehrere von Bremsung, Antrieb (z. B. Steuerung der Beschleunigung in dem Fahrzeug 110 durch Steuern von einem oder mehreren von einer Brennkraftmaschine, einem Elektromotor, Hybridmotor usw.), Lenkung, Klimasteuerung, Innen- und/oder Außenleuchten usw. des Fahrzeugs zu betreiben sowie um zu bestimmen, ob und wann die Rechenvorrichtung 115 im Gegensatz zu einem menschlichen Fahrzeugführer derartige Vorgänge steuern soll.
  • Die Rechenvorrichtung 115 kann mehr als eine Rechenvorrichtung, z. B. Steuerungen oder dergleichen, die in dem Fahrzeug 110 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten enthalten sind, z.B. eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113, eine Lenksteuerung 114 usw., beinhalten oder kommunikativ daran gekoppelt sein, z. B. über einen Fahrzeugkommunikationsbus, der weiter unten beschrieben ist. Die Rechenvorrichtung 115 ist im Allgemeinen zur Kommunikation über ein Fahrzeugkommunikationsnetzwerk ausgelegt, das z. B. einen Bus in dem Fahrzeug 110, wie etwa ein Controller Area Network (CAN) oder dergleichen, beinhaltet; das Netzwerk des Fahrzeugs 110 kann zusätzlich oder alternativ drahtgebundene oder drahtlose Kommunikationsmechanismen beinhalten, wie sie bekannt sind, z. B. Ethernet oder andere Kommunikationsprotokolle.
  • Über das Fahrzeugnetzwerk kann die Rechenvorrichtung 115 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug senden und/oder Nachrichten von den verschiedenen Vorrichtungen, z. B. Steuerungen, Aktoren, Sensoren usw., einschließlich der Sensoren 116, empfangen. Alternativ oder zusätzlich dazu kann in Fällen, in denen die Rechenvorrichtung 115 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugkommunikationsnetzwerk zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als die Rechenvorrichtung 115 dargestellt sind. Ferner können, wie nachstehend erwähnt, verschiedene Steuerungen oder Erfassungselemente, wie etwa die Sensoren 116, Daten an die Rechenvorrichtung 115 über das Fahrzeugkommunikationsnetzwerk bereitstellen.
  • Außerdem kann die Rechenvorrichtung 115 zur Kommunikation durch eine Fahrzeug-Infrastruktur-Schnittstelle (F-I-Schnittstelle) 111 mit einem Remote-Servercomputer 120, z. B. einem Cloud-Server, über ein Netzwerk 130 konfiguriert sein, die, wie nachstehend beschrieben, Hardware, Firmware und Software beinhaltet, die es der Rechenvorrichtung 115 ermöglichen, mit einem Remote-Servercomputer 120 über ein Netzwerk 130, wie etwa drahtlose Internet- (Wi-Fi-) oder Mobilfunknetzwerke, zu kommunizieren. Die F-I-Schnittstelle 111 kann demnach Prozessoren, Speicher, Sendeempfänger usw. beinhalten, die dazu konfiguriert sind, verschiedene drahtgebundene und/oder drahtlose Netzwerktechniken, z. B. Mobilfunk, BLUETOOTH® und drahtgebundene und/oder drahtlose Paketnetzwerke, zu nutzen. Die Rechenvorrichtung 115 kann zum Kommunizieren mit anderen Fahrzeugen 110 über die F-I-Schnittstelle 111 unter Verwendung von Fahrzeug-Fahrzeug-Netzwerken (F-F-Netzwerken) z. B. gemäß dedizierter Nahbereichskommunikation (Dedicated Short Range Communications - DSRC) und/oder dergleichen konfiguriert sein, die z. B. ad hoc zwischen Fahrzeugen 110 in der Nähe gebildet werden oder über infrastrukturbasierte Netzwerke gebildet werden. Die Rechenvorrichtung 115 beinhaltet zudem nichtflüchtigen Speicher, wie er bekannt ist. Die Rechenvorrichtung 115 kann Informationen protokollieren, indem sie die Informationen zum späteren Abrufen und Übertragen über das Fahrzeugkommunikationsnetzwerk und eine Fahrzeug-Infrastruktur-Schnittstelle (F-I-Schnittstelle) 111 an einen Servercomputer 120 oder eine mobile Benutzervorrichtung 160 in nichtflüchtigem Speicher speichert.
  • Wie bereits erwähnt, ist in Anweisungen, die in dem Speicher gespeichert sind und durch den Prozessor der Rechenvorrichtung 115 ausgeführt werden können, im Allgemeinen eine Programmierung zum Betreiben einer oder mehrerer Komponenten des Fahrzeugs 110, z. B. Bremsung, Lenkung, Antrieb usw., ohne Eingreifen eines menschlichen Fahrzeugführers enthalten. Unter Verwendung von in der Rechenvorrichtung 115 empfangenen Daten, z. B. den Sensordaten von den Sensoren 116, dem Servercomputer 120 usw., kann die Rechenvorrichtung 115 ohne einen Fahrer zum Betreiben des Fahrzeugs 110 verschiedene Bestimmungen vornehmen und/oder verschiedene Komponenten und/oder Vorgänge des Fahrzeugs 110 steuern. Beispielsweise kann die Rechenvorrichtung 115 eine Programmierung zum Regulieren des Betriebsverhaltens des Fahrzeugs 110 (d. h. physischer Manifestationen des Betriebs des Fahrzeugs 110), wie etwa Geschwindigkeit, Beschleunigung, Bremsung, Lenkung usw., sowie des taktischen Verhaltens (d. h. Steuerung des Betriebsverhaltens typischerweise auf eine Weise, mit der eine sichere und effiziente Zurücklegung einer Route erreicht werden soll), wie etwa einem Abstand zwischen Fahrzeugen und/oder einer Zeitdauer zwischen Fahrzeugen, Fahrstreifenwechsel, eines Mindestabstands zwischen Fahrzeugen, eines minimalen Linksabbiegewegs, einer Zeit bis zur Ankunft an einem bestimmten Standort und eine minimale Zeit bis zur Ankunft an einer Kreuzung (ohne Ampel) zum Überqueren der Kreuzung, beinhalten.
  • Im vorliegenden Zusammenhang beinhaltet der Ausdruck Steuerungen Rechenvorrichtungen, die typischerweise zum Steuern eines bestimmten Fahrzeugteilsystems programmiert sind. Beispiele beinhalten eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113 und eine Lenksteuerung 114. Bei einer Steuerung kann es sich um eine elektronische Steuereinheit (electronic control unit - ECU), wie sie bekannt ist, handeln, die potenziell eine zusätzliche Programmierung, wie in dieser Schrift beschrieben, beinhaltet. Die Steuerungen können kommunikativ mit der Rechenvorrichtung 115 verbunden sein und Anweisungen von dieser empfangen, um das Teilsystem gemäß den Anweisungen zu betätigen. Zum Beispiel kann die Bremssteuerung 113 Anweisungen zum Betreiben der Bremsen des Fahrzeugs 110 von der Rechenvorrichtung 115 empfangen.
  • Die eine oder mehreren Steuerungen 112, 113, 114 für das Fahrzeug 110 können bekannte elektronische Steuereinheiten (ECUs) oder dergleichen beinhalten, zu denen als nicht einschränkende Beispiele eine oder mehrere Antriebsstrangsteuerungen 112, eine oder mehrere Bremssteuerungen 113 und eine oder mehrere Lenksteuerungen 114 gehören. Jede der Steuerungen 112, 113, 114 kann entsprechende Prozessoren und Speicher und einen oder mehrere Aktoren beinhalten. Die Steuerungen 112, 113, 114 können mit einem Kommunikationsbus des Fahrzeugs 110 programmiert und verbunden sein, wie etwa einem Controller-Area-Network(CAN)-Bus oder Local-Interconnect-Network(LIN)-Bus, um Anweisungen von dem Computer 115 zu empfangen und Aktoren basierend auf den Anweisungen zu steuern.
  • Die Sensoren 116 können eine Vielfalt an Vorrichtungen beinhalten, die bekanntlich Daten über den Fahrzeugkommunikationsbus bereitstellen. Zum Beispiel kann ein Radar, das an einem vorderen Stoßfänger (nicht gezeigt) des Fahrzeugs 110 befestigt ist, einen Abstand des Fahrzeugs 110 zu einem nächsten Fahrzeug vor dem Fahrzeug 110 bereitstellen oder kann ein Sensor des globalen Positionsbestimmungssystems (GPS), der in dem Fahrzeug 110 angeordnet ist, geographische Koordinaten des Fahrzeugs 110 bereitstellen. Der/die durch das Radar und/oder die anderen Sensoren 116 bereitgestellte(n) Abstand/Abstände und/oder die durch den GPS-Sensor bereitgestellten geografischen Koordinaten können durch die Rechenvorrichtung 115 verwendet werden, um das Fahrzeug 110 autonom oder halbautonom zu betreiben.
  • Das Fahrzeug 110 ist im Allgemeinen ein landbasiertes Fahrzeug 110, das zu einem autonomen und/oder halbautonomen Betrieb in der Lage ist und drei oder mehr Räder aufweist, z. B. ein Personenkraftwagen, ein Leicht-LKW usw. Das Fahrzeug 110 beinhaltet einen oder mehrere Sensoren 116, die F-I-Schnittstelle 111, die Rechenvorrichtung 115 und eine oder mehrere Steuerungen 112, 113, 114. Die Sensoren 116 können Daten bezüglich des Fahrzeugs 110 und der Umgebung, in der das Fahrzeug 110 betrieben wird, sammeln. Beispielsweise können zu den Sensoren 116 u.a. Höhenmesser, Kameras, LIDAR, Radar, Ultraschallsensoren, Infrarotsensoren, Drucksensoren, Beschleunigungsmesser, Gyroskope, Temperatursensoren, Drucksensoren, Hall-Effekt-Sensoren, optische Sensoren, Spannungssensoren, Stromsensoren, mechanische Sensoren, wie etwa Schalter, usw. gehören. Die Sensoren 116 können dazu verwendet werden, die Umgebung zu erfassen, in der das Fahrzeug 110 betrieben wird; z. B. können die Sensoren 116 Phänomene, wie etwa Wetterbedingungen (Niederschlag, äußere Umgebungstemperatur usw.), die Neigung einer Straße, die Position einer Straße (z. B. anhand von Straßenrändern, Fahrstreifenmarkierungen usw.) oder Positionen von Zielobjekten, wie z.B. benachbarten Fahrzeugen 110, erfassen. Die Sensoren 116 können ferner verwendet werden, um Daten, einschließlich dynamischer Daten des Fahrzeugs 110, die sich auf den Betrieb des Fahrzeugs 110 beziehen, wie etwa Geschwindigkeit, Gierrate, Lenkwinkel, Motordrehzahl, Bremsdruck, Öldruck, den auf die Steuerungen 112, 113, 114 im Fahrzeug 110 angewandten Leistungspegel, Konnektivität zwischen Komponenten und genaue und rechtzeitige Durchführung der Komponenten des Fahrzeugs 110, zu sammeln.
  • 2 ist ein Diagramm eines beispielhaften Farbbildes 200 einer Verkehrsszene, die zur Einhaltung von 37 C.F.R. §1.84(a)(1) in schwarz-weiß dargestellt sind. Das Farbbild 200 kann durch Sensoren 116 erworben werden, darunter Videosensoren. Das Farbbild 200 kann durch die Rechenvorrichtung 115 eingegeben und verarbeitet werden, um Informationen in Bezug auf die echte Welt nahe dem Fahrzeug 110 zur Verwendung beim Betreiben des Fahrzeugs 110 zu erhalten. Unter Verwendung von Maschinensichttechniken, darunter neuronalen Faltungsnetzwerken (convolutional neural networks - CNNs), kann die Rechenvorrichtung 115 Objekte und Regionen in einem Sichtfeld eines Videosensors lokalisieren und identifizieren und die Objekte und Region verwenden, um das Fahrzeug 110 sicher zu betreiben.
  • Ein CNN zum Lokalisieren und Identifizieren von Objekten in Farbbildern 200 kann eine Vielzahl von Faltungsschichten durchsetzt mit Pooling-Schichten gefolgt von einer Vielzahl von Faltungsschichten durchsetzt mit Nicht-Pooling-Schichten beinhalten, um die Auflösung unter Verwendung von Überbrückungsverbindungen mit Faltungsschichten wiederherzustellen, während bestimmte(r) Standort und Identität in Zwischenmedien gespeichert werden, wobei der Standort eine Pixeladresse (i, j) im Farbbild 200 ist und die Identität eine Markierung ist, die durch ein trainiertes CNN aus einer Liste mit Markierungen, darunter „Fahrzeug“, „Fußgänger“, „Fahrbahn“, „Spurenmarkierung“ usw. ausgewählt und auf verbundene Regionen von Pixeln durch ein trainiertes CNN angewandt wird. Ein CNN kann trainiert sein, um Standorte und Identitäten für verbundene Regionen von Pixeln in einem Farbbild 200 zu bestimmen, ein Prozess, der als Bildsegmentierung bezeichnet wird, indem das CNN unter Verwendung von aufgezeichneten Bildern und Ground Truth in Bezug auf die Standorte und Identitäten von Objekten und Regionen im Farbbild 200 trainiert wird.
  • Zum Beispiel kann in dem Farbbild 200 die Rechenvorrichtung 115 ein CNN zum Segmentieren des Videobildes 200 verwenden, um eine Fahrbahn 202, Spurenmarkierungen 204, 206, 208, Stoppmarkierungen 210, Mittel 212, andere Fahrzeuge 214, 216, 218, 220, 222 und Verkehrssignale 224, 226, 228 basierend auf dem Trainieren eines CNN unter Verwendung von Farbbildern 200 und Ground Truth entsprechend den Farbbildern 200 zu lokalisieren und zu identifizieren. Ground Truth wie hierin verwendet bedeutet Informationen in Bezug auf die Ausgabe von einem CNN, die von einer Quelle unabhängig von dem CNN erhalten wird. Zum Beispiel kann ein Mensch Regionen eines Farbbildes 200 entsprechend der Fahrbahn 202, den Spurenmarkierungen 204, 206, 208, der Stoppmarkierung 210, dem Mittel 212, anderen Fahrzeugen 214, 216, 218, 220, 222 und Verkehrssignalen 224, 226, 228 empirisch lokalisieren und identifizieren. Diese Informationen können in ein CNN als Ground Truth eingegeben werden, um das CNN zu trainieren, indem die Ground Truth mit Ausgabe des CNN verglichen wird und das CNN basierend auf der Ähnlichkeit der Ausgabe mit der Ground Truth belohnt wird.
  • Ein CNN kann basierend auf simulierten Daten trainiert werden. Simulierte Daten sind Daten des Farbbildes 200 und entsprechende Ground Truth aus einer nahezu realistischen simulierten Umgebung, die von Computersoftware erzeugt und wiedergegeben wird, im Gegensatz zum Erwerb durch einen Videosensor, der in einem Fahrzeug 110 enthalten ist, in einer Umgebung der echten Welt und Ground Truth basierend auf der Umgebung der echten Welt enthaltend. Eine nahezu realistische simulierte Umgebung bedeutet in diesem Kontext ein Softwareprogramm, das Farbbilder 200 erzeugen und wiedergeben kann, die einem Betrachter wie eine echte Fotografie einer Umgebung der echten Welt erscheinen (fotorealistisch), zum Beispiel eine Fahrbahn mit Fahrzeugen. Zum Beispiel kann Computer-Gaming-Software fotorealistische Videoszenen von Fahrzeugen, Fahrbahnen und Hintergründen basierend auf mathematischen und logischen Beschreibungen von Objekten und Regionen in der simulierten Umgebung wiedergeben. Computersoftware kann simulierte Daten von echten Verkehrsszenen, darunter Fahrbahnen, Fahrzeugen, Fußgängern und Hintergründen in einer Geschwindigkeit erzeugen und wiedergeben, die schnell genug ist, um viel mehr Farbbilder 200 und entsprechende Daten der Ground Truth zu erzeugen als durch Videosensoren an Fahrzeugen 110 erworben werden könnten, die Daten erwerben, während das Fahrzeug 110 auf einer Fahrbahn betrieben wird. Die simulierten Verkehrsszenen können ausgewählt werden, um eine Vielzahl von Fahrbahnkonfigurationen, Verkehr, Beleuchtung und Wetterbedingungen zu reproduzieren, die zum Beispiel in echten Umgebungen wahrscheinlich zu finden ist. Ein Beispiel für ein Softwareprogramm, das verwendet werden kann, um simulierte Verkehrsszenen zu erzeugen, ist TORCS, das zum Datum der Einreichung dieser Anmeldung unter torcs.sourceforge.net erhältlich ist. Da die Farbbilder 200, die in den simulierten Daten enthalten sind, Informationen von einer nahezu realistischen simulierten Umgebung beinhalten, verarbeitet das CNN die Farbbilder 200, als ob sie echte Daten aus einer echten Umgebung beinhalten würden.
  • 3 ist eine Darstellung einer beispielhaften kognitiven Karte 300, die durch die Rechenvorrichtung 115 basierend auf dem Farbbild 200 und Kartendaten, die in der Rechenvorrichtung 115 gespeichert sind, erzeugt wird. Eine kognitive Karte ist eine Karte der echten Welt in der Nähe eines Fahrzeugs 110, die in einer Ansicht von oben nach unten wiedergegeben wird. Eine kognitive Karte 300 basiert auf Kartendaten und Standortdaten des Fahrzeugs 110. Kartendaten können auf Darstellungssoftware basieren, darunter GOOGLE™ Maps, die von einem Servercomputer 120 basierend auf einem Standort des Fahrzeugs 110 heruntergeladen wird. Der Standort des Fahrzeugs 110 kann durch die Rechenvorrichtung 115 basierend auf Sensoren 116 bestimmt werden, darunter z.B. GPS-Sensoren und/oder Beschleunigungsmesser. Der Standort des Fahrzeugs 110 in Bezug auf die kognitive Karte 300 kann verbessert werden, indem das Farbbild 200 mit einem CNN wie vorstehend beschrieben verarbeitet wird, um verbundene Regionen von Pixeln entsprechend Objekten und Regionen in dem Sichtfeld zu lokalisieren und zu identifizieren und um verbundene Regionen entsprechend lokalisierten und identifizierten Objekten und Regionen basierend auf der echten 3D-Position des Sichtfeldes und dem echten 3D-Standort von Pixeln auf der kognitiven Karte 300 auf die kognitive Karte 300 zu projizieren, wobei der echte 3D-Standort die Position eines Punktes in Bezug auf ein echtes x-, y- und z-Koordinatensystem ist, wie Länge, Breite und Höhe, und die 3D-Position der 3D-Standort in Bezug auf ein echtes Koordinatensystem und Drehungen ρ, φ und θ um die x-, y- und z-Achse des echten 3D-Koordinatensystems ist.
  • Basierend auf einem Sichtfeld eines Videosensors in echten Koordinaten und dem Standort eines Objekts oder einer Region in Bezug auf ein Sichtfeld und dem Bestimmen des echten 3D-Standortes von Pixeln auf der kognitiven Karte 300 basierend auf Kartendaten, die in der Rechenvorrichtung 115 gespeichert sind, kann die Rechenvorrichtung Objekte und Regionen von dem Farbbild 200 auf die kognitive Karte 300 projizieren. Zum Beispiel können die Fahrbahn 202, die Spurenmarkierungen 204, 206, 208, die Stoppmarkierung 210, das Mittel 212, andere Fahrzeuge 214, 216, 218, 220, 222 und Verkehrssignale 224, 226, 228 auf die kognitive Karte projiziert werden, um die Fahrbahn 302, die Spurenmarkierungen 304, 306, 308, die Stoppmarkierung 310, das Mittel 312, andere Fahrzeuge 314, 316, 318, 320, 322 und Verkehrssignale 324, 326, 328 zu bilden. Projizierte Objekte und Regionen werden mit Informationen in Bezug auf die Fahrbahn 302, den Standort des Fahrzeugs 110 und die Größe und Form von Objekten und Regionen kombiniert, wie sie auf der kognitiven Karte 300 in der Ansicht von oben nach unten basierend auf dem Standort und der Identität wie vorstehend erörtert erscheinen. Zum Beispiel kann die Rechenvorrichtung die Größe, Form und 3D-Position anderer Fahrzeuge 314, 316, 318, 320, 322 in der Ansicht von oben nach unten basierend auf Informationen zu Größe und Form und Standort auf dem Farbbild 200, der 3D-Position des Sichtfeldes der Videokamera und gespeicherten Informationen in Bezug auf die Fahrbahn und Fahrzeugform aus einer Ansicht von oben nach unten vorhersagen oder schätzen. Die Wörter „vorhersagen“ und „schätzen“ werden hierin austauschbar verwendet.
  • Die Rechenvorrichtung 115 kann das Fahrzeug 110 basierend auf hierarchischen Schichten unabhängiger Softwareprogramme betreiben, die von Programmen auf hoher Ebene, die Aufgaben auf hoher Ebene bestimmen, wie zum Beispiel „Insassen abholen und zu Ziel fahren“ oder „zurück zum Wartungsbereich fahren“, über Aufgaben auf mittlerer Ebene wie zum Beispiel „bei nächster Kreuzung rechts abbiegen“ oder „auf die rechte Spur fahren“ bis zu Aufgaben auf niedriger Ebene wie zum Beispiel „Lenkrad um a Grad drehen, Bremsen lösen und c Sekunden lang b Leistung anwenden“, reichen. Aufgaben auf mittlerer Ebene können Informationen von kognitiven Karten verwenden, um ein Pfadpolynom 330 basierend auf einem Standort des Fahrzeugs 110 und einem zweiten Standort, z. B. einem Standort eines Objekts wie zum Beispiel einem anderen Fahrzeug zu bilden. Der Standort kann durch Darstellungssoftware basierend auf dem Standort des Fahrzeugs 110 und einem Ziel bestimmt werden, auf eine ähnliche Weise wie Schritt-für-Schritt-Fahranweisungen, die mit Darstellungssoftware wie GOOGLE™ Maps erhältlich sind, oder durch hierin beschriebene Techniken, die sich beim Bilden eines Pfadpolynoms 330 verbessern können, indem Zustandsvariablen des verarbeiteten Farbbildes 200 wie vorstehend beschrieben, die ein Fahrzeug in Bezug auf eine Fahrbahn und Objekte in einer Nähe identifizieren und lokalisieren, in einen DNN-Block 400 und einen Sicherheitsagentenblock 508 (SA) eingegeben werden, die in einem Directed-Reinforcement-Learning-(DRL-)System 500 wie nachfolgend in Bezug auf 4 und 5 erörtert enthalten sind. Das DRL-System 500 kann Fahrzeugübergangszustände ausgeben, die einen vorhergesagten 3D-Standort 332 des Fahrzeugs 110 beinhalten. Der vorhergesagte 3D-Standort 332 kann in Softwareprogramme eingegeben werden, die ein Pfadpolynom 330 basierend auf Grenzen von Quer- und Längsbeschleunigungen und Rucks bestimmen können (wobei ein Ruck die erste Ableitung der Beschleunigung ist, d. h. die zweite Ableitung der Geschwindigkeit). Das ausgegebene Pfadpolynom 330 kann durch die Rechenvorrichtung 115 verwendet werden, um das Fahrzeug 110 zu betreiben, indem die Lenkung, die Bremsung und der Antriebsstrang des Fahrzeugs über Steuerungen 112, 113, 114 gesteuert werden, um das Fahrzeug 110 dazu zu veranlassen, entlang des Pfadpolynoms 330 zu fahren.
  • Ein Pfadpolynom 330 ist eine oder mehrere Polynomfunktionen Grad drei oder mehr, die die vorhergesagte Bewegung eines Fahrzeugs 110 beschreiben. Das Pfadpolynom 330 kann basierend auf vorhergesagtem Verhalten des Fahrzeugs 110 bei Kräften bestimmt werden, die durch die Lenkung, die Bremsen und den Antriebsstrang als Reaktion auf Befehle erzeugt werden, die über die Steuerungen 112, 113, 114 empfangen werden. Auf diese Weise kann die Rechenvorrichtung den Befehl bestimmen, der an die Steuerungen 112, 113, 114 zu senden ist, um zu veranlassen, dass das Fahrzeug 110 bei bestimmten Quer- und Längsbeschleunigungen und Rucks entlang des Pfadpolynoms 330 betrieben wird. Zum Beispiel kann die Rechenvorrichtung 115 basierend auf dem Pfadpolynom 330 Befehle an die Steuerungen 112, 113, 114 senden, um zu veranlassen, dass sich das Fahrzeug 110 entlang des Pfadpolynoms 330 bewegt und sich an dem zweiten vorhergesagten 3D-Standort 332 zu einem Stopp verlangsamt.
  • 4 ist eine Darstellung eines beispielhaften DNN 400, das Fahrzeugübergangszustände 430 der Ausgabezustandsschicht 428 basierend auf eingegebenen Fahrzeugzuständen 404 der Eingabezustandsschicht 402 und während des Trainings Belohnungen 408 der Belohnungsschicht 406 berechnen und ausgeben kann. Das DNN 400 beinhaltet verborgene Schichten 416, 422, die jeweils Knoten 418, 424 beinhalten, die über Zwischenverbindungen 420, 426, 432 vollständig mit eingegebenen Fahrzeugzuständen 404, Belohnungen 408 und ausgegebenen Fahrzeugübergangszuständen 430 verbunden sind. Die Zwischenverbindungen 420, 426, 432 sind Mittel zum Übertragen von Daten an die, von den und zwischen Knoten 418, 428, an denen Berechnungen des DNN 400 stattfinden. Jeder Knoten 418 der verborgenen Schicht 416 kann auf alle eingegebenen Fahrzeugzustände 404 und während des Trainings alle Belohnungen 408 zur Verwendung beim Berechnen von Zwischenzuständen zugreifen, die Knoten 424 der verborgenen Schicht 422 über die Zwischenverbindungen 426 bereitzustellen sind. Alle Knoten 424 der verborgenen Schicht 422 können über Zwischenverbindungen 426 zur Verwendung beim Berechnen und Übertragen von ausgegebenen Fahrzeugübergangszuständen 430 über die Zwischenverbindungen 432 an die Ausgabezustandsschicht 428 auf alle Zwischenzustände zugreifen. Ein Fahrzeugübergangszustand 430 ist ein Satz an Daten, der Werte bereitstellt, die eine Fahrzeugtrajektorie beschreiben, z. B. kann ein Übergangszustand Daten zu vorhergesagter 3D-Position, Geschwindigkeit und Quer- und Längsbeschleunigung beinhalten und kann an Softwareprogramme ausgegeben werden, um zum Beispiel ein Pfadpolynom 330 für den Betrieb des Fahrzeugs 110 zu erzeugen.
  • Alle Berechnungen der verborgenen Schicht 416, 422 werden parametrisiert, um dem DNN 400 zu ermöglichen, zu lernen, eingegebene Fahrzeugzustände 404 in ausgegebene Fahrzeugzustände 430 umzuwandeln, wobei ausgegebene Fahrzeugübergangszustände Daten zu einer vorhergesagten 3D-Position, Geschwindigkeit und Quer- und Längsbeschleunigung für das Fahrzeug 110 in Bezug auf die Fahrbahn 302 beinhalten. Zum Beispiel beinhalten eingegebene Fahrzeugzustände 404 Werte, die den Standort, die Geschwindigkeit und die Richtung eines Fahrzeugs 110 in Bezug auf eine Fahrbahn 302 und andere Fahrzeuge 314, 316, 318, 320, 322 beschreiben, und Informationen zu aktuellen Fahrzeugfahranweisungen, wobei aktuelle Fahrzeugfahranweisungen Anweisungen zum Abschließen eines Teils einer längeren Fahraufgabe beinhalten, wobei zum Beispiel die Fahrzeugfahranweisungen „auf rechte Spur wechseln“ ein Teil einer längeren Fahranweisung sein kann, „bei Kreuzung nach 100 Fuß rechts abbiegen“ wiederum Teil einer Fahraufgabe sein kann, zum Beispiel „von einem ersten Standort entlang einer Route zu einem zweiten Standort fahren“, usw. Die Fahrzeugrichtungen können durch ein Softwareprogramm wie GOOGLE Maps bestimmt werden, das auf dem Servercomputer 120 ausgeführt wird und über die F-I-Schnittstelle 111 auf die Rechenvorrichtung 115 heruntergeladen wird, oder durch die Rechenvorrichtung 115 bestimmt und in der Rechenvorrichtung 115 gespeichert werden.
  • Die Rechenvorrichtung 115 kann die ausgegebenen Fahrzeugübergangszustände 430 in Softwareprogramme eingeben, die ein Pfadpolynom 330 erzeugen können, um den Betrieb des Fahrzeugs 110 von einem aktuellen Standort zu einem zweiten vorhergesagten 3D-Standort 332 zu lenken, während Grenzen der Quer- und Längsbeschleunigungen und Rucks beibehalten werden, wodurch Kollisionen oder Beinahe-Kollisionen mit anderen Fahrzeugen 314, 316, 318, 320, 322 verhindert werden, und ein oder mehrere Schritte durchgeführt werden, um eine aktuelle Fahrzeugrichtung zu erreichen, zum Beispiel „auf die rechte Spur zu zweitem vorhergesagten 3D-Standort 332 wechseln“.
  • Zum Beispiel kann die Rechenvorrichtung 115 unter Verwendung von Informationen basierend auf dem Sichtfeld jedes Sensors 116 freie Raumregionen und nicht freie Raumregionen schätzen, die in der kognitiven Karte 300 enthalten sind. Regionen mit freiem Raum sind Regionen einer kognitiven Karte 300, in denen für ein Fahrzeug 110 vorhergesagt werden kann, dass es ungehindert auf einer Fahrbahnfläche fahren kann. Die Rechenvorrichtung 115 kann Ziele in der kognitiven Karte 300 für die Fahrt des Fahrzeugs 110 bestimmen, die einen Schritt zur Erreichung einer höheren zielgerichteten Aktivität darstellen, wie etwa beispielsweise das Abholen eines Fahrgastes und das Absetzen des Fahrgastes an einem Ziel. In einer kognitiven Karte 300 beinhaltete Regionen mit nicht freiem Raum beinhalten Regionen ohne Fahrbahn und Regionen, die Objekte umgeben, sowohl feststehende Objekte wie Leitkegel und Leitplanken als auch, wenn Objekte als sich bewegend bestimmt werden, Positionen, zu denen sich die Objekte wahrscheinlich bewegen werden, wobei beispielsweise Wegstrecken für Fahrzeuge, Fußgänger und Fahrradfahrer vorgesagt werden. Positionen in einer kognitiven Karte 300, zu denen sich die Objekte wahrscheinlich bewegen werden, können basierend auf wiederholten Beobachtungen der Objekte im Laufe der Zeit bestimmt werden, um beispielsweise Wahrscheinlichkeiten für Objektpositionen basierend auf einer bestimmten Geschwindigkeit und Richtung des Objekts zu bestimmen. Pfadpolynome können bestimmt werden, um das Fahrzeug 110 derart zu lenken, dass es innerhalb einer Region mit freiem Raum fährt, um ein Ziel zu erreichen, während es Regionen mit nicht freiem Raum ausweicht.
  • Das DNN 400 kann unter Verwendung von eingegebenen Fahrzeugzuständen 404 trainiert werden, die durch ein CNN bestimmt werden, das unter Verwendung von Videobildern 200 aus einer nahezu realistischen simulierten Umgebung wie vorstehend in Bezug auf 2 erörtert trainiert worden ist. Es ist unwahrscheinlich, dass die simulierten Videobilder 200 die vollständige Spanne an Komplexitäten des Betriebs eines Fahrzeugs 110 in der echten Welt imitieren können. Hierin offenbarte Techniken zum Verbessern des Trainings eines DNN-Blocks 400 zur Anpassung an zuvor nicht gesehene Farbbilder 200, die zuvor nicht gesehene eingegebene Fahrzeugzustände erzeugen, indem ein DNN-Block 400, der einen Sicherheitsagentenblock 508 (SA) als Teil eines Deep-Reinforcement-Learning-(DRL-)Systems 500 beinhaltet, der die Fähigkeit beinhaltet, periodisch mit dem neu trainierten DRL-System 500 von dem Servercomputer 120 über die F-I-Schnittstelle 111 aktualisiert zu werden.
  • 5 ist eine Abbildung eines beispielhaften Deep-Reinforcement-Learning-(DRL-)Systems 500, das das DNN 400 in einem System beinhaltet, das trainiert werden kann, um Fahrzeugübergangszustände als Reaktion auf eingegebene 514 Fahrzeugzustandswerte auf verbesserte Weise auszugeben 510, indem der sichere Betrieb des Fahrzeugs 110 unter Verwendung eines Sicherheitsagentenblocks 508 (SA) bestimmt wird. Das DRL-System 500 beinhaltet einen Sicherheitsagenten 508, der die aus dem DNN-Block 400 ausgegebenen vorhergesagten Fahrzeugübergangszustände eingibt und sie unter Anwendung einer kurz bevorstehenden Sicherheitsprüfung wie vorstehend erörtert auf Sicherheitsverletzungen prüft und in Beispielen, in denen die Fahrzeugübergangszustände Sicherheitsverletzungen entsprechen, die Fahrzeugübergangszustände durch Fahrzeugbeendigungszustände bei der Ausgabe 510 ersetzt.
  • Hierin offenbarte Techniken verbessern das Training eines DRL-Systems 500 zum Anpassen an eingegebene Fahrzeugzustände, die als Reaktion auf zuvor nicht gesehene Videobilder 200 erzeugt werden, die neue ausgegebene Fahrzeugzustände erfordern, indem ein Sicherheitsagentenblock 508 integriert wird, um die Ausgabe aus dem DNN-Block 400 zu prüfen.
  • Ein Sicherheitsagentenblock 508 ist ein Maschinenlernsoftwareprogramm, das entweder ein regelbasiertes Softwareprogramm sein kann, bei dem eine finite Zustandsmaschine ausgegebene Fahrzeugzustände analysiert und Sicherheitsverletzungswahrscheinlichkeiten gemäß Benutzereingaberegeln und Wahrscheinlichkeiten bestimmt, die in der Rechenvorrichtung 115 zur Verwendung durch den Sicherheitsagentenblock 508 gespeichert sind, oder der Sicherheitsagentenblock 508 kann ein DNN-Softwareprogramm sein, das unter Verwendung von durch Benutzereingabe bereitgestellten Sicherheitsverletzungswahrscheinlichkeiten trainiert ist. In jedem Fall kann der Sicherheitsagentenblock 508 Fahrzeugübergangszustände analysieren, die durch den DNN-Block 400 ausgegeben werden, um zu bestimmen, ob eine kurz bevorstehende Sicherheitsverletzung wahrscheinlich ist.
  • Kurz bevorstehende Sicherheitsverletzungen können Kollisionen und Beinahe-Kollisionen mit anderen Fahrzeugen oder Fußgängern beinhalten oder Bewegung des Fahrzeugs 110, die erfordern würde, dass ein anderes Fahrzeug oder ein Fußgänger anhält oder die Richtung ändert, die während des Zeitrahmens auftreten würden, der zum Beispiel durch den Betrieb des Fahrzeugs 110, um zu einem vorhergesagten 3D-Standort zu fahren, dargestellt wird. Kurz bevorstehende Sicherheitsverletzungen können durch den Sicherheitsagentenblock 508 bestimmt werden, indem die Beziehungen zwischen der vorhergesagten 3D-Position des Fahrzeugs 110, die in den Fahrzeugübergangszuständen enthalten ist, und der kognitiven Karte 300, die andere Fahrzeuge 314, 316, 318, 320, 322 beinhaltet, und/oder die Fahrbahn mit einer Regelliste und Wahrscheinlichkeiten basierend auf den Beziehungen verglichen werden. Zum Beispiel kann basierend auf der 3D-Position anderer Fahrzeuge 314, 316, 318, 320, 322, die in Bezug auf einen vorhergesagten 3D-Standort des Fahrzeugs 110 bestimmt wird, eine Wahrscheinlichkeit, dass sich eines oder mehrere der anderen Fahrzeuge bewegen werden, um dem Fahrzeug 110 in die Quere zu kommen und dadurch eine Kollision oder Beinahe-Kollision zu verursachen, durch Zugriff auf die Regelliste bestimmt werden. Wenn zum Beispiel Fahrzeugübergangszustände angeben, dass das Fahrzeug 110 einen Spurenwechsel durchführen wird, wie durch das Pfadpolynom 330 angegeben, kann eine Spurenwechselregel erfordern, dass eine Sicherheitsprüfung durchgeführt wird, um zu bestimmen, ob die benachbarte Spur frei von sich näherndem Verkehr ist. Die Rechenvorrichtung 115 kann eine Sicherheitsprüfung basierend auf dem Verarbeiten von Daten von den Sensoren 116 durchführen, darunter zum Beispiel zur Seite und nach hinten gerichtete Videokameras. Basierend auf Daten von zur Seite und nach hinten gerichteten Videokameras kann die Rechenvorrichtung 115 eine Wahrscheinlichkeit, dass ein sich bewegendes Fahrzeug zeitlich vor oder nahe dem Fahrzeug 110 einen 3D-Standort 332 belegen oder sich diesem nahe annähern wird, und damit die Wahrscheinlichkeit einer Sicherheitsverletzung bestimmen. Eine Beziehung zwischen einer vorhergesagten 3D-Position des Fahrzeugs 110 und Wahrscheinlichkeiten in Verbindung mit Sicherheitsverletzungen und damit Regeln für ein regelbasiertes System werden durch Benutzereingaben basierend darauf bestimmt, dass beispielhafte Fahrzeugübergangszustände, die durch den DNN-Block 400 emittiert werden, geprüft und in Bezug auf die kognitive Karte 300 analysiert werden, um zum Beispiel potentielle Sicherheitsverletzungen zu bestimmen und Wahrscheinlichkeiten basierend auf dem Standort und vorhergesagter Bewegung anderer Fahrzeuge zuzuweisen.
  • Zum Beispiel kann der DNN-Block 400, der das Fahrzeug 110 lenkt, um zu einem vorhergesagten 3D-Standort zu fahren, der durch das Pfadpolynom 330 in 3 dargestellt ist, als eine hohe Wahrscheinlichkeit einer Sicherheitsverletzung aufweisend angesehen werden, da das Durchführen des Spurenwechselmanövers als kurz bevorstehende Sicherheitsverletzung ohne Sicherheitsprüfungsinformationen in Bezug auf sich näherndem Verkehr auf der benachbarten Spur vor dem Betreiben des Fahrzeugs 110, um das Manöver durchzuführen, angesehen werden kann. Falls der Sicherheitsagentenblock 508 basierend auf Sicherheitsprüfungsinformationen, die in eingegebenen Fahrzeugzuständen in Bezug auf benachbarten Spurenverkehr enthalten sind, oder basierend auf zuvor verarbeiteten Sicherheitsprüfungsinformationen, die in dem Sicherheitsagentenblock 508 gespeichert sind, in Bezug auf benachbarten Spurenverkehr bestimmt, dass keine kurz bevorstehende Sicherheitsverletzung auftreten wird, kann der Sicherheitsagentenblock 508 die ausgegebenen Fahrzeugzustände unverändert ausgeben 510 und eine Kopie an den Zustandsübergangsfunktions-/Belohnungsfunktionsblock 512 senden. Falls der Sicherheitsagentenblock 508 bestimmt, dass eine moderate bis hohe Wahrscheinlichkeit (> 50 %) einer kurz bevorstehenden Sicherheitsverletzung mit den Fahrzeugübergangszuständen verbunden ist, basierend auf der vorhergesagten 3D-Position des Fahrzeugs durch eine Regel, die in dem regelbasierten System enthalten ist, kann der Sicherheitsagentenblock 508 ausgegebene Fahrzeugbeendigungszustände durch die von DNN-Block 400 ausgegebenen Fahrzeugzustände ersetzen. Ausgegebene Fahrzeugbeendigungszustände können das Fahrzeug 110 lenken, um betrieben zu werden, um die kurz bevorstehende Sicherheitsverletzung zu vermeiden, wobei die Fahrzeugbeendigungszustände von den von DNN-Block 400 ausgegebenen Fahrzeugzuständen abhängen können, darunter das direkte Verlangsamen zu einem Stopp auf der Spur oder das direkte Umkehren eines Manövers, zum Beispiel Umkehren eines Spurenwechselmanövers, um zu einer Ausgangsspur zurückzukehren usw.
  • Der Sicherheitsagentenblock 508 kann auch durch ein Sicherheitsagenten-DNN umgesetzt werden, indem Eingaben durch das DNN 400 ausgegebene Fahrzeugübergangszustände beinhalten, die in das Sicherheitsagenten-DNN eingegeben werden. Ein DNN eines Sicherheitsagenten kann basierend auf aufgezeichneten Sätzen an Fahrzeugübergangszuständen und entsprechender Ground Truth trainiert werden. In diesem Fall beinhaltet die Ground Truth empirische bestimmte Wahrscheinlichkeiten von kurz bevorstehenden Sicherheitsverletzungen basierend auf der Prüfung der Fahrzeugübergangszustände und entsprechender kognitiver Karten 300. Das Sicherheitsagenten-DNN kann trainiert werden, um entweder „keine Verletzung“ und die ursprünglichen Fahrzeugübergangszustände oder „Verletzung“ und Beendigungszustände basierend auf eingegebenen Fahrzeugübergangszuständen auszugeben.
  • Der Sicherheitsagentenblock 508 leitet auch Informationen in Bezug auf Sicherheitsverletzungen, Fahrzeugübergangszustände und Fahrzeugzustandsbeendigungszustände an den Zustandsübergangsfunktions-/Belohnungsfunktionsblock 512 (STF/RF) weiter. Während des Trainings gibt der Zustandsübergangsfunktions-/Belohnungsfunktionsblock 512 einen eingegebenen 514 Fahrzeugzustand ein und bestimmt eine Fehlerfunktion ε basierend auf den vorhergesagten Fahrzeugübergangszuständen von dem Sicherheitsagentenblock 508 und Ground Truth dargestellt durch den eingegebenen 514 Fahrzeugzustand. In diesem Beispiel stellt der eingegebene 514 Fahrzeugzustand eine nächste Beobachtung einer Funktion dar, die durch das DRL-System 500 erlernt wird. Das DRL-System 500 kann eine Funktion wie das Umwandeln eingegebener 514 Fahrzeugzustände in ausgegebene 510 Fahrzeugzustände erlernen, indem eine Fehlerfunktion ε bestimmt wird, die auf einer Wertfunktion V(st, at) basiert, wobei st der Fahrzeugzustand zum Zeitpunkt t ist und at der Fahrzeugübergangszustand zum Zeitpunkt t ist und die Fehlerfunktion ε die folgende Gleichung sein kann: ε = V ( s t + 1 , a t + 1 ) = V ( s t , a t )
    Figure DE102019122826A1_0001
  • Systeme des zeitlichen Unterschiedslernens und damit des Deep-Reinforcement-Leaming (DRL) können durch die folgende Gleichung dargestellt werden: V ( s t , a t ) V ( s t , a t ) + α ( ε )
    Figure DE102019122826A1_0002
    wobei eine empirisch bestimmte Konstante α (0 - 1), die als Lernkonstante bezeichnet wird, den prozentualen Anteil des Wertunterschieds zwischen einem Zustand und einer nächsten Beobachtung des Zustands zum Zeitpunkt t +1 bestimmt, der der Wertgleichung V(st, at) hinzugefügt werden kann, um die Wahrscheinlichkeit zu erhöhen, dass sich das Training einer korrekten Lösung annähert, die durch die Minimierung der Fehlerfunktion ε über den Lösungsraum für alle (st, at) dargestellt ist. Der Lösungsraum für alle (st, at) kann durch Proben in Dichten dargestellt werden, die geeignet sind, um lenkbare Datenvolumen und -raten bereitzustellen.
  • Das Bestimmen der Fehlerfunktion ε beinhaltet auch das Bestimmen einer Belohnungsfunktion zum Eingeben in den DNN-Block 400 während des Trainings, um korrekte ausgegebene Fahrzeugübergangszustände als Reaktion auf eingegebene Fahrzeugzustände zu bestimmen. Während des Trainings kann der DNN-Block 400 ausgegebene Fahrzeugzustände durch Exploration bestimmen, wobei ausgegebene Fahrzeugzustände aus einem gesampelten Lösungsraum für alle (st, at) bestimmt werden. Auf diese Weise kann eine repräsentative Probe aller möglichen ausgegebenen Fahrzeugzustände durch den Zustandsübergangsfunktions-/Belohnungsfunktionsblock 512 evaluiert werden, um die (st, at) Zustände zu bestimmen, die die niedrigste Fehlerfunktion ε aufweisen.
  • Während des Betriebs des DRL-Systems 500 werden Beobachtungen von Fahrzeugzuständen über den Zustandsübergangsfunktions-/Belohnungsfunktionsblock 512 in den DNN-Block 400 eingegeben 514. Der DNN-Block 400 bestimmt ausgegebene Fahrzeugübergangszustände basierend auf zuvor trainierter niedrigster Fehlerfunktion ε zum Ausgeben an den Sicherheitsagenten 508, der bestimmt, ob der ausgegebene Fahrzeugzustand eine Sicherheitsverletzung darstellt und entweder Fahrzeugübergangszustände oder Fahrzeugbeendigungszustände ausgibt 510. Der Sicherheitsagentenblock 508 sendet auch ausgegebene Fahrzeugübergangszustände, Fahrzeugbeendigungszustände und Informationen zu Sicherheitsverletzungen an den Zustandsübergangsfunktions-/Belohnungsfunktionsblock 512. Während des Betriebs wird die Fehlerfunktion ε basierend auf ausgegebenen Fahrzeugübergangszuständen und eingegebenen 514 nächsten beobachteten Fahrzeugzuständen bestimmt und basierend darauf, dass die Fehlerfunktion ε einen empirisch bestimmten Mindestschwellenwert übersteigt, kann die Rechenvorrichtung 115 die ausgegebenen Fahrzeugzustände in den Speicherpuffern B1 516 oder B2 518 speichern, abhängig davon, ob die ausgegebenen Fahrzeugzustände eine Sicherheitsverletzung darstellen. Das Erfordern, dass die Fehlerfunktion ε einen empirisch bestimmten Schwellenwert übersteigt, kann die ausreichende Persistenz der Anregung einer neuen Beobachtung gewährleisten.
  • Der Zustandsübergangsfunktions-/Belohnungsfunktionsblock 512 kann ausgegebene Fahrzeugzustände, die Fehlerfunktion ε und Belohnungen basierend auf Sicherheitsverletzungsinformationen speichern. In Beispielen, in denen keine Sicherheitsverletzung aufgetreten ist, können eingegebene Fahrzeugzustände, die ausgegebenen Fahrzeugübergangszustände, die Fehlerfunktion ε und eine Belohnung basierend auf der Fehlerfunktion ε und keiner Sicherheitsverletzung (sichere Handlung), im Puffer B1 516 gespeichert werden. In Beispielen, in denen durch den Sicherheitsagentenblock 508 eine Sicherheitsverletzung bestimmt worden ist, können eingegebene Fahrzeugzustände, ausgegebene Fahrzeugbeendigungszustände, Fehlerfunktion ε und eine Belohnung, bestimmt basierend auf der Fehlerfunktion ε und der Sicherheitsverletzung (unsichere Handlung), im Puffer B2 518 gespeichert werden. Die Inhalte der Puffer B1 516 und B2 518 können durch die Rechenvorrichtung 115 über das F-I-Netzwerk 111 periodisch in den Servercomputer 120 hochgeladen werden. Sobald sie hochgeladen sind, kann der Servercomputer 120 ein DRL-System 500, bei dem es sich um eine Kopie des trainierten DRL-Systems 500 in dem Fahrzeug 110 handelt, mit den hochgeladenen Daten unter Anwendung eines stochastischen Gradientensuchverfahrens, das lokale Maxima und Minima in Lösungsraum findet, neu trainieren. Daten aus dem neu trainierten DRL-System 500 können in das Fahrzeug 110 heruntergeladen und verwendet werden, um das DRL-System 500 aufzurüsten, das in dem Fahrzeug 110 enthalten ist.
  • In der Praxis kommuniziert der Servercomputer 120 typischerweise mit einer Vielzahl von autonomen und halbautonomen Fahrzeugen 110, wobei jedes Fahrzeug 110 Puffer B1 516 und B2 518 voll mit Daten erwirbt und jedes Fahrzeug 110 periodisch Puffer mit Daten in den Servercomputer 120 hochlädt, wobei der Servercomputer 120 ein DRL-System 500 basierend auf den hochgeladenen Daten neu trainiert. Der Servercomputer kann neu trainierte Versionen des DRL-Systems 500 periodisch in die Fahrzeuge 110 herunterladen, wodurch die Fähigkeit des DRL-Systems 500, Fahrzeugzustände entsprechend dem sicheren Betrieb des Fahrzeugs 110 auszugeben, kontinuierlich verbessert wird. Das Zentralisieren der Berechnung am Servercomputer 120 kann die Rechenkomplexität reduzieren, die an den Rechenvorrichtungen 115 in den Fahrzeugen 110 erforderlich ist.
  • 6 ist eine Darstellung eines Flussdiagramms, das in Bezug auf 1-5 beschrieben ist, eines Prozesses 600 zum Betreiben eines Fahrzeugs basierend auf dem Eingeben von Fahrzeugsensordaten in ein DRL-System 500, wobei das DRL-System 500 einen DNN-Block 400 und einen Sicherheitsagentenblock 508 beinhaltet. Der Prozess 600 kann durch einen Prozessor der Rechenvorrichtung 115 umgesetzt werden, indem z. B. Informationen von den Sensoren 116 als Eingabe herangezogen und Befehle ausgeführt und Steuersignale über die Steuerungen 112, 113, 114 gesendet werden. Der Prozess 600 beinhaltet mehrere Blöcke in der offenbarten Reihenfolge. Der Prozess 600 beinhaltet zudem Umsetzungen, die weniger Blöcke beinhalten, oder kann die Blöcke in anderen Reihenfolgen beinhalten.
  • Der Prozess 600 beginnt bei Block 602, in dem eine Rechenvorrichtung 115, die in einem Fahrzeug 110 enthalten ist, Fahrzeugsensordaten in ein DRL-System 500 eingeben kann. Die Fahrzeugsensordaten können Farbvideodaten sein, die durch einen Farbvideosensor erworben werden, der im Fahrzeug 110 enthalten ist, und durch ein CNN verarbeitet werden, und Daten von anderen Sensoren 116 wie zum Beispiel Radarsensor und Lidar-Sensoren, um Beobachtungen der Fahrzeugzustände zum Eingeben in das DRL-System 500 zu bestimmen. Fahrzeugzustände können zum Beispiel Standort, Geschwindigkeit und Richtung des Fahrzeugs 110 in Bezug auf Kartendaten und Abstand und Richtungen zu Fahrzeugen und Fußgängern beinhalten, wie vorstehend in Bezug auf 4 und 5 erörtert.
  • Bei Block 604 bestimmt der DNN-Block 400 des DRL 500 ausgegebene Fahrzeugzustände zum Eingeben in den Sicherheitsagentenblock 508 des DRL 500. Der Sicherheitsagentenblock 508 bestimmt basierend auf empirisch bestimmten Regeln, ob die ausgegebenen Fahrzeugzustände eine Sicherheitsverletzung sind. Wenn ausgegebene Fahrzeugzustände eine Sicherheitsverletzung darstellen, werden anstelle der ausgegebenen Fahrzeugzustände Fahrzeugbeendigungszustände ausgegeben 510, um den sicheren Betrieb des Fahrzeugs 110 zu gewährleisten. Während des Betriebs speichert das DRL 500 Ergebnisse, darunter Sicherheitsverletzungen, entweder im Puffer B1 516 oder B2 518, abhängig von den Sicherheitsverletzungen. Daten in den Puffern B1 516 und B2 518 werden periodisch in den Servercomputer 120 hochgeladen, in dem eine Kopie des DRL-Systems 500 basierend auf den hochgeladenen Daten neu trainiert wird. Kopien des neu trainierten DRL-Systems 500 können periodisch in den Fahrzeugen 110 heruntergeladen werden, um das DRL-System 500 zu aktualisieren.
  • Ausgegebene Fahrzeugzustände können an die Rechenvorrichtung 115 zur Verwendung beim Betreiben des Fahrzeugs 110 ausgegeben 510 werden. Die Rechenvorrichtung 115 kann die ausgegebenen Fahrzeugzustände eingeben, um theoretische Programme zu steuern, die Pfadpolynome 330 bestimmen können, um das Fahrzeug 110 entlang eines vorhergesagten 3D-Standortes 332 zu betreiben. Die Rechenvorrichtung 115 kann Befehle an die Steuerungen 112, 113, 114 senden, um die Lenkung, die Bremsung und den Antriebsstrang des Fahrzeugs zu betätigen, um das Fahrzeug mit bestimmten Quer- und Längsbeschleunigungen entlang des Pfadpolynoms 330 zu betreiben. Im Anschluss an diesen Schritt endet der Prozess 600.
  • 7 ist eine Darstellung eines Flussdiagramms, das in Bezug auf 1-5 beschrieben ist, eines Prozesses 700 zum Bestimmen von ausgegebenen Fahrzeugzuständen basierend auf dem Eingeben von Fahrzeugsensordaten in ein DRL-System 500, wobei das DRL-System 500 einen DNN-Block 400 und einen Sicherheitsagentenblock 508 beinhaltet. Der Prozess 700 kann durch einen Prozessor der Rechenvorrichtung 115 umgesetzt werden, indem z.B. Informationen von den Sensoren 116 als Eingabe herangezogen und Befehle ausgeführt und Steuersignale über die Steuerungen 112, 113, 114 gesendet werden. Der Prozess 700 beinhaltet mehrere Blöcke in der offenbarten Reihenfolge. Der Prozess 700 beinhaltet zudem Umsetzungen, die weniger Blöcke beinhalten, oder kann die Blöcke in anderen Reihenfolgen beinhalten.
  • Der Prozess 700 beginnt bei Block 702, in dem eine Rechenvorrichtung 115, die in einem Fahrzeug 110 enthalten ist, Fahrzeugsensordaten in ein CNN eingeben kann, um Fahrzeugzustandsinformationen zu bestimmen, darunter Fahrzeugstandort, Geschwindigkeit und Richtung in Bezug auf Kartendaten, zusammen mit Informationen in Bezug auf Abstand und Richtung zu Fahrzeugen und Fußgängern in einem Sichtfeld von Fahrzeugsensoren, und die Fahrzeugzustandsdaten in ein DRL-System 500 eingibt.
  • Bei Block 704 des Prozesses 700 bestimmt der DNN-Block 400 des DRL-Systems 500 ausgegebene Fahrzeugzustände basierend auf den eingegebenen Fahrzeugzuständen wie vorstehend in Bezug auf 5 erörtert und gibt die ausgegebenen Fahrzeugzustände aus, damit sie am Sicherheitsagentenblock 508 eingegeben werden können.
  • Bei Block 706 des Prozesses 700 bestimmt der Sicherheitsagentenblock 508, ob ausgegebene Fahrzeugübergangszustände eine Sicherheitsverletzung darstellen oder nicht. Der Sicherheitsagentenblock 508 kann ein regelbasiertes Maschinenlernsoftwareprogramm sein, das Sicherheitsverletzungen bestimmt, indem die Fahrzeugübergangszustände mit empirisch bestimmten Zuständen verglichen werden, die als Regeln in einer regelbasierten Maschinenlernsoftware codiert sind, wobei Regeln zum Beispiel auf empirisch bestimmten Wahrscheinlichkeiten in Bezug auf die Bewegung und zukünftigen Positionen anderer Fahrzeuge 314, 316, 318, 320, 322 basieren können. Fahrzeugübergangszustände, die, wenn sie durch die Rechenvorrichtung 115 umgesetzt werden, um das Fahrzeug 110 zu betreiben, vorhergesagt werden können, um das Fahrzeug 110 innerhalb einer Region auf der kognitiven Karte 300 zu positionieren, in Bezug auf die bestimmt ist, dass sie eine Wahrscheinlichkeit, dass sie durch zumindest eines der anderen Fahrzeuge 314, 316, 318, 320, 322 belegt ist, von mehr als einem empirisch bestimmten Schwellenwert aufweist, können zum Beispiel als Sicherheitsverletzung bestimmt werden. Der Sicherheitsagentenblock 508 kann auch als DNN umgesetzt werden, wobei das DNN basierend auf eingegebenen Fahrzeugzuständen trainiert wird, die empirisch bestimmt werden, um das Vorhandensein oder Nichtvorhandensein von Sicherheitsverletzungen als Ground Truth zu beinhalten.
  • Bei Bock 708 zweigt der Prozess 700 abhängig von dem Ergebnis des Sicherheitsagentenblocks 508 ab, der bei Block 706 eine Sicherheitsprüfung an den Fahrzeugübergangszuständen durchführt. Der Prozess 700 zweigt zu Block 710 ab, wenn es keine Sicherheitsverletzung gibt, und zweigt zu Block 712 ab, wenn es eine Sicherheitsverletzung gibt.
  • Bei Block 710 gibt der Sicherheitsagent 508 Fahrzeugübergangszustände, in Bezug auf die bestimmt wird, dass sie keine Sicherheitsverletzungen beinhalten, an die Rechenvorrichtung 115 aus 510, um sie zu verwenden, um ein Pfadpolynom 330 für den Betrieb des Fahrzeugs 110 zu bestimmen. Der Sicherheitsagent 508 gibt Sicherheitsverletzungsinformationen und Fahrzeugübergangszustände an den Übergangsfunktions-/Belohnungsfunktionsblock 512 aus, um eine Fehlerfunktion ε basierend auf der Fahrzeugübergangsfunktion und einer Eingabe 514 neben der Beobachtung von Fahrzeugzuständen zu bestimmen. Wenn die Fehlerfunktion ε größer als ein oder gleich einem empirisch bestimmten Schwellenwert ist, geht der Prozess 700 zu Block 714 über. Wenn die Fehlerfunktion ε weniger als der empirisch bestimmte Schwellenwert ist, endet der Prozess 700.
  • Bei Block 712 gibt der Sicherheitsagent 508 Fahrzeugbeendigungszustände, um zu vermeiden, dass Fahrzeugübergangszustände ausgegeben werden, die eine hohe Wahrscheinlichkeit aufweisen, dass sie eine kurz bevorstehende Sicherheitsverletzung beinhalten, an die Rechenvorrichtung 115 aus 510, um diese zum Bestimmen eines Pfadpolynoms 330 für den Betrieb des Fahrzeugs 110 zu verwenden. Der Sicherheitsagent 508 gibt Sicherheitsverletzungsinformationen und Fahrzeugübergangszustände an den Übergangsfunktions-/Belohnungsfunktionsblock 512 aus, um eine Fehlerfunktion ε basierend auf der Fahrzeugübergangsfunktion und einer Eingabe 514 neben der Beobachtung von Fahrzeugzuständen zu bestimmen. Wenn die Fehlerfunktion ε größer als ein oder gleich einem empirisch bestimmten Schwellenwert ist, geht der Prozess 700 zu Block 716 über. Wenn die Fehlerfunktion ε weniger als der empirisch bestimmte Schwellenwert ist, endet der Prozess 700.
  • Bei Block 714 speichert der Prozess 700 den Fahrzeugübergangszustand, Sicherheitsverletzungsinformationen (sichere Handlung) und eine Belohnungsfunktion basierend auf der Fehlerfunktion ε im Puffer B1 516. Der Prozess 700 geht dann zu Block 718 über.
  • Bei Block 716 speichert der Prozess 700 den Fahrzeugübergangszustand, Sicherheitsverletzungsinformationen (unsichere Handlung) und eine Belohnungsfunktion basierend auf der Fehlerfunktion ε im Puffer B2 518. Der Prozess 700 geht dann zu Block 718 über.
  • Bei Block 718 lädt der Prozess 700 die Puffer B1 518 und B2 516 periodisch in einen Servercomputer 120, wobei der Servercomputer 120 eine Kopie des DRL-Systems 500 basierend auf den hochgeladenen Puffern neu trainiert. Der Servercomputer 120 lädt periodisch eine neu trainierte Kopie des DRL-Systems 500 in das Fahrzeug 110 herunter, um das DRL-System 500 zu aktualisieren. Nach Block 718 endet der Prozess 700.
  • Rechenvorrichtungen, wie etwa die in dieser Schrift erörterten, beinhalten im Allgemeinen jeweils Befehle, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend genannten, und zum Ausführen von Blöcken oder Schritten von vorstehend beschriebenen Prozessen ausgeführt werden können. Beispielsweise können die vorstehend erörterten Prozessblöcke als computerausführbare Befehle verwirklicht sein.
  • Computerausführbare Befehle können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung vielfältiger Programmiersprachen und/oder -techniken, einschließlich unter anderem entweder allein oder in Kombination Java™, C, C++, Visual Basic, Java Script, Perl, HTML usw., erstellt worden sind. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Befehle z. B. von einem Speicher, einem computerlesbaren Medium usw. und führt diese Befehle aus, wodurch er einen oder mehrere Prozesse, einschließlich eines oder mehrerer der hierin beschriebenen Prozesse, durchführt. Derartige Befehle und andere Daten können in Dateien gespeichert und unter Verwendung einer Vielfalt an computerlesbaren Medien übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert ist.
  • Ein computerlesbares Medium schließt ein beliebiges Medium ein, das an der Bereitstellung von Daten (z. B. Befehlen) beteiligt ist, die von einem Computer gelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtiger Medien, flüchtiger Medien usw. Zu nichtflüchtigen Medien gehören zum Beispiel optische Platten oder Magnetplatten und andere dauerhafte Speicher. Zu flüchtigen Medien gehört ein dynamischer Direktzugriffsspeicher (dynamic random access memory - DRAM), der typischerweise einen Hauptspeicher darstellt. Zu gängigen Formen computerlesbarer Medien gehören zum Beispiel eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, ein RAM, ein PROM, ein EPROM, ein FLASH-EEPROM, ein beliebiger anderer Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das durch einen Computer ausgelesen werden kann.
  • Allen in den Patentansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann verstanden wird, sofern nicht ausdrücklich etwas anderes angegeben ist. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass eines oder mehrere der aufgeführten Elemente genannt wird bzw. werden, es sei denn, ein Patentanspruch enthält ausdrücklich eine gegenteilige Einschränkung.
  • Der Ausdruck „beispielhaft“ wird in dieser Schrift in dem Sinne verwendet, dass er ein Beispiel angibt, z. B. sollte ein Verweis auf eine „beispielhafte Vorrichtung“ einfach als Bezugnahme auf ein Beispiel für eine Vorrichtung gelesen werden.
  • Das einen Wert oder ein Ergebnis modifizierende Adverb „ungefähr“ bedeutet, dass eine Form, eine Struktur, ein Messwert, ein Wert, eine Bestimmung, eine Berechnung usw. von einer/einem genau beschriebenen Geometrie, Abstand, Messung, Wert, Bestimmung, Berechnung usw. aufgrund von Mängeln hinsichtlich Materialien, Bearbeitung, Herstellung, Sensormessungen, Berechnungen, Bearbeitungszeit, Kommunikationszeit usw. abweichen kann.
  • In den Zeichnungen kennzeichnen die gleichen Bezugszeichen die gleichen Elemente. Ferner könnten einige oder alle dieser Elemente geändert werden. Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass die Schritte oder Blöcke derartiger Prozesse usw. zwar als gemäß einer bestimmten Abfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden könnten, dass die beschriebenen Schritte in einer anderen Reihenfolge als der in dieser Schrift beschriebenen Reihenfolge durchgeführt werden. Es versteht sich ferner, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte in dieser Schrift beschriebene Schritte weggelassen werden könnten. Anders ausgedrückt dienen die Beschreibungen von Prozessen in dieser Schrift der Veranschaulichung bestimmter Ausführungsformen und sollten keinesfalls dahingehend ausgelegt werden, dass sie die beanspruchte Erfindung einschränken.
  • Gemäß der vorliegenden Erfindung wird ein Verfahren, bereitgestellt, aufweisend: Eingeben von Fahrzeugsensordaten in ein erstes neuronales Netzwerk (NN), das einen Sicherheitsagenten beinhaltet, der eine Wahrscheinlichkeit unsicheren Fahrzeugbetriebs bestimmt und zu einer Vielzahl von Zeiten durch einen periodisch neu trainierten Deep-Reinforcement-Leaming-Agenten angepasst wird, der ein zweites NN beinhaltet, das einen zweiten Sicherheitsagenten beinhaltet; und Betreiben eines Fahrzeugs basierend auf einer Fahrzeughandlung, die von dem ersten NN ausgegeben wird.
  • Gemäß einer Ausführungsform beinhaltet die Fahrzeughandlung den Betrieb von Lenkungs-, Bremsungs- und Antriebsstrangkomponenten des Fahrzeugs.
  • Gemäß einer Ausführungsform, ist die vorstehende Erfindung ferner durch das Eingeben von Fahrzeugsensordaten durch Eingeben eines Farbvideobildes in das erste NN gekennzeichnet.
  • Gemäß einer Ausführungsform bestimmt der Sicherheitsagent Wahrscheinlichkeiten unsicheren Fahrzeugbetriebs basierend auf dem Eingeben von Fahrzeughandlungen in eines von einem regelbasierten Maschinenlernsystem oder einem dritten NN, das basierend auf simulierten Daten trainiert wird.
  • Gemäß einer Ausführungsform wird das zweite NN basierend auf Ground Truth der Fahrzeughandlung trainiert, wobei Ground Truth der Fahrzeughandlung Fahrzeugsensordaten, Fahrzeughandlungen und Informationen in Bezug auf unsicheren Fahrzeugbetrieb von dem Sicherheitsagenten beinhaltet.
  • Gemäß einer Ausführungsform basieren Fahrzeugsensordaten, Fahrzeughandlungen und Informationen von dem Sicherheitsagenten auf simulierten Daten.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner durch das periodische neue Trainieren des zweiten NN, eines Reinforcement-Learning-Agenten, basierend auf aufgezeichneten Fahrzeugsensordaten, aufgezeichneter Ground Truth der Fahrzeughandlung und aufgezeichneten Informationen in Bezug auf unsicheren Fahrzeugbetrieb von dem Sicherheitsagenten, abhängig von einer Fehlerschranke, gekennzeichnet.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner durch das Anpassen des ersten NN zu einer Vielzahl von Zeiten durch Aktualisieren erster NN-Parameter mit Parametern von dem zweiten NN gekennzeichnet.
  • Gemäß einer Ausführungsform basiert das anfängliche Training des ersten NN sowohl auf sicheren Pufferpaaren (Zustand, sichere Handlung) als auch auf unsicheren Pufferpaaren (Zustand unsichere Handlung), die während der Offline-Simulation gesammelt werden, und basiert das Training des zweiten NN sowohl auf sicheren Pufferpaaren (Zustand, sichere Handlung) als auch auf unsicheren Pufferpaaren (Zustand unsichere Handlung), die während der Offline-Simulation gesammelt und während des Fahrens gesammelt werden.
  • Gemäß der vorliegenden Erfindung wird ein System bereitgestellt, aufweisend einen Prozessor und einen Speicher, wobei der Speicher Anweisungen beinhaltet, die für Folgendes von dem Prozessor auszuführen sind: Eingeben von Fahrzeugsensordaten in ein erstes neuronales Netzwerk (NN), das einen ersten Sicherheitsagenten beinhaltet, der eine Wahrscheinlichkeit unsicheren Fahrzeugbetriebs bestimmt und zu einer Vielzahl von Zeiten durch einen periodisch neu trainierten Deep-Reinforcement-Learning-Agenten angepasst wird, der ein zweites NN beinhaltet, das einen zweiten Sicherheitsagenten beinhaltet; und Betreiben eines Fahrzeugs basierend auf der Fahrzeughandlung, die von dem ersten NN ausgegeben wird.
  • Gemäß einer Ausführungsform beinhaltet die Fahrzeughandlung den Betrieb von Lenkungs-, Bremsungs- und Antriebsstrangkomponenten des Fahrzeugs.
  • Gemäß einer Ausführungsform, ist die vorstehende Erfindung ferner durch das Eingeben von Fahrzeugsensordaten durch Eingeben eines Farbvideobildes in das erste tiefe neuronale Netzwerk gekennzeichnet.
  • Gemäß einer Ausführungsform bestimmt der Sicherheitsagent Wahrscheinlichkeiten unsicheren Fahrzeugbetriebs basierend auf dem Eingeben von Fahrzeughandlungen in eines von einem regelbasierten Maschinenlernsystem oder einem dritten NN, das basierend auf simulierten Daten trainiert wird.
  • Gemäß einer Ausführungsform wird das zweite NN basierend auf Ground Truth der Fahrzeughandlung trainiert, wobei Ground Truth der Fahrzeughandlung Fahrzeugsensordaten, Fahrzeughandlungen und Informationen in Bezug auf unsicheren Fahrzeugbetrieb von dem Sicherheitsagenten beinhaltet.
  • Gemäß einer Ausführungsform basieren Fahrzeugsensordaten, Fahrzeughandlungen und Informationen in Bezug auf unsicheren Fahrzeugbetrieb von dem Sicherheitsagenten auf simulierten Daten.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner durch das periodische neue Trainieren des zweiten NN, eines Deep-Reinforcement-Learning-Agenten, basierend auf aufgezeichneten Fahrzeugsensordaten, aufgezeichneter Ground Truth der Fahrzeughandlung und aufgezeichneten Informationen in Bezug auf unsicheren Fahrzeugbetrieb von dem Sicherheitsagenten, abhängig von einer Fehlerschranke, gekennzeichnet.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner durch das Anpassen des ersten NN zu einer Vielzahl von Zeiten durch Aktualisieren erster NN-Parameter mit Parametern von dem zweiten NN gekennzeichnet.
  • Gemäß einer Ausführungsform basiert das anfängliche Training des ersten NN sowohl auf sicheren Pufferpaaren (Zustand, sichere Handlung) als auch auf unsicheren Pufferpaaren (Zustand unsichere Handlung), die während der Offline-Simulation gesammelt werden, und basiert das Training des zweiten NN sowohl auf sicheren Pufferpaaren (Zustand, sichere Handlung) als auch auf unsicheren Pufferpaaren (Zustand unsichere Handlung), die während der Offline-Simulation gesammelt und während des Fahrens gesammelt werden.
  • Gemäß der vorliegenden Erfindung wird ein System bereitgestellt, aufweisend: Mittel zum Steuern der Lenkung, der Bremsung und des Antriebsstrangs des Fahrzeugs; Computermittel für Folgendes: Eingeben von Fahrzeugsensordaten in ein erstes neuronales Netzwerk (NN), das einen ersten Sicherheitsagenten beinhaltet, der eine Wahrscheinlichkeit unsicheren Fahrzeugbetriebs bestimmt und zu einer Vielzahl von Zeiten durch einen periodisch neu trainierten Deep-Reinforcement-Learning-Agenten angepasst wird, der ein zweites NN beinhaltet, das einen zweiten Sicherheitsagenten beinhaltet; und Betreiben eines Fahrzeugs basierend auf der Fahrzeughandlung und Mitteln zum Steuern der Lenkung, der Bremsung und des Antriebsstrangs des Fahrzeugs.
  • Gemäß einer Ausführungsform, ist die vorstehende Erfindung ferner durch das Eingeben von Fahrzeugsensordaten durch Eingeben eines Farbvideobildes in das erste NN gekennzeichnet.

Claims (15)

  1. Verfahren, umfassend: Eingeben von Fahrzeugsensordaten in ein erstes neuronales Netzwerk (NN), das einen Sicherheitsagenten beinhaltet, der eine Wahrscheinlichkeit unsicheren Fahrzeugbetriebs bestimmt und zu einer Vielzahl von Zeiten durch einen periodisch neu trainierten Deep-Reinforcement-Leaming-Agenten angepasst wird, der ein zweites NN beinhaltet, das einen zweiten Sicherheitsagenten beinhaltet; und Betreiben eines Fahrzeugs basierend auf einer Fahrzeughandlung, die von dem ersten NN ausgegeben wird.
  2. Verfahren nach Anspruch 1, wobei die Fahrzeughandlung den Betrieb von Lenkungs-, Bremsungs- und Antriebsstrangkomponenten des Fahrzeugs beinhaltet.
  3. Verfahren nach Anspruch 1, ferner umfassend das Eingaben von Fahrzeugsensordaten durch Eingeben eines Farbvideobildes in das erste NN
  4. Verfahren nach Anspruch 1, wobei der Sicherheitsagent Wahrscheinlichkeiten unsicheren Fahrzeugbetriebs basierend auf dem Eingeben von Fahrzeughandlungen in eines von einem regelbasierten Maschinenlernsystem oder einem dritten NN bestimmt, das basierend auf simulierten Daten trainiert wird.
  5. Verfahren nach Anspruch 1, wobei das zweite NN basierend auf Ground Truth der Fahrzeughandlung trainiert wird, wobei Ground Truth der Fahrzeughandlung Fahrzeugsensordaten, Fahrzeughandlungen und Informationen in Bezug auf unsicheren Fahrzeugbetrieb von dem Sicherheitsagenten beinhaltet.
  6. Verfahren nach Anspruch 5, wobei Fahrzeugsensordaten, Fahrzeughandlungen und Informationen von dem Sicherheitsagenten auf simulierten Daten basieren.
  7. Verfahren nach Anspruch 1, ferner umfassend das periodische neue Trainieren des zweiten NN, eines Reinforcement-Learning-Agenten, basierend auf aufgezeichneten Fahrzeugsensordaten, aufgezeichneter Ground Truth der Fahrzeughandlung und aufgezeichneten Informationen in Bezug auf unsicheren Fahrzeugbetrieb von dem Sicherheitsagenten, abhängig von einer Fehlerschranke.
  8. Verfahren nach Anspruch 7, ferner umfassend das Anpassen des ersten NN zu einer Vielzahl von Zeiten durch Aktualisieren erster NN-Parameter mit Parametern von dem zweiten NN
  9. Verfahren nach Anspruch 1, wobei das anfängliche Training des ersten NN sowohl auf sicheren Pufferpaaren (Zustand, sichere Handlung) als auch auf unsicheren Pufferpaaren (Zustand unsichere Handlung) basiert, die während der Offline-Simulation gesammelt werden, und das Training des zweiten NN sowohl auf sicheren Pufferpaaren (Zustand, sichere Handlung) als auch auf unsicheren Pufferpaaren (Zustand unsichere Handlung) basiert, die während der Offline-Simulation gesammelt und während des Fahrens gesammelt werden.
  10. Verfahren nach Anspruch 1, wobei das Betreiben eines Fahrzeugs basierend auf einer Fahrzeughandlung, die von dem NN ausgegeben wird, das Bestimmen eines Pfadpolynoms basierend auf der ausgegebenen Fahrzeughandlung beinhaltet.
  11. Verfahren nach Anspruch 10, wobei das Pfadpolynom auf einem geschätzten 3D-Standort des Fahrzeugs in Bezug auf eine kognitive Karte basiert.
  12. Verfahren nach Anspruch 11, ferner umfassend das Betreiben des Fahrzeugs basierend auf dem Pfadpolynom und der kognitiven Karte.
  13. Verfahren nach Anspruch 1, wobei die Fahrzeugsensordaten ein Farbvideostrom ist, der durch eine Videokamera erworben wird, die in dem Fahrzeug beinhaltet ist.
  14. Verfahren nach Anspruch 1, ferner umfassend Betreiben des Fahrzeugs durch Steuern der Lenkung, der Bremsen und des Antriebsstrangs des Fahrzeugs.
  15. System, umfassend einen Computer, der dazu programmiert ist, das Verfahren nach Anspruch 1 durchzuführen.
DE102019122826.3A 2018-08-24 2019-08-26 Adaptives fahrzeuglernen Pending DE102019122826A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/111,550 US10733510B2 (en) 2018-08-24 2018-08-24 Vehicle adaptive learning
US16/111,550 2018-08-24

Publications (1)

Publication Number Publication Date
DE102019122826A1 true DE102019122826A1 (de) 2020-02-27

Family

ID=69412290

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019122826.3A Pending DE102019122826A1 (de) 2018-08-24 2019-08-26 Adaptives fahrzeuglernen

Country Status (3)

Country Link
US (1) US10733510B2 (de)
CN (1) CN110858325A (de)
DE (1) DE102019122826A1 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020094525A1 (en) 2018-11-09 2020-05-14 Curious Ai Oy Solution for machine learning system
US11131992B2 (en) * 2018-11-30 2021-09-28 Denso International America, Inc. Multi-level collaborative control system with dual neural network planning for autonomous vehicle control in a noisy environment
US11560146B2 (en) * 2019-03-26 2023-01-24 Ford Global Technologies, Llc Interpreting data of reinforcement learning agent controller
US11772671B2 (en) * 2019-06-03 2023-10-03 Toyota Research Institute, Inc. Systems and methods for predicting control handback
US11126891B2 (en) * 2019-09-11 2021-09-21 Toyota Research Institute, Inc. Systems and methods for simulating sensor data using a generative model
US20210150892A1 (en) * 2019-11-19 2021-05-20 Ford Global Technologies, Llc Vehicle operating parameters
US11315260B2 (en) * 2019-12-23 2022-04-26 Waymo Llc Geo-motion and appearance aware data association
DE102020209221A1 (de) * 2020-07-22 2022-01-27 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Koppeln und Ankoppeln eines Sensors und Kommunikationsnetzwerk
US11794723B2 (en) * 2020-10-08 2023-10-24 Hyundai Mobis Co., Ltd. Apparatus and method for controlling driving of vehicle
US11760376B2 (en) * 2020-12-29 2023-09-19 Ford Global Technologies, Llc Machine learning updating with sensor data
US11810225B2 (en) * 2021-03-30 2023-11-07 Zoox, Inc. Top-down scene generation
US11858514B2 (en) 2021-03-30 2024-01-02 Zoox, Inc. Top-down scene discrimination
US20220366175A1 (en) * 2021-05-13 2022-11-17 Waymo Llc Long-range object detection, localization, tracking and classification for autonomous vehicles
US20230012905A1 (en) * 2021-07-02 2023-01-19 Canoo Technologies Inc. Proximity detection for automotive vehicles and other systems based on probabilistic computing techniques
US20230020503A1 (en) * 2021-07-08 2023-01-19 Ford Global Technologies, Llc Machine control
CN113361665B (zh) 2021-08-11 2021-11-16 成都理工大学 一种基于强化学习的高原山地旅游安全风险预警方法
CN115009291B (zh) * 2022-05-23 2023-05-23 暨南大学 基于网络演化重放缓冲区的自动驾驶辅助决策方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366896B1 (en) 1997-03-18 2002-04-02 William R. Hutchison Adaptive agent using neural network
US9679258B2 (en) 2013-10-08 2017-06-13 Google Inc. Methods and apparatus for reinforcement learning
DE112016003350T5 (de) 2015-07-24 2018-04-05 Google Llc Kontinuierliche steuerung mit tiefem bestärkendem lernen
WO2017177128A1 (en) 2016-04-08 2017-10-12 The Trustees Of Columbia University In The City Of New York Systems and methods for deep reinforcement learning using a brain-artificial intelligence interface
CN107563256A (zh) * 2016-06-30 2018-01-09 北京旷视科技有限公司 辅助驾驶信息产生方法及装置、辅助驾驶系统
US20180011981A1 (en) 2016-07-05 2018-01-11 The Regents Of The University Of Michigan Quantum-based machine learning for oncology treatment
CN106910351B (zh) 2017-04-19 2019-10-11 大连理工大学 一种基于深度强化学习的交通信号自适应控制方法
CN106990714A (zh) 2017-06-05 2017-07-28 李德毅 基于深度学习的适配控制方法与装置
CN107506830A (zh) 2017-06-20 2017-12-22 同济大学 面向智能汽车规划决策模块的人工智能训练平台
US11093829B2 (en) * 2017-10-12 2021-08-17 Honda Motor Co., Ltd. Interaction-aware decision making
US11568236B2 (en) * 2018-01-25 2023-01-31 The Research Foundation For The State University Of New York Framework and methods of diverse exploration for fast and safe policy improvement
US11150663B2 (en) * 2018-01-26 2021-10-19 Nvidia Corporation Detection of hazardous driving using machine learning

Also Published As

Publication number Publication date
US10733510B2 (en) 2020-08-04
CN110858325A (zh) 2020-03-03
US20200065665A1 (en) 2020-02-27

Similar Documents

Publication Publication Date Title
DE102019122826A1 (de) Adaptives fahrzeuglernen
DE102020110458A1 (de) Fahrzeugpfadvorhersage
DE102019122027A1 (de) Fahrzeugwegplanung
DE102019131384A1 (de) Strassenbelagcharakterisierung unter verwendung von posenbeobachtungen von benachbarten fahrzeugen
DE112020002666T5 (de) Systeme und verfahren für die fahrzeugnavigation
DE102019119162A1 (de) Posenschätzung
DE102019127058A1 (de) Fahrzeugwegplanung
DE102017204404B3 (de) Verfahren und Vorhersagevorrichtung zum Vorhersagen eines Verhaltens eines Objekts in einer Umgebung eines Kraftfahrzeugs und Kraftfahrzeug
DE102019121140A1 (de) Sensorfusion
DE102019101938A1 (de) Erstellung kognitiver Karten für Fahrzeuge
DE102017125493A1 (de) Verkehrszeichenerkennung
DE102019129232A1 (de) Sprachverarbeitung für ein fahrzeug
DE102019121521A1 (de) Videostabilisierung
DE102020103509A1 (de) Erkennung und vermeidung von kollisionsverhalten
DE102020130387A1 (de) Fahrzeugwegplanung
DE112020001106T5 (de) Ausrichten von Straßeninformationen zur Navigation
DE102020107149A1 (de) Fahrzeugkapsel-netzwerke
DE102020113848A1 (de) Ekzentrizitätsbildfusion
DE102018125207A1 (de) Fahrzeuginterne verkehrsassistenz
DE102020117376A1 (de) Generierung eines fahrzeugbildes
DE112021005104T5 (de) Systeme und verfahren zum evaluieren von domänenspezifischen fähigkeiten eines navigationssystems
DE102019122536A1 (de) Exzentrizitätskarten
DE102021109413A1 (de) Augmentation von fahrzeugdaten
DE102021128041A1 (de) Verbesserung eines neuronalen fahrzeugnetzwerks
DE102020126155A1 (de) Trainieren eines neuronalen netzwerks eines fahrzeugs

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BONSMANN - BONSMANN - FRANK PATENTANWAELTE, DE