/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Richiamidifondamentidiautomaticaeconcettifondamentalidicontrollodigitale
1
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
SistemilinearitempocontinuoRappresentazionespaziodistato
CasoSISO(singoloingressosingolauscita)
2
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
SistemilinearitempocontinuoEquazionidifferenzialidiordinenconingresso
equivalealsistemalinearediordinen
3
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Sistemilinearitempocontinuo
Nelcasodieq.differenzialidiordinen:
4
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Sistemilinearitempodiscreto
Rappresentazionespaziodistato
5
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
SistemilinearitempodiscretoSoluzione:
selamatriceAèdiagonalizzabile:
Rispostamodale:similealcasotempocontinuo
Rappresentazionidistatoalgebr.equivalenti:similealcasot.continuo
6
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
SistemilinearitempodiscretoEquazionialledifferenzediordinenconingresso
equivalealsistemalinearediordinen
7
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
SistemilinearitempodiscretoFunzioneditrasferimento
Nelcasodieq.differenzialidiordinen:
Poliezeri:similealcasotempocontinuo8
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Analisineldiscreto‐Campionamentoesatto
1
y(t),y(k) u(t),u(k)‐ ‐
9
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Campionamentoesatto
10
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Campionamentoesatto
InMatlab:sys=ss(A,B,C,D);sysd=c2d(sys,T);
[Ab,Bb,Cb,Db]=ssdata(sysd);
11
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Stabilitàdeisistemilineari
12
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Linearizzazione
13
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Raggiungibilità:motivazione
A,B Cu(k) x(k) y(k)
K
v(k)
Controlloconretroazionedellostato
14
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Raggiungibilità
Soluzione:
Definizione
15
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Raggiungibilità
16
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Raggiungibilità
TEOREMA
17
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Controllabilità
Definizione
18
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Controllabilità
19
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Posizionamentodeipolimedianteretroazionedellostato
20
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Controlloconretroazionedellostato
A,B Cu(k) x(k) y(k)
K
v(k)
Soluzioneconretroazionedellostato
Problema:progettareundispositivoche,connessoalsistemadacontrollare,rendaasintoticamentestabileilsistemacomplessivorisultante.
Sesonodisponibililemisuredituttolostatodelsistema,possiamogenerarel’ingressodicontrollomoltiplicandolemisuredellostatoperunguadagnostaticoK=[k1k2...kn]:
21
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Controlloconretroazionedellostato
A,B Cu(k) x(k) y(k)
K
v(k)
TEOREMA
22
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Assegnazionedegliautovalori
In MATLAB: K=-acker(A,B,P); K=-place(A,B,P);
FormuladiAckermann:
doveP=[λ1λ2...λn]sonoipolidesideratiadanellochiuso
23
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Pole‐placement:esempio
In MATLAB:
» A=[ 0 -1/4 ; -3 1 ];
» B=[ 1 ; -1/2 ];
» K=-place(A,B,[ 1/2 1/4 ])
K =
-0.0909 0.3182
o=autovaloriadanelloapertox=autovaloriadanellochiuso
24
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Osservabilitàestimadellostato
25
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Motivazione
A,B Cu(k) x(k) y(k)
?x(k)ˆ
26
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Osservabilità
27
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Osservabilità
28
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
OsservabilitàTEOREMA
29
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Osservatore(stimatoreasintotico
dellostato)
30
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Stimatoreasintoticodellostato
A,B Cu(k) x(k) y(k)
Soluzione#1:
A,Bx(k)ˆ
31
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Stimatoreasintoticodellostato
A,B Cu(k) x(k) y(k)
A,Bx(k)ˆ
32
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Stimatoreasintoticodellostato
A,B Cu(k) x(k) y(k)
A,Bx(k)ˆ
33
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
StimatoreasintoticodellostatoSoluzione#2:
A,B Cu(k) x(k) y(k)
A,[B L]x(k)ˆ
+
Cy(k)ˆ ‐
34
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Stimatoreasintoticodellostato
TEOREMA
A,B Cu(k) x(k) y(k)
A,[B L]x(k)ˆ
+
Cy(k)ˆ ‐
35
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
StimatoreasintoticodellostatoEsempio MATLAB:
» sys=tf([1 0],[1 2 1]);
» sysd=c2d(sys,.1);
» [A,B,C,D]=ssdata(ss(sysd));
» L=place(A',C',[.5 .7])’;
» eig(A-L*C)
ans =
0.7000 0.5000
36
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
StimatoreasintoticodellostatoSegue esempio MATLAB:
x=[-1;1];xhat=[0;0];
XX=x;XXhat=xhat;T=40;
UU=.1*ones(1,T);
for k=0:T-1, u=UU(k+1); y=C*x+D*u; yhat=C*xhat+D*u; x=A*x+B*u; xhat=A*xhat+B*u+L*(y-yhat); XX=[XX,x]; XXhat=[XXhat,xhat];end
subplot(211)plot(0:T,[XX(1,:);XXhat(1,:)]);gridtitle('x_1')
0 5 10 15 20 25 30 35 40‐10
0
10
20
30
40
x1(k)ˆ
x1(k)
37
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Compensatoredinamico
38
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Ipotesi:sistemacompl.raggiungibileecompl.osservabile
Compensatoredinamico
N.B.:nondipendedau(k),equindidaK!
y(A,B,C)
uv
K
++
Stimatorex̂
39
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Sistemacomplessivoadanellochiuso
40
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Sistemacomplessivoadanellochiuso
LAFUNZIONEDITRASFERIMENTOADANELLOCHIUSOÈRIMASTAIDENTICAALCASOSTATE‐FEEDBACK!!!
41
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
PrincipiodiseparazionePRINCIPIODISEPARAZIONE:
42
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Sceltadellostimatore
LasceltadiLinfluisceduranteiltransitorio!
43
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Sceltadellostimatore
44
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
CompensatoreDinamicoCompensatoredinamico
y(A,B,C)
u
vK+ + Stimatore
x̂
45
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
EsempioMATLAB
K=1;beta=.3;alpha=1;
G=tf(K,[1 beta alpha 0]);
ts=0.5;
Gd=c2d(G,ts);sysd=ss(Gd);[A,B,C,D]=ssdata(sysd);
% Controllorepolicontinuo=[-1, -0.5+0.6*j, -0.5-0.6*j];polidiscreto=exp(ts*policontinuo);K=-place(A,B,polidiscreto);
% Osservatorepolicontinuo=[-10, -9, -8];polidiscreto=exp(ts*policontinuo);L=place(A',C',polidiscreto)';
%u=K*xhat+vbigA=[A,B*K;L*C,A+B*K-L*C];bigB=[B;B];bigC=[C,zeros(1,3)];bigD=0;
T=20;
clsys=ss(bigA,bigB,bigC,bigD,ts);x0=[1 1 1]'; xhat0=[0 0 0]'; initial(clsys, [x0;xhat0],T);pause
t=(0:ts:T)';v=ones(size(t));lsim(clsys,v);
46
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Time (sec.)0 2 4 6 8 10 12 14 16 18 20-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Time (sec.)0 2 4 6 8 10 12 14 16 18 200
0.5
1
1.5
2
2.5
3
Rispostadacondizioneiniziale
(v(k)´0)
Rispostaalgradino
(v(k)´1)
47
EsempioMATLAB
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
ControllorePIDdigitale
48
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
PID‐Parametridibase
49
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
AzionePID
StrutturadibasedelPID
K p+
rPROC E S S O
‐
+
PID
AzioneP
AzionePI
AzionePD
yu
50
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
PIDindustriale
51
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
PIDdigitale
52
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
PIDdigitale
53
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
ControlloOttimoLineareQuadratico(LQR)
54
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
ProblemaLQR:Introduzione•Problemadellasceltadeipoliadanellochiuso:doveposizionarli?
•Obiettivi:
•Renderelostatox(k)“piccolo”(perregolarloversol’origine)•Utilizzareuningressou(k)“piccolo”(pereconomizzarel’usodegliattuatori)
Ingeneralesonoobiettivicontrastanti!
0 0.5 1 1.5 2 2.5 3 3.5 4
‐1
‐0.5
0
0.5
1
statex(t)
0 0.5 1 1.5 2 2.5 3 3.5 4
‐10
‐8
‐6
‐4
‐2
0
2
inputu(t)
•LQR:Tecnicachepermettedipiazzareipoliada.c.inmaniera“ottima”
55
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
ControlloOttimoLQ•Controlloottimo(suorizzontetemporalefinitoT):
56
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
ControlloOttimoLQ
57
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
ControlloOttimoLQ
58
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Controlloottimo:soluzione
59
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Controlloottimo:soluzione
60
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Controlloottimo:soluzione
61
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
PrincipiodiBellman
RichardBellman(1920‐1984)
statoottimox*(t)
0 t1 T
0
0
0 Tt1
x*(t1)
ingressoottimou*(t)
62
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
PrincipiodiBellman
‐1 ‐0.8 ‐0.6 ‐0.4 ‐0.2 0 0.2 0.4 0.6 0.8 1‐1.5
‐1
‐0.5
0
0.5
1
1.5
traiettorieottime
63
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
Programmazionedinamica
64
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
SoluzioneLQmedianteprogr.dinamica
65
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
SoluzioneLQmedianteprogramm.dinamica
66
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
IterazionidiRiccati
JacopoFrancescoRiccati(1676‐1754)
67
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
LQR(orizzonteinfinito)
68
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
LQR(orizzonteinfinito)
69
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
LQR‐Pesosull’uscita
70
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
LQR:Esempio
71
/72©2009byA.Bemporad ControllodiProcessoeSist.Prod.‐A.Bemporad‐A.a.2008/09
LQR:Esempio
0 2 4 6 8 10 12 14 16 18 20‐0.5
0
0.5
1outputy(k)
0 2 4 6 8 10 12 14 16 18 20‐1
‐0.5
0
0.5
1inputu(k)
ρ=0.1
ρ=10
ρ=1000
72