Sei sulla pagina 1di 40

Esercizi Svolti di Controlli Automatici

Per Diplomi Teledidattici

Gustavo Belforte Giuseppe Calaore Marina Indri Dipartimento di Automatica e Informatica Politecnico di Torino Giugno 2001

Esercizio

Sia dato il seguente schema a blocchi:

1 r(s)- i + 6
1 s+2

+ ? - i+ 5


1 s+1

1 s+3

y(s) -

1. Determinare la funzione di trasferimento ingresso-uscita y(s)/r(s) 2. Determinare una terna di matrici A, b e cT che descrivano, in variabili di stato, il sistema dato nel diagramma a blocchi.

1.1

Soluzione

Determiniamo la relazione ingresso uscita per via algebrica. Si denoti con y1 luscita del blocco 1/(s + 2) e con y2 luscita del blocco 1/(s + 1), dalla relazione al nodo di ingresso si ha 1 y1 = (r 5y2 ) s+2 e dalla relazione al nodo di somma intermedio si ha y2 = Domanda 1 Sostituendo y1 nella seconda equazione e semplicando si ottiene y2 = da cui y= s+3 r s3 + 6s2 + 15s + 19 1 1 1 1 (y1 + y) = y1 + y2 s+1 s+1 s+1s+3

1 1 y2 = 3 r. 2 + 15s + 19 s+3 s + 6s 1

Un approccio alternativo alla soluzione consiste invece nel manipolare direttamente lo schema a blocchi di partenza. Spostando il punto di presa di retroazione da y2 a y si ottiene il diagramma modicato di gura 1(a). Semplicando lanello di retroazione unitaria (positiva) superiore (si utilizza la nota formula G/(1 G), dove G rappresenta il generico blocco in catena diretta) si ottiene lo schema di gura 1(b), che rappresenta un sistema a retroazione non unitaria negativa. Utilizzando la nota formula G/(1 + GH) dove G rappresenta il blocco in catena diretta e H il blocco in retroazione si ottiene quindi il risultato nale y= 1 r. s3 + 6s2 + 15s + 19

Figure 1: Schemi a blocchi modicati del sistema.

Domanda 2 Per una generica funzione di trasferimento del tipo G(s) = bn1 sn1 + bn2 sn2 + + b0 sn + an1 sn1 + + a0 2

una particolare realizzazione dalle seguenti relazioni: 0 1 0 0 0 1 . A= . . 0 0 0 a0 a1 a2

in variabili di stato detta forma canonica di controllo ` fornita e .. . ; cT = [b0 ; b1 ; b2 ; bn1 ].

0 0

1 an1

; b = 0 1

0 0 . . .

Applicate al problema in oggetto tali formule forniscono la seguente rappresentazione in variabili di stato della funzione di trasferimento del sistema: 0 1 0 0 0 1 ; b = 0 ; cT = [3; 1; 0]. A= 0 19 15 6 1

Esercizio

Si consideri il sistema molla-massa-smorzatore rappresentato in gura 2.

Figure 2: Sistema molla-massa-smorzatore. Si assuma la forza f (t) come ingresso e la posizione x(t) del punto A come uscita. 1. Si calcoli la funzione di trasferimento ingresso-uscita del sistema. 2. Si calcoli quindi luscita x(t), t 0 che si ha in corrispondenza al segnale di ingresso f (t) riportato in gura 3 quando si assegnano ai parametri i seguenti valori numerici: Massa M = 1 Kg; Coeciente dattrito = 12 N/(m/s); Costante di elasticit` della a molla K = 20 N/m.

Figure 3: Andamento temporale del segnale di ingresso.

2.1

Soluzione

Domanda 1 Il sistema meccanico dato (traslatorio lineare) ha una sola massa per cui esso sar` complea tamente denito se si conoscono posizione e velocit` di tale massa. a Preso come punto di riferimento della massa M il punto A di coordinata x = x(t), scelta in modo tale che lorigine x = 0 sia in corrispondenza del punto di riposo del sistema, dalle equazioni della dinamica si ha f (t) = M x(t) + x(t) + Kx(t). (1)

