DE102022127006A1 - Bewertungssystem für autonomes fahren - Google Patents

Bewertungssystem für autonomes fahren Download PDF

Info

Publication number
DE102022127006A1
DE102022127006A1 DE102022127006.8A DE102022127006A DE102022127006A1 DE 102022127006 A1 DE102022127006 A1 DE 102022127006A1 DE 102022127006 A DE102022127006 A DE 102022127006A DE 102022127006 A1 DE102022127006 A1 DE 102022127006A1
Authority
DE
Germany
Prior art keywords
vehicle
driving
simulated environment
challenge
processor
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
DE102022127006.8A
Other languages
English (en)
Inventor
Syed Bilal Mehdi
Marcus James Huber
Sayyed Rouhollah Jafari Tafti
Jeremy A. Salinger
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations 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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102022127006A1 publication Critical patent/DE102022127006A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • 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/005Handover processes
    • B60W60/0053Handover processes from vehicle to occupant
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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/02Registering or indicating driving, working, idle, or waiting time only
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/406Traffic density
    • 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
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/60Traffic rules, e.g. speed limits or right of way

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Traffic Control Systems (AREA)

Abstract

Ein System umfasst einen Computer mit einem Prozessor und einem Arbeitsspeicher. Der Arbeitsspeicher enthält Anweisungen, so dass der Prozessor dazu programmiert ist: einen Algorithmus für ein autonomes Fahrzeug auszuführen, der Fahrzeugoperationen innerhalb einer simulierten Umgebung simuliert. Die simulierte Umgebung stellt mehrere Fahrsituationen dar. Der Arbeitsspeicher umfasst auch Anweisungen, so dass der Prozessor dazu programmiert ist: eine Herausforderungseinstufung für die Fahrsituation zu bestimmen, einen Leistungsbeurteilungspunktwert für das autonome Fahrzeug entsprechend der simulierten Umgebung zu bestimmen, den Leistungsbeurteilungspunktwert für das autonome Fahrzeug mit einem menschlichen Fahrpunktwert entsprechend der simulierten Umgebung zu vergleichen und ein Leistungsprofil auf der Basis des Vergleichs zu erzeugen. In einigen Implementierungen kann ein Fahrzeugcomputer eine Herausforderungseinstufung bestimmen und eine Fahrerübernahmeempfehlung und/oder einen Alarm, der eine Anwesenheit eines Fehlers angibt, auf der Basis eines Vergleichs der Fahrzeugleistung mit der Herausforderungseinstufung erzeugen.

