DE102021109466A1 - Trajektorieerzeugung unter verwendung eines strassennetzmodells - Google Patents

Trajektorieerzeugung unter verwendung eines strassennetzmodells Download PDF

Info

Publication number
DE102021109466A1
DE102021109466A1 DE102021109466.6A DE102021109466A DE102021109466A1 DE 102021109466 A1 DE102021109466 A1 DE 102021109466A1 DE 102021109466 A DE102021109466 A DE 102021109466A DE 102021109466 A1 DE102021109466 A1 DE 102021109466A1
Authority
DE
Germany
Prior art keywords
data
trajectory
location
agent
template
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
DE102021109466.6A
Other languages
English (en)
Inventor
Eric Wolff
Robert Beaudoin
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.)
Motional AD LLC
Original Assignee
Motional AD 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 Motional AD LLC filed Critical Motional AD LLC
Publication of DE102021109466A1 publication Critical patent/DE102021109466A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • B60W60/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/056Detecting movement of traffic to be counted or controlled with provision for distinguishing direction of travel
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/166Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30256Lane; Road marking

Landscapes

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

Abstract

Es sind Ausführungsformen zur Trajektorieerzeugung unter Verwendung eines Straßennetzmodells eingeschlossen. In einer Ausführungsform beinhaltet ein Verfahren: Erhalten, unter Verwendung mindestens eines Prozessors eines Fahrzeugs, eines Standort des Fahrzeugs; Erhalten, unter Verwendung des mindestens einen Prozessors, von Sensordaten, die an dem Standort gesammelt werden; Erhalten, unter Verwendung des mindestens einen Prozessors, von Kartendaten für den Standort; Erzeugen, unter Verwendung des einen oder der mehreren Prozessoren, mindestens einer möglichen Trajektorie für mindestens ein Objekt an dem Standort, wobei die mögliche Trajektorie gemäß den Kartendaten beschränkt ist; und Vorhersagen, unter Verwendung eines maschinellen Lernmodells, einer Bewertung für die mindestens eine Trajektorie.

