-
EINLEITUNG
-
Die vorliegende Offenbarung bezieht sich im Allgemeinen auf Fahrzeuge mit Differentialbremsung für die seitliche Stabilitätskontrolle und im Besonderen auf Verfahren und Systeme zur Bestimmung von Differentialbremsaktuatorbefehlen in einem autonomen Fahrzeug.
-
Elektronische Stabilitätskontrollsysteme (ESC) sind eine leistungsstarke Sicherheitsergänzung für moderne Fahrzeuge. ESC-Systeme helfen dem Fahrer, die Kontrolle über das Fahrzeug unter schwierigen Straßenbedingungen, bei schwierigen Manövern und bei unterschiedlichen Reaktionen oder Fähigkeiten des Fahrers zu behalten. ESC-Systeme sind eine computerbasierte Technologie, die ein seitliches Schleudern des Fahrzeugs erkennt und reduziert. Ein ESC-System erkennt den Verlust der Fahrzeuglenkung und bremst daraufhin jedes Rad einzeln ab, um das Fahrzeug in Übereinstimmung mit den Lenkradeingaben des Fahrers zu lenken. Genauer gesagt arbeiten elektronische Stabilitätskontrollsysteme (ESC), indem sie die Radbremsen einzeln betätigen, um ein Giermoment auf das Fahrzeug auszuüben, um die Stabilität und das Fahrverhalten zu verbessern. Damit das ESC-System dies bewerkstelligen kann, analysiert das ESC-System anhand von Bewegungssensoren, was das Fahrzeug tatsächlich tut und was das Fahrzeug unter idealen Umständen anhand der Lenkeingabe tun „sollte“.
-
Einige ESC-Instrumente umfassen einen Lenkradpositionssensor, einen Querbeschleunigungsmesser, Raddrehzahlsensoren, einen Gierratensensor, Sensoren für Brems- und Drosseleingänge und einen Aktivierungs-/Deaktivierungsschalter. Die Ansteuerung wird von einer elektronischen Steuereinheit (ECU) und einer hydraulischen Steuereinheit (HCU) gesteuert. Das ESC-System kann sowohl den Radbremsdruck als auch die Drosselklappe des Motors betätigen, um die Dynamik des Fahrzeugs zu beeinflussen. Einige ESC-Systeme vergleichen die beabsichtigten Aktionen des Fahrers beim Lenken, Bremsen und/oder anderen Aktionen mit der Reaktion des Fahrzeugs. Solche Vergleiche können Variablen wie Lenkwinkel, Gierraten, Querbeschleunigungsraten und/oder verschiedene andere Variablen verwenden. Das ESC-System des Fahrzeugs kann dann die Bremsen betätigen, überschüssige Motorleistung reduzieren und/oder andere korrigierende Maßnahmen ergreifen.
-
Einige Entwürfe für autonome Fahrzeuge (AV) schlagen die Beibehaltung eines bestehenden ESC-Systems als separates Modul von einem AV-Bewegungssteuerungsmodul vor. Das bedeutet, dass das ESC-System als Eingänge die vom AV-Bewegungssteuerungsmodul ausgegebenen Lenkbefehle und die von einem Erfassungssystem erfassten Fahrzeugbewegungsdaten hat, so dass eine wesentliche Änderung des ESC-Systems gegenüber herkömmlichen, auf dem menschlichen Fahrer basierenden ESC-Systemen nicht erforderlich ist.
-
Dementsprechend ist es wünschenswert, Techniken zur Stabilisierung eines autonomen Fahrzeugs auf einer gewünschten Trajektorie bereitzustellen und vorhersagbare Fahrzeugbewegungsinformationen zu nutzen, um eine verbesserte seitliche Fahrzeugstabilisierung bereitzustellen. Es ist auch wünschenswert, Verfahren, Systeme und Fahrzeuge bereitzustellen, die solche Techniken in einer verarbeitungseffizienten Weise nutzen. Darüber hinaus werden andere wünschenswerte Merkmale und Eigenschaften der vorliegenden Erfindung aus der nachfolgenden detaillierten Beschreibung und den beigefügten Ansprüchen, in Verbindung mit den begleitenden Zeichnungen und dem vorstehenden technischen Gebiet und Hintergrund genommen offensichtlich sein.
-
BESCHREIBUNG
-
In einem Aspekt wird ein Fahrzeugsteuerungssystem für ein Fahrzeug bereitgestellt. Das Fahrzeug umfasst Vorder- und Hinterräder und Bremsen für jedes Rad. Ein Prozessor ist in betriebsfähiger Kommunikation mit einem Aktuatorsystem des Fahrzeugs. Das Aktuatorsystem umfasst Lenk-, Antriebs- und Bremssysteme. Der Prozessor führt Programmanweisungen aus. Die Programmanweisungen veranlassen den Prozessor, geplante Trajektoriendaten für das Fahrzeug von einem Trajektorienplanungsmodul zu empfangen. Die geplanten Trajektoriendaten enthalten geplante Fahrzeugpositionsdaten und geplante Fahrzeugkursdaten zu diskreten zukünftigen Zeitpunkten. Aktuelle Fahrzeugpositionsdaten und aktuelle Fahrzeugkursdaten werden von einem Erfassungssystem empfangen. Aktuatorbefehlsdaten werden basierend auf einer Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion bestimmt. Die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion hat die geplanten Trajektoriendaten, die aktuellen Fahrzeugpositionsdaten und die aktuellen Fahrzeugkursdaten als Eingaben, hat die Aktuatorbefehlsdaten als Ausgabe und verwendet ein Modell zur Vorhersage der Fahrzeugbewegung einschließlich der Vorhersage der Fahrzeugkursdaten und der Vorhersage der Fahrzeugpositionsdaten. Die Aktuatorbefehlsdaten enthalten Lenk- und Antriebsbefehle. Die Aktuatorbefehlsdaten enthalten zusätzlich Differentialbremsbefehle für jede Bremse des Fahrzeugs, um jede Differenz zwischen dem geplanten Fahrzeugkurs und den aktuellen Fahrzeugkursdaten und/oder den vorhergesagten Fahrzeugkursdaten zu korrigieren. Die Aktuatorbefehlsdaten werden an das Aktuatorsystem ausgegeben.
-
In Ausführungsformen umfasst die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion einen Kursbegriff, der eine Differenz zwischen den geplanten Fahrzeugkursdaten und den aktuellen Fahrzeugkursdaten und/oder den vorhergesagten Fahrzeugkursdaten darstellt, und einen Trajektorienbegriff, der eine Differenz zwischen den geplanten Fahrzeugpositionsdaten und den aktuellen Fahrzeugpositionsdaten und/oder den vorhergesagten Fahrzeugpositionsdaten darstellt.
-
In Ausführungsformen basiert die Bestimmung der Aktuatorbefehlsdaten auf der Fahrzeugstabilitäts- und -bewegungssteuerungsfunktion und beinhaltet die Minimierung der Fahrzeugstabilitäts- und -bewegungssteuerungsfunktion einschließlich der Kurs- und Traj ektorienterme.
-
In Ausführungsformen ist die Funktion zur Stabilitäts- und Bewegungssteuerung des Fahrzeugs Teil eines MPC-Algorithmus (Model Predictive Control).
-
In Ausführungsformen aggregiert die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion über eine endliche Anzahl von Zeititerationen den Kurs-Term und den Trajectory-Term. Eine erste zeitliche Iteration des Kursterms wird auf der Grundlage einer Differenz zwischen den geplanten Fahrzeugkursdaten und den aktuellen Fahrzeugkursdaten bestimmt. Eine erste zeitliche Iteration des Trajektorienterms wird auf der Grundlage einer Differenz zwischen den geplanten Fahrzeugpositionsdaten und den aktuellen Fahrzeugpositionsdaten bestimmt. Zukünftige zeitliche Iterationen der Kursterme werden auf der Grundlage eines Differentials zwischen geplanten Fahrzeugkursdaten und vorhergesagten Fahrzeugkursdaten bestimmt. Zukünftige Zeititerationen der Trajektorienterme werden basierend auf einer Differenz zwischen den geplanten Fahrzeugpositionsdaten und den vorhergesagten Fahrzeugpositionsdaten bestimmt;
-
In Ausführungsformen verwendet das Modell, das die Fahrzeugbewegung vorhersagt, als Eingabe in das Modell Aktuatorbefehlsdaten, die von einer vorherigen Zeititeration ausgegeben wurden, um die Fahrzeugposition und den Fahrzeugkurs vorherzusagen.
-
In Ausführungsformen enthält die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion einen Term für die Änderungsrate der Aktuatorbefehle, der eine Änderungsrate der Aktuatorbefehlsdaten darstellt.
-
In Ausführungsformen enthält die Funktion zur Stabilitäts- und Bewegungssteuerung des Fahrzeugs einen Term für den Fahrgastkomfort, der eine Umkehrung des Fahrgastkomforts darstellt.
-
In Ausführungsformen enthält die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion einen Gierraten-Term, der eine Differenz zwischen einer geplanten Gierrate und mindestens einer von einer aktuellen Gierrate und einer vorhergesagten Gierrate darstellt.
-
In Ausführungsformen enthält die Funktion zur Stabilitäts- und Bewegungssteuerung des Fahrzeugs einen Term für die laterale Geschwindigkeit und einen Term für die laterale Beschleunigung. Der Term der Quergeschwindigkeit stellt eine Differenz zwischen einer geplanten Quergeschwindigkeit und einer aktuellen Quergeschwindigkeit und/oder einer vorhergesagten Quergeschwindigkeit dar. Der Querbeschleunigungsterm stellt eine Differenz zwischen einer geplanten Querbeschleunigung und einer aktuellen Querbeschleunigung und/oder einer vorhergesagten Querbeschleunigung dar.
-
In Ausführungsformen wird die Bestimmung der Aktuatorbefehlsdaten durch Lösen der Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion mit Hilfe quadratischer Programmierung durchgeführt.
-
In einem anderen Aspekt wird ein Verfahren zur Steuerung eines Fahrzeugs bereitgestellt. Das Fahrzeug umfasst Vorder- und Hinterräder und Bremsen für jedes Rad. Das Verfahren wird von einem Prozessor ausgeführt und umfasst die folgenden Schritte. Geplante Trajektoriendaten für das Fahrzeug werden von einem Trajektorienplanungsmodul empfangen. Die geplanten Trajektoriendaten enthalten geplante Fahrzeugpositionsdaten und geplante Fahrzeugkursdaten zu diskreten zukünftigen Zeitpunkten. Aktuelle Fahrzeugpositionsdaten und aktuelle Fahrzeugkursdaten werden von einem Erfassungssystem des Fahrzeugs empfangen.
-
Aktuatorbefehlsdaten werden basierend auf einer Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion bestimmt. Die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion hat die geplanten Trajektoriendaten, die aktuellen Fahrzeugpositionsdaten und die aktuellen Fahrzeugkursdaten als Eingaben, hat die Aktuatorbefehlsdaten als Ausgabe und verwendet ein Modell zur Vorhersage der Fahrzeugbewegung einschließlich der Vorhersage der Fahrzeugkursdaten und der Vorhersage der Fahrzeugpositionsdaten. Die Aktuatorbefehlsdaten enthalten Lenk- und Antriebsbefehle und zusätzlich Differentialbremsbefehle für jede Bremse des Fahrzeugs, um jede Differenz zwischen den geplanten Fahrzeugkursdaten und den aktuellen Fahrzeugkursdaten und/oder den vorhergesagten Fahrzeugkursdaten zu korrigieren. Die Aktuatorbefehlsdaten werden an das Aktuatorsystem ausgegeben.
-
In Ausführungsformen umfasst die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion einen Kursbegriff, der eine Differenz zwischen den geplanten Fahrzeugkursdaten und den aktuellen Fahrzeugkursdaten und/oder den vorhergesagten Fahrzeugkursdaten darstellt, und einen Trajektorienbegriff, der eine Differenz zwischen den geplanten Fahrzeugpositionsdaten und den aktuellen Fahrzeugpositionsdaten und/oder den vorhergesagten Fahrzeugpositionsdaten darstellt.
-
In Ausführungsformen beinhaltet die Bestimmung der Aktuatorbefehlsdaten auf der Grundlage der Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion die Minimierung der Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion einschließlich der Kurs- und Trajektorienterme.
-
In Ausführungsformen ist die Funktion zur Stabilitäts- und Bewegungssteuerung des Fahrzeugs Teil eines Algorithmus zur modellprädiktiven Steuerung (MPC).
-
In Ausführungsformen aggregiert die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion über eine endliche Anzahl von Zeititerationen den Kurs-Term und den Trajectory-Term. Eine erste zeitliche Iteration des Kursterms wird auf der Grundlage einer Differenz zwischen den geplanten Fahrzeugkursdaten und den aktuellen Fahrzeugkursdaten bestimmt. Eine erste zeitliche Iteration des Trajektorienterms wird auf der Grundlage einer Differenz zwischen den geplanten Fahrzeugpositionsdaten und den aktuellen Fahrzeugpositionsdaten bestimmt. Zukünftige zeitliche Iterationen der Kursterme werden auf der Grundlage eines Differentials zwischen geplanten Fahrzeugkursdaten und vorhergesagten Fahrzeugkursdaten bestimmt. Zukünftige Zeititerationen der Trajektorienterme werden auf der Grundlage eines Differentials zwischen geplanten Fahrzeugpositionsdaten und vorhergesagten Fahrzeugpositionsdaten bestimmt. Das Modell, das die Fahrzeugbewegung vorhersagt, verwendet als Eingabe für das Modell Aktuatorbefehlsdaten, die von einer vorherigen Zeititeration ausgegeben wurden, um die Fahrzeugposition und den Fahrzeugkurs vorherzusagen.
-
Die Funktion zur Stabilitäts- und Bewegungssteuerung des Fahrzeugs enthält einen Term für die Änderungsrate der Aktuatorbefehle, der eine Änderungsrate der Aktuatorbefehlsdaten darstellt.
-
In Ausführungsformen enthält die Funktion zur Stabilitäts- und Bewegungssteuerung des Fahrzeugs einen Term für den Fahrgastkomfort, der eine Umkehrung des Fahrgastkomforts darstellt.
-
In Ausführungsformen enthält die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion einen Gierraten-Term, der eine Differenz zwischen einer geplanten Gierrate und einer aktuellen Gierrate und/oder einer vorhergesagten Gierrate darstellt.
-
In Ausführungsformen enthält die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion einen Term für die laterale Geschwindigkeit und/oder einen Term für die laterale Beschleunigung. Der Term der Quergeschwindigkeit stellt eine Differenz zwischen einer geplanten Quergeschwindigkeit und einer aktuellen Quergeschwindigkeit und/oder einer vorhergesagten Quergeschwindigkeit dar. Der Querbeschleunigungsterm stellt eine Differenz zwischen einer geplanten Querbeschleunigung und einer aktuellen Querbeschleunigung und/oder einer vorhergesagten Querbeschleunigung dar.
-
In einem anderen Aspekt wird ein Fahrzeug bereitgestellt. Das Fahrzeug umfasst Vorderräder, Hinterräder, Bremsen für jedes Rad, ein Aktuatorsystem, das Lenk-, Antriebs- und Bremssysteme umfasst, und ein Erfassungssystem. Ein Prozessor steht in betriebsfähiger Kommunikation mit dem Aktuatorsystem und dem Erfassungssystem. Der Prozessor führt Programmanweisungen aus. Die Programmanweisungen veranlassen den Prozessor, geplante Trajektoriendaten für das Fahrzeug von einem Trajektorienplanungsmodul zu empfangen. Die geplanten Trajektoriendaten umfassen geplante Fahrzeugpositionsdaten und geplante Fahrzeugkursdaten zu diskreten zukünftigen Zeitpunkten. Aktuelle Fahrzeugpositionsdaten und aktuelle Fahrzeugkursdaten werden vom Erfassungssystem empfangen. Aktuatorbefehlsdaten werden basierend auf einer Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion bestimmt. Die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion hat die geplanten Trajektoriendaten, die aktuellen Fahrzeugpositionsdaten und die aktuellen Fahrzeugkursdaten als Eingaben, hat die Aktuatorbefehlsdaten als Ausgabe und verwendet ein Modell zur Vorhersage der Fahrzeugbewegung einschließlich der Vorhersage der Fahrzeugkursdaten und der Vorhersage der Fahrzeugpositionsdaten. Die Aktuatorbefehlsdaten enthalten Lenk- und Antriebsbefehle und Differenzialbremsbefehle für jede Bremse des Fahrzeugs, um jede Differenz zwischen dem geplanten Fahrzeugkurs und den aktuellen Fahrzeugkursdaten und/oder den vorhergesagten Fahrzeugkursdaten zu korrigieren. Die Aktuatorbefehlsdaten werden an das Aktuatorsystem ausgegeben.
-
Figurenliste
-
Die beispielhaften Ausführungsformen werden im Folgenden in Verbindung mit den folgenden Zeichnungsfiguren beschrieben, wobei gleiche Ziffern gleiche Elemente bezeichnen, und wobei:
- 1 ist ein funktionales Blockdiagramm, das ein autonomes Fahrzeug mit einem Fahrzeugstabilitäts- und Bewegungssteuerungsmodul gemäß verschiedenen Ausführungsformen zeigt;
- 2 ist ein Datenflussdiagramm, das ein autonomes Fahrsystem veranschaulicht, das das Fahrzeugstabilitäts- und Bewegungssteuerungsmodul in Übereinstimmung mit verschiedenen Ausführungsformen enthält;
- 3 ist ein Diagramm eines Fahrzeugsteuerungssystems einschließlich des Fahrzeugstabilitäts- und Bewegungssteuerungsmoduls gemäß verschiedenen Ausführungsformen;
- 4 ist eine schematische Darstellung einer geplanten Trajektorie von einem Trajektorienplanungsmodul des Fahrzeugsteuerungssystems, in Übereinstimmung mit einer beispielhaften Ausführungsform;
- 5 ist ein Flussdiagramm, das ein Fahrzeugsteuerungsverfahren zur Steuerung des autonomen Fahrzeugs in Übereinstimmung mit verschiedenen Ausführungsformen darstellt.
-
DETAILLIERTE BESCHREIBUNG
-
Die folgende detaillierte Beschreibung hat lediglich beispielhaften Charakter und soll die Anwendung und Verwendungen nicht einschränken. Darüber hinaus besteht keine Absicht, an irgendwelche ausdrücklichen oder impliziten Theorien gebunden zu sein, die in dem vorangehenden technischen Gebiet, dem Hintergrund, der kurzen Zusammenfassung oder der folgenden detaillierten Beschreibung dargestellt sind. Wie hierin verwendet, bezieht sich der Begriff Modul auf eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung, einen Prozessor (gemeinsam, dediziert oder als Gruppe) und einen Speicher, der ein oder mehrere Software- oder Firmware-Programme ausführt, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten, die die beschriebene Funktionalität bieten.
-
Ausführungsformen der vorliegenden Offenlegung können hier in Form von funktionalen und/oder logischen Blockkomponenten und verschiedenen Verarbeitungsschritten beschrieben werden. Es ist zu beachten, dass solche Blockkomponenten durch eine beliebige Anzahl von Hardware-, Software- und/oder Firmware-Komponenten realisiert werden können, die so konfiguriert sind, dass sie die angegebenen Funktionen ausführen. Zum Beispiel kann eine Ausführungsform der vorliegenden Offenbarung verschiedene integrierte Schaltungskomponenten verwenden, z. B. Speicherelemente, digitale Signalverarbeitungselemente, Logikelemente, Nachschlagetabellen oder ähnliches, die eine Vielzahl von Funktionen unter der Steuerung eines oder mehrerer Mikroprozessoren oder anderer Steuergeräte ausführen können. Darüber hinaus wird der Fachmann verstehen, dass Ausführungsformen der vorliegenden Offenbarung in Verbindung mit einer beliebigen Anzahl von Systemen praktiziert werden können, und dass die hier beschriebenen Systeme lediglich beispielhafte Ausführungsformen der vorliegenden Offenbarung sind.
-
Der Kürze halber werden konventionelle Techniken in Bezug auf Signalverarbeitung, Datenübertragung, Signalisierung, Steuerung und andere funktionale Aspekte der Systeme (und der einzelnen Betriebskomponenten der Systeme) hier nicht im Detail beschrieben. Darüber hinaus sollen die in den verschiedenen hier enthaltenen Abbildungen dargestellten Verbindungslinien beispielhafte funktionale Beziehungen und/oder physikalische Kopplungen zwischen den verschiedenen Elementen darstellen. Es ist zu beachten, dass viele alternative oder zusätzliche funktionale Beziehungen oder physikalische Verbindungen in einer Ausführungsform der vorliegenden Offenlegung vorhanden sein können.
-
Mit Bezug auf 1 ist ein Fahrzeugsteuerungssystem, das allgemein mit 10 dargestellt ist, mit einem Fahrzeug 1010 in Übereinstimmung mit verschiedenen Ausführungsformen verbunden. Im Allgemeinen kombiniert das Fahrzeugsteuerungssystem 10 einen ESC mit einem AV-Bewegungsregler in einem Controller/einem Gehirn, um die Stabilität zu erhöhen und die Kosten zu reduzieren. Eine solche flache Steuerungsarchitektur gewährleistet eine optimale Koordination aller Aktuatoren in einer einzigen Steuerungslösung und stabilisiert das Fahrzeug auf einem gewünschten Weg durch optimale Ausnutzung der verfügbaren Ressourcen (einschließlich Reifenkräfte, Lenkung, Motordrehmoment, Bremsen usw.). In Ausführungsformen verwendet das Fahrzeugsteuerungssystem 10 beim autonomen Fahren eine Model Predictive Control (MPC)-Architektur, die zukünftige virtuelle Fahrerbefehle mit einbezieht. Zukünftige Fahrerbefehle sind vorhersehbar, da sie Teil der MPC-Problemformulierung sind, was im Gegensatz zu unvorhersehbaren zukünftigen menschlichen Lenkbefehlen steht. Dadurch kann die Querstabilität mit größerer Effizienz und Sanftheit erreicht werden. In den hier beschriebenen Ausführungsformen sind die gewünschte Gierrate und die gewünschte Geschwindigkeit in Form einer von einem Routenplanungsmodul ermittelten Trajektorie vor dem Fahrzeug bekannt. In einigen Ausführungsformen ist ein kontrolliertes Schleudern bei extremen Manövern möglich, was dadurch erleichtert wird, dass das Fahrzeugsteuerungssystem 10 im Gegensatz zu herkömmlichen ESC-Systemen über alle erforderlichen Informationen über die Trajektorie und den Fahrzeugzustand verfügt. Das Fahrzeugsteuersystem 10 beinhaltet eine Multi-Input-Multi-Output (MIMO)-Regelung (z. B. ein MPC) für die integrierte Fahrzeugbewegung und ESC-Regelung. Ein Vorteil der Verwendung des MPC-Frameworks ist, dass optimale und sichere Manöver gewährleistet werden, zumindest teilweise aufgrund der Fähigkeit von MPC, einen gegebenen Leistungsindex (z. B. Fahrgastkomfort) in Echtzeit unter Berücksichtigung von Einschränkungen (insbesondere Hindernisvermeidung und Stabilitätseinschränkungen) zu optimieren. Darüber hinaus kann die Kombination von Bewegungs- und Stabilitätssteuerung in einem Controller Kosten sparen, da weniger zusätzliche elektronische Steuergeräte (ECUs) benötigt werden.
-
Wie in 1 dargestellt, umfasst das Fahrzeug 1010 im Allgemeinen ein Fahrgestell 1012, einen Aufbau 1014, Vorderräder 1016 und Hinterräder 1018. Die Karosserie 1014 ist auf dem Fahrgestell 1012 angeordnet und umschließt im Wesentlichen Komponenten des Fahrzeugs 1010. Die Karosserie 1014 und das Fahrgestell 1012 können gemeinsam einen Rahmen bilden. Die Räder 1016-1018 sind jeweils in der Nähe einer Ecke der Karosserie 1014 drehbar mit dem Chassis 1012 gekoppelt.
-
In verschiedenen Ausführungsformen ist das Fahrzeug 1010 ein autonomes Fahrzeug und das Fahrzeugsteuerungssystem 10 ist in das autonome Fahrzeug 1010 eingebaut (im Folgenden als autonomes Fahrzeug 1010 bezeichnet). Das autonome Fahrzeug 1010 ist z. B. ein Fahrzeug, das automatisch gesteuert wird, um Fahrgäste von einem Ort zu einem anderen zu befördern. Das Fahrzeug 1010 ist in der dargestellten Ausführungsform als PKW dargestellt, aber es sollte verstanden werden, dass auch jedes andere Fahrzeug, einschließlich LKWs, Sport Utility Vehicles (SUVs), Freizeitfahrzeuge (RVs) usw., verwendet werden kann. In einer beispielhaften Ausführungsform ist das autonome Fahrzeug 1010 ein sogenanntes Level-3-, Level-4- oder Level-5-Automatisierungssystem. Level-3-Automatisierung bedeutet, dass das Fahrzeug unter bestimmten Umständen alle Fahrfunktionen übernehmen kann. Alle wichtigen Funktionen sind automatisiert, einschließlich Bremsen, Lenken und Beschleunigen. Auf dieser Stufe kann der Fahrer vollständig abschalten, bis das Fahrzeug dem Fahrer etwas anderes sagt. Ein System der Stufe 4 zeigt „hohe Automatisierung“ an und bezieht sich auf die fahrmodusabhängige Ausführung aller Aspekte der dynamischen Fahraufgabe durch ein automatisiertes Fahrsystem, selbst wenn ein menschlicher Fahrer nicht angemessen auf eine Aufforderung zum Eingreifen reagiert. Ein System der Stufe 5 bedeutet „Vollautomatisierung“ und bezieht sich auf die vollständige Ausführung aller Aspekte der dynamischen Fahraufgabe durch ein automatisiertes Fahrsystem unter allen Fahrbahn- und Umgebungsbedingungen, die von einem menschlichen Fahrer bewältigt werden können.
-
Wie gezeigt, umfasst das autonome Fahrzeug 1010 im Allgemeinen ein Antriebssystem 1020, ein Getriebesystem 1022, ein Lenksystem 1024, ein Bremssystem 1026, ein Sensorsystem 1028, ein Aktuatorsystem 1030, mindestens eine Datenspeichereinrichtung 1032, mindestens einen Controller 1034 und ein Kommunikationssystem 1036. Das Antriebssystem 1020 kann in verschiedenen Ausführungsformen einen Verbrennungsmotor, eine elektrische Maschine, wie z. B. einen Fahrmotor, und/oder ein Brennstoffzellen-Antriebssystem umfassen. Das Getriebesystem 1022 ist so konfiguriert, dass es Leistung vom Antriebssystem 1020 zu den Fahrzeugrädern 1016-1018 gemäß wählbaren Drehzahlverhältnissen überträgt. Gemäß verschiedenen Ausführungsformen kann das Getriebesystem 1022 ein stufenloses Automatikgetriebe, ein stufenloses Getriebe oder ein anderes geeignetes Getriebe umfassen. Das Bremssystem 1026 ist so konfiguriert, dass es ein Bremsmoment für die Fahrzeugräder 1016-1018 bereitstellt. Das Bremssystem 1026 kann in verschiedenen Ausführungsformen Reibungsbremsen, Brake by Wire, ein regeneratives Bremssystem wie eine elektrische Maschine und/oder andere geeignete Bremssysteme umfassen. Das Lenksystem 1024 beeinflusst eine Position der Fahrzeugräder 1016-1018. Während zur Veranschaulichung dargestellt ist, dass es ein Lenkrad enthält, kann das Lenksystem 1024 in einigen Ausführungsformen, die im Rahmen der vorliegenden Offenbarung in Betracht gezogen werden, kein Lenkrad enthalten.
-
Das Erfassungssystem 1028 umfasst eine oder mehrere Erfassungsvorrichtungen 1040a-40n, die beobachtbare Bedingungen der äußeren Umgebung und/oder der inneren Umgebung des autonomen Fahrzeugs 1010 erfassen. Die Erfassungsvorrichtungen 1040a-40n können Radare, Lidare, globale Positionierungssysteme, optische Kameras, Wärmekameras, Ultraschallsensoren und/oder andere Sensoren umfassen, sind aber nicht darauf beschränkt. Das Aktuatorsystem 1030 umfasst eine oder mehrere Aktuatorvorrichtungen 42a-42n, die eine oder mehrere Fahrzeugfunktionen steuern, wie z. B. das Antriebssystem 1020, das Getriebesystem 1022, das Lenksystem 1024 und das Bremssystem 1026, aber nicht darauf beschränkt. In verschiedenen Ausführungsformen können die Fahrzeugmerkmale außerdem innere und/oder äußere Fahrzeugmerkmale umfassen, wie z. B. Türen, einen Kofferraum und Kabinenmerkmale wie Luft, Musik, Beleuchtung usw. (nicht nummeriert).
-
Das Kommunikationssystem 1036 ist so konfiguriert, dass es drahtlos Informationen an und von anderen Einheiten 1048 übermittelt, wie z. B., aber nicht beschränkt auf, andere Fahrzeuge („V2V“-Kommunikation), Infrastruktur („V2I“-Kommunikation), entfernte Systeme und/oder persönliche Geräte. In einer beispielhaften Ausführungsform ist das Kommunikationssystem 1036 ein drahtloses Kommunikationssystem, das so konfiguriert ist, dass es über ein drahtloses lokales Netzwerk (WLAN) unter Verwendung von IEEE 802.1 1-Standards oder unter Verwendung zellularer Datenkommunikation kommuniziert. Zusätzliche oder alternative Kommunikationsmethoden, wie z. B. ein dedizierter Kurzstrecken-Kommunikationskanal (DSRC-Kanal), werden jedoch ebenfalls im Rahmen der vorliegenden Offenlegung berücksichtigt. DSRC-Kanäle beziehen sich auf ein- oder zweiseitige drahtlose Kommunikationskanäle mit kurzer bis mittlerer Reichweite, die speziell für den Einsatz im Automobilbereich entwickelt wurden, sowie auf einen entsprechenden Satz von Protokollen und Standards.
-
Die Datenspeichereinrichtung 1032 speichert Daten zur Verwendung bei der automatischen Steuerung des autonomen Fahrzeugs 1010. In verschiedenen Ausführungsformen speichert die Datenspeichervorrichtung 1032 definierte Karten der navigierbaren Umgebung. In verschiedenen Ausführungsformen können die definierten Karten durch ein entferntes System vordefiniert und von diesem bezogen werden. Zum Beispiel können die definierten Karten von dem entfernten System zusammengestellt und an das autonome Fahrzeug 1010 (drahtlos und/oder drahtgebunden) übermittelt und in der Datenspeichervorrichtung 1032 gespeichert werden. Wie zu erkennen ist, kann die Datenspeichervorrichtung 1032 Teil der Steuerung 1034, getrennt von der Steuerung 1034, oder Teil der Steuerung 1034 und Teil eines separaten Systems sein.
-
Der Controller 1034 umfasst mindestens einen Prozessor 1044 und ein computerlesbares Speichergerät oder Medium 1046. Der Prozessor 1044 kann ein beliebiger kundenspezifischer oder handelsüblicher Prozessor sein, eine Zentraleinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Hilfsprozessor unter mehreren Prozessoren, die dem Controller 1034 zugeordnet sind, ein halbleiterbasierter Mikroprozessor (in Form eines Mikrochips oder Chipsets), ein Makroprozessor, eine beliebige Kombination davon oder allgemein eine beliebige Vorrichtung zur Ausführung von Befehlen. Das computerlesbare Speichermedium oder die Speichermedien 1046 können flüchtige und nichtflüchtige Speicher umfassen, z. B. Festwertspeicher (ROM), Direktzugriffsspeicher (RAM) und Keep-Alive-Speicher (KAM). KAM ist ein dauerhafter oder nichtflüchtiger Speicher, der zum Speichern verschiedener Betriebsvariablen verwendet werden kann, während der Prozessor 1044 ausgeschaltet ist. Die computerlesbare(n) Speichervorrichtung(en) 1046 kann/können unter Verwendung einer beliebigen Anzahl bekannter Speichervorrichtungen implementiert werden, wie z. B. PROMs (programmierbarer Festwertspeicher), EPROMs (elektrisch löschbare PROMs), EEPROMs (elektrisch löschbare PROMs), Flash-Speicher oder andere elektrische, magnetische, optische oder kombinierte Speichervorrichtungen, die in der Lage sind, Daten zu speichern, von denen einige ausführbare Anweisungen darstellen, die von der Steuerung 1034 bei der Steuerung des autonomen Fahrzeugs 1010 verwendet werden.
-
Die Anweisungen können ein oder mehrere separate Programme enthalten, von denen jedes eine geordnete Auflistung von ausführbaren Anweisungen zur Implementierung logischer Funktionen umfasst. Die Anweisungen empfangen und verarbeiten, wenn sie vom Prozessor 1044 ausgeführt werden, Signale vom Erfassungssystem 1028, führen Logik, Berechnungen, Methoden und/oder Algorithmen zur automatischen Steuerung der Komponenten des autonomen Fahrzeugs 1010 durch und erzeugen Steuersignale für das Aktuatorsystem 1030, um die Komponenten des autonomen Fahrzeugs 1010 basierend auf der Logik, den Berechnungen, Methoden und/oder Algorithmen automatisch zu steuern. Obwohl in 1 nur ein Steuergerät 1034 dargestellt ist, können Ausführungsformen des autonomen Fahrzeugs 1010 eine beliebige Anzahl von Steuergeräten 1034 umfassen, die über ein beliebiges geeignetes Kommunikationsmedium oder eine Kombination von Kommunikationsmedien kommunizieren und die zusammenarbeiten, um die Sensorsignale zu verarbeiten, Logik, Berechnungen, Methoden und/oder Algorithmen durchzuführen und Steuersignale zu erzeugen, um Merkmale des autonomen Fahrzeugs 1010 automatisch zu steuern.
-
In verschiedenen Ausführungsformen sind eine oder mehrere Anweisungen des Steuergeräts 1034 im Fahrzeugsteuerungssystem 10 verkörpert und implementieren bei Ausführung durch den Prozessor 1044 Module wie in 3 beschrieben und Verfahrensschritte wie in 5 beschrieben.
-
In verschiedenen Ausführungsformen kann das in 1 beschriebene autonome Fahrzeug 1010 für den Einsatz im Rahmen eines Taxi- oder Shuttlesystems in einem bestimmten geografischen Gebiet (z. B. einer Stadt, einem Schul- oder Geschäftscampus, einem Einkaufszentrum, einem Vergnügungspark, einem Veranstaltungszentrum o. Ä.) geeignet sein oder einfach von einem entfernten System gesteuert werden. Zum Beispiel kann das autonome Fahrzeug 1010 mit einem autonomen fahrzeugbasierten Ferntransportsystem verbunden sein. Gemäß einem beispielhaften Anwendungsfall-Workflow kann ein registrierter Benutzer eine Fahranfrage über ein Benutzergerät erstellen. Die Fahrtanforderung gibt typischerweise den gewünschten Abholort des Fahrgastes (oder die aktuelle GPS-Position), den gewünschten Zielort (der eine vordefinierte Fahrzeughaltestelle und/oder ein benutzerdefiniertes Fahrgastziel identifizieren kann) und eine Abholzeit an. Ein ferngesteuertes Transportsystem empfängt die Fahranfrage, verarbeitet die Anfrage und schickt ein ausgewähltes autonomes Fahrzeug (wenn und falls eines verfügbar ist), um den Fahrgast am gewünschten Abholort und zur entsprechenden Zeit abzuholen.
-
Wie zu erkennen ist, bietet der hier offengelegte Gegenstand bestimmte erweiterte Merkmale und Funktionen zu dem, was als Standard- oder Basisautonomes Fahrzeug 1010 betrachtet werden kann. Zu diesem Zweck kann ein autonomes Fahrzeug modifiziert, verbessert oder anderweitig ergänzt werden, um die im Folgenden näher beschriebenen zusätzlichen Funktionen bereitzustellen.
-
In Übereinstimmung mit verschiedenen Ausführungsformen implementiert das Steuergerät 1034 ein autonomes Fahrsystem (ADS) 1070, wie in 2 gezeigt. Das heißt, geeignete Software- und/oder Hardwarekomponenten des Steuergeräts 1034 (z. B. Prozessor 1044 und computerlesbares Speichergerät 1046) werden verwendet, um ein autonomes Fahrsystem 1070 bereitzustellen, das in Verbindung mit dem Fahrzeug 1010 verwendet wird.
-
In verschiedenen Ausführungsformen können die Anweisungen des autonomen Fahrsystems 1070 nach Funktionen oder Systemen organisiert sein. Zum Beispiel kann das autonome Fahrsystem 1070, wie in 2 gezeigt, ein Sensorfusionssystem 1074, ein Positionierungssystem 1076, ein Lenksystem 1078 und ein Fahrzeugstabilitäts- und Bewegungssteuerungsmodul 1080 umfassen. Wie zu erkennen ist, können die Anweisungen in verschiedenen Ausführungsformen in einer beliebigen Anzahl von Systemen organisiert werden (z. B. kombiniert, weiter unterteilt usw.), da die Offenbarung nicht auf die vorliegenden Beispiele beschränkt ist.
-
In verschiedenen Ausführungsformen synthetisiert und verarbeitet das Sensorfusionssystem 1074 Sensordaten und sagt das Vorhandensein, den Ort, die Klassifizierung und/oder den Weg von Objekten und Merkmalen der Umgebung des Fahrzeugs 1010 voraus. In verschiedenen Ausführungsformen kann das Sensorfusionssystem 1074 Informationen von mehreren Sensoren einbeziehen, einschließlich, aber nicht beschränkt auf Kameras, Lidars, Radars und/oder eine beliebige Anzahl anderer Sensortypen.
-
Das Positionierungssystem 1076 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Position (z. B. eine lokale Position in Bezug auf eine Karte, eine genaue Position in Bezug auf die Fahrspur einer Straße, die Fahrzeugrichtung, die Geschwindigkeit usw.) des Fahrzeugs 1010 in Bezug auf die Umgebung zu bestimmen. Das Lenksystem 1078 verarbeitet Sensordaten zusammen mit anderen Daten, um einen Pfad zu bestimmen, dem das Fahrzeug 1010 folgen soll. Das Fahrzeugstabilitäts- und Bewegungssteuerungsmodul 1080 erzeugt Steuersignale zur Steuerung des Fahrzeugs 1010 entsprechend dem ermittelten Pfad.
-
In verschiedenen Ausführungsformen implementiert der Controller 1034 maschinelle Lerntechniken, um die Funktionalität des Controllers 1034 zu unterstützen, wie z. B. Merkmalserkennung/-klassifizierung, Hindernisvermeidung, Routendurchquerung, Kartierung, Sensorintegration, Bestimmung der Bodenwahrheit und ähnliches.
-
Das Fahrzeugstabilitäts- und Bewegungssteuerungsmodul 1080 ist so konfiguriert, dass es eine Fahrzeugsteuerungsausgabe an das Aktuatorsystem 1030 übermittelt. In einer beispielhaften Ausführungsform umfassen die Aktuatoren 1042 eine Lenkungssteuerung, eine Schaltsteuerung, eine Drosselklappensteuerung und eine Bremssteuerung. Die Lenkungssteuerung kann z. B. ein Lenksystem 1024 steuern, wie in 1 dargestellt. Die Schaltsteuerung kann z. B. ein Getriebesystem 1022 steuern, wie in 1 dargestellt. Die Drosselklappensteuerung kann z. B. ein Antriebssystem 1020 steuern, wie in 1 dargestellt. Die Bremssteuerung kann z. B. ein Radbremssystem 1026 steuern, wie in 1 dargestellt.
-
Wie oben kurz erwähnt, ist das autonome Fahrsystem 1070 im Fahrzeugsteuerungssystem 10 enthalten. Das Fahrzeugsteuerungssystem 10 verschiedener Ausführungsformen der vorliegenden Offenbarung integriert ESC und AV-Bewegungssteuerung in einen einzigen Controller. Das heißt, die zukünftige Fahrzeugtrajektorie wird von einem Trajektorienplanungsmodul erhalten, das es ermöglicht, den aktuellen und zukünftigen Zustand des Fahrzeugs 1010 sowie aktuelle und zukünftige Aktuatorbefehle unter Verwendung eines Fahrzeugbewegungsmodells zu bestimmen und vorherzusagen. Der aktuelle und zukünftige Zustand des Fahrzeugs umfasst die Differenz zwischen der beabsichtigten Fahrzeugrichtung, die aufgrund der Fahrzeugtrajektorie bekannt ist, und der aktuellen und vorhergesagten Fahrzeugrichtung. Die aktuellen und zukünftigen Aktuatorbefehle beinhalten eine Differenzialbremsung, bei der die Bremsen auf jeder Seite einer Längsmittellinie des Fahrzeugs 1010 und optional auch auf jeder Seite der seitlichen Mittellinie des Fahrzeugs 1010 ungleich sind, um eine seitliche Stabilitätskontrolle im Falle eines potenziellen Übersteuerns („Durchdrehen“) oder Untersteuerns („Auspflügen“) oder eines anderen seitlichen Schleuderzustands zu ermöglichen. Eine Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion wird gelöst, um Aktuatorbefehle zu bestimmen, die gleichzeitig Kursdifferenz und Spurdifferenz berücksichtigen, basierend auf dem aktuellen und zukünftigen Zustand des Fahrzeugs und den aktuellen und zukünftigen Aktuatorbefehlen. Die ermittelten Aktuatorbefehle werden an das Aktuatorsystem 1030 ausgegeben.
-
Das Fahrzeugsteuerungssystem 10 der vorliegenden Offenbarung ist gemäß einer beispielhaften Ausführungsform in 3 detaillierter dargestellt. Das Fahrzeugsteuerungssystem 10 umfasst ein Trajektorienplanungsmodul 12, ein Fahrzeugstabilitäts- und Bewegungssteuerungsmodul 14, das Sensorfusionssystem 1074, das Positionierungssystem 1076 und das Aktuatorsystem 1030. Das Fahrzeugsteuerungssystem 10 plant eine Trajektorie für das Fahrzeug 1010. Die geplante Trajektorie umfasst mindestens Positionsdaten und Kursdaten für jeden zeitlich beabstandeten Datenpunkt. Eine Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion bewertet die Auswirkungen einer Anzahl von Sätzen von Aktuatorbefehlsdaten in Bezug auf die Abweichung der vorhergesagten Trajektorie von der geplanten Trajektorie, indem sie unter Verwendung eines Fahrzeugbewegungsmodells die Fahrzeugtrajektorie vorhersagt, wenn ein Satz von Aktuatorbefehlen befolgt wird. Das Fahrzeugsteuerungssystem 10 wählt und gibt den Satz von Aktuatorbefehlen aus, der gleichzeitig die Abweichung der vorhergesagten Position von der geplanten Position und die Abweichung des vorhergesagten Kurses vom geplanten Kurs minimiert, neben anderen Termen, die in der Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion minimiert werden sollen.
-
Das Flugbahnplanungsmodul 12 ist als Teil des Lenksystems 1078 enthalten. Das Sensorfusionssystem 1076 liefert Sensordaten 28 an das Flugbahnplanungsmodul 12. Die Sensordaten 28 können auf der Grundlage von Daten des Sensorsystems 1028 erzeugt werden, das eine oder mehrere Kameras 30, einen GPS-Empfänger 32, ein Lidarsystem 36, eine Trägheitsmesseinheit 34 und Fahrzeug-CAN-Daten (Controller Area Network) 38 umfasst. Das Trajektorienplanungsmodul 12 empfängt außerdem Lokalisierungs- und Kartierungsdaten vom Positionierungssystem 1076, das ein Kartierungsmodul 26 enthält. Das Mapping-Modul 26 bietet eine Navigationsfunktion zur Planung einer Route relativ zu einer Karte von einem Startort zu einem Zielort. Das Positionierungssystem 1076 ist in der Lage, das Fahrzeug 1010 relativ zu der Route und der Karte zu lokalisieren. Diese Lokalisierungs- und Kartendaten 40 liefern eine Basisroute, anhand derer das Trajektorienplanungsmodul 12 detailliertere Anweisungen für das autonome Fahren generiert. Insbesondere berücksichtigt das Trajektorienplanungsmodul 12 weiterhin die wahrgenommene Umgebung basierend auf den Sensordaten 28, wie z. B. Verkehrszeichen, Hindernisse, Verkehr usw. Das Trajektorienplanungsmodul 12 gibt geplante Trajektoriendaten 42 basierend auf den Sensordaten 28 und den Lokalisierungs- und Kartierungsdaten 40 aus.
-
Beispielhafte geplante Trajektoriendaten 42 sind in 4 dargestellt, die eine Reihe von Wegpunkten 44 zeigt, die die geplanten Trajektoriendaten 42 bilden. Jeder Wegpunkt 44 besteht aus einem Datenvektor, der z. B. Positionsdaten x, y (in einer x-(Quer-)Richtung und einer senkrechten y-(Längs-)Richtung), Kurs ψ, Gierrate, ψ̇ (die eine zeitliche Ableitung des Kurses ist), Geschwindigkeit vx, vy (in x- und y-Richtung) und Beschleunigung ax, ay (in x- und y-Richtung). Jeder Wegpunkt kann als i-ter Wegpunkt in der Reihe bezeichnet werden. Weiterhin ist in 4 der geplante Kurs 46 des Fahrzeugs 1010 dargestellt, der die Bewegungsrichtung des Fahrzeugs 1010 entlang der geplanten Trajektorie darstellt. Die aktuelle Position 48 (und der Kurs) des Fahrzeugs 1010 kann basierend auf Sensordaten 28 vom Positionssystem 1076 gemessen werden und ist in den Lokalisierungs- und Kartierungsdaten 40 enthalten.
-
Das Fahrzeugstabilitäts- und Bewegungssteuerungsmodul 14 ist so konfiguriert, dass es die geplanten Trajektoriendaten 42 empfängt, die geplanten Trajektoriendaten 42 verarbeitet und Aktuatorbefehle ausgibt, die durch Aktuatorbefehlsdaten 50 verkörpert werden. Das Fahrzeugstabilitäts- und Bewegungssteuerungsmodul 14 zielt darauf ab, die Aktuatorbefehlsdaten 50 so zu erzeugen, dass sie der geplanten Trajektorie so genau wie möglich folgen, wobei auch andere Faktoren wie Seitenstabilität, Fahrgastkomfort und Aktuatorbeschränkungen berücksichtigt werden. Daher müssen die Aktuatorbefehlsdaten 50 nicht notwendigerweise dazu führen, dass das Fahrzeug 1010 genau dem gewünschten Weg folgt, der durch die geplanten Trajektoriendaten 42 definiert ist. Das Fahrzeugstabilitäts- und Bewegungssteuerungsmodul 14 verwendet einen Model Predictive Control (MPC) Algorithmus 16, der eine Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion minimiert. Die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion umfasst eine Vielzahl von Termen, die Faktoren darstellen, die bei der Erzeugung der Aktuatorbefehlsdaten 50 minimiert werden sollten, einschließlich eines Kurs-Terms 18, eines Trajektorien-Terms 20, eines Fahrgastkomfort-Terms 22 und eines Aktuatorbefehlsänderungs-Terms 24. Der Kurs-Term 18 repräsentiert eine Differenz zwischen dem geplanten Kurs und dem aktuellen und vorhergesagten Kurs des Fahrzeugs 1010. Der Trajektorieterm 20 repräsentiert eine Differenz zwischen der geplanten Position und der aktuellen und vorhergesagten Position des Fahrzeugs 1010. Der Fahrgastkomfortterm 22 repräsentiert eine Gleichmäßigkeit der vorhergesagten Fahrzeugbewegung. Der Aktuatorbefehl-Änderungsterm 24 repräsentiert einen Betrag der Änderung in den Aktuatorbefehlsdaten. Die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion bewertet jeden Term in Bezug auf viele Sätze verschiedener Aktuatorbefehle und verwendet ein Modell der Fahrzeugbewegung, um die Auswirkungen auf z. B. den Fahrzeugkurs und die Fahrzeugposition als Ergebnis der Ausführung eines gegebenen Satzes von Aktuatorbefehlen vorherzusagen. Die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion minimiert eine Gesamtsumme jedes der Terme über eine endliche Anzahl von zeitlich beabstandeten Iterationen und wählt den mit dem Minimum verbundenen Satz von Ausgangsbefehlen aus, die als die Aktuatorbefehlsdaten 50 ausgegeben werden.
-
Der MPC-Algorithmus 16 erhält Aktuatorbefehlsdaten 50 durch wiederholtes Lösen eines Open-Loop-Finite-Horizon-Optimalsteuerungsproblems. Der MPC-Algorithmus 16 ermöglicht die Echtzeit-Optimierung eines gegebenen Leistungsindexes unter Berücksichtigung eines Fahrzeugbewegungsmodells und von Beschränkungen für Aktoren und Ausgänge. Der Leistungsindex kann mindestens eine Differenz zwischen geplantem und aktuellem/vorhergesagtem Kurs und eine Differenz zwischen geplanter und aktueller/vorhergesagter Fahrzeugposition beinhalten. Die Fahrzeugposition, der Kurs und andere Fahrzeugausgänge werden mit Hilfe eines Fahrzeugbewegungsmodells vorhergesagt, das ein vereinfachtes Fahrdynamikmodell sein kann. Es kann jedes geeignete Fahrzeugbewegungsmodell verwendet werden, das in der Lage ist, zumindest den Fahrzeugkurs und die Fahrzeugposition aus einem Satz von Aktuatorbefehlen vorherzusagen. Das Fahrzeugmodell kann ein Satz nichtlinearer Standard-Differentialgleichungen oder eine andere Form sein, z. B. ein RL-Modell. Das Fahrzeugbewegungsmodell kann auch Geschwindigkeit und Gierrate vorhersagen. Der MPC-Algorithmus 16 wendet Beschränkungen auf die Aktuatorbefehle an, um die physikalischen Grenzen des Aktuatorsystems 1030 und der geplanten Trajektorie zu berücksichtigen. Beispielsweise kann es eine maximale Abweichung von der geplanten Trajektorie als eine Nebenbedingung geben, maximale und minimale Werte für verschiedene Aktuatoren des Aktuatorsystems, maximale Änderungsraten für die Aktuatoren, unzulässige Orte für das Fahrzeug 1010 (z. B. Überlappung mit einem wahrgenommenen Hindernis), maximale und/oder minimale Werte für Ausgaben des Fahrzeugs (z. B. Geschwindigkeit) usw.
-
Der MPC-Algorithmus 16 zielt darauf ab, eine beste Steuersequenz (Satz von Aktuatorbefehlen) über einen zukünftigen Horizont von N Zeitschritten von k zu finden. Zu jedem Abtastzeitpunkt wird der Zustand x(t) geschätzt, um einen Leistungsindex J zu minimieren, der einem Fahrzeugbewegungsvorhersagemodell und Nebenbedingungen unterliegt. Der MPC-Algorithmus 16 löst sich in ein numerisches Optimierungsproblem auf, das mit Hilfe von quadratischer Programmierung gelöst werden kann. Eine Beispielfunktion für die Fahrzeugstabilität und Bewegungssteuerung, die vom MPC-Algorithmus verwendet wird, ist:
-
In Gleichung 1 stellt der erste Term eine Differenz zwischen dem geplanten Fahrzeugzustand rl und dem aktuellen Fahrzeugzustand x1 zu einem aktuellen Zeitpunkt und eine Differenz zwischen dem geplanten Fahrzeugzustand r2 bis N und dem vorhergesagten Fahrzeugzustand x2 bis N zu zukünftigen Zeitpunkten dar. i ist das Zeitfenster für die Berechnung. Der geplante Fahrzeugzustand ist vom Trajektorienplanungsmodul 12 erhältlich und umfasst xi, yi, ψ
i, ψ̇ Der vorhergesagte Fahrzeugzustand ist aus dem Fahrzeugbewegungsmodell erhältlich. Der zweite Summationsterm in Gleichung 1 stellt einen Änderungsbetrag der Aktorbefehle dar. Dementsprechend generiert der MPC-Algorithmus 16 die Aktuatorbefehlsdaten 50, um gleichzeitig die Seitenstabilität (einschließlich einer Differenz zwischen Ziel- und aktuellem/vorhergesagtem Kurs) und die Übereinstimmung der aktuellen/vorhergesagten Fahrzeugposition mit der durch die geplante Trajektorie vorgegebenen zu berücksichtigen. Gemäß Gleichung 2 wird ein optimaler Satz von Aktuatorbefehlen uopt so ausgewählt, dass die Kostenfunktion J minimiert wird, und als Aktuatorbefehlsdaten 50 ausgegeben. Andere Terme können in die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion J einbezogen werden, wie z. B. der Kraftstoffverbrauch, die Laufruhe und jeder andere Faktor, der für die Optimierung von Bedeutung ist. Für die Gleichungen 1 und 2 gilt:
-
Die Gleichungen 3 und 4 stellen das Modell zur Vorhersage der Fahrzeugbewegung dar und die Gleichungen 5 und 6 stellen die Nebenbedingungen dar. Gleichung 3 bestimmt den Fahrzeugzustand bei der nächsten Zeititeration, wenn ein bestimmter Satz von Aktuatorbefehlen ausgegeben wird. Gleichung 4 bestimmt die Fahrzeugausgabe unter Berücksichtigung eines bestimmten Fahrzeugzustands. u ist ein Satz von Aktuatorbefehlen, x ist ein Zustand des Fahrzeugs 1010 und y ist eine Ausgabe des Fahrzeugs 1010 (z. B. Position, Geschwindigkeit, Kurs, Querbeschleunigung usw.). Die Fahrzeugstabilitäts- und Bewegungssteuerungsfunktion J iteriert über alle sinnvollen Sätze von Sequenzen von Aktuatorbefehlen über das Zeitfenster von N Schritten (und damit eine Folge von N Sätzen von Aktuatorbefehlen). Die Funktion J bestimmt einen Performance-Index für jeden Satz von Aktuatorbefehlen. Der MPC-Algorithmus 16 findet den optimalen Satz und die optimale Folge von Aktorbefehlen durch Minimierung des Performance-Index. Nach der Lösung des durch die Gleichungen 1 bis 5 dargestellten Optimierungsproblems zur Bestimmung einer optimalen Folge von Sätzen von Aktorbefehlen u(t), u(t+1),..., u(t+N-1) wird nur der erste optimale Satz u(t) in den Aktorbefehlsdaten 50 ausgegeben und vom Aktorsystem 1030 angewendet. Die restlichen Aktorbefehle der Folge werden verworfen. Das oben skizzierte Optimierungsproblem wird in einer Ausführungsform der vorliegenden Offenlegung durch quadratische Programmierung gelöst.
-
Die beispielhafte Ausführungsform des Fahrzeugsteuerungssystems 10 von 3 ist in dem autonomen Fahrsystem 1070 enthalten. Das autonome Fahrsystem 1070 ist so konfiguriert, dass es neben anderen möglichen autonomen Fahrmöglichkeiten Lenk- und Geschwindigkeitssteuerungsmanöver ausführt, um Kollisionen zu vermeiden und sich kooperativ mit verfolgten Objekten zu bewegen, die zum Teil auf den Aktuatorbefehlsdaten 50 basieren. Insbesondere enthalten die Aktuatorbefehlsdaten 50 differenzielle Bremsbefehle, um Probleme mit der Seitenstabilität (einschließlich Trudeln und Auspflügen) zu korrigieren, wenn ein geplanter Kurs von einem tatsächlichen und/oder vorhergesagten Kurs abweicht. Das autonome Fahrsystem 1070 führt bekannte Computeranweisungen zur autonomen Fahrzeugsteuerung durch einen Prozessor aus, der teilweise auf den Aktuatorbefehlsdaten 50 basiert, wie oben in Bezug auf 2 beschrieben.
-
5 zeigt ein Flussdiagramm, das beispielhafte Verfahrens- und Systemaspekte der vorliegenden Offenbarung zur Steuerung des Fahrzeugs 1010 beschreibt. Die Schritte des Flussdiagramms von 5 können durch Computerprogrammanweisungen implementiert werden, die auf einem computerlesbaren Medium gespeichert sind und von einem Prozessor, wie dem mindestens einen Prozessor 1044, ausgeführt werden. Die Schritte können beispielsweise durch die in Bezug auf 3 beschriebenen Module und Systeme ausgeführt werden und können auch weitere Aspekte des in Bezug auf 2 beschriebenen autonomen Fahrsystems 1070 einbeziehen.
-
Das Flussdiagramm beschreibt ein beispielhaftes Verfahren 200 zur Steuerung des Fahrzeugs 1010. In Schritt 210 werden die geplanten Trajektoriendaten 42 empfangen. Die geplanten Trajektoriendaten 42 werden vom Trajektorienplanungsmodul 12 basierend auf der Lokalisierung des Fahrzeugs 1010 vom Positionierungssystem 1076, der Wahrnehmung der Umgebung vom Sensorfusionssystem 1074 und einer gewünschten Route vom Kartierungsmodul 26 erzeugt. Die geplanten Trajektoriendaten 42 enthalten mindestens Positions- und Kursdaten für das Fahrzeug 1010 zu jedem der Zeitschritte 1 bis N. Die geplanten Trajektoriendaten 42 können zusätzlich Geschwindigkeits- und Beschleunigungsdaten enthalten.
-
In Schritt 220 werden die Aktuatorbefehlsdaten 50 durch das Fahrzeugstabilitäts- und Bewegungssteuerungsmodul 14 bestimmt. In einer Ausführungsform berechnet das Fahrzeugstabilitäts- und Bewegungssteuerungsmodul 14 die Fahrzeugstabilitäts- und Bewegungssteuerungs-Kostenfunktion J, die als Eingaben die aktuellen Positions- und Kursdaten für das Fahrzeug 1010 aus dem Erfassungssystem 1028 für den Zeitschritt i=1, die geplanten Trajektoriendaten 42 und die vorhergesagten Positions- und Kursdaten für die Zeitschritte i=2 bis N, die auf der Grundlage der Fahrzeugbewegungsvorhersagemodelle der Gleichungen 3 und 4 abgeleitet werden können, verwendet. Die Fahrzeugstabilitäts- und -steuerungskostenfunktion J (Gleichung 1) wird minimiert, um einen optimalen Satz von Aktuatorbefehlen zu bestimmen, der in den Aktuatorbefehlsdaten 50 enthalten ist. Das heißt, das Fahrzeugstabilitäts- und Bewegungssteuerungsmodul führt einen MPC-Algorithmus 16 aus, der wiederholt ein optimales Steuerungsproblem mit endlichem Horizont in Form einer Kostenfunktion löst, die die vorhergesagte Position und die vorhergesagte Kursdifferenz von der geplanten für einen gegebenen Satz von Aktuatorbefehlen berücksichtigt, die einem Fahrzeugbewegungsvorhersagemodell und Beschränkungen für Aktuatorbefehle und die Fahrzeugausgabe unterliegen. Der MPC-Algorithmus 16 kann eine quadratische Programmierung anwenden, um das numerische Optimierungsproblem zu lösen, das durch die Kostenfunktion J für die Fahrzeugstabilität und Bewegungssteuerung dargestellt wird.
-
In Schritt 230 werden die Daten der optimalen Aktuatorbefehle 50 an das Aktuatorsystem 1030 ausgegeben. Wenn das Fahrzeugstabilitäts- und Bewegungssteuerungsmodul 14 ein Problem mit der Seitenstabilität feststellt (implizit durch Berücksichtigung einer Differenz zwischen geplantem und vorhergesagtem Fahrzeugkurs), kann dies zumindest teilweise durch Anwendung einer Differenzbremsung korrigiert werden. Daher enthalten die Aktuatorbefehlsdaten 50 potenziell unterschiedliche Bremsbefehle für die jeweiligen Bremsen, die den jeweiligen Rädern vorne links, vorne rechts, hinten links und hinten rechts zugeordnet sind. In Schritt 240 wird die Differenzialbremsung durch das Bremssystem 1026 basierend auf den Aktuatorbefehlsdaten 50 ausgeführt. Beispielsweise kann die Bremskraft je nach Art der erforderlichen Querstabilitätskorrektur auf ein vorderes rechtes, ein vorderes linkes, ein hinteres rechtes oder ein hinteres linkes Rad des Fahrzeugs 1010 vorgespannt werden.
-
Obwohl in der vorangegangenen detaillierten Beschreibung mindestens eine beispielhafte Ausführungsform vorgestellt wurde, sollte man sich darüber im Klaren sein, dass es eine große Anzahl von Variationen gibt. Es sollte auch gewürdigt werden, dass die beispielhafte Ausführungsform oder die beispielhaften Ausführungsformen nur Beispiele sind und nicht dazu gedacht sind, den Umfang, die Anwendbarkeit oder die Konfiguration der Offenbarung in irgendeiner Weise zu begrenzen. Vielmehr soll die vorstehende detaillierte Beschreibung dem Fachmann eine praktische Anleitung zur Umsetzung der beispielhaften Ausführungsform oder der beispielhaften Ausführungsformen geben. Es sollte verstanden werden, dass verschiedene Änderungen in der Funktion und Anordnung der Elemente vorgenommen werden können, ohne vom Umfang der Offenbarung, wie in den beigefügten Ansprüchen und den gesetzlichen Äquivalenten davon dargelegt, abzuweichen.