DE102019107329A1 - Aktionskonditionierte fahrzeugsteuerung - Google Patents

Aktionskonditionierte fahrzeugsteuerung Download PDF

Info

Publication number
DE102019107329A1
DE102019107329A1 DE102019107329.4A DE102019107329A DE102019107329A1 DE 102019107329 A1 DE102019107329 A1 DE 102019107329A1 DE 102019107329 A DE102019107329 A DE 102019107329A DE 102019107329 A1 DE102019107329 A1 DE 102019107329A1
Authority
DE
Germany
Prior art keywords
vehicle
location
commands
route
steering
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
DE102019107329.4A
Other languages
English (en)
Inventor
Andrew Wagenmaker
Gintaras Vincent Puskorius
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 DE102019107329A1 publication Critical patent/DE102019107329A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0095Automatic control mode change
    • 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
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • 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
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Mechanical Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Steering Control In Accordance With Driving Conditions (AREA)

Abstract

Diese Offenbarung stellt eine aktionskonditionierte Fahrzeugsteuerung bereit.Ein Fahrzeugbefehl auf hoher Ebene wird auf Grundlage eines Standorts des Fahrzeugs in Bezug auf eine Route, die einen Startstandort und einen Zielstandort beinhaltet, bestimmt. Ein Bild der äußeren Fahrzeugumgebung wird erfasst. Lenk-, Brems- und Antriebsstrangbefehlen werden auf Grundlage eines Eingebens des Befehls auf hoher Ebene und des Bilds in ein tiefes neurales Netzwerk bestimmt. Das Fahrzeug wird durch ein Betätigen von Fahrzeugkomponenten auf Grundlage der Lenk-, Brems- und Antriebsstrangbefehle betrieben.