Description

  • GEBIET DER ERFINDUNG
  • Die folgende Beschreibung betrifft allgemein das Trainieren maschineller Lernmodelle zur Bewegungsvorhersage.
  • HINTERGRUND
  • Für sichere und zuverlässige autonome Fahrzeuge ist die Vorhersage von Trajektorien umliegender Agenten (z. B. Fahrzeugen, Fußgängern, Fahrradfahrern) in einem Verkehrsszenario kritisch. Die meisten Ansätze sind auf Daten angewiesen, die von einer am autonomen Fahrzeug geführten Sensorsuite (z. B. Kameras, Radar, LiDAR usw.) gesammelt werden, und manche Ansätze kombinieren die Sensordaten mit Straßenkartendaten, um die Trajektorien der umliegenden Agenten vorherzusagen. In vielen Fällen werden Sensordaten durch maschinelle Lernverfahren von Computervision verarbeitet, wodurch als Zwischenergebnisse (vor den finalen Trajektorievorhersagen) entweder ein Merkmalsvektor, der die gesamte beobachtete Szene codiert, oder eine Merkmalskarte oder beides erzeugt werden.
  • Manche Ansätze versuchen, eine beschränkte Anzahl von Absichten für Agenten (außer dem AV) in der Szene zu modellieren, und konditionieren ihre Trajektorievorhersagen an diesen Absichten. Andere Ansätze fokussieren auf das Modellieren der Interaktionen zwischen Agenten und wie diese Interaktionen sich auf zukünftige Trajektorien auswirken. Noch andere Ansätze übersetzen Kartendaten in einen topologischen Graphen und codieren ihn zusammen mit Trajektorieverläufen in Merkmalsvektoren, die mit einem Graphen-Neuronalnetzwerk verarbeitet werden, das die Trajektorievorhersagen erzeugt.
  • Die oben beschriebenen Ansätze verwenden Straßenkartendaten implizit durch das Bereitstellen der Straßenkartendaten als eine Eingabe in ein neuronales Netzwerk, das im Gegenzug Trajektorievorhersagen ausgibt. Die derartige Verwendung von Straßenkartendaten kann zu Agententrajektorien führen, die von den Straßenkartendaten auferlegte Beschränkungen nicht erfüllen und/oder nicht alle möglichen Verhalten oder Absichten jedes Agenten, dessen Trajektorie vorhergesagt wird, beinhalten.
  • KURZFASSUNG
  • Es sind Techniken zur Trajektorieerzeugung unter Verwendung eines Straßennetzmodells bereitgestellt.
  • In einer Ausführungsform umfasst ein Verfahren: Erhalten, unter Verwendung mindestens eines Prozessors, von Szenendaten, wobei die Szenendaten einen aktuellen Standort eines Fahrzeugs, an dem Standort aufgenommene Sensordaten und Straßenkartendaten für den Standort beinhalten; Erzeugen, unter Verwendung des mindestens einen Prozessors, mindestens einer möglichen Trajektorievorlage für mindestens einen Agenten an dem Standort basierend auf den Szenendaten, wobei die mindestens eine mögliche Trajektorievorlage gemäß den Straßenkartendaten beschränkt ist; und Vorhersagen, unter Verwendung des mindestens einen Prozessors, einer Bewertung für die mindestens eine mögliche Trajektorievorlage unter Verwendung eines maschinellen Lernmodells.
  • In einer Ausführungsform umfasst das Verfahren ferner Beschränken der Trajektorievorlage auf eine spezielle Fahrspur oder einen speziellen Verbinder in den Straßenkartendaten.
  • In einer Ausführungsform umfasst das Vorhersagen, unter Verwendung eines maschinellen Lernmodells, einer Bewertung für die mindestens eine mögliche Trajektorievorlage ferner: Erzeugen einer Bildeinbettung der Sensordaten und der Straßenkartendaten; Verarbeiten, unter Verwendung eines faltenden neuronalen Netzwerks, der Bildeinbettung, um eine Merkmalskarte und einen globalen Merkmalsvektor bereitzustellen; Erzeugen, unter Verwendung des mindestens einen Prozessors, eines lokalen Merkmalsvektors durch Kombinieren der Merkmalskarte mit der mindestens einen Trajektorievorlage unter Verwendung eines Spatial-Attention-Mechanismus (spatial attention - räumliche Aufmerksamkeit); Erzeugen, unter Verwendung des mindestens einen Prozessors, von Eingabedaten durch Kombinieren der Vorlagentrajektoriepositionskoordinaten, des lokalen Merkmalsvektors, des globalen Merkmalsvektors und eines Agentenzustandsvektors; Eingeben, in das maschinelle Lernmodell, der Eingabedaten; und Vorhersagen, unter Verwendung des maschinellen Lernmodells, der Bewertung für die mindestens eine mögliche Trajektorievorlage.
  • In einer Ausführungsform ist die Merkmalskarte ein Bild mit einem Merkmalsvektor pro Pixel, der räumliche Variation in den Sensordaten codiert.
  • In einer Ausführungsform fasst der globale Merkmalsvektor die Sensordaten für den Standort zusammen.
  • In einer Ausführungsform umfasst das Verfahren ferner: Bereitstellen der Eingabedaten zu einem Verfeinerungsmodell, das Anpassungen an der mindestens einen Trajektorievorlage ausgibt.
  • In einer Ausführungsform beinhalten die Anpassungen Erhöhen oder Verringern einer Geschwindigkeit eines oder mehrerer Agenten an dem Standort.
  • In einer Ausführungsform beinhalten die Anpassungen laterales Verlagern eines oder mehrerer Agenten von einer Mittellinie einer Straße an dem Standort.
  • In einer Ausführungsform beinhalten die Sensordaten ein Kamerabild und/oder eine Punktwolke von einem LiDAR-Sensor (LiDAR: Light Detection and Ranging - Lichtdetektion und -entfernungsmessung), die an dem Standort aufgenommen werden.
  • In einer Ausführungsform beinhalten die Sensordaten Daten, die durch ein Wahrnehmungsmodul des Fahrzeugs ausgegeben werden.
  • In einer Ausführungsform beinhaltet der mindestens eine Agent mindestens einen Fußgänger, und die Straßenkartendaten beinhalten Fußweg- oder Fußgängerüberwegdaten.
  • In einer Ausführungsform gibt es zwei oder mehr Agenten, und Trajektorien werden parallel basierend auf gemeinsam genutzten Daten erzeugt.
  • In einer Ausführungsform beinhaltet die mindestens eine Trajektorievorlage das gesamte mögliche beabsichtigte Verhalten des mindestens einen Agenten basierend auf den Straßenkartendaten.
  • In einer Ausführungsform umfasst das Erzeugen, unter Verwendung des mindestens einen Prozessors, der mindestens einen Trajektorievorlage für den mindestens einen Agenten ferner: Durchsuchen der Straßenkartendaten nach Fahrspuren und Verbindern eines Straßennetzes, die innerhalb eines festen Radius des Standorts liegen; Diskretisieren jeder Fahrspur oder jedes Verbinders, die bei der Suche gefunden werden, unter Verwendung eines Standardabstands; und für jede Fahrspur und jeden Verbinder, Zeichnen eines Pfades für den mindestens einen Agenten, der von einer Startstellung des mindestens einen Agenten beginnt, in die Fahrspur oder den Verbinder übergeht und dann der Fahrspur oder dem Verbinder folgt.
  • In einer Ausführungsform wird die mindestens eine Trajektorievorlage unter Verwendung von Dubins-Kurven gezeichnet.
  • In einer Ausführungsform umfasst ein System: mindestens einen Prozessor; Speicher, der Anweisungen speichert, die bei Ausführung durch den mindestens einen Prozessor bewirken, dass der mindestens eine Prozessor ein beliebiges der oben beschriebenen Verfahren durchführt.
  • In einer Ausführungsform weist ein nichttransientes computerlesbares Speicherungsmedium darauf gespeicherte Anweisung auf, die bei Ausführung durch mindestens einen Prozessor bewirken, dass der mindestens eine Prozessor beliebige der zuvor beschriebenen Verfahren durchführt.
  • Eine oder mehrere der offenbarten Ausführungsformen liefern einen oder mehrere der folgenden Vorteile. Trajektorievorlagen für jeden Agenten in einer Szene (durch den Standort eines AV und seiner Sensordaten bestimmt) werden unter Verwendung von Straßenkartendaten erzeugt. Die Trajektorievorlagen werden beispielsweise zum Trainieren eines Deep-Learning-Modells zur Bewegungsvorhersage verwendet. Die Straßenkartendaten gewährleisten, dass jede Trajektorievorlage für jeden Agenten in der Szene in allen akzeptablen Fahrspuren endet, einschließlich unter anderem: Trajektorien für Links-/Rechtsabbiegungen, Kehrtwendungen und Spurwechsel usw. Außerdem werden die Straßenkartendaten und physische Beschränkungen der Agenten (z. B. Wenderadius, Geschwindigkeit, Beschleunigung) verwendet, um zu gewährleisten, dass alle erzeugten Trajektorievorlagen dynamisch realisierbar sind (d. h. die Trajektorien erfüllen Beschränkungen, die von den Straßenkartendaten auferlegt werden). Die Verwendung von Straßenkartendaten gewährleistet auch, dass die Trajektorievorlagen jedes mögliche beabsichtigte Verhalten des Agenten basierend auf der Straßenkartengeometrie beinhalten. Wenn sich beispielsweise einer „T“-Kreuzung vom Stamm des „T“ genähert wird, Erzeugen einer Linksabbiegung, einer Rechtsabbiegung und, abhängig von der Geschwindigkeit des Fahrzeugs, einer Kehrtwendung. Falls die Straße aber am Ende des „T“ eine Einbahnstraße ist, Erzeugen von nur der geeigneten Abbiegung. Wenn sich zwischen Kreuzungen auf einer dreispurigen Einbahnstraße befindlich, Erzeugen von drei Trajektorien: zwei Spurwechsel und eine, die in der Fahrspur bleibt.
  • Einige Vorteile gegenüber bestehenden Verfahren liegen darin, dass die Straßenkartendaten Prior-Informationen über das wahrscheinliche Verhalten anderer Agenten in einer Szene bereitstellen (z. B. tendieren Fahrzeuge dazu, auf der Straße zu bleiben und gemäß Spurlagen und -richtungen zu fahren). Diese Priors können genauere prädiktive Modelle (z. B. genauere Bewegungsvorhersagemodelle) ermöglichen. Außerdem kann eine höhere Genauigkeit mit einfacheren Deep-Learning-Modellen (z. B. einfacheren und somit schnelleren neuronalen Netzwerken) erreicht werden.
  • Andere Vorteile gegenüber anderen bestehenden Ansätzen bestehen darin, dass die Verwendung von Straßenkartendaten die Interpretierbarkeit und Kontrolle über die Deep-Learning-Modelle verbessert. Deep-Learning-Modelle (z. B. tiefe neuronale Netzwerke) sind in der Praxis opake (wenn nicht schwarze) Kästen, die Trajektorien als tiefe Netzwerkausgaben erzeugen, die in der Praxis schwierig zu verstehen sind oder grobe Eigenschaften der vorhergesagten Pfade steuern. Durch das Verwenden von Straßenkartendaten bei der Trajektorieerzeugung und Trainieren des Deep-Learning-Modells an den vorhergesagten Trajektorien, können die vom Deep-Learning-Modell ausgegebenen Vorhersagen besser interpretiert werden, d. h. zurück an spezielle Straßenkartenbeschränkungen und Trajektoriearten gebunden werden, was eine verbesserte Feinabstimmung der Deep-Learning-Modelle gestattet.
  • Noch andere Vorteile liegen in der verbesserten Effizienz. Wenn beispielsweise eine Vorhersage für mehrere mögliche Trajektorievorlagen für einen speziellen Agenten oder mehrere Agenten in derselben Szene vorgenommen wird, können Szenendaten (z. B. aktueller Standort des AV, AV-Sensordaten) einmal verarbeitet und wiederverwendet werden, was zu einem Modell führt, das schneller als Modelle arbeitet, die erfordern, dass Szenendaten für jede Agententrajektorie erneut erzeugt werden. Außerdem verhindert die explizite Erzeugung von Trajektorievorlagen die Möglichkeit des Moduskollapses.
  • Beispielsweise werden Trajektorievorhersagemodelle häufig in jene, die „unimodal“ sind, was bedeutet, dass sie eine einzelne wahrscheinlichste Trajektorie oder „Modus“ vorhersagen, und jene, die „multimodal“ sind, die mehrere wahrscheinliche Trajektorien oder „Modi“ zusammen mit jeweiligen geschätzten Wahrscheinlichkeiten vorhersagen, unterteilt. Manchmal werden jedoch vermeintlich multimodale Modelle eine Ausgabe aufweisen, in der die meisten oder alle der Modi fast identisch zueinander sind, was die Vorhersage im Endeffekt unimodal macht. Dies wird Moduskollaps genannt. Mit der Ausnahme von sehr einfachen Situationen (z. B. ein Auto bewegt sich entlang einer einspurigen Einbahnstraße weit entfernt von einer Kreuzung), gewährleisten die offenbarten Ausführungsformen, dass mehrere ausgeprägte Trajektorievorschläge erzeugt werden, was Moduskollaps ausschließt.
  • Diese und andere Aspekte, Merkmale und Implementierungen können als Verfahren, Einrichtungen, Systeme, Komponenten, Programmprodukte, Mittel oder Schritte zum Durchführen einer Funktion oder auf andere Weisen ausgedrückt werden. Diese und andere Aspekte, Merkmale und Implementierungen werden aus den folgenden Beschreibungen, einschließlich den Ansprüchen, ersichtlich werden.
  • Figurenliste
    • 1 zeigt ein Beispiel eines autonomen Fahrzeugs (AV) mit autonomer Fähigkeit gemäß einer oder mehreren Ausführungsformen.
    • 2 veranschaulicht eine beispielhafte „Cloud“-Rechenumgebung gemäß einer oder mehreren Ausführungsformen.
    • 3 veranschaulicht ein Computersystem gemäß einer oder mehreren Ausführungsformen.
    • 4 zeigt eine beispielhafte Architektur für ein AV gemäß einer oder mehreren Ausführungsformen.
    • 5A-5C veranschaulichen beispielhafte Trajektorievorlagen für ein Fahrzeug für verschiedene beispielhafte Verkehrsszenarien gemäß einer oder mehreren Ausführungsformen.
    • 6 ist ein Blockdiagramm eines Trajektorievorlagenerzeugungssystems zum Erzeugen von Trajektorievorlagen für einen oder mehrere Agenten in einer Szene gemäß einer oder mehreren Ausführungsformen.
    • 7 ist ein Flussdiagramm eines Prozesses zum Erzeugen von Trajektorievorlagen zum Trainieren eines Deep-Learning-Modells gemäß einer oder mehreren Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung sind für Erläuterungszwecke zahlreiche spezifische Einzelheiten dargelegt, um ein vollständiges Verständnis der vorliegenden Erfindung bereitzustellen. Es wird jedoch ersichtlich werden, dass die vorliegende Erfindung ohne diese spezifischen Einzelheiten umgesetzt werden kann. In anderen Fällen sind wohlbekannte Strukturen und Vorrichtungen in Blockdiagrammform gezeigt, um eine unnötige Verundeutlichung der vorliegenden Erfindung zu vermeiden.
  • In den Zeichnungen sind zur Vereinfachung der Beschreibung spezifische Anordnungen oder Reihenfolgen schematischer Elemente, wie etwa jener, die Vorrichtungen, Module, Anweisungsblöcke und Datenelemente repräsentieren, gezeigt. Fachleute sollten jedoch verstehen, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht andeuten soll, dass eine spezielle Verarbeitungsreihenfolge oder -sequenz oder eine Trennung von Prozessen notwendig ist. Ferner soll der Einschluss eines schematischen Elements in einer Zeichnung nicht andeuten, dass ein solches Element in allen Ausführungsformen notwendig ist oder die durch ein solches Element repräsentierten Merkmale in manchen Ausführungsformen möglicherweise nicht in anderen Elementen enthalten sind oder möglicherweise nicht mit diesen kombiniert werden.
  • In den Zeichnungen, in denen verbindende Elemente, wie etwa durchgezogene oder gestrichelte Linien oder Pfeile, zum Veranschaulichen einer Verbindung, einer Beziehung oder einer Assoziation zwischen oder unter zwei oder mehr anderen schematischen Elementen verwendet werden, soll das Nichtvorhandensein irgendwelcher solcher verbindender Elemente ferner nicht andeuten, dass keine Verbindung, Beziehung oder Assoziation vorhanden sein kann. Mit anderen Worten sind manche Verbindungen, Beziehungen oder Assoziationen zwischen Elementen nicht in den Zeichnungen gezeigt, sodass die Offenbarung nicht verundeutlicht wird. Zusätzlich wird zur Vereinfachung der Veranschaulichung ein einzelnes verbindendes Element verwendet, um mehrere Verbindungen, Beziehungen oder Assoziationen zwischen Elementen zu repräsentieren. Wenn ein verbindendes Element beispielsweise eine Kommunikation von Signalen, Daten oder Anweisungen repräsentiert, sollten Fachleute verstehen, dass ein solches Element einen oder mehrere Signalpfade (z. B. einen Bus), wie möglicherweise benötigt, repräsentiert, um die Kommunikation zu bewirken.
  • Nun wird ein ausführlicher Bezug auf Ausführungsformen genommen, deren Beispiele in den begleitenden Zeichnungen veranschaulicht sind. In der folgenden ausführlichen Beschreibung sind zahlreiche spezifische Einzelheiten dargelegt, um ein vollständiges Verständnis der verschiedenen beschriebenen Ausführungsformen bereitzustellen. Einem Durchschnittsfachmann wird jedoch ersichtlich werden, dass die verschiedenen beschriebenen Ausführungsformen ohne diese spezifischen Einzelheiten umgesetzt werden können. In anderen Fällen wurden wohlbekannte Verfahren, Prozeduren, Komponenten, Schaltungen und Netzwerke nicht ausführlich beschrieben, sodass Aspekte der Ausführungsformen nicht unnötig verundeutlicht werden.
  • Nachfolgend sind mehrere Merkmale beschrieben, die jeweils unabhängig voneinander oder mit einer beliebigen Kombination anderer Merkmale verwendet werden können. Ein beliebiges individuelles Merkmal spricht jedoch möglicherweise keines der oben besprochenen Probleme an oder könnte nur eines der oben besprochenen Probleme ansprechen. Manche der oben besprochenen Probleme könnten möglicherweise nicht vollständig durch irgendwelche der hierin beschriebenen Merkmale angesprochen werden. Obwohl Überschriften bereitgestellt sind, können Informationen bezüglich einer speziellen Überschrift, die aber nicht in dem Abschnitt mit dieser Überschrift aufgefunden werden, auch andernorts in dieser Beschreibung aufgefunden werden. Ausführungsformen sind hierin gemäß der folgenden Gliederung beschrieben:
    1. 1. Allgemeiner Überblick
    2. 2. Systemüberblick
    3. 3. Architektur eines autonomen Fahrzeugs
    4. 4. Trajektorieerzeugung unter Verwendung eines Straßennetzmodells
  • Allgemeiner Überblick
  • Es sind Techniken zum Verbessern von Vorhersagen von Trajektorien von Agenten (z. B. Fahrzeugen, Fußgängern, Fahrradfahrern) in der Nähe eines AV bereitgestellt. Straßenkartendaten werden in ein Trajektorievorlagenerzeugungssystem eingegeben, das zum Erzeugen von Trajektorievorlagen oder „Hypothesen“ für ein spezielles Verkehrsszenario verwendet wird. Das Trajektorieerzeugungssystem berücksichtigt die Fahrspurgeometrie in den Straßenkartendaten und zutreffende geometrische und physische Beschränkungen an dem Verhalten von Fahrzeugen und anderen Agenten, um einen Satz von Trajektorievorlagen für das Verkehrsszenario zu erzeugen.
  • Der Satz von Trajektorievorlagen ist in dem Sinne realisierbar, dass sie Beschränkungen erfüllen, die durch die Straßenkartendaten auferlegt werden, und in dem Sinne vollständig, dass sie alle möglichen Verhalten oder Absichten jedes Agenten, dessen Trajektorie vorhergesagt wird, beinhalten. In einem beispielhaften Verkehrsszenario wird beispielsweise ein Fahrzeug auf einer zweispurigen Nicht-Einbahnstraße, das sich einer Einbahn-Querstraße nähert, zwei wahrscheinliche Trajektorien aufweisen: eine, die auf derselben Straße weiterfährt, und eine, die in die Querstraße einbiegt. In einem anderen beispielhaften Verkehrsszenario wird ein Fahrzeug auf einer zweispurigen Einbahnstraße zwischen Kreuzungen zwei wahrscheinliche Trajektorien aufweisen: eine, die in der aktuellen Fahrspur bleibt, und eine, die die Spuren wechselt.
  • In einer Ausführungsform wird der Satz von Trajektorievorlagen zum Trainieren und Evaluieren eines Deep-Learning-Modells zur Bewegungsvorhersage verwendet. Das trainierte und evaluierte Deep-Learning-Modell kann dann durch das in 4 gezeigte Planungsmodul verwendet werden, um Routen für detektierte Agenten in verschiedenen Verkehrsszenarien zu erzeugen, wobei jede Route eine Bewertung (z. B. eine Wahrscheinlichkeit) aufweist, die das Planungsmodul 404 verwenden kann, um eine Route für das AV beispielsweise zum Vermeiden einer Kollision mit einem Objekt zu erzeugen und auszuwählen.
  • Systemüberblick
  • 1 zeigt ein Beispiel für ein autonomes Fahrzeug 100 mit autonomer Fähigkeit.
  • Wie hierin verwendet, bezieht sich der Begriff „autonome Fähigkeit“ auf eine Funktion, ein Merkmal oder eine Einrichtung, die/das ermöglicht, dass ein Fahrzeug teilweise oder vollständig ohne einen menschlichen Eingriff in Echtzeit betrieben wird, einschließlich unter anderem vollautonome Fahrzeuge, hochautonome Fahrzeuge und bedingt autonome Fahrzeuge.
  • Wie hierin verwendet, ist ein autonomes Fahrzeug (AV) ein Fahrzeug, das autonome Fähigkeit besitzt.
  • Wie hierin verwendet, beinhaltet „Fahrzeug“ Mittel für den Transport von Gütern oder Menschen. Beispielsweise Autos, Busse, Züge, Flugzeuge, Drohnen, Lastkraftwagen, Boote, Schiffe, Unterwasserfahrzeuge, Luftfahrzeuge, Motorräder, Fahrräder usw. Ein fahrerloses Auto ist ein Beispiel eines Fahrzeugs.
  • Wie hierin verwendet, bezieht sich „Trajektorie“ auf einen Pfad oder eine Route zum Betreiben eines AV von einem ersten raumzeitlichen Ort zu einem zweiten raumzeitlichen Ort. In einer Ausführungsform wird der erste raumzeitliche Ort als Anfangs- oder Startort bezeichnet und wird der zweite raumzeitliche Ort als Bestimmungsort, endgültiger Ort, Ziel, Zielposition oder Zielort bezeichnet. In manchen Beispielen besteht eine Trajektorie aus einem oder mehreren Segmenten (z. B. Straßenabschnitten), und jedes Segment besteht aus einem oder mehreren Blöcken (z. B. Teilen einer Fahrspur oder Kreuzung). In einer Ausführungsform entsprechen die raumzeitlichen Orte Orten der realen Welt. Beispielsweise sind die raumzeitlichen Orte Abhol- oder Abladeorte zum Abholen oder Abladen von Personen oder Gütern.
  • Wie hierin verwendet, beinhaltet „Sensor(en)“ eine oder mehrere Hardwarekomponenten, die Informationen über die Umgebung im Umfeld des Sensors detektieren. Manche der Hardwarekomponenten können Erfassungskomponenten (z. B. Bildsensoren, biometrische Sensoren), Übertragungs- und/oder Empfangskomponenten (z. B. Laser- oder Hochfrequenzwellen-Sender und -Empfänger), elektronische Komponenten wie etwa Analog-Digital-Wandler, eine Datenspeicherungsvorrichtung (wie etwa einen RAM und/oder eine nichtflüchtige Speicherung), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten wie etwa eine ASIC (anwendungsspezifische integrierte Schaltung), einen Mikroprozessor und/oder einen Mikrocontroller beinhalten.
  • Wie hierin verwendet, ist eine „Straße“ ein physischer Bereich, der von einem Fahrzeug durchfahren werden kann, und kann einer benannten Verkehrsstraße entsprechen (z. B. Stadtstraße, Autobahn usw.) oder kann einer unbenannten Verkehrsstraße entsprechen (z. B. einer Einfahrt in einem Haus oder Bürogebäude, einem Abschnitt eines Parkplatzes, einem Abschnitt eines leeren Grundstücks, einem Feldweg in einem ländlichen Gebiet usw.). Da manche Fahrzeuge (z. B. Allrad-Pickup-Trucks, Geländewagen usw.) in der Lage sind, eine Vielfalt physischer Bereiche zu durchfahren, die nicht spezifisch für den Fahrzeugverkehr konzipiert sind, kann eine „Straße“ ein physischer Bereich sein, der nicht formell durch irgendeine Gemeinde oder andere Regierungsstelle oder Behörde als eine Verkehrsstraße definiert ist.
  • Wie hierin verwendet, ist eine „Fahrspur“ ein Teil einer Straße, auf der ein Fahrzeug fahren kann, und kann dem Großteil oder der Gesamtheit des Raums zwischen Fahrspurmarkierungen entsprechen, oder kann nur einem Teil (z. B. weniger als 50 %) des Raums zwischen Fahrspurmarkierungen entsprechen. Beispielsweise könnte eine Straße mit Fahrspurmarkierungen, die weit voneinander beabstandet sind, zwei oder mehr Fahrzeuge zwischen den Markierungen unterbringen, sodass ein Fahrzeug an dem anderen vorbeifahren kann, ohne die Fahrspurmarkierungen zu überfahren, und könnte somit als eine Fahrspur aufweisend, die schmaler als der Raum zwischen den Fahrspurmarkierungen ist, oder als zwei Fahrspuren zwischen den Fahrspurmarkierungen aufweisend interpretiert werden. Eine Fahrspur könnte auch bei Nichtvorhandensein von Fahrspurmarkierungen interpretiert werden. Beispielsweise kann eine Fahrspur basierend auf physischen Merkmalen einer Umgebung definiert werden, z. B. Gestein und Bäume entlang einer Verkehrsstraße in einem ländlichen Gebiet.
  • Wie hierin verwendet, ist eine „Szene“ ein spezieller AV-Standort, Straßenkartendaten für den Bereich im Umfeld des speziellen AV-Standorts und jegliche Agenten an dem speziellen AV-Standort.
  • Wie hierin verwendet, sind „Szenendaten“ Daten, die die „Szene“ repräsentieren, und beinhalten Sensordaten, einen Standort des AV (z. B. GNSS-Koordinaten), Wetterbedingungen, Straßenkartendaten für den Bereich im Umfeld des AV-Standorts und beliebige andere Daten, die zur Bewegungsvorhersage verfügbar und nützlich sind. Sensordaten können beispielsweise Kamerabilder und LiDAR-Punktwolken beinhalten. In manchen Fällen beinhalten die Sensordaten Detektionen anderer Agenten (z. B. anderer Fahrzeuge, Fußgänger, Fahrräder). Sensordaten können auch Standorte stationärer Objekte beinhalten (z. B. Bordsteinkanten, Jersey-Barrieren, Zäune usw.).
  • Wie hierin verwendet, ist eine „Merkmalskarte“ ein Bild mit einem Merkmalsvektor pro Pixel, der räumliche Variation in Sensordaten am aktuellen AV-Standort codiert. Die Merkmalskarte kann mehr als Sensordaten oder die gesamten oder einen Teil von Szenendaten codieren. In einer Ausführungsform beinhaltet ein Bild der Szene (z. B. ein Vogelperspektivenbild (BEV-Bild; BEV - Bird's Eye View)) ein Rendering von befahrbaren Straßenbereichen gegenüber nicht befahrbaren Bereichen, Fahrspuren, vergangene und gegenwärtige Positionen von Fahrzeugen, Fußgängern, Fahrradfahrern usw., wofür ein Beispiel in 5A-5C gezeigt ist, als Eingabe in einen Merkmalskartengenerator xxx.
  • Wie hierin verwendet, ist ein „globaler Merkmalsvektor“ ein Vektor in einem n-dimensionalen Raum, der die Szenendaten zusammenfasst.
  • Wie hierin verwendet, ist ein „Attention-Mechanismus“ (Attention - Aufmerksamkeit) ein angelerntes Modell, das eine kleine Anzahl von Standorten des Eingabebildes (z. B. eines BEV-Bildes) zur Abtastung auswählt. In einer Ausführungsform wird ein „multiheaded“ („mehrköpfiger“) Attention-Mechanismus verwendet, um mehr als ein Gebiet im Eingabebild abzutasten oder „Aufmerksamkeit zu schenken“. Beispielsweise unter der Annahme eines Landes, in dem auf der rechten Seite der Straße gefahren wird, kann der Attention-Mechanismus lernen, seine Aufmerksamkeit sowohl auf die Fahrspur, in die übergegangen wird, als auch die Fahrspur, die entgegenkommenden Verkehr enthalten könnte, vor dem der Agent kreuzen müsste, zu lenken.
  • Wie hierin verwendet, ist ein „lokaler Merkmalsvektor“ ein Vektor, der durch den Attention-Mechanismus erzeugt wird. Der lokale Merkmalsvektor koppelt eine gegebene Trajektorievorlage mit dem Eingabebild, sodass, wenn die Trajektorie und das Eingabebild in ein faltendes neuronales Netzwerk eingegeben werden, das faltende neuronale Netzwerk weiß, welche Teile des Eingabebildes für die Trajektorievorlage relevant sind.
  • Beispielsweise werden Szenendaten in ein Bild (z. B. Vogelperspektivenbild (BEV-Bild)) rasterisiert, das durch den Attention-Mechanismus verarbeitet wird, der eine lokale Zusammenfassung dieser Teile des BEV-Bildes, die für die Trajektorievorlage relevant sind, zusammenstellt und die zusammengestellte lokale Zusammenfassung in einen lokalen Merkmalsvektor codiert. Falls beispielsweise die Trajektorievorlage für einen Agenten eine Linksabbiegung vornimmt, dann würde die Fahrspur, in die der Agent übergeht, durch den lokalen Merkmalsvektor markiert und durch das faltende neuronale Netzwerk zum Vorhersagen einer Bewertung für diese Vorlagentrajektorie verwendet werden.
  • „Ein oder mehrere“ beinhaltet eine Funktion, die durch ein Element durchgeführt wird, eine Funktion, die durch mehr als ein Element durchgeführt wird, z. B. in verteilter Weise, mehrere Funktionen, die durch ein Element durchgeführt werden, mehrere Funktionen, die durch mehrere Elemente durchgeführt werden, oder eine beliebige Kombination des Obigen.
  • Es versteht sich außerdem, dass obwohl hierin in manchen Fällen die Begriffe erster, zweiter usw. zum Beschreiben verschiedener Elemente verwendet werden, diese Elemente nicht durch diese Begriffe eingeschränkt werden sollten. Diese Begriffe werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erster Kontakt als ein zweiter Kontakt bezeichnet werden, und gleichermaßen könnte ein zweiter Kontakt als ein erster Kontakt bezeichnet werden, ohne vom Schutzumfang der verschiedenen beschriebenen Ausführungsformen abzuweichen. Der erste Kontakt und der zweite Kontakt sind beide Kontakte, aber sie sind nicht derselbe Kontakt.
  • Die in der Beschreibung der verschiedenen hierin beschriebenen Ausführungsformen verwendete Terminologie soll nur spezielle Ausführungsformen beschreiben und nicht beschränkend sein. Wie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und in den angehängten Ansprüchen verwendet, sollen die Singularformen „ein“, „eine“ und „der/die/das“ auch die Pluralformen einschließen, insofern der Zusammenhang deutlich nicht etwas anderes angibt. Es versteht sich auch, dass sich der Begriff „und/oder“, wie hierin verwendet, auf beliebige und alle möglichen Kombinationen eines oder mehrerer der assoziierten aufgelisteten Elemente bezieht und diese einschließt. Es versteht sich ferner, dass die Begriffe „beinhaltet“, „einschließlich“, „beinhaltet“ und/oder „einschließlich“, wenn in dieser Beschreibung verwendet, das Vorhandensein genannter Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifizieren, aber nicht das Vorhandensein oder den Zusatz einer/eines oder mehrerer anderer Elemente, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausschließen.
  • Wie hierin verwendet, soll der Begriff „falls“ optional so ausgelegt werden, dass er in Abhängigkeit vom Zusammenhang „wenn“ oder „bei“ oder „als Reaktion auf das Bestimmen“ oder „als Reaktion auf das Detektieren“ bedeutet. Gleichermaßen soll der Ausdruck „falls bestimmt wird“ oder „falls [eine genannte Bedingung oder ein genanntes Ereignis] detektiert wird“ optional so ausgelegt werden, dass er in Abhängigkeit vom Zusammenhang „bei der Bestimmung“ oder „als Reaktion auf das Bestimmen“ oder „bei der Detektion [der genannten Bedingung oder des genannten Ereignisses]“ oder „als Reaktion auf das Detektieren [der genannten Bedingung oder des genannten Ereignisses]“ bedeutet.
  • Wie hierin verwendet, bezieht sich ein AV-System auf das AV zusammen mit dem Array von Hardware, Software, gespeicherten Daten und in Echtzeit erzeugten Daten, die den Betrieb des AV unterstützen. In einer Ausführungsform ist das AV-System in dem AV integriert. In einer Ausführungsform ist das AV-System über mehrere Orte verteilt. Beispielsweise ist ein Teil der Software des AV-Systems in einer Cloud-Rechenumgebung implementiert, ähnlich der unten mit Bezug auf 3 beschriebenen Cloud-Rechenumgebung 300.
  • Im Allgemeinen beschreibt dieses Dokument Technologien, die bei beliebigen Fahrzeugen anwendbar sind, die eine oder mehrere autonome Fähigkeiten aufweisen, einschließlich vollautonomen Fahrzeugen, hochautonomen Fahrzeugen und bedingt autonomen Fahrzeugen, wie etwa sogenannten Stufe-5-, Stufe-4- bzw. Stufe-3-Fahrzeugen (siehe Standard von SAE International J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems, der durch Bezugnahme in seiner Gesamtheit aufgenommen wird, für weitere Einzelheiten über die Klassifikation von Autonomiestufen in Fahrzeugen). Die in diesem Dokument beschriebenen Technologien sind auch bei teilautonomen Fahrzeugen und fahrergestützten Fahrzeugen anwendbar, wie etwa sogenannten Stufe-2- und Stufe-1-Fahrzeugen (siehe Standard von SAE International J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems). In einer Ausführungsform können ein oder mehrere der Fahrzeugsysteme der Stufe 1, 2, 3, 4 und 5 gewisse Fahrzeugoperationen (z.B. Lenkung, Bremsung und Kartenverwendung) unter gewissen Betriebsbedingungen basierend auf der Verarbeitung von Sensoreingaben automatisieren. Die in diesem Dokument beschriebenen Technologien können für Fahrzeuge in beliebigen Stufen vorteilhaft sein, angefangen von vollautonomen Fahrzeugen bis zu menschlich betriebenen Fahrzeugen.
  • Mit Bezug auf 1 betreibt ein AV-System 120 das AV 100 entlang einer Trajektorie 198 durch eine Umgebung 190 zu einem Bestimmungsort 199 (manchmal als ein endgültiger Ort bezeichnet), während Objekte (z. B. natürliche Behinderungen 191, Fahrzeuge 193, Fußgänger 192, Fahrräder und andere Hindernisse) vermieden und Straßenregeln (z. B. Betriebsregeln oder Fahrpräferenzen) eingehalten werden.
  • In einer Ausführungsform beinhaltet das AV-System 120 Vorrichtungen 101, die so instrumentiert sind, dass sie Betriebsbefehle von den Computerprozessoren 146 empfangen und auf diese reagieren. In einer Ausführungsform ähneln die Rechenprozessoren 146 dem unten mit Bezug auf 3 beschriebenen Prozessor 304. Beispiele für die Vorrichtungen 101 beinhalten eine Lenkungssteuerung 102, Bremsen 103, Gänge, Gaspedal oder andere Beschleunigungssteuermechanismen, Scheibenwischer, Seitentürverriegelungen, Fenstersteuerungen und Blinker.
  • In einer Ausführungsform beinhaltet das AV-System 120 Sensoren 121 zum Messen oder Inferieren von Eigenschaften des Status oder Zustands des AV 100, wie etwa die Position des AV, Lineargeschwindigkeit und -beschleunigung, Winkelgeschwindigkeit und -beschleunigung und Kurs (z. B. eine Orientierung des führenden Endes des AV 100). Beispiele für die Sensoren 121 sind ein GNSS-Empfänger (globales Satellitennavigationssystem), inertiale Messeinheiten (IMU), die sowohl Fahrzeuglinearbeschleunigungen als auch Winkelraten messen, Radgeschwindigkeitssensoren zum Messen oder Schätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren und Lenkwinkel- und Winkelratensensoren.
  • In einer Ausführungsform beinhalten die Sensoren 121 auch Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AV. Beispielsweise Monokular- oder Stereo-Videokameras 122 im sichtbaren Licht, Infrarotspektrum oder thermischen Spektrum (oder beiden), LiDAR 123, RADAR, Ultraschallsensoren, Laufzeit(ToF)-Tiefensensoren, Geschwindigkeitssensoren, Temperatursensoren, Luftfeuchtigkeitssensoren und Niederschlagssensoren.
  • In einer Ausführungsform beinhaltet das AV-System 120 eine Datenspeicherungseinheit 142 und einen Speicher 144 zum Speichern von Maschinenanweisungen, die mit den Computerprozessoren 146 assoziiert sind, oder von Daten, die durch die Sensoren 121 gesammelt werden. In einer Ausführungsform ähnelt die Datenspeicherungseinheit 142 dem ROM 308 oder der Speicherungsvorrichtung 310, die nachstehend in Bezug auf 3 beschrieben sind. In einer Ausführungsform ähnelt der Speicher 144 dem unten beschriebenen Hauptspeicher 306. In einer Ausführungsform speichern die Datenspeicherungseinheit 142 und der Speicher 144 historische, Echtzeit- und/oder prädiktive Informationen über die Umgebung 190. In einer Ausführungsform beinhalten die gespeicherten Informationen Karten, Fahrleistung, Verkehrsüberlastungsaktualisierungen oder Wetterbedingungen. In einer Ausführungsform werden Daten bezüglich der Umgebung 190 von einer entfernten Datenbank 134 über einen Kommunikationskanal zu dem AV 100 übertragen.
  • In einer Ausführungsform beinhaltet das AV-System 120 Kommunikationsvorrichtungen 140 zum Kommunizieren von gemessenen oder inferierten Eigenschaften der Status und Zustände anderer Fahrzeuge, wie etwa Positionen, Linear- und Winkelgeschwindigkeiten, Linear- und Winkelbeschleunigungen und Linear- und Winkelkurse, zu dem AV 100. Diese Vorrichtungen beinhalten Fahrzeug-zu-Fahrzeug- (V2V) und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikationsvorrichtungen und Vorrichtungen für Drahtloskommunikationen über Punkt-zu-Punkt oder Ad-Hoc-Netzwerke oder beide. In einer Ausführungsform kommunizieren die Kommunikationsvorrichtungen 140 über das elektromagnetische Spektrum (einschließlich Funkkommunikationen und optischer Kommunikationen) oder andere Medien (z. B. Luft und akustische Medien). Eine Kombination von Fahrzeug-zu-Fahrzeug- (V2V) und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikation (und in manchen Ausführungsformen einer oder mehrerer anderer Kommunikationsarten) wird manchmal als eine Fahrzeug-zu-Allem(V2X)-Kommunikation bezeichnet. Eine V2X-Kommunikation entspricht typischerweise einem oder mehreren Kommunikationsstandards zur Kommunikation mit, zwischen und unter autonomen Fahrzeugen.
  • In einer Ausführungsform beinhalten die Kommunikationsvorrichtungen 140 Kommunikationsschnittstellen. Beispielsweise drahtgebundene, drahtlose, WiMAX-, WiFi-, Bluetooth-, Satelliten-, zellulare, optische, Nahfeld-, Infrarot- oder Funk-Schnittstellen. Die Kommunikationsschnittstellen übertragen Daten von einer entfernten Datenbank 134 zu dem AV-System 120. In einer Ausführungsform ist die entfernte Datenbank 134 in einer Cloud-Rechenumgebung 200 eingebettet, wie in 2 beschrieben. Die Kommunikationsschnittstellen 140 übertragen von den Sensoren 121 gesammelte Daten oder andere Daten bezüglich des Betriebs des AV 100 zu der entfernten Datenbank 134. In einer Ausführungsform übertragen die Kommunikationsschnittstellen 140 Informationen, die sich auf Teleoperationen beziehen, zu dem AV 100. In manchen Ausführungsformen kommuniziert das AV 100 mit anderen Fern(z. B. „Cloud“)-Servern 136.
  • In einer Ausführungsform speichert und überträgt die entfernte Datenbank 134 auch digitale Daten (z. B. Speichern von Daten wie etwa Landstraßen- und Stadtstraßenorten). Solche Daten werden auf dem Speicher 144 im AV 100 gespeichert oder von der entfernten Datenbank 134 über einen Kommunikationskanal zu dem AV 100 übertragen.
  • In einer Ausführungsform speichert und überträgt die entfernte Datenbank 134 historische Informationen über Fahreigenschaften (z. B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten entlang der Trajektorie 198 fuhren. In einer Implementierung können solche Daten auf dem Speicher 144 im AV 100 gespeichert oder von der entfernten Datenbank 134 über einen Kommunikationskanal zu dem AV 100 übertragen werden.
  • Die sich am AV 100 befindlichen Rechenvorrichtungen 146 erzeugen algorithmisch Steuerhandlungen basierend auf sowohl Echtzeit-Sensordaten als auch vorherigen Informationen, was dem AV-System 120 ermöglicht, seine autonomen Fahrfähigkeiten auszuführen.
  • In einer Ausführungsform beinhaltet das AV-System 120 mit den Rechenvorrichtungen 146 gekoppelte Computerperipheriegeräte 132 zum Bereitstellen von Informationen und Warnungen an einen Benutzer (z. B. einen Insassen oder einen Fernbenutzer) des AV 100 und Empfangen einer Eingabe von diesem. In einer Ausführungsform ähneln die Peripheriegeräte 132 der Anzeige 312, der Eingabevorrichtung 314 und der Cursor-Steuerung 316, die unten mit Bezug auf 3 besprochen sind. Die Kopplung ist drahtlos oder drahtgebunden. Zwei oder mehr beliebige der Schnittstellenvorrichtungen können in eine einzelne Vorrichtung integriert sein.
  • Beispielhafte Cloud-Rechenumgebung
  • 2 veranschaulicht eine beispielhafte „Cloud“-Rechenumgebung. Cloud-Computing ist ein Dienstlieferungsmodell zum Ermöglichen eines zweckmäßigen On-Demand-Netzwerkzugangs für einen gemeinsam genutzten Pool konfigurierbarer Rechenressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Speicherung, Anwendungen, virtuelle Maschinen und Dienste). In typischen Cloud-Rechensystemen sind die zum Liefern der durch die Cloud bereitgestellten Dienste verwendeten Maschinen in einem oder mehreren großen Cloud-Datenzentren untergebracht. Jetzt mit Bezug auf 2 beinhaltet die Cloud-Rechenumgebung 200 Cloud-Datenzentren 204a, 204b und 204c, die über die Cloud 202 miteinander verbunden sind. Die Datenzentren 204a, 204b und 204c stellen Computersystemen 206a, 206b, 206c, 206d, 206e und 206f, die mit der Cloud 202 verbunden sind, Cloud-Rechendienste bereit.
  • Die Cloud-Rechenumgebung 200 beinhaltet ein oder mehrere Cloud-Datenzentren. Im Allgemeinen bezieht sich ein Cloud-Datenzentrum, zum Beispiel das in 2 gezeigte Cloud-Datenzentrum 204a, auf die physische Anordnung von Servern, die eine Cloud bilden, zum Beispiel die in 2 gezeigte Cloud 202, oder einen speziellen Teil einer Cloud. Beispielsweise sind Server in dem Cloud-Datenzentrum physisch in Räume, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Datenzentrum weist eine oder mehrere Zonen auf, die einen oder mehrere Serverräume beinhalten. Jeder Raum weist eine oder mehrere Serverreihen auf, und jede Reihe beinhaltet ein oder mehrere Racks. Jedes Rack beinhaltet einen oder mehrere individuelle Serverknoten. In manchen Implementierungen sind Server in Zonen, Räume, Racks und/oder Reihen basierend auf physischen Infrastrukturanforderungen der Datenzentrumeinrichtung, einschließlich Leistungs-, Energie-, thermalen, Wärme- und/oder anderer Anforderungen, in Gruppen angeordnet. In einer Ausführungsform ähneln die Serverknoten dem in 3 beschriebenen Computersystem. Das Datenzentrum 204a weist viele Rechensysteme auf, die über viele Racks verteilt sind.
  • Die Cloud 202 beinhaltet Cloud-Datenzentren 204a, 204b und 204c zusammen mit dem Netzwerk und Networking-Ressourcen (zum Beispiel Networking-Geräten, Knoten, Routern, Switches und Vernetzungskabeln), die die Cloud-Datenzentren 204a, 204b und 204c miteinander verbinden und dabei helfen, den Zugang der Rechensysteme 206a-f auf Cloud-Rechensysteme zu ermöglichen. In einer Ausführungsform repräsentiert das Netzwerk eine beliebige Kombination eines oder mehrerer Lokalnetzwerke, großflächiger Netzwerke oder Inter-Netzwerke, die unter Verwendung drahtgebundener oder drahtloser Links gekoppelt sind, die unter Verwendung terrestrischer Verbindungen oder Satellitenverbindungen eingesetzt werden. Über das Netzwerk ausgetauschte Daten werden unter Verwendung einer beliebigen Anzahl von Netzwerkschichtprotokollen transferiert, wie etwa Internetprotokoll (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay usw. Ferner werden in Ausführungsformen, in denen das Netzwerk eine Kombination mehrerer Teilnetzwerke repräsentiert, unterschiedliche Netzwerkschichtprotokolle an jedem der zugrundeliegenden Teilnetzwerke verwendet. In manchen Ausführungsformen repräsentiert das Netzwerk ein oder mehrere miteinander verbundene Inter-Netzwerke, wie etwa das öffentliche Internet.
  • Die Rechensysteme 206a-f oder Verbraucher der Cloud-Rechensysteme sind über Netzwerklinks und Netzwerkadapter mit der Cloud 202 verbunden. In einer Ausführungsform werden die Rechensysteme 206a-f als verschiedene Rechenvorrichtungen implementiert, zum Beispiel Server, Desktops, Laptops, Tablets, Smartphones, Internet-der-Dinge(IdD)-Vorrichtungen, autonome Fahrzeuge (einschließlich Autos, Drohnen, Shuttles, Zügen, Bussen usw.) und Verbraucherelektronik. In einer Ausführungsform werden die Rechensysteme 206a-f in anderen Systemen oder als ein Teil von diesen implementiert.
  • Computersystem
  • 3 veranschaulicht ein Computersystem 300. In einer Implementierung ist das Computersystem 300 eine Spezialzweck-Rechenvorrichtung. Die Spezialzweck-Rechenvorrichtung ist festverdrahtet, um die Techniken durchzuführen, oder beinhaltet digitale elektronische Vorrichtungen wie etwa eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) oder feldprogrammierbare Gate-Arrays (FPGAs), die persistent programmiert sind, um die Techniken durchzuführen, oder können einen oder mehrere Allgemeinzweck-Hardwareprozessoren beinhalten, die programmiert sind, die Techniken gemäß Programmanweisungen in Firmware, Speicher, anderer Speicherung oder einer Kombination durchzuführen. Solche Spezialzweck-Rechenvorrichtungen können auch benutzerdefinierte festverdrahtete Logik, ASICs oder FPGAs mit benutzerdefinierter Programmierung kombinieren, um die Techniken zu verwirklichen. In verschiedenen Ausführungsformen sind die Spezialzweck-Rechenvorrichtungen Desktop-Computersysteme, tragbare Computersysteme, Handheld-Vorrichtungen, Netzwerkvorrichtungen oder eine beliebige andere Vorrichtung, die festverdrahtete Logik und/oder Programmlogik einbezieht, um die Techniken zu implementieren.
  • In einer Ausführungsform beinhaltet das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Informationen und einen mit einem Bus 302 gekoppelten Hardwareprozessor 304 zum Verarbeiten von Informationen. Der Hardwareprozessor 304 ist beispielsweise ein Allgemeinzweck-Mikroprozessor. Das Computersystem 300 beinhaltet außerdem einen Hauptspeicher 306, wie etwa einen Direktzugriffsspeicher (RAM) oder eine andere dynamische Speicherungsvorrichtung, der/die mit dem Bus 302 gekoppelt ist, zum Speichern von Informationen und Anweisungen, die durch den Prozessor 304 auszuführen sind. In einer Implementierung wird der Hauptspeicher 306 zum Speichern temporärer Variablen oder anderen Zwischeninformationen während der Ausführung von durch den Prozessor 304 auszuführenden Anweisungen verwendet. Derartige Anweisungen, wenn sie in für den Prozessor 304 zugreifbaren, nichttransitorischen Speicherungsmedien gespeichert sind, bilden das Computersystem 300 in einer Spezialzweck-Maschine aus, die zum Durchführen der in den Anweisungen spezifizierten Operationen angepasst ist.
  • In einer Ausführungsform beinhaltet das Computersystem 300 ferner einen Nur-LeseSpeicher (ROM) 308 oder eine andere statische Speicherungsvorrichtung, die mit dem Bus 302 gekoppelt ist, zum Speichern statischer Informationen und Anweisungen für den Prozessor 304. Eine Speicherungsvorrichtung 310, wie etwa eine magnetische Platte, eine optische Platte, ein Solid-State-Laufwerk oder ein dreidimensionaler Cross-Point-Speicher, ist bereitgestellt und mit dem Bus 302 gekoppelt, um Informationen und Anweisungen zu speichern.
  • In einer Ausführungsform ist das Computersystem 300 über den Bus 302 mit einer Anzeige 312 gekoppelt, wie etwa einer Kathodenstrahlröhre (CRT)-, einer Flüssigkristallanzeige (LCD), einer Plasmaanzeie einer Leuchtdioden(LED)-Anzeige oder einer Organisch-Leuchtdioden(OLED)-Anzeige, um Informationen für einen Computerbenutzer anzuzeigen. Eine Eingabevorrichtung 314, die alphanumerische und andere Tasten beinhaltet, ist mit dem Bus 302 zum Kommunizieren von Informationen und Befehlsauswahlen zu dem Prozessor 304 gekoppelt. Eine andere Art von Benutzereingabevorrichtung ist eine Cursor-Steuerung 316, wie etwa eine Maus, ein Trackball, eine berührungsgestützte Anzeige oder Cursorrichtungstasten zum Kommunizieren von Richtungsinformationen und Befehlsauswahlen zu dem Prozessor 304 und zum Steuern der Cursorbewegung auf der Anzeige 312. Diese Eingabevorrichtung weist typischerweise zwei Freiheitsgrade in zwei Achsen auf, einer ersten Achse (z. B. x-Achse) und einer zweiten Achse (z. B. y-Achse), was der Vorrichtung ermöglicht, Positionen in einer Ebene zu spezifizieren.
  • Gemäß einer Ausführungsform werden die Techniken hierin durch das Computersystem 300 als Reaktion darauf durchgeführt, dass der Prozessor 304 eine oder mehrere Sequenzen einer oder mehrerer im Hauptspeicher 306 enthaltener Anweisungen ausführt. Solche Anweisungen werden von einem anderen Speicherungsmedium, wie etwa der Speicherungsvorrichtung 310, in den Hauptspeicher 306 gelesen. Die Ausführung der im Hauptspeicher 306 enthaltenen Anweisungssequenzen veranlasst, dass der Prozessor 304 die hierin beschriebenen Prozessschritte durchführt. In alternativen Ausführungsformen wird eine festverdrahtete Schaltungsanordnung anstelle von oder in Kombination mit Softwareanweisungen verwendet.
  • Der Begriff „Speicherungsmedien“ wie hierin verwendet, bezieht sich auf beliebige nichttransitorische Medien, die Daten und/oder Anweisungen speichern, die veranlassen, dass eine Maschine auf eine spezifische Weise arbeitet. Solche Speicherungsmedien beinhalten nichtflüchtige Medien und/oder flüchtige Medien. Nichtflüchtige Medien beinhalten beispielsweise optische Platten, Magnetplatten, Solid-State-Laufwerke oder dreidimensionalen Cross-Point-Speicher, wie etwa die Speicherungsvorrichtung 310. Flüchtige Medien beinhalten dynamischen Speicher, wie etwa den Hauptspeicher 306. Übliche Formen von Speicherungsmedien beinhalten beispielsweise eine Diskette, eine flexible Platte, eine Festplatte, ein Solid-State-Laufwerk, Magnetband oder ein beliebiges anderes magnetisches Datenspeicherungsmedium, eine CD-ROM, ein beliebiges anderes optisches Datenspeicherungsmedium, ein beliebiges physisches Medium mit Lochmustern, einen RAM, einen PROM und EPROM, einen FLASH-EPROM, NV-RAM oder einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette.
  • Speicherungsmedien unterscheiden sich von Übertragungsmedien, können jedoch in Verbindung mit diesen verwendet werden. Übertragungsmedien nehmen bei dem Transfer von Informationen zwischen Speicherungsmedien teil. Beispielsweise beinhalten Übertragungsmedien Koaxialkabel, Kupferdraht und Faseroptik, einschließlich der Drähte, die den Bus 302 beinhalten. Übertragungsmedien können auch die Form akustischer Wellen oder Lichtwellen annehmen, wie etwa jene, die während Funkwellen- oder Infrarot-Datenkommunikationen erzeugt werden.
  • In einer Ausführungsform sind verschiedene Formen von Medien beim Führen einer oder mehrerer Sequenzen einer oder mehrerer Anweisungen zu dem Prozessor 304 zur Ausführung beteiligt. Beispielsweise werden die Anweisungen anfänglich auf einer magnetischen Platte oder einem Solid-State-Laufwerk eines Ferncomputers geführt. Der Ferncomputer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen über eine Telefonleitung unter Verwendung eines Modems. Ein Modem lokal zu dem Computersystem 300 empfängt die Daten auf der Telefonleitung und verwendet einen Infrarotsender, um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarotdetektor empfängt die in dem Infrarotsignal geführten Daten und eine geeignete Schaltungsanordnung platziert die Daten auf den Bus 302. Der Bus 302 führt die Daten zum Hauptspeicher 306, aus dem der Prozessor 304 die Anweisungen abruft und ausführt. Die durch den Hauptspeicher 306 empfangenen Anweisungen können optional in der Speicherungsvorrichtung 310 entweder vor oder nach der Ausführung durch den Prozessor 304 gespeichert werden.
  • Das Computersystem 300 beinhaltet auch eine Kommunikationsschnittstelle 318, die mit dem Bus 302 gekoppelt ist. Die Kommunikationsschnittstelle 318 stellt eine Zweiwege-Datenkommunikationskopplung mit einem Netzwerklink 320 bereit, der mit einem Lokalnetzwerk 322 verbunden ist. Beispielsweise ist die Kommunikationsschnittstelle 318 eine ISDN(Integrated Service Digital Network)-Karte, ein Kabelmodem, ein Satellitenmodem oder ein Modem zum Bereitstellen einer Datenkommunikationsverbindung mit einer entsprechenden Art von Telefonleitung. Als ein anderes Beispiel ist die Kommunikationsschnittstelle 318 eine Lokalnetzwerk(LAN)-Karte zum Bereitstellen einer Datenkommunikationsverbindung mit einem kompatiblen LAN. In manchen Implementierungen werden auch Drahtlos-Links implementiert. In einer beliebigen derartigen Implementierung sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme führen, die verschiedene Informationsarten repräsentieren.
  • Der Netzwerklink 320 stellt typischerweise eine Datenkommunikation über ein oder mehrere Netzwerke zu anderen Datenvorrichtungen bereit. Beispielsweise stellt der Netzwerklink 320 eine Verbindung über das Lokalnetzwerk 322 zu einem Host-Computer 324 oder zu einem Cloud-Datenzentrum oder -Gerät bereit, der/das durch einen Internetdienstanbieter (ISP) 326 betrieben wird. Der ISP 326 stellt im Gegenzug Datenkommunikationsdienste über das weltweite Paketdatenkommunikationsnetzwerk bereit, heutzutage gewöhnlich bezeichnet als das „Internet“ 328. Sowohl das Lokalnetzwerk 322 als auch das Internet 328 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme führen. Die Signale über die verschiedenen Netzwerke und die Signale auf dem Netzwerklink 320 und über die Kommunikationsschnittstelle 318, die die digitalen Daten zu und von dem Computersystem 300 führen, sind beispielhafte Formen von Übertragungsmedien. In einer Ausführungsform enthält das Netzwerk 320 die Cloud 202 oder einen Teil der oben beschriebenen Cloud 202.
  • Das Computersystem 300 sendet Nachrichten und empfängt Daten, einschließlich Programmcode, über das (die) Netzwerk(e), den Netzwerklink 320 und die Kommunikationsschnittstelle 318. In einer Ausführungsform empfängt das Computersystem 300 Code zur Verarbeitung. Der empfangene Code wird durch den Prozessor 304 wie empfangen ausgeführt und/oder in der Speicherungsvorrichtung 310 oder einer anderen nichtflüchtigen Speicherung zur späteren Ausführung gespeichert.
  • Architektur eines autonomen Fahrzeugs
  • 4 zeigt eine beispielhafte Architektur 400 für ein autonomes Fahrzeug (z. B. das in 1 gezeigte AV 100). Die Architektur 400 beinhaltet ein Wahrnehmungsmodul 402 (manchmal als eine Wahrnehmungsschaltung bezeichnet), ein Planungsmodul 404 (manchmal als eine Planungsschaltung bezeichnet), ein Steuermodul 406 (manchmal als eine Steuerschaltung bezeichnet), ein Lokalisierungsmodul 408 (manchmal als eine Lokalisierungsschaltung bezeichnet) und ein Datenbankmodul 410 (manchmal als eine Datenbankschaltung bezeichnet). Jedes Modul spielt beim Betrieb des AV 100 eine Rolle. Zusammen können die Module 402, 404, 406, 408 und 410 Teil des in 1 gezeigten AV-Systems 120 sein. In manchen Ausführungsformen sind beliebige der Module 402, 404, 406, 408 und 410 eine Kombination von Computersoftware (z. B. ausführbarer Code, der auf einem computerlesbaren Medium gespeichert ist) und Computerhardware (z. B. ein/e oder mehrere Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltungen [ASICs], Hardwarespeichervorrichtungen, andere Arten von integrierten Schaltungen, andere Arten von Computerhardware oder eine Kombination beliebiger oder aller dieser Dinge).
  • Im Gebrauch empfängt das Planungsmodul 404 Daten, die einen Bestimmungsort 412 repräsentieren, und bestimmt Daten, die eine Trajektorie 414 (manchmal als eine Route bezeichnet) repräsentieren, auf der das AV 100 fahren kann, um den Bestimmungsort 412 zu erreichen (z. B. dort anzukommen). Damit das Planungsmodul 404 die die Trajektorie 414 repräsentierenden Daten bestimmt, empfängt das Planungsmodul 404 Daten vom Wahrnehmungsmodul 402, vom Lokalisierungsmodul 408 und vom Datenbankmodul 410.
  • Das Wahrnehmungsmodul 402 identifiziert nahegelegene physische Objekte unter Verwendung eines oder mehrerer Sensoren 121, z. B. wie auch in 1 gezeigt. Die Objekte werden klassifiziert (z. B. in Typen wie etwa Fußgänger, Fahrrad, Kraftfahrzeug, Verkehrsschild usw. gruppiert) und dem Planungsmodul 404 wird eine Szenenbeschreibung einschließlich der klassifizierten Objekte 416 bereitgestellt.
  • Das Planungsmodul 404 empfängt auch Daten, die die AV-Position 418 repräsentieren, vom Lokalisierungsmodul 408. Das Lokalisierungsmodul 408 bestimmt die AV-Position unter Verwendung von Daten von den Sensoren 121 und Daten vom Datenbankmodul 410 (z. B. geografische Daten), um eine Position zu berechnen. Beispielsweise verwendet das Lokalisierungsmodul 408 Daten von einem GNSS-Empfänger und geografische Daten, um einen Längengrad und Breitengrad des AV zu berechnen. In einer Ausführungsform beinhalten die durch das Lokalisierungsmodul 408 verwendeten Daten hochpräzise Karten der geometrischen Eigenschaften der Verkehrsstraße, Karten, die Straßennetzkonnektivitätseigenschaften beschreiben, Karten, die physische Eigenschaften der Verkehrsstraße beschreiben (wie etwa Verkehrsgeschwindigkeit, Verkehrsvolumen, die Anzahl von Fahrzeug- und Fahrrad-Verkehrsspuren, Spurbreite, Spurverkehrsrichtung oder Fahrspurmarkierungsarten und -orte oder Kombinationen davon), und Karten, die die räumlichen Orte von Straßenmerkmalen beschreiben, wie etwa Fußgängerüberwege, Verkehrsschilder oder andere Verkehrssignale verschiedener Arten.
  • Das Steuermodul 406 empfängt die die Trajektorie 414 repräsentierenden Daten und die die AV-Position 418 repräsentierenden Daten und betreibt die Steuerfunktionen 420a-c (z. B. Lenkung, Gasgeben, Bremsen, Zündung) des AV auf eine Weise, die bewirken wird, dass das AV 100 entlang der Trajektorie 414 zu dem Bestimmungsort 412 fährt. Falls beispielsweise die Trajektorie 414 eine Linksabbiegung beinhaltet, wird das Steuermodul 406 die Steuerfunktionen 420a-c auf eine Weise betreiben, dass der Lenkwinkel der Lenkfunktion bewirken wird, dass das AV 100 nach links abbiegt, und das Gasgeben und Bremsen bewirken werden, dass das AV 100 anhält und darauf wartet, dass Fußgänger oder Fahrzeuge passieren, bevor das Abbiegen vorgenommen wird.
  • Trajektorieerzeugung unter Verwendung eines Straßennetzmodells
  • Die 5A-5C veranschaulichen Trajektorievorlagen 500, 501, 502 für verschiedene Verkehrsszenarien gemäß einer oder mehreren Ausführungsformen. 5A zeigt Fahrzeugtrajektorievorlagen über eine Kreuzung, die mehrere Spurwechsel 500-1, Kehrtwendungen 500-2 (bei denen der Wenderadius des AV ausreichend ist, um die Kehrtwendung vorzunehmen, während es in befahrbaren Bereichen bleibt) und eine Linksabbiegung 500-3 beinhaltet. 5B zeigt eine Fahrzeugtrajektorie 501-1, die in die einzige verfügbare Fahrspur einfährt und dieser folgt. 5C zeigt zwei Agententrajektorievorlagen in einer Sackgassensituation, eine Trajektorievorlage 502-1, die sich vorwärts bewegt, bis das Fahrzeug anhalten muss, die andere Trajektorievorlage 502-2, die eine Kehrtwendung vornimmt, obwohl es keinen zu folgenden Spurverbinder gibt.
  • Die in den 5A-5C gezeigten Trajektorievorlagen wurden unter Verwendung des in 6 gezeigten Trajektorievorlagenerzeugungssystems 600 erzeugt. Wie nachstehend beschrieben, nimmt das System 600 als Eingabe Straßenkartendaten, die ein Straßennetz repräsentieren, und eine Startstellung (z. B. Anfangsposition, -bahngeschwindigkeit und -kurs) für einen oder mehrere Agenten an und erzeugt Trajektorievorlagen für den einen oder die mehreren Agenten. In einer Ausführungsform wird jede Trajektorievorlage als eine Zeitreihe von Punkten repräsentiert, wobei jeder Punkt eine Positionskoordinate (x, y) in einem Weltreferenzrahmen ist. In anderen Ausführungsformen sind andere Repräsentationen möglich, wie etwa Erzeugen von Sequenzen von Fahrspur- und Verbinderkennungen, bevor sie in Zeitreihen von Datenpunkten umgewandelt werden.
  • Jede Trajektorievorlage beginnt an der Agentenstartstellung und die Bewegung des Agenten wird für eine spezifizierte Zeit (z. B. 6 Sekunden) simuliert, sodass der Agent (z. B. ein Fahrzeug) in eine Fahrspur oder einen Fahrspurverbinder des Straßennetzes übergeht und dann den Fahrspuren und Verbindern des Straßennetzes folgt. In einer Ausführungsform sind aufeinanderfolgende Punkte in jeder Trajektorievorlage durch Abstände (z. B. euklidische Abstände) getrennt, die gleich von einem Benutzer bereitgestellten Schrittweiten sind, und die Gesamtanzahl von Punkten in jeder Trajektorievorlage ist die Anzahl von Schrittweiten. In einer Ausführungsform befindet sich der erste Punkt jeder Trajektorievorlage um die erste Schrittweite entfernt von der Anfangsposition, mit Ausnahme einer Trajektorievorlage, die in einer Sackgasse innerhalb des Straßennetzes endet, die möglicherweise keine volle Anzahl von angeforderten Punkten aufweist.
  • In Anbetracht der Anfangsstellung eines Agenten durchsucht ein Trajektorievorlagengenerator die Straßenkartendaten nach Fahrspuren und Verbindern des Straßennetzes, die innerhalb eines festen Radius der Anfangsposition des AV (z. B. Radius von 30 m) liegen. Jede Fahrspur oder jeder Verbinder in den Suchergebnissen wird diskretisiert (z. B. mit einem Standardabstand von 20 m), und Dubins-Kurven werden von der Anfangsposition des Agenten zu einer Position auf der Fahrspur oder dem Verbinder gezeichnet. Die kürzesten k Dubins-Kurven (z. B. k=1 als ein Standard) werden zur Ausgabe ausgewählt. Die ausgewählten Dubins-Kurven werden erweitert, indem den Fahrspuren und Verbindern des Straßennetzes unter Verwendung einer Backtracking-Suche (Backtracking - Rückverfolgung) gefolgt wird, die durch eine spezifizierte gewünschte Trajektorielänge (z. B. 6 Sekunden) begrenzt ist. In einer Ausführungsform werden Dubins-Kurven verwendet, um Trajektorievorschläge anzugeben, die auftreten, wenn das Straßennetz zu einer Sackgasse führt, und auch am Start jeder Trajektorie, um zu einer Fahrspur zu gelangen. In anderen Ausführungsformen können andere parametrische Familien verwendet werden, wie etwa Reeds-Shepp-Kurven oder Balkcom-Mason-Kurven.
  • Wenn eine Trajektorievorlage erzeugt wird, ist es möglich, während der Suche stecken zu bleiben (z. B. am Ende einer Fahrspur ohne folgenden Verbinder stecken zu bleiben). Falls dies geschieht, versucht der Trajektorievorlagengenerator, die Trajektorie erneut zu zeichnen, indem er nach allen Fahrspuren und Verbindern innerhalb des Suchradius der Endposition der gegebenen Trajektorie sucht, die Fahrspuren und Verbinder in den Suchergebnissen diskretisiert und Dubins-Kurven von der Endposition zu der Position auf der Fahrspur oder dem Verbinder zeichnet. Falls die Suche fehlschlägt (in welchem Fall eine kürzere Trajektorie als die angeforderte zurückgegeben werden kann), wird die Trajektorievorlagenerzeugung abgeschlossen, indem jede Sequenz von durch die Backtracking-Suche gefundenen Dubins-Kurven diskretisiert wird, wobei von jeder eine Sequenz von Punkten ausgewählt wird, die (in Bogenlänge) um die angeforderte Schrittweite getrennt sind. Da der Straßennetzsuchprozess mehrere Dubins-Kurven zurückgeben kann, die nahe zueinander liegen, werden bei den resultierenden diskreten Pfaden Duplikate weggeschnitten, beispielsweise werden Trajektorievorlagen, die an jedem Punkt sehr nahe zueinander liegen, verworfen.
  • In einer Ausführungsform können die oben beschriebenen Prozesse Trajektorievorlagen für alle Fahrspuren in den meisten Kreuzungen des Straßennetzes finden, selbst wenn manche Fahrspurverbinder vom Straßennetz fehlen, da das Trajektorievorlagengeneratorsystem 600 eine Dubins-Kurve für jede Fahrspur einfüllt. Der Trajektorievorlagengenerator erzeugt auch Spurwechsel auf mehrspurigen Straßen innerhalb eines begrenzten Abstands in Abhängigkeit von den Längen der Fahrspuren und Verbinder in der Nähe der Startposition. Auf Nicht-Einbahnstraßen mit ausreichend Platz zwischen den Fahrspuren erzeugt das Trajektorieerzeugungssystem 600 Kehrtwendungen.
  • Eine beabsichtigte Anwendung der oben beschriebenen Straßennetztrajektorieerzeugung besteht darin, Vorhersagen von Fahrzeugtrajektorien zu erzeugen. In einer Ausführungsform werden zwei Sätze von Trajektorien durch den Trajektoriegenerator erzeugt, die dem Straßennetz folgen: ein Satz mit konstanter Geschwindigkeit und der andere Satz mit konstanter Beschleunigung. In einer Ausführungsform werden geeignete Werte für Geschwindigkeit und Beschleunigung von der Wegstreckenaufzeichnung des Agenten und der Anfangsstellung des Agenten genommen (z. B. ein Zustandsvektor einschließlich Anfangsposition, -bahngeschwindigkeit, -kurs). Die finale Trajektorievorlage ist die Vereinigung dieser beiden Sätze von Trajektorievorlagen, für die der durchschnittliche Verlagerungsfehler bezüglich einer Ground-Truth-Trajektorie als eine Vorhersage verwendet wird.
  • 6 ist ein Blockdiagramm eines Trajektorievorlagenerzeugungssystems 600 zum Erzeugen von Trajektorievorlagen gemäß einer oder mehreren Ausführungsformen. Das System 600 beinhaltet einen Trajektorievorlagengenerator 601, der als eine Eingabe den aktuellen AV-Standort, Straßenkartendaten 608 für den AV-Standort, Agentendaten 609 (z. B. Agententyp, Startstellung) und Sensordaten 610 (z. B. Kamerabilder, LiDAR-Punktwolke), die am aktuellen AV-Standort aufgenommen werden, annimmt. In einer Ausführungsform stellt das System 600 eine Benutzeroberfläche bereit, wie etwa eine grafische Benutzeroberfläche (GUI), um einem Benutzer zu ermöglichen, das Trajektorievorlagenerzeugungssystem 600 zu verwalten, einschließlich unter anderem Auswählen eines Verkehrsszenarios, Auswählen einer Anzahl und von Arten des Agenten und Einstellen verschiedener Parameter (z. B. Schrittweite, anfängliche Startstellungen für Agenten), wie mit Bezug auf die 5A-5C beschrieben.
  • Der Trajektorievorlagengenerator 601 erzeugt eine Anzahl von Trajektorievorlagen für einen speziellen Agenten für ein spezielles Verkehrsszenario unter Verwendung von Straßenkartendaten. Für jeden Agenten werden die Straßenkartendaten verwendet, um einen Satz möglicher Trajektorievorlagen für den Agenten für ein gegebenes Verkehrsszenario zu erzeugen, wobei die Trajektorievorlagen derart beschränkt sind, dass sie den Fahrspuren und Fahrtrichtungen aus den Straßenkartendaten, und zutreffenden Einschränkungen, die durch Gesetze der Physik auferlegt werden (z. B. Geschwindigkeits-, Beschleunigungs-, Brems- und Abbiegungsbeschränkungen), entsprechen. Zusätzlich beinhaltet jeder Satz von Trajektorievorlagen für einen speziellen Agenten alle möglichen beabsichtigten Verhalten des speziellen Agenten basierend auf der Kartengeometrie. Wenn sich beispielsweise einer „T“-Kreuzung vom Stamm des „T“ genähert wird, Erzeugen einer Linksabbiegung, einer Rechtsabbiegung und, abhängig von der Geschwindigkeit des Fahrzeugs, einer Kehrtwendung. Falls die Straße aber am Ende des „T“ eine Einbahnstraße ist, Erzeugen von nur der geeigneten Abbiegung. Wenn sich zwischen Kreuzungen auf einer dreispurigen Einbahnstraße befindlich, Erzeugen von drei Trajektorien: zwei Spurwechsel und eine, die in der Fahrspur bleibt.
  • Jede Trajektorievorlage für einen Agenten wird einem Spatial-Attention-Kombinierer 604 bereitgestellt, bei dem die Trajektorievorlage mit einer Merkmalskarte kombiniert wird. Die „Merkmalskarte“ ist ein Bild mit einem Merkmalsvektor pro Pixel, der räumliche Variation in Sensordaten am aktuellen AV-Standort codiert. Die Merkmalskarte wird durch ein zweidimensionales (2D) faltendes neuronales Netzwerk (CNN) 603 als Reaktion auf den Empfang eines Eingabebildes ausgegeben. Das Eingabebild wird durch einen Rasterisierer 602 erzeugt, der eine Szene aufnehmende Sensordaten 610 (z. B. Kamerabilder, LiDAR-Punktwolke) in ein Eingabebild umwandelt, wie etwa ein Vogelperspektivenbild (BEV-Bild). Der Spatial-Attention-Kombinierer 604 erzeugt einen lokalen Merkmalsvektor unter Verwendung eines Attention-Mechanismus, und der lokale Merkmalsvektor wird als eine Eingabe in einen Vektorkombinierer 605 bereitgestellt. Der Vektorkombinierer 605 kombiniert den lokalen Merkmalsvektor mit einem vom CNN 603 ausgegebenen globalen Merkmalsvektor (der die gesamte Szene zusammenfasst) und den Szenendaten (z. B. Standorten und Sensordaten für andere Agenten in der Szene).
  • Es ist anzumerken, dass die Merkmalskarte, die durch den Attention-Mechanismus mit der Trajektorievorlage kombiniert wird, nicht nur aus den Sensordaten abgeleitet wird, sondern aus allen Szenendaten, einschließlich den Straßenkartendaten. Insbesondere enthält das in das CNN 603 eingegebene BEV-Bild nicht nur Sensordaten, sondern auch eine Repräsentation des befahrbaren Straßenbereichs und der Fahrspuren, die beide aus den Straßenkartendaten erhalten werden. Der lokale Merkmalsvektor wird verknüpft mit dem globalen Merkmalsvektor und auch mit einem Vektor von Koordinaten der Trajektorievorlage und einem kurzen Vektor, der Schätzungen des aktuellen kinematischen Zustands des Agenten (z. B. Geschwindigkeit, Beschleunigung, Gierrate) enthält, die aus den Sensordaten erhalten werden, um die Ausgabe von 605 zu bilden, die 606 als Eingabe bereitgestellt wird.
  • Die Ausgabe des Vektorkombinierers 605 wird in ein Bewertungsvorhersage-Neuronalnetzwerk (NN) 606 eingegeben, das eine Bewertung für die Trajektorievorlage vorhersagt. Das Bewertungs-NN 606 ist ein „Fully-Connected Head“ („vollständig verbundener Kopf“) (d. h. ein Mehrschicht-Perzeptron) und umfasst einen Stapel mehrerer vollständig verbundener Schichten. Die Eingabe in das Bewertungs-NN 606 ist der durch 605 bereitgestellte Ausgabevektor. Die finale Ausgabe aus der letzten Schicht des Bewertungs-NN 606 ist eine Zahl für jeden Eingabevektor, der eine Trajektorievorlage, ihren assoziierten lokalen Merkmalsvektor, der ihre lokale Szene zusammenfasst, ihren assoziierten globalen Merkmalsvektor, der ihre gesamte Szene zusammenfasst, und ihre assoziierten Agenten-Kinematikzustandsschätzungen kombiniert. Das gesamte Modell, einschließlich des Bewertungs-NN 606, wird an Datensätzen trainiert, bei denen die wahren zukünftigen Trajektorien bekannt sind, sodass versucht wird, dass die Bewertungen für vorhergesagte Trajektorievorlagen, die nahe an den wahren zukünftigen Pfaden liegen, hoch sind und für die anderen Vorlagentrajektorien niedrig sind.
  • Ein Bewertungsumwandler 611 sammelt alle Trajektorievorlagen, die einem einzelnen Agenten in einer einzelnen Szene entsprechen, und die möglichen zukünftigen Bewegungen für diesen Agenten repräsentieren, die vom Modell in Betracht gezogen wurden. Er kombiniert sie alle in einen Satz von Wahrscheinlichkeiten für diese zukünftigen Pfade, sodass Pfade mit höherer Bewertung höhere Wahrscheinlichkeiten erhalten und die Summe der Wahrscheinlichkeiten für einen einzelnen Agenten Eins beträgt. In einer Ausführungsform wird eine Softmax-Operation verwendet, um die Transformation von Bewertungen für einen Agenten in Wahrscheinlichkeiten durchzuführen. Die geschätzte Wahrscheinlichkeit für eine spezielle Trajektorievorlage repräsentiert die Wahrscheinlichkeit, dass ein Agent der speziellen Trajektorievorlage folgen wird.
  • Ein Satz von Trajektorievorlagen kann wie oben beschrieben für jeden Agenten in einer Szene (einem Bereich, der durch Szenendaten repräsentiert wird) erzeugt werden und zum Trainieren und Evaluieren eines Deep-Learning-Modells zur Bewegungsvorhersage, wie etwa einem 2D- oder dreidimensionalen (3D) CNN, verwendet werden. Das trainierte und evaluierte CNN kann in Echtzeit durch beispielsweise das in 4 gezeigte Planungsmodul 404 verwendet werden, um eine Trajektorie für ein AV durch ein Verkehrsszenario mit dem Ziel, eine Kollision mit einem Agenten zu vermeiden, zu erzeugen. Das Planungsmodul 404 kann zum Beispiel die geschätzten Wahrscheinlichkeiten der Trajektorievorlagen verwenden, um zu bestimmen, welche Trajektorievorlage wahrscheinlicher durch einen speziellen Agenten genommen wird, und dann eine zweckmäßige Trajektorie für das AV erzeugen, um eine Kollision mit dem Agenten zu vermeiden.
  • In einer Ausführungsform beinhaltet das Trajektorievorlagenerzeugungssystem 600 ein Verfeinerungs-Neuronalnetzwerk (NN) 607, das die Merkmalskarte und andere Sensordaten als Eingabe nimmt und Verfeinerungen an der Trajektorievorlage ausgibt, die in den Straßenkartendaten nicht zur Verfügung stehen. Manche beispielhaften Verfeinerungen beinhalten unter anderem: die Geschwindigkeiten, mit denen Trajektorievorlagen von Agenten durchfahren werden und laterale Verlagerungen von Agenten von den Trajektorievorlagenpfadmittellinien, um Hindernisse auf einer oder einer anderen Seite einer Fahrspur zu berücksichtigen (z. B. um ein geparktes Fahrzeug zu vermeiden), oder Interaktionen zwischen Agenten.
  • In einer Ausführungsform ist das Verfeinerungs-NN 607 ein Fully-Connected Head, der die gleiche Eingabe wie das Bewertungs-NN 606 empfängt, aber Vektoren anstatt einzelne Zahlen erzeugt. In einer Ausführungsform führt das Verfeinerungs-NN 607 eine xy-Regression durch, die eine Agentenposition zu einer spezifizierten zukünftigen Zeit (z. B. 3 Sekunden) vorhersagt. Beispielsweise kann die Agentenposition jedes Zehntel einer Sekunde vorhergesagt werden, sodass insgesamt 30 x-Koordinaten und 30 y-Koordinaten für die Agentenposition vorhergesagt werden. Die Ausgabe des Verfeinerungs-NN 607 ist ein Vektor mit Länge 60, der zu den x- und y-Koordinaten der Trajektorievorlage von der Eingabe des Verfeinerungs-NN 607 hinzuzufügende Inkremente enthält.
  • In einer anderen Ausführungsform werden geteilte Lateral- und Longitudinal-Regressions-NNs zur Durchführung der Verfeinerung verwendet. Beispielsweise kann das Verfeinerungs-NN 607 zwei separate Fully-Connected Heads beinhalten, die jeweils einen Vektor mit Länge 30 in dem obigen Beispiel ausgeben. Ein Head gibt zu den Abständen entlang der Eingangstrajektorievorlage zwischen aufeinanderfolgenden Positionen des Agenten hinzuzufügende Inkremente aus, und der andere Head gibt laterale Verlagerungen für diese Eingangstrajektorie aus (d. h. Anpassungen an der vorhergesagten Position an einer oder der anderen Seite der Vorlage). Separate Modelle erleichtern, verschiedene Maßstäbe an den beiden Anpassungsarten zu erzwingen.
  • In noch einer anderen Ausführungsform des Verfeinerungs-NN 607 wird ein kleinerer Ausgabevektor von dem einen oder den mehreren Verfeinerungs-NNs zu der erforderlichen Anzahl von Inkrementen unter Verwendung eines kleines Satzes von Basisfunktionen, die eine kleine Bibliothek von Vorlagen für an den Trajektorievorlagen vorzunehmenden Änderungen umfassen, erweitert. Beispielsweise kann ein Satz von 5 oder mehr Chebysheff-Polynomen verwendet werden, um laterale Verlagerungen zu modellieren, sodass das Lateral-Verfeinerungs-NN 607 einen Vektor mit 5 Koeffizienten, die für 5 Chebysheff-Polynome verwendet werden, in eine Funktion ausgeben würde, aus der 30 Werte als Lateralanpassungen verwendet werden.
  • In einer Ausführungsform berücksichtigt das System 600 explizit Interaktionen zwischen Agenten. Von den aus den Straßenkartendaten für verschiedene Agenten abgeleiteten anfänglichen Trajektorievorlagen und ihren Wahrscheinlichkeiten kann angemessen angenommen werden, dass sie zumindest ungefähr unabhängig sind (z. B. ob ein Fahrzeug an einer Kreuzung nach links abbiegen will, wird wahrscheinlich nicht davon abhängen, wo sich andere Fahrzeuge befinden), aber die Ausführung dieser Trajektorievorlagen wird durch die Handlungen anderer Agenten beeinflusst. In einer Ausführungsform kann die Trajektorievorlagenerzeugung für verschiedene Agenten parallel durchgeführt werden, und der Großteil der Verarbeitung von Szenendaten kann unter allen Agenten in der Szene geteilt werden.
  • In einer Ausführungsform erzeugt das System 600 Trajektorievorlagen für Fußgänger und unterscheidet nicht zwischen Fahrzeugtypen (z. B. Autos, Lastwagen, Fahrrädern usw.). Beispielsweise kann eine alternative Trajektorievorlagenerzeugungsprozedur für Fußgänger, Fahrradfahrer und andere Agententypen verwendet werden. Die Trajektorievorlagenerzeugung für Fußgänger beinhaltet Fußweg- und Fußgängerüberwegdaten, die aus den Straßenkartendaten und/oder anderen Datenquellen erhalten werden können. Eine beispielhafte Annahme für Fußgänger besteht darin, dass Fußgänger Fußwegen oder Fußgängerüberwegen folgen und in diesen verbleiben werden. Eine beispielhafte Annahme für Fahrradfahrer besteht darin, dass die Fahrradfahrer einem Fahrradweg folgen und in diesem bleiben werden. Eine beispielhafte Annahme für Lastwagen besteht darin, dass die Lastwagen einer designierten Lastwagentransportroute folgen werden, wie in den Straßenkartendaten beschrieben, die verkehrsreiche Bereiche, niedrige Brücken usw. vermeiden. Eine beispielhafte Annahme für Busse besteht darin, dass angenommen wird, dass die Busse Busrouten folgen und in designierten Busspuren, die in den Straßenkartendaten definiert sind, bleiben und/oder diesen folgen.
  • In einer Ausführungsform ermöglicht das System 600 ein „freies Kombinieren“ von Trajektorieerzeugungstechniken. Beispielsweise könnten die oben beschriebenen Straßenkarten durch das Hinzufügen (oder Ersetzen) von Trajektorievorlagen von anderen Datenquellen (z. B. Agentenverfolgungsdaten in einem AV-Protokoll) augmentiert (oder ausgetauscht) werden, wie etwa unterschiedliche Stile von Trajektorievorlagen oder rein physikbasierte Modelle (z. B. konstante Bahngeschwindigkeit und konstanter Kurs).
  • Beispielhafte Prozesse
  • 7 ist ein Flussdiagramm eines Prozesses 700 zum Erzeugen von Trajektorievorlagen zum Trainieren eines Deep-Learning-Modells zur Bewegungsvorhersage gemäß einer oder mehreren Ausführungsformen. Der Prozess 700 kann zum Beispiel unter Verwendung des mit Bezug auf 3 beschriebenen Computersystems 300 implementiert werden.
  • Der Prozess 700 kann mit dem Erhalten eines Standorts mindestens eines Agenten (701), Erhalten von Sensordaten, die an dem Standort gesammelt werden (702), und Erhalten von Straßenkartendaten für den Standort (703) beginnen.
  • Der Prozess 700 fährt mit dem Erzeugen mindestens einer möglichen Trajektorievorlage für den mindestens einen Agenten an dem Standort fort, wobei die mindestens eine mögliche Trajektorievorlage gemäß den Straßenkartendaten beschränkt ist (704).
  • Der Prozess 700 fährt mit dem Vorhersagen, unter Verwendung eines maschinellen Lernmodells, einer Bewertung für die mindestens eine mögliche Trajektorievorlage (705) fort.
  • In einer Ausführungsform ist die Trajektorievorlage auf eine spezielle Fahrspur oder einen speziellen Verbinder in den Straßenkartendaten beschränkt. In einer Ausführungsform erzeugt der Prozess 700 eine Bildeinbettung der Sensordaten, verarbeitet das Bild unter Verwendung eines faltenden neuronalen Netzwerks, um eine Merkmalskarte und einen globalen Merkmalsvektor bereitzustellen, erzeugt einen Attention-Vektor durch Kombinieren der Merkmalskarte mit der mindestens einen Trajektorievorlage unter Verwendung eines Spatial-Attention-Mechanismus, erzeugt Eingabedaten durch Kombinieren der Attention-Vektors, des globalen Merkmalsvektors, der Sensordaten und des Standorts und gibt die Eingabedaten in das maschinelle Lernmodell ein, um eine Bewertung für die Trajektorievorlage vorherzusagen.
  • In einer Ausführungsform werden der Merkmalsvektor und die Sensordaten als Eingabe in ein Verfeinerungsmodell bereitgestellt, das Anpassungen an der mindestens einen Trajektorievorlage ausgibt. Manche Beispiele der Anpassungen beinhalten Erhöhen oder Verringern der Geschwindigkeit eines oder mehrerer Agenten am Standort und laterales Verlagern eines oder mehrerer Agenten von einer Mittellinie einer Straße am Standort aufgrund beispielsweise eines geparkten Fahrzeugs auf der Seite der Fahrspur.
  • In der vorstehenden Beschreibung wurden Ausführungsformen der Erfindung mit Bezug auf zahlreiche spezifische Einzelheiten beschrieben, die von Implementierung zu Implementierung variieren können. Die Beschreibung und Zeichnungen sind dementsprechend als veranschaulichend anstatt beschränkend anzusehen. Der alleinige und ausschließliche Indikator des Schutzumfangs der Erfindung, und was durch die Anmelder als der Schutzumfang der Erfindung beabsichtigt ist, ist der wörtliche und äquivalente Schutzumfang des Satzes von Ansprüchen, die aus dieser Anmeldung hervorgehen, in der spezifischen Form, in der derartige Ansprüche hervorgehen, einschließlich einer beliebigen anschließenden Korrektur. Jegliche hierin ausdrücklich dargelegten Definitionen für in derartigen Ansprüchen enthaltene Begriffe sollen die Bedeutung solcher Begriffe regulieren, wie in den Ansprüchen verwendet. Zusätzlich kann, wenn der Begriff „ferner einschließlich“ in der vorstehenden Beschreibung oder in den folgenden Ansprüchen verwendet wird, das, was diesem Ausdruck folgt, ein zusätzlicher Schritt oder eine zusätzliche Entität oder ein Teilschritt/eine Teilentität eines zuvor vorgetragenen Schritts oder einer zuvor vorgetragenen Entität sein.

Claims (20)

  1. Verfahren, das Folgendes umfasst: Erhalten, unter Verwendung mindestens eines Prozessors, von Szenendaten, wobei die Szenendaten einen aktuellen Standort eines Fahrzeugs, am Standort aufgenommene Sensordaten und Straßenkartendaten für den Standort beinhalten; Erzeugen, unter Verwendung des mindestens einen Prozessors, mindestens einer möglichen Trajektorievorlage für mindestens einen Agenten an dem Standort basierend auf den Szenendaten wobei die mindestens eine mögliche Trajektorievorlage gemäß den Straßenkartendaten beschränkt ist; und Vorhersagen, unter Verwendung des mindestens einen Prozessors, einer Bewertung für die mindestens eine mögliche Trajektorievorlage unter Verwendung eines maschinellen Lernmodells.
  2. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Beschränken der Trajektorievorlage auf eine spezielle Fahrspur oder einen speziellen Verbinder in den Straßenkartendaten.
  3. Verfahren nach Anspruch 1, wobei das Vorhersagen, unter Verwendung eines maschinellen Lernmodells, einer Bewertung für die mindestens eine mögliche Trajektorievorlage ferner Folgendes umfasst: Erzeugen einer Bildeinbettung der Sensordaten und der Straßenkartendaten; Verarbeiten, unter Verwendung eines faltenden neuronalen Netzwerks, der Bildeinbettung, um eine Merkmalskarte und einen globalen Merkmalsvektor bereitzustellen; Erzeugen, unter Verwendung des mindestens einen Prozessors, eines lokalen Merkmalsvektors durch Kombinieren der Merkmalskarte mit der mindestens einen Trajektorievorlage unter Verwendung eines Spatial-Attention-Mechanismus (spatial attention - räumliche Aufmerksamkeit); Erzeugen, unter Verwendung des mindestens einen Prozessors, von Eingabedaten durch Kombinieren der Vorlagentrajektoriepositionskoordinaten, des lokalen Merkmalsvektors, des globalen Merkmalsvektors und eines Agentenzustandsvektors; Eingeben, in das maschinelle Lernmodell, der Eingabedaten; und Vorhersagen, unter Verwendung des maschinellen Lernmodells, der Bewertung für die mindestens eine mögliche Trajektorievorlage.
  4. Verfahren nach Anspruch 3, wobei die Merkmalskarte ein Bild mit einem Merkmalsvektor pro Pixel ist, der räumliche Variation in den Sensordaten codiert.
  5. Verfahren nach Anspruch 3, wobei der globale Merkmalsvektor die Sensordaten für den Standort zusammenfasst.
  6. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Bereitstellen der Eingabedaten zu einem Verfeinerungsmodell, das Anpassungen an der mindestens einen Trajektorievorlage ausgibt.
  7. Verfahren nach Anspruch 6, wobei die Anpassungen Erhöhen oder Verringern einer Geschwindigkeit eines oder mehrerer Agenten an dem Standort beinhalten.
  8. Verfahren nach Anspruch 6, wobei die Anpassungen laterales Verlagern eines oder mehrerer Agenten von einer Mittellinie einer Straße an dem Standort beinhalten.
  9. Verfahren nach Anspruch 1, wobei die Sensordaten ein Kamerabild und/oder eine Punktwolke von einem LiDAR-Sensor (LiDAR: Light Detection and Ranging - Lichtdetektion und -entfernungsmessung), die an dem Standort aufgenommen werden, beinhalten.
  10. Verfahren nach Anspruch 1, wobei die Sensordaten Daten beinhalten, die durch ein Wahrnehmungsmodul des Fahrzeugs ausgegeben werden.
  11. Verfahren nach Anspruch 1, wobei der mindestens eine Agent mindestens einen Fußgänger beinhaltet, und die Straßenkartendaten Fußweg- oder Fußgängerüberwegdaten beinhalten.
  12. Verfahren nach Anspruch 1, wobei es zwei oder mehr Agenten gibt, und Trajektorien parallel basierend auf gemeinsam genutzten Daten erzeugt werden.
  13. Verfahren nach Anspruch 1, wobei die mindestens eine Trajektorievorlage jedes mögliche beabsichtigte Verhalten des mindestens einen Agenten basierend auf den Straßenkartendaten beinhaltet.
  14. Verfahren nach Anspruch 1, wobei das Erzeugen, unter Verwendung des mindestens einen Prozessors, der mindestens einen Trajektorievorlage für den mindestens einen Agenten ferner Folgendes umfasst: Durchsuchen der Straßenkartendaten nach Fahrspuren und Verbindern eines Straßennetzes, die innerhalb eines festen Radius des Standorts liegen; Diskretisieren jeder Fahrspur oder jedes Verbinders, die bei der Suche gefunden werden, unter Verwendung eines Standardabstands; und für jede Fahrspur und jeden Verbinder, Zeichnen eines Pfades für den mindestens einen Agenten, der von einer Startstellung des mindestens einen Agenten beginnt, in die Fahrspur oder den Verbinder übergeht und dann der Fahrspur oder dem Verbinder folgt.
  15. Verfahren nach Anspruch 1, wobei die mindestens eine Trajektorievorlage unter Verwendung von Dubins-Kurven gezeichnet wird.
  16. System, das Folgendes umfasst: mindestens einen Prozessor; Speicher, der Anweisungen speichert, die bei Ausführung durch den mindestens einen Prozessor bewirken, dass der mindestens eine Prozessor Operationen durchführt, die Folgendes umfassen: Erhalten von Szenendaten, wobei die Szenendaten einen aktuellen Standort eines Fahrzeugs, am Standort aufgenommene Sensordaten und Straßenkartendaten für den Standort beinhalten; Erzeugen mindestens einer möglichen Trajektorievorlage für mindestens einen Agenten an dem Standort basierend auf den Szenendaten, wobei die mindestens eine mögliche Trajektorievorlage gemäß den Straßenkartendaten beschränkt ist; und Vorhersagen einer Bewertung für die mindestens eine mögliche Trajektorievorlage unter Verwendung eines maschinellen Lernmodells.
  17. System nach Anspruch 16, wobei die Operationen ferner Folgendes umfassen: Beschränken der Trajektorievorlage auf eine spezielle Fahrspur oder einen speziellen Verbinder in den Straßenkartendaten.
  18. System nach Anspruch 16, wobei das Vorhersagen, unter Verwendung eines maschinellen Lernmodells, einer Bewertung für die mindestens eine mögliche Trajektorievorlage ferner Folgendes umfasst: Erzeugen einer Bildeinbettung der Sensordaten und der Straßenkartendaten; Verarbeiten, unter Verwendung eines faltenden neuronalen Netzwerks, der Bildeinbettung, um eine Merkmalskarte und einen globalen Merkmalsvektor bereitzustellen; Erzeugen, unter Verwendung des mindestens einen Prozessors, eines lokalen Merkmalsvektors durch Kombinieren der Merkmalskarte mit der mindestens einen Trajektorievorlage unter Verwendung eines Spatial-Attention-Mechanismus (spatial attention - räumliche Aufmerksamkeit); Erzeugen, unter Verwendung des mindestens einen Prozessors, von Eingabedaten durch Kombinieren der Vorlagentrajektoriepositionskoordinaten, des lokalen Merkmalsvektors, des globalen Merkmalsvektors und eines Agentenzustandsvektors; Eingeben, in das maschinelle Lernmodell, der Eingabedaten; und Vorhersagen, unter Verwendung des maschinellen Lernmodells, der Bewertung für die mindestens eine mögliche Trajektorievorlage.
  19. System nach Anspruch 16, wobei die Operationen ferner Folgendes umfassen: Bereitstellen der Eingabedaten zu einem Verfeinerungsmodell, das Anpassungen an der mindestens einen Trajektorievorlage ausgibt.
  20. System nach Anspruch 16, wobei das Erzeugen, unter Verwendung des mindestens einen Prozessors, der mindestens einen Trajektorievorlage für den mindestens einen Agenten ferner Folgendes umfasst: Durchsuchen der Straßenkartendaten nach Fahrspuren und Verbindern eines Straßennetzes, die innerhalb eines festen Radius des Standorts liegen; Diskretisieren jeder Fahrspur oder jedes Verbinders, die bei der Suche gefunden werden, unter Verwendung eines Standardabstands; und für jede Fahrspur und jeden Verbinder, Zeichnen eines Pfades für den mindestens einen Agenten, der von einer Startstellung des mindestens einen Agenten beginnt, in die Fahrspur oder den Verbinder übergeht und dann der Fahrspur oder dem Verbinder folgt.
DE102021109466.6A 2020-09-25 2021-04-15 Trajektorieerzeugung unter verwendung eines strassennetzmodells Pending DE102021109466A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/033,615 2020-09-25
US17/033,615 US20220101155A1 (en) 2020-09-25 2020-09-25 Trajectory Generation Using Road Network Model

Publications (1)

Publication Number Publication Date
DE102021109466A1 true DE102021109466A1 (de) 2022-03-31

Family

ID=74678994

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021109466.6A Pending DE102021109466A1 (de) 2020-09-25 2021-04-15 Trajektorieerzeugung unter verwendung eines strassennetzmodells

Country Status (5)

Country Link
US (1) US20220101155A1 (de)
KR (1) KR20220041701A (de)
CN (1) CN114255260A (de)
DE (1) DE102021109466A1 (de)
GB (1) GB2601202B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7052174B2 (ja) * 2016-01-05 2022-04-12 モービルアイ ビジョン テクノロジーズ リミテッド 将来経路を推定するシステム及び方法
US11834069B2 (en) * 2020-03-05 2023-12-05 Uatc, Lcc Systems and methods for selecting trajectories based on interpretable semantic representations
US11858514B2 (en) 2021-03-30 2024-01-02 Zoox, Inc. Top-down scene discrimination
US11810225B2 (en) * 2021-03-30 2023-11-07 Zoox, Inc. Top-down scene generation
CN113781527B (zh) * 2021-11-10 2022-02-08 华中科技大学 一种基于多交互时空图网络的行人轨迹预测方法和系统
CN115049130B (zh) * 2022-06-20 2024-06-04 重庆邮电大学 一种基于时空金字塔的自动驾驶轨迹预测方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2009290578B2 (en) * 2008-09-15 2015-11-12 Haier Us Appliance Solutions, Inc. Energy management of dishwasher appliance
US10303166B2 (en) * 2016-05-23 2019-05-28 nuTonomy Inc. Supervisory control of vehicles
US10579063B2 (en) * 2017-07-21 2020-03-03 Uatc, Llc Machine learning for predicting locations of objects perceived by autonomous vehicles
US10782693B2 (en) * 2017-09-07 2020-09-22 Tusimple, Inc. Prediction-based system and method for trajectory planning of autonomous vehicles
US10953881B2 (en) * 2017-09-07 2021-03-23 Tusimple, Inc. System and method for automated lane change control for autonomous vehicles
US11017550B2 (en) * 2017-11-15 2021-05-25 Uatc, Llc End-to-end tracking of objects
US20190220016A1 (en) * 2018-01-15 2019-07-18 Uber Technologies, Inc. Discrete Decision Architecture for Motion Planning System of an Autonomous Vehicle
WO2019231456A1 (en) * 2018-05-31 2019-12-05 Nissan North America, Inc. Probabilistic object tracking and prediction framework
US11126185B2 (en) * 2018-09-15 2021-09-21 Toyota Research Institute, Inc. Systems and methods for predicting vehicle trajectory
US11755018B2 (en) * 2018-11-16 2023-09-12 Uatc, Llc End-to-end interpretable motion planner for autonomous vehicles
WO2020198189A1 (en) * 2019-03-25 2020-10-01 Zoox, Inc. Pedestrian prediction based on attributes
US11328593B2 (en) * 2019-07-31 2022-05-10 Toyota Research Institute, Inc. Autonomous vehicle user interface with predicted trajectories
US11427210B2 (en) * 2019-09-13 2022-08-30 Toyota Research Institute, Inc. Systems and methods for predicting the trajectory of an object with the aid of a location-specific latent map
US11345342B2 (en) * 2019-09-27 2022-05-31 Intel Corporation Potential collision warning system based on road user intent prediction
US11586931B2 (en) * 2019-10-31 2023-02-21 Waymo Llc Training trajectory scoring neural networks to accurately assign scores
CA3160652A1 (en) * 2019-11-15 2021-05-20 Waymo Llc Agent trajectory prediction using vectorized inputs
US20210149404A1 (en) * 2019-11-16 2021-05-20 Uatc, Llc Systems and Methods for Jointly Performing Perception, Perception, and Motion Planning for an Autonomous System
US11442459B2 (en) * 2019-12-11 2022-09-13 Uatc, Llc Systems and methods for training predictive models for autonomous devices
US11797836B1 (en) * 2019-12-23 2023-10-24 Waymo Llc Sensor-integrated neural network
US11535274B2 (en) * 2020-03-26 2022-12-27 Pony Ai Inc. Self-learning vehicle performance optimization

Also Published As

Publication number Publication date
US20220101155A1 (en) 2022-03-31
GB2601202B (en) 2024-03-20
GB202100604D0 (en) 2021-03-03
KR20220041701A (ko) 2022-04-01
CN114255260A (zh) 2022-03-29
GB2601202A (en) 2022-05-25

Similar Documents

Publication Publication Date Title
US11500063B2 (en) Deep learning for object detection using pillars
DE102020129854A1 (de) Sequenzielle fusion zur 3d-objektdetektion
DE112020000487T5 (de) Automatisches wählen von datenproben zur annotation
DE102021109466A1 (de) Trajektorieerzeugung unter verwendung eines strassennetzmodells
DE102020111682A1 (de) Systeme und verfahren zum implementieren einer autonomen fahrzeugreaktion auf ein sensorversagen
DE102021101758A1 (de) Ampeldetektionssystem für ein fahrzeug
DE102020111938A1 (de) Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie
DE112019006119T5 (de) Erstellung von bewegungsgraphen und routenplanung auf fahrspurebene
DE102020133744A1 (de) Vordergrundextraktion unter verwendung von flächenanpassung
DE102021112349A1 (de) Fahrzeugbetrieb unter verwendung eines dynamischen belegungsrasters
DE102020133982A1 (de) Automatisierte objektannotation unter verwendung fusionierter kamera-/lidar-datenpunkte
DE102020128156A1 (de) Bewerten von trajektorien autonomer fahrzeuge unter verwendung angemessener mengendaten
DE112019006282T5 (de) Betrieb eines Fahrzeugs unter Verwendung mehrerer Bewegungsbeschränkungen
DE102021108068A1 (de) Schätzung von bodenebenen unter verwendung eines semantischen lidar-netzes
DE112020002695T5 (de) Autonomer fahrzeugbetrieb mittels linearer temporaler logik
DE102022100213A1 (de) Auf Maschinenlernen basierendes Framework für die Annotation befahrbarer Oberflächen
DE102021133742A1 (de) Planung einer trajektorie eines autonomen fahrzeugs mit dynamischem zustand
DE102020126217A1 (de) Navigieren von Mehrwege-Stopp-Kreuzungen mit einem autonomen Fahrzeug
DE102021133739A1 (de) Steuern eines autonomen fahrzeugs unter verwendung einer näheregel
DE102021118316A1 (de) Monokulare 3d-objekterkennung aus bildsemantiknetzwerk
DE102021127118A1 (de) Identifizieren von Objekten mit LiDAR
DE102021124913A1 (de) Metrik-backpropagation für die beurteilung der leistung von untersystemen
DE102021132737A1 (de) Manöverrealisator auf abtastbasis
DE102021133340A1 (de) Modalitätsübergreifendes aktives lernen zur objekterkennung
DE102021211781A1 (de) Fahrzeugbetrieb unter verwendung von verhaltensregelprüfungen