Chapter 1 Rappresentazione nello spazio degli stati La modellazione di un sistema lineare di ordine n, fornisce un insieme di equazioni differenziali che una volta trasformate nel dominio discreto, possono essere rappresentate in forma di stato discreta { xk+1 = Φ x k + Γ u k y k = C x k + D u k Supponendo che il sistema in questione possegga n u entrate e n y uscite, le matrici Φ, Γ, C, D avranno le seguenti dimensioni Φ n n Γ n nu C ny n D ny n u ed i vettori colonna x, u ed y avranno invece dimensione x n 1 u nu 1 y ny 1 Il sistema è rappresentabile graficamente come indicato in figura (1.1). u D x + y u Sistema y Γ z + 1 C + + Φ Figure 1.1: Sistema lineare (sinistra), Sistema lineare rappresentato in funzione della matrici di stato Φ, Γ, C e D (destra) October 18, 2011 ing. Ivan Furlan 1
Riassunto capitolo 1 SUPSI-DTI 2 ing. Ivan Furlan October 18, 2011
Chapter 2 Controllore di stato Controllabilità I sistemi controllabili sono quei sistemi in cui tutte le variabili di stato x possono essere portate ad un valore desiderato tramite la grandezza in entrata u. Per questi sistemi è di conseguenza possibile posizionare tutti gli autovalori della matrice Φ Γ K ad un volare desiderato tramite un appropriata matrice K di retroazione. La controllabilità di un sistema può essere accertata verificando che il rango della matrice di controllabilità C = Γ, Φ Γ, Φ 2 Γ,..., Φ n 1 Γ sia pieno, e quindi pari all ordine del sistema n. La matrice di controllabilità possiede dimensioni: C n (n nu ) Lo spazio controllabile, cioè la regione dello spazio degli stati all interno della quale è possibile portare gli stati x del sistema tramite un appropiata entrata u, corrisponde a spazio controllabile = {C v v R n n u }, Il rango della matrice di controllabilità può essere determinato in Matlab come segue rango_ctrb=rank(ctrb(phi,gamma)); Attenzione: Se il sistema non risulta controllabile, allora il numero di poli (zeri della funzione di trasferimento G(z) = Y (z)/u(z)) sarà inferiore rispetto al numero degli autovalori λ della matrice Φ (zeri del polinomio caratteristico det (λ I Φ)). Infatti gli autovalori non controllabili non appaiano al denominatore della funzione di trasferimento. La ragione fisica di questo fatto é la seguente: gli autovalori non controllabili non sono influenzabili dall entrata u del sistema e perció non possono entrare in gioco nel calcolo dell uscita y in funzione dell entrata u. Progettazione del controllore di stato Il sistema controreazionato con un controllore di stato è rappresentato in figura (2.1). Questo tipo di controllore non garantisce errore allo stato finito nullo. La matrice K possiede dimensioni e si trova risolvendo il seguente problema K nu n det (λ I (Φ Γ K)) = p(λ) dove p(λ) è un polinomio scelto che possiede come zeri gli n autovalori desiderati. October 18, 2011 ing. Ivan Furlan 3
Riassunto capitolo 1 SUPSI-DTI r+ u Sistema y K x Figure 2.1: Controllore di stati semplice In Matlab il problema può essere risolto per mezzo dell utilizzo dei seguenti comandi % Calcolo del controllore di stato K = place(phi,gamma,poli_desiderati); % oppure acker se sistema SISO (n_u=n_y=1) Progettazione del controllore di stato con precompensazione statica (caso n y = n u ) Il sistema controreazionato con un controllore di stato con precompensazione statica dell errore allo stato finito è rappresentato in figura (2.2). Questo tipo di controllore, solo in caso di assenza r k precomp + u Sistema y K x Figure 2.2: Controllore di stati con precompensazione statica dell errore allo stato finito disturbi e conoscenza perfetta dei parametri del sistema, garantisce un errore allo stato finito nullo. La matrice K possiede dimensioni e si trova risolvendo il seguente problema K nu n det (λ I (Φ Γ K)) = p(λ) dove p(λ) è un polinomio scelto che possiede come zeri gli n autovalori (desiderati esattamente come per il caso del controllore di stato senza precompensazione statica). La matrice di precompensazione k precomp risulta essere la seguente e possiede dimensioni k precomp = ( ) 1 (C D K) (I + Γ K Φ) 1 Γ + D k precompny n u ed è quindi quadrata, siccome stiamo analizzando il caso n y = n u. 4 ing. Ivan Furlan October 18, 2011
SUPSI-DTI Riassunto capitolo 1 In Matlab il problema può essere risolto per mezzo dell utilizzo dei seguenti comandi % Calcolo del controllore di stato n=size(phi,1); K = place(phi,gamma,poli_desiderati); % oppure acker se sistema SISO (n_u=n_y=1) % Calcolo della precompensazione statica K_precomp=inv((C-D*K)*inv(eye(n)+Gamma*K-Phi)*\Gamma+D) Progettazione del controllore di stato con parte integrale, (caso n y = n u = 1) Il sistema controreazionato con un controllore di stato con parte integrale è rappresentato in figura (2.3). Questo tipo di controllore garantisce un errore allo stato finito nullo ad un ingresso r x T e + + z 1 K e u Sistema y K x Figure 2.3: Controllore di stati con parte integrale gradino (sopporta disturbi di tipo costante e incertezza sui parametri). L aggiunta dell integratore origina l aumento di uno dell ordine totale del sistema da controllare, che passa quindi da n ad n + 1. Lo stato aggiuntivo, come mostrato in figura (2.3), é denominato con il simbolo x e. La matrice K ext è cosi composta K ext = K K e e possiede dimensioni Si trova risolvendo il seguente problema K ext1 (n+1). det (λ I (Φ ext Γ ext K ext )) = p(λ) dove p(λ) è un polinomio scelto che possiede come zeri gli n + 1 autovalori desiderati e Φ 0 Φ ext = n 1 C T 1 Γ Γ ext = D T In Matlab il problema può essere risolto per mezzo dell utilizzo dei seguenti comandi, si ricorda che la variabile n rappresenta l ordine del sistema (o numero di stati). % Calcolo del controllore di stato n=size(phi,1); % n equivale all ordine del sistema October 18, 2011 ing. Ivan Furlan 5
Riassunto capitolo 1 SUPSI-DTI Phi_ext = Phi zeros(n,1);-c*t 1; Gamma_ext = Gamma;-D*T; K_ext = place(phi_ext,gamma_ext,poli_desiderati,polo_aggiuntivo); % oppure acker K=K_ext(1:n); Ke=K_ext(n+1); 6 ing. Ivan Furlan October 18, 2011
Chapter 3 Osservatore di stato Osservabilità L osservabilità è la proprietà di un sistema che permette di determinare tutti i suoi stati con precisione desiderata in un tempo determinato a partire dalla misura dell entrata u e dell uscita y del sistema stesso. Per questi sistemi è di conseguenza possibile posizionare tutti gli autovalori della matrice Φ L C ad un volare desiderato tramite un appropriata matrice L di retroazione. L osservabilità di un sistema può essere accertata verificando che il rango della matrice di osservabilità C C Φ O = C Φ 2. C Φ n 1 sia pieno, e quindi pari all ordine del sistema n. La matrice di osservabilità possiede dimensioni: O (ny n) n Lo spazio non osservabile, cioè la regione dello spazio degli stati all interno della quale non è possibile stimare gli stati x del sistema in funzione di u e y, corrisponde a spazio non osservabile = {v R n O v = 0}, cioè lo spazio nullo della matrice O. Infatti se le variabili di stato si trovano all interno dello spazio non osservabile, l uscita del sistema y sarà nulla e di conseguenza l osservatore non può funzionare in quanto manca l informazione y. Il rango della matrice di osservabilità può essere determinato in Matlab come segue rango_obsv=rank(obsv(phi,c)); Attenzione: Se il sistema non risulta osservabile, allora il numero di poli (zeri della funzione di trasferimento G(z) = Y (z)/u(z)) sarà inferiore rispetto al numero degli autovalori λ della matrice Φ (zeri del polinomio caratteristico det (λ I Φ)). Infatti gli autovalori non osservabili non appaiano al denominatore della funzione di trasferimento. La ragione fisica di questo fatto é la seguente: gli autovalori non osservabili non influenzano l uscita y del sistema e perció non possono entrare in gioco nel calcolo dell uscita y in funzione dell entrata u. October 18, 2011 ing. Ivan Furlan 7
Riassunto capitolo 1 SUPSI-DTI u Sistema y ˆx Osservatore Figure 3.1: Sistema e osservatore degli stati Osservatore di stato completo L osservatore di stato completo possiede ordine pari all ordine del sistema sistema di cui si vogliono conoscere gli stati, cioè n. Esso viene collegato come indicato in figura (3.1). Le equazioni di stato dell osservatore sono La matrice L possiede dimensioni uk ˆx k+1 = Φ L C ˆx k +Γ L D, L uk ˆx k = I ˆx k +0, 0 y k e si trova risolvendo il seguente problema L n ny det (λ I (Φ L C)) = p(λ) dove p(λ) è un polinomio scelto che possiede come zeri gli n autovalori desiderati per la convergenza dell errore di stima. Di regola vanno scelti un potenza di 10 degli autovalori scelti per il controllore di stato (che equivale a 10 volte più grandi in modulo nel dominio continuo). In Matlab il problema può essere risolto per mezzo dell utilizzo dei seguenti comandi % Calcolo della matrice L dell osservatore di stato L = place(phi,c,poli_desiderati) ; y k Osservatore di stato ridotto L osservatore di stato ridotto possiede ordine pari all ordine del sistema di cui si vogliono conoscere gli stati meno il numero di uscite indipendenti, cioè n n y. Esso viene collegato come indicato in figura (3.1). Le equazioni di stato dell osservatore ridotto sono v k+1 = ˆΦ uk v k +ˆΓ y k ˆx k = Ĉ v k + ˆD uk y k 8 ing. Ivan Furlan October 18, 2011
SUPSI-DTI Riassunto capitolo 1 dove dove ˆΦ = L 1, I P Φ P 1 0 I ˆΓ = L 1, I P Γ, P Φ P 1 I L1 Ĉ = P 1 0 I ˆD = P 1 0 I 0 L 1 P = I 0 D I C T I 0 D I La matrice L 1 possiede dimensioni e si trova risolvendo il seguente problema Le dimensioni delle matrici Φ 22, Φ 21 sono L 1,(n ny) n y det (λ I (Φ 22 L 1 Φ 12 )) = p(λ) Φ 22,(n ny ) (n n y ) Φ 12,ny (n n y ) e si ottengono per mezzo della seguente uguaglianza Φ11 Φ 12 Φ 21 Φ 22 = P Φ P 1 Mentre p(λ) è un polinomio scelto che possiede come zeri gli n n y autovalori desiderati per la convergenza dell errore di stima. Di regola vanno scelti un potenza di 10 degli autovalori scelti per il controllore di stato (che equivale a 10 volte più grandi in modulo nel dominio continuo). In Matlab il problema può essere risolto per mezzo dell utilizzo dei seguenti comandi % Calcolo della matrice L1 dell osservatore ridotto di stato P=C;T; % matrice T scelta in modo tale che P abbia rango pieno n_y=size(c,1); % n_y equivale al numero di uscite del sistema Phi_mod=P*Phi*inv(P); Phi_12=Phi_mod(1:n_y,n_y+1:end); Phi_22=Phi_mod(n_y+1:end,n_y+1:end); L1 = place(phi_22,phi_12,poli_desiderati) ; October 18, 2011 ing. Ivan Furlan 9
Riassunto capitolo 1 SUPSI-DTI 10 ing. Ivan Furlan October 18, 2011
Chapter 4 Anelli di controllo comprendenti sia il controllore che l osservatore Gli anelli di controllo comprendenti sia controllore di stato (nelle tre versioni viste) ed osservatore sono rappresentati in figura (4.1). Attenzione, la prima variante di controllore vista (controllore di stato senza precompensazione statica) non è stata disegnata, in quanto equivalente alla seconda variante (controllore di stato con precompesnazione statica) con k precomp = 1. r k precomp + u Sistema y K ˆx Osservatore r x T e + u + z 1 K e Sistema y K ˆx Osservatore Figure 4.1: Anelli di controllo comprendenti sia il controllore che l osservatore October 18, 2011 ing. Ivan Furlan 11
Riassunto capitolo 1 SUPSI-DTI 12 ing. Ivan Furlan October 18, 2011
Chapter 5 Forme compatte: controllore ed osservatore di stato in un unico blocco Gli anelli di controllo comprendenti sia controllore di stato (nelle tre versioni viste) ed osservatore possono essere implementati in forma compatta come in figura figura (5.1). Di seguito le equazioni r Controllore e Osservatore u Sistema y Figure 5.1: Circuito completo: sistema da controllare, controllore di stato ed osservatore di stato in forma compatta di stato per le differenti versioni possibili del controllore ed osservatore in forma compatta. Forma compatta del controllore di stato con precompensazione statica e osservatore completo rk ˆx k+1 = (Φ L C Γ K + L D K) ˆx k +(Γ L D) k precomp, L y k rk u k = K ˆx k +k precomp, 0 Notare che ponendo k precomp = 1 si ottiene la prima versione di controllore di stato vista. Forma compatta del controllore di stato con parte integrale e osservatore completo ˆxk+1 x e,k+1 ˆxk = Φ c x e,k ˆxk u k = C c x e,k rk + Γ c y k rk + D c y k October 18, 2011 ing. Ivan Furlan 13 y k
Riassunto capitolo 1 SUPSI-DTI con Φ c = Φ L C Γ K + L D K (Γ L D) Ke 0 1 0 L Γ c = T T q C c = K K e D c = 0 0 Il simbolo q rappresenta un vettore riga atto alla selezione dell uscita sulla quale si vuole integrare. Esempio: sistema con due uscite, ma si desidera integrare sulla prima, q diventa q = 1 0 Esercizio: ricavare le forme compatte con osservatore ridotto! 14 ing. Ivan Furlan October 18, 2011