DE102020103754A1 - Hyper-assoziation im episodenspeicher - Google Patents

Hyper-assoziation im episodenspeicher Download PDF

Info

Publication number
DE102020103754A1
DE102020103754A1 DE102020103754.6A DE102020103754A DE102020103754A1 DE 102020103754 A1 DE102020103754 A1 DE 102020103754A1 DE 102020103754 A DE102020103754 A DE 102020103754A DE 102020103754 A1 DE102020103754 A1 DE 102020103754A1
Authority
DE
Germany
Prior art keywords
episode
hypothesis
autonomous vehicle
candidate
hyper
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
DE102020103754.6A
Other languages
English (en)
Inventor
Youngkwan Cho
Rajan Bhattacharyya
Michael J. Daily
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 DE102020103754A1 publication Critical patent/DE102020103754A1/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Traffic Control Systems (AREA)

Abstract

Ein autonomes Fahrzeug, System und Verfahren zum Betrieb des autonomen Fahrzeugs. Das System umfasst einen episodischen Speicher, ein Hyper-Assoziationsmodul und ein Navigationssystem. Der episodische Speicher speichert eine Vielzahl von Episoden, ruft in Erwiderung auf den Empfang eines Teilpräfixes eine Vielzahl von Kandidatenepisoden ab und ruft in Erwiderung auf den Empfang einer Zwischenepisode eine Hypothesenepisode ab. Das Hyper-Assoziationsmodul erhält die Vielzahl der Kandidatenepisoden aus dem episodischen Speicher und erhält die Zwischenepisode aus der Vielzahl der Kandidatenepisoden. Das Navigationssystem navigiert das autonome Fahrzeug anhand der Hypothesenepisode.

