Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MODEL CALCULATION UNIT AND CONTROL DEVICE FOR CALCULATING AN RBF MODEL
Document Type and Number:
WIPO Patent Application WO/2018/046453
Kind Code:
A1
Abstract:
The invention relates to a model calculation unit (22) for calculating an RBF model, said calculation unit having a hardwired computing core (11, 13, 14) configured in the hardware for calculating a fixedly specified computing algorithm in coupled functional blocks, wherein the computing core (11, 13, 14) is configured to calculate an output variable for an RBF model as a function of one or more input variables of an input variable vector, interpolation points (V\J, k]), length scales (L[j, k]) and weighting parameters (p3 [/j) specified for each interpolation point, wherein the output variable is formed as a sum of a value calculated for each interpolation point (V\J, k]), the value is a product of a weighting parameter (p3 [/j) assigned to the relevant interpolation point {V\J, k] ) and a result of an exponential function of a value, which is obtained as a function of a square distance of the relevant interpolation point (L[j, k]) from the input variable vector weighted by means of the length scales (L[j, k]), and the length scales (L[j, k]) are separately provided for each of the interpolation points as local length scales.

Inventors:
MARKERT HEINER (DE)
GUNTORO ANDRE (DE)
ULMER HOLGER (DE)
KLOPPENBURG ERNST (DE)
Application Number:
PCT/EP2017/072137
Publication Date:
March 15, 2018
Filing Date:
September 05, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
International Classes:
G06N3/063; F02P5/15; G05B13/04; G06F15/78; G06N7/00
Other References:
EPPLER W ET AL: "High speed neural network chip for trigger purposes in high energy physics", DESIGN, AUTOMATION AND TEST IN EUROPE, 1998., PROCEEDINGS PARIS, FRANCE 23-26 FEB. 1998, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 23 February 1998 (1998-02-23), pages 108 - 115, XP010268412, ISBN: 978-0-8186-8359-6, DOI: 10.1109/DATE.1998.655844
RICHARD FIIFI TURKSON ET AL: "Artificial neural network applications in the calibration of spark-ignition engines: An overview", ENGINEERING SCIENCE AND TECHNOLOGY, AN INTERNATIONAL JOURNAL, vol. 19, no. 3, 16 April 2016 (2016-04-16), pages 1346 - 1359, XP055420859, ISSN: 2215-0986, DOI: 10.1016/j.jestch.2016.03.003
- - -: "Introduction to Interpolated Neural Networks", APR POWER WHITE PAPER, 18 January 2009 (2009-01-18), pages 1 - 57, XP055420876, Retrieved from the Internet [retrieved on 20171101]
Download PDF:
Claims:
Ansprüche

1 . Modellberechnungseinheit (22) zur Berechnung eines RBF-Modells mit einem in Hardware ausgebildeten fest verdrahteten Rechenkern (1 1 , 13, 14) zur Berechnung eines fest vorgegebenen Rechenalgorithmus in gekoppelten Funktionsblöcken,

wobei der Rechenkern (1 1 , 13, 14) ausgebildet ist, um für ein RBF-Modell abhängig von einer oder mehreren Eingangsgrößen eines Eingangsgrößenvektors, von Stützstellenpunkten {V\J, k] ), von Längenskalen (L[j, k]), von für jeden Stützstellenpunkt vorgegebenen Gewichtungsparametern (p3 [ j) eine Ausgangsgröße zu berechnen, wobei die Ausgangsgröße als eine Summe eines für jeden Stützstellenpunkt {V\J, k] ) berechneten Werts gebildet wird, wobei der Wert einem Produkt aus einem dem betreffenden Stützstellenpunkt {V\J, k] ) zugeordneten Gewichtungsparameter (p3 [ j) und einem Ergebnis einer Exponentialfunktion eines Werts ist, der sich abhängig von einem durch die Längenskalen (L[j, k]) gewichteten quadratischen Abstand des betreffenden Stützstellenpunkts (V\J, k] ) von dem Eingangsgrößenvektor ergibt,

dadurch gekennzeichnet, dass

die Längenskalen (L[j, k]) als lokale Längenskalen separat für jeden der Stützstellenpunkte bereitgestellt werden.

