-
Die Erfindung betrifft ein Verfahren zum optimalen Parametrisieren eines Fahrdynamikreglers eines Fahrzeuges, eine Trainingsvorrichtung, ein Computerprogramm und ein maschinenlesbares Speichermedium.
-
Stand der Technik
-
Fahrdynamikregler sind im Allgemeinen aus dem Stand der Technik bekannt. Der Begriff Fahrdynamikregler (ESC, engl. Electronic Stability Control), bezeichnet einen Regler für beliebige Fahrzeuge, welcher in bestimmten Situationen, z.B. in welchen eine Reifenhaftung auf dem Straßenbelag nicht mehr optimal ist, regelnd in den Fahrbetrieb des Fahrzeugs eingreift, um bspw. wieder eine optimale Reifenhaftung zu erzielen. Diese bestimmten Situationen können dadurch ausgemacht werden, dass bspw. bei einer ständigen Überwachung der Reifenhaftung oder eines anderweitigen Fahrzeugzustandes eine Anomalie auftritt.
-
Beispielsweise kann der Fahrdynamikregler einem Ausbrechen des Fahrzeugs durch gezieltes Abbremsen einzelner Räder entgegenwirken, zum Beispiel, um bei Kurvenfahrten durch gezieltes Bremsen einzelner Räder, ein Schleudern des Fahrzeugs im Grenzbereich in Kurven sowohl beim Übersteuern als auch beim Untersteuern zu verhindern, um dem Fahrer so die Kontrolle über das Fahrzeug zu sichern. Eine weitere Anwendung von Fahrdynamikregelungen ist z.B. ein Bereitstellen eines optimalen Bremsdruckes bei einer Notbremsung, um einem Blockieren der Räder entgegenzuwirken und den Bremsweg möglichst gering zu halten.
-
Bei der Anpassung des Bremssystems an einen bestimmten Fahrzeugtyp müssen im Zuge der Applikation eine Vielzahl von Parameter fahrzeugtypspezifisch eingestellt werden. Dies ist daher aufwändig und führt nicht immer zu optimalen Einstellungen.
-
Eine Aufgabe der vorliegenden Erfindung ist es, ein effizientes und automatisiertes Verfahren zur optimalen Parametrisierung eines Fahrdynamikreglers bereitzustellen.
-
Vorteile der Erfindung
-
Die Erfindung mit den Merkmalen des unabhängigen Anspruchs 1 hat den Vorteil, dass Parametrisierungen gefunden werden können, die gegenüber den bisherigen Parametrisierungen ein deutlich optimierteres Steuern, insbesondere der Reifenhaftung, erzielen. Es konnte beispielsweise gezeigt werden, dass hiermit der Bremsweg bei einer Notbremsung gegenüber aktuellen Notbremssystemen nochmals deutlich verkürzt werden kann. Dies erhöht die Sicherheit der Insassen des Fahrzeugs.
-
Ferner hat die Erfindung den Vorteil, dass automatisiert die optimale Parametrisierung aufgefunden werden kann, wodurch aufwändiges manuelles Testen und Evaluieren hinfällig wird.
-
Ferner hat die Erfindung den Vorteil, dass die Parametrisierung sogar ausschließlich durch Simulationen des Fahrzeugs gelernt werden kann. Dies ist besonders vorteilhaft, da in Simulationen die Grenzen der Fahrdynamiken weiter ausgereizt werden können, wodurch schlussendlich zum einen mehr Parametrisierungen zum anderen diese kostengünstiger ausprobiert werden können. Es kann daher gesagt werden, dass hiermit eine besonders effiziente und effektive Applikation erzielt werden kann.
-
Ferner hat die Erfindung den Vorteil, dass ein minimaler Eingriff vom Applikationsingenieur durch Domainenwissen (wie z.B. durch high-level Entscheidungen: mehr Komfort vs. mehr Performance) vorgenommen werden kann und somit die Parametrisierung auch gezielt auf Bedürfnisse der Kunden abstimmbar ist.
-
Ferner hat die Erfindung den Vorteil, dass eine höhere Robustheit, also eine gute Performance in allen Betriebspunkten und damit nicht nur optimiert für einzelne Test-Szenarien erzielt werden kann.
-
Offenbarung der Erfindung
-
In einem ersten Aspekt betrifft die Erfindung ein insbesondere computerimplementiertes Verfahren zum optimalen Parametrisieren eines Fahrdynamikreglers eines Fahrzeuges. Der Fahrdynamikregler kann regelnd in eine Fahrdynamik des Fahrzeuges eingreifen, bzw. die Fahrdynamik kontrollieren, wobei der Fahrdynamikregler abhängig von einem, insbesondere aktuellen, Fahrzeugzustand (st) eine Aktion (at) ermittelt, um z.B. in die Fahrdynamik positiv einzugreifen. Es wird also in die Fahrdynamik eingegriffen, um das Fahrzeug stabil auf seiner ursprünglichen Fahrtrajektorie zu halten.
-
Unter der Fahrdynamik können Bewegungen des Fahrzeugs, d. h. Wege, Geschwindigkeiten, Beschleunigungen sowie die auf das Fahrzeug einwirkenden Kräfte und Momente in und um die drei Fahrzeugbewegungsrichtungen verstanden werden. Die Fahrzeugbewegungen umfassen beispielhaft Geradeaus- und Kurvenfahrten, Vertikal-, Nick- und Wankbewegungen sowie die Fahrt mit konstanter Geschwindigkeit, Brems- und Beschleunigungsvorgänge. Ferner können auch dabei entstehende Schwingungen des Fahrzeuges unter der Fahrdynamik verstanden werden.
-
Unter dem Fahrzeugzustand (st) kann eine Größe verstanden werden, die einen Zustand des Fahrzeuges hinsichtlich seiner Fahrdynamik und/oder hinsichtlich eines Zustandes einer Komponente des Fahrzeuges charakterisieren. Vorzugsweise charakterisiert der Fahrzeugzustand einen Teil der aktuellen Fahrzeugdynamik, insbesondere eine räumliche Bewegung des Fahrzeugs. Als räumliche Bewegung sind die drei translatorischen Bewegungen in Richtung der Hauptachsen denkbar, nämlich die Längsbewegung entlang einer Längsachse, die eigentliche Ortsveränderung, die Querbewegung entlang einer Querachse. und eine Hubbewegung entlang einer Hochachse, in der Regel kombiniert mit der Längsbewegung bei der Fahrt im Gefälle oder der Steigung. Die räumlichen Bewegungen können auch als Beschleunigungen gegeben sein. Denkbar sind auch rotatorische Bewegungen um die drei Hauptachsen, z.B. ein Gieren um die Hochachse, ein Nicken um die Querachse und ein Wanken um die Längsachse. Diese Bewegungen können als Winkel oder als Winkelgeschwindigkeit gegeben sein. Ferner können zusätzlich Translations- und Rotationsschwingung in den Fahrzeugzustand einfließen.
Des Weiteren charakterisiert der Fahrzeugzustand vorzugsweise einen Lenkradwinkel oder ein Lenkradmoment. Besonders bevorzug charakterisiert der Fahrzeugzustand auch eine Reifenhaftung und/oder ein Verhalten des Reifens.
-
Unter der Aktion (at) kann eine Größe verstanden werden, die eine Bewegung des Fahrzeugs charakterisiert, d.h. wenn die Aktion durch das Fahrzeug ausgeführt wird, führt das Fahrzeug diese Bewegung aus. Vorzugsweise ist die Aktion (at) eine Steuergröße, wie z.B. eine Bremskraft oder gar ein Bremsdruck.
-
Das Verfahren umfasst die nachfolgend erläuterten Schritte:
- Das Verfahren beginnt mit einem Bereitstellen eines Modells P zur Vorhersage eines Fahrzeugzustandes (st,1). Das Model P ist hierfür eingerichtet, abhängig von dem Fahrzeugzustand (st) und der Aktion (at) einen nachfolgenden Fahrzeugzustand (st+1) vorherzusagen. Unter dem nachfolgenden Fahrzeugzustand (st+1) kann der Fahrzeugzustand verstanden werden, welcher unmittelbar auftritt, wenn die Aktion (at) aus dem aktuellen Fahrzeugzustand (st) durch das Fahrzeug ausgeführt wurde.
-
Daraufhin folgt ein Ermitteln zumindest eines Datentupels (s0, ..., st, ... sT; a0,..., at,... aT) umfassend einer Abfolge von Fahrzeugzutänden (s0, ..., st, ... sT) und jeweils zugeorndeten Aktionen (a0,..., at, ... aT), wobei die Fahrzeugzustände mittels des Modells (P) abhängig von einer ermittelten Aktion durch den Fahrdynamikregler ermittelt werden.
-
Daraufhin folgt ein Anpassen der Parameter (θ) des Fahrdynamikreglers derart, dass eine Kostenfunktion (c), welche Kosten der aufgezeichneten Trajektorie abhängig von den Fahrzeugzuständen des Datentupels und den ermittelten Aktionen der jeweils zugeordneten Fahrzeugzustände ermittelt und abhängig von den Parametern des Fahrdynamikreglers ist, minimiert wird. Die Anpassung der Parameter (θ) des Fahrdynamikreglers kann für jeden Fahrzeugzustand des Datentupels oder über eine gesamte Abfolge aus dem Datentupel erfolgen.
-
Das Anpassen der der Parameter (θ) kann durch einen Optimierungsalgortihmus, vorzugsweise mittels eines Gradiententabstiegsverfahrens, besonders bevorzugt mittels Back-prop-through time, erfolgen.
-
Es wurde erkannt, dass ein sog. modellbasierter Ansatz zum Optimieren des Fahrdynamikreglers aufgrund der Optimierung mittels des relativ genauen Modells die informationsreichsten Anpassungen der Parameter θ bestimmen kann. Alternativ hierzu gibt es sog. modell-freie Ansätze, diese sind jedoch weniger zielführend, da diese nicht ausreichend Informationen beim Optimieren der Parameter bereitstellen, um einen Fahrdynamikregler zu erhalten, welcher bestmöglich die Fahrdynamik steuert. Es kann daher gesagt werden, dass erst durch das vorgeschlagene Verfahren Fahrdynamikregler bereitgestellt werden können, die eine deutlich bessere Performance als manuell eingestellte Regler aufweisen. Gegenüber anderen Lernparadigmen hat dieser Ansatz den Vorteil, dass er skalierbar ist, also auch mit beliebig komplexen Datenmengen umgehen kann sowie, dass er auch hochdimensionale Fahrdynamikregler optimieren kann.
-
Es wird vorgeschlagen, dass das Modell (P) ein trainierbares Modell ist, dessen Parametrisierung abhängig von erfassten Fahrmanövern des Fahrzeugs oder eines weiteren Fahrzeuges angelernt wurde oder das Modell (P) ein physikalisches Modell ist, welches Fahrdynamiken des Fahrzeuges, insbesondere entlang einer long. und einer lat. Achse von Fahrzeugen, beschreibt. Das trainierbare Modell kann z.B. ein maschinelles Lernsystem, vorzugsweise ein neuronales Netz sein. Allgemein kann das trainierbare Modell ein Black-Box Modell sein, z.B. lineare oder merkmal-basierte Regression, Gauss Prozess Modelle, Recurrente Neuronale Netze (RNN, LSTMs), (tiefe) neuronale Netze oder ein White-Box Modell sein, z.B. (vereinfachte) physikalische Modelle mit Parametern oder Kombinationen daraus (Grey-Box Model).
-
Das physikalische Modell hat den Vorteil, dass es analytische Gradienten ermöglicht, wodurch präzisere Anpassungen erzielt werden, was dazu führt, dass die Fahrdynamikreglerparametrisierung näher an eine ideale Parametrisierung gelangt. Ferner werden keine realen Messungen benötig, weshalb das Verfahren vorteilhafterweise auch rein simulativ ausgeführt werden kann.
-
Weiterhin wird vorgeschlagen, dass zusätzlich ein Erfassen einer Trajektorie eines realen Fahrmanövers des Fahrzeuges erfolgt, wobei abhängig von der erfassten Trajektorie und dem Modell (P) ein Korrekturmodell (g) erstellt wird, sodass das Korrekturmodell (g) Ausgaben des Modells (P) derart korrigiert, dass diese im Wesentlichen mit der erfassten Trajektorie übereinstimmen. Die Trajektorie kann eine Abfolge von Fahrzeugzuständen und die im jeweiligen Fahrzeugzustand gewählte Aktion des realen Fahrmanövers beschreiben. Unter im Wesentlichen kann hier verstanden werden, dass eine durch diese Korrektur erzielte Genauigkeit innerhalb von Messtoleranzen für diese zu korrigierende Fahrzeugzustände liegt, bzw. innerhalb der Genauigkeit liegt, welche mit den jeweiligen Optimierungsverfahren zum Erstellen des Korrekturmodells, bzw. einer max. erzielbaren Genauigkeit des Korrekturmodells durch eine Mächtigkeit des Korrekturmodells erzielt werden kann.
-
Denkbar ist, dass dieser zusätzliche Schritt des Erfassens des realen Fahrmanövers nochmals nach dem Schritt des Anpassens der Parameter des Fahrdynamikreglers erfolgt, wobei das reale Fahrmanöver nun mit dem angepassten Fahrdynamikregler durchgeführt wird. Die damit erfasste Trajektorie kann dann wieder verwendet werden, um das Korrekturmodell und auch, um die weiteren Schritte des Ermittelns, zumindest eines Datentupels, mittels des Modells P nach zu justieren und daraufhin nachfolgend die Parameter des Fahrdynamikreglers anzupassen.
-
Insbesondere wird das Korrekturmodell derart erstellt, indem eine Differenz zwischen der Ausgabe des Korrekturmodells und der Differenz zwischen dem aufgenommenen Zustand der Trainingsdaten und dem durch das Modell vorhergesagten Zustand minimiert wird.
-
Dann, wenn das Modell (P) ein gelerntes Modell ist, kann dessen Parametrisierung abhängig von der erfassten Trajektorie gelernt werden. Hierfür eignet sich z.B. eine Optimierung der Modell-Parameter mittels Berechnung der Maximum Likelihood oder Maximum-a-posteriori Lösung für Ein- oder Mehrschritt Modelprädiktionen im offenen (feedforward) oder geschlossenen (feedback) Regelkreis z.B. mittels (stochastischem) Gradientenabstieg.
-
Überraschenderweise wird durch die Verwendung des Korrekturmodells der Vorteil erzielt, dass besonders wenige reale Manöver des Fahrzeugs benötigt werden, um zum einen den Fahrdynamikregler zu optimieren, und zum anderen, um das gelernte Modell zu erstellen.
-
Weiterhin wird vorgeschlagen, dass das Modell (P) deterministisch ist und das Korrekturmodell zeitabhängig ist. In anderen Worten ist das Korrekturmodell vom Zustand oder von einer Zeit abhängig, wobei die Zeit eine seit Beginn der aufgezeichneten Trajektorie verstrichene Zeitspanne charakterisiert. D.h. das Korrekturmodell ermittelt abhängig von der Zeit den Korrekturwert für das Modell P. Überraschenderweise hat sich herausgestellt, dass diese Art von Korrekturmodell zu den besten Parametrisierungen geführt hat. Die Zeit kann auch ein diskreter Wert sein, der eine Anzahl, der seit einem vordefinierten Startpunkt (z.B. Zeitpunkt an welchem der Fahrdynamikregler in die Fahrdynamik eingreift) durchgeführten Aktionen, charakterisiert.
-
Die Kombination aus dem Modell P und dem Korrekturmodell, das zur Korrektur von Ausgaben des Modells konfiguriert ist, kann als ein globales Modell zur Vorhersage der Zustandsänderung aufgefasst werden. Mit anderen Worten, das globale Modell der Zustandsänderungen ist eine Überlagerung dieser beiden Modelle.
-
Das Korrekturmodell ist also konfiguriert, um Fehler des ersten Modells in Bezug auf den wahren Zustand der Umgebung nach der Durchführung einer Aktion zu korrigieren. Zum Beispiel sagt das Modell einen Zustand in Abhängigkeit von einem aktuellen Zustand und einer Aktion voraus. Es sei angemerkt, dass die Aktion von dem Fahrdynamikregler als auch von z.B. einem Fahrer bestimmt werden kann. Anschließend korrigiert das Korrekturmodell den vorhergesagten Zustand des Modells so, dass der vorhergesagte Zustand dem tatsächlichen Zustand der Umgebung möglichst ähnlich ist, nachdem der Agent diese Aktion für den aktuellen Zustand durchgeführt hat. Mit anderen Worten: das Korrekturmodell korrigiert die Ausgabe des ersten Modells, um einen prognostizierten Zustand zu erhalten, der so nah wie möglich an dem Zustand ist, den die Umgebung tatsächlich annehmen würde, bzw. an dem Zustand der bei den Manövern erfasst wurde. Daher korrigiert das Korrekturmodell das erste Modell, um einen genaueren Zustand bezüglich der Umgebung, insbesondere der Umgebungsdynamik, zu erhalten.
-
Vorzugsweise hängt das Korrekturmodell entweder von einem zeitlichen Schritt und/oder dem aktuellen Zustand ab. Alternativ ist das Korrekturmodell ein Korrekturterm, der ein extrahierter Korrekturwert ist, der durch eine Differenz zwischen den erfassten Fahrzeugzuständen des erfassten realen Manövers und den prognostizierten Zuständen durch das Modell bestimmt wird. Das Korrekturmodell kann diskrete Korrekturen ausgeben, die direkt auf die Vorhersage des Modells hinzugefügt werden können. Ein Spezialfall des Korrekturmodells kann vorliegen, in welchem das Korrekturmodell zeitdiskrete Korrekturwerte ausgibt.
-
Weiterhin wird vorgeschlagen, dass das Korrekturmodell ausgewählt wird, indem ein Maß für die Differenz zwischen der Ausgabe des Korrekturmodells und der Differenz zwischen dem erfassten Fahrzeugzustand entlang der Trajektorie und die vorhergesagten Fahrzeugzustände des Modells minimiert wird. Diese Minimierung kann auch über das bekannte Gradientenabstiegsverfahren durchgeführt werden.
-
Weiterhin wird vorgeschlagen, dass eine Mehrzahl von unterschiedlichen Modellen (P) bereitgestellt wird, wobei das Datentupel zufällig für eines der Mehrzahl der unterschiedlichen Modelle erfasst wird.
-
Vorteilhaft hierbei ist, dass zum einen dadurch Modell-Unsicherheiten modelliert werden und schlussendlich ein robustes Reglerverhalten erzielt werden kann und somit der Regler z.B. besser mit zeitlichen Änderungen umgehen kann. Denkbar ist auch, dass das Modell oder die Modelle zu ihren Vorhersagen eine Unsicherheit ausgeben können, die eine Unsicherheit ihrer Vorhersagen charakterisiert, wobei diese Unsicherheit in der Anpassung der Parameter des Fahrdynamikreglers berücksichtig wird. Die Unsicherheit kann wie folgt ermittelt werden:
- 1) Statistische Aussagen über die Performance, Robustheit und Sicherheit des Reglers, und/oder
- 2) Vermeidung von unsicheren/unbekannten Fahrzeugverhalten während/nach der Optimierung, und/oder
- 3) Beschleunigung des Lernens durch zusätzliche Exploration in bisher unbekannten Regionen.
-
Durch Propagierung der (Modell-) Unsicherheit über mehrere Zeitschritte ergibt sich die Unsicherheit in den Langzeitprädiktionen (eine Verteilung über mögliches zukünftiges Systemverhalten). (Methoden sind hier z.B. analytisch geschlossen (für einfache Modelle, z.B. linear Gaussian), sampling, numerische Integration, moment matching, linearization (für komplexere Modelle).
-
Weiterhin wird vorgeschlagen, dass die unterschiedlichen Modelle sich darin unterscheiden, dass diese jeweils unterschiedliche Dynamiken von externen Größen oder unterschiedliche Dynamiken von Größen des Fahrzeuges berücksichtigen bzw. charakterisieren.
-
Ein Beispiel für eine dynamische Größe ist ein sich ändernder Straßenbelag oder unterschiedliche Szenarien, wie ein sich ändernder Verlauf der Straße hinsichtlich allen drei möglichen Raumachsen der Straße.
-
Weiterhin wird vorgeschlagen, dass jeweils ein Datentupel für jedes der Modelle erfasst wird, wobei die Änderung der Parameter abhängig von allen Datentupeln erfolgt. Denn es hat sich herausgestellt, dass dies zu einem besonders optimalen, robusten Reglerverhalten führt.
-
Weiterhin wird vorgeschlagen, dass die erfassten Fahrzeugzustände mittels eines Kalman Filter gefiltert werden, wobei abhängig von einer prädizierten Trajektorie des Fahrzeuges eine Parametrisierung des Kalman Filters ermittelt wird, wobei der Kalman Filter auf die erfassten Zustände angewendet wird.
-
Weiterhin wird vorgeschlagen, dass der Fahrdynamikregler eine modulare Reglerstruktur aufweist, wobei beim Anpassen der Parameter diese derart angepasst werden, dass die geänderten Parameter innerhalb von vorgegeben Wertebereichen liegen. D.h. der Regler wird in Module aufgeteilt und jedes Modul ist für eine Subfunktion zuständig, z.B. ein PID-Regler, der den aktuellen Slip zum Ziel-Slip einregelt. Ein anderes Modul wäre dann ein Gain-Scheduler, der die PID Gains je nach Fahrsituation, Untergrund, Geschwindigkeit anpasst. Wieder ein anderes Modul kann die Fahrsituation basierend auf den Raddrehzahlen, Bremsdruckverlauf und Fahrzeuggeschwindigkeit schätzen etc.
-
Der Vorteil neben einer Optimierung der Parameter nur innerhalb von Vertrauensbereichen ist, dass der Fahrdynamikregler kein sicherheitskritisches Verhalten darlegen wird und ferner, dass eine Exploration der Fahrdynamiken auf sinnvolle Fahrzeugzustände limitiert wird.
-
Weiterhin wird vorgeschlagen, dass der Fahrdynamikregler ein neuronales Netz, insbesondere ein Netzwerk mit radialen Basisfunktionen (engl. radial basis function network) ist.
-
Vorteilhaft ist, dass neuronale Netze sehr gut komplexe Zusammenhänge lernen können und eine besonders hohe Flexibilität aufweisen, um verschiedenste Regler-Verhaltensweisen zu erlernen. Besonders bevorzugt sind RBF Netzwerke, da diese aufgrund ihres kompakten Aufbaus besonders geeignet für eine Implementierung auf einem Steuergerät in einem Fahrzeug sind.
-
Weiterhin wird vorgeschlagen, dass nach dem Anpassen der Parameter ein Fahrzeugzustand im Betrieb des Fahrzeuges erfasst wird, wobei ein Aktor des Fahrzeuges abhängig von der Aktion, die mittels des Fahrdynamikreglers abhängig von diesem erfassten Fahrzeugzustand, angesteuert wird.
-
Weiterhin wird vorgeschlagen, dass die Kostenfunktion eine gewichtete Überlagerung einer Mehrzahl von Funktionen ist, wobei die Funktionen eine Differenz eines aktuellen Schlupfes von Reifen des Fahrzeuges zu einem Zielschlupf, eine zurückgelegte Strecke seit dem Eingreifen des Fahrdynamikreglers, sowie zeitliche Ableitungen der zurückgelegten Strecke charakterisieren.
-
Weiterhin wird vorgeschlagen, dass der Fahrdynamikregler ein ABS Regler ist und eine Aktion ausgibt, welche eine Bremskraft charakterisiert, wobei das physikalische Modell eine Mehrzahl von Teilmodellen umfasst, die ein physikalisches Modell einer Komponente des Fahrzeuges sind.
-
Die Aktion kann bspw. separat für jedes der Räder oder Achsen des Fahrzeuges einzeln bestimmt, sodass die Räder/Achsen einzeln abhängig von dem jeweiligen Bremsdruck angesteuert werden können.
-
Es sei angemerkt, dass der Fahrdynamikregler beispielsweise ein ABS, TCS oder ein ESP Regler, usw. sein kann, oder eine Kombination aus diesen Reglern.
-
Es sei ferner angemerkt, dass das Verfahren auch dazu verwendet werden kann, einen bereits optimierten Fahrdynamikregler für einen ersten Fahrzeug-typ/ - instanz für ein zweiten Fahrzeug-typ/ -instanz nach zu justieren oder gar für den ersten Fahrzeug-typ/ -instanz nach zu justieren, z.B. wenn das Fahrzeug neu bereift wurde.
-
In weiteren Aspekten betrifft die Erfindung eine Vorrichtung sowie ein Computerprogramm, die jeweils eingerichtet sind, die obigen Verfahren auszuführen und ein maschinenlesbares Speichermedium, auf dem dieses Computerprogramm gespeichert ist.
-
Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen:
- 1 schematisch ein Ausführungsbeispiel zur Steuerung eines Fahrzeuges mit einem Fahrdynamikregler;
- 2 schematisch ein Flussdiagramm eines Verfahrens zum Parametrisieren des Fahrdynamikreglers;
- 3 einen möglichen Aufbau einer Trainingsvorrichtung.
-
Beschreibung der Ausführungsbeispiele
-
1 zeigt exemplarisch ein Fahrzeug 100 mit einem Steuerungssystem 40.
-
Das Fahrzeug 100 kann im Allgemeinen ein Kraftfahrzeug sein, welches durch einen Fahrer gesteuert wird oder ein teil-autonomes oder gar voll-autonomes Fahrzeug sein kann. In anderen Ausführungsformen kann das Kraftfahrzeug ein Rad-, Ketten- und Schienenfahrzeug sein. Denkbar ist auch, dass das Kraftfahrzeug ein Zweirad, wie z.B. ein Fahrrad, Motorrad, etc. ist.
-
In vorzugsweise regelmäßigen zeitlichen Abständen wird ein Zustand des Fahrzeugs mit zumindest einem Sensor 30 erfasst, der auch durch eine Mehrzahl von Sensoren gegeben sein kann. Der Zustand kann auch abhängig von erfassten Sensorwerten ermittelt werden. Der Sensor 30 ist vorzugsweise ein Beschleunigungssensor (in Fahrzeuglängsrichtung, könnte aber auch ein 3D Sensor in allen Achsen sein), Raddrehzahlsensor (an allen Rädern), Drehratensensor um eine Hochachse, könnte aber auch um alle anderen Achsen sein).
-
Das Steuerungssystem 40 empfängt eine Folge von Sensorsignalen S des Sensors 30 in einer optionalen Empfangseinheit, die die Folge von Sensorsignalen S in eine Folge von vorverarbeiteten Sensorsignalen umwandelt.
-
Die Folge von Sensorsignalen S oder vorverarbeiteten Sensorsignalen wird einem Fahrdynamikregler 60 des Steuerungssystems 40 zugeführt. Der Fahrdynamikregler 60 wird vorzugsweise parametrisiert durch Parameter θ, die in einem Parameterspeicher P hinterlegt sind und von diesem bereitgestellt werden.
-
Der Fahrdynamikregler 60 ermittelt abhängig von den Sensorsignalen S und seinen Parametern θ eine Aktion, im Folgenden auch Steuersignal A bezeichnet, welches an einen Aktor 10 des Fahrzeuges übertragen wird. Der Aktor 10 empfängt die Ansteuersignale A, wird entsprechend angesteuert und führt daraufhin die entsprechende Aktion aus. Denkbar ist auch, dass der Aktor 10 eingerichtet ist, um das Ansteuersignal A in direktes Ansteuersignal umzuwandeln. Empfängt der Aktor 10 beispielsweise eine Bremskraft als Ansteuersignal A, kann der Aktor diese in einen entsprechenden Bremsdruck umrechnen, mit welchem dann Bremsen direkt angesteuert werden. Der Aktor 10 kann hierbei ein Bremssystem, umfassend die Bremsen des Fahrzeuges 100, sein. Zusätzlich oder alternativ kann es sich bei dem Aktor 10 um einen Antrieb oder eine Lenkung des Fahrzeugs 100 handeln.
-
In weiteren bevorzugten Ausführungsformen umfasst das Steuerungssystem 40 eine Ein- oder Mehrzahl von Prozessoren 45 und wenigstens ein maschinenlesbares Speichermedium 46, auf dem Anweisungen gespeichert sind, die dann, wenn sie auf den Prozessoren 45 ausgeführt werden, das Steuerungssystem 40 veranlassen, das erfindungsgemäße Verfahren auszuführen.
-
In weiteren Ausführungsformen ist zusätzlich zum Aktor 10 eine Anzeigeeinheit 10a vorgesehen. Die Anzeigeeinheit 10a ist vorgesehen, um z.B. ein Eingreifen des Fahrdynamikregler 60 anzuzeigen und/oder eine Warnung auszugeben, dass der Fahrdynamikregler 60 gleich eingreifen wird.
-
Der Fahrdynamikregler 60 ist durch eine parametrisierte Funktion a = ƒ(s,θ) gegeben, welche abhängig von dem Zustand s und/oder von den Sensorsignalen S des Sensors 30 das Ansteuersignal A ausgibt. Für den Fall, dass der Fahrdynamikregler 60 ein Ansteuersignal A für den Aktor 10 ausgibt, wobei der Aktor 10 eine Mehrzahl von Aktuatoren aufweist, kann das Ansteuersignal A jeweils ein Steuersignal für jeden der Aktuatoren aufweisen. Die einzelnen Aktuatoren können die einzelnen Bremsen des Fahrzeuges 100 sein.
-
In einem bevorzugten Ausführungsbeispiel ist der Fahrdynamikregler 60 ein ABS Regler, wobei dieser Regler als Ansteuersignal eine Bremskraft oder ein Bremsdruck ausgibt. Vorzugsweise gibt hier der Fahrdynamikregler 60 einen Bremsdruck oder Bremskraft für jede der Bremsen der Räder oder für jede der Achsen des Fahrzeugs 100 aus, um individuell die Räder steuern zu können.
-
Vorzugweise weist der Fahrdynamikregler 60 eine interpretierbare Reglerstruktur auf. Dies kann z.B. dadurch gegeben sein, dass valide Parametergrenzen innerhalb des Reglers definierbar sind. Dies hat den Vorteil, dass das Verhalten des Fahrdynamikreglers 60 in jeder Situation nachvollziehbar ist.
-
Beispiele für die parametrisierte Funktion ƒ des Fahrdynamikreglers 60 sind wie folgt:
- Ein Fahrdynamikregler 60, der eine interpretierbare Reglerstruktur aufweist, kann zum Beispiel durch einen strukturierten Fahrdynamikregler 60 gegeben sein, welcher wie ein Entscheidungsbaum (engl. decision tree) strukturiert ist.
-
Um eine Aktion anhand des Entscheidungsbaums zu ermitteln, wird von einem Wurzelknoten entlang des Baumes vorgegangen. Bei jedem Knoten wird ein Attribut abgefragt (z.B. ein Fahrzeugzustand) und hierüber eine Entscheidung über die Auswahl des folgenden Knoten getroffen. Diese Prozedur wird so lange fortgesetzt, bis ein Blatt des Entscheidungsbaums erreicht wird. Das Blatt charakterisiert eine Aktion einer Mehrzahl von möglichen Aktionen. Das Blatt kann zum Beispiel ein Bremsdruck-auf/abbaucharakterisieren. Die Parameter θ sind in diesem Beispiel Entscheidungsschwellwerte o.ä..
-
Der Fahrdynamikregler 60 kann alternativ durch ein RBF Netzwerk (radial basis functions) oder durch eine Deep RNN policy gegeben sein. Es sei angemerkt, dass die parametrisierte Funktion ƒ auch eine beliebig andere mathematische Funktion sein kann, die den Zustand des Fahrzeugs abhängig von den Parametern auf ein Ansteuersignal abbildet.
-
2 zeigt eine schematische Darstellung eines Flussdiagramms 20 zu Parametrisieren des Fahrdynamikreglers 60 und optional eines anschließenden Betreibens des Fahrdynamikreglers 60 im Fahrzeug 100.
-
Das Verfahren beginnt mit Schritt S21. In diesem Schritt erfolgt ein Sammeln von Fahrdaten des Fahrzeugs 100. Die Fahrdaten sind zum Beispiel eine Datenreihe s0, s1, ..., st, ..., sT, die ein Zustand s des Fahrzeugs 100 entlang eines Fahrmanövers beschreiben. Diese Fahrdaten sind bevorzugt ein Datentupel, umfassend die Zustandsdaten st sowie Aktionsdaten at zu einem jeden Zeitpunkt t des Manövers.
-
Für den Fall, dass der Fahrdynamikregler 60 ein ABS Regler ist, kann z.B. unter Verwendung eines bekannten ABS Reglers oder durch Führen des Fahrzeuges 100 durch einen Fahrer, ein Bremsvorgang aufgezeichnet werden, wobei die Zustandsdaten (st) beispielhaft folgende Sensordaten umfassen: Fahrzeug Geschwindigkeit vveh, Beschleunigung aveh, vorzugsweise nachfolgende Sensordaten pro Rad des Fahrzeuges 100: Rad Geschwindigkeit vwheel, Beschleunigung awheel, Ruckeln (engl. jerk) jwheel. Die Aktionsdaten (at) sind die im jeweiligen Zustand gewählten Bremskräfte, bevorzugt auch eine Größe, die einen Straßenbelag charakterisiert.
-
Alternativ können die Fahrdaten per Simulation erzeugt werden, in welcher ein fiktives Fahrzeug in einer simulierten Umgebung ein oder eine Mehrzahl von (Brems-) Manövern ausführt.
-
Daraufhin kann Schritt S22 folgen. Hierin werden die aufgezeichneten Zustandsdaten s teilweise rekonsturiert. Denn typischerweise werden nicht alle benötigten Informationen über den Zustand eines Systems (Autos) von internen Sensoren gemessen (z. B. Neigung des Fahrzeugs, Aufhängungsverhalten, Radbeschleunigung). Für das Lernen und die Modellierung müssen diese latenten Informationen zurückgewonnen werden, um Vorhersagen und Optimierungen zu ermöglichen. Dieser Bereich wird typischerweise als latente Zustandsinferenz (z. B. Hidden-Markov-Modelle) bezeichnet und durch Filter-/Glättungsalgorithmen (z. B. Kalman-Filter) gelöst. Vorzugsweise wird die Rekonstruktion des Schrittes S22 der Fahrzeugzustände mittels des Kalman-Filters durchgeführt.
-
Nach Beendigung des Schrittes S21 oder des Schrittes S22 folgt Schritt S23. In diesem Schritt wird ein Modell P bereitgestellt. Das Bereitstellen kann entweder dadurch erfolgen, dass das Modell P basierend auf den Aufzeichnungen nach Schritt S21 erstellt wird oder es wird ein physikalisches Modell bereitgestellt.
-
Das Modell P(st+1|st,at) ist ein Modell, welches abhängig von einem Fahrzeugzustand st zu einem Zeitpunkt t und einem davon abhängig gewählten Ansteuersignal einen nachfolgenden Fahrzeugzustand st+1 zu dem unmittelbar nachfolgenden Zeitpunkt t + 1 vorhersagt.
-
Bevorzugt ist das Modell P(st+1|st,at) ein physikalisches Modell erster Ordnung. D.h. das physikalische Modell umfasst Gleichungen, welche physikalische Zusammenhänge beschreiben und abhängig von dem aktuellen Fahrzeugzustand st und der Aktion at den nachfolgenden Fahrzeugzustand st+1 insbesondere deterministisch vorhersagen. Exemplarisch kann sich für den Fahrdynamikregler 60 für ABS das physikalische Modell aus einem oder einer Mehrzahl von Teilmodellen der nachfolgenden Liste aus Teilmodellen zusammensetzen: ein erstes Teilmodell, welches ein physikalisches Modell eines Rades des Fahrzeugs 100 ist, ein zweites Teilmodell, welches den Schwerpunkt des Fahrzeuges beschreibt, ein drittes Teilmodell, welches ein physikalisches Modell des Dämpfers ist, ein viertes Teilmodell, welches ein physikalisches Modell des Reifen ist und ein fünftes Teilmodell, welches ein multi-dimensionales Modell eines Hydraulikmodells ist. Es sei angemerkt, dass die Liste nicht abschließend ist und weitere physikalische Merkmale wie Reifen-/Bremsentemperatur usw. berücksichtigt werden können.
-
Es sei angemerkt, dass neben dem Modell P auch andere Ansätze denkbar sind, um die Parametrisierung zu optimieren. Alternativ zu dem Modell kann auch ein sog. Model-Free Reinforcement Learning Ansatz oder ein Value-Based Reinforcement Learning Ansatz gewählt werden. Entsprechend wird dann in Schritt S23 z.B. die Q-Funktion für Value-Based Reinforcement Learning basierend auf den Aufzeichnungen aus Schritt S21 erstellt.
-
Nach Schritt S23 kann Schritt S24 folgen. Schritt S24 kann als „On-policy Korrektur“ bezeichnet werden. Hierbei wird ein Korrekturmodell g erstellt, welches Vorhersagen des Modells P(st+1|st,at) über Fahrzeugzustände derart korrigiert, dass sich die korrigierten Vorhersagen mit den erfassten Vorhersagen aus Schritt S21 im Wesentlichen decken.
-
Vorzugsweise wird der korrigierte Fahrzeugzustand wie folgt korrigiert:
-
Das Korrekturmodell g wird so erstellt, das es dahingehend optimiert wird, dass es gegeben st und at den einen Wert ausgibt, der den Fehler des Modells P(st+1|st,at) zu dem erfassten Fahrzeugzuständen nach S21 entspricht.
-
Ferner hat das Korrekturmodell g den Vorteil, dass es eine mangelnde Übereinstimmung des Modells P verglichen zu dem tatsächlichen Verhalten des Fahrzeugs korrigiert.
-
Um die mangelnde Übereinstimmung des Modells P verglichen zu dem tatsächlichen Verhalten des Fahrzeugs zu korrigieren können alternativ oder zusätzlich folgende Maßnahmen ergriffen werden. Es ist denkbar, dass hierfür ein sog. Transfer Learning verwendet wird, welches vorhergehend ermittelte Fahrzeugzustände einbezieht und damit ein schnelleres Lernen des Modells für die konkrete Fahrzeuginstanz erlaubt. Denkbar ist auch, dass eine Mehrzahl von unterschiedlichen Modellen verwendet werden, wodurch durch dieses Ensemble ein robusteres Reglerverhalten gelernt werden kann.
-
Nach Schritt S23 oder Schritt S24 folgt Schritt S25. Hierin werden eine Mehrzahl von Rollouts ausgeführt. D.h. unter Verwendung der aktuellen Parametrisierung θk des Fahrdynamikreglers 60 und unter Verwendung des Modells P, insbesondere zusätzlich mit dem Korrekturmodell g, wird der Fahrdynamikregler für ein Manöver angewendet und die hieraus resultierende Trajektorie, insbesondere ermittelte Abfolgen von Fahrzeugzuständen, wird erfasst.
-
Es sei angemerkt, dass neben dem Modell P auch andere Ansätze denkbar sind, um die Parametrisierung zu optimieren (Model-Free Reinforcement Learning Ansatz oder Value-Based Reinforcement Learning Ansatz). Entsprechend muss in diesem Rollout Schritt das Erfassen der Trajektorie angepasst werden.
-
Nachdem Schritt S25 ausgeführt wurde oder nachdem Schritt S25 mehrmals wiederholt ausgeführt wurde, folgt Schritt S26. In diesem Schritt erfolgt eine Auswertung von Kosten für die erfasste(n) Trajektorie(n) aus Schritt S25.
-
Die Kosten für die Trajektorie können wie folgt ermittelt werden. Vorzugsweise werden für jede vorgeschlagene Aktion des Fahrdynamikreglers 60 Kosten ermittelt. Hierfür kann eine Kostenfunktion c(s,a) die Kosten abhängig von der bisherigen Trajektorie oder des aktuellen Fahrzeugzustandes s
t sowie der aktuell gewählten Aktion a
t ermitteln. Die Gesamtkosten für eine Trajektorie können dann über das gesamte Manöver, also über alle Zeitpunkte t akkumuliert, werden:
-
Die Kostenfunktion c(s,a) kann sich wie folgt zusammensetzen:
wobei a
n vorgebbare Koeffizienten sind, welche z.B. durch einen Applikationsingeneur vorgegeben werden oder auf initale Werte gesetzt werden. Diese Koeffizienten können einen Wert zwischen 0 und 1 annehmen.
-
Unter der steerability kann eine Steuerbarkeit des Fahrzeuges verstanden werden. Diese kann abhängig von einer lateral auf das Fahrzeug wirkende Kraft (F_lat) ermittelt werden (z.B. F_lat,max-F_lat,current), ggf. auch abhängig von einer normalisierten lateralen Kraft:
-
Die Steuerbarkeit kann auch negativ definiert sein, wenn die Kostenfunktion minimiert werden soll. Zusätzlich oder alternativ kann die Steuerbarkeit auch abhängig von longitudinalen Kräften ermittelt werden, sodass die longitudinalen Kräfte nicht vollständig ausgenutzt werden, um noch „Spielraum“ für laterale Kräfte zu lassen. Dafür kann einen Ziel-Schlupfbereich definiert werden (z.B. slip ∈ [slip_min, slip_max]) um dann z.B. mit einer sigmoid Funktion auf entsprechende Kosten abzubilden.
-
Unter der mean deceleration kann eine Mittelung über alle Beschleunigungen der Trajektorie verstanden werden, z.B.
-
Weitere Komponenten der Kostenfunktion können gegeben sein durch jegliches Verhalten des Fahrzeugs, welches bestraft oder belohnt werden soll. Exemplarisch kann dies sein: ein KomfortjJerk, also wie ruckelig die Bremsung ist, oder Hardware-Anforderungen (wie belastend ist die Bremsung für Bremssystem, Fahrzeug, Hydraulik, Reifen, eine Performance (z.B. Bremsweg, Beschleunigung), einen Geradeauslauf, also ein Verhalten um die Hochachse.
-
Alle diese Komponenten können anhand von unterschiedlichen Signalen (Sensorsignalen oder Schätzungen) und anhand von unterschiedlichen Kostenfunktionen bewertet werden. z.B. Mean Absolute Error, Mean Squared Error, Root Mean Squared Error zwischen aktuellem und Zielzustand (z.B. im Slip, Reibwert, Jerk), oder Standardabweichung eines Signals.
-
Eine weitere Komponente der Kostenfunktion kann ein gesamter Bremsweg sein. Dies kann ein einzelner Wert sein, welcher erst in dem Zeitschritt erhältlich ist, in dem die Bremsung beendet ist (z.B. vveh < vtreshold -> c, wobei c der gesamte Bremsweg ist, oder eine Summe über v * dt für jeden Zeitschritt, in dem die Bremsung aktiv ist.
-
Eine weitere Komponente der Kostenfunktion kann eine Abweichung über einen Schlupf zu einem Zielschlupf sein: ||slip-lip_target||^2 und/oder eine mittlere Beschleunigung: mean std(acceleration).
-
Nachdem die Gesamtkosten in Schritt S26 für die Trajektorie oder die Mehrzahl der Trajektorien ermittelt wurden, folgt Schritt S27. In diesem Schritt werden die Parameter θ des Fahrdynamikreglers 60 iterativ derart angepasst, dass diese die Gesamtkosten reduzieren. Dabei kann eine Optimierung wie folgt definiert sein:
-
Diese Optimierung über die Parameter θ kann über ein Gradientenabstiegsverfahren über die Gesamtkosten J erfolgen.
-
Pro Iteration k der Optimerung werden dann die aktuellen Parameter θ
k wie folgt angepasst:
wobei λ ein Koefizient ist, welcher einen Wert kleiner 1 annimmt.
-
Die Iteration kann so lange ausgeführt werden, bis ein Abbruchkriterium erfüllt ist. Abbruchkriterien könnten z.B. sein: eine Anzahl an max. Iterationen, eine minimale Änderung in J < Jtreshold, eine minimale Änderung der Parameter θ < θthreshold.
-
Für den Fall, dass eine Mehrzahl von Gesamtkosten, insbesondere für unterschiedliche Manöver, ermittelt wurden, können die Parameter batch-weise über die Mehrzahl der Gesamtkosten angepasst werden. Das batch-weise Vorgehen kann als ein Batch über Modell-Parameter, als ein Batch über Szenarien/Manöver oder als ein Batch über Sub-trajektorien erfolgen.
-
Nachdem Schritt S27 abgeschlossen wurde, können die Schritte S25 bis S27 erneut ausgeführt werden, alternativ können auch die Schritte S21 bis 27 erneut ausgeführt werden.
-
Im optionalen Schritt S28 wird das Steuerungssystem 40 des Fahrzeuges 100 mit dem angepassten Fahrdynamikregler 60 aus Schritt S27 initialisiert.
-
Im nachfolgenden optionalen Schritt S29 wird das Fahrzeug 100 mit dem angepassten Fahrdynamikregler 60 betrieben. Dabei kann das Fahrzeug 100 durch diesen Fahrdynamikregler 60 gesteuert werden, dann, wenn er in einer entsprechenden Situation aktiviert wird, beispielsweise wenn eine Notbremsung durchgeführt wird.
-
In einer weiteren Ausführungsform des Verfahrens nach 2 können, nachdem Schritt S27 abgeschlossen wurde, auch die Schritte S21 bis 27 erneut ausgeführt werden, jedoch wird der angepasste Fahrdynamikregler 30 nach Schritt S27 auf ein weiteres Fahrzeug eines anderen Fahrzeug-models oder -types gespielt und neue Messungen nach Schritt S21 durchgeführt. Dies ermöglicht, ein optimierten Fahrdynamikregler 60 für ein anderes Fahrzeug mit geringen Aufwand nach zu optimieren.
-
In einer weiteren Ausführungsform des Verfahrens nach 2 wird eine Mehrzahl von unterschiedlichen Modellen P bereitgestellt bzw. erzeugt und Trajektorien für jedes der Modelle erzeugt. Diese Modelle unterscheiden sich darin, dass diese unterschiedliche Szenarien beschreiben und/oder unterschiedliche Dynamiken von externen Größen, z.B. Straßenbelag oder andere Fahreigenschaften von anderen Fahrzeugmodelltypen oder Verschleiß der Reifen/andere Komponenten des Fahrzeuges, berücksichtigen. Dies hat den Vorteil, dass der Fahrdynamikregler lernt, mit zeitlichen Änderungen umgehen zu können.
-
3 zeigt schematisch eine Trainingsvorrichtung 300 zum Parametrisieren des Fahrdynamikreglers 60. Die Trainingsvorrichtung 300 umfasst einen Bereitsteller 31, der entweder die aufgezeichneten Fahrdaten aus Schritt S21 bereitstellt oder eine simulierte Umgebung ist, die entsprechend der ausgeführten Aktionen des Fahrdynamikreglers 60 einen Zustand erzeugt. Die Daten des Bereitsteller 31 werden an den Fahrdynamikregler 60 weitergeleitet, der hieraus die jeweilige Aktion ermittelt. Die Daten des Bereitstellers 31 und die Aktionen werden einem Beurteiler 33 zugeführt, der hieraus gemäß Schritt S27 angepasste Parameter ermittelt, die dem Parameterspeicher P übermittelt werden und dort die gegenwärtigen Parameter ersetzen.
-
Die von der Trainingsvorrichtung 300 ausgeführten Schritte können als Computerprogramm implementiert auf einem maschinenlesbaren Speichermedium 34 hinterlegt sein und von einem Prozessor 35 ausgeführt werden.
-
Der Begriff „Computer“ umfasst beliebige Geräte zur Abarbeitung vorgebbarer Rechenvorschriften. Diese Rechenvorschriften können in Form von Software vorliegen, oder in Form von Hardware, oder auch in einer Mischform aus Software und Hardware.