DE102019113856A1 - Systeme, verfahren und steuerungen für ein autonomes fahrzeug, die autonome fahreragenten und fahrrichtlinienlernende implementieren, um richtlinien basierend auf kollektiven fahrerfahrungen der autonomen fahreragenten zu erstellen und zu verbessern - Google Patents

Systeme, verfahren und steuerungen für ein autonomes fahrzeug, die autonome fahreragenten und fahrrichtlinienlernende implementieren, um richtlinien basierend auf kollektiven fahrerfahrungen der autonomen fahreragenten zu erstellen und zu verbessern Download PDF

Info

Publication number
DE102019113856A1
DE102019113856A1 DE102019113856.6A DE102019113856A DE102019113856A1 DE 102019113856 A1 DE102019113856 A1 DE 102019113856A1 DE 102019113856 A DE102019113856 A DE 102019113856A DE 102019113856 A1 DE102019113856 A1 DE 102019113856A1
Authority
DE
Germany
Prior art keywords
driving
policy
learning
driver
experience
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
DE102019113856.6A
Other languages
English (en)
Inventor
Praveen Palanisamy
Upali P. Mudalige
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102019113856A1 publication Critical patent/DE102019113856A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • G05D1/0236Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons in combination with a laser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • 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/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/08Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to drivers or passengers
    • B60W40/09Driving style or behaviour
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • GPHYSICS
    • 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
    • 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/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • 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/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • 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/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • 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/0259Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means
    • 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/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
    • 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/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0285Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using signals transmitted via a public communication network, e.g. GSM network
    • 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/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • G05D1/0295Fleet control by at least one leading vehicle of the fleet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/30Driving style
    • 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
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means

Landscapes

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

Abstract

Systeme und Verfahren werden autonom bereitgestellt, um die Richtlinienerstellung voranzutreiben. Das System kann eine Reihe von autonomen Fahreragenten und ein Fahrrichtlinien-Erzeugungsmodul beinhalten, das eine Reihe von Fahrrichtlinien-Lernmodulen zum Erzeugen und Verbessern von Richtlinien basierend auf den kollektiven Erfahrungen der Fahreragenten beinhaltet. Die Fahreragenten können Fahrerfahrungen sammeln, um eine Wissensdatenbank zu erstellen. Die Fahrrichtlinien-Lernmodule können die gesammelten Fahrerfahrungen verarbeiten, um Fahrrichtlinien zu extrahieren. Die Fahreragenten können über die Fahrrichtlinien-Lernmodule parallel und verteilt trainiert werden, um neue und effiziente Fahrrichtlinien und -verhaltensweisen schneller und effizienter zu finden. Paralleles und verteiltes Lernen kann ein beschleunigtes Training mehrerer autonomer intelligenter Fahreragenten ermöglichen.