2. Modellberechnungseinheit (22) nach Anspruch 1 , wobei die Längenskalen (L[j, k]) als lokale Längenskalen separat für jeden der Stützstellenpunkte (V J, k] ) und für jede der einen oder den mehreren Eingangsgrößen des Eingangsgrößenvektors (ut) bereitgestellt werden. Modellberechnungseinheit (22) nach Anspruch 1 oder 2, wobei der Rechenkern (1 1 , 13, 14) eine Zustandsmaschine (1 1 ) und einen oder mehrere Rechenoperationsblöcke (13, 14), insbesondere einen MAC-Block und einen Exponentialfunktion-Berechnungsblock, umfasst und insbesondere einen Speicher (12) zum Speichern der einen oder mehreren Eingangsgrößen des Eingangsgrößenvektors, der Stützstellenpunkte {V\j, k] ), der Längenskalen (L[j, k]), der für jeden Stützstellenpunkt (V\J, k] ) vorgegebenen Gewichtungsparameter (p3 [/]) und der Ausgangsgröße umfasst.

Modellberechnungseinheit (22) nach einem der Ansprüche 1 bis 3, wobei der Rechenkern (1 1 , 13, 14) in einem Flächenbereich eines integrierten Bausteins ausgebildet ist.

Modellberechnungseinheit (22) nach einem der Ansprüche 1 bis 4, wobei abhängig von einer Auswahlgröße (cfg_rbf_local) für die Berechnung der Ausgangsgröße (y[0]) statt der lokalen Längenskalen rein dimensionsbedingte Längenskalen verwendet werden.

Steuergerät (2) mit einem Mikroprozessor (21 ) und einer oder mehreren Modellberechnungseinheiten (22) nach einem der Ansprüche 1 bis 5.

Steuergerät (2) nach Anspruch 6, wobei das Steuergerät (2) als eine integrierte Schaltung ausgebildet ist.

Verwendung des Steuergeräts (2) nach Anspruch 6 oder 7 als ein Steuergerät (2) zur Steuerung eines Motorsystems (1 ) in einem Kraftfahrzeug.

Description:
Beschreibung Titel

Modellberechnungseinheit und Steuergerät zur Berechnung eines RBF-Modells

Technisches Gebiet

Die Erfindung betrifft die Berechnung von Funktionsmodellen in einer separaten hartverdrahteten Modellberechnungseinheit, insbesondere zur Berechnung von RBF-Modellen (RBF: radiale Basisfunktion) mit lokalen Längenskalen.

Technischer Hintergrund

Funktionen von Steuerungen von technischen Systemen, wie z.B. Verbrennungsmotoren, Elektroantrieben, Batteriespeicher und dergleichen, werden häufig mit Modellen realisiert, die ein mathematisches Abbild des realen Systems darstellen. Jedoch mangelt es bei physikalischen Modellen, insbesondere bei komplexen Zusammenhängen, an der erforderlichen Berechnungsgenauigkeit, und es ist bei heutigen Rechenkapazitäten in der Regel schwierig, derartige Modelle innerhalb der für ein Steuergerät geforderten Echtzeitanforderungen zu berechnen. Für solche Fälle ist angedacht, datenbasierte Modelle zu verwenden, die Zusammenhänge zwischen einer Ausgangsgröße und Eingangsgrößen ausschließlich auf der Basis von mit Hilfe eines Prüfstands oder dergleichen erhaltenen Trainingsdaten beschreiben. Insbesondere eignen sich datenbasierte Modelle zum Modellieren von komplexen Zusammenhängen, bei denen mehrere Eingangsgrößen, zwischen denen Wechselbeziehungen bestehen, in geeigneter Weise in dem Modell berücksichtigt werden. Datenbasierte Funktionsmodelle basieren in der Regel auf einer großen Anzahl von Stützstellen, um eine für die jeweilige Anwendung ausreichende Modellierungsgenauigkeit zu erreichen. Aufgrund der hohen Anzahl der Stützstellen wird zur Berechnung eines Modellwertes mit einem datenbasierten Funktionsmodell, wie beispielsweise einem Gauß-Prozess-Modell, eine hohe Rechenkapazität benötigt. Um ein derartiges datenbasiertes Funktionsmodell in einer Steuergeräteanwendung in Echtzeit berechnen zu können, können daher auf einer Hardwareausgestaltung basierende Modellberechnungseinheiten vorgesehen sein.

Offenbarung der Erfindung

Erfindungsgemäß sind eine Modellberechnungseinheit zur Berechnung eines RBF-Modells gemäß Anspruch 1 sowie ein Steuergerät und eine Verwendung des Steuergeräts nach einem der nebengeordneten Ansprüche vorgesehen.

Weitere Ausgestaltungen sind in den abhängigen Ansprüchen angegeben.

