Ανάλυση συστημάτων στο πεδίο του χρόνου Επικ. Καθ. Ν. Καραμπετάκης Τμήμα Μαθηματικών, Α.Π.Θ.
Μετασχηματισμοί ομοιότητας
Μετασχηματισμοί ομοιότητας Να μετασχηματισθεί το παρακάτω σύστημα σε διαγώνιο μορφή (ο πίνακας Α να είναι διαγώνιος).
Μετασχηματισμοί ομοιότητας a1=[10 -6 2 0 ; 9 -5 2 0 ; -5 4 1 0 ; 0 0 0 -2]; b1=[6 ; 7 ; -4 ; 0]; c1=[4 -1 2 1]; d1=[1]; [t1,d2]=eig(a1); a=inv(t1)*a1*t1; b=inv(t1)*b1; c=c1*t1; d=d1; sys=ss(a,b,c,d)
Μετασχηματισμοί ομοιότητας
Μετασχηματισμοί ομοιότητας a1=[10 -6 2 0 ; 9 -5 2 0 ; -5 4 1 0 ; 0 0 0 -2]; b1=[6 ; 7 ; -4 ; 0]; c1=[4 -1 2 1]; d1=[1]; sys1=ss(a1,b1,c1,d1); sys=canon(sys1); % sys=canon(sys1,’modal’) % sys=canon(sys1,’companion’) % αν το σύστημα είναι ελέγξιμο % [sys,T]=canon(sys1,’modal’)
Μετασχηματισμοί ομοιότητας Ελέγξιμη μορφή
Μετασχηματισμοί ομοιότητας Παρατηρήσιμη μορφή
Ελεγξιμότητα Ένα σύστημα ονομάζεται ελέγξιμο, αν
Κριτήρια Ελεγξιμότητας Το (Α,Β) είναι ελέγξιμο ανν
Κριτήρια Ελεγξιμότητας - Υλοποίηση function cc=ControllabilityMatrix(a,b) % This function computes the controllability matrix of (A,B) n=length(a); k=b; cc=[k]; for i=1:n-1 k=a*k; cc=[cc k]; end a=[1 2 3 ; 2 3 1 ; 3 1 2]; b=[1 ; 2 ; 1]; ControllabilityMatrix(a,b) a=[1 2 3 ; 2 3 1 ; 3 1 2]; b=[1 ; 2 ; 1]; ctrb(a,b)
Κριτήρια Ελεγξιμότητας - Υλοποίηση function cl=Controllable(a,b) % This function check if the system (A,B) is controllable n=length(a); k=b; cc=[k]; for i=1:n-1 k=a*k; cc=[cc k]; end cl=(rank(cc)==n); a=[1 2 3 ; 2 3 1 ; 3 1 2]; b=[1 ; 2 ; 1]; Controllable(a,b) Ans= 1 a=[1 2 3 ; 2 3 1 ; 3 1 2]; b=[1 ; 2 ; 1]; rank(ctrb(a,b))==3 Ans= 1
Κριτήρια Ελεγξιμότητας Το (Α,Β) είναι ελέγξιμο ανν το ζεύγος (Α,Β) δεν είναι όμοιο με ζεύγος της μορφής
Κριτήρια Ελεγξιμότητας Το (Α,Β) είναι ελέγξιμο ανν το ζεύγος (Α,Β) δεν είναι όμοιο με ζεύγος της μορφής a1=[10 -6 2 0 ; 9 -5 2 0 ; -5 4 1 0 ; 0 0 0 -2]; b1=[6 ; 7 ; -4 ; 0]; c1=[4 -1 2 1]; d1=[1]; sys1=ss(a1,b1,c1,d1); sys=canon(sys1); % sys=canon(sys1,’modal’)
Μετασχηματισμός σε ελέγξιμη μορφή – SISO systems
Παρατηρησιμότητα Ένα σύστημα ονομάζεται παρατηρήσιμο, αν υπάρχει πεπερασμένος χρόνος t1t0 τέτοιος ώστε για κάθε αρχική κατάσταση x0:=x(t0), γνώση της εισόδου u(t),{t0 tt1}, και της εξόδου {y(t), t0 t t1} επιτρέπουν τον προσδιορισμό της αρχικής κατάστασης x0.
Κριτήρια Παρατηρησιμότητας Το (Α,C) είναι παρατηρήσιμο ανν
Κριτήρια Παρατηρησιμότητας - Υλοποίηση function cc=ObservabilityMatrix(a,c) % This function computes the observability matrix of (A,B,C,D) n=length(a); k=c; cc=[k]; for i=1:n-1 k=k*a; cc=[cc ; k]; end a=[1 2 3 ; 2 3 1 ; 3 1 2]; c=[1 0 -1]; ObservabilityMatrix(a,b) a=[1 2 3 ; 2 3 1 ; 3 1 2]; c=[1 0 -1]; obsv(a,c)
Κριτήρια Παρατηρησιμότητας - Υλοποίηση function cc=Observable(a,c) % This function check if the system (A,B,C,D) is observable n=length(a); k=c; ob=[k]; for i=1:n-1 k=k*a; ob=[ob ; k]; end cc=(rank(ob)==n) a=[1 2 3 ; 2 3 1 ; 3 1 2]; c=[1 ; 0 ; -1]; Observable(a,c) Ans= a=[1 2 3 ; 2 3 1 ; 3 1 2]; c=[1 ; 0 ; -1]; rank(obsv(a,c))==3 Ans=
Κριτήρια Παρατηρησιμότητας Το (Α,C) είναι παρατηρήσιμο ανν το ζεύγος (Α,C) δεν είναι όμοιο με ζεύγος της μορφής
Κριτήρια Παρατηρησιμότητας Το (Α,C) είναι παρατηρήσιμο ανν το ζεύγος (Α,C) δεν είναι όμοιο με ζεύγος της μορφής a1=[10 -6 2 0 ; 9 -5 2 0 ; -5 4 1 0 ; 0 0 0 -2]; b1=[6 ; 7 ; -4 ; 0]; c1=[4 -1 2 1]; d1=[1]; sys1=ss(a1,b1,c1,d1); sys=canon(sys1); % sys=canon(sys1,’modal’)
Μετασχηματισμός σε παρατηρήσιμη μορφή – SISO systems
Αποσυζευκτικά μηδενικά του συστήματος και ιδιότητες του συστήματος Αποσυζευκτικά μηδενικά εισόδου Αποσυζευκτικά μηδενικά εξόδου Αποσυζευκτικά μηδενικά εισόδου-εξόδου Αποσυζευκτικά μηδενικά ={εισόδου}+{εξόδου}-{εισόδου-εξόδου}
Ελάχιστη πραγμάτωση του συστήματος - minreal
Ελάχιστη πραγμάτωση του συστήματος - minreal >> b=[1 ; 0 ; 1 ; 0]; >> c=[1 0 0 1]; >> d=[0]; >> sys=ss(a,b,c,d); >> minreal(sys)
Επανατοποθέτηση πόλων με ανάδραση κατάστασης Αναζητούμε σταθερό πίνακα Κ τέτοιον ώστε το σύστημα μετά από ανάδραση κατάστασης της μορφής να έχει ως πόλους τους Το παραπάνω πρόβλημα έχει λύση ανν το σύστημα είναι ελέγξιμο. Το σύστημα λέγεται stabilizable ανν μπορούμε να επανατοποθετήσουμε τους θετικούς του πόλους και συνεπώς να το κάνουμε ευσταθή. Συνεπώς ένα stabilizable σύστημα μπορεί να είναι και μη ελέγξιμο.
Βήματα υλοποίησης Υπολογίζουμε το επιθυμητό χαρακτηριστικό πολυώνυμο p=[1 pn-1 … p0]. Μετατρέπουμε το σύστημα στην ελέγξιμη μορφή με έναν μετασχηματισμό Τ. Ο ελεγκτής ανατροφοδότησης για το σύστημα στην ελέγξιμη μορφή 4. Ο στατικός ελεγκτής Κ είναι
Βήματα υλοποίησης a=[1 2 3 ; 2 3 1 ; 3 1 2]; b=[1 ; 2 ; 1]; % desired poles z=conv(conv([1 1],[1 2]),[1 3]) % characteristic polynomial a1=poly(a) % controllability matrix co=[b a*b a*a*b] % co=ctrb(a,b) % Transforming matrix t=co*[a1(1,3) a1(1,2) 1 ; a1(1,2) 1 0 ; 1 0 0] % [sys1,t1]=canon(sys,’companion’); t=co*t1; % controllability form aa=inv(t)*a*t ; bb=inv(t)*b ; % aa=sys1.a ; bb=sys1.b; % controller of controllable form kc=z(2:4)+aa(3,:) % controller of the system k=kc*inv(t) a=[1 2 3 ; 2 3 1 ; 3 1 2]; eig(a) b=[1 ; 2 ; 1]; k=place(a,b,[-1 –2 –3]) eig(a-b*k) acker(a,b,[-1 –2 –3]) % η place αριθμητικά είναι καλύτερη % από την acker.
Ισοδύναμος ελεγκτής στο πεδίο της συχνότητας με v(t)=0
Ισοδύναμος ελεγκτής στο πεδίο της συχνότητας a=[1 2 3 ; 2 3 1 ; 3 1 2]; b=[1 ; 2 ; 1]; syms s c=[1 0 –1]; simplify(k*inv(s*eye(3)-a)*b/(c*inv(s*eye(3)-a)*b)) ans = 2*(6*s^2+7*s-6)/(s-6)
Παρατηρητής κατάστασης (Full order observer) Αναζητούμε σταθερό πίνακα L τέτοιον ώστε ο A-LC να είναι ευσταθής. Το παραπάνω πρόβλημα έχει λύση ανν το σύστημα είναι παρατηρήσιμο. Ένα σύστημα λέγεται detectable αν οι μη ευσταθείς του πόλοι είναι παρατηρήσιμοι ή ισοδύναμα τα αποσυζευγμένα μηδενικά εξόδου είναι ευσταθή.
Παρατηρητής κατάστασης Το πρόβλημα είναι δυικό με το πρόβλημα της επανατοποθέτησης πόλων. Θέτω δηλαδή και το λύνω με την μέθοδο της επανατοποθέτησης ιδιοτιμών. Στη συνέχεια παίρνω ως λύση L τον ανάστροφο του πίνακα που υπολόγισα από το προηγούμενο πρόβλημα. a=[1 2 3 ; 2 3 1 ; 3 1 2]; b=[1 ; 2 ; 1]; c=[1 2 3]; rank(obsv(a,c)); % rank(obsv(a’,c’)); k=place(transpose(a),transpose(c),[-1 -2 -3]); % k=place(a’,c’,[-1 -2 -3]); l=transpose(k) % l=k’
Συνδυασμός παρατηρητή κατάστασης και επανατοποθέτησης πόλων (Separation property) Αναζητούμε σταθερό πίνακα K,L τέτοιον ώστε οι πίνακες A-BK και A-LC να είναι ευσταθείς. Οι πόλοι του συστήματος προκύπτουν από την ένωση των πόλων των δύο υποσυστημάτων. Στην πράξη διαλέγουμε τις επιθυμητές ιδιοτιμές του A-LC να βρίσκονται αρκετά πιο αριστερά στο αριστερά μιγαδικό επίπεδο από τους αντίστοιχους του A-BK, ώστε να είναι σε σύντομο χρονικό διάστημα δυνατή η παρατήρηση του x(t) πριν την επανατοποθέτηση των πόλων.
Άριστος γραμμικός ρυθμιστής (linear quadratic regulator problem) ή πιο γενικά Το πρόβλημα είναι να ελαχιστοποιήσουμε το J με συγκεκριμένη είσοδο u(t). Οι πίνακες Q και R επιλέγονται ώστε ο Q να είναι συμμετρικά ημιθετικά ορισμένος Q>=0 (όλες οι ιδιοτιμές του θετικές ή μηδέν) και ο R να είναι συμμετρικά θετικά ορισμένος (R>0) (όλες οι ιδιοτιμές του θετικές). Η λύση του παραπάνω προβλήματος οδηγεί σε είσοδο της μορφής u(t)=-Kx(t). Το παραπάνω πρόβλημα έχει λύση ανν το ζεύγος (Α,Β) είναι stabilizable.
Άριστος γραμμικός ρυθμιστής – Υλοποίηση [K,P,ev]=lqr(A,B,Q,R,Ν) % ev είναι οι ιδιοτιμές του κλειστού συστήματος για το συγκεκριμένο Κ [K,P,ev]=lqry(A,B,C,D,Q,R) % την συνάρτηση αυτή χρησιμοποιούμε όταν θέλουμε άριστο γραμμικό ρυθμιστή εξόδου
Άριστος γραμμικός ρυθμιστής – Υλοποίηση A=[1 2 ; 2 1]; B=[1 ; 0]; Q1=[2 0 ; 0 1]; R1=[1]; [K1,P1,ev1]=lqr(A,B,Q1,R1) C=[1 0] ; D=[0]; Q2=[1]; R2=[1]; [K2,P2,ev2]=lqry(A,B,C,D,Q2,R2)
Άσκηση (για σπίτι) α) Να γραφεί συνάρτηση που θα υπολογίζει τον πίνακα μετασχηματισμού Τ που μεταφέρει ένα ελέγξιμο σύστημα (SISO) στην ελέγξιμη μορφή. Να κάνετε χρήση της συνάρτησης αυτής σε ένα συγκεκριμένο παράδειγμα. β) Με ποιο τρόπο μπορώ να χρησιμοποιήσω την συνάρτηση αυτή για να βρω τον αντίστοιχο μετασχηματισμό μεταξύ ενός παρατηρήσιμου συστήματος και της παρατηρήσιμης μορφής του (κάνοντας χρήση της δυϊκότητας). Δώστε ένα παράδειγμα.
Άσκηση (για σπίτι) Να γραφεί συνάρτηση που θα υπολογίζει την είσοδο u(t) που οδηγεί το σύστημα μου (Α,Β) στην μηδενική κατάσταση π.χ. controlu(a,b,x0), αν όπου Κάνοντας χρήση της συνάρτησης που δημιουργήσατε, προσπαθήστε να βρείτε την είσοδο που οδηγεί παρακάτω σύστημα στην μηδενική κατάσταση. Σημείωση. Το σύστημα (A,B) είναι ελέγξιμο ανν ο πίνακας Μ(t) είναι αντιστρέψιμος για κάθε t.
Άσκηση (για σπίτι) Να γραφεί συνάρτηση που θα υπολογίζει τον αντισταθμιστή κατάστασης Κ σύμφωνα με την φόρμουλα του Ackerman π.χ. PolePlacement(a,b,p), όπου p οι επιθυμητοί πόλοι του συστήματος.
Άσκηση (για σπίτι) Δίνεται το σύστημα : Εφόσον δείξετε ότι το παραπάνω σύστημα είναι ελέγξιμο και παρατηρήσιμο, στη συνέχεια να σχεδιάσετε έναν παρατηρητή κατάστασης ο οποίος σε συνδυασμό με μια κατάλληλη ανάδραση του διανύσματος κατάστασης θα επανατοποθετεί τους πόλους του συστήματος στις τιμές {-2+3i,-2-3i}.