-
ALLGEMEINER STAND DER TECHNIK
-
Ein Fahrzeug kann mit elektronischen und elektromechanischen Komponenten ausgestattet sein, z. B. Rechenvorrichtungen, Netzwerken, Sensoren, Steuerungen usw. Ein Fahrzeugcomputer kann Daten bezüglich der Umgebung des Fahrzeugs aufnehmen und kann das Fahrzeug oder mindestens einige Komponenten davon auf Grundlage der aufgenommenen Daten betreiben. Fahrzeugsensoren können Daten hinsichtlich zurückzulegender Routen und zu umfahrender Objekte in der Umgebung des Fahrzeugs bereitstellen. Der Betrieb des Fahrzeugs kann sich auf das Aufnehmen genauer und aktueller Daten bezüglich Objekten in der Umgebung eines Fahrzeugs während des Betriebs des Fahrzeugs stützen.
-
Figurenliste
-
- 1 ist ein Blockdiagramm, das ein beispielhaftes Fahrzeugsteuersystem veranschaulicht.
- 2 ist ein Diagramm, das ein Fahrzeug veranschaulicht, das in einem beispielhaften Bereich betrieben wird.
- 3A-3E sind Diagramme, die beispielhafte seitliche Positionen für das Fahrzeug innerhalb eines Segments eines Fahrweges veranschaulichen.
- 4A ist ein erster Teil eines Ablaufdiagramms eines beispielhaften Prozesses zum Bestimmen von Betriebsparametern für einen autonomen Modus.
- 4B ist ein zweiter Teil des Ablaufdiagramms aus 4A.
-
DETAILLIERTE BESCHREIBUNG
-
Ein Fahrzeugcomputer kann ein Fahrzeug auf einem Fahrweg, d. h. einem vorgegebenen Bereich für die Fahrzeugfahrt, in einem Betriebsbereich, der eine Vielzahl von Teilbereichen beinhalten kann, d. h. in einem vorgegebenen Bereich für die Verstauung des Fahrzeugs, z. B. Parklücken, betreiben. Während des Betreibens auf dem Fahrzeugweg kann der Fahrzeugcomputer über Bilddaten nach geeigneten Teilbereichen, z. B. unbelegten Parklücken, suchen. Der Fahrzeugcomputer kann den Fahrweg auf Grundlage von Kartendaten bestimmen. Während des Betreibens auf dem Fahrweg können Sichtfelder verfügbarer Fahrzeugsensoren Blindzonen entlang Begrenzungen des Fahrweges definieren, innerhalb derer die Fahrzeugsensoren keine Daten erfassen können. Ein Objekt kann sich in der Blindzone befinden und wird somit von den verfügbaren Sensoren unter Umständen nicht erfasst. In dieser Situation können sich ein oder mehrere Objekte, z. B. Fußgänger und andere Fahrzeuge, aus der Blindzone herausbewegen und in den Fahrweg eintreten. Typischerweise kann der Fahrzeugcomputer das Fahrzeug in einer seitlichen Position (wie nachstehend erörtert) innerhalb des Fahrweges betreiben, um zu verhindern, dass andere Fahrzeuge, die auf dem Fahrweg in einer entgegengesetzten Richtung zu dem Fahrzeug betrieben werden, behindert werden, unabhängig davon, ob derartige Fahrzeuge auf dem Fahrweg vorhanden sind, was eine Größe der Blindzonen entlang der Begrenzungen des Fahrweges erhöhen kann. Zusätzlich kann der Fahrzeugcomputer eine Geschwindigkeit des Fahrzeugs entlang des Fahrweges reduzieren, sodass der Fahrzeugcomputer zusätzliche Zeit hat, das Fahrzeug zu steuern, wenn ein Objekt erfasst wird, das aus einer Blindzone in den Fahrweg eintritt, was andere Fahrzeuge, die in der gleichen Richtung wie das Fahrzeug auf dem Fahrweg betrieben werden, behindern kann.
-
Vorteilhafterweise kann der Fahrzeugcomputer eine seitliche Position, d. h. eine Nähe zu einer Begrenzung des Fahrweges, für das Fahrzeug innerhalb des Fahrweges auf Grundlage von Erfassens einer Anwesenheit oder Abwesenheit anderer Fahrzeuge, die auf dem Fahrweg betrieben werden, bestimmen. Eine „seitliche Position“ ist ein Abstand, der durch eine Linie definiert ist, die sich von dem Fahrzeug zu einer Begrenzung des Fahrweges und senkrecht zu einer Längsachse des Fahrzeugs und/oder der Begrenzung des Fahrweges erstreckt. Der Fahrzeugcomputer kann eine seitliche Position bestimmen, die Blindzonen entlang der Begrenzungen des Fahrweges minimiert, während andere Fahrzeuge, die auf dem Fahrweg in einer entgegengesetzten Richtung zu dem Fahrzeug betrieben werden, nicht behindert werden. Zusätzlich kann der Fahrzeugcomputer dann eine Geschwindigkeit für das Fahrzeug auf Grundlage der seitlichen Position des Fahrzeugs innerhalb des Fahrweges bestimmen. Durch Bestimmen einer Geschwindigkeit für das Fahrzeug auf Grundlage der seitlichen Position kann der Fahrzeugcomputer eine Geschwindigkeit bestimmen, mit der das Fahrzeug betrieben werden soll, die eine Wahrscheinlichkeit verringert, dass ein Aufprall Objekte, die aus einer Blindzone in den Fahrweg eintreten, stattfindet, was ebenfalls eine Wahrscheinlichkeit reduzieren kann, dass andere Fahrzeuge, falls vorhanden, die in der gleichen Richtung wie das Fahrzeug auf dem Fahrweg betrieben werden, behindert werden.
-
Ein System beinhaltet einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei auf dem Speicher Anweisungen gespeichert sind, die durch den Prozessor dazu ausführbar sind, eine Breite eines Fahrweges auf Grundlage einer Karte während eines Betreibens eines Fahrzeugs auf dem Fahrweg zu bestimmen. Die Anweisungen beinhalten ferner Anweisungen zum Bestimmen einer seitlichen Position für das Fahrzeug auf dem Fahrweg auf Grundlage der Breite des Fahrweges und einer Anwesenheit oder Abwesenheit eines Zielfahrzeugs bei Erfassen der Anwesenheit oder der Abwesenheit des Zielfahrzeugs auf dem Fahrweg. Die Anweisungen beinhalten ferner Anweisungen zum Steuern des Fahrzeugs zum Betreiben gemäß der bestimmten seitlichen Position auf dem Fahrweg und einer Geschwindigkeit des Fahrzeugs, die auf der bestimmten seitlichen Position auf dem Fahrweg basiert.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen der seitlichen Position für das Fahrzeug auf dem Fahrweg zusätzlich auf Grundlage von Erfassen von Spurmarkierungen auf dem Fahrweg beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen, dass die seitliche Position näher an den Spurmarkierungen auf dem Fahrweg als an einer Begrenzung des Fahrweges ist, bei Erfassen der Abwesenheit des Zielfahrzeugs beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen, dass die seitliche Position mittig auf dem Fahrweg ist, bei Erfassen der Abwesenheit des Zielfahrzeugs beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen, dass die seitliche Position mittig zwischen dem Zielfahrzeug und einer Begrenzung des Fahrweges ist, bei Erfassen einer Anwesenheit des Zielfahrzeugs beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen, dass die seitliche Position näher an dem Zielfahrzeug als an einer Begrenzung des Fahrweges ist, bei Erfassen einer Anwesenheit des Zielfahrzeugs beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen der Geschwindigkeit für das Fahrzeug auf dem Fahrweg zusätzlich auf Grundlage eines Risikoniveaus des Fahrweges bei Bestimmen des Risikoniveaus für den Fahrweg anhand der Karte beinhalten.
-
Das System kann einen Remote-Computer beinhalten, der einen zweiten Prozessor und einen zweiten Speicher beinhaltet. Auf dem zweiten Speicher können Anweisungen gespeichert sein, die durch den zweiten Prozessor ausführbar sind, um die Karte auf Grundlage von aggregierten Daten zu generieren, die Nachrichten von einer Vielzahl von Fahrzeugen beinhalten, die das Risikoniveau des Fahrweges angeben.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen eines Risikoniveaus für den Fahrweg auf Grundlage einer Art von Objekt, die entlang des Fahrweges erfasst wird, beinhalten. Die Anweisungen können ferner Anweisungen zum Bestimmen der Geschwindigkeit für das Fahrzeugs innerhalb des Fahrweges zusätzlich auf Grundlage des Risikoniveaus des Fahrweges beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen des Risikoniveaus für den Fahrweg zusätzlich auf Grundlage von Erfassen einer Blindzone entlang des Fahrweges beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Anhalten des Fahrzeugs auf Grundlage davon, dass die bestimmte Geschwindigkeit kleiner als eine Geschwindigkeitsschwelle ist, bei Erfassen einer Anwesenheit des Zielfahrzeugs beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Anhalten des Fahrzeugs auf Grundlage davon, dass sich ein Objekt innerhalb einer Abstandsschwelle des Fahrzeugs befindet, bei Erfassen, dass das Objekt in den Fahrweg eintritt, beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Generieren der Karte auf Grundlage von Sensordaten, die während des Betreibens des Fahrzeugs in einem Trainingsmodus erhalten werden, beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Bereitstellen der Karte an einen Remote-Computer beinhalten.
-
Das Zielfahrzeug kann in eine entgegengesetzte Richtung zu dem Fahrzeug fahren.
-
Ein Verfahren beinhaltet Bestimmen einer Breite eines Fahrweges auf Grundlage einer Karte während eines Betreibens eines Fahrzeugs auf dem Fahrweg. Das Verfahren beinhaltet ferner Bestimmen einer seitlichen Position für das Fahrzeug auf dem Fahrweg auf Grundlage der Breite des Fahrweges und einer Anwesenheit oder Abwesenheit eines Zielfahrzeugs bei Erfassen der Anwesenheit oder der Abwesenheit des Zielfahrzeugs auf dem Fahrweg. Das Verfahren beinhaltet ferner Steuern des Fahrzeugs zum Betreiben gemäß der bestimmten seitlichen Position auf dem Fahrweg und einer Geschwindigkeit des Fahrzeugs, die auf der bestimmten seitlichen Position auf dem Fahrweg basiert.
-
Das Verfahren kann ferner Bestimmen, dass die seitliche Position mittig auf dem Fahrweg ist, bei Erfassen der Abwesenheit des Zielfahrzeugs beinhalten.
-
Das Verfahren kann ferner Bestimmen, dass die seitliche Position näher an einer Spurmarkierung auf dem Fahrweg als an einer Begrenzung des Fahrweges ist, bei Erfassen der Abwesenheit des Zielfahrzeugs beinhalten.
-
Das Verfahren kann ferner Bestimmen, dass die seitliche Position mittig zwischen dem Zielfahrzeug und einer Begrenzung des Fahrweges ist, bei Erfassen einer Anwesenheit des Zielfahrzeugs beinhalten.
-
Das Verfahren kann ferner Bestimmen, dass die seitliche Position näher an dem Zielfahrzeug als an einer Begrenzung des Fahrweges ist, bei Erfassen einer Anwesenheit des Zielfahrzeugs beinhalten.
-
Ferner ist in dieser Schrift eine Rechenvorrichtung offenbart, die dazu programmiert ist, beliebige der vorstehenden Verfahrensschritte auszuführen. Darüber hinaus ist in dieser Schrift ein Computerprogrammprodukt offenbart, das ein computerlesbares Medium beinhaltet, auf dem Anweisungen gespeichert sind, die durch einen Computerprozessor ausgeführt dazu werden können, beliebige der vorstehenden Verfahrensschritte auszuführen.
-
Unter Bezugnahme auf 1-3E beinhaltet ein beispielhaftes Fahrzeugsteuersystem 100 ein Fahrzeug 105. Ein Fahrzeugcomputer 110 in dem Fahrzeug 105 empfängt Daten von Sensoren 115. Der Fahrzeugcomputer 110 ist dazu programmiert, während des Betreibens des Fahrzeugs 105 auf einem Fahrweg 205 (siehe 2) eine Breite W des Fahrweges 205 auf Grundlage einer Karte zu bestimmen. Ein Fahrweg 205 ist ein vorgegebener Bereich innerhalb eines Betriebsbereichs 200 (wie nachstehend erörtert), z. B. eine Spur oder eine Gasse, für die Fahrt des Fahrzeugs 105. Der Fahrzeugcomputer 110 ist ferner dazu programmiert, bei Erfassen einer Anwesenheit oder einer Abwesenheit eines Zielfahrzeugs 215 auf dem Fahrweg 205 eine seitliche Position L für das Fahrzeug 105 auf dem Fahrweg 205 auf Grundlage der Breite W des Fahrweges 205 und der Anwesenheit oder Abwesenheit des Zielfahrzeugs 215 zu bestimmen. Der Fahrzeugcomputer 110 ist ferner dazu programmiert, das Fahrzeug 105 zum Betreiben gemäß der bestimmten seitlichen Position L auf dem Fahrweg 205 und einer Geschwindigkeit des Fahrzeugs 105, die auf der bestimmten seitlichen Position L auf dem Fahrweg 205 basiert, zu steuern.
-
Nun unter Bezugnahme auf 1 beinhaltet das Fahrzeug 105 den Fahrzeugcomputer 110, die Sensoren 115, Aktoren 120 zum Betätigen verschiedener Fahrzeugkomponenten 125 und ein Fahrzeugkommunikationsmodul 130. Das Kommunikationsmodul 130 ermöglicht es dem Fahrzeugcomputer 110, mit einem Remote-Servercomputer 140 und/oder anderen Fahrzeugen zu kommunizieren, z. B. über ein Nachrichten- oder Rundfunkprotokoll, wie etwa dedizierte Nahbereichskommunikation (Dedicated Short Range Communications - DSRC), ein Mobilfunkt- und/oder ein anderes Protokoll, das die Kommunikation von Fahrzeug zu Fahrzeug, von Fahrzeug zu Infrastruktur, von Fahrzeug zu Cloud oder dergleichen unterstützen kann, und/oder über ein Paketnetzwerk 135.
-
Der Fahrzeugcomputer 110 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Der Speicher beinhaltet eine oder mehrere Formen computerlesbarer Medien und speichert durch den Fahrzeugcomputer 110 ausführbare Anweisungen zum Durchführen verschiedener Vorgänge, welche die in dieser Schrift offenbarten beinhalten. Der Fahrzeugcomputer 110 kann ferner zwei oder mehr Rechenvorrichtungen beinhalten, die gemeinsam betrieben werden, um Vorgänge des Fahrzeugs 105 auszuführen, welche die in dieser Schrift beschriebenen beinhalten. Ferner kann der Fahrzeugcomputer 110 ein Universalcomputer mit einem Prozessor und einem Speicher sein, wie vorstehend beschrieben, und/oder kann eine elektronische Steuereinheit (electronic control unit - ECU) oder eine elektronische Steuerung oder dergleichen für eine spezifische Funktion oder einen Satz von Funktionen beinhalten und/oder kann eine dedizierte elektronische Schaltung beinhalten, die eine ASIC beinhaltet, die für einen konkreten Vorgang hergestellt ist, z. B. eine ASIC zum Verarbeiten von Sensordaten und/oder Kommunizieren der Sensordaten. In einem weiteren Beispiel kann der Fahrzeugcomputer 110 ein FPGA (Field-Programmable Gate Array - feldprogrammierbares Gate-Array) beinhalten, bei dem es sich um eine integrierte Schaltung handelt, die so hergestellt ist, dass sie durch einen Benutzer konfigurierbar ist. Typischerweise wird eine Hardwarebeschreibungssprache wie etwa VHDL (Very High Speed Integrated Circuit Hardware Description Language - Hardwarebeschreibungssprache für integrierte Schaltungen mit sehr hoher Geschwindigkeit) in der elektronischen Entwurfsautomatisierung verwendet, um digitale Systeme und Mischsignalsysteme, wie etwa FPGA und ASIC, zu beschreiben. Zum Beispiel wird eine ASIC auf Grundlage einer vor der Herstellung bereitgestellten VHDL-Programmierung hergestellt, wohingegen logische Komponenten innerhalb eines FPGA auf Grundlage der VHDL-Programmierung konfiguriert sein können, z. B. auf einem Speicher gespeichert, der elektrisch mit der FPGA-Schaltung verbunden ist. In einigen Beispielen kann eine Kombination aus Prozessor(en), ASIC(s) und/oder FPGA-Schaltungen in dem Fahrzeugcomputer 110 eingeschlossen sein.
-
Der Fahrzeugcomputer 110 kann das Fahrzeug 105 in einem autonomen Modus, einem teilautonomen Modus oder einem nicht autonomen (oder manuellen) Modus betreiben und/oder überwachen, d. h. kann den Betrieb des Fahrzeugs 105 steuern und/oder überwachen, einschließlich des Steuerns und/oder Überwachens von Komponenten 125. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als einer definiert, bei dem jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105 durch den Fahrzeugcomputer 110 gesteuert wird; in einem teilautonomen Modus steuert der Fahrzeugcomputer 110 eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs 105; in einem nicht autonomen Modus steuert ein menschlicher Fahrzeugführer jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105.
-
Der Fahrzeugcomputer 110 kann Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Steuerung der Beschleunigung in dem Fahrzeug 105 durch Steuern eines oder mehrerer von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenkung, Getriebe, Klimasteuerung, Innen- und/oder Außenbeleuchtung, Hupe, Türen usw. des Fahrzeugs 105 zu betreiben sowie um zu bestimmen, ob und wann der Fahrzeugcomputer 110 derartige Vorgänge anstelle eines menschlichen Fahrzeugführers steuern soll.
-
Der Fahrzeugcomputer 110 kann mehr als einen Prozessor beinhalten, der z.B. in elektronischen Steuereinheiten (ECUs) oder dergleichen eingeschlossen ist, die in dem Fahrzeug 105 eingeschlossen sind, um verschiedene Fahrzeugkomponenten 125 zu überwachen und/oder zu steuern, z. B. eine Getriebesteuerung, eine Bremssteuerung, eine Lenksteuerung usw., oder kommunikativ daran gekoppelt sein, z. B. über ein Fahrzeugkommunikationsnetzwerk, wie etwa einen Kommunikationsbus, wie nachstehend näher beschrieben. Der Fahrzeugcomputer 110 ist im Allgemeinen zur Kommunikation auf einem Fahrzeugkommunikationsnetzwerk, das einen Bus in dem Fahrzeug 105 beinhalten kann, wie etwa ein Controller Area Network (CAN) oder dergleichen, und/oder anderen drahtgebundenen und/oder drahtlosen Mechanismen angeordnet.
-
Über das Netzwerk des Fahrzeugs 105 kann der Fahrzeugcomputer 110 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug 105 übertragen und/oder Nachrichten (z. B. CAN-Nachrichten) von den verschiedenen Vorrichtungen, z.B. Sensoren 115, einem Aktor 120, ECUs usw., empfangen. Alternativ oder zusätzlich kann das Fahrzeugkommunikationsnetzwerk in Fällen, in denen der Fahrzeugcomputer 110 tatsächlich eine Vielzahl von Vorrichtungen umfasst, zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Fahrzeugcomputer 110 dargestellt sind. Ferner können, wie nachstehend erwähnt, verschiedene Steuerungen und/oder Sensoren 115 dem Fahrzeugcomputer 110 Daten über das Fahrzeugkommunikationsnetzwerk bereitstellen.
-
Die Sensoren 115 des Fahrzeugs 105 können eine Vielfalt an Vorrichtungen beinhalten, die bekanntermaßen dem Fahrzeugcomputer 110 Daten bereitstellen. Beispielsweise können die Sensoren 115 (einen) Light-Detection-and-Ranging-Sensor(en) (LIDAR-Sensor(en)) 115 usw. beinhalten, der/die auf einer Oberseite des Fahrzeugs 105, hinter einer Windschutzscheibe des Fahrzeugs 105, um das Fahrzeug 105 herum usw. angeordnet ist/sind und der/die relative Standorte, Größen und Formen von Objekten bereitstellt/bereitstellen, die das Fahrzeug 105 umgeben. Als ein weiteres Beispiel können ein oder mehrere Radarsensoren 115, die an Stoßfängern des Fahrzeugs 105 befestigt sind, Daten bereitstellen, um Standorte der Objekte, zweiter Fahrzeuge usw. bezogen auf den Standort des Fahrzeugs 105 bereitzustellen. Die Sensoren 115 können ferner alternativ oder zusätzlich zum Beispiel einen oder mehrere Kamerasensoren 115 beinhalten, z. B. eine Frontkamera, Seitenkamera usw., die Bilder von einem Bereich um das Fahrzeug 105 bereitstellen. Im Kontext dieser Offenbarung ist ein Objekt ein physischer, d. h. materieller, Gegenstand, der eine Masse aufweist und durch physikalische Phänomene (z. B. Licht oder andere elektromagnetische Wellen oder Schall usw.), die durch Sensoren 115 erfassbar sind, dargestellt werden kann. Somit fallen das Fahrzeug 105 sowie andere Gegenstände, welche die nachstehend erörterten beinhalten, unter die Definition von „Objekt“ in dieser Schrift.
-
Der Fahrzeugcomputer 110 ist dazu programmiert, Daten von einem oder mehreren Sensoren 115 im Wesentlichen kontinuierlich, periodisch und/oder auf Anweisung durch einen Remote-Servercomputer 140 usw. zu empfangen. Die Daten können zum Beispiel einen Standort des Fahrzeugs 105 beinhalten. Standortdaten geben einen Punkt oder Punkte auf einer Bodenfläche vor und können in einer bekannten Form vorliegen, z. B. Geokoordinaten, wie etwa Längengrad- und Breitengradkoordinaten, die über ein Navigationssystem erhalten werden, wie es bekannt ist und welches das globale Positionsbestimmungssystem (GPS) verwendet. Zusätzlich oder alternativ können die Daten einen Standort eines Objekts, z. B. eines Fahrzeugs, eines Schildes, eines Baums usw., bezogen auf das Fahrzeug 105 beinhalten. Als ein Beispiel können die Daten Bilddaten der Umgebung um das Fahrzeug 105 sein. In einem solchen Beispiel können die Bilddaten ein oder mehrere Objekte und/oder Markierungen, z. B. Fahrbahnmarkierungen 305, auf oder entlang einer Straße beinhalten. Mit Bilddaten sind in dieser Schrift digitale Bilddaten gemeint, die z. B. Pixel mit Intensitäts- und Farbwerten umfassen und durch Kamerasensoren 115 aufgenommen werden können. Die Sensoren 115 können an einer beliebigen geeigneten Stelle in oder an dem Fahrzeug 105 montiert sein, z. B. an einem Stoßfänger des Fahrzeugs 105, an einem Dach des Fahrzeugs 105 usw., um Bilder der Umgebung um das Fahrzeug 105 herum zu sammeln.
-
Die Aktoren 120 des Fahrzeugs 105 sind über Schaltungen, Chips oder andere elektronische und/oder mechanische Komponenten umgesetzt, die verschiedene Fahrzeugteilsysteme gemäß geeigneten Steuersignalen betätigen können, wie es bekannt ist. Die Aktoren 120 können dazu verwendet werden, Komponenten 125, einschließlich Bremsung, Beschleunigung und Lenkung eines Fahrzeugs 105, zu steuern.
-
Im Kontext der vorliegenden Offenbarung handelt es sich bei einer Fahrzeugkomponente 125 um eine oder mehrere Hardwarekomponenten, die dazu ausgelegt sind, eine(n) mechanische(n) oder elektromechanische(n) Funktion oder Vorgang durchzuführen - wie etwa Bewegen des Fahrzeugs 105, Verlangsamen oder Anhalten des Fahrzeugs 105, Lenken des Fahrzeugs 105 usw. Nicht einschränkende Beispiele für Komponenten 125 beinhalten 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 Zahnstange usw. beinhalten kann), eine Aufhängungskomponente (die z. B. eines oder mehrere von einem Dämpfer, z. B. einem Stoßdämpfer oder einem Federbein, einer Buchse, einer Feder, einem Querlenker, einem Kugelgelenk, einem Gestänge usw. beinhalten kann), eine Bremskomponente, eine Einparkhilfekomponente, eine Komponente für adaptive Geschwindigkeitsregelung, eine Komponente für adaptives Lenken, ein oder mehrere passive Rückhaltesysteme (z. B. Airbags), einen beweglichen Sitz usw.
-
Zusätzlich kann der Fahrzeugcomputer 110 dazu konfiguriert sein, über ein Fahrzeug-zu-Fahrzeug-Kommunikationsmodul 130 oder eine Schnittstelle mit Vorrichtungen außerhalb des Fahrzeugs 105, z. B. durch eine drahtlose Kommunikation von Fahrzeug zu Fahrzeug (V2V) oder von Fahrzeug zu Infrastruktur (V2X) (Mobilfunk und/oder DSRC usw.) mit einem anderen Fahrzeug, und/oder mit einem Remote-Servercomputer 140 (typischerweise über direkte Funkfrequenzkommunikation) zu kommunizieren. Das Kommunikationsmodul 130 könnte einen oder mehrere Mechanismen, wie etwa einen Sendeempfänger, beinhalten, durch welche die Computer von Fahrzeugen kommunizieren können, einschließlich einer beliebigen gewünschten Kombination aus drahtlosen Kommunikationsmechanismen (z. B. Mobilfunk, drahtlos, Satellit, Mikrowellen und Hochfrequenz) und einer beliebigen gewünschten Netztopologie (oder -topologien, wenn eine Vielzahl von Kommunikationsmechanismen genutzt wird). Beispielhafte über das Kommunikationsmodul 130 bereitgestellte Kommunikation beinhaltet Mobilfunk, Bluetooth, IEEE 802.11, dedizierte Nahbereichskommunikation (dedicated short range communications - DSRC), Mobilfunk-V2X (CV2X) und/oder Weitbereichsnetzwerke (wide area networks - WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen. Der Einfachheit halber wird die Bezeichnung „V2X“ in dieser Schrift für Kommunikation verwendet, die von Fahrzeug zu Fahrzeug (V2V) und/oder von Fahrzeug zu Infrastruktur (V2I) erfolgen kann und die gemäß einem beliebigen geeigneten Nahbereichskommunikationsmechanismus, z. B. CV2X, DSRC, Mobilfunk oder dergleichen, durch das Kommunikationsmodul 130 bereitgestellt werden kann.
-
Das Netzwerk 135 stellt einen oder mehrere Mechanismen dar, durch die ein Fahrzeugcomputer 110 mit Remote-Rechenvorrichtungen, z. B. dem Remote-Servercomputer 140, einem weiteren Fahrzeugcomputer usw., kommunizieren kann. Dementsprechend kann es sich bei dem Netzwerk 135 um einen oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen handeln, einschließlich einer beliebigen gewünschten Kombination aus drahtgebundenen (z. B. Kabel - und Glasfaser-) und/oder drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satellit-, Mikrowellen- und Funkfrequenz-) Kommunikationsmechanismen und einer 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, von Fahrzeug zu Fahrzeug (V2V), wie etwa dedizierte Nahbereichskommunikation (DSRC) usw.), lokale Netzwerke (local area network - LAN) und/oder Weitbereichsnetzwerke (WAN), die das Internet beinhalten, die Datenkommunikationsdienste bereitstellen.
-
Der Remote-Servercomputer 140 kann eine herkömmliche Rechenvorrichtung sein, d. h. einen oder mehrere Prozessoren und einen oder mehrere Speicher beinhalten, die dazu programmiert sind, Vorgänge bereitzustellen, wie etwa in dieser Schrift offenbart. Ferner kann auf den Remote-Servercomputer 140 über das Netzwerk 135, z. B. das Internet, ein Mobilfunknetzwerk und/oder ein anderes Weitverkehrsnetzwerk, zugegriffen werden.
-
2 ist ein Diagramm, das ein Fahrzeug 105 veranschaulicht, das in einem beispielhaften Betriebsbereich 200 betrieben wird, der markierte Teilbereiche 210 (z. B. Parklücken) für Fahrzeuge 105 beinhaltet. Der Fahrzeugcomputer 110 kann dazu programmiert sein, zu bestimmen, ob sich das Fahrzeug 105 in einem Betriebsbereich 200 befindet. Ein Betriebsbereich 200 ist ein vorgegebener Bereich der Bodenfläche zum Betreiben und/oder Verstauen eines Fahrzeugs 105. Der Betriebsbereich 200 kann sich auf einer Straße oder Fahrbahn, z. B. einem Bereich 200 entlang eines Bordsteins oder einer Kante der Straße, einem Parkplatz oder einer Struktur oder eines Abschnitts davon usw. befinden. Ein Teilbereich 210 kann zum Beispiel eine Parklücke sein, die durch herkömmliche Markierungen angegeben ist, z. B. gemalte Linien auf einer Bodenfläche, und herkömmliche Bilderkennungstechniken können durch den Fahrzeugcomputer 110 eingesetzt werden, um den Teilbereich 210 zu identifizieren.
-
Der Fahrzeugcomputer 110 kann dazu programmiert sein, auf Grundlage von Daten der Sensoren 115 zu bestimmen, ob sich das Fahrzeug 105 innerhalb des Betriebsbereichs 200 befindet. Zum Beispiel kann der Fahrzeugcomputer 110 dazu programmiert sein, durch eine beliebige geeignete Technik zum Bestimmen eines Standortes des Fahrzeugs 105, z. B. GPSbasiertes Geofencing, zu bestimmen, dass sich das Fahrzeug 105 innerhalb des Betriebsbereichs 200 befindet. Ein Geofence hat hierin die herkömmliche Bedeutung einer Begrenzung für einen Bereich, der durch Sätze von Geokoordinaten definiert ist. In einem derartigen Beispiel gibt der Geofence einen Umfang des Betriebsbereichs 200 vor. Der Fahrzeugcomputer 110 kann dann auf Grundlage der Standortdaten des Fahrzeugs 105, die angeben, dass sich das Fahrzeug 105 innerhalb des Geofence befindet, bestimmen, dass sich das Fahrzeug 105 innerhalb des Betriebsbereichs 200 befindet. Als ein weiteres Beispiel kann der Fahrzeugcomputer 110 auf Grundlage von Daten, z. B. von dem Remote-Servercomputer 140 empfangenen Kartendaten, bestimmen, ob sich das Fahrzeug 105 in dem Betriebsbereich 200 befindet. Beispielsweise kann der Fahrzeugcomputer 110 einen Standort des Fahrzeugs 105, z. B. von einem Sensor 115, einem Navigationssystem, einem Remote-Servercomputer 140 usw. empfangen. Der Fahrzeugcomputer 110 kann den Standort des Fahrzeugs 105 mit den Kartendaten vergleichen, um z. B. zu bestimmen, ob sich das Fahrzeug 105 in dem Betriebsbereich 200 befindet, der in den Kartendaten vorgegeben ist.
-
Bei Bestimmen, dass sich das Fahrzeug 105 in den Betriebsbereich 200 bewegt hat, kann der Fahrzeugcomputer 110 aus einem Speicher des Fahrzeugcomputers 110 auf eine Karte des Betriebsbereichs 200 zugreifen. Die Karte kann zum Beispiel einen oder mehrere Fahrwege 205 innerhalb des Betriebsbereichs 200 vorgeben, einschließlich eines oder mehrerer Segmente 225 für den/die Fahrweg(e) 205 zusammen mit entsprechenden Risikoniveaus und Breiten W für das/die Segment(e) 225. Ein Fahrweg 205 kann unidirektional sein, d. h. so bereitgestellt, dass das Fahrzeug 105 in einer Richtung entlang des Fahrweges 205 fahren kann, oder bidirektional sein, d. h. so bereitgestellt, dass das Fahrzeug 105 in entgegengesetzten Richtungen entlang des Fahrweges 205 fahren kann. Der Fahrweg 205 kann zum Beispiel nur ein Fahrzeug 105 aufnehmen, d. h., sodass mehrere Fahrzeuge 105 auf dem Fahrweg 205 voreinander, aber nicht nebeneinander, d. h. seitlich benachbart zueinander, fahren können. Alternativ kann der Fahrweg 205 mehrere Fahrzeuge 105 aufnehmen, d. h., sodass mehrere Fahrzeuge 105 nebeneinander auf dem Fahrweg 205 fahren können.
-
Wie hierin verwendet, ist ein „Risikoniveau“ ein Maß, das der Fahrzeugcomputer 110 verwenden kann, um eine Geschwindigkeit für das Fahrzeug 105 entlang eines Segments 225 zu bestimmen, und das eine Wahrscheinlichkeit angibt, dass das Fahrzeug 105 auf ein Objekt 220 aufprallt, während es entlang des Segments 225 betrieben wird. Das Risikoniveau kann als Textzeichenfolge vorgegeben sein, z. B. „hoch“, „mittel“ oder „niedrig“. Als ein weiteres Beispiel kann das Risikoniveau als eine Zahl vorgegeben sein, z. B. eine ganze Zahl auf einer Skala von 1 bis einschließlich 3. In diesem Beispiel stellt ein Risikoniveau von 3 eine höhere Wahrscheinlichkeit dar, dass das Fahrzeug 105 auf ein Objekt 220 entlang des Segments 225 aufprallt, als ein Risikoniveau von 2 oder 1 und stellt ein Risikoniveau von 1 eine niedrigere Wahrscheinlichkeit dar, dass das Fahrzeug 105 auf ein Objekt 220 entlang des Segments 225 aufprallt, als ein Risikoniveau von 2.
-
Der Fahrzeugcomputer 110 kann zum Beispiel die Karte des Betriebsbereichs 200, z. B. von dem Remote-Servercomputer 140, empfangen und die empfangene Karte auf dem Speicher des Fahrzeugcomputers 110 speichern. In einem derartigen Beispiel kann der Remote-Servercomputer 140 die Karte auf Grundlage von aggregierten Daten generieren und aktualisieren (wie nachstehend erörtert). Als ein weiteres Beispiel kann der Fahrzeugcomputer 110 die Karte des Betriebsbereichs 200 generieren. Der Fahrzeugcomputer 110 kann die Karte speichern, z.B. auf einem Speicher des Fahrzeugcomputers 110. Zusätzlich oder alternativ kann der Fahrzeugcomputer 110 in einem derartigen Beispiel die Karte dem Remote-Servercomputer 140 bereitstellen.
-
In einem Beispiel, in dem der Fahrzeugcomputer 110 die Karte generiert, kann der Fahrzeugcomputer 110 dazu programmiert sein, einen Trainingsmodus zwischen einem deaktivierten Zustand und einem aktivierten Zustand auf Grundlage des Standortes des Fahrzeugs 105 übergehen zu lassen. Zum Beispiel bei Bestimmen, dass sich das Fahrzeug 105 in einen Betriebsbereich 200 bewegt hat, kann der Fahrzeugcomputer 110 den Trainingsmodus aktivieren, d. h. den Trainingsmodus aus dem deaktivierten Zustand in den aktivierten Zustand übergehen lassen. Als ein weiteres Beispiel kann der Fahrzeugcomputer 110 bei Bestimmen, dass sich das Fahrzeug 105 aus dem Betriebsbereich 200 bewegt hat, den Trainingsmodus deaktivieren, d. h. den Trainingsmodus aus dem aktivierten Zustand in den deaktivierten Zustand übergehen lassen. Das heißt, der Trainingsmodus ist aktiviert, wenn sich das Fahrzeug 105 in einem Betriebsbereich 200 befindet, und ist deaktiviert, wenn sich das Fahrzeug 105 nicht in einem Betriebsbereich 200 befindet.
-
Im Trainingsmodus kann ein Benutzer das Fahrzeug 105 auf einem Fahrweg 205 in einem Betriebsbereich 200 betreiben und ist der Fahrzeugcomputer 110 dazu programmiert, einen oder mehrere Sensoren 115 zu betätigen, um eine Umgebung aufzunehmen, die den Fahrweg 205 beinhaltet und sich um diesen herum befindet. Der Fahrzeugcomputer 110 kann dann die Karte auf Grundlage von Daten der Sensoren 115 der Umgebung um das Fahrzeug 105 herum generieren. Zum Beispiel kann der Fahrzeugcomputer 110 ein oder mehrere Segmente 225 entlang des Fahrweges 205 zusammen mit entsprechenden Risikoniveaus und Breiten für das/die Segment(e) 225 auf Grundlage der Daten der Sensoren 115 identifizieren, wie nachstehend erörtert.
-
Im Trainingsmodus kann der Fahrzeugcomputer 110 Daten der Sensoren 115, z. B. Bilddaten, der Umgebung um das Fahrzeug 105 herum empfangen. Die Bilddaten können ein oder mehrere Objekte 220 um das Fahrzeug 105 herum beinhalten. Zum Beispiel kann der Fahrzeugcomputer 110 dazu programmiert sein, (ein) Objekt(e) 220 auf Grundlage von Daten der Sensoren 115 zu klassifizieren und/oder zu identifizieren. Zum Beispiel können Techniken zur Klassifizierung von Objekten 220 verwendet werden, z. B. in dem Fahrzeugcomputer 110 auf Grundlage von Daten des Lidarsensors 115, Daten des Kamerasensors 115 usw., um ein erfasstes Objekt 220 als mobil oder stationär, d. h. nicht beweglich, zu klassifizieren. Zusätzlich oder alternativ können Techniken zur Identifizierung von Objekten 220 verwendet werden, z. B. in dem Fahrzeugcomputer 110 auf Grundlage von Daten des Lidarsensors 115, Daten des Kamerasensors 115 usw., um eine Art des Objekts 220, z. B. ein Fahrzeug, einen Fußgänger, ein Gebäude usw., sowie physische Merkmale der Objekte 220 zu identifizieren. Nicht einschränkende Beispiele für Objekte 220 beinhalten einen Fußgänger, ein anderes Fahrzeug 105, ein Fahrrad, einen Einkaufswagen, ein Gebäude usw.
-
Verschiedene Techniken, wie sie bekannt sind, können dazu verwendet werden, Daten der Sensoren 115 zu interpretieren und/oder Objekte 220 auf Grundlage der Daten der Sensoren 115 zu klassifizieren. Zum Beispiel können Kamera- und/oder Lidarbilddaten einem Klassifikator bereitgestellt werden, der eine Programmierung zur Nutzung einer oder mehrerer herkömmlicher Bildklassifizierungstechniken umfasst. Zum Beispiel kann der Klassifikator eine Technik des maschinellen Lernens verwenden, bei der Daten, die bekanntermaßen verschiedene Objekte 220 darstellen, einem Programm des maschinellen Lernens zum Trainieren des Klassifikators bereitgestellt werden. Sobald der Klassifikator trainiert wurde, kann dieser Daten der Sensoren 115 des Fahrzeugs 105, z. B. ein Bild, als Eingabe annehmen und dann für jede von einer oder mehreren jeweiligen Regionen von Interesse in dem Bild eine Identifizierung und/oder eine Klassifizierung (d. h. mobil oder stationär) von einem oder mehreren Objekten 220 oder eine Angabe, dass in der jeweiligen Region von Interesse kein Objekt 220 vorhanden ist, als Ausgabe bereitstellen. Ferner kann ein Koordinatensystem (z. B. ein polares oder kartesisches), das auf einen Bereich in der Nähe des Fahrzeugs 105 angewendet wird, angewendet werden, um Standorte und/oder Bereiche (z. B. gemäß dem Koordinatensystem des Fahrzeugs 105, umgewandelt in globale Breiten- und Längengrad-Geokoordinaten usw.) von Objekten 220, die anhand der Daten der Sensoren 115 identifiziert werden, vorzugeben. Noch ferner könnte der Fahrzeugcomputer 110 verschiedene Techniken zum Fusionieren (d. h. Integrieren in ein gemeinsames Koordinatensystem oder einen gemeinsamen Referenzrahmen) von Daten von unterschiedlichen Sensoren 115 und/oder Arten von Sensoren 115 einsetzen, z. B. Lidar-, Radar- und/oder optische Kameradaten.
-
Der Fahrzeugcomputer 110 kann Segmente 225, die in dem Fahrweg 205 eingeschlossen sind, auf Grundlage einer Art von Objekt 220 (oder von dessen Fehlen) identifizieren, z. B. geparkte Fahrzeuge, Wände, Gebäude, Laub, Pfähle, Zäune, Schienen usw., die entlang des Fahrweges 205 erfasst werden. Ein Segment 225 ist ein Bereich des Fahrweges 205, der sich über die Breite W des Fahrweges 205 und entlang eines Abschnitts, d. h. über eine gewisse, jedoch weniger als die gesamte Länge des Fahrweges 205, erstreckt. Zum Beispiel kann der Fahrweg 205 eine Vielzahl von Segmenten 225225A, 225B, 225C, 225D beinhalten, wie in 2 gezeigt. In diesem Beispiel werden die Segmente 225A, 225B, 225C, 225D auf Grundlage einer Art von Objekt 220 (oder von dessen Fehlen) neben dem Segment 225 identifiziert, das sich von der Art von Objekt 220 (oder dessen Fehlen) neben einem vorherigen Segment 225 unterscheidet.
-
Um ein Segment 225 zu identifizieren, kann der Fahrzeugcomputer 110 zum Beispiel Standortdaten für das Fahrzeug 105 empfangen, wenn eine neue Art von Objekt 220 (oder von dessen Fehlen) entlang des Fahrweges 205 erfasst wird. Der Fahrzeugcomputer 110 kann Geo-Koordinaten bestimmen und speichern, z. B. auf einem Speicher des Fahrzeugcomputers 110, die durch die Standortdaten des Fahrzeugs 105 vorgegeben sind, nachdem die neue Art von Objekt 220 (oder von dessen Fehlen) neben dem Fahrweg 205 identifiziert wurde. Der Fahrzeugcomputer 110 kann die Vielzahl von Segmenten 225 auf Grundlage von aufeinanderfolgenden Standorten des Fahrzeugs 105 identifizieren. Das heißt, jedes Segment 225 kann sich von einem Standort des Fahrzeugs 105 zu einem nachfolgenden Standort des Fahrzeugs 105 erstrecken. Jedes Segment 225 kann eine Kennung beinhalten, z. B. einen numerischen Wert, eine alphanumerische Zeichenfolge usw., die das jeweilige Segment 225 identifiziert. Der Fahrzeugcomputer 110 kann eine Kennung generieren und einem entsprechenden Segment 225 zuweisen. Zum Beispiel kann der Fahrzeugcomputer 110 einen Zähler führen. Bei Erfassen eines Segments 225, d. h. bei Erfassen einer neuen Art von Objekt 220 (oder von dessen Fehlen) entlang des Fahrweges 205, kann der Fahrzeugcomputer 110 den Zähler inkrementieren und dem Segment 225 einen Zählerwert zuweisen.
-
Der Fahrzeugcomputer 110 kann ein Risikoniveau für ein Segment 225 auf Grundlage der Art von Objekt 220 (oder von dessen Fehlen) bestimmen, die entlang des Fahrweges 205 zwischen den Geo-Koordinaten, die das Segment 225 vorgeben, erfasst wurde. Zum Beispiel kann der Fahrzeugcomputer 110 eine Lookup-Tabelle oder dergleichen pflegen, die verschiedene Arten von Objekten 220 (oder von deren Fehlen) entsprechenden Risikoniveaus zuordnet. Der Fahrzeugcomputer 110 kann zum Beispiel auf die Lookup-Tabelle zugreifen und das Risikoniveau für ein Segment 225 auf Grundlage einer gespeicherten Art von Objekt 220 (oder von dessen Fehlen), die mit einer erfassten Art von Objekt 220 (oder dessen Fehlen) übereinstimmt, entlang des Fahrweges 205 bestimmen. Die Lookup-Tabelle kann z. B. auf einem Speicher des Fahrzeugcomputers 110 gespeichert sein. Nachstehend ist in Tabelle 1 eine beispielhafte Lookup-Tabelle gezeigt: Tabelle 1
Objektart | Risikoniveau |
Keines | 2 |
Geparktes Fahrzeug | 3 |
Gebäude | 1 |
-
Zusätzlich oder alternativ kann der Fahrzeugcomputer 110 das Risikoniveau für das Segment 225 auf Grundlage von Erfassen einer Blindzone (wie nachstehend erörtert) neben dem Segment 225 zwischen den Geokoordinaten, die das Segment 225 vorgeben, bestimmen. Zum Beispiel kann die Lookup-Tabelle Blindzonen, z. B. eine Anwesenheit oder Abwesenheit einer Blindzone und/oder eine Größe einer Blindzone, entsprechenden Risikoniveaus zuordnen. Der Fahrzeugcomputer 110 kann zum Beispiel auf die Lookup-Tabelle zugreifen und das Risikoniveau für ein Segment 225 auf Grundlage einer gespeicherten Blindzone, die mit einer erfassten Blindzone übereinstimmt, bestimmen.
-
Der Fahrzeugcomputer 110 kann eine Blindzone für ein Segment 225 auf Grundlage von Daten der Sensoren 115 definieren, z. B. Sichtfeldern der Sensoren 115. Zum Beispiel können die Sensoren 115 an einer Rückseite, einer Vorderseite und/oder Außenseite des Fahrzeugs 105 montiert sein. Die jeweiligen Sichtfelder von jedem des einen oder der mehreren Sensoren 115 können sich teilweise überschneiden. Im vorliegenden Kontext ist eine Blindzone eines Sensors 115 ein Bereich oder typischer ein dreidimensionaler Raum, d.h. ein Volumen, außerhalb eines Sichtfeldes jedes der Sensoren 115, d. h. ein Bereich oder Volumen, von dem ein Sensor 115 keine Daten erhalten kann. Eine Blindzone für ein Fahrzeug 105 kann vorliegen, wenn die Sensoren 115 des Fahrzeugs 105 gemeinsam keine Daten bereitstellen können, um Objekte 220 und Umgebungsmerkmale innerhalb eines Bereichs oder Volumens zu erfassen. Eine Form oder Begrenzungen einer Blindzone ist/sind typischerweise durch Merkmale und Objekte 220 in einer Umgebung definiert, welche die Blindzone belegen, umgeben und/oder daran angrenzen. Wenn sich das Fahrzeug 105 in einem Segment 225 befindet, kann ein Objekt 220, z. B. ein geparktes Fahrzeug, ein Gebäude usw., einen Abschnitt der Blindzone definieren. Die Sichtfelder der Sensoren 115 können empirisch bestimmt werden, z. B. auf Grundlage von Sichtfeldern, die erforderlich sind, um eine oder mehrere Funktionen des Fahrzeugs 105 durchzuführen. Der Fahrzeugcomputer 110 kann die Sichtfelder jedes der Sensoren 115 speichern, z. B. auf einem Speicher.
-
Der Fahrzeugcomputer 110 kann eine Breite W eines Segments 225 identifizieren, d. h. einen Abstand zwischen Begrenzungen 230 (siehe 3A-3E) des Segments 225. Der Fahrzeugcomputer 110 kann Begrenzungen 230 des Segments 225 auf Grundlage von Daten der Sensoren 115 bestimmen. Die Begrenzung 230 des Segments 225 kann teilweise durch Objekte 220, z.B. geparkte Fahrzeuge, einen Bordstein, ein Gebäude usw., und/oder herkömmliche Markierungen, d. h. gemalte Linien auf dem Boden, z. B. Markierungen des Teilbereichs 210, definiert sein. Zum Beispiel kann der Fahrzeugcomputer 110 Objekte 220 und/oder Markierungen, die seitlich von dem Fahrzeug 105 beabstandet sind, an dem Segment 225 erfassen, z. B. unter Verwendung von Bilderkennungstechniken.
-
Um die Breite W des Segments 225 zu bestimmen, kann der Fahrzeugcomputer 110 zum Beispiel Freiraumberechnungstechniken einsetzen, um Daten abzubilden, die einen Bereich von Pixelkoordinaten, der einer Begrenzung 230 zugeordnet ist, die seitlich von dem Fahrzeug 105 beabstandet ist, und einen Freiraum (d. h. einen Raum, in dem kein Objekt 220 erfasst wird) zwischen dem Fahrzeug 105 und der Begrenzung 230 identifizieren. Durch Identifizieren eines Satzes von Pixelkoordinaten in einem Bild, der dem Freiraum und der Begrenzung 230 zugeordnet ist, und Bestimmen eines Abstands (in Pixelkoordinaten) von einer Linse eines Bildsensors 115, z.B. über den Freiraum, zu den identifizierten Pixelkoordinaten der Begrenzung 230 kann der Fahrzeugcomputer 110 einen Abstand, z. B. über den Freiraum, der Linse des Bildsensors 115 von der Begrenzung 230 bestimmen. Dies bedeutet, dass der Fahrzeugcomputer 110 gemäß derartigen bekannten Techniken einen Abstand von der Linse zu den identifizierten Koordinaten (in Pixelkoordinaten) bestimmen kann und ferner aus dem Bild einen Winkel zwischen einer Linie von der Linse des Sensors 115 zu einem Punkt auf der identifizierten Begrenzung 230 und eine Achse, die sich von der Linse parallel zu der Längsachse des Fahrzeugs 105 erstreckt, bestimmen kann. Dann kann der Fahrzeugcomputer 110 unter Verwendung trigonometrischer Funktionen auf Grundlage von (i) einer Linie, die sich von der Linse des Sensors 115 zu dem Punkt an der Begrenzung 230 erstreckt, (ii) einer Linie, die sich von der Linse des Sensors 115 entlang der Achse erstreckt, und (iii) einer Linie, die den Punkt an der Begrenzung 230 schneidet und mit der die Linie, die sich entlang der Achse erstreckt, einen rechten Winkel bildet, eine Länge der Linie, die parallel zu einer Querachse des Fahrzeugs 105 gezeichnet ist, aus (a) einer Achse, die sich parallel zu einer Querachse des Fahrzeugs 105 von der Linse des Sensors 115 erstreckt, zu (b) dem Punkt an der Begrenzung 230 bestimmen. Durch Wiederholen dieses Prozesses für die Begrenzung 230 auf der anderen Seite des Fahrzeugs 105 und Summieren der Längen von zwei Linien, die parallel zu der Querachse des Fahrzeugs 105 und von der Achse gezeichnet sind, die sich von der jeweiligen Linse des Sensors 115 parallel zu der Querachse des Fahrzeugs 105 zu den jeweiligen Punkten an der Begrenzung 230 erstreckt, kann eine Breite W des Fahrweges 205 bestimmt werden.
-
Bei Zugreifen auf die Karte kann der Fahrzeugcomputer 110 das Fahrzeug 105 auf Grundlage von Empfangen einer Anforderung, z. B. von einem Remote-Servercomputer 140, einer Benutzervorrichtung (z. B. einem Smartphone, einem Tablet, einem persönlichen digitalen Assistenten, einer Smartwatch, einem Laptop usw.), einer Mensch-Maschine-Schnittstelle in dem Fahrzeug 105 usw. durch den Betriebsbereich 200 betreiben. Insbesondere kann der Fahrzeugcomputer 110 das Fahrzeug 105 betreiben, um über Fahrwege 205 durch den Betriebsbereich 200 zu fahren und/oder Teilbereiche 210 auf Grundlage der Karte zu verlassen oder in diese einzutreten. Zum Beispiel kann der Fahrzeugcomputer 110 eine oder mehrere Fahrzeugkomponenten 125 betätigen, um das Fahrzeug 105 entlang eines oder mehrerer Fahrwege 205 in dem Betriebsbereich 200 zu bewegen, um z.B. nach verfügbaren Teilbereichen 210 zu suchen, um sich mit einem Benutzer zur Abholung an einem vorgegebenen Standort zu treffen usw.
-
Der Fahrzeugcomputer 110 ist dazu programmiert, eine seitliche Position L für das Fahrzeug 105 auf dem Fahrweg 205 auf Grundlage von Erfassen einer Anwesenheit oder Abwesenheit eines Zielfahrzeugs 215 zu bestimmen. Ein Zielfahrzeug 215 ist ein anderes Fahrzeug, das auf dem Fahrweg 205 vor dem Fahrzeug 105 fährt. Das Zielfahrzeug 215 kann zum Beispiel in einer entgegengesetzten Richtung zu dem Fahrzeug 105 fahren. Alternativ kann das Zielfahrzeug 215 in dieselbe Richtung wie das Fahrzeug 105 fahren. Eine seitliche Position L ist eine Position des Fahrzeugs 105 bezogen auf eine Begrenzung 230 des Fahrweges 205, die durch einen Abstand entlang der Querachse des Fahrzeugs 105 von dem Fahrzeug 105 zu der Begrenzung 230 des Fahrweges 205 vorgegeben ist. In den in den Figuren gezeigten Beispielen ist der Seitenabstand D die Position des Fahrzeugs 105 bezogen auf eine Begrenzung 230 auf einer rechten Seite, d. h. einer Beifahrerseite, des Fahrzeugs 105.
-
Während des Betreibens des Fahrzeugs 105 durch den Betriebsbereich 200 kann der Fahrzeugcomputer 110 Daten der Sensoren 115, z.B. Bilddaten, des Fahrweges 205 empfangen. Der Fahrzeugcomputer 110 kann die Anwesenheit oder Abwesenheit des Zielfahrzeugs 215 auf Grundlage von Daten der Sensoren 115 erfassen. Beispielsweise kann der Fahrzeugcomputer 110 das Zielfahrzeug 215 auf dem Fahrweg 205 auf Grundlage einer Ausgabe von dem Klassifikator identifizieren, wie vorstehend erörtert. Bei Erfassen der Abwesenheit des Zielfahrzeugs 215 kann der Fahrzeugcomputer 110 die seitliche Position L bestimmen, die einen Abstand zwischen jeder Seite des Fahrzeugs 105 und der Begrenzung 230 auf der entsprechenden Seite des Fahrzeugs 105 maximiert. Zum Beispiel kann der Fahrzeugcomputer 110 bestimmen, dass die seitliche Position L des Fahrzeugs 105 auf dem Fahrweg 205 mittig, d. h. gleich weit von den Begrenzungen des Fahrweges 205 entfernt ist, wie in 3A gezeigt. Das heißt, der Fahrzeugcomputer 110 kann die seitliche Position L derart bestimmen, dass die Längsachse des Fahrzeugs 105 die Breite W des Fahrweges 205 halbiert, während das Fahrzeug 105 auf dem Fahrweg 205 betrieben wird.
-
Bei Erfassen der Anwesenheit des Zielfahrzeugs 215 kann der Fahrzeugcomputer 110 die seitliche Position L des Fahrzeugs 105 auf Grundlage der Fahrtrichtung des Zielfahrzeugs 215 bestimmen. Die Fahrtrichtung kann eine von zu dem Fahrzeug 105 hin, d. h. sich diesem nähernd, oder von dem Fahrzeug 105 weg sein. Wenn die Fahrtrichtung des Zielfahrzeugs 215 zum Beispiel von dem Fahrzeug 105 weg, d. h. in dieselbe Richtung wie dieses, ist, kann der Fahrzeugcomputer 110 bestimmen, dass die seitliche Position L für das Fahrzeug 105 der seitlichen Position L des Zielfahrzeugs 215 entspricht. Als ein Beispiel kann der Fahrzeugcomputer 110 die seitliche Position L derart bestimmen, dass die Längsachse des Fahrzeugs 105 mit einer Längsachse des Zielfahrzeugs 215 ausgerichtet ist. Als ein weiteres Beispiel kann der Fahrzeugcomputer 110 die seitliche Position L derart bestimmen, dass eine Seite des Fahrzeugs 105 mit einer entsprechenden Seite des Zielfahrzeugs 215 ausgerichtet ist, um z. B. einen gleichen Abstand von den Fahrzeugen 105, 215 zu der entsprechenden Begrenzung 230 des Fahrweges 205 beizubehalten.
-
Wenn die Fahrtrichtung des Zielfahrzeugs 215 alternativ zu dem Fahrzeug 105 hin, d. h. in eine zu diesem entgegengesetzte Richtung ist, kann der Fahrzeugcomputer 110 die seitliche Position L derart bestimmen, dass das Fahrzeug 105 zwischen dem Zielfahrzeug 215 und der Begrenzung 230 des Fahrweges 205 betrieben werden kann. In dieser Situation kann der Fahrzeugcomputer 110 zum Beispiel die seitliche Position L auf Grundlage des Risikoniveaus für das Segment 225 bestimmen. Der Fahrzeugcomputer 110 kann das Risikoniveau für das Segment 225 anhand der Karte bestimmen. Bei Bestimmen, dass sich das Risikoniveau auf einem niedrigsten Risikoniveau befindet, z. B. „niedrig“ (oder 1), kann der Fahrzeugcomputer 110 zum Beispiel die seitliche Position L des Fahrzeugs 105 als mittig zwischen dem Zielfahrzeug 215 und der Begrenzung 230 des Fahrweges 205, d. h. gleich weit von diesen entfernt, bestimmen, wie in 3B gezeigt.
-
Bei Bestimmen, dass sich das Risikoniveau nicht auf dem niedrigsten Risikoniveau befindet, kann der Fahrzeugcomputer 110 zum Beispiel die seitliche Position L des Fahrzeugs 105 als näher an dem Zielfahrzeug 215 als an der Begrenzung 230 bestimmen, wie in 3C gezeigt. In einem derartigen Beispiel kann der Fahrzeugcomputer 110 die seitliche Position L derart bestimmen, dass ein Abstand zwischen dem Fahrzeug 105 und dem Zielfahrzeug 215 größer oder gleich einer Seitenabstandsschwelle ist. Die Seitenabstandsschwelle kann empirisch bestimmt werden, z. B. auf Grundlage von Tests, die das Bestimmen eines Mindestabstands zwischen einem Fahrzeug und Objekten ermöglichen, bei der ein Fahrzeugcomputer das Fahrzeug betreiben kann, ohne auf die Objekte aufzuprallen. Die Seitenabstandsschwelle kann z.B. auf einem Speicher des Fahrzeugcomputers 110 gespeichert sein. Der Fahrzeugcomputer 110 kann den Abstand zwischen dem Fahrzeug 105 und dem Zielfahrzeug 215 auf Grundlage von Daten der Sensoren 115 bestimmen, z.B. unter Verwendung von Freiraumberechnungstechniken.
-
Der Fahrzeugcomputer 110 kann die Fahrtrichtung des Zielfahrzeugs 215 auf Grundlage von Daten der Sensoren 115 bestimmen. Zum Beispiel kann der Fahrzeugcomputer 110 z. B. unter Verwendung von Bildverarbeitungs- und -erkennungstechniken eine Vorderseite oder eine Rückseite des Zielfahrzeugs 215 über Bilddaten identifizieren. Zum Beispiel kann der Fahrzeugcomputer 110 jeweils Scheinwerfer oder Rückfahrscheinwerfer des Zielfahrzeugs 215 in Bilddaten identifizieren. Der Fahrzeugcomputer 110 kann die Fahrtrichtung des Zielfahrzeugs 215 auf Grundlage von Erfassen der Vorderseite oder der Rückseite des Zielfahrzeugs 215 bestimmen. Wenn der Fahrzeugcomputer 110 eine Vorderseite des Zielfahrzeugs 215 erfasst, bestimmt der Fahrzeugcomputer 110, dass die Fahrtrichtung des Zielfahrzeugs 215 der Fahrtrichtung des Fahrzeugs 105 entgegengesetzt ist. Wenn der Fahrzeugcomputer 110 eine Rückseite des Zielfahrzeugs 215 erfasst, bestimmt der Fahrzeugcomputer 110, dass die Fahrtrichtung des Zielfahrzeugs 215 dieselbe wie die Fahrtrichtung des Fahrzeugs 105 ist.
-
Zusätzlich oder alternativ kann der Fahrzeugcomputer 110 die seitliche Position L für das Fahrzeug 105 auf Grundlage von Erfassen von Spurmarkierungen 305 auf dem Fahrweg 205 bestimmen. Der Fahrzeugcomputer 110 kann eine Anwesenheit oder Abwesenheit von Spurmarkierungen 305 auf dem Fahrweg 205 auf Grundlage von Daten der Sensoren 115 erfassen, z. B. unter Verwendung von Bilderkennungstechniken. Zum Beispiel kann der Fahrzeugcomputer 110 bei Erfassen einer Anwesenheit von Spurmarkierungen 305 eine seitliche Position L des Fahrzeugs 105 bestimmen, sodass das Fahrzeug 105 zwischen den Spurmarkierungen 305 und der Begrenzung 230 betrieben werden kann. In dieser Situation kann der Fahrzeugcomputer 110 zum Beispiel die seitliche Position L auf Grundlage des Risikoniveaus für das Segment 225 bestimmen, z. B. im Wesentlichen auf die gleiche Weise wie vorstehend bezüglich des Bestimmens der seitlichen Position L bei Erfassen eines Zielfahrzeugs 215, das sich dem Fahrzeug 105 nähert, erörtert. Das heißt, der Fahrzeugcomputer 110 kann auf Grundlage des Risikoniveaus bestimmen, dass die seitliche Position L des Fahrzeugs 105 mittig zwischen den Spurmarkierungen 305 und der Begrenzung 230 des Fahrweges 205, d. h. gleich weit von diesen entfernt (siehe 3D), oder näher an den Spurmarkierungen 305 als der Begrenzung 230 (siehe 3E) ist. Wenn bestimmt wird, dass die seitliche Position L näher an den Spurmarkierungen 305 ist, kann der Fahrzeugcomputer 110 die seitliche Position L derart bestimmen, dass ein Abstand von dem Fahrzeug 105 zu den Spurmarkierungen 305 mindestens gleich der Seitenabstandsschwelle ist.
-
Der Fahrzeugcomputer 110 ist dazu programmiert, eine Geschwindigkeit für das Fahrzeug 105 auf Grundlage der bestimmten seitlichen Position L für das Fahrzeug 105 auf dem Fahrweg 205 zu bestimmen. Die Geschwindigkeit ist eine Maximalgeschwindigkeit, mit welcher der Fahrzeugcomputer 110 das Fahrzeug 105 betreiben und vermeiden kann, auf ein Objekt 220 aufzuprallen, das in den Fahrweg 205 eintritt, d. h. die Begrenzung 230 überquert. Das heißt, der Fahrzeugcomputer 110 kann das Fahrzeug 105 auf dem Fahrweg 205 mit einer Geschwindigkeit betreiben, die kleiner als die bestimmte Geschwindigkeit ist. Das Objekt 220 kann z. B. ein Fußgänger oder ein anderes Fahrzeug sein, wie in den Figuren gezeigt. Der Fahrzeugcomputer 110 kann die Geschwindigkeit beispielsweise auf Grundlage der nachstehenden Gleichung 1 bestimmen:
wobei am eine maximale Abbremsung für das Fahrzeug 105 ist, v
o eine Geschwindigkeit eines Objekts 220 ist, tb eine Zeit ist, die eine Bremskomponente 125 benötigt, um den vollen Druck zu erreichen, td eine Zeit ist, die der Fahrzeugcomputer 110 benötigt, um ein Objekt 220 über Daten der Sensoren 115 zu erfassen, und v die Geschwindigkeit des Fahrzeugs 105 ist. T
b kann empirisch bestimmt werden, z. B. auf Grundlage von Tests, die das Bestimmen einer Zeitdauer ermöglichen, die ein Fahrzeugcomputer benötigt, um eine Bremskomponente auf vollen Druck zu betätigen. T
d kann empirisch bestimmt werden, z. B. auf Grundlage von Tests, die das Bestimmen einer Zeitdauer, die ein Fahrzeugcomputer benötigt, um Daten der Sensoren 115 zu empfangen und zu analysieren, ermöglichen. Am kann empirisch bestimmt werden, z. B. auf Grundlage von Tests, die das Bestimmen einer Beschleunigung eines Fahrzeugs ermöglichen, wenn eine Bremskomponente auf vollem Druck ist. V
o kann empirisch bestimmt werden, z. B. auf Grundlage von Tests, die das Bestimmen eines statistischen Maßes, z. B. eines Durchschnitts, eines Maximums, eines Median usw., von Geschwindigkeiten von Objekten 220, die in einen Fahrweg 205 innerhalb eines Betriebsbereichs 200 eintreten, ermöglichen.
-
Zusätzlich oder alternativ kann der Fahrzeugcomputer 110 die Geschwindigkeit auf Grundlage des Risikoniveaus für das Segment 225 des Fahrweges 205 bestimmen. Das heißt, der Fahrzeugcomputer 110 kann unterschiedliche Geschwindigkeiten für unterschiedliche Segmente 225 des Fahrweges 205 bestimmen. Zum Beispiel kann der Fahrzeugcomputer 110 bei Bestimmen, dass ein Risikoniveau für ein Segment 225 ein niedrigstes Risikoniveau ist, z. B. „niedrig“ (oder 1), bestimmen, dass die Geschwindigkeit eine für den Betriebsbereich 200 vorgegebene Maximalgeschwindigkeit ist, z. B. gemäß der Karte. Als ein weiteres Beispiel kann der Fahrzeugcomputer 110 bei Bestimmen, dass ein Risikoniveau für ein Segment 225 ein höchstes Risiko ist, z. B. „hoch“ (oder 3), bestimmen, dass die Geschwindigkeit ein vorbestimmter Prozentsatz, z. B. 75 %, der Geschwindigkeit ist, die über Gleichung 1 berechnet wird.
-
Der Fahrzeugcomputer 110 ist dazu programmiert, das Fahrzeug 105 gemäß der bestimmten seitlichen Position L und der bestimmten Geschwindigkeit auf dem Fahrweg 205 zu steuern. Zum Beispiel kann der Fahrzeugcomputer 110 eine oder mehrere Fahrzeugkomponenten 125 betätigen, um das Fahrzeug 105 entlang des Fahrweges 205 an der bestimmten seitlichen Position L und mit einer Geschwindigkeit zu bewegen, die kleiner oder gleich der bestimmten Geschwindigkeit ist.
-
Auf Grundlage des Erfassens der Anwesenheit des Zielfahrzeugs 215, das in eine entgegengesetzte Richtung zu dem Fahrzeug 105 fährt, kann der Fahrzeugcomputer 110 die bestimmte Geschwindigkeit mit einer Geschwindigkeitsschwelle vergleichen. Die Geschwindigkeitsschwelle kann empirisch bestimmt werden, z. B. auf Grundlage von Tests, die das Bestimmen einer Mindestgeschwindigkeit ermöglichen, mit welcher der Fahrzeugcomputer 110 das Fahrzeug 105 steuern kann. Die Geschwindigkeitsschwelle kann gespeichert werden, z.B. auf einem Speicher des Fahrzeugcomputers 110. Wenn die bestimmte Geschwindigkeit kleiner als die Geschwindigkeitsschwelle ist, hält der Fahrzeugcomputer 110 das Fahrzeug 105 an, z. B., bis das Zielfahrzeug 215 an dem Fahrzeug 105 vorbeifährt. Wenn die bestimmte Geschwindigkeit größer oder gleich der Geschwindigkeitsschwelle ist, behält der Fahrzeugcomputer 110 den Betrieb des Fahrzeugs 105 auf dem Fahrweg 205 gemäß der bestimmten seitlichen Position L und bestimmten Geschwindigkeit bei.
-
Während das Fahrzeug 105 entlang des Fahrweges 205 betrieben wird, kann der Fahrzeugcomputer 110 auf Grundlage von Daten der Sensoren 115 ein Objekt 220 erfassen, das in den Fahrweg 205 eintritt, d. h. sich über die Begrenzung 230 bewegt (siehe 3A). Der Fahrzeugcomputer 110 kann einen Abstand D von dem Fahrzeug 105 zu dem Objekt 220 auf Grundlage von Daten der Sensoren 115 bestimmen, z.B. unter Verwendung von Freiraumberechnungstechniken, wie vorstehend beschrieben. Der Fahrzeugcomputer 110 kann dann den Abstand D mit einer Längsabstandsschwelle vergleichen. Die Längsabstandsschwelle kann empirisch bestimmt werden, z. B. auf Grundlage von Tests, die das Bestimmen eines Maximalabstands zwischen einem Fahrzeug 105 und einem Objekt 220 ermöglichen, innerhalb dessen ein Fahrzeugcomputer 110 den Betrieb des Fahrzeugs 105 aktualisieren muss, um einen Aufprall auf das Objekt 220 zu vermeiden. Die Längsabstandsschwelle kann z. B. auf einem Speicher des Fahrzeugcomputers 110 gespeichert werden. Wenn der Abstand D zwischen dem Objekt 220 und dem Fahrzeug 105 kleiner oder gleich der Längsabstandsschwelle ist, hält der Fahrzeugcomputer 110 das Fahrzeug 105 an. Wenn der Abstand D zwischen dem Objekt 220 und dem Fahrzeug 105 größer als die Längsabstandsschwelle ist, kann der Fahrzeugcomputer 110 den Betrieb des Fahrzeugs 105 gemäß der bestimmten seitlichen Position L und bestimmten Geschwindigkeit beibehalten.
-
Der Remote-Servercomputer 140 kann dazu programmiert sein, die Karte des Betriebsbereichs 200, die z. B. auf einem Speicher des Remote-Servercomputers 140 gespeichert ist, auf Grundlage von aggregierten Daten zu aktualisieren. Aggregierte Daten sind Daten von einer Vielzahl von Fahrzeugcomputern 110, die Nachrichten bereitstellen, die arithmetisch und/oder mathematisch kombiniert sind, z. B. durch Mitteln und/oder Verwenden eines anderen statistischen Maßes. Das heißt, der Remote-Servercomputer 140 kann dazu programmiert sein, auf Grundlage von Daten von Fahrzeugen 105 einer Vielzahl von Fahrzeugen 105 Nachrichten von einer Vielzahl von Fahrzeugcomputern 110 zu empfangen, die einen Fahrweg 205 angeben, der ein oder mehrere Segmente 225 zusammen mit entsprechenden Risikoniveaus und Breiten W beinhaltet. Auf Grundlage der aggregierten Daten, die den Fahrweg 205 angeben (z. B. einer durchschnittlichen Anzahl von Nachrichten, einem Prozentsatz von Nachrichten usw., die den Fahrweg 205 angeben), und Ausnutzen der Tatsache, dass Nachrichten von verschiedenen Fahrzeugen 105 unabhängig voneinander bereitgestellt werden, kann der Remote-Servercomputer 140 die Karte aktualisieren, um den Fahrweg 205, der das/die Segment(e) 225 zusammen mit entsprechenden Risikoniveaus und Breiten W beinhaltet, auf Grundlage der Daten des Fahrzeugs 105 vorzugeben. Der Remote-Servercomputer 140 kann dann die Karte z. B. über das Netzwerk 135 an eine Vielzahl von Fahrzeugen, einschließlich des Fahrzeugs 105, übertragen.
-
4A ist ein erster Abschnitt eines Ablaufdiagramms eines beispielhaften Prozesses 400 (wobei der zweite Abschnitt in 4B gezeigt ist, da das gesamte Ablaufdiagramm nicht auf ein einziges Zeichenblatt passt) zum Betreiben eines Fahrzeugs 105. Der Prozess 400 beginnt bei einem Block 405. Der Prozess 400 kann durch einen in dem Fahrzeug 105 eingeschlossenen Fahrzeugcomputer 110 ausgeführt werden, der auf einem Speicher davon gespeicherte Programmanweisungen ausführt.
-
Bei dem Block 405 empfängt der Fahrzeugcomputer 110 Daten von einem oder mehreren Sensoren 115, z.B. über ein Netzwerk 135 des Fahrzeugs 105, von einem Remote-Servercomputer 140, z. B. über ein Netzwerk 135, und/oder von einem Computer in einem anderen Fahrzeug 105, z. B. über V2V-Kommunikation. Zum Beispiel kann der Fahrzeugcomputer 110 Standortdaten, z.B. Geo-Koordinaten des Fahrzeugs 105 von z. B. einem Sensor 115, einem Navigationssystem usw. empfangen. Des Weiteren kann der Fahrzeugcomputer 110 Bilddaten z. B. von einem oder mehreren Bildsensoren 115, empfangen. Die Bilddaten können Daten über die Umgebung um das Fahrzeug 105 herum beinhalten, z. B. den Betriebsbereich 200, einen Teilbereich 210, einen Fahrweg 205, eine oder mehrere Objekte 220 usw. Der Prozess 400 geht zu einem Block 410 über.
-
Bei dem Block 410 bestimmt der Fahrzeugcomputer 110 auf Grundlage von Kartendaten und/oder den empfangenen Daten, z. B. Bilddaten und/oder Standortdaten, ob sich das Fahrzeug 105 in einem Betriebsbereich 200 befindet. Wenn der Fahrzeugcomputer 110 bestimmt, dass sich das Fahrzeug 105 in dem Betriebsbereich 200 befindet, geht der Prozess 400 zu einem Block 415 über. Wenn der Fahrzeugcomputer 110 bestimmt, dass sich das Fahrzeug 105 nicht in einem Betriebsbereich 200 befindet, bleibt der Prozess 400 bei dem Block 410.
-
Bei dem Block 415 identifiziert der Fahrzeugcomputer 110 einen Fahrweg 205 in dem Betriebsbereich 200 auf Grundlage einer Karte. Der Fahrzeugcomputer 110 kann zum Beispiel auf eine Karte zugreifen, die z. B. auf einem Speicher des Fahrzeugcomputers 110 gespeichert ist und die Breite W des Fahrweges 205 vorgibt. Wie vorstehend erörtert, kann der Fahrzeugcomputer 110 die Karte auf Grundlage von Daten der Sensoren 115 generieren, die während des Betreibens in einem Trainingsmodus erhalten werden, oder kann der Fahrzeugcomputer 110 die Karte von einem Remote-Servercomputer 140 empfangen. Die Karte gibt den Fahrweg 205 vor, der ein oder mehrere Segmente 225 zusammen mit entsprechenden Risikoniveaus und Breiten W für das/die Segment(e) S beinhaltet. Der Prozess 400 geht zu einem Block 420 über.
-
Bei dem Block 420 bestimmt der Fahrzeugcomputer 110, ob sich ein Zielfahrzeug 215 auf dem Fahrweg 205 befindet. Der Fahrzeugcomputer 110 kann auf Grundlage von Daten der Sensoren 115 eine Anwesenheit oder Abwesenheit eines Zielfahrzeugs 215 erfassen, wie vorstehend erörtert. Wenn der Fahrzeugcomputer 110 ein Zielfahrzeug 215 erfasst, geht der Prozess 400 zu einem Block 470 über. Andernfalls geht der Prozess 400 zu einem Block 425 über.
-
Bei dem Block 425 bestimmt der Fahrzeugcomputer 110, ob Spurmarkierungen 305 auf dem Fahrweg 205 vorhanden sind. Der Fahrzeugcomputer 110 kann Spurmarkierungen 305 auf Grundlage von Daten der Sensoren 115 identifizieren, wie vorstehend erörtert. Wenn der Fahrzeugcomputer 110 Spurmarkierungen 305 auf dem Fahrweg 205 erfasst, geht der Prozess 400 zu einem Block 430 über. Andernfalls geht der Prozess 400 zu einem Block 435 über.
-
Bei dem Block 430 bestimmt der Fahrzeugcomputer 110, dass die seitliche Position L für das Fahrzeug 105 auf Grundlage der Spurmarkierungen 305, d. h., zwischen einer Begrenzung 230 des Fahrweges 205 und den Spurmarkierungen 305 liegt. Die seitliche Position L für das Fahrzeug 105 kann mittig zwischen der Begrenzung 230 und den Spurmarkierungen 305 oder näher an den Spurmarkierungen 305 sein, wie vorstehend erörtert. Der Prozess 400 geht zu einem Block 440 über.
-
Bei dem Block 435 bestimmt der Fahrzeugcomputer 110, dass die seitliche Position L mittig innerhalb des Fahrweges 205 ist. Das heißt, die seitliche Position L ist gleich weit von den Begrenzungen 230 des Fahrweges 205 entfernt. Der Prozess 400 geht zu dem Block 440 über.
-
Bei dem Block 440 bestimmt der Fahrzeugcomputer 110 eine Geschwindigkeit für das Fahrzeug 105 auf Grundlage der bestimmten seitlichen Position L. Zum Beispiel kann der Fahrzeugcomputer 110 die Geschwindigkeit gemäß der vorstehenden Gleichung 1 bestimmen. Zusätzlich oder alternativ kann der Fahrzeugcomputer 110 die Geschwindigkeit aus einem Risikoniveau für ein Segment 225 des Fahrweges 205 bestimmen, wie vorstehend erörtert. Der Prozess 400 geht zu einem Block 445 über.
-
Bei dem Block 445 betreibt der Fahrzeugcomputer 110 das Fahrzeug 105 auf dem Fahrweg 205 gemäß der bestimmten seitlichen Position L und bestimmten Geschwindigkeit. Zum Beispiel kann der Fahrzeugcomputer 110 eine oder mehrere Fahrzeugkomponenten 125 betätigen, um das Fahrzeug 105 an der bestimmten seitlichen Position L und mit der bestimmten Geschwindigkeit entlang des Fahrweges 205 zu bewegen. Der Fahrzeugcomputer 110 kann den Betrieb des Fahrzeugs 105 auf Grundlage von Eintreten in ein neues Segment 225 des Fahrweges 205 aktualisieren, sodass der Betrieb des Fahrzeugs 105 der bestimmten seitlichen Position L und bestimmten Geschwindigkeit für das Fahrzeug 105 in dem neuen Segment 225 entspricht. Der Prozess 400 geht zu einem Block 450 über.
-
Bei dem Block 450 bestimmt der Fahrzeugcomputer 110, ob ein Objekt 220 in den Fahrweg 205 eingetreten ist. Der Fahrzeugcomputer 110 kann das Objekt 220, das in den Fahrweg 205 eintritt, auf Grundlage von Daten der Sensoren 115 erfassen, wie vorstehend erörtert. Wenn der Fahrzeugcomputer 110 ein Objekt 220 erfasst, das in den Fahrweg 205 eintritt, geht der Prozess 400 zu einem Block 455 über. Andernfalls geht der Prozess 400 zu einem Block 465 über.
-
Bei dem Block 455 bestimmt der Fahrzeugcomputer 110, ob ein Abstand D zwischen dem Objekt 220 und dem Fahrzeug 105 größer als eine Längsabstandsschwelle ist. Der Fahrzeugcomputer 110 kann der Abstand D zwischen dem Objekt 220 und dem Fahrzeug 105 auf Grundlage von Daten der Sensoren 115 bestimmen, wie vorstehend erörtert. Der Fahrzeugcomputer 110 kann dann den Abstand D mit der Längsabstandsschwelle vergleichen. Wenn der Abstand D größer als die Längsabstandsschwelle ist, geht der Prozess 400 zu einem Block 465 über. Andernfalls geht der Prozess 400 zu einem Block 460 über.
-
Bei dem Block 460 hält der Fahrzeugcomputer 110 das Fahrzeug 105 an. Beispielsweise kann der Fahrzeugcomputer 110 eine oder mehrere Fahrzeugkomponenten 125 betätigen, um das Fahrzeug 105 anzuhalten. Im Anschluss an Block 460 kann der Prozess 400 enden. Alternativ kann der Prozess 400 zu dem Block 420 zurückkehren, z. B., wenn erfasst wird, dass sich das Objekt 220 bewegt hat und nicht auf das Fahrzeug 105 aufprallt.
-
Bei dem Block 465 behält der Fahrzeugcomputer 110 den Betrieb des Fahrzeugs 105 gemäß der bestimmten seitlichen Position L und bestimmten Geschwindigkeit für das Segment 225 des Fahrweges 205 bei. Im Anschluss an Block 465 kann der Prozess 400 enden. Alternativ kann der Prozess 400 zu dem Block 420 zurückkehren.
-
Nun unter Bezugnahme auf 4B bestimmt der Fahrzeugcomputer 110, nach dem in 4A gezeigten Block 435 bei dem Block 470 die seitliche Position L für das Fahrzeug 105 auf Grundlage des Zielfahrzeugs 215, wie vorstehend erörtert. Der Prozess 400 geht zu einem Block 475 über.
-
Bei dem Block 475 bestimmt der Fahrzeugcomputer 110 eine Geschwindigkeit für das Fahrzeug 105 auf Grundlage der bestimmten seitlichen Position L für das Fahrzeug 105. Der Block 475 ist im Wesentlichen derselbe wie der Block 440 des Prozesses 400 und wird daher nicht weiter beschrieben, um Redundanz zu vermeiden. Der Prozess 400 geht zu einem Block 475 über.
-
Bei dem Block 480 bestimmt der Fahrzeugcomputer 110, ob sich das Zielfahrzeug 215 dem Fahrzeug 105 nähert. Der Fahrzeugcomputer 110 kann auf Grundlage von Daten der Sensoren 115 eine Fahrtrichtung des Zielfahrzeugs 215 bestimmen, wie vorstehend erörtert. Wenn sich das Zielfahrzeug 215 dem Fahrzeug 105 nähert, geht der Prozess 400 zu einem Block 485 über. Andernfalls geht der Prozess 400 zu dem Block 445 über.
-
Bei dem Block 485 bestimmt der Fahrzeugcomputer 110, ob die bestimmte Geschwindigkeit kleiner als eine Geschwindigkeitsschwelle ist. Der Fahrzeugcomputer 110 kann die bestimmte Geschwindigkeit mit der Geschwindigkeitsschwelle vergleichen. Wenn die Fahrzeuggeschwindigkeit kleiner als die Geschwindigkeitsschwelle ist, geht der Prozess 400 zu einem Block 490 über. Andernfalls geht der Prozess 400 zu dem Block 445 über.
-
Bei dem Block 490 hält der Fahrzeugcomputer 110 das Fahrzeug 105 an. Insbesondere hält der Fahrzeugcomputer 110 das Fahrzeug 105 an der bestimmten seitlichen Position L an, um z. B. zu ermöglichen, dass ein Zielfahrzeug 215, das in Richtung des Fahrzeugs 105 fährt, ausreichend Platz hat, um um das Fahrzeug 105 herum betrieben zu werden. Der Prozess 400 geht zu einem Block 495 über.
-
Bei dem Block 495 bestimmt der Fahrzeugcomputer 110, ob das Zielfahrzeug 215 an dem Fahrzeug 105 vorbeigefahren ist. Der Fahrzeugcomputer 110 kann auf Grundlage von Daten der Sensoren 115, die eine Abwesenheit des Zielfahrzeugs 215 auf dem Fahrweg 205 angeben, bestimmen, dass das Zielfahrzeug 215 an dem Fahrzeug 105 vorbeigefahren ist. Wenn der Fahrzeugcomputer 110 bestimmt, dass das Zielfahrzeug 215 an dem Fahrzeug 105 vorbeigefahren ist, geht der Prozess 400 zu dem Block 450 über. Anderenfalls bleibt der Prozess 400 bei dem Block 495.
-
Im vorliegenden Zusammenhang bedeutet das Adverb „im Wesentlichen“, dass eine Form, eine Struktur, ein Maß, eine Menge, eine Zeit usw. aufgrund von Mängeln bei Materialien, Bearbeitung, Herstellung, Datenübertragung, Berechnungszeit usw. von einer/einem genau beschriebenen Geometrie, Abstand, Maß, Menge, Zeit usw. abweichen kann.
-
Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges aus einer Reihe von Computerbetriebssystemen einsetzen, einschließlich unter anderem Versionen und/oder Varianten der Anwendung Ford Sync®, der Middleware AppLink/Smart Device Link, des Betriebssystems Microsoft Automotive®, des Betriebssystems Microsoft Windows®, des Betriebssystems Unix (z. B. des Betriebssystems Solaris®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), des Betriebssystems AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, des Betriebssystems Linux, der Betriebssysteme Mac OSX und iOS, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, des BlackBerry OS, vertrieben durch die Blackberry, Ltd. in Waterloo, Kanada, und des Betriebssystems Android, entwickelt durch die Google, Inc. und die Open Handset Alliance, oder QNX® CAR Platform for Infotainment, angeboten durch QNX Software Systems. Beispiele für Rechenvorrichtungen beinhalten unter anderem einen ersten Bordcomputer, einen Computerarbeitsplatz, einen Server, einen Desktop-, Notebook-, Laptop- oder Handheld-Computer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung.
-
Computer und Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen ausführbar sind, wie etwa durch die vorstehend aufgeführten. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder -technologien erstellt werden, einschließlich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTML usw. Einige dieser Anwendungen können auf einer virtuellen Maschine zusammengestellt und ausgeführt werden, wie etwa der Java Virtual Machine, der Dalvik Virtual Machine oder dergleichen. 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, einschließlich eines oder mehrerer der in dieser Schrift beschriebenen Prozesse. Derartige Anweisungen und andere Daten können unter Verwendung einer Vielfalt von computerlesbaren Medien gespeichert und übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert ist.
-
Ein Speicher kann ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) beinhalten, das ein beliebiges nicht transitorisches (z. B. materielles) Medium beinhaltet, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) ausgelesen werden können. Ein solches Medium kann viele Formen annehmen, einschließlich unter anderem nicht flüchtiger Medien und flüchtiger Medien. Nicht flüchtige Medien können zum Beispiel Bild- und Magnetplatten und sonstige dauerhafte Speicher beinhalten. Flüchtige Medien können zum Beispiel einen dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM) beinhalten, der üblicherweise einen Hauptspeicher darstellt. Derartige Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, einschließlich Koaxialkabeln, Kupferdraht und Glasfaser, einschließlich der Drähte, aus denen ein Systembus besteht, der an einen Prozessor einer ECU gekoppelt ist. Übliche Formen von computerlesbaren Medien beinhalten zum Beispiel RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speichereinheit oder ein beliebiges anderes Medium, von dem ein Computer lesen kann.
-
Datenbanken, Datendepots oder andere Datenspeicher, die in dieser Schrift beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedenen Arten von Daten beinhalten, einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem anwendereigenen Format, eines relationalen Datenbankverwaltungssystems (Relational Database Management System - RDBMS) usw. Jeder derartige Datenspeicher ist im Allgemeinen in einer Rechenvorrichtung eingeschlossen, die ein Computerbetriebssystem einsetzt, wie etwa eines der vorstehend erwähnten, und es wird auf eine oder mehrere von einer Vielfalt von Weisen über ein Netzwerk darauf zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugegriffen werden und es kann Dateien beinhalten, die in verschiedenen Formaten gespeichert sind. Ein RDBMS setzt im Allgemeinen die Structured Query Language (SQL) zusätzlich zu einer Sprache zum Erzeugen, Speichern, Editieren und Ausführen gespeicherter Prozeduren ein, wie etwa die vorstehend erwähnte PL/SQL-Sprache.
-
In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, Personal Computern usw.) umgesetzt sein, die auf damit assoziierten computerlesbaren Medien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann derartige auf computerlesbaren Medien gespeicherte Anweisungen zum Ausführen der in dieser Schrift beschriebenen Funktionen umfassen.
-
Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass, auch wenn die Schritte derartiger Prozesse usw. als gemäß einer gewissen Reihenfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden können, dass die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, die von der in dieser Schrift beschriebenen Reihenfolge verschieden ist. Es versteht sich ferner, dass gewisse Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder gewisse in dieser Schrift beschriebene Schritte weggelassen werden können. Anders ausgedrückt, dienen die Beschreibungen von Prozessen in dieser Schrift dem Zwecke der Veranschaulichung gewisser Ausführungsformen und sollten keinesfalls dahingehend ausgelegt werden, dass sie die Patentansprüche einschränken.
-
Dementsprechend versteht es sich, dass die vorstehende Beschreibung veranschaulichend und nicht einschränkend sein soll. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, werden dem Fachmann beim Lesen der vorstehenden Beschreibung ersichtlich. Der Umfang der Erfindung sollte nicht unter Bezugnahme auf die vorstehende Beschreibung festgelegt werden, sondern stattdessen unter Bezugnahme auf die beigefügten Patentansprüche in Zusammenhang mit dem vollständigen Umfang von Äquivalenten, zu denen solche Patentansprüche berechtigen. Es wird erwartet und ist beabsichtigt, dass es zukünftige Entwicklungen im in dieser Schrift erörterten Stand der Technik geben wird und dass die offenbarten Systeme und Verfahren in derartige zukünftige Ausführungsformen aufgenommen werden. Insgesamt versteht es sich, dass die Erfindung modifiziert und variiert werden kann und ausschließlich durch die folgenden Patentansprüche eingeschränkt ist.
-
Allen in den Patentansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann verstanden wird, sofern in dieser Schrift nicht ausdrücklich etwas anderes angegeben ist. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass ein oder mehrere der aufgeführten Elemente genannt werden, sofern ein Patentanspruch nicht eine ausdrückliche gegenteilige Einschränkung nennt.