-
ALLGEMEINER STAND DER TECHNIK
-
GEBIET DER ERFINDUNG
-
Diese Erfindung betrifft die Navigation für Fahrzeuge.
-
HINTERGRUND DER ERFINDUNG
-
Das Parken eines Fahrzeugs, insbesondere das parallele Parken, ist eine Fähigkeit, die viel Übung und Erfahrungen durch Ausprobieren erfordert. Auch erfahrene Fahrer neigen dazu, diese Aufgabe zu vermeiden, da ein richtiges Manövrieren nicht nur von der Fähigkeit des Fahrers abhängt, sondern auch von vielen unvorhersagbaren Umgebungsbedingungen, wie etwa die Neigung und der Bereich der verfügbaren Parkbucht sowie die Ausrichtung und Bewegung von benachbarten Fahrzeugen. Zusätzlich schrecken die hohen Kosten in Verbindung mit kleinen Fehlern oftmals nicht alle, aber die meisten sicheren Fahrer ab.
-
Eine automatische Parktechnologie wurde entwickelt, um ein Fahrzeug autonom von einem Anfangsstandort, wie etwa einer Fahrzeugspur, in eine gewünschte Parkbucht zu bewegen. Zu diesem Zweck ergreifen moderne automatische Parksysteme einen schrittweisen Prozess, bei dem Lenkwinkel, Brems- und Gaspedalwerte an Ort und Stelle von einem bordeigenen Fahrzeugnetzwerk berechnet werden. Die koordinierte Steuerung des Lenkwinkels und der Geschwindigkeit, bei der die derzeitige Stellung des Fahrzeugs und die unmittelbare Umgebung berücksichtigt werden, stellt eine nahezu kollisionsfreie Ausrichtung des Fahrzeugs in einer verfügbaren Parkbucht sicher.
-
Obwohl sie sich noch in der Entwicklungsphase befindet, ist die automatische Parkfunktionalität ebenfalls eine integrale Komponente von autonomen Fahrzeugen. Solche Fahrzeuge müssen womöglich parallele Parkmanöver unter dem gleichen breiten Bereich von anfänglichen Bedingungen und/oder Betriebsparametern wie menschliche Fahrer durchführen. Zusätzlich müssen autonome Fahrzeuge womöglich unter speziellen Szenarien, wie etwa Unfallbereichen oder Baustellen, die nicht in der vorbestimmten Karte enthalten sind, fahren. Die erfolgreiche Navigation ist in jedem Fall von Bedeutung, da kleine Fehler zu hohen Kosten führen können.
-
In Anbetracht des Vorstehenden werden Systeme und Verfahren benötigt, um ein autonomes Fahrzeug zu trainieren, um einen gewünschten Zielstandort automatisch zu erreichen. Idealerweise würden solche Systeme und Verfahren ein autonomes Fahrzeug trainieren, um effizient und genau auf einen breiten Bereich von Anfangsstandorten, Ausrichtungen und Betriebsparametern des Fahrzeugs relativ zu einem finalen Zielstandort zu reagieren. Solche Systeme und Verfahren würde außerdem skalierbar und zuverlässig sein und Training durch Ausprobieren verwenden, um einem Netzwerk zu ermöglichen, aus seinen Fehlern zu lernen.
-
KURZDARSTELLUNG
-
Die vorliegende Offenbarung stellt Systeme und Verfahren zum Trainieren von autonomen Fahrzeugen bereit, um Zielstandorte zu erreichen. In einer Ausführungsform kann ein Verfahren gemäß der vorliegenden Offenbarung Detektieren des Zustands eines autonomen Fahrzeugs in einer simulierten Umgebung und Verwenden eines neuronalen Netzwerks, um das Fahrzeug von einem Anfangsstandort zu einem Zielstandort zu navigieren, einschließen. Während der Trainingsphase kann ein zweites neuronales Netzwerk das erste neuronale Netzwerk für eine gewünschte Maßnahme belohnen, die von dem autonomen Fahrzeug ergriffen wurde, und kann das erste neuronale Netzwerk für eine unerwünschte Maßnahme bestrafen, die von dem autonomen Fahrzeug ergriffen wurde. In einigen Ausführungsformen können Fehlersignale für einen zeitlichen Unterschied, die der gewünschten oder unerwünschten Maßnahme entsprechen, verwendet werden, um das erste neuronale Netzwerk zu belohnen oder zu bestrafen.
-
Figurenliste
-
Damit die Vorteile der Erfindung ohne Weiteres verstanden werden, erfolgt durch Bezugnahme auf spezifische Ausführungsformen, die in den beigefügten Zeichnungen veranschaulicht sind, eine genauere Beschreibung der vorstehend kurz beschriebenen Erfindung. Da diese Zeichnungen lediglich typische erfindungsgemäße Ausführungsformen darstellen und daher nicht als den Umfang einschränkend aufzufassen sind, wird die Erfindung mit zusätzlicher Genauigkeit und Ausführlichkeit durch Verwendung der beigefügten Zeichnungen beschrieben und erläutert, in denen Folgendes gilt:
- 1 ist ein Blockdiagramm auf hoher Ebene, das ein Beispiel für ein Rechensystem zeigt, in dem ein System und Verfahren gemäß der Erfindung umgesetzt werden können;
- 2 ist ein Blockdiagramm auf hoher Ebene, das Komponenten eines Systems zum Trainieren eines autonomen Fahrzeugs, um einen Zielstandort zu erreichen, gemäß bestimmten erfindungsgemäßen Ausführungsformen zeigt;
- 3 ist ein Ablaufdiagramm, das einen Prozess zum automatischen Manövrieren gemäß erfindungsgemäßem Ausführungsformen zeigt;
- 4 ist eine schematische Darstellung auf hoher Ebene, die das Trainieren eines autonomen Fahrzeugs gemäß bestimmten erfindungsgemäßen Ausführungsformen zum Durchführen von Querparken zeigt;
- 5 ist eine schematische Darstellung auf hoher Ebene, die das Trainieren eines autonomen Fahrzeugs gemäß bestimmten erfindungsgemäßen Ausführungsformen zum Durchführen von diagonalem Parken zeigt;
- 6 ist eine schematische Darstellung auf hoher Ebene, die eine simulierte Umgebung gemäß bestimmten erfindungsgemäßen Ausführungsformen zeigt, die einen Längsparkplatz und einen Unfallbereich bereitstellt; und
- 7 ist ein Ablaufdiagramm, das einen Prozess zur automatischen Fahrzeugnavigation unter Verwendung von Deep Reinforcement Learning gemäß bestimmten erfindungsgemäßen Ausführungsformen zeigt.
-
DETAILLIERTE BESCHREIBUNG
-
Unter Bezugnahme auf 1 wird ein Beispiel für ein Rechensystem 100 veranschaulicht. Das Rechensystem 100 ist dargestellt, um ein Beispiel einer Umgebung zu zeigen, in der ein System und Verfahren gemäß der Erfindung umgesetzt werden können. Das Rechensystem 100 kann als eine mobile Vorrichtung 100 ausgeführt sein, wie beispielsweise als ein Smartphone oder Tablet, Desktop-Computer, eine Arbeitsstation, ein Server oder dergleichen. Das Rechensystem 100 wird beispielhalber dargestellt und soll nicht einschränkend sein. Tatsächlich können die hier offenbarten Systeme und Verfahren zusätzlich zu dem gezeigten Rechensystem 100 auf eine breite Vielfalt von verschiedenen Rechensystemen anwendbar sein. Die hier offenbarten Systeme und Verfahren können auch potentiell über mehrere Rechensysteme 100 verteilt sein.
-
Wie gezeigt, beinhaltet das Rechensystem 100 mindestens einen Prozessor 102 und kann mehr als einen Prozessor 102 beinhalten. Der Prozessor 102 kann mit einem Speicher 104 wirkverbunden sein. Der Speicher 104 kann ein oder mehrere nichtflüchtige Speichervorrichtungen, wie etwa Festplatten 104a, Festkörperlaufwerke 104a, CD-ROM-Laufwerke 104a, DVD-ROM-Laufwerke 104a, Tonbandlaufwerke 104a oder dergleichen, beinhalten. Der Speicher 104 kann auch nichtflüchtigen Speicher, wie beispielsweise einen Festwertspeicher 104b (z. B. ROM, EPROM, EEPROM und/oder Flash-ROM), oder flüchtigen Speicher, wie beispielsweise einen Direktzugriffsspeicher 104c (RAM oder Betriebsspeicher), beinhalten. Ein Bus 106 oder eine Vielzahl von Bussen 106 kann den Prozessor 102, die Speichervorrichtungen 104 und andere Vorrichtungen miteinander verbinden, um zu ermöglichen, dass Daten und/oder Anweisungen unter ihnen weitergegeben werden können.
-
Um die Kommunikation mit externen Systemen oder Vorrichtungen zu ermöglichen, kann das Rechensystem 100 einen oder mehrere Anschlüsse 108 beinhalten. Derartige Anschlüsse 108 können als drahtgebundene Anschlüsse 108 (z. B. USB-Anschlüsse, serielle Anschlüsse, Firewire-Anschlüsse, SCSI-Anschlüsse, Parallelanschlüsse usw.) oder drahtlose Anschlüsse 108 (z. B. Bluetooth, IrDA usw.) ausgeführt sein. Die Anschlüsse 108 können die Kommunikation mit einer oder mehreren Eingabevorrichtungen 110 (z. B. Tastaturen, Mäuse, Touchscreens, Kameras, Mikrofonen, Scannern, Speichervorrichtungen usw.) und Ausgabevorrichtungen 112 (z. B. Anzeigen, Monitoren, Lautsprechern, Druckern, Speichervorrichtungen usw.) ermöglichen. Die Anschlüsse 108 können zudem die Kommunikation mit anderen Rechensystemen 100 ermöglichen.
-
In bestimmten Ausführungsformen beinhaltet das Rechensystem 100 einen verdrahteten oder drahtlosen Netzadapter 114, um das Rechensystem 100 mit einem Netzwerk 116, wie etwa einem LAN, WAN oder dem Internet, zu verbinden. Ein derartiges Netzwerk 116 kann es dem Rechensystem 100 ermöglichen, sich mit einem oder mehreren Servern 118, Arbeitsstationen 120, Personal Computern 120, mobilen Rechenvorrichtungen oder anderen Vorrichtungen zu verbinden. Das Netzwerk 116 kann es dem Rechensystem 100 auch ermöglichen, sich mittels eines Routers 122 oder einer anderen Vorrichtung 122 mit einem anderen Netzwerk zu verbinden. Ein derartiger Router 122 kann es dem Rechensystem 100 ermöglichen, mit Servern, Arbeitsstationen, Personal Computern oder anderen Vorrichtungen, die sich an verschiedenen Netzwerken befinden, zu kommunizieren.
-
Wie bereits erwähnt, befindet sich die autonome Fahrzeugtechnologie noch immer in der Entwicklungsphase und hat das Ziel, ein vollautonomes Fahrzeug bereitzustellen, das in der Lage ist, die gleichen Funktionen und Manöver wie ein menschlicher Fahrzeugführer mit noch größerer Präzision und Effizienz durchzuführen. Automatisches Parken und Navigieren unter einer Vielfalt von Umständen ist für die Funktionalität von autonomen Fahrzeugen von Bedeutung. Erfindungsgemäße Ausführungsformen gehen dieses Problem durch Trainieren von autonomen Fahrzeugen in einer simulierten Umgebung an, um effizient und genau auf eine Vielzahl von Anfangsstandorten, Ausrichtungen und Betriebsparametern des Fahrzeugs relativ zu einem finalen Zielstandort zu reagieren.
-
Wie nachfolgend ausführlich erörtert, kann ein System zum automatischen Navigieren eines autonomen Fahrzeugs unter Verwendung von Deep Reinforcement Learning gemäß der Erfindung ein autonomes Fahrzeug in einem schrittweisen Prozess von einem Anfangsstandort zu einem gewünschten Zielstandort führen. In bestimmten Ausführungsformen können Lenkwinkel, Brems- und Gaspedalwerte an Ort und Stelle von einem bordeigenen neuronalen Netzwerk berechnet werden. Das Netzwerk kann den aktuellen Standort und die aktuelle Ausrichtung des Fahrzeugs als Eingabe von einer Anordnung von Sensoren empfangen. Zwei spezielle Frameworks für das Deep Reinforcement Learning - ein Deep Q-Netzwerk und ein Actor-Critic-Netzwerk mit asynchroner Nutzung („A3N“) - können umgesetzt werden, um das bordeigene Netzwerk zu trainieren. Die Ausgabe von diesen Frameworks kann dem Steuersystem des autonomen Fahrzeugs in Echtzeit zugeführt werden, um das Manöver auszuführen.
-
Unter Bezugnahme auf 2 kann ein System 200 zur automatischen Navigation unter Verwendung von Deep Reinforcement Learning gemäß der Erfindung ein autonomes Fahrzeug beinhalten, das eine Anordnung von Sensoren 208 und ein automatisches Manövriersystem 206 aufweist. Diese Teilsysteme können mit einem neuronalen Netzwerk an Bord des autonomen Fahrzeugs verknüpft werden, um das neuronale Netzwerk zu trainieren, um einen Zielstandort genau und effizient zu erreichen.
-
Die Sensoren 208 können beispielsweise Kamerasensoren, Lidar-Sensoren, Radar-Sensoren, Standort- oder GPS-Sensoren, Ultraschallsensoren und dergleichen beinhalten. Informationen, die von den verschiedenen Sensoren 208 erhalten werden, können von dem bordeigenen neuronalen Netzwerk verarbeitet und von dem automatischen Manövriersystem 206 empfangen werden. Auf diese Weise können die Sensoren 208 das automatische Manövriersystem 206 im Wesentlichen kontinuierlich in Bezug auf einen aktuellen Zustand des autonomen Fahrzeugs, einschließlich seines Standorts, seiner Ausrichtung und seines Status, informieren und aktualisieren.
-
Zusätzlich können die Sensoren 208 einem Anzeige-Compiler 210 Informationen in Bezug auf einen aktuellen Zustand des autonomen Fahrzeugs bereitstellen. Solche Informationen können dem Anzeige-Compiler 210 regelmäßig oder im Wesentlichen kontinuierlich über das bordeigene Netzwerk kommuniziert werden. Der Anzeige-Compiler 210 kann diese Informationen in Kombination mit Informationen aus vorbestimmten Karten 212 (wie etwa denen, die von GPS-Daten bereitgestellt werden) der umgebenden Bereichs verwenden, um Echtzeitberechnungen anzustellen und grafische Darstellungen zu erzeugen, die für die Navigation des autonomen Fahrzeugs relevant sind. Diese zusammengestellten Daten können einem Armaturenbrett 214 zur Anzeige für einen Benutzer kommuniziert werden, wie nachfolgend ausführlicher erörtert.
-
In bestimmten Ausführungsformen kann ein Armaturenbrett 214 oder eine andere Benutzerschnittstelle für einen Benutzer sichtbar sein, um die Aktivierung und die Steuerung des Systems 200 zu ermöglichen. In einigen Ausführungsformen kann das Armaturenbrett 214 auf einem bzw. einer sich entfernt befindlichen Computer, Mobiltelefon, einer Smart-Vorrichtung oder dergleichen angezeigt werden und kann durch eine entsprechende drahtlose Kommunikationstechnologie, wie etwa eine WiFi-Verbindung, eine zelluläre Datenverbindung, das Internet oder eine andere Kommunikationstechnologie, die dem Fachmann bekannt ist, eine Konnektivität mit dem neuronalen Netzwerk aufrechterhalten. Das Armaturenbrett 214 kann einem Benutzer ermöglichen, das System über einen Aktivierungsmechanismus 202 zu aktivieren. Das Armaturenbrett 214 kann außerdem einen Monitor 204 oder eine andere Anzeigevorrichtung beinhalten, um einem Benutzer zu ermöglichen, den Zustand des autonomen Fahrzeugs und/oder dessen unmittelbare Umgebung zu überwachen. In bestimmten Ausführungsformen kann der Aktivierungsmechanismus 202 eine physische Taste, eine virtuelle Taste auf einem Bildschirm, einen Sprachbefehl, einen Mausklick, eine Berührung mit dem Finger oder dergleichen beinhalten. In einigen Ausführungsformen kann der Monitor 204 den Anfangsstandort des autonomen Fahrzeugs in Echtzeit bereitstellen und der Aktivierungsmechanismus 202 kann in Kombination mit dem Monitor 204 arbeiten, um dem Benutzer zu ermöglichen, das automatische Manövriersystem 206 durch Auswählen eines finalen Ziels auf dem Monitor 204 zu aktivieren.
-
Unter Bezugnahme auf 3 können Ausführungsformen der vorliegenden Erfindung ein automatisches Manövriersystem 206 umfassen, das skalierbar, effizient und zuverlässig ist, und können eine breite Vielfalt an Anfangsstandorten und/oder Ausrichtungen des autonomen Fahrzeugs relativ zu seinem finalen oder Endziel berücksichtigen. Das automatische Manövriersystem 206 kann ein Framework für das Deep Reinforcement Learning beinhalten und kann in einer simulierten Umgebung umgesetzt werden, in der zahlreiche Versuche verwendet werden können, um das bordeigene neuronale Netzwerk zu trainieren. In bestimmten Ausführungsformen kann das automatische Manövriersystem 206 das bordeigene neuronale Netzwerk mit einem Exploration-Exploitation-Kompromiss trainieren, um aus den Fehlern zu lernen.
-
Diesbezüglich können die Ausführungsformen eines automatischen Manövriersystems 206 gemäß der Erfindung bestimmte Schritte des Verfahrens 300 durchführen. Zum Beispiel kann das automatische Manövriersystem 206 durch einen Benutzer über einen Aktivierungsmechanismus 202, wie etwa eine physische Taste, eine virtuelle Taste auf einem Bildschirm, einen Sprachbefehl, einen Mausklick, eine Berührung mit dem Finger auf einem Bildschirm oder dergleichen, aktiviert 302 werden. In einigen Ausführungsformen kann der Aktivierungsmechanismus 202 über ein physisches oder virtuelles Armaturenbrett 214 einer entfernten Vorrichtung für einen Benutzer sichtbar und zugänglich sein. In anderen Ausführungsformen kann sich der Aktivierungsmechanismus 202 an Bord des autonomen Fahrzeugs befinden. In bestimmten Ausführungsformen kann der Aktivierungsmechanismus 202 einem Benutzer ermöglichen, einen Zielort für das autonome Fahrzeug auszuwählen, oder der Benutzer kann den Zielort über einen Monitor 204 oder einen anderen Mechanismus oder eine andere Vorrichtung, der bzw. die dem Fachmann bekannt ist, auswählen.
-
Das automatische Manövriersystem 206 kann das ausgewählte Ziel als den Zielort für das autonome Fahrzeug bestätigen 304, indem die Standort- und/oder Richtungskoordinaten, die dem ausgewählten Ziel entsprechen, bestimmt werden. Die Standortkoordinaten können durch Referenzieren von Daten, die von den bordeigenen Sensoren 208, einschließlich GPS-Sensoren, und/oder von vorbestimmten Karten 212 erfasst wurden, bestimmt werden. Die Richtungskoordinaten können beispielsweise einen finalen Kurswinkel oder Lenkwinkel für das autonome Fahrzeug beinhalten. In einer Ausführungsform kann das finale Ziel oder die Zielposition als (x, y, h)F ausgedrückt werden, wobei x und y die Standorte auf senkrechten lateralen Achsen sind und h ein finaler Kurswinkel ist.
-
In einigen Ausführungsformen kann das automatische Manövriersystem 206 Fahrgrenzen innerhalb eines umgebenden Bereichs ermitteln 306, um das Navigieren des autonomen Fahrzeugs von einem Anfangsstandort zu einem finalen Zielort ohne Beeinträchtigung durch Objekte oder Hindernisse in der Nähe zu erleichtern. Fahrgrenzen können beispielsweise stationäre Objekte oder Hindernisse beinhalten, wie etwa Straßenschilder, Bäume, Gebäude, Gewässer und dergleichen. Fahrgrenzen können durch Referenzieren von Daten der Sensoren 208 und/oder vorbestimmten Karten 212 bestimmt werden.
-
Beim Bestimmen eines sicheren Fahrbereichs auf Grundlage der Fahrgrenzen kann das autonome Fahrzeug mit den Daten der Sensoren 208 und den vorbestimmten Karten 212 lokalisiert 308 werden. Das Lokalisieren 308 des autonomen Fahrzeugs kann Bestimmen einer Ausrichtung des Fahrzeugs, eines Standorts des Fahrzeugs, eines Steuerstatus, eines Lenkwinkels und dergleichen beinhalten. Diese Informationen, zusätzlich zu den finalen Zielkoordinaten und Fahrgrenzen, können von dem bordeigenen neuronalen Netzwerk über bordeigene Sensoren 208 empfangen 310 werden.
-
In bestimmten Ausführungsformen kann das Kontroll-Framework für das Reinforcement Learning ein Deep Q-Netzwerk beinhalten, das mithilfe eines Exploration-Exploitation-Kompromisses aus Fehlern lernt. Wie nachfolgend ausführlicher erörtert, kann das Deep Q-Netzwerk zahlreiche Versuche nutzen, bei denen es für gute Maßnahmen belohnt und für schlechte Maßnahmen bestraft wird. In einer Ausführungsform kann eine Epsilon-Greedy-Strategie für Entscheidungen von Exploration versus Exploitation während des Trainings von neuronalen Netzwerken verwendet werden.
-
Die von dem bordeigenen neuronalen Netzwerk empfangenen 310 Informationen können verarbeitet und verwendet werden, um das Fahrzeug von seinem Anfangsstandort zu seinem finalen Standort zu navigieren 312. In einigen Ausführungsformen kann das neuronale Netzwerk auf Grundlage dieser Informationen entsprechende inkrementelle Einstellungen eines Fahrzeuglenkwinkels, einer Beschleunigung und/oder Bremsung bestimmen, um dem autonomen Fahrzeug zu ermöglichen, den finalen Zielort zu erreichen.
-
Zum Beispiel kann das System in einer Ausführungsform anfangs bei Zeitpunkt tt aktiviert 302 werden. Das bordeigene neuronale Netzwerk kann Sensorinformationen für das autonome Fahrzeug empfangen 310, die tt entsprechen, und das Kontroll-Framework für das Reinforcement Learning kann verwendet werden, um solche Informationen zu verarbeiten. Auf Grundlage dieser Informationen können entsprechende Fahrzeugsteuerungen oder - einstellungen bestimmt und verwendet werden, um das autonome Fahrzeug bei Zeitpunkt tt+i zu einer neuen Position zu navigieren 312.
-
Standort- und Richtungskoordinaten, die der neuen Position entsprechen, können mit dem finalen Ort verglichen 314 werden. Wenn die Koordinaten der neuen Position mit den Koordinaten des finalen Ziels übereinstimmen, kann das Verfahren 300 enden. Falls nicht, kann das Verfahren 300 dazu zurückkehren, das Fahrzeug zu lokalisieren 308, und den Prozess 300 wiederholen, bis das autonome Fahrzeug das finale Ziel erreicht.
-
Unter Bezugnahme auf 4 können bestimmte erfindungsgemäße Ausführungsformen eine simulierte Umgebung 400 bereitstellen, die quer liegende Parkbuchten 404 aufweist. Wie vorstehend erörtert, kann in einigen Ausführungsformen ein Deep Q-Netzwerk verwendet werden, um ein autonomes Fahrzeug 402 zu trainieren, um eine verfügbare quer liegende Parkbucht 404 automatisch zu belegen.
-
Das autonome Fahrzeug 402 kann eine Anordnung von bordeigenen Sensoren beinhalten, um Daten von der äußeren Umgebung zu erfassen. Die Anordnung von Sensoren kann zum Beispiel Bildkamerasensoren, Tiefenkamerasensoren, Infrarotkamerasensoren, Lidar-Sensoren, Radar-Sensoren, Ultraschallsensoren und dergleichen beinhalten. Diese Daten können in das automatische Manövriersystem 206 eingegeben und in Kombination mit vorbestimmten Kartendaten verwendet werden, um das autonome Fahrzeug 402 zu trainieren, um ordnungsgemäß und effizient in die quer liegende Parkbucht 404 zu manövrieren.
-
In einigen Ausführungsformen kann ein Benutzer das System aktivieren und eine quer liegende Parkbucht 404 als den Zielort auswählen. Unter Verwendung der Daten von der Anordnung von bordeigenen Sensoren wie Informationen von vorbestimmten Karten kann das automatische Manövriersystem 206 Standort- und/oder Richtungskoordinaten bestimmen, die der quer liegenden Parkbucht 404 entsprechen. Das automatische Manövriersystem 206 kann einen sicheren Fahrbereich bestimmen, indem Fahrgrenzen im umgebenden Bereich identifiziert und platziert werden. Wie gezeigt, können Fahrgrenzen zum Beispiel einen Bordstein 406 und andere Fahrzeuge 408, die in benachbarten Parkbuchten parken, beinhalten.
-
Bordeigene Sensoren können ferner Informationen in Bezug auf einen aktuellen Zustand des autonomen Fahrzeugs 402 erfassen, einschließlich dessen Standort und Ausrichtung. Das automatische Manövriersystem 206 kann diese Informationen zur Verarbeitung in das Framework für das Reinforcement Learning des bordeigenen neuronalen Netzwerks eingeben. Auf Grundlage dieser Informationen kann das Framework für das Reinforcement Learning entsprechende Fahrzeugsteuerangaben oder -einstellungen an das autonome Fahrzeug 402 ausgeben, wie etwa Lenkwinkel, Beschleunigung und Bremsung.
-
In einer Ausführungsform kann das Framework für das Reinforcement Learning zum Beispiel bestimmen, dass das autonome Fahrzeug 402 innerhalb eines zweiten Zeitraums seinen Lenkwinkel um 15 Grad anpassen und um 2 mph abbremsen sollte. Diese Angaben können in das Fahrzeugsteuersystem eingegeben werden, was zu einer Maßnahme des Fahrzeugs führt. Bei Ablauf des zweiten Zeitraums kann eine neue Position des autonomen Fahrzeugs 402 bestimmt werden. Dieser Prozess kann wiederholt werden, bis die neue Position des autonomen Fahrzeugs 402 mit den Koordinaten für die quer liegende Parkbucht 404 übereinstimmt, sodass das autonome Fahrzeug 402 ordnungsgemäß innerhalb der quer liegenden Parkbucht 404 positioniert ist.
-
In Ausführungsformen, die ein Deep Q-Netzwerk während der Trainingsphase nutzen, kann das Framework für das Reinforcement Learning ein Aktornetzwerk und ein kritisches Netzwerk beinhalten. Das erste neuronale Netzwerk, oder Aktornetzwerk, kann entsprechende Fahrzeugsteuerangaben oder -einstellungen zur Umsetzung durch das Fahrzeugsteuersystem bestimmen, während ein zweites neuronales Netzwerk, oder kritisches Netzwerk, gemäß diesen Angaben Maßnahmen überwachen kann, die von dem autonomen Fahrzeug 402 ergriffen werden.
-
Das zweite neuronale Netzwerk, oder das kritische Netzwerk, kann jede Maßnahme analysieren, die von dem autonomen Fahrzeug 402 ergriffen wurde, um zu bestimmen, ob es vorteilhaft oder nachteilig war, das autonome Fahrzeug 402 genau und effizient in die quer liegende Parkbucht 404 oder an einen anderen finalen Zielort zu manövrieren. Wenn die ergriffene Maßnahme erwünscht, oder vorteilhaft, war, kann das zweite neuronale Netzwerk das erste neuronale Netzwerk durch Erzeugen eines bestimmten Signals belohnen. Wenn die ergriffene Maßnahme nicht erwünscht, oder nachteilig, war, um das autonome Fahrzeug 402 effektiv zum Zielort zu navigieren, kann das zweite neuronale Netzwerk das erste neuronale Netzwerk über ein Fehlersignal für einen zeitlichen Unterschied bestrafen. Auf diese Weise trainiert das kritische Netzwerk das Aktornetzwerk während der Trainingsphase, um vorteilhafte Maßnahmen durchzuführen und aus den Fehlern zu „lernen“.
-
In bestimmten Ausführungsformen kann ein Wiedergabepuffer frühere Fahrzeugzustände, bei jedem Zustand ergriffene Maßnahmen und die entsprechenden angewandten Belohnungen und Strafen speichern. Für das Training kann ein kleiner Satz an Daten aus dem Wiedergabepuffer entnommen und zum Trainieren von jedem neuronalen Netzwerk verwendet werden. Wenn der Wiedergabepuffer voll ist, können die alten Daten gelöscht und durch neue Daten ersetzt werden, die aus den letzten Durchführungsfällen erhalten wurden.
-
Unter Bezugnahme auf 5 kann eine andere Ausführungsform der Erfindung eine simulierte Umgebung 500 bereitstellen, die diagonale Parkbuchten 504 aufweist. In dieser Ausführungsform kann eine Aktor-kritische Formulierung, wie etwa A3C, verwendet werden. Konkret können mehrere autonome Fahrzeuge 502, 506 im Wesentlichen gleichzeitig zu einer entsprechenden diagonalen Parkbucht 504, 508 navigieren. Ihre daraus resultierenden Leistungen können von einem zentralen Masteraktor zusammengefasst und zum Trainieren ihrer entsprechenden neuronalen Netzwerke verwendet werden.
-
Wie gezeigt, kann sich beispielsweise ein erstes autonomes Fahrzeug 502 an einer bestimmten Position relativ zu einer ersten diagonalen Parkbucht 504 befinden und dazu ausgerichtet sein. Ein zweites autonomes Fahrzeug 506 kann sich an der gleichen Position relativ zu einer zweiten diagonalen Parkbucht 508 befindet und dazu ausgerichtet sein. In jedem Fall kann es sich bei dem finalen Zielort für jedes des ersten und zweiten autonomen Fahrzeugs 502, 504 um die erste und zweite diagonale Parkbucht 504 bzw. 508 handeln.
-
Ein automatisches Manövriersystem 206 von jedem autonomen Fahrzeug 502, 506 kann von einem Benutzer aktiviert werden, um jedes der autonomen Fahrzeuge 502, 506 automatisch von ihren anfänglichen Positionen zu ihren entsprechenden diagonalen Parkbuchten 504, 508 zu manövrieren. Jedes automatische Manövriersystem 206 kann unabhängig betrieben werden, um den Raum für Zustandsmaßnahmen zu überprüfen und dadurch eine gute Strategie zur Navigation zu bestimmen. Wie vorstehend kann eine Anordnung von bordeigenen Sensoren, die mit jedem Fahrzeug 502, 506 assoziiert sind, im Wesentlichen kontinuierlich Informationen in Bezug auf den aktuellen Zustand des entsprechenden autonomen Fahrzeugs 502, 506 erfassen. Diese Informationen können zur Verarbeitung an bordeigene neuronale Netzwerke, die mit jedem autonomen Fahrzeug 502, 506 assoziiert sind, kommuniziert werden.
-
Ein bestimmtes Netzwerk, das beispielsweise einem der autonomen Fahrzeuge 502 entspricht, oder ein zentraler Masteraktor, kann die neuronalen Netzwerke für beide autonomen Fahrzeuge 502, 506 auf Grundlage von Informationen, die von jedem autonomen Fahrzeug 502, 506 empfangen werden, beim Überprüfen der gleichen Umgebung 500 aktualisieren. Daraus resultierende Wichtungen oder Punktzahlen, nachdem Belohnungen und Strafen von jedem neuronalen Netzwerk angewandt wurden, können in den verschiedenen Netzwerken der autonomen Fahrzeuge 502, 506 gemeinsam genutzt werden. Das Trainieren von mehreren autonomen Fahrzeugen 502, 506 auf diese Weise kann zu einem schnelleren Lernen führen, da mehrere autonome Fahrzeuge 502, 506 die gleiche Aufgabe parallel an mehreren Instanzen eines Netzwerks ausführen.
-
Unter Bezugnahme auf 6 können erfindungsgemäß bestimmte Ausführungsformen ein Dual-Framework-System umfassen, in dem sowohl ein Deep Q-Netzwerk als auch eine A3C-Aktor-kritische Formulierung verwendet werden können, um das autonome Fahrzeug 610 zu trainieren, um einen Zielort zu erreichen.
-
Eine Ausführungsform der Erfindung kann ein autonomes Fahrzeug 610 trainieren, um verschiedene Aufgaben (z. B. Parken, Navigieren in Unfallbereichen oder Baustellen oder dergleichen) unter Verwendung des Frameworks für das Deep Q-Netzwerk und des A3C-Frameworks durchzuführen. Die Leistung von jedem Framework kann dann analysiert werden, um zu bestimmen, welches Framework in welchen Bereichen des Phasenraums die bessere Leistung erzielt.
-
Zum Beispiel kann das Framework für das Deep Q-Netzwerk in einer Ausführungsform am anfänglichen Standort des autonomen Fahrzeugs eine bessere Leistung zeigen, während das A3C-Framework bei oder nahe dem finalen Ziel eine bessere Leistung zeigen kann. Diese Informationen können in einer Lookup-Tabelle gespeichert werden, die verschiedene Standorte oder Bereiche identifiziert, wo jedes der Frameworks hinsichtlich der Leistung gegenüber dem anderen überlegen ist. Die Lookup-Tabelle kann lokal an Bord des autonomen Fahrzeugs 610 gespeichert werden. Alternativ kann die Lookup-Tabelle entfernt auf einem Server oder einer Datenbank gespeichert werden und über V2V-Kommunikation, WiFi, das Internet oder ein anderes dem Fachmann bekanntes Kommunikationsverfahren an das autonome Fahrzeug 610 kommuniziert werden. In jedem Fall kann die Aktivierung des automatischen Navigationssystems gemäß den erfindungsgemäßen Ausführungsformen außerdem in Abhängigkeit von dem Zustand des Fahrzeugs 610 und der durchzuführenden Aufgabe die Aktivierung des Frameworks mit der besseren Leistung auslösen.
-
Wie gezeigt, kann eine Ausführungsform einer simulierten Umgebung 600 gemäß der Erfindung ein autonomes Fahrzeug 610 beinhalten, das eine verfügbare parallele Parkbucht 614 an seinem Zielort aufweist. Erfindungsgemäße Ausführungsformen können auf eine Lookup-Tabelle zugreifen, um zu bestimmen, dass das Deep Q-Netzwerk an einem anfänglichen Standort des Fahrzeugs 610 gegenüber dem A3C-Framework überlegen ist, während das A3C-Framework gegenüber dem Deep Q-Netzwerk überlegen ist, bis sich das autonome Fahrzeug 610 der parallelen Parkbucht 614 nähert. Dementsprechend kann das Deep Q-Netzwerk als Reaktion darauf automatisch ausgelöst werden, dass Sensordaten angeben, dass sich das autonome Fahrzeug 610 an seiner anfänglichen Position befindet, während das A3C-Framework als Reaktion darauf automatisch ausgelöst werden kann, dass veränderte Sensordaten angeben, dass sich das autonome Fahrzeug 610 zu einer Position näher an der parallelen Parkbucht 614 bewegt hat.
-
In einer anderen Ausführungsform kann ein autonomes Fahrzeug 610 einen Zielort 612 aufweisen, der erfordert, dass das autonome Fahrzeug 610 über eine Kreuzung nach links abbiegt 606. Ein direkter Weg von dem anfänglichen Standort des autonomen Fahrzeugs 610 zum Zielort 612 kann jedoch aufgrund einer Kollision 616 zwischen einem vorausfahrenden Fahrzeug 602, das versucht hat, die gleiche Linksabbiegung durchzuführen, und einem Bus 604, der in die entgegengesetzte Richtung fuhr, blockiert sein.
-
Das Trainieren des autonomen Fahrzeugs 610, um die Kollision 616 auf dem Weg zu seinem Zielort 612 zu vermeiden, gemäß den erfindungsgemäßen Ausführungsformen kann ebenfalls ein duales Framework nutzen, um zu bestimmen, in welchen Bereichen des Phasenraums jedes eine bessere Leistung zeigt. In einigen Ausführungsformen kann eine Punktzahl für jeden Bereich des Phasenraums berechnet werden und kann mit dem entsprechenden Framework assoziiert werden. Wie vorstehend erörtert, kann eine Punktzahl gemäß den Belohnungen und Bestrafungen, die für entsprechende Maßnahmen erhalten wurden, berechnet werden. Das Framework mit der höchsten Punktzahl für einen bestimmten Bereich des Phasenraums kann als dasjenige mit der besseren Leistung für diesen Bereich identifiziert werden. Diese Informationen können dann, wie vorstehend erörtert, in einer Lookup-Tabelle protokolliert werden und das entsprechende Framework kann auf Grundlage des Bereichs, in dem sich das autonome Fahrzeug 610 befindet, ausgelöst werden.
-
Unter Bezugnahme auf 7 kann ein Prozess 700 zur automatischen Navigation unter Verwendung von Deep Reinforcement Learning gemäß den erfindungsgemäßen Ausführungsformen Detektieren 702 eines Fahrzeugzustands beinhalten. Ein Fahrzeugzustand kann zum Beispiel seinen Standort, seine Ausrichtung, seinen Lenkwinkel, seinen Steuerstatus und dergleichen beinhalten. Der Fahrzeugzustand kann durch Referenzieren von Sensordaten sowie Referenzieren von Daten von externen Quellen, wie etwa vorbestimmten Karten eines umgebenden Bereichs, bestimmt werden.
-
Das Fahrzeug kann dann mit der Navigation 704 zu einem Zielstandort beginnen. Der Zielort kann von einem Benutzer ausgewählt werden und Standortkoordinaten, die dem Zielort entsprechen, können in das automatische Manövriersystem eingegeben werden. Das automatische Manövriersystem kann diese Informationen verarbeiten, um dem Fahrzeug zu ermöglichen, nachfolgende Maßnahmen zu ergreifen, um den Zielort zu erreichen. Für jede ergriffene Maßnahme kann der Prozess 700 anfragen 706, ob die Maßnahme wünschenswert war. Sollte dies der Fall sein, kann das System ein Signal erzeugen, um das Netzwerk für die Maßnahme zu belohnen 708. Sollte dies nicht der Fall sein, kann das System ein Signal erzeugen, um das Netzwerk für die Maßnahme zu bestrafen 710.
-
In jedem Fall kann die Belohnung oder Bestrafung mit der ergriffenen Maßnahme assoziiert und in einem Wiedergabepuffer gespeichert 12 werden. Daten aus dem Wiedergabepuffer können erfasst und zum Trainieren von Netzwerken verwendet werden. In bestimmten Ausführungsformen können die Daten außerdem an einen zentralen Masteraktor, wie etwa einem Netzwerk oder einem Prozessor, das bzw. der mit einem bestimmten autonomen Fahrzeug assoziiert ist, kommuniziert 714 werden. Der zentrale Masteraktor kann die Informationen verarbeiten und diese mit Informationen zusammenfassen, die von Netzwerken erhalten wurden, die mit anderen autonomen Fahrzeug assoziiert sind, die die gleiche Aufgabe unter den gleichen Umständen durchführen. Die zusammengefassten Informationen können dann zurück zu den Netzwerken, die mit diesen autonomen Fahrzeugen assoziiert sind, gegeben 716 werden, um ein schnelleren Lernen zu erleichtern. In der vorstehenden Offenbarung wurde auf die beigefügten Zeichnungen Bezug genommen, die einen Teil hiervon bilden und in denen zur Veranschaulichung spezifische Umsetzungen gezeigt sind, in denen die Offenbarung ausgeführt sein kann. Es versteht sich, dass andere Umsetzungen verwendet werden können und strukturelle Änderungen vorgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Bezugnahmen in der Beschreibung auf „eine Ausführungsform“, „ein Ausführungsbeispiel“ usw. geben an, dass die beschriebene Ausführungsform ein(e) konkrete(s) Merkmal, Struktur oder Eigenschaft beinhalten kann, doch es muss nicht unbedingt jede Ausführungsform diese(s) bestimmte Merkmal, Struktur oder Eigenschaft beinhalten. Darüber hinaus beziehen sich derartige Formulierungen nicht unbedingt auf dieselbe Ausführungsform. Ferner sei darauf hingewiesen, dass, wenn ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben ist, es im Bereich des Fachwissens des Fachmanns liegt, ein(e) derartige(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit anderen Ausführungsformen umzusetzen, ob dies nun ausdrücklich beschrieben ist oder nicht.
-
Umsetzungen der hier offenbarten Systeme, Vorrichtungen und Verfahren können einen Spezial- oder Universalcomputer umfassen oder verwenden, der Computerhardware beinhaltet, wie zum Beispiel einen oder mehrere Prozessoren und Systemspeicher, wie sie hier erörtert sind. Umsetzungen innerhalb des Umfangs der vorliegenden Offenbarung können zudem physische und andere computerlesbare Medien zum Transportieren oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen beinhalten. Bei derartigen computerlesbaren Medien kann es sich um beliebige verfügbare Medien handeln, auf die durch ein Universal- oder Spezialcomputersystem zugegriffen werden kann. Bei computerlesbaren Medien, auf denen computerausführbare Anweisungen gespeichert werden, handelt es sich um Computerspeichermedien (-vorrichtungen). Bei computerlesbaren Medien, die computerausführbare Anweisungen transportieren, handelt es sich um Übertragungsmedien. Somit können Umsetzungen der Offenbarung beispielsweise und nicht einschränkend mindestens zwei deutlich unterschiedliche Arten von computerlesbaren Medien umfassen: Computerspeichermedien (-vorrichtungen) und Übertragungsmedien. Computerspeichermedien (-vorrichtungen) beinhalten RAM, ROM, EEPROM, CD-ROM, Festkörperlaufwerke (solid state drives - „SSDs“) (z. B. auf Grundlage von RAM), Flash-Speicher, Phasenänderungsspeicher (phase-change memory - „PCM“), andere Speicherarten, andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das dazu verwendet werden kann, gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu speichern, und auf das durch einen Universal- oder Spezialcomputer zugegriffen werden kann.
-
Eine Umsetzung der hier offenbarten Vorrichtungen, Systeme und Verfahren kann über ein Computernetzwerk kommunizieren. Ein „Netzwerk“ ist als eine oder mehrere Datenverbindungen definiert, die den Transport elektronischer Daten zwischen Computersystemen und/oder Modulen und/oder anderen elektronischen Vorrichtungen ermöglichen. Wenn Informationen über ein Netzwerk oder eine andere (entweder festverdrahtete, drahtlose oder eine Kombination aus festverdrahteter oder drahtloser) Kommunikationsverbindung an einen Computer übertragen oder diesem bereitgestellt werden, sieht der Computer die Verbindung korrekt als Übertragungsmedium an. Übertragungsmedien können ein Netzwerk und/oder Datenverbindungen beinhalten, die dazu verwendet werden können, gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu transportieren, und auf die durch einen Universal- oder Spezialcomputer zugegriffen werden kann. Kombinationen aus dem Vorstehenden sollten ebenfalls im Umfang computerlesbarer Medien enthalten sein. Computerausführbare Anweisungen umfassen beispielsweise Anweisungen und Daten, die bei Ausführung an einem Prozessor bewirken, dass ein Universalcomputer, ein Spezialcomputer oder eine Spezialverarbeitungsvorrichtung eine bestimmte Funktion oder Gruppe von Funktionen durchführt. Bei den computerausführbaren Anweisungen kann es sich beispielsweise um Binärdateien, Anweisungen in einem Zwischenformat, wie etwa Assemblersprache, oder auch um Quellcode handeln. Obwohl der Gegenstand in für Strukturmerkmale und/oder methodische Handlungen spezifischer Sprache beschrieben wurde, versteht es sich, dass der in den beigefügten Patentansprüchen definierte Gegenstand nicht unbedingt auf die vorstehend beschriebenen Merkmale oder Handlungen beschränkt ist.
-
Die beschriebenen Merkmale und Handlungen sind vielmehr als beispielhafte Umsetzungsformen der Patentansprüche offenbart.
-
Der Fachmann wird verstehen, dass die Offenbarung in Network-Computing-Umgebungen mit vielen Arten von Computersystemkonfigurationen angewendet werden kann, einschließlich eines Armaturenbrett-Fahrzeugcomputers, PCs, Desktop-Computern, Laptops, Nachrichtenprozessoren, Handheld-Vorrichtungen, Multiprozessorsystemen, Unterhaltungselektronik auf Mikroprozessorbasis oder programmierbarer Unterhaltungselektronik, Netzwerk-PCs, Minicomputern, Mainframe-Computern, Mobiltelefonen, PDAs, Tablets, Pagern, Routern, Switches, verschiedenen Speichervorrichtungen und dergleichen. Die Offenbarung kann zudem in Umgebungen mit verteilten Systemen ausgeführt werden, in denen sowohl lokale als auch entfernte Computersysteme, die durch ein Netzwerk (entweder durch festverdrahtete Datenverbindungen, drahtlose Datenverbindungen oder durch eine Kombination aus festverdrahteten und drahtlosen Datenverbindungen) verbunden sind, Aufgaben ausführen. In einer Umgebung mit verteilten Systeme können sich Programmmodule sowohl in lokalen als auch in entfernen Speichervorrichtungen befinden.
-
Ferner können die hier beschriebenen Funktionen gegebenenfalls in einem oder mehreren der Folgenden durchgeführt werden: Hardware, Software, Firmware, digitalen Komponenten oder analogen Komponenten. Eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) können zum Beispiel so programmiert sein, dass sie eines bzw. eine oder mehrere der hier beschriebenen Systeme und Prozeduren ausführen. Bestimmte Ausdrücke werden in der gesamten Beschreibung und den Patentansprüchen verwendet, um auf bestimmte Systemkomponenten Bezug zu nehmen. Der Fachmann wird verstehen, dass auf Komponenten durch unterschiedliche Bezeichnungen Bezug genommen werden kann. In dieser Schrift soll nicht zwischen Komponenten unterschieden werden, die sich dem Namen nach unterscheiden, nicht jedoch der Funktion nach.
-
Es ist anzumerken, dass die vorstehend erörterten Sensorausführungsformen Computerhardware, -software, -firmware oder eine beliebige Kombination daraus umfassen können, um mindestens einen Teil ihrer Funktionen durchzuführen. Ein Sensor kann beispielsweise einen Computercode beinhalten, der dazu konfiguriert ist, in einem oder mehreren Prozessoren ausgeführt zu werden, und kann eine Hardware-Logikschaltung/elektrische Schaltung beinhalten, die durch den Computercode gesteuert wird. Diese beispielhaften Vorrichtungen sind hier zu Veranschaulichungszwecken bereitgestellt und sollen nicht einschränkend sein. Ausführungsformen der vorliegenden Offenbarung können in weiteren Arten von Vorrichtungen umgesetzt werden, wie es dem einschlägigen Fachmann bekannt ist.
-
Mindestens einige Ausführungsformen der Offenbarung sind auf Computerprogrammprodukte gerichtet, die eine derartige Logik (z. B. in Form von Software) umfassen, die auf einem beliebigen computernutzbaren Medium gespeichert ist. Derartige Software bewirkt bei Ausführung in einer oder mehreren Datenverarbeitungsvorrichtungen, dass eine Vorrichtung wie hier beschrieben betrieben wird.
-
Wenngleich vorstehend verschiedene Ausführungsformen der vorliegenden Offenbarung beschrieben wurden, versteht es sich, dass diese lediglich als Beispiele dienen und nicht als Einschränkung. Für den einschlägigen Fachmann ist ersichtlich, dass verschiedene Änderungen hinsichtlich Form und Detaillierungsgrad daran vorgenommen werden können, ohne vom Geist und Umfang der Offenbarung abzuweichen. Somit sollten die Breite und der Umfang der vorliegenden Offenbarung durch keine der vorstehend beschriebenen Ausführungsbeispiele eingeschränkt werden, sondern lediglich gemäß den folgenden Patentansprüchen und ihren Äquivalenten definiert sein. Die vorstehende Beschreibung wurde zum Zwecke der Veranschaulichung und Beschreibung dargelegt. Sie erhebt keinerlei Anspruch auf Vollständigkeit und soll die Offenbarung nicht auf die konkrete offenbarte Form beschränken. Viele Modifikationen und Variationen sind in Anbetracht der vorstehenden Lehren möglich. Ferner ist anzumerken, dass beliebige oder alle der vorstehend genannten alternativen Umsetzungen in einer beliebigen gewünschten Kombination verwendet werden können, um zusätzliche Hybridumsetzungen der Offenbarung zu bilden.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Detektieren, durch mindestens einen Prozessor, eines Zustands eines autonomen Fahrzeugs in einer simulierten Umgebung; Navigieren, durch ein erstes neuronales Netzwerk, des autonomen Fahrzeugs von einem Anfangsstandort zu einem Zielort; Belohnen, durch ein zweites neuronales Netzwerk, des ersten neuronalen Netzwerks für eine vorteilhafte Maßnahme, die von dem autonomen Fahrzeug während einer Trainingsphase ergriffen wurde; und Bestrafen, durch das zweite neuronale Netzwerk, des ersten neuronalen Netzwerks für eine negative ergriffene Maßnahme.
-
Gemäß einer Ausführungsform befindet sich jedes des ersten neuronalen Netzwerks und des zweiten neuronalen Netzwerks während der Trainingsphase an Bord des autonomen Fahrzeugs.
-
Gemäß einer Ausführungsform ist der mindestens eine Sensor ausgewählt aus der Gruppe, bestehend aus einem Kamerasensor, einem Lidar-Sensor, einem Radar-Sensor, einem GPS-Sensor und einem Ultraschallsensor.
-
Gemäß einer Ausführungsform umfasst der Zustand mindestens eines von einem Standort und einer Ausrichtung des autonomen Fahrzeugs.
-
Gemäß einer Ausführungsform umfasst das Belohnen des ersten neuronalen Netzwerks Bereitstellen eines ersten Fehlersignals für einen zeitlichen Unterschied entsprechend der vorteilhaften Maßnahme an das erste neuronale Netzwerk.
-
Gemäß einer Ausführungsform umfasst das Bestrafen des ersten neuronalen Netzwerks Bereitstellen eines zweiten Fehlersignals für einen zeitlichen Unterschied entsprechend der nachteiligen Maßnahme an das erste neuronale Netzwerk.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch Speichern von mindestens einem eines Zustands des autonomen Fahrzeugs, einer bei dem entsprechenden Zustand ergriffenen Maßnahme und mindestens einem von einer Belohnung und einer Strafe, die der Maßnahme entspricht, in einem Wiedergabepuffer.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch Abfragen des Wiedergabepuffers, um das erste neuronale Netzwerk zu trainieren.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch iteratives Navigieren des autonomen Fahrzeugs von dem Anfangsstandort zum Zielstandort gemäß dem Training.
-
Gemäß einer Ausführungsform umfasst Navigieren Folgendes: Navigieren einer Vielzahl von autonomen Fahrzeugen von dem Anfangsstandort zum Zielstandort und Kommunizieren von Informationen von einem neuronalen Netzwerk, das jedem der autonomen Fahrzeuge entspricht, zu einem zentralen Hauptaktor.
-
Gemäß der vorliegenden Erfindung ist ein System zum Trainieren eines autonomen Fahrzeugs zum Erreichen eines Zielstandorts bereitgestellt, das ein autonomes Fahrzeugs aufweist, umfassend mindestens einen Sensor; mindestens einen Prozessor, und mindestens eine Speichervorrichtung, die an den mindestens einen Prozessor wirkgekoppelt ist und Anweisungen zur Ausführung auf dem zumindest einen Prozessor speichert, wobei die Anweisungen den mindestens einen Prozessor zu Folgendem veranlassen: Detektieren, mit dem mindestens einen Sensor, eines Zustands des autonomen Fahrzeugs in einer simulierten Umgebung; Navigieren, durch ein erstes neuronales Netzwerk, des autonomen Fahrzeugs von einem Anfangsstandort zu einem Zielort; Belohnen, über ein zweites neuronales Netzwerk, des ersten neuronalen Netzwerks für eine vorteilhafte Maßnahme, die von dem autonomen Fahrzeug während einer Trainingsphase ergriffen wurde; und Bestrafen, durch das zweite neuronale Netzwerk, des ersten neuronalen Netzwerks für eine negative Maßnahme, die von dem autonomen Fahrzeug während der Trainingsphase ergriffen wurde.
-
Gemäß einer Ausführungsform befindet sich jedes des ersten neuronalen Netzwerks und des zweiten neuronalen Netzwerks während der Trainingsphase an Bord des autonomen Fahrzeugs.
-
Gemäß einer Ausführungsform ist der mindestens eine Sensor ausgewählt aus der Gruppe, bestehend aus einem Kamerasensor, einem Lidar-Sensor, einem Radar-Sensor, einem GPS-Sensor und einem Ultraschallsensor.
-
Gemäß einer Ausführungsform umfasst der Zustand mindestens eines von einem Standort und einer Ausrichtung des autonomen Fahrzeugs.
-
Gemäß einer Ausführungsform umfasst das Belohnen des ersten neuronalen Netzwerks Bereitstellen eines ersten Fehlersignals für einen zeitlichen Unterschied entsprechend der vorteilhaften Maßnahme an das erste neuronale Netzwerk.
-
Gemäß einer Ausführungsform umfasst das Bestrafen des ersten neuronalen Netzwerks Bereitstellen eines zweiten Fehlersignals für einen zeitlichen Unterschied entsprechend der nachteiligen Maßnahme an das erste neuronale Netzwerk.
-
Gemäß einer Ausführungsform veranlasse die Anweisungen den Prozessor ferner dazu, mindestens einen von einem Zustand des autonomen Fahrzeugs, einer bei dem entsprechenden Zustand ergriffenen Maßnahme und einer von einer Belohnung und einer Strafe, die der Maßnahme entspricht, in einem Wiedergabepuffer zu speichern.
-
Gemäß einer Ausführungsform veranlassen die Anweisungen den Prozessor ferner dazu, eine Vielzahl von autonomen Fahrzeugen von dem Anfangsstandort zum Zielstandort zu navigieren und Informationen von einem neuronalen Netzwerk, das jedem der autonomen Fahrzeuge entspricht, zu einem zentralen Hauptaktor zu kommunizieren.
-
Gemäß der vorliegenden Erfindung ist ein Computerprogrammprodukt bereitgestellt, aufweisend ein computerlesbares Speichermedium, das einen darauf gespeicherten computernutzbaren Programmcode aufweist, wobei der computernutzbare Programmcode dazu konfiguriert ist, das Nachstehende durchzuführen, wenn er durch mindestens einen Prozessor ausgeführt wird: Detektieren, mit mindestens einem Sensor, eines Zustands des autonomen Fahrzeugs in einer simulierten Umgebung; Navigieren, durch ein erstes neuronales Netzwerk, des autonomen Fahrzeugs von einem Anfangsstandort zu einem Zielort; Belohnen, über ein zweites neuronales Netzwerk, des ersten neuronalen Netzwerks für eine vorteilhafte Maßnahme, die von dem autonomen Fahrzeug während einer Trainingsphase ergriffen wurde; und Bestrafen, durch das zweite neuronale Netzwerk, des ersten neuronalen Netzwerks für eine negative Maßnahme, die von dem autonomen Fahrzeug während der Trainingsphase ergriffen wurde.
-
Gemäß einer Ausführungsform ist der computernutzbare Programmecode ferner dazu konfiguriert, eine Vielzahl von autonomen Fahrzeugen von dem Anfangsstandort zum Zielstandort zu navigieren und Informationen von einem neuronalen Netzwerk, das jedem der autonomen Fahrzeuge entspricht, zu einem zentralen Hauptaktor zu kommunizieren.