-
Die Erfindung betrifft einen Regler zur Regelung zumindest einer Regelgröße. Insbesondere betrifft die Erfindung ein Verfahren und eine entsprechende Vorrichtung zum Anlernen einer Reglerfunktion für einen Regler, der ein variables Regelziel in Bezug auf die zumindest eine Regelgröße aufweist.
-
Ein Fahrzeug kann eine Fahrfunktion aufweisen, bei der mittels eines Reglers zumindest eine Regelgröße auf einen bestimmten Sollwert eingestellt wird, wobei sich der Sollwert mit der Zeit ändern kann. Beispielsweise kann bei einem Abstands- und/oder Geschwindigkeitsregler des Fahrzeugs die Fahrgeschwindigkeit des Fahrzeugs auf eine bestimmte Sollgeschwindigkeit oder auf die (sich typischerweise mit der Zeit ändernde) Fahrgeschwindigkeit eines vor dem Fahrzeug fahrenden Vorder-Fahrzeugs geregelt werden.
-
Der für eine Fahrfunktion verwendete Regler kann während der Fahrzeugentwicklung an die Eigenschaften eines jeweiligen Fahrzeugtyps angepasst werden, z.B. um den durch den Regler bewirkten Regelfehler im zeitlichen Mittel zu reduzieren. Die Anpassung eines Reglers an unterschiedliche Fahrzeugtypen ist typischerweise mit einem relativ hohen Entwicklungsaufwand verbunden. Des Weiteren können Änderungen der Fahrzeugeigenschaften, wie z.B. die jeweilige Beladung des Fahrzeugs und/oder die jeweilige Bereifung des Fahrzeugs, ggf. nicht berücksichtigt werden.
-
Das vorliegende Dokument befasst sich mit der technischen Aufgabe, einen Regler zur Einstellung zumindest einer Regelgröße mit variablem Regelziel bereitzustellen, der in effizienter, präziser und flexibler Weise an die Eigenschaften einer Regelstrecke (d.h. eines Systems), insbesondere an eine Regelstrecke in einem Fahrzeug, angepasst werden kann.
-
Die Aufgabe wird jeweils durch die unabhängigen Ansprüche gelöst. Vorteilhafte Ausführungsformen werden u.a. in den abhängigen Ansprüchen beschrieben. Es wird darauf hingewiesen, dass zusätzliche Merkmale eines von einem unabhängigen Patentanspruch abhängigen Patentanspruchs ohne die Merkmale des unabhängigen Patentanspruchs oder nur in Kombination mit einer Teilmenge der Merkmale des unabhängigen Patentanspruchs eine eigene und von der Kombination sämtlicher Merkmale des unabhängigen Patentanspruchs unabhängige Erfindung bilden können, die zum Gegenstand eines unabhängigen Anspruchs, einer Teilungsanmeldung oder einer Nachanmeldung gemacht werden kann. Dies gilt in gleicher Weise für in der Beschreibung beschriebene technische Lehren, die eine von den Merkmalen der unabhängigen Patentansprüche unabhängige Erfindung bilden können.
-
Gemäß einem Aspekt wird eine Vorrichtung zum Anlernen und/oder Anpassen einer Reglerfunktion für ein zu regelndes System beschrieben. Die Regelfunktion kann ausgebildet sein, Aktionswerte für ein oder mehrere Aktionen zu ermitteln, um ein oder mehrere (gemessene bzw. messbare) Zustandsgrößen (z.B. ein oder mehrere Regelgrößen) des Systems zu verändern, insbesondere auf Sollwerte für die ein oder mehreren Zustandsgrößen einzustellen bzw. zu regeln. Die ein oder mehreren Aktionen können ein oder mehrere Stellgrößen des Systems sein. Beispielhafte Zustandsgrößen eines Fahrzeugs sind die Fahrgeschwindigkeit des Fahrzeugs und/oder ein bestimmter Lenkwinkel des Fahrzeugs. Beispielhafte Aktionen für ein Fahrzeugs sind Steuergrößen für einen Antriebsmotor bzw. für eine Bremse und/oder für eine elektrisch ansteuerbare Lenkung des Fahrzeugs.
-
Die Reglerfunktion kann ein oder mehrere Reglerparameter für die entsprechenden ein oder mehreren (messbare und/oder gemessene) Zustandsgrößen des Systems umfassen. Ein von der Reglerfunktion bereitgestellter Aktionswert für einen aktuellen Zeitpunkt (z.B. t) kann eine mit den ein oder mehreren Reglerparametern gewichtete Linearkombination der Zustandswerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt umfassen, insbesondere sein.
-
Die Vorrichtung kann ausgebildet sein, auf Basis von Trainingsdaten (die z.B. während des Betriebs des Systems erfasst werden), die Reglerfunktion anzulernen bzw. anzupassen, um zu bewirken, dass durch die Reglerfunktion die Zustandswerte der ein oder mehreren Zustandsgrößen in präziser und robuster Weise auf Sollwerte für die Zustandswerte der ein oder mehreren Zustandsgrößen eingestellt, insbesondere geregelt, werden. Die Sollwerte können sich dabei während des Betriebs des Systems mit der Zeit ändern.
-
Die Vorrichtung kann eingerichtet sein, Zustandswerte der ein oder mehreren (messbaren bzw. gemessenen) Zustandsgrößen des Systems für den aktuellen Zeitpunkt (z.B. repräsentiert durch t) und für einen (ggf. direkt) nachfolgenden Zeitpunkt (z.B. repräsentiert durch t + 1) zu ermitteln. Die Zustandsgrößen können mit einer bestimmten Abtastrate abgetastet werden. Die beiden Zeitpunkte können gemäß der Abtastrage zeitlich zueinander beabstandet sein.
-
Die Zustandswerte können z.B. auf Basis von (Trainings-) Daten ermittelt werden, die während des Betriebs des Systems erfasst wurden bzw. werden. Zu diesem Zweck können ein oder mehrere Sensoren zur Messung der ein oder mehreren Zustandsgrößen verwendet werden (z.B. ein Geschwindigkeitssensor, ein Lenksensor, etc.).
-
Die Vorrichtung ist ferner eingerichtet, zumindest einen Teil der Zustandswerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt und/oder für den nachfolgenden Zeitpunkt auf Basis der Sollwerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt und für den nachfolgenden Zeitpunkt anzupassen. Wie bereits oben dargelegt, können sich die Sollwerte für die ein oder mehreren Zustandsgrößen mit der Zeit verändern. Beispielsweise kann sich die für ein Fahrzeug vorgegebene Sollgeschwindigkeit mit der Zeit verändern.
-
Zum Anlernen der Reglerfunktion können die tatsächlich erfassten Zustandswerte der ein oder mehreren Zustandsgrößen angepasst werden, insbesondere um zu bewirken, dass die zum Teil angepassten Zustandswerte eine (fiktive) Situation wiedergeben, bei der an dem aktuellen Zeitpunkt und an dem nachfolgenden Zeitpunkt unveränderte bzw. gleiche Referenz-Sollwerte für die Zustandswerte der ein oder mehreren Zustandsgrößen vorlagen. Es können somit auf Basis der tatsächlichen Trainingsdaten für zwei aufeinander folgende Zeitpunkte angepasste Trainingsdaten für die zwei Zeitpunkte bereitgestellt werden, die eine Situation mit zeitlich unveränderten Sollwerten für die ein oder mehreren Zustandsgrößen beschreiben.
-
Durch eine derartige Anpassung der Zustandswerte der ein oder mehreren Zustandsgrößen für zwei (direkt) aufeinanderfolgende Zeitpunkte kann die Güte der angelernten Reglerfunktion erhöht werden (da die Varianz der angelernten Zustands-Aktions-Wertefunktion reduziert werden kann). Des Weiteren kann die Menge an verfügbaren Trainingsdaten erhöht werden (da auch Trainingsdaten für zwei aufeinander folgende Zeitpunkte zum Anlernen der Reglerfunktion verwendet werden können, zwischen denen sich die Sollwerte verändert haben). Folglich kann die Anlerngeschwindigkeit zum Anlernen der Reglerfunktion erhöht werden.
-
Die Vorrichtung kann somit eingerichtet sein, zumindest einen Teil der Zustandswerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt und/oder für den nachfolgenden Zeitpunkt derart in Abhängigkeit von den Sollwerten der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt und für den nachfolgenden Zeitpunkt anzupassen, dass sich die zumindest teilweise angepassten Zustandswerte für den aktuellen Zeitpunkt und für den nachfolgenden Zeitpunkt auf gemeinsame Referenz-Sollwerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt und für den nachfolgenden Zeitpunkt beziehen. Die gemeinsamen Referenz-Sollwerte können dabei den Sollwerten an dem aktuellen Zeitpunkt oder alternativ den Sollwerten an dem nachfolgenden Zeitpunkt entsprechen. In einem weiteren Beispiel können die Referenz-Sollwerte den Mittelwerten der (entsprechenden) Sollwerte an dem aktuellen Zeitpunkt und an dem nachfolgenden Zeitpunkt entsprechen. So kann in effizienter Weise eine einheitliche Referenz für die Zustandswerte der ein oder mehreren Zustandsgrößen an dem aktuellen Zeitpunkt und an dem nachfolgenden Zeitpunkt bereitgestellt werden.
-
Die Vorrichtung kann z.B. eingerichtet sein, Differenzwerte zwischen den Sollwerten der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt und den Sollwerten der ein oder mehreren Zustandsgrößen für den nachfolgenden Zeitpunkt zu ermitteln. Insbesondere können dazu (jeweils paarweise) die Sollwerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt von den Sollwerten der ein oder mehreren Zustandsgrößen für den nachfolgenden Zeitpunkt abgezogen werden (oder umgekehrt). Es kann dann zumindest ein Teil der Zustandswerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt und/oder für den nachfolgenden Zeitpunkt auf Basis der Differenzwerte angepasst werden.
-
Insbesondere kann die Vorrichtung eingerichtet sein, die Zustandswerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt anhand der Differenzwerte anzupassen. Dabei können die Zustandswerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt um die entsprechenden Differenzwerte erhöht oder reduziert werden (je nach Polarität der Differenzwerte). In diesem Fall können die Zustandswerte der ein oder mehreren Zustandsgrößen für den nachfolgenden Zeitpunkt unverändert gelassen werden. So können in effizienter Weise die Sollwerte für den nachfolgenden Zeitpunkt als Referenz-Sollwerte verwendet werden.
-
Alternativ kann die Vorrichtung eingerichtet sein, die Zustandswerte der ein oder mehreren Zustandsgrößen für den nachfolgenden Zeitpunkt anhand der Differenzwerte anzupassen. Dabei können die Zustandswerte der ein oder mehreren Zustandsgrößen für den nachfolgenden Zeitpunkt um die entsprechenden Differenzwerte reduziert oder erhöht werden. Die Zustandswerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt können in diesem Fall unverändert gelassen werden. So können in effizienter Weise die Sollwerte für den aktuellen Zeitpunkt als Referenz-Sollwerte verwendet werden.
-
Allgemein kann die Vorrichtung eingerichtet sein, die Zustandswerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt und/oder die Zustandswerte der ein oder mehreren Zustandsgrößen für den nachfolgenden Zeitpunkt derart auf Basis der Differenzwerte anzupassen, dass sich die zumindest teilweise angepassten Zustandswerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt und für den nachfolgenden Zeitpunkt auf gemeinsame Referenz-Sollwerte der ein oder mehreren Zustandsgrößen beziehen. Dabei hängen die Referenz-Sollwerte von den Sollwerten an dem aktuellen Zeitpunkt und von den Sollwerten an dem nachfolgenden Zeitpunkt ab.
-
Des Weiteren kann die Vorrichtung eingerichtet sein, mittels der (an dem aktuellen Zeitpunkt geltenden) Reglerfunktion auf Basis der zumindest teilweise angepassten Zustandswerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt einen Aktionswert der Aktion für den aktuellen Zeitpunkt zu ermitteln. Zu diesem Zweck können die zumindest teilweise angepassten Zustandswerte mit den Reglerparametern der Reglerfunktion multipliziert werden, um die o.g. Linearkombination zu ermitteln.
-
Die Vorrichtung kann ferner eingerichtet sein, auf Basis der zumindest teilweise angepassten Zustandswerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt und auf Basis des Aktionswertes für den aktuellen Zeitpunkt einen Schätzwert einer Zustands-Aktions-Wertefunktion für den aktuellen Zeitpunkt zu ermitteln.
-
Die Zustands-Aktions-Wertefunktion kann dabei von der Summe von diskontierten Belohnungen an einer Sequenz von (zukünftigen) aufeinander folgenden aktuellen Zeitpunkten abhängen. Mit anderen Worten, die Zustands-Aktions-Wertefunktion kann anzeigen, welche Summe von diskontierten Belohnungen für ein bestimmtes Paar aus Zustandswerten und Aktionswert zu erwarten ist. Mit noch anderen Worten, der Schätzwert der Zustands-Aktions-Wertefunktion für den aktuellen Zeitpunkt kann anzeigen, welche diskontierte Belohnung (in Summe, zukünftig) ausgehend von einem durch die zumindest teilweise angepassten Zustandswerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt beschriebenen Zustand des Systems für eine durch den Aktionswert beschriebene Aktion für den aktuellen Zeitpunkt zu erwarten ist. Die Vorrichtung kann eingerichtet sein, die Zustands-Aktions-Wertefunktion zusammen mit der Reglerfunktion (iterativ) anzulernen.
-
Der Zustand des Systems kann durch die (zumindest teilweise angepassten) Zustandswerte der ein oder mehreren Zustandsgrößen beschrieben werden. Eine Aktion kann durch einen Aktionswert (z.B. durch einen Wert einer Stellgröße) beschrieben werden. Der von der Zustands-Aktions-Wertefunktion bereitgestellte Wert kann eine Bewertung einer Aktion (d.h. eines Aktionswertes) ausgehend von einem bestimmten Zustand (der durch die zumindest teilweise angepassten Zustandswerte der ein oder mehreren Zustandsgrößen beschrieben wird) darstellen. Die Bewertung kann dabei der Summe der zu erwartenden zukünftigen, diskontierten Belohnungen umfassen bzw. entsprechen.
-
Des Weiteren kann die Vorrichtung eingerichtet sein, die Reglerfunktion in Abhängigkeit von dem Schätzwert der Zustands-Aktions-Wertefunktion anzupassen. Insbesondere kann die Vorrichtung eingerichtet sein, die ein oder mehreren Reglerparameter der Reglerfunktion in Abhängigkeit von dem Schätzwert der Zustands-Aktions-Wertefunktion für den aktuellen Zeitpunkt anzupassen. Zu diesem Zweck kann z.B. das Deterministic Policy Gradient Theorem verwendet werden (wie weiter unten beispielhaft beschrieben).
-
Die Vorrichtung kann insbesondere eingerichtet sein, die Reglerfunktion an einer Sequenz von aufeinander folgenden aktuellen Zeitpunkten iterativ bis Erreichen eines Abbruchkriteriums anzupassen. Mit anderen Worten, das in diesem Dokument beschriebene Lern-Verfahren kann iterativ wiederholt werden. So kann ein zuverlässiges Anlernen der Reglerfunktion bewirkt werden.
-
Die Vorrichtung kann somit eingerichtet sein, die Reglerfunktion und (typischerweise auch) die Zustands-Aktions-Wertefunktion mittels eines Actor-Critic Reinforcement Learning-Algorithmus anzulernen. Dabei kann durch die beschriebene Anpassung der Zustandswerte der ein oder mehreren (gemessenen) Zustandsgrößen für Paare von aufeinander folgenden Zeitpunkten in Bezug auf gemeinsame Referenz-Sollwerte die Güte der ermittelten Reglerfunktion erhöht werden.
-
Die Vorrichtung kann eingerichtet sein, auf Basis der zumindest teilweise angepassten Zustandswerte der ein oder mehreren Zustandsgrößen und auf Basis des Aktionswertes für den aktuellen Zeitpunkt einen Schätzwert eines Wertes einer Belohnung für den aktuellen Zeitpunkt zu ermitteln. Dabei kann die Belohnung von dem Betrag des Aktionswertes für den aktuellen Zeitpunkt abhängen (z.B., um zu bewirken, dass die Reglerfunktion möglichst kleine Aktionswerte, d.h. möglichst kleine Eingriffe in das System, bewirkt). Alternativ oder ergänzend kann die Reglerfunktion von einer Abweichung der zumindest teilweise angepassten Zustandswerte der ein oder mehreren Zustandsgrößen von den Referenz-Sollwerten der ein oder mehreren Zustandsgrößen abhängen (z.B., um zu bewirken, dass die Reglerfunktion eine präzise Regelung auf die Sollwerte für die ein oder mehreren Zustandsgrößen bewirkt). Dabei kann die Abweichung und/oder der Betrag des Aktionswertes jeweils quadratisch in die Belohnung eingehen.
-
Des Weiteren kann die Vorrichtung eingerichtet sein, auf Basis der Schätzwerte der Zustands-Aktions-Wertefunktion für den aktuellen Zeitpunkt und für den nachfolgenden Zeitpunkt und auf Basis des Wertes der Belohnung für den aktuellen Zeitpunkt einen Temporal-Differenz (TD) Fehler zu ermitteln (z.B. anhand der in diesem Dokument beschriebenen Formel). Die Reglerfunktion kann dann in Abhängigkeit von dem TD-Fehler angepasst werden. Insbesondere kann zunächst die Zustands-Aktions-Wertefunktion auf Basis des TD-Fehlers angepasst werden. Basierend auf der angepassten Zustands-Aktions-Wertefunktion kann dann (z.B. mittels des Deterministic Policy Gradient Theorem) die Reglerfunktion angepasst werden. Durch die Anpassung der Zustandswerte kann bewirkt werden, dass sich der TD-Fehler in konsistenter Weise auf einheitliche Referenz-Sollwerte für die ein oder mehreren Zustandsgrößen bezieht. Als Folge daraus kann die Güte der angelernten Reglerfunktion erhöht werden.
-
In einem bevorzugten Beispiel ist die Vorrichtung eingerichtet, die Zustands-Aktions-Wertefunktion durch ein neuronales Netz zu modellieren. Das neuronale Netz der Zustands-Aktions-Wertefunktion kann dann auf Basis des TD-Fehlers angepasst werden. Des Weiteren kann die Reglerfunktion in Abhängigkeit von dem angepassten neuronalen Netz zur Modellierung der Zustands-Aktions-Wertefunktion angepasst werden. So kann in robuster Weise eine qualitativ hochwertige Reglerfunktion bereitgestellt werden.
-
Gemäß einem weiteren Aspekt wird ein Straßenkraftfahrzeug (insbesondere ein Personenkraftwagen oder ein Lastkraftwagen oder ein Bus oder ein Motorrad) beschrieben, das die in diesem Dokument beschriebene Vorrichtung umfasst. Das Fahrzeug kann eine Fahrfunktion umfassen, die eingerichtet ist, unter Verwendung eines Reglers automatisch in die Längs- und/oder Querführung des Fahrzeugs einzugreifen. Die Vorrichtung kann eingerichtet sein, während einer Fahrt des Fahrzeugs die Reglerfunktion für den Regler zu ermitteln und/oder anzupassen. So kann die Fahrfunktion in effizienter und robuster Weise an das Fahrzeug und/oder an den Fahrzeugtyp und/oder an den Zustand (z.B. den Beladungszustand) des Fahrzeugs angepasst werden.
-
Gemäß einem weiteren Aspekt wird ein Verfahren zum Anlernen und/oder Anpassen einer Reglerfunktion für ein zu regelndes System beschrieben. Das Verfahren umfasst das Ermitteln von Zustandswerten von ein oder mehreren Zustandsgrößen des Systems für einen aktuellen Zeitpunkt und für einen nachfolgenden Zeitpunkt. Des Weiteren umfasst das Verfahren das Anpassen zumindest eines Teils der Zustandswerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt und/oder für den nachfolgenden Zeitpunkt auf Basis von Sollwerten der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt und für den nachfolgenden Zeitpunkt (insbesondere auf Basis einer Differenz zwischen den Sollwerten der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt und den Sollwerten der ein oder mehreren Zustandsgrößen für den nachfolgenden Zeitpunkt).
-
Das Verfahren umfasst ferner das Ermitteln, mittels der Reglerfunktion und auf Basis der zumindest teilweise angepassten Zustandswerte der ein oder mehreren Zustandsgrößen für den aktuellen Zeitpunkt, eines Aktionswertes einer Aktion für den aktuellen Zeitpunkt. Außerdem umfasst das Verfahren das Ermitteln, auf Basis der zumindest teilweise angepassten Zustandswerte der ein oder mehreren Zustandsgrößen und auf Basis des Aktionswertes für den aktuellen Zeitpunkt, eines Schätzwertes einer Zustands-Aktions-Wertefunktion für den aktuellen Zeitpunkt, sowie das Anpassen der Reglerfunktion in Abhängigkeit von dem Schätzwert der Zustands-Aktions-Wertefunktion.
-
Gemäß einem weiteren Aspekt wird ein Software (SW) Programm beschrieben. Das SW Programm kann eingerichtet werden, um auf einem Prozessor (z.B. auf einem Steuergerät eines Fahrzeugs) ausgeführt zu werden, und um dadurch das in diesem Dokument beschriebene Verfahren auszuführen.
-
Gemäß einem weiteren Aspekt wird ein Speichermedium beschrieben. Das Speichermedium kann ein SW Programm umfassen, welches eingerichtet ist, um auf einem Prozessor ausgeführt zu werden, und um dadurch das in diesem Dokument beschriebene Verfahren auszuführen.
-
Es ist zu beachten, dass die in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systeme sowohl alleine, als auch in Kombination mit anderen in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systemen verwendet werden können. Des Weiteren können jegliche Aspekte der in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systemen in vielfältiger Weise miteinander kombiniert werden. Insbesondere können die Merkmale der Ansprüche in vielfältiger Weise miteinander kombiniert werden.
-
Im Weiteren wird die Erfindung anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigen
- 1a eine beispielhafte Fahrfunktion eines Fahrzeugs mit einem Regler;
- 1b beispielhafte Komponenten eines Fahrzeugs;
- 1c einen beispielhaften Regelkreis;
- 2a ein beispielhaftes neuronales Netz;
- 2b ein beispielhaftes Neuron;
- 3a eine beispielhafte Vorrichtung zum Anlernen eines Reglers;
- 3b ein beispielhaftes neuronales Netz zur Modellierung einer W ertefunktion;
- 4 ein Ablaufdiagramm eines beispielhaften Verfahrens zum Anlernen eines Reglers; und
- 5 ein Ablaufdiagramm eines beispielhaften Verfahrens zum Anlernen eines Reglers mit variablem Regelziel (insbesondere mit zeitlich veränderlichen Sollwerten für die ein oder mehreren Zustands- bzw. Regelgrößen des Reglers).
-
Wie eingangs dargelegt, befasst sich das vorliegende Dokument mit der Bereitstellung eines Reglers, der in effizienter, präziser und flexibler Weise an die Eigenschaften einer bestimmten Regelstrecke (d.h. eines bestimmten Systems), insbesondere einer Regelstrecke in einem Fahrzeug, angepasst werden kann, und der ein sich mit der Zeit änderndes Regelziel aufweist. In diesem Zusammenhang zeigt 1a ein beispielhaftes Ego-Fahrzeug 110, das hinter einem Vorder-Fahrzeug 120 auf einer Fahrbahn fährt. Das Vorder-Fahrzeug 120 fährt mit einer Fahrgeschwindigkeit 126. Das Ego-Fahrzeug 110 weist eine Fahrfunktion, insbesondere einen Tempomaten oder Adaptive Cruise Control (ACC), auf, die eingerichtet ist, die Fahrgeschwindigkeit 116 des Ego-Fahrzeugs 110 auf einen bestimmten Sollwert einzustellen, insbesondere einzuregeln. Der Sollwert kann dabei die (sich mit der Zeit ändernde) Fahrgeschwindigkeit 126 des Vorder-Fahrzeugs 120 sein, um den Abstand 101 des Ego-Fahrzeugs 110 zu dem Vorder-Fahrzeug 120 auf einen bestimmten Abstands-Sollwert einzustellen. Bei einer Annäherung des Ego-Fahrzeugs 100 an das Vorder-Fahrzeug 120 kann der Sollwert über eine Trajektorie angepasst werden, mit der das Ego-Fahrzeug 100 an das Vorder-Fahrzeug 120 herangeführt wird. Folglich kann sich der von dem Regler einzuregelnde Sollwert mit der Zeit verändern.
-
1b zeigt beispielhafte Komponenten des Ego-Fahrzeugs 110. Das Ego-Fahrzeug 110 umfasst ein oder mehrere Umfeldsensoren 112, die eingerichtet sind, Umfelddaten (d.h. Sensordaten) in Bezug auf das Umfeld des Ego-Fahrzeugs 110 zu erfassen. Beispielhafte Umfeldsensoren 112 sind eine Bildkamera, ein Radarsensor, ein Lidarsensor und/oder ein Ultraschallsensor.
-
Des Weiteren umfasst das Ego-Fahrzeug 110 ein oder mehrere Fahrzeugsensoren 113, die eingerichtet sind, Zustandsdaten (d.h. Sensordaten) in Bezug auf eine Zustandsgröße des Ego-Fahrzeugs 110 zu erfassen. Beispielhafte Zustandsgrößen sind die Fahrgeschwindigkeit 116 und/oder die (Längs-) Beschleunigung des Ego-Fahrzeugs 110. Dabei kann die Fahrgeschwindigkeit 116 ggf. anhand eines ABS Sensors und/oder anhand eines Raddrehzahlsensors ermittelt werden.
-
Ferner umfasst das Ego-Fahrzeug 110 ein oder mehrere Aktoren 114 zur automatischen Längs- und/oder Querführung des Ego-Fahrzeugs 110. Beispielhafte Aktoren 114 sind ein Antriebsmotor, eine Bremsvorrichtung und/oder eine Lenkvorrichtung.
-
Eine Steuereinheit 111 des Ego-Fahrzeugs 110 kann eingerichtet sein, ein oder mehrere Aktoren 114 automatisch auf Basis der Umfelddaten und auf Basis der Zustandsdaten zu betreiben. Insbesondere kann die Steuereinheit 111 eingerichtet sein, die Fahrgeschwindigkeit 116 des Ego-Fahrzeugs 110 auf einen bestimmten Sollwert (z.B. auf die Fahrgeschwindigkeit 126 des Vorder-Fahrzeugs 120) einzustellen. Die Fahrgeschwindigkeit 126 des Vorder-Fahrzeugs 120 bzw. die Differenzgeschwindigkeit zu dem Vorder-Fahrzeug 120 können dabei auf Basis der Umfelddaten ermittelt werden.
-
Zur Einstellung einer Regelgröße (z.B. der Fahrgeschwindigkeit 116) auf einen (sich mit der Zeit ändernden) Sollwert kann ein Regler verwendet werden. 1c zeigt einen beispielhaften Regelkreis 150, bei dem die Regelgröße 156 mittels eines Reglers 153 auf einen Sollwert 151 eingestellt wird. Der Regler 153 ist eingerichtet, auf Basis des Regelfehlers 152 (d.h. der Differenz) aus Regelgröße 156 und (dem jeweils aktuellen) Sollwert 151 eine Stellgröße 154 zu ermitteln.
-
Die ein oder mehreren Aktoren 114 des Ego-Fahrzeugs 110 können in Abhängigkeit von der Stellgröße 154 betrieben werden. Eine beispielhafte Stellgröße 154 ist die kommandierte und/oder angeforderte Beschleunigung des Ego-Fahrzeugs 110. Innerhalb der Regelstrecke 155, die von Eigenschaften des Ego-Fahrzeugs 110 abhängig ist, ergibt sich aus der Stellgröße 154 die Regelgröße 156 (insbesondere über eine Funktion des Systems, die den vorhergehenden Zustand unter Berücksichtigung der Stellgröße 154 auf den aktuellen Zustand abbildet).
-
Wie eingangs dargelegt, ist die Anpassung eines Reglers 153 an die Eigenschaften der jeweiligen Regelstrecke 155 typischerweise mit einem relativ hohen Entwicklungsaufwand verbunden. Des Weiteren ist meist keine flexible und/oder modellfreie Anpassung des Reglers 153 an sich ändernde Eigenschaften der Regelstrecke 155 (z.B. eine Veränderung der Beladung des Ego-Fahrzeugs 110) möglich.
-
Eine Möglichkeit zur effizienten und flexiblen Einstellung und/oder Anpassung eines Reglers 153 ist das Anlernen des Reglers 153 bzw. das Anlernen einer Reglerfunktion mittels ein oder mehrerer neuronaler Netze. 2a und 2b zeigen beispielhafte Komponenten eines neuronalen Netzes 200, insbesondere eines Feedforward-Netzes. Das Netz 200 umfasst in dem dargestellten Beispiel zwei Eingangs-Neuronen bzw. Eingabe-Knoten 202, die zu einem bestimmten Zeitpunkt t jeweils einen aktuellen Wert einer Eingangsgröße als Eingangswert 201 aufnehmen. Die ein oder mehrere Eingangs-Knoten 202 sind Teil einer Eingangs-Schicht 211.
-
Das neuronale Netz 200 umfasst ferner Neuronen 220 in ein oder mehreren verdeckten Schichten 212 des neuronalen Netzes 200. Jedes der Neuronen 220 kann als Eingangswerte die einzelnen Ausgangswerte der Neuronen der vorhergehenden Schicht 212, 211 aufweisen (oder zumindest einen Teil davon). In jedem der Neuronen 220 erfolgt eine Verarbeitung, um in Abhängigkeit von den Eingangswerten einen Ausgangswert des Neurons 220 zu ermitteln. Die Ausgangswerte der Neuronen 220 der letzten verdeckten Schicht 212 können in einem Ausgangs-Neuron bzw. Ausgabe-Knoten 220 einer Ausgangs-Schicht 213 verarbeitet werden, um die ein oder mehreren Ausgangswerte 203 des neuronalen Netzes 200 zu ermitteln.
-
2b veranschaulicht die beispielhafte Signalverarbeitung innerhalb eines Neurons 220, insbesondere innerhalb der Neuronen 202 der ein oder mehreren verdeckten Schichten 212 und/oder der Ausgangs-Schicht 213. Die Eingangswerte 221 des Neurons 220 werden mit individuellen Gewichten 222 gewichtet, um in einer Summeneinheit 223 eine gewichtete Summe 224 der Eingangswerte 221 zu ermitteln (ggf. unter Berücksichtigung eines Bias bzw. Offsets 227). Durch eine Aktivierungsfunktion 225 kann die gewichtete Summe 224 auf einen Ausgangswert 226 des Neurons 220 abgebildet werden. Dabei kann durch die Aktivierungsfunktion 225 z.B. eine Begrenzung des Wertebereichs erfolgen. Für ein Neuron 220 kann z.B. eine Sigmoid-Funktion oder eine Tangens hyperbolicus (tanh)-Funktion oder eine Rectified Linear Unit (ReLU), z.B. f(x) = max(0, x) als Aktivierungsfunktion 225 verwendet werden. Ggf. kann der Wert der gewichteten Summe 224 mit einem Offset 227 verschoben werden.
-
Ein Neuron 220 weist somit Gewichte 222 und/oder ggf. einen Offset 227 als Neuron-Parameter auf. Die Neuron-Parameter der Neuronen 220 eines neuronalen Netzes 200 können in einer Trainingsphase angelernt werden, um zu bewirken, dass das neuronale Netz 200 eine bestimmte Funktion approximiert und/oder ein bestimmtes Verhalten modelliert.
-
Das Anlernen eines neuronalen Netzes 200 kann z.B. anhand des Backpropagation-Algorithmus erfolgen. Zu diesem Zweck können in einer ersten Phase einer qten Epoche eines Lern-Algorithmus für die Eingangswerte 201 an den ein oder mehreren Eingangs-Knoten 202 des neuronalen Netzes 200 entsprechende Ausgangswerte 203 an dem Ausgang der ein oder mehreren Ausgangs-Neuronen 220 ermittelt werden. Auf Basis der Ausgangswerte 203 kann der Wert einer Optimierungs- bzw. Fehlerfunktion ermittelt werden. In dem vorliegenden Fall kann ein Temporal-Differenz (TD) Fehler als Optimierungs- bzw. Fehlerfunktion dienen, wie weiter unten dargelegt.
-
In einer zweiten Phase der qten Epoche des Lern-Algorithmus erfolgt eine Rückpropagation des Fehlers bzw. des Fehlerwertes von dem Ausgang zum Eingang des neuronalen Netzes, um schichtweise die Neuron-Parameter der Neuronen 220 zu verändern. Dabei kann die ermittelte Fehlerfunktion am Ausgang partiell nach jedem einzelnen Neuron-Parameter des neuronalen Netzes 200 abgeleitet werden, um ein Ausmaß und/oder eine Richtung zur Anpassung der einzelnen Neuron-Parameter zu ermitteln. Dieser Lern-Algorithmus kann iterativ für eine Vielzahl von Epochen wiederholt werden, bis ein vordefiniertes Konvergenz- und/oder Abbruchkriterium erreicht wird.
-
Zum Anlernen eines Reglers
153 bzw. einer Reglerfunktion, die eingerichtet ist, auf Basis des Regelfehlers
152 die Stellgröße
154 zu ermitteln, kann das sogenannte Actor-Critic Reinforcement Learning verwendet werden.
3a veranschaulicht eine beispielhafte Vorrichtung
300 zum Anlernen einer Reglerfunktion
303 für einen Regler
153. Die Reglerfunktion
303 kann z.B. durch ein neuronales Netz
200 approximiert werden. Alternativ oder ergänzend kann die Reglerfunktion
303 durch eine analytische Funktion mit ein oder mehreren Reglerparametern beschrieben werden. In diesem Dokument wird beispielhafte die Reglerfunktion
verwendet, wobei k ein Vektor mit ein oder mehreren Reglerparametern ist und wobei y
t der Wert eines Zustandsvektors an dem Zeitpunkt t ist, mit den Werten von ein oder mehreren (messbaren) Zustandsgrößen
306 ist. Eine beispielhafte (messbare oder gemessene) Zustandsgröße
306 ist die Fahrgeschwindigkeit
116 des Ego-Fahrzeugs
110.
-
Die Werte der ein oder mehreren (messbaren oder gemessenen) Zustandsgrößen 306 können die Abweichung der einzelnen Zustandsgrößen von einem jeweiligen Sollwert 301 anzeigen. In diesem Fall zeigen die Werte yt die Werte von ein oder mehreren Regelfehlern an.
-
Die Reglerfunktion 303 wird im Rahmen von Actor-Critic Reinforcement Learning als „Actor“ bezeichnet. Die Reglerfunktion 303 kann dazu genutzt werden, auf Basis der aktuellen Werte der ein oder mehreren Zustandsgrößen 306 die aktuellen Werte ut von ein oder mehreren Stell- bzw. Aktionsgrößen bzw. Aktionen 304 zu ermitteln. Eine beispielhafte Stell- bzw. Aktionsgröße bzw. Aktion 304 ist die kommandierte bzw. angeforderte Beschleunigung des Ego-Fahrzeugs 110.
-
Die aktuellen Werte ut der ein oder mehreren Stell- bzw. Aktionsgrößen 304 können dazu verwendet werden, das zu regelnde System bzw. die Regelstrecke 305 zu betreiben. Insbesondere können die ein oder mehreren Aktoren 114 des Ego-Fahrzeugs 110 in Abhängigkeit von den aktuellen Werten ut der ein oder mehreren Stell- bzw. Aktionsgrößen 304 betrieben werden. Dies bewirkt Werte yt+1 der ein oder mehreren messbaren Zustandsgrößen 306 an einem nachfolgenden Zeitpunkt t + 1.
-
Auf Basis der aktuellen Werte y
t der ein oder mehreren messbaren Zustandsgrößen
306 und auf Basis der aktuellen Werte u
t der ein oder mehreren Stell- bzw. Aktionsgrößen
304 kann der Wert einer Wertefunktion ermittelt werden. Die Wertefunktion kann dabei der diskontierten Summe von Belohnungen entsprechen. Zu jedem Zeitpunkt t kann eine Belohnung dafür vergeben werden, dass die aktuellen Werte y
t der ein oder mehreren messbaren Zustandsgrößen
306 (insbesondere die aktuellen Werte der Regelfehler) möglichst klein sind oder einem bestimmten Zielwert entsprechen. Eine beispielhafte Belohnung ist
wobei C
y und C
u positiv definite Matrizen sind. Dabei wird auch belohnt, dass die aktuellen Werte u
t der ein oder mehreren Stell- bzw. Aktionsgrößen
304, die dazu verwendet werden, zu bewirken, dass die aktuellen Werte y
t der ein oder mehreren messbaren Zustandsgrößen
306 (insbesondere die aktuellen Werte der ein oder mehreren Regelfehler) möglichst klein sind, ebenfalls möglichst klein sind. Der aktuelle Wert
302 der Belohnung an einem bestimmten Zeitpunkt t kann durch die Einheit
307 berechnet werden.
-
Die Reglerfunktion 303 kann derart angelernt werden, dass die Summe der über der Zeit diskontierten Belohnungen vergrößert, insbesondere maximiert, wird. Da aufgrund der unbekannten Regelstrecke 305 nicht bekannt ist, wie sich Aktionen bzw. Stellgrößen 304 auf die Werte yt der ein oder mehreren messbaren Zustandsgrößen 306 (d.h. die Werte der Regelfehler) aufweisen, kann als „Critic“ eine Zustands-Aktions-Wertefunktion 308 angelernt werden, die für jede Kombination aus einem Zustand xt des zu regelnden Systems 305 und einer Aktion ut 304 einen Wert Qπ(Xt, ut) 310 der Summe der über der Zeit diskontierten Belohnungen anzeigt. Dabei umfasst der Zustandsvektor xt typischerweise ein oder mehrere messbare Zustandsgrößen (mit den Werten yt) und ein oder mehrere nicht-messbare Zustandsgrößen (mit den Werten zt).
-
Andererseits kann eine Zustands-Wertefunktion definiert werden, die für einen bestimmten Zustand x
t die Summe der über der Zeit i diskontierten Belohnungen r(x
i,u
i anzeigt,
mit dem Diskontierungsfaktor γ ∈ [0,1]. Dabei kann nach Konvergenz der Wertefunktionen angenommen werden,
wobei u
t+1 = π(x
t+1) mit der angelernten Reglerfunktion π()
303 ist.
-
Die Wertefunktionen können iterativ mit der Zeit angelernt werden, wobei nach Konvergenz gelten sollte
Solange noch keine Konvergenz erreicht ist, kann auf Basis der o.g. Gleichung ein sogenannter Temporal-Differenz (TD) Fehler δ
311 errechnet werden, als
wobei der TD-Fehler δ
311 unter der Annahme
aus dem Wert r(x
t, u
t)
302 der Belohnung an dem Zeitpunkt t und aus den Werten Q
π(x
t, u
t), Q
π(x
t+1, u
t+1)
310 der Zustands-Aktions-Wertefunktion
308 an den Zeitpunkten t und t + 1 berechnet werden kann. Der TD-Fehler δ
311 kann dazu verwendet werden, iterativ die Zustands-Aktions-Wertefunktion
308 und ggf. die Reglerfunktion
303 anzulernen. Insbesondere kann der TD-Fehler δ
311 dazu verwendet werden, die Zustands-Aktions-Wertefunktion
308 anzulernen. Die angelernte Zustands-Aktions-Wertefunktion
308, insbesondere der Gradient der Zustands-Aktions-Wertefunktion
308, kann dann dazu verwendet werden, die Reglerfunktion
303 anzulernen (wie weiter unten dargelegt).
-
Die Zustands-Aktions-Wertefunktion
308 kann durch ein neuronales Netz
200 approximiert und/oder modelliert werden. Dabei kann zum Anlernen der o.g. Backpropagation Algorithmus verwendet werden. Zu diesem Zweck kann der TD-Fehler δ
311 als Fehlerfunktion betrachtet werden, und der Fehler kann dazu verwendet werden, die einzelnen Neuron-Parameter w des neuronalen Netzes
200 anzupassen (z.B. mittels eines Optimierers). Insbesondere kann für jeden Neuron-Parameter w der Gradient
berechnet werden, um den Wert des jeweiligen Neuron-Parameter w anzupassen.
-
Nach Anpassen der Zustands-Aktions-Wertefunktion
308 kann die Reglerfunktion
303 angepasst werden. Zu diesem Zweck können die Auswirkungen einer Änderung der einzelnen Reglerparameter k auf die Zustands-Wertefunktion betrachtet werden. Insbesondere können die folgenden Gradienten für die einzelnen Reglerparameter k berechnet werden:
-
Die Gradienten können dann dazu verwendet werden, die Reglerparameter k anzupassen. Die Anpassung der Zustands-Aktions-Wertefunktion 308 auf Basis des TD-Fehler δ 311 und/oder die Anpassung der Reglerfunktion 303 auf Basis des Gradienten der Zustands-Aktions-Wertefunktion 308 kann durch die Anpassungseinheit 309 erfolgen.
-
Die Vorrichtung 300 kann eingerichtet sein, die Reglerfunktion 303 und/oder die Zustands-Aktions-Wertefunktion 308 iterativ für eine Vielzahl von Zeitpunkten t anzupassen, bis ein Konvergenzkriterium erreicht ist. So kann in effizienter und präziser Weise eine Reglerfunktion 303 für einen Regler 153 ermittelt werden.
-
In den o.g. Gleichungen wurde der Zustandsvektor x
t betrachtet, der in präziser Weise den Zustand des Systems
305 beschreibt. Dabei umfasst der Zustandsvektor x
t typischerweise ein oder mehrere messbare Zustandsgrößen (mit den Werten y
t) und ein oder mehrere nicht-messbare Zustandsgrößen (mit den Werten z
t). Die Vorrichtung
300 kann eingerichtet sein, aktuelle Werte z
t für die ein oder mehrere nicht-messbare Zustandsgrößen auf Basis der Werte von h vorhergehenden Aktionen
304 zu schätzen, z.B. als
wobei
ein Vektor ist, der die Aktionswerte u
t-h bis u
t-1 von h vorhergehenden Aktionen umfasst. Die aktuellen Werte z
t für die ein oder mehreren nicht-messbaren Zustandsgrößen können somit mittels eines FIR (Finite Impulse Response) Filters geschätzt werden. Das FIR Filter kann durch eine Schicht
212 eines neuronalen Netzes
200 approximiert werden.
-
3b zeigt ein neuronales Netz 328, das zur Approximation der Zustands-Aktions-Wertefunktion 308 und der Filterfunktion (d.h. des FIR Filters) angelernt werden kann. Das neuronale Netz 328 nimmt an einem Zeitpunkt t die aktuellen Werte y(1) bis y(n) der n messbaren Zustandsgrößen 306, die (ggf. skalaren) Werte ut-h bis ut-1 von h vergangenen Aktionen 314 und den aktuellen Wert ut der durch die Reglerfunktion 303 berechnete aktuellen Aktion 304 auf. Auf Basis der h vergangenen Aktionen 314 werden mittels eines ersten Teilnetzes 321 (durch die die Filterfunktion modelliert wird) aktuelle Werte der ein oder mehreren nicht-messbaren Zustandsgrößen 316 ermittelt. Somit ergeben sich an einer ersten Zwischenebene 331 die aktuellen Werte y(1) bis y(n) der n messbaren Zustandsgrößen 306 und die aktuellen Werte der ein oder mehreren nicht-messbaren Zustandsgrößen 316 als Schätzung des aktuellen Zustands xt des Systems 305. Des Weiteren umfasst die erste Zwischenebene 331 den aktuellen Wert ut der Aktion 304 (z.B. der Stellgröße 154).
-
Ein zweites Teilnetz 322 (in diesem Dokument auch als Quadratisierungs-Schicht bezeichnet) kann eingerichtet sein, auf Basis der Eingangswerte der ersten Zwischenebene 331 gewichtete Produkte, insbesondere Monome zweiter Ordnung, aller möglichen Paarungen von Eingangswerten als Ausgangswerte an einer zweiten Zwischenebene 332 bereitzustellen. Dadurch kann in effizienter Weise berücksichtigt werden, dass die Zustands-Aktions-Wertefunktion 308 für ein lineares System 305 mit einer quadratischen Belohnungsfunktion und einer linearen Reglerfunktion typischerweise eine quadratische Funktion der einzelnen Zustandsgrößen und der Aktion ist.
-
Ein drittes Teilnetz 323 kann zumindest eine voll-vernetzte Schicht von Neuronen umfassen und kann eingerichtet sein, auf Basis der Werte der zweiten Zwischenebene 332 einen Schätzwert 310 der Zustands-Aktions-Wertefunktion 308 bereitzustellen.
-
Das durch das erste Teilnetz 321 approximierte FIR Filter kann typischerweise mit einem beliebigen Wert skaliert werden, was durch die Gewichte des dritten Teilnetzes 323 kompensiert werden kann. Zur Beseitigung dieses Freiheitsgrades kann beim Anlernen des Netzes 328 eine Normalisierung der Gewichte des ersten Teilnetzes 321 erfolgen. So kann die Robustheit eines Anlern-Verfahrens erhöht werden.
-
Die Anzahl h von vergangenen Aktionen 314 und damit die Länge des FIR Filters können in Abhängigkeit von der Impulsantwort der nicht-messbaren Dynamik des Systems 305 gewählt werden.
-
Zu Beginn einer Trainingsphase können die von der Reglerfunktion 303 bewirkten Aktionen 304 (d.h. die Aktionswerte ut) zufällig oder pseudo-zufällig oder durch ein beliebiges, anderes Anregungssignal gewählt werden (und nicht unter Verwendung der Reglerfunktion 303). Dies kann z.B. für h Epochen erfolgen, um den Puffer für die vergangenen Aktionen 314 zu füllen. So kann eine zuverlässige Konvergenz des Lernverfahrens zu einer möglichst optimalen Reglerfunktion 303 bewirkt werden.
-
4 zeigt ein Ablaufdiagramm eines beispielhaften Verfahrens 400 zum Anlernen und/oder Anpassen einer Reglerfunktion 303 für ein zu regelndes System 305. Das zu regelnde System 305 kann z.B. ein Fahrzeug 110 oder Teil eines Fahrzeugs 110 sein. Das Verfahren 400 kann durch eine Vorrichtung 300 oder durch eine Steuereinheit 111 des Fahrzeugs 110 ausgeführt werden. Das Anlernen und/oder Anpassen der Regelfunktion 303 kann während einer Fahrt des Fahrzeugs 110 erfolgen. Die Reglerfunktion 303 kann dazu verwendet werden, eine bestimmte Regelgröße 156 auf einen bestimmten Sollwert 151 zu regeln.
-
Das Verfahren 400 umfasst, an einem aktuellen Zeitpunkt t, das Ermitteln 401 von aktuellen Zustandswerten yt von ein oder mehreren gemessenen und/oder messbaren Zustandsgrößen 306 des Systems 305. Dabei handelt es sich bei einem aktuellen Zustandswert typischerweise um einen Messwert oder um einen geschätzten Wert einer Zustandsgröße 306. Eine beispielhafte gemessene und/oder messbare Zustandsgröße 306 ist die Fahrgeschwindigkeit 116 des Fahrzeugs 110. Die aktuellen Zustandswerte yt können z.B. anhand der Umfelddaten von ein oder mehreren Umfeldsensoren 112 des Fahrzeugs 110 und/oder auf Basis der Zustandsdaten von ein oder mehreren Fahrzeugsensoren 113 des Fahrzeugs 110 erfasst werden. Es kann Ziel der Regelfunktion 303 sein, zumindest einen Teil der ein oder mehreren gemessenen Zustandsgrößen 306 auf einen Sollwert 301 zu regeln.
-
Außerdem umfasst das Verfahren 400 das Ermitteln 402, auf Basis der aktuellen Zustandswerte yt, eines aktuellen Aktionswertes ut einer Aktion (z.B. einer Stellgröße 154, etwa der Beschleunigung) 304 mittels der Reglerfunktion π() 303, z.B. als ut = π(yt). Dabei kann die an dem aktuellen Zeitpunkt t gültige Version der Reglerfunktion π() 303 verwendet werden. Bei einem aktuellen Aktionswert handelt es sich um den Wert einer Aktion bzw. einer Stellgröße, wie z.B. um den Wert der kommandierten und/oder angeforderten Beschleunigung.
-
Des Weiteren kann das Verfahren 400 umfassen, das Schätzen 403, auf Basis von vorhergehenden Aktionswerten ut-1, ..., ut-h der Aktion 304 für h vorhergehende Zeitpunkte, mit h ≥ 1, von aktuellen Zustandswerten ẑt von ein oder mehreren nicht-gemessenen und/oder nicht-messbaren Zustandsgrößen 316 des Systems 305 mittels einer Filterfunktion 321. Die Filterfunktion 321 kann ein Finite Impulse Response (FIR) Filter umfassen bzw. sein, insbesondere ein FIR Filter hter Ordnung.
-
Das Verfahren 400 umfasst ferner das Ermitteln 404, auf Basis der ermittelten aktuellen Zustandswerte yt, auf Basis der geschätzten aktuellen Zustandswerte ẑt und auf Basis des aktuellen Aktionswertes ut, eines Schätzwertes 310 der Zustands-Aktions-Wertefunktion Qπ(xt, ut) 308. Der Schätzwert 310 der Zustands-Aktions-Wertefunktion Qπ(xt, ut) 308 zeigt dabei den Wert der Zustands-Aktions-Wertefunktion Qπ(xt, ut) 308 für den durch die ermittelten aktuellen Zustandswerte yt und die geschätzten aktuellen Zustandswerte ẑt beschriebenen Zustand xt des Systems 305 und für die durch den aktuellen Aktionswertes ut beschriebene Aktion 304 bzw. Stellgröße an. Die Zustands-Aktions-Wertefunktion Qπ(xt, ut) 308 zeigt dabei eine Bewertung dafür an, welche Kosten bzw. welche kumulierte Belohnung ausgehend von dem aktuellen Zustandswert xt für die ein oder mehreren (messbaren und nicht-messbaren) Zustandsgrößen mit dem aktuellen Aktionswert ut für eine Aktion 304 verbunden sind. Die Zustands-Aktions-Wertefunktion Qπ(xt, ut) 308 liefert somit eine Bewertung einer Kombination aus aktuellem Zustandswert xt und aktuellem Aktionswert ut.
-
Die Zustands-Aktions-Wertefunktion Qπ(xt, ut) 308 kann in effizienter und präziser Weise durch ein neuronales Netz 322, 323 modelliert und/oder approximiert werden. Das neuronale Netz 322, 323 zur Modellierung der Zustands-Aktions-Wertefunktion Qπ(xt,ut) 308 kann dabei eine Quadratisierungs-Schicht 322 umfassen, die eingerichtet ist, die ermittelten und geschätzten aktuellen Zustandswerte yt, ẑt und den aktuellen Aktionswert ut als unterschiedliche Eingangswerte aufzunehmen. Insbesondere kann die Quadratisierungs-Schicht 322 jeweils einen Eingangswert für die unterschiedlichen aktuellen Zustandswerte und den aktuellen Aktionswert aufweisen. Des Weiteren kann die Quadratisierungs-Schicht 322 eingerichtet sein, als Ausgangswerte Monome zweiten Grades der Eingangswerte bereitzustellen. Insbesondere kann die Quadratisierungs-Schicht 322 eingerichtet sein, für jede mögliche Paarung der Eingangswerte ein gewichtetes Monom zweiten Grades als Ausgangswert bereitzustellen, und/oder für jeden einzelnen Eingangswert ein gewichtetes Monom zweiten Grades als Ausgangswert bereitzustellen. Durch die Verwendung eines neuronalen Netzes 322, 323 mit einer Quadratisierungs-Schicht 322 kann die Zustands-Aktions-Wertefunktion Qπ(xt, ut) 308 in besonders präziser und robuster Weise angelernt und/oder approximiert werden.
-
Des Weiteren kann das neuronale Netz 322, 323 zur Modellierung der Zustands-Aktions-Wertefunktion 308 eine Kombinations-Schicht 323 umfassen, die eingerichtet ist, die Ausgangswerte der Quadratisierungs-Schicht 322 als Eingangswerte aufzunehmen. Außerdem kann die Kombinations-Schicht 323 ausgebildet sein, den Schätzwert 310 der Zustands-Aktions-Wertefunktion Qπ(xt, ut) 308 als Ausgangswert bereitzustellen. Die Kombinations-Schicht 323 kann dabei eine voll-vernetzte Schicht von Neuronen 202 umfassen (d.h. einen fully connected layer). Durch die Verwendung eines derartigen neuronalen Netzes 322, 323 kann die Zustands-Aktions-Wertefunktion Qπ(xt, ut) 308 in präziser Weise approximiert werden.
-
Die Zustands-Aktions-Wertefunktion 308 kann von der Summe von diskontierten Belohnungen an einer Sequenz von Zeitpunkten abhängen. Alternativ oder ergänzend kann der Schätzwert 310 der Zustands-Aktions-Wertefunktion 308 anzeigen, welche diskontierte Belohnung ausgehend von dem durch die ermittelten und geschätzten aktuellen Zustandswerte beschriebenen Zustand des Systems 305 für die durch den aktuellen Aktionswert beschriebene Aktion 304 zu erwarten ist.
-
Das Verfahren 400 umfasst ferner das Anpassen 405 der Reglerfunktion 303 in Abhängigkeit von dem ermittelten Schätzwert 310 der Zustands-Aktions-Wertefunktion 308. Des Weiteren können die Filterfunktion 321 und/oder die Zustands-Aktions-Wertefunktion 308 in Abhängigkeit von dem ermittelten Schätzwert 310 der Zustands-Aktions-Wertefunktion 308 angepasst werden. Dabei können die Reglerfunktion 303, die Filterfunktion 321 und/oder die Zustands-Aktions-Wertefunktion 308 an einer Sequenz von Zeitpunkten iterativ bis Erreichen eines Abbruchkriteriums (z.B. bis Erreichen einer Konvergenz der jeweiligen Funktion) angepasst werden. Insbesondere können die Reglerfunktion 303, die Filterfunktion 321 und/oder die Zustands-Aktions-Wertefunktion 308 iterativ mittels eines Actor-Critic Reinforcement Learning-Algorithmus angepasst und/oder angelernt werden.
-
Zum Anlernen der Reglerfunktion 303 erfolgt somit die Schätzung von aktuellen Zustandswerten ẑt von ein oder mehreren nicht-gemessenen und/oder nicht-messbaren Zustandsgrößen 316 des Systems 305. Diese geschätzten aktuellen Zustandswerten ẑt werden bei der Anpassung der Zustands-Aktions-Wertefunktion 308 und/oder der Reglerfunktion 303 berücksichtigt. So können die Genauigkeit der ermittelten Reglerfunktion 303 und die Robustheit des Verfahrens 400 zum Anlernen der Reglerfunktion 303 erhöht werden.
-
Die Reglerfunktion 303 kann ein oder mehrere Reglerparameter für die ein oder mehreren gemessenen Zustandsgrößen 306 umfassen (z.B. genau einen Reglerparameter k für jede gemessene Zustandsgröße 306). Der von der Reglerfunktion 303 bereitgestellte aktuelle Aktionswert ut kann eine mit den ein oder mehreren Reglerparametern gewichtete Linearkombination der aktuellen Zustandswerte der ein oder mehreren gemessenen Zustandsgrößen 306 umfassen. Insbesondere kann die Reglerfunktion 303 durch ut = kTyt gegeben sein.
-
Die ein oder mehreren Reglerparameter können dann (iterativ) in Abhängigkeit von dem Schätzwert 310 der Zustands-Aktions-Wertefunktion 308 angepasst werden, um die Reglerfunktion 303 zu ermitteln. So kann in effizienter Weise ein robuster und präziser Regler 153 bereitgestellt werden.
-
In einem bevorzugten Beispiel wird die Filterfunktion 321 durch ein neuronales Netz modelliert. Die Filterfunktion 321, insbesondere das neuronale Netz zur Modellierung der Filterfunktion 321, kann dann in Abhängigkeit von dem Schätzwert 310 der Zustands-Aktions-Wertefunktion 308 angepasst und/oder angelernt werden. Durch die Verwendung eines neuronalen Netzes zur Modellierung der Filterfunktion 321 kann die Schätzung der aktuellen Zustandswerten ẑt von ein oder mehreren nicht-gemessenen und/oder nicht-messbaren Zustandsgrößen 316 des Systems 305 in effizienter und präziser Weise in den iterativen Anlernprozess integriert werden.
-
Das neuronale Netz zur Modellierung der Filterfunktion 321 kann eine Mehrzahl von Gewichten 222, insbesondere (genau) h Gewichte 222, umfassen. Die Mehrzahl von Gewichten 222 kann derart angepasst und/oder angelernt werden, dass die Mehrzahl von Gewichten 222 normalisiert ist (z.B. derart, dass der durch die Mehrzahl von Gewichten 222 gebildete Vektor ein Normalvektor ist). So kann die Robustheit des Verfahrens 400 weiter erhöht werden.
-
Im Rahmen des Verfahrens 400 kann auf Basis der ermittelten aktuellen Zustandswerte yt und/oder auf Basis der geschätzten aktuellen Zustandswerte ẑt und/oder auf Basis des aktuellen Aktionswertes ut ein aktueller Wert r(xt, ut) 302 einer Belohnung ermittelt werden. Dabei umfasst xt die ermittelten aktuellen Zustandswerte yt und bevorzugt die geschätzten aktuellen Zustandswerte ẑt. Die Belohnung kann von dem Betrag des aktuellen Aktionswertes ut abhängen. Alternativ oder ergänzend kann die Belohnung von der Abweichung (z.B. dem Regelfehler) der aktuellen Zustandswerte yt der ein oder mehreren gemessenen Zustandsgrößen 306 von Sollwerten 301 für die ein oder mehreren gemessenen Zustandsgrößen 306 abhängen. Beispielsweise kann die Belohnung derart sein, dass die Belohnung vergrößert wird, wenn die Abweichung reduziert wird und/oder wenn der Betrag des aktuellen Aktionswertes ut reduziert wird.
-
Die Regelfunktion 303, die Filterfunktion 321, und/oder die Zustands-Aktions-Wertefunktion 308 können dann in Abhängigkeit von dem aktuellen Wert
r(xt, ut) 302 der Belohnung angepasst werden. So kann die Güte der ermittelten Reglerfunktion 303 weiter erhöht werden.
-
Insbesondere kann auf Basis des Schätzwertes
310 der Zustands-Aktions-Wertefunktion
308 an zwei aufeinander folgenden Zeitpunkten und auf Basis der aktuellen Belohnung
302 ein Temporal-Differenz (TD) Fehler
311 ermittelt werden. Der TD-Fehler δ
311 kann ermittelt werden, als
wobei γ ∈ [0,1] ein wählbarer Diskontierungsfaktor ist, wobei Q
π(x
t, u
t) der Schätzwert
310 der Zustands-Aktions-Wertefunktion
308 an dem aktuellen Zeitpunkt t ist, und wobei Q
π(x
t+1, u
t+1) der Schätzwert
310 der Zustands-Aktions-Wertefunktion
308 an dem (direkt) nachfolgenden Zeitpunkt t + 1 ist.
-
Die Reglerfunktion 303, die Filterfunktion 321, und/oder die Zustands-Aktions-Wertefunktion 308 können dann in Abhängigkeit von dem TD-Fehler 311 angepasst werden. So kann die Güte der ermittelten Reglerfunktion 303 weiter erhöht werden.
-
Wie bereits oben dargelegt, kann die Zustands-Aktions-Wertefunktion 308 durch ein neuronales Netz 322, 323 modelliert und/oder approximiert werden. Im Rahmen des Verfahrens 400 kann dann das neuronale Netz auf Basis des TD-Fehlers 311 angepasst werden (z.B. unter Verwendung eines Backpropagation-Algorithmus). Des Weiteren kann die Reglerfunktion 303 in Abhängigkeit von dem angepassten neuronalen Netz 322, 323 zur Modellierung der Zustands-Aktions-Wertefunktion 308 angepasst werden. So kann die Güte der ermittelten Reglerfunktion 303 weiter erhöht werden.
-
In einem bevorzugten Beispiel werden die Filterfunktion 321 und die Zustands-Aktions-Wertefunktion 308 durch ein gemeinsames neuronales Netz 328 modelliert und/oder approximiert. Im Rahmen des Verfahrens 400 können an dem aktuellen Zeitpunkt t die Gewichte 222 des gemeinsamen neuronalen Netzes 328, insbesondere mittels eines Backpropagation-Algorithmus, auf Basis des TD-Fehlers 311 angepasst werden. Durch die Verwendung eines gemeinsamen neuronalen Netzes 328 kann die Robustheit des Verfahrens 400 weiter erhöht werden.
-
Wie bereits oben dargelegt, kann das Verfahren 400 iterativ an einer Sequenz von Zeitpunkten wiederholt werden, um die Reglerfunktion 303 anzulernen. An jedem Zeitpunkt kann eine Epoche des Lern-Verfahrens ausgeführt werden. In einer Initialisierungsphase, insbesondere für zumindest h Epochen, können zufällige oder pseudo-zufällige aktuelle Aktionswerte ut ausgewählt werden (ggf. unabhängig von der Reglerfunktion 303). So kann die Güte der ermittelten Reglerfunktion 303 erhöht werden (da lokale Minima vermieden werden können). Insbesondere kann so eine breit gefächerte Anregung des Lern-Verfahrens bewirkt werden, wodurch die Güte der ermittelten Reglerfunktion 303 und/oder die Stabilität des Lernverfahrens erhöht werden.
-
Wie bereits weiter oben dargelegt, kann der TD-Fehler δ
311 als
ermittelt werden, und hängt somit von dem Zustand x
t an dem Zeitpunkt t und dem Zustand x
t+1 an dem nachfolgenden Zeitpunkt t + 1 ab. Die Zustände x
t bzw. x
t+1 können dabei jeweils aus den messbaren Zustandsgrößen y
t bzw. y
t+1 geschätzt werden (wie z.B. in Zusammenhang mit
3b dargelegt).
-
Die Sollwerte ŷ
t bzw. ŷ
t+1 für die messbaren Zustandsgrößen
306 können an den Zeitpunkten t und den Zeitpunkten t + 1 unterschiedlich sein. Um dies zu berücksichtigen können die Zustandsgrößen y
t+1 derart angepasst werden, als hätte auch am Zeitpunkt t + 1 weiterhin der Sollwert ŷ
t gegolten, durch
Mit anderen Worten, die Zustandsgrößen y
t+1 können auf einen Referenz-Sollwert bezogen werden, wobei der Referenz-Sollwert dem Sollwert ŷ
t entspricht.
-
Alternativ können die Zustandsgrößen y
t derart angepasst werden, als hätte bereits am Zeitpunkt t der Sollwert ŷ
t+1 gegolten, durch
Mit anderen Worten, die Zustandsgrößen y
t können auf einen Referenz-Sollwert bezogen werden, wobei der Referenz-Sollwert dem Sollwert ŷ
t+1 entspricht.
-
Als Folge daraus kann ein konsistentes Tupel (xt, ut, r(xt, ut), xt+1) zum Anlernen der Reglerfunktion 303 bereitgestellt werden, das sich auf einen einheitlichen Referenz-Sollwert (z.B. ŷt oder ŷt+1) bezieht. Das Tupel kann dazu verwendet werden, an einem Zeitpunkt t einen konsistenten TD-Fehler δ 311 zu ermitteln (für die fiktive Annahme, dass sich die Sollwerte für die ein oder mehreren Zustandsgrößen 306 zwischen dem aktuellen Zeitpunkt t und dem direkt nachfolgenden Zeitpunkt t + 1 nicht verändert haben).
-
Der konsistente TD-Fehler δ 311 kann dann dazu verwendet werden, die Reglerfunktion 303 anzupassen. Des Weiteren können auch die Filterfunktion 321 (zur Schätzung der Zustandswerte für nicht-messbare Zustandsgrößen) und/oder die Zustands-Aktions-Wertefunktion 308 (zur Ermittlung der Qπ()-Werte) in Abhängigkeit von dem konsistente TD-Fehler δ 311 angepasst werden.
-
Durch die Anpassung der Zustandswerte der ein oder mehreren (messbaren) Zustandsgrößen 306, um für Paare von aufeinanderfolgende Zeitpunkten unveränderte Referenz-Sollwerte zu simulieren, können auch Trainingsdaten für das Anlernen einer Reglerfunktion 303 verwendet werden, bei denen sich die Sollwerte für die ein oder mehreren (messbaren) Zustandsgrößen 306 mit der Zeit verändern. So können die Güte, die Effizienz und die Lerngeschwindigkeit eines Lern-Verfahrens zum Anlernen einer Reglerfunktion 303 erhöht werden.
-
5 zeigt ein Ablaufdiagramm eines beispielhaften (Computer-implementierten) Verfahrens 500 zum Anlernen und/oder Anpassen einer Reglerfunktion 303 für ein zu regelndes System 305 (z.B. für ein Fahrzeug 110). Das Verfahren 500 kann von einer Steuereinheit 111 eines Fahrzeugs 110 ausgeführt werden, z.B. um die Reglerfunktion 303 eines Reglers 150 des Fahrzeugs 110 (an eine aktuelle Betriebsbedingung des Fahrzeugs 110) anzupassen.
-
Das Verfahren 500 umfasst das Ermitteln 501 von Zustandswerten von ein oder mehreren (gemessenen) Zustandsgrößen (insbesondere Regelgrößen) 306 des Systems 305 für einen aktuellen Zeitpunkt t und für einen (direkt) nachfolgenden Zeitpunkt t + 1. Die Zustandswerte können durch ein oder mehrere Sensoren (des Fahrzeugs 110) erfasst werden. Eine beispielhafte Zustandsgröße 306 ist die Fahrgeschwindigkeit des Fahrzeugs 110.
-
Des Weiteren umfasst das Verfahren 500 das Anpassen 502 zumindest eines Teils der Zustandswerte der ein oder mehreren Zustandsgrößen 306 für den aktuellen Zeitpunkt t und/oder für den nachfolgenden Zeitpunkt t + 1 auf Basis von Sollwerten der ein oder mehreren Zustandsgrößen 306 für den aktuellen Zeitpunkt t und für den nachfolgenden Zeitpunkt t + 1, insbesondere auf Basis der Differenz der Sollwerte für den aktuellen Zeitpunkt t und der Sollwerte für den nachfolgenden Zeitpunkt t + 1.
-
Die Reglerfunktion 303 kann darauf ausgelegt sein, die Zustandswerte der ein oder mehreren Zustandsgrößen 306 jeweils auf einen bestimmten Sollwert einzustellen, insbesondere zu regeln. Die Sollwerte der ein oder mehreren Zustandsgrößen 306 können sich dabei mit der Zeit verändern (und können somit für den aktuellen Zeitpunkt t und für den nachfolgenden Zeitpunkt t + 1 unterschiedlich sein). Die Sollwerte können z.B. während des Betriebs eines Fahrzeugs 110 (insbesondere während des Betriebs eines Reglers 150 des Fahrzeugs 110) ermittelt werden.
-
Die Zustandswerte der ein oder mehreren Zustandsgrößen 306 können derart angepasst werden, dass sich die zumindest teilweise angepassten Zustandswerte der ein oder mehreren Zustandsgrößen 306 sowohl für den aktuellen Zeitpunkt t als auch für den nachfolgenden Zeitpunkt t + 1 auf gemeinsame Referenz-Sollwerte der ein oder mehreren Zustandsgrößen 306 für den aktuellen Zeitpunkt t und für den nachfolgenden Zeitpunkt t + 1 beziehen. Mit anderen Worten, die Zustandswerte der ein oder mehreren Zustandsgrößen 306 können derart angepasst werden, dass durch die zumindest teilweise angepassten Zustandswerte eine Situation wiedergegeben wird, bei der sich die Sollwerte der ein oder mehreren Zustandsgrößen 306 zwischen dem aktuellen Zeitpunkt t und dem nachfolgenden Zeitpunkt t + 1 nicht verändern.
-
Die zumindest teilweise angepassten Zustandswerte der ein oder mehreren Zustandsgrößen 306 und/oder die gemeinsamen Referenz-Sollwerte der ein oder mehreren Zustandsgrößen 306 können dazu verwendet werden, einen Wert der Belohnung, z.B. r(xt, ut), zu berechnen. Die derart ermittelte Belohnung kann dann dazu verwendet werden, die Zustands-Aktions-Wertefunktion 308 und/oder die Reglerfunktion 303 anzupassen (z.B. auf Basis der TD-Fehlers).
-
Das Verfahren 500 umfasst ferner das Ermitteln 503, mittels der Reglerfunktion 303 und auf Basis der zumindest teilweise angepassten Zustandswerte der ein oder mehreren Zustandsgrößen 306 für den aktuellen Zeitpunkt t, eines Aktionswertes einer Aktion 304 für den aktuellen Zeitpunkt t. Der Aktionswerte der Aktion 304 kann dabei einem Wert einer Stellgröße des Reglers 150 entsprechen. Eine beispielhafte Aktion 304 ist z.B. die Beschleunigung bzw. die Verzögerung des Fahrzeugs 110. Es kann somit ermittelt werden, welche Aktion 304 von der Reglerfunktion ausgehend von dem aktuellen (angepassten) Zustand ermittelt wird, um zu bewirken, dass der Zustand des Systems den Referenz-Sollwerten der ein oder mehreren Zustandsgrößen 306 angepasst wird.
-
Des Weiteren umfasst das Verfahren 500 das Ermitteln 504, auf Basis der zumindest teilweise angepassten Zustandswerte der ein oder mehreren Zustandsgrößen 306 und auf Basis des Aktionswertes für den aktuellen Zeitpunkt t, eines Schätzwertes 310 einer Zustands-Aktions-Wertefunktion 308 für den aktuellen Zeitpunkt t. Insbesondere können auf Basis der zumindest teilweise angepassten Zustandswerte der Wert Qπ(xt, ut) und basierend darauf der angepasste bzw. konsistente TD-Fehler δ 311 ermittelt werden.
-
Außerdem umfasst das Verfahren 500 das Anpassen 505 der Reglerfunktion 303 in Abhängigkeit von dem Schätzwert 310 der Zustands-Aktions-Wertefunktion 308, insbesondere in Abhängigkeit von dem angepassten bzw. konsistenten TD-Fehler δ 311.
-
Das Verfahren 500 ermöglicht es, auch auf Basis von Trainingsdaten, die sich auf ein Regelziel (d.h. auf Sollwerte der ein oder mehreren Zustandsgrößen 306) beziehen, das sich mit der Zeit ändert, in präziser und effizienter Weise eine Regelfunktion 303 anzulernen.
-
Es sei darauf hingewiesen, dass das Verfahren 500 mit den einzelnen Aspekten aus dem Verfahren 400 kombiniert werden kann. Insbesondere können, wie in Zusammenhang mit Verfahren 400 beschrieben, auch nicht-messbare bzw. nichtgemessene Zustandsgrößen im Rahmen des Lernverfahrens berücksichtigt werden, um die Güte der angelernten Regelfunktion 303 weiter zu erhöhen.
-
Die vorliegende Erfindung ist nicht auf die gezeigten Ausführungsbeispiele beschränkt. Insbesondere ist zu beachten, dass die Beschreibung und die Figuren nur das Prinzip der vorgeschlagenen Verfahren, Vorrichtungen und Systeme veranschaulichen sollen.