Description

  • EINLEITUNG
  • Das Offenbarungsthema bezieht sich auf autonome Fahrzeuge und insbesondere auf die Verwendung von Hyper-Assoziation im episodischen Speicher eines kognitiven Prozessors zur Bestimmung von Trajektorieninformationen von Agentenfahrzeugen für die Navigation der autonomen Fahrzeuge.
  • Autonome Fahrzeuge sind dazu bestimmt, einen Fahrgast von einem Ort zum anderen zu befördern, ohne oder mit minimaler Beteiligung des Fahrgastes. Solche Fahrzeuge erfordern die Fähigkeit, Kenntnisse über Agenten in ihrer Umgebung und deren mögliche Bewegungen zu erhalten und daraus eine Trajektorie für das autonome Fahrzeug zu berechnen. Solches Wissen kann in raum-zeitlichen Datenströmen, die Episoden genannt werden, gespeichert werden und im Speicher abgelegt werden. Dementsprechend ist es wünschenswert, ein System bereitzustellen, das Episoden zu geeigneten Zeitpunkten abrufen kann, um auf der Grundlage der aktuellen episodischen Aktivität Hypothesen über die Flugbahn der Fahrzeuge aufzustellen.
  • BESCHREIBUNG
  • In einer beispielhaften Ausführungsform wird ein Verfahren zum Betrieb eines autonomen Fahrzeugs offengelegt. Am autonomen Fahrzeug wird ein Teilpräfix erhalten. In Erwiderung auf den Empfang des Teilpräfixes im episodischen Speicher werden mehrere Kandidatenepisoden aus einem episodischen Speicher, der dem autonomen Fahrzeug zugeordnet ist, abgerufen. Jede der Kandidaten-Episoden wird mit dem Teilpräfix an einem mit dem autonomen Fahrzeug verbundenen Hyper-Assoziationsmodul verglichen, um eine Zwischenepisode zu erhalten. Eine Hypothesenepisode wird auf der Grundlage der Zwischenepisode ausgewählt. Das autonome Fahrzeug wird auf der Grundlage der Hypothesenepisode navigiert.
  • Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale wird die Zwischenepisode als Stichwort verwendet, um eine Episode aus dem episodischen Speicher als Hypothesenepisode abzurufen. In einer Ausführungsform ruft die Zwischenepisode mehr als einen Kandidaten aus dem Episodenspeicher ab und die durch die Zwischenepisode abgerufenen Kandidaten werden dem Hyper-Assoziationsmodul zur Verfügung gestellt. Der episodische Speicher und das Hyper-Assoziationsmodul sind Bestandteile eines Hypothesengebers eines kognitiven Prozessors des autonomen Fahrzeugs, und der Hypothesengeber liefert dem kognitiven Prozessor die Hypothesenepisode. Das Hyper-Assoziationsmodul wendet eine Metrik zwischen dem Teilpräfix und jeder Kandidatenepisode an, um eine Ähnlichkeit zwischen dem Teilpräfix und der Kandidatenepisode zu bestimmen. Das Hyper-Assoziations-Modul wählt einen Kandidaten aus der Vielzahl der Kandidaten-Episoden aus, der die kleinste Metrik als Zwischenepisode hat. Das Hyper-Assoziationsmodul kombiniert zumindest einen Teil der Mehrzahl der Kandidaten zur Bildung der Zwischenepisode, wenn keine der Metriken für die Mehrzahl der Kandidaten ein ausgewähltes Kriterium erfüllt. Die Zwischensequenz wird durch die Kombination der Kandidaten in der Reihenfolge eines Ranges, basierend auf der Metrik, erstellt.
  • In einer weiteren beispielhaften Ausführungsform wird ein System zum Betrieb eines autonomen Fahrzeugs vorgestellt. Das System umfasst einen episodischen Speicher, ein Hyper-Assoziationsmodul und ein Navigationssystem. Der episodische Speicher speichert eine Vielzahl von Episoden, ruft in Erwiderung auf das Empfangen eines Teilpräfixes eine Vielzahl von Kandidatenepisoden ab und ruft in Erwiderung auf das Empfangen einer Zwischenepisode eine Hypothesenepisode ab. Das Hyper-Assoziationsmodul erhält die Vielzahl der Kandidatenepisoden aus dem episodischen Speicher und erhält die Zwischenepisode aus der Vielzahl der Kandidatenepisoden. Das Navigationssystem navigiert das autonome Fahrzeug anhand der Hypothesenepisode.
  • Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale sind der episodische Speicher und das Hyper-Assoziationsmodul Bestandteile eines Hypothesengebers eines kognitiven Prozessors des autonomen Fahrzeugs. Das Hyper-Assoziationsmodul wendet eine Metrik zwischen dem Teilpräfix und jeder der Mehrzahl der Kandidatenepisoden an. Das Hyper-Assoziationsmodul wählt eine Kandidatenepisode aus der Vielzahl der Kandidatenepisoden mit der kleinsten Metrik als Zwischenepisode aus. Das Hyper-Assoziationsmodul kombiniert zumindest einen Teil der Vielzahl von Kandidatenepisoden zur Bildung der Zwischenepisode. Das Hyper-Assoziationsmodul erzeugt die Zwischenepisode, indem es die Kandidaten in der Reihenfolge eines Ranges basierend auf der Metrik kombiniert.
  • In einer weiteren beispielhaften Ausführungsform wird ein autonomes Fahrzeug enthüllt. Das autonome Fahrzeug umfasst einen episodischen Speicher, ein Hyper-Assoziationsmodul und ein Navigationssystem. Der episodische Speicher speichert eine Vielzahl von Episoden, ruft in Erwiderung auf den Empfang eines Teilpräfixes eine Vielzahl von Kandidatenepisoden ab und ruft in Erwiderung auf den Empfang einer Zwischenepisode eine Hypothesenepisode ab. Das Hyper-Assoziationsmodul erhält die Vielzahl der Kandidatenepisoden aus dem episodischen Speicher und erhält die Zwischenepisode aus der Vielzahl der Kandidatenepisoden. Das Navigationssystem navigiert das autonome Fahrzeug anhand der Hypothesenepisode.
  • Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale sind der episodische Speicher und das Hyper-Assoziationsmodul Bestandteile eines Hypothesengebers eines kognitiven Prozessors des autonomen Fahrzeugs. Das Hyper-Assoziationsmodul wendet eine Metrik zwischen dem Teilpräfix und jeder der Mehrzahl der Kandidatenepisoden an. Das Hyper-Assoziationsmodul wählt eine Kandidatenepisode aus der Vielzahl der Kandidatenepisoden mit der kleinsten Metrik als Zwischenepisode aus.
  • Das Hyper-Assoziationsmodul wählt eine Kandidatenepisode aus der Vielzahl der Kandidatenepisoden mit der kleinsten Metrik als Zwischenepisode aus. Das Hyper-Assoziationsmodul erzeugt die Zwischenepisode, indem es die Kandidaten in der Reihenfolge eines Ranges basierend auf der Metrik kombiniert.
  • Die oben genannten Merkmale und Vorteile sowie weitere Merkmale und Vorteile der Offenbarung ergeben sich aus der folgenden detaillierten Beschreibung in Verbindung mit den beigefügten Figuren.
  • Figurenliste
  • Weitere Merkmale, Vorteile und Details erscheinen nur beispielhaft in der folgenden Detailbeschreibung, wobei sich die Detailbeschreibung auf die Figuren bezieht, in denen:
    • 1 zeigt ein autonomes Fahrzeug mit einem zugehörigen Bahnplanungssystem, das nach verschiedenen Ausführungsformen dargestellt ist;
    • 2 zeigt ein illustratives Steuerungssystem mit einem kognitiven Prozessor, der in ein autonomes Fahrzeug oder einen Fahrzeugsimulator integriert ist, und
    • 3 zeigt ein schematisches Diagramm eines episodischen Speichersubsystems, das für den Einsatz mit dem kognitiven Prozessor geeignet ist.
  • AUSFÜHRLICHE DARSTELLUNG
  • Die folgende Beschreibung hat lediglich beispielhaften Charakter und soll die vorliegende Offenbarung, ihre Anwendung oder ihren Gebrauch nicht einschränken. Es ist zu verstehen, dass in den Figuren durchgehend entsprechende Bezugszeichen auf gleiche oder entsprechende Teile und Merkmale hinweisen. Der hier verwendete Begriff Modul bezieht sich auf Verarbeitungsschaltkreise, die einen anwendungsspezifischen integrierten Schaltkreis (ASIC), einen elektronischen Schaltkreis, einen Prozessor (gemeinsam genutzt, dediziert oder gruppiert) und einen Speicher, der ein oder mehrere Software- oder Firmwareprogramme ausführt, eine kombinierte Logikschaltung und/oder andere geeignete Komponenten, die die beschriebene Funktionalität bereitstellen, umfassen können.
  • Entsprechend einer beispielhaften Ausführungsform zeigt 1 ein autonomes Fahrzeug 10 mit einem zugehörigen Bahnplanungssystem, das nach verschiedenen Ausführungsformen bei 100 dargestellt ist. In der Regel ermittelt das Trajektorienplanungssystem 100 einen Trajektorienplan für das automatisierte Fahren des autonomen Fahrzeugs 10. Das autonome Fahrzeug 10 besteht in der Regel aus einem Fahrgestell 12, einer Karosserie 14, den Vorderrädern 16 und den Hinterrädern 18. Der Aufbau 14 ist auf dem Fahrgestell 12 angeordnet und umschließt im Wesentlichen Komponenten des autonomen Fahrzeugs 10. Der Aufbau 14 und das Fahrgestell 12 können gemeinsam einen Rahmen bilden. Die Räder 16 und 18 sind jeweils in der Nähe der jeweiligen Aufbauecke 14 mit dem Fahrgestell 12 drehgekoppelt.
  • In verschiedenen Ausprägungen ist das Bahnbahnplanungssystem 100 in das autonome Fahrzeug 10 integriert. Das autonome Fahrzeug 10 ist z.B. ein automatisch gesteuertes Fahrzeug zur Beförderung von Fahrgästen von einem Ort zum anderen. Das autonome Fahrzeug 10 ist in der abgebildeten Ausführungsform als PKW dargestellt, aber es sollte geschätzt werden, dass auch jedes andere Fahrzeug, einschließlich Motorräder, LKWs, Sport Utility Vehicles (SUVs), Freizeitfahrzeuge (RVs), etc. verwendet werden kann. Auf verschiedenen Ebenen kann ein autonomes Fahrzeug den Fahrer durch eine Reihe von Methoden unterstützen, wie z.B. durch Warnsignale, die auf bevorstehende Risikosituationen hinweisen, durch Indikatoren, die das Situationsbewusstsein des Fahrers durch die Vorhersage der Bewegung anderer Agenten, die vor möglichen Kollisionen warnen, erhöhen, usw. Das autonome Fahrzeug verfügt über verschiedene Ebenen des Eingriffs oder der Steuerung des Fahrzeugs durch die gekoppelte assistive Fahrzeugsteuerung bis hin zur vollen Kontrolle aller Fahrzeugfunktionen. Das autonome Fahrzeug 10 ist in einer beispielhaften Ausführungsform ein sogenanntes Level-Vier- oder Level-Fünf-Automatisierungssystem. Ein Level-Vier-Automatisierungssystem weist auf eine „hohe Automatisierung“ hin, d. h. auf die fahrmodusabhängige Ausführung aller Aspekte der dynamischen Fahraufgabe durch ein automatisiertes Fahrsystem, selbst wenn ein menschlicher Fahrer nicht angemessen auf eine Aufforderung zum Eingreifen reagiert. Ein Level-Fünf-Automatisierungssystem bedeutet „Vollautomatisierung“ und bezieht sich auf die Vollzeitleistung eines automatisierten Fahrsystems in allen Aspekten der dynamischen Fahraufgabe unter allen Fahrbahn- und Umgebungsbedingungen, die von einem menschlichen Fahrer bewältigt werden können.
  • Wie gezeigt, umfasst das autonome Fahrzeug 10 im Allgemeinen ein Antriebssystem 20, ein Getriebesystem 22, ein Lenksystem 24, ein Bremssystem 26, ein Sensorsystem 28, ein Aktuatorsystem 30, einen kognitiven Prozessor 32 und mindestens ein Steuerung 34. Das Antriebssystem 20 kann in verschiedenen Ausführungsformen einen Verbrennungsmotor, eine elektrische Maschine wie z.B. einen Fahrmotor und/oder einen Brennstoffzellenantrieb umfassen. Das Getriebesystem 22 ist so eingerichtet, dass es die Leistung vom Antriebssystem 20 auf die Fahrzeugräder 16 und 18 entsprechend wählbarer Geschwindigkeitsverhältnisse überträgt. Je nach Ausführung kann das Getriebesystem 22 ein Stufenautomatikgetriebe, ein stufenloses Getriebe oder ein anderes geeignetes Getriebe umfassen. Das Bremssystem 26 ist so eingerichtet, dass es die Fahrzeugräder 16 und 18 mit Bremsmoment versorgt. Das Bremssystem 26 kann in verschiedenen Ausführungsformen Reibungsbremsen, Seilzugbremsen, ein regeneratives Bremssystem, wie z. B. eine elektrische Maschine, und/oder andere geeignete Bremssysteme umfassen. Das Lenksystem 24 beeinflusst eine Stellung der Fahrzeugräder 16 und 18. Obwohl zur Veranschaulichung ein Lenkrad dargestellt wird, kann es sein, dass die Lenkanlage 24 in einigen Ausführungsformen, die im Rahmen dieser Mitteilung in Betracht gezogen werden, kein Lenkrad enthält.
  • Das Sensorsystem 28 umfasst eine oder mehrere Sensoreinrichtungen 40a-40n, die die beobachtbaren Bedingungen der Außenumgebung und/oder der Innenumgebung des autonomen Fahrzeugs erfassen 10. Die Sensoren 40a-40n können unter anderem Radare, Lidare, globale Positionierungssysteme, optische Kameras, Wärmebildkameras, Ultraschallsensoren und/oder andere Sensoren umfassen. Die Sensoren 40a-40n erhalten Messungen oder Daten zu verschiedenen Objekten oder Agenten 50 in der Fahrzeugumgebung. Solche Agenten 50 können, sind aber nicht beschränkt auf andere Fahrzeuge, Fußgänger, Fahrräder, Motorräder, etc. sowie nicht bewegliche Gegenstände sein. Die Sensoren 40a-40n können auch Verkehrsdaten, wie z.B. Informationen über Ampeln und Schilder, etc. erfassen.
  • Das Aktuatorsystem 30 umfasst eine oder mehrere Aktuatorvorrichtungen 42a-42n, die ein oder mehrere Fahrzeugmerkmale wie z. B. das Antriebssystem 20, das Getriebesystem 22, das Lenksystem 24 und das Bremssystem 26 steuern, aber nicht darauf beschränkt sind. In verschiedenen Ausführungsformen können die Fahrzeugmerkmale darüber hinaus Innen- und/oder Außenmerkmale des Fahrzeugs umfassen, wie z. B. Türen, Kofferraum und Kabinenmerkmale wie Belüftung, Musik, Beleuchtung usw. (nicht nummeriert).
  • Die Steuerung 34 enthält mindestens einen Prozessor 44 und ein computerlesbares Speichergerät oder Medium 46. Der Prozessor 44 kann ein beliebiger kundenspezifischer oder handelsüblicher Prozessor, eine Zentraleinheit (CPU), eine Graphikverarbeitungseinheit (GPU), ein Hilfsprozessor unter mehreren der Steuerung 34 zugeordneten Prozessoren, ein Mikroprozessor auf Halbleiterbasis (in Form eines Mikrochips oder Chipsatzes), ein Makroprozessor, eine beliebige Kombination davon oder allgemein eine beliebige Vorrichtung zur Ausführung von Befehlen sein. Das computerlesbare Speichergerät oder der Datenträger 46 kann z. B. flüchtige und nichtflüchtige Speicherung in einem Nur-Lese-Speicher (ROM), einem Direktzugriffsspeicher (RAM) und einem Keep-Alive-Speicher (KAM) umfassen. KAM ist ein persistenter oder nichtflüchtiger Speicher, der zur Speicherung verschiedener Betriebsvariablen bei ausgeschaltetem Prozessor 44 verwendet werden kann. Das computerlesbare Speichermedium oder die computerlesbaren Speichermedien 46 können unter Verwendung einer beliebigen Anzahl bekannter Speichervorrichtungen wie PROMs (programmierbarer Festwertspeicher), EPROMs (elektrisches PROM), EEPROMs (elektrisch löschbares PROM), Flash-Speicher oder anderer elektrischer, magnetischer, optischer oder kombinierter Speichervorrichtungen zur Speicherung von Daten, von denen einige ausführbare Befehle darstellen, die von der Steuerung 34 zur Steuerung des autonomen Fahrzeugs 10 verwendet werden, implementiert werden.
  • Die Anweisungen können ein oder mehrere separate Programme enthalten, von denen jedes eine geordnete Auflistung ausführbarer Anweisungen zur Implementierung logischer Funktionen enthält. Die Befehle, wenn sie vom Prozessor 44 ausgeführt werden, empfangen und verarbeiten Signale vom Sensorsystem 28, führen Logik, Berechnungen, Methoden und/oder Algorithmen zur automatischen Steuerung der Komponenten des autonomen Fahrzeugs 10 aus und erzeugen Steuersignale an das Aktuatorsystem 30, um die Komponenten des autonomen Fahrzeugs 10 auf der Grundlage der Logik, Berechnungen, Methoden und/oder Algorithmen automatisch zu steuern.
  • Die Steuerung 34 steht weiterhin in Kommunikation mit dem kognitiven Prozessor 32. Der kognitive Prozessor 32 empfängt verschiedene Daten von der Steuerung 34 und von den Sensoreinrichtungen 40a-40n des Sensorsystems 28 und führt verschiedene Berechnungen durch, um der Steuerung 34 eine Trajektorie zu liefern, die die Steuerung 34 am autonomen Fahrzeug 10 über die eine oder mehrere Aktuatorvorrichtungen 42a-42n umsetzen kann. Eine detaillierte Diskussion des kognitiven Prozessors 32 wird in Bezug auf 2 gegeben.
  • 2 zeigt ein anschauliches Steuerungssystem 200 mit einem kognitiven Prozessor 32 integriert in ein autonomes Fahrzeug 10. In verschiedenen Ausführungsformen kann das autonome Fahrzeug 10 ein Fahrzeugsimulator sein, der verschiedene Fahrszenarien für das autonome Fahrzeug 10 simuliert und verschiedene Reaktionen des autonomen Fahrzeugs 10 auf die Szenarien simuliert.
  • Das autonome Fahrzeug 10 beinhaltet ein Datenerfassungssystem 204 (z.B. Sensoren 40a-40n aus 1). Das Datenerfassungssystem 204 erhält verschiedene Daten zur Bestimmung eines Zustandes des autonomen Fahrzeuges 10 und verschiedener Agenten in der Umgebung des autonomen Fahrzeuges 10. Zu diesen Daten gehören unter anderem kinematische Daten, Positions- oder Poseangaben usw. des autonomen Fahrzeugs 10 sowie Daten über andere Agenten, wie z. B. Reichweite, Relativgeschwindigkeit (Doppler), Höhe, Winkelposition usw. Das autonome Fahrzeug 10 enthält außerdem ein Sendemodul 206, das die erfassten Daten verpackt und die verpackten Daten an die Kommunikationsschnittstelle 208 des kognitiven Prozessors 32 sendet, wie unten beschrieben. Das autonome Fahrzeug 10 enthält weiterhin ein Empfangsmodul 202, das die Fahrbefehle vom kognitiven Prozessor 32 empfängt und die Befehle am autonomen Fahrzeug 10 ausführt, um das autonome Fahrzeug 10 zu navigieren. Der kognitive Prozessor 32 empfängt die Daten des autonomen Fahrzeugs 10, berechnet auf der Basis der bereitgestellten Zustandsinformationen und der hierin offengelegten Verfahren eine Trajektorie für das autonome Fahrzeug 10 und stellt die Trajektorie dem autonomen Fahrzeug 10 am Empfangsmodul 202 zur Verfügung. Das autonome Fahrzeug 10 setzt dann die vom kognitiven Prozessor 32 bereitgestellte Flugbahn um.
  • Der kognitive Prozessor 32 enthält verschiedene Module zur Kommunikation mit dem autonomen Fahrzeug 10, darunter ein Schnittstellenmodul 208 zum Empfang von Daten vom autonomen Fahrzeug 10 und einen Trajektorien-Sender 222 zum Senden von Anweisungen, wie z.B. einer Trajektorie zum autonomen Fahrzeug 10. Der kognitive Prozessor 32 enthält weiterhin einen Arbeitsspeicher 210, der verschiedene vom autonomen Fahrzeug 10 empfangene Daten sowie verschiedene Zwischenberechnungen des kognitiven Prozessors 32 speichert. Ein Hypothesizer-Modul (oder mehrere Hypothesizer-Module) 212 des kognitiven Prozessors 32 wird verwendet, um verschiedene hypothetische Trajektorien und Bewegungen eines oder mehrerer Agenten in der Umgebung des autonomen Fahrzeugs 10 unter Verwendung einer Vielzahl möglicher Vorhersagemethoden und Zustandsdaten, die im Arbeitsspeicher 210 gespeichert sind, vorzuschlagen. Ein Hypothesen-Resolver 214 des kognitiven Prozessors 32 empfängt die Vielzahl der hypothetischen Trajektorien für jeden Agenten in der Umgebung und bestimmt aus der Vielzahl der hypothetischen Trajektorien eine höchstwahrscheinliche Trajektorie für jeden Agenten.
  • Der kognitive Prozessor 32 enthält außerdem ein oder mehrere Entscheidungsmodule 216 und einen Entscheidungs-Resolver 218. Das/die Entscheidungsmodul(e) 216 erhält/erhalten vom Hypothesen-Resolver 214 die wahrscheinlichste Trajektorie für jeden Agenten in der Umgebung und berechnet eine Vielzahl von Kandidaten-Trajektorien und Verhaltensweisen für das autonome Fahrzeug 10 basierend auf den wahrscheinlichsten Agenten-Trajektorien. Jede der Vielzahl von Kandidaten Trajektorien und Verhaltensweisen wird dem Entscheidungs-Resolver 218 zur Verfügung gestellt. Der Entscheidungs-Resolver 218 wählt bzw. bestimmt aus den möglichen Trajektorien und Verhaltensweisen eine optimale bzw. gewünschte Trajektorie und ein gewünschtes Verhalten für das autonome Fahrzeug 10.
  • Der kognitive Prozessor 32 enthält außerdem einen Trajektorienplaner 220, der eine autonome Fahrzeugtrajektorie bestimmt, die dem autonomen Fahrzeug 10 zur Verfügung gestellt wird. Der Trajektorienplaner 220 erhält das Fahrzeugverhalten und die Trajektorie vom Entscheidungs-Resolver 218, eine optimale Hypothese für jeden Agenten 50 vom Hypothesen-Resolver 214 und die aktuellsten Umweltinformationen in Form von „Zustandsdaten“ zur Anpassung des Trajektorienplans. Dieser zusätzliche Schritt am Trajektorienplaner 220 stellt sicher, dass anomale Verarbeitungsverzögerungen bei der asynchronen Berechnung von Agentenhypothesen gegen die zuletzt gemessenen Daten des Datenerfassungssystems 204 geprüft werden. Dieser zusätzliche Schritt aktualisiert die optimale Hypothese entsprechend in der endgültigen Trajektorienberechnung im Trajektorienplaner 220.
  • Die ermittelte Fahrzeugtrajektorie wird vom Trajektorienplaner 220 dem Trajektorien-Sender 222 zur Verfügung gestellt, der eine Trajektoriennachricht an das autonome Fahrzeug 10 (z.B. an Steuerung 34) zur Implementierung am autonomen Fahrzeug 10 bereitstellt.
  • Der kognitive Prozessor 32 enthält außerdem einen Modulator 230, der verschiedene Grenzwerte und Schwellenwerte für das/die Hypothesenmodul(e) 212 und das/die Entscheidungsmodul(e) 216 steuert. Der Modulator 230 kann auch Änderungen an Parametern für den Hypothesen-Resolver 214 vornehmen, um zu beeinflussen, wie er das optimale Hypothesenobjekt für einen gegebenen Agenten 50, die Entscheider und den Entscheidungs-Resolver auswählt. Der Modulator 230 ist ein Diskriminator, der die Architektur anpassungsfähig macht. Der Modulator 230 kann sowohl die durchgeführten Berechnungen als auch das tatsächliche Ergebnis der deterministischen Berechnungen verändern, indem er die Parameter in den Algorithmen selbst verändert.
  • Ein Auswertemodul 232 des kognitiven Prozessors 32 berechnet und stellt dem kognitiven Prozessor Kontextinformationen zur Verfügung, einschließlich Fehlermaße, Hypothesen-Vertrauensmaße, Maße über die Komplexität der Umgebung und den Zustand des autonomen Fahrzeugs 10, Leistungsbewertung des autonomen Fahrzeugs 10 gegebene Umweltinformationen einschließlich Agentenhypothesen und autonome Fahrzeugbahn (entweder historisch oder zukünftig). Der Modulator 230 erhält Informationen vom Auswerter 232, um Änderungen der Verarbeitungsparameter für die Hypothesen 212, den Hypothesen-Resolver 214, die Entscheider 216 und die Schwellenwert-Entscheidungsauflösungsparameter für den Entscheidungs-Resolver 218 zu berechnen. Eine virtuelle Steuerung 224 implementiert die Trajektoriennachricht und bestimmt eine Feedforward-Trajektorie verschiedener Agenten 50 in Erwiderung auf die Trajektorie.
  • Die Modulation erfolgt in Erwiderung auf die vom Auswertemodul 232 gemessene Unsicherheit. In einer Ausführungsform erhält der Modulator 230 Konfidenzniveaus, die mit Hypothesenobjekten verbunden sind. Diese Konfidenzniveaus können von den Hypothesenobjekten zu einem einzigen Zeitpunkt oder über ein ausgewähltes Zeitfenster gesammelt werden. Das Zeitfenster kann variabel sein. Das Auswertemodul 232 bestimmt die Entropie der Verteilung dieser Konfidenzniveaus. Zusätzlich können im Auswertemodul 232 auch historische Fehlermaße an Hypothesenobjekten gesammelt und ausgewertet werden.
    Diese Arten von Bewertungen dienen als interner Kontext und als Maß für die Unsicherheit des kognitiven Prozessors 32. Diese kontextuellen Signale des Auswertemoduls 232 werden für den Hypothesen-Resolver 214, den Entscheidungs-Resolver 218 und den Modulator 230 verwendet, die auf der Grundlage der Berechnungsergebnisse Parameter für die Hypothesenmodule 212 ändern können.
  • Die verschiedenen Module des kognitiven Prozessors 32 arbeiten unabhängig voneinander und werden mit individuellen Aktualisierungsraten aktualisiert (in 2 z.B. durch LCM-Hz, h-Hz, d-Hz, e-Hz, m-Hz, t-Hz gekennzeichnet).
  • Im Betrieb empfängt die Schnittstellenbaugruppe 208 des kognitiven Prozessors 32 die gepackten Daten von der Sendebaugruppe 206 des autonomen Fahrzeugs 10 an einem Datenempfänger 208a und parst die empfangenen Daten an einem Datenparser 208b. Der Datenparser 208b platziert die Daten in ein Datenformat, hier als Eigenschaftstasche bezeichnet, das im Arbeitsspeicher 210 gespeichert und von den verschiedenen Hypothesenmodulen 212, Entscheidungsmodulen 216 usw. des kognitiven Prozessors 32 verwendet werden kann. Die besondere Klassenstruktur dieser Datenformate sollte nicht als Einschränkung der Erfindung angesehen werden.
  • Der Arbeitsspeicher 210 extrahiert während eines konfigurierbaren Zeitfensters die Informationen aus der Sammlung von Eigenschaftstaschen, um Momentaufnahmen des autonomen Fahrzeugs und verschiedener Agenten zu erstellen. Diese Momentaufnahmen werden mit einer festen Frequenz veröffentlicht und an abonnierende Module weitergegeben. Die vom Arbeitsspeicher 210 aus den Eigenschaftstaschen erzeugte Datenstruktur ist eine „State“-Datenstruktur, die nach Zeitstempel geordnete Informationen enthält. Eine Sequenz von generierten Momentaufnahmen umfasst daher dynamische Zustandsinformationen für ein anderes Fahrzeug oder einen anderen Agenten. Eigenschaftstaschen innerhalb einer ausgewählten Zustandsdatenstruktur enthalten Informationen über Objekte, wie z.B. andere Agenten, das autonome Fahrzeug, Routeninformationen, etc. Die Eigenschaftentasche für ein Objekt enthält detaillierte Informationen über das Objekt, wie z.B. die Position des Objekts, die Geschwindigkeit, den Kurswinkel usw. Diese Zustandsdatenstruktur fließt durch den Rest des kognitiven Prozessors 32 für Berechnungen. Zustandsdaten können sich sowohl auf autonome Fahrzeugzustände als auch auf Agentenzustände etc. beziehen.
  • Das/die Hypothesizer-Modul(e) 212 holt Zustandsdaten aus dem Arbeitsspeicher 210, um mögliche Ergebnisse der Agenten in der lokalen Umgebung über einen ausgewählten Zeitrahmen oder Zeitschritt zu berechnen. Alternativ kann der Arbeitsspeicher 210 Zustandsdaten an das/die Hypothesizer-Modul(e) 212 übergeben. Das (die) Hypothesenmodul(e) 212 kann (können) mehrere Hypothesenmodule enthalten, wobei jedes der mehreren Hypothesenmodule ein anderes Verfahren oder Technik zur Bestimmung des möglichen Ergebnisses des (der) Agenten verwendet. Ein Hypothesizer-Modul kann ein mögliches Ergebnis mit Hilfe eines kinematischen Modells bestimmen, das die grundlegenden physikalischen und mechanischen Eigenschaften der Daten im Arbeitsspeicher 210 anwendet, um einen späteren Zustand jedes Agenten 50 vorherzusagen. Andere Hypothesizer-Module können einen nachfolgenden Zustand jedes Agenten 50 vorhersagen, indem sie z.B. einen kinematischen Regressionsbaum auf die Daten anwenden, ein Gaussian Mixture Model/Markovian mixture model (GMM-HMM) auf die Daten anwenden, ein rekursives neuronales Netz (RNN) auf die Daten anwenden, andere maschinelle Lernprozesse durchführen, logikbasiertes Schließen auf die Daten anwenden, etc. Die Hypothesizermodule 212 sind modulare Komponenten des kognitiven Prozessors 32 und können dem kognitiven Prozessor 32 beliebig hinzugefügt oder entfernt werden.
  • Jedes Hypothesenmodul 212 enthält eine Hypothesenklasse zur Vorhersage des Agentenverhaltens. Die Hypothesenklasse umfasst Beschreibungen für Hypothesenobjekte und eine Reihe von Algorithmen. Nach dem Aufruf wird ein Hypothesenobjekt für einen Agenten aus der Hypothesenklasse erstellt. Das Hypothesenobjekt hält sich an die Vorgaben der Hypothesenklasse und verwendet die Algorithmen der Hypothesenklasse. Eine Vielzahl von Hypothesenobjekten kann parallel zueinander betrieben werden. Jedes Hypothesenmodul 212 erstellt für jeden Agenten 50 eine eigene Vorhersage auf der Basis der aktuellen Arbeitsdaten und sendet die Vorhersage zum Speichern und zur zukünftigen Verwendung an den Arbeitsspeicher 210 zurück. Wenn dem Arbeitsspeicher 210 neue Daten zur Verfügung gestellt werden, aktualisiert jedes Hypothesenmodul 212 seine Hypothese und schiebt die aktualisierte Hypothese zurück in den Arbeitsspeicher 210. Jedes Hypothesenmodul 212 kann seine Hypothese mit einer eigenen Aktualisierungsrate (z.B. Rate h-Hz) aktualisieren. Jedes Hypothesenmodul 212 kann einzeln als Abonnementdienst fungieren, von dem aus seine aktualisierte Hypothese in die entsprechenden Module geschoben wird.
  • Jedes von einem Hypothesenmodul 212 erzeugte Hypothesenobjekt ist eine Vorhersage in Form einer Zustandsdatenstruktur für einen Zeitvektor, für definierte Entitäten wie Ort, Geschwindigkeit, Richtung etc. In einer Ausführungsform kann das/die Hypothesizer-Modul(e) 212 ein Kollisionserkennungsmodul enthalten, das den vorausschauenden Informationsfluss in Bezug auf Vorhersagen verändern kann. Insbesondere, wenn ein Hypothesizer-Modul 212 eine Kollision von zwei Agenten 50 vorhersagt, kann ein weiteres Hypothesizer-Modul aufgerufen werden, um Anpassungen am Hypothesenobjekt vorzunehmen, um die erwartete Kollision zu berücksichtigen oder um ein Warn-Flag an andere Module zu senden, um zu versuchen, das gefährliche Szenario zu mildern oder das Verhalten zu ändern, um das gefährliche Szenario zu vermeiden.
  • Für jeden Agenten 50 erhält der Hypothesen-Resolver 118 die relevanten Hypothesenobjekte und wählt aus den Hypothesenobjekten ein einzelnes Hypothesenobjekt aus. In einer Ausführungsform ruft der Hypothesen-Resolver 118 ein einfaches Auswahlverfahren auf. Alternativ kann der Hypothesen-Resolver 118 einen Verschmelzungsprozess der verschiedenen Hypothesenobjekte aufrufen, um ein hybrides Hypothesenobjekt zu erzeugen.
  • Da die Architektur des kognitiven Prozessors asynchron ist, erhalten der Hypothesen-Resolver 118 und die nachgeschalteten Entscheidungsmodule 216 das Hypothesenobjekt von diesem spezifischen Hypothesenmodul zu einem frühestmöglichen Zeitpunkt durch einen Subskriptionspush-Prozess, wenn eine als Hypothesenobjekt implementierte Rechenmethode länger dauert. Zeitstempel, die mit einem Hypothesenobjekt verbunden sind, informieren die nachgeschalteten Module über den relevanten Zeitrahmen für das Hypothesenobjekt und ermöglichen die Synchronisation mit Hypothesenobjekten und/oder Zustandsdaten aus anderen Modulen. Die Zeitspanne, für die die Vorhersage des Hypothesenobjektes gilt, ist also modulübergreifend zeitlich ausgerichtet.
  • Wenn z.B. ein Entscheidungsmodul 216 ein Hypothesenobjekt erhält, vergleicht das Entscheidungsmodul 216 den Zeitstempel des Hypothesenobjekts mit einem Zeitstempel für die neuesten Daten (d.h. Geschwindigkeit, Position, Kurs usw.) des autonomen Fahrzeugs 10. Wird der Zeitstempel des Hypothesenobjektes als zu alt angesehen (z.B. Vordatierung der autonomen Fahrzeugdaten durch ein ausgewähltes Zeitkriterium), kann das Hypothesenobjekt solange vernachlässigt werden, bis ein aktualisiertes Hypothesenobjekt empfangen wird. Aktualisierungen auf Basis der neuesten Informationen werden ebenfalls vom Trajektorienplaner 220 durchgeführt.
  • Das/die Entscheidungsmodul(e) 216 umfasst/umfassen Module, die verschiedene Entscheidungskandidaten in Form von Trajektorien und Verhaltensweisen für das autonome Fahrzeug erzeugen 10. Das/die Entscheidungsmodul(e) 216 erhält/erhalten vom Hypothesen-Resolver 214 für jeden Agenten 50 eine Hypothese und verwendet diese Hypothesen und eine nominale Zieltrajektorie für das autonome Fahrzeug 10 als Nebenbedingungen. Das (die) Entscheidungsmodul (e) 216 kann (können) mehrere Entscheidungsmodule umfassen, wobei jedes der mehreren Entscheidungsmodule eine andere Methode oder Technik zur Bestimmung einer möglichen Flugbahn oder eines möglichen Verhaltens für das autonome Fahrzeug verwendet 10. Jedes Entscheidungsmodul kann asynchron arbeiten und erhält verschiedene Eingangszustände aus dem Arbeitsspeicher 212, wie z.B. die vom Hypothesen-Resolver 214 erzeugte Hypothese. Das/die Entscheidungsmodul(e) 216 sind modulare Komponenten und können dem kognitiven Prozessor 32 beliebig hinzugefügt oder entfernt werden. Jedes Entscheidungsmodul 216 kann seine Entscheidungen mit seiner eigenen Aktualisierungsrate (z.B. Rate d-Hz) aktualisieren.
  • Ähnlich wie ein Hypothesizer-Modul 212 enthält ein Entscheidungsmodul 216 eine Entscheidungs-Klasse zur Vorhersage einer autonomen Fahrzeugbahn und/oder eines autonomen Verhaltens. Die Entscheidungs-Klasse umfasst Spezifikationen für Entscheidungs-Objekte und eine Reihe von Algorithmen. Nach dem Aufruf wird ein Entscheidungs-Objekt für einen Agenten 50 aus der Entscheidungs-Klasse erzeugt. Das Entscheidungs-Objekt hält sich an die Spezifikationen der Entscheidungs-Klasse und verwendet den Algorithmus der Entscheidungs-Klasse. Es können mehrere Entscheidungs-Objekte parallel zueinander betrieben werden.
  • Der Entscheidungs-Resolver 218 empfängt die verschiedenen Entscheidungen, die von einem oder mehreren Entscheidungsmodulen generiert werden, und erzeugt ein einziges Trajekt und Verhaltensobjekt für das autonome Fahrzeug 10. Der Entscheidungs-Resolver kann auch verschiedene Kontextinformationen von den Auswertemodulen 232 erhalten, wobei die Kontextinformationen zur Erzeugung des Trajektorien- und Verhaltensobjekts verwendet werden.
  • Der Trajektorienplaner 220 erhält vom Entscheidungs-Resolver 218 die Trajektorien- und Verhaltensobjekte zusammen mit dem Zustand des autonomen Fahrzeugs 10. Der Trajektorienplaner 220 erzeugt dann eine Trajektorien-Nachricht, die dem Trajektorien-Sender 222 zur Verfügung gestellt wird. Der Traj ektorien-Sender 222 stellt die Trajektorien-Nachricht dem autonomen Fahrzeug 10 zur Implementierung am autonomen Fahrzeug 10 zur Verfügung, wobei ein für die Kommunikation mit dem autonomen Fahrzeug 10 geeignetes Format verwendet wird.
  • Der Trajektorien-Sender 222 sendet die Trajektorien-Nachricht auch an die virtuelle Steuerung 224. Die virtuelle Steuerung 224 stellt Daten in einer Feed-Forward-Schleife für den kognitiven Prozessor 32 bereit. Die an das/die Hypothesizer-Modul(e) 212 gesendete Flugbahn wird in den nachfolgenden Berechnungen durch die virtuelle Steuerung 224 verfeinert, um eine Reihe zukünftiger Zustände des autonomen Fahrzeugs 10 zu simulieren, die sich aus dem Versuch, der Flugbahn zu folgen, ergeben. Diese zukünftigen Zustände werden von dem/den Hypothesizer-Modul(en) 212 verwendet, um Feed-Forward-Vorhersagen durchzuführen.
  • Verschiedene Aspekte des kognitiven Prozessors 32 liefern Rückkopplungsschleifen. Eine erste Rückkopplungsschleife wird von der virtuellen Steuerung 224 bereitgestellt. Die virtuelle Steuerung 224 simuliert eine Operation des autonomen Fahrzeugs 10 auf der Grundlage der vorgegebenen Flugbahn und bestimmt oder prognostiziert zukünftige Zustände, die jeder Agent 50 in Erwiderung auf die vom autonomen Fahrzeug 10 genommene Flugbahn einnimmt. Diese zukünftigen Zustände der Agenten können den Hypothesizer-Modulen als Teil der ersten Rückkopplungsschleife zur Verfügung gestellt werden.
  • Eine zweite Rückkopplungsschleife entsteht, weil verschiedene Module historische Informationen in ihren Berechnungen verwenden, um Parameter zu lernen und zu aktualisieren. Das/die Hypothesizer-Modul(e) 212 kann/können z. B. eigene Puffer implementieren, um historische Zustandsdaten zu speichern, unabhängig davon, ob die Zustandsdaten aus einer Beobachtung oder aus einer Vorhersage stammen (z. B. von der virtuellen Steuerung 224). In einem Hypothesizer-Modul 212, das einen kinematischen Regressionsbaum verwendet, werden zum Beispiel historische Beobachtungsdaten für jeden Agenten für mehrere Sekunden gespeichert und in der Berechnung für Zustandsvorhersagen verwendet.
  • Der Hypothesen-Resolver 214 hat auch Rückkopplungen in seinem Design, da er auch historische Informationen für Berechnungen nutzt. In diesem Fall werden historische Informationen über die Beobachtungen verwendet, um Prädiktionsfehler in der Zeit zu berechnen und um die Parameter der Hypothesenauflösung mit Hilfe der Prädiktionsfehler anzupassen. Ein Schiebefenster kann zur Auswahl der historischen Informationen verwendet werden, die zur Berechnung von Vorhersagefehlern und zum Lernen von Hypothesenauflösungsparametern verwendet werden. Für kurzfristiges Lernen regelt das Schiebefenster die Aktualisierungsrate der Parameter des Hypothesen-Resolvers 214. Über größere Zeitskalen können die Vorhersagefehler während einer ausgewählten Episode (z.B. einer Linksdreh-Episode) aggregiert und zur Aktualisierung der Parameter nach der Episode verwendet werden.
  • Der Entscheidungs-Resolver 218 nutzt auch historische Informationen für Rückführungsberechnungen. Historische Informationen über das Verhalten der autonomen Fahrzeugtrajektorien werden verwendet, um optimale Entscheidungen zu berechnen und die Entscheidungsauflösungsparameter entsprechend anzupassen. Dieses Lernen kann am Entscheidungs-Resolver 218 auf mehreren Zeitskalen erfolgen. In kürzester Zeit werden mit den Auswertemodulen 232 kontinuierlich Informationen über die Leistung berechnet und an den Entscheidungs-Resolver 218 zurückgegeben. So kann ein Algorithmus verwendet werden, um Informationen über die Leistung einer Trajektorie zu liefern, die von einem Entscheidungsmodul auf der Grundlage mehrerer Metriken sowie anderer Kontextinformationen bereitgestellt werden.
  • Diese Kontextinformationen können als Belohnungssignal in Reinforcement Learning Prozessen für den Betrieb des Entscheidungs-Resolver 218 über verschiedene Zeitskalen hinweg genutzt werden. Die Rückmeldung kann asynchron zum Entscheidungs-Resolver 218 erfolgen, und der Entscheidungs-Resolver 218 kann sich bei Erhalt der Rückmeldung anpassen.
  • 3 zeigt eine schematische Darstellung eines episodischen Speichersubsystems 300, das für den Einsatz mit dem kognitiven Prozessor 32 geeignet ist. Das episodische Speichersubsystem 300 kann als Hypothesizer 212 des kognitiven Prozessors 32 verwendet werden, kann aber auch in anderen Modulen des kognitiven Prozessors 32 in alternativen Ausführungsformen eingesetzt werden. Das episodische Speichersubsystem 300 umfasst einen episodischen Speicher 302, eine Hyper-Assoziations-Steuerung 304 und einen Modulator 306.
  • Das Subsystem 300 dient dazu, eine aktuelle Episode (hier als „Teilpräfix“ bezeichnet) zu empfangen und eine im Episodenspeicher 302 gespeicherte Episode als Hypothesenepisode auszugeben, die im kognitiven Prozessor 32 zu Navigationszwecken verwendet werden kann. Der episodische Speicher 302 speichert eine Vielzahl von Episoden, die während des Betriebs des Fahrzeugs 10. Eine Episode ist eine beobachtete räumlich-zeitliche Datenfolge von Objekten innerhalb einer Szene. Ein Teilpräfix 310 wird im episodischen Speicher empfangen, um die im episodischen Speicher 302 gespeicherten Episoden abzurufen. Das Teilpräfix 310 ist eine räumlich-zeitliche Datenfolge, die aktuell während der Fahrt am Fahrzeug abgerufen wurde. Das Teilpräfix 310 wird verwendet, um den Abrufvorgang am episodischen Speicher 302 zu initiieren, um Episodenkandidaten abzurufen. Die im episodischen Speicher 302 gespeicherten Episoden werden mit dem Teilpräfix 310 verglichen, und diejenigen Episoden, die mit dem Teilpräfix zu einer ausgewählten Menge übereinstimmen, werden als Episodenkandidaten abgerufen.
  • Die Episodenkandidaten werden dem Hyper-Assoziationssteuerung 304 zur Verfügung gestellt. Die Hyper-Assoziations-Steuerung 304 vergleicht jeden Kandidaten mit dem Teilpräfix, um eine Zwischenepisode zu bestimmen, die zur Erzeugung einer endgültigen Übermengen-Episode 314 verwendet werden kann, die dem kognitiven Prozessor 32 als Hypothesen-Episode zur Verfügung gestellt werden kann. Aufgrund der Komplexität eines räumlich-zeitlichen Datenstroms ist es unwahrscheinlich, dass das Teilpräfix 310 exakt mit einem bestimmten Episodenkandidaten übereinstimmt. Die Zuordnung des Teilpräfixes 310 zum Episodenkandidaten beinhaltet daher die Definition eines Metrischen oder Ähnlichkeitsmaßes und eines Auswahlkriteriums auf Basis des Metrischen oder Ähnlichkeitsmaßes. In verschiedenen Ausführungsformen kann die Metrik eine L2-Norm sein. Mit dem Modulator 306 kann ein Auswahlkriterium geliefert werden. Jede Kandidatenepisode wird nach dem Grad der Übereinstimmung des Kandidaten mit dem Teilpräfix 310 (d.h. einer Größe der Metrik) gereiht. Ein Kandidat mit der kleinsten Metrik (oder der höchsten Ähnlichkeit) kann als mittlere Übermengen-Episode 312 ausgewählt werden.
  • Wenn keiner der zurückgerufenen Episodenkandidaten das Kriterium erfüllt, kann das Hyper-Assoziationsmodul 304 die Episodenkandidaten nacheinander kombinieren, um die mittlere Übermengen-Episode 312 zu erzeugen. Die Kandidaten können in der Reihenfolge von den ähnlichsten bis zu den am wenigsten ähnlichen kombiniert werden. Die mittlere Übermengen-Episode 312 kann dann dem episodischen Speicher wieder zur Verfügung gestellt werden. Im episodischen Speicher wird die Zwischensequenz 312 verwendet, um einen weiteren Abruf von Episoden auszulösen. Die Zwischenepisode 312 erinnert an eine Episode, die am kognitiven Prozessor 32 als Hypothesenepisode verwendet werden kann.
  • Wenn die mittlere Übermengen-Episode 312 mehr als eine Episode abruft, können diese Episoden dem Hyper-Assoziationsmodul 304 als Episodenkandidaten zur Verfügung gestellt werden. Der Episodenspeicher 302 und das Hyper-Assoziationsmodul 304 bilden daher eine Rückkopplungsschleife, die so lange durchgeschleift werden kann, bis eine einzelne Episode aus dem Episodenspeicher 302 als Hypotheseepisode abgerufen wird.
  • In verschiedenen Ausführungsformen kann das partielle Präfix nach der Erstellung der Hypothesenepisode im episodischen Speicher gespeichert werden, um als gespeicherte Episode zu dienen.
  • Die hier vorgestellten Verfahren zur Erstellung einer Hypothesenfolge haben den Vorteil, mit verschiedenen Trainingssets zu arbeiten. Normalerweise ist ein Trainingssatz von Episoden kein vollständiger Satz, das alle möglichen Episoden für eine sinnvolle Anwendung enthält. Ein kompletter Trainingssatz von Episoden kann auf Kosten der hohen Speicheranforderungen bereitgestellt werden. Darüber hinaus kann auch ein kompletter Trainingssatz unvollständig werden, wenn sich das Fahrumfeld ändert. Die hier vorgestellten Methoden sind in der Lage, auch mit einem unvollständigen Trainingssatz von Episoden effektiv zu arbeiten.
  • Der episodische Speicher 302 enthält eine kollektive hashbasierte Ereignisdatenbank, die den Speicherbedarf für die Episoden reduziert, indem die gleichen Ereignisse zwischen den Episoden gemeinsam genutzt werden. Die Ereignisse der gespeicherten Episoden werden von ihren Episoden getrennt und in eine gemeinsame Ereignisdatenbank gestellt, wenn sie nicht in der Datenbank existieren.
  • Wenn die gleichen Ereignisse in der Datenbank gefunden werden, werden diese Ereignisse gemeinsam genutzt. Mehrere Episoden teilen sich die gleichen Ereignisse in der Datenbank, anstatt ihre eigenen Instanzen in sich zu behalten. Auch wenn ein Ereignis mehrmals in einer Episode auftritt, teilt sich die Episode das gleiche Ereignis in der Datenbank, anstatt die gleichen mehreren Instanzen in sich zu behalten.
  • Eine Hash-Funktion kann verwendet werden, um den Zugriff auf Ereignisse in der hashbasierten Ereignisdatenbank zu erleichtern. Eine geeignete Hash-Funktion kann Hash-Tasten den entsprechenden Ereignissen oder einigen wenigen Kandidaten-Ereignissen zuordnen, um die erforderliche Anzahl von Vergleichen zu reduzieren, bis die passenden Ereignisse gefunden sind.
  • Eine gemeinsame Struktur der gespeicherten Episoden in Form eines Ereignis-Sequenz-Graphen reduziert die Abrufzeit für die passenden Episoden mit einem Teilpräfix. Wenn mehrere Episoden viele gemeinsame Ereignisse in ihren Sequenzen haben, teilen sie sich den gleichen Hauptpfad im Graphen, verzweigen zu alternativen Pfaden, wenn sie auf verschiedene Ereignissegmente treffen, und verschmelzen wieder mit dem Hauptpfad, wenn sie ein gemeinsames Ereignis haben. Diese gemeinsamen Knoten stellen Ereignisse in mehreren Episoden dar. Der Vergleich der Ereignisse im Teilpräfix mit den Sharing-Knoten hat den gleichen Effekt wie der Vergleich des Teilpräfixes mit den mehreren Episoden, die sich die Knoten teilen.
  • Während die vorstehende Offenbarung unter Bezugnahme auf beispielhafte Ausführungsformen beschrieben wurde, wird es von den Fachleuten verstanden, dass verschiedene Änderungen vorgenommen werden können und Elemente davon durch Äquivalente ersetzt werden können, ohne dass der Geltungsbereich verlassen wird. Darüber hinaus können viele Änderungen vorgenommen werden, um eine bestimmte Situation oder ein bestimmtes Material an die Lehren der Offenbarung anzupassen, ohne von deren wesentlichem Umfang abzuweichen. Es ist daher beabsichtigt, dass sich die vorliegende Offenbarung nicht auf die einzelnen offenbarten Ausführungsformen beschränkt, sondern alle Ausführungsformen umfasst, die in den Geltungsbereich dieser Ausführungsform fallen.