Description

  • EINLEITUNG
  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf autonome Fahrzeuge, und insbesondere auf autonome Fahrzeugsteuerungen, autonome Fahrzeugsteuerungssysteme und zugehörige Verfahren zum Steuern von autonomen Fahrzeugen. Die Systeme, Verfahren und Steuerungen für ein autonomes Fahrzeug implementieren autonome Fahreragenten, die Fahrerfahrungen sammeln und Fahrrichtlinienlernende, die Richtlinien erzeugen und verbessern, die den autonomen Fahreragenten zum Steuern eines autonomen Fahrzeugs dienen und von diesen verwendet werden.
  • Ein autonomes Fahrzeug ist ein Fahrzeug, das in der Lage ist, seine Umgebung zu erfassen und mit geringfügiger oder gar keiner Benutzereingabe zu navigieren. Ein autonomes Fahrzeug beinhaltet ein autonomes Antriebssystem (ADS), welches das autonome Fahrzeug intelligent steuert. Ein Sensorsystem erfasst seine Umgebung unter Verwendung von Abtastvorrichtungen, wie beispielsweise Radar-, Lidar-, Bildsensoren und dergleichen. Das ADS kann Informationen von globalen Positioniersystem-(GPS)-Technologien, Navigationssystemen, Fahrzeug-Fahrzeug-Kommunikationen, Fahrzeug-Infrastruktur-Technologien und/oder Drive-by-Wire-Systemen verarbeiten, um das Fahrzeug zu navigieren.
  • Die Fahrzeugautomatisierung wurde kategorisiert nach nummerischen Ebenen von null, entsprechend keiner Automatisierung mit voller menschlicher Kontrolle, bis Fünf, entsprechend der vollen Automatisierung ohne menschliche Kontrolle. Verschiedene automatisierte Fahrerassistenzsysteme, wie beispielsweise Geschwindigkeitsregelung, adaptive Geschwindigkeitsregelung und Parkassistenzsysteme, entsprechen niedrigeren Automatisierungsebenen, während echte „fahrerlose“ Fahrzeuge mit höheren Automatisierungsebenen übereinstimmen. Gegenwärtig gibt es viele verschiedene Konzepte für die autonome Fahrzeugsteuerung, die jedoch alle mit Nachteilen behaftet sind.
  • Viele heute vorgeschlagene autonome Fahrzeuge, die in der Lage sind, einen höheren Automatisierungsgrad zu erreichen, erfordern eine externe Überwachung und/oder gekennzeichnete Daten. Darüber hinaus sind viele autonome Fahrzeugsysteme ohne Überwachung oder extern gekennzeichnete Daten nicht skalierbar. So sind beispielsweise Deep-Learning-Systeme für autonome Fahrzeugsysteme nicht skalierbar, da sie auf gekennzeichneten Daten basieren, deren Erstellung zu zeitaufwändig und arbeitsaufwändig ist. Das Training und die Validierung neuronaler Netzwerke, die zum Implementieren derartiger autonomer Fahrzeuge verwendet werden, um die Zuverlässigkeit der Fahrzeuge in allen Umgebungen oder Anwendungsfällen zu erreichen, ist eine große technische Aufgabe.
  • Dementsprechend ist es wünschenswert, Systeme und Verfahren für die autonome Fahrzeugsteuerung bereitzustellen, die zuverlässig, einfach zu trainieren und zu validieren sind usw. Ferner werden weitere wünschenswerte Funktionen und Merkmale der vorliegenden Offenbarung aus der nachfolgenden ausführlichen Beschreibung und den beigefügten Ansprüchen in Verbindung mit den beigefügten Zeichnungen, sowie dem vorangehenden technischen Gebiet und Hintergrund ersichtlich.
  • KURZDARSTELLUNG
  • Es sind Systeme, Verfahren und Steuerungen zum Steuern eines autonomen Fahrzeugs vorgesehen. In einer Ausführungsform ist ein Verfahren vorgesehen, das Folgendes umfasst: Erfassen von Fahrerfahrungen während verschiedener Fahrszenarien in verschiedenen Fahrumgebungen über einen oder mehrere Fahreragenten und einen oder mehrere entsprechende Fahrumgebungsprozessoren, worin jede Fahrerfahrung Daten umfasst, die eine bestimmte Fahrumgebung zu einem bestimmten Zeitpunkt darstellen; Abrufen mindestens eines Teils der Fahrerfahrungen über ein oder mehrere Fahrrichtlinien-Lernmodule eines Fahrrichtlinienerzeugungsmoduls; Verarbeiten mindestens eines Teils der Fahrerfahrungen in einem oder mehreren Fahrrichtlinien-Lernmodulen, um Parameter zu lernen und zu erzeugen, die eine oder mehrere Richtlinien beschreiben, worin jede Richtlinie eine Verteilung über einen Aktionsraum für einen bestimmten Zustand vorschreibt, und worin jede Richtlinie einen Satz von Parametern umfasst, welche die Richtlinie beschreiben und von mindestens einem der Fahreragenten verarbeitet werden können, um eine Aktion zum Steuern eines Fahrzeugs zu erzeugen; Verarbeiten, bei dem einen oder den mehreren Fahreragenten, Empfangen von Parametern für mindestens eine Kandidatenrichtlinie, und Ausführen der mindestens einen Kandidatenrichtlinie, um eine oder mehrere Aktionen zu erzeugen, die das Fahrzeug in einer bestimmten Fahrumgebung steuern, wie von einem entsprechenden Fahrumgebungsprozessor beobachtet; und Verarbeiten, bei einer Low-Level-Steuerung, jeder Aktion, um Steuersignale zum Steuern des Fahrzeugs zu erzeugen, wenn es in dieser bestimmten Fahrumgebung betrieben wird.
  • In einer Ausführungsform umfassen die Daten für jedes Fahrerlebnis (das eine bestimmte Fahrumgebung zu einem bestimmten Zeitpunkt darstellt): einen Zustand der bestimmten Fahrumgebung, der von einem entsprechenden Prozessor der Fahrumgebung beobachtet wird; eine Beobachtung, die unter Verwendung mindestens eines Teils eines beobachtbaren Zustands durchgeführt wird; eine vom Fahreragenten erzeugte Aktion; eine Belohnung, die umfasst: ein Signal, das angibt, wie wünschenswert eine vom Fahreragenten ausgeführte Aktion zu einem bestimmten Zeitpunkt unter bestimmten Umgebungsbedingungen ist, worin die Prämie automatisch basierend auf Straßenregeln und Fahrprinzipien berechnet wird, die aus menschlichen Fahrdaten extrahiert oder unter Verwendung anderer geeigneter Verfahren basierend auf dem Verkehr und den Straßenregeln definiert werden; ein Ziel, das vom Fahreragenten erreicht werden soll; Instanzinformationen, die umfassen: Informationen, welche die Auswirkung oder Priorität des Fahrerlebnisses angeben, wie es von diesem Fahreragenten zum Zeitpunkt, zu dem dieses besondere Fahrerlebnis erworben wurde, bestimmt wurde, und andere Metainformationen über dieses besondere Fahrerlebnis; und einen nächsten Zustand des besonderen Fahrerlebnisses, der sich ergibt, nachdem der Fahreragent die Handlung in dem Fahrerumfeld durchgeführt hat; und eine nächste Beobachtung, die unter Verwendung mindestens eines Teils eines beobachtbaren nächsten Zustands durchgeführt wurde.
  • In einer Ausführungsform kann jeder der Fahrumgebungsprozessoren Sensorinformationen von On-Board-Sensoren verarbeiten, die eine bestimmte Fahrumgebung beschreiben, um einen Zustand der spezifischen Fahrumgebung zu erzeugen, und jeder der einen oder mehreren Fahreragenten kann dann den Zustand gemäß einer Richtlinie verarbeiten, um eine entsprechende Aktion zu erzeugen. Die Low-Level- Steuerung kann dann jede Aktion übersetzen, um die Steuersignale für die Steuerung des Fahrzeugs zu erzeugen, um das Fahrzeug autonom zu steuern, wenn es in diesem Zustand in dieser spezifischen Fahrumgebung betrieben wird.
  • In einer Ausführungsform umfasst jedes der Fahrrichtlinien-Lernmodule einen Tiefenverstärkungslern-(DRL)-Algorithmus, der Eingangsinformationen aus mindestens einigen der Fahrerfahrungen verarbeiten kann, um zu lernen und eine Ausgabe zu erzeugen, umfassend: einen Satz von Parametern, die eine Richtlinie darstellen, die durch DRL entwickelt wird, und worin jede Richtlinie von mindestens einem der Fahreragenten verarbeitet werden kann, um eine Aktion zum Steuern des Fahrzeugs zu erzeugen.
  • In einer Ausführungsform umfasst jeder DRL-Algorithmus einen oder mehrere der Folgenden: geschätzte Werte des Zustands/Aktion/Vorteils, wie sie durch eine Zustands-/Aktions-/Vorteilswertfunktion bestimmt werden; und eine Richtlinienverteilung, und jeder DRL-Algorithmus umfasst: einen auf Richtliniengradienten basierenden Verstärkungslernalgorithmus; oder einen wertbasierten Verstärkungslernalgorithmus; oder einen auf Akteurskritik basierenden Verstärkungslernalgorithmus.
  • In einer Ausführungsform umfasst jedes der Fahrzeugrichtlinien-Lernmodule ferner ein Lernzielmodul, worin jedes Lernzielmodul konfiguriert ist, um Trajektorienschritte eines Fahreragenten innerhalb einer Fahrumgebung zu verarbeiten, um gewünschte Lernziele zu berechnen, die erreicht werden sollen. Jeder Trajektorienschritt umfasst: einen Zustand, eine Beobachtung, eine Aktion, eine Prämie, einen nächsten Zustand und eine nächste Beobachtung, und jedes Lernziel stellt ein Ergebnis einer Aktion dar, die für ein bestimmtes Fahrerlebnis gewünscht wird. In einer Ausführungsform umfasst jedes der Lernziele mindestens eines von: einem Wertziel, das umfasst: einen geschätzten Wert eines zu erreichenden Zustands/Aktion/Vorteils, und ein zu erreichendes Richtlinienziel.
  • In einer Ausführungsform ist jeder DRL-Algorithmus konfiguriert, um Daten zu verarbeiten, die sich auf Fahrerfahrungen beziehen, wobei stochastische Gradientenaktualisierungen verwendet werden, um ein neutrales Netzwerk zu trainieren, das mehr als eine Schicht verborgener Einheiten zwischen seinen Eingängen und Ausgängen umfasst, wobei jedes der Fahrrichtlinien-Lernmodule ferner Folgendes umfasst: ein Verlustmodul, umfassend: eine Verlustfunktion, die konfiguriert ist, um die von dem entsprechenden Lernzielmodul ausgegebenen Lernziele und die Ausgabe des entsprechenden DRL-Algorithmus zu verarbeiten, um einen Gesamtausgangsverlust zu berechnen; und ein automatisches Differenzierungsmodul, das konfiguriert ist, um den Gesamtausgangsverlust zu verarbeiten, um Gradientendaten für jeden Parameter zu erzeugen. Das automatische Differenzierungsmodul, das konfiguriert ist, um jede Instanz von Verlustdaten (vom Gesamtausgangsverlust) zu verarbeiten, indem es eine automatische Differenzierung durch Differenzierung des von der Verlustfunktion berechneten Gesamtausgangsverlustes in Bezug auf jeden der Parameter (z. B. unter Verwendung eines Berechnungsgraphen und einer Kettenregel) durchführt, um Gradientendaten für jeden Parameter in Bezug auf den Gesamtausgangsverlust zu erhalten. Die Gradientendaten für jeden Parameter geben den Beitrag jedes Parameters in Bezug auf die von der Verlustfunktion berechnete Gesamtausgangsdämpfung an. Die Gradientendaten stellen Gradienten jedes Neurons in jedem neuronalen Netzwerk dar, das von jedem DRL-Algorithmus verwendet wird, worin die Gradienten quantitativ definieren, wie viel von einem Beitrag jedes Neurons geleistet wurde, der zu dem Verlust durch die Ausgabe dieses neuronalen Netzwerks geführt hat. Jedes der Fahrrichtlinien-Lernmodule umfasst ferner einen Gradientenabsenkungsoptimierer, der konfiguriert ist, um die Gradientendaten für jeden Parameter zu verarbeiten, um aktualisierte Parameter (z. B. Aktualisierungen für jeden Parameter) zu berechnen, die eine Richtlinie darstellen. Die aktualisierten Parameter kompensieren gemeinsam den gesamten Leistungsverlust. Die aktualisierten Parameter stehen den Fahreragenten zur Verfügung und können von den fahrerseitigen Lernmodulen verwendet werden, um neuronale Netzwerkparameter des DRL-Algorithmus zu trainieren und zu optimieren.
  • In einer Ausführungsform spezifiziert jede Richtlinie einen Satz von Parametern, die, wenn sie durch einen bestimmten Fahreragenten ausgeführt wird, Verhaltensweisen definieren, die vom Fahrzeug durch das Steuern von Stellgliedern des Fahrzeugs, das als Reaktion auf einen gegebenen Satz von Sensoreingaben betrieben werden soll, zu erfüllen sind.
  • In einer weiteren Ausführungsform ist ein System vorgesehen, das ein Fahreragentenmodul, ein Modul zum Erzeugen von Fahrrichtlinien und eine Low-Level-Steuerung umfasst. Das Fahreragentenmodul beinhaltet einen oder mehrere Fahrumgebungsprozessoren, die jeweils konfiguriert sind, um: eine Fahrumgebung zu beobachten; und einen oder mehrere Fahreragenten, die jeweils einem der Fahrumgebungsprozessoren entsprechen. Jeder der einen oder mehreren Fahreragenten ist konfiguriert, um: eine Richtlinie auszuführen, die ein Fahrzeug in einer bestimmten Fahrumgebung steuert, wie sie von einem entsprechenden Prozessor der Fahrumgebung für dieses Fahreragentenmodul beobachtet wird; und Fahrerfahrungen während verschiedener Fahrszenarien in verschiedenen Fahrumgebungen zu erfassen. Jede Fahrerfahrung umfasst Daten, die zu einer bestimmten Zeit eine bestimmte Fahrumgebung darstellen. Das Fahrrichtlinien-Erzeugungsmodul, umfassend: ein oder mehrere Fahrrichtlinien-Lernmodule, die jeweils konfiguriert sind, um: mindestens einige der Fahrerfahrungen abzurufen; mindestens einige der Fahrerfahrungen zu verarbeiten, um Parameter zu erlernen und zu erzeugen, die eine oder mehrere Richtlinien beschreiben. Jede Richtlinie schreibt eine Verteilung über einen Bereich von Aktionen für einen bestimmten Zustand vor und umfasst einen Satz von Parametern, welche die Richtlinie beschreiben und von mindestens einem der Fahreragenten verarbeitet werden können, um eine Aktion zur Steuerung des Fahrzeugs zu erzeugen. Die Low-Level-Steuerung ist konfiguriert, um jede Aktion zum Erzeugen von Steuersignalen zum Steuern des Fahrzeugs zu verarbeiten, wenn sie in dieser spezifischen Fahrumgebung betrieben wird.
  • In einer Ausführungsform ist jeder der Fahrumgebungsprozessoren konfiguriert, um Sensorinformationen von On-Board-Sensoren zu verarbeiten, die eine bestimmte Fahrumgebung beschreiben, um einen Zustand der spezifischen Fahrumgebung zu erzeugen, und worin jeder der einen oder mehreren Fahreragenten ferner konfiguriert ist, um: den Zustand gemäß einer Richtlinie zu verarbeiten, um eine entsprechende Aktion zu erzeugen. Jede Richtlinie schreibt eine Verteilung über einen Raum von Aktionen für einen bestimmten Zustand vor. Die Low-Level- Steuerung ist konfiguriert, um jede Aktion zu übersetzen, um die Steuersignale für die Steuerung des Fahrzeugs zu erzeugen, um das Fahrzeug autonom zu steuern, wenn es in diesem Zustand in dieser spezifischen Fahrumgebung betrieben wird.
  • In einer Ausführungsform umfasst jedes der Fahrrichtlinien-Lernmodule: einen Tiefenverstärkungslern-(DRL)-Algorithmus, der konfiguriert ist, um: Eingangsinformationen aus mindestens einigen der Fahrerfahrungen zu verarbeiten, um eine Ausgabe zu lernen und zu erzeugen, umfassend: einen Satz von Parametern, die eine Richtlinie darstellen, die durch DRL entwickelt wird. Jede Richtlinie kann von mindestens einem der Fahreragenten verarbeitet werden, um eine Aktion zum Steuern des Fahrzeugs zu erzeugen. Jeder DRL-Algorithmus umfasst: einen auf Richtliniengradienten basierenden Verstärkungslernalgorithmus; oder einen wertbasierten Verstärkungslernalgorithmus oder einen actorkritischen Verstärkungslernalgorithmus. Die Ausgabe des DRL-Algorithmus umfasst einen oder mehrere der Folgenden: (1) Schätzwerte für Zustand/Aktion/Vorteil, wie sie durch eine Zustands-/Aktions-/Vorteilswertfunktion bestimmt werden; und (2) eine Richtlinienverteilung.
  • In einer Ausführungsform umfasst jedes der Fahrrichtlinien-Lernmodule ferner: ein Lernzielmodul, das konfiguriert ist, um Trajektorienschritte eines Fahragenten innerhalb einer Fahrumgebung zu verarbeiten, um gewünschte Lernziele zu berechnen, die erreicht werden sollen, worin jeder Trajektorienschritt umfasst: einen Zustand, eine Beobachtung, eine Aktion, eine Prämie, einen nächsten Zustand und eine nächste Beobachtung, und worin jedes Lernziel ein Ergebnis einer Aktion darstellt, die für eine bestimmte Fahrerfahrung gewünscht ist. In einer Ausführungsform umfasst jedes der Lernziele mindestens eines von: einem Wertziel, das umfasst: einen geschätzten Wert eines zu erreichenden Zustands/Aktion/Vorteils; und ein zu erreichendes Richtlinienziel.
  • In einer Ausführungsform ist jeder DRL-Algorithmus konfiguriert, um Daten zu verarbeiten, die sich auf Fahrerfahrungen beziehen, wobei stochastische Gradientenaktualisierungen verwendet werden, um ein neutrales Netzwerk zu trainieren, das mehr als eine Schicht von verborgenen Einheiten zwischen seinen Ein- und Ausgängen umfasst. Jedes der Fahrrichtlinien-Lernmodule umfasst ferner: Jedes der Fahrrichtlinien-Lernmodule umfasst ferner: ein Verlustmodul, umfassend: eine Verlustfunktion, die konfiguriert ist, um die von dem entsprechenden Lernzielmodul ausgegebenen Lernziele und die Ausgabe des entsprechenden DRL-Algorithmus zu verarbeiten, um einen Gesamtausgangsverlust zu berechnen; und ein automatisches Differenzierungsmodul, das konfiguriert ist, um den Gesamtausgangsverlust zu verarbeiten, um Gradientendaten für jeden Parameter zu erzeugen. Das automatische Differenzierungsmodul, das konfiguriert ist, um jede Instanz von Verlustdaten (vom Gesamtausgangsverlust) zu verarbeiten, indem es eine automatische Differenzierung durch Differenzierung des von der Verlustfunktion berechneten Gesamtausgangsverlustes in Bezug auf jeden der Parameter (z. B. unter Verwendung eines Berechnungsgraphen und einer Kettenregel) durchführt, um Gradientendaten für jeden Parameter in Bezug auf den Gesamtausgangsverlust zu erhalten. Die Gradientendaten für jeden Parameter geben den Beitrag jedes Parameters in Bezug auf die von der Verlustfunktion berechnete Gesamtausgangsdämpfung an. Die Gradientendaten stellen Gradienten jedes Neurons in jedem neuronalen Netzwerk dar, das von jedem DRL-Algorithmus verwendet wird, worin die Gradienten quantitativ definieren, wie viel von einem Beitrag jedes Neurons geleistet wurde, der zu dem Verlust durch die Ausgabe dieses neuronalen Netzwerks geführt hat. Jedes der Fahrrichtlinien-Lernmodule umfasst ferner einen Gradientenabsenkungsoptimierer, der konfiguriert ist, um die Gradientendaten für jeden Parameter zu verarbeiten, um aktualisierte Parameter (z. B. Aktualisierungen für jeden Parameter) zu berechnen, die eine Richtlinie darstellen. Die aktualisierten Parameter kompensieren gemeinsam den gesamten Leistungsverlust. Die aktualisierten Parameter stehen den Fahreragenten zur Verfügung und können von den fahrerseitigen Lernmodulen verwendet werden, um neuronale Netzwerkparameter des DRL-Algorithmus zu trainieren und zu optimieren.
  • In einer weiteren Ausführungsform ist ein System (z. B. eine Steuerung für ein autonomes Fahrzeug) vorgesehen, umfassend: einen nicht-flüchtigen Speicher mit Anweisungen; und einen oder mehrere Prozessoren in Verbindung mit dem Speicher. Der eine oder die mehreren Prozessoren führen die Anweisungen aus, zum: Erfassen von Fahrerfahrungen während verschiedener Fahrszenarien in verschiedenen Fahrumgebungen über einen oder mehrere Fahreragenten und einen oder mehrere entsprechende Fahrumgebungsprozessoren, worin jede Fahrerfahrung Daten umfasst, die eine bestimmte Fahrumgebung zu einem bestimmten Zeitpunkt darstellen; Abrufen mindestens eines Teils der Fahrerfahrungen über ein oder mehrere Fahrrichtlinien-Lernmodule eines Fahrrichtlinienerzeugungsmoduls; Verarbeiten mindestens eines Teils der Fahrerfahrungen in einem oder mehreren Fahrrichtlinien-Lernmodulen, um Parameter zu lernen und zu erzeugen, die eine oder mehrere Richtlinien beschreiben, worin jede Richtlinie eine Verteilung über einen Aktionsraum für einen bestimmten Zustand vorschreibt, und worin jede Richtlinie einen Satz von Parametern umfasst, welche die Richtlinie beschreiben und von mindestens einem der Fahreragenten verarbeitet werden können, um eine Aktion zum Steuern eines Fahrzeugs zu erzeugen; Verarbeiten, bei dem einen oder den mehreren Fahreragenten, Empfangen von Parametern für mindestens eine Kandidatenrichtlinie, und Ausführen der mindestens einen Kandidatenrichtlinie, um eine oder mehrere Aktionen zu erzeugen, die das Fahrzeug in einer bestimmten Fahrumgebung steuern, wie von einem entsprechenden Fahrumgebungsprozessor beobachtet; und Verarbeiten, bei einer Low-Level-Steuerung, jeder Aktion, um Steuersignale zum Steuern des Fahrzeugs zu erzeugen, wenn es in dieser bestimmten Fahrumgebung betrieben wird.
  • Figurenliste
  • Die exemplarischen Ausführungsformen werden im Folgenden in Verbindung mit den folgenden Zeichnungsfiguren beschrieben, worin gleiche Zahlen ähnliche Elemente bezeichnen, und worin:
    • 1 ein Funktionsblockdiagramm ist, das ein autonomes Fahrzeug gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 2 ein Funktionsblockdiagramm ist, das ein Transportsystem mit einem oder mehreren autonomen Fahrzeugen von 1 gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 3 ein Datenflussdiagramm ist, das ein autonomes Antriebssystem des autonomen Fahrzeugs gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 4A ein Blockdiagramm ist, das eine autonome Erzeugung von Fahrrichtlinien und ein Serversystem für autonome Fahreragenten gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 4B ein Blockdiagramm ist, das eine verteilte autonome Fahrrichtlinienerzeugung und ein Serversystem gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 4C ist ein Blockdiagramm, das eine konsolidierte autonome Fahrrichtlinienerzeugung und ein Serversystem gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 5 ein Blockdiagramm ist, das ein System veranschaulicht, das einen Satz von n Fahrumgebungsprozessoren, einen Satz von n auf künstlicher Intelligenz (KI) basierenden autonomen Fahreragentenmodulen beinhaltet und Interaktionen zwischen den verschiedenen Fahrumgebungsprozessoren und deren korrespondierenden autonomen Fahreragentenmodulen auf KI-Basis basierend auf den von den Fahrumgebungen beobachteten Fahrumgebungen gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 6 ein Flussdiagramm ist, das ein Verarbeitungsverfahren veranschaulicht, das von einem oder mehreren Fahragenten durchgeführt wird, die in verschiedenen Fahrumgebungen (1...n) gemäß den offenbarten Ausführungsformen arbeiten;
    • 7 ein Blockdiagramm ist, das die Interaktion zwischen dem Erfahrungsspeicher und dem KI-Fahrlagermodul und dem Modul zum Erzeugen von Fahrrichtlinien gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 8 ist ein Flussdiagramm, das ein Verarbeitungsverfahren veranschaulicht, das von Fahreragenten und Fahrrichtlinien-Lernmodulen durchgeführt wird, um den Erfahrungsspeicher gemäß den offenbarten Ausführungsformen zu aktualisieren;
    • 9 ist ein Blockdiagramm, das Elemente eines Moduls zum Erzeugen von Fahrrichtlinien und das Zusammenwirken zwischen dem Modul zum Erzeugen von Fahrrichtlinien und dem Richtlinienserver gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 10 ist ein Blockdiagramm, das einen DRL-Prozess mit einem DNN veranschaulicht, das die Rolle eines Agenten in Bezug auf die Umgebung übernimmt;
    • 11 ist ein Flussdiagramm, das ein Verarbeitungsverfahren veranschaulicht, das von einem bestimmten Fahrrichtlinien-Lernmodul des Fahrrichtlinien-Erzeugungsmoduls durchgeführt wird, um den Erfahrungsspeicher und den Richtlinienspeicher des Fahrrichtlinien-Erzeugungsmoduls gemäß den offenbarten Ausführungsformen zu aktualisieren; und
    • 12 ist ein Blockdiagramm, das die Interaktion zwischen dem Richtlinienserver und dem Modul zum Erzeugen von Fahrrichtlinien und dem KI-Treiberagentenmodul gemäß den offenbarten Ausführungsformen veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende ausführliche Beschreibung dient lediglich als Beispiel und soll die Anwendung und Verwendung in keiner Weise einschränken. Weiterhin besteht keine Absicht, im vorstehenden technischen Bereich, Hintergrund, der Kurzzusammenfassung oder der folgenden ausführlichen Beschreibung an eine ausdrücklich oder implizit vorgestellte Theorie gebunden zu sein. Der hierin verwendete Begriff „Modul“ bezieht sich auf alle Hardware-, Software-, Firmwareprodukte, elektronische Steuerkomponenten, auf die Verarbeitungslogik und/oder Prozessorgeräte, einzeln oder in Kombinationen, unter anderem umfassend, eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung, einen Prozessor (gemeinsam genutzt, dediziert oder gruppiert) und einen Speicher, der ein oder mehrere Software- oder Firmwareprogramme, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten ausführt, die die beschriebene Funktionalität bieten.
  • Ausführungsformen der vorliegenden Offenbarung können hierin als funktionale und/oder logische Blockkomponenten und verschiedene Verarbeitungsschritte beschrieben sein. Es ist zu beachten, dass derartige Blockkomponenten aus einer beliebigen Anzahl an Hardware-, Software- und/oder Firmware-Komponenten aufgebaut sein können, die zur Ausführung der erforderlichen Funktionen konfiguriert sind. Zum Beispiel kann eine Ausführungsform der vorliegenden Offenbarung eines Systems oder einer Komponente verschiedene integrierte Schaltungskomponenten, beispielsweise Speicherelemente, digitale Signalverarbeitungselemente, Logikelemente, Wertetabellen oder dergleichen, einsetzen, die mehrere Funktionen unter der Steuerung eines oder mehrerer Mikroprozessoren oder anderer Steuervorrichtungen durchführen können. Zudem werden Fachleute auf dem Gebiet erkennen, dass die exemplarischen Ausführungsformen der vorliegenden Offenbarung in Verbindung mit einer beliebigen Anzahl an Systemen eingesetzt werden können, und dass das hierin beschriebene System lediglich eine exemplarische Ausführungsform der vorliegenden Offenbarung darstellt.
  • Der Kürze halber sind konventionelle Techniken in Verbindung mit der Signalverarbeitung, Datenübertragung, Signalgebung, Steuerung und weiteren funktionalen Aspekten der Systeme (und den einzelnen Bedienelementen der Systeme) hierin ggf. nicht im Detail beschrieben. Weiterhin sollen die in den verschiedenen Figuren dargestellten Verbindungslinien exemplarische Funktionsbeziehungen und/oder physikalische Verbindungen zwischen den verschiedenen Elementen darstellen. Es sollte beachtet werden, dass viele alternative oder zusätzliche funktionale Beziehungen oder physikalische Verbindungen in einer Ausführungsform der vorliegenden Offenbarung vorhanden sein können.
  • 1 ist ein Funktionsblockdiagramm, das ein autonomes Fahrzeug gemäß den offenbarten Ausführungsformen veranschaulicht. Wie in 1 dargestellt, beinhaltet das Fahrzeug 10 im Allgemeinen ein Fahrgestell 12, eine Karosserie 14, Vorderräder 16 und Hinterräder 18. Die Karosserie 14 ist auf dem Fahrgestell 12 angeordnet und umschließt im Wesentlichen die Komponenten des Fahrzeugs 10. Die Karosserie 14 und das Fahrgestell 12 können gemeinsam einen Rahmen bilden. Die Räder 16-18 sind jeweils mit dem Fahrgestell 12 in der Nähe einer jeweiligen Ecke der Karosserie 14 drehbar gekoppelt.
  • In verschiedenen Ausführungsformen ist das Fahrzeug 10 ein autonomes Fahrzeug und das autonome Antriebssystem (ADS) ist in das autonome Fahrzeug 10 (nachfolgend als das autonome Fahrzeug 10 bezeichnet) integriert, welches das Fahrzeug 10 intelligent steuert. Das autonome Fahrzeug 10 ist beispielsweise ein Fahrzeug, das automatisch gesteuert wird, um Passagiere von einem Ort zum anderen zu befördern. Das Fahrzeug 10 ist in der veranschaulichten Ausführungsform als Pkw dargestellt, es sollte jedoch beachtet werden, dass auch jedes andere Fahrzeug, einschließlich Motorräder, Lastwagen, Sportfahrzeuge (SUVs), Freizeitfahrzeuge (RVs), Schiffe, Flugzeuge usw. verwendet werden können. In einer exemplarischen Ausführungsform kann das autonome Fahrzeug 10 ein sogenanntes Level-Vier oder Level-Fünf Automatisierungssystem sein. Ein Level-Vier-System zeigt eine „hohe Automatisierung“ unter Bezugnahme auf die Fahrmodus-spezifische Leistung durch ein automatisiertes Fahrsystem aller Aspekte der dynamischen Fahraufgabe an, selbst wenn ein menschlicher Fahrer nicht angemessen auf eine Anforderung einzugreifen, reagiert. Ein Level-Fünf-System zeigt eine „Vollautomatisierung“ an und verweist auf die Vollzeitleistung eines automatisierten Fahrsystems aller Aspekte der dynamischen Fahraufgabe unter allen Fahrbahn- und Umgebungsbedingungen, die von einem menschlichen Fahrer verwaltet werden können.
  • Wie dargestellt, beinhaltet das autonome Fahrzeug 10 im Allgemeinen ein Antriebssystem 20, ein Übertragungssystem 22, ein Lenksystem 24, ein Bremssystem 26, ein Sensorsystem 28, mindestens einen Datenspeicher 32, mindestens eine Steuerung 34, ein Kommunikationssystem 36 und ein Stellgliedsystem 90. Das Antriebssystem 20 kann in verschiedenen Ausführungsformen einen Verbrennungsmotor, eine elektrische Maschine, wie beispielsweise einen Traktionsmotor und/oder ein Brennstoffzellenantriebssystem, beinhalten. Das Getriebesystem 22 ist dazu konfiguriert, Leistung vom Antriebssystem 20 zu den Fahrzeugrädern 16-18 gemäß den wählbaren Drehzahlverhältnissen zu übertragen. Gemäß verschiedenen Ausführungsformen kann das Getriebesystem 22 ein Stufenverhältnis-Automatikgetriebe, ein stufenlos verstellbares Getriebe oder ein anderes geeignetes Getriebe beinhalten. Das Bremssystem 26 ist dazu konfiguriert, den Fahrzeugrädern 16-18 ein Bremsmoment bereitzustellen. Das Bremssystem 26 kann in verschiedenen Ausführungsformen Reibungsbremsen, Brake-by-Wire, ein regeneratives Bremssystem, wie beispielsweise eine elektrische Maschine und/oder andere geeignete Bremssysteme beinhalten. Das Lenksystem 24 beeinflusst eine Position der Fahrzeugräder 16-18. Während in einigen Ausführungsformen innerhalb des Umfangs der vorliegenden Offenbarung zur Veranschaulichung als ein Lenkrad dargestellt, kann das Lenksystem 24 kein Lenkrad beinhalten.
  • Das Sensorsystem 28 ist konfiguriert, um Sensordaten 29 bereitzustellen. Das Sensorsystem 28 kann eine oder mehrere Sensorvorrichtungen 40a-40n beinhalten, die beobachtbare Zustände der äußeren Umgebung und/oder der inneren Umgebung des autonomen Fahrzeugs 10 erfassen. Die Abtastvorrichtungen 40a-40n können Radare, Lidare, optische Kameras, Wärmebildkameras, Bildgebungssensoren, Ultraschallsensoren, Trägheitsmesseinheiten, globale Positionierungssysteme, Navigationssysteme und/oder andere Sensoren beinhalten, sind aber nicht darauf beschränkt.
  • So können beispielsweise Radarvorrichtungen elektromagnetische Wellen, die von Objekten reflektiert werden, verarbeiten, um Radardaten zu erzeugen, die das Vorhandensein, die Richtung, die Entfernung und die Geschwindigkeit von Objekten im Sichtfeld anzeigen. Ein Radarfilter- und Vorverarbeitungsmodul kann die Radardaten vorverarbeiten, um Dinge wie stationäre Objekte, Objekte in nicht befahrbaren Bereichen (wie Radarrückläufer von Gebäuden) und verrauschte Messungen/Störungen (z. B. aufgrund der Geschwindigkeit) zu entfernen und vorverarbeitete Radardaten zu erzeugen. Die Radarverfolgung kann dann die vorverarbeiteten Radardaten weiterverarbeiten, um die Radarverfolgungsinformationen zu erzeugen, die dann zum Verfolgen von Objekten verwendet werden können.
  • Kameras (oder Bildsensoren) können so angeordnet werden, dass sie eine dreihundertsechzig (360) Grad Bildberichterstattung über die Umgebung des Fahrzeugs 10 ermöglichen. Die Kameras erfassen Bilder (z. B. Einzelbilder) und geben Bilddaten (z. B. ein verzerrtes Bild im YUV-Format) aus, die dann zu gleichgerichteten (oder unverzerrten) Kamerabildern verarbeitet werden können. Ein Bildvorverarbeitungsmodul kann die Bilddaten verarbeiten, indem es die Bilddaten entzerrt/korrigiert, die korrigierten Bilddaten vorverarbeitet (z. B. Bildgrößenänderung und mittlere Subtraktion) und die korrigierten, vorverarbeiteten Bilddaten in korrigierte Kamerabilder (z. B. in einem normalen RGB-Format) umwandelt, die ein neuronales Netzwerk eines Bildklassifikationsmoduls klassifizieren kann. Die Bilddaten können korrigiert werden, um Verzerrungen im Bild zu korrigieren, was dazu führen kann, dass gerade Linien (in Wirklichkeit) gekrümmt erscheinen, wenn beispielsweise Punktwolken im 3D-Raum auf die nicht korrigierten Bilddaten projiziert wurden, könnten sie aufgrund der Verzerrungen tatsächlich an der falschen Stelle im Bild sein. Durch das Entzerren des Bildes entsprechen die Projektionen aus dem 3D-Raum den richtigen Teilen des Bildes. Die entzerrten Kamerabilder können dann zusammen mit anderen Eingaben, einschließlich dreidimensionaler Positionen von Objekten aus einem Objektverfolgungsmodul, an ein Bildklassifizierungsmodul gesendet und zum Erzeugen der Bildklassifizierungsdaten verarbeitet werden, die einem Objektklassifizierungsmodul bereitgestellt und zum Erzeugen von Objektklassifizierungsdaten verwendet werden können, die dann an ein Objektverfolgungsmodul gesendet werden können, das die Objekte, die Radarverfolgungsinformationen und Objektklassifizierungsdaten verarbeitet, um Objektverfolgungsinformationen zu erzeugen.
  • Lidar-Vorrichtungen führen eine Abtastung durch, indem sie ein Ziel mit Laserlichtimpulsen beleuchten, und messen die Entfernung zu einem Ziel, indem sie reflektierte Impulse zurückempfangen. Die Intensität reflektierter Impulse kann kollektiv von den Lidar-Vorrichtungen verwendet werden, um eine Lidar-Punktwolke zu erzeugen, die die räumliche Struktur/Charakteristik von Objekten innerhalb des Sichtfeldes darstellt. So können die Lidar-Vorrichtungen beispielsweise zum Scannen rotierende Laserstrahlen, die sich um dreihundertundsechzig (360) Grad um das Fahrzeug herumdrehen. Alternativ können die Lidar-Vorrichtungen mit einer bestimmten Abtastfrequenz hin und her schwingen (d. h. wie schnell sie schwingen) und Impulse mit einer Wiederholungsrate emittieren.
  • Jede der Lidar-Vorrichtungen empfängt Lidardaten und verarbeitet die Lidardaten (z. B. Pakete mit Lidar-Rückgabeinformationen), um eine Lidar-Punktwolke zu erzeugen (z. B. einen dreidimensionalen Satz von Punkten in einer dreihundertsechzig (360) Grad-Zone um das Fahrzeug herum). Jeder Punkt besitzt zusätzlich zu einer dreidimensionalen XYZ-Position Intensitätsdaten. In einer Ausführungsform beinhaltet die Punktwolke beispielsweise einen ersten, einen mittleren und einen letzten von jedem Laserimpuls zurückkehrenden Punkt. Die Lidar-Vorrichtungen können miteinander synchronisiert (oder phasenverriegelt) werden.
  • Die Kameras können mit ihrer maximalen Bildrate betrieben werden, wobei die Aktualisierungsrate der Kameras in der Regel viel höher ist als bei den Lidar-Vorrichtungen. Während sich das Lidar im Uhrzeigersinn von der Rückseite des Fahrzeugs dreht, nimmt jede Kamera während der Drehung der Lidar-Vorrichtung Bilder im Uhrzeigersinn auf. Ein extrinsisches Kalibrierungsverfahren kann Informationen darüber, wohin die Kameras zeigen, bereitstellen. Die Lidar-Vorrichtungen sind phasenverriegelt (d. h. diese sind zeitlich so geplant, dass diese sich zu bestimmten Zeiten in bestimmten Rotationspositionen befinden), sodass bekannt ist, wann die Lidar-Vorrichtungen bestimmte Teile ihres Zyklus abtasten. Zur Analyse einer Szene kann das System ermitteln, welcher Bildgeber/welche Kamera zu einem Zeitpunkt, zu dem bestimmte Lidar-Daten erfasst wurden, wie ausgerichtet war. Das System kann dasjenige Bild auswählen, das am nächsten zu dem Zeitpunkt, an dem die Lidar-Daten erfasst wurden, aufgenommen/erhalten wurde, sodass nur nahe einer bestimmten Zielzeit erfasste Bilder (d. h., wenn die Lidar-Vorrichtung dieselbe Region betrachtet, auf die eine Kamera zeigt) verarbeitet werden. Als Ergebnis können Kamera-Lidar-Paare mit ausgezeichneter Ausrichtung ermittelt werden. Hierdurch entstehen Lidar-Daten mit einer bestimmten Richtung/Ausrichtung zusammen mit entsprechenden Bilddaten für die Szene/Umgebung bei diesem Kurs/Ausrichtung.
  • Die Lidar-Daten der Lidar-Punktwolken, die durch die Lidar-Vorrichtungen erlangt werden, können zu einer einzigen Lidar-Punktwolke zusammengeführt werden. Dreidimensionale Punktabtastung kann dann durchgeführt werden, um die Lidar-Daten (der einzelnen Lidar-Punktwolke) vorzuverarbeiten, um einen Satz dreidimensionaler Punkte zu erzeugen, die dann durch ein Objektsegmentierungsmodul in Objekte unterteilt werden können, die klassifiziert und verfolgt werden können. So kann beispielsweise ein Objektklassifizierungsmodul mehrere Klassifizierer beinhalten, welche die Objekte klassifizieren, um Objektklassifizierungsdaten zu erzeugen. Ein Objektverfolgungsmodul kann die Objekte verfolgen. Die Verfolgungsinformationen können dann zusammen mit den Radarverfolgungsinformationen und den Objektklassifizierungsdaten verwendet werden, um Objektverfolgungsinformationen zu erzeugen (z. B. zeitliche Verfolgungsinformationen für Objekte wie Lage, Geometrie, Geschwindigkeit usw. von Objekten in der Umgebung).
  • Steuersignale 72 (z. B. Lenkmoment- oder Winkelsignale zum Erzeugen entsprechender Lenkmoment- oder Winkelbefehle und Brems-/Drosselklappensteuersignale zum Erzeugen von Beschleunigungsbefehlen) werden an das Stellgliedsystem 90 gesendet, das die Steuersignale 72 zum Erzeugen der entsprechenden Befehle zum Steuern verschiedener Fahrzeugsysteme und Subsysteme verarbeitet. In einer Ausführungsform beinhaltet das Stellgliedsystem 90 eine untergeordnete Steuerung und eine Vielzahl von Stellgliedern des Fahrzeugs (z. B. eine Lenkmoment- oder Winkelsteuerung, ein Bremssystem, ein Drosselsystem usw). Die Low-Level-Steuerung verarbeitet die Steuersignale 72, um Befehle zu erzeugen, welche die Stellglieder gemäß den Steuersignalen 72 zum planen und ausführen einer oder mehrerer geplanter Aktionen auszuführen, die zur Automatisierung von Fahraufgaben durchzuführen sind. Die Steuersignale 72 legen die Steuerungsaktionen und Parameter fest oder ordnen diese zu, die verwendet werden, um eine oder mehrere geplante Aktionen zu planen, die zur Automatisierung von Fahraufgaben ausgeführt werden sollen. Die eine oder die mehreren Steuerungsaktionen steuern automatisch das autonome Fahrzeug, um eine in einem bestimmten Fahrszenario auftretende autonome Fahraufgabe zu automatisieren und bestimmte der Fahrzeugtrajektorien- und Geschwindigkeitsprofile zu erreichen.
  • In diesem Beispiel beinhaltet das Stellgliedsystem 90 eine oder mehrere Stellantriebs-Vorrichtungen 42a-42n, die ein oder mehrere Fahrzeugmerkmale, wie zum Beispiel das Antriebssystem 20, das Getriebesystem 22, ein Drosselsystem (nicht veranschaulicht), das Lenksystem 24 und das Bremssystem 26, steuern, jedoch nicht darauf beschränkt sind. Das Stellgliedsystem 90 empfängt Steuersignale 72, die von der High-Level-Steuerung 33 erzeugt werden, und eine Low-Level-Steuerung verarbeitet Steuersignale, um Befehle zu erzeugen, die eine oder mehrere dieser Stellgliedvorrichtungen 42a-42n gemäß den Steuersignalen 72 steuern, um eine oder mehrere Steuerungsaktionen zu planen und auszuführen, die auszuführen sind, um das autonome Fahrzeug automatisch zu steuern und die in einem bestimmten Fahrszenario auftretende autonome Fahraufgabe zu automatisieren (z. B. um ein oder mehrere bestimmte Fahrzeugtrajektorien und Geschwindigkeitsprofile zu erreichen). Ein bestimmtes Fahrszenario oder eine bestimmte Szene, die auftreten kann (wie sie beispielsweise durch die Navigationsroutendaten, GPS-Daten und eine Weltdarstellung dargestellt wird, die auf Informationen aus Technologien wie Kameras, Radars, Lidars usw. basiert), kann durch Aufspaltung dieses bestimmten Fahrszenarios in eine Ablaufsteuerung behandelt werden. Jede Steuerungsaktion steuert die Fahrzeugtrajektorie und Geschwindigkeit des Fahrzeugs, um eine bestimmte Teilaufgabe zu erfüllen. Zusammen steuern die Ablaufsteuerungsaktionen das Fahrzeug, um über einen längeren Zeitraum hinweg eine gewünschte Strecke zu erreichen. Jede Fahrzeugtrajektorie und jedes Geschwindigkeitsprofil kann einen Weg definieren, über den das Fahrzeug möglicherweise fahren kann, wenn es sich daran hält. Jedes Fahrzeugtrajektorien- und Geschwindigkeitsprofil beinhaltet Informationen, die den Längsabstand (x), den Seitenabstand (y), die Richtung (θ) und die gewünschte Geschwindigkeit (v) des Fahrzeugs angeben, die in zukünftigen Zeitpunkten durchfahren werden. Darüber hinaus können in einigen Ausführungsformen die Fahrzeugmerkmale ferner Innen- und/oder Außenfahrzeugmerkmale, wie beispielsweise Türen, einen Kofferraum und Innenraummerkmale, wie z. B. Luft, Musik, Beleuchtung usw. (nicht nummeriert).
  • Das Kommunikationssystem 36 ist dazu konfiguriert, Informationen drahtlos an und von anderen Einheiten 48, wie beispielsweise, jedoch nicht beschränkt auf andere Fahrzeuge („V2V“-Kommunikation,) Infrastruktur („V2I“-Kommunikation), entfernte Systeme und/oder persönliche Vorrichtungen (in Bezug auf 2 näher beschrieben), zu übermitteln. In einer exemplarischen Ausführungsform ist das Kommunikationssystem 36 ein drahtloses Kommunikationssystem, das dazu konfiguriert, über ein drahtloses lokales Netzwerk (WLAN) unter Verwendung des IEEE 802.11-Standards oder mittels einer mobilen Datenkommunikation zu kommunizieren. Im Geltungsbereich der vorliegenden Offenbarung werden jedoch auch zusätzliche oder alternative Kommunikationsverfahren, wie beispielsweise ein dedizierter Nahbereichskommunikations-(DSRC)-Kanal, berücksichtigt. DSRC-Kanäle beziehen sich auf Einweg- oder Zweiwege-Kurzstrecken- bis Mittelklasse-Funkkommunikationskanäle, die speziell für den Automobilbau und einen entsprechenden Satz von Protokollen und Standards entwickelt wurden.
  • Die Datenspeichervorrichtung 32 speichert Daten zur Verwendung beim automatischen Steuern des autonomen Fahrzeugs 10. In verschiedenen Ausführungsformen speichert das Datenspeichergerät 32 definierte Landkarten der navigierbaren Umgebung. In verschiedenen Ausführungsformen werden die definierten Landkarten vordefiniert und von einem entfernten System (in weiteren Einzelheiten in Bezug auf 2 beschrieben) erhalten. So können beispielsweise die definierten Karten durch das entfernte System zusammengesetzt und dem autonomen Fahrzeug 10 (drahtlos und/oder drahtgebunden) mitgeteilt und in der Datenspeichervorrichtung 32 gespeichert werden. Wie ersichtlich ist, kann die Datenspeichervorrichtung 32 ein Teil der Steuerung 34, von der Steuerung 34 getrennt, oder ein Teil der Steuerung 34 und Teil eines separaten Systems sein.
  • Die Steuerung 34 beinhaltet mindestens einen Prozessor 44 und eine computerlesbare Speichervorrichtung oder Medien 46. Der Prozessor 44 kann eine Spezialanfertigung oder ein handelsüblicher Prozessor sein, eine Zentraleinheit (CPU), eine Grafikprozessoreinheit (GPU) unter mehreren Prozessoren verbunden mit der Steuerung 34, ein Mikroprozessor auf Halbleiterbasis (in Form eines Mikrochips oder Chip-Satzes), ein Makroprozessor, eine Kombination derselben oder allgemein jede beliebige Vorrichtung zur Ausführung von Anweisungen. Die computerlesbare Speichervorrichtung oder Medien 46 können flüchtige und nicht-flüchtige Speicher in einem Nur-Lese-Speicher (ROM), einem Speicher mit direktem Zugriff (RAM) und einem Keep-Alive-Memory (KAM) beinhalten. KAM ist ein persistenter oder nicht-flüchtiger Speicher, der verwendet werden kann, um verschiedene Betriebsvariablen zu speichern, während der Prozessor 44 ausgeschaltet ist. Die computerlesbare Speichervorrichtung oder Medien 46 können unter Verwendung einer beliebigen einer Anzahl an bekannten Speichervorrichtungen, wie beispielsweise PROMs (programmierbarer Nur-Lese-Speicher), EPROMs (elektrische PROM), EEPROMs (elektrisch löschbarer PROM), Flash-Speicher oder beliebige andere elektrischen, magnetischen, optischen oder kombinierten Speichervorrichtungen implementiert werden, die Daten speichern können, von denen einige ausführbare Anweisungen darstellen, die von der Steuerung 34 beim Steuern des autonomen Fahrzeugs 10 verwendet werden.
  • Die Anweisungen können ein oder mehrere separate Programme beinhalten, von denen jede eine geordnete Auflistung von ausführbaren Anweisungen zum Implementieren von logischen Funktionen umfasst. Die Anweisungen empfangen und verarbeiten, wenn diese durch den Prozessor 44 ausgeführt werden, Signale vom Sensorsystem 28, führen Logik, Berechnungen, Verfahren und/oder Algorithmen zur automatischen Steuerung der Komponenten des autonomen Fahrzeugs 10 durch und erzeugen Steuersignale an das Stellgliedsystem 90, um die Komponenten des autonomen Fahrzeugs 10 basierend auf der Logik, den Berechnungen, den Verfahren und/oder Algorithmen automatisch zu steuern. Obwohl in 1 nur eine Steuerung 34 dargestellt ist, können Ausführungsformen des autonomen Fahrzeugs 10 eine beliebige Anzahl von Steuerungen 34 beinhalten, die über ein geeignetes Kommunikationsmedium oder eine Kombination von Kommunikationsmedien kommunizieren und zusammenwirken, um die Sensorsignale zu verarbeiten, Logik, Berechnungen, Verfahren und/oder Algorithmen durchzuführen und Steuersignale zu erzeugen, um automatisch eine oder mehrere Stellgliedvorrichtungen 42a-42n zu steuern, die eine oder mehrere Fahrzeugmerkmale des autonomen Fahrzeugs 10 steuern.
  • In verschiedenen Ausführungsformen sind eine oder mehrere Anweisungen der Steuerung 34 in einer High-Level-Steuerung eines autonomen Antriebssystems (ADS) verkörpert und, wenn sie durch den Prozessor 44 ausgeführt wird, zum Erzeugen der Steuersignale, die von einer Low-Level-Steuerung verarbeitet werden, um Befehle zu erzeugen, die ein oder mehrere Stellglieder des autonomen Fahrzeugs steuern, um eine oder mehrere Steuerungsaktionen zur automatischen Steuerung des autonomen Fahrzeugs auszuführen (z. B. zum Automatisieren der in dem jeweiligen Fahrszenario auftretenden autonomen Fahraufgabe).
  • Mit weiterem Bezug auf 2 in verschiedenen Ausführungsformen kann das autonome Fahrzeug 10, das mit Bezug auf 1 beschrieben ist, für den Einsatz im Rahmen eines Taxi- oder Shuttle-Unternehmens in einem bestimmten geografischen Gebiet (z. B. einer Stadt, einer Schule oder einem Geschäftscampus, einem Einkaufszentrum, einem Vergnügungspark, einem Veranstaltungszentrum oder dergleichen) geeignet sein. So kann beispielsweise das autonome Fahrzeug 10 einem autonomen fahrzeugbasierten Transportsystem zugeordnet sein. 2 veranschaulicht eine exemplarische Ausführungsform einer Betriebsumgebung, die im Allgemeinen bei 50 dargestellt ist und ein autonomes fahrzeugbasiertes Transportsystem 52 beinhaltet, das, wie mit Bezug auf 1 beschrieben, einem oder mehreren autonomen Fahrzeugen 10a-10n zugeordnet ist. In verschiedenen Ausführungsformen beinhaltet die Betriebsumgebung 50 ferner eine oder mehrere Benutzervorrichtungen 54, die mit dem autonomen Fahrzeug 10 und/oder dem entfernten Transportsystem 52 über ein Kommunikationsnetzwerk 56 kommunizieren.
  • Das Kommunikationsnetzwerk 56 unterstützt die Kommunikation zwischen Geräten, Systemen und Komponenten, die von der Betriebsumgebung 50 unterstützt werden (z. B. über physische Kommunikationsverbindungen und/oder drahtlose Kommunikationsverbindungen). So kann beispielsweise das Kommunikationsnetzwerk 56 ein drahtloses Trägersystem 60 beinhalten, wie beispielsweise ein Mobiltelefonsystem, das eine Vielzahl von Mobilfunktürmen (nicht dargestellt), eine oder mehrere Mobilvermittlungsstellen (MSCs) (nicht dargestellt) sowie alle anderen Netzwerkkomponenten beinhalten, die zum Verbinden des drahtlosen Trägersystems 60 mit dem Festnetz erforderlich sind. Jeder Mobilfunkturm beinhaltet Sende- und Empfangsantennen und eine Basisstation, wobei die Basisstationen verschiedener Mobilfunktürme mit den MSC verbunden sind, entweder direkt oder über Zwischenvorrichtungen, wie beispielsweise eine Basisstationssteuerung. Das Drahtlosträgersystem 60 kann jede geeignete Kommunikationstechnologie implementieren, beispielsweise digitale Technologien, wie CDMA (z. B. CDMA2000), LTE (z. B. 4G LTE oder 5G LTE), GSM/GPRS oder andere aktuelle oder neu entstehende drahtlose Technologien. Andere Mobilfunkturm/Basisstation/MSC-Anordnungen sind möglich und könnten mit dem Drahtlosträgersystem 60 verwendet werden. So könnten sich beispielsweise die Basisstation und der Mobilfunkturm an derselben Stelle oder entfernt voneinander befinden, jede Basisstation könnte für einen einzelnen Mobilfunkturm zuständig sein oder eine einzelne Basisstation könnte verschiedene Mobilfunktürme bedienen, oder verschiedene Basisstationen könnten mit einer einzigen MSC gekoppelt werden, um nur einige der möglichen Anordnungen zu nennen.
  • Abgesehen vom Verwenden des Drahtlosträgersystems 60 kann ein zweites Drahtlosträgersystem in Form eines Satellitenkommunikationssystems 64 verwendet werden, um unidirektionale oder bidirektionale Kommunikation mit dem autonomen Fahrzeug 10a-10n bereitzustellen. Dies kann unter Verwendung von einem oder mehreren Kommunikationssatelliten (nicht dargestellt) und einer aufwärts gerichteten Sendestation (nicht dargestellt) erfolgen. Die unidirektionale Kommunikation kann beispielsweise Satellitenradiodienste beinhalten, worin programmierte Inhaltsdaten (Nachrichten, Musik usw.) von der Sendestation empfangen werden, für das Hochladen gepackt und anschließend zum Satelliten gesendet werden, der die Programmierung an die Teilnehmer ausstrahlt. Die bidirektionale Kommunikation kann beispielsweise Satellitentelefondienste beinhalten, die den Satelliten verwenden, um Telefonkommunikationen zwischen dem Fahrzeug 10 und der Station weiterzugeben. Die Satellitentelefonie kann entweder zusätzlich oder anstelle des Drahtlosträgersystems 60 verwendet werden.
  • Ein Festnetz-Kommunikationssystem 62 kann ein konventionelles Festnetz-Telekommunikationsnetzwerk beinhalten, das mit einem oder mehreren Festnetztelefonen verbunden ist und das drahtlose Trägersystem 60 mit dem entfernten Transportsystem 52 verbindet. So kann beispielsweise das Festnetz-Kommunikationssystem 62 ein Fernsprechnetz (PSTN) wie jenes sein, das verwendet wird, um festverdrahtetes Fernsprechen, paketvermittelte Datenkommunikationen und die Internetinfrastruktur bereitzustellen. Ein oder mehrere Segmente des Festnetz-Kommunikationssystems 62 könnten durch Verwenden eines normalen drahtgebundenen Netzwerks, eines Lichtleiter- oder eines anderen optischen Netzwerks, eines Kabelnetzes, von Stromleitungen, anderen drahtlosen Netzwerken, wie drahtlose lokale Netzwerke (WLANs) oder Netzwerke, die drahtlosen Breitbandzugang (BWA) bereitstellen oder jeder Kombination davon implementiert sein. Weiterhin muss das entfernte Transportsystem 52 nicht über das Festnetz-Kommunikationssystem 62 verbunden sein, sondern könnte Funktelefonausrüstung beinhalten, sodass sie direkt mit einem drahtlosen Netzwerk, wie z. B. dem drahtlosen Trägersystem 60, kommunizieren kann.
  • Obwohl in 2 nur eine Benutzervorrichtung 54 dargestellt ist, können Ausführungsformen der Betriebsumgebung 50 eine beliebige Anzahl an Benutzervorrichtungen 54, einschließlich mehrerer Benutzervorrichtungen 54 unterstützen, die das Eigentum einer Person sind, von dieser bedient oder anderweitig verwendet werden. Jede Benutzervorrichtung 54, die von der Betriebsumgebung 50 unterstützt wird, kann unter Verwendung einer geeigneten Hardwareplattform implementiert werden. In dieser Hinsicht kann das Benutzergerät 54 in einem gemeinsamen Formfaktor realisiert werden, darunter auch in: einen Desktop-Computer; einem mobilen Computer (z. B. einem Tablet-Computer, einem Laptop-Computer oder einem Netbook-Computer); einem Smartphone; einem Videospielgerät; einem digitalen Media-Player; einem Bestandteil eines Heimunterhaltungsgeräts; einer Digitalkamera oder Videokamera; einem tragbaren Computergerät (z. B. einer Smart-Uhr, Smart-Brille, Smart-Kleidung); oder dergleichen. Jede von der Betriebsumgebung 50 unterstützte Benutzervorrichtung 54 ist als computerimplementiertes oder computergestütztes Gerät mit der Hardware-, Software-, Firmware- und/oder Verarbeitungslogik realisiert, die für die Durchführung der hier beschriebenen verschiedenen Techniken und Verfahren erforderlich ist. So beinhaltet beispielsweise die Benutzervorrichtung 54 einen Mikroprozessor in Form einer programmierbaren Vorrichtung, die eine oder mehrere in einer internen Speicherstruktur gespeicherte Anweisungen beinhaltet und angewendet wird, um binäre Eingaben zu empfangen und binäre Ausgaben zu erzeugen. In einigen Ausführungsformen beinhaltet die Benutzervorrichtung 54 ein GPS-Modul, das GPS-Satellitensignale empfangen und GPS-Koordinaten basierend auf diesen Signalen erzeugen kann. In weiteren Ausführungsformen beinhaltet die Benutzervorrichtung 54 eine Mobilfunk-Kommunikationsfunktionalität, sodass die Vorrichtung Sprach- und/oder Datenkommunikationen über das Kommunikationsnetzwerk 56 unter Verwendung eines oder mehrerer Mobilfunk-Kommunikationsprotokolle durchführt, wie hierin erläutert. In verschiedenen Ausführungsformen beinhaltet die Benutzervorrichtung 54 eine visuelle Anzeige, wie zum Beispiel ein grafisches Touchscreen-Display oder eine andere Anzeige.
  • Das entfernte Transportsystem 52 beinhaltet ein oder mehrere Backend-Serversysteme, die an dem speziellen Campus oder dem geografischen Standort, der vom Transportsystem 52 bedient wird, Cloud-basiert, netzwerkbasiert oder resident sein können. Das entfernte Transportsystem 52 kann mit einem Live-Berater, einem automatisierten Berater oder einer Kombination aus beidem besetzt sein. Das entfernte Transportsystem 52 kann mit den Benutzervorrichtungen 54 und den autonomen Fahrzeugen 10a-10n kommunizieren, um Fahrten zu planen, autonome Fahrzeuge 10a-10n zu versetzen und dergleichen. In verschiedenen Ausführungsformen speichert das entfernte Transportsystem 52 Kontoinformationen, wie zum Beispiel Teilnehmerauthentifizierungsdaten, Fahrzeugkennzeichen, Profilaufzeichnungen, Verhaltensmuster und andere entsprechende Teilnehmerinformationen.
  • Gemäß einem typischen Anwendungsfall-Arbeitsablauf kann ein registrierter Benutzer des entfernten Transportsystems 52 über die Benutzervorrichtung 54 eine Fahrtanfrage erstellen. Die Fahrtanfrage gibt typischerweise den gewünschten Abholort des Fahrgastes (oder den aktuellen GPS-Standort), den gewünschten Zielort (der einen vordefinierten Fahrzeugstopp und/oder ein benutzerdefiniertes Passagierziel identifizieren kann) und eine Abholzeit an. Das entfernte Transportsystem 52 empfängt die Fahrtanforderung, verarbeitet die Anforderung und sendet ein ausgewähltes der autonomen Fahrzeuge 10a-10n (wenn und sofern verfügbar), um den Passagier an dem vorgesehenen Abholort und zu gegebener Zeit abzuholen. Das entfernte Transportsystem 52 kann zudem eine entsprechend konfigurierte Bestätigungsnachricht oder Benachrichtigung an die Benutzervorrichtung 54 erzeugen und senden, um den Passagier zu benachrichtigen, dass ein Fahrzeug unterwegs ist.
  • Wie ersichtlich, bietet der hierin offenbarte Gegenstand bestimmte verbesserte Eigenschaften und Funktionen für das, was als ein standardmäßiges oder Basislinien autonomes Fahrzeug 10 und/oder ein autonomes fahrzeugbasiertes Transportsystem 52 betrachtet werden kann. Zu diesem Zweck kann ein autonomes fahrzeugbasiertes Transportsystem modifiziert, erweitert oder anderweitig ergänzt werden, um die nachfolgend näher beschriebenen zusätzlichen Funktionen bereitzustellen.
  • Gemäß verschiedenen Ausführungsformen implementiert die Steuerung 34 eine High-Level-Steuerung eines autonomen Antriebssystems (ADS) 33, wie in 3 dargestellt. Das heißt, dass geeignete Soft- und/oder Hardwarekomponenten der Steuerung 34 (z. B. den Prozessor 44 und die computerlesbare Speichervorrichtung 46) verwendet werden, um eine High-Level-Steuerung eines autonomen Antriebssystems 33 bereitzustellen, das in Verbindung mit dem Fahrzeug 10 verwendet wird.
  • In verschiedenen Ausführungsformen können die Anweisungen für die High-Level-Steuerung des autonomen Antriebssystems 33 je nach Funktion, Modul oder System gegliedert sein. Die High-Level-Steuerung des autonomen Antriebssystems 33 kann beispielsweise, wie in 3 dargestellt, ein Computer-Sichtsystem 74, ein Positionierungssystem 76, ein Leitsystem 78 und ein Fahrzeugsteuersystem 80 beinhalten. Wie ersichtlich ist, können die Anweisungen in verschiedenen Ausführungsformen in beliebig viele Systeme (z. B. kombiniert, weiter unterteilt usw.) gegliedert werden, da die Offenbarung nicht auf die vorliegenden Beispiele beschränkt ist.
  • In verschiedenen Ausführungsformen synthetisiert und verarbeitet das Computer-Sichtsystem 74 Sensordaten und prognostiziert Anwesenheit, Standort, Klassifizierung und/oder Verlauf von Objekten und Merkmalen der Umgebung des Fahrzeugs 10. In verschiedenen Ausführungsformen kann das Computer-Sichtsystem 74 Informationen von mehreren Sensoren beinhalten, einschließlich, aber nicht beschränkt auf Kameras, Lidare, Radare und/oder eine beliebige Anzahl anderer Arten von Sensoren. Das Positioniersystem 76 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Position (z. B. eine lokale Position in Bezug auf eine Karte, eine exakte Position in Bezug auf die Fahrspur einer Straße, Fahrzeugrichtung, Geschwindigkeit usw.) des Fahrzeugs 10 in Bezug auf die Umgebung zu ermitteln. Das Leitsystem 78 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Strecke zu ermitteln, dem das Fahrzeug 10 folgen soll. Das Fahrzeugsteuerungssystem 80 erzeugt Steuersignale 72 zum Steuern des Fahrzeugs 10 entsprechend der ermittelten Strecke.
  • In verschiedenen Ausführungsformen implementiert die Steuerung 34 maschinelle Lerntechniken, um die Funktionalität der Steuerung 34 zu unterstützen, wie z. B. Merkmalerkennung/Klassifizierung, Hindernisminderung, Routenüberquerung, Kartierung, Sensorintegration, Boden-Wahrheitsbestimmung und dergleichen.
  • Übersicht
  • In einer Ausführungsform ist eine autonome Fahrrichtlinienerzeugung und ein Serversystem vorgesehen. Das System kann eine Reihe von autonomen Fahreragenten, einen Erfahrungsspeicher, der die von den Fahreragenten erfassten Erfahrungen speichert, ein Fahrrichtlinien-Erzeugungsmodul, das eine Reihe von Fahrrichtlinien-Lernmodulen zum Erzeugen und Verbessern von Richtlinien basierend auf den im Erfahrungsspeicher gespeicherten kollektiven Erfahrungen beinhaltet, und einen Richtlinienserver beinhalten, der Parameter für Richtlinien für die Fahreragenten bereitstellt. Die Fahreragenten können Fahrerfahrungen sammeln, um eine Wissensdatenbank zu erstellen, die in einem Erlebnisspeicher gespeichert ist. Die Fahrrichtlinien-Lernmodule können die kollektiven Fahrerfahrungen verarbeiten, um Fahrrichtlinien (oder Regeln) zu extrahieren und/oder neue Lemparadigmen zu starten. Die Fahreragenten können über die Fahrrichtlinien-Lernmodule parallel und verteilt trainiert werden, ohne auf gekennzeichnete Daten oder externe Überwachung angewiesen zu sein. Die parallele und verteilte Architektur des autonomen Systems zum Erzeugen von Fahrrichtlinien und Servern ermöglicht es den Fahreragenten und den Modulen zum Lernen von Fahrrichtlinien, neuartige Fahrstrategien und -verhalten schneller und effizienter zu finden. Da sich die Module der Fahrrichtlinien-Lernmodul nicht auf gekennzeichnete Daten oder Überwachungen verlassen müssen, die zeitaufwändig und arbeitsintensiv beim Erstellung sein können, kann die Skalierbarkeit des Systems verbessert werden. Paralleles und verteiltes Lernen kann ein beschleunigtes Training mehrerer autonomer intelligenter Fahreragenten ermöglichen und eine schnellere Entwicklung, Erprobung und groß angelegte Validierungszyklen für AV-Verhalten (z. B. städtische oder landesweite Validierung) ermöglichen. Richtlinien, die durch die Fahrrichtlinien-Lernmodule gelernt werden, sind auf andere Fahraufgaben und/oder Bereiche übertragbar.
  • 4A ist ein Blockdiagramm, das ein autonomes Erzeugen von Fahrrichtlinien und ein Serversystem 100 für autonome Fahreragenten 116-1....116-n gemäß den offenbarten Ausführungsformen veranschaulicht. Im Allgemeinen beinhaltet das autonome Fahrrichtlinienerzeugungs- und Serversystem 100 einen Satz oder eine Vielzahl von autonomen Fahreragenten 116-1....116-n, einen Erfahrungsspeicher 120, ein Fahrrichtlinien-Erzeugungsmodul 130 und einen Richtlinienserver 150. In einer Ausführungsform beinhaltet das AI-Fahreragenten System 110 einen Satz von Fahrumgebungsprozessoren 114-1...114-n und einen entsprechenden Satz von n Fahreragenten 116-1...116-n, wobei n größer oder gleich 1 ist. Das Fahrrichtlinien-Erzeugungsmodul 130 beinhaltet einen Satz von k Fahrrichtlinien-Lernmodulen 131-1...131-k, wobei k größer oder gleich 1 ist.
  • Abhängig von der Implementierung kann das autonome Fahrrichtlinienerzeugungs- und Serversystem 100 in einer verteilten Architektur 100-A, wie in 4B dargestellt, oder vollständig innerhalb eines AV, wie in 4C dargestellt, implementiert werden. Wie im Folgenden unter Bezugnahme auf die 4B und 4C erläutert, ist der Satz von Fahrumgebungsprozessoren 114 und der entsprechende Satz von autonomen Fahreragenten 116-1....116-n immer innerhalb eines AV (oder möglicherweise innerhalb eines AV-Simulators) implementiert, während der Erfahrungsspeicher 120, das Fahrrichtlinien-Erzeugungsmodul 130 und der Richtlinienserver 150 je nach Ausführungsform in einem Fahrzeug oder in einem Computer-Cloud/Server-System implementiert werden können.
  • 4B ist ein Blockdiagramm, das ein verteiltes, autonomes Fahrrichtlinienerzeugungs- und Serversystem 100-A gemäß den offenbarten Ausführungsformen veranschaulicht. In der in 4B veranschaulichten nichteinschränkenden Ausführungsform sind die Fahreragenten an verschiedenen AVs 10 implementiert, während der Erfahrungsspeicher 120, das Fahrrichtlinien-Erzeugungsmodul 130 und der Richtlinienserver 150 innerhalb einer Computer-Cloud oder einem ähnlichen Serversystem implementiert werden können. In dieser Ausführungsform sind die Komponenten der autonomen Fahrrichtlinienerzeugungs- und Serversystems 100-A verteilt, sodass die Fahreragenten 116-1....116-n an einer Vielzahl von verschiedenen AVs implementiert werden können, während die anderen (z. B. der Erfahrungsspeicher 120, das Fahrrichtlinien-Erzeugungsmodul 130 und der Richtlinienserver 150) an entfernten Servern oder in einer möglichen Computerplattform (z. B. High-Performance Computing Cluster) implementiert sind. Darüber hinaus gibt es auch Unterschiede in der Art und Weise, wie der Satz von Fahrumgebungsprozessoren 114 und der entsprechende Satz von autonomen Fahreragenten 116 und der Erfahrungsspeicher 120 in der in 4B veranschaulichten Ausführungsform arbeiten, verglichen mit der in 4C veranschaulichten Ausführungsform. In 4B beispielsweise sammeln viele verschiedene Fahrumgebungsprozessoren 114 und entsprechende autonome Fahreragenten 116 aus vielen AVs Erfahrungen und senden sie an einen zentral zugänglichen Cloud-basierten Erfahrungsspeicher. In dieser Ausführungsform kann jeder der Fahrumgebungsprozessoren 114 und die entsprechenden autonomen Fahreragenten 116-1....116-n in verschiedenen AVs eingesetzt werden, die in verschiedenen Umgebungen 114 fahren. Darüber hinaus können die von jedem der Fahreragenten 116-1....116-n gesammelten Fahrerfahrungen an einen zentral zugänglichen Speicher (z. B. implementiert in einer Computer-Cloud) gesendet werden, der für viele AVs zugänglich ist und der hierin als geteilter Erfahrungsspeicher 120-A erläutert wird.
  • 4C ist ein Blockdiagramm, das eine konsolidierte autonome Fahrtrichtlinienerzeugung und ein Serversystem 100-B gemäß den offenbarten Ausführungsformen veranschaulicht. In der in 4C veranschaulichten nichteinschränkenden Ausführungsform können die Fahrumgebungsprozessoren 114 und die entsprechenden autonomen Fahreragenten 116-1....116-n, der Erfahrungsspeicher 120, das Fahrrichtlinien-Erzeugungsmodul 130 und der Richtlinienserver 150 alle innerhalb eines einzigen Fahrzeugs 10 implementiert oder verkörpert werden, sodass alle Prozesse an diesem Fahrzeug 10 laufen. Die verschiedenen Komponenten der konsolidierten autonomen Fahrrichtlinienerzeugungs- und Serversystems 100-B funktionieren ähnlich wie in 4B, jedoch mit einigen Unterschieden. In dieser Ausführungsform sammelt ein oder mehrere autonome Fahreragenten 116, die in einem einzigen AV implementiert sind, Erfahrungen aus verschiedenen Fahrten dieses AV und sendet sie an einen internen oder lokalen Erfahrungsspeicher innerhalb des AV. Zur weiteren Erläuterung kann jeder der Fahrumgebungsprozessoren 114 und die entsprechenden autonomen Fahreragenten 116-1....116-n in einem bestimmten autonomen Fahrzeug 10 eingesetzt werden. Jeder der Fahreragenten 116-1....116-n kann unterschiedliche Fahrerfahrungen aus verschiedenen Fahrten mit diesem autonomen Fahrzeug 10 sammeln. Die von jedem der Fahreragenten 116-1....116-n gesammelten Fahrerfahrungen können gebündelt und in einem lokalen Speicher (z. B. im AV) gespeichert werden, der hierin als Erfahrungsspeicher 120 bezeichnet wird.
  • Die verschiedenen Elemente der 4A bis 4C werden nachfolgend ausführlicher unter Bezugnahme auf 4A und unter Bezugnahme auf die 5-11 beschrieben.
  • Fahrumgebungsprozessoren und autonome Fahreragenten
  • Jeder Fahrumgebungsprozessor 114-1 bis 114-n kann Sensorinformationen verarbeiten, die eine bestimmte Fahrumgebung beschreiben. Die Sensorinformationen können mit den fahrzeugseitigen Sensoren des Fahrzeugs erfasst werden, einschließlich, aber nicht beschränkt auf Kameras, Radare, Lidar, V2X-Kommunikation und andere hierin beschriebene Sensoren. Die Fahreragenten 116-1....116-n sind auf künstlicher Intelligenz basierende autonome Fahreragenten. Jeder der Fahreragenten 116-1....116-n kann unterschiedliche Fahrerfahrungen aus verschiedenen Fahrumgebungen sammeln, die von den Fahrumgebungsprozessoren 114-1 bis 114-n beobachtet werden. In einer Ausführungsform kann jede Fahrerfahrung in einem großen, mehrdimensionalen Tensor dargestellt werden, der Informationen aus einer bestimmten Fahrumgebung zu einem bestimmten Zeitpunkt beinhaltet. Jede Erfahrung beinhaltet: Zustand (S), Beobachtung (O), Aktion (A), Prämie (R), nächster Zustand (S^'), nächste Beobachtung (O^'), Ziel (G) und Instanzinformationen (I). Wie hierin verwendet, kann sich der Begriff „Zustand (S)“, wenn er mit Bezug auf eine Fahrerfahrung verwendet wird, auf den Zustand der Umgebung beziehen, der vom Fahrerumgebungsprozessor und den Fahreragenten durch Sensoren im Fahrzeug oder durch andere Mittel, wie beispielsweise die Kommunikation zwischen Fahrzeug und Infrastruktur (V2I) oder Fahrzeug zu Fahrzeug (V2V) oder vom Simulationsmotor im Falle simulierter Fahrumgebungen, wahrgenommen/beobachtet werden kann. Wie hierin verwendet, kann sich der Begriff „Beobachtung (O)“, wenn er mit Bezug auf eine Fahrerfahrung verwendet wird, auf die gesamte oder teilweise Information beziehen, die im Zustand (S) enthalten ist. In einigen Fällen kann die Fahrumgebung nicht vollständig durch den Fahreragenten/Umgebungsprozessor beobachtbar sein. So ist beispielsweise alles, was in der Fahrumgebung abläuft, möglicherweise nicht beobachtbar. So ist beispielsweise die Absicht der anderen Fahrzeuge oder Fußgänger usw. nicht bekannt. Der Fahrumgebungsprozessor am Fahrzeug empfängt die Informationen über die Umgebung, die unter Verwendung der verschiedenen Sensoren am Fahrzeug sowie anderer infrastrukturbasierter Informationen in Bezug auf die Umgebung (z. B. von Satelliten/V2X usw.) erfasst wurden, verarbeitet sie und stellt sie als „Beobachtungs“-Eingabe für den Fahreragentenprozess zur Verfügung. In den Fällen, in denen die Fahrumgebung (z. B. in simulierten Fahrumgebungen) vollständig beobachtbar ist oder vorausgesetzt, dass sie vollständig beobachtbar ist, verbessert die Leistung der Fahragenten, in denen die Informationen über die Umgebung als die „Zustands“-Eingabe an den Agenten bereitgestellt werden können. Wie hierin verwendet, kann sich der Begriff „Aktion (A)“, wenn er n Bezug auf eine Fahrerfahrung verwendet wird, auf die Aktion des autonomen Fahreragenten beziehen, die untergeordnete Steuersignale wie Lenkung, Gas, Bremswerte oder übergeordnete Fahrentscheidungen wie „Beschleunigen durch x.y“, „Spurwechsel nach links“, „Stopp in z Meter“ beinhalten kann. Wie hierin verwendet, kann sich der Begriff „Prämie (R)“, wenn er in Bezug auf eine Fahrerfahrung verwendet wird, auf ein Signal beziehen, das angibt, wie wünschenswert die vom autonomen Fahreragenten ausgeführte Aktion (A) zu einem bestimmten Zeitpunkt und unter bestimmten Umgebungsbedingungen ist. Diese kann automatisch basierend auf den Straßenverkehrsregeln und guten Fahrprinzipien berechnet werden, die wiederum aus menschlichen Fahrdaten extrahiert oder mit anderen geeigneten Verfahren basierend auf den vorgeschriebenen Verkehrs- und Straßenregeln definiert werden können. Wie hierin verwendet, kann sich der Begriff „nächster Zustand (S^'), wenn er in Bezug auf eine Fahrerfahrung verwendet wird, auf den Zustand der Fahrumgebung beziehen, der sich ergibt, nachdem der autonome Fahreragent/Auto die Aktion (A) in der Fahrumgebung durchgeführt hat. Wie hierin verwendet, kann sich der Begriff „nächste Beobachtung (O^')“, wenn er in Bezug auf eine Fahrerfahrung verwendet wird, auf die im nächsten Zustand (S^) enthaltenen vollständigen oder teilweisen Informationen beziehen. Wie hierin verwendet, kann sich der Begriff „Ziel (G)“, wenn er in Bezug auf eine Fahrerfahrung verwendet wird, auf das Ziel oder die Bestimmung beziehen, die der autonome Fahreragent erreichen/erzielen soll. Wie hierin verwendet, kann sich der Begriff „Instanzinformationen (I)“, wenn er in Bezug auf eine Fahrerfahrung verwendet wird, auf Informationen beziehen, welche die Auswirkungen/Priorität der Erfahrung aus der Sicht des Agenten zum Zeitpunkt der Sammlung der Erfahrung sowie andere Metainformationen (falls vorhanden) über diese besondere Erfahrung enthalten, wie beispielsweise den Glauben des Agenten an den Wert von Maßnahmen (A), das Vertrauen in die Entscheidung, Maßnahmen zu ergreifen (A), usw..
  • 5 ist ein Blockdiagramm, das ein AI-Fahreragentensystem 110 veranschaulicht, das einen Satz n von Fahrumgebungsprozessoren 114 und einen Satz n von auf künstlicher Intelligenz (KI) basierenden autonomen Fahreragentenmodulen 116 gemäß den offenbarten Ausführungsformen beinhaltet. 5 veranschaulicht die Interaktionen 112 zwischen den verschiedenen Fahrumgebungsprozessoren 114 und ihren entsprechenden KI-basierten autonomen Fahreragentenmodulen 116 basierend auf den von den Fahrumgebungsprozessoren beobachteten Fahrumgebungen 114. Wie in 5 dargestellt, folgt jeder Fahreragent 116-1...116-n einer Richtlinie 118-1...118-n, um ein Fahrzeug in einer bestimmten Fahrumgebung zu fahren, wie sie von einem entsprechenden Prozessor der Fahrumgebung 114-1...114-n beobachtet wird. Jede Richtlinie 118 kann den Zustand (S) der Fahrumgebung (wie von einem entsprechenden Fahrumgebungsprozessor 114 beobachtet) verarbeiten und Aktionen (A) erzeugen, die zum Steuern eines bestimmten AV verwendet werden, der in diesem Zustand (S) der Fahrumgebung betrieben wird. Die Variationen in der Fahrumgebung können beispielsweise unterschiedliche Start-/Zielpositionen, unterschiedliche Verkehrskonfigurationen, unterschiedliche Straßenkonfigurationen, unterschiedliche Beleuchtungs-/Wetter-/Sichtverhältnisse usw. beinhalten. In einer Ausführungsform ist jede Richtlinie 118 eine durch Tiefenverstärkungslernen (DRL) entwickelte Richtlinie und kann daher als DRL-Richtlinie bezeichnet werden. In einer Ausführungsform können die Richtlinien 118 (bezeichnet als DRL-Richtlinien 1 bis n) zunächst aus einem Pool von Richtlinien entnommen werden, die aus menschlichen Fahrdaten erhalten werden können. Die Richtlinien 118 können dann im Zeitverlauf unter Verwendung der Fahrrichtlinienlerner 131 verbessert werden. In einer Ausführungsform werden die von den Fahreragenten 116-1...116-n erzeugten Aktionen (A) an eine Low-Level-Steuerung 120-1...120-n gesendet. Abhängig von der Implementierung können die Low-Level-Steuerungen eine einzelne Low-Level-Steuerung in einem einzelnen Fahrzeug oder unterschiedliche Low-Level-Controller in verschiedenen Fahrzeugen darstellen. Jede Low-Level-Steuerung 120-1...120-n kann eine Aktion verarbeiten, um Befehle zu erzeugen, die eine oder mehrere dieser Stellgliedvorrichtungen gemäß der Aktion zum Planen und Ausführen einer oder mehrerer Steuerungsaktionen steuern, die auszuführen sind, um das autonome Fahrzeug automatisch zu steuern und die in einem bestimmten Fahrszenario auftretende autonome Fahraufgabe zu automatisieren (z. B. um ein oder mehrere bestimmte Fahrzeugtrajektorien und Geschwindigkeitsprofile zu erreichen). Um dies mit Bezug auf die 1 und 3 weiter zu erläutern, sind die Aktionen von 5 den Steuersignalen 72 von 3 gleichwertig. Wie vorstehend unter Bezugnahme auf 3 beschrieben, beinhaltet das Stellgliedsystem 90 eine untergeordnete Steuerung und eine Vielzahl von Stellgliedern des Fahrzeugs (z. B. eine Lenkmoment- oder Winkelsteuerung, ein Bremssystem, ein Drosselsystem usw). Jede Low-Level-Steuerung 120-1...120-n von 5 verarbeitet die Aktion (oder die Steuersignale 72 von 3), um Signale oder Befehle zu erzeugen, welche die Stellglieder (Stellglieder 42a-42n von 1) gemäß der Aktion (oder die Steuersignale 72 von 3) steuern, um eine oder mehrere Steuerungsaktionen zu planen und auszuführen, die zum Automatisieren von Fahraufgaben durchzuführen sind. Die Aktion (oder die Steuersignale 72 von 3) legen die Steuerungsaktionen und Parameter fest oder ordnen diese zu, die verwendet werden, um eine oder mehrere geplante Aktionen zu planen, die zur Automatisierung von Fahraufgaben ausgeführt werden sollen. Die eine oder die mehreren Steuerungsaktionen steuern automatisch das autonome Fahrzeug, um eine in einem bestimmten Fahrszenario auftretende autonome Fahraufgabe zu automatisieren (z. B. um eine bestimmte Fahrzeugtrajektorie und ein bestimmtes Geschwindigkeitsprofil zu erreichen). Weitere Details zum Betrieb der Fahreragenten 116-1...116-n werden im Folgenden unter Bezugnahme auf 6 beschrieben.
  • 6 ist ein Flussdiagramm, das ein Verfahren 200 zur Verarbeitung durch den/die Fahreragenten 116-1....116-n in verschiedenen Fahrumgebungen (1...n) veranschaulicht, wie es von einem entsprechenden Prozessor 114-1...114-n für die Fahrumgebung gemäß den offenbarten Ausführungsformen beobachtet wird. 6 wird mit weiterem Bezug auf die 4A-5 beschrieben. Bezogen auf 6 sind die Schritte nicht notwendigerweise einschränkend. Es können Schritte hinzugefügt, weggelassen und/oder gleichzeitig durchgeführt werden, ohne dass dabei vom Geltungsbereich der beigefügten Ansprüche abgewichen wird. Das Verfahren 200 kann beliebig viele zusätzliche oder alternative Aufgaben beinhalten, wobei die dargestellten Aufgaben nicht in der veranschaulichten Reihenfolge ausgeführt werden müssen. Das Verfahren 200 kann in einer umfassenden Vorgehensweise oder einem Prozess mit zusätzlicher hierin nicht im Detail beschriebener Funktionalität eingearbeitet werden. Darüber hinaus könnten eine oder mehrere der dargestellten Aufgaben möglicherweise in einer Ausführungsform des Verfahrens 200 weggelassen werden, solange die beabsichtigte Gesamtfunktionalität intakt bleibt. Die Abfolge der Vorgänge innerhalb des Verfahrens 200 ist nicht auf die in 6 veranschaulichte sequenzielle Abarbeitung beschränkt, sondern kann, soweit zutreffend, in einer oder mehreren unterschiedlichen Reihenfolgen gemäß der vorliegenden Offenbarung durchgeführt werden. In verschiedenen Ausführungsformen kann das Verfahren 200 basierend auf einem oder mehreren vordefinierten Ereignissen zur Ausführung geplant werden und/oder kontinuierlich während des Betriebs des autonomen Fahrzeugs 10 ausgeführt werden. Ferner kann das Verfahren 200 computerimplementiert, in dem verschiedene Aufgaben oder Schritte, die in Verbindung mit dem Verfahren durchgeführt wird, durch Software, Hardware, Firmware oder irgendeine Kombination derselben durchgeführt werden. Zur Veranschaulichung kann sich die folgende Beschreibung jedes Verfahrens auf die oben in Verbindung mit den 1, 3 und 4A-5 erwähnten Elemente beziehen. In bestimmten Ausführungsformen werden einige oder alle Schritte dieser Verfahren und/oder im Wesentlichen äquivalente Schritte durch Ausführen von prozessorlesbaren Befehlen durchgeführt, die auf einem prozessorlesbaren Medium gespeichert oder enthalten sind. In der folgenden Beschreibung von 6 können beispielsweise verschiedene Module beschrieben werden, wie verschiedene Handlungen, Aufgaben oder Schritte auszuführen sind, aber es sollte darauf hingewiesen werden, dass dies sich auf das(die) Verarbeitungssystem(e) dieser Module bezieht, das Befehle ausführt, um diese verschiedenen Handlungen, Aufgaben oder Schritte auszuführen. Abhängig von der Implementierung kann ein Teil des/der Verarbeitungssysteme zentral angeordnet oder auf eine Anzahl von Prozessoren oder Steuerungen verteilt werden, die zusammenwirken.
  • Das Verfahren 200-1 beginnt bei 202, wobei das AI-Fahreragentensystem 110 initialisiert wird. Während der Initialisierungsphase (bei 202) wird ein Ziel (G) basierend auf der Präferenz von Benutzer, Fahrgast, Warenlieferung, Mobilitätsservice oder sonstiger Transportanfrage erzeugt. Das Verfahren 200 beinhaltet mehrere Instanzen von Verarbeitungssequenzen, die von verschiedenen Fahreragenten 116-1...116-n ausgeführt werden können. Zur Veranschaulichung zeigt das Verfahren 200 aufgrund von Seitenbeschränkungen zwei Fälle von Verarbeitung durch Fahreragenten, die ähnliche Verarbeitungsschritte 204-1 bis 218-1 und 204-2 bis 218-2 durchführen, wobei jedoch zu beachten ist, dass eine beliebige Anzahl von Fahreragenten 116-1....116-n bei 202 initialisiert und abhängig von der Implementierung ausgeführt werden kann. Da die Verarbeitungsschritte 204 bis 218, die von jeder Kombination aus Fahrumgebungsprozessor 114 und Fahreragent 116 durchgeführt werden, gleich sind, werden nur die Verarbeitungsschritte 204-1 bis 218-1, die vom Fahrumgebungsprozessor 114-1 und vom Fahreragent 116-1 in der Fahrumgebung 1 durchgeführt werden, als Verfahren 200-1 beschrieben, das Teil des Verfahrens 200 ist. Es ist jedoch zu beachten, dass jede andere Instanz von Fahreragenten, die bei 202 initialisiert sind, ähnliche Verarbeitungsschritte in Bezug auf ihre jeweilige Umgebung durchführen kann.
  • Bei Schritt 204-1 führt der Fahrumgebungsprozessor 114-1 die Verarbeitung von Sensorinformationen durch, die die Fahrumgebung 1 beschreiben. Die Sensorinformationen, welche die Fahrumgebung beschreiben, können Informationen beinhalten, die mit den fahrzeugseitigen Sensoren des Fahrzeugs erfasst werden, einschließlich, aber nicht beschränkt auf Kameras, Radare, Lidar, V2X-Kommunikation und andere hierin beschriebene Sensoren.
  • Bei 206-1 bestimmt der Fahrumgebungsprozessor 114-1, ob ein Reset-Zustand eingetreten ist. Wie hierin verwendet, kann sich ein „Reset-Zustand“ auf einen Zustand beziehen, der einen Neustart oder eine Neuinitialisierung des Prozesses erfordert. Beispiele für Reset-Zustände können beispielsweise Informationen sein, die anzeigen, dass (1) der Beginn einer neuen Fahrt, (2) der Beginn einer neuen Fahrt, (3) das Erreichen eines Ziels, (4) das Ziel geändert wurde.
  • Wenn der Fahrumgebungsprozessor 114-1 bestimmt (bei 206-1), dass ein Reset-Zustand eingetreten ist, fährt das Verfahren 200-1 mit 208-1 fort, wobei der Fahrumgebungsprozessor 114-1 einen Zustand (S) und eine Beobachtung (O) erzeugt, und fährt dann mit 116-1 fort, wobei der Fahreragent 116-1 die bei 208-1 erzeugten Informationen verarbeitet, um eine Aktion (A) durchzuführen, und auch eine Instanz einer Fahrerfahrung (siehe oben) erzeugt, die an einen oder mehrere der Erfahrungsspeicher 120, das Fahrrichtlinien-Erzeugungsmodul 130 und/oder den Richtlinienserver 150 gesendet werden kann. Im Gegensatz dazu, wenn der Fahrumgebungsprozessor 114-1 bestimmt (bei 206-1), dass kein Reset-Zustand eingetreten ist, geht das Verfahren 200-1 zu 210-1 über, wobei der Fahrumgebungsprozessor 114-1 eine Prämie (R), einen nächsten Zustand (S^') und eine nächste Beobachtung (O^') erzeugt, und dann zu 116-1 übergeht, wobei der Fahreragent 116-1 die bei 210-1 erzeugten Informationen verarbeitet, um Instanzinformationen (I) zu erzeugen, die die Priorität der Erfahrung anzeigen, und eine Aktion (A) ausführt. Darüber hinaus kann der Fahreragent 116-1 auch eine Instanz einer Fahrerfahrung (siehe oben) erzeugen, die an einen oder mehrere der Erfahrungsspeicher 120, das Fahrrichtlinien-Erzeugungsmodul 130 und/oder den Richtlinienserver 150 gesendet werden kann.
  • Bei 214-1 bestimmt der Fahreragent 116-1, ob ein Ziel (G) erreicht, erzielt oder abgeschlossen wurde. Das Ziel kann abhängig vom Fahrszenario in einer bestimmten Situation variieren. Beispiele für das Erreichen eines Ziels können beispielsweise sein: (1) das Vervollständigen oder Beenden einer Fahrt, einer Route, einer Trajektorie oder eines Weges, (2) das Erreichen eines Ziels oder eines Bestimmungsorts, usw. Wenn der Fahreragent 116-1 bestimmt, dass das Ziel (G) erreicht, erfüllt oder abgeschlossen ist, fährt das Verfahren 200-1 mit 218-1 fort, wobei das Verfahren 200-1 endet.
  • Wenn der Fahreragent 116-1 bestimmt, dass das Ziel (G) nicht erreicht, erfüllt oder abgeschlossen wurde, fährt das Verfahren 200-1 mit 216-1 fort, wobei der Fahreragent 116-1 eine weitere zu ergreifende Aktion (A^') bestimmt und durchführt und die nächste Aktion (A^') ausführt.
  • Erfahrungsspeicher
  • Wie vorstehend unter Bezugnahme auf Schritt 212 von 6 beschrieben, können von jedem der Fahreragenten 116-1...116-n gesammelte oder erfasste Fahrerfahrungen an einen Erfahrungsspeicher 120 gesendet und im Erfahrungsspeicher 120 gespeichert werden. Dadurch können die von jedem der Fahreragenten 116-1...116-n bereitgestellten Fahrerfahrungen im Erfahrungsspeicher 120 gebündelt werden. Die von verschiedenen Fahragenten 116-1...116-n aus verschiedenen Fahrumgebungen 114 gesammelten Fahrerfahrungen 122 stellen einen wachsenden Pool an Fakten und Wissen über Fahrsituationen dar. Die Fahrerfahrungen 122 können im Erfahrungsspeicher 120 zusammen mit einigen optionalen Metainformationen gespeichert werden (z. B. Priorität, die durch den Agenten 116-1...116-n bestimmt wird, eine Agentenkennung (AgentID), eine Umgebungskennung (envID)). Abhängig von der Implementierung kann der Erfahrungsspeicher 120 mit Fahrerfahrungen durch eine Vielzahl von verschiedenen AVs (wie in 4B) oder durch einen einzelnen AV (wie in 4C) ausgestattet werden.
  • Abhängig von der Implementierung kann der Erfahrungsspeicher 120 mit einer Warteschlange, einer Prioritätswarteschlange, einem differenzierbaren neuronalen Computer oder einem anderen geeigneten dynamischen Speichersystem implementiert werden. Merkmale und Eigenschaften des Erfahrungsspeichers 120 und die Interaktion anderer Komponenten mit dem Erfahrungsspeicher 120 werden im Folgenden näher beschrieben, beispielsweise mit Bezug auf die 7-10.
  • 7 ist ein Blockdiagramm, das die Interaktion zwischen dem Erfahrungsspeicher 120 und dem KI-Fahreragentensystem 110 und dem Fahrtrichtlinien-Erzeugungsmodul 130 gemäß den offenbarten Ausführungsformen veranschaulicht. Wie vorstehend beschrieben, beinhaltet das AI-Fahreragentensystem 110 eine Reihe von Fahreragenten 116-1...116-n, die verschiedene Fahrerfahrungen 122 im Erfahrungsspeicher 120 sammeln und speichern können. Das Fahrrichtlinien-Erzeugungsmodul 130 beinhaltet eine Reihe von Fahrrichtlinien-Lernmodul(en) 131, welche die Fahrerfahrungen 124 aus dem Erfahrungsspeicher 120 abrufen und die Fahrerfahrungen 124 unter Verwendung von Algorithmen des Richtlinienlemens zur Verbesserung der Richtlinien verarbeiten können. In einer Ausführungsform können die von jedem Fahreragenten 116-1...116-n gesammelten Fahrerfahrungen in prioritärer Reihenfolge gespeichert werden (z. B. in einer Reihenfolge, die nach Neuartigkeit/Priorität jeder Fahrerfahrung geordnet ist, wie sie durch einen Priorisierungsalgorithmus 134 des Fahrrichtlinien-Erzeugungsmoduls 130 bestimmt wird). So kann beispielsweise das Fahrrichtlinien-Erzeugungsmodul 130 die relative Priorität/Neuheit/Auswirkung/Effektivität 126 der Fahrerfahrungen 124 im Erfahrungsspeicher 120 aktualisieren und die Fahrerfahrungen dann in einer Prioritätsreihenfolge einordnen. In einer Ausführungsform, wenn ein Fahreragent 116 eine Fahrerfahrung erlangt, fügt er seine eigene Schätzung der Priorität als die Instanzinformation (I) wie beschrieben hinzu. Das/die Fahrrichtlinien-Lernmodul(e) 131, die über den gebündelten Erfahrungsspeicher 120 Zugriff auf wesentlich mehr Informationen haben, können einen Wert von Priorität/Neuheit/Impakt/Wirksamkeit aktualisieren, sodass Fahrerfahrungen mit erhöhter Aktualitäl/Eintreffen/Wirksamkeit/Priorität häufiger abgerufen werden, wenn sie aus dem Erfahrungsspeicher 120 abgerufen werden. Dies fügt den Fahrerfahrungen eine gewisse „Gewichtung“ hinzu, basierend auf ihrer Wichtigkeit/Neuheit/Eintreffen/Effektivität beim Lernen, um die gewünschten Ziele zu erreichen. Darüber hinaus können auf diese Weise die Fahrerfahrungen 122 basierend auf den aktuellen Werten und/oder den Wirkungs-/Prioritätswerten 126, die durch das Fahrrichtlinien-Erzeugungsmodul 130 aktualisiert werden, recycelt bzw. entsorgt werden. So können beispielsweise niederpriorisierte und häufig auftretende Fahrerfahrungen verworfen werden, um die Menge der gespeicherten Fahrerfahrungen zu reduzieren. Dadurch kann der Erfahrungsspeicher 120 verwalten, welche Richtlinien im Erfahrungsspeicher gespeichert sind und in welcher Reihenfolge sie priorisiert werden, um so viele Informationen wie möglich innerhalb der Kapazitätsgrenzen des Erfahrungsspeichers zu erhalten. Weitere Details bezüglich der Verarbeitung zum Aktualisieren des Erfahrungsspeichers 120 werden nun im Folgenden unter Bezugnahme auf 8 beschrieben.
  • 8 ist ein Flussdiagramm, das ein Verfahren 300 veranschaulicht, das von Fahreragenten 116-1...116-n und Fahrrichtlinien-Lernmodulen 131 durchgeführt wird, um den Erfahrungsspeicher 120 gemäß den offenbarten Ausführungsformen zu aktualisieren. 8 wird mit weiterem Bezug auf die 4A-7 beschrieben. Bezogen auf 8 sind die Schritte nicht notwendigerweise einschränkend. Es können Schritte hinzugefügt, weggelassen und/oder gleichzeitig durchgeführt werden, ohne dass dabei vom Geltungsbereich der beigefügten Ansprüche abgewichen wird. Das Verfahren 300 kann beliebig viele zusätzliche oder alternative Aufgaben beinhalten, wobei die dargestellten Aufgaben nicht in der veranschaulichten Reihenfolge ausgeführt werden müssen. Das Verfahren 300 kann in einer umfassenden Vorgehensweise oder einem Prozess mit zusätzlicher hierin nicht im Detail beschriebener Funktionalität eingearbeitet werden. Darüber hinaus könnten eine oder mehrere der dargestellten Aufgaben möglicherweise in einer Ausführungsform des Verfahrens 300 weggelassen werden, solange die beabsichtigte Gesamtfunktionalität intakt bleibt. Die Abfolge der Vorgänge innerhalb des Verfahrens 300 ist nicht auf die in 8 veranschaulichte sequenzielle Abarbeitung beschränkt, sondern kann, soweit zutreffend, in einer oder mehreren unterschiedlichen Reihenfolgen gemäß der vorliegenden Offenbarung durchgeführt werden. In verschiedenen Ausführungsformen kann das Verfahren 300 basierend auf einem oder mehreren vordefinierten Ereignissen zur Ausführung geplant werden und/oder kontinuierlich während des Betriebs des autonomen Fahrzeugs 10 ausgeführt werden. Ferner kann das Verfahren 300 computerimplementiert, in dem verschiedene Aufgaben oder Schritte, die in Verbindung mit dem Verfahren durchgeführt wird, durch Software, Hardware, Firmware oder irgendeine Kombination derselben durchgeführt werden. Zur Veranschaulichung kann sich die folgende Beschreibung jedes Verfahrens auf die oben in Verbindung mit den 1, 3, 4A-7 erwähnten Elemente beziehen. In bestimmten Ausführungsformen werden einige oder alle Schritte dieser Verfahren und/oder im Wesentlichen äquivalente Schritte durch Ausführen von prozessorlesbaren Befehlen durchgeführt, die auf einem prozessorlesbaren Medium gespeichert oder enthalten sind. In der folgenden Beschreibung von 8 können beispielsweise verschiedene Module beschrieben werden, wie verschiedene Handlungen, Aufgaben oder Schritte auszuführen sind, aber es sollte darauf hingewiesen werden, dass dies sich auf das(die) Verarbeitungssystem(e) dieser Module bezieht, das Befehle ausführt, um diese verschiedenen Handlungen, Aufgaben oder Schritte auszuführen. Abhängig von der Implementierung kann ein Teil des/der Verarbeitungssysteme zentral angeordnet oder auf eine Anzahl von Prozessoren oder Steuerungen verteilt werden, die zusammenwirken. Zur Veranschaulichung zeigt das Verfahren 300 n Instanzen von Fahreragenten 116-1...116-n, die instanziiert werden, wobei jedoch zu beachten ist, dass eine beliebige Anzahl von Fahreragenten 116-1...116-n während der Initialisierung bei 302 instanziiert und abhängig von der Implementierung ausgeführt werden kann. Ebenso zeigt das Verfahren 300 n Instanzen von Fahrrichtlinien-Lernmodulen 131-1...131-n, die instanziiert werden, wobei jedoch zu beachten ist, dass eine beliebige Anzahl von Fahrrichtlinien-Lernmodulen 131-1...131-n während der Initialisierung bei 302 instanziiert und abhängig von der Implementierung ausgeführt werden kann. Weiterhin ist zu beachten, dass die Anzahl der instanziierten Fahreragenten 116-1...116-n und der Fahrrichtlinien-Lernmodule 131-1...131-n nicht notwendigerweise gleich sein muss.
  • Das Verfahren 300 beginnt bei 302, wobei das System initialisiert wird, was dazu führt, dass verschiedene Fahreragenten 116-1...116-n und Fahrrichtlinien-Lernmodule 131-1...131-n instanziiert werden. Jeder Fahreragent 116-1...116-n kann die vom Richtlinienserver 150 bereitgestellten Richtlinienparameter verarbeiten, um eine oder mehrere Richtlinien auszuführen und eine weitere Fahrerfahrung zu erzeugen. Die kollektiven Fahrerfahrungen, die von den verschiedenen Fahreragenten 116-1...116-n erzeugt werden, werden gemeinsam als Fahrerfahrungsdaten 304 in 8 dargestellt. Die Fahrerfahrungsdaten 304 werden im Speicher 120 gespeichert. Wie nachfolgend unter Bezugnahme auf 11 näher erläutert wird, kann jedes der Fahrrichtlinien-Lernmodule 131-1...131-n eine Stichprobenaktion durchführen, um Fahrerfahrungen aus dem Erfahrungsspeicher 120 abzurufen und die abgerufenen Fahrerfahrungen (die vom jeweiligen Lernmodul abgerufen wurden) zu verarbeiten, um entsprechende Instanzinformationen (I) zu erzeugen, die zum Aktualisieren der im Erfahrungsspeicher 120 gespeicherten Fahrerfahrungen verwendet werden. Die exemplarischen Informationen (I) können Auswirkungen jeder Fahrerfahrung beinhalten.
  • Fahrrichtlinien-Lernmodule
  • Das Fahrrichtlinien-Erzeugungsmodul 130 kann eine beliebige Anzahl von Modulen 131 zum Erlernen der Fahrstrategie beinhalten. Das Fahrrichtlinien-Erzeugungsmodul 130 versucht, eine global optimale Richtlinie zu erlernen, die unter all den verschiedenen Szenarien gut fahren kann. Mit anderen Worten, das endgültige Ziel des Fahrrichtlinien-Erzeugungsmoduls 130 und der Fahrrichtlinien-Lernmodule 131 ist es, gemeinsam die optimale Richtlinie zu erlernen, da alle von den Fahreragenten 116 aus mehreren verschiedenen Fahrumgebungen gesammelten Erfahrungen berücksichtigt werden. Zu jedem gegebenen Zeitpunkt versuchen die Fahrrichtlinien-Lernmodule 131 aus den Erfahrungen zu lernen und die Richtlinien zu optimieren, damit sie global optimal sind und alle Erfahrungen sammeln. Das Fahr richtlinien-Lernmodule 131 können parallel ausgeführt werden, um Fahrerfahrungen zu verarbeiten und Richtlinien zu erzeugen, die lokal in einem Richtlinienspeicher 136 gespeichert und an den Richtlinienserver 150 bereitgestellt werden können. Jede Richtlinie kann unter Verwendung eines Satzes von Richtlinienparametern dargestellt werden. Jede Richtlinie bildet einen Zustand auf eine Aktion ab. Jedes Fahrrichtlinien-Lernmodul 131 kann neue Richtlinien und Parameteraktualisierungen erzeugen, um diese Richtlinien im Zeitverlauf zu verbessern, basierend auf Fahrerfahrungen aus dem Erfahrungsspeicher 120 oder einer anderen Quelle (z. B. den Fahreragenten 116-1...116-n). So kann beispielsweise jedes Fahrrichtlinien-Lernmodul 131 auf kollektive Fahrerfahrungen aus dem Erfahrungsspeicher 120 zugreifen und diese kollektiven Fahrerfahrungen verarbeiten, um Richtlinien zu lernen und zu verbessern, die in einem Richtlinienspeicher 136 verwaltet und mit dem Richtlinienserver 150 ausgetauscht werden können.
  • Darüber hinaus beinhaltet das Fahrrichtlinien-Erzeugungsmodul 130 einen Priorisierungsalgorithmus 134, der für die Priorisierung von Fahrerfahrungen und die Aktualisierung der Auswirkungen/Prioritäten von Fahrerfahrungen verantwortlich ist, da sich die von den Fahreragenten 116-1...116-n erfassten und im Erfahrungsspeicher 120 gespeicherten Fahrerfahrungen im Zeitverlauf ändern. Zur weiteren Erläuterung, da einige Fahrerfahrungen viel wertvoller sind als die anderen, kann ein Priorisierungsalgorithmus 134 des Fahrrichtlinien-Erzeugungsmoduls 130 die Fahrerfahrungen priorisieren und die Auswirkungen/Priorität der Fahrerfahrungen aktualisieren. So beinhaltet beispielsweise das Fahrrichtlinien-Erzeugungsmodul 130 in einer Ausführungsform einen DRL-Algorithmus 132, der aus allen gebündelten Fahrerfahrungen lernt und Fahrerfahrungen priorisieren und die Auswirkungen/Priorität von Fahrerfahrungen aktualisieren kann. In einer Ausführungsform kann der Priorisierungsalgorithmus 134 die von den Fahreragenten 116-1...116-n bereitgestellten Fahrerfahrungen in Echtzeit analysieren. In einer weiteren Ausführungsform kann der Priorisierungsalgorithmus 134 periodisch Fahrerfahrungen 124 aus dem Erfahrungsspeicher 120 abtasten und ihre relative Priorität in Bezug auf alle anderen Fahrerfahrungen bestimmen.
  • Die Fahrerfahrungen, die durch das Fahrrichtlinien-Erzeugungsmodul 130 aktualisiert werden, können je nach Implementierung variieren. So kann beispielsweise in der in 4B veranschaulichten Ausführungsform das Fahrrichtlinien-Erzeugungsmodul 130 auf die im Erfahrungsspeicher 120 gespeicherten kollektiven Fahrerfahrungen zugreifen und diese kollektiven Fahrerfahrungen verarbeiten, um neue Richtlinien zu erlernen und entweder zu erzeugen oder bestehende Richtlinien zu verbessern, die in einem Richtlinienspeicher 136 verwaltet und dann mit dem Richtlinienserver 150 und/oder direkt mit einem oder mehreren der Fahreragenten 116-1...116-n ausgetauscht werden können. In dieser Ausführungsform beinhaltet das Fahrrichtlinien-Lernmodul 131 einen Lernalgorithmus 132, der ein Tiefenverstärkungslern-(DRL)-Algorithmus sein kann, der aus allen gebündelten Fahrerfahrungen lernt, die von mehreren autonomen Fahrzeugen gesammelt wurden, die in mehreren verschiedenen Umgebungen fahren. Im Gegensatz dazu verarbeitet und lernt das Fahrrichtlinien-Erzeugungsmodul 130 in 4C aus diesen gebündelten Fahrerfahrungen, um die Richtlinien (gespeichert im Richtlinienspeicher 136) basierend auf diesen Fahrerfahrungen zu verbessern. In dieser Ausführungsform beinhaltet kann jedes Fahrrichtlinien-Lernmodul 131 einen Lernalgorithmus 132 sein, der ein Tiefenverstärkungslern-(DRL)-Algorithmus sein kann, der aus allen gebündelten Fahrerfahrungen lernt, die während mehrerer verschiedener Fahrten von einem bestimmten AV gesammelt wurden, das in mehreren verschiedenen Umgebungen gefahren ist.
  • 9 ist ein Blockdiagramm, das Elemente eines Fahrrichtlinien-Erzeugungsmoduls 130 und das Zusammenwirken zwischen dem Fahrrichtlinien-Erzeugungsmodul 130 und dem Richtlinienserver 150 gemäß den offenbarten Ausführungsformen veranschaulicht. Wie in 9 dargestellt, beinhaltet das Fahrrichtlinien-Erzeugungsmodul 130 mindestens ein Fahrrichtlinien-Lernmodul 131-1..131-n, eine Prioritätsrichtlinie 134 (z. B. zum Implementieren einer Ranking- oder Priorisierungsmethodik zum Klassifizieren/Priorisieren von Fahrerfahrungen, die innerhalb des Erfahrungsspeichers 120 gehalten werden) und einen Richtlinienspeicher 136, der Parameter für jede Richtlinie speichert, die durch das/die Fahrrichtlinien-Lernmodul(e) 131 erzeugt wird. Obwohl in 9 nur ein Fall eines Fahrrichtlinien-Lernmoduls 131 dargestellt ist, ist zu beachten, dass das Fahrrichtlinien-Erzeugungsmodul 130 eine beliebige Anzahl von Fahrrichtlinien-Lernmodul(en) 131 beinhalten kann, die unabhängig voneinander und parallel zum Verarbeiten der aus dem Erfahrungsspeicher 120 abgerufenen Fahrerfahrungen ausgeführt werden können. In 9 zeigt Block 131-1 verschiedene Teilblöcke 132, 138, 140, 142, die eine Instanz eines Fahrrichtlinien-Lernmoduls 131-1 bilden. In einigen Implementierungen beinhaltet das Fahrrichtlinien-Erzeugungsmodul 130 jedoch zusätzliche Fahrrichtlinien-Lernmodule 131-2..131-n, die in 9 gemeinsam durch einen einzelnen Block dargestellt werden. Jedes der Fahrrichtlinien-Lernmodule 131-2..131-n kann zusätzliche Blöcke beinhalten, wie beispielsweise diejenigen im Fahrrichtlinien-Lernenden Modul 131-1. Abhängig von der Implementierung kann jedes Fahrrichtlinien-Lernmodul 131 identische Teilblöcke 132, 138, 140, 142 beinhalten, die diese Instanz des Fahrrichtlinien-Lernmoduls 131 ausmachen, oder verschiedene Teilblöcke 132, 138, 140, 142, die diese Instanz des Fahrrichtlinien-Lernmoduls 131 ausmachen. So kann beispielsweise der DRL-Algorithmus 132, der in zwei verschiedenen Instanzen der Fahrrichtlinien-Lernmodule 131 verwendet wird, der gleiche DRL-Algorithmus oder verschiedene DRL-Algorithmen sein.
  • Jedes das Fahrrichtlinien-Lernmodul 131 kann Fahrerfahrungen verarbeiten, die es zum Erzeugen von Richtlinien abruft. Alle Richtlinien, die aktuell bewertet und aktualisiert werden, werden in dem Richtlinienspeicher 136 gespeichert. Auf diese Weise dient der Richtlinienspeicher 136 als Arbeitsspeicher für die Fahrrichtlinien-Lernmodule 131, in denen alle Richtlinien, auf die sie aktiv arbeiten, vorübergehend gespeichert werden können. Zu jedem gegebenen Zeitpunkt kann jede Richtlinie, die von einem der Fahrrichtlinien-Lernmodule 131 als optimal befunden wurde, dann an den Richtlinienserver 150 (bei 144) gesendet und auf dem Richtlinienserver 150 gespeichert werden. Darüber hinaus kann jedes Fahrrichtlinien-Lernmodul 131 auch (bei 146) zuvor erzeugte/gelernte Richtlinien vom Richtlinienserver 150 abrufen und diese dann basierend auf neuen Fahrerfahrungen aktualisieren. Parameter für neue oder aktualisierte Richtlinien stehen dann zur Verfügung, die als Kandidatenrichtlinien an die Fahreragenten 116-1...116-n gesendet werden. In einer Ausführungsform beinhaltet jedes Fahrrichtlinien-Lernmodul 131 einen Tiefenverstärkungslern-(DRL)-Algorithmus 132, ein Lernzielmodul 138 und ein Verlustmodul 142.
  • Tiefenverstärkungslernen
  • Das Tiefenverstärkungslernen ist ein Lernparadigma, das sich mit dem Erlernen der Steuerung eines Systems beschäftigt, um ein numerisches Leistungsmaß zu maximieren, das ein langfristiges Ziel ausdrückt. Der Unterschied zwischen Verstärkungslernen und überwachtem Lernen besteht darin, dass dem Lernenden nur ein teilweises Feedback über die Vorhersagen und Kontrollmaßnahmen des Lernenden gegeben wird. Weiterhin können die Vorhersagen und/oder die Steuerungsmaßnahmen langfristige Auswirkungen haben, indem sie den zukünftigen Zustand des Steuerungssystems beeinflussen. Somit spielt die Zeit eine besondere Rolle. Das Ziel beim Verstärkungslernen besteht darin, effiziente Lernalgorithmen zu entwickeln. Verstärkungslern-Agenten interagieren mit einer Umgebung, indem sie eine Beobachtung erhalten, die den aktuellen Zustand der Umgebung charakterisiert, und als Reaktion eine Maßnahme durchführen. Verstärkungslernen (RL) kann von einem Agenten verwendet werden, um das Steuern eines Fahrzeugs über Sensorausgänge zu erlernen. Das Verstärkungslernen unterscheidet sich vom überwachten Lernen dadurch, dass nicht korrekte Eingabe-/Ausgabepaare präsentiert werden, sondern eine Maschine (Software-Agent) lernt, in einer bestimmten Umgebung Maßnahmen zu ergreifen, um eine Form der Prämie zu maximieren oder Kosten zu minimieren. Das Ergreifen einer Maßnahme bewegt die Umgebung/das System von einem Zustand in einen anderen.
  • Das Tiefenverstärkungslernen (DRL) bezieht sich auf eine beliebige Anzahl einer maschinellen Lerntechnik, die einen Verstärkungslernansatz auf das Erlernen des gesamten Prozesses unter Verwendung von Tiefenlerntechniken erweitert. Das Tiefenverstärkungslernen (Deep Reinforcement Learning, DRL) kann verwendet werden, um Probleme, die mit der Umgebung interagieren und lernen, aktiv zu behandeln, indem ein skalares Prämiensignal maximiert wird. Ein Agent eines Tiefverstärkungslern-(DRL)-Algorithmus verwendet ein neuronales Netzwerk (z. B. ein faltungsneutrales Netzwerk, das verwendet wird, um den Zustand eines Agenten zu erkennen), um die Aktion auszuwählen, die als Reaktion auf das Empfangen einer bestimmten Beobachtung auszuführen ist. Neuronale Netzwerke sind maschinelle Lernmodelle, die eine oder mehrere Schichten nichtlinearer Einheiten verwenden, um eine Ausgabe für eine empfangene Eingabe vorherzusagen. Ein „tiefes neuronales Netzwerk“ wird verwendet, um sich auf ein neuronales Netzwerk mit einer oder mehreren versteckten Schichten zusätzlich zu einer Ausgabeschicht zu beziehen. Die Ausgabe jeder verdeckten Schicht wird als Eingabe für die nächste Schicht im Netzwerk verwendet, d. h. für die nächste verdeckt liegende Schicht oder die Ausgabeschicht. Jede Schicht des Netzwerks erzeugt eine Ausgabe aus einer empfangenen Eingabe gemäß den aktuellen Werten eines jeweiligen Parametersatzes.
  • Zur weiteren Erklärung verwendet der Agent in der DRL ein tiefes neuronales Netzwerk, um den langfristigen Wert eines Zustands/einer Aktion zu erfahren. Der DRLbasierte Agent kann auch ein tiefes neuronales Netzwerk verwenden, um die Zuordnungen zwischen Zustand und Aktionen zu lernen. Durch Ausführen einer Aktion wechselt der Agent von einem Zustand zum anderen. Das Ausführen einer Aktion in einem bestimmten Zustand gewährt dem Agenten eine Prämie (eine numerische Punktzahl). Das neuronale Netzwerk verwendet Koeffizienten, um die Funktion in Bezug auf Eingaben und Ausgaben anzunähern, und lernt, die richtigen Koeffizienten oder Gewichtungen zu finden, indem es iterativ jene Gewichtungen entlang von Gradienten anpasst, die weniger Fehler versprechen. Das Ziel des Agenten ist es, seine gesamte (zukünftige) Prämie zu maximieren. Dies erfolgt durch Hinzufügen der maximalen, vom zukünftigen Zustand erreichbaren Prämie zur Prämie in seinem aktuellen Zustand, wodurch die aktuelle Aktion effektiv durch die zukünftige mögliche Prämie beeinflusst wird. Der Zustandswert ist eine gewichtete Summe der erwarteten Werte der Prämien aller zukünftigen Schritte ab dem aktuellen Zustand.
  • Tiefenlern-Algorithmen können große Mengen an markierten Trainingsdaten erfordern, um ein robustes Modell zu erzeugen, das zum Ableiten von Testdaten verwendet werden kann. RL-Algorithmen lernen von einem skalaren Prämiensignal, das typischerweise spärlich, verrauscht und verzögert ist. Ein DRL-basierter Agent kann ein tiefes neuronales Netzwerk (DNN), wie beispielsweise ein faltungsneuronales Netzwerk (CNN), einen tiefen Auto-Encoder, wie beispielsweise einen faltungs-automatischen Encoder (CAE), oder ein anderes ähnliches neuronales Netzwerk verwenden, um seine Richtlinien und/oder seine Zustands- und Aktionswertfunktionen darzustellen. Die Auswahl eines bestimmten DNN kann sich nach dem Sensortyp richten, wobei ein CNN für die Bildgebungs-/Entfernungssensordaten und ein CAE beispielsweise für zeitsequenzierte Sensordaten verwendet werden kann. In einer Ausführungsform kann der DNN mit einer Variation eines Q-Learning-Algorithmus trainiert werden, wobei die Gewichtungen mittels stochastischer Gradientenabsenkung aktualisiert werden. Das Kombinieren eines DNN, wie beispielsweise eines CNN, mit Q-Learning als Form des Verstärkungslernens kann als tiefes Q-Netzwerk (DQN) bezeichnet werden. Die Erfahrungswiedergabe ist eine weitere Technik, die verwendet wird, um die Erfahrungen des Agenten in jedem Zeitschritt et = (st, at, rt, s t+l) in einem Datensatz D = el, ..., eN zu speichern. Dieser Datensatz D kann über viele Episoden hinweg im Wiedergabespeicher zusammengefasst werden. Hier bezeichnet s die Sequenz, a bezeichnet die Aktion und r die Prämie für einen bestimmten Zeitschritt.
  • 10 ist ein Blockdiagramm, das einen DRL-Prozess 400 mit einem DNN 402 veranschaulicht, der die Rolle des mentalen Wertvorhersagemodells 404 eines Agenten in Bezug auf die Umgebung 406 übernimmt. Die Umgebung 406 kann Beobachtungen 408, wie beispielsweise Sensordaten, und eine Prämie 410 an den Agenten 404 bereitstellen. Nach der Erfahrungswiedergabe wählt der Agent 404 eine Aktion 412 gemäß einer vordefinierten gierigen Richtlinie aus und führt sie aus. Die Umgebung 406 kann eine Vielzahl von Umgebungen sein, wie beispielsweise eine Fahrbahnumgebung oder eine andere Umgebung, in der Beobachtungen 408 während einer autonomen Fahraufgabe durchgeführt werden können.
  • Als ein Beispiel kann der DNN 402 als CNN mit einem rückgekoppelten künstlichen neuronalen Netzwerk implementiert werden, das mehr als eine Schicht von verborgenen Einheiten zwischen seinen Ein- und Ausgängen aufweist. Jede verborgene Einheit, j, verwendet eine nichtlineare Abbildungsfunktion, oft die Logistikfunktion, um ihre gesamte Eingabe von der darunter liegenden Schicht xj in den skalaren Zustand yj abzubilden, die sie an die darüberliegende Schicht sendet, wobei bj die Vorspannung der Einheit j ist, i ein Index über Einheiten in der darunter liegenden Schicht ist und wij die Gewichtung zu Einheit j von Einheit i in der darunterliegenden Schicht ist. Die Werte von yj und xj können berechnet werden als: y j = 1/1 + e -xj
    wobei xj = bj + Σ iyiWij.
  • Die Faltung in einem CNN kann an Faltungsschichten durchgeführt werden, um lokale Strukturmerkmale aus den Merkmalen der vorherigen Schicht zu extrahieren. An dieser Stelle kann eine additive Vorspannung angewendet werden, gefolgt von einem lokalen Bündelungsschritt. Ein nichtlineares Mapping (z. B. ein Sigmoid) kann entweder nach der Faltung oder der Bündelungsschicht angewendet werden und kann je nach Implementierung variieren. Die Schritte der Faltung und Bündelung können iterativ wiederholt werden.
  • Im Beispiel des DRL-Prozesses 400 können die Gewichtungen mit jedem Schritt der Erfahrung aktualisiert werden, was eine höhere Dateneffizienz ermöglicht. Zufällige Stichproben können eine starke Korrelation zwischen den Stichproben aufheben und so die Abweichungen in den Gewichtungsaktualisierungen reduzieren. Der nächste Parametersatz, der einer Trainingsphase zugeführt wird, wird durch den Satz von aktuellen Parametern und die vordefinierte Richtlinie bestimmt. Die Erfahrungswiedergabe kann die Verteilung des Verhaltens über viele seiner vorherigen Zustände mitteln, wodurch das Lernen geglättet und Schwankungen/Divergenzen in den Parametern vermieden werden.
  • Das Verstärkungslernen kann unter Verwendung von Richtlinienklassen durchgeführt werden, die jedes Verhalten ohne aufwändiges manuelles Engineering darstellen können. Das Erlernen hierarchischer Strukturen im Steuerungs- und Verstärkungslernen kann die Verallgemeinerung und den Transfer verbessern. Mehrschichtige neuronale Netzwerke, wie beispielsweise Auto-Encoder (z. B. CAEs) und CNNs, können auf eine Anzahl von Wahrnehmungsaufgaben angewendet werden. Richtlinien-Suchverfahren können es Systemen ermöglichen, Steuerungsrichtlinien für eine Vielzahl von Aufgaben zu erlernen. Ein geführter Richtlinien-Suchansatz verwandelt eine Richtliniensuche in ein überwachtes Lernproblem, wobei ein Trainingssatz (der die Richtliniensuche in Regionen mit hoher Prämie leitet) durch trajektorienorientierte Algorithmen erzeugt wird. Trainingsdaten aus der eigenen Zustandsverteilung der Richtlinie helfen, das Risiko von Compoundierfehlern zu reduzieren. Ein iteratives Verfahren kann verwendet werden, um die Trajektorien an die Richtlinie anzupassen, abwechselnd zwischen der Optimierung der Richtlinie im Hinblick auf die Trajektorien und der Optimierung der Trajektorien im Hinblick auf die Minimierung der Kosten und die Übereinstimmung mit der Richtlinie, sodass bei einer Konvergenz die gleiche Zustandsverteilung erreicht wird.
  • Unter erneuter Bezugnahme auf 9 kann der DRL-Algorithmus 132 beispielsweise unter Verwendung jeder Art von auf Richtliniengradienten basierenden Verstärkungslernalgorithmen (z. B. die proximale Richtlinienoptimierung (PPO), jede Variation von Actor-Critic-Algorithmen, deterministische Richtliniengradienten usw.) oder jede Art von wertbasierten Verstärkungslernalgorithmen (z. B. Q-Learning, Vorteilslernen usw.) implementiert werden. DRL-Algorithmen werden beispielsweise in den folgenden Veröffentlichungen beschrieben: Richard S. Sutton und Andrew G. Barto. Verstärkungslernen: Eine Einführung (2. Ausgabe). 2016. 1998. MIT Press.; Csaba Szepesvári. Algorithmen zum Verstärkungslernen. 2010. Morgan & Claypool Pulishers; und Kai Arulkumaran, Marc P. Deisenroth, Miles Brundage, Anil A. Barath, A Short Survey of Deep Reinforcement Learning (eine kurze Übersicht über tiefes Verstärkungslernen), IEEE Signal Processing Magazine, 2017, die hierin durch Verweis in ihrer Gesamtheit aufgenommen werden. Alle hierin zitierten Patentanmeldungen, Patente und gedruckten Veröffentlichungen werden hierin durch Bezugnahme in der Gesamtheit aufgenommen, mit Ausnahme von Definitionen, Haftungsausschlüssen oder Verzichtserklärungen, und mit Ausnahme des Umfangs, in dem das darin enthaltene Material mit der ausdrücklichen Offenbarung hierin nicht übereinstimmt, wobei in diesem Fall die Sprache in dieser Offenbarung bestimmend ist.
  • Der DRL-Algorithmus 132 kann Daten zu Fahrerfahrungen unter Verwendung stochastischer Gradientenaktualisierungen verarbeiten, um ein tiefes neuronales Netzwerk (DNN), wie beispielsweise ein faltungsneuronales Netzwerk (CNN), zu trainieren. Ein faltungsneuronales Netzwerk (CNN) ist eine Klasse von tiefen, rückgekoppelten künstlichen neuronalen Netzwerken. Sie werden auch als verschiebungsinvariante oder rauminvariante künstliche neuronale Netzwerke (SIANN) bezeichnet, basierend auf ihrer Architektur mit gemeinsamen Gewichten und den Merkmalen der Translationsinvarianz. Eine CNN-Architektur wird durch einen Stapel verschiedener Schichten gebildet, die das Eingangsvolumen durch eine differenzierbare Funktion in ein Ausgangsvolumen umwandeln. Einige wenige verschiedene Arten von Schichten werden häufig als Faltungsschichten und Max-Pooling-Schichten bezeichnet. Die Parameter einer Faltungsschicht bestehen aus einem Satz von lernbaren Filtern (oder Kerneln), die ein kleines Empfangsfeld aufweisen, sich aber über die gesamte Tiefe des Eingangsvolumens erstrecken. Während des Vorlaufs wird jeder Filter über die Breite und Höhe des Eingangsvolumens gefaltet, wobei das Punktprodukt zwischen den Eingängen des Filters und der Eingabe berechnet und eine zweidimensionale Aktivierungskarte dieses Filters erzeugt wird. Dadurch erlernt das Netzwerk Filter, die aktiviert werden, wenn eine bestimmte Art von Merkmal an einer bestimmten räumlichen Position in der Eingabe erkannt wird. Das Stapeln der Aktivierungskarten für alle Filter entlang der Tiefenabmessung bildet das volle Ausgangsvolumen der Faltungsschicht. Jeder Eintrag in das Ausgangsvolumen kann somit auch als Ausgang eines Neurons interpretiert werden, das einen kleinen Bereich in der Eingabe betrachtet und Parameter mit Neuronen in der gleichen Aktivierungskarte teilt. Max-Pooling wird häufig über die Faltungsarchitektur nach Fukushima strukturiert. Fukushima, K. (1980). „Neocognitron: Ein selbstorganisierendes neuronales Netzwerkmodell für einen Mechanismus der Mustererkennung, das von der Positionsverschiebung“ unbeeinflusst ist. Biol. Cybern. 36 (4): 193-202. Diese Architektur ermöglicht es CNNs, die Vorteile der 2D-Struktur der Eingabedaten zu nutzen. Damit eignen sich CNNs für die Verarbeitung von visuellen und anderen zweidimensionalen Daten. Sie können mit Standard-Backpropagation trainiert werden. CNNs sind einfacher zu trainieren als andere normale, tiefe, weiterführende neuronale Netzwerke und weisen viel weniger Parameter auf.
  • Jede Richtlinie schreibt eine Verteilung über einen Raum von Aktionen für einen bestimmten Zustand vor. Der DRL-Algorithmus 132 verarbeitet Eingabeinformationen aus den Fahrerfahrungen 122 (gesammelt von den Fahragenten 116-1...116-n aus mehreren Fahrumgebungen 114), um eine Ausgabe zu erzeugen, die die erwarteten diskontierten zukünftigen Prämien für jeden Fahreragenten 116-1...116-n optimiert. Der DRL-Algorithmus 132 gibt Parameter aus, die eine Richtlinie darstellen (z. B. neue Richtlinienparameter für eine neue Richtlinie oder aktualisierte Richtlinienparameter für eine bestehende Richtlinie). Abhängig von der Implementierung können die Richtlinienparameter eines oder mehrere sein von: (1) geschätzte (oder vorhergesagte) Werte des Zustands/Aktion/Vorteils, wie sie durch eine Zustands-/Aktions-/Vorteilswertfunktion bestimmt werden (d. h. eine Schätzung, wie gut es in diesem Zustand sein soll; eine Schätzung, wie gut eine Aktion in diesem Zustand ist; oder eine Schätzung des Vorteils, eine Aktion in diesem Zustand durchzuführen); oder (2) eine Richtlinienverteilung. Die Zustands-/Aktions-/Vorteilswertfunktion(en) werden vom DRL-Algorithmus 132 verwendet, um Richtlinien (oder Parameter für Richtlinien) zu erzeugen, die schließlich von den Fahragenten 116 verwendet werden. Die Wertefunktionen entsprechen eher dem, was die Lernenden aus ihren umfangreichen Erfahrungen gelernt haben, welche die Fahragenten aus verschiedenen Umgebungen über einen langen Zeitraum gesammelt haben. Die Wertfunktionen sind wie das Weltverständnis (Fahrumgebung). Somit können für jeden Fahreragenten 116 eindeutige Richtlinien 118 erzeugt werden, um die Leistung dieses Fahreragenten 116 zu optimieren, während er in einer bestimmten Fahrumgebung und einem bestimmten Fahrszenario arbeitet und dieser bestimmten Richtlinie folgt.
  • Basierend auf den Interaktionen des Fahreragenten mit der Fahrumgebung verarbeitet das Lernzielmodul 138 die Trajektorien des Fahreragenten, die sich aus den Interaktionen des Fahreragenten mit der Fahrumgebung ergeben, um die gewünschten Lernziele zu berechnen, die erreicht werden sollen. Jeder Schritt in der Trajektorie beinhaltet: {Zustand/Beobachtung, Aktion, Prämie, nächste Zustände/nächste Beobachtung}. Die Anzahl der Schritte ist eine Variable „n.“. Abhängig von der Implementierung können die durch das Lernzielmodul 138 bestimmten Lernziele (1) Wertziele (ein geschätzter Wert eines Zustands/Aktion/Vorteils) beinhalten, die erreicht werden sollen; und/oder (2) Richtlinienziele, die erreicht werden sollen. Wenn beispielsweise der DRL-Algorithmus 132 lernt und Schätzwerte für Zustand/Aktion/Vorteil erzeugt, dann sollte das Lernzielmodul 138 Wertziele erzeugen. Wenn der DRL-Algorithmus 132 eine Richtlinienverteilung lernt und erzeugt, dann sollte das Lernzielmodul 138 Richtlinienziele erzeugen. Die Lernziele helfen, interne Schätzwerte, die vom Lernzielmodul 138 verwendet werden, zu steuern, um den internen Lernprozess des Lernzielmoduls 138 zu steuern. Da neue Zustände der Umgebung vom Fahreragenten beobachtet/besucht werden, wird der geschätzte Wert einer bestimmten Maßnahme in diesem Zustand weniger zuverlässig, wenn er ein solches Szenario/Situation nicht vorher erlebt hat.
  • Das Verlustmodul 142 verarbeitet die vom Lernzielmodul 138 ausgegebenen Lernziele und die Ausgabe des DRL-Algorithmus 132 (z. B. geschätzte Werte von Zustand/Aktion/Vorteil oder Richtlinienverteilung), um „Verluste“ zu erzeugen, welche die Differenz zwischen dem gewünschten Lernziel (oder dem Versuch, erreicht zu werden) und der Ausgabe des aktuell erreichten DRL-Algorithmus 132 widerspiegeln: In einer Ausführungsform umfasst das Verlustmodul 142 eine Verlustfunktion (nicht dargestellt) und ein automatisches Differenzierungsmodul (nicht dargestellt).
  • Eine Verlustfunktion ist eine Funktion, die ein Ereignis oder Werte einer oder mehrerer Variablen auf eine reelle Anzahl abbildet, die intuitiv einige mit dem Ereignis verbundene „Kosten“ darstellt. Verlustfunktionen werden verwendet, um die Inkonsistenz zwischen einem Vorhersagewert und einem Istwert oder die Inkonsistenz zwischen einem Vorhersagewert und einem Sollwert zu messen. Basierend auf einer mit der Verlustfunktion implementierten Metrik verarbeitet die Verlustfunktion eine Reihe von Eingaben (z. B. alle Lernziele aus dem Lernzielmodul 138 und alle Vorhersagen aus dem DRL-Algorithmus 132), um einen Gesamtausgabeverlust zu berechnen. Somit kombiniert die Gesamtleistungsdämpfung die Verluste für alle Ausgaben des DRL-Algorithmus 132. Wenn der DRL-Algorithmus ein actorkritischer Verstärkungslernalgorithmus ist, bei dem der Kritiker die Zustands-/Aktions-/Vorteilswertfunktion vorhersagt und der Akteur eine Richtlinienverteilung erzeugt, ist der Verlust der gesamte kombinierte Verlust sowohl für den Akteur als auch für den Kritiker (für den Stapel von Eingaben).
  • Die Verlustfunktion kann mit jeder bekannten Art von Verlustfunktion implementiert werden, wie beispielsweise mit einer mittleren quadratischen Abweichung (Mean Squared Error, MSE) (oder quadratischer) Verlustfunktion; einer mittleren quadratischen logarithmischen Abweichung (Mean Squared Logarithmic Error, MSLE) Verlustfunktion; einer mittleren absoluten Abweichung (Mean Absolute Error, MAE) Verlustfunktion; einer mittleren absoluten Prozentfehlerfunktion (Mean Absolute Percentage Error, MAPE); eine Kullback Leibler (KL) Divergenzverlustfunktion; eine Kreuzentropie- oder Multiklassen-Kreuzentropie-Verlustfunktion; eine negative Log-Like-Likelihood-Verlustfunktion; eine Cosinus-Näherungsverlustfunktion; eine Hinge-Loss- oder Max-Margin-Zielverlustfunktion.
  • In einer Ausführungsform ist die Verlustfunktion konfiguriert, um die vom entsprechenden Lernzielmodul 138 ausgegebenen Lernziele und die Ausgabe des entsprechenden DRL-Algorithmus 132 zu verarbeiten, um einen Gesamtleistungsverlust zu berechnen. Der Gesamtleistungsverlust umfasst Instanzen von Verlustdaten, wobei jede Instanz von Verlustdaten die Differenz zwischen einem gewünschten Lernziel und einer entsprechenden Vorhersage- oder Richtlinienparameterausgabe durch den DRL-Algorithmus widerspiegelt.
  • Das automatische Differenzierungsmodul ist konfiguriert, um die Gesamtleistungsverluste zu verarbeiten und Gradientendaten für jeden Parameter zu erzeugen. Das automatische Differenzierungsmodul eine automatische Differenzierung durch Differenzierung des von der Verlustfunktion berechneten Gesamtausgangsverlustes in Bezug auf jeden der Parameter (z. B. unter Verwendung eines Berechnungsgraphen und einer Kettenregel) durchführt, um Gradientendaten für jeden Parameter in Bezug auf den Gesamtausgangsverlust zu erhalten. Es ist zu beachten, dass die Verlustfunktion den Gesamtverlust basierend auf den Ergebnissen der letzten Schicht eines neuronalen Netzwerks berechnet und dass die vom automatischen Differenzierungsmodul berechneten Gradientendaten auf vorherige Schichten (d. h. verborgene Schichten und Eingangsschicht) desselben neuronalen Netzwerks zurückgeführt werden, um die Neuronen neu zu bilden.
  • In einer Ausführungsform kann das automatische Differenzierungsmodul jede Instanz von Verlustdaten (vom Gesamtleistungsverlust) verarbeiten, indem es eine automatische Differenzierung jeder Instanz von Verlustdaten durchführt, um Gradientendaten für jeden Parameter jedes neuronalen Netzwerks des DRL-Algorithmus 132 in Bezug auf den von der Verlustfunktion berechneten Gesamtleistungsverlust zu erzeugen (z. B. unter Verwendung von Differenzierung und Kettenregel der Differenzierung, die häufig beim rückführungsbezogenen Lernen in neuronalen Netzwerken verwendet wird). Die automatische Differenzierung (AD), auch als algorithmische Differenzierung bezeichnet, ist eine Familie von Techniken, die ähnlich, aber allgemeiner als die Rückführung sind, um Derivate von numerischen Funktionen, die als Computerprogramme ausgedrückt werden, effizient und genau zu bewerten. Die Gradientendaten für jeden Parameter geben den Beitrag jedes Parameters in Bezug auf die von der Verlustfunktion berechnete Gesamtausgangsdämpfung an. Die Gradientendaten stellen Gradienten jedes Neurons in jedem neuronalen Netzwerk dar, das von jedem DRL-Algorithmus 132 verwendet wird, wobei die Gradienten quantitativ definieren, wie viel von einem Beitrag jedes Neurons geleistet wurde, der zu dem Verlust durch die Ausgabe dieses neuronalen Netzwerks geführt hat. Die automatische Differenzierung wird beispielsweise in Atilim Gunes Baydin, Barak A. Pearlmutter, Alexey Andreyevich Radul, Jeffrey Mark Siskind beschrieben. Automatische Differenzierung beim maschinellen Lernen: eine Untersuchung. The Journal of Machine Learning Research, 18(153):1--43, 2018, das durch Verweis hierin in seiner Gesamtheit aufgenommen wird.
  • Jedes der Fahrrichtlinien-Lernmodule umfasst ferner einen Gradientenabsenkungsoptimierer 140. Der Gradientenabsenkungsoptimierer 140 ist konfiguriert, um die Gradientendaten für jeden Parameter zu verarbeiten, um aktualisierte Parameter für jedes neuronale Netzwerk, das vom DRL-Algorithmus 132 verwendet wird (z. B. Aktualisierungen für jeden Parameter) zu berechnen, die eine Richtlinie darstellen. Die aktualisierten Parameter können verwendet werden, um neuronale Netzwerkparameter des DRL-Algorithmus 132 zu trainieren und zu optimieren und den Gesamtleistungsverlust zu kompensieren. Die aktualisierten Parameter stehen dann den Fahreragenten zur Verfügung, beispielsweise für die Bedienung der Fahreragenten durch den Richtlinienserver 150. Der Gradientenabsenkungsoptimierer 140 kann beispielsweise ein adaptives Lernratenverfahren (z. B. RMSprop) oder ein adaptiver Moment-Schätzungsalgorithmus (ADAM) sein, der adaptive Lernraten für jeden Parameter berechnet. Algorithmen zur Optimierung der Gradientenabsenkung werden beispielsweise in der folgenden Veröffentlichung beschrieben: Sebastian Ruder (2016). Ein Überblick über die Algorithmen zum Optimieren der Gradientenabsenkung. arXiv Preprint arXiv: 1609.04747 (Eingereicht am 15. September 2016 (v1), zuletzt überarbeitet am 15. Juni 2017 (v2)), der durch Bezugnahme hierin in seiner Gesamtheit aufgenommen wird.
  • Wenn der DRL-Algorithmus 132 ein wertbasierter Verstärkungslernalgorithmus oder ein akteurskritischer Verstärkungslernalgorithmus ist, verwendet der DRL-Algorithmus eine Vorhersage des Zustands-, Aktions- und Vorteilswertes, um Verluste und Gradienten zu berechnen, und verwendet dann den Gradientenabsenkungsoptimierer, um die Richtlinienparameter zu aktualisieren, die dann an die anderen Hauptkomponenten des Systems ausgegeben werden. Die Vorhersagen werden vom DRL-Algorithmus 132 intern (abhängig vom DRL-Algorithmus) verwendet, um das Erlernen zu steuern und die Richtlinienparameter zu aktualisieren. Somit sind die Eingaben zum Verlustmodul aus dem DRL-Algorithmus 132 in diesen Implementierungen Vorhersagen oder Werte (und nicht Richtlinienparameter wie im Falle eines auf Richtliniengradienten basierenden Verstärkungslernalgorithmus). In einer Ausführungsform, wenn der DRL-Algorithmus ein Richtliniengradienten-basierter Verstärkungslernalgorithmus ist, gibt es keine Wertfunktionsvorhersagen. Stattdessen erzeugt der DRL-Algorithmus 132 die Richtlinienverteilung, die durch einen Satz von Parametern dargestellt wird, die direkt optimiert werden (durch den Gradientenabsenkungsoptimierer), indem eine Richtlinienverlustfunktion verwendet wird.
  • Jedes Mal, wenn eine neue Richtlinie durch eines der Lernmodule 131 erzeugt wird, kann das Modul 130 zum Erzeugen von Fahrrichtlinien die neuen Parameter 144, die diese neue Richtlinie darstellen, an den Richtlinienserver 150 senden. Ebenso kann das Erzeugungsmodul 130 die aktualisierten Parameter, die diese Richtlinie repräsentieren, jedes Mal, wenn die Parameter für eine Richtlinie durch eines der Lernmodule 131 für Fahrrichtlinien aktualisiert werden, an den Richtlinienserver 150 senden. Der Richtlinienserver 150 kann dann die neuen/aktualisierten Richtlinienparameter 144 verwenden, um die Richtlinienparameter für jede Richtlinie zu verbessern, die an die Fahreragenten 116-1....116-n gesendet und von diesen verwendet wird.
  • Wie vorstehend erläutert, ist das Ziel des Fahrrichtlinien-Erzeugungsmoduls 130 zum Erzeugen von Richtlinien, basierend auf den Erfahrungen zu lernen und die Richtlinien zu verbessern. Um den Lernprozess zu beginnen, muss das Richtlinien-Erzeugungsmodul 130 eine Richtlinie abrufen (bei 146), die vom Richtlinienserver 150 ausgewertet und aktualisiert werden soll. Zu diesem Zweck kann das Fahrrichtlinien-Erzeugungsmodul 130 periodisch (bei 146) Richtlinien/Parameter vom Richtlinienserver 150 abholen oder abrufen. In einer nicht einschränkenden Ausführungsform kann das Fahrrichtlinie-Erzeugungsmodul 130 bestimmen, welche Richtlinien derzeit von den Fahreragenten 116-1...116-n verwendet oder benötigt werden, und dann eine oder mehrere dieser Richtlinien abholen/abrufen. Darüber hinaus kann der Richtlinienserver 150, wenn Richtlinien/Parameter auf dem Richtlinienserver 150 aktualisiert werden, periodisch (bei 146) Synchronisierungsinformationen an das Richtlinien-Erzeugungsmodul 130 senden, sodass alle Richtlinien/Parameter, die kürzlich von einem der Module 131-1...131-n aktualisiert wurden, den anderen der Fahrrichtlinien-Lernmodule 131-1...131-n bereitgestellt werden können.
  • Weitere Einzelheiten zum Betrieb eines bestimmten Fahrrichtlinien-Lernmoduls 131 des Fahrrichtlinien-Erzeugungsmoduls 130 werden im Folgenden unter Bezugnahme auf 11 beschrieben.
  • 11 ist ein Flussdiagramm, das ein Verarbeitungsverfahren 500 veranschaulicht, das von einem bestimmten Fahrrichtlinien-Lernmodul 131-1 des Fahrrichtlinien-Erzeugungsmoduls 130 durchgeführt wird, um den Erfahrungsspeicher 120 und den Richtlinienspeicher 136 des Fahrrichtlinien-Erzeugungsmoduls 130 gemäß den offenbarten Ausführungsformen zu aktualisieren. 11 wird mit weiterem Bezug auf die 4A-10 beschrieben. Bezogen auf 11 sind die Schritte des Verfahrens 500 nicht notwendigerweise einschränkend. Es können Schritte hinzugefügt, weggelassen und/oder gleichzeitig durchgeführt werden, ohne dass dabei vom Geltungsbereich der beigefügten Ansprüche abgewichen wird. Das Verfahren 500 kann beliebig viele zusätzliche oder alternative Aufgaben beinhalten, wobei die dargestellten Aufgaben nicht in der veranschaulichten Reihenfolge ausgeführt werden müssen. Das Verfahren 500 kann in einer umfassenden Vorgehensweise oder einem Prozess mit zusätzlicher hierin nicht im Detail beschriebener Funktionalität eingearbeitet werden. Darüber hinaus könnten eine oder mehrere der dargestellten Aufgaben möglicherweise in einer Ausführungsform des Verfahrens 500 weggelassen werden, solange die beabsichtigte Gesamtfunktionalität intakt bleibt. Die Abfolge der Vorgänge innerhalb des Verfahrens 500 ist nicht auf die in 11 veranschaulichte sequenzielle Abarbeitung beschränkt, sondern kann, soweit zutreffend, in einer oder mehreren unterschiedlichen Reihenfolgen gemäß der vorliegenden Offenbarung durchgeführt werden. In verschiedenen Ausführungsformen kann das Verfahren 500 basierend auf einem oder mehreren vordefinierten Ereignissen zur Ausführung geplant werden und/oder kontinuierlich während des Betriebs des autonomen Fahrzeugs 10 ausgeführt werden. Ferner kann das Verfahren 500 computerimplementiert, in dem verschiedene Aufgaben oder Schritte, die in Verbindung mit dem Verfahren durchgeführt wird, durch Software, Hardware, Firmware oder irgendeine Kombination derselben durchgeführt werden. Zur Veranschaulichung kann sich die folgende Beschreibung jedes Verfahrens auf die oben in Verbindung mit den 1, 3, 4A-10 erwähnten Elemente beziehen. In bestimmten Ausführungsformen werden einige oder alle Schritte dieser Verfahren und/oder im Wesentlichen äquivalente Schritte durch Ausführen von prozessorlesbaren Befehlen durchgeführt, die auf einem prozessorlesbaren Medium gespeichert oder enthalten sind. In der folgenden Beschreibung von 11 können beispielsweise verschiedene Module beschrieben werden, wie verschiedene Handlungen, Aufgaben oder Schritte auszuführen sind, aber es sollte darauf hingewiesen werden, dass dies sich auf das(die) Verarbeitungssystem(e) dieser Module bezieht, das Befehle ausführt, um diese verschiedenen Handlungen, Aufgaben oder Schritte auszuführen. Abhängig von der Implementierung kann ein Teil des/der Verarbeitungssysteme zentral angeordnet oder auf eine Anzahl von Prozessoren oder Steuerungen verteilt werden, die zusammenwirken. Zur Veranschaulichung zeigt das Verfahren 500 die Verarbeitung, die von einer Instanz eines bestimmten Fahrrichtlinien-Lernmoduls 131-1 durchgeführt wird, das instanziiert wurde, wobei jedoch zu beachten ist, dass je nach Implementierung eine beliebige Anzahl von Fahrrichtlinien-Lernmodulen 131 instanziiert und parallel ausgeführt werden kann.
  • Das Verfahren 500 beginnt bei 501, wobei das Fahrer-Lernmodul 131-1 freigegeben/aktiviert wird und mit der Ausführung beginnt. Das Verfahren 500 fährt dann mit 502 fort, wobei das Fahrerlernmodul 131-1 Proben entnimmt und Fahrerfahrungen aus dem Erfahrungsspeicher 120 abruft, oder alternativ Fahrerfahrungen direkt von einem oder mehreren der Fahreragenten 116-1...116-n erhält. Bei 504 bestimmt das Fahrerlernmodul 131-1, ob eine Synchronisation mit dem Richtlinienserver 150 erforderlich ist.
  • Wenn keine Synchronisation mit dem Richtlinienserver 150 erforderlich ist (bei 504), fährt das Verfahren 500 mit 508 fort. Wie vorstehend beschrieben, bestimmt der DRL-Algorithmus 132 die Ausgaben, die eines von beiden sind: (1) geschätzte (oder vorhergesagte) Werte von Zustand/Aktion/Vorteil; oder (2) eine Richtlinienverteilung. Das Lernzielmodul 138 bestimmt Lernziele, die entweder (1) Wertziele sind, oder (2) ein Richtlinienziel. Bei 508 berechnet das Fahrerlernmodul 131-1 Lernfehler oder Korrekturen basierend auf den Unterschieden zwischen den Lernzielen (z. B. den Wertzielen oder dem Richtlinienziel) und den Ergebnissen (z. B. den geschätzten Werten von Zustands-/Aktions-/Vorteilswerten oder der Richtlinienverteilung), die durch den DRL-Algorithmus 132 bestimmt werden. Im Gegensatz dazu, wenn eine Synchronisation mit dem Richtlinienserver 150 erforderlich ist (bei 504), fährt das Verfahren mit 506 fort, wobei das Fahrerlernmodul 131-1 Parameter auswählt und die ausgewählten Parameter mit dem Richtlinienserver 150 synchronisiert, woraufhin das Verfahren 500 dann mit 508 fortfährt, wobei Lernfehler wie vorstehend beschrieben berechnet werden. Das Verfahren 500 fährt dann mit 510 fort, wobei das Lernzielmodul 138 ein Lernziel berechnet, und anschließend mit 512, wobei die Gradientendaten durch Rückführung berechnet werden. Bei 514 werden die Gradientendaten und die Lernfehler (die bei 208 berechnet wurden) im Hintergrund übertragen, um das neuronale Netzwerk umzuschulen, das zur Darstellung der Richtlinie und/oder der Zustand/Aktion/Vorteil Wertfunktion des DRL-Algorithmus 132 verwendet wird. Bei 516 aktualisiert ein Gradientenabsenkungsoptimierer die Richtlinienparameter. Bei 518 bestimmt der DRL-Algorithmus 132, ob die aktualisierten Parameter für die Richtlinie mit dem Richtlinienserver 150 synchronisiert werden sollen.
  • Nach dem Berechnen der Lernziele (bei 510) bestimmt der Priorisierungsalgorithmus 134 des Fahrerlernmoduls 131-1 bei 520, ob die Auswirkungen/Prioritäten der Fahrerfahrung im Erfahrungsspeicher 120 aktualisiert werden müssen. Wenn der Priorisierungsalgorithmus 134 bestimmt (bei 520), dass die Auswirkungen/Prioritäten der Fahrerfahrung nicht aktualisiert werden müssen, schaltet das Verfahren 500 zu 512 ab, wobei die Gradientendaten wie oben beschrieben berechnet werden. Wenn der Priorisierungsalgorithmus 134 bestimmt (bei 520), dass die Auswirkungen/Prioritäten der Fahrerfahrung aktualisiert werden müssen, geht das Verfahren 500 zu 522 über, wobei der Priorisierungsalgorithmus 134 die Auswirkungen/Prioritäten der Fahrerfahrung am Erfahrungsspeicher 120 aktualisiert.
  • Wenn der DRL-Algorithmus 132 bestimmt (bei 518), dass die aktualisierten Parameter für die Richtlinie mit dem Richtlinienserver 150 synchronisiert werden sollen, fährt das Verfahren 500 mit 506 fort, wobei der DRL-Algorithmus 132 die aktualisierten Parameter für die Richtlinie an den Richtlinienserver 150 sendet. Der Richtlinienserver 150 kann dann die neuen/aktualisierten Richtlinienparameter 144 verwenden, um die Richtlinienparameter zu verbessern, die an einen oder mehrere der Fahreragenten 116-1....116-n gesendet und von diesen verwendet wird.
  • Wenn der DRL-Algorithmus 132 bestimmt (bei 518), dass die aktualisierten Parameter für die Richtlinie nicht mit dem Richtlinienserver 150 synchronisiert werden müssen, geht das Verfahren 500 zu 524 über, wobei der DRL-Algorithmus 132 bestimmt, ob die Parameter für die Richtlinie im Richtlinienspeicher 136 gespeichert werden sollen.
  • Wenn der DRL-Algorithmus 132 bestimmt (bei 524), dass die Parameter für die Richtlinie nicht im Richtlinienspeicher 136 gespeichert werden müssen, fährt das Verfahren 500 mit 501 fort, wobei das Fahrerlernmodul 131-1 erneut ausgeführt wird. Wenn der DRL-Algorithmus 132 bestimmt (bei 524), dass die Parameter für die Richtlinie im Richtlinienspeicher 136 gespeichert werden sollen, geht das Verfahren 500 zu 526 über, wobei der DRL-Algorithmus 132 die Parameter für die Richtlinie im Richtlinienspeicher 136 speichert.
  • Richtlinienserver
  • 12 ist ein Blockdiagramm, das die Interaktion zwischen dem Richtlinienserver 150 und dem Fahrrichtlinien-Erzeugungsmodul 130 und dem KI-Fahreragentensystem 110 (das einen Satz von n Fahreragenten 116-1....116-n umfasst) gemäß den offenbarten Ausführungsformen darstellt.
  • Die Fahrrichtlinien-Lernmodule 131 des Fahrrichtlinien-Erzeugungsmoduls 130 können jeweils einen Satz von Parametern erzeugen, die eine Richtlinie beschreiben. Jedes Mal, wenn eine neue Richtlinie durch eines der Lernmodule 131 erzeugt wird, kann das Fahrrichtlinien-Erzeugungsmodul 130 die neuen Parameter für diese neue Richtlinie an den Richtlinienserver 150 senden. Die Parameter, die jede Richtlinie definieren, können im Zeitverlauf durch die Lernmodule 131 aktualisiert werden, da sie aus neuen Erfahrungen lernen, die von den Fahreragenten 116 erfasst wurden. Jedes Mal, wenn die Gradienten und/oder Parameter für eine Richtlinie von einem der Fahrrichtlinien-Lernmodule 131 aktualisiert werden, kann das Fahrrichtlinien-Erzeugungsmodul 130 die aktualisierten Parameter an den Richtlinienserver 150 senden. In 12 werden die Richtlinienparameter gemeinsam über Pfeil 144 dargestellt. Die Richtlinienparameter 144 verbessern die Richtlinienparameter für jede Richtlinie, die auf dem Richtlinienserver 150 gespeichert ist.
  • Als Teil des Lernprozesses kann das Richtlinien-Erzeugungsmodul 130 (bei 146) eine Richtlinie abrufen, die vom Richtlinienserver 150 ausgewertet und aktualisiert werden soll. Zu diesem Zweck kann das Fahrrichtlinien-Erzeugungsmodul 130 periodisch (bei 146) Richtlinien/Parameter vom Richtlinienserver 150 abholen oder abrufen. In einer Ausführungsform kann jedes Fahrrichtlinien-Lernmodul 131 (bei 146) zuvor erzeugte/gelernte Richtlinien vom Richtlinienserver 150 abrufen und diese dann basierend auf neuen Fahrerfahrungen aktualisieren. Darüber hinaus kann der Richtlinienserver 150, wenn Richtlinien/Parameter auf dem Richtlinienserver 150 aktualisiert werden, Parameter für die im Richtlinienspeicher 156 gespeicherten Richtlinien (bei 146) synchronisieren, um den Lernprozess stabiler zu gestalten. In einer Ausführungsform kann der Richtlinienserver 150 periodisch (bei 146) Synchronisationsinformationen an das Richtlinien-Erzeugungsmodul 130 senden, sodass alle Richtlinien/Parameter, die kürzlich von einem der Module 131-1...131-n aktualisiert wurden, den anderen der Fahrrichtlinien-Lernmodule 131-1...131-n bereitgestellt werden können.
  • Die neuen/aktualisierten Strategien Richtlinien werden jeweils in einem Richtlinienspeicher 156 des Richtlinienservers 150 als eine Reihe von Richtlinienparametern gespeichert. Jede Richtlinie 118 spezifiziert Parameter, die das vom Fahrzeug vorgegebene Verhalten definieren. So kann beispielsweise jede Richtlinie vom jeweiligen Fahreragenten 116 verwendet werden, um anzuweisen und zu steuern, wie Stellglieder des AV als Reaktion auf einen bestimmten Satz von Sensoreingaben arbeiten. Jedes/jede vom Fahrzeug ausgeführte Verhalten/Aktion kann auf den Satz von Parametern zurückgeführt werden, die zu diesem Verhalten oder dieser Aktion führen. In einer exemplarischen Ausführungsform, wobei neuronale Netzwerke verwendet werden, um die Richtlinien des Fahragenten und/oder die Zustands-, Aktions- und Vorteilswerte darzustellen, sind die verwendeten Parameter die Gewichtungen der Neuronen. Die Parameterinformationen (die Informationenin/Gewichtungen der einzelnen Neuronen) können als analog zu den Codezeilen in Computerprogrammen angesehen werden. Die Rückverfolgbarkeit auf das interne Funktionieren/den Code des Systems ermöglicht die White-Box-Typenvalidierung und - prüfung des Fahrzeugs.
  • Der Richtlinienserver 150 kann Parameter für eine oder mehrere Kandidatenrichtlinien 158 (dargestellt durch einen einzelnen Pfeil mit der Bezeichnung 158 in 12) an die Fahreragenten 116-1....116-n des KI-Fahreragentensystems 110 bereitstellen. Der jeweilige Fahreragent 116-1.....116-n kann Parameter für eine der Kandidatenrichtlinien verwenden, um eine bestimmte Richtlinie zum Steuern eines AV beim Betrieb in einer bestimmten Umgebung auszuführen. Der Auslöser für das Senden der Parameter für eine oder mehrere Kandidatenrichtlinien 158 an die jeweiligen Fahreragenten 116-1....116-n variiert je nach Implementierung und Autonomiegrad des jeweiligen Fahreragenten 116-1...116-n. In einer Ausführungsform können die jeweiligen Fahreragenten 116-1....116-n eine Anforderung für Richtlinien an den Richtlinienserver 150 senden, die Metainformationen beinhaltet. Die Metainformationen sind verschlüsselte Informationen, welche die Ziele des Fahragenten, die Präferenzen der Benutzer/Agenten, die aktiv erfassten Fahrbedingungen, die Komplexität der Route usw. beschreiben, und der Richtlinienserver 150 kann basierend auf diesen Metainformationen bestimmen, welche Richtlinien geeignete „Kandidaten“ für diesen bestimmten Fahreragenten 116-1....116-n sind, und dann entsprechende Parameter an diesen bestimmten Fahreragenten 116-1...116-n senden. In einer weiteren Ausführungsform, in der dem bestimmten Fahreragenten 116-1....116-n die Fähigkeit/die Komplexität oder der Autonomiegrad fehlt, um derartige Metainformationen zu bestimmen, die zum Anfordern bestimmter Richtlinien erforderlich sind, kann der Richtlinienserver 150 bestimmen, welche Richtlinien „Kandidaten“ für einen bestimmten der bestimmten Fahreragenten 116-1....116-n sind, und dann entsprechende Parameter an diesen bestimmten Fahreragenten 116-1....116-n senden.
  • So kann beispielsweise der Richtlinienserver 150 in einer Ausführungsform, basierend auf den beobachteten fahrzeugspezifischen sensorischen Informationen und dem Ziel des von einem bestimmten Fahreragenten 116-1....116-n bereitgestellten Fahragenten, eine oder mehrere Kandidatenrichtlinien bestimmen, die diesem bestimmten Fahreragenten zu übermitteln sind. Für jede Kandidatenrichtlinie kann der Richtlinienserver 150 dann eine Richtlinienserverinstanz 154-1...154-N initiieren, die eine der Kandidatenrichtlinien an den jeweiligen Fahreragenten 116-1...116-n weiterleitet. So ruft beispielsweise jede Richtlinienserverinstanz 154-1...154-N einen entsprechenden Satz von Parametern 152-1...152-n für eine bestimmte Kandidatenrichtlinie ab und stellt diesen Satz von Parametern diesem bestimmten Fahreragenten 116-1...116-n zur Verfügung. Die Fahreragenten 116-1...116-n können dann die Richtlinien zum Steuern des AV 10 (z. B. Steuerungsstellglieder, die Beschleunigung, Verzögerung, Lenkwinkel steuern) unter Berücksichtigung der sensorischen Beobachtungen ausführen.
  • Die offenbarten Ausführungsformen können skalierbare Systeme und Verfahren zum Trainieren und Entwickeln einer Vielzahl von autonomen Fahreragenten parallel und verteilt bereitstellen, ohne dass eine externe Überwachung oder gekennzeichnete Daten erforderlich sind. Die gesammelten Erfahrungen der Fahreragenten können als Wissensdatenbank genutzt werden, um Fahrregeln zu extrahieren und/oder neue Lemparadigmen zu starten. Die erlernten Fähigkeiten sind auf andere Fahraufgaben und/oder Domänen übertragbar. Parallele und verteilte Architekturen ermöglichen es Fahrern, neue Fahrrichtlinien und -verhaltensweisen zu finden. Der erforschte Verhaltensraum kann als Indikator für die AD-Domainabdeckung verwendet werden. Die offenbarten Ausführungsformen können paralleles und verteiltes Lernen ermöglichen, was zu einer schnelleren Entwicklung, Prüfung und Validierung führen kann. Dies kann ein beschleunigtes Training mehrerer autonomer intelligenter Fahreragenten ermöglichen. Fahreragenten können eine Vielzahl von bezahlbaren Richtlinien erlernen, und diese Richtlinien können auf verwandte Probleme übertragen werden. Dies kann eine groß angelegte (z. B. stadt-/landesweite AV-Verhaltensvalidierung) ermöglichen.
  • Es sollte beachtet werden, dass, während das autonome Fahrrichtlinienerzeugungs- und Serversystem 100 die Prozessoren 114 der Fahrumgebung, die autonomen Fahreragenten 116, den Erfahrungsspeicher 120, die Fahrerlernmodule 130 und den Richtlinienserver 150 beinhalten kann, in anderen Ausführungsformen nicht alle diese Elemente erforderlich sind.
  • In einer Ausführungsform ist beispielsweise ein System vorgesehen, das die autonomen Fahreragenten 116 und den Richtlinienserver 150 beinhaltet. Dieses System ermöglicht es einem Aftermarket-AV-System, seine Entscheidungsrichtlinien zu aktualisieren, die über den Richtlinienserver 150 verfügbar gemacht werden. Die Richtlinien auf dem Richtlinienserver 150 können mit beliebigen Mitteln aktualisiert werden (nicht notwendigerweise mit einem Fahrerlernmodul und/oder einem Erfahrungsspeicher). Strenge Test- und Überprüfungsverfahren können eingesetzt werden, um das Sicherheitsniveau und andere Leistungsmerkmale der Richtlinien auf dem Richtlinienserver einmalig zu überprüfen und zu verifizieren, und können für Millionen von Fahrzeugen als Maßstab eingesetzt werden. Dieses System kann Verbesserungen an den meisten aktuellen AV-Systemen ermöglichen (bei denen das Entscheidungssystem zur Produktionszeit festgelegt ist und über einen längeren Zeitraum gleich bleibt, bis ein größeres System-/Software-Update am AV-System durchgeführt wird). Das System kann es AV-Systemen ermöglichen, kontinuierlich eine verbesserte Entscheidungsstrategie über einen Richtlinienserver zu verwenden. Es ist nicht erforderlich, dass sie einen Erfahrungsspeicher 120 oder die Fahrerlernmodule 130 implementieren. Durch den Wegfall des Erfahrungsspeichers 120 kann die Notwendigkeit der Speicherung von Erfahrungen entfallen. Dieses System könnte jedoch auch den ermittelten Speicher 120 beinhalten. Dieses System kann auch die Notwendigkeit für die Fahrerlernmodule 130 oder eine Lernkomponente eliminieren. Sobald das System beispielsweise für mehrere Anwendungsfälle, Fahrumgebungen usw. vollständig trainiert ist und die trainierten Richtlinien im Richtlinienserver 150 gespeichert sind, können die autonomen Fahreragenten 116 (für ein AV oder von einer Gruppe von AVs) auf diese in einem Richtlinienspeicher auf dem Richtlinienserver 150 gespeicherten Richtlinien zugreifen; sie müssten keine Erfahrungen mehr in einem Erfahrungsspeicher 120 sammeln und speichern oder am Lernen beteiligt sein.
  • In einer weiteren Ausführungsform ist ein System vorgesehen, das mindestens einen der autonomen Fahreragenten 116 und mindestens eines der Fahrerlernmodule 130 beinhaltet. Autonome Fahreragenten 116 senden einfach Erfahrungen direkt an die Fahrerlernmodule 130, wobei die Fahrerlernmodule 130 basierend auf den Informationen der autonomen Fahreragenten 116 lernen können, und autonome Fahreragenten 116 können Feedback von den Fahrerlernmodulen 130 erhalten, um die autonomen Fahreragenten 116 zu aktualisieren. Dies ist von Vorteil, da die Kombination aus autonomen Fahreragenten 116 und den Fahrerlernmodulen 130 eine einfachere (mit minimaler Anzahl von Komponenten) Verfahren zur Anwendung von Verstärkungslernen (RL) ist, um das autonome Fahrproblem als Ganzes zu lösen. Dieses System könnte unter Verwendung von Verstärkungslernen (Reinforcement Learning, RL) autonome Fahrentscheidungsprobleme (z. B. Planung und Steuerung) angehen. Ein Vorteil dieses Systems besteht darin, dass der Erfahrungsspeicher 120 oder der Richtlinienserver 150 nicht mit einbezogen werden muss (kein Bedarf an Speicher jeglicher Art). Dieses System könnte jedoch optional auch den Erfahrungsspeicher 120 beinhalten, jedoch ohne die Notwendigkeit eines Richtlinienservers 150. Ein System, das eine Kombination aus autonomen Fahreragenten 116, einem Erfahrungsspeicher 120 und Fahrerlernmodulen 130 (ohne den Richtlinienserver 150) beinhaltet, kann als ein System betrachtet werden, das es verschiedenen autonomen Fahreragenten 116 ermöglicht, Erfahrungen zu sammeln und ihre kollektiven Erfahrungen in einer Erfahrungsdatenbank zu speichern, die im Erfahrungsspeicher 120 gespeichert sind (d. h. die Erfahrungen speichert, die von allen autonomen Fahreragenten 116 beobachtet wurden). Die gesammelten Erfahrungen können dann von den Fahrerlernmodulen 130 genutzt werden, um basierend auf den Erfahrungsinformationen aller autonomen Fahreragenten 116 zu lernen und alle autonomen Fahreragenten 116 kontinuierlich direkt zu aktualisieren, ohne sich auf einen Richtlinienserver 150 zu verlassen.
  • In einer weiteren Ausführungsform ist ein System vorgesehen, das die autonomen Fahreragenten 116 und den Erfahrungsspeicher 120 beinhaltet. Ein System mit Erfahrungsspeicher 120 und einem oder mehreren autonomen Fahreragenten 116 (ohne Fahrerlernmodul 130 und zugehörigem Lernprozess) ist ein Erfahrungssystem, das dem Zweck dienen könnte, Fahrerfahrungen zu sammeln. In jedem datengesteuerten Lernsystem sind Daten ein Schlüsselelement, das kommerzialisiert und separat verkauft werden kann. Optional kann dieses System auch die Fahrerlernmodule 130 (wie vorstehend beschrieben) beinhalten, wodurch der Richtlinienserver 150 entfällt.
  • In einer weiteren Ausführungsform ist ein System vorgesehen, das die Fahrerlernmodule 130 und den Richtlinienserver 150 beinhaltet. Dieses System kann verwendet werden, wenn eine Liste der trainierten Richtlinien auf dem Richtlinienserver 150 verfügbar ist. In Ermangelung neuer Erfahrungen können das eine oder die mehreren Fahrerlernmodule 130 Meta-Learning-Verfahren verwenden, um zu „träumen“ und die Richtlinien zu aktualisieren, basierend auf dem, was sie aus den verschiedenen, im Richtlinienserver 150 verfügbaren Richtlinien ableiten können. Das Verfahren zum „Träumen“ kann Teil von Lernalgorithmen sein, die in den Fahrerlernmodulen 130 implementiert sind. Dieses System benötigt weder den Erfahrungsspeicher 120 noch autonome Fahreragenten 116, um Erfahrungen zu sammeln. Ein derartiges System kann verwendet werden, um benutzerdefinierte Richtlinien für benutzerdefinierte Szenarien abzuleiten, indem bestehende Richtlinien in dem im Richtlinienserver 150 verfügbaren Richtlinienspeicher geändert und kombiniert werden. Dies kann zu einer Richtlinie durch Produkte führen, die nützlich sind, um ähnliche Probleme in den verwandten Bereichen des Fahrens zu lösen (z. B. kann sich eine mit einem derartigen System abgeleitete Richtlinie als nützlich erweisen, um einen Gabelstapler oder einen Güterwagen autonom in einer Fabrikhalle zu steuern). Optional könnte dieses System auch den Erfahrungsspeicher 120 beinhalten, jedoch ohne dass die autonomen Fahreragenten 116 Erfahrungen sammeln müssen. Die Kombination von Fahrerlernmodulen 130 und dem Richtlinienserver 150 in Verbindung mit dem Erfahrungsspeicher 120 ist nützlich, da die im Erfahrungsspeicher 120 gespeicherten Erfahrungen das selbst überwachtes/nicht überwachtes/Meta-Lernen („träumen“) mit realen Erfahrungen aus dem Erfahrungsspeicher 120 ergänzen können. So können beispielsweise ein oder mehrere Fahrerlernmodule 130 einfach auf einen Erfahrungsspeicher 120 mit einem Bündel von Informationen über Erfahrungen zugreifen und Lernalgorithmen auf diese Erfahrungen anwenden und Parameter für Richtlinien erzeugen, die auf einem Richtlinienserver 150 gespeichert werden können (z. B. für den Verkauf an einen Endbenutzer). Darüber hinaus ermöglicht diese Kombination aufgrund des Vorhandenseins des Erfahrungsspeichers 120 auch eine weitere Anpassung/Veredelung der bestehenden Richtlinien im Richtlinienserver 150, basierend auf realen Erfahrungen zusätzlich zu den phantasievollen Erfahrungen („Träume“), welche die Fahrerlernmodule 130 rekonstruieren können. In beiden Ausführungsformen kann dieses System ohne ein Fahrzeug in der Schleife implementiert werden. Diese Ausführungsform kann möglicherweise auch in verwandten Industriezweigen nützlich sein. Es kann sich als ein entscheidender Faktor für einige Anwendungen erweisen (z. B. ein KI-System, das in der Lage ist, unter Verwendung von selbstüberwachtem/unüberwachtem/Meta-Lernen zu unvorhergesehenen Szenarien zu gelangen).
  • Während mindestens eine exemplarische Ausführungsform in der vorstehenden ausführlichen Beschreibung dargestellt wurde, versteht es sich, dass es eine große Anzahl an Varianten gibt. Es versteht sich weiterhin, dass die exemplarische Ausführungsform oder die exemplarischen Ausführungsformen lediglich Beispiele sind und den Umfang, die Anwendbarkeit oder die Konfiguration dieser Offenbarung in keiner Weise einschränken sollen. Die vorstehende ausführliche Beschreibung stellt Fachleuten auf dem Gebiet vielmehr einen zweckmäßigen Plan zur Implementierung der exemplarischen Ausführungsform bzw. der exemplarischen Ausführungsformen zur Verfügung. Es versteht sich, dass verschiedene Veränderungen an der Funktion und der Anordnung von Elementen vorgenommen werden können, ohne vom Umfang der Offenbarung, wie er in den beigefügten Ansprüchen und deren rechtlichen Entsprechungen aufgeführt ist, abzuweichen.