Description

  • EINLEITUNG
  • Die vorliegende Offenbarung bezieht sich auf ein Leistungsbeurteilungssystem für ein autonomes Fahrzeug.
  • Ein autonomes Fahrzeug ist ein Fahrzeug, das in der Lage ist, seine Umgebung zu erfassen und mit geringer oder keiner Benutzereingabe zu navigieren. Dies macht es unter Verwendung von Erfassungsvorrichtungen wie z. B. Radar, Lidar, Bildsensoren und dergleichen. Autonome Fahrzeuge verwenden ferner Informationen einer Technologie von globalen Positionsbestimmungssystemen (GPS), von Navigationssystemen, einer Fahrzeug-zu-Fahrzeug-Kommunikation, Fahrzeug-zu Infrastruktur-Technologie und/oder Drive-by-Wire-Systemen, um das Fahrzeug zu navigieren.
  • ZUSAMMENFASSUNG
  • Ein System umfasst einen Computer mit einem Prozessor und einem Arbeitsspeicher. Der Arbeitsspeicher enthält Anweisungen, so dass der Prozessor dazu programmiert ist: einen Algorithmus für ein autonomes Fahrzeug auszuführen, der Fahrzeugoperationen innerhalb einer simulierten Umgebung simuliert. Die simulierte Umgebung stellt mehrere Fahrsituationen dar. Der Arbeitsspeicher enthält auch Anweisungen, so dass der Prozessor dazu programmiert ist: eine Herausforderungseinstufung entsprechend der simulierten Umgebung zu bestimmen, einen Leistungsbeurteilungspunktwert für das autonome Fahrzeug entsprechend der simulierten Umgebung zu bestimmen, den Leistungsbeurteilungspunktwert für das autonome Fahrzeug mit einem menschlichen Fahrpunktwert entsprechend der simulierten Umgebung zu vergleichen und mehrere Leistungsprofile auf der Basis des Vergleichs zu erzeugen.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, die simulierte Umgebung auf der Basis eines Maßes M zu erzeugen, wobei das Maß M einen Satz von variierenden Bedingungen für ein Fahrszenario umfasst, unter dem die Fahrleistung des autonomen Fahrzeugs bewertet wird.
  • Gemäß anderen Merkmalen basiert das Maß M auf einer Komplexität einer Fahrsituation, einem Stau einer Fahrsituation und/oder einem Chaos einer Fahrsituation.
  • Gemäß anderen Merkmalen stellt die Komplexität der Fahrsituation eine Anzahl von mehreren Spurwechseln dar, die innerhalb eines definierten Fahrbahnsegments stattfinden sollen.
  • Gemäß anderen Merkmalen stellt der Stau der Fahrsituation dar, dass andere Fahrzeuge mit einer relativ niedrigeren Geschwindigkeitsrate mit Bezug auf eine aufgestellte Geschwindigkeitsbegrenzung fahren.
  • Gemäß anderen Merkmalen stellt das Chaos der Fahrsituation eine Anzahl von Spurwechseln durch andere Fahrzeuge nahe einem Trägerfahrzeug dar.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, simulierte Sensordaten zu erzeugen, die die simulierte Umgebung darstellen.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, eine Herausforderungseinstufung für jede erzeugte Fahrsituation innerhalb der simulierten Umgebung zu bestimmen.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, die Herausforderungseinstufung für jede erzeugte Fahrsituation innerhalb der simulierten Umgebung während eines beschreibenden Betriebsmodus zu bestimmen.
  • Ein Verfahren umfasst das Ausführen eines Algorithmus für ein autonomes Fahrzeug, der Fahrzeugoperationen innerhalb einer simulierten Umgebung simuliert. Die simulierte Umgebung stellt mehrere Fahrsituationen dar. Das Verfahren umfasst auch das Bestimmen einer Herausforderungseinstufung entsprechend der simulierten Umgebung, das Bestimmen eines Leistungsbeurteilungspunktwerts des autonomen Fahrzeugs entsprechend der simulierten Umgebung, das Vergleichen des Beurteilungspunktwerts des autonomen Fahrzeugs mit einem menschlichen Fahrpunktwert entsprechend der simulierten Umgebung und das Erzeugen von mehreren Leistungsprofilen auf der Basis des Vergleichs.
  • Gemäß anderen Merkmalen umfasst das Verfahren das Erzeugen der simulierten Umgebung auf der Basis eines Maßes M, wobei das Maß M einen Satz von variierenden Bedingungen für ein Fahrszenario umfasst, unter dem die Fahrleistung des autonomen Fahrzeugs bewertet wird.
  • Gemäß anderen Merkmalen basiert das Maß M auf einer Komplexität einer Fahrsituation, einem Stau einer Fahrsituation und/oder einem Chaos einer Fahrsituation.
  • Gemäß anderen Merkmalen stellt die Komplexität der Fahrsituation eine Anzahl von mehreren Spurwechseln dar, die innerhalb eines definierten Fahrbahnsegments stattfinden sollen.
  • Gemäß anderen Merkmalen stellt der Stau der Fahrsituation dar, dass andere Fahrzeuge mit einer relativ niedrigeren Geschwindigkeitsrate mit Bezug auf eine aufgestellte Geschwindigkeitsbegrenzung fahren.
  • Gemäß anderen Merkmalen stellt das Chaos der Fahrsituation eine Anzahl von Spurwechseln durch andere Fahrzeuge nahe einem Trägerfahrzeug dar.
  • Gemäß anderen Merkmalen umfasst das Verfahren das Erzeugen von simulierten Sensordaten, die die simulierte Umgebung darstellen.
  • Gemäß anderen Merkmalen umfasst das Verfahren das Bestimmen einer Herausforderungseinstufung für jede erzeugte Fahrsituation innerhalb der simulierten Umgebung.
  • Gemäß anderen Merkmalen umfasst das Verfahren das Bestimmen der Herausforderungseinstufung für jede erzeugte Fahrsituation innerhalb der simulierten Umgebung während eines beschreibenden Betriebsmodus und/oder eines vorschreibenden Betriebsmodus.
  • Ein Fahrzeug umfasst einen Computer und der Computer umfasst einen Prozessor und einen Arbeitsspeicher. Der Arbeitsspeicher umfasst Anweisungen, so dass der Prozessor dazu programmiert ist: eine Herausforderungseinstufung auf der Basis eines definierten Maßes M unter Verwendung von Sensordaten von einem oder mehreren Sensoren zu bestimmen und eine Fahrerübernahmeempfehlung und/oder einen Alarm, der eine Anwesenheit eines Fehlers angibt, auf der Basis eines Vergleichs der Fahrzeugleistung mit der Herausforderungseinstufung zu erzeugen.
  • Weitere Anwendbarkeitsgebiete werden aus der hier vorgesehenen Beschreibung ersichtlich. Es sollte zu verstehen sein, dass die Beschreibung und die speziellen Beispiele nur für Erläuterungszwecke bestimmt sind und den Schutzbereich der vorliegenden Offenbarung nicht begrenzen sollen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die hier beschriebenen Zeichnungen dienen nur für Erläuterungszwecke und sollen den Schutzbereich der vorliegenden Offenbarung keineswegs begrenzen; es zeigen:
    • 1 ein Blockdiagramm eines Beispielsystems mit einem Fahrzeug;
    • 2 ein Blockdiagramm eines Beispielservers innerhalb des Systems;
    • 3 ein Blockdiagramm einer Beispielrechenvorrichtung;
    • 4 ein Ablaufdiagramm, das einen Beispielprozess zum Bemessen von Fahroperationen innerhalb einer simulierten Fahrumgebung während eines vorschreibenden Betriebsmodus darstellt;
    • 5 ein Ablaufdiagramm, das einen Beispielprozess zum Bemessen von Fahroperationen innerhalb einer simulierten Fahrumgebung während eines beschreibenden Betriebsmodus darstellt;
    • 6 ein Ablaufdiagramm, das einen Beispielprozess zum Bestimmen, ob eine Fahrerübernahmeempfehlung erzeugt werden soll, darstellt; und
    • 7 ein Ablaufdiagramm, das einen Beispielprozess zum Detektieren einer Anwesenheit eines Fehlers darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung ist dem Wesen nach lediglich beispielhaft und soll die vorliegende Offenbarung, ihre Anwendung oder ihre Verwendungen nicht begrenzen.
  • Eine Herausforderung bei der Entwicklung von Algorithmen für ein autonomes Fahrzeug ist das Validieren der Leistung über Meilen von Straßenprüfung. In einigen Fällen können Simulationswerkzeuge, einschließlich Spielemaschinen, verwendet werden, um Szenarios manuell zu erzeugen, simulierte Sensordaten zu sammeln und die Algorithmusleistung des autonomen Fahrzeugs zu validieren.
  • Innerhalb der vorliegenden Offenbarung kann eine Speichervorrichtung mit einer Liste von verschiedenen Merkmalskombinationen für ein Szenario beladen werden. Merkmalskombinationen für ein Szenario können Fahrzeuglagen, Umgebungsfaktoren und andere Aspekte einer Simulation umfassen, wie z. B. eines Merkmals für die L2-L5-Automatisierung. Auf der Basis eines Maßes M kann eine Auswahl von verschiedenen simulierten Fahrumgebungen ausgewählt werden, um eine oder mehrere Fahrbedingungen darzustellen. Sensordaten und Ground Truth können für jede verschiedene Fahrbedingung erzeugt werden und die Sensordaten für jede verschiedene Fahrbedingung werden zu einem Algorithmus des autonomen Fahrzeugs zugeführt.
  • Für jede verschiedene Fahrbedingung bestimmt der Algorithmus Metriken für das Szenario, wie z. B. eine binäre Metrik, d. h. ob ein Szenario gelungen oder misslungen ist, eine nicht binäre Metrik oder eine andere maßgeschneiderte definierte Metrik. Der Algorithmus gibt jede Fahrbedingung zusammen mit Metriken aus, wie z. B. ob der Algorithmus bestanden hat oder durchgefallen ist. Diese Metriken können mit menschlichen Fahrmetriken verglichen werden, die Metriken dessen darstellen, ob ein menschlicher Fahrer für jede Fahrbedingung bestanden hat oder durchgefallen ist.
  • 1 ist ein Blockdiagramm eines Beispielfahrzeugsystems 100. Das System 100 umfasst ein Fahrzeug 105, das ein Landfahrzeug wie z. B. ein Personenkraftwagen, ein Lastkraftwagen usw. ist. Das Fahrzeug 105 umfasst einen Computer 110, Fahrzeugsensoren 115, Aktuatoren 120, um verschiedene Fahrzeugkomponenten 125 zu betätigen, und ein Fahrzeugkommunikationsmodul 130. Über ein Netz 135 ermöglicht das Kommunikationsmodul 130, dass der Computer 110 mit einem Server 145 kommuniziert.
  • Der Computer 110 kann ein Fahrzeug 105 in einem autonomen, einem halbautonomen Modus oder einem nicht autonomen (manuellen) Modus betreiben. Für die Zwecke dieser Offenbarung wird ein autonomer Modus als einer definiert, in dem jeder des Antriebs, der Bremsung und der Lenkung des Fahrzeugs 105 durch den Computer 110 gesteuert wird; in einem halbautonomen Modus steuert der Computer 110 einen oder zwei des Antriebs, der Bremsung und der Lenkung des Fahrzeugs 105; in einem nicht autonomen Modus steuert ein menschlicher Betreiber jeden des Antriebs, der Bremsung und der Lenkung des Fahrzeugs 105.
  • Der Computer 110 kann eine Programmierung umfassen, um eine oder mehrere der Bremsen, des Antriebs (z. B. Steuerung einer Beschleunigung im Fahrzeug durch Steuern von einem oder mehreren einer Brennkraftmaschine, eines Elektromotors, einer Hybridkraftmaschine usw.), der Lenkung, der Klimatisierung, von Innen- und/oder Außenlichtern usw. des Fahrzeugs 105 zu betreiben sowie zu bestimmen, ob und wann der Computer 110 im Gegensatz zu einem menschlichen Betreiber solche Operationen steuern soll. Außerdem kann der Computer 110 dazu programmiert sein zu bestimmen, ob und wann ein menschlicher Betreiber solche Operationen steuern soll.
  • Der Computer 110 kann mehr als einen Prozessor, der z. B. in elektronischen Controller-Einheiten (ECUs) oder dergleichen enthalten ist, die im Fahrzeug 105 enthalten sind, zum Überwachen und/oder Steuern von verschiedenen Fahrzeugkomponenten 125, z. B. einen Antriebsstrang-Controller, einen Brems-Controller, einen Lenk-Controller usw., umfassen oder nachrichtentechnisch damit gekoppelt sein, z. B. über das Kommunikationsmodul 130 des Fahrzeugs 105, wie nachstehend weiter beschrieben. Ferner kann der Computer 110 über das Kommunikationsmodul 130 des Fahrzeugs 105 mit einem Navigationssystem kommunizieren, das das globale Positionsbestimmungssystem (GPS) verwendet. Als Beispiel kann der Computer 110 Ortsdaten des Fahrzeugs 105 anfordern und empfangen. Die Ortsdaten können in einer bekannten Form vorliegen, z. B. Geokoordinaten (Breitengrad- und Längengradkoordinaten).
  • Der Computer 110 ist im Allgemeinen für Kommunikationen am Kommunikationsmodul 130 des Fahrzeugs 105 und auch mit einem internen verdrahteten und/oder drahtlosen Netz des Fahrzeugs 105, z. B. einem Bus oder dergleichen im Fahrzeug 105, wie z. B. einem Controller-Bereichsnetz (CAN) oder dergleichen, und/oder anderen verdrahteten und/oder drahtlosen Mechanismen angeordnet.
  • Über das Kommunikationsnetz des Fahrzeugs 105 kann der Computer 110 Nachrichten zu verschiedenen Vorrichtungen im Fahrzeug 105 senden und/oder Nachrichten von den verschiedenen Vorrichtungen empfangen, z. B. Fahrzeugsensoren 115, Aktuatoren 120, Fahrzeugkomponenten 125, einer Mensch-Maschine-Schnittstelle (HMI) usw. Alternativ oder zusätzlich kann in Fällen, in denen der Computer 110 tatsächlich mehrere Vorrichtungen umfasst, das Kommunikationsnetz des Fahrzeugs 105 für Kommunikationen zwischen Vorrichtungen, die als Computer 110 in dieser Offenbarung dargestellt sind, verwendet werden. Wie nachstehend erwähnt, können ferner verschiedene Controller und/oder Fahrzeugsensoren 115 Daten zum Computer 110 liefern. Das Kommunikationsnetz des Fahrzeugs 105 kann ein oder mehrere Gateway-Module umfassen, die eine Zusammenarbeitsfähigkeit zwischen verschiedenen Netzen und Vorrichtungen innerhalb des Fahrzeugs 105, wie z. B. Protokollübersetzer, Impedanzanpassungseinrichtungen, Ratenumsetzer und dergleichen, schaffen.
  • Die Fahrzeugsensoren 115 können eine Vielfalt von Vorrichtungen umfassen, wie sie z. B. bekannt sind, um Daten zum Computer 110 zu liefern. Die Fahrzeugsensoren 115 können beispielsweise einen oder mehrere Sensoren 115 für Lichtdetektion und Entfernungsmessung (Lidar) usw. umfassen, die an einer Oberseite des Fahrzeugs 105, hinter einer Frontscheibe des Fahrzeugs 105, um das Fahrzeug 105 herum usw. angeordnet sind, die relative Orte, Größen und Formen von Objekten und/oder Bedingungen, die das Fahrzeug 105 umgeben, bereitstellen. Als anderes Beispiel können ein oder mehrere Radarsensoren 115, die an Stoßfängern des Fahrzeugs 105 befestigt sind, Daten bereitstellen, um die Geschwindigkeit von Objekten (möglicherweise einschließlich zweiter Fahrzeuge 106) usw. relativ zum Ort des Fahrzeugs 105 bereitzustellen und zu klassifizieren. Die Fahrzeugsensoren 115 können ferner einen oder mehrere Kamerasensoren 115, z. B. Frontansicht, Seitenansicht, Rückansicht usw., umfassen, die Bilder von einem Sichtfeld innerhalb und/oder außerhalb des Fahrzeugs 105 bereitstellen.
  • Die Aktuatoren 120 des Fahrzeugs 105 werden über Schaltungen, Chips, Motoren oder andere elektronische und/oder mechanische Komponenten implementiert, die verschiedene Fahrzeuguntersysteme gemäß geeigneten Steuersignalen betätigen können, wie bekannt ist. Die Aktuatoren 120 können verwendet werden, um Komponenten 125, einschließlich Bremsung, Beschleunigung und Lenkung eines Fahrzeugs 105, zu steuern.
  • Im Zusammenhang mit der vorliegenden Offenbarung ist eine Fahrzeugkomponente 125 eine oder mehrere Hardware-Komponenten, die dazu ausgelegt sind, eine mechanische oder elektromechanische Funktion oder Operation durchzuführen - wie z. B. Bewegen des Fahrzeugs 105, Verlangsamen oder Stoppen des Fahrzeugs 105, Lenken des Fahrzeugs 105 usw. Nicht begrenzende Beispiele von Komponenten 125 umfassen eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. umfasst), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehrere eines Lenkrades, einer Lenkstange usw. umfassen kann), eine Bremskomponente (wie nachstehend beschrieben), eine Parkassistenzkomponente, eine adaptive Tempomatkomponente, eine adaptive Lenkkomponente, einen beweglichen Sitz usw.
  • Außerdem kann der Computer 110 für die Kommunikation über ein Fahrzeug-zu-Fahrzeug-Kommunikationsmodul oder eine Fahrzeug-zu-Fahrzeug-Kommunikationsschnittstelle 130 mit Vorrichtungen außerhalb des Fahrzeugs 105, z. B. durch drahtlose Fahrzeug-zu-Fahrzeug-Kommunikationen (V2V-Kommunikationen) oder Fahrzeug-zu-Infrastruktur-Kommunikationen (V2X-Kommunikationen) mit einem anderen Fahrzeug, mit einem entfernten Server 145 (typischerweise über das Netz 135) konfiguriert sein. Das Modul 130 könnte einen oder mehrere Mechanismen umfassen, durch die der Computer 110 kommunizieren kann, einschließlich irgendeiner gewünschten Kombination von drahtlosen (z. B. zellular, drahtlos, Satellit, Mikrowelle und Hochfrequenz) Kommunikationsmechanismen und irgendeiner gewünschten Netztopologie (oder Topologien, wenn mehrere Kommunikationsmechanismen verwendet werden). Beispielhafte Kommunikationen, die über das Modul 130 bereitgestellt werden, umfassen zellulare, Bluetooth®-, „IEEE 802.11"-, zweckgebundene Kurzstreckenkommunikationen (DSRC) und/oder weiträumige Netze (WAN), einschließlich des Internets, die Datenkommunikationsdiente bereitstellen.
  • Das Netz 135 kann eines oder mehrere von verschiedenen verdrahteten oder drahtlosen Kommunikationsmechanismen sein, einschließlich irgendeiner gewünschten Kombination von verdrahteten (z. B. Kabel und Faser) und/oder drahtlosen (z. B. zellular, drahtlos, Satellit, Mikrowelle und Hochfrequenz) Kommunikationsmechanismen und irgendeiner gewünschten Netztopologie (oder Topologien, wenn mehrere Kommunikationsmechanismen verwendet werden). Beispielhafte Kommunikationsnetze umfassen drahtlose Kommunikationsnetze (z. B. unter Verwendung von Bluetooth, Bluetooth Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (V2V), wie z. B. zweckgebundene Kurzstreckenkommunikationen (DSRC) usw.), lokale Netze (LAN) und/oder weiträumige Netze (WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Ein Computer 110 kann Daten von Sensoren 115 im Wesentlichen kontinuierlich, periodisch, und/oder wenn es durch einen Server 145 angewiesen wird, usw. empfangen und analysieren. Ferner können Objektklassifikations- oder Objektidentifikationstechniken verwendet werden, z. B. in einem Computer 110 auf der Basis von Daten eines Lidarsensors 115, eines Kamerasensors 115 usw., um einen Typ von Objekt, z. B. ein Fahrzeug, eine Person, einen Stein, ein Schlagloch, ein Fahrrad, ein Motorrad usw., sowie physikalische Merkmale von Objekten zu identifizieren.
  • 2 stellt einen Beispielserver 145 dar, der ein Leistungsbewertungssystem 205 umfasst. Wie gezeigt, kann das Leistungsbewertungssystem 205 ein Steuermodul 210 für ein autonomes Fahrzeug, ein Herausforderungserzeugungsmodul 215, ein Fahrherausforderungseinstufungsmodul 220, ein Leistungsbeurteilungsmodul 225, ein Profilerzeugungsmodul 230 und ein Speichermodul 235 umfassen.
  • Das Steuermodul 210 für das autonome Fahrzeug kann den Software-Stapel für das autonome Fahrzeug umfassen. Das Steuermodul 210 für das autonome Fahrzeug kann beispielsweise ein oder mehrere Software-Module umfassen, die die Fahrzeuglokalisierung bestimmen, d. h. Bestimmen eines Orts eines Fahrzeugs in einer Karte, die Fahrzeugwahrnehmung managen, d. h. Bestimmen von Informationen über Objekte um das Fahrzeug, und/oder Anweisungen/Steuerungen zum Steuern des Fahrzeugs 105 bereitstellen.
  • Das Herausforderungserzeugungsmodul 215 erzeugt eine oder mehrere simulierte Fahrsituationen, z. B. Fahrumgebungen, auf der Basis eines definierten Maßes M. Das Maß M kann einen Satz von variierenden Bedingungen für ein Fahrszenario darstellen, unter denen die Fahrleistung des autonomen Fahrzeugs bewertet wird.
  • Insbesondere kann das Maß M Werte darstellen, die eine Komplexität einer Fahrsituation, einen Stau einer Fahrsituation oder ein Chaos einer Fahrsituation berücksichtigen. Nicht begrenzende Beispiele der Komplexität können die Anzahl von mehreren Spurwechseln, die innerhalb eines definierten Fahrbahnsegments stattfinden sollen, die Straßenstruktur und den Routenplan des Trägerfahrzeugs, z. B. des Fahrzeugs 105, der bewirkt, dass das Fahrzeug 105 Spurwechsel innerhalb eines kurzen Abstandes/einer kurzen Zeit durchführt, die Straßenstruktur, die das Trägerfahrzeug zwingt, zu beschleunigen, während es einfädelt, den Bedarf des Trägerfahrzeugs, Querverkehr zu berücksichtigen, unkontrollierte Kreuzungen, sich krümmende/windende Fahrbahnen, die „Haarnadel“-Kurven beinhalten, und/oder Fahrbahnen mit signifikanten Höhenänderungen umfassen.
  • Beispiele eines Staus können umfassen, dass andere Fahrzeuge mit einer relativ niedrigeren Geschwindigkeitsrate mit Bezug auf eine aufgestellte Geschwindigkeitsbegrenzung fahren, die Bildung einer Warteschlange von gestoppten Fahrzeugen, und/oder einen relativ kleinen Vorlaufzeitabstand zwischen Fahrzeugen.
  • Beispiele von Chaos können häufige Spurwechsel durch andere Fahrzeuge nahe dem Trägerfahrzeug, eine relativ hohe Geschwindigkeitsvariation von Fahrzeugen nahe dem Trägerfahrzeug, andere Fahrzeuge, die nicht der Mittelspur folgen, andere Fahrzeuge, die Fahrspurmarkierungen nicht gehorchen, andere Fahrzeuge, die an Parken in zweiter Reihe beteiligt sind, und/oder Fußgänger und/oder Tiere, die die Straße überqueren, umfassen.
  • Das Herausforderungserzeugungsmodul 215 kann das Maß M empfangen und eine simulierte Fahrsituation auf der Basis des Maßes M erzeugen. Das Herausforderungserzeugungsmodul 215 erzeugt beispielsweise eine Szenariodatei, z. B. JSON-Datei, Textdatei usw., die Variablen zum Definieren eines simulierten Szenarios umfasst. Die Szenariodatei kann im Speichermodul 235 gespeichert werden. Das Herausforderungsmodul 215 kann beispielsweise eine Fahrherausforderung auf der Basis von simulierten Wetterbedingungen, d. h. vereisten Straßenbedingungen, Objekten, die Fahrspurmarkierungen verdecken, und/oder kurvenreichen Bedingungen, auf der Basis von ethischen Komplexitäten, d. h. ob das Trägerfahrzeug einem anderen Fahrzeug Vorfahrt gewährt, das nicht die Vorfahrt hat, und/oder ein Fahrzeugmanöver aufgrund eines detektierten Fußgängers durchführt, auf der Basis von Kartierungs- und Lokalisierungskomplexitäten, d. h. ungenaue oder spärlich detaillierte Karten und/oder GPS-Unverfügbarkeit, auf der Basis eines vollständigen oder teilweisen Ausfalls von einem oder mehreren Systemen des Fahrzeugs 105, auf der Basis von geringer Sicht aufgrund von Wetterbedingungen, auf der Basis von Verkehrsverhaltensvariationen aufgrund von Wetter- und/oder Straßenbedingungen, und/oder modifizierten Verkehrsmustern aufgrund von Unfällen erzeugen.
  • Wie hier genauer erörtert, verwendet ferner das Herausforderungserzeugungsmodul 215 die Szenariodatei, um eine simulierte Umgebung zu erzeugen. Unter Verwendung der Szenariodatei erzeugt das Herausforderungserzeugungsmodul 215 beispielsweise eine Simulation in einer virtuellen Umgebung. An sich kann das Herausforderungserzeugungsmodul 215 Sensordaten wie z. B. Videodaten von einer Kamera, Punktwolkendaten von Lidars, Detektionen von Radar, Audio oder beliebige andere Arten von simulierten Sensordaten erzeugen. Die virtuelle Umgebung kann eine oder mehrere erzeugte Fahrsituationen auf der Basis des Maßes M umfassen.
  • Während eines vorschreibenden Betriebsmodus berechnet das Fahrherausforderungseinstufungsmodul 220 Fahrherausforderungseinstufungen für alle erzeugten Fahrsituationen vor dem Bewerten der Leistung des autonomen Fahrzeugs in simulierten Fahrsituationen. Die Herausforderungseinstufung kann einen Zahlenwert umfassen, der ein Schwierigkeitsniveau auf der Basis des Maßes M angibt, wie z. B. einen simulierten Verkehrsstau, ein simuliertes Verkehrschaos, eine simulierte Straßenkomplexität usw.
  • Das Leistungsbeurteilungsmodul 225 überwacht, d. h. beurteilt, das Ergebnis der Ausführung des Algorithmus des autonomen Fahrzeugs für jede Fahrsituation und gibt Daten, einschließlich jeder Fahrsituation und einer Angabe, ob Fahroperationen, die der Algorithmus des autonomen Fahrzeugs auf der Basis der Fahrsituation ausgewählt hat, bestanden wurden oder misslungen sind, aus.
  • Ferner kann das Leistungsbeurteilungsmodul 225 Metriken des autonomen Fahrzeugs, z. B. Statistiken, über den Algorithmus des autonomen Fahrzeugs erzeugen, wie z. B. eine Angabe, wie viele Male jede simulierte Fahrbedingung einem Ausfall des Algorithmus des autonomen Fahrzeugs zugeordnet wurde, wie viele Male jede simulierte Fahrbedingung einem Erfolg des Algorithmus des autonomen Fahrzeugs zugeordnet wurde, und dergleichen. Auf der Basis der Daten kann das Leistungsbeurteilungsmodul 225 einen einzelnen skalaren Punktwert erzeugen, der eine Aggregation der Beurteilungsfaktoren darstellt.
  • Die Metriken des autonomen Fahrzeugs mit Daten, die menschliche Fahrmetriken darstellen, die einem menschlichen Fahrer entsprechen, der durch vergleichbare Fahrsituationen fährt, können verglichen werden. Insbesondere fährt ein menschlicher Fahrer durch dieselbe simulierte Umgebung und das Leistungsbeurteilungsmodul 225 erzeugt einen Punktwert ähnlich zu den vorstehend mit Bezug auf den ausgewählten Algorithmus des autonomen Fahrzeugs beschriebenen Techniken. Der Vergleich zwischen Punktwerten kann eine gute Bewertungsmetrik dessen schaffen, wie das autonome Fahrzeug gegenüber einem Goldstandard eines menschlichen Expertenfahrers arbeitet.
  • Während eines beschreibenden Betriebsmodus bestimmt das Fahrherausforderungseinstufungsmodul 220 die Fahrherausforderungseinstufungen während der Bewertung der Leistung des autonomen Fahrzeugs in den simulierten Fahrsituationen. Insbesondere, wie vorstehend beschrieben, werden die Fahrherausforderungseinstufungen vor der Leistungsbewertungsphase während des vorschreibenden Betriebsmodus bestimmt und die Fahrherausforderungseinstufungen werden gleichzeitig mit dem Leistungsbewertungsschritt während des beschreibenden Betriebsmodus bestimmt.
  • Das Profilerzeugungsmodul 230 kann ein oder mehrere Profile auf der Basis eines Vergleichs des Beurteilungspunktwerts des autonomen Fahrzeugs und des menschlichen Fahrpunktwerts und/oder eines Vergleichs der Fahrherausforderungseinstufungen erzeugen. Das eine oder die mehreren Profile können Fahrerübernahmeempfehlungsprofile umfassen, die durch den Computer 110 verwendet werden können, um zu bestimmen, wann eine Fahrerübernahmeempfehlung erzeugt werden soll.
  • Wie vorstehend beschrieben, stellen die Punktwerte des autonomen Fahrzeugs und des menschlichen Fahrens Zahlenwerte dar, die angeben, wie ein Fahrvorgang in der Fahrsituation durchgeführt wurde. Der Algorithmus des autonomen Fahrzeugs kann beispielsweise in einer speziellen simulierten Umgebung aufgrund der Komplexität der Fahrsituation, des Staus der Fahrumgebung und/oder des Chaos der Fahrumgebung versagt haben. Die Profile können durch den Computer 110 für Herausforderungsbeurteilungs- und Leistungsbeurteilungszwecke verwendet werden, wie hier erörtert.
  • In einer Beispielimplementierung kann der Computer 110 die Profile verwenden, um zu bestimmen, ob ein Fahrer die Steuerung des Fahrzeugs 105 übernehmen sollte. Insbesondere vergleicht der Computer 110 die eine oder die mehreren Herausforderungseinstufungen, die innerhalb des Profils gespeichert sind. Wenn das Maß M die eine oder die mehreren Herausforderungseinstufungen überschreitet, erzeugt der Computer 110 eine Empfehlung, dass ein menschlicher Fahrer die Steuerung des Fahrzeugs 105 übernimmt. In diesem Zusammenhang kann das Maß M auf der Basis der detektierten Sensordaten bestimmt werden. Der Computer 110 kann beispielsweise eine Nachschlagetabelle verwenden, die Sensordaten mit einem entsprechenden Maß M in Beziehung setzt.
  • In einigen Implementierungen kann der Computer 110 mögliche Fehler innerhalb des Fahrzeugs 105 detektieren und melden. Insbesondere vergleicht der Computer 110 das Maß M mit der einen oder den mehreren Herausforderungseinstufungen, die innerhalb des Profils gespeichert sind. Der Computer 110 analysiert auch eine Leistung des ausgewählten Fahralgorithmus des autonomen Fahrzeugs innerhalb der Fahrumgebung, d. h. der Umgebung, die dem Maß M entspricht. Der Computer 110 kann dann bestimmen, ob die Leistung für eine gegebene Herausforderung niedriger ist als erwartet, der Computer 110 kann die Daten protokollieren, die Daten zu einem Fahrzeughersteller übertragen und/oder einen Alarm erzeugen, um den Betreiber des Fahrzeugs 105 zu benachrichtigen. Der Alarm kann beispielsweise angeben, dass der Fahrzeugfahrer einen Verkaufsvertretungsbesuch planen sollte.
  • 3 stellt eine Beispielrechenvorrichtung 300, d. h. einen Computer 110 und/oder einen oder mehrere Server 145, dar, die dazu konfiguriert sein kann, einen oder mehrere der hier beschriebenen Prozesse durchzuführen. Wie gezeigt, kann die Rechenvorrichtung einen Prozessor 305, einen Arbeitsspeicher 310, eine Speichervorrichtung 315, eine E/A-Schnittstelle 320 und eine Kommunikationsschnittstelle 325 umfassen. Ferner kann die Rechenvorrichtung 300 eine Eingabevorrichtung wie z. B. einen Berührungsbildschirm, eine Maus, eine Tastatur usw. umfassen. In bestimmten Implementierungen kann die Rechenvorrichtung 300 weniger oder mehr Komponenten als die in 3 gezeigten umfassen.
  • In speziellen Implementierungen umfassen der eine oder die mehreren Prozessoren 305 Hardware zum Ausführen von Anweisungen, wie z. B. jene, die ein Computerprogramm bilden. Als Beispiel und nicht zur Begrenzung können der eine oder die mehreren Prozessoren 305, um Anweisungen auszuführen, die Anweisungen aus einem internen Register, einem internen Cache, einem Arbeitsspeicher 310 oder einer Speichervorrichtung 315 abrufen (oder holen) und sie decodieren und ausführen.
  • Die Rechenvorrichtung 300 umfasst einen Arbeitsspeicher 310, der mit dem einen oder den mehreren Prozessoren 305 gekoppelt ist. Der Arbeitsspeicher 310 kann zum Speichern von Daten, Metadaten und Programmen für die Ausführung durch den einen oder die mehreren Prozessoren verwendet werden. Der Arbeitsspeicher 310 kann eine oder mehrere von flüchtigen und nichtflüchtigen Arbeitsspeichern, wie z. B. einen Direktzugriffsarbeitsspeicher („RAM“), Festwertarbeitsspeicher („ROM“), eine Festkörperplatte („SSD“), einen Flash, einen Phasenänderungsarbeitsspeicher („PCM“) oder andere Typen eines Datenspeichers umfassen. Der Arbeitsspeicher 310 kann ein interner oder verteilter Arbeitsspeicher sein.
  • Die Rechenvorrichtung 300 umfasst eine Speichervorrichtung 315, die einen Speicher zum Speichern von Daten oder Anweisungen umfasst. Als Beispiel und nicht zur Begrenzung kann die Speichervorrichtung 315 ein vorstehend beschriebenes nichttransitorisches Speichermedium umfassen. Die Speichervorrichtung 315 kann ein Festplattenlaufwerk (HDD), einen Flash-Arbeitsspeicher, ein Laufwerk eines universellen seriellen Busses (USB) oder eine Kombination von diesen oder anderen Speichervorrichtungen umfassen.
  • Die Rechenvorrichtung 300 umfasst auch eine oder mehrere Eingabe- oder Ausgabe-Vorrichtungen/Schnittstellen 320 („E/A“-Vorrichtungen/Schnittstellen), die vorgesehen sind, um einem Benutzer zu ermöglichen, eine Eingabe in die Rechenvorrichtung 300 bereitzustellen (wie z. B. Benutzertastenanschläge), eine Ausgabe von dieser zu empfangen und anderweitig Daten zu und von dieser zu übertragen. Diese E/A-Vorrichtungen/Schnittstellen 320 können eine Maus, ein Tastenfeld oder eine Tastatur, einen Berührungsbildschirm, eine Kamera, einen optischen Scanner, eine Netzschnittstelle, ein Modem, andere bekannte E/A-Vorrichtungen oder eine Kombination von solchen E/A-Vorrichtungen/Schnittstellen 320 umfassen. Der Berührungsbildschirm kann mit einer Schreibvorrichtung oder einem Finger aktiviert werden.
  • Die E/A-Vorrichtungen/Schnittstellen 320 können eine oder mehrere Vorrichtungen zum Darstellen einer Ausgabe für einen Benutzer umfassen, einschließlich, jedoch nicht begrenzt auf eine Graphikmaschine, eine Anzeige (z. B. einen Anzeigebildschirm), einen oder mehrere Ausgabetreiber (z. B. Anzeigetreiber), einen oder mehrere Audiolautsprecher und einen oder mehrere Audiotreiber. In bestimmten Implementierungen sind die Vorrichtungen/Schnittstellen 320 dazu konfiguriert, graphische Daten zu einer Anzeige für die Darstellung für einen Benutzer zu liefern. Die graphischen Daten können eine oder mehrere graphische Benutzerschnittstellen und/oder beliebigen anderen graphischen Inhalt, der einer speziellen Implementierung dienen kann, darstellen.
  • Die Rechenvorrichtung 300 kann ferner eine Kommunikationsschnittstelle 325 umfassen. Die Kommunikationsschnittstelle 325 kann Hardware, Software oder beide umfassen. Die Kommunikationsschnittstelle 325 kann eine oder mehrere Schnittstellen für die Kommunikation (wie beispielsweise Kommunikation auf Paketbasis) zwischen der Rechenvorrichtung und einer oder mehreren anderen Rechenvorrichtungen 300 oder einem oder mehreren Netzen bereitstellen. Als Beispiel und nicht zur Begrenzung kann die Kommunikationsschnittstelle 325 einen Netzschnittstellen-Controller (NIC) oder einen Netzadapter zur Kommunikation mit einem Ethernet oder einem anderen Netz auf Drahtbasis oder einen drahtlosen NIC (WNIC) oder drahtlosen Adapter für die Kommunikation mit einem drahtlosen Netz, wie z. B. WI-FI, umfassen. Die Rechenvorrichtung 300 kann ferner einen Bus 330 umfassen. Der Bus 330 kann Hardware, Software oder beide umfassen, die Komponenten der Rechenvorrichtung 300 miteinander koppelt.
  • 4 ist ein Ablaufplan eines Beispielprozesses 400 zum Bemessen von Fahroperationen innerhalb einer simulierten Fahrumgebung während eines vorschreibenden Betriebsmodus gemäß den hier beschriebenen Techniken. Blöcke des Prozesses 400 können durch den Server 145 ausgeführt werden. Der Prozess 400 beginnt beim Block 405, in dem eine oder mehrere simulierte Fahrbedingungen erzeugt werden. Die simulierten Fahrbedingungen können auf dem Maß M basieren. Wie vorstehend erörtert, kann das Maß M verwendet werden, um eine gegebene Fahrbedingung, z. B. Situation, zu charakterisieren.
  • Beim Block 410 wird eine Herausforderungseinstufung für jede Fahrsituation berechnet. Im Block 415 wird der Algorithmus des autonomen Fahrzeugs instanziiert und erzeugte Sensordaten werden bereitgestellt, die die eine oder die mehreren simulierten Fahrbedingungen angeben. Beim Block 420 wird ein Punktwert, der die Leistung des Algorithmus des autonomen Fahrzeugs darstellt, beurteilt und/oder gespeichert. Beim Block 425 werden die Metriken, die die Leistung des Algorithmus des autonomen Fahrzeugs darstellen, mit Metriken verglichen, die die Leistung eines menschlichen Fahrers darstellen. Der Prozess 400 endet dann.
  • 5 ist ein Ablaufplan eines Beispielprozesses 500 zum Bemessen von Fahroperationen innerhalb einer simulierten Fahrumgebung während eines beschreibenden Betriebsmodus gemäß den hier beschriebenen Techniken. Wie vorstehend beschrieben, werden die Fahrherausforderungseinstufungen vor der Leistungsbewertung des autonomen Fahrzeugs in den simulierten Fahrsituationen während des vorschreibenden Betriebsmodus bestimmt und die Fahrherausforderungseinstufungen werden gleichzeitig mit der Leistungsbewertung des autonomen Fahrzeugs während des beschreibenden Betriebsmodus bestimmt.
  • Blöcke des Prozesses 500 können durch den Server 145 ausgeführt werden. Der Prozess 500 beginnt beim Block 505, in dem eine oder mehrere simulierte Fahrbedingungen erzeugt werden.
  • Beim Block 510 wird der Algorithmus des autonomen Fahrzeugs instanziiert und erzeugte Sensordaten werden bereitgestellt, die die eine oder die mehreren simulierten Fahrbedingungen angeben. Beim Block 515 werden Punktwerte, die die Leistung des Algorithmus des autonomen Fahrzeugs darstellen, beurteilt und/oder gespeichert. Beim Block 520 werden die Fahrherausforderungseinstufungen für alle erzeugten Fahrsituationen auf der Basis der simulierten Fahrzeugaktivität beurteilt. Beim Block 525 wird der Punktwert, der die Leistung des Algorithmus des autonomen Fahrzeugs darstellt, mit einem Punktwert verglichen, der die Leistung eines menschlichen Fahrers darstellt. Die Fahrherausforderungseinstufungen für den Algorithmus des autonomen Fahrzeugs und die Fahrherausforderungseinstufungen für den menschlichen Fahrer können verglichen werden. Beim Block 530 werden ein oder mehrere Profile auf der Basis des Vergleichs der Punktwerte des autonomen Fahrzeugs und der menschlichen Fahrpunktwerte und/oder eines Vergleichs der Fahrherausforderungseinstufungen erzeugt. Der Prozess 500 endet dann.
  • 6 ist ein Ablaufplan eines Beispielprozesses 600 zum Bestimmen, ob eine Fahrerübernahmeempfehlung erzeugt werden soll, gemäß den hier beschriebenen Techniken. Blöcke des Prozesses 600 können durch den Computer 110 ausgeführt werden. Der Prozess 600 beginnt beim Block 605, in dem die Herausforderungseinstufung auf der Basis des definierten Maßes M unter Verwendung der von den Sensoren 115 empfangenen Sensordaten bestimmt wird.
  • Beim Block 610 wird die berechnete Herausforderungseinstufung mit den gespeicherten Herausforderungseinstufungen für den Fahralgorithmus des autonomen Fahrzeugs verglichen, der durch das Fahrzeug 105 verwendet wird. Die gespeicherten Herausforderungseinstufungen geben einen Bereich von Fahrsituationen an, die durch den Algorithmus des autonomen Fahrzeugs, der am Fahrzeug 105 eingesetzt wird, gehandhabt werden können. Beim Block 615 wird eine Bestimmung hinsichtlich dessen durchgeführt, ob die berechnete Herausforderungseinstufung im Block 605 den Bereich von gespeicherten Herausforderungseinstufungen überschreitet. Wenn ja, wird eine Fahrerübernahmeempfehlung beim Block 620 erzeugt. Ansonsten endet der Prozess 600.
  • 7 ist ein Ablaufplan eines Beispielprozesses 700 zum Detektieren einer Anwesenheit eines Fehlers gemäß den hier beschriebenen Techniken. Blöcke des Prozesses 700 können durch den Computer 110 ausgeführt werden. Der Prozess 700 beginnt beim Block 705, in dem die Herausforderungseinstufung auf der Basis des definierten Maßes M auf der Basis von Sensordaten, die von den Sensoren 115 empfangen werden, bestimmt wird.
  • Beim Block 710 wird die Leistung des Fahralgorithmus des autonomen Fahrzeugs beurteilt. Beim Block 715 wird der Leistungsbeurteilungspunktwert mit dem gespeicherten Leistungspunktwert des Algorithmus des autonomen Fahrzeugs in der berechneten Herausforderungseinstufung verglichen.
  • Beim Block 720 wird eine Bestimmung hinsichtlich dessen durchgeführt, ob die Leistung für diese Herausforderungseinstufung geringer ist als die erwartete Leistung, was auf die Anwesenheit eines Fehlers hinweisen kann. Wenn ja, werden die Daten beim Block 725 protokolliert. In einigen Implementierungen werden die Daten zum Hersteller des Fahrzeugs 105 übertragen. In einigen Implementierungen erzeugt der Computer 110 einen Alarm, um anzugeben, dass aufgrund der Anwesenheit eines Fehlers ein Verkaufsvertretungsbesuch empfohlen wird. Ansonsten endet der Prozess 700.
  • Die Beschreibung der vorliegenden Offenbarung ist dem Wesen nach lediglich beispielhaft und Variationen, die nicht vom Kern der vorliegenden Offenbarung abweichen, sollen innerhalb des Schutzbereichs der vorliegenden Offenbarung liegen. Solche Variationen sollen nicht als Abweichung vom Gedanken und Schutzbereich der vorliegenden Offenbarung betrachtet werden.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder Rechenvorrichtungen irgendeines von einer Anzahl von Computerbetriebssystemen verwenden, einschließlich, jedoch keineswegs begrenzt auf Versionen und/oder Varianten des Betriebssystems Microsoft Automotive®, des Betriebssystems Microsoft Windows®, des Unix-Betriebssystems (z. B. des Solaris®-Betriebssystems, das von Oracle Corporation in Redwood Shores, Kalifornien, vertrieben wird), des AIX-UNIX-Betriebssystems, das von International Business Machines in Armonk, New York, vertrieben wird, des Linux-Betriebssystems, der Betriebssysteme Mac OSX und iOS, die von Apple Inc. in Cupertino, Kalifornien vertrieben werden, des BlackBerry-OS, das von Blackberry, Ltd., in Waterloo, Kanada, vertrieben wird, und des Android-Betriebssystems, das von Google, Inc. und der Open Handset Alliance entwickelt wird, oder der Plattform QNX® CAR für Infotainment, die von QNX Software Systems angeboten wird. Beispiele von Rechenvorrichtungen umfassen ohne Begrenzung einen Bordfahrzeugcomputer, einen Computerarbeitsplatzrechner, einen Server, einen Tischrechner, ein Notebook, ein Laptop oder einen in der Hand gehaltenen Computer oder einige andere Rechensysteme und/oder Rechenvorrichtungen.
  • Computer und Rechenvorrichtungen umfassen im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen wie z. B. die vorstehend aufgelisteten ausführbar sein können.
  • Computerausführbare Anweisungen können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder Programmiertechnologien erstellt werden, einschließlich ohne Begrenzung und entweder allein oder in Kombination Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTML usw. Einige von diesen Anwendungen können auf einer virtuellen Maschine kompiliert und ausgeführt werden, wie z. B. der virtuellen Java-Maschine, der virtuellen Dalvik-Maschine oder dergleichen. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Arbeitsspeicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch ein oder mehrere Prozesse durchgeführt werden, einschließlich eines oder mehrerer der hier beschriebenen Prozesse. Solche Anweisungen und andere Daten können unter Verwendung einer Vielfalt von computerlesbaren Medien gespeichert und übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium wie z. B. einem Speichermedium, einem Direktzugriffsarbeitsspeicher usw. gespeichert sind.
  • Ein Arbeitsspeicher kann ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet), das irgendein nichttransitorisches (z. B. konkretes) Medium umfasst, das an der Bereitstellung von Daten (z. B. Anweisungen) teilnimmt, die durch einen Computer (z. B. durch einen Prozessor eines Computers) gelesen werden können, umfassen. Ein solches Medium kann viele Formen annehmen, einschließlich, jedoch nicht begrenzt auf nichtflüchtige Medien und flüchtige Medien. Nichtflüchtige Medien können beispielsweise optische oder magnetische Platten und einen anderen dauerhaften Speicher umfassen. Flüchtige Medien können beispielsweise einen dynamischen Direktzugriffsarbeitsspeicher (DRAM), der typischerweise einen Hauptarbeitsspeicher bildet, umfassen. Solche Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, einschließlich Koaxialkabeln, eines Kupferdrahts und Faseroptik, einschließlich der Drähte, die einen Systembus bilden, der mit einem Prozessor einer ECU gekoppelt ist. Übliche Formen von computerlesbaren Medien umfassen beispielsweise eine Diskette, eine flexible Platte, eine Festplatte, ein Magnetband, irgendein anderes magnetisches Medium, einen CD-ROM, eine DVD, irgendein anderes optisches Medium, Lochkarten, ein Papierband, irgendein anderes physikalisches Medium mit Mustern von Löchern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, irgendeinen anderen Arbeitsspeicherchip oder eine Arbeitsspeicherkassette oder irgendein anderes Medium, von dem ein Computer lesen kann.
  • Datenbanken, Datenablagen oder andere Datenspeicher, die hier beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern, Zugreifen auf und Abrufen von verschiedenen Arten von Daten umfassen, einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem firmeneigenen Format, eines Managementsystems für eine relationale Datenbank (RDBMS) usw. Jeder solche Datenspeicher ist im Allgemeinen innerhalb einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem wie z. B. eines der vorstehend erwähnten verwendet, und auf diesen wird über ein Netz in irgendeiner oder mehreren einer Vielfalt von Weisen zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugreifbar sein und es kann in verschiedenen Formaten gespeicherte Dateien umfassen. Ein RDBMS verwendet im Allgemeinen die strukturierte Abfragesprache (SQL) zusätzlich zu einer Sprache zum Erstellen, Speichern, Bearbeiten und Ausführen von gespeicherten Prozeduren, wie z. B. die vorstehend erwähnte PL/SQL-Sprache.
  • In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, Personalcomputern usw.), die auf diesen zugeordneten computerlesbaren Medien (z. B. Platten, Arbeitsspeichern usw.) gespeichert sind, implementiert werden. Ein Computerprogrammprodukt kann solche Anweisungen, die auf computerlesbaren Medien gespeichert sind, zum Ausführen der hier beschriebenen Funktionen umfassen.
  • In dieser Anmeldung, einschließlich der nachstehenden Definitionen, kann der Begriff „Modul“ oder der Begriff „Controller“ durch den Begriff „Schaltung“ ersetzt werden. Der Begriff „Modul“ kann sich auf eine anwendungsspezifische integrierte Schaltung (ASIC); eine digitale, analoge oder gemischte analoge/digitale diskrete Schaltung; eine digitale, analoge oder gemischte analoge/digitale integrierte Schaltung; eine kombinatorische Logikschaltung; ein anwenderprogrammierbares Verknüpfungsfeld (FPGA); eine Prozessorschaltung (gemeinsam genutzt, zweckgebunden oder Gruppe), die einen Code ausführt; eine Arbeitsspeicherschaltung (gemeinsam genutzt, zweckgebunden oder Gruppe), die einen Code speichert, der durch die Prozessorschaltung ausgeführt wird; andere geeignete Hardware-Komponenten, die die beschriebene Funktionalität bereitstellen; oder eine Kombination von einigen oder allen der Obigen, wie z. B. in einem System auf einem Chip, beziehen, ein Teil davon sein oder diese umfassen.
  • Das Modul kann eine oder mehrere Schnittstellenschaltungen umfassen. In einigen Beispielen können die Schnittstellenschaltungen verdrahtete oder drahtlose Schnittstellen umfassen, die mit einem lokalen Netz (LAN), dem Internet, einem weiträumigen Netz (WAN) oder Kombinationen davon verbunden sind. Die Funktionalität von irgendeinem gegebenen Modul der vorliegenden Offenbarung kann unter mehreren Modulen verteilt sein, die über Schnittstellenschaltungen verbunden sind. Mehrere Module können beispielsweise einen Lastausgleich ermöglichen. In einem weiteren Beispiel kann ein Servermodul (auch als entferntes oder Cloud-Modul bekannt) eine gewisse Funktionalität im Namen eines Client-Moduls bewerkstelligen.
  • Im Hinblick auf die Medien, Prozesse, Systeme, Verfahren, Heuristiken usw., die hier beschrieben sind, sollte zu verstehen sein, dass, obwohl die Schritte solcher Prozesse usw. als gemäß einer bestimmten geordneten Sequenz stattfindend beschrieben wurden, solche Prozesse ausgeführt werden können, wobei die beschriebenen Schritte in einer anderen Reihenfolge als der hier beschriebenen Reihenfolge durchgeführt werden. Ferner sollte zu verstehen sein, dass bestimmte Schritte gleichzeitig durchgeführt werden können, dass andere Schritte hinzugefügt werden können oder dass bestimmte hier beschriebene Schritte weggelassen werden können. Mit anderen Worten, die Beschreibungen von Prozessen hier sind für den Zweck der Erläuterung von bestimmten Implementierungen vorgesehen und sollten keineswegs als die Ansprüche begrenzend aufgefasst werden.
  • Folglich soll zu verstehen sein, dass die obige Beschreibung erläuternd und nicht einschränkend sein soll. Viele andere Implementierungen und Anwendungen als die vorgesehenen Beispiele wären für den Fachmann auf dem Gebiet beim Lesen der obigen Beschreibung ersichtlich. Der Schutzbereich der Erfindung sollte nicht mit Bezug auf die obige Beschreibung bestimmt werden, sondern sollte stattdessen mit Bezug auf die beigefügten Ansprüche zusammen mit dem vollständigen Schutzbereich von Äquivalenten, zu dem solche Ansprüche berechtigt sind, bestimmt werden. Es wird erwartet und ist beabsichtigt, dass zukünftige Entwicklungen auf den hier erörterten Fachgebieten stattfinden, und dass die offenbarten Systeme und Verfahren in solche zukünftigen Implementierungen aufgenommen werden. Zusammengefasst sollte zu verstehen sein, dass die Erfindung zu einer Modifikation und Variation in der Lage ist und nur durch die folgenden Ansprüche begrenzt ist.
  • Allen in den Ansprüchen verwendeten Begriffen sollen ihre klaren und gewöhnlichen Bedeutungen gegeben werden, wie vom Fachmann auf dem Gebiet verstanden, wenn hier keine explizite gegenteilige Angabe vorliegt. Insbesondere sollte die Verwendung der Singularartikel wie z. B. „ein“, „der“, „der besagte“ usw. so gelesen werden, dass sie eines oder mehrere der angegebenen Elemente anführt, wenn ein Anspruch nicht eine explizite gegenteilige Begrenzung anführt.

