-
Hintergrund
-
Die Erfindung betrifft eine Vorrichtung und ein Verfahren zum Testen eines Prozesses.
-
In einem vernetzten Steuerungssystem wird ein Prozess, an dem ein gesteuertes System beteiligt ist, in einem Regelkreis von einer Steuerung über ein Kommunikationsnetzwerk von einem entfernten Standort aus gesteuert. Eine große Herausforderung für diese Art von Steuerungssystemen ist die Latenzzeit, d. h. die Verzögerung zwischen Steuerung und gesteuertem System. Die Latenz kann zeitlich variieren. Diese Verzögerung kann tatsächlich die Leistung des Regelkreises destabilisieren und beeinträchtigen.
-
Offenbarung der Erfindung
-
Ein Verfahren zum Testen eines Prozesses, wobei eine Zustandsvariable des Prozesses mit einer Steuereingabe von einer Steuerung steuerbar ist, wobei das Verfahren das Bestimmen aufeinanderfolgender Werte der Zustandsvariablen ohne Steuereingabe, ausgehend von einem Anfangswert der Zustandsvariablen, und einer Menge der aufeinanderfolgenden Werte der Zustandsvariablen, die berechnet werden kann, bis die quadratische Ljapunow-Funktion für den Wert der Zustandsvariablen einen vorbestimmten Schwellenwert erreicht, und Bestimmen, dass der Prozess gegenüber der Menge aufeinanderfolgender Werte ohne Steuereingabe robust ist, umfasst.
-
Das Verfahren kann das Bestimmen eines Arrays von Mengen aufeinanderfolgender Werte der Zustandsvariablen ohne Steuereingabe, bis die quadratische Ljapunow-Funktion für den Wert der Zustandsvariablen den vorbestimmten Schwellenwert erreicht, ausgehend von unterschiedlichen Anfangszuständen der Zustandsvariablen, und Bestimmen, dass der Prozess gegenüber den Mengen aufeinanderfolgender Werte ohne Steuereingabe robust ist, umfassen.
-
Das Verfahren kann ein Führen des Prozesses mit Steuereingabe zu dem Anfangswert der Zustandsvariablen umfassen.
-
Das Verfahren kann Bestimmen der Werte der Zustandsvariablen mit dem Prozess umfassen, wobei der Prozess auf einer computergesteuerten Maschine ausgeführt wird.
-
Das Verfahren kann Empfangen der Steuereingabe von einer Fernsteuerung, Bestimmen der Zustandsvariablen mit dem Prozess, und Aktivieren einer lokalen Steuerung zum Steuern des Prozesses bei Erkennung, dass die maximale Anzahl aufeinanderfolgender Werte der Steuereingabe fehlt, umfassen.
-
Eine Vorrichtung zum Testen eines Prozesses ist zur Ausführung des Verfahrens ausgelegt.
-
Es kann ein Computerprogramm bereitgestellt werden, wobei das Computerprogramm computerlesbare Anweisungen umfasst, die bei Ausführung durch einen Computer den Computer veranlassen, das Verfahren auszuführen.
-
Weitere Beispiele ergeben sich aus der nachfolgenden Beschreibung und der Zeichnung. In der Zeichnung:
- 1 zeigt schematisch ein Kommunikationsnetzwerk,
- 2 zeigt ein Ablaufdiagramm, das Schritte eines Verfahrens zur Steuerung eines Prozesses mit einer Steuerung in Abhängigkeit von einer Zustandsvariablen des Prozesses umfasst,
- 3 zeigt ein Flussdiagramm mit Schritten eines Verfahrens zum Texten des Prozesses,
- 4 zeigt ein beispielhaftes System, das den Prozess ausführt,
- 5 zeigt ein beispielhaftes Verhalten einer quadratischen Ljapunow-Funktion.
-
1 zeigt schematisch ein Kommunikationsnetzwerk 100.
-
Das Kommunikationsnetzwerk 100 umfasst eine erste Vorrichtung 102 und eine zweite Vorrichtung 104.
-
Das Kommunikationsnetzwerk 100 verbindet die erste Vorrichtung 102 und die zweite Vorrichtung 104.
-
Das Kommunikationsnetz 100 kann eine oder mehrere Zwischenstationen, z. B. Switches, zwischen der ersten Vorrichtung 102 und der zweiten Vorrichtung 104 umfassen.
-
Die erste Vorrichtung 102 ist eine lokale Vorrichtung bezüglich mindestens eines Sensors, der den Prozess 110 überwacht, und bezüglich mindestens eines Aktors, der in dem Prozess 110 agiert. Lokal bedeutet in diesem Kontext, dass die erste Vorrichtung 102 einen direkten Zugriff auf den mindestens einen Sensor und den mindestens einen Aktor hat. Direkter Zugriff kann bedeuten, dass eine Verzögerung beim Zugriff im Vergleich zu einer Verzögerung in dem Kommunikationsnetzwerk 100 vernachlässigbar ist.
-
Gemäß einem Beispiel wird ein Prozess 110 auf der ersten Vorrichtung 102 ausgeführt, und eine Steuerung 112 zum Steuern des Prozesses 110 wird auf der zweiten Vorrichtung 104 ausgeführt.
-
Der Prozess 110 steuert ein System auf einer lokalen Vorrichtung, z. B. der ersten Vorrichtung 102. Die lokale Vorrichtung führt Eingabe- und/oder Ausgabeoperationen aus. Die lokale Vorrichtung liest beispielsweise Eingaben von Sensoren zur Überwachung des Systems oder einer Umgebung des Systems aus. Die lokale Vorrichtung steuert beispielsweise Aktoren zur Steuerung des Systems. Das System kann eine Industriemaschine, ein softwaredefiniertes Fahrzeug, eine Vorrichtung im Internet der Dinge, loT, oder im intelligenten IoT, IIoT, sein.
-
Der Prozess 110 beinhaltet beispielsweise die Steuerung einer computergesteuerten Maschine, z. B. eines softwaredefinierten Fahrzeugs. Die Steuerung 112 kann eine Edge-Vorrichtung oder eine cloudbasierte Steuerung sein.
-
Das Kommunikationsnetzwerk 100 umfasst beispielsweise einen CAN-(Controller Area Network) Bus. Das Kommunikationsnetzwerk 100 umfasst beispielsweise ein lokales Netzwerk, LAN. Das Kommunikationsnetzwerk 100 umfasst beispielsweise ein drahtloses lokales Netzwerk, WLAN. Das Kommunikationsnetzwerk 100 umfasst beispielsweise ein Weitbereichsnetzwerk, WAN.
-
Das Kommunikationsnetzwerk 100 kann eine Kombination aus CAN, LAN, WLAN, WAN umfassen.
-
Die erste Vorrichtung 102 und die zweite Vorrichtung 104 können einen Mikrocontroller und einen Speicher, insbesondere einen transienten und einen nichtflüchtigen Speicher, umfassen. Ein Computerprogramm kann beispielsweise auf dem transienten und nichtflüchtigen Speicher bereitgestellt werden, wobei das Computerprogramm computerlesbare Anweisungen umfasst, die, wenn sie von einem Computer, z. B. dem Mikrocontroller, ausgeführt werden, den Computer veranlassen, ein Verfahren zur Steuerung des Prozesses 110 mit der Steuerung 112 auszuführen.
-
Gemäß dem Beispiel wird der Prozess 110 durch ein System in Form eines diskreten Zustandsraums dargestellt und linearisiert:
wobei x
k einen Wert der Zustandsvariablen des Prozesses 110 darstellt, u
k einen Wert der Steuereingabe des Prozesses 110 darstellt, A die Systemmatrix des Prozesses 110 darstellt, und B die Eingabematrix des Prozesses 110 darstellt.
-
Das System definiert das Verhalten des Prozesses 110.
-
In dem Beispiel modelliert das System in Form eines diskreten Zustandsraums ein technisches System der realen Welt.
-
Bei der Steuerung 112 handelt es sich gemäß dem Beispiel um eine Steuerung mit Zustandsrückführung
wobei K die Regelverstärkungsmatrix ist.
-
Die quadratische Ljapunow-Funktion für dieses System ist
wobei P eine positiv semidefinite Matrix ist, die unter der Annahme, dass A asymptotisch stabil ist, abgeleitet wird von
- wobei Q eine symmetrische positiv definite Matrix ist.
- Beispielsweise ist Q die Identitätsmatrix, d. h. Einsen auf den Diagonalelementen der Matrix und Nullen überall sonst. Die Verwendung der Identitätsmatrix erleichtert Berechnungen.
-
Das System ist quadratisch beschränkt, wenn
wobei η ein Schwellenwert und d
k eine Störung ist.
-
Die Eigenschaft der quadratischen Beschränktheit garantiert Robustheit gegenüber begrenzten Störungen, da für jeden Wert außerhalb des Ellipsoids
die Steuerung 112 in der Lage ist, den Auswirkungen der Störung d
k entgegenzuwirken.
-
Gemäß dem Beispiel handelt es sich bei der Störung dk um einen fehlenden Wert u der Steuereingabe 206. Der Wert u der Steuereingabe 206 kann aufgrund von Problemen im Kommunikationsnetzwerk 100 fehlen.
-
Gemäß dem Beispiel ist die Störung dk akzeptabel, bis der Wert V(x) der quadratischen Ljapunow-Funktion den Schwellenwert η überschreitet, d. h. V(x) > η.
-
Beispielsweise wird eine Latenz des Kommunikationsnetzwerks 100 als Störungen dk modelliert, und solange die Störungen dk begrenzt sind, bringt die Steuerung 112 den Prozess 110, d. h. das System, wieder zur Stabilität.
-
Anstelle der Latenz, oder zusätzlich zur Latenz, kann mit den Störungen dk die Netzwerkverzögerung des Kommunikationsnetzwerks 100 modelliert und überwacht werden, oder auch Unsicherheiten oder andere Störungen modelliert werden.
-
Während fehlender Aktualisierungen kann das System als asymptotisch stabiles System beschrieben werden, das einer externen Störung d
k ausgesetzt ist
wobei
-
Gemäß dem Beispiel sind die Zustände des Prozesses 110 messbar, beobachtbar oder abschätzbar.
-
2 zeigt ein Ablaufdiagramm, das Schritte des Verfahrens zur Steuerung des Prozesses 110 mit der Steuerung 112 in Abhängigkeit von einer Zustandsvariablen 202 des Prozesses 110 umfasst.
-
In dem Beispiel sendet der Prozess 110 einen Wert x der Zustandsvariablen 202 über das Kommunikationsnetzwerk 100 an die Steuerung 112.
-
In einem Schritt 204 bestimmt die Steuerung 112 einen Wert u einer Steuereingabe 206 für den Prozess 110 in Abhängigkeit von dem Wert x der Zustandsvariablen 202.
-
In dem Beispiel sendet die Steuerung 112 den Wert u der Steuereingabe 206 über das Kommunikationsnetzwerk 100 an den Prozess 110.
-
In einem Schritt 208 wird der Prozess 110 in Abhängigkeit von dem empfangenen Wert u einer Steuereingabe 206 ausgeführt.
-
Die Schritte 202, 204, 206, 208 werden bei der Steuerung des Prozesses 110 mit der Steuerung 112 zyklisch wiederholt ausgeführt.
-
Während des Steuerns kann es sein, dass der Prozess 110 in einem Zyklus i keinen Wert ui der Steuereingabe 206 empfängt. Gemäß dem Beispiel ist der Prozess 110 so ausgelegt, dass er den zuvor empfangenen Wert ui-1 der Steuereingabe 206 beibehält, falls der Prozess 110 keinen Wert ui der Steuereingabe 206 empfängt.
-
Während des Steuerns kann es passieren, dass der Prozess 110 mehrere aufeinanderfolgende Werte ui-k, ... , ui der Steuereingabe 206 nicht empfängt. In diesem Fall ist der Prozess 110 so ausgelegt, dass er den zuletzt empfangenen Wert ui-k der Steuereingabe 206 beibehält.
-
Der Prozess 110 kann aufgrund einer Störung des Kommunikationsnetzwerks 100 möglicherweise den Wert ui oder die aufeinanderfolgenden Werte ui-k, ... , ui der Steuereingabe 206 nicht empfangen. Dass der Wert ui oder die aufeinanderfolgenden Werte ui-k, ... , ui der Steuereingabe 206 nicht empfangen werden, kann zu einer Instabilität des Systems führen.
-
Um zu beobachten, ob das System über die Grenzen von εη hinaus verschoben werden kann, wird die Aktualisierung der Steuereingabe 206 in einem Test j für eine Menge kj aufeinanderfolgender Werte ui-kj , ... , ui der Steuereingabe 206 gestoppt.
-
3 zeigt ein Flussdiagramm mit Schritten eines Verfahrens zum Testen des Prozesses 110.
-
In dem Prozess 110 ist die Zustandsvariable 202 des Prozesses 110 mit der Steuereingabe 206 von der Steuerung 112 steuerbar.
-
In dem Beispiel wird der Test mit einem System in Form eines diskreten Zustandsraums in dem Test durchgeführt. Der Test kann mit dem realen System im Test oder in einer Simulation des realen Systems durchgeführt werden, wobei das System in diskreter Zustandsraumform verwendet wird, anstatt das reale System im Test zu verwenden.
-
Gemäß einem Beispiel umfasst die Zustandsvariable 202 mindestens einen Zustand der computergesteuerten Maschine, und die Werte der Zustandsvariablen 202 werden mit dem Prozess 110 bestimmt, während der Prozess 110 auf der computergesteuerten Maschine ausgeführt wird.
-
Das Verfahren zum Testen umfasst einen Schritt 300.
-
Der Schritt 300 umfasst Bereitstellen eines Anfangswerts x0 der Zustandsvariablen 202.
-
Der Schritt 300 umfasst Bereitstellen eines vorbestimmten Schwellenwerts η ∈ ℝ für die quadratische Ljapunow-Funktion V(x) für die Werte x der Zustandsvariablen 202. Das Verfahren in dem Beispiel basiert auf einer vordefinierten Robustheit für das System. Der Wert von η wird beispielsweise so gewählt, dass er zu der vordefinierten Robustheit passt.
-
Beispielsweise ist ein Anfangszustand x0 vorgesehen, bei dem der Wert der quadratischen Ljapunow-Funktion V(x0) nahe an dem vorbestimmten Schwellenwert η liegt.
-
In diesem Sinne wird das System sehr nahe an der Grenze seiner Robustheit initialisiert, um das Worst-Case-Szenario abzuschätzen, nämlich eine Verzögerung, die auftritt, während das System am Rande seiner Robustheit arbeitet.
-
Für einen Algorithmus zum numerischen Testen der Robustheit des Systems kann ein Schwellenwert η' gewählt werden, der kleiner als der Schwellenwert η nahe der Grenze ist.
-
Beispielsweise kennt ein Bediener des Prozesses für einen Prozess die maximal zulässige Abweichung vom Anfangszustand x0, die tolerierbar ist. Beispielsweise möchte man bei einem Pendel auf einem Wagen nicht, dass sich der Wagen um eine bestimmte Entfernung von der Mitte bewegt oder dass die Pendelstange um mehr als einen bestimmten Winkel geneigt wird. Im Allgemeinen sind solche Abweichungen bekannt, da sie in realen Prozessen mit der Leistung oder Qualität verknüpft sind.
-
Wenn dieser Anfangszustand x0 bekannt ist, wird die Ljapunow-Funktion V(x0) berechnet und dann der Schwellenwert η' für den Algorithmus in Abhängigkeit von der Ljapunow-Funktion V(x0) bestimmt, insbesondere V(x0) = η'. Der Algorithmus untersucht das System am Rande des Schwellenwerts η' und verliert somit nicht an Stabilität, da Schwellenwert η' < Schwellenwert η.
-
Das Verfahren zum Testen umfasst einen Schritt 302.
-
Der Schritt 302 umfasst Führen des Prozesses 110 mit der Steuereingabe 206 zu dem Anfangswert x0 der Zustandsvariablen 202.
-
Das Verfahren zum Testen umfasst einen Schritt 304.
-
Der Schritt 304 umfasst ein Bestimmen aufeinanderfolgender Werte der Zustandsvariablen 202 ohne Steuereingabe 206 ausgehend von dem Anfangswert der Zustandsvariablen 202.
-
Der Schritt 304 umfasst ein Bestimmen einer Menge der aufeinanderfolgenden Werte der Zustandsvariablen 202, die berechnet werden kann, bis die quadratische Ljapunow-Funktion V(x) für den Wert x der Zustandsvariablen 202 den vorbestimmten Schwellenwert η' erreicht.
-
Gemäß einem Beispiel umfasst der Schritt 304 das Bestimmen eines Arrays ki von Mengen aufeinanderfolgender Werte der Zustandsvariablen 202 ohne Steuereingabe 206 ausgehend von unterschiedlichen Anfangszuständen der Zustandsvariablen 202.
-
Nachfolgend wird ein beispielhafter Algorithmus zum numerischen Testen der Robustheit des Systems angegeben.
-
Der Algorithmus läuft über N Zeitschritte. Die Steuereingabe wird aktualisiert, falls V(xk) < η'. Jedes Mal, wenn die Steuereingabe aktualisiert wird, speichert der Algorithmus den Wert von k in dem Array ki, das die maximale Sequenz fehlender Werte der Steuereingabe 206 darstellt, bevor der Wert der Zustandsvariablen 202 das Ellipsoid εη, verlässt.
-
Das Verfahren zum Testen umfasst einen Schritt 306.
-
Der Schritt 306 umfasst ein Bestimmen, dass der Prozess 110 für die maximale Menge aufeinanderfolgender fehlender Werte der Steuereingabe 206 asymptotisch stabil ist, wenn die Menge aufeinanderfolgender Werte der Zustandsvariablen die maximale Menge erreicht oder sich von der maximalen Menge um weniger als eine vorgegebene Toleranz unterscheidet.
-
Gemäß einem Beispiel ist die Steuerung 112 eine Fernsteuerung, und zur Steuerung des Prozesses 110 steht eine lokale Steuerung zur Verfügung. Das Verfahren zur Steuerung des Prozesses 110 in diesem Beispiel kann den Empfang der Steuereingabe 206 von der Fernsteuerung 112 und das Bestimmen der Zustandsvariable 202 mit dem Prozess 110 umfassen. Das Verfahren zur Steuerung des Prozesses 110 umfasst beispielsweise ein Aktivieren der lokalen Steuerung zum Steuern des Prozesses 110 bei einer Erkennung, dass die maximale Menge k* aufeinanderfolgender Werte der Steuereingabe 206 fehlt.
-
4 zeigt ein beispielhaftes System 400, das den Prozess ausführt, ein invertiertes Pendel 400.
-
Das physikalische Modell des invertierten Pendels wird durch das folgende System gewöhnlicher Differentialgleichungen zweiter Ordnung gegeben:
- wobei die Masse des Seils vernachlässigbar ist, und
- m [Kg]: Masse des Pendels 402,
- M [Kg]: Masse des Wagens 404,
- L [m]: Länge des Pendels vom Stift bis zum Pendelkörper,
- b [Ns/m]: Reibungskoeffizient des Wagens 404, k [Nsm/Rad]: Reibungskoeffizient des Pendels 402,
- Θ [Rad]: Winkel, den das Pendel mit den durch den Stift verlaufenden vertikalen Achsen bildet, Θ = 0 stellt die aufrechte Position dar,
- y [m]: Position des Wagens 404,
- F [N]: auf den Wagen ausgeübte Kraft 404,
- g=9,81[m/s2]: Erdbeschleunigung.
-
Das invertierte Pendel 400 wird für die Zustandsraumvariablen x
1 = θ, x
2 = Θ̇, x
3 = y, x
4 = y und Näherungen wie Θ ≈ 0 modelliert
wobei
wobei
M = M + m und die Steuereingabe u die auf den Wagen 404 ausgeübte Kraft F ist.
-
5 zeigt ein beispielhaftes Verhalten der quadratischen Ljapunow-Funktion V(xk) für das invertierte Pendel im Test für einen Schwellenwert η. In dem Beispiel beträgt der Schwellenwert η = 10. 5 zeigt 23 aufeinanderfolgende Störungen dk, die durch einen fehlenden Wert u der Steuereingabe verursacht werden. Die Steuereingabe in dem Beispiel ist die auf den Wagen 404 ausgeübte Kraft F. Die Störungen werden in dem Beispiel durch die fehlende auf den Wagen 404 ausgeübte Kraft F verursacht.
-
Gemäß dem Beispiel folgen auf eine empfangene Steuereingabe 502 22 aufeinanderfolgende fehlende Steuereingaben 504. 5 zeigt die Zeitschritte k=0, ..., 45.
-
Im Fall von 22 aufeinanderfolgenden fehlenden Steuereingaben 504 bestätigt der Test, dass das beispielhafte System 400 asymptotisch stabil ist.
-
5 zeigt eine erste Sequenz von 22 aufeinanderfolgenden fehlenden Steuereingaben 504 zwischen einer ersten empfangenen Steuereingabe 502 und einer zweiten empfangenen Steuereingabe 502. 5 zeigt eine zweite Sequenz von 22 aufeinanderfolgenden fehlenden Steuereingaben 504 zwischen der zweiten empfangenen Steuereingabe 502 und einer dritten empfangenen Steuereingabe 502.