Claims (10)

  1. Verfahren, umfassend: Sammeln von Fahrerfahrungen während verschiedener Fahrszenarien in verschiedenen Fahrumgebungen über einen oder mehrere Fahreragenten und einen oder mehrere entsprechende Fahrumgebungsprozessoren, worin jede Fahrerfahrung Daten umfasst, die eine bestimmte Fahrumgebung zu einem bestimmten Zeitpunkt darstellen; Abrufen mindestens eines Teils der Fahrerfahrungen über ein oder mehrere Fahrrichtlinien-Lernmodule eines Fahrrichtlinienerzeugungsmoduls; Verarbeiten mindestens eines Teils der Fahrerfahrungen in einem oder mehreren Fahrrichtlinien-Lernmodulen, um Parameter zu lernen und zu erzeugen, die eine oder mehrere Richtlinien beschreiben, worin jede Richtlinie eine Verteilung über einen Aktionsraum für einen bestimmten Zustand vorschreibt, und worin jede Richtlinie einen Satz von Parametern umfasst, welche die Richtlinie beschreiben und von mindestens einem der Fahreragenten verarbeitet werden können, um eine Aktion zum Steuern eines Fahrzeugs zu erzeugen; Verarbeiten, bei dem einen oder den mehreren Fahreragenten, Empfangen von Parametern für mindestens eine Kandidatenrichtlinie, und Ausführen der mindestens einen Kandidatenrichtlinie, um eine oder mehrere Aktionen zu erzeugen, die das Fahrzeug in einer bestimmten Fahrumgebung steuern, wie von einem entsprechenden Fahrumgebungsprozessor beobachtet; und Verarbeiten, bei einer Low-Level-Steuerung, jede Aktion, um Steuersignale zum Steuern des Fahrzeugs zu erzeugen, wenn es in dieser bestimmten Fahrumgebung betrieben wird.
  2. Verfahren nach Anspruch 1, worin die Daten für die einzelnen Fahrerfahrungen, die eine bestimmte Fahrumgebung zu einem bestimmten Zeitpunkt darstellen, umfassen: einen Zustand der bestimmten Fahrumgebung, der von einem entsprechenden Fahrumgebungsprozessor beobachtet wird; eine Beobachtung, die unter Verwendung mindestens eines Teils eines beobachtbaren Zustands durchgeführt wird; eine vom Fahreragenten erzeugte Aktion; eine Prämie, die umfasst: ein Signal, das angibt, wie wünschenswert eine vom Fahreragenten ausgeführte Aktion zu einem bestimmten Zeitpunkt unter bestimmten Umgebungsbedingungen ist, worin die Prämie automatisch basierend auf Straßenregeln und Fahrprinzipien berechnet wird, die aus menschlichen Fahrdaten extrahiert oder unter Verwendung anderer geeigneter Verfahren basierend auf dem Verkehr und den Straßenregeln definiert werden; ein Ziel, das vom Fahreragenten erreicht werden soll; Instanzinformationen, die umfassen: Informationen, welche die Auswirkung oder Priorität des Fahrerlebnisses angeben, wie es von diesem Fahreragenten zum Zeitpunkt, zu dem dieses besondere Fahrerlebnis erworben wurde, bestimmt wurde, und andere Metainformationen über dieses besondere Fahrerlebnis; und einen nächsten Zustand des besonderen Fahrerlebnisses, der sich ergibt, nachdem der Fahreragent die Handlung in dem Fahrerumfeld durchgeführt hat; und eine nächste Beobachtung, die unter Verwendung mindestens eines Teils eines beobachtbaren Zustands durchgeführt wurde.
  3. Verfahren nach Anspruch 1, worin das Verarbeiten von Parametern für mindestens eine Kandidatenrichtlinie bei einem oder mehreren Fahragenten und das Ausführen der mindestens einen Kandidatenrichtlinie zum Erzeugen einer oder mehrerer Aktionen, die das Fahrzeug in einer bestimmten Fahrumgebung steuern, wie sie von einem entsprechenden Fahrumgebungsprozessor beobachtet werden, umfassend: Verarbeiten von Sensorinformationen von On-Board-Sensoren, die eine bestimmte Fahrumgebung beschreiben, an jedem der Fahrumgebungsprozessoren, um einen Zustand der spezifischen Fahrumgebung zu erzeugen; Verarbeiten des Zustands bei jedem der einen oder mehreren Fahreragenten gemäß einer Richtlinie, um eine entsprechende Aktion zu erzeugen; und worin das Verarbeiten bei einer Low-Level-Steuerung, jeder Aktion zum Erzeugen von Steuersignalen zum Steuern des Fahrzeugs zum Steuern des Fahrzeugs beim Betrieb in dieser spezifischen Fahrumgebung umfasst: Verschieben jeder Aktion zum Erzeugen der Steuersignale zum Steuern des Fahrzeugs auf der Low-Level-Steuerung, um das Fahrzeug im Betrieb in diesem Zustand in dieser spezifischen Fahrumgebung autonom zu steuern.
  4. Verfahren nach Anspruch 1, worin jedes der Fahrrichtlinien-Lernmodule einen Tiefenverstärkungslern-(DRL)-Algorithmus umfasst, und worin das Verarbeiten, an einem oder mehreren Fahrrichtlinien-Lernmodulen, mindestens eines Teils der Fahrerfahrung, Folgendes umfasst: Verarbeiten von Eingabeinformationen aus mindestens einigen der Fahrerfahrungen an jedem DRL-Algorithmus, um zu lernen und eine Ausgabe zu erzeugen, umfassend: einen Satz von Parametern, die eine Richtlinie darstellen, die durch DRL entwickelt wird, und worin jede Richtlinie von mindestens einem der Fahreragenten verarbeitet werden kann, um eine Aktion zum Steuern des Fahrzeugs zu erzeugen.
  5. Verfahren nach Anspruch 4, worin jeder DRL-Algorithmus Folgendes umfasst: einen auf Richtliniengradienten basierenden Verstärkungslernalgorithmus; oder einen wertbasierten Verstärkungslernalgorithmus oder einen actorkritischen Verstärkungslernalgorithmus, und worin die Ausgabe des DRL-Algorithmus einen oder mehrere der Folgenden umfasst: (1) Schätzwerte für Zustand/Aktion/Vorteil, wie sie durch eine Zustands-/Aktions-/Vorteilswertfunktion bestimmt werden; und (2) eine Richtlinienverteilung.
  6. Verfahren nach Anspruch 4, worin jedes der Fahrrichtlinien-Lernmodule ferner ein Lernzielmodul umfasst, und worin das Verarbeiten, an einem oder mehreren Fahrrichtlinien-Lernmodulen, mindestens eines Teils der Fahrerfahrung, Folgendes ferner umfasst: Verarbeiten, an jedem Lernzielmodul, Trajektorienschritte eines Fahragenten innerhalb einer Fahrumgebung zu verarbeiten, um gewünschte Lernziele zu berechnen, die erreicht werden sollen, worin jeder Trajektorienschritt umfasst: einen Zustand, eine Beobachtung, eine Aktion, eine Prämie, einen nächsten Zustand und eine nächste Beobachtung, und worin jedes Lernziel ein Ergebnis einer Aktion darstellt, die für eine bestimmte Fahrerfahrung gewünscht ist, und worin jedes der Lernziele mindestens eines der Folgenden umfasst: ein Wertziel, umfassend: einen Schätzwert für einen zu erreichenden Zustand/Aktion/Vorteil; und ein zu erreichendes Richtlinienziel.
  7. Verfahren nach Anspruch 6, worin jeder DRL-Algorithmus konfiguriert ist, um Daten zu verarbeiten, die sich auf Fahrerfahrungen beziehen, unter Verwendung stochastischer Gradientenaktualisierungen, um ein neutrales Netzwerk zu trainieren, das mehr als eine Schicht von verborgenen Einheiten zwischen seinen Eingaben und Ausgaben umfasst, und worin jedes der Fahrrichtlinien-Lernmodule ferner ein Verlustmodul und einen Gradientenabwärtsoptimierer umfasst, worin jedes Verlustmodul Folgendes umfasst: eine Verlustfunktion und ein automatisches Differenzierungsmodul, und worin das Verarbeiten, bei einem oder mehreren Fahrrichtlinien-Lernmodulen, mindestens einen Teil der Fahrerfahrungen, ferner umfassend: Verarbeiten der von dem entsprechenden Lernzielmodul und der Ausgabe des entsprechenden DRL-Algorithmus ausgegebenen Lernziele über jede Verlustfunktion, um einen Gesamtleistungsverlust zu berechnen; und Verarbeiten der Gesamtleistungsverluste bei jedem automatischen Differenzierungsmodul, um Gradientendaten für jeden Parameter zu erzeugen; und Verarbeiten der Gradientendaten für jeden Parameter bei jedem Gradientenabsenkungsoptimierer, um aktualisierte Parameter zu berechnen, die eine Richtlinie darstellen, worin die Gradientendaten Gradienten jedes Neurons in jedem neuronalen Netzwerk darstellen, das von jedem DRL-Algorithmus verwendet wird, und worin die Gradienten quantitativ definieren, wie viel von einem Beitrag jedes Neurons geleistet wurde, was zu dem Verlust durch die Ausgabe dieses neuronalen Netzwerks geführt hat.
  8. System, umfassend: ein Fahreragentenmodul, umfassend: einen oder mehrere Fahrumgebungsprozessoren, die jeweils konfiguriert sind, um: eine Fahrumgebung zu beobachten; und einen oder mehrere Fahreragenten, die jeweils einem der Fahrumgebungsprozessoren entsprechen, und jeweils konfiguriert sind, zum: Ausführen einer Richtlinie, die ein Fahrzeug in einer bestimmten Fahrumgebung steuert, wie sie von einem entsprechenden Fahrumgebungsprozessor für dieses Fahreragentenmodul beobachtet wird; und Erfassen von Fahrerfahrungen während verschiedener Fahrszenarien in verschiedenen Fahrumgebungen, worin jede Fahrerfahrung Daten umfasst, die eine bestimmte Fahrumgebung zu einem bestimmten Zeitpunkt darstellen; ein Fahrrichtlinien-Erzeugungsmodul umfassend: ein oder mehrere Module zum Erlernen der Fahrerfahrung, die jeweils konfiguriert sind, zum: Abrufen mindestens einiger der Fahrerfahrungen, um Parameter zu lernen und zu erzeugen, die eine oder mehrere Richtlinien beschreiben, worin jede Richtlinie eine Verteilung über einen Aktionsraum für einen bestimmten Zustand vorschreibt, und worin jede Richtlinie einen Satz von Parametern umfasst, welche die Richtlinie beschreiben und von mindestens einem der Fahreragenten verarbeitet werden können, um eine Aktion zum Steuern des Fahrzeugs zu erzeugen; und eine Low-Level-Steuerung, die konfiguriert ist, um jede Aktion zum Erzeugen von Steuersignalen zum Steuern des Fahrzeugs zu verarbeiten, wenn sie in dieser spezifischen Fahrumgebung betrieben wird.
  9. System nach Anspruch 8, worin jeder der Fahrumgebungsprozessoren konfiguriert ist, um Sensorinformationen von On-Board-Sensoren zu verarbeiten, die eine bestimmte Fahrumgebung beschreiben, um einen Zustand der spezifischen Fahrumgebung zu erzeugen, und worin jeder der einen oder mehreren Fahreragenten ferner konfiguriert ist, um: den Zustand gemäß einer Richtlinie zu verarbeiten, um eine entsprechende Aktion zu erzeugen, worin jede Richtlinie eine Verteilung über einen Aktionsraum für einen gegebenen Zustand vorschreibt; und worin die Low-Level- Steuerung, konfiguriert ist, um jede Aktion zu übersetzen, um die Steuersignale für die Steuerung des Fahrzeugs zu erzeugen, um das Fahrzeug autonom zu steuern, wenn es in diesem Zustand in dieser spezifischen Fahrumgebung betrieben wird.
  10. System nach Anspruch 8, worin jedes der Fahrrichtlinien-Lernmodule Folgendes umfasst: einen Tiefenverstärkungslern-(DRL)-Algorithmus, der konfiguriert ist, zum: Verarbeiten von Eingangsinformationen aus mindestens einigen der Fahrerfahrungen, um zu lernen und eine Ausgabe zu erzeugen, umfassend: einen Satz von Parametern, die eine Richtlinie darstellen, die durch DRL entwickelt wird, und worin jede Richtlinie von mindestens einem der Fahreragenten verarbeitet werden kann, um eine Aktion zum Steuern des Fahrzeugs zu erzeugen ein Lernzielmodul, das konfiguriert ist, um Trajektorienschritte eines Fahragenten innerhalb einer Fahrumgebung zu verarbeiten, um gewünschte Lernziele zu berechnen, die erreicht werden sollen, worin jeder Trajektorienschritt umfasst: einen Zustand, eine Beobachtung, eine Aktion, eine Prämie, einen nächsten Zustand und eine nächste Beobachtung, und worin jedes Lernziel ein Ergebnis einer Aktion darstellt, die für eine bestimmte Fahrerfahrung gewünscht ist, worin jeder DRL-Algorithmus konfiguriert ist, um Daten zu verarbeiten, die sich auf Fahrerfahrungen beziehen, unter Verwendung stochastischer Gradientenaktualisierungen, um ein neutrales Netzwerk zu trainieren, das mehr als eine Schicht von verborgenen Einheiten zwischen seinen Eingaben und Ausgaben umfasst, und worin jedes der Fahrrichtlinien-Lernmodule ferner umfasst: ein Verlustmodul, umfassend: eine Verlustfunktion, die konfiguriert ist, um die vom entsprechenden Lernzielmodul ausgegebenen Lernziele und die Ausgabe des entsprechenden DRL-Algorithmus zu verarbeiten, um einen Gesamtleistungsverlust zu berechnen; und ein automatisches Differenzierungsmodul, das konfiguriert ist, um den Gesamtleistungsverlust zu verarbeiten, um Gradientendaten für jeden Parameter zu erzeugen; und einen Gradientenabsenkungsoptimierer, der konfiguriert ist, um aktualisierte Parameter zu berechnen, die eine Richtlinie darstellen, worin die Gradientendaten Gradienten jedes Neurons injedem neuronalen Netzwerk darstellen, das von jedem DRL-Algorithmus verwendet wird, und worin die Gradienten quantitativ definieren, wie viel von einem Beitrag jedes Neurons geleistet wurde, was zu dem Verlust durch die Ausgabe dieses neuronalen Netzwerks geführt hat.