Claims (10)

  1. System, das Computer mit einem Prozessor und einem Arbeitsspeicher umfasst, wobei der Arbeitsspeicher Anweisungen enthält, so dass der Prozessor dazu programmiert ist: einen Algorithmus eines autonomen Fahrzeugs auszuführen, der Fahrzeugoperationen innerhalb einer simulierten Umgebung simuliert, wobei die simulierte Umgebung mehrere Fahrsituationen darstellt; eine Herausforderungseinstufung entsprechend der simulierten Umgebung zu bestimmen; einen Leistungsbeurteilungspunktwert des autonomen Fahrzeugs entsprechend der simulierten Umgebung zu bestimmen; den Leistungsbeurteilungspunktwert des autonomen Fahrzeugs mit einem menschlichen Fahrpunktwert entsprechend der simulierten Umgebung zu vergleichen; und mehrere Leistungsprofile auf der Basis des Vergleichs zu erzeugen.
  2. System nach Anspruch 1, wobei der Prozessor ferner dazu programmiert ist, die simulierte Umgebung auf der Basis eines Maßes M zu erzeugen, wobei das Maß M einen Satz von variierenden Bedingungen für ein Fahrszenario umfasst, unter dem die Fahrleistung des autonomen Fahrzeugs bewertet wird.
  3. System nach Anspruch 2, wobei das Maß M auf einer Komplexität einer Fahrsituation, einem Stau einer Fahrsituation und/oder einem Chaos einer Fahrsituation basiert.
  4. System nach Anspruch 3, wobei die Komplexität der Fahrsituation eine Anzahl von mehreren Spurwechseln darstellt, die innerhalb eines definierten Fahrbahnsegments stattfinden sollen.
  5. System nach Anspruch 3, wobei der Stau der Fahrsituation darstellt, dass andere Fahrzeuge mit einer relativ niedrigeren Geschwindigkeitsrate mit Bezug auf eine aufgestellte Geschwindigkeitsbegrenzung fahren.
  6. System nach Anspruch 3, wobei das Chaos der Fahrsituation eine Anzahl von Spurwechseln durch andere Fahrzeuge nahe einem Trägerfahrzeug darstellt.
  7. System nach Anspruch 1, wobei der Prozessor ferner dazu programmiert ist, simulierte Sensordaten zu erzeugen, die die simulierte Umgebung darstellen.
  8. System nach Anspruch 1, wobei der Prozessor ferner dazu programmiert ist, eine Herausforderungseinstufung für jede erzeugte Fahrsituation innerhalb der simulierten Umgebung zu bestimmen.
  9. System nach Anspruch 8, wobei der Prozessor ferner dazu programmiert ist, die Herausforderungseinstufung für jede erzeugte Fahrsituation innerhalb der simulierten Umgebung während eines beschreibenden Betriebsmodus zu bestimmen.
  10. System nach Anspruch 8, wobei der Prozessor ferner dazu programmiert ist, die Herausforderungseinstufung für jede erzeugte Fahrsituation innerhalb der simulierten Umgebung während eines vorschreibenden Betriebsmodus zu bestimmen.