Gemäß einem ersten Aspekt ist eine zur Berechnung eines RBF-Modells mit einem in Hardware ausgebildeten fest verdrahteten Rechenkern zur Berechnung eines fest vorgegebenen Rechenalgorithmus in gekoppelten Funktionsblöcken vorgesehen, wobei der Rechenkern ausgebildet ist, um für ein RBF-Modell abhängig von einer oder mehreren Eingangsgrößen eines Eingangsgrößenvektors, von Stützstellenpunkten, von Längenskalen, von für jeden Stützstellenpunkt vorgegebenen Gewichtungsparametern eine Ausgangsgröße zu berechnen, wobei die Ausgangsgröße einer Summe eines für jeden Stützstellenpunkt berechneten Werts gebildet wird, wobei der Wert einem Produkt aus einem dem betreffenden Stützstellenpunkt zugeordneten Gewichtungsparameter und einem Ergebnis einer Exponentialfunktion des negativen Werts ist, der sich aus dem durch die Längenskalen gewichteten quadratischen Abstand des betreffenden Stützstellenpunkts von dem Eingangsgrößenvektor ergibt, wobei die Längenskalen als lokale Längenskalen separat für jeden der Stützstellenpunkte bereitgestellt werden.

Eine Idee der obigen Modellberechnungseinheit besteht darin, diese zur Berechnung eines RBF-Modells in Hardwarestrukturen separat in einem Rechenkern in einem Steuergerät auszubilden. Auf diese Weise kann eine im Wesentlichen fest verdrahtete Hardwareschaltung zur Realisierung von Funktionen bereitgestellt werden, die es ermöglicht, ein RBF-Modell zu berechnen und dabei nur eine sehr geringe Rechenlast in einem softwaregesteuerten Mikroprozessor eines Steuergeräts zu bewirken. Durch die Hardwarebeschleunigung, die durch die Modellberechnungseinheit bereitgestellt wird, kann das RBF-Modell auch in Echtzeit berechnet werden, so dass die Verwendung eines solchen Modells für Steuergeräteanwendungen für Verbrennungsmotoren in Kraftfahrzeugen interessant wird.

Zudem ermöglicht die Verwendung von RBF-Modellen eine datenbasierte Modellierung mit einer geringeren Anzahl von Stützstellenpunkten als bei vergleichbaren datenbasierten Modellen, wie beispielsweise einem Gauß-Prozess-Modell.

Die obige Modellberechnungseinheit sieht eine Ausgestaltung vor, die es ermöglicht, ein RBF-Modell mit sowohl dimensionsbedingten als auch lokalen Längenskalen zu berechnen. Durch die Verwendung von lokalen Längenskalen sind auch RBF-Modelle abbildbar, die eine erhöhte Kurvigkeit und lokal hohe Gradienten aufweisen.

Weiterhin kann der Rechenkern eine Zustandsmaschine, einen Speicher zum Speichern der einen oder mehreren Eingangsgrößen des Eingangsgrößenvektors, der Stützstellenpunkte, der Längenskalen, der für jeden Stützstellenpunkt vorgegebenen Parameter und der Ausgangsgröße, einen oder mehrere Rechenoperationsblöcke, insbesondere einen MAC-Block (MAC: Multiply-Accumulate für Festkommaberechnungen oder FMA: Fused-Multiply-Add für Gleitkommaberechnungen) und einen Exponentialfunktion-Berechnungsblock, umfassen.

Weiterhin kann die Modellberechnungseinheit ausgebildet sein, um abhängig von einer Auswahlvariablen für die Berechnung der Ausgangsgröße statt der lokalen Längenskalen rein dimensionsbedingte Längenskalen zu verwenden.

Gemäß einer Ausführungsform kann der Rechenkern in einem Flächenbereich eines integrierten Bausteins ausgebildet sein. Gemäß einem weiteren Aspekt ist ein Steuergerät mit einem Mikroprozessor und der obigen Modellberechnungseinheit vorgesehen. Insbesondere kann das Steuergerät als eine integrierte Schaltung ausgebildet sein.

Gemäß einem weiteren Aspekt ist eine Verwendung des obigen Steuergeräts als ein Steuergerät zur Steuerung eines Motorsystems in einem Kraftfahrzeug vorgesehen.

Kurzbeschreibung der Zeichnungen

Ausführungsformen werden nachfolgend anhand der beigefügten Zeichnungen näher erläutert. Es zeigen:

Figur 1 eine schematische Darstellung eines Steuergeräts zum Einsatz für ein Motorsystem in einem Kraftfahrzeug;

Figur 2 eine schematische Darstellung einer Berechnungseinheit als

Teil des Steuergeräts; und

Figur 3 eine schematische Darstellung einer Neuronenkonstellation eines RBF-Modells.

Beschreibung von Ausführungsformen

