-
STAND DER TECHNIK
-
Die interaktive modellprädiktive Steuerung (iMPC – interaktive Model Predictive Control) ist eine effektive Steuertechnologie, die den aktuellen und zukünftigen Zustand des Fahrzeugs und Systembetriebseinschränkungen systematisch berücksichtigen und eine optimale Steuerfunktion mit Bezug auf Kraftstoffverbrauch, Fahrbarkeit und Leistungsfähigkeit bereitstellen kann. iMPC optimiert alle Antriebs-, Lenk- und Bremsaktoren durch Berücksichtigung der Interaktionen zwischen Fahrzeugsubsystemen. Die Verwendung von iMPC setzt jedoch Vorhersehbarkeit der Fahrzeugumgebung voraus. In einer vorhersehbaren Umgebung betriebene autonome Fahrzeuge können aus der Anwendung von iMPC Nutzen ziehen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine Darstellung eines Systems zur Implementierung von interaktiver modellprädiktiver Steuerung (iMPC) für ein erstes auf einer Straße betriebenes autonomes Fahrzeug.
-
2 ist ein Blockdiagramm eines beispielhaften ersten autonomen Fahrzeugs, das dafür programmiert ist, iMPC für das System von 1 zu implementieren.
-
3 ist ein Blockdiagramm eines beispielhaften zweiten Fahrzeugs in einem vorbestimmten Fahrtbereich des ersten autonomen Fahrzeugs.
-
4 ist ein Blockdiagramm einer beispielhaften Regelschleife zur Implementierung von iMPC.
-
5A ist ein erster Teil eines Diagramms eines beispielhaften Prozesses zur Implementierung von iMPC für das erste autonome Fahrzeug.
-
5B ist ein zweiter Teil des Diagramms eines beispielhaften Prozesses zur Implementierung von iMPC für das erste autonome Fahrzeug.
-
BESCHREIBUNG
-
EINLEITUNG
-
Ein System 10 wie in 1 gezeigt umfasst ein erstes autonomes Fahrzeug 12, ein Netzwerk 14 und eine oder mehrere Datenquellen 16. Das System 10 kann ferner ein oder mehrere zweite Fahrzeuge 18 umfassen, die autonome Fahrzeuge, halbautonome Fahrzeuge oder herkömmliche Fahrzeuge sein können. Das erste autonome Fahrzeug 12 kann einen Computer 20 (2) umfassen, der dafür programmiert ist, eine Vorhersehbarkeit der Umgebung, in der das erste Fahrzeug 12 betrieben wird, zu bestimmen, und kann wählen, interaktive modellprädiktive Steuerung (iMPC) zu implementieren, falls die Vorhersehbarkeit ausreichend hoch ist. Im Folgenden wird eine Umgebung, deren Vorhersehbarkeit für Implementierung von iMPC ausreichend hoch ist, als eine ausreichend vorhersehbare Umgebung bezeichnet. Die Vorhersehbarkeit der Umgebung kann zum Beispiel ausreichend hoch sein, falls es keine Fußgänger, Tiere, Fahrräder oder zweite Fahrzeuge 18 in der Nähe des ersten autonomen Fahrzeugs 12 gibt. Als ein anderes Beispiel kann die Vorhersehbarkeit der Umgebung ausreichend hoch sein, falls die Umgebung zweite Fahrzeuge 18 umfasst und das Verhalten der zweiten Fahrzeuge 18 durch den Computer 20 in dem ersten Fahrzeug 12 vorhergesagt werden kann. Wie nachfolgend ausführlicher beschrieben wird, können zweite Fahrzeuge 18, deren Verhalten durch den Computer 20 in dem ersten Fahrzeug 12 vorhergesagt werden kann, autonome Fahrzeuge 18 umfassen und können ferner herkömmliche oder halbautonome Fahrzeuge 18 umfassen, deren Verhalten in einem vorbestimmten Verhaltensbereich liegt. Der vorbestimmte Verhaltensbereich kann zum Beispiel einen Geschwindigkeitsbereich, einen Lenkwinkelbereich, einen Positionsbereich und einen Beschleunigungsbereich umfassen. Der Computer 20 kann bestimmen, dass das Verhalten des zweiten Fahrzeugs 18 vorhersehbar ist, solange das zweite Fahrzeug 18 in dem vorbestimmten Bereich betrieben wird.
-
Der Computer 20 des ersten Fahrzeugs 12 kann bei Bestimmung, dass das erste Fahrzeug 12 in einer ausreichend vorhersehbaren Umgebung betrieben wird, wählen, den Betrieb des ersten Fahrzeugs 12 auf der Basis einer Methodologie der interaktiven modellprädiktiven Steuerung (iMPC) zu steuern.
-
SYSTEMELEMENTE
-
Unter ausführlicherer Bezugnahme auf 1 umfasst ein beispielhaftes System 10 zur Implementierung von modellprädiktiver Steuerung das erste Fahrzeug 12, null oder mehr zweite Fahrzeuge 18, ein Netzwerk 14 und null oder mehr Datenquellen 16. Das erste Fahrzeug 12 ist ein autonomes Fahrzeug, das eine von mehreren autonomen Betriebsarten umfasst. Die zweiten Fahrzeuge 18 können herkömmliche, halbautonome oder vollautonome Fahrzeuge 18 sein.
-
Das erste Fahrzeug 12 ist im Allgemeinen ein landgestütztes erstes Fahrzeug 12 mit drei oder mehr Rädern, z. B. ein Personenkraftwagen, leichter Lastwagen usw. Wie nachfolgend ausführlicher beschrieben wird und in 2 zu sehen ist, umfasst das erste Fahrzeug 12 einen Computer 20. Der Computer 20 kann dafür programmiert sein, Antrieb, Lenkung und Bremsen des ersten Fahrzeugs 12 autonom zu steuern. Der Computer 20 kann abhängig von dem wahrgenommenen Grad der Vorhersehbarkeit der Umgebung verschiedene Steuermethodologien implementieren. Beispiele für Steuermethodologien umfassen das Halten der Fahrzeuggeschwindigkeit mit Bezug auf ein vordefiniertes Geschwindigkeitsprofil mit der Möglichkeit der Anpassung an die bevorstehenden Verkehrsbedingungen, Lenken des Fahrzeugs, um ein gekrümmtes Straßensegment zu durchfahren, mit der Möglichkeit des Justierens der Lenkung, um mit plötzlicher Notwendigkeit der Hindernisvermeidung umzugehen usw. Falls der Computer 20 bestimmt, dass die Umgebung ausreichend vorhersehbar ist, kann der Computer 20 eine auf iMPC basierende Methodologie implementieren. Wie nachfolgend ausführlicher beschrieben wird, kann der Computer 20 gemäß der iMPC-Methodologie einen Betrieb des ersten Fahrzeugs 12 auf der Basis einer Menge von Zielen optimieren.
-
Das Netzwerk 14 repräsentiert einen oder mehrere Mechanismen, durch die die Fahrzeuge 12, die Fahrzeuge 18 und die Datenquellen 16 miteinander kommunizieren können, und kann einer oder mehrere von verschiedenen verdrahteten oder drahtlosen Kommunikationsmechanismen sein, darunter eine beliebige gewünschte Kombination von verdrahteten (z. B. Kabel- und Faser-) und/oder drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satelliten-, Mikrowellen- und Hochfrequenz-)Kommunikationsmechanismen und eine beliebige gewünschte Netzwerktopologie (oder Topologien, wenn mehrere Kommunikationsmechanismen benutzt werden). Zu beispielhaften Kommunikationsnetzwerken gehören drahtlose Kommunikationsnetzwerke, lokale Netzwerke (LAN) und/oder großflächige Netzwerke (WAN), einschließlich des Internet, die Datenkommunikationsdienste, Kommunikationsmechanismen von Fahrzeug zu Fahrzeug wie diejenigen, die DSRC-Technologie (Dedicated Short Range Communication) verwenden oder diejenigen, die LTE-D-Technologie (Long Term Evolution Direct) verwenden. Ein LTE-D verwendendes Netzwerk kann zum Beispiel die Entdeckung tausender Vorrichtungen in einer gegebenen Reichweite, z. B. 500 Meter, gestatten, was somit einer Vielzahl von LTE-D-Vorrichtungen in einem Bereich des Fahrzeugs 12 Kommunikation innerhalb des Netzwerks 14 gestatten kann.
-
Die Datenquellen 16 können Systeme wie globale Positionsbestimmungssysteme, Verkehrsverfolgungssysteme, Wetterverfolgungssysteme usw. sein und können Daten in Bezug auf eine Betriebsbedingung des ersten Fahrzeugs 12 und der zweiten Fahrzeuge 18 bereitstellen. Die Datenquelle 16 kann zum Beispiel dafür programmiert werden, Kartendaten, Wetterdaten, Geokoordinaten (z. B. Breitengrad, Längengrad), Verkehrsdaten usw. auf bekannte Weise für das erste Fahrzeug 12 und die zweiten Fahrzeuge 18 zu erzeugen und bereitzustellen.
-
Wieder mit Bezug auf 2 umfasst das erste Fahrzeug 12 einen oder mehrere Sensoren 22, die vorgesehen sind, um Daten in Bezug auf das erste Fahrzeug 12 und die Umgebung, in der das erste Fahrzeug 12 betrieben wird, zu sammeln. Beispielsweise und nicht als Beschränkung können die Sensoren 22 z. B. Thermometer, Barometer, Feuchtigkeitssensoren, Höhenmesser, Kameras, LIDAR, Radar, Ultraschallsensoren, Infrarotsensoren, Drucksensoren, Beschleunigungsmesser, Kreisel, Temperatursensoren, Hallsensoren, optische Sensoren, Spannungssensoren, Stromsensoren, mechanische Sensoren wie Schalter, eine Antenne und Empfänger des GPS (Global Positioning System) usw. umfassen. Mit den Sensoren 22 kann man die Umgebung erfassen, in der das erste Fahrzeug 12 betrieben wird, wie etwa Wetterbedingungen, die Steigung einer Straße, eine Krümmung einer Straße, einen Haftzustand einer Straße, Verkehrszustand, zweite Fahrzeuge 18 usw. Ferner kann man mit den Sensoren 22 dynamische Daten in Bezug auf Operationen des ersten Fahrzeugs 12 sammeln, wie Geschwindigkeit, Gierrate, Beschleunigung, Verlangsamung, Lenkradwinkel, Motordrehzahl, Bremsendruck, Öldruck, die angelegte Leistung zum Antrieb des ersten Fahrzeugs 12 usw.
-
Die eine oder mehreren Steuerungen 26 für das erste Fahrzeug 12 können bekannte elektronische Steuereinheiten (ECU) oder dergleichen umfassen, darunter als nichteinschränkende Beispiele eine oder mehrere Motorsteuerungen, eine oder mehrere Getriebesteuerungen, eine oder mehrere Servolenksteuerungen, eine oder mehrere Bremsensteuerungen, eine oder mehrere Aufhängungssteuerungen usw. Jede der Steuerungen 26 kann jeweilige Prozessoren und Speicher, einen oder mehrere Aktoren umfassen und kann auf bekannte Weise Anweisungen zu einem oder mehreren Sensoren 22 senden und/oder Daten von diesen empfangen. Die Steuerungen 26 können programmiert und mit einem Kommunikationsbus des ersten Fahrzeugs 12 verbunden sein, um Anweisungen von dem Computer 20 zu empfangen und auf der Basis solcher Anweisungen einen Aktor zu steuern. Zum Beispiel kann eine Motorsteuerung einen oder mehrere Aktoren, die einem Motor Kraftstoff und Luft zuführen, elektronische Funkenerzeugung zur Zündung der Kraftstoffverbrennung in Motorzylindern usw. steuern. Ein oder mehrere Sensoren 22 können z. B. die Wirkung der Aktoren detektieren. Zum Beispiel kann ein Sensor 22 die Position eines Ventils detektieren, während es sich öffnet und schließt, um Luft oder Kraftstoff in einen Motorzylinder zu lassen.
-
Die Kommunikationsschaltkreise 24 können Hardware, Software, Firmware usw., sowie sie bekannt ist, umfassen und können für eine oder mehrere Arten drahtloser Kommunikation ausgelegt sein. Die Hardware kann z. B. einen oder mehrere Sendeempfänger, einen oder mehrere Empfänger, einen oder mehrere Sender, eine oder mehrere Antennen, einen oder mehrere Mikrocontroller, einen oder mehrere Speicher, eine oder mehrere elektronische Komponenten, eine oder mehrere interaktive Schaltungen, usw. umfassen. Die Software kann auf einem Speicher gespeichert werden, und kann z. B. einen oder mehrere Codierer, einen oder mehrere Decodierer usw. zum Umsetzen von Nachrichten aus einem Protokoll in ein anderes Protokoll umfassen. Einige Funktionen, z. B. Codierungsfunktionen, können über Firmware realisiert sein.
-
Die Arten drahtloser Kommunikation können zum Beispiel WiFi-Kommunikation, DSRC (Dedicated Short Range Communications), LTE-D (Long Term Evolution Direct), bidirektionale Satellitenkommunikation (z. B. Notdienste), unidirektionale Satellitenkommunikation (z. B. Empfangen digitaler Audio-Radioausstrahlungen), AM/FM-Radio, usw. umfassen. Außerdem können die Kommunikationsschaltkreise 26, z. B. über ein verdrahtetes Netzwerk, wie etwa ein CAN-Bus (Controller Area Network), Ethernet oder ein LIN-Bus (Local Interconnect Network), kommunikativ mit dem Computer 20 gekoppelt sein, so wie es bekannt ist.
-
Der Computer 20 umfasst einen Prozessor und einen Speicher. Der Speicher umfasst eine oder mehrere Arten von computerlesbaren Medien und speichert Anweisungen, die durch den Prozessor ausführbar sind, um verschiedene Operationen, darunter hier offenbarte, auszuführen. Ferner kann der Computer 20 einen oder mehrere andere Computer umfassen und/oder kommunikativ mit ihnen gekoppelt sein, darunter z. B. Fahrzeugkomponenten wie die Sensoren 22 und Steuerungen 26, die auch bekanntermaßen jeweilige Prozessoren und Speicher umfassen können. Kommunikation kann z. B. über einen CAN-Bus (Controller Area Network), Ethernet oder einen LIN-Bus (Local Interconnect Network) usw. durchgeführt werden, sowie es bekannt ist.
-
Wie nachfolgend in zusätzlichem Detail beschrieben wird, kann der Computer 20 für autonome Steuerung des Fahrzeugs 12 programmiert sein. Der Computer 20 kann ferner auf der Basis einer Bestimmung, dass eine Betriebsumgebung ausreichend vorhersehbar ist, eine Methodologie der interaktiven modellprädiktiven Steuerung für das Fahrzeug 12 implementieren, die mindestens den Antrieb, die Lenkung und die Bremsen des Fahrzeugs 12 autonom steuert.
-
Interaktive modellprädiktive Steuerung berücksichtigt den aktuellen und zukünftigen Zustand des Fahrzeugs und Systembetriebseinschränkungen, stellt eine optimale Steuerfunktion mit Bezug auf Kraftstoffverbrauch, Fahrbarkeit und Leistungsfähigkeit bereit und ist dadurch gekennzeichnet, dass mehrere Wirkkomponenten, die jeweils ihre eigene MPC-Strategie implementieren, Informationen über ihren Zustand, ihre Zielsetzung und Einschränkungen austauschen.
-
Ein eine interaktive modellprädiktive Steuerung für ein Fahrzeug 12 implementierender Computer 20 bestimmt eine Steuerlösung, die eine Kostenfunktion für das Fahrzeug 12 für einen Zeitraum optimiert. Die Steuerlösung umfasst Anweisungen zum Steuern des Antriebs und/oder der Lenkung und/oder der Bremsen des Fahrzeugs 12. Der Zeitraum umfasst mehrere Zeitschlitze. Die Steuerlösung wird für einen ersten Zeitschlitz in dem Zeitraum implementiert. Auf die Implementierung der Steuerlösung für den ersten Zeitschlitz hin iteriert der Prozess.
-
In einer nächsten Iteration bestimmt der Computer 20 einen aktualisierten Zeitraum. Zur Erzeugung des aktualisierten Zeitraums entfernt der Computer 20 den ersten Zeitschlitz vom Anfang des vorherigen Zeitraums und fügt dem Ende des vorherigen Zeitraums einen ersten zusätzlichen Zeitschlitz hinzu. Für den aktualisierten Zeitraum wird eine aktualisierte Steuerlösung bestimmt. Die aktualisierte Steuerlösung umfasst aktualisierte Anweisungen zum Steuern des Antriebs und/oder der Lenkung und/oder der Bremsen des Fahrzeugs 12. Die Steuerlösung wird für einen zweiten Zeitschlitz implementiert, der dem ersten Zeitschlitz unmittelbar folgt. Der Prozess kann weiter iterieren, den Zeitraum aktualisierend, eine aktualisierte Steuerlösung für den aktualisierten Zeitraum bestimmend und die aktualisierte Steuerlösung für einen nächsten Zeitschlitz implementierend.
-
Wie in 3 gezeigt, umfassen die zweiten Fahrzeuge 18 einen Computer 30, Sensoren 32, Kommunikationsschaltkreise 34 und Steuerungen 36. Die Steuerungen der Sensoren 32, Kommunikationsschaltkreise 34 und Steuerungen 36 können jeweils den Sensoren 22, Kommunikationsschaltkreisen 24 und Steuerungen 26, die mit Bezug auf das erste Fahrzeug 12 beschrieben werden, ähnlich sein. Der Computer 30 der zweiten Fahrzeuge 18 kann für autonomen, halbautonomen oder herkömmlichen Betrieb der zweiten Fahrzeuge 18 programmiert sein. Wie nachfolgend in zusätzlichem Detail beschrieben wird, kann der Computer 30 des zweiten Fahrzeugs 18 dafür programmiert werden, Modelle, Regeln, Steuermethodologien und/oder Daten in Bezug auf den Betrieb des zweiten Fahrzeugs 18 dem Computer 20 des ersten Fahrzeugs 12 bereitzustellen, so dass der Computer 20 des ersten Fahrzeugs 12 das Verhalten des zweiten Fahrzeugs 18 vorhersehen kann. Weiterhin kann im Fall von autonomem oder halbautonomem Betrieb des zweiten Fahrzeugs 18 der Computer 30 dafür programmiert werden, die Steuerung des zweiten Fahrzeugs 18 auf der Basis von Modellen, Regeln, Steuermethodologien und Daten in Bezug auf den Betrieb des ersten Fahrzeugs 12 zu justieren und den Steuerungen 36 des zweiten Fahrzeugs 18 auf der Basis der justierten Steuerung Anweisungen zuzuführen.
-
INTERAKTIVE MODELLPRÄDIKTIVE STEUERUNG
-
Interaktive modellprädiktive Steuerung (iMPC) ist eine Steuermethodologie, die zur Steuerung autonomer Fahrzeuge, wie etwa des ersten Fahrzeugs 12 des Systems 10, verwendet werden kann. Falls ein oder mehrere zweite Fahrzeuge 18 autonom sind, können die zweiten Fahrzeuge 18, die autonom sind, auch dafür programmiert sein, iMPC zu implementieren. In diesem Fall können das erste Fahrzeug 12 und die zweiten Fahrzeuge 18, die zur Implementierung von iMPC programmiert sind, wie nachfolgend beschrieben kollektiv ein iMPC-Mehrfahrzeugsystem mit interaktiver Steuerung herstellen. Das Mehrfahrzeugsystem könnte die Steuerziele des ersten Fahrzeugs 12 mittels jeder individuellen iMPC-Steuerung mit den Steuerzielen des zweiten Fahrzeugs 18 abstimmen. Wenn zum Beispiel das erste Fahrzeug 12 eine Straße verlassen muss, indem es an zweiten Fahrzeugen 18 vorbeifährt, müssen die zweiten Fahrzeuge 18 rechts des ersten Fahrzeugs 12 möglicherweise langsamer werden oder weiter in quasistationären Zuständen betrieben werden, um plötzliche Bewegungsänderungen zu vermeiden, die Störung des ersten Fahrzeugs 12 verursachen könnten, das beabsichtigt, eine Straße zu verlassen.
-
Ein iMPC implementierender Computer 20 kann den aktuellen und zukünftigen Zustand des ersten Fahrzeugs 12 und die Systembetriebseinschränkungen berücksichtigen und eine optimale Steuerfunktion bereitstellen. Die optimale Steuerfunktion kann als Eingaben z. B. ein Ziel für das erste Fahrzeug 12 und eine gewünschte Fahrtgeschwindigkeit usw. (zusammen Fahrzeugziele) empfangen. Das erste Fahrzeug 12 kann zusätzlich Systembetriebseinschränkungen empfangen. Systembetriebseinschränkungen können zum Beispiel verfügbare Straßen, Fahrregeln und -bestimmungen, Geschwindigkeitsbegrenzungen, Verkehr, Hindernisse usw. umfassen. Die iMPC erzeugt auf der Basis der Fahrzeugziele und Systembetriebseinschränkungen Anweisungen für Aktoren, die Antrieb, Lenkung und Bremsen des ersten Fahrzeugs 12 steuern. Die Anweisungen können so erzeugt werden, dass der Betrieb des ersten Fahrzeugs 12 optimiert wird, um die Fahrzeugziele zu erreichen, und ferner um z. B. optimalen Kraftstoffverbrauch und/oder optimale Fahrbarkeit (z. B. Fahrkomfort) und/oder optimale Leistungsfähigkeit (z. B. minimale Justierungen an Aktoren) zu erreichen.
-
Eine kritische Annahme beim Entwurf von iMPC für das autonome Fahrzeug 12 ist die Fähigkeit des Steuersystems, eine erste Fahrzeugleistungsfähigkeit auf einem nächsten Segment eines Fahrpfads vorherzusagen. Das nächste Segment des Fahrpfads wird hier als ein Vorschauhorizont bezeichnet. Der Vorschauhorizont kann zum Beispiel das Segment des Fahrpfads sein, auf dem das Fahrzeug 12 für einen nächsten vorbestimmten Zeitraum fahren wird. Der nächste vorbestimmte Zeitraum kann zum Beispiel eine absolute Zeit wie 10 Sekunden oder als anderes Beispiel eine vorbestimmte Anzahl von Zeitschlitzen, zum Beispiel 100, sein, wobei jeder Zeitschlitz einen Zyklus des Empfangens von Eingaben durch den Computer 20 und des Bereitstellens aktualisierter Anweisungen für die Steuerung 26 repräsentiert. Der vorbestimmte Zeitraum kann auf der Basis der Betriebsumgebung variieren. Zum Beispiel kann ein vorbestimmter Zeitraum in einer Stadt 1 Sekunde betragen, und ein vorbestimmter Zeitraum auf einer Schnellstraße kann 10 Sekunden sein.
-
4 zeigt eine Blockdarstellung einer Regelschleife 40 zur Implementierung von iMPC. Die iMPC-Regelschleife 40 umfasst einen virtuellen Fahrer 42, eine prädiktive Steuerung 44, eine oder mehrere Steuerungen 26 und einen oder mehrere Datensammler 18, 22, 32.
-
Der virtuelle Fahrer 42 und die prädiktive Steuerung 44 können zum Beispiel Softwaremodule sein, die durch den Computer 20 des ersten Fahrzeugs 12 ausgeführt werden können.
-
Der virtuelle Fahrer 42 kann deterministische Pfadplanungs- und Pfadbefolgungsalgorithmen ausführen, die die Vorhersage der Fahrzeuggeschwindigkeit und -position über den Vorschauhorizont ermöglichen. Der virtuelle Fahrer 42 kann Daten empfangen, die z. B. ein Ziel, Kartendaten, Verkehrsdaten usw. umfassen. Auf der Basis der empfangenen Daten kann der virtuelle Fahrer 42 z. B. Fahrpedal-, Lenk- und Bremseingaben für die prädiktive Steuerung erzeugen. Die Fahrpedaleingabe kann eine Zielbeschleunigung für das erste Fahrzeug 12 angeben. Die Lenkeingabe kann einen Ziellenkwinkel angeben. Die Bremseingabe kann einen Zielwert des Bremsens angeben.
-
Die prädiktive Steuerung 44 kann zum Beispiel die Fahrpedal-, Lenk- und Bremseingaben von dem virtuellen Fahrer 42 empfangen. Auf der Basis dieser Eingaben kann die prädiktive Steuerung 44 Anweisungen für Steuerungen 26 des ersten Fahrzeugs 12 in Bezug auf Antrieb, Lenkung und Bremsen erzeugen. Zum Beispiel kann die prädiktive Steuerung 44 eine Anweisung zu einer Lenkungssteuerung 26 senden, einen Lenkwinkel um 0,25 Grad zu justieren, oder zu einer Bremssteuerung 26, einen Bremsflüssigkeitsdruck um 1 bar zu vergrößern.
-
In einem Zustand, bei dem eine Kollision zur Besorgnis wird, werden unabhängig von der Absicht des virtuellen Fahrers Unfallvermeidungs- oder -minderungsfunktionen aktiviert. Bei Aktivierung der Unfallvermeidungs- und -minderungssteueraktionen muss sich der virtuelle Fahrer 42 mit der Unfallvermeidungs-/-minderungssteueraktion koordinieren, damit die Effektivität der Sicherheitsfunktionen nicht verringert wird. Wie im Fall eines manuellen Fahrens eines Fahrzeugs 12 muss der virtuelle Fahrer 42 möglicherweise die Sicherheitsfunktionen des elektronischen Stabilitätsprogramms, des Rollstabilisierungssystems, der Traktionsregelung und des Antiblockiersystems nicht verwalten. Der virtuelle Fahrer 42 muss jedoch Maßnahmen treffen, um sich mit diesen Sicherheitsfunktionen zu koordinieren und keine Steueraktionen zu erzeugen, die diesen entgegenwirken.
-
Wie oben beschrieben, können die Steuerungen 26 jeweilige Prozessoren und Speicher, einen oder mehrere Aktoren umfassen und können auf bekannte Weise Anweisungen zu einem oder mehreren Sensoren 22 senden und/oder Daten von diesen empfangen. Die Steuerungen 26 können programmiert und mit einem Kommunikationsbus des ersten Fahrzeugs 12 verbunden sein, um Anweisungen von dem Computer 20 zu empfangen und auf der Basis solcher Anweisungen einen Aktor zu steuern. Zum Beispiel kann eine Motorsteuerung 26 einen oder mehrere Aktoren, die einem Motor Kraftstoff und Luft zuführen, elektronische Funkenerzeugung zur Zündung der Kraftstoffverbrennung in Motorzylindern usw. steuern, ebenfalls wie oben beschrieben. Ein oder mehrere Sensoren 22 können z. B. die Wirkung der Aktoren detektieren. Zum Beispiel kann ein Sensor 22 die Position eines Ventils detektieren, während es sich öffnet und schließt, um Luft oder Kraftstoff in einen Motorzylinder zu lassen.
-
Die Steuerungen 26 können eine oder mehrere Drosselsteuerungen 26, eine oder mehrere Zündsteuerungen 26, eine oder mehrere Bremsensteuerungen 26, eine oder mehrere Lenkungssteuerungen 26, eine Steuerung für Abgasrecycling (EGR) 26, eine Ladedruckbegrenzersteuerung 26 usw. umfassen.
-
Die Datensammler 46 können Sensoren 22 des ersten Fahrzeugs 12, Sensoren 32 des zweiten Fahrzeugs 18 und Datenquellen 16 umfassen. Die Datensammler 46 können Daten bezüglich der Umgebung, wie etwa Anwesenheit und Ort von Straßen, die Position des ersten Fahrzeugs 12 auf den Straßen, die Anwesenheit und Ort von Fahrzeugen 18 in einem Betriebsbereich, die Geschwindigkeit und Richtung der Fahrt der Fahrzeuge 18 in dem Betriebsbereich, die Art des Fahrzeugs 18, Fußgänger, Hindernisse auf der Straße usw. sammeln. Die Datensammler 46 können ferner Daten in Bezug auf den Betrieb des ersten Fahrzeugs 12 bereitstellen, wie etwa Geschwindigkeit, Fahrtrichtung, Motordrehzahl, Lenkwinkel, Bremsendruck usw. Weiterhin können die Datensammler 46 Daten in Bezug auf Wetterbedingungen in dem Betriebsbereich, Geokoordinaten (Breitengrad, Längengrad) des ersten Fahrzeugs 12, Verkehrsbedingungen im Betriebsbereich, Verkehrsbedingungen auf einem geplanten Fahrpfad jenseits des Betriebsbereichs usw. sammeln, mit denen z. B. der virtuelle Fahrer 42 aktualisierte Fahrpedal-, Lenkungs- und Bremseingaben für die prädiktive Steuerung erzeugen kann.
-
Wie oben besprochen, kann die iMPC das erste Fahrzeug
12 in Bezug auf Ziel, Fahrtgeschwindigkeit, Kraftstoffverbrauch, Fahrbarkeit, Leistungsfähigkeit usw. optimieren. Als ein Beispiel kann die iMPC Parameter justieren, um eine Kostenfunktion J zu minimieren. Die Kostenfunktion J kann mehrere Kosten quantifizieren und kann z. B. eine Gleichung sein, die eine Anzahl von Termen enthält, die jeweils der Computer
20 des ersten Fahrzeugs
12 zu minimieren versuchen kann und/oder im Aggregat zu minimieren versuchen kann. Die nachfolgende Gleichung 1 ist ein Beispiel für eine Kostenfunktion J.
-
-
In den Gleichungen ist J eine zu minimierende Kostenfunktion, P
i eine Zielposition für das erste Fahrzeug
12, die hier auch als Ziel bezeichnet wird, p
i eine aktuelle Position des ersten Fahrzeugs
12, V
i eine Zielgeschwindigkeit für das erste Fahrzeug
12, v
i eine aktuelle Geschwindigkeit des ersten Fahrzeugs
12,
eine Kraftstoffverbrauchsrate des ersten Fahrzeugs
12, T das Drehmoment, eine Menge von Fahrzeugsteuervariablen, x ein Zustand des ersten Fahrzeugs
12, y eine Ausgabe des ersten Fahrzeugs
12 (Position, Geschwindigkeit, Kraftstoffverbrauch, Fahrkomfort usw.). i ist der Zeitschlitz für die Berechnung. Unter Bezugnahme auf Gleichung 5 kann der Computer
20 eine optimale Menge von Fahrzeugsteuervariablen u
opt dergestalt berechnen, dass die Kostenfunktion J minimiert wird.
-
Wieder mit Bezug auf 4 kann der virtuelle Fahrer 42 Pfadplanungs- und Pfadbefolgungsalgorithmen umfassen. Wie oben beschrieben, kann der virtuelle Fahrer 42 ein in dem Computer 20 enthaltenes Softwaremodul sein.
-
Auf der Basis von Eingaben z. B. von einem Benutzer des ersten Fahrzeugs 12 kann der virtuelle Fahrer 42 einen Pfad von einem aktuellen Ort zu einem gewünschten Ziel (den Fahrpfad) und eine gewünschte Fahrtgeschwindigkeit bestimmen. Auf der Basis des Fahrpfads und der Position des ersten Fahrzeugs 12 relativ zum Pfad kann der virtuelle Fahrer 42 Beschleunigung, einen Lenkwinkel und ein Bremsen zur Anwendung durch das erste Fahrzeug 12 berechnen. Der virtuelle Fahrer 42 kann die Beschleunigungs-, Lenkwinkel- und Bremseingaben der prädiktiven Steuerung zuführen.
-
Die prädiktive Steuerung 44 kann einen oder mehrere Algorithmen zur Bestimmung der Steuervariablen u auf der Basis der von dem virtuellen Fahrer empfangenen Beschleunigungs-, Lenkwinkel- und Bremseingaben umfassen. Zum Beispiel kann die prädiktive Steuerung 44 eine Menge von Steuervariablen u dergestalt erzeugen, dass die Kostenfunktion J gemäß Gleichung 1 gemäß der Gleichung 2 minimiert wird.
-
Die prädiktive Steuerung 44 kann dann eine Menge von Anweisungen für die Steuerungen 26 erzeugen. Die Anweisungen können den Steuerungen 26 aktualisierte Werte der Steuervariablen u bereitstellen. Auf der Basis der aktualisierten Steuervariablen u können die Steuerungen den Betrieb eines oder mehrerer den Steuerungen 26 zugeordneter Aktoren justieren. Auf der Basis der Anweisungen für die Aktoren kann das erste Fahrzeug 12 seine Position, Geschwindigkeit und Fahrtrichtung ändern.
-
Die Datensammler 46, die Sensoren 22 des ersten Fahrzeugs 12, Sensoren 32 des Fahrzeugs 18 und Datenquellen 16 umfassen können, können auf der Basis der neuen Position, Geschwindigkeit und Fahrtrichtung des ersten Fahrzeugs 12 dem virtuellen Fahrer 42 aktualisierte Daten bereitstellen. Der virtuelle Fahrer 42 kann dann mit dem geplanten Pfad und der geplanten Geschwindigkeit vereinbare Justierungen vornehmen.
-
PROZESSE
-
Bestimmung eines Fahrpfads
-
Der Computer 20 des ersten Fahrzeugs 12 sammelt Daten, die Ziele des ersten Fahrzeugs zum Beispiel für eine Fahrt angeben. Die Daten können zum Beispiel ein Zielort (Ziel) für die Fahrt und eine Zielgeschwindigkeit für die Fahrt umfassen. Die Zielgeschwindigkeit kann zum Beispiel eine Ziel-Gesamtdurchschnittsgeschwindigkeit für die Fahrt sein und kann zum Beispiel mit Regeln assoziiert sein, wie etwa einem Ziel des Bleibens in einem Bereich vorgegebener Geschwindigkeitsgrenzen. Der Bereich kann zum Beispiel innerhalb von +/–10% vorgegebener Geschwindigkeiten, innerhalb eines Absolutbereichs von +/–5 Meilen/Stunde vorgegebener Geschwindigkeiten usw. sein.
-
Der Computer 20 kann ferner zum Beispiel Kartendaten aus mit dem Computer 20 assoziiertem Speicher oder aus einer Datenquelle 16 sammeln, die mögliche Routen von einem aktuellen Ort zum Ziel angeben. Der Computer 20 kann zum Beispiel gemäß bekannten Algorithmen einen Fahrpfad vom aktuellen Ort zum Ziel bestimmen.
-
Bestimmung eines Vorschauhorizonts
-
Auf der Basis des bestimmen Fahrpfads kann der Computer 20 des Fahrzeugs 12 einen Vorschauhorizont identifizieren. Der Vorschauhorizont kann wie oben beschrieben zum Beispiel ein Segment des Fahrpfads sein, auf dem das Fahrzeug 12 für einen nächsten vorbestimmten Zeitraum fahren wird. Der nächste vorbestimmte Zeitraum kann zum Beispiel eine absolute Zeit wie etwa 10 Sekunden sein, oder als ein anderes Beispiel eine vorbestimmte Anzahl von Zeitschlitzen, zum Beispiel 100, wobei jeder Zeitschlitz einen Zyklus des Empfangens von Eingaben durch den Computer 20 und des Bereitstellens aktualisierter Anweisungen für die Steuerung 26 repräsentiert. Der vorbestimmte Zeitraum kann auf der Basis der Betriebsumgebung variieren. Ein vorbestimmter Zeitraum in einer Stadt kann zum Beispiel 1 Sekunde sein, und ein vorbestimmter Zeitraum auf einer Schnellstraße kann 10 Sekunden sein.
-
Bestimmung eines Fahrbereichs
-
Ein Fahrbereich kann ein Bereich sein, der den Vorschauhorizont umgibt. Um interaktive modellprädiktive Steuerung (iMPC) zu implementieren, kann der Computer 20 des Fahrzeugs 12 Daten benötigen, die Umgebungsbedingungen, Verkehrsbedingungen, Straßenbedingungen usw. in dem vorbestimmten Fahrbereich angeben. Der vorbestimmte Fahrbereich kann z. B. als auf dem Vorschauhorizont, innerhalb einer vorbestimmten Distanz des ersten Fahrzeugs 12 an jedem Punkt, definiert sein. Der vorbestimmte Fahrbereich kann zum Beispiel auf der Basis der Umgebung und Art von Betrieb variieren. Wenn das erste Fahrzeug 12 zum Beispiel in einer Stadt betrieben wird und langsam auf Städtestraßen fährt, kann der vorbestimmte Fahrbereich 50 Meter vor und hinter dem ersten Fahrzeug 12 und 20 Meter links und rechts des ersten Fahrzeugs 12 sein. Wenn das erste Fahrzeug 12 dagegen auf einer Schnellstraße betrieben wird, kann der vorbestimmte Fahrbereich 500 Meter vor und hinter dem ersten Fahrzeug 12 sein und kann sich 50 Meter über die Seiten der Schnellstraße nach links und rechts erstrecken.
-
Sammeln von Daten in Bezug auf Objekte im Fahrbereich
-
Um einen Grad der Vorhersehbarkeit des vorbestimmten Fahrbereichs zu bestimmen, sammelt der Computer 20 Daten in Bezug auf Straßenbedingungen, Wetterbedingungen, Verkehrsbedingungen usw. in dem vorbestimmten Fahrbereich. Der Computer 20 kann zum Beispiel Daten von Datenquellen 16 wie etwa Wetterverfolgungssystemen, Verkehrsverfolgungssystemen, Kartenanbietern, globalen Positionsbestimmungssystemen usw. sammeln. Außerdem kann der Computer 20 Daten von Sensoren 22 sammeln, die in dem Computer 20 enthalten oder kommunikativ damit gekoppelt sind. Weiterhin kann der Computer 20 Daten zum Beispiel über Computer 30 der zweiten Fahrzeuge 18 von Sensoren 32 sammeln.
-
Zusätzlich zu Straßenbedingungen, Wetterbedingungen, Verkehrsbedingungen usw. kann der Computer 20 Daten in Bezug auf Objekte in dem vorbestimmten Fahrbereich sammeln. Die Objekte können belebte Objekte wie Personen und Tiere umfassen und können ferner unbelebte Objekte umfassen. Unbelebte Objekte können zum Beispiel stationäre Objekte wie Straßen, Schilder, Gebäude usw. sein und können ferner sich bewegende Objekte umfassen, wie etwa Fahrräder, zweite Fahrzeuge 18 usw.
-
Der Computer 20 kann ferner über Kommunikation mit jedem Computer 30 der zweiten Fahrzeuge 18 eine Art von Betrieb jedes der zweiten Fahrzeuge 18 bestimmen. Eine Art von Betrieb kann z. B. autonomer Betrieb auf der Basis interaktiver modellprädiktiver Steuerung, autonomer Betrieb auf der Basis eines anderen Steuermodells, halbautonomer Betrieb oder manueller (menschlicher) Betrieb sein. Falls das zweite Fahrzeug 18 autonom betrieben wird, kann der Computer 20 zusätzliche Informationen anfordern, wie etwa die aktuelle Menge von Zielen (Kostenfunktion) für das zweite Fahrzeug 18, die Art autonomer Steuerung, die Regeln, die für die autonome Steuerung gelten, usw.
-
Ähnlich kann, falls ein zweites Fahrzeug 18 halbautonom betrieben wird, der Computer 20 zusätzliche Informationen anfordern, wie etwa Arten von halbautonomer Steuerung (Antiblockiersystem (ABS), Traktionssteuerung, Kollisionsvermeidung usw.), die eine Angabe für das zukünftige Verhalten des zweiten Fahrzeugs 18 bereitstellen können.
-
Der Computer 20 kann ferner von den Sensoren 22, den Sensoren 32 und den Datenquellen 16 Daten sammeln, die ein Verhalten jedes der zweiten Fahrzeuge 18 in dem vorbestimmten Fahrbereich angeben. Die Daten können Position als Funktion der Zeit, Geschwindigkeit als Funktion der Zeit, Richtung als Funktion der Zeit usw. umfassen. Wie nachfolgend beschrieben wird, können die Daten insbesondere im Fall von zweiten Fahrzeugen 18, die halbautonom oder manuell betrieben werden, verwendet werden, um zu bestimmen, ob die Fahrzeuge 18 in einem vorbestimmten Verhaltensbereich betrieben werden.
-
Bestimmung eines Grads an Vorhersehbarkeit des vorbestimmten Fahrbereichs
-
Damit das erste Fahrzeug 12 iMPC implementieren kann, ist es notwendig, dass der vorbestimmte Fahrbereich ausreichend vorhersehbar ist. Der Computer 20 des ersten Fahrzeugs 12 kann dafür programmiert sein, auf der Basis gesammelter Daten die Vorhersehbarkeit des Fahrbereichs zu bestimmen. Zum Beispiel ist die Vorhersehbarkeit der Straßenbedingungen während des Fahrens im Winter geringer als die der Straßenbedingungen während des Fahrens im Sommer aufgrund der potentiellen Eis- und Schneebedingungen auf der Straße. Als ein anderes Beispiel ist die Vorhersehbarkeit eines Fahrbereichs mit weniger Verkehr höher als die eines Verkehrsfahrbereichs mit starkem Verkehr.
-
Durch die Anwesenheit einiger Objekte im Fahrbereich kann der Fahrbereich nicht ausreichend vorhersehbar zur Implementierung von iMPC werden. Zum Beispiel kann die Anwesenheit von Fußgängern, Tieren oder Personen, die Fahrräder, Dreiräder usw. fahren, angeben, dass der Fahrbereich nicht ausreichend vorhersehbar ist. Als ein anderes Beispiel kann bestimmt werden, dass ein Fahrbereich in einem Wohnungsgebiet aufgrund der Wahrscheinlichkeit, dass Personen, Haustiere usw. anwesend sein können, nicht ausreichend vorhersehbar ist.
-
In anderen Fällen können zusätzliche Informationen notwendig sein, um zu bestimmen, ob eine Umgebung ausreichend vorhersehbar ist. Zum Beispiel können auf einer Schnellstraße mit begrenztem Zugang die Objekte im Fahrbereich alle zweite Fahrzeuge 18 sein, die in einer selben Richtung fahren. In diesem Fall kann der Fahrbereich ausreichend vorhersehbar sein, falls das Verhalten jedes der anderen Fahrzeuge 18 ausreichend vorhersehbar ist. Das Verhalten der anderen Fahrzeuge 18 kann ausreichend vorhersehbar sein, wenn entweder die zweiten Fahrzeuge 18 autonom betrieben werden oder die zweiten Fahrzeuge 18 in einem vorbestimmten Verhaltensbereich betrieben werden.
-
Der Computer 20 kann dafür programmiert sein, ein numerisches Verfahren zur Bestimmung des Grads an Vorhersehbarkeit des Fahrbereichs zu benutzen. Zum Beispiel kann der Computer 20 eine Menge von Risikofaktoren identifizieren. Ein Probebeispiel für einen Risikofaktor wäre Regen, Schnee, Dunkelheit, ein Wohnungsgebiet, Anwesenheit von Haustieren, Anwesenheit von Kindern, Anwesenheit von Erwachsenen, Anwesenheit von Fahrrädern, Anwesenheit von zweiten nichtautonomen Fahrzeugen 18, Anwesenheit von autonomen Fahrzeugen 18 usw. Jedem Risikofaktor kann ein numerischer Wert zugewiesen werden, und es kann die Summe der Werte numerischer Risikofaktoren bestimmt werden. Eine Summe der Werte numerischer Risikofaktoren oberhalb eines Schwellenwerts kann angeben, dass der Fahrbereich nicht ausreichend vorhersehbar ist.
-
Bestimmung eines vorbestimmten Verhaltensbereichs
-
Es kann ein vorbestimmter Verhaltensbereich für jedes zweite Fahrzeug 18 bestimmt werden, zum Beispiel auf der Basis statistischer Daten in Bezug auf das Verhalten von Fahrzeugen 18 in einer bestimmten Fahrsituation. Der vorbestimmte Verhaltensbereich kann zum Beispiel auf der Basis aufgezeichneter Daten für in dem Fahrbereich fahrende Fahrzeuge bestimmt werden.
-
Als ein Beispiel kann der Fahrbereich eine Schnellstraße mit begrenztem Zugang mit einer Geschwindigkeitsbegrenzung von 70 Meilen/Stunde sein. Auf der Basis statistischer Daten kann der vorbestimmte Bereich von Geschwindigkeiten in dem vorbestimmten Fahrbereich z. B. 50 Meilen/Stunde bis 85 Meilen/Stunde sein. Der Bereich vorhersehbarer Positionen kann innerhalb von 10 Metern zu jeder Seite der Schnellstraße liegen und Verbringen von mehr als einem vorbestimmten Prozentsatz von Zeit, z. B. 80%, in den definierten Spuren.
-
Es kann zusätzliche Beschränkungen geben, in dem vorbestimmten Verhaltensbereich zu liegen. Zum Beispiel kann, um in dem vorbestimmten Verhaltensbereich zu liegen, von jedem zweiten Fahrzeug 18 gefordert werden, einen Mindestabstand (z. B. 20 Meter) zum ersten Fahrzeug 12 und anderen zweiten Fahrzeugen 18 für einen bestimmten Prozentsatz der Zeit (z. B. 80%) zu halten und gefordert werden, Spurwechselmanöver in einer Zeit auszuführen, die größer als eine Mindestzeit (z. B. 10 Sekunden) und kleiner als eine Maximalzeit (z. B. 1 Minute) ist.
-
Der Bereich vorhergesehener Verhaltensweisen kann von Wetterbedingungen, Helligkeitsbedingungen, dem Verkehrsvolumen, der Tageszeit usw. abhängen. Zum Beispiel kann der vorbestimmte Bereich von Geschwindigkeiten in Regen- oder Schneewetter verringert werden. Der Bereich vorbestimmter Abstände kann in hochvolumigen Verkehrsbedingungen, wie etwa in Spitzenzeiten am Morgen und Abend verringert werden.
-
Einrichten eines iMPC-Mehrfahrzeugsystems mit interaktiver Steuerung
-
Falls ein oder mehrere Computer 30 der zweiten Fahrzeuge 18 im Fahrbereich für autonome Steuerung auf der Basis interaktiver modellprädiktiver Steuerung programmiert sind, können der Computer 20 des ersten Fahrzeugs 12 und der eine oder die mehreren Computer 30 der zweiten Fahrzeuge 18 ein Mehrfahrzeugsystem bilden, das interaktive modellprädiktive Steuerung implementiert. Der Computer 20 des ersten Fahrzeugs 12 und der eine oder die mehreren Computer 30 der zweiten Fahrzeuge 18 können jeweilige Ziele (Kostenfunktionen), Modelle, Regeln, Steuermethodologien und/oder Daten austauschen. Der Computer 20 und der eine oder die mehreren Computer 30 können zusammenarbeiten, um das jeweilige erste Fahrzeug 12 und zweite Fahrzeuge 18 zu steuern, um ein optimales Ergebnis für das Mehrfahrzeugsystem zu erhalten, um so die optimierte kollaborative Steuerung der Fahrzeuge 12, 18 zu erreichen. Zum Beispiel könnte das Mehrfahrzeugsystem einen Verband bilden, um dem führenden autonomen Fahrzeug 12 zu folgen.
-
BEISPIELHAFTER PROZESSFLUSS
-
5A ist ein erster Teil einer Darstellung eines beispielhaften Prozesses 500 zur Implementierung von iMPC durch das erste autonome Fahrzeug 12. Der Prozess 500 beginnt in einem Block 505.
-
5B ist ein zweiter Teil der Darstellung des beispielhaften Prozesses 500 zur Implementierung von iMPC durch das erste autonome Fahrzeug 12. Der Prozess 500 beginnt in einem Block 505.
-
Im Block 505 bestimmt der Computer 20 des ersten Fahrzeugs 12, ob der Computer 20 eine Anforderung empfangen hat, interaktive modellprädiktive Steuerung zu implementieren. Die iMPC-Anforderung kann zum Beispiel vom Benutzer des ersten Fahrzeugs 12 eingegeben werden, die angibt, dass der Benutzer wünscht, dass das erste Fahrzeug 12 gemäß iMPC betrieben wird.
-
Die iMPC-Anforderung kann zum Beispiel erfolgen, während das erste Fahrzeug 12 bereits betrieben wird. Das Fahrzeug 12 kann zum Beispiel gerade gemäß einem anderen (Nicht-iMPC-)Steueralgorithmus gefahren oder autonom betrieben werden. Zum Beispiel kann der Benutzer, während er sich auf einer Schnellstraße befindet, während er Fahrer ist oder während eines autonomen Betriebs gemäß dem Nicht-iMPC-Steueralgorithmus zum Beispiel durch Betätigen einer Taste anfordern, dass das erste Fahrzeug 12 zum iMPC-Betrieb wechselt.
-
Es können andere Anforderungen für einen iMPC-Betrieb erkannt werden. Zum Beispiel kann der Computer 20 dafür programmiert werden, iMPC-Betrieb anzunehmen und ein Zündungsereignis als eine Anforderung zu erkennen, autonome Steuerung gemäß iMPC einzuleiten. Als ein anderes Beispiel kann der Computer 20 über die Kommunikationsschaltkreise 24 zum Beispiel von einem autorisierten Benutzer eine Anforderung empfangen, das erste Fahrzeug 12 autonom gemäß iMPC zu betreiben. Zum Beispiel kann ein Benutzer über WiFi-Kommunikation über das Netzwerk 14 das erste Fahrzeug 12 herbeibestellen, um den Benutzer an einem spezifizierten Ort abzuholen.
-
Falls der Computer 20 des ersten Fahrzeugs 12 eine Anforderung zum Betrieb gemäß iMPC erkennt, wird der Prozess 500 in einem Block 510 fortgesetzt. Andernfalls endet der Prozess 500.
-
In Block 510 empfängt der Computer 20 Ziele des ersten Fahrzeugs 12 oder ruft diese ab. Die Ziele können zum Beispiel als Eingabe vom Benutzer empfangen werden, die einen Zielort (Ziel) und eine Zielgeschwindigkeit für das erste Fahrzeug 12 angibt. In einigen Fällen, zum Beispiel wenn angefordert wird, dass das erste Fahrzeug 12 während des Fahrens auf einer Schnellstraße zu iMPC-Betrieb wechselt, kann der Computer 20 eine Vorgabemenge von Zielen bestimmen. Zum Beispiel kann der Computer 20 bestimmen, dass das Fahrzeug 12 mit einer Geschwindigkeit, die mit der Geschwindigkeit von umgebendem Verkehr kompatibel ist, auf der Schnellstraße weiterfahren soll. In anderen Fällen kann beim Übergang von einer ersten Art von autonomer Steuerung zu iMPC der Computer 20 die Fahrzeugziele von der ersten Art von autonomer Steuerung zur Verwendung mit iMPC abrufen. In weiteren Fällen kann der Computer 20 eine Anweisung empfangen, zum Beispiel „zur Schule von Sarah”, und der Computer 20 kann einen Ort für die Schule von Sarah und zum Beispiel ein Vorgabegeschwindigkeitsziel aus Speicherung abrufen, um mit vorgegebenen Geschwindigkeiten oder 5 Meilen/Stunde über vorgegebenen Geschwindigkeiten oder mit der Geschwindigkeit des Verkehrs usw. zu fahren. Wenn der Computer 20 Fahrtziele für das erste Fahrzeug 12 empfangen hat, wird der Prozess 500 in einem Block 515 fortgesetzt.
-
In Block 515 empfängt der Computer 20 Daten in Bezug auf die Umgebung, in der das erste Fahrzeug 12 betrieben wird. Zum Beispiel kann der Computer 20 auf der Basis der Ziele für das erste Fahrzeug 12 den Fahrpfad bestimmen. Der Computer 20 kann z. B. von Datenquellen 16 Informationen in Bezug auf die Umgebung auf dem Fahrpfad sammeln. Die Informationen können zum Beispiel Straßenbedingungen, Wetterbedingungen, Verkehrsbedingungen usw. auf dem Fahrpfad angeben.
-
Der Computer 20 kann ferner auf der Basis des Fahrpfads einen Vorschauhorizont bestimmen oder aktualisieren. Der Vorschauhorizont kann wie oben besprochen zum Beispiel das Segment des Fahrpfads sein, auf dem das erste Fahrzeug 12 für einen nächsten vorbestimmten Zeitraum fahren wird. Der nächste vorbestimmte Zeitraum kann zum Beispiel eine absolute Zeit wie 10 Sekunden sein oder als ein anderes Beispiel eine vorbestimmte Anzahl von Zeitschlitzen, zum Beispiel 100, wobei jeder Zeitschlitz einem Zyklus des Empfangens von Eingaben durch den Computer 20 und des Bereitstellens aktualisierter Anweisungen für die Steuerung 26 repräsentiert. Der vorbestimmte Zeitraum kann auf der Basis der Betriebsumgebung variieren. Zum Beispiel kann ein vorbestimmter Zeitraum in einer Stadt 1 Sekunde sein und ein vorbestimmter Zeitraum auf einer Schnellstraße 10 Sekunden.
-
Das erste Fahrzeug 12 kann z. B. von Sensoren 22, die in dem ersten Fahrzeug 12 enthalten oder mit diesen kommunikativ gekoppelt sind, Daten bezüglich eines den Vorschauhorizont umgebenden vorbestimmten Fahrbereichs empfangen. Der vorbestimmte Fahrbereich kann z. B. als entlang des Vorschauhorizonts innerhalb einer vorbestimmten Distanz des ersten Fahrzeugs 12 definiert sein. Der vorbestimmte Fahrbereich kann zum Beispiel auf der Basis der Umgebung und der Art des Betriebs variieren. Wenn das erste Fahrzeug 12 zum Beispiel in einer Stadt betrieben wird und langsam auf Städtestraßen fährt, kann der vorbestimmte Fahrbereich 50 Meter vor und hinter dem ersten Fahrzeug 12 und 20 Meter links und rechts des ersten Fahrzeugs 12 sein. Wenn das erste Fahrzeug 12 dagegen auf einer Schnellstraße betrieben wird, kann der vorbestimmte Fahrbereich 500 Meter vor und hinter dem ersten Fahrzeug 12 sein und kann sich 50 Meter über die Seiten der Schnellstraße nach links und rechts erstrecken. Die Daten können angeben, ob zweite Fahrzeuge 18 anwesend sind, Fußgänger anwesend sind, Haustiere oder andere freilaufende Tiere anwesend sind usw.
-
Falls ein oder mehrere zweite Fahrzeuge 18 in dem vorbestimmten Fahrbereich anwesend sind, kann der Computer 20 Kommunikation mit den zweiten Fahrzeugen 18 herstellen. Der Computer 20 kann von dem Computer 30 in jedem der zweiten Fahrzeuge 18 erfragen, ob jedes der zweiten Fahrzeuge 18 autonom betrieben wird oder durch einen Fahrer gesteuert wird.
-
Der Computer 20 kann ferner zum Beispiel von Sensoren 22 oder von Sensoren 32, die in den zweiten Fahrzeugen 18 enthalten oder kommunikativ mit ihnen gekoppelt sind, Informationen in Bezug auf das Fahrverhalten der zweiten Fahrzeuge 18 sammeln.
-
Auf das Sammeln von Daten in Bezug auf den vorbestimmten Fahrbereich durch den Computer 20 hin, wird der Prozess 500 in einem Block 520 fortgesetzt.
-
In Block 520 bestimmt der Computer 20, ob es Fußgänger, Fahrräder im Betrieb, Tiere in dem vorbestimmten Fahrbereich gibt.
-
Falls der Computer 20 bestimmt, dass sich keine unvorhersehbaren Objekte wie Fußgänger, Fahrräder in Betrieb und/oder Tiere in dem vorbestimmten Fahrbereich befinden, wird der Prozess 500 in einem Block 525 fortgesetzt. Falls der Computer 20 bestimmt, dass sich ein oder mehrere unvorhersehbare Objekte in dem vorbestimmten Fahrbereich befinden, endet der Prozess 500. Zum Beispiel kann das Fahrzeug 12 autonomen Betrieb auf der Basis eines Nicht-iMPC-Steueralgorithmus wiederaufnehmen oder fortsetzen oder kann manuelle Steuerung fortsetzen oder zu dieser zurückkehren.
-
In Block 525 bestimmt der Computer 20, ob sich zweite Fahrzeuge 18 in dem vorbestimmten Fahrbereich für das erste Fahrzeug 12 befinden. Falls der Computer 20 Fahrzeuge 18 in dem vorbestimmten Fahrbereich identifiziert, wird der Prozess 500 in einem Block 530 fortgesetzt. Falls der Computer 20 bestimmt, dass sich keine Fahrzeuge 18 in dem vorbestimmten Fahrbereich befinden, wird der Prozess 500 in einem Block 545 fortgesetzt. Falls der Computer 20 bestimmt, dass sich zweite Fahrzeuge 18 im Fahrbereich befinden, wird der Prozess 500 in einem Block 530 fortgesetzt.
-
In Block 530 bestimmt der Computer 20 auf der Basis der in Block 515 gesammelten Daten, ob eines oder mehrere der zweiten Fahrzeuge 18 in dem vorbestimmten Fahrbereich nichtautonom betrieben werden. Falls eines oder mehrere der zweiten Fahrzeuge 18 nichtautonom betrieben werden, wird der Prozess 500 in einem Block 535 fortgesetzt. Falls alle zweiten Fahrzeuge 12 autonom betrieben werden, wird der Prozess 500 in einem Block 540 fortgesetzt.
-
In Block 535 bestimmt der Computer 20 für jedes des einen oder der mehreren zweiten Fahrzeuge 18, die nichtautonom betrieben werden, ob das zweite Fahrzeug 18 vorhersehbar betrieben wird, d. h. in einem vorbestimmten Bereich von Verhaltensweisen.
-
Der Computer 20 kann anfänglich für die zweiten Fahrzeuge 18 einen vorbestimmten Bereich von Verhaltensweisen identifizieren, die ausreichend vorhersehbar sind. Der vorbestimmte Bereich von Verhaltensweisen kann z. B. von der Fahrumgebung abhängen. Zum Beispiel kann beim Fahren auf einer Schnellstraße mit begrenztem Zugang der vorbestimmte Bereich von Verhaltensweisen den Betrieb in einem Bereich von Geschwindigkeiten mit Bezug auf die Verkehrsbedingung oder die vordefinierte Geschwindigkeitsgrenze, Halten eines Mindestabstands von dem ersten Fahrzeug 12 und anderen zweiten Fahrzeugen 18, Bleiben innerhalb eines Mindestabstands von einer Mitte der Spur, außer wenn keine Spuren gewechselt werden, Reagieren auf Fahrbedingungsänderungen in einem vorbestimmten Bereich von Ansprechverhalten (z. B. Reaktion in weniger als einem vorbestimmten Zeitraum) und einen vorbestimmten Bereich des Komforts (z. B. seitliche und Längsbeschleunigung, Verlangsamung in vorbestimmten Bereichen), Betrieb des Fahrzeugs in Einhaltung der Sicherheitsregeln usw. umfassen. Beim Fahren in einer Vorstadtumgebung kann der vorbestimmte Bereich von Verhaltensweisen Fahren mit oder unter einer Maximalgeschwindigkeit, Beschleunigung unter einer Maximalbeschleunigung, Anhalten an Stoppschildern, Ratenänderung der Fahrzeugbewegung liegen in einem vorbestimmten Bereich usw. umfassen. Eine notwendige Bedingung für das erste Fahrzeug 12 zur Implementierung von iMPC ist, dass alle zweiten Fahrzeuge 18 in dem vorbestimmten Fahrbereich innerhalb des vorbestimmten Bereichs von Verhaltensweisen betrieben werden. Falls der Computer 20 bestimmt, dass jedes der nichtautonomen zweiten Fahrzeuge 18 innerhalb des vorbestimmten Bereichs von Verhaltensweisen betrieben wird, wird der Prozess 500 in einem Block 540 fortgesetzt.
-
Falls der Computer 20 bestimmt, dass ein oder mehrere der zweiten Fahrzeuge 18 außerhalb des vorbestimmten Bereichs betrieben werden, endet der Prozess 500. Der Computer 20 des Fahrzeugs 12 kann autonomen Betrieb auf der Basis eines Nicht-iMPC-Steueralgorithmus wiederaufnehmen oder fortsetzen, oder kann weiter oder wieder durch einen Fahrer (manuelle Steuerung) gesteuert werden.
-
In Block 540 sammelt der Computer 20 Modelle, Regeln, Ziele (Kostenfunktionen), Steuermethodologien, Daten usw. eines oder mehrerer zweiter Fahrzeuge 18, die autonom betrieben werden. Der Prozess 500 wird in einem Block 545 fortgesetzt.
-
In Block 545 sammelt der Computer 20 Betriebszustandsdaten für das erste Fahrzeug 12. Zum Beispiel kann der Computer 20 Daten in Bezug auf Fahrzeuggeschwindigkeit, Fahrzeugfahrtrichtung, Fahrzeugbeschleunigung und Fahrzeugposition sammeln. Ferner kann der Computer 20 Daten in Bezug auf den Betriebszustand von Komponenten des Fahrzeugs 12 sammeln, wie etwa Motordrehzahl, Getriebeverhältnis, Bremsflüssigkeitsdruck, Kühlmitteltemperatur usw. Die Daten können von kommunikativ mit dem Computer 20 gekoppelten Sensoren 22 gesammelt werden und können ferner von Datenquellen 16 gesammelt werden. Wenn der Computer 20 die Betriebszustandsdaten für das erste Fahrzeug 12 gesammelt hat, wird der Prozess 500 in einem Block 550 fortgesetzt.
-
In Block 550 leitet der Computer 20 iMPC für das erste Fahrzeug 12 ein oder setzt sie fort.
-
Falls sich keine Fußgänger oder zweite Fahrzeuge 18 in dem vorbestimmten Fahrbereich befinden, kann der Computer 20 iMPC implementieren, um Betriebsvariablen für das erste Fahrzeug 12 auf der Basis der in Block 510 empfangenen Ziele für das erste Fahrzeug 12 und in Block 515 empfangenen Daten in Bezug auf die Umgebung und in Block 545 gesammelten Daten in Bezug auf Betriebszustand des ersten Fahrzeugs zu erzeugen.
-
Falls sich zweite Fahrzeuge 18 in dem vorbestimmten Bereich befinden, berücksichtigt der Computer 20 auch den Betrieb der zweiten Fahrzeuge 18. Falls eines oder mehrere der zweiten Fahrzeuge 18 autonom betrieben werden, bestimmt der Computer 20 auf der Basis der von dem zweiten Fahrzeug 18 empfangenen Modelle, Regeln, Ziele usw. das vorhergesagte zukünftige Verhalten des zweiten Fahrzeugs 18. Für zweite Fahrzeuge 18, die nicht autonom betrieben werden, nimmt der Computer 20 an, dass jedes der zweiten Fahrzeuge 18, das nicht autonom betrieben wird, weiterhin innerhalb des vorbestimmten Bereichs von Verhaltensweisen betrieben wird, der für das bestimmte zweite Fahrzeug 18 identifiziert wurde. In diesem Fall bezieht der Computer 20 die in den Blöcken 535 und 540 gesammelten Daten des zweiten Fahrzeugs 18 beim Erzeugen der Betriebsvariablen des ersten Fahrzeugs 12 mit ein.
-
Auf das Erzeugen der Betriebsvariablen des ersten Fahrzeugs 12 hin kann der Computer 20 Anweisungen, darunter die Betriebsvariablen, zu der einen oder den mehreren Steuerungen 26 in dem ersten Fahrzeug 12 senden. Die Steuerungen 26 können auf der Basis der Betriebsvariablen Aktoren dergestalt steuern, dass z. B. Antrieb, ein Lenkwinkel, ein Bremsen, eine Aufhängung usw. des ersten Fahrzeugs 12 gesteuert werden.
-
Der Computer 20 implementiert wie oben beschrieben während einer ersten Iteration die Anweisungen für einen ersten Zeitschlitz des vorbestimmten Zeitraums. Für folgende Iterationen implementiert der Computer 20 aktualisierte Anweisungen für den Zeitschlitz, der dem vorherigen Zeitschlitz unmittelbar folgt, für den Anweisungen implementiert wurden. Der Prozess wird in einem Block 555 fortgesetzt.
-
In Block 555 bestimmt der Computer 20, ob die Fahrt vorüber ist. Zum Beispiel kann der Computer 20 Daten empfangen, die angeben, dass das Fahrzeug 20 am Ziel angekommen ist. Als ein anderes Beispiel kann der Computer 20 detektieren, dass das erste Fahrzeug 12 geparkt und ausgeschaltet wurde. Falls der Computer 20 bestimmt, dass die Fahrt vorüber ist, endet der Prozess 500.
-
SCHLUSSBEMERKUNGEN
-
Datenverarbeitungsvorrichtungen wie die hier besprochenen, die in verschiedenen Echtzeit- oder eingebetteten Umgebungen (RT-Linux, VxWorks, RTX, TI-RTOS, usw.) und verschiedenen Kommunikationsprotokollen (CAN, FelxRay, LCM UDP, usw.) betrieben werden können, umfassen jeweils allgemein Anweisungen, die durch eine oder mehrere Datenverarbeitungsvorrichtungen wie die oben identifizierten ausführbar sind, und zum Ausführen von Blöcken oder Schritten von Prozessen, die oben beschrieben werden. Zum Beispiel können oben besprochene Prozessblöcke als computerausführbare Anweisungen realisiert werden.
-
Computerausführbare Anweisungen können aus Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung vielfältiger Programmiersprachen und/oder – technologien erstellt werden, darunter, aber ohne Beschränkung und entweder alleine oder in Kombination, JavaTM, C, C++, Visual Basic, Java Script, Python, Perl, HTML usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen z. B. aus einem Speicher, einem computerlesbaren Medium usw. und führt diese Anweisungen aus, um dadurch einen oder mehrere Prozesse, einschließlich eines oder mehrerer der hier beschriebenen Prozesse, auszuführen. Solche Anweisungen und anderen Daten können unter Verwendung vielfältiger computerlesbarer Medien gespeichert und übertragen werden. Eine Datei in einer Datenverarbeitungsvorrichtung ist im Allgemeinen eine Ansammlung von auf einem computerlesbaren Medium, wie etwa einem Speicherungsmedium, einem Direktzugriffsspeicher usw., gespeicherten Daten.
-
Ein computerlesbares Medium weist ein beliebiges Medium, das an einer Bereitstellung von Daten (zum Beispiel Anweisungen) beteiligt ist, die von einem Computer gelesen werden können, auf. Ein derartiges Medium kann viele Formen annehmen, darunter unter anderem, aber ohne Beschränkung, nichtflüchtige Medien, flüchtige Medien usw.. Nichtflüchtige Medien können zum Beispiel optische oder magnetische Datenträger und andere persistente Speicher aufweisen. Flüchtige Medien können zum Beispiel dynamische Direktzugriffsspeicher (DRAM), die in der Regel einen Hauptspeicher bilden, aufweisen. Übliche Formen von computerlesbaren Medien beinhalten zum Beispiel eine Floppy-Disk, eine Diskette, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Papierband, 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, woraus ein Computer lesen kann.
-
Alle in den Ansprüchen verwendeten Ausdrücke sollen ihre einfachen und gewöhnlichen Bedeutungen erhalten, sowie sie von Fachleuten verstanden werden, wenn nicht hier ausdrücklich Gegenteiliges erwähnt wird. Insbesondere sollte die Verwendung von Singularartikeln wie „ein”, „das”, „besagtes” usw. so aufgefasst werden, dass sie eines oder mehrere der angegebenen Elemente anführt, wenn nicht ein Anspruch eine explizite gegenteilige Beschränkung angibt.
-
Der Ausdruck „beispielhaft” wird hier im Sinne von ein Beispiel bedeutend verwendet, z. B. sollte eine Erwähnung eines „beispielhaften Widget” als sich einfach auf ein Beispiel für ein Widget beziehend gelesen werden.
-
Das Adverb „ungefähr”, das einen Wert oder ein Ergebnis modifiziert, bedeutet, dass eine Form, eine Struktur, eine Messung, ein Wert, eine Bestimmung, eine Berechnung usw. aufgrund von Unzulänglichkeiten in Materialien, Maschinenbearbeitung, Herstellung, Sensormessungen, Berechnungen, Verarbeitungszeit, Kommunikationszeit usw. von einer genauen beschriebenen Geometrie, einer genauen beschriebenen Distanz, einer genauen beschriebenen Messung, einem genauen beschriebenen Wert, einer genauen beschriebenen Bestimmung, einer genauen beschriebenen Berechnung usw. abweichen kann.
-
In den Zeichnungen geben dieselben Bezugszahlen dieselben Elemente an. Ferner könnten einige oder alle dieser Elemente geändert werden. In Bezug auf die hier beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht sich, dass, obwohl die Schritte solcher Prozesse usw. als gemäß einer bestimmten geordneten Sequenz auftretend beschrieben wurden, solche Prozesse mit in einer anderen als der hier beschriebenen Reihenfolge ausgeführten beschriebenen Schritten ausgeübt werden könnten. Ferner versteht sich, dass bestimmte Schritte gleichzeitig ausgeführt werden könnten, dass andere Schritte hinzugefügt werden könnten oder dass bestimmte hier beschriebene Schritte weggelassen werden könnten. Anders ausgedrückt, werden die Beschreibungen von Prozessen hier zum Zwecke der Veranschaulichung bestimmter Ausführungsformen angegeben und sollten auf keinerlei Weise als Beschränkung der beanspruchten Erfindung aufgefasst werden.