Eine Publikation der Swissprofessionalmedia AG
PDF download
Iterative Learning Control – selbstlernendes Regelsystem : Ausgabe 10/2018, 13.06.2018

Periodische Signale und Nichtlinearitäten im Griff

Seit einiger Zeit sind ILC-Regler in Gebrauch. Zwar sind sie nur für periodische Sollwert-Verläufe einsetzbar, erzielen aber oft deutlich bessere Resultate als die klassischen PID-Regler. Was steckt dahinter? Wo liegen die Schwierigkeiten? Der folgende Text gibt Antworten.

Autor: Dr. Jürg M. Stettbacher, Text und Bilder

Die Abkürzung ILC steht für Iterative Learning Control. Es geht also um ein selbstlernendes Regelsystem. Dass das Lernen iterativ genannt wird, hängt damit zusammen, dass in jeder Periode des Sollsignals stets Bilanz über den Regelerfolg gezogen wird und basierend darauf der Regler sich adaptiert.

Das Sollsignal ist periodisch

Bild 1 zeigt den prinzipiellen Aufbau eines ILC-Regelkreises. Es fällt sofort auf, dass im Gegensatz zu einem klassischen Regelkreis (Bild 2, rechts oben, zum Beispiel mit einem PID-Regler), das Stellsignal nicht aus einem Fehlersignal erzeugt wird, sondern dass das Stellsignal aus einem Buffer, nämlich aus dem ILC-Buffer stammt. Am Ausgang der Strecke bzw. der Maschine, wird aus Soll- und Istsignal das ILC-Fehlersignal gebildet. Aber eben, aus diesem Fehlersignal wird nun nicht direkt das Stellsignal abgeleitet. Sondern mit Hilfe des Fehlersignals wird der ILC-Buffer aufdatiert. Der ILC-Regelkreis bildet also gar keinen (unmittelbar) geschlossenen Regelkreis. Die Strecke wird eigentlich aus dem ILC-Buffer gesteuert, nicht geregelt. Damit kann der Regelkreis (idealerweise) auch nicht instabil werden. Diesen Punkt werden wir aber noch genauer betrachten müssen. Das Abspielen des Stellwertsignals aus einem Buffer (statt einer direkten Regelung) hat aber noch einen weiteren ganz interessanten Aspekt:

Aus der Sicht der Strecke kann das Stellsignal akausal sein. Oder anders ausgedrückt, das Stellsignal kann auf Verhaltenselemente der Strecke reagieren, bevor sie aufgetreten sind. Dies ist darum möglich, weil das Sollsignal per Definition periodisch ist und man aus den vergangenen Perioden zu jedem Zeitpunkt in prospektiver Weise weiss, wie sich die Strecke verhalten wird, resp. welche Fehler in Zukunft auftreten werden.

Fehlersignal ist gleich einer Periode des Sollsignals

Was aber enthält der ILC-Buffer? Das Ziel ist, dass er eine Periode jenes Signals enthält, das, wenn es durch die Strecke geschickt wird, das Sollsignal ergibt. Wenn am Anfang, beim Einschalten der Maschine, dieses Signal noch nicht bekannt ist, so wird der ILC-Buffer auf null initialisiert. Während der ersten Periode ist demnach der Ausgang der Strecke (das Istsignal), abgesehen vom Rauschen der Maschine, ebenfalls ständig null. Folglich ist das Fehlersignal gerade gleich einer Periode des Sollsignals. Das Fehlersignal wird nun dazu verwendet, den ILC-Buffer aufzudatieren. Dies ist der Learning-Aspekt des ILC. Durch das periodenweise, iterative Aufdatieren des ILC-Buffers nähert sich der Inhalt des ILC-Buffers dem gesuchten idealen Stellsignal an.

Soweit ist also alles klar. Die Frage ist bloss noch, wie der Update-Mechanismus des ILC-Buffers funktioniert. Und tatsächlich: Dieser Punkt ist die Knacknuss des ILC. Wird der ILC-Buffer in irgendeiner Weise systematisch falsch aufdatiert – so wie ein PID-Regler systematisch falsch eingestellt sein kann –, so akkumulieren sich die Fehler im ILC-Buffer ständig, die Stecke verhält sich immer übler und schliesslich sieht es so aus, als wäre der ILC-Regler instabil.