Description

  • TECHNISCHES GEBIET
  • Aspekte der Offenbarung betreffen im Allgemeinen Betrieb und Steuerung eines Fahrzeugs.
  • ALLGEMEINER STAND DER TECHNIK
  • Fahrzeuge können dazu ausgestattet sein, sowohl in einem autonomen als auch 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 erfassen und das Fahrzeug auf Grundlage der Informationen zu betreiben. Der sichere und komfortable Betrieb des Fahrzeugs kann vom Erfassen genauer und rechtzeitiger Informationen bezüglich der Umgebung des Fahrzeugs abhängen. Fahrzeugsensoren können Daten hinsichtlich Routen und Objekte bereitstellen, denen in der Umgebung des Fahrzeugs auszuweichen ist. Beispielsweise kann der sichere und komfortable Betrieb des Fahrzeugs vom Erfassen 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
  • Fahrzeuge können dazu ausgestattet sein, sowohl in einem autonomen als auch einem insassengesteuerten 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 nicht autonomen Fahrzeug wird nichts davon durch einen Computer gesteuert.
  • Eine Rechenvorrichtung in einem Fahrzeug kann dazu programmiert sein, Daten bezüglich der äußeren Umgebung des Fahrzeugs zu erfassen und die Daten zum Bestimmen von Fahrzeugbefehlen zu verwenden, die zum Beispiel zum Betreiben eines Fahrzeugs von einem aktuellen Ort zu einem Zielort zu verwenden sind. Die Daten können Bilder beinhalten, die von Videosensoren erfasst werden, die in einem Fahrzeug beinhaltet sind, und die Fahrzeugbefehle können ein Betreiben eines Fahrzeugs zu Standorten in den erfassten Bildern beinhalten. Teile der Fahrzeugbefehle können durch Eingeben von Bilddaten und zugehörigen Kontextinformationen in ein zuvor trainiertes DNN, bestehend aus einem DNN, einem Unternetzwerk, um Kontext zu kodieren, und einem Unternetzwerk, das den Ausgang des Kontextkodierers und das CNN kombiniert, bestimmt werden. Die assoziierten Kontextinformationen können eine kodifizierte Richtung an einem bevorstehenden Entscheidungspunkt beinhalten, beispielsweise um eine bevorstehende Abbiegerichtung und einen Abstand zum Abbiegen von einem aktuellen Standort des Fahrzeugs anzugeben. Das CNN kann trainiert sein, Ende-zu-Ende-Betrieb eines Fahrzeugs durchzuführen, indem das CNN trainiert wird, Fahrzeugbefehle zu bestimmen, die dazu verwendet werden können, ein Fahrzeug auf einem Teil einer Route zu betreiben. Eine Route ist definiert als ein Weg, der die aufeinander folgenden Standorte eines Fahrzeugs beschreibt, wenn sich das Fahrzeug auf einer Straße von einem Startstandort zu einem Endstandort bewegt, und Durchführen eines Ende-zu-Ende-Betriebs ist definiert als ein Bereitstellen einer Anzahl von Fahrzeugbefehlen, die ausreichend sind, um ein Fahrzeug auf einer Route von dem Startstandort zu dem Zielstandort zu betreiben. Routen können unter Verwendung von Karten bestimmt werden, die Straßen in einem Maßstab beinhalten, der entsprechende Details beinhaltet, beispielsweise GOOGLE™ Maps.
  • Hierin ist ein Verfahren offenbart, umfassend ein Bestimmen eines Befehls auf hoher Ebene auf Grundlage eines Standorts des Fahrzeugs in Bezug auf eine Route, die einen Startstandort und einen Zielstandort beinhaltet, ein Erfassen eines Bildes der äußeren Fahrzeugumgebung, ein Bestimmen von Lenk-, Brems- und Antriebsstrangbefehlen auf Grundlage eines Eingebens des Befehls auf hoher Ebene und des Bilds in ein tiefes neurales Netzwerk, und ein Betreiben des Fahrzeugs durch ein Betätigen von Fahrzeugkomponenten auf Grundlage der Lenk-, Brems- und Antriebsstrangbefehle. Eine Vielzahl von Befehlen auf hoher Ebene auf Grundlage von Standorten des Fahrzeugs kann in Bezug auf die Route bestimmt werden und eine Vielzahl von entsprechenden Bildern der äußeren Fahrzeugumgebung kann erfasst werden, wobei die Vielzahl von Standorten von dem Startstandort zu dem Zielstandort verteilt ist. Eine Vielzahl von Lenk-, Brems- und Antriebsstrangbefehlen kann auf einem Eingeben der Vielzahl von Befehlen auf hoher Ebene und der Vielzahl von entsprechenden Bildern in das tiefe neurale Netzwerk basieren; und das Fahrzeug kann dadurch betrieben werden, um sich durch ein Betätigen von Fahrzeugkomponenten auf Grundlage der Vielzahl von Lenk-, Brems- und Antriebsstrangbefehlen von dem Startstandort zu dem Zielstandort entlang der Route zu bewegen.
  • Die Lenk-, Brems- und Antriebsstrangbefehle können Drehmoment beinhalten, mit dem Lenk-, Brems- und Antriebsstrangfahrzeugkomponenten Kraft auf die Fahrzeugräder einwirken lassen, um Standort, Geschwindigkeit und Richtung des Fahrzeugs zu ändern. Das tiefe neurale Netzwerk kann ein neurales Faltungsnetzwerk beinhalten, das eine Vielzahl von Pooling-Schichten, die ein Eingangsbild durch Falten und Downsampling verarbeiten, und eine oder mehrere vollständig verbundene Schichten, die Bildhinweise auf Grundlage von Matrix-Multiplikation und Bias-Offset ausgeben, beinhaltet. Das tiefe neurale Netzwerk kann ein Kontext-Unternetzwerk beinhalten, das eine Vielzahl von vollständig verbundenen Netzwerkschichten beinhaltet, die einen eingegeben Befehl auf hoher Ebene auf Grundlage von Matrix-Multiplikation und Bias-Offset verarbeiten, um Hinweise zu einem Befehl auf hoher Ebene auszugeben. Das Kontext-Unternetzwerk kann durch ein Eingeben von aufgezeichneten Standorten des Fahrzeugs in Bezug auf die Route und ein Rückpropagieren von Fehlern auf Grundlage von Unterschiedene zwischen ausgegebenen Hinweisen zu einem Befehl auf hoher Ebene und aufgezeichneten Hinweisen zu einem Befehl auf hoher Ebene trainiert werden. Das tiefe neurale Netzwerk kann ein neurales Unternetzwerk beinhalten, das eine Vielzahl von vollständig verbundenen Netzwerkschichten beinhaltet, die Bildhinweise und Hinweise zu einem Befehl auf hoher Ebene eingeben und Lenk-, Brems- und Antriebsstrangbefehl ausgeben. Das neurale Faltungsnetzwerk, das Kontext-Unternetzwerk und das neurale Unternetzwerk können durch ein Eingeben von aufgezeichneten Befehlen auf hoher Ebene auf Grundlage von Standorten des Fahrzeugs in Bezug auf die Route in das Kontext-Unternetzwerk und von aufgezeichneten entsprechenden Bildern in das neurale Faltungsnetzwerk und ein Rückpropagieren von Fehlern auf Grundlage von Vergleichen von ausgegebenen Lenk-, Brems- und Antriebsstrangbefehlen des neuralen Unternetzwerks mit aufgezeichneten Lenk-, Brems- und Antriebsstrangbefehlen trainiert werden. Das Rückpropagieren von Fehlern kann ein Bestimmen von Bildhinweisen und Hinweisen zu einem Befehl auf hoher Ebene beinhalten.
  • Der Befehl auf hoher Ebene auf Grundlage des Standorts des Fahrzeugs in Bezug auf die Route kann den Standort des Fahrzeugs in Bezug auf eine Karte und eine Darstellung der Route in Bezug auf eine Karte beinhalten. Das Kontext-Untermenü kann den Befehl auf hoher Ebene auf Grundlage des Standorts des Fahrzeugs in Bezug auf eine Karte und eine Darstellung der Route in Bezug auf eine Karte verarbeiten, um Hinweise zu einem Befehl auf hoher Ebene zu bestimmen. Die Hinweise zu einem Befehl auf hoher Ebene können Befehle auf hoher Ebene und Distanzen beinhalten. Die bestimmten Hinweise zu einem Befehl auf hoher Ebene können auf Hinweisen zu einem Befehl auf hoher Ebene, die durch Verarbeiten von Standorten und Routen in Bezug auf eine Karte bestimmt werden, basieren. Das Bild der äußeren Fahrzeugumgebung kann Standorte, die mit der Route assoziiert sind, beinhalten.
  • Ferner wird ein computerlesbares Medium offenbart, auf dem Programmanweisungen zum Ausführen einiger oder sämtlicher der vorstehenden Verfahrensschritte gespeichert sind. Ferner ist ein Computer offenbart, der dazu programmiert ist, einige oder alle der vorstehenden Verfahrensschritte auszuführen, darunter eine Computervorrichtung, die dazu programmiert ist, einen Befehl auf hoher Ebene auf Grundlage eines Standorts des Fahrzeugs in Bezug auf eine Route, die einen Startstandort und einen Zielstandort beinhaltet, zu bestimmen, ein Bild der äußeren Fahrzeugumgebung zu erfassen, Lenk-, Brems- und Antriebsstrangbefehle auf Grundlage eines Eingebens des Befehls auf hoher Ebene und des Bilds in ein tiefes neurales Netzwerk zu bestimmen und das Fahrzeug durch ein Betätigen von Fahrzeugkomponenten auf Grundlage der Lenk-, Brems- und Antriebsstrangbefehle zu betreiben. Eine Vielzahl von Befehlen auf hoher Ebene kann auf Grundlage von Standorten des Fahrzeugs in Bezug auf die Route bestimmt werden und eine Vielzahl von entsprechenden Bildern der äußeren Fahrzeugumgebung kann erfasst werden, wobei die Vielzahl von Standorten von dem Startstandort zu dem Zielstandort verteilt ist. Eine Vielzahl von Lenk-, Brems- und Antriebsstrangbefehlen kann auf einem Eingeben der Vielzahl von Standorten des Fahrzeugs in Bezug auf die Route und der Vielzahl von entsprechenden Bildern in das tiefe neurale Netzwerk basieren; und das Fahrzeug kann dadurch betrieben werden, um sich durch ein Betätigen von Fahrzeugkomponenten auf Grundlage der Vielzahl von Lenk-, Brems- und Antriebsstrangbefehlen von dem Startstandort zu dem Zielstandort entlang der Route zu bewegen.
  • Die Lenk-, Brems- und Antriebsstrangbefehle können Drehmoment beinhalten, mit dem Lenk-, Brems- und Antriebsstrangfahrzeugkomponenten Kraft auf die Fahrzeugräder einwirken lassen, um Standort, Geschwindigkeit und Richtung des Fahrzeugs zu ändern. Das tiefe neurale Netzwerk kann ein neurales Faltungsnetzwerk beinhalten, das eine Vielzahl von Pooling-Schichten, die ein Eingangsbild durch Falten und Downsampling verarbeiten, und eine oder mehrere vollständig verbundene Schichten, die Bildhinweise auf Grundlage von Matrix-Multiplikation und Bias-Offset ausgeben, beinhaltet. Das tiefe neurale Netzwerk kann ein Kontext-Unternetzwerk beinhalten, das eine Vielzahl von vollständig verbundenen Netzwerkschichten beinhaltet, die einen eingegeben Befehl auf hoher Ebene auf Grundlage von Matrix-Multiplikation und Bias-Offset verarbeiten, um Hinweise zu einem Befehl auf hoher Ebene auszugeben. Das tiefe neurale Netzwerk kann ein neurales Unternetzwerk beinhalten, das eine Vielzahl von vollständig verbundenen Netzwerkschichten beinhaltet, die Bildhinweise und Hinweise zu einem Befehl auf hoher Ebene eingeben und Lenk-, Brems- und Antriebsstrangbefehl ausgeben. Das neurale Faltungsnetzwerk, das Kontext-Unternetzwerk und das neurale Unternetzwerk können durch ein Eingeben von aufgezeichneten Befehlen auf hoher Ebene in das Kontext-Unternetzwerk und von aufgezeichneten entsprechenden Bildern in das neurale Faltungsnetzwerk und ein Rückpropagieren von Fehlern auf Grundlage von Vergleichen von ausgegebenen Lenk-, Brems- und Antriebsstrangbefehlen des neuralen Unternetzwerks mit aufgezeichneten Lenk-, Brems- und Antriebsstrangbefehlen trainiert werden.
  • Der Standort des Fahrzeugs in Bezug auf eine Route kann den Standort des Fahrzeugs in Bezug auf eine Karte und eine Darstellung der Route in Bezug auf eine Karte beinhalten. Das Kontext-Untermenü kann den Befehl auf hoher Ebene auf Grundlage des Standorts des Fahrzeugs in Bezug auf eine Karte und eine Darstellung der Route in Bezug auf eine Karte verarbeiten, um Hinweise zu einem Befehl auf hoher Ebene zu bestimmen. Die Hinweise zu einem Befehl auf hoher Ebene können Befehle auf hoher Ebene und Distanzen beinhalten. Die aufgezeichneten Befehle auf hoher Ebene können auf Hinweisen zu einem Befehl auf hoher Ebene, die durch Verarbeiten von Standorten und Routen in Bezug auf eine Karte bestimmt werden, basieren. Das Bild der äußeren Fahrzeugumgebung kann Standorte, die mit der Route assoziiert sind, beinhalten.
  • Figurenliste
    • 1 ist ein Blockdiagramm eines beispielhaften Fahrzeugs.
    • 2 ist eine Darstellung von drei beispielhaften Bildern von äußeren Fahrzeugumgebungen.
    • 3 ist eine Darstellung von beispielhaften Fahrzeugbefehlen.
    • 4 ist eine Darstellung eines beispielhaften tiefen neuralen Netzwerks (Deep Neural Network - DNN).
    • 5 ist eine Darstellung eines beispielhaften Prozesses, um ein Fahrzeug auf Grundlage von Fahrzeugbefehlen, die durch ein DNN bestimmt werden, zu betreiben.
    • 6 ist eine Darstellung eines beispielhaften Prozesses, um ein DNN zu trainieren, um Fahrzeugbefehle zu bestimmen.
  • DETAILLIERTE BESCHREIBUNG
  • 1 ist eine Darstellung eines Fahrzeuginformationssystems 100, das ein Fahrzeug 110 beinhaltet, das 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.
  • 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 speichert Anweisungen, die durch den Prozessor ausführbar sind, um verschiedene Vorgänge durchzuführen, zu denen die hier offenbarten gehören. Beispielsweise kann die Rechenvorrichtung 115 Programmierung zum Betreiben eines oder mehrerer von Fahrzeugbremsen, Antrieb (z. B. Beschleunigungssteuerung im Fahrzeug 110 durch Steuern eines oder mehrerer von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenkung, Klimaregelung, Innen- und/oder Außenbeleuchtung usw. sowie zum Bestimmen, ob und wann die Rechenvorrichtung 115 im Gegensatz zu einem menschlichen Fahrzeugführer derartige Vorgänge steuern soll, beinhalten.
  • 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, z. B. einer Antriebsstrangsteuerung 112, einer Bremssteuerung 113, einer Lenksteuerung 114 usw., enthalten sind, 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 Fahrzeugkommunikationsnetz ausgelegt, das z. B. einen Bus in dem Fahrzeug 110, wie etwa ein Controller Area Network (CAN) oder dergleichen, beinhaltet; das Netz 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 Fahrzeugnetz 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 kann in Fällen, bei 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 wiedergegeben sind. Ferner können, wie nachstehend erwähnt, verschiedene Steuerungen oder Erfassungselemente, wie etwa die Sensoren 116, Daten für 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 z. B. 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 außerdem 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 Programmierung zum Betreiben einer oder mehrerer Komponenten des Fahrzeugs 110, z.B. Bremsung, Lenkung, Antrieb usw., ohne Eingreifen eines menschlichen Fahrzeugführers eingeschlossen. 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 Programmierung zum Regulieren des Betriebsverhaltens des Fahrzeugs 110 (d.h. physischer Manifestationen des Betriebs des Fahrzeugs 110), wie z. B. 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 z. B. 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 hier verwendeten Sinne beinhaltet der Ausdruck Steuerungen Rechenvorrichtungen, die typischerweise zum Steuern eines bestimmten Fahrzeugteilsystems programmiert sind. Zu Beispielen gehören eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113 und eine Lenksteuerung 114. Eine Steuerung kann eine elektronische Steuereinheit (Electronic Control Unit - ECU) sein, wie es bekannt ist, die möglicherweise zusätzliche Programmierung, wie hier 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 (ECU) 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 dazu programmiert und mit einem Kommunikationsbus des Fahrzeugs 110, wie z. B. einem Controller Area Network (CAN) Bus oder Local Interconnect Network (LIN) Bus, verbunden sein, um Anweisungen von dem Computer 115 zu empfangen und Aktoren auf Grundlage der Anweisungen zu steuern.
  • Zu den Sensoren 116 können vielfältige Vorrichtungen gehören, die für die Bereitstellung von Daten über den Fahrzeugkommunikationsbus bekannt sind. Beispielsweise kann ein Radar, das an einem vorderen Stoßfänger (nicht dargestellt) 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, geografische 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 autonomes Landfahrzeug 110, das drei oder mehr Räder aufweist, z. B. ein Personenkraftwagen, ein Kleinlastkraftwagen 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 eine Darstellung von drei Veranschaulichungen von beispielhaften Farbbildern 202, 204, 206 (in Schwarz und Weiß gerendert, um den Bestimmen des Patentamts zu entsprechen) von äußeren Fahrzeugumgebungen, aufgenommen durch einen Videosensor 116, der in einem Fahrzeug 110 beinhaltet ist. Die Farbbilder 202, 204, 206 können Einzelbilder von RGB-Farbvideo sein und Abmessungen von B = 1920 x H = 1080 x T = 24 bit aufweisen. Die Bilder 202, 204, 206 können Darstellungen von Fahrbahnen, Kreuzungen, Verkehrszeichen, Verkehrssignalen und anderen Fahrzeugen beinhalten, wie dies typischerweise vorgefunden wird, wenn ein Fahrzeug 110 auf einer öffentlichen Straße betrieben wird. Die Bilder 202, 204, 206 können auch Objekte wie etwa Auf- und Abfahrten, Brücken, Zufahrten, Kurven, Barrieren, Fußgänger und Tiere und Objekte ohne Straßenbezug, darunter Laub und Bauwerke, beinhalten.
  • Die Bilder 202, 204, 206 können aufgenommen werden, während das Fahrzeug 110 zum Beispiel in einem autonomen Modus an Standorten auf Routen betrieben wird, während sich das Fahrzeug 110 von Startstandorten zu Zielstandorten bewegt. Angesichts des Standorts des Fahrzeugs 110 in Bezug auf die Route, die zurückgelegt wird, darunter ein Bestimmen der Richtung auf Grundlage des Startstandorts, kann ein Befehl auf hoher Ebene bestimmt werden, der ein Manöver beschreibt, das durch das Fahrzeug 110 durchzuführen ist, indem das Fahrzeug 110 so betrieben wird, dass sich das Fahrzeug 110 auf der Route bewegt. Eine nicht einschränkende Liste von beispielhaften Befehlen auf hoher Ebene beinhaltet Befehle, ein Manöver wie etwa „über eine Distanz auf eine Fahrbahn in einer Fahrspur fahren“, „auf rechte Fahrspur wechseln und an Kreuzung abbiegen“ und „auf Linksabbiegerspur wechseln und in Zufahrt abbiegen“ auszuführen. Ein Befehl auf hoher Ebene beinhaltet somit Anweisungen zum Betrieb des Fahrzeugs 110 auf eine Weise, die zumindest eines von dem Standort, der Geschwindigkeit und dem Lenkwinkel des Fahrzeugs 110 im Zeitverlauf ändert.
  • Ein Befehl auf hoher Ebene kann zum Beispiel auf Grundlage eines Standorts des Fahrzeugs 110 in Bezug auf eine Route bestimmt werden. Angesichts eines Startstandorts und eines Zielstandorts, die mit einer Route assoziiert sind, können der Standort eines Fahrzeugs 110 in Bezug auf eine Route, wobei sowohl der Standort als auch die Route in Bezug auf eine Karte definiert sind, und die Richtung des Fahrzeugs 110 in Bezug auf die Route bestimmt werden. Sobald der Standort und die Richtung bekannt sind, kann ein Befehl auf hoher Ebene unter Verwendung eines Computersoftwareprogramms zum Bestimmen von Fahranweisungen, wie etwa GOOGLE™ Maps usw., bestimmt werden.
  • 3 ist eine Darstellung eines Beispiels eine Reihe von Fahrzeugbefehlen 300. Die Rechenvorrichtung 115 kann einen Befehl auf hoher Ebene auf Grundlage einer Route und eines Standorts bestimmen. Die Rechenvorrichtung 115 kann eine Route auf Grundlage einer Karte zusammen mit einem Standort auf einer Karte, der einen Standort des Fahrzeugs 110 darstellt, analysieren, um einen Befehl auf hoher Ebene zu bestimmen, der durch die Rechenvorrichtung 115 verarbeitet werden kann, um eine Reihe von Fahrzeugbefehlen 300 zu bestimmen, die durch die Rechenvorrichtung 115 ausgeführt werden können, um das Fahrzeug 110 zu betreiben, dass es sich von dem Standort des Fahrzeugs 110 durch Fahrt entlang eines Teils der Route zu einem neuen Standort bewegt. Die Rechenvorrichtung 115 kann die Reihe von Fahrzeugbefehlen 300 durch Steuern von Antriebsstrang, Lenkung und Bremsung über die Steuerungen 112, 113, 114 ausführen, um das Fahrzeug 110 so zu betreiben, dass die Fahrzeugräder veranlasst werden, sich mit den Drehmomenten und der Richtung, wie in der Reihe von Fahrzeugbefehlen 300 festgelegt, zu drehen und zu rotieren und dadurch das Fahrzeug 110 zu veranlassen, so zu manövrieren, dass es sich auf einem Teil einer Route von einem Startstandort zu einem Zielstandort bewegt.
  • Eine Reihe von Fahrzeugbefehlen 300 kann eine oder mehrere Zeilen von Fahrzeugbefehlen 308 beinhalten. Eine Reihe von Fahrzeugbefehlen 300 kann bis zu Tausende von Fahrzeugbefehlen 308 beinhalten, wobei die Anzahl von der Abtastrate der Fahrzeugbefehle 308 abhängig ist, wobei die Abtastrate als das Reziproke des angenommenen Zeitschritts zwischen jedem Fahrzeugbefehl 308 und der zeitlichen Dauer des Befehls auf hoher Ebene definiert ist. Beispielsweise kann jeder Fahrzeugbefehl 308 durch die Rechenvorrichtung 115 in Steuersignale umgewandelt werden, die an Steuerungen 112, 113, 114 zu senden sind, um den Antriebsstrang, die Lenkung und die Bremsen des Fahrzeugs 110 in einem angenommenen Zeitschritt, beispielsweise alle 10 Millisekunden, zu steuern. Die zeitliche Dauer des Befehls auf hoher Ebene ist die Zeit, die erforderlich ist, um das Fahrzeug 110 von einem Startstandort, der mit einem Teil der Route assoziiert ist, zu einem Zielstandort, der mit einer Route assoziiert ist, zu betreiben. Beispielsweise kann jede Fahrzeugbewegungsbahn 308 Steuersignale darstellen, die an Steuerungen 112, 113, 114 zu senden sind, um den Antriebsstrang, die Lenkung und die Bremsen des Fahrzeugs 110 in einem angenommenen Zeitschritt, beispielsweise alle 10 Millisekunden, zu steuern. Jede Zeile aus der Reihe von Fahrzeugbefehlen 300 beinhaltet einen Fahrzeugbefehl 308, der einen Lenkbefehl (STR CMD) beinhaltet, der das Lenkdrehmoment in Newtonmetern (Nm) ist, das dazu angewendet wird, die Fahrzeugräder um eine Lenkachse zu drehen, um die Fahrzeugrichtung zu ändern, und einen Antriebsstrang/Bremsen-Befehl (P/B CMD), der sowohl das Antriebsstrangdrehmoment, das in einer Drehrichtung um eine Achse (positive Werte) angewendet wird, als auch das Bremsdrehmoment, das um die gleiche Achse (negative Werte) angewendet wird, ist. Befehle, die durch die Rechenvorrichtung 115 an die Steuerungen 112, 113, 114 zu senden sind, um ein bestimmtes Lenk-, Antriebsstrang- oder Bremsdrehmoment zu erreichen, können empirisch bestimmt werden und in dem Speicher der Rechenvorrichtung 115 gespeichert werden. Die Rechenvorrichtung 115 kann eine Reihe von Fahrzeugbefehlen 300 verwenden, um ein Fahrbahn 110 auf einer Fahrbahn zu betreiben. Die Rechenvorrichtung 115 kann einen Hinweis zu einem Befehl auf hoher Ebene auf Grundlage eines Standorts und einer Route, die beide in Bezug auf eine Karte bestimmt werden, bestimmen und den Hinweis zu einem Befehl auf hoher Ebene mit Bildhinweisen, die durch Verarbeiten eines Bilds 202, 204, 206 bestimmt werden, kombinieren, um eine Reihe von Fahrzeugbefehlen 300 zu bestimmen, die, wenn sie hintereinander mit dem angenommenen Zeitschritt durch die Rechenvorrichtung 115 verwendet werden, um den Antriebsstrang, die Lenkung und die Bremsung des Fahrzeugs 110 zu steuern, ein Fahrzeug 110 betreiben können, um sich auf einem Teil einer Route von dem Start zu dem Ziel zu bewegen.
  • 4 ist eine Darstellung eines beispielhaften DNN 400. Das DNN 400 kann beispielsweise ein Softwareprogramm sein, das in den Speicher geladen werden kann und durch einen Prozessor, der in der Rechenvorrichtung 115 beinhaltet ist, ausgeführt werden kann. Das DNN 400 kann auf Grundlage eines Eingebens 404 eines Bilds 202, 204, 206 in das neurale Faltungsnetzwerk (Convolutional Neural Network - CNN) 402 und eines Eingebens 410 einen Befehl auf hoher Ebene in das Kontext-Unternetzwerk 408 trainiert werden, Reihen von Fahrzeugbefehlen 300 auszugeben 408, die Lenk-, Antriebsstrang- und Bremsdrehmomente darstellen. Die Rechenvorrichtung 115 kann ein Bild 202, 204, 206 in das CNN 408, das Bildhinweise 406 ausgibt, eingeben 404 und einen Befehl auf hoher Ebene in das CSN 408 eingeben 410, um einen Hinweis zu einem Befehl auf hoher Ebene 412 zu erzeugen. Die Bildhinweise 406 und die Hinweise zu einem Befehl auf hoher Ebene 412 werden in das neurale Unternetzwerk 414 eingegeben, das eine Reihe von Fahrzeugbefehlen 300 ausgibt 416, die durch die Rechenvorrichtung 115 verwendet werden können, um ein Fahrzeug 110 auf einem Teil einer Route, die an dem Standort beginnt, und entsprechend einem teil der Route zu betreiben. Durch Eingeben 404 einer Sequenz von Bildern 202, 204, 206 und 410 von entsprechenden Befehlen auf hoher Ebene in das DNN 400, wo Bilder 202, 204, 206 erfasst werden, wenn das Fahrzeug 110 entlang einer Route betrieben wird, wird jedes Bild 202, 204, 206 mit einem entsprechenden Befehl auf hoher Ebene auf Grundlage eines Standorts in Bezug auf die Route aufgrund seines geschätzten Standorts auf der Karte assoziiert. Der geschätzte Standort des Fahrzeugs 110 kann durch Eingeben von Daten von Standortsensoren 116, darunter GPS, sechsachsige Beschleunigungsmesser-basierte Trägheitsnavigationssysteme (inertial navigation systems - INS) oder Odometer/Kompass-basierte Systeme, bestimmt werden. Für jedes eingegeben 404 Bild 202, 204, 206 und jeden eingegebenen 410 Befehl auf hoher Ebene gibt das DNN 400 eine Reihe von Befehlen 300 aus, die die Rechenvorrichtung 115 verwenden kann, um das Fahrzeug 110 entlang eines Teils einer Route zu betreiben. Die Rechenvorrichtung 115 kann beispielsweise dazu programmiert sein, ein neues Bild I und einen neuen Standort in Bezug auf die Route zu erfassen, die in das DNN 400 einzugeben 404, 410 sind, bevor die Rechenvorrichtung 115 das Betreiben des Fahrzeugs 110 zu dem Zielstandort auf dem aktuellen Teil der Route beendet hat. Auf diese Weise kann die Rechenvorrichtung 115 das Fahrzeug 110 entlang einer Route vom Start zum Ziel ohne Unterbrechung auf Grundlage von Reihen von Fahrzeugbefehlen 300, die von dem DNN 400 ausgegeben 416 werden, betreiben, wodurch Ende-zu-Ende-Navigation der Route erreicht wird. Das DNN 400 kann das CNN 402 beinhalten, das eine Vielzahl von Faltungsschichten beinhalten kann, die eingegebene 404 Bilder 203, 204, 206 zur Vorwärtspropagation von Zwischenergebnissen 406 zwischen benachbarten Faltungsschichten falten und downsampeln. Die Faltungsschichten C1-C10 führen ein Downsampling der Zwischenergebnisse 406 durch Pooling durch, wobei eine Gruppe von benachbarten Pixeln in einer Faltungsschicht, beispielsweise eine 2x2-Nachbarschaft, zusammen gepoolt werden, um ein Pixel zu bilden, das die Gruppe in ausgegebenen Zwischenergebnissen mit der halben Auflösung wie die eingegeben Zwischenergebnisse sowohl in x als auch y darstellt. Beispielsweise wählt max. Pooling den maximalen Pixelwert, um jede 2x2-Nachbarschaftsgruppe darzustellen. Jede Faltungsschicht kann Zwischenergebnisse 406 bei einer Auflösung eingeben, diese mit einem oder mehreren Kerneln falten, die Ergebnisse poolen und Zwischenergebnisse 406 mit einer geringeren Auflösung ausgeben.
  • Nach den Faltungsschichten werden die Zwischenergebnisse in vollständig verbundene Schichten ausgegeben. Jedes Element einer vollständig verbundenen Schicht ist mit jedem Element der nachfolgenden vollständig verbundenen Schicht verbunden, was bedeutet, dass jedes Element der nachfolgenden Schicht las eine Funktion von allen oder beliebigen der Elemente der vorhergehenden vollständig verbundene Schicht bestimmt werden kann. Dies erlaubt es dem CNN 402, eine Reihe von Bildhinweisen 406 zu bilden, die an das NSN 414 auszugeben sind. Bildhinweise 406 sind Arrays von Datenwerten, die durch das CNN 402 aus eingegebenen 404 Bildern 202, 204, 206 auf Grundlage des nachfolgend beschriebenen Trainings extrahiert werden, die durch das NSN 414 mit einem eingegebenen Hinweis zu einem Befehl auf hoher Ebene 412 kombiniert werden können, um eine Reihe von Fahrzeugbefehlen 300 auszugeben 416. Die Bildhinweise 406 sind Zwischendatendarstellungen von Daten von Bildern 202, 204, 206, die durch das CNN 402 bestimmt werden. Die Bildhinweise 406 werden auf Grundlage des Trainings des CNN 402 und des NSN 414, Reihen von Fahrzeugbefehlen 300 auszugeben 416, bestimmt. Das DNN 400 kann trainiert werden, eine Reihe von Fahrzeugbefehlen 300 als Reaktion auf das Eingeben 410 von Befehlen auf hoher Ebene in das CSN 408, während ein Bild 202, 204, 206 in das CNN 402 eingegeben 404 wird, auszugeben. Die Bildhinweise 406 und die Hinweise zu einem Befehl auf hoher Ebene 412 werden in das NSN 414 eingegeben, das Reihen von Fahrzeugbefehlen 300 ausgibt 416. Das CNN 402, das CSN 408 und das NSN 414 können gleichzeitig durch Rückpropagieren von Fehlern zwischen ausgegebenen 416 Reihen von Fahrzeugbefehlen 300 und vorbestimmten Reihen von Fahrzeugbefehlen 300 trainiert werden. Reihen von Fahrzeugbefehlen 300 können durch Bestimmen von Reihen von Fahrzeugbefehlen auf Grundlage des Standorts und der Route, die in das CSN 408 eingegeben 410 werden, vorbestimmt werden. Der Standort und die Route können unter Verwendung von Polynomkurvenanpassung und steuerungstheoretischen Berechnungen analysiert werden, um Seiten- und Längsbeschleunigung und Anfangsbedingungen, darunter Geschwindigkeit und Richtung des Fahrzeugs 110, zu berechnen, die das Fahrzeug 110 veranlassen können, entlang eines Teils der Route, beginnen an dem Startort und fortsetzend zu einem Zielstandort betrieben zu werden, während Geschwindigkeit, Seitenbeschleunigung und Längsbeschleunigung innerhalb vorbestimmter Grenzen zu Sicherheit (obere) und Effizienz (untere) gehalten werden.
  • Die Geschwindigkeiten und Seiten- und Längsbeschleunigungen pro Zeiteinheit können durch die Rechenvorrichtung 115 unter Verwendung von steuerungstheoretischen Berechnungen analysiert werden, um Reihen von Fahrzeugbefehlen 300 zu bestimmen, die das Fahrzeug 110 veranlassen werden, bestimmte Geschwindigkeiten und Seiten- und Längsbeschleunigungen zu erreichen, um so betrieben zu werden, dass entlang der Route gefahren wird.
  • Vorbestimmte Reihen von Fahrzeugbefehlen 300 können beispielsweise durch Kurvenanpassung und steuerungstheoretische Gleichungen, wie vorstehend erörtert, bestimmt werden oder aufgezeichnet werden, während ein Fahrzeug 110 entlang eines Teils einer Route, die an einem Standort beginnt, aufgezeichnet werden. Die vorbestimmten Reihen von Fahrzeugbefehlen 300, die mit einem eingegebenen 410 Befehl auf hoher Ebene und einem eingegebenen 404 Bild 202, 204, 206 assoziiert sind, können mit einer ausgegebenen 416 Reihe von Fahrzeugbefehlen 300 auf Grundlage von Verarbeitung eines eingegebenen 410 Befehls auf hoher Ebene und eines eingegebenen 404 Bilds 202, 204, 206 verglichen werden und somit Fehlergrößen bereitstellen, um rückzupropagieren und somit positives oder negatives Feedback bereitzustellen, um das CNN 402, das CSN 408 und das NSN 414 zu trainieren. Sobald auf diese Weise trainiert, kann das DNN 400 als Reaktion auf das Eingeben 404 einer Vielzahl von Bildern 202, 204, 206 und das Eingeben 410 einer Vielzahl von entsprechenden Befehlen auf hoher Ebene eine Vielzahl von Reihen von Fahrzeugbefehlen 300 ausgeben 416, die das Fahrzeug 110 entlang einer Route von einem Startstandort zu einem Zielstandort betreiben können, wodurch ein Ende-zu-Ende-betrieb des Fahrzeugs 110 erreicht wird.
  • 5 ist eine Darstellung eines Ablaufdiagramms, das in Bezug auf die 1-4 beschrieben ist, eines Prozesses 500 zum Betreiben eines Fahrzeugs auf Grundlage des Bestimmens einer Reihe von Fahrzeugbefehlen 300. Der Prozess 500 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 500 beinhaltet mehrere Schritte, die in der offenbarten Reihenfolge vorgenommen werden. Der Prozess 500 beinhaltet zudem Umsetzungen, die weniger Schritte beinhalten, oder kann die Schritte in anderen Reihenfolgen beinhalten.
  • Der Prozess 500 beginnt bei Schritt 502, bei dem eine in einem Fahrzeug 110 enthaltene Rechenvorrichtung 115 einen Befehl auf hoher Ebene auf Grundlage eines Standorts in Bezug auf eine Route bestimmt. Der Befehl auf hoher Ebene kann auf einem Standort und einer Route, die beide in Bezug auf eine Karte bestimmt werden können, basieren. Der Standort kann auf einem geschätzten Standort basieren, der durch die Rechenvorrichtung 115 auf Grundlage von Daten des Sensors 116, darunter GPS, wie vorstehend unter Bezugnahme auf 3 erörtert, bestimmt wird. Bei Schritt 502 erfasst die Rechenvorrichtung 115 ein Bild 202, 204, 206, das in das DNN 400 eingegeben werden kann. Das Bild 202, 204, 206 kann ein Farbvideobild sein, wie vorstehend unter Bezugnahme auf 2 erörtert, oder das Bild 202, 204, 206 kann einen LIDAR-, Radar-, Infrarot (IR)- oder anderen Bildgebungsmodalitätssensor 116 beinhalten. Das DNN 400 kann modifiziert werden, um mehrere CNNs 402 zu beinhalten, um Daten von mehreren Bildgebungsmodalitätssensoren 116 zu verarbeiten, darunter Verbindungen, die eine Fusion der Sensoren 116 zu ermöglichen.
  • Bei Schritt 504 gibt die Rechenvorrichtung 115 das Bild 202, 204, 206 in das DNN 400 zusammen mit dem Eingegeben 410 eines Befehls auf hoher Ebene ein 404. Das DNN 400 wird auf Grundlage einer Vielzahl von Standorten, Routen und Bildern 202, 204, 206, wie unter Bezugnahme auf 4 erörtert, mit einer Vielzahl von vorbestimmten Befehlen auf hoher Ebene und Reihen von Fahrzeugbefehlen 300 trainiert. Das DNN 400 kann ein eingegebenes 404 Bild 202, 204, 206 verarbeiten und, auf Grundlage eines eingegebenen 410 Befehls auf hoher Ebene, eine Reihe von Fahrzeugbefehlen 300 ausgeben 416, die dazu verwendet werden können, das Fahrzeug 110 zu betreiben, um sich auf einem Teil einer Route von einem Startstandort zu einem Zielstandort zu bewegen.
  • Bei Schritt 506 verwendet die Rechenvorrichtung 115 die Reihe von Fahrzeugbefehlen 300, die von dem trainierten CNN 400 ausgegeben 408 werden, um das Fahrzeug 110 zu betreiben. Die Rechenvorrichtung 115 kann die ausgegebenen 408 Fahrzeugbefehle 300 ohne passende Polynomkurven oder Durchführen von steuerungstheoretischen Berechnungen mit Routendaten direkt verwenden, um das Fahrzeug 100 zu betreiben. Während die Rechenvorrichtung 115 das Fahrzeug 110 auf Grundlage der ausgegebenen 408 Reihe von Fahrzeugbefehlen 300 betreibt, kann die Rechenvorrichtung 115 die Reihe von Fahrzeugbefehlen 300 in Echtzeit modifizieren, um Verkehr, darunter andere Fahrzeuge, Fahrräder, Fußgänger usw., zu berücksichtigen und Verkehrssignalen und Umleitungen, wie vorstehend unter Bezugnahme auf 3 erörtert, beispielsweise auf Grundlage von Daten, die in Echtzeit durch Standort-, Video- oder LIDAR-Sensoren erfasst werden, zu entsprechen. Im Anschluss an diesen Schritt endet der Prozess 500. 6 ist eine Darstellung eines Ablaufdiagramms, das in Bezug auf die 1-4 beschrieben ist, für einen Prozess 600 zum Trainieren eines DNN, um Reihen von Fahrzeugbefehlen 300 auszugeben. 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 Schritte, die in der offenbarten Reihenfolge vorgenommen werden. Der Prozess 600 beinhaltet zudem Umsetzungen, die weniger Schritte beinhalten, oder kann die Schritte in anderen Reihenfolgen beinhalten.
  • Der Prozess 600 beginnt bei Schritt 602, bei dem eine in einem Fahrzeug 110 enthaltene Rechenvorrichtung 115 Bilder 202, 204, 206 erfasst und aufzeichnet. Die Bilder können durch einen Farbvideosensor 116 erfasst werden, beispielsweise wie unter Bezugnahme auf 2 vorstehend erörtert, oder die Bilder können unter Verwendung von beispielsweise LIDAR-, Radar- oder IR-Sensoren erfasst werden. Die Bilder 202, 204, 206 können jeweils erfasst werden, während das Fahrzeug 110 auf einer Route betrieben wird.
  • Bei Schritt 604 zeichnet die Rechenvorrichtung 115 eine Vielzahl von Befehlen auf hoher Ebene auf Grundlage von Standorten entsprechend den Bildern 202, 204, 206, die in Schritt 602 aufgezeichnet werden, auf. Jeder Standort wird in Bezug auf eine Route bestimmt und ein Befehl auf hoher Ebene wird für jeden Standort bestimmt, der dem Betrieb eines Fahrzeugs auf der Route an diesem Standort, wie vorstehend unter Bezugnahme auf 4 erörtert, entspricht.
  • Bei Schritt 606 bestimmt die Rechenvorrichtung 115 eine Vielzahl von Reihen von Fahrzeugbefehlen 308, die mit der Vielzahl von Befehlen auf hoher Ebene und Bildern assoziiert sind. Die Reihen von Befehlen 308 können für jeden Befehl auf hoher Ebene durch bestimmen von geschätzten Fahrzeuggeschwindigkeiten und Seiten- und Längsbeschleunigungen bestimmt werden, die das Fahrzeug 110 veranlassen können, das Fahrzeug 110 entlang dem Teil der Route zu betreiben, der mit dem Befehl auf hoher Ebene aus dem Schritt 604 assoziiert ist und unter Verwendung von Polynomkurvenanpassung und steuerungstheoretischen Berechnungen eine Reihe von Fahrzeugbefehlen 300, wie vorstehend unter Bezugnahme auf 4 vorstehend erörtert, zu bestimmen.
  • Bei Schritt 608 wird das DNN 400 zuerst durch Eingeben 410 von Befehlen auf hoher Ebene in das CSN 408, während Bilder 202, 204, 206 in das 402 eingegeben 404 werden, um ausgegebene 416 Reihen von Befehlen 300 durch das NSN 414 zu bilden, trainiert. Die ausgegebenen 416 Reihen von Fahrzeugbefehlen 300 werden mit vorbestimmten Reihen von Fahrzeugbefehlen 300 verglichen, um rückzupropagieren, und trainieren somit das CNN 402 und das NSN 414, wie vorstehend unter Bezugnahme auf 4 erörtert.
  • Bei Schritt 610 gibt die Rechenvorrichtung 115 das trainierte DNN 400 aus. Das trainierte DNN 400 beinhaltet Informationen in Bezug auf Befehle auf hoher Ebene, Faltungskernel und Polynomfunktionen, die dazu verwendet werden, Reihen von Fahrzeugbefehlen 300 auf Grundlage von eingegebenen 404 Bildern 202, 204, 206 und eingegebenen 410 Befehlen auf hoher Ebene zu bestimmen und auszugeben 416. Das Ausgeben des trainierten DNN 400 kann ein Speichern der trainierten DNN 400 in nicht flüchtigem Speicher, der in der Rechenvorrichtung 115 beinhaltet ist, beinhalten, wobei das trainierte DNN 400 durch die Rechenvorrichtung 115 aufgerufen und ausgeführt werden kann, um Reihen von Fahrzeugbefehlen 300 auszugeben 408, die durch die Rechenvorrichtung 115 zu verwenden sind, um das Fahrzeug 110 zu betreiben. Im Anschluss an diesen Schritt endet der Prozess 600.
  • Rechenvorrichtungen, wie etwa die hier erörterten, beinhalten im Allgemeinen jeweils Befehle, die durch eine oder mehrere Rechenvorrichtungen, wie etwa den vorstehend genannten, und zum Ausführen von Blöcken oder Schritten von vorstehend beschriebenen Verfahren ausführbar sind. 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 hier 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 jedes 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 nicht flüchtiger Medien, flüchtiger Medien usw. Nicht flüchtige Medien beinhalten beispielsweise optische und Magnetplatten und anderen dauerhaften Speicher. Flüchtige Medien beinhalten dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM), der üblicherweise 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 angegeben wird bzw. werden, es sei denn, ein Patentanspruch enthält ausdrücklich eine gegenteilige Einschränkung.
  • Der Ausdruck „beispielhaft“ wird hier 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, eine Messung, 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 sämtliche dieser Elemente geändert werden. Hinsichtlich der hier beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass die Schritte 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 hier beschriebenen Reihenfolge durchgeführt werden. Es versteht sich ferner, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte hier beschriebene Schritte weggelassen werden könnten. Mit anderen Worten 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 beinhaltet ein Verfahren: ein Bestimmen eines Befehls auf hoher Ebene auf Grundlage eines Standorts des Fahrzeugs in Bezug auf eine Route, die einen Startstandort und einen Zielstandort beinhaltet; ein Erfassen eines Bildes der äußeren Fahrzeugumgebung; ein Bestimmen von Lenk-, Brems- und Antriebsstrangbefehlen auf Grundlage eines Eingebens des Befehls auf hoher Ebene und des Bilds in ein tiefes neurales Netzwerk; und ein Betreiben des Fahrzeugs durch ein Betätigen von Fahrzeugkomponenten auf Grundlage der Lenk-, Brems- und Antriebsstrangbefehle.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Bestimmen einer Vielzahl von Befehlen auf hoher Ebene auf Grundlage von Standorten des Fahrzeugs in Bezug auf die Route und ein Erfassen einer Vielzahl von entsprechenden Bildern der äußeren Fahrzeugumgebung, wobei die Vielzahl von Standorten von dem Startstandort zu dem Zielstandort verteilt ist.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Bestimmen einer Vielzahl von Lenk-, Brems- und Antriebsstrangbefehlen auf Grundlage eines Eingebens der Vielzahl von Befehlen auf hoher Ebene und der Vielzahl von entsprechenden Bildern in das tiefe neurale Netzwerk; und somit ein Betreiben des Fahrzeugs, um sich durch ein Betätigen von Fahrzeugkomponenten auf Grundlage der Vielzahl von Lenk-, Brems- und Antriebsstrangbefehlen von dem Startstandort zu dem Zielstandort entlang der Route zu bewegen.
  • Gemäß einer Ausführungsform beinhalten die Lenk-, Brems- und Antriebsstrangbefehle Drehmoment, mit dem Lenk-, Brems- und Antriebsstrangfahrzeugkomponenten Kraft auf die Fahrzeugräder einwirken lassen, um Standort, Geschwindigkeit und Richtung des Fahrzeugs zu ändern.
  • Gemäß einer Ausführungsform beinhaltet das tiefe neurale Netzwerk ein neurales Faltungsnetzwerk, das eine Vielzahl von Pooling-Schichten, die ein Eingangsbild durch Falten und Downsampling verarbeiten, und eine oder mehrere vollständig verbundene Schichten, die Bildhinweise auf Grundlage von Matrix-Multiplikation und Bias-Offset ausgeben, beinhaltet.
  • Gemäß einer Ausführungsform beinhaltet das tiefe neurale Netzwerk ein Kontext-Unternetzwerk, das eine Vielzahl von vollständig verbundenen Netzwerkschichten beinhaltet, die einen eingegeben Befehl auf hoher Ebene auf Grundlage von Matrix-Multiplikation und Bias-Offset verarbeiten, um Hinweise zu einem Befehl auf hoher Ebene auszugeben.
  • Gemäß einer Ausführungsform beinhaltet das tiefe neurale Netzwerk ein neurales Unternetzwerk, das eine Vielzahl von vollständig verbundenen Netzwerkschichten beinhaltet, die Bildhinweise und Hinweise zu einem Befehl auf hoher Ebene eingeben und Lenk-, Brems- und Antriebsstrangbefehle ausgeben.
  • Gemäß einer Ausführungsform werden das neurale Faltungsnetzwerk, das Kontext-Unternetzwerk und das neurale Unternetzwerk durch ein Eingeben von aufgezeichneten Befehlen auf hoher Ebene auf Grundlage von aufgezeichneten Standorten in Bezug auf die Route in das Kontext-Unternetzwerk und von aufgezeichneten entsprechenden Bildern in das neurale Faltungsnetzwerk und ein Rückpropagieren von Fehlern auf Grundlage von Vergleichen von ausgegebenen Lenk-, Brems- und Antriebsstrangbefehlen des neuralen Unternetzwerks mit aufgezeichneten Lenk-, Brems- und Antriebsstrangbefehlen trainiert.
  • Gemäß einer Ausführungsform beinhaltet das Rückpropagieren von Fehlern ein Bestimmen von Bildhinweisen und Hinweisen zu einem Befehl auf hoher Ebene.
  • Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das Folgendes aufweist: einen Prozessor; und einen Speicher, wobei der Speicher Anweisungen beinhaltet, die von dem Prozessor auszuführen sind, um: einen Befehl auf hoher Ebene auf Grundlage eines Standorts des Fahrzeugs in Bezug auf eine Route, die einen Startstandort und einen Zielstandort beinhaltet, zu bestimmen; ein Bild einer äußeren Fahrzeugumgebung zu erfassen; Lenk-, Brems- und Antriebsstrangbefehle auf Grundlage eines Eingebens des Befehls auf hoher Ebene und des Bilds in ein tiefes neurales Netzwerk zu bestimmen; und das Fahrzeug durch ein Betätigen von Fahrzeugkomponenten auf Grundlage der Lenk-, Brems- und Antriebsstrangbefehle zu betreiben. Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Bestimmen einer Vielzahl von Befehlen auf hoher Ebene auf Grundlage von Standorten des Fahrzeugs in Bezug auf die Route und ein Erfassen einer Vielzahl von entsprechenden Bildern der äußeren Fahrzeugumgebung, wobei die Vielzahl von Standorten von dem Startstandort zu dem Zielstandort verteilt ist.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Bestimmen einer Vielzahl von Lenk-, Brems- und Antriebsstrangbefehlen auf Grundlage der Vielzahl von Befehlen auf hoher Ebene und der Vielzahl von entsprechenden Bildern in das tiefe neurale Netzwerk; und somit ein Betreiben des Fahrzeugs, um sich durch ein Betätigen von Fahrzeugkomponenten auf Grundlage der Vielzahl von Lenk-, Brems- und Antriebsstrangbefehlen von dem Startstandort zu dem Zielstandort entlang der Route zu bewegen.
  • Gemäß einer Ausführungsform beinhalten die Lenk-, Brems- und Antriebsstrangbefehle das Drehmoment, mit dem Lenk-, Brems- und Antriebsstrangfahrzeugkomponenten Kraft auf die Fahrzeugräder einwirken lassen, um Standort, Geschwindigkeit und Richtung des Fahrzeugs zu ändern.
  • Gemäß einer Ausführungsform beinhaltet das tiefe neurale Netzwerk ein neurales Faltungsnetzwerk, das eine Vielzahl von Pooling-Schichten, die ein Eingangsbild durch Falten und Downsampling verarbeiten, und eine oder mehrere vollständig verbundene Schichten, die Bildhinweise auf Grundlage von Matrix-Multiplikation und Bias-Offset ausgeben, beinhaltet. Gemäß einer Ausführungsform beinhaltet das tiefe neurale Netzwerk ein Kontext-Unternetzwerk, das eine Vielzahl von vollständig verbundenen Netzwerkschichten beinhaltet, die einen eingegeben Befehl auf hoher Ebene auf Grundlage von Matrix-Multiplikation und Bias-Offset verarbeiten, um Hinweise zu einem Befehl auf hoher Ebene auszugeben.
  • Gemäß einer Ausführungsform beinhaltet das tiefe neurale Netzwerk ein neurales Unternetzwerk, das eine Vielzahl von vollständig verbundenen Netzwerkschichten beinhaltet, die Bildhinweise und Hinweise zu einem Befehl auf hoher Ebene eingeben und Lenk-, Brems- und Antriebsstrangbefehle ausgeben.
  • Gemäß einer Ausführungsform werden das neurale Faltungsnetzwerk, das Kontext-Unternetzwerk und das neurale Unternetzwerk durch ein Eingeben von aufgezeichneten Befehlen auf hoher Ebene auf Grundlage von aufgezeichneten Standorten in Bezug auf die Route und von aufgezeichneten entsprechenden Bildern in das neurale Faltungsnetzwerk und ein Rückpropagieren von Fehlern auf Grundlage von Vergleichen von ausgegebenen Lenk-, Brems- und Antriebsstrangbefehlen des neuralen Unternetzwerks mit aufgezeichneten Lenk-, Brems- und Antriebsstrangbefehlen trainiert. Gemäß einer Ausführungsform beinhaltet das Rückpropagieren von Fehlern ein Bestimmen von Bildhinweisen und Hinweisen zu einem Befehl auf hoher Ebene.
  • Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das Folgendes aufweist: einen Videosensor, der dazu betrieben werden kann, ein Bild einer äußeren Fahrzeugumgebung zu erfassen; ein tiefes neurales Netzwerk; Fahrzeugkomponenten, die betrieben werden können, um ein Fahrzeug zu betreiben; einen Prozessor; und einen Speicher, wobei der Speicher Anweisungen beinhaltet, die von dem Prozessor auszuführen sind, um: einen Befehl auf hoher Ebene auf Grundlage eines Standorts des Fahrzeugs in Bezug auf eine Route, die einen Startstandort und einen Zielstandort beinhaltet, zu bestimmen; ein Bild einer äußeren Fahrzeugumgebung zu erfassen; Lenk-, Brems- und Antriebsstrangbefehle auf Grundlage eines Eingebens des Befehls auf hoher Ebene und des Bilds in ein tiefes neurales Netzwerk zu bestimmen; und das Fahrzeug durch ein Betätigen von Fahrzeugkomponenten auf Grundlage der Lenk-, Brems- und Antriebsstrangbefehle zu betreiben.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Bestimmen einer Vielzahl von Befehlen auf hoher Ebene auf Grundlage von Standorten des Fahrzeugs in Bezug auf die Route und ein Erfassen einer Vielzahl von entsprechenden Bildern der äußeren Fahrzeugumgebung, wobei die Vielzahl von Standorten von dem Startstandort zu dem Zielstandort verteilt ist.