Questa equazione pu` essere trasformata secondo Laplace (il che implica assumere cono dizioni al contorno nulle) e risulta f (s) = M s2 x(s) + sx(s) + Kx(s) = (M s2 + s + K)x(s) da cui la funzione di trasferimento G(s) = x(s)/f (s) risulta G(s) = x(s) 1 = . f (s) (M s2 + s + K) (3) (2)

Per rispondere alla domanda si pu` anche mettere prima il sistema in variabili di stato e o quindi trovare la funzione di trasferimento usando le formule che permettono di passare da una rappresentazione allaltra (G(s) = cT (sI A)1 b). Per far ci` si osserva che posizione o e velocit` della massa M (cio` di un suo punto qualunque) sono una possibile scelta di a e 4

variabili di stato del sistema. Ovviamente questa scelta non ` obbligata ma ` conveniente. e e Scelte dunque le variabili di stato x1 (t) = x(t) e x2 (t) = x(t) dalla relazione (1) risulta x1 (t) = x2 (t) K x2 (t) = M x1 (t)
x (t) M 2

1 f (t) M

(4)

e scelta come uscita y(t) del sistema la variabile posizione x1 (t), il sistema pu` essere scritto o nella forma matriciale 0 1 0 x= x + 1 f (t) K M M M . (5) y= 1 0 x

Si pu` quindi calcolare la funzione di trasferimento G(s) = x(s)/f (s) = y(s)/f (s) con la o relazione G(s) = cT (sI A)1 b. G(s) = 1 0 s
K M

1 s+ M s+

0
1 M

=
T

1 0 =

1 s(s + /M ) + K/M 1 0 (s +

K M 1 s

0
1 M

= (6)

M M s2 + s + K =

s+ M K M ) M

1 s 0
1 M

0
1 M

M M s2 + s + K M s2

1 1 M = 2 + s + K + s + K M Ms che risulta uguale alla relazione (3). Da ultimo si potrebbe risolvere il problema passando al circuito equivalente elettrico del sistema meccanico dato. In tal caso bisogna far corrispondere al corpo rigido in traslazione un punto (A) connesso al riferimento di massa elettrica (terra) con una capacit` di valore a M . Il punto A va poi connesso con la massa elettrica anche attraverso uninduttanza di valore 1/K e una resistenza di valore 1/ che rappresentano rispettivamente la molla e lo smorzatore. Alla forza f (t) in ingresso al sistema corrisponde, nellequivalente elettrico, una corrente che entra nel punto A, mentre la tensione vA (t) rappresenta la velocit` del punto a A. Con tali assunzioni si ottiene il circuito riportato in gura 4. Occorre ricordare che noi desideriamo, come uscita, la posizione x(t) della massa e che questa ` data, nellequivalente elettrico, dallintegrale della tensione vA (t) che rappresenta la e = 5

Figure 4: Equivalente elettrico del sistema meccanico di gura 1. velocit` della massa. Applicando al circuito elettrico le leggi fondamentali dellelettrotecnica a si trova 1 vA (t) = iR (t) A iC (t) = M dvdt(t) (7) vA (t) = 1 diL (t) K dt f (t) = iR (t) + iC (t) + iL (t) dove con iR (t), iC (t) e iL (t) si sono indicate le correnti entranti nella resistenza, nel condensatore e nellinduttanza rispettivamente. Trasformando secondo Laplace le relazioni (7) si ottiene 1 vA (s) = iR (s) iC (s) = M svA (s) (8) 1 vA (s) = K siL (s) f (s) = iR (s) + iC (s) + iL (s) da cui iR (s) iC (s) iL (s) f (s) da cui si ha = vA (s) = M svA (s) = K vA (s) s = iR (s) + iC (s) + iL (s) = ( + M s + vA (s) s = 2 + s + K) f (s) (M s (9)
K )vA (s) s

(10)

che rappresenta la funzione di trasferimento tra la forza f(t) e la velocit` della massa. Siccome a la nostra uscita ` invece la posizione x(t) della massa che ` data dallintegrale della tensione e e

vA (t) avremo x(s) 1 = vA (s) s e quindi G(s) = x(s) vA (s) 1 s 1 x(s) = = = 2 + s + K) 2 + s + K) f (s) vA (s) f (s) s (M s (M s (12) (11)

che risulta uguale alla relazione (3). Anche per il circuito elettrico si pu` ricorrere alla descrizione in variabili di stato. In o questo caso una scelta conveniente di variabili di stato ` data dalla corrente nellinduttanza e e dalla tensione sul condensatore. Scelte dunque come variabili di stato z1 (t) = vA (t) e z2 (t) = iL (t) (si sono indicate le variabili di stato con la lettera z per distinguerle dalle precedenti) dalle relazioni (7) risulta
1 1 z1 (t) = M iC (t) = M (f (t) iL (t) iR (t)) = z2 (t) = KvA (t) = Kz1 (t) 1 (f (t) M

z2 (t) z1 (t))

(13)

Per quanto riguarda luscita y(t) del sistema, alla posizione x(t) della massa corrisponde lintegrale della tensione vA (t) = z1 (t) che deve quindi essere espressa come combinazione lineare delle variabili di stato. Dalla seconda delle relazioni (13) risulta che z1 (t) = e qundi si avr` che a 1 z2 (t). K Il sistema pu` dunque essere scritto nella forma matriciale o y(t) = z=
1 M M K 0

1 z2 (t) K

(14)

(15)

z+
1 K

1 M

0 z

f (t) . (16)

y=

Si pu` quindi calcolare la funzione di trasferimento G(s) = x(s)/f (s) = y(s)/f (s) con la o relazione G(s) = cT (sI A)1 b. G(s) = 0
1 K s+ M K 1 M 1 1 M

0 =

1 K

1 s(s + /M ) + K/M 0
1 K

s
1 M

K s+
M

1 M

0
1 M

= (17)

M 2 + s + K Ms =

1 s M K s+ M

0
1 M

M 2 + s + K Ms M s2

1 s+

M 1 1 = 2 + s + K + s + K M Ms

che risulta uguale alla relazione (3) e alla relazione (6). Come considerazione nale si pu` osservare come sia le variabili di stato x che le z sono o variabili siche e potrebbero quindi essere tutte misurate anche se non con la stessa facilit`. a Questo fatto tuttavia non ha nessuna rilevanza per il problema in questione. Domanda 2 Per rispondere a questa domanda occorre ricordare che si pu` trovare landamento nel o tempo delluscita di un sistema dinamico, quando in ingresso ` applicato un ben detere minato segnale, semplicemente antitrasformando il prodotto della funzione di trasferimento per la trasformata del segnale in ingresso. Infatti si ha x(t) = L1 [x(s)] = L1 [G(s)f (s)] = L1 [G(s)L[f (t)]] (18)

dove con L1 [] e L[] si sono indicati rispettivamente gli operatori di antitrasformazione e trasformazione di Laplace. Occorre quindi trovare la trasformata del segnale di ingresso f (t); a questo proposito si pu` notare come il segnale f (t) dato possa essere visto come la somma di due gradini di o ampiezza unitaria, uno positivo in t = 0 e uno negativo ritardato in t = 2. In formule, indicando con u(t) la funzione gradino, risulta f (t) = u(t) u(t 2) 1 1 2s 1 e = (1 e2s ) s s s e quindi, usando i valori numerici dati, si ha f (s) = x(s) = G(s)f (s) = 1 1 (1 e2s ) (1 e2s ) = (s2 + 12s + 20) s s(s + 2)(s + 10) 8 che trasformata diventa (19)

(20)

(21)

che pu` essere scritta in forma di residui come o x(s) = ( da cui R1 R2 R3 + + )(1 e2s ) s s + 2 s + 10 (22)

per 0 t < 2 x(t) = (R1 + R2 e2t + R3 e10t ) 2t 10t ) x(t) = (R1 + R2 e + R3 e (R1 + R2 e2(t2) + R3 e10(t2) ) per 2 t per 0 t < 2 x(t) = (R1 + R2 e2t + R3 e10t ) x(t) = R2 (e2t e2(t2) ) + R3 (e10t e10(t2) ) per 2 t

(23)

e quindi (24)

o anche

per 0 t < 2 x(t) = (R1 + R2 e2t + R3 e10t ) 4 2t 20 10t per 2 t x(t) = R2 (1 e )e + R3 (1 e )e

(25)

I residui si ottengono come


1 1 R1 = lims0 s s(s+2)(s+10) = lims0 (s+2)(s+10) = 1 1 R2 = lims2 (s + 2) s(s+2)(s+10) = lims2 s(s+10) = 1 1 R3 = lims10 (s + 10) s(s+2)(s+10) = lims10 s(s+2) = 1 20 1 16 1 80

= 0, 05 = 0, 0625 = 0, 0125

(26)

Landamento della funzione x(t) per lingresso assegnato pu` essere ottenuto con la seguente o serie di comandi MATLAB n=[1]; d=[1 12 20]; t=linspace(0,5,250); y=step(n,d,t); yy=zeros(100,1); yy=[yy;y(1:150)]; yyy=[y,yy,y-yy]; plot(t,yyy),grid in cui n e d sono la rappresentazione vettoriale del numeratore e del denominatore mentre in y c` la risposta al gradino. In yy ` contenuta la risposta al gradino ritardata di 2 secondi e e mentre in yyy, rappresentato nel graco di gura 5, le prime due colonne sono y e yy, lultima ` la dierenza delle prime due che ` quindi la risposta richiesta. yyy ha 250 righe e e che corrispondono ai valori assunti dalle funzioni considerate in 250 istanti equispaziati su un orizzonte temporale di 5 secondi. Vi sono dunque 50 campioni per secondo. 9

Figure 5: Uscita del sistema (linea continua) per landamento di ingresso mostrato in gura 2. Possibili veriche del procedimento e dei calcoli Vengono qui riportate alcune considerazioni che si possono fare durante la risoluzione dellesercizio per svolgere un verica di massima e un controllo qualitativo e/o incrociato sulla correttezza dei risultati ottenuti. Tali considerazioni non sono da considerare esaustive di quanto pu` essere detto sullesercizio in questione e non sono ordinate secondo alcun criterio o di importanza o altro. Il sistema in questione ` un sistema meccanico passivo e quindi sar` di per se stabile. e a Ci` vuol dire che gli autovalori del sistema (e quindi anche i poli della funzione di o trasferimento) sono tutti a parte reale non positiva. Il sistema ha una sola massa e quindi ` identicato perfettamente dalla conoscenza e della posizione e della velocit` di tale massa. Ci` signica che nelle rappresentazioni a o di stato ci sono due variabili di stato e la funzione di trasferimento deve essere del secondo ordine (polinomio di secondo grado al denominatore) a meno di una non completa controllabilit` e osservabilit` del sistema. Tuttavia, in questo caso semplice, a a la comprensione sica del sistema ci dice che la forza f (t) agisce direttamente sulla massa e quindi pu` determinare sia posizione che velocit` della massa stessa e quindi il o a 10

sistema ` controllabile; mentre luscita ` la posizione della massa stessa e quindi dalla e e sua conoscenza nel tempo si pu` ricavare il valore di posizione e velocit` ai vari istanti o a e quindi il sistema ` osservabile. e Visto che con i valori numerici assegnati la funzione di trasferimento ha poli reali e distinti, la risposta al gradino deve avere tutti termini esponenziali e costanti, non oscillatori. Il graco della risposta al gradino non avr` sovraelongazioni. a La somma dei residui deve essere nulla perch` non c` accoppiamento diretto tra ine e gresso e uscita: la funzione di trasferimento ` razionale fratta propria (pi` poli che e u zeri) e la matrice D della rappresentazione in variabili di stato ` nulla. e La risposta al gradino deve avere un termine costante perch` la funzione di trasferie mento non ha zeri nellorigine. Tale termine ` quello che determina il valore delluscita e a transitorio estinto (t ) ed ` uguale al guadagno in continua della funzione di e trasferimento e cio` il valore della funzione di trasferimento quando s = 0. e

Esercizio

Sia data la seguente rappresentazione in variabili di stato di un sistema: 0 2 1 1 0 x + 0 u x= 2 0 0 0 3 0 y= 1 0 0 x

1. Determinare, se possibile, una retroazione degli stati tale per cui il sistema retroazionato abbia gli autovalori in: 1; 3; 5. 2. Costruire, se possibile, un osservatore degli stati che abbia gli autovalori in: 10; 10 + j5; 10 j5. 3. Trovare la funzione di trasferimento del sistema dato. 4. Dire se il sistema ` BIBO stabile. e

11

3.1

Soluzione

Il sistema dato ` rappresentato in forma simile alla forma canonica di Kalman di controllae bilit`, cio` le matrici caratteristiche del sistema A, b sono partizionate come a e A= dove A11 = 0 2 2 0 ; A12 = 1 0 ; A22 = 3; b1 = 1 0 . A11 A12 0 A22 ; b= b1 0 ,

La terza variabile di stato con il relativo autovalore in 3 ` quindi non controllabile. Per e vericare se il sistema ` eettivamente in forma di Kalman bisogna vericare che il sistema e ridotto A11 , b1 sia completamente controllabile. La corrispondente matrice di controllabilit` a 1 0 ` M11 = e ed ` di rango pieno per cui si pu` concludere che il sistema ` eettivamente e o e 0 2 in forma di Kalman e che le due prime variabili di stato sono controllabili. Domanda 1 Sia x1 il vettore ridotto di stato corrispondente agli stati completamente controllabili del ` sistema (in questo caso i primi due) e si consideri una retroazione del tipo u1 = K1 x1 . E possibile determinare la matrice di retroazione K1 = [k1 ; k2 ] tale da portare gli autovalori del sistema in 1; 3; 5 procedendo nel seguente modo. 1. Si collocano gli autovalori della parte controllabile in 1 = 1 e 2 = 5 lavorando sul sistema ridotto (A11 , b1 ) e applicando una delle due seguenti procedure per il calcolo della retroazione K1 : Primo metodo: applichiamo il principio di identit` dei polinomi tra il polinomio carata teristico desiderato in catena chiusa (polinomio relativo alle radici da imporre in catena chiusa 1,2 ) pdes (s) = (s + 1)(s + 5) = s2 + 6s + 5 ed il polinomio caratteristico pc (s) della matrice in catena chiusa A11c A11c = A11 b1 K1 = k1 2 k2 2 0 ; pc (s) = s2 + k1 s + 2k2 4.

Imponendo luguaglianza tra i coecienti dei termini di pari grado si ottiene k1 = 6; k2 = 4, 5; quindi K1 = [6; 4, 5]. 12

` Secondo metodo: E possibile ricavare direttamente la matrice di retroazione K1 utilizzando il metodo seguente. Sia pdes (s) = sm + am1 sm1 + + a0 il polinomio caratteristico (relativo alla parte completamente controllabile) che si desidera imporre in anello chiuso e sia p(s) = sm + bm1 sm1 + + b0 il polinomio caratteristico di partenza (polinomio caratteristico di A11 ); m ` la dimensione della parte completae mente controllabile del sistema, cio` A11 ` una matrice m m (nel caso in esame e e m = 2). La matrice K1 si determina allora secondo la formula K1 = [a0 b0 ; a1 b1 ; ; am1 bm1 ]R, dove R ` una matrice calcolata come e R= gT T g A11 . . . gT A11
(m1)

, (27)

essendo gT lultima riga della inversa della matrice di controllabilit` M11 relativa al a sottosistema completamente controllabile A11 , b1 . Nel caso in esame il polinomio caratteristico di partenza ` dato da e p(s) = s2 4; quindi K1 = [5 + 4; 6 0]R dove R ` determinata tramite la (27) e M11 = da cui K1 = [9; 6]R = [6; 4, 5], che coincide con quanto ottenuto tramite il primo metodo. 2. Lautovalore 3 = 3 non ` spostabile tramite retroazione dello stato ed ` quindi e e anche autovalore del sistema retroazionato, qualunque sia il guadagno di retroazione utilizzato. Il guadagno complessivo K ` dato da e K = [K1 ; K2 ] 13 1 0 0 2 ; M1 = 11 1 0 0 1/2 ; gT = [0; 1/2]; R = 0 1/2 1 0 ,

dove K1 ` il guadagno calcolato sul sottosistema controllabile e K2 ` il guadagno e e di retroazione degli stati non controllabili. Da quanto detto segue che per qualsiasi valore di K2 si avranno gli autovalori della parte controllabile nelle posizioni desiderate (dipendono solo da K1 ) mentre gli autovalori relativi alla parte non controllabile restano invariati. K2 pu` quindi essere scelto a piacere e verr` in seguito usualmente o a posto pari a zero: K2 = 0. Si ottiene inne che tramite un controllo in retroazione del tipo u = Kx, dove K = [6; 4, 5; 0], gli autovalori del sistema retroazionato (avente matrice di stato Acc = A bK) sono nelle posizioni desiderate 1; 3; 5. Note al procedimento Se il sistema di partenza non ` direttamente fornito in forma canonica di Kalman e di controllo si presentano due casi: a) il sistema ` completamente controllabile; b) e il sistema non ` completamente controllabile. Nel caso a) si procede come illustrato e sopra considerando come sistema ridotto lintero sistema. Nel caso b) occorre invece introdurre un cambiamento di base x = T1 x nello spazio di stato in modo da portare il sistema in forma canonica di Kalman. Si applica quindi il procedimento illustrato al sistema trasformato nella variabile di stato x , ottenendo un guadagno di retroazione K . Il guadagno di retroazione eettivo (retroazione sullo stato x) si calcola quindi considerando che u = K x = K T1 x, da cui K = K T1 . Il guadagno di retroazione pu` essere calcolato direttamente tramite i comandi MATo LAB acker oppure place. Riportiamo di seguito le istruzioni per il calcolo di K nel problema in oggetto utilizzando i comandi MATLAB: % Introduzione dati relativi al sistema: A=[0 2 1; 2 0 0; 0 0 -3]; B=[1 0 0]; C=[1 0 0]; % Vettore contenente gli autovalori desiderati in catena chiusa: pdes=[-1 -3 -5]; % Calcolo di K con il comando acker: Kacker=acker(A,B,pdes) 14

Warning: Matrix is singular to working precision. Kacker = Inf Inf Inf % Nota: siccome il sistema non e completamente controllabile il comando % acker fallisce, cioe non riesce a trovare un risultato % significativo. % Calcolo di K con il comando place: Kplace=place(A,B,pdes) place: ndigits= 16 ans = 6.0000 4.5000 1.0000 % % % % Nota: il K fornito da MATLAB si riferisce ad una retroazione del tipo u=-Kx. Si noti inoltre che, per il particolare problema in questione, lultimo elemento di K puo essere scelto a piacere ed e in questo caso posto da MATLAB a 1.

` E sempre buona norma procedere ad una verica del calcolo di K andando a calcolare gli autovalori della matrice del sistema retroazionato Acc = A bK, che devono coincidere, a meno di errori di natura numerica, con quelli desiderati. Riportiamo di seguito i comandi MATLAB per tale verica. K=Kplace; % utilizzo il Kplace calcolato in precedenza. Acc=A-B*K Acc = -6.0000 2.0000 0 -2.5000 0 0 0 0 -3.0000

% Calcolo gli autovalori del sistema retroazionato: eig(Acc) ans = 15

-5.0000 -1.0000 -3.0000 Domanda 2 Costruiamo dapprima la matrice di osservabilit` del sistema a 1 0 4 ST = 0 2 0 0 1 3 il cui rango risulta essere pari a 3, quindi il sistema in esame ` completamente osservabile, per e cui ` possibile posizionare gli autovalori dellosservatore a piacere. In particolare si richiede e di posizionare gli autovalori in 1 = 10; 2,3 = 10 5 corrispondenti ad un polinomio caratteristico desiderato pdes (s) = s3 + 30s2 + 325s + 1250; il polinomio caratteristico del sistema di partenza ` invece e p(s) = s3 + 3s2 4s 12. Anche nel caso del progetto dellosservatore si propongono due metodi alternativi per il calcolo della matrice L. Il primo metodo si basa nuovamente sul principio di identit` dei polinomi, applicato questa a volta tra il polinomio desiderato pdes (s) ed il polinomio caratteristico poss (s) della matrice in catena chiusa dellosservatore Aoss = A + LcT . Nel caso in esame si ha cT = [1; 0; 0] e sia L = [ 1 ; 2 ; 3 ]T , allora 2 1 1 Aoss = 2 + 2 0 0 ; poss (s) = s3 +(3 1 )s2 +(3 1 2 2 3 4)s+(126 2 ) 0 3 3 Uguagliando i coecienti dei termini di pari grado si ottiene il sistema 12 6 3 1 2 2 3 1 da cui si ottiene
1 2

= 1250 325 34 = = 30

= 27;

= 210, 3333;

= 172, 6667; L = [27; 210, 3333; 172, 6667]T . 16

Secondo metodo: Il secondo metodo proposto per il calcolo della matrice L dellosservatore si basa sul principio di dualit`. Tale metodo consiste sostanzialmente nel ricondurre il a problema dato in un problema duale nel quale si deve progettare una matrice di retroazione degli stati Kd con uno dei metodi gi` discussi in precedenza. Ricordiamo che il sistema duale a (Ad , bd , cT ) di un sistema (A, b, cT ) ` dato dalle relazioni Ad = AT , bd = c, cT = bT . e d d Calcoliamo quindi il guadagno di retroazione Kd per il sistema duale (Ad , bd , cT ) in d modo da piazzare gli autovalori del sistema retroazionato in 1 = 10; 2,3 = 10 5. A tal ne utilizziamo ad esempio il secondo metodo (o metodo diretto) per il calcolo del guadagno di retroazione: Kd = [1250 + 12; 325 + 4; 30 3]R = [1262; 329; 27]R dove R= gT gT Ad . . . gT An1 d ,

dove gT ` lultima riga della matrice M1 , essendo Md la matrice di controllabilit` del e a d sistema duale, che coincide con la trasposta della matrice di osservabilit` S del sistema a originario, quindi 1 2/3 4/3 0 gT = [0; 1/6; 1/3] M1 = ST(1) = 0 1/2 d 0 1/6 1/3 da cui si ricava (ricordando che Ad = AT ) 0 1/6 1/3 1 Kd = [1262; 329; 27]R = [27; 210.3333; 172.6667]. R= 0 0 1 0 3 e Dalla teoria della dualit` ` inne noto che L = KT quindi il guadagno dellosservatore ` ae d dato da 27 L = 210.3333 , 172.6667 che conferma quando calcolato tramite il primo metodo.

17

Verichiamo inne il procedimento calcolando (eventualmente con lausilio di MATLAB) gli autovalori della matrice di sistema Aoss dellosservatore progettato: 27 2 1 Aoss = A + LcT = 208.3333 0 0 ; 172.6667 0 3 Aoss=A+L*C; eig(Aoss) ans = -10.0000 + 5.0000i -10.0000 - 5.0000i -10.0000 Domanda 3 Per determinare la funzione di trasferimento G(s) tra lingresso u e luscita y applichiamo la nota formula G(s) = cT (sI A)1 b. Occorre dapprima calcolare linversa della matrice s 2 1 0 ; det(sI A) = p(s) (sI A) = 2 s 0 0 s+3 che ` calcolabile tramite la formula della matrice aggiunta e s(s + 3) 2(s + 3) s 1 1 2(s + 3) s(s + 3) 2 (sI A)1 = Adj(sI A) = p(s) p(s) 2 0 0 s 4 da cui si ottiene inne G(s) = Note: s(s + 3) s(s + 3) s = 3 = 2 . 2 4s 12 p(s) s + 3s s 4

18

1. Data la struttura delle matrici di ingresso e di uscita b, cT ` in questo caso immediato e notare che lunico elemento di Adj(sI A) utile ai ni del calcolo di G(s) ` quello e in posizione (1; 1) per cui era possibile evitare il calcolo di tutta la matrice aggiunta e limitarsi a determinare solo lelemento in posizione (1; 1). Considerazioni di questo genere sono utili ogni volta che siano presenti degli elementi nulli nelle matrici b e cT . 2. La presenza di una cancellazione zero-polo cio` di una semplicazione tra numeratore e e denominatore indica una situazione di non completa controllabilit`/osservabilit`. a a 3. Ricordando che la funzione di trasferimento di un generico sistema coincide con la funzione di trasferimento ottenuta dalla parte completamente controllabile e completamente osservabile del sistema, e considerando che il sistema dato ` gi` fornito in e a forma di Kalman di controllabilit` ed ` completamente osservabile si ha che a e G(s) = cT (sI A11 )1 b1 ; cT = [1; 0]. 1 1 Il vantaggio risiede in questo caso nel fatto che la matrice da invertire ha dimensioni (2 2) invece che (3 3). 4. La funzione di trasferimento G(s) pu` essere immediatamente ricavata tramite il coo mando MATLAB ss2tf nel seguente modo. [n,d]=ss2tf(A,B,C,0,1) n = 0 1 3 0 d = 1 3 -4 -12 dove n e d sono vettori MATLAB che contengono i coecienti del numeratore e denominatore della funzione di trasferimento (digitare help ss2tf per maggiori dettagli sul comando). Per eliminare eventuali fattori comuni tra numeratore e denominatore si pu` utilizzare il comando minreal ottenendo la funzione di trasferimento in forma o ridotta: [n,d]=minreal(n,d) n = 0 1 0 d = 1.0000 0.0000 -4.0000 19

Domanda 4 Un sistema ` BIBO stabile se tutti i poli della funzione di trasferimento hanno parte reale e strettamente negativa. Nel caso in esame si ha G(s) = s2 s 4

che ha poli in 2 quindi il sistema non ` BIBO stabile. e Analogamente, si dice che un sistema ` BIBO stabile se gli autovalori della parte controle labile e osservabile del sistema sono a parte reale strettamente negativa. Nel caso in esame la matrice relativa alla parte controllabile e osservabile del sistema ` data da e A11 = 0 2 2 0

i cui autovalori sono 2 per cui si conclude nuovamente che il sistema non ` stabile in senso e BIBO.

20

4 Esercizio
dato il seguente sistema di controllo

d(s) + r(s) + C(s) G1(s) + G2(s)

y(s)

con
G1 ( s ) = 1 ; s (1 + s 10) G2 (s) = 0 .1 s (1 + s 100)

Il sistema retroazionato deve essere stabile e deve soddisfare contemporaneamente le seguenti specifiche: - avere un errore di velocit 1 %; - avere una pulsazione di taglio c pari a 0.8 rad/s. Dire se ci pu essere ottenuto con uno, laltro, con tutti e due o con nessuno dei compensatori C1(s) e C2(s) delle forme seguenti:

C1 ( s) =

1 + s (11 ) ; 1 + s 1

C 2 (s) =

1+ s 2 1 + s ( 2 2 )

in cui siano dimensionati opportunamente i parametri 1 > 1, 1 > 0, 2 > 1, 2 > 0. (Per la soluzione dellesercizio sono accettabili i risultati, le precisioni e le conclusioni che si ottengono usando diagrammi di Bode approssimati, lineari a tratti).

21

4.1 Soluzione
Sia G ( s ) = G1 ( s ) G2 ( s ) = . s (1 + s 10)(1 + s 100) Poich G(s) di tipo 2 (ovvero ha due poli nellorigine), lerrore di velocit nullo, purch il sistema retroazionato sia asintoticamente stabile.
2
Bode Diagrams

0.1

From: U(1) 100 50 0 -50 -100 -150

Phase (deg); Magnitude (dB)

-200 -250 -300

-150

-200

To: Y(1)

-250

-300

-350

-400 10-1

100

101

102

103

Frequency (rad/sec)

In assenza di compensatore, la pulsazione di taglio c pu essere approssimativamente calcolata dallandamento della G(s) alle basse frequenze, imponendo: 0.1 c 0.316 rad/s =1 2 c 22

(si pu confrontare il valore approssimato con quello esatto, ricavabile dal diagramma di Bode determinato con Matlab, riportato in figura). Il modulo di G(s) nella pulsazione di taglio desiderata (pari a 0.8 rad/s) vale 0.1 G ( j 0.8) = 0.15625 = 16.12 dB 0.8 2 mentre la fase vale circa 185o.1 Per soddisfare la specifica imposta, necessario quindi inserire una rete anticipatrice (ovvero utilizzare un compensatore della forma C2(s)), che faccia aumentare di 16.12 dB il modulo della funzione danello in 0.8 rad/s (per portare la pulsazione di taglio nel valore desiderato) e che contemporaneamente garantisca un recupero di fase di almeno 5o per ottenere lasintotica stabilit del sistema retroazionato. Il compensatore della forma C1(s) non adatto allo scopo, poich corrisponde ad una rete attenuatrice, che come tale non pu comportare laumento del guadagno della funzione danello (ovvero della sua pulsazione di taglio), bens soltanto una sua riduzione. Per completezza, si riporta una possibile scelta per il compensatore C2(s) (anche se non strettamente richiesto dallesercizio): 1 + 8.75s C 2 (s) = 8.75 s 1+ 16 corrispondente a 2 = 16, 2 = 0.114 rad/s (ovvero a m = 16, = 8.75 , considerando la rete 1 + s anticipatrice espressa come: ). Con tale compensatore si ottengono: 1+ s m c = 0.8 rad/s e margine di fase pari a circa 53o.

La fase pu essere valutata dal diagramma di Bode, ovvero calcolata come 0.8 0.8 o (G ( j 0.8) ) = atan atan 180 100 10 23

5 Esercizio
dato il seguente sistema di controllo

d(s) + r(s) + C(s) G1(s) + G2(s)

y(s)

con
G1 ( s ) = 5 ; s (1 + s 5) G2 ( s) = 1 s (1 + s 50)

Il sistema retroazionato deve essere stabile e deve soddisfare contemporaneamente le seguenti specifiche: - avere un errore di velocit 2 %; - avere una pulsazione di taglio c pari a 20 rad/s. Dire se ci pu essere ottenuto con uno, laltro, con tutti e due o con nessuno dei compensatori C1(s) e C2(s) delle forme seguenti:

C1 ( s) =

1 + s (11 ) ; 1 + s 1

C 2 (s) =

1+ s 2 1 + s ( 2 2 )

in cui siano dimensionati opportunamente i parametri 1 > 1, 1 > 0, 2 > 1, 2 > 0. (Per la soluzione dellesercizio sono accettabili i risultati, le precisioni e le conclusioni che si ottengono usando diagrammi di Bode approssimati, lineari a tratti).

24

5.1 Soluzione
2 . s (1 + s 10)(1 + s 100) Poich G(s) di tipo 1 (ovvero ha un polo nellorigine), lerrore di posizione nullo, purch il sistema retroazionato sia asintoticamente stabile. Sia G ( s ) = G1 ( s ) G2 ( s ) =
Bode Diagrams
From: U(1) 40 20 0 -20 -40 -60

Phase (deg); Magnitude (dB)


To: Y(1)

-80 -100 -120

-50

-100

-150

-200

-250

-300 10-1

100

101

102

103

Frequency (rad/sec)

In assenza di compensatore, la pulsazione di taglio c pu essere approssimativamente calcolata imponendo: 2 =1 c

c 2 rad/s

25

(si pu confrontare il valore approssimato con quello esatto, ricavabile dal diagramma di Bode determinato con Matlab, riportato in figura). Il modulo di G(s) nella pulsazione di taglio desiderata (pari a 0.5 rad/s) vale 2 G ( j 0.5) = 4 = 12 dB 0.5 mentre la fase vale circa 93o. Per soddisfare le specifiche date, necessario diminuire il modulo della funzione danello fino a portare la pulsazione di taglio dal valore attuale di 2 rad/s a quello desiderato di 0.5 rad/s; in corrispondenza di tale pulsazione, la fase della funzione danello tale da garantire lasintotica stabilit del sistema retroazionato, con un ottimo margine di fase. Si pu utilizzare allora un compensatore della forma C1(s), corrispondente ad una rete attenuatrice, scegliendo i parametri 1 , 1 , in modo da garantire alla pulsazione di 0.5 rad/s una diminuzione del guadagno danello di 12 dB. Il compensatore C2(s) non ovviamente adatto allo scopo, poich corrisponde ad una rete anticipatrice, che comporta un aumento del guadagno (e quindi della pulsazione di taglio). Per completezza, si riporta una possibile scelta per il compensatore C1(s) (anche se non strettamente richiesto dallesercizio): 1 + 25s C 2 (s) = 1 + 100 s corrispondente a 2 = 4, 2 = 0.01 rad/s (ovvero a m = 4, = 100 , considerando la rete 1+ s m ). Con tale compensatore si ottengono: anticipatrice espressa come: 1 + s c = 0.5 rad/s e margine di fase pari a circa 83o.

26

6 Esercizio
dato il seguente sistema di controllo

d(s) + r(s) + C(s) G1(s) + G2(s)

y(s)

con
G1 ( s ) = 20 ; s (1 + s 10) G2 ( s ) = 0 .1 (1 + s 100)

Il sistema retroazionato deve essere stabile e deve soddisfare contemporaneamente le seguenti specifiche: - avere un errore di posizione 1 %; - avere una pulsazione di taglio c pari a 0.5 rad/s. Dire se ci pu essere ottenuto con uno, laltro, con tutti e due o con nessuno dei compensatori C1(s) e C2(s) delle forme seguenti:

C1 ( s) =

1 + s (11 ) ; 1 + s 1

C 2 (s) =

1+ s 2 1 + s ( 2 2 )

in cui siano dimensionati opportunamente i parametri 1 > 1, 1 > 0, 2 > 1, 2 > 0. (Per la soluzione dellesercizio sono accettabili i risultati, le precisioni e le conclusioni che si ottengono usando diagrammi di Bode approssimati, lineari a tratti).

27

6.1 Soluzione
. s (1 + s 5)(1 + s 50) Poich G(s) di tipo 2 (ovvero ha due poli nellorigine), lerrore di velocit nullo, purch il sistema retroazionato sia asintoticamente stabile.
2
Bode Diagrams

Sia G ( s ) = G1 ( s ) G2 ( s ) =

From: U(1) 100 50 0 -50 -100 -150 -200

Phase (deg); Magnitude (dB)

-150

-200

To: Y(1)

-250

-300

-350

-400 10-1

100

101

102

103

Frequency (rad/sec)

In assenza di compensatore, la pulsazione di taglio c pu essere approssimativamente calcolata dallandamento della G(s) alle basse frequenze, imponendo: 5
2 c

=1

c 2.236 rad/s

28

(si pu confrontare il valore approssimato con quello esatto, ricavabile dal diagramma di Bode determinato con Matlab, riportato in figura). Il modulo di G(s) nella pulsazione di taglio desiderata (pari a 20 rad/s) vale 5 1 G ( j 20) 2 = 3.125 10 3 = 50.1 dB 20 5 20 mentre la fase vale circa 278o. Per soddisfare le specifiche date, sarebbe necessario aumentare il modulo della funzione danello fino a portare la pulsazione di taglio dal valore attuale di 2.236 rad/s a quello desiderato di 20 rad/s, e contemporaneamente recuperare almeno 98o in corrispondenza di tale pulsazione, per garantire lasintotica stabilit del sistema retroazionato. Nessuno dei due compensatori proposti (n il loro contemporaneo utilizzo) pu consentire il soddisfacimento della specifica data. C1(s) corrisponde infatti ad una rete attenuatrice che, come tale, comporta una attenuazione del modulo della funzione danello (e quindi una diminuzione della pulsazione di taglio) e nessun recupero di fase. C2(s) corrisponde ad una rete anticipatrice che da sola pu comportare un recupero di fase pari al massimo a 90o (per ), ovvero insufficiente a garantire lasintotica stabilit del sistema retroazionato. (Per soddisfare le specifiche date dovrebbero essere inserite pi reti anticipatrici, ed eventualmente un opportuno guadagno per portare la pulsazione di taglio esattamente nel valore richiesto).

29

7 Esercizio
dato il seguente sistema di controllo

d(s) + r(s) + C(s) G1(s) + G2(s)

y(s)

con
G1 ( s ) = 80 ; ( s + 16) G2 (s) = 1 ( s + 0.8)

Determinare un compensatore C(s) tale che il sistema retroazionato, oltre ad essere stabile, soddisfi alle seguenti specifiche: sia astatico rispetto al disturbo d costante, abbia un errore di velocit esattamente uguale a 1%, abbia un margine di fase m 45 o , la pulsazione di taglio c sia tale che 7 c 8 rad/s.

7.1 Soluzione
Affinch il sistema retroazionato sia astatico al disturbo d costante, necessario inserire un polo nellorigine nel blocco C(s), che si trova a monte del punto di ingresso del disturbo stesso. Il sistema complessivo sul ramo diretto, G(s) = C(s) G1(s) G2(s), diventa cos di tipo 1 e, come tale, garantisce che il sistema retroazionato abbia errore di velocit finito (non nullo).

30

Affinch tale errore sia esattamente uguale a 1%, necessario scegliere il guadagno K del compensatore in modo che G(s) abbia guadagno stazionario pari a 100, ovvero deve valere: 80 K = 100 16 0.8 da cui : K = 16.

Nella figura sottostante riportato il diagramma di Bode (ottenuto con Matlab) della 16 80 1 . La pulsazione di taglio vale circa funzione danello risultante, data da: s s + 16 s + 0.8 8.4 rad/s, ed il sistema retroazionato risulterebbe instabile (la fase della funzione danello in 8.4 rad/s vale 200o circa).
Bode Diagrams

From: U(1) 100

50

Phase (deg); Magnitude (dB)

-50

-100

-50

-100

To: Y(1)

-150

-200

-250

-300 10-2

10-1

100

101

102

Frequency (rad/sec)

31

Per soddisfare le specifiche date su margine di fase e pulsazione di taglio, necessario inserire una coppia di reti anticipatrici, per recuperare almeno 70o attorno a 7.5 rad/s, ed una rete attenuatrice per abbassare il modulo della funzione danello ottenuta e riportare cos c fra 7 e 8 rad/s, come richiesto. Una possibile scelta per le reti anticipatrici data da: C a (s) = 1 + 0.026 s 1 + 0.3s 1 + 0.065s 1 + 0.06 s

Inserendo tali reti, la fase della funzione in 7.5 rad/s vale circa 120o, mentre il modulo sale a circa 15 dB. La rete attenuatrice, scelta per abbassare il modulo di tale quantit, data da: Ci ( s ) = 1 + 2s 1 + 11s

Con linserimento di tale rete, tutte le specifiche vengono soddisfatte, ottenendo in particolare c = 7.7 rad/s e m = 55 o , come si pu ricavare dal diagramma di Bode della funzione danello complessiva risultante, riportato in figura.

32

Bode Diagrams

From: U(1) 100

50

Phase (deg); Magnitude (dB)

-50

-50

-100

To: Y(1)

-150

-200

-250 10-3

10-2

10-1

100

101

102

Frequency (rad/sec)

8 Esercizio
dato il seguente sistema di controllo

d(s) + r(s) + C(s) G1(s) + G2(s)

y(s)

33

con
G1 ( s ) = 1 ; ( s + 10) G2 ( s ) = 25 ( s + 0.5)

Determinare un compensatore C(s) tale che il sistema retroazionato, oltre ad essere stabile, soddisfi alle seguenti specifiche: sia astatico rispetto al disturbo d costante, abbia un errore di velocit minore o uguale a 1%, abbia un margine di fase m 45 o , la pulsazione di taglio c sia tale che 3 c 4 rad/s.

8.1 Soluzione
Affinch il sistema retroazionato sia astatico al disturbo d costante, necessario inserire un polo nellorigine nel blocco C(s), che si trova a monte del punto di ingresso del disturbo stesso. Il sistema complessivo sul ramo diretto, G(s) = C(s) G1(s) G2(s), diventa cos di tipo 1 e, come tale, garantisce che il sistema retroazionato abbia errore di velocit finito (non nullo). Affinch tale errore sia minore o uguale a 1%, necessario scegliere il guadagno K del compensatore in modo che G(s) abbia guadagno stazionario almeno pari a 100, ovvero deve valere: 25 K 100 10 0.5 da cui : K 20.

Nella figura sottostante riportato il diagramma di Bode (ottenuto con Matlab) della funzione danello risultante scegliendo per K il valore minimo ammesso (cio 20), data da: 20 1 1 . La pulsazione di taglio vale circa 6.4 rad/s, ed il sistema retroazionato s s + 10 s + 0.5 risulterebbe instabile (la fase della funzione danello in 6.4 rad/s vale 210o circa).

34

Bode Diagrams

From: U(1) 100

50

Phase (deg); Magnitude (dB)

-50

-100

-50

-100

To: Y(1)

-150

-200

-250

-300 10-2

10-1

100

101

102

Frequency (rad/sec)

Per soddisfare le specifiche date su margine di fase e pulsazione di taglio, necessario inserire una coppia di reti anticipatrici, per recuperare almeno 55o attorno a 3.5 rad/s (ove attualmente la fase vale circa 190), ed una rete attenuatrice per abbassare il modulo della funzione danello ottenuta e portare cos c fra 3 e 4 rad/s, come richiesto. Una possibile scelta per le reti anticipatrici data da: C a (s) = 1 + 0.5s 1 + 0.6 s 1 + 0.16 s 1 + 0.15s

35

Inserendo tali reti, la fase della funzione in 3.5 rad/s vale circa 123o, mentre il modulo sale a circa 23 dB. La rete attenuatrice, scelta per abbassare il modulo di tale quantit, data da: Ci ( s ) = 1 + 1.4 s 1 + 20 s

Con linserimento di tale rete, tutte le specifiche vengono soddisfatte, ottenendo in particolare c = 3.4 rad/s e m = 46 o , come si pu ricavare dal diagramma di Bode della funzione danello complessiva risultante, riportato in figura.
Bode Diagrams
From: U(1) 100

50

Phase (deg); Magnitude (dB)


To: Y(1)

-50

-100

-50

-100

-150

-200

-250

-300 10-3

10-2

10-1

100

101

102

Frequency (rad/sec)

36

9 Esercizio
dato il seguente sistema di controllo

d(s) + r(s) + C(s) G1(s) + G2(s)

y(s)

con
G1 ( s ) = 1 ; s ( s + 4) G2 ( s ) = 5 ( s + 0 .2 )

Determinare un compensatore C(s) tale che il sistema retroazionato, oltre ad essere stabile, soddisfi alle seguenti specifiche: sia astatico rispetto al disturbo d costante, abbia un errore di velocit minore o uguale a 10%, abbia un margine di fase m 45 o , la pulsazione di taglio c sia tale che 0.1 c 0.2 rad/s.

9.1 Soluzione
Il sistema retroazionato risulta gi astatico al disturbo d costante, poich il blocco G1(s), che si trova a monte del punto di ingresso del disturbo, ha un polo nellorigine. Il sistema complessivo sul ramo diretto, G(s) = C(s) G1(s) G2(s), di tipo 1 e, come tale, garantisce che il sistema retroazionato abbia errore di velocit finito (non nullo). Affinch tale errore sia minore o uguale a 10%, necessario scegliere il guadagno K del

37

compensatore in modo che G(s) abbia guadagno stazionario almeno pari a 50, ovvero deve valere: 5K 10 4 0.2 da cui : K 1.6

Bode Diagrams
From: U(1) 100

50

-50

Phase (deg); Magnitude (dB)


To: Y(1)

-100

-150

-50

-100

-150

-200

-250

-300 10-3

10-2

10-1

100

101

102

Frequency (rad/sec)

Nella figura soprastante riportato il diagramma di Bode (ottenuto con Matlab) della funzione danello risultante scegliendo per K il valore minimo ammesso (cio 1.6), data da: 1 5 1.6 . La pulsazione di taglio vale circa 1.4 rad/s, ed il sistema s ( s + 4) s + 0.2

38

retroazionato risulterebbe instabile (la fase della funzione danello in 1.4 rad/s vale 190o circa). Per soddisfare le specifiche date su margine di fase e pulsazione di taglio, sufficiente inserire una o pi reti attenuatrici, per abbassare la pulsazione di taglio fra 0.1 e 0.2 rad/s, ove la fase tale da garantire il margine di fase richiesto. In particolare, poich in 0.1 rad/s la fase vale circa 120o ed il modulo circa 39 dB, inserendo ad esempio il seguente compensatore, corrispondente ad una coppia di reti attenuatrici: (1 + 70s ) 2 C ( s) = (1 + 700s )(1 + 600s ) tutte le specifiche vengono soddisfatte, ottenendo in particolare c = 0.1 rad/s e m = 47 o , come si pu ricavare dal diagramma di Bode della funzione danello complessiva risultante, riportato in figura.
Bode Diagrams
From: U(1) 150 100 50 0 -50 -100 -150

Phase (deg); Magnitude (dB)


To: Y(1)

-50

-100

-150

-200

-250

-300 10-5

10-4

10-3

10-2

10-1

100

101

102

Frequency (rad/sec)

39