-
ALLGEMEINER STAND DER TECHNIK
-
Autonome oder selbstfahrende Fahrzeuge können vollständig oder teilweise durch einen Fahrzeugcomputer betrieben werden. Derartige Fahrzeuge müssen Entscheidungen bezüglich der Navigation, einschließlich der zu folgenden Routen, sowie des Betreibens entlang einer Route, z. B. Aufrechterhalten einer Geschwindigkeit, einer Richtung, usw. treffen. Die Navigation in städtischen Umgebungen kann besonders problematisch sein, z. B. aufgrund einer Dichte sich bewegender und/oder geparkter Fahrzeuge auf städtischen Fahrbahnen. Außerdem können, wenn ein Fahrzeug nicht navigiert wird, z. B. wenn es sich nicht entlang einer städtischen Fahrbahn bewegt, Probleme auftreten, da aktuelle Mechanismen für Fahrzeuge zum Identifizieren, Navigieren zu und Parken auf städtischen Parkplätzen mangelhaft sind.
-
Figurenliste
-
- 1 ist ein Blockdiagramm eines beispielhaften Fahrzeugsystems.
- 2 ist ein Diagramm, das Fahrzeuge und Parklücken in einer beispielhaften städtischen Gegend zeigt.
- 3 ist ein Ablaufdiagramm eines beispielhaften Vorgangs zum Parken eines Fahrzeugs.
-
DETAILLIERTE BESCHREIBUNG
-
EINLEITUNG
-
Unter Bezugnahme auf die Figuren ist der Computer 110 eines Hostfahrzeugs 100 dazu programmiert, wenn bestimmt wird, dass ein Benutzer das Fahrzeug 100 verlassen hat, verfügbare Parklücken 205b, 205c, 205d zumindest teilweise auf Grundlage eines von gespeicherten Parkbeschränkungen und Fahrzeugsensordaten zu identifizieren. Der Computer 110 ist ferner dazu programmiert, eine der Parklücken zumindest teilweise auf Grundlage einer Entfernung d1, d2, d3 zu einer entsprechenden Parklücke 205b, 205c, 205d und einer Umweltbedingung auszuwählen. Der Computer 110 ist dazu programmiert, das Fahrzeug 100 dann zum Parken in der ausgewählten Parklücke 205 zu navigieren.
-
1 ist ein Blockdiagramm eines Fahrzeugs 100. Ein Hostfahrzeug 100 kann einen Computer 110, einen Aktor(en) 120, einen Sensor(en) 130, eine Mensch-Maschine-Schnittstelle (HMI) 140 und eine drahtlose Schnittstelle 150 beinhalten, welche alle nachfolgend ausführlicher erörtert werden.
-
BEISPIELHAFTE SYSTEMELEMENTE
-
1 veranschaulicht ein Fahrzeug 100. Das Fahrzeug 100 kann auf eine Vielzahl von bekannten Weisen angetrieben werden, z. B. mithilfe eines Elektromotors und/oder Verbrennungsmotors. Das Fahrzeug 100 kann ein Landfahrzeug, wie etwa ein Auto, Truck usw. sein. Ein Fahrzeug 100 kann einen Computer 110, einen Aktor(en) 120, einen Sensor(en) 130 und eine HMI 140 beinhalten.
-
Der Computer 110 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Der Speicher beinhaltet eine oder mehrere Arten von computerlesbaren Medien und speichert Anweisungen, die durch den Computer 110 ausgeführt werden können, um verschiedene Vorgänge durchzuführen, einschließlich des hier offenbarten.
-
Der Computer 110 kann das Fahrzeug 100 in einem autonomen Modus, einem halbautonomen Modus oder einem nicht autonomen Modus betreiben. Für die Zwecke dieser Offenbarung wird ein autonomer Modus als einer definiert, in dem jedes von Antrieb, Bremsen und Lenkung des Fahrzeugs 100 durch den Computer 110 gesteuert wird; in einem halbautonomen Modus steuert der Computer 110 eines oder zwei von Antrieb, Bremsen und Lenkung des Fahrzeugs 100; in einem nicht autonomen Modus steuert ein Fahrzeugführer den Antrieb, die Bremsen und die Lenkung des Fahrzeugs 100.
-
Der Computer 110 kann Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Steuerung der Beschleunigung des Fahrzeugs durch Steuern von einem oder mehreren von einem Verbrennungsmotor, Elektromotor, Hybridmotor usw.), Lenkung, Klimasteuerung, Innen- und/oder Außenbeleuchtung usw. des Fahrzeugs 100 zu betreiben, sowie um zu bestimmen, ob und wann der Computer 110 derartige Vorgänge anstelle eines menschlichen Fahrzeugführers steuern soll. Zusätzlich kann der Computer 110 dazu programmiert sein, zu bestimmen, ob und wann ein menschlicher Fahrzeugführer derartige Vorgänge steuern soll.
-
Der Computer 110 kann mehr als einen Prozessor, z. B. Steuerungen oder dergleichen, die in dem Fahrzeug zum Überwachen und/oder Steuern verschiedener Fahrzeugsteuerungen, z. B. einer Antriebsstrangsteuerung, einer Bremssteuerung, einer Lenkungssteuerung usw., beinhaltet sind, beinhalten oder kommunikativ daran gekoppelt sein, z. B. über einen Kommunikationsbus des Fahrzeugs 100, wie er nachfolgend ausführlicher beschrieben wird. Der Computer 110 ist im Allgemeinen zur Kommunikation an einem Fahrzeugkommunikationsnetzwerk angeordnet, wie etwa einem Bus in dem Fahrzeug, wie beispielsweise einem Controller Area Network (CAN) oder dergleichen, und/oder verdrahteten und/oder drahtlosen Mechanismen.
-
Über das Netzwerk des Fahrzeugs 100 kann der Computer 110 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen, z. B. einem Aktor 120, einer HMI 140 usw., empfangen. Alternativ oder zusätzlich kann in den Fällen, in denen der Computer 110 tatsächlich mehrere Vorrichtungen umfasst, das Kommunikationsnetzwerk des Fahrzeugs 100 für Kommunikationen zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 110 dargestellt sind. Wie nachfolgend ausführlicher erläutert, können verschiedene elektronische Steuerungen und/oder Sensoren 130 dem Computer 110 über das Fahrzeugkommunikationsnetzwerk Daten bereitstellen.
-
Der Computer 110 kann dazu konfiguriert sein, über eine drahtlose Schnittstelle 150 mit anderen Fahrzeugen 101 zu kommunizieren (siehe 2), z. B. über ein Fahrzeug-zu-Fahrzeug- und/oder Fahrzeug-zu-Infrastruktur-Kommunikationsnetzwerk 170. Zusätzlich oder alternativ kann der Computer 110 dazu konfiguriert sein, über die drahtlose Schnittstelle 150 mit einem entfernten Computer 160 zu kommunizieren. Das drahtlose Kommunikationsnetzwerk 170 stellt einen oder mehrere Mechanismen dar, durch welche die Computer 110 der Fahrzeuge 100 mit anderen Fahrzeugen 101 kommunizieren können, und kann einer oder mehrere von drahtlosen Kommunikationsmechanismen sein, einschließlich einer beliebigen gewünschten Kombination aus drahtlosen (z. B. zellularen, drahtlosen, Satelliten-, Mikrowellen- und Funkfrequenz-) Kommunikationsmechanismen und einer beliebigen gewünschten Netzwerktopologie (oder Topologien, wenn mehrere Kommunikationsmechanismen verwendet werden). Beispielhafte Fahrzeug-zu-Fahrzeug-Kommunikationsnetzwerke beinhalten zellulare, Bluetooth-, IEEE 802.11-, dedizierte Nahbereichskommunikations-(DSRC)- und/oder Weitverkehrsnetzwerke (WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen. Die drahtlose Schnittstelle 150 kann eine bekannte elektronische Schaltung, wie etwa einen Funkfrequenzsender, einen Funkfrequenzempfänger, und eine Verstärkerschaltung zum Verstärken eines ausgehenden und eingehenden Funkfrequenzsignals beinhalten.
-
Der entfernte Computer 160, z. B. ein Cloudcomputer, ist typischerweise ein Computer mit einem Prozessor und einem Speicher, wie sie bekannt sind. Ferner beinhaltet der Speicher eine oder mehrere Arten von computerlesbaren Medien und speichert Anweisungen, die durch den Prozessor ausgeführt werden können, um verschiedene Vorgänge durchzuführen, einschließlich des hier offenbarten.
-
Die Aktoren 120 des Fahrzeugs 100 sind über Schaltungen, Chips oder andere elektronische und/oder mechanische Komponenten umgesetzt, die unterschiedliche Fahrzeugteilsysteme gemäß geeigneten Steuersignalen, wie bekannt, betätigen können. Die Aktoren 120 können verwendet werden, um Systeme der Fahrzeuge 100, wie etwa Bremsen, Beschleunigung und/oder Lenkung der Fahrzeuge 100 zu steuern.
-
Die Sensoren 130 des Fahrzeugs 100 können eine Vielzahl von Vorrichtungen beinhalten, die bekanntermaßen Daten über das Fahrzeugnetzwerk bereitstellen. Beispielsweise können die Sensoren 130 einen oder mehrere Kamera-, Radar- und/oder LIDAR-Sensoren 130 beinhalten, die im und/oder am Fahrzeug 100 angeordnet sind, um Daten bereitzustellen, die zumindest einen Teil des Außenbereichs des Fahrzeugs 100 abdecken. Die Daten können vom Computer 110 über eine geeignete Schnittstelle, wie bekannt, empfangen werden. Ein Sensor 130, der z. B. auf einer Oberseite des Fahrzeugs 100 angeordnet ist, kann Objektdaten bereitstellen, d. h. Daten, die relative Standorte, Größen und/oder Formen von Objekten, wie etwa anderen Fahrzeugen 101, die das Fahrzeug 100 umgeben, beinhalten. Ein Computer 110 des Fahrzeugs 100 kann die Objektdaten empfangen und das Fahrzeug zumindest teilweise auf Grundlage der empfangenen Objektdaten in einem autonomen und/oder halbautonomen Modus betreiben. Ein Belegungssensor 130 des Fahrzeugs 100, z. B ein in einem Sitz des Fahrzeugs 100 angebrachter Belegungssensor usw., kann Daten bereitstellen, einschließlich darüber, ob ein Benutzer des Fahrzeugs 100 das Fahrzeug 100 verlassen hat. Zusätzlich oder alternativ kann der Computer 110 auf Grundlage von einem oder mehreren Kamerasensoren 130 mit einem Sichtfeld, das einen Innenraum des Fahrzeugs 100 beinhaltet, empfangener Daten bestimmen, ob der/die Benutzer des Fahrzeugs 100 das Fahrzeug 100 verlassen hat/haben.
-
Der Computer 110 kann dazu programmiert sein, auf Grundlage von den Sensoren 130 des Fahrzeugs 100 empfangener Daten z. B. Parklücken 205a, 205b zu bestimmen (siehe 2). Als ein Beispiel kann der Computer 110 dazu programmiert sein, auf Grundlage von einem Kamerasensor 130 empfangener Bilddaten, die den Parklücken 205a, 205b zugeordnete Fahrbahnmarkierungen beinhalten, Parklücken 205a, 205b zu identifizieren. Der Computer 110 kann dazu programmiert sein, auf Grundlage von Bilddaten, die z. B. ein Parkbeschränkungsschild 230 beinhalten und von einem Kamerasensor 130 des Fahrzeugs 100 empfangen werden, eine einer oder mehreren Parklücken 205a, 205b zugeordnete Parkbeschränkung zu bestimmen. Ein Kamerasensor 130, Regensensor 130, Temperatursensor 130 usw. kann Daten bereitstellen, die eine Umweltbedingung, z. B. Regen, Schnee, Wind, Hagel usw. beinhalten.
-
Die HMI 140 kann dazu konfiguriert sein, eine Benutzereingabe zu empfangen, z. B. während des Betriebs des Fahrzeugs 100. Beispielsweise kann ein Benutzer einen Betriebsmodus, z. B. einen autonomen Modus, durch Eingeben eines angefragten Betriebsmodus über eine HMI 140 auswählen. Als ein Beispiel kann eine HMI 140 Touchscreens, Schaltflächen, Knöpfe, Tastenfelder, ein Mikrophon und so weiter zum Empfangen von Informationen von einem Benutzer beinhalten. Außerdem kann eine HMI 140 verschiedene Schnittstellen, wie etwa eine Ford SYNC ®-Computerschnittstelle, ein Smartphone usw. zum Empfangen von Informationen von einem Benutzer und/oder zum Ausgeben von Informationen an den Benutzer beinhalten.
-
Unter Bezugnahme auf 2, kann ein Computer 110 eines ersten Fahrzeugs 100 dazu programmiert sein, z. B. auf Grundlage von einem Belegungssensor 130 empfangener Daten zu bestimmen, ob ein Benutzer 210 das erste Fahrzeug 100 verlassen hat. Zusätzlich oder alternativ kann der Computer 110 z. B. auf Grundlage von Bilddaten von einem Kamerasensor 130 und/oder Daten eines Belegungssensors 130 bestimmen, ob alle Benutzer 210 ausgestiegen sind, z. B. wenn mehr als ein Benutzer 210 im ersten Fahrzeug 100 erfasst wurde. Wird bestimmt, dass der/die Benutzer 210 das Fahrzeug 100 verlassen hat/haben, kann der Computer 110 zumindest teilweise auf Grundlage eines von gespeicherten Parkbeschränkungen, z. B. einem Parkbeschränkungsschild 230, und Daten eines Sensors 130 des Fahrzeugs 100 verfügbare Parklücken, wie etwa die Lücken 205b, 205c, 205d identifizieren.
-
Der Computer 110 kann die Parklücke 205d, die sich in einem Parkhaus 240 befindet, z. B. auf Grundlage von einem Computer 250 des Parkhauses 240 empfangener Daten erfassen. Die von dem Computer 250 empfangenen Daten können die Nummer, Größe, Kosten usw. einer beliebigen verfügbaren Parklücke 205d in einem Parkhaus 240 beinhalten. Ferner kann der Computer 110 dazu programmiert sein, zumindest teilweise auf Grundlage einer Entfernung d1, d2, d3 zu einer entsprechenden Parklücke 205b, 205c, 205d und einer Umweltbedingung eine der verfügbaren Parklücken 205b, 205c, 205d auszuwählen. Der Computer 110 navigiert dann das Fahrzeug 100 zum Parken in der ausgewählten Parklücke durch Betätigen von Aktoren 120 des Fahrzeugs 100, z. B. eines Antriebs-, Brems- und/oder Lenkungsaktors 120.
-
Der Computer 110 kann dazu programmiert sein, ein oder mehrere geparkte Fahrzeuge, z. B. ein zweites Fahrzeug 101 in der Parklücke 205a, zu erfassen und die verfügbaren Parklücken, z. B. die Lücke 205b, zumindest teilweise auf Grundlage des/der erfassten einen oder mehreren geparkten Fahrzeuge zu identifizieren. Beispielsweise kann der Computer 110 dazu programmiert sein, ein zweites Fahrzeug 101 auf Grundlage von einem Kamerasensor 130 usw. empfangener Bilddaten zu erfassen. Wenn das zweite Fahrzeug 101 erfasst wird, kann der Computer 110 dazu programmiert sein, Objektdaten, einschließlich der Größe, des Standorts, der Geschwindigkeit usw. des erfassten zweiten Fahrzeugs 101 zu empfangen. Zusätzlich oder alternativ kann der Computer 110 dazu programmiert sein, Objektdaten, wie vorstehend beschrieben, über das drahtlose Kommunikationsnetzwerk 170 und/oder einen Computer 110 des zweiten Fahrzeugs 101 von dem entfernten Computer 160 zu empfangen.
-
Ferner kann der Computer 110 dazu programmiert sein, Parklücken 205a, 205b auf Grundlage von einem Kamerasensor 130 des Fahrzeugs 100 empfangener Bilddaten zu erfassen. Als ein Beispiel kann der Computer 110 die Parklücken 205a, 205b auf Grundlage einer Markierung(en) auf einem Straßenbelag erfassen. Zusätzlich oder alternativ kann der Computer 110 die Parklücken auf Grundlage des Bestimmens einer Länge eines Abstands zwischen geparkten Fahrzeugen 101 und des Bestimmens, ob der Abstand eine Länge aufweist, die zum Parken des Fahrzeugs 100 ausreicht, z. B. auf Grundlage der Größe des Fahrzeugs 100, erfassen. Ferner kann der Computer 110 zumindest teilweise auf Grundlage der erfassten zweiten Fahrzeuge 101 bestimmen, welche der erfassten Parklücken 205a, 205b verfügbar sind. In dem in 2 gezeigten Beispiel, kann der Computer 110 auf Grundlage der empfangenen Objektdaten bestimmen, dass die Parklücke 205a durch ein erfasstes zweites Fahrzeug 101 belegt ist. Zusätzlich kann der Computer 110 ferner dazu programmiert sein, z. B. auf Grundlage von Daten eines Sensors 130, zu bestimmen, ob eine Parklücke durch eine beliebige andere Art von Fahrzeug, z. B. ein Motorrad, Fahrrad usw. und/oder ein Objekt, wie etwa einen Leitkegel, belegt ist.
-
Der Computer 110 kann dazu programmiert sein, eine Liste verfügbarer Parklücken von einem zweiten Fahrzeug 101 zu empfangen und die Parklücke zumindest teilweise auf Grundlage der empfangenen Liste zu identifizieren. Beispielsweise kann ein Computer des zweiten Fahrzeugs 101 dazu programmiert sein, die Parklücke 205c zu erfassen, zu bestimmen, dass die Parklücke 205c verfügbar ist, z. B. auf Grundlage der Abwesenheit eines zweiten Fahrzeugs 101, das die Parklücke 205c belegt, und Daten, einschließlich der Standortkoordinaten, Größe usw. der verfügbaren Parklücke 205c über das drahtlose Kommunikationsnetzwerk 170 an das erste Fahrzeug 100 zu senden. Folglich kann der Computer 110 des Fahrzeugs 100 vorteilhafterweise die Parklücke 205c erfassen, die sich außerhalb eines Sichtfelds der Sensoren 130 des Fahrzeugs 100 befindet. Zusätzlich oder alternativ kann der Computer 110 des Fahrzeugs 100 auf Grundlage von Kartendaten, einschließlich der Standortkoordinaten, Größe usw. von Parklücken, und von einem zweiten Fahrzeug 101 empfangener Standortdaten bestimmen, ob eine Parklücke außerhalb eines Sichtfelds der Sensoren 130 des Fahrzeugs 100 verfügbar ist. Zusätzlich oder alternativ kann der Computer 110 des Fahrzeugs 100 zumindest teilweise auf Grundlage von einem entfernten Computer 160 empfangener und/oder gespeicherter Daten bestimmen, ob eine Parklücke verfügbar ist. Folglich kann der Computer 110 Standortkoordinaten geparkter zweiter Fahrzeuge 101 empfangen und auf Grundlage der empfangenen Standortkoordinaten der geparkten zweiten Fahrzeuge 101 bestimmen, ob eine beliebige der Parklücken verfügbar ist.
-
Wie vorstehend beschrieben, kann der Computer 110 eine verfügbare Parklücke(n) zumindest teilweise auf Grundlage einer Parkbeschränkung(en) identifizieren. Parkbeschränkungen beinhalten im Kontext dieser Offenbarung Beschränkungen, denen das Parken eines Fahrzeugs 100 auf Grundlage öffentlicher Verkehrsschilder, Beschränkungen, die nicht veröffentlicht wurden, aber auf Grundlage von Verkehrsregeln anzuwenden sind, Polizeianweisungen usw. unterliegt, und/oder Beschränkungen auf Grundlage vorher festgelegter Parameter.
-
Der Computer 110 kann dazu programmiert sein, auf Grundlage des Verkehrsschilds 230 und einer aktuellen Uhrzeit zu bestimmen, ob die Parklücke 205b verfügbar ist. Beispielsweise kann der Computer 110 dazu programmiert sein, zu bestimmen, dass die Parklücke 205b nicht verfügbar ist, auch wenn die Parklücke 205b nicht belegt ist, wenn die aktuelle Uhrzeit innerhalb eines Zeitraums von 9-17 Uhr liegt, der durch das Schild 230 als „Parkverbots-Zeitraum“ angezeigt ist. Zusätzlich oder alternativ kann der Computer 110 dazu programmiert sein, auf Grundlage gespeicherter Daten, z. B. Parkbeschränkungsdaten, und einer aktuellen Uhrzeit zu bestimmen, ob die Parklücke 205b verfügbar ist.
-
Der Computer 110 kann z. B. auf Grundlage einer Verkehrsregel, die es einem Fahrzeug untersagt, innerhalb von 5 Metern von einem Feuerhydranten zu parken, bestimmen, dass eine Parklücke benachbart zu einem Feuerhydranten nicht verfügbar ist. Der Computer 110 des Fahrzeugs 100 kann auf Grundlage von einem Kamerasensor 130 empfangener Daten z. B. eine rote Markierung erfassen, die eine Parkbeschränkung aufgrund eines Feuerhydranten angibt. Zusätzlich oder alternativ kann der Computer 110 dazu programmiert sein, einen Feuerhydranten auf Grundlage bekannter Bildverarbeitungsverfahren zu erfassen und eine Gegend innerhalb einer gewissen Entfernung, z. B. 5 Metern, von dem erfassten Feuerhydranten als nicht zum Parken verfügbar zu bestimmen.
-
Der Computer 110 des Fahrzeugs 100 kann dazu programmiert sein, Daten von einem entfernten Computer 160 zu erhalten, einschließlich z. B. einer Beschränkung des Parkens auf einer Seite eines Straßenabschnitts aufgrund einer Veranstaltung. Der Computer 110 des Fahrzeugs 100 kann ferner Parkbeschränkungen auf Grundlage von Eigenschaften des Fahrzeugs 100, wie etwa einer oder mehreren Fahrzeugabmessungen, d. h. einer Größe des Fahrzeugs 100 identifizieren. Beispielsweise kann der Computer 110 eines Lastfahrzeugs 100 eine Parklücke als nicht verfügbar identifizieren, wenn die Parklücke nur für ein kompaktes Fahrzeug 100 geeignet ist, z. B. auf Grundlage eines öffentlichen Schilds „NUR KOMPAKTE FAHRZEUGE“ und/oder eines Erfassens einer Parklückengröße auf Grundlage von Daten der Sensoren 130 des Fahrzeugs 100.
-
Der Computer 110 des Fahrzeugs 100 kann dazu programmiert sein, eine verfügbare Parklücke auf Grundlage eines vorher festgelegten Benutzerparameters zu identifizieren. Die vorher festgelegten Benutzerparameter können Beschränkungen, wie etwa „kein Parken in einer Seitenstraße“, „kein Parken hinter einem Truck“, „Parken nur in Parklücken mit Straßenbeleuchtung während der Nachtstunden“ usw., beinhalten. Der Computer 110 kann dazu programmiert sein, zu bestimmen, dass eine Parklücke verfügbar ist, wenn die entsprechende Parklücke Bedingungen auf Grundlage der vorher festgelegten Benutzerparameter, z. B. „kein Parken in einer Seitenstraße“, erfüllt.
-
Der Computer 110 des Fahrzeugs 100 kann dazu programmiert sein, z. B. eine Parklücke 205b zumindest teilweise auf Grundlage der Kosten des Parkens in der Parklücke auszuwählen. Beispielsweise kann der Computer 110 die Kosten des Parkens in den verfügbaren Parklücken 205b, 205c, 205d bestimmen und die Parklücke 205b auf Grundlage der bestimmten Parkkosten auswählen, z. B. weil die Parkkosten für 205b die geringsten der Parkkosten in einer beliebigen der verfügbaren Parklücken 205b, 205c, 205d sind. Um die Parkkosten zu bestimmen, kann der Computer 110 des Fahrzeugs 100 dazu programmiert sein, Parkgebührdaten zu empfangen, z. B. auf Grundlage auf einem Schild veröffentlichter Stundensätze, von einem entfernten Computer 160 empfangener Daten usw. und eines Plans des Benutzers 210, einschließlich z. B. einer Startzeit und einer Endzeit des Parkens.
-
Der Computer 110 des Fahrzeugs 100 kann ferner dazu programmiert sein, das Fahrzeug 100 von der ausgewählten Parklücke weg zu bewegen, z. B. zu einer anderen Parklücke, wenn bestimmt wird, dass eine verbleibende Zeit bevor die ausgewählte Parklücke einer Parkbeschränkung unterliegt, unter einem vorher festgelegten Zeitschwellenwert, z. B. 5 Minuten, liegt. Beispielsweise kann der Computer 110 des Fahrzeugs 100 das Fahrzeug 100 aufgrund der mit der Parklücke 205b verbundenen „PARKVERBOT“-Beschränkung von 9-17 Uhr um 8:55 Uhr von der Parklücke 205b wegbewegen.
-
Der Computer 110 kann dazu programmiert sein, eine Bewegung des Fahrzeugs 100 zu einer zweiten Parklücke zu verhindern, wenn, z. B. auf Grundlage von einem Sensor 130 des Fahrzeugs 100 empfangener Daten, bestimmt wird, dass das Fahrzeug 100 wiederaufgeladen wird. Zusätzlich oder alternativ kann der Computer 110 dazu programmiert sein, eine Bewegung des Fahrzeugs 100 zu einer zweiten Parklücke zu verhindern, wenn bestimmt wird, dass das Fahrzeug 100 physisch blockiert ist und/oder ein Fehlerereignis, z. B. ein mechanisches Problem, in dem Fahrzeug 100 aufgetreten ist. Beispielsweise kann das Fahrzeug 100 blockiert sein, wenn die Entfernung zwischen dem Fahrzeug 100 und benachbart geparkten zweiten Fahrzeugen 101 nicht zum Bewegen aus der Parklücke ausreicht.
-
Der Computer 110 des Fahrzeugs 100 kann dazu programmiert sein, eine Punktzahl für eine Parklücke zu bestimmen, eine zweite Parklücke zu identifizieren, wenn bestimmt wird, dass die Punktzahl der Parklücke unter einem Punktzahlschwellenwert liegt, und das Fahrzeug zur zweiten Parklücke zu navigieren. Eine Punktzahl einer Parklücke kann in einem numerischen Format ausgedrückt sein, z. B. einer Zahl von 1 bis 10, wobei 1 die schlechteste und 10 eine äußerst gute Parklücke angibt. Beispielsweise kann der Computer 110 des Fahrzeugs 100, wenn bestimmt wird, dass eine Punktzahl der Parklücke 205b unter einem Schwellenwert, z. B. einem Punktzahlschwellenwert von 4, liegt, das Fahrzeug 100 von der Parklücke 205b weg navigieren.
-
Der Computer 110 des Fahrzeugs 100 kann dazu programmiert sein, eine Punktzahl für eine Parklücke gemäß mindestens einem von einer Umweltbedingung und einer Gefahr einer Beschädigung des Fahrzeugs zu bestimmen. Die Punktzahl kann auf Grundlage einer mathematischen Funktion auf Grundlage verschiedener Eingaben, z. B. S = w1 E + w2 R + w3 C + w4 D definiert werden. S, E, R, C und D stehen jeweils für eine/ein einer konkreten Parklücke zugeordnete/s Punktzahl, Umweltbedingung, Gefahr einer Beschädigung, Kostenniveau (Gebühren) und Nähe (die alle auf einer einheitlichen Skala, z. B. 1 bis 10, bereitgestellt werden können). Die Parameter w1, w2, w3 und w4 stehen jeweils für Gewichtungsfaktoren für die Eingaben E, R, C und D. Anders ausgedrückt, wird durch Erhöhen oder Reduzieren der Faktoren w1, w2, w3 und w4 die Wirkung der jeweiligen Eingabe E, R, C und D auf die berechnete Punktzahl (S) erhöht bzw. reduziert.
-
Der Computer 110 kann eine einer Parklücke zugeordnete Umweltbedingung E auf Grundlage von z. B. einem Regensensor 130, einem Temperatursensor 130, einem entfernten Computer 160 usw. empfangener aktueller Umweltdaten und/oder von einem entfernten Computer 160 empfangener Wettervorhersagedaten bestimmen. Die Umweltbedingung E kann numerisch mit einer Zahl zwischen 1 (sehr ungünstige Witterungsverhältnisse) und 10 (sehr gute Witterungsverhältnisse) ausgedrückt werden.
-
Der Computer 110 kann eine Gefahr R für eine Parklücke auf Grundlage eines einer die entsprechende Parklücke beinhaltenden Gegend zugeordnetem Kriminalitätsindex bestimmen. Beispielsweise kann eine Gefahr R numerisch mit einer Zahl zwischen 1 (Gegend mit großer Gefahr) und 10 (sehr sichere Gegend) ausgedrückt werden. Der Computer 110 kann dazu programmiert sein, die Gefahr R einer Beschädigung des Fahrzeugs 100 auf Grundlage z. B. von einem Schwingungssensor 130, einem Drucksensor 130 usw. des Fahrzeugs 100 empfangener Daten zu bestimmen. Beispielsweise kann der Computer 110 auf Grundlage eines erhöhten auf das Fahrzeug 100 ausgeübten Druck- und/oder Schwingungsniveaus, z. B. wenn ein Einbrecher versucht mit Gewalt in das Fahrzeug 100 einzudringen, einer Parklücke eine größere Gefahr zuordnen. Zusätzlich oder alternativ kann der Computer 110 eine Gefahr R einer Parklücke auf Grundlage von einem entfernten Computer 160 empfangener Daten, z. B. einer Kriminalitätskarte, bestimmen.
-
Der Computer 110 kann ein Kostenniveau C für eine Parklücke auf Grundlage einer der entsprechenden Parklücke zugeordneten Stundenrate, Parkdauer usw. bestimmen. Das Kostenniveau C kann numerisch mit einer Zahl zwischen 1 (sehr teuer) und 10 (kostenlos oder sehr günstig) ausgedrückt werden. In einem Beispiel kann der Computer 110 dazu konfiguriert sein, das Fahrzeug 100 von einer ersten Parklücke 205b zu einer zweiten Parklücke 205d bewegen, wenn eine Änderung des Kostenniveaus C für die Parklücke 205d bestimmt wird. Die Kosten der Parklücke 205d im Parkhaus 240 können sich, z. B. nach 17 Uhr, derart verändern, dass sie niedriger als die Parkkosten in der Parklücke 205b sind. Folglich kann der Computer 110 dazu programmiert sein, das Fahrzeug 100 aus der Parklücke 205d zu bewegen.
-
Der Computer 110 kann eine einer Parklücke zugeordnete Nähe D auf Grundlage einer unter Verwendung bekannter Navigationstechniken bestimmten Navigationsroute bestimmen. Beispielsweise kann der Computer 110 eine den Parklücken zugeordnete Nähe D für die Parklücken 205b, 205c, 205d auf Grundlage der Entfernungen d1, d2 und d3 bestimmen. Ein niedrigeres D kann eine längere Entfernung anzeigen, z. B. kann ein der Parklücke 205d zugeordneter D-Wert der niedrigste der D-Werte für die Parklücken 205b, 205c, 205d sein. D kann numerisch mit einer Zahl zwischen 1 (zu weit) und 10 (sehr nah) definiert werden.
-
Der Computer 110 kann dazu programmiert sein, eine Abfahrtszeit und einen Standort des Benutzers 210 zu empfangen und das Fahrzeug 100 gemäß der Abfahrtszeit und dem Standort des Benutzers 210 zum Standort des Benutzers 210 zu navigieren. Zusätzlich oder alternativ kann der Computer 110 dazu programmiert sein, das Fahrzeug 100 bei Empfangen einer Abholanfrage, z. B. von einer mobilen Vorrichtung des Benutzers 210, wie etwa einem Smartphone, zum Standort des Benutzers 210 zu navigieren. Der Computer 110 kann z. B. auf Grundlage von der mobilen Vorrichtung des Benutzers 210 empfangener Standortkoordinaten zum Abholstandort navigieren.
-
VERARBEITUNG
-
3 ist ein Ablaufdiagramm eines beispielhaften Vorgangs 300 zum Parken eines Fahrzeugs 100. In einem Beispiel kann der Computer 110 des Fahrzeugs 100 dazu programmiert sein, Blöcke des Vorgangs 300 auszuführen und/oder Aktoren anzuweisen, diese auszuführen und anderweitig Entscheidungen darüber zu treffen.
-
Der Vorgang 300 beginnt mit einem Entscheidungsblock 305, bei dem der Computer 110 z. B. auf Grundlage von einem Belegungssensor 130, einem Kamerasensor 130 usw. des Fahrzeugs 100 empfangener Daten bestimmt, ob (ein) Benutzer 210 das Fahrzeug 100 verlassen hat/haben. Zusätzlich oder alternativ kann der Computer 110 dazu programmiert sein, zu bestimmen, ob alle Benutzer 210 das Fahrzeug 100 verlassen haben. Wenn der Computer 110 bestimmt, dass der/die Benutzer 210 das Fahrzeug 100 verlassen hat/haben, dann geht der Vorgang 300 zu einem Entscheidungsblock 310 über; andernfalls endet der Vorgang 300 oder kehrt alternativ zu Entscheidungsblock 305 zurück.
-
In Entscheidungsblock 310 bestimmt der Computer 110, ob das Fahrzeug 100 sich von einem aktuellen Standort des Fahrzeugs 100 wegbewegen sollte. Der Computer 110 kann auf Grundlage eines von einem Benutzer des Fahrzeugs 100 über eine HMI 140 des Fahrzeugs 100, eine mobile Vorrichtung des Benutzers 210 usw. empfangenen Parkbefehls bestimmen, dass das Fahrzeug 100 bewegt werden sollte. Der Parkbefehl kann ferner eine Abfahrtszeit und einen Standort beinhalten. Ein Abfahrtsstandort kann ein Standort sein, an dem der/die Benutzer 210 das Fahrzeug 100 verlassen hat/haben, oder ein anderer Standort, der im Parkbefehl beinhaltet ist. Alternativ kann der Computer 110 dazu programmiert sein, den aktuellen Standort des Fahrzeugs 100 beizubehalten, z. B. wenn keine Daten empfangen werden, die eine Anfrage zum Wegbewegen des Fahrzeugs beinhalten. Wenn der Computer 110 bestimmt, dass das Fahrzeug 100 sich von dem aktuellen Standort wegbewegen sollte, dann geht der Vorgang 300 zu Entscheidungsblock 315 über; andernfalls endet der Vorgang 300 oder kehrt alternativ zu Entscheidungsblock 305 zurück.
-
In Entscheidungsblock 315 bestimmt der Computer 110, ob eine Parklücke für das Fahrzeug 100 verfügbar ist. Beispielsweise kann der Computer 110 bestimmen, dass kein Parkplatz verfügbar ist, wenn z. B. keine Parklücken innerhalb einer vorher festgelegten Entfernung von dem aktuellen Standort des Fahrzeugs 100 verfügbar sind, verfügbare Parklücken eine Punktzahl von weniger als einem Punktzahlschwellenwert aufweisen usw. Wenn der Computer 110 bestimmt, dass eine Parklücke(n) für das Fahrzeug 100 verfügbar ist/sind, dann geht der Vorgang 300 zu einem Block 320 über; andernfalls geht der Vorgang 300 zu einem Block 345 über.
-
In Block 320 bewegt der Computer 110 das Fahrzeug 100 zu einer Parklücke. Der Computer 110 kann eine oder mehrere verfügbare Parklücken 205b, 205c, 205d bestimmen, den verfügbaren Parklücken zugeordnete Punktzahlen bestimmen und z. B. eine Parklücke 205b auf Grundlage der bestimmten Punktzahlen der verfügbaren Parklücken auswählen. Der Computer 110 kann dann unter Verwendung bekannter Routenbestimmungstechniken Navigationsanweisungen zu der ausgewählten Parklücke 205b bestimmen. Ferner kann der Computer 110 das Fahrzeug 100 dann auf Grundlage der bestimmten Navigationsanweisungen zu der ausgewählten Parklücke 205b bewegen, z. B. durch Betätigen der Antriebs-, Lenkungs- und/oder Bremsaktoren 120 des Fahrzeugs 100 zum Befahren einer bestimmten Route.
-
Danach bestimmt der Computer 110 in einem Entscheidungsblock 325, ob eine Punktzahl einer aktuellen Parklücke, z. B. der Parklücke 205b, unter einem Punktzahlschwellenwert liegt. Der Computer 110 kann dazu programmiert sein, die Punktzahl der aktuellen Parklücke auf Grundlage einer/s der aktuellen Parklücke zugeordneten Umweltbedingung, Gefahr, Kostenniveaus usw. zu bestimmen. Beispielsweise kann der Computer 110 die Punktzahl, z. B. eine Zahl zwischen 1 und 10, auf Grundlage einer Punktzahlfunktion, wie vorstehend beschrieben, bestimmen. Der Computer 110 bestimmt dann, ob die bestimmte Punktzahl der aktuellen Parklücke unter einem vorher festgelegten Punktzahlschwellenwert, z. B. 4, liegt. Eine Punktzahl unter dem vorher festgelegten Schwellenwert kann eine ungünstige Parklücke anzeigen. Wenn der Computer 110 bestimmt, dass die bestimmte Punktzahl unter dem vorher festgelegten Schwellenwert liegt, dann geht der Vorgang 300 zu einem Block 330 über; andernfalls geht der Vorgang 300 zu einem Entscheidungsblock 335 über.
-
In Block 330 bewegt der Computer 110 das Fahrzeug 100 zu einer zweiten Parklücke. In einem Beispiel bestimmt der Computer 110 eine oder mehrere verfügbare Parklücken 205c, 205d und wählt z. B. auf Grundlage eines Vergleichens der Punktzahlen der verfügbaren Parklücken 205c, 205d eine der verfügbaren Parklücken aus. Beispielsweise kann die Parklücke 205d innerhalb des Parkhauses 240 eine geringere Gefahr, bessere Umweltbedingungen (z. B. kein Regen, Hagel usw.), aber höhere Kosten als die Parklücke 205c aufweisen. In Abhängigkeit von den Eingaben E, R, C und D und den Gewichtungsfaktoren w1, w2, w3 und w4 kann eine Punktzahl der Parklücke 205d größer als eine Punktzahl der Parklücke 205c sein. Folglich kann der Computer 110 die Parklücke 205d auswählen, Navigationsanweisungen zur Parklücke 205d bestimmen und das Fahrzeug 100 auf Grundlage der bestimmten Navigationsanweisungen zur Parklücke 205d bewegen.
-
Als nächstes bestimmt der Computer 110 in einem Entscheidungsblock 335, ob eine verbleibende Zeit bis zur Abfahrtszeit (d.h. dem Zeitpunkt zum Abholen des Benutzers 210 an einem vorher festgelegten Standort) unter einem vorher festgelegten Zeitschwellenwert liegt. Der Zeitschwellenwert kann ein konstanter vorher festgelegter Zeitraum, z. B. 5 Minuten, sein oder er kann in Abhängigkeit von einer Fahrtzeit von der Parklücke des Fahrzeugs 100 bis zum Abholstandort des Benutzers 210 variieren. Der Computer 110 kann dazu programmiert sein, eine Fahrtzeit von der Parklücke des Fahrzeugs 100 bis zum vorher festgelegten Abholstandort auf Grundlage von Kartendaten und aktuellen Verkehrsbedingungen zu bestimmen. Wenn der Computer 110 bestimmt, dass die verbleibende Zeit bis zur Abfahrtszeit unter dem vorher festgelegten Zeitschwellenwert liegt, dann geht der Vorgang 300 zu einem Block 340 über; andernfalls kehrt der Vorgang 300 zu Entscheidungsblock 325 zurück.
-
In Block 340 betätigt der Computer 110 die Aktoren 120 des Fahrzeugs 100, um das Fahrzeug 100 zu dem Standort des Benutzers 210 und/oder einem vorher festgelegten Abholstandort zu bewegen. Wenn der Standort des Benutzers 210 und/oder der vorher festgelegte Abholstandort nicht für das Fahrzeug 100 zugänglich, z. B. in einer Fußgängerzone, innerhalb eines Einkaufzentrums, usw. liegt, kann der Computer 110 ferner dazu programmiert sein, einen am nächsten gelegenen Standort zum Abholstandort zu bestimmen, der für das Fahrzeug 100 zugänglich ist, und das Fahrzeug 100 zu dem bestimmten am nächsten liegenden Standort zu navigieren. Nach Block 340 endet der Vorgang 300 oder kehrt alternativ zu Entscheidungsblock 305 zurück.
-
In Block 345 ist der Computer 110 dazu programmiert, die Aktoren 120 des Fahrzeugs 100 zu betätigen, um weiterzufahren. Block 345 ist erreicht, wenn der Computer 110 nicht in der Lage war, eine Parklücke für das Fahrzeug 100 zu finden und/oder auszuwählen. Der Computer 110 kann dazu programmiert sein, eine Route, z. B. auf Grundlage der Wahrscheinlichkeit, eine Parklücke zu finden, zu bestimmen und das Fahrzeug 100 auf Grundlage der bestimmten Route zu navigieren. Beispielsweise kann der Computer 110 eine oder mehrere Parklücken bestimmen, die bald zur Verfügung stehen könnten, z. B. durch Vergleichen aller in einer Gegend innerhalb eines Entfernungsschwellenwerts von dem Fahrzeug 100 geparkten Fahrzeugen 101, z. B. auf Grundlage von dem entfernten Computer 160 empfangener Daten, einschließlich einem erwarteten Ende der bezahlten Parkdauer des Fahrzeugs/der Fahrzeuge 101. Der Computer 110 kann ferner dazu programmiert sein, eine Route zum Herumfahren in einer Gegend, in der sich die Parkplätze, die bald zur Verfügung stehen könnten, befinden, zu bestimmen.
-
Als nächstes bestimmt der Computer 110 in einem Entscheidungsblock 350, ob das Fahrzeug 100 zum Abholstandort navigiert werden soll. Der Computer 110 kann eine Fahrtzeit bis zum Abholstandort auf Grundlage der vorher festgelegten Abholzeit und eines aktuellen Standorts des Fahrzeugs 100 bestimmen. Beispielsweise kann der Computer 110 bestimmen, ob das Fahrzeug 100 zum Abholstandort navigiert werden soll, wenn bestimmt wird, dass eine verbleibende Zeit bis zum Abholen geringer als die bestimmte Fahrtzeit zum Abholstandort ist. Wenn der Computer 110 bestimmt, dass das Fahrzeug 100 zum Abholstandort navigiert werden sollte, dann geht der Vorgang 300 zu Entscheidungsblock 340 über; andernfalls kehrt der Vorgang 300 zu Entscheidungsblock 315 zurück.
-
Rechenvorrichtungen, wie sie hier erläutert werden, beinhalten im Allgemeinen jeweils Anweisungen, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend identifizierten, und zum Ausführen von Blöcken oder Schritten von vorstehend beschriebenen Vorgängen 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 -technologien erstellt wurden, einschließlich unter anderem, entweder einzeln oder in Kombination, Java™, C, C++, 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 ein oder mehrere Vorgänge durchführt, einschließlich einen oder mehrere der hier beschriebenen Vorgänge. Derartige Anweisungen und sonstige Daten können unter Verwendung einer Vielzahl computerlesbarer Medien gespeichert und übertragen werden. Eine Datei in der Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert sind.
-
Ein computerlesbares Medium beinhaltet ein beliebiges Medium, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer gelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtige Medien, flüchtige Medien usw. Nichtflüchtige Medien beinhalten zum Beispiel optische oder magnetische Platten und andere Dauerspeicher. Zu flüchtigen Medien gehört ein dynamischer Direktzugriffsspeicher (Dynamic Random Access Memory - DRAM), welcher in der Regel einen Hauptspeicher darstellt. Gängige Formen computerlesbarer Medien beinhalten zum Beispiel 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 physikalisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH, einen EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, welches von einem Computer gelesen werden kann.
-
Hinsichtlich der in der vorliegenden Schrift beschriebenen Medien, Vorgänge, Systeme, Verfahren usw. ist davon auszugehen, dass, obwohl die Schritte derartiger Vorgänge usw. als in einer entsprechenden Reihenfolge erfolgend beschrieben werden, derartige Vorgänge durchgeführt werden können, wobei die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, welche von der hier beschriebenen Reihenfolge abweicht. Es versteht sich ferner, dass bestimmte Schritte gleichzeitig ausgeführt, andere Schritte hinzugefügt oder bestimmte hier beschriebene Schritte weggelassen werden könnten. Mit anderen Worten sind die Beschreibungen von Systemen und/oder Vorgängen in der vorliegenden Schrift zum Zwecke der Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten keinesfalls so ausgelegt werden, dass sie den offenbarten Gegenstand einschränken.
-
Dementsprechend versteht es sich, dass die vorliegende Offenbarung, einschließlich der vorstehenden Beschreibung und der beigefügten Figuren und nachfolgenden Ansprüche, veranschaulichenden und nicht einschränkenden Charakters ist. 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 bestimmt werden, sondern stattdessen unter Bezugnahme auf Ansprüche, die hier beigefügt sind und/oder in einer hierauf basierenden, nichtvorläufigen Patentanmeldung enthalten sind, gemeinsam mit dem vollständigen Umfang von Äquivalenten, zu welchen derartige Ansprüche berechtigt sind. Es wird erwartet und ist beabsichtigt, dass es hinsichtlich der in der vorliegenden Schrift erläuterten Techniken künftige Entwicklungen geben wird und dass die offenbarten Systeme und Verfahren in derartige künftige Ausführungsformen aufgenommen werden. Insgesamt versteht es sich, dass der offenbarte Gegenstand modifiziert und variiert werden kann.