Claims (15)

  1. Verfahren, umfassend: ein Bestimmen eines Standorts eines Fahrzeugs in Bezug auf eine Route, die einen Startstandort und einen Zielstandort beinhaltet; ein Erfassen eines Bildes der äußeren Fahrzeugumgebung; ein Bestimmen von Lenk-, Brems- und Antriebsstrangbefehlen auf Grundlage eines Eingebens des Standorts des Fahrzeugs in Bezug auf eine Route und des Bilds in ein tiefes neurales Netzwerk; und ein Betreiben des Fahrzeugs durch ein Betätigen von Fahrzeugkomponenten auf Grundlage der Lenk-, Brems- und Antriebsstrangbefehle.
  2. Verfahren nach Anspruch 1, ferner umfassend ein Bestimmen einer Vielzahl von Standorten des Fahrzeugs in Bezug auf die Route und ein Erfassen einer Vielzahl von entsprechenden Bildern der äußeren Fahrzeugumgebung, wobei die Vielzahl von Standorten von dem Startstandort zu dem Zielstandort verteilt ist.
  3. Verfahren nach Anspruch 2, ferner umfassend ein Bestimmen einer Vielzahl von Lenk-, Brems- und Antriebsstrangbefehlen auf Grundlage eines Eingebens der Vielzahl von Standorten des Fahrzeugs in Bezug auf die Route und der Vielzahl von entsprechenden Bildern in das tiefe neurale Netzwerk; und dadurch ein Betreiben des Fahrzeugs, um sich durch ein Betätigen von Fahrzeugkomponenten auf Grundlage der Vielzahl von Lenk-, Brems- und Antriebsstrangbefehlen von dem Startstandort zu dem Zielstandort entlang der Route zu bewegen.
  4. Verfahren nach Anspruch 1, wobei die Lenk-, Brems- und Antriebsstrangbefehle Drehmoment beinhalten, mit dem Lenk-, Brems- und Antriebsstrangfahrzeugkomponenten Kraft auf die Fahrzeugräder einwirken lassen, um Standort, Geschwindigkeit und Richtung des Fahrzeugs zu ändern.
  5. Verfahren nach Anspruch 1, wobei das tiefe neurale Netzwerk ein neurales Faltungsnetzwerk beinhaltet, das eine Vielzahl von Pooling-Schichten, die ein Eingangsbild durch Falten und Downsampling verarbeiten, und eine oder mehrere vollständig verbundene Schichten, die Bildhinweise auf Grundlage von Matrix-Multiplikation und Bias-Offset ausgeben, beinhaltet.
  6. Verfahren nach Anspruch 5, wobei das tiefe neurale Netzwerk ein Kontext-Unternetzwerk beinhaltet, das eine Vielzahl von vollständig verbundenen Netzwerkschichten beinhaltet, die einen eingegebenen Standort des Fahrzeugs in Bezug auf die Route auf Grundlage von Matrix-Multiplikation und Bias-Offset verarbeiten, um Hinweise zu einem Befehl auf hoher Ebene auszugeben.
  7. Verfahren nach Anspruch 6, wobei das Kontext-Unternetzwerk durch ein Eingeben von aufgezeichneten Standorten des Fahrzeugs in Bezug auf die Route und ein Rückpropagieren von Fehlern auf Grundlage von Unterschiedene zwischen ausgegebenen Hinweisen zu einem Befehl auf hoher Ebene und aufgezeichneten Hinweisen zu einem Befehl auf hoher Ebene trainiert wird.
  8. Verfahren nach Anspruch 7, wobei das tiefe neurale Netzwerk ein neurales Unternetzwerk beinhaltet, das eine Vielzahl von vollständig verbundenen Netzwerkschichten beinhaltet, die Bildhinweise und Hinweise zu einem Befehl auf hoher Ebene eingeben und Lenk-, Brems- und Antriebsstrangbefehl ausgeben.
  9. Verfahren nach Anspruch 8, wobei das neurale Faltungsnetzwerk und das neurale Unternetzwerk durch ein Eingeben von aufgezeichneten Standorten des Fahrzeugs in Bezug auf die Route in das Kontext-Unternetzwerk und von aufgezeichneten entsprechenden Bildern in das neurale Faltungsnetzwerk und ein Rückpropagieren von Fehlern auf Grundlage von Vergleichen von ausgegebenen Lenk-, Brems- und Antriebsstrangbefehlen des neuralen Unternetzwerks mit aufgezeichneten Lenk-, Brems- und Antriebsstrangbefehlen trainiert wird.
  10. Verfahren nach Anspruch 9, wobei der Standort des Fahrzeugs in Bezug auf eine Route den Standort des Fahrzeugs in Bezug auf eine Karte und eine Darstellung der Route in Bezug auf eine Karte beinhaltet.
  11. Verfahren nach Anspruch 10, wobei das Kontext-Untermenü den Standort des Fahrzeugs in Bezug auf eine Karte und eine Darstellung der Route in Bezug auf eine Karte verarbeitet, um Hinweise zu einem Befehl auf hoher Ebene zu bestimmen.
  12. Verfahren nach Anspruch 11, wobei die Hinweise zu einem Befehl auf hoher Ebene Befehle auf hoher Ebene und Distanzen beinhalten.
  13. Verfahren nach Anspruch 12, wobei die aufgezeichneten Hinweise zu einem Befehl auf hoher Ebene auf Hinweisen zu einem Befehl auf hoher Ebene, die durch Verarbeiten von Standorten und Routen in Bezug auf eine Karte bestimmt werden, basieren.
  14. Verfahren nach Anspruch 1, wobei ein Bild der äußeren Fahrzeugumgebung Standorte, die mit der Route assoziiert sind, beinhaltet.
  15. System, umfassend einen Computer, der dazu programmiert ist, die Verfahren nach einem der Ansprüche 1-14 durchzuführen.
