1 Esercitazione sulla sintesi con reazione dallo stato (bozza da rivedere a cura degli studenti, comunicando errori al docente) Lo schema semplificato di un sistema di puntamento automatico di un antenna radar è illustrato nella Fig. 1. Si chiede di: 1. Costruire un modello matematico in forma di stato. 2. Progettare un controllore con reazione dello stato, assumendo lo stato stesso misurabile, e assumendo che gli auto valori della matrice dinamica a catena chiusa siano dati da: c 1 2 j, 1 2 j, 1. 3. Progettare il controllore di cui al punto 2 in modo tale che il sistema a catena chiusa sia di tipo 1. 4. Progettare un sistema di controllo con reazione dallo stato osservato, utilizzando un osservatore asintotico di Luenberger e di tipo 1. m t m Motore Carico Integratore Fig. 1 Schema semplificato di un sistema di puntamento di un antenna radar. 1. Modello con lo stato Motore. Legame t m Carico. Legame v: t 5t 5m m m t m : t m Integratore. Legame :. Scegliendo le variabili di stato come segue: il modello in forma di stato diviene: x1, x2, x3 tm, x Ax b m y c x, dove x x x x, b 5, 1 1 2 3 2. Sintesi con reazione dello stato c e: 1 A 1 1. 5
2 Il problema di sintesi con reazione dello stato ammette soluzione se e solo se il modello è raggiungibile. Inoltre, poiché il sistema è con ingresso unidimensionale, la soluzione, se esiste, è unica. Verifica proprietà di raggiungibilità. La matrice di raggiungibilità, calcolata in ambiente MALAB è data da: 5 Q r 5 3. 5 25 125 Il rango di Q r è 3, e quindi il modello è raggiungibile. La soluzione, unica, del problema in esame si ottiene mediante il seguente procedimento. a) Si costruisce il polinomio caratteristico desiderato, data da: dove p 5, p1 25, p2 12. 3 2 2 1 d p p p, b) Si costruisce la forma canonica di controllo, data da: dove: xˆ Ax ˆ ˆ b ˆm y cˆ x, ˆ 1 Aˆ 1, b ˆ, a a1 a2 1 dove a, a1 e a 2 sono i coefficienti del polinomio caratteristico di A, dato da: a 6, a 5 e a. con 2 1 3 2 a2 a1 a, c) Si costruisce la matrice della trasformazione di coordinate x x ˆ che trasforma il modello originario nella forma canonica di controllo. ale matrice si costruisce osservando che la matrice di raggiungibilità del modello originario, Q r, e la matrice di raggiungibilità della forma canonica di controllo, Q ˆr, data da:
3 1 Q ˆ r 1 6, 1 6 31 sussiste la relazione ˆr 1 Q Q, da cui deriva r Q Q ˆ. r 1 r d) Si costruisce la legge di controllo con reazione dello stato data da: x muk x, e il relativo modello a catena chiusa dato da: x x A bk x b u. Imponendo la trasformazione di coordinate catena chiusa divengono: dove ˆx k x k. Poiché risulta: muk x x x ˆ, la legge di controllo e il modello a ˆ x ˆ ˆ ˆ ˆ ˆ ˆ x xˆ A bk x b u ˆ ˆ ˆx 1 x A bk A bk, le matrici ˆ ˆ A bk ˆx e A bk x sono simili e, quindi, hanno gli stessi autovalori. Si preferisce imporre gli autovalori alla matrice ˆ ˆ A bk ˆx, poiché la soluzione in termini di k ˆx è immediata. Infatti, posto k ˆx kˆ ˆ ˆ x, k x,1 k x,2, si ha: 1 Aˆ bk ˆ ˆ x 1. ( ˆ ˆ ˆ a kx,) ( a1 kx,1) ( a2 kx,2) Il polinomio caratteristico di tale matrice è dato da: ˆ ( ˆ ) ( ˆ ) ( ˆ ). 3 2 a2 kx,2 a1 kx,1 a kx, Affinchè Aˆ bk ˆ ˆx abbia gli autovalori desiderati occorre e basta che ˆ, ovvero che i due polinomi abbiano gli stessi coefficienti, ( a ˆ i kx, i) pi, i,,2.
4 Il file riportato nell Appendice 1 calcola direttamente il vettore k ˆ x 5 2 6 si ottiene k 1 2.8 1.2. La legge di controllo mu x x, da cui k x è stata implementata in ambiente MALAB-SIMULINK, come illustrato nello schema di Fig. 2. In Fig. 3 sono illustrate le risposte del sistema a catena chiusa di Fig. 2 in presenza di un ingesso a gradino unitario. L esame di tale figura mette in evidenza che l errore a regime è finito, diverso da zero e pari al 9% del valore desiderato. Ne consegue che la retroazione delle variabili di stato permette di ottenere la dinamica desiderata a catena chiusa, a spese però, del comportamento a regime del sistema, che risulta inaccettabile. Per ovviare a tale inconveniente, si considera il sistema di Fig. 4, dove è stato inserito un integratore pilotato dall errore di inseguimento et (). Fig. 2 Schema a blocchi del sistema di controllo con reazione dello stato.5.4.3 teta omega coppia uscite.2.1 -.1 3. Sintesi con reazione dello stato e di tipo 1 -.2 2 4 6 8 1 t [s] Fig. 3 Risposte del sistema di Fig. 2.
5 Fig. 4 Schema a blocchi del sistema di controllo con reazione dello stato e di tipo 1 Il modello del sistema di Fig. 4 è dato da: dove: x Ax b m, m k x x kx4 x k k x4 x a k xa x a, dove x a x è lo stato ampliato, e è l uscita dall integratore che soddisfa l equazione differenziale: dove 1 a u y u c x, c. Il sistema a catena aperta con u, risulta: che può essere scritto come segue: x Ax b m, c x, x A 31 x b m, c ovvero: dove: x A x b, a a a a m A a A 31 b, ba. c
6 La matrice di raggiungibilità risulta, calcolata utilizzando il file MALAB mostrato in Appendice I: Q ra 5 3 2 3 b Ab A b A b 5 3 155, 2 c b c Ab c A b 5 25 125 625 5 da cui risulta Ponendo det( Q ra) 5 ( 5). m k xa a 3 x, si ottiene il seguente sistema a catena chiusa: a ( a a xa ) a x A b k x. Seguendo la stessa procedura illustrata in precedenza, e utilizzando lo stesso file riportato nell Appendice I, si ottengono i seguenti risultati. Polinomio caratteristico di A a 4 3 2 6 5. a Forma canonica di controllo 1 1 Aac, b ac. 5 6 1 Matrice di raggiungibilità della forma canonica di controllo, Q ˆra a. 1 5 ˆ 1 6 ˆ 1 5 Qra, a QraQ ra. 1 6 31 5 5 1 6 31 156 5 Polinomio caratteristico desiderato da 4 3 2 p ( ) s 42s 385s 8s 15. Matrice di retroazione relativa alla forma canonica di controllo ˆ xa [15 8 38 36] k. Matrice di retroazione relativa al modello di partenza, e matrice di trasformazione,
7 xa k [16 68.8 7.2 3]. Le risposte del sistema a catena chiusa di Fig. 4 sono illustrate nella Fig. 5. Da notare che per conseguire l obiettivo di rendere il sistema di tipo 1, risulta necessario mettere in gioco, durante il transitorio, una coppia circa dieci volte maggiore di quella mostrata in Fig. 3. 4 risposte a catena chiusa 3 2 1 teta omega coppia -1-2 2 4 6 8 1 t [s] Fig. 5 Risposte del sistema di Fig. 4. 4. Sintesi con reazione dello stato stimato e di tipo 1 Al fine di costruire uno schema di controllo basato sulla retroazione dello stato stimato, conviene osservare che la variabile x 4 è disponibile e, quindi, è sufficiente determinare le variabili del sistema in esame, ossia le componenti del vettore x. In proposito, poiché l uscita x 1 è disponibile, conviene verificare preliminarmente la proprietà di osservabilità dall uscita considerata poiché, nell ipotesi che tale proprietà fosse soddisfatta, basterebbe misurare solamente l uscita x 1 e osservare le rimanenti componenti x 2 e x 3 mediante un osservatore asintotico di Luenberger. La matrice di osservabilità del modello descritto dalla terna di matrici ( A, b, c ) è data da: 1 Q o 1, 1 1 e risulta rank( Q o) 3, il ché implica che il modello è osservabile. L osservatore di Luenberger di ordine intero è dato da: xˆ Axˆ bm k y c x ˆ.
8 Come già detto in precedenza, il progetto dell osservatore di Luenberger di un sistema LI viene effettuato progettando un controllore con reazione dello stato per un sistema descritto dalle matrici ottengono i seguenti risultati. Matrici del sistema Matrice di raggiungibilità A A, b c c. Utilizzando il file riportato nell Appendice II, si o o A A, b c c. o o or o Q Q. Forma canonica di controllo: è la stessa di quella utilizzata per il progetto del controllore con reazione dello stato, poiché A e A hanno lo stesso polinomio caratteristico A A, b b. oc c oc c Matrice di raggiungibilità della forma canonica di controllo Matrice di trasformazione dal modello ( Autovalori dell osservatore Matrice k dell osservatore Qˆ Q ˆ. or r A o, b o ) al modello ( 5 6 1 ˆ 1 o QorQ or 5 1. 1 o 2 4 j, 2 4 j, 2 k 18 13 375. A oc, b oc ) L osservatore di Luenberger va inserito come indicato nella Fig. 6. I parametri kxi, i, 3 sono gli stessi di quelli del controllore con reazione dello stato e di tipo 1, mentre in Fig. 6 la matrice k è denotata con ko.
9 Fig. 6 Schema di controllo con reazione dell uscita e di tipo 1 Le risposte del sistema a catena chiusa vs. t, vs. t, tm vs. t, son le stesse di quelle illustrate nella Fig. 5, assumendo che lo stato iniziale sia nullo per l osservatore e per il sistema. Al fine di verificare la convergenza a zero dell errore di osservazione e la rapidità della convergenza stessa, si ammetta che lo stato dell osservatore sia diverso da quello del sistema. In particolare, si ammetta che lo stato iniziale del sistema sia nullo, mentre quello dell osservatore sia dato da x ˆ.1.1.1. Le risposte sono illustrate nella Fig. 7. 4 risposte del sistema a catena chiusa 3 2 1-1 -2 teta omega coppia -3 2 4 6 8 1 t [s] Fig. 7 Risposte del sistema a catena chiusa con osservatore. Stato iniziale dell osservatore x ˆ.1.1.1.
1 Nella Fig. 8 si riportano la forma d onda dell errore di osservazione di ciascuna delle variabili di interesse. L esame di tale figura mostra che, dopo circa 2 s, le variabili osservate tendono a quelle effettive e, di conseguenza, il controllo del sistema è identico a quello che si avrebbe mediante retroazione delle variabili di stato effettive..6.4.2 errori di inseguimento -.2 -.4 -.6 -.8-1 -1.2 teta omega coppia -1.4 2 4 6 8 1 t [s] Fig. 8 Errori di inseguimento delle variabili di stato
11 Appendice I A=[,1,;,-1,1;,,-5]; b=[;;5]; ct=[1,,]; delta=poly(a) Ac=[,1,;,,1; -delta(4),-delta(3),-delta(2)]; bc=[;;1]; Qr=ctrb(A,b); Qr_cap=ctrb(Ac,bc); =Qr*(inv(Qr_cap)); % pd=[-1+2*j,-1-2*j,-1]; coef=poly(pd); kx=coef(4)-delta(4); kx1=coef(3)-delta(3); kx2=coef(2)-delta(2); kxt=[kx kx1 kx2]*(inv()); %kxt=[5 2 6]*(inv()); Aa=[A,zeros(3,1); -ct,]; ba=[b; ]; Qar=ctrb(Aa,ba); da=poly(aa); Aac=[,1,,;,,1,;,,,1; -da(5),-da(4),-da(3),-da(2)]; bac=[;;;1]; Qar_cap=ctrb(Aac,bac); a=qar*(inv(qar_cap)); pda=[-1+2*j,-1-2*j,-1,-3]; coefa=poly(pda); kaxt_cap=[coefa(5)-da(5),coefa(4)-da(4),coefa(3)- da(3),coefa(2)-da(2)]; kaxt=kaxt_cap*(inv(a)); kx=kaxt(1); kx1=kaxt(2); kx2=kaxt(3); kx3=kaxt(4);
12 Appendice II %Sintesi del controllore con reazione dallo stato A=[,1,;,-1,1;,,-5]; b=[;;5]; ct=[1,,]; delta=poly(a) Ac=[,1,;,,1; -delta(4),-delta(3),-delta(2)]; bc=[;;1]; Qr=ctrb(A,b); Qr_cap=ctrb(Ac,bc); =Qr*(inv(Qr_cap)); % pd=[-1+2*j,-1-2*j,-1]; coef=poly(pd); kx=coef(4)-delta(4); kx1=coef(3)-delta(3); kx2=coef(2)-delta(2); kxt=[kx kx1 kx2]*(inv()); %Sintesi con reazione dello stato, di tipo 1 Aa=[A,zeros(3,1); -ct,]; ba=[b; ]; Qar=ctrb(Aa,ba); da=poly(aa); Aac=[,1,,;,,1,;,,,1; -da(5),-da(4),-da(3),-da(2)]; bac=[;;;1]; Qar_cap=ctrb(Aac,bac); a=qar*(inv(qar_cap)); pda=[-1+2*j,-1-2*j,-1,-3]; coefa=poly(pda); kaxt_cap=[coefa(5)-da(5),coefa(4)-da(4),coefa(3)- da(3),coefa(2)-da(2)]; kaxt=kaxt_cap*(inv(a)); kx=kaxt(1); kx1=kaxt(2); kx2=kaxt(3); kx3=kaxt(4); %progetto dell'osservatore del modello A,b,c Qo=obsv(A,ct);
13 Ao=A'; bo=ct'; Qor=Qo'; Aoc=Ac; boc=bc; Qor_cap=Qr_cap; o=qor*(inv(qor_cap)); pod=[-1+2*j,-1-2*j,-1]*2; coefo=poly(pod); ko=coefo(4)-delta(4); ko1=coefo(3)-delta(3); ko2=coefo(2)-delta(2); kot=[ko ko1 ko2]*(inv(o)); ko=kot';