Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
2
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
1 Gestione ottima di centrali elettriche interconnesse.
s.a.
n
Pr = p i
i =1
0 p i PiM
3
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Il problema verr computato tramite matlab nel caso particolare in cui n=2 e con i
seguenti dati:
1.1 Esercizio:
p1 10
T
p1
l ( p, , ) = p1 + 0.5 p 2 + 3 + ( p1 + p 2 15) +
2 2 T
p 10
2
p
2
4
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Si calcola il gradiente e lo si impone uguale a zero per valutare i punti critici che
potrebbero essere di massimo o di minimo o di sella:
2 p 1 1 1 0 0
grad [l ( p, , )] = 1 + + = 0
p 2 1 0 0 1 1
1
un moltiplicatore di Lagrange scalare mentre = 2 ed in forma scalare si ha:
3
4
2 p1 + + 1 2 = 0
p2 + + 3 4 = 0
caso 1)
p1 + p 2 = 15
2 p1 + + 1 = 0 10
p1 = 10 p *
=
p + =0 1
5
p1 < 0
2
p1 + p 2 = 15 1 = 5
*
p 2 < 10 p = 10
1 15
p2 < 0
0
1 0, 2 = 3 = 4 = 0 1 =
*
0
0
Caso 2)
p1 + p 2 = 15
2 p1 + 2 = 0 0
p1 < 10 p *
=
p + = 0 2
2 15
p1 = 0
p1 + p 2 = 15 *2 = 15
p 2 < 10 p = 0
1 0
p2 < 0
15
2 0, 1= 3 = 4 = 0 2 =
*
0
0
5
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Caso 3)
p1 + p 2 = 15
2 p1 + = 0 5
p1 < 10 p + + = 0 p *
3 =
2 3 10
p1 < 0
p1 + p 2 = 15 *3 = 10
p 2 = 10 p = 10
1 0
p2 < 0
0
3 0, 1= 2 = 4 = 0 3 =
*
0
0
Caso 4)
p1 + p 2 = 15
2 p1 + = 0 15
p1 < 10 p + = 0 p 4* =
2 4 0
p1 < 0
p1 + p 2 = 15 *4 = 30
p 2 < 10 p = 0
2 0
p2 = 0
0
4 0, 1= 2 = 3 = 0 4* =
0
30
10 0 5 15
p1* = p 2* = p3* = p 4* =
5 15 10 0
1* = 5 *2 = 15 *3 = 10 *4 = 30
15 0 0 0
0 15 0 0
1 =
*
2 =
*
3 =
*
4 =
*
0 0 0 0
0 0 0 30
6
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
In questo caso lhessiano definito positivo per qualsiasi p, e le derivate seconde
sono costanti e positive per qualsiasi p.
2 0 2 c( p1 , p 2 ) 22 c( p1 , p 2 )
H l ( x , , ) = H l ( x , , ) = 2 > 0 , 1 = 2 > 0 =1> 0
0 1 p12 p 22
La funzione non crescente in ogni punto del dominio ma non si sa con precisione
quali sono i punti di minimo.
Per tale motivo facciamo una restrizione nellintorno dei punti critici lungo delle
autodirezioni opportune.
In questo caso basta prendere delle rette passanti per i punti critici stessi e da tale
analisi si evince che il punto di minimo vincolato il punto che ha il seguente valore
che segue, mentre tutti gli altri sono punti di sella:
5
p 3* =
10
*3 = 10
0
0
3 =
*
0
0
p2
p3*
p1
7
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Allo stesso risultato si giunge con lausilio di matlab attraverso un analisi di tipo
numerico ed in particolare utilizzando il comando matlab fmincon, che consente il
calcolo di minimo vincolato soggetto a vincoli lineari e non lineari di uguaglianza e
di disuguaglianza.
X=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS)
x=
5
10
fval =
8
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
78
exitflag =
out =
iterations: 3
funcCount: 15
stepsize: 1
algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
firstorderopt: 7.3343e-007
cgiterations: []
lambda =
grad =
10.0000
10.0000
Hessian =
1.3465 -0.6535
-0.6535 0.3390
Si ottenuto come minimo il vettore x=[5 10] dopo un numero di passi pari a 3 con
successo (lexitflag maggiore di zero indica che il metodo converge).
Il moltiplicatore di lagrange lambda=-10 , il grad=[10;10 ] lHessiano pari al
vettore Hessian=[1.3465 -0.6535;-0.6535 0.3390].
Nella pagina successiva verr inserito il codice matlab usato per la simulazione
numerica.
9
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
%Central_optim.m
%Gestione ottimale di centrali elettriche interconnesse
%Caso i=2 con (p1,p2) variabili appartenenti a R^2
%Condizione iniziale
cp0=[0;0];
%Vincolo di uguaglianza lineare
Aeq=[1 1];
Beq=15;
%Vincolo di disuguaglianza non lineare definito da un lower bound
% e da un upper bound
LB=[0 0]';
UB=[10 10]';
%Calcolo del minimo locale soggetto a vincoli di uguaglianza e di
%disuguaglianza
[x,fval,exitflag,out,lambda,grad,Hessian]=fmincon('fobbiettivo',cp0,[],[],Aeq,Beq,LB,UB)
10
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
B
AB
Rank A 2 B = n
M
N 1
A B
min uU U T QU F = [ B, AB L A N 1 B] R n N , N > n, u R N
s.a. dove b = x A N x0 R n
Fu = b Q = diag (Q1 , Q2 L Q N ) R N N semidefinita positiva
La soluzione ottima di questo problema data dal prodotto della pseudo inversa
minima destra, chiamata cos perch non una matrice rettangolare, quindi non
propriamente invertibile, riferita ad un minimo, e se premoltiplicata dalla matrice
F restituisce la matrice identica.
u * = F RM b con F RM = Q 1 F T ( FQF T ) 1
11
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Questa tipologia di problemi fa parte della classe dei problemi quadratici con vincoli
di uguaglianza sottospecicati, e questo e dovuto al fatto che vi sono pi incognite di
equazioni (N>n).
Adesso verr trattato un caso particolare per n=2 e per N=4.
2.1 Esercizio:
3
min u u 2 (i )
i =0
s.a.
0 1 0
x(n + 1) = x(n) + u (n)
1 1 1
10
x(0) = x 0 = 0, x(4) =
1
Risoluzione:
A=
0 1
1 1
B=
0
1
Mcont =
0 1
1 1
rc =
12
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
x0 =
0
0
N=
x4 =
10
1
b=
10
1
F=
2 1 1 0
3 2 1 1
Calcolo la ustar minima come il prodotto tra Frm e b, dove Frm la pseudo inversa minima destra
Frm =
0.3333 0.0000
-0.3333 0.3333
0.6667 -0.3333
-1.0000 0.6667
13
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
ustar =
3.3333
-3.0000
6.3333
-9.3333
14
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Molto spesso si vuole trovare il valore ottimo in una classe di problemi a partire da un certo
numero di dati sperimentali ( si voglia ad esempio stimare la mortalit o la natalit in una citt in un
determinato arco di anni a partire da dati ricavati statisticamente ) e questo pu essere ottenuto
mediante lutilizzo del metodo dei minimi quadrati o calcolo della matrice pseudo inversa sinistra.
Supponiamo di avere m vettori di dati sperimentali ad n componenti con m>n a cui corrispondono
m vettori di realizzazioni di n componenti.
Dati sperimentali:
k1 y1
k2 y2
con k i = (k i1 , k i 2 ,L, k in ), i = 1L m yi = ( f 1 (k i ), f 2 (k i ),L, f n (k i ))
M
km ym
A partire dai dati sperimentali si possono ottenere le stime che non coincidono con i dati
sperimentali, ma differiscono per un errore residuo.
Stime:
f 1 (k1 ) L f n (k1 ) x1 y1 1
L O M M = M Fx = b
f 1 (k m ) L f n (k m ) x n y m m
15
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Il problema di ottimizzazione associato diventa:
min xX T Q
Q R mm , R m
s.a. dove
F R mn , x R n , b R m , m > n
Fx = b
x ~ 0 0 ~
V = , Q = , F = (F I)
0 Q
~
min V X V T QV
s.a.
~
FV = b
Il fatto che m sia maggiore di n implica che il problema di ottimizzazione sia sovraspecificato, il
che significa che vi sono delle equazioni che sono combinazioni lineari di altre e quindi si ha che le
soluzioni sono
n p
con n numero di incognite e p rango della matrice. A partire da ci si pu dire
che lo scopo del problema, quello di trovare la soluzione interpolante che approssima in modo
migliore la nube di punti rappresentata dai dati sperimentali; un esempio di approssimazione ai
minimi quadrati nellambito controllistico rappresentato dalla identificazione di un modello a
partire dalla sua risposta in frequenza.
Tramite Matlab si verificato prima sperimentalmente e poi si ricavato numericamente il valore
della funzione di trasferimento associata ai dati della risposta
in frequenza.
3.1 Esercizio:
Data una funzione parametrica del 1 ordine parametrica, si vuole risalire ai valori del guadagno g
in continua e la costante di tempo che ottimizza i dati sperimentali della risposta in frequenza.
g
G (s) =
1+ s
Risoluzione:
Si risalito ai dati sperimentali tramite il comando freqs che ha dato in uscita la risposta in
frequenza del sistema da identificare e il numero di frequenze scelte per approssimare,
successivamente si risolto un problema di minimi quadrati.
16
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
I risultati dati da Matlab sono stati i seguenti:
Frequenze di interesse
W=
0.0100
0.3162
10.0000
Hreal =
1.9998
1.8182
0.0198
Himag =
-0.0200
-0.5750
-0.1980
F=
1.0000 -0.0002
0 0.0200
1.0000 -0.1818
0 0.5750
1.0000 -1.9802
0 0.1980
b=
1.9998
0.0200
1.8182
0.5750
0.0198
0.1980
17
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
xstar =
2.0000
1.0000
g=
2.0000
tau =
1.0000
Funzione di trasferimento
2
-----
s+1
18
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
3.2 Codice Matlab
19
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
xstar=inv(F'*Q*F)*F'*Q*b
%selezioniamo il guadagno in continua g e la costante di tempo tau
g=xstar(1,1)
tau=xstar(2,1)
%Il risultato coincide con la funzione di partenza
ns=g;
ds=[1 tau];
Gs=tf(ns,ds)
%Diagramma di Bode
bode(ns,ds)
grid on
20
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
4 Tecnica del piazzamento dei poli sul piano di Gauss.
E possibile influenzare il comportamento di un sistema a ciclo chiuso, assegnando i poli sul piano
complesso attraverso la tecnica del piazzamento dei poli.
Tale tecnica pu essere usata solo se il sistema di partenza disponibile alla retroazione di stato e se
completamente controllabile ed valida sia per sistemi SISO che per sistemi MIMO. In questa
sede tratteremo, per facilit, il caso in cui il sistema di partenza abbia un solo ingresso.
x& = Ax + bu
A R nn , x R n , u R, k R n
u (t ) = k T x(t )
La zona di convergenza a ciclo chiuso quella in blu, con lalgoritmo del piazzamento dei poli si
vuole costruire un controllore che abbia i poli nella regione segnata. Adesso si andranno ad elencare
i passi dellalgoritmo del piazzamento dei poli.
21
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
an
a
Si calcola PA ( ) = n + a1n 1 + L + a n e si ricava il vettore a =
n 1
i)
M
a
1
a n 1 a n 2 L a1 1
a n2 a n 3 L 1 0
ii) Siccome A completamente controllabile A = M M N N 0
a1 N N N M
1 0 0 L 0
n
iii) Si calcola il polinomio desiderato Pd ( ) = ( i ), = {1 2 L n }
i =1
dn
d n 1
e si ricava a =
M
d
1
a n 1 a n2 L a1 1 bT
a n2 a n 3 L 1 0 b T AT
iv) Si calcola T = M
T
M N N 0 b T ( AT ) 2
a1 N N N M M
1 T T n 1
0 0 L 0 b ( A )
v) Si calcola (T T ) 1
22
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Una volta esplicati i passi dellalgoritmo si pu passare alla formalizzazione del problema, andando
a scrivere il listato Matlab per il seguente sistema.
4.2 Esercizio:
2 0 0 1
Dato il sistema x& = 0 1 1 x + 1u andare a posizionare i poli a ciclo chiuso nellinsieme
0 0 3 1
= { 1, 1, 1}
Risoluzione:
A=
2 0 0
0 1 1
0 0 3
B=
1
1
1
Matrice di controllabilit
Mcont =
1 2 4
1 2 5
1 3 9
rcont =
23
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Il sistema completamente controllabile
Pilamda =
1 -6 11 -6
-6
11
-6
Pdes =
1 3 3 1
d=
1
3
3
Matrice antitrangolare (alla Toeplitz) che si pu costruire a partire dal vettore a di A
Phi =
11 -6 1
-6 1 0
1 0 0
To =
3 4 2
-4 -4 -3
1 1 1
24
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Toinv coincide con la matrice Matrice (TT)-1
Toinv =
-1 -2 -4
1 1 1
0 1 4
K il controllore cercato
K=
27
-8
-28
Ac la matrice controllata
Ac =
29 -8 -28
27 -7 -27
27 -8 -25
lambda =
-1.0001
-1.0000 + 0.0001i
-1.0000 - 0.0001i
-27
8
28
Ac1 =
29 -8 -28
27 -7 -27
27 -8 -25
lamda1 =
-1.0001
-1.0000 + 0.0001i
-1.0000 - 0.0001i
25
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Attraverso alcuni grafici si po vedere la posizione dei poli e degli zeri a ciclo aperto e quella che
hanno assunto a ciclo chiuso:
26
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
4.3 Codice Matlab
27
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
pzmap(sys)
title('Posizione dei poli e degli zeri a ciclo aperto')
legend('poli a ciclo aperto')
figure(2)
pzmap(sys1)
title('Posizione dei poli e degli zeri a ciclo chiuso')
legend('poli a ciclo chiuso','zeri a ciclo chiuso')
grid on
28
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
5 Teoria degli osservatori.
Dato un sistema S multivariabile, si dice osservatore lineare di stato un sistema lineare che stima lo
stato di S a partire dagli ingressi u (t ) e dalle uscite y (t ) .
Luso dellosservatore di stato dovuto essenzialmente al fatto che molto spesso, o le variabili di
stato sono non misurabili, o risulta dispendioso utilizzare un sensore dedicato, o la variabile di stato
pu non corrispondere ad una grandezza fisica dopo un cambiamento di base.
Inizialmente si pens di costruire losservatore connettendo lingresso di S allingresso
dellosservatore, ma poi ci rese conto che in questo modo si replicavano le dinamiche del sistema di
partenza e questo non consentiva di avere un controllo efficace: infatti se il sistema era instabile,
anche losservatore risultava instabile. Questa problematica port i ricercatori a cercare un modello
alternativo di osservatore di stato e fu proprio DAVID LUENBERGER, in un suo scritto dal titolo
INTRODUCTION TO DYNAMICAL SYSTEM, a comunicare la scoperta.
Il nuovo osservatore aveva in ingresso gli ingressi e le uscite del sistema di partenza e in uscita gli
stati stimati, al contrario del modello precedente non replicava le dinamiche del sistema di partenza
ma quelle di un sistema retroazionato di guadagno di anello L.
u (t ) x(t )
y (t ) = x (t )
x& = Ax + Bu x& = Ax + Bu + L( y C T x Du )
S : Osservatore :
y = Cx + Du y = x
e& = ( A LC T )e
Sono simili alle dinamiche di un sistema retroazionato, infatti usando il teorema di dualit si
progetta un osservatore con la tecnica del piazzamento dei poli.
29
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Ponendo :
AT A
CT B
LK
Una volta costruito losservatore possibile retroazionarlo e costruire la legge di controllo per il
sistema di partenza.
Tramite Matlab si verificato che luscita stimata dallosservatore approssima gli stati del sistema
si partenza.
5.1 Esercizio:
0 1 0
x& = x + u
Dato il sistema 0 2 1 andare a posizionare i poli in
y = (1 0 )x
= { 10 + i, 10 i} e valutare la risposta dellosservatore assumendo come stato
Risoluzione:
Matrici di partenza
A=
0 1
0 -2
B=
0
1
C=
1 0
D=
30
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
0
Matrice di controllabilt
Mcont =
0 1
1 -2
rc =
Matrice di osservabilit
Moss =
1 0
0 1
ro =
L=
18.0000
65.0000
Matrici dellosservatore
Ao =
-18.0000 1.0000
-65.0000 -2.0000
Bo =
0 18.0000
1.0000 65.0000
Co =
31
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
1 0
0 1
Do =
0 0
0 0
5.2 Confronto fra la risposta dello stimatore e gli stati del sistema di partenza:
32
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
33
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
T
V = min u[ t ,T ] l ( x, u , )d + m[ x(T )]
t
s.a.
x& = f ( x, u , t )
Sia una qualunque traiettoria nellintervallo [t,T] che ha per estremi x(t), x(T), sia u*(t) un indice
di costo sullo stesso intervallo. Se u*(t) ottimale nellintervallo [t,T] partendo dallo stato x(t),
allora sar necessariamente ottimale nel sottointervallo [t+t,T].
t + t
V = min u ( t ,T ) l ( x, u , )d + V * [ x(t + t ), t + t ]
*
t
s.a.
x& = f ( x, u , t )
34
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
t + t
l ( x, u, )d l ( x, u, )t
t
T
V * V * dx
V [ x(t + t ), t + t ] V ( x, t ) +
* *
t + t + o(t )
t x dt
Sostituendo tali approssimazioni allintegrale precedente, dividendo per t e passando al limite per
t 0 si ottiene:
V * V *
T
= min u ( t ) l ( x, u , ) + f ( x, u , t )
t x
V * [ x(T ), T ] = m[ x(T )], x X
V *
T
1 V *
grad u x Qx + u Ru +
T T
( Ax + Bu ) = 0 u * = R 1 B
x 2 x
V *
H u 2 Ru + B T = 2 R, R > 0
x
Dalla problema di minimizzazione precedente si evince che la matrice Q deve essere semidefinita
positiva, mentre la matrice R deve essere definita positiva.
Sostituendo u* nellequazione di Hamilton-Jacoby-Belmann, ponendo:
V * V *
= x T P& x , = 2 Px
t x
si ottiene lequazione di Riccati con la corrispettiva condizione al contorno, che lequazione che
permette di risolvere il problema LQR per sistemi lineari.
P& = AT P + PA + Q PBR 1 B T P
P(T ) = M
35
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
C una condizione sufficiente per lesistenza della soluzione delleq di Riccati che dice che la P
esiste se la coppia (A,C) osservabile quella (A,B) controllabile .
Si pu raffinare lipotesi imponendo che (A,Q1/2) sia rivelabile e (A,B) stabilizzabile.
Nel caso in cui le matrici sono lineari e tempo varianti, si ha un problema su orizzonte finito, mentre
se sono tempo invarianti si ha un problema su orizzonte infinito.
Nellesercizio svolto al Matlab, si fatta la computazione su orizzonte infinito andando a valutare la
ARE (Algebric Riccati Equation).
P& (T +) = 0 = AT P + P A + Q + P BR 1 B T P
P = P(T +)
6.1 Esercizio:
I due carelli in figura di massa rispettivamente M1=5 Kg, M2=7 kg, si muovono grazie a due forze
costanti impresse e sono vincolati tra di loro tramite un elemento elastico di costante elastica
k2=100 N/m ed uno viscoso di costante b2=Ns/m, mentre sono vincolati a due pareti tramite altre
due elementi elastici di costanti k1=k3= 300 N/m, e due viscosi di costanti b1=30 Ns/m ,b3=40
Ns/m. Andare a costruire la legge di controllo ottimo LQR per il sistema massa, molla, smorzatori.
Risoluzione:
Ponendo:
x1 = s1 x 2 = s&1 x3 = s 2 x 4 = s&2 x&1 = x 2 u1 = F1 u 2 = F2 y1 = x1 y 2 = x3
36
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
A=
0 1 0 0
-80 -8 20 2
0 0 0 1
14 1 -57 6
B=
0 0
0 0.2000
0 0
0.1000 1.0000
C=
1 0 0 0
0 0 1 0
D=
0 0
0 0
0 0
0 0
Lamda =
-3.9703 + 8.1348i
-3.9703 - 8.1348i
2.9703 + 6.5887i
2.9703 - 6.5887i
Il sistema instabile.
37
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Matrice di controllabilit
Mcont =
rc =
Matrice di osservabilit
Moss =
1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1
-80 -8 20 2
14 1 -57 6
668 -14 -274 16
4 12 -322 -19
ro =
1.0e+032 *
0.0000 0 0 0
0 0.0000 0 0
0 0 10.0000 0
0 0 0 1.0000
38
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
R=
1.0e+032 *
0.0000 0
0 3.3554
Matrice di retroazione K
K=
1.0e+003 *
P=
1.0e+032 *
E=
1.0e+002 *
-3.1610
-0.0400 + 0.0800i
-0.0400 - 0.0800i
-0.0317
Nelle pagine successive verr mostrato il risultato delle simulazioni a ciclo aperto e a ciclo chiuso
fatte al simulink di Matlab.
39
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
40
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
41
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
42
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
43
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Qui di seguito viene riportato il codice Matlab usato per risolvere il problema precedente:
44
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
legend('y1','y2',2)
title('Uscite del sistema a ciclo aperto')
grid on
%Simulazione del sistema retroazionato usando la Matrice di retroazione K
%ricavata dal problema LQR precedente
sim('sim_feedback')
figure(4)
plot(tfeed,xfeed);
legend('x1','x2','x3','x4',2)
title('Uscita degli stati a ciclo chiuso')
grid on
figure(5)
plot(tfeed,ufeed)
legend('u1','u2')
title('Uscita delle variabili di controllo a ciclo chiuso')
grid on
figure(6)
plot(tfeed,yfeed)
legend('y1','y2',2)
title('Uscite del sistema a ciclo chiuso')
grid on
45
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
7 Controllo ottimo LQ stocastico.
Molto spesso capita che un sistema sia soggetto a disturbi di processo di natura additivo-stocastica.
Tali disturbi oltre che peggiorare le prestazioni del sistema di partenza, non permettono di utilizzare
la tecnica di controllo LQR prima vista, poich gli ingressi in gioco non possono essere pi valutati
in maniera deterministica, ma solo in media. A tal proposito diamo la definizione di processo
stocastico: un processo stocastico definito come linsieme
{p( i , t ), i } dove pi il segnale
aleatorio i-esimo ed i la frequenza di realizzazione del processo con i=1n.
p(t)
p1 (t ) = p(1 , t )
p n (t ) = p ( n , t )
Si supporr allora che il disturbo stocastico sia rumore bianco di tipo Gaussiano, stazionario, a
media nulla e per questo si avr che:
{ }
E p (t ) p T ( ) = (t ) (t )
i) (t ) matrice di cov arianza Rumore bianco
ii) Aleatorio in senso stretto, in senso Gaussiano
lato,ergodigo.
iii) La media e non dipende dal tempo. Stazionario
iv) E{p(t )} = 0 Media nulla
E { x(t1 ) x (t1 ) x( ), t} = E { x(t1 ) x (t1 ) x(t )}
T T
v) Vettore di Markov
46
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Il problema di ottimizzazione nel caso stocastico per sistemi non lineari diventa:
T
V = min u[t ,T ] E l ( x, u , )d + m[ x(T )] x(t )
t
s.a.
x& = f ( x, u, t ) + p (t )
E{p(t )} = 0
{ }
E p(t ) p T ( ) = (t ) (t ), (t ) 0
V * V *
T
1
= min u[t ,T ] l ( x, u , ) + f ( x, u , t ) + tr ( H V * )
t x 2
V * ( x, T ) = m( x), x
V * V *
T
1
= min u x Qx + u Ru +
T T
( Ax + Bu ) + tr ( H V * )
t x 2
V * [ x, T ] = x T Mx, x X
Anche in questo caso, condizione sufficiente affinch lequazione di Riccati ammetta soluzione e
che la coppia di matrici (A,B) sia stabilizzabile, mentre quella (A,Q1/2)
sia rivelabile.
Siccome molto difficile risolvere il problema nella forma data, allora si usa il teorema di dualit
attraverso il quale si trasforma il problema stocastico in uno deterministico ponendo:
S P , AT A , Q , C x 0
Adesso si riformuler il problema del sistema meccanico costituito da masse, molle, smorzatori,
supponendo che oltre alle forze costanti in ingresso, vi siano dei disturbi di processo additivi di tipo
Gaussiano bianco.
47
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
7.1 Esercizio:
Supporre, nellEs 6 si sommino agli ingressi deterministici, due disturbi di tipo Gaussiano bianco e
poi andare a costruire la legge di controllo ottimo LQ Stocastico.
Risoluzione:
0 1 0 0 0 0
(k1 + k 2 ) (b1 + b2 ) k2 b2 1
0
M1 M1 M1 M1 x(t ) + M 1
x& = [u (t ) + p(t )]
0 0 0 1 0 0
k2 b2 (k 2 + k 3 ) (b1 + b3 ) 1
1
M2 M2 M2 M2 M 2
1 0 0 0
y = x(t )
0 0 1 0
Con:
{ }
E p (t ) p T ( ) = (t ), 0
48
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Matrici del sistema
A=
0 1 0 0
-80 -8 20 2
0 0 0 1
14 1 -57 6
B=
0 0
0.2000 0
0 0
1.0000 0.1000
C=
1 0 0 0
0 0 1 0
Lamda =
-3.9703 + 8.1348i
-3.9703 - 8.1348i
2.9703 + 6.5887i
2.9703 - 6.5887i
Mcont =
rc =
49
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Moss =
1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1
-80 -8 20 2
14 1 -57 6
668 -14 -274 16
4 12 -322 -19
ro =
Q=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
G=
0 0
0.2000 0
0 0
1.0000 0.1000
Fisso R ed M=0
R=
1 0
0 1
50
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Risolvo il problema LQR associato
K=
P=
E=
-4.2363 + 8.8255i
-4.2363 - 8.8255i
-4.4395 + 6.6513i
-4.4395 - 6.6513i
Vinf =
15.3515
Si ottenuto un indice di costo peggiorato
Nelle pagine successive verranno plottate le risposte del sistema a ciclo aperto e a ciclo chiuso.
51
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
52
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
53
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
54
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
55
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
7.4 Codice Matlab
56
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
grid on
%Simulazione del sistema retroazionato usando la Matrice di retroazione K
%ricavata dal problema LQR precedente
sim('sim_feedback1giusto')
figure(7)
plot(tfeed1,xfeed1);
legend('x1','x2','x3','x4',2)
title('Uscita degli stati a ciclo chiuso')
grid on
figure(8)
plot(tfeed1,ufeed1)
legend('u1','u2')
title('Uscita delle variabili di controllo a ciclo chiuso')
grid on
figure(9)
plot(tfeed1,yfeed1)
legend('y1','y2',2)
title('Uscite del sistema a ciclo chiuso')
grid on
57
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
8 Controllo ottimo LQG.
Se un sistema corrotto sia da rumore di processo che da rumore di misura, ragionevole pensare
di voler costruire una legge di controllo, che sia allo stesso tempo ottima e che consenta di filtrare i
disturbi. Una legge di controllo di tale natura insita nel filtro di Kalman che un osservatore per
problemi di natura stocastica. Infatti dato il problema di sotto enunciato
x& = Ax + Bu + p
y = Cx + n
E[ p(t ) p T (t )] = (t ), Rumuore _ di _ processo
E[n(t )n T (t )] = N (t ), Rumuore _ di _ misura
E[ p(t )n T (t )] = 0, Rumuori _ scorrelati _ tra _ di _ loro
u (t ) x(t )
y (t ) = x (t )
x& = Ax + Bu + k f ( y Cx )
Filtro _ di _ Kalman
y = x
58
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
min k f lim E[e T CC T e]
t +
s.a.
E[ (t )] = E[ p (t ) k f n(t )] = 0
E[ p (t ) p T (t )] = ( + k f Nk f ) (t )
T
( A k f C ) S + S ( A k f C ) T + + k f Nk f = 0
T
V f = tr ( SCC T )
*
PS
xo C
( A Bk ) T ( A k f C )
AT A
kT k f
BT C
Q
RN
1 T
Tenendo conto che k = R B P la soluzione sar:
( A Bk ) T P + P( A BK ) + Q + Qk T Rk = 0
Vc * = tr ( Px 0 x 0 )
T
59
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
s.a.
x& = Ax + Bu + p (t )
y = Cx + n(t ) 1
AS + SA T + SC T N CS = 0
E[ p (t ) p (t )] = (t )
T
S 0
E[n(t )n (t )] = N (t )
T
k f = SC T N 1
(A k f C)
*
con V s = tr ( SCC T
)
e = x x _( Stato _ stimato)
( AT , C T ) stabilizzabile ( A, C )rivelabile
( AT , 1 / 2 )rivelabile ( A, 1 / 2 ) stabilizzabile
La stessa formulazione pu essere applicata nel caso di orizzonte finito a patto di modificare le
ipotesi e la tesi, andando ad esplicitare la dipendenza temporale della matrice S e delle altre matrici.
Infatti :
k = R 1 B T P
( A, B) _ stabilizabile AT P + PA + Q PBR 1 B T P = 0
( A, C ) _ rivelabile k f = SC T N 1
u (t ) = kx SAT + AS + SC T N 1CS
V * = Vd + V f = tr ( Pk f k f ) + tr ( SQ)
T
Adesso andiamo a svolgere un esercizio sul filtro di Kalman con lausilio di Matlab.
60
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
8.3 Esercizio:
Dato il seguente modello linearizzato del rotore dellelicottero CH-47 in moto orizzontale alla
velocit di 40 nodi:
dove:
y1=velocit verticale (nodi/hr)
y2=angolazione in altezza (radianti)
u1=spinta del rotore
u2=spinta differenziale del rotore
Risoluzione:
A=
B=
0.1400 -0.1200
0.3600 -8.6000
0.3500 0.0090
0 0
61
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
C=
0 1.0000 0 0
0 0 0 57.3000
D=
0 0
0 0
Lamda =
-2.2279
0.0652
0.4913 + 0.4151i
0.4913 - 0.4151i
Mcont =
rc =
Moss =
0 1.0000 0 0
0 0 0 57.3000
-0.1400 0.4400 -1.3000 -30.0000
0 0 57.3000 0
-0.0588 0.1695 -28.8280 -10.2800
0 1.0314 -91.6800 68.7600
-0.0226 -0.4446 35.4833 -37.7970
-0.1444 -1.1964 214.1072 -140.9580
62
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Calcolo del rango per la valutazione dello spazio di osservabilit
ro =
Q=
1.0e+003 *
0 0 0 0
0 0.0010 0 0
0 0 0 0
0 0 0 3.2833
Fisso R ed M=0
R=
1 0
0 1
k=
P=
1.0e+003 *
E=
-8.6168
-3.3643 + 2.9742i
-3.3643 - 2.9742i
-0.0196
63
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
attraverso la risoluzione del problema duale di tipo deterministico.
Xi =
Theta =
1 0
0 1
S=
Guadagno di filtro
kf =
0.0158 -0.2405
9.0660 -0.1761
0.0091 0.2289
-0.0031 0.0893
Af =
Bf =
0.0158 -0.2405
9.0660 -0.1761
0.0091 0.2289
-0.0031 0.0893
Cf =
64
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
-0.0033 0.0472 14.6421 60.8894
0.0171 -1.0515 0.2927 3.2469
Df =
0 0
0 0
Vc =
28.3476
Vf =
14.1851
Vstar =
42.5327
Una volta determinati numericamente i risultati del problema, necessario valutare le prestazioni
del sistema, andando a fare delle simulazioni prima a ciclo aperto, poi a ciclo chiuso attraverso
Simulink di matlab. Nella pagina successiva, verr analizzato lo schema a ciclo aperto.
65
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
66
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
67
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
68
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Si puo notare che con il progetto del filtro si sono migliorate di molto le prestazioni che si avevano
a ciclo aperto, oltre ad aver filtrato in maniera ottima i disturbi di misura e di processo.
Qui di seguito viene riportato il codice Matlab usato per la la risoluzione del problema LQG.
69
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Moss=obsv(A,C)
disp('Calcolo del rango per la valutazione dello spazio di osservabilit')
ro=rank(Moss)
disp('Il sistema completamente osservabile ')
%Essendo (A,B) controllabile e (A,C) osservabile esiste P soluzione della
%ARE(Algebric Riccati Equation)
disp('Scelgo Q in modo da ottimizzare i pesi matriciali')
Q=C'*C
disp('Fisso R ed M=0')
R=[1 0;0 1]
disp('Risolvo il problema deterministico del sistema di partenza in modo separato')
%Applico il teorema di separazione.
[k,P,E]=lqr(A,B,Q,R)
disp('Risolviamo il problema stocastico associato')
disp('attraverso la risoluzione del problema duale di tipo deterministico.')
%Poniamo A=A',B=C',Pigreco=Xi=B*B',N=Theta=R
Xi=B*B'
Theta=R
[k1,P1,E1]=lqr(A',C',Xi,Theta);
disp('Soluzione della FARE')
S=P1
disp('Guadagno di filtro')
kf=k1'
disp('Matrici W e V di correlazione allargate per risolvere il problema LQG')
disp('W=[Q 0;0 R] e V=[Xi 0;0 Theta]')
W=[Q,zeros(4,2);zeros(2,4),R];
V=[Xi,zeros(4,2);zeros(2,4),Theta];
disp('Matrici del filtro di Kalman')
[Af,Bf,Cf,Df]=lqg(A,B,C,D,W,V)
disp('Indice di costo deterministico')
Vc=trace(P*kf*kf')
disp('Indice di costo del filtro di Kalman')
Vf=trace(S*Q)
disp('Indice di costo totale')
Vstar=Vc+Vf
sim('Kalman_open_giusto')
figure(1)
plot(tko,xko);
legend('x1','x2','x3','x4',2)
title('Uscita degli stati a ciclo aperto')
grid on
figure(2)
plot(tko,uko)
legend('u1','u2')
title('Uscita delle variabili di controllo a ciclo aperto')
grid on
figure(3)
plot(tko,yko)
legend('y1','y2',2)
title('Uscite del sistema a ciclo aperto')
70
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
grid on
sim('Kalman_giusto')
figure(4)
plot(tk,xk);
legend('x1','x2','x3','x4',2)
title('Uscita degli stati a ciclo chiuso')
grid on
figure(5)
plot(tk,uk)
legend('u1','u2')
title('Uscita delle variabili di controllo a ciclo chiuso')
grid on
figure(6)
plot(tk,yk)
legend('y1','y2',2)
title('Uscite del sistema a ciclo chiuso')
grid on
71
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
72
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
1) Tecniche di identificazione.
Uno dei problemi fondamentali nella teoria dei controlli automatici quello di regolare il valore di
una determinata quantit fisica di un processo ad un livello di riferimento desiderato.
Per fare ci occorre conoscere le caratteristiche di un processo fisico al fine di individuare:
Spesse volte per, quando limpianto da controllare di ordine elevato, necessario approssimarlo
con un modello parametrico di basso ordine in modo tale da esemplificare la progettazione della
legge di controllo. A tale scopo vi sono varie strade che possono essere seguite per ricavare il
modello matematico in questione, quella che si utilizzer si basa su un approccio di tipo sperimentale:
verranno applicati dei segnali opportuni in ingresso al processo fisico, e verr misurata luscita.Il
modello da identificare pu avere varie caratteristiche:
- Essere lineare o non lineare (rispettare o meno in principio di sovrapposizione degli effetti)
- Essere stazionario o non stazionario (matrici caratteristiche dipendenti o indipendenti dal
tempo)
- Essere statico o dinamico (legame algebrico o non algebrico tra ingressi e uscite)
I modelli parametrici che si andranno ad esaminare dora in poi saranno lineari, dinamici, stazionari
tempo in varianti (LTI), verranno trattati nel dominio di Laplace o in frequenza nella
rappresentazione ingresso uscita sotto lipotesi di stabilit BIBO .
I passi salienti del processo di identificazione sono:
c) Normalizzazione dell uscita ( consigliabile per motivi numerici), tale da portare ad 1 il valore
della Y a regime.
f) Verifica del modello rispetto alla risposta al gradino (eventualmente ritorno al punto d).
g) Verifica del modello rispetto alle risposte ad altri segnali (eventualmente ritorno al punto d).
Per simulare un sistema fisico sul quale andare a ricavare sperimentalmente la risposta al gradino, si
far uso del simulatore numerico Matlab ed del tool Simunlink, nel quale si introdurr una
73
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
funzione di trasferimento, che si suppone essere quella esatta del processo, e si andr poi a
dimensionare le varie strutture parametriche esaminate durante il corso.
k
W ( s) =
1 + s
k il guadagno statico della funzione parametrica W(s), che pari a quella del sistema fisico G(s) da
identificare , mentre una costante di tempo che prende il nome di tempo medio di convergenza.
Per poter trovare i valori di k e , necessario calcolare la risposta al gradino della G(s) ed adottare il
metodo della tangente o il metodo delle aree.
Per tale modello verr utilizzato il metodo delle aree, secondo il quale si calcola larea sottesa tra la
risposta al gradino della funzione G(s) ed il suo guadagno statico attraverso il seguente integrale:
+
A0 = [s(+) s(t )]dt
0
s (t )
k = s (+)
k
s (t )
A0
A0
E si calcola il tempo medio di convergenza attraverso il seguente rapporto = .
k
Si otterr un modello del primo ordine che approssima bene il sistema di partenza per basse
frequenze (buon comportamento in regime statico).
Un altro modello a due parametri il modello integratore-ritardo che ha la seguente forma:
a
W ( s ) = e sL
sL
con L tempo di ritardo che pari allintersezione della retta di massima tangenza e lasse delle ascisse
ed a intersezione tra la retta suddetta e lasse delle ordinate.
74
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Lidentificazione verr fatta con il metodo della tangente ed il modello ottenuto approssimer bene la
funzione di trasferimento di partenza per alte frequenze (comportamento buono in regime dinamico).
s (t )
k = s (+)
k
s (t )
L t
a
ES 1.1.1
5
Data la funzione di trasferimento G ( s ) = determinare il suo modello approssimato
( s + 5) ( s + 10) 2
2
Svolgimento:
Lesercizio verr svolto con matlab, adottando dapprima il metodo delle aree, in modo da ricavare il
primo modello a due parametri, successivamente col metodo della tangente per ottenere il secondo
modello . Tramite uno schema simulink si valuta qualitativamente larea A0 delimitata tra la funzione
di risposta al gradino e il guadagno statico:
75
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
-3
x 10 Area di k-s(t)
1.4
1.2
0.8
0.6
0.4
0.2
0
0 1 2 3 4 5 6 7 8 9 10
In base a questa analisi qualitativa si passati alla formalizzazione del modello per via numerica:
Sistema da identificare
Guadagno statico
k=
0.0020
76
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
A0 =
0.0012
Taver =
0.6000
0.002
--------------
0.6 s + 1
Andiamo a confrontare la risposta del modello originale e quella del modello approssimato tramite
flottaggio della risposta a gradino:
-3
x 10 Identificazione a due parametri col metodo delle aree
2
0
0 1 2 3 4 5 6 7 8 9 10
Si evince che il modello a due parametri ottenuto col metodo delle aree approssima bene il modello
originale a regime, mentre in fase di transitorio risulta un certo scostamento.
Tale risultato indice del fatto che un modello di tale tipo approssima bene il sistema di partenza a
basse frequenze, una conferma di ci si pu avere tracciando i diagrammi di Bode.
77
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Bode Diagram
-50
-100
Magnitude (dB)
-150
-200
-250
0
Risposta in frequenza del sistema
Risposta in frequenza del modello approssimato
-90
Phase (deg)
-180
-270
-360
-1 0 1 2 3
10 10 10 10 10
Frequency (rad/sec)
Adesso andremo a fare delle valutazioni della bont del modello prima visto nel caso in cui si somma
la presenza di un rumore bianco di tipo gaussiano.
78
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
-3
x 10 Metodo delle aree in presenza di rumuore bianco
2.5
1.5
0.5
-0.5
0 1 2 3 4 5 6 7 8 9 10
Come si vede, la presenza del rumore gaussiano bianco a banda limitata peggiora le prestazioni del
sistema e di conseguenza anche la risposta del modello, in quanto a regime vi sono oscillazioni della
risposta.
Il codice matlab che ha permesso di generare questi risulatati il seguente:
79
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
da=[Taver 1];
ga=tf(na,da)
sim('mod_2_par',10)
figure(1)
plot(t,A)
title('Area di s(t)')
grid on
figure(2)
plot(t,y)
hold on
plot(ta,ya,'--k')
grid on
title('Identificazione a due parametri col metodo delle aree')
legend('Risposta del sistema','Risposta del modello approssimato')
%Modello a due parametri col metodo delle aree in presenza di rumuore bianco gaussiano
nan=na;
dan=da;
sim('mod_2_par_noise',10)
figure(3)
plot(tn,y)
hold on
plot(tn,yn,'r')
plot(tn,yn1,'g')
grid on
title('Metodo delle aree in presenza di rumuore bianco')
legend('Risposta del sistema senza rumuore','Risposta del sistema con rumuore','Risposta
approssimata in presenza di rumuore')
%Diagrammi di Bode
figure(4)
bode(g)
hold on
bode(ga)
legend('Risposta in frequenza del sistema','Risposta in frequenza del modello approssimato')
ES 1.1.4
Data la funzione di trasferimento dell esercizio precedente determinare il suo modello approssimato
a due parametri con integratore e ritardo, mediante il metodo della tangente.
Svolgimento:
Questa volta il comportamento del sistema G(s) viene approssimato mediante una retta con
coefficiente angolare pari alla massima pendenza della risposta al gradino nel transitorio. Questo tipo
di modello segue molto bene landamento della risposta al gradino nel transitorio, ma poi diverge
sensibilmente a regime, andando allinfinito. Ci fa s che il modello integratore pi ritardo venga
usato solo per un certo intervallo di tempo. Per trovare la pendenza della risposta al gradino, si
esegue unoperazione di derivazione in uscita dal sistema e si trova il valore massimo della curva
ottenuta. Questo metodo non pu essere usato in presenza di rumore di processo, poich la
derivazione produrrebbe un amplificazione della risposta.
Lo schema a blocchi utilizzato per calcolare la derivata della risposta al gradino del sistema il
seguente:
80
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
A partire dal vettore di campioni di m risultanti dalla simulazione, si calcolato attraverso matlab il
campione di massimo valore con listruzione max(m), poi con il comando i=find(m=max(m)) si
ricavato lindice associato al campione di massimo valore in modo tale da ottenere le coordinate t0,e
y0 nel punto di massima pendenza.Una volta ottenuti i dati necessari, si scritta lequazione della
retta passante per questi punti e intersecandola prima con lasse x e poi con lasse y, si calcolato L ed
a.
>>
Sistema da identificare
Guadagno statico
k=
0.0020
Uso del metodo della tangente per identificare il modello due parametri con
esponenziale per sistemi non oscillanti
Ricavo il coefficiente angolare di massima pendenza dalla simulazione
e il valore temporale in corrispondenza della pendenza massima
coeffang =
81
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
0.0029
t0 =
0.4613
y0 =
7.6814e-004
L=
0.2005
a=
-5.9069e-004
na1 =
5.9069e-004
da1 =
0.2005 0
>>
Adesso simulando la risposta del modello approssimato con il seguente schema di simulazione
82
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
si ottiene una risposta che confrontata con quella del sistema di partenza ha il seguente andamento:
-3
x 10 Identificazione a due parametri col metodo della tangente
6
Sistema di partenza
Modello approssimato
-1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
83
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
-3
x 10 Analisi comparativa delle risposte dei modelli a due parametri
6
Risposta al sistema
Modello del 1 ordine
5 Modello con integratore e ritardo
-1
-2
Riassumendo si ha che il sistema del primo ordine esibisce un buon comportamento dal punto di
vista della precisione statica, mentre il modello con integratore e ritardo ha un buon comportamento
in fase dinamica, ma poi tende a divergere per istanti di tempo grandi.
Questo vuol dire che un modello va bene per basse frequenze laltro va bene per alte frequenze.
Diagrammi di Bode
-30
Diagramma del sistema
-35 Diagramma del modello
-40
-45
-50
-55
-60
-65
-1 0 1
10 10 10
-50
-100
-150
-1 0 1
10 10 10
84
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
n1=[5] ;
d1=conv([1 10 25],[1 20 100]);
g=tf(n1,d1)
disp('Guadagno statico')
k=dcgain(g)
disp('Uso del metodo della tangente per identificare il modello due parametri con')
disp(' esponenziale per sistemi non oscillanti')
disp('Ricavo il coefficiente angolare di massima pendenza dalla simulazione')
disp ('e il valore temporale in corrispondenza della pendenza massima')
sim('mod_2_par_expo',2)
coeffang=max(m)
i=find(m==max(m));
disp('Istante in cui il coefficiente assume valore massimo')
t0=t1(i)
disp('Determino il valore di y in corrispodenza di t0')
y0=y1(i)
disp('Scrivo l equazione della retta passante per t0,y0 e di coefficiente angolare')
disp('coeffang')
tr=linspace(0,2,1000);
yr=y0+coeffang*(tr-t0);
disp('Calcolo L ed a come intersezione della retta con gli assi coordinati')
L=(coeffang*t0-y0)/coeffang
a=y0-coeffang*t0
disp('Numeratore e denominatore approssimato in assenza di ritardo')
na1=-a
da1=[L 0]
sim('mod_2_par_expo1',2)
figure(1)
plot(tr,yr)
hold on
plot(t1,y1,'r')
title('Metodo della tangente')
legend('Retta approssimante di massima pendenza','Risposta del sistema')
grid on
figure(2)
plot(t1,y1)
hold on
plot(ta1,ya1,'--k')
title('Identificazione a due parametri col metodo della tangente')
legend('Sistema di partenza','Modello approssimato')
grid on
%Diagrammi di Bode
hold off
w=0:0.1:7;
ng=5;
dg=(j*w).^4+30*(j*w).^3+325*(j*w).^2+1500*(j*w)+2500;
ne=exp(-j*w*L)
na=na1*ne;
da=j*w*L
modulog=20*log10(abs(ng))-20*log10(abs(dg));
moduloa=20*log10(abs(na))-20*log10(abs(da));
85
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
faseg=angle(ng)*180/pi-angle(dg)*180/pi;
fasea=angle(na)*180/pi-angle(da)*180/pi;
figure(3)
subplot(2,1,1)
semilogx(w,modulog)
axis([10^-1,10,-65,-30])
hold on
grid on
semilogx(w,moduloa,'r')
title('Diagrammi di Bode')
legend('Diagramma del sistema','Diagramma del modello')
subplot(2,1,2)
semilogx(w,faseg)
axis([10^-1,10,-165,0])
hold on
grid on
semilogx(w,fasea,'r')
k k
W ( s) = e sL oppure W ( s) = e sL
1 + s (1 + s ) 2
Per calcolare i valori dei due parametri L (tempo di ritardo) e k si applica lo stesso procedimento
utilizzato nel modello a due parametri del tipo integratore pi ritardo.
ES 1.2.1
86
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Determinare un modello approssimato a tre parametri per il sistema non oscillante
5
G (s) = e discutere le risposte qualitative.
( s + 5) ( s + 10) 2
2
Svolgimento:
Analogamente a quanto fatto per il modello a due parametri con integratore e ritardo anche in questo
caso si vanno a determinare i parametri attraverso delle computazioni in ambiente matlab:
Sistema da identificare
Transfer function:
5
--------------------------------------
s^4 + 30 s^3 + 325 s^2 + 1500 s + 2500
Guadagno statico
k=
0.0020
coeffang =
0.0029
t0 =
0.4615
y0 =
7.6884e-004
tr =
0 1.1111 2.2222 3.3333 4.4444 5.5556 6.6667 7.7778 8.8889 10.0000
yr =
-0.0006 0.0027 0.0059 0.0092 0.0125 0.0157 0.0190 0.0222 0.0255 0.0287
Calcolo L ed a come intersezione della retta con gli assi coordinati
87
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
L=
0.1994
n3a =
0.0020
d3a =
0.4615 1.0000
tau =
[ .19679333561672414334909562234138]
n3a1 =
0.0020
d3a1 =
Una volta ricavato il valore del numeratore e del denominatore dei modelli si vanno confrontare le
risposte del sistema di partenza attraverso il seguente schema simunink:
La risposta dei modelli a tre parametri risulta essere molto pi vicina alloriginale di quanto non lo era
quella dei modelli a due parametri.
88
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Infatti apprezzabile la bont di approssimazione del modello del primo ordine, nel quale si
evidenziava una buona precisione statica e la precisione dinamica dovuta al termine di ritardo.
-3
x 10 Identificazione a tre parametri col metodo della tangente
2
Risposta del sistema
Risposta del modello a 3par del 1ordine
Risposta del modello a 3par del 2ordine
0
0 1 2 3 4 5 6 7 8 9 10
Diagrammi di Bode
-30
Diagramma del sistema
-35 Diagramma del modello a 3par del 1ordine
Diagramma del modello a 3 par del 2 ordine
-40
-45
-50
-55
-60
-1 0 1
10 10 10
-50
-100
-150
-1 0 1
10 10 10
Lapprossimazione fatta quella in cui il tempo medio stato preso pari al tempo in corrispondenza
del punto di massima tangenza.
89
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Unaltra approssimazione possibile, come stato detto in precedenza, quella in cui il tempo medio
viene preso in corrispondenza allintersezione tra il guadagno in continua e la tangente: in questo caso
aumentandosi il tempo medio si avr una sovrastima del parametro di tempo.
Onde evitare ci si usa il modello a tre parametri del 2 ordine in cui non c il pericolo di una
sovrastima.
90
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
title('Identificazione a tre parametri col metodo della tangente')
legend('Risposta del sistema','Risposta del modello a 3par del 1ordine','Risposta del modello a 3par
del 2ordine')
%Diagrammi di Bode
hold off
w=0:0.1:7;
ng=5;
dg=(j*w).^4+30*(j*w).^3+325*(j*w).^2+1500*(j*w)+2500;
ne=exp(-j*w*L);
na=k*ne;
da=1+j*w*t0;
na1=na;
da1=t0^2*(j*w).^2+2*t0*(j*w)+1;
modulog=20*log10(abs(ng))-20*log10(abs(dg));
moduloa=20*log10(abs(na))-20*log10(abs(da));
moduloa1=20*log10(abs(na1))-20*log10(abs(da1));
faseg=angle(ng)*180/pi-angle(dg)*180/pi;
fasea=angle(na)*180/pi-angle(da)*180/pi;
fasea1=angle(na1)*180/pi-angle(da1)*180/pi;
figure(2)
subplot(2,1,1)
semilogx(w,modulog)
axis([10^-1,10,-64,-30])
hold on
grid on
semilogx(w,moduloa,'--k')
semilogx(w,moduloa1,'--r')
title('Diagrammi di Bode')
legend('Diagramma del sistema','Diagramma del modello a 3par del 1ordine','Diagramma del
modello a 3 par del 2 ordine')
subplot(2,1,2)
semilogx(w,faseg)
axis([10^-1,10,-150,0])
hold on
grid on
semilogx(w,fasea,'--k')
semilogx(w,fasea1,'--r')
91
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
1.3) Modelli a quattro parametri:
Dopo aver esaminato i modelli a due e a tre parametri passiamo ora ad esaminare i modelli a quattro
parametri.
Lespressione analitica del modello nel dominio della frequenza la seguente
k
W ( s) = e sL
(1 + s 1 )(1 + s 2 )
function f=Mod4(x,t,y)
tau1=x(1);
tau2=x(2);
k=0.002;
num=k;
den=conv([tau1 1],[tau2 1]);
yn=step(num,den,t);
f=sum([(y-yn).^2]);
end
Attraverso listruzione fmins ( nelle attuali versioni di matlab si usa lespressione fminsearch) si
ottimizzano i parametri suddetti in modo tale che la risposta sperimentale coincida il pi possibile con
quella di partenza. La sintassi di fmins :
tau=fmins('mod4',x0,[],x,t,y)
dove x0 il vettore iniziale di iteraizione, mentre x,y,t sono le variabili passate alla funzione.
ES 1.3.1
A partire dalla funzione non oscillante degli esercizi precedenti, andare a determinare il modello a
quattro parametri e confrontare la sua risposta con quella del sistema di partenza.
Svolgimento:
Il risultato del processo di calcolo fatto con matlab il seguente:
92
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Definisco il vettore iniziale che ha componenti pari al valore di tau
determinato nel modello a tre parametri
x=
1.2013 1.2013
Parametri ottimizzati
tau =
0.2539 0.2540
n4 =
0.0020
d4 =
Ritardo apparente
L=
0.0774
La risposta della simulazione , usando il seguente schema a blocchi, confrontata con que lla del
sistema di partenza ottimale.
93
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Il modello sperimentale ottenuto molto vicino a quello del sistema di partenza, tanto vero che
anche le risposte in frequenza sono molto vicine come mostrano i diagrammi di Bode .
-3
x 10 Identificazione a quattro parametri con ottimizzazione
2
Risposta del sistema
Modello a 4 parametri
0
0 0.5 1 1.5 2 2.5 3
Diagrammi di Bode
-30
Diagramma del sistema
-35 Diagramma del modello a 4par
-40
-45
-50
-55
-60
-1 0 1
10 10 10
-50
-100
-150
-1 0 1
10 10 10
94
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
1.3.2) Codice Matlab
%Modello a 4 parametri
disp('Definisco il vettore iniziale che ha componenti pari al valore di tau')
disp('determinato nel modello a tre parametri')
x=[1.2013 1.2013]
t=linspace(1,10,10000);
num=[5];
den=conv([1 10 25],[1 20 100]);
%Vettore della risposta sperimentale
y=step(num,den,t);
tau=fmins('Mod4',x,[],x,t,y)
n4=dcgain(num,den)
d4=conv([tau(1) 1],[tau(2) 1])
L=0.0774
sim('mod4par',3)
plot(t4,ys)
hold on
plot(t4,y4,'--r')
title('Identificazione a quattro parametri con ottimizzazione')
legend('Risposta del sistema','Modello a 4 parametri')
grid on
%Diagrammi di Bode
hold off
w=0:0.1:7;
ng=5;
dg=(j*w).^4+30*(j*w).^3+325*(j*w).^2+1500*(j*w)+2500;
ne=exp(-j*w*L);
k=dcgain(num,den);
na=k*ne;
da=(j*w).^2*tau(1)*tau(2)+(j*w)*(tau(1)+tau(2))+1;
modulog=20*log10(abs(ng))-20*log10(abs(dg));
moduloa=20*log10(abs(na))-20*log10(abs(da));
faseg=angle(ng)*180/pi-angle(dg)*180/pi;
fasea=angle(na)*180/pi-angle(da)*180/pi;
figure(2)
subplot(2,1,1)
semilogx(w,modulog)
axis([10^-1,10,-64,-30])
hold on
grid on
semilogx(w,moduloa,'--r')
title('Diagrammi di Bode')
legend('Diagramma del sistema','Diagramma del modello a 4par')
subplot(2,1,2)
semilogx(w,faseg)
axis([10^-1,10,-150,0])
hold on
grid on
semilogx(w,fasea,'--r')
95
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
1.4) Modello per sistemi oscillanti:
I modelli identificati fino a questo momento erano validi per la classe di sistemi non oscillanti, ossia
quei sistemi che non presentavano poli complessi coniugati; adesso verranno illustrate le tecniche
per identificare i sistemi che hanno risposta oscillante al segnale gradino.
Le tecniche principali di identificazione per sistemi oscillanti si basano rispettivamente su unanalisi di
tipo grafico a partire dai parametri caratteristici della risposta al gradino, o un processo di
ottimizzazione numerica.
La forma della funzione di trasferimento del modello oscillante del seguente tipo:
k n2
W ( s) =
s 2 + 2 n + n2
w1 (t )
Tp
wM 1
a
wM 2
ad
k
wm1
TM 1 tm1 TM 2 t
k Guadagno in continua
a = wM 1 k = k (1 + e / 1 2
) k = ke / 1 2
Sovraelongazione massima al 1 picco
w k k (1 + e 3 / 1 2
)k
d = M2 = = e 2 / 1 2
Rapporto tra i picchi max consecutivi
ke / 1 2
a
96
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
2
Tp = Tempo che intercorre tra due istanti di max consecutivi (Tp=TM2-TM1)
n 1 2
1
= Costante di smorzamento
1 + (2 / log d ) 2
Tali parametri possono essere ricavati in maniera grafica, analizzando la risposta del sistema
originario, oppure possono essere calcolati per via numerica attraverso l ottimizzazione di una
funzione obbiettivo, nella quale si impone che la distanza tra i punti della risposta del modello
originale e di quello approssimato, siano il pi vicino possibile al variare dei parametri suddetti.
La funzione usata per ottimizzare la risposta la seguente:
function f=modosci(p,t,y)
zita1=p(1);
omegan1=p(2);
n=15;
d=[ 1/(omegan1)^2 2*zita1/omegan1 1];
ys=step(n,d,t);
f=sum([(y-ys).^2]);
goao=tf(n,d)
end
dove p il vettore dei parametri, t il vettore degli istanti temporali, y la risposta al gradino del
sistema di partenza, mentre ys la risposta del modello sperimentale.
ES 1.4.1
Identificare in modo sperimentale, tramite i parametri della risposta a gradino per sistemi oscillanti, e
15
tramite ottimizzazione numerica il sistema con funzione di trasferimento G ( s ) = 2 e
( s + 0.5s + 1) 2
fare un confronto tra i risultati ottenuti.
Svolgimento:
Per determinare i parametri in gioco, si usata listruzione matlab ginput con la quale si stato
possibile ricavare tramite posizionamento del mause nei punti di interesse il loro valore.
Il valore dei parametri fondamentali prima discussi e la conseguente funzione di trasferimento
ottenuta :
>>
Assegno il sistema
no =
15
do =
97
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
1.0000 1.0000 2.2500 1.0000 1.0000
Tp =
6.6244
a=
13.0630
d=
0.4063
Smorzamento
zita =
0.1419
Pulsazione naturale
omegan =
0.9389
Guadagno statico
k=
15
13.22
-----------------------
s^2 + 0.2664 s + 0.8815
98
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
p=
0.1000 0.4000
Poptims =
0.1547 0.7876
Dopo aver determinato le due funzioni parametriche approssimate si sono confrontate le risposte
simulando in ambiente simulink il seguente schema a blocchi:
99
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Si ottenuto il seguente risultato:
25
20
15
10
0
0 5 10 15 20 25 30
Bode Diagram
50
0
Magnitude (dB)
-50
Diagramma di Bode del sistema
Diagramma di Bode del modello grafico
Diagramma di Bode del modello ottimizzato
-100
-150
0
-90
Phase (deg)
-180
-270
-360
-2 -1 0 1 2
10 10 10 10 10
Frequency (rad/sec)
100
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
1.4.2) Codice Matlab:
101
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
1.5) Identificazione in frequenza:
Dopo aver visto alcune delle tecniche di identificazione dei modelli che si basano sullo studio della
risposta al gradino, andiamo a discutere un altro modo per identificare un modello nel dominio della
frequenza.
Facciamo sempre lipotesi che il modello sia LTI e possibilmente di basso ordine.
Lavorando nel dominio della frequenza, non si identifica direttamente la G(s) ma la G(j), se il
sistema asintoticamente stabile, la G(j) coincide con la G(s) ponendo s=j.
Per il teorema di risposta in frequenza, dato un sistema LTI forzato da un ingresso sinusoidale di
ampiezza A e pulsazione 0 :
u(t) = A sin ( t+ )
la sua uscita, a regime , sar ancora un segnale sinusoidale, amplificato della quantit |G(j 0 )| e
sfasato della G(j 0 ):
Sapendo inoltre di non poter tener conto di tutte le dinamiche del processo da approssimare,
scegliamo un range frequenziale, che poniamo essere [0 , ] . Abbiamo posto la frequenza limite
inferiore pari a 0 perch spesso ci interessa conoscere il comportamento in continua del segnale,
mentre la frequenza limite superiore sta ad indicare che non ci interessano le dinamiche che
evolvono in tempi inferiori di un certo tempo t (a ciascuna frequenza infatti corrisponde un tempo
caratteristico).
Una volta scelto il range frequenziale, possiamo effettuare una serie di prove immettendo nel sistema
degli opportuni segnali sinusoidali, con frequenze caratteristiche da =0 a = Studiando
luscita del sistema, misuriamo di quanto viene amplificata e sfasata la sinusoide di uscita, a regime. La
misura che andiamo a fare, in termini di amplificazione, ci restituisce i valori del modulo della W(j)
per la particolare frequenza i , mentre in termini di sfasamento ci d i valori della sua fase.
Otteniamo quindi diversi valori del modulo e della fase della W(j), ciascuno in corrispondenza delle
diverse pulsazioni che stiamo considerando. A questo punto il problema diventa quello di trovare una
W(j) ( o W(s)), la cui funzione di risposta armonica corrispondente interpoli i punti trovati
sperimentalmente in senso di scarto quadratico medio.
Usando questa tecnica per, ci si pu imbattere in un problema: supponiamo di avere un sistema in
cui presente un modo con smorzamento molto basso, nel diagramma dei moduli ci sar un picco di
risonanza in corrispondenza ad una certa frequenza; se non scegliamo opportunamente le frequenze
a cui fare gli esperimenti, rischiamo di perdere le informazioni relative al picco, che sono le pi
importanti ai fini dellidentificazione. Un sistema il cui diagramma di Bode dei moduli non presenta
sovraelongazioni, avr una risposta al gradino senza oscillazioni, mentre la risposta al gradino di un
sistema che presenta un picco nel diagramma dei moduli sar invece di tipo oscillatorio. Perdendo
quindi le informazioni relative al picco, andremo a modellare un sistema che completamente
diverso da quello sperimentale.Per evitare di commettere errori di questo tipo possibile mandare in
ingresso al sistema un rumore a larga banda (o un segnale di tipo impulsivo, che ha anchesso un
largo spettro di frequenze), e studiando luscita del sistema, che sar un segnale a spettro continuo, si
possono vedere gli eventuali picchi presenti.
102
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
ES 1.5.1
2
Identificare in frequenza il sistema con funzione di trasferimento G ( s ) =
s + 12 s + 55s 2 + 150 s + 250
4 3
verificando che il modello sperimentale del sistema sia il pi possibile vicino a quello teorico.
Svolgimento:
Per lidentificazione in frequenza, si suppone che la funzione di trasferimento G(s) sia incognita, e che
venga determinata immettendo in ingresso al seguente schema due segnali sinusoidali: uno a
frequenza variabile ad ogni esperimento , laltro a fase variabile dallutente in modo da ottenere
sulloscilloscopio in modalit xy una retta .
Per il teorema di risposta in frequenza se si immette in ingresso un segnale sinusoidale a fase nulla,
si ottiene un uscita del tipo:
y= A sin(t+)
Si evince che sia A (ampiezza) che (fase) variano in funzione della pulsazione della sinusoide in
ingresso al sistema.
Il valore di entrambi sar determinato ovviamente dalla risposta armonica caratteristica della G(s), che
si andr a determinare sia in modulo (calcolando A al variare di ) sia in fase (attraverso i valori
assunti da ).
Determinare i valori di A in funzione di f alquanto agevole, visto che basta leggere, attraverso
loscilloscopio come varia il valore di picco della sinusoide in uscita dal blocco G(s) al variare di .
Per quanto riguarda invece il calcolo di , ci si serve dei diagrammi di Lissajous, che possono essere
tracciati con uno strumento delle librerie di Matlab chiamato xygraf, che consente di tracciare
landamento di una variabile y in funzione di una seconda variabile x.
Il calcolo di viene eseguito inviando al primo ingresso del blocco xygraf la sinusoide in uscita dal
sistema G(s), mentre al secondo ingresso viene applicata una sinusoide sfasata di un angolo rispetto
a quella con cui si forza il sistema. Se si simula il sistema cos realizzato, si avr che fintanto che ,
si otterr come diagramma di Lissajous un ellisse che diventa una retta nel momento in cui =.
103
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Alla luce di quanto detto finora, per determinare il nostro non dobbiamo fare altro che variare la
fase fino ad ottenere una retta nel diagramma di Lissajous. Nella realt, per modificare il valore di
si utilizza uno sfasatore variabile che interviene direttamente sulla fase delle sinusoidi test. Dato
che il Matlab non mette a disposizione uno strumento simile, si utilizza un secondo generatore
sinusoidale al quale si fa generare un segnale con la stessa ampiezza e la stessa frequenza della
sinusoide test, ma con un valore di fase diverso scelto opportunamente (= ).
Andando a fare i calcoli tramite matlab usando listruzione [B,A]=invfreqs(H,w,nb,na) alle
frequenze e alle fasi ottenute sperimentalmente si ha :
>>
frequenze, moduli, fasi
w=
modulo =
fase =
104
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Funzione di trasferimento 1:
-0.001682
----------
s - 0.1687
p1 =
0.1687
Funzione di trasferimento 2:
0.009232
---------------------
s^2 - 0.2979 s + 2.34
p2 =
0.1490 + 1.5224i
0.1490 - 1.5224i
Funzione di trasferimento 3:
0.1033
--------------------------------
s^3 + 1.05 s^2 + 14.56 s + 11.84
p3 =
-0.1130 + 3.7893i
-0.1130 - 3.7893i
-0.8238
Funzione di trasferimento 3:
105
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
1.991
-------------------------------------------
s^4 + 12.15 s^3 + 55.02 s^2 + 153 s + 252.2
-6.1837
-3.9759
-0.9932 + 3.0447i
-0.9932 - 3.0447i
Andando a plottare i grafici si evince che il migliore modello, scegliendo 5 frequenze solamente,
sono i filtri del terzo e del quarto ordine.
Identificazione in frequenza
0.03
0.02
0.01
0
Amplitude
-0.01
-0.02 Impianto
Sistema 1 ordine
Sistema 2 ordine
Sistema 3 ordine
-0.03 Sistema 4 ordine
-0.04
-0.05
0 1 2 3 4 5 6 7 8 9 10
Time (sec)
106
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Anche nei diagrammi di Bode si constata che la migliore approssimazione quella del terzo ordine, e
del quarto mentre, gli altri filtri sono instabili e approssimano il sistema di partenza solo per basse
frequenze (frequenze inferiori a quella di attraversamento).
Bode Diagram
0
-50
Magnitude (dB)
-100
Impianto
Sistema 1 ordine
-150 Sistema 2 ordine
Sistema 3 ordine
Sistema 4 ordine
-200
-250
90
0
Phase (deg)
-90
-180
-270
-360
-2 -1 0 1 2 3
10 10 10 10 10 10
Frequency (rad/sec)
107
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
1.5.2) Codice Matlab:
108
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
2) Controllori PID.
I PID sono dei controllori molto usati nella pratica, e si basano su tre tipi di
azione di controllo
Sommando queste tre azioni e trasformando lespressione cosi ottenuta nel dominio del tempo, si
ottiene la seguente relazione per lazione PID:
Ki
U(s)=( Kp + + Kd s) E(s)
s
Come si vede il controllo di tipo PID dipende dalle tre costanti di proporzionalit Kp, Kd, Ki
relative alle singole azioni di controllo.
I valori di queste tre costanti possono essere legati tra loro in questa maniera attraverso il tempo
integrale Ti ed il tempo derivativo Td al seguente modo:
Kp
Ki= e Kd=Kp Td
Ti
1
U(s)=Kp( 1 + + Td s) E(s)
sTi
109
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Kp
+
r (t ) + e(t ) +
u (t ) y (t )
Kp
G ( s)
Ti s
+
Kp Td s
Per evitare leffetto dellazione derivativa, che potrebbe indurre un picco nella variabile di controllo
u(t) (se si ha come riferimento un segnale gradino, la sua derivata in senso distribuzionale un
impulso), si usa lo schema con il filtro derivativo in cui si rende causale la derivata e quindi si ha lo
schema reale Pid:
Kp
+
r (t ) + e(t )
+
u (t ) y (t )
Kp
G ( s)
Ti s
Kp Td s
1 + Td / N s
In entrambi i casi si usano delle tabelle per tarare i valori di Kp, Ti e Td.
Una delle tecniche utilizzate per tarare un controllore di tipo Pid, il metodo di Ziegler-Nichols ad
anello chiuso, con il quale si retroaziona unitariamente la funzione danello L(s) formata da un blocco
di guadagno e limpianto da controllore, e si determina empiricamente il valore di K=Ku per cui il
sistema al limite della stabilit (margine di guadagno).
110
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
r (t ) + e(t ) u (t ) y (t )
Ku G ( s)
Una volta ricavato K necessario ricavare la la pulsazione critica u = ' in corrispondenza della
quale il ciclo chiuso diventa instabile ( dove K u G ( j' ) = 1 ).
Una volta ricavati i parametri suddetti si pu eseguire la taratura tramite la seguente tabella:
Kp Ti Td
P 0.5Ku
PI 0.45Ku 0.8T
PID 0.6Ku 0.5T 0.125T
ES 2.2.1
Tarare a ciclo chiuso mediante la tecnica di Ziegler-Nichols ad anello chiuso il sistema con
5
funzione di trasferimento G ( s ) = , progettare dei regolatori P, PI,PID secondo gli
( s + 5) ( s + 10) 2
2
Svolgimento:
Si ricava innanzitutto il valore di K attraverso il criterio di Routh per cui il sistema a catena chiusa
risulta asintoticamente instabile, successivamente si mostra che il sistema al limite della stabilit a
ciclo chiuso attraverso il criterio di Nyquist (simulando il sistema si ottiene in uscita un
oscillazione pronunciata). Svolgendo i calcoli con Matlab si ottiene:
>>
kinst1 =
2250
kinst2 =
111
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
-500
Tracciatura dei diagrammi di Nyquist per la verifica della zone critiche di instabilit per entrambi i
casi suddetti
Caso1 Ku=2250
Nyquist Diagram
4
1
Imaginary Axis
-1
-2
-3
-4
-2 -1 0 1 2 3 4 5
Real Axis
Caso 2 Ku=-500
112
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Nyquist Diagram
1
0.8
0.6
0.4
0.2
Imaginary Axis
-0.2
-0.4
-0.6
-0.8
-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4
Real Axis
Per tarare i controllori PID secondo la tabella, si sceglie il valore positivo del guadagno che porta il
sistema allinstabilit e questo perch altrimenti si violerebbe il criterio di Stabilit di Bode.
kps1 =
1125
Taratura PI
kps2 =
1.0125e+003
T=
0.8886
Ti2 =
113
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
0.7109
Controllore di tipo PI
719.7 s + 1013
--------------
0.7109 s
Funzione di anello PI
3599 s + 5063
----------------------------------------------------
0.7109 s^5 + 21.33 s^4 + 231 s^3 + 1066 s^2 + 1777 s
Taratura PID
kps3 =
1350
Ti3 =
0.4443
Td3 =
0.1111
N=
10
114
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Td4N =
0.0111
Ottenuti tali risultati si passata alla simulazione delle risposte nei vari casi.
Controllore di tipo P
Controllore di tipo PI
115
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
116
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
117
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Dai precedenti schemi si ottengono le seguenti variabili di controllo e le seguenti variabili controllate,
che sono state messe a confronto fra di loro al variare degli schemi suddetti.
Si constatato che il controllore P, pur essendo il pi semplice tra tutti, genera un controllo che porta
delle oscillazioni in uscita al sistema e rende elevato lerrore a regime (poca precisione statica
nellinseguimento del riferimento), mentre il controllore PI rallenta il sistema, accentua lampiezza
delle oscillazioni, ma in compenso rende accurata la precisione a regime, quindi lerrore a fronte di
un riferimento gradino ( se si inviasse come riferimento una rampa, si otterrebbe un errore non nullo
perch lintegratore (1/s) non riuscirebbe ad inseguire la rampa). Il controllore Pid ideale invece
racchiude tutte le azioni di controllo (proporzionale,integrale derivativa): migliora la risposta
118
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
velocizzando il tempo di convergenza, diminuendo il numero di oscillazioni, per contro, presenta un
picco molto accentuato nella variabile di controllo tale da rompere lattuatore e il sistema stesso.
Per migliorare il comportamento del PID si inserisce lazione derivativa tra lanello di retroazione e
lingresso del sistema, in modo che faccia da filtro ed elimini leffetto picco della variabile di controllo
e di conseguenza leffetto dei disturbi di processo in ingresso al sistema ed in uscita.
Controllo di tipo P
10000
Controllo di tipo PI
Controllo di tipo PID
Limitazione azione derivativa
8000
6000
4000
2000
-2000
-4000
0 0.5 1 1.5 2 2.5 3
0.8
0.6
0.4
0.2
-0.2
0 1 2 3 4 5 6
119
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
I risultati delle risposte si possono ritrovare benissimo nel dominio della frequenza
Bode Diagram
Gm = 4.8 dB (at 6.29 rad/sec) , Pm = 31.9 deg (at 4.41 rad/sec)
50
0
Magnitude (dB)
-50
-100
-150
-200
0
Controllo di tipo PI
-90
Phase (deg)
-180
-270
-360
-1 0 1 2 3
10 10 10 10 10
Frequency (rad/sec)
Bode Diagram
Gm = 10.9 dB (at 13.4 rad/sec) , Pm = 52.9 deg (at 5.94 rad/sec)
50
0
Magnitude (dB)
-50
-100
-150
-90
Controllo di tipo PID
-135
Phase (deg)
-180
-225
-270
-1 0 1 2 3
10 10 10 10 10
Frequency (rad/sec)
120
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Bode Diagram
Gm = 8.56 dB (at 10.1 rad/sec) , Pm = 38.2 deg (at 5.46 rad/sec)
50
-50
Magnitude (dB)
-100
-150
-200
-250
-90
Controllo con azione derivativa
-180
Phase (deg)
-270
-360
-1 0 1 2 3 4
10 10 10 10 10 10
Frequency (rad/sec)
121
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
A5=[a31 a32;a41 a42];
A6=[a31 a33;a41 a43];
a51=-det(A5)/a41;
a52=-det(A6)/a41;
a53=0;
if((a11&a21&a31&a41)>0)
disp('Il sistema asintoicamente stabile')
kstab1=kp1
else
disp('Il sistema asintoticamente instabile')
kinst1=kp1
figure(1)
nyquist(kinst1*ng,dg)
pause(3)
end
end
for kp2=-1:-1:-500
[nc2,dc2]=cloop(kp2*ng,dg);
b11=dc2(1);
b12=dc2(3);
b13=dc2(5);
b21=dc2(2);
b22=dc2(4);
b23=0;
B1=[b11 b12;b21 b22];
B2=[b11 b13;b21 b23];
b31=-det(B1)/b21;
b32=-det(B2)/b21;
b33=0;
B3=[b21 b22;b31 b32];
B4=[b21 b23; b31 b33];
b41=-det(B3)/b31;
b42=-det(B4)/b31;
b43=0;
B5=[b31 b32;b41 b42];
B6=[b31 b33;b41 b43];
b51=-det(B5)/b41;
b52=-det(B6)/b41;
b53=0;
if((b11&b21&b31&b41&b51)>0)
disp('Il sistema asintoticamente stabile')
kstab2=kp2
else
disp('Il sistema asintoticamente instabile')
kinst2=kp2
figure(2)
nyquist(kinst2*ng,dg)
pause(3)
end
end
disp('Il sistema al limite della stabilit per kinst1=2250 kinst2=-500')
122
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
pause(3)
disp('Metodo di taratura ad anello chiuso')
123
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
hold on
plot(tpi,ypi,'r')
plot(tpid,ypid,'k')
plot(tpidder,ypidder,'m')
title('Uscite del sistema')
legend('Controllo di tipo P','Controllo di tipo PI','Controllo di tipo PID','Limitazione azione
derivativa')
figure(4)
plot(tp,up)
grid on
hold on
plot(tpi,upi,'r')
plot(tpid,upid,'k')
plot(tpidder,upidder,'m')
title('Variabili di controllo del sistema')
legend('Controllo di tipo P','Controllo di tipo PI','Controllo di tipo PID','Limitazione azione
derivativa')
figure(6)
margin(kps1*ng,dg)
legend('Controllo di tipo P')
figure(7)
margin(nlpi,dlpi)
legend('Controllo di tipo PI')
figure(6)
margin(nlpid,dlpid)
legend('Controllo di tipo PID')
figure(8)
margin(nlpidd,dlpidd)
legend('Controllo con azione derivativa')
ES 2.2.3
Verificare leffetto del filtro derivativo in presenza di rumore di processo allingresso del sistema
5
G (s) = .
( s + 5) ( s + 10) 2
2
Svolgimento:
Si verificher adesso che la presenza del filtro derivativo migliora le prestazioni del sistema dal punto
di vista della moderazione della variabile di controllo e della reiezione dei disturbi di processo in
ingresso al sistema.
Si supponga allora di sommare alla variabile di controllo un rumore bianco gaussiano a banda
limitata, che presenti una PSD con ampiezza pari a 500; tale disturbo deve essere filtrato in modo da
non confondere la variabile di controllo col rumore stesso.
Per verificare il risultato, si confrontano le variabili di controllo e le variabili controllate di uno
schema PID ideale e di uno con filtro derivativo.
124
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Schema PID ideale con rumore di processo in ingresso al sistema:
Schema PID reale (filtro derivativo) con rumore di processo in ingresso al sistema:
125
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
1500
1000
500
-500
-1000
0 5 10 15 20 25 30
0
0 5 10 15 20 25 30
126
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
127
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
2.3) Metodo di taratura ad anello chiuso mediante relay.
Il metodo di taratura prima visto un metodo molto pericoloso, specie se si ha che fare con impianti
che sono molto fragili: infatti limpatto della variabile di controllo nella funzione di trasferimento
dellimpianto, quando si aumenta molto il guadagno danello, pu essere a volte talmente forte che
pu provocare la rottura dello stesso.
Onde evitare questo spiacevole inconveniente, si tara il Pid a ciclo chiuso, sempre mediante la
tecnica di Ziegler-Nichols ad anello chiuso, inserendo al posto del guadagno un relay che ,
aprendosi e chiudendosi, genera un onda quadra e al posto del riferimento gradino, un riferimento
sinusoidale.
Tale onda quadra entrando allinterno del sistema, che tipicante un filtro passa basso, al crescere
della sua ampiezza e al crescere della frequenza del segnale di riferimento, genera in uscita un
segnale sinusoidale sfasato di 180.
Se a lampiezza di oscillazione delluscita e d lampiezza del relay:
1 a 1 4d
G ( j ) = = Ku = =
Ku 4d | G ( j ) | a
128
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
ES 2.3.1
Tarare il sistema dellesercizio precedente con la tecnica del relay a ciclo chiuso.
Svolgimento:
-3
x 10
2
1.5
0.5
-0.5
-1
-1.5
-2
0 2 4 6 8 10 12 14 16 18 20
Una volta ottenuta la forma donda desiderata si calcolato il valore di Ku tramite la formula
precedente e questo stato ottenuto tramite matlab:
Impianto:
5
--------------------------------------
s^4 + 30 s^3 + 325 s^2 + 1500 s + 2500
km =
707.3553
Controllore di tipo P
kps1 =
353.6777
Controllore di tipo PI
Taratura PI
kps2 =
129
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
318.3099
T=
2.3710
Ti2 =
1.8968
Controllore di tipo PI
603.8 s + 318.3
---------------
1.897 s
Funzione di anello PI
Transfer function:
3019 s + 1592
----------------------------------------------------
1.897 s^5 + 56.9 s^4 + 616.5 s^3 + 2845 s^2 + 4742 s
kps3 =
424.4132
Ti3 =
1.1855
Td3 =
0.2964
Controllore di PID
130
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
1.186 s^5 + 35.57 s^4 + 385.3 s^3 + 1778 s^2 + 2964 s
N=
15
Td4N =
0.0198
>>
2500
2000
1500
1000
500
0
0 1 2 3 4 5 6 7 8 9 10
131
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
0.5
0
0 2 4 6 8 10 12 14 16 18 20
Bode Diagram
Gm = 16.3 dB (at 6.79 rad/sec) , Pm = 114 deg (at 0.429 rad/sec)
50
0
Magnitude (dB)
-50
-100
-150
-200
0
Controllore di tipo PI
-90
Phase (deg)
-180
-270
-360
-2 -1 0 1 2 3
10 10 10 10 10 10
Frequency (rad/sec)
132
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Bode Diagram
Gm = 16.2 dB (at 16.2 rad/sec) , Pm = 118 deg (at 0.792 rad/sec)
50
0
Magnitude (dB)
-50
-100
-150
0
Controllore di tipo PID
-90
Phase (deg)
-180
-270
-1 0 1 2 3
10 10 10 10 10
Frequency (rad/sec)
Bode Diagram
Gm = 14.4 dB (at 12 rad/sec) , Pm = 115 deg (at 0.881 rad/sec)
50
0
Magnitude (dB)
-50
-100
-150
-200
0
Controllore con azione derivativa
-90
Phase (deg)
-180
-270
-360
-1 0 1 2 3
10 10 10 10 10
Frequency (rad/sec)
133
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
134
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
disp('Limitazione della azione derivativa')
N=15
Td4N=Td3/N
disp('Controllore con azione derivativa')
npidd=[kps3*11/10*Ti3*Td3 kps3*(Ti3+(Td3/10)) kps3];
dpidd=[Ti3*Td3/10 Ti3 0];
Rpidder=tf(npidd,dpidd)
disp('Funzione di anello azione derivativa')
nlpidd=conv(npidd,ng)
dlpidd=conv(dpidd,dg)
Lpidder=tf(nlpidd,dlpidd)
sim('zn_close_pid_der')
figure(3)
plot(tp,yp)
grid on
hold on
plot(tpi,ypi,'r')
plot(tpid,ypid,'k')
plot(tpidder,ypidder,'m')
title('Uscite del sistema')
legend('Controllore di tipo P','Controllore di tipo PI','Controllore di tipo PID','Limitazione azione
derivativa')
figure(4)
plot(tp,up)
grid on
hold on
plot(tpi,upi,'r')
plot(tpid,upid,'k')
plot(tpidder,upidder,'m')
title('Variabili di controllo del sistema')
legend('Controllore di tipo P','Controllore di tipo PI','Controllore di tipo PID','Limitazione azione
derivativa')
figure(6)
margin(kps1*ng,dg)
legend('Controllore di tipo P')
figure(7)
margin(nlpi,dlpi)
legend('Controllore di tipo PI')
figure(6)
margin(nlpid,dlpid)
legend('Controllore di tipo PID')
figure(8)
margin(nlpidd,dlpidd)
legend('Controllore con azione derivativa')
135
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
k
W ( s) = e sL
1 + s
Kp Ti Td
P /kL
PI 0.9 / k L 3L
PID 1.2 / k L 2L 0.5 L
ES 2.4.1
Tarare a ciclo aperto mediante la tecnica di Ziegler-Nichols ad anello aperto il sistema G(s)
dellesercizio precedente.
Svolgimento:
Per tarare a ciclo aperto limpianto G(s) necessario ricavare il modello a tre parametri W(s) e poi
ricavare i valori dalla tabella precedente.
Il modello a tre parametri di G(s) era stato calcolato precedentemente nella fase di identificazione
attraverso il metodo della tangente, e si era ottenuto il seguente modello:
0.002
W ( s) = e0.1994 s
1 + 0.4615s
Una volta ottenuto il modello, si passato alla taratura e alla simulazione del sistema di controllo:
Il sistema in esame :
5
--------------------------------------
s^4 + 30 s^3 + 325 s^2 + 1500 s + 2500
L=
0.1994
136
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
T=
0.4615
k=
0.0020
0.002
-------------------*exp(-0.1994s)
0.4615 s + 1
Regolatore P
kp =
1.1572e+003
Regolatore PI
kpi =
1.0415e+003
Ti =
0.5982
Regolatore PID
kpid =
1.3887e+003
Tii =
0.3988
Td =
0.0997
137
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
N=
10
TdN =
0.0100
Sono stati simulati tre sistemi e sono state confrontate le risposte ottenute nei vari casi:
1200
1000
800
600
400
200
0
0 0.5 1 1.5 2 2.5 3
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3
138
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
139
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Quest altra tecnica di taratura PID si basa su di un processo di ottimizzazione numerica, ci che si
intende fare e rendere minimo lo scostamento tra la risposta a ciclo aperto di un modello W(s)
identificato a partire dalla risposta a ciclo chiuso del sistema G(s), e la stessa risposta a ciclo chiuso
del sistema. Questo vuol dire che bisogna risolvere un problema di ottimizzazione del tipo:
+
ISE = min e (t )
2
e
0
(Integral square error)
Per fare ci necessario scrivere una funzione oggetto ad hoc e minimizzarla con listruzione fimins,
tenendo conto che i passi dellalgoritmo devono seguire lo schema funzionale qui sotto disegnato:
r (t ) + e1 (t ) u (t )
y d (t )
RPID (kp, Ti, Td ) G (s)
e(t )
+
e 2 (t ) min
W (s)
y s (t )
ES 2.5.1
Tarare il PID analogico che ha funzione di trasferimento G(s) pari a quella degli esercizi precedenti
con il metodo di taratura a ciclo aperto con ottimizzazione.
Svolgimento:
Per tarare ad anello aperto un PID col metodo dellottimizzazione bisogna scrivere una funzione
oggetto che abbia come parametri di ingresso x=[Kp,Ti,Td], la risposta del modello parametrico, un
vettore dei tempi t e minimizzare numericamente con listruzione matlab xp=fmins('function',x0,[],x,y,t) .
Il vettore incognito ovviamente x, deve essere tale che lerrore e sia ottimale.
function f=ottpid(x,y,t)
Kp=x(1);
Ti=x(2);
Td=x(3);
%Numeratore e denomitore del PID
nump=[Kp*Td*Ti Kp*Ti Kp];
denp=[Ti 0];
%Numeratore e denominatore dell'impianto
ng=5;
dg=conv([1 10 25],[1 20 100]);
140
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
%Funzione di trasferimento di anello
numf=conv(nump,ng);
denf=conv(denp,dg);
sysf=tf(numf,denf);
%Retroazione unitaria negativa
sys=feedback(sysf,-1);
%Risposta della funzione di trasferimento con retroazione unitaria
ycl=step(sys,t);
f=sum([(y-ycl).^2]);
a=
0.4060
d=
0.1133
Tp =
0.9333
zita =
0.3275
omegan =
6.3610
ku =
2250
Gm1 =
1.0000
141
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Pm1 =
4.5513e-006
Wcg1 =
7.0711
Wcp1 =
7.0711
T=
0.8886
kp =
1350
Ti =
0.4443
Td =
0.1111
x=
1.0e+003 *
xp =
142
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Le risposte del sistema di controllo a ciclo chiuso con i parametri ottenuti sono:
1.6
PID tarato a ciclo chiuso
Pid tarato con ottimizzazione a ciclo aperto
1.4 Modello paramerico desiderato
1.2
0.8
0.6
0.4
0.2
-0.2
0 2 4 6 8 10 12 14 16 18 20
143
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
T=2*pi/Wcg1
kp=0.6*ku
Ti=0.5*T
Td=0.125*T
x=[kp Ti Td]
%Risposta a gradino del sistema desiderato
y=step(nd,dd,t);
%Fase di ottimizzazione
xp=fmins('ottpid',x,[],x,y,t)
sim('zn_close_pid1')
sim('zn_close_pid_ott')
sim('mod_pid_ott')
plot(tpid1,ypid1,'r')
hold on
plot(tpiddero,ypiddero)
plot(to,yo,'k--')
grid on
legend('PID tarato a ciclo chiuso','Pid tarato con ottimizzazione a ciclo aperto','Modello paramerico
desiderato')
144
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Il fenomeno del Windup dovuto alla saturazione dellattuatore posto tra un controllore PI e
limpianto da controllare.
145
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
5) (0) = 1
Con N R ( s ), DR ( s ) numeratore e denominatore del controllore PID in assenza di schema di anti-
wind up.
Uno schema di desaturazione molto usato il seguente:
ES 2.6.1
Progettare uno schema anti wind-up per il sistema G(s) con funzione di trasferimento pari a quella
degli esercizi precedenti.
Svolgimento:
146
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Uscite del sistema con schemi per effetto wind up
1.2
0.8
0.4
0.2
-0.2
0 5 10 15 20 25 30
147
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
title('Uscite del sistema con schemi per effetto wind up')
legend('Uscita del sistema con effetto wind up','Uscita del sistema senza effetto wind up')
I PID analogici visti in precedenza vengono usati poco oggigiorno, visto che ormai possibile
realizzarli in poco spazio ed in modo molto semplice grazie alla tecnologia digitale.
Per realizzare un controllore PID digitale, necessario definire un periodo di campionamento in
prossimit del quale si prelevano i valori delluscita del sistema da controllare, per poi venir utilizzati
dal PID digitale per calcolare in modo discreto le varie azioni di regolazione.
La variabile di controllo discreta in uscita dal PID deve poi essere necessariamente interpolata in
modo da ottenere un segnale di controllo continuo dato che, il sistema da controllare tempo-
continuo.
Alla luce di quando detto, si pu rappresentare schematicamente un sistema di controllo digitale in
questa maniera:
r (t ) + e (t ) e * (t ) u * (t ) u (t ) y (t )
Per realizzare il PID digitale necessario dare una rappresentazione nel discreto delle varie azioni di
regolazione:
Azione proporzionale:
Azione integrale:
KpTc
I (tk +1 ) = I (tk ) + e(tk ) Eulero in avanti
Ti
KpTc
I (tk +1 ) = I (tk ) + e(tk +1 ) Eulero allindietro
Ti
KpTc e(tk +1 ) + e(tk )
I (tk +1 ) = I (tk ) + Tustin
Ti 2
Azione derivativa:
NTc
D(tk +1 ) = 1 D(tk ) KpN ( y (tk +1 ) y (tk ) ) Eulero in avanti
Td
Td KpNTd
D(tk ) = D(tk 1 ) ( y (tk ) y(tk 1 ) ) Eulero allindietro
Td + NTc Td + NTc
148
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Dal punto di vista grafico le varie approssimazioni numeriche hanno le seguente espressione:
m( z )
y (tk )
EA
EI
TU
1 1 e ( z )
t0 tk 1 tk tk +1 tn t
E godono delle propriet di stabilit che possono essere apprezzate qualitativamente attraverso il
grafico qui di sopra: il metodo di Eulero in avanti mappa i poli allinterno della circonferenza e
allesterno, quindi potrebbe essere o anche non essere convergente;il metodo di Eulero allindietro
mappa i poli in un sottoinsieme della circonferenza di raggio unitario (sottoinsieme di stabilit); il
metodo di Tustin garantisce sempre la consistenza e la stabilit e convergenza.
ES 2.7.1
Progettare uno sistema di controllo PID di natura digitale per il sistema G(s) con funzione di
trasferimento pari a quella degli esercizi precedenti.
Svolgimento:
Per progettare un controllore che lavori in modalit digitale, necessario implementare su chip un
algoritmo di controllo che:
149
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
La cosa fondamentale scegliere un periodo di campionamento, opportuno in modo che sia
soddisfatta la condizione di Nyquist ( f c 2 B ) per evitare fenomeni di sovrapposizione dello spettro
in frequenza (aliasing) in fase di campionamento e scegliere un buon metodo di approssimazione
numerica. Nel caso dellesercizio in questione stato scelto il metodo di Tustin, poich consente di
mappare tutti i poli a parte Re<0 nel continuo, in poli discreti in modulo minore di 1 (poli
asintoticamente stabili).
Lalgoritmo di controllo utilizzato scritto e commentato nella pagina successiva.
function u=Piddig(e)
%Dichiarazione delle variabili globali
global Iold Dold yold y;
%Si verifica che le variabili associate all'azione integrale, proporzionale
%e derivativa si svuotino qualora siano piene
%( Aggiornamento delle variabili vecchie)
if isempty(yold)
yold=0;
end
if isempty(Iold)
Iold=0;
end
if isempty(Dold)
Dold=0;
end
%Si pone in ingresso un riferimento a gradino unitario e si esplicita
%l'uscita in funzione dell'errore
y=1-e;
%Si fissano i valori del PID tarato ad anello chiuso
ku=2250
Kp=ku*0.6;
wpi=7.0711
T=2*pi/wpi
Ti=0.5*T;
Td=0.125*T;
%Si fissa il periodo di campionamento in modo tale che non vi sia Aliasing
T=0.002;
%Valore per il filtro derivativo
N=15;
%Approsimazione alla Tustin
%(Se il processo continuo stabile,lo sar anche quello discreto)
%Coefficiente della parte integrale
bi=(T*Kp)/2*Ti;
%Coefficienti della parte derivativa
ad=(2*Td-N*T)/(2*Td+N*T);
bd=(2*Kp*N*Td)/(2*Td+N*T);
Iold;
yold;
Dold;
%Costruzione dei vari termini del PID
P=Kp*e;
I=Iold+(bi*e);
150
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
D=(ad*Dold)-(bd*(y-yold));
u=P+I+D;
Dold=D;
yold=y;
Iold=I;
return
Dalla simulazione di tale schema si evinto che la risposta presenta un peggioramento dal punto di
vista del tempo di assestamento e di sovraelongazione: la presenza della tenuta di ordine zero genera
un ritardo pari a Tc/2 dove Tc il periodo di campionamento.
Infatti la relazione che intercorre tra lerrore e la variabile di controllo in un sistema di controllo
digitale la seguente:
U ( s ) = e sTc / 2 R (e sTc ) E ( s )
180
La presenza dellesponenziale genera un ritardo di fase pari a e sTc / 2 = cTc , ci nonostante a
regime luscita del sistema di controllo digitale inseguir allo stesso modo il segnale riferimento, alla
stregua del sistema di controllo PID analogico.
151
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
152
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
3) Controllo ON/Off.
Un modo semplice per realizzare il controllo di un processo mediante una controreazione
rappresentato da un controllo di tipo On-Off, che caratterizzato dalla seguente legge di controllo:
umax se e>0
u=
umin se e<0
Questo controllo si basa sullapplicazione del valore umax o umin della variabile u di controllo a
seconda che la differenza tra il riferimento e luscita del sistema da controllare sia positiva o negativa
(infatti e = yref-yo).
Per evitare per molte oscillazioni delluscita attorno al riferimento, che sollecitano eccessivamente
lattuatore, si sceglie un controllo On-Off con isteresi:
u u
umax
e eoff eon e
umin
y (t )
yref
u (t ) umax
umin t
e (t ) eon
eon t
153
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
ES 3.1
Progettare una legge di controllo On/Off per il serbatoio di figura che presenta una sezione di A=1m2
una portata in ingresso di Qin=1/20 m3/s, una costante di diffusione pari a kv [0,1/ 5] dipendente da
una valvola controllata azionata da un attuatore elettrico.
Andare a studiare il comportamento dellazione di controllo nei seguenti casi:
Successivamente per:
154
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Svolgimento:
La costante di efflusso kv dipende da una valvola controllata azionata da un attuatore elettrico avente
10
funzione di trasferimento A( s ) = , mentre lo schema di controllo il seguente:
s + 10
155
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Tramite le simulazioni delle tre risposte precedenti ( risposta in uscita, risposta delle variabili di
controllo, risposta allerrore), si potuto constatare che, mantenendo costante il valore di apertura
e di chiusura del relay e variando solo la costante di efflusso, si sono ottenute delle risposte in cui la
frequenza di oscillazione, rispetto al riferimento, diventata tanto pi piccola quanto pi era piccolo
lintervallo di apertura e chiusura di kv , al contrario nel caso in cui lintervallo di kv era grande.
Una volta verificato il risultato nel caso in cui lerrore rimane costante e lefflusso variabile, si va
simulare il caso in cui lefflusso costante e lerrore viene variato.
156
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
In questo caso invece, pi corto lintervallo di apertura e chiusura del relay, maggiore il numero di
oscillazioni dellerrore e delluscita controllata rispetto al riferimento, questo implica che il sistema di
controllo risulta essere molto sottopressione in termini di frequenza di apertura e chiusura del relay.
157
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
3.2) Codice Matlab
158
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
subplot(3,1,3)
hold on
plot(ton,e,'r')
grid on
%Caso3
disp('Caso3')
kvon=0
kvoff=1/5
sim('serbatoio_on_off')
subplot(3,1,1)
plot(ton,yon,'g')
grid on
legend('Caso1','Caso2','Caso3')
hold on
subplot(3,1,2)
plot(ton,uon,'g')
grid on
subplot(3,1,3)
hold on
plot(ton,e,'g')
grid on
hold off
%caso4
figure(2)
kvon=1/30;
kvoff=1/10
eon=0.2;
eoff=-0.2;
sim('serbatoio_on_off')
subplot(3,1,1)
hold on
plot(ton,yon)
grid on
title('Variabili controllate')
legend('Caso1','Caso2','Caso3')
subplot(3,1,2)
hold on
plot(ton,uon)
grid on
title('Variabili di controllo')
subplot(3,1,3)
hold on
plot(ton,e)
grid on
title('Errore')
%Caso5
disp('Caso2')
kvon=1/30;
kvoff=1/10;
eon=0.1;
eoff=-0.1;
159
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
sim('serbatoio_on_off')
subplot(3,1,1)
plot(ton,yon,'r')
grid on
legend('Caso1','Caso2','Caso3')
hold on
subplot(3,1,2)
hold on
plot(ton,uon,'r')
grid on
subplot(3,1,3)
hold on
plot(ton,e,'r')
grid on
%Caso6
disp('Caso3')
kvon=1/30;
kvoff=1/10;
eon=0.01;
eoff=-0.01;
sim('serbatoio_on_off')
subplot(3,1,1)
plot(ton,yon,'g')
grid on
legend('Caso1','Caso2','Caso3')
hold on
subplot(3,1,2)
plot(ton,uon,'g')
grid on
subplot(3,1,3)
hold on
plot(ton,e,'g')
grid on
160
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Alimentatore
Moduli I/O
Processore
Armadio
Tramite PLC, una scheda di acquisizione per PC ed un software annesso, possibile programmare in
linguaggio ladder o anche in altri linguaggi, le azioni di controllo digitali o analogiche di uno o pi
controllori. In questa sede si user il plc presente nel laboratorio, per risolvere un problema di
automazione industriale. Tra i vari problemi proposti, quello che stato scelto, riguarda la gestione
di un sistema di nastri trasportatori per la lavorazione di pezzi.
ES 4.1
Specifiche funzionali
Specifiche di dettaglio
161
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
In presenza di una condizione di anomalia (Alarm attivo) bisogna provvedere a sospendere ogni
operazione, disabilitare limmissione di nuovi pezzi su Nastro1 e svuotare entrambi i nastri dei pezzi
gi presenti. Al rientro dellemergenza viene ristabilita la condizione di normale funzionamento.
162
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
Svolgimento:
Per prima cosa necessario esplicitare i passi dellalgoritmo tramite luso del SFC:
SFC1 (Nastro1)
1 Motore_1
2 3 Pistone
Tr4 Tr5
Scan1=1000 Scan1=1111 Tr6 Pos_2
Lav_B 4 5 Lav_A
6
t/X4/4s t/X5/6s
Tr7 Tr8 Tr9 Pos_1
8 7
Tr12 Tr10
(Scan2=0000) or (Scan2 =1111)) Scan1=0000
=1
Tr11
9 Motore_2 11
Tr15 Alarm
Tr13 X3
SFC1{} Set
10 12 Motore_1 Motore_2
SFC2{} Disabilita
SFC1{1} Reset
13
SFC2{9} Disabilita
Tr17 =1
163
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
164
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
165
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
166
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
167
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
168
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
169
Corso di Controllo dei Processi e tecnologia dei sistemi di controllo-Teoria del controllo ottimo
quadratico, ottimizzazione e tecniche di identificazione e controllo industriale
A.A 2003/2004 -Universit Mediterranea di Reggio Calabria- Studente-Massimo Talia
170