Figur 1 zeigt beispielhaft eine schematische Darstellung eines Steuergeräts 2 für ein Motorsystem 1 mit einem Verbrennungsmotor 3 als ein zu steuerndes technisches System. Das Steuergerät 2 umfasst einen Mikroprozessor 21 und eine Modellberechnungseinheit 22, die als separate Bauteile oder in integrierter Weise in separaten Flächenbereichen auf einem Chip ausgebildet sein können. Insbesondere stellt die Modellberechnungseinheit 22 eine Hardwareschaltung dar, die strukturell von einem Rechenkern des Mikroprozessors 21 getrennt sein kann. Die Modellberechnungseinheit 22 ist im Wesentlichen hartverdrahtet und dementsprechend nicht wie der Mikroprozessor 21 dazu ausgebildet, einen Softwarecode auszuführen und dadurch eine variable durch Software vorgegebene Funktion auszuführen. Mit anderen Worten ist in der Modellberechnungseinheit 22 kein Prozessor vorgesehen, so dass diese nicht durch einen Softwarecode betreibbar ist. Durch die Fokussierung auf eine vorgegebene Modellfunktion wird eine ressourcenoptimierte Realisierung einer solchen Modellberechnungseinheit 22 ermöglicht. In integrierter Aufbauweise kann die Modellberechnungseinheit 22 flächenoptimiert realisiert werden, die zudem schnelle Berechnungen ermöglicht.

Das Steuergerät 2 dient im Wesentlichen dazu, Sensorsignale S bzw. Sensorgrößen, die von einer Sensorik in dem Verbrennungsmotor 3 erfasst werden, und/oder externe Vorgaben V zu verarbeiten und zyklisch in fest vorgegebenen Zeitabständen von z.B. 1 - 100ms oder winkelsynchron in Abhängigkeit zu einem Kurbelwellenwinkel eines betriebenen Verbrennungsmotors Werte von einer oder mehreren entsprechenden Ansteuergrößen A an den Verbrennungsmotor 3 anzulegen, so dass dieser in an sich bekannter Weise betreibbar ist.

In Figur 2 ist eine Modellberechnungseinheit 22 ausführlicher dargestellt. Die Modellberechnungseinheit 22 umfasst eine Zustandsmaschine 1 1 , einen Speicher 12 und einen oder mehrere Operationsblöcke, die beispielsweise einen oder mehreren MAC-Blöcke 13 und einen Exponentialfunktion-Berechnungsblock (EXP) 14 zur Berechnung einer Exponentialfunktion. Die Zustandsmaschine 1 1 und der eine oder die mehreren Operationsblöcke 13, 14 bilden einen Rechenkern ALU der Modellberechnungseinheit 22. Die Operationsblöcke können zusätzlich oder alternativ zu dem MAC-Block einen Multiplizierblock und einen Additionsblock umfassen.

Mit Hilfe der Zustandsmaschine 1 1 können in einem Eingangsgrößenspeicherbereich des Speichers 12 abgelegte Werte von Eingangsgrößen durch wiederholte Schleifenberechnungen verrechnet werden, um Ausgangsgrößen zu erhalten, die in einen entsprechenden Ausgangsgrößenspeicherbereich des Speichers 12 geschrieben werden. Die Zustandsmaschine 1 1 ist so ausgelegt, um ein RBF-Modell zu berechnen. Die Zustandsmaschine 1 1 kann anhand des nachfolgenden Pseudocodes beschrieben werden:

/* Eingangstransformation */

for (k=0; k<p7; k++) {

ut[k] = u[k]*pl[k] + p2[k];

}

/* Schleifenberechnung */

for (j=p8; j<p6; j++) {

i = j * p7;

t = 0.0f;

for (k=0; k<p7; k++) {

d = V[i+k] - ut[k];

t += d * d * L[k];

}

y[0] += p3[j] * exp(-t);

}

/* Ausgangstransformation */

z[0] = y[0] * P 4[0] + P 5[0];

Mit

p7: maximaler Indexwert für die Eingangsgrößen des Eingangsgrößenvektors, gibt die Dimension des Eingangsgrößenvektors an

p8: minimaler Indexwert (normalerweise Null, außer bei Unterbrechung und Fort- Setzung der Rechnung)

p6: maximaler Indexwert (Anzahl Stützpunkte)

p3: Parameter des RBF-Modells

u: Eingangsgrößen

ut: transformierte Eingangsgrößen

L: dimensionsweise inverse quadratische Längenskalen

V: Trainingspunkte bzw. Stützstellenpunkte.

p1 , p2: Variablen für die Eingangstransformation für jede der Eingangsgrößen des Eingangsgrößenvektors;

p4, p5: Variablen für die Ausgangstransformation mit Dimension 1 (singleton)