DE102019107329.4A 2018-03-26 2019-03-21 Aktionskonditionierte fahrzeugsteuerung Pending DE102019107329A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/936,256 2018-03-26
US15/936,256 US10599146B2 (en) 2018-03-26 2018-03-26 Action-conditioned vehicle control

Publications (1)

Publication Number Publication Date
DE102019107329A1 true DE102019107329A1 (de) 2019-09-26

Family

ID=67848445

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019107329.4A Pending DE102019107329A1 (de) 2018-03-26 2019-03-21 Aktionskonditionierte fahrzeugsteuerung

Country Status (3)

Country Link
US (1) US10599146B2 (de)
CN (1) CN110356410A (de)
DE (1) DE102019107329A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10663313B2 (en) * 2017-12-15 2020-05-26 Google Llc Providing traffic warnings to a user based on return journey
US20210403056A1 (en) * 2020-06-24 2021-12-30 Toyota Research Institute, Inc. Convolution operator selection
CN114184833B (zh) * 2021-10-27 2024-08-20 中国科学院微电子研究所 自旋霍尔器件、霍尔电压的获取方法及最大池化的方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3295422B1 (de) 2015-05-10 2020-01-01 Mobileye Vision Technologies Ltd. Strassenprofile entlang eines prognostizierten weges
JP6360000B2 (ja) 2015-05-22 2018-07-18 日本電信電話株式会社 移動手段推定モデル生成装置、移動手段推定モデル生成方法、移動手段推定モデル生成プログラム
CN105178913A (zh) 2015-08-05 2015-12-23 李宾飞 一种基于集肤效应的天然气发电电加热清蜡防蜡装置及其应用
EP3219564B1 (de) 2016-03-14 2018-12-05 IMRA Europe S.A.S. Fahrvorhersage mit tiefem neuronalen netzwerk
US10189479B2 (en) 2016-04-06 2019-01-29 At&T Intellectual Property I, L.P. Methods and apparatus for vehicle operation analysis
US10296796B2 (en) 2016-04-06 2019-05-21 Nec Corporation Video capturing device for predicting special driving situations
US10286915B2 (en) * 2017-01-17 2019-05-14 Nio Usa, Inc. Machine learning for personalized driving
US10303956B2 (en) * 2017-08-23 2019-05-28 TuSimple System and method for using triplet loss for proposal free instance-wise semantic segmentation for lane detection
KR102434580B1 (ko) * 2017-11-09 2022-08-22 삼성전자주식회사 가상 경로를 디스플레이하는 방법 및 장치
US10528851B2 (en) * 2017-11-27 2020-01-07 TuSimple System and method for drivable road surface representation generation using multimodal sensor data
US10663313B2 (en) * 2017-12-15 2020-05-26 Google Llc Providing traffic warnings to a user based on return journey