DE102022127006.8A 2022-04-22 2022-10-14 Bewertungssystem für autonomes fahren Pending DE102022127006A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/726,785 2022-04-22
US17/726,785 US20230339517A1 (en) 2022-04-22 2022-04-22 Autonomous driving evaluation system

Publications (1)

Publication Number Publication Date
DE102022127006A1 true DE102022127006A1 (de) 2023-11-02

Family

ID=88306552

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022127006.8A Pending DE102022127006A1 (de) 2022-04-22 2022-10-14 Bewertungssystem für autonomes fahren

Country Status (3)

Country Link
US (1) US20230339517A1 (de)
CN (1) CN116974865A (de)
DE (1) DE102022127006A1 (de)

Also Published As

Publication number Publication date
US20230339517A1 (en) 2023-10-26
CN116974865A (zh) 2023-10-31

Similar Documents

Publication Publication Date Title
DE102018120788B4 (de) Steuerungsarchitektur zur Überwachung des Zustands eines autonomen Fahrzeugs
DE102018120845B4 (de) Verfahren und Vorrichtung zum Überwachen eines autonomen Fahrzeugs
DE102020104862A1 (de) Erstellung von Inferenzmodellen für computergestützte (CA)/autonom fahrende (AD) Fahrzeuge
DE102014118079A1 (de) Erlernen des autonomen Fahrverhaltens
DE102009011259A1 (de) Fahrzeug-Fahrzeug-Positionserkennungssystem und in Beziehung stehendes Betriebsverfahren
DE102020103522A1 (de) Fahrzeugsteuerung durch fahrbahnreibung
DE102021101426A1 (de) Erkennung von fahrzeugbetriebsbedingungen
DE102020100027A1 (de) Überwachungs- und steuerinfrastruktur für fahrzeuge
DE102020130668A1 (de) Synchronisieren von erfassungssystemen
DE102022109164A1 (de) Verbessserter fahrzeugbetrieb
DE102022105584A1 (de) Dynamische verkehrsgeschwindigkeitssteuerung in echtzeit
DE102021123721A1 (de) Fahrzeugbetrieb unter verwendung eines verhaltensregelmodells
DE102021104044A1 (de) Neuronales netzwerk zur positionsbestimmung und objektdetektion
DE102022100549A1 (de) Mit einem rang versehene fehlerzustände
DE102019114595A1 (de) Intelligente fahrzeugnavigationssysteme, verfahren und steuerlogik zum ableiten von strassenabschnittgeschwindigkeitsgrenzwerten
DE102021101281A1 (de) Prioritätsfahrzeugverwaltung
DE112021002953T5 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und programm
DE102022101233A1 (de) Verkehrssimulation und strassennetzmodellierung für autonome fahrzeuge
DE102020128978A1 (de) Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern
DE102022123187A1 (de) Adaptives Reduzieren von neuronalen Netzsystemen
US10953871B2 (en) Transportation infrastructure communication and control
DE102019116962A1 (de) Transportinfrastrukturkommunikation und -steuerung
DE102020122086A1 (de) Messen von vertrauen in tiefen neuronalen netzwerken
DE102022125908A1 (de) Zielschlupfschätzung
DE102022125228A1 (de) Automatisiertes fahrsystem mit gewünschtem niveau der fahraggresivität

Legal Events

Date Code Title Description
R012 Request for examination validly filed