DE102022125228A1 - Automatisiertes fahrsystem mit gewünschtem niveau der fahraggresivität - Google Patents

Automatisiertes fahrsystem mit gewünschtem niveau der fahraggresivität Download PDF

Info

Publication number
DE102022125228A1
DE102022125228A1 DE102022125228.0A DE102022125228A DE102022125228A1 DE 102022125228 A1 DE102022125228 A1 DE 102022125228A1 DE 102022125228 A DE102022125228 A DE 102022125228A DE 102022125228 A1 DE102022125228 A1 DE 102022125228A1
Authority
DE
Germany
Prior art keywords
driving
reinforcement learning
vehicle
computer
agent
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
DE102022125228.0A
Other languages
English (en)
Inventor
Alireza Esna Ashari Esfahani
Sayyed Rouhollah Jafari Tafti
Marcus James Huber
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 DE102022125228A1 publication Critical patent/DE102022125228A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0021Planning or execution of driving tasks specially adapted for travel time
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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
    • 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
    • B60W50/08Interaction between the driver and the control system
    • B60W50/082Selecting or switching between different modes of propelling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot 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 or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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 or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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/028Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/10Simultaneous control of position or course in three dimensions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0083Setting, resetting, calibration
    • B60W2050/0088Adaptive recalibration
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Optics & Photonics (AREA)
  • Electromagnetism (AREA)
  • Traffic Control Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Ein System umfasst einen Computer, der einen Prozessor und einen Speicher enthält. Der Speicher enthält Anweisungen, so dass der Prozessor programmiert ist: Sensordaten zu empfangen, die eine wahrgenommene Fahrumgebung repräsentieren, einen Agenten des bestärkenden Lernens aus mehreren Agenten des bestärkenden Lernens basierend auf einer unter Verwendung der Sensordaten berechneten Herausforderungspunktzahl und einem gewünschten Fahrstil auszuwählen und über den ausgewählten Agenten des bestärkenden Lernens eine Fahrhandlung basierend auf den Sensordaten zu erzeugen.

