DE102021132722A1 - Auswählen von testszenarien zum bewerten der leistung autonomer fahrzeuge - Google Patents

Auswählen von testszenarien zum bewerten der leistung autonomer fahrzeuge Download PDF

Info

Publication number
DE102021132722A1
DE102021132722A1 DE102021132722.9A DE102021132722A DE102021132722A1 DE 102021132722 A1 DE102021132722 A1 DE 102021132722A1 DE 102021132722 A DE102021132722 A DE 102021132722A DE 102021132722 A1 DE102021132722 A1 DE 102021132722A1
Authority
DE
Germany
Prior art keywords
scenarios
scenario
subset
performance
data
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
DE102021132722.9A
Other languages
English (en)
Inventor
Calin Belta
Anne Collin
Radboud Duintjer Tebbens
Dmytro S. Yershov
Amitai Bin-Nun
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 DE102021132722A1 publication Critical patent/DE102021132722A1/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/12Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to parameters of the vehicle itself, e.g. tyre models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • 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/10Path keeping
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M17/00Testing of vehicles
    • G01M17/007Wheeled or endless-tracked vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/0227Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/50External transmission of data to or from the vehicle of positioning data, e.g. GPS [Global Positioning System] data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Geometry (AREA)
  • Traffic Control Systems (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

In einem beispielhaften Verfahren empfängt ein Computersystem erste Daten, die eine Vielzahl von Szenarien repräsentieren, zum Schätzen einer Leistung eines Fahrzeugs beim Durchführen autonomer Operationen. Ferner bestimmt das Computersystem für jedes der Szenarien: (i) eine erste Metrik, die eine beobachtete Leistung des Fahrzeugs in diesem Szenario anzeigt, wobei die erste Metrik auf Grundlage mindestens einer Regel bestimmt wird, und (ii) eine zweite Metrik, die einen mit diesem Szenario verbundenen Grad an Informationsgewinn anzeigt. Das Computersystem wählt einen Teilsatz der Szenarien auf Grundlage der ersten und der zweiten Metriken aus und gibt zweite Daten aus, die den Teilsatz der Szenarien anzeigen.

Description

  • GEBIET DER ERFINDUNG
  • Diese Beschreibung betrifft ein Computersystem zum Auswählen von Testszenarien zum Bewerten der Leistung autonomer Fahrzeuge.
  • HINTERGRUND
  • Autonome Fahrzeuge (autonomous vehicles, AVs) werden üblicherweise in mehreren Szenarien getestet, um das Verhalten des AV unter verschiedenen Bedingungen zu beurteilen. Auf Grundlage der Testergebnisse kann das AV modifiziert und/oder neu konfiguriert werden, um sein Verhalten zu verbessern.
  • Während eines Entwicklungsprozesses können beispielsweise die Fähigkeiten eines AV zur autonomen Navigation in mehreren Szenarien getestet werden, von denen jedes eine andere Kombination von Straßen, Hindernissen, anderen Fahrzeugen, Fußgängern und Verkehrsströmen darstellt, die das AV durchqueren muss. Auf Grundlage der Testergebnisse können Entwickler das AV modifizieren und/oder neu konfigurieren, so dass die Fähigkeiten des AV zur autonomen Navigation verbessert werden.
  • Figurenliste
    • 1 zeigt ein Beispiel eines AV mit autonomer Fähigkeit.
    • 2 zeigt eine beispielhafte „Cloud“-Computing-Umgebung.
    • 3 zeigt ein Computersystem.
    • 4 zeigt eine beispielhafte Architektur für ein AV.
    • 5 zeigt ein Beispiel für Eingänge und Ausgänge, die von einem Wahrnehmungsmodul verwendet werden können.
    • 6 zeigt ein Beispiel eines LiDAR-Systems.
    • 7 zeigt das LiDAR-System im Betrieb.
    • 8 zeigt weitere Einzelheiten des Betriebs des LiDAR-Systems.
    • 9 zeigt ein Blockdiagramm der Beziehungen zwischen Eingängen und Ausgängen eines Planungsmoduls.
    • 10 zeigt einen für Wegplanung verwendeten gerichteten Graphen.
    • 11 zeigt ein Blockdiagramm der Eingänge und Ausgänge eines Steuermoduls.
    • 12 zeigt ein Blockdiagramm der Eingänge, Ausgänge und Komponenten einer Steuereinheit.
    • 13 zeigt ein beispielhaftes System für iteratives Prototyp-Entwickeln eines AV und Validieren der Leistung des prototypischen AV.
    • 14A und 14B zeigen ein vereinfachtes Beispiel eines Szenarios zum Testen der Leistung eines AV.
    • 15 zeigt einen beispielhaften Prozess zum Auswählen eines Satzes von Szenarien zum Testen der Leistung eines AV.
    • 16 zeigt eine vereinfachte Beziehung zwischen einer Anzahl getesteter Szenarien und einer Gesamtmenge an Informationen, die über die Leistung eines AV gewonnen werden.
    • 17 zeigt eine Darstellung des Bayes'schen hierarchischen Modells.
    • 18 zeigt eine beispielhafte Wahrscheinlichkeitsverteilung einer Zufallsvariablen X.
    • 19 zeigt Karten zweier Beispielstädte zum Beurteilen der Leistung eines AV.
    • 20 zeigt die Wahrscheinlichkeitsverteilung von Kollisionen in allen Szenarien einer beispielhaften Computersimulation.
    • 21 zeigt Verteilungen von Kollisionen entlang einer Route für die sechs Beispielstädte gemäß einer beispielhaften Computersimulation.
    • 22A zeigt eine beispielhafte A-Posteriori-Verteilung nicht beobachtbarer Parameter eines angepassten Bayes'schen hierarchischen Modells.
    • 22B zeigt eine beispielhafte prädiktive A-Posteriori-Anpassung des Bayes'schen Hierarchischen Modells.
    • 23 zeigt einen Vergleich des Informationsgewinns für einen vorliegend beschriebenen beispielhaften Szenarienauswahlalgorithmus, eine Latin-Hypercube-Stichprobenentnahme-Implementierung und verschiedene Zufallsauswahlen.
    • 24 zeigt ein Flussdiagramm eines beispielhaften Prozesses zum Überwachen und Steuern eines Betriebs eines oder mehrerer AV.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der nachfolgenden Beschreibung werden zu Erläuterungszwecken zahlreiche konkrete Einzelheiten dargelegt, um ein umfassendes Verständnis der vorliegenden Erfindung zu vermitteln. Es versteht sich jedoch, dass die vorliegende Erfindung auch ohne diese konkreten Einzelheiten umgesetzt werden kann. In anderen Fällen werden allgemein bekannte Strukturen und Einrichtungen in Blockdiagrammform gezeigt, um die vorliegende Erfindung klarer darzustellen.
  • In den Zeichnungen sind konkrete Anordnungen oder Ordnungen schematischer Elemente, beispielsweise solcher, die Einrichtungen, Module, Anweisungsblöcke und Datenelemente repräsentieren, aus Gründen einer vereinfachten Beschreibung gezeigt. Ein Fachmann sollte jedoch verstehen, dass die konkrete Ordnung oder Anordnung der schematischen Elemente in den Zeichnungen nicht implizieren soll, dass eine bestimmte Reihenfolge oder Abfolge der Verarbeitung oder eine Trennung von Prozessen erforderlich ist. Ferner soll die Aufnahme eines schematischen Elements in eine Zeichnung nicht bedeuten, dass dieses Element in allen Ausführungsformen erforderlich ist oder dass die durch dieses Element dargestellten Merkmale in einigen Ausführungsformen nicht in andere Elemente aufgenommen oder mit anderen Elementen kombiniert werden können.
  • Wenn ferner in den Zeichnungen Verbindungselemente wie beispielsweise durchgezogene oder gestrichelte Linien oder Pfeile verwendet werden, um eine Verbindung, eine Beziehung oder einen Zusammenhang zwischen oder unter zwei oder mehr anderen schematischen Elementen zu veranschaulichen, so ist das Fehlen solcher Verbindungselemente nicht so zu verstehen, dass keine Verbindung, keine Beziehung oder kein Zusammenhang vorliegen kann. Mit anderen Worten, einige Verbindungen, Beziehungen oder Zusammenhänge zwischen Elementen sind in den Zeichnungen nicht gezeigt, um nicht von der Offenbarung abzulenken. Zudem wird aus Gründen einer vereinfachten Darstellung ein einziges Verbindungselement verwendet, um mehrere Verbindungen, Beziehungen oder Zusammenhänge zwischen Elementen zu repräsentieren. Wenn beispielsweise ein Verbindungselement eine Kommunikation von Signalen, Daten oder Anweisungen repräsentiert, sollte ein Fachmann verstehen, dass ein solches Element einen oder mehrere Signalwege (z.B. einen Bus) repräsentiert, je nachdem, was erforderlich ist, um die Kommunikation zu bewirken.
  • Es wird nun im Einzelnen Bezug auf Ausführungsformen genommen, zu denen Beispiele in den begleitenden Zeichnungen veranschaulicht sind. In der nachfolgenden ausführlichen Beschreibung werden zahlreiche konkrete Einzelheiten dargelegt, um ein vollständiges Verständnis der verschiedenen beschriebenen Ausführungsformen zu gewährleisten. Ein Fachmann versteht jedoch, dass die verschiedenen beschriebenen Ausführungsformen auch ohne diese konkreten Einzelheiten umgesetzt werden können. In anderen Fällen wurden allgemein bekannte Verfahren, Prozeduren, Komponenten, Schaltungen und Netzwerke nicht im Einzelnen beschrieben, um nicht unnötig von Aspekten der Ausführungsformen abzulenken.
  • Nachstehend werden verschiedene Merkmale beschrieben, die jeweils unabhängig voneinander oder mit jedweder Kombination weiterer Merkmale verwendet werden können. Ein einzelnes Merkmal löst jedoch möglicherweise noch keines der vorstehend erörterten Probleme oder löst möglicherweise nur eines der vorstehend erörterten Probleme. Einige der vorstehend erörterten Probleme werden möglicherweise von keinem der vorliegend beschriebenen Merkmale vollständig gelöst. Auch wenn Überschriften angegeben sind, können Informationen, die sich auf eine bestimmte Überschrift beziehen, aber nicht in dem Abschnitt mit dieser Überschrift zu finden sind, auch an anderer Stelle in dieser Beschreibung zu finden sein. Ausführungsformen werden vorliegend gemäß der nachstehenden Gliederung beschrieben:
    1. 1. Allgemeine Übersicht
    2. 2. Systemübersicht
    3. 3. AV-Architektur
    4. 4. AV-Eingänge
    5. 5. AV-Planung
    6. 6. AV-Steuerung
    7. 7. AV-Leistungsbewertungssystem
    8. 8. Beispielhafte Methoden zum Auswählen von Szenarien auf Grundlage von Informationsgewinn
  • Allgemeine Übersicht
  • Ein autonomes Fahrzeug (AV) wird üblicherweise in mehreren Szenarien getestet, um das Verhalten des AV unter verschiedenen Bedingungen zu beurteilen. Jedes Szenario kann beispielsweise eine bestimmte Kombination von Straßen, Hindernissen, anderen Fahrzeugen, Fußgängern, Verkehrsströmen und Umgebungsbedingungen vorgeben, die ein AV durchfahren muss. Wenn sich das AV in einem oder mehreren der Szenarien unerwünscht verhält (z.B. wenn das AV in eine Kollision verwickelt ist, gegen die Verkehrsregeln verstößt usw.), kann das Verhalten des AV so modifiziert werden, dass es in Zukunft weniger wahrscheinlich ist, dass das AV dieses Verhalten zeigt.
  • In einigen Fällen kann ein Satz von Szenarien so ausgewählt werden, dass angesichts eines bestimmten Ressourcenbudgets möglichst viele Informationen über die Leistung des AV gewonnen werden können. Zum Beispiel kann die Leistung eines AV als Zufallsvariable mit einer bestimmten Wahrscheinlichkeitsverteilung ausgedrückt werden. Ferner können Tests unter Verwendung eines oder mehrerer Szenarien durchgeführt werden, so dass die Entropie dieser Zufallsvariablen reduziert wird. Szenarien, die bei Verwendung zur Durchführung eines Tests eine Entropie der Zufallsvariablen um einen bestimmten Grad reduzieren, können bei der Auswahl gegenüber Szenarien, die die Entropie um einen vergleichsweise geringeren Grad reduzieren, bevorzugt werden. Ferner kann der ausgewählte Satz von Szenarien in eine Standard-Testbatterie aufgenommen werden, um die Leistung des AV während der Entwicklung und Validierung von AV-Systemen für autonome Navigation zu beurteilen.
  • Zu den Vorteilen dieser Methoden gehört die Verbesserung der Effizienz und Geschwindigkeit, mit der die Leistung eines AV getestet werden kann.
  • Beispielsweise kann gemäß einem traditionellen Ansatz ein AV mit Brute-Force-Methoden in einer großen Anzahl von Szenarien getestet werden, ohne die Menge an Informationen zu berücksichtigen, die aus jedem Testszenario gewonnen wird. Da einige Szenarien in Bezug auf eine Beurteilung der Leistung des AV wenig aussagekräftig und/oder im Hinblick auf andere Szenarien überflüssig sein können, werden beim Testen dieser Szenarien möglicherweise Ressourcen verschwendet. Da ferner unter Umständen der Ertrag jedes weiteren getesteten Szenarios für die Beurteilung der Leistung des AV immer weiter abnimmt, werden möglicherweise erhebliche Ressourcen aufgewendet, um vergleichsweise wenig nützliche Informationen über die Leistung des AV zu erhalten.
  • Mit den vorliegend beschriebenen Methoden dagegen kann die Leistung eines AV schneller und effizienter getestet werden. Beispielsweise kann ein begrenzter Satz von Szenarien zum Testen ausgewählt werden, so dass jedes der Szenarien in dem Satz nützliche Informationen für die Beurteilung der Leistung des AV liefert. Ferner kann der Satz so gewählt werden, dass die Auswirkungen eines abnehmenden Ertrags abgeschwächt werden. Dementsprechend kann die Leistung des AV unter Verwendung einer geringeren Anzahl von Testszenarien bestimmt werden (z.B. im Vergleich zur Anzahl von Testszenarien, die im Rahmen eines Brute-Force-Ansatzes verwendet werden könnten).
  • In einigen Implementierungen können diese Methoden die Entwicklung und Validierung eines AV-Systems für autonome Navigation beschleunigen (z.B. indem sie Entwicklern ermöglichen, unerwünschtes Verhalten des AV schneller zu erkennen, so dass das Verhalten korrigiert werden kann). Ferner können diese Methoden verwendet werden, um zu bestimmen, ob ein AV bestimmte Sicherheitsziele oder -anforderungen (z.B. ein gewünschtes Sicherheitsniveau) erfüllt.
  • Systemübersicht
  • 1 zeigt ein Beispiel eines AV 100 mit autonomer Fähigkeit.
  • Die Bezeichnung „autonome Fähigkeit“ bezieht sich vorliegend auf eine Funktion, ein Merkmal oder eine Einrichtung, die es ermöglicht, ein Fahrzeug teilweise oder vollständig ohne menschliche Echtzeit-Intervention zu betreiben, darunter, ohne hierauf eingeschränkt zu sein, vollständig autonome AVs, hochgradig autonome AVs und bedingt autonome AVs.
  • Ein autonomes Fahrzeug (AV) ist vorliegend ein Fahrzeug, das autonome Fähigkeit besitzt.
  • Ein „Fahrzeug“ umfasst vorliegend Transportmittel für Güter oder Personen. Beispielsweise Autos, Busse, Züge, Flugzeuge, Drohnen, Lastwagen, Boote, Schiffe, Tauchfahrzeuge, Luftschiffe usw. Ein fahrerloses Auto ist ein Beispiel für ein Fahrzeug.
  • „Trajektorie“ bezieht sich vorliegend auf einen Weg oder eine Route zum Navigieren eines AV von einem ersten räumlich-zeitlichen Ort zu einem zweiten räumlich-zeitlichen Ort. In einer Ausführungsform wird der erste räumlich-zeitliche Ort als Anfangs- oder Startort und der zweite räumlich-zeitliche Ort als Bestimmungsort, Endort, Ziel, Zielposition oder Zielort bezeichnet. In einigen Beispielen besteht eine Trajektorie aus einem oder mehreren Teilstücken (z.B. Straßenabschnitten) und besteht jedes Teilstück aus einem oder mehreren Blöcken (z.B. Abschnitten einer Fahrspur oder Kreuzung). In einer Ausführungsform entsprechen die räumlich-zeitlichen Orte realen Orten. Beispielsweise handelt es sich bei den räumlich-zeitlichen Orten um Abhol- oder Absetzpunkte zum Abholen oder Absetzen von Personen oder Gütern.
  • „Sensor(en)“ umfassen vorliegend eine oder mehrere Hardwarekomponenten, die Informationen über die Umgebung des Sensors erfassen. Einige der Hardwarekomponenten können Sensorkomponenten (z.B. Bildsensoren, biometrische Sensoren), Sende- und/oder Empfangskomponenten (z.B. Laser- oder Hochfrequenzwellensender und -empfänger), elektronische Komponenten wie beispielsweise Analog-Digital-Wandler, eine Datenspeichereinrichtung (wie beispielsweise einen RAM und/oder einen nichtflüchtigen Speicher), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten wie beispielsweise eine ASIC (anwendungsspezifische integrierte Schaltung), einen Mikroprozessor und/oder einen Mikrocontroller umfassen.
  • Bei einer „Szenenbeschreibung“ handelt es sich vorliegend um eine Datenstruktur (z.B. Liste) oder einen Datenstrom, die ein oder mehrere klassifizierte oder gekennzeichnete Objekte umfassen, die durch einen oder mehrere Sensoren am AV-Fahrzeug erfasst oder durch eine außerhalb des AV befindliche Quelle bereitgestellt werden.
  • Eine „Straße“, ist vorliegend ein physischer Bereich, der von einem Fahrzeug befahren werden kann und einer benannten Durchgangsstraße (z.B. Stadtstraße, Autobahn usw.) oder einer unbenannten Durchgangsstraße (z.B. eine Einfahrt in einem Haus oder Bürogebäude, ein Abschnitt eines Parkplatzes, ein Abschnitt eines leeren Grundstücks, ein Feldweg in einem ländlichen Gebiet usw.) entsprechen kann. Da einige Fahrzeuge (z.B. Allrad-Pickup-Fahrzeuge, Sport Utility Vehicles usw.) in der Lage sind, eine Vielzahl von physischen Bereichen zu befahren, die nicht speziell für Fahrzeuge geeignet sind, kann eine „Straße“ ein physischer Bereich sein, der von keiner Gemeinde oder anderen Regierungs- oder Verwaltungsbehörde formal als Durchgangsstraße definiert ist.
  • Bei einer „Fahrspur“ handelt es sich vorliegend um einen Abschnitt einer Straße, der von einem Fahrzeug befahren werden kann. Eine Fahrspur wird manchmal auf Grundlage von Fahrspurmarkierungen identifiziert. Beispielsweise kann eine Fahrspur größtenteils oder vollständig dem Raum 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 weit auseinander liegenden Fahrspurmarkierungen zwei oder mehr Fahrzeuge zwischen den Markierungen aufnehmen, so dass ein Fahrzeug das andere überholen kann, ohne die Fahrspurmarkierungen zu überqueren, und könnte daher so interpretiert werden, dass die Fahrspur schmaler ist als der Raum zwischen den Fahrspurmarkierungen, oder dass zwischen den Fahrspurmarkierungen zwei Fahrspuren liegen. Eine Fahrspur könnte auch ohne vorhandene Fahrspurmarkierungen interpretiert werden. Beispielsweise kann eine Fahrspur auf Grundlage physischer Merkmale einer Umgebung definiert werden, z.B. Felsen und Bäume entlang einer Durchgangsstraße in einem ländlichen Gebiet oder z.B. natürliche Hindernisse, die in einem unbebauten Gebiet umgangen werden sollen. Eine Fahrspur könnte auch unabhängig von Fahrspurmarkierungen oder physischen Merkmalen interpretiert werden. Beispielsweise könnte eine Fahrspur auf Grundlage eines willkürlichen, hindernisfreien Weges in einem Gebiet interpretiert werden, in dem ansonsten Merkmale fehlen, die als Fahrspurbegrenzungen interpretiert werden würden. In einem Beispielszenario könnte ein AV eine Fahrspur durch einen hindernisfreien Teil eines Feldes oder einer leeren Parzelle interpretieren. In einem weiteren Beispielszenario könnte ein AV eine Fahrspur durch eine breite (z.B. breit genug für zwei oder mehr Fahrspuren) Straße interpretieren, die keine Fahrspurmarkierungen besitzt. In diesem Szenario könnte das AV Informationen über die Fahrspur an andere AVs kommunizieren, damit die anderen AVs dieselben Fahrspurinformationen verwenden können, um die Wegplanung untereinander zu koordinieren.
  • Der Begriff „Homotopie“ bezeichnet vorliegend einen Teilsatz eines Satzes von Einschränkungen für eine Trajektorie eines AV, die das AV beim Durchfahren einer bestimmten Route einhalten kann.
  • „Durchführbar“ bedeutet vorliegend, ob ein AV bei der Fahrt zu einem Zielort eine Einschränkung in einer Homotopie einhalten kann.
  • „Ein(e) oder mehrere“ umfasst eine von einem Element ausgeführte Funktion, eine von mehr als einem Element ausgeführte Funktion, z.B. verteilt, mehrere Funktionen, die von einem Element ausgeführt werden, mehrere Funktionen, die von mehreren Elementen ausgeführt werden, oder eine beliebige Kombination aus diesen.
  • Zudem versteht es sich, dass zwar in einigen Fällen die Bezeichnungen erste(r/s), zweite(r/s) usw. verwendet werden, um verschiedene Elemente zu beschreiben, diese Elemente jedoch durch diese Bezeichnungen nicht eingeschränkt werden sollen. Diese Bezeichnungen werden lediglich verwendet, um ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erster Kontakt als zweiter Kontakt bezeichnet werden und entsprechend ein zweiter Kontakt als erster Kontakt, ohne vom Umfang der verschiedenen beschriebenen Ausführungsformen abzuweichen. Sowohl beim ersten Kontakt als auch beim zweiten Kontakt handelt es sich um Kontakte, jedoch nicht um denselben Kontakt.
  • Die vorliegend verwendete Terminologie der verschiedenen vorliegend beschriebenen Ausführungsformen dient lediglich dem Zweck der Beschreibung bestimmter Ausführungsformen und soll nicht einschränkend sein. Die Singularformen „ein/eine“ und „der/die/das“ wie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und den Ansprüchen verwendet sollen ebenso die Pluralformen einschließen, sofern nicht durch den Kontext offensichtlich anders angegeben. Zudem versteht es sich, dass sich die Angabe „und/oder“ wie vorliegend verwendet auf sämtliche mögliche Kombinationen aus einem oder mehreren der zugehörigen aufgeführten Elemente bezieht und diese umfasst. Ferner ist zu beachten, dass die Ausdrücke „umfasst“ und/oder „umfassend,“ soweit in dieser Spezifikation verwendet, das Vorliegen genannter Merkmale, Zahlen, Schritte, Operationen, Elemente und/oder Komponenten angibt, jedoch nicht das Vorliegen oder Hinzufügen eines oder mehrerer weiterer Merkmale, Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausschließt.
  • Die Bezeichnung „falls“ ist je nach Kontext wahlweise auszulegen als „wenn“, „bei/nach“ oder „in Reaktion auf Bestimmen“ oder „in Reaktion auf Erfassen“. Entsprechend ist die Formulierung „falls bestimmt wird“ oder „falls [eine genannte Bedingung oder ein genanntes Ereignis] erfasst wird“ je nach Kontext wahlweise auszulegen als „bei/nach Bestimmen“ oder „in Reaktion auf Bestimmen“ oder „bei/nach Erfassen [der genannten Bedingung oder des genannten Ereignisses]“ oder „in Reaktion auf Erfassen [der genannten Bedingung oder des genannten Ereignisses]“.
  • Ein AV-System bezeichnet vorliegend das AV zusammen mit der Gruppierung aus Hardware, Software, gespeicherten Daten und in Echtzeit generierten Daten, die den Betrieb des AV unterstützen. In einer Ausführungsform ist das AV-System in das AV integriert. In einer Ausführungsform ist das AV-System auf mehrere Orte verteilt. Beispielsweise wird ein Teil der Software des AV-Systems in einer Cloud-Computing-Umgebung ähnlich der nachstehend in Bezug auf 3 beschriebenen Cloud-Computing-Umgebung 300 implementiert.
  • Im Allgemeinen beschreibt dieses Dokument Technologien, die auf alle Fahrzeuge anwendbar sind, die über eine oder mehrere autonome Fähigkeiten verfügen, darunter vollständig autonome AVs, hochgradig autonome AVs und bedingt autonome AVs, wie beispielsweise so genannte Level-5-, Level-4- bzw. Level-3-Fahrzeuge (für weitere Einzelheiten zur Klassifizierung von Autonomiestufen in Fahrzeugen vgl. Norm J3016 von SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (Taxonomie und Definitionen für Begriffe im Zusammenhang mit automatisierten On-Road-Kraftfahrzeug-Fahrsystemen), die durch Bezugnahme vollumfänglich hierin aufgenommen wird). Die in diesem Dokument beschriebenen Technologien sind auch auf teilautonome AVs und fahrerunterstützte Fahrzeuge anwendbar, wie z.B. sogenannte Level-2- und Level-1-Fahrzeuge (vgl. Norm J3016 von SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems). In einer Ausführungsform können eines oder mehrere der Level-1-, 2-, 3-, 4- und 5-Fahrzeugsysteme bestimmte Fahrzeugoperationen unter bestimmten Betriebsbedingungen auf Grundlage der Verarbeitung von Sensoreingaben automatisieren (z.B. Lenkung, Bremsen und Verwenden von Karten). Die in diesem Dokument beschriebenen Technologien können Fahrzeugen aller Stufen zugute kommen, von vollständig autonomen AVs bis hin zu von Menschen betriebenen Fahrzeugen.
  • AVs weisen Vorteile gegenüber Fahrzeugen auf, die einen menschlichen Fahrer erfordern. Ein Vorteil besteht in der Sicherheit. Im Jahr 2016 zum Beispiel gab es in den Vereinigten Staaten 6 Millionen Autounfälle, 2,4 Millionen Verletzte, 40.000 Tote und 13 Millionen verunglückte Fahrzeuge, deren gesellschaftliche Kosten auf über 910 Milliarden Dollar geschätzt werden. Die Zahl der Verkehrstoten pro 100 Millionen gefahrener Meilen ist in den USA von 1965 bis 2015 von etwa sechs auf etwa einen zurückgegangen, was zum Teil auf zusätzliche Sicherheitsmaßnahmen in den Fahrzeugen zurückzuführen ist. Beispielsweise wird davon ausgegangen, dass eine zusätzliche halbe Sekunde Vorwarnzeit, dass eine Kollision bevorsteht, 60 % der Auffahrunfälle abmildert. Allerdings haben passive Sicherheitsmerkmale (z.B. Sicherheitsgurte, Airbags) bei der Verbesserung dieser Zahl wahrscheinlich ihre Grenze erreicht. Somit stellen aktive Sicherheitsmaßnahmen wie beispielsweise automatisierte Steuerung eines Fahrzeugs den naheliegenden nächsten Schritt bei der Verbesserung dieser Statistiken dar. Da davon ausgegangen wird, dass bei 95 % der Unfälle menschliche Fahrer für ein entscheidendes Ereignis vor dem Unfall verantwortlich sind, werden automatisierte Fahrsysteme wahrscheinlich bessere Sicherheitsergebnisse erzielen, z.B. indem sie kritische Situationen zuverlässiger als Menschen erkennen und vermeiden, bessere Entscheidungen treffen, Verkehrsgesetze befolgen und zukünftige Ereignisse besser vorhersagen als Menschen und ein Fahrzeug zuverlässiger als Menschen steuern.
  • Unter Bezugnahme auf 1 betreibt ein AV-System 120 das AV 100 entlang einer Trajektorie 198 durch eine Umgebung 190 bis zu einem Zielort 199 (manchmal auch als Endpunkt bezeichnet) unter Umgehung von Objekten (z.B. natürliche Hindernisse 191, Fahrzeuge 193, Fußgänger 192, Radfahrer und andere Hindernisse) und unter Einhaltung von Verkehrsregeln (z.B. Betriebsregeln oder Fahrpräferenzen).
  • In einer Ausführungsform umfasst das AV-System 120 Einrichtungen 101, die so instrumentiert sind, dass sie Betriebsbefehle von den Computerprozessoren 146 empfangen und auf diese reagieren. Der Ausdruck „Betriebsbefehl“ wird vorliegend in der Bedeutung einer ausführbaren Anweisung (oder eines Satzes von Anweisungen) verwendet, die ein Fahrzeug veranlasst, eine Aktion (z.B. ein Fahrmanöver) durchzuführen. Betriebsbefehle können, ohne Einschränkung, Anweisungen für ein Fahrzeug beinhalten, eine Vorwärtsbewegung zu starten, eine Vorwärtsbewegung zu stoppen, eine Rückwärtsbewegung zu starten, eine Rückwärtsbewegung zu stoppen, zu beschleunigen, abzubremsen, eine Linkskurve und eine Rechtskurve durchzuführen. In einer Ausführungsform ähneln die Datenverarbeitungsprozessoren 146 dem nachstehend in Bezug auf 3 beschriebenen Prozessor 304. Zu Beispielen für die Einrichtungen 101 zählen eine Lenksteuerung 102, Bremsen 103, Schaltung, Gaspedal oder andere Beschleunigungssteuerungsmechanismen, Scheibenwischer, Seitentürenschlösser, Fenstersteuerungen und Blinker.
  • In einer Ausführungsform umfasst das AV-System 120 Sensoren 121 zum Messen oder Ableiten von Zustandseigenschaften des AV 100, beispielsweise der Position des AV, Linear- und Winkelgeschwindigkeit und Beschleunigung sowie Fahrtrichtung (z.B. eine Ausrichtung des vorderen Endes des AV 100). Zu Beispielen für Sensoren 121 zählen GPS, Trägheitsmesseinheiten (IMU, inertial measurement unit), die sowohl lineare Fahrzeugbeschleunigungen als auch Winkelgeschwindigkeiten messen, Raddrehzahlsensoren zur Messung oder Schätzung von Radschlupfverhältnissen, Radbremsdruck- oder Bremsmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren sowie Lenkwinkel- und Winkelgeschwindigkeitssensoren.
  • In einer Ausführungsform umfassen die Sensoren 121 zudem Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AV. Zum Beispiel Monokular- oder Stereo-Videokameras 122 im sichtbaren Licht-, Infrarot- oder Wärmespektrum (oder beidem), LiDAR 123, RADAR, Ultraschallsensoren, Flugzeit- (ToF, Time of Flight) Tiefensensoren, Drehzahlsensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagssensoren.
  • In einer Ausführungsform umfasst das AV-System 120 eine Datenspeichereinheit 142 und einen Speicher 144 zum Speichern von Maschinenanweisungen im Zusammenhang mit den Computerprozessoren 146 oder mit durch die Sensoren 121 gesammelten Daten. In einer Ausführungsform ähnelt die Datenspeichereinheit 142 dem ROM 308 oder der Speichereinrichtung 310, die nachstehend in Bezug auf 3 beschrieben sind. In einer Ausführungsform ähnelt der Speicher 144 dem nachstehend beschriebenen Hauptspeicher 306. In einer Ausführungsform speichern die Datenspeichereinheit 142 und der Speicher 144 historische, Echtzeit- und/oder Vorhersageinformationen über die Umgebung 190. In einer Ausführungsform zählen zu den gespeicherten Informationen Karten, Fahrverhalten, Aktualisierungen zum Verkehrsaufkommen oder Wetterbedingungen. In einer Ausführungsform werden die Umgebung 190 betreffende Daten von einer entfernt gelegenen Datenbank 134 über einen Kommunikationskanal an das AV 100 übertragen.
  • In einer Ausführungsform umfasst das AV-System 120 Kommunikationseinrichtungen 140 zum Kommunizieren gemessener oder abgeleiteter Eigenschaften der Zustände und Bedingungen anderer Fahrzeuge, beispielsweise Positionen, Linear- und Winkelgeschwindigkeiten, Linear- und Winkelbeschleunigungen sowie Linear- und Winkelausrichtungen, an das AV 100. Zu diesen Einrichtungen zählen Fahrzeug-zu-Fahrzeug- (V2V, vehicle to vehicle) und Fahrzeug-zu-Infrastruktur- (V2I, vehicle to infrastructure) Kommunikationseinrichtungen und Einrichtungen für drahtlose Kommunikation über Punkt-zu-Punkt- oder Ad-hoc-Netzwerke oder beides. In einer Ausführungsform kommunizieren die Kommunikationseinrichtungen 140 über das elektromagnetische Spektrum (darunter Funk- und optische Kommunikation) oder andere Medien (z.B. Luft und akustische Medien). Eine Kombination aus Fahrzeug-zu-Fahrzeug-(V2V-) und Fahrzeug-zu-Infrastruktur- (V2I-) Kommunikation (und in einigen Ausführungsformen einer oder mehreren weiteren Arten von Kommunikation) wird manchmal als Fahrzeug-zu-Alles- (V2X-) Kommunikation bezeichnet. V2X-Kommunikation entspricht üblicherweise einem oder mehreren Kommunikationsstandards zur Kommunikation mit, zwischen und unter AVs.
  • In einer Ausführungsform umfassen die Kommunikationseinrichtungen 140 Kommunikationsschnittstellen. Beispiele hierfür sind drahtgebundene, drahtlose, WiMAX-, Wi-Fi-, Bluetooth-, Satelliten-, Mobilfunk-, optische, Nahfeld-, Infrarot- oder Funkschnittstellen. Die Kommunikationsschnittstellen übertragen Daten von einer entfernt gelegenen Datenbank 134 an das AV-System 120. In einer Ausführungsform ist die entfernt gelegene Datenbank 134 in eine Cloud-Computing-Umgebung 200 eingebettet, wie in 2 beschrieben. Die Kommunikationsschnittstellen 140 übertragen von den Sensoren 121 gesammelte Daten oder andere den Betrieb des AV 100 betreffende Daten an die entfernt gelegene Datenbank 134. In einer Ausführungsform übertragen die Kommunikationsschnittstellen 140 Informationen, die Teleoperationen betreffen, an das AV 100. In einigen Ausführungsformen kommuniziert das AV 100 mit weiteren entfernten (z.B. „Cloud“-) Servern 136.
  • In einer Ausführungsform speichert und überträgt die entfernt gelegene Datenbank 134 zudem digitale Daten (z.B. speichert Daten wie Verkehrswege- und Straßenstandorte). Solche Daten werden im Speicher 144 im AV 100 gespeichert oder von der entfernt gelegenen Datenbank 134 über einen Kommunikationskanal an das AV 100 übertragen.
  • In einer Ausführungsform speichert und überträgt die entfernt gelegene Datenbank 134 historische Informationen über Fahreigenschaften (z.B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten die Trajektorie 198 befahren haben. In einer Implementierung können solche Daten im Speicher 144 im AV 100 gespeichert oder von der entfernt gelegenen Datenbank 134 über einen Kommunikationskanal an das AV 100 übertragen werden.
  • Im AV 100 befindliche Datenverarbeitungseinrichtungen 146 generieren algorithmisch Steueraktionen auf Grundlage von Echtzeit-Sensordaten und früheren Informationen und ermöglichen so dem AV-System 120, seine autonomen Fahrfähigkeiten auszuüben.
  • In einer Ausführungsform umfasst das AV-System 120 Computerperipheriegeräte 132, die mit Datenverarbeitungseinrichtungen 146 gekoppelt sind, um Informationen und Warnungen an einen Nutzer (z.B. einen Insassen oder einen entfernten Nutzer) des AV 100 zu liefern und Eingaben von diesem zu empfangen. In einer Ausführungsform ähneln die Peripheriegeräte 132 der Anzeige 312, der Eingabeeinrichtung 314 und der Cursor-Steuereinheit 316, die nachstehend in Bezug auf 3 behandelt werden. Die Kopplung ist drahtlos oder drahtgebunden. In eine einzige Einrichtung können beliebige zwei oder mehr der Schnittstelleneinrichtungen integriert sein.
  • In einer Ausführungsform empfängt das AV-System 120 eine Vertraulichkeitsstufe eines Fahrgastes, die z.B. vom Fahrgast angegeben oder in einem dem Fahrgast zugeordneten Profil gespeichert ist, und setzt diese durch. Die Vertraulichkeitsstufe des Fahrgastes bestimmt, wie bestimmte mit dem Fahrgast verbundene Informationen (z.B. Fahrgastkomfortdaten, biometrische Daten usw.) verwendet, im Fahrgastprofil gespeichert und/oder auf dem Cloud-Server 136 gespeichert und mit dem Fahrgastprofil verknüpft werden dürfen. In einer Ausführungsform legt die Vertraulichkeitsstufe bestimmte mit einem Fahrgast verbundene Informationen fest, die nach Beendigung der Fahrt gelöscht werden. In einer Ausführungsform legt die Vertraulichkeitsstufe bestimmte Informationen fest, die mit einem Fahrgast verbunden sind, und identifiziert eine oder mehrere Instanzen, die zum Zugriff auf die Informationen autorisiert sind. Zu Beispielen für festgelegte Instanzen, die zum Zugriff auf Informationen autorisiert sind, können andere AVs, AV-Systeme Dritter oder jede Instanz zählen, die potenziell auf die Informationen zugreifen könnte.
  • Eine Vertraulichkeitsstufe eines Fahrgasts kann auf einer oder mehreren Granularitätsstufen festgelegt werden. In einer Ausführungsform identifiziert eine Vertraulichkeitsstufe bestimmte Informationen, die gespeichert oder freigegeben werden sollen. In einer Ausführungsform gilt die Vertraulichkeitsstufe für alle mit dem Fahrgast verbundenen Informationen, so dass der Fahrgast festlegen kann, dass keine seiner persönlichen Informationen gespeichert oder freigegeben werden. Die Festlegung der Instanzen, die auf bestimmte Informationen zugreifen dürfen, kann ebenfalls auf verschiedenen Granularitätsstufen festgelegt werden. Zu verschiedenen Gruppen von Instanzen, die auf bestimmte Informationen zugreifen dürfen, können beispielsweise andere AVs, Cloud-Server 136, bestimmte AV-Systeme Dritter usw. zählen.
  • In einer Ausführungsform bestimmt das AV-System 120 oder der Cloud-Server 136, ob bestimmte Informationen, die mit einem Fahrgast verbunden sind, vom AV 100 oder einer anderen Instanz abgerufen werden können. Beispielsweise muss ein AV-System Dritter, das versucht, auf Fahrgasteingaben zuzugreifen, die sich auf einen bestimmten räumlich-zeitlichen Standort beziehen, eine Autorisierung einholen, z.B. vom AV-System 120 oder dem Cloud-Server 136, um auf die mit dem Fahrgast verbundenen Informationen zuzugreifen. Zum Beispiel verwendet das AV-System 120 die vom Fahrgast festgelegte Vertraulichkeitsstufe, um zu bestimmen, ob die Fahrgast-Eingaben, die sich auf den räumlich-zeitlichen Standort beziehen, dem AV-System Dritter, dem AV 100 oder einem anderen AV angezeigt werden können. Auf diese Weise kann die Vertraulichkeitsstufe des Fahrgastes festlegen, welche anderen Instanzen Daten über die Aktionen des Fahrgastes oder andere mit dem Fahrgast verbundene Daten empfangen dürfen.
  • 2 veranschaulicht eine beispielhafte „Cloud“-Datenverarbeitungsumgebung. Cloud-Computing ist ein Dienstbereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerken, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuellen Maschinen und Diensten). In typischen Cloud-Computing-Systemen sind die zum Liefern der durch die Cloud bereitgestellten Dienste verwendeten Maschinen in einem oder mehreren großen Cloud-Datenzentren untergebracht. Gemäß 2 umfasst die Cloud-Computing-Umgebung 200 Cloud-Datenzentren 204a, 204b und 204c, die durch die Cloud 202 untereinander verbunden sind. Die Datenzentren 204a, 204b und 204c stellen mit der Cloud 202 verbundenen Computersystemen 206a, 206b, 206c, 206d, 206e und 206f Cloud-Computing-Dienste bereit.
  • Die Cloud-Computing-Umgebung 200 umfasst ein oder mehrere Cloud-Datenzentren. Grundsätzlich bezeichnet ein Cloud-Datenzentrum, beispielsweise das in 2 gezeigte Cloud-Datenzentrum 204a, die physische Anordnung aus Servern, die eine Cloud, beispielsweise die in 2 gezeigte Cloud 202, oder einen bestimmten Abschnitt einer Cloud bilden. Beispielsweise sind Server in dem Cloud-Datenzentrum physisch in Räumen, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Datenzentrum verfügt über eine oder mehrere Zonen, die einen oder mehrere Serverräume umfassen. Jeder Raum verfügt über eine oder mehrere Reihen von Servern, und jede Reihe umfasst ein oder mehrere Racks. Jedes Rack umfasst einen oder mehrere einzelne Serverknoten. In einigen Implementierungen werden Server basierend auf den physischen Infrastrukturanforderungen der Rechenzentreneinrichtung, die Strom-, Energie-, Wärme- und/oder andere Anforderungen umfassen, in Zonen, Räumen, Racks und/oder Reihen in Gruppen angeordnet. In einer Ausführungsform ähneln die Serverknoten dem in 3 beschriebenen Computersystem. Das Datenzentrum 204a verfügt über viele Datenverarbeitungssysteme, die auf viele Racks verteilt sind.
  • Die Cloud 202 umfasst die Cloud-Datenzentren 204a, 204b und 204c sowie die Netzwerk- und Netzwerkbetriebsressourcen (beispielsweise Netzwerkbetriebsausrüstung, Knoten, Router, Switches und Netzwerkkabel), die die Cloud-Datenzentren 204a, 204b und 204c untereinander verbinden und dabei helfen, den Zugriff der Computersysteme 206a bis f auf Cloud-Computing-Dienste zu ermöglichen. In einer Ausführungsform repräsentiert das Netzwerk eine beliebige Kombination aus einem oder mehreren lokalen Netzwerken, Weitverkehrsnetzen oder Verbundnetzwerken, die mittels drahtgebundener oder drahtloser Verbindungen gekoppelt sind, die mittels terrestrischer oder Satellitenverbindungen realisiert sind. Daten, die über das Netzwerk ausgetauscht werden, werden unter Verwendung einer beliebigen Anzahl von Protokollen der Netzwerkschicht übertragen, wie z.B. Internet Protocol (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay, etc. Darüber hinaus werden in Ausführungsformen, in denen das Netzwerk eine Kombination aus mehreren Teilnetzen darstellt, in jedem der zugrunde liegenden Teilnetze unterschiedliche Netzwerkschichtprotokolle verwendet. In einigen Ausführungsformen repräsentiert das Netzwerk ein oder mehrere untereinander verbundene Verbundnetze, beispielsweise das öffentliche Internet.
  • Die Datenverarbeitungssysteme 206a-f oder Cloud-Computing-Dienst-Konsumenten sind mit der Cloud 202 durch Netzwerkverbindungen und Netzwerkadapter verbunden. In einer Ausführungsform sind die Datenverarbeitungssysteme 206a-f als verschiedene Datenverarbeitungseinrichtungen implementiert, beispielsweise Server, Desktops, Laptops, Tablet, Smartphones, Internet-der-Dinge- (IoT-, Internet of Things) Einrichtungen, AVs (darunter Autos, Drohnen, Shuttles, Züge, Busse usw.) und Unterhaltungselektronik. In einer Ausführungsform sind die Datenverarbeitungssysteme 206a-f in oder als Teil anderer Systeme implementiert.
  • 3 veranschaulicht ein Computersystem 300. In einer Implementierung handelt es sich bei dem Computersystem 300 um eine Spezial-Datenverarbeitungseinrichtung. Die Spezial-Datenverarbeitungseinrichtung ist für die Durchführung der Methoden fest verdrahtet oder umfasst digitale elektronische Einrichtungen wie eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) oder feldprogrammierbare Gate-Arrays (FPGAs), die dauerhaft für die Durchführung der Methoden programmiert sind, oder kann einen oder mehrere Universal-Hardwareprozessoren umfassen, die für die Durchführung der Methoden gemäß Programmbefehlen in Firmware, Speicher, anderen Speichern oder einer Kombination programmiert sind. Solche Spezial-Datenverarbeitungseinrichtungen können auch kundenspezifisch festverdrahtete Logik, ASICs oder FPGAs mit kundenspezifischer Programmierung kombinieren, um die Methoden umzusetzen. In verschiedenen Ausführungsformen handelt es sich bei den Spezial-Datenverarbeitungseinrichtungen um Desktop-Computersysteme, tragbare Computersysteme, Handgeräte, Netzwerkeinrichtungen oder eine beliebige andere Einrichtung, die festverdrahtete und/oder Programmlogik enthält, um die Methoden umzusetzen.
  • In einer Ausführungsform umfasst 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. Bei dem Hardwareprozessor 304 handelt es sich beispielsweise um einen Universal-Mikroprozessor. Das Computersystem 300 umfasst zudem einen Hauptspeicher 306, beispielsweise einen Direktzugriffsspeicher (RAM) oder eine andere dynamische Speichereinrichtung, der mit dem Bus 302 gekoppelt ist, um Informationen und Anweisungen zur Ausführung durch den Prozessor 304 zu speichern. In einer Implementierung wird der Hauptspeicher 306 zum Speichern temporärer Variablen und anderer Zwischeninformationen während der Ausführung von durch den Prozessor 304 auszuführenden Anweisungen verwendet. Solche Anweisungen, wenn sie in durch den Prozessor 304 abrufbaren nicht transienten Speichermedien gespeichert sind, machen das Computersystem 300 zu einer Spezialmaschine, die darauf spezialisiert ist, die in den Anweisungen festgelegten Operationen durchzuführen.
  • In einer Ausführungsform umfasst das Computersystem 300 ferner einen mit dem Bus 302 gekoppelten Nur-Lese-Speicher (ROM) 308 oder eine andere statische Speichereinrichtung zum Speichern statischer Informationen und Anweisungen für den Prozessor 304. Eine Speichereinrichtung 310, beispielsweise eine Magnetplatte, eine optische Platte, ein Solid-State-Speicher oder ein dreidimensionaler Kreuzpunktspeicher, ist vorhanden und mit dem Bus 302 zum Speichern von Informationen und Anweisungen gekoppelt.
  • In einer Ausführungsform ist das Computersystem 300 über den Bus 302 an eine Anzeige 312 gekoppelt, beispielsweise eine Kathodenstrahlröhre (CRT), eine Flüssigkristallanzeige (LCD), eine Plasmaanzeige, eine Leuchtdioden- (LED) Anzeige oder eine organische Leuchtdiodenanzeige (OLED), um Informationen für einen Computernutzer anzuzeigen. Eine Eingabeeinrichtung 314, die alphanumerische und andere Tasten umfasst, ist mit dem Bus 302 gekoppelt, um Informationen und Befehlsauswahlen an den Prozessor 304 zu kommunizieren. Eine andere Art von Nutzereingabeneinrichtung ist eine Cursor-Steuereinheit 316, beispielsweise eine Maus, ein Trackball, eine Anzeige mit Berührungsfunktion, oder Cursor-Richtungstasten zum Kommunizieren von Richtungsinformationen und Befehlsauswahlen an den Prozessor 304 und zum Steuern von Cursor-Bewegungen auf der Anzeige 312. Diese Eingabeeinrichtung verfügt typischerweise über zwei Freiheitsgrade in zwei Achsen, einer ersten Achse (z.B. x-Achse) und einer zweiten Achse (z.B. y-Achse), mit denen die Einrichtung Positionen in einer Ebene festlegen kann.
  • Gemäß einer Ausführungsform werden die vorliegenden Methoden durch ein Computersystem 300 in Reaktion darauf durchgeführt, dass der Prozessor 304 eine oder mehrere Abfolgen aus einer oder mehreren im Hauptspeicher 306 enthaltenen Anweisungen ausführt. Solche Anweisungen werden von einem anderen Speichermedium, beispielsweise der Speichereinrichtung 310, in den Hauptspeicher 306 gelesen. Die Ausführung der im Hauptspeicher 306 enthaltenen Abfolgen von Anweisungen bewirkt, dass der Prozessor 304 die vorliegend beschriebenen Prozessschritte durchführt. In alternativen Ausführungsformen wird anstelle von oder in Kombination mit Softwareanweisungen festverdrahtete Schalttechnik verwendet.
  • Die Bezeichnung „Speichermedien“ bezeichnet vorliegend alle nicht transienten Medien, die Daten und/oder Anweisungen speichern, die eine Maschine veranlassen, auf eine bestimmte Weise zu arbeiten. Zu solchen Speichermedien zählen nichtflüchtige Medien und/oder flüchtige Medien. Zu nichtflüchtigen Medien zählen beispielsweise optische Platten, Magnetplatten, Solid-State-Speicher oder dreidimensionaler Kreuzpunktspeicher, beispielsweise die Speichereinrichtung 310. Zu flüchtigen Medien zählt dynamischer Speicher, beispielsweise der Hauptspeicher 306. Zu gängigen Formen von Speichermedien zählen beispielsweise eine Diskette, eine flexible Platte, eine Festplatte, ein Solid-State-Speicher, ein Magnetband oder jedes andere magnetische Datenspeichermedium, eine CD-ROM, jedes andere optische Datenspeichermedium, jedes physikalische Medium mit Lochmustern, ein RAM, ein PROM und EPROM, ein FLASH-EPROM, NV-RAM oder jeder andere Speicherchip oder jede andere Speicherkassette.
  • Speichermedien unterscheiden sich von Übertragungsmedien, können jedoch mit diesen zusammen verwendet werden. Übertragungsmedien sind an der Übertragung von Informationen zwischen Speichermedien beteiligt. Beispielsweise umfassen Übertragungsmedien Koaxialkabel, Kupferdraht und Glasfaser, darunter auch die Drähte, die im Bus 302 umfasst sind. Die Übertragungsmedien können auch die Form von Schall- oder Lichtwellen haben, wie sie z.B. bei der Funkwellen- und Infrarot-Datenkommunikation entstehen.
  • In einer Ausführungsform sind verschiedene Formen von Medien am Transport einer oder mehrerer Abfolgen aus einer oder mehreren Anweisungen an den Prozessor 304 zur Ausführung beteiligt. Beispielsweise sind die Anweisungen zunächst auf einem Magnetplattenlaufwerk oder Solid-State-Speicher eines entfernten Computers enthalten. Der entfernte Computer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen über eine Telefonleitung mittels eines Modems. Ein am Ort des Computersystems 300 befindliches Modem empfängt die Daten über die Telefonleitung und verwendet einen Infrarotsender, um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarotdetektor empfängt die in dem Infrarotsignal enthaltenen Daten, und geeignete Schalttechnik legt die Daten auf den Bus 302. Der Bus 302 transportiert die Daten zum Hauptspeicher 306, aus dem der Prozessor 304 die Anweisungen abruft, um diese auszuführen. Die durch den Hauptspeicher 306 empfangenen Anweisungen können wahlweise entweder vor oder nach der Ausführung durch den Prozessor 304 in der Speichereinrichtung 310 gespeichert werden.
  • Das Computersystem 300 umfasst zudem eine mit dem Bus 302 gekoppelte Kommunikationsschnittstelle 318. Die Kommunikationsschnittstelle 318 stellt eine Zwei-Wege-Datenkommunikationskopplung mit einer Netzwerkverbindung 320 bereit, die mit einem lokalen Netzwerk 322 verbunden ist. Bei der Kommunikationsschnittstelle 318 handelt es sich beispielsweise um eine ISDN-Karte (Integrated Service Digital Network), ein Kabelmodem, ein Satellitenmodem oder ein Modem zur Bereitstellung einer Datenkommunikationsverbindung mit einer entsprechenden Art von Telefonleitung. Als weiteres Beispiel handelt es sich bei der Kommunikationsschnittstelle 318 um eine LAN-Karte (Local Area Network) zum Bereitstellen einer Datenkommunikationsverbindung mit einem kompatiblen LAN. In einigen Implementierungen werden zudem drahtlose Verbindungen umgesetzt. In jeder dieser Implementierungen sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme enthalten, die verschiedene Arten von Informationen repräsentieren.
  • Die Netzwerkverbindung 320 stellt üblicherweise Datenkommunikation durch ein oder mehrere Netzwerke an andere Dateneinrichtungen bereit. Beispielsweise bietet die Netzwerkverbindung 320 eine Verbindung über das lokale Netzwerk 322 zu einem Host-Computer 324 oder zu einem Cloud-Datenzentrum oder zu Geräten, die von einem Internet-Dienstanbieter (ISP, Internet Service Provider) 326 betrieben werden. Der ISP 326 stellt seinerseits Datenkommunikationsdienste durch das weltweite Paketdaten-Kommunikationsnetzwerk bereit, das heute gemeinhin als das „Internet“ 328 bezeichnet wird. Sowohl das lokale Netzwerk 322 als auch das Internet 328 nutzen elektrische, elektromagnetische oder optische Signale, die digitale Datenströme enthalten. Bei den Signalen durch die verschiedenen Netzwerke und den Signalen über die Netzwerkverbindung 320 und durch die Kommunikationsschnittstelle 318, welche die digitalen Daten an das und von dem Computersystem 300 enthalten, handelt es sich um beispielhafte Formen von Übertragungsmedien. In einer Ausführungsform enthält das Netzwerk 320 die Cloud 202 oder einen Teil der Cloud 202 wie vorstehend beschrieben.
  • Das Computersystem 300 sendet Nachrichten und empfängt Daten, darunter Programmcode, durch das oder die Netzwerke, die Netzwerkverbindung 320 und die Kommunikationsschnittstelle 318. In einer Ausführungsform empfängt das Computersystem 300 Code zur Verarbeitung. Der empfangene Code wird bei Empfang durch den Prozessor 304 ausgeführt und/oder in der Speichereinrichtung 310 oder einem anderen nichtflüchtigen Speicher zur späteren Ausführung gespeichert.
  • AV-Architektur
  • 4 zeigt eine beispielhafte Architektur 400 für ein AV (z.B. das in 1 gezeigte AV 100). Die Architektur 400 umfasst ein Wahrnehmungsmodul 402 (manchmal bezeichnet als Wahrnehmungsschaltung), ein Planungsmodul 404 (manchmal bezeichnet als Planungsschaltung), ein Steuermodul 406 (manchmal bezeichnet als Steuerschaltung), ein Lokalisierungsmodul 408 (manchmal bezeichnet als Lokalisierungsschaltung) und ein Datenbankmodul 410 (manchmal bezeichnet als Datenbankschaltung). Jedes Modul spielt eine Rolle im Betrieb des AV 100. Zusammen können die Module 402, 404, 406, 408 und 410 Teil des in 1 gezeigten AV-Systems 120 sein. In einigen Ausführungsformen handelt es sich bei jedem der Module 402, 404, 406, 408 und 410 um eine Kombination aus Computersoftware (z.B. auf einem computerlesbaren Medium gespeichertem ausführbarem Code) und Computerhardware (z.B. einem oder mehreren Mikroprozessoren, Mikrocontrollern, anwendungsspezifischen integrierten Schaltungen [ASICs], Hardware-Speichereinrichtungen, anderen Arten integrierter Schaltungen, anderen Arten von Computerhardware oder einer Kombination beliebiger oder aller dieser Dinge). Jedes der Module 402, 404, 406, 408 und 410 wird manchmal als Verarbeitungsschaltung (z.B. Computerhardware, Computersoftware oder eine Kombination der beiden) bezeichnet. Eine Kombination aus beliebigen oder allen diesen Modulen 402, 404, 406, 408 und 410 ist ebenfalls ein Beispiel für eine Verarbeitungsschaltung.
  • Im Betrieb empfängt das Planungsmodul 404 Daten, die einen Zielort 412 repräsentieren, und bestimmt Daten, die eine Trajektorie 414 (manchmal als Route bezeichnet) repräsentieren, die von dem AV 100 befahren werden kann, um den Zielort 412 zu erreichen (z.B. dort anzukommen). Damit das Planungsmodul 404 die die Trajektorie 414 repräsentierenden Daten bestimmen kann, empfängt das Planungsmodul 404 Daten vom Wahrnehmungsmodul 402, dem Lokalisierungsmodul 408 und dem Datenbankmodul 410.
  • Das Wahrnehmungsmodul 402 identifiziert in der Nähe befindliche physische Objekte mittels eines oder mehrerer Sensoren 121, wie z.B. auch in 1 gezeigt. Die Objekte werden klassifiziert (z.B. in Typen wie beispielsweise Fußgänger, Fahrrad, Automobil, Verkehrszeichen usw. gruppiert), und eine die klassifizierten Objekte 416 umfassende Szenenbeschreibung wird dem Planungsmodul 404 bereitgestellt.
  • Das Planungsmodul 404 empfängt zudem die Position 418 des AV repräsentierende Daten vom Lokalisierungsmodul 408. Das Lokalisierungsmodul 408 bestimmt die AV-Position, indem es Daten von den Sensoren 121 und Daten aus dem Datenbankmodul 410 (z.B. geografische Daten) verwendet, um eine Position zu berechnen. Beispielsweise verwendet das Lokalisierungsmodul 408 Daten von einem GNSS- (Global Navigation Satellite System) Sensor und geografische Daten, um einen Längen- und einen Breitengrad des AV zu berechnen. In einer Ausführungsform umfassen die vom Lokalisierungsmodul 408 verwendeten Daten hochpräzise Karten der geometrischen Eigenschaften der Fahrbahn, Karten, die die Verbindungseigenschaften des Straßennetzes beschreiben, Karten, die die physikalischen Eigenschaften der Fahrbahn beschreiben (z. B. Verkehrsgeschwindigkeit, Verkehrsaufkommen, Anzahl der Fahrspuren für den Auto- und Radverkehr, Fahrspurbreite, Fahrspurrichtungen oder Fahrspurmarkierungstypen und -orte oder Kombinationen davon), sowie Karten, die die räumliche Lage von Straßenmerkmalen wie Fußgängerüberwegen, Verkehrsschildern oder anderen Verkehrssignalen verschiedener Arten beschreiben. In einer Ausführungsform werden die hochpräzisen Karten durch Hinzufügen von Daten durch automatische oder manuelle Annotation zu Karten mit niedriger Präzision erstellt.
  • 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ündanlage) des AV so, dass das AV 100 die Trajektorie 414 bis zum Zielort 412 abfährt. Wenn z.B. die Trajektorie 414 eine Linkskurve umfasst, steuert das Steuermodul 406 die Steuerfunktionen 420a-c so, dass der Lenkwinkel der Lenkfunktion das AV 100 zum Linksabbiegen veranlasst und Gasgeben und Bremsen das AV 100 veranlassen, anzuhalten und auf vorbeifahrende Fußgänger oder Fahrzeuge zu warten, bevor die Kurve genommen wird.
  • AV-Eingänge
  • 5 zeigt ein Beispiel für Eingänge 502a-d (z.B. die in 1 gezeigten Sensoren 121) und Ausgänge 504a-d (z.B. Sensordaten), die vom Wahrnehmungsmodul 402 (4) verwendet werden. Bei einem Eingang 502a handelt es sich um ein LiDAR- (Light Detection and Ranging, Lichtabstandsmessung) System (z.B. das in 1 gezeigte LiDAR 123). LiDAR ist eine Technologie, die Licht (z.B. Lichtblitze wie beispielsweise Infrarotlicht) verwendet, um Daten über physische Objekte in ihrer Sichtlinie zu erhalten. Ein LiDAR-System produziert LiDAR-Daten als Ausgang 504a. LiDAR-Daten sind beispielsweise Sammlungen von 3D- oder 2D-Punkten (auch als Punktwolken bekannt), die zur Konstruktion einer Darstellung der Umgebung 190 verwendet werden.
  • Bei einem weiteren Eingang 502b handelt es sich um ein RADAR-System. RADAR ist eine Technologie, die Radiowellen verwendet, um Daten über in der Nähe befindliche physische Objekte zu erhalten. RADAR kann Daten über Objekte gewinnen, die sich nicht in der Sichtlinie eines LiDAR-Systems befinden. Ein RADAR-System produziert RADAR-Daten als Ausgang 504b. RADAR-Daten sind beispielsweise ein oder mehrere elektromagnetische Hochfrequenzsignale, die verwendet werden, um eine Darstellung der Umgebung 190 zu konstruieren.
  • Bei einem weiteren Eingang 502c handelt es sich um ein Kamerasystem. Ein Kamerasystem verwendet eine oder mehrere Kameras (z.B. Digitalkameras, die einen Lichtsensor wie beispielsweise eine ladungsgekoppelte Einrichtung [CCD, charge-coupled device] verwenden), um Informationen über in der Nähe befindliche physische Objekte zu erhalten. Ein Kamerasystem produziert Kameradaten als Ausgang 504c. Kameradaten haben häufig die Form von Bilddaten (z.B. Daten in einem Bilddatenformat wie beispielsweise RAW, JPEG, PNG usw.). In einigen Beispielen verfügt das Kamerasystem über mehrere unabhängige Kameras, z.B. für Stereopsis (räumliches Sehen), welche dem Kamerasystem Tiefenwahrnehmung ermöglicht. Auch wenn die durch das Kamerasystem wahrgenommenen Objekte hier als „nahe“ beschrieben werden, ist dies für das AV relativ. Im einigen Ausführungsformen ist das Kamerasystem so ausgelegt, dass es Objekte „sieht“, die weit weg sind und z.B. bis zu einem Kilometer oder mehr vor dem AV liegen. Entsprechend verfügt in einigen Ausführungsformen das Kamerasystem über Merkmale wie beispielsweise Sensoren und Linsen, die für die Wahrnehmung weit entfernter Objekte optimiert sind.
  • Bei einem weiteren Eingang 502d handelt es sich um ein System für Verkehrsampelerkennung (TLD, traffic light detection). Ein TLD-System verwendet eine oder mehrere Kameras, um Informationen über Verkehrsampeln, Straßenschilder und andere physische Objekte zu erhalten, die optische Navigationsinformationen liefern. Ein TLD-System produziert TLD-Daten als Ausgang 504d. TLD-Daten haben häufig die Form von Bilddaten (z.B. Daten in einem Bilddatenformat wie beispielsweise RAW, JPEG, PNG usw.). Ein TLD-System unterscheidet sich von einem System mit einer Kamera dadurch, dass bei einem TLD-System eine Kamera mit weitem Sichtfeld (z.B. mit einem Weitwinkelobjektiv oder einem Fischaugenobjektiv) verwendet wird, um Informationen über möglichst viele physische Objekte zu erhalten, die optische Navigationsinformationen liefern, so dass das AV 100 Zugriff auf alle relevanten Navigationsinformationen hat, die von diesen Objekten geliefert werden. Beispielsweise beträgt der Sichtwinkel des TLD-Systems etwa 120 Grad oder mehr.
  • In einigen Ausführungsformen werden die Ausgänge 504a-d mit Hilfe einer Sensorfusionstechnik kombiniert. Somit werden entweder die einzelnen Ausgänge 504a-d anderen Systemen des AV 100 zur Verfügung gestellt (z.B. einem Planungsmodul 404 wie in 4 gezeigt), oder der kombinierte Ausgang kann den anderen Systemen zur Verfügung gestellt werden, entweder in Form eines einzigen kombinierten Ausgangs oder mehrerer kombinierter Ausgänge desselben Typs (z.B. mittels derselben Kombinationstechnik oder durch Kombination derselben Ausgänge oder beides) oder unterschiedlicher Typen (z.B. mittels jeweils unterschiedlicher Kombinationstechniken oder durch Kombination jeweils unterschiedlicher Ausgänge oder beides). In einigen Ausführungsformen wird eine Frühfusionstechnik verwendet. Eine Frühfusionstechnik ist gekennzeichnet durch das Kombinieren von Ausgängen, bevor ein oder mehrere Datenverarbeitungsschritte auf den kombinierten Ausgang angewendet werden. In einigen Ausführungsformen wird eine Spätfusionstechnik verwendet. Eine Spätfusionstechnik ist gekennzeichnet durch das Kombinieren von Ausgängen, nachdem ein oder mehrere Datenverarbeitungsschritte auf den kombinierten Ausgang angewendet wurden.
  • 6 zeigt ein Beispiel eines LiDAR-Systems 602 (z.B. den in 5 gezeigten Eingang 502a). Das LiDAR-System 602 emittiert Licht 604a-c aus einem Lichtstrahler 606 (z.B. einem Lasersender). Von einem LiDAR-System emittiertes Licht liegt üblicherweise nicht im sichtbaren Spektrum, beispielsweise wird häufig Infrarotlicht verwendet. Ein Teil des emittierten Lichts 604b trifft auf ein physisches Objekt 608 (z.B. ein Fahrzeug) und reflektiert zurück zum LiDAR-System 602. (Von einem LiDAR-System emittiertes Licht durchdringt üblicherweise keine physischen Objekte, z.B. physische Objekte in fester Form). Das LiDAR-System 602 verfügt zudem über einen oder mehrere Lichtdetektoren 610, die das reflektierte Licht erfassen. In einer Ausführungsform erzeugen ein oder mehrere dem LiDAR-System zugehörige Datenverarbeitungssysteme ein Bild 612, welches das Sichtfeld 614 des LiDAR-Systems darstellt. Das Bild 612 umfasst Informationen, die die Begrenzungen 616 eines physischen Objekts 608 darstellen. Auf diese Weise wird das Bild 612 verwendet, um die Begrenzungen 616 eines oder mehrerer physischer Objekte in der Nähe eines AV zu bestimmen.
  • 7 zeigt das LiDAR-System 602 im Betrieb. In dem in dieser Figur gezeigten Szenario empfängt das AV 100 sowohl den Kamerasystemausgang 504c in Form eines Bilds 702 als auch den LiDAR-Systemausgang 504a in Form von LiDAR-Datenpunkten 704. Im Betrieb vergleichen die Datenverarbeitungssysteme des AV 100 das Bild 702 mit den Datenpunkten 704. Insbesondere wird ein im Bild 702 identifiziertes physisches Objekt 706 auch unter den Datenpunkten 704 identifiziert. Auf diese Weise nimmt das AV 100 die Begrenzungen des physischen Objekts auf Grundlage der Kontur und Dichte der Datenpunkte 704 wahr.
  • 8 zeigt weitere Einzelheiten des Betriebs des LiDAR-Systems 602. Wie vorstehend beschrieben, erfasst das AV 100 die Begrenzung eines physischen Objekts auf Grundlage von Eigenschaften der durch das LiDAR-System 602 erfassten Datenpunkte. Wie in 8 gezeigt, reflektiert ein flaches Objekt wie beispielsweise der Boden 802 von einem LiDAR-System 602 emittiertes Licht 804a-d in konsistenter Weise. Anders ausgedrückt, da das LiDAR-System 602 Licht unter Verwendung konsistenter Abstände emittiert, reflektiert der Boden 802 Licht mit den gleichen konsistenten Abständen zurück zum LiDAR-System 602. Während sich das AV 100 über den Boden 802 bewegt, erfasst das LiDAR-System 602 weiter Licht, das vom nächsten gültigen Bodenpunkt 806 reflektiert wird, sofern nichts die Straße behindert. Wenn jedoch ein Objekt 808 die Straße behindert, wird das vom LiDAR-System 602 emittierte Licht 804e-f von den Punkten 810a-b in einer Weise reflektiert, die nicht mit der erwarteten konsistenten Weise übereinstimmt. Aus diesen Informationen kann das AV 100 bestimmen, dass das Objekt 808 vorhanden ist.
  • Wegplanung
  • 9 zeigt ein Blockdiagramm 900 der Beziehungen zwischen Eingängen und Ausgängen eines Planungsmoduls 404 (z.B. wie in 4 gezeigt). Grundsätzlich handelt es sich beim Ausgang eines Planungsmoduls 404 um eine Route 902 von einem Startpunkt 904 (z.B. einem Ausgangspunkt oder Anfangspunkt) bis zu einem Endpunkt 906 (z.B. Zielort oder Endort). Die Route 902 wird üblicherweise durch ein oder mehrere Teilstücke definiert. Ein Teilstück ist beispielsweise eine Strecke, die über zumindest einen Abschnitt einer Straße, Fahrbahn, Autobahn, Durchfahrt oder eines anderen für den Autoverkehr geeigneten physischen Bereichs zurückgelegt werden muss. In einigen Beispielen, z.B. wenn das AV 100 ein geländegängiges Fahrzeug wie ein allradgetriebener (4WD-) oder allradgetriebener (AWD-) PKW, SUV, Pick-up oder dergleichen ist, umfasst die Route 902 „Gelände“-Abschnitte wie unbefestigte Wege oder offene Felder.
  • Zusätzlich zur Route 902 gibt ein Planungsmodul zudem Routenplanungsdaten 908 auf Fahrspurebene aus. Die Routenplanungsdaten 908 auf Fahrspurebene werden verwendet, um Teilstücke der Route 902 auf Grundlage von Bedingungen des Teilstücks zu einer bestimmten Zeit zu durchlaufen. Falls beispielsweise die Route 902 eine mehrspurige Autobahn umfasst, umfassen die Routenplanungsdaten 908 auf Fahrspurebene Trajektorieplanungsdaten 910, die das AV 100 verwenden kann, um unter den mehreren Fahrspuren eine Fahrspur auszuwählen, z.B. danach, ob sich eine Ausfahrt nähert, ob eine oder mehrere der Spuren von anderen Fahrzeugen befahren werden, oder anderen Faktoren, die sich im Verlauf weniger Minuten oder weniger ändern. Ebenso umfassen in einigen Implementierungen die Routenplanungsdaten 908 auf Fahrspurebene Geschwindigkeitseinschränkungen 912, die für ein Teilstück der Route 902 spezifisch sind. Falls beispielsweise das Teilstück Fußgänger oder unerwarteten Verkehr aufweist, können die Geschwindigkeitseinschränkungen 912 das AV 100 auf eine Reisegeschwindigkeit einschränken, die langsamer ist als eine erwartete Geschwindigkeit, z.B. eine auf Geschwindigkeitsbegrenzungsdaten für das Teilstück basierende Geschwindigkeit.
  • In einer Ausführungsform umfassen die Eingänge in das Planungsmodul 404 Datenbankdaten 914 (z.B. von dem in 4 gezeigten Datenbankmodul 410), aktuelle Standortdaten 916 (z.B. die in 4 gezeigte AV-Position 418), Zielortdaten 918 (z.B. für den in 4 gezeigten Zielort 412) und Objektdaten 920 (z.B. die durch das Wahrnehmungsmodul 402 wahrgenommenen klassifizierten Objekte 416 wie in 4 gezeigt). In einigen Ausführungsformen umfassen die Datenbankdaten 914 bei der Planung verwendete Regeln, die auch als „Regelwerk“ bezeichnet werden. Die Regeln sind mittels einer formalen Sprache festgelegt, z.B. mittels Boolescher Logik oder linearer temporaler Logik (LTL). In jeder Situation, in der sich das AV 100 befindet, sind zumindest einige der Regeln auf die Situation anwendbar. Eine Regel ist auf eine gegebene Situation anwendbar, falls die Regel Bedingungen aufweist, die auf Grundlage für das AV 100 verfügbarer Informationen, z.B. Informationen über die Umgebung, erfüllt sind. Regeln können Priorität haben. Beispielsweise kann eine Regel, die besagt „falls es sich bei der Straße um eine Autobahn handelt, auf die ganz linke Fahrspur wechseln“, eine niedrigere Priorität besitzen als „falls die Ausfahrt noch weniger als eine Meile entfernt ist, auf die ganz rechte Fahrspur wechseln“.
  • 10 zeigt einen gerichteten Graphen 1000, der für Wegplanung verwendet wird, z.B. vom Planungsmodul 404 (4). Grundsätzlich wird ein gerichteter Graph 1000 wie der in 10 gezeigte verwendet, um einen Weg zwischen einem Startpunkt 1002 und einem Endpunkt 1004 zu bestimmen. In der Praxis kann die Entfernung zwischen dem Startpunkt 1002 und dem Endpunkt 1004 relativ groß (z.B. in zwei verschiedenen Ballungsgebieten) oder relativ klein sein (z.B. zwei Kreuzungen, die an einen Stadtblock angrenzen oder zwei Fahrspuren einer mehrspurigen Straße).
  • In einer Ausführungsform weist ein gerichteter Graph 1000 Knoten 1006a-d auf, die verschiedene Standorte zwischen dem Startpunkt 1002 und dem Endpunkt 1004 repräsentieren, die ein AV 100 einnehmen könnte. In einigen Beispielen, z.B. wenn der Startpunkt 1002 und der Endpunkt 1004 verschiedene Ballungsgebiete repräsentieren, repräsentieren die Knoten 1006a-d Teilstücke von Straßen. In einigen Beispielen, z.B. wenn der Startpunkt 1002 und der Endpunkt 1004 verschiedene Standorte auf der gleichen Straße repräsentieren, repräsentieren die Knoten 1006a-d verschiedene Positionen auf dieser Straße. Auf diese Weise umfasst der gerichtete Graph 1000 Informationen unterschiedlicher Granularität. In einer Ausführungsform ist ein gerichteter Graph mit hoher Granularität gleichzeitig ein Teilgraph eines anderen gerichteten Graphen mit größerem Maßstab. Zum Beispiel hat ein gerichteter Graph, bei dem der Startpunkt 1002 und der Endpunkt 1004 weit entfernt sind (z.B. viele Meilen voneinander entfernt), die meisten seiner Informationen in einer niedrigen Granularität und basiert auf gespeicherten Daten, enthält aber auch einige Informationen mit hoher Granularität für den Teil des Graphen, der physische Orte im Sichtfeld des AV 100 darstellt.
  • Die Knoten 1006a-d unterscheiden sich von Objekten 1008a-b, die sich nicht mit einem Knoten überlappen können. In einer Ausführungsform repräsentieren bei niedriger Granularität die Objekte 1008a-b Regionen, die nicht mit einem Auto befahrbar sind, z.B. Bereiche, die keine Straßen oder Verkehrswege aufweisen. Bei hoher Granularität repräsentieren die Objekte 1008a-b physische Objekte im Sichtfeld des AV 100, z.B. andere Autos, Fußgänger oder andere Objekte, mit denen sich das AV 100 nicht den gleichen physischen Raum teilen kann. In einer Ausführungsform sind einige oder alle der Objekte 1008a-b statische Objekte (z.B. ein Objekt, das seine Position nicht ändert, wie eine Straßenlaterne oder ein Strommast) oder dynamische Objekte (z.B. ein Objekt, das seine Position ändern kann, wie ein Fußgänger oder ein anderes Auto).
  • Die Knoten 1006a-d sind durch Edges 1010a-c verbunden. Wenn zwei Knoten 1006a-b durch eine Edge 1010a verbunden sind, ist es möglich, dass ein AV 100 zwischen dem einen Knoten 1006a und dem anderen Knoten 1006b hin- und herfahren kann, z.B. ohne zu einem Zwischenknoten fahren zu müssen, bevor er am anderen Knoten 1006b ankommt. (D.h., das AV 100 bewegt sich zwischen den beiden durch die jeweiligen Knotenpunkte repräsentierten physischen Positionen). Die Edges 1010a-c sind häufig insofern bidirektional, als sich ein AV 100 von einem ersten Knoten zu einem zweiten Knoten oder von dem zweiten Knoten zum ersten Knoten bewegt. In einer Ausführungsform sind die Edges 1010a-c insofern unidirektional, als sich ein AV 100 von einem ersten Knoten zu einem zweiten Knoten, jedoch nicht von dem zweiten Knoten zum ersten Knoten bewegen kann. Edges 1010a-c sind unidirektional, wenn sie beispielsweise Einbahnstraßen, einzelne Fahrspuren einer Straße, Fahrbahn oder Autobahn oder andere Merkmale repräsentieren, die aufgrund gesetzlicher oder durch Karten vorgegebener Einschränkungen nur in einer Richtung befahren werden können.
  • In einer Ausführungsform verwendet das Planungsmodul 404 den gerichteten Graphen 1000, um einen aus Knoten und Edges gebildeten Weg 1012 zwischen dem Startpunkt 1002 und Endpunkt 1004 zu identifizieren.
  • Eine Edge 1010a-c weist zugehörige Kosten 1014a-b auf. Bei den Kosten 1014a-b handelt es sich um einen Wert, der die Ressourcen repräsentiert, die aufgewendet werden, wenn das AV 100 diese Edge wählt. Eine typische Ressource ist Zeit. Wenn beispielsweise eine Edge 1010a eine physische Entfernung repräsentiert, die das Zweifache einer anderen Edge 1010b beträgt, dann können die zugehörigen Kosten 1014a der ersten Edge 1010a das Zweifache der zugehörigen Kosten 1014b der zweiten Edge 1010b betragen. Zu anderen Faktoren, die die Zeit beeinflussen, zählen der erwartete Verkehr, die Anzahl an Kreuzungen, Geschwindigkeitsbegrenzung usw. Eine weitere typische Ressource ist Kraftstoffökonomie. Zwei Edges 1010a-b können die gleiche physische Entfernung repräsentieren, jedoch kann eine Edge 1010a mehr Kraftstoff erfordern als eine andere Edge 1010b, z.B. aufgrund von Straßenbedingungen, erwarteter Wetterlage usw.
  • Wenn das Planungsmodul 404 einen Weg 1012 zwischen dem Startpunkt 1002 und dem Endpunkt 1004 identifiziert, wählt das Planungsmodul 404 üblicherweise einen kostenoptimierten Weg, z.B. den Weg mit den geringsten Gesamtkosten, wenn die einzelnen Kosten der Edges zusammenaddiert werden.
  • AV-Steuerung
  • 11 zeigt ein Blockdiagramm 1100 der Eingänge und Ausgänge eines Steuermoduls 406 (z.B. wie in 4 gezeigt). Ein Steuermodul arbeitet in Übereinstimmung mit einer Steuereinheit 1102, die beispielsweise einen oder mehrere Prozessoren (z.B. einen oder mehrere Computerprozessoren wie Mikroprozessoren oder Mikrocontroller oder beides) ähnlich dem Prozessor 304, Kurzzeit- und/oder Langzeit-Datenspeicherung (z.B. Direktzugriffsspeicher oder Flashspeicher oder beides) ähnlich dem Hauptspeicher 306, ROM 308 und eine Speichereinrichtung 310 und im Speicher gespeicherte Anweisungen umfasst, die Arbeitsschritte der Steuereinheit 1102 ausführen, wenn die Anweisungen ausgeführt werden (z.B. durch den einen oder die mehreren Prozessoren).
  • In einer Ausführungsform empfängt die Steuereinheit 1102 Daten, die einen gewünschten Ausgang 1104 repräsentieren. Der gewünschte Ausgang 1104 umfasst üblicherweise eine Geschwindigkeit, z.B. eine Fortbewegungsgeschwindigkeit und eine Fahrtrichtung. Der gewünschte Ausgang 1104 kann beispielsweise auf von einem Planungsmodul 404 (z.B. wie in 4 gezeigt) empfangenen Daten basieren. Gemäß dem gewünschten Ausgang 1104 produziert die Steuereinheit 1102 Daten, die als Gaseingang 1106 und Lenkeingang 1108 verwendbar sind. Der Gaseingang 1106 stellt das Ausmaß dar, in dem das Gaspedal (z.B. Beschleunigungsregelung) eines AV 100 zu betätigen ist, z.B. durch Betätigen des Lenkpedals oder durch Betätigen einer anderen Gassteuerung, um den gewünschten Ausgang 1104 zu erhalten. In einigen Beispielen umfasst der Gaseingang 1106 zudem Daten, die zum Betätigen der Bremse (z.B. Bremsregelung) des AV 100 verwendbar sind. Der Lenkeingang 1108 repräsentiert einen Lenkwinkel, z.B. den Winkel, in dem die Lenksteuerung (z.B. Lenkrad, Lenkwinkelstellglied oder eine andere Funktion zur Steuerung des Lenkwinkels) des AV positioniert werden sollte, um den gewünschten Ausgang 1104 zu erhalten.
  • In einer Ausführungsform empfängt die Steuereinheit 1102 Rückmeldungen, die beim Anpassen der an Gas und Lenkung bereitgestellten Eingänge verwendet wird. Wenn das AV 100 z.B. auf eine Störung 1110 stößt, wie z.B. einen Hügel, wird die gemessene Geschwindigkeit 1112 des AV 100 unter die gewünschte Ausgangsgeschwindigkeit abgesenkt. In einer Ausführungsform wird jeder gemessene Ausgang 1114 der Steuereinheit 1102 bereitgestellt, damit die nötigen Anpassungen vorgenommen werden, z.B. auf Grundlage der Differenz 1113 zwischen der gemessenen Geschwindigkeit und dem gewünschten Ausgang. Der gemessene Ausgang 1114 umfasst gemessene Position 1116, gemessene Geschwindigkeit 1118 (umfassend Fortbewegungsgeschwindigkeit und Fahrtrichtung), gemessene Beschleunigung 1120 und andere durch die Sensoren des AV 100 messbare Ausgänge.
  • In einer Ausführungsform werden Informationen über die Störung 1110 vorab erfasst, z.B. durch einen Sensor wie eine Kamera oder einen LiDAR-Sensor, und einem prädiktiven Rückmeldungsmodul 1122 bereitgestellt. Das prädiktive Rückmeldungsmodul 1122 stellt der Steuereinheit 1102 dann Informationen bereit, die die Steuereinheit 1102 verwenden kann, um entsprechende Anpassungen vorzunehmen. Falls beispielsweise die Sensoren des AV 100 einen Hügel erfassen („sehen“), kann diese Information von der Steuereinheit 1102 verwendet werden, um den Einsatz des Gaspedals zum geeigneten Zeitpunkt vorzubereiten, um ein deutliches Abbremsen zu vermeiden.
  • 12 zeigt ein Blockdiagramm 1200 der Eingänge, Ausgänge und Komponenten der Steuereinheit 1102. Die Steuereinheit 1102 verfügt über eine Geschwindigkeitsprofileinheit 1202, die den Betrieb einer Gas-/Bremssteuereinheit 1204 beeinflusst. Beispielsweise instruiert die Geschwindigkeitsprofileinheit 1202 die Gas-/Bremssteuereinheit 1204 abhängig von z.B. Rückmeldungen, die durch die Steuereinheit 1102 empfangen und durch die Geschwindigkeitsprofileinheit 1202 verarbeitet werden, Beschleunigung oder Abbremsen mittels Gas/Bremse 1206 durchzuführen.
  • Die Steuereinheit 1102 verfügt zudem über eine seitliche Spurführungssteuereinheit 1208, die den Betrieb einer Lenksteuereinheit 1210 beeinflusst. Beispielsweise instruiert die seitliche Spurführungssteuereinheit 1208 die Lenksteuereinheit 1210 abhängig von z.B. Rückmeldungen, die durch die Steuereinheit 1102 empfangen und durch die seitliche Spurführungssteuereinheit 1208 verarbeitet werden, die Position des Lenkwinkelstellglieds 1212 anzupassen.
  • Die Steuereinheit 1102 empfängt verschiedene Eingänge, die verwendet werden, um zu bestimmen, wie Gas/Bremse 1206 und das Lenkwinkelstellglied 1212 gesteuert werden sollen. Ein Planungsmodul 404 stellt Informationen bereit, die beispielsweise von der Steuereinheit 1102 verwendet werden, um eine Fahrtrichtung zu wählen, wenn das AV 100 den Betrieb aufnimmt, und um zu bestimmen, welches Straßenteilstück zu befahren ist, wenn das AV 100 eine Kreuzung erreicht. Ein Lokalisierungsmodul 408 stellt der Steuereinheit 1102 Informationen bereit, die den aktuellen Standort des AV 100 beschreiben, damit beispielsweise die Steuereinheit 1102 bestimmen kann, ob sich das AV 100 auf Grundlage der Art und Weise, in der Gas/Bremse 1206 und das Lenkwinkelstellglied 1212 gesteuert werden, an einem erwarteten Standort befindet. In einer Ausführungsform empfängt die Steuereinheit 1102 Informationen aus anderen Eingängen 1214, z.B. Informationen, die von Datenbanken, Computernetzwerken usw. empfangen werden.
  • Leistungsbewertungssystem für autonome Fahrzeuge
  • Ein computergestütztes Leistungsbewertungssystem kann so konfiguriert werden, dass es das Verhalten eines AV beim Durchführen autonomer Operationen beurteilt. Zum Beispiel kann ein AV (z.B. ein AV 100 wie in 1 bis 12 beschrieben) so konfiguriert sein, dass es autonome Navigationsoperationen durchführt, wie z.B. autonomes Bestimmen eines Weges von einem Standort zu einem anderen und Durchfahren dieses Weges. Ferner kann ein Leistungsbewertungssystem einen Satz von Szenarien auswählen, um die Sicherheit, Effizienz und Effektivität des AV beim Durchführen dieser Operationen zu testen. In einigen Implementierungen kann das Leistungsbewertungssystem zumindest einige der Tests unter Verwendung eines oder mehrerer simulierter Szenarien durchführen, um das Verhalten eines AV in einer computergestützten virtuellen Umgebung zu testen. In einigen Implementierungen können zumindest einige der Tests unter Verwendung eines oder mehrerer realer Szenarien durchgeführt werden, um das tatsächliche Verhalten eines AV in einer physischen Umgebung zu testen.
  • Außerdem kann das AV auf Grundlage der Tests modifiziert und/oder neu konfiguriert werden, um die Leistung des AV zu verbessern. So können zum Beispiel eine oder mehrere Komponenten des AV, die Konfiguration dieser Komponenten und/oder die Regelwerke des AV auf Grundlage der Tests geändert werden, so dass das AV beim Durchführen autonomer Operationen sicherer, effizienter und/oder effektiver arbeitet. Wenn die Tests beispielsweise ergeben, dass sich das AV unter bestimmten Bedingungen gefährlich oder anderweitig unerwünscht verhält, kann das AV modifiziert und/oder neu konfiguriert werden, um die Wahrscheinlichkeit zu verringern, dass sich das AV künftig unter diesen Bedingungen so verhält.
  • In einigen Implementierungen kann ein Leistungsbewertungssystem als Teil eines iterativen Prototypentwicklungs- und Validierungsprozesses zum Entwickeln eines AV verwendet werden. So kann beispielsweise die Konfiguration eines AV alternativ mehrfach hintereinander validiert und modifiziert werden, um gefährliches oder anderweitig unerwünschtes Verhalten des AV schrittweise zu erkennen und zu korrigieren.
  • 13 zeigt ein beispielhaftes System 1300 für iteratives Prototyp-Entwickeln eines AV und Validieren der Leistung des prototypischen AV. Das System 1300 beinhaltet ein AV-Prototypentwicklungssystem 1302 und ein AV-Leistungsbewertungssystem 1304.
  • Das AV-Prototypentwicklungssystem 1302 kann zumindest teilweise unter Verwendung eines oder mehrerer Computersysteme implementiert werden (z.B. eines Cloud-Servers 136, einer Datenverarbeitungsumgebung 200 und/oder eines Computersystems 300, wie in 1 bis 3 gezeigt). Während eines beispielhaften Betriebs des AV-Prototypentwicklungssystems 1302 bestimmt das AV-Prototypentwicklungssystem 1302 eine Konfiguration für ein AV. Zum Beispiel kann das AV-Prototypentwicklungssystem 1302 ein oder mehrere Regelwerke 1306, Hardware-Konfigurationen 1308 und/oder Software-Konfigurationen 1310 für das AV bestimmen.
  • Wie vorstehend beschrieben (z.B. mit Bezug auf 4 und 9), beinhaltet ein Regelwerk 1306 eine oder mehrere Regeln, die von einem Planungsmodul (z.B. dem Planungsmodul 404) verwendet werden, um einen Weg für das AV zu planen. Zum Beispiel können in einer bestimmten Situation, in der sich ein AV befindet, zumindest einige der Regeln des Regelwerkes auf diese Situation anwendbar sein. Gemäß den anwendbaren Regeln kann das AV eine oder mehrere Aktionen autonom durchführen. Wie vorstehend beschrieben (z.B. unter Bezugnahme auf 11), kann das AV beispielsweise gemäß den Regeln in einer bestimmten Weise lenken, Gas geben und/oder bremsen.
  • Das Regelwerk kann zum Beispiel mindestens eine Verkehrsregel beinhalten. Verkehrsregeln können zum Beispiel festlegen, dass das AV Ampeln beachtet, mit dem fließenden Verkehr fährt und unter bestimmten oder allen Bedingungen eine zulässige Geschwindigkeit einhält.
  • Als weiteres Beispiel kann das Regelwerk mindestens eine Sicherheitsregel beinhalten. Sicherheitsregeln können beispielsweise festlegen, dass das AV Kollisionen mit anderen Objekten vermeidet, einen sicheren Abstand zu anderen Fahrzeugen und Fußgängern einhält und Ausweichmanöver durchführt, um Kollisionen oder andere gefährliche Situationen zu vermeiden.
  • Als weiteres Beispiel kann das Regelwerk mindestens eine Fahrgastkomfortregel beinhalten. Zum Beispiel können Fahrgastkomfortregeln festlegen, dass das AV sanft beschleunigt und abbremst und Kurven sachte nimmt.
  • Als weiteres Beispiel kann das Regelwerk mindestens eine Fahrzeugleistungsregel beinhalten. So können beispielsweise Fahrzeugleistungsregeln festlegen, dass das AV bestimmte Geschwindigkeits-, Brems-, Beschleunigungs- und Wendegrenzen des Fahrzeugs einhält.
  • In einigen Implementierungen kann das Regelwerk 1306 auch zur Bewertung der Leistung des AV verwendet werden. Zum Beispiel kann das Regelbuch 1306 ein bestimmtes gewünschtes Verhalten eines AV definieren (z.B. eine Kombination aus einer oder mehreren Verkehrsregeln, Sicherheitsregeln, Fahrgastkomfortregeln und/oder jeder anderen Regel, die ein gewünschtes Verhalten des AV festlegt). Die Verletzung von Regeln im Regelwerk 1306 kann zu einer Erhöhung einer Verletzungsmetrik führen (z.B. einer numerischen Punktzahl, die die Häufigkeit, mit der das AV eine unerwünschte Operation durchgeführt hat, und/oder die Schwere dieser Verletzungen darstellt). Auch wenn vorstehend verschiedene Regeln eines Regelwerkes beschrieben werden, handelt es sich hierbei lediglich um veranschaulichende Beispiele. In der Praxis kann ein Regelwerk eine oder mehrere zusätzliche Regeln beinhalten, die ein bestimmtes Verhalten für ein AV in bestimmten Situationen festlegen, entweder anstelle der vorstehend beschriebenen Regeln oder zusätzlich zu diesen.
  • Die Hardwarekonfiguration 1308 des AV kann eine beliebige Anordnung der vorliegend beschriebenen physischen Komponenten des AV umfassen. Beispielsweise kann eine bestimmte Hardwarekonfiguration 1308 festlegen, dass ein AV eine bestimmte Anzahl jeder der vorliegend (z.B. unter Bezugnahme auf 1 bis 12) beschriebenen verschiedenen Arten von physischen Komponenten beinhaltet, einen bestimmten Ort und/oder eine Ausrichtung für jede dieser physischen Komponenten in dem AV festlegen, eine bestimmte physische Anordnung jeder der Komponenten und ihrer Bestandteile festlegen und bestimmte Verbindungen zwischen diesen physischen Komponenten und Teilen (z.B. elektrische und/oder Kommunikationsverbindungen) festlegen. Als weiteres Beispiel kann eine bestimmte Hardwarekonfiguration 1308 zudem festlegen, dass ein AV bestimmte physikalische Eigenschaften aufweist (z.B. Masse, Abmessungen, Form, Schwerpunkt usw.). Als weiteres Beispiel kann eine bestimmte Hardwarekonfiguration 1308 zudem festlegen, dass ein AV bestimmte Leistungseigenschaften aufweist (z.B. Höchstgeschwindigkeit, Beschleunigungsvermögen, Bremsvermögen, Wendevermögen usw.).
  • Die Softwarekonfiguration 1310 des AV kann eine beliebige Anordnung der vorliegend beschriebenen Softwarekomponenten des AV umfassen. Beispielsweise kann eine bestimmte Softwarekonfiguration 1310 festlegen, dass ein AV eine bestimmte Anordnung von Softwaremodulen beinhaltet, die jeweils so konfiguriert sind, dass sie bestimmte, vorstehend (z.B. unter Bezugnahme auf 1 bis 12) beschriebene Sätze softwarebasierter Operationen ausführen. Als weiteres Beispiel kann eine bestimmte Softwarekonfiguration 1310 zudem festlegen, dass die Softwarekomponenten eines AV bestimmte Arten von Daten von einer oder mehreren physischen Komponenten und/oder anderen Softwarekomponenten abrufen, diese Daten auf eine bestimmte Weise verarbeiten und die verarbeiteten Daten an andere physische und/oder Softwarekomponenten übertragen.
  • In einigen Implementierungen kann das AV-Prototypentwicklungssystem 1302 eine Konfiguration für ein AV automatisch (z.B. ohne Eingabe eines Benutzers) bestimmen. Zum Beispiel kann das AV-Prototypentwicklungssystem 1302 einen Satz von Regelwerken 1306, Hardwarekonfigurationen 1308 und Softwarekonfigurationen 1310 für ein AV unter Verwendung eines oder mehrerer Maschinenlernprozesse und/oder unüberwachter Lernprozesse bestimmen.
  • In einigen Implementierungen kann das AV-Prototypentwicklungssystem 1302 eine Konfiguration für ein AV zumindest teilweise auf Grundlage von Eingaben von einem oder mehreren Benutzern (z.B. einem oder mehreren menschlichen Konstrukteuren) bestimmen. Zum Beispiel kann ein Benutzer ein oder mehrere Regelwerke 1306, Hardware-Konfigurationen 1308 und/oder Software-Konfigurationen 1310 für ein AV festlegen. Das AV-Prototypentwicklungssystem 1302 kann eine Konfiguration für ein AV auf Grundlage von Vorgaben des Benutzers bestimmen.
  • Nach dem Bestimmen einer bestimmten Konfiguration des AV stellt das AV-Prototypentwicklungssystem 1302 die Konfiguration dem AV-Leistungsbewertungssystem 1304 zum Testen zur Verfügung. Wie vorstehend beschrieben, kann das AV-Leistungsbewertungssystem 1304 das AV (mit der vom AV-Prototypentwicklungssystem 1302 festgelegten Konfiguration) in mehreren Szenarien 1312 testen, um das Verhalten dieser Konfiguration des AV unter einer Vielzahl von Bedingungen zu beurteilen.
  • In einigen Implementierungen kann jedes der Szenarien 1302 eine bestimmte Kombination von Straßen, Hindernissen, anderen Fahrzeugen, Fußgängern und Verkehrsströmen festlegen, die ein AV durchqueren soll. Beispielsweise zeigen 14A und 14B ein vereinfachtes Beispiel eines Szenarios 1312 zum Testen der Leistung eines AV. Wie in 14A gezeigt, umfasst das Szenario 1312 ein Netz miteinander verbundener Straßen 1402, die ein AV durchqueren kann und die jeweils einen bestimmten Verkehrsfluss aufweisen (z.B. eine bestimmte Verkehrsrichtung auf jeder der Fahrspuren der Straßen). Wie in 14B gezeigt, umfasst das Szenario 1312 ferner mehrere andere Fahrzeuge 1404, die auf diesen Straßen 1402 fahren. Die Fahrzeuge 1404 können sich beispielsweise an bestimmten Stellen auf den Straßen 1402 befinden und mit bestimmten Geschwindigkeiten und in bestimmten Richtungen auf diesen Straßen 1402 unterwegs sein. Wie in 14B dargestellt, beinhaltet das Szenario 1312 ferner eine bestimmte Zielsetzung 1406 für das AV. Eine Zielsetzung kann beispielsweise eine bestimmte Aufgabe oder eine Reihe von Aufgaben sein, die das AV im Szenario 1302 ausführen soll. In dem in 14B gezeigten Beispiel kann eine Zielsetzung 1406 beispielsweise ein Rechtsabbiegen von einer Straße 1402a auf eine kreuzende Straße 1402b sein.
  • Wie vorstehend beschrieben, können in einigen Implementierungen zumindest einige der Szenarien 1302 simulierte Szenarien sein. Zum Beispiel können zumindest einige der Szenarien 1302 eine computergestützte virtuelle Umgebung zum Testen eines AV festlegen, einschließlich einer oder mehrerer virtueller Straßen, Hindernisse, anderer Fahrzeuge, Fußgänger, Verkehrsströme und Umgebungsbedingungen, die ein AV durchqueren soll. Ferner können zumindest einige der Szenarien 1302 eine Zielsetzung festlegen, die das AV in der virtuellen Umgebung erreichen soll. Ferner kann eine computergestützte Simulation verwendet werden, um das Verhalten eines AV in der virtuellen Umgebung unter der vom AV-Prototypentwicklungssystem 1302 festgelegten Konfiguration vorherzusagen. In einigen Implementierungen können computergestützte Simulationen zumindest teilweise durch das AV-Leistungsbewertungssystem 1304 durchgeführt werden.
  • Wie vorstehend beschrieben, können in einigen Implementierungen zumindest einige der Szenarien 1302 reale Szenarien sein. Zum Beispiel können zumindest einige der Szenarien 1302 eine physische Umgebung zum Testen eines AV festlegen. Das AV kann physisch in dieser Umgebung eingesetzt und angewiesen werden, autonome Operationen innerhalb dieser Umgebung durchzuführen. In einigen Implementierungen können die Ergebnisse der Tests dem AV-Leistungsbewertungssystem 1304 bereitgestellt werden. Die Ergebnisse der Tests können beispielsweise manuell von einem Benutzer (z.B. einem menschlichen Beobachter) und/oder automatisch von einem Computersystem, das diese Tests beobachtet hat, eingegeben werden.
  • Das AV-Leistungsbewertungssystem 1304 gibt auf Grundlage der Tests eine oder mehrere Leistungsmetriken für das AV aus.
  • In einigen Implementierungen kann das Leistungsbewertungssystem 1304 Metriken ausgeben, die angeben, wie oft das AV in jedem der Szenarien gegen rechtliche, sicherheitsbezogene und/oder komfortbezogene Einschränkungen verstoßen hat und wie schwerwiegend jeder dieser Verstöße war.
  • Die Messdaten können beispielsweise angeben, wie oft das AV mit einem anderen Objekt oder einem Fußgänger auf der Straße in Kontakt kam. Ferner können die Metriken den Kontakt je nach Schweregrad kategorisieren. So kann beispielsweise ein Kontakt mit einem Fußgänger als schwerwiegender angesehen werden als ein Kontakt mit einem Bordstein.
  • Als weiteres Beispiel können die Metriken die Anzahl von Verstößen des AV gegen bestimmte Verkehrsregeln angeben, wie z.B. Überschreiten der Geschwindigkeitsbegrenzung der Straßen, Missachtung einer Verkehrsample oder Fahren gegen den Verkehrsfluss. Die Metriken können die Verstöße oder Kontakte auch nach ihrer Schwere kategorisieren. Beispielsweise könnte eine geringfügigere Überschreitung einer Geschwindigkeitsbegrenzung als weniger schwerwiegend angesehen werden als eine höhere Überschreitung einer Geschwindigkeitsbegrenzung.
  • Als weiteres Beispiel können die Metriken anzeigen, wie oft sich das AV in einer Weise verhalten hat, die für einen Fahrgast unangenehm ist, wie z.B. Beschleunigen, Bremsen und/oder Ändern einer Richtung des AV über bestimmte Komfortgrenzen hinaus. Die Metriken können die Komfortbeeinträchtigung auch nach ihrer Schwere kategorisieren. So könnte beispielsweise ein geringfügigeres Überschreiten einer Beschleunigungsgrenze als weniger schwerwiegend angesehen werden als ein höheres Überschreiten einer Beschleunigungsgrenze.
  • Als weiteres Beispiel können die Metriken angeben, wie oft das AV von einer zuvor geplanten Route abwich, sowie das Ausmaß dieser Abweichungen (z.B. ausgedrückt als zur Route hinzukommende Entfernung und/oder zusätzliche Fahrzeit).
  • Als weiteres Beispiel können die Metriken angeben, wie oft das AV die Leistungsgrenzen des AV überschritten hat und/oder Gefahr lief, diese zu überschreiten. Die Metrik kann beispielsweise angeben, wie oft das AV in einer Weise beschleunigt, gebremst und/oder Abbiegemanöver durchgeführt hat, die die Sicherheits- oder Konstruktionsgrenzen des AV überschreitet und/oder gefährdet. Die Metriken können zudem den Schweregrad dieser Abweichungen angeben. Beispielsweise können die Metriken angeben, in welchem Ausmaß das AV das Beschleunigungs-, Brems- und Wendevermögen des AV überschritten hat und/oder wie nahe das AV daran war, diese zu überschreiten.
  • Als weiteres Beispiel kann das AV-Leistungsbewertungssystem 1304 Metriken ausgeben, die die Zeit angeben, die das AV benötigt hat, um jedes der Szenarien abzuschließen. Als weiteres Beispiel kann das AV-Leistungsbewertungssystem 1304 Metriken ausgeben, die die Durchschnittsgeschwindigkeit des AV während jedes der Szenarien angeben. Als weiteres Beispiel kann das AV-Leistungsbewertungssystem 1304 Metriken ausgeben, die die Menge an Ressourcen (z.B. Kraftstoff und/oder elektrische Energie) angeben, die das AV während jedes der Szenarien beansprucht hat.
  • Das AV-Leistungsbewertungssystem 1304 stellt dem AV-Prototypentwicklungssystem 1302 die eine oder die mehreren Leistungsmetriken zur Verfügung. Auf Grundlage der einen oder der mehreren Leistungsmetriken kann das AV-Prototypentwicklungssystem 1302 das AV modifizieren und/oder neu konfigurieren, um die Leistung des AV zu verbessern. Beispielsweise kann das AV-Prototypentwicklungssystem 1302 die Regelwerke 1306, Hardware-Konfigurationen 1308 und/oder Software-Konfigurationen 1310 des AV derart modifizieren, dass das AV autonome Operationen sicherer, effizienter und/oder effektiver durchführt.
  • Die geänderte Konfiguration für das AV kann unter Verwendung des AV-Leistungsbewertungssystems 1304 bewertet werden (z.B. wie vorstehend beschrieben). Dieser Prozess kann mehrmals hintereinander durchgeführt werden, um die Leistung des AV durch aufeinanderfolgende inkrementelle Modifikationen und/oder Neukonfigurationen des AV iterativ zu verbessern.
  • In einigen Fällen kann das AV-Leistungsbewertungssystem 1304 einen Satz von Szenarien 1312 auswählen, um die Menge an Informationen zu maximieren, die in Bezug auf die Leistung des AV mit einem bestimmten Ressourcenbudget gewonnen werden. Zum Beispiel kann die Leistung eines AV als Zufallsvariable mit einer bestimmten Wahrscheinlichkeitsverteilung ausgedrückt werden. Bestimmte Szenarien 1312, die bei Verwendung zur Bewertung der Leistung eines AV eine Entropie der Zufallsvariablen um einen bestimmten Grad reduzieren, können für die Auswahl gegenüber anderen Szenarien 1312 priorisiert werden, die die Entropie um einen vergleichsweise geringeren Grad reduzieren. Ferner kann der ausgewählte Satz von Szenarien 1312 in eine Standard-Testbatterie aufgenommen werden, um die Leistung des AV während der Entwicklung und Validierung von AV-Systemen für autonome Navigation zu beurteilen.
  • 15 zeigt einen beispielhaften Prozess 1500 zum Auswählen eines Satzes von Szenarien zum Testen der Leistung eines AV. Der Prozess 1500 kann zum Beispiel vom AV-Leistungsbewertungssystem 1304 durchgeführt werden, um einen Satz von Szenarien 1312 aus einem Pool von Kandidatenszenarien auszuwählen, um die Leistung eines AV zu testen.
  • Gemäß dem Prozess 1500 wird ein Pool von Kandidatenszenarien identifiziert. Ferner wird jedes dieser Szenarien auf einen oder mehrere Vektoren in einem Szenarienraum abgebildet (Block 1502). Beispielsweise kann jedes der Merkmale der Kandidatenszenarien einer anderen Dimension des Szenarienraums entsprechen. Das Vorhandensein oder Fehlen dieses Merkmals in einem bestimmten Kandidatenszenario kann durch einen Vektor im Szenarienraum ausgedrückt werden.
  • Zum Beispiel können zumindest einige der Kandidatenszenarien das Vorhandensein eines Fußgängers beinhalten, der vor dem AV dessen Weg kreuzt. Kandidatenszenarien mit diesem Merkmal können durch Vektoren dargestellt werden, die jeweils einen bestimmten Wert (z.B. den Wert „1“) in einer ersten Dimension des Szenarienraums enthalten. Kandidatenszenarien, die dieses Merkmal nicht aufweisen, können durch Vektoren dargestellt werden, die jeweils einen anderen Wert (z.B. den Wert „0“) in der ersten Dimension des Szenarienraums enthalten.
  • Als weiteres Beispiel können zumindest einige der Kandidatenszenarien das Vorhandensein anderer Fahrzeuge beinhalten, die auf der gleichen Fahrspur wie das AV fahren. Kandidatenszenarien mit diesem Merkmal können durch Vektoren dargestellt werden, die jeweils einen bestimmten Wert (z.B. den Wert „1“) in einer zweiten Dimension des Szenarienraums enthalten. Kandidatenszenarien, die dieses Merkmal nicht aufweisen, können durch Vektoren dargestellt werden, die jeweils einen anderen Wert (z.B. den Wert „0“) in der zweiten Dimension des Szenarienraums enthalten.
  • Als weiteres Beispiel können zumindest einige der Kandidatenszenarien das Vorhandensein anderer Fahrzeuge beinhalten, die auf einer anderen Fahrspur als das AV fahren. Kandidatenszenarien mit diesem Merkmal können durch Vektoren dargestellt werden, die jeweils einen bestimmten Wert (z.B. den Wert „1“) in einer dritten Dimension des Szenarienraums enthalten. Kandidatenszenarien, die dieses Merkmal nicht aufweisen, können durch Vektoren dargestellt werden, die jeweils einen anderen Wert (z.B. den Wert „0“) in der dritten Dimension des Szenarienraums enthalten.
  • Als weiteres Beispiel können zumindest einige der Kandidatenszenarien Fahrzeuge beinhalten, die in die gleiche Richtung wie das AV fahren. Kandidatenszenarien mit diesem Merkmal können durch Vektoren dargestellt werden, die jeweils einen bestimmten Wert (z.B. den Wert „1") in einer vierten Dimension des Szenarienraums enthalten. Kandidatenszenarien, die dieses Merkmal nicht aufweisen, können durch Vektoren dargestellt werden, die jeweils einen anderen Wert (z.B. den Wert „0“) in der vierten Dimension des Szenarienraums enthalten.
  • Als weiteres Beispiel können zumindest einige der Kandidatenszenarien Fahrzeuge beinhalten, die in die entgegengesetzte Richtung des AV fahren. Kandidatenszenarien mit diesem Merkmal können durch Vektoren dargestellt werden, die jeweils einen bestimmten Wert (z.B. den Wert „1“) in einer fünften Dimension des Szenarienraums enthalten. Kandidatenszenarien, die dieses Merkmal nicht aufweisen, können durch Vektoren dargestellt werden, die jeweils einen anderen Wert (z.B. den Wert „0“) in der fünften Dimension des Szenarienraums enthalten.
  • Auch wenn vorstehend beispielhafte Merkmale und Abmessungen beschrieben sind, handelt es sich hierbei lediglich um veranschaulichende Beispiele. In der Praxis kann ein Vektorraum eine beliebige Anzahl von Dimensionen umfassen, die eine beliebige Anzahl verschiedener Merkmale der Kandidatenszenarien repräsentieren.
  • Ferner wird die Leistung eines AV im Szenarienraum bestimmt (Block 1506). Beispielsweise kann unter Verwendung des Leistungsbewertungssystems 1304 die Leistung des AV in einigen oder allen Kandidatenszenarien getestet werden. Das Ergebnis der Tests kann unter Verwendung einer oder mehrerer Leistungsmetriken ausgedrückt werden (z.B. wie vorstehend beschrieben).
  • Ferner wird für jedes der getesteten Szenarien die Menge an Informationen bestimmt, die über die Leistung des AV gewonnen wird (Block 1506). In einigen Implementierungen kann die Leistung eines AV als Zufallsvariable mit einer bestimmten Wahrscheinlichkeitsverteilung ausgedrückt werden. Die Menge gewonnener Informationen kann sich auf einen bestimmten Grad an Entropiereduktion in dieser Variablen beziehen und/oder mit diesem korrelieren.
  • Ferner wird auf Grundlage der Menge an Informationen, die durch jedes der getesteten Szenarien gewonnen wird, aus den Kandidatenszenarien ein Satz von Szenarien ausgewählt (Block 1508). Beispielsweise können bestimmte Kandidatenszenarien, die eine Entropie der Zufallsvariablen um einen bestimmten Grad reduzieren, zur Auswahl gegenüber anderen Kandidatenszenarien priorisiert werden, die die Entropie um einen vergleichsweise geringeren Grad reduzieren. Der ausgewählte Satz von Szenarien kann in eine Standard-Testbatterie aufgenommen werden, um die Leistung des AV während der Entwicklung und Validierung von AV-Systemen für autonome Navigation zu beurteilen.
  • Dieser Prozess kann beim Testen der Leistung eines AV von Vorteil sein, um die Auswirkungen eines abnehmenden Ertrags zu mildern. 16 zeigt beispielsweise eine vereinfachte Beziehung zwischen einer Anzahl getesteter Szenarien (horizontale Achse) und einer Gesamtmenge an Informationen, die in Bezug auf die Leistung eines AV erhalten werden (vertikale Achse), dargestellt als Kurve 1602. Mit zunehmender Anzahl getesteter Szenarien (z.B. von links nach rechts) nehmen auch die Gesamtinformationen über die Leistung des AV zu (z.B. von unten nach oben). Die Grenzmenge gewonnener Informationen nimmt jedoch mit jedem zusätzlichen Test ab, dargestellt durch eine von links nach rechts abnehmende Steigung der Kurve 1602. Wenn die Grenzmenge an Informationsgewinn hinreichend gering ist (z.B. weniger als ein bestimmter Schwellenwert), kann das Testen abgebrochen werden. Dementsprechend kann der Nutzen des Durchführens jedes zusätzlichen Tests gegen die mit dem Durchführen dieses Tests verbundenen Ressourcenkosten abgewogen werden.
  • In einigen Implementierungen kann mit diesem Prozess die Leistung eines AV schneller und effizienter getestet werden. Beispielsweise kann ein begrenzter Satz von Szenarien zum Testen ausgewählt werden, so dass jedes der Szenarien in dem Satz nützliche Informationen für die Beurteilung der Leistung des AV liefert. Ferner kann, wie vorstehend beschrieben, der Satz so gewählt werden, dass die Auswirkungen eines abnehmenden Ertrags abgeschwächt werden. Dementsprechend kann die Leistung des AV unter Verwendung einer geringeren Anzahl von Testszenarien bestimmt werden (z.B. im Vergleich zur Anzahl von Testszenarien, die im Rahmen eines Brute-Force-Ansatzes verwendet werden könnten).
  • In einigen Implementierungen kann der Schwellenwert, mit dem bestimmt wird, wann das Testen abgebrochen werden soll, empirisch ausgewählt werden. Der Schwellenwert kann zum Beispiel ein einstellbarer Wert sein, der es einem Benutzer ermöglicht, den Wunsch nach Informationen über die Leistung eines AV gegen einen Aufwand an Ressourcen zum Beziehen dieser Informationen abzuwägen. Wenn es beispielsweise wünschenswert ist, eine größere Menge an Informationen über die Leistung eines AV zu erhalten, selbst wenn für jeden zusätzlich durchgeführten Test eine größere Menge an Ressourcen aufgewendet werden müsste, kann der Schwellenwert auf einen relativ niedrigeren Wert eingestellt werden (z.B. so, dass eine größere Anzahl an Tests unter Verwendung einer größeren Anzahl an Szenarien durchgeführt wird, bis der Schwellenwert erreicht ist). Als weiteres Beispiel kann, wenn es wünschenswert ist, Ressourcen auf konservativere Weise aufzuwenden, der Schwellenwert auf einen relativ höheren Wert gesetzt werden (z.B. so, dass weniger Tests mit weniger Szenarien durchgeführt werden, bis der Schwellenwert erreicht ist).
  • In einigen Implementierungen kann die Anzahl an Szenarien, die zum Testen ausgewählt werden, entsprechend einer Budgetmetrik eingeschränkt werden. Zum Beispiel kann jedes Kandidatenszenario mit Ressourcenkosten für die Durchführung eines Tests unter Verwendung dieses Kandidatenszenarios verbunden sein. Die Kandidatenszenarien können so ausgewählt werden, dass die Ressourcenkosten für die ausgewählten Szenarien ein bestimmtes Budget nicht überschreiten. Wenn beispielsweise jedes der Kandidatenszenarien Ressourcenkosten von einer Einheit aufweist und das Gesamtbudget nicht mehr als 10 Einheiten betragen soll, können bis zu 10 Kandidatenszenarien zum Testen ausgewählt werden. Dies kann beispielsweise nützlich sein, um die Ressourcen zu begrenzen, die zum Testen der Leistung eines AV aufgewendet werden müssten. In einigen Implementierungen kann das Budget empirisch ausgewählt werden.
  • In einigen Implementierungen können Kandidatenszenarien auf Grundlage von Ähnlichkeiten und/oder Unterschieden zwischen den Kandidatenszenarien in mehrere verschiedene Gruppen eingeteilt werden. Ferner können auf Grundlage dieser Gruppen Kandidatenszenarien zum Testen ausgewählt werden.
  • Wie vorstehend beschrieben, kann jedes Kandidatenszenario durch einen jeweiligen Vektor im Szenarienraum dargestellt werden. Auf Grundlage von Ähnlichkeiten und/oder Unterschieden zwischen den Vektoren kann das Kandidatenszenario in eine oder mehrere Gruppen geclustert werden. Im Allgemeinen können Kandidatenszenarien innerhalb einer gemeinsamen Gruppe einander ähnlicher sein, während Kandidatenszenarien innerhalb verschiedener Gruppen einander weniger ähnlich sein können. Kandidatenszenarien können aus den Gruppen so ausgewählt werden, dass die Menge an Informationen, die durch ein Durchführen von Tests unter Verwendung der ausgewählten Szenarien gewonnen wird, maximiert (oder anderweitig verbessert) wird. In einigen Implementierungen können Kandidatenszenarien aus den Gruppen gemäß einem Greedy-Algorithmus ausgewählt werden (z.B. einer Problemlösungsheuristik, die in jeder von mehreren Phasen eines Auswahlprozesses eine lokal optische Auswahl trifft).
  • In einigen Implementierungen können Kandidatenszenarien gemäß einer hierarchischen Struktur gruppiert werden. Zum Beispiel kann jede Stufe der hierarchischen Struktur eine relative Ähnlichkeit zwischen Knoten der hierarchischen Struktur darstellen. Knoten, die einen gemeinsamen Knoten haben, der sich auf einer höheren Stufe der hierarchischen Struktur befindet (z.B. näher an der „Wurzel“ der Hierarchie), können darauf hindeuten, dass die Knoten einen geringeren Grad an Ähnlichkeit zueinander aufweisen. Im Gegensatz dazu können Knoten, die einen gemeinsamen Knoten haben, der sich auf einer niedrigeren Stufe der hierarchischen Struktur befindet, darauf hinweisen, dass die Knoten einen höheren Grad an Ähnlichkeit zueinander aufweisen. Kandidatenszenarien können aus der Hierarchie so ausgewählt werden, dass die Menge an Informationen, die durch ein Durchführen von Tests unter Verwendung der ausgewählten Szenarien gewonnen wird, maximiert (oder anderweitig verbessert) wird. In einigen Implementierungen können Kandidatenszenarien aus der hierarchischen Struktur gemäß einem Greedy-Algorithmus ausgewählt werden. In einigen Implementierungen kann es sich bei der hierarchischen Struktur um ein Bayes'sches hierarchisches Modell handeln. In einigen Implementierungen können Kandidatenszenarien gemäß einer anderen grafischen Darstellung gruppiert werden, z.B. gemäß einem Bayes'schen Netz, einem Faktorgraphen, einem Hidden-Markov-Modell (HMM) oder einer anderen Struktur.
  • Beispielhafte Methoden zum Auswählen von Szenarien auf Grundlage von Informationsgewinn
  • Wie vorstehend beschrieben, kann ein AV-Leistungsbewertungssystem 1304 Szenarien zum Testen des Verhaltens eines AV auf Grundlage der Menge an Informationen auswählen, die durch Testen jedes der Szenarien gewonnen würde. Im Folgenden werden Beispielmethoden zum Auswählen von Szenarien auf Grundlage von Informationsgewinn beschrieben.
  • Grundsätzlich kann ein hierarchisches statistisches Modell zur Darstellung der AV-Leistung verwendet werden. Ferner kann ein Satz von Szenarien ausgewählt werden, um diese Leistung in allen Betriebsgestaltungsbereichen (Operational Design Domains, ODDs) zu bewerten. Die hierarchische Struktur kann die Wiederverwendung von Informationen von einem ODD zum nächsten unterstützen und die Empfindlichkeit der Leistungsschätzung gegenüber Ereignishäufigkeiten abschwächen, da diese nicht direkt genutzt werden. Ferner kann ein Kriterium verwendet werden, um den Wert eines Testens für ein konkretes Szenario zu bewerten, und die vorliegend beschriebenen beispielhaften Stichprobenentnahmeverfahren können in Bezug auf dieses Kriterium nahezu optimal sein.
  • Grundsätzlich kann der Auswahlprozess zwei Schritte umfassen, wie in 17 zusammengefasst. Zunächst wird eine AV-Leistung als Bayes'sches hierarchisches Modell modelliert. Die Herausbildung formaler Regeln für ein erwartetes AV-Verhalten und damit verbundener Verletzungsmetriken erleichtert die quantitative Beurteilung einer AV-Leistung in jedem Szenario. Die Faktoren, aus denen sich ein ODD zusammensetzt, wie z.B. die Einsatzregion, können als Stufen in der Hierarchie verwendet werden. In einigen Implementierungen kann es sich bei der Region um eine bestimmte Stadt, einen Bezirk, ein Bundesland, ein Land oder einen Teil davon handeln. Diese Darstellung nutzt ODD-Faktoren als Analyseeinheiten mit jeweils nur einigen wenigen Beobachtungen. In der Tat wird es schwierig, Szenarien zu beobachten, die einem ODD entsprechen, bei dem alle Faktoren feststehen, z.B. blaue Stoppschilder bei einer bestimmten Straßenkrümmung bei hoher Regendichte und geringer Kommunikationszuverlässigkeit. Die Zahl in Frage kommender Beobachtungen nimmt mit der Menge fester Faktoren ab. In einigen Implementierungen kann dieser Teil des Prozesses als Ebene bezeichnet werden, da jede Stufe der Hierarchie effektiv eine Hyperebene darstellen kann.
  • Zweitens kann durch dieses Bayes'sche hierarchische Modell Inferenz bezüglich der AV-Leistung vorgenommen werden. Dies ermöglicht die Berechnung eines Informationsgewinns, den jedes neue Szenario für das System mit sich bringt und der als Metrik für die Bewertung der Relevanz eines neuen Szenarios und eines Szenariensatzes verwendet werden kann. Das Bayes'sche hierarchische Modell bietet Eigenschaften bedingter Unabhängigkeit zwischen der AV-Leistung in verschiedenen Hyperebenen des Szenarienraums, wodurch der Informationsgewinn submodular ist. Dies bedeutet, dass der Informationsgewinn eine Eigenschaft eines abnehmenden Ertrags aufweist. Je mehr Szenarien beispielsweise hinzugefügt werden, desto geringer wird die Informationszunahme. Somit kann der Greedy-Algorithmus für submodulare Optimierung genutzt werden, um einen Szenariensatz bereitzustellen, der einen nahezu maximalen Informationsgewinn (Stichprobe) bietet. Es kann ein Stoppkriterium (z.B. zum Abbrechen der Auswahl zusätzlicher Szenarien für den Szenariensatz) definiert werden, so dass die Auswahl abgebrochen wird, wenn der Informationsgewinn bei einem bestimmten statistischen Konfidenzniveau nicht mehr zunimmt.
  • Um die Wirksamkeit dieses Prozesses zu demonstrieren, wurde ein Experiment durchgeführt, bei dem ein AV auf Strecken der CARLA-Challenge 2020 (CARLA-Team) simuliert wurde. Die Ergebnisse dieses Experiments zeigen einen sich einpendelnden Informationsgewinn mit einer 90 %igen Konfidenz nach einem Testen von nur etwa 7 % des Szenarienraums, wohingegen eine andere Methode (Latin-Hypercube-Stichprobenentnahme) 33 % mehr Szenarien untersucht, um die gleiche Menge an Informationen zu erhalten.
  • Wie nachstehend beschrieben, kann eine AV-Leistung unter Verwendung eines Bayes'schen hierarchischen Modells dargestellt werden, das auf quantitativen Bewertungen von Verhaltensregeln beruht.
  • Ferner kann ein Informationsgewinn als Metrik zur Quantifizierung der Relevanz eines neuen Szenarios oder eines Satzes von Szenarien verwendet werden.
  • Darüber hinaus kann der Greedy-Algorithmus für submodulare Optimierung als Teil eines Auswahlalgorithmus verwendet werden (z.B. um Garantien für nahezu optimale Ergebnisse zu liefern).
  • Ferner kann ein Stoppkriterium verwendet werden, um die Größe des Szenariensatzes zu begrenzen. Insbesondere kann die Auswahl zusätzlicher Szenarien für den Szenariensatz abgebrochen werden, wenn sich der Informationsgewinn mit einer bestimmten statistischen Konfidenz einpendelt.
  • Beispielhafter Prozess
  • A. Ebene
  • V sei der Szenarienraum, aus dem Stichprobenentnahme erfolgen soll. Ein Szenario S ∈ V enthält Informationen darüber, was in der Umgebung außerhalb des zu testenden Systems geschieht. Es kann davon ausgegangen werden, dass S als ein Element von ℝn charakterisiert werden kann, wobei n die Anzahl der Merkmale in der Umgebung ist. Diese Merkmale können auf Szenarienontologien oder auf Vorschlägen der Industrie für ODD-Definitionen beruhen. Für eine gezieltere Suche könnten diese Koordinaten auch den Parametern eines konkreten logischen Szenarios entsprechen. Die betrachteten Szenarien können in Simulationen oder in realen Umgebungen erzeugt werden. Bei Annahme von n Merkmalen zum Beschreiben eines Szenarios wie Wolkendichte, Vorhandensein einer Baustelle oder Anzahl dynamischer Agenten und k potenziellen Werten für jedes Merkmal gilt |V| = kn. Bei 50 Merkmalen, die jeweils 6 Werte annehmen können, entspricht dies etwa 1010 Szenarien. Obwohl die Simulation ein Testen eines AV zu einem Bruchteil der Kosten eines Streckentests ermöglicht, kann die Erstellung einer solch großen Anzahl von Szenarien dennoch erhebliche Rechenkapazitäten erfordern.
  • Ferner kann AV-Leistung für jedes gegebene Szenario gelten. Das Regelwerk bietet Regeln, die mit Verletzungsmetriken verknüpft sind, um eine AV-Leistung in einem Szenario gemäß einer expliziten Verhaltensvorgabe zu bewerten. AV-Leistung kann von vielen verschiedenen Faktoren beeinflusst werden, z.B. von Verkehrsregeln, ordentlichem Fahrverhalten oder Fahrkomfort. Auch wenn in diesem Beispielexperiment die Anzahl der Kollisionen verwendet wird, ist diese Methode mit der Verwendung jeder beliebigen Leistungsmetrik kompatibel. Sobald eine konkrete Regel in eine formale logische Aussage übersetzt wurde, kann jede beliebige Trajektorie in jedem Szenario bewertet und mit einem Verletzungswert versehen werden.
  • Die Leistung des AV im Szenarienraum kann als Xv = {Xi, i ∈ V} definiert werden, wobei Xv eine Zufallsvariable ist. Ziel ist es, Szenarien zu wählen, die die meisten Informationen über die Verteilung von Xv liefern. Daher muss möglicherweise eine gewisse Struktur hinter der Verteilung von Xv ermittelt werden. Wäre die Leistung völlig chaotisch, gäbe es keinen Zusammenhang zwischen Regelverletzungen in zwei verschiedenen Szenarien, keine der Erkenntnisse aus einem Szenario wäre für ein anderes Szenario verallgemeinerbar, und es müsste gegebenenfalls jedes einzelne Szenario getestet werden.
  • In diesem Beispiel wird davon ausgegangen, dass das Bayes'sche hierarchische Modell an beobachtbare AV-Leistung angepasst werden kann. 18 zeigt eine Darstellung des Bayes'schen hierarchischen Modells 1800. Die hell schattierten Knoten 1802a-1702d stellen unbeobachtete Variablen dar, und die dunkel schattierten Knoten 1704a-1704e stellen die interessierenden Zufallsvariablen dar.
  • Da Parameter aus Wahrscheinlichkeitsverteilungen entnommen werden, werden sowohl die Zufallsvariablen als auch ihre Realisierungen für die Parameter und Hyperparameter mit Kleinbuchstaben bezeichnet. Eine Hyperebene des Szenarienraums ist definiert als der Satz aus Szenarien, für den ein Merkmal wie z.B. der Einsatzort festgelegt ist. Daher kann die Annahme folgendermaßen umformuliert werden: Für p Hyperebenen des Szenarienraums kann angenommen werden, dass es b1, ..., bp und σ gibt, so dass gilt: X i | b p , σ P ( x i | b p , σ ) b p | σ P ( b p | σ ) σ P ( σ )
    Figure DE102021132722A1_0001
    wobei σ der Hyperparameter ist mit Hyperpriorverteilung P(σ), b1, ..., bp aus einer Population mit einer Verteilung generiert wird, die durch den Hyperparameter σ bestimmt wird, und P(xi|bp, σ) die Wahrscheinlichkeit der AV-Leistung ist, mit P(bp, σ) als Priorverteilung. Geeignete Prior- und Hyperpriorverteilungen können als Teil des Modellanpassungsprozesses gewählt werden.
  • Die Interpretation eines solchen Modells lautet wie folgt: Es wird angenommen, dass die AV-Leistung einer Verteilung des Parameters bp in der Hyperebene p folgt. Diese Verteilung kann aus Datenbeobachtung, wie im Abschnitt Experiment und Ergebnisse unten gezeigt, oder aus Expertenwissen abgeleitet werden. Bei Tests in Szenarien, die in dieser Stadt p stattfinden, werden Stichproben xi effektiv aus dieser Verteilung gewonnen. In einer anderen Stadt k wird die Form der Verteilung der AV-Leistung die gleiche sein, aber der Parameter bk wird wahrscheinlich anders sein, da bk und bp ihrerseits aus P(σ) gezogen werden. Zum Beispiel könnte die Anzahl an Abstandsverletzungen des AV in einem Szenario einer Lognormalverteilung folgen, aber der Durchschnitt könnte in einer dichten Stadt mit mehr Verkehr höher sein als in einer Stadt mit größeren Straßen und weniger Fahrzeugen.
  • Die Qualität der mit dieser beispielhaften Methode bestimmten Szenariensatzes hängt von der Qualität der Anpassung des Bayesschen Hierarchischen Modells an die AV-Leistung ab. Eine schlechte Anpassung von Parametern und Hyperparametern würde zu einer schlechten Schätzung des Informationsgewinns führen, und der Algorithmus würde daher für den falschen Wert optimieren. Es gibt jedoch Methoden zur Sicherstellung der Anpassungsqualität eines Bayes'schen hierarchischen Modells, wie z.B. prädiktive A-Posteriori-Prüfungen.
  • B. Stichprobe
  • In diesem Abschnitt geht es darum, wie diese AV-Leistungsdarstellung für Stichprobenentnahme genutzt werden kann.
  • Die folgende Entropie-Definition kann verwendet werden, um die Unsicherheit um den intrinsischen Leistungsparameter σ darzustellen: H ( σ ) = σ P ( σ ) log P ( σ )
    Figure DE102021132722A1_0002
  • Wenn A
    Figure DE102021132722A1_0003
    der Satz der beobachteten Szenarien ist, ist der Informationsgewinn über σ durch Beobachten der Leistung in A
    Figure DE102021132722A1_0004
    wie folgt definiert: I ( σ ; X A ) = H ( σ ) H ( σ | X A )
    Figure DE102021132722A1_0005
  • In diesem Szenarienraum gibt es ( k n a )
    Figure DE102021132722A1_0006
    Szenariensätze der Größe a, wobei gilt a ≤ kn. Ziel ist es, diese Optionen zu prüfen und den Satz auszuwählen, der den Informationsgewinn maximiert, bevor die Szenarien in einer Simulations-Engine oder auf einer Teststrecke getestet werden. Das Optimierungsproblem ist daher wie folgt definiert: max A V f ( A )   s . t .   | A | C
    Figure DE102021132722A1_0007
    wobei C das Szenarienbudget ist und ƒ entweder I ( σ ; X A )
    Figure DE102021132722A1_0008
    für eine Gesamtbeurteilung des AV über den gesamten ODD oder I ( B p ; X A )
    Figure DE102021132722A1_0009
    für eine Beurteilung der AV-Leistung in einer Hyperebene des ODD, z.B. in einer bestimmten Stadt, sein kann. C ist das Äquivalent zum Stoppkriterium. Die bedingte Entropie H ( σ | X A )
    Figure DE102021132722A1_0010
    kann bei gegebenem Konfidenzintervall nur bis zu einem bestimmten Wert approximiert werden. Die Optimierung kann beendet werden, wenn der approximierte Informationsgewinn nicht mehr statistisch signifikant ansteigt, was C entscheidet.
  • Dieses Optimierungsproblem ist NP-schwer, selbst in einer einfachen Umgebung, in der alle Szenarien die gleichen Kosten aufweisen. Nichtsdestotrotz sind beide möglichen Zielfunktionen monoton submodular. Eine Funktion ƒ: 2V → ℝ ist nur dann submodular, wenn für jedes A ⊆ B ⊆ V und e ∈ V gilt ƒ ( A { e } ) ƒ ( A ) ƒ ( B { e } ) ƒ ( B )
    Figure DE102021132722A1_0011
  • Das bedeutet, dass ein Hinzufügen eines Szenarios zu einem bereits großen Satz einen geringeren Informationsgewinn bringt als ein Hinzufügen eines Szenarios zu einem kleineren Testsatz. Darin spiegelt sich die Einsicht wider, dass das Hinzufügen von immer mehr Szenarien zu einem Satz einen abnehmenden, wenn auch positiven Ertrag erbringt. Wie in 16 gezeigt, steigt beispielsweise die Funktion um einen immer kleineren Betrag an, nachdem mehr und mehr diskrete Elemente (z.B. Szenarien) zu dem Satz hinzugefügt wurden, über den die Funktion definiert ist.
  • Diese Eigenschaft tritt hier auf, weil AV-Leistungen in verschiedenen Szenarien bei gegebenem Hyperparameter σ bedingt unabhängig sind. Grundsätzlich ist der Informationsgewinn über eine Zufallsvariable, der sich aus einem Offenlegen einer anderen abhängigen Zufallsvariablen ergibt, nicht submodular. Bei einem festen AV-Stapel ist es jedoch möglich, dass es eine Hyperebene im Szenarienraum gibt, die die AV-Leistung in einem Szenario unabhängig von der AV-Leistung in einem anderen Szenario macht, wenn diese Hyperebene gegeben ist. In dem durchgeführten Experiment (siehe unten) folgt die Anzahl der Kollisionen pro Szenario einer Poisson-Verteilung bei einem festgelegten Durchschnitt in einer bestimmten Stadt. Damit die Submodularitätseigenschaft zutrifft, sind keine zusätzlichen Annahmen zur AV-Leistung erforderlich.
  • Da ƒ submodular ist, kann der Greedy-Algorithmus verwendet werden, um ein nahezu optimales Ergebnis für Gleichung 4 zu erhalten. Diese Heuristik beginnt mit einer leeren Menge von Szenarien und wählt bei jeder Iteration das nächste Szenario mit dem höchsten Informationsgewinn aus. A 1 = A i 1 { arg  max e ƒ ( A i 1 { e } ) } ƒ ( A i 1 )
    Figure DE102021132722A1_0012
  • Da dieses Auswahlproblem NP-schwer ist, gibt es keinen Algorithmus, der die Lösung in Polynomialzeit findet. Der Greedy-Algorithmus kann jedoch eine Lösung innerhalb von 1 1 e 0,63
    Figure DE102021132722A1_0013
    des optimalen Werts finden. Konkret: Wenn der maximale Informationsgewinn für C Szenarien 1 beträgt, kann ein Szenariensatz der Größe C mit einem Informationsgewinn von mindestens 0,63 erhalten werden.
  • Experiment und Ergebnisse
  • Es wurde ein Experiment durchgeführt, um die Verwendung dieses Prozesses mit Protokollen autonomer Fahrzeuge zu demonstrieren, die aus einer computergestützten AV-Simulation (CARLA) stammen.
  • A. Datenerzeugung
  • In diesem Experiment wird ein Modell eines autonomen Fahrzeugs, das in CARLA verfügbar ist, auch zur Simulation von Hintergrundverkehr in den Simulationen verwendet. Das Fahrzeug versucht, Routen in 6 verschiedenen Städten mit einer wechselnden Anzahl von Verkehrsteilnehmern zu befahren, was insgesamt 132 Szenarien ergibt. Diese 3 Merkmale sind die Koordinaten der Szenarien, die in Tabelle 1 dargestellt sind. Tabelle 1. Szenariendefinitionen.
    Szenarien-ID Anzahl Verkehrsteilnehmer Stadt Routen-ID
    1 10 Stadt 02 1
    2 10 Stadt 02 2
    ...
    132 150 Stadt 06 49
  • 19 zeigt Karten 1900a und 1900b für zwei der betrachteten Städte. Wie in 19 dargestellt, hat die Stadt 03 (dargestellt durch die Karte 1900a) wesentlich mehr Kreuzungen und Kreisverkehre, während die Stadt 06 (dargestellt durch die Karte 1900b) lange Strecken mit geraden Straßen aufweist.
  • Die Anzahl der Kollisionen, in die das AV in jedem Szenario verwickelt war, wurde aufgezeichnet und als Leistungsmetrik XV ausgewählt.
  • Die Poisson-Verteilung wird häufig verwendet, um die Wahrscheinlichkeit auszudrücken, dass eine Anzahl von Ereignissen unabhängig voneinander in festen Intervallen eintritt. 20 zeigt die Wahrscheinlichkeitsverteilung 2000 von XV in allen Szenarien, die gut mit der Poisson-Annahme übereinstimmt. Wie zu sehen ist, kommt es bei der verwendeten AV-Implementierung zu einer beträchtlichen Anzahl von Kollisionen pro Szenario, da sie nicht über ein Wahrnehmungsmodul verfügt, wie es normalerweise für den Hintergrundverkehr verwendet wird, und nur Karten- und Routeninformationen in Anspruch nimmt. Daher kann nicht auf dynamische Objekte in der Szenerie reagiert werden. Informationen über die AV-Implementierung sind für die Anwendung dieser Methode jedoch nicht erforderlich.
  • B. Bayes'sches hierarchisches Modell
  • Nach der Datenanalyse wurde festgestellt, dass die Stadt die Szenarienkoordinate ist, die den größten Einfluss auf die Anzahl der Kollisionen pro Szenario hat. 21 zeigt beispielsweise Verteilungen von Kollisionen 2100a-2100f entlang einer Route für die sechs verschiedenen Städte in CARLA. Diese Gruppierung kann aus einer kleinen Menge bereits verfügbarer Daten abgeleitet werden oder auf Grundlage von Expertenwissen entschieden werden.
  • Daher wurde der Szenarienraum nach Städten aufgeteilt und dem folgenden Bayes'schen hierarchischen Modell angepasst: X P o i s s o n ( B ) B H a l b N o r m a l ( b ) b H a l b N o r m a l ( 5 )
    Figure DE102021132722A1_0014
  • Die Halbnormalverteilung wird für den Parameter bp und den Hyperparameter σ als schwach informative Priorverteilungen gewählt. Für diese Anpassung wurde PyMC3 (PyMC3 Development Team) verwendet. Die Ergebnisse des angepassten Bayes'schen hierarchischen Modells sind in 22A dargestellt (z.B. mit der A-Posteriori-Verteilung der nicht beobachtbaren Parameter). Die sich ergebende durchschnittliche Anzahl von Kollisionen pro Szenario variiert stark, zwischen weniger als 1 für einige Städte und mehr als 2,5 für andere. 22B zeigt eine beispielhafte prädiktive A-Posteriori-Anpassung des Bayes'schen Hierarchischen Modells. Wie in 22B dargestellt, zeigt eine prädiktive A-Posteriori-Prüfung, dass der Durchschnittswert der graphenbasierten, neu generierten Stichproben von X gut mit den beobachteten Werten übereinstimmt, mit Ausnahme von {0,1}. Das bedeutet, dass die Anpassung für größere Werte der Zufallsvariablen besser ist, aber immer noch Werte innerhalb des beobachteten Bereichs für 0 und 1 ergibt.
  • C. Auswahl der Szenarien
  • Der Informationsgewinn über die AV-Leistung wird über ODDs hinweg optimiert. Die gleiche Methode kann jedoch auch angewandt werden, um einen Szenariensatz auszuwählen, um einen Informationsgewinn für eine bestimmte Stadt zu maximieren. max A V I ( σ ; X A )   s . t .   | A | C
    Figure DE102021132722A1_0015
  • Das Bayes'sche hierarchische Modell ermöglicht die Berechnung von ℙ(σ|X), die dann zur Berechnung der bedingten Entropie und des Informationsgewinns jedes neuen Szenarios verwendet wird. Solange ein Szenario in den Graphen eingefügt werden kann, können die zusätzlichen Informationen, die er liefert, abgeleitet werden.
  • Algorithmus 1 beschreibt beispielhafte Schritte zur Lösung von Gleichung 8. Die bedingte Entropie H ( σ | X A )
    Figure DE102021132722A1_0016
    wird bis zu einem 90 %igen Konfidenzintervall bei einem absoluten Fehler von 0,1 berechnet. Bei jedem Schritt wird dem Satz
    Figure DE102021132722A1_0017
    ein Szenario hinzugefügt, indem jedes Szenario einzeln betrachtet wird, der Informationsgewinn aus der Offenlegung der Leistung in diesem Szenario im Vergleich zu den zuvor ausgewählten Szenarien berechnet wird und dasjenige ausgewählt wird, das den höchsten Informationsgewinn für diesen Schritt aufweist. Diese Prozedur wird so lange wiederholt, bis der Informationsgewinn nicht mehr steigt (mit einer Konfidenz von 90 %). Deshalb sagt man auch, dieser Algorithmus kann Bindungen willkürlich auflösen.
  • Algorithmus 1 - Greedy-Algorithmus:
  • Eingabe: ν die Liste aller möglichen Szenarien, M ein Inferenzmodell
    Ausgabe:
    Figure DE102021132722A1_0018
    eine nahezu optimale, endliche Auswahl von Szenarien
  • Figure DE102021132722A1_0019
    Figure DE102021132722A1_0020
  • Die Ergebnisse von Algorithmus 1 mit mehreren Durchläufen einer Latin-Hypercube-Probenentnahme-Implementierung und mehreren Zufallsauswahlen wurden verglichen. Die Ergebnisse sind in 23 dargestellt, die einen Vergleich des Informationsgewinns und des Abbruchkriteriums zwischen Algorithmus 1, Latin-Hypercube-Probenentnahme und Zufall zeigt. Die vertikalen Linien zeigen das Stoppkriterium für Algorithmus 1 und für LHS (Latin Hypercube Sampling, Latin-Hypercube-Probenentnahme). Wie in 23 dargestellt, zeigen alle Auswahlen die Eigenschaft des abnehmenden Ertrags, was die Submodularitätseigenschaft des Informationsgewinns bestätigt, mit Ausnahme der ersten Szenarien. Dies ist wahrscheinlich auf die Approximierung bei der Berechnung dieses Gewinns zurückzuführen, die zu Beginn bei Werten nahe Null eine größere Auswirkung hat. Außerdem kann die Verwendung von nur einigen wenigen Beobachtungen zu einer degenerierten Version des Modells führen, was das Fehlen der Submodularität für die ersten Beobachtungen erklären könnte.
  • Hinsichtlich der Validierung der Wahl der Metrik zur Beurteilung der Relevanz eines Szenariensatzes wurde die Beobachtung gemacht, dass der Informationsgewinn die Tatsache festhält, dass ein gut etabliertes Verfahren wie LHS tatsächlich besser abschneidet als eine zufällige Auswahl. Diese Metrik ermöglicht den Vergleich jedes beliebigen Szenarienauswahlverfahrens, unabhängig von ODD oder analysierter Aktivität. Sie vermittelt auch ein Gefühl für den Fortschritt der Bewertungskampagne und ist intuitiv und transparent - wenn keine nennenswerten Mengen an Informationen mehr eingehen, kann die Bewertung abgebrochen werden.
  • Das Hauptergebnis in 23 ist das folgende: Zwar pendeln sich alle Stichprobenverfahren auf demselben Informationsgewinnniveau ein, jedoch erreicht der vorgeschlagene Algorithmus diese Menge mit nur 9 Szenarien oder etwa 7 % des Szenarienraums, während LHS 12 Szenarien oder etwa 2 % des Szenarienraums zusätzlich benötigt und die Zufallsverfahren mindestens weitere 2 % des Raums untersuchen müssen. Dieses Experiment wurde in kleinem Maßstab durchgeführt, aber diese Unterschiede könnten in einem groß angelegten AV-Validierungsprozess einen Gewinn von Millionen von Szenarien darstellen. Der ausgewählte Satz enthält Szenarien, die in 4 verschiedenen Städten stattfinden, aber nicht in allen. Szenarien in den Städten 02 und 03 werden voraussichtlich nicht so viele Informationen liefern wie Szenarien in den Städten 01, 04, 05 und 06. Wenn das AV in den ausgewählten Szenarien tatsächlich getestet wird, kommt es meist zu 0 oder 1 Kollision, aber auch zu 7 Kollisionen in einem Szenario und zu 11 Kollisionen in einem anderen. Auch wenn der Algorithmus nicht nach seltenen Ereignissen sucht, liefern diese Szenarien am Ende der Verteilung eine Menge Informationen über das zu testende System.
  • Zusammenfassung des Experiments
  • Zusammenfassend lässt sich das Problem der Szenarienauswahl für die Bewertung der AV-Leistung als ein submodulares Optimierungsproblem in einem Graphen umgestalten. Dabei kann ein statistisches Modell zur Darstellung der AV-Leistung verwendet werden, das Fortschritte bei der quantitativen Definition des AV-Verhaltens nutzt. Ferner kann ein hierarchisches Bayes'sches Modell an einen Datensatz angepasst werden, der von einer Open-Source-AV-Implementierung erzeugt wurde, was darauf hindeutet, dass diese Methode auf jede AV-Implementierung angewendet werden kann.
  • Sobald das Bayes'sche hierarchische Modell validiert ist, ergibt sich die Eigenschaft der Submodularität, und es kann ein Szenariensatz erstellt werden, um diese Eigenschaft zu nutzen. Der Informationsgewinn kann genutzt werden, um Verfahren zur Auswahl von Szenarien unabhängig von untersuchtem ODD oder untersuchter Aktivität zu vergleichen.
  • Beispielhafte Prozesse
  • 24 zeigt einen beispielhaften Prozess 2400 zum Auswählen von Testszenarien zum Bewerten der Leistung von AVs. Der Prozess 2400 kann zumindest teilweise unter Verwendung eines AV-Leistungsbewertungssystems 1304 durchgeführt werden (z.B. wie unter Bezugnahme auf 13 bis 23 beschrieben).
  • Gemäß dem Prozess 2400 empfängt ein Computersystem erste Daten, die eine Vielzahl von Szenarien repräsentieren, zum Schätzen einer Leistung eines Fahrzeugs beim Durchführen autonomer Operationen (Block 2402). Jedes der Szenarien kann beispielsweise jeweils eine unterschiedliche Kombination von Straßenbedingungen, Hindernissen, anderen Fahrzeugen, Fußgängern, Verkehrsströmen oder Umweltbedingungen sein. In einigen Implementierungen können die autonomen Operationen autonomes Navigieren des Fahrzeugs von einem ersten Ort zu einem zweiten Ort beinhalten.
  • Das Computersystem bestimmt für jedes der Szenarien (i) eine erste Metrik, die eine beobachtete Leistung des Fahrzeugs in diesem Szenario anzeigt, wobei die erste Metrik auf Grundlage mindestens einer Regel bestimmt wird, und (ii) eine zweite Metrik, die einen mit diesem Szenario verbundenen Grad an Informationsgewinn anzeigt (Block 2404).
  • In einigen Implementierungen kann die erste Metrik Informationen bezüglich der Leistung des AV in jedem Szenario anzeigen, wie z.B. eine Anzahl von Kollisionen des AV, eine Anzahl von Verkehrsregelverletzungen des AV, eine Anzahl und/oder ein Ausmaß von Routenabweichungen des AV, eine Anzahl und/oder ein Ausmaß von Routenbehinderungen des AV und/oder eine Routendurchquerungszeit des AV.
  • In einigen Implementierungen können die Regeln mindestens eine Verkehrsregel beinhalten. Beispiele für Verkehrsregeln sind eine Regel zum Befolgen von Schildern oder Signalen, eine Regel zum Fahren mit dem Verkehr und eine Regel zum Einhalten einer zulässigen Geschwindigkeit.
  • In einigen Implementierungen können die Regeln mindestens eine Sicherheitsregel beinhalten. Zu Beispielen für Sicherheitsregeln zählen eine Regel, nicht mit anderen Objekten zu kollidieren, eine Regel, einen sicheren Abstand zu anderen Fahrzeugen oder Fußgängern einzuhalten, und eine Regel, bei Bedarf Ausweichmanöver durchzuführen (z.B. um anderen Fahrzeugen oder Fußgängern auszuweichen).
  • In einigen Implementierungen können die Regeln mindestens eine Fahrgastkomfortregel beinhalten. Zu Fahrgastkomfortregeln zählen beispielsweise eine Regel zum gleichmäßigen Beschleunigen oder Abbremsen und eine Regel für sanftes Abbiegen.
  • In einigen Implementierungen können die Regeln mindestens eine Fahrzeugleistungsregel beinhalten. Zu beispielhaften Fahrzeugleistungsregeln zählt beispielsweise die Regel, bestimmte Geschwindigkeits-, Brems- und Beschleunigungsgrenzen des Fahrzeugs nicht zu überschreiten.
  • In einigen Implementierungen kann für jedes der Szenarien der mit diesem Szenario verbundene Grad an Informationsgewinn einer Verringerung einer Entropie für eine Schätzung der Leistung des Fahrzeugs entsprechen.
  • Das Computersystem wählt einen Teilsatz der Szenarien auf Grundlage der ersten Metriken und der zweiten Metriken aus (Block 2406). In einigen Implementierungen kann der Teilsatz der Szenarien für AV-Tests oder -Validierung verwendet werden.
  • In einigen Implementierungen kann der Teilsatz der Szenarien ausgewählt werden, indem eine Vielzahl von Kandidaten-Teilsätzen der Szenarien identifiziert wird und für jeden der Kandidaten-Teilsätze eine jeweilige dritte Metrik bestimmt wird, die den mit diesem Kandidaten-Teilsatz verbundenen Grad an Informationsgewinn anzeigt. Darüber hinaus kann der Kandidaten-Teilsatz mit der höchsten der dritten Metriken unter den Kandidaten-Teilsätzen als der Szenarienteilsatz ausgewählt werden.
  • In einigen Implementierungen kann der Teilsatz der Szenarien ausgewählt werden, indem eine Anzahl von Szenarien in dem Teilsatz der Szenarien gemäß einer Budgetmetrik eingeschränkt wird. Zum Beispiel kann die Budgetmetrik eine maximale Anzahl von Szenarien festlegen, die getestet werden können.
  • Das Computersystem gibt zweite Daten aus, die den Teilsatz der Szenarien angeben (Block 2408).
  • In einigen Implementierungen kann das Computersystem gemäß dem Prozess 2400 eine beobachtete Leistung mindestens eines zusätzlichen Fahrzeugs in jedem der Szenarien des Teilsatzes der Szenarien bestimmen.
  • In einigen Implementierungen kann das Computersystem gemäß dem Prozess 2400 die Vielzahl von Szenarien in mehrere Cluster gruppieren. Ferner wird der Teilsatz der Szenarien auf Grundlage der Cluster ausgewählt. In einigen Implementierungen können die Cluster auf einer Hauptkomponentenanalyse basieren.
  • In einigen Implementierungen kann gemäß dem Prozess 2400 das Computersystem eine Anordnung der Szenarien auf Grundlage der Cluster bestimmen. Außerdem kann der Teilsatz der Szenarien auf Grundlage der Anordnung ausgewählt werden. In einigen Implementierungen kann es sich bei der Anordnung um ein Bayes'sches hierarchisches Modell handeln. In einigen Fällen kann es sich bei der Anordnung um ein Bayes'sches hierarchisches Modell, ein Bayes'sches Netzwerk, ein Faktorgraphen und/oder ein Hidden-Markov-Modell handeln.
  • In einigen Implementierungen kann der Teilsatz der Szenarien gemäß einem Greedy-Algorithmus aus der Anordnung ausgewählt werden.
  • In der vorstehenden Beschreibung wurden verschiedene Ausführungsformen unter Bezugnahme auf zahlreiche konkrete Einzelheiten beschrieben, die von Implementierung zu Implementierung variieren können. Entsprechend sind die Beschreibung und die Zeichnungen als veranschaulichend und nicht einschränkend anzusehen. Der einzige und ausschließliche Indikator für den Umfang der Erfindung und das, was die Anmelder als Umfang der Erfindung beabsichtigen, ist der wörtliche und äquivalente Umfang des Satzes von Ansprüchen, die aus dieser Anmeldung hervorgehen, in der spezifischen Form, in der diese Ansprüche ausgegeben werden, einschließlich jeder späteren Korrektur. Alle hierin ausdrücklich festgelegten Definitionen von Bezeichnungen, die in solchen Ansprüchen enthalten sind, gelten für die Bedeutung der in den Ansprüchen verwendeten Bezeichnungen. Wenn in der vorstehenden Beschreibung oder in den folgenden Ansprüchen die Bezeichnung „ferner umfassend“ verwendet wird, kann das, was auf diesen Satz folgt, ein zusätzlicher Schritt oder eine zusätzliche Entität oder ein Unterschritt/eine Untereinheit eines zuvor erwähnten Schritts oder einer Entität sein.

Claims (13)

  1. Verfahren, umfassend: durch ein Computersystem erfolgendes Empfangen erster Daten, die eine Vielzahl von Szenarien repräsentieren, zum Schätzen einer Leistung eines Fahrzeugs beim Durchführen autonomer Operationen; durch das Computersystem für jedes der Szenarien erfolgendes Bestimmen: einer ersten Metrik, die eine beobachtete Leistung des Fahrzeugs in diesem Szenario anzeigt, wobei die erste Metrik auf Grundlage mindestens einer Regel bestimmt wird, und einer zweiten Metrik, die einen mit diesem Szenario verbundenen Grad an Informationsgewinn anzeigt; durch das Computersystem auf Grundlage der ersten Metriken und der zweiten Metriken erfolgendes Auswählen eines Teilsatzes der Szenarien; und durch das Computersystem erfolgendes Ausgeben zweiter Daten, die den Teilsatz der Szenarien angeben.
  2. Verfahren nach Anspruch 1, ferner umfassend: durch das Computersystem erfolgendes Bestimmen einer beobachteten Leistung mindestens eines zusätzlichen Fahrzeugs in jedem der Szenarien des Teilsatzes der Szenarien.
  3. Verfahren nach Anspruch 1, ferner umfassend: durch das Computersystem erfolgendes Gruppieren der Vielzahl von Szenarien in eine Vielzahl von Clustern, wobei der Teilsatz der Szenarien auf Grundlage der Cluster ausgewählt wird.
  4. Verfahren nach Anspruch 3, ferner umfassend: durch das Computersystem erfolgendes Bestimmen einer Anordnung der Vielzahl von Szenarien auf Grundlage der Cluster, wobei der Teilsatz der Szenarien auf Grundlage der Anordnung ausgewählt wird.
  5. Verfahren nach Anspruch 4, wobei es sich bei der Anordnung um ein Bayes'sches hierarchisches Modell und/oder ein Bayes'sches Netz und/oder einen Faktorgraphen und/oder ein Hidden-Markov-Modell handelt.
  6. Verfahren nach Anspruch 4, wobei der Teilsatz der Szenarien gemäß einem Greedy-Algorithmus aus der Anordnung ausgewählt wird.
  7. Verfahren nach Anspruch 1, wobei für jedes der Szenarien der mit diesem Szenario verbundene Grad an Informationsgewinn einer Verringerung einer Entropie für eine Schätzung der Leistung des Fahrzeugs entspricht.
  8. Verfahren nach Anspruch 1, wobei das Auswählen des Teilsatzes der Szenarien umfasst: Identifizieren einer Vielzahl von Kandidaten-Teilsätzen der Szenarien, für jeden der Kandidaten-Teilsätze erfolgendes Bestimmen einer jeweiligen dritten Metrik, die den mit diesem Kandidaten-Teilsatz verbundenen Grad an Informationsgewinn anzeigt, und aus den Kandidaten-Teilsätzen erfolgendes Auswählen des Kandidaten-Teilsatzes mit der höchsten der dritten Metriken als den Teilsatz von Szenarien.
  9. Verfahren nach Anspruch 1, wobei das Auswählen des Teilsatzes der Szenarien umfasst: Einschränken einer Anzahl von Szenarien in dem Teilsatz von Szenarien gemäß einer Budgetmetrik.
  10. Verfahren nach Anspruch 1, wobei die mindestens eine Regel mindestens eines der Folgenden umfasst: mindestens eine Verkehrsregel, mindestens eine Sicherheitsregel, mindestens eine Fahrgastkomfortregel und mindestens eine Fahrzeugleistungsregel.
  11. Verfahren nach Anspruch 1, wobei die autonomen Operationen autonomes Navigieren des Fahrzeugs von einem ersten Standort zu einem zweiten Standort umfassen.
  12. System, umfassend: mindestens einen Prozessor; und mindestens ein nicht transientes computerlesbares Medium, das Anweisungen speichert, die bei Ausführung durch den mindestens einen Prozessor den mindestens einen Prozessor veranlassen, Operationen durchzuführen, die Folgendes umfassen: Empfangen erster Daten, die eine Vielzahl von Szenarien repräsentieren, zum Schätzen einer Leistung eines Fahrzeugs beim Durchführen autonomer Operationen; für jedes der Szenarien erfolgendes Bestimmen: einer ersten Metrik, die eine beobachtete Leistung des Fahrzeugs in diesem Szenario anzeigt, wobei die erste Metrik auf Grundlage mindestens einer Regel bestimmt wird, und einer zweiten Metrik, die einen mit diesem Szenario verbundenen Grad an Informationsgewinn anzeigt; auf Grundlage der ersten Metriken und der zweiten Metriken erfolgendes Auswählen eines Teilsatzes der Szenarien; und Ausgeben zweiter Daten, die den Teilsatz der Szenarien angeben.
  13. Mindestens ein nicht transientes computerlesbares Medium, das Anweisungen speichert, die bei Ausführung durch mindestens einen Prozessor den mindestens einen Prozessor veranlassen, Operationen durchzuführen, die Folgendes umfassen: Empfangen erster Daten, die eine Vielzahl von Szenarien repräsentieren, zum Schätzen einer Leistung eines Fahrzeugs beim Durchführen autonomer Operationen; für jedes der Szenarien erfolgendes Bestimmen: einer ersten Metrik, die eine beobachtete Leistung des Fahrzeugs in diesem Szenario anzeigt, wobei die erste Metrik auf Grundlage mindestens einer Regel bestimmt wird, und einer zweiten Metrik, die einen mit diesem Szenario verbundenen Grad an Informationsgewinn anzeigt; auf Grundlage der ersten Metriken und der zweiten Metriken erfolgendes Auswählen eines Teilsatzes der Szenarien; und Ausgeben zweiter Daten, die den Teilsatz der Szenarien angeben.
DE102021132722.9A 2021-03-30 2021-12-10 Auswählen von testszenarien zum bewerten der leistung autonomer fahrzeuge Pending DE102021132722A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/218,007 2021-03-30
US17/218,007 US11932260B2 (en) 2021-03-30 2021-03-30 Selecting testing scenarios for evaluating the performance of autonomous vehicles

Publications (1)

Publication Number Publication Date
DE102021132722A1 true DE102021132722A1 (de) 2022-10-06

Family

ID=76550591

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021132722.9A Pending DE102021132722A1 (de) 2021-03-30 2021-12-10 Auswählen von testszenarien zum bewerten der leistung autonomer fahrzeuge

Country Status (5)

Country Link
US (1) US11932260B2 (de)
KR (1) KR102580085B1 (de)
CN (1) CN115146523A (de)
DE (1) DE102021132722A1 (de)
GB (1) GB2605463A (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220379919A1 (en) * 2021-05-27 2022-12-01 Zoox, Inc. Parameter space optimization
US20230174101A1 (en) * 2021-12-06 2023-06-08 Motional Ad Llc Framework For Modeling Subsystems of an Autonomous Vehicle System and the Impact of the Subsystems on Vehicle Performance
US11727671B1 (en) * 2022-08-26 2023-08-15 Motional Ad Llc Efficient and optimal feature extraction from observations
KR102579590B1 (ko) * 2022-12-28 2023-09-18 도로교통공단 도로교통법 기반 자율주행차 운전능력 평가시나리오 생성 시스템
CN117171290B (zh) * 2023-11-03 2024-04-16 安徽蔚来智驾科技有限公司 确定安全行驶区域的方法及***、自动驾驶方法及***

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793046B2 (en) 2012-06-01 2014-07-29 Google Inc. Inferring state of traffic signal and other aspects of a vehicle's environment based on surrogate data
KR101938064B1 (ko) 2017-05-17 2019-01-11 현대오토에버 주식회사 자율주행 테스트 시스템
US20190129831A1 (en) 2017-10-27 2019-05-02 Uber Technologies, Inc. Autonomous Vehicle Simulation Testing Systems and Methods
US10976737B2 (en) 2017-11-21 2021-04-13 GM Global Technology Operations LLC Systems and methods for determining safety events for an autonomous vehicle
US11294800B2 (en) 2017-12-07 2022-04-05 The Johns Hopkins University Determining performance of autonomy decision-making engines
US10831636B2 (en) 2018-01-08 2020-11-10 Waymo Llc Software validation for autonomous vehicles
US11194939B2 (en) 2019-08-16 2021-12-07 Uatc, Llc Hardware in loop testing and generation of latency profiles for use in simulation
US11537944B2 (en) * 2020-01-09 2022-12-27 Here Global B.V. Method and system to generate machine learning model for evaluating quality of data
US20210294944A1 (en) * 2020-03-19 2021-09-23 Nvidia Corporation Virtual environment scenarios and observers for autonomous machine applications
US11390301B2 (en) * 2020-06-10 2022-07-19 Nvidia Corp. Tensor-based driving scenario characterization
WO2022133090A1 (en) * 2020-12-17 2022-06-23 Intel Corporation Adaptive generation and assessment of autonomous vehicle critical scenarios
US12014126B2 (en) * 2020-12-23 2024-06-18 Woven By Toyota, U.S., Inc. Generating accurate and diverse simulations for evaluation of autonomous-driving systems
US11847385B2 (en) * 2020-12-30 2023-12-19 Beijing Voyager Technology Co., Ltd. Variable system for simulating operation of autonomous vehicles
GB202103338D0 (en) * 2021-03-10 2021-04-21 Cambridge Quantum Computing Ltd Control system and method utilizing variational inference

Also Published As

Publication number Publication date
KR102580085B1 (ko) 2023-09-18
KR20220136006A (ko) 2022-10-07
US11932260B2 (en) 2024-03-19
CN115146523A (zh) 2022-10-04
US20220324464A1 (en) 2022-10-13
GB202106859D0 (en) 2021-06-30
GB2605463A (en) 2022-10-05

Similar Documents

Publication Publication Date Title
DE112019004832T5 (de) Betrieb eines Fahrzeugs unter Verwendung von Bewegungsplanung mit maschinellem Lernen
DE102020129456A1 (de) Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten bank von trajektorien
DE102020111682A1 (de) Systeme und verfahren zum implementieren einer autonomen fahrzeugreaktion auf ein sensorversagen
DE112020000487T5 (de) Automatisches wählen von datenproben zur annotation
DE102020121865A1 (de) Potenzielle-kollision-warnsystem basierend auf verkehrsteilnehmerabsichtsvorhersage
DE102020133744A1 (de) Vordergrundextraktion unter verwendung von flächenanpassung
DE102021132722A1 (de) Auswählen von testszenarien zum bewerten der leistung autonomer fahrzeuge
DE102021112349A1 (de) Fahrzeugbetrieb unter verwendung eines dynamischen belegungsrasters
DE102020128156A1 (de) Bewerten von trajektorien autonomer fahrzeuge unter verwendung angemessener mengendaten
DE112019006282T5 (de) Betrieb eines Fahrzeugs unter Verwendung mehrerer Bewegungsbeschränkungen
DE102021133742A1 (de) Planung einer trajektorie eines autonomen fahrzeugs mit dynamischem zustand
DE112020002695T5 (de) Autonomer fahrzeugbetrieb mittels linearer temporaler logik
DE102020111250A1 (de) Grafische benutzerschnittstelle zur anzeige des verhaltens autonomer fahrzeuge
DE102021124913A1 (de) Metrik-backpropagation für die beurteilung der leistung von untersystemen
DE102021132850A1 (de) Homotopiebasierter planer für autonome fahrzeuge
DE102020128433A1 (de) Simulation eines autonomen Fahrzeugs zur Verbesserung der Sicherheit und Zuverlässigkeit eines autonomen Fahrzeugs
DE102021133340A1 (de) Modalitätsübergreifendes aktives lernen zur objekterkennung
DE102020128155A1 (de) Bedingte bewegungsvorhersagen
DE102021211781A1 (de) Fahrzeugbetrieb unter verwendung von verhaltensregelprüfungen
DE102020114306A1 (de) Schätzen von geschwindigkeitsprofilen
DE102021110157A1 (de) Av-wegplanung mit kalibrierungsinformationen
DE102021127118A1 (de) Identifizieren von Objekten mit LiDAR
DE102021132737A1 (de) Manöverrealisator auf abtastbasis
DE102021133739A1 (de) Steuern eines autonomen fahrzeugs unter verwendung einer näheregel
DE102021123721A1 (de) Fahrzeugbetrieb unter verwendung eines verhaltensregelmodells