DE102020128433A1 - Simulation eines autonomen Fahrzeugs zur Verbesserung der Sicherheit und Zuverlässigkeit eines autonomen Fahrzeugs - Google Patents

Simulation eines autonomen Fahrzeugs zur Verbesserung der Sicherheit und Zuverlässigkeit eines autonomen Fahrzeugs Download PDF

Info

Publication number
DE102020128433A1
DE102020128433A1 DE102020128433.0A DE102020128433A DE102020128433A1 DE 102020128433 A1 DE102020128433 A1 DE 102020128433A1 DE 102020128433 A DE102020128433 A DE 102020128433A DE 102020128433 A1 DE102020128433 A1 DE 102020128433A1
Authority
DE
Germany
Prior art keywords
autonomous vehicle
data
computing device
simulation
metrics
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
DE102020128433.0A
Other languages
English (en)
Inventor
Silvio Maeta
Ankita Nugyal
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 DE102020128433A1 publication Critical patent/DE102020128433A1/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
    • 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
    • B60W50/0098Details of control systems ensuring comfort, safety or stability not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60TVEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
    • B60T17/00Component parts, details, or accessories of power brake systems not covered by groups B60T8/00, B60T13/00 or B60T15/00, or presenting other characteristic features
    • B60T17/18Safety devices; Monitoring
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/18Conjoint control of vehicle sub-units of different type or different function including control of braking systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • 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
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • 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
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • 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
    • 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
    • B60W60/0054Selection of occupant to assume driving tasks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0055Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
    • G05D1/0061Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements for transition from automatic pilot to manual pilot and vice versa
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • 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/0816Indicating performance data, e.g. occurrence of a malfunction
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B29/00Checking or monitoring of signalling or alarm systems; Prevention or correction of operating errors, e.g. preventing unauthorised operation
    • G08B29/18Prevention or correction of operating errors
    • G08B29/185Signal analysis techniques for reducing or preventing false alarms or for enhancing the reliability of the system
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • G09B9/02Simulators for teaching or training purposes for teaching control of vehicles or other craft
    • G09B9/04Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of land vehicles
    • G09B9/042Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of land vehicles providing simulation in a real vehicle
    • 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
    • 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/0019Control system elements or transfer functions
    • B60W2050/0028Mathematical models, e.g. for simulation
    • 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/0062Adapting control system settings
    • B60W2050/0063Manual parameter input, manual setting means, manual initialising or calibrating means
    • B60W2050/0064Manual parameter input, manual setting means, manual initialising or calibrating means using a remote, e.g. cordless, transmitter or receiver unit, e.g. remote keypad or mobile phone
    • 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
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/146Display means
    • 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
    • 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
    • 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/008Registering or indicating the working of vehicles communicating information to a remotely located station

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Evolutionary Computation (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Strategic Management (AREA)
  • Combustion & Propulsion (AREA)
  • Chemical & Material Sciences (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Computer Security & Cryptography (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Traffic Control Systems (AREA)

Abstract

Es wird ein System beschrieben, das eine erste Datenbank, einen Simulator und eine zweite Datenbank enthalten kann. Die erste Datenbank kann Daten speichern, die den Betrieb mindestens eines Moduls innerhalb einer Rechenvorrichtung eines autonomen Fahrzeugs anzeigen. Der Simulator kann die gespeicherten Daten aus der ersten Datenbank empfangen. Der Simulator kann basierend auf den empfangenen Daten eine Simulation des Betriebs des mindestens einen Moduls erzeugen. Der Simulator kann mindestens einen Abschnitt der Simulation identifizieren, der eine Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des autonomen Fahrzeugs anzeigt. Der Simulator kann den mindestens einen Abschnitt der Simulation analysieren, um Metriken für den mindestens einen Abschnitt der Simulation zu erzeugen. Die Metriken können dazu verwendet werden, eine weitere Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des autonomen Fahrzeugs zu vermeiden. Die zweite Datenbank kann die Metriken speichern.

Description

  • TECHNISCHES GEBIET
  • Diese Beschreibung betrifft allgemein die Erzeugung von Metriken während der Simulation des Betriebs eines oder mehrerer Module eines autonomen Fahrzeugs und die Verwendung dieser Metriken zur Verbesserung der Sicherheit und Zuverlässigkeit des autonomen Fahrzeugs.
  • STAND DER TECHNIK
  • Es existieren verschiedene Simulationstechniken zum Testen von autonomen Fahrzeugen (AFs). Bei herkömmlichen Techniken wird eine Simulation der Testumgebung erstellt, um es dem AF zu ermöglichen, Objekte in der Umgebung zu erkennen und durch verschiedene Wetterbedingungen (z. B. Regen oder Tageslicht) zu navigieren. Derartige Techniken reichen jedoch nicht aus, um die Sicherheit und Zuverlässigkeit von AFs angemessen zu verbessern. Zum Beispiel versagen traditionelle Techniken dieser Art häufig bei der Diagnose und Behandlung von (a) falscher Erzeugung von Warnungen, wenn eine Kollision des AF unwahrscheinlich ist (d. h. Falschpositive) und (b) Fehlschlägen bei der Erzeugung von Warnungen, wenn eine Kollision wahrscheinlich ist (d. h. Falschnegative). Wenn eine Übernahme bei dem Versuch erfolgt, eine Kollision zu verhindern, wird bei diesen Techniken zudem nicht beurteilt, ob eine Kollision wahrscheinlich eingetreten wäre, wenn die Übernahme nicht stattgefunden hätte, sodass oft ungenaue Warnungen erzeugt werden.
  • Figurenliste
    • 1 zeigt ein Beispiel für ein autonomes Fahrzeug (AF) mit autonomer Fähigkeit.
    • 2 veranschaulicht ein Beispiel für eine „Cloud“-Rechenumgebung.
    • 3 veranschaulicht ein Computersystem.
    • 4 zeigt ein Beispiel für die Architektur eines AF.
    • 5 zeigt ein Beispiel für Eingaben und Ausgaben, die durch ein Wahrnehmungsmodul verwendet werden können.
    • 6 zeigt ein Beispiel für ein LiDAR-System.
    • 7 zeigt das LiDAR-System im Betrieb.
    • 8 zeigt die Funktionsweise des LiDAR-Systems mit zusätzlichen Details.
    • 9 zeigt ein Blockdiagramm der Zusammenhänge zwischen Eingaben und Ausgaben eines Planungsmoduls.
    • 10 zeigt einen gerichteten Graphen, der bei der Wegplanung verwendet wird.
    • 11 zeigt ein Blockdiagramm der Eingaben und Ausgaben eines Steuermoduls.
    • 12 zeigt ein Blockdiagramm der Eingaben, Ausgaben und Komponenten einer Steuervorrichtung.
    • 13 zeigt eine Rechenumgebung zum Erzeugen von simulierten Daten, mit denen Metriken erzeugt werden, die durch die Rechenvorrichtung des AF dazu verwendet werden, das AF sicher und zuverlässig zu machen.
    • 14 zeigt einen Vorgang, um das AF sicher und zuverlässig zu machen, durch Reduzieren von durch eine Rechenvorrichtung des AF erzeugten Falschpositiven und Falschnegativen.
    • 15 zeigt ein konkretes Beispiel, das durch die Rechenvorrichtung des AF erzeugte Falschpositive vermeidet.
    • 16 zeigt ein konkretes Beispiel für die Vermeidung von Falschnegativen durch die Rechenvorrichtung des AF.
    • 17 zeigt einen Vorgang zum Erzeugen von Metriken zur Verbesserung der Genauigkeit einer zukünftigen Warnung, die eine weitere potenzielle Kollision anzeigt.
    • 18 zeigt ein Beispiel einer Computerlandschaft zum Erzeugen von Metriken zur Verbesserung der Genauigkeit einer zukünftigen Warnung, die auf eine weitere potenzielle Kollision hinweist.
  • Gleiche Referenzzeichen in verschiedenen Zeichnungen bedeuten gleiche Elemente oder Komponenten.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung werden zum Zweck der Erklärung zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis zu ermöglichen. Es wird jedoch offensichtlich, dass derartige Implementierungen ohne diese spezifischen Details umgesetzt werden können. In anderen Fällen werden bekannte Strukturen und Vorrichtungen in Blockdiagrammform dargestellt, um eine unnötige Verschleierung verschiedener Implementierungen zu vermeiden.
  • Zur leichteren Beschreibung sind in den Zeichnungen spezifische Anordnungen oder Reihenfolgen von schematischen Elementen abgebildet, wie z. B. solche, die Vorrichtungen, Module, Anweisungsblöcke und Datenelemente darstellen. Der Fachmann sollte jedoch verstehen, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht bedeuten soll, dass eine bestimmte Reihenfolge oder Sequenz der Bearbeitung oder eine Trennung der Prozesse 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 dürfen.
  • Ferner ist in den Zeichnungen, in denen Verbindungselemente, wie beispielsweise durchgezogene oder gestrichelte Linien oder Pfeile verwendet werden, um eine Verbindung, Beziehung oder Verknüpfung zwischen oder unter zwei oder mehreren anderen schematischen Elementen darzustellen, das Fehlen solcher Verbindungselemente nicht so zu verstehen, dass keine Verbindung, Beziehung oder Verknüpfung bestehen kann. Mit anderen Worten werden einige Verbindungen, Beziehungen oder Verknüpfungen zwischen Elementen in den Zeichnungen nicht dargestellt, um die Offenbarung nicht zu verschleiern. Zur leichteren Veranschaulichung wird außerdem ein einzelnes Verbindungselement verwendet, um mehrere Verbindungen, Beziehungen oder Verknüpfungen zwischen Elementen darzustellen. Wenn zum Beispiel ein Verbindungselement eine Kommunikation von Signalen, Daten oder Anweisungen darstellt, sollte der Fachmann verstehen, dass ein solches Element einen oder mehrere Signalpfade (z. B. einen Bus) darstellt, je nachdem, was erforderlich ist, um die Kommunikation zu bewirken.
  • Im Folgenden wird im Detail Bezug auf Ausführungsformen genommen, deren Beispiele in den begleitenden Zeichnungen veranschaulicht sind. In der folgenden detaillierten Beschreibung werden zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis der verschiedenen beschriebenen Ausführungsformen zu ermöglichen. Jedoch wird für einen durchschnittlichen Fachmann deutlich sein, dass die verschiedenen beschriebenen Ausführungsformen auch ohne diese spezifischen Details umgesetzt werden können. In anderen Fällen sind allgemein bekannte Verfahren, Vorgehensweisen, Komponenten, Schaltungen und Netzwerke nicht ausführlich beschrieben, um eine unnötige Verschleierung der Aspekte der Ausführungsformen zu vermeiden.
  • Im Folgenden werden mehrere Merkmale beschrieben, die jeweils unabhängig voneinander oder in einer beliebigen Kombination anderer Merkmale verwendet werden können. Allerdings kann es sein, dass ein einzelnes Merkmal keines der oben erörterten Probleme oder nur eines der oben erörterten Probleme anspricht. Einige der oben erörterten Probleme werden möglicherweise durch keines der hier beschriebenen Merkmale vollständig angesprochen. 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 gefunden werden. Ausführungsformen werden hier gemäß der folgenden Übersicht beschrieben:
    1. 1. Allgemeiner Überblick
    2. 2. Systemübersicht
    3. 3. Architektur autonomer Fahrzeuge
    4. 4. Eingaben autonomer Fahrzeuge
    5. 5. Planung autonomer Fahrzeuge
    6. 6. Steuerung autonomer Fahrzeuge
    7. 7. Simulationsumgebung zur Verbesserung der Sicherheit und Zuverlässigkeit von AFs durch Reduzieren der Erzeugung von Falschpositiven und Falschnegativen
    8. 8. Simulationsumgebung zur Verbesserung der Sicherheit und Zuverlässigkeit von AFs durch Verbesserung der Genauigkeit einer zukünftigen Warnung, die eine weitere potenzielle Kollision anzeigt
  • Allgemeiner Überblick
  • In einem Aspekt werden Daten, die durch eine Rechenvorrichtung eines autonomen Fahrzeugs (AF) gesammelt werden, dazu verwendet, eine Simulation des AF zu erzeugen. Die Simulation wird mit den gesammelten Daten verglichen, um eine Abweichung zwischen den gesammelten Daten und der Simulation zu bestimmen. In einem Beispiel kann eine solche Abweichung ein Falschpositiv durch die Rechenvorrichtung bedeuten, wobei die gesammelten Daten anzeigen, dass das AF eine bestimmte Art von Ereignis oder Szenario (z. B. potenzielle Kollision) erkannt (z. B. eine Warnung erzeugt) hat, während der simulierte Betrieb anzeigt, dass die Erkennung (z. B. Warnung) falsch ist. In einem anderen Beispiel kann eine solche Abweichung ein Falschnegativ durch die Rechenvorrichtung bedeuten, wenn die gesammelten Daten anzeigen, dass die Rechenvorrichtung eine bestimmte Art von Ereignis oder Szenario (z. B. eine potenzielle Kollision) nicht erkannt (z. B. eine Warnung angezeigt) hat, während der simulierte Betrieb dieses Ereignis oder Szenario (z. B. eine potenzielle Kollision) anzeigt. Durch Identifizieren solcher Falschpositive und Falschnegative können Metriken erzeugt werden, die verhindern, dass die Rechenvorrichtung derartige Falschpositive oder Falschnegative erzeugt.
  • Während die Erkennung des Ereignisses oder Szenarios so beschrieben wird, dass sie durch eine Warnung an den Fahrer übermittelt wird, kann es in anderen Implementierungen sein, dass die Erkennung nicht an den Fahrer übermittelt wird. Die Erkennung einer Kollision kann durch ein Kollisionsvermeidungsmodul innerhalb eines Softwarestacks des AF durchgeführt werden. Obwohl das Ereignis oder Szenario als Kollision bezeichnet wird, kann das Ereignis oder Szenario in anderen Implementierungen ein beliebiges anderes Ereignis oder Szenario sein, das durch ein beliebiges anderes Modul innerhalb des Softwarestacks erkannt wird, wie z. B. durch ein Lokalisierungsmodul, ein Planungsmodul, ein Wahrnehmungsmodul, ein Steuermodul und/oder dergleichen.
  • Dieser Aspekt bietet verschiedene Vorteile. Zum Beispiel kann die Vermeidung von Falschpositiven die Anzahl der falschen Erkennungen (z. B. Warnungen) von bevorstehenden Ereignissen oder Szenarien (z. B. Kollisionen), die durch die Rechenvorrichtung eines AF erzeugt werden, reduzieren (z. B. minimieren). Eine derartige Reduzierung der Anzahl falscher Erkennungen (z. B. Warnungen) kann die Anzahl der unnötigen Eingriffe (z. B. durch einen Fahrer oder eine Steuervorrichtung) während des Betriebs eines AF verringern. Dies erhöht die Zuverlässigkeit des AF und schafft Vertrauen in den Betrieb des AF. Darüber hinaus kann die Vermeidung von Falschnegativen sicherstellen, dass die Rechenvorrichtung des AF ein bestimmtes Ereignis oder Szenario (z. B. eine potenzielle Kollision) erkennt (z. B. Alarme erzeugt). Dadurch können unerwünschte Ereignisse oder Szenarien (z. B. Kollisionen) vorteilhaft verhindert werden. Eine derartige Verhinderung unerwünschter Ereignisse oder Szenarien (z. B. Kollisionen) kann die Sicherheit und Zuverlässigkeit des AF erhöhen.
  • In einem weiteren Aspekt werden Daten, die durch eine Rechenvorrichtung eines AF gesammelt werden, dazu verwendet, eine Simulation des AF zu erzeugen. Die Simulation wird überprüft, um einen Abschnitt der Simulation zu identifizieren, wann eine Übernahme aus einem Autopilot-Modus als Reaktion auf die Erkennung (z. B. Erzeugung einer Warnung durch die Rechenvorrichtung) eines Ereignisses oder Szenarios (z. B. einer potenziellen Kollision) erfolgte. Dieser Abschnitt der Simulation wird analysiert, um Metriken zu bestimmen, die anzeigen, ob ein Ereignis oder Szenario (z. B. eine Kollision) wahrscheinlich eingetreten wäre (d. h. die Wahrscheinlichkeit, dass ein solches Ereignis oder Szenario, wie z. B. das Eintreten einer Kollision, mehr als einen Schwellenwert aufweist), wenn die Übernahme nicht stattgefunden hätte. Diese Metriken werden an die Rechenvorrichtung übertragen, die sie dazu verwenden kann, die Genauigkeit einer zukünftigen Erkennung (z. B. einer Warnung) eines anderen Ereignisses oder Szenarios (z. B. einer weiteren potenziellen Kollision) zu verbessern.
  • Während die Erkennung des Ereignisses oder Szenarios so beschrieben wird, dass sie durch eine Warnung an den Fahrer übermittelt wird, kann es in anderen Implementierungen sein, dass die Erkennung nicht an den Fahrer übermittelt wird. Die Erkennung einer Kollision kann durch ein Kollisionsvermeidungsmodul innerhalb eines Softwarestacks des AF durchgeführt werden. Obwohl das Ereignis oder Szenario als Kollision bezeichnet wird, kann das Ereignis oder Szenario in anderen Implementierungen ein beliebiges anderes Ereignis oder Szenario sein, das durch ein beliebiges anderes Modul innerhalb des Softwarestacks erkannt wird, wie z. B. durch ein Lokalisierungsmodul, ein Planungsmodul, ein Wahrnehmungsmodul, ein Steuermodul und/oder dergleichen.
  • Dieser weitere Aspekt bietet ebenfalls verschiedene Vorteile. So wird z. B. die Genauigkeit einer zukünftigen Erkennung (z. B. einer Warnung) eines anderen Ereignisses oder Szenarios (z. B. eines potenziellen Kollision) verbessert, was wiederum die Ereignisse oder Szenarien (z. B. Kollisionen) für das AF reduziert, wodurch das AF sicherer und zuverlässiger gemacht wird. Ferner kann eine solche Erkennung (z. B. Erzeugung einer Warnung) in einigen Implementierungen eine automatische Übernahme durch ein entferntes System einleiten, was in Fällen von Vorteil sein kann, in denen kein menschlicher Fahrer vorhanden ist oder der menschliche Fahrer unaufmerksam oder unvorsichtig ist. Dies verbessert des Weiteren die Zuverlässigkeit des AF. In einigen Beispielen kann eine solche Erkennung (z. B. kann eine Warnung erzeugt werden) als Reaktion auf eine Änderung der Vitalfunktionen eines Fahrers erfolgen (was der Fall sein kann, wenn der Fahrer eine medizinische Notlage wie beispielsweise einen Herzinfarkt erleidet), sodass die Warnung eine automatische Übernahme durch ein entferntes System einleiten kann.
  • Die oben beschriebenen Aspekte sind um ein Weiteres von Vorteil. In einigen Implementierungen können die gesammelten Daten zum Beispiel Betriebsdaten für jedes AF eines beliebigen Herstellers sein, d. h. nicht unbedingt des Herstellers, der die Metriken zur Verbesserung der Zuverlässigkeit und Sicherheit dieses AF erzeugt. Auf diese Weise können Protokolle der Betriebsdaten eines durch einen beliebigen Hersteller hergestellten AF gesammelt werden, um Verbesserungen an diesem AF vorzunehmen, sodass die hier beschriebenen technischen Implementierungen der gesamten AF-Industrie zugute kommen können. Darüber hinaus kann das Simulationssystem dahingehend geändert werden, dass es jedes beliebige Modul innerhalb des Softwarestacks des AF simuliert, und ist somit nicht auf die Simulation eines oder mehrerer bestimmter Module beschränkt. Dies ermöglicht es vorteilhaft, jedes Modul in das Simulationssystem einzugliedern, ohne die Architektur des Simulationssystems zu ändern (oder wesentlich zu ändern). Die Tatsache, dass die Architektur nicht geändert werden muss, verhindert, dass ein Benutzer des Simulationssystems den Code für die Simulation neu schreiben muss, wodurch das Simulationssystem einfacher zu verwenden ist. Ferner können die hier beschriebenen Techniken von AFs auf beliebige andere Robotersysteme weiter skaliert werden, um die Zuverlässigkeit und Sicherheit solcher Robotersysteme zu verbessern.
  • Systemübersicht
  • 1 zeigt ein Beispiel für ein autonomes Fahrzeug (AF) 100, das über autonome Fähigkeit verfügt.
  • Wie hier verwendet, bezieht sich der Begriff „autonome Fähigkeit“ auf eine Funktion, ein Merkmal oder eine Einrichtung, die es ermöglicht, ein Fahrzeug teilweise oder vollständig ohne menschliches Eingreifen in Echtzeit zu betreiben, einschließlich, aber nicht beschränkt auf vollständig autonome Fahrzeuge, hochgradig autonome Fahrzeuge und bedingt autonome Fahrzeuge.
  • Wie hier verwendet, ist ein AF ein Fahrzeug, das über autonome Fähigkeiten verfügt.
  • Wie hier verwendet, umfasst „Fahrzeug“ Transportmittel für den Transport von Gütern oder Personen. Zum Beispiel Autos, Busse, Züge, Flugzeuge, Drohnen, Lastwagen, Boote, Schiffe, Tauchboote, Lenkflugkörper usw. Ein fahrerloses Kraftfahrzeug ist ein Beispiel für ein Fahrzeug.
  • Wie hier verwendet, bezieht sich „Bewegungsbahn“ auf einen Weg oder eine Strecke zum Navigieren eines AF 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 Bewegungsbahn aus einem oder mehreren Segmenten (z. B. Straßenabschnitten), und jedes Segment besteht aus einem oder mehreren Blöcken (z. B. Abschnitten eines Fahrstreifens oder einer Einmündung). In einer Ausführungsform entsprechen die räumlich-zeitlichen Orte den Orten der realen Welt. Die räumlich-zeitlichen Orte sind zum Beispiel Abhol- oder Absetz-/Lieferorte zum Abholen oder Absetzen von Personen bzw. Liefern von Gütern.
  • Wie hier verwendet, umfasst „Sensor(en)“ eine oder mehrere Hardwarekomponenten, die Informationen über die Umgebung rund um den Sensor erfassen. Einige der Hardwarekomponenten können sensorische Komponenten (z. B. Bildsensoren, biometrische Sensoren), Sende- und/oder Empfangskomponenten (z. B. Laser- oder Hochfrequenzwellensender und -empfänger), elektronische Komponenten wie Analog-DigitalWandler, eine Datenspeichervorrichtung (z. B. ein RAM und/oder ein nichtflüchtiger Speicher), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten wie eine ASIC (anwendungsspezifische integrierte Schaltung), einen Mikroprozessor und/oder einen Mikrocontroller umfassen.
  • Wie hier verwendet, ist eine „Szeneriebeschreibung“ eine Datenstruktur (z. B. Liste) oder ein Datenstrom, der ein oder mehrere klassifizierte oder gekennzeichnete Objekte enthält, die durch einen oder mehrere Sensoren auf dem AF-Fahrzeug erfasst oder durch eine AF-externe Quelle bereitgestellt werden.
  • Wie hier verwendet, ist eine „Straße“ ein physischer Bereich, der durch ein Fahrzeug befahren werden kann und einem benannten Verkehrsweg (z. B. Stadtstraße, Autobahn usw.) oder einem unbenannten Verkehrsweg (z. B. eine Einfahrt an 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. Allradlastwagen, Geländewagen, usw.) in der Lage sind, eine Vielzahl physischer Bereiche zu befahren, die nicht speziell für den Fahrzeugverkehr angepasst sind, kann eine „Straße“ ein physischer Bereich sein, der nicht formell durch eine Gemeinde oder andere Regierungs- oder Verwaltungsbehörde als Verkehrsweg definiert ist.
  • Wie hier verwendet, ist ein „Fahrstreifen“ ein Abschnitt einer Straße, der durch ein Fahrzeug befahren werden kann. Ein Fahrstreifen wird zuweilen basierend auf Fahrstreifenmarkierungen gekennzeichnet. Beispielsweise kann ein „Fahrstreifen“ dem größten Teil oder der Gesamtheit des Zwischenraums zwischen den Fahrstreifenmarkierungen oder nur einem Teil (z. B. weniger als 50 %) des Zwischenraums zwischen den Fahrstreifenmarkierungen entsprechen. Zum Beispiel könnte eine Straße mit weit auseinanderliegenden Fahrstreifenmarkierungen zwei oder mehr Fahrzeuge zwischen den Markierungen aufnehmen, sodass ein Fahrzeug das andere überholen kann, ohne die Fahrstreifenmarkierungen zu überqueren, und könnte daher so interpretiert werden, dass ein Fahrstreifen schmaler als der Zwischenraum zwischen den Fahrstreifenmarkierungen ist oder dass zwei Fahrstreifen zwischen den Fahrstreifenmarkierungen liegen. Ein Fahrstreifen könnte auch bei Fehlen von Fahrstreifenmarkierungen interpretiert werden. Beispielsweise kann ein Fahrstreifen basierend auf physischen Merkmalen einer Umgebung definiert werden, z. B. durch Felsen und Bäume entlang einer Durchgangsstraße in einem ländlichen Gebiet oder z. B. durch natürliche Hindernisse, die in einem unerschlossenen Gebiet zu vermeiden sind. Ein Fahrstreifen könnte auch unabhängig von Fahrstreifenmarkierungen oder physischen Merkmalen interpretiert werden. Beispielsweise könnte ein Fahrstreifen basierend auf einem beliebigen, hindernisfreien Weg in einem Gebiet interpretiert werden, in dem ansonsten Merkmale fehlen, die als Fahrstreifenbegrenzungen interpretiert werden würden. In einem Beispielszenario könnte ein AF einen Fahrstreifen durch einen hindernisfreien Abschnitt eines Feldes oder einer leeren Geländefläche interpretieren. In einem anderen Beispielszenario könnte ein AF einen Fahrstreifen durch eine breite (z. B. breit genug für zwei oder mehr Fahrstreifen) Straße interpretieren, die keine Fahrstreifenmarkierungen aufweist. In diesem Szenario könnte das AF Informationen über den Fahrstreifen an andere AFs übermitteln, sodass die anderen AFs die gleichen Fahrstreifeninformationen verwenden können, um die Wegplanung untereinander zu koordinieren.
  • Der Begriff „Over-the-Air(OTA)-Client“ umfasst jedes AF oder jede elektronische Vorrichtung (z. B. Computer, Steuervorrichtung, IoT-Vorrichtung, elektronisches Steuergerät (ECU)), die in ein AF eingebettet, mit einem AF gekoppelt oder in Kommunikation mit einem AF ist.
  • Der Begriff „Over-the-Air(OTA)-Aktualisierung“ bezeichnet jede Aktualisierung, Änderung, Löschung oder Hinzufügung von Software, Firmware, Daten oder Konfigurationseinstellungen oder jede Kombination davon, die an einen OTA-Client unter Verwendung firmeneigener und/oder standardisierter drahtloser Kommunikationstechnologie geliefert wird, einschließlich, aber nicht beschränkt auf: zellulare Mobilkommunikation (z. B. 2G, 3G, 4G, 5G), drahtlose Funknetze (z. B. WLAN) und/oder Satelliten-Internet.
  • Der Begriff „Edge-Knoten“ bezeichnet ein oder mehrere mit einem Netzwerk gekoppelte Edge-Vorrichtungen, die ein Portal für die Kommunikation mit AFs bieten und mit anderen Edge-Knoten und einer Cloud-basierten Computerplattform kommunizieren können, um OTA Aktualisierungen zu planen und an OTA-Clients zu liefern.
  • Der Begriff „Edge-Vorrichtung“ bedeutet eine Vorrichtung, die einen Edge-Knoten implementiert und einen physischen drahtlosen Zugangspunkt (AP) in Kernnetzwerke von Unternehmen oder Dienstanbietern (z. B. VERIZON, AT&T) bereitstellt. Beispiele für Edge-Vorrichtungen beinhalten, sind aber nicht beschränkt auf: Computer, Controller, Sender, Router, Routing-Switches, integrierte Zugangsgeräte (IADs), Multiplexer, Zugangsgeräte für Großstadtnetze (MANs) und Weitverkehrsnetze (WANs).
  • „Eine oder mehrere‟ umfasst eine Funktion, die durch ein Element ausgeführt wird, eine Funktion, die durch mehr als ein Element ausgeführt wird, z. B. auf verteilte Weise, wobei mehrere Funktionen durch ein Element ausgeführt werden, mehrere Funktionen durch mehrere Elemente ausgeführt werden, oder eine beliebige Kombination des oben Genannten.
  • Es versteht sich auch, dass die Begriffe „erste“, „zweite“ usw. hier zwar in einigen Fällen zur Beschreibung verschiedener Elemente verwendet werden, diese Elemente jedoch nicht durch diese Begriffe eingeschränkt werden sollten. Diese Begriffe werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erster Kontakt als ein zweiter Kontakt bezeichnet sein, und in ähnlicher Weise könnte ein zweiter Kontakt als ein dritter Kontakt bezeichnet sein, ohne vom Schutzbereich der verschiedenen beschriebenen Ausführungsformen abzuweichen. Der erste Kontakt und der zweite Kontakt sind beide Kontakte, aber sie sind nicht derselbe Kontakt.
  • Die Terminologie, die bei der Beschreibung der verschiedenen hier beschriebenen Ausführungsformen verwendet wird, dient nur der Beschreibung bestimmter Ausführungsformen und ist nicht als einschränkend beabsichtigt. Bei der Beschreibung der verschiedenen beschriebenen Ausführungsformen und der beigefügten Ansprüche sollen die Singularformen „ein“, „eine“ sowie „der“, „die“, „das“ auch die Pluralformen einschließen, sofern der Zusammenhang nicht eindeutig etwas anderes vorgibt. Es versteht sich auch, dass der Begriff „und/oder“ wie hier verwendet sich auf alle möglichen Kombinationen eines oder mehrerer der zugehörigen aufgelisteten Punkte bezieht und diese mit einschließt. Es versteht sich ferner, dass die Begriffe „enthalten“, „einschließlich“, „umfassen“, und/oder „umfassend“ bei Verwendung in dieser Beschreibung das Vorhandensein angegebener Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente und/oder Komponenten davon angibt, aber nicht das Vorhandensein oder die Hinzufügung eines/einer oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente, Komponenten und/oder Gruppen davon ausschließt.
  • Wie hier verwendet, ist der Begriff „falls“ gegebenenfalls so auszulegen, dass er je nach Zusammenhang „wenn“ oder „bei“ oder „als Reaktion auf das Bestimmen“ oder „als Reaktion auf das Erkennen“ bedeutet. In ähnlicher Weise ist die Formulierung „falls bestimmt wird“ oder „falls [ein angegebener Zustand oder ein Ereignis] erkannt wird“ je nach Zusammenhang gegebenenfalls so auszulegen, dass sie „beim Bestimmen“ oder „als Reaktion auf das Bestimmen“ oder „bei Erkennen [des angegebenen Zustands oder Ereignisses]“ oder „als Reaktion auf das Erkennen [des angegebenen Zustands oder Ereignisses]“ bedeutet.
  • Wie hier verwendet, bezieht sich ein AF-System auf das AF zusammen mit der Anordnung von Hardware, Software, gespeicherten Daten und in Echtzeit erzeugten Daten, die den Betrieb des AF unterstützen. In einer Ausführungsform ist das AF-System in das AF integriert. In einer Ausführungsform ist das AF-System über mehrere Orte verteilt. Zum Beispiel ist ein Teil der Software des AF-Systems auf einer Cloud-Rechenumgebung implementiert, ähnlich der Cloud-Rechenumgebung 300, die im Folgenden mit Bezug auf 3 beschrieben wird.
  • Allgemein beschreibt dieses Dokument Technologien, die auf alle Fahrzeuge anwendbar sind, die über eine oder mehrere autonome Fähigkeiten verfügen, einschließlich vollständig autonomer Fahrzeuge, hochgradig autonomer Fahrzeuge und bedingt autonomer Fahrzeuge, wie z. B. sogenannte Stufe-5-, Stufe-4- und Stufe-3-Fahrzeuge (siehe SAE International Standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (Taxonomie und Definitionen für Begriffe im Zusammenhang mit automatischen Straßen-Kraftfahrzeug-Fahrsystemen), die durch Verweis in ihrer Gesamtheit übernommen wurde, für weitere Einzelheiten über die Klassifizierung von Autonomiegraden in Fahrzeugen). Die in diesem Dokument beschriebenen Technologien sind auch auf teilautonome Fahrzeuge und fahrerunterstützte Fahrzeuge anwendbar, wie z. B. sogenannte Stufe-2- und Stufe-1-Fahrzeuge (siehe SAE International's Standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (Taxonomie und Definitionen für Begriffe im Zusammenhang mit automatisierten Straßen-Kraftfahrzeug-Fahrsystemen)). In einer Ausführungsform können eines oder mehrere der Fahrzeugsysteme der Stufen 1, 2, 3, 4 und 5 unter bestimmten Betriebsbedingungen basierend auf dem Verarbeiten von Sensoreingaben bestimmte Fahrzeugfunktionen (z B. Lenken, Bremsen und Verwenden von Karten) automatisieren. Die in diesem Dokument beschriebenen Technologien können Fahrzeugen auf allen Stufen zugute kommen, von vollständig autonomen Fahrzeugen bis hin zu durch Menschen betriebenen Fahrzeugen.
  • AFs haben Vorteile gegenüber Fahrzeugen, die einen menschlichen Fahrer erfordern. Ein Vorteil ist die Sicherheit. Zum Beispiel gab es in den Vereinigten Staaten im Jahr 2016 6 Millionen Autounfälle, 2,4 Millionen Verletzte, 40.000 Tote und 13 Millionen Unfallfahrzeuge, 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 ca. sechs auf ca. eins 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, in der vor einem Zusammenstoß gewarnt wird, 60 % der Auffahrunfälle abmildert. Allerdings haben passive Sicherheitsmerkmale (z. B. Sicherheitsgurte, Airbags) bei der Verbesserung dieser Zahl wahrscheinlich ihre Grenze erreicht. Daher sind aktive Sicherheitsmaßnahmen, wie die automatisierte Steuerung eines Fahrzeugs, der wahrscheinlich nächste Schritt zur Verbesserung dieser Statistiken. Da davon ausgegangen wird, dass bei 95 % der Unfälle menschliche Fahrer für ein kritisches Ereignis vor dem Unfall verantwortlich sind, werden automatisierte Fahrsysteme wahrscheinlich bessere Sicherheitsergebnisse erzielen, z. B. indem sie kritische Situationen besser als Menschen zuverlässig erkennen und vermeiden, bessere Entscheidungen treffen, Verkehrsgesetze befolgen und zukünftige Ereignisse besser vorhersagen als Menschen und ein Fahrzeug besser als Menschen zuverlässig steuern.
  • Mit Bezug auf 1 betreibt ein AF-System 120 das AF-System 100 entlang einer Bewegungsbahn 198 durch eine Umgebung 190 bis zu einem Zielort 199 (gelegentlich auch als Endort bezeichnet), wobei Objekte (z. B. natürliche Hindernisse 191, Fahrzeuge 193, Fußgänger 192, Radfahrer und andere Hindernisse) vermieden und Straßenregeln (z. B. Betriebsregeln oder Fahrpräferenzen) befolgt werden.
  • In einer Ausführungsform beinhaltet das AF-System 120 Vorrichtungen 101, die dazu eingerichtet sind, Betriebsbefehle aus den Computerprozessoren 146 zu empfangen und darauf zu reagieren. Wir verwenden den Begriff „Betriebsbefehl“, um eine ausführbare Anweisung (oder eine Menge von Anweisungen) zu bezeichnen, die ein Fahrzeug veranlasst, eine Maßnahme (z. B. ein Fahrmanöver) durchzuführen. Betriebsbefehle können, ohne Einschränkung, Anweisungen für ein Fahrzeug enthalten, vorwärts zu fahren, die Vorwärtsfahrt zu unterbrechen, rückwärts zu fahren, die Rückwärtsfahrt zu unterbrechen, zu beschleunigen, abzubremsen, eine Linkskurve zu fahren und eine Rechtskurve zu fahren. In einer Ausführungsform ähneln die Computerprozessoren 146 dem nachfolgend mit Bezug auf 3 beschriebenen Prozessor 304. Beispiele für Vorrichtungen 101 beinhalten eine Lenksteuerung 102, Bremsen 103, Gangschaltung, Gaspedal oder andere Beschleunigungssteuerungsmechanismen, Scheibenwischer, Seitentürschlösser, Fenstersteuervorrichtungen und Blinker.
  • In einer Ausführungsform umfasst das AF-System 120 Sensoren 121 zur Messung oder Ableitung von Zuständen oder Bedingungen des AF 100, wie z. B. die Position, die Linear- und Winkelgeschwindigkeit und -beschleunigung und die Fahrtrichtung des AF (z. B. eine Ausrichtung des vorderen Endes des AF 100). Beispiele für Sensoren 121 sind GPS, Trägheitsmesseinheiten (IMU), die sowohl lineare Fahrzeugbeschleunigungen als auch Winkelbeschleunigungen messen, Raddrehzahlsensoren zum Messen oder Schätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren sowie Lenkwinkel- und Winkelgeschwindigkeitssensoren.
  • In einer Ausführungsform umfassen die Sensoren 121 auch Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AF. Zum Beispiel Monokular- oder Stereo-Videokameras 122 im sichtbaren Licht-, Infrarot- oder Wärmespektrum (oder beiden Spektren), LiDAR 123, RADAR, Ultraschallsensoren, Time-of-Flight(TOF)-Tiefensensoren, Geschwindigkeitssensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagssensoren.
  • In einer Ausführungsform umfasst das AF-System 120 eine Datenspeichereinheit 142 und einen Speicher 144 zum Speichern von Maschinenanweisungen im Zusammenhang mit Computerprozessoren 146 oder durch Sensoren 121 gesammelten Daten. In einer Ausführungsform ähnelt die Datenspeichereinheit 142 dem ROM 308 oder der Speichervorrichtung 310, die nachfolgend mit Bezug auf 3 beschrieben werden. In einer Ausführungsform ähnelt der Speicher 144 dem nachfolgend beschriebenen Hauptspeicher 306. In einer Ausführungsform speichern die Datenspeichereinheit 142 und der Speicher 144 historische, Echtzeit- und/oder vorausschauende Informationen über die Umgebung 190. In einer Ausführungsform umfassen die gespeicherten Informationen Karten, Fahrleistungen, Aktualisierungen zu Verkehrsstaus oder Wetterbedingungen. In einer Ausführungsform werden Daten, die sich auf die Umgebung 190 beziehen, über einen Kommunikationskanal aus einer entfernt gelegenen Datenbank 134 an das AF 100 übertragen.
  • In einer Ausführungsform umfasst das AF-System 120 Kommunikationsvorrichtungen 140 zum Übermitteln gemessener oder abgeleiteter Eigenschaften von Zuständen und Bedingungen anderer Fahrzeuge wie z. B. Positionen, Linear- und Winkelgeschwindigkeiten, Linear- und Winkelbeschleunigungen sowie Linear- und Winkelfahrtrichtungen an das AF 100. Diese Vorrichtungen umfassen Fahrzeug-zu-Fahrzeug(V2V)- und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikationsvorrichtungen und Vorrichtungen für drahtlose Kommunikation über Punkt-zu-Punkt- oder Ad-hoc-Netzwerke oder beides. In einer Ausführungsform kommunizieren die Kommunikationsvorrichtungen 140 über das elektromagnetische Spektrum (einschließlich Funk- und optische Kommunikation) oder andere Medien (z. B. Luft- und akustische Medien). Eine Kombination von Fahrzeug-zu-Fahrzeug(V2V)-Kommunikation, Fahrzeug-zu-Infrastruktur(V2I)-Kommunikation (und in einigen Ausführungsformen eine oder mehrere andere Kommunikationsarten) wird mitunter als Fahrzeug-zu-alles (V2X)-Kommunikation bezeichnet. Die V2X-Kommunikation entspricht in der Regel einem oder mehreren Kommunikationsstandards für die Kommunikation mit, zwischen und unter AFs.
  • In einer Ausführungsform umfassen die Kommunikationsvorrichtungen 140 Kommunikationsschnittstellen. Zum Beispiel drahtgebundene, drahtlose, WiMAX-, Wi-Fi-, Bluetooth-, Satelliten-, Zellular-, optische, Nahfeld-, Infrarot- oder Funkschnittstellen. Die Kommunikationsschnittstellen übertragen Daten aus einer entfernt gelegenen Datenbank 134 an das AF-System 120. In einer Ausführungsform ist die entfernt gelegene Datenbank 134 wie in 2 beschrieben in eine Cloud-Rechenumgebung 200 eingebettet. Die Kommunikationsschnittstellen 140 übertragen die aus den Sensoren 121 gesammelten Daten oder andere Daten, die sich auf den Betrieb des AF 100 beziehen, an die entfernt gelegene Datenbank 134. In einer Ausführungsform übertragen die Kommunikationsschnittstellen 140 Informationen, die sich auf Teleoperationen beziehen, an das AF 100. In einigen Ausführungsformen kommuniziert das AF 100 mit anderen entfernten (z. B. „Cloud“-) Servern 136.
  • In einer Ausführungsform speichert und überträgt die entfernte Datenbank 134 auch digitale Daten (z. B. Speichern von Daten wie Straßen- und Wegestandorte). Diese Daten werden im Speicher 144 des AF 100 gespeichert oder über einen Kommunikationskanal aus der entfernten Datenbank 134 an das AF 100 übertragen.
  • In einer Ausführungsform speichert und überträgt die entfernte Datenbank 134 historische Informationen über Fahreigenschaften (z. B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten entlang der Bewegungsbahn 198 gefahren sind. In einer Ausführungsform können diese Daten im Speicher 144 des AF 100 gespeichert oder über einen Kommunikationskanal aus der entfernten Datenbank 134 an das AF 100 übertragen werden.
  • Die im AF 100 befindlichen Rechenvorrichtungen 146 erzeugen auf algorithmische Weise Steueraktionen, die sowohl auf Echtzeit-Sensordaten als auch auf vorherigen Informationen basieren, sodass das AF-System 120 seine autonomen Fahrfähigkeiten ausführen kann.
  • In einer Ausführungsform umfasst das AF-System 120 Computerperipherievorrichtungen 132, die mit Rechenvorrichtungen 146 gekoppelt sind, um Informationen und Warnungen an einen Benutzer (z. B. einen Insassen oder einen entfernten Benutzer) des AF 100 zu liefern und Eingaben von diesem zu empfangen. In einer Ausführungsform ähneln die Peripherievorrichtungen 132 der Anzeige 312, der Eingabevorrichtung 314 und der Cursorsteuervorrichtung 316, die nachfolgend mit Bezug auf 3 behandelt werden. Die Kopplung erfolgt drahtlos oder drahtgebunden. Zwei oder mehrere der Schnittstellenvorrichtungen können zu einer einzelnen Vorrichtung integriert sein.
  • In einer Ausführungsform empfängt und erzwingt das AF-System 120 die Datenschutzstufe eines Fahrgastes, die z. B. durch den Fahrgast spezifiziert oder in einem mit dem Fahrgast verknüpften Profil gespeichert ist. Die Datenschutzstufe des Fahrgastes bestimmt, wie bestimmte Informationen, die mit dem Fahrgast verknüpft sind (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 gibt die Datenschutzstufe bestimmte mit einem Fahrgast verknüpfte Informationen an, die nach Beendigung der Fahrt gelöscht werden. In einer Ausführungsform spezifiziert die Datenschutzstufe bestimmte mit einem Fahrgast verknüpfte Informationen und identifiziert eine oder mehrere Einheiten, die zum Zugriff auf die Informationen berechtigt sind. Beispiele für bestimmte Einheiten, die zum Zugriff auf Informationen berechtigt sind, können andere AFs, AF-Systeme Dritter oder jede Einheit, die potenziell auf die Informationen zugreifen könnte, beinhalten.
  • Eine Datenschutzstufe eines Fahrgastes kann auf einer oder mehreren Granularitätsstufen festgelegt sein. In einer Ausführungsform identifiziert eine Datenschutzstufe bestimmte Informationen, die zu speichern oder weiterzugeben sind. In einer Ausführungsform gilt die Datenschutzstufe für alle mit dem Fahrgast verknüpften Informationen, sodass der Fahrgast festlegen kann, dass keine seiner persönlichen Informationen gespeichert oder weitergegeben werden. Die Festlegung der Einheiten, die auf bestimmte Informationen zugreifen dürfen, kann auch auf verschiedenen Granularitätsstufen erfolgen. Verschiedene Mengen von Einheiten, denen der Zugriff auf bestimmte Informationen erlaubt ist, können z. B. andere AFs, Cloud-Server 136, bestimmte AF-Systeme von Drittanbietern usw. umfassen.
  • In einer Ausführungsform bestimmt das AF-System 120 oder der Cloud-Server 136, ob bestimmte Informationen, die mit einem Fahrgast verknüpft sind, durch das AF 100 oder eine andere Einheit abgerufen werden können. So muss z. B. ein AF-System eines Drittanbieters, das versucht, auf die Eingabe von Fahrgästen in Bezug auf einen bestimmten räumlich-zeitlichen Standort zuzugreifen, z. B. aus dem AF-System 120 oder dem Cloud-Server 136 die Genehmigung erhalten, auf die mit dem Fahrgast verknüpften Informationen zuzugreifen. Beispielsweise verwendet das AF-System 120 die festgelegte Datenschutzstufe des Fahrgastes, um zu bestimmen, ob die auf den räumlich-zeitlichen Standort bezogenen Fahrgasteingaben dem AF-System eines Drittanbieters, dem AF 100 oder einem anderen AF übermittelt werden können. Dadurch ist die Datenschutzstufe des Fahrgastes in der Lage, festzulegen, welche anderen Einheiten Daten über die Maßnahmen des Fahrgastes oder andere mit dem Fahrgast verknüpfte Daten empfangen dürfen.
  • 2 veranschaulicht ein Beispiel für eine „Cloud“-Rechenumgebung. Cloud Computing ist ein Modell zum Bereitstellen von Diensten, das einen komfortablen, bedarfsgerechten Netzwerkzugang zu einem gemeinsam genutzten Bestand konfigurierbarer Rechenressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Anwendungen, virtuelle Maschinen und Dienste) ermöglicht. In typischen Cloud-Rechensystemen sind in einem oder mehreren großen Cloud-Rechenzentren die Rechner untergebracht, die zum Erbringen der durch die Cloud bereitgestellten Dienste verwendet werden. Mit Bezug auf 2 umfasst die Cloud-Rechenumgebung 200 Cloud-Rechenzentren 204a, 204b und 204c, die über die Cloud 202 miteinander verbunden sind. Die Rechenzentren 204a, 204b und 204c bieten Cloud-Rechendienste für die mit der Cloud 202 verbundenen Rechensysteme 206a, 206b, 206c, 206d, 206e und 206f.
  • Die Cloud-Rechenumgebung 200 umfasst ein oder mehrere Cloud-Rechenzentren. Allgemein bezieht sich ein Cloud-Rechenzentrum, z. B. das in 2 dargestellte Cloud-Rechenzentrum 204a, auf die physische Anordnung von Servern, die eine Cloud, z. B. die in 2 dargestellte Cloud 202, oder einen bestimmten Abschnitt einer Cloud bilden. Beispielsweise sind die Server physisch im Cloud-Rechenzentrum in Räumen, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Rechenzentrum hat eine oder mehrere Zonen, die einen oder mehrere Räume mit Servern umfassen. Jeder Raum hat eine oder mehrere Reihen von Servern, und jede Reihe umfasst ein oder mehrere Racks. Jedes Rack umfasst einen oder mehrere einzelne Serverknoten. In einigen Ausführungen sind Server in Zonen, Räumen, Racks und/oder Reihen basierend auf den physischen Infrastrukturanforderungen der Rechenzentrumseinrichtung, die Strom, Energie, Heizung, Wärme und/oder andere Anforderungen umfassen, in Gruppen angeordnet. In einer Ausführungsform ähneln die Serverknoten dem in 3 beschriebenen Rechensystem. Das Rechenzentrum 204a weist viele Rechensysteme auf, die über viele Racks verteilt sind.
  • Die Cloud 202 umfasst die Cloud-Rechenzentren 204a, 204b und 204c sowie die Netzwerk- und Netzwerkressourcen (z. B. Netzwerkgeräte, Knoten, Router, Switches und Netzwerkkabel), die die Cloud-Rechenzentren 204a, 204b und 204c miteinander verbinden und dazu beitragen, den Zugang der Computersysteme 206a-f zu den Cloud-Rechendiensten zu ermöglichen. In einer Ausführungsform stellt das Netzwerk eine Kombination aus einem oder mehreren lokalen Netzwerken, Weitverkehrsnetzwerken oder Internetnetzwerken dar, die über drahtgebundene oder drahtlose Verbindungen mittels terrestrischer oder satellitengestützter Verbindungstechnik gekoppelt sind. Daten, die über das Netzwerk ausgetauscht werden, werden unter Verwendung einer Anzahl von Netzwerkschichtprotokollen übertragen, wie z. B. Internet Protocol (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay, usw. Fernerhin werden in Ausführungsformen, in denen das Netzwerk eine Kombination aus mehreren Teilnetzwerken darstellt, in jedem der zugrunde liegenden Teilnetzwerke unterschiedliche Netzwerkschichtprotokolle verwendet. In einigen Ausführungsformen stellt das Netzwerk ein oder mehrere miteinander verbundene Internetnetzwerke dar, wie z. B. das öffentliche Internet.
  • Die Verbraucher der Rechensysteme 206a-f oder Cloud-Rechendienste sind über Netzwerkverbindungen und Netzwerkadapter mit der Cloud 202 verbunden. In einer Ausführungsform sind die Rechensysteme 206a-f als verschiedene Rechenvorrichtungen, z. B. Server, Desktops, Laptops, Tablets, Smartphones, Geräte für das Internet der Dinge (IoT), autonome Fahrzeuge (darunter Autos, Drohnen, Pendelfahrzeuge, Züge, Busse usw.) und Verbraucherelektronik, implementiert. In einer Ausführungsform sind die Rechensysteme 206a-f in oder als Bestandteil von anderen Systemen implementiert.
  • 3 veranschaulicht ein Computersystem 300. In einer Ausführung ist das Computersystem300 eine Spezialrechenvorrichtung. Die Spezialrechenvorrichtung ist fest verdrahtet, um die Techniken auszuführen, oder umfasst digitale elektronische Vorrichtungen wie eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) oder feldprogrammierbare Gate-Arrays (FPGAs), die dauerhaft programmiert sind, um die Techniken auszuführen, oder kann einen oder mehrere Universal-Hardware-Prozessoren umfassen, die dazu programmiert sind, die Techniken gemäß Programmanweisungen in Firmware, Arbeitsspeicher, anderen Speichern oder einer Kombination davon auszuführen. Derartige Spezialcomputervorrichtungen können auch kundenspezifische fest verdrahtete Logik, ASICs oder FPGAs mit kundenspezifischer Programmierung kombinieren, um die Techniken zu erzielen. In verschiedenen Ausführungsformen sind die Spezialrechenvorrichtungen Desktopcomputersysteme, tragbare Rechensysteme, Handgeräte, Netzwerkgeräte oder sonstige Vorrichtungen, die zur Implementierung der Techniken festverdrahtete und/oder programmgesteuerte Logik enthalten.
  • In einer Ausführungsform umfasst das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Übermitteln von Informationen und einen mit einem Bus 302 gekoppelten Hardwareprozessor 304 zum Verarbeiten von Informationen. Der Hardwareprozessor 304 ist zum Beispiel ein Allzweck-Mikroprozessor. Das Computersystem300 umfasst auch einen Hauptspeicher 306, wie beispielsweise einen Direktzugriffsspeicher (RAM) oder eine andere dynamische Speichervorrichtung, die mit dem Bus 302 zum Speichern von Informationen und Anweisungen gekoppelt ist, die durch den Prozessor 304 ausgeführt werden sollen. In einer Ausführungsform wird der Hauptspeicher 306 zum Speichern von temporären Variablen oder anderen Zwischeninformationen während der Ausführung von Anweisungen durch den Prozessor 304 verwendet. Derartige in nichtflüchtigen, für den Prozessor 304 zugänglichen Speichermedien gespeicherte Anweisungen machen aus dem Computersystem300 eine Spezialmaschine, die auf das Ausführen der in den Anweisungen angegebenen Funktionen zugeschnitten ist.
  • In einer Ausführungsform umfasst das Computersystem 300 ferner einen Nur-LeseSpeicher (ROM) 308 oder eine andere statische Speichervorrichtung, die mit dem Bus 302 verbunden ist, um statische Informationen und Anweisungen für den Prozessor 304 zu speichern. Eine Speichervorrichtung 310, wie beispielsweise eine Magnetplatte, eine optische Platte, ein Solid-State-Laufwerk 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 ein Display 312, wie z. B. eine Kathodenstrahlröhre (CRT), ein Flüssigkristalldisplay (LCD), ein Plasmadisplay, ein Leuchtdioden(LED)-Display oder ein organisches Leuchtdioden(OLED)-Display, zum Anzeigen von Informationen für einen Computerbenutzer gekoppelt. Eine Eingabevorrichtung 314 mit alphanumerischen und anderen Tasten ist mit dem Bus 302 zum Übermitteln von Informationen und Befehlsauswahlen an den Prozessor 304 gekoppelt. Eine andere Art von Benutzereingabevorrichtung ist eine Cursorsteuervorrichtung 316, z. B. eine Maus, ein Trackball, ein berührungsempfindliches Display oder Cursorrichtungstasten zum Übermitteln von Richtungsinformationen und Befehlsauswahlen an den Prozessor 304 und zum Steuern der Cursorbewegung auf dem Display 312. Diese Eingabevorrichtung verfügt in der Regel über zwei Freiheitsgrade in zwei Achsen, eine erste Achse (z. B. x-Achse) und eine zweite Achse (z. B. y-Achse), mit denen die Vorrichtung Positionen in einer Ebene angeben kann.
  • Gemäß einer Ausführungsform werden die hier beschriebenen Techniken durch das Computersystem 300 als Reaktion darauf ausgeführt, dass der Prozessor 304 eine oder mehrere Sequenzen von einer oder mehreren Anweisungen ausführt, die im Hauptspeicher 306 enthalten sind. Derartige Anweisungen werden aus einem anderen Speichermedium, z. B. der Speichervorrichtung 310, in den Hauptspeicher 306 eingelesen. Die Ausführung der im Hauptspeicher 306 enthaltenen Anweisungssequenzen veranlasst den Prozessor 304, die hier beschriebenen Prozessschritte durchzuführen. In alternativen Ausführungsformen wird eine fest verdrahtete Schaltungsanordnung anstelle von oder in Kombination mit Softwareanweisungen verwendet.
  • Der Begriff „Speichermedium“, wie hier verwendet, betrifft alle nichtflüchtigen Medien, die Daten und/oder Anweisungen speichern, die eine Maschine veranlassen, auf eine spezifische Art und Weise zu arbeiten. Derartige Speichermedien umfassen nichtflüchtige Medien und/oder flüchtige Medien. Nichtflüchtige Medien umfassen z. B. optische Platten, Magnetplatten, Solid-State-Laufwerke oder dreidimensionale Kreuzpunktspeicher, wie z. B. die Speichervorrichtung 310. Flüchtige Medien umfassen dynamische Speicher, wie beispielsweise den Hauptspeicher 306. Übliche Formen von Speichermedien umfassen zum Beispiel eine Floppy-Disk, eine Diskette, eine Festplatte, ein Solid-State-Laufwerk, ein Magnetband oder jedes andere magnetische Datenspeichermedium, einen CD-ROM, ein beliebiges anderes optisches Datenspeichermedium, ein beliebiges physisches Medium mit Lochmustern, einen RAM, einen PROM und EPROM, einen FLASH-EPROM, NV-RAM, oder einen beliebigen anderen Speicherchip oder eine Speicherkassette.
  • Speichermedien unterscheiden sich von Übertragungsmedien, können aber zusammen mit diesen verwendet werden. Übertragungsmedien sind am Übertragen von Informationen zwischen Speichermedien beteiligt. Zum Beispiel umfassen Übertragungsmedien Koaxialkabel, Kupferdraht und Lichtwellenleiter, einschließlich der Leitungen, die den Bus 302 umfassen. Übertragungsmedien können auch die Form von akustischen Wellen oder Lichtwellen annehmen, wie etwa jene, die bei Funkwellen- und Infrarotdatenkommunikation erzeugt werden.
  • In einer Ausführungsform sind verschiedene Formen von Medien am Transportieren von einer oder mehreren Sequenzen von einer oder mehreren Anweisungen an den Prozessor 304 zur Ausführung beteiligt. Zum Beispiel werden die Anweisungen zuerst auf einer Magnetplatte oder einem Solid-State-Laufwerk eines entfernten Computers getragen. Der entfernte Computer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen unter Verwendung eines Modems über eine Telefonleitung. Ein am Computersystem300 lokal vorhandenes 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 transportierten Daten, und eine entsprechende Schaltungsanordnung stellt die Daten auf den Bus 302. Der Bus 302 transportiert die Daten an den Hauptspeicher 306, aus dem der Prozessor 304 die Anweisungen abruft und ausführt. Die durch den Hauptspeicher 306 empfangenen Anweisungen können gegebenenfalls entweder vor oder nach dem Ausführen durch den Prozessor 304 auf der Speichervorrichtung 310 gespeichert werden.
  • Das Computersystem 300 umfasst auch eine Kommunikationsschnittstelle 318, die mit dem Bus 302 gekoppelt ist. Die Kommunikationsschnittstelle 318 stellt eine bidirektionale Datenkommunikationskopplung mit einer Netzwerkverbindung 320 bereit, die mit einem lokalen Netzwerk 322 verbunden ist. Die Kommunikationsschnittstelle 318 ist zum Beispiel eine Integrated Services Digital Network(ISDN)-Karte, ein Kabelmodem, Satellitenmoden oder ein Modem zum Bereitstellen einer Datenkommunikationsverbindung mit einem entsprechenden Typ einer Telefonleitung. Als weiteres Beispiel ist die Kommunikationsschnittstelle 318 eine Karte eines lokalen Netzwerks (LAN), um eine Datenkommunikationsverbindung zu einem kompatiblen LAN bereitzustellen. In einigen Implementierungen sind auch drahtlose Verbindungen implementiert. Bei jeder derartigen Implementierung sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme transportieren, die verschiedene Arten von Informationen darstellen.
  • Die Netzwerkverbindung 320 stellt typischerweise eine Datenkommunikation über ein oder mehrere Netzwerke zu anderen Datenvorrichtungen bereit. Zum Beispiel stellt die Netzwerkverbindung 320 eine Verbindung durch das lokale Netzwerk 322 zu einem Host-Computer 324 oder zu einem Cloud-Rechenzentrum oder Geräten bereit, die durch einen Internetdienstanbieter (ISP) 326 betrieben werden. Der ISP 326 stellt wiederum Datenkommunikationsdienste über das weltweite paketorientierte Datenkommunikationsnetzwerk bereit, das jetzt allgemein als das „Internet“ 328 bezeichnet wird. Sowohl das lokale Netzwerk 322 als auch das Internet 328 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme transportieren. Die Signale über die verschiedenen Netzwerke und die Signale auf der Netzwerkverbindung 320 und über die Kommunikationsschnittstelle 318, die die digitalen Daten an das und aus dem Computersystem300 transportieren, sind Beispielformen von Übertragungsmedien. In einer Ausführungsform enthält das Netzwerk 320 die Cloud 202 oder einen Teil der oben beschriebenen Cloud 202.
  • Das Computersystem 300 sendet Nachrichten und empfängt Daten einschließlich Programmcode über das/die Netzwerk(e), die Netzwerkverbindung 320 und die Kommunikationsschnittstelle 318. In einer Ausführungsform empfängt das Computersystem300 einen Code zum Verarbeiten. Der empfangene Code wird sofort beim Empfang durch den Prozessor 304 ausgeführt und/oder auf der Speichervorrichtung 310 oder einem anderen nichtflüchtigen Speicher zum späteren Ausführen gespeichert.
  • Architektur autonomer Fahrzeuge
  • 4 zeigt eine Beispielarchitektur 400 für ein autonomes Fahrzeug (z. B. das in 1 gezeigte AF 100). Die Architektur 400 umfasst ein Wahrnehmungsmodul 402 (mitunter als Wahrnehmungsschaltung bezeichnet), ein Planungsmodul 404 (mitunter als Planungsschaltung bezeichnet), ein Steuermodul 406 (mitunter als Steuerschaltung bezeichnet), ein Lokalisierungsmodul 408 (mitunter als Lokalisierungsschaltung bezeichnet) und ein Datenbankmodul 410 (mitunter als Datenbankschaltung bezeichnet). Jedes Modul spielt eine Rolle beim Betrieb des AF 100. Die Module 402, 404, 406, 408 und 410 können zusammen Bestandteil des in 1 gezeigten AF-Systems 120 sein. In einigen Ausführungsformen sind die Module 402, 404, 406, 408 und 410 eine Kombination aus Computersoftware (z. B. ausführbarem Code, der auf einem computerlesbaren Medium gespeichert ist) und Computerhardware (z. B. ein oder mehrere Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltungen [ASICs], Hardware-Speichervorrichtungen, andere Arten von integrierten Schaltungen, andere Arten von Computerhardware oder eine Kombination von einem oder allen dieser Dinge). Jedes der Module 402, 404, 406, 408 und 410 wird gelegentlich als Verarbeitungsschaltung bezeichnet (z. B. Computer-Hardware, ComputerSoftware oder eine Kombination aus beiden). Eine Kombination aus einem oder allen Modulen 402, 404, 406, 408 und 410 ist ebenfalls ein Beispiel für eine Verarbeitungsschaltung.
  • Beim Betrieb empfängt das Planungsmodul 404 Daten, die einen Zielort 412 darstellen, und ermittelt Daten, die eine Bewegungsbahn 414 (mitunter auch als Route bezeichnet) darstellen, die durch das AF 100 gefahren werden kann, um den Zielort 412 zu erreichen (z. B. am Zielort anzukommen). Damit das Planungsmodul 404 die die Bewegungsbahn 414 darstellenden Daten bestimmen kann, empfängt das Planungsmodul 404 Daten aus dem Wahrnehmungsmodul 402, dem Lokalisierungsmodul 408 und dem Datenbankmodul 410.
  • Das Wahrnehmungsmodul 402 identifiziert nahegelegene physische Objekte mittels eines oder mehrerer Sensoren 121, z. B. wie ebenfalls in 1 dargestellt. Die Objekte werden klassifiziert (z. B. gruppiert in Arten wie Fußgänger, Fahrrad, Kraftfahrzeug, Verkehrszeichen usw.), und eine Szeneriebeschreibung einschließlich der klassifizierten Objekte 416 wird dem Planungsmodul 404 zur Verfügung gestellt.
  • Das Planungsmodul 404 empfängt auch Daten, die die AF-Position 418 darstellen, aus dem Lokalisierungsmodul 408. Das Lokalisierungsmodul 408 bestimmt die AF-Position unter Verwendung von Daten aus den Sensoren 121 und Daten aus dem Datenbankmodul 410 (z. B. geografische Daten), um eine Position zu berechnen. Zum Beispiel verwendet das Lokalisierungsmodul 408 Daten aus einem GNSS(Globales Navigationssatellitensystem)-Sensor und geografische Daten, um einen Längen- und Breitengrad des AF zu berechnen. In einer Ausführungsform umfassen die durch das Lokalisierungsmodul 408 verwendeten Daten hochpräzise Karten der geometrischen Eigenschaften der Fahrwege, Karten, die die Verbindungseigenschaften des Straßennetzes beschreiben, Karten, die die physischen Eigenschaften der Straßen beschreiben (wie z. B. die Verkehrsgeschwindigkeit, das Verkehrsaufkommen, die Anzahl der Fahrstreifen für den Auto- und Fahrradverkehr, die Fahrstreifenbreite, die Fahrstreifenrichtungen oder die Arten und Orte von Fahrstreifenmarkierungen oder Kombinationen davon), und 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 mittels automatischer oder manueller Beschriftung zu Karten mit geringer Präzision erstellt.
  • Das Steuermodul 406 empfängt die Daten der Bewegungsbahn 414 und die Daten der AF-Position 418 und führt die Steuerfunktionen 420a-c (z. B. Lenken, Drosselklappenbetätigung, Bremsen, Zündung) des AF so aus, dass das AF 100 auf der Bewegungsbahn 414 bis zum Zielort 412 fährt. Falls z. B. die Bewegungsbahn 414 eine Linkskurve enthält, führt das Steuermodul 406 die Steuerfunktionen 420a-c so aus, dass der Lenkwinkel der Lenkfunktion das AF 100 zum Linksabbiegen veranlasst und das Betätigen der Drosselklappe und Bremsen das AF 100 zum Anhalten und Warten auf passierende Fußgänger oder entgegenkommende Fahrzeuge veranlasst, bevor das Abbiegen durchgeführt wird.
  • Eingaben autonomer Fahrzeuge
  • 5 zeigt ein Beispiel für die Eingaben 502a-d (z. B. Sensoren 121 in 1) und Ausgaben 504a-d (z. B. Sensordaten), die durch das Wahrnehmungsmodul 402 (4) verwendet werden. Eine Eingabe 502a ist ein LiDAR(„Light Detection and Ranging“)-System (z. B. LiDAR 123 wie in 1 gezeigt). LiDAR ist eine Technologie, die Licht (z. B. Lichtblitze wie Infrarotlicht) verwendet, um Daten über physische Objekte in Sichtlinie zu erhalten. Ein LiDAR-System erzeugt LiDAR-Daten als Ausgabe 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.
  • Eine weitere Eingabe 502b ist ein RADAR-System. RADAR ist eine Technologie, die Funkwellen verwendet, um Daten über nahe gelegene physische Objekte zu erhalten. RADAR-Systeme können Daten über Objekte erhalten, die sich nicht in Sichtlinie eines LiDAR-Systems befinden. Ein RADAR-System 502b erzeugt RADAR-Daten als Ausgabe 504b. Zum Beispiel sind RADAR-Daten ein oder mehrere elektromagnetische Hochfrequenzsignale, die zur Konstruktion einer Darstellung der Umgebung 190 verwendet werden.
  • Eine weitere Eingabe 502c ist ein Kamerasystem. Ein Kamerasystem verwendet eine oder mehrere Kameras (z. B. Digitalkameras, die einen Lichtsensor wie ein ladungsgekoppeltes Bauelement [CCD] verwenden), um Informationen über nahe gelegene physische Objekte zu erhalten. Ein Kamerasystem erzeugt Kameradaten als Ausgabe 504c. Kameradaten liegen häufig in Form von Bilddaten vor (z. B. Daten in einem Bilddatenformat wie RAW, JPEG, PNG usw.). In einigen Beispielen verfügt das Kamerasystem über mehrere unabhängige Kameras, z. B. zwecks Stereopsis (Stereosehen), wodurch das Kamerasystem in der Lage ist, die Tiefe wahrzunehmen. Obwohl die durch das Kamerasystem wahrgenommenen Objekte hier als „nah“ beschrieben werden, gilt dies relativ zum AF. Beim Betrieb kann das Kamerasystem dazu ausgelegt sein, weit entfernte Objekte zu „sehen“, z. B. bis zu einem Kilometer oder mehr vor dem AF. Dementsprechend kann das Kamerasystem über Merkmale wie Sensoren und Objektive verfügen, die für die Wahrnehmung weit entfernter Objekte optimiert sind.
  • Eine weitere Eingabe 502d ist ein Ampelerkennungs(AE)-System. Ein AE-System verwendet eine oder mehrere Kameras, um Informationen über Ampeln, Straßenschilder und andere physische Objekte zu erhalten, die visuelle Navigationsinformationen liefern. Ein AE-System erzeugt AE-Daten als Ausgabe 504d. AE-Daten liegen häufig in Form von Bilddaten vor (z. B. Daten in einem Bilddatenformat wie RAW, JPEG, PNG usw.). Ein AE-System unterscheidet sich von einem System mit einer Kamera dadurch, dass bei einem AE-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 visuelle Navigationsinformationen liefern, sodass das AF 100 Zugriff auf alle relevanten Navigationsinformationen hat, die durch diese Objekte bereitgestellt werden. Beispielsweise kann der Sichtwinkel des AE-Systems ca. 120 Grad oder mehr betragen.
  • In einigen Ausführungsformen werden die Ausgänge 504a-d mittels einer Sensorfusionstechnik kombiniert. So werden entweder die einzelnen Ausgaben 504a-d anderen Systemen des AF 100 (z. B. einem Planungsmodul 404 wie in 4 dargestellt) zur Verfügung gestellt, oder die kombinierte Ausgabe kann den anderen Systemen entweder in Form einer einzelnen kombinierten Ausgabe oder mehrerer kombinierter Ausgaben derselben Art (z. B. unter Verwendung derselben Kombinationstechnik oder Kombination derselben Ausgaben oder beides) oder unterschiedlicher Arten (z. B. unter Verwendung jeweils unterschiedlicher Kombinationstechniken oder Kombination jeweils unterschiedlicher Ausgaben oder beides) zur Verfügung gestellt werden. In einigen Ausführungsformen wird eine frühzeitige Fusionstechnik verwendet. Eine frühzeitige Fusionstechnik zeichnet sich dadurch aus, dass die Ausgaben kombiniert werden, bevor ein oder mehrere Datenverarbeitungsschritte auf die kombinierte Ausgabe angewendet werden. In einigen Ausführungsformen wird eine späte Fusionstechnik verwendet. Eine späte Fusionstechnik zeichnet sich dadurch aus, dass die Ausgaben kombiniert werden, nachdem ein oder mehrere Datenverarbeitungsschritte auf die einzelnen Ausgaben angewendet wurden.
  • 6 zeigt ein Beispiel für ein LiDAR-System 602 (z. B. die in 5 gezeigte Eingabe 502a). Das LiDAR-System 602 emittiert Licht 604a-c aus einem Lichtsender 606 (z. B. einem Lasersender). Das durch ein LiDAR-System emittierte Licht liegt in der Regel 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 wird zurück zum LiDAR-System 602 reflektiert. (Das durch ein LiDAR-System emittierte Licht durchdringt normalerweise keine physischen Objekte, z. B. physische Objekte in fester Form.) Das LiDAR-System 602 verfügt auch über einen oder mehrere Lichtdetektoren 610, die das reflektierte Licht detektieren. In einer Ausführungsform erzeugen ein oder mehrere mit dem LiDAR-System verknüpfte Datenverarbeitungssysteme ein Bild 612, das das Sichtfeld 614 des LiDAR-Systems darstellt. Das Bild 612 enthält 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 AF zu bestimmen.
  • 7 zeigt das LiDAR-System 602 im Betrieb. In dem in dieser Figur dargestellten Szenario empfängt das AF 100 sowohl die Kamerasystemausgabe 504c in Form eines Bildes 702 als auch die LiDAR-Systemausgabe 504a in Form von LiDAR-Datenpunkten 704. Beim Betrieb vergleicht das Datenverarbeitungssystem des AF 100 das Bild 702 mit den Datenpunkten 704. Insbesondere wird ein im Bild 702 identifiziertes physisches Objekt 706 ebenfalls unter den Datenpunkten 704 identifiziert. Auf diese Weise nimmt das AF 100 die Begrenzungen des physischen Objekts anhand der Kontur und Dichte der Datenpunkte 704 wahr.
  • 8 zeigt die Funktionsweise des LiDAR-Systems 602 mit zusätzlichen Details. Wie oben beschrieben, erkennt das AF 100 die Begrenzung eines physischen Objekts anhand der Merkmale der durch das LiDAR-System 602 erfassten Datenpunkte. Wie in 8 gezeigt, reflektiert ein ebenes Objekt, wie z. B. der Boden 802, das durch ein LiDAR-System 602 emittierte Licht 804a-d auf konsistente Weise. Anders ausgedrückt, da das LiDAR-System 602 Licht in gleichmäßigen Abständen emittiert, reflektiert der Boden 802 das Licht mit dem gleichen konsistenten Abstand zum LiDAR-System 602 zurück. Während sich das AF 100 über den Boden 802 bewegt, erkennt das LiDAR-System 602 weiterhin das durch den nächsten gültigen Bodenpunkt 806 reflektierte Licht, falls nichts die Straße versperrt. Falls jedoch ein Objekt 808 die Straße versperrt, wird das durch das LiDAR-System 602 emittierte Licht 804e-f von den Punkten 810a-b in einer Weise reflektiert, die nicht mit der erwarteten Gleichmäßigkeit übereinstimmt. Aus diesen Informationen kann das AF 100 bestimmen, dass das Objekt 808 vorhanden ist.
  • Wegplanung
  • 9 zeigt in einem Blockdiagramm 900 die Zusammenhänge zwischen Ein- und Ausgaben eines Planungsmoduls 404 (z. B. wie in 4 gezeigt). Allgemein ist die Ausgabe eines Planungsmoduls 404 eine Route 902 aus einem Startpunkt 904 (z. B. Quellort oder Anfangsort) und einem Endpunkt 906 (z. B. Ziel- oder Endort). Die Route 902 ist in der Regel durch ein oder mehrere Segmente definiert. Ein Segment ist zum Beispiel eine Entfernung, die mindestens über einen Abschnitt einer Straße, einer Landstraße, einer Autobahn, einer Einfahrt oder eines anderen für den Autoverkehr geeigneten physischen Bereichs zurückzulegen ist. In einigen Beispielen, z. B. falls das AF 100 ein geländegängiges Fahrzeug wie z. B. ein vierradgetriebener (4WD) oder allradgetriebener (AWD) PKW, SUV, Lieferwagen o. ä. ist, umfasst die Route 902 „geländegängige“ Segmente wie unbefestigte Wege oder offene Felder.
  • Zusätzlich zur Route 902 gibt ein Planungsmodul auch Daten zur Routenplanung auf Fahrstreifenebene 908 aus. Die Routenplanungsdaten auf Fahrstreifenebene 908 werden verwendet, um Segmente der Route 902 basierend auf den Bedingungen des Segments zu einem bestimmten Zeitpunkt zu durchfahren. Falls die Route 902 beispielsweise eine Autobahn mit mehreren Fahrstreifen umfasst, enthalten die Routenplanungsdaten auf Fahrstreifenebene 908 die Bewegungsbahnplanungsdaten 910, die das AF 100 verwenden kann, um einen Fahrstreifen unter den mehreren Fahrstreifen auszuwählen, z. B. in Abhängigkeit davon, ob sich eine Ausfahrt nähert, ob eine oder mehrere der Fahrstreifen andere Fahrzeuge aufweisen oder aufgrund anderer Faktoren, die im Laufe weniger Minuten oder weniger variieren. In ähnlicher Weise enthalten in einigen Implementierungen die Routenplanungsdaten auf Fahrstreifenebene 908 auch Geschwindigkeitsbeschränkungen 912, die spezifisch für ein Segment der Route 902 gelten. Falls das Segment zum Beispiel Fußgänger oder unerwarteten Verkehr enthält, können die Geschwindigkeitsbeschränkungen 912 das AF 100 auf eine Fahrgeschwindigkeit beschränken, die langsamer als eine erwartete Geschwindigkeit ist, z. B. eine Geschwindigkeit, die auf den Geschwindigkeitsbegrenzungsdaten für das Segment basiert.
  • In einer Ausführungsform umfassen die Eingaben an das Planungsmodul 404 auch die Datenbankdaten 914 (z. B. aus dem in 4 dargestellten Datenbankmodul 410), die aktuellen Standortdaten 916 (z. B. die in 4 dargestellte AF-Position 418), die Zielortdaten 918 (z. B. für den in 4 dargestellten Zielort 412) und die Objektdaten 920 (z. B. die klassifizierten Objekte 416, die durch das Wahrnehmungsmodul 402 wahrgenommen werden, wie in 4 gezeigt). In einigen Ausführungsformen enthalten die Daten der Datenbank 914 Regeln, die bei der Planung verwendet werden. Regeln werden durch eine formale Sprache spezifiziert, z. B. durch boolesche Logik. In jeder Situation, in der sich das AF 100 befindet, sind mindestens einige der Regeln auf die Situation anwendbar. Eine Regel gilt für eine gegebene Situation, falls die Regel Bedingungen enthält, die basierend auf den dem AF 100 zur Verfügung stehenden Informationen, z. B. Informationen über die Umgebung, erfüllt sind. Regeln können eine Priorität aufweisen. Beispielsweise kann eine Regel, die besagt: „Falls die Straße eine Autobahn ist, auf den äußerst linken Fahrstreifen wechseln“, eine niedrigere Priorität als „Falls die Ausfahrt sich innerhalb von 2 Kilometern nähert, auf den äußerst rechten Fahrstreifen wechseln“ aufweisen.
  • 10 zeigt einen gerichteten Graphen 1000, der bei der Wegplanung z. B. durch das Planungsmodul 404 verwendet wird (4). Allgemein wird ein gerichteter Graph 1000 wie der in 10 gezeigte verwendet, um einen Weg zwischen einem beliebigen Startpunkt 1002 und 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 (z. B. zwei Einmündungen, die an einen Stadtblock angrenzen oder zwei Fahrstreifen einer Straße mit mehreren Fahrstreifen) sein.
  • In einer Ausführungsform hat der gerichtete Graph 1000 Knoten 1006a-d, die verschiedene Orte zwischen dem Startpunkt 1002 und dem Endpunkt 1004 darstellen, die durch ein AF 100 belegt werden könnten. In einigen Beispielen, z. B. wenn der Startpunkt 1002 und der Endpunkt 1004 verschiedene Ballungsräume darstellen, stellen die Knoten 1006a-d Straßensegmente dar. In einigen Beispielen, z. B. wenn der Startpunkt 1002 und der Endpunkt 1004 verschiedene Orte auf derselben Straße darstellen, stellen die Knoten 1006a-d verschiedene Positionen auf dieser Straße dar. Auf diese Weise enthält der gerichtete Graph 1000 Informationen in unterschiedlicher Granularität. In einer Ausführungsform ist ein gerichteter Graph mit hoher Granularität auch ein Teilgraph eines anderen gerichteten Graphen mit einem größeren Maßstab. Zum Beispiel hat ein gerichteter Graph, bei dem der Startpunkt 1002 und der Endpunkt 1004 weit entfernt sind (z. B. viele Kilometer auseinander liegend), 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 Abschnitt des Graphen, der physische Orte im Sichtfeld des AF 100 darstellt.
  • Die Knoten 1006a-d unterscheiden sich von den Objekten 1008a-b, die sich nicht mit einem Knoten überlappen können. In einer Ausführungsform, wenn die Granularität gering ist, stellen die Objekte 1008a-b Regionen dar, die nicht mit dem Auto befahren werden können, z. B. Gebiete, die keine Straßen oder Wege aufweisen. Bei hoher Granularität stellen die Objekte 1008a-b physische Objekte im Sichtfeld des AF 100 dar, z. B. andere Kraftfahrzeuge, Fußgänger oder andere Objekte, mit denen das AF 100 den physischen Raum nicht 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ßenlampe oder ein Strommast) oder dynamische Objekte (z. B. ein Objekt, das seine Position ändern kann, wie ein Fußgänger oder ein anderes Kraftfahrzeug).
  • Die Knoten 1006a-d sind durch die Kanten 1010a-c verbunden. Falls zwei Knoten 1006a-b durch eine Kante 1010a verbunden sind, ist es möglich, dass ein AF 100 zwischen dem einen Knoten 1006a und dem anderen Knoten 1006b fahren kann, z. B. ohne zu einem Zwischenknoten fahren zu müssen, bevor es am anderen Knoten 1006b ankommt. (Wenn wir von einem zwischen Knoten fahrenden AF 100 sprechen, meinen wir, dass sich das AF 100 zwischen den beiden physischen Positionen bewegt, die durch die jeweiligen Knoten dargestellt werden.) Die Kanten 1010a-c sind oft bidirektional, in dem Sinne, dass ein AF 100 von einem ersten Knoten zu einem zweiten Knoten oder vom zweiten Knoten zum ersten Knoten fährt. In einer Ausführungsform sind die Kanten 1010a-c unidirektional, in dem Sinne, dass ein AF 100 von einem ersten Knoten zu einem zweiten Knoten fahren kann, das AF 100 jedoch nicht vom zweiten Knoten zum ersten Knoten fahren kann. Die Kanten 1010a-c sind unidirektional, wenn sie z. B. Einbahnstraßen, einzelne Fahrstreifen einer Straße, eines Weges oder einer Landstraße oder andere Merkmale darstellen, die aufgrund rechtlicher oder physischer Beschränkungen nur in einer Richtung befahren werden können.
  • In einer Ausführungsform verwendet das Planungsmodul 404 den gerichteten Graphen 1000 zum Identifizieren eines Weges 1012, der aus Knoten und Kanten zwischen dem Startpunkt 1002 und dem Endpunkt 1004 besteht.
  • Eine Kante 1010a-c ist mit einem Aufwand 1014a-b verknüpft. Der Aufwand 1014ab ist ein Wert, der die Ressourcen darstellt, die aufgewendet werden, falls das AF 100 diese Kante auswählt. Eine typische Ressource ist die Zeit. Falls zum Beispiel eine Kante 1010a eine physische Entfernung darstellt, die doppelt so groß wie die einer anderen Kante 1010b ist, kann der zugehörige Aufwand 1014a der ersten Kante 1010a doppelt so groß wie der zugehörige Aufwand 1014b der zweiten Kante 1010b sein. Andere Faktoren, die sich auf die Zeit auswirken, sind der erwartete Verkehr, die Anzahl der Einmündungen, Geschwindigkeitsbegrenzungen usw. Eine weitere typische Ressource ist der Kraftstoffverbrauch. Zwei Kanten 1010a-b können die gleiche physische Entfernung darstellen, aber eine Kante 1010a kann mehr Kraftstoff erfordern als eine andere Kante 1010b, z. B. aufgrund von Straßenbedingungen, voraussichtlichem Wetter usw.
  • Wenn das Planungsmodul 404 einen Weg 1012 zwischen dem Startpunkt 1002 und dem Endpunkt 1004 identifiziert, wählt das Planungsmodul 404 in der Regel einen aufwandsoptimierten Weg, z. B. den Weg mit dem geringsten Gesamtaufwand, wenn die einzelnen Aufwände der Kanten addiert werden.
  • Steuerung autonomer Fahrzeuge
  • 11 zeigt in einem Blockdiagramm 1100 die Ein- und Ausgaben eines Steuermoduls 406 (z. B. wie in 4 gezeigt). Ein Steuermodul arbeitet gemäß einer Steuervorrichtung 1102, die z. B. einen oder mehrere Prozessoren (z. B. einen oder mehrere Computerprozessoren wie Mikroprozessoren oder Mikrocontroller oder beides) ähnlich dem Prozessor 304, einen Kurzzeit- und/oder Langzeitdatenspeicher (z. B. Direktzugriffsspeicher oder Flashspeicher oder beides) ähnlich dem Hauptspeicher 306, ROM 308 und Speichervorrichtung 310 und im Speicher gespeicherte Anweisungen enthält, die Operationen der Steuervorrichtung 1102 durchführen, wenn die Anweisungen ausgeführt werden (z. B. durch den einen oder die mehreren Prozessoren).
  • In einer Ausführungsform empfängt die Steuervorrichtung 1102 Daten, die eine gewünschte Ausgabe 1104 darstellen. Die gewünschte Ausgabe 1104 umfasst in der Regel eine Geschwindigkeit und eine Fahrtrichtung. Die gewünschte Ausgabe 1104 kann z. B. auf Daten basieren, die aus einem Planungsmodul 404 empfangen wurden (z. B. wie in 4 gezeigt). Die Steuervorrichtung 1102 erzeugt gemäß der gewünschten Ausgabe 1104 Daten, die als Drosselklappeneingabe 1106 und als Lenkungseingabe 1108 verwendet werden können. Die Drosselklappeneingabe 1106 stellt die Größe dar, in der die Drosselklappe (z. B. Beschleunigungssteuerung) eines AF 100 zu betätigen ist, z. B. durch Betätigen des Lenkpedals oder durch Betätigen einer anderen Drosselklappensteuerung, um die gewünschte Ausgabe 1104 zu erreichen. In einigen Beispielen umfasst die Drosselklappeneingabe 1106 auch Daten, die zum Betätigen der Bremse (z. B. Verlangsamungssteuerung) des AF 100 verwendet werden können. Die Lenkungseingabe 1108 stellt einen Lenkwinkel dar, z. B. den Winkel, in dem die Lenksteuerung (z. B. Lenkrad, Lenkwinkelsteller oder eine andere Funktion zur Steuerung des Lenkwinkels) des AF positioniert werden sollte, um die gewünschte Ausgabe 1104 zu erreichen.
  • In einer Ausführungsform empfängt die Steuervorrichtung 1102 eine Rückmeldung, die bei der Anpassung der für die Drosselklappe und Lenkung bereitgestellten Eingaben verwendet wird. Falls beispielsweise das AF 100 auf ein Hindernis 1110 wie z. B. einen Hügel trifft, wird die gemessene Geschwindigkeit 1112 des AF 100 unter die gewünschte Ausgabegeschwindigkeit abgesenkt. In einer Ausführungsform wird der Steuervorrichtung 1102 eine Messwertausgabe 1114 zur Verfügung gestellt, sodass die nötigen Anpassungen, z. B. basierend auf der Differenz 1113 zwischen der gemessenen Geschwindigkeit und der gewünschten Ausgabe, durchgeführt werden. Die gemessene Ausgabe 1114 umfasst die gemessene Position 1116, die gemessene Geschwindigkeit 1118 (einschließlich Drehzahl und Fahrtrichtung), die gemessene Beschleunigung 1120 und andere durch Sensoren des AF 100 messbare Ausgaben.
  • In einer Ausführungsform werden Informationen über die Störung 1110 im Voraus erkannt, z. B. durch einen Sensor wie eine Kamera oder einen LiDAR-Sensor, und einem vorausschauenden Rückmeldemodul 1122 zur Verfügung gestellt. Das vorausschauende Rückmeldemodul 1122 liefert dann Informationen an die Steuervorrichtung 1102, die die Steuervorrichtung 1102 zur entsprechenden Anpassung verwenden kann. Falls zum Beispiel die Sensoren des AF 100 einen Hügel erkennen („sehen“), können diese Informationen durch die Steuervorrichtung 1102 genutzt werden, um sich darauf vorzubereiten, die Drosselklappe zum geeigneten Zeitpunkt zu betätigen, um eine wesentliche Verlangsamung zu vermeiden.
  • 12 zeigt ein Blockdiagramm 1200 der Eingaben, Ausgaben und Komponenten der Steuervorrichtung 1102. Die Steuervorrichtung 1102 weist einen Geschwindigkeitsprofilersteller 1202 auf, der den Betrieb einer Drosselklappen-/Bremssteuervorrichtung 1204 beeinflusst. Beispielsweise weist der Geschwindigkeitsprofilersteller 1202 die Drosselklappen-/Bremssteuervorrichtung 1204 an, eine Beschleunigung oder Verlangsamung unter Verwendung der Drosselklappe/Bremse 1206 einzuleiten, abhängig z. B. von der Rückmeldung, die durch die Steuervorrichtung 1102 empfangen und durch den Geschwindigkeitsprofilersteller 1202 verarbeitet wird.
  • Die Steuervorrichtung 1102 weist auch eine Seitenführungssteuervorrichtung 1208 auf, die den Betrieb einer Lenksteuervorrichtung 1210 beeinflusst. Zum Beispiel weist die Seitenführungssteuervorrichtung 1208 die Lenksteuervorrichtung 1210 an, die Position des Lenkwinkelstellers 1212 abhängig von z. B. der Rückmeldung anzupassen, die durch die Steuervorrichtung 1102 empfangen und durch die Seitenführungssteuervorrichtung 1208 verarbeitet wird.
  • Die Steuervorrichtung 1102 empfängt mehrere Eingaben, mit denen bestimmt wird, wie die Drosselklappe/Bremse 1206 und der Lenkwinkelsteller 1212 gesteuert werden sollen. Ein Planungsmodul 404 liefert Informationen, die durch die Steuervorrichtung 1102 verwendet werden, um z. B. eine Bewegungsrichtung zu wählen, wenn das AF 100 den Betrieb aufnimmt, und um zu bestimmen, welches Straßensegment befahren werden soll, wenn das AF 100 eine Einmündung erreicht. Ein Lokalisierungsmodul 408 liefert der Steuervorrichtung 1102 Informationen, die zum Beispiel den aktuellen Standort des AF 100 beschreiben, sodass die Steuervorrichtung 1102 bestimmen kann, ob sich das AF 100 an einem Ort befindet, der basierend auf der Art und Weise, in der die Drosselklappe/Bremse 1206 und der Lenkwinkelsteller 1212 gesteuert werden, erwartet wird. In einer Ausführungsform empfängt die Steuervorrichtung 1102 Informationen aus anderen Eingaben 1214, z. B. Informationen, die aus Datenbanken, Computernetzwerken usw. empfangen werden.
  • Simulationsumgebung zur Verbesserung der Sicherheit und Zuverlässigkeit von AFs durch Reduzieren der Erzeugung von Falschpositiven und Falschnegativen
  • 13 zeigt eine Rechenumgebung 1302 zum Erzeugen von simulierten Daten, mit denen Metriken erzeugt werden, die durch die Rechenvorrichtung 1304 des AF 100 dazu verwendet werden, das AF 100 sicher und zuverlässig zu machen. Die Rechenumgebung 1302 kann einen oder mehrere Prozessoren 1306 beinhalten, die eine Simulationsumgebung für das AF 100 bereitstellen. In einigen Implementierungen kann die Rechenumgebung 1302 Teil der Rechenumgebung 200 sein, und der eine oder die mehreren Prozessoren 1306 können Teil der Cloud-Rechenzentren 204a, 204b und 204c sein. Der eine oder die mehreren Prozessoren 1306 können eine parametrisierbare Prozessorsimulationsbeschleunigungsengine für Parallelität auf Anweisungsebene (ILP) (die auch als Simulator bezeichnet werden kann) ausführen, die den Betrieb des AF 100 basierend auf den aus dem AF 100 empfangenen Daten simulieren kann, um simulierte Daten zu erzeugen. Anhand der simulierten Daten können der eine oder die mehreren Prozessoren 1306 Ausgabemetriken (auch als Metriken bezeichnet) erzeugen, die zur Aktualisierung der Programmierung der Rechenvorrichtung 1304 verwendet werden können, um den AF 100 sicher und zuverlässig zu machen.
  • Die Rechenumgebung 1302 kann eine Datenbank 1308 enthalten, um Daten zu speichern, die den Betrieb mindestens eines Moduls (z. B. Wahrnehmungsmodul 402, Planungsmodul 404, Steuermodul 406, Lokalisierungsmodul 408, Datenbankmodul 410 und/oder jedes andere Modul) innerhalb der Rechenvorrichtung 1304 anzeigen. Der eine oder die mehreren Prozessoren 1306 können die gespeicherten Daten aus der Datenbank 1308 empfangen. Der eine oder die mehreren der Prozessoren 1306 können basierend auf den empfangenen Daten eine Simulation des Betriebs des mindestens einen Moduls erzeugen, um simulierte Daten zu erzeugen. Bei der Erzeugung der Simulation können die dynamischen Reaktionen eines oder mehrerer Module des AF 100 durch das Verhalten eines anderen Systems, das diesen Modulen nachempfunden ist, dargestellt werden. In einigen Implementierungen kann die Simulation ein Programm sein, das beim Ausführen die funktionalen Beziehungen innerhalb und zwischen verschiedenen Modulen des AF 100 dupliziert, wodurch ein ähnliches Verhalten wie beim AF 100 ausgeführt wird. Die Ergebnisse dieser Simulation werden in Form von Daten präsentiert, die hier auch als simulierte Daten bezeichnet werden. In einigen Implementierungen können die simulierten Daten aktualisiert werden, um simulierte Daten zu erhalten, die durch den Betrieb des AF unter anderen Bedingungen erzeugt worden wären (d. h. unter anderen Bedingungen als denen, unter denen das AF in Betrieb war), wobei zum Beispiel ein anderes Fahrverhalten, ein anderes Verkehrsaufkommen zu verschiedenen Zeitpunkten, andere Wetterbedingungen und/oder andere unterschiedliche Bedingungen vorliegen können. Der eine oder die mehreren Prozessoren 1306 können die simulierten Daten in einer Datenbank 110 speichern.
  • Der eine oder die mehreren der Prozessoren 1306 können mindestens einen Abschnitt der Simulation identifizieren, der eine Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des AF 100 anzeigt. Eine solche Abweichung kann ein Falschpositiv oder ein Falschnegativ bedeuten, das durch die Rechenvorrichtung 1304 während des Betriebs des AF 100 erzeugt wird. In einer Implementierung können der eine oder die mehreren Prozessoren 1306 die Abschnitte mit Abweichung wie folgt identifizieren. Der eine oder die mehreren Prozessoren 1306 können ein erstes Signal, das mit Zeitstempel versehene gesammelte Daten umfasst, und ein zweites Signal, das mit Zeitstempel versehene simulierte Daten (deren Zeitstempel die gleichen wie die Zeitstempel der gesammelten Daten sind, um einen genauen Vergleich zu erzeugen) umfasst, einem Komparator zuführen, der den Vergleich erzeugen kann, der bestimmte Abschnitte mit Abweichung anzeigt. In einigen Implementierungen kann die Abweichung von einem solchen Vergleich erkannt werden, wenn die Abweichung einen Schwellenwert überschreitet. In einigen Implementierungen kann der Komparator eine elektronische Vorrichtung aus Hardware und einem oder mehreren Prozessoren 1306 sein. In einigen wenigen Implementierungen kann der Komparator eine Software (z. B. eine Softwareanwendung) sein, die kommunikationstechnisch mit dem einen oder den mehreren Prozessoren gekoppelt ist. Der identifizierte Abschnitt der Simulation kann Daten für eine gewisse Zeitspanne simulieren, die eine voreingestellte Zeitspanne (z. B. 5 Sekunden, 15 Sekunden, 30 Sekunden, 1 Minute, 2 Minuten o.ä.) vor einem bestimmten Ereignis (z. B. wenn eine Warnung erzeugt wurde oder eine Kollision stattfand) und eine andere voreingestellte Zeitspanne (z. B. 5 Sekunden, 15 Sekunden, 30 Sekunden, 1 Minute, 2 Minuten o. ä.) nach dem bestimmten Ereignis sein kann.
  • Der eine oder die mehreren der Prozessoren 1306 können den mindestens einen Abschnitt der Simulation analysieren, um Metriken für den mindestens einen Abschnitt der Simulation zu erzeugen. In einigen Beispielen können die Metriken spezifische Bremssteuerbefehle und Fehlersuchdaten enthalten. Die Bremssteuerbefehle können Angaben darüber enthalten, wann die Bremsen des AF 100 betätigt werden müssen. Zum Beispiel können die Steuerbefehle für die Bremsen festlegen, dass die Bremsen betätigt werden, wenn das AF 100 auf eine bestimmte Weise agiert oder arbeitet, z. B. wenn Sensordaten, Bewegungsbahndaten und der Fahrzeugzustand des AF 100 voreingestellte Werte oder Werte innerhalb voreingestellter Bereiche aufweisen, während das AF 100 in Betrieb ist. Die Fehlersuchdaten können Programmieranweisungen oder Details enthalten, die die Rechenvorrichtung ausführen kann, um Fälle zu identifizieren, in denen wahrscheinlich Abweichungen zwischen gesammelten Daten und simulierten Daten auftreten, und um zu verhindern, dass in diesen Fällen Falschpositive erzeugt werden.
  • In einigen Implementierungen können der eine oder die mehreren Prozessoren 1306 die Metriken an die Rechenvorrichtung 1304 übertragen, die dazu programmiert sein kann, diese Metriken zum Erzeugen künftiger Anweisungen für das mindestens eine Modul zu verwenden, um eine weitere Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des AF 100 zu vermeiden. In anderen Implementierungen können der eine oder die mehreren Prozessoren 1306, anstatt die Metriken an die Rechenvorrichtung 1304 zu übertragen, die Metriken dazu verwenden, künftige Anweisungen für das mindestens eine Modul zu erzeugen, und Daten, die genau diese Anweisungen charakterisieren, an die Rechenvorrichtung 1304 zu übertragen, die diese Anweisungen ausführen kann, um eine weitere Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des AF 100 zu vermeiden. Der eine oder die mehreren Prozessoren 1306 können die Metriken in der Datenbank 1312 speichern.
  • Wie oben angemerkt, kann die Abweichung ein durch die Rechenvorrichtung 1304 erzeugtes Falschpositiv bedeuten, wobei die gesammelten Daten (gespeichert in der Datenbank 1308) anzeigen, dass die Rechenvorrichtung 1304 eine Warnung vor einer potenziellen Kollision erzeugt hat, während die simulierten Daten (gespeichert in der Datenbank 1310) anzeigen, dass die Warnung falsch ist. Die Abweichung kann ein durch die Rechenvorrichtung 1304 erzeugtes Falschnegativ bedeuten, wobei die gesammelten Daten (gespeichert in der Datenbank 1308) anzeigen, dass die Rechenvorrichtung 1304 keine Warnung vor einer potenziellen Kollision erzeugt hat, während die simulierten Daten (gespeichert in der Datenbank 1310) eine potenzielle Kollision anzeigen. In einigen Implementierungen kann die Warnung die Aktivierung einer oder mehrerer Lampen oder eines Audiosignals sein, die an die Rechenvorrichtung 1304 des AF 100 angeschlossen sind. Die Warnung kann dazu ausgelegt sein, ein unvorhergesehenes Ereignis im Nahbereich des AF 100 anzuzeigen. In einigen wenigen Implementierungen kann die Warnung zusätzlich oder alternativ jede Art von Benachrichtigung sein, die das unvorhergesehene Ereignis anzeigt, wie z. B. eine E-Mail, eine Textnachricht, eine Benachrichtigung in sozialen Medien oder dergleichen an einen Fahrer des AF 100.
  • Das unvorhergesehene Ereignis kann ein unvorhergesehenes Vorhandensein verschiedener Faktoren sein, die vor der Planung der Bewegungsbahn des AF 100 nicht erkannt oder erkennbar waren. Diese Faktoren können ein oder mehrere Objekte oder ein oder mehrere Lebewesen in einem Weg (z. B. in der geplanten Bewegungsbahn) des AF 100 oder Wetterbedingungen während des Betriebs des AF 100 beinhalten. Derartige Objekte im Weg des AF 100 können andere Fahrzeuge, Gebäude, Baustellenschilder oder dergleichen sein. Die Lebewesen, die sich im Weg des AF 100 befinden, können Menschen (z. B. Fußgänger, Fahrer anderer Fahrzeuge oder beliebige andere Menschen) oder Tiere (z. B. entlaufene Tiere oder Wildtiere) sein. Das unvorhergesehene Ereignis kann auch eine unvorhergesehene Sperrung durch verschiedene unvorhergesehene Faktoren beinhalten, wie z. B. Verkehrsstau, plötzlicher (z. B. innerhalb einer Schwellenzeit) Anstieg des Verkehrsaufkommens, unsachgemäßes Einparken eines oder mehrerer anderer Fahrzeuge, Sperrung des Fahrstreifens, Verengung einer Straße, Unfall, Änderung der Fahrstreifen, Fehlfunktion von Ampelanlagen und/oder ein oder mehrere Faktoren anderer Art in der geplanten Bewegungsbahn des AF 100.
  • Während die oben beschriebene Warnung dazu ausgelegt ist, ein unvorhergesehenes Ereignis im Nahbereich des AF 100 anzuzeigen, kann die Warnung in einigen Implementierungen eine Benachrichtigung beinhalten, die eine Fehlfunktion der Rechenvorrichtung 1304 anzeigt. Die Fehlfunktion der Rechenvorrichtung 1304 kann eine oder mehrere der folgenden Ursachen beinhalten: Mindestens ein Computer oder Prozessor innerhalb der Rechenvorrichtung 1304 startet nicht, mindestens ein Computer oder Prozessor innerhalb der Rechenvorrichtung 1304 arbeitet nicht mehr, die Rechenvorrichtung 1304 erhält keinen Strom oder lädt nicht mehr, der mindestens eine Computer oder Prozessor innerhalb der Rechenvorrichtung 1304 kommuniziert nicht mehr mit einem Bildschirm (z. B. grafische Benutzeroberfläche) innerhalb des AF 100, sodass der Bildschirm funktionsunfähig oder leer wird, das Betriebssystem der Rechenvorrichtung 1304 versagt, Fehlfunktion mindestens eines Moduls (z. B. Wahrnehmungsmodul 402, Planungsmodul 404, Steuermodul 406, Lokalisierungsmodul 408, Datenbankmodul 410 und/oder jedes andere Modul) auf der Rechenvorrichtung 1304, Unfähigkeit der Rechenvorrichtung 1304, eine Verbindung mit dem Kommunikationsnetzwerk herzustellen, das sie mit einem oder mehreren Prozessoren 1306 und/oder dergleichen verbindet.
  • In einigen Implementierungen können der eine oder die mehreren Prozessoren 1306 an ein Rechensystem 1314 gekoppelt sein, wobei es sich um einen Computer handeln kann, den ein Benutzer (z. B. ein Testadministrator) verwenden kann. Der Computer 1314 kann - z.B. auf einer grafischen Benutzeroberfläche 1316 - mehrere AFs anzeigen, aus denen ein Benutzer (z. B. Systemadministrator, Testingenieur oder dergleichen) ein oder mehrere AFs (z. B. AF 100) auswählen kann, für die die Simulation durchzuführen ist, um Metriken zur Verbesserung der Sicherheit und Zuverlässigkeit des einen oder der mehreren ausgewählten AFs (z. B. AF 100) zu erzeugen. In einigen Implementierungen läuft auf dem Rechensystem 1314 eine Softwareanwendung, die es dem Benutzer ermöglicht, eine solche Auswahl interaktiv zu treffen. Eine solche Softwareanwendung kann auf dem Backend durch den einen oder die mehreren Prozessoren 1306 gewartet werden (z. B. durch den Simulator, wobei diese Softwareanwendung eine Simulationssoftwareanwendung ist, in der der Benutzer ein AF auswählen kann, auf dem die Simulation durchzuführen ist). Nachdem das AF 100 in einer solchen Softwareanwendung ausgewählt wurde, können der eine oder die mehreren Prozessoren 1306 die Daten aus der Rechenvorrichtung 1304 erfassen, um mit der Simulation zu beginnen. In einigen Implementierungen kann der Computer 1314 - z. B. auf einer grafischen Benutzeroberfläche 1316 - eine oder mehrere Wahlmöglichkeiten darstellen, um die Bedingungen (d. h. andere Bedingungen als die, unter denen das AF betrieben wurde) für die simulierten Daten zu verändern. Bei den verschiedenen Bedingungen kann es sich um andere Wetterbedingungen, anderen Verkehr zu verschiedenen Zeitpunkten und/oder andere unterschiedliche Bedingungen handeln.
  • Zwar wird eine manuelle Auswahl des AF 100 aus mehreren AFs beschrieben, jedoch kann in einigen Implementierungen Auswahl des AF 100 automatisch erfolgen. Beispielsweise können der eine oder die mehreren Prozessoren 1306 AFs in einer festen Reihenfolge auswählen (z. B. ein erstes AF als erstes, ein zweites AF als zweites, ein drittes AF als drittes usw.). In einigen Implementierungen können der eine oder die mehreren Prozessoren 1306 AFs basierend auf der Sicherheit eines AF auswählen. Beispielsweise können AFs in der Reihenfolge ausgewählt werden, in der die Sicherheit erhöht wird - d. h. das am wenigsten sichere AF kann zuerst ausgewählt werden (da es möglicherweise wichtiger ist, dieses AF zuerst sicher und zuverlässig zu machen) und das sicherste AF kann zuletzt ausgewählt werden (da es möglicherweise weniger wichtig ist, dieses AF sicher zu machen). Die Sicherheit für jedes AF kann durch die Anzahl der Vorfälle (z. B. Unfälle) innerhalb eines vergangenen Zeitschwellenwertes (z. B. eine Woche, ein Monat, ein Jahr oder eine andere Zeitspanne in der Vergangenheit, gemessen entweder ab der aktuellen Zeit oder einer anderen vorgegebenen Zeit) gemessen werden.
  • Zusätzlich oder alternativ können der eine oder die mehreren Prozessoren 1306 automatisch AFs basierend auf der Zuverlässigkeit eines AF auswählen. Beispielsweise können AFs in der Reihenfolge ausgewählt werden, in der die Zuverlässigkeit erhöht wird - d. h. das am wenigsten zuverlässige AF kann zuerst ausgewählt werden (da es möglicherweise relativ wichtiger ist, dieses AF zuerst sicher und zuverlässig zu machen) und das sicherste AF kann zuletzt ausgewählt werden (da es möglicherweise weniger wichtig ist, dieses AF sicher zu machen). Die Zuverlässigkeit eines AF kann durch die Anzahl von Falschnegativen (wie oben erläutert) und/oder die Anzahl von Falschpositiven (wie ebenfalls oben erläutert) gemessen werden, die durch die Rechenvorrichtung des AF (z. B. Rechenvorrichtung 1304 des AF 100) erzeugt werden.
  • Durch Identifizieren von Falschpositiven und Falschnegativen können wie oben erläutert Metriken erzeugt werden, die verhindern, dass die Rechenvorrichtung 1304 derartige Falschpositive oder Falschnegative erzeugt. Die Verhinderung von Falschpositiven kann die Anzahl der Fehlwarnungen über bevorstehende Kollisionen, wie sie durch die Rechenvorrichtung 1304 erzeugt werden, reduzieren (z. B. minimieren). Eine derartige Reduzierung der Anzahl von Falschwarnungen kann die Anzahl der unnötigen Eingriffe (z. B. durch einen Fahrer oder eine Steuervorrichtung) während des Betriebs des AF 100 verringern. Dies erhöht die Zuverlässigkeit des AF 100 und schafft unter den Fahrern Vertrauen in den Betrieb des AF 100. Darüber hinaus kann die Vermeidung von Falschnegativen sicherstellen, dass die Rechenvorrichtung 1304 ordnungsgemäße Warnmeldungen erzeugt, die eine potenzielle Kollision anzeigen. Dies kann Kollisionen vorteilhaft verhindern. Eine solche Kollisionsvermeidung kann die Sicherheit und Zuverlässigkeit des AF 100 erhöhen.
  • 14 zeigt einen Vorgang, um das AF 100 sicher und zuverlässig zu machen, durch Reduzieren von durch eine Rechenvorrichtung 1304 des AF 100 erzeugten Falschpositiven und Falschnegativen. Der eine oder die mehreren der Prozessoren 1306 können bei 1402 Daten empfangen, die durch die Rechenvorrichtung 1304 während des Betriebs des AF 100 gesammelt wurden. In einer Implementierung können der eine oder die mehreren der Prozessoren 1306 die Daten direkt aus der Rechenvorrichtung 1304 empfangen (wobei dies in Echtzeit geschehen kann). In einer anderen Implementierung können der eine oder die mehreren der Prozessoren 1306 die Daten aus der Datenbank 1308 empfangen, die bereits solche Daten aufweist und speichert.
  • Der eine oder die mehreren der Prozessoren 1306 können bei 1404 und basierend auf den empfangenen Daten eine Simulation des Betriebs des mindestens einen Moduls erzeugen, um simulierte Daten zu erzeugen. Bei der Erzeugung der Simulation können die dynamischen Reaktionen eines oder mehrerer Module des AF 100 durch das Verhalten eines anderen Systems, das diesen Modulen nachempfunden ist, dargestellt werden. Die Simulation kann ein Programm sein, das beim Ausführen die funktionalen Beziehungen innerhalb und zwischen verschiedenen Modulen des AF 100 dupliziert, wodurch ein ähnliches Verhalten wie beim AF 100 ausgeführt wird. Die Ergebnisse dieser Simulation werden in Form von Daten präsentiert, die hier auch als simulierte Daten bezeichnet werden. Der eine oder die mehreren Prozessoren 1306 können die simulierten Daten in einer Datenbank 110 speichern.
  • Der eine oder die mehreren der Prozessoren 1306 können bei 1406 mindestens einen Abschnitt der Simulation identifizieren, der eine Abweichung zwischen den gesammelten Daten und den simulierten Daten des AF 100 anzeigt. Eine solche Abweichung kann ein Falschpositiv oder ein Falschnegativ bedeuten, das durch die Rechenvorrichtung 1304 während des Betriebs des AF 100 erzeugt wird. In einigen Beispielen kann die Abweichung ein durch die Rechenvorrichtung 1304 erzeugtes Falschpositiv bedeuten, wobei die gesammelten Daten (gespeichert in der Datenbank 1308) anzeigen, dass die Rechenvorrichtung 1304 eine Warnung vor einer potenziellen Kollision erzeugt hat, während die simulierten Daten (gespeichert in der Datenbank 1310) anzeigen, dass die Warnung falsch ist. In einigen Implementierungen kann die Abweichung ein durch die Rechenvorrichtung 1304 erzeugtes Falschnegativ bedeuten, wobei die gesammelten Daten (gespeichert in der Datenbank 1308) anzeigen, dass die Rechenvorrichtung 1304 keine Warnung vor einer potenziellen Kollision erzeugt hat, während die simulierten Daten (gespeichert in der Datenbank 1310) eine potenzielle Kollision anzeigen.
  • Der eine oder die mehreren der Prozessoren 1306 können bei 1408 den mindestens einen Abschnitt der Simulation analysieren, um Metriken für den mindestens einen Abschnitt der Simulation zu erzeugen. In einigen Beispielen können die Metriken spezifische Bremssteuerbefehle und Fehlersuchdaten enthalten. Die Bremssteuerbefehle können Angaben darüber enthalten, wann die Bremsen des AF 100 betätigt werden müssen. Zum Beispiel können die Steuerbefehle für die Bremsen festlegen, dass die Bremsen betätigt werden, wenn das AF 100 auf eine bestimmte Weise agiert oder arbeitet, z. B. wenn Sensordaten, Bewegungsbahndaten und der Fahrzeugzustand des AF 100 voreingestellte Werte oder Werte innerhalb voreingestellter Bereiche aufweisen, während das AF 100 in Betrieb ist. Die Fehlersuchdaten können Programmieranweisungen oder Details enthalten, die die Rechenvorrichtung ausführen kann, um Fälle zu identifizieren, in denen wahrscheinlich Abweichungen zwischen gesammelten Daten und simulierten Daten auftreten, und um zu verhindern, dass in diesen Fällen Falschpositive erzeugt werden.
  • Der eine oder die mehreren Prozessoren 1306 können bei 1410 die Metriken an die Rechenvorrichtung 1304 übertragen, die dazu programmiert sein kann, diese Metriken zum Erzeugen künftiger Anweisungen für das mindestens eine Modul zu verwenden, um eine weitere Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des AF 100 zu vermeiden. In einigen Implementierungen können der eine oder die mehreren Prozessoren 1306, anstatt die Metriken an die Rechenvorrichtung 1304 zu übertragen, die Metriken dazu verwenden, künftige Anweisungen für das mindestens eine Modul zu erzeugen und Daten, die genau diese Anweisungen charakterisieren, an die Rechenvorrichtung 1304 zu übertragen, die diese Anweisungen ausführen kann, um eine weitere Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des AF 100 zu vermeiden. Der eine oder die mehreren Prozessoren 1306 können die Metriken in der Datenbank 1312 speichern.
  • 15 zeigt ein konkretes Beispiel, das durch die Rechenvorrichtung 1310 erzeugte Falschpositive vermeidet. Die aus der Rechenvorrichtung 1304 des AF 100 empfangenen Daten enthalten Sensordaten 1502, Bewegungsbahndaten 1504 und einen Fahrzeugzustand 1506. Die Sensordaten 1502 können Daten sein, die durch die Sensoren 121 erfasst werden (und können alle anderen Daten enthalten, die sich wie oben erwähnt auf die Sensoren 121 beziehen). Die Bewegungsbahndaten 1504 können Daten sein, die die Bewegungsbahn 198 charakterisieren (und können alle anderen Daten enthalten, die sich wie oben erwähnt auf die Bewegungsbahn 198 beziehen). Der Fahrzeugzustand 1506 kann der Zustand des AF 100 sein, wie z. B. die Position des AF, die Linear- und Winkelgeschwindigkeit und -beschleunigung sowie die Bewegungsrichtung (z. B. eine Ausrichtung der Vorderseite des AF 100).
  • Der eine oder die mehreren Prozessoren 1306 können eine Simulation 1508 eines Moduls innerhalb des AF 100 erzeugen. Im dargestellten Beispiel ist dieses Modul ein Notbremsmodul, welches ein Teil des Steuermoduls 406 sein kann, das die Bremsung des AF 100 steuert. Bei der Erzeugung der Simulation können die dynamischen Reaktionen des Notbremsmoduls des AF 100 durch das Verhalten eines anderen, dem Notbremsmodul nachgebildeten Systems dargestellt werden. In einigen Implementierungen kann die Simulation ein Programm sein, das beim Ausführen die funktionalen Beziehungen innerhalb des Notbremsmoduls dupliziert, wodurch eine analoge Version des Verhaltens des Notbremsmoduls ausgeführt wird. Die Ergebnisse der Simulation des Notbremsmoduls werden als simulierte Daten präsentiert. Die simulierten Daten können so erzeugt werden, dass sie den gesammelten Daten (hier Sensordaten 1502, Bewegungsbahndaten 1504 und Fahrzeugzustand 1506) entsprechen (z. B. für die gleichen Zeiten erzeugt werden), sodass die gesammelten Daten exakt mit den simulierten Daten verglichen werden können. Der eine oder die mehreren Prozessoren 1306 können die simulierten Daten in der Datenbank 1310 speichern.
  • Der eine oder die mehreren Prozessoren 1306 können die gesammelten Daten (gespeichert in Datenbank 1308) mit den simulierten Daten (gespeichert in Datenbank 1310) vergleichen, um Fälle (z. B. Zeitspannen) zu identifizieren, in denen eine Abweichung zwischen den gesammelten Daten und den simulierten Daten besteht. Hierbei kann die Abweichung dort liegen, wo die gesammelten Daten (d. h. Sensordaten 1502, Bewegungsbahndaten 1504 und Fahrzeugzustand 1506) anzeigen, dass die Rechenvorrichtung 1304 eine Warnung vor einer potenziellen Kollision erzeugt hat, während die entsprechenden simulierten Daten (d. h. simulierte Daten, die zu Zeitpunkten analysiert wurden, die denen der gesammelten Daten entsprechen) anzeigen, dass die Warnung falsch ist (d. h. es bestand keine Wahrscheinlichkeit einer Kollision, oder die Wahrscheinlichkeit lag unterhalb eines Schwellenwerts).
  • Der eine oder die mehreren Prozessoren 1306 können die Fälle auswerten, in denen eine Abweichung vorliegt, um Metriken zu erzeugen, die eine zukünftige Erzeugung von Fehlalarmen verhindern. Solche Metriken können spezifische Bremssteuerbefehle 1510 und Fehlersuchdaten 1512 beinhalten. Die Bremssteuerbefehle 1510 können Angaben darüber enthalten, wann die Bremsen des AF 100 betätigt werden müssen. Beispielsweise können die Bremssteuerbefehle 1510 festlegen, dass zu bremsen ist, wenn die Sensordaten, die Bewegungsbahndaten und der Fahrzeugzustand voreingestellte Werte (oder Werte innerhalb voreingestellter Bereiche) aufweisen. Die Fehlersuchdaten 1512 können Programmieranweisungen oder Details enthalten, die die Rechenvorrichtung 1304 ausführen kann, um Fälle zu identifizieren, in denen wahrscheinlich Abweichungen zwischen gesammelten Daten und simulierten Daten auftreten, und um zu verhindern, dass in diesen Fällen Falschpositive erzeugt werden.
  • Der eine oder die mehreren Prozessoren 1306 können die Metriken in der Datenbank 1312 speichern. Der eine oder die mehreren Prozessoren 1306 können anschließend die gespeicherten Metriken an die Rechenvorrichtung 1304 übertragen. In anderen Implementierungen können der eine oder die mehreren Prozessoren 1306 die Metriken direkt an die Rechenvorrichtung 1304 übertragen (d. h. vor der Speicherung). Die Metriken enthalten spezifische Anweisungen (z. B. Bremssteuerbefehle und Fehlersuchdaten), die durch das Notbremsmodul, das Teil des die Bremsung des AF 100 steuernden Steuermoduls 406 ist, ausgeführt werden müssen, um falsch positive Ergebnisse zu vermeiden.
  • 16 zeigt ein konkretes Beispiel für die Vermeidung von Falschnegativen durch die Rechenvorrichtung 1310 des AF 100. Der eine oder die mehreren 1306 können Daten empfangen, die durch die Rechenvorrichtung 1304 während des Betriebs des AF 100 gesammelt wurden. Hierbei handelt es sich bei den durch die Rechenvorrichtung 1304 gesammelten Daten um den anfänglichen Fahrzeugzustand 1604. Der anfängliche Fahrzeugzustand 1604 kann der Zustand des AF 100 sein, wie z. B. die Position des AF 100, die Linear- und Winkelgeschwindigkeit und -beschleunigung sowie die Bewegungsrichtung (z. B. eine Ausrichtung der Vorderseite des AF 100). In einer Implementierung können der eine oder die mehreren Prozessoren 1306 den anfänglichen Fahrzeugzustand 1604 wie dargestellt aus der Datenbank 1308 empfangen, die bereits einen solchen anfänglichen Fahrzeugzustand 1604 empfangen und einen solchen anfänglichen Fahrzeugzustand 1604 gespeichert hat. In einer anderen Implementierung können der eine oder die mehreren Prozessoren 1306 den anfänglichen Fahrzeugzustand 1604 direkt aus der Rechenvorrichtung 1304 des AF 100 empfangen (wobei dies in Echtzeit erfolgen kann).
  • Der eine oder die mehreren Prozessoren 1306 können basierend auf dem empfangenen Fahrzeugzustand eine Simulation des Betriebs der verschiedenen Module erzeugen, z. B. die Simulation 1606 des Planungsmoduls 404, die Simulation 1608 des Steuermoduls 406 und die Simulation 1508 des Notbremsmoduls 1508. Die Simulation 1606 kann Spuren von Objekten 1610 aus der Datenbank 1308 empfangen. Die Spuren von Objekten 1610 sind Bewegungsbahnen der Objekte und können die Position des Objekts im Zeitverlauf anzeigen. Die Simulationen 1606, 1608 und 1508 können simulierte Daten erzeugen (z. B. kann die Simulation 1606 des Planungsmoduls 404 eine simulierte geplante Bewegungsbahn 1612 erzeugen, und die Simulation 1608 des Steuermoduls kann Steuerbefehle 1613 erzeugen).
  • Die Simulationen 1606, 1608 und 1508 der jeweiligen Module können entsprechende simulierte Daten erzeugen, einschließlich des simulierten Fahrzeugzustands 1614. Der ursprüngliche Fahrzeugzustand 1604 und der simulierte Fahrzeugzustand 1614 können in einen Komparator 1616 eingespeist werden, der Vergleiche durchführen kann, um mindestens einen Abschnitt der mit einem Zeitstempel versehenen simulierten Daten zu identifizieren, der eine Abweichung zwischen den gesammelten Daten und den simulierten Daten des AF 100 anzeigt. Die Abweichung kann ein durch die Rechenvorrichtung 1304 erzeugtes Falschnegativ bedeuten, bei denen der originale Fahrzeugzustand 1604 anzeigt, dass die Rechenvorrichtung 1304 keine Warnung vor einer potenziellen Kollision angezeigt hat, während der simulierte Fahrzeugzustand 1614 eine potenzielle Kollision anzeigt.
  • Der eine oder die mehreren Prozessoren 1306 können den durch den Komparator 1616 identifizierten simulierten Datenabschnitt analysieren, um Metriken für den mindestens einen Abschnitt der Simulation zu erzeugen. Das Transformationsmodul 1622 kann Koordinatentransformationen an verschiedenen empfangenen Daten durchführen, die es empfängt, wenn diese Daten ursprünglich unterschiedliche Referenzkoordinaten aufwiesen. Diese Metriken können die Sicherheitssteuerbefehle 1618 beinhalten. Die Sicherheitssteuerbefehle 1618 können z. B. die Bremssteuerbefehle 1510 enthalten. Die Bremssteuerbefehle 1510 können Angaben darüber enthalten, wann die Bremsen des AF 100 betätigt werden müssen. Beispielsweise können die Bremssteuerbefehle 1510 festlegen, dass zu bremsen ist, wenn die Sensordaten, die Bewegungsbahndaten und der Fahrzeugzustand voreingestellte Werte (oder Werte innerhalb voreingestellter Bereiche) aufweisen. Die Steuerbefehle 1613 und 1618 werden durch einen Multiplexer 1620 geschickt, um die Steuerbefehle zu verarbeiten, bevor sie ferner durch den einen oder die mehreren Prozessoren 1306 verwendet werden, um die Simulation fortzusetzen. Der eine oder die mehreren Prozessoren 1306
  • Der eine oder die mehreren Prozessoren 1306 können die erzeugten Metriken an die Rechenvorrichtung 1304 übertragen, die dazu programmiert sein kann, diese Metriken zum Erzeugen zukünftiger Anweisungen für das mindestens eine Modul zu verwenden, um eine weitere Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des AF 100 zu vermeiden. In einigen Implementierungen können der eine oder die mehreren Prozessoren 1306, anstatt die Metriken an die Rechenvorrichtung 1304 zu übertragen, die Metriken dazu verwenden, künftige Anweisungen für das mindestens eine Modul zu erzeugen und Daten, die genau diese Anweisungen charakterisieren, an die Rechenvorrichtung 1304 zu übertragen, die diese Anweisungen ausführen kann, um eine weitere Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des AF 100 zu vermeiden.
  • Simulationsumgebung zur Verbesserung der Sicherheit und Zuverlässigkeit von AFs durch Verbesserung der Genauigkeit einer zukünftigen Warnung, die eine weitere potenzielle Kollision anzeigt
  • In einem anderen Aspekt können die Architektur und die darin enthaltenen Komponenten von 13 dazu verwendet werden, eine Simulation des AF 100 zu erzeugen, die simulierten Daten zu überprüfen, um einen Abschnitt der Simulation zu identifizieren, als eine Übernahme aus einem Autopilot-Modus als Reaktion auf die Erzeugung einer Warnung vor einer potenziellen Kollision durch die Rechenvorrichtung erfolgte, diesen Abschnitt der Simulation zu analysieren, um Metriken zu bestimmen, die anzeigen, ob eine Kollision wahrscheinlich aufgetreten wäre (d. h. die Wahrscheinlichkeit des Auftretens einer solchen Kollision war größer als ein Schwellenwert), wenn die Übernahme nicht stattgefunden hätte, und solche Metriken zu verwenden, um die Genauigkeit einer zukünftigen Warnung vor einer weiteren potenziellen Kollision zu verbessern.
  • In diesem Aspekt können der eine oder die mehreren Prozessoren 1306 Daten empfangen, die durch die Rechenvorrichtung 1304 während des Betriebs des AF 100 gesammelt wurden. Der eine oder die mehreren Prozessoren 1306 können die gesammelten Daten in der Datenbank 1308 speichern. Der eine oder die mehreren Prozessoren 1306 können basierend auf den gesammelten Daten eine Simulation des Betriebs mindestens einiger Module (z. B. Planungsmodul und Steuermodul) des AF 100 erzeugen. Die Erzeugung der Simulation kann die Darstellung der dynamischen Reaktionen des mindestens einen Moduls des AF 100 durch das Verhalten eines anderen, diesen Modulen nachempfundenen Systems beinhalten. In einigen Implementierungen kann die Simulation ein Programm sein, das beim Ausführen die funktionalen Beziehungen innerhalb und zwischen verschiedenen Modulen des AF 100 dupliziert, wodurch ein ähnliches Verhalten wie beim AF 100 ausgeführt wird. Die Ergebnisse dieser Simulation werden in Form von Daten präsentiert, die hier auch als simulierte Daten bezeichnet werden. Der eine oder die mehreren Prozessoren 1306 können die simulierten Daten in der Datenbank 1310 speichern.
  • Der eine oder die mehreren Prozessoren 1306 können mindestens einen Abschnitt der Simulation identifizieren, der eine Übernahme (z. B. durch einen Fahrer oder eine Ferneinrichtung) aus einem Autopilot-Modus als Reaktion auf die Erzeugung einer Warnung durch die Rechenvorrichtung 1304 anzeigt, die auf eine potenzielle Kollision hinweist. Um eine solche Identifizierung vorzunehmen, können der eine oder die mehreren Prozessoren 1306 die Zeitpunkte der Übernahmen bestimmen. In einigen Implementierungen kann ein Zeitpunkt für die Übernahme als Zeitpunkt bestimmt werden, zu dem eine entsprechende Warnung durch die Rechenvorrichtung 1304 erzeugt wurde. Der identifizierte Abschnitt der Simulation kann Daten für eine gewisse Zeitspanne simulieren, die eine voreingestellte Zeitspanne (z. B. 5 Sekunden, 15 Sekunden, 30 Sekunden, 1 Minute, 2 Minuten o.ä.) vor einem bestimmten Ereignis (z. B. als eine Übernahme erfolgte oder eine entsprechende Warnung erzeugt wurde) und eine andere voreingestellte Zeitspanne (z. B. 5 Sekunden, 15 Sekunden, 30 Sekunden, 1 Minute, 2 Minuten o. ä.) nach dem bestimmten Ereignis sein kann.
  • In einigen Implementierungen kann die während der Übernahme erzeugte Warnung die Aktivierung einer oder mehrerer Lampen oder eines Audiosignals sein, die an die Rechenvorrichtung 1304 des AF 100 angeschlossen sind. Die Warnung kann dazu ausgelegt sein, ein unvorhergesehenes Ereignis im Nahbereich des AF 100 anzuzeigen. In einigen wenigen Implementierungen kann die Warnung zusätzlich oder alternativ jede Art von Benachrichtigung sein, die das unvorhergesehene Ereignis anzeigt, wie z. B. eine E-Mail, eine Textnachricht, eine Benachrichtigung in sozialen Medien oder dergleichen an einen Fahrer des AF 100.
  • Wenn die Warnung erzeugt wird, kann die Übernahme durch einen Fahrer (z. B. Sicherheitsfahrer) innerhalb des AF 100 erfolgen. Der Fahrer kann durch Betätigen der Notbremse übernehmen. Die Übernahme kann beinhalten, das AF 100 in einen sicheren Bereich weg von einem unvorhergesehenen Ereignis im Nahbereich des AF 100 zu navigieren. Das unvorhergesehene Ereignis kann eine oder mehrere unvorhergesehene Sperrungen eines durch das AF 100 befahrenen Weges, das unvorhergesehene Vorhandensein eines oder mehrerer Objekte oder eines oder mehrerer Lebewesen in einem Weg des AF 100 oder eine unvorhergesehene Wetterbedingung während des Betriebs des AF 100 beinhalten.
  • Obgleich die Übernahme hier als durch einen Fahrer (z. B. Sicherheitsfahrer) vorgenommen beschrieben wird, kann in einigen Implementierungen die Übernahme aus der Ferne durchgeführt werden, und zwar entweder durch einen menschlichen Benutzer oder durch ein automatisches Backend-Computersystem, das dazu ausgelegt ist, ein oder mehrere Module zu steuern (z. B. das Steuermodul 406, das die Bremsung des AF 100 steuert). In derartigen Implementierungen kann die Warnung auch durch die Bestimmung (z. B. Erkennung) durch die Rechenvorrichtung 1304 ausgelöst werden, wenn sich die Vitalwerte eines Fahrers um mehr als einen Schwellenwert ändern. Die Vitalwerte können Pulsfrequenz, Atemfrequenz, Blutdruck oder andere Vitalwerte sein, die durch eine bevorstehende Kollision beeinträchtigt sein können. Eine derartige Warnung kann die Fernübernahme einleiten, um die Kollision zu verhindern. Wenn z. B. bestimmt wird, dass die Pulsfrequenz - die eine Messung der Herzfrequenz oder der Anzahl der Herzschläge pro Minute des Fahrers ist - 120 Schläge pro Minute überschreitet (was deutlich über dem normalen Bereich von 60 bis 100 Schlägen pro Minute für einen Erwachsenen liegt), kann die Fernübernahme initialisiert werden. In einigen Beispielen kann die Fernübernahme initialisiert werden, wenn bestimmt wird, dass die Atemfrequenz - d. h. die Anzahl der Atemzüge, die eine Person pro Minute macht - des Fahrers 20 Atemzüge pro Minute überschreitet (was deutlich über dem normalen Bereich von 12 bis 16 Atemzügen pro Minute für einen Erwachsenen liegt). Wenn in einigen Beispielen der Blutdruck - d. h. die während der Kontraktion und Entspannung des Herzens gegen die Arterienwände drückende Kraft des Blutes - eines ansonsten normalen Fahrers (d. h. eines Fahrers mit einem systolischen Druck von weniger als 120 und einem diastolischen Druck von weniger als 80) als ein Blutdruck der Stufe 1 (d. h. ein systolischer Druck von 130 bis 139 oder diastolischer Druck von 80 bis 89) oder einen Blutdruck der Stufe 2 (d. h. ein systolischer Druck von 140 oder höher oder diastolischer Druck von 90 oder höher) bestimmt wird, kann die Fernübernahme eingeleitet werden.
  • Der eine oder die mehreren Prozessoren 1306 können den mindestens einen Abschnitt der simulierten Daten analysieren, um Metriken, die anzeigen, ob eine Kollision wahrscheinlich gewesen wäre, wenn die Übernahme nicht stattgefunden hätte, und Steuerbefehle zur Vermeidung einer solchen Kollision zu bestimmen. Beispielsweise können die Metriken spezifische Bremssteuerbefehle enthalten, die auch Angaben darüber enthalten können, wann die Bremsen des AF 100 betätigt werden müssen, damit eine Kollision bei fehlender Übernahme vermieden werden kann. Zum Beispiel können die Steuerbefehle für die Bremsen festlegen, dass die Bremsen betätigt werden, wenn das AF 100 auf eine bestimmte Weise agiert oder arbeitet, z. B. wenn Sensordaten, Bewegungsbahndaten und/oder der Fahrzeugzustand des AF 100 voreingestellte Werte oder Werte innerhalb voreingestellter Bereiche aufweisen, während das AF 100 in Betrieb ist. In einigen Implementierungen können die Metriken ferner Fehlersuchdaten beinhalten, die Programmieranweisungen oder Details enthalten können, die die Rechenvorrichtung ausführen kann, um Fälle zu identifizieren, in denen eine Kollision aufgetreten wäre, wenn die Übernahme nicht stattgefunden hätte, und um eine solche Kollision zu verhindern.
  • In einigen Implementierungen können der eine oder die mehreren Prozessoren 1306 die Metriken an die Rechenvorrichtung 1304 übertragen, die so programmiert sein kann, dass sie diese Metriken zur Erzeugung von Programmieranweisungen verwendet, um die Genauigkeit einer zukünftigen Warnung zu verbessern, die eine weitere potenzielle Kollision anzeigt. In anderen Implementierungen können der eine oder die mehreren Prozessoren 1306, anstatt die Metriken an die Rechenvorrichtung 1304 zu übertragen, die Metriken dazu verwenden, Anweisungen zu erzeugen und Daten, die diese Anweisungen charakterisieren, an die Rechenvorrichtung 1304 zu übertragen, die diese Anweisungen ausführen kann, wodurch die Genauigkeit einer zukünftigen Warnung, die eine weitere potenzielle Kollision anzeigt, verbessert wird. Der eine oder die mehreren Prozessoren 1306 können die Metriken in der Datenbank 1312 speichern.
  • Die oben beschriebenen Implementierungen sind vorteilhaft. Wie oben erwähnt, können die Metriken beispielsweise dazu verwendet werden, die Genauigkeit einer zukünftigen Warnung (die eine weitere potenzielle Kollision anzeigt) zu verbessern. Eine solche Verbesserung kann wiederum die durch das AF 100 erlittenen Kollisionen reduzieren und dadurch das AF 100 sicherer und zuverlässiger machen. Ferner kann die Warnung in einigen Implementierungen eine automatische Übernahme durch das Femsystem einleiten, was in Fällen von Vorteil sein kann, in denen kein menschlicher Fahrer vorhanden ist oder der menschliche Fahrer unaufmerksam oder unvorsichtig ist und/oder unter einem gesundheitlichen Problem leidet (z. B. signifikanter Unterschied zu normalen Vitalwerten, was z. B. der Fall sein kann, wenn der Fahrer einen Herzinfarkt erleidet). Dies verbessert um ein Weiteres die Zuverlässigkeit des AF 100.
  • 17 zeigt einen Vorgang zum Erzeugen von Metriken zur Verbesserung der Genauigkeit einer zukünftigen Warnung, die eine weitere potenzielle Kollision anzeigt. Der eine oder die mehreren Prozessoren 1306 können bei 1702 Daten empfangen, die durch die Rechenvorrichtung 1304 während des Betriebs des AF 100 gesammelt wurden. Der eine oder die mehreren Prozessoren 1306 können die empfangenen Daten in der Datenbank 1308 speichern. Der eine oder die mehreren Prozessoren 1306 können bei 1704 und basierend auf den empfangenen Daten eine Simulation des Betriebs des AF 100 erzeugen, um simulierte Daten zu erzeugen. Der eine oder die mehreren Prozessoren 1306 können die simulierten Daten in der Datenbank 1310 speichern. Der eine oder die mehreren Prozessoren 1306 können bei 1706 mindestens einen Abschnitt der Simulation identifizieren, der eine Übernahme (z. B. durch einen Fahrer oder eine Ferneinrichtung) aus einem Autopilot-Modus als Reaktion auf die Erzeugung einer Warnung durch die Rechenvorrichtung 1304 anzeigt, die auf eine potenzielle Kollision hinweist. Der eine oder die mehreren Prozessoren 1306 können diese Identifizierung unter Verwendung von Signalverarbeitungstechniken, wie z. B. ereignisbasierte Analyse in Videos und/oder Bildern, vornehmen. In einigen Implementierungen kann die Warnung die Aktivierung einer oder mehrerer Lampen oder eines Audiosignals sein, die an die Rechenvorrichtung 1304 des AF 100 angeschlossen sind. Die Warnung kann dazu ausgelegt sein, ein unvorhergesehenes Ereignis im Nahbereich des AF 100 anzuzeigen. In einigen wenigen Implementierungen kann die Warnung zusätzlich oder alternativ jede Art von Benachrichtigung sein, die das unvorhergesehene Ereignis anzeigt, wie z. B. eine E-Mail, eine Textnachricht, eine Benachrichtigung in sozialen Medien oder dergleichen an einen Fahrer des AF 100.
  • Wenn die Warnung erzeugt wird, kann die Übernahme durch einen Fahrer (z. B. Sicherheitsfahrer) innerhalb des AF 100 erfolgen. Der Fahrer kann durch Betätigen der Notbremse übernehmen. Die Übernahme kann beinhalten, das AF 100 in einen sicheren Bereich weg von einem unvorhergesehenen Ereignis im Nahbereich des AF 100 zu navigieren. Das unvorhergesehene Ereignis kann eine oder mehrere unvorhergesehene Sperrungen eines durch das AF 100 befahrenen Weges, das unvorhergesehene Vorhandensein eines oder mehrerer Objekte oder eines oder mehrerer Lebewesen in einem Weg des AF 100 oder eine unvorhergesehene Wetterbedingung während des Betriebs des AF 100 beinhalten.
  • Obgleich die Übernahme hier als durch einen Fahrer (z. B. Sicherheitsfahrer) vorgenommen beschrieben wird, kann in einigen Implementierungen die Übernahme aus der Ferne durchgeführt werden, und zwar entweder durch einen menschlichen Benutzer oder durch ein automatisches Backend-Computersystem, das dazu ausgelegt ist, ein oder mehrere Module zu steuern (z. B. das Steuermodul 406, das die Bremsung des AF 100 steuert). In derartigen Implementierungen kann die Warnung auch durch die Bestimmung (z. B. Erkennung) durch die Rechenvorrichtung 1304 ausgelöst werden, wenn sich die Vitalwerte eines Fahrers um mehr als einen Schwellenwert ändern. Die Vitalwerte können Pulsfrequenz, Atemfrequenz, Blutdruck oder andere Vitalwerte sein, die durch eine bevorstehende Kollision beeinträchtigt sein können. Eine derartige Warnung kann die Fernübernahme einleiten, um die Kollision zu verhindern. Wenn z. B. bestimmt wird, dass die Pulsfrequenz - die eine Messung der Herzfrequenz oder der Anzahl der Herzschläge pro Minute des Fahrers ist - 120 Schläge pro Minute überschreitet (was deutlich über dem normalen Bereich von 60 bis 100 Schlägen pro Minute für einen Erwachsenen liegt), kann die Fernübernahme initialisiert werden. In einigen Beispielen kann die Fernübernahme initialisiert werden, wenn bestimmt wird, dass die Atemfrequenz - d. h. die Anzahl der Atemzüge, die eine Person pro Minute macht - des Fahrers 20 Atemzüge pro Minute überschreitet (was deutlich über dem normalen Bereich von 12 bis 16 Atemzügen pro Minute für einen Erwachsenen liegt). Wenn in einigen Beispielen der Blutdruck - d. h. die während der Kontraktion und Entspannung des Herzens gegen die Arterienwände drückende Kraft des Blutes - eines ansonsten normalen Fahrers (d. h. eines Fahrers mit einem systolischen Druck von weniger als 120 und einem diastolischen Druck von weniger als 80) als ein Blutdruck der Stufe 1 (d. h. ein systolischer Druck von 130 bis 139 oder diastolischer Druck von 80 bis 89) oder einen Blutdruck der Stufe 2 (d. h. ein systolischer Druck von 140 oder höher oder diastolischer Druck von 90 oder höher) bestimmt wird, kann die Fernübernahme eingeleitet werden.
  • Der eine oder die mehreren Prozessoren 1306 können bei 1708 den mindestens einen Abschnitt der simulierten Daten analysieren, um Metriken, die anzeigen, ob eine Kollision wahrscheinlich eingetreten wäre, wenn die Übernahme nicht stattgefunden hätte, und Steuerbefehle zur Vermeidung einer solchen Kollision zu bestimmen. Beispielsweise können die Metriken spezifische Bremssteuerbefehle enthalten, die auch Angaben darüber enthalten können, wann die Bremsen des AF 100 betätigt werden müssen, damit eine Kollision bei fehlender Übernahme vermieden werden kann. Zum Beispiel können die Steuerbefehle für die Bremsen festlegen, dass die Bremsen betätigt werden, wenn das AF 100 auf eine bestimmte Weise agiert oder arbeitet, z. B. wenn Sensordaten, Bewegungsbahndaten und/oder der Fahrzeugzustand des AF 100 voreingestellte Werte oder Werte innerhalb voreingestellter Bereiche aufweisen, während das AF 100 in Betrieb ist. In einigen Implementierungen können die Metriken ferner Fehlersuchdaten beinhalten, die Programmieranweisungen oder Details enthalten können, die die Rechenvorrichtung ausführen kann, um Fälle zu identifizieren, in denen eine Kollision aufgetreten wäre, wenn die Übernahme nicht stattgefunden hätte, und um eine solche Kollision zu verhindern.
  • In einigen Implementierungen können bei 1710 der eine oder die mehreren Prozessoren 1306 die Metriken an die Rechenvorrichtung 1304 übertragen, die so programmiert sein kann, dass sie diese Metriken zur Erzeugung von zukünftigen Anweisungen verwendet, um die Genauigkeit einer zukünftigen Warnung zu verbessern, die eine weitere potenzielle Kollision anzeigt. In anderen Implementierungen können der eine oder die mehreren Prozessoren 1306, anstatt die Metriken an die Rechenvorrichtung 1304 zu übertragen, die Metriken dazu verwenden, Anweisungen zu erzeugen und Daten, die diese Anweisungen charakterisieren, an die Rechenvorrichtung 1304 zu übertragen, die diese Anweisungen ausführen kann, wodurch die Genauigkeit einer zukünftigen Warnung, die eine weitere potenzielle Kollision anzeigt, verbessert wird. Der eine oder die mehreren Prozessoren 1306 können die Metriken in der Datenbank 1312 speichern.
  • Die oben beschriebenen Implementierungen sind vorteilhaft. Wie oben erwähnt, können die Metriken beispielsweise dazu verwendet werden, die Genauigkeit einer zukünftigen Warnung (die eine weitere potenzielle Kollision anzeigt) zu verbessern. Eine solche Verbesserung kann wiederum die durch das AF 100 erlittenen Kollisionen reduzieren und dadurch das AF 100 sicherer und zuverlässiger machen. Ferner kann die Warnung in einigen Implementierungen eine automatische Übernahme durch das Femsystem einleiten, was in Fällen von Vorteil sein kann, in denen kein menschlicher Fahrer vorhanden ist oder der menschliche Fahrer unaufmerksam oder unvorsichtig ist und/oder unter einem gesundheitlichen Problem leidet (z. B. signifikanter Unterschied zu normalen Vitalwerten, was z. B. der Fall sein kann, wenn der Fahrer einen Herzinfarkt erleidet). Dies verbessert um ein Weiteres die Zuverlässigkeit des AF 100.
  • 18 zeigt einen Vorgang zum Erzeugen von Metriken zur Verbesserung der Genauigkeit einer zukünftigen Warnung, die eine weitere potenzielle Kollision anzeigt. Der eine oder die mehreren Prozessoren 1306 können aus der Datenbank 1308 Daten empfangen, die durch die Rechenvorrichtung 1304 während des Betriebs des AF 100. gesammelt wurden - z. B. den anfänglichen Fahrzeugzustand 1604. In einer alternativen Implementierung können der eine oder die mehreren Prozessoren 1306 den anfänglichen Fahrzeugzustand 1604 direkt aus der Rechenvorrichtung 1304 des AF 100 empfangen. Der anfängliche Fahrzeugzustand 1604 kann der Zustand des AF 100 sein, wie z. B. die Position des AF 100, die Linear- und Winkelgeschwindigkeit und -beschleunigung sowie die Bewegungsrichtung (z. B. eine Ausrichtung der Vorderseite des AF 100).
  • Der eine oder die mehreren Prozessoren 1306 können basierend auf den empfangenen Daten Simulationen 1606 und 1608 von Operationen des Planungsmoduls 1606 und des Steuermoduls 1608 des AF 100 erzeugen, um simulierte Daten zu erzeugen. Die Simulation 1606 kann Spuren von Objekten 1610 aus der Datenbank 1308 empfangen. Die Spuren von Objekten 1610 sind Bewegungsbahnen der Objekte und können die Position des Objekts im Zeitverlauf anzeigen. Die Simulationen 1606 und 1608 können simulierte Daten erzeugen (z. B. kann die Simulation 1606 des Planungsmoduls 404 eine simulierte geplante Bewegungsbahn 1612 erzeugen, und die Simulation 1608 des Steuermoduls kann Steuerbefehle 1613 erzeugen). Die Simulationen 1606 und 1608 der jeweiligen Module können entsprechende simulierte Daten erzeugen, einschließlich des simulierten Fahrzeugzustands 1614. Der eine oder die mehreren Prozessoren 1306 können die simulierten Daten bereitstellen, um die Simulation 1606 des Planungsmoduls 404 zu aktualisieren.
  • Der eine oder die mehreren Prozessoren 1306 können mindestens einen Abschnitt der simulierten Daten identifizieren, der eine Übernahme (z. B. durch einen Fahrer oder eine Ferneinrichtung) aus einem Autopilot-Modus als Reaktion auf die Erzeugung einer Warnung durch die Rechenvorrichtung 1304 anzeigt, die auf eine potenzielle Kollision hinweist. In einigen Implementierungen kann die Warnung die Aktivierung einer oder mehrerer Lampen oder eines Audiosignals sein, die an die Rechenvorrichtung 1304 des AF 100 angeschlossen sind. Die Warnung kann dazu ausgelegt sein, ein unvorhergesehenes Ereignis im Nahbereich des AF 100 anzuzeigen. In einigen wenigen Implementierungen kann die Warnung zusätzlich oder alternativ jede Art von Benachrichtigung sein, die das unvorhergesehene Ereignis anzeigt, wie z. B. eine E-Mail, eine Textnachricht, eine Benachrichtigung in sozialen Medien oder dergleichen an einen Fahrer des AF 100.
  • Wenn die Warnung erzeugt wird, kann die Übernahme durch einen Fahrer (z. B. Sicherheitsfahrer) innerhalb des AF 100 erfolgen. Der Fahrer kann durch Betätigen der Notbremse übernehmen. Die Übernahme kann beinhalten, das AF 100 in einen sicheren Bereich weg von einem unvorhergesehenen Ereignis im Nahbereich des AF 100 zu navigieren. Das unvorhergesehene Ereignis kann eine oder mehrere unvorhergesehene Sperrungen eines durch das AF 100 befahrenen Weges, das unvorhergesehene Vorhandensein eines oder mehrerer Objekte oder eines oder mehrerer Lebewesen in einem Weg des AF 100 oder eine unvorhergesehene Wetterbedingung während des Betriebs des AF 100 beinhalten.
  • Obgleich die Übernahme hier als durch einen Fahrer (z. B. Sicherheitsfahrer) vorgenommen beschrieben wird, kann in einigen Implementierungen die Übernahme aus der Ferne durchgeführt werden, und zwar entweder durch einen menschlichen Benutzer oder durch ein automatisches Backend-Computersystem, das dazu ausgelegt ist, ein oder mehrere Module zu steuern (z. B. das Steuermodul 406, das die Bremsung des AF 100 steuert). In derartigen Implementierungen kann die Warnung auch durch die Bestimmung (z. B. Erkennung) durch die Rechenvorrichtung 1304 ausgelöst werden, wenn sich die Vitalwerte eines Fahrers um mehr als einen Schwellenwert ändern. Die Vitalwerte können Pulsfrequenz, Atemfrequenz, Blutdruck oder andere Vitalwerte sein, die durch eine bevorstehende Kollision beeinträchtigt sein können. Eine derartige Warnung kann die Fernübernahme einleiten, um die Kollision zu verhindern. Wenn z. B. bestimmt wird, dass die Pulsfrequenz - die eine Messung der Herzfrequenz oder der Anzahl der Herzschläge pro Minute des Fahrers ist - 120 Schläge pro Minute überschreitet (was deutlich über dem normalen Bereich von 60 bis 100 Schlägen pro Minute für einen Erwachsenen liegt), kann die Fernübernahme initialisiert werden. In einigen Beispielen kann die Fernübernahme initialisiert werden, wenn bestimmt wird, dass die Atemfrequenz - d. h. die Anzahl der Atemzüge, die eine Person pro Minute macht - des Fahrers 20 Atemzüge pro Minute überschreitet (was deutlich über dem normalen Bereich von 12 bis 16 Atemzügen pro Minute für einen Erwachsenen liegt). Wenn in einigen Beispielen der Blutdruck - d. h. die während der Kontraktion und Entspannung des Herzens gegen die Arterienwände drückende Kraft des Blutes - eines ansonsten normalen Fahrers (d. h. eines Fahrers mit einem systolischen Druck von weniger als 120 und einem diastolischen Druck von weniger als 80) als ein Blutdruck der Stufe 1 (d. h. ein systolischer Druck von 130 bis 139 oder diastolischer Druck von 80 bis 89) oder einen Blutdruck der Stufe 2 (d. h. ein systolischer Druck von 140 oder höher oder diastolischer Druck von 90 oder höher) bestimmt wird, kann die Fernübernahme eingeleitet werden.
  • Der eine oder die mehreren Prozessoren 1306 können bei 1708 den mindestens einen Abschnitt der simulierten Daten analysieren, um Metriken, die anzeigen, ob eine Kollision wahrscheinlich eingetreten wäre, wenn die Übernahme nicht stattgefunden hätte, und Steuerbefehle zur Vermeidung einer solchen Kollision zu bestimmen. Beispielsweise können die Metriken spezifische Bremssteuerbefehle enthalten, die auch Angaben darüber enthalten können, wann die Bremsen des AF 100 betätigt werden müssen, damit eine Kollision bei fehlender Übernahme vermieden werden kann. Zum Beispiel können die Steuerbefehle für die Bremsen festlegen, dass die Bremsen betätigt werden, wenn das AF 100 auf eine bestimmte Weise agiert oder arbeitet, z. B. wenn Sensordaten, Bewegungsbahndaten und/oder der Fahrzeugzustand des AF 100 voreingestellte Werte oder Werte innerhalb voreingestellter Bereiche aufweisen, während das AF 100 in Betrieb ist. In einigen Implementierungen können die Metriken ferner Fehlersuchdaten beinhalten, die Programmieranweisungen oder Details enthalten können, die die Rechenvorrichtung ausführen kann, um Fälle zu identifizieren, in denen eine Kollision aufgetreten wäre, wenn die Übernahme nicht stattgefunden hätte, und um eine solche Kollision zu verhindern.
  • In einigen Implementierungen können bei 1710 der eine oder die mehreren Prozessoren 1306 die Metriken an die Rechenvorrichtung 1304 übertragen, die so programmiert sein kann, dass sie diese Metriken zur Erzeugung von zukünftigen Anweisungen verwendet, um die Genauigkeit einer zukünftigen Warnung zu verbessern, die eine weitere potenzielle Kollision anzeigt. In anderen Implementierungen können der eine oder die mehreren Prozessoren 1306, anstatt die Metriken an die Rechenvorrichtung 1304 zu übertragen, die Metriken dazu verwenden, Anweisungen zu erzeugen und Daten, die diese Anweisungen charakterisieren, an die Rechenvorrichtung 1304 zu übertragen, die diese Anweisungen ausführen kann, wodurch die Genauigkeit einer zukünftigen Warnung, die eine weitere potenzielle Kollision anzeigt, verbessert wird. Der eine oder die mehreren Prozessoren 1306 können die Metriken in der Datenbank 1312 speichern.
  • Implementierungen und alle in dieser Spezifikation beschriebenen funktionalen Operationen können in digitalen elektronischen Schaltungen oder in Computersoftware, - firmware oder -hardware realisiert werden, einschließlich der in dieser Spezifikation enthaltenen Strukturen und ihrer strukturellen Entsprechungen oder in Kombinationen aus einer oder mehreren von ihnen. Implementierungen können als ein oder mehrere Computerprogrammprodukte realisiert werden, d. h. ein oder mehrere Module von auf einem computerlesbaren Medium kodierten Computerprogrammanweisungen zur Ausführung durch oder zur Steuerung des Betriebs von Datenverarbeitungsvorrichtungen. Das computerlesbare Medium kann eine maschinenlesbare Speichervorrichtung, ein maschinenlesbares Speichersubstrat, eine Speichervorrichtung, eine Zusammensetzung von Stoffen, die ein maschinenlesbares verbreitetes Signal bewirken, oder eine Kombination aus einem oder mehreren von ihnen sein. Der Begriff „Rechensystem“ umfasst sämtliche Vorrichtungen, Einrichtungen und Maschinen für die Verarbeitung von Daten, einschließlich beispielsweise durch einen programmierbaren Prozessor, einen Computer oder mehrere Prozessoren oder Computer. Die Vorrichtung kann neben der Hardware auch Code aufweisen, der eine Ausführungsumgebung für das betreffende Computerprogramm erzeugt, z. B. Code, der eine Prozessor-Firmware, einen Protokollstack, ein Datenbankverwaltungssystem, ein Betriebssystem oder eine Kombination aus einem oder mehreren davon darstellt. Ein verbreitetes Signal ist ein künstlich erzeugtes Signal, z. B. ein maschinell erzeugtes elektrisches, optisches oder elektromagnetisches Signal, das erzeugt wird, um Informationen zur Übertragung an geeignete Empfangsvorrichtungen zu kodieren.
  • Ein Computerprogramm (auch als Programm, Software, Softwareanwendung, Skript oder Code bezeichnet) kann in jeder geeigneten Form einer Programmiersprache geschrieben sein, einschließlich kompilierter oder interpretierter Sprachen, und es kann in jeder geeigneten Form eingesetzt werden, einschließlich als eigenständiges Programm oder als Modul, Komponente, Unterprogramm oder andere Einheit, die sich für die Verwendung in einer Rechenumgebung eignet. Ein Computerprogramm entspricht nicht notwendigerweise einer Datei in einem Dateisystem. Ein Programm kann in einem Abschnitt einer Datei gespeichert sein, die andere Programme oder Daten enthält (z. B. ein oder mehrere Skripte, die in einem Markup Language-Dokument gespeichert sind), in einer einzelnen für das betreffende Programm bestimmten Datei oder in mehreren koordinierten Dateien (z. B. Dateien, die ein oder mehrere Module, Unterprogramme oder Teile des Codes speichern). Ein Computerprogramm kann so eingesetzt werden, dass es auf einem Computer oder auf mehreren Computern ausgeführt wird, die sich an einem Ort befinden oder über mehrere Orte verteilt und durch ein Kommunikationsnetzwerk miteinander verbunden sind.
  • Die in dieser Spezifikation beschriebenen Abläufe und logischen Flüsse können durch einen oder mehrere programmierbare Prozessoren durchgeführt werden, die ein oder mehrere Computerprogramme ausführen, um Funktionen durch den Betrieb auf Eingabedaten und die Erzeugung von Ausgaben auszuführen. Die Abläufe und logischen Flüsse können auch durch spezielle logische Schaltungen, z. B. einen FPGA (feldprogrammierbares Gatter-Array) oder eine ASIC (anwendungsspezifische integrierte Schaltung), durchgeführt werden, und Vorrichtungen können auch als solche implementiert werden.
  • Prozessoren, die für die Ausführung eines Computerprogramms geeignet sind, enthalten zum Beispiel sowohl Mikroprozessoren für allgemeine und spezielle Zwecke als auch einen oder mehrere Prozessoren einer entsprechenden Art von Digitalrechner. Generell kann ein Prozessor Speicheranweisungen und Daten von einem Nur-Lese-Speicher oder einem Direktzugriffsspeicher oder von beidem empfangen. Elemente eines Computers können einen Prozessor zum Durchführen von Anweisungen und eine oder mehrere Speichervorrichtungen zum Speichern von Anweisungen und Daten enthalten. Generell kann ein Computer auch einen oder mehrere Massenspeichervorrichtungen zum Speichern von Daten enthalten oder betriebsmäßig gekoppelt sein, um Daten aus einem oder mehreren Massenspeichervorrichtungen, z. B. magnetischen, magnetooptischen Platten oder optischen Disks, zu empfangen oder Daten an diese zu übertragen, oder beides. Ein Computer muss jedoch keine solchen Vorrichtungen aufweisen. Darüber hinaus kann ein Computer in eine andere Vorrichtung eingebettet sein, z. B. in ein Mobiltelefon, einen persönlichen digitalen Assistenten (PDA), ein mobiles Audioabspielgerät, einen globalen Positionsbestimmungssystem(GPS)-Empfänger, um nur einige zu nennen. Zu den computerlesbaren Medien, die zum Speichern von Computerprogrammanweisungen und Daten geeignet sind, gehören alle Formen nichtflüchtiger Speicher, Medien und Speichervorrichtungen, einschließlich beispielsweise Halbleiterspeichervorrichtungen, z. B. EPROM, EEPROM und Flash-Speichervorrichtungen; Magnetplatten, z. B. interne Festplatten oder Wechselplatten, magnetooptische Platten und CD-ROM- und DVD-ROM-Disks. Der Prozessor und der Speicher können durch eine spezielle Logikschaltung ergänzt oder in diese integriert sein.
  • Um die Interaktion mit einem Benutzer zu ermöglichen, können Implementierungen auf einem Computer realisiert werden, der eine Anzeigevorrichtung, z. B. einen CRT(Kathodenstrahlröhre)- oder LCD(Flüssigkristallanzeige)-Monitor, zur Anzeige von Informationen für den Benutzer und eine Tastatur und eine Zeigevorrichtung, z. B. eine Maus oder einen Trackball, aufweist, durch die der Benutzer Eingaben an den Computer vornehmen kann. Es können auch andere Vorrichtungen verwendet werden, um die Interaktion mit einem Benutzer zu ermöglichen. Beispielsweise kann die Rückmeldung an den Benutzer jede geeignete Form der sensorischen Rückmeldung sein, z. B. visuelle Rückmeldung, akustische Rückmeldung oder taktile Rückmeldung; und die Eingabe des Benutzers kann in jeder geeigneten Form empfangen werden, einschließlich akustischer, sprachlicher oder taktiler Eingabe.
  • Implementierungen können in einem Rechensystem realisiert werden, das eine Backend-Komponente, z. B. als Datenserver, oder eine Middleware-Komponente, z. B. einen Anwendungsserver, oder eine Frontend-Komponente, z. B. einen Client-Computer mit einer grafischen Benutzeroberfläche oder einem Webbrowser, über den ein Benutzer mit einer Implementierung interagieren kann, oder eine geeignete Kombination einer oder mehrerer solcher Backend-, Middleware- oder Frontend-Komponenten aufweist. Die Komponenten des Systems können durch jede geeignete Form oder jedes geeignete Medium der digitalen Datenkommunikation, z. B. durch ein Kommunikationsnetzwerk, miteinander verbunden sein. Beispiele für Kommunikationsnetzwerke sind ein lokales Netzwerk („LAN“) und ein Weitverkehrsnetz („WAN“), z. B. das Internet.
  • Das Rechensystem kann Clients und Server beinhalten. Ein Client und Server sind in der Regel voneinander entfernt und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung von Client und Server entsteht durch Computerprogramme, die auf den jeweiligen Rechnern laufen und eine Client-Server-Beziehung zueinander aufweisen.
  • Zwar enthält diese Spezifikation viele spezifische Angaben, doch sollten diese nicht als Einschränkungen des Schutzbereichs der Offenbarung oder dessen, was beansprucht werden kann, ausgelegt werden, sondern vielmehr als Beschreibungen von Merkmalen, die für bestimmte Implementierungen spezifisch sind. Bestimmte Merkmale, die in dieser Spezifikation im Zusammenhang mit separaten Implementierungen beschrieben sind, können auch in Kombination in einer einzelnen Implementierung implementiert werden. Umgekehrt können verschiedene Merkmale, die im Zusammenhang mit einer einzelnen Implementierung beschrieben sind, auch in mehreren Implementierungen getrennt oder in jeder geeigneten Unterkombination implementiert werden. Darüber hinaus, obwohl Merkmale oben als in bestimmten Kombinationen wirkend beschrieben und sogar zunächst als solche beansprucht sein können, können ein oder mehrere Merkmale aus einer beanspruchten Kombination in einigen Beispielen aus der Kombination herausgenommen werden, und die beanspruchte Kombination kann auf eine Unterkombination oder Variation einer Unterkombination gerichtet sein.
  • In ähnlicher Weise sollte, auch wenn die Operationen in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, dies nicht so verstanden werden, dass diese Operationen in der gezeigten Reihenfolge oder in sequentieller Reihenfolge durchgeführt werden müssen oder dass alle dargestellten Operationen durchgeführt werden müssen, um die gewünschten Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und parallele Vorgänge von Vorteil sein. Darüber hinaus sollte die Trennung der verschiedenen Systemkomponenten in den oben beschriebenen Implementierungen nicht so verstanden werden, dass eine solche Trennung in allen Implementierungen erforderlich ist, und es sollte verstanden werden, dass die beschriebenen Programmkomponenten und Systeme generell zusammen in ein einzelnes Softwareprodukt integriert oder in mehrere Softwareprodukte gepackt werden können.
  • Es sind eine Reihe von Implementierungen der Erfindung beschrieben worden. Dennoch versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne vom Geist und Schutzbereich der Offenbarung abzuweichen. Beispielsweise können verschiedene Formen der oben gezeigten Abläufe zur Anwendung kommen, wobei Schritte in anderer Reihenfolge angeordnet, hinzugefügt oder entfernt sein können. Dementsprechend fallen auch andere Implementierungen in den Schutzbereich der folgenden Ansprüche.
  • In der vorliegenden Beschreibung sind verschiedene Ausführungsformen mit Bezug auf zahlreiche spezifische Details beschrieben, die von Implementierung zu Implementierung variieren können. Die Beschreibung und die Zeichnungen sind dementsprechend in einem veranschaulichenden statt einem einschränkenden Sinn zu sehen. Der einzige und ausschließliche Indikator für den Umfang der Erfindung und das, was durch die Anmelder als Schutzbereich der Ausführungsformen beabsichtigt ist, ist der wörtliche und äquivalente Umfang der Menge der Ansprüche, die aus dieser Anmeldung in der spezifischen Form hervorgehen, in der diese Ansprüche ausgestellt sind, einschließlich etwaiger späterer Korrekturen. Alle hier ausdrücklich dargelegten Definitionen für Begriffe, die in diesen Ansprüchen enthalten sind, regeln die Bedeutung der in den Ansprüchen verwendeten Begriffe. Darüber hinaus kann bei Verwendung des Begriffs „ferner umfassend“ in der vorhergehenden Beschreibung oder in den folgenden Ansprüchen das auf diese Formulierung Folgende ein zusätzlicher Schritt oder eine zusätzliche Einrichtung oder ein Unterschritt bzw. eine Untereinrichtung eines bereits erwähnten Schritts oder einer bereits erwähnten Einrichtung sein.

Claims (31)

  1. Verfahren, umfassend: Empfangen von Daten durch einen oder mehrere Prozessoren, die durch eine Rechenvorrichtung eines autonomen Fahrzeugs während des Betriebs des autonomen Fahrzeugs gesammelt werden; Erzeugen einer Simulation des Betriebs des autonomen Fahrzeugs durch einen oder mehrere Prozessoren und basierend auf den empfangenen Daten; Identifizieren mindestens eines Abschnitts der Simulation, der eine Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des autonomen Fahrzeugs anzeigt, durch den einen oder die mehreren Prozessoren; Analysieren des mindestens einen Abschnitts der Simulation durch den einen oder die mehreren Prozessoren, um Metriken für den mindestens einen Abschnitt der Simulation zu erzeugen; und Übertragen der Metriken durch den einen oder die mehreren Prozessoren an die Rechenvorrichtung, wobei die Rechenvorrichtung dazu ausgelegt ist, anhand der Metriken eine weitere Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des autonomen Fahrzeugs zu vermeiden.
  2. Verfahren gemäß Anspruch 1, wobei die Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des autonomen Fahrzeugs auftritt, wenn die gesammelten Daten anzeigen, dass die Rechenvorrichtung eine Warnung vor einer potenziellen Kollision angezeigt hat, während der simulierte Betrieb anzeigt, dass die Warnung falsch ist.
  3. Verfahren gemäß Anspruch 2, wobei die Warnung eine Benachrichtigung umfasst, die ein unvorhergesehenes Ereignis im Nahbereich des autonomen Fahrzeugs anzeigt.
  4. Verfahren gemäß Anspruch 3, wobei das unvorhergesehene Ereignis eines oder mehreres einer unvorhergesehenen Sperrung eines durch das autonome Fahrzeug befahrenen Weges, eines unvorhergesehenen Vorhandenseins eines oder mehrerer Objekte oder eines oder mehrerer Lebewesen in einem Weg des autonomen Fahrzeugs oder einer unvorhergesehenen Wetterbedingung während des Betriebs des autonomen Fahrzeugs umfasst.
  5. Verfahren gemäß einem der Ansprüche 2-4, wobei die Warnung eine Benachrichtigung umfasst, die eine Fehlfunktion der Rechenvorrichtung anzeigt.
  6. Verfahren gemäß einem der Ansprüche 1-5, wobei die Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des autonomen Fahrzeugs auftritt, wenn die gesammelten Daten anzeigen, dass die Rechenvorrichtung keine Warnung vor einer potenziellen Kollision angezeigt hat, während der simulierte Betrieb eine potenzielle Kollision anzeigt.
  7. Verfahren gemäß Anspruch 6, wobei die Warnung eine Benachrichtigung umfasst, die ein unvorhergesehenes Ereignis im Nahbereich des autonomen Fahrzeugs anzeigt.
  8. Verfahren gemäß Anspruch 7, wobei das unvorhergesehene Ereignis eines oder mehreres einer unvorhergesehenen Sperrung eines durch das autonome Fahrzeug befahrenen Weges, eines unvorhergesehenen Vorhandenseins eines oder mehrerer Objekte oder eines oder mehrerer Lebewesen in einem Weg des autonomen Fahrzeugs oder einer unvorhergesehenen Wetterbedingung während des Betriebs des autonomen Fahrzeugs umfasst.
  9. Verfahren gemäß einem der Ansprüche 6-8, wobei die Warnung eine Benachrichtigung umfasst, die eine Fehlfunktion der Rechenvorrichtung anzeigt.
  10. Verfahren gemäß einem der Ansprüche 1-9, ferner umfassend das Speichern der durch die Rechenvorrichtung gesammelten Daten in einer Datenbank, wobei das Empfangen der gesammelten Daten durch den einen oder die mehreren Prozessoren das Empfangen der gesammelten Daten aus der Datenbank umfasst.
  11. Verfahren gemäß einem der Ansprüche 1-10, wobei der eine oder die mehreren Prozessoren eine Benutzeroberfläche implementieren, die es einem Benutzer ermöglicht, das autonome Fahrzeug aus einer Vielzahl von autonomen Fahrzeugen auszuwählen, die auf der Benutzeroberfläche angezeigt werden, wobei die Auswahl durch den Benutzer vor dem Empfangen der gesammelten Daten durch einen oder mehrere Prozessoren durchgeführt wird.
  12. System, umfassend: eine erste Datenbank zum Speichern von Daten, die den Betrieb mindestens eines Moduls innerhalb einer Rechenvorrichtung eines autonomen Fahrzeugs anzeigen; einen Simulator, der einen oder mehrere Prozessoren umfasst, wobei der eine oder die mehreren Prozessoren dazu ausgelegt sind: die gespeicherten Daten aus der ersten Datenbank zu empfangen; eine Simulation des Betriebs des mindestens einen Moduls basierend auf den empfangenen Daten zu erzeugen; mindestens einen Abschnitt der Simulation, der eine Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des autonomen Fahrzeugs anzeigt, zu identifizieren; den mindestens einen Abschnitt der Simulation zu analysieren, um Metriken für den mindestens einen Abschnitt der Simulation zu erzeugen, wobei die Metriken dazu verwendet werden können, eine weitere Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des autonomen Fahrzeugs zu vermeiden; und eine zweite Datenbank, die zum Speichern der Metriken ausgelegt ist.
  13. System gemäß Anspruch 12, wobei die Rechenvorrichtung dazu ausgelegt ist, die in der zweiten Datenbank gespeicherten Metriken dazu zu verwenden, eine weitere Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des autonomen Fahrzeugs zu vermeiden.
  14. System gemäß Anspruch 12 oder 13, wobei das mindestens eine Modul ein autonomes Fahrzeug-Notbrems(AVEB)-Modul umfasst, das dazu ausgelegt ist, zu bestimmen, ob eine Bremse des autonomen Fahrzeugs zu einem bestimmten Zeitpunkt während des Betriebs des autonomen Fahrzeugs zu aktivieren ist.
  15. System gemäß Anspruch 14, wobei die in der zweiten Datenbank gespeicherten Metriken dazu verwendet werden, eine aktualisierte Bestimmung zu erzeugen, ob die Bremse des autonomen Fahrzeugs zu dem bestimmten Zeitpunkt während des Betriebs des autonomen Fahrzeugs zu aktivieren ist, wobei die aktualisierte Bestimmung dazu verwendet wird, die weitere Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des autonomen Fahrzeugs zu vermeiden.
  16. System gemäß einem der Ansprüche 12-15, wobei: die Rechenvorrichtung des autonomen Fahrzeugs ferner ein Planungsmodul und ein Steuermodul umfasst; die Simulation des Betriebs des mindestens einen Moduls eine Simulation des Planungsmoduls und des Steuermoduls umfasst; und die in der zweiten Datenbank gespeicherten Metriken das Funktionieren des Planungsmoduls und des Steuermoduls anzeigen, um die weitere Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des autonomen Fahrzeugs zu vermeiden.
  17. Nichtflüchtiges Computerprogrammprodukt, das Anweisungen speichert, die beim Ausführen durch mindestens einen programmierbaren Prozessor bewirken, dass der mindestens eine programmierbare Prozessor Operationen durchführt, die Folgendes umfassen: Empfangen von Daten, die durch eine Rechenvorrichtung eines autonomen Fahrzeugs während des Betriebs des autonomen Fahrzeugs gesammelt werden; Erzeugen einer Simulation des Betriebs des autonomen Fahrzeugs basierend auf den empfangenen Daten; Identifizieren mindestens eines Abschnitts der Simulation, der eine Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des autonomen Fahrzeugs anzeigt; Analysieren des mindestens einen Abschnitts der Simulation, um Metriken für den mindestens einen Abschnitt der Simulation zu erzeugen; und Übertragen der Metriken an die Rechenvorrichtung, wobei die Rechenvorrichtung dazu ausgelegt ist, anhand der Metriken eine weitere Abweichung zwischen den gesammelten Daten und dem simulierten Betrieb des autonomen Fahrzeugs zu vermeiden.
  18. Verfahren, umfassend: Empfangen von Daten durch einen oder mehrere Prozessoren, die durch eine Rechenvorrichtung eines autonomen Fahrzeugs während des Betriebs des autonomen Fahrzeugs gesammelt werden; Erzeugen einer Simulation des Betriebs des autonomen Fahrzeugs durch einen oder mehrere Prozessoren und basierend auf den empfangenen Daten; Identifizieren mindestens eines Abschnitts der Simulation, der eine Übernahme aus einem Autopilot-Modus als Reaktion auf die Erzeugung einer Warnung durch die Rechenvorrichtung vor einer potenziellen Kollision anzeigt, durch den einen oder die mehreren Prozessoren; Analysieren des mindestens einen Abschnitts der Simulation durch den einen oder die mehreren Prozessoren, um Metriken zu bestimmen, die anzeigen, ob eine Kollision wahrscheinlich aufgetreten wäre, wenn die Übernahme nicht stattgefunden hätte; und Übertragen der Metriken durch den einen oder die mehreren Prozessoren an die Rechenvorrichtung, wobei die Rechenvorrichtung dazu ausgelegt ist, die Metriken zum Verbessern der Genauigkeit einer zukünftigen Warnung, die eine weitere potenzielle Kollision anzeigt, zu verwenden.
  19. Verfahren gemäß Anspruch 18, wobei das Übernehmen durch den Fahrer das Betätigen von Notbremsen durch den Sicherheitsfahrer umfasst.
  20. Verfahren gemäß Anspruch 18 oder 19, wobei das Übernehmen durch den Fahrer das Navigieren des autonomen Fahrzeugs in einen sicheren Bereich weg von einem unvorhergesehenen Ereignis im Nahbereich des autonomen Fahrzeugs umfasst.
  21. Verfahren gemäß Anspruch 20, wobei das unvorhergesehene Ereignis eines oder mehreres von einer unvorhergesehenen Sperrung eines durch das autonome Fahrzeug befahrenen Weges, ein unvorhergesehenes Vorhandensein eines oder mehrerer Objekte oder eines oder mehrerer Lebewesen in einem Weg des autonomen Fahrzeugs oder eine unvorhergesehene Wetterbedingung während des Betriebs des autonomen Fahrzeugs umfasst.
  22. Verfahren gemäß einem der Ansprüche 18-21, wobei die Übernahme durch einen Fahrer des autonomen Fahrzeugs erfolgt.
  23. Verfahren gemäß einem der Ansprüche 18-22, wobei die Übernahme durch einen Computer erfolgt, der über ein Kommunikationsnetzwerk mit der Rechenvorrichtung gekoppelt und dazu ausgelegt ist, den Betrieb des autonomen Fahrzeugs aus der Ferne zu steuern.
  24. Verfahren gemäß einem der Ansprüche 18-23, wobei die Rechenvorrichtung die Warnung als Reaktion auf die Erkennung erzeugt, dass sich die Vitalwerte eines Fahrers des autonomen Fahrzeugs um mehr als einen Schwellenwert geändert haben, wobei die Übernahme durch einen Computer erfolgt, der über ein Kommunikationsnetzwerk mit der Rechenvorrichtung gekoppelt und dazu ausgelegt ist, den Betrieb des autonomen Fahrzeugs aus der Ferne zu steuern.
  25. Verfahren gemäß einem der Ansprüche 18-24, ferner umfassend das Speichern der durch die Rechenvorrichtung gesammelten Daten in einer Datenbank, wobei das Empfangen der gesammelten Daten durch den einen oder die mehreren Prozessoren das Empfangen der gesammelten Daten aus der Datenbank umfasst.
  26. Verfahren gemäß einem der Ansprüche 18-25, wobei der eine oder die mehreren Prozessoren eine Benutzeroberfläche implementieren, die es einem Benutzer ermöglicht, das autonome Fahrzeug aus einer Vielzahl von autonomen Fahrzeugen auszuwählen, wobei die Auswahl durch den Benutzer vor dem Empfangen der gesammelten Daten durch einen oder mehrere Prozessoren durchgeführt wird.
  27. System, umfassend: eine erste Datenbank, die dazu ausgelegt ist, aus einer Rechenvorrichtung eines autonomen Fahrzeugs empfangene Daten zu speichern, wobei die gespeicherten Daten den Betrieb des autonomen Fahrzeugs anzeigen; einen Simulator, der einen oder mehrere Prozessoren umfasst, wobei der eine oder die mehreren Prozessoren dazu ausgelegt sind: die gespeicherten Daten aus der Datenbank zu empfangen; eine Simulation des Betriebs des autonomen Fahrzeugs basierend auf den empfangenen Daten zu erzeugen; mindestens einen Abschnitt der Simulation, der eine Übernahme von einem Autopilot-Modus als Reaktion auf die Erzeugung einer Warnung durch die Rechenvorrichtung vor einer potenziellen Kollision anzeigt, zu identifizieren; den mindestens einen Abschnitt der Simulation zu analysieren, um Metriken zu bestimmen, die anzeigen, ob eine Kollision wahrscheinlich aufgetreten wäre, wenn die Übernahme nicht stattgefunden hätte; und eine zweite Datenbank, die zum Speichern der Metriken ausgelegt ist.
  28. System gemäß Anspruch 27, wobei die Rechenvorrichtung dazu ausgelegt ist, die in der zweiten Datenbank gespeicherten Metriken zum Verbessern der Genauigkeit einer zukünftigen Warnung, die eine weitere potenzielle Kollision anzeigt, zu verwenden.
  29. System gemäß Anspruch 27 oder 28, wobei: die Rechenvorrichtung des autonomen Fahrzeugs ein Planungsmodul und ein Steuermodul umfasst; die Simulation des Betriebs des autonomen Fahrzeugs eine Simulation des Planungsmoduls und des Steuermoduls umfasst; und die in der zweiten Datenbank gespeicherten Metriken das Funktionieren des Planungsmoduls und des Steuermoduls anzeigen, um die Genauigkeit einer zukünftigen Warnung zu verbessern, die eine weitere potenzielle Kollision anzeigt.
  30. System gemäß Anspruch 29, wobei sowohl das Planungsmodul als auch das Steuermodul ein auf einem entsprechenden Prozessor implementiertes Softwaremodul ist.
  31. Nichtflüchtiges Computerprogrammprodukt, das Anweisungen speichert, die beim Ausführen durch mindestens einen programmierbaren Prozessor bewirken, dass der mindestens eine programmierbare Prozessor Operationen durchführt, die Folgendes umfassen: Empfangen von Daten, die durch eine Rechenvorrichtung eines autonomen Fahrzeugs während des Betriebs des autonomen Fahrzeugs gesammelt werden; Erzeugen einer Simulation des Betriebs des autonomen Fahrzeugs basierend auf den empfangenen Daten; Identifizieren mindestens eines Abschnitts der Simulation, der eine Übernahme aus einem Autopilot-Modus als Reaktion auf die Erzeugung einer Warnung durch die Rechenvorrichtung vor einer potenziellen Kollision anzeigt; Analysieren des mindestens einen Abschnitts der Simulation, um Metriken zu bestimmen, die anzeigen, ob eine Kollision wahrscheinlich aufgetreten wäre, wenn die Übernahme nicht stattgefunden hätte; und Übertragen der Metriken an die Rechenvorrichtung, wobei die Rechenvorrichtung dazu ausgelegt ist, die Metriken zum Verbessern der Genauigkeit einer zukünftigen Warnung, die eine weitere potenzielle Kollision anzeigt, zu verwenden.
DE102020128433.0A 2020-08-25 2020-10-29 Simulation eines autonomen Fahrzeugs zur Verbesserung der Sicherheit und Zuverlässigkeit eines autonomen Fahrzeugs Pending DE102020128433A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/002,752 US11568688B2 (en) 2020-08-25 2020-08-25 Simulation of autonomous vehicle to improve safety and reliability of autonomous vehicle
US17/002,752 2020-08-25

Publications (1)

Publication Number Publication Date
DE102020128433A1 true DE102020128433A1 (de) 2022-03-03

Family

ID=73223808

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020128433.0A Pending DE102020128433A1 (de) 2020-08-25 2020-10-29 Simulation eines autonomen Fahrzeugs zur Verbesserung der Sicherheit und Zuverlässigkeit eines autonomen Fahrzeugs

Country Status (5)

Country Link
US (1) US11568688B2 (de)
KR (1) KR102388237B1 (de)
CN (1) CN114117719A (de)
DE (1) DE102020128433A1 (de)
GB (2) GB2598411B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11953333B2 (en) * 2019-03-06 2024-04-09 Lyft, Inc. Systems and methods for autonomous vehicle performance evaluation
US11568688B2 (en) * 2020-08-25 2023-01-31 Motional Ad Llc Simulation of autonomous vehicle to improve safety and reliability of autonomous vehicle
US20220161811A1 (en) * 2020-11-25 2022-05-26 Woven Planet North America, Inc. Vehicle disengagement simulation and evaluation
JP2023033852A (ja) * 2021-08-30 2023-03-13 トヨタ自動車株式会社 車両運転支援装置及び車両運転支援プログラム
US20230360531A1 (en) * 2022-05-07 2023-11-09 Autotalks Ltd. System and method for adaptive v2x applications
KR102576733B1 (ko) * 2022-11-30 2023-09-08 주식회사 모라이 관제 플랫폼 연동 vils 기반 교통 환경 재현 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111505965A (zh) 2020-06-17 2020-08-07 深圳裹动智驾科技有限公司 自动驾驶车辆仿真测试的方法、装置、计算机设备及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4201146C2 (de) 1991-01-18 2003-01-30 Hitachi Ltd Vorrichtung zur Steuerung des Kraftfahrzeugverhaltens
KR101703144B1 (ko) 2012-02-09 2017-02-06 한국전자통신연구원 차량의 자율주행 장치 및 그 방법
US10162354B2 (en) 2016-07-21 2018-12-25 Baidu Usa Llc Controlling error corrected planning methods for operating autonomous vehicles
US9741570B1 (en) * 2016-07-29 2017-08-22 Infineon Technologies Austria Ag Method of manufacturing a reverse-blocking IGBT
US11008000B2 (en) 2017-06-20 2021-05-18 Motional Ad Llc Risk processing for vehicles having autonomous driving capabilities
US11328219B2 (en) 2018-04-12 2022-05-10 Baidu Usa Llc System and method for training a machine learning model deployed on a simulation platform
DE102018212733A1 (de) * 2018-07-31 2020-02-06 Robert Bosch Gmbh Erkennung einer nachlassenden Leistungsfähigkeit eines Sensors
US10713148B2 (en) * 2018-08-07 2020-07-14 Waymo Llc Using divergence to conduct log-based simulations
JP6831474B2 (ja) 2018-08-24 2021-02-17 バイドゥ ドットコム タイムス テクノロジー (ベイジン) カンパニー リミテッド センサ間でデータを伝送するためのデータ伝送ロジック並びに自動運転車の計画及び制御
US10482003B1 (en) * 2018-11-09 2019-11-19 Aimotive Kft. Method and system for modifying a control unit of an autonomous car
US20200276973A1 (en) 2019-03-01 2020-09-03 Aptiv Technologies Limited Operation of a vehicle in the event of an emergency
DE102020210789A1 (de) 2019-08-27 2021-03-04 Psa Automobiles Sa Analyse eines neuronalen Netzes für ein Fahrzeug
US11568688B2 (en) * 2020-08-25 2023-01-31 Motional Ad Llc Simulation of autonomous vehicle to improve safety and reliability of autonomous vehicle
CN112406906B (zh) * 2020-11-12 2022-05-27 中国汽车技术研究中心有限公司 一种基于驾驶模拟器的自动驾驶车辆接管时间测试方法
US20220161811A1 (en) * 2020-11-25 2022-05-26 Woven Planet North America, Inc. Vehicle disengagement simulation and evaluation
US11681296B2 (en) * 2020-12-11 2023-06-20 Motional Ad Llc Scenario-based behavior specification and validation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111505965A (zh) 2020-06-17 2020-08-07 深圳裹动智驾科技有限公司 自动驾驶车辆仿真测试的方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CN 1 11 505 965 A - Übersetzung

Also Published As

Publication number Publication date
GB2598411A (en) 2022-03-02
US20220068052A1 (en) 2022-03-03
GB202213787D0 (en) 2022-11-02
KR20220026983A (ko) 2022-03-07
GB202015797D0 (en) 2020-11-18
GB2607849A (en) 2022-12-14
US11568688B2 (en) 2023-01-31
KR102388237B1 (ko) 2022-04-19
CN114117719A (zh) 2022-03-01
GB2607849B (en) 2023-08-30
GB2598411B (en) 2022-11-30

Similar Documents

Publication Publication Date Title
DE102020111938A1 (de) Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie
DE102020111682A1 (de) Systeme und verfahren zum implementieren einer autonomen fahrzeugreaktion auf ein sensorversagen
DE112019004832T5 (de) Betrieb eines Fahrzeugs unter Verwendung von Bewegungsplanung mit maschinellem Lernen
DE112020000487T5 (de) Automatisches wählen von datenproben zur annotation
DE102020129456A1 (de) Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten bank von trajektorien
DE102020210499A1 (de) Datengesteuerte regelwerke
DE112019005425T5 (de) Redundanz in autonomen fahrzeugen
DE102021101758A1 (de) Ampeldetektionssystem für ein fahrzeug
DE102020128433A1 (de) Simulation eines autonomen Fahrzeugs zur Verbesserung der Sicherheit und Zuverlässigkeit eines autonomen Fahrzeugs
DE102021112349A1 (de) Fahrzeugbetrieb unter verwendung eines dynamischen belegungsrasters
DE112020000653T5 (de) Zusammenführen von daten aus mehreren lidar-vorrichtungen
DE112019006282T5 (de) Betrieb eines Fahrzeugs unter Verwendung mehrerer Bewegungsbeschränkungen
DE112020002695T5 (de) Autonomer fahrzeugbetrieb mittels linearer temporaler logik
DE102021105001A1 (de) Steuerungsarchitekturen für autonome fahrzeuge
DE102020132302A1 (de) Sicherheitssystem für ein fahrzeug
DE102020111250A1 (de) Grafische benutzerschnittstelle zur anzeige des verhaltens autonomer fahrzeuge
DE102021133742A1 (de) Planung einer trajektorie eines autonomen fahrzeugs mit dynamischem zustand
DE102020114306A1 (de) Schätzen von geschwindigkeitsprofilen
DE102021133340A1 (de) Modalitätsübergreifendes aktives lernen zur objekterkennung
DE102021211781A1 (de) Fahrzeugbetrieb unter verwendung von verhaltensregelprüfungen
DE102020128155A1 (de) Bedingte bewegungsvorhersagen
DE102021127118A1 (de) Identifizieren von Objekten mit LiDAR
DE102021132850A1 (de) Homotopiebasierter planer für autonome fahrzeuge
DE102021132722A1 (de) Auswählen von testszenarien zum bewerten der leistung autonomer fahrzeuge
DE102021131844A1 (de) Systeme und verfahren zum implementieren von verdeckungspräsentationen über strassenmerkmale

Legal Events

Date Code Title Description
R163 Identified publications notified