Mit Hilfe des obigen Pseudocodes lässt sich folgende Berechnung für das RBF- Modell durchführen:

Die RBF-Funktion entspricht wie in Figur 3 grafisch dargestellt im Wesentlichen einer speziellen Form eines neuronalen Netzwerks mit drei Schichten, d.h. einer Eingangsschicht S1 mit p7 Neuronen 15 für einen Eingangsgrößenvektor mit p7 Eingangsgrößen, einer Zwischenschicht S2 mit einer Anzahl von p6 Neuronen 15, mit einer radialquadratischen Funktion als Aktivierungsfunktion und einer Ausgangsschicht S3 mit einem Neuron 15 und mit einer linearen Aktivierungsfunktion.

Es kann eine Eingangs- und/oder Ausgangstransformation der Eingangsgrößen des Eingangsgrößenvektors bzw. der Ausgangsgrößen des Ausgangsgrößenvektors mithilfe derfürjedes Element des Eingangsgrößenvektors vorgegebenen Normierungsvariablen p1 und p2 bzw. für die Ausgangsgröße p4 und p5 vorgenommen werden.

Die Berechnung des RBF-Modells ermöglicht eine schlanke Ausgestaltung der Modellberechnungseinheit 22, so dass deren Flächenbedarf in integrierter Bauweise gering ist.

Um ein RBF-Modell mit lokalen Längenskalen berechnen zu können, können für jeden Stützstellenpunkt ein separater Wert der Längenskalen vorgesehen sein. Dies kann für RBF-Modelle, die an den Stützstellenpunkten stark voneinander abweichende Gradienten aufweisen, sinnvoll sein. Die lokalen Längenskalen werden somit für jeden Stützstellenpunkt separat vorgegeben.

Im Gegensatz zu obiger Formel werden die RBF Modelle mit lokalen Längenskalen wie folgt berechnet:

/* Eingangstransformation */

for (k=0; k<p7; k++) {

ut[k] = u[k]*pl[k] + p2[k];

} /* Schleifenberechnung */

for (j=p8; j<p6; j++) {

i = j * p7;

t = 0.0f;

for (k=0; k<p7; k++) {

d = ut[k] - V[i+k];

n = (cfg_rbf_local) ? i+k : k;

t += d * d * L[n];

}

y[0] += p3[j] * exp(-t);

}

/* Ausgangstransformation */

for (k=0; k<p9; k++) {

z[k] = y[k] * p4[k] + p5[k];

}

Durch die Variable cfg_rbf_local wird angezeigt, ob lokale invers quadratische Längenskalen L[n] oder wie zuvor beschrieben nur ein Längenskalenwert pro Dimension verwendet werden soll. Für die lokalen Längenskalenwerte und die rein di- mensionsbezogenen Längenskalenwerte werden je nach Ausführung ein dedizier- ter Speicherbereich reserviert, aus dem die entsprechenden Werte abhängig von der Variablen cfg_rbf_local beim Berechnen des RBF-Modells entnommen werden. Dadurch ist es möglich, das RBF-Modell sowohl mit lokalen Längenskalenwerten als auch mit rein dimensionsbezogenen Längenskalenwerten zu berechnen. Dies ermöglicht eine Flexibilität der Funktionsauswahl abhängig von der Kur- vigkeit des zu modellierenden Systems.

Die Formel zur Modellberechnung enthält allgemein einen Satz Parameter, welche in einem Modelltraining bestimmt werden können. Die Normierungsparameter p5, p4, p1 , p2 ergeben sich direkt aus der mittleren Abweichung und der Standardabweichung der Trainingsdaten. Die Gewichte der Kerne (Kernel beziehungsweise Stützstellen) p3, die Zentren der Kerne V und die Längenskalen-Kernparameter L werden dabei vorzugsweise mit einer Kleinste-Quadrate-Methode optimiert, welche die quadrierten Abweichungen (Residuen) zwischen den Modellvorhersagen und dem gegebenen Datensatz minimiert. Um das Anlernen des Modells zu beschleunigen, werden in einer bevorzugten Ausgestaltung auch die Abweichungen der Modellparameter bezüglich der Verlustfunktion berücksichtigt. Ist die Anzahl der Kerne groß, kann der Modellierungsansatz anfällig für Überanpassung (Overfitting) sein. Daher wird vorgeschlagen, die Anzahl der Parameter in einer Vergleichsüberprüfung geeignet anzupassen. Auch sehr hohe Werte für die Langenskalenparameter L können zu einer Überanpassung führen. Das kann verhindert werden, indem die Parameter auf eine maximale Obergrenze begrenzt werden.