-
Stand der Technik
-
Die vorliegende Erfindung betrifft Steuergeräte für Motorsysteme, insbesondere Steuergeräte mit einer separaten Recheneinheit zum Auswerten von datenbasierten Funktionsmodellen, wie beispielsweise Gauß-Prozess-Modellen. Die vorliegende Erfindung betrifft weiterhin Multi-Output-Funktionsmodelle zum Berechnen in einer separaten Recheneinheit.
-
Bislang werden Funktionsmodelle in Steuergeräten, d. h. Strecken- und Systemmodelle, durch die Vorgabe von Kennfeldern, Kennlinien oder ein physikalisches System nachbildenden Funktionen implementiert. Diese werden von einem Benutzer durch Anpassen der Modellparameter an die Gegebenheiten des physikalischen Systems adaptiert.
-
Eine Alternative stellt die Verwendung von nicht parametrischen, datenbasierten Funktionsmodellen dar, mit denen die Funktionen physikalischer Systeme im Wesentlichen ohne die Vorgabe von Parametern nachgebildet werden können. Als datenbasiertes Funktionsmodell kann beispielsweise ein Gauß-Prozess-Modell verwendet werden, das im Wesentlichen durch Hyperparameter und Stützstellen definiert wird.
-
Die datenbasierten Funktionsmodelle werden auf Grundlage von Trainingsdaten erstellt, die in einem Prüfsystem ermittelt werden können. Die Stützstellen für das Gauß-Prozess-Modell können den Trainingsdaten entsprechen bzw. aus diesen ausgewählt sein oder generiert werden. Mit Hilfe des gelernten Verhaltens des physikalischen Systems werden anschließend die Parameter des Funktionsmodells so bestimmt, dass ein möglichst optimaler Betrieb des physikalischen Systems gewährleistet werden kann.
-
Aus dem Stand der Technik sind Steuergeräte mit einem Mikrocontroller und einer separaten Modellberechnungseinheit zur Berechnung von datenbasierten Modellen in einem Steuergerät bekannt. So ist beispielsweise aus
DE 10 2010 028 259 A1 ein Steuergerät mit einer zusätzlichen Logikschaltung bekannt, die zur Berechnung von Exponentialfunktionen ausgebildet ist, um die Durchführung von Bayes-Regressionsverfahren, die insbesondere für die Berechnung von Gauß-Prozess-Modellen benötigt werden, zu unterstützen.
-
Im Stand der Technik wird das physikalische System an definierten Punkten bezüglich mehrerer Ausgangsgrößen vermessen. Pro relevanter Ausgangsgröße wird dann auf Basis von Messpunkten (Werte, an denen vermessen wurde) und Messwerten (den Messpunkten zugeordnete Werte der Ausgangsgrößen), die Stützstellenpunkte bilden und gemeinsam den Trainingsdaten entsprechen, ein Funktionsmodell trainiert und auf dem Steuergerät gespeichert oder zu Applikationszwecken verwendet. Die Messwerte anderer Messgrößen werden dabei ignoriert. Ein wesentlicher Nachteil dieses Ansatzes besteht darin, dass eventuelle Korrelationen verschiedener Messgrößen nicht genutzt werden.
-
Offenbarung der Erfindung
-
Erfindungsgemäß sind das Verfahren zum Erstellen eines datenbasierten Funktionsmodells basierend auf Trainingsdaten gemäß Anspruch 1 sowie die Vorrichtung, das Computerprogramm und das Steuergerät gemäß den nebengeordneten Ansprüchen vorgesehen.
-
Weitere Ausgestaltungen sind in den abhängigen Ansprüchen angegeben.
-
Gemäß einem ersten Aspekt ist ein Verfahren zum Erstellen eines datenbasierten Funktionsmodells, insbesondere eines Gauß-Prozess-Modells, vorgesehen, mit folgenden Schritten:
- – Bereitstellen einer Anzahl von Messpunkten und einer Anzahl von mehreren den Messpunkten jeweils zugeordneten Ausgangswerten von mehreren Ausgangsgrößen;
- – Bereitstellen einer Gaußprozessregressionsfunktion für mehrere Ausgangsgrößen basierend auf einem Prädiktionsvektor und einer gemeinsamen Kovarianzfunktion;
- – Bestimmen der gemeinsamen Kovarianzfunktion und des Prädiktionsvektors durch ein Training eines Gaußprozessmodells mit durch die Messpunkte und die zugeordneten Ausgangswerte der mehreren Ausgangsgrößen bestimmten Trainingsdaten, um das datenbasierte Funktionsmodell für die mehreren Ausgangsgrößen zu erhalten.
-
Eine Idee des obigen Verfahrens zum Erstellen eines datenbasierten Funktionsmodells besteht darin, Korrelationen zwischen Ausgangsgrößen zu nutzen, um gegenüber der herkömmlichen, getrennten Modellierung eine höhere Modellierungsgüte zu erzielen oder Messungen einzusparen. Dies ist insbesondere interessant, falls eine Ausgangsgröße in bestimmten Messpunktbereichen schwer messbar ist, es aber andere, korrelierte Messgrößen gibt, die einfacher zu messen sind.
-
Weiterhin kann die Gaußprozessregressionsfunktion
entsprechen, wobei α dem Prädiktionsvektor, k
ij(x
il, x
*) der gemeinsamen Kovarianzfunktion, e der Anzahl der untereinander abhängigen Ausgangsgrößen und n
i der Anzahl der Messpunkte für die i-te Ausgangsgröße entsprechen.
-
Es kann vorgesehen sein, dass die Kovarianzfunktion mit einer Kovarianzkomplexität von 1 angenommen wird.
-
Gemäß einer Ausführungsform kann für das Bestimmen der gemeinsamen Kovarianzfunktion und des Prädiktionsvektors jeweils ein Messpunkt für jede der Ausgangsgrößen zu einem Eingangsgrößenvektor zusammengefasst werden.
-
Gemäß einem weiteren Aspekt ist ein Verfahren zur Berechnung eines Modellwerts eines datenbasierten Funktionsmodells, insbesondere eines Gauß-Prozess-Modells, für mehrere Ausgangsgrößen vorgesehen, wobei das datenbasierte Funktionsmodell entsprechend einem der obigen Verfahren in einer Modellberechnungseinheit basierend auf folgender Auswertefunktion für jede der Ausgangsgröße ermittelt wird
wobei u
d einem normalisierten Testpunkt, an dem der Modellwert ermittelt werden soll, D der Dimension der Messpunkte, N der Anzahl der Messpunkte, I
d, Q
y, σ
f, Hyperparametern des Funktionsmodells entsprechen, die sich aus dem Prädiktionsvektor und der gemeinsamen Kovarianzfunktion ermitteln lassen.
-
Weiterhin können die Ergebnisse der Auswertung mit Hilfe der Auswertefunktion für jede der Ausgangsgrößen aufaddiert werden.
-
Gemäß einem weiteren Aspekt ist eine Vorrichtung, insbesondere Recheneinheit, zum Erstellen eines datenbasierten Funktionsmodells, insbesondere eines Gauß-Prozess-Modells, vorgesehen, wobei die Vorrichtung ausgebildet ist, alle Schritte eines der obigen Verfahren durchzuführen.
-
Gemäß einem weiteren Aspekt ist ein Computerprogramm vorgesehen, welches dazu eingerichtet ist, alle Schritte des obigen Verfahrens zum Erstellen eines datenbasierten Funktionsmodells auszuführen.
-
Kurzbeschreibung der Zeichnungen
-
Ausführungsformen werden nachfolgend anhand der beigefügten Zeichnungen näher erläutert. Es zeigen:
-
1 eine schematische Darstellung eines Prüfstands zum Vermessen eines physikalischen Systems, um Ausgangsgröße y für Messgrößen zu erhalten;
-
2 eine schematische Darstellung eines integrierten Steuerbausteins mit einer hardwarebasierten Modellberechnungseinheit; und
-
3 ein Flussdiagramm zur Veranschaulichung des Verfahrens zum Erstellen eines datenbasierten Funktionsmodells für mehrere Ausgangsgrößen.
-
Beschreibung von Ausführungsformen
-
1 zeigt eine schematische Darstellung eines Prüfstands 1 zum Testen eines physikalischen Systems 2, wie beispielsweise eines Verbrennungsmotors. Der Prüfstand 1 umfasst weiterhin eine Teststeuereinheit 3, die eine Anzahl n von Messpunkten xjn (Eingangssignale) für das physikalische System 2 bereitstellt. Entsprechend werden Ausgangswerte einer Anzahl j von Ausgangsgrößen yj des physikalischen Systems 2 gemessen, die jeweils den Messpunkten xn zugeordnet und als Testdaten in einem Testdatenspeicher 4 gespeichert werden. Die Messpunkte stellen jeweils einen Messpunktvektor mit einer oder mehreren Messgrößen (Eingangsgrößen) dar. Die so als Kombination eines Messpunkts mit einem Messwert yjn einer entsprechenden Ausgangsgröße yj erhaltenen Testdaten stehen anschließend zur Auswertung des Verhaltens des physikalischen Systems 2 bzw. zur Erstellung von den das physikalische System 2 beschreibenden Modellen zur Verfügung.
-
Mögliche Messgrößen, die durch die Teststeuereinheit 3 zur Vorgabe an das physikalische System 2 generiert werden, stellen für einen Verbrennungsmotor beispielsweise Stellgrößen für einen Drosselklappensteller, die Drehzahl des Verbrennungsmotors, die Last des Verbrennungsmotors, eine Stellgröße für einen Nockenwellenphasensteller sowie eine Stellgröße zum Einstellen eines Zündzeitpunkts, einer Einspritzmenge und dergleichen dar. Ausgangsgrößen des Verbrennungsmotors können ein Lambdawert, ein Abgasgegendruck, eine Motortemperatur, eine Drehzahl, ein Motormoment und dergleichen sein.
-
Die mit dem obigen Prüfstand 1 bestimmten Testdaten dienen nun der Erstellung von mehreren datenbasierten Funktionsmodellen. Während bei herkömmlichen Verfahren jedes der Funktionsmodelle separat ermittelt wird, wird nachfolgend vorgeschlagen eine Korrelation zwischen verschiedenen Ausgangsgrößen yj zu nutzen, um die Erstellung der Funktionsmodelle zu vereinfachen.
-
Die Verwendung von nicht parametrischen, datenbasierten Funktionsmodellen basiert auf einem Bayes-Regressionsverfahren. Die Grundlagen der Bayes-Regression sind beispielsweise in C. E. Rasmussen et al., „Gaussian Processes for Machine Learning", MIT Press 2006, beschrieben. Bei der Bayes-Regression handelt es sich um ein datenbasiertes Verfahren, das auf einem Modell basiert. Zur Erstellung des Modells sind Messpunkte von Trainingsdaten sowie zugehörige Ausgangsdaten einer zu modellierenden Ausgangsgröße erforderlich. Die Erstellung des Modells erfolgt anhand der Verwendung von Stützstellendaten, die den Trainingsdaten ganz oder teilweise entsprechen oder aus diesen generiert werden. Weiterhin werden abstrakte Hyperparameter bestimmt, die den Raum der Modellfunktionen parametrieren und effektiv den Einfluss der einzelnen Messpunkte der Trainingsdaten auf die spätere Modellvorhersage gewichten.
-
Die abstrakten Hyperparameter werden durch ein Optimierungsverfahren bestimmt. Eine Möglichkeit für ein solches Optimierungsverfahren besteht in einer Optimierung einer Marginal Likelihood p(Y|H, X). Die Marginal Likelihood p(Y|H, X) beschreibt die Plausibilität der gemessenen y-Werte der Trainingsdaten, dargestellt als Vektor Y, gegeben die Modellparameter H und die x-Werte (Werte der Eingangsgrößen) der Trainingsdaten. Im Modelltraining wird p(Y|H, X) maximiert, indem geeignete Hyperparameter gesucht werden, die zu einem Verlauf der durch die Hyperparameter und die Trainingsdaten bestimmten Modellfunktion führen und die Trainingsdaten möglichst genau abbilden. Zur Vereinfachung der Berechnung wird der Logarithmus von p(Y|H, X) maximiert, da der Logarithmus die Stetigkeit der Plausibilitätsfunktion nicht verändert.
-
2 zeigt eine schematische Darstellung einer Hardwarearchitektur für einen integrierten Steuerbaustein 11, z. B. in Form eines Mikrocontrollers, in dem in integrierter Weise eine Hauptrecheneinheit 12 und eine Modellberechnungseinheit 13 zur rein hardwarebasierten Berechnung eines datenbasierten Funktionsmodells vorgesehen sind. Die Hauptrecheneinheit 12 und die Modellberechnungseinheit 13 stehen über eine interne Kommunikationsverbindung 14, wie z. B. einen Systembus, miteinander in Kommunikationsverbindung.
-
Grundsätzlich ist die Modellberechnungseinheit 13 im Wesentlichen hartverdrahtet und dem entsprechend nicht wie die Hauptrecheneinheit 12 dazu ausgebildet, einen Softwarecode auszuführen. Alternativ ist eine Lösung möglich, in der die Modellberechnungseinheit 13 zur Berechnung des datenbasierten Funktionsmodells einen eingeschränkten, hoch spezialisierten Befehlssatz zur Verfügung stellt. In der Modellberechnungseinheit 13 ist kein Prozessor vorgesehen. Dies ermöglicht eine ressourcenoptimierte Realisierung einer solchen Modellberechnungseinheit 13 bzw. einen flächenoptimierten Aufbau in integrierter Bauweise. Die Modellberechnungseinheit 13 kann einen lokalen SRAM 33 für die Speicherung der Konfigurationsdaten umfassen.
-
Der Steuerbaustein 11 kann einen internen Speicher 15 umfassen. Der interne Speicher 15 stehen in geeigneter Weise, z. B. über die interne Kommunikationsverbindung 14, miteinander in Verbindung. Der interne Speicher 15 kann einen (für die Hauptrecheneinheit 12, die Modellberechnungseinheit 13 und ggf. weitere Einheiten) gemeinsamen SRAM-Speicher und einen Flash-Speicher für die Konfigurationsdaten (Parameter und Stützstellendaten) umfassen.
-
In 3 ist ein Flussdiagramm zur Veranschaulichung eines Verfahrens zur Erstellung von datenbasierten Funktionsmodellen für mehrere Ausgangsgrößen mit einer gemeinsamen Kovarianzfunktion dargestellt.
-
In Schritt S1 werden für jede von e Ausgangsgrößen eine Anzahl ni (mit i = 1...e) von Messpunkten bereitgestellt, denen jeweils ein Ausgangswert der betreffenden Ausgangsgröße zugeordnet ist.
-
In Schritt S2 wird als Gaußprozessregressionsfunktion für die Anzahl j von Ausgangsgrößen folgendes vorgegeben:
-
Im Wesentlichen entspricht die Auswertung eines Gaußprozesses mit mehreren Ausgangsgrößen einem herkömmlichen Gaußprozess, wobei die Kovarianzfunktion k
ij(x
il, x
*) komplexer parametriert ist. Die Prädiktionsformel der Kovarianzfunktion für mehrere Ausgangsgrößen ändert sich dadurch von der herkömmlichen Gaußprozess-Regression mit quadratisch exponentieller Kovarianzfunktion zu
für die Schätzung des j-ten Systemausganges unter dem trainierten Gaußprozess für mehrere Ausgangsgrößen. Dies entspricht einem Ansatz, der aus
P. Boyle, M. Frean: Dependent Gaussian Processes, in L. K. Saul, Y. Weiss and L. Bottou (Eds.), Advances in Neural Information Processing Systems 17, pp. 217–224, 2005, bekannt ist.
-
Dabei ist:
- – e Anzahl der untereinander abhängigen Ausgangsgrößen
- – ni Anzahl der gemessen Testpunkte (Eingangsvektoren) für die i-te Ausgangsgröße
- – Anzahl aller, nicht notwendig disjunkter Eingangsvektoren
- – Prädiktionsvektor
- – l-ter Eingangsvektor im Messdatensatz Di = (yi, Xi) bzgl. der i-ten Ausgangsgröße für i = 1, ..., e mit yi ∊ und Dabei sind die die Messdatensätze Di nicht disjunkt.
- – Testpunkt
- – m Komplexität der multi-output Kovarianz, i. d. R. gleich 1
- – νhi Skalierungsparameter der Kovarianz
- – Verschiebungsvektoren innerhalb der Kovarianzfunktion
- – Diagonalmatrix mit Längenskalierungen
-
In Schritt S3 erfolgt das Training mit der Optimierung der Hyperparameter νhi, phi, Λhi analog zu dem eines herkömmlichen Gaußprozessmodells. Die Größen m (= 1), νhi, phi, Λhi sowie der Prädiktionsvektor α sind nach dem Training des Gaußprozessmodells für mehrere Ausgangsgrößen festgelegt.
-
Danach werden in Schritt S4 die Hyperparameter in geeigneter und vorberechneter Form der Modellberechnungseinheit 3 übergeben. Die gemessenen und bereits standardisierten bzw. normierten Messpunkte Xi werden ebenfalls mit auf die Modellberechnungseinheit 3 übertragen, wobei durch geschickte Indizierung jeder Messpunkt nur einmal abgespeichert wird.
-
Im Folgenden wird beschrieben, wie ein Modell für eine Ausgangsgröße y
j und eine Kovarianzkomplexität von m = 1 auf der Modellberechnungseinheit
3 umgesetzt werden kann. Die obige Formel für die Kovarianzfunktion vereinfacht sich für die j-te Ausgangsgröße mit m = 1 zu
-
Zur Berechnung wird in Schritt S5 die Auswertung der Modellvorhersage y
j(x
*) in e Einzelauswertungen aufgeteilt (Index i in obiger Formel), die nacheinander in der Modellberechnungseinheit
3 berechnet werden. Diese können anschließend entweder in der Hauptrecheneinheit
2 oder in Form von Fehlermodellen aufsummiert werden. Eine Einzelauswertung kann mit Hilfe folgender Parametrierung in der Modellberechnungseinheit
3 berechnet werden. Die Auswerteformel lautet
mit einer Anzahl N von D-dimensionalen Messpunkten (x
n)
d, n = 1, ..., N; d = 1, ..., D als Trainingsdaten. Die Berechnung findet typischerweise im normalisierten Raum statt. Ein nicht-normalisierter Testpunkt bzw. eine nicht-normalisierte Eingangsvariable u ~ muss zunächst normalisiert werden, d. h.
-
-
Die Standardparameter müssen in den folgenden Fällen angepasst werden:
-
Da typischerweise nur wenige korrelierte Ausgangsgrößen betrachtet werden, ist eine effiziente Umsetzung auf der Modellberechnungseinheit 3 möglich.
-
Weiterhin kann vorgesehen sein, dass die für unterschiedliche Ausgangsgrößen identische Trainingspunkte nicht mehrfach in der Modellberechnungseinheit 3 vorgesehen werden. Der Fall m > 1 kann analog zu obigem Vorgehen durch weitere Aufsplittung der Summation umgesetzt werden.
-
Weiterhin ist es auch möglich, die oben dargelegte Aufsplittung in mehrere Einzelauswertungen zu ersetzen, indem man die beiden Summen in
zusammenführt. Dazu ist es notwendig, die Trainingspunkte x
il zu einem großen Vektor x
w zusammenzufassen. Damit ergibt sich die Modellvorhersage als
-
Die dazu passende Kovarianz lautet dann (für m = 1) kil(xw, x*) = σwexp(xw – x* – pw)T Λ / –2(xw – x* – pw) wobei sich Λ durch Aneinanderfügen der (Λ –1 / i + Λ –1 / j )–1 für die einzelnen i ergibt. Ebenso ergeben sich σw und pw durch Aneinanderfügen, d. h. für die Berechnung des j-ten Ausgangs mit beispielsweise e = 2 und n1 = 3, n2 = 2 ergibt sich pw = [p1 – pj, p1 – pj, p1 – pj, p2 – pj, p2 – pj] wobei σw analog ermittelt wird.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- DE 102010028259 A1 [0005]
-
Zitierte Nicht-Patentliteratur
-
- C. E. Rasmussen et al., „Gaussian Processes for Machine Learning”, MIT Press 2006 [0025]
- P. Boyle, M. Frean: Dependent Gaussian Processes, in L. K. Saul, Y. Weiss and L. Bottou (Eds.), Advances in Neural Information Processing Systems 17, pp. 217–224, 2005 [0033]