Der Parameter ∆t muss separat gemessen werden

Grundsätzlich ist es aber so: Die Strecke ist kausal. Das heisst, sie reagiert auf eine Anregung (zum Beispiel auf einen Impuls) nicht vor der Anregung, sondern zum Zeitpunkt der Stimulation oder danach, also allgemein mit einer gewissen Verzögerung ∆t ≥ 0. Will man also, dass die Strecke zu einem bestimmten Zeitpunkt T eine gewisse Bewegung ausführt, so muss folglich die Anregung dafür im ILC-Buffer vorher, also zum Zeitpunkt T – ∆t erfolgen. Man nutzt hier also die akausale Eigenschaft des ILC-Reglers, die wir schon erwähnt haben. Der Parameter ∆t ist maschinenabhängig und muss separat gemessen werden. Damit folgt, dass der ILC-Update-Mechanismus das Fehlersignal, bzw. einen Bruchteil davon, um die Zeit ∆t nach vorne verschoben zum Inhalt des ILC-Buffers addiert.

Das einzelne Update ist ein linearer Vorgang

Wer in der Schule in Regelungstechnik unterrichtet wurde und später das Erlernte in der Praxis anwenden wollte oder sollte, hat vermutlich viel Frustrierendes erlebt. Die Ursache liegt darin begründet, dass die typische Schul-Regelungstechnik (bzw. die jeweils betrachtete Strecke) lineares Verhalten aufweist, und gerade dies in der Praxis fast nie zutrifft. Oft ist es die Reibung, die einem das Leben schwer macht, der Hin- und Herwechsel von Haftreibung und Gleitreibung.

ILC-Regler scheren sich darum aber nicht. Das einzelne Update ist zwar ein linearer Vorgang. In der Summe hat der Inhalt des ILC-Buffers aber nicht zwingend einen linearen Zusammenhang mit dem Sollsignal, und wie wir gezeigt haben, schon gar keinen kausalen. Das ist ein sehr gewichtiger Vorteil dieses Verfahrens und führt dazu, dass ILC-Regler in vielen Anwendungen Resultate erzielen, die mit einem PID-basierten Regler niemals und nicht annähernd erreichbar wären.

Die Haftreibung hält die Motorachse fest

Bild 3 (links unten) zeigt den Vergleich zwischen einer PID- und einer ILC-Regelung eines rotierenden Motors bei einer sinusförmigen Positionsregelung mit Reibung. Man erkennt beim PID-Regler (blau) deutlich die Phasenverschiebung und die Schultern, die in den Wendepunkten auftreten. Hier hält die Haftreibung die Motorachse fest. Während dieser Zeit integriert der I-Anteil des PID-Reglers den wachsenden Fehler, bis sich der Rotor losreisst und die Haftreibung schlagartig in die betragsmässig deutlich kleinere Gleitreibung übergeht.

Der ILC-Regler arbeitet mit einer optimierten Stellwertkurve

Wegen der plötzlich wegfallenden Last und auf Grund der gleichzeitig grossen Kraft, die der Regler nun aufbringt und die er nicht schnell genug abbauen kann, unterschwingt die Position des Rotors deutlich. Es folgt ein Einschwingvorgang mit erneutem Überschies­sen bis die blaue Kurve wieder zur Idealkurve (schwarz, phasenverschoben) zurückkehrt. Im Gegensatz dazu gelingt es dem vollständig adaptierten ILC-Regler, die Haftreibung sofort aufzubrechen, ohne dass es zu einem erkennbaren, störenden Überschwingen kommt. Dem ILC-Regler kommt zugute, dass er eben nicht mit einem langsamen Integrator arbeitet, sondern mit einer gespeicherten und optimierten Stellwertkurve, die jede beliebige Form annehmen kann. 

Infoservice

Stettbacher Signal Processing AG
Neugutstrasse 54, 8600 Dübendorf
Tel. 043 299 57 23, Fax 043 299 57 25
dsp@stettbacher.ch, www.stettbacher.ch



Bild 1: Prinzipieller Aufbau eines ILC-Regelkreises


Bild 2: Darstellung eines klassischen Regelkreises


Bild 3: Vergleich zwischen einer PID- und einer ILC-Regelung