-
QUERVERWEIS UND PRIORITÄTSANSPRUCH
-
Dieses Patentdokument beansprucht die Priorität der US-Patentanmeldung Nr.
17/104.994 , eingereicht am 25. November 2020, die durch Bezugnahme in ihrer Gesamtheit hierin aufgenommen wird.
-
HINTERGRUND
-
Steuerungssysteme für autonome Fahrzeuge (AV) basieren auf einem komplexen System von Sensoren, um Aktionen anderer Aktoren (bzw. Akteure) in der Umgebung zu erkennen, zu klassifizieren und vorherzusagen. Unabhängig davon, ob das AV vollständig autonom oder halbautonom ist, berücksichtigen die autonomen Funktionen des Fahrzeugs die wahrscheinlichen Trajektorien anderer Aktoren, wenn sie einen Weg bzw. einen Pfad für das Fahrzeug planen und/oder eine reaktive Maßnahme als Reaktion auf den anderen Aktor einleiten.
-
Um die Trajektorie eines anderen Aktors vorherzusagen, wählt das AV ein kinematisches Modell aus, das für den anderen Aktor geeignet ist. Kinematische Kettenbewegungsmodelle, allgemein einfach als kinematische Modelle bezeichnet, sind mathematische Modelle, die die Bewegung von Objekten unabhängig von Krafteinwirkungen beschreiben. Das AV kann ein kinematisches Modell verwenden, um die Position und Ausrichtung des Aktors im Zeitverlauf anhand verschiedener Parameter vorherzusagen.
-
Ein AV speichert verschiedene kinematische Modelle in seinem integrierten oder aus der Ferne zugänglichen Speicher, und jedes Modell wird einer oder mehreren verschiedenen Aktorklassen zugeordnet. Beispielsweise unterscheidet sich ein kinematisches Modell für einen Fußgänger typischerweise von dem Modell für einen Radfahrer, das sich typischerweise wiederum von dem Modell für eine Limousine unterscheidet, das sich ebenfalls typischerweise von dem Modell für einen Sattelzug unterscheidet, usw. Wenn das AV einen Aktor wahrnimmt, wird er ihn klassifizieren. Anschließend wird anhand der Klassifizierung das geeignete kinematische Modell ausgewählt, das das AV zur Vorhersage der Bewegung des Aktors anwendet. Es kann jedoch vorkommen, dass ein bestimmter Aktor in zwei oder mehr Klassifizierungen fällt. Beispielsweise könnte eine Person, die Fahrrad fährt, als Fußgänger oder als Radfahrer klassifiziert werden; eine Person auf Rollschuhen kann als Fußgänger oder als etwas anderes, wie als ein Rollerfahrer, ein Skateboardfahrer oder als Radfahrer eingestuft werden. Wenn das AV nicht das geeignete kinematische Modell für einen bestimmten Aktor auswählt, ist die Fähigkeit des AV, die Bewegung dieses Aktors vorherzusagen, weniger zuverlässig.
-
In diesem Dokument werden Methoden und Systeme beschrieben, die auf die Lösung der oben beschriebenen Probleme und/oder anderer Probleme abzielen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Offenbart werden Methoden zur Bestimmung, welches kinematische Modell ein autonomes Fahrzeug (AV) verwenden sollte, um die Bewegung eines erkannten sich bewegenden Aktors vorherzusagen. Ein oder mehrere Sensoren eines Wahrnehmungssystems der AV-Sensoren sammeln Informationen über eine Umgebung, in der sich das Fahrzeug befindet. Das AV hat außerdem Zugriff auf einen Datenspeicher, der eine Bibliothek kinematischer Modelle enthält. Ein Prozessor des AV verarbeitet die von den Sensoren erfassten Sensordaten, um in den Daten Informationen zu identifizieren, die darauf hinweisen, dass sich ein Aktor in der Nähe des Fahrzeugs befindet. Das System weist dem Aktor eine oder mehrere wahrscheinliche Klassen zu und verarbeitet die Informationen, um einen kinematischen Zustand des Aktors zu bestimmen. Das System greift dann auf die Bibliothek kinematischer Modelle zu und fragt die Bibliothek ab, um ein oder mehrere kinematische Modelle zurückzugeben, die jeder der wahrscheinlichen Klassen des Aktors zugeordnet sind. Wenn die Bibliothek als Reaktion auf die Abfrage zwei oder mehr kinematische Modelle zurückgibt, wendet das System jedes der zurückgegebenen kinematischen Modelle an, um die Trajektorien des Aktors vorherzusagen. Das System wertet dann jede der prognostizierten Trajektorien des Aktors anhand des kinematischen Zustands des Aktors, um eines der zurückgegebenen kinematischen Modelle auszuwählen. Das System verwendet dann das ausgewählte kinematische Modell, um einen Pfad für den Aktor vorherzusagen, und das AV verwendet den vorhergesagten Pfad für den Aktor, um die Bewegung des Fahrzeugs zu planen.
-
Nach einer gewissen Zeit kann das System von den Sensoren des Wahrnehmungssystems aktualisierte Informationen über den Aktor empfangen. Das System kann dann diese aktualisierten Informationen verarbeiten, um einen aktualisierten kinematischen Zustand des Aktors zu bestimmen. Wenn der aktualisierte kinematische Zustand des Aktors nicht dem ausgewählten kinematischen Modell entspricht, kann das System ein anderes kinematisches Modell auswählen, das mindestens einer der möglichen Klassen für den Aktor entspricht, und es kann das andere kinematische Modell verwenden, um einen aktualisierten Pfad für den Aktor vorherzusagen.
-
In einigen Ausführungsformen kann das System beim Anwenden jedes der zurückgegebenen kinematischen Modelle auf die Vorhersage von Trajektorien des Aktors hin ein hybrides kinematisches Modell erstellen, das einen Pfadfolger eines ersten der zurückgegebenen kinematischen Modelle und einen Kinematikbewerter eines anderen der zurückgegebenen kinematischen Modelle enthält. Wenn dann eines der zurückgegebenen kinematischen Modelle ausgewählt wird, kann das System das hybride kinematische Modell auswählen. Das System kann dann das hybride kinematische Modell in Verbindung mit mindestens einer der wahrscheinlichen Klassen des Aktors in der Bibliothek speichern.
-
Als Alternative zur Erstellung eines hybriden kinematischen Modells kann das System die prognostizierten Trajektorien des Aktors verwenden, um ein neues kinematisches Modell zu erstellen. Das System kann dies tun, indem es auf einen Datensatz beobachteter Trajektorien zugreift; eine Architektur für maschinelles Lernen zum Aufbau des neuen kinematischen Modells verwendet; eine Verlustfunktion basierend auf dem Vergleich der prognostizierten Trajektorien aus den zurückgegebenen kinematischen Modellen mit den beobachteten Trajektorien im Datensatz erstellt und das neue kinematische Modell anhand der Verlustfunktion trainiert. Dann kann das System bei der Auswahl eines der zurückgegebenen kinematischen Modelle das neue kinematische Modell auswählen.
-
In einigen Ausführungsformen kann das System beim Auswerten jeder der prognostizierten Trajektorien des Aktors anhand des kinematischen Zustands des Aktors, um eines der zurückgegebenen kinematischen Modelle auszuwählen, einen Grad der Abweichung jeder prognostizierten Trajektorie von einem zugehörigen Referenzpfad ermitteln und eine prognostizierte Trajektorie mit der geringsten Abweichung vom zugehörigen Referenzpfad identifizieren und das zurückgegebene kinematische Modell auswählen, das die prognostizierte Trajektorie mit der geringsten Abweichung vom zugehörigen Referenzpfad erzeugt hat. Optional kann das System vor der Bestimmung der Divergenzgrade jeder prognostizierten Trajektorie den zugehörigen Referenzpfad für jede prognostizierte Trajektorie als Referenzpfad bestimmen, der einer Aktorenklasse entspricht, mit der das kinematische Modell der prognostizierten Trajektorie verknüpft ist.
-
In einigen Fällen gibt die Bibliothek als Antwort auf die Abfrage möglicherweise nur ein einziges kinematisches Modell zurück. In diesem Fall wendet das System das einzelne kinematische Modell an, um die Trajektorie des Aktors für diesen Fall vorherzusagen.
-
In einigen Ausführungsformen kann das System beim Zuweisen der einen oder mehrerer wahrscheinlichen Klassen zum Aktor die erkannten Merkmale verwenden, um einen Wahrscheinlichkeitsgrad für jede der wahrscheinlichen Klassen zu bestimmen. Wenn dies der Fall ist, kann das System bei der Abfrage der Bibliothek nach einem Rückgabewert für eines oder mehrere kinematischen Modelle die Bibliothek dahingehend abfragen, alle kinematischem Modelle mit einem Kriterium zurückzugeben, das angibt, dass das Modell für diejenigen Aktoren verwendet werden kann, bei denen eine Klassen-Wahrscheinlichkeitskorrelation mit einem Wahrscheinlichkeitsgrad oder -niveau des Aktors übereinstimmt.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
- 1 ist ein Blockdiagramm, das beispielhafte Subsysteme eines autonomen Fahrzeugs veranschaulicht.
- 2 veranschaulicht einen beispielhaften Prozess zur Auswahl eines kinematischen Modells für einen erkannten Aktor und zur Verwendung des ausgewählten Modells bei der Bewegungsplanung eines autonomen Fahrzeugs.
- Die 3A und 3B stellen zusätzliche Details zu beispielhaften Modellauswahlprozessen bereit, die in 2 auf einer höheren Ebene dargestellt sind.
- 4 veranschaulicht einen beispielhaften Prozess, durch den ein Fahrzeug bestimmen kann, wann das kinematische Modell geändert werden muss, welches es zum Verfolgen eines Aktors verwendet.
- 5 veranschaulicht beispielhafte Hardwarekomponenten eines autonomen Fahrzeugs.
-
DETAILLIERTE BESCHREIBUNG
-
Die in diesem Dokument verwendeten Singularformen „ein / eine“ und „der / die / das“ sollen jeweils die Pluralformen einschließen, sofern der Kontext nicht eindeutig etwas anderes erfordert. Sofern nicht anders definiert, haben alle hier verwendeten technischen und wissenschaftlichen Begriffe die gleiche Bedeutung, wie sie von einem Fachmann allgemein verstanden wird. Wie in diesem Dokument verwendet, soll der Begriff „umfassend“ im Sinne von „einschließend“, aber nicht beschränkt hierauf, verstanden werden. Definitionen für zusätzliche Begriffe, die für dieses Dokument relevant sind, finden sich am Ende dieser detaillierten Beschreibung.
-
1 gibt einen allgemeinen Überblick über Subsysteme autonomer Fahrzeuge (AV), die für die folgende Diskussion relevant sind. Spezifische Komponenten innerhalb solcher Systeme werden im Rahmen der Diskussion von 5 weiter unten in diesem Dokument beschrieben. Ein AV umfasst ein Wahrnehmungssystem 101, das Sensoren umfasst, die Informationen über sich bewegende Aktoren und andere Objekte erfassen, die sich in der unmittelbaren Umgebung des Fahrzeugs befinden. Beispiele für Sensoren sind Kameras, LiDAR-Sensoren und Radarsensoren. Die von solchen Sensoren erfassten Daten (z.B. digitale Bilder, LiDAR-Punktwolkendaten oder Radardaten) werden als Wahrnehmungsdaten bezeichnet. Das Wahrnehmungssystem kann einen oder mehrere Prozessoren und einen computerlesbaren Speicher mit Programmieranweisungen und/oder trainierten Künstliche-Intelligenz-Modellen aufweisen, die die Wahrnehmungsdaten verarbeiten, um Objekte zu identifizieren und jedem in einer Szene erkannten Objekt Kategorie-Bezeichnungen und eindeutige Kennungen zuzuweisen. Kategorie-Bezeichnungen können Kategorien wie Fahrzeug, Zweiradfahrer, Fußgänger, Gebäude und dergleichen umfassen. Methoden zum Identifizieren von Objekten und zum Zuweisen kategorialer Bezeichnungen zu Objekten sind in der Technik wohlbekannt, und es kann jeder geeignete Klassifizierungsprozess verwendet werden, beispielsweise solche, die Bounding-Box-Vorhersagen für erkannte Objekte in einer Szene erstellen und Faltungs-Neuronale Netzwerke oder andere Computer-Vision-Modelle verwenden. Einige dieser Prozesse werden in Yurtsever et al, „A Survey of Autonomous Driving: Common Practices and Emerging Technologies“ (arXiv, 2. April 2020) beschrieben.
-
Das Wahrnehmungssystem 101 des Fahrzeugs liefert Wahrnehmungsdaten an das Prognosesystem 102 des Fahrzeugs. Das Prognosesystem (das auch als Vorhersagesystem bezeichnet werden kann) umfasst Prozessoren und computerlesbare Programmieranweisungen, die so konfiguriert sind, dass sie vom Wahrnehmungssystem empfangene Daten verarbeiten und Aktionen anderer Aktoren vorhersagen, die das Wahrnehmungssystem erkennt. Das System kann eine beliebige Anzahl kinematischer Modelle enthalten, um diese Vorhersagen für andere Aktoren zu treffen, wie weiter unten beschrieben wird.
-
Das Wahrnehmungssystem des Fahrzeugs sowie das Prognosesystem des Fahrzeugs liefern Daten und Informationen an das Bewegungsplanungssystem 103 und das Steuerungssystem 104 des Fahrzeugs, sodass die empfangenden Systeme diese Daten bewerten und eine beliebige Anzahl reaktiver Schritte auf diese Daten einleiten können. Das Bewegungsplanungssystem 103 und das Steuerungssystem 104 umfassen und/oder teilen einen oder mehrere Prozessoren und computerlesbare Programmieranweisungen, die dazu konfiguriert sind, von den anderen Systemen empfangene Daten zu verarbeiten, eine Trajektorie für das Fahrzeug zu bestimmen und Befehle an die Fahrzeughardware auszugeben, um das das Fahrzeug entsprechend der ermittelten Trajektorie zu bewegen. Beispiele für Aktionen, die solche Befehle auslösen können, sind die Aktivierung des Bremssteuerungssystems des Fahrzeugs, die Veranlassung des Beschleunigungssteuerungs-Subsystems des Fahrzeugs, um die Geschwindigkeit des Fahrzeugs zu erhöhen, oder das Lenksteuerungssubsystem des Fahrzeugs zu veranlassen, das Fahrzeug in eine Kurve zu steuern. Verschiedene Bewegungsplanungstechniken sind wohlbekannt, beispielsweise aus Gonzalez et al., „A Review of Motion Planning Techniques for Automated Vehicles", veröffentlicht in IEEE Transactions on Intelligent Transportation Systems, Bd. 17, Nr. 4 (April 2016).
-
Das Prognosesystem 102 des Fahrzeugs (und optional jedes andere Fahrzeugsystem) hat Zugriff auf einen Datenspeicher mit einer Bibliothek von Bewegungs- oder Mover-Modellen 105. Die Bibliothek der Mover-Modelle 105 kann in einem fahrzeugeigenen Speicher, in einem Speicher eines entfernten elektronischen Geräts, mit dem das Fahrzeug kommunikativ verbunden ist, oder einer Kombination davon untergebracht sein. Die Bibliothek der Bewegungsmodelle speichert eine beliebige Anzahl kinematischer Modelle, von denen jedes einer oder mehreren Klassen (d.h. Aktorentypen) wie Fußgänger, Radfahrer, Automobil, Sattelzugmaschine usw. zugeordnet ist.
-
Jedes kinematische Modell umfasst einen Pfadfolger und einen kinematischen Auswerter. Der Pfadfolger ist ein Algorithmus (implementiert in Softwarecode), der den aktuellen oder vorhergesagten Zustand eines Aktors und einen idealisierten Referenzpfad verwendet, um Zielbefehle für den Aktor zu generieren. Im Zusammenhang mit der Vorhersage der Fahrzeugbewegung können Zielbefehle beispielsweise den Lenkwinkel und die Zielbeschleunigung (die einer Gas-/Bremseingabe nahekommt) umfassen. Diese Befehle werden dann an den kinematischen Auswerter weitergeleitet, bei dem es sich um ein Gleichungssystem handelt, das den aktuellen oder zukünftigen vorhergesagten Zustand des Aktors nimmt, die Zielbefehle anwendet und dann einen neuen vorhergesagten zukünftigen Zustand generiert.
-
Jedes kinematische Modell erhält beobachtete und abgeleitete Daten über den Aktor sowie einen vorgeschlagenen Referenzpfad, der anhand von A-Priori-Daten generiert werden kann. Jedes Modell kann auch einen zukünftigen vorhergesagten Zustand für den Aktor ausgeben.
-
Beispielsweise kann das System ein First-Mover-Modell speichern und verwenden, das nachfolgend als „Modell A“ bezeichnet werden soll. Modell A kann den bekannten reinen Verfolgungsalgorithmus als Pfadfolger und das bekannte Fahrradkinematikmodell als Kinematikbewerter verwenden. Das sind jeweils beliebte und weit verbreitete Algorithmen, sowohl einzeln als auch in Kombination, zur Planung oder Vorhersage von Fahrzeugbewegungen. Das System kann Modell A verwenden, um die Bewegung der meisten Fahrzeuge und der meisten Radfahrer vorherzusagen, und daher kann das System Modell A diesen Aktorenklassen zuordnen.
-
Ein weiteres Beispiel („Modell B“) ist ein kinematisches Modell, das für sehr große Fahrzeuge, wie Busse oder Sattelschlepper, gilt. Modell B verwendet einen anderen Pfadverfolgungsalgorithmus als Modell A und insbesondere einen Algorithmus, der die Lenktechniken dieser großen Fahrzeuge genauer darstellt. (Ein Beispiel für einen solchen Algorithmus ist in Ljungqvist et al., „A Path Planning and Path-Following Control Framework For a General 2-Trailer with a Car-Like Tractor“, veröffentlicht unter arXiv: 1094.01651 v2 am 25. Juni 2019, offenbart). Modell B verwendet denselben kinematischen Evaluator wie Modell A. Für einige Aktoren, bei denen Unsicherheit besteht, welches Modell am genauesten ist, können zwei Sätze von Prognosen erstellt werden, einen mit Modell A und einen mit Modell B. Wenn diese Modelle dann anhand der beobachteten Daten bewertet werden, und dabei festgestellt wird, dass Modell B eine bessere Leistung erbringt, kann die Strategie möglicherweise geändert werden und zu einem späteren Zeitpunkt nur noch Modell B angewendet werden.
-
Ein drittes kinematisches Beispielmodell („Modell C“) ist für Fußgänger konzipiert. Der Pfadfolger für Modell C berücksichtigt die Tatsache, dass sich dieser Aktor nahezu augenblicklich in jede Richtung bewegen kann (es gibt beispielsweise keinen maximalen Lenkwinkel für einen Fußgänger). Auch für den Kinematikauswerter gelten andere und weniger ausgeprägte Einschränkungen als für Modell A.
-
Wie im Zusammenhang mit 2 beschrieben, kann das Vorhersagesystem des Fahrzeugs bei der Klassifizierung eines Aktors zwei oder mehr mögliche Klassen identifizieren. Wenn das Fahrzeug beispielsweise eine Person auf einem Roller erkennt, ist möglicherweise unklar, ob es sich dabei um einen Zweiradfahrer oder einen Fußgänger handelt, und somit ist möglicherweise nicht klar, welches Modell besser geeignet ist. Bisherige Lösungen würden in diesem Fall eine Auswahl erzwingen, die am Ende möglicherweise keine verlässliche Prognose liefert. Der hier in diesem Dokument beschriebene Prozess ermöglicht es dem Vorhersagesystem des Fahrzeugs, Prognosen unter Verwendung von Modell A und Modell B vorzuschlagen, oder von einem Modell zum anderen zu wechseln.
-
Die Methoden dieses Dokuments sind nicht auf die oben beschriebenen beispielhaften kinematischen Modelle beschränkt. Es können beliebig viele andere kinematische Modelle verwendet werden, und wie unten erläutert, kann das System selbst neue, hybride kinematische Modelle entwickeln, die Elemente aus den in seiner Bibliothek gespeicherten kinematischen Modellen integrieren.
-
2 ist ein Flussdiagramm, das ein Verfahren zur Vorhersage der Bewegung eines Aktors, der sich in der Umgebung eines Fahrzeugs bewegen kann, unter Verwendung von Systemelementen wie den oben beschriebenen veranschaulicht. Bei 201 empfängt ein Wahrnehmungssystem eines Fahrzeugs Sensordaten über einen oder mehrere Sensoren des Fahrzeugs. Wie oben erwähnt, können die Sensordaten von einer Kamera aufgenommene Bilder, LiDAR-Daten oder andere Daten umfassen, die Informationen über Aktoren und andere Objekte umfassen, die sich in der Nähe des Fahrzeugs (d.h. innerhalb der Reichweite der Sensoren) befinden. Bei 202 verarbeitet das System die Sensordaten, um einen Aktor zu erkennen, der sich in der Nähe des Fahrzeugs befindet. Das System weist dem Aktor außerdem eine oder mehrere wahrscheinliche Klassen zu (203). Das System kann dies tun, indem es ein oder mehrere Merkmale des Aktors erkennt und, wenn es dem Aktor die eine oder mehrere wahrscheinliche Klassen zuordnet, die erkannten Merkmale verwendet, um ein Wahrscheinlichkeitsniveau für jede der wahrscheinlichen Klassen zu bestimmen. Beispielhafte Methoden zur Zuweisung wahrscheinlicher Klassen umfassen die oben im Kontext von 1 beschriebenen objektkategorialen Kennzeichnungs- bzw. Etikettierungsmethoden. Darüber hinaus ermittelt das Wahrnehmungssystem einen kinematischen Zustand des Aktors (204) und liefert daraus Eigenschaften wie Position, Geschwindigkeit und Beschleunigung des Aktors. Das System kann dies tun, indem es die Koordinaten für den Aktor in den erfassten Daten berechnet und Änderungen dieser Koordinaten über ein Zeitfenster unter Verwendung bekannter Gleichungen wie Geschwindigkeit = Verschiebung / Zeit, Beschleunigung = Änderung der Geschwindigkeit / zeitliche Änderung bestimmt.
-
Sobald die Aktorendetails bewertet sind, greift ein Prognosesystem des Fahrzeugs wie oben erwähnt auf eine Bibliothek kinematischer Modelle zu, in der jedes der kinematischen Modelle einer oder mehreren Klassen wie oben beschrieben zugeordnet ist. Bei 205 kann das System auf die Bibliothek zugreifen und diese abfragen, um ein oder mehrere kinematische Modelle zurückzugeben, die jeder der wahrscheinlichen Klassen des Aktors zugeordnet sind. Bei 206 gibt die Bibliothek dann ein oder mehrere kinematische Modelle zur Verwendung bei der Vorhersage der Bewegung des Aktors zurück. Wenn das Wahrnehmungssystem beispielsweise festgestellt hat, dass der Aktor einer von mehreren Klassen angehören kann, von denen jede mit einem Wahrscheinlichkeitsgrad verbunden ist, kann das Prognosesystem bei der Abfrage der Bibliothek nach einem oder mehreren kinematischen Modellen, diese zusammen mit einem Kriterium anfordern, das angibt, dass das Modell für jeden Aktor mit einer Klassen-Wahrscheinlichkeitskorrelation verwendet werden kann, die einem der Wahrscheinlichkeitsgrade für den Aktor entspricht. Optional berücksichtigt das Prognosesystem möglicherweise nur die wahrscheinlichen Klassen mit mindestens einem Wahrscheinlichkeitsschwellenwert (z.B. mindestens 30 % oder mindestens 40 % oder einem anderen Schwellenwert), um die Berücksichtigung von Modellen zu vermeiden, die für die Wahrscheinlichkeit wahrscheinlich nicht relevant sind.
-
Wenn die Bibliothek als Reaktion auf den Abfrageschritt (207: NEIN) nur ein einziges kinematisches Modell zurückgibt, kann das System bei 220 dieses einzige kinematische Modell anwenden, um die Trajektorie des Aktors vorherzusagen.
-
Wenn andererseits die Bibliothek als Reaktion auf den Abfrageschritt (207: JA) zwei oder mehr kinematische Modelle zurückgibt, kann das System bei 208 mindestens eines der zurückgegebenen Modelle auswählen, um bei 209 die Trajektorie des Aktors vorherzusagen. Bei 210 kann das System dann die Trajektorie des Aktors verwenden, um die Bewegung des Fahrzeugs mithilfe von Methoden, wie den oben im Zusammenhang mit 1 beschriebenen, und einer Hardware, wie die der unten im Zusammenhang mit 4 beschriebenen, zu planen und umzusetzen.
-
Das System kann das Modell (bei 208) mithilfe verschiedener Prozesse auswählen. Ein einfacher Prozess besteht darin, das Modell auszuwählen, das der Klasse zugeordnet ist, zu der das Wahrnehmungssystem dem Aktor die höchste Wahrscheinlichkeit zugewiesen hat. Alternativ oder zusätzlich kann das System Modelle herausfiltern, die mit relativ niedrigen Klassenwahrscheinlichkeiten verbunden sind (d.h. weniger als einen Schwellenwert oder mindestens eine oder mehrere Standardabweichungen von den verbleibenden möglichen Modellen).
-
Wenn nach der Filterung mehrere Kandidatenmodelle übrigbleiben, kann das System zur Auswahl des Modells bei 208 einen Prozess wie den in 3A dargestellten durchführen. Bei dieser Option zur Modellauswahl kann das System bei 301 jedes der zurückgegebenen Modelle anwenden, um mehrere Kandidatentrajektorien für den Aktor zu bestimmen (d.h., jedes Modell kann eine oder mehrere Trajektorien bereitstellen). Darüber hinaus kann das System jedes gegebene Modell mehrmals mit unterschiedlichen Parametern anwenden, um mehrere Prognosen bereitzustellen, und die Parameter und Modelle zu ermitteln, die am genauesten sind. (Beispielsweise können die Achsen eines großen Lastkraftwagens je nach Marke und Modell an verschiedenen Positionen unter dem Lastkraftwagen angebracht sein. Um mehrere LKW-Achskonfigurationen zu berücksichtigen, verwendet das System ein bestimmtes Modell, um verschiedene Trajektorien für jede der mehreren möglichen Achspositionen vorherzusagen).
-
Das System kann dann jede der in Frage kommenden Trajektorien des Aktors anhand des kinematischen Zustands des Aktors bewerten, um eines der zurückgegebenen kinematischen Modelle auszuwählen, indem es: (a) bei 302 einen Grad der Abweichung jeder prognostizierten Trajektorie von einem zugehörigen Referenzpfad bestimmt; (b) bei 303 die prognostizierte Trajektorie mit der geringsten Abweichung von ihrem zugehörigen Referenzpfad identifiziert; und (c) bei 303 das kinematischen Modell als Rückgabe auswählt, das die prognostizierte Trajektorie mit der geringsten Abweichung von ihrem zugehörigen Referenzpfad erzeugt hat. Der Referenzpfad stellt eine Eingangsgröße für das Modell dar und kann durch Untersuchung (a) der Geometrie der Fahrspur, (b) des aktuellen Zustands des Aktors (z.B., wo sich der Aktor auf der Spur befindet) und (c) der Positionen anderer Aktoren oder ermittelter Hindernisse auf der Straße, bestimmt werden. Verschiedene Arten von Aktoren können unterschiedliche Referenzpfade aufweisen, und das System kann einen Referenzpfad bestimmen, der einer Aktorenklasse entspricht, mit der das kinematische Modell der prognostizierten Trajektorie verknüpft ist.
-
Eine weitere Methode zur Auswahl eines Modells aus mehreren Kandidatenmodellen ist in 3B dargestellt. Bei dieser Option zur Modellauswahl kann das System ein hybrides kinematisches Modell erstellen, das Folendes umfasst: (a) einen Pfadfolger eines ersten der zurückgegebenen kinematischen Modelle (311) und (b) einen Kinematikbewerter eines anderen, davon zurückgegebenen kinematischen Modelle (312). Um die Modelle zu bestimmen, aus denen das System diese Elemente auswählt, kann das System unter Verwendung mehrerer Modelle Trajektorienvorhersagen treffen und dann die Aktoren beobachten, für die die Vorhersagen getroffen wurden. Die Modelle, deren Vorhersagen am ehesten oder am häufigsten mit den tatsächlichen Handlungen des Aktors übereinstimmten, könnten diejenigen sein, aus denen diese Elemente ausgewählt werden. Dieser Prozess kann im Laufe der Zeit verfeinert werden, da das System wiederholt Vorhersagen treffen und diese mit tatsächlichen Bewertungen vergleichen kann. Dadurch wird das Hybridmodell aktualisiert, um Elemente derjenigen Modelle einzubeziehen, die über die Zeit am beständigsten und am genauesten sind.
-
Als Alternative zu einem oder beiden der Schritte 311 und 312 in 3B kann das System ein Modell für maschinelles Lernen verwenden, um einen völlig neuen Pfadfolger, einen neuen Kinematikbewerter oder ein völlig neues Kinematikmodell zu entwickeln. Um ein neues Modell zu entwickeln, kann das System (i) einen großen Datensatz beobachteter Trajektorien anderer Aktoren sammeln (falls nicht bereits verfügbar) und darauf zugreifen; (ii) eine Architektur für maschinelles Lernen verwenden, um ein Modell zu erstellen, das die beobachteten Daten und den Referenzpfad als Eingabe verwendet und einen neuen vorhergesagten Zustand als Ausgabe bereitstellt; (iii) eine Verlustfunktion oder Bewertungskriterien erstellen, die auf dem Vergleich vorhergesagter Trajektorien mit beobachteten Trajektorien basiert, um zu bestimmen, welche der Trajektorien vorzuziehen sind; und (iv) das Modell mit dieser Verlustfunktion trainieren. Die Architektur für maschinelles Lernen in Schritt (ii) oben kann beispielsweise und ohne Einschränkung ein Long Short Term Memory (LSTM) oder eine andere Architektur eines künstlichen rekurrenten neuronalen Netzwerks (RNN) sein. Die in Schritt (iii) verwendete Metrik kann eine Berechnung des endgültigen Verschiebungsfehlers (d.h., des Abstands zwischen dem Ende der vorhergesagten Trajektorie und der beobachteten Trajektorie zu einem bestimmten Zeitpunkt in der Zukunft) oder eine andere Metrik sein. Das resultierende Modell kann dann Eingaben akzeptieren und Ausgaben generieren, ähnlich einem Hybridmodell.
-
Bei 313 kann das System dann dieses hybride (oder einfach neue) Modell in Verbindung mit mindestens einer der wahrscheinlichen Klassen des Aktors in der Bibliothek speichern. Das System kann das Hybridmodell auch als ausgewähltes Modell für die Bewegungsplanung in Schritt 209 von 2 verwenden.
-
Sobald das System ein Modell ausgewählt und das Modell zur Planung der Fahrzeugbewegung verwendet hat, kann das System weiterhin Daten über den Aktor beobachten, um zu bestimmen, ob das ausgewählte Modell weiterhin verwendet, ein neues Modell ausgewählt oder ein neues Hybridmodell generiert werden soll. Dieser Vorgang ist in 4 dargestellt: Während sich das AV bei 401 auf seinem geplanten Pfad bewegt, ermittelt das Wahrnehmungssystem des Fahrzeugs bei 402 weiterhin aktualisierte kinematische Zustände des Aktors. Bei 403 kann das System bestimmen, ob der aktualisierte kinematische Zustand des Aktors weiterhin dem ausgewählten Modell entspricht. Wenn das System beispielsweise ein Traktor-Anhänger-Modell für den Aktor verwendet hat, sich der Aktor jedoch auf eine Art und Weise bewegt hat, die für einen Traktoranhänger nicht möglich (oder typisch) ist (z.B. scharf um eine Ecke biegt), kann das System feststellen, dass das Sattelzugmodell für diesen Aktor nicht mehr geeignet ist. Wenn der aktualisierte kinematische Zustand des Aktors mit dem Modell übereinstimmt (403: JA), dann kann das System bei 404 einfach weiterhin dieses Modell bei der Pfadplanung verwenden, wie oben beschrieben. Wenn jedoch der aktualisierte kinematische Zustand des Aktors nicht mit dem Modell übereinstimmt (403: NEIN), kann das System bei 405 auf die Bibliothek des kinematischen Modells zugreifen und diese abfragen, um bei 406 ein oder mehrere neue Modelle zurückzugeben. Das System kann dann ein neues Modell auswählen (406), das ausgewählte Modell verwenden, um die Trajektorie des Aktors vorherzusagen (407), und die Trajektorie verwenden, um die Bewegung des Fahrzeugs zu planen und umzusetzen (408), wobei alle Methoden wie oben im Zusammenhang mit 2 beschrieben werden.
-
5 veranschaulicht eine beispielhafte Systemarchitektur 599 für ein Fahrzeug, beispielsweise ein AV. Das Fahrzeug umfasst eine Brennkraftmaschine oder einen Motor 502 und verschiedene Sensoren zum Messen verschiedener Parameter des Fahrzeuqs und/oder seine Umebun. Zu den Betriebsparametersensoren, die beiden Fahrzeugtypen gemeinsam sind, gehören beispielsweise: ein Positionssensor 536, wie ein Beschleunigungsmesser, ein Gyroskop und/oder eine Trägheitsmesseinheit; ein Geschwindigkeitssensor 538; und einen Kilometerzählersensor 540. Das Fahrzeug kann auch über eine Uhr bzw. einen Zeitgeber 542 verfügen, die das System verwendet, um die Fahrzeugzeit während des Betriebs zu bestimmen. Der Zeitgeber 542 kann im Bordrechner des Fahrzeugs codiert sein, es kann sich um ein separates Gerät handeln oder es können mehrere Zeitgeber verfügbar sein.
-
Das Fahrzeug wird außerdem über verschiedene Sensoren verfügen, die Informationen über die Umgebung sammeln, in der sich das Fahrzeug befindet. Zu diesen Sensoren können beispielsweise gehören: ein Standortsensor 560, beispielsweise ein GPS-Gerät (Global Positioning System); Objekterkennungssensoren, wie eine oder mehrere Kameras 562; ein LiDAR-Sensorsystem 564; und/oder ein Radar- und/oder ein Sonarsystem 566. Zu den Sensoren können auch Umgebungssensoren 568 gehören, etwa ein Niederschlagssensor und/oder ein Umgebungstemperatursensor. Die Objekterkennungssensoren können es dem Fahrzeug ermöglichen, sich bewegende Aktoren und stationäre Objekte zu erkennen, die sich in einer bestimmten Entfernungsreichweite des Fahrzeugs 599 in jeder Richtung befinden, während die Umgebungssensoren Daten über Umgebungsbedingungen innerhalb des Fahrbereichs des Fahrzeugs sammeln. Das System umfasst außerdem eine oder mehrere Kameras 562 zum Erfassen von Bildern der Umgebung. Einige oder alle dieser Sensoren können zusammen mit einem oder mehreren Prozessoren des fahrzeugeigenen Computergeräts 520 und Programmieranweisungen, die es dem Computersystem ermöglichen, Objekte in den Wahrnehmungsdaten zu klassifizieren, wenn sie von den Prozessoren ausgeführt werden, als das Wahrnehmungssystem des Fahrzeugs angesehen werden.
-
Während einer Fahrt des Fahrzeugs werden Informationen von den Sensoren an ein Bordcomputergerät 520 übermittelt. Das Bordcomputergerät 520 analysiert die von den Sensoren des Wahrnehmungssystems erfassten Daten und führt als Bewegungsplanungssystem Anweisungen aus, um eine Trajektorie für das Fahrzeug zu bestimmen. Die Trajektorie umfasst Posen- und Zeitparameter, und das Bordcomputergerät des Fahrzeuqs steuert den Betrieb verschiedener Fahrzeugkomponenten, um das Fahrzeug entlang der Trajektorie zu bewegen. Beispielsweise kann das Bordcomputergerät 520 das Bremsen über eine Bremssteuerung 522 steuern; die Fahrtrichtung über einen Lenkregler 124; die Geschwindigkeit und Beschleunigung über einen Drosselklappenregler 526 (in einem kraftstoffbetriebenen Fahrzeug) oder einen Motorgeschwindigkeitsregler 528 (z.B. einen Stromniveauregler in einem Elektrofahrzeug); weiterhin können eine Differenzialgetriebesteuerung 530 (in Fahrzeugen mit Getrieben); und/oder andere Steuerungen vorgesehen sein.
-
Geografische Standortinformationen können vom Standortsensor 560 an das Bordcomputergerät 520 übermittelt werden, das dann auf eine Karte der Umgebung zugreifen kann, die den Standortinformationen entspricht, um bekannte feste Merkmale der Umgebung, wie Straßen, Gebäude, Haltestellen, Schilder und/oder Stop-/Go-Signale zu bestimmen. Von den Kameras 562 erfasste Bilder und/oder von Sensoren wie einem LiDAR-System 164 erfasste Objekterkennungsinformationen werden von diesen Sensoren an das Bordcomputergerät 520 übermittelt. Die Objekterkennungsinformationen und/oder erfassten Bilder können vom Bordcomputergerät 520 verarbeitet werden, um Objekte in der Nähe des Fahrzeugs 599 zu erkennen. Zusätzlich oder alternativ kann das AV beliebige Daten zur Verarbeitung an einen externen Server 570 übertragen. In den in diesem Dokument offenbarten Ausführungsformen kann jede bekannte oder bekannt werdende Technik zur Durchführung einer Objekterkennung auf der Grundlage von Sensordaten und/oder erfassten Bildern verwendet werden.
-
In den verschiedenen in diesem Dokument besprochenen Ausführungsformen kann in der Beschreibung angegeben werden, dass das Fahrzeug oder das Bordcomputergerät des Fahrzeugs Programmieranweisungen implementieren kann, die das Bordcomputergerät des Fahrzeugs veranlassen, Entscheidungen zu treffen und die Entscheidungen zur Steuerung von Vorgängen eines oder mehrerer Fahrzeugsysteme zu verwenden. Die Ausführungsformen sind jedoch nicht auf diese Anordnung beschränkt, da in verschiedenen Ausführungsformen die Analyse, Entscheidungsfindung und/oder die Betriebssteuerung ganz oder teilweise von anderen elektronischen Computergeräten übernommen werden können, die in einer Kommunikationsverbindun mit dem Bordcomputer des Fahrzeuqs stehen. Beispiele für solche anderen Computergeräte umfassen ein elektronisches Gerät (z.B. ein Smartphone), das einer Person zugeordnet ist, die im Fahrzeug mitfährt, sowie ein Remote-Server, der über ein drahtloses Kommunikationsnetzwerk in elektronischer Kommunikation mit dem Fahrzeug steht. Der Prozessor eines solchen Geräts kann die unten beschriebenen Vorgänge ausführen.
-
Die oben offenbarten Merkmale und Funktionen sowie Alternativen können in vielen anderen unterschiedlichen Systemen oder Anwendungen kombiniert werden. Verschiedene Komponenten können in Hardware oder Software oder eingebetteter Software implementiert sein. Der Fachmann kann verschiedene derzeit unvorhergesehene oder unerwartete Alternativen, Modifikationen, Variationen oder Verbesserungen vornehmen, die jeweils auch von den offenbarten Ausführungsformen umfasst sein sollen.
-
Zu den für die oben bereitgestellte Offenlegung relevanten Begriffen gehören:
-
Der Begriff „Fahrzeug“ bezieht sich auf jedes bewegliche Fortbewegungsmittel, das einen oder mehrere menschliche Insassen und/oder Fracht befördern kann und durch irgendeine Form von Energie angetrieben wird. Der Begriff „Fahrzeug“ umfasst unter anderem Autos, Lastwagen, Transporter, Züge, autonome Fahrzeuge, Flugzeuge, Flugdrohnen und dergleichen. Ein „autonomes Fahrzeug“ ist ein Fahrzeug mit einem Prozessor, Programmieranweisungen und Antriebsstrangkomponenten, die vom Prozessor gesteuert werden können, ohne dass ein menschlicher Bediener erforderlich ist. Ein autonomes Fahrzeug kann vollständig autonom sein, da es für die meisten oder alle Fahrbedingungen und - funktionen keinen menschlichen Bediener benötigt. Alternativ kann es halbautonom sein, da unter bestimmten Bedingungen oder für bestimmte Vorgänge ein menschlicher Bediener erforderlich sein kann oder ein menschlicher Bediener das autonome System des Fahrzeugs außer Kraft setzen und die Kontrolle über das Fahrzeug übernehmen kann. Zu den autonomen Fahrzeugen zählen auch Fahrzeuge, bei denen autonome Systeme den menschlichen Betrieb des Fahrzeugs unterstützen, wie zum Beispiel Fahrzeuge mit fahrerunterstützter Lenkung, Geschwindigkeitsregelung, Bremsen, Parken und anderen fortschrittlichen Fahrerassistenzsystemen.
-
Der Begriff „Ego-Fahrzeug“ bezieht sich auf ein bestimmtes Fahrzeug, das sich in einer Umgebung bewegt. In diesem Dokument bezieht sich der Begriff „Ego-Fahrzeug“ im Allgemeinen auf ein AV, das sich in einer Umgebung bewegt, mit einem autonomen Fahrzeugsteuerungssystem (AVS), das so programmiert ist, dass es Entscheidungen darüber trifft, wohin sich das AV bewegen wird und wo nicht.
-
In diesem Dokument werden die Begriffe „Straße“, „Fahrspur“, „Strecke“ und „Kreuzung“ beispielhaft anhand von Fahrzeugen veranschaulicht, die auf einer oder mehreren Straßen fahren. Die Ausführungsformen sollen jedoch auch Fahrspuren und Kreuzungen an anderen Orten umfassen, beispielsweise auf Parkplätzen. Darüber hinaus kann bei autonomen Fahrzeugen, die für den Einsatz in Innenräumen konzipiert sind (z.B. automatisierte Kommissioniergeräte in Lagerhäusern), eine Straße ein Korridor des Lagers und eine Fahrspur ein Teil des Korridors sein. Wenn es sich bei dem autonomen Fahrzeug um eine Drohne oder ein anderes Luftfahrzeug handelt, kann der Begriff „Straße“ oder „Strecke“ einen Luftweg darstellen und eine Fahrspur kann einen Teil des Luftwegs darstellen. Wenn es sich bei dem autonomen Fahrzeug um ein Wasserfahrzeug handelt, kann der Begriff „Straße“ oder „Strecke“ eine Wasserstraße darstellen und eine Fahrspur kann ein Teil der Wasserstraße sein.
-
Ein „elektronisches Gerät“ oder ein „Computergerät“ bezieht sich auf ein Gerät, das einen Prozessor und einen Speicher enthält. Jedes Gerät verfügt möglicherweise über einen eigenen Prozessor und/oder Speicher, oder der Prozessor und/oder Speicher kann mit anderen Geräten gemeinsam genutzt werden, wie in einer virtuellen Maschine oder einer Containeranordnung. Der Speicher enthält oder empfängt Programmieranweisungen, die bei Ausführung durch den Prozessor dazu führen, dass das elektronische Gerät einen oder mehrere Vorgänge gemäß den Programmieranweisungen ausführt.
-
Die Begriffe „Speicher“, „Speichergerät“, „Datenspeicher“, „Datenspeichereinrichtung“ und dergleichen beziehen sich jeweils auf ein nichtflüchtiges Gerät, auf dem sich computerlesbare Daten (z.B. ein Datensatz), Programmieranweisungen oder beides befinden. Sofern nicht ausdrücklich anders angegeben, beziehen sich die Begriffe „Speicher“, „Speichergerät“, „Datenspeicher“, „Datenspeichereinrichtung“ und dergleichen auf Folgendes: Einzelgeräteausführungen, Ausführungsformen, in denen mehrere Speichergeräte zusammen oder gemeinsam einen Satz von Daten oder Anweisungen speichern, sowie einzelne Sektoren innerhalb solcher Geräte.
-
Die Begriffe „Prozessor“ und „Verarbeitungsgerät“ beziehen sich auf eine Hardwarekomponente eines elektronischen Geräts, die zur Ausführung von Programmieranweisungen konfiguriert ist. Sofern nicht ausdrücklich anders angegeben, soll der Singular-Begriff „Prozessor“ oder „Verarbeitungsgerät“ sowohl Ausführungsformen mit einem einzelnen Verarbeitungsgerät als auch Ausführungsformen umfassen, bei denen mehrere Verarbeitungsgeräte gemeinsam oder gemeinsam einen Prozess ausführen.
-
Eine „Architektur für maschinelles Lernen“, ein „Modell für maschinelles Lernen“ oder ein „Modell“ bezieht sich auf eine Reihe algorithmischer Routinen und Parameter, die auf einem computerlesbaren Medium gespeichert sind, und die Ausgabe(n) eines Prozesses in der realen Welt vorhersagen können (z.B. Vorhersage einer Objektbahn, einer Diagnose oder Behandlung eines Patienten, einer geeigneten Empfehlung basierend auf einer Benutzersuchanfrage, usw.), basierend auf einer Reihe von Eingabemerkmalen, ohne explizit programmiert zu werden. Eine Struktur der Softwareroutinen (z.B. Anzahl der Unterroutinen und Beziehung zwischen ihnen) und/oder die Werte der Parameter können in einem Trainingsprozess bestimmt werden, der tatsächliche Ergebnisse des realen Prozesses verwenden kann, der modelliert wird. Es wird davon ausgegangen, dass solche Systeme oder Modelle notwendigerweise in der Computertechnologie verwurzelt sind und tatsächlich ohne Computertechnologie nicht implementiert werden können oder überhaupt existieren können. Während maschinelle Lernsysteme verschiedene Arten statistischer Analysen nutzen, unterscheiden sich maschinelle Lernsvsteme von statistischen Analysen dadurch dass sie ohne explizite Programmierung lernen können und auf Computertechnologie basieren. Wenn in diesem Dokument relative Ordnungsbegriffe wie „erster“ und „zweiter“ zur Modifizierung eines Substantivs verwendet werden, dient diese Verwendung lediglich dazu, ein Element von einem anderen zu unterscheiden, und ist nicht dazu gedacht, eine sequentielle Reihenfolge zu implizieren, sofern nicht ausdrücklich angegeben.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
-
Zitierte Nicht-Patentliteratur
-
- Gonzalez et al., „A Review of Motion Planning Techniques for Automated Vehicles“, veröffentlicht in IEEE Transactions on Intelligent Transportation Systems, Bd. 17, Nr. 4 [0016]