Claims (10)

  1. Ein Verfahren zum Betreiben eines autonomen Fahrzeugs, umfassend: Erhalten einer Teilpräfix am autonomen Fahrzeug; Abrufen einer Vielzahl von Kandidatenepisoden aus einem episodischen Speicher, der dem autonomen Fahrzeug zugeordnet ist, in Erwiderung auf das Empfangen des Teilpräfixes am episodischen Speicher; Vergleichen, an einem mit dem autonomen Fahrzeug verbundenen Hyper-Assoziationsmodul, jeder der Kandidatenepisoden mit dem Teilpräfix, um eine Zwischenepisode zu erhalten; Auswählen, basierend auf der Zwischenepisode, einer Hypothesenepisode; und Navigieren, basierend auf der Hypothesenepisode, des autonomen Fahrzeugs.
  2. Das Verfahren nach Anspruch 1, ferner umfassend das Verwenden der Zwischenepisode als Hinweis eine Episode aus dem episodischen Speicher als Hypothesenepisode abzurufen.
  3. Das Verfahren nach Anspruch 2, wobei die Zwischenepisode mehr als einen Kandidaten aus dem Episodenspeicher abruft, ferner umfassend das Bereitstellen der durch die Zwischenepisode abgerufenen Kandidaten an das Hyper-Assoziationsmodul.
  4. Das Verfahren nach Anspruch 1, wobei das Hyper-Assoziationsmodul eine Metrik zwischen dem Teilpräfix und jeder Kandidatenepisode anwendet, um eine Ähnlichkeit zwischen dem Teilpräfix und der Kandidatenepisode zu bestimmen.
  5. Das Verfahren nach Anspruch 4, wobei das Hyper-Assoziationsmodul einen Kandidaten aus der Vielzahl der Kandidatenepisoden mit der kleinsten Metrik als Zwischenepisode auswählt.
  6. Das Verfahren nach Anspruch 4, wobei das Hyper-Assoziationsmodul zumindest einige der Vielzahl von Kandidaten kombiniert, um die Zwischenepisode zu bilden, wenn keine der Metriken für die Vielzahl von Kandidaten ein ausgewähltes Kriterium erfüllt.
  7. Ein System zum Betreiben eines autonomen Fahrzeugs, umfassend: einen episodischen Speicher zum Speichern einer Vielzahl von Episoden und zum Abrufen einer Vielzahl von Kandidatenepisoden in Erwiderung auf das Empfangen eines Teilpräfixes und zum Abrufen einer Hypothesenepisode in Erwiderung auf das Empfangen einer Zwischenepisode; ein Hyper-Assoziationsmodul, das eingerichtet ist, die Vielzahl von Kandidatenepisoden aus dem episodischen Speicher zu empfang und die Zwischenepisode aus der Vielzahl von Kandidatenepisoden zu erhalten; und ein Navigationssystem, das eingerichtet ist, das autonome Fahrzeug basierend auf der Hypothesenepisode zu navigieren.
  8. Das System nach Anspruch 7, wobei das Hyper-Assoziationsmodul eine Metrik zwischen dem Teilpräfix und jeder der mehreren Kandidatenepisoden anwendet.
  9. Das System nach Anspruch 8, wobei das Hyper-Assoziationsmodul eine Kandidatenepisode aus der Vielzahl der Kandidatenepisoden mit der kleinsten Metrik als die Zwischenepisode auswählt.
  10. Das System nach Anspruch 8, wobei das Hyper-Assoziationsmodul zumindest einige der Vielzahl der Kandidatenepisoden zur Bildung der Zwischenepisode kombiniert.