DE102019113856.6A 2018-07-27 2019-05-23 Systeme, verfahren und steuerungen für ein autonomes fahrzeug, die autonome fahreragenten und fahrrichtlinienlernende implementieren, um richtlinien basierend auf kollektiven fahrerfahrungen der autonomen fahreragenten zu erstellen und zu verbessern Pending DE102019113856A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/048,144 US10845815B2 (en) 2018-07-27 2018-07-27 Systems, methods and controllers for an autonomous vehicle that implement autonomous driver agents and driving policy learners for generating and improving policies based on collective driving experiences of the autonomous driver agents
US16/048,144 2018-07-27

Publications (1)

Publication Number Publication Date
DE102019113856A1 true DE102019113856A1 (de) 2020-01-30

Family

ID=69149015

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019113856.6A Pending DE102019113856A1 (de) 2018-07-27 2019-05-23 Systeme, verfahren und steuerungen für ein autonomes fahrzeug, die autonome fahreragenten und fahrrichtlinienlernende implementieren, um richtlinien basierend auf kollektiven fahrerfahrungen der autonomen fahreragenten zu erstellen und zu verbessern

Country Status (3)

Country Link
US (1) US10845815B2 (de)
CN (1) CN110850861B (de)
DE (1) DE102019113856A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020003738A1 (de) 2020-06-22 2021-12-23 Daimler Ag Verfahren zur Bildung von Datensätzen für ein überwachtes maschinelles Lernen und mit derartigen Datensätzen trainierter Klassifikator

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11130497B2 (en) 2017-12-18 2021-09-28 Plusai Limited Method and system for ensemble vehicle control prediction in autonomous driving vehicles
US20190185012A1 (en) 2017-12-18 2019-06-20 PlusAI Corp Method and system for personalized motion planning in autonomous driving vehicles
US10802489B1 (en) 2017-12-29 2020-10-13 Apex Artificial Intelligence Industries, Inc. Apparatus and method for monitoring and controlling of a neural network using another neural network implemented on one or more solid-state chips
WO2020018394A1 (en) 2018-07-14 2020-01-23 Moove.Ai Vehicle-data analytics
US10940863B2 (en) * 2018-11-01 2021-03-09 GM Global Technology Operations LLC Spatial and temporal attention-based deep reinforcement learning of hierarchical lane-change policies for controlling an autonomous vehicle
WO2020098226A1 (en) * 2018-11-16 2020-05-22 Huawei Technologies Co., Ltd. System and methods of efficient, continuous, and safe learning using first principles and constraints
US11131992B2 (en) * 2018-11-30 2021-09-28 Denso International America, Inc. Multi-level collaborative control system with dual neural network planning for autonomous vehicle control in a noisy environment
US11287523B2 (en) * 2018-12-03 2022-03-29 CMMB Vision USA Inc. Method and apparatus for enhanced camera and radar sensor fusion
WO2020152364A1 (en) * 2019-01-24 2020-07-30 Deepmind Technologies Limited Multi-agent reinforcement learning with matchmaking policies
US20200241542A1 (en) * 2019-01-25 2020-07-30 Bayerische Motoren Werke Aktiengesellschaft Vehicle Equipped with Accelerated Actor-Critic Reinforcement Learning and Method for Accelerating Actor-Critic Reinforcement Learning
US11733703B2 (en) * 2019-01-30 2023-08-22 Perceptive Automata, Inc. Automatic braking of autonomous vehicles using machine learning based prediction of behavior of a traffic entity
US10728461B1 (en) * 2019-01-31 2020-07-28 StradVision, Inc. Method for correcting misalignment of camera by selectively using information generated by itself and information generated by other entities and device using the same
US10668930B1 (en) 2019-02-04 2020-06-02 State Farm Mutual Automobile Insurance Company Determining acceptable driving behavior based on vehicle specific characteristics
EP3693243A1 (de) * 2019-02-06 2020-08-12 Zenuity AB Verfahren und system zur steuerung eines automatisierten fahrsystems eines fahrzeugs
US11393341B2 (en) * 2019-02-26 2022-07-19 Beijing Didi Infinity Technology And Development Co., Ltd. Joint order dispatching and fleet management for online ride-sharing platforms
US20220169277A1 (en) * 2019-03-12 2022-06-02 Mitsubishi Electric Corporation Mobile object control device and mobile object control method
US11069161B2 (en) * 2019-09-30 2021-07-20 Ford Global Technologies, Llc Adaptive sensor fusion
JP6744597B1 (ja) * 2019-10-18 2020-08-19 トヨタ自動車株式会社 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置
US10691133B1 (en) * 2019-11-26 2020-06-23 Apex Artificial Intelligence Industries, Inc. Adaptive and interchangeable neural networks
US11366434B2 (en) 2019-11-26 2022-06-21 Apex Artificial Intelligence Industries, Inc. Adaptive and interchangeable neural networks
US11367290B2 (en) 2019-11-26 2022-06-21 Apex Artificial Intelligence Industries, Inc. Group of neural networks ensuring integrity
US10956807B1 (en) 2019-11-26 2021-03-23 Apex Artificial Intelligence Industries, Inc. Adaptive and interchangeable neural networks utilizing predicting information
CN111401458A (zh) * 2020-03-23 2020-07-10 清华大学 一种基于深度强化学习的多模型目标状态预测方法及***
EP4126619A4 (de) * 2020-03-30 2024-04-17 Moove.AI Fahrzeugdatenanalytik
EP3895950B1 (de) * 2020-04-16 2024-01-17 Zenuity AB Verfahren und systeme zur überwachung und verwaltung automatisierter fahrsysteme
WO2021247081A1 (en) * 2020-06-05 2021-12-09 Gatikai Inc. Method and system for data-driven and modular decision making and trajectory generation of an autonomous agent
CA3180999A1 (en) 2020-06-05 2021-12-09 Gatik Ai Inc. Method and system for deterministic trajectory selection based on uncertainty estimation for an autonomous agent
EP4162337A4 (de) 2020-06-05 2024-07-03 Gatik Ai Inc Verfahren und system zur kontextbewussten entscheidungsfindung eines autonomen agenten
US20210383200A1 (en) 2020-06-05 2021-12-09 PassiveLogic, Inc. Neural Network Methods for Defining System Topology
EP4155856A4 (de) * 2020-06-09 2023-07-12 Huawei Technologies Co., Ltd. Selbstlernverfahren und -vorrichtung für ein autonomes fahrsystem, vorrichtung und speichermedium
US11080602B1 (en) 2020-06-27 2021-08-03 Sas Institute Inc. Universal attention-based reinforcement learning model for control systems
CN113968242B (zh) * 2020-07-22 2023-10-20 华为技术有限公司 自动驾驶场景生成方法、装置及***
CN111985614B (zh) * 2020-07-23 2023-03-24 中国科学院计算技术研究所 一种构建自动驾驶决策***的方法、***和介质
US11458983B2 (en) 2020-07-28 2022-10-04 Huawei Technologies Co., Ltd. System and method for managing flexible control of vehicles by diverse agents in autonomous driving simulation
KR20220027042A (ko) * 2020-08-26 2022-03-07 이미지 에이아이 피티이 리미티드 자동화된 레거시 시스템을 업그레이드하기 위한 프록시 인터프리터
WO2022101825A1 (en) * 2020-11-11 2022-05-19 C.R.F. Societa' Consortile Per Azioni Optimization of performance in automotive autonomous driving of recurrent low speed manoeuvres in digital road maps-free areas
KR20230128492A (ko) 2020-12-17 2023-09-05 엄나이 리미티드 설명 가능 트랜스듀서 변환기
DE102021200030A1 (de) 2021-01-05 2022-07-07 Volkswagen Aktiengesellschaft Verfahren, Computerprogramm und Vorrichtung zum Betreiben eines KI-Moduls
CN113173170B (zh) * 2021-01-08 2023-03-17 海南华天科创软件开发有限公司 基于人员画像个性化算法
CN112904864B (zh) * 2021-01-28 2023-01-03 的卢技术有限公司 基于深度强化学习的自动驾驶方法和***
CN112861442B (zh) * 2021-03-10 2021-12-03 中国人民解放军国防科技大学 基于深度强化学习的多机协同空战规划方法及***
CN112861269B (zh) * 2021-03-11 2022-08-30 合肥工业大学 一种基于深度强化学习优先提取的汽车纵向多态控制方法
CN112954651B (zh) * 2021-03-12 2022-04-08 南京航空航天大学 一种基于深度强化学习的低时延高可靠性v2v资源分配方法
CN112671499B (zh) * 2021-03-16 2022-04-01 深圳安途智行科技有限公司 多传感器同步方法及***、以及主控制设备
WO2022197252A1 (en) * 2021-03-17 2022-09-22 Nanyang Technological University Autonomous driving methods and systems
DE102021107523A1 (de) * 2021-03-25 2022-09-29 Valeo Schalter Und Sensoren Gmbh Verfahren zum betreiben eines parkassistenzsystems, computerprogrammprodukt, parkassistenzsystem sowie fahrzeug
CN113335277A (zh) * 2021-04-27 2021-09-03 北京工业大学 智能巡航控制方法、装置、电子设备和存储介质
CN113258988B (zh) * 2021-05-13 2022-05-20 重庆邮电大学 一种基于dqn的多业务低轨卫星资源分配方法
CN113353102B (zh) * 2021-07-08 2022-11-25 重庆大学 一种基于深度强化学习的无保护左转弯驾驶控制方法
CN113705802B (zh) * 2021-07-26 2023-09-08 深圳市易成自动驾驶技术有限公司 自动驾驶的同步计算方法、装置、***、程序产品及介质
CN113335291B (zh) * 2021-07-27 2022-07-08 燕山大学 一种基于人车风险状态的人机共驾控制权决策方法
CN113645702B (zh) * 2021-07-30 2022-06-03 同济大学 一种利用策略梯度技术优化的支持区块链的物联网***
CN113743469B (zh) * 2021-08-04 2024-05-28 北京理工大学 一种融合多源数据及综合多维指标的自动驾驶决策方法
WO2023036430A1 (en) * 2021-09-10 2023-03-16 Huawei Technologies Co., Ltd. Simulation based method and data center to obtain geo-fenced driving policy
CN114228690B (zh) * 2021-11-16 2023-05-23 扬州大学 一种基于ddpg和迭代控制的自动驾驶车辆侧倾控制方法
CN113978259B (zh) * 2021-11-19 2022-10-18 张展浩 一种基于驾驶场景及驾驶习惯的电动汽车制动控制方法
CN114104005B (zh) * 2022-01-26 2022-04-19 苏州浪潮智能科技有限公司 自动驾驶设备的决策方法、装置、设备及可读存储介质
CN114492782B (zh) * 2022-04-19 2022-09-16 之江实验室 基于强化学习的神经网络的片上核心编译映射方法及装置
WO2023215507A1 (en) * 2022-05-04 2023-11-09 The Regents Of The University Of Michigan System and method for simulating an environment for autonomous vehicle testing
CN114708568B (zh) * 2022-06-07 2022-10-04 东北大学 基于改进RTFNet的纯视觉自动驾驶控制***、方法、介质
CN115083175B (zh) * 2022-06-23 2023-11-03 北京百度网讯科技有限公司 基于车路协同的信号管控方法、相关装置及程序产品
CN115439510B (zh) * 2022-11-08 2023-02-28 山东大学 一种基于专家策略指导的主动目标跟踪方法及***
CN116052412B (zh) * 2022-11-23 2023-08-18 兰州大学 融合物理信息和深度强化学习的自动驾驶车辆控制方法
CN115951587B (zh) * 2023-03-10 2023-07-14 苏州浪潮智能科技有限公司 自动驾驶控制方法、装置、设备、介质及自动驾驶车辆
CN118071119A (zh) * 2024-04-18 2024-05-24 中国电子科技集团公司第十研究所 一种异构传感器混合协同调度决策方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9371007B1 (en) * 2011-04-22 2016-06-21 Angel A. Penilla Methods and systems for automatic electric vehicle identification and charging via wireless charging pads
US9180783B1 (en) * 2011-04-22 2015-11-10 Penilla Angel A Methods and systems for electric vehicle (EV) charge location color-coded charge state indicators, cloud applications and user notifications
US20140309849A1 (en) * 2013-04-15 2014-10-16 Flextronics Ap, Llc Driver facts behavior information storage system
US9123186B2 (en) * 2012-03-14 2015-09-01 Flextronics Ap, Llc Remote control of associated vehicle devices
CN107924190A (zh) * 2015-06-23 2018-04-17 阿肯技术公司 用于由再充电站支持以执行服务的多个混合无人飞行器的自主操作的***
CN105894379A (zh) * 2016-03-30 2016-08-24 上海坤士合生信息科技有限公司 金融产品交易策略的生成***和生成方法
CN107168303A (zh) * 2017-03-16 2017-09-15 中国科学院深圳先进技术研究院 一种汽车的自动驾驶方法及装置
CN106970615B (zh) * 2017-03-21 2019-10-22 西北工业大学 一种深度强化学习的实时在线路径规划方法
CN107169567B (zh) * 2017-03-30 2020-04-07 深圳先进技术研究院 一种用于车辆自动驾驶的决策网络模型的生成方法及装置
CN107145387B (zh) * 2017-05-23 2019-09-10 南京大学 一种车载网环境下基于深度强化学习的任务调度方法
CN107544516A (zh) * 2017-10-11 2018-01-05 苏州大学 基于相对熵深度逆强化学习的自动驾驶***及方法
CN107862346B (zh) * 2017-12-01 2020-06-30 驭势科技(北京)有限公司 一种进行驾驶策略模型训练的方法与设备
US11048832B2 (en) * 2018-01-12 2021-06-29 Intel Corporation Simulated vehicle operation modeling with real vehicle profiles

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020003738A1 (de) 2020-06-22 2021-12-23 Daimler Ag Verfahren zur Bildung von Datensätzen für ein überwachtes maschinelles Lernen und mit derartigen Datensätzen trainierter Klassifikator