Also Published As

Publication number Publication date
US20190294164A1 (en) 2019-09-26
CN110356410A (zh) 2019-10-22
US10599146B2 (en) 2020-03-24

Similar Documents

Publication Publication Date Title
DE102019131384A1 (de) Strassenbelagcharakterisierung unter verwendung von posenbeobachtungen von benachbarten fahrzeugen
DE102019122826A1 (de) Adaptives fahrzeuglernen
DE102019101938A1 (de) Erstellung kognitiver Karten für Fahrzeuge
DE102019127058A1 (de) Fahrzeugwegplanung
DE102020110458A1 (de) Fahrzeugpfadvorhersage
DE102019119162A1 (de) Posenschätzung
DE102019122027A1 (de) Fahrzeugwegplanung
DE102019103352A1 (de) Trajektorienverfolgung für die fahrzeugseitensteuerung unter verwendung eines neuronalen netzwerks
DE102019121140A1 (de) Sensorfusion
DE102019201850A1 (de) Fahrzeugsteuerungssystem und Steuerverfahren
DE102020130387A1 (de) Fahrzeugwegplanung
DE102020103509A1 (de) Erkennung und vermeidung von kollisionsverhalten
DE102017129196A1 (de) Nachfehlerbetrieb bei autonomen fahrzeugen
DE102019129232A1 (de) Sprachverarbeitung für ein fahrzeug
DE112020001106T5 (de) Ausrichten von Straßeninformationen zur Navigation
DE102020113848A1 (de) Ekzentrizitätsbildfusion
DE102018117916A1 (de) Wegplanung für das autonome Fahren
DE102020125307A1 (de) Adaptive sensorfusion
DE102020107149A1 (de) Fahrzeugkapsel-netzwerke
DE102019122536A1 (de) Exzentrizitätskarten
DE102019107329A1 (de) Aktionskonditionierte fahrzeugsteuerung
DE102020126155A1 (de) Trainieren eines neuronalen netzwerks eines fahrzeugs
DE102021109413A1 (de) Augmentation von fahrzeugdaten
DE102020107339A1 (de) Objektverfolgung für fahrzeuge
DE102020102935A1 (de) Fahrzeuglenksteuerung

Legal Events

Date Code Title Description
R082 Change of representative

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