Kann ich die Regeln von Ziegler-Nichols verwenden, um PID-Parameter für ein nichtlineares System zu finden?

7

Ich versuche, eine PID zu verwenden, um ein System zu stabilisieren, das anhand der folgenden Differenzgleichung beschrieben wird:

yk+1=einyk(1- -yk)   +byk- -1 +cuk

Kann ich in dieser Situation die Regeln von Ziegler-Nichols verwenden , um PID-Parameter zu finden?

Präziser sein. Mein System ist ein Apache-HTTP-Server . Insbesondere versuche ich zu modellieren, wie sich die CPU-Auslastung in Abhängigkeit vom KeepAlive- Parameter ändern kann. Wenn KeepAlive wächst, sollte die CPU-Last abnehmen.

Damit:

cpuk+1=eincpuk(1- -cpuk)   +bcpuk- -1 +ckeepEINlichvek

Offensichtlich ist die CPU-Last ein Skalar [0,1]] , keepEINlichve ist nur eine Zeit und die ein,b,c Parameter sind mir durch experimentelle Daten und multiple Regression bekannt.

Edge7
quelle
1
Angesichts der zusätzlichen Informationen frage ich mich, was dies eigentlich mit Robotik zu tun hat . In der Tat können Sie anderswo besseres Glück haben.
Mark Booth
Ich sehe dies wirklich nur dann als steuerbar durch einen PID-Regler an, wenn beides ein und b sind viel kleiner als eins - andernfalls variiert die Dynamik der CPU-Last stark um den Wert von cpuund kann sogar instabil werden. Sie haben keine einfache Nuss gewählt, um dieses Problem zu lösen.
TimWescott

Antworten:

5

Erstens haben Sie nicht genügend Informationen bereitgestellt. Ihre Gleichung ist nichtlinear, was bedeutet, dass das beschriebene Verhalten des Systems nicht nur von den Koeffizienten der Differenzgleichung abhängt, sondern auch vom Wertebereich, derykann übernehmen. Aus der Sicht der Dinge, je näher das isty ist auf 0 beschränkt, je mehr Sie das Ganze wie ein lineares System behandeln und einfach die PID-Regelung darauf anwenden können.

Zweitens ist Ziegler-Nichols hier einfach nicht angegeben. ZN wurde als Ad-hoc-Tuning-Methode für Industrieanlagen mit unbekannten Eigenschaften erfunden. Es garantiert weder Stabilität noch Leistung des Ergebnisses - und vorausgesetzt, Sie kennen die Werte vonein, b, und cSie haben eine Pflanze mit bekannten Eigenschaften !!!

Auch wenn die Pflanzeneigenschaften bekannt sind, ist ZN wirklich nur ein guter Weg, um zu einem Ausgangspunkt für die Abstimmung zu gelangen. ZN führt tendenziell zu einem unterdämpften System und garantiert, wie bereits erwähnt, weder Stabilität noch Leistung.

In Systemen, die zugänglich sind, bevorzuge ich Sweep-Sinus-Messungen ( Messung des Frequenzgangs) ). Wenn Sie die summenden und kreischenden Geräusche und das nicht eingeweihte Tauchen nach Deckung hinter Laborgeräten nicht mögen, können Sie stattdessen eine Art Systemidentifikation verwenden, die auf einer Sprungantwort basiert - aber nach meiner Erfahrung mit Servosystemen einen Frequenzgang -basiertes Design ist überlegen, wenn Sie von gemessenen Werten abweichen müssen.

Was auch immer Sie tun, Sie möchten den Effekt berücksichtigen, den die Variation des Wertes von ywird auf Ihrem System haben. Wenn die Ableitung

ddyy1- -y
variiert um mehr als ein paar Prozent, dann müssen Sie Ihr Design so gestalten, dass es den unterschiedlichen Systemeigenschaften Rechnung trägt. Wenn diese Ableitung um den Faktor zwei oder mehr variiert, müssen Sie die Möglichkeit einer Art nichtlinearer Steuerung in Betracht ziehen, wie schwierig und pervers Ihr Design auch sein mag, oder Sie müssen nur Ihre Hörner einziehen und dies akzeptieren Sie werden ein stark verstimmtes System für die meisten Bereiche von habeny.

Weitere Informationen finden Sie unter Angewandte Steuerungstheorie für eingebettete Systeme .

TimWescott
quelle
Hallo, ich habe gerade meine Frage aktualisiert und weitere Details
hinzugefügt