-
Die Erfindung betrifft ein computerimplementiertes Verfahren, ein eingebettetes System und ein Computerprogramm zum Ausführen einer Regelungs- und/oder Steuerungsvorschrift. Ferner betrifft die Erfindung eine Verwendung des eingebetteten Systems zur Absicherung von sicherheitskritischen Regelungs- und/oder Steuerungsprozessen und ein Datenträgersignal, das das Computerprogramm überträgt.
-
Gemäß universaler Näherungsverfahren der mathematische Theorie künstlicher neuronaler Netzwerke existiert beispielsweise für jede reell wertige stetige Funktion ein künstliches neuronales Netzwerk, dessen Ausgangswerte gegen die Funktionswerte konvergieren, siehe „Kidger, Patrick; Lyons, Terry (July 2020). Universal Approximation with Deep Narrow Networks. Conference on Learning Theory.“
-
Ferner sind Prozessoren als AI-Beschleuniger bekannt, die besonders effizient das Herleiten, auch Inferencing genannt, von künstlichen neuronalen Netzen betreiben.
-
In
WO 2016/010601 A2 ist ein Verfahren offenbart für adaptive nichtlineare modellprädiktive Regelung.
-
Aufgabe der Erfindung war es, wie komplexe, laufzeitintensive Prozesse mit klassischen eingebetteten Systemen ausgeführt werden können.
-
Das computerimplementierte Verfahren und das eingebettete System der unabhängigen und nebengeordneten Ansprüche lösen jeweils diese Aufgabe.
-
Gemäß einem Aspekt stellt die Erfindung ein computerimplementiertes Verfahren bereit zum Ausführen einer Regelungs- und/oder Steuerungsvorschrift auf einem eingebetteten System. Das Verfahren umfasst die Schritte
- • Bereitstellen von Eingangsdaten für die Regelungs- und/oder Steuerungsvorschrift und Berechnen von Ausgangsdaten mit der Regelungs- und/oder Steuerungsvorschrift,
- • Eingeben von Datenpaaren umfassend jeweils ein Datenelement der Eingangsdaten und ein zugehöriges Datenelement der Ausgangsdaten in ein künstliches neuronales Netzwerk und überwachtes Lernen der Regelungs- und/oder Steuerungsvorschrift und
- • Ausführen des gelernten künstlichen neuronalen Netzwerks auf Hardwarebeschleunigern für künstliche Intelligenz des eingebetteten System.
-
Gemäß einem weiterem Aspekt stellt die Erfindung ein eingebettetes System bereit für ein Fahrzeugsystem oder eine Maschine zum Ausführen einer Regelungs- und/oder Steuerungsvorschrift. Das eingebettete System umfasst Hardwarebeschleuniger für künstliche Intelligenz, die ein erfindungsgemäßes gelerntes künstliches neuronales Netzwerk ausführen. Die Hardwarebeschleuniger umfassen wenigstens einen Zentral- und/oder Graphikprozessor mit einer jeweiligen Mikroarchitektur zum parallelisierten Ausführen von Rechenoperationen und/oder zum Ausführen von Matrixmultiplikationen, einen Mehrkernprozessor, ein programmierbares Logikgatter, eine anwendungsspezifische integrierte Schaltung und/oder einen Phasenübergangsspeicher.
-
Ferner schlägt die Erfindung eine Verwendung eines erfindungsgemäßen eingebetteten Systems zur Absicherung von sicherheitskritischen Regelungs- und/oder Steuerungsprozessen vor.
-
Gemäß einem weiteren Aspekt stellt die Erfindung ein Computerprogramm bereit zum Ausführen einer Regelungs- und/oder Steuerungsvorschrift. Das Computerprogramm umfasst Befehle, die bei der Ausführung durch einen Computer eines eingebetteten Systems diesen veranlassen, ein erfindungsgemäßes gelerntes künstliches neuronales Netzwerk auszuführen.
-
Außerdem schlägt die Erfindung ein Datenträgersignal vor, das das erfindungsgemäße Computerprogramm überträgt.
-
Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Definitionen, den Unteransprüchen, den Zeichnungen und der Beschreibung bevorzugter Ausführungsbeispiele.
-
Ein eingebettetes System ist ein Computersystem, das wenigstens einen Prozessor, nach einem Aspekt der Erfindung in Form eines Mikrokontrollers, einen Speicherbereich umfassend Festwertspeicher und Schreib-Lesespeicher, Eingabe-Ausgabe-Fähigkeiten und Peripheriefunktionen umfasst. Die einzelnen Elemente sind über ein Bussystem miteinander Signal übertragend verbunden. Die Peripherie umfasst Ein- und Ausgabegeräte, externe Speicher und die entsprechenden Schnittstellen. Peripheriefunktionen umfassen Controller Area Network, abgekürzt CAN, Local Interconnect Network, abgekürzt LIN, Universal Serial Bus, abgekürzt USB, serielle oder Ethernet-Schnittstellen und WLAN-Schnittstellen. Nach einem Aspekt der Erfindung umfasst das eingebettete System ein für den Einsatz im automotive Bereich entwickelter Mikrokontroller eines Steuergeräts, auch electronic control unit genannt. Das Steuergerät bereitet Eingangssignale auf, verarbeitet diese mittels des Mikrokontrollers und stellt Logik- und/oder Leistungspegel als Regel- und/oder Steuersignale bereit, nach einem Aspekt der Erfindung zum automatisierten Betrieb eines Fahrsystems.
-
Die bekannten eingebetteten Systeme haben eine relativ begrenzte Rechen- und Speicherkapazität relativ zu einem Personalcomputer oder einem Entwicklungscomputer. Dies macht die Anwendung von komplexen und/oder laufzeitintensiven Regelungs- und/oder Steuerungsvorschriften schwierig. Viele Algorithmen können derzeit nicht in einem Fahrsystem eingesetzt werden, da die Berechnung auf den heutigen Prozessoren von elektronischen Steuergeräten, auch electronic control unit genannt, abgekürzt ECU, nicht möglich ist oder ein entsprechender Prozessor zu teuer für die Anwendung wäre. Beispielsweise können aus den genannten Gründen modellprädiktive Regelungsalgorithmen, beispielsweise für Getrieberegelung, Motorregelung oder Trajektorienplanung, oder die Bestimmung von Sollwerten für die Regelung einer E-Maschine, nicht ohne Weiteres von einer herkömmlichen ECU ausgeführt werden.
-
Gemäß aus dem Stand der Technik bekannter Lösungen wird ein derartiger Algorithmus in einer Entwicklungsumgebung, zum Beispiel Matlab, entwickelt und dann in eine Programmiersprache, beispielsweise C/C++, portiert. In der Programmiersprache wird der Algorithmus zunächst optimiert, beispielsweise Laufzeit optimiert. Der jeweils Laufzeit optimierte Algorithmus wird auf dem eingebetteten System ausgeführt.
-
Gemäß der erfindungsgemäßen Lösung wird der Algorithmus von einem künstlichen neuronalen Netzwerk gelernt. Das gelernte, auch als trainiert bezeichnete künstliche neuronale Netzwerk wird auf dem eingebetteten System durchgeführt. Beispielsweise wird das resultierende künstliche neuroanale Netzwerk auf einen Chip aufgespielt/geflasht und zur Laufzeit ausgeführt. Durch spezielle Hardwarebeschleuniger für künstliche Intelligenz wird das künstliche neuronale Netzwerk und damit die Regelungs- und/oder Steuerungsvorschrift besonders optimiert, zur Laufzeit, ausgeführt. Herkömmliche Laufzeitoptimierungen sind nicht erforderlich.
-
Ein weiterer mit der Erfindung einhergehender Vorteil ist ein Verkürzung der Entwicklungsdauer von Anwendungen, da die aufwändige Überführung von prototypischen Algorithmen auf eine Zielplattform beschleunigt werden kann. Dies wird dadurch erreicht, dass direkt von der Entwicklungsumgebung, beispielsweise Matlab, auf die Zielhardware mit AI-Beschleuniger implementiert werden kann.
-
Das Berechnen der Ausgangsdaten mit der Regelungs- und/oder Steuerungsvorschrift und/oder das Lernen des künstlichen neuronalen Netzwerks wird nach einem Aspekt der Erfindung auf einem Personalcomputer oder einem Entwicklungscomputer mit hoher Rechen- und Speicherleistung ausgeführt, um die Lernphase, die generell sehr rechenintensiv ist, möglichst Zeit effizient zu gestalten. Die Eingangsdaten und die derart berechneten Ausgangsdaten stellen einen Trainingsdatensatz für das überwachte Lernen dar, wobei die Ausgangsdaten Soll-Daten oder Labels entsprechen. Nach einem weiteren Aspekt der Erfindung wird die Berechnung der Ausgangsdaten und/oder das Lernen des künstlichen neuronalen Netzwerks durch Cloud Computing in Form von Software-, Platform- oder Infrastructure as a Service durchgeführt. Damit wird das Berechnen der Ausgangsdaten und das Lernen des künstlichen neuronalen Netzwerks durch Zugriff und Verwendung von durch die Cloud bereitgestellten großen Rechen- und Speicherkapazitäten weiter beschleunigt.
-
Maschinelles Lernen ist eine Technologie, die Computern und anderen Datenverarbeitungsvorrichtungen die Ausführung von Aufgaben durch Lernen aus Daten lehrt, anstatt für die Aufgaben programmiert zu werden. Beim überwachten Lernen werden Eingangsdaten zusammen mit Soll-Ausgangsdaten von dem künstlichen neuronalen Netzwerk prozessiert und Ist-Ausgangsdaten berechnet. Ausgehend von einem Vergleich der Soll- und Ist-Ausgangsdaten wird eine Kostenfunktion des künstlichen neuronalen Netzwerks minimiert, beispielsweise Gradienten basiert. Das überwachte Lernen ist relativ gut kontrollierbar und ein durch überwachtes Lernen trainiertes künstliches neuronales Netzwerk ist relativ gut validierbar.
-
Hardwarebeschleuniger für künstliche Intelligenz, auch artificial intelligence accelerators genannt, beschleunigen Anwendungen der künstlichen Intelligenz. Hardwarebeschleuniger umfassen geringe Präzisionsarithmetik, beispielsweise werden spezielle Datenformate umfassend half-precision format und bfloat16 floating-point format verarbeitet, in-memory computing und spezielle Mikroarchitekturen für parallelisiertes Prozessieren von Berechnungen oder Abläufen.
-
Nach einem Aspekt der Erfindung umfassen die Eingangsdaten einen Zustand eines Fahrsystems oder einer Maschine, umfassend Geschwindigkeit, Beschleunigung, Roll-, Nick- und/oder Gierwinkel, Lenkwinkel, Komponententemperaturen, Motor-, Getriebe- und/oder Energiezustandsdaten und/oder Sollmomente. Die Ausgangsdaten umfassen Regelungs- und/oder Steuerungssignale für Aktuatoren des Fahrsystems oder der Maschine. Damit können komplexe und laufzeitintensive Regelungs- und/oder Steuerungsprozesse, umfassend Trajektorienplanung für ein automatisiertes Fahrsystem, beispielsweise für ein hochautomatisiertes oder autonomes Passagierfahrzeug, und Steuerung von Maschinen, in einem eingebetteten System zur Laufzeit ausgeführt werden. Energiezustandsdaten umfassen Tankvolumen eines Fahrzeuges mit Verbrennungsmotor und Ladungszustand eines Batterie betriebenen Elektrofahrzeuges. Beispielweise geht in die Trajektorienplanung eine Berücksichtigung der Reichweite des Elektrofahrzeuges ein. Sollmomente als Eingangsdaten einer Regelungs- und/oder Steuerungsvorschrift umfassen Fahrerwunschmomente zur Regelung elektrischer Maschinen. Die zugehörigen Ausgangsdaten umfassen in diesem Beispiel Stromstärken elektrischer Ströme zur Regelung der Maschine.
-
Nach einem weiteren Aspekt der Erfindung umfasst das künstliche neuronale Netzwerk Schichten eines Faltungsnetzwerks, rekurrenten Netzwerks und/oder Radiale-Basisfunktion-Netzwerks umfasst. Faltungsnetzwerke, auch convolutional neural networks genannt, abgekürzt CNN, rekurrente Netzwerke, umfassend long-term-shortmemory-Einheiten, abgekürzt LSTM, und/oder radiale-Basisfunktion-Netzwerke sind vorteilhaft für Zeitserien-Vorhersagen. Zeitserien-Vorhersagen sind besonders rechenintensiv und bei Regelungs- und/oder Steuerungsprozessen, beispielsweise Trajektorienplanung, bedeutend. Damit ermöglicht es die Erfindung, Zeitserien für Regelungs- und/oder Steuerungsvorschriften auf einem eingebetteten System vorherzusagen.
-
Nach einem weiteren Aspekt der Erfindung umfasst die Regelungs- und/oder Steuerungsvorschrift eine modellprädiktive Regelung, umfassend eine nichtlineare modellprädiktive Regelung, insbesondere in Kombination mit dem Merkmal, dass das künstliche neuronale Netzwerk Schichten eines Faltungsnetzwerks, rekurrenten Netzwerks und/oder Radiale-Basisfunktion-Netzwerks umfasst. Bei linearer und nichtlinearer modellprädiktiver Regelung wird ein zeitdiskretes dynamisches Modell des zu regelnden Prozesses verwendet, um das zukünftige Verhalten des Prozesses in Abhängigkeit von den Eingangsdaten zu berechnen. Bekannte Algorithmen für lineare und insbesondere für nichtlineare modellprädiktive Regelung sind sehr rechenintensiv und mussten bisher in der Laufzeit optimiert werden, bevor sie von einem eingebetteten System ausgeführt werden konnten. Die Erfindung ermöglicht es, modellprädiktive Regelung, insbesondere nichtlineare modellprädiktive Regelung, auf einem eingebetteten System zur Laufzeit auszuführen ohne vorherige Laufzeitoptimierung.
-
Nach einem weiteren Aspekt der Erfindung umfasst das eingebettete System einen field programmable gate array Chip, abgekürzt FPGA. Ein FPGA Chip umfasst programmierbare logische Einheiten und eine Hierarchie von rekonfigurierbaren Verschaltungen oder Verbindungen, die es ermöglichen, die logischen Einheiten selektiv miteinander zu verschalten, spezifiziert durch eine Konfigurationsdatei. Damit kann ein FPGA zur Ausführung verschiedener Funktionen konfiguriert und rekonfiguriert werden. Nach einem Aspekt der Erfindung umfasst die Konfigurationsdatei mehrere gelernte künstliche neuronale Netzwerke. Damit lassen sich verschiedene Regelungs- und/oder Steuerungsvorschriften auf einem Chip ausführen.
-
Phasenübergangsspeicher, auch phase change memory genannt, ermöglichen eine hohe Performanz in Anwendungen, bei denen schnelles Lesen des Speichers verlangt wird. Ein Phasenübergangsspeicher ist schneller schaltbar als andere Speichereinheiten. Ferner können bei einem Phasenübergangsspeicher einzelne Bits entweder auf 0 oder 1 geändert werden ohne vorher einen Speicherblock löschen zu müssen. Dies ermöglicht ein in-memory computing.
-
In einer weiteren Ausführungsform des eingebetteten Systems umfasst dieses einenersten Hardware- und/oder Softwarepfad, in dem die Regelungs- und/oder Steuerungsvorschrift durch einen ersten Algorithmus ausgeführt wird. Ferner umfasst das eingebettete System einen zweiten Hardware- und/oder Softwarepfad umfassend die Hardwarebeschleuniger für künstliche Intelligenz, in dem die Regelungs- und/oder Steuerungsvorschrift durch einen relativ zu dem ersten diversitären zweiten Algorithmus ausgeführt wird, wobei der zweite Algorithmus das künstliches neuronales Netzwerk ausführt. Außerdem umfasst das eingebettete System eine Logikeinheit, die Ausgangsdaten des ersten und des zweiten Hardware- und/oder Softwarepfades erhält und auf Übereinstimmung überprüft. Das eingebettete System steuert mit ihm in einem Datenaustausch stehende Aktuatoren nur dann an, wenn die Überprüfung der Logikeinheit eine Übereinstimmung ergibt.
-
Ein Hardware- und/oder Softwarepfad umfasst Hardwarekomponenten umfassend Datenübertragungseinheiten und Datenverarbeitungseinheiten und eine Sequenz von verteilten Softwareprozessen, wobei die einzelnen Softwareprozesse Daten einlesen, verarbeiten und jeweilige Ergebnisse an folgende Softwareprozesse weitergeben. Der erste Hardware- und/oder Softwarepfad ist zu dem zweiten Hardware- und/oder Softwarepfad redundant ausgeführt. Damit lässt sich eine Regelung und/oder Steuerung von sicherheitskritischen Anwendungen auf einem eingebetteten validieren, insbesondere auf Ebene der Algorithmen. Damit ist ferner gegeben, dass es nicht zu gleichen Fehlern auf Prozessorebene kommen kann. Außerdem wird damit ein ASIL D Level auf Softwareebene erreicht.
-
Nach einem weiteren Aspekt der Erfindung ist das eingebettete System ausgeführt als Ein-Chip-System, auch system on chip genannt, abgekürzt SoC. Bei einem Ein-Chip-System, beispielsweise einem Ein-Chip-Computersystem, sind alle oder zumindest ein großer Teil der Funktionen eines programmierbaren elektronischen Systems, beispielsweise eines Computers, auf einem Chip, das heißt einem Die, integriert. Nach einem Aspekt der Erfindung ist auf dem Ein-Chip-System der FPGA Chip integriert.
-
Die Befehle des Computerprogramms umfassen Softwarecodeabschnitte, Maschinencode oder Binärcode. Nach einem weiteren Aspekt der Erfindung umfassen die Befehle Konfigurationsdateien für den FPGA Chip.
-
Nach einem Aspekt der Erfindung wird das Datenträgersignal von einem Server umfassend einen Cloud-Sever an das eingebettete System übertragen, insbesondere in Kombination mit dem Merkmal, dass die Berechnung der Ausgangsdaten und/oder das Lernen des künstlichen neuronalen Netzwerks durch Cloud Computing in Form von Software-, Platform- oder Infrastructure as a Service durchgeführt werden.
-
Die Erfindung wird in den folgenden Ausführungsbeispielen verdeutlicht. Es zeigen:
- 1 ein Ausführungsbeispiel eines erfindungsgemäßen Verfahrens und
- 2 ein Ausführungsbeispiel eines erfindungsgemäßen eingebetteten Systems.
-
In 1 werden in einem ersten Verfahrensschritt V1 Eingangsdaten x für eine gegebene Regelungs- und/oder Steuerungsvorschrift f bereitgestellt und Ausgangsdaten y = f(x) berechnet. In einem zweiten Verfahrensschritt V2 werden Datenpaar (x, y) in ein künstliches neuronales Netzwerk ANN eingegeben. Die Datenpaare (x, y) umfassen jeweils ein Datenelement der Eingangsdaten x und ein zugehöriges Datenelement der Ausgangsdaten f(x)= y. Die Datenpaare (x, y) sind ein Trainingsdatensatz für überwachtes Lernen der Regelungs- und/oder Steuerungsvorschrift f durch das künstliche neuronale Netzwerk ANN. Das gelernte künstliche neuronale Netzwerk ANN approximiert die Regelungs- und/oder Steuerungsvorschrift f beliebig genau. In einem dritten Verfahrensschritt V3 wird das gelernte künstliche neuronale Netzwerk ANN auf Hardwarebeschleunigern für künstliche Intelligenz des eingebetteten System ECU ausgeführt.
-
2 zeigt einen ersten Hardware- und/oder Softwarepfad Pfad1 und einen zweiten Hardware- und/oder Softwarepfad Pfad2 des eingebetteten Systems ECU. In dem ersten Pfad Pfad1 wird die Regelungs- und/oder Steuerungsvorschrift f durch einen ersten Algorithmus Algo1 ausgeführt. In dem zweiten Pfad Pfad2, der die Hardwarebeschleuniger für künstliche Intelligenz umfasst, wird die Regelungs- und/oder Steuerungsvorschrift f durch einen relativ zu dem ersten Algo1 diversitären zweiten Algorithmus Algo2 ausgeführt. Der zweite Algorithmus Algo2 führt das künstliches neuronales Netzwerk ANN ausführt. Die Logikeinheit Log überprüft die Ausgangsdaten des ersten Pfades Pfad1 und des zweiten Pfades Pfad2 auf Übereinstimmung und steuert Aktuatoren eines Fahrsystems oder einer Maschine bei Übereinstimmung an.
-
Bezugszeichenliste
-
- V1-V3
- Verfahrensschritte
- ECU
- eingebettetes System
- x
- Eingangsdaten
- y
- Ausgangsdaten
- (x,y)
- Datenpaar
- f
- Regelungs- und/oder Steuerungsvorschrift
- ANN
- künstliches neuronales Netzwerk
- Pfad1
- erster Hardware- und/oder Softwarepfad
- Pfad2
- zweiter Hardware- und/oder Softwarepfad
- Log
- Logikeinheit
-
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
-