DE102020103754.6A 2019-03-26 2020-02-13 Hyper-assoziation im episodenspeicher Pending DE102020103754A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/365,517 2019-03-26
US16/365,517 US11320820B2 (en) 2019-03-26 2019-03-26 Hyperassociation in episode memory

Publications (1)

Publication Number Publication Date
DE102020103754A1 true DE102020103754A1 (de) 2020-10-01

Family

ID=72605758

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020103754.6A Pending DE102020103754A1 (de) 2019-03-26 2020-02-13 Hyper-assoziation im episodenspeicher

Country Status (3)

Country Link
US (1) US11320820B2 (de)
CN (1) CN111752265B (de)
DE (1) DE102020103754A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4081910A4 (de) * 2019-12-24 2024-01-10 Consilient Labs Inc Episodische speicher, dateningest- und abfragesysteme dafür, einschliesslich beispielen für autonome intelligente agenten
US20220308581A1 (en) * 2021-03-23 2022-09-29 Honda Motor Co., Ltd. System and method for completing continual multi-agent trajectory forecasting

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003118484A (ja) * 2001-10-09 2003-04-23 Mitsubishi Motors Corp 車両用左右確認装置
DE102004028763A1 (de) * 2004-06-16 2006-01-19 Daimlerchrysler Ag Andockassistent
DE102015224338B4 (de) * 2015-12-04 2021-10-28 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung in einem Kraftfahrzeug zum automatisierten Fahren
CN106529466B (zh) * 2016-11-03 2019-04-30 中国兵器工业计算机应用技术研究所 一种基于仿生眼的无人驾驶车辆路径规划方法及系统
CN106371445B (zh) * 2016-11-17 2019-05-14 浙江大学 一种基于拓扑地图的无人车规划控制方法
US10896202B2 (en) * 2017-01-26 2021-01-19 Hrl Laboratories, Llc Scalable and efficient episodic memory in cognitive processing for automated systems
CN107193279A (zh) * 2017-05-09 2017-09-22 复旦大学 基于单目视觉和imu信息的机器人定位与地图构建系统
CN107300917B (zh) * 2017-05-23 2019-07-09 北京理工大学 一种基于分层架构的视觉slam后端优化方法
CN108803623B (zh) * 2017-10-22 2021-12-21 深圳瑞尔图像技术有限公司 一种自动驾驶车辆个性化行车的方法和行车合法化的系统
US10031526B1 (en) * 2017-07-03 2018-07-24 Baidu Usa Llc Vision-based driving scenario generator for autonomous driving simulation
US10402687B2 (en) * 2017-07-05 2019-09-03 Perceptive Automata, Inc. System and method of predicting human interaction with vehicles
US11003183B2 (en) * 2017-09-13 2021-05-11 Baidu Usa Llc Driving scene based path planning for autonomous driving vehicles
US10019011B1 (en) * 2017-10-09 2018-07-10 Uber Technologies, Inc. Autonomous vehicles featuring machine-learned yield model
CN108133484B (zh) * 2017-12-22 2022-01-28 北京奇虎科技有限公司 基于场景分割的自动驾驶处理方法及装置、计算设备
CN109186616B (zh) * 2018-09-20 2020-04-07 禾多科技(北京)有限公司 基于高精度地图和场景检索的车道线辅助定位方法
CN109492074A (zh) * 2018-11-22 2019-03-19 广州小鹏汽车科技有限公司 基于天气信息的智能问候方法、系统、存储介质及汽车
US20190126921A1 (en) * 2018-12-20 2019-05-02 Intel Corporation Computer-assisted or autonomous driving method and apparatus with consideration for travelers' intent
US20200249674A1 (en) * 2019-02-05 2020-08-06 Nvidia Corporation Combined prediction and path planning for autonomous objects using neural networks
US11579629B2 (en) * 2019-03-15 2023-02-14 Nvidia Corporation Temporal information prediction in autonomous machine applications
JP6976280B2 (ja) * 2019-03-28 2021-12-08 本田技研工業株式会社 車両制御装置、車両制御方法、及びプログラム