Description

  • EINLEITUNG
  • Die vorliegende Offenbarung bezieht sich auf das Wählen eines Agenten des bestärkenden Lernens, um ein Fahrzeug basierend auf einer abgetasteten Fahrumgebung und einer Anwenderpräferenz zu betreiben.
  • Systeme des bestärkenden Lernens enthalten einen Agenten, der durch Ausführen von Handlungen, die durch das System des bestärkenden Lernens in Reaktion auf das Empfangen von Beobachtungen, die den aktuellen Zustand der Umgebung charakterisieren, gewählt werden, mit einer Umgebung in Wechselwirkung tritt.
  • ZUSAMMENFASSUNG
  • Ein System umfasst einen Computer, der einen Prozessor und einen Speicher enthält. Der Speicher enthält Anweisungen, so dass der Prozessor programmiert ist: Sensordaten zu empfangen, die eine wahrgenommene Fahrumgebung repräsentieren, einen Agenten des bestärkenden Lernens aus mehreren Agenten des bestärkenden Lernens basierend auf einer Herausforderungspunktzahl, die unter Verwendung der Sensordaten berechnet wird, und einem gewünschten Fahrstil auszuwählen und über den ausgewählten Agenten des bestärkenden Lernens eine Fahrhandlung basierend auf den Sensordaten zu erzeugen.
  • Gemäß anderen Merkmalen entspricht jeder Agent des bestärkenden Lernens der mehreren Agenten des bestärkenden Lernens einer anderen Herausforderungspunktzahl und einem anderen gewünschten Fahrstil.
  • Gemäß anderen Merkmalen entspricht der gewünschte Fahrstil einem gewünschten Niveau der Fahraggressivität.
  • Gemäß anderen Merkmalen entspricht das gewünschte Niveau der Fahraggressivität dem Abschließen der Fahrhandlung innerhalb eines speziellen Zeitraums.
  • Gemäß anderen Merkmalen umfassen die mehreren der Agenten des bestärkenden Lernens M × N Agenten des bestärkenden Lernens, wobei M eine ganze Zahl ist, die M Niveaus der Fahrpräferenzen repräsentiert, und N eine ganze Zahl ist, die N Fahrumgebungen repräsentiert.
  • Gemäß anderen Merkmalen ist der Prozessor ferner programmiert, aus den mehreren der Agenten des bestärkenden Lernens basierend auf den Sensordaten, die eine andere wahrgenommene Fahrumgebung repräsentieren, einen weiteren Agenten des bestärkenden Lernens automatisch auszuwählen.
  • Gemäß anderen Merkmalen wird der gewünschte Fahrstil von einem Anwender empfangen.
  • Gemäß anderen Merkmalen wird der gewünschte Fahrstil von einer Mensch-Maschine-Schnittstelle (HMI) empfangen.
  • Gemäß anderen Merkmalen wird ein Fahrzeug gemäß der Fahrhandlung betrieben.
  • Gemäß anderen Merkmalen umfasst das Fahrzeug wenigstens eines eines Landfahrzeugs, eines Luftfahrzeugs oder eines Wasserfahrzeugs.
  • Ein Verfahren enthält Empfangen von Sensordaten, die eine wahrgenommene Fahrumgebung repräsentieren, Auswählen eines Agenten des bestärkenden Lernens aus mehreren Agenten des bestärkenden Lernens basierend auf einer unter Verwendung der Sensordaten berechneten Herausforderungspunktzahl und einem gewünschten Fahrstil und Erzeugen einer Fahrhandlung basierend auf den Sensordaten über den ausgewählten Agenten des bestärkenden Lernens.
  • Gemäß anderen Merkmalen entspricht jeder Agent des bestärkenden Lernens der mehreren Agenten des bestärkenden Lernens einer anderen Herausforderungspunktzahl und einem anderen gewünschten Fahrstil.
  • Gemäß anderen Merkmalen entspricht der gewünschte Fahrstil einem gewünschten Niveau der Fahraggressivität.
  • Gemäß anderen Merkmalen entspricht das gewünschte Niveau der Fahraggressivität dem Abschließen der Fahrhandlung innerhalb eines speziellen Zeitraums.
  • Gemäß anderen Merkmalen umfassen die mehreren der Agenten des bestärkenden Lernens M × N Agenten des bestärkenden Lernens, wobei M eine ganze Zahl ist, die M Niveaus der Fahrpräferenzen repräsentiert, und N eine ganze Zahl ist, die N Fahrumgebungen repräsentiert.
  • Gemäß anderen Merkmalen enthält das Verfahren automatisches Auswählen eines weiteren Agenten des bestärkenden Lernens aus den mehreren der Agenten des bestärkenden Lernens basierend auf den Sensordaten, die eine andere wahrgenommene Fahrumgebung repräsentieren.
  • Gemäß anderen Merkmalen wird der gewünschte Fahrstil von einem Anwender empfangen.
  • Gemäß anderen Merkmalen wird der gewünschte Fahrstil von einer Mensch-Maschine-Schnittstelle (HMI) empfangen.
  • Gemäß anderen Merkmalen enthält das Verfahren das Betreiben gemäß der Fahrhandlung.
  • Gemäß anderen Merkmalen umfasst das Fahrzeug wenigstens eines eines Landfahrzeugs, eines Luftfahrzeugs oder eines Wasserfahrzeugs.
  • Weitere Anwendungsbereiche werden aus der hier bereitgestellten Beschreibung offensichtlich. Es soll erkannt werden, dass die Beschreibung und die spezifischen Beispiele nur der Veranschaulichung dienen und den Schutzumfang der vorliegenden Offenbarung nicht einschränken sollen.
  • Figurenliste
  • Die hier beschriebenen Zeichnungen dienen nur der Veranschaulichung und sollen den Schutzumfang der vorliegenden Offenbarung in keiner Weise einschränken; es zeigen:
    • 1 einen Blockschaltplan eines beispielhaften Systems, das ein Fahrzeug enthält;
    • 2 einen Blockschaltplan eines beispielhaften Servers innerhalb des Systems;
    • 3 einen Blockschaltplan einer beispielhaften Rechenvorrichtung;
    • 4 eine graphische Darstellung eines beispielhaften neuronalen Netzes;
    • 5 eine graphische Darstellung, die einen beispielhaften Prozess zum Trainieren mehrerer Agenten des bestärkenden Lernens veranschaulicht;
    • 6 einen Blockschaltplan, der ein beispielhaftes System des bestärkenden Lernens zum Auswählen eines Agenten des bestärkenden Lernens aus mehreren Agenten des bestärkenden Lernens, um ein Fahrzeug zu betreiben, veranschaulicht;
    • 7 eine Draufsicht auf eine beispielhafte Fahrumgebung; und
    • 8 einen Ablaufplan, der einen beispielhaften Prozess zum Auswählen eines Agenten des bestärkenden Lernens aus mehreren Agenten des bestärkenden Lernens, um ein Fahrzeug zu betreiben, veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung ist lediglich beispielhaft und soll die vorliegende Offenbarung, Anwendung oder Verwendungen nicht einschränken.
  • Das bestärkende Lernen (RL) ist eine Form des zielgerichteten maschinellen Lernens. Ein Agent kann z. B. aus der direkten Wechselwirkung mit seiner Umgebung lernen, ohne auf eine explizite Überwachung und/oder vollständige Modelle der Umgebung angewiesen zu sein. Das bestärkende Lernen ist ein Rahmen, der die Wechselwirkung zwischen einem lernenden Agenten und seiner Umgebung bezüglich der Zustände, Handlungen und Belohnungen modelliert. In jedem Zeitschritt empfängt ein Agent einen Zustand, wobei er basierend auf einer Strategie eine Handlung auswählt, eine skalare Belohnung empfängt und zum nächsten Zustand übergeht. Der Zustand kann auf einer oder mehreren Sensoreingaben basieren, die die Umgebungsdaten angeben. Das Ziel des Agenten ist es, eine erwartete kumulative Belohnung zu maximieren. Der Agent kann eine positive skalare Belohnung für eine positive Handlung und eine negative skalare Belohnung für eine negative Handlung erhalten. Folglich „lernt“ der Agent, indem er versucht, die erwartete kumulative Belohnung zu maximieren. Während der Agent hier innerhalb des Kontexts eines Fahrzeugs beschrieben wird, wird erkannt, dass der Agent jeden geeigneten Agenten des bestärkenden Lernens umfassen kann.
  • Wie hier ausführlicher erörtert wird, kann ein Fahrzeug mehrere Agenten des bestärkenden Lernens enthalten. Jeder Agent des bestärkenden Lernens wird trainiert, um basierend auf einer Herausforderungspunktzahl, die einer durch eine abgetastete Fahrumgebung wahrgenommenen Schwierigkeit entspricht, und einer Auswahl eines Anwenders, die ein gewünschtes Niveau der Fahraggressivität repräsentiert, eine Ausgabe zu erzeugen, die eine Fahrhandlung repräsentiert. Das gewünschte Niveau kann einem bevorzugten Fahrstil des Anwenders entsprechen, wie z. B. einem relativ konservativen Fahrstil oder einem relativ aggressiven Fahrstil.
  • 1 ist ein Blockschaltplan eines beispielhaften Fahrzeugsystems 100. Das System 100 enthält ein Fahrzeug 105, das ein Landfahrzeug, wie z. B. einen Personenkraftwagen, einen Lastkraftwagen usw., ein Luftfahrzeug und/oder ein Wasserfahrzeug umfassen kann. Das Fahrzeug 105 enthält einen Computer 110, die Fahrzeugsensoren 115, die Aktuatoren 120, um verschiedene Fahrzeugkomponenten 125 zu betätigen, und ein Fahrzeugkommunikationsmodul 130. Über ein Netz 135 ermöglicht es das Kommunikationsmodul 130 dem Computer 110, mit einem Server 145 zu kommunizieren.
  • Der Computer 110 kann ein Fahrzeug 105 in einer autonomen, einer halbautonomen Betriebsart oder einer nichtautonomen (manuellen) Betriebsart betreiben. Für die Zwecke dieser Offenbarung ist eine autonome Betriebsart als eine Betriebsart definiert, in der jedes des Antriebs, des Bremsens und des Lenkens des Fahrzeugs 105 durch den Computer 110 gesteuert ist; wobei in einer halbautonomen Betriebsart der Computer 110 eines oder zwei des Antriebs, des Bremsens und des Lenkens der Fahrzeuge 105 steuert; während in einer nichtautonomen Betriebsart eine menschliche Bedienungsperson jedes des Antriebs, des Bremsens und des Lenkens des Fahrzeugs 105 steuert.
  • Der Computer 110 kann eine Programmierung enthalten, um sowohl eines oder mehreres der Bremsen, des Antriebs (z. B. die Steuerung der Beschleunigung des Fahrzeugs durch Steuern eines oder mehrerer einer Brennkraftmaschine, eines Elektromotors, einer Hybrid-Kraftmaschine usw.), der Lenkung, der Klimatisierung, der Innen- und/oder Außenbeleuchtung usw. des Fahrzeugs 105 zu steuern als auch zu bestimmen, ob und wann der Computer 110 im Gegensatz zu einer menschlichen Bedienungsperson derartige Operationen steuern soll. Zusätzlich kann der Computer 110 programmiert sein, zu bestimmen, ob und wann eine menschliche Bedienungsperson derartige Operationen steuern soll.
  • Der Computer 110 kann mehr als einen Prozessor enthalten oder mit diesen, z. B. über das Kommunikationsmodul 130 des Fahrzeugs 105, wie im Folgenden weiter beschrieben wird, kommunikationstechnisch gekoppelt sein, die z. B. in elektronischen Controller-Einheiten (ECUs) oder dergleichen enthalten sind, die in dem Fahrzeug 105 enthalten sind, um verschiedene Fahrzeugkomponenten 125, z. B. einen Antriebsstrang-Controller, einen Brems-Controller, einen Lenkungs-Controller usw., zu überwachen und/oder zu steuern. Ferner kann der Computer 110 über das Kommunikationsmodul 130 des Fahrzeugs 105 mit einem Navigationssystem kommunizieren, das das Globale Positionierungssystem (GPS) verwendet. Als ein Beispiel kann der Computer 110 z. B. Ortsdaten des Fahrzeugs 105 anfordern und empfangen. Die Ortsdaten können sich in einer bekannten Form, z. B. Geokoordinaten (Breiten- und Längenkoordinaten), befinden.
  • Der Computer 110 ist im Allgemeinen für die Kommunikation mit dem Kommunikationsmodul 130 des Fahrzeugs 105 und außerdem mit einem internen drahtgebundenen und/oder drahtlosen Netz des Fahrzeugs 105, z. B. einem Bus oder dergleichen im Fahrzeug 105, wie z. B. einem Controller-Bereichsnetz (CAN) oder dergleichen, und/oder anderen drahtgebundenen und/oder drahtlosen Mechanismen ausgelegt.
  • Der Computer 110 kann über das Kommunikationsnetz des Fahrzeugs 105 Nachrichten an verschiedene Vorrichtungen im Fahrzeug 105 senden und/oder Nachrichten von den verschiedenen Vorrichtungen, z. B. den Fahrzeugsensoren 115, den Aktuatoren 120, den Fahrzeugkomponenten 125, einer Mensch-Maschine-Schnittstelle (HMI) usw., empfangen. Alternativ oder zusätzlich kann in den Fällen, in denen der Computer 110 tatsächlich mehrere Vorrichtungen umfasst, das Kommunikationsnetz des Fahrzeugs 105 für die Kommunikation zwischen den in dieser Offenbarung als der Computer 110 dargestellten Vorrichtungen verwendet werden. Ferner können, wie im Folgenden erwähnt wird, verschiedene Controller und/oder Fahrzeugsensoren 115 Daten dem Computer 110 bereitstellen. Das Kommunikationsnetz des Fahrzeugs 105 kann ein oder mehrere Gateway-Module enthalten, die die Zusammenarbeitsfähigkeit zwischen verschiedenen Netzen und Vorrichtungen innerhalb des Fahrzeugs 105, wie z. B. Protokollübersetzer, Impedanzanpasser, Ratenumsetzer und dergleichen, bereitstellen.
  • Die Fahrzeugsensoren 115 können verschiedene Vorrichtungen enthalten, wie sie z. B. bekannt sind, um dem Computer 110 Daten bereitzustellen. Die Fahrzeugsensoren 115 können z. B. einen Lichtdetektions- und -ortungssensor(en) (Lidar-Sensor(en)) 115 usw. enthalten, der (die) auf einer Oberseite des Fahrzeugs 105, hinter einer Front-Windschutzscheibe des Fahrzeugs 105, um das Fahrzeug 105 herum usw. angeordnet sind, die relative Positionen, Größen und Formen von Objekten und/oder Bedingungen, die das Fahrzeug 105 umgeben, bereitstellen.
  • Als ein weiteres Beispiel können ein oder mehrere Radarsensoren 115, die an den Stoßfängern des Fahrzeugs 105 befestigt sind, Daten bereitstellen, um die Geschwindigkeit von Objekten (möglicherweise einschließlich zweiter Fahrzeuge 106) usw. bezüglich des Orts des Fahrzeugs 105 bereitzustellen und zu klassifizieren. Die Fahrzeugsensoren 115 können ferner Kamerasensor(en) 115 enthalten, z. B. Frontansicht, Seitenansicht, Rückansicht usw., die Bilder aus einem Sehfeld innerhalb und/oder außerhalb des Fahrzeugs 105 bereitstellen.
  • Die Aktuatoren 120 des Fahrzeugs 105 sind über Schaltungen, Chips, Motoren oder andere elektronische und/oder mechanische Komponenten implementiert, die verschiedene Fahrzeug-Teilsysteme gemäß geeigneten Steuersignalen betätigen können, wie bekannt ist. Die Aktuatoren 120 können verwendet werden, um die Komponenten 125, einschließlich des Bremsens, des Beschleunigens und des Lenkens eines Fahrzeugs 105, zu steuern.
  • Im Kontext der vorliegenden Offenbarung ist eine Fahrzeugkomponente 125 eine oder mehrere Hardware-Komponenten, die dafür ausgelegt sind, eine mechanische oder elektromechanische Funktion oder Operation auszuführen - wie z. B. das Bewegen des Fahrzeugs 105, das Abbremsen oder Stoppen des Fahrzeugs 105, das Lenken des Fahrzeugs 105 usw. Nicht einschränkende Beispiele der Komponenten 125 enthalten eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. enthält), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehreres eines Lenkrads, einer Zahnstange usw. enthalten kann), eine Bremskomponente (wie im Folgenden beschrieben wird), eine Einparkhilfekomponente, eine Komponente einer adaptiven Geschwindigkeitsregelung, eine Komponente einer adaptiven Lenkung, einen beweglichen Sitz usw.
  • Zusätzlich kann der Computer 110 konfiguriert sein, über ein Fahrzeug-zu-Fahrzeug-Kommunikationsmodul oder eine Fahrzeug-zu-Fahrzeug-Kommunikationsschnittstelle 130 mit Vorrichtungen außerhalb des Fahrzeugs 105, z. B. über eine drahtlose Fahrzeug-zu-Fahrzeug- (V2V-) oder Fahrzeug-zu-Infrastruktur- (V2X-) Kommunikation mit einem weiteren Fahrzeug, (typischerweise über das Netz 135) mit einem entfernten Server 145 zu kommunizieren. Das Modul 130 könnte einen oder mehrere Mechanismen, durch die der Computer 110 kommunizieren kann, einschließlich irgendeiner gewünschten Kombination von drahtlosen (z. B. Zellen-, drahtlosen, Satelliten-, Mikrowellen- und Hochfrequenz-) Kommunikationsmechanismen und irgendeiner gewünschten Netztopologie (oder -topologien, wenn mehrere Kommunikationsmechanismen verwendet werden) enthalten. Beispielhafte Kommunikationen, die über das Modul 130 bereitgestellt werden, enthalten Zellen-, Bluetooth®-, IEEE 802.11-, dedizierte Kurzstreckenkommunikation (DSRC) und/oder Weitbereichsnetze (WAN) einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Das Netz 135 kann einer oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen sein, einschließlich irgendeiner gewünschten Kombination von drahtgebundenen (z. B. Kabel und Glasfaser) und/oder drahtlosen (z. B. Zellen-, drahtlosen, Satelliten-, Mikrowellen- und Hochfrequenz-) Kommunikationsmechanismen und irgendeiner gewünschten Netztopologie (oder -topologien, wenn mehrere Kommunikationsmechanismen verwendet werden). Beispielhafte Kommunikationsnetze enthalten drahtlose Kommunikationsnetze (z. B. unter Verwendung von Bluetooth, Bluetooth Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (V2V), wie z. B. dedizierte Nahbereichskommunikation (DSRC) usw.), lokale Netze (LAN) und/oder Weitbereichsnetze (WAN) einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Ein Computer 110 kann Daten von Sensoren 115 im Wesentlichen kontinuierlich, periodisch und/oder nach Anweisung durch einen Server 145 usw. empfangen und analysieren. Ferner können in einem Computer 110 z. B. basierend auf Daten des Lidar-Sensors 115, des Kamera-Sensors 115 usw. Objektklassifikations- oder -identifikationstechniken verwendet werden, um sowohl einen Typ des Objekts, z. B. Fahrzeug, Person, Stein, Schlagloch, Fahrrad, Motorrad usw., als auch physische Merkmale von Objekten zu identifizieren.
  • Wie hier ausführlicher beschrieben wird, ist der Computer 110 konfiguriert, eine auf einem neuronalen Netz basierende Prozedur des bestärkenden Lernens zu implementieren. Der Computer 110 erzeugt eine Menge von Zustandshandlungen (Q-Werten) als Ausgaben für einen beobachteten Eingangszustand. Der Computer 110 kann eine Handlung auswählen, die einem maximalen Zustandshandlungswert, z. B. dem höchsten Zustandshandlungswert, entspricht. Der Computer 110 erhält Sensordaten von den Sensoren 115, die einem beobachteten Eingangszustand entsprechen.
  • 2 veranschaulicht einen beispielhaften Server 145, der ein System 205 des bestärkenden Lernens (RL) enthält. Wie gezeigt ist, kann das RL-System 205 ein Agentenmodul 210 des bestärkenden Lernens (RL), einen oder mehrere RL-Agenten 215 und ein Speichermodul 220 enthalten.
  • Insbesondere kann das RL-Agentenmodul 210 einen oder mehrere RL-Agenten 215 managen, aufrechterhalten, trainieren, implementieren, verwenden oder mit ihnen kommunizieren. Das RL-Agentenmodul 210 kann z. B. mit dem Speichermodul 220 kommunizieren, um auf einen oder mehrere RL-Agenten 215 zuzugreifen. Außerdem kann das RL-Agentenmodul 210 auf Daten zugreifen, die eine unterschiedliche Anzahl von Lernerstrategien spezifizieren, die im Folgenden bezüglich 5 ausführlicher beschrieben werden.
  • 3 veranschaulicht eine beispielhafte Rechenvorrichtung 300, d. h., einen Computer 110 und/oder einen oder mehrere Server 145, die konfiguriert sein können, einen oder mehrere der hier beschriebenen Prozesse auszuführen. Wie gezeigt ist, kann die Rechenvorrichtung einen Prozessor 305, einen Speicher 310, eine Speichervorrichtung 315, eine E/A-Schnittstelle 320 und eine Kommunikationsschnittstelle 325 umfassen. Weiterhin kann die Rechenvorrichtung 300 eine Eingabevorrichtung, wie z. B. einen Berührungsschirm, eine Maus, eine Tastatur usw., enthalten. Gemäß bestimmten Implementierungen kann die Rechenvorrichtung 300 weniger oder mehr Komponenten enthalten als jene, die in 3 gezeigt sind.
  • Gemäß speziellen Implementierungen enthält der Prozessor (enthalten die Prozessoren) 305 Hardware zum Ausführen von Anweisungen, wie z. B. jene, die ein Computerprogramm bilden. Um Anweisungen auszuführen, kann der Prozessor (können die Prozessoren) 305 als ein Beispiel und nicht als Einschränkung die Anweisungen aus einem internen Register, einem internen Cache, einem Speicher 310 oder einer Speichervorrichtung 315 wiedergewinnen (oder holen) und sie decodieren und ausführen.
  • Die Rechenvorrichtung 300 enthält einen Speicher 310, der an den (die) Prozessor(en) 305 gekoppelt ist. Der Speicher 310 kann zum Speichern von Daten, Metadaten und Programmen zur Ausführung durch den (die) Prozessor(en) verwendet werden. Der Speicher 310 kann einen oder mehrere flüchtige und nichtflüchtige Speicher, wie z. B. Schreib-Lese-Speicher („RAM“), Festwertspeicher („ROM“), eine Halbleiterplatte („SSD“), Flash, Phasenwechselspeicher („PCM“) oder andere Typen von Datenspeichern, enthalten. Der Speicher 310 kann ein interner oder ein verteilter Speicher sein.
  • Die Rechenvorrichtung 300 enthält eine Speichervorrichtung 315, die einen Speicher zum Speichern von Daten oder Anweisungen enthält. Die Speichervorrichtung 315 kann als ein Beispiel und nicht als Einschränkung ein nicht transitorisches Speichermedium umfassen, das oben beschrieben worden ist. Die Speichervorrichtung 315 kann ein Festplattenlaufwerk (HDD), einen Flash-Speicher, ein Laufwerk des universellen seriellen Busses (USB) oder eine Kombination aus diesen oder anderen Speichervorrichtungen enthalten.
  • Die Rechenvorrichtung 300 enthält außerdem eine oder mehrere Eingabe- oder Ausgabe-Vorrichtungen/Schnittstellen (E/A-Vorrichtungen/Schnittstellen) 320, die vorgesehen sind, es einem Anwender zu ermöglichen, der Rechenvorrichtung 300 eine Eingabe (wie z. B. Benutzeranschläge) bereitzustellen, von der Rechenvorrichtung 300 eine Ausgabe zu empfangen und anderweitig Daten zu und von der Rechenvorrichtung 300 zu übertragen. Diese E/A-Vorrichtungen/Schnittstellen 320 können eine Maus, ein Tastenfeld oder eine Tastatur, einen Berührungsschirm, eine Kamera, einen optischen Scanner, eine Netzschnittstelle, ein Modem, andere bekannte E/A-Vorrichtungen oder eine Kombination derartiger E/A-Vorrichtungen/Schnittstellen 320 enthalten. Der Berührungsschirm kann mit einer Schreibvorrichtung oder einem Finger aktiviert werden.
  • Die E/A-Vorrichtungen/Schnittstellen 320 können eine oder mehrere Vorrichtungen zum Darstellen einer Ausgabe für einen Anwender enthalten, einschließlich einer Graphikmaschine, einer Anzeige (z. B. eines Anzeigeschirms), eines oder mehrerer Ausgabetreiber (z. B. Anzeigetreiber), eines oder mehrerer Lautsprecher und eines oder mehrerer Audiotreiber, sind aber nicht darauf eingeschränkt. Gemäß bestimmten Implementierungen sind die Vorrichtungen/Schnittstellen 320 konfiguriert, graphische Daten einer Anzeige zur Darstellung für einen Anwender bereitzustellen. Die graphischen Daten können eine oder mehrere graphische Anwenderschnittstellen und/oder irgendwelchen anderen graphischen Inhalt repräsentieren, die einer speziellen Implementierung dienen können.
  • Die Rechenvorrichtung 300 kann ferner eine Kommunikationsschnittstelle 325 enthalten. Die Kommunikationsschnittstelle 325 kann Hardware, Software oder beides enthalten. Die Kommunikationsschnittstelle 325 kann eine oder mehrere Schnittstellen für die Kommunikation (wie z. B. eine paketbasierte Kommunikation) zwischen der Rechenvorrichtung und einer oder mehreren anderen Rechenvorrichtungen 300 oder einem oder mehreren Netzen bereitstellen. Als ein Beispiel und nicht zur Einschränkung kann die Kommunikationsschnittstelle 325 einen Netzschnittstellen-Controller (NIC) oder einen Netzadapter zum Kommunizieren mit einem Ethernet oder einem anderen drahtgebundenen Netz oder einen drahtlosen NIC (WNIC) oder einen drahtlosen Adapter zum Kommunizieren mit einem drahtlosen Netz, wie z. B. einem WI-FI, enthalten. Die Rechenvorrichtung 300 kann ferner einen Bus 330 enthalten. Der Bus 330 kann Hardware, Software oder beides umfassen, die die Komponenten der Rechenvorrichtung 300 miteinander koppeln.
  • 4 ist eine graphische Darstellung eines beispielhaften tiefen neuronalen Netzes (DNN) 400, das hier verwendet werden kann. Innerhalb des vorliegenden Kontexts kann das DNN 400 einen einzelnen RL-Agenten 215 umfassen. Das DNN 400 enthält mehrere Knoten 405, wobei die Knoten 405 so angeordnet sind, dass das DNN 400 eine Eingangsschicht, eine oder mehrere verborgene Schichten 415 und eine Ausgangsschicht 420 enthält. Jede Schicht des DNN 400 kann mehrere Knoten 405 enthalten. Während 4 drei (3) verborgene Schichten 415 veranschaulicht, wird erkannt, dass das DNN 400 zusätzliche oder weniger verborgene Schichten enthalten kann. Die Eingangs- und die Ausgangsschicht 410, 420 können außerdem mehr als einen (1) Knoten 405 enthalten.
  • Die Knoten 405 werden manchmal als künstliche Neuronen bezeichnet, weil sie entworfen sind, biologische, z. B. menschliche, Neuronen zu emulieren. Eine Menge von Eingaben (die durch die Pfeile dargestellt sind) in jeden Knoten 405 wird jeweils mit entsprechenden Gewichten multipliziert. Die gewichteten Eingaben können dann in einer Eingabefunktion summiert werden, um, möglicherweise durch eine Verzerrung eingestellt, eine Nettoeingabe bereitzustellen. Die Nettoeingabe kann dann einer Aktivierungsfunktion bereitgestellt werden, die wiederum einem verbundenen Knoten 405 eine Ausgabe bereitstellt. Die Aktivierungsfunktion kann verschiedene geeignete Funktionen sein, die typischerweise basierend auf einer empirischen Analyse ausgewählt werden. Wie durch die Pfeile in 4 veranschaulicht ist, können die Ausgaben des Knotens 405 dann zur Einbeziehung in eine Menge von Eingaben in ein oder mehrere Neuronen 305 in einer nächsten Schicht bereitgestellt werden.
  • Das DNN 400 kann trainiert sein, um Sensordaten als Eingabe zu akzeptieren und basierend auf der Eingabe eine Ausgabehandlung, z. B. einen Belohnungswert, zu erzeugen. Das DNN 400 kann mit Trainingsdaten, z. B. einer bekannten Menge von Sensoreingaben, trainiert werden, um den Agenten für die Zwecke der Bestimmung einer optimalen Strategie zu trainieren. Gemäß einer oder mehreren Implementierungen wird das DNN 400 über den Server 145 trainiert, wobei das trainierte DNN 400 über das Netz 135 zu dem Fahrzeug 105 übertragen werden kann. Die Gewichte können z. B. unter Verwendung einer Gaußschen Verteilung initialisiert werden, wobei eine Verzerrung für jedes Neuron 405 auf null gesetzt werden kann. Das Training des DNN 400 kann das Aktualisieren der Gewichte und Verzerrungen mittels geeigneter Techniken, wie z. B. Rückwärtspropagierung mit Optimierungen, enthalten.
  • Während des Betriebs erhält der Computer 110 Sensordaten von den Sensoren 115, wobei er die Daten als Eingabe dem DNN 400, z. B. dem (den) RL-Agenten 215, bereitstellt. Sobald er trainiert ist, kann der RL-Agent 215 die Sensoreingabe akzeptieren und als Ausgabe einen oder mehrere Zustandshandlungswerte (Q-Werte) basierend auf der abgetasteten Eingabe bereitstellen. Während der Ausführung des RL-Agenten 215 können die Zustandshandlungswerte für jede Handlung erzeugt werden, die innerhalb der Umgebung für den Agenten verfügbar ist. Gemäß einer beispielhaften Implementierung wird der RL-Agent 215 gemäß einer Basisstrategie trainiert. Die Basisstrategie kann einen oder mehrere Zustandshandlungswerte enthalten, die einer Menge von Sensoreingangsdaten entsprechen, die einer Basisfahrumgebung entsprechen.
  • Mit anderen Worten, sobald ein RL-Agent 215 trainiert worden ist, erzeugt er Ausgangsdaten, die seine Entscheidungen widerspiegeln, spezielle Maßnahmen in Reaktion auf spezielle Eingangsdaten zu ergreifen. Die Eingangsdaten enthalten z. B. die Werte mehrerer Zustandsvariable, die sich auf eine durch den RL-Agenten 215 erkundete Umgebung oder eine durch den RL-Agenten 215 ausgeführte Aufgabe beziehen. In einigen Fällen können eine oder mehrere Zustandsvariable eindimensional sein. In einigen Fällen können eine oder mehrere Zustandsvariable mehrdimensional sein. Eine Zustandsvariable kann außerdem als Merkmal bezeichnet werden. Das Abbilden der Eingangsdaten auf die Ausgangsdaten kann als eine Strategie bezeichnet werden und steuert die Entscheidungsfindung des RL-Agenten 215. Eine Strategie kann z. B. eine Wahrscheinlichkeitsverteilung spezieller Handlungen in Anbetracht spezieller Werte der Zustandsvariable in einem gegebenen Zeitschritt enthalten.
  • 5 veranschaulicht einen beispielhaften Prozess 500 zum Initialisieren jedes RL-Agenten 215 in dem Server 145. Die Blöcke des Prozesses 500 können durch den Server 145 ausgeführt werden. Im Block 505 wird der RL-Agent 215 gemäß der Basisstrategie trainiert.
  • Im Block 510 wird eine Bestimmung ausgeführt, ob ein mittlerer Belohnungswert konvergiert hat. Falls der mittlere Belohnungswert nicht konvergiert hat, werden ein oder mehrere Hyperparameter modifiziert und dem RL-Agenten 215 im Block 515 bereitgestellt. Ein Hyperparameter ist ein Wert, der vor dem Beginn des Trainings initialisiert wird und während des Trainings des RL-Agenten 215 modifiziert wird und der den Trainingsprozess des RL-Agenten 215 beeinflusst. Ein Hyperparameter kann z. B. Belohnungshyperparameter umfassen, die eine Rückmeldung oder Beobachtungen umfassen, die durch den RL-Agenten 215 verwendet werden, um eine geeignete Zustandshandlung gemäß den Sensordaten zu bestimmen. Andernfalls wird der RL-Agent 215 im Block 520 basierend auf der Basisstrategie und/oder den modifizierten Hyperparametern, die in einem konvergierten mittleren Belohnungswert bereitgestellt werden, kopiert. Es wird erkannt, dass eine Fahrumgebung M Niveaus von Fahrpräferenzen, z. B. das gewünschte Niveau der Fahraggressivität, umfassen kann.
  • Im Block 525 wird eine Anzahl von N Fahrumgebungen unter Verwendung eines präskriptiven analytischen Rahmens erzeugt, wobei M und N ganze Zahlen größer als oder gleich eins (1) sind. Im Block 530 wird eine beschreibende Herausforderungspunktzahl berechnet, die einer der im Block 525 erzeugten Fahrumgebungen entspricht. Gemäß einer beispielhaften Implementierung kann die beschreibende Herausforderungspunktzahl unter Verwendung eines beschreibenden analytischen Rahmens erzeugt werden. Die beschreibende Herausforderungspunktzahl kann eine quantifizierte Schwierigkeitsbewertung umfassen, die der Fahrumgebung entspricht. Es wird erkannt, dass die Herausforderungspunktzahl basierend auf einer wahrgenommenen Verkehrsumgebung, den Wetterbedingungen, d. h., schlechtem Wetter, schneebedecktem Straßenbelag, Staus, bevorstehenden geplanten Manövern usw. berechnet werden kann.
  • Im Block 535 werden die N Fahrumgebungen sortiert und den RL-Agenten 215 bereitgestellt. Die Anzahl N der Fahrumgebungen wird z. B. gemäß der beschreibenden Herausforderungspunktzahl sortiert. Wie in 5 gezeigt ist, kann die Anzahl M × N der RL-Agenten 215, z. B. der RL-Agenten 215-1 bis 215-P, gemäß den oben beschriebenen Schritten erzeugt werden, wobei P der Wert von M × N ist.
  • Im Block 540 wird ein Belohnungswert für einen RL-Agenten 215 festgelegt und/oder aktualisiert. Anfänglich kann der Belohnungswert auf den oben im Block 510 beschriebenen konvergierten mittleren Belohnungswert gesetzt werden. Im Block 545 werden ein oder mehrere Gewichte gemäß einer anfänglichen Leistungsvergleichs-Punktzahl erzeugt und jedem RL-Agenten 215 bereitgestellt. Es werden z. B. ein oder mehrere Gewichte gemäß einem gewünschten Aggressivitätsniveau berechnet. Das gewünschte Aggressivitätsniveau kann z. B. das Abschließen einer Fahrhandlung in Anbetracht der abgetasteten Umgebung innerhalb einer speziellen Zeit repräsentieren. Gemäß einem weiteren Beispiel kann das gewünschte Aggressivitätsniveau das Vermeiden von Stop-and-Go-Handlungen in der abgetasteten Umgebung umfassen.
  • Im Block 550 kann jeder RL-Agent 215 für eine vorgegebene Anzahl von Epochen trainiert werden. Jedem RL-Agenten 215 werden z. B. Daten, die eine spezielle Fahrumgebung repräsentieren, als Eingabe bereitgestellt, wobei er eine Ausgabe, die eine Fahrhandlung innerhalb einer speziellen Fahrumgebung repräsentiert, erzeugt. Die resultierende Ausgabe kann eine aktualisierte Leistungsvergleichs-Punktzahl repräsentieren. Im Block 555 kann die aktualisierte Leistungsvergleichs-Punktzahl mit früheren Punktzahlen verglichen werden, um zu bestimmen, ob ein oder mehrere Belohnungswerte aktualisiert werden müssen. Falls der Vergleich größer als ein vorgegebener Differenzschwellenwert ist, werden die Belohnungswerte aktualisiert, wobei der Prozess 500 zum Block 550 zurückkehrt. Es wird erkannt, dass der Prozess 500 offline ausgeführt werden kann.
  • 6 ist eine beispielhafte Umgebung 600 zum Betreiben des Fahrzeugs 105. Als solcher empfängt der Computer 110 abgetastete Daten 605, die eine beobachtete Umgebung repräsentieren. Die abgetasteten Daten 605 werden durch die Fahrzeugsensoren 115 erzeugt. Der Computer 110 berechnet basierend auf den abgetasteten Daten 605 eine Herausforderungspunktzahl 610. Die Herausforderungspunktzahl 610 kann eine Fahrschwierigkeit repräsentieren, die der abgetasteten Fahrumgebung, d. h., der Anzahl anderer Fahrzeuge in der Nähe des Fahrzeugs 105, Verkehrsstaus usw., entspricht.
  • Der Computer 110 empfängt außerdem eine Auswahl des Anwenders, die einen gewünschten Fahrstil 615, d. h., die Präferenz der gewünschte Fahraggressivität, repräsentiert. Ein erster gewünschter Fahrstil 615 kann z. B. dem Ausführen von Fahrhandlungen, die Vorsicht bevorzugen, entsprechen. Gemäß einem weiteren Beispiel kann ein zweiter gewünschter Fahrstil 615 dem Ausführen von Fahrhandlungen, die das Einsparen von Fahrzeit bevorzugen, entsprechen. Die Auswahl des Anwenders kann über eine HMI, wie z. B. eine Fahrzeugkomponente 125, eine entfernte Rechenvorrichtung oder dergleichen, empfangen werden. Gemäß einigen Implementierungen kann der Computer 110 das Modifizieren des gewünschten Fahrstil 615 basierend auf der Fahrumgebung vorschlagen. Der Computer 110 kann z. B. basierend auf der wahrgenommenen Fahrumgebung eine Herausforderungspunktzahl 610 berechnen. Der Computer 110 kann auf eine Nachschlagetabelle zugreifen, die eine Herausforderungspunktzahl 610 mit akzeptablen aggressiven Fahrpräferenzen 615 in Beziehung setzt, die während des Trainings der RL-Agenten 215 bestimmt worden sind.
  • Der Computer 110 kann dann ein Selektormodul 620 verwenden, das einen aus einer Anzahl P von gespeicherten RL-Agenten 215 auswählt. Das Selektormodul 620 wählt z. B. einen RL-Agenten 215 basierend auf der Herausforderungspunktzahl 610 und dem gewünschten Fahrstil 615 aus. Der ausgewählte RL-Agent 215 kann eine Ausgabe erzeugen, die Fahrhandlungen repräsentiert, die den Fahrzeugaktuatoren 120 bereitgestellt werden, um das Fahrzeug 105 entsprechend zu betreiben. Gemäß einigen Implementierungen kann der Computer 110 basierend auf einer berechneten Herausforderungspunktzahl 610 einen RL-Agenten 215 automatisch auswählen. Der Computer 110 kann z. B. basierend auf der wahrgenommenen Fahrumgebung bestimmen, dass die aktuellen aggressiven Fahrpräferenzen 615 nicht der berechneten Herausforderungspunktzahl 610 entsprechen. Gemäß diesem Beispiel schlägt der Computer 110 dem (den) Insassen vor, den gewünschten Fahrstil 615 über die HMI auf einen angemessenes Niveau zu ändern.
  • 7 veranschaulicht eine beispielhafte Fahrumgebung 700. Wie gezeigt ist, enthält die Umgebung 700 das Fahrzeug 105, z. B. das Ego-Fahrzeug, und die Fahrzeuge 705, 710, 715. Wie hier beschrieben wird, erzeugen ein oder mehrere Fahrzeugsensoren 115 Sensordaten, die die abgetastete Fahrumgebung repräsentieren. Basierend auf der abgetasteten Fahrumgebung kann der Computer 110 eine Herausforderungspunktzahl berechnen, die eine Fahrschwierigkeit innerhalb der abgetasteten Fahrumgebung repräsentiert. Basierend auf der Herausforderungspunktzahl und einer Präferenz des Anwenders wählt der Computer 110 einen RL-Agenten 215 aus, der eine oder mehrere Fahrhandlungen bestimmt, die innerhalb der Umgebung 700 auszuführen sind.
  • 8 ist ein Ablaufplan eines beispielhaften Prozesses 800 zum Betreiben des Fahrzeugs 105 gemäß den hier beschriebenen Techniken. Die Blöcke des Prozesses 800 können durch den Computer 110 ausgeführt werden. Der Prozess 800 beginnt im Block 805, in dem die abgetasteten Daten, die eine Fahrumgebung repräsentieren, empfangen werden. Im Block 810 wird basierend auf den empfangenen Daten eine Herausforderungspunktzahl berechnet. Im Block 815 wird eine Auswahl des Anwenders, die einen gewünschten Fahrstil repräsentiert, empfangen.
  • Im Block 820 wird ein RL-Agent 215 aus einer Anzahl P von RL-Agenten 215 ausgewählt. Im Block 825 erzeugt der RL-Agent 215 basierend auf den abgetasteten Daten eine Fahrhandlung. Im Block 830 wird eine Bestimmung ausgeführt, ob eine aktualisierte Auswahl des Anwenders empfangen worden ist. Falls eine aktualisierte Auswahl des Anwenders empfangen worden ist, kehrt der Prozess 800 zum Block 820 zurück. Andernfalls kehrt der Prozess 800 zum Block 825 zurück.
  • Die Beschreibung der vorliegenden Offenbarung ist lediglich beispielhafter Art, wobei vorgesehen ist, dass sich Variationen, die nicht vom Hauptpunkt der vorliegenden Offenbarung abweichen, innerhalb des Schutzumfangs der vorliegenden Offenbarung befinden. Derartige Variationen sind nicht als Abweichung vom Erfindungsgedanken und Schutzumfang der vorliegenden Offenbarung zu betrachten.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen irgendeines einer Anzahl von Computerbetriebssystemen, einschließlich, aber keineswegs eingeschränkt auf, Versionen und/oder Varianten des Microsoft Automotive®-Betriebssystems, des Microsoft Windows®-Betriebssystems, des Unix-Betriebssystems (z. B. des Betriebssystems Solans®, das von der Oracle Corporation in Redwood Shores, Kalifornien, vertrieben wird), des UNIX-Betriebssystems AIX, das von International Business Machines in Armonk, New York, vertrieben wird, des Betriebssystems Linux, der Betriebssysteme Mac OSX und iOS, die von Apple Inc. in Cupertino, Kalifornien, vertrieben werden, des Betriebssystems BlackBerry OS, das von Blackberry, Ltd., in Waterloo, Kanada, vertrieben wird, des Betriebssystems Android, das von Google, Inc. und der Open Handset Alliance entwickelt wurde, oder der QNX® CAR Plattform für Infotainment, die von QNX Software Systems angeboten wird, verwenden. Beispiele der Rechenvorrichtungen enthalten ohne Einschränkung einen Bordcomputer des Fahrzeugs, einen Computer-Arbeitsplatzrechner, einen Server, einen Desktop-, Notebook-, Laptop- oder Handheld-Computer oder irgendein anderes Rechensystem und/oder irgendeine andere Vorrichtung.
  • Die Computer und Rechenvorrichtungen enthalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen, wie z. B. jene, die oben aufgeführt sind, ausgeführt werden können. Die computerausführbaren Anweisungen können aus Computerprogrammen, die unter Verwendung verschiedener Programmiersprachen und/oder -techniken erzeugt worden sind, einschließlich, ohne Einschränkung und entweder allein oder in Kombination, Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTML, usw., kompiliert oder interpretiert werden. Einige dieser Anwendungen können auf einer virtuellen Maschine, wie z. B. der Java Virtual Machine, der virtuellen Dalvik-Maschine oder dergleichen, kompiliert und ausgeführt werden. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch ein oder mehrere Prozesse einschließlich eines oder mehrerer der hier beschriebenen Prozesse ausgeführt werden. Derartige Anweisungen und andere Daten können unter Verwendung verschiedener computerlesbaren Medien gespeichert und übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die in einem computerlesbaren Medium, wie z. B. einem Speichermedium, einem Schreib-Lese-Speicher usw., gespeichert sind.
  • Der Speicher kann ein computerlesbares Medium (das außerdem als ein prozessorlesbares Medium bezeichnet wird) enthalten, das irgendein nicht transitorisches (z. B. greifbares) Medium umfasst, das am Bereitstellen von Daten (z. B. Anweisungen) teilnimmt, die durch einen Computer (z. B. durch einen Prozessor eines Computers) gelesen werden können. Ein derartiges Medium kann viele Formen, wie z. B. nichtflüchtiger Medien und flüchtiger Medien, annehmen, ist aber nicht darauf eingeschränkt. Nichtflüchtige Medien können z. B. optische oder magnetische Platten und anderen permanenten Speicher enthalten. Flüchtige Medien können z. B. einen dynamischen Schreib-Lese-Speicher (DRAM) enthalten, der typischerweise einen Hauptspeicher bildet. Derartige Anweisungen können durch ein oder mehrere Übertragungsmedien, einschließlich Koaxialkabel, Kupferdraht und Faseroptik, einschließlich der Drähte, die einen an einen Prozessor einer ECU gekoppelten Systembus umfassen, übertragen werden. Übliche Formen der computerlesbaren Medien enthalten z. B. eine Diskette, eine flexible Platte, eine Festplatte, ein Magnetband, irgendein anderes magnetisches Medium, einen CD-ROM, eine DVD, irgendein anderes optisches Medium, Lochkarten, ein Papierband, irgendein anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, irgendeinen anderen Speicherchip oder irgendeine andere Speicherkassette oder irgendein anderes Medium, von dem ein Computer lesen kann.
  • Die Datenbanken, Datendepots oder andere hier beschriebene Datenspeicher können verschiedene Arten von Mechanismen zum Speichern, Zugreifen und Wiedergewinnen verschiedener Arten von Daten einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem proprietären Format, eines relationalen Datenbankmanagementsystems (RDBMS) usw. enthalten. Jeder derartige Datenspeicher ist im Allgemeinen innerhalb einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem, wie z. B. eines von jenen, die oben erwähnt worden sind, verwendet, wobei auf sie über ein Netz in irgendeiner oder mehreren verschiedener Arten zugegriffen wird. Ein Dateisystem kann von einem Computerbetriebssystem zugänglich sein und kann Dateien enthalten, die in verschiedenen Formaten gespeichert sind. Ein RDBMS verwendet zusätzlich zu einer Sprache zum Erzeugen, Speichern, Bearbeiten und Ausführen gespeicherter Prozeduren, wie z. B. der obenerwähnten PL/SQL-Sprache, im Allgemeinen die strukturierte Abfragesprache (SQL).
  • Gemäß einigen Beispielen können die Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, Personalcomputern usw.) implementiert sein, die in den ihnen zugeordneten computerlesbaren Medien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann derartige Anweisungen umfassen, die in computerlesbaren Medien gespeichert sind, um die hier beschriebenen Funktionen auszuführen.
  • In dieser Anmeldung einschließlich der folgenden Definitionen kann der Begriff „Modul“ oder der Begriff „Controller“ durch den Begriff „Schaltung“ ersetzt werden. Der Begriff „Modul“ kann sich beziehen auf, Teil sein von oder enthalten: eine anwendungsspezifische integrierte Schaltung (ASIC); eine digitale, analoge oder gemischt analoge/digitale diskrete Schaltung; eine digitale, analoge oder gemischt analoge/digitale integrierte Schaltung; eine kombinatorische Logikschaltung; eine feldprogrammierbare Gatteranordnung (FPGA); eine Prozessorschaltung (gemeinsam benutzt, dediziert oder Gruppe), die Code ausführt; eine Speicherschaltung (gemeinsam benutzt, dediziert oder Gruppe), die den durch die Prozessorschaltung ausgeführten Code speichert; andere geeignete Hardware-Komponenten, die die beschriebene Funktionalität bereitstellen; oder eine Kombination aus einigen oder allen der Obigen, wie z. B. in einem System-auf-einem-Chip.
  • Das Modul kann eine oder mehrere Schnittstellenschaltungen enthalten. In einigen Beispielen können die Schnittstellenschaltungen drahtgebundene oder drahtlose Schnittstellen enthalten, die mit einem lokalen Netz (LAN), dem Internet, einem Weitbereichsnetz (WAN) oder Kombinationen davon verbunden sind. Die Funktionalität irgendeines gegebenen Moduls der vorliegenden Offenbarung kann zwischen mehreren Modulen verteilt sein, die über Schnittstellenschaltungen verbunden sind. Mehrere Module können z. B. einen Lastausgleich ermöglichen. In einem weiteren Beispiel kann ein Server-Modul (das außerdem als Fern- oder Cloud-Modul bekannt ist) etwas der Funktionalität im Auftrag eines Client-Moduls ausführen.
  • Hinsichtlich der hier beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. sollte erkannt werden, dass, obwohl die Schritte derartiger Prozesse usw. als gemäß einer bestimmten geordneten Reihenfolge stattfindend beschrieben worden sind, derartige Prozesse mit den beschriebenen Schritten praktiziert werden können, die in einer anderen als der hier beschriebenen Reihenfolge ausgeführt werden. Es sollte ferner erkannt werden, dass bestimmte Schritte gleichzeitig ausgeführt werden können, dass andere Schritte hinzugefügt werden können oder dass bestimmte hier beschriebene Schritte weggelassen werden können. Mit anderen Worten, die Beschreibungen der Prozesse hier sind zum Veranschaulichen bestimmter Implementierungen vorgesehen und sollten keineswegs ausgelegt werden, um die Ansprüche einzuschränken.
  • Dementsprechend soll erkannt werden, dass die obige Beschreibung veranschaulichend und nicht einschränkend vorgesehen ist. Viele Implementierungen und Anwendungen mit Ausnahme der bereitgestellten Beispiele würden für die Fachleute auf dem Gebiet beim Lesen der obigen Beschreibung offensichtlich sein. Der Schutzumfang der Erfindung sollte nicht in Bezug auf die obige Beschreibung bestimmt werden, sondern sollte stattdessen in Bezug auf die beigefügten Ansprüche, zusammen mit dem vollen Schutzumfang der Äquivalente, zu denen derartige Ansprüche berechtigt sind, bestimmt werden. Es wird erwartet und ist beabsichtigt, dass zukünftige Entwicklungen in den hier erörterten Techniken stattfinden werden und dass die offenbarten Systeme und Verfahren in derartige zukünftige Implementierungen aufgenommen werden. Zusammenfassend sollte erkannt werden, dass die Erfindung modifizierbar und variierbar ist und nur durch die folgenden Ansprüche eingeschränkt ist.
  • Es ist vorgesehen, dass allen in den Ansprüchen verwendeten Begriffen ihre einfachen und gewöhnlichen Bedeutungen gegeben werden, wie sie durch die Fachleute auf dem Gebiet verstanden werden, wenn nicht hier explizit das Gegenteil angegeben ist. Insbesondere sollte die Verwendung der Artikel in der Einzahl, wie z. B. „ein/eine“, „der/die/das“, „besagter“ usw., so gelesen werden, dass sie eines oder mehrere der angegebenen Elemente darstellen, es sei denn, ein Anspruch stellt eine explizite Einschränkung auf das Gegenteil dar.

