kramann.info
© Guido Kramann

Login: Passwort:










12.1 Definition eines Adaptiven Reglers

Definition

  • In der Literatur wird als "adaptiver Regler" etwas anderes bezeichnet, als das, was im vorangehenden "intuitiven Ansatz" besprochen wurde.
  • Als Adaptiver Regler wird ein Konzept bezeichnet, bei dem im Verlauf des Regelvorgangs immer wieder das dynamische System neu identifiziert wird und auf Grundlage dieses aktualisierten Modells, sowie unter zuhilfenahme irgendeines Regelgütekriteriums die Regelparameter neu eingestellt werden.
Konzept eines adaptiven Reglers.

Bild 12.1-1: Konzept eines adaptiven Reglers.

Anwendungsgebiete

  • Es wird bei angewendet, wenn sich die Systemdynamik im Vorfeld nicht genau genug analysieren läßt, oder wenn sie sich während des Betriebs ändert.
  • So hängt die Dynamik eines LKWs stark von seiner Beladung ab. Ein Regler müßte daran angepaßt werden.
  • Um das Verfahren an realen Systemen umsetzen zu können, muß eine hohe Rechenleistung zur Verfügung stehen.

Umsetzung

  • Die Systemidentifikation kann beispielsweise mit Hilfe der Methode der kleinsten Quadrate erfolgen.
  • Damit dies gelingen kann, muß der Zusammenhang zwischen den Systemparametern und den zu diskreten Zeitpunkten gemessenen Ein- und Ausgangsgrößen des betrachteten Gesamtsystems als lineares Gleichungssystem darstellbar sein.
  • Dies ist zunächst einmal nur bei Darstellung von Systemen mit den Mitteln der Digitalen Regelungstechnik möglich.
  • In der digitalen Regelungstechnik werden dynamische Systeme in der Form:
  • y(k) = -a1*y(k-1) -a2*y(k-2) -a3*y(k-3) - ... + b0*u(k) + b1*u(k-1) + b2*u(k-2) + ...
  • Hinweis zum Verständnis: Obige Darstellung ergibt sich, wenn man eine gewöhnliche Differentialgleichung n-ten Grades mit Differenzenquotienten statt Differentialen darstellt und umformt, sie also diskretisiert.
  • Dabei ist y(k) eine Zustandsgröße zum Zeitpunkt k Δt.
  • Entsprechend tauchen auf der rechten Seite neben der aktuellen Stellgröße u(k) die Zustandsgröße und die Stellgröße zu früheren Zeitpunkten (k-1)*Δt, (k-2)*Δt, (k-3)*Δt, usw. jeweils mit einem konstanten Faktor auf.
  • Liegen diese Zustände und Stellgrößen als Messungen vor, so kann ein überbestimmtes LGS zur Bestimmung der Modellparameter ai und bi mittels der LSQ aufgestellt werden.
  • In einem einfachen Beispiel könnte die Reglerauslegung aufgrund des zuvor identifizierten Modells beispielsweise mit Hilfe des Verfahrens von Ziegler und Nichols erfolgen (vergl. Kapitel 7).

Praktisches Beispiel

  • Das Verfahren soll unter Verwendung von Scilab an einem einfachen Beispiel umgesetzt werden.
  • Jedoch wird dazu nicht die digitale Regelungstechnik verwendet, sondern das Konzept soll unter Verwendung bereits bekannter Verfahren umgesetzt werden.
  • Es werden aus dem zeitlichen Verlauf der Zustandsgrößen über den Differenzenquotient Ableitungen gebildet, die als "Meßwerte" der Werte der linken Seite des DGLs erster Ordnung verwendet werden, um das überbestimmte LGS bilden zu können und dann das LSQ anwenden zu können.
  • Statt des LSQ-Verfahrens kommen in der Praxis häufig iterative Verfahren zum Einsatz, die die Systemidentifikation mit Hilfe neu hereinkommender Meßdaten immer weiter verbessern.
  • In der Darstellung mit Scilab gibt es ein "reales Modell", das den realen Prozeß repräsentiert und eines, das aus den Daten, die das reale System liefert identifiziert werden soll.
  • Bevor das Komplette Konstrukt mit Regler und Reglerentwurf umgesetzt wird, wird eine Vorstufe realisiert, in der es zunächst nur um die Systemidentifikation geht.
  • Der Einfachheit halber soll die Regelstrecke des realen Systems ein PT2-Übertragungsglied der Gestalt G(s)=1/(s^2+2s+1) sein.
  • Damit ergibt sich als DGLs erster Ordnung:
Zu identifizierendes System.

Bild 12.1-2: Zu identifizierendes System.

  • Zu identifizieren sind bei diesem System die Parameter a, b, c. Siehe nächstes Bild.
  • Alle anderen Größen können aus Messungen am realen System gefunden werden.
Zunächst Unbekannte im zu identifizierenden System.

Bild 12.1-3: Zunächst Unbekannte im zu identifizierenden System.

  • Statt einer kontinulierlichen Neuidentifikation soll hier eine einzige Identifikation genügen, um das Prinzip zu zeigen.
  • Als Eingangssignal wird ein zufälliger Verlauf von u verwendet.
  • Bei konstantem u und im eingeschwungenen Zustand wäre eine Identifikation nicht möglich.
  • Die zufälligen Werte von u werden in Scilab als globales Array bereitgestellt.
dt   = 0.01;
tmax = 5.0;
imax = ceil(tmax/dt);
u = 100.0*rand(1,imax+1);
global dt,tmax,imax,u;
function f = rechteSeite(t,y)
    u_index = floor(t/dt)+1;
    f(1,1)=y(2,1);
    f(2,1)=-y(1,1)-2.0*y(2,1)+u(1,u_index);
endfunction
t = 0:dt:tmax;
y0 = [0,0]';
t0 = 0;
y  = ode(y0,t0,t,rechteSeite);
//  x1  = a*x2 + b*x3 + c*x4
//dv/dt = a*x  + b*v  + c*u
//cc=[a,b,c]
groesse = size(y);
x1 = ( y(2,2:groesse(2)) - y(2,1:groesse(2)-1) ) / dt;
x2 = y(1,1:groesse(2)-1);
x3 = y(2,1:groesse(2)-1);
x4 = u(1,1:groesse(2)-1);
BB = [x2',x3',x4'];
dd = [x1'];
cc = lsq(BB,dd)
plot(t,y(1,:)');

Code 12.1-1: Systemidentifikation mit Hilfe des LSQ.

  • Obiges Scilab-Skript liefert für die gesuchten Parameter:
  • a=-0.9900
  • b=-1.9850
  • c= 0.9900
Übung
  • Vervollständigen Sie obiges Scilab Script so, dass nach der Identifikation des Systems eine PID-Regler-Auslegung gemäß Kapitel 7.3 erfolgt.
Übung
  • Schreiben Sie das Scilab-Skript so um, dass das Fahrzeugmodell (Variante ohne PT2 oder PT1-Glied für den Antrieb) identifiziert wird und danach Regelparameter hierfür erzeugt werden.
  • Testen Sie diese Regelparameter in der Java-Animation.