-
EINLEITUNG
-
Die Offenbarung bezieht sich auf autonome Fahrzeuge und insbesondere auf ein System und eine Methode zum Bewerten der Fahrleistung einer ausgewählten Fahrentscheidung, um die Entscheidungsauswahl zu verbessern.
-
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, Wissen über Agenten in ihrer Umgebung zu erhalten, ihre möglichen zukünftigen Trajektorien vorherzusagen und auf der Basis dieses Wissens eine Fahrentscheidung für das autonome Fahrzeug zu berechnen und umzusetzen. Während für ein ausgewähltes Szenario verschiedene Fahrentscheidungen für das autonome Fahrzeug vorgeschlagen werden können, ist es sinnvoll, konsequent die für das Szenario am besten geeignete Fahrentscheidung auswählen zu können. Dementsprechend ist es wünschenswert, ein System bereitzustellen, das eine Fahrentscheidung bewerten kann, um eine optimale Fahrentscheidung am autonomen Fahrzeug umzusetzen.
-
BESCHREIBUNG
-
In einer beispielhaften Ausführungsform wird eine Betriebsweise des autonomen Fahrzeugs offengelegt. Eine Vielzahl von Entscheidungen für den Betrieb des autonomen Fahrzeugs werden an einem dem autonomen Fahrzeug zugeordneten Entscheidungs-Resolver eines kognitiven Prozessors empfangen. Für jede der Vielzahl von Entscheidungen wird eine Leistungsnote festgelegt. Es wird eine Entscheidung mit der größten Leistungsnote gewählt. Das autonome Fahrzeug wird mit der gewählten Entscheidung betrieben.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale ist die Leistungsnote eine Kombination aus einer momentanen Leistungsnote und einer temporären Leistungsnote. Die momentane Leistungsnote basiert auf der Einhaltung einer Verkehrsregel und der Einhaltung eines Verkehrsflusses. Die temporäre Leistungsnote wird über einen Zeitraum ermittelt, der sich von einem Startzeitpunkt in der Vergangenheit bis zu einem Endzeitpunkt in der Zukunft erstreckt. Die Startzeit ist die jüngste von (i) einer Startzeit eines neuen Ereignisses und (ii) einer Zeit, die durch ein ausgewähltes Zeitintervall vor einer aktuellen Zeit angezeigt wird. Die Methode beinhaltet ferner die Verwendung einer Standardabweichung der Noten in der temporären Leistungsnote, um den Beitrag der jeweiligen momentanen Leistungsnote und der temporären Leistungsnote in der Leistungsnote zu gewichten. Die temporäre Leistungsnote ist eine Kombination aus einer mittleren Note über ein Zeitintervall und einer minimalen Note über das Zeitintervall.
-
In einer weiteren beispielhaften Ausführungsform wird ein System zum Betrieb eines autonomen Fahrzeugs vorgestellt. Das System umfasst einen Leistungsbewerter, ein Entscheidungs-Modul und ein Navigationssystem. Der Leistungsbewerter bestimmt für jede von mehreren Entscheidungen zum Betrieb des autonomen Fahrzeugs eine Leistungsnote. Das Entscheidungs-Modul wählt eine Entscheidung aus, die die beste Leistungsnote hat. Das Navigationssystem bedient das autonome Fahrzeug anhand der gewählten Entscheidung.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale bestimmt der Leistungsbewerter die Leistungsnote als Kombination aus einer momentanen und einer temporären Leistungsnote. Das System umfasst ferner ein Compliance-Modul, das die Einhaltung einer Verkehrsregel und die Einhaltung eines Verkehrsflusses durch das Fahrzeug ermittelt, wobei die momentane Leistungsnote auf der Einhaltung einer Verkehrsregel und der Einhaltung eines Verkehrsflusses basiert. Der Leistungsbewerter bestimmt die temporäre Leistungsbewertung über einen Zeitraum, der von einem Startzeitpunkt in der Vergangenheit bis zu einem Endzeitpunkt in der Zukunft reicht. Die Startzeit ist die jüngste von (i) einer Startzeit eines neuen Ereignisses und (ii) einer Zeit, die durch ein ausgewähltes Zeitintervall vor einer aktuellen Zeit angezeigt wird. Der Leistungsbewerter verwendet eine Standardabweichung der Noten in der temporären Leistungsnote, um den Beitrag der momentanen Leistungsnote und der temporären Leistungsnote in der Leistungsnote zu gewichten. Die temporäre Leistungsnote ist eine Kombination aus einer mittleren Note über ein Zeitintervall und einer Mindestnote über das Zeitintervall.
-
In einer weiteren beispielhaften Ausführungsform wird ein autonomes Fahrzeug offenbart. Das autonome Fahrzeug umfasst einen Leistungsbewerter, ein Entscheidungs-Modul und ein Navigationssystem. Der Leistungsbewerter bestimmt für jede von mehreren Entscheidungen zum Betrieb des autonomen Fahrzeugs eine Leistungsnote. Das Entscheidungs-Modul wählt eine Entscheidung aus, die die beste Leistungsnote hat. Das Navigationssystem bedient das autonome Fahrzeug anhand der gewählten Entscheidung.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale bestimmt der Leistungsbewerter die Leistungsnote als Kombination aus einer momentanen und einer temporären Leistungsnote. Das autonome Fahrzeug umfasst ferner ein Compliance-Modul, das die Einhaltung einer Verkehrsregel und die Einhaltung eines Verkehrsflusses durch das Fahrzeug ermittelt, wobei der momentane Leistungsnote auf der Einhaltung einer Verkehrsregel und der Einhaltung eines Verkehrsflusses basiert. Der Leistungsbewerter bestimmt die temporäre Leistungsbewertung über einen Zeitraum, der von einem Startzeitpunkt in der Vergangenheit bis zu einem Endzeitpunkt in der Zukunft reicht. Der Leistungsbewerter verwendet eine Standardabweichung der Noten in der temporären Leistungsnote, um den Beitrag der momentanen Leistungsnote und der temporären Leistungsnote in der Leistungsnote zu gewichten. Die temporäre Leistungsnote ist eine Kombination aus einer mittleren Note über ein Zeitintervall und einer Mindestnote über das Zeitintervall.
-
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 zugehörigem Bahnplanungssystem, das nach verschiedenen Ausführungsformen dargestellt ist;
- 2 zeigt ein anschauliches Regelsystem mit einem kognitiven Prozessor, der in ein autonomes Fahrzeug oder einen Fahrzeugsimulator integriert ist;
- 3 zeigt ein System der vorbeugenden Offenlegung für den Betrieb des Fahrzeugs anhand von Entscheidungen, die auf der Grundlage einer Leistungsnote der Entscheidung ausgewählt werden;
- 4 zeigt schematisch ein Verfahren zur Bestimmung einer Leistungsnote für mehrere Lösungen zum Betrieb eines autonomen Fahrzeugs;
- 5 zeigt den schematisierten Ablauf von 4, wobei ein Teilprozess zur Bestimmung einer temporären Leistungsnote für die Mehrzahl der Lösungen hervorgehoben wird; und
- 6 zeigt den schematisierten Ablauf von 4, wobei ein Teilprozess zur Bestimmung einer endgültigen Leistungsnote für die Mehrzahl der Lösungen und zur Auswahl einer optimalen Entscheidung hervorgehoben wird.
-
AUSFÜHRLICHE DARSTELLUNG
-
Die folgende Beschreibung hat lediglich beispielhaften Charakter und soll die vorliegende Offenlegung, ihre Anwendung oder ihren Gebrauch nicht einschränken. Es ist zu verstehen, dass in den Zeichnungen 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. Die Karosserie 14 ist auf dem Fahrgestell 12 angeordnet und umschließt im Wesentlichen Komponenten des autonomen Fahrzeugs 10. Die Karosserie 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 Karosserieecke 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 eine 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 das Lenksystem 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 mit einer beliebigen Anzahl bekannter Speichervorrichtungen wie PROMs (programmierbarer Festwertspeicher), EPROMs (elektrisches PROM), EEPROMs (elektrisch löschbares PROM), Flash-Speicher oder anderen elektrischen, magnetischen, optischen oder kombinierten Speichervorrichtungen, die Daten speichern können, von denen einige ausführbare Befehle darstellen, die von der Steuerung 34 zum Steuern des autonomen Fahrzeugs 10 verwendet werden, realisiert 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 dem Steuergerät 34 eine Trajektorie zu liefern, die das Steuergerät 34 am autonomen Fahrzeug 10 über die eine oder mehrere Aktuatoreinrichtungen 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 offenbarten 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 Trajektorie 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 Hypothesen-Aufsteller-Modul 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 Entscheidungs-Module 216 und einen Entscheidungs-Resolver 218. Das/die Entscheidungs-Modul(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 Trajektorien-Planer 220, der eine autonome Fahrzeugtrajektorie bestimmt, die dem autonomen Fahrzeug 10 zur Verfügung gestellt wird. Der Trajektorien-Planer 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 Trajektorien-Planer 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 Trajektorien-Planer 220.
-
Die ermittelte Fahrzeugtrajektorie wird vom Trajektorien-Planer 220 dem Trajektorien-Sender 222 zur Verfügung gestellt, der eine Trajektorien-Nachricht 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 Entscheidungs-Modul(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 Bewertungsmodul 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 Bewertungsmodul 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 Trajektorien-Nachricht und bestimmt eine Direkt-Trajektorie verschiedener Agenten 50 als Reaktion auf die Trajektorie.
-
Die Modulation erfolgt als Reaktion auf die vom Bewertungsmodul 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 Bewertungsmodul 232 bestimmt die Entropie der Verteilung dieser Vertrauensbereiche. Zusätzlich können im Bewertungsmodul 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 Bewertungsmodul 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, Entscheidungs-Modulen 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 Hypothesen-Aufsteller-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 Hypothesen-Aufsteller-Modul(e) 212 übergeben. Das (die) Hypothesen-Aufsteller-Modul(e) 212 kann (können) mehrere Hypothesenmodule enthalten, wobei jedes der mehreren Hypothesenmodule eine andere Methode oder Technik zur Bestimmung des möglichen Ergebnisses des (der) Agenten verwendet. Ein Hypothesen-Aufsteller-Modulkann 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 Hypothesen-Aufsteller-Modul(e)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 Hypothesen-Aufsteller-Modul(e)212 sind modulare Komponenten des kognitiven Prozessors 32 und können dem kognitiven Prozessor 32 beliebig hinzugefügt oder entfernt werden.
-
Jedes Hypothesen-Aufsteller-Modul(e)212 enthält eine Hypothesenklasse zur Vorhersage des Agentenverhaltens. Die Hypothesenklasse umfasst Spezifikationen 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 zur Speicherung und zur zukünftigen Verwendung an den Arbeitsspeicher 210 zurück. Wenn dem Arbeitsspeicher 210 neue Daten zur Verfügung gestellt werden, aktualisiert jedes Hypothesen-Aufsteller-Modul212 seine Hypothese und schiebt die aktualisierte Hypothese zurück in den Arbeitsspeicher 210. Jedes Hypothesen-Aufsteller-Modul212 kann seine Hypothese mit einer eigenen Aktualisierungsrate (z.B. Rate h-Hz) aktualisieren. Jedes Hypothesen-Aufsteller-Modul212 kann individuell 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 Hypothesen-Aufsteller-Modul(e) 212 ein Kollisionserkennungsmodul enthalten, das den vorausschauenden Informationsfluss in Bezug auf Vorhersagen verändern kann. Insbesondere, wenn ein Hypothesen-Aufsteller-Modul212 eine Kollision von zwei Agenten 50 vorhersagt, kann ein weiteres Hypothesen-Aufsteller-Modulaufgerufen werden, um Anpassungen am Hypothesenobjekt zu erzeugen, um die erwartete Kollision zu berücksichtigen oder um eine Warnmeldung 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 einen einfachen Auswahlprozess hervor. 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 Entscheidungs-Module 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 temporär ausgerichtet.
-
Wenn z.B. ein Entscheidungs-Modul 216 ein Hypothesenobjekt erhält, vergleicht das Entscheidungs-Modul 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 Trajektorien-Planer 220 durchgeführt.
-
Das/die Entscheidungs-Modul(e) 216 umfasst/umfassen Module, die verschiedene Entscheidungskandidaten in Form von Trajektorien und Verhaltensweisen für das autonome Fahrzeug erzeugen 10. Das/die Entscheidungs-Modul(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) Entscheidungs-Modul(e) 216 kann (können) mehrere Entscheidungs-Module umfassen, wobei jedes der mehreren Entscheidungs-Module eine andere Methode oder Technik zur Bestimmung einer möglichen Trajektorie oder eines möglichen Verhaltens für das autonome Fahrzeug verwendet 10. Jedes Entscheidungs-Modulkann asynchron arbeiten und erhält verschiedene Eingangszustände aus dem Arbeitsspeicher 212, wie z.B. die vom Hypothesen-Resolver 214 erzeugte Hypothese. Das/die Entscheidungs-Modul Entscheidungs-(e) 216 sind modulare Komponenten und können dem kognitiven Prozessor 32 beliebig hinzugefügt oder entfernt werden. Jedes Entscheidungs-Modul 216 kann seine Entscheidungen mit seiner eigenen Aktualisierungsrate (z.B. Rate d-Hz) aktualisieren.
-
Ähnlich wie ein Hypothesen-Aufsteller-Modul 212 enthält ein Entscheidungs-Modul 216 eine Entscheidungs-Klasse zur Vorhersage einer autonomen Fahrzeugtrajektorie 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 Entscheidungs-Modulen generiert werden, und erzeugt ein einziges Trajekt und Verhaltensobjekt für das autonome Fahrzeug 10. Der Entscheidungs-Resolver kann auch verschiedene Kontextinformationen von den Bewertungs-Modulen 232 erhalten, wobei die Kontextinformationen zur Erzeugung des Trajektorien- und Verhaltensobjekts verwendet werden.
-
Der Trajektorien-Planer 220 erhält vom Entscheidungs-Resolver 218 die Trajektorien- und Verhaltensobjekte zusammen mit dem Zustand des autonomen Fahrzeugs 10. Der Trajektorien-Planer 220 erzeugt dann eine Trajektorien-Nachricht, die dem Trajektorien-Sender 222 zur Verfügung gestellt wird. Der Trajektorien-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 Hypothesen-Aufsteller-Modul 212 gesendete Trajektorie 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 Trajektorie zu folgen, ergeben. Diese zukünftigen Zustände werden von dem/den Hypothesen-Aufsteller-Modul 212 verwendet, um Direkt-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 Trajektorie und bestimmt oder prognostiziert zukünftige Zustände, die jeder Agent 50 als Reaktion auf die vom autonomen Fahrzeug 10 genommene Trajektorie einnimmt. Diese zukünftigen Zustände der Agenten können als Teil der ersten Rückkopplungsschleife den Hypothesen-Aufsteller-Modulen 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 Hypothesen-Aufsteller-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 Hypothesen-Aufsteller-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 Hypothesen-Auflö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 Hypothesen-Auflö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 Bewertungs-Modulen 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 Entscheidungs-Modul 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 ein System 300 der vorbeugenden Offenlegung für den Betrieb des Fahrzeugs anhand von Entscheidungen, die auf der Grundlage einer Leistungsnote der Entscheidung ausgewählt werden. Das System 300 umfasst ein Sensorsystem 302 zur Erfassung und Sammlung verschiedener Daten über die Betriebsumgebung des autonomen Fahrzeugs 10 und einen Rechenprozessor 310, der auf Basis der Betriebsumgebung des autonomen Fahrzeugs eine Fahrentscheidung zur Umsetzung am autonomen Fahrzeug vorschlägt und auswählt. Das Sensorsystem 302 umfasst verschiedene Sensoren und Detektoren zur Ermittlung eines Fahrzeugstatus 304 des autonomen Fahrzeugs 10. Der Fahrzeugstatus 304 umfasst unter anderem den Standort, die Geschwindigkeit, die Ausrichtung oder den Kurs des autonomen Fahrzeugs. Zusätzlich beinhaltet das Sensorsystem 302 Sensoren zur Erfassung von Sensordaten 306 über Agentenfahrzeuge im Umfeld des autonomen Fahrzeugs. Solche Sensordaten 306 beinhalten die Position, Geschwindigkeit und Orientierung eines oder mehrerer Agenten 50 innerhalb der Szene, sowie andere Informationen wie Spurwechselblinker, Blinker, etc. innerhalb der Szene. Darüber hinaus enthält das Sensorsystem 302 einen Empfänger zum Empfang verschiedener Kartendaten 308. Solche Kartendaten 308 können Informationen über Verkehrsregeln, wie Geschwindigkeitsbegrenzungen, Kreuzungen, Stoppschilder, Straßenzustand und Straßentyp usw. liefern. In verschiedenen Ausführungsformen können die Kartendaten 306 anhand der an den anderen Sensoren des Sensorsystems 302 abgerufenen Informationen verifiziert werden.
-
Der Rechenprozessor 310 empfängt die Daten vom Sensorsystem 302 und führt verschiedene Operationen durch, um eine Leistungsnote für eine Lösung des autonomen Fahrzeugs 10 zu bestimmen. Insbesondere enthält der Rechenprozessor 310 ein Verkehrsregel und Flussmodul 312, das Verkehrsregeln ermittelt oder bestätigt sowie ein Verkehrsflussmuster in der Nachbarschaft oder Umgebung des autonomen Fahrzeugs abschätzt. Ein Prognosemodul 314 des Rechenprozessors 310 generiert auf Basis der empfangenen Sensordaten, einschließlich der Agentenstandorte, Geschwindigkeiten, Fahrtrichtungen usw., eine Vielzahl von Lösungen für das autonome Fahrzeug 10. Ein Compliance-Modul 316 empfängt die Verkehrsregeln und das Verkehrsflussmuster vom Verkehrsregel- und Flussmodul 312 und empfängt die Vielzahl der Lösungen vom Vorhersagemodul 314 und testet jede Lösung, um eine Note für die Lösung in Bezug auf die Einhaltung der Verkehrsregeln und/oder der Verkehrsflussmuster zu bestimmen. Das Compliance-Modul 316 berechnet verschiedene Compliance-Werte, die an den Leistungsbewerter 318 gesendet werden. Der Leistungsbewerter 318 bestimmt sowohl eine momentane (räumliche) Note als auch eine temporäre Note für jede Lösung auf der Grundlage der Erfüllungsfaktoren. Ein Entscheidungs-Modul 320 wählt dann aus dem momentanen Grad, dem temporären Grad oder einer Kombination davon eine Lösung aus, die am autonomen Fahrzeug umgesetzt werden soll. Die gewählte Lösung wird dann an einem Fahrzeugsteuergerät 322 zum Betrieb des autonomen Fahrzeugs 10 verwendet.
-
4 zeigt schematisch ein Verfahren 400 zur Bestimmung einer Leistungsnote für mehrere Lösungen zum Betrieb eines autonomen Fahrzeugs 10. Der Kasten 302 umfasst repräsentativ den Prozess der Bestimmung der Verkehrsregeln und des Verkehrsflusses (Kasten 312), die Erzeugung einer Vielzahl von Lösungen (Kasten 314) und die Bestimmung der Erfüllungsniveaus (Kasten 316) für jede der Vielzahl von Lösungen in Bezug auf die Verkehrsregeln und den Verkehrsfluss, wie in 3 beschrieben.
-
Kasten
404 zeigt ein Modul zur Bestimmung einer momentanen (hier auch als „räumlichen“) Leistungsnote für eine Lösung. Der momentane Grad GINST(t) in einem ausgewählten Zeitrahmen t kann als Produkt aus der Einhaltung der Verkehrsregeln und der Einhaltung des Verkehrsflusses mit Hilfe der Gleichung von Gl. (1) berechnet werden:
wobei R(t) ein Wert ist, der einen Faktor für die Einhaltung der Verkehrsregeln oder den Grad der Einhaltung der Verkehrsvorschriften durch das autonome Fahrzeug darstellt, und F(t) ein Wert ist, der einen Faktor für die Einhaltung des Verkehrsflusses darstellt. R(t) und F(t) werden in der Regel am Compliance-Modul
314 ermittelt. Die Einhaltung der Verkehrsregeln gibt an, wie gut der Fahrer (und auch das autonome Fahrzeug
10) die Verkehrsregeln befolgt. Die Einhaltung des Verkehrsflusses gibt an, wie gut sich der Fahrer oder das autonome Fahrzeug
10 sicher und effizient innerhalb des Verkehrsflusses bewegt und dabei angemessene Geschwindigkeiten und Fahrtrichtungen einhält.
-
Der Verkehrsregelerfüllungsfaktor R(t) kann mit verschiedenen Methoden bestimmt werden. Eine beispielhafte Methode ist in Gl. (2) dargestellt:
wobei R
BASE(t) ein Basisregel-Einhaltungsfaktor zum Zeitpunkt t, R
EXCEPT(t) ein Regelausnahme-Einhaltungsfaktor und α ein Gewichtungsfaktor zwischen dem Basisregel-Einhaltungsfaktor und dem Regelausnahme-Einhaltungsfaktor ist. Der Faktor für die Einhaltung der Grundregel ist im Allgemeinen spezifisch für eine ausgewählte Region oder einen ausgewählten Standort. Innerhalb einer bestimmten Region wird, wenn der Fahrer die Vorschrift korrekt einhält, der Wert R
BASE(t)=1 vergeben. Wenn der Fahrer die Regel vollständig ignoriert, ist der Wert von R
BSE(t)=0. Wenn also ein Fahrer an einem Stoppschild vollständig zum Stehen kommt, bevor er eine Kreuzung passiert, ist R
BASE(t)=1, während ein Fahrer, der die gleiche Kreuzung ohne anzuhalten passiert, R
BASE(t)=0 ist. Es gibt jedoch Ausnahmen oder Fälle, in denen der Fahrer die grundlegende Verkehrsregel verletzen muss, ohne eine Eingabe oder Auswahl zu haben. Zum Beispiel muss das Fahrzeug möglicherweise eine Mittellinie einer Autobahn oder einer Zweibahnstraße überqueren, um eine Baustelle zu vermeiden. Der Regelausnahme-Compliance-Faktor R
EXCEPT(t) wird verwendet, um die Leistung in diesen Ausnahmesituationen zu bewerten. Der Wert von R
EXCEPT(t) kann zwischen 0 und 1 liegen.
-
Der Gewichtsfaktor α in Gl. (2) ist eine Zahl zwischen 0 und 1. Für ein einfaches Straßenszenario, wie z.B. eine einspurige Straße, ist α=0. Mit zunehmender Komplexität der Straße steigt der Wert von α. Die Fähigkeit des Fahrers, die Verkehrsregeln und -vorschriften während eines einfachen Straßenszenarios zu befolgen, hat also mehr Gewicht bei der Einstufung der momentanen Leistung des Fahrzeugs. Bei komplexeren Fahrsituationen hat die Fähigkeit, notwendige Ausnahmen einzuhalten, mehr Gewicht bei der Einstufung der momentanen Leistung.
-
Die andere Komponente für die Bestimmung der Leistungsnote des Fahrzeugs in Gl. (1) ist die Einhaltung des Verkehrsflusses, die unten in Gl. (3) detailliert dargestellt ist.
wobei G
MAX ein maximal möglicher Leistungsnote ist, D
speed(t), D
Head(t) und (
TMAx-T
front(t)) sind Strafkomponenten und die Variablen δ, ρ und σ sind Gewichte für jede der Strafkomponenten. Die Geschwindigkeitsabweichung D
speed(t) ist die Geschwindigkeitsabweichung zwischen dem autonomen Fahrzeug
10 und anderen Agenten
50 (d.h. Fahrzeugen, Fußgängern usw.) in der Umgebung. Wenn die Geschwindigkeitsabweichung über oder unter einen gewählten Schwellenwert steigt (d.h. das autonome Fahrzeug ist zu schnell oder zu langsam im Verhältnis zum aktuellen Verkehrsfluss), dann erhöht sich die Strafe. Die Kursabweichung, D
Head(t) ist die Abweichung des Kurses oder der Orientierung zwischen dem autonomen Fahrzeug
10 und anderen Agenten
50. Wenn die Kursabweichung zunimmt, kann das autonome Fahrzeug
10 auf andere Agenten
50 auflaufen oder von einem Agenten
50 getroffen werden. Mit zunehmender Abweichung des Steuerkurses erhöht sich also auch die damit verbundene Strafe, T
front(t) ist eine erwartete Zeitspanne, in der das autonome Fahrzeug
10 mit einem Agenten
50 kollidiert, und T
MAX ist eine maximale Zeitspanne, in der das autonome Fahrzeug im Voraus schauen kann. Die Zeit bis zur Kollision T
front(t) ist ein Zeitintervall, das das autonome Fahrzeug
10 vor der Kollision mit einem Agenten hat. Dieser Faktor kann aus mindestens drei verschiedenen Komponenten berechnet werden, wie z.B. der Geschwindigkeit des autonomen Fahrzeugs, der Geschwindigkeit des Agenten und dem Abstand zwischen autonomen Fahrzeug und Agent.
-
Durch die Kombination der Gl. (1)-(3) kann die momentane Leistung als Produkt aus dem Faktor für die Einhaltung der Verkehrsregeln und dem Faktor für die Einhaltung des Verkehrsflusses geschrieben werden, wie in Gl. (4) dargestellt:
-
5 zeigt den in 4 schematisch dargestellten Prozess 400, wobei ein Teilprozess 422 zur Bestimmung einer temporären Leistungsnote für die Mehrzahl der Lösungen hervorgehoben wird. Der Teilprozess 422 zur Bestimmung der temporären Leistungsnote beinhaltet die Auswahl einer Vielzahl von räumlichen Leistungsnoten über einen ausgewählten Zeitrahmen. Die temporäre Leistungsnote, GTEMP(t), enthält Informationen aus einem Zeitrahmen dINTV, der drei verschiedene Zeitrahmen umfasst: Vergangenheit, Gegenwart und Zukunft. Die Vergangenheit liefert frühere Leistungsbewertungen, die zuvor berechnet und in der gespeicherten Bewertungshistorie gespeichert wurden (Feld 406). Das vorliegende Werk enthält eine räumliche Partitur, wie sie oben in Bezug auf die momentane Leistungsbewertung beschrieben ist. Diese räumliche Bewertung wird durch das Modul zur sofortigen Leistungsbewertung (Feld 404) bereitgestellt. Der zukünftige Zeitpunkt beinhaltet eine prognostizierte Leistungsnote, die durch das Modul für die prognostizierte Leistungsnote (Feld 408) bereitgestellt wird. Ein Modul 410 für die temporäre Leistungsnote schätzt die temporäre Leistungsnote, Gk TEMP(t) für jeden möglichen Fahrzeugentscheidungskandidaten k, unter Verwendung der Eingaben aus der gespeicherten Notenhistorie 406, dem Modul 404 für die momentane Leistungsnote und dem Modul 408 für die vorhergesagte Leistungsnote.
-
Der gewählte Zeitrahmen dINTV erstreckt sich von einer ausgewählten Vergangenheitszeit bis zu einem ausgewählten zukünftigen Zeitraum. Die gewählte Vergangenheitszeit ist abhängig vom Eintreten einer Ereignisstartzeit. Ein neues Ereignis beginnt, wenn einer der folgenden Auslöser eintritt: (1) eine Änderung des Straßentyps (Verkehrsgebiete) oder eine Änderung der Ampel (z.B. Einfahrt in eine Kreuzung, Ausfahrt aus einer Kreuzung, Überquerung eines Zebrastreifens usw.)) und (2) nicht vernachlässigbare relative Veränderungen von Nachbarschaftseinheiten (Fahrzeuge, Fußgänger, etc.) wie z.B. Fahrspurwechsel, Beschleunigung, Verlangsamung, etc.
-
In vielen Situationen kommt ein neues Ereignis häufig vor und ist daher üblich, um eine mögliche Startzeit für dINTV zu markieren. In einigen relativ einfachen Situationen, wie z.B. bei Autobahnfahrten, können solche Auslöser jedoch nicht häufig auftreten und somit ein sehr langes dINTV verursachen, das rechnerisch sehr aufwändig sein kann. Daher kann ein Schiebefenster einer ausgewählten Zeit zur Markierung des Beginns von dINTV verwendet werden. Das Schiebefenster ist bis zum aktuellen Zeitpunkt markiert. Liegt ein Ereignis zu weit in der Vergangenheit (d.h. weiter in der Vergangenheit als die gewählte Zeitdauer des Schiebefensters), wird die Startzeit von dINTV als früheste Zeit des Schiebefensters markiert. Durch die Verwendung des gleitenden Zeitfensters wird ein vernünftiges Zeitintervall für die Beurteilung des temporären Fahrverhaltens in der Vergangenheit eingehalten.
-
Das Zeitintervall d
INTV des gesamten temporären Schätzprozesses ist somit durch Gl. (5) gegeben:
wobei e
START die Startzeit des Ereignisses, d
CONST die Zeitdauer eines gleitenden Zeitfensters, t die aktuelle Zeit und d
PREDICT ein in die Zukunft reichendes Zeitintervall ist, über das eine Vorhersage getroffen werden kann.
-
Innerhalb dieses Intervalls wird eine Vielzahl von Noten bereitgestellt, die eine Notenfolge bilden, G
SEQ. Innerhalb des Zeitintervalls d
INTV können der Mittelwert m
SEQ, die Standardabweichung S
SEQ und der Minimalwert m
SEQ der Notenfolge G
SEQ berechnet werden. Der Maximalwert kann ebenfalls berechnet werden, wird aber in der Regel nicht für Steuerungsentscheidungen des Fahrzeugs verwendet. Generell ist der Mittelwert m
SEQ wichtig für die Bestimmung der temporären Leistungsnote. Ein niedriger Mindestnotenwert (d.h. niedriger m
SEQ) kann jedoch auf riskante Situationen hinweisen, die zu Unfällen führen können. Daher wird die temporäre Leistungsnote, G
k TEMP(t), durch die Kombination von Mittelwert und Mindestwert mit gleichem Gewicht geschätzt. Der G
k TEMP(t) wird also wie in Gl. (6) berechnet:
-
6 zeigt den schematisierten Prozess 400 von 4, wobei ein Teilprozess 424 zur Bestimmung einer endgültigen Leistungsnote für die Mehrzahl der Lösungen und zur Auswahl einer optimalen Entscheidung hervorgehoben wird. Der Teilprozess 424 beinhaltet einen Integrationsprozess 414, in dem die momentane und die temporäre Note zu einer endgültigen Leistungsnote 416 mit einer Gewichtsentscheidung 412 kombiniert werden. Der Integrationsprozess wird im Folgenden erörtert.
-
Für jede Lösung k können die momentane und die temporäre Leistungsnote zu einem einzigen Wert integriert werden, der zum Zeitpunkt t eine endgültige Leistungsnote definiert. Die Standardabweichung der temporären Note S
SEQ kann verwendet werden, um den Beitrag der momentanen und der temporären Leistungsnote zur endgültigen Leistungsnote auszugleichen, wie in Gl. (7) dargestellt:
-
Weist eine bestimmte Fahrsequenz eine hohe Standardabweichung (sSEQ) auf, wie z.B. in komplizierten Verkehrssituationen, ist die räumliche Note für die Bestimmung der endgültigen Leistungsnote wichtiger als die temporäre Note. Andererseits ist bei sehr stabilen Verkehrssituationen, wie z.B. im Straßenverkehr, die temporäre Note für die Bestimmung der endgültigen Leistungsnote wichtiger als die räumliche.
-
Nachdem für jede der k Entscheidungen eine abschließende Leistungsnote in Gl. (7) festgelegt wurde, werden die abschließenden Leistungsnoten dem Entscheidungs-Modul zur Verfügung gestellt. Es wird die Entscheidung mit der höchsten Endnote gewählt, wie in Gl. (8) dargestellt.
-
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.