-
Die Erfindung betrifft ein Verfahren zum Betreiben eines Fahrzeuges mit einem Energiemanagement, das mit einem bestärkenden-Lernen-Algorithmus betrieben wird. Die Erfindung betrifft des Weiteren eine Vorrichtung zum Betreiben des Fahrzeuges. Die Erfindung betrifft des Weiteren ein Computerprogramm und computerlesbares Speichermedium zum Betreiben des Fahrzeuges.
-
In Fahrzeugen können intelligente Energiemanagementsysteme verbaut sein. Derartige Systeme verfügen beispielsweise über einen bestärkenden-Lernen-Algorithmus (englisch: reinforcement learning), im Folgenden auch mit reinforcement learning bezeichnet. Bei derartigen Systemen erlernt ein Agent selbständig eine Strategie, um erhaltene Belohnungen (englisch: reward) zu maximieren. Ein derartiges System ist beispielsweise der so genannte RARL Algorithmus (siehe A. Heimrath, J. Froeschl, and U. Baumgarten, „Reflex-augmented reinforcement learning for electrical energy management in vehicles,“ in Proceedings of the 2018 International Conference on Artificial Intelligence, H. R. Arabnia, D. de La Fuente, E. B. Kozerenko, J. A. Olivas, and F. G. Tinetti, Eds. CSREA Press, 2018, pp. 429-430).
-
Die Aufgabe, die der Erfindung zugrunde liegt, ist zu einem verbesserten Energiemanagement in Fahrzeugen beizutragen.
-
Die Aufgabe wird gelöst durch die Merkmale der unabhängigen Patentansprüche. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen gekennzeichnet.
-
Die Erfindung zeichnet sich aus durch ein Verfahren zum Betreiben eines Fahrzeuges mit einem Energiemanagement, das mit einem bestärkenden-Lernen-Algorithmus betrieben wird. Des Weiteren zeichnet sich die Erfindung aus durch eine Vorrichtung zum Betreiben des Fahrzeuges, die eingerichtet ist das Verfahren auszuführen.
-
Bei dem Verfahren wird eine Reward-Funktion des bestärkenden-Lernen-Algorithmus in mindestens eine erste Sub-Reward-Funktion und eine zweite Sub-Reward-Funktion aufgeteilt. Die erste Sub-Reward-Funktion ist repräsentativ für eine Reward-Funktion für ein sportliches Fahren. Die zweite Sub-Reward-Funktion ist repräsentativ für eine Reward-Funktion für ein effizientes Fahren. Abhängig von einer Nutzereingabe wird ein jeweiliger Gewichtungsfaktor für die erste und zweite Sub-Reward-Funktion ermittelt. Das Energiemanagement des Fahrzeuges wird abhängig von den Gewichtungsfaktoren angepasst.
-
Die Erfindung ist anwendbar auf alle Energiemanagementsysteme, die mit Belohnungen, also Reward-Funktionen arbeiten, also prinzipiell auf alle Energiemanagementsysteme mit einem reinforcement learning Algorithmus.
-
Bei dem Verfahren wird die von dem Energiemanagementsystem verwendete Reward-Funktion derart genutzt, dass das System nach den Wünschen des Fahrers trainiert wird. Will also ein Fahrer ein sportlicheres Fahren, so wird das Energiemanagementsystem durch Anpassung der Gewichtungsfaktoren sportlicher gelernt. Will ein Fahrer ein effizienteres Fahren, so wird das Energiemanagementsystem durch Anpassung der Gewichtungsfaktoren effizienter gelernt.
-
Hierdurch kann somit ein Energiemanagementsystem individuell an einen Fahrer angepasst werden, was zu einer besseren Leistungsverfügbarkeit und einem besseren Fahrerlebnis führt. Weiterhin kann durch die Anpassung an den Fahrer eine Steigerung von Effizienz und Reduzierung der CO2-Emissionen im verbrennungsmotorischen Betrieb und/oder eine Erhöhung der Reichweite im elektrischen Betrieb bei PHEV/BEV-Fahrzeugen erreicht werden (PHEV = Plug-in-Hybrid, also Fahrzeug mit Hybridantrieb, BEV= Battery Electric Vehicle, also Elektroauto) .
-
Die erste Sub-Reward-Funktion steht beispielsweise für eine hohe Energieverfügbarkeit und einen hohen Ladezustand eines elektrischen Energiespeichers des Fahrzeugs. Weiterhin kann ein Generator (oder bei PHEV/BEV-Fahrzeugen Degradation der Transferleistung der DC/DC-Wandler) beim Anfahren ausgekoppelt werden, um bessere Beschleunigungswerte zu erreichen.
-
In die Berechnung der ersten-Sub-Reward-Funktion gehen beispielsweise ein, ob der Ladezustand sich zu einem vorgegebenen Ziel-Ladezustand des Energiespeichers durch die Aktion des Reinforcement Learning Agents bewegt hat und eine Änderung des Ladezustands der Vorhersagen von Rekuperation und einer Motor-Start-Stop-Funktion angemessen war.
-
In die Berechnung der zweiten Sub-Reward-Funktion gehen beispielsweise eine mittlere Generatorauslastung in einem letzten Betrachtungszeitraum und mittlere Leitungsverluste im Betrachtungszeitraum ein. Für die Berechnung der mittleren Leitungsverluste ist beispielsweise ein Modell der Leitungswiderstände hinterlegt und die entsprechenden Ströme zwischen den Komponenten werden gemessen.
-
Gemäß einer optionalen Ausgestaltung wird ein wählbarer Wertebereich für jeden Gewichtungsfaktor mittels einer Simulation ermittelt.
-
Hierdurch kann einem Nutzer ein Bereich mit Werten vorgegeben werden, aus denen er den Gewichtungsfaktor bestimmen kann. Des Weiteren kann durch die Simulation ein geeigneter Initialwert für jeden Gewichtungsfaktor ermittelt werden, der initial vorausgewählt ist.
-
Zur Bestimmung des Wertebereichs wird beispielsweise in der Simulation ein Bereich von zulässigen Werten derart bestimmt, damit regulatorische Anforderungen des Fahrzeugs für Fahrzyklen wie beispielsweise WLTP erfüllt sind (WLTP: Worldwide harmonized Light vehicles Test Procedure deutsch etwa weltweit einheitliches Leichtfahrzeuge-Testverfahren, ist ein von Experten aus der Europäischen Union, Japan und Indien und nach den Richtlinien des World Forum for Harmonization of Vehicle Regulations der Wirtschaftskommission für Europa der Vereinten Nationen (UNECE) entwickeltes, Messverfahren zur Bestimmung der Abgasemissionen (Schadstoff- und CO2-Emissionen) und des Kraftstoff-/Stromverbrauchs von Kraftfahrzeugen). Dies erfolgt beispielsweise mittels eines Sampling der Gewichtungsfaktoren, einem Training des reinforcement learning Algorithmus in einem Simulator und einem Test im Simulator.
-
Gemäß einer weiteren optionalen Ausgestaltung wird ein wählbarer Wertebereich für jeden Gewichtungsfaktor abhängig von Flottendaten ermittelt.
-
Hierdurch kann einem Nutzer ein Bereich mit Werten vorgegeben werden, aus denen er den Gewichtungsfaktor bestimmen kann. Des Weiteren kann ein geeigneter Initialwert für jeden Gewichtungsfaktor ermittelt werden, der initial vorausgewählt ist.
-
Die Flottendaten repräsentieren hierbei Daten von einer Vielzahl von Fahrzeugen. Die Flottendaten werden hierzu beispielsweise in Cluster aufgeteilt abhängig von einem Merkmalsvektor, der die Verhaltensweisen Sport und Effizienz beschreibt. Der Merkmalsvektor enthält z.B. mittlere Geschwindigkeit, Längs- und Querbeschleunigung. Abhängig von diesen Daten können dann geeignete Gewichtungsfaktoren ermittelt werden optional zusätzlich abhängig von obig beschriebener Simulation.
-
Gemäß einer weiteren optionalen Ausgestaltung wird die Nutzereingabe überprüft und abhängig von der Überprüfung erfolgt ein Vorschlag zur Anpassung der Gewichtungsfaktoren.
-
Bei dem Verfahren wird das Energiemanagement des Fahrzeuges abhängig von den Gewichtungsfaktoren angepasst oder mit anderen Worten lernt das Fahrzeug mit diesen Parametern. Stellt nun das Fahrzeug fest, dass der Fahrer anders fährt als für das Lernergebnis gewünscht (bspw. Fahrer fährt sportlich, aber ein auf Effizienz trainiertes System gewünscht) erhält der Fahrer den Vorschlag das System anzupassen. Hierfür wird beispielsweise ein Fahrprofil des Fahrers mit Referenzprofilen verglichen, die beispielsweise mittels der Flottendaten ermittelt werden.
-
Gemäß einer weiteren optionalen Ausgestaltung werden die Gewichtungsfaktoren abhängig von einem Fahrprofil eines Fahrers des Fahrzeugs angepasst.
-
Wie obig beschrieben können die Verhaltensweisen Sport und Effizienz durch einen Merkmalsvektor, der für zugehörige Cluster in Flottendaten bestimmt wurde, beschrieben werden.
-
Das Verhalten des Fahrers kann mit einem Vektor mit denselben Attributen beschrieben werden und mit den Merkmalsvektoren der Flottendaten verglichen werden. Die Gewichtungsfaktoren werden dann beispielsweise durch eine Multiplikation mit einem Faktor angepasst, der das Verhältnis der Abstände des Vektors des Kunden von den Merkmalsvektoren berücksichtigt.
-
Hierdurch können Unstimmigkeiten des Fahrers automatisch korrigiert werden, z.B. falls der Fahrer denkt er fährt sportlich, im Vergleich zu der Flotte sich aber herausstellt, dass er nicht sportlich fährt.
-
Gemäß einer weiteren optionalen Ausgestaltung entspricht die Reward-Funktion folgender Gleichung:
wobei r der Reward-Funktion entspricht, r
1 der ersten Sub-Reward-Funktion, r
2 der zweiten Sub-Reward-Funktion, a dem erstem Gewichtungsfaktor und b dem zweiten Gewichtungsfaktor.
-
Gemäß einer weiteren optionalen Ausgestaltung wird einem Fahrer vor der Nutzereingabe ein Vorschlag für die Gewichtungsfaktoren gemacht.
-
Wie obig beschrieben, kann durch Vergleich der Merkmalsvektoren ein Rückschluss darauf gemacht werden, wie der Fahrer in etwa fährt. Somit kann auch für den Fahrer ein passender Vorschlag gemacht werden, so dass dieser nicht selbst die Gewichtungsfaktoren bestimmen muss. Hierfür können zusätzlich Profile mit den Gewichtungsfaktoren von Fahrern in einem Backend gespeichert werden und Fahrern, die das gleiche Fahrverhalten zeigen, vorgeschlagen werden.
-
Gemäß einer weiteren optionalen Ausgestaltung umfasst die Nutzereingabe eine Zeitinformation zur Anpassung des Energiemanagements abhängig von der Zeitinformation.
-
Da man häufig nicht immer gleich fährt, ist es vorteilhaft, das Energiemanagement zeitgesteuert anzulernen. Eine Option besteht beispielsweise darin, dass ein Fahrer verschiedene Profile ggf. zu verschiedenen Zeiten wählen kann. Beispiel ist die Verwendung eines effizienzbetonten Profils während der Arbeitswoche und eines sportbetonten Profils am Wochenende.
-
Gemäß einer weiteren optionalen Ausgestaltung umfasst die Nutzereingabe eine Insasseninformation zur Anpassung des Energiemanagements abhängig von der Insasseninformation.
-
Es kann sein, dass man häufig nicht immer gleich fährt, abhängig davon, welche Personen im Fahrzeug sitzen. Eine Option besteht beispielsweise in der Auswahl eines Profils bei der Fahrt mit Insassen (z.B. mit den Kindern / Kindersitz).
-
Gemäß einer weiteren optionalen Ausgestaltung, werden die Gewichtungsfaktoren abhängig von einer Witterung angepasst.
-
Bei Regen, Nebel, Schnee und ähnlichem ändert sich häufig der Fahrstil. Somit kann es vorteilhaft sein das Energiemanagement automatisch durch Anpassung der Gewichtungsfaktoren abhängig von der Witterung anzupassen oder dem Fahrer einen entsprechenden Vorschlag zu unterbreiten.
-
Gemäß eines weiteren Aspekts zeichnet sich die Erfindung aus durch ein Computerprogramm zum Betreiben eines Fahrzeuges mit einem Energiemanagement, das mit einem bestärkenden-Lernen-Algorithmus betrieben wird, umfassend Befehle, die bei der Ausführung des Computerprogramms durch einen Computer diesen veranlassen, das beschriebene Verfahren auszuführen.
-
Gemäß eines weiteren Aspekts zeichnet sich die Erfindung aus durch ein computerlesbares Speichermedium, auf dem das Computerprogramm gespeichert ist.
-
Ausführungsbeispiele der Erfindung sind im Folgenden anhand der schematischen Zeichnung näher erläutert. Es zeigt:
- 1 ein Ablaufdiagramm zum Betreiben eines Fahrzeuges mit einem Energiemanagement.
-
Die 1 zeigt ein Ablaufdiagramm eines Programms zum Betreiben eines Fahrzeuges mit einem Energiemanagement, das mit einem bestärkenden-Lernen-Algorithmus betrieben wird.
-
Eine Vorrichtung 50 ist dazu ausgebildet, das Programm abzuarbeiten. Die Vorrichtung weist hierfür insbesondere eine Recheneinheit, einen Programm- und Datenspeicher, sowie beispielsweise eine oder mehrere Kommunikationsschnittstellen auf. Der Programm- und Datenspeicher und/oder die Recheneinheit und/oder die Kommunikationsschnittstellen können in einer Baueinheit und/oder verteilt auf mehrere Baueinheiten ausgebildet sein. Die Vorrichtung 50 kann beispielsweise in einem PC ausgebildet sein.
-
Auf dem Programm- und Datenspeicher der Vorrichtung 50 ist hierfür insbesondere das Programm gespeichert.
-
Das Programm wird in einem Schritt S1 gestartet, in dem gegebenenfalls Variablen initialisiert werden können.
-
In einem Schritt S3 wird eine Reward-Funktion des bestärkenden-Lernen-Algorithmus in mindestens eine erste Sub-Reward-Funktion und eine zweite Sub-Reward-Funktion aufgeteilt.
-
Die erste Sub-Reward-Funktion ist repräsentativ für eine Reward-Funktion für ein sportliches Fahren und die zweite Sub-Reward-Funktion ist repräsentativ für eine Reward-Funktion für ein effizientes Fahren.
-
Die Reward-Funktion entspricht beispielsweise folgender Gleichung:
wobei r der Reward-Funktion entspricht, r
1 der ersten Sub-Reward-Funktion, r
2 der zweiten Sub-Reward-Funktion, a dem erstem Gewichtungsfaktor und b dem zweiten Gewichtungsfaktor.
-
Die erste Sub-Reward-Funktion steht beispielsweise für eine hohe Energieverfügbarkeit und einen hohen Ladezustand eines elektrischen Energiespeichers des Fahrzeugs. Weiterhin kann ein Generator (oder bei PHEV/BEV-Fahrzeugen Degradation der Transferleistung der DC/DC-Wandler) beim Anfahren ausgekoppelt werden, um bessere Beschleunigungswerte zu erreichen. In die Berechnung der ersten-Sub-Reward-Funktion gehen beispielsweise ein, ob der Ladezustand sich zu einem vorgegebenen Ziel-Ladezustand Ziel-SoC des Energiespeichers durch die Aktion des Reinforcement Learning Agents bewegt hat und eine Änderung des Ladezustands der Vorhersagen von Rekuperation und einer Motor-Start-Stop-Funktion angemessen war. In die Berechnung der zweiten Sub-Reward-Funktion gehen beispielsweise eine mittlere Generatorauslastung in einem letzten Betrachtungszeitraum und mittleren Leitungsverluste im Betrachtungszeitraum ein. Für die Berechnung der mittleren Leitungsverluste ist beispielsweise ein Modell der Leitungswiderstände hinterlegt und die entbrechenden Ströme zwischen den Komponenten werden gemessen.
-
In einem Schritt S5 wird abhängig von einer Nutzereingabe ein jeweiliger Gewichtungsfaktor für die erste und zweite Sub-Reward-Funktion ermittelt wird.
-
Die Interaktion mit dem Nutzer kann per Schalter und/oder Touchscreen und/oder per Audio- und/oder Sprachassistenz und/oder per Gestik oder einer beliebigen Kombination der Genannten erfolgen.
-
Ein wählbarer Wertebereich für jeden Gewichtungsfaktor wird beispielsweise mittels einer Simulation und/oder abhängig von Flottendaten ermittelt.
-
Hierfür erfolgt beispielsweise eine Bestimmung von zulässigen Werten für a und b in einer Simulation, beispielsweise damit regulatorische Anforderungen des Fahrzeugs für Fahrzyklen erfüllt sind. Hierfür erfolgen beispielsweise ein Sampling von a und b, ein Training des Bestärkenden-Lernen-Algorithmus (reinforcement learning Algorithmus) im Simulator und ein Test im Simulator.
-
Weiterhin kann eine Nachbildung von sportlichem Fahren und effizientem Fahren aus Flottendaten von Nutzern aus Fahrzyklen ermittelt werden. Die Verhaltensweisen Sport und Effizienz werden beispielsweise durch einen Merkmalsvektor, der für zugehörige Cluster in den Flottendaten bestimmt wurde, beschrieben. Der Merkmalsvektor enthält z.B. mittlere Geschwindigkeit, Längs- und Querbeschleunigung. Anschließend können a und b mit diesen Fahrzyklen und der Simulation bestimmt werden und eine Auswahl von a und b erfolgen, die am besten regulatorische Anforderungen erfüllen.
-
Optional wird dem Fahrer vor der Nutzereingabe ein Vorschlag für die Gewichtungsfaktoren gemacht. Hierfür werden beispielswiese Profile (mit a und b) im Backend gespeichert und Fahrern, die das gleiche Fahrverhalten zeigen, vorgeschlagen.
-
Nach der Nutzereingabe können die Gewichtungsfaktoren noch angepasst werden. Beispielsweise werden die Gewichtungsfaktoren abhängig von einem Fahrprofil eines Fahrers des Fahrzeugs angepasst. Hierfür wird beispielsweise ein Merkmalsvektor des Fahrers mit Merkmalsvektoren der Cluster der Flottendaten verglichen. Die Gewichte a und b werden angepasst durch Multiplikation mit einem Faktor, der das Verhältnis der Abstände des Merkmalsvektors des Fahrers von den Merkmalsvektoren der Flottendaten berücksichtigt.
-
Die Nutzereingabe kann zusätzlich eine Zeitinformation umfassen zur Anpassung des Energiemanagements abhängig von der Zeitinformation (abhängig vom Wochentag, Arbeitstag, Wochenende, usw.).
-
Die Nutzereingabe kann zusätzlichen eine Insasseninformation umfasst zur Anpassung des Energiemanagements abhängig von der Insasseninformation(abhängig davon, ob der Fahrer alleine ist, ob ein Kind im Fahrzeug ist, ob ein Beifahrer im Fahrzeug ist, usw.).
-
Die Gewichtungsfaktoren können abhängig von einer Witterung angepasst werden (bei Regen, Nebel, Schnee, usw.).
-
Die Nutzereingabe erfolgt beispielsweise über eine GUI. Beispielsweise wird der Nutzer zuerst gefragt wie er fahren möchte. In diesem Menü kann der Fahrer dann ein vorgegebenes sportliches Profil mit vorgegeben Werten von a und b, ein vorgegebenes effizientes Profil mit vorgegeben Werten von a und b oder ein individuelles Profil mit einstellbaren Werten von a und b wählen.
-
Bei der individuellen Einstellung kann a beispielsweise mit „Sport“ gekennzeichnet sein und b mit „Effizienz“ und der Fahrer kann für beide Werte eine Einstellung wählen, beispielsweise visualisiert mit einer Anzahl von Balken (4 Balken bei Sport = Sehr sportlich, 0 Balken bei Sport = nicht sportlich), und/oder visualisiert mit konkreten Werten.
-
Weiterhin kann eine Information darüber erfolgen, wie lange das Energiemanagementsystem schon individuell angelernt wird, bspw. mit einer Aussage (z.B. „Ich lerne seit 2 Monaten, wie ich dich unterstützen kann).
-
In einem Schritt S7 wird das Energiemanagement des Fahrzeuges abhängig von den Gewichtungsfaktoren angepasst. Mit anderen Worten wird die Reward-Funktion angepasst, so dass der bestärkenden-Lernen-Algorithmus diese neue individuelle Funktion nutzt.
-
In einem Fahrbeitrieb kann die Nutzereingabe überprüft werden und abhängig von der Überprüfung ein Vorschlag zur Anpassung der Gewichtungsfaktoren erfolgen. Stellt im Betrieb das Fahrzeug fest, dass der Fahrer anders fährt als für das Lernergebnis gewünscht (bspw. Fahrer fährt sportlich, aber ein auf Effizienz trainiertes System gewünscht) erhält der Fahrer den Vorschlag das System anzupassen. Hierfür wird beispielsweise ein Fahrprofil des Fahrers mit Referenzprofilen verglichen, die beispielsweise mittels der Flottendaten ermittelt werden.
-
Anschließend wird das Programm beendet (Schritt S9) und kann gegebenenfalls wieder in dem Schritt S1 gestartet werden.