-
GEBIET DER TECHNIK
-
Die Offenbarung betrifft Fahrzeugsensoren zur Zielfahrzeugerkennung.
-
ALLGEMEINER STAND DER TECHNIK
-
Ein Fahrzeug kann Sensoren verwenden, um Objekte auf einer Fahrbahn zu erkennen. Zum Beispiel kann ein Objekt auf einer Fahrbahn als ein Ziel oder Zielobjekt bezeichnet werden. Fahrzeugsensoren können eine Zielposition und -geschwindigkeit in Bezug auf das Fahrzeug erkennen. Zum Beispiel können die Sensoren die Position des Ziels in Bezug auf das Fahrzeug erkennen. Das Fahrzeug kann auf das Erkennen des Ziels reagieren, z. B. durch Weglenken von dem Ziel, durch Bremsen vor Erreichen des Ziels usw.
-
KURZDARSTELLUNG
-
Ein System beinhaltet einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen speichert, die durch den Prozessor ausführbar sind, um eine seitliche virtuelle Grenze für ein Hostfahrzeug auf Grundlage eines seitlichen Abstands zwischen dem Hostfahrzeug und einem Zielfahrzeug, eines Längsabstands zwischen dem Hostfahrzeug und dem Zielfahrzeug und einer Geschwindigkeit des Zielfahrzeugs relativ zu dem Hostfahrzeug zu identifizieren und um eine vordere virtuelle Grenze für das Hostfahrzeug auf Grundlage des Längsabstands zwischen dem Hostfahrzeug und dem Zielfahrzeug zu identifizieren. Die Anweisungen beinhalten ferner Anweisungen zum Bestimmen eines seitlichen Beschränkungswerts der seitlichen virtuellen Grenze auf Grundlage einer seitlichen Grenzgeschwindigkeit, wobei die seitliche Grenzgeschwindigkeit auf einem Kurswinkel des Hostfahrzeugs basiert. Bestimmen eines vorderen Beschränkungswerts der vorderen virtuellen Grenze auf Grundlage des Kurswinkels des Hostfahrzeugs und Bestimmen einer Längsbeschleunigung und eines Lenkwinkels auf Grundlage der seitlichen und vorderen virtuellen Grenzen und der seitlichen und vorderen Beschränkungswerte. Die Anweisungen beinhalten ferner Anweisungen zum Betätigen einer oder beider von einer Lenkkomponente oder einer Bremse auf Grundlage der Längsbeschleunigung und des Lenkwinkels.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen einer linken seitlichen virtuellen Grenze, einer rechten seitlichen virtuellen Grenze, eines linken seitlichen Beschränkungswerts und eines rechten seitlichen Beschränkungswerts beinhalten.
-
Eine Richtung des Lenkwinkels kann darauf basieren, dass die linke seitliche virtuelle Grenze den linken seitlichen Beschränkungswert erfüllt oder die rechte seitliche virtuelle Grenze den rechten seitlichen Beschränkungswert erfüllt.
-
Die Anweisungen können ferner Anweisungen beinhalten, um sowohl die linke seitliche virtuelle Grenze als auch die rechte seitliche virtuelle Grenze zu bestimmen, wenn der vordere Beschränkungswert unter einem Schwellenwert liegt.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen der Längsbeschleunigung und des Lenkwinkels auf Grundlage einer vorderen Grenzgeschwindigkeit, die den vorderen Beschränkungswert erfüllt, und der seitlichen Grenzbeschleunigung, die den seitlichen Beschränkungswert erfüllt, beinhalten.
-
Die Anweisungen können ferner Anweisungen beinhalten, um bei Bestimmen, dass der seitliche Beschränkungswert unter einem ersten Schwellenwert liegt und dass der vordere Beschränkungswert unter einem zweiten Schwellenwert liegt, eine oder beide von der Lenkkomponente oder der Bremse auf Grundlage eines Abstands zwischen dem Hostfahrzeug und dem Zielfahrzeug und der Geschwindigkeit des Zielfahrzeugs relativ zu dem Hostfahrzeug zu betätigen.
-
Die Anweisungen können ferner Anweisungen beinhalten, nur die Bremse zu betätigen, wenn die Geschwindigkeit unter einem Geschwindigkeitsschwellenwert liegt und der Abstand über einem ersten Abstandsschwellenwert liegt, und nur die Lenkkomponente zu betätigen, wenn die Geschwindigkeit über dem Geschwindigkeitsschwellenwert liegt und der Abstand über einem zweiten Abstandsschwellenwert liegt.
-
Der Geschwindigkeitsschwellenwert kann auf einer maximalen Längsverzögerung des Hostfahrzeugs und einer maximalen Seitenbeschleunigung des Hostfahrzeugs basieren.
-
Die Anweisungen können ferner Anweisungen beinhalten, um bei Bestimmen, dass einer von (1) dem seitlichen Beschränkungswert einen ersten Schwellenwert überschreitet oder (2) der vordere Beschränkungswert einen zweiten Schwellenwert überschreitet, die Betätigung der Lenkkomponente zu unterdrücken, um das Hostfahrzeug in eine angrenzende Fahrbahnspur zu bewegen.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen einer Fahrspurgrenze und eines Fahrspurbeschränkungswerts auf Grundlage der Fahrspurbegrenzung beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen des Lenkwinkels auf Grundlage des Fahrspurbeschränkungswerts und einer Fahrspurbegrenzungsbeschleunigung beinhalten.
-
Die Anweisungen können ferner Anweisungen zum Bestimmen der Fahrspurbegrenzungsbeschleunigung auf Grundlage des Kurswinkels des Hostfahrzeugs und eines aktuellen Lenkwinkels des Hostfahrzeugs beinhalten.
-
Ein Verfahren beinhaltet Identifizieren einer seitlichen virtuellen Grenze für ein Hostfahrzeug auf Grundlage eines seitlichen Abstands zwischen dem Hostfahrzeug und einem Zielfahrzeug, eines Längsabstands zwischen dem Hostfahrzeug und dem Zielfahrzeug und einer Geschwindigkeit des Zielfahrzeugs relativ zu dem Hostfahrzeug, Identifizieren einer vorderen virtuellen Grenze für das Hostfahrzeug auf Grundlage des Längsabstands zwischen dem Hostfahrzeug und dem Zielfahrzeug, Bestimmen eines seitlichen Beschränkungswerts der seitlichen virtuellen Grenze auf Grundlage einer seitlichen Grenzgeschwindigkeit, wobei die seitliche Grenzgeschwindigkeit auf einem Kurswinkel des Hostfahrzeugs basiert, Bestimmen eines vorderen Beschränkungswerts der vorderen virtuellen Grenze auf Grundlage des Kurswinkels des Hostfahrzeugs, Bestimmen einer Längsbeschleunigung und eines Lenkwinkels auf Grundlage der seitlichen und vorderen virtuellen Grenzen und der seitlichen und vorderen Beschränkungswerte, und Betätigen einer oder beider von einer Lenkkomponente oder einer Bremse auf Grundlage der Längsbeschleunigung und des Lenkwinkels.
-
Das Verfahren kann ferner Bestimmen einer linken seitlichen virtuellen Grenze, einer rechten seitlichen virtuellen Grenze, eines linken seitlichen Beschränkungswerts und eines rechten seitlichen Beschränkungswerts beinhalten.
-
Das Verfahren kann ferner Bestimmen von sowohl der linken seitlichen virtuellen Grenze als auch der rechten seitlichen virtuellen Grenze beinhalten, wenn der vordere Beschränkungswert unter einem Schwellenwert liegt.
-
Das Verfahren kann ferner Bestimmen der Längsbeschleunigung und des Lenkwinkels auf Grundlage einer vorderen Grenzgeschwindigkeit, die den vorderen Beschränkungswert erfüllt, und der seitlichen Grenzbeschleunigung, die den seitlichen Beschränkungswert erfüllt, beinhalten.
-
Das Verfahren kann ferner beinhalten, bei Bestimmen, dass der seitliche Beschränkungswert unter einem ersten Schwellenwert liegt und dass der vordere Beschränkungswert unter einem zweiten Schwellenwert liegt, eine oder beide von der Lenkkomponente oder der Bremse auf Grundlage eines Abstands zwischen dem Hostfahrzeug und dem Zielfahrzeug und der Geschwindigkeit des Zielfahrzeugs relativ zu dem Hostfahrzeug zu betätigen.
-
Das Verfahren kann ferner beinhalten, nur die Bremse zu betätigen, wenn die Geschwindigkeit unter einem Geschwindigkeitsschwellenwert liegt und der Abstand über einem ersten Abstandsschwellenwert liegt, und nur die Lenkkomponente zu betätigen, wenn die Geschwindigkeit über dem Geschwindigkeitsschwellenwert liegt und der Abstand über einem zweiten Abstandsschwellenwert liegt.
-
Das Verfahren kann ferner beinhalten, bei Bestimmen, dass einer von (1) dem seitlichen Beschränkungswert einen ersten Schwellenwert überschreitet oder (2) der vordere Beschränkungswert einen zweiten Schwellenwert überschreitet, die Betätigung der Lenkkomponente zu unterdrücken, um das Hostfahrzeug in eine angrenzende Fahrbahnspur zu bewegen.
-
Das Verfahren kann ferner Bestimmen einer Fahrspurgrenze und eines Fahrspurbeschränkungswerts auf Grundlage der Fahrspurbegrenzung beinhalten.
-
Das Verfahren kann ferner Bestimmen des Lenkwinkels auf Grundlage des Fahrspurbeschränkungswerts und einer Fahrspurbegrenzungsbeschleunigung beinhalten.
-
Das Verfahren kann ferner Bestimmen der Fahrspurbegrenzungsbeschleunigung auf Grundlage des Kurswinkels des Hostfahrzeugs und eines aktuellen Lenkwinkels des Hostfahrzeugs beinhalten.
-
Ferner wird eine Rechenvorrichtung offenbart, die dazu programmiert ist, beliebige der vorstehenden Verfahrensschritte auszuführen. Darüber hinaus wird ein Fahrzeug offenbart, das die Rechenvorrichtung umfasst. Darüber hinaus wird ein Computerprogrammprodukt offenbart, das ein computerlesbares Medium umfasst, auf dem Anweisungen gespeichert sind, die durch einen Computerprozessor ausgeführt werden können, um beliebige der vorstehenden Verfahrensschritte auszuführen.
-
Das Planen des Betriebs eines Hostfahrzeugs, insbesondere das Planen des Lenk-, Beschleunigungs- und Bremsbetriebs, kann einen Plan für das Hostfahrzeug beinhalten, innerhalb einer Fahrbahnspur auf einer Fahrbahn zu bleiben. Ein Computer in dem Hostfahrzeug betätigt eine oder mehrere Komponenten gemäß der geplanten Lenkung, Beschleunigung und/oder Bremsung. Die Bewegung eines Zielfahrzeugs kann zu Änderungen des geplanten Betriebs des Hostfahrzeugs führen. Der Computer kann virtuelle Grenzen in Bezug auf die Seiten- und Längsbewegung des Hostfahrzeugs identifizieren. Ferner kann der Computer den Betrieb des Hostfahrzeugs planen, um innerhalb der virtuellen Grenzen zu bleiben.
-
Das Hostfahrzeug kann einen oder mehrere Beschränkungswerte identifizieren, die eine Bewegung des Hostfahrzeugs und des Zielfahrzeugs darstellen. Die Beschränkungswerte basieren auf der Geschwindigkeit und Beschleunigung, mit der sich das Hostfahrzeug und das Zielfahrzeug den virtuellen Grenzen nähern. Wenn einer oder mehrere der Beschränkungswerte jeweilige Schwellenwerte verletzen, kann das Hostfahrzeug eine Änderung des Lenkwinkels und eine Änderung der Beschleunigung und/oder des Bremsens bestimmen, um dem Zielfahrzeug auszuweichen, während es innerhalb der virtuellen Grenzen bleibt. Das Hostfahrzeug kann auf Grundlage der Änderungen des Lenkwinkels und der Beschleunigung und/oder Bremsung eine oder mehrere Komponenten betätigen. Die virtuellen Grenzen, die Grenzannäherungsgeschwindigkeit und die Grenzannäherungsbeschleunigung ermöglichen es dem Hostfahrzeug, die Bewegung des Hostfahrzeugs und des Zielfahrzeugs mit weniger Daten und weniger Berechnungen als bei anderen Ansätzen, z. B. einem Maschinenlernprogramm, vorherzusagen. Das Entkoppeln der seitlichen und längslaufenden virtuellen Grenzen ermöglicht es dem Computer, schneller und mit weniger Berechnungen als ein herkömmliches System zur Bedrohungserkennung und -minderung zu bestimmen, ob das Hostfahrzeug gelenkt oder gebremst werden soll.
-
Figurenliste
-
- 1 ist ein Blockdiagramm eines beispielhaften Systems zum Betreiben eines Fahrzeugs.
- 2A-2D sind Ansichten eines Hostfahrzeugs, eines Zielfahrzeugs und virtueller Grenzen.
- 3 ist eine Ansicht des Hostfahrzeugs und einer Vielzahl von Abstandsschwellenwerten.
- 4 ist ein Blockdiagramm eines beispielhaften Prozesses zum Betreiben des Fahrzeugs.
-
DETAILLIERTE BESCHREIBUNG
-
1 veranschaulicht ein beispielhaftes System 100 zum Betreiben eines Fahrzeugs 105. Ein Computer 110 in dem Fahrzeug 105 ist dazu programmiert, gesammelte Daten von einem oder mehreren Sensoren 115 zu empfangen. Zum Beispiel können Daten des Fahrzeugs 105 einen Standort des Fahrzeugs 105, Daten über eine Umgebung um ein Fahrzeug herum, Daten über ein Objekt außerhalb des Fahrzeugs, wie etwa ein anderes Fahrzeug, usw. beinhalten. Ein Standort des Fahrzeugs 105 wird in der Regel in einer herkömmlichen Form bereitgestellt, z. B. als Geokoordinaten, wie etwa Breitengrad- und Längengradkoordinaten, die über ein Navigationssystem erhalten werden, welches das globale Positionsbestimmungssystem (GPS) verwendet. Weitere Beispiele für Daten können Messwerte von Systemen und Komponenten des Fahrzeugs 105 beinhalten, z. B. eine Geschwindigkeit des Fahrzeugs 105, eine Bewegungsbahn des Fahrzeugs 105 usw.
-
Der Computer 110 ist im Allgemeinen zur Kommunikation über ein Netzwerk des Fahrzeugs 105 programmiert, das z. B. einen herkömmlichen Kommunikationsbus eines Fahrzeugs 105, wie etwa einen CAN-Bus, einen LIN-Bus usw. und/oder andere drahtgebundene und/oder drahtlose Techniken, z. B. Ethernet, WIFI usw., beinhaltet. Über das Netzwerk, den Bus und/oder andere drahtgebundene oder drahtlose Mechanismen (z. B. ein drahtgebundenes oder drahtloses lokales Netzwerk in dem Fahrzeug 105) kann der Computer 110 Nachrichten an verschiedene Vorrichtungen in einem Fahrzeug 105 übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen empfangen, z. B. Steuerungen, Aktoren, Sensoren usw., einschließlich der Sensoren 115. Alternativ oder zusätzlich kann in Fällen, in denen der Computer 110 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugnetzwerk zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 110 dargestellt sind. Zum Beispiel kann der Computer 110 ein generischer Computer mit einem Prozessor und einem Speicher sein, wie vorstehend beschrieben, und/oder kann er eine dedizierte elektronische Schaltung beinhalten, die eine ASIC beinhaltet, die für einen bestimmten Vorgang hergestellt ist, z. B. eine ASIC zum Verarbeiten von Sensordaten und/oder Kommunizieren der Sensordaten. In einem anderen Beispiel kann der Computer 110 ein FPGA (Field-Programmable Gate Array) beinhalten, bei dem es sich um eine integrierte Schaltung handelt, die so hergestellt ist, dass sie durch einen Insassen konfiguriert werden kann. In der Regel wird eine Hardware-Beschreibungssprache, wie etwa VHDL (Very High Speed Integrated Circuit Hardware Description Language - Hardware-Beschreibungssprache für integrierte Schaltungen mit sehr hoher Geschwindigkeit), in der elektronischen Ausgestaltungsautomatisierung verwendet, um digitale und Mischsignal-Systeme, wie etwa FPGA und ASIC, zu beschreiben. Beispielsweise 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. in 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 Computer 110 beinhaltet sein.
-
Zusätzlich dazu kann der Computer 110 zum Kommunizieren mit einem Netzwerk programmiert sein, das verschiedene drahtgebundene und/oder drahtlose Netzwerktechnologien beinhalten kann, z. B. Mobilfunk, Bluetooth®, Bluetooth® Low Energy (BLE), drahtgebundene und/oder drahtlose Paketnetzwerke usw.
-
Der Speicher kann von beliebiger Art sein, z. B. Festplattenlaufwerke, Festkörperlaufwerke, Server oder beliebige flüchtige oder nichtflüchtige Medien. Der Speicher kann die erhobenen Daten speichern, die von den Sensoren 115 gesendet wurden. Der Speicher kann eine von dem Computer 110 getrennte Vorrichtung sein und der Computer 110 kann durch den Speicher gespeicherte Informationen über ein Netzwerk in dem Fahrzeug 105 abrufen, z. B. über einen CAN-Bus, ein drahtloses Netzwerk usw. Alternativ oder zusätzlich kann der Speicher Teil des Computers 110 sein, z. B. als ein Speicher des Computers 110.
-
Die Sensoren 115 können eine Vielfalt an Vorrichtungen beinhalten. Zum Beispiel können verschiedene Steuerungen in einem Fahrzeug 105 als Sensoren 115 betrieben werden, um Daten über das Netzwerk oder den Bus des Fahrzeugs 105 bereitzustellen, z. B. Daten bezüglich der Geschwindigkeit, Beschleunigung und des Standortes des Fahrzeugs, des Status von Teilsystemen und/oder Komponenten usw. Ferner könnten andere Sensoren 115 Kameras, Bewegungsmelder usw. beinhalten, d. h. Sensoren 115 zum Bereitstellen von Daten zum Auswerten einer Position einer Komponente, Auswerten einer Neigung einer Fahrbahn usw. Die Sensoren 115 könnten zudem ohne Einschränkung Kurzstreckenradar, Langstreckenradar, LIDAR und/oder Ultraschallwandler beinhalten.
-
Die gesammelten Daten können eine Vielfalt an Daten, die in einem Fahrzeug 105 gesammelt wurden, beinhalten. Beispiele für erhobene Daten sind vorangehend bereitgestellt und darüber hinaus werden Daten im Allgemeinen unter Verwendung eines Sensors oder mehrerer Sensoren 115 erhoben und können zusätzlich Daten beinhalten, die anhand dieser in dem Computer 110 und/oder auf dem Server berechnet werden. Im Allgemeinen können die gesammelten Daten beliebige Daten beinhalten, die durch die Sensoren 115 erhoben und/oder anhand derartiger Daten berechnet werden können.
-
Das Fahrzeug 105 kann eine Vielzahl von Fahrzeugkomponenten 120 beinhalten. In diesem Zusammenhang beinhaltet jede Fahrzeugkomponente 120 eine oder mehrere Hardwarekomponenten, die ausgelegt sind, um eine mechanische Funktion oder einen mechanischen Vorgang durchzuführen - wie etwa das Fahrzeug 105 bewegen, das Fahrzeug 105 abbremsen oder anhalten, das Fahrzeug 105 lenken usw. Nicht einschränkende Beispiele für Komponenten 120 sind 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 Bremskomponente (wie nachfolgend beschrieben), eine Einparkhilfekomponente, eine Komponente für adaptive Geschwindigkeitsregelung, eine adaptive Lenkkomponente, einen bewegbaren Sitz und dergleichen. Die Komponenten 120 können Rechenvorrichtungen beinhalten, z. B. elektronische Steuereinheiten (ECUs) oder dergleichen und/oder Rechenvorrichtungen, wie sie vorstehend in Bezug auf den Computer 110 beschrieben wurden und die ebenfalls über ein Netzwerk des Fahrzeugs 105 kommunizieren.
-
Ein Fahrzeug 105 kann in einem vollständig autonomen Modus, einem halbautonomen Modus oder einem nicht autonomen Modus betrieben werden. Ein vollständig autonomer Modus ist als ein Modus definiert, in dem jedes von dem Antrieb (typischerweise über einen Antriebsstrang, der einen Elektromotor und/oder eine Brennkraftmaschine beinhaltet), der Bremsung und der Lenkung des Fahrzeugs 105 durch den Computer 110 gesteuert wird. Ein halbautonomer Modus ist ein Modus, in dem mindestens eines von dem Antrieb (typischerweise über einen Antriebsstrang, der einen Elektromotor und/oder eine Brennkraftmaschine beinhaltet), der Bremsung und der Lenkung des Fahrzeugs 105 mindestens teilweise durch den Computer 110 und nicht durch einen menschlichen Fahrzeugführer gesteuert wird. In einem nichtautonomen Modus, d. h. einem manuellen Modus, werden Antrieb, Bremsung und Lenkung des Fahrzeugs durch den menschlichen Bediener gesteuert.
-
2A-2D sind eine Draufsicht eines beispielhaften Hostfahrzeugs 105 und eines beispielhaften Zielfahrzeugs 200 auf einer Fahrbahn 205. Das „Zielfahrzeug“ 200 ist ein Fahrzeug, das durch das Hostfahrzeug 105 erfasst wird. Wenn das Hostfahrzeug 105 entlang der Fahrbahn 205 fährt, erkennt der Computer 110 das Zielfahrzeug 200 und betätigt eine oder mehrere Komponenten 120, um eine Kollision mit dem Zielfahrzeug 200 zu vermeiden. Der Computer 110 kann ein lokales zweidimensionales Koordinatensystem definieren. Das lokale Koordinatensystem definiert Punkte x, y, wobei x eine Koordinate entlang einer Längsachse des Hostfahrzeugs 105 ist und y eine Koordinate entlang einer Seitenachse des Hostfahrzeugs 105 ist. Das heißt, Koordinaten x erstrecken sich in einer Fahrzeugvorwärts- und Fahrzeugrückwärtsrichtung (manchmal als Längsrichtung bezeichnet) und Koordinaten yerstrecken sich in einer Fahrzeugquerrichtung (manchmal als Seitenrichtung bezeichnet).
-
Der Computer 110 kann die Längs- und Seitendynamik des Hostfahrzeugs 105 und des Zielfahrzeugs 200 bestimmen. Die „Dynamik“ sind Maße der Position, Geschwindigkeit und Beschleunigung der Fahrzeuge 105, 200 in dem Koordinatensystem. Die Dynamik kann als ein Satz von Differentialgleichungen bestimmt werden:
wobei x
T, y
Tx, y die relativen Koordinaten einer Mitte des Zielfahrzeugs 200 relativ zu einer Mitte des Hostfahrzeugs 105 sind, θ
H, θ
T jeweilige Kurswinkel des Hostfahrzeugs 105 und des Zielfahrzeugs 200 sind, v
H, v
T jeweilige Geschwindigkeiten des Hostfahrzeugs 105 und des Zielfahrzeugs 200 sind, L
H der Radstand des Hostfahrzeugs 105 ist (d. h. der Abstand zwischen Vorder- und Hinterachse des Hostfahrzeugs 105), g die Beschleunigungskonstante aufgrund der Schwerkraft ist, α die Längsbeschleunigung des Hostfahrzeugs 105 in Einheiten der Standardgravitation ist, wobei 1 Einheit der Standardgravitation die Beschleunigung ist, die der Beschleunigungskonstante aufgrund der Schwerkraft entspricht (d. h. 1 „g“ ist die Beschleunigung gleich der Erdschwerkraft, 2 „g“ ist zweimal die Beschleunigung der Erdschwerkraft usw.), und δ der Lenkwinkel des Hostfahrzeugs 105 in Radianten ist. Das Hostfahrzeug 105 weist eine seitliche Breite W
H auf.
-
Die Längsbeschleunigung α = α
0 + α
CF kann eine Summe aus einer Beschleunigung α
0, die durch einen Bediener oder einem virtuellen Fahrer bereitgestellt wird, und einem Korrekturfaktor α
CF sein, der durch ein herkömmliches Kollisionsvermeidungsprogramm oder eine virtuelle Grenzgleichung bereitgestellt wird, wie nachstehend beschrieben. Die Lenkwinkel δ = δ
0 + δ
CF kann eine Summe aus einem Lenkswinkel δ
0, der durch einen Bediener oder einem virtuellen Fahrer bereitgestellt wird, und einem Korrekturfaktor δ
CF sein, der durch ein herkömmliches Kollisionsvermeidungsprogramm oder eine virtuelle Grenzgleichung bereitgestellt wird, wie nachstehend beschrieben. Die Längsbeschleunigung α und der Lenkwinkel δ können in dem Computer 110 als eine Steuervariablenmatrix
gespeichert werden, was es dem Computer 110 ermöglicht, Matrixmathematik und Algorithmen an der kombinierten Steuervariablen udurchzuführen.
-
Bei Bestimmen des Lenkwinkels δ und der Längsbeschleunigung α kann der Computer 110 eine oder mehrere Komponenten 120 betätigen, um dem Zielfahrzeug 200 auszuweichen. Zum Beispiel kann der Computer 110 einen Lenkmotor einer Lenkkomponente betätigen, um den Lenkwinkel δ zu erreichen. In einem anderen Beispiel kann der Computer eine Bremse und/oder einen Antrieb betätigen, um die Längsbeschleunigung α zu erreichen. Somit ändert sich der Betrieb des Fahrzeugs 105 bei Bestimmen des Lenkwinkels und der Längsbeschleunigung δ, α gemäß einer der nachstehend beschriebenen Techniken.
-
In dem Beispiel aus 2A befindet sich das Zielfahrzeug 200 relativ zum Hostfahrzeug 105 rechts. In dem Beispiel aus 2B befindet sich das Zielfahrzeug 200 relativ zum Hostfahrzeug 105 links. In dem Beispiel aus 2C befindet sich das Zielfahrzeug 200 in Längsrichtung vor dem Hostfahrzeug 105. In dem Beispiel aus 2D befindet sich das Zielfahrzeug 200 in Längsrichtung hinter dem Hostfahrzeug 105.
-
Der Computer 110 kann eine virtuelle Grenze 210 für das Hostfahrzeug 105 bestimmen. In diesem Zusammenhang ist eine „virtuelle Grenze“ ein Satz von Geokoordinaten, der eine virtuelle (gerade und/oder gebogene) Linie auf der Fahrbahn 205 darstellt. Das heißt, die virtuelle Grenze 210 ist eine Linie, die das Hostfahrzeug 105 nicht überqueren sollte, um eine Kollision mit dem Zielfahrzeug 200 zu vermeiden. Der Computer 110 kann eine Vielzahl von virtuellen Grenzen 210 bestimmen, wie in 2A-2D gezeigt und nachstehend beschrieben. Somit kann der Computer 110 Kollisionen mit Zielfahrzeugen 200 an unterschiedlichen Standorten relativ zu dem Hostfahrzeug 105 vermeiden.
-
2A ist eine Ansicht des Hostfahrzeugs 105 und des Zielfahrzeugs 200 rechts von dem Hostfahrzeug 105. Der Computer 110 kann die virtuelle Grenze 210 als eine rechte virtuelle Grenze 210A bestimmen, d. h. eine virtuelle Grenze 210, die sich nach rechts von dem Hostfahrzeug 105 erstreckt. Somit definiert die rechte virtuelle Grenze 210A eine Grenze, die das Hostfahrzeug 105 nicht überqueren sollte, um Zielfahrzeugen 200 rechts von dem Hostfahrzeug 105 auszuweichen. Der Computer 110 definiert die virtuellen Grenzen 210 gemäß Gleichungen für virtuelle Grenzen, die hier durch die Variable h dargestellt sind. Das heißt, ein Ausdruck mit einer Variablen h gibt Werte aus, die in dem Koordinatensystem die virtuellen Grenzen 210 definieren, die eine rechte Seite des Hostfahrzeugs 105 nicht überqueren sollte. In
2A-2D sind die als 210A-210D identifizierten Linien die Ausgaben der jeweiligen Gleichungen der virtuellen Grenzen h, die nachstehend definiert sind. Der Computer 110 kann die rechte virtuelle Grenze h
R, eine Geschwindigkeit ḣ
R der rechten virtuellen Grenze und eine Beschleunigung ḧ
R der rechten virtuellen Grenze definieren:
wobei d
y,min ein vorbestimmter seitlicher Mindestabstand zwischen dem Hostfahrzeug 105 und dem Zielfahrzeug 200 ist, c
b ein Krümmungskoeffizient ist, der die Krümmung der virtuellen Grenze h
R bestimmt, c
0 ein vorbestimmter Standardkrümmungskoeffizient ist, g
b eine abstimmbare Konstante ist, welche die Auswirkung auf die Geschwindigkeiten v
H, v
T auf den Krümmungskoeffizienten steuert, und c
b,min ein vorbestimmter minimaler Krümmungskoeffizient ist. Die vorbestimmten Werte d
y,min, c
0, c
b,min können z. B. durch den Hersteller gemäß empirischen Tests von virtuellen Fahrzeugen in einem Simulationsmodell, wie etwa Simulink, bestimmt werden. Zum Beispiel kann der minimale Krümmungskoeffizient c
b,min bestimmt werden, indem eine nachfolgend beschriebene Beschränkungsgleichung in einer virtuellen Simulation für einen spezifizierten Beschränkungswert gelöst wird.
-
2B ist eine Ansicht des Hostfahrzeugs 105 und des Zielfahrzeugs 200 links von dem Hostfahrzeug 105. Der Computer 110 kann die virtuelle Grenze 210 als eine linke virtuelle Grenze 210B bestimmen, das heißt eine virtuelle Grenze 210, die sich nach links von dem Hostfahrzeug 105 erstreckt. Somit definiert die linke virtuelle Grenze 210B eine Grenze, die eine linke Seite des Hostfahrzeugs 105 nicht überqueren sollte, um Zielfahrzeugen 200 links von dem Hostfahrzeug 105 auszuweichen. Der Computer 110 kann die linke virtuelle Grenze h
L, eine Geschwindigkeit ḣ
L der linken virtuellen Grenze und eine Beschleunigung ḧ
L der rechten virtuellen Grenze definieren:
-
2C ist eine Ansicht des Hostfahrzeugs 105 und des Zielfahrzeugs 200 vor dem Hostfahrzeug 105. Der Computer 110 kann die virtuelle Grenze 210 als eine vordere virtuelle Grenze 210C bestimmen, d. h. eine virtuelle Grenze 210, die sich vor dem Hostfahrzeug 105 erstreckt. Somit definiert die vordere virtuelle Grenze 210C eine Grenze, die eine vordere Stoßstange das Hostfahrzeug 105 nicht überqueren sollte, um Zielfahrzeugen 200 vor dem Hostfahrzeug 105 auszuweichen. Der Computer 110 kann die virtuelle vordere Grenze h
x und eine virtuelle vordere Grenzgeschwindigkeit ḣ
x definieren:
wobei k
v ein Zeitabstand ist, d. h. eine geschätzte Zeit für das Hostfahrzeug 105, um das Zielfahrzeug 200 in der Längsrichtung zu erreichen, dec
max eine maximale Abbremsung des Hostfahrzeugs 105 ist, k
v0 ein maximaler Zeitabstand ist, bestimmt durch die Geschwindigkeiten v
H,v
T des Hostfahrzeugs 105 und des Zielfahrzeugs 200 und λ eine vorbestimmte Abklingkonstante ist. Der Computer 110 kann die Abklingkonstante λ, auf Grundlage der empirischen Tests in den vorstehend beschriebenen virtuellen Simulationen bestimmen.
-
2D ist eine Ansicht des Hostfahrzeugs 105 und des Zielfahrzeugs 200 hinter dem Hostfahrzeug 105. Der Computer 110 kann die virtuelle Grenze 210 als eine hintere virtuelle Grenze 210D bestimmen, d. h. eine virtuelle Grenze 210, die sich hinter dem Hostfahrzeug 105 erstreckt. Der Computer 110 kann die hintere virtuelle Grenze 210D mit den gleichen Ausdrücken wie die vordere virtuelle Grenze 210C bestimmen, die sich nur durch die Signumfunktion sgn(xT) unterscheiden. Das heißt, wenn sgn(xT) = 1, bestimmt der Computer 110 die vordere virtuelle Grenze 210C, und wenn sgn(xT) = -1, bestimmt der Computer 110 die hintere virtuelle Grenze 210D.
-
Der Computer 110 kann virtuelle Grenzen zur Spurhaltung bestimmen, die virtuelle Grenzen für die Fahrbahnspuren definieren. Die virtuellen Grenzen der Spurhaltung können mit Grenzgleichungen beschrieben werden:
wobei y
H die y-Koordinate des Hostfahrzeugs 105 eines relativ zur Fahrbahn 205 festen Koordinatensystems ist, wobei die y-Koordinate der am weitesten rechts gelegenen Fahrbahnspurmarkierung 0 ist und w
l die Breite der Fahrbahnspur ist.
-
Der Computer 110 kann Beschränkungswerte C
x, C
y bestimmen, um einen Lenkwinkel δ und eine Längsbeschleunigung α zu bestimmen, die das Fahrzeug 105 erreichen sollte, um dem Zielfahrzeug 200 auszuweichen. Ein „Beschränkungswert“ ist ein Wert, der auf einer der virtuellen Grenzen 210, einer Grenzannäherungsgeschwindigkeit und einer Grenzannäherungsbeschleunigung basiert, die eine Bewegung des Hostfahrzeugs 105 zu den virtuellen Grenzen 210 angibt. Der Computer 110 kann die Beschränkungswerte C
x, C
y mit jeweiligen vorbestimmten Schwellenwerten vergleichen, wie nachstehend beschrieben, um zu bestimmen, welche virtuellen Grenzen 210 der Computer 110 berechnen sollte, um einen Lenkwinkel und eine Längsbeschleunigung δ
CF, α
CF zu bestimmen, um dem Zielfahrzeug 200 auszuweichen. Der Computer 110 kann Gleichungen definieren, um zwei Beschränkungswerte C
x, C
y auf Grundlage von Gleichungen der virtuellen Grenzen zu bestimmen:
wobei l
0, l
1 vorbestimmte skalare Werte sind, die reelle, positive Eigenwerte für die Gleichungen C
x ≥ 0, C
y 0 bereitstellen. Somit ist der Beschränkungswert C
x ein Längsbeschränkungswert, der auf der Längsgrenzannäherungsgeschwindigkeit ḣ
x basiert. Der Beschränkungswert ist ein seitlicher Beschränkungswert, der auf einer seitlichen Grenzannäherungsgeschwindigkeit ḣ
y und einer seitlichen Grenzannäherungsbeschleunigung ḧ
y basiert. In den vorstehenden Ausdrücken für C
x, C
y kann der Längsbeschränkungswert C
x ein Ausdruck erster Ordnung sein, d. h. nur auf Grundlage der Längsgenzannäherungsgeschwindigkeit ḣ
x, aber nicht der Längsgrenzbeschleunigung ḧ
x, und der seitliche Beschränkungswert C
y kann ein Ausdruck zweiter Ordnung sein, d. h. auf Grundlage der seitlichen Grenzannäherungsbeschleunigung ḧ
y. Der Ausdruck erster Ordnung für C
x beinhaltet die vorstehend beschriebene Längsbeschleunigung α und der Ausdruck zweiter Ordnung für C
y beinhaltet den Lenkwinkel δ, der ebenfalls vorstehend beschrieben ist.
-
Somit können die spezifischen Ordnungen dieser Ausdrücke als eine Mindestanzahl von Differentialtermen bestimmt werden, um die Ausgaben für Folgendes zu bestimmen: δ, α. Der Computer 110 kann bestimmen, ob einer oder beide der Beschränkungswerte C
x, C
y einen Schwellenwert überschreiten. In diesem Zusammenhang wird ein Schwellenwert „überschritten“, wenn der Beschränkungswert C
x, C
y außerhalb eines Wertebereichs liegt, der durch den Schwellenwert begrenzt oder definiert ist. Zum Beispiel kann der Schwellenwert verletzt werden, wenn der Beschränkungswert C
x, C
y den Schwellenwert überschreitet. Alternativ kann der Schwellenwert verletzt werden, wenn der Beschränkungswert
unter den Schwellenwert fällt. In dem Beispiel aus
2A-2D kann der Computer 110 bestimmen, ob das Zielfahrzeug 200 gelenkt und/oder gebremst werden soll, und zwar basierend darauf, ob eines oder beide C
x < 0 und C
y < 0 sind. Das heißt, der Computer 110 bestimmt, dass eines oder beide C
x, C
y den Schwellenwert von 0 verletzen, wenn C
x, C
y unter 0 fällt. Die Schwellenwerte können auf Grundlage von empirischen Tests von virtuellen Fahrzeugen in einer virtuellen Simulation bestimmt werden, wie vorstehend beschrieben.
-
Wenn beides C
x < 0, C
y < 0 ist, bestimmt der Computer 110 einen relativen Abstand d zwischen dem Hostfahrzeug 105 und dem Zielfahrzeug 200 und eine relative Geschwindigkeit v
R = v
H - v
T zwischen dem Hostfahrzeug 105 und dem Zielfahrzeug 200. Der Computer 110 bestimmt auf Grundlage des Abstands d und der Geschwindigkeit v
R, ob eine oder beide von der Bremse und der Lenkkomponente betätigt werden sollen. Der Computer 110 vergleicht den Abstand d mit einem Mindestbremsweg d
b und einem Mindestlenkabstand d
s und der Computer 110 kann die Geschwindigkeit v
R mit einer kritischen Geschwindigkeit v
crit vergleichen:
wobei d
min ein vorbestimmter Mindestabstandsschwellenwert ist, a
y,max eine maximale Seitenbeschleunigung ist, die das Hostfahrzeug 105 durchführen kann, und dec
max eine maximale Abbremsung des Hostfahrzeugs 105 ist. Die kritische Geschwindigkeit v
krit ist somit die Geschwindigkeit, bei welcher der Mindestbremsweg gleich dem Mindestlenkweg ist, d. h. d
b = d
s. Auf Grundlage der Vergleiche kann der Computer 110 bestimmen, ob eines oder beide von der Lenkung und der Bremse betätigt werden sollen, um das Hostfahrzeug 105 innerhalb einer oder mehrerer der virtuellen Grenzen h
L, h
R, h
y zu halten, wie nachstehend beschrieben. Zum Beispiel kann der Computer 110 die zu betätigenden Komponenten 120 auf Grundlage einer Lookup-Tabelle oder dergleichen bestimmen: Tabelle 1: Lookup-Tabelle für Komponentenbetätigung
Abstand | Geschwindigkeit | Betätigte Komponenten |
d > ds | vR > vkrit | Lenkung |
d > db | vR < vkrit | Bremse |
d < min (ds, db) | beliebig | Lenkung und Bremse |
d < dmin | beliebig | Lenkung und Bremse |
-
Der Computer 110 kann die Lenkung und/oder die Bremse gemäß einem festgelegten Lenkwinkel δCF und einer festgelegten Längsbeschleunigung αCF betätigen. Der Computer 110 kann den festgelegten Lenkwinkel und die festgelegte Längsbeschleunigung δCF, αCF durch Lösen von Gleichungen der virtuellen Grenzen zweiter Ordnung mit einem Optimierungsprogramm bestimmen. Das „Optimierungsprogramm“ ist ein Programm, das eine Kostenfunktion minimiert, die einem oder mehreren Beschränkungswerten unterliegt, die durch die Gleichungen der virtuellen Grenzen bestimmt werden. Zum Beispiel kann das Optimierungsprogramm ein quadratischer Programmalgorithmus sein, wie nachstehend beschrieben. In einem anderen Beispiel kann das Optimierungsprogramm ein gemischter ganzzahliger linearer Programmieralgorithmus sein, wie nachstehend beschrieben.
-
Der Computer 110 kann einen festgelegten Lenkwinkel und eine festgelegte Längsbeschleunigung δCF, αCF mit einem quadratischen Programmalgorithmus bestimmen. Ein „quadratischer Programm“-Algorithmus ist ein herkömmliches Optimierungsprogramm, das eine quadratische Kostenfunktion J für Werte von δCF, αCF minimiert. Der Computer 110 kann ein seitliches linkes quadratisches Programm QPyL, ein seitliches rechtes quadratisches Programm QPyR, und ein längslaufendes quadratisches Programm QPx bestimmen, jeweils mit einer entsprechenden Kostenfunktion JyL, JyR, Jx.
-
Der Computer 110 kann die seitliche linke Kostenfunktion J
yL für das seitliche linke quadratische Programm QP
yL bestimmen:
wobei Q
y die Diagonalmatrix mit Kostengewichtungen für die Optimierungsvariablen δ
CF,L,, s, s
a ist,i ein Index für den Satz von Y Zielen ist, die sich von dem Zielfahrzeug 200 unterscheiden. s, s
a sind das, was herkömmlicherweise als „Schlafvariablen“ bezeichnet wird, d. h. abstimmbare Variablen, die eine Verletzung eines oder mehrerer der Beschränkungswerte verhindern, wenn die Lenkung andernfalls nicht in der Lage wäre, die Verletzung zu verhindern. Eine hohe Strafe kann für die Schlupfvariablen verwendet werden, um ihre Verwendung zum Erfüllen der Beschränkungsungleichung zu verhindern, wenn die Lenkung die Verletzung der Beschränkungswerte verhindern könnte. Das tiefgestellte „T“ bezieht sich auf das Zielfahrzeug 200, das tiefgestellte „LK“ bezieht sich auf Werte für die vorstehend beschriebenen virtuellen Spurhaltegrenzen und δ
min, δ
max sind minimale und maximale Lenkwinkel, welche die Lenkkomponente erreichen kann.
-
Der Computer 110 kann die seitliche rechte Kostenfunktion J
yR für das seitliche rechte quadratische Programm QP
yR bestimmen:
-
Der Computer 110 kann die quadratischen Programme QPyL, QPyR für die Lenkwinkel δCF,L, δCF,R lösen und kann den Lenkwinkel δCF als einen dieser bestimmten Lenkwinkel δCF,L, SCF,R bestimmen. Wenn zum Beispiel einer der Lenkwinkel δCF,L, δCF,R undurchführbar ist und der andere machbar ist, kann der Computer 110 den Lenkwinkel δCF als den machbaren von δCF,L, δCF, bestimmen. In diesem Zusammenhang ist ein Lenkwinkel R „machbar“, wenn die Lenkkomponente 120 den Lenkwinkel δ erreichen kann, während sie alle der Einschränkungen für QPyL oder für QPyR erfüllt, die in den vorstehenden Ausdrücken gezeigt sind. Ein Lenkwinkel ist „undurchführbar“, wenn die Lenkkomponente 120 den Lenkwinkel δ nicht erreichen kann, ohne mindestens eine der Einschränkungen für QPyL oder für QPyR zu verletzen, die in den obigen Ausdrücken gezeigt sind. Die Lösung der quadratischen Programme QPyL, QPyR kann, wie vorstehend beschrieben, undurchführbar sein und der Computer 110 kann undurchführbare Lenkwinkelbestimmungen ignorieren.
-
Wenn beide δCF,L, δCF,R machbar sind, kann der Computer 110 einen der Lenkwinkel δCF,L, δCF,R als den bestimmten Lenkwinkel δCF auf Grundlage eines Satzes vorbestimmter Bedingungen auswählen. Die vorbestimmten Bedingungen können ein Satz von Regeln sein, der z. B. von einem Hersteller bestimmt wird, um zu bestimmen, welcher der Lenkwinkel δCF,L, δCF,R als der bestimmte Lenkwinkel δCF ausgewählt werden soll. Wenn zum Beispiel beides δCF,L, δCF,R machbar ist, kann der Computer 110 den Lenkwinkel mit den geringeren Kosten von JyL,JyR verwenden, oder der Computer 110 kann den Lenkwinkel δCF als einen zuvor bestimmten von δCF,L, δCF,R bestimmen. Das heißt, wenn der Computer 110 in einer letzten Iteration δCF,L als den bestimmten Lenkwinkel δCF ausgewählt hat, kann der Computer 110 den aktuellen δCF,L als den bestimmten Lenkwinkel δCF auswählen. In einem anderen Beispiel kann der Computer 110, wenn eine Differenz zwischen den Kostenfunktionen JyL,JyR unter einem vorbestimmten Schwellenwert (z. B. 0,00001) liegt, eine Standardauswahl des Lenkwinkels δCF aufweisen, z. B. kann δCF,L die Standardauswahl für den Lenkwinkel δCF sein. Wenn beide δCF,L, δCF,R undurchführbar sind, kann der Computer 110 die Kostenfunktionen JyL,Jy,R mit einer Längsbeschränkung bestimmen, welche die seitliche Beschränkung ersetzt. Das heißt, in den vorstehenden Ausdrücken mit hy,i kann der Computer 110 stattdessen die Gleichungen der virtuellen seitlichen Grenzen hy,i systematisch durch die Gleichungen der virtuellen Längsgrenzen hx,i ersetzen. Dann kann der Computer 110 den Lenkwinkel δCF basierend darauf bestimmen, ob die Werte für δCF,L, δCF,R machbar sind, wie vorstehend beschrieben. Wenn δCF,L, δCF,R immer noch undurchführbar ist, kann der Computer 110 eine Bremse 120 anwenden, um das Fahrzeug 105 zu verlangsamen und dem Zielfahrzeug 200 auszuweichen.
-
Um die Beschleunigung α
CF zu bestimmen, kann der Computer 110 ein längslaufendes quadratisches Programm QP
x bestimmen:
wobei argmin() die bekannte Argumentminimumfunktion ist, die das Minimum der Eingabe bestimmt, das einer oder mehreren Beschränkungen unterliegt, und X der Satz von Zielen ist, bei denen es sich nicht um das Zielfahrzeug 200 handelt.
-
Alternativ kann der Computer 110 den Lenkwinkel und die Längsbeschleunigung δ
CF, α
CF mit einem Mixed-Integer-Linear-Programming(MILP)-Algorithmus bestimmen. Der MILP-Algorithmus kann als ein Satz von Ausdrücken für ein Zielfahrzeug 200 beschrieben werden:
wobei a
1, a
2, a
3 binäre Variablen sind, die Werte von entweder 0 oder 1 annehmen, sodass a
1 = 0, wenn die Längsbeschränkung durchgesetzt wird, a
2 = 0 wenn die linke seitliche Beschränkung durchgesetzt wird, und a
3 = 0 wenn die rechte seitliche Beschränkung durchgesetzt wird, und M ist eine Zahl, die durch den Hersteller während des Testens ausgewählt wurde, sodass die Ungleichungen in den vorstehenden Ausdrücken für den typischen Fahrzeugbetrieb wahr bleiben, wenn a
1, a
2, a
3 ungleich null ist. Somit berücksichtigt der MILP-Algorithmus alle der vorstehend beschriebenen virtuellen Längs- und Seitengrenzen 210. Der MILP-Algorithmus löst den Satz von Ausdrücken gemäß einem „Steuerziel“, d. h. einem Satz von Bedingungen oder Einschränkungen, für die der MILP-Algorithmus die Ausdrücke optimiert. Das heißt, das Steuerziel definiert die Grenzen und/oder Beschränkungen des physischen Systems, das die Ausdrücke simulieren.
-
Der Computer 110 kann die vorstehenden Ausdrücke gemäß einem Steuerziel lösen:
wobei j, l, m, n ganzzahlige Indizes mit festgelegten Werten sind, die in den vorstehenden Ausdrücken aufgeführt sind. Die Beziehungen der Indizes j, l, m, n und der Werte von l, m, n in den vorstehenden Ausdrücken sind durch die nachstehende Tabelle angegeben. Tabelle 2: Indizes für das Steuerziel
j | l | m | n |
1 | 1 | 2 | 3 |
2 | 4 | 5 | 6 |
3 | 7 | 8 | 9 |
4 | 10 | 11 | 12 |
5 | 13 | 14 | 15 |
6 | 16 | 17 | 18 |
H
v in dem vorstehenden Ausdruck ist eine Kostengewichtung für eine Optimierungsvariable v. Durch Lösen der vorstehenden Ausdrücke mit einem herkömmlichen MILP-Algorithmus-Löser kann der Computer 110 einen Wert für die Steuervariable u
CF (d. h. den Lenkwinkel δ
CF und die Längsbeschleunigung α
CF) bestimmen, um dem Zielfahrzeug 200 und anderen Ziele, in diesem Beispiel sechs Gesamtzielen, auszuweichen.
-
3 ist eine Draufsicht des Hostfahrzeugs 105 und von Längsabstandsschwellenwerten 300 auf der Fahrbahn 205. Die Längsabstandsschwellenwerte 300 definieren Abstände, bei denen, wenn sie von einem Zielfahrzeug 200 überquert werden, der Computer 110 eine Kollisionsverminderung und -vermeidung betätigt. Wie vorstehend beschrieben, kann der Computer 110 die Längsabstandsschwellenwerte 300 bestimmen, wenn mindestens eines von Cx < 0 oder Cy < 0 vorliegt. Das heißt, die Längsabstandsschwellenwerte 300 geben an, ob sich das Zielfahrzeug 200 nahe genug an dem Hostfahrzeug 105 befindet, sodass das Hostfahrzeug 105 eine Kollisionsverminderung und -vermeidung erfordern kann, wenn sich das Hostfahrzeug 105 auf eine benachbarte Fahrbahnspur bewegt. Zum Beispiel können die Längsabstandsschwellenwerte 300 für eine aktuelle Fahrbahnspur und die unmittelbar benachbarten Fahrbahnspuren weiter in Längsrichtung vor dem Hostfahrzeug 105 liegen als die Längsabstandsschwellenwerte 300 in Fahrspuren, die weiter entfernt sind als die benachbarten Fahrbahnspuren. Somit kann der Computer 110, wenn sich ein Zielfahrzeug 200 innerhalb eines der Längsabstandsschwellenwerte befindet, den Spurwechselvorgang des Hostfahrzeugs 105 unterdrücken und eine oder mehrere Komponenten 120 betätigen, um eine Bedrohungsminderung an dem Zielfahrzeug 200 durchzuführen.
-
Da nur einer der Beschränkungswerte Cx, Cy unter seinem jeweiligen Schwellenwert liegt, ist das Zielfahrzeug 200 wahrscheinlich keine Bedrohung und der Computer 110 bestimmt die jeweilige virtuelle Grenze hL, hR auf Grundlage des Standorts des Zielfahrzeugs 200 relativ zu dem Hostfahrzeug 105. Wenn sich zum Beispiel das Zielfahrzeug 200 innerhalb der Abstandsschwellenwerte 300 und rechts von dem Hostfahrzeug 105 befindet, bestimmt der Computer 110 die linke virtuelle Grenze hL, um zu verhindern, dass das Hostfahrzeug 105 aus einer aktuellen Fahrbahnspur abdriftet und dadurch den Zielfahrzeug 200 ausweicht. In einem anderen Beispiel, wenn sich das Zielfahrzeug 200 innerhalb der Abstandsschwellenwerte 300 und links von dem Hostfahrzeug 105 befindet, bestimmt der Computer 110 die rechte virtuelle Grenze hR, um zu verhindern, dass das Hostfahrzeug 105 aus der aktuellen Fahrbahnspur abdriftet und dadurch den Zielfahrzeug 200 ausweicht.
-
4 ist ein beispielhafter Prozess 400 zum Betreiben eines Hostfahrzeugs 105, um einem Zielfahrzeug 200 auszuweichen. Der Prozess 400 beginnt in einem Block 405, in dem ein Computer 110 des Hostfahrzeugs 105 Daten über das Zielfahrzeug 200 sammelt. Der Computer 110 kann einen oder mehrere Sensoren 115 betätigen, um Daten bezüglich des Zielfahrzeugs 200 zu sammeln. Zum Beispiel kann der Computer 110 Daten über eine Geschwindigkeit des Zielfahrzeugs 200 und/oder einen Standort des Zielfahrzeugs 200 sammeln.
-
Als Nächstes bestimmt der Computer 110 in einem Block 410 Längs- und Seitenbeschränkungswerte Cx, Cy. Wie vorstehend beschrieben sind die Beschränkungswerte Cx, Cy Werte, die auf einem von einer Vielzahl von virtuellen Grenzen 210, einer Grenzannäherungsgeschwindigkeit und einer Grenzannäherungsbeschleunigung basieren, die eine Bewegung Hostfahrzeugs 105 zu den virtuellen Grenzen 210 angeben. Auf Grundlage eines Cx, Cy Vorzeichens der Beschränkungswerte kann der Computer 110 bestimmen, welche virtuellen Grenzen 210 zu berechnen sind, um einen Lenkwinkel und eine δCF Längsbeschleunigung αCF zu bestimmen, die das Hostfahrzeug 105 erreichen sollte, um dem Zielfahrzeug 200 auszuweichen.
-
Als Nächstes bestimmt der Computer 110 in einem Block 415, ob die Beschränkungswerte Cx, Cy unter jeweiligen Schwellenwerten liegen. Wie vorstehend beschrieben, können die Schwellenwerte auf Grundlage von empirischen Tests von virtuellen Fahrzeugen in einer virtuellen Simulation bestimmt werden. Zum Beispiel können die Schwellenwerte beide null sein. Wenn beide Beschränkungswerte Cx, Cy unter ihren jeweiligen Schwellenwerten liegen, wird der Prozess 400 in einem Block 420 fortgesetzt. Andernfalls geht der Prozess 400 zu einem Block 425 über.
-
In dem Block 420 bestimmt der Computer 110 sowohl eine linke virtuelle Grenze hL als auch eine rechte virtuelle Grenze hR. Wenn beide Beschränkungswerte Cx, Cy unter ihren jeweiligen Schwellenwerten liegen, kann der Computer 110 die virtuellen Grenzen hL, hR verwenden, um das Lenken und/oder Bremsen auf Grundlage eines Standorts des Zielfahrzeugs 200 zu bestimmen. Das heißt, der Computer 110 kann beide virtuellen Grenzen hL, hR bestimmen und dann einen Lenkwinkel δCF und eine Längsbeschleunigung αCF auf Grundlage der Bewegung des Zielfahrzeugs 200 in Richtung beider virtueller Grenzen hL, hR bestimmen. Nach dem Block 420 fährt der Prozess 400 in einem Block 430 fort.
-
In dem Block 425 bestimmt der Computer 110 eine von der linken Grenze hL oder der rechten Grenze hR. Da nur einer der Beschränkungswerte Cx, Cy unter seinem jeweiligen Schwellenwert liegt, ist das Zielfahrzeug 200 wahrscheinlich keine Bedrohung und der Computer 110 bestimmt die jeweilige virtuelle Grenze hL, hR auf Grundlage des Standorts des Zielfahrzeugs 200 relativ zu dem Hostfahrzeug 105. Wenn sich zum Beispiel das Zielfahrzeug 200 rechts von dem Hostfahrzeug 105 befindet, bestimmt der Computer 110 die linke virtuelle Grenze hL, um zu verhindern, dass das Trägerfahrzeug 105 von einer aktuellen Fahrspur abdriftet und dadurch dem Zielfahrzeug 200 auszuweichen. Wenn sich das Zielfahrzeug 200 in einem anderen Beispiel links vom Hostfahrzeug 105 befindet, bestimmt der Computer 110 die rechte virtuelle Grenze hR, um zu verhindern, dass das Hostfahrzeug 105 von der aktuellen Fahrspur abdriftet und dadurch dem Zielfahrzeug 200 auszuweichen. Nach dem Block 425 fährt der Prozess 400 im Block 430 fort.
-
In dem Block 430 bestimmt der Computer 110 einen Lenkwinkel δCF und eine Längsbeschleunigung αCF auf Grundlage der virtuellen Grenzen hL, hR. Der Computer 110 kann den Lenkwinkel und die Längsbeschleunigung δCF, αCF mit einem Optimierungsprogramm bestimmen, das den Beschränkungen unterliegt, die durch die virtuellen Grenzen hL, hR bestimmt werden. Zum Beispiel kann der Computer 110 einen quadratischen Programmalgorithmus verwenden, um eine Kostenfunktion JyL,JyR zu minimieren. In einem anderen Beispiel kann der Computer 110 einen gemischt ganzzahligen linearen Programmieralgorithmus verwenden, um ein Steuerziel zu lösen.
-
Als Nächstes betätigt der Computer 110 in einem Block 435 eine Lenkkomponente 120 und/oder eine Bremse 120, um den bestimmten Lenkwinkel δCF und die bestimmte Längsbeschleunigung αCF zu erreichen. Wie vorstehend beschrieben, kann der Computer 110 auf Grundlage des Standorts des Zielfahrzeugs 200 relativ zu dem Hostfahrzeug 105 bestimmen, welche von der Lenkung 120 oder der Bremse 120 betätigt werden soll. Der Computer 110 kann die Komponenten 120 gemäß dem bestimmten Lenkwinkel und der Längsbeschleunigung δCF, αCF betätigen, um dem Zielfahrzeug 200 auszuweichen.
-
Als Nächstes bestimmt der Computer 110 in einem Block 440, ob der Prozess 400 fortgesetzt werden soll. Zum Beispiel kann der Computer 110 nach dem Erkennen eines weiteren Zielfahrzeugs 200 bestimmen, fortzufahren. In einem anderen Beispiel kann der Computer 110 bestimmen, nicht fortzufahren, wenn das Hostfahrzeug 105 ausgeschaltet ist. Wenn der Computer 110 bestimmt, fortzufahren, kehrt der Prozess 400 zu Block 405 zurück. Andernfalls endet der Prozess 400.
-
In dieser Schrift erörterte Rechenvorrichtungen, die den Computers 110 beinhalten, beinhalten Prozessoren und Speicher, wobei die Speicher im Allgemeinen jeweils Anweisungen beinhalten, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend identifizierten, und zum Ausführen vorstehend beschriebener Blöcke oder Schritte von Prozessen ausgeführt werden können. Computerausführbare Anweisungen können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung einer Reihe von Programmiersprachen und/oder -techniken erstellt wurden, die Folgende ohne Einschränkung, entweder allein oder in Kombination, beinhalten: Java™, C, C++, Visual Basic, Java Script, Python, Perl, HTML usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, die einen oder mehrere der in dieser Schrift beschriebenen Prozesse beinhalten. Derartige Anweisungen und andere Daten können unter Verwendung vielfältiger computerlesbarer Medien gespeichert und übertragen werden. Eine Datei in dem Computer 110 ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium gespeichert ist, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw.
-
Ein computerlesbares Medium beinhaltet ein beliebiges Medium, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, die nicht flüchtige Medien, flüchtige Medien usw. beinhalten können, ohne darauf beschränkt zu sein. Nicht flüchtige Medien beinhalten zum Beispiel optische oder magnetische Festplatten und andere Dauerspeicher. Flüchtige Medien beinhalten dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM), der typischerweise einen Hauptspeicher darstellt. Gängige Formen computerlesbarer Medien beinhalten beispielsweise eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer gelesen werden kann.
-
Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass, obwohl die Schritte derartiger Prozesse usw. als gemäß einer gewissen geordneten Abfolge erfolgend beschrieben worden sind, die beschriebenen Schritte bei der Ausführung derartiger Prozesse in einer Reihenfolge durchgeführt werden könnten, bei der es sich nicht um die in dieser Schrift beschriebene Reihenfolge handelt. Es versteht sich ferner, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte in dieser Schrift beschriebene Schritte weggelassen werden könnten. Beispielsweise könnten im Prozess 400 ein oder mehrere der Schritte weggelassen werden oder könnten die Schritte in einer anderen Reihenfolge als in 4 gezeigt ausgeführt werden. Anders ausgedrückt werden die Beschreibungen von Systemen und/oder Prozessen in dieser Schrift zum Zweck der Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten in keiner Weise als den offenbarten Gegenstand einschränkend ausgelegt werden.
-
Dementsprechend versteht es sich, dass die vorliegende Offenbarung, welche die vorangehende Beschreibung und die beigefügten Figuren und nachfolgenden Patentansprüche beinhaltet, 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 bestimmt werden, sondern stattdessen unter Bezugnahme auf Patentansprüche, die hier beigefügt sind und/oder in einer hierauf basierenden, nicht vorläufigen Patentanmeldung enthalten sind, gemeinsam mit dem vollständigen Umfang von Äquivalenten, zu welchen derartige 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 der offenbarte Gegenstand modifiziert und variiert werden kann.
-
Der ein Substantiv modifizierende Artikel „ein(e)“ sollte dahingehend verstanden werden, dass er eine(n) oder mehrere bezeichnet, es sei denn, es ist etwas anderes angegeben oder der Kontext erfordert etwas anderes. Der Ausdruck „basierend auf“ schließt teilweise oder vollständig basierend auf ein.
-
Ordinale Adjektive, wie etwa „erster“ und „zweiter“, werden in der gesamten Schrift als Identifikatoren verwendet und sollen keine Bedeutung oder Reihenfolge andeuten.
-
Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das einen Computer mit einem Prozessor und einem Speicher aufweist, wobei der Speicher Anweisungen speichert, die durch den Prozessor zu Folgendem ausführbar sind: Identifizieren einer seitlichen virtuellen Grenze für ein Hostfahrzeug auf Grundlage eines seitlichen Abstands zwischen dem Hostfahrzeug und einem Zielfahrzeug, eines Längsabstands zwischen dem Hostfahrzeug und dem Zielfahrzeug und einer Geschwindigkeit des Zielfahrzeugs relativ zu dem Hostfahrzeug; Identifizieren einer vorderen virtuellen Grenze für das Hostfahrzeug auf Grundlage des Längsabstands zwischen dem Hostfahrzeug und dem Zielfahrzeug, Bestimmen eines seitlichen Beschränkungswerts der seitlichen virtuellen Grenze auf Grundlage einer seitlichen Grenzgeschwindigkeit, wobei die seitliche Grenzgeschwindigkeit auf einem Kurswinkel des Hostfahrzeugs basiert; Bestimmen eines vorderen Beschränkungswerts der vorderen virtuellen Grenze auf Grundlage des Kurswinkels des Hostfahrzeugs; Bestimmen einer Längsbeschleunigung und eines Lenkwinkels auf Grundlage der seitlichen und vorderen virtuellen Grenzen und der seitlichen und vorderen Beschränkungswerte; und Betätigen einer oder beider von einer Lenkkomponente oder einer Bremse auf Grundlage der Längsbeschleunigung und des Lenkwinkels.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen einer linken seitlichen virtuellen Grenze, einer rechten seitlichen virtuellen Grenze, eines linken seitlichen Beschränkungswerts und eines rechten seitlichen Beschränkungswerts. Gemäß einer Ausführungsform basiert eine Richtung des Lenkwinkels darauf, dass die linke seitliche virtuelle Grenze den linken seitlichen Beschränkungswert erfüllt oder die rechte seitliche virtuelle Grenze den rechten seitlichen Beschränkungswert erfüllt.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um sowohl die linke seitliche virtuelle Grenze als auch die rechte seitliche virtuelle Grenze zu bestimmen, wenn der vordere Beschränkungswert unter einem Schwellenwert liegt.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen der Längsbeschleunigung und des Lenkwinkels auf Grundlage einer vorderen Grenzgeschwindigkeit, die den vorderen Beschränkungswert erfüllt, und der seitlichen Grenzbeschleunigung, die den seitlichen Beschränkungswert erfüllt, beinhalten.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, um bei Bestimmen, dass der seitliche Beschränkungswert unter einem ersten Schwellenwert liegt und dass der vordere Beschränkungswert unter einem zweiten Schwellenwert liegt, eine oder beide von der Lenkkomponente oder der Bremse auf Grundlage eines Abstands zwischen dem Hostfahrzeug und dem Zielfahrzeug und der Geschwindigkeit des Zielfahrzeugs relativ zu dem Hostfahrzeug zu betätigen.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, nur die Bremse zu betätigen, wenn die Geschwindigkeit unter einem Geschwindigkeitsschwellenwert liegt und der Abstand über einem ersten Abstandsschwellenwert liegt, und nur die Lenkkomponente zu betätigen, wenn die Geschwindigkeit über dem Geschwindigkeitsschwellenwert liegt und der Abstand über einem zweiten Abstandsschwellenwert liegt.
-
Gemäße einer Ausführungsform basiert der Geschwindigkeitsschwellenwert auf einer maximalen Längsverzögerung des Hostfahrzeugs und einer maximalen Seitenbeschleunigung des Hostfahrzeugs.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen, bei Bestimmen, dass einer von (1) dem seitlichen Beschränkungswert einen ersten Schwellenwert überschreitet oder (2) der vordere Beschränkungswert einen zweiten Schwellenwert überschreitet, die Betätigung der Lenkkomponente zu unterdrücken, um das Hostfahrzeug in eine angrenzende Fahrbahnspur zu bewegen.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen einer Fahrspurbegrenzung und eines Fahrspurbeschränkungswerts auf Grundlage der Fahrspurbegrenzung.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen des Lenkwinkels auf Grundlage des Fahrspurbeschränkungswerts und einer Fahrspurbegrenzungsbeschleunigung.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen der Fahrspurbegrenzungsbeschleunigung auf Grundlage des Kurswinkels des Hostfahrzeugs und eines aktuellen Lenkwinkels des Hostfahrzeugs beinhalten.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren: Identifizieren einer seitlichen virtuellen Grenze für ein Hostfahrzeug auf Grundlage eines seitlichen Abstands zwischen dem Hostfahrzeug und einem Zielfahrzeug, eines Längsabstands zwischen dem Hostfahrzeug und dem Zielfahrzeug und einer Geschwindigkeit des Zielfahrzeugs relativ zu dem Hostfahrzeug; Identifizieren einer vorderen virtuellen Grenze für das Hostfahrzeug auf Grundlage des Längsabstands zwischen dem Hostfahrzeug und dem Zielfahrzeug; Bestimmen eines seitlichen Beschränkungswerts der seitlichen virtuellen Grenze auf Grundlage einer seitlichen Grenzgeschwindigkeit, wobei die seitliche Grenzgeschwindigkeit auf einem Kurswinkel des Hostfahrzeugs basiert; Bestimmen eines vorderen Beschränkungswerts der vorderen virtuellen Grenze auf Grundlage des Kurswinkels des Hostfahrzeugs; Bestimmen einer Längsbeschleunigung und eines Lenkwinkels auf Grundlage der seitlichen und vorderen virtuellen Grenzen und der seitlichen und vorderen Beschränkungswerte; und Betätigen einer oder beider von einer Lenkkomponente oder einer Bremse auf Grundlage der Längsbeschleunigung und des Lenkwinkels.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren Bestimmen einer linken seitlichen virtuellen Grenze, einer rechten seitlichen virtuellen Grenze, eines linken seitlichen Beschränkungswerts und eines rechten seitlichen Beschränkungswerts.
-
In einem Aspekt der Erfindung basiert eine Richtung des Lenkwinkels darauf, dass die linke seitliche virtuelle Grenze den linken seitlichen Beschränkungswert erfüllt oder die rechte seitliche virtuelle Grenze den rechten seitlichen Beschränkungswert erfüllt.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren Bestimmen von sowohl der linken seitlichen virtuellen Grenze als auch der rechten seitlichen virtuellen Grenze, wenn der vordere Beschränkungswert unter einem Schwellenwert liegt.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren Bestimmen der Längsbeschleunigung und des Lenkwinkels auf Grundlage einer vorderen Grenzgeschwindigkeit, die den vorderen Beschränkungswert erfüllt, und der seitlichen Grenzbeschleunigung, die den seitlichen Beschränkungswert erfüllt.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren, bei Bestimmen, dass der seitliche Beschränkungswert unter einem ersten Schwellenwert liegt und dass der vordere Beschränkungswert unter einem zweiten Schwellenwert liegt, eine oder beide von der Lenkkomponente oder der Bremse auf Grundlage eines Abstands zwischen dem Hostfahrzeug und dem Zielfahrzeug und der Geschwindigkeit des Zielfahrzeugs relativ zu dem Hostfahrzeug zu betätigen.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren, nur die Bremse zu betätigen, wenn die Geschwindigkeit unter einem Geschwindigkeitsschwellenwert liegt und der Abstand über einem ersten Abstandsschwellenwert liegt, und nur die Lenkkomponente zu betätigen, wenn die Geschwindigkeit über dem Geschwindigkeitsschwellenwert liegt und der Abstand über einem zweiten Abstandsschwellenwert liegt.
-
In einem Aspekt der Erfindung basiert der Geschwindigkeitsschwellenwert auf einer maximalen Längsverzögerung des Hostfahrzeugs und einer maximalen Seitenbeschleunigung des Hostfahrzeugs.