DE102013206320A1 - Verfahren und Steuergerät zur Berechnung eines datenbasierten Funktionsmodells - Google Patents

Verfahren und Steuergerät zur Berechnung eines datenbasierten Funktionsmodells Download PDF

Info

Publication number
DE102013206320A1
DE102013206320A1 DE102013206320.2A DE102013206320A DE102013206320A1 DE 102013206320 A1 DE102013206320 A1 DE 102013206320A1 DE 102013206320 A DE102013206320 A DE 102013206320A DE 102013206320 A1 DE102013206320 A1 DE 102013206320A1
Authority
DE
Germany
Prior art keywords
calculation
model
data
unit
calculation unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102013206320.2A
Other languages
English (en)
Inventor
Andre GUNTORO
Wolfgang Fischer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102013206320.2A priority Critical patent/DE102013206320A1/de
Priority to US14/247,865 priority patent/US9977842B2/en
Publication of DE102013206320A1 publication Critical patent/DE102013206320A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/2406Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using essentially read only memories
    • F02D41/2425Particular ways of programming the data
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0083Setting, resetting, calibration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1401Introducing closed-loop corrections characterised by the control or regulation method
    • F02D2041/1413Controller structures or design
    • F02D2041/1423Identification of model or controller parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Software Systems (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Durchführen einer Berechnung eines datenbasierten Funktionsmodells in einem Steuergerät (1) mit einer Recheneinheit (4) und einer separaten Modellberechnungseinheit (6) mit einem Rechenkern (62), mit folgenden Schritten:
– Laden (S2) eines ersten Teils von Konfigurationsdaten, die Hyperparameter des datenbasierten Funktionsmodells und einen ersten Teil von Stützstellendaten mit mehreren Stützstellen enthalten, in die Modellberechnungseinheit (6);
– Starten (S4) einer Berechnung in dem Rechenkern (62) der Modellberechnungseinheit (6), um einen Modellwert an einem vorgegebenen Testpunkt zu erhalten; und
– Übertragen (S6) eines zweiten Teils der Konfigurationsdaten, die einen zweiten Teil der Stützstellendaten mit mehreren Stützstellen enthalten, in die Modellberechnungseinheit (6), bevor die Berechnung in dem Rechenkern (62) der Modellberechnungseinheit (6) abgeschlossen ist.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft Steuergeräte zur Berechnung von Funktionsmodellen zur Durchführung von Funktionen, insbesondere in Motorsystemen. Die vorliegende Erfindung betrifft insbesondere Verfahren zur Berechnung von Funktionsmodellen in einer von einer Recheneinheit separaten Modellberechnungseinheit.
  • Stand der Technik
  • Aus dem Stand der Technik sind Steuergeräte mit einer Hauptrecheneinheit und einer separaten Modellberechnungseinheit zur Berechnung von datenbasierten Funktionsmodellen in einem Steuergerät bekannt. So zeigt beispielsweise die Druckschrift DE 10 2010 028 259 A1 ein Steuergerät mit einer zusätzlichen Logikschaltung als Modellberechnungseinheit, die zur Berechnung von Exponentialfunktionen ausgebildet ist, um die Durchführung von Bayes-Regressionsverfahren, die insbesondere für die Berechnung von Gauß-Prozessmodellen benötigt werden, zu unterstützen.
  • Die Modellberechnungseinheit ist geeignet, mathematische Prozesse zur Berechnung des datenbasierten Funktionsmodells basierend auf Parametern und Stützstellen bzw. Trainingsdaten durchzuführen. Insbesondere ist die Modellberechnungseinheit zur effizienten Berechnung von Exponentialfunktionen ausgebildet, so dass es möglich ist, Gauß-Prozessmodelle mit größerer Rechengeschwindigkeit als in der Hauptrecheneinheit zu rechnen. In der Regel werden Konfigurationsdaten, die Parameter und Stützstellen zur Berechnung des Funktionsmodells enthalten, vor der Berechnung in der Modellberechnungseinheit in diese eingelesen. Dazu ist eine DMA-Einheit vorgesehen, die es der Modellberechnungseinheit ermöglicht, die Konfigurationsdaten ohne Zutun der Hauptrecheneinheit direkt aus einer Speichereinheit des Steuergeräts abzurufen und dann die Berechnung durchzuführen.
  • Da die Anzahl der neben den Parametern übertragenen Stützstellen in der Regel sehr groß ist, ist die Datenmenge, die vor dem Start der Berechnung des Funktionsmodells in die Modellberechnungseinheit übertragen werden muss, ebenfalls sehr umfangreich. Daher wird die für die Berechnung des Funktionsmodells benötigte Zeit maßgeblich durch die Ladezeit und die Berechnungszeit bestimmt.
  • Offenbarung der Erfindung
  • Erfindungsgemäß sind ein Verfahren zur Durchführung einer Berechnung eines datenbasierten Funktionsmodells mit einer Recheneinheit und einer separaten Modellberechnungseinheit mit einem Rechenkern gemäß Anspruch 1 sowie das Steuergerät und das Computerprogramm gemäß den nebengeordneten Ansprüchen vorgesehen.
  • Weitere vorteilhafte Ausgestaltungen der vorliegenden Erfindung sind in den abhängigen Ansprüchen angegeben.
  • Gemäß einem ersten Aspekt ist ein Verfahren zum Durchführen einer Berechnung eines datenbasierten Funktionsmodells in einem Steuergerät mit einer Recheneinheit und einer separaten Modellberechnungseinheit mit einem Rechenkern vorgesehen. Das Verfahren umfasst die folgenden Schritte:
    • – Laden eines ersten Teils von Konfigurationsdaten, die einen ersten Teil von Stützstellendaten mit mehreren Stützstellen und insbesondere Hyperparameter des datenbasierten Funktionsmodells enthalten, in die Modellberechnungseinheit;
    • – Starten einer Berechnung in dem Rechenkern der Modellberechnungseinheit, um einen Modellwert an einem vorgegebenen Testpunkt zu erhalten; und
    • – Übertragen eines zweiten Teils der Konfigurationsdaten, die einen zweiten Teil der Stützstellendaten mit mehreren Stützstellen enthalten, in die Modellberechnungseinheit, bevor die Berechnung in dem Rechenkern der Modellberechnungseinheit abgeschlossen ist.
  • Bei Steuergeräten zur Berechnung von datenbasierten Funktionsmodellen wird die aufwändige Berechnung des Funktionsmodells in einer Modellberechnungseinheit (Logik-Einheit) durchgeführt. Bei der Modellberechnungseinheit handelt es sich um eine Logikeinheit, die eine Hardware enthält, die zur hardwaremäßigen Durchführung bestimmter Berechnungen für datenbasierte Funktionsmodelle insbesondere zur gemeinsamen Integration mit einem Rechenkern ausgebildet ist. Mithilfe dieser Logikeinheit wird ein vorab trainiertes und auf der Hardware gespeichertes Berechnungsverfahren für ein Bayes-Regressionsmodell online durchgeführt. Die Modellberechnungseinheit kann in der Regel einen oder mehrere Rechenkerne aufweisen, die unabhängig voneinander arbeiten.
  • Ein datenbasiertes Funktionsmodell kann in mehrere kleinere Teilmodelle aufgeteilt werden und diese Teilmodelle können von den Rechenkernen der Modellberechnungseinheit parallel berechnet werden, um die zur Berechnung des zugrunde liegenden Funktionsmodells benötigte Zeit zu reduzieren.
  • So kann bei einer Modellberechnungseinheit mit M verfügbaren Rechenkernen eine Berechnung des Funktionsmodells mit N D-dimensionalen Stützstellen durchgeführt werden. Das Funktionsmodell kann in bis zu M Teilmodelle aufgeteilt werden, die jeweils die gleiche Anzahl von Stützstellen oder verschiedene Anzahlen von Stützstellen aufweisen.
  • Vor der Berechnung des Funktionsmodells müssen die benötigten Konfigurationsdaten, die Parameter und Stützstellendaten enthalten, in den internen Speicher der Modellberechnungseinheit geladen werden, wobei die Berechnung des zweiten Teilmodells erst dann gestartet werden kann, wenn ausreichende Stützstellendaten des betreffenden Teilmodells in dem internen Speicher der Modellberechnungseinheit vorhanden sind. Da die Stützstellendaten nacheinander übertragen werden, kann die Ladezeit der Stützstellendaten für das zweite Teilmodell erst dann gestartet werden, wenn die Stützstellendaten für das erste Teilmodell bereits übertragen worden sind. Das bedeutet, dass die Berechnung des zweiten Teilmodells sowie der weiteren Teilmodelle erst später gestartet werden kann. Dies führt zu einer unnötigen Wartezeit für die Berechnung des zweiten und der weiteren Teilmodelle, was die Gesamtberechnungszeit für das datenbasierte Funktionsmodell verlängert.
  • Das obige Verfahren zur Durchführung einer Berechnung eines datenbasierten Funktionsmodells in einer separaten Modellberechnungseinheit eines Steuergeräts sieht nun vor, für jedes zu berechnende Teilmodell die Berechnung zu starten, bevor die dafür benötigten Stützstellendaten vollständig übertragen worden sind. Da die Berechnungen bezüglich der einzelnen Stützstellen nacheinander erfolgen und eine Berechnung einer einzelnen Stützstelle tendenziell eine längere Zeit in Anspruch nimmt als die Übertragung der Daten für eine Stützstelle in die Modellberechnungseinheit, kann die Berechnung des Teilmodells in dem entsprechenden Rechenkern bereits nach der Übertragung von wenigen Stützstellendaten eines Teilmodells gestartet werden.
  • Dadurch kann die zur Berechnung eines datenbasierten Funktionsmodells benötigte Zeit deutlich reduziert werden, da sich ein Großteil der Ladezeit der Konfigurationsdaten und der Berechnungszeit der einzelnen Teilmodelle überschneidet.
  • Weiterhin kann die Übertragung eines zweiten Teils der Konfigurationsdaten gleichzeitig mit der Berechnung in der Modellberechnungseinheit gestartet werden.
  • Es kann vorgesehen sein, dass die Modellberechnungseinheit mehrere Rechenkerne aufweist, in denen die Berechnungen, insbesondere unmittelbar, nach dem Laden des ersten Teils der Konfigurationsdaten gestartet werden, wobei die Berechnungen in den Rechenkernen jeweils mit einem Teil des ersten Teils der Stützstellen durchgeführt werden.
  • Insbesondere können bei einer Anzahl M von Rechenkernen die Berechnungen in den Rechenkernen jeweils mit zugeordneten Stützstellen des ersten Teils der Stützstellen durchgeführt werden, wobei jedem Rechenkern diejenigen Stützstellen zugeordnet werden, die sich aus einer nacheinander erfolgenden Zuordnung von Gruppen von einer oder mehreren Stützstellen aus dem ersten Teil der Stützstellen zu den einzelnen Rechenkernen ergeben, so dass den Teilen des ersten Teils der Stützstellen jede M-te Gruppe der einen oder der mehreren Stützstellen versetzt zueinander zugeordnet sind. Ferner können die Berechnungsergebnisse der Berechnungen in den einzelnen Rechenkernen aufsummiert werden, um den gesamten Modellwert zu erhalten.
  • Weiterhin kann das datenbasierte Funktionsmodell ein Gauß-Prozessmodell sein oder ein solches enthalten.
  • Gemäß einem weiteren Aspekt ist ein Steuergerät zum Durchführen einer Berechnung eines datenbasierten Funktionsmodells vorgesehen, umfassend:
    • – eine Recheneinheit;
    • – eine separate Modellberechnungseinheit mit mindestens einem Rechenkern, der ausgebildet ist, um ein datenbasiertes Funktionsmodell, insbesondere ein Gauß-Prozessmodell, zu berechnen; und
    • – eine DMA-Einheit, die ausgebildet ist, um • einen ersten Teil von Konfigurationsdaten, die einen ersten Teil von Stützstellendaten mit mehreren Stützstellen und insbesondere Hyperparameter des datenbasierten Funktionsmodells enthalten, in die Modellberechnungseinheit zu laden; und • einen zweiten Teil von Konfigurationsdaten, die einen zweiten Teil der Stützstellendaten mit mehreren Stützstellen enthalten, in die Modellberechnungseinheit zu übertragen, bevor die Berechnung in dem Rechenkern der Modellberechnungseinheit abgeschlossen ist, wobei die Recheneinheit ausgebildet ist, um eine Berechnung in dem Rechenkern der Modellberechnungseinheit zu starten, um einen Modellwert an einem vorgegebenen Testpunkt zu erhalten.
  • Weiterhin kann das Steuergerät ausgebildet sein, um bei Vorliegen mehrerer Rechenkerne in der Modellberechnungseinheit Berechnungsergebnisse aus den einzelnen Rechenkernen zu erhalten und diese zu dem Modellwert zu addieren.
  • Gemäß einem weiteren Aspekt ist ein Computerprogramm vorgesehen, welches dazu eingerichtet ist, alle Schritte des obigen Verfahrens auszuführen.
  • Kurzbeschreibung der Zeichnungen
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung werden nachfolgend anhand der beigefügten Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Steuergerät zur Berechnung eines datenbasierten Funktionsmodells;
  • 2 eine schematische Darstellung eines Ablaufs einer Berechnung eines datenbasierten Funktionsmodells in einer Modellberechnungseinheit mit einem Rechenkern;
  • 3 eine schematische Darstellung eines Ablaufs einer Berechnung eines datenbasierten Funktionsmodells in einer Modellberechnungseinheit mit zwei Rechenkernen; und
  • 4 eine schematische Darstellung eines Ablaufs einer Berechnung eines datenbasierten Funktionsmodells in einer Modellberechnungseinheit mit einem Rechenkern bei einem kontinuierlichen Übertragungsprozess..
  • Beschreibung von Ausführungsformen
  • 1 zeigt schematisch eine Darstellung eines Steuergeräts, insbesondere eines Motorsteuergeräts zur Steuerung eines Verbrennungsmotors in einem Motorsystem. Das Steuergerät 1 ist speziell für die Berechnung von datenbasierten Funktionsmodellen ausgebildet, insbesondere zur Berechnung von Gauß-Prozessmodellen.
  • Die Verwendung von nicht parametrischen, datenbasierten Funktionsmodellen basiert auf einem Bayes-Regressionsverfahren. Die Bayes-Regression ist ein datenbasiertes Verfahren, das auf einem nicht parametrischen Modell basiert. Zur Erstellung des Modells sind Trainingsdaten erforderlich, die Messpunkte als Eingangswertekombinationen von Eingangsgrößen und zugehörige Ausgangsdaten einer Ausgangsgröße enthalten. Das Modell wird erstellt, indem Stützstellendaten, die in der Regel den Trainingsdaten entsprechen oder aus diesen ausgewählt oder generiert werden, und abstrakte Hyperparameter bestimmt werden, die den Raum der Modellfunktionen parametrisieren und effektiv den Einfluss der einzelnen Messpunkte der Stützstellendaten auf die spätere Modellvorhersage gewichten.
  • Als Ergebnis der Erstellung des nicht parametrischen, datenbasierten Funktionsmodells erhält man:
    Figure DE102013206320A1_0002
    wobei v dem Modellwert an einem Testpunkt u, xi einem Messpunkt der Trainingsdaten, N der Anzahl der Messpunkte der Trainingsdaten, D der Dimension des Eingangsdaten-/Trainingsdatenraums (Anzahl der Eingangsgrößen), sowie ld und den aus dem Modelltraining ermittelten Hyperparametern entsprechen. Qy ist eine sich aus den Hyperparametern und den Messdaten ergebende Größe.
  • Das Steuergerät 1 zum Betreiben eines physikalischen Systems, wie beispielsweise eines Verbrennungsmotors, umfasst eine Eingangsschnittstelle 2 zum Empfangen einer oder mehrerer Eingangsgrößen E und eine Ausgangsschnittstelle 3 zum Ausgeben einer oder mehrerer Ausgangsgrößen A, insbesondere Stellgrößen für Stellgeber, wie z. B. einen Drosselklappensteller, Einspritzventile und dergleichen. Die Eingangsgrößen E können Sensorwerte und Vorgabewerte umfassen und dienen dazu, einen Systemzustand, insbesondere einen Zustand eines Verbrennungsmotors, zu beschreiben und einen Soll-Betriebszustand vorzugeben.
  • 1 zeigt eine schematische Darstellung einer Hardwarearchitektur für das integriertes Steuergerät 1, in dem eine Recheneinheit 4 und eine Modellberechnungseinheit 6 zur hardwaremäßigen Berechnung eines datenbasierten Funktionsmodells in integrierter Weise vorgesehen sind. Die Recheneinheit 4 und die Modellberechnungseinheit 6 stehen über einen Systembus 8 miteinander in Kommunikationsverbindung.
  • Grundsätzlich weist die Modellberechnungseinheit 6 lediglich Hardware (hartverdrahtet) auf und ist vorzugsweise nicht dazu ausgebildet, Softwarecode auszuführen. Aus diesem Grunde ist es auch nicht notwendig, in der Modellberechnungseinheit 6 einen Prozessor vorzusehen. Dies ermöglicht eine ressourcenoptimierte Realisierung einer solchen Modellberechnungseinheit 6.
  • Das Steuergerät 1 umfasst die Recheneinheit 4, die die Prozesse im Steuergerät 1 im Wesentlichen steuert. Die Recheneinheit 4 ist ausgebildet, eine Steuergeräte-Software auszuführen, die die Generierung der Ausgangsgröße(n) A durchführt.
  • Das Steuergerät 1 kann vorgesehen sein, um eine Ausgangsgröße A basierend auf einer oder mehreren Eingangsgrößen E mithilfe eines datenbasierten Funktionsmodells zu berechnen. Die Konfigurationsdaten für das datenbasierte Funktionsmodell, die Hyperparameter und Stützstellendaten umfassen, sind in einer Speichereinheit 5 abgelegt und können bei Bedarf in eine Modellberechnungseinheit 6, die separat von der Recheneinheit 4 vorgesehen ist, eingelesen werden.
  • Die Modellberechnungseinheit 6 ist ausgebildet, um die für die Einzelberechnungen des datenbasierten Funktionsmodells erforderlichen Rechenschritte effizient und schneller als die Recheneinheit 4 auszuführen. Insbesondere wird die Berechnung von Exponentialfunktionen in Hardware ausgeführt. Die Modellberechnungseinheit 6 kann einen oder mehrere Rechenkerne 62 umfassen, die jeweils unabhängig voneinander zur Durchführung einer Modellberechnung in der Lage sind. Die Modellberechnungseinheit 6 kann einen oder mehrere Rechenkerne 31, einen internen Speicher 32 und eine DMA-Einheit 33 (DMA = Direct Memory Access) umfassen. Die Rechenkerne 31, der interne Speicher 32 und die DMA-Einheit 33 stehen über eine interne Kommunikationsverbindung 34 miteinander in Verbindung.
  • Um das Einlesen der Konfigurationsdaten in die Modellberechnungseinheit 6 ohne das Zutun der Recheneinheit 4 durchführen zu können, ist eine z.B. mit dem Systemverbindung 8 verbundene DMA-Einheit 7 vorgesehen, um Konfigurationsdaten, direkt aus der Speichereinheit 5 in die Modellberechnungseinheit 6, insbesondere dort in einen internen Speicher 61, zu laden. Die Speichereinheit 5 kann als ein Flash-Speicher oder als ein ROM (Read-Only Memory = nur Lesespeicher) ausgebildet sein.
  • Die Funktion der DMA-Einheit 7 kann direkt durch die Recheneinheit 4 aktiviert werden. Die Funktionsweise der DMA-Einheit 7 ist es, die Konfigurationsdaten, die zu einem zu berechnenden datenbasierten Funktionsmodell gehören und die Hyperparameter des datenbasierten Funktionsmodells sowie Stützstellendaten umfassen, in die Modellberechnungseinheit 6 einzulesen. Die Konfigurationsdaten werden nacheinander eingelesen, wobei zunächst die Hyperparameter und anschließend die einzelnen Stützstellendaten in die Modellberechnungseinheit 6 eingelesen werden.
  • Das datenbasierte Funktionsmodell kann auf Grundlage einer Berechnung der obigen Formel erfolgen. Daher ist es möglich, in einfacher Weise Teilmodelle zu berechnen, die jeweils nur auf einem Teil der Stützstellendaten basieren. Eine anschließende Addition der einzelnen Berechnungsergebnisse führt zum Funktionswert des datenbasierten Funktionsmodells.
  • So kann bei einer Modellberechnungseinheit mit M verfügbaren Rechenkernen eine Berechnung des Funktionsmodells mit N D-dimensionalen Stützstellen durchgeführt werden, indem das Funktionsmodell in M Teilmodelle aufgeteilt wird, wobei das erste Teilmodell die Stützstellen xp,d mit d = 1, ..., D, und p = 1, ..., n1 das zweite Teilmodell die Stützstellen xq,d mit q = n1 + 1, ..., n2 usw. verwendet, wobei die Anzahl der Stützstellen gleich oder verschieden sein können.
  • Mit anderen Worten können beispielsweise die Stützstellendaten xi in Teilmodellen verwendet werden, in denen in einem ersten Teilmodell die Stützstellendaten xp mit p = 1, ..., N/M, in einem zweiten Teilmodell die Stützstellendaten xq mit q = N/M + 1, ..., N × 2/M usw. verwendet werden.
    Figure DE102013206320A1_0003
    Figure DE102013206320A1_0004
    und allgemein:
    Figure DE102013206320A1_0005
  • Weiterhin erfolgt die Berechnung eines datenbasierten Funktionsmodells in der Modellberechnungseinheit 6 so, dass die einzelnen Stützstellen xi in den Stützstellendaten nacheinander berechnet werden. Daher ist gemäß dem Ablaufdiagramm der 2 vorgesehen, die Übertragung der Konfigurationsdaten in die Modellberechnungseinheit 6 zu starten und die Berechnung des datenbasierten Funktionsmodells in dem Rechenkern 62 noch während der Übertragung der Konfigurationsdaten zu starten, d. h. bevor die Konfigurationsdaten zur Berechnung des datenbasierten Funktionsmodells vollständig übertragen worden sind. Es sollte hierbei lediglich vorgesehen sein, dass die nächsten Stützstellen bereits in den internen Speicher 61 geladen worden sind, bevor die zuvor in den internen Speicher 61 geladenen Stützstellendaten vollständig in der Berechnung verwendet worden sind. Auf diese Weise kann gewährleistet werden, dass die Berechnung in dem Rechenkern 62 ohne Unterbrechung weitergeführt wird.
  • 2 zeigt anhand eines Ablaufdiagramms für ein Beispiel der Modellberechnungseinheit 6 mit nur einem aktiven Rechenkern 62, dass in einem ersten Schritt S1 die Recheneinheit 4 die DMA-Einheit 7 zu einem Start-Zeitpunkt T0 anweist, die Konfigurationsdaten zur Berechnung des datenbasierten Funktionsmodells in die Modellberechnungseinheit 6 zu übertragen.
  • Die Übertragung der Konfigurationsdaten wird in Schritt S2 gestartet und nach einem Zeitraum TL1, d. h. nach dem Übertragen eines ersten Teils der zu übertragenden Konfigurationsdaten, wird in Schritt S3 der Recheneinheit 4 durch die DMA-Einheit 4 der Abschluss der Übertragung des ersten Teils der zu übertragenden Konfigurationsdaten mitgeteilt.
  • Daraufhin startet die Recheneinheit 4 dann die Berechnung in der Modellberechnungseinheit 6 mit Schritt S4. Im Wesentlichen gleichzeitig oder zeitlich versetzt kann die DMA-Einheit 7 angewiesen werden, einen weiteren Teil der Konfigurationsdaten an den Rechenkern 62 der Modellberechnungseinheit 6 zu übertragen (Schritt S5).
  • Während die Übertragung des nächsten Teils der Konfigurationsdaten durch die DMA-Einheit 7 an die Modellberechnungseinheit 6 erfolgt, erfolgen in Schritt S8 die Berechnungen in der Modellberechnungseinheit 6 basierend auf dem ersten Teil der Konfigurationsdaten während eines Zeitraums TAMU. Sobald in Schritt S6 alle Konfigurationsdaten nach der Zeit TL2 übertragen worden sind, kann dies der Recheneinheit 4 entsprechend kommuniziert werden (Schritt S7).
  • Des Weiteren wird in Schritt S9 der Recheneinheit 4 der Abschluss der Berechnungen in dem Rechenkern 62 mitgeteilt. Zu einem End-Zeitpunkt T1 steht dann das Berechnungsergebnis in der Recheneinheit 4 zur Verfügung.
  • Die Übertragung des weiteren Teils der Konfigurationsdaten kann mehrfach erfolgen.
  • Wenn in der Modellberechnungseinheit 6 mehr als ein Rechenkern 62, beispielsweise zwei Rechenkerne 62, vorgesehen sind, kann das Verfahren auch gemäß dem Ablaufdiagramm der 3 durchgeführt werden. Dort werden als erster Teil der Konfigurationsdaten die Stützstellen sowohl für die Berechnung eines ersten Teilmodells in einem ersten Rechenkern 62 als auch für die Berechnung eines zweiten Teilmodells in einem zweiten Rechenkern 62 übertragen. Beispielsweise können in dem ersten Rechenkern 62 Berechnungen für die Stützstellen an jeder geraden Position und in dem zweiten Rechenkern 62 Berechnungen für die Stützstellen an jeder ungeraden Position im internen Speicher 61 durchgeführt werden.
  • Beispielsweise kann bei einer Modellberechnungseinheit mit M verfügbaren Rechenkerne eine Berechnung des Funktionsmodell mit N D-dimensionalen Stützstellen durchgeführt werden, indem das Funktionsmodell im M Teilmodelle aufgeteilt wird, wobei das erste Teilmodell die Stützstellen xp,d mit p = 1, M + 1, 2M + 1, ..., und das zweite Teilmodell die Stützstellen xq,d mit q = 2, M + 2, 2M + 2, ... usw. verwendet. Allgemein gilt für diese Teilmodellaufteilung:
    Figure DE102013206320A1_0006
    m = 1, ..., M M ≥ 2
  • Im Unterschied zu dem Schritt S4 des zuvor beschriebenen Verfahrens in Verbindung mit 2 wird in den Schritten S4' und S4" die Berechnung sowohl in dem ersten Rechenkern 62 als auch in dem zweiten Rechenkern 62 im Wesentlichen gleichzeitig gestartet.
  • Die beiden Rechenkerne 62 greifen dann auf die geraden bzw. ungeraden Stützstellen in dem ersten Teil der Konfigurationsdaten zu. Gleichzeitig wird in den Schritten S5 und S6 ein weiterer Teil der Konfigurationsdaten wie zuvor beschrieben in den internen Speicher 61 geladen. Bei Verwendung von mehreren Rechenkernen 62 zur Berechnung von Teilmodellen eines datenbasierten Funktionsmodells werden die Berechnungen in den Schritten S8' und S8" durchgeführt und zu den Berechnungsergebnissen der Schritte S9' und S9" müssen anschließend noch in einem Schritt S10 die Teilberechnungsergebnisse v1, v2 usw. der einzelnen Teilmodelle addiert werden, um den Funktionswert des datenbasierten Funktionsmodells zu erhalten.
  • Das Laden der Teile der Konfigurationsdaten kann auch, wie in dem Schaubild der 4 gezeigt, in einem gemeinsamen, einheitlichen Übertragungsprozess erfolgen. Das Mitteilen des Abschlusses der Übertragung des ersten Teils der zu übertragenden Konfigurationsdaten in Schritt S3 kann während dieser Übertragung durchgeführt werden, sobald der erste Teil der Konfigurationsdaten übertragen worden ist. Die Mitteilung kann in Form eines Interrupts an die Recheneinheit erfolgen. In dieser Ausführungsform kann auf den Schritt S5 verzichtet werden, da die Übertragung des zweiten Teils der Konfigurationsdaten in einem gemeinsamen Übertragungsprozess keine zusätzliches Startkommando benötigt.
  • Das obige Verfahren ist beliebig auch auf Modellberechnungseinheiten 6 mit mehr als zwei Rechenkernen 62 erweiterbar. Bei dem gleichzeitigen Start der Berechnungen in den einzelnen Rechenkernen 62 ist darauf zu achten, dass der erste Teil der übertragenen Konfigurationsdaten ausreichend Stützstellen zum Start der Berechnungen in allen Rechenkernen 62 enthält.
  • 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 [0002]

Claims (12)

  1. Verfahren zum Durchführen einer Berechnung eines datenbasierten Funktionsmodells in einem Steuergerät (1) mit einer Recheneinheit (4) und einer separaten Modellberechnungseinheit (6) mit einem Rechenkern (62), mit folgenden Schritten: – Laden (S2) eines ersten Teils von Konfigurationsdaten, die einen ersten Teil von Stützstellendaten mit mehreren Stützstellen enthalten, in die Modellberechnungseinheit (6); – Starten (S4) einer Berechnung in dem Rechenkern (62) der Modellberechnungseinheit (6), um einen Modellwert an einem vorgegebenen Testpunkt zu erhalten; und – Übertragen (S6) eines zweiten Teils der Konfigurationsdaten, die einen zweiten Teil der Stützstellendaten mit mehreren Stützstellen enthalten, in die Modellberechnungseinheit (6), bevor die Berechnung in dem Rechenkern (62) der Modellberechnungseinheit (6) abgeschlossen ist.
  2. Verfahren nach Anspruch 1, wobei das Übertragen eines zweiten Teils der Konfigurationsdaten gleichzeitig mit der Berechnung in der Modellberechnungseinheit (6) gestartet wird.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Modellberechnungseinheit (6) mehrere Rechenkerne (62) aufweist, in denen die Berechnungen, insbesondere unmittelbar, nach dem Laden des ersten Teils der Konfigurationsdaten gestartet werden, wobei die Berechnungen in den Rechenkernen (62) jeweils mit einem Teil des ersten Teils der Stützstellen durchgeführt werden.
  4. Verfahren nach Anspruch 3, wobei bei einer Anzahl M von Rechenkernen (62) die Berechnungen in den Rechenkernen (62) jeweils mit zugeordneten Stützstellen des ersten Teils der Stützstellendaten durchgeführt werden, wobei jedem Rechenkern (62) diejenigen Stützstellen zugeordnet werden, die sich aus einer nacheinander erfolgenden Zuordnung von Gruppen von einer oder mehreren Stützstellen aus dem ersten Teil der Stützstellendaten zu den einzelnen Rechenkernen (62) ergeben, so dass den Teilen des ersten Teils der Stützstellen jede M-te Gruppe der einen oder der mehreren Stützstellen versetzt zueinander zugeordnet sind.
  5. Verfahren nach Anspruch 3 oder 4, wobei die Berechnungsergebnisse der Berechnungen in den einzelnen Rechenkernen (62) aufsummiert werden, um den gesamten Modellwert zu erhalten.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das datenbasierte Funktionsmodell ein Gauß-Prozessmodell ist.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei das Laden (S2) des ersten Teils der Konfigurationsdaten und (S6) des zweiten Teils der Konfigurationsdaten als zusammenhängender Übertragungsprozess ausgeführt werden.
  8. Steuergerät zum Durchführen einer Berechnung eines datenbasierten Funktionsmodells, umfassend: – eine Recheneinheit (4); – eine separate Modellberechnungseinheit (6) mit mindestens einem Rechenkern (62), der ausgebildet ist, um ein datenbasiertes Funktionsmodell, insbesondere ein Gauß-Prozessmodell zu berechnen; und – eine DMA-Einheit (7), die ausgebildet ist, um • einen ersten Teil von Konfigurationsdaten, die einen ersten Teil von Stützstellendaten mit mehreren Stützstellen enthalten, in die Modellberechnungseinheit (6) zu laden; und • einen zweiten Teil der Konfigurationsdaten, die einen zweiten Teil der Stützstellendaten mit mehreren Stützstellen enthalten, in die Modellberechnungseinheit (6) zu übertragen, bevor die Berechnung in dem Rechenkern (62) der Modellberechnungseinheit (6) abgeschlossen ist, wobei die Recheneinheit (4) ausgebildet ist, um eine Berechnung in dem mindestens einen Rechenkern (62) der Modellberechnungseinheit (6) zu starten, um einen Modellwert an einem vorgegebenen Testpunkt zu erhalten.
  9. Steuergerät (1) nach Anspruch 8, das ausgebildet ist, um bei mehreren Rechenkernen (62) in der Modellberechnungseinheit (6) Berechnungsergebnisse aus den einzelnen Rechenkernen (62) zu erhalten und diese zu dem Modellwert zu addieren.
  10. Computerprogramm, welches dazu eingerichtet ist, alle Schritte des Verfahrens nach einem der Ansprüche 1 bis 7 auszuführen.
  11. Elektronisches Speichermedium, auf welchem ein Computerprogramm nach Anspruch 10 gespeichert ist.
  12. Elektronisches Steuergerät, welches ein elektronisches Speichermedium nach Anspruch 11 aufweist.
DE102013206320.2A 2013-04-10 2013-04-10 Verfahren und Steuergerät zur Berechnung eines datenbasierten Funktionsmodells Pending DE102013206320A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102013206320.2A DE102013206320A1 (de) 2013-04-10 2013-04-10 Verfahren und Steuergerät zur Berechnung eines datenbasierten Funktionsmodells
US14/247,865 US9977842B2 (en) 2013-04-10 2014-04-08 Method and control for calculating a data-based function model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102013206320.2A DE102013206320A1 (de) 2013-04-10 2013-04-10 Verfahren und Steuergerät zur Berechnung eines datenbasierten Funktionsmodells

Publications (1)

Publication Number Publication Date
DE102013206320A1 true DE102013206320A1 (de) 2014-10-16

Family

ID=51618305

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013206320.2A Pending DE102013206320A1 (de) 2013-04-10 2013-04-10 Verfahren und Steuergerät zur Berechnung eines datenbasierten Funktionsmodells

Country Status (2)

Country Link
US (1) US9977842B2 (de)
DE (1) DE102013206320A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013213420A1 (de) * 2013-04-10 2014-10-16 Robert Bosch Gmbh Modellberechnungseinheit, Steuergerät und Verfahrenzum Berechnen eines datenbasierten Funktionsmodells

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010028259A1 (de) 2010-04-27 2011-10-27 Robert Bosch Gmbh Mikrocontroller mit einer Recheneinheit und einer Logikschaltung sowie Verfahrung zur Durchführung von Rechnungen durch einen Mikrocontroller für eine Regelung oder eine Steuerung in einem Fahrzeug

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2774158A1 (en) * 2009-09-15 2011-03-24 The University Of Sydney A method and system for multiple dataset gaussian process modeling
US9785613B2 (en) * 2011-12-19 2017-10-10 Cypress Semiconductor Corporation Acoustic processing unit interface for determining senone scores using a greater clock frequency than that corresponding to received audio

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010028259A1 (de) 2010-04-27 2011-10-27 Robert Bosch Gmbh Mikrocontroller mit einer Recheneinheit und einer Logikschaltung sowie Verfahrung zur Durchführung von Rechnungen durch einen Mikrocontroller für eine Regelung oder eine Steuerung in einem Fahrzeug

Also Published As

Publication number Publication date
US9977842B2 (en) 2018-05-22
US20140309973A1 (en) 2014-10-16

Similar Documents

Publication Publication Date Title
EP2999998B1 (de) Methode zur ermittlung eines modells einer ausgangsgrösse eines technischen systems
DE102010028259A1 (de) Mikrocontroller mit einer Recheneinheit und einer Logikschaltung sowie Verfahrung zur Durchführung von Rechnungen durch einen Mikrocontroller für eine Regelung oder eine Steuerung in einem Fahrzeug
DE102013213420A1 (de) Modellberechnungseinheit, Steuergerät und Verfahrenzum Berechnen eines datenbasierten Funktionsmodells
DE202018104373U1 (de) Vorrichtung, die zum Betreiben eines maschinellen Lernsystems eingerichtet ist
DE102013212842A1 (de) Verfahren zum Betreiben eines Steuergeräts sowie Steuergerät mit einer Modellberechnungseinheit
DE112012006178T5 (de) Parametereinstellvorrichtung
DE102016222814A1 (de) Verfahren zum berechnen einer ausgabe eines neuronalen netzes
EP3188053A1 (de) Verfahren zum konfigurieren einer co-simulation für ein gesamtsystem
DE102019007340A1 (de) Technik zum Einrichten und Betreiben eines neuronalen Netzwerks
EP4000010A1 (de) Vorrichtung und computerimplementiertes verfahren für die verarbeitung digitaler sensordaten und trainingsverfahren dafür
DE102013206292A1 (de) Verfahren und Vorrichtung zum Erstellen eines datenbasierten Funktionsmodells
DE102017213510A1 (de) Verfahren und Vorrichtung zum Erzeugen eines maschinellen Lernsystems, und virtuelle Sensorvorrichtung
DE102014225039A1 (de) Verfahren und Vorrichtung zum Bereitstellen von spärlichen Gauß-Prozess-Modellen zur Berechnung in einem Motorsteuergerät
DE112021005568T5 (de) Datenverarbeitungsvorrichtung und Datenverarbeitungsverfahren
DE102013206304A1 (de) Verfahren und Vorrichtung zum Erstellen eines nicht parametrischen, datenbasierten Funktionsmodells
DE102015221819A1 (de) Verfahren und Vorrichtung zum Adaptieren eines datenbasierten Funktionsmodells zur Berechnung in einer Modellberechnungseinheit
DE102013206291A1 (de) Verfahren und Vorrichtung zum Erstellen eines nicht parametrischen, datenbasierten Funktionsmodells
DE102013206320A1 (de) Verfahren und Steuergerät zur Berechnung eines datenbasierten Funktionsmodells
DE102014208379A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Funktionswerts eines bezüglich einer Eingangsgröße invertierten datenbasierten Funktionsmodells
DE112021002403T5 (de) Fahrzeugsteuervorrichtung
DE102016216950A1 (de) Modellberechnungseinheit und Steuergerät zur Berechnung eines mehrschichtigen Perzeptronenmodells mit Vorwärts- und Rückkopplung
DE102016206490A1 (de) Elektronische steuereinheit
DE102013224694A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Gradienten eines datenbasierten Funktionsmodells
DE102019214436A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Betreiben eines künstlichen neuronalen Netzes
DE102019205081A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Betreiben eines tiefen neuronalen Netzes

Legal Events

Date Code Title Description
R012 Request for examination validly filed