Claims (10)

  1. System, das einen Computer umfasst, der einen Prozessor und einen Speicher enthält, wobei der Speicher Anweisungen enthält, so dass der Prozessor programmiert ist: Sensordaten zu empfangen, die eine wahrgenommene Fahrumgebung repräsentieren; einen Agenten des bestärkenden Lernens aus mehreren Agenten des bestärkenden Lernens basierend auf einer unter Verwendung der Sensordaten berechneten Herausforderungspunktzahl und einem gewünschten Fahrstil auszuwählen; und eine Fahrhandlung basierend auf den Sensordaten über den ausgewählten Agenten des bestärkenden Lernens zu erzeugen.
  2. System nach Anspruch 1, wobei jeder Agent des bestärkenden Lernens der mehreren Agenten des bestärkenden Lernens einer anderen Herausforderungspunktzahl und einem anderen gewünschten Fahrstil entspricht.
  3. System nach Anspruch 1, wobei der gewünschte Fahrstil einem gewünschten Niveau der Fahraggressivität entspricht.
  4. System nach Anspruch 1, wobei das gewünschte Niveau der Fahraggressivität dem Abschließen der Fahrhandlung innerhalb eines speziellen Zeitraums entspricht.
  5. System nach Anspruch 1, wobei die mehreren Agenten des bestärkenden Lernens M × N Agenten des bestärkenden Lernens umfassen, wobei M eine ganze Zahl ist, die M Niveaus von Fahrpräferenzen repräsentiert, und N eine ganze Zahl ist, die N Fahrumgebungen repräsentiert.
  6. System nach Anspruch 5, wobei der Prozessor ferner programmiert ist, einen weiteren Agenten des bestärkenden Lernens aus den mehreren Agenten des bestärkenden Lernens basierend auf den Sensordaten, die eine andere wahrgenommene Fahrumgebung repräsentieren, automatisch auszuwählen.
  7. System nach Anspruch 1, wobei der gewünschte Fahrstil von einem Anwender empfangen wird.
  8. System nach Anspruch 7, wobei der gewünschte Fahrstil von einer Mensch-Maschine-Schnittstelle (HMI) empfangen wird.
  9. System nach Anspruch 1, wobei ein Fahrzeug gemäß der Fahrhandlung betrieben wird.
  10. System nach Anspruch 9, wobei das Fahrzeug wenigstens eines eines Landfahrzeugs, eines Luftfahrzeugs oder eines Wasserfahrzeugs umfasst.