Also Published As

Publication number Publication date
CN111752265A (zh) 2020-10-09
CN111752265B (zh) 2024-04-05
US20200310423A1 (en) 2020-10-01
US11320820B2 (en) 2022-05-03

Similar Documents

Publication Publication Date Title
DE102018121595B4 (de) Unbeaufsichtigtes anlernen von agenten für autonome fahranwendungen
DE102018120845B4 (de) Verfahren und Vorrichtung zum Überwachen eines autonomen Fahrzeugs
DE102019104974A1 (de) Verfahren sowie System zum Bestimmen eines Fahrmanövers
DE102019102173A1 (de) Verwaltung der automatisierten fahrkomplexität des vorausliegenden fahrweges unter verwendung des wahrnehmungssystems
DE102018133576A1 (de) Trajektorienplaner mit dynamischem kostenlernen für autonomes fahren
DE102016211180A1 (de) Verfahren und Vorrichtung zum Durchführen einer automatisierten Fahrt eines Fahrzeugs
DE102016200513A1 (de) Verfahren und Vorrichtung zum Betreiben eines Kraftfahrzeuges
DE102015103410A1 (de) Nachrichtenübermittlung über fahrzeuglenkrad
DE102017217444B4 (de) Verfahren und System zum Aktualisieren eines Steuerungsmodells für eine automatische Steuerung zumindest einer mobilen Einheit
DE102014205391A1 (de) Vorrichtung zur Vorhersage von Fahrzustandsübergängen
DE102019108644A1 (de) Verfahren und vorrichtung zum automatischen lernen von regeln für autonomes fahren
DE102019217393A1 (de) Verfahren zum Betreiben einer autonomen Fahrfunktion eines Fahrzeugs
DE102020103754A1 (de) Hyper-assoziation im episodenspeicher
EP3695192A1 (de) Verfahren zur kartierung eines streckenabschnitts
WO2019215222A1 (de) Verfahren zum betreiben eines kraftfahrzeugs zur verbesserung von arbeitsbedingungen von auswerteeinheiten des kraftfahrzeugs, steuersystem zum durchführen eines derartigen verfahrens sowie kraftfahrzeug mit einem derartigen steuersystem
DE102018124161A1 (de) Verfahren zum zumindest teilautomatisierten Führen eines Kraftfahrzeugs auf einer Fahrbahn
DE102019114626B4 (de) Kraftfahrzeug mit einem System zur Hardware-Überprüfung in einem Kraftfahrzeug
DE102021114077A1 (de) System zum Erweitern der Funktionalität einer durch Schlussfolgerungssysteme auf Symbolik/Logik-Basis erzeugten Hypothese
DE102020103513A1 (de) Logiksystem für die sinneswahrnehmung beim autonomen fahren
DE112021006148T5 (de) Verfahren und System zur Bestimmung eines Bewegungsmodells zur Bewegungsvorhersage bei der Steuerung autonomer Fahrzeuge
DE102018211726A1 (de) Verfahren zum automatischen maschinellen Trainieren eines elektronischen Fahrzeugführungssystems, sowie Kraftfahrzeug
DE102020103505A1 (de) Kognitive prozessor vorsteuerung- und rückkopplung integration in autonome systeme
DE102020201931A1 (de) Verfahren zum Trainieren wenigstens eines Algorithmus für ein Steuergerät eines Kraftfahrzeugs, Verfahren zur Optimierung eines Verkehrsflusses in einer Region, Computerprogrammprodukt sowie Kraftfahrzeug
DE102020103507A1 (de) Online-fahrleistungsbewertung mit räumlichen und temporären verkehrsinformationen für autonome fahrsysteme
DE102019215680B3 (de) Verfahren zum Vorhersagen eines Verhaltens eines Zielfahrzeugs

Legal Events

Date Code Title Description
R012 Request for examination validly filed