Tipologia Esercizio (modellistica) CONTOLLI AUTOMATICI I 03AKWcc Esercizio. (tema d'esame del //007) Nel sistema in figura, la tensione e u (t) è l ingresso e la tensione v (t) della resistenza è l uscita. L + v e u i L C v C v. Scrivere le equazioni di stato, mettendo prima in evidenza quali sono le variabili di stato scelte. Come di consueto si scelgono le variabili di stato in base a considerazioni energetiche: correnti negli induttori e tensioni sui condensatori (purché linearmente indipendenti fra di loro e con gli ingressi). Quindi si hanno le seguenti tre variabili di stato: x=[i L v v. Ora, per scrivere le equazioni di stato, si considerano le equazioni costitutive dei singoli elementi e gli equilibri di tensioni alle maglie e di correnti ai nodi. Per l'induttore si ha L d i L =v =e v L u, da cui la prima equazione di stato: d i L = L v L e. u d v Per il primo condensatore si ha C =i =v = e u v d v, da cui la seconda equazione di stato: = C v C e u. d v Per il secondo condensatore si ha C =i L, da cui la terza equazione di stato: L'equazione d'uscita è data da: v =e u v. Quindi si ha: d v = i C L. v = v e u. Stefano Malan, Dipartimento di Automatica e Informatica, Politecnico di Torino
Volendo scrivere le equazioni in forma matriciale si ottiene: [ d i L t 0 0 L d v 0 [i 0 L t L v C v d v 0 0 C [ eu C 0 [i L v =[0 0 v e u v [ =[ Esercizio. (tema d'esame del 3/7/007) Nel sistema in figura, la corrente i u (t) è l ingresso e la tensione v (t) della resistenza è l uscita. v i u L L C v C i i i C. Scrivere le equazioni di stato, mettendo prima in evidenza quali sono le variabili di stato scelte. Come di consueto si scelgono le variabili di stato in base a considerazioni energetiche: correnti negli induttori e tensioni sui condensatori (purché linearmente indipendenti fra di loro e con gli ingressi). Quindi si hanno le seguenti tre variabili di stato: x=[v c i i. Ora, per scrivere le equazioni di stato, si considerano le equazioni costitutive dei singoli elementi e gli equilibri di tensioni alle maglie e di correnti ai nodi. Per il condensatore si ha C d v c =i c=i u i i, da cui la prima equazione di stato: d v c = C i C i C i u. Stefano Malan, Dipartimento di Automatica e Informatica, Politecnico di Torino
Per il primo induttore si ha L d i =v L=v c v =v c i c =v c i u i i, da cui la seconda equazione di stato: d i = L v c L i L i L i u. Per il secondo induttore si ha L d i =v L =v c v =v c i c =v c i u i i, da cui la terza equazione di stato: d i = L v c L i L i L i u. L'equazione d'uscita è data da: v = i c = i u i i. Quindi si ha: v = i i i u. Volendo scrivere le equazioni in forma matriciale si ottiene: [d vc 0 C C d i [vc C i L L L d i i L L L [ iu L L c v =[0 [v [ i t i u i =[ Tipologia Esercizio (analisi di stabilità, risposte nel tempo e in frequenza) Esercizio. (tema d'esame del 0/9/005) 0 0 ẋ=[a x [ 0 b 3 0 u t 4 3 b y =[ 3 0 x t. Determinare l'insieme dei valori dei parametri (a,b) che garantisce la stabilità asintotica del sistema.. Verificato che i valori a = 3, b = stabilizzano il sistema, determinare l espressione analitica dell'uscita y(t) ad un ingresso u(t) a gradino di ampiezza 0.5. Primo punto. Per studiare la stabilità asintotica del sistema, al variare dei due parametri (a,b), si calcola il polinomio caratteristico della matrice A, che descrive il sistema stesso: I A = a 0 0 0 b 3 4 3 b = a [ b 9 Essendo il polinomio caratteristico già fattorizzato, si ricavano subito le sue radici =a, condizione di stabilità asintotica: a 0, b 0.,3 =b±j3 e la Stefano Malan, Dipartimento di Automatica e Informatica, Politecnico di Torino 3
Secondo punto. I valori a = 3, b = soddisfano la precedente condizione e, quindi, stabilizzano asintoticamente il sistema. Date le matrici di stato 0 0 A=[ 3 0 3 B=[ 0 4 3 C=[ 3 0 D=[0 inserite in Scilab o in Matlab, tramite i comandi syslin e sstf (Scilab) o ss e tf (Matlab) si ottiene la funzione di trasferimento G s = 4s 6s s 3 5s che, moltiplicata per la trasformata di Laplace dell'ingresso U s =0.5 6s 30 s, fornisce la trasformata di Laplace dell'uscita Y s = s 3s s 4 5s 3 6s. Tramite i comandi pfss (Scilab) o 30s residue (Matlab) si ottiene la scomposizione in fratti semplici dell'uscita Y s = 0.3667 0.564 s s 3 0.63s.53 s, che può essere antitrasformata fornendo la soluzione: s 0 Esercizio. (tema d'esame del 3//006) y=[ 0.3667 0.564e 3t 0.9487e t cos 3t 0.8543. 0 a b ẋ=[0 0 [ 0 0 a b x u y =[ 3 x. Determinare l'insieme dei valori dei parametri (a,b) che garantisce la stabilità asintotica del sistema.. Verificato che i valori a = 3, b = stabilizzano il sistema, determinare l espressione analitica dell'uscita y(t) date le condizioni iniziali x(0) = [ T e con ingresso nullo: u(t) = 0. Primo punto. Per studiare la stabilità asintotica del sistema, al variare dei due parametri (a,b), prima si calcola il polinomio caratteristico della matrice A, che descrive il sistema stesso: I A = 0 a b 0 a b = 3 a b a b poi se ne studia la stabilità con il metodo di outh. Si costruisce la tabella di outh: 3 a b a b a b a b 0 a b e si impone che gli elementi della prima colonna siano tutti dello stesso segno, per cui si ottiene la condizione: a b 0. Stefano Malan, Dipartimento di Automatica e Informatica, Politecnico di Torino 4
Secondo punto. I valori a = 3, b = soddisfano la precedente condizione e, quindi, stabilizzano asintoticamente il sistema. Date le matrici di stato 0 A=[0 0 C=[ 3 0 4 e considerando le condizioni iniziali x(0) = [ T come una fittizia matrice di ingresso B (con, inoltre, la matrice D=[0) e inserendole in Scilab o in Matlab, tramite i comandi syslin e sstf (Scilab) o ss e tf (Matlab) si ottiene direttamente la trasformata di Laplace dell'uscita Y s = 3s 4s 8 s 3 5s. Tramite i comandi pfss (Scilab) o s residue (Matlab) si ottiene la scomposizione in fratti semplici dell'uscita Y s = 0.7484 s 4.879 3.7484s 5.807 s, che può essere antitrasformata fornendo la soluzione: 0.09s 0.4099 Esercizio.3 (tema d'esame del 3/7/007) y =[ 0.7484 e 4.879t 9.56e 0.0605 t cos 0.6374 t.659. 0 a 0 b ẋ=[0 0 ax y =[ 0 x [ 3 u. Determinare l'insieme dei valori dei parametri (a,b) che garantisce la stabilità asintotica del sistema.. Verificato che i valori a =, b = 3 stabilizzano il sistema, date le condizioni iniziali x(0) = [ 5 3 T, determinare l ampiezza massima U dell'ingresso u(t)=u sin(4t), in modo che l'uscita a regime y r (t)=y sin(4t+φ) abbia ampiezza Y 0.5. Primo punto. Per studiare la stabilità asintotica del sistema, al variare dei due parametri (a,b), prima si calcola il polinomio caratteristico della matrice A, che A = descrive il sistema stesso: 0 a I b 0 a = 3 a b a poi se ne studia la stabilità con il metodo di outh. Si costruisce la tabella di outh: 3 b a a a b a 0 a e si impone che gli elementi della prima colonna siano tutti dello stesso segno, per cui si ottiene la condizione: a 0, b Secondo punto. I valori a =, b = 3 soddisfano la precedente condizione e, quindi, stabilizzano asintoticamente il sistema. Dato che il sistema è asintoticamente stabile, l'uscita transitoria, dovuta sia alle condizioni iniziali sia all'ingresso, tende asintoticamente a zero e, quindi, si può parlare di uscita a regime, la cui espressione è già riportata nel testo dell'esercizio. L'uscita a regime, inoltre, è dovuta solo all'ingresso e non alle condizioni iniziali. Stabilito ciò, dell'uscita a regime y r (t)=y sin(4t+φ) interessa la sua ampiezza Y e si vuole che sia Y 0.5. L'ampiezza Y la si ottiene Stefano Malan, Dipartimento di Automatica e Informatica, Politecnico di Torino 5
tramite la risposta in frequenza Y =U G j =4, dove G(s) è la funzione di trasferimento del sistema e ω=4 rappresenta la pulsazione della sinusoide d'ingresso. Date le matrici di stato 0 0 3 A=[0 0 B= [ 3 C=[ 0 D=[0 inserite in Scilab o in Matlab, tramite i comandi syslin e sstf (Scilab) o ss e tf (Matlab) si ottiene la funzione di 5 s 5 trasferimento G s = s 3 s e, tramite i comandi repfreq e dbphi (Scilab) o bode (Matlab), il valore 3s G j =4.009, da cui si ha Y =.009U 0.5 e, quindi, U 0.5/.009=0.4985. Tipologia Esercizio 3 (raggiungibilità, controllabilità, progetto della retroazione dagli stati) Esercizio 3. (tema d'esame del 3//006) 0 7 [ ẋ=[ 4 5 5 0 6x u 7 y =[ 0 5 x. È possibile progettare una legge di controllo in retroazione dagli stati u(t) = K x(t) in modo da imporre i seguenti autovalori λ = 3, λ = 4, λ 3 = 5? Se sì, calcolare i guadagni K. Date le matrici di stato 0 7 A=[ 6 4 5 B=[ 5 0 7 C=[ 0 5 D=[0 inserite in Scilab o in Matlab, tramite i comandi spec (Scilab) o eig (Matlab) si calcolano gli autovalori della matrice A: A ={.96, 4, 9.96}. Si nota subito che uno di questi autovalori coincide con quelli che si vogliono imporre mentre due sono sicuramente da modificare (di questi ultimi, uno è anche instabile). Quindi, tramite i comandi cont_mat (Scilab) o ctrb (Matlab) si calcola la matrice di raggiungibilità M e, tramite il comando rank (Scilab e Matlab), il suo rango: M 47 7 9 9 M =[ 7 3 47 =3 Dato che il sistema è completamente raggiungibile M =3=dim A =3, tramite i comandi ppol (Scilab) o place o acker (Matlab) si calcolano i guadagni K della legge di controllo: K =[.436 0.55, e si verifica che A B K ={ 3, 4, 5}. Stefano Malan, Dipartimento di Automatica e Informatica, Politecnico di Torino 6
Esercizio 3. (tema d'esame del 3/7/007) CONTOLLI AUTOMATICI I 03AKWcc 5 3 3 0 ẋ=[ 9 4 3 5 4 0 y =[6 3 6 x [4 u x [ u. È possibile progettare una legge di controllo in retroazione dagli stati u(t) = K x(t) in modo da imporre i seguenti autovalori λ =, λ = 3, λ 3 = 5, λ 4 = 6? Se sì, calcolare i guadagni K. Date le matrici di stato 5 3 3 0 A=[ 9 B=[ 4 3 5 4 0 C=[6 3 6 D=[ 4 inserite in Scilab o in Matlab, tramite i comandi spec (Scilab) o eig (Matlab) si calcolano gli autovalori della matrice A: A =},, 3, 4}. Si nota subito che due di questi autovalori coincidono con quelli che si vogliono imporre mentre due sono sicuramente da modificare. Quindi, tramite i comandi cont_mat (Scilab) o ctrb (Matlab) si calcola la matrice di raggiungibilità M e, tramite il comando rank (Scilab e Matlab), il suo rango: 3 7 5 3 7 5 M =[ M 4 8 6 = Dato che il sistema non è completamente raggiungibile M = dim A =4 occorre verificare se gli autovalori non raggiungibili (che non si possono modificare) sono contenuti o meno nell'insieme di quelli che si vogliono imporre. Per questo si calcola la forma canonica di Kalman di raggiungibilità e si isola la matrice di stato A N della parte non raggiungibile (Nota: esistono infinite rappresentazioni della forma canonica di Kalman di raggiungibilità, per cui i valori numerici della matrice A N dipendono dal software utilizzato e, a volte, anche dalla versione del software stesso; ciò che non cambia sono, ovviamente, gli autovalori), tramite i comandi contr (Scilab) o ctrbf (Matlab), e se ne calcolano gli autovalori: A N =[.477 0.373 A 4.548 4.753 N = 3, 4 Essendo uno degli autovalori non raggiungibili (λ = 4) non compreso nell'insieme degli autovalori che si vogliono imporre, non è possibile progettare la legge di controllo richiesta. Tipologia Esercizio 4 (osservabilità, ricostruibilità, progetto dello stimatore asintotico dello stato) Esercizio 4. (tema d'esame del 3//006) 0 7 ẋ=[ 4 5 5 0 6x [ u 7 y =[ 0 5 x. È possibile progettare uno stimatore asintotico dello stato imponendo opportuni autovalori? Se sì, calcolare i guadagni L. Stefano Malan, Dipartimento di Automatica e Informatica, Politecnico di Torino 7
Date le matrici di stato CONTOLLI AUTOMATICI I 03AKWcc 0 7 6 A=[ 4 5 B= 5 0 [ 7 C=[ 0 5 D=[0 inserite in Scilab o in Matlab, tramite i comandi spec (Scilab) o eig (Matlab) si calcolano gli autovalori della matrice A: A =}.96, 4, 9.96 }. Si nota subito che uno di questi autovalori è instabile e andrà, di conseguenza, modificato. Quindi, tramite i comandi obsv_mat (Scilab) o obsv (Matlab) si calcola la matrice di osservabilità M O e, tramite il comando rank (Scilab e Matlab), il suo rango: 0 5 3 0 6 =[ M O M 03 0 57 O = Dato che il sistema non è completamente osservabile M O = dim A =3 occorre verificare se gli autovalori non osservabili (che non si possono modificare) sono stabili o meno. Per questo si calcola la forma canonica di Kalman di osservabilità e si isola la matrice di stato A NO della parte non osservabile (Nota: esistono infinite rappresentazioni della forma canonica di Kalman di osservabilità, per cui, in generale, i valori numerici della matrice A NO dipendono dal software utilizzato e, a volte, anche dalla versione del software stesso; ciò che non cambia sono, ovviamente, gli autovalori; in questo esercizio, però, il sottospazio non osservabile è di dimensione e, quindi, la matrice A NO è uno scalare e coincide con l'autovalore non osservabile e non dipende dal software utilizzato), tramite i comandi unobs (Scilab) o obsvf (Matlab), e se ne calcolano gli autovalori: A NO =[ 4, A NO = 4. Essendo l'autovalore non osservabile già stabile, è possibile progettare lo stimatore asintotico, essendo il criterio fondamentale di scelta degli autovalori appunto la stabilità. Stabilito ciò, si impongono due autovalori a parte reale negativa, per esempio λ = 8, λ = 6, oltre a quello non modificabile, λ 3 = 4. Tramite i comandi stabil (Scilab, attenzione al segno della retroazione) o place (Matlab) si calcolano i guadagni L dello stimatore: L=[ 5.3333 0 6.3333 T, e si verifica che A L C ={ 8, 6, 4 }. (Nota: essendo il sistema non completamente osservabile, esistono infiniti guadagni L che impongono gli autovalori voluti, dato che gli elementi di L che moltiplicano gli stati non osservabili possono assumere qualunque valore; ciò che non cambia sono gli autovalori della matrice A L*C, che devono coincidere con quelli imposti) Esercizio 4. (tema d'esame del 3/7/007) 5 3 3 0 ẋ=[ 9 4 3 5 4 0 y =[6 3 6 x [4 u x [ u. È possibile progettare uno stimatore asintotico dello stato imponendo i seguenti autovalori: λ = 0+j, λ = 0 j, λ 3 = 0+j5, λ 4 = 0 j5? Se sì, calcolare i guadagni L. Date le matrici di stato 5 3 3 0 A=[ 9 B=[ 4 3 5 4 0 C=[6 3 6 D=[ 4 Stefano Malan, Dipartimento di Automatica e Informatica, Politecnico di Torino 8
inserite in Scilab o in Matlab, tramite i comandi spec (Scilab) o eig (Matlab) si calcolano gli autovalori della matrice A: A =},, 3, 4}. Si nota subito che tutti e quattro gli autovalori non coincidono con quelli che si vogliono imporre e che, quindi, sono sicuramente tutti da modificare. Quindi, tramite i comandi obsv_mat (Scilab) o obsv (Matlab) si calcola la matrice di osservabilità =[ M O e, tramite il comando rank (Scilab e Matlab), il suo rango: 6 3 6 6 6 6 6 M O M 9 58 46 30 30 0 4 4 O =4 Dato che il sistema è completamente osservabile M O =4=dim A =4, tramite i comandi ppol (Scilab) o place o acker (Matlab) si calcolano i guadagni L dello stimatore: L=[3449.0833 948.967 078.5000 4666.7500 T e si verifica che A L C ={ 0 j, 0 j, 0 j5, 0 j5}. Stefano Malan, Dipartimento di Automatica e Informatica, Politecnico di Torino 9