Automation-Letter Nr. 4 7.3.26 Prof. Dr. S. Zacher Die Nachbildung der Mechanismen an einfachen Beispielen von Zustandssystemen Die Besonderheit von Mehrgrößensystemen besteht darin, dass sich die Strecke nicht unbedingt beobachten und steuern lässt Dies betrifft Systeme, die sowohl mittels Übertragungsfunktionen, als auch mittels Zustandsgleichungen beschrieben sind. Ein Regelkreis ist steuerbar, wenn die Regelgröße von einem beliebigen Anfangszustand in einen gewünschten Endzustand mittels geeigneten Stellgrößen überführt werden kann... Die Beobachtbarkeit betrifft die Messbarkeit der Regelstrecke. Wenn nicht alle Zustandsvariablen messtechnisch zu erfassen sind, soll die für die Regelung erforderliche Information aus dem Ausgangsvektor y gewonnen werden. Dafür wird die Regelung über eine bestimmte Zeit beobachtet, um daraus abschließend die Zustandsvariablen zu rekonstruieren. S. Zacher, M. Reuter: Regelungstechnik für Ingenieure, Seite 4, Springer Vieweg Verlag, 5. Auflage, 27 www.zacher-automation.de 28 Copyright S. Zacher
Abstract, Urheberrechts- und Haftungshinweis Die Begriffe Steuerbarkeit und Beobachtbarkeit eines Systems rufen oft Fragen beim Unterricht hervor. Zwar sind die Regeln, wie man die Steuerbarkeit und Beobachtbarkeit prüfen kann, klar definiert, bleibt jedoch der Mechanismus dieser Eigenschaften von Mehrgrößensystemen oft im dunkeln. Nachfolgend werden die Steuerbarkeit und die Beobachtbarkeit am Beispiel eines einfaches Systems verdeutlicht und ein Beobachter wird entworfen. The definitions Controllability und Observability of the MIMO-Systems often call questions during lessons. Although the rules on how to check the controllability and observability, are clearly defined, the mechanism of these properties of multivariable systems often remains obscure. Subsequently, the controllability and observability are illustrated using the example of a simple state space system and an observer is designed. Die vorliegende Publikation unterliegt der Urheberrecht. Alle Rechte sind bei S. Zacher vorbehalten. Die Weiterentwicklung oder Nutzung der Publikation ohne Referenz auf Urheber ist nicht zugelassen. Für die Anwendung der vorliegenden Publikation in der Industrie, im Laborbetrieb und in anderen praktischen Fällen sowie für eventuelle Schäden, die aus unvollständigen oder fehlerhaften Angaben über das dynamische Systeme ergeben können, übernimmt der Autor keine Haftung. www.zacher-automation.de 28 Copyright S. Zacher 2
I N H A L T :. Steuerbarkeit und Beobachtbarkeit... Seite 4 Beispiel : Nicht steuerbares System.Seite 5 Beispiel 2: Reparatur eines nicht steuerbares Systems..Seite 6 Beispiel 3: Nicht beobachtbares System Seite 7 Beispiel 4: Nicht beobachtbares System: Kompensation Pol-Nullstellen Seite 8 Beispiel 5: Nicht beobachtbares System: Zustandsbeobachter. Seite 9 2. Untersuchung von Systemen 2. Ordnung....Seite 3. Simulation nach dem Eingangssprung u=.. Seite 2 4. Simulation nach dem Eingangssprung u=2...seite 3 5. Signalwege...Seite 4 6. Sprungantworten...Seite 6 7. Zustandsbeobachter Seite 6 8. Literaturverzeichnis.. Seite 8 www.zacher-automation.de 28 Copyright S. Zacher 3
Steuerbarkeit und Beobachtbarkeit Definition nach [], Seite 4: Steuerbarkeitsbedingung: Ein System mit der Dynamikmatrix A der Dimension [n x n] wird dann vollständig steuerbar, wenn eine speziell dafür gebildete Matrix C, genannt Steuerbarkeitsmatrix (controllability matrix) C B AB A 2 B A 3 B... den Rang n hat, wobei n die Dimension der Systemmatrix A [n n] ist: rang C n Beobarkeitsbedingung: Ein System mit der Dynamikmatrix A der Dimension [n x n] wird dann vollständig beobachtbar, wenn eine dafür gebildete Matrix Ob, genannt Beobachtbarkeitsmatrix (observability matrix) C CA Ob 2 CA... den Rang n hat, wobei n die Dimension der Systemmatrix A [n n] ist: rang Ob n www.zacher-automation.de 28 Copyright S. Zacher 4
Steuerbarkeit und Beobachtbarkeit Beispiel : Prüfen Sie die Steuerbarkeit und die Beobachtbarkeit des gegebenen Systems 4. Ordnung! A 3 4 5 6 B 4 C D Lösung mit MATLAB: A = [ ; ; ; -3 4-5 6 ]; % Eingabe der Systemmatrix [ 4 x 4] B = [ ; ; ; 4]; % Eingabe der Steuermatrix C = [ ]; % Eingabe der Ausgangsmatrix D=; n = length(a) % Dimension der Matrix A C = [ B A*B A^2*B] % auch Befehl C=ctrb(A,B) möglich rangc = rank(c) % wenn rangc = n, dann steuerbar Ob = [C C*A C*A^] % auch Befehl Ob=obsv(A,C) möglich rangob = rank(ob) % wenn rangob = n, dann beobachtbar Programm-Ausgabe: n = 4 rang(c) = 4 das System ist steuerbar rang(ob) = das System ist nicht beobachtbar www.zacher-automation.de 28 Copyright S. Zacher 5
Steuerbarkeit und Beobachtbarkeit Ist ein System nicht steuerbar, soll das Systemmatrix A durch eine andere Matrix ersetzt werden! Beispiel 2: Reparieren Sie das gegebene beobachtbare System 2. Ordnung so, damit das System steuerbar wird! ([2], Aufgabe 8.2a, Seite 59) A 2 B C D Lösung mit MATLAB: A = [ - ; -2 ]; % Eingabe der Systemmatrix [ 2 x 2] B = [ ; ]; % Eingabe der Steuermatrix C = [ ]; % Eingabe der Ausgangsmatrix D=; n = length(a) % Dimension der Matrix A: hier n=2 C = ctrb(a, B) % Steuerbarkeitsmatrix rangc = rank(c) % wenn rangc = n, dann steuerbar: hier rangc=, d.h. nicht steuerbar! Ob = obsv(a,c) % Beobachtbarkeitsmatrix rangob = rank(ob) % wenn rangob = n, dann beobachtbar: hier rang Ob=2, d.h. beobachtbar Nach der Reparatur: A = [ - ; -2 ]; C = ctrb(a, B) rangc = rank(c) Ob = obsv(a,c) rangob = rank(ob) % Eine Komponente der Systemmatrix A wurde geändert! % Steuerbarkeitsmatrix % wenn rangc = n, dann steuerbar: hier rangc=2, d.h. steuerbar! % Beobachtbarkeitsmatrix % wenn rangob = n, dann beobachtbar: hier rang Ob=2, d.h. beobachtbar www.zacher-automation.de 28 Copyright S. Zacher 6
Steuerbarkeit und Beobachtbarkeit Beispiel 3: Prüfen Sie die Steuerbarkeit und die Beobachtbarkeit des gegebenen Systems 4. Ordnung! A 3 4 5 6 B 4 C D Lösung mit MATLAB: A = [ ; ; ; -3 4-5 6 ]; % Eingabe der Systemmatrix [ 4 x 4] B = [ ; ; ; 4]; % Eingabe der Steuermatrix C = [ ]; % Eingabe der Ausgangsmatrix D=; n = length(a) % Dimension der Matrix A C = [ B A*B A^2*B] % auch Befehl C=ctrb(A,B) möglich rangc = rank(c) % wenn rangc = n, dann steuerbar Ob = [C C*A C*A^] % auch Befehl Ob=obsv(A,C) möglich rangob = rank(ob) % wenn rangob = n, dann beobachtbar Programm-Ausgabe: n = 4 rang(c) = 4 das System ist steuerbar rang(ob) = das System ist nicht beobachtbar www.zacher-automation.de 28 Copyright S. Zacher 7
Steuerbarkeit und Beobachtbarkeit Ist ein System nicht beobachtbar, sollen ggf. die Polstellen der Übertragungsfunktion G(s) durch die Nullstellen kompensiert werden! Beispiel 4: Reparieren Sie die gegebene Übertragungsfunktion G(s) so, damit das System beobachtbar wird! Lösung mit MATLAB: Gs () 5( 2 s) 3 2 6s s 6s num = [ 5]; % Eingabe Zähler den = [ 6 6 ]; % Eingabe Nenner roots(num) % Nullstellen: hier sn =,5 roots(den) % Polstellen: hier s =,5 s2 = s3 =,33 [A, B, C, D] = tf2ss(num, den) % Übergang von Transfer Fcn. zum State Space Modell n = length(a) % Dimension der Matrix A: hier n=3 C=ctrb(A,B) % Steuerbarkeitsmatrix rangc = rank(c) % hier: rangc = 3, das System ist steuerbar Ob=obsv(A,C) % Beobachtbarkeitsmatrix rangob = rank(ob) % hier: rangob = 2, das System ist nicht beobachtbar! Kompensation: sn =,5 und s =,5 Die Übertragungsfunktion G(s) nach der Kompensation Gs () 5 5 2 ( s)( 3 s) 3s 4s num = [ 5]; den = [ 3 4 ]; % Eingabe Zähler und Nenner [A, B, C, D] = tf2ss(num, den) % Übergang von Transfer Fcn. zum State Space Modell n = length(a) % Dimension der Matrix A: hier n=2 C=ctrb(A,B); rangc = rank(c) % hier: rangc = 2, das System ist steuerbar Ob=obsv(A,C); rangob = rank(ob) % hier: rangob = 2, das System ist beobachtbar www.zacher-automation.de 28 Copyright S. Zacher 8
Steuerbarkeit und Beobachtbarkeit Ist ein System nicht beobachtbar, kann ein Zustandsbeobachter eingesetzt werden! Beispiel 5: Bilden Sie aus dem gegebenen steuerbaren, nicht stabilen und nicht beobachtbaren System 4. Ordnung ein stabiles und vollständig beobachtbares System! A 3 4 5 6 B 4 C D Lösung: Das System wird zuerst stabilisiert, dann wird ein Zustandsbeobachter eingesetzt. A = [ ; ; ; -3 4-5 6 ]; % Eingabe der Systemmatrix [ 4 x 4] B = [ ; ; ; 4]; % Eingabe der Steuermatrix C = [ ]; % Eingabe der Ausgangsmatrix D=; P = [ - -2-3 -4]; % gewünschte Eigenwerte des Systems A K = place(a, B, P ); % stabilisierende Zustandsrückführung Aw = A - B*K; % Das System Aw mit Zustandsrückführung nw= length(aw); % Dimension der Matrix Aw Obw = [C C*Aw C*Aw]; % auch Befehl Ob=obsv(A,C) möglich rangobw = rank(obw); % rangobw=, d.h. Aw nicht beobachtbar Pb = 5*P; % gewünschte Eigenwerte des Beobachters Lb=place(A',C',P); % L = Lb'; % Zustandsbeobachter H=Aw-L*C; % Das System Aw mit Beobachter nh= length(h); % Dimension der Matrix H ObH = obsv(h,c); % Beobachtbarkeitsmatrix für System H rangobh = rank(obh) % rangobh=4, d.h. H ist beobachtbar www.zacher-automation.de 28 Copyright S. Zacher 9
2 Untersuchung von Systemen 2. Ordnung Steuerbarkeit und Beobachtbarkeit am Beispiel von 4 Systemen der Dimension [n x n] für n = 2: (A, B, C) (A2, B, C2) (A3, B, C3) (A4, B, C4) A = [ ; -3-4]; %steuerbar A2 = [ ; -4]; %nicht steuerbar B = [ ; ]; C = [ ]; C2 = [ ]; C = [ B A*B]; %C =[ ; -3] C2 = [ B A2*B]; %C2 = [ ; ] rank(c) %rank(c)=2 rank(c2) %rank(c2)= Ob = [ C; C*A]; %Ob =[ ; ] Ob2 = [ C2; C2*A2]; %Ob2 = [ ; ] A = [ ; -3-4]; %beobachtbar A4 = [ ; -3 ]; %nicht beobachtbar B = [ ; ]; C = [ ]; C4 = [ ]; Ob = [ C ; C*A]; % Ob= [ ; ] Ob4 = [ C4 ; C4*A4] % Ob4= [ ; ] rank(ob) % rank(ob)=2 rank(ob4) % rank(ob4)= C = [ B A*B]; % C3= [ ; ] C4 = [ B A4*B] % C4= [ ; -3] rank(ob) rank(ob2) %rank(ob)=2 %rank(ob2)=2 rank(c) rank(c4) % rank(c)=2 % rank(c4)=2 Systemstruktur oder Parameter ändern! Zustandsrückführung und Beobachter einsetzen! www.zacher-automation.de 28 Copyright S. Zacher
2 Untersuchung von Systemen 2. Ordnung A Steuerbares und beobachtbares System 3 4 B C Nicht steuerbares und nicht beobachtbares System A 3 4 B C 3 A = [ ; -3-4]; A3 = [ ; -4]; B = [ ; ]; B = [ ; ]; C = [ ]; C = [ B A*B]; C 3 C3=[ ]; C3 = [ B A3*B]; C 3 rank(c) % rank(c)=2 rank(c3) % rank(c3)= Ob = [ C; C*A]; Ob Ob3 = [ C3 ; C3*A3]; Ob 3 4 rank(ob) % rank(ob)=2 rank(ob3) % rank(ob3)= steuerbar und beobachtbar nicht steuerbar und nicht beobachtbar www.zacher-automation.de 28 Copyright S. Zacher
3 Simulation nach dem Eingangssprung u = www.zacher-automation.de 28 Copyright S. Zacher 2
4 Simulation nach dem Eingangssprung u = 2 www.zacher-automation.de 28 Copyright S. Zacher 3
5 Signalwege A, B, C - steuerbar und beobachtbar u B Steuerbarkeit: Der fehlende Weg a wird für x durch die Wege a2 und a2 ersetzt. A s 3 4 x C y C Ob Beobachtbarkeit: Die fehlende Wege c2 für und a für x werden durch die Wege über A ersetzt. 3 u B Steuerbarkeit: Keine Wege für x über A. A2, B, C2 - nicht steuerbar, aber beobachtbar A 2 s 4 x C y C 2 Ob 2 Beobachtbarkeit: Der fehlende Weg c2 für wird durch die Wege über A ersetzt. www.zacher-automation.de 28 Copyright S. Zacher 4
5 Signalwege u B Steuerbarkeit: Die Wege für die Steuerung von x sind frei! A4, B, C4 - steuerbar und nicht beobachtbar A 4 s 3 x C 4 y C 4 Ob 4 Beobachtbarkeit: Kein Weg für über A und C zu y! 3 u B Steuerbarkeit: Die Wege für die Steuerung von x sind frei! A3, B, C3 - nicht steuerbar und nicht beobachtbar A 3 s 4 x C 3 y C 3 Ob 3 4 Beobachtbarkeit: Keine Wege für x über A und kein Weg über C zu y! www.zacher-automation.de 28 Copyright S. Zacher 5
6 Sprungantworten %% steuerbar und beobachtbar A=[ ; -3-4];B=[; ];C=[ ]; D=; n=length(a); C=ctrb(A,B); rangc=rank(c) Ob=obsv(A,C); rangob=rank(ob) eig(a) %% nicht steuerbar A=[ ; -4];B=[ ; ];C=[ ]; D=; n=length(a); C=ctrb(A,B); rangc=rank(c) Ob=obsv(A,C); rangob=rank(ob) eig(a) %% nicht beobachtbar A=[ ; -4];B=[; ];C=[ ]; D=; n=length(a); C=ctrb(A,B); rangc=rank(c) Ob=obsv(A,C); rangob=rank(ob) eig(a) %% nicht steuerbar und nicht beobachtbar A=[ ; -4];B=[ ; ];C=[ ];D=; n=length(a); C=ctrb(A,B); rangc=rank(c) Ob=obsv(A,C); rangob=rank(ob) eig(a) www.zacher-automation.de 28 Copyright S. Zacher 6
6 Sprungantworten u C B Keine Wirkung des Eingangs u = auf. Der Signal wird doch über den Weg a2 von x beeinflußt. steuerbar und beobachtbar s A 3 4 x y C 3 Ob 2 4 Der Eingang u wirkt auf Signale x und. Die Wirkung von Signalen x und auf y ist beobachtbar. y= x+ x www.zacher-automation.de 28 Copyright S. Zacher 7
6 Sprungantworten u C B Keine Wirkung des Eingangs u = auf. Die Wege von x zu fehlen. nicht steuerbar, aber beobachtbar s A 4 x y C Ob 3 x y= x + Die Wirkung des Signals x auf y ist beobachtbar Keine Wirkung des Eingangs u = auf www.zacher-automation.de 28 Copyright S. Zacher 8
6 Sprungantworten u B Keine Wirkung des Eingangs u = auf x. Der Signal x wird doch über den Weg a2 von beeinflusst. steuerbar und nicht beobachtbar s A 4 x C y C 4 Ob 4 Keine Beobachtbarkeit: Kein Weg für x über A und C zu y! y= x + x Die Wirkung des Signals x auf y ist nicht beobachtbar www.zacher-automation.de 28 Copyright S. Zacher 9
6 Springantworten u C B Keine Wirkung des Eingangs u = auf. nicht steuerbar und nicht beobachtbar s A 4 x y C Ob 4 Keine Wege für die Beobachtung von x Keine Wege für die Steuerung der Variable Der Eingang u wirkt nur auf Signal x, so dass der Signal ist nicht steuerbar. Die Variable x wird nicht beobachtet. Da die Variable =, wird auch y= ausgegeben y= x + = x www.zacher-automation.de 28 Copyright S. Zacher 2
7 Zustandsbeobachter Das vereinfachte Beobachter-Prinzip ist im Bild rechts gezeigt (Quelle: [], Seite 4): Wenn die Regelgröße x nicht messbar ist, kann die Regelung mit Hilfe der zurückgeführten Ausgangsgröße y erfolgen... Nach dem Beobachter-Prinzip wird nicht die messbare Ausgangsgröße zurückgeführt, sondern die Differenz (y y M ) zwischen der System-Ausgangsgröße y und der Modell-Ausgangsgröße y M (Zitat, []). Beobachter-Entwurf fürs System A4, B, C4 A4 = [ ; -3 ]; B = [ ; ]; C4= [ ]; C4 = [B A4*B]; % C4= [ ; -3]; rank(c4) % rank(c4)=2 Ob4 = [ C4 ; C4*A4]; % Ob4= [ ; ] rank(ob4) % rank(ob4)= eig(a4) % s = ; s2 = p = -2; p2=-3; P = [ p p2]; K=place(A4, B, P); % K= [6-2] Aw=A4-B*K; Pb = [- 4; -6]; Lb=acker(Aw',C4',Pb); L=Lb'; % L=[5 9] blau: xm2 von Beobachter rot: x von System A4, B, C4 blau: xm2 von Beobachter grün: Fehler y - ym rot: von System A4, B, C4 www.zacher-automation.de 28 Copyright S. Zacher 2
6 Zustandsbeobachter instabil Das System H, B, C4 mit Zustandsrückführung und Beobachter ist stabil, steuerbar und beobachtbar: Aw = [A4-B*K]; H = [Aw-L*C4]; C = ctrb(h,b); rank(c) % = 2 Ob=obsv(H,C4); rank(ob) % = 2 Beobachter Die Totzeit ist eingeführt, um die Anpassung des Beobachters an das System zu verdeutlichen. Für die Funktion des Beobachters ist die Totzeit nicht nötig, sie ist sogar schädlich. www.zacher-automation.de 28 Copyright S. Zacher 22
8 Literaturverzeichnis S. Zacher, M. Reuter: Regelungstechnik für Ingenieure, Springer Vieweg Verlag, 5. Auflage, 27 2 S. Zacher: Regelungstechnik Aufgaben, ISBN 978-3-937638-27-, 4. Auflage, 26 3 S. Zacher: Übungsbuch Regelungstechnik, Springer Vieweg Verlag, 6. Auflage, 27 4 G. Schulz, K. Graf: Regelungstechnik 2, Oldenbourg Verlag, 3. Auflage, 23 5 S. Skogestad; I. Postlethwaite : Multivariable Feedback Control. Analysis and Design. John Wiley & Sons, Chichester, New York, Second Edition, 2 6 J.M. Maciejowski: Multivariable Feedback Design, (Electronic Systems Engineering Series), Addison- Wesley, 989 7 J. Lunze: Regelungstechnik 2. Mehrgrößensysteme. Digitale Regelung, Springer Verlag, Berlin, Heidelberg, 3. Auflage, 25 www.zacher-automation.de 28 Copyright S. Zacher 23