-
GEBIET DER TECHNIK
-
Die Offenbarung betrifft im Allgemeinen das Gebiet der Fahrzeugnavigation und des Fahrzeugbetriebs.
-
ALLGEMEINER STAND DER TECHNIK
-
Fahrzeuge können an einer Kreuzung anhalten, damit andere Fahrzeuge die Kreuzung durchfahren können. Die Fahrzeuge können angewiesen werden, z. B. an einer Ampel, einem Verkehrsschild, einer Straßenmarkierung usw. anzuhalten. Typischerweise durchfahren die Fahrzeuge in der Reihenfolge die Kreuzung, in der die Fahrzeuge an der Kreuzung angekommen sind.
-
KURZDARSTELLUNG
-
Ein Computer beinhaltet einen Prozessor und einen Speicher, wobei in dem Speicher Anweisungen gespeichert sind, die durch den Prozessor ausgeführt werden können, um eine Vielzahl von Bildern von einem oder mehreren Zielen an einer Kreuzung zu sammeln, die Bilder in ein maschinelles Lernprogramm einzugeben, um eine Anzahl der Ziele zu bestimmen, denen ein Host-Fahrzeug basierend auf Zeitunterschieden zwischen der Vielzahl von Bildern an der Kreuzung voraussichtlich Vorfahrt gewährt, und eine Nachricht zu übermitteln, die die Anzahl der Ziele angibt.
-
Die Anweisungen können ferner Anweisungen zum Betätigen einer Bremse des Host-Fahrzeugs beinhalten, um den Zielen an der Kreuzung Vorfahrt zu gewähren.
-
Die Anweisungen können ferner Anweisungen beinhalten, um nach dem Vorfahrtgewähren gegenüber einem ersten der Ziele eine Nachricht zu übermitteln, die eine neue Anzahl der Ziele angibt, denen das Host-Fahrzeug an der Kreuzung voraussichtlich Vorfahrt gewährt.
-
Die Anweisungen können ferner Anweisungen zum Anwenden des maschinellen Lernprogramms beinhalten, um eine Reihenfolge der Ziele, denen das Host-Fahrzeug an der Kreuzung voraussichtlich Vorfahrt gewährt, vorherzusagen.
-
Die Anweisungen können ferner Anweisungen zum Vorhersagen der Reihenfolge basierend auf jeweiligen Unterschieden einer Distanz zwischen jedem Ziel und einem jeweiligen Haltepunkt an der Kreuzung beinhalten.
-
Der Haltepunkt kann eines von einem Verkehrsschild und einer Straßenmarkierung sein.
-
Die Anweisungen können ferner Anweisungen zum Vorhersagen der Reihenfolge basierend auf einer voraussichtlichen Haltezeit des Host-Fahrzeugs an der Kreuzung beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Identifizieren der Kreuzung als eine Vierwegekreuzung und zum Bestimmen der Anzahl der Ziele, denen das Host-Fahrzeug voraussichtlich Vorfahrt gewährt, als eines von null, eins, zwei oder drei Zielen beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Anzeigen der Nachricht auf einer Windschutzscheibe des Host-Fahrzeugs beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Sammeln der Bilder mit einem am Host-Fahrzeug montierten Sensor, beginnend in einer vorbestimmten Distanz von der Kreuzung, beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen, dass sich das Host-Fahrzeug an der Kreuzung befindet, wenn es eine Eingabe von einer Kreuzungsinfrastruktursteuerung empfängt, beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen der Anzahl der Ziele, denen das Host-Fahrzeug an der Kreuzung basierend auf Bildern, die durch die Kreuzungsinfrastruktursteuerung gesammelt werden, voraussichtlich Vorfahrt gewährt, beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Übermitteln der Nachricht an die Kreuzungsinfrastruktursteuerung beinhalten.
-
Die Anweisungen können ferner Anweisungen beinhalten, um nach dem Senden einer Nachricht, die angibt, dass es keine Ziele gibt, denen das Host-Fahrzeug an der Kreuzung voraussichtlich Vorfahrt gewährt, einen Antrieb zu betätigen, um das Host-Fahrzeug in die Kreuzung zu bewegen.
-
Ein Verfahren beinhaltet das Sammeln einer Vielzahl von Bildern von einem oder mehreren Zielen an einer Kreuzung, das Eingeben der Bilder in ein maschinelles Lernprogramm, um eine Anzahl der Ziele zu bestimmen, denen ein Host-Fahrzeug basierend auf Zeitunterschieden zwischen der Vielzahl von Bildern an der Kreuzung voraussichtlich Vorfahrt gewährt, und das Übermitteln einer Nachricht, die die Anzahl der Ziele angibt.
-
Das Verfahren kann ferner das Betätigen einer Bremse des Host-Fahrzeugs beinhalten, um den Zielen an der Kreuzung Vorfahrt zu gewähren.
-
Das Verfahren kann ferner, nach dem Vorfahrtgewähren gegenüber einem ersten der Ziele, das Übermitteln einer Nachricht, die eine neue Anzahl der Ziele angibt, denen das Host-Fahrzeug an der Kreuzung voraussichtlich Vorfahrt gewährt, beinhalten.
-
Das Verfahren kann ferner das Anwenden des maschinelles Lernprogramms zum Vorhersagen einer Reihenfolge der Ziele, denen das Host-Fahrzeug an der Kreuzung voraussichtlich Vorfahrt gewährt, beinhalten.
-
Das Verfahren kann ferner das Vorhersagen der Reihenfolge basierend auf jeweiligen Unterschieden einer Distanz zwischen jedem Ziel und einem jeweiligen Haltepunkt an der Kreuzung beinhalten.
-
Das Verfahren kann ferner das Vorhersagen der Reihenfolge basierend auf einer voraussichtlichen Haltezeit des Host-Fahrzeugs an der Kreuzung beinhalten.
-
Das Verfahren kann ferner das Identifizieren der Kreuzung als eine Vierwegekreuzung und das Bestimmen der Anzahl der Ziele, denen das Host-Fahrzeug voraussichtlich Vorfahrt gewährt, als eines von null, eins, zwei oder drei Zielen beinhalten.
-
Das Verfahren kann ferner das Anzeigen der Nachricht auf einer Windschutzscheibe des Host-Fahrzeugs beinhalten.
-
Das Verfahren kann ferner das Sammeln der Bilder mit einem am Host-Fahrzeug montierten Sensor, beginnend in einer vorbestimmten Distanz von der Kreuzung, beinhalten.
-
Das Verfahren kann ferner das Bestimmen, dass sich das Host-Fahrzeug an der Kreuzung befindet, wenn es eine Eingabe von einer Kreuzungsinfrastruktursteuerung empfängt, beinhalten.
-
Das Verfahren kann ferner das Bestimmen der Anzahl der Ziele, denen das Host-Fahrzeug an der Kreuzung basierend auf Bildern, die durch die Kreuzungsinfrastruktursteuerung gesammelt werden, voraussichtlich Vorfahrt gewährt, beinhalten.
-
Das Verfahren kann ferner das Übermitteln der Nachricht an die Kreuzungsinfrastruktursteuerung beinhalten.
-
Das Verfahren kann ferner, nach dem Senden einer Nachricht, die angibt, dass es keine Ziele gibt, denen das Host-Fahrzeug an der Kreuzung voraussichtlich Vorfahrt gewährt, das Betätigen eines Antriebs beinhalten, um das Host-Fahrzeug in die Kreuzung zu bewegen.
-
Ein System beinhaltet eine Bremse eines Host-Fahrzeugs, Mittel zum Sammeln einer Vielzahl von Bildern von einem oder mehreren Zielen an einer Kreuzung, Mittel zum Eingeben der Bilder in ein maschinelles Lernprogramm, um eine Anzahl der Ziele zu bestimmen, denen das Host-Fahrzeug basierend auf Zeitunterschieden zwischen der Vielzahl von Bildern an der Kreuzung voraussichtlich Vorfahrt gewährt, und Mittel zum Übermitteln einer Nachricht, die die Anzahl der Ziele angibt.
-
Das System kann ferner Mittel zum Übermitteln einer Nachricht beinhalten, die eine neue Anzahl der Ziele angibt, denen das Host-Fahrzeug an der Kreuzung voraussichtlich Vorfahrt gewährt, nachdem einem ersten der Ziele Vorfahrt gewährt wurde.
-
Das System kann ferner Mittel zum Vorhersagen einer Reihenfolge der Ziele, denen das Host-Fahrzeug an der Kreuzung voraussichtlich Vorfahrt gewährt, beinhalten.
-
Ferner offenbart wird eine Rechenvorrichtung, die dazu programmiert ist, beliebige der vorstehenden Verfahrensschritte auszuführen. Weiterhin wird ein Fahrzeug offenbart, das die Rechenvorrichtung umfasst. Weiterhin wird ein Computerprogrammprodukt offenbart, das ein computerlesbares Medium umfasst, auf dem Anweisungen gespeichert sind, die durch einen Computerprozessor ausgeführt werden können, um beliebige der vorstehenden Verfahrensschritte auszuführen.
-
Figurenliste
-
- 1 ist ein Schaubild eines beispielhaften Systems zum Betreiben eines Fahrzeugs an einer Kreuzung.
- 2 ist eine Draufsicht auf eine beispielhafte Kreuzung.
- 3 ist ein beispielhafter Prozess zum Betreiben des Fahrzeugs an der Kreuzung.
-
DETAILLIERTE BESCHREIBUNG
-
Ein Host-Fahrzeug kann eine Anzahl von Zielen vorhersagen, denen es an einer Kreuzung Vorfahrt gewähren soll, und eine Nachricht übermitteln, die die Anzahl der Ziele angibt. Durch Übermitteln der Nachricht an die Ziele und Fußgänger in der Nähe kann das Host-Fahrzeug die Reihenfolge angeben, in der das Host-Fahrzeug und die Zielfahrzeuge die Kreuzung durchfahren sollen, wodurch eine mögliche Kollision vermieden oder gemindert wird, wenn zwei Fahrzeuge versuchen, diese gleichzeitig zu durchfahren. Die Nachricht kann angeben, welches Fahrzeug an der Kreuzung Vorfahrt hat. Das Verwenden eines neuronalen Netzwerks mit zeitlichen Daten zum Bestimmen der Anzahl der Ziele, denen das Host-Fahrzeug voraussichtlich Vorfahrt gewährt, stellt eine Nachricht einschließlich einer alphanumerischen Komponente, die die Anzahl der Ziele angibt, bereit. Die Nachricht stellt somit Informationen bereit, die sowohl Fußgänger, menschliche Fahrzeugführer anderer Fahrzeuge als auch Fahrzeugcomputer leicht verstehen können. Das neuronale Netzwerk kann eine End-to-End-Lösung bereitstellen, um die Zielfahrzeuge ohne zusätzliche/s Verarbeiten oder Module zu identifizieren.
-
1 veranschaulicht ein beispielhaftes System 100 zum Betreiben eines Host-Fahrzeugs 101 an einer Kreuzung. Das System 100 beinhaltet einen Computer 105. Der Computer 105, der üblicherweise in dem Fahrzeug 101 beinhaltet ist, ist programmiert, um gesammelte Daten 115 von einem oder mehreren Sensoren 110 zu empfangen. Beispielsweise können die Daten 115 des Fahrzeugs 101 einen Standort des Fahrzeugs 101, Daten zu einer Umgebung um ein Fahrzeug 101, Daten zu einem Objekt außerhalb des Fahrzeugs, wie etwa einem anderen Fahrzeug usw., einschließen. Ein Standort des Fahrzeugs 101 ist üblicherweise in einer herkömmlichen Form bereitgestellt, z. B. als Geokoordinaten, wie etwa Längengrad und Breitengrad, die über ein Navigationssystem erhalten werden, welches das globale Positionsbestimmungssystem (Global Positioning System - GPS) verwendet. Weitere Beispiele von Daten 115 können Messungen von Systemen und Komponenten des Fahrzeugs 101 beinhalten, z. B. eine Geschwindigkeit des Fahrzeugs 101, eine Bewegungsbahn des Fahrzeugs 101 usw.
-
Der Computer 105 ist im Allgemeinen zur Kommunikation auf einem Netzwerk des Fahrzeugs 101 programmiert, einschließlich z. B. eines herkömmlichen Kommunikationsbusses des Fahrzeugs 101. Über das Netzwerk, den Bus und/oder andere drahtgebundene oder drahtlose Mechanismen (z. B. ein drahtgebundenes oder drahtloses lokales Netzwerk in dem Fahrzeug 101) kann der Computer 105 Nachrichten an verschiedene Vorrichtungen in einem Fahrzeug 101 übermitteln und/oder Nachrichten von den verschiedenen Vorrichtungen empfangen, z. B. Steuerungen, Aktoren, Sensoren usw., einschließlich der Sensoren 110. Alternativ oder zusätzlich dazu kann in Fällen, in denen der Computer 105 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugnetzwerk zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 105 dargestellt sind. Des Weiteren kann der Computer 105 programmiert sein, um mit dem Netzwerk 125 zu kommunizieren, das, wie nachfolgend beschrieben, verschiedene drahtgebundene und/oder drahtlose Netzwerktechnologien beinhalten kann, z. B. Mobilfunk, Bluetooth®, Bluetooth® Low Energy (BLE), drahtgebundene und/oder drahtlose Paketnetzwerke usw.
-
Bei dem Datenspeicher 106 kann es sich um einen beliebigen Typ handeln, z.B. Festplattenlaufwerke, Solid-State-Laufwerke, Server oder beliebige flüchtige oder nichtflüchtige Medien. Der Datenspeicher 106 kann die von den Sensoren 110 gesendeten gesammelten Daten 115 speichern.
-
Die Sensoren 110 können eine Vielfalt an Vorrichtungen beinhalten. Zum Beispiel können verschiedene Steuerungen in einem Fahrzeug 101 als Sensoren 110 betrieben werden, um Daten 115 über das Netzwerk oder den Bus des Fahrzeugs 101 bereitzustellen, z. B. Daten 115 bezüglich Fahrzeuggeschwindigkeit, -beschleunigung, -position, -teilsystem- und/oder -komponentenstatus usw. Ferner könnten andere Sensoren 110 Kameras, Bewegungsmelder usw. beinhalten, d. h. die Sensoren 110, um Daten 115 zum Auswerten einer Position einer Komponente, zum Auswerten eines Gefälles einer Fahrbahn usw. bereitzustellen. Die Sensoren 110 könnten unter anderem außerdem Kurzstreckenradar, Langstreckenradar, LIDAR und/oder Ultraschallwandler beinhalten.
-
Die gesammelten Daten 115 können eine Vielfalt an Daten beinhalten, die in einem Fahrzeug 101 gesammelt werden. Beispiele für gesammelte Daten 115 sind vorstehend bereitgestellt und darüber hinaus werden Daten 115 im Allgemeinen unter Verwendung eines oder mehrerer Sensoren 110 gesammelt und können zusätzlich Daten beinhalten, die daraus in dem Computer 105 und/oder auf dem Server 130 berechnet wurden. Im Allgemeinen können die gesammelten Daten 115 beliebige Daten beinhalten, die durch die Sensoren 110 erfasst und/oder aus derartigen Daten berechnet werden können.
-
Das Fahrzeug 101 kann eine Vielzahl von Fahrzeugkomponenten 120 beinhalten. In diesem Zusammenhang beinhaltet jede Fahrzeugkomponente 120 eine oder mehrere Hardwarekomponenten, die angepasst sind, um eine mechanische Funktion oder einen mechanischen Vorgang durchzuführen - wie etwa Bewegen des Fahrzeugs 101, Abbremsen oder Anhalten des Fahrzeugs 101, Lenken des Fahrzeugs 101 usw. Nicht einschränkende Beispiele für Komponenten 120 schließen Folgendes ein: eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. beinhaltet), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehrere von einem Lenkrad, einer Lenkzahnstange usw. beinhalten kann), eine Bremskomponente (wie nachfolgend beschrieben), eine Einparkhilfekomponente, eine Komponente für adaptive Geschwindigkeitsregelung, eine adaptive Lenkkomponente, einen beweglichen Sitz oder dergleichen.
-
Wenn der Computer 105 das Fahrzeug 101 teilweise oder vollständig betreibt, handelt es sich bei dem Fahrzeug 101 um ein „autonomes“ Fahrzeug 101. Für die Zwecke dieser Offenbarung wird der Ausdruck „autonomes Fahrzeug“ zum Verweis auf ein Fahrzeug 101 verwendet, das in einem vollständig autonomen Modus betrieben wird. Ein vollständig autonomer Modus ist als ein Modus definiert, in dem jedes von Antrieb, Bremsen und Lenken des Fahrzeugs durch den Computer 105 gesteuert wird. Ein halbautonomer Modus ist ein Modus, in dem zumindest eines von Antrieb, Bremsen und Lenken des Fahrzeugs anstatt durch einen menschlichen Fahrzeugführer zumindest zum Teil durch den Computer 105 gesteuert wird. In einem nicht autonomen Modus, d. h. einem manuellen Modus, werden Antrieb, Bremsen und Lenken des Fahrzeugs durch den menschlichen Fahrzeugführer gesteuert.
-
Das System 100 kann ferner ein Netzwerk 125 beinhalten, das mit einem Server 130 und einem Datenspeicher 135 verbunden ist. Der Computer 105 kann ferner dazu programmiert sein, mit einem oder mehreren entfernten Standorten, wie etwa dem Server 130, über das Netzwerk 125 zu kommunizieren, wobei ein derartiger entfernter Standort möglicherweise einen Datenspeicher 135 beinhaltet. Das Netzwerk 125 stellt einen oder mehrere Mechanismen dar, durch den/die ein Fahrzeugcomputer 105 mit einem entfernten Server 130 kommunizieren kann. Dementsprechend kann es sich bei dem Netzwerk 125 um einen oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen handeln, einschließlich jeder beliebigen gewünschten Kombination aus drahtgebundenen (z. B. Kabel und Glasfaser) und/oder drahtlosen (z. B. Mobilfunk, drahtlos, Satellit, Mikrowelle und Hochfrequenz) Kommunikationsmechanismen und jeder beliebigen gewünschten Netzwerktopologie (oder -topologien, wenn mehrere Kommunikationsmechanismen genutzt werden). Beispielhafte Kommunikationsnetzwerke beinhalten drahtlose Kommunikationsnetzwerke (z. B. unter Verwendung von Bluetooth®, Bluetooth® Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (V2V), wie etwa Dedicated Short Range Communications (DSRC) usw.), lokale Netzwerke (Local Area Network - LAN) und/oder Weitverkehrsnetzwerke (Wide Area Network - WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
-
2 ist eine Draufsicht auf eine beispielhafte Kreuzung 200. In diesem Zusammenhang ist eine „Kreuzung“ ein Bereich, in dem sich zwei oder mehr Fahrbahnspuren kreuzen, d. h. wo sich zwei oder mehr Fahrbahnspuren schneiden. Die Größe des Bereichs, der die Kreuzung definiert, kann so festgelegt sein, dass er einen Bereich umfasst, in dem Kollisionen auftreten können, z. B. basierend auf einer Anzahl von Fahrbahnspuren, einer Fahrbahnspurgröße, einer Fahrzeuggröße, Standortdaten früherer Kollisionen usw. Beispielsweise kann die Kreuzung 400 m2 (vierhundert Quadratmeter) umfassen, um das Zusammentreffen von zwei benachbarten Fahrbahnspuren und zwei sich querenden Fahrbahnspuren zu berücksichtigen. Das Host-Fahrzeug 101 und eine Vielzahl von Zielen nähern sich der Kreuzung 200 an und halten an dieser. In diesem Zusammenhang ist ein „Ziel“ ein Objekt an der Kreuzung 200, bei dem die Wahrscheinlichkeit besteht, dass es mit dem Host-Fahrzeug 101 kollidiert, dem das Host-Fahrzeug 101 Vorfahrt gewähren sollte. In dem Beispiel von 2 sind die Ziele Zielfahrzeuge 205. Alternativ oder zusätzlich können die Ziele z. B. Roller, Radfahrer, Fußgänger usw. beinhalten. Der Computer 105 kann die Kreuzung 200 basierend auf der Anzahl der Fahrbahnspuren identifizieren, die an der Kreuzung 200 aufeinandertreffen. Beispielsweise kann der Computer 105 die Kreuzung 200 als eine Vierwegekreuzung identifizieren, d. h. eine Kreuzung von vier Fahrbahnspuren, wo Fahrzeuge 101, 205 auf jeder Fahrbahnspur an der Kreuzung 200 anhalten, um anderen Fahrzeugen 101, 205 Vorfahrt zu gewähren. Der Computer 105 kann die Anzahl der Zielfahrzeuge 205, denen das Host-Fahrzeug 101 voraussichtlich Vorfahrt gewährt, basierend auf der Kreuzung 200 bestimmen, z. B. kann der Computer 105 an einer Vierwegekreuzung bestimmen, dass das Host-Fahrzeug 101 einem von null, eins, zwei oder drei Zielfahrzeugen 205 Vorfahrt gewähren sollte. In dem Beispiel von 2 befinden sich zwei Zielfahrzeuge 205 an der Kreuzung 200 vor dem Host-Fahrzeug 101.
-
Die Kreuzung 200 kann eine Vielzahl von Verkehrsschildern 210 beinhalten. Die Verkehrsschilder 210 weisen das Host-Fahrzeug 101 und die Zielfahrzeuge 205 an, an der Kreuzung 200 anzuhalten. Beispielsweise können die Verkehrsschilder 210 Stoppschilder wie im Beispiel von 2 oder Vorfahrt-gewähren-Schilder sein. Wenn sich das Host-Fahrzeug 101 und die Zielfahrzeuge 205 der Kreuzung 200 nähern, halten die Fahrzeuge 101, 205 an den Markierungen 215 an, bevor sie die Kreuzung 200 durchfahren. Das heißt, wenn sich jedes Fahrzeug 101, 205 der Kreuzung 200 nähert, hält jedes Fahrzeug 101, 205 an den oder in der Nähe der Markierungen 215 an, was den Fahrzeugen 101, 205 Vorfahrt gewährt, die vorher an der Kreuzung 200 angekommen sind. In diesem Zusammenhang „gewährt“ das Host-Fahrzeug 101 einem Zielfahrzeug 205 „Vorfahrt“, indem es an der Kreuzung 200 anhält, bis sich die Zielfahrzeuge 205, die vor dem Host-Fahrzeug 101 angekommen sind, über die Kreuzung 200 bewegt haben. Obgleich nicht in den Figuren gezeigt, kann die Kreuzung 200 alternativ eine Ampel beinhalten, die das Host-Fahrzeug 101 und die Zielfahrzeuge 205 anweist, an der Kreuzung 200 anzuhalten.
-
Das Host-Fahrzeug 101 kann Bilder der Zielfahrzeuge 205 an der Kreuzung 200 sammeln. Das Host-Fahrzeug 101 beinhaltet einen Sensor 110, z. B. eine Kamera, die Bilder der Zielfahrzeuge 205 sammelt. Der Sensor 110 kann an eine geeignete Stelle des Host-Fahrzeugs 101 montiert sein, um Bilder der Zielfahrzeuge 205 vor dem Host-Fahrzeug 101 zu sammeln, z. B. ein Fahrzeugdach, eine Motorhaube, eine Windschutzscheibe usw. Das Host-Fahrzeug 101 kann eine Vielzahl von Bildern der Zielfahrzeuge 205 in im Wesentlichen gleichen Zeiträumen sammeln, z. B. 10 Bilder pro Sekunde. Basierend auf der Vielzahl von Bildern kann der Computer 105 die Zielfahrzeuge 205 bestimmen, denen das Host-Fahrzeug 101 an der Kreuzung 200 Vorfahrt gewähren muss. Das Host-Fahrzeug 101 kann die Bilder ab einer vorbestimmten Distanz von der Kreuzung 200 sammeln. Die vorbestimmte Distanz kann in dem Datenspeicher 106 gespeichert und/oder von dem Server 130 empfangen werden. Die vorbestimmte Distanz kann als eine Distanz bestimmt werden, die erforderlich ist, um Bilder mit der Sammelrate des Bildsensors 110 für ein maschinelles Lernprogramm zu sammeln, wie nachstehend beschrieben, um die Zielfahrzeuge 205 zu identifizieren. Beispielsweise kann die vorbestimmte Distanz 10 Meter betragen. Alternativ kann das Host-Fahrzeug die Bilder beim Identifizieren der Kreuzung 200 sammeln, z. B. aus Geostandortdaten in einer gespeicherten Navigationskarte, einer Nachricht vom Server 130 und/oder der Kreuzungsinfrastruktursteuerung 225 wie nachstehend beschrieben usw.
-
Ein Infrastruktursensor 220 kann sich an der Kreuzung 200 befinden. Der Infrastruktursensor 220 sammelt Daten 115 der Fahrzeuge 101, 205 an der Kreuzung 200 und übermittelt die Daten 115 über das Netzwerk 125 an die Fahrzeuge 101, 205. Beispielsweise kann der Infrastruktursensor 220 eine Kamera sein, die z. B. an eines von den Verkehrsschildern 210, einem Lichtmast, einer Ampel usw. montiert ist. Der Infrastruktursensor 220 kann Bilder der Zielfahrzeuge 205 sammeln und die Bilder über das Netzwerk 125 an den Computer 105 übermitteln.
-
Die Kreuzung 200 kann eine Kreuzungsinfrastruktursteuerung 225 beinhalten. Die Kreuzungsinfrastruktursteuerung 225 kommuniziert über das Netzwerk 125 mit dem Infrastruktursensor 220 und dem Computer 105. Der Computer 105 kann von der Kreuzungsinfrastruktursteuerung 225 Eingaben empfangen, die angeben, dass sich das Host-Fahrzeug 101 der Kreuzung 200 nähert und den Zielfahrzeugen 205 Vorfahrt gewährt. Die Kreuzungsinfrastruktursteuerung 225 kann den Infrastruktursensor 220 anweisen, Bilder der Kreuzung 200 zu sammeln. Die Kreuzungsinfrastruktursteuerung 225 kann die Bilder an den Computer 105 und an die Zielfahrzeuge 205 übermitteln. Der Computer 105 kann die Bilder von der Kreuzungsinfrastruktursteuerung 225 in das maschinelle Lernprogramm eingeben, um die Anzahl der Zielfahrzeuge 205 zu bestimmen, denen das Host-Fahrzeug 101 an der Kreuzung 200 voraussichtlich Vorfahrt gewährt.
-
Der Computer 105 kann die Bilder in ein maschinelles Lernprogramm eingeben, um eine Anzahl der Zielfahrzeuge 205 vorherzusagen, denen das Fahrzeug 101 an der Kreuzung 200 Vorfahrt gewähren sollte. Das maschinelle Lernprogramm kann z. B. ein tiefes neuronales Netzwerk (deep neural network - DNN) mit einer merkmalidentifizierenden Schicht wie etwa einer Schicht eines Convolutional Neural Network (CNN) und einer temporalen Schicht wie etwa einer Schicht eines langen Kurzzeitgedächtnisses (long short term memory - LSTM) sein, das Eingaben von Bildern empfängt und eine Ausgabe einer Anzahl von Zielfahrzeugen 205 bereitstellt, denen das Host-Fahrzeug 101 voraussichtlich an der Kreuzung 200 Vorfahrt gewährt. Wie nachstehend beschrieben, identifiziert die CNN-Schicht Merkmalsvektoren in den Bildern und die temporale Schicht bestimmt Zeitunterschiede zwischen Merkmalsvektoren, um eine Reihenfolge zu bestimmen, in der die Zielfahrzeuge 205 die Kreuzung 200 erreichen. In diesem Zusammenhang ist ein „Merkmalsvektor“ ein Array von Zahlen, das eine Eigenschaft eines Pixels des Bildes identifiziert, z. B. Intensität, RGB-Werte, Gradientengröße, Kante eines Objekts usw. Beispielsweise können Merkmalsvektoren Kanten der Zielfahrzeuge 205, Verkehrsschilder, Straßenmarkierungen 215, Ampeln usw. identifizieren. Basierend auf der Reihenfolge der Zielfahrzeuge 205 kann der Computer 105 die Zielfahrzeuge 205 vorhersagen, denen das Host-Fahrzeug 101 an der Kreuzung 200 Vorfahrt gewährt.
-
Die CNN-Schicht des maschinellen Lernprogramms kann Merkmalsvektoren in den Bildern identifizieren, um sie der temporalen Schicht bereitzustellen. Um die CNN-Schicht zu trainieren, kann das maschinelle Lernprogramm Eingaben empfangen, die Referenzbilder von Merkmalen einer Kreuzung sind, z. B. einer Stoßstange, einer Windschutzscheibe, einer Tür, eines Seitenspiegels, eines Grills, eines Verkehrsschilds, einer Straßenmarkierung, einer Ampel, anderer Fahrzeuge 205 usw. Die Koeffizienten einer Kostenfunktion können so eingestellt werden, dass die CNN-Schicht beim Empfang eines Referenzbildes eine korrekte Identifizierung der Merkmale und Positionen der Merkmale innerhalb des Bildes ausgibt. Beispielsweise können die Einstellungen der Kostenfunktion der CNN-Schicht herkömmliche Gradientenabstiegswerte sein, d. h. Einstellungen der Koeffizienten, die zu Änderungen eines Gradienten der Kostenfunktion führen, um die Kostenfunktion zu minimieren. Die Gradienten können in Bezug auf verschiedene Koeffizienten der Kostenfunktion berechnet werden, um die Koeffizienten basierend auf zusätzlichen Eingabedaten zu aktualisieren. Somit kann die trainierte CNN-Schicht beim Empfangen eines Bildes Ausgaben für die temporale Schicht bereitstellen, die Merkmalsvektoren identifizieren.
-
Die temporale Schicht des maschinellen Lernprogramms kann zeitliche Unterschiede zwischen den Merkmalsvektoren bestimmen und eine Reihenfolge der sich der Kreuzung 200 nähernden Zielfahrzeuge 205 vorhersagen. Das heißt, die temporale Schicht empfängt Merkmalsvektoren als Eingaben und ordnet jeden Merkmalsvektor einer einer Vielzahl von Ausgaben zu, die die Anzahl der Zielfahrzeuge 205 angibt, denen das Host-Fahrzeug 101 voraussichtlich Vorfahrt gewährt. Die temporale Schicht kann trainiert werden, indem Eingaben von Merkmalsvektoren mit identifizierten Zielfahrzeugen 205 und dem Host-Fahrzeug 101 und eine zugehörige zeitliche Reihenfolge der Zielfahrzeuge 205 und des Host-Fahrzeugs 101, die sich der Kreuzung nähern, empfangen werden. Die Koeffizienten einer Kostenfunktion können eingestellt werden, sodass die temporale Schicht eine korrekte Identifizierung der Reihenfolge der Zielfahrzeuge 205 und des Host-Fahrzeugs 101 ausgibt, die sich der Kreuzung 200 nähern. Beispielsweise können die Einstellungen der Kostenfunktion der temporalen Schicht herkömmliche Gradientenabstiegswerte sein, d. h. Einstellungen der Koeffizienten, die zu Änderungen eines Gradienten der Kostenfunktion führen, um die Kostenfunktion zu minimieren.
-
Die Ausgabe kann eine Zahl sein, die die Anzahl der Zielfahrzeuge 205 angibt, denen das Host-Fahrzeug 101 an der Kreuzung 200 voraussichtlich Vorfahrt gewährt. Das heißt, die Ausgabe kann die Anzahl der Zielfahrzeuge 205 früher in der zeitlichen Reihenfolge als das Host-Fahrzeug 101 sein. Wenn beispielsweise die temporale Schicht die Reihenfolge des Host-Fahrzeugs 101 und der Zielfahrzeuge 205 so vorhersagt, dass zwei Zielfahrzeuge 205 die Kreuzung 200 vor dem Host-Fahrzeug 101 erreichen, kann die temporale Schicht eine alphanumerische Ausgabe von „2“ oder „Vorfahrt für zwei Fahrzeuge“ bereitstellen. Der Computer 105 kann das Host-Fahrzeug 101 steuern, um der durch die Ausgabe der temporalen Schicht bereitgestellten Anzahl der Zielfahrzeuge 205 Vorfahrt zu gewähren. Alternativ oder zusätzlich kann die temporale Schicht Eingaben von Bildern von der CNN-Schicht empfangen und die Anzahl der Zielfahrzeuge 205 ausgeben, denen an der Kreuzung 200 Vorfahrt gewährt werden soll.
-
Die temporale Schicht kann trainiert werden, um die Reihenfolge der Zielfahrzeuge 205, die sich der Kreuzung 200 nähern, basierend auf jeweiligen Unterschieden einer Distanz zwischen jedem Zielfahrzeug 205 und einem jeweiligen Haltepunkt an der Kreuzung 200 vorherzusagen. Der Haltepunkt kann ein Punkt sein, an dem das Zielfahrzeug 205 voraussichtlich an der Kreuzung 200 anhält, z. B. ein Verkehrsschild 210, eine Straßenmarkierung 215 usw. Die temporale Schicht kann trainiert werden, um Änderungen bei der Distanz zwischen jedem Zielfahrzeug 205 und dem Haltepunkt und die vorhergesagte Zeit jedes Zielfahrzeugs 205 zum Anhalten am Haltepunkt, d. h. die „Haltezeit“ jedes Zielfahrzeugs 205, zu identifizieren. Das heißt, die temporale Schicht kann eine Geschwindigkeit für jedes Zielfahrzeug 205 und eine Distanz zwischen jedem Zielfahrzeug 205 und dem jeweiligen Haltepunkt für jedes Zielfahrzeug 205 basierend auf identifizierten zeitlichen Unterschieden zwischen den Merkmalsvektoren aus dem Training der temporalen Schicht und der CNN-Schicht vorhersagen. Basierend auf der vorhergesagten Geschwindigkeit und Distanz kann die temporale Schicht die Haltezeit für jedes Zielfahrzeug 205 vorhersagen. Die temporale Schicht kann die Reihenfolge als die Fahrzeuge 101, 205 mit zunehmenden Haltezeiten ausgeben, d. h. das erste Fahrzeug 101,205 hat die kürzeste Haltezeit und jedes darauffolgende Fahrzeug 101, 205 in der Reihenfolge hat die nächstkürzeste Haltezeit.
-
Beim Bereitstellen einer Ausgabe der Anzahl der Zielfahrzeuge 205 kann der Computer 105 eine Nachricht senden, die die Anzahl der Zielfahrzeuge 205 angibt. Der Computer 105 kann die Nachricht über das Netzwerk 125 an Ziele an der Kreuzung senden, einschließlich Zielfahrzeugen 205, denen das Host-Fahrzeug 101 voraussichtlich keine Vorfahrt gewährt. Das heißt, der Computer 105 kann alle Zielfahrzeuge 205 an der Kreuzung 200 und/oder die, die sich dieser nähern, über die Anzahl der Zielfahrzeuge 205, denen das Host-Fahrzeug 101 voraussichtlich Vorfahrt gewährt, informieren. Zusätzlich kann der Computer 105 die Nachricht über das Netzwerk 125 an mobile Vorrichtungen von Fußgängern an der Kreuzung 200 senden. Zusätzlich kann der Computer 105 die Nachricht über das Netzwerk 125 an die Kreuzungsinfrastruktursteuerung 225 senden.
-
Der Computer 105 kann die Anzahl der Zielfahrzeuge 205, denen das Host-Fahrzeug 101 voraussichtlich Vorfahrt gewährt, auf einem Anzeigebildschirm 230 des Host-Fahrzeugs 101 anzeigen. Der Anzeigebildschirm 230 kann die Nachricht Fußgängern bereitstellen, die das Host-Fahrzeug 101 betrachten. Der Anzeigebildschirm 230 kann z. B. eine Flüssigkristallanzeige (liquid-crystal display - LCD), eine Leuchtdioden-(LED-)Anzeige usw. sein. Der Anzeigebildschirm 230 kann an einer vorderen Windschutzscheibe des Host-Fahrzeugs 101 angeordnet sein. Der Anzeigebildschirm 230 kann die Nachricht als eine Zahl anzeigen, die die Anzahl der Zielfahrzeuge 205 angibt, denen das Host-Fahrzeug 101 Vorfahrt gewähren wird. Alternativ oder zusätzlich kann das Host-Fahrzeug 101 einen Projektor oder dergleichen beinhalten, der die Nachricht auf die vordere Windschutzscheibe projiziert, z. B. in einem sogenannten Heads-up-Display.
-
Der Computer 105 kann eine Bremse 120 des Host-Fahrzeugs 101 betätigen, um den Zielfahrzeugen 205 an der Kreuzung 200 Vorfahrt zu gewähren. Da das Host-Fahrzeug 101 an der Kreuzung 200 nach den Zielfahrzeugen 205 ankommt, gewährt das Host-Fahrzeug 101 an der Kreuzung 200 den Zielfahrzeugen 205 Vorfahrt. Wenn eines der Zielfahrzeuge 205 die Kreuzung 200 durchfährt, kann der Computer 105 zusätzliche Bilder sammeln und eine neue Anzahl von Zielfahrzeugen 205 vorhersagen, denen Vorfahrt gewährt werden soll. Der Computer 105 kann eine Nachricht übermitteln, die die neue Anzahl von Zielfahrzeugen 205 angibt, denen an der Kreuzung 200 Vorfahrt gewährt werden soll. Das heißt, wenn der Computer 105 zuvor bestimmt hatte, zwei Zielfahrzeugen 205 Vorfahrt zu gewähren, und eines der Zielfahrzeuge 205 die Kreuzung 200 durchfährt, kann der Computer 105 das verbleibende Zielfahrzeug 205 identifizieren und bestimmen, dass das Host-Fahrzeug 101 einem Zielfahrzeug 205 Vorfahrt gewähren sollte. Der Computer 105 kann über das Netzwerk 125 eine Nachricht übermitteln, die angibt, dass das Host-Fahrzeug 101 einem Zielfahrzeug 205 Vorfahrt gewährt, wie vorstehend beschrieben.
-
Wenn der Computer 105 bestimmt, dass die Anzahl der Zielfahrzeuge 205, denen das Host-Fahrzeug 101 Vorfahrt gewähren soll, null ist, kann der Computer 105 einen Antrieb 120 betätigen, um das Host-Fahrzeug 101 über die Kreuzung 200 zu bewegen. Das heißt, wenn alle Zielfahrzeuge 205, denen das Host-Fahrzeug 101 Vorfahrt gewähren sollte, die Kreuzung 200 durchfahren haben, können die verbleibenden Zielfahrzeuge 205 dem Host-Fahrzeug 101 Vorfahrt gewähren, wenn das Host-Fahrzeug 101 die Kreuzung 200 durchfährt. Der Computer 105 kann eine Nachricht übermitteln, die angibt, dass es keine Zielfahrzeuge 205 gibt, denen das Host-Fahrzeug 101 vor dem Betätigen des Antriebs 120 an der Kreuzung 200 voraussichtlich Vorfahrt gewährt.
-
3 ist ein Schaubild eines beispielhaften Prozesses 300 zum Betreiben eines Host-Fahrzeugs 101 an einer Kreuzung 200. Der Prozess 300 beginnt in einem Block 305, in dem ein Bildsensor 110 des Fahrzeugs 101 und/oder ein Infrastruktursensor 220 Bilder der Kreuzung 200 sammelt. Die Bilder können Daten 115 beinhalten, die das Host-Fahrzeug 101 und/oder ein oder mehrere Zielfahrzeuge 205 angeben. Wenn der Infrastruktursensor 220 die Bilder der Kreuzung 200 sammelt, kann eine Infrastruktursteuerung 225 und/oder ein Server 130 die Bilder über ein Netzwerk 125 an den Computer 105 übermitteln.
-
Als Nächstes gibt der Computer 105 in einem Block 310 die Bilder in ein maschinelles Lernprogramm ein. Wie vorstehend beschrieben, kann das maschinelle Lernprogramm ein tiefes neuronales Netzwerk mit einer Convolutional-Neural-Network-Schicht, die Zielfahrzeuge 205 in den Bildern identifiziert, und einer temporalen Schicht sein, die zeitliche Unterschiede zwischen Merkmalen der Bilder identifiziert, z. B. Merkmale der Zielfahrzeuge 205, Verkehrsschilder, Straßenmarkierungen 215, Ampeln usw. Das maschinelle Lernprogramm kann trainiert werden, um mit der temporalen Schicht eine Reihenfolge zu erkennen, in der das Host-Fahrzeug 101 und die Zielfahrzeuge 205 an der Kreuzung 200 ankommen.
-
Als Nächstes bestimmt der Computer 105 in einem Block 315 eine Anzahl der Zielfahrzeuge 205, denen das Host-Fahrzeug 101 an der Kreuzung 200 voraussichtlich Vorfahrt gewährt. Basierend auf der durch die temporale Schicht identifizierten Reihenfolge kann das maschinelle Lernprogramm eine Anzahl von Zielfahrzeugen 205 ausgeben, die voraussichtlich vor dem Host-Fahrzeug 101 an der Kreuzung 200 ankommen. Da das Host-Fahrzeug 101 Zielfahrzeugen 205 Vorfahrt gewährt, die vor dem Host-Fahrzeug 101 an der Kreuzung 200 ankommen, kann der Computer 105 eine Anzahl von Zielfahrzeugen 205 bestimmen, die laut Vorhersage des maschinelle Lernprogramms vor dem Host-Fahrzeug 101 an der Kreuzung 200 ankommen, ist die Anzahl der Zielfahrzeuge 205, denen das Host-Fahrzeug 101 an der Kreuzung 200 voraussichtlich Vorfahrt gewährt.
-
Als Nächstes übermittelt der Computer 105 in einem Block 320 eine Nachricht, die die Anzahl der Zielfahrzeuge 205, denen das Host-Fahrzeug 101 voraussichtlich Vorfahrt gewährt, angibt. Die Nachricht kann ein einzelnes numerisches Zeichen sein, das die Anzahl der Zielfahrzeuge 205 angibt, oder kann eine alphanumerische Zeichenfolge sein, die angibt, dass das Host-Fahrzeug 101 den Zielfahrzeugen 205 Vorfahrt gewährt, z.B. „2 Fahrzeugen Vorfahrt gewähren“. Der Computer 105 kann die Nachricht über das Netzwerk 125 an die Zielfahrzeuge 205 und/oder den Server 130 und/oder Benutzervorrichtungen von Fußgängern an der Kreuzung 200 senden. Darüber hinaus kann der Computer 105 die Nachricht auf einer Anzeige 230 am Host-Fahrzeug 101 anzeigen, z. B. auf einer Windschutzscheibe des Host-Fahrzeugs 101, um die Nachricht Fußgängern und Zielfahrzeugen 205 an der Kreuzung 200 anzuzeigen.
-
Als Nächstes kann der Computer 105 in einem Block 325 eine Bremse 120 betätigen, um den Zielfahrzeugen 205 an der Kreuzung 200 Vorfahrt zu gewähren. Der Computer 105 kann sich zu einer Straßenmarkierung 215 bewegen und die Bremse 120 betätigen, um das Fahrzeug 101 an der Straßenmarkierung 215 anzuhalten, wenn eines der Zielfahrzeuge 205 die Kreuzung 200 durchfährt.
-
Als Nächstes bestimmt der Computer 105 in einem Block 330, ob es beliebige verbleibende Zielfahrzeuge 205 gibt, denen das Host-Fahrzeug 101 voraussichtlich Vorfahrt gewährt. Der Computer 105 kann in das maschinelle Lernprogramm neue Bilder der Kreuzung 200 eingeben und eine Ausgabe der aktuellen Anzahl von Zielfahrzeugen 205, denen das Host-Fahrzeug 101 an der Kreuzung voraussichtlich Vorfahrt gewährt, empfangen. Wenn die Ausgabe null ist, kann der Computer 105 bestimmen, dass das Host-Fahrzeug 101 keinen Zielfahrzeugen 205 mehr Vorfahrt gewähren sollte, und der Prozess 300 wird in einem Block 335 fortgesetzt. Andernfalls kann der Computer 105, wenn die Ausgabe ungleich null ist, bestimmen, dass das Host-Fahrzeug 101 mindestens einem weiteren Zielfahrzeug 205 Vorfahrt gewähren sollte, und der Prozess 300 kehrt zu dem Block 320 zurück, um eine Nachricht mit der neuen Anzahl der Zielfahrzeuge 205 zu übermitteln, denen das Host-Fahrzeug 101 an der Kreuzung 200 voraussichtlich Vorfahrt gewährt.
-
In dem Block 335 betätigt der Computer 105 einen Antrieb 120, um das Host-Fahrzeug 101 über die Kreuzung 200 zu bewegen. Da das Host-Fahrzeug 101 den Zielfahrzeugen 205 nun keine Vorfahrt mehr gewähren muss, kann das Host-Fahrzeug 101 die Kreuzung 200 durchfahren. Der Computer 105 kann eine Lenkkomponente 120 betätigen, um das Fahrzeug 101 auf eine andere Fahrbahnspur zu lenken.
-
Als Nächstes bestimmt der Computer 105 in einem Block 340, ob der Prozess 300 fortgesetzt werden soll. Der Computer 105 kann beispielsweise bestimmen, dass der Prozess 300 fortgesetzt wird, wenn sich das Host-Fahrzeug 101 einer anderen Kreuzung 200 nähert. Der Computer 105 kann in einem anderen Beispiel bestimmen, den Prozess 300 nicht fortzusetzen, wenn das Host-Fahrzeug 101 angehalten und abgeschaltet worden ist. Wenn der Computer 105 bestimmt, fortzufahren, kehrt der Prozess 300 zum Block 305 zurück, um mehr Bilder zu sammeln. Andernfalls endet der Prozess 300.
-
Im vorliegenden Zusammenhang bedeutet das ein Adjektiv modifizierende Adverb „im Wesentlichen“, dass eine Form, eine Struktur, ein Messwert, ein Wert, eine Berechnung usw. von einer genau beschriebenen Geometrie, einer genau beschriebenen Distanz, einem genau beschriebenen Messwert, einem genau beschriebenen Wert, einer genau beschriebenen Berechnung usw. aufgrund von Mängeln hinsichtlich der Materialien, Bearbeitung, Herstellung, Datensammlermessungen, Berechnungen, Verarbeitungszeit, Kommunikationszeit usw. abweichen kann.
-
Rechenvorrichtungen, wie in dieser Schrift erörtert, einschließlich des Computers 105 und des Servers 130, beinhalten Prozessoren und Speicher, wobei die Speicher im Allgemeinen jeweils Anweisungen beinhalten, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend identifizierten, sowie zum Ausführen vorstehend beschriebener Blöcke oder Schritte von Prozessen ausgeführt werden können. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder interpretiert werden, die unter Verwendung einer Vielzahl von Programmiersprachen und/oder -techniken erstellt wurden, darunter unter anderem, entweder allein oder in Kombination, Java™, C, C++, Python, Visual Basic, Java Script, Perl, HTML usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, darunter einen oder mehrere der in dieser Schrift beschriebenen Prozesse. Derartige Anweisungen und andere Daten können unter Verwendung einer Vielfalt von computerlesbaren Medien gespeichert und übermittelt werden. Eine Datei in dem Computer 105 ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert ist.
-
Zu einem computerlesbaren Medium zählt jedes Medium, das am Bereitstellen von Daten (z. B. Anweisungen), die durch einen Rechner gelesen werden können, beteiligt ist. Ein solches Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtiger Medien, flüchtiger Medien usw. Nichtflüchtige Medien schließen zum Beispiel optische oder magnetische Platten und sonstige Dauerspeicher ein. Flüchtige Medien beinhalten einen dynamischen Direktzugriffsspeicher (Dynamic Random Access Memory - DRAM), der in der Regel einen Hauptspeicher darstellt. Gängige Formen computerlesbarer Medien schließen beispielsweise Folgendes ein: eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer gelesen werden kann.
-
Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass, wenngleich die Schritte derartiger Prozesse usw. als in einer bestimmten Reihenfolge erfolgend beschrieben wurden, derartige Prozesse derart durchgeführt werden können, dass die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, welche von der in dieser Schrift beschriebenen Reihenfolge abweicht. Es versteht sich ferner, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte in dieser Schrift beschriebene Schritte weggelassen werden könnten. In dem Prozess 300 könnten zum Beispiel einer oder mehrere der Schritte weggelassen werden oder die Schritte könnten in einer anderen Reihenfolge ausgeführt werden, als in 3 gezeigt. Anders ausgedrückt sind die Beschreibungen von Systemen und/oder Prozessen im vorliegenden Zusammenhang zum Zwecke eines Veranschaulichens von bestimmten Ausführungsformen bereitgestellt und sollten keinesfalls dahingehend ausgelegt werden, dass sie den offenbarten Gegenstand einschränken.
-
Dementsprechend versteht es sich, dass die vorliegende Offenbarung, einschließlich der vorstehenden Beschreibung und der begleitenden Figuren und nachstehenden Patentansprüche, veranschaulichend und nicht einschränkend sein sollen. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, sollten sich dem Fachmann nach der Lektüre der vorangehenden Beschreibung erschließen. Der Umfang der Erfindung sollte nicht unter Bezug auf die vorangehende Beschreibung bestimmt werden, sondern stattdessen in Bezug auf die Ansprüche, die dieser Schrift beigefügt sind und/oder in einer hierauf basierenden, nicht vorläufigen Patentanmeldung enthalten sind, gemeinsam mit dem vollständigen Umfang von Äquivalenten, zu welchen derartige Ansprüche berechtigen. Es ist vorherzusehen und beabsichtigt, dass zukünftige Entwicklungen im Stand der Technik, der in dieser Schrift erörtert ist, stattfinden werden und dass die offenbarten Systeme und Verfahren in solche zukünftigen Ausführungsformen aufgenommen werden. Zusammenfassend versteht sich, dass der offenbarte Gegenstand modifiziert und variiert werden kann.
-
Der ein Substantiv modifizierende Artikel „ein/e“ sollte dahingehend verstanden werden, dass er einen oder mehrere bezeichnet, es sei denn, es ist etwas anderes angegeben oder der Kontext erfordert etwas anderes. Der Ausdruck „basierend auf“ schließt teilweise oder vollständig basierend auf ein.
-
Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das einen Computer aufweist, der einen Prozessor und einen Speicher beinhaltet, wobei in dem Speicher Anweisungen gespeichert sind, die durch den Prozessor ausgeführt werden können, um: eine Vielzahl von Bildern von einem oder mehreren Zielfahrzeugen an einer Kreuzung zu sammeln; die Bilder in ein maschinelles Lernprogramm einzugeben, um eine Anzahl der Zielfahrzeuge zu bestimmen, denen ein Host-Fahrzeug basierend auf Zeitunterschieden zwischen der Vielzahl von Bildern an der Kreuzung voraussichtlich Vorfahrt gewährt; und eine Nachricht zu übermitteln, die die Anzahl der Zielfahrzeuge angibt.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Betätigen einer Bremse des Host-Fahrzeugs, um den Zielfahrzeugen an der Kreuzung Vorfahrt zu gewähren.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Übermitteln einer Nachricht nach dem Vorfahrtgewähren gegenüber einem ersten der Zielfahrzeuge, die eine neue Anzahl der Zielfahrzeuge angibt, denen das Host-Fahrzeug an der Kreuzung voraussichtlich Vorfahrt gewährt.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Anwenden des maschinellen Lernprogramms, um eine Reihenfolge der Zielfahrzeuge, denen das Host-Fahrzeug an der Kreuzung voraussichtlich Vorfahrt gewährt, vorherzusagen.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Vorhersagen der Reihenfolge basierend auf jeweiligen Unterschieden einer Distanz zwischen jedem Zielfahrzeug und einem jeweiligen Haltepunkt an der Kreuzung.
-
Gemäß einer Ausführungsform ist der Haltepunkt eines von einem Verkehrsschild und einer Straßenmarkierung.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Vorhersagen der Reihenfolge basierend auf einer voraussichtlichen Haltezeit des Host-Fahrzeugs an der Kreuzung.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Identifizieren der Kreuzung als eine Vierwegekreuzung und zum Bestimmen der Anzahl der Zielfahrzeuge, denen das Host-Fahrzeug voraussichtlich Vorfahrt gewährt, als eines von null, eins, zwei oder drei Zielfahrzeugen.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Anzeigen der Nachricht auf einer Windschutzscheibe des Host-Fahrzeugs.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Sammeln der Bilder mit einem am Host-Fahrzeug montierten Sensor, beginnend in einer vorbestimmten Distanz von der Kreuzung.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen, dass sich das Host-Fahrzeug an der Kreuzung befindet, wenn es eine Eingabe von einer Kreuzungsinfrastruktursteuerung empfängt.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen der Anzahl der Zielfahrzeuge, denen das Host-Fahrzeug an der Kreuzung basierend auf Bildern, die durch die Kreuzungsinfrastruktursteuerung gesammelt werden, voraussichtlich Vorfahrt gewährt.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Übermitteln der Nachricht an die Kreuzungsinfrastruktursteuerung.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um nach dem Senden einer Nachricht, die angibt, dass es keine Zielfahrzeuge gibt, denen das Host-Fahrzeug an der Kreuzung voraussichtlich Vorfahrt gewährt, einen Antrieb zu betätigen, um das Host-Fahrzeug in die Kreuzung zu bewegen.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: Sammeln einer Vielzahl von Bildern von einem oder mehreren Zielfahrzeugen an einer Kreuzung; Eingeben der Bilder in ein maschinelles Lernprogramm, um eine Anzahl der Zielfahrzeuge zu bestimmen, denen ein Host-Fahrzeug basierend auf Zeitunterschieden zwischen der Vielzahl von Bildern an der Kreuzung voraussichtlich Vorfahrt gewährt; und Übermitteln einer Nachricht, die die Anzahl der Zielfahrzeuge angibt.
-
Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch, nach dem Vorfahrtgewähren gegenüber einem ersten der Zielfahrzeuge, Übermitteln einer Nachricht, die eine neue Anzahl der Zielfahrzeuge angibt, denen das Host-Fahrzeug an der Kreuzung voraussichtlich Vorfahrt gewährt.
-
Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch Anwenden des maschinellen Lernprogramms zum Vorhersagen einer Reihenfolge der Zielfahrzeuge, denen das Host-Fahrzeug an der Kreuzung voraussichtlich Vorfahrt gewährt.
-
Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das Folgendes aufweist: eine Bremse eines Host-Fahrzeugs; Mittel zum Sammeln einer Vielzahl von Bildern von einem oder mehreren Zielfahrzeugen an einer Kreuzung; Mittel zum Eingeben der Bilder in ein maschinelles Lernprogramm, um eine Anzahl der Zielfahrzeuge zu bestimmen, denen das Host-Fahrzeug basierend auf Zeitunterschieden zwischen der Vielzahl von Bildern an der Kreuzung voraussichtlich Vorfahrt gewährt; und Mittel zum Übermitteln einer Nachricht, die die Anzahl der Zielfahrzeuge angibt.
-
Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch Mittel zum Übermitteln einer Nachricht, die eine neue Anzahl der Zielfahrzeuge angibt, denen das Host-Fahrzeug an der Kreuzung voraussichtlich Vorfahrt gewährt, nachdem einem ersten der Zielfahrzeuge Vorfahrt gewährt wurde.
-
Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch Mittel zum Vorhersagen der Reihenfolge der Zielfahrzeuge, denen das Host-Fahrzeug an der Kreuzung voraussichtlich Vorfahrt gewährt.