Also Published As

Publication number Publication date
US20200033868A1 (en) 2020-01-30
CN110850861B (zh) 2023-05-23
CN110850861A (zh) 2020-02-28
US10845815B2 (en) 2020-11-24

Similar Documents

Publication Publication Date Title
DE102019113856A1 (de) Systeme, verfahren und steuerungen für ein autonomes fahrzeug, die autonome fahreragenten und fahrrichtlinienlernende implementieren, um richtlinien basierend auf kollektiven fahrerfahrungen der autonomen fahreragenten zu erstellen und zu verbessern
DE102019113880A1 (de) Systeme, verfahren und steuerungen die autonome fahreragenten und einen richtlinienserver zum erfüllen von richtlinien für autonome fahreragenten implementieren, zum steuern eines autonomen fahrzeugs
DE102018121595B4 (de) Unbeaufsichtigtes anlernen von agenten für autonome fahranwendungen
DE102019115707A1 (de) Räumliches und zeitliches aufmerksamkeitsbasiertes tiefenverstärkungslernen von hierarchischen fahrspurwechselstrategien zum steuern eines autonomen fahrzeugs
DE102019115809A1 (de) Verfahren und system zum durchgehenden lernen von steuerbefehlen für autonome fahrzeuge
DE102017126877B4 (de) Kraftfahrzeug
DE102019112038A1 (de) Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug
DE102019111414A1 (de) Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug
DE102019111402A1 (de) Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug
DE102018113007A1 (de) Trajektorienplaner zum autonomen fahren mittels bézier-kurven
DE102018129295A1 (de) Systeme und Verfahren zum Abbilden von Fahrbahnstörobjekten in autonomen Fahrzeugen
DE102019110184A1 (de) Systeme und verfahren zum autonomen fahren unter verwendung eines auf neuronalen netzwerken basierten fahrerlernens auf tokenizierten sensoreingaben
DE102019122027A1 (de) Fahrzeugwegplanung
DE102018113926A1 (de) Autonome Fahrzeugantriebssysteme und Verfahren für kritische Zustände
DE102018112115A1 (de) Verfahren und Systeme zum Ermitteln der Geschwindigkeit von sich bewegenden Objekten
DE102019115038A1 (de) Systeme und verfahren zur vorhersage von sensorinformationen
DE102018127361A1 (de) Systeme und verfahren für autonome kraftfahrzeuge mit verhaltenssteuerung
DE102019113389B4 (de) System und verfahren für ein vorhersage-entitätenverhalten
DE102018115263A1 (de) Systeme und verfahren zur vorhersage von verkehrsmustern in einem autonomen fahrzeug
DE102018113782A1 (de) Personalisierte Fahreigenschaften eines autonomen Fahrzeugs
DE102018121124A1 (de) Verfahren und Systeme zum Erzeugen von Echtzeit-Karteninformationen
DE102018123464A1 (de) Verfahren und systeme zur radar-lokalisierung in autonomen fahrzeugen
DE102018123467A1 (de) Verfahren und systeme zur radar-lokalisierung in autonomen fahrzeugen
DE102019113862A1 (de) Systeme und verfahren zum vorhersagen von objektverhalten
DE102020102823A1 (de) Fahrzeugkapselnetzwerke

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: LK GLOBAL PATENTANWAELTE PARTGMBB, DE