DE102022125228.0A 2021-12-20 2022-09-29 Automatisiertes fahrsystem mit gewünschtem niveau der fahraggresivität Pending DE102022125228A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/555,973 2021-12-20
US17/555,973 US20230192118A1 (en) 2021-12-20 2021-12-20 Automated driving system with desired level of driving aggressiveness

Publications (1)

Publication Number Publication Date
DE102022125228A1 true DE102022125228A1 (de) 2023-06-22

Family

ID=86606776

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022125228.0A Pending DE102022125228A1 (de) 2021-12-20 2022-09-29 Automatisiertes fahrsystem mit gewünschtem niveau der fahraggresivität

Country Status (3)

Country Link
US (1) US20230192118A1 (de)
CN (1) CN116300853A (de)
DE (1) DE102022125228A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117302204B (zh) * 2023-11-30 2024-02-20 北京科技大学 依托强化学习的多风格车辆轨迹跟踪避撞控制方法及装置

Also Published As

Publication number Publication date
CN116300853A (zh) 2023-06-23
US20230192118A1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
DE102020122357A1 (de) Fahrerbewusstseinserfassungssystem
DE102022123187A1 (de) Adaptives Reduzieren von neuronalen Netzsystemen
DE102020128978A1 (de) Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern
DE102021104044A1 (de) Neuronales netzwerk zur positionsbestimmung und objektdetektion
DE102022100549A1 (de) Mit einem rang versehene fehlerzustände
DE102020108127A1 (de) Interpretieren von daten einer reinforcement-learning-agent-steuerung
DE102022125228A1 (de) Automatisiertes fahrsystem mit gewünschtem niveau der fahraggresivität
DE102021122407A1 (de) Segmentierung und klassifizierung von punktwolkendaten
DE102020122086A1 (de) Messen von vertrauen in tiefen neuronalen netzwerken
DE102022123257A1 (de) Selektives Ausscheiden der Merkmale für entgegenwirkende Robustheit neuronaler Netze
DE102021104178A1 (de) Dynamisch gerouteter felddiskriminator
DE102022123358A1 (de) Frequenzbasierte merkmalsbeschränkung für ein neuronales netz
DE102022125908A1 (de) Zielschlupfschätzung
DE102022132111A1 (de) Systeme und verfahren zum erfassen einer inferenzqualität eines tiefen neuronalen netzes unter verwendung von bild-/datenmanipulation ohne ground-truth-informationen
US10977783B1 (en) Quantifying photorealism in simulated data with GANs
DE102020126154A1 (de) Zertifizierte robustheit gegenüber gegnerischen angriffen für tiefes bestärkendes lernen
DE102021134645A1 (de) Erneutes trainieren von neuronalem netzwerk in echtzeit
DE102022122657A1 (de) Validierungssystem für neuronale Netze
DE102022127647A1 (de) Kalibrieren von parametern innerhalb einer virtuellen umgebung unter verwendung verstärkenden lernens
US11321587B2 (en) Domain generation via learned partial domain translations
DE102023100599A1 (de) Rechnerisch effizientes unüberwachtes dnn-vortraining
US11068749B1 (en) RCCC to RGB domain translation with deep neural networks
DE102022127393A1 (de) Robustes lernsystem für neuronale netze
DE102022127006A1 (de) Bewertungssystem für autonomes fahren
DE102023100515A1 (de) Kalibrierung holografischer displays durch maschinelles lernen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)