CAPITOLO 4
METODO DI DETUNING – CRITERI INTEGRALI
4.1 Introduzione
Studi più recenti riguardanti la taratura di controllori P.I.D. nel caso S.I.S.O. propongono un approccio diverso alla risoluzione del problema. Si basano, infatti su criteri di tipo integrale calcolando i parametri del P.I.D. in modo tale da minimizzare uno dei seguenti indici di ottimalità:
0
| ( ) | IAE e t dt
∞
= ∫
0
| ( ) | ITAE t e t dt
∞
= ∫
2 0
( ) ISE e t dt
∞
= ∫
2 0
( ) ITSE te t dt
∞
= ∫
2 2 2
0
( ) IT SE t e t dt
∞
= ∫
Il principale svantaggio di questi criteri è che essi richiedono la conoscenza della funzione di trasferimento dell’impianto.
Il criterio
ISEè forse il più noto ed è stato spesso utilizzato nell’ambito del controllo dei processi perché l’integrale considerato è valutabile in modo piuttosto semplice nel dominio della frequenza.
Questo criterio infatti richiede semplicemente la minimizzazione della funzione obiettivo:
2 0
( ) ( , ) 1 ( ) ( )
2
j
j
J e t dt E s E s ds
θ θ j
π
∞ ∞
− ∞
= ∫ = ∫ −
dove con θ si indicano i coefficienti del controllore P.I.D.
Benché l’indice di ottimalità
ISEfornisca un metodo semplice per il calcolo dei parametri del regolatore, presenta lo svantaggio non trascurabile che la sua minimizzazione può tradursi in una risposta al gradino che presenti una sovraelongazione iniziale relativamente piccola, ma un lungo tempo di assestamento dovuto al fatto che il criterio
ISEpesa tutti gli errori allo stesso modo, indipendentemente dall’istante di tempo a cui sono riferiti. Un miglioramento nella risposta al gradino può essere ottenuta utilizzando un criterio di ottimalità pesato con il tempo, come l’
ITSEo l’ IT SE , poiché ciò consente di attribuire un peso minore all’inevitabile errore iniziale.
2Si è osservato sperimentalmente che il criterio
ITSEconsente di ottenere prestazioni abbastanza simili a quelle ottenute con il criterio ITAE .
La metodologia di tuning descritta in questo capitolo propone una fusione della tecnica di detuning,
ampiamente descritta nel capitolo precedente con l’utilizzo di questo tipo di indici di ottimalità.
Più precisamente, l’idea è di utilizzare ancora una volta il metodo di autotuning di Astrom e Hagglund per determinare delle approssimazioni del guadagno e della frequenza critici da cui ricavare le costanti di Ziegler e Nichols per tutti i loop considerati indipendentemente e di modificare poi tali costanti attraverso un fattore di detuning non più calcolato in accordo alla regola di Luyben, ma in maniera tale da minimizzare uno dei criteri integrali.
Si è osservato che questo metodo risulta più pratico in quanto presenta il vantaggio di calcolare il fattore di detuning ottimale in tempi brevi senza dover partire da un valore molto vicino ad esso, cosa che era necessaria nel caso della tecnica descritta in precedenza affinché l’algoritmo convergesse in tempi ragionevoli.
4.2 Descrizione dettagliata
Si descrive ora più in dettaglio la procedura proposta Essa prevede cinque passi fondamentali.
1. Calcolo dei parametri di Ziegler e Nichols per ogni singolo loop.
Tali parametri devono essere calcolati secondo le formule:
2.2 2 1.2
ui ZNi
ZNi
ui
k K
τ π
ω
=
=
dove K
uie ω
uirappresentano rispettivamente il guadagno e la pulsazione critici relativi all’i-esimo loop considerato indipendentemente dagli altri.
Tali valori critici vengono determinati utilizzando la tecnica di autotuning sviluppata da Astrom e Hagglung.
Essa prevede l’introduzione di un relais nell’anello di controllo, cosa che, nella maggior parte dei sistemi di interesse determina l’insorgere di una oscillazione permanente.
Alla fine il segnale di controllo sarà un’onda quadra di ampiezza pari a quella del relais utilizzato ed avrà un periodo approssimativamente pari a quello critico. L’uscita del sistema a regime avrà un andamento sinusoidale. Se si indica con l’ampiezza dell’onda generata in uscita, è possibile calcolare il guadagno critico dalla formula:
A
4
ui
k h π A
= dove
hè l’ampiezza del relais.
Mediante questo tipo di test il segnale di controllo resta limitato per tutta la durata dell’esperimento, per cui il rischio di instabilità è notevolmente ridotto.
2. Si assume quale valore iniziale per il fattore di detuning F
(1)= . 1
3. I guadagni di tutti i controllori vengono calcolati dividendo i guadagni di Ziegler e Nichols
K
CiK
ZNiper il fattore di detuning al passo k-esimo:
( ) ZNi Ci
k
k K
= F
I parametri relativi alla componente integrale di tutti i controllori PI, τ
Iivengono calcolati moltiplicando i corrispondenti parametri di Ziegler e Nichols per F :
( ) Ii ZNi
F
kτ = τ
Dunque il medesimo fattore F viene applicato a tutti gli anelli.
Maggiore è il valore di , più il sistema è stabile, ma la risposta al gradino diventa più lenta. I parametri che si ottengono in questo modo realizzano un compromesso fra robustezza e velocità nei sistemi multivariabili.
F
Il fattore deve essere vincolato a restare maggiore di 1 durante tutti i passi di iterazione.
4. Si calcola il valore di una delle seguenti funzioni obiettivo:
1 0
| ( ) |
m i i
e t dt
∞
∑∫
=nel caso in cui si utilizzi il criterio IAE o alternativamente:
1 0
| ( ) |
m i i
t e t dt
∞
∑∫
=per il criterio ITAE , oppure (ISE):
2 1 0
( )
m i i
e t dt
∞
∑∫
=o ancora (ITSE):
2 1 0
( )
m i i
te t dt
∞
∑∫
=o infine ( IT SE ):
22 2 1 0
( )
m i i
t e t dt
∞
∑∫
=dove m rappresenta il numero degli anelli che caratterizzano il sistema, ed
( ) ( )
i i i
e t = − r y t
in cui rappresenta il set-point relativo all’i-esimo anello, e rappresenta l’i-esima uscita del sistema.
ri
y t
i( )
5. Si fa variare il fattore di detuning e si ritorna al passo 3 finché la funzione obiettivo scelta non assuma valore minimo.
F
4.3 Implementazione
Digitando la parola DCI nella Command Window di Matlab si manda in esecuzione il programma che realizza il “tuning” dei controllori P.I.D. in un sistema T.I.T.O. in accordo alla procedura sopra descritta.
Se ne riporta il codice, costituito dalle chiamate di due sole funzioni:
% metodo di detuning - criteri integrali K=zntune;
F=Ftune(K);
La prima funzione invocata è la zntune, già descritta in dettaglio nel precedente capitolo, che restituisce una matrice 2x3 contenente nella prima riga le costanti K ,
P1K
I1e K
D1corrispondenti ai guadagni proporzionale, integrale e derivativo relativi al primo anello, e nella seconda le costanti
2
K
P, K
I2e K
D2relative al secondo anello. Come già detto tali parametri sono stati calcolati in accordo alle regole di Ziegler e Nichols considerando i due anelli l’uno indipendentemente dalle interazioni esercitate dall’altro.
In questo modo si ottiene una prima approssimazione dei parametri del controllore.
La funzione Ftune , prendendo in ingresso la matrice dei parametri di Ziegler e Nichols, si occupa del calcolo del fattore di detuning F che minimizza la funzione obiettivo scelta.
Se ne riporta il codice:
function F= Ftune(ZN)
% calcola il fattore di detuning che minimizza la funzione obiettivo
kp1=ZN(1,1);
ki1=ZN(1,2);
kp2=ZN(2,1);
ki2=ZN(2,2);
g1=0;
g2=0;
F=1;
% lancia la simulazione
opt=simset('solver','ode15s','SrcWorkspace’,'Current');
[tout,xout,yout]=sim('LuybenW2',[0,100],opt);
% calcola F errprec=inf;
errat=max(yout);
while(errat<errprec) F=F+0.1;
[tout,xout,yout]=sim('LuybenW2',[0,100],opt);
plot(L1(:,1),L1(:,2),'c') hold on
plot(L2(:,1),L2(:,2),'c--') errprec=errat;
errat=max(yout);
end F=F-0.1;
% effettua la simulazione utilizzando il valore calcolato per F opt=simset('solver','ode15s','SrcWorkspace','Current');
[tout,xout,yout]=sim('LuybenW2',[0,100],opt);
% disegna l'andamento delle uscite del sistema plot(L1(:,1),L1(:,2),'b','LineWidth',1.5)
hold on
plot(L2(:,1),L2(:,2),'b--','LineWidth',1.5)
Tale funzione, per prima cosa inserisce i valori iniziali nei parametri del modello Simulink utilizzato per le simulazioni, che è quello riportato in figura 4.1.
Quindi esegue la prima simulazione che consente di calcolare il valore iniziale della funzione obiettivo, valore che viene memorizzato nella variabile errat.
Figura 4.1
Il blocco che compare con il nome di Calcolo indice di qualità, è atto appunto alla valutazione dell’indice di ottimalità scelto.
Nel caso in cui il criterio che si intende utilizzare sia l’ IAE oppure l’ ITAE , tale blocco è realizzato
al suo interno come mostrato in figura 4.2.
Figura 4.2
L’ingresso pow rappresenta la potenza con la quale si intende pesare il tempo, e quindi viene posto a 0 per l’ IAE e ad 1 per l’ ITAE .
Nel caso in cui si vogliano utilizzare invece i criteri
ISE,
ITSEo IT SE , il blocco adibito al
2calcolo dell’indice di qualità assume la forma indicata in figura 4.3.
Figura 4.3
L’unica differenza rispetto al blocco precedentemente descritto è rappresentata dalla presenza del blocchetto che eleva al quadrato l’errore al posto di quello che ne rileva il valore assoluto.
Anche in questo caso l’ingresso pow rappresenta la potenza alla quale si intende elevare il tempo, e pertanto può assumere i valori 0, 1 e 2.
Si continua ora con la descrizione della funzione Ftune.
Dopo aver effettuato la prima simulazione del modello (ovvero quella in cui si considera il fattore di
detuning pari a 1), si ha un ciclo “while” in cui si incrementa F e si effettua la simulazione del
modello utilizzando per il fattore di detuning il nuovo valore ottenuto. Tale simulazione consente di
calcolare il nuovo valore dell’indice di ottimalità, di cui si tiene traccia nella variabile errat, mentre
nella variabile errprec viene memorizzato l’errore relativo alla precedente simulazione. Ad ogni
iterazione si effettua il grafico delle due uscite del sistema.
L’uscita dal ciclo avviene quando il valore dell’indice di ottimalità utilizzato cessa di decrescere.
4.4 Simulazioni e confronti
Esempio 1Si prende in considerazione il seguente sistema, noto come processo di Wood e Berry:
3
7 3
12.8 18.9
16.7 1 21 1
( )
6.6 19.4
10.9 1 14.4 1
s s
s s
e e
s s
G s
e e
s s
− −
− −
⎛ − ⎞
⎜ + + ⎟
⎜ ⎟
=⎜ − ⎟
⎜ + + ⎟
⎝ ⎠
Nelle figure 4.4 e 4.5 sono mostrate le uscite di tale sistema controllato con un controllore P.I., quando sul primo canale viene applicato un gradino di ampiezza unitaria, al variare di F.
Gli andamenti che nelle figure successive risultano più marcati rappresentano le uscite rispettivamente sul primo e sul secondo canale, corrispondenti al valore del fattore di detuning che minimizza la funzione obiettivo utilizzata, in questo caso l’ITAE.
Uscita y1
Figura 4.4
Uscita y2
Figura 4.5
Confrontiamo ora gli andamenti delle uscite che si ottengono utilizzando i diversi criteri di ottimalità.
Per quanto riguarda la prima uscita del modello, che rappresenta la risposta ad un gradino di ampiezza unitaria, si sono ottenuti gli andamenti riportati in figura 4.6.
Figura 4.6
Per quanto riguarda l’uscita sul secondo canale, invece le simulazioni hanno mostrato i risultati di figura 4.7.
Figura 4.7
Osservando i grafici appare evidente che il miglior compromesso fra sovraelongazione iniziale e tempo di assestamento è ottenuto mediante il criterio ITAE, con il quale si trova un fattore di detuning:
2.9 F =
A questo punto si pongono a confronto gli andamenti ottenuti con tale criterio con quelli ottenuti utilizzando le tecniche di tuning descritte nei precedenti capitoli.
Le risposte ottenute con il metodo di tuning proposto sono piuttosto simili a quelle ottenute con la tecnica di Luyben, presentando rispetto a queste ultime un lieve miglioramento in termini di overshoot e tempo di assestamento.
Da un confronto con gli andamenti risultanti nel caso sequenziale si evince un tempo di salita inferiore controbilanciato da un netto miglioramento in termini di overshoot.
Quanto detto appare più chiaro dall’osservazione delle figure 4.8 e 4.9.
Figura 4.8
Figura 4.9
Esempio 2
Si prende in considerazione un sistema a tre ingressi e tre uscite, noto come “colonna di Ogunnaike- Ray”:
2.6 3.5
6.5 3 1.2
9.2 9.4
0.66 0.61 0.0049
6.7 1 8.64 1 9.06 1
1.11 2.36 0.012
3.25 1 5 1 7.09 1
34.68 46.2 0.87(11.61 1)
8.15 1 10.9 1 (3.89 1)(18.8 1)
s s s
s s s
s s
e e e
s s s
e e e
s s s
e e s e
s s s s
− − −
− − −
− −
⎛ − − ⎞
⎜ + + + ⎟
⎜ ⎟
⎜ − − ⎟
⎜ + + + ⎟
⎜ ⎟
− +
⎜ ⎟
⎜ + + + ⎟
⎝ ⎠
−s
+
Nella figura seguente sono mostrate le uscite di tale sistema controllato con un controllore P.I., quando sul primo canale viene applicato un gradino di ampiezza unitaria, al variare del fattore di detuning F.
Gli andamenti che nelle figure successive risultano più marcati rappresentano le uscite rispettivamente sul primo sul secondo e sul terzo canale, corrispondenti al valore del fattore di detuning che minimizza la funzione obiettivo utilizzata, in questo caso l’indice di ottimalità ITAE.
Il fattore di detuning calcolato risulta essere:
2.5 F =
Uscita y1
Figura 4.10
Uscita y2
Figura 4.11
Uscita y3
Figura 4.12
4.5 Analisi di robustezza al rumore
Le prestazioni di un sistema in ciclo chiuso devono essere valutate non solo considerando la bontà della risposta al comando, ma anche la capacità di reiezione dei disturbi
Si consideri un sistema S.I.S.O. con un ingresso ed una uscita , chiuso in anello con un controllore .
( )
g s r s ( ) y s ( )
( ) c s
Supponendo che sia presente un disturbo sull’uscita e del rumore di misura , l’espressione dell’uscita risulta essere:
( )
d s n s ( )
( ) ( ) 1 ( ) ( )
( ) ( ) ( ) ( )
1 ( ) ( ) 1 ( ) ( ) 1 ( ) ( )
g s c s g s c s
y s r s d s n s
g s c s g s c s g s c s
= + −
+ + +
La quantità:
( ) 1
1 ( ) ( s s = g s c s
+ )
prende il nome di “sensitività”, mentre la quantità:
( ) ( ) ( ) 1 ( ) (
c s g s t s = g s c s
+ )
è detta “sensitività complementare” , in quanto vale la relazione:
( ) ( ) 1 s s + t s =
Lavorando a frequenze medio-basse, tipiche dei segnali di riferimento, è possibile assumere che il rumore di misura sia nullo, per cui, affinché l’uscita segua il riferimento, ovvero:
( ) ( ) y s →r s
occorrerebbe verificare le due condizioni:
( ) 0 ( ) 1 s s t s
→
→
Alle alte frequenze invece, non è più possibile trascurare il rumore di misura, per cui occorre, affinché esso venga reiettato, che:
( ) 0 t s → il che comporta:
.
( ) 1
s s →
È possibile definire una “sensitività” anche nel caso multivariabile.
Si ha infatti:
[ ]
1( ) ( ) ( ) S s = I + G s C s
−dove I è la matrice identica, è il sistema M.I.M.O. che si sta analizzando e il suo controllore multiloop.
( )
G s C s ( )
Analogamente si può definire la “sensitività complementare”, che è anche la matrice di trasferimento a ciclo chiuso:
[ ]
1( ) ( ) ( ) ( ) ( ) T s = G s C s I + G s C s
− EsempioSi vuole ancora una volta prendere in considerazione il sistema di Wood e Berry e calcolarne la matrice di sensitività .
Quindi si considerano gli elementi diagonali di tale matrice e se ne costruiscono i diagrammi di Nyquist e di Bode al fine di vedere come essi variano al variare di F.
La funzione Matlab sensit calcola la matrice di sensitività del sistema di Wood e Berry controllato ed estrae da questa le sensitività relative ai vari anelli (elementi diagonali).
Da queste ultime si ricavano le sensitività complementari.
Se ne riporta il codice:
function [s11, s22, t11, t22]= sensit(k)
%calcola le sensitività e le sensitività complementari relative ai vari anelli
%si calcolano per i ritardi le loro approssimazioni di Pade al secondo ordine [nrit1,drit1]=pade(1,2);
[nrit3,drit3]=pade(3,2);
[nrit7,drit7]=pade(7,2);
NUM={12.8*nrit1,18.9*nrit3; 6.6*nrit7,19.4*nrit3};
DEN={conv([16.7 1],drit1),conv([21 1],drit3); conv([10.9 1],drit7),conv([14.4 1],drit3)};
G=tf(NUM,DEN); %matrice di trasferimento del sistema
NUMC={[k(1) k(2)],0; 0, [k(3) k(4)]};
DENC={[1 0],1; 1, [1 0]};
C=tf(NUMC,DENC); %matrice di trasferimento del controllore
S=1/(eye(2,2)+G*C); %matrice di sensitività
s11=S(1,1); %sensitività relativa al primo anello s22=S(2,2); %sensitività relativa al secondo anello
t11=1-S(1,1); %sensitività complementare relativa al primo anello t22=1-S(2,2); %sensitività complementare relativa al secondo anello
Dopo aver calcolato le approssimazioni di Pade’ dei vari ritardi , costruisce la matrice di trasferimento del sistema e quella del controllore. Quindi le moltiplica e calcola la matrice di sensitività. Ne estrae gli elementi diagonali che rappresentano le sensitività relative ai vari anelli.
Sottraendo queste dall’unità si ottengono le sensitività complementari.
Le figure seguenti mostrano come variano i diagrammi di Nyquist e di Bode di tali funzioni di trasferimento al variare di F.
S(1,1) dove
S s ( ) = + [ I G s C s ( ) ( ) ]
−1Figura 4.13
Figura 4.14
Vediamo ora gli ingrandimenti relativi ad S(1,1)
Figura 4.15
Figura 4.16
S(2,2) dove
S s ( ) = + [ I G s C s ( ) ( ) ]
−1Figura 4.17
Figura 4.18
Consideriamo gli ingrandimenti dei grafici relativi a S(2,2)
Figura 4.19
Figura 4.20
T(1,1) =1-S(1,1) dove
T s ( ) = G s C s I ( ) ( ) [ + G s C s ( ) ( ) ]
−1Figura 4.21
Figura 4.22
Ingrandimenti relativi a T(1,1)
Figura 4.23
Figura 4.24
T(2,2) =1-S(2,2) dove
T s ( ) = G s C s I ( ) ( ) [ + G s C s ( ) ( ) ]
−1Figura 4.25
Figura 4.26
Ingrandimenti relativi a T(2,2)
Figura 4.27
Figura 4.28
4.6 Diagramma di Nyquist di un sistema multivariabile
Il criterio di stabilità di Nyquist può essere applicato anche ai processi multivariabili.
La funzione di cui occorre analizzare il diagramma di Nyquist, in questo caso è
( ) det[ ( ) ( )]F s = I+G s C s
dove I è la matrice identica, G(s) il processo multivariabile considerato e C(s) il controllore multiloop.
Il numero di volte per cui il grafico di tale funzione circonda l’origine sul piano di Nyquist è uguale alla differenza fra il numero di zeri e il numero di poli a parte reale positiva di F(s).
Se il processo in ciclo aperto è stabile, nessuna delle funzioni di trasferimento componenti la matrice G(s) presenta poli a parte reale positiva.
Anche i controllori P.I. costituenti C(s) sono stabili a ciclo aperto.
Ovviamente i poli di F(s) coincidono con i poli di G(s)C(s), per cui è possibile dedurre che se il processo è stabile a ciclo aperto, la funzione F(s) non ha poli a parte reale positiva, perciò il numero di volte per cui il grafico di F(s) circonda l’origine rappresenta il numero di zeri a parte reale positiva.
Dunque è possibile enunciare il criterio di stabilità di Nyquist per sistemi multivariabile stabili in anello aperto: “Se il diagramma di Nyquist della funzione
F s( )=det[I+G s C s( ) ( )]circonda l’origine, allora il sistema a ciclo chiuso è instabile.”
Anzichè considerare la funzione F(s) sopra definita, risulta più comodo definire una nuova funzione:
( ) 1 det( ( ) ( ) W s = − + I+G s C s
e considerarne il grafico sul piano di Nyquist. Nel caso in cui si stia considerando un sistema stabile in anello aperto e tale grafico circondi il punto (-1,0), allora il sistema a ciclo chiuso è instabile.
Si vuole ora considerare il sistema di Wood e Berry e costruire il diagramma di Nyquist di W(s), al fine di vedere come esso si modifica al variare del fattore di detuning F.
A tale scopo è stata realizzata la seguente funzione Matlab che prendendo in ingresso le costanti di tuning caratterizzanti il controllore C(s) restituisce la funzione di trasferimento W(s) relativa al processo di Wood e Berry:
function W= Wnyq(k)
%si calcolano per i ritardi le loro approssimazioni di Pade’ al secondo ordine [nrit1,drit1]=pade(1,2);
[nrit3,drit3]=pade(3,2);
[nrit7,drit7]=pade(7,2);
%matrice di trasferimento del sistema
NUM={12.8*nrit1,18.9*nrit3; 6.6*nrit7,19.4*nrit3};
DEN={conv([16.7 1],drit1),conv([21 1],drit3); conv([10.9 1],drit7),conv([14.4 1],drit3)};
G=tf(NUM,DEN);
%matrice di trasferimento del controllore NUMC={[k(1) k(2)],0; 0, [k(3) k(4)]};
DENC={[1 0],1; 1, [1 0]};
C=tf(NUMC,DENC);
S=eye(2,2)+G*C;
% calcolo di determinante della matrice S s11=S(1,1);
s22=S(2,2);
s12=S(1,2);
s21=S(2,1);
DET=s11*s22-s21*s12;
% calcolo di W(s) W=-1+DET;
È possibile osservare in figura 4.29 come si modifica il diagramma di Nyquist di W(s) al variare di F.
Figura 4.29