"Ingegneria dell`Automazione"

Transcript

"Ingegneria dell`Automazione"
Manuale di Automazione by Cosimo Bettini, Timoti Lorenzetti, Alberto Guiggiani
is licensed under a Creative Commons Attribuzione - Non commerciale - Condividi
allo stesso modo 3.0 Unported License (http://creativecommons.org/licenses/by-ncsa/3.0/).
di C.Bettini, A.Guiggiani e T.Lorenzetti
1
Indice
I. Analisi e Simulazione dei Sistemi Dinamici
1
1. Introduzione e definizioni
3
2. Trasformata di Laplace
9
2.1. Proprietà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.2. Trasformate notevoli . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3. Antitrasformata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.1. Antitrasformata di funzioni razionali . . . . . . . . . . . . . . 13
3. Rappresentazioni nel tempo continuo
17
3.1. Ingresso/Stato/Uscita . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2. Ingresso/Stato/Uscita (LTI-TC) . . . . . . . . . . . . . . . . . . . . . 18
3.2.1. Evoluzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.2. Principio di sovrapposizione degli effetti . . . . . . . . . . . . 20
3.3. Ingresso/Uscita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4. Ingresso/Uscita (LTI-TC) . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4.1. Funzione di trasferimento . . . . . . . . . . . . . . . . . . . . 21
3.4.2. Rappresentazione fattorizzata . . . . . . . . . . . . . . . . . . 26
3.5. Esempio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4. Risposte a ingressi particolari per sistemi LTI-TC
29
4.1. Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2. Risposta all’impulso
. . . . . . . . . . . . . . . . . . . . . . . . . . . 29
i
Indice
4.3. Risposta al gradino . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.1. Esempio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5. Risposta in frequenza
35
6. Diagrammi di Bode
39
6.1. Diagramma del modulo . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.2. Diagramma della fase . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.3. Diagrammi asintotici . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.4. Diagrammi di elementi base . . . . . . . . . . . . . . . . . . . . . . . 41
6.5. Procedimento pratico . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.6. Esempi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7. Raggiungibilità ed osservabilità
59
8. Stabilità
61
8.1. Stabilità interna (o alla Lyapunov) . . . . . . . . . . . . . . . . . . . 61
8.2. Stabilità esterna (o stabilità BIBO) . . . . . . . . . . . . . . . . . . . 63
8.3. Criteri per la stabilità . . . . . . . . . . . . . . . . . . . . . . . . . . 63
II. Fondamenti di Automatica
67
9. Analisi della retroazione
69
9.1. Retroazione positiva . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
9.2. Retroazione negativa . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
9.3. Ritardi nell’anello di retroazione . . . . . . . . . . . . . . . . . . . . . 71
10.Caratteristiche dei sistemi LTI
73
10.1. Raggiungibilità e stabilizzabilità . . . . . . . . . . . . . . . . . . . . . 73
10.1.1. Decomposizione di raggiungibilità . . . . . . . . . . . . . . . . 74
10.2. Osservabilità e rilevabilità . . . . . . . . . . . . . . . . . . . . . . . . 75
10.2.1. Decomposizione di osservabilità . . . . . . . . . . . . . . . . . 76
ii
di C.Bettini, A.Guiggiani e T.Lorenzetti
Indice
11.Diagrammi di Nyquist
79
11.1. Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
11.2. Diagrammi di funzioni particolari . . . . . . . . . . . . . . . . . . . . 80
12.Criteri di stabilità per sistemi in retroazione
83
12.1. Criterio di stabilità di Bode . . . . . . . . . . . . . . . . . . . . . . . 83
12.2. Criterio di stabilità di Nyquist . . . . . . . . . . . . . . . . . . . . . . 85
12.2.1. Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
12.2.2. Vantaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
12.2.3. Svantaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
12.2.4. Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
12.3. Ricavare Nyquist a partire dal diagramma di Bode
. . . . . . . . . . 86
12.4. Analisi di stabilità in sistemi con ritardo . . . . . . . . . . . . . . . . 92
12.4.1. Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
12.4.2. Estensione del criterio di Nyquist . . . . . . . . . . . . . . . . 96
13.Luogo delle radici
107
13.1. Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
13.2. Regole di tracciamento . . . . . . . . . . . . . . . . . . . . . . . . . . 107
13.3. Guadagni limite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
13.3.1. Criterio di stabilità di Routh-Hurwitz . . . . . . . . . . . . . . 111
13.3.2. Valutazione parte reale e immaginaria
. . . . . . . . . . . . . 112
14.Sintesi per tentativi
115
14.1. Panoramica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
14.2. Specifiche di controllo su W(s) . . . . . . . . . . . . . . . . . . . . . . 115
14.3. Specifiche sui disturbi . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
14.4. Azioni in C(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
14.4.1. Poli in zero . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
14.4.2. Guadagno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
14.4.3. Azione integrativa polo-zero . . . . . . . . . . . . . . . . . . . 118
14.4.4. Azione derivativa zero-polo . . . . . . . . . . . . . . . . . . . . 118
14.4.5. Riassunto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
14.5. Analisi statica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
di C.Bettini, A.Guiggiani e T.Lorenzetti
iii
Indice
14.6. Progetto del compensatore dinamico . . . . . . . . . . . . . . . . . . 121
14.7. Esempi di sintesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
15.Regolatori PID
131
15.1. Il modello . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
15.2. Realizzazione dei regolatori PID
. . . . . . . . . . . . . . . . . . . . 133
15.3. Metodi di taratura automatica . . . . . . . . . . . . . . . . . . . . . . 134
15.3.1. Metodo in CL di Ziegler e Nichols . . . . . . . . . . . . . . . . 134
15.3.2. Metodo delle aree in Ciclo Aperto . . . . . . . . . . . . . . . . 136
III. Controlli Automatici
16.Inseguimento e reiezione ai disturbi
139
141
16.1. Panoramica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
16.2. Inseguimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
16.3. Reiezione dei disturbi . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
16.4. Tabella riassuntiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
17.Stabilizzazione
145
17.1. Caso P (s) stabile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
17.2. Caso P (s) instabile . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
17.2.1. Passo 1: Retroazione con controllore aggiuntivo . . . . . . . . 146
17.2.2. Passo 2: Stabilizzazione di P 0 (s) . . . . . . . . . . . . . . . . 147
17.2.3. Passo 3: Famiglia dei controllori stabilizzanti . . . . . . . . . . 147
17.3. Controllo stabilizzante per inversione . . . . . . . . . . . . . . . . . . 148
17.3.1. Criteri per la stabilità su W (s) . . . . . . . . . . . . . . . . . 148
17.3.2. Controllore per inversione . . . . . . . . . . . . . . . . . . . . 148
17.3.3. Forma generale per W (s) . . . . . . . . . . . . . . . . . . . . . 149
17.4. Procedura di stabilizzazione . . . . . . . . . . . . . . . . . . . . . . . 150
17.4.1. Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
17.4.2. Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
iv
di C.Bettini, A.Guiggiani e T.Lorenzetti
Indice
18.Sintesi diretta
153
18.1. Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
18.2. Specifiche standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
18.2.1. Altre specifiche . . . . . . . . . . . . . . . . . . . . . . . . . . 154
18.3. Condizioni su W (s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
18.4. Estensione - risolve l’impossibilità di soddisfare alle specifiche . . . . 155
18.5. Estensione - risolve caso E(P ) > 2
. . . . . . . . . . . . . . . . . . . 155
18.6. Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
18.6.1. Caso A: W (s) secondo ordine . . . . . . . . . . . . . . . . . . 157
18.6.2. Caso B: aggiunta di una rete anticipatrice . . . . . . . . . . . 158
18.6.3. Caso C: aggiunta poli fuori banda . . . . . . . . . . . . . . . . 158
18.7. Poli e zeri a parte reale positiva . . . . . . . . . . . . . . . . . . . . . 159
18.8. Esempi di sintesi diretta . . . . . . . . . . . . . . . . . . . . . . . . . 160
18.8.1. Polo in zero . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
18.8.2. Zero instabile . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
18.8.3. Polo e zero instabile, polo in zero . . . . . . . . . . . . . . . . 163
19.Prestazioni e stabilità robuste
19.1. Prestazioni per l’inseguimento a sinusoide
167
. . . . . . . . . . . . . . . 167
19.2. Incertezza sul modello . . . . . . . . . . . . . . . . . . . . . . . . . . 169
19.3. Problema della stabilità robusta (PSR) . . . . . . . . . . . . . . . . . 170
19.4. Problema delle prestazioni robuste (PPR) . . . . . . . . . . . . . . . 172
19.5. Teorema su stabilità e prestazioni robuste . . . . . . . . . . . . . . . 173
20.Predittore di Smith
175
IV. Tecniche di Controllo
179
21.Sistemi a Tempo Discreto
181
21.1. Rappresetazioni nel tempo discreto . . . . . . . . . . . . . . . . . . . 182
22.Trasformata Zeta
183
22.1. Proprietà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
di C.Bettini, A.Guiggiani e T.Lorenzetti
v
Indice
22.2. Trasformate notevoli . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
22.3. Antitrasformata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
22.3.1. Antitrasformata di funzioni razionali . . . . . . . . . . . . . . 186
23.Funzione di trasferimento
189
23.1. Analisi della soluzione nel tempo . . . . . . . . . . . . . . . . . . . . 190
23.2. Risposta impulsiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
24.Sistemi a dati campionati
193
24.1. Discretizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
24.1.1. Discretizzazione della funzione di trasferimento . . . . . . . . 194
24.1.2. Metodi approssimati . . . . . . . . . . . . . . . . . . . . . . . 195
24.1.3. Distorsione in frequenza . . . . . . . . . . . . . . . . . . . . . 199
25.Stabilità
201
25.1. Criterio di Jury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
25.2. Raggiungibilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
25.2.1. Decomposizione di raggiungibilità . . . . . . . . . . . . . . . . 204
25.3. Controllabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
25.4. Stabilizzabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
26.Controllo anti windup
211
26.1. Saturazione dell’azione di controllo . . . . . . . . . . . . . . . . . . . 211
26.2. Fenomeno del Windup . . . . . . . . . . . . . . . . . . . . . . . . . . 213
26.3. Archittettura alla Hanus . . . . . . . . . . . . . . . . . . . . . . . . . 214
26.3.1. Teoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
26.3.2. Esempio con controllore PI . . . . . . . . . . . . . . . . . . . . 216
V. Stima e Identificazione
27.Introduzione e definizioni
219
221
27.1. Definizioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
27.2. Risposta dei sistemi dinamici ad ingressi stocastici . . . . . . . . . . . 234
27.3. Fattorizzazione spettrale . . . . . . . . . . . . . . . . . . . . . . . . . 236
vi
di C.Bettini, A.Guiggiani e T.Lorenzetti
Indice
27.4. Processi AR, MA ed ARMA . . . . . . . . . . . . . . . . . . . . . . . 240
27.5. Modellazione di processi non stazionari . . . . . . . . . . . . . . . . . 244
27.6. Equazioni di Lyapunov . . . . . . . . . . . . . . . . . . . . . . . . . . 246
28.Stima puntuale e stimatore MEQM
249
28.1. Stimatore lineare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
28.2. Stima BLUE (ottima, lineare e non polarizzata) . . . . . . . . . . . . 253
28.3. Filtro di Wiener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
28.4. Predizione a MEQM . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
28.5. Filtro di Kalman (TD e TC) . . . . . . . . . . . . . . . . . . . . . . . 261
29.Smoothing
269
30.Modelli per la stima del moto
275
30.1. Tipologia di sensori non lineari . . . . . . . . . . . . . . . . . . . . . 282
31.Filtraggio non lineare
287
31.1. Approccio probabilistico Bayesiano . . . . . . . . . . . . . . . . . . . 287
31.1.1. Criterio del MEQM . . . . . . . . . . . . . . . . . . . . . . . . 288
31.1.2. Correzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
31.1.3. Predizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
31.2. Filtraggio ricorsivo Bayesiano . . . . . . . . . . . . . . . . . . . . . . 290
31.3. Filtraggio EKF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
31.4. Filtraggio UKF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
31.5. Filtraggio PF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
32.Identificazione
303
32.1. Identificazione non parametrica . . . . . . . . . . . . . . . . . . . . . 304
32.1.1. Analisi di correlazione . . . . . . . . . . . . . . . . . . . . . . 307
32.1.2. Analisi spettrale . . . . . . . . . . . . . . . . . . . . . . . . . . 309
32.2. Identificazione parametrica . . . . . . . . . . . . . . . . . . . . . . . . 309
32.2.1. Modelli Polinomiali (SISO) BlackBox . . . . . . . . . . . . . . 312
32.2.2. Modelli GreyBox . . . . . . . . . . . . . . . . . . . . . . . . . 319
di C.Bettini, A.Guiggiani e T.Lorenzetti
vii
Indice
33.Criterio di adeguatezza PEM
323
33.1. Calcolo della stima parametrica . . . . . . . . . . . . . . . . . . . . . 324
33.2. Analisi asintotica del metodo PEM . . . . . . . . . . . . . . . . . . . 329
33.3. Informatività dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
34.Esempi di analisi asintotica del metodo PEM
335
34.1. Identificazione di un segnale MA con un modello AR . . . . . . . . . 335
34.2. Identificazione di un segnale ARMAX con un modello ARX
VI. Controllo Ottimo, Robusto e Adattativo
. . . . . 336
339
34.3. Controllo ottimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
34.3.1. Linear Quadratic Regulation . . . . . . . . . . . . . . . . . . . 341
34.3.2. Cheap Control Regulation . . . . . . . . . . . . . . . . . . . . 348
34.3.3. Single Step Regulation . . . . . . . . . . . . . . . . . . . . . . 350
34.3.4. Stabilità interna e parametrizzazione YJBK . . . . . . . . . . 351
34.3.5. LQR stocastico . . . . . . . . . . . . . . . . . . . . . . . . . . 354
35.Controllo Robusto
361
35.1. Introduzione e definizioni . . . . . . . . . . . . . . . . . . . . . . . . . 361
35.1.1. Regolazione H∞ con informazione completa . . . . . . . . . . 364
35.1.2. Filtraggio H∞ . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
35.1.3. Regolazione H∞ con informazione parziale . . . . . . . . . . . 369
35.1.4. Approccio LMI al problema di regolazione H∞ . . . . . . . . . 371
36.Controllo adattativo
375
36.1. RLS I° . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
36.1.1. Lemma tecnico chiave 2.0 . . . . . . . . . . . . . . . . . . . . 378
36.2. Self Tuning Cheap Control . . . . . . . . . . . . . . . . . . . . . . . . 378
36.3. RLS II° . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
36.4. STCC diretto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
36.5. STCC-CT-NRLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
viii
di C.Bettini, A.Guiggiani e T.Lorenzetti
Indice
37.Identificazione
385
37.1. Identificazione a ampio orizzonte . . . . . . . . . . . . . . . . . . . . 385
37.2. Identificazione per il controllo . . . . . . . . . . . . . . . . . . . . . . 387
38.Controllo a commutazione
391
38.1. Approccio multi-modello . . . . . . . . . . . . . . . . . . . . . . . . . 392
38.2. Approccio prestazionale . . . . . . . . . . . . . . . . . . . . . . . . . 393
38.3. Approccio ad anello di riferimento . . . . . . . . . . . . . . . . . . . . 395
VII.Modellistica e controllo di sistemi meccanici
39.Sistemi anolonomi
401
403
39.1. Distribuzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
39.2. Parentesi di Lie (lie bracket) . . . . . . . . . . . . . . . . . . . . . . . 404
39.3. Vincoli olonomi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
39.4. Vincoli pfaffiani . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
39.5. Vincoli anolonomi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
39.6. Derivata di Lie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
39.7. Distribuzioni completamente integrabili . . . . . . . . . . . . . . . . . 406
39.8. Distribuzioni involutive . . . . . . . . . . . . . . . . . . . . . . . . . . 406
39.8.1. Teorema di Frobenius . . . . . . . . . . . . . . . . . . . . . . . 407
39.8.2. Teorema di Chow . . . . . . . . . . . . . . . . . . . . . . . . . 407
40.Controllo Sliding Mode
409
40.1. Controllo di un sistema NL-SISO . . . . . . . . . . . . . . . . . . . . 409
40.1.1. Definizione di superficie di scivolamento . . . . . . . . . . . . 410
40.1.2. Condizione di scivolamento
. . . . . . . . . . . . . . . . . . . 412
40.1.3. Tempo di raggiungimento . . . . . . . . . . . . . . . . . . . . 412
40.1.4. Sintesi della legge di controllo . . . . . . . . . . . . . . . . . . 413
40.1.5. Casi particolari: . . . . . . . . . . . . . . . . . . . . . . . . . . 416
40.1.6. Chattering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
di C.Bettini, A.Guiggiani e T.Lorenzetti
ix
Indice
41.Controllo a dinamica inversa robusta
419
41.1. Robustezza: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
41.2. Stabilità del sistema di controllo: . . . . . . . . . . . . . . . . . . . . 421
41.3. Superficie discivolamento: . . . . . . . . . . . . . . . . . . . . . . . . 422
41.4. Costruzione del modello di incertezza: . . . . . . . . . . . . . . . . . . 423
42.Visual Servoing
425
42.1. Telecamere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
42.1.1. CCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
42.1.2. CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
42.2. Modelli di telecamera . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
42.2.1. Basic pinhole . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
42.2.2. CCD full perspective . . . . . . . . . . . . . . . . . . . . . . . 429
42.2.3. CCD con distorsione della lente . . . . . . . . . . . . . . . . . 430
42.3. Calibrazione della telecamera . . . . . . . . . . . . . . . . . . . . . . 431
43.Asservimento visivo di robot
435
43.1. Classificazione dei sistemi con asseervimento visivo . . . . . . . . . . 436
43.2. Controllo dei sistemi con visual servoing . . . . . . . . . . . . . . . . 438
43.2.1. Stabilità del sistema . . . . . . . . . . . . . . . . . . . . . . . 439
44.Uniciclo
441
44.1. Modello cinematico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
44.2. Parcheggio dell’uniciclo . . . . . . . . . . . . . . . . . . . . . . . . . . 444
44.2.1. Strategia di controllo . . . . . . . . . . . . . . . . . . . . . . . 446
44.3. Controllo dell’uniciclo lungo una traiettoria . . . . . . . . . . . . . . . 447
44.3.1. Studio della stabilità del controllo . . . . . . . . . . . . . . . . 448
45.Controllo Fuzzy
451
45.0.2. Fuzzificazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
45.0.3. Regole fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
45.0.4. Inferenza fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . 454
45.0.5. Defuzzificazione . . . . . . . . . . . . . . . . . . . . . . . . . . 456
45.0.6. Un esempio di logica fuzzy . . . . . . . . . . . . . . . . . . . . 458
x
di C.Bettini, A.Guiggiani e T.Lorenzetti
Indice
46.Modello matematico di un motore
463
VIII.Sistemi dinamici non lineari
465
47.Modelli a Equazioni di Stato e I/O
467
48.Soluzioni regolari
473
48.1. Analisi di sistemi non lineari . . . . . . . . . . . . . . . . . . . . . . . 474
48.1.1. Equazioni di Van der Pol . . . . . . . . . . . . . . . . . . . . . 476
48.1.2. Sistema di Duffing . . . . . . . . . . . . . . . . . . . . . . . . 477
48.2. Teorema della Varietà Centrale . . . . . . . . . . . . . . . . . . . . . 479
48.3. Secondo criterio di Lyapunov . . . . . . . . . . . . . . . . . . . . . . 483
48.3.1. Criteri di Instabilità . . . . . . . . . . . . . . . . . . . . . . . 484
48.3.2. Scelta della candidata di Lyapunov . . . . . . . . . . . . . . . 485
49.Soluzioni Periodiche
489
49.1. Stabilità di un ciclo limite . . . . . . . . . . . . . . . . . . . . . . . . 489
49.2. Criteri per l’individuazione di un ciclo limite . . . . . . . . . . . . . . 492
49.3. Metodo in frequenza . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
50.Soluzioni quasi periodiche
501
51.Gli attrattori
503
52.Assoluta Stabilità
505
52.1. Teorema generale in frequenza . . . . . . . . . . . . . . . . . . . . . . 505
52.2. Criterio del cerchio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
52.3. Criterio di Popof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
53.Soluzioni non regolari
515
53.1. Esponenti di Lyapunov . . . . . . . . . . . . . . . . . . . . . . . . . . 517
54.Biforcazioni
519
54.1. Biforcazioni di cicli limite . . . . . . . . . . . . . . . . . . . . . . . . 520
54.2. Vie al caos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
di C.Bettini, A.Guiggiani e T.Lorenzetti
xi
Indice
55.Linearizzazione I/O
527
55.1. Analisi della dinamica a zero . . . . . . . . . . . . . . . . . . . . . . . 529
xii
di C.Bettini, A.Guiggiani e T.Lorenzetti
Parte I.
Analisi e Simulazione dei Sistemi
Dinamici
1
1. Introduzione e definizioni
Un sistema dinamico è un modello matematico che descrive l’evoluzione temporale
di un processo (fisico, biologico, economico, ecc...) caratterizzato da variabili d’ingresso u(t) (causa), variabili di uscita y(t) (effetto) e variabili fondamentali che ne
caratterizzano lo stato x(t) (evoluzione).
Figura 1.1.: Modellizzazione di un sistema dinamico
Principio di causalità Il sistema S si dice causale se l’uscita è influenzata esclusivamente da ingressi passati e presenti, ovvero:
y(t) = f (u(−∞,t) )
(1.1)
Stato di un sistema dinamico Lo stato di un sistema dinamico causale x(t) contiene l’informazione relativa al passato dell’ingresso u(t) sufficiente per determinare
l’evoluzione futura dell’uscita y(t).
y(t, +∞) = f (x(t), u(t,+∞) )
(1.2)
Infatti, definendo:
3
Introduzione e definizioni
T insieme dei tempi;
U insieme dei valori d’ingresso (segnali d’ingesso), tale che:
u(t) : T → U
Y insieme dei valori d’uscita (segnali d’uscita), tale che:
y(t) : T → Y
X insieme dei valori dello stato, tale che:
x(t) : T → X
f funzione che mappa la transizione globale dello stato;
h funzione che mappa la transizione globale dell’uscita.
È possibile descrivere l’evoluzione temporale dello stato e dell’uscita come:
x(τ ) = f (t, τ, x(t), u(t,τ ) )
t<τ
y(τ ) = h(t, τ, x(t), u(t,τ ) )
Figura 1.2.: Evoluzione dello stato
4
di C.Bettini, A.Guiggiani e T.Lorenzetti
(1.3)
(1.4)
Introduzione e definizioni
Figura 1.3.: Condensatore
Esempio Si consideri l’equazione caratteristica di un condensatore (mostrato in
Figura 1.3):
u(t) = i(t)
(1.5)
ˆτ
x(τ ) =
(1.6)
u(t) dt
−∞
1
y(τ ) = v(τ ) =
C
ˆτ
i(t) dt =
x(τ )
C
(1.7)
−∞
Conoscendo lo stato iniziale x(0) (carica iniziale del condensatore) è possibile scrivere
l’evoluzione dell’uscita come:
1
y(τ ) = x(0) +
C
ˆτ
u(t) dt
(1.8)
0
di C.Bettini, A.Guiggiani e T.Lorenzetti
5
Introduzione e definizioni
Sistema tempo invariante (TI) Un sistema dinamico si dice tempo invariante o
stazionario se:
x(tı̀ ) = x(tı̀ + τ ) fissato τ > 0
(1.9)
ovvero
f (tı̀ , t, x(ti ), u(tı̀ ,t) ) = f (tı̀ + τ, t + τ, x(ti ), u(t+τ,t+τ ) )
(1.10)
o comunque se le mappature f (·) ed h(·) non dipendono esplicitamente dal tempo,
quindi:
x(τ ) = f (ti , x(ti ), u(ti ,τ ) )
(1.11)
y(τ ) = h(ti , x(ti ), u(ti ,τ ) )
(1.12)
Sistema lineare Un sistema dinamico si dice lineare quando le funzioni f (·) e h(·)
sono lineari in x(·) e u(·).
Nei sistemi lineari vale il principio di sovrapposizione degli effetti, il quale
assicura che la risposta complessiva del sistema dinamico può essere ottenuta come
somma delle risposte dovute alle singole cause (vedi sottosezione 3.2.2).
Sistemi monovariabile e multivariabile Un’altra classificazione possibile riguarda
la dimensione delle variabili del sistema: u(t) ∈ Rm , x(t) ∈ Rn e y(t) ∈ Rp .
6
di C.Bettini, A.Guiggiani e T.Lorenzetti
Introduzione e definizioni
Un sistema si definisce:
SISO (Single Input, Single Output), se m = p = 1 , n ≥ 1;
SIMO (Single Input, Multiple Outputs), se m = 1 , p > 1, n ≥ 1;
MISO (Multiple Inputs, Single Outputs), se m > 1 , p = 1, n ≥ 1;
MIMO (Multiple inputs, Multiple Outputs), se m > 1, p > 1, n ≥ 1.
di C.Bettini, A.Guiggiani e T.Lorenzetti
7
2. Trasformata di Laplace
La trasformata di Laplace è un operatore lineare che associa ad una funzione nel
dominio del tempo f (t) con t ∈ R, una funzione nel dominio della frequenza F (s)
con s ∈ C, ovvero:
ˆ∞
f (t) → F (s) = L [f (t)] =
f (t)e−st dt
(2.1)
0
dove s è la variabile complessa:
s = σ + jω con σ, ω ∈ R
(2.2)
2.1. Proprietà
Linearità
L [α f1 (t) + β f2 (t)] = α F1 (s) + β F2 (s)
(2.3)
9
2.1 Proprietà
Traslazione nel tempo
L [f (t − τ )] = e−τ s F (s)
(2.4)
Traslazione nella frequenza
h
i
L eαt f (t) = F (s − α)
(2.5)
Derivazione nel tempo
n
i−1
X
dn
f (t) n
n−i d
L
f
(t)
=
s
F
(s)
−
s
dtn
dti−1 t=0
i=1
"
#
(2.6)
di conseguenza per n = 1:
#
"
d
f (t) = sF (s) − f (0)
L
dt
mentre per n = 2:
d2
L
f (t) = s2 F (s) − s · f (0) − f˙(0)
dt2
"
#
Integrazione nel tempo
"ˆ τ
L
0
10
#
f (t) dt =
1
F (s)
s
di C.Bettini, A.Guiggiani e T.Lorenzetti
(2.7)
2.1 Proprietà
Convoluzione nel tempo
L [f1 (t) ∗ f2 (t)] = F1 (s) F2 (s)
(2.8)
Teorema del valore iniziale
lim f (t) = lim s F (s)
s→∞
t→0
(2.9)
Teorema del valore finale
lim f (t) = lim s F (s)
t→∞
s→0
(2.10)
Si noti che nel caso in cui si cerca la risposta a regime al gradino si calcola:
1
lim U (s) · sF (s) = lim sF (s) = lim F (s) = F (0)
s→0
s→0
s→0 s
mentre per la rampa:
lim
s→0
1
· F (s)
s
e per la rampa parabolica:
1
· F (s)
s→0 s2
lim
di C.Bettini, A.Guiggiani e T.Lorenzetti
11
2.2 Trasformate notevoli
2.2. Trasformate notevoli
f (t)
δ(t)
1(t) ∀ t ≥ 0
t · 1(t) ∀ t ≥ 0
t2
· 1(t) ∀ t ≥ 0
2
αt
e · 1(t) ∀ t ≥ 0
sin(ωt) · 1(t) ∀ t ≥ 0
cos(ωt) · 1(t) ∀ t ≥ 0
Segnale
impulso
gradino unitario
rampa unitaria
parabola unitaria
esponenziale
sinusoide
cosinusoide
F (s)
1
1
s
1
s2
1
s3
1
s−α
ω
s2 +ω 2
s
s2 +ω 2
Tabella 2.1.: Trasformate di Laplace di segnali notevoli
Esempio Si consideri:
ÿ + 3ẏ + 2y = 1 − 3e−t
con y(0) = 1;
t≥0
(2.11)
ẏ(0) = 0.
Passando nel dominio della frequenza mediante trasformata di Laplace si ottiene:
h
L [ÿ + 3ẏ + 2y] = L 1 − 3e−t
i
(2.12)
h
L [ÿ] + 3L [ẏ] + 2L [y] = L [1] − 3L e−t
i
s2 Y (s) − s y(0) − ẏ(0) + 3 s Y (s) − 3 y(0) + 2 Y (s) =
12
(2.13)
3
1
−
s s+1
di C.Bettini, A.Guiggiani e T.Lorenzetti
(2.14)
2.3 Antitrasformata
s2 Y (s) − s + 3 s Y (s) − 3 + 2Y (s) =
(s2 + 3s + 2)Y (s) =
1
3
−
s s+1
3
1
−
+s+3
s s+1
(2.15)
(2.16)
2.3. Antitrasformata
L’antitrasformata si ricava con la formula di antitrasformazione seguente:
F (s) → f (t) = L
−1
1
[F (s)] =
2πj
σ+∞
ˆ
F (s)est ds
(2.17)
σ−j∞
2.3.1. Antitrasformata di funzioni razionali
Si mostra ora una semplice tecnica per antitrasformare funzioni razionali largamente
usate nella teoria dei sistemi. Questa tecnica si basa sulla scomposizione in fratti semplici; si mostra adesso come antitrasformare gli elementi costitutivi di una
funzione razionale, ovvero:
1. radici semplici;
2. radici di molteplicità m;
3. radici complesse coniugate.
Radici semplici
F (s) =
n
X
N (s)
Kı̀
N (s)
= Qn
=
D(s)
i=1 (s − pi )
i=1 s − pi
di C.Bettini, A.Guiggiani e T.Lorenzetti
(2.18)
13
2.3 Antitrasformata
con
Ki = lim (s − pi )F (s)
s→pi
(2.19)
dove il coefficiente reale Ki è detto residuo di F (s) e le radici pi ∈ C vengono anche
chiamate poli della funzione F (s).
L’antitrasformata risulta essere:
f (t) =
n
X
Ki epi t 1(t)
(2.20)
i=1
Radici di molteplicità m
mi
n X
X
N (s)
Kı̀j
=
j
i=1 (s − pi )
i=1 j=1 (s − pi )
F (s) = Qn
(2.21)
con
Kij =
d(mi −j)
1
lim (mi −j) (s − pi )mi F (s)
(mi − j)! s→pi ds
(2.22)
L’antitrasformata risulta essere:
f (t) =
14
mi
n X
X
Kij tj−1 epi t
1(t)
(j − 1)!
i=1 j=1
di C.Bettini, A.Guiggiani e T.Lorenzetti
(2.23)
2.3 Antitrasformata
Radici complesse coniugate:
n−2
X Kı̀
Kj
N (s)
Kj
=
F (s) =
+
+
Qn−2
s − pj s − pj i=1 s − pi
(s − pj )(s − pj ) i=1 (s − pi )
F 0 (s) =
Kj
Kj
αs + β
+
= 2
s − pj s − pj
s + 2ζωn s + ωn2
(2.24)
(2.25)
Antitrasformando:
q
f 0 (t) = Kj epj t + K j epj t = 2 |Kj | e−ζωn t cos(ωn t 1 − ζ 2 + ∠Kj ) · 1(t)
di C.Bettini, A.Guiggiani e T.Lorenzetti
(2.26)
15
3. Rappresentazioni nel tempo
continuo
Esistono diverse tipologie di rappresentazione per descrivere un sistema dinamico
nel tempo continuo. In questo capitolo sono illustrate:
1. rappresentazione I/S/O (Ingresso/Stato/Uscita);
2. rappresentazione I/O (Ingresso/Uscita).
ognuna delle quali si suddivide in rappresentazione locale e globale. La rappresentazione I/S/O viene detta anche rappresentazione in equazioni di stato.
3.1. Ingresso/Stato/Uscita
I/S/O globale: La descrizione della dinamica (x(t)) viene modellata in forma
esplicita:


x(t)
= f (ti , t, x(ti ), u[ti .t] )

y(t)
= h(ti , t, x(ti ), u[ti .t] )
(3.1)
Difficilmente però le leggi della fisica sono date in questa forma, sopratutto per i
sistemi non lineari.
17
3.2 Ingresso/Stato/Uscita (LTI-TC)
I/S/O locale: In generale una legge fisica può essere espressa nella seguente struttura:



ẋ(t)



= f (t, x(t), u(t))
y(t) = h(t, x(t), u(t))




x(t ) = x noto
i
(3.2)
i
La descrizione della dinamica del sistema non è però in forma esplicita, quindi è
necessario l’utilizzo di strumenti di analisi per determinare le proprietà del sistema.
I/S/O locale in forma matriciale: Una forma largamente usata per la descrizione
dei sistemi lineari tempo varianti (LTV) è:



ẋ(t)



= A(t)x(t) + B(t)u(t)
y(t) = C(t)x(t) + D(t)u(t)




x(t ) = x noto
i
(3.3)
i
dove u ∈ Rm , y ∈ Rp , x ∈ Rn rappresentano rispettivamente i vettori delle variabili
d’ingresso, d’uscita e di stato; si definisce la matrice A(t) matrice di stato.
Ne consegue che: A(t) ∈ Rn×n , B(t) ∈ Rn×m , C(t) ∈ Rp×n , D(t) ∈ Rp×m matrici
dipendenti dalla variabile temporale.
3.2. Ingresso/Stato/Uscita (LTI-TC)
Dati:
• u ∈ Rm vettore delle variabili di ingresso;
• x ∈ Rn vettore delle variabili di stato (con n ordine del sistema);
18
di C.Bettini, A.Guiggiani e T.Lorenzetti
3.2 Ingresso/Stato/Uscita (LTI-TC)
• y ∈ Rp vettore delle variabili di uscita.
Possiamo descrivere un sistema tempo continuo, che goda delle proprietà di linearità
e stazionarietà, mediante la seguente rappresentazione di stato o rappresentazione
ingresso/stato/uscita:


ẋ(t)
= Ax(t) + Bu(t)

y(t)
= Cx(t) + Du(t)
(3.4)
ove A, B, C, D sono matrici di dimensioni opportune.
3.2.1. Evoluzione
Grazie alla formula di Lagrange è possibile determinare le evoluzioni di stato e uscita
corrispondenti ad ingresso u(t), tempo iniziale t0 e stato iniziale x(t0 ):
A(t−t0 )
x(t) = e
ˆt
xt0 +
{z
|
xl
}
eA(t−τ ) Bu(τ )dτ
t0
|
A(t−t0 )
y(t) = Ce
|
{z
yl
(3.5)
{z
}
xf
ˆt
xt0 + C
}
eA(t−τ ) Bu(τ )dτ + Du(t)
(3.6)
t0
|
{z
yf
}
Il primo termine, definito evoluzione libera, è dovuto unicamente allo stato iniziale.
I restanti termini, definiti evoluzione forzata, sono dovuti unicamente al contributo
delle variabili di ingresso.
di C.Bettini, A.Guiggiani e T.Lorenzetti
19
3.3 Ingresso/Uscita
3.2.2. Principio di sovrapposizione degli effetti
Il principio di sovrapposizione degli effetti è una proprietà fondamentale legata alla
caratteristica di linearità del sistema.
Teorema
Dato un sistema lineare stazionario con stato iniziale t0 , e dati x0 e y 0 le evoluzioni
di stato e uscita dovute all’ingresso u0 e stato iniziale x0t0 , x00 e y 00 le evoluzioni di
stato e uscita dovute all’ingresso u00 e allo stato iniziale x00t0 .
Allora, ∀α, β ∈ R, all’ingresso
u000 (t) = αu0 (t) + βu00 (t)
(3.7)
e allo stato iniziale
0
00
x000
t0 = αxt0 + βxt0
(3.8)
corrispondono le evoluzioni di stato e uscita
x000 (t) = αx0 (t) + βx00 (t)
(3.9)
y 000 (t) = αy 0 (t) + βy 00 (t)
(3.10)
Questo ci permette di calcolare l’evoluzione dovuta a più cause come somma pesata
dei singoli effetti provocati dalle singole cause.
3.3. Ingresso/Uscita
20
di C.Bettini, A.Guiggiani e T.Lorenzetti
3.4 Ingresso/Uscita (LTI-TC)
I/O globale:
y(t) = f (t, u[−∞,t] )
I/O locale:
y n (t) = f (t, y(t), ẏ(t), .....y n−1 (t), u(t), u̇(t), .....um (t))
Dove n e m identificano l’ordine delle derivate delle variabili y(·) e u(·).
Il verificarsi di m ≤ n garantisce la causalità.
3.4. Ingresso/Uscita (LTI-TC)
3.4.1. Funzione di trasferimento
In questo capitolo viene introdotta una nuova rappresentazione dei sistemi dinamici
LTI-TC: la funzione di trasferimento. Essa mette in relazione le variabili di ingresso
(Y (s)) e di uscita (U (s)) nel dominio della variabile s o più comunemente nel dominio
della frequenza. Come si vedrà, la funzione di trasferimento permette di studiare le
caratteristiche del sistema in frequenza sfruttando vari strumenti di analisi.
Si consideri la rappresentazione in Equazione 3.11:



ẋ(t)



= Ax(t) + Bu(t)
y(t) = Cx(t) + Du(t)




x(0) = x noto
(3.11)
0
di C.Bettini, A.Guiggiani e T.Lorenzetti
21
3.4 Ingresso/Uscita (LTI-TC)
Applicando la trasformata di Laplace si ottiene


sX(s) − x(0)

Y (s)
= A X(s) + B U (s)
= C X(s) + D U (s)
(3.12)
dove U (s),Y (s) ed X(s) sono le trasformate di Laplace di u(t), y(t) e x(t). Esplicitando X(s) ed Y (s) risulta:


X(s)
= (sI − A)−1 x(0) + (sI − A)−1 B U (s)

Y (s)
= C (sI − A)−1 x(0) + [C (sI − A)−1 B + D] U (s)
(3.13)
L’Equazione 3.13 fornisce un’immediata lettura sulle evoluzioni dello stato e dell’uscita. Si evidenziano infatti la risposta libera e la risposta forzata sfruttando il
principio di sovrapposizione degli effetti:


X(s)
= X l (s) + X f (s)

Y (s)
= Y l (s) + Y f (s)
(3.14)
La risposta libera del sistema risulta essere dipendente solamente dalle condizioni
iniziali; al contrario, il termine di risposta forzata risulta dipendente dal termine
forzante (gli ingressi) U (s).
La matrice G(s) ∈ Rp×m che mette in relazione gli ingressi e le uscite viene chiamata
Funzione di Trasferimento (FdT):
G(s) =
22
Y f (s)
= C (sI − A)−1 B + D
U (s)
di C.Bettini, A.Guiggiani e T.Lorenzetti
(3.15)
3.4 Ingresso/Uscita (LTI-TC)
Quindi per condizione iniziali nulle il sistema illustrato in Equazione 3.11 può essere
descritto con la rappresentazione I/O
Y f (s) = G(s)U (s)
(3.16)
3.4.1.1. Inversione di una matrice
Data una matrice nxn in forma:

A=








a11 · · · a1n

a21 · · · a2n 

.. . .
.. 

. . 
.

an1 · · · ann
la sua inversa viene calcolata mediante il calcolo della matrice aggiunta definita
come:
cof (A, a11 ) · · · cof (A, a1n )

..
..

..
Agg[A] = 
.
.
.

cof (A, an1 ) · · · cof (A, ann )






dove il cofattore cof (A, aij ) è definito come:
cof (A, aij ) = (−1)i+j · det [minore(A, i, j)]
dove a sua volta il minore(A, i, j) rappresenta il minore di A che si ottiene cancellando la riga i-esima e la colonna j-esima. Inoltre si schematizza (−1)i+j come:











+
−
+
−
..
.
−
+
−
+
..
.
+
−
+
−
..
.
−
+
−
+
..
.
···
···
···
···
..
.











di C.Bettini, A.Guiggiani e T.Lorenzetti
23
3.4 Ingresso/Uscita (LTI-TC)
Si ottiene così la matrice inversa come l’aggiunta trasposta divisa per il determinante
della matrice da invertire:
A−1 =
0
1
· Agg [A]
det [A]
Ad esempio se abbiamo:




A=

4 2 0 

3 2 1 

1 2 1
si calcolano il determinante:






2 1 
3 1 
3 2 
det [A] = 4 · det 
− 2 · det 
+ 0 · det 
= −4
2 1
1 1
1 2
e la matrice aggiunta:




Agg [A] = 

0 −2 4 

−2 4 −6 

2 −4 2
da cui deriva la matrice inversa:

A−1
1
2
− 12
=
 12
−1 1

−1 32 − 12
0






Matrici 2x2 nel caso di matrici 2x2 ovvero in forma:


a11 a12 
A=
a21 a22
24
di C.Bettini, A.Guiggiani e T.Lorenzetti
3.4 Ingresso/Uscita (LTI-TC)
la matrice inversa è immediata e pari a:

A−1

a22 −a12 
1
=
·
a11 a22 − a12 a21
−a21 a11
Sistemi del secondo ordine Si riportano di seguito i calcoli da applicare ad un
generico sistema del secondo ordine in forma:




h
i
a11 a12 
b1 
A=
,B=
, C = c1 c2
a21 a22
b2
Noto:


s − a11 −a12 
sI − A = 
−a21 s − a22
si ottiene:
det(sI − A) = (s − a11 )(s − a22 ) − a12 a21
e si ricava:
P (s) = C(sI − A)−1 B
in forma:



h
i s−a
a12   b1 
1
22
c1 c2 
(s − a11 )(s − a22 ) − a12 a21
a21
s − a11
b2
da cui deriva:
P (s) =
1
[c1 [b1 (s − a22 ) + b2 a12 ] + c2 [b1 a21 + b2 (s − a11 )]]
(s − a11 )(s − a22 ) − a12 a21
di C.Bettini, A.Guiggiani e T.Lorenzetti
25
3.5 Esempio
3.4.2. Rappresentazione fattorizzata
Una delle possibili fattorizzazioni della funzione di trasferimento è detta forma di
Bode, particolarmente utile poiché mette in evidenza parametri caratteristici della
risposta del sistema:
2
)
K (1 + τi s) i (1 + 2ζi s/αni + s2 /αni
G(s) = g Q i
Q
2
s i (1 + Ti s) i (1 + 2ξi s/ωni + s2 /ωni )
Q
Q
dove
g tipo, identifica le possibilità di inseguimento a errore nullo per diverse tipologie
di riferimenti (statico, rampa, ecc.);
αni , ωni pulazioni naturali, relative a ciascuna coppia di zeri o poli complessi
coniugati;
τi , Ti costanti di tempo, a denominatore determinano la rapidità con il quale
vengono assorbite le evoluzioni transitorie;
K guadagno del sistema.
3.5. Esempio
Si consideri nuovamente l’esempio del condensatore (in Figura 1.3). Esso può essere
espresso nelle varie rappresentazioni vista finora nel seguente modo:
I/S/O globale
I/S/O locale


x(τ )
= xi +

y(τ )
=



ẋ(t)



26
u(t) dt
´τ
u(t) dt
ti
ti
1
C
= u(t)
y(t) = C




x(t ) = x
i
+
xi
C
´τ
x(t)
i
noto
di C.Bettini, A.Guiggiani e T.Lorenzetti
3.5 Esempio
I/O globale y(τ ) =
I/O locale


ẏ(t)
=

y(ti )
1
C
´τ
−∞
u(t) dt
u(t)
C
= yi
di C.Bettini, A.Guiggiani e T.Lorenzetti
27
4. Risposte a ingressi particolari per
sistemi LTI-TC
4.1. Introduzione
Si definiscono come segnali di ingresso che ammettono regime permanente tutti
quelli che:
• U (s) =
P (s)
,
Q(s)
con ∂{Q} > ∂{P }
Se applicati in ingresso a un sistema caratterizzato da una funzione di trasferimento
(s)
G(s) = N
si ottiene:
D(s)
Y (s) =
N (s) P (s)
A(s) B(s)
=
+
D(s) Q(s)
D(s) Q(s)
(4.1)
A(s)
dove il termine D(s)
individua la risposta transitoria forzata, la quale può essere
identificata studiando la risposta del sistema corrispondente ad un ingresso a forma
di gradino (vedi Figura 4.4)
4.2. Risposta all’impulso
Si consideri la funzione delta di dirac δ, mostrata in Figura 4.1. Essa gode delle
seguenti proprietà:
• δ(x) = 0, ∀x 6= 0
´
• δ(x)dx = 1
29
4.2 Risposta all’impulso
• L{δ(t)} = 1
Figura 4.1.: Delta di Dirac
Forzando il sistema con l’ingresso u(t) = δ(t), in base all’Equazione 3.16 ed all’Equazione 3.15
si ottiene:
y(t) = L−1 {G(s)U (s)} = L−1 {G(s)} = CeAt B + Dδ(t)
(4.2)
Dunque la risposta all’impulso è particolarmente utile per l’analisi dei modi naturali
del sistema. Si definiscano due funzioni di trasferimento di esempio per sistemi di I
e II ordine:
GI (s) =
GII (s) =
1
1+s
(4.3)
1
1 + s + s2
(4.4)
Nelle figure 4.2a e 4.2b sono mostrate le risposte all’impulso per i sistemi caratterizzati dalle funzioni di trasferimento in (Equazione 4.3) e (Equazione 4.4),
rispettivamente.
30
di C.Bettini, A.Guiggiani e T.Lorenzetti
4.3 Risposta al gradino
(a) Sistema del I ordine
(b) Sistema del II ordine
Figura 4.2.: Esempi di risposta all’impulso
4.3. Risposta al gradino
Si consideri la funzione a gradino di Heaviside H, mostrata in Figura 4.3. Essa viene
definita come


H(x)
=0 x<0

H(x)
=1 x≥0
(4.5)
Figura 4.3.: Gradino di Heaviside
Un esempio di risposta al gradino di un sistema del II ordine è mostrato in Figura 4.4.
di C.Bettini, A.Guiggiani e T.Lorenzetti
31
4.3 Risposta al gradino
Figura 4.4.: Risposta al gradino
Uno studio di tale risposta permette di valutare alcuni parametri significativi del
comportamento del sistema in relazione a una brusca variazione del segnale di
ingresso. In particolare:
Tempo di salita Tempo necessario al segnale di uscita per raggiongere una percentuale specifica dell’ampiezza del gradino. Aumenta all’aumentare del coefficiente di smorzamento.
Tempo di assestamento Tempo necessario al segnale di uscita per assestarsi in
un intorno del valore finale, di ampiezza specificata dall’assestamento %. E’
inversamente proporzionale al prodotto di pulsazione naturale ed al coefficiente
di smorzamento.
Sovraelongazione/Sottoelongazione Ammontare (espresso in percentuale rispetto all’ampiezza del gradino) di quanto il segnale di uscita oltrepassa il valore finale e il valore iniziale. La sovraelongazione diminuisce con andamento
esponenziale (negativo) rispetto al coefficiente di smorzamento.
32
di C.Bettini, A.Guiggiani e T.Lorenzetti
4.3 Risposta al gradino
4.3.1. Esempio
Analizziamo l’impianto stabile:
P (s) =
10s + 20
(s + 1)2 (s + 20)
sottoposto ad un controllore proporzionale C(s) = Kp con Kp = 10 e caratterizzato
da un diagramma di Bode come quello in Figura 4.5. Definita W (s) come la funzione
di trasferimento ad anello chiuso:
W (s) =
C(s)P (s)
1 + C(s)P (s)
si calcola l’errore a regime del sistema così strutturato nota la trasformata del
gradino:
U (s) =
1
s
da cui deriva la risposta a regime:
y(∞) = lim u(t)w(t) = lim s · U (s)W (s) = lim W (s) ≈ 0.91
t→∞
s→0
s→0
che porta al calcolo dell’errore a regime (Figura 4.6):
err(t → ∞) = 1 − y(∞) = 1 − 0.91 = 0.09
di C.Bettini, A.Guiggiani e T.Lorenzetti
33
4.3 Risposta al gradino
Figura 4.5.: Diagramma di Bode di P (s) (in blu) e di C(s)P (s) (in verde)
Figura 4.6.: Risposta al gradino di W (s)
34
di C.Bettini, A.Guiggiani e T.Lorenzetti
5. Risposta in frequenza
L’analisi in frequenza di un sistema LTI risulta essere uno strumento molto importante per studiare le caratteristiche e le proprietà del sistema stesso.
Per prima cosa si considerino le varie forme con cui G(s) può essere rappresentata:
• Forma razionale fratta:
G(s) =
b0 + b1 s + ...... + bm sm
a0 + a1 s + ...... + an sn
(5.1)
• Forma poli-zeri:
G(s) = k ·
(s − z1 )(s − z2 )........(s − zm )
(s − p1 )(s − p2 )........(s − p3 )
(5.2)
• Forma a costanti di tempo (o di Bode):
G(s) = k ·
0
s)
(1 + τ10 s)(1 + τ20 s)........(1 + τm
h
s (1 + τ 1 s)(1 + τ 2 s)........(1 + τ m s)
(5.3)
Le tre forme sono equivalenti e possono essere utilizzate in base agli scopi di analisi.
Esempio
G(s) =
1 + 14 s
3s + 12
(s + 4)
=
3
=
6
s3 + 3s2 + 2s
s(s + 1)(s + 2)
s(1 + s)(1 + 21 s)
(5.4)
• poli in: s = 0 , s = −1 , s = −2
• zeri in: s = 4
35
Risposta in frequenza
Si va ora a studiare la risposta permanente di un sistema LTI con un ingresso di tipo
sinusoidale u(t) = U sin(ωt), dove U ed ω sono le generiche ampiezza e pulsazione
del segnale.
In base all’Equazione 3.16 ed alla Tabella 2.1:
Y f (s) = G(s)U (s) = G(s)
Y f (s) =
| {z }
yf (t)
n−2
X
i=1
|
s2
Uω
Uω
= G(s)
2
+ω
(s + jω)(s − jω)
Ki
Kj
Kj
+
+
s − pi s − pj s − pj
{z
}
yfT (t)
|
{z
yfP (t)
(5.5)
(5.6)
}
si ottiene una scomposizione della risposta forzata:
yf (t) = yfG (t) + yfU (t)
dove l’evoluzione di:
yfG (t) dipende dai poli di di G(s) ed identifica la risposta transitoria del sistema;
yfU (t) dipende dalle singolarità di U (s) ed identifica la risposta permanente del
sistema.
Si calcola poi il residuo Kj sapendo che pj = jω:
lim (s − jω)Y f (s) = lim G(s)
s→jω
s→jω
G(jω)U
Uω
=
s + jω
2j
(5.7)
Quindi:
YfP (jω) = G(jω)
36
U
1
1
U
− G(−jω)
2j s + jω
2j s − jω
di C.Bettini, A.Guiggiani e T.Lorenzetti
(5.8)
Risposta in frequenza
Antitrasformando:
h
i
yfP (t) = L−1 YfP (jω) = G(jω)
U jωt
U
e − Ḡ(jω) e−jωt =
2j
2j
(5.9)
=
i
U h
G(jω) − G(jω) cos ωt + j G(jω) − G(jω) sin ωt =
2j
(5.10)
=
i
U h
G(jω) − G(jω) cos ωt + j G(jω) − G(jω) sin ωt =
2j
(5.11)
=
U
[2jIm {G(jω)} cos ωt + 2jRe {G(jω)} sin ωt] =
2j
(5.12)
= U [|G(jω)| sin(argG(jω)) cos ωt + |G(jω)| cos(argG(jω)) sin ωt] =
(5.13)
= U |G(jω)| sin(ωt + ∠G(jω))
(5.14)
Ne deriva che la risposta in frequenza di un sistema LTI, esaurito il transitorio,
dipende dal modulo e fase della funzione complessa G(jω).
di C.Bettini, A.Guiggiani e T.Lorenzetti
37
6. Diagrammi di Bode
I diagrammi di Bode sono tra i gli strumenti grafici più usati per analizzare la risposta
in frequenza di un sistema LTI G(jω). Il sistema viene analizzato considerando il
modulo e la fase in funzione della pulsazione ω.
Per tracciare i diagrammi è utile riportare la funzione G(s) come in Equazione 5.3,
considerando anche i poli complessi coniugati:
G(s) = k ·
i=1 (1
+ τi0 s)
2
2
i=1 (1 + τ i s) j=1 (s /ωnj + 2ζj s/ωnj + 1)
Qm
s
Q
h n−p
Qp
(6.1)
a cui, posta s = jω, corrisponde:
G(jω) = k ·
0
i=1 (1 + τi jω)
Qp
τ i jω) j=1 (1 + 2jζj ω/ωnj
Qm
(jω)
Q
h n−p
i=1
(1 +
2
− ω 2 /ωnj
)
(6.2)
6.1. Diagramma del modulo
Il diagramma del modulo riporta sull’asse delle ascisse il logaritmo in base dieci della
pulsazione ω, mentre sulle ordinate il modulo di G(jω) espresso in decibel (dB):
Ascissa log10 ω
Ordinata |G(jω)|dB = 20 log10 |G(jω)|
Grazie alla scala logaritmica il modulo in decibel del sistema si ottiene:
39
6.2 Diagramma della fase
|G(jω)|dB = |k|dB +
m
X
|1 + τi0 jω|dB −
i=1
p X
−
1 + 2jζj ω/ωnj
i=1
n−p
X
|1 + τ i jω|dB − h |ω|dB −
i=1
2
− ω 2 /ωnj
(6.3)
dB
6.2. Diagramma della fase
Il diagramma della fase riporta sull’asse delle ascisse il logaritmo in base dieci della
pulsazione ω, mentre sulle ordinate la fase di G(jω):
Ascissa log10 ω
Ordinata ∠G(jω)
Sapendo che la fase di prodotti/rapporti è pari alla somma/differenza delle fasi si
ottiene:
∠G(jω) = ∠k +
m
X
∠ (1 + τi0 jω) −
i=1
−
p
X
2
∠ 1 + 2jζj ω/ωnj − ω 2 /ωnj
n−p
X
π
∠ (1 + τ i jω) − h −
2
i=1
(6.4)
i=1
6.3. Diagrammi asintotici
Tracciare i grafici esatti del modulo e della fase potrebbe essere molto oneroso dal
punto di vista dei calcoli. Per ovviare a questo problema è possibile considerare il
diagrammi asintotici del modulo e della fase per poter tracciare le curve in modo
approssimato.
In parole semplici è possibile descrivere il metodo come segue:
40
di C.Bettini, A.Guiggiani e T.Lorenzetti
6.4 Diagrammi di elementi base
• ogni zero porta a guadagnare 20dB/decade;
• ogni polo porta a “perdere” −20dB/decade;
• ogni zero positivo sfasa di −π/2, negativo sfasa di π/2;
• ogni polo positivo sfasa di π/2, negativo di −π/2;
• ogni coppia di valori complessi coniugati in forma:
1 2
ζ
s +2 s+1
2
ωn
ωn
(6.5)
√
provoca un picco di risonanza in ωr = ωn 1 − 2ζ 2 inversamente proporzionale
allo smorzamento ζ con uno sfasamento di −π se questo è positivo, +π se
negativo.
• ogni coppia di valori immaginari puri in forma:
1+
s2
ωn2
provoca un asintoto (verso l’alto per gli zeri, verso il basso per i poli) in ωn
con uno sfasamento istantaneo di −π se è un polo, +π se uno zero.
Si riporta in Tabella 6.1 un riassunto degli effetti di poli e zeri sul diagramma di
Bode. Notiamo che dal punto di vista notazionale, espresso un generico polo/zero
in forma di costanti di Bode:
1 + τs
(6.6)
questo ha parte reale positiva se τ < 0 mentre ha parte reale negativa se τ > 0
(quindi i ragionamenti sono da fare in modo “invertito”, un problema in più per il
povero studente).
6.4. Diagrammi di elementi base
di C.Bettini, A.Guiggiani e T.Lorenzetti
41
6.4 Diagrammi di elementi base
polo Re{sp } > 0
polo Re{sp } < 0
zero Re{sz } > 0
poli complessi coniugati ζ
poli complessi coniugati ζ
poli immaginari puri
zero Re{sz } < 0
zeri complessi coniugati ζ
zeri complessi coniugati ζ
zeri immaginari puri
>0
<0
>0
<0
contributo in |·|
−20dB/dec
−20dB/dec
+20dB/dec
−40dB/dec
−40dB/dec
−40dB/dec
+20dB/dec
+40dB/dec
+40dB/dec
+40dB/dec
contributo in ∠
+90°
−90°
−90°
−180°
+180°
−180°
+90°
+180°
−180°
+180°
Tabella 6.1.: Contributo in modulo e fase di poli e zeri
Guadagno costante:
G(s) = k →


|G(jω)|
dB

∠G(jω)
= 20 log |k|
=0
(6.7)
oppure:


|G(jω)|
dB = 20 log |k|
G(s) = −k → 
∠G(jω) = −π
(6.8)
Integratore:
G(s) =


|G(jω)|
1
dB = −20 log ω
→

s

∠G(jω) = −π/2
(6.9)
Nel caso di un integratore, il diagramma del modulo che si ottiene è un retta, in
quanto le scale degli assi sono logaritmiche.
42
di C.Bettini, A.Guiggiani e T.Lorenzetti
6.4 Diagrammi di elementi base
Si noti che la pendenza è −20 dB/decade, in generale ogni polo decrementa di
20 dB/decade la pendenza della retta, quindi dato s1h si traccia una retta con pendenza −h · 20 dB/decade.
Figura 6.1.: Modulo di G(s) (integratore)
Figura 6.2.: Fase di G(s) (integratore)
di C.Bettini, A.Guiggiani e T.Lorenzetti
43
6.4 Diagrammi di elementi base
Polo:


|G(jω)|
1
dB = −20 log(1 + jωτ ) = −20 log
G(s) =
→

1 + τs
∠G(jω) = − arctan (ωτ )
√
1 + ω2τ 2
(6.10)
Approssimazione asintotica:


0dB
per ωτ 1

−20 log |ωτ |
per ωτ 1
(6.11)
Quindi per poli a parte reale negativa (τ = 1 nell’esempio) abbiamo un contributo
di fase di −90° mentre per poli a parte reale positiva (τ = −1 nell’esempio) di +90°.
Nota: Il massimo errore che si commette tracciando il diagramma asintotico rispetto
a quello esatto è pari a −3 dB proprio in corrispondenza del polo.
Figura 6.3.: Modulo di G(s) per polo con τ = 1 (blu) e τ = −1 (verde)
44
di C.Bettini, A.Guiggiani e T.Lorenzetti
6.4 Diagrammi di elementi base
Figura 6.4.: Fase di G(s) per polo con τ = 1 (blu) e τ = −1 (verde)
Zero:
G(s) = 1 + τ s →


|G(jω)|
dB

∠G(jω)
= 20 log(1 + jωτ ) = 20 log
= arctan (ωτ )
√
1 + ω2τ 2
(6.12)
Approssimazione asintotica:


0dB
per ωτ 1

20 log |ωτ |
per ωτ 1
(6.13)
Quindi per zeri a parte reale negativa (τ = 1 nell’esempio) il contributo in fase è di
+90° mentre per quelli a parte reale positiva (τ = −1 nell’esempio) è di −90°.
di C.Bettini, A.Guiggiani e T.Lorenzetti
45
6.4 Diagrammi di elementi base
Figura 6.5.: Modulo di G(s) per zero con τ = ±1
Figura 6.6.: Fase di G(s) per zero con τ = 1 (blu) e τ = −1 (verde)
46
di C.Bettini, A.Guiggiani e T.Lorenzetti
6.4 Diagrammi di elementi base
Poli complessi coniugati:
G(s) =
1
1 + 2ζs/ωn + s2 /ωn2
(6.14)
da cui si ottiene:
G(s) →


|G(jω)|
dB

∠G(jω)
= 20 log |1 + 2jζj ω/ωn − ω
2
/ωn2 |
= −20 log10
r
1−
ω2
2
ωn
2
+4
ζj2 ω 2
2
ωn
2ζω/ωn
= − arctan( 1−ω
2 /ω 2 )
n
(6.15)
Figura 6.7.: Modulo di G(s) per poli complessi coniugati al variare dello
smorzamento ζ > 0
di C.Bettini, A.Guiggiani e T.Lorenzetti
47
6.4 Diagrammi di elementi base
Figura 6.8.: Fase di G(s) per poli complessi coniugati al variare dello smorzamento
ζ>0
Si può notare che il grafico del modulo di G(jω) (Figura 6.7) presenta un massimo
in funzione dello smorzamento ζ, questo massimo viene chiamato picco di risonanza
che corrisponde a:
Mr = max |G(jω)| =
ω
1
2ζ 1 − 2ζ 2
√
(6.16)
e la corrispondente pulsazione, chiamata pulsazione di risonanza, la quale corrisponde a:
q
ωr = ωn 1 − 2ζ 2
(6.17)
Complessi coniugati a parte reale nulla si tratta di casi particolari facilmente
analizzabili attraverso un esempio. Poniamo di avere la funzione di trasferimento:
G(s) =
48
s2
1
+ 100
di C.Bettini, A.Guiggiani e T.Lorenzetti
6.5 Procedimento pratico
caratterizzata da due poli complessi coniugati in s = 0 ± 10j. Al contrario per la
funzione:
G(s) = s2 + 100
si ottengono due zeri complessi coniugati in s = 0 ± j10. Si riportano in Figura 6.9 i
diagrammi di Bode dei due casi in esempio: come si può notare è presente un picco
di risonanza (verso l’alto per i poli, verso il basso per gli zeri) ed uno sfasamento
rapido della fase rispettivamente di −180° per i poli e +180° nel caso degli zeri.
Figura 6.9.: Diagrammi di Bode per poli (a) e zeri (b) complessi coniugati a parte
reale nulla
6.5. Procedimento pratico
In questa sezione viene mostrato un procedimento pratico per il tracciamento a mano
del diagramma di Bode di una funzione di trasferimento arbitraria. Per illustrare
di C.Bettini, A.Guiggiani e T.Lorenzetti
49
6.5 Procedimento pratico
tale procedimento si fa riferimento alla funzione di trasferimento:
G(s) = 10s2 1 +
1+
s
10
2 s
102
1+
s
103
1+
s
106
1+
2
s
105
4
(6.18)
Passo 1: Determinare poli e zeri. Il primo passo consiste nel determinare i valori
di s (e dunque le frequenze) che comportano un annullamento del denominatore
e del numeratore, in valore assoluto. Ad essi va associata la molteplicità, ovvero
l’esponente dell’espressione ove il polo/zero è individuato. Con riferimento alla
funzione di trasferimento in Equazione 6.18 si ottengono i poli e gli zeri mostrati in
Tabella 6.2.
Poli
Zeri
Freq. Molt. Freq. Molt.
10
2
0
2
3
2
10
1
10
1
5
6
10
4
10
2
Tabella 6.2.: Poli e zeri
Tali poli e zeri vanno poi segnati sopra il diagramma dell’ampiezza con delle “X” e
“0”, rispettivamente, alle frequenze corrispondenti. Eventuali poli o zeri in s = 0
vengono indicati con una freccia verso sinistra poiché sono posizionati a −∞ su scala
logaritmica. Tale procedimento è illustrato in Figura 6.10.
Figura 6.10.: Posizionamento di poli e zeri.
50
di C.Bettini, A.Guiggiani e T.Lorenzetti
6.5 Procedimento pratico
Passo 2: Determinare la pendenza dell’ampiezza. Ciascun polo abbassa la pendenza dell’ampiezza di un valore pari alla sua molteplicità moltiplicata 20dB/decade,
mentre ciascuno zero la alza di un valore corrispondente.
L’obiettivo adesso è segnare, in corrispondenza di ciascuna decade, un numero opportuno di frecce crescenti o decrescenti, ciascuna pari a una salita o discesa di 20
decibel. Si inizia piazzando sulla prima decade una quantità di frecce determinata
da eventuali poli o zeri in s = 0, e si prosegue verso destra modificandole opportunamente ogni volta che si incontra una singolarità. Il risultato relativo all’esempio
è mostrato in Figura 6.11.
Figura 6.11.: Pendenza dell’ampiezza.
Passo 3: Determinare la pendenza della fase. Adesso occorre eseguire un procedimento analogo a quello del passo 2 per il diagramma di fase.
Ciascun polo causa una perdita di fase di 45° per ogni grado di molteplicità, con
effetto sia nella decade immediatamente a sinistra che in quella immediatamente
a destra: la perdita di fase totale sarà dunque “distribuita” su due decadi con
un’ampiezza pari a 90° per ciascun grado di molteplicità. Discorso equivalente per
gli zeri, ma con un guadagno di fase.
Graficamente, ad ogni freccia facciamo corrispondere una variazione di 45°. Posizioniamone una coppia, in verso opportuno, intorno a ciascuna molteplicità di poli
e zeri.
Completato il posizionamento di tali frecce, si determina la fase all’inizio di ciascuna
decade tenendo conto che la fase di partenza è pari a 90° moltiplicati la molteplicità
delle eventuali singolarità in s = 0, con segno positivo se si tratta di zeri e negativo
di C.Bettini, A.Guiggiani e T.Lorenzetti
51
6.5 Procedimento pratico
se si tratta di poli. Il risultato è illustrato, sempre con riferimento all’esempio, in
Figura 6.12.
Figura 6.12.: Pendenza della fase.
Passo 4: Disegnare l’andamento asintotico dell’ampiezza. Il dato che manca
per tracciare l’andamento asintotico dell’ampiezza è il guadagno in corrispondenza
della pulsazione di partenza. Nell’esempio questa è pari a ω = 10−2 rad/s. E’ possibile
dunque sostituire tale valore nell’espressione di G(jω), tralasciando l’unità immaginaria j poiché si tratta di valutarne esclusivamente l’ampiezza. Nella funzione di
trasferimento di esempio si ottiene che tutti i termini eccetto uno sono approssimativamente uguali a 1 e dunque trascurabili, e il valore di ampiezza risultante sarà:
G(10−2 ) ≈ 10−3
(6.19)
che, convertito in decibel:
GdB = 20log(10−3 ) = −60 dB
(6.20)
Si può dunque iniziare a tracciare l’andamento dell’ampiezza partendo da −60
per ω = 10−2 , con pendenza +40 dB/decade. Proseguendo verso destra sarà
poi sufficiente modificare tale pendenza come indicato dalle frecce precedentemente
posizionate. Il risultato è mostrato in Figura 6.13.
52
di C.Bettini, A.Guiggiani e T.Lorenzetti
6.6 Esempi
Figura 6.13.: Grafico dell’ampiezza.
Passo 5: Disegnare l’andamento asintotico della fase. Le informazioni in possesso finora permettono di disegnare immediatamente l’andamento asintotico della
fase, che risulterà pari a quello in Figura 6.14.
Occorre poi ricordare che la fase e l’ampiezza reali seguiranno un andamento più
smussato, senza gli angoli netti degli andamenti asintotici.
Figura 6.14.: Grafico della fase.
6.6. Esempi
di C.Bettini, A.Guiggiani e T.Lorenzetti
53
6.6 Esempi
Esempio 1 Dato il sistema:
G(s) = −12
(10s + 1) (−s + 1)
(0.1s + 1) (−0.01s + 1)2
1
s2
10002
0.1
s+1
+ 2 1000
(6.21)
si nota che il guadagno per s = 0 è pari a −12, quindi il diagramma di Bode partirà
da:
20 log10 (12) ≈ 21.6 dB
(6.22)
con una fase di −180° essendo Kbode < 0 e non essendo presenti poli o zeri nell’origine.
Si considerano adesso i poli e gli zeri caratterizzanti la funzione di trasferimento:
zeri negativi: uno zero negativo (s = −0.1) in ω = 0.1 che porta un guadagno di
20dB/dec ed uno sfasamento di π2 = 90°;
zeri positivi: uno zero positivo (s = 1) in ω = 1 che porta un guadagno di 20dB/dec
ed uno sfasamento di − π2 = −90°;
poli negativi: un polo negativo (s = −10) in ω = 10 che porta un guadagno di
−20dB/dec ed uno sfasamento di − π2 = −90°;
poli positivi: due poli positivi (s = 100) in ω = 100 che portano un guadagno di
−2 · 20 = −40dB/dec ed uno sfasamento di 2 π2 = 180°;
poli complessi coniugati: due poli complessi coniugati per s = 1000 con smorzamento pari a 0.1 che portano un guadagno di −2 · 20 = −40dB/dec ed uno
sfasamento di −2 π2 = −180°.
Si ottiene così il diagramma di Bode illustrato in Figura 6.15.
54
di C.Bettini, A.Guiggiani e T.Lorenzetti
6.6 Esempi
di C.Bettini, A.Guiggiani e T.Lorenzetti
Figura 6.15.: Diagramma di Bode della funzione in esempio 1
55
6.6 Esempi
Esempio 2 Si analizza adesso cosa accade al diagramma di Bode della funzione
con ritardo:
G(s) = 5e−0.01s
(1 + s)
(1 + 10s)
(6.23)
Come visto in precedenza essendo Kbode = 5 > 0 la fase di partenza è nulla mentre
il modulo di partenza è:
20 log10 (5) ≈ 14dB
(6.24)
e il diagramma del modulo (Figura 4.5) è caratterizzato da un polo in 0.1, che porta
un contributo nel modulo di −20dB/dec ed uno zero negativo in 1 che porta un
contributo di +20dB/dec. Come si può notare resta comunque valido quanto finora
detto: il modulo infatti passa da +14dB a −6dB che equivale a quel −20dB/dec
mantenuto per la decade che distanzia 0.1 e 1.
La fase (Figura 4.5) è più curiosa in quanto la fase decresce (passato il ritardo) in
modo esponenziale.
Questo caso è da analizzare in Nyquist poichè con ritardi diversi da zero il sistema ad
anello chiuso può essere caratterizzato da poli a parte reale positiva se il diagramma
di Nyquist compie delle rotazioni orarie intorno al punto (1, 0). Attraverso Nyquist
(come si vedrà in seguito) è così possibile, sistema per sistema, trovare il ritardo
critico Tc che fa perdere la stabilità al sistema ad anello chiuso.
56
di C.Bettini, A.Guiggiani e T.Lorenzetti
6.6 Esempi
Figura 6.16.: Diagramma di Bode di funzione con ritardo
di C.Bettini, A.Guiggiani e T.Lorenzetti
57
7. Raggiungibilità ed osservabilità
59
8. Stabilità
Il concetto di stabilità è fondamentale nello studio dei sistemi dinamici. Intuitivamente per stabilità di un sistema dinamico si intende la sua capacità di mantenere
l’uscita e/o lo stato limitati a fronte di perturbazioni limitate degli ingressi e/o di
un arbitrario stato iniziale. Per capire meglio il concetto di stabilità si vanno a
considerare due definizioni di stabilità:
1. Stabilità interna: associata a perturbazioni delle condizioni iniziali;
2. Stabilità esterna: associata a perturbazioni negli ingressi.
8.1. Stabilità interna (o alla Lyapunov)
Questo concetto di stabilità è stato introdotto alla fine del XIX secolo dal matematico A.M. Lyapunov. Uno stato iniziale x0 si dice stabile alla Lyapunov (o
marginalmente stabile) se:
∀ε > 0 ∃δ > 0 : |xe0 − x0 | < δ ⇒ |x(t, xe0 ) − x(t, x0 )| < ε ∀t ≥ 0
(8.1)
intuitivamente questo equivale a dire che a fronte di “piccole” perturbazioni iniziali
lo stato iniziale è stabile se le traiettorie generate rimangono ad una distanza limitata
dalla traiettoria non perturbata.
Lo studio di questo tipo di stabilità risulta molto utile, in quanto difficilmente lo
stato iniziale di un sistema è noto esattamente o comunque può essere perturbato.
Questa analisi viene eseguita in genere per particolari casi, per esempio riguardo alle
soluzioni regolari (costanti o periodiche).
61
8.1 Stabilità interna (o alla Lyapunov)
Si definiscono punti di equilibrio le soluzioni costanti:
ẋ(t) = f (x(t), u(t)) = 0
(8.2)
Un punto di equilibrio x0 si dice localmente attrattivo se:
∃δ > 0 : ∀xe0 : |xe0 − x0 | < δ ⇒ lim |x(t, xe0 ) − x0 | = 0
t→∞
(8.3)
mentre si dice globalmente attrattivo se:
lim |x(t, xe0 ) − x0 | = 0 ∀xe0
t→∞
(8.4)
Un punto di equilibrio x0 si dice asintoticamente stabile (globalmente o localmente)
se è marginalmente stabile e attrattivo (globalmente o localmente).
Si consideri un sistema LTI in forma:
ẋ(t) = Ax(t)
allora:
• il sistema è marginalmente stabile se e solo se, gli autovalori della matrice
A sono tali che:
λi (A) ≤ 0
• il sistema è asintoticamente stabile se e solo se gli autovalori della matrice
A sono tali che:
A → λi (A) < 0
ovvero se ogni soluzione con ingresso nullo converge ad un dato valore.
62
di C.Bettini, A.Guiggiani e T.Lorenzetti
8.2 Stabilità esterna (o stabilità BIBO)
8.2. Stabilità esterna (o stabilità BIBO)
La stabilità esterna analizza l’effetto che hanno le perturbazioni in ingresso sull’uscita del sistema.
Un sistema si definisce BIBO (Bounded Input Bounded Output) stabile se,
ad ogni ingresso limitato corrisponde un’uscita limitata:
ku(t)k < M ⇒ ky(t)k < N
0 < M, N < ∞
(8.5)
Un sistema LTI è BIBO stabile se e solo se la risposta impulsiva g(t) soddisfa:
ˆ∞
(8.6)
g(t) dt < ∞
0
La stabilità BIBO con condizione iniziale nulla equivale alla stabilità interna se il
sistema è raggiungibile ed osservabile.
8.3. Criteri per la stabilità
Dato un generico polinomio di grado n:
P (s) = an sn + ........a1 s + a0
(8.7)
si definisce la regione di stabilità Cs
Cs = {s ∈ C : Re [P (λi )] < 0}
di C.Bettini, A.Guiggiani e T.Lorenzetti
(8.8)
63
8.3 Criteri per la stabilità
dove P (λi ) sono le radici del polinomio.
I° criterio Condizione necessaria per la stabilità è:
ai > 0 ∀i = 1......n
(8.9)
che è anche sufficiente se n ≤ 2.
II° criterio (criterio di Routh-Hurwitz) Condizione necessaria e sufficiente per la
stabilità si basa sull’analisi della seguente tabella:
an
an−1
bn−1
cn−2
an−2 an−4 an−6 ...
an−3 an−5 ...
bn−2 ...
cn−3
(8.10)
dove i coefficienti bi e ci vengono calcolati come:
bn−1 =
bn−2 =
64
an
an−1
an−2 an−3 −an−1
an
an−1
(8.11)
an−4 an−5 −an−1
di C.Bettini, A.Guiggiani e T.Lorenzetti
(8.12)
8.3 Criteri per la stabilità
cn−2 =
cn−3 =
an−1
bn−1
an−3 bn−2 −bn−1
an−1
bn−1
(8.13)
an−5 bn−3 −bn−1
(8.14)
Calcolati i coefficienti della tabella, ogni variazione di segno nella prima colonna
corrisponde ad una radice a parte reale positiva e ogni permanenza di segno una
radice a parte reale negativa.
di C.Bettini, A.Guiggiani e T.Lorenzetti
65
Parte II.
Fondamenti di Automatica
67
9. Analisi della retroazione
La retroazione (feedback in inglese, ma usato spesso anche in italiano) è la capacità
dei sistemi dinamici di tenere conto dei risultati del sistema per modificare le caratteristiche del sistema stesso. In un controllo in retroazione il valore della variabile
in uscita dal sistema viene letto dal controllore che agisce modificando l’ingresso del
sistema. Questa caratteristica differenzia i sistemi retroazionati (ad anello chiuso)
dai sistemi non retroazionati (ad anello aperto). Nei sistemi di controllo ad anello
aperto il valore della variabile manipolabile viene determinato dentro il nostro sistema sfruttando dei modelli matematici; tali sistemi vengono chiamati predittivi
perché non viene effettuata nessuna verifica sul valore. Nei sistemi di controllo retroazionati, invece, il valore viene determinato e corretto in base alla misura della
variabile controllata e alla verifica della sua corrispondenza; per questo motivo i
sistemi retroazionati vengono anche detti esplorativi. Ad esempio, un sistema di
puntamento ad anello aperto calcola a priori le coordinate dell’obiettivo, quindi sia
la direzione che l’alzata, calcola gli effetti del vento o di altri agenti esterni e poi
incomincia a sparare. Il fatto che l’obiettivo sia stato centrato o meno non influisce
sul puntamento dei colpi successivi. In un sistema retroazionato invece, dopo che
è stato sparato il primo colpo si valuta la distanza dell’obiettivo e in base a questa
vengono modificate le impostazioni dell’arma. È facile capire come in questo caso il
secondo sistema sia molto più efficiente del primo. La teoria dei sistemi retroazionati è utilizzata in molti campi delle scienze pure, delle scienze applicate (tra cui i
controlli automatici) e della biologia.
69
9.1 Retroazione positiva
9.1. Retroazione positiva
Si parla di retroazione positiva quando i risultati del sistema vanno ad amplificare
il funzionamento del sistema stesso, che di conseguenza produrrà risultati maggiori
che amplificheranno ulteriormente il funzionamento del sistema. I sistemi con retroazione positiva sono facilmente (ma non sempre) instabili e tipicamente portano
il sistema a divergere. Un esempio di sistema o processo con retroazione positiva
in natura è lo scioglimento dei ghiacci ai Poli. I ghiacci dei poli, grazie al fatto che
sono bianchi, riflettono i raggi solari. L’aumento della temperatura globale fa sciogliere i ghiacci, questo comporta l’aumento della quantità di raggi solari assorbiti
dalla terra per diminuzione dell’effetto “albedo”, il che fa aumentare ulteriormente la
temperatura globale e sciogliere altri ghiacci e così via. Questo sistema è sicuramente instabile e porta allo scioglimento completo dei ghiacci. Lo stesso meccanismo
o processo può anche agire al contrario, sempre in retroazione positiva, portando
all’espansione dei ghiacci del Polo.
Effetto Larsen: un altro esempio di retroazione positiva arriva dall’acustica. Se il
suono amplificato in uscita da un altoparlante ritorna al microfono (o al pick up, nel
caso di una chitarra) che lo ha generato, si avverte un acuto sibilo o una vibrazione
grave continua. Questo è dovuto al fatto che il suono che entra nel microfono viene
amplificato e mandato agli altoparlanti; se questo ritorna al microfono, si forma una
retroazione positiva che lo amplifica all’infinito. Questo fenomeno si chiama anche
innesco o ritorno e si può eliminare solo allontanando il microfono dagli altoparlanti,
rompendo quindi l’anello di retroazione, o abbassando drasticamente il volume ossia
portando il coefficiente di amplificazione ad un valore minore dell’unità.
9.2. Retroazione negativa
Si parla di retroazione negativa quando i risultati del sistema vanno a smorzare il
funzionamento del sistema stesso (solitamente stabilizzandolo). I sistemi con retroazione negativa sono in genere stabili e tipicamente portano il sistema a convergere.
70
di C.Bettini, A.Guiggiani e T.Lorenzetti
9.3 Ritardi nell’anello di retroazione
Il sistema di puntamento spiegato in precedenza è un sistema a retroazione negativa: il risultato del tiro viene usato per stabilizzare il sistema sull’obiettivo; ogni tiro
può essere utilizzato per puntare meglio l’arma e arrivare più vicino al bersaglio.
Un esempio di sistema con retroazione negativa è la presenza del vapore acqueo
nell’atmosfera. Con l’aumento della temperatura globale una quantità maggiore di
vapore acqueo si forma nell’atmosfera dando vita ad un quantità maggiore di nubi.
Le nubi, così come i ghiacci del polo, sono bianche e quindi riflettono i raggi solari
(cioè hanno una albedo alta). Un minore assorbimento dei raggi solari da parte
della Terra riduce la temperatura globale e quindi diminuisce il vapore acqueo nell’atmosfera. Grazie a questo fenomeno, in assenza di altri ingressi, il quantitativo
di vapore acqueo nell’atmosfera tende ad essere stabile. Tuttavia lo stesso processo porta anche ad una retroazione positiva, infatti con l’aumento di temperatura
aumenta la quantità di vapor d’acqua e, poiché questo è un gas serra, contribuisce
ad aumentare ulteriormente la temperatura terrestre. Per questo motivo il dibattito tra gli scienziati è ancora aperto, infatti è difficile stimare l’effetto generale del
cloud feedback e determinare quale delle diverse retroazioni abbia peso maggiore.
Un altro semplice esempio di retroazione negativa è dato dal galleggiamento di una
boa. Infatti se la boa tende ad affondare, la forza di Archimede aumenta e tende
a farla risalire; invece se la boa tende a risalire la forza di Archimede diminuisce e
quindi la boa ridiscende. L’intero sistema si porta alla stabilità, cioè la boa galleggia
ad una ben determinata altezza. Se un disturbo influenza il sistema costituito dalla
boa (per esempio le onde), il sistema reagisce oscillando, ma mantiene comunque la
stabilità.
9.3. Ritardi nell’anello di retroazione
Il tempo che trascorre tra il momento in cui si ha l’effetto e il momento in cui
tale effetto viene preso in considerazione per modificare il sistema viene definito
ritardo nell’anello di retroazione. Quando questo ritardo è elevato si possono avere
problemi di stabilità anche nei sistemi con retroazione negativa spesso dando vita a
fenomeni oscillatori. Si consideri come esempio il sistema costituito da una persona
che si fa la doccia, il miscelatore e il tubo che porta l’acqua dal miscelatore al
di C.Bettini, A.Guiggiani e T.Lorenzetti
71
9.3 Ritardi nell’anello di retroazione
soffione della doccia. Se la persona che si fa la doccia sente freddo gira il miscelatore
verso l’acqua calda, ma a causa della lunghezza del tubo l’effetto dell’azione non
viene percepito immediatamente dalla persona che sentendo ancora freddo girerà
ulteriormente il miscelatore verso il caldo. A questo punto però l’acqua potrebbe
essere troppo calda, la persona girerà il miscelatore verso il freddo fino a che l’acqua
non sarà sufficientemente fredda, ma a causa del ritardo anche in questo caso l’azione
sarà stata eccessiva portando ad avere l’acqua troppo fredda. In questo caso siamo
in presenza di un sistema stabile (in quanto la temperatura dell’acqua si mantiene
sempre entro un certo intervallo di temperatura), ma l’andamento non è convergente
verso l’obiettivo, bensì oscillatorio.
72
di C.Bettini, A.Guiggiani e T.Lorenzetti
10. Caratteristiche dei sistemi LTI
Due proprietà fondamentali dei sistemi dinamici lineari tempo invarianti sono la
raggiungibilità e la osservabilità. Se queste due proprietà sono verificate sempre un
controllore che rende il sistema controllato asintoticamente stabile.
10.1. Raggiungibilità e stabilizzabilità
Un sistema lineare tempo invariante (LTI) di dimensione n in forma:


ẋ
= Ax + Bu

y
= Cx + Du
è raggiungibile quando tutti i suoi stati sono raggiungibili, ovvero quando la
matrice di raggiungibilità R, definita come:
R = B | AB | A2 B | ... | An−1 B
h
i
ha rango pieno. Quindi se si verifica:
rank {R} = n
Un sistema LTI è quindi raggiungibile se, per ogni stato iniziale x0 , lo stato generico
x è raggiungibile, ovvero se per ogni stato iniziale x0 esiste un ingresso u(t) che
permette al sistema di raggiungere il generico stato x.
73
10.1 Raggiungibilità e stabilizzabilità
Analizzando dal punto di vista pratico la raggiungibilità, si osserva che la matrice
R dipende fondamentalmente dalle matrici che mettono in relazione all’evoluzione
dello stato ẋ lo stato stesso (x) e l’ingresso (u).
Un sistema lineare tempo invariante è stabilizzabile se esiste una matrice di retroazione dello stato che rende asintoticamente stabile il sistema complessivo. Questo è
possibile se e solo se:
• il sistema è completamente raggiungibile;
oppure:
• il sistema non è completamente raggiungibile ma gli autovalori non raggiungibili sono asintoticamente stabili.
10.1.1. Decomposizione di raggiungibilità
Dato un sistema non raggiungibile, ovvero in cui si verifica rank {R} = m < n con
n l’ordine del sistema, è possibile cambiare coordinate scrivendo:
z = Tx
ottenendo come nuove matrici di stato:

Ā = T AT
−1

A11 A12 
=
0 A22


T 
B̄ = T B = 
0
C̄ = CT −1 =
h
C1 C2
i
dove il blocco A11 ha dimensione mxm, B1 ha dimensione mxp e C1 ha dimensione
qxm. Le altre matrici hanno dimensione opportuna per raggiungere quelle originarie
del sistema. Esprimiamo le nuove coordinate z come vettore [z1 z2 ] scriviamo il
74
di C.Bettini, A.Guiggiani e T.Lorenzetti
10.2 Osservabilità e rilevabilità
sistema equivalente a quello di partenza:



ż1



= A11 z1 + A12 z2 + B1 u
ż2 = A22 z2




y = C z + C
1 1
2 z2
Otteniamo così che l’evoluzione è suddivisa in quella di z1 (le prime m variabili)
e z2 (le restanti). Consideriamo ora il sistema come diviso in due sottosistemi S1
ed S2 , dove S1 ha dimensione m ed S2 ha dimensione n − m. Solo il primo è
condizionato dagli ingressi, come si può vedere, e interagisce col secondo tramite
la matrice A12 . L’uscita, invece, caratterizza entrambi. A questo punto è banale
osservare che nessuno stato di S2 è raggiungibile in quanto non è mai condizionato
dall’ingresso; S1 , invece, contiene tutti e soli gli stati raggiungibili.
Scelta della matrice T Vediamo ora come scegliere la matrice di trasformazione
T per il cambiamento di coordinate da x a z. T deve essere tale che la sua matrice
inversa sia formata da due parti: la prima parte è una base di R, di dimensione
nxm. La seconda, di dimensione nx(n − m), è un completamento casuale tale da
rendere la matrice invertibile. Le dimensioni si deducono dal fatto che il numero di
righe e colonne totale dev’essere n e quindi dobbiamo prendere m vettori-colonna
che formano la base di R, più altri n − m vettori che riempiono lo spazio mancante.
Il determinante finale dev’essere diverso da 0 per poter invertire la matrice nella
trasformazione. Ad esempio nel caso di un sistema 2x2 è possibile scegliere una
matrice:

T
−1

1 1 
=
1 0
10.2. Osservabilità e rilevabilità
Un sistema LTI in forma:
di C.Bettini, A.Guiggiani e T.Lorenzetti
75
10.2 Osservabilità e rilevabilità


ẋ
= Ax + Bu

y
= Cx + Du
si dice completamente osservabile se e solo se ogni stato non nullo da luogo ad
un’uscita libera non identicamente nulla, ovvero se la matrice di osservabilità O,
definita come:

O=











A
CA
CA2
..
.
CAn−1










ha rango massimo (n).
Al contrario della raggiungibilità, l’osservabilità dipende dalle matrici che legano lo
stato (x) rispettivamente alla sua evoluzione (ẋ, attraverso A) ed all’uscita (y, attraverso C). In generale, l’osservabilità di un sistema delinea la possibilità di ricostruire
il comportamento interno (l’evoluzione dello stato) osservando l’uscita. Si ricordi
che l’uscita di un sistema è somma del contributo dell’evoluzione libera, dipendente
dallo stato iniziale, ed evoluzione forzata, dipendente unicamente dall’ingresso.
Infine, un sistema si dice rilevabile se e solo se tutti gli autovalori non osservabili
sono asintoticamente stabili.
10.2.1. Decomposizione di osservabilità
Di nuovo troviamo T tale che è possibile riscrivere il sistema:

Ā = T AT −1
76

A11 0 
=
A21 A22
di C.Bettini, A.Guiggiani e T.Lorenzetti
10.2 Osservabilità e rilevabilità

B̄ = T B = 
C̄ = CT −1 =

B1 
B2
h
C1 0
i
dove il blocco A11 ha dimensione mxm, B1 è mxp e C1 qxm. Di nuovo, scomponiamo
in due sottosistemi secondo le nuove coordinate z:



ż1



= A11 z1 + B1 u
ż2 = A21 z1




y = C z
+ A22 z2 + B2 u
1 1
Entrambi i sottosistemi sono condizionati dall’ingresso mentre solo il primo (z1 )
influenza l’uscita y; il secondo, invece, è influenzato dal primo tramite il blocco A21 .
La forma della T da scegliere è quasi identica alla precedente: si va in pratica a
definire T tale che:
T −1 = [Kn−m | Ob ]
dove Kn−m sono n − m colonne di complemento mentre Ob è una base della matrice
di osservabilità (O)b.
di C.Bettini, A.Guiggiani e T.Lorenzetti
77
11. Diagrammi di Nyquist
11.1. Introduzione
Un’alternativa ai diagrammi di Bode per la rappresentazione della funzione di risposta armonica sono i cosiddetti diagrammi polari o di Nyquist. Essi sono di grande
importanza per lo studio della stabilità dei sistemi in retroazione: su questi si basa
infatti il criterio di stabilità di Nyquist. Il diagramma di Nyquist è una rappresentazione cartesiana con ascissa e ordinata rispettivamente parte reale e immaginaria
di G(jω) (risposta in frequenza), mantenendo ω come parametro, ed è utilizzato
nell’ambito dei controlli automatici in quanto permette, con appropriate operazioni
grafiche, di valutare la stabilità di un sistema.
Si noti che G(jω) : R → C e che il diagramma viene tracciato sul piano complesso
G(jω) per ω = (−∞, +∞). Una importante proprietà ai fini del tracciamento è che:
G∗ (jω) = G((jω)∗ ) = G(−jω)
da cui deriva il fatto che nel tracciare il diagramma di Nyquist è sufficiente tracciarlo
per ω ∈ (0, ∞) per poi ribaltarlo rispetto all’asse delle ascisse.
Una cosa importante da tenere in conto è che il diagramma di Nyquist forma una
curva chiusa sul piano G(jω); nel caso di asintoti, questi si chiudono all’infinito (da
0− a 0+ in senso orario). Tale curva chiusa è nota come curva di Cauchy e fa un
numero di giri quanti sono necessari per raccordare la fase tra G(j0− ) e G(j0+ ),
ovvero un numero di rotazioni di 180° in senso orario pari a quanti sono i poli
nell’origine.
79
11.2 Diagrammi di funzioni particolari
Per avere un andamento qualitativo del diagramma di Nyquist si seguono fondamentalmente cinque passi:
1. Analisi asintotica per ω ∈ (0, +∞) attraverso il calcolo di:


limω→0+ |G(jω)|


limω→∞ |G(jω)|


limω→0+ Re [G(jω)]


limω→∞ Re [G(jω)]

lim

limω→∞ ∠G(jω)

lim

limω→∞ Im [G(jω)]
ω→0+
∠G(jω)
ω→0+
Im [G(jω)]
2. Calcolo delle eventuali intersezioni con gli assi risolvendo Re [G(jω)] = 0 e
Im [G(jω)] = 0;
3. Calcolo del diagramma di Bode delle fasi di G(jω) per eliminare le possibili
ambiguità;
4. Applicazione della proprietà G∗ (jω) = G(−jω);
5. Eventuale chiusura ad infinito, ovvero compiere tanti “mezzi giri” (rotazioni di
180°) in senso orario chiusi da 0− a 0+ ad infinito quanti sono i poli nell’origine.
11.2. Diagrammi di funzioni particolari
a) Polo in zero
G(s) =
1
s
(11.1)
b) Polo negativo
G(s) =
k
1 + sT
(11.2)
c) Polo positivo
G(s) =
k
1 − sT
(11.3)
d) Poli complessi coniugati
G(s) =
80
k
1 + 2ρs/ωn + s2 /ωn2
di C.Bettini, A.Guiggiani e T.Lorenzetti
(11.4)
11.2 Diagrammi di funzioni particolari
Figura 11.1.: Diagramma di Nyquist di funzioni note.
di C.Bettini, A.Guiggiani e T.Lorenzetti
81
12. Criteri di stabilità per sistemi in
retroazione
Andiamo adesso ad esporre due possibili metodi per l’analisi di stabilità di un
generico sistema (G(s)) in retroazione unitaria (Figura 12.1).
Figura 12.1.: Generico sistema in retroazione unitaria
12.1. Criterio di stabilità di Bode
Una volta tracciati i diagrammi di Bode, si calcolano il margine di guadagno (mG )
ed il margine di fase (mϕ ) definiti come:
• il margine di fase di un generico impianto G(s) in retroazione unitaria è dato
da:
mϕ = ∠G(jω)|dB=0 − 180°
dove ∠G(jω)|dB=0 è la fase della funzione calcolata per la frequenza ω in cui
il diagramma del modulo attraversa l’asse delle ascisse (quindi è in decibel
uguale a zero).
83
12.1 Criterio di stabilità di Bode
• il margine di guadagno di un generico impianto G(s) in retroazione unitaria è
dato da:
mG = − |G(jω)|ω∠−180°
dove |G(jω)|ω∠−180° è il modulo calcolato nel punto in cui la fase della funzione
attraversa è pari a−180°.
Per il criterio di Bode un sistema in retroazione è stabile se il margine di
guadagno ed il margine di fase sono positivi.
Ad esempio dato l’impianto:
G(s) =
3.7 · 106
s (s + 1.4 · 104 ) (s + 5)
si nota (in Figura 12.2) che margine di fase e di guadagno sono positivi: quindi il
sistema in retroazione è stabile.
Figura 12.2.: Diagramma di Bode della funzione in esempio
84
di C.Bettini, A.Guiggiani e T.Lorenzetti
12.2 Criterio di stabilità di Nyquist
12.2. Criterio di stabilità di Nyquist
12.2.1. Introduzione
Uno degli utilizzi più interessanti del Diagramma di Nyquist permette di valutare la
stabilità del sistema retroazionato a partire dalla rappresentazione di Nyquist della
funzione di trasferimento ad anello aperto. Tale criterio, detto criterio di stabilità
di Nyquist, presenta diversi vantaggi e svantaggi.
12.2.2. Vantaggi
• Non necessita di calcolare esplicitamente poli e zeri delle funzioni di trasferimento in anello aperto e in anello chiuso. E’ sufficiente l’informazione del
numero di poli a parte reale positiva della funzione in anello aperto.
• Può essere applicato a sistemi con funzioni di trasferimento non razionali, come
sistemi che presentano ritardi.
• Può essere facilmente generalizzato per sistemi MIMO (multiple inputs /
multiple outputs).
12.2.3. Svantaggi
• Applicabile esclusivamente a sistemi LTI (lineari tempo-invarianti).
• Fornisce scarse indicazioni in merito alle cause di instabilità di un sistema ed
alle tecniche per stabilizzarlo.
12.2.4. Procedimento
1. Si determina il numero n > 0 di poli a parte reale strettamente positiva della
G(s) (funzione di trasferimento del sistema in anello aperto). Questo valore
costituirà il grado di instabilità di partenza In .
di C.Bettini, A.Guiggiani e T.Lorenzetti
85
12.3 Ricavare Nyquist a partire dal diagramma di Bode
2. Si disegna il Diagramma di Nyquist di G(jω), specchiandolo rispetto all’asse
reale per includere anche le frequenze negative.
3. Si suddivide l’asse reale in settori individuati dalle intersezioni con il diagramma di G(jω). Considerando un guadagno di retroazione K, si individua in
quale settore dell’asse reale cade − K1 . In ciascun settore, tale guadagno causa
una riduzione (−1) o un aumento (+1) del grado in instabilità I(·) del sistema
in anello chiuso pari ai giri compiuti dalla traccia di G(s) in senso antiorario
e orario, rispettivamente.
12.3. Ricavare Nyquist a partire dal diagramma di
Bode
Analizziamo la funzione di trasferimento:
G(s) =
0.005s2 + 40
(s2 + 3.184s + 201.7) (s2 + 1.82s + 9915)
e descriviamone rispettivamente i diagrammi di Bode (Figura 12.3) e di Nyquist
(Figura 12.4).
Per quanto riguarda il diagramma di Bode, noto il guadagno (per s = 0) G(0) ≈ 2 ·
10−5 , si riporta in scala logaritmica e si definisce il guadagno in continua 20 log(G(0)) ≈
−94dB. A questo punto si identificano i due zeri complessi coniugati (in forma
s2 + 2ζωn s + ωn2 ) a parte reale nulla in ωn1 ≈ 90 (per s ≈ 0 ± j89) e i quattro poli a
parte reale negativa (sempre in forma s2 + 2ζωn s + ωn2 ) rispettivamente per ωn2 ≈ 14
(in s ≈ −1.6 ± j14) ed ωn3 ≈ 100 (s ≈ −0.9 ± j100) in accordo alla formula:
s2 + 2ωn ζs + ωn2
Si considera così il diagramma di Bode in Figura 12.3 che descrive l’andamento della
funzione in frequenza:
86
di C.Bettini, A.Guiggiani e T.Lorenzetti
12.3 Ricavare Nyquist a partire dal diagramma di Bode
• per ω = ωn2 abbiamo due poli a parte reale negativa con ζ = 0.11 . Ciò implica
in modulo una piccola sovraelongazione per ω = ωn2 dopo la quale si ha un
decremento di −40dB/dec. In fase, invece, si ottiene un contributo di −180°;
• per ω = ωn1 abbiamo due zeri a parte reale nulla con ζ = 0. Ciò implica
in modulo una grande sottoelongazione per ω = ωn1 dopo la quale si ha un
incremento di +40dB/dec. In fase, invece, si ottiene un contributo repentino
di +180°;
• per ω = ωn3 abbiamo due poli a parte reale negativa con ζ = 0.009 Ciò implica
in modulo una media sovraelongazione per ω = ωn3 dopo la quale si ha un
decremento di −40dB/dec. In fase, invece, si ottiene un contributo di −180°.
Analizziamo adesso il diagramma di Nyquist della funzione in esame. Per quanto
riguarda le frequenze positive si considera, in Figura 12.4, solo il diagramma a parte
immaginaria negativa (poi specchiato a parte immaginaria positiva). Si parte da un
guadagno di 2 · 10−5 sull’asse reale. Il primo passo è analizzare la successione con
cui si trovano i poli e gli zeri del sistema. Come precedentemente visto, si hanno
tutte grandezze complesse coniugate. Più precisamente, si identificano due poli a
parte reale negativa (per ωn = 14), due zeri a parte reale nulla (per ωn = 90) e due
poli a parte reale negativa (per ωn = 100). Di conseguenza:
• il diagramma parte da un modulo a parte reale pari a 2 · 10−5 ;
• i primi due poli per ω = 14 portano uno sfasamento verso i −180° con ζ molto
piccolo (quindi graficamente largo);
• gli zeri per ω = 90 fanno passare il diagramma di Nyquist per l’origine e
impongono un cambio di fase di 180°, quindi il grafico compie un “salto” nel
primo quadrante;
• gli ultimi due poli per ω = 100 portano di nuovo uno sfasamento verso i −180°
con il modulo che tende a zero (da destra);
• a questo punto si ribalta il tutto per ottenere il grafico per le frequenze
negative.
di C.Bettini, A.Guiggiani e T.Lorenzetti
87
12.3 Ricavare Nyquist a partire dal diagramma di Bode
Figura 12.3.: Diagramma di Bode della funzione in esempio
Esempio #1 analizziamo adesso la funzione di trasferimento:
P (s) =
s2
s+4
+ 2s + 8)
(s2
caratterizzata da due poli in s = 0, uno zero in s = −4 e due poli complessi coniugati
a parte reale negativa in s = −1 ± j2.65 (ωn = 2.8). Lo studio del diagramma di
Bode è abbastanza semplice:
• i due poli in zero fanno sì che la funzione abbia una pendenza iniziale di
−40dB/dec (con fase −180°) tale per cui in ω = 0.1 è possibile calcolare il
modulo come 20 log (|P (j0.1)|) ≈ 34;
• i due poli complessi coniugati in ωn = 2.8 risultano molto vicini allo zero (in
s = −4). Ciò porta un contributo di fase di −180° + 90° = −90° ed una
variazione di pendenza che tende a −60dB/dec (come si nota in Figura 12.5).
Per quanto riguarda il diagramma di Nyquist (Figura 12.5), invece, le cose sono
leggermente diverse dal caso precedente: il diagramma parte infatti da +∞ con fase
88
di C.Bettini, A.Guiggiani e T.Lorenzetti
12.3 Ricavare Nyquist a partire dal diagramma di Bode
Figura 12.4.: Diagramma di Nyquist della funzione in esempio
−180° e tende a zero con fase −270° (che in realtà si traduce in +90°).
Esempio #2 dato il sistema:
P (s) =
10
(1 + s)2
si noti che in Bode il modulo parte da 20 log(10) e decresce monotonicamente (dopo
s = −1) con pendenza −40dB/dec, mentre la fase parte da 0° e termina a −180°.
Dal diagramma di Bode è immediato ricavare quello di Nyquist (in Figura 12.6).
Si osservi ora che che il numero di poli a parte reale strettamente positiva np>0 è
nullo e che il diagramma di Nyquist non compie giri intorno al punto −1 (quindi
N = 0). Essendo N = np>0 il sistema in anello chiuso è asintoticamente stabile
di C.Bettini, A.Guiggiani e T.Lorenzetti
89
12.3 Ricavare Nyquist a partire dal diagramma di Bode
Figura 12.5.: Diagramma di Bode e di Nyquist della funzione P (s) analizzata
Esempio #3 analizziamo adesso l’impianto:
P (s) =
10
(1 + s)3
il diagramma di Nyquist qualitativo si può tracciare di nuovo facilmente (osservando che ora la fase della risposta in frequenza termina a −270°) ed è riportato in
Figura 12.7.
Anche in questo caso np>0 = 0, mentre per determinare il valore di N occorre
stabilire dove si trova il punto P in cui il diagramma attraversa l’asse reale. Tale
punto può essere caratterizzato come quello in cui la parte immaginaria della risposta
in frequenza si annulla o come quello in cui la fase della risposta in frequenza vale
−180°. Seguiamo quest’ultima strada e denominando ωp la pulsazione cui è associato
il punto P . Si ricava così:
∠L(jωp ) = −180° ⇒ −3∠(1 + ωp ) = −180°
90
di C.Bettini, A.Guiggiani e T.Lorenzetti
12.3 Ricavare Nyquist a partire dal diagramma di Bode
Figura 12.6.: Diagramma di Nyquist della funzione in esame
da cui si ottiene:
arctan(ωp ) = 60° ⇒ ωp =
√
3 ≈ 1.73
da cui è possibile ricavare:
|L(jωp )| =
10
10
>1
3 =
8
|1 + jωp |
quindi il punto P si trova a sinistra del punto −1 attorno al quale il diagramma
compie quindi due giri in senso orario. Pertanto N = −2 ed il sistema in anello
chiuso non è asintoticamente stabile (dato che N 6= np>0 ).
Esempio #4 Analizziamo il sistema:
P (s) =
s2
s+4
+ 2s + 8)
(s2
il cui diagramma di Nyquist è rappresentato in Figura 12.5. Come precedentemente
analizzato, questo diagramma è tale per cui N = 0. Inoltre np>0 = 0 in quanto sono
presenti due poli marginalmente stabili nell’origine che non portano contributo; di
di C.Bettini, A.Guiggiani e T.Lorenzetti
91
12.4 Analisi di stabilità in sistemi con ritardo
Figura 12.7.: Diagramma di Nyquist della funzione in esame
conseguenza, il sistema retroazionato è stabile.
12.4. Analisi di stabilità in sistemi con ritardo
12.4.1. Introduzione
La presenza di ritardi finiti all’interno dei processi è tutt’altro che trascurabile, anzi si
manifesta palesemente sia all’interno delle funzioni di trasferimento (rendendole trascendenti per la comparsa di termini esponenziali del tipo e−sT ) che all’interno degli
annessi schemi a blocchi (con l’introduzione di unità dedicate alla rappresentazione
del ritardo stesso).
Si cerca adesso di comprendere se e come tali ritardi possano influire sulla stabilità
dei sistemi a ciclo chiuso; per far ciò ci si servirà dei diagrammi di Bode e Nyquist,
dei criteri di stabilità di Nyquist e dell’analisi grafica delle risposte dei sistemi nel
dominio del tempo. Si inizia col considerare una funzione di trasferimento W (s) =
e−sT puramente esponenziale e si procede con l’analisi della risposta in frequenza,
definita in termini del tutto equivalenti come la trasformata di Laplace valutata
sull’asse immaginario del piano di Gauss o come la trasformata di Fourier limitata
92
di C.Bettini, A.Guiggiani e T.Lorenzetti
12.4 Analisi di stabilità in sistemi con ritardo
al semipiano positivo delle ascisse. Quindi:
ˆ+∞
W (jω) =
w(t)e−jωt dt
(12.1)
0
dove ω ∈ R rappresenta la pulsazione angolare. La risposta armonica in forma
complessa vale:
W (jω) = e−jωT
(12.2)
È molto più semplice studiarne separatamente modulo e fase; per fare ciò si analizza
il problema in rappresentazione polare:
a + jb = M ejϕ
con M =
(12.3)
√
a2 + b2 e ϕ = tan−1 ab . Quindi assumendo e−jωT è immediato:
M (ω) = 1 , ϕ(ω) = −ωT
(12.4)
Quindi il modulo è unitario (nullo in scala logaritmica) mentre la fase descresce in
modo lineare (esponenziale, in scala logaritmica sull’ascissa) con la frequenza. Si
noti in Figura 12.8 l’andamento i diagrammi di Bode del caso in esame.
Allo stesso modo è possibile tracciare il diagramma di Nyquist (Figura 12.9): la
funzione percorre all’infinito la circonferenza di modulo unitario e la rotazione è
impressa dalla fase che divergendo verso −∞ per ω → +∞ percorre infiniti multipli
dell’angolo giro.
di C.Bettini, A.Guiggiani e T.Lorenzetti
93
12.4 Analisi di stabilità in sistemi con ritardo
Figura 12.8.: Diagrammi di Bode di sistemi con ritardo
94
di C.Bettini, A.Guiggiani e T.Lorenzetti
12.4 Analisi di stabilità in sistemi con ritardo
Figura 12.9.: Diagramma di Nyquist di sistemi con ritardo
di C.Bettini, A.Guiggiani e T.Lorenzetti
95
12.4 Analisi di stabilità in sistemi con ritardo
12.4.2. Estensione del criterio di Nyquist
Si analizza ora come estendere il criterio di Nyquist ai sistemi con ritardo. Come si è
già potuto intuire dai semplici esempi illustrati precedentemente, i ritardi temporali
hanno effetti deleteri sulla stabilità dei sistemi a ciclo chiuso; si vuole ora procedere
con l’analisi delle proprietà di stabilità dei processi retroazionati in presenza di
ritardi temporali finiti.
Consideriamo una funzione di trasferimento che presenta una struttura in catena
aperta caratterizzata da polinomi razionali propri e termini esponenziali:
Q 0
1 + sTi
m 0
i
1 i
−sT
G(s) = K p Q
mi e
s
i (1 + sTi )
(12.5)
In matematica una funzione analitica è tale se può essere espressa in ogni suo punto da una serie di potenze convergente, o, secondo un approccio più empirico, se
è infinitamente derivabile su tutto il proprio dominio di definizione. Ricordando
come nel campo dell’analisi matematica complessa il termine funzione analitica sia
un sinonimo di funzione olomorfa, si ricordano le proprieta per cui: la somma, il
prodotto e la composizione di funzioni olomorfe è olomorfa; tutte le funzioni polinomiali nella variabile complessa con coefficienti complessi sono olomorfe sull’intero
domino complesso; la funzione esponenziale complessa è una funzione olomorfa.
Da ciò si deduce immediatamente che tutte le funzioni G(s) nella forma sopra
presentata sono olomorfe.
Per capire ora se il criterio di Nyquist sia spendibile nell’ambito delle funzioni di
trasferimento con ritardo occorre analizzare ipotesi ed eventuali condizioni restrittive.
Per risolvere questo problema si sfrutta il teorema dell’indicatore logaritmico (o
principio dell’argomento):
Teorema Sia f (s) una funzione (complessa di variabile complessa) olomorfa con
soltanto un numero finito di poli in una regione Ω ⊆ C e sia γ un contorno
interno ad Ω orientato in verso antiorario, sul quale f (s) non ha nè zeri nè
96
di C.Bettini, A.Guiggiani e T.Lorenzetti
12.4 Analisi di stabilità in sistemi con ritardo
singolarità. Allora se n e p sono il numero di zeri e di poli di f (s) interni a γ,
ciascuno caratterizzato da una sua molteplicità, al variare di s lungo γ per un
giro completo in senso antiorario, vale la relazione:
˛
0
f (s)
1
ds = p − n
(12.6)
2πj
f (s)
γ
ovvero: il numero di giri (intesi positivi se percorsi in senso antiorario) compiuti da
f (s) attorno all’origine, quando s descrive γ in verso orario, coincide con la quantità
p − n.
Definiamo adesso G(s) come una generica funzione di trasferimento olomorfa in caG(s)
tena aperta e W (s) = 1+G(s)
come la funzione di trasferimento del processo ottenuto
per retroazione unitaria negativa di G(s) e ipotizziamo:
• G(s) strettamente propria e senza poli sull’asse immaginario, ovvero:
|G(jω| < +∞ , ∀ω ∈ R ⇒ lim |G(jω)| < +∞
ω→±∞
(12.7)
• W (s) strettamente propria, ovvero:
|G(jω)| =
6 1 , ∀ω ∈ R ⇒ lim G(jω) = G(∞) 6= −1
ω→±∞
(12.8)
Si procede quindi col presentare il criterio di Nyquist per sistemi con ritardo, il
quale consiste nell’applicazione del teorema dell’indicatore logaritmico alla funzione
f (s) = 1 + G(s) scegliendo opportunatamente il percorso γ, che prende il nome di
percorso di Nyquist.
Si noti che i poli di f (s) coincidono con i poli di G(s) e gli zeri di f (s) con i poli di
W (s).
Si seleziona ora la curva γ (orientata in senso orario), richiesta dal teorema dell’indicatore logaritmico, consistente nell’ unione di tre componenti:
y1 coincidente col tratto di asse immaginario compreso tra 0 + j0 e 0 + jβ (con β
fissato sufficientemente grande);
y2 coincidente con la semicirconferenza di centro l’origine e di raggio β, collocata
interamente nel semipiano reale positivo aperto;
di C.Bettini, A.Guiggiani e T.Lorenzetti
97
12.4 Analisi di stabilità in sistemi con ritardo
y3 coincidente col tratto di asse immaginario compreso tra 0−jβ e 0+j0. . Qualora
la funzione f (s) presenti poli puramente immaginari si ricorre percorso di
Nyquist modificato.
È quindi necessario scegliere β sufficientemente grande in modo che l’area racchiusa
dalla curva γ includa (senza passarvi attraverso) tutti gli zeri ed i poli a parte reale
positiva di f (s): il numero di giri (positivi se percorsi in senso orario, negativi
altrimenti) compiuti da f (s) attorno all’origine quando descrive γ coincide con il
numero di giri percorsi da G(s) intorno al punto −1 + j0 con le medesime regole di
conteggio.
Vale così la relazione:
N = (n° poli di f (s)interni a γ) − (n° zeri di f (s)interni a γ)
che equivalentemente rende:
N = (n° poli di G(s)in Re(s) > 0) − (n° poli di W (s)in Re(s) > 0)
Si analizzi adesso il legame esistente tra il diagramma di Nyquist completo e il
diagramma che ne risulta percorendo il percorso di Nyquist.
Per quel che riguarda la curva y1 , ad essa corrisponde proprio il diagramma di Nyquist di G(jω) , ω > 0 privato del suo tratto terminale (corrispondente all’intervallo
ω ∈ (β, +∞)), tratto che puo essere reso arbitrariamente piccolo a condizione di
scegliere β sufficientemente grande.
Per quel che riguarda la curva y3 , essa corrisponde alla porzione del diagramma di
Nyquist di G(jω) , ω < 0 privato del suo “tratto iniziale” (corrispondente all’intervallo ω ∈ (−∞, −β)) riguardo alle cui dimensioni valgono le medesime considerazioni
fatte per y1 .
Per quanto riguarda la curva y2 , parametrizzata nella forma s = βe−jθ , θ ∈ [− π2 ; π2 ],
la funzione G(βe−jθ ) al variare di θ da − π2 a π2 descrive un semicerchio di raggio piccolissimo (tanto più piccolo quanto più grande è β) centrato nel punto G(∞). Infatti
98
di C.Bettini, A.Guiggiani e T.Lorenzetti
12.4 Analisi di stabilità in sistemi con ritardo
essendo G(s) strettamente propria, questa rispetta la condizione [G(s) − G(∞)] <
∞ ed è esprimibile come L(s)
dove:
s
L(s) := s [G(s) − G(∞)]
(12.9)
è una funzione razionale propria per cui L(∞) 6= ∞. Si ottiene così:
G(βe−jθ ) = G(∞) +
L(βe−jθ )
L(∞) jθ
e
≈ G(∞) +
−jθ
βe
β
(12.10)
che rappresenta un semicerchio, percorso in senso antiorario, di centro G(∞) e di
, tendente a zero per β → ∞.
raggio infinitesimo L(∞)
β
Risulta quindi evidente che essendo G(∞) finito e diverso dall’unità (per ipotesi),
il contributo della curva y2 nel percorso di Nyquist è inessenziale ai fini della valutazione del numero di giri che il diagramma di Nyquist compie attorno al punto
−1 + j0. Per questo motivo si puo ignorare il contributo di y2 e far variare ω su
tutto l’asse R invece che tra −β e +β.
Si è così dimostrato che la trascendenza della funzione di trasferimento in catena
aperta G(s) non rappresenta motivo di fallimento della corretta applicazione del criterio di stabilita di Nyquist per sistemi retroazionati, in quanto ciò che e importante
e l’olomorfia (sempre verificata) per questa classe di funzioni.
Si immagini adesso di considerare il caso più semplice di sistema dotato di controllo
in retroazione unitaria negativa, sistema la cui funzione di trasferimento in catena aperta preveda esclusivamente un guadagno di Bode costante k ed un ritardo
temporale finito T . Quindi:
G(s) = ke−sT
(12.11)
da cui si ottiene:
W (s) =
ke−sT
N (s)
=
D(s)
1 + ke−sT
di C.Bettini, A.Guiggiani e T.Lorenzetti
(12.12)
99
12.4 Analisi di stabilità in sistemi con ritardo
Si evince che il polinomio caratteristico D(s) è una funzione trascendente che complica notevolmente la trattazione analitica del problema.
In Figura 12.10 si riporta l’andamento del diagramma di Nyquist parametrizzato
secondo due diversi guadagni di Bode: entrambi partono per ω = 0+ nel punto di
coordinate (K, 0), quindi percorrono per ω → ∞ infinite volte in senso orario la
circonferenza centrata nell’origine di raggio K.
In virtù del fatto che la G(s) ha coefficienti reali, la risposta in frequenza G(jω)
gode della simmetria Hermitiana:
G(jω) = G(jω) = G(−jω)
(12.13)
quindi è sufficiente considerare metà diagramma e simmetrizzarlo rispetto all’asse
delle ascisse.
Si ottiene così che il ritardo, indipendentemente dal valore assunto dal guadagno di
Bode, manifesta sempre il medesimo effetto (la rotazione impressa), mentre il sopra
citato k modifica il raggio della circonferenza descritta nel piano complesso. Per
coprire tutta la casistica si dovrebbe tracciare un insieme di curve parametrizzate
secondo la variabile reale k: in realtà una banale osservazione permette di semplificare drasticamente l’analisi, in quanto la curva in esame G(jω) compie intorno al
punto critico (−1 + j0) il medesimo numero di giri che la funzione G(jω)
compie
k
1
intorno al punto (− k + j0).
Quindi invece di tenere fisso il punto critico e considerare la famiglia di curve, si
può semplicemente tenere fissa la curva (quella corrispondente a k = 1) e far variare
la posizione del punto critico, che rimane comunque sull’asse reale e scorre avanti e
indietro al variare di k ∈ R, e valutare come si modifica il valore del numero di giri.
Ragionando quindi con l’aiuto dei due diagrammi precedenti si comprende come
qualora il valore del guadagno rispetti la condizione k < 1, il punto critico per come
è stato definito rimane all’ esterno della circonferenza di raggio unitario: dunque
il sistema in retroazione risulta stabile in quanto il numero di giri compiuto dal
diagramma risulta nullo, ed essendo nullo il numero di poli instabili della funzione
100
di C.Bettini, A.Guiggiani e T.Lorenzetti
12.4 Analisi di stabilità in sistemi con ritardo
in catena aperta, risulta per Nyquist:
N = Nol+ − Ncl+
(12.14)
dove Nol+ sono i poli a parte reale positiva ad anello aperto ed Ncl+ quelli ad anello
chiuso. Però si ricordi che N = Ng+ = 0 da cui deriva la stabilità ad anello chiuso
Ncl = 0.
Nel caso in cui si verifichi k > 1 la situazione cambia draticamente: il punto critico
si porta all’interno della circonferenza di raggio unitario e la curva vi compie intorno
un numero di giri infinito, quindi il sistema diventa totalmente instabile in quanto
N = ∞ , Nol+ = 0 e di conseguenza Ncl+ = ∞.
Riassumendo, l’analisi secondo il criterio di Nyquist ha portato alle seguenti conclusioni riguardo al sistema retroazionato:
• stabile per k < 1;
• instabile per k > 1;
• al limite della stabilità per k = 1.
Esempio Si analizzi il sistema:
G(s) =
k
e−sT
1 + sτ
(12.15)
con T > 0 e k > 0 condizioni necessarie affinchè il sistema retroazionato (senza
ritardo) sia BIBO-stabile. Notiamo in Figura 12.11 come al crescere del ritardo T
il diagramma di Nyquist del sistema si allarghi fino a inglobare, in corrispondenza
di un certo Tc critico, il punto −1 + j0. Di conseguenza il sistema è:
• stabile per T < Tc ;
• instabile per T > Tc ;
• al limite della stabilità per T = Tc .
Dunque esisterà un kc critico tale per cui il diagramma si espande a tal punto da
inglobare anche il punto che destabilizza il sistema. Ne risulta che il sistema è:
di C.Bettini, A.Guiggiani e T.Lorenzetti
101
12.4 Analisi di stabilità in sistemi con ritardo
• stabile per k < kc ;
• instabile per k > kc ;
• al limite della stabilità per k = kc .
Una volta ricavati i valori Tc = 1.2 e Kc = 2 del problema in esame, si analizza in
Figura 12.12 la risposta al gradino del sistema stabile, al limite della stabilità, ed
instabile rispettivamente per:
• T < Tc = 1.2 , k = 1 < kc il sistema è stabile (Figura 12.12a);
• T = Tc = 1.2 , k = kc = 2 il sistema è al limite della stabilità (Figura 12.12b);
• T = 1.5 > Tc , k = kc = 2 il sistema è instabile (Figura 12.12c).
102
di C.Bettini, A.Guiggiani e T.Lorenzetti
12.4 Analisi di stabilità in sistemi con ritardo
Figura 12.10.: Diagrammi di Nyquist di Equazione 12.11 per k = 0.7, T = 0.4 (a)
e per k = 1.5, T = 0.4 (b)
di C.Bettini, A.Guiggiani e T.Lorenzetti
103
12.4 Analisi di stabilità in sistemi con ritardo
Figura 12.11.: Sistema con ritardo e polo negativo
104
di C.Bettini, A.Guiggiani e T.Lorenzetti
12.4 Analisi di stabilità in sistemi con ritardo
di C.Bettini, A.Guiggiani e T.Lorenzetti
Figura 12.12.: Sistema con ritardo e polo negativo
105
13. Luogo delle radici
13.1. Introduzione
Si consideri il sistema mostrato in Figura 13.1.
Figura 13.1.: Sistema in retroazione
Il luogo delle radici permette di valutare la stabilità del sistema in anello chiuso,
analizzando il comportamento dei poli al variare del guadagno K. Consente inoltre,
per sistemi che presentano un comportamento riconducibile ad uno del secondo ordine, di determinare il guadagno del controllore in accordo a specifiche sui risultanti
fattore di smorzamento e frequenza di risonanza.
13.2. Regole di tracciamento
1. Il luogo delle radici ha tanti rami (corrispondenti ai poli in anello chiuso che
migrano sul piano) quanti sono i poli in anello aperto.
→ I poli in anello chiuso sono lo stesso numero dei poli in anello aperto.
2. Il luogo di 1 + KG(s) = 0 (poli in anello chiuso) inizia dai poli in anello
aperto per K = 0 , e termina negli zeri in anello aperto per K → ∞.
Se non ci sono sufficienti zeri in anello aperto, i rami divergono.
107
13.2 Regole di tracciamento
3. Sull’asse reale, il luogo delle radici giace alla sinistra di un numero dispari
di singolarità. nel caso di luogo diretto (K > 0), viceversa per il luogo
complementare (K < 0);
4. Dati np e nz numero di poli e zeri, e k una sequenza di interi, gli (np −nz ) rami
che tendono all’infinito per k → ∞, seguono degli asintoti centrati in:
s0 =
Pnp
z
zi
pi − ni=1
np − nz
P
i=1
Tali asintoti formano una stella regolare la cui fase è:


 (2k+1)π
per il luogo diretto

 2kπ
per il luogo inverso
np −nz
np −nz
5. Il luogo delle radici è sempre simmetrico rispetto all’asse reale;
6. Dati Sp e Sz le somme dei valori dei poli e degli zeri, gli asintoti descritti al
z
punto 4 hanno centro in Snpp −S
−nz
7. In ogni punto del luogo, il guadagno K corrispondente può essere calcolato
come il prodotto delle distanze di tale punto dai poli diviso il prodotto
delle distanze di tale punto dagli zeri (se non vi sono zeri, il denominatore
è 1).
Nota: G(s) deve essere espressa con coefficienti dominanti di numeratore e
denominatore pari a 1.
Esempio #1 analizziamo la funzione precedentemente studiata con Bode e Nyquist:
P (s) =
s2
s+4
+ 2s + 8)
(s2
e calcoliamone il luogo delle radici per K > 0 (in Figura 13.4) e per K < 0 (in
Figura 13.3) analizzando la presenza di:
• due poli per s = 0;
108
di C.Bettini, A.Guiggiani e T.Lorenzetti
13.2 Regole di tracciamento
• uno zero in s = −4;
• due poli immaginari coniugati per s = −1 ± j2.65.
Quindi per K > 0 al crescere di K osserveremo i due poli immaginari coniugati che
si uniscono sull’asse reale per poi divergere (uno cadrà sullo zero, l’altro tenderà a
−∞ ). Allo stesso tempo, i poli per s = 0 divergono su due asintoti a 45° verso
l’asse a parte reale positiva.
Se consideriamo invece il luogo delle radici per K < 0 si osserva che sono i due
poli complessi coniugati caratterizzati da una traiettoria con asintoti a 45° (verso
l’asse a parte reale negativa) mentre i poli per s = 0 vanno uno sullo zero e l’altro a
divergere sull’asse reale con verso crescente. Come si può notare dai due diagrammi
appena analizzati, in nessun caso viene raggiunta la stabilità.
Figura 13.2.: Luogo delle radici della funzione P (s) in esame con K > 0
Esempio #2 analizziamo adesso il sistema:
P (s) =
(s − 2)
2
(s2
1
+ 1) (s + 1)2
caratterizzato da sei poli rispettivamente:
di C.Bettini, A.Guiggiani e T.Lorenzetti
109
13.3 Guadagni limite
Figura 13.3.: Luogo delle radici della funzione P (s) in esame per K < 0
• due poli in s = 2;
• due poli in s = −1;
• due poli complessi coniugati in s = ±j.
Per quanto riguarda entrambi i casi si ottengono sei asintoti, tutti centrati in:
s0 =
2+2+j−j−1−1
1
=
6
3
due verticali e quattro a 45° rispetto al centro-stella. Se analizziamo quali sono
le parti reali toccate dal grafico otteniamo nessuna parte reale nel caso diretto
(Figura 13.4.a) mentre nel caso inverso (Figura 13.4.b) l’asse reale è interamente
percorso.
13.3. Guadagni limite
E’ di interesse calcolare i guadagni di retroazione limite che causano il passaggio da
una situazione di stabilità ad una di instabilità, e viceversa. Vengono presentati due
metodi semplificati, utili per il i casi di polo reale o di poli complessi coniugati.
110
di C.Bettini, A.Guiggiani e T.Lorenzetti
13.3 Guadagni limite
13.3.1. Criterio di stabilità di Routh-Hurwitz
La base matematica che sta sotto il criterio di Routh-Hurwitz è la regola di Cartesio,
che associa ad ogni cambio di segno dei coefficienti di un polinomio di secondo grado
una radice a parte reale positiva.
Tale regola viene estesa a ogni generico polinomio nella forma an sn + an−1 sn−1 +
... + a0 = 0, (an > 0), con la costruzione della seguente tabella:
an
an−1
bn−1
cn−2
an−2 an−4 an−6 ...
an−3 an−5 ...
bn−2 ...
cn−3
(13.1)
dove i coefficienti bi e ci vengono calcolati come:
bn−1 =
bn−2 =
cn−2 =
cn−3 =
an
an−1
an−2 an−3 −an−1
an
an−1
an−4 an−5 −an−1
an−1
bn−1
(13.3)
an−3 bn−2 −bn−1
an−1
bn−1
(13.2)
(13.4)
an−5 bn−3 −bn−1
di C.Bettini, A.Guiggiani e T.Lorenzetti
(13.5)
111
13.3 Guadagni limite
Una volta calcolata l’espressione della tabella, il numero di cambi di segno dei
coefficienti della prima colonna determina il numero di radici a parte reale positiva.
Adesso si discutono i passaggi necessari per applicare tale criterio alla determinazione
dei guadagni limite per un sistema retroazionato.
(s)
1. Data G(s) = N
funzione di trasferimento in anello aperto, si determina il
D(s)
polinomio relativo ai poli in anello chiuso D(s) + KN (s) = 0.
2. Si costruisce la tabella relativa al Criterio di Routh-Hurwitz per il polinomio
individuato, mantenendo K come parametro.
3. Si analizzano le variazioni di segno dei coefficienti presenti nella prima colonna,
prima per K = 0 valutando la stabilità in anello aperto, quindi per K via via
più grandi.
13.3.2. Valutazione parte reale e immaginaria
In alternativa al Criterio di Routh-Hurwitz, è possibile impostare il seguente sistema
che si appoggia sulla risposta in frequenza del sistema:
112


Re{D(jω) + KN (jω)}
=0

Im{D(jω) + KN (jω)}
=0
di C.Bettini, A.Guiggiani e T.Lorenzetti
(13.6)
13.3 Guadagni limite
Figura 13.4.: Luogo delle radici del caso in esame
di C.Bettini, A.Guiggiani e T.Lorenzetti
113
14. Sintesi per tentativi
14.1. Panoramica
Si consideri una situazione reale di controllo con schema come mostrato in Figura 14.1.
Figura 14.1.: Schema di controllo
Da tale schema si possono individuare tre importanti funzioni di trasferimento:
riferimento-uscita W (s) =
in retroazione;
C(s)P (s)
,
1+C(s)P (s)
determina la risposta complessiva del sistema
P (s)
disturbo-uscita yd = 1+C(s)P
, determina come disturbi sul segnale di controllo
(s)
influenzano l’uscita del sistema;
1
sensitività S(s) = 1+C(s)P
, determina la sensibilità dell’uscita a variazioni sulla
(s)
definizione del modello di sistema.
Nota: ricordiamo la relazione secondo la quale:
S(s) = 1 − W (s) , W (s) = 1 − S(s)
14.2. Specifiche di controllo su W(s)
115
14.2 Specifiche di controllo su W(s)
Tipo Il tipo corrisponde all’ordine massimo del segnale di ingresso per il quale si
ha errore di inseguimento finito in regime permamente. In Tabella 14.1 vengono
mostrati gli errori permanenti in funzione del guadagno K complessivo del sistema retroazionato, del grado del segnale di ingresso (righe) e del tipo di C(s)P (s)
(colonne).
Ingressi:
Grado 1 (gradino)
Grado 2 (rampa)
Grado 3 (esponenziale)
Tipo di L(s)
0
1 2
1
0
0
1+K
1
∞
0
K
2
∞
∞ K1
Tabella 14.1.: Specifiche di controllo sul grado
La prima specifica è dunque che il sistema sia in grado di rispondere con errore finito
fino a un determinato ordine di segnale di riferimento.
Errore a regime La seconda specifica richiede che l’errore permanente di inseguimento sia inferiore ad un determinato valore.
Tempo di salita La terza specifica richiede che il tempo di salita equivalga un
determinato valore. Il tempo di salita è definito come il tempo necessario affinché
l’uscita del sistema risponda a un ingresso a gradino portandosi al 90% dell’ampiezza
del gradino stesso. E’ inversamente proporzionale alla banda passante, e può
essere stimato come ts ' 0.4
. A sua volta, la banda passante è approssimatiB
vamente uguale alla pulsazione di attraversamento (dopo la conversione da
rad/s a Hz).
Sovraelongazione La quarta specifica richiede che la sovraelongazione massima in
risposta a un gradino sia inferiore o uguale ad un determinato valore. Può essere
116
di C.Bettini, A.Guiggiani e T.Lorenzetti
14.3 Specifiche sui disturbi
stimata a partire dal picco di risonanza come ms ' Mr − 1, se 1.05 < Mr <
1.25. A sua volta, il picco di risonanza può essere stimato dal margine di fase,
come MR ' 2.3 − 1.25mϕ
14.3. Specifiche sui disturbi
Reiezione a disturbi
sul segnale
di controllo Si desidera che
P (jω)
permanente → 1+C(jω)P (jω) < δ
y
d
≤ δ a regime
Sensitività si richiede che il sistema non sia eccessivamente suscettibile a variazioni
1
del modello → 1+C(jω)P
<µ
(jω)
14.4. Azioni in C(s)
14.4.1. Poli in zero
Ciascun polo in zero in C(s) aumenta il tipo del sistema retroazionato. La prima
operazione è dunque definire C(s) = s1q con q tale da portare il tipo del sistema al
valore desiderato. Aggiungendo poli in zero ho però anche l’effetto di aumentare la
sovraelongazione massima.
14.4.2. Guadagno
Aumentare il guadagno di C(s) incrementa il guadagno complessivo di W (s). Di
conseguenza, come si può osservare nella tabella in sezione sezione 14.2, diminuisce
l’errore di inseguimento a regime. Aumentare troppo il guadagno, però, rende il
sistema retroazionato più “nervoso”, incrementando sia la banda passante che la
sovraelongazione, fino a portare all’instabilità.
di C.Bettini, A.Guiggiani e T.Lorenzetti
117
14.4 Azioni in C(s)
14.4.3. Azione integrativa polo-zero
L’azione integrativa consiste nell’aggiungere al controllore un polo e successivamente
uno zero, come C(s) = 1+sαT
, con 0 ≤ α ≤ 1. Devono essere posizionati sufficiente1+sT
mente a sinistra della frequenza di attraversamento in modo che lo zero sia in grado
di recuperare la perdita di fase del polo prima del margine di fase. Causa i seguenti
effetti sul diagramma di Bode della funzione di trasferimento d’anello: la frequenza
di attraversamento viene ridotta ed il margine di fase aumentato.
14.4.4. Azione derivativa zero-polo
1+sT
Aggiungiamo al controllore un termine pari a C(s) = 1+sβT
0 , 0 < β < 1. L’obiettivo
è piazzare lo zero poco prima della frequenza di attraversamento e il polo poco dopo.
Così facendo si ha l’effetto di alzare la frequenza di attraversamento aumentando
la banda passante del sistema: questo comporta però una riduzione del picco di
risonanza, che viene alzato grazie all’effetto “gobba” (sulla fase) causato dalla rete
zero-polo.
0
14.4.5. Riassunto
Vediamo adesso in tabella Tabella 14.2 un riassunto delle possibili azioni sul controllore e dei relativi effetti sulle caratteristiche della funzione di trasferimento ad
anello chiuso W (s).
Azioni su C:
Poli in 0
Guadagno
Az. integr.
Az. deriv.
Tipo
Risolve
Effetti su W (s)
Err. Perm. Banda (e ωAtt )
↓
Risolve
↑
↓
↑
Picco (e −mϕ )
↑
↑
↓
↓
Tabella 14.2.: Tabella riassuntiva delle azioni di controllo
Nella sintesi per tentativi le specifiche vengono tutte ricondotte a quelle che riguardano la funzione di trasferimento a catena aperta nel dominio della frequenza:
118
di C.Bettini, A.Guiggiani e T.Lorenzetti
14.4 Azioni in C(s)
• guadagno K > K ∗ ;
• numero di poli in s = 0;
• frequenza di attraversamento ωt ≈ ω̄t ;
• margine di fase mϕ > m̄ϕ .
Il sistema di controllo si considera composto da due parti che vengono progettate
separatamente: un compensatore statico
Cs (s) =
K
sn
ed un compensatore dinamico Cd (s).
Le fasi della progettazione sono suddivise in quattro parti:
1. progetto del compensatore statico che soddisfi le specifiche riguardanti le prestazioni a regime per segnali e disturbi polinomiali;
2. analisi della funzione di risposta armonica del processo compensato staticamente:
Ls (s) = Cs (s)P (s)
3. progetto del compensatore dinamico che consenta il soddisfacimento delle
specifiche sul processo a catena aperta:
lim Cd (s) = 1 e lim L(s) = lim Ls (s)
s→0
s→0
s→0
4. verifica delle specifiche a catena aperta su:
L(s) = Cs (s)Cd (s)P (s)
di C.Bettini, A.Guiggiani e T.Lorenzetti
119
14.5 Analisi statica
14.5. Analisi statica
L’analisi statica viene effettuata tracciando i diagrammi di Bode di Ls (s) dai quali
si leggono i valori della fase e del modulo in corrispondenza della pulsazione di
attraversamento desiderata in modo tale da valutare come deve agire Cd (s) per
rispettare le specifiche ωtd , mϕd .
Per progettare Cd (s) sono utilizzate, in cascata, un opportuno numero di sistemi di
forma standard i cui parametri sono selezionati in modo da soddisfare le specifiche.
Tali sistemi sono detti “reti compensatrici”; le più comuni sono caratterizzate dal
fatto di possedere un solo polo, un solo zero ed un guadagno unitario. Le funzioni
compensatrici elementari si suddividono in anticipatrici o attenuatrici.
1. Rete anticipatrice è una rete in forma:
Ra (s) =
1 + τs
τ
1+ m
s
con m ∈ [1 , 16].
La rete anticipatrice ha una azione stabilizzante sul sistema controllato poichè anticipa la fase, consentendo di aumentare il margine di fase mϕ . Se non viene scelto τ
in modo opportuno, però, si ha una amplificazionie dei moduli che aumenta la ωt .
Bisogna che valga ωtd τ ≈ 1.
2. Rete attenuatrice è una rete in forma:
Ra (s) =
τ
1+ m
s
1 + τs
ed ha una azione stabilizzante sul sistema perchè ne attenua il modulo (diminuendo
la ωt ) e consentendo così di aumentare il margine di fase. Il problema è che se
non viene scelto τ in modo apportuno si ha un ritardo nelle fasi che può portare a
situazioni non accettabili.
Bisogna che valga ωtd τ ≈ 100.
120
di C.Bettini, A.Guiggiani e T.Lorenzetti
14.6 Progetto del compensatore dinamico
14.6. Progetto del compensatore dinamico
Prendiamo un sistema di tipo 1:
P (s) =
10
s (s + 1)
il cui diagramma di Bode è rappresentato in Figura 12.4.
Figura 14.2.: Diagramma di Bode del sistema in esame
Durante il progetto del compensatore dinamico si può agire in due modi:
1. aumentare il margine di fase lasciando invariata la ωt ;
2. diminuire la ωt in modo da ottenere il margine di fase richiesto.
di C.Bettini, A.Guiggiani e T.Lorenzetti
121
14.6 Progetto del compensatore dinamico
Primo caso nel primo caso, ad esempio, se abbiamo ωtd = ωt = 3 ed un margine
di fase richiesto di 18°, il compensatore dinamico deve introdurre alla pulsazione
desiderata (3rad/s) un anticipo di fase pari a:
∆ϕ = mϕd − mϕ = 45° − 18° = 27°
Quindi si cerca una rete anticipatrice rifacendosi ai diagrammi in Figura 14.4: in
corrispondenza dei 30° per ωt τ = 1 si ha m = 4.
Questo valore di m ci porta (Figura 14.3) una attenuazione di circa 2.5dB.
Considerato:
τ=
1
1
= e m=4
ωtd
3
si ottiene una rete anticipatrice:
Ra (s) =
1 + 3s
1 + τs
=
τ
s
1+ m
1 + 12
s
Andiamo adesso ad analizzare il processo compensato L(s): il margine di fase risulta
adesso mϕ = 48.8°, quindi le specifiche (mϕd = 45°) risultano rispettate.
In Figura 14.3 sono riportate le linee-guida per il progetto del guadagno in modulo,
mentre in Figura 14.4 sono riportate quelle per la fase.
Secondo caso nel secondo caso si cerca di diminuire ωt fino ad ottenere il margine
di fase richiesto. Se analizziamo il diagramma di Bode del sistema (Figura 12.4)
notiamo che il margine di fase desiderato si ha alla pulsazione ω = 1. Per far sì
che a data pulsazione avvenga l’attraversamento è necessario attenuare il modulo di
17dB. Si ricorre così ad una rete attenuatrice:
Ra (s) =
122
τ
s
1+ m
1 + τs
di C.Bettini, A.Guiggiani e T.Lorenzetti
14.7 Esempi di sintesi
che per m = 8 ed ωτ = 1 (Figura 14.3 “ribaltata”) attenua il modulo di 17dB
ritardando però la fase di circa 3° (Figura 14.4 “ribaltata”).
Si ottiene così un diagramma di Bode come quello raffigurato in Figura 14.5 che
soddisfa le specifiche.
14.7. Esempi di sintesi
Primo esempio dato il sistema (in Figura 14.6):
P (s) =
e−sT
s
assumendo C(s) = K determinare i valori di K e T per i quali il sistema ad anello
chiuso è stabile. Considerato:
G(s) =
1
, mϕ = 90°
s
e che il ritardo critico per il quale si perde stabilità è Tc =
kG(jωϕ ) =
mϕ π
mϕ 180
da cui deriva:
π
k
, da cui: ωϕ = k ⇒ Tc =
jωϕ
2k
Assumendo T = 1 cerchiamo di determinare un controllore C(s) che soddisfi le
specifiche di:
• errore a regime corrispondente ad un disturbo d(t) a rampa unitaria minore
di ed = 0.5;
• margine di fase mϕ maggiore di 30°;
• pulsazione di attraversamento circa uguale a ωϕ = 1 rad/s.
Si considerano prima di tutto le specifiche statiche:
yd (s) =
s
1
d(s)
d(s) =
1 + C(s)G(s)H(s)
s + Kc e−sT C(s)
di C.Bettini, A.Guiggiani e T.Lorenzetti
123
14.7 Esempi di sintesi
e:
lim s2
s→0
1
1
6 0.5 ⇒ Kc > 2
=
sT
2
s + Kc e C(s)s
Kc
e solo dopo le specifiche dinamiche:
∠L(jωϕ ) = −57.3° − 90° = −147.3° ⇒ mϕ = 32.7°
|L(jωϕ )| = 20 log10 2 − 20 log10 1 = 6.02dB
Quindi per perdere 6.02dB di modulo non possiamo perdere più di 2.7°, essendo il
margine di fase richiesto maggiore di 30°.
Se ωϕ τ = 90° ed m = 2 siperde circa 6.018dB di modulo e circa 0.62°, quindi si può
scrivere:
C(s) = 2
1 + 45s
1 + 90s
Secondo esempio vediamo adesso se è possibile ottenere una maggior attenuazione
del disturbo, ponendo Kc = 2.5. Di conseguenza:
20 log10 2.5 = 7.96dB
e, quindi, per perdere 7.96dB si ottiene 20 log10
m = 2.5.
1
m
= −7.96dB da cui si ricava
Per m = 2.5, se scegliamo ωϕ τ = 10m = 25 si ottiene una perdita di fase di −3.42°,
eccessiva. Proviamo quindi a vedere cosa succede per ωϕ τ = 40: si perde solo −2.15°,
quindi possiamo utilizzare un controllore:
C(s) = 2.5
1 + 16s
1 + 40s
Terzo esempio cambiamo impianto ed analizziamo l’impianto instabile:
G(s) =
124
s2
s+1
(s − 1)
di C.Bettini, A.Guiggiani e T.Lorenzetti
14.7 Esempi di sintesi
cercando un controllore C(s) che soddisfi le specifiche di:
1. errore a regime corrispondente ad un disturbo d(t) a gradino limitato al valore
ed = 0.1;
2. margine di fase mϕ non inferiore a 40°;
3. tempo di salita minore di 0.2s.
Analizzando le specifiche statiche si ha:
yd (s) =
G(s)
s+1
d(s) = 2
d(s)
1 + C(s)G(s)
s (s − 1) + Kc C(s)(s + 1)
da cui deriva:
lim s
s→0
1
1
s+1
=
6 0.1 ⇒ Kc > 10
s2 (s − 1) + Kc C(s)(s + 1) s
Kc
Dal punto di vista delle specifiche dinamiche è necessario convertire le specifiche ad
anello chiuso (ts ) in specifiche ad anello aperto (ωϕ ) considerando che:
ωb ts ≈ 3 ⇒ ωb ≈ 15rad/s
da cui deriva che:
ωϕ ≈ [0.5 ; 0.85]ωb ⇒ ωϕ ≈ 0.7 · 15 ≈ 10rad/s
Da ciò si ottengono le condizioni su modulo e fase:
|L(jωϕ )|dB = −20dB
∠L(jωϕ ) = −π − 2
π
+ tan−1 (10) ≈ 168°
2
Di conseguenza:
∠C(jωϕ ) = −180° + mϕ − ∠L(jωϕ ) ≈ 52°
di C.Bettini, A.Guiggiani e T.Lorenzetti
125
14.7 Esempi di sintesi
Quindi dalla tabella si può scegliere:
m = 14 , ωϕ τ = 4 ⇒ τ = 0.4
che porta ad un guadagno di 60° in fase e di circa 12dB in modulo. Per avere
|L(jωϕ )|dB = 0 è però necessario guadagnare ulteriori 8dB, quindi per fare ciò si
8dB
deve porre un ulteriore guadagno di 10 20dB = 2.52 , quindi:
C(s) = 10 · 2.52 ·
126
1 + 0.4s
1 + 0.4s
= 25.2
1 + 0.0286s
1 + 0.0286s
di C.Bettini, A.Guiggiani e T.Lorenzetti
14.7 Esempi di sintesi
Figura 14.3.: Diagrammi per il progetto del guadagno
di C.Bettini, A.Guiggiani e T.Lorenzetti
127
14.7 Esempi di sintesi
Figura 14.4.: Diagrammi per il progetto della fase
128
di C.Bettini, A.Guiggiani e T.Lorenzetti
14.7 Esempi di sintesi
Figura 14.5.: Diagramma con rete attenuatrice
Figura 14.6.: Sistema da controllare
di C.Bettini, A.Guiggiani e T.Lorenzetti
129
15. Regolatori PID
Descriviamo adesso un approccio di regolazione molto popolare in ambito industriale, la regolazione PID (Proporzionale-Integrativa-Derivativa). Un così ampio
successo è dovuto a ragioni molteplici:
• Il loro impiego consente di controllare una ampia gamma di processi;
• Semplice costruzione: questa peculiarità permette ai PID di essere realizzati con le tecnologie più varie (meccanica, idraulica, elettronica digitale o
analogica, ecc);
• Negli anni sono state sviluppate diverse tecniche di taratura automatica che
permettono di controllare il sistema di interesse senza conoscerne l’esatto
modello matematico.
15.1. Il modello
Come si intuisce dal nome, la variabile di controllo u generata da regolatore di tipo
PID sarà composta da tre contributi:
Proporzionale: è un contributo proporzionale rispetto all’errore (e) tra il segnale
di riferimento in ingresso r e l’uscita y. Tale contributo non influisce sulla
stabilità, ma migliora le prestazioni statiche del sistema da controllare.
Integrativo: è un contributo proporzionale all’integrale di e. Esso può essere interpretato come una azione ritardatrice sul sistema, che va a soddisfare i requisiti
sull’errore a transitorio esaurito in risposta ad un riferimento a gradino.
Derivativo: è un contributo proporzionale alla derivata di e. Esso viene interpretato
come una azione anticipatrice, utile in quei casi in cui sia necessario ottenere
131
15.1 Il modello
più banda passante possibile, andando quindi a migliorare le prestazioni del
transitorio del sistema.
La legge di controllo che ne deriva è la seguente:
ˆ
u(t) = Kp e(t) + Ki
e(τ )dτ + Kd
de(t)
dt
(15.1)
Dove Kp , Ki e Kd sono rispettivamente i coefficienti dell’azione proporzionale,
integrale e derivativa. Deriviamone la trasformata di Laplace ottenendo:
CP ID (s) = KP 1 +
1
+ Td s
Ti s
(15.2)
p
è il tempo integrale e Td =
dove Ti = K
Ki
forma di Bode, a:
Ki
Kp
Kd 2
CP ID (s) =
1+
s+
s
s
Ki
Ki
Kd
Kp
è il tempo derivativo. Ciò equivale, in
(15.3)
Ne consegue che, per avere due zeri distinti (e non complessi coniugati), il ∆ della
soluzione dell’equazione di secondo grado deve essere positivo. Quindi:
Kp
Ki
2
>4
Kd
Ki
da cui deriva il vincolo:
Kp2 > 4Kd Ki
La funzione di trasferimento del PID nella sua forma ideale è un sistema improprio,
in quanto caratterizzata da un numero di zeri maggiore dei poli a causa del termine
132
di C.Bettini, A.Guiggiani e T.Lorenzetti
15.2 Realizzazione dei regolatori PID
derivativo. Per questo motivo, nella pratica viene utilizzata la seguente funzione di
trasferimento:
CP ID (s) = KP
1
Td
1+
+
Ti s 1 + TNd s
!
(15.4)
Dove la costante N viene scelta propriamente in modo che il polo aggiunto s = − TNd
sia fuori dalla banda di controllo.
Le tipiche rappresentazioni di Bode dei PID sono le seguenti (sia reale che ideale):
Figura 15.1.: Diagrammi di Bode asintotici ed effettivi di un PID ideale e reale
15.2. Realizzazione dei regolatori PID
Lo schema di partenza di un controllore PID può essere visto come un parallelo di
tre blocchi corrispondenti alle tre azioni (proporzionale, derivativo, integrale) posti
in parallelo sul segnale di errore.
Sì può notare però che applicando direttamente l’azione derivativa sull’errore può
accadere che, mettendo particolari segnali in ingresso (per esempio un gradino) al
sistema, si ottenga una azione di controllo u di natura impulsiva. Questa brusca
reazione va contro il requisito di moderazione del controllo e può provocare la saturazione dell’attuatore e l’allontanamento del sistema dalla linearità. Quindi viene
usato uno schema alternativo riportato in Figura 15.2, dove l’azione derivativa viene applicata sull’uscita e non sull’errore, poiché è giusto ritenere che il processo
di C.Bettini, A.Guiggiani e T.Lorenzetti
133
15.3 Metodi di taratura automatica
abbia una caratteristica di un filtro passa-basso assicurando un’uscita senza brusche
variazioni (e quindi la sua derivata non ha una caratteristica impulsiva).
Figura 15.2.: Schema di controllo con regolatore PID a derivazione dell’uscita
Per quanto riguarda il parametro N il progettista deve cercare di aumentare N per
mettere il polo aggiunto s = − TNd fuori banda di controllo avvicinandosi così al comportamento ideale del PID. D’altra parte, deve scegliere anche un valore di N sufficientemente basso per cui i disturbi in alta frequenza non vengano eccessivamente
amplificati. Valori tipici di N vanno da 5 a 20.
15.3. Metodi di taratura automatica
15.3.1. Metodo in CL di Ziegler e Nichols
Questo metodo introdotto da Ziegler e Nichols nel 1942 richiede di effettuare un
esperimento sul sistema in retroazione unitaria con un controllore proporzionale
innalzando il coefficiente K̄ finché il sistema con in ingresso uno scalino vada in
oscillazione permanente. Tale valore di K̄ viene chiamato guadagno critico perché
porta il sistema ad anello chiuso al limite della stabilità e chiameremo T̄ il periodo
di oscillazione. Stimati i due valori K̄ e T̄ i parametri del controllore P, PI o PID
vengono ricavati dalla Tabella 15.2.
Per quanto riguarda il calcolo di K̄ e T̄ si sfruttano le proprietà del luogo delle
radici, ovvero si va a cercare il guadagno limite per il quale vi è un attraversamento
dell’asse immaginario ponendo D(s) + KN (s) = 0 e costruendo la tabella relativa
134
di C.Bettini, A.Guiggiani e T.Lorenzetti
15.3 Metodi di taratura automatica
al criterio di Routh-Hurwitz. Si analizzano così le variazioni di segno dei coefficienti
presenti nella prima colonna, trovando il K = K̄ tale che si ha una variazione di
segno.
Per trovare T̄ si cerca la frequenza di risonanza (ω̄n ) per K = K̄ e si sfrutta la
relazione:
T̄ =
2π
ω̄n
K
Ti
Td
P
0.5Kp
PI
0.45Kp
0.8T
PID
0.6Kp
0.5T
0.125T
Tabella 15.2.: Regole di taratura di Ziegler e Nichols in anello chiuso
15.3.1.1. Applicazione in caso di specifiche mϕ ed mG
Nel caso in cui si voglia imporre un dato margine di fase mϕ o di guadagno mG si
ricorre alla Tabella 15.4.
specifica
Kp
Ti
Td
mG
K̄
mG
T̄
π
T̄
4π
mϕ
K̄ · cos(mϕ )
T̄
π
·
1+sin(mϕ )
cos(mϕ )
T̄
4π
·
1+sin(mϕ )
cos(mϕ )
Tabella 15.4.: Regole di taratura di Ziegler e Nichols in anello chiuso
di C.Bettini, A.Guiggiani e T.Lorenzetti
135
15.3 Metodi di taratura automatica
15.3.2. Metodo delle aree in Ciclo Aperto
Questo metodo si basano da un esperimento effettuato direttamente sul processo ad
anello aperto, avente in ingresso il segnale a “scalino”, quindi il processo stesso deve
essere già asintoticamente stabile. Tale esperimento mira a stimare dei parametri
che servono a ricavare un modello approssimato del processo, descritto dalla funzione
di trasferimento:
G(s) =
m
e(−ts)
(1 + T s)
(15.5)
Dove m è il guadagno equivalente, t è il ritardo equivalente e T è la costante di
tempo equivalente. Si intuisce quindi dal modello approssimato che i sistemi meglio
stimati sono quelli a minima rotazione di fase con risposta al gradino non oscillante.
Nel modello delle aree (in Figura 15.3) si considera la risposta di un processo ad
un gradino di ampiezza u. Dalla risposta a gradino si può calcolare il valore del
guadagno m effettuando il rapporto tra il valore a regime della risposta y e l’ampiezza
del gradino m = ȳ⁄u. Per calcolare l’area S1, cioè l’area compresa tra la risposta e
il suo asintoto, si calcola l’integrale dell’errore :
ˆ∞
S1 =
(15.6)
e(t)dt
0
Il valore T + t è dato dal rapporto tra l’area S1 e l’asintoto della risposta
T +t=
S1
ȳ
(15.7)
A questo punto è possibile ricavarsi l’area S2 che è l’area della risposta fino al tempo
136
di C.Bettini, A.Guiggiani e T.Lorenzetti
15.3 Metodi di taratura automatica
T +t .
(T
ˆ+t)
S2 =
(15.8)
y(t)dt
0
Quindi il calcolo dei parametri è dato dalle seguenti formule :
T =
eS2
ȳ
t=
S1 − yT
ȳ
(15.9)
(15.10)
Figura 15.3.: Metodo delle aree
Una volta stimato il modello del processo sono stati studiati vari metodi di taratura
dei parametri dei controllori P, PI e PID sempre facendo riferimento a tabelle empiriche. Esse fanno riferimento al metodo di Cohen Coon e il metodo dell’ Internal
Model Control, che sono i criteri più utilizzati nelle applicazioni industriali.
Il metodo di Cohen Coon fa riferimento ai valori indicati in tabella Tabella 15.6.
di C.Bettini, A.Guiggiani e T.Lorenzetti
137
15.3 Metodi di taratura automatica
Kp
Ti
P
3T +τ
3µτ
PI
10.8T +τ
12µτ
+3τ
τ 30T
9T +20τ
PID
16T +3τ
12µτ
+6τ
τ 32T12τ
Td
4T τ
11T +2τ
Tabella 15.6.: Regole di taratura di Cohen e Coon
Mentre il metodo IMC fa riferimento alla tabella Tabella 15.8.
Kp
Ti
PI
T
µ(τ +Tf )
T
PID
T +0.5τ
µ(τ +Tf )
T + 0.5τ
Td
0.5τ
0.5τ +T
Tabella 15.8.: Regole di taratura IMC
Da notare che in questo metodo viene introdotto un altro parametro di progetto Tf :
all’aumentare del parametro corrisponde una riduzione della banda passante e un
aumento del margine di fase e di guadagno del sistema in anello chiuso. Il progettista
quindi può adattare tale parametro all’esigenze di progetto per implementare un
controllo più veloce ma con scarse caratteristiche di robustezza o viceversa più lento
ma con migliori caratteristiche di robustezza.
138
di C.Bettini, A.Guiggiani e T.Lorenzetti
Parte III.
Controlli Automatici
139
16. Inseguimento e reiezione ai
disturbi
16.1. Panoramica
Consideriamo il sistema in Figura 16.1:
Figura 16.1.: Schema a blocchi del sistema
dove di identifica il disturbo sul controllo, do identifica il disturbo in uscita all’impianto e dh identifica il disturbo di misura.
Definiamo quattro problemi di controllo, dei quali uno di inseguimento e tre di
reiezione dei disturbi.
1. problema di inseguimento asinotico in assenza di disturbi:
lim y o (t) − y(t) = 0
t→∞
2. problema di reiezioni dei disturbi di controllo:
lim y(t) = 0
t→∞
141
16.2 Inseguimento
3. problema di reiezioni dei disturbi in uscita all’impianto:
lim y(t) = 0
t→∞
4. problema di reiezioni dei disturbi di misura:
lim y(t) = 0
t→∞
Per ciascuno di essi, assegnato il riferimento r(t), riportiamo il sistema nella forma
E(s) = G(s)R(s) dove R(s) , E(s) identificano le trasformate di Laplace dei segnali
di riferimento r(t) e di errore e(t). Studiamo così le condizioni che portano alla
stabilità (limt→∞ |e(t)| = 0) analizzando diverse tipologie di riferimento.
16.2. Inseguimento
Poniamo:
• di = do = dh = 0
T (s)
, esplicitando i poli a parte reale positiva del riferimento
• R(s) = Q+ (s)Q
− (s)
(Q+ (s)).
• E(s) = R(s) − Y (s)
Analizziamo la funzione di trasferimento ottenuta tra riferimento ed errore, sapendo
che L(s) = C(s)P (s) = B(s)
.
A(s)
E(s) =
1
T (s)
A(s)
T (s)
=
1 + L(s) Q+ (s)Q− (s)
B(s) + A(s) Q+ (s)Q− (s)
(16.1)
Affinché l’errore converga a 0, E(s) deve essere stabile. Ovvero E(s) deve avere
tutti i poli a parte reale negativa. Affinché questo succeda, come si osserva in
(Equazione 16.1), A(s) deve cancellare i poli a parte reale positiva del segnale di
riferimento. Questo è un concetto chiave ed è denominato principio del modello
interno:
142
di C.Bettini, A.Guiggiani e T.Lorenzetti
16.3 Reiezione dei disturbi
“Il controllore deve generare al suo interno (se non l’ha già l’impianto)
la stessa parte instabile del segnale da inseguire.”
16.3. Reiezione dei disturbi
Per lo studio delle proprietà di reiezione dei disturbi del sistema il procedimento
è analogo a quanto appena visto per il problema di inseguimento: si calcola la
funzione di trasferimento diretta tra il disturbo di interesse e l’errore, che in questo
caso risulta essere l’uscita del sistema (si vuole che infatti questa sia più prossima
allo zero possibile, quando a pilotare il sistema è un segnale di errore), quindi si
procede all’analisi delle condizioni su L(s) che assicurano la stabilità. I risultati
sono riassunti di seguito:.
P (s)
. Si osserva
di : la funzione di trasferimento che lega l’uscita a di è G(s) = 1+L(s)
dunque che anche in questo caso sono i poli di L(s) a dover cancellare le
instabilità del segnale di errore.
do : in questo caso otteniamo la medesima funzione di trasferimento del problema
di inseguimento. La reiezione a do è pertanto automaticamente assicurata
quando siamo nella condizione di inseguimento stabile.
dh : per il disturbo dh la situazione è leggermente diversa. La funzione di trasferi−L(s)
. E’ immediato notare
mento tra tale disturbo e l’uscita è infatti G(s) = 1+L(s)
dunque come debbano essere gli zeri di L(s) a cancellare i poli instabili
del disturbo.
16.4. Tabella riassuntiva
Si riporta in tabella Tabella 16.1 i risultati relativi alle quattro problematiche descritte nei paragrafi precedenti, evidenziando l’azione da intraprendere sul controllore per assicurare la stabilità.
di C.Bettini, A.Guiggiani e T.Lorenzetti
143
16.4 Tabella riassuntiva
G(s)
Ins.
Reiez. di
Reiez. do
1
1+L(s)
P (s)
1+L(s)
1
1+L(s)
−L(s)
1+L(s)
e(t)
y 0 (t) − y(t)
y(t)
y(t)
Azione su L(s)
Poli cancellano i poli instabili di r(t)
Poli cancellano i poli instabili di di (t)
Nessuna, G(s) stab. se inseguimento stab.
Reiez. dh
y(t)
Zeri cancellano i poli instabili di dh (t)
Tabella 16.1.: Tabella riassuntiva delle azioni su L(s)
144
di C.Bettini, A.Guiggiani e T.Lorenzetti
17. Stabilizzazione
17.1. Caso P (s) stabile
P (s) ∈ S insieme delle funzioni di trasferimento:
• razionali fratte;
• proprie (grado del denominatore maggiore del grado del numeratore);
• poli a parte reale strettamente minori di 0 (asintoticamente stabile).
L’insieme dei controllori stabilizzanti è dato da:
C(P ) = {C(s) =
Q(s)
, Q(s) ∈ S}
1 − P (s)Q(s)
(17.1)
che porta ad avere infiniti controllori parametrizzati da Q(s).
Se C(s) ∈ C(P ), allora le funzioni di trasferimento:
1
⇔ 1 − PQ
1 + CP
C
⇔Q
1 + CP
P
⇔ P − P 2Q
1 + CP
145
17.2 Caso P (s) instabile
CP
⇔ PQ
1 + CP
sono stabili.
17.2. Caso P (s) instabile
Trattiamo ora il caso più realistico dove P (s) ∈
/ S, ovvero con un polo a parte reale
maggiore o uguale a zero. Abbiamo così:
P (s) ∈
/S
L(s) = C(s)P (s)
W (s) =
C(s)P (s)
L(s)
=
1 + C(s)P (s)
1 + L(s)
17.2.1. Passo 1: Retroazione con controllore aggiuntivo
Consideriamo il sistema rappresentato in Figura 16.1 e rimuoviamo il riferimento y0 e
i tre disturbi; a questo punto poniamo un controllore aggiuntivo C 0 (s) in retroazione
a P (s) e in sottrazione a C(s), ottenendo il sistema mostrato in Figura 17.1. Si
(s)
ottiene così un sistema equivalente con P 0 (s) = 1+CP0 (s)P
e C̄(s) = C(s) − C 0 (s)
(s)
146
di C.Bettini, A.Guiggiani e T.Lorenzetti
17.2 Caso P (s) instabile
Figura 17.1.: Stabilizzazione
17.2.2. Passo 2: Stabilizzazione di P 0 (s)
Voglio che il nuovo impianto equivalente P 0 (s) (ottenuto dalla retroazione di C(s)
su P (s)) sia stabile, sfruttando il controllore aggiuntivo C 0 (s).
Dato un sistema con L(s) = C(s)P (s) e P (s) ∈
/ S, ottengo la stabilità interna se
vale:
1. 1 + L(s) deve avere tutti gli zeri a parte reale strettamente minore di 0;
2. Su L(s):
a) Ogni zero di P (s) a p.r. ≥ 0 deve essere anche zero di L(s) (con almeno
la stessa molteplicità);
b) Ogni polo di P (s) a p.r. ≥ 0 deve essere anche polo di L(s) (con almeno
la stessa molteplicità);
Queste condizioni possono essere soddisfatte con la tecnica del controllore stabiW (s)
partendo
lizzante per inversione (vedi sezione sezione 17.3) C(s) = P 1(s) 1−W
(s)
dalle condizioni per la stabilità su W (s).
17.2.3. Passo 3: Famiglia dei controllori stabilizzanti
Adesso che ho stabilizzato internamente l’impianto equivalente P 0 (s) grazie alla
retroazione di C 0 (s), posso sfruttare i risultati con impianto stabile visti nella sezione
di C.Bettini, A.Guiggiani e T.Lorenzetti
147
17.3 Controllo stabilizzante per inversione
sezione 17.3 ottenendo la famiglia di controllori:
C(P ) = {C(s) = C 0 (s)+
P (s)
Q(s)
, Q(s) ∈ S, C 0 (s) : P 0 (s) =
∈ S}
0
1 − P (s)Q(s)
1 + C 0 (s)P (s)
(17.2)
17.3. Controllo stabilizzante per inversione
17.3.1. Criteri per la stabilità su W (s)
L’idea dietro a un approccio di stabilizzazione per inversione inizia con il ricavare
condizioni che mi portano alla stabilità direttamente sulla funzione di trasferimento
C(s)P (s)
W (s) = 1+C(s)P
, imponendo una forma particolare direttamente su di essa. In
(s)
questa fase iniziale, ancora non ci preoccupiamo della forma del controllore.
Le condizioni di stabilità per W (s) sono:
1. W (s) ∈ S
2. Condizioni su poli e zeri:
a) Ogni zero di P (s) a p.r. ≥ 0 deve essere anche zero di W (s) (con almeno
la stessa molteplicità);
b) Ogni polo di P (s) a p.r. ≥ 0 deve essere anche zero di 1 − W (s) (con
almeno la stessa molteplicità);
3. 1 E(W ) ≥ E(P ), per assicurare la causalità del controllore.
17.3.2. Controllore per inversione
Una volta determinata una forma per W (s), possiamo invertire la formula che la
definisce ottenendo:
C(s) =
1
W (s)
1
P (s) 1 − W (s)
(17.3)
con E(G) si intende l’eccesso poli/zeri di G(s), ovvero la differenza tra il numero di poli e il
numero di zeri):
148
di C.Bettini, A.Guiggiani e T.Lorenzetti
17.3 Controllo stabilizzante per inversione
17.3.3. Forma generale per W (s)
Definiamo una forma generale per W (s) che, dato un qualsiasi impianto instabile
P (s) ∈
/ S, mi permette di ricavarmi un controllore per inversione che stabilizza
internamente il sistema.
Dati:
{p1 ... pr } poli di P (s) a parte reale ≥ 0 con molteplicità {mp1 ... mpr }
{z1 ... zl } zeri di P (s) a parte reale ≥ 0 con molteplicità {mz1 ... mzl }
N p numero dei poli instabili (tenendo conto delle molteplicità)
N z numero degli zeri instabili (tenendo conto delle molteplicità)
N = Np + Nz − 1
E eccesso poli zeri di P (s)
la forma parametrizzata di W (s) che mi assicura stabilità interna è:
(s − z1 )m1 ...(s − zl )ml [αN p −1 sN
W (s) =
(s + 1)N +E
z
z
p −1
+ ... + α1 s + α0 ]
(17.4)
da cui si ottiene:
C(s) =
1
W (s)
P (s) 1 − W (s)
Notiamo che il termine a denominatore di W (s) può essere un qualunque polinomio
stabile di grado N + E. Questo polinomio può essere scelto dal progettista per soddisfare ulteriori specifiche (come delle condizioni sul transitorio). Ad esempio, tale
polinomio può essere il denominatore di una funzione di trasferimento del secondo
ordine eventualmente moltiplicato per un polinomio con zeri ad alta frequenza.
I parametri liberi α0 , ... , α(Np −1) sono determinati dalle condizioni imposte sui poli
instabili (condizioni di interpolazione) di P (s), che devono essere zeri di 1−W (s)
di C.Bettini, A.Guiggiani e T.Lorenzetti
149
17.4 Procedura di stabilizzazione
con la stessa molteplicità:



W (p1 ) = 1





h


D W (p1 ) =


...




W (p ) = 1


r





D h W (pr ) =
0 h = 1, 2... mp1 − 1
(17.5)
0 h = 1, 2... mpr − 1
Ricordiamo inoltre la relazione tra W (s) e la sensitività S(s):
W (s) =
1
C(s)P (s)
, S(s) =
1 + C(s)P (s)
1 + C(s)P (s)
da cui deriva:
W (s) = 1 −
1
C(s)P (s)
=
= 1 − S(s)
1 + C(s)P (s)
1 + C(s)P (s)
17.4. Procedura di stabilizzazione
17.4.1. Problema
Dati: Impianto con funzione di trasferimento P (s) instabile (almeno un polo a parte
reale ≥ 0)
Richiesta: Trovare la famiglia di controllori C(P ) che stabilizza internamente il
sistema retroazionato.
17.4.2. Procedimento
1. Determino W 0 (s) stabile internamente con la forma parametrizzata che soddisfa le condizioni di interpolazione come mostrato nella sezione sottosezione 17.3.3;
2. determino il controllore stabilizzante per inversione C 0 (s) =
150
di C.Bettini, A.Guiggiani e T.Lorenzetti
W 0 (s)
1
;
P (s) 1−W 0 (s)
17.4 Procedura di stabilizzazione
3. pongo C 0 (s) in retroazione a P (s) e sottratto a C(s) come in Figura 17.1
ottenendo il controllore equivalente C̄(s) = C(s)−C 0 (s) applicato all’impianto
(s)
;
equivalente stabile P 0 (s) = 1+CP0 (s)P
(s)
4. trovo la famiglia di controllori stabilizzanti per impianto stabile come nella
sezione sezione 17.1: C(P ) = {C̄(s) = 1−PQ(s)
0 (s)Q(s) , Q(s) ∈ S} .
di C.Bettini, A.Guiggiani e T.Lorenzetti
151
18. Sintesi diretta
18.1. Introduzione
La sintesi diretta è una tecnica che si appoggia a quella vista del controllore stabilizzante per inversione.
Consiste nel trovare una W (s) del secondo ordine nella forma:
W (s) =
1
1 + 2ρs/ωn + s2 /ωn2
(18.1)
che, oltre a stabilizzare il sistema, assicuri il rispetto di specifiche sulla risposta al gradino quali il tempo di salita, la sovraelongazione massima e l’errore di
inseguimento a regime.
Per contro, questa tecnica può essere applicata ad una classe ridotta di sistemi. In
particolare:
• P (s) non deve avere zeri a parte reale non negativa (zi < 0);
• P (s) può al massimo avere un polo semplice in s = 0 e nessun polo a parte
reale positiva;
• l’eccesso poli-zeri deve sottostare al vincolo E(P ) ≤ 2.
0
(s), h = 0, 1 con
Quindi, ricapitolando, P (s) deve essere nella forma P (s) = s1h Pmf
il pedice mf che indica la minima rotazione di fase (ovvero nessun polo o zero a
parte reale non negativa).
153
18.2 Specifiche standard
18.2. Specifiche standard
Vediamo le specifiche progettuali che la risposta del sistema retroazionato dovrà
rispettare:
1. errore di inseguimento nullo per segnali di riferimento costanti y 0 (t) = c;
2. errore di inseguimento alla rampa (y 0 (t) = t) non sia superiore a e1 ;
3. sovraelongazione ŝ ≤ ŝmax ;
4. banda passante (inversamente proporzionale al tempo di salita) B3 = B30 .
Sono stati dunque individuati 3 parametri progettuali: e1 , ŝmax , B30 .
L’obiettivo è trovare i parametri ρ e ωn per la W (s) che mi soddisfi tali specifiche
progettuali.
18.2.1. Altre specifiche
Possono essere fornite altre specifiche, trattate in seguito, quali:
1. vincoli sul tempo di salita (ts );
2. vincoli sul tempo di assestamento (ta );
3. vincoli sul picco di risonanza (Mr ).
18.3. Condizioni su W (s)
Adesso valutiamo le 4 condizioni su W (s) che comportano il soddisfacimento delle
4 specifiche progettuali elencate nella sezione precedente:
1. la condizione di errore di inseguimento nullo per segnali costanti è automaticamente verificata per come è stata scelta la struttura di W (s);
2. la pecifica di inseguimento a rampa si traduce in:
2ρ
ωn
≤ e1 ;
3. la specifica sulla sovraelongazione implica: exp √−πρ 2
1−ρ
4. la specifica su inseguimento e banda si traduce in:
154
kL
B3
≥
di C.Bettini, A.Guiggiani e T.Lorenzetti
≤ ŝmax ;
1
e1 B30
.
18.4 Estensione - risolve l’impossibilità di soddisfare alle specifiche
18.4. Estensione - risolve l’impossibilità di soddisfare
alle specifiche
Può capitare che la W (s) nella forma (Equazione 18.1) non sia sufficiente a garantire
determinate specifiche prestazionali (ad esempio se otteniamo un valore ρmin >
ρmax ).
In tal caso si può provare ad aggiungere una rete anticipatrice ottenendo la forma:
WII (s) = WI (s)
1 + sτ
1 + sτ /m
(18.2)
con WI definita come in (Equazione 18.1).
Così facendo si aggiunge un ulteriore grado di libertà, m, che mi risulta utile per
il soddisfacimento della specifica di inseguimento a rampa. Occorre però prestare
attenzione alla scelta di m in modo tale da non modificare eccessivamente la risposta
in frequenza di WII (s) rispetto a quella di WI (s).
Se scelgo m di poco maggiore ad 1 ottengo che:
√
3 )II
• banda passante: (B
∈ [1, m] ⇒ (B3 )II ≈ (B3 )I
(B3 )I
• sovraelongazione: (ŝ)II ≤
ŝmax −m+1
m
⇒ (ŝ)II ≤ ŝmax
18.5. Estensione - risolve caso E(P ) > 2
Nel caso che l’eccesso poli-zeri di P (s) sia maggiore di 2, sfruttando le tecniche di
sintesi diretta viste finora otterremmo un controllore fisicamente non realizzabile
(con numero di zeri superiore al numero dei poli).
E’ possibile ovviare a questo problema con un’ulteriore, semplice estensione alla
W (s) vista in (Equazione 18.2), aggiungendo un polo fuori banda con molteplicità
pari a E(P ) − 2.
Si ottiene così la forma finale per la sintesi diretta di W (s):
W (s) =
1
1 + sτ
1
2
2
1 + 2ρs/wn + s /ωn 1 + sτ /m (1 + s/ω0 )E(P )−2
(18.3)
di C.Bettini, A.Guiggiani e T.Lorenzetti
155
18.6 Procedimento
con:
• m poco maggiore di 1
• ω0 ∈ [3, 5]B30
Con la sintesi diretta per W (s) come in (Equazione 18.3), dato P (s) = skhp Pmf (s) con
h = 0, 1, e assegnati e1 , ŝmax , B30 , è sempre possibile trovare un controllore
che stabilizza e rispetta le specifiche.
18.6. Procedimento
Vediamo adesso il procedimento pratico per la determinazione dei coefficienti di
W (s), con riferimento al diagramma in Figura 18.1.
156
di C.Bettini, A.Guiggiani e T.Lorenzetti
18.6 Procedimento
Figura 18.1.: Diagramma per Sintesi Diretta
18.6.1. Caso A: W (s) secondo ordine
Iniziamo con il cercare la W (s) nella forma più semplice, del secondo ordine, come
mostrato in (Equazione 18.1).
1. Trovo sull’ordinata di destra ŝmax , e con la curva ŝ leggo sull’ascissa ρmin .
2. Trovo sull’ordinata di sinistra
1
,
e1 B30
e con la curva
kL
B3
leggo sull’ascissa ρmax .
3. Prendo sull’ascissa ρ ∈ [ρmin , ρmax ], e con la curva
nata di sinistra (ωn = By3 ).
B3
ωn
determino ωn sull’ordi-
di C.Bettini, A.Guiggiani e T.Lorenzetti
157
18.6 Procedimento
Nel caso in cui vengano fornite differenti specifiche, quali vincoli sul tempo di salita (ts ), sul picco di risonanza (MR ) o sul tempo di assestamento (ta , in figura si
differenzia i casi con assestamento rispettivamente al 5% ed all’1%) si procede semplicemente andando ad analizzare i grafici riportati in Figura 18.2 in funzione delle
grandezze in modo tale da determinare i giusti ωn e ρ.
18.6.2. Caso B: aggiunta di una rete anticipatrice
Nel caso in cui non sia in grado di soddisfare le specifiche svolgendo i passaggi del
Caso A, si aggiunge una rete anticipatrice ottenendo W (s) come in (Equazione 18.2),
procedendo poi nel seguente modo.
1. Fisso m = 1.1
2. Trovo sull’ordinata di destra
ŝmax −m+1
,
m
3. Prendo sull’ascissa ρ, e con la curva
(ωn = By3 ).
4. Calcolo τmin =
m
( 2ρ
m−1 ωn
B3
ωn
e con la curva ŝ leggo sull’ascissa ρ.
determino ωn sull’ordinata di sinistra
− e1 )
18.6.3. Caso C: aggiunta poli fuori banda
Se l’eccesso poli/zeri di P (s) è maggiore di 2, aggiungo alla W (s) un polo fuori
banda con le seguenti caratteristiche:
• frequenza ω0 ∈ [3, 5]B30
• molteplicità pari ad E(P ) − 2
ottenendo la forma per W (s) come in (Equazione 18.3).
Una volta determinata la forma per W (s) mi ricavo il controllore desiderato per
W (s)
inversione C(s) = P 1(s) 1−W
.
(s)
158
di C.Bettini, A.Guiggiani e T.Lorenzetti
18.7 Poli e zeri a parte reale positiva
18.7. Poli e zeri a parte reale positiva
Dato un impianto in forma (Figura 18.3):
Y (s) = W (s)Y 0 (s) + S(s)D(s)
dove la funzione sensitività S(s) pesa il disturbo sull’uscita d(t) ed è definita come:
S(s) =
1
1 + L(s)
L(s)
notiamo che questa è esattamente
con L(s) = C(s)P (s). Definita W (s) = 1+L(s)
l’inverso di S(s). Idealmente vorremo che le funzioni S(s), W (s) avessero forma
come quelle in Figura 18.4. In tal modo, ponendo ϕ1 1 e ϕ2 1, l’andamento
ideale del modulo di L(jω) sarebbe quello proposto in Figura 18.5 (notiamo che
|L(jω)| = 1 corrisponde alla frequenza di attraversamento).
L’idea, infatti, è di avere all’interno della banda (ovvero per 0 6 ω 6 B3 ) verificata
la condizione:
L(jω) > ϕ1
in modo da poter approssimare:
|W (jω)| =
L(sω) 1 + L(jω) ≈ 1 e |S(jω)| =
1
1 + L(jω) ≈0
Andiamo adesso ad analizzare cosa accadrebbe nel caso in cui L(s) avesse uno zero
od un polo a destra (e, quindi, a parte reale positiva). Ipotizziamo di avere:
L(s) = Lmf (s) ·
1 − sτ
1 + sτ
con Lmf (s) pari alla funzione a fase minima “ideale”.
In tal caso, lo zero a parte reale positiva (pari ad τ1 ) porta ad avere un ritardo. Se
analizziamo il luogo delle radici notiamo che questo ritardo è tanto più grande quanto
di C.Bettini, A.Guiggiani e T.Lorenzetti
159
18.8 Esempi di sintesi diretta
più grande è il rapporto τ1 : è quindi preferibile avere uno zero a destra molto vicino
all’origine e, di conseguenza, un valore τ molto elevato (dato che è inversamente
proporzionale alla posizione dello zero). Generalmente vale la condizione:
mf
1
ωa 6 cot
τ
2
con ωa pari alla frequenza di attraversamento e mf pari al margine di fase.
In caso contrario, se L(s) è caratterizzata da un polo a parte reale positiva, questo
porta a problemi di sovraelongazione tanto più è lontano dall’origine (quindi tanto
più τ è piccolo). Di conseguenza si ha la condizione:
1
mf
tan
τ
2
ωa >
18.8. Esempi di sintesi diretta
18.8.1. Polo in zero
Dato l’impianto:
P (s) =
1 + 10s
s (1 + s)2
si desidera progettare un controllore C(s) che soddisfi le specifiche:
e1 = 0.1
ŝmax = 0.2
B30 = 12.5
160
di C.Bettini, A.Guiggiani e T.Lorenzetti
18.8 Esempi di sintesi diretta
Per la specifica sulla sovraelongazione massima si deduce che:
ζ > 0.457
mentre per la specifica sull’errore e1 si ottiene:
ζ 6 0.484
da cui si evince che è possibile scegliere ζ = 0.47. A questo punto la specifica sulla
banda impone ωn = 9.58.
Quindi il controllore risulta:
C(s) = 10.2
1+s 1+s
1 + 9s 1 + 10s
che è una rete anticipo-ritardatrice che cancella completamente l’impianto P (s) tranne che per il polo in zero. Se ciò accadesse, infatti, si perderebbe la stabilità interna
del sistema. La condizione che impedisce l’instabilità interna è la prima, quella di
errore al gradino nullo automaticamente verificata con la W (s) scelta, che impone
al sistema di essere di tipo 1 e di mantenere così il polo in zero.
Il problema della realizzabilità di C(s), ovvero il vincolo sul grado del numeratore e
del denominatore, si può aggirare aggiungendo a W (s) alcuni poli fuori banda fino
a raggiungere il grado desiderato dell’impianto, quindi scegliendo:
W ∗ (s) = W (s) 1
1+
s
ω0
, ω0 ≈ [3, 10]B30
dove W (s) è la funzione di trasferimento ad anello chiuso che soddisfa le specifiche.
In questo modo il vincolo sul grado relativo è soddisfatto ed il comportamento
dinamico di W ∗ (s) non differisce sensibilmente da quello di W (s).
Si noti che il controllore C(s) generalmente cancella i poli e gli zeri stabili di P (s) e
quindi tende ad avere un ordine più elevato di un controllore progettato attraverso
la sintesi per tentativi.
La sintesi diretta si può applicare anche a problemi più generali:
di C.Bettini, A.Guiggiani e T.Lorenzetti
161
18.8 Esempi di sintesi diretta
• impianti con poli e zeri a parte reale maggiore di zero: la W (s) deve soddisfare
i vincoli necessari a prevenire le cancellazioni polo-zero instabili;
• inseguimento di segnali sinusoidali e reiezione di disturbi sinusoidali: la W (s)
deve essere scelta in modo che le opportune funzioni di trasferimento che la
formano soddisfino le condizioni del principio del modello interno in relazione
allo specifico problema.
• La sintesi diretta fornisce un metodo per stabilizzare internamente in retroazione un impianto qualunque, basta scegliere come W (s) una funzione di
trasferimento stabile che soddisfi le condizioni per non cancellare poli e zeri
instabili.
18.8.2. Zero instabile
Dato l’impianto:
P (s) =
10 (1 − s)
s (1 + s)
progettiamo un controllore C(s) che stabilizza il sistema e soddisfi le condizioni
di errore al gradino nullo, picco di risonanza minore di 0dB e banda passante a
B30 = 5 rad/s.
Ricordiamoci che lo zero instabile deve essere zero anche di W (s),altrimenti verrebbe
cancellato da un polo di C(s) (e perderemo così la stabilità interna). Una W (s) che
soddisfa le specifiche è data da:
W (S) =
1
1−s
1 + 0.2s 1 + s
da cui è possibile ricavare:
C(s) =
162
1+s
22 1 +
s
11
di C.Bettini, A.Guiggiani e T.Lorenzetti
18.8 Esempi di sintesi diretta
18.8.3. Polo e zero instabile, polo in zero
Dato l’impianto:
P (s) =
s−1
s (s − 2)
otteniamo una W (s) in forma:
W (s) =
(s − 1) (α1 s + α0 )
(s + 1)3
e tale per cui sono verificate le condizioni:


1 − W (0)
=0

1 − W (2)
=2
⇒


α0
= −1

α1
= 14
Quindi il controllore risultante è:
C(s) =
14s − 1
s−9
Notiamo che questo metodo può essere utilizzato per prestabilizzare un sistema in
modo da renderlo controllabile e ottimizzabile con altri metodi mediante un secondo
anello di controllo.
di C.Bettini, A.Guiggiani e T.Lorenzetti
163
18.8 Esempi di sintesi diretta
Figura 18.2.: Vincoli su tempo di salita, di assestamento e picco di risonanza.
164
di C.Bettini, A.Guiggiani e T.Lorenzetti
18.8 Esempi di sintesi diretta
Figura 18.3.: Diagrammi a blocchi del sistema in esame
Figura 18.4.: Andamento ideale delle funzioni S(s) e W (s)
Figura 18.5.: Andamento ideale di |L(jω|
di C.Bettini, A.Guiggiani e T.Lorenzetti
165
19. Prestazioni e stabilità robuste
19.1. Prestazioni per l’inseguimento a sinusoide
Consideriamo un riferimento sinusoidale nella forma:
y0 (t) ∈ Λ0 = {Acos(ωt), 0 ≤ A ≤ 1, ω ≥ 0}
(19.1)
Il desiderio è che l’errore di inseguimento a tale sinusoide sia inferiore ad un arbitrario.
La funzione di trasferimento che lega l’errore di inseguimento al riferimento è la
1
. Ponendo le condizioni di prestazioni sulla risposta in
sensitività S(s) = 1+C(s)P
(s)
frequenza dell’errore otteniamo:
e(t)
A|S(jω)|cos(ωt + ∠S(jw)) ≤ (19.2)
Poiché 0 ≤ A ≤ 1 la condizione (Equazione 19.2) può essere riscritta come:
1
|S(jw)| ≤ ⇒ |S(jω)| ≤ 1
Definisco una funzione di peso Π1 (s), passa-basso, che abbia modulo pari a
frequenze di interesse.
(19.3)
1
per le
Sfruttando il concetto di norma ∞ posso scrivere la forma generale per prestazioni di inseguimento a sinusoide:
kΠ1 Sk∞ ≤ 1
(19.4)
167
19.1 Prestazioni per l’inseguimento a sinusoide
La condizione (Equazione 19.4) può essere determinata graficamente sul diagramma
di Nyquist:
“Il generico punto di L(jω) deve cadere fuori dalla circonferenza di
centro −1 e raggio |Π1 (jω)|”
Andiamo adesso ad analizzare nel dettaglio cosa avviene e quali sono le caratteristiche “grafiche” da tenere sotto controllo. Data la sensitività:
S(s) =
1
1 + L(s)
E poniamo la condizione |S(jω| < 1 per ∀ω in quanto, altrimenti, i disturbi verrebbero amplificati. Se consideriamo L(s) = L(jω) in forma di distinzione tra parte
reale ed immaginaria otteniamo la condizione:
|L(jω)| = |X + jY | > 1
da cui deriva:
(1 + X)2 + (Y )2 > 1
che altro non è se non una circonferenza. Di conseguenza è necessario che il diagramma di Nyquist di L(jω) sia esterno al cerchio di centro e raggio unitario
(Figura 19.1).
Se adesso andiamo a porre un vincolo su Π1 (s):
Π1 (s) :=
1
, ∀ω > 0
con > 1, allora di conseguenza affinchè valga la condizione di prestazioni robustekΠ1 Sk∞ <
1 bisogna che il modulo di S(jω) abbia una andamento come quello in Figura 19.2
con:
|S(j ω̄)| = √
168
ω̄
+ ω̄
k2
di C.Bettini, A.Guiggiani e T.Lorenzetti
19.2 Incertezza sul modello
Figura 19.1.: Condizioni su L(jω) in funzione della sensitività
√
da cui deriva kmin = ω̄ M 2 − 1.
Figura 19.2.: Vincoli su |S(jω)| in funzione di Π1 (s)
19.2. Incertezza sul modello
In fase di progettazione di un sistema di controllo occorre necessariamente tener
conto che il modello matematico dell’impianto (P (s)) differirà dall’impianto reale.
E’ di grande interesse dunque studiare le condizioni di stabilità non più su P (s) ma
su una classe di impianti ℘(∆).
di C.Bettini, A.Guiggiani e T.Lorenzetti
169
19.3 Problema della stabilità robusta (PSR)
Tale classe è ottenuta inserendo un’incertezza pesata additiva sul modello e dunque
avrà la forma (Figura 19.3):
℘(∆) = {P̄ (s) : P̄ (s) = P (s) (1 + Π2 (s)∆(s)) , k∆(s)k∞ ≤ 1}
(19.5)
Figura 19.3.: Incertezza sul modello
Sul diagramma di Nyquist (Figura 19.4):
“L’incertezza sul modello dell’impianto è rappresentata come una serie
di circonferenze centrate in P (jω) e aventi raggio |Π2 (jω)P (jω)|”
Figura 19.4.: Esempio di diagramma di Nyquist con incertezza
19.3. Problema della stabilità robusta (PSR)
Enunciamo il teorema sulla stabilità robusta:
170
di C.Bettini, A.Guiggiani e T.Lorenzetti
19.3 Problema della stabilità robusta (PSR)
Ipotesi C(s) è un controllore stabilizzante per P (s).
Tesi C(s) stabilizza ogni P̄ (s) ∈ ℘(∆) se e solo se
kΠ2 W k∞ < 1
ovvero se |W (jω)| <
(19.6)
1
|Π2 (jω)|
Quindi data una plausibile forma di Π2 (jω) come quella raffigurata in Figura 19.5,
il suo reciproco confina la funzione W (jω) al di sotto di una zona proibita.
Figura 19.5.: Zona proibita in funzione di Π2 (jω)
Dimostrazione La dimostrazione si basa sul trovare la funzione di trasferimento
F (s) che rappresenti tutto il sistema visto dall’incertezza ∆(s). Tale funzione
−C(s)P (s)
e può dunque essere interpretata come
assume la forma F (s) = Π2 (s) 1+C(s)P
(s)
una retroazione di Π2 (s) e W (s). Analizzando il diagramma di Nyquist si trova
come questa retroazione sia stabile se la curva di |L(jω| si trovi per tutte le frequenze ad una distanza dal punto critico −1 superiore a |C(jω)P (jω)Π2 (jω)|.
Questa condizione è verificata per l’ipotesi (Equazione 19.6).
Facciamo un esempio ipotizzando che l’impianto vero sia dato in forma:
P0 (s) =
10 (1 − sτ )
, τ ∈ [0, 1]
s (1 + sτ )
P (s) =
10
s
Preso
di C.Bettini, A.Guiggiani e T.Lorenzetti
171
19.4 Problema delle prestazioni robuste (PPR)
l’obiettivo è determinare:
P0 (s) = P (s) [1 + Π2 (s)∆0 (s)]
da cui deriva:
Π2 (s)∆0 (s) =
P0 (s) − P (s)
P (s)
che in modulo, posto k∆0 (jω)k∞ < 1 , porta ad avere:
|Π2 (jω)| >
P (jω) − P (jω) 0
P (s)
ovvero:
|Π2 (jω)| >
−j2ωτ 1 + jωτ =√
2ωτ
1 + ω2τ 2
che è massimo per τ = 1 e, quindi, possiamo generalizzare ponendo:
|Π2 (jω)| > √
2ω
1 + ω2
da cui deriva:
Π2 (s) =
2s
1+s
che può essere usato come vincolo per ricavare:
|W (jω)| <
1 Π2 (jω) 19.4. Problema delle prestazioni robuste (PPR)
Possiamo estendere i concetti di prestazioni per l’inseguimento a sinusoide visti nella
sezione sezione 19.1 alla situazione con incertezza sul modello vista nella sezione
sezione 19.2.
172
di C.Bettini, A.Guiggiani e T.Lorenzetti
19.5 Teorema su stabilità e prestazioni robuste
Definiamo la funzione di sensitività per classe di incertezza ∆:
S∆ (s) =
1
1 + C(s)P (s) (1 + Π2 (s)∆(s))
(19.7)
Con i ragionamenti già visti sulla funzione di peso passa-basso Π1 (s) per l’errore
di inseguimento a sinusoide, scriviamo la forma generale per le prestazioni
robuste di inseguimento a sinusoide:
kΠ1 S∆ k∞ ≤ 1
19.5. Teorema su stabilità e prestazioni robuste
L’obiettivo è unire tutte le considerazioni viste fin’ora sulle prestazioni e stabilità
robuste.
Teorema su stabilità e prestazioni robuste:
Ipotesi Se
|Π1 (jω)S(jω)| + |Π2 (jω)W (jω)| < 1 ∀ ω > 0
(19.8)
Tesi allora sono soddisfatti sia il problema della stabilità robusta che il
problema delle prestazioni robuste.
Inoltre se prendiamo per ipotesi |Π2 | < |Π1 |, ricordando che |Π2 | < 1 allora di
conseguenza:
|Π1 S| + |Π2 W | > |Π2 | |S| + |Π2 | |W | > |Π2 | (|S| + |W |) > |Π2 |
quindi il vincolo di prestazione e stabilità robuste è dato dal soddisfacimento della
condizione:
min {|Π1 (jω)| , |Π2 (jω)|} < 1 , ∀ω
in accordo alla Figura 19.6 (si noti che ω2 > ω1 ).
di C.Bettini, A.Guiggiani e T.Lorenzetti
173
19.5 Teorema su stabilità e prestazioni robuste
Figura 19.6.: Vincolo di prestazioni e stabilità robuste
174
di C.Bettini, A.Guiggiani e T.Lorenzetti
20. Predittore di Smith
Dato che un modello fisico è spesso caratterizzato sia da un ritardo interno che da un
ritardo caratteristico degli attuatori, si sviluppa adesso la struttura del predittore di
Smith inserendolo nell’anello di controllo ed analizzando le prestazioni del sistema
di controllo così ottenuto.
Un controllore affiancato ad un predittore di Smith rappresenta una struttura da
utilizzarsi con sistemi delay time dominant, ossia sistemi in cui il ritardo domina
sulla costante di tempo intrinseca dell’impianto.
Si identifichi con Pr (s) la parte del generico impianto (P (s)) priva di ritardo e si
osservi lo schema a blocchi di Figura 20.1 .
Figura 20.1.: Struttura di un sistema di controllo con predittore di Smith
Nell’ipotesi di aver realizzato un modello perfettamente fedele a quello reale, in
uscita dal parallelo dei due blocchi (modello e processo), vi è solo la componente
non affetta da ritardo, ossia solo l’uscita di Pr (s).
Si consideri P (s) del primo ordine più ritardo:
P (s) =
Km
e−Lm s = Pr (s)e−Lm s
1 + Tm s
175
Predittore di Smith
Se la stima è corretta, si riesce ad annullare l’effetto del ritardo e si può progettare
il controllore in assenza di ritardo (ottimizzando le prestazioni).
Il predittore è così caratterizzato da tre parametri K̂m , T̂m , L̂m che rappresentano
le stime dei parametri del modello adottato.
La scelta del regolatore R(s), nel caso di perfetta conoscenza del sistema, avviene in
modo indipendente dal ritardo in quanto l’uscita ottenuta col predittore è la stessa
che si otterrebbe senza ritardo.
Si parla di predittore, perché ciò che fornisce lo schema in parallelo è una stima di
ciò che sarà l’uscita dopo il ritardo Lm . Il grosso problema è la stima di Lm : stimare
il ritardo di un sistema non è facile e per di più esso può cambiare nel tempo. Un
errore di stima del ritardo può avere effetti indesiderati, come si mostrerà di seguito.
Per rendere più robusto il predittore rispetto ad errori di stima è possibile ricorrere
al modello in Figura 20.2.
Figura 20.2.: Schema del predittore di Smith con filtro
Si osservi che, se le stime fossero esatte, all’ingresso del filtro F (s) sarebbe presente
un segnale nullo e l’anello si chiuderebbe con Pr (s). In caso di errori interviene
così l’azione passa-basso del filtro F (s) così definito (per una opportuna costaten di
tempo Ts ):
F (s) =
176
1
1 + Ts s
di C.Bettini, A.Guiggiani e T.Lorenzetti
Predittore di Smith
che “corregge” l’errore di stima Si considera di seguito un esempio per illustrare il
funzionamento del predittore.
Dato il processo:
P (s) =
Km
e−Lm s
Tm s + 1
ed il modello stimato:
P̂ (s) =
K̂m
e−L̂m s
T̂m s + 1
aventi parametri:
Km = 5, Tm = 2, Lm = 3
K̂m = 5.8, T̂m = 1.6, L̂m = 2
Si noti che sono state scelte appositamente stime inesatte dei parametri per verificare
la robustezza del predittore col filtro; quindi si va ad analizzare l’inseguimento del
gradino unitario nei due casi:
1. Sistema controllato con predittore;
2. Sistema controllato con predittore e filtro (caratterizzato da Ts = 7).
implementando un generico regolatore PI:
R(s) = Kp
1
1+
Ti s
con:
Kp = 10 , Ti = 1
di C.Bettini, A.Guiggiani e T.Lorenzetti
177
Predittore di Smith
Come è possibile notare in Figura 20.3 e seguenti, il caso con filtraggio è nettamente
migliore.
Figura 20.3.: Inseguimento al gradino con predittore di Smith senza filtraggio
Figura 20.4.: Inseguimento al gradino con predittore di Smith con filtraggio
178
di C.Bettini, A.Guiggiani e T.Lorenzetti
Parte IV.
Tecniche di Controllo
179
21. Sistemi a Tempo Discreto
Innanzitutto è lecito chiedersi come mai vengono trattati i sistemi a tempo discreto
quando i sistemi sono naturalmente descritti nel tempo continuo.
Infatti, generalemente, trattare il problema del controllo nel tempo discreto implica
un’operazione di discretizzazione del sistema dato che i sitemi naturali sono descritti
da equazioni differenziali. L’operazione di discretizzazione si rende opportuna in
quanto:
1. I sistemi di controllo complessi sono elaborati con un calcolatore;
2. Lavorare con equazioni alle differenze finite è più semplice rispetto a lavorare
con le equazioni differenziali.
Esistono inoltre sistemi che sono già intrinsecamente a tempo discreto, per esempio
nei casi in cui si abbiano a disposizione i dati in forma di serie temporali.
Un sistema diamico a tempo discreto dipende da una variabile k ∈ Z che invece di
essere continua è intera ed è descritto da equazioni alle differenze. I segnali anzichè
essere continui sono serie temporali y(kT ) e u(kT ) come ad esempio un segnale
campionato.
Figura 21.1.: Sistema dinamico tempo discreto
181
21.1 Rappresetazioni nel tempo discreto
21.1. Rappresetazioni nel tempo discreto
Esitono diverse tipologie di rappresentazioni per descrivere un sistema dinamico a
tempo discreto:
1. Rappresentazione I/S/O
2. RappresentazioneI/O
La rappresentazione I/S/O di un sitema tempo discreto è invece in forma:


x(k
+ 1) = f (k, x(k), u(k))

y(k)
= h(k, x(k), u(k))
dove u(k) ∈ Rm , y(k) ∈ Rp , x(k) ∈ Rn rappresentatano rispettivamente i vettori
delle variabili d’ingresso, d’uscita e di stato e f (·), h(·) sono opportune funzioni
vettoriali.
La rappresentazione I/S/O per i sitemi LTI-TD è la seguente:


x(k
+ 1) = Ax(k) + Bu(k)

y(k)
= Cx(k) + Du(k)
con A ∈ Rn×n , B ∈ Rn×m , C ∈ Rp×n , D ∈ Rp×m .
La rappresentazione I/O di un sistema tempo discreto è nella forma:
y(k) = a1 y(k − 1) + .... + an y(k − n) + b0 u(k) + b1 u(k − 1) + .... + bm u(k − m) (21.1)
182
di C.Bettini, A.Guiggiani e T.Lorenzetti
22. Trasformata Zeta
La trasformata Zeta di una sequenza discreta f (k) k = 0, 1, 2, ...... nel dominio del
tempo è una funzione nel dominio della frequenza F (z) con z ∈ C : (z = σ + jω)
f (k) → F (z) = Z [f (k)] =
∞
X
f (k)z −k
k=0
22.1. Proprietà
Linearità
Z[α f1 (k) + β f2 (k)] = α F1 (z) + β F2 (z)
Anticipo temporale
Z [f (k + 1)] 1(k) = z F (z) − zf (0)
con 1(k) pari alla funzione gradino unitario con salita in k = 0.
Ritardo temporale
Z [f (k − 1)] = z −1 F (z)
Derivazione nella frequenza
Z [k f (k)] = −z
d F (z)
dz
183
22.2 Trasformate notevoli
Convoluzione
Z [f (k) ∗ g(k)] = Z
"∞
X
#
f (i)g(k − i) = F (z)G(z)
i=0
Teorema del valore iniziale
f (0) = z→∞
lim F (z)
Teorema del valore finale
lim f (k) = lim (z − 1)F (z)
k→∞
z→∞
22.2. Trasformate notevoli
Segnale
Impulso unitario
Gradino unitario
Rampa unitaria
f (k)
δ(k)
1(k)
k 1(k)
Parabola unitaria
Esponenziale
Esponenziale + sinusoide
k 2 1(k)
αk 1(k)
αk sin(ωk)1(k)
F (z)
1
z
z−1
z
(z−1)2
z(z+1)
(z−1)3
z
z−α
α sin(ω) z
z 2 −2α cos(ω)z+α2
z[z−α cos(ω)]
z 2 −2α cos(ω)z+α2
Esponenziale + cosinusoide αk sin(ωk)1(k)
Tabella 22.1.: Trasformate Zeta di segnali elementari
Esempio
y(k + 4) − y(k + 3) + y(k + 2) − y(k + 1) = u(k + 2) + u(k + 1) + u(k)
con condizioni iniziali:
u(k) = 1(k); y(0) = 0; y(1) = 0; y(2) = 0; y(3) = 1
184
di C.Bettini, A.Guiggiani e T.Lorenzetti
22.3 Antitrasformata
La trasformata zeta dell’ingresso è:
U (z) = Z[u(k)] =
z
z−1
Z [y(k + 4)]−Z [y(k + 3)]+Z [y(k + 2)]−Z [y(k + 1)] = Z [u(k + 2)]+Z [u(k + 1)]+Z [u(k)]
utilizzando la proprietà dell’anticipo temporale, si ottiene:
z 4 Y (z) − z − z 3 Y (z) + z 2 Y (z) − zY (z) =
z 4 − z 3 + z 2 − z Y (z) = z +
Y (z) =
(z −
3z
z−1
3z
z−1
z+2
− z 2 + z − 1)
1)(z 3
22.3. Antitrasformata
L’antitrasformata si ricava dalla seguente relazione:
1
f (k) =
2πj
˛
F (z)z k−1 dz
γ
dove γ è un percorso antiorario che è situato nella regione di convergenza di F (z).
di C.Bettini, A.Guiggiani e T.Lorenzetti
185
22.3 Antitrasformata
22.3.1. Antitrasformata di funzioni razionali
Mostriamo ora una tecnica per calcolare l’antitrasformata di funzioni razionali nei
seguenti tre casi, tenendo conto della scomposizione in fratti semplici:
Radici semplici
n
1X
αi z
N (z)
=
z i=1 z − pi
i=1 (z − pi )
F (z) = Qn
con
αi = z→p
lim (z − pi )F (z)
i
dove αi è detto residuo di F (z) in pi ∈ C.
Quindi l’antitrasformata risulta essere:
f (k) =
" n
X
#
αi pk−i
i
1(k − 1)
i=1
Radici di molteplicità m
mi
l X
N (z)
1X
αij z
F (z) = Qn
=
z i=1 j=1 (z − pi )j
i=1 (z − pi )
con
αij =
1
dmi −j
lim mi −j (z − pi )F (z)
(mi − j)! z→pi dz
Quindi l’antitrasformata risulta essere:
f (k) =


mi
l X
X

αij 
i=1 j=1
186


k − 1  k−i 
pi
1(k − 1)
j−1
di C.Bettini, A.Guiggiani e T.Lorenzetti
22.3 Antitrasformata
Radici complesse cognugate
F (z) =
αi
αi
+
(z − pi ) (z − pi )
con
pi = ρi ejω
Quindi l’antitrasformata risulta essere:
h
i
f (k) = αi ρk−1 ejω(k−1) + αi ρk−1 e−jω(k−1) 1(k − 1)
f (k) = 2 |αi | ρk−1 cos (ωi (k − 1) + ∠αi ) 1(k − 1)
di C.Bettini, A.Guiggiani e T.Lorenzetti
187
23. Funzione di trasferimento
In questo capitolo viene introdotta una nuova rappresentazione dei sistemi dinamici
LTI-TD: la funzione di trasfrerimento. Essa mette in relazione le variabili di ingresso
Y (z) e di uscita U (z) nel dominio della variabile z o più comunemente nel dominio
della frequenza. Come vedremo ci permette di studiare le caratteristiche del sistema
in frequenza con vari strumenti di analisi.
Si consideri la rappresentazione I/S/O di un sistema LTI a tempo discreto:



x(k



+ 1) = Ax(k) + Bu(k)
y(k)




x(0)
= Cx(k) + Du(k)
= x0 u(k) k ≥ 0
ed applichiamo la trasformata zeta:


z X(z) − z x0

Y (z)
= AX(z) + BU (z)
= CX(z) + DU (z)
risulta:







X(z)


Y (z)





X l (z)
z
}|
X f (z)
{
z
}|
{
= z (zI − A)−1 x0 + (zI − A)−1 BU (z)
h
i
= zC (zI − A)−1 x0 + C (zI − A)−1 B + D U (z)
|
{z
Y l (z)
}
|
{z
Y f (z)
(23.1)
}
189
23.1 Analisi della soluzione nel tempo
dove X l (z) e Y l (z) sono ripettivamente la risposta libera del sistema e dell’uscita mentre X f (z) e Y f (z) sono ripettivamente la risposta forzata del sistema e
dell’uscita.
Si definisce funzione di trasferimento del sistema a tempo discreto il rapporto tra
l’uscita Y (z) e l’ingresso U (z) con condizione iniziale nulla x0 = 0, ovvero:
Y f (z)
Y (z) =
G(z) =
= C (zI − A)−1 B + D
U (z) x0 =0
U (z)
Si nota che la funzione di trasferimento non dipende dall’ingresso ma è una caratteristica del sistema, la risposta forzata con condizioni iniziali nulle.
Si consideri la funzione alle differenze come la rappresentazione I/O (Equazione 21.1):
y(k) = a1 y(k − 1) + .... + an y(k − n) + b0 u(k) + b1 u(k − 1) + .... + bm u(k − m)
ponendo le condizioni iniziali nulle si ottiene la classica rappresentazione I/O dei
sistemi a tempo discreto:
m
−i
b0 + b1 z −1 + ...... + bm z −m
i=0 bi z
G(z) =
=
P
n
−i
1 + a1 z −1 + ...... + an z −n
i=0 ai z
P
23.1. Analisi della soluzione nel tempo
Si consideri il sistema LTI-TD:



x(k



+ 1) = Ax(k) + Bu(k)
y(k)




x(0)
190
= Cx(k) + Du(k)
= x0 u(k) k ≥ 0
di C.Bettini, A.Guiggiani e T.Lorenzetti
23.1 Analisi della soluzione nel tempo
Nota la condizione iniziale x0 la forma della soluzione si ottiene:
x(0) = x0
x(1) = Ax(0) + Bu(0)
x(2) = Ax(1) + Bu(1) = A2 x(0) + ABu(0) + Bu(1)
..
.
x(k) = Ak x(0) + Ak−1 Bu(0) + .... + Bu(k − 1)
ovvero:
x(k) = Ak x(0) +
k−1
X
(23.2)
Ak−1−i Bu(i)
i=0
| {z }
xl (k)
|
{z
xf (k)
}
dove xl (k) denota l’evoluzione libera dello stato con ingresso nullo, mentre xf (k)
denota l’evoluzione forzata dello stato con lo stato iniziale nullo.
In maniera analoga ci si può ricavare la soluzione dell’uscita:
y(k) = CA x(0) +
k
|
{z
y l (k)
}
k−1
X
CAk−1−i Bu(i) + Du(k)
i=0
|
{z
y f (k)
}
dove y l (k) denota l’evoluzione libera dell’uscita con ingresso nullo, mentre y f (k)
denota l’evoluzione forzata dell’uscita con lo stato iniziale nullo. Questi risulatati
si possono anche ottenere andado a calcolare la trasformata inversa dell’equazione
Equazione 23.1. Si può notare che il sistema evolve secondo gli autovalori della matrice A (detti modi naturali del sistema), ovvero la risposta libera evolve secondo le
combinazione lineari dei modi eccitati (λi (A) 6= 0) lungo le direzioni degli autovettori
di A.
di C.Bettini, A.Guiggiani e T.Lorenzetti
191
23.2 Risposta impulsiva
23.2. Risposta impulsiva
La risposta impulsiva si ottiene analizzando l’uscita forzata di un sistema LTI-TD
con in ingresso il segnale impulsivo u(k) = δ(k). Si può notare che la risposta
impulsiva concide con la funzione di trasferimento infatti:
Y (z) = G(z)U (z)
ma Z [δ(k)] = U (z) = 1,quindi:
Y (z) = G(z)
192
di C.Bettini, A.Guiggiani e T.Lorenzetti
24. Sistemi a dati campionati
Spesso, come accennato nell’introduzione il controllore è un elaboratore digitale che
lavora a dati campionati quindi il sistema di controllo viene modificato introducendo
dei convertitori (come possiamo notare in Figura 24.1).
Figura 24.1.: Modello generale di un sistema di controllo digitale
In particolare il convertitore A/D gestisce il campionamento del segnale mentre il
convertitore D/A, invece, riporta il segnale in analogico (il più usato è lo ZOH, Zero
Order Hold).
Se il sistema dinamico non è gia intrisicamente tempo discreto si introduce un nuovo
problema: quello della discretizzazione del sistema a tempo continuo.
Esistono due tecniche per il progetto del sistema di controllo tempo discreto di un
sitema continuo:
• si sintetizza il controllore nel tempo continuo e si determina il controllore
discretizzato;
• si discretizza il processo e si sintetizza il controllore con le tecniche di controllo
digitale.
193
24.1 Discretizzazione
24.1. Discretizzazione
Andiamo adesso a trattare le tecniche di discretizzazione. Esistono vari approcci
al problema in base a come il sistema che abbiamo a disposizione è descritto (nel
tempo o nella frequenza); si introducono così tecniche approssimate, che risultano
essere molto semplici dal punto di vista computazionale.
24.1.1. Discretizzazione della funzione di trasferimento
Nel caso in cui si abbia a disposizione la funzione di traferimento G(s) esiste una
relazione tra la trasformata s e la trasformata z. I poli e gli zeri si trasformano
secondo la relazione:
z = esTc
Quindi, data:
(s − ri )
i=1 (s − pi )
Qm
G(s) = k Qni=1
si ottiene:
G(z) = kd (z + 1)
n−m
i=1 (z
− eri Tc )
pi Tc )
i=1 (z − e
Qm
Qn
dove kd è calcolato in modo da avere lo stesso guadagno in continua1 di G(s), ovvero:
kd =
1
1
Qn
pTc
)
i=1 (−ri )
i=1 (z − e
k n−m Qn
Qm
r
T
c
i
2
)
i=1 (−pi ) i=1 (z − e
Qm
Il guadagno in continua di una f.d.t equivale a calcolare G(s)|s=0
194
di C.Bettini, A.Guiggiani e T.Lorenzetti
24.1 Discretizzazione
Effettuando questa mappatura si nota che i poli stabili nel piano s rimangono stabili
anche nel piano z, infatti:
s = σ + jω → z = eσTc + ejω → |z| = eσTc
dove:
σ=0
delimita l’asse immagninario sul piano s e il cerchio unitario nel piano
z.
σ<0
mappa la parte Re[s] < 0 nel piano s e |z| < 1 nel piano z vieversa per
σ>0
Inoltre se σ = 0 e ci si muove nel senso jω > 0, ciò corrisponde a muoversi nel
senso antiorario sul cerchio unitario; viceversa ci si muove nel senso jω < 0. A
180°corrisponde ω = π/Tc , quindi tra −180° e 180°ovvero ω ∈ [−π/Tc ; π/Tc ]si ha
una corrispondenza biunivoca tra i due piani.
Alla luce di ciò, il tempo di campionamento va scelto tale per cui sia soddisfatta:
B3 < ωn =
π
< 10 B3
Tc
il limite inferiore è imposto dal teorema di Shannon (B3 = 2πf3 ), mentre quello
superiore dipende da fattori di costo.
Eseguire la trasformazione in questo modo comporta che a partire da una funzione
in s razionale fratta si ottiene un funzione in z che non è più razionale fratta. Per
fare ciò avremo bisogno di infinita memoria; ecco perchè sono state introdotte varie
tecniche approssimate che cercano di sviluppare in serie esTc .
24.1.2. Metodi approssimati
Questi metodi consistono nel sostituire lo sviluppo in serie di z = esTc .
di C.Bettini, A.Guiggiani e T.Lorenzetti
195
24.1 Discretizzazione
Metodo
Approssimazione
Trasformazione
sTc ∼
Differenze in avanti (Eulero)
z = e = 1 + sTc
s∼
= z−1
Tc
Differenze all’indietro (Eulero)
z −1 = e−sTc ∼
s∼
= 1 − sTc
= 1−z
zTc
2(z−1)
sTc ∼ 1+sTc /2
∼
Trasformazione bilineare (Tustin)
z = e = 1−sTc /2
s = Tc (z+1)
sTc
Tabella 24.1.: Approssimazioni di z = e
Si presentono ora altri approcci al problema ma che comunque risultano essere tutti
equivalenti.
24.1.2.1. Metodo a tecniche d’integrazione
Data una funzione di trasferimento: C(s) = C(sI − A)−1 B + D


ẋ(t)
= Ax(t) + Bu(t)

y(t)
= Cx(t) + Du(t)
si cerca la funzione di trasferimento C(z).
Si cerca di integrare la rappresentazione di stato nell’intervallo [kTc ; (k + 1) Tc ]
ˆ
(k+1)Tc
ˆ
(k+1)Tc
ẋ(t)dt = A
kTc
ˆ
x(k + 1) − x(k) = A
(k+1)Tc
kTc
u(t)dt
kTc
kTc
ˆ
(k+1)Tc
x(t)dt + B
ˆ
x(t)dt + B
(k+1)Tc
u(t)dt
kTc
Non conoscendo l’evoluzione di x(t) e u(t) approssimo gli integrali considerando:
ˆ
(k+1)Tc
x(t)dt = [(1 − α) x(k) + αx(k + 1)] Tc con α ∈ [0; 1]
kTc
196
di C.Bettini, A.Guiggiani e T.Lorenzetti
24.1 Discretizzazione
Esitono tre tecniche di approssimazione (se riporta la rappresentazione grafica in
Figura 24.2) al variare di α, riportate in Tabella 24.1.
Figura 24.2.: Tecniche di integrazione
Metodo di Eulero in avanti: α = 0 →
´
Metodo di Eulero all’indietro: α = 1 →
Metodo di Tustin: α = 1/2 →
´
.... = x(k)Tc
´
.... = x(k + 1)Tc
.... = 12 (x(k) + x(k + 1)) Tc
Quindi:
x(k +1)−x(k) = A [(1 − α) x(k) + αx(k + 1)] Tc +B [(1 − α) u(k) + αu(k + 1)] Tc
applico la trasformata Zeta:
Z [x(k + 1)]−Z [x(k)] = A [(1 − α) Z [x(k)] + αZ [x(k + 1)]] Tc +B [(1 − α) Z [u(k)] + αZ [u(k + 1)
(z − 1) Z[x(k)] = A(1 − α + αz)Z[x(k)]Tc + B(1 − α + αz)Z[u(k)]Tc
di C.Bettini, A.Guiggiani e T.Lorenzetti
197
24.1 Discretizzazione



(z−1)
Z[x(k)]
(1−α+αz)Tc

Z[y(k)]
ponendo ω =
= AZ[x(k)] + BZ[u(k)]
= CZ[x(k)] + DZ[u(k)]
z−1
(1−α+αz)Tc


Z[x(k)]
= (ωI − A)−1 BZ[u(k)]

Z[y(k)]
= CZ[x(k)] + DZ[u(k)]
h
i
Z[y(k)] = C(ωI − A)−1 B + D Z[u(k)]
Quindi:
C(z) = C(s)
con s =
z−1
(1 − α + αz)Tc
Si noti che si sono ottenuti gli stessi risultati presentati nella Tabella 24.1.
Un altro metodo per spiegare i metodi appena descritti è il seguente:
Metodo di Eulero in avanti: data la funzione:
ẋ(t) = f (x(t), u(t))
si approssimata la derivata con il rapporto incrementale, quindi:
ẋ(t) ≈
198
x(t + Tc ) − x(t)
= f (x(t), u(t))
Tc
di C.Bettini, A.Guiggiani e T.Lorenzetti
24.1 Discretizzazione
dove Tc risulta essere il tempo di campionamento. Questa tecnica è di tipo esplicito ovvero la soluzione al passo successivo dipende solo dai valori precedentemete
calcolati:
x(t + Tc ) = x(t) + Tc f (x(t), u(t))
Metodo di Eulero all’indietro: Analogalmente al caso precedente si ottiene:
ẋ(t) ≈
x(t) − x(t − Tc )
= f (x(t), u(t))
Tc
Questa tecnica è di tipo implicito ovvero la soluzione al passo successivo richiede la
soluzione di un’equazione non lineare:
x(t) = x(t − Tc ) + Tc f (x(t), u(t))
24.1.3. Distorsione in frequenza
Tra i metodi di approssimazione appena descritti la tecnica bilineare (Tustin) risulta
essere la migliore dal punto di vista della stabilità, è infatti l’unica che mappa il
semipiano sinistro di s dentro il cerchio unitario nel piano z; di conseguenza, si ha
la certezza che un sistema stabile nel tempo continuo rimanga stabile anche il suo
equivalente nel tempo discreto. Questo vantaggio è però ottenuto a scapito di una
distrorsione in frequenza dovuta alla “compressione” di tutte le frequenze del tempo
continuo nell’intervallo 0 ≤ ωTc ≤ π.
Si noti in Figura 24.3 le mappature del semipiano sinistro di s nel piano z delle varie
tecniche presentate.
di C.Bettini, A.Guiggiani e T.Lorenzetti
199
24.1 Discretizzazione
Figura 24.3.: Mappe nel piano z del semipoiano sinistro del piano s
200
di C.Bettini, A.Guiggiani e T.Lorenzetti
25. Stabilità
Stabilità interna asintotica: Per analizzare la stabilità interna possiamo andare a valutare l’evoluzione libera dello stato. Un sistema è asintoticamente stabile
internamente se per ogni condizione iniziale x0 vale:
lim kx(k)k = 0
k→∞
Per analizzare l’evoluzione libera dello stato si calcolano gli autovalori del sistema,
ovvero si definisce il polinomio caratteristico del sistema:
ϕ(z) = det [zI − A]
le radici di ϕ(z) sono gli autovalori del sistema. Il polinomio è di grado n (n è
l’ordine del sistema), quindi esistono n autovalori.
Quindi il sistema è asintoticamente stabile se e solo se tutti gli autovalori del sistema
apprtengono alla regione di stabilità Cs :
Cs = {z ∈ C : |λi | < 1}
ovvero tutti gli autovalori del polinomio caratteristico devono avere modulo minore
di 1 (appartengono al cerchio unitario).
201
25.1 Criterio di Jury
Stabilità esterna (BIBO stabilità): Per analizzare la stabilità esterna possiamo
andare a valutare l’evoluzione forzata dell’uscita.
Analogalmente al caso precedente un sistema (A, B, C, D) è BIBO stabile se e solo se tutti i poli del sistema (le radici del polinomio caratteristico di controllo ed
osservazione ϕco (z)) appartengono al cerchio unitario.
Nel caso MIMO data una matrice di funzioni di trasferimento H(z) = C [zI − A]−1 B+
D il polinomio caratteristico di controllo ed osservazione ϕco (z) è il M.C.M di tutti
i minori non nulli di H(z).
Nota: i poli di un sistema sono un sottoinsieme degli autovalori di un sistema,
infatti alcuni autovalori possono essere cancellati.
Polinomi caratteristici: X l (z) = z (zI − A)−1 x0 → ϕ(z) polinomio caratteristico;
X f (z) = (zI − A)−1 BU (z) → ϕc (z) polinomio caratteristico di controllo;
Y l (z) = zC (zI − A)−1 x0 → ϕo (z) polinomio caratteristico di osservazione;
h
i
Y f (z) = C (zI − A)−1 B + D U (z) → ϕco (z) polinomio caratteristico di controllo
ed osservazione.
valgono le seguenti relazoni:
ϕc (z) ⊆ ϕ(z);
ϕo (z) ⊆ ϕ(z);
ϕco (z) ⊆ ϕc (z);
ϕco (z) ⊆ ϕo (z);
25.1. Criterio di Jury
Il criterio Jury, usato per analizzare la stabilità dei sistemi tempo discreti, è analogo
al criterio di Routh per i sistemi tempo continui.
Dato un generico polinomio di grado n:
202
di C.Bettini, A.Guiggiani e T.Lorenzetti
25.1 Criterio di Jury
P (z) = an z n + ........a1 z + a0
La condizione necessaria e sufficiente per la stabilità è analizzare la seguente tabella:
an an−1 an−2 . . . a0
a0
a1
. . . an−1 an
bn−1 bn−2 ...
b0
b0
b1
· · · bn−1
..
..
.
.
z0
dove i coefficienti bi ,ci ,di ... vengono calcolati come:
bi =
a0
an
ci =
b0
bn−1
bn−1−i bi di =
c0
cn−2
cn−2−i ci an−i ai Calcolati tutti gli elementi della tabella, tutte le radici appartengono alla regione
di stabilità Cs se e solo i primi elementi delle righe dispari sono diversi da zero ed
hanno segno positivo.
(z)
si analizza se il
Quindi, in generale, data una funzione di trasferimento G(z) = N
D(z)
polinomio D(z) ha tutte le radici appartenenti a Cs , ovvero se il sitema ha tutti i
poli stabili.
di C.Bettini, A.Guiggiani e T.Lorenzetti
203
25.2 Raggiungibilità
25.2. Raggiungibilità
Il problema di raggiungibilità si pone l’obiettivo di trovare una sequenza di controlli
N −1
u(0), u(1), ...u(N − 1) = {u(k)}k=0
su orrizzonte temporale k = N tale da portare
lo stato iniziale noto x0 allo stato desiderato x(N ) = xd .
Teorema: un sistema si dice completamente raggiungibile (ovvero la coppia A, B
è completamente raggiungibile) se e solo se:
rank(R) = n
dove: R = [ B| AB| . . . An−1 B|] è detta matrice di raggiungibilità ed n è l’ordine del
sistema.
25.2.1. Decomposizione di raggiungibilità
Quando un sistema non è completamente raggiungibile (rank(R) < n) può essere
utile scomporre il sistema dalla parte raggiungibile da quella non raggiungibile. Si
consideri una matrice T ∈ Rn×n invertibile per effettuare un cambiamento di base:
x(k) = T q(k)
dove q(k) è il nuovo vettore di stato.
Si noti che l’introduzione della matrrice T definisce un nuovo sitema algebricamente
equivalente:


q(k
+ 1) = T −1 AT q(k) + T −1 Bu(k)

y(k)
204
= CT q(k) + Du(k)
di C.Bettini, A.Guiggiani e T.Lorenzetti
25.2 Raggiungibilità
quindi non vengono modificate le proprietà di stabilità e raggiungibilità del sistema.
Riscriviamo il sistema come segue:


q(k
e
e
+ 1) = Aq(k)
+ Bu(k)

y(k)
e
f
= Cq(k)
+ Du(k)
f = D.
con Ae = T −1 AT ; Be = T −1 B; Ce = CT ; D
Teorema Sia v1 ...vnr una base del sottospazio di raggiungibilità R e sia w1 ...wn−nr
una base ortogonale del sottospazio di raggiungibilità R. Sia T = [ v1 | . . . vnr | w1 | . . . wn−nr |],
allora:




h
i
Ae11 Ae12  e
Be
−1
e = CT =
e C
e
 1 ; C
;
Ae = T −1 AT = 
;
B
=
T
B
=
C
1
2
Ø Ae22
Ø
f = D.
D
dove:
Ae11 ∈ Rnr×nr è la parte raggiungiungibile del sistema e Ae22 ∈ Rn−nr×n−nr è la parte
non raggiungiungibile del sistema.
Quindi la coppia Ae11 , Be 1 è completamente raggiungibile.


q1 (k) 
Si ottiene così la scomposizione q(k) = 
:
q2 (k)
q1 (k + 1) = Ae11 q1 (k) + Ae12 q2 (k) + Be 1 u(k)
q2 (k + 1) = Ae22 q2 (k)
y(k) = Ce1 q1 (k) + Ce2 q2 (k) + Du(k)
di C.Bettini, A.Guiggiani e T.Lorenzetti
205
25.3 Controllabilità
Figura 25.1.: Decomposizione della parte raggiungibile e non raggiungibile
Il sistema risulta essere scomposto in due parti:
1. un sottosistema completamente raggiungibile di dimensione nr ;
2. un sottosistema non raggiungibile (autonomo) di dimensione n − nr .
25.3. Controllabilità
Il problema di controllabilità si pone l’obiettivo di trovare una sequenza di controlli
−1
u(0), u(1), ...u(N − 1) = {u(k)}N
k=0 su orrizzonte temporale k = N tale da portare lo stato iniziale noto x0 allo stato finale x(N ) = 0. Si consideri la soluzione
dell’evoluzione dello stato (Equazione 23.2), considerando k = N = n si ottiene:
R
hz
}|
x(n) = An x(0) + B| AB| . . .
| {z }
xl (n)
|

{
i 

An−1 B 

u(n − 1)

..


.

u(0)
{z
xf (n)

}
Per ottenere x(n) = 0 i controlli devono essere tali che:
206
di C.Bettini, A.Guiggiani e T.Lorenzetti
25.4 Stabilizzabilità
u(n − 1)


..



 = R = −An x(0)
.



u(0)

Quindi lo stato x(0) è controllabile se e solo se An x(0) è raggiungibile.
In generale quindi vale che se un sistema è completamente raggiungibile allora è
anche completamente controllabile. Non è però detto il contrario; infatti, si può
dire che un sistema (la coppia A, B) è completamente controllabile se e solo se gli
autovalori non raggiungibili sono tutti nulli.
25.4. Stabilizzabilità
Un sistema (la coppia A, B) si dice stabilizzabile quando è possibile renderlo asintoticamente stabile mediante una retroazione algebrica sullo stato.
Si consideri lo schema di controllo (Figura 25.2), e si supponga di poter misurare lo
stato x(k). Si ottiene così una regolazione algebrica del tipo (Figura 25.3):
P ⇒ x(k + 1) = Ax(k) + Bu(k)
C ⇒ u(k) = −Kx(k) + F r(k)
Dove K ∈ Rnxm ed F è una matrice di dimensione opportuna.
Si noti che la retroazione va a modificare la dinamico dello stato:
x(k + 1) = Ax(k) + B [−Kx(k) + F r(k)]
di C.Bettini, A.Guiggiani e T.Lorenzetti
207
25.4 Stabilizzabilità
Figura 25.2.: Schema di controllo
Figura 25.3.: Schema del controllore
x(k + 1) = (A − BK) x(k) + BF r(k)
Il nuovo polinomio caratteristico in ciclo chiuso che si ottiene è:
ϕ(z) = det (zI − (A − BK))
Quindi si deve scegliere K in modo tale da portare gli tutti gli autovalori nel cerchio
unitario affinchè il sistema in ciclo chiuso abbia il comportamento desiderato.
Si consideri il sistema in decomposizione di raggiungibilità:




Ae11 Ae12 
Be
 1  u(k)
x(k)
+
x(k + 1) = 
Ø Ae22
Ø
208
di C.Bettini, A.Guiggiani e T.Lorenzetti
25.4 Stabilizzabilità

u(k) = −Kx(k) + F r(k) =
h
K1 K2

i

x (k) 
 1
+ F r(k)
x2 (k)

Ae11 − Be 1 K1 Ae12 − Be 1 K2 
A − BK = 
Ø
Ae22
quindi:
h
i
ϕ(z) = det (zI − (A − BK)) = det zI − (Ae11 − Be 1 K1 ) det zI − Ae22
|
{z
ragg.
}|
{z
non ragg
}
Si nota che la retroazione algebrica può modificare solamente la perte raggiungibbile
del sistema. Quindi un sistema (la coppia A, B) è completamente stabilizzabile se e
solo se gli autovalori non raggiungibili sono tutti all’interno del cerchio unitario.
di C.Bettini, A.Guiggiani e T.Lorenzetti
209
26. Controllo anti windup
26.1. Saturazione dell’azione di controllo
Il problema del windup è strettamente pratico e legato al fatto che, nella realtà,
gli attuatori che generano l’azione di controllo hanno limiti fisici. In particolare si
distinguono due possibili casi:
1. L’azione di controllo è limitata;
2. La variazione di controllo tra due istanti è limitata (velocità limitata).
Succede spesso che queste due casistiche convivono. Si presentano adesso tecniche
per la modellazione di queste limitazioni.
Caso 1: L’azione di controllo limitata può essere modellata come una saturazione:
Figura 26.1.: Saturazione
211
26.1 Saturazione dell’azione di controllo



us (k)


= umin se u(k) < umin



u
= umax se u(k) > umax
us (k) = us (k) = u(k) se umin ≤ u(k) ≤ umax
s (k)
Figura 26.2.: Modello per la limitazione del controllo
Caso 2: La variazione di controllo limitata può essere modellata come segue:
us (k) =



us (k)



us (k)




u (k)
s
= us (k − 1) + δumin se δu(k) < δumin
= u(k) se δumin ≤ δu(k) ≤ δumax
= us (k − 1) + δumax se |δu(k)| > δumax
dove δu(k) = u(k) − us (k − 1)
Figura 26.3.: Modello per la limitazione sulla velocità di controllo
Caso 3: È il caso in cui si considerano entrambe le limitazioni (su azione e velocità
di controllo).
212
di C.Bettini, A.Guiggiani e T.Lorenzetti
26.2 Fenomeno del Windup
Figura 26.4.: Modello che include le due limitazioni
La presenza di queste non linearità, se non considerate, può portare all’instabilità
dell’anello di controllo (soprattutto se è presente un’azione integrale). In particolare,
le non linearità di questo tipo portano alla presenza del fenomeno di “windup” che
va a compromettere il corretto funzionamento dei controllori PI e PID.
26.2. Fenomeno del Windup
Consideriamo il caso di una permanenza prolungata nel tempo dello stesso segno
nel segnale di errore; l’azione proporzionale e integrale fanno sì che cresca in modulo
l’azione u di controllo desiderata. L’effettiva variabile di ingresso al processo però,
a causa delle limitazioni fisiche degli attuatori viste nella sezione precedente, potrà
raggiungere il suo valore massimo |umax |. In tale condizione (indesiderabile) ci troviamo ad operare in modo equivalente all’anello aperto, dove il segnale effettivo di
controllo assume un valore costante e pari ad umax .
Se l’attuatore è in saturazione e l’errore cambia di segno, è necessario attendere che il
segnale di controllo desiderato torni ad assumere valori in modulo inferiori a |umax |,
permettendo all’azione integrale di “scaricarsi”. Durante tutto questo tempo, invece
di avere un segnale di controllo concorde al segnale di errore ne abbiamo uno di segno
opposto che ritarda notevolmente l’istante in cui la situazione torna alla normalità
in anello chiuso con l’attuatore nella regione lineare di utilizzo. Un esempio di tale
fenomeno è mostrato in Figura 26.5.
di C.Bettini, A.Guiggiani e T.Lorenzetti
213
26.3 Archittettura alla Hanus
Figura 26.5.: Esempio di windup
Per ovviare a questo problema esistono numerose tecniche. Indicativamente l’idea è
di replicare nel controllore le dinamiche di saturazione dell’attuatore, aggiungendo
una opportuna retroazione. L’effetto desiderato è che l’azione di controllo esca dalla
zona di saturazione non appena il segnale di errore cambia segno. Nella sezione
seguente è mostrato un esempio di architettura anti-windup.
26.3. Archittettura alla Hanus
26.3.1. Teoria
L’idea alla base di questa architettura è modificare il controllore in modo tale che la
dinamica del regolatore tenga conto della non linearità, quindi dipenda dall’azione
di controllo realmente applicata us (·).
Ipotesi:
1. Il controllore C(z) sia a fase minima → poli e zeri stabili
2. Il controllore C(z) sia biproprio → ∂{num} = ∂{den}
214
di C.Bettini, A.Guiggiani e T.Lorenzetti
26.3 Archittettura alla Hanus
Tesi:
Allora il controllore C(z) può essere scomposto come:
C(z) = C∞ + C̄(z)
dove:
lim C(z) = C∞ 6= 0 (hp.1)
z→∞
e C̄(z) strettamente propria → ∂{num} < ∂{den}
Considerando il sistema di controllo possiamo scrivere:
u(z) = C∞ e(z) + C̄(z)e(z)
ma: e(z) = C −1 (z)u(z), quindi:
u(z) = C∞ e(z) + C̄(z)C −1 (z)u(z)
u(z) =
C∞
e(z)
1 − C̄(z)C(z)−1
u(z) =
C∞
e(z)
1 − (C(z) − C∞ )C(z)−1
u(z) =
C∞
e(z)
1 − (1 − C∞ C(z)−1 )
che raccogliendoC∞ al denominatore ci riporta a:
di C.Bettini, A.Guiggiani e T.Lorenzetti
215
26.3 Archittettura alla Hanus
u(z) =
C∞
e(z)
−1 − C(z)−1 )
1 − C∞ (C∞
L’architettura di controllo ottenuta è raffigurata in Figura 26.6:
Figura 26.6.: Archittettura di controllo alla Hanus
26.3.2. Esempio con controllore PI
Vediamo un esempio di applicazione di un’architettura alla Hanus. In Figura 26.7
è mostrato come è possibile implementare una tecnica di de-saturazione dell’azione
integrale nel caso di un regolatore PI.
Si osserva come la saturazione dell’attuatore venga replicata all’interno del controllore, e retroazionata positivamente con la parte integrale del controllore. Il risultato
è che non appena il segnale e, e conseguentemente il segnale q, cambiano di segno,
questo si riflette immediatamente sul segnale di controllo per l’attuatore che diventerà u < uM . Come risultato otteniamo un’uscita istantanea dalla condizione di
open loop anche a seguito di intervalli di tempo prolungati di “carica” dell’azione
integrale.
216
di C.Bettini, A.Guiggiani e T.Lorenzetti
26.3 Archittettura alla Hanus
Figura 26.7.: Desaturazione dell’azione integrale
di C.Bettini, A.Guiggiani e T.Lorenzetti
217
Parte V.
Stima e Identificazione
219
27. Introduzione e definizioni
27.1. Definizioni
Variabile Aleatoria si definisce variabile aleatoria (v.a.) quello strumento matematico, basato sulla teoria della probabilità, con cui vengono descritti quei fenomeni
le cui manifestazioni sono governate da meccanismi casuali.
Spazio degli eventi è l’insieme in cui assumono valore le realizzazioni del fenomeno casuale; si definsce “evento” un sottoinsieme di tale spazio. Se lo spazio degli
eventi è l’insieme dei numeri interi I, la corrispondente variabile aleatoria è intera.
Se lo spazio degli eventi è l’insieme dei numeri reali R, la corrispondente variabile
aleatoria viene detta reale. Si usa esprimere le variabili aleatorie con lettere maiuscole (es. X) mentre si usano le minuscole (es. x) quando ci si riferisce ad una
singola realizzazione.
Densità di probabilità le proprietà statistiche di una v.a. vengono descritte dalla
sua funzione densità di probabilità (d.d.p.) definita per “variabili intere” come
successione {pi } per i = ±1, ±2, ... con pi > 0 e tale che:
X
pi = 1
i
221
27.1 Definizioni
nel caso di “variabili reali”, invece, la d.d.p. è una funzione f (x) : R → R con
f (x) > 0 e tale che:
ˆ+∞
f (x)dx = 1
−∞
Una volta definita la d.d.p. è possibile definire la probabilità di un evento A come:
P rob{X > A} =
X
pi
i∈A
oppure:
ˆ
P rob{X > A} =
f (x)dx
x∈A
si definiscono ora una serie di densità di probabilità note quali la d.d.p. UNIFORME:
f (x) =



1
m+ −m−

0
x ∈ [m− , m+ ]
altrimenti
d.d.p. GAUSSIANA:
1
1 (x − m)2
f (x) = √
exp −
2
σ2
2πσ 2
(
)
d.d.p. di CAUCHY:
f (x) =
222
γ2
1
γ
2
+x π
di C.Bettini, A.Guiggiani e T.Lorenzetti
27.1 Definizioni
in cui la proabilità va a zero in modo polinomiale, quindi esiste una probabilità non
trascurabile che si manifestino eventi molto lontani dal valore medio.
Distribuzione di probabilità data una d.d.p. f (x), si definisce la distribuzione di
probabilità (D.D.P.) F (x) il numero:
ˆx
F (x) =
f (λ) dλ
−∞
la D.D.P. risulta utile quando la d.d.p. contiene delta di Dirac (quindi impulsi) che
in F (x) risultano semplici discontinuità.
Operatore di media e momenti tramite la d.d.p. si definisce l’operatore di media
(o valore atteso) E[·] che associa ad ogni v.a. X la media mx delle sue realizzazioni:

P


i p i xi
mx = E[·] = ´ +∞

x f (x) dx
−∞
v.a. discreta
v.a. continua
si definisce inoltre l’operatore di varianza (σx2 , detto secondo momento centrato) nel
caso continuo come caso particolare del k − esimo momento centrato (k = 2):
ˆ
h
E (X − mx )
k
i
=
+∞
(x − mx )k f (x)
−∞
Densità di probabilità congiunta fornisce una completa caratterizzazione delle
relazioni intercorrenti fra due fenomeni X1 ed X2 . Si definisce come:
di C.Bettini, A.Guiggiani e T.Lorenzetti
223
27.1 Definizioni
f1,2 (x1 , x2 ) > 0 : R2 → R
tale che:
ˆ+∞ ˆ+∞
f1,2 (x1 , x2 )dx1 dx2 = 1
−∞ −∞
si può così calcolare la d.d.p. MARGINALE di X1 (per X2 si ribalta la cosa) come:
ˆ+∞
f1 (x1 ) =
f1,2 (x1 , x2 )dx2
−∞
e la probabilità di un evento congiunto A ⊂ R2 come:
ˆ
ˆ
P rob{(X1 , X2 ) ∈ A} =
f1,2 (x1 , x2 )dx1 dx2
x1 ,x2 ∈A
e il valore medio di una funzione g(·, ·) delle realizzazioni X1 , X2 :
ˆ+∞ ˆ+∞
E [g(X1 , X2 )] =
g(x1 , x2 ) f1,2 (x1 , x2 )dx1 dx2
−∞ −∞
si nota inoltre che due fenomeni sono indipendenti se:
f1,2 (x1 , x2 ) = f1 (x1 ) f2 (x2 )
224
di C.Bettini, A.Guiggiani e T.Lorenzetti
27.1 Definizioni
in tal caso, inoltre, si ha che la probabilità condizionata di X1 rispetto ad X2 è data
da:
f1|2 (x1 |x2 ) =
f1,2 (x1 , x2 )
= f1 (x1 )
f2 (x2 )
Momenti incrociati definiamo adesso la varianza incrociata:
σ1,2
ˆ+∞ ˆ+∞
= E [(X1 − m1 )(X2 − m2 )] =
(x1 − m1 )(x2 − m2 ) f1,2, (x1 , x2 )dx1 dx2
−∞ −∞
si dimostra inoltre che il coefficiente di correlazione:
−1 6 ρ =
σ1,2
61
σ1 σ2
e che se ρ = 0 allora X1 ed X2 sono dette incorrelate. Si noti che per qualsiasi
funzione g1 , g2 dispari vale:
E [g1 (X1 − m1 )g2 (X2 − m2 )] = 0
Infine ricordiamo che nella maggior parte dei casi non è possibile calcolare esattamente i coefficienti finora presentati: è necessario stimarli basandosi sulle N
osservazioni:
σ̂1,2 =
N
1 X
(i)
(i)
(x − m1 )(x2 − m2 )
N i=1 1
di C.Bettini, A.Guiggiani e T.Lorenzetti
225
27.1 Definizioni
σ̂1 =
v
uN
uX
t
(i)
(x1 − m1 )
N
i=1
stessa cosa vale per σ̂2 .
Variabili aleatorie gaussiane monovariate e bivariate si definisce X come v.a.
gaussiana monovariata se la sua d.d.p. è data da:
1 (x − m)2
1
exp −
f (x) = √
2
σ2
2πσ 2
(
)
e si scrive sinteticamente come X ∼ N (m, σ 2 ). Sono noti i momenti centrali di una
v.a. così definita:
E[X] = m
E (X − m)2 = σ 2
h
i
E (X − m)3 = 0
h
i
E (X − m)4 = 3σ 4
h
226
i
di C.Bettini, A.Guiggiani e T.Lorenzetti
27.1 Definizioni
ne risulta che i momenti centrati di ordine dispari sono nulli mentre quelli di ordine
pari (2l) sono proporzionali a σ 2l .


X1 
Si definisce infine X = 
v.a. gaussiava bivariata tale che la d.d.p. congiunta
X2
di X1 , X2 è pari a:
1
1
f1,2 (x1 , x2 ) = √
exp − (x − m)T R−1 (x − m)
2
2π det R
con x = [x1 x2 ]T , m = [m1 m2 ]T e:


ρσ1 σ2 
σ12

R=
ρσ1 σ2
σ22
simmetrica e definita positiva (in genere).
Regioni di confidenza una regione di confidenza è una regione dello spazio dei
valori che contiene una data parte delle realizzazioni:
τ = P rob{X ∈ τ } = α ∈ (0, 1)
nel caso di una d.d.p. continua si ha:
ˆ
f (x) dx = α
τ
dato che una formulazione tale implica infiniti χ che soddisfano i requisiti richiesti,
si cerca l’intervallo di dimensione minima:
di C.Bettini, A.Guiggiani e T.Lorenzetti
227
27.1 Definizioni
τ = {x : f (x) > c} = [m − γ(c) , m + γ(x)]
con γ tale che α sia quello desiderato.
Teorema del limite centrale Siano X1 , ... , XN delle v.a. caratterizzate da una
d.d.p. f (x) e siano Xi , Xj indipendenti qualunque i 6= j, si definisce:
SN =
N
1 X
Xi
N i=1
tale che al crescere di N la v.a. SN tende ad avere una d.d.p. gaussiana:
E [SN ] = m
E (SN − m)2 =
h
i
σ2
N
Processi stocastici in molti settori si incontrano segnali x(t) contraddistinti da
irregolarità (e quindi complessità), incertezza (e quindi non riproducibilità) ed impredicibilità. In questo modo ha senso cercare di descrivere non il singolo segnale
x(t) ma l’insieme dei segnali {x(t)} prodotti da un certo fenomeno. Si definisce
Processo Stocastico χ una collezione di variabili aleatorie X(t) contraddistinte da
un indice temporale t appartenente all’insieme dei tempi T :
228
di C.Bettini, A.Guiggiani e T.Lorenzetti
27.1 Definizioni
χ = {X(t), t ∈ T }
si possono classificare i processi stocastici secondo alcune caratteristiche:
• T = R: processo tempo-continuo;
• T = I: processo tempo-discreto;
• t = k Tc , k ∈ I, Tc =passo di campionamento: processo a dati campionati;
• X(t) ∈ R: processo a valori reali;
• X(t) ∈ I: processo a valori discreti.
Si riporta il teorema di Kolmogorov che afferma che un processo stocastico χ è
caratterizzato quando è assegnata la densità di probabilità congiunta di un generico
numero finito di n v.a. X(t1 ), ... , X(tn ) del processo:
ft1 , ... , tn (x1 , ... , xn )
per ogni possibile scelta degli istanti t1 , ... , tn .
Si definisce inoltre la stazionarietà (in senso forte) di un processo stocastico se:
ft1 , ... , tn (x1 , ... , xn ) = ft1 +T, ... , tn +T (x1 , ... , xn )
qualunque scelta del ritardo T . In altri termini un processo è stazionario se le
famiglie di densità congiunte sono invarianti per traslazioni temporali.
Momenti di un processo stocastico si definisce il momento del primo ordine:
mx (t) = E [X(t)]
di C.Bettini, A.Guiggiani e T.Lorenzetti
229
27.1 Definizioni
ed i momenti centrati del secondo ordine, rispettivamente varianza:
σx2 (t) = E (X(t) − mx (t))2
h
i
e covarianza:
Rx (t1 , t2 ) = E [(X(t1 ) − mx (t1 )) (X(t2 ) − mx (t2 ))]
Inoltre se il processo è stazionario la media è costante e la covarianza dipende solo
dal ritardo temporale tra le v.a. coinvolte. Posto T = t2 − t1 si ha:
Rx (t1 , t2 ) = Rx (T )
La funzione covarianza soddisfa alcune proprietà formali: simmetria e positività.
Analisi in frequenza
Come per i segnali deterministici, anche per i processi stocastici è opportuno disporre
di strumenti matematici adatti a caratterizzarne il comportamento in frequenza,
ovvero a descriverne le realizzazioni in termini di sinusoidi. Nell’analisi in frequenza
si distingue tra caso TD e caso TC.
Spettro e densità spettrale TD sia X(k) = X(k Tc ) un processo a dati campionati
stazionario, con funzione di covarianza Rx (l), si definisce lo spettro:
Φx (z) =
+∞
X
Rx (l) z −l
l=−∞
e la densità spettrale di potenza:
230
di C.Bettini, A.Guiggiani e T.Lorenzetti
27.1 Definizioni
φx (ω) = Φx (z = ejωTc ) =
+∞
X
Rx (l) e−jωTc
l=−∞
si noti che la densità spettrale di potenza è l’analogo della risposta in frequenza dei
sistemi lineari.
Conseguenza della simmetria della covarianza è:
Φ(z) = Φ(z −1 ) , φ(ω) = φ(−ω)
stesso discorso vale per la positività:
φ(ω) > 0 , ∀ω
e per la periodicità:
φ(ω) = φ(ω + k ωc ) , k = 0, ±1, ...
con ωc = 2π
. Per la periodicità è sufficiente definire la densità spettrale per
Tc
h
i
ωappartenente all’intervallo 0, ω2c . È utile definire la funzione di covarianza calcolata in 0 tramite la trasformata di Fourier inversa:
1
R(0) =
2π
ˆ+π
Φ(ω)dω
−π
Più in generale:
di C.Bettini, A.Guiggiani e T.Lorenzetti
231
27.1 Definizioni
1
R(T ) =
2πj
˛
Φ(z) z
T −1
1
dz =
2π
ˆ
+π
Φ(ω)ejT ωTc dω
−π
Teorema dei Residui Sia G ⊂ C un dominio e f (z) : G → C una funzione analitica
ad eccezione di singolarità isolate in numero finito. Sia L una curva semplice a
sostegno di G orientata in senso antiorario e tale che I(L) ⊂ G.
Siano z1 , ... , zN le singolarità di f (z) in I(L), allora:
ˆ
f (z)dz = 2πj
L
N
X
Resz=zi {f (z)}
i=1
dove:
Resz=zi {f (z)} = z=z
lim (z − zi ) f (z)
i
È quindi possibile utilizzare il teorema dei residui per calcolare R(T ).
Spettro e densità spettrale TC Sia X(t) un processo stazionario TC con funzione
di covarianza Rx (T ), si definiscono lo spettro:
ˆ
Φx (s) =
+∞
R(T ) e−sT dT
−∞
e la densità spettrale di potenza:
232
di C.Bettini, A.Guiggiani e T.Lorenzetti
27.1 Definizioni
ˆ
+∞
φx (ω) = Φx (s = jω) =
R(T ) e−jωT dT
−∞
Analizzando le proprietà formali TC si riporta la simmetria:
Φ(s) = Φ(s−1 ) , Φ(ω) = Φ(−ω)
e la positività:
φ(ω) > 0, ∀ω
Inoltre data la d.s.p. si può ricavare la funzione di covarianza in zero R(0) con la
trasformata di Fourier inversa:
1
R(0) =
2π
ˆ
∞
Φ(ω)dω
−∞
Più in generale:
1
R(T ) =
2πj
ˆ
ΦsT
Φ(s) e
s=jω
1
ds =
2π
ˆ
+∞
Φ(ω)ejωT dω
−∞
Teorema del campionamento sia Φ(ω) una d.s.p. di un processo TC e Φc (ω) la
d.s.p. di un processo ottenuto per campionamento con passo Tc , allora si ha:
φc (ω) =
+∞
X
φ(ω + k ωc )
k=−∞
di C.Bettini, A.Guiggiani e T.Lorenzetti
233
27.2 Risposta dei sistemi dinamici ad ingressi stocastici
. Si dimostra che è necessario evitare la sovrapposizione dello spettro TC
con ωc = 2π
Tc
in banda b ase, o analogamente è necessario impostare un passo di campionamento
sufficientemente piccolo da non perdere importanti componenti del segnale in alta
frequenza.
27.2. Risposta dei sistemi dinamici ad ingressi
stocastici
Siano U l’ingresso ed Y l’uscita corrispondente in un sistema dinamico Σ come in
Figura 27.1:
Figura 27.1.: Generico sistema dinamico
Si supponga che U, Y siano descrivibili come processi stocastici, ci si chiede quali
siano le caratteristiche incrociate dei processi definendo alcune grandezze.
Funzione di covarianza incrociata
Ruy (T ) = E [(U (k) − mu ) (Y (k + 1) − my )]
Spettro incrociato
Φuy (z) =
+∞
X
Ruy (l) z −l
l=−∞
234
di C.Bettini, A.Guiggiani e T.Lorenzetti
27.2 Risposta dei sistemi dinamici ad ingressi stocastici
Densità spettrale incrociata
φuy (ω) = Φuy (z = ejωTc )
Valgono inoltre le proprietà formali di simmetria:
Ruy (T ) = Ryu (−T )
di positività:
Φuy (z) = Φyu (z −1 )
e di periodicità:
φuy (ω) = φyu (−ω) = φyu (ω)∗
Risposta ad ingressi stocastici - sistemi TD nel caso TD, se valgono le condizioni:
1. Σ è un sistema dinamico lineare TD, tempo invariante, descritto da una
P
−i
funzione di trasferimento G(z) = +∞
i=0 gi z ;
2. Σ è BIBO stabile:
P+∞
i=0
|gi | < ∞;
3. L’ingresso U (k) è un processo stazionario con media mu e spettro Φu (z).
Allora, a transitorio esaurito, l’uscita Y (k) risulta un processo stazionario a media
my , spettro Φy (z) e spettro incrociato Φuy (z)dati da:
my = G(z = 1) mu
di C.Bettini, A.Guiggiani e T.Lorenzetti
235
27.3 Fattorizzazione spettrale
2
Φy (z) = G(z −1 )Φu (z)G(z) ⇔ φy (ω) = G(ejω ) φu (ω)
Φuy (z) = Φu (z) G(z) ⇔ φuy (ω) = G(ejω )φu (ω)
Inoltre notiamo che:
• la descrizione in frequenza è utile per porre in relazione ingressi ed uscite di
un sistema dinamico lineare, limitando l’analisi al caso stazionario;
• utilizzando il principio di sovrapposizione degli effetti, questi risultati possono essere estesi a qualunque coppia di segnali ingresso/uscita di un sistema
dinamico interconnesso (purchè scorrelati tra loro);
• lo spettro, e quindi la funzione di covarianza dell’uscita, dipende solo dal
modulo della risposta in frequenza del sistema Σ;
• informazioni sulla fase della risposta in frequenza si ottengono solamente considerando le caratteristiche incrociate;
• conoscendo solo le caratteristiche del processo in uscita non è possibile individuare quali dipendono dal processo in ingresso e quali dal sistema dinamico
che lo filtra.
27.3. Fattorizzazione spettrale
In molte applicazioni è necessario modellare un processo stocastico stazionario Y (k),
di cui si conoscono le caratteristiche, come risposta di un sistema dinamico lineare
Σ ad un processo stocastico in ingresso U (k).
Ci si limita a considerare come ingresso un processo e(k) stazionario bianco a media
nulla in quanto non è possibile determinare in maniera univoca sia Σ sia le caratteristiche di U (k). Si definisce rumore bianco e(k) un processo stazionario caratterizzato
da una funzione di correlazione definita da:
236
di C.Bettini, A.Guiggiani e T.Lorenzetti
27.3 Fattorizzazione spettrale


Re (T )
=0

Re (0)
= φe = σe2
per ogni T 6= 0
definita la correlazione si ottiene anche la distribuzione e la densità di probabilità
del processo:
Φ(z) = Re (0) = φe
φ(ω) = Re (0) = φe
ne deriva quindi che l’intero processo è caratterizzato da φe ; la relazione tra e(k) ed
il processo in uscita Y è descritta dall’equazione di fattorizzazione spettrale:
Φy (z) = H(z −1 ) φe H(z) = H(z −1 )H(z) φe
dove H(z) è la funzione di trasferimento di Σ ed è detta fattore spettrale di Φy (z).
Si riportano alcune proprietà che determinano l’esistenza delle soluzioni. Dato lo
spettro di un processo stocastico stazionario Φy (z) senza singolarità sul cerchio di
raggio unitario, allora:
• l’equazione di fattorizzazione spettrale ammette soluzioni nelle incognite H(z)
e φe ;
• se lo spettro Φy (z) è una funzione razionale, allora esistono fattori spettrali
H(z) razionali;
• se H(z) è a dimensione finita, allora Σ è un sistema dinamico a dimensione
finita.
di C.Bettini, A.Guiggiani e T.Lorenzetti
237
27.3 Fattorizzazione spettrale
Esempio di fattorizzazione spettrale consideriamo un processo con densità spettrale:
φy (ω) =
2(1 + cosω)
>0
1 + 4(1 + cosω)
e calcoliamone lo spettro Φy (z):
Φy (z) = H(z)H(z −1 ) φe = Φ(z = ejω )
sfruttando il fatto che:
cosω =
z + z −1
ejω + e−jω
=
2
2
si ottiene:
Φy (z) =
2 + z + z −1
5 + 2z + 2z −1
caratterizzata da soluzioni simmetriche. Dal teorema di esistenza delle soluzioni
sappiamo che H(z) è razionale, quindi possiamo scrivere H(z) in forma polinomiale:
H(z) =
c0 + c1 z −1 + ... + cm z −m
C(z −1 )
=
A(z −1 )
a0 + a1 z −1 + ... + an z −n
Per la fattorizzazione spettrale si ha:
C(z −1 )φe C(z) = 2 + z + z −1
e:
238
di C.Bettini, A.Guiggiani e T.Lorenzetti
27.3 Fattorizzazione spettrale
A(z −1 )φe A(z) = 5 + 2z + 2z −1
da cui derivano le relazioni:
c0 + c1 z −1 + ... + cm z −m
·
H(z) =
a0 + a1 z −1 + ... + an z −n
1
a0
1
a0
=
c00 + c01 z −1 + ... + c0m z −m
1 + a1 z −1 + ... + an z −n
dove possiamo porre, senza perdere generalità, il termine c0 = 1. Verifichiamo adesso
il caso in esempio ponendo:
(c0 + c1 z −1 )φe (c0 + c1 z) = φe (c20 + c21 + c0 c1 z + c0 c1 z −1 ) = 2 + z + z −1
da cui derivano le relazioni:


φe (c2
0
+ c21 ) = 2

φe (c0 c1 )
=1
Fissato c0 = 1 si ricava c1 = 1 e φe = 1.
Allo stesso modo per il denominatore si ha a1 = 2, da cui è possibile ricavare il
fattore spettrale H(z) di Φy (z) come:
H(z) =
1 + z −1
c0 + c1 z −1 + ... + cm z −m
=
a0 + a1 z −1 + ... + an z −n
1 + 2z −1
con φe = 1. Notiamo infine la non unicità delle soluzioni in quanto strettamente
dipendenti dal valore di φe . Se avessimo φe = 41 , ad esempio, la soluzione sarebbe:
di C.Bettini, A.Guiggiani e T.Lorenzetti
239
27.4 Processi AR, MA ed ARMA
1 + z −1
H(z) =
1 + 12 z −1
Fattore spettrale canonico ci chiediamo adesso quali sono le condizioni sotto le
quali il problema di fattorizzazione spettrale ha un’unica soluzione. L’equazione di
fattorizzazione spettrale con spettro razionale:
Φy (z) = H(z −1 )φe H(z)
ammette una unica soluzione {φ∗e , H ∗ (z)} in cui:
1. H ∗ (z) =
P+∞
i=0
hi z −i , con h0 = 1;
2. H ∗ (z) ha poli interni al cerchio di raggio unitario;
3. H ∗ (z) ha zeri interni o sul cerchio di raggio unitario.
Se valgono queste proprietà, H ∗ (z) è detto fattore spettrale canonico.
27.4. Processi AR, MA ed ARMA
Processi AR supponiamo che il fattore spettrale canonico abbia forma:
H ∗ (z) =
1
1
=
P
n
A(z −1 )
1 + i=1 ai z −i
con A(z −1 ) avente modulo necessariamente minore di 1. Ne deriva che il processo
Y (k) = H ∗ (z) · e(k) è detto autoregressivo di ordine n e soddisfa l’equazione:
Y (k) + a1 Y (k − 1) + ... + an Y (k − n) = e(k)
e la sua covarianza Ry (T ) soddisfa:
240
di C.Bettini, A.Guiggiani e T.Lorenzetti
27.4 Processi AR, MA ed ARMA
Ry (T ) + a1 Ry (T − 1) + ... + an Ry (T − n) = 0
per T > n, e va a zero esponenzialmente al crescere di T .
Facciamo un esempio; dato Y (k) un processo autoregressivo di terzo ordine, si scrive:
Y (k) + a1 Y (k − 1) + a2 Y (k − 2) + a3 Y (k − 3) = e(k)
che, moltiplicando tutto per Y (k), porta ad avere:
Y 2 (k) + a1 Y (k)Y (k − 1) + a2 Y (k)Y (k − 2) + a3 Y (k)Y (k − 3) = Y (k)e(k)
mentre moltiplicando tutto per Y (k − 1) si ottiene:
Y (k−1)Y (k)+a1 Y 2 (k−1)+a2 Y (k−1)Y (k−2)+a3 Y (k−1)Y (k−3) = Y (k−1)e(k)
Se andiamo a calcolare la media nell’equazione con Y (k − 1) o in quelle con Y (k − 2)
e Y (k − 3) noteremo che sono tutte nulle poichè Y (k) è combinazione lineare di
rumori bianchi e, quindi, Y (k − 1) è scorrelato con e(k). Si ottiene così:
R(1) + a1 R(0) + a2 R(1) + a3 R(2) = E [Y (k − 1)e(k)] = 0
R(2) + a1 R(1) + a2 R(0) + a3 R(1) = E [Y (k − 2)e(k)] = 0
di C.Bettini, A.Guiggiani e T.Lorenzetti
241
27.4 Processi AR, MA ed ARMA
R(3) + a1 R(2) + a2 R(1) + a3 R(0) = E [Y (k − 3)e(k)] = 0
in modo tale che per avere i coefficienti ai basta risolvere l’equazione di Yule-Walker:








R(0) R(1) R(2)   a1   −R(1)



 a  =  −R(2)
R(1) R(0) R(1) 

 2 
−R(3)
a3
R(0) R(1) R(0)





È così possibile calcolare la media della prima equazione:
R(0) + a1 R(1) + a2 R(2) + a3 R(3) = E [Y (k)e(k)] = φe
Processi MA supponiamo che il fattore spettrale canonico abbia forma:
H ∗ (z) = C(z −1 ) = 1 +
m
X
ci z −i
i=1
allora il processo Y (k) soddisfa l’equazione ricorsiva:
Y (k) = e(k) + c1 e(k − 1) + ... + cm e(k − m)
ed è detto processo a media mobile di ordine m. Si noti che la funzione di covarianza
Ry (T ) è data dall’espressione (con c0 = 1):
Ry (T ) =
242


cT

0
+ c1 cT +1 + ... + cm−T cm
per T 6 m
altrimenti
di C.Bettini, A.Guiggiani e T.Lorenzetti
27.4 Processi AR, MA ed ARMA
pertanto un processo M A ha memoria pari al suo ordine: la covarianza, infatti, va
a zero dopo m passi.
Consideriamo un esempio in cui Y (k) è un processo M A di terzo ordine:
Y (k) = e(k) + c1 e(k − 1) + c2 e(k − 2) + c3 e(k − 3)
e calcoliamo la covarianza per T = 0:
R(T = 0) = E Y 2 (k) =
h
i
3
X
c2i φe
i=0
analogamente per T = 1 si ottiene:
R(T = 1) = E [Y (k)Y (k − 1)] = E
" 3
X
#
ci−1 ci φe = (c1 + c1 c2 + c2 c3 )φe
i=0
e per T = 2 e T = 3:
R(T = 2) = (c2 + c1 c3 )φe
R(T = 3) = c3 φe
mentre per T > 3 si ha R(T ) = 0. Ne deriva che per un modello M A la funzione di
covarianza va a zero dopo un numero di passi pari all’ordine del modello.
Processi ARMA scegliendo un ordine sufficientemente elevato è possibile approssimare i processi con spettro razionale usando processi AR o processi M A. Normal-
di C.Bettini, A.Guiggiani e T.Lorenzetti
243
27.5 Modellazione di processi non stazionari
mente i processi AR sono da preferirsi in quanto sono più parsimoniosi ed è facile
ricavare i coefficienti partendo dalla funzione di covarianza.
Una completa descrizione dei processi con spettro razionale si ottiene utilizzando:
H ∗ (z) =
C(z −1 )
A(z −1 )
ovvero utilizzando una descrizione auto-regressiva a media mobile (ARM A). In
questo caso il processo Y (k) soddisfa l’equazione ricorsiva:
Y (k) + a1 Y (k − 1) + ... + an Y (k − n) = e(k) + c1 e(k − 1) + ... + cm e(k − m)
27.5. Modellazione di processi non stazionari
L’idea è quella di approssimare un processo non stazionario. Infatti i processi non
stazionari sono spesso la risposta ad ingressi stazionari di sistemi dinamici non lineari
(o lineari instabili) e quindi la loro caratterizzazione è strettamente legata al sistema
dinamico che li produce. In molte applicazioni non è disponibile il sistema dinamico,
quindi è necessario parametrizzare le varie famiglie di processi non stazionari nel
modo più semplice possibile. Questo può avvenire:
1. concentrando la non stazionarietà di questi processi nella funzione di media,
che invece di essere costante diventa una sinusoide, una rampa od altro;
2. usando filtri formatori marginalmente stabili (ovvero con poli sul cerchio unitario).
Analizziamo adesso alcuni processi non stazionari del secondo tipo.
Processo di Wiener TD il processo di Wiener TD è definito dall’equazione ricorsiva:
244
di C.Bettini, A.Guiggiani e T.Lorenzetti
27.5 Modellazione di processi non stazionari
W (k) = W (k − 1) + e(k)
con W (0) = 0, k > 0 ed e(k) rumore bianco a media nulla e varianza φe . Si definisce
così formalmente:
W (k) = H(z)e(k) =
1
e(k)
1 − z −1
tuttavia W (k) non può essere considerato un processo AR di ordine unitario, in
quanto le sue proprietà sono qualitamente diverse:
• W (k) è non stazionario. Posto Rw (t1 , t2 ) = E [W (t1 )W (t2 )] si ha:
Rw (t1 , t1 ) = (t1 + 1)φe
Rw (t1 , t2 ) = min{t1 , t2 }φe
e quindi la varianza del processo cresce col passare del tempo mentre la memoria
non va a zero al crescere del ritardo T = t2 − t1 .
• il processo non è ergodico.
Il processo di Wiener si dice infatti diffusivo, e questa caratteristica è legata al
mancato contributo di |ρ| < 1 che è infatti posto nei processi AR. Possiamo calcolare
la covarianza per T > 0 tramite la formula:
E [W (k)W (k + T )] = E W 2 (k) = kφe
h
i
oppure, per T < 0, si ottiene:
E [W (k + T )W (k)] = E W 2 (k + T ) = (k + T )φe
h
i
di C.Bettini, A.Guiggiani e T.Lorenzetti
245
27.6 Equazioni di Lyapunov
si noti quindi che i processi simili a quello di Wiener sono tali che, pur non essendo
stazionari, è costante l’incremento tra i campioni.
27.6. Equazioni di Lyapunov
Supponiamo di avere un processo X(k) discreto generato da un’equazione ricorsiva
del tipo:
X(k + 1) = aX(k) + W (k) + b u(k)
dove x(0) è caratterizzato da media m0 e varianza p0 mentre W (k) è un rumore
bianco con spettro φw . Supponiamo adesso che il rumore sia assente: in questo
caso avremo un comportamento convergente per |a| < 1 e divergente per |a| > 1.
Ricaviamo adesso l’evoluzione di media e varianza:
m(k) = E [X(k)]
p(k) = V ar [X(k)]
da cui deriva che:
E [X(k + 1)] = aE [X(k)] + bE [u(k)] + E [W (k)]
dove, considerando E [W (k)] = 0, si ottiene:
m(k + 1) = am(k) + bu(k)
246
di C.Bettini, A.Guiggiani e T.Lorenzetti
27.6 Equazioni di Lyapunov
quindi la media si evolve come lo stato in assenza di rumore. La varianza, invece, si
calcola come:
p(k + 1) = E (X(k + 1) − m(k + 1))2 = E a(X(k) − m(k) + W (k))2
h
i
h
i
da cui si ottiene:
p(k + 1) = a2 p(k) + φw + 2a E [(X(k) − m(k)) · W (k)]
ma i membri nell’ultimo termine sono scorrelati poichè la quantità [X(k) − m(k)]
dipende dai disturbi fino a W (k − 1) e non da W (k), quindi si ottiene:
p(k + 1) = a2 p(k) + φw
che è detta Equazione di Lyapunov Ricorsiva.
Un ulteriore risultato è riportato nel caso di sistema asintoticamente stabile. In
questo caso, infatti, l’equazione di Lyapunov si riduce a:
p ∞ = a2 p ∞ + q
da cui si ricava:
p∞ =
q
1 − a2
da cui notiamo che la soluzione esiste anche per |a| > 1 ma perde di significato
in quanto ha segno negativo (e quindi non ha senso statistico trattandosi di una
varianza). Ricordiamoci che nel minimizzare la matrice di varianza si deve comunque
tener conto dei vincoli di stabilità.
di C.Bettini, A.Guiggiani e T.Lorenzetti
247
28. Stima puntuale e stimatore
MEQM
Nell’analisi dei dati l’obiettivo è ottenere informazioni su un processo X osservando
i valori assunti da un fenomeno ad esso collegato Y . In ambito probabilistico è
possibile sostituire alla d.d.p. marginale fX (x) con la d.d.p. condizionata fX|Y (x|y)
definita come:
fX|Y (x|y) =
fX,Y (x, y)
fY (y)
Il problema è che nella maggior parte dei casi non è possibile calcolare in modo
analitico fX|Y , quindi è necessario passare da un problema deterministico ad uno
di stima. Dato un generico sistema in cui la variabile X è ignota, se abbiamo delle
misure del tipo:
yi = X + vi
affette da disturbo vi è comunque possibile stimare lo stato X. È così possibile
applicare i concetti statistici in modo tale da ottenere una stima il più accurata
possibile della grandezza di interesse.
Supponiamo di avere un problema del tipo:
• X fenomeno non osservato, modellato come v.a. vettoriale X ∈ Rn ;
• Y fenomeno osservato, modellato come v.a. vettoriale Y ∈ Rm ;
249
Stima puntuale e stimatore MEQM
• informazioni a priori riguardanti la probabilità congiunta fX,Y (x, y) ed in
particolare i suoi momenti di primo e secondo ordine:
mx = E[X] , my = E[Y ]
Rx = V ar(X) , Ry = V ar(Y ) , Rxy = Covar(X, Y )
Si definisce così lo stimatore puntuale g(·) : Rm → Rn di X basato su Y e tale che la
stima puntuale g(Y ) è la v.a. che in corrispondenza di ogni osservazione y relativa
al fenomeno Y assegna ad X il valore (stimato) g(y).
Per quantificare la bontà di una stima è necessario introdurre il concetto di Errore
Quadratico Medio (EQM), definito come matrice:
h
0
ˆ ˆ
i
fX
f =
V (g) = E X
[x − g(y)] [x − g(y)]0 fX,Y (x, y)dxdy
f = x − g(y) e tale da essere simmetrica, semidefinita positiva e di dimensione
con X
nxn.
Si definisce così lo stimatore a Minimo EQM (MEQM) quello tale che:
V (g) 6 V (h) , ∀h(·) : Rm → Rn
ovvero tale che V (h) − V (g) è una matrice semidefinita positiva.
È dimostrato che lo stimatore a media condizionata è lo stimatore MEQM. L’EQM
minimo è la varianza della d.d.p. condizionata:
ˆ ˆ ˆ ˆ
V (g ) =
∗
250
[x − g(y)] [x − g(y)]0 fX,Y (x, y)dxdy
di C.Bettini, A.Guiggiani e T.Lorenzetti
28.1 Stimatore lineare
Nel caso in cui Y è indipendente da X, lo stimatore MEQM di X è la media mx ed
il corrispondente EQM è la varianza Rx .
28.1. Stimatore lineare
Date le v.a. X, Y , lo stimatore lineare X basato sulle osservazioni di Y è una
funzione:
l(·) : Rm → Rn , l(y) = Ly + l
f è tale da avere media e
dove L ∈ Rnxm ed l ∈ Rn . Inoltre l’errore di stima X
varianza definite come:
h
i
f = m − Lm − l
E X
x
y
0
f = R − LR − R L + LR L
V ar(X)
x
yx
xy
y
0
da questa formulazione possiamo ricavare, con alcuni passaggi, lo stimatore lineare
a MEQM definito come:
l∗ (·) = L∗ y + l∗
con:
L∗ = Rxy Ry−1
l∗ = mx − L∗ (y − my )
di C.Bettini, A.Guiggiani e T.Lorenzetti
251
28.1 Stimatore lineare
h
i
f = 0. Ne deriva
tali che se sostituiti nelle formule precedenti portano ad avere E X
l’espressione dello stimatore a MEQM:
l∗ (y) = mx + L∗ (y − my )
0
0
L’EQM corrispondente è pari a V (l∗ ) = Rx − Rxy Ry−1 Rxy , dove Rxy = Ryx se la
matrice della covarianza mista è simmetrica.
Riportiamo un esempio in cui si ha un modello lineare ed un disturbo gaussiano.
Consideriamo la v.a. Y guidata dal modello lineare X:
Y = CX + N
dove X ∈ Rn ∼ N (mx , Rx ) ed N ∈ Rm ∼ (mN , RN ). Se ipotizziamo n = m = 1 ed
2
).
mN = 0, si ottiene X ∼ N (mx , σx2 ) e N ∼ N (0, σN
Calcoliamo la covarianza e la varianza:
Rxy = E [(X − mx ) ((X − mx ) + N )] = E (X − mx )2 + E [(X − mx ) (N )] = σx2
h
i
2
Ry = E ((X − mx ) − N )2 = E (X − mx )2 +E N 2 +2E [(X − mx ) (−N )] = σx2 +σN
h
i
h
i
h
i
dato che X ed N sono scorrelate. Si ottiene così lo stimatore di X:
x̂ = mx + L∗ (y − my ) =
2
σN
σx2
m
+
y
x
2
2
σx2 + σN
σx2 + σN
Quindi si possono avere due situazioni:
252
di C.Bettini, A.Guiggiani e T.Lorenzetti
28.2 Stima BLUE (ottima, lineare e non polarizzata)
1. σx σN , da cui deriva che è preferibile stimare lo stato con la misura, quindi
x̂ ≈ y;
2. σN σx , da cui deriva che la misura è incerta per via di un grande disturbo,
quindi è preferibile stimare lo stato con la media ponendo x̂ ≈ mx .
Nel caso dell’EQM abbiamo una situazione analoga:
V (l∗ ) = σx2 −
σx4
σx2
+
2
σN
=
2
σx2 σN
2
σx2 + σN
≈


σ 2
N
se σx σN

σ 2
se σN σx
x
28.2. Stima BLUE (ottima, lineare e non polarizzata)
La stima BLUE è una stima a MEQM nel caso in cui X, V siano congiuntamente
gaussainte. Definiamo:
Y = CX + V
dove X è la variabile da stimare, Y il vettore delle osservazioni e V il rumore di
misura (formato da elementi ortogonali caratterizzati da σv2 ). Si definisce così la
stima BLUE all’istante di tempo i come:
0
x̂i = x̂i−1 +
pi C i
(yi − Ci x̂i−1 )
σv2
In fin dei conti la stima BLUE è una stima in cui il valore i − esimo viene stimato
a partire dalla stima precedente (x̂i−1 ) considerando una correzione proporzionale
alla varianza (pi ) e inversamente proporzionale al rumore (σv2 ).
Ricordiamo che è necessario aggiornare anche la covarianza:
di C.Bettini, A.Guiggiani e T.Lorenzetti
253
28.3 Filtro di Wiener
0
pi−1 Ci Ci pi−1
pi = pi−1 − 2
0
σv + Ci pi−1 Ci
28.3. Filtro di Wiener
Il filtro di Wiener è stato introdotto alla fine degli anni ’30 nel mondo occidentale.
Studi analoghi furono compiuti nell’URSS da Kolmogorov. Il problema studiato
riguardava la predizione di processi stocastici stazionari, e più precisamente la predizione di un aereo al fine di dirigere il tiro contraereo. Si considerino i processi
stocastici congiuntamente stazionari Y (k) ed X(k), supposti per semplicità a media
nulla e tali che le loro proprietà sono note fino al 2° ordine. Sono quindi note le
funzioni di covarianza (Rx , Ry , Rxy ), gli spettri (Φx , Φy , Φxy ) e le densità spettrali
(φx , φy , φxy ).
Si desidera stimare il valore assunto dal processo non osservato X all’istante k
sfruttando le osservazioni sul processo Y , ovvero progettando un filtro G∗ (z) tale
che l’errore di stima:
(k) = X(k) − G∗ (z)Y (k)
sia un processo stazionario a minima varianza.
Si tratta quindi di un problema di stima lineare a MEQM caratterizzato dal fatto
che:
• il vettore delle osservazioni è infinto dimensionale e stazionario;
• la soluzione, di conseguenza, è infinito dimensionale ma tempo-invariante.
Quindi il filtro ottimo non dipende dall’istante k;
• nella formulazione il filtro elabora tutti i dati disponibili, sia precedenti che
successivi all’istante k, pertanto il filtro risultante è di tipo anticipativo.
Specificando la relazione tra X ed Y si ottengono diverse applicazioni del filtro di
Wiener. È possibile classificare:
254
di C.Bettini, A.Guiggiani e T.Lorenzetti
28.3 Filtro di Wiener
1. predizione a T-passi in avanti:
Y (k) = X(k − T )
da cui risulta:
φy (ω) = e−jωT φx (ω)
2. Filtraggio del rumore:
Y (k) = X(k) + N (k)
con N (k) incorrelato da X(k). In questo caso si ottiene:
φy (ω) = φx (ω) + φn (ω) , con : φxy (ω) = φx (ω)
3. Deconvoluzione:
Y (k) = F (z)X(k) + N (k)
con N (k) incorrelato da X(k), risulta:
2
φy (ω) = F (ejωT ) φx (ω) + φn (ω)
2
con φxy (ω) = F (ejωT ) φx (ω).
La soluzione del filtro di Wiener, considerato (k) = X(k) − G(z)Y (k) ed il sistema
come in Figura 28.1:
Figura 28.1.: Soluzione del filtro di Wiener
da cui si ottiene:
di C.Bettini, A.Guiggiani e T.Lorenzetti
255
28.3 Filtro di Wiener
1
E (k) =
2π
h
2
ˆ
+π
i
φe (ω)dω
−π
L’espressione della densità spettrale è:
2
φe (ω) = φx (ω) + G(ejω ) φy (ω) − G(ejω )φxy (ω) − G(e−jω )φyx (ω)
da cui si ottiene:
h
i
i∗
h
φe (ω) = φx (ω)+ G(ejω )φy (ω) − φxy (ω) φ−1
G(ejω )φy (ω) − φyx (ω) −φyx (ω)φ−1
y
y (ω)φxy (ω)
che può essere riscritto come:
h
i
h
i∗
φe (ω) = G(ejω )φy (ω) − φxy (ω) φ−1
G(ejω )φy (ω) − φyx (ω)
y
+ φ∗ (ω)
Pertanto il filtro di Wiener è riducibile a:
G∗ (ejω ) =
Φyx (z)
φyx (ω)
⇔ G∗ (z) =
φy (ω)
Φy (z)
con una densità spettrale dell’errore definita come:
φ∗ (ω) = φx (ω) − φyx (ω)φ−1
y (ω)φxy (ω)
ed un EQM minimo pari a:
h
2
E (k)
∗
i
1
=
2π
ˆ
+π
φ∗ (ω)dω
−π
Riportiamo adesso un esempio di filtraggio con Wiener. Dato un impianto come in
Figura 28.2:
256
di C.Bettini, A.Guiggiani e T.Lorenzetti
28.3 Filtro di Wiener
Figura 28.2.: Esempio di applicazione del filtro di Wiener
Siano:
Y (k) = X(k) + N (k)
con X(k) ed N (k) incorrelati e con:
φy (ω) = φx (ω) + φn (ω)
φxy (ω) = φx (ω)
Allora si ottiene:
Φx (z) = Φxy (z) =
0.82
(1 − 0.6z)(1 − 0.6z −1 )
con Φn (z) = 1. Risulta pertanto:
Φy (z) = Φx (z) + Φn (z) = Φx (z) + 1
da cui si ottiene:
di C.Bettini, A.Guiggiani e T.Lorenzetti
257
28.4 Predizione a MEQM
(1 − 0.3z)(1 − 0.3z −1 )
Φy (z) = 2
(1 − 0.6z)(1 − 0.6z −1 )
quindi Y (k) può essere visto come generato da un rumore bianco e(k) di varianza
−1 )
. Di conseguenza il filtro di
E [e2 (k)] = 2 tramite un filtro avente forma (1−0.3z
(1−0.6z −1 )
Wiener ha forma:
0.41
Φx (z)
=
Φy (z)
(1 − 0.3z)(1 − 0.3z −1 )
G∗ (z) =
mentre la densità spettrale e la varianza dell’errore valgono:
φ∗ (ω) =
0.41
1.09 − 0.5cosω
e:
h
2
ˆ
i
E (k) =
+π
−π
φ (ω)dω =
0.41
0.91
28.4. Predizione a MEQM
La predizione di segnali ha un ruolo fondamentale in molti settori e la sua qualità
dipende principalmente da quella del modello che descrive l’evoluzione temporale
della grandezza osservata. I modelli possono essere molto complessi e contenere
variabili esogene; consideriamo un processo stocastico stazionario Y (k)a media nulla
e con spettro Φy (z).
Volendo calcolare la predizione a MEQM a T passi di Y (k), si procede attraverso la
stima lineare a MEQM di Y (k + T ) utilizzando il fattore spettrale:
258
di C.Bettini, A.Guiggiani e T.Lorenzetti
28.4 Predizione a MEQM
Φy (z) = H ∗ (z)H ∗ (z −1 )φe
con:
H ∗ (z) =
∞
X
hi z −i
i=0
H ∗ (z −1 ) =
∞
X
h̄i z −i
i=0
supposto senza zeri sul cerchio unitario. Decomponiamo così il fattore spettrale
canonico in due parti:
H ∗ (z) = H1 (z) + z −T H2 (z)
con H1 (z) = 1 + h1 z −1 + ... + hT −1 z T −1 . Ricordiamo inoltre che:
e(k) = H ∗ (z)−1 Y (k)
che è il processo ottenuto “sbiancando” Y (k). Possiamo così rappresentare:
Y (k) = H ∗ (z) e(k)
da cui deriva la predizione a MEQM:
Y (k + T ) = H ∗ (z) e(k + T ) =
∞
X
hi e(k + T − i) = H1 (z) e(k + T ) + H2 (z) e(k)
i=0
Notiamo che la prima parte della formula è una v.a. incorrelata con le variabili
{e(k), e(k − 1), ...} e, di conseguenza, anche con {Y (k), Y (k − 1), ...}. La seconda
di C.Bettini, A.Guiggiani e T.Lorenzetti
259
28.4 Predizione a MEQM
parte, invece, è una v.a. combinazione lineare delle osservazioni {Y (k), Y (k −1), ...}
su cui è basata la stima. Quindi il vettore Y (k+T ) è composto da due parti: la prima,
PT −1
i=0 hi e(k + T − i), giace nello spazio delle informazioni disponibili; la seconda,
P∞
i=0 hi+T e(k − i), rappresenta il vettore dei campioni futuri ed è caratterizzata da
componenti ortogonali allo spazio delle informazioni disponibili.
Pertanto la stima a MEQM basata sulle osservazioni y k è data da:
Ŷ (k + T |k) =
∞
X
hi+T e(k − i) = H2 (z) e(k) = H2 (z)H ∗ (z)−1 Y (k)
i=T
e l’errore di stima corrispondente è:
(k + T |k) = H1 (z) e(k + T ) =
TX
−1
hi e(k + T − i)
i=0
con varianza:
E [(k + T |k)] =
TX
−1
h2i φe
i=0
Inoltre notiamo che (k + 1|k) = e(k + 1), da cui deriva la definizione di e(k) come
processo alle innovazioni di y(k):
y(k + 1) = ŷ(k + 1|k) + e(k + 1)
Soluzione generale (Filtro di Wiener causale) Per calcolare Ĝ(z) si procede in
questo modo:
1. calcolo il fattore spettrale canonico H ∗ (z) di Φy (z) come:
Φy (z) = H ∗ (z)H ∗ (z −1 )φe
260
di C.Bettini, A.Guiggiani e T.Lorenzetti
28.5 Filtro di Kalman (TD e TC)
2. ricavo il processo bianco a partire dalle osservazioni y(k):
e(k) = H ∗ (z)−1 y(k)
3. calcolo lo spettro come:
Φxe (z −1 ) = H ∗ (z −1 )−1 Φxy (z −1 )
4. ricavo il filtro di Wiener non causale per la stima di X(k) basata sul processo
e(k):
G∗e (z) =
Φxe (Z −1 )
φe
5. estraggo la parte causale di G∗e (z) e definisco il filtro di Wiener causale {·}c :
(
Ĝ(z) = H (z)
∗
−1
{G∗e (z)}c
= H (z)
∗
−1
H ∗ (z −1 )−1 Φxy (z −1 )
φe
)
c
28.5. Filtro di Kalman (TD e TC)
Il Filtro di Kalman fu sviluppato a fine anni ’50 dalla NASA, al fine di ricercare
algoritmi che permettessero di tracciare posizione e velocità di satelliti e navette
spaziali.
Dal punto di vista dei contenuti il Filtro di Kalman è una generalizzazione di quello
di Wiener, risolvendo il problema di stima a MEQM per segnali non stazionari e,
almeno potenzialmente, anche per sistemi non lineari (il filtro di Kalman, infatti,
opera nel tempo).
Consideriamo il sistema dinamico (TD):


x(k
+ 1) = Ax(k) + Bu(k) + w(k)

y(k)
= Cx(k) + v(k)
di C.Bettini, A.Guiggiani e T.Lorenzetti
261
28.5 Filtro di Kalman (TD e TC)
caratterizzato da due disturbi, w(k) di processo e v(k) di misura. Definiamo le
condizioni al contorno:
• w(k) ∼ N (0, Q)
• v(k) ∼ N (0, R)
• x(0) ∼ N (m0 , P0 )
• x(0) ⊥ w(i) ⊥ v(j) ∀ i, j > 0
L’obiettivo è quello di stimare il valore assunto dallo stato, ovvero calcolare la stima
lineare a MEQM di x(j) basata sulle osservazioni y k e la matrice di varianza P (j|k)
dell’errore di stima x̃(j|k) = x(j) − x̂(j|k). Inoltre il calcolo deve avvenire in modo
ricorsivo rispetto agli indici j, k. Si definisce:
• predizione, se j > k;
• filtraggio, se j = k;
• interpolazione, se j < k.
la struttura ricorsiva della soluzione è divisa in due fasi, una di propagazione della
stima dello stato e l’altra di propagazione della matrice di varianza.
Propagazione della stima dello stato si identificano altre due fasi:
1. Aggiornamento della misura (correzione):
x̂(k|k) = x̂(k|k − 1) + K(k) e(k)
con:
K(k) = P (k|k − 1) C 0 G(k)−1
G(k) = C P (k|k − 1) C 0 + R
e(k) = y(k) − C x̂(k|k − 1)
262
di C.Bettini, A.Guiggiani e T.Lorenzetti
28.5 Filtro di Kalman (TD e TC)
2. Aggiornamento temporale (predizione):
x̂(k + 1|k) = A x̂(k|k) + B u(k)
Propagazione della matrice di varianza anche questo secondo aspetto è suddiviso
in due fasi:
1. Aggiornamento della misura (correzione):
P (k|k) = P (k|k − 1) C 0 (C P (k|k − 1) C 0 + R)
−1
C P (k|k − 1)
2. Aggiornamento temporale (predizione):
P (k + 1|k) = P (k|k − 1)−1 + C 0 R−1 C
Notiamo inoltre che l’aggiornamento della misura è riscrivibile in forma:
P (k|k)−1 = P (k|k − 1)−1 + C 0 R−1 C
Equazione Ricorsiva di Riccati e Filtro Stazionario Le due equazioni di aggiornamento possono essere fuse insieme per ottenere l’Equazione Ricorsiva di Riccati:
x̂(k + 1|k) = A (I − K(k)C) x̂(k|k − 1) + A K(k) y(k) + B u(k)
P (k + 1|k) = A P (k|k − 1) A0 − A K(k) C P (k|k − 1) A0 + Q
una volta impostate le condizioni iniziali x̂(1|0) = m0 e P (1|0) = P0 .
di C.Bettini, A.Guiggiani e T.Lorenzetti
263
28.5 Filtro di Kalman (TD e TC)
Ipotesi di convergenza del filtro di Kalman se il sistema è LTI ed i disturbi sono
stazionari, allora esistono alcune ipotesi che garantiscono la convergenza di P con
P soluzione unica del problema. Nel dettaglio deve valere:
1. A, C osservabili: quindi osservando l’uscita per un tempo sufficiente si riesce
a stimare tutte le componenti dello stato;
2. A, D raggiungibili: quindi il rumore di processo influenza tutte le componenti
dello stato;
3. Q : Q > 0.
Sotto queste ipotesi, ∀P0 > 0 esiste:
lim P (t + 1|t) = P = P 0 > 0
t→∞
con P soluzione della ARE:
0
0
0
0
0
P = AP A + DQD − AP C (R + CP C )−1 CP A
da cui deriva l’equazione per il calcolo del guadagno:
0
0
K = AP C (R + CP C )
tale che gli autovalori di (A − KC) cadono all’interno del cerchio unitario.
Filtro di Kalman TC ipotizziamo ora di avere un sistema Σ TC la cui evoluzione
è descritta da:
264


ẋ(t)
= Ax(t) + Bu(t) + w(t)

y(t)
= Cx(t) + v(t)
di C.Bettini, A.Guiggiani e T.Lorenzetti
28.5 Filtro di Kalman (TD e TC)
con w(t), v(t) rumori bianchi continui aventi intensità rispettivamente Q, R.
Indicando con x̄(t) la stima a MEQM di x(t) si ottiene il Filtro di Kalman TC:
˙
x̂(t)
= Ax̄(t) + Bu(t) + K(t)e(t)
con:
K(t) = P (t)CR−1
Ṗ (t) = AP (t) + P (t)A0 − P (t)CR−1 C 0 P (t) + Q
Tutto ciò nel caso stazionario, se Σ è osservabile, diventa costante. P = P 0 > 0 è
ricavata come soluzione dell’Equazione di Riccati:
0 = AP + P A0 + P CR−1 C 0 P + Q
e la matrice della dinamica del filtro, definita A−K∞ C, risulta essere asintoticamente
stabile.
Estensione al caso di rumore di processo colorato dato il modello TD:


x(t + 1)

y(t)
= Ax(t) + Bu(t) + Dw(t)
= Cx(t) + v(t)
in cui v(t) è rumore bianco mentre w(t) è rappresentabile come uscita di un rumore
bianco (%(t)) da un filtro LTV. Ne deriva un modello di w(t) rappresentabile per
mezzo del suo stato ζ(t):
di C.Bettini, A.Guiggiani e T.Lorenzetti
265
28.5 Filtro di Kalman (TD e TC)


ζ(t + 1)

w(t)
= Aw ζ(t) + Dw %(t)
= Cw ζ(t) + %(t)
Si definisce adesso lo stato esteso:


x(t) 
S(t) , 
ζ(t)
per mezzo del quale è possibile rappresentare l’evoluzione del sistema esteso:









x(t + 1)   A DCw   x(t)   B 
D 
S(t + 1) = 
=
+
w(t) + 
%(t)
ζ(t + 1)
0 Aw
0
Dw
ζ(t)
con uscita estesa:
y(t) =
h
i
C 0 S(t) + v(t)
quindi è sufficiente applicare il filtro di Kalman al sistema caratterizzato dalle matrici
As , Bs , Cs , Ds definite:






h
i
A DCw 
B 
D 
As = 
, Bs = 
, C s = C 0 , Ds = 
0 Aw
0
Dw
Estensione al caso di rumore di misura colorato allo stesso modo del caso
precedente si definisce lo stato di v(t) come uscita di un filtro LTV:
266
di C.Bettini, A.Guiggiani e T.Lorenzetti
28.5 Filtro di Kalman (TD e TC)


ζ(t + 1)

w(t)
= Av ζ(t) + Dv %(t)
= Cv ζ(t) + %(t)
e si lavora sullo stato esteso S(t) =
h
i
x(t) ζ(t) .
di C.Bettini, A.Guiggiani e T.Lorenzetti
267
29. Smoothing
Lo smoothing è il caso in cui, data la stima dello stato x̂(t|k) basata sui dati osservati
y k e caratterizzata da una covarianza P (t|k), si verifica k > t. Notiamo subito che
se avviene una cosa del genere si introduce un ritardo, quindi queste tecniche non
sono adatte a controllori retroazionati.
La predizione è classificabile sotto tre diverse tecniche:
1. fixed point (fissato t si muove k):


x̂(t|k
+ 1) = x̂(t|k) + Φ(t|k + 1)L(k + 1)e(k + 1)

P (t + 1|k)
0
= P (t|k) − Φ(t|k + 1)L(k + 1)S(k + 1)L(k + 1) Φ(t|k + 1)
0
con e(k) innovazione, L(k) varianza dell’innovazione e Φ(k) pari all’ultimo
coefficiente dell’ultima stima del filtro di Kalma:
x̂(t|k) = Φ(t|k) x̂(k|k) +
t−1
X
Φ(t|i − 1) B u(i)
i=k
in questa tecnica si tiene fisso t e si osserva l’evoluzione della stima al variare
di k, rispettivamente per (k + 1), (k + 2), .... È una tecnica utilizzata per la
stima dello stato iniziale di un sistema (ad esempio nel caso di stima del luogo
di partenza di un missile).
2. fixed lag (anticipo (t − k) costante):


x̂(t + 1|k
+ 1) = A x̂(t|k) + B u(t) + Φ(t|k + 1)L(k + 1)e(k + 1)

P (t + 1|k
+ 1) = A P (t|k) A + D Q D Φ(t|k + 1)L(k + 1)S(k + 1)L(k + 1) Φ(t|k + 1) −
0
0
0
0
269
Smoothing
questa tecnica è utilizzata molto nelle TLC in quanto si introduce un ritardo
fisso che non causa disturbi alla trasmissione (se un film è interamente ritardato
di due secondi non è un problema per chi lo guarda).
3. fixed interval (fissato k si muove t):


x̂(t + 1|k)
= A x̂(t|k) + B u(t)

P (t + 1|k)
= A P (t|k) A + D Q D
0
0
con questa tecnica si riceve un segnale di durata finita che viene completamente
ricostruito dopo la ricezione basandosi su tutte le osservazioni (è un processo
offline).
Fixed Point Smoothing l’idea è quella di stimare:


x(k
+ 1) = A x(k) + B u(k) + D w(k)

y(k)
= C x(k) + v(k)
Definiamo lo stato esteso:




x(k)   x(k) 
S(k) = 
=
x̄(k)
x(t)
dove x(t)non dipende dal parametro k, quindi in realtà equivale alla stima di un
parametro costante. Definiamo la dimanica dello stato esteso:










D 
B 
x(k + 1)   A x(k) + B u(k) + D w(k)   A 0 
S(k)+
u(k)+
w(k)
S(k+1) = 
=
=
0
x̄(k + 1)
x̄(k)
0 I
0
che equivale a dire:
270
di C.Bettini, A.Guiggiani e T.Lorenzetti
Smoothing
S(k + 1) = a S(k) + b u(k) + d w(k)
in modo da poter applicare il Filtro di Kalman allo stato esteso (che ha dimensione
doppia del caso “classico”, e questo è l’unico neo) ed ottenere la stima:


x̂(k|k) 
Ŝ(k|k) = 
x̂(t|k)
da cui si ottiene:


K(k) 
(y(k) − C x̂(k|k − 1))
Ŝ(k + 1|k) = a Ŝ(k|k − 1) + b u(k) + 
K̄(k)
con:



0


P (k|k − 1) P̄ (k|k − 1)   C 
K(k) 
0

(R + C P (k|k − 1) C)−1
= a
P̄ (k|k − 1) P̂ (t|k − 1)
0
K̄(k)
per l’aggiornamento della covarianza si ha:

0


0


P P̄ 
P P̄ 
DQD
0



=
a
a
+
P̄ Pe k+1|k
P̄ Pe k|k−1
0
0





0
0
i
0   P P̄ 
C h
0
0

−a
K(k)
K̄(k)
0
P̄ Pe k|k−1 0
quindi in realtà si hanno due operazioni: prima si applica il Filtro di Kalman per
ricavare, partendo dai dati {y t−1 , ut−1 } le stime di x̂(t|t − 1) e P (t|t − 1); poi si
applica lo smoother al fine di ricavare x̂(t|k) :
x̂(t|k) = x̂(t|k − 1) + K̄(k) (y(k) − C x̂(k|k − 1))
di C.Bettini, A.Guiggiani e T.Lorenzetti
271
Smoothing
e, infine:
x̂(k + 1|k) = A x̂(k|k − 1) + K̄(k) e(k)
c mentre lo smoother ricava i valori
quindi in parole povere il filtro ricava i valori (·)
(·) . Notiamo infine che il guadagno del sistema cresce all’aumentare di L = (k − t)
e va a saturare ad un certo valore L. La L ottima è solitamente pari a 2 − 3 volte
la costante di tempo dominante definita come:
τdom =
1
max|λ| (A − KC)
e quindi la L ottima in parte dipende dal guadagno del filtro di Kalman applicato.
Quindi applicando uno smoother F.P. si ottiene un sistema che ha dimensione tripla
rispetto al caso classico di filtraggio di Kalman.
Fixed Lag Smoothing lo smoothing F.L. è tale per cui, fissato un lag L > 0
(comunque solitamente piccolo e pari a 2 − 3 passi) si lavora sullo stato esteso:

S(t) =













xt
(1)
xt
.
.
.
(l+1)
xt














(i)
usando una notazione: xt = x(t − i). Notiamo che stavolta lo stato esteso ha
dimensione pari a (l + 2)volte lo stato del sistema. Passiamo alle equazioni di stato:
272
di C.Bettini, A.Guiggiani e T.Lorenzetti
Smoothing


S(t + 1) =
con y(t) =
h










A
I
0
.
0
0
0
I
.
0
0
0
0
.
0
0
0
0
.
I












 S(t) + 










B
0
.
.
.
0














 u(t) + 












D
0
.
.
.
0







 w(t)






i
C 0 . . . 0 x(t) + v(t) .
È così possibile applicare un filtro di Kalman che restituirà i valori si Ŝ(t + 1|t):

Ŝ(t + 1|t) =










x̂(t + 1|t)
x̂(t|t)
.
.
.











dove i primi due valori sono rispettivamente predizione e filtraggio. Un filtro di
Kalman così applicato rende infatti aggiornate tutte le predizioni con il ritardo (fino
a t − l ).
Fixed Interval Smoothing lo smoothing F.I. si basa sull’idea di stimare x(t) basandosi su tutti i dati acquisiti che, se campionati, possono essere rappresentati
come y(t) per t = 0, 1, ... , M . Quindi se si hanno dati abbastanza lunghi un algoritmo così definito avrebbe dimensione (M + 2), cosa ingestibile anche con i moderni
computer.
Per risolvere il problema si è pensato a strutturare un algoritmo a doppia passata
(F IKS), ovvero in cui viene fatta una prima stima in avanti da x̂(0|0), P (0|0) a
x̂(M |M ), P (M |M ) ed una seconda stima all’indietro per t = M − 1, M − 2, ... , 0
in modo tale da calcolare:
di C.Bettini, A.Guiggiani e T.Lorenzetti
273
Smoothing
K̄(t) = P (t|t) A P (t + 1|t)
x̂(t|M ) = x̂(t|t) + K(t) (x̂(t + 1|M ) − x̂(t + 1|t))
0
P (t|M ) = P (t|t) − K̄(t) (P (t + 1|t) − P (t + 1|M )) K̄(t) 6 P (t|t)
in questo modo i valori del passaggio all’indietro si basano tutti su quantità già
calcolate (durante la stima in avanti), la correzione della stima è fatta come differenza
tra passaggio in avanti e all’indietro e la varianza si riduce passo dopo passo.
274
di C.Bettini, A.Guiggiani e T.Lorenzetti
30. Modelli per la stima del moto
I modelli per la stima del moto si distinguono fondamentalmente in funzione dell’ordine. Avremo modelli per primo ordine in cui la derivata prima della posizione (ṗ)
è nulla, modelli del secondo ordine in cui si verifica p̈ = 0, modelli del terzo ordine
e così via.
Definita:

x=













p
ṗ
p̈
.
.
.














tale che:

ẋ =










0
0
0
0
0
1
0
.
0
0
0
1
.
0
0
.
0
.
.
0
.
.
.
.
0
.
.
.
.
0
.
.
.
0
0
0
0
0
1
0












x + 








0
.
.
.
1






w




= Ax + Dw
se consideriamo il fenomeno tempo-continuo che viene campionato in modo tale da
passare da:
275
Modelli per la stima del moto
ẋ → xk+1 = eA∆k xk + wk
con ∆k = tk+1 −tk e ricordando che wk ∼ wn (0, Qk ) allora si ottiene, per le proprietà
delle matrici:
A∆k
e
=
n−1
X
i=0
Ai ∆ik
i!
!
che porta ad avere:

eA∆k =







∆2
1 2k
.
.
0 ∆k .
.
0 1 ∆k .
0 0
1 ∆k
.
.
.
.
. ∆n−1
k
. ∆n−2
k
.
.
.
.








in cui ogni riga è pari alla precedente shiftata di una posizione verso destra. Elenchiamo adesso alcuni modelli in funzione del loro ordine (N ).
Modello White Noise Acceleration (N=2) è un modello a velocità (quasi) costante in cui l’accelerazione è modellata come un rumore bianco. Consideriamo il
modello di posizione (p):


pk+1
= pk + ∆k vk + w1

vk+1
= vk + w2
Per come è stata definita Q ∈ R2x2 che caratterizza i rumori w1 e w2 si ha che:
276
di C.Bettini, A.Guiggiani e T.Lorenzetti
Modelli per la stima del moto

Q=
∆3k
6
∆2k
2
∆2k
2
∆k

q
da cui deriva che Q22 = ∆k q determina la varianza di w2 , quindi la deviazione
√
standard della velocità è pari a ∆k q. Vediamo adesso come è possibile ricavare
la quantità q ipotizzando due condizioni al contorno plausibili ovvero ∆k = 1 s e
σ = ±5 ms−1 . Si ha così che, essendo un rumore di natura gaussiana, deve valere:
q
∆k q = σ
da cui si ottiene q = 25 (ms)−2 .
Modello Wiener Process Acceleration (N=3) Modelliamo l’accelerazione come
una variabile s che è un generico processo di Wiener. Questo, per le sue proprietà,
è tale da avere varianza crescente (quasi in modo lineare) nel tempo e tale che:
ṡ ∼ wn (0, σ)
quindi è possibile scrivere:

Ak = eA ∆k = 



∆2

1 ∆k 2k 

0 1 ∆k 

0 0
1
da cui si ottiene:
di C.Bettini, A.Guiggiani e T.Lorenzetti
277
Modelli per la stima del moto




Qk = 
∆5k
20
∆2k
8
∆2k
6
∆2k
8
∆2k
6
∆2k
2
∆2k
6
∆2k
2



q

∆k
L’accelerazione dovrebbe essere nulla; in realtà l’accelerazione fluttua ed il jerk si
comporta come un rumore bianco a media nulla e varianza σ 2 .
Modello Exponential Correlated Acceleration (N=3) è un modello in cui l’accelerazione è un processo autocorrelato come in Figura 30.1:
Figura 30.1.: Diagramma a blocchi del modello ECA
In pratica si fa entrare un rumore bianco (w̄) in un filtro passa-basso (ρ > 0). Per
poter studiare il problema si introduce uno stato aggiuntivo:
w̄ = s · a + ρ · a = ȧ + ρa
da cui deriva l’equazione descrittiva dell’accelerazione:
ȧ = −ρa + w̄
Andiamo adesso a cercare, grazie alle equazioni di Lyapunov, un legame tra σ e σa .
Consideriamo:
0
0
AP + P A + DQD = 0
278
di C.Bettini, A.Guiggiani e T.Lorenzetti
Modelli per la stima del moto
0
con A = A = −ρ, Q = σ, D = 1 e P = σa . Si ottiene così il legame:
σ 2 = 2ρσa2
e quindi possiamo scrivere w̄ ∼ wn (0, σ 2 ) = wn (0, 2ρσa2 ). Consideriamo inoltre che
il sistema di terzo grado è dato da:


x=


p
v
a





da cui si ottiene l’evoluzione tempo-continua:

ẋ =




0 1 0
0 0 1
0 0 −ρ






x + 


0
0
1



 w̄

che possiamo discretizzare in:
xk+1 = Ak xk + wk
con:

Ak = e
A ∆k
=





1 ∆k
0
1
0
0
(ρ∆k −1+e−ρ∆k )

(1−e−ρ∆k )





ρ2
ρ
1
e:
di C.Bettini, A.Guiggiani e T.Lorenzetti
279
Modelli per la stima del moto
ˆ∆k
Qk =
0
eAr D D eA r (2ρσa2 )dr
0
0
che è una formula lunghissima incalcolabile.
Questo modello è detto anche modello di Singer ed è molto utilizzato nei sistemi
Radar. Dato che ρ in fin dei conti altro non è che un polo, è possibile definire una
costante di tempo Tm = ρ−1 chiamata “costante di manovra”. Solitamente questa
costante vale circa 60 s negli aerei civili mentre varia tra 10 e 20 s in quelli militari.
Per stimare σa2 si pongono delle ipotesi (di Singer appunto) le quali affermano:
1. gli aerei hanno una alta probabilità di velocità di crociera (quindi con a = 0);
2. se un aereo accelera o decelera lo fa con un valore massimo (±amax );
3. nelle restanti parti di viaggio l’aereo viaggia con una d.d.p. uniforme come
quella in Figura 30.2.
Figura 30.2.: Distribuzione di probabilità nel caso in esempio
Sotto queste ipotesi si ha che la d.d.p. della velocità dell’aereo è data da:
p(a) =
1 − 2 pmax − p0
[(a + amax ) − (a − amax )]+p0 δ(a)+pmax δ(a+amax )+pmax δ(a−amax )
2 amax
da cui si può ottenere:
σa2 =
aˆmax
a2 p(a) da = a2max (1 + 4pmax − p0 )
−amax
280
di C.Bettini, A.Guiggiani e T.Lorenzetti
Modelli per la stima del moto
Modello Coordinated Turn il modello C.T. è un modello non lineare a due gradi
di libertà. L’idea è, rifacendosi sempre al campo aeronautico, che un aereo vada
o diritto o compia manovre circolari. Si procede definendo la velocità tangenziale
q
v = vx2 + vy2 e la velocità angolare ω che devono essere quasi costanti, quindi
v̇ ≈ ω̇ ≈ 0. Il sistema può essere descritto o con una rappresentazione in coordinate
polari:

x=










px
py
v
h
ω











o con una in coordinate cartesiane:

x=










px
py
vx
vy
ω











Nel primo caso si ha:

ẋ =










p˙x = vx = v cos(h)
p˙y = vy = v sin(h)
v̇ = w1 ≈ 0
ḣ = ω
ω̇ = w2 ≈ 0











di C.Bettini, A.Guiggiani e T.Lorenzetti
281
30.1 Tipologia di sensori non lineari
e quindi le prime due variabili risultano essere non lineari. Nel secondo caso, invece,
si ha:

ẋ =










p˙x = vx
p˙y = vy
v˙x = −ωvy + w1
v˙y = −ωvx + w2
ω̇ = w3 ≈ 0











quindi si può scrivere, ponendo x =

ẋ =










x3
x4
−x4 x5
x3 x5
0












x + 








0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
h
x1 x2 x3 x4 x5
i0
ew=
h
w1 w2 w3
i0
:






w




che è nettamente più bello.
30.1. Tipologia di sensori non lineari
TOA sono i sensori più utilizzati: misurano il tempo di arrivo del segnale e
calcolano in base ad esso la distanza del target.
TDOA sono sensori che effettuano misure differenziali di tempo di arrivo, molto
usati nei radar.
DOA sono sensori che misurano, in grado, l’angolo di un oggetto. La misura viene
resa in forma:
282
di C.Bettini, A.Guiggiani e T.Lorenzetti
30.1 Tipologia di sensori non lineari
y = f ase(px + j py ) + v
con v ∼ wn (0, σv2 ) e solitamente σv2 ∈ [0.2° , 5°].
RSS sono sensori che misurano il rapporto tra potenza di arrivo e potenza trasmessa. La misura viene resa in forma:
y=
Prx
1
h
i +v
=
Ptx
1 + r(x)
r0
q
con r(x) =
p2x + p2y + p2z ed r0 la distanza a cui l’attenuazione è pari al 50%.
Doppler sono sensori che inviano un segnale, ne ricevono l’echo e calcolano lo
sfasamento in ferquenza tra i due (sono utilizzati nel caso in cui i due riferimenti
sono in movimento l’uno rispetto all’altro). Si calcola così:
∆f =
con λ =
c
f0
ṙ
λ
e c pari alla velocità della luce. Si può così ricavare y = ṙ = ∆f λ come:
(px − px0 )ṗx + (py − py0 )ṗy + (pz − pz0 )ṗz
y= q
+v
(px − px0 )2 + (py − py0 )2 + (pz − pz0 )2
Notiamo infine che i sensori elencati sono tutti non lineari rispetto allo stato cinematico. Inoltre, nessun sensore (da solo) garantisce la piena osservabilità dello stato:
di C.Bettini, A.Guiggiani e T.Lorenzetti
283
30.1 Tipologia di sensori non lineari
ad esempio un sensore DOA restituisce l’angolo del target ma non la sua distanza.
Proprio per questo sono necessari almeno due sensori per identificare la posizione
del target.
Radar passivi analizziamo adesso il funzionamento di un radar passivo come in
Figura 30.3.
Figura 30.3.: Schema del radar passivo
i0
h
h
i0
x Rx
e Tx = pTxx pTy x . Il
dove si identificano rispettivamente i punti Rx = pR
x py
funzionamento segue questa logica: Tx trasmette a T il quale riflette su Rx (che è il
radar passivo). Quindi:
y = d Tx + d Rx − d0 + v
da cui:
y=
r
(px −
pTxx )2
+ py −
pTy x
2
+
r
2
Rx
x
(px − pR
x ) + py − py
2
+v
che definisce una ellisse di appartenenza al target (quindi si necessita di tre Tx per
ottenere completa osservabilità).
I problemi fondamentali di un sistema del genere risiedono nella sincronizzazione dei
segnali. Consideriamo che il sensore nel caso di tracking è remoto, quindi il sensore
S è Rx mentre il target T è Tx (nella navigazione è il viceversa).
284
di C.Bettini, A.Guiggiani e T.Lorenzetti
30.1 Tipologia di sensori non lineari
x
+ ... dove c è la velocità della luce ed i tempi di
Notiamo che y = c tTa x − tR
p
arrivo e di partenza dei segnali sono misurati da “orologi diversi” che devono essere
sincronizzati. Se consideriamo che un orologia al quarzo opera con un errore di 1 ms,
allora con c = 3 105 ms−1 si ottiene un errore di ±300 m, quindi il radar perde di
utilità. È quindi necessario modellare lo stato dell’errore di sincronizzazione:
δ(t) = d t + δ0
con δ0 pari all’errore iniziale (offset) mentre d t è l’errore accumulato. Si ottiene
così:


δ
xc =  
d
da cui deriva il modello:


δ̇(t)
= d + wδ
wδ ∼ wn (0, σδ2 )

˙
d(t)
= wd
wd ∼ wn (0, σd2 )
, wδ ⊥ wd
e:








δ̇   0 1   δ   1 0   wδ 

=
+
d˙
0 0
d
0 1
wd
caratterizzata da una matrice di transizione Q:
h
0
i
Q = E w̃ w̃ =
di C.Bettini, A.Guiggiani e T.Lorenzetti
285
30.1 Tipologia di sensori non lineari
che descrive:

xc,k+1

1 T 
=
xc,k + wk
0 1
con wk ∼ wn (0, Q) e tale da poter scrivere:
ˆT 
Q=

0


σδ2
1 r 
0 1
0



0  1 0 
1 0 
dr = σδ2 T 
+ σd2 
2
σd
r 1
0 0
Solitamente le varianza appartengono a due intervalli:
σδ2 ∈ [0.5 , 2] γ
σd2 ∈ [2 , 8] π 2 α
con:
orologio
α
γ
quarzo
2 10−20
2 10−19
rubidio
4 10−29
2 10−20
quindi in funzione dello stato esteso:
x = [px py pz vx vy vz δ d]
è possibile scrivere:
y=
286
q

(px − px0 )2 + (py − py0 )2 + (pz − pz0 )2 + cδ
di C.Bettini, A.Guiggiani e T.Lorenzetti
T3
3
T2
2
T2
2
T


31. Filtraggio non lineare
Il problema del filtraggio consiste nello stimare ricorsivamente lo stato di un sistema
dinamico utilizzando un insieme di misure rumorose. Un sistema dinamico tempo
discreto è modellato attraverso un’equazione di stato e un’equazione di uscita:


x(t + 1)

y(t)
= f (t, x(t), w(t))
= h(t, x(t), v(t))
Nel caso in cui f (·) e h(·) siano funzioni lineari e i rumori di processo e misura
siano Gaussiani, la soluzione ottima del problema di filtraggio ricorsivo è data dal
Filtro di Kalman. Nel caso non lineare non esiste in generale una soluzione ottima
in forma chiusa. Tuttavia, assumendo che i rumori di processo e di misura siano
Gaussiani e additivi, uno dei metodi classici per risolvere il problema di filtraggio
non lineare è quello di linearizzare il sistema, nell’intorno della stima corrente, ed
applicare il filtro di Kalman al sistema linearizzato; il filtro così ottenuto prende il
nome di Filtro di Kalman Esteso (EKF). Se le non linearità sono significative e/o i
rumori non sono Gaussiani, EKF può fornire prestazioni inadeguate e quindi si deve
ricorrere ad altre soluzioni. Due di queste, oggigiorno comunemente utilizzate, sono
l’Unscented Kalman Filter (UKF) ed il Particle Filter (PF).
31.1. Approccio probabilistico Bayesiano
Ricerchiamo adesso pt|t−1 (x), ovvero la funzione densità di probabilità (PDF) dello
stato (x) nel momento t basata sulle osservazioni fino all’istante t − 1. Si definisce
così:
287
31.1 Approccio probabilistico Bayesiano
1. pt|t−1 (x) = P (xt |y t−1 , ut−1 ) = probabilità a priori;
2. pt|t (x) = p(xt |y t , ut−1 ) = probabilità a posteriori.
Si cerca così di stimare queste due grandezze attraverso algoritmi iterativi che si
articolino in due fasi:
1. correzione (o aggiornamento della misura): in questa fase, sfruttando l’uscita
yt si va a correggere pt|t−1 in pt|t ;
2. predizione (o aggiornamento temporale): in questa fase si va a predire il valore
futuro di pt|t calcolando pt+1|t .
Si cerca così un criterio per definire x̂t|t .
31.1.1. Criterio del MEQM
Si va a definire:
x̂t|tM EQM = arg
h
min
E (xt − x̂) (xt − x̂)
t t−1
x̂(y ,u
0
i
)
pari alla media condizionata:
ˆ
h
= E xt |y , u
t
t−1
i
=
x Pt|t (x)dx
Rn
con:
Pt|t (x) =
ˆ x − x̂t|tM EQM
x − x̂t|tM EQM
0
pt|t (x)dx
Rn
dove Pt|t (x) è la covarianza di x.
Andiamo adesso ad analizzare nel dettaglio i due passi, sfruttando la proprietà
secondo cui è valida la relazione:
p(a|b, c) =
288
p(b|a, c)p(a|c)
p(b|c)
di C.Bettini, A.Guiggiani e T.Lorenzetti
31.1 Approccio probabilistico Bayesiano
31.1.2. Correzione
Sfruttando la proprietà appena definita scriviamo:
t
t−1
p(xt |y , u
p(yt |xt , y t−1 , ut−1 )p(xt |y t−1 , ut−1 )
)=
p(yt |y t−1 , ut−1 )
e notiamo che in questo modo p(xt |y t , ut−1 ) è completamente calcolata in baso ai
momenti precedenti. Notiamo adesso che:
p(xt |y t−1 , ut−1 ) = pt|t−1 (xt )
e che:
p(yt |xt , y t−1 , ut−1 ) = p(yt |xt )
poichè xt dipende a sua volta da y t−1 ed ut−1 . Inoltre notiamo che la grandezza
p(yt |y t−1 , ut−1 ) è una costante nota (c). Si può così scrivere:
p(xt |y t , ut−1 ) = pt|t (xt ) =
che, sfruttando il fatto che
pt|t (xt ) = ´
´
Rn
p(yt |xt )pt|t−1 (xt )
c
pt|t (x)dx = 1, ci porta ad ottenere:
p(yt |xt )pt|t−1 (xt )
p(yt |ζ)pt|t−1 (ζ)dζ
Rn
(questo espediente matematico è usato per far sì che l’area risulti unitaria).
Analizziamo adesso la funzione p(yt |xt ), detta funzione di verosimiglianza. Questa funzione, in pratica, indica quanto lo stato è verosimile all’osservazione fatta:
in pratica “risagoma” la PDF pt|t−1 (x) aumentandola nel punto in cui p(yt |xt ) è
massima.
di C.Bettini, A.Guiggiani e T.Lorenzetti
289
31.2 Filtraggio ricorsivo Bayesiano
31.1.3. Predizione
Si sfrutta adesso la proprietà di marginalizzazione della probabilità, ovvero:
ˆ
p(a|c) =
ˆ
p(a, b|c)db =
p(a|b, c)p(b|c)db
Quindi ponendo a = xt+1 , b = xt e c = (y t , ut ) = (yt , y t−1 , ut−1 ) su ottiene:
ˆ
pt+1|t (xt+1 ) = p(xt+1 |y , u ) =
t
t
p(xt+1 |xt , ut , y t , ut−1 )p(xt |ut , yt , ut−1 )dxt
che si può scrivere in forma:
ˆ
pt+1|t (x) =
p(x|ζ, ut )pt|t (ζ)dζ
dove p(x|ζ, ut ) rappresenta la densità di probabilità di transizione e dipende dalla
relazione tra lo stato nuovo (x), lo stato passato (ζ) e l’ingresso (ut ).
31.2. Filtraggio ricorsivo Bayesiano
Definendo con xt = {x(0), x(1), ... , x(t)} la sequenza degli stati fino all’istante t,
con yt = {y(1), y(2), ... , y(t)} la sequenza delle misure e osservando che, a causa
dei rumori di processo e misura, stato e misure sono variabili aleatorie, l’obiettivo è
stimare l’evolvere dello stato x(t) usando tutte le misure yt raccolte fino al tempo
corrente t. Poiché x(t) è una variabile aleatoria, tutte le informazioni fornite da yt
sullo stato x(t) sono raccolte nella d.d.p. a posteriori:
p(x(t)|y t )
La conoscenza di p(x(t)|y t ) permette di determinare la media condizionata di x(t),
290
di C.Bettini, A.Guiggiani e T.Lorenzetti
31.2 Filtraggio ricorsivo Bayesiano
che corrisponde alla stima MMSE:
ˆ
x̂(t) =
x(t) p(x(t)|y t ) dx(t)
La differenza rispetto alla stima non ricorsiva è che si impone che la stima di
p(x(t)|y(t)) sia generata solo sulla base della stima precedente p(x(t−1)|y t−1 ) e della misura corrente y(t), quindi ricorsivamente. La ricorsione consiste di due passi:
aggiornamento temporale (predizione) e aggiornamento della misura (correzione).
Aggiornamento temporale data p(x(t−1)|y t−1 ) si calcola p(x(t)|y t−1 ) tramite:
ˆ
p(x(t)|y
t−1
)=
p(x(t)|x(t − 1), y t−1 ) p(x(t − 1)|y t−1 ) dx(t − 1)
x(t−1)
Aggiornamento della misura dati p(x(t)|y t−1 ) ed y(t), si calcola:
p(x(t)|y t ) =
p(y(t)|x(t), y t−1 ) p(x(t)|, y t−1 )
p(y(t)|y t−1 )
osserviamo adesso che il termine p(y(t)|y t−1 ) dipende dalle misure passate, tuttavia
tale termine può essere espresso come:
ˆ
p(y(t)|y
t−1
)=
p(y(t)|x(t), y t−1 ) p(x(t)|y t−1 ) dx(t)
quindi per poter realizzare uno stimatore ricorsivo è necessario fare delle assunzioni
in modo tale da slegarsi dal condizionamento a y t−1 . Assumiamo quindi che la
sequenza di stato sia un processo di Markov, ovvero che:
p(x(t)|xt−1 ) = p(x(t)|x(t − 1))
di C.Bettini, A.Guiggiani e T.Lorenzetti
291
31.3 Filtraggio EKF
e inoltre assumiamo che y t siano condizionatamente indipendenti dalla sequenza
degli stati, vale a dire:
p(y t |xt ) =
t
Y
p(y(i)|x(i))
i=1
dalle due assunzioni deriva che la predizione è pari a:
ˆ
p(x(t)|y
t−1
)=
p(x(t)|x(t − 1)) p(x(t − 1)|y t−1 ) dx(t − 1)
x(t−1)
mentre l’aggiornamento segue:
p(x(t)|y t ) =
p(y(t)|x(t)) p(x(t)|y t−1 )
p(y(t)|y t−1 )
Riassumendo, quindi, il filtraggio Bayesiano è esprimibile in forma ricorsiva se il
sistema è Markoviano e le misure sono condizionatamente indipendenti.
31.3. Filtraggio EKF
La logica del filtraggio EKF si basa sull’applicazione del filtro di Kalman al sistema
linearizzato nel punto di interesse.
Definito il vettore xk caratteristico dello stato all’istante k, si va a discretizzare il
sistema calcolando:



xt+1


yt
= f (x̂(t|t), ut ) +
= h(x̂(t|t − 1)) +
df (x,ut ) dx
x=x̂(t|t)
dh(x) dx x=x̂(t|t−1)
xet/t + o(xn ) + wt
xet/t−1 + o(xn ) + vt
con x̂(t|t) pari alla stima dello stato basata su y t e si definisce l’errore di predizione:
292
di C.Bettini, A.Guiggiani e T.Lorenzetti
31.3 Filtraggio EKF
xe(t|t) = x(t) − x̂(t|t)
Algoritmo per quanto riguarda l’inizializzazione, si pongono le variabili (x1/0 ; P1/0 ).
L’algorimo si suddivide in due fasi: correzione e predizione.
Correzione
Ck =
∂hk
(x̂k/k−1 )
∂x
0
Sk = Rk + Ck Pk/k−1 Ck
0
Lk = Pk/k−1 Ck Sk−1
ek = yk − hk x̂k/k−1
x̂k/k = x̂k/k−1 + Lk ek
0
Pk/k = Pk/k−1 − Lk Sk Lk
Predizione
Ak =
∂fk
x̂
∂x k/k−1
x̂k+1/k = fk (x̂k/k , uk )
0
Pk+1/k = Ak Pk/k Ak + Qk
dove fk (x̂k/k , uk )è la funzione discretizzata col metodo di Eulero.
di C.Bettini, A.Guiggiani e T.Lorenzetti
293
31.4 Filtraggio UKF
31.4. Filtraggio UKF
Il filtro EKF assume che la d.d.p. p(x(t−1)|y t−1 ) sia Gaussiana e propaga media e
covarianza della distribuzione attraverso il sistema non lineare semplicemente linearizzandolo e quindi applicando le equazioni del filtro di Kalman al sistema linearizzato per ottenere p(x(t)|y t ). Al contrario di EKF, UKF non approssima il sistema non
lineare, ma approssima la distribuzione. UKF assume sempre che p(x(t−1)|y t−1 ) sia
Gaussiana tuttavia, anzichè ricorrere alla linearizzazione, per propagare la media e
la covarianza della distribuzione, utilizza la Trasfomazione Unscented.
Trasformazione Unscented sia x una variabile aleatoria con media x̄ e covarianza
Px , l’obiettivo è calcolare media e covarianza della variabile aleatoria y = f (x),
con f(·) arbitraria funzione non lineare (ad esempio nel filtraggio x = x̂(t−1|t−1)
e y = x̂(t|t−1)). Sviluppando in serie di Taylor la funzione f (·) rispetto ad x̄,
considerando per semplicità x ed y scalari, si ottiene:
1
y = f (x) = f (x̄ + δx) = f (x̄) + ∇f δx + ∇f 2 δx2 + ...
2
dove ∇i f è la i-esima derivata di f calcolata in x̄ e δx una v.a. a media nulla di
varianza Px . Calcolando media e covarianza di y si ha:
1
ȳ = f (x̄) + ∇f 2 Px + ...
2
Py = (∇f )2 Px2 +
i
h
1 2 2
∇ f {E δx4 − Px2 } + ...
4
da cui si ottiene che l’n-esimo termine dello sviluppo in serie di y è funzione dell’nesimo momento della variabile aleatoria x moltiplicato per la derivata n-esima di
294
di C.Bettini, A.Guiggiani e T.Lorenzetti
31.4 Filtraggio UKF
f (·) calcolata in x. Pertanto se si calcolano i momenti di x fino all’ordine n si
può determinare esattamente y fino allo stesso ordine dello sviluppo di Taylor. Un
discorso analogo vale per Py . I metodi di linearizzazione (tipo EKF) assumono che
i contributi dei termini di secondo ordine e di ordine superiore in siano trascurabili;
sotto questa ipotesi le equazioni diventano:
ȳ = f (x̄)
Py = (∇f )2 Px2
Tuttavia, se i termini di ordine superiore al primo sono significativi, la trasformazione
può essere polarizzata e inconsistente. In questo caso si deve ricorrere ad un metodo
di approssimazione migliore della linearizzazione. La trasformazione Unscented si
basa sull’idea che è più facile approssimare una distribuzione di probabilità piuttosto
che approssimare un’arbitraria funzione non lineare. In pratica vengono generati dei
campioni (punti sigma) i nello spazio degli stati in modo da catturare certe proprietà
della distribuzione di x. Questi campioni, a cui sono associati dei pesi wi , vengono
poi propagati attraverso la funzione non lineare f (·), ottenendo in tal modo dei
campioni trasformati dei quali si calcolano le statistiche per ottenere ȳ e Py .
I passi della trasformazione Unscented sono quindi:
1. Generazione dei punti sigma, σ = {χi , wi : i = 0, 1, ..., l − 1};
2. Propagazione dei punti sigma attraverso la funzione non lineare
yi = f (xi )
3. Calcolo delle statistiche dei campioni trasformati:
ȳ =
l−1
X
wi yi
i=0
di C.Bettini, A.Guiggiani e T.Lorenzetti
295
31.4 Filtraggio UKF
Py =
l−1
X
wi (yi − ȳ)(yi − ȳ)
0
i=0
Quello che distingue la trasformazione Unscented dai metodi Monte Carlo è che il
numero l dei punti sigma, la loro locazione nello spazio degli stati nonché i pesi associati sono scelti deterministicamente in modo da catturare le proprietà statistiche
più importanti della variabile aleatoria x.
In particolare se si riescono a catturare i momenti di x fino all’ordine n, allora ȳ e Py
sono accurati fino al termine n-esimo dello sviluppo di Taylor. A tale proposito, si
osserva che non è facile catturare i momenti di x per distribuzioni generiche. Tuttavia, se si assume per x una distribuzione Gaussiana, è possibile determinare i punti
sigma garantendo un’accuratezza fino ad almeno il secondo ordine. La distribuzione
Gaussiana soddisfa la proprietà di simmetria ed è tale che la v.a. x con media x̄ e
varianza Px è scrivibile come:
x = x̄ + Cy
dove y è una variabile aleatoria Gaussiana standard (con media nulla e covarianza
unitaria) e CC ´ = Px : la matrice C può essere ottenuta tramite una decomposizione
di Cholesky di Px .
I punti sigma sono quindi σ = {x + Cyi , wi : i = 0, 1, ..., l−1}. L’obiettivo adesso è
generare i campioni yi della variabile aleatoria y in modo da catturarne i primi due
momenti, cioè imporre:
E [y] = ȳ =
l−1
X
wi yi = 0
i=0
Cov(y) =
l−1
X
0
wi yi yi = I
i=0
296
di C.Bettini, A.Guiggiani e T.Lorenzetti
31.4 Filtraggio UKF
Algoritmo UKF dato un sistema non lineare:


x(t + 1)

y(t)
= f (t, x(t), w(t))
= h(t, x(t), v(t))
le due funzioni f (·) e h(·) dipendono, oltre che dallo stato, anche dai rumori di
processo e, rispettivamente, di misura; quindi, per poter applicare la trasformazione
0
0
0
0
Unscented, e necessario definire lo stato esteso xa (t) = [x (t), w (t), v (t)] ∈ Rna . I
passi del filtro UKF sono suddivisi in tre parti.
0
1. Inizializzazione: dati x̄0 = E[x(0)] e P0 = E[(x(0) − x̄0 )(x(0) − x̄0 ) ], si pone:
0
0
x̄a (0) = E[xa (0)] = [x̄0 , 0, 0]

0



P a (0) = E[(xa (0) − x̄a (0))(xa (0) − x̄a (0)) ] = 
P0 0 0
0 Q 0
0 0 R





0
C a (0) : C a (0)C a (0) = P a (0)
2. Calcolo dei punti sigma:
χa0 (t − 1) = x̄a (t − 1)
χai (t − 1) = x̄a (t − 1) +
q
na + λCia (t − 1)
per i = 1, 2, ... , na
χai+na (t
− 1) = x̄ (t − 1) +
a
q
na + λCia (t − 1)
per i = 1, 2, ... , na
3. Predizione:
χxi (t|t − 1) = f (χxi (t − 1), χw
i (t − 1))
di C.Bettini, A.Guiggiani e T.Lorenzetti
297
31.4 Filtraggio UKF
per i = 0, 1, ... , 2na
2na
X
x̄(t|t − 1) =
wi χxi (t|t − 1)
i=0
P (t|t − 1) =
2na
X
0
wi [χxi (t|t − 1) − x̄(t|t − 1)][χxi (t|t − 1) − x̄(t|t − 1)]
i=0
yi (t|t − 1) = h(χxi (t|t − 1), χvi (t|t − 1))
per i = 0, 1, ..., 2na
ȳ(t|t − 1) =
2na
X
wi yi (t|t − 1)
i=0
4. Aggiornamento:
S(t) =
2na
X
0
wi [yi (t|t − 1) − ȳ(t|t − 1)][yi (t|t − 1) − ȳ(t|t − 1)]
i=0
Pxy (t) =
2na
X
0
wi [χxi (t|t − 1) − x̄(t|t − 1)][yi (t|t − 1) − ȳ(t|t − 1)]
i=0
L(t) = Pxy (t)S −1 (t)
x̄(t) = x̄(t|t − 1) + L(t) (y(t) − ȳ(t|t − 1))
0
P (t) = P (t|t − 1) − L(t)S(t)L(t)




P a (t) = 
P (t) 0 0
0
Q 0
0
0 R





0
C a (t) : C a (t)C a (t) = P a (t)
0
0
0
dove χa = [χx , χw , χv ]´, Q è la covarianza del rumore di processo, R è la
covarianza del rumore di misura, na = nx + nw + nv è la dimensione dello stato
298
di C.Bettini, A.Guiggiani e T.Lorenzetti
31.5 Filtraggio PF
esteso, ed i pesi sono dati da:
w0 =
k
na + k
wi =
1
, i = 1, 2, ... , 2na
2(na + k)
Si osserva, infine, che nell’ipotesi di rumori di processo e misura additivi, le equazioni
del filtro UKF si semplificano in quanto non è necessario introdurre lo stato esteso
(in questo caso la covarianza del rumore di processo/misura si somma, come nel filtro
di Kalman, alla covarianza di stato/misura). In questo caso l’algoritmo precedentemente esposto, oltre ad operare nello stato x di dimensione nx anziché nello stato
esteso xa di dimensione na , si modifica nelle seguenti equazioni di aggiornamento di
covarianze:
P (t|t − 1) =
2nx
X
0
wi [χi (t|t − 1) − x̄(t|t − 1)][χi (t|t − 1) − x̄(t|t − 1)] + Q(t − 1)
i=0
S(t) =
2nx
X
0
wi [yi (t|t − 1) − ȳ(t|t − 1)][yi (t|t − 1) − ȳ(t|t − 1)] + R(t − 1)
i=0
Le principali caratteristiche del filtro UKF sono quindi la non necessità di calcolo del
Jacobiano (o Hessiano) delle funzioni f (·) ed h(·) e la dipendenza lineare del numero
dei punti sigma dalla dimensione dello stato (quindi il carico computazionale risulta
più contenuto rispetto agli altri algoritmi).
31.5. Filtraggio PF
Il filtro PF (particle filter) equivale ad una implementazione campionata del filtro
Bayesiano sfruttando il metodo Monte Carlo per l’integrazione (IMC ). Invece di una
soluzione analitica o di una approssimazione numerica, infatti, il filtro PF considera
una grossa mole di dati al fine di stimare al meglio la densità di probabilità (ddp)
dello stato.
di C.Bettini, A.Guiggiani e T.Lorenzetti
299
31.5 Filtraggio PF
L’idea che sta alla base del metodo è quella di rappresentare la ddp con una serie di
campioni casuali (da qui il nome particles) tali che, incrementandone il numero, sia
possibile ottenere una rappresentazione stimata della ddp desiderata.
Inizializzazione si inizializzano i campioni di xi e i pesi w̄i come :
xi (0) ∼ N (x(0); P (0))
w̄i (0) =
1
M
calcolati rispettivamente per i = 1, ... , M , dove M è il numero di particelle scelte
dal progettista.
Esecuzione per t > 1..... e per i = 1, ... , M si calcolano i campioni:
xi (t) v q(x(t)|xi (t − 1), y(t))
ed i pesi:
wi (t) = wi (t − 1)
p(y(t)|xi (t)) p(xi (t)|xi (t − 1))
q(xi (t)|xi (t − 1), y(t))
Si vanno a normalizzare i pesi considerando:
300
di C.Bettini, A.Guiggiani e T.Lorenzetti
31.5 Filtraggio PF
wi (t)
w̄i (t) = PM
j=1 wj (t)
Si va a calcolare la stima dello stato:
x̂(t) =
M
X
w̄i (t) xi (t)
i=1
Si stima la covarianza come:
P̂ (t) =
M
X
0
w̄i (t) [xi (t) − x̂(t)] [xi (t) − x̂(t)]
i=1
Si noti che nell’algoritmo il progettista deve scegliere la funzione di importanza
q(x(t)|x(t − 1), y(t)), la scelta più semplice è porre:
q(x(t)|x(t − 1), y(t)) = p(xi (t)|xi (t − 1))
L’unico vincolo sulla funzione di importanza è che il suo supporto contenga quello
di p(x(t)|y t ); si sceglie così q(·) come una distribuzione Gassiana.
Ricampionamento il fenomeno della degenerazione dei pesi, che è causato dalla
fattorizzazione della funzione di importanza, è quantificabile valutando il numero
dei campioni effettivi Nef f i cui pesi sono significativi:
1
Nef f = PN
i=1
w̄i2
di C.Bettini, A.Guiggiani e T.Lorenzetti
301
31.5 Filtraggio PF
La degenerazione degrada l’accuratezza della stima e non utilizza in modo efficiente
le risorse di calcolo. Si devono, infatti, sprecare risorse di calcolo per propagare
campioni con pesi nulli che, non contribuiscono alla stima. Tale fenomeno può
essere contrastato effettuando un ricampionamento. Con un ricampionamento si
vanno a re-impostare i valori dei pesi con una certa logica. Nel nostro caso si è
scelto di porre, se vale la condizione di ricampionamento, i pesi:
wi (t) ∼ N (0, q)
ovvero distribuendo i pesi in modo Gaussiano con varianza q.
302
di C.Bettini, A.Guiggiani e T.Lorenzetti
32. Identificazione
L’idea di base dell’identificazione è quella di acquisire i dati da un esperimento
ed elaborarli per dar forma ad un modello. Quindi dobbiamo discutere di come si
acquisiscono i dati, quale classe di modello scegliere e come implementare un criterio
di adeguatezza che dia verità alle nostre ipotesi.
Classe di modelli i modelli possono essere suddivisi in non lineari e lineari. Il nostro studio si sofferma su quest’ultimi in quanto un modello non lineare è solitamente
approssimato con uno lineare.
Tempo i modelli si distinguono inoltre tra tempo-continui e tempo-discreti (solitamente i modelli sono di questo tipo). Una successiva distinzione si ha tra i
modelli tempo-varianti e tempo-invarianti. Nel nostro studio vedremo i modelli
tempo-invarianti poichè i tempo-varianti sono approssimabili a tempo-invarianti su
un dato arco temporale.
Box i modelli si distinguono inoltre in gray-box, in cui si descrive la funzione
di trasferimento con equazioni fisiche, e black-box, in cui non si conosce l’intero
sistema e - quindi - non si sa quali equazioni fisiche applicare (questi modelli sono
detti general purpose).
303
32.1 Identificazione non parametrica
Parametri infine i modelli si suddividono in parametrici (in cui un numero finito
di parametri descrive il sistema) e non parametrici, in cui un numero infinito di
parametri definisce il sistema (è il caso dell’analisi della risposta in frequenza).
32.1. Identificazione non parametrica
Figura 32.1.: Generico modello con disturbo
Analizziamo un generico sistema nel dominio del tempo discreto (Figura 32.1) caratterizzato completamente da una funzione di trasferimento:
G(z) =
∞
X
gk z k
k=1
con e(t) rumore bianco e l’uscita è data da:
y(t) =
∞
X
gk u(t − k) + v(t)
k=1
quindi, definita l’autocovarianza Rv (t) come:
Rv (k) = E [v(t) − v(t − k)] = Rv (−k)
304
di C.Bettini, A.Guiggiani e T.Lorenzetti
32.1 Identificazione non parametrica
si ottiene una caratterizzazione completa del modello con i parametri m definiti
come:
∞
m = {gk }∞
0 , {Rv (k)}0
Naturalmente non essendo presente una azione di controllo è necessario che i poli
di G(z) abbiamo modulo minore dell’unità. Inoltre è lecito porre l’ipotesi che u(t),
segnale deterministico, ed e(t) sono tra loro incorrelati.
Il modello come quello in Figura 32.1 è così descritto dai parametri:
m = {G(z), H(z), σe2 }
Equivalentemente nel caso della risposta in frequenza avremo:
m = {G(ejω ), ϕv (ejω )}
con ϕv (ω) =
P∞
k=1
Rv (k)e−jωk e ∀ω ∈ [0, 2π).
Vediamo ora due tipi di analisi che ci permettono di ottenere le due rappresentazioni
ricordando:
• Trasformata di Fourier Discreta:
SN (ω) =
N
X
s(t)e−jωt
t=1
• Trasformata di Fourier Discreta inversa:
s(t) =
N
X
k=1
2kπ j 2kπ t
e N
N
!
SN
di C.Bettini, A.Guiggiani e T.Lorenzetti
305
32.1 Identificazione non parametrica
• Correlogramma:
R̂sN (k) =
−k
1 NX
(s(t + k)s(t)
N k=1
• Periodogramma (è la stima della densità spettrale):
ϕ̂N
s (ω) =
1
|SN (ω)|2
N
Ricordiamo adesso che nel caso di segnale stazionario si hanno le seguenti proprietà:
• la media è tempo-variante e limitata:
E[s(t)] = m(t) : km(t)k 6 c1
• l’autocovarianza è limitata:
0
E[s(t)s(k) ] = Rs (t, k) : kRs (t, k)k 6 c2
• la media generalizzata è funzione della sola variabile k:
N
1 X
0
Ē[s(t)s(t − k) ] = lim
E[s(t)s(t − k) ]
N →∞ N
t=1
0
Sotto queste ipotesi si hanno i risultati di covergenza:
1. nel tempo:
E[R̂sN (k)] → Rs (k)
2. in frequenza:
E[ϕ̂N
s (k)] → ϕ(k)
306
di C.Bettini, A.Guiggiani e T.Lorenzetti
32.1 Identificazione non parametrica
32.1.1. Analisi di correlazione
Definiamo adesso l’analisi di correlazione (CRA) introducendo due ipotesi:
1. G(z) è stabile;
2. u(t) ⊥ v(t).
In questo modo è possibile scrivere:
y(t) = G(z)u(t) + v(t)
moltiplicando per u(t − k) e considerando la crosscovarianza si ottiene:
Ryu (k) = E [y(t)u(t − k)] = E
"∞
X
#
gi (u(t − i)u(t − k)) + E [v(t)u(t − k)]
i=1
in cui il secondo membro per la seconda ipotesi è nullo. Si ottiene così:
Ryu (k) =
∞
X
gi Ru (|k − i|)
i=0
potendo scegliere l’ingresso, prendiamo u(t) ∼ wn (0, σu2 ). Di conseguenza:
Ru (|k − i|) = σu2 δ(k − i) =


σ 2
per k = i

0
altrimenti
u
inoltre:
Ryu (k) =
∞
X
gi Ru (0)δ(k − i) = gk Ru (0)
i=0
di C.Bettini, A.Guiggiani e T.Lorenzetti
307
32.1 Identificazione non parametrica
da cui deriva:
gk =
Ryu (k)
Ru (0)
per ottenere quindi una stima di gk si considerano i correlogrammi (basati sugli N
campioni osservati):
N
(k) =
R̂yu
N
1 X
y(t + k)u(t)
N t=1
R̂uN (k) =
N
1 X
u(t)2
N t=1
in modo tale da ricavare i parametri del sistema in forma:
ĝk =
N
R̂yu
(k)
R̂uN (k)
notiamo inoltre che, dato che una ipotesi sull’ingresso come quella fatta è molto
forte, è possibile utilizzare un ingresso u(t) generico al quale si applica un filtro
sbiancante così da avere un ingresso ū(t) bianco.
Analizziamo adesso il problema di stima di Rv (k). Prendiamo come prima y(t) e
facciamo la media dopo aver moltiplicato per y(t − k):
"
Ry (k) = E
∞
X
!
#
gi u(t − i) + v(t) · y(t − k)
i=0
quindi:
Ry (k) =
∞
X
gi Ryu (i − k) + Rv (k)
i=0
308
di C.Bettini, A.Guiggiani e T.Lorenzetti
32.2 Identificazione parametrica
da cui si ottiene:
Rv (k) = Ry (k) −
∞
X
gi Ryu (i − k)
i=0
che è stimabile per troncamento:
R̂vN (k) = R̂yN (k) −
N
X
gi Ryu (i − k)
i=0
32.1.2. Analisi spettrale
Passiamo adesso all’analisi spettrale (SPA) considerando Figura 34.1 e lo spettro
incrociato:
2
ϕs,v = ϕu,s + ϕu,v = G(ejω ) ϕu (ω) + ϕu,v
con ϕu,v = 0 dato che sono scorrelati per ipotesi.
32.2. Identificazione parametrica
L’identificazione parametrica prevede, dato un insieme di valori aquisiti (data-set)
z N , la scelta di un modello m(·) ∈ M in base ad un criterio di adeguatezza vN (θ, z N )
definita positiva che prevede la scelta dei parametri ottimi θ∗ :
θ∗ = arg min{VN (θ, z N }
θ∈Θ
in questo modo si passa a risolvere un problema di stima statico dato un insieme di
modelli:
di C.Bettini, A.Guiggiani e T.Lorenzetti
309
32.2 Identificazione parametrica
M = {m(θ) : θ ∈ Θ ⊂ Rnθ } : dim(θ) = nθ < ∞
Il criterio di adeguatezza si basa sulla minimizzazione dell’errore di predizione (PEM):
(t, θ) = y(t) − ŷ(t, θ)
dove ŷ(t, θ) è la predizione a un passo, definita ŷ(t|t − 1, θ). Per semplificare un po’
le cose utilizziamo un errore di predizione filtrato (FPEM):
(t, θ)F = L(z) (t, θ)
dove L(z) è bibostabile. Solitamente le scelte ricadono in L(z) = 1 (ovvero non è
presente il filtraggio) oppure in L(z) = (·)2 .
Analizziamo il primo caso in cui L(z) = 1:
(t, θ)F = (t, θ)
N
N
1 X
1 X
F
VN (t, θ) =
l((t, θ) ) =
((t, θ))2
N t=1
N t=1
da cui deriva:
N
1 X
θ̂ = arg min VN (θ, z ) = arg min
(y(t) − ŷ(t, θ))2
θ∈Θ
N t=1
n
N
o
(
)
il problema adesso è stimare ŷ(t, θ). Proviamo a calcolare la stima ŷ per una generica
struttura lineare come in Figura 32.2:
con G(z, θ) stabile e propria e H(z, θ) lineare e con poli e zeri a modulo minore
dell’unità. Possiamo così scrivere:
310
di C.Bettini, A.Guiggiani e T.Lorenzetti
32.2 Identificazione parametrica
Figura 32.2.: Sistema utilizzato per il calcolo della stima ŷ(t, θ)
ŷ(t, θ) = ŷ(t|t − 1, θ) = pred y(t)|y t−1 , ut−1 , m(θ)
quindi data:
y(t) = G(z, θ)u(t) + H(z, θ)e(t)
con e(t) ∼ wn (0, σe2 ), date le proprietà di G(·) e di H(·) si ottiene che y(t) dipende
solo da ut−1 . La predizione esatta ad un passo è data da:
y(t) = G(z, θ)u(t) + H(z, θ)e(t) = G(z, θ)u(t) + v̂(t|t − 1)
dove v̂(·) non è noto e va quindi stimato. Riprendiamo:
v(t) = H(z, θ)e(t) =
∞
X
k=0
!
hk z
−k
e(t) =
∞
X
hk e(t − k) = e(t) + (H(z, θ) + I) e(t)
k=0
quindi possiamo scrivere:
e(t) = H(z, θ)−1 v(t) = H(z, θ)−1 (y(t) − G(z, θ)u(t))
di C.Bettini, A.Guiggiani e T.Lorenzetti
311
32.2 Identificazione parametrica
e stimare il tutto con:
v̂(t|t − 1) = (H(z, θ) − I) e(t) = (H(z, θ) − I) H(z, θ)−1 (y(t) − G(z, θ)u(t))
quindi si ottiene (tralasciando la dipendenza da z, θ):
ŷ(t, θ) = (G − G + H −1 G)u(t) + (I − H −1 )y(t)
che è possibile riscrivere in forma:

ŷ(t, θ) =
h

u(t) 
Wu (z) Wy (z) 
y(t)
i
con Wu (z) = H −1 G e Wy (z) = I − H −1 . È semplice ritornare al modello precedente
invertendo ed ottenendo:


H
= (I − Wy )−1

G
= (I − Wy )−1 Wu
Ne deriva che:
(t, θ) = H(z, θ)−1 [y(t) − G(z, θ)u(t)]
Analizziamo adesso il problema di determinare m(·), ovvero di come parametrizzare
G(·) ed H(·). Per fare ciò analizzeremo diversi casi.
32.2.1. Modelli Polinomiali (SISO) BlackBox
sono i modelli in forma:
A(z)y(t) =
312
B(z) −d
C(z)
z u(t) +
e(t)
F (z)
D(z)
di C.Bettini, A.Guiggiani e T.Lorenzetti
32.2 Identificazione parametrica
con e(t) ∼ wn (0, σe2 ) e:
A(z) = 1 + a1 z −1 + ... + ana z −na
B(z) = b0 + b1 z −1 + ... + bnb z −nb
mentre i polinomi C(z), D(z), F (z) devono essere monici e quindi possiamo ipotizzarli senza ledere la generalità del problema. Definiamo così il modello BlackBox:
BB(na , nb , nc , nd , nf , d)
con d > 1 e tale da definire i parametri del sistema:
θ = [a1 a2 ... ana b0 ... bnb c1 ... cnc d1 ... dnd f1 ... fnf ]
0
da cui deriva nθ = na + (nb + 1) + nc + nd + nf .
Per quanto riguarda il ritardo d se questo è non noto si può ipotizzare pari ad 1.
Ricordiamo adesso che il predittore deve essere bibostabile, quindi possiamo definire
la classe dei parametri:
n
o
Θ = θ : G(z, θ)H(z, θ)−1 ∧ I − H(z, θ)−1 sono bibostabili
Notiamo che nella formula che caratterizza i modelli BB si hanno cinque polinomi
mentre in teoria ne basterebbero quattro. Questo è un espediente per utilizzare un
minor numero di parametri: aumentando i polinomi si aumenta la caratterizzazione
del sistema ed usare meno parametri.
Andiamo adesso a definire un caso particolare dei modelli BB: i modelli ARX.
Modelli ARX I modelli ARX sono tali per cui nc , nd , nf sono unitari. In questo
modo il problema si riduce a:
di C.Bettini, A.Guiggiani e T.Lorenzetti
313
32.2 Identificazione parametrica
nθ = na + (nb + 1)
considerati:
ŷ(t, θ) = G(z, θ)H(z, θ)−1 u(t) + (I − H(z, θ)−1 )y(t)
con:
G(z, θ) =
B(z)
d
A(z)
H(z, θ) =
1
A(z)
quindi il predittore ARX è pari a:
ŷ(t, θ) = B(z)u(t) + (1 − A(z))y(t)
da cui:
ŷ(t, θ) = (b0 + ... + bnb z −nb )u(t − d) + (a1 z −1 + ... + ana z −na )y(t)
che è possibile scrivere in forma di regressione lineare come:
0
ŷ(t, θ) = ϕ (t)θ
con:
0
ϕ(t) = [−y(t − 1) ... − y(t − na ) u(t − d) ... u(t − d − nb )]
θ = [a1 ... ana b0 ... bnb ]
Peccato che nel caso di modelli ARX in pratica si va ad ipotizzare che il rumore
è additivo e bianco e che v(t) sia un processo stocastico regressivo (anzichè stazionario), quindi si pongono ipotesi molto stringenti che ci fanno perdere generalità.
314
di C.Bettini, A.Guiggiani e T.Lorenzetti
32.2 Identificazione parametrica
Comunque l’ARX è l’unico modello BB lineare.
Modelli OE i modelli Output Error sono quelli in forma:
y(t) =
B(z)
u(t − d) + e(t)
F (z)
ovvero in cui H(z, θ) = 1. Si ipotizza quindi che v(t) sia un rumore bianco (ipotesi
sempre restrittiva) e che il rumore di processo w(t) sia nullo. In pratica si lavora su
un sistema:


x(t + 1)

y(t)
= Ax(t) + Bu(t)
= Cx(t) + v(t)
con v(t) bianco.
Si ottiene così un predittore OE:
ŷ(t, θ) =
B(z)
u(t − d)
F (z)
che dipende solo dagli ingressi. Possiamo inoltre scrivere:
F (z) ŷ(t, θ) = B(z) u(t − d)
da cui deriva, ponendo F (z) = 1 + (F (z) − 1):
ŷ(t, θ) = B(z) u(t − d) + (F (z) − 1)ŷ(t, θ)
quindi possiamo scrivere:
0
ŷ(t, θ) = ϕ(t, θ) θ
con:
0
ϕ(t, θ) = [u(t − d) ... u(t − d − nb ) − ŷ(t − 1, θ) ... − ŷ(t − nf , θ)]
di C.Bettini, A.Guiggiani e T.Lorenzetti
315
32.2 Identificazione parametrica
h
θ = b0 ... bnb − f1 ... − fnf
i0
Modelli ARMA sono i modelli più utilizzati, in cui nd ed nf sono unitari. Quindi:
A(z) y(t) = B(z) u(t − d) + C(z) e(t)
da cui deriva:
G(z, θ) =
B(z) −d
z
A(z)
H(z, θ) =
C(z)
A(z)
quindi possiamo scrivere:
G(z, θ)
1
B(z)
C(z) − A(z)
ŷ(t, θ) =
u(t−d)+ 1 −
y(t) =
u(t−d)+
H(z, θ)
H(z, θ)
C(z)
C(z)
!
!
y(t)
ponendo come fatto in precedenza:
C(z) = 1 + (C(z) − 1)
è possibile riscrivere il tutto come:
0
ŷ(t, θ) = (1 − C(z)) ŷ(t, θ) + B(z) u(t − d) + (1 − A(z)) y(t) = ϕ(t, θ) θ
con:
0
ϕ(t, θ) = [−y(t − 1) ... − y(t − na ) u(t − d) ... u(t − d − nb ) (t − 1, θ) ... (t − 1 − nc , θ)]
θ = [a1 ... ana b1 ... bnb c1 ... cnc ]
0
quindi nθ = na + (nb + 1) + nc .
316
di C.Bettini, A.Guiggiani e T.Lorenzetti
32.2 Identificazione parametrica
Caso generale BB analizziamo adesso il caso generale BlackBox in cui si ha:
A(z) y(t) =
C(z)
B(z)
u(t − d) +
e(t)
F (z)
D(z)
da cui deriva:
ŷ(t, θ) =
D(z)
w(t, θ) + y(t) − D(z)v(t, θ)
C(z)
una volta definiti, come in Figura 32.3:
w(t, θ) =
B(z)
u(t − d)
F (z)
v(t, θ) = A(z)y(t) − w(t, θ)
Figura 32.3.: Caso generale per segnali BlackBox
Quindi possiamo scrivere:
C(z)ŷ(t, θ) = C(z)y(t) − D(z)v(t, θ)
che, sfruttando i soliti trucchetti C(z) = 1 + (C(z) − 1), D(z) = 1 + (D(z) − 1) e
A(z) = 1 + (A(z) − 1) ci fa ottenere:
ŷ(t, θ) = (C(z) − 1) (t, θ)+A(z) y(t)+(1 − A(z)) y(t)−v(t, θ)+(1 − D(z)) v(t, θ)
di C.Bettini, A.Guiggiani e T.Lorenzetti
317
32.2 Identificazione parametrica
che lavorandoci un po’ sopra diventa:
ŷ(t, θ) = (C(z) − 1) (t, θ)+(1 − F (z)) w(t, θ)+B(z) u(t−d)+(1 − A(z)) y(t)+(1 − D(z)) v(t, θ)
in modo che tutti dipendano da istanti precedenti e siano così calcolabili.
Si definisce così lo pseudo-regressore:
0
ŷ(t, θ) = ϕ(t, θ) θ
con:
ϕ(t, θ) = [−y(t − 1) ... − y(t − na ) u(t − d) ... u(t − d − nb ) (t − 1, θ) ... (t − nc , θ) − v(t − 1, θ) ... − v(t
h
θ = a1 ... ana b1 ... bnb c1 ... cnc d1 ... dnd f1 ... fnf
i0
Si riporta in tabella Tabella 32.1 la classificazione di tutti i possibili modelli BlackBox:
Polinomi
Nome
Modello
B(z)
FIR
y(t) = B u(t − d) + e(t)
A(z)
AR
A y(t) = e(t)
A(z), B(z)
ARX
A y(t) = B u(t − d)
A(z), B(z), C(z)
ARMAZ
A y(t) = B u(t − d) + C e(t)
A(z), C(z)
ARMA
A y(t) = C e(t)
A(z), B(z), D(z)
ARARX
A y(t) = B u(t − d) + D−1 e(t)
A(z), B(z), C(z), D(z) ARARMAX
A y(t) = B u(t − d) + CD−1 e(t)
B(z), F (z)
Output Error
y(t) = BF −1 u(t − d)
B(z), C(z), D(z), F (z) Box-Jenkins y(t) = BF −1 u(t − d) + CD−1 e(t)
Tabella 32.1.: Classificazione riassuntiva dei modelli BlackBox
318
di C.Bettini, A.Guiggiani e T.Lorenzetti
32.2 Identificazione parametrica
32.2.2. Modelli GreyBox
sono i modelli in forma:


ẋ
= Ac (θ)x + Bc (θ)u + Dc (θ)w

y
= C(θ)x + v
con w ∼ wn (0, Qc (θ)) e v ∼ wn (0, Rc (θ)). Un esempio di questi modelli è quello del
motore elettrico.
Dati, come in Figura 32.4:
• J = momento di inerzia;
• Tm = km iA ;
• ea = kb ẏ ;
• β = coefficiente di attrito;
• w = disturbo sulla coppia
• r=
J Ra
.
(βRa +kb km )
Figura 32.4.: Modello di un motore elettrico
Allora si ottiene:








y
0 1 
0
0
x =   ⇒ ẋ = 
x +  α u +  γ w
1
ẏ
0 −r
−r
r
di C.Bettini, A.Guiggiani e T.Lorenzetti
319
32.2 Identificazione parametrica
con:
α=
km
Ra
,γ=
βRa + kb km
βRa + kb km
ed:
y=
h
i
0 1 x+v
Quindi il modello è caratterizzato dai parametri:
0
θ = [r , α , γ] ∈ R3
Se tieniamo conto anche dei disturbi e li supponiamo costanti su tutte le componenti,
avremo:
θ = r , α , γ , σw2 , σv2
h
i0
Quindi si procede nel seguente modo:
1. date Ac (θ), Bc (θ), C(θ), Dc (θ), Qc (θ), Rc (θ) si discretizza il sistema x(t) =
x(t, Ts ):


x(t + 1)

y(t)
= A(θ)x(t) + C(θ)u(t) + w(t)
= C(θ)u(t) + v(t)
2. si applica il predittore ottimo:


x̂(t + 1)

ŷ(t, θ)
= A(θ)x̂(t) + B(θ)u(t) + K(θ) [y(t) − C(θ)x̂(t)]
= C(θ)x̂(t)
0
h
0
con K(θ) = A(θ)P (θ)C(θ) R(θ) + C(θ)P (θ)C(θ)
il guadagno di Kalman.
320
i−1
che altro non è se non
di C.Bettini, A.Guiggiani e T.Lorenzetti
32.2 Identificazione parametrica
Il problema di questo metodo è che le operazioni sono molto complesse e non si ha
convergenza a meno di avere condizioni iniziali di partenza molto buone.
di C.Bettini, A.Guiggiani e T.Lorenzetti
321
33. Criterio di adeguatezza PEM
Andiamo adesso ad analizzare nel dettaglio il criterio di adeguatezza a minimo errore
di predizione (PEM) considerando una classe parametrica di modelli lineari:
M = {m(θ) : θ ∈ Θ}
m(θ) : yt = G(z, θ)ut + H(z, θ)et
et ∼ wn (0, Σe )
dove Θ ⊆ Rnθ è l’insieme dei parametri ammissibili, ovvero l’insieme dei parametri
per i quali il predittore ottimo ad un passo definito:
h
i
ŷt,θ = W (z, θ)zt = H(z, θ)−1 G(z, θ)ut + I − H(z, θ)−1 yt
è bibostabile.
Il metodo di identificazione PEM si propone di determinare:
θ̂N = arg min VN (θ, z N )
θ∈Θ
dove l’indice di prestazione da minimizzare è definito come:
VN (θ, z N ) =
N
1 X
l(F )
N t=1 t,θ
con Ft,θ = L(z)t,θ = L(z) (yt − ŷt,θ ) l’errore di predizione filtrato col filtro L(z)
arbitrario bibostabile, e l(·) arbitraria funzione positiva.
Notiamo e ricordiamo che l’utilizzo di un filtro L(z) non unitario equivale ad operare
con i dati pre-filtrati (uFt , ytF ) con lo stesso filtro, quindi il filtraggio non comporta
323
33.1 Calcolo della stima parametrica
la ridefinizione dell’insieme dati.
33.1. Calcolo della stima parametrica
Consideriamo il caso di predittore lineare nei parametri:
0
ŷt,θ = θ ϕt
dove, per ogni t, il regressore ϕt dipende esclusivamente dai dati e non dai parametri
(θ). Consideriamo per semplicità il caso scalare con l() = 2 , da cui deriva:
VN (θ, z N ) ∝
N X
0
yt − ϕt θ
t=1
Annulliamo la derivata per trovare il minimo:
0
VN (θ, z N ) = 0 ⇒
N
X
0
(ϕt yt − ϕt ϕt θ) = 0
t=1
da cui:
N
X
0
!
ϕt ϕt θ =
t=1
N
X
ϕt yt
t=1
(che fra l’altro è la relazione su cui si basano tutti gli algoritmi di stima analizzati
nella parte di “Controllo Ottimo, Robusto e Adattativo”). Inoltre l’hessiano risulta:
00
VN (θ, z N ) ∝
N
X
0
ϕt ϕt
t=1
pertanto se vale:
det
N
X
0
!
ϕt ϕt = det (RN ) > 0
t=1
324
di C.Bettini, A.Guiggiani e T.Lorenzetti
33.1 Calcolo della stima parametrica
ovvero se la matrice di informazione (RN ) è invertibile, il criterio di adeguatezza ha
un minimo globale:
N
X
θ̂N =
0
!−1
ϕt ϕt
t=1
N
X
0
!
ϕ t yt
t=1
Ricordando le definizioni di correlogramma:
R̂ϕN (k) =
N
1 X
0
ϕt ϕt−k
N t=1
e di cross-correlogramma:
N
1 X
0
ϕt yt−k
N t=1
N
R̂ϕy
(k) =
è immediato ottenere:
i−1
h
θ̂N = R̂ϕN (0)
N
R̂ϕy
(0)
Notiamo inoltre che, dato un sistema vero:
0
S : yt = θ0 ϕt + vt
che genera l’insieme dei dati z N , calcolata la stima:
h
i−1
θ̂N = θ0 + R̂ϕN (0)
N
R̂ϕy
(0)
Allora, posto l’errore di stima sui parametri:
θ̄N = θ̂N − θ0
ovvero che l’errore di stima è direttamente proporzionale al cross-correlogramma ed
inversamente al correlogramma. Sotto l’ipotesi di quasi stazionarietà, inoltre:
lim θ̄N = Rϕ (0)−1 Rϕy (0)
N →∞
di C.Bettini, A.Guiggiani e T.Lorenzetti
325
33.1 Calcolo della stima parametrica
in particolare, se:
1 h 0i
E ϕt vt = 0
t→∞ N
Rϕy (0) = lim
ovvero se ϕt e vt sono incorrelati, il limite per N tendente all’infinito dell’errore di
stima è nullo. In particolare, sono interessanti due casi:
1. se il processo vt è un rumore bianco ed il regressore è strettamente causale (ad
esempio se il sistema vero S è un ARX);
2. se l’ingresso ut è indipendente da vt ed il regressore dipende solo dagli ingressi.
In questo caso, per roprietà transitiva, il regressore è indipendente da vt (ne
sono un esempio i filtri FIR).
Regressione pseudo-lineare
Si e appena visto come nel caso di modello/predittore lineare nei parametri e di
funzione l(·) quadratica si possa determinare esplicitamente la stima ottima dei parametri mediante il metodo dei minimi quadrati. Se viceversa il modello/predittore
non è lineare nei parametri e/o la funzione l(·) non è quadratica, si deve ricorrere
ad una soluzione numerica del problema di ottimizzazione.
Le tecniche numeriche adottate consistono tipicamente di algoritmi di ricerca iterativi (si veda “Controllo Ottimo Robusto e Adattativo”) che operano nel seguente
modo:
(i+1)
θ̂N
(i)
= θ̂N + α(i) f (i)
dove il vettore f (i) fornisce la direzione di ricerca mentre lo scalare α(i) è il passo di
aggiornamento tale che:
(i+1)
VN (θ̂N
(i)
, z N ) < VN (θ̂N , z N )
Per quanto riguarda la scelta della direzione di ricerca ci si puo avvalere, oltre alla
conoscenza della funzione obiettivo, anche della conoscenza del gradiente e dell’Hessiano, laddove questi possano essere calcolati, al fine di aumentare la velocita di
326
di C.Bettini, A.Guiggiani e T.Lorenzetti
33.1 Calcolo della stima parametrica
convergenza. Metodi comunemente usati sono quello della piu rapida discesa in cui
la direzione di ricerca coincide con quella del gradiente:
(i)
f (i) = −VN (θ̂N , z N )
0
ed il metodo di Newton, in cui:
(i)
f (i) = − VN (θ̂N , z N )
h
00
i−1
0
(i)
VN (θ̂N , z N )
Si noti come il metodo del gradiente fornisca una velocità di convergenza del primo
ordine (lineare) mentre il metodo di Newton fornisce una velocità di convergenza del
secondo ordine (quadratica) a fronte della necessità di valutare anche l’Hessiano.
Per molti modelli parametrici lineari, quali ad esempio i modelli polinomiali a scatola
nera, il predittore ottimo assume la forma di regressione pseudo-lineare:
0
ŷt,θ = ϕt,θ θ
con lo pseudo-regressore ϕt,θ dipendente da θ. Assumendo l() = 21 2 si ottiene:
N
1 X
∂ ŷt,θ
VN (θ, z ) = −
t,θ
N t=1 ∂θ
0
N
definito il gradiente della predizione:
Ψt,θ =
∂ ŷt,θ
∂t,θ
=−
∂θ
∂θ
si ottiene:
0
VN (θ, z N ) = −
N
1 X
Ψt,θ t,θ
N t=1
di C.Bettini, A.Guiggiani e T.Lorenzetti
327
33.1 Calcolo della stima parametrica
da cui:
00
VN (θ, z N ) = −
N
N
1 X
∂t,θ
1 X
∂Ψt,θ
Ψt,θ
−
t,θ
N t=1
∂
N t=1 ∂θ
Sostituendo Ψt,θ ed omettendo il secondo termine in, che risulta trascurabile in
prossimità del minimo dove t,θ è piccolo, si ottiene la seguente approssimazione
dell’Hessiano:
00
VN (θ, z N ) ≈
N
1 X
0
Ψt,θ Ψt,θ
N t=1
Tale approssimazione viene comunemente impiegata negli algoritmi di stima parametrica PEM, dove è importante avere una buona approssimazione dell’Hessiano nelle
vicinanze dell’ottimo per accelerare la convergenza, mentre l’effetto dell’Hessiano
non è cosi importante quando la stima corrente è distante dall’ottimo.
Tramite le espressioni appena viste il calcolo del gradiente e dell’Hessiano della funzione obiettivo richiede il calcolo del vettore Ψt,θ che dipende dalla particolare struttura parametrica adottata. Ad esempio per una struttura ARMAX (na , nb , nc , d) si
ha:
ϕt,θ = [−yt ... − yt−na ut−d ... ut−d−nb t−1,θ ... t−nc ,θ ]
θ = [a1 a2 ... ana b0 ... bnb c1 ... cnc ]
"
Ψt,θ
∂
∂
∂
∂
∂
∂
...
...
...
=
∂a1 ∂ana ∂b0 ∂bnb ∂c1 ∂cnc
#
Utilizzando la rappresentazione, sotto forma di equazione alle differenze, del predit-
328
di C.Bettini, A.Guiggiani e T.Lorenzetti
33.2 Analisi asintotica del metodo PEM
tore ARMAX:
C(z)ŷt,θ = B(z)ut−d + [C(z) − A(z)] yt
si deducono le relazioni:
C(z) =
∂
ŷt,θ = −yt−i , i = 1, ... , na
∂ai
C(z) =
∂
ŷt,θ = ut−d−i , i = 0, ... , nb
∂bi
C(z) =
∂
ŷt,θ + ŷt−i,θ = yt−i , i = 1, ... , nc
∂ci
da cui:
C(z)Ψt,θ = ϕt,θ
quindi, nel caso ARMAX, le componenti del gradiente Ψt,θ , sono ottenute filtrando
le omologhe componenti dello pseudo-regressore ϕt,θ , con un filtro digitale BIBOstabile di funzione di trasferimento C(z)−1 .
33.2. Analisi asintotica del metodo PEM
L’utilizo pratico del metodo PEM pone alcuni quesiti sulle proprietà di tale metodo
che vale la pena di analizzare da un punto di vista teorico. Per analizzare queste
proprietà è necessario introdurre due ipotesi:
H1. L’insieme dei dati zN è stato generato secondo lo schema di Figura 33.1 in cui:
• il sistema S ed il controllore C sono lineari;
• il sistema ad anello chiuso risultante dalla connessione di S e C è internamente
stabile;
• l’ingresso esterno rt è un segnale deterministico limitato;
• l’ingresso esterno et è un rumore bianco a media nulla.
di C.Bettini, A.Guiggiani e T.Lorenzetti
329
33.2 Analisi asintotica del metodo PEM
Figura 33.1.: Schema per la generazione dei dati sperimentali
H2. Il sistema vero S è dato da:
S:


yt
= G0 (z)ut + H0 (z)et

et
∼ wn (0, σ02 )
In virtù dell’ipotesi H1, l’errore di predizione (eventualmente filtrato):
t,θ = L(z) (yt − ŷt,θ )
risulta un segnale quasi stazionario ed ergodico, per cui:
N
h i
1 X
l Ft,θ = Ē l Ft,θ
N →∞ N
t=1
V∞ (θ) = lim
Dove V∞ non dipende da z N e rappresenta la funzione obiettivo asintotica (per
N → ∞) del metodo PEM.
Notiamo che per definizione un segnale st si dice ergodico se, qualunque funzione
g(·), si ha:
Ē [g(st )] = lim
N
X
N →∞
330
g(st )
t=1
di C.Bettini, A.Guiggiani e T.Lorenzetti
33.2 Analisi asintotica del metodo PEM
Tornando ad elencare le proprietà si ha che:
1. Convergenza - Ci si chiede se, ed eventualmente a quale valore, converge la
stima quando N → ∞. Nell’ipotesi H1, θ̂N → Θc per N → ∞ con:
Θc = {θ∗ : V∞ (θ∗ ) = min V∞ (θ)} = {θ∗ ∈ Θ : V∞ (θ∗ ) 6 V∞ (θ), ∀θ ∈ Θ}
θ∈Θ
2. Consistenza - Nell’ipotesi in cui l’insieme dei dati z N sia stato generato da un
sistema vero S appartenente alla classe di modelli M considerata, cioè esiste
θ0 ∈ Θ tale che m(θ0 ) = S, ci si chiede se limN →∞ θ̂N = θ0 . Si dimostra che se
valgono le ipotesi H1 ed H2:
a) S = m(θ0 ) ∈ M , quindi θ0 ∈ Θc ;
b) S ∈ M e z ∞ è informativo rispetto ad M , quindi Θc = Θ(S, M );
c) S = m(θ0 ) ∈ M , z ∞ è informativo rispetto ad M ed M è identificabile in
θ0 , quindi Θc = {θ0 }.
3. Incertezza - Ci si chiede quale sia l’incertezza sui parametri stimati e come
essa dipenda dal numero N di dati utilizzati e dal rapporto segnale/rumore.
Sotto le ipotesi H1 ed H2, sia Θc = {θ̄} e, quindi:
lim θ̂N = θ̄
N →∞
allora per N → ∞ si ha:
√
N θ̂N − θ̄ ∼ N (0, Pθ )
con:
n
0
h
Pθ = var(t,θ̄ ) Ē Ψt,θ̄ Ψt,θ̄
io−1
ovvero l’errore θ̂N − θ̄ è asintoticamente normale di varianz var(θ̂N ) approssimabile come:
1
var(θ̂N ) ≈
N
N
X
t=1
2t,θ̄
!
N
X
0
!−1
Ψt,θ̄ Ψt,θ̄
t=1
di C.Bettini, A.Guiggiani e T.Lorenzetti
331
33.2 Analisi asintotica del metodo PEM
4. Analisi nel dominio della frequenza - Ci si chiede come venga pesato in frequenza l’errore che si commette rimpiazzando il sistema con il suo modello.
Assumendo l() = 2 si ottiene:
θ̂N → θ̄ = arg min V∞ (θ)
θ
con:
V∞ (θ) = Ē
2
Ft,θ
1
=
2π
ˆπ
φF (ω, θ)dω
−π
dove φF è la densità spettrale dell’errore di predizione filtrato. Assumendo
H2, si può scrivere:
Ft,θ = L(z)H(z, θ)−1 [yt − G(z, θ)ut ] = L(z)H(z, θ)−1 [∆G(z, θ)ut − H0 (z)et ]
con ∆G(z, θ) = G0 (z) − G(z, θ). Assumendo inoltre che il sistema operi in
anello aperto si può ipotizzare che ut ed et siano incorrelati. Pertanto:
θ̄ = arg min
θ

π

ˆ


−π
|L(e )|
|H(ejω , θ)|
jω


2 
∆G(ejω , θ) φu (ω) + H0 (ejω ) σ02 dω


Notiamo inoltre che se esiste θ0 ∈ Θ tale che G(z, θ) = G0 (z) ed H(z, θ) =
H0 (z), allora:
∆G(ejω , θ0 ) = 0 e ∆H(ejω , θ0 ) = 0 , ∀ω
se invece S ∈
/ M non esiste alcun valore θ0 che soddisfa la relazione precedente, la minimizzazione rispetto a θ esprime comunque un compromesso tra
la minimizzazione dell’errore in frequenza (∆G) del modello I/O pesato da
L(ejω )e la minimizzazione di |H0 | |H|−2 . Quindi nel dominio della frequenza,
l’identificazione PEM ricerca un compromesso fra:
a) l’adattamento della risposta in frequenza ingresso-uscita G(ejω , θ) a G0 (ejω );
b) l’adattamento della risposta in frequenza del disturbo H(ejω , θ) a H0 (ejω , θ).
332
di C.Bettini, A.Guiggiani e T.Lorenzetti
33.3 Informatività dei dati
33.3. Informatività dei dati
Introduciamo adesso alcune definizioni riguardanti l’informatività dell’esperimento
rispetto alla struttura adottata, ovvero la capacità che l’insieme dei dati riesca a
discriminare modelli diversi nella classe di modelli prestabilita. A tale proposito si
fa riferimento ad un insieme dei dati z ∞ = {zk , k > 0} di ampiezza arbitrariamente
elevata.
Definizione 1 - L’insieme dei dati z ∞ si dice informativo rispetto alla classe di modelli
M se per ogni coppia di modelli m1 , m2 ∈ M con associati predittori W1 (z) e W2 (z)
vale:
Ē [(W1 (z) − W2 (z)) zt ]2 = 0 ⇒ W1 (ejω ) = W2 (ejω ) , ∀ω ∈ [−π, π]
n
o
Per capire meglio la condizione notiamo che, omettendo per semplicità il pedice
temporale t e la variabile z, si ha:
(W1 − W2 )z = ŷ1 − ŷ2 = 2 − 1 = ∆
dove ŷ1 ed ŷ2 rappresentano le predizioni calcolate usando lo stesso insieme di dati
z ∞ ed i modelli m1 , m2 mentre 1 , 2 sono i corrispondenti errori di predizione.
Si ricorda inoltre che vi è una corrispondenza bunivoca fra il modello m = (G(z), H(z))
ed il predittore associato W (z) per cui W1 (z) = W2 (z) se e solo se G1 (z) = G2 (z) e
H1 (z) = H2 (z) o equivalentemente i modelli m1 e m2 coincidono. Alla luce di queste
considerazioni, l’implicazione precedente può essere espressa equivalentemente:
Ē[∆2t ] = 0 ⇒ G1 (ejω ) = G2 (ejω ) e H1 (ejω ) = H2 (ejω ) , ∀ω ∈ [−π, π]
Pertanto si può interpretare il concetto di informatività di un insieme di dati rispetto
ad una classe di modelli nel seguente modo: se l’errore quadratico medio della
differenza degli errori di predizione di due modelli della classe considerata è nullo,
allora i due modelli devono coincidere nel senso che devono avere la stessa risposta
in frequenza. Equivalentemente si potrebbe dire che per due modelli diversi della
stessa classe si deve avere un errore quadratico medio della differenza degli errori di
di C.Bettini, A.Guiggiani e T.Lorenzetti
333
33.3 Informatività dei dati
predizione positivo.
Di seguito si indica con L l’insieme di tutti i modelli LTI (lineari e tempo-invarianti).
L’insieme dei dati z ∞ si dice informativo se lo e rispetto alla classe L. Il seguente
risultato fornisce una condizione sufficiente per l’informativita dei dati. Infatti, si
dimostra che l’insieme z ∞ è informativo se:
φz (ω) > 0 , ∀ω ∈ [−π, π]
ovvero la densità spettrale φz del segnale zt è positiva per quasi tutte le pulsazioni.
334
di C.Bettini, A.Guiggiani e T.Lorenzetti
34. Esempi di analisi asintotica del
metodo PEM
Per esemplificare l’analisi asintotica appena esposta si esaminano di seguito alcuni
semplici esempi nei quali, specificati il sistema vero S e la classe M dei modelli
adottata, si cercherà di determinare il modello (o i modelli) a cui può convergere lo
stimatore PEM per numero di dati N che tende all’infinito.
34.1. Identificazione di un segnale MA con un
modello AR
Si consideri un segnale a media mobile (MA) del primo ordine (sistema vero)
S : yt = et + c0 et−1 , et ∼ wn (0, σe2 )
e la classe M = AR(na = 1) dei modelli auto-regressivi del primo ordine caratterizzata dal predittore:
ŷt,θ = −ayt−1 , θ = a
L’errore di predizione assume la forma:
335
34.2 Identificazione di un segnale ARMAX con un modello ARX
t,θ = yt − ŷt,θ = et + c0 et−1 + ayt−1 = et + (c0 + a) et−1 + ac0 et−2
Pertanto:
V∞ (θ = a) = E 2t,θ = 1 + (c0 + a)2 + a2 c20 σe2
h
i
h
i
da cui:
θ̂∞ = â∞ = arg min V∞ (a) = −
a
c0
1 + c20
Si noti che, in questo caso, S ∈
/ M e Θc = {â∞ } dove â∞ = −c0 (1 + c20 )−1 è il
parametro del miglior approssimante del sistema vero nella classe M = AR(1).
34.2. Identificazione di un segnale ARMAX con un
modello ARX
Si consideri un ARMAX (na = 1, nb = 0, nc = 1, d = 1):


yt
+ a0 yt−1 = b0 ut−1 + et + c0 et−1
S:
et ∼ wn (0, σ 2 ), ut ∼ wn (0, σ 2 ) , E[ut et ] = 0
e
u
e la classe M = ARX(na = 1, nb = 0, d = 1) caratterizzata dal predittore:
ŷt,θ = −ayt−1 + but−1 , θ = [a , b]
0
con errore di predizione:
t,θ = yt − ŷt,θ = (a − a0 )yt−1 + (b0 − b)ut−1 + et + c0 et−1
336
di C.Bettini, A.Guiggiani e T.Lorenzetti
34.2 Identificazione di un segnale ARMAX con un modello ARX
Si ha, quindi:
V∞ (θ) = E 2t,θ = (a − a0 )Ry2 (0) + (b − b0 )2 σu2 + (1 + c20 )σe2 + 2c0 (a − a0 )Rye (0)
h
i
con Rye (0) = σe2 .
Per determinare θ̂∞ si devono annullare le derivate di V∞ rispetto ai parametri a e
b, quindi:


 ∂V∞
= 2(a − a0 )Ry (0) + 2c0 σe2 = 0 ⇒ a = â∞ = a0 −

 ∂V∞
= 2(b − b0 )σu2 = 0
∂a
∂b
c0 σe2
Ry (0)
⇒ b = b̂∞ = b0
dove:
b20
(c0 − a0 )2 2 b0 σu2 + (1 + c20 − 2a0 c0 )σe2
2
Ry (0) =
σ
+
1
+
σe =
1 − a20 u
1 − a20
1 − a20
"
#
che, sostituita nella precedente, rende:
â∞ = a0 − ∆a
con:
∆a =
c0 (1 − a20 )
2
(1 + c20 − 2a0 c0 ) + b0 σσu2
e
0
Si noti che la polarizzazione asintotica ∆a tende a zero, e quindi θ̂∞ tende a [a0 , b0 ] se
2
/ M e Θc = {θ̂∞ }
il rapporto segnale/rumore σσu2 → ∞. Anche in questo esempio S ∈
e
contiene un solo elemento. Lo stimatore ARX riesce a stimare correttamente i
parametri a0 e b0 della funzione di trasferimento ingresso-uscita:
G0 (z) =
b0 z −1
1 + a0 z −1
per un numero N di dati ed un rapporto segnale/rumore sufficientemente eleva-
di C.Bettini, A.Guiggiani e T.Lorenzetti
337
34.2 Identificazione di un segnale ARMAX con un modello ARX
ti mentre, ovviamente ignora il parametro c0 della funzione di trasferimento del
disturbo:
H0 (z) =
338
1 + c0 z −1
1 + a0 z −1
di C.Bettini, A.Guiggiani e T.Lorenzetti
Parte VI.
Controllo Ottimo, Robusto e
Adattativo
339
34.3 Controllo ottimo
34.3. Controllo ottimo
34.3.1. Linear Quadratic Regulation
Dato un impianto LTV-TD in forma:


x(k
+ 1) = A(k)x(k) + B(k)u(k)

y(k)
= C(k)x(k) + D(k)u(k)
l’obiettivo dell’LQR è, note le condizioni iniziali, minimizzare:
2
J(x(0), u[0,T ) ) = x[0,T ) ψx
2
+ u[0,T ) ψu
+ |x(T )|2ψx
definito:
2
x[0,T ) ψx
=
TX
−1
0
x(k) ψx (k)x(k)
k=0
Considerando per semplicità i pesi ψ(·) (k) costanti, ovvero ψ(·) , il problema viene
risolto grazie alla programmazione dinamica di Bellman.
34.3.1.1. Programmazione dinamica di Bellman
Definito P (k) = ψx (k) con k ∈ Z + , il problema di ottimizzazione è risolto dal segnale
di controllo:
uo (t) = F (t)x(t)
calcolato in modo iterativo con:
h
0
F (t) = − ψu + B P (t + 1)B
i−1
BP (t + 1)A
di C.Bettini, A.Guiggiani e T.Lorenzetti
341
34.3 Controllo ottimo
Anche P (t + 1) è ricavato in modo iterativo attraverso:
0
0
P (t) = [A + BF (t)] P (t + 1) [A + BF (t)] + F (t) ψu F (t) + ψx
Dato che quanto definito non ha vincoli, la retroazione F (t) può divergere per t → ∞.
Si introducono così le condizioni grazie alle quali si può passare alla soluzione su
orizzonte infinito:
1. il sistema è stabilizzabile, ovvero i modi non raggiungibili sono stabili;
2. il sistema è rivelabile, ovvero i modi non rivelabili sono stabili;
Sotto queste due ipotesi, valgono le proprietà:
0
1. limt→∞ P (t) = P = P > 0 , che diventa maggiore stretto se il sistema è
completamente osservabile;
0
2. ∃!P = P > 0 soluzione della ARE:
0
0
0
P = A P A − A P B(ψu + B P B)−1 BP A + ψx
3. la matrice [A + BF ] è una matrice di stabilità, definita:
0
0
F = −(ψu + B P B)−1 B P A
Inoltre se il sistema è autonomo, ovvero se B = 0, la ARE si riduce ad una ALE:
0
P = A P A + ψx
0
e si ha che ∃P = P > 0 ⇔ A è matrice di stabilità. Inoltre P rappresenta l’energia
del sistema autonomo in quanto:
0
J o = x P x
342
G=0
di C.Bettini, A.Guiggiani e T.Lorenzetti
34.3 Controllo ottimo
Notiamo infine che è possibile scrivere il funzionale di costo J attraverso lo stato
0
anzichè con l’uscita. Infatti, definito ψx = ψx > 0, è possibile fattorizzare ψx come:
0
ψx = C ψy C
con C ∈ Rpxn , p 6 n , e scrivere:
2
x[0,T ) ψx
2
≡ y[0,T ) ψy
34.3.1.2. LQR polinomiale
L’LQR polinomiale riguarda la trattazione in frequenza del problema di risoluzione
LQR. Dato il sistema:


x(k
+ 1) = A(k)x(k) + B(k)u(k)

y(k)
= C(k)x(k)
si cerca la sequenza di ingresso u(t) che minimizza il costo:
J := J(x(0), u[0,∞) ) =
∞
X
ky(k)k2ψy + ku(k)k2ψu =
k=0
∞
X
kx(k)k2ψx + ku(k)k2ψu
k=0
Notiamo che il costo può essere riscritto con l’operatore < · >:
< ŷ(d)∗ ŷ(d) >=
∞
X
y(k)2
k=0
con ŷ(d) =
P∞
k=0
y(k)dk , da cui si ottiene il costo equivalentemente:
J :=< ŷ(d)∗ ψy ŷ(d) + û(d)∗ ψu û(d) >
di C.Bettini, A.Guiggiani e T.Lorenzetti
343
34.3 Controllo ottimo
Iniziamo riscrivendo il sistema in forma di descrizione matriciale fratta sinistra e
destra:
Hyu (d) = (I − dA)−1 dB = A1 (d)−1 B1 (d) = B2 (d)A2 (d)−1
Quindi è possibile scrivere:
x̂(d) = Hyu (d)û(d) + A1 (d)−1 x(0) = B2 (d)A2 (d)−1 û(d) + A1 (d)−1
da cui si ottiene:
∗
∗
∗
−1
J = (· · ·) =< û(d)∗ [A−1
2 ] [B2 ψx B2 + A2 ψu A2 ][A2 ]û(d) + altro >
che rende così possibile risolvere il problema di fattorizzazione spettrale:
E(d)∗ E(d) = B2∗ ψx B2 + A∗2 ψu A2
con E(d) caratterizzato dalle proprietà:


ψu A2 (d) 
= m := dim(u) ;
1. ∃E(d) ⇐⇒ rank 
ψx B2 (d)
2. i fattori spettrali sono determinati unicamente rispetto a matrici ortogonali.
Sostituendo E(d)∗ E(d) nell’equazione del costo si ottiene un costo suddiviso in due
parti:
J = J1 J2
la prima parte:
0
0
−1 ∗
−1
−1 ∗
−1
∗ ∗
−1
∗
−1 ∗ ∗
J1 =< û(d)∗ [A−1
2 ] E E[A2 ]û(d)+û(d) [A2 ] B2 ψx [A1 ]x(0)+x (0)[A1 ] ψx B2 [A2 ]û(d)+x (0)[A1 ] ψx
dipende dal controllo mentre la seconda parte J2 (formata dai termini restanti) no;
è quindi necessario assumere, affinchè il problema LQR abbia soluzione, che questa
seconda parte sia limitata.
344
di C.Bettini, A.Guiggiani e T.Lorenzetti
34.3 Controllo ottimo
Riprendendo la prima parte del costo, si cerca adesso una scomposizione in parte
causale ed anticausale. Per fare ciò definiamo:
q := max{∂A2 (d), ∂B2 (d)}
ed utilizziamo la notazione:
Ā2 (d) = dq A∗2 (d)
B̄2 (d) = dq B2∗ (d)
Ē(d) = dq E(d)
Adesso analizziamo J1 riscrivendolo come una fattorizzazione spettrale:
J1 =< e(d)∗ e(d) >
−1
∗ ∗
−1 ∗ ∗
con e(d) = û(d)∗ [A−1
] B2 ψx [A−1
1 ]x(0) . Usando la notazione
2 ] E [A2 ]û(d) + [E
precedentemente introdotta possiamo lavorare su < e(d)∗ e(d) > ed estrarre la parte
causale di e(d) che è pari a:
ẽ(d) = Ē −1 B̄2 ψx A−1
1 x(0)
mentre la parte anticausale la separiamo in un sub-costo J3 e speriamo/supponiamo
che sia limitata (non potendo agire su essa la speranza è l’unica certezza).
Adesso ipotizziamo l’esistenza (se non esistono il problema non è risolvibile) di
{Y, Z} matrici polinomiali che soddisfano la diofantina bilatera con vincolo di grado:


Ē(d)Y (d) + Z(d)A1 (d)

∂Z(d)
= B̄2 (d)ψx
6 ∂ Ē(d) = q
da cui deriva la formulazione di ẽ(d) in forma:
ẽ(d) = E(d)−1 Z(d)x(0)
di C.Bettini, A.Guiggiani e T.Lorenzetti
345
34.3 Controllo ottimo
Come conseguenza di tutti questi calcoli si ha che, sfruttando l’identità di Bezout,
se definiamo:
û(d) = M1 (d)−1 N1 (d)x̂(d)
con:
M1 (d) = E(d)−1 [E(d) − Y (d)B2 (d)] A−1
2 (d)
N1 (d) = E(d)−1 Y (d)
e se valgono la condizione:


ψu A2 (d) 
=m
rank 
ψx B2 (d)
e la limitatezza dei costi J2 e J3 , allora ∃X, Y soluzioni della diofantina bilatera
con vincoli di grado tali che il regolatore in retroazione:
K(d) = M1 (d)−1 N1 (d)
è soluzione del problema LQR. Il problema è che la diofantina bilatera ha infinite
soluzioni e, quindi, non è sufficiente un controllore K(d) così definito per avere
stabilità closed-loop.
La stabilità si ottiene imponendo il soddisfacimento dell’identità di Bezout:
M1 (d)A2 (d) + N1 (d)B2 (d) = I ∈ Rm
da cui deriva la condizione:
h
i
M1 (d) = E(d)−1 Ē(d)−1 Ā2 (d)ψu + Z(d)B(d)
il problema è che E(d) Hurwitz implica che Ē(d) sia anti-Hurwitz, quindi è necessario che i termini tra parentesi siano divisibili per Ē(d); ovvero deve esistere X(d)
346
di C.Bettini, A.Guiggiani e T.Lorenzetti
34.3 Controllo ottimo
polinomiale che risolve la terza diofantina:
Ā2 (d)ψu + Z(d)B(d) = Ē(d)X(d)
così che sia possibile ricavare:
M1 (d) = E(d)−1 X(d)
stabile.
Quindi ricapitolando dobbiamo risolvere tre diofantine:
1.
Ē(d)E(d) = Ā2 ψu A2 + B̄2 ψx B2
2.
Ē(d)Y (d) + Z(d)A1 (d) = B̄2 (d)ψx
3.
Ā2 (d)ψu + Z(d)B(d) = Ē(d)X(d)
Notiamo adesso che se sostituiamo le ultime due diofantine nella prima si ottiene la
diofantina “per la stabilità”:
E(d) = X(d)A2 (d) + Y (d)B2 (d)
e si perde la dipendenza da Z(d). Ciò si può fare ma è bene verificare l’esistenza
di un Z(d) che risolve la diofantina, altrimenti è possibile che si trovi una soluzione
inesatta al problema.
Quindi ricapitolando se valgono le ipotesi:
di C.Bettini, A.Guiggiani e T.Lorenzetti
347
34.3 Controllo ottimo

1. rank 

ψu A2 (d) 
=m;
ψx B2 (d)
2. ∃X, Y, Z soluzioni delle diofantine;
3. J2 e J3 sono limitati;
allora il problema LQR è risolto dalla legge di controllo:
u(t) = −X(d)−1 Y (d)y(t)
ed il costo è minimo e pari a:
Jmin = J2 + J3
34.3.2. Cheap Control Regulation
Dato un sistema:


x(k
+ 1) = A(k)x(k) + B(k)u(k)

y(k)
= C(k)x(k)
con x(0) = x ed u(0) = u, con la CCR ci si pone l’obiettivo di annullare l’uscita nel
numero di passi minore possibile. Quindi l’obiettivo è minimizzare:
vj (x) = min
[0,j)
j−1
X
y(k)2
k=0
Per ottenere una soluzione al problema è necessario che l’impianto sia a fase minima,
ovvero che la funzione di trasferimento closed-loop sia strettamente Hurwitz. La
soluzione ottima al primo passo è data da:
u=−
CA
x=Fx
CB
Si noti che la matrice (A + BF ) deve essere di stabilità, quindi:
348
di C.Bettini, A.Guiggiani e T.Lorenzetti
34.3 Controllo ottimo
BCA
BC
(A + BF ) = A −
= I−
A = φcc
CB
CB
che rappresenta la matrice di trasferimento closed-loop del sistema.
Se analizziamo il caso in cui è presente un ritardo τ nel sistema, il controllore ottimo
nel caso di CCR è:
u(t) = −
CAτ
x(t)
CAτ −1 B
Ricordiamo cosa va a minimizzare il CCR nel caso di ritardo τ :
vj (x) = min
[0,j)
j−1
X
2
y(k) =
τX
−1
2
y(k) = x
0
k=0
k=0
"τ −1
X
A
0
k
0
#
k
C CA
x
k=0
Analizziamo ad esempio un impianto CARMA:
A(d)y(t) = B(d)u(t) = dτ Bo (d)u(t)
con A(d) monico, ovvero A(d) = 1 + a1 d + ... + ana dna . Se, ad esempio, il ritardo è
unitario (τ = 1) allora:
y(t) = (1 − A(d))y(t) + dBo (d)u(t)
che, al passo t + 1, diventa:
y(t + 1) = (1 − A(d)) y(t + 1) + Bo (d)u(t) = 0
da cui si ricava la legge di controllo ottimo:
B0 (d)u(t) = −(1 − A(d)) y(t + 1)
Se adesso analizziamo il caso τ > 1 e tralasciamo per semplicità di notazione la
dipendenza da (d), notiamo che per trovare la legge di controllo ottima non si può
di C.Bettini, A.Guiggiani e T.Lorenzetti
349
34.3 Controllo ottimo
procedere come appena visto: è necessario risolvere la diofantina
1 = AQτ + dτ Gτ
in Qτ , Gτ , ponendo il vincolo di grado minimo ∂Qτ 6 τ − 1.
Si ottiene così il regolatore che risolve il problema di CCR risolvendo:
B0 (d)Qoτ (d)u(t) = −Goτ (d)y(t)
dove Goτ , Qoτ sono i fattori a grado minimo ricavati da:


Qτ
= Qoτ + dτ p

Gτ
= Goτ − Ap
con p > 0 (quest’ultimo passaggio serve per avere soluzioni a grado minimo, non è
indispensabile).
34.3.3. Single Step Regulation
Nella regolazione single step, dato il solito sistema:


x(k
+ 1) = A(k)x(k) + B(k)u(k)

y(k)
= C(k)x(k)
l’obiettivo è, definito τ , minimizzare il costo:
J(x(0), u(0)) = ky(τ )k2ψy + ku(0)k2ψu
con:
y(τ ) = Wτ u(0) + CAτ x(0)
350
di C.Bettini, A.Guiggiani e T.Lorenzetti
34.3 Controllo ottimo
La soluzione del problema è data dal controllo:
u(k) =


F x(0)
per k = 0

0
per k = 1, ... , τ − 1
con
0
F = − ψu + Wτ ψx Wτ
−1
Wτ ψy CAτ
34.3.4. Stabilità interna e parametrizzazione YJBK
34.3.4.1. Stabilità interna
Andiamo adesso a definire la stabilità interna di un sistema come quello in Figura 34.1:
Figura 34.1.: Generico sistema retroazionato
Ipotizziamo:
1. P (d) e K(d) sono LTI;
2. P (d) è irriducibile (altrimenti possiamo renderla tale, facendo attenzione ai
modi nascosti che non devono essere instabili);
3. v, ν segnali esogeni.
Sotto queste ipotesi, definite le descrizioni matriciali fratte sinistre e destre (si
tralascia la dipendenza da d per comodità):
−1
P = A−1
1p B1p = B2p A2p
di C.Bettini, A.Guiggiani e T.Lorenzetti
351
34.3 Controllo ottimo
−1
K = A−1
1c B1c = B2c A2c
e definiti gli ingressi esogeni:
w=
h
ν
0
v
0
i0
e le variabili esogene:
z=
h
y
0
0
u
i0
il sistema è internamente stabile se w limitata genera z limitata. Ciò avviene se il
denominatore dell’anello ri retroazione è stabile, ovvero se, definite le matrici P1 e
P2 :
P1 = A1p A2c + B1p B2c
P2 = A2p A1c + B2p B1c
queste sono strettamente Hurwitz. Per studiare P1 e P2 o, meglio, il loro determinante, si sfrutta l’identità di Bezout:
A1p M2 + B1p N2 = I ∈ Rp
con M2 = A2c P1−1 e N2 = B2c P1−1 . Quindi la sabilità interna si ottiene se l’identità
di Bezout è soddisfatta, una volta definito il controllore:
−1
K = N2 M2−1 = B2c
A2c
34.3.4.2. Parametrizzazione YJBK
Dato l’impianto:
−1
P = A−1
1p B1p = B2p A2p
352
di C.Bettini, A.Guiggiani e T.Lorenzetti
34.3 Controllo ottimo
allora esiste un compensatore:
−1
K = A−1
1c B1c = B2c A2c
che rende il sistema in retroazione stabile e che, ∀k(d), ha forma:


A1c (d)
= A01c (d) − QB1p (d)

B1c (d)
0
= B1c
(d) + QA1p (d)
oppure:


A2c (d)
= A02c (d) − B2p (d)Q

B2c (d)
0
(d) + A2p (d)Q
= B2c
0
0
(d)
(d) e/o A02c (d), B2c
con Q ∈ Rmxp matrice razionale fratta stabile, con A01c (d), B1c
soluzioni dell’identità di Bezout.
Notiamo che con una parametrizzazione di questo tipo il sistema equivalente generato è pari a quello in Figura 34.2.
Figura 34.2.: Sistema equivalente YJBK
di C.Bettini, A.Guiggiani e T.Lorenzetti
353
34.3 Controllo ottimo
Alcuni vantaggi di questa parametrizzazione sono il fatto che A1c e B1c sono Q-affini
e che le matrici di trasferimento Huv , Huν , Hyv , Hyν (con riferimento alla Figura 34.1)
sono lineari in A1c , B1c .
34.3.5. LQR stocastico
Nell’LQSR il costo, precedentemente definito come:
J(x(0), w[0,T ) , u[0,T ) )
viene ridefinito in forma:
E[J] = E
" T −1
X
kx(k)k2ψx
+
ku(k)k2ψu
!
+
kx(T )k2ψx
#
k=0
Dato il sistema:


 x+

y
= Ax + Bu + w
= Cx
con w : E[w] = 0, per risolvere il problema di minimizzazione del costo si definisce
una nuova funzione di Bellman:
v(t, x(t)) = min E
u[t,T )
" T
X
#
e(x, x(k), u(k))|x(t)
k=t
con:
e(k, x(k), u(k)) := kx(k)k2ψx + ku(k)k2ψu + 2u(k) M (k)u(k) > 0
0
dove M (k) sono termini misti (che solitamente possiamo ignorare), e:
e(T, x(k), u(k)) := kx(T )k2ψx > 0
354
di C.Bettini, A.Guiggiani e T.Lorenzetti
34.3 Controllo ottimo
Notiamo adesso che qualunque intervallo [t, T ) può essere suddiviso in due intervalli
[t, t1 ), [t1 , T ) quindi, ponendo t1 = t + 1 si ottiene l’equazione stocastica di Bellman:


v(t, x(t))
= minu(t) {e(t, x(t)) + E [v (t + 1, x(t + 1)) |x(t)]}

v(T, x(T ))
= e(T, x(T ), u(T )) = kx(T )k2ψx
Data la forma ricorsiva dell’equazione, è possibile procede a ritroso in modo tale da
ricavare il controllore ottimo uo (k) , k ∈ [t0 , T ).
Si riporta il teorema dell’equazione stocastica di Bellman secondo cui, se:
{v(t, x(t))}Tt=t0
soddisfa l’equazione stocastica di Bellman, allora il controllo û(t) = û(t, x(t)) ottimo
minimizza il costo:
h
E J(t0 , x(t0 ), u[t0 ,T )
i
rispetto a qualunque ingresso in retroazione di stato. Inoltre il minimo vale: E [v(t0 , x(t0 ))].
Quindi per problemi su orizzonte finito e disturbi non gaussiani, il problema LQSR
è risolvibile come il caso deterministico. L’ingresso ottimo si ottiene dall’equazione
stocastica di Bellman come retroazione dello stato u(t) = F (t)x(t) con x(0) = 0:
0
h
F (t) = − ψu + B P (t + 1)B
i−1 h
0
M (t) + B P (t + 1)A
i
0
con P = P > 0 soluzione di:


P (t)
0
0
h
0
i
= A P (t + 1)A − F ψu + B P (t + 1)B F + ψx

P (T )
= ψx (T )
Nel caso in cui i rumori abbiano natura Gaussiana, è necessario introdurre il problema di regolazione LQG.
di C.Bettini, A.Guiggiani e T.Lorenzetti
355
34.3 Controllo ottimo
34.3.5.1. LQGR
Dato un sistema del tipo:


x(k
+ 1) = A(k)x(k) + B(k)u(k) + w(k)

z(k)
= C(k)x(k) + v(k)
il problema di LQGR è risolto applicando un Filtro di Kalman al sistema come in
Figura 34.3.
Figura 34.3.: Approccio LQGR
La legge ottima di regolazione LQG è:
u(t) = F (t)x(t) , t ∈ [t0 , T )
con F (t) matrice LQR-gain del caso deterministico ricavata dalla DARE e x(t|t) lo
stato ricostruito col Filtro di Kalman data la marice di guadagno ottimo K̃:




x(k|k) = x(k|k − 1) + B(k)u(k) + K̃(k)e(k)



h
i−1

0
0



K̃(k)
=
Π(k)C(k)
C(k)Π(k)C(k)
+
ψ
(k)
v



e(k) = z(k) − C(k)x(k|k − 1)












x(k + 1|k) = A(k)x(k|k) + B(k)u(k)
356
di C.Bettini, A.Guiggiani e T.Lorenzetti
34.3 Controllo ottimo
con Π(k) che soddisfa:


Π(k
0
0
0
+ 1) = A(k)Π(k)A(k) − A(k)Π(k)C(k) L(k)−1 C(k)Π(k)A(k) + ψw (k)

L(k)
0
= C(k)Π(k)C(k) + ψv (k)
e data la covarianza a posteriori:
Π(k|k) = Π(k) − K̃(k)C(k)Π(k)
Il costo minimo su orizzonte [t0 , T ) è pari a:
min J(t, x(t), u[t,T ) ) =
u[t,T )
TX
−1
TX
−1
2
T r[P (k+1)ψx (k)]+
T r[ψx (k)Π(k|k)]
kE[x(t)]kP (t) +T r[P (t)Π(t|t)]+
k=t
k=t
dove Π(k|k) è la covarianza a posteriori relativa al Filtro di Kalman (nel caso con
informazione completa è nulla).
Di conseguenza nell’approccio LQGR si ha una separatzione tra stima e regolazione,
separazione tenuta insieme grazie al principio di equiparazione con la certezza (in
pratica ci si fida ciecamente del Filtro di Kalman).
34.3.5.2. LQGR-RSS
Analizziamo adesso l’LQGR in regime stocastico stazionario (che è come dire “orizzonte infinito” nei casi deterministici visti in precedenza). Definito l’impianto gaussiano:




x(t + 1) = Ax(t) + Bu(t) + w(t)







y(t) = Cx(t)



z(t) = Cz x(t) + v(t)










0


ν(t) := [w(t) v(t)]
allora
di C.Bettini, A.Guiggiani e T.Lorenzetti
357
34.3 Controllo ottimo
se definiamo l’indice di prestazioni:
lim lim
t→∞ T →∞
1
E [Jk ]
T − t0 + 1
con:
Jk = J(k, x(k), u(k)) =
T
X
e(y(k), u(k)) =
k=t0
T h
X
ky(k)k2ψy + ku(k)k2ψu
i
k=t0
i problemi di regolazione (R) e di filtraggio (F) sono risolti sotto le ipotesi:
1. (A, B, C) rivelabili e stabilizzabili (R);
2. (A, B, Cz ) rivelabili e stabilizzabili (F).
Sotto queste ipotesi il problema LWGR-RSS ha soluzione:
u(t) = F x(t|t)
e più precisamente il problema di regolazione è risolto da:
0
F = − ψu + B P B
−1
0
B PA
0
con P = P > 0 soluzione di:
0
0
0
0
0
P = A P A − A P B(ψu + B P B)−1 B P A + H ψy H
mentre il problema di filtraggio è risolto da:
x(t|t) = x(t|t − 1) + K̃e(t)
e:
x(t + 1|t) = Ax(t|t) + Bu(t)
358
di C.Bettini, A.Guiggiani e T.Lorenzetti
34.3 Controllo ottimo
con:


K̃
0
0
= ΠCz (Cz ΠCz + ψv )−1

e(t)
= z(t) − Cz x(t|t − 1)
0
e Π = Π > 0 soluzione di:
0
0
0
0
Π = AΠA − AΠCz (Cz ΠCz + ψv )−1 Cz ΠA + BB
0
In questo modo si assicura stabilità asintotica in anello chiuso e si minimizza il costo
stocastico a regime.
34.3.5.3. Rappresentazione CARMA dell’LQGR-RSS
Dato l’impianto Carma:
A(d)y(t) = B(d)u(t) + C(d)e(t)
sotto le ipotesi:
1. A(d)−1 [B(d) C(d)] è descrizione matriciale fratta sinistra irriducibile;
2. C(d) è Hurwitz;
3. il massimo denominatore comune di A, B è strettamente Hurwitz (e, quindi, i
modi comuni sono stabili).
allora, se la matrice di trasferimento tra la stima ŷ e i dati raccolti (u, y) è stabile,
la predizione a τ passi in avanti di y è corretta a meno di un errore di predizione
ỹ(t + τ ) = y(t + τ ) − ŷ(t + τ |t) pari a:
ỹ(t + τ ) = Qτ e(t + τ )
Quindi, risolvendo la diofantina con vincolo di grado ∂Qτ (d) 6 τ − 1:
C(d) = A(d)Qτ (d) + dτ Gτ (d)
di C.Bettini, A.Guiggiani e T.Lorenzetti
359
34.3 Controllo ottimo
il predittore ottimo a τ passi è dato da:
ŷ(t + τ |t) = Qτ C −1 B0 u(t) + A−1 Gτ Ay(t)
34.3.5.4. Regolazione stocastica ad un passo
Dato l’impianto CARMA appena introdotto, sotto le ipotesi precedenti la legge di
controllo:
0
u(t) = − ψu + L ψy L
−1
0
L ψy [ŷ(t + τ |t) − Lu(t)]
rende il sistema in anello chiuso stabile ed è la legge ottima di regolazione stocastica
ad un passo con:
L := Qτ (0)C(0)−1 B0 (0) = A(0)−1 B(0)
360
di C.Bettini, A.Guiggiani e T.Lorenzetti
35. Controllo Robusto
35.1. Introduzione e definizioni
Guadagno il guadagno di una funzione è la risposta in frequenza nel caso SISO:
|G(jω)| =
q
G(jω)∗ G(jω)
mentre nel caso MIMO è dato dal massimo valore singolare:
|G(jω)| = σ̄(G(jω))
Guadagno indotto dato G : X → Y con X, Y spazi normati, si definisce il
guadagno indotto:
kGk := sup
x∈X6=0
kG xk
kGk
ovvero l’amplificazione di G rispetto ad X.
Spazio L2
Si definisce lo spazio L2 come quello dei segnali ad energia finita, ovvero:
L2 : {w : kwk2 =
ˆ∞
|w(t)|2 dt < ∞}
0
361
35.1 Introduzione e definizioni
Se uniamo questi due concetti si ottiene la proprietà secondo cui, dato G : w → z,
con w, z ∈ L2 , allora:
kGk = kGk∞ := sup{G(jω)}
ω
Quindi dato un sistema caratterizzato da un impianto P ed un controllore in retroazione K come quello in Figura 35.1:
Figura 35.1.: Generico impianto per la sintesi di un controllore robusto


ẋ
= Āx + Bu + Ev
= Ax + Ev

z
= C̄x + Hu + Dw
= Cx + Dw
si definisce il guadagno indotto del rumore:
kGkzw := sup
w∈L2 6=0
kzk kwk x(0)=0
L’idea adesso è quella di minimizzare (o almeno limitare) il guadagno indotto del
rumore in modo tale da avere:
kGkzw < γ
Per fare ciò si introduce il lemma tecnico che afferma, definito il costo:
J(0, x(0), w) = kzk2 − γ 2 kwk2
allora se questo è negativo si verifica kGkzw < γ.
362
di C.Bettini, A.Guiggiani e T.Lorenzetti
35.1 Introduzione e definizioni
Sistema aggiunto dato G : X → Y con X, Y spazi normati, si definisce l’aggiunto
G∼ come:
G∼ :< Gw, y >=< w, G∼ y >
dove l’operatore < · > è tale che:
ˆT
< u, v >:=
0
v(t) u(t)dt
0
Come conseguenza della definizione di sistema ggiunto si ha che l’aggiunto presenta
lo stesso guadagno indotto del sistema originario, quindi:
kGk[0,T ) = kGk∼
[0,T )
quindi se kGk[0,T ) < γ vale anche kGk∼
[0,T ) < γ.
Lemma tecnico e lemma del reale limitato Il lemma tecnico, assieme al lemma
del reale limitato, fornisce una soluzione del problema sotto le condizioni:
1. definito γ̂ := supw∈L2 6=0
kzk kwk x(0)=0
2. posto γ > σ̄(D)
0
3. se ∃!P = P > 0 soluzione della GDRE:
−Ṗ = A P + P A + (E P + D C) (γ 2 I − D D)(E P + D C) + C C
0
0
0
0
0
0
0
0
con P (T ) = 0, allora il problema ha soluzione e γ̂ < γ.
di C.Bettini, A.Guiggiani e T.Lorenzetti
363
35.1 Introduzione e definizioni
Estensione su orizzonte infinito dato il solito sistema:


ẋ
= Ax + Ev

z
= Cx + Dw
con A matrice di trasferimento stabile, allora γ̂ < γ se e solo se γ > σ̄(D) ed
0
∃P = P > 0 soluzione della ARE:
0 = A P + P A + (E P + D C) (γ 2 I − D D)(E P + D C) + C C
0
0
0
0
0
0
0
0
35.1.1. Regolazione H∞ con informazione completa
Dato il sistema:


ẋ
= Ax + Bu + Ew

y
= Cx + Du
l’obiettivo è determinare un segnale di controllo in retroazione u = Kx tale che:
kyk
6γ
kwk
La soluzione al problema è data da un guadagno:
0
0
0
K = −(D D)−1 (B P + D C)
0
con P = P > 0 soluzione della GDRE:
364
di C.Bettini, A.Guiggiani e T.Lorenzetti
35.1 Introduzione e definizioni


−Ṗ
0
0
0
0
0
0
0
0
0
= A P + P A + γ −2 P EE P + (B P + D C) (D D)−1 (B P + D C) + C C

P (T )
=0
Tutto ciò è dovuto al fatto che il costo da minimizzare è:
J(0, x(0), u, w) = kyk2 − γ 2 kwk2
con kyk2 :=
´ T <∞
0
|y(t)|2 dt. È così possibile riscrivere:
J(0, x(0), u, w) =
|x(0)|2P (0)
ˆT "
+
0
d
|x|2P (t)
|y| − γ |w| +
dt
2
2
2
!#
dt
se svolgiamo l’integrando si ottiene:
|Cx + Du|2 − γ 2 |w|2 + 2x P (Ax + Bu + Ew) + x Ṗ x
0
0
Manipolando l’integrale con un paio di trucchetti matematici si ottiene:
|D(u − F1 x)|2 − γ 2 |w − F2 x|2 + (altro)
dove (altro) = 0 nel caso in cui P = P 0 è soluzione della GDRE sopra citata e:
0
0
0
F1 = −DD (B P + D C)
F2 = γ 2 E 0 P
Quindi il problema di regolazione nel caso H∞ con informazione completa si risolve
ponendo un controllo in retroazione:
U = F1 x
di C.Bettini, A.Guiggiani e T.Lorenzetti
365
35.1 Introduzione e definizioni
Tecnicamente sarebbe presente anche la seconda parte, quella caratterizzata da F2 ,
però l’azione di w è completamente rimossa per γ → ∞ e, quindi, il problema diviene
quello LQ di minimizzazione rispetto ad u dell’indice di prestazione kyk2 .
35.1.2. Filtraggio H∞
Riprendiamo il sistema:
G∼


ẋ
= Ax + Ev

z
= Cz x + Dz w
con condizione iniziale nulla (x(0) = 0) e calcoliamone l’aggiunto:
∼
G ∼


ṗ
= −Ap + Cz ν

η
= B p + Dz ν
0
0
0
che avrà condizione finale p(T ) = 0.
L’obiettivo del filtraggio H∞ a informazione completa è quello di trovare una stima
di v = Lx in forma v̂ = K(z) con k causale e tale che:
kv̂ − Lxk2 − γ 2 kwk2 6 0
quindi se riscriviamo il sistema in forma matriciale considerando l’errore := v̂ − Lx
(Figura 37.1.a):





ẋ
z






=





A E 0  x 


 v 
−L 0 x 


Cz Dz 0
v̂
allora se consideriamo il sistema aggiunto comandato dal segnale w̃ (Figura 37.1.b):
366
di C.Bettini, A.Guiggiani e T.Lorenzetti
35.1 Introduzione e definizioni





ṗ
η
w̃







=


0
0
A −L
0
E
0
0
I
0
Cz
Dz
0





p
w̃
ν





si ottiene di conseguenza che cercare kk2 − γ 2 kwk2 6 0 con v̂ = K(z) equivale a
cercare kηk2 − γ 2 kw̃k2 6 0 con ν = k ∗ (w̃). In questo modo il problema di filtraggio
si riduce ad un problema di regolazione (Figura 37.1).
Figura 35.2.: Diagrammi a blocchi dei due sistemi equivalenti
Quindi considerato il sistema aggiunto e riscrivendo per semplicità notazionale:
0
0
0
0
A = Ā , Cz = B̄ , E = C¯, Dz = D̄ , −L = Ē
l’obiettivo è ora cercare il controllore ν in forma ν = F p con:
0
0
F = −(D̄D̄ )−1 (B̄Q + D̄ C̄)
0
dove Q = Q > 0 soluzione della GDRE:
di C.Bettini, A.Guiggiani e T.Lorenzetti
367
35.1 Introduzione e definizioni


−Q̇
0
0
0
0
0
0
0
= Ā Q + QĀ + γ −2 QĒ Ē Q − (B̄Q + D̄ C̄) (D̄ D̄)−1 (B̄Q + D̄ C̄) + C̄ C̄

Q(T )
=0
Estensione su orizzonte infinito dato il solito sistema:


ẋ
= Ax + Ev

z
= Cz x + Dz w
allora se Cz , A, E sono stabilizzabili e rivelabili allora ∃!γF > 0 tale che:
γF = inf
sup
k
w∈L2 6=0
kLx − K(z)k
kwk
con K(z) causale e γF tale che:
0
1. ∃!Q = Q > 0 soluzione minimale della GARE:
0 = AQ + QA + γ 2 QL LQ − (Cz Q + Dz E ) (Dz Dz )−1 (Cz Q + Dz E ) + EE
0
0 0
0
0
ˆ di Lx è data da:
2. la stima Lx
ẋˆ = Ax̂ + K∞ (z − Cz x̂)
con:
0 0
0
k∞ = (Cz Q + Dz E ) (Dz Dz )−1
ed è tale da avere:
ˆ Lx − Lx
kwk
6 γ , ∀w ∈ L2
3. la matrice di transizione (A − K∞ Cz ) dello stato x̃ = x − x̂ è stabile.
368
di C.Bettini, A.Guiggiani e T.Lorenzetti
0
35.1 Introduzione e definizioni
35.1.3. Regolazione H∞ con informazione parziale
Consideriamo il sistema:



ẋ



y




z
= Ax + Bu + Ev
= Cx + Du
= Cz x + Dz w
e cerchiamo di trovare, noto γ, un controllore in forma:
u = Ḡ(z)
tale che:
kyk
6γ
kwk
Per risolvere il problema di regolazione H∞ con informazione parziale si sfruttano
due lemmi.
Lemma 1 sia:




kyk γ > γ̂ := inf
sup
u w∈L 6=0  kwk 
2
x(0)=0
allora tutte le leggi di controllo non anticipative in forma:
u = L̄1 x + L̄2 w
ammettono forma:
D(u − u∗ ) = ū(w − w∗ )
di C.Bettini, A.Guiggiani e T.Lorenzetti
369
35.1 Introduzione e definizioni
ricordando che w∗ = F x e che u∗ = Kx.
Lemma 2 sotto le ipotesi del lemma 1 vale la condizione sul costo:
J(u, w) = J(0, 0, u, w)
tale che:
0
0
J (D D)−1 D ū(w̃), w 6 0
con w̃ := w − w∗ , se e solo se:
kūk < γ
ovvero il costo è negativo (o nullo) applicando il controllore:
0
0
u = (D D)−1 D ū(w̃)
Quindi la procedura per risolvere il problema di regolazione H∞ con informazione
parziale si articola in due fasi:
0
1. Risolvere la prima GDRE trovando P = P > 0 :


−Ṗ
h
i
= P Ā + ĀP − P B(D D)−1 B − γ 2 EE P + C̄ C̄

P (T )
0
0
0
0
h
0
0
=0
0
0
0
0
0
i
con Ā = A − B(D D)−1 D C e C̄ C̄ = C I − D(D D)−1 D C , in modo da
ricavare u∗ = Kx con:
0
0
0
K = −(D D)−1 (B P + D C)
e risolvere il problema di regolazione;
370
di C.Bettini, A.Guiggiani e T.Lorenzetti
35.1 Introduzione e definizioni
0
2. Risolvere la seconda GDRE trovando Q = Q > 0:


Q̇
0
0
h
i
0
= AQ + QA − Q C C − γ 2 F D DF Q + E E

Q(0)
0
0
=0
con:
A = A + γ 2 EE P − EDz (Dz Dz )−1 Cz
0
0
0
C = Cz + γ −2 Dz E P
0
h
0
0
0
0
0
(Dz Dz )−1 Cz + γ −2 Dz E P
0
i
E E = E I − Dz (Dz Dz )−1 Dz E
0
3. Una volta risolte le due GDRE il regolatore dinamico H∞ è costituito dal filtro
H∞ che stima, in base alle uscite y, lo stato:


ẋ
ˆ
= Ax̂ + E ŵ + Bu + k [y − (Cz x̂ + Dŵ)]

x̂(0)
=0
con:
0
ŵ = γ −2 E P x̂
0 0
0
K = (C̆Q + Dz E ) (Dz Dz )−1
0
C̆ = Cz + γ −2 Dz E P
35.1.4. Approccio LMI al problema di regolazione H∞
Una LMI (Linear Matrix Inequality) è una disuguaglianza matriciale in forma F (x) >
0 in cui F (x) è simmetrica ed esprimibile come:
F (x) =
n
X
Fi x i + F0
i=1
di C.Bettini, A.Guiggiani e T.Lorenzetti
371
35.1 Introduzione e definizioni
dove Fi ∈ Rnxn sono matrici simmetriche ed xi ∈ Rn sono variabili di decisione.
La condizione F (x) > 0 implica inoltre che il più piccolo autovalore di F (x) sia
polisitvo. L’approccio LMI, risolvendo una disequazione, è meno restrittivo rispetto
al caso classimo ma computazionalmente più oneroso.
Lemma del reale limitato LMI il lemma del reale limitato LMI afferma che, data
A stabile, kGk∞ = γ̂ < γ avviene se e solo se:
γ > σ̄(D)
0
ed ∃X = X > 0 che soddisfa la GARI:
A X + XA + C C + (E X + D C) (γ 2 I − D D)−1 (E X + D C) < 0
0
0
0
0
0
0
0
0
Applicando il complemento di Schur alla GARI si ottiene la condizione:





0
0
A X + XA XE C
0
0
EX
−γI D
C
D −γI





<0
Regolazione H∞ nel caso LMI con informazioni complete Dato il sistema:


ẋ
= Ax + Bu + Ew

y
= Cx + Du
0
introducendo la notazione Γ = BK deve essere risolta la GARI (con Q = Q > 0):

0
QA − QΓ + AQ − ΓQ E Q(C + DK)

0
0


E
−γI
D

Q(C + DK)
D
−γI
372





<0
di C.Bettini, A.Guiggiani e T.Lorenzetti
35.1 Introduzione e definizioni
Una volta risolta la GARI (magari con un toolbox Maltab) e ricavata la coppia Γ, Q
allora basta porre in retroazione un controllore in forma:
u = Kx
con K = Γ−1 Q.
Filtraggio H∞ nel caso LMI dato il sistema:


ẋ
= Ax + Ew

z
= Cz x + Dz w
si cerca un osservatore dello stato in forma:


ẋ
ˆ
= Ax̂ + KF (y − Cz x̂)

v̂
= Lx̂
Andiamo a riscrivere il sistema con lo stato e = x − x̂ e l’uscita ṽ = Lx − v̂ = Le:


ė
= (A − KF Cz )e + (E + KF Dz )w

ṽ
= Le
0
0
0
0
a questo punto ponendo Ā = A − KF Cz , Ē = E + KF Dz e C̄ = L il problema è
0
risolto trovando una soluzione Y = Y > 0 della GARI:





0
0
Ā Y + Y Ā Y Ē C̄
0
Ē Y
−γI
0
C̄
0
−γI





<0
di C.Bettini, A.Guiggiani e T.Lorenzetti
373
36. Controllo adattativo
Il controllo adattativo si suddivide in due grandi rami. Dato un impianto:
y(k + 1) = θu(k) + ζ(k + 1)
con ζ ∼ N (0, σ 2 ). Dato il riferimento r, si distinguono due approcci al problema di
controllo a seconda se θ sia nota o meno.
1. Se θ è nota, il controllo ottimo che minimizza E [y(k + 1) − r] è dato da:
u(k) =
r
θ
2. Se θ non è nota si distinguono due ulteriori approcci:
a) approccio bayesiano: si modella θ come un processo stocastico, estendendo il controllo stocastico classico a quello adattativo. È un processo
complesso e cauto.
b) equiparazione con la certezza: si considera il valore stimato θ̂(k) come un
valore esatto.
Si distinguono adesso tre algoritmi per il controllo adattativo:
1. algoritmi espliciti (o indiretti), in cui la stima dei parametri avviene in openloop;
2. algoritmi impliciti, in cui si vanno a stimare i parametri che servono al controllore;
3. algoritmi diretti, in cui vengono stimati tutti i parametri (scompare così il
blocco di design).
375
36.1 RLS I°
36.1. RLS I°
Ipotizziamo di avere un sistema esprimibile in forma di ARX:
A(d)y(t) = B(d)u(t) + e(t)
Da cui si ottiene il predittore ottimo MEQM:
0
ŷ(t|t − 1) = B(d)u(t) + (1 − A(d))y(t) = ϕ(t − 1) θ
con:
0
ϕ(t − 1) = [−y(t − 1) ... − y(t − na ) u(t − 1) ... u(t − nb )]
θ = [a1 ... ana b1 ... bnb ]
Definiamo adesso il costo:
JN =
N
1 X
(y(k) − y(k|k − 1))2
N k=1
e notiamo che questo è minimo se, posto
θ = θ̂ :=
N h
X
k=1
0
ϕ(k − 1)ϕ(k − 1)
PN
k=1
N
i−1 X
0
ϕ(k − 1)ϕ(k − 1) > 0, si stima:
ϕ(k − 1)y(k) = R(t)−1
k=1
N
X
ϕ(k − 1)y(k)
k=1
A questo punto si ricava la prima formula di RLS iterativo:


θ(t)

R(t)
h
0
i
= θ(t − 1) + R(t)−1 ϕ(t − 1) y(t) − ϕ(t − 1) θ(t − 1)
= R(t − 1) + ϕ(t − 1)ϕ(t − 1)
0
l’inversione di matrice ad ogni passo risulta essere oneroso, quindi, sfruttando il
376
di C.Bettini, A.Guiggiani e T.Lorenzetti
36.1 RLS I°
lemma di inversione delle matrici:
(A + BCD)−1 = A−1 − A−1 B(DA−1 B + C −1 )−1 DA−1
e ponendo P (t) = R(t)−1 si ottiene:


θ(t)
h
0
= θ(t − 1) + P (t)ϕ(t − 1) y(t) − ϕ(t − 1) θ(t − 1)
RLS ∼ 
P (t) = P (t − 1) −
i
0
P (t−1)ϕ(t−1)ϕ(t−1) P (t−1)
1+ϕ(t−1)0 P (t−1)ϕ(t−1)
Una differente notazione dell’RLS è:


θ(t)
a(t)P (t−1)
= θ(t − 1) 1+a(t)ϕ(t−1)
(t)
0
P (t−1)ϕ(t−1)

P (t)−1
= P (t − 1)−1 + ϕ(t − 1)ϕ(t − 1)
0
0
con (t) = y(t) − ϕ(t − 1) θ(t − 1).
L’algoritmo di stima iterativo RLS gode di quattro proprietà deterministiche:
1. Limitatezza uniforme della stima:
kθ(t)k 6 Mθ , ∀t ∈ Z1
2. Convergenza (a zero) dell’errore di predizione normalizzato:
(t)2
=0
t→∞ 1 + c kϕ(t − 1)k2
lim
0
con (t) = y(t) − ϕ(t − 1) θ(t − 1)
3. Convergenza:
∃ lim θ(t) = θ∞
t→∞
4. Variazioni asintotiche lente:
lim kθ(t) − θ(t − k)k = 0 , ∀k ∈ Z+
t→∞
di C.Bettini, A.Guiggiani e T.Lorenzetti
377
36.2 Self Tuning Cheap Control
36.1.1. Lemma tecnico chiave 2.0
una volta introdotto l’algoritmo RLS si definisce, attraverso al lemma tecnico chiave:
H(t) =
(t)2
γ(t) + δ(t) kϕ(t − 1)k2
con γ, δ scalari limitati a valori reali.
Se valgono le ipotesi:
1. limt→∞ H(t) = 0
2. kϕ(t − 1)k2 6 c1 + c2 maxk∈[i,t) |(k)| con c1 , c2 > 0
Allora
1. kϕ(t − 1)k è uniformemente limitato ∀t > 0 , quindi le variabili dell’impianto
restano limitate;
2. limt→∞ (t) = 0, quindi l’errore di stima prima o poi (non si può determinare
il “quando”) è nullo.
36.2. Self Tuning Cheap Control
Riprendiamo il sistema in forma polinomiale:
A(d)y(t) = B(d)u(t) = dτ B0 (d)u(t)
allora se risolviamo la Diofantina con vincolo sul grado (∂Qτ 6 τ − 1):
1 = AQτ + dτ Gτ
è possibile scrivere y(t + τ ) in forma di regressore lineare:
0
y(t + τ ) = ϕ(t) θ
378
di C.Bettini, A.Guiggiani e T.Lorenzetti
36.3 RLS II°
con:
ϕ(t) = [y(t) ... y(t − na + 1) u(t) ... u(t − nb − τ + 1)]
θ = [a0 ... ana −1 b0 ... bnb +τ −1 ]
A questo punto se il ritardo τ è unitario è possibile adottare una tecnica di STCC
esplicito: il vettore di stima coincide con il regressore cheap control ad un passo
(visto nel controllo ottimo):
0
y(t + 1) = ϕ(t) θ
se, invece, τ > 1 allora è necessario introdurre un nuovo algoritmo RLS che tenga
conto del ritardo τ .
36.3. RLS II°
Si definisce ora l’algoritmo RLS II° riguardante il caso di ritardi maggiori dell’unità:


θ(t)
= θ(t − 1) +

P (t − τ
a(t)P (t−τ )
1+a(t)ϕ(t−τ )0 P (t−τ )ϕ(t−τ )
(t)
0
+ 1)−1 = P (t − τ )−1 − ϕ(t − τ )ϕ(t − τ )
con:
a(t) =


1

6=
se la (na + 1)esima componente di θ(t)non è nulla ponendo a(t) = 1
1
altrimenti
e si nota che questo algoritmo gode delle stesse quattro proprietà deterministiche
del suo predecessore.
Sotto le ipotesi:
1. ritardo τ noto;
2. impianto a fase minima (ovvero B0 (d) strettamente Hurwitz);
di C.Bettini, A.Guiggiani e T.Lorenzetti
379
36.4 STCC diretto
3. riferimento limitato (o nullo).
Allora la legge di cheap control:
0
ϕ(t) θ(t) = r(t + τ )
è tale che:
1. ϕ(t − τ ) è uniformemente limitato, quindi il sistema closed-loop è stabile;
2. limt→∞
(t)2
1+ckϕ(t−τ k2
= limt→∞ y (t) = 0
36.4. STCC diretto
Cerchiamo adesso di riscrivere l’algoritmo RLS direttamente coi parametri di controllo. Dato il sistema:
A(d)y(t) = B(d)u(t) = dτ B0 (d)u(t)
e dato un riferimento costante (r) tale che y (t) = y(t) − r. Se sostituiamo y(t) =
y (t) + r possiamo riscrivere:
Ā(d)y (t) = dτ B̄0 (d)u(t)
dove Ā(d) = ∆A(d) e B̄0 (d) = ∆B0 (d); quindi in pratica lavorare su y(t) o su y (t)
è la stessa cosa, a meno di costanti/ritardi.
Dall’approccio STCC precedentemente illustrato abbiamo visto che è possibile, risolvendo una diofantina, ricavare:
0
y(t + τ ) = αy (d)y(t) + βy (d)u(t) = ϕy (t) θ
Allo steso modo possiamo ricavare:
0
y (t) = α(d)y(t) + β(d)u(t) = ϕ(t) θ
380
di C.Bettini, A.Guiggiani e T.Lorenzetti
36.4 STCC diretto
da cui deriva che, se θ è noto, la legge di controllo STCC è data da:
0
ϕ(t) θ = 0 , ∀t ∈ Z+
mentre se θ non è noto allora la legge STCC è data:
0
ϕ(t) θ(t) = 0 , ∀t ∈ Z+
Riscriviamo adesso:
y (t + τ ) = α(d)y(t) + β(d)u(t) + β0 u(t) − β0 u(t)
da cui possiamo ricavare direttamente il controllore in forma di regressore lineare:
"
#
β(d) − β0
α(d)
0
y (t) −
u(t) = s(t) f
u(t) = −
β0
β0
con:
s(t) = [y (t) ... y (t − na + 1) u(t − 1) ... u(t − nb − τ + 1)]
0
e:
"
β1 − β0
βn +τ −1 − β0
α0 αna −1
f=
...
−
... − b
β0
β0
β0
β0
#0
Per poter stimare queste grandezze è necessario modificare l’algoritmo RLS per
stimare in modo diretto f :


f (t)
= f (t − 1) +

P (t − τ
P (t−τ )s(t−τ )
¯(t)
1+s(t−τ )0 P (t−τ )s(t−τ )
0
+ 1)−1 = P (t − τ )−1 + s(t − τ ) s(t − τ )
0
0
con ¯(t) = y(t)−s(t−τ ) s(t−τ ) inizializzato con f (0) ∈ Rnθ e P (1−τ ) = P (1−τ ) >
0.
di C.Bettini, A.Guiggiani e T.Lorenzetti
381
36.5 STCC-CT-NRLS
Ultimo problema da risolvere è il fatto che:
0
P (t − τ + 1)−1 = P (t − τ )−1 + s(t − τ ) s(t − τ )
risulta essere una specie di integratore, il che ci porta a dover affrontare due questioni:
1. dal punto di vista quantitativo avremo bisogno di memoria infinita (poco male,
i computer ne hanno a pacchi);
2. dal punto di vista qualitativo se lanciamo l’algoritmo per 10 anni, l’ultimo
passo continua a dipendere (almeno in parte) dal primo.
Si introduce così l’algoritmo CT-NRLS.
36.5. STCC-CT-NRLS
Si segue l’algoritmo:


θ(t)
= θ(t − 1) +

P (t − τ
a(t)P (t−τ )X(t−τ )
¯(t)
1+a(t)X(t−τ )0 P (t−τ )X(t−τ )
h
0
+ 1)−1 = λ(t − τ ) P (t − τ )−1 + a(t)X(t − τ )X(t − τ )
i
con:
0
¯(t) = γ(t) − X (t − τ )θ(t − 1)
e:
γ(t) =
y(t)
ϕ(t − τ )
, X(t − τ ) =
, m(tτ ) = max{m, kϕ(t − τ )k}
m>0
m(t − τ )
m(t − τ )
definito il fattore di oblio λ(t − τ ) come:
1
X(t − τ ) P (t − τ )2 X(t − τ )
61
λ(t − τ ) = 1 −
T r[P (0)] 1 + X(t − τ )0 P (t − τ )X(t − τ )
0
382
di C.Bettini, A.Guiggiani e T.Lorenzetti
36.5 STCC-CT-NRLS
0
una volta inizializzati θ(0) ∈ Rnθ e P (0) = P (0) > 0.
Questo algoritmo gode delle proprietà:
1. traccia costante, ovvero T r[P (t)] = T r[P (0)] , ∀t ∈ Z+ ;
2. λ(t) > λ > 0 , ∀t ∈ Z+ .
di C.Bettini, A.Guiggiani e T.Lorenzetti
383
37. Identificazione
L’identificazione si suddivide in due macro-aree:
1. identificazione ad ampio orizzonte, in cui i funzionali di costo combinano
funzioni di predizione a più passi;
2. identificazione per il controllo, appositamente strutturata per sintetizzare il
controllore LQ ottimo.
37.1. Identificazione a ampio orizzonte
Partiamo dal processo ARX:
A(d)y(t) = B(d)u(t) + n(t)
e determiniamo A, B in modo tale da minimizzare:
t X
N
1X
JN (t, θ) =
(k|k − i)2
t k=1 i=1
dove (k|k − i) = y(k) − ŷ(k|k − i) è l’errore di predizione calcolato a i-passi.
Risolvendo per tutti i passi la Diofantina:
1 = A(d)Qi (d) + di Gi (d)
è possibile scrivere:
y(k) = Qi (d)B(d)u(k) + Qi (d)n(k) + di Gi (d)y(k)
385
37.1 Identificazione a ampio orizzonte
da cui si ricava:
ŷ(k|k − i) = Qi (d)B(d)u(k) + di Gi (d)y(k)
e di conseguenza:
(k|k − i) = Qi (d) [A(d)y(k) − B(d)u(k)] = Qi (d)(k|k − 1)
Abbiamo così trovato una relazione che lega l’errore di predizione a i-passi con quello
a un passo, che va filtrato con la soluzione della diofantina.
Il problema è che per svolgere questi calcoli dovremo, ad ogni passo, risolvere una
diofantina e filtrare l’errore a un passo (quindi al passo M dobbiamo risolvere M
diofantine, al passo M + 1 dobbiamo risolverne M + 1 e così via). Per ottimizzare
un po’ il ragionamento, è possibile riscrivere:
(k|k − i) = lN (d)(k|k − 1)
dove lN (d) è soluzione della fattorizzazione spettrale:
lN (d)lN (d) =
∗
N
X
Qi (d)Qi (d)∗
i=1
Comunque sia in questo approccio di identificazione l’RLS diventa:


θi (t)
= θi−1 (t) + Pi (t)ϕi (t − 1) [yi (t) − ϕi (t − 1)θi−1 (t − 1)]

Pi (t)
= Pi−1 (t) +
0
Pi−1 (t)ϕi (t−1)ϕi (t−1) Pi−1 (t)
1+ϕi (t−1)0 Pi−1 (t)ϕi (t−1)
con ϕi (t − 1) = Qi (d, t − 1)ϕ(t − 1) ed yi (t) = Qi (d, t − 1)y(t). Inizializzando
θ0 (t) = θ(t − 1) e P0 (t) = P (t − 1) si ottiene così un algoritmo in cui non è necessario
risolvere la fattorizzazione spettrale (ottimo) ma il t-esimo passo dipende da tutti i
precedenti
386
di C.Bettini, A.Guiggiani e T.Lorenzetti
37.2 Identificazione per il controllo
37.2. Identificazione per il controllo
Nell’identificazione per il controllo l’obiettivo è minimizzare il costo:
JACH = E (y(t) − r(t))2 − ρ(δu(t))2
h
i
con δu(t) = u(t) − u(t − 1).
Scriviamo il sistema in forma di output-error:
y(t) = P (d)u(t) + v(t) =
B(d)
u(t) + v(t)
A(d)
con l’obiettivo di stimare P (d) attraverso un modello approssimato M (d) =
Ciò si traduce sui dati relativi al sistema approssimato {y c (t), uc (t)}:
B̄(d)
.
Ā(d)
y c (t) = M (d)uc (t)
in modo tale che il controllore (sintetizzato su M (d)) vada a minimizzare il costo:
JDES = E (y c (t) − r(t))2 − ρ(δuc (t))2
h
i
Si definiscono in questo modo gli schemi di controllo nominale (N/C) e del sistema
reale (P/C) come in Figura 37.1. Il primo è caratterizzato dal costo JDES mentre il
secondo da JACH .
Definiamo adesso il costo associato a prestazioni e robustezza:
JP R = E (y(t) − y c (t))2 − ρ(δu(t) − δuc (t))2
h
i
È dimostrabile che vale la relazione:
JACH 6 2(JDES + JP R )
di C.Bettini, A.Guiggiani e T.Lorenzetti
387
37.2 Identificazione per il controllo
Figura 37.1.: Diagrammi a blocchi dei modelli N/C e P/C
quindi se si riescono a limitare i secondi due costi automaticamente è limitato anche
il primo.
Vediamo adesso i passi da seguire per applicare questo tipo di controllo:
1. si applica il controllore C0 all’impianto P
2. coi dati ottenuti si identifica Mi := arg minM {JP R (Mi , C)}
3. si ottiene il nuovo controllore Ci := arg minC {JDES (Mi , Ci )}
4. si applica il nuovo controllore all’impianto e così via.
Andiamo adesso a ricavare dai diagrammi a blocchi le quantità che caratterizzano
JP R :
JP R = E ∆2 (R2 + ρS 2 )[F r(t) + H v(t)]2
h
i
che sfruttando Parseval diventa:
JP R
388
1
=
2π
ˆ2π


2
i T AĀ(B/A − B̄/Ā) 2
A
|∆|2 | |R|2 + ρ |S| 2 
φr (ω) + φv (ω) dω
X
X X̄
h
0
di C.Bettini, A.Guiggiani e T.Lorenzetti
37.2 Identificazione per il controllo
con X = ∆AR + BS ed X̄ = ∆ĀR + B̄S.
L’idea ora è quella di applicare una identificazione parametrica all’impianto. Definiamo δ(t|t − 1) = Ā(d)δy(t) − B̄(d)δu(t) e:
JLS
1
=
2π
ˆ2π
φF (ω)dω
0
con δF = L(d)δ(t|t − 1).
Con un po’ di calcoli si ottiene:
JLS
1
=
2π
ˆ2π 0

2 B

L∆Ā A
2

A 2
B̄ − φr (ω) + φv (ω) dω
X
Ā
e notiamo che ponendo:
2
L(ejω )
2
=
2
|R(ejω )| + ρ |S(ejω )|
2
X̄(ejω )
vale l’uguaglianza JP R = JLS .
A questo punto è possibile procede come segue:
1. poniamo L0 (d) = 1 ed applichiamo un controllore iniziale (S0 , R0 , T0 ) che
stabilizza il sistema P ;
2. filtriamo i dati ricavati con L0 (d)∆(d);
3. si identifica B̄i , Āi minimizzando JLS = JP R ;
4. col modello B̄i , Āi si sintetizza un nuovo controllore (Si , Ri , Ti ) in accordo col
criterio LQG che minimizza JDES ;
5. si aggiorna Li−1 ← Li e si riprende dal primo punto.
I vantaggi di questo metodo risiedono nel fatto che non è necessario un modello e
l’inizializzazione è arbitraria.
di C.Bettini, A.Guiggiani e T.Lorenzetti
389
38. Controllo a commutazione
Il controllo adattativo finora visto presenta due handicap:
1. è complesso e pone vincoli molto restrittivi sul sistema;
2. il blocco identificatore impiega del tempo prima di convergere all’impianto,
ergo il sistema potrebbe divergere.
È per questi motivi che si ricorre ad un controllo a commutazione (Figura 38.1).
Questo può seguire due diverse logiche di decisione:
1. controller falsification: si rileva l’instabilità, quindi si mantiene il controllore
fintanto che l’impianto è stabile;
2. inference of candidate loop behavious: si fa inferenza, ovvero si sceglie il
migliore tra i controllori non falsificati basandoci su un indice di costo.
Figura 38.1.: Schema a blocchi del controllo a commutazione
391
38.1 Approccio multi-modello
38.1. Approccio multi-modello
Definiamo lo spazio dei modelli Θ = ∪Θi tale che per il modello vero P = B(d,θ)
A(d,θ)
vale θ ∈ Θ. L’idea è quella di creare N coppie controllore/modello stimato, definite
(Mi /Ci ) e tali che (Mi (θ)/Ci ) sia stabile e performi in modo soddisfacente ∀θ ∈ Θi .
Ne deriva l’ipotesi di problem feasibility, ovvero che almeno uno dei controllori Ci è
tale da stabilizzare l’impianto vero.
Costruiamo N modelli ad ognuno dei quali si associa:
2
fi (t) = eti =
t
X
|ei (k)|2
k=0
con ei (k) = Ai (d)y(k) − Bi (d)u(k).
Si procede adesso con una logica ad isteresi suddivisa in due passi:
←
−
1. per ogni istante di tempo si calcola, con N = {1, 2, ... , N }:
f∗ (t) = min
f (t)
←
− i
i∈ N
2. si seleziona:
σ(t) =


σ(t − 1)
se fθ(t−1) 6 f∗ (t) + h

σ∗ (t)
altrimenti
in questo modo si va ad aggiornare l’indice del controllore ottimo scegliendo
il controllore Cθ(t) . Il coefficiente h serve ad evitare problemi di chattering in
quanto impedisce al sistema di commutare per piccole variazioni.
Tutto ciò, va ricordato, vale sotto a due ipotesi:
←
−
1. P (d) = P (d, θ) è incognito, ma θ = θi per qualche i ∈ N ;
2. non sono presenti disturbi.
Queste due ipotesi sono tali per cui:
∃t∗ > 0 : σ(t) = σ̄ , ∀t > t∗
392
di C.Bettini, A.Guiggiani e T.Lorenzetti
38.2 Approccio prestazionale
←
−
con σ̄ ∈ N e:
lim ei∗ (t) = 0
t→∞
quindi ad un certo punto il controllo a commutazione converge ad un controllore σ̄
e l’errore ei tende a zero (all’infinito).
Notiamo infine che l’approccio multimodello è molto rigido: bisogna partire da una
stima buona di P (d) o è impossibile che funzioni.
38.2. Approccio prestazionale
Teoricamente potremo pensare ad un approccio in cui i controllori vengono testati
sul modello vero e poi viene fatta inferenza scegliendo il più performante. Ciò è
impossibile da farsi (per logici motivi di sicurezza), quindi cerchiamo un’alternativa.
Questo metodo, come vedremo, è molto utile in quanto non servono informazioni
sul modello e tutto dipende principalmente dalla stabilità in anello aperto.
Ipotizziamo adesso (ipotesi semplificativa rimuovibile) che i controllori candidati
←
−
Ci (d) abbiano ritardo I/O nullo e siano stabilmente invertibili ∀i ∈ N .
Dati {u, y} i valori reali del sistema vero, per ogni controllore candidato si ricava il
riferimento virtuale:
vi (t) =
1
u(t) + y(t)
Ci (d)
che equivale al riferimento in ingresso al sistema con ingresso u , uscita y e controllore
Ci (d) (Figura 38.3).
Figura 38.2.: Diagramma a blocchi del sistema con riferimento virtuale
di C.Bettini, A.Guiggiani e T.Lorenzetti
393
38.2 Approccio prestazionale
Definiamo adesso la sensitività mista del sistema (P/Ci )vi come:
SMi =


1
1+P
Ci 

Ci
1+P
Ci
e definiamo fi (t) come la stima (dal basso) di SMi :
2
2
k(y − vi )t k + kut k
fi (t) =
6 SMi , α 6= 0
α + kvit k2
2
considerando che kxt k = tk=0 |x(k)|2 . Il coefficiente α è stato introdotto per evitare
problematiche a seguito di condizioni iniziali nulle.
P
Definiamo adesso una nuova logica ad isteresi partendo da:
Vi∗ (t) = min
Vi (t)
←
−
i∈ N
con Vi (t) = maxτ ∈è[0,t) fi (τ ). A seguito di questa nuova logica, in cui l’operatore di
massimo fa sì che i valori di Vi (t) siano monotoni (cosa scontata nell’approccio multi
modello mentre va forzata in questo caso). Si sceglie così:


σ(t − 1)
σ(t) = 
σ∗ (t)
se vσ(t−1) 6 vσ∗ (t) + h
altrimenti
considerando σ∗ (t) = arg (Vi∗ (t)).
Quindi la logica a isteresi garantisce che, dato l’impianto incognito P (d) e l’insieme
←
−
dei controllori candidati Ci (d) , i ∈ N , se esiste un controllore tale che (P/Ci ) è
internamente stabile allora:
1. la commutazione termina in un tempo finito;
2. esistono c1 , c2 costanti positive tali che:
ky t k 6 c1 + c2 krt k
, ∀t > 0
kut k 6 c1 + c2 krt k
394
di C.Bettini, A.Guiggiani e T.Lorenzetti
38.3 Approccio ad anello di riferimento
Andiamo infine a confrontare i due approcci: il multi modello fa sì che la scelta
del controllore sia rapida nel caso in cui si approssimi bene l’impianto (altrimenti
però è possibile cadere nell’instabilità); il prestazionale, invece, è tale per cui la
stabilità dipende dalla sola problem feasibility pur essendo caratterizzato da lunghe
fasi di apprendimento. Si cerca infine un terzo approccio caratterizzato dai pregi di
entrambi.
38.3. Approccio ad anello di riferimento
Data una famiglia di impianti P (θ) : A(d, θ)y(t) = B(d, θ)u(t) con θ ∈ Θ e Θ
compatto, dati i controllori candidati:
Ci (d) =
←
−
Si (d)
,i∈N
Ri (d)
i (d)
e data una famiglia di N modelli nominali M : Mi (d) = B
tali che (Mi /Ci ) è
Ai (d)
stabile, allora sotto le condizioni di problem feasibility possiamo definire le quantità:
n
o
k(P/C)r k = achieved performance
k(M/C)r k = designed performance
k(P |C)r + (M/C)r k = performance robustness
ed il funzionale:
Vi =
k(P/Ci )r − (Mi /Ci )r k
k(Mi /Ci )r k
da cui deriva la condizione:
Vi < 1 ⇔ k(P/Ci )r − (Mi /Ci )r k < k(Mi /Ci )r k
di C.Bettini, A.Guiggiani e T.Lorenzetti
395
38.3 Approccio ad anello di riferimento
A questo punto notiamo che se usassimo il riferimento r sarebbe necessario un
pre-routing, quindi passiamo da r al riferimento virtuale vi ridefinendo:
Vi =
k(P/Ci )vi − (Mi /Ci )vi k
k(Mi /Ci )vi k
0
0
Indichiamo adesso con z = [u y] e con zi = [ui yi ] = (Mi /Ci )vi . In questo modo,
definito z̃i = z − zi si ottiene il diagramma a blocchi in Figura 38.3 (dove si nota,
appunto, che z̃i è indice di quanto Mi si discosta da P ) da cui derivano la matrice
di trasferimento tra z̃i e gli ingressi ui , yi :
Figura 38.3.: Diagramma a blocchi relativo all’approccio ad anello di riferimento

z̃i = 




u − ui 
−P Ci Ci   ui 
= (1 + P Ci )−1 
y − yi
P
−1
yi
quindi definendo Ti la matrice di senstitività generalizzata:

Ti = (1 + P Ci )
−1

−P Ci Ci 

P
−1
si ottiene che, se il controllore stabilizza l’impianto, il funzionale Vi (t) è limitato
superiormente da kTi k∞ :
396
di C.Bettini, A.Guiggiani e T.Lorenzetti
38.3 Approccio ad anello di riferimento
Vi (t) 6 kTi k∞
Abbiamo così trovato un primo upper-bound per Vi (t). Notiamo che kTi k∞ può
essere progettato in modo da risultare arbitrariamente piccolo.
Torniamo adesso a lavorare su z̃i ; definiamo il polinomio caratteristico di (P/Ci ):
X∗/i = ARi + BSi
con cui possiamo scrivere:
Si
Si
L̃i zi
(∆Bi ui − ∆Ai yi ) =
X∗/i
X∗/i
(u − ui ) =
e:
(y − yi ) = −
Ri
L̃i zi
X∗/i
con L̃i = [∆Bi ∆Ai ].
Quindi, definito:


1  Si 
Gi =
L̃i
X∗/i −Ri
deve valere:
Vi (t) 6 kGi k∞
Abbiamo così trovato un secondo upper-bound tale che:
Vi (t) 6 kGi k∞ 6

1

X∗/i
considerando che L̃i ∞

Si  L̃
6
L̃i i
∞
∞
−Ri ∞
può essere resa arbitrariamente piccola durante la fase di
di C.Bettini, A.Guiggiani e T.Lorenzetti
397
38.3 Approccio ad anello di riferimento
design.
Introduciamo adesso un lemma che afferma: sia θ → P (θ) una funzione continua
con θ ∈ Θ e Θ compatto, allora ∀β∗ ∃ un numero finito di modelli che, sotto l’ipotesi
di problem feasibility, sono tali da far valere:

1

min
←
− X
i∈ N ∗/i

Si  L̃i 6 β∗ , ∀θ ∈ Θ
−Ri
∞
Quindi:
1. il funzionale Vi (t) è limitato se l’i-esimo controllore stabilizza l’impianto;
2. il funzionale Vi (t) può essere ridotto a piacere se il gruppo dei modelli Θ è
denso.
Concludiamo l’analisi con il lemma di commutazione a isteresi per funzioni mono←
−
tone; considerati una classe di funzionali Vi con i ∈ N e tali che:
1. Vi sono monotonamente non decrescenti;
←
−
2. ∃i ∈ N : Vi (t) < V + < ∞ , ∀t > 0.
Allora la logica di commutazione a isteresi garantisce:
1. ∃tk : σ(t) = σ̄ , ∀t > tk e, quindi, la commutazione finisce in un tempo finito;
2. Vσ̄ (t) 6 V∗ + h , ∀t ∈> Z+ e, quindi, il funzionale scelto al termine delle
commutazioni è limitato;
3. il numero massimo di commutazioni è pari a:
Nσ̄ = N
V∗
h
con N =numero di controllori. Da quest’ultima proprietà si ottiene che se
scegliamo h > V∗ allora il controllore entra sul modello e ci resta (Nσ̄ < 1).
Inoltre, sotto l’ipotesi di problem feasibility si ha:
ky t k 6 c1 + c2 krt k
, ∀t > 0
kut k 6 c1 + c2 krt k
398
di C.Bettini, A.Guiggiani e T.Lorenzetti
38.3 Approccio ad anello di riferimento
con c1 , c2 > 0 e ∀t ∈ Z+ .
di C.Bettini, A.Guiggiani e T.Lorenzetti
399
Parte VII.
Modellistica e controllo di sistemi
meccanici
401
39. Sistemi anolonomi
Per un sistema meccanico ad n gradi di libertà è possibile scrivere l’equazione di
d’Alembert-Langrange:
n
X
k=1
!
d ∂T
∂T
−
− Qk δqk = 0
dt ∂ q̇k ∂qk
dove q è il vettore delle coordinate lagrangiane, T è l’energia cinetica del sistema,
Qk è la k-esima componente delle forze attive (interne ed esterne) e δqk è la k-esima
componente dello spostamento virtuale (ovvero dello spostamento del sistema nello
spazio di configurazione tale da essere compatibile con i vincoli esistenti).
Notiamo inoltre che le forze attive sono distinguibili tra forze non conservative
(nc) e conservative (c), quindi dato che L = T − V (con V energia potenziale
elastica/gravitazionale del sistema) e che:
Qck =
∂V
∂qk
si ottiene:
n
X
k=1
!
d ∂L
∂L
−
− Qnc
δqk = 0
k
dt ∂ q̇k ∂qk
Da questa equazione è possibile generalizzare il problema nel caso in cui siamo in un
sistema olonomo. In tal caso, infatti, le componenti degli spostamenti virtuali sono
mutualmente indipendenti, quindi possiamo eliminare dall’equazione δqk . Deve così
valere, ∀k = 1, ..., n:
403
39.1 Distribuzione
d ∂T
∂T
−
− Qk = 0
dt ∂ q̇k ∂qk
oppure:
d ∂L
∂L
−
− Qnc
k = 0
dt ∂ q̇k ∂qk
Andiamo adesso a definire alcuni strumenti matematici atti a caratterizzare i vincoli
olonomi ed anolonomi.
39.1. Distribuzione
Siano X1 (x), ..., Xk (x) dei campi vettoriali definiti su M, ∀x ∈ M , si definisce
distribuzione ∆ l’insieme delle possibili combinazioni lineari dei campi vettoriali
Xi , i = 1, ..., k:
h
i
∆ = span{X1 , ..., Xn } = range{ X1 X2 . . . Xk }
39.2. Parentesi di Lie (lie bracket)
Dati due campi vettoriali f (x) e g(x) definiti su Rm , la parentesi di Lie è definita
come:
[f, g] =
∂g
∂f
f−
g
∂x
∂x
39.3. Vincoli olonomi
Supponiamo di avere un sistema meccanico caratterizzato da n coordinate lagrangiane soggette a p vincoli (con p < n) del tipo:
hi (q1 , ..., qn ) = 0 , i = 1, ..., p
404
di C.Bettini, A.Guiggiani e T.Lorenzetti
39.4 Vincoli pfaffiani
allora questi vincoli sono detti olonomi. Se i gradienti delle funzioni hi (·) sono tra
loro indipendenti, derivando l’equazione precedente nel tempo si ottiene:
dhi
∂hi
=
q̇ = 0 , i = 1, ..., p
dt
∂q
ovvero che i gradienti delle funzioni hi sono ortogonali al vettore delle velocità q̇.
39.4. Vincoli pfaffiani
I vincoli pfaffiani sono invece vincoli sulle velocità del tipo:
0
ωi q̇ = 0
0
Se esiste una funzione hi tale che ωi =
0
ωi q̇ =
∂hi
,
∂q
allora:
dhi
=0
dt
che, integrata rispetto al tempo, ci fornisce un’informazione su hi che risulta così
essere costante (quindi ci siamo riportati ad un vincolo olonomo, derivante dal fatto
che il vincolo pfaffiano è integrabile).
39.5. Vincoli anolonomi
Se un vincolo pfaffiano non è integrabile, questo si definisce anolonomo. Ad esempio
una sfera vincolata a ruotare senza strisciare sul piano xy è soggetta ai vincoli:


ẋ − Rωy

ẏ
=0
+ Rωx = 0
dove R è il raggio della sfera ed ẋ, ẏ sono le componenti non nulle della velocità di
traslazione del centro della sfera. Il problema in questo caso deriva dal fatto che
di C.Bettini, A.Guiggiani e T.Lorenzetti
405
39.6 Derivata di Lie
la velocità angolare non è la derivata temporale di alcun vettore, ergo questi due
vincoli sono anolonomi.
39.6. Derivata di Lie
La derivata di Lie è la derivata direzionale della funzione scalare h(x) lungo la
funzione f (x), e si ottiene calcolando il prodotto scalare tra il gradiente di h ed
f (x):
Lf h =
∂h(x)
f (x)
∂x
con f (x) un campo vettoriale f = Rn → Rn .
39.7. Distribuzioni completamente integrabili
Una distribuzione ∆formata da m elementi su Rn (con m < n) si dice completamente
integrabile se esistono n−m funzioni scalari hj (tra loro indipendenti) che soddisfano:
Lxi hj =
∂hj (x)
Xi = 0 , ∀i = 1, ..., m; ∀j = 1, ..., n − m
∂x
Il fatto che una distribuzione sia completamente integrabile comporta che le direzioni di movimento dello stato rimangono confinate in una sottovarietà di Rn di
dimensione m in quanto le n − m funzioni (hj ) comportano dei vincoli olonomi sulle
variabili di stato.
39.8. Distribuzioni involutive
Una distribuzione ∆ formata da m elementi si dice involutiva se è chiusa rispetto
all’operazione di lie bracket, ovvero se:
∀Xi ∈ ∆ , ∀Xk ∈ ∆, avviene [Xi , Xj ]∈ ∆
406
di C.Bettini, A.Guiggiani e T.Lorenzetti
39.8 Distribuzioni involutive
Quindi la distribuzione è involutiva se esistono delle funzioni scalari αi,j,k tali che,
∀i, j valga:
[Xi , Xj ] =
m
X
αi,j,k Xk
i=1
39.8.1. Teorema di Frobenius
Condizione necessaria affinchè una distribuzione ∆si completamente integrabile è
che la distribuzione sia involutiva.
39.8.2. Teorema di Chow
Il teorema di Chow fornisce la condizione necessaria e sufficiente per la controllabilità
dei sistemi driftless. Dato il sistema:
ẋ =
m
X
Xi ui (x ∈ Rn , m < n)
i=1
con Xi l’i-esimo elemento di una distribuzione ∆ completamente integrabile, se la
chiusura involutiva di ∆ degli m campi vettoriali in ingresso ha dimensione n allora questo risulta completamente controllabile. In altre parole se un sistema è
completamente anolonomo allora è anche completamente controllabile.
di C.Bettini, A.Guiggiani e T.Lorenzetti
407
40. Controllo Sliding Mode
Il controllo sliding mode è un controllo “a struttura variabile”, tecnica di controllo non lineare con notevoli proprietà di robustezza, riuscendo a risolvere quindi, i
problemid’incertezza dei modelli. Per esempio la modellazione dei robot come corpi
rigidi anzichè flessibili.
Per come è strutturato lo sliding mode control (S.M.C) rischia di non soddisfare la
moderazione del controllo rischiando di sollecitare troppo gli attuatori e rischiando
di andare a eccitare dinamiche non modellate. Per ovviare a questi possibili inconvenienti verranno proposti dei rimedi pratici che permettono di usare la tecnica
S.M.C.
40.1. Controllo di un sistema NL-SISO
Dato un sistema non lineare input affine del tipo:
x(n) = f (x) + b(x)u
dove x(n) = [x ẋ ... x(n−1) ]0 è il vettore di stato che contiene fino alla derivata n−1della
grandezza x.
Ipotesi:
1. f (x) e b(x) incerte ma limitate:→ fm (x) ≤ f (x) ≤ fM (x); bm (x) ≤ b(x) ≤
bM (x)
409
40.1 Controllo di un sistema NL-SISO
2. b(x) funzione di segno nota;
Sia fˆ(x) una stima di f (x) e b̂(x) una stima di b(x), si definisce il modello di
incertezza:
1
b(x)
≤β
F (x) > f (x) − fˆ(x) ; ≤
β
b̂(x)
In generale :
fm (x) + fM (x)
fˆ(x) =
; media
2
b̂(x) =
q
bm (x)bM (x) media geometrica
40.1.1. Definizione di superficie di scivolamento
L’obbiettivo dello sliding mode è portare lo stato in una certa superficie definita
nello spazio di stato, nota come superficie di scivolamento (S.S).
Il controllo deve garantire di portare lo stato sulla superficie in un tempo finito e
tenercelo a dispetto delle incertezze di modello.
Sia assegnata una traiettoria desiderata del sistema nello spazio degli stati, l’obiettivo del sistema di controllo può essere definito come:
x = xd (t)
ẋ = ẋd (t)
410
di C.Bettini, A.Guiggiani e T.Lorenzetti
40.1 Controllo di un sistema NL-SISO
...
(n)
x(n) = xd (t)
sia inoltre x̃ = x − xd , si definisce sliding surface (S.S) la superficie tempovariante
S(t) ∈ Rn come:
d
s= λ+
dt
!(n−1)
x̃
dove λ > 0 è una costante fissata dal progettista. Così definendo la S.S. si ottiene
che la dimnamica dell’errore sulla superficie (s = 0) è LTI e gli autovalori sono tutti
coincidenti e uguali a −λ.
Quindi per esempio un sistema di ordine n = 2 la variabile di sliding vale:
s = λx̃ + x̃˙
Se lo stato è tale da rimanere sulla superficie di sliding, la dinamica dell’errore è
governata dall’equazione s = 0 e, quindi:
λx̃ + x̃˙ = 0 =⇒ x̃˙ = −λx̃
Data una condizione iniziale x̃(t0 ) = x̃0 , x̃ convergerà esponenzialmente a zero con
una legge temporale:
x̃(t) = x̃0 e−λt−t0
di C.Bettini, A.Guiggiani e T.Lorenzetti
411
40.1 Controllo di un sistema NL-SISO
40.1.2. Condizione di scivolamento
Il sistema di controllo deve assicurare che la superficie di sliding venga raggiunta
in un tempo finito e non venga abbandonata. Queste condizioni sono entrambe
soddisfatte se è verificata la condizione di scivolamento:
1 d 2
s 6 −η |s|
2 dt
dove η è un guadagno definito dal progettista. Se la condizione di scivolamento è
soddisfatta, risulta:
sṡ 6 −η |s|
o, meglio:
ṡ sgn(s) 6 −η
che significa che la derivata temporale di s ha segno opposto a s ed è in modulo
maggiore di un numero η.?????non mii torna :D
Quindi ṡ è tale da attrarre lo stato verso S(t) su entrambe le due porzioni dello
spazio di stato caratterizzate rispettivamente da s > 0 ed s < 0.
40.1.3. Tempo di raggiungimento
Riguardo al tempo di raggiungimento di S(t) supponiamo, ad esempio, che valga
s(t0 ) > 0 e che sia tf l’istante in cui lo stato raggiunge la superficie di sliding.
Quindi, integrando, si ottiene:
412
di C.Bettini, A.Guiggiani e T.Lorenzetti
40.1 Controllo di un sistema NL-SISO
ˆtf
ˆtf
ṡdt 6 −η
t0
dt
t0
da cui si ottiene:
(tf − t0 ) 6
|s(t0 )|
η
40.1.4. Sintesi della legge di controllo
La tecnica di sliding mode consiste così nell’applicare un controllo in retroazione
composto da due parti:
• una prima parte basata sul modello e tale da permettere la permanenza dello
stato sulla sliding surface (nel caso di conoscenza esatta del modello);
• una seconda parte che serve a fornire robustezza rispetto alle incertezze di
modello ed al rumore di misura, quindi atta a riportare velocemente il sistema
sulla sliding surface nel caso in cui lo stato tendesse ad abbandonarla.
La legge di controllo viene sintetizzata attraverso due procedimenti distinti e risulta
essere:
u = û + udisc
Controllo model based: La permanenza dello stato sulla superficie di sliding è
data dal soddisfacimento di s = 0 → ṡ = 0.
Sviluppando:
d
d
ṡ =
λ+
dt
dt
!(n−1)
x̃ = x̃(n) + (n − 1)λx̃(n−1) + . . . + λn−1 x̃(1)
di C.Bettini, A.Guiggiani e T.Lorenzetti
413
40.1 Controllo di un sistema NL-SISO
(n)
(n−1)
ṡ = (x(n) − xd ) + (n − 1)λ(x(n−1) − xd
|
) + . . . + λn−1 (ẋ − ẋd
{z
}
r(n)
Si ottiene:
ṡ = x(n) − r(n) = f (x) + b(x)u − r(n) = 0
trovando, per inversione:
u=
1 (n)
r − f (x)
b(x)
Il controllo trovato è quello teorico in realtà si hanno le stime delle funzioni, quindi
si definisce il controllo model-based come:
û ,
1 b̂(x)
r(n) − fˆ(x)
Parte discontinua: La parte discontinua su S(t) (S.S) serve a riportare il sistema
sulla superficie di sliding nel caso in cui esso se ne allontani. Si definisce:
udisc = −k
1
b̂(x)
sgn(s)
con k avente segno concorde con b(x) e scelta in maniera che il controllo u soddisfi
la condizione di scivolamento sṡ 6 −η |s|.
Calcolo di k: Risulta che il segnale di controllo sliding mode è pari a:
u = û + udisc =
414
1 b̂(x)
r(n) − fˆ(x) − k sgn(s)
di C.Bettini, A.Guiggiani e T.Lorenzetti
40.1 Controllo di un sistema NL-SISO
Andiamo adesso a calcolare il guadagno k sulla base del modello di incertezza e la
verifica della condizione di scivolamento:
sṡ = s f (x) + b(x)u − r(n) 6 −η |s|
h
i
"
sṡ = s f (x) + b(x)
sṡ = s
"
b̂(x)
f (x) − fˆ(x) − 1 −
sṡ = s
−
1 b(x)
b̂(x)
"
r
− fˆ(x) − k sgn(s) − r
(n)
b(x)
!
b̂(x)
r
(n)
+ 1−
b(x)
!
b̂(x)
(n)
#
fˆ(x) −
6 −η |s|
b(x)
b̂(x)
#
k sgn(s) 6 −η |s|
!
#
b(x) ˆ
b(x)
f (x) − fˆ(x) − 1 −
f (x) − r(n) −
k sgn(s) 6 −η |s|
b̂(x)
b̂(x)
"
k sgn(s)s 6 −η |s| − s
(
!
#
b(x) ˆ
(n)
ˆ
f (x) − r
f (x) − f (x) − 1 −
b̂(x)
"
!
s b(x) ˆ
b̂(x)
η−
f (x) − fˆ(x) − 1 −
k≥
f (x) − r(n)
b(x)
|s|
b̂(x)
#)
In genere si cerca una maggiorazione, tenendo conto del modello d’incertezza:
k ≥ β η + F (x) + (β − 1) fˆ(x) − r(n)
n
o
di C.Bettini, A.Guiggiani e T.Lorenzetti
415
40.1 Controllo di un sistema NL-SISO
In generale è difficile da determinare, nella pratica ci si accontenta di assegnare a k
un valore sufficientemente grande, validandolo con la simulazione.
40.1.5. Casi particolari:
1. Stime esatte: b̂(x) = b(x); fˆ(x) = f (x) → k ≥ η
2. Se b̂(x) = b(x); → k ≥ η + F (x)
3. Se fˆ(x) = f (x) → k ≥ β η + (β − 1) f (x) − r(n)
n
o
40.1.6. Chattering
Il problema del chattering è un fenomeno per cui, a casua della presenza del controllo
discontinuo, una volta raggiunta la superficie di sliding viene richiesta agli attuatori
una continua ed istantanea commutazione tra ± kb̂ .
Questo fenomeno, oltre ad essere irrealizzabile, sottopone gli attuatori ad uno stress
intollerabile.
Vengono proposte 3 possibili soluzioni:
1) Sostituire sgn(·) con sat(·): tale sostituzione comporta il confinamento dello
stato all’interno di un boundary layer (ovvero una “fascia” sulla quale lo stato può
scivolare).
2) Second (and high order) S.M.C: questo metodo sfrutta il l’aumento di ordine
del sistema. Sia x(n) = f (x) + b(x)u = q (n) derivando il sistema si ottiene:
x(n+1) =
∂b(x)
∂f (x)
ẋ +
ẋ u + b(x)u̇
∂x
∂x
| {z } | {z }
df
dt
db
dt
si definisce: f1 (x, u) ,
416
∂f (x)
ẋ
∂x
+
∂b(x)
ẋ;
∂x
u̇ , v; ξ , [x0 , u0 ]0 allora si ottiene:
di C.Bettini, A.Guiggiani e T.Lorenzetti
40.1 Controllo di un sistema NL-SISO
q (n+1) = f1 (ξ) + b(ξ)v
Si può così procedere alla sintesi del controllo SMC dello stato aumentato col nuovo
(n+1)
ingresso v ammesso che la traiettoria desiderata sia limitata qd
≤ QM < ∞.Il
vantaggio che si ottiene è che se v è un segnale affetto da chattering integrandolo
´
posso ricavare il segnale di controllo u = vdt ottenendo un segnale sicuramente
più smorzato.
3) Peak detector: E’ un metodo pratico. Ipotizzando che all’istante (k − 1) T si
abbia s < 0 e all’instante kT risulti s > 0 ma ṡ ' 0 allora non si agisce sul controllo
(infatti lo stato si trova “abbastanza” vicino alla S.S.)
di C.Bettini, A.Guiggiani e T.Lorenzetti
417
41. Controllo a dinamica inversa
robusta
Si consideri l’equazione caratteristica di un manipolatore antropomorfo a n DOF
(gradi di libertà):
u = B(q)q̈ + C(q, q̇)q̇ + Fv q̇ + Fs sgn(q̇) + g(q) + Jγ
dove B > 0 simmetrica rappresenta la matrice di inerzia; C() tiene conto dei termini di coriolis e centrifughi; Fv , Fs modellano l’attrito e Jγ rappresenta le forze
esternecioè le coppie applicate all’oragano terminale.
In generale, l’interazione con l’ambiente modifica l’equazione ovverro B, C, γeg cambiano, e non si ha disposizione le stime esatte.
Supponiamo γ = 0 e definiamo n(q, q̇) = C(q, q̇)q̇ + Fv q̇ + Fs sgn(q̇) + g(q), quindi:
u = B(q)q̈ + n(q, q̇)
Siano B̂(q), n̂(q, q̇) le stime di B(q), n(q, q̇). Allora il robot possiamo controllarlo
risolvendo la seguente ugualianza:
B q̈ + n = B̂y + n̂
(41.1)
419
41.1 Robustezza:
Definendo y in modo da ottenere la dinamica di errore desiderata:
y = q̈d + kD (q̇d − q̇) + kP (qd − q)
(41.2)
Infatti, dalla Equazione 41.1 si ottiene:
q̈ = B −1 B̂y + B −1 (n̂ − n)
|
{z
q̈ = y − I − B −1 B̂ y + B −1 ñ
η
(41.3)
}
Sostituendo la definizione di y Equazione 41.2 si ottiene:
η = që + kD qė + kP qe
dove qëd = (q̈d − q̈); qė = (q̇d − q̇); qe = (qd − q). η denota il forzamento non lineare
tanto maggiore quanto sono peggiori le stime.
41.1. Robustezza:
Per aggiungere robustezza al controllo per cercare di neutralizzare gli effetti negativi
di η ed ottenere una dinamica di errore lineare stazionaria del II ordine desiderata
si aggiunge un termine W su y:
y = q̈d + kD (q̇d − q̇) + kP (qd − q) + W
420
di C.Bettini, A.Guiggiani e T.Lorenzetti
41.2 Stabilità del sistema di controllo:
ottenendo:
q̈ = y − η + W
(41.4)
që = η − W − kD qė − kP qe
41.2. Stabilità del sistema di controllo:
Per studiare la stabilità del sistema si fa riferimento
al medoto di Lyapunov. Si

e
q
definisce quindi lo stato dell’errore ξ =   considerando la Equazione 41.4 si ha:
qė











i qe
qė
Ø I   qe   Ø  h
Ø 
ξ˙ =   = 
(η − W )
−
kP kD   + 
që
Ø Ø
I
qė
I |
{z
} qė
|
{z
H
}
K
| {z }
D
ξ˙ = (H − DK) ξ + D(η − W )
|
{z
e
H
}
Si definisce la funzione quadrata di Lyapunov:
V = ξ 0 Qξ Q = Q0 > 0
derivando:
0
V̇ = ξ 0 Qξ˙ + ξ˙0 Qξ = ξ 0 Q H̃ξ + D(η − W ) + H̃ξ + D(η − W ) Qξ
h
i
h
di C.Bettini, A.Guiggiani e T.Lorenzetti
i
421
41.3 Superficie discivolamento:
V̇ = ξ 0 QH̃ξ + ξ 0 QD(η − W ) +ξ 0 H̃ 0 Qξ + (η − W )0 D0 Qξ
|
{z
∗
}
|
{z
∗
}
Essendo i termini * due temini scalari uno il trasposto dell’altro, si ottiene:
h
i
V̇ = ξ 0 QH̃ + H̃ 0 Q ξ + 2ξ 0 QD(η − W )
h
i
Deve risultare che V̇ < 0,quindi: QH̃ + H̃ 0 Q < 0 e ξ 0 QD(η − W ) < 0.
Dato che H̃ ha tutti gli autovalori a parte reale minore di zero, allora assegnata
una matrice P > 0 esiste una matrice Q > 0 ed è unica che soddisfa l’equazione di
Riccati:
QH̃ + H̃ 0 Q = −P
Per il secondo termine se vale che ξ ∈ Ker(D0 Q) allora il termine è pari a zero.
41.3. Superficie discivolamento:
Si vuole portare la traiettoria dello stato ad avere errore nullo con una dinamica
lineare e stazionaria quindi definiamo la S.S come:

D Qξ =
0
h
Ø I
i


A B   qe 

=0
B C
qė
B qe + C qė = 0
422
di C.Bettini, A.Guiggiani e T.Lorenzetti
41.4 Costruzione del modello di incertezza:
Se ξ ∈ Ker(D0 Q) allora si verifica che lo stato finisce sulla superficie di scivolamento
D0 Qξ = 0 e non si deve agire con W .
Se ξ ∈
/ Ker(D0 Q) allora ξ 0 QD 6= 0 e dobbiamo agire su W per verificare che
ξ 0 QD(η − W ) ≤ 0 per avere la stabilità secondo Lyapunov.
versore
z }| {
z
con ρparametro di progetto. Quindi per
kzk
ottenere z 0 (η − W ) ≤ 0 deve verificarsi:
Definiamo z = D Qξ, e W = ρ
0
z 0 η ≤ ρ kzk
verificata sicuramente se: kηk ≤ ρ
Per dimansionare kηk e ρ abbiamo bisogno di un modello d’incertezza del sistema.
41.4. Costruzione del modello di incertezza:
Per definire il modello d’incertezza si deveno verificare 4 ipotesi.
Ipotesi: 1) 0 < bm ≤ λi (B −1 ) ≤ bM < ∞ ipotesi del tutto plausibile;
2) kñk < φ ipotesi da prendere con le molle, significa che corse e velocità sono
limitate;
3) B −1 B̂ − I < α < 1 si dimstra che è la conseguenza dell’ipotesi 1;
4) kq̈d k < QM < ∞ condizione dello S.M.C.
Andiamo quindi a verificare Hp1 ⇒ Hp3 e a valutare le stime di αe φ.
Verifica Hp1 ⇒ Hp3: Dalla definizione di η Equazione 41.3 si ha:
η = I − B −1 B̂ y + B −1 ñ = I − B −1 B̂ (q̈d + Kξ + W ) + B −1 ñ
di C.Bettini, A.Guiggiani e T.Lorenzetti
423
41.4 Costruzione del modello di incertezza:
quindi dalla condizione di scivolamento:
ρ ≥ kηk ≤ α(QM + kKk kξk + ρ) +
"
φ
bm
α
φ
ρ≥
(QM + kKk kξk + ρ) +
1−α
bm
#
ecco perchè α < 1.
Stima di α: sappiamo che bm ≤ B ≤ bM quindi
quindi:
1
=
B̂
1
bM
+
1
bM
≤
1
B
≤
1
.
bm
La stima risulta
1
bm
2
2bm
B̂
2bM
2bm
B̂
2bM
≤
≤
→
−1≤ −1≤
−1
bM bm
B
bM bm
b M bm
B
b M bm
quindi α =
bM −bm
bM bm
<1
La stima di φdipende dalla funzione ñ. Se è una funzione limitata si procede
analogalmente al caso precedente.
Questa tecnica presenta le stesse problematiche del controllo sliding mode quindi si
devo utilizzare i rimedi proposti nel capitolo del chattering.
424
di C.Bettini, A.Guiggiani e T.Lorenzetti
42. Visual Servoing
Prima di analizzare la parte applicativa relativa al visual servoing è necessario
classificare i metodi utilizzati.
In base a dove è situata la telecamera di parla di visual servoing eye-in-hand (figura
Figura 42.1.a) oppure eye-to-hand (figura Figura 42.1.b).
Figura 42.1.: Diverse posizioni della telecamera
In genere un approccio eye-in-hand ha una maggiore precisione in quanto la telecamera è vicina all’oggetto, però risulta essere un controllo endpoint open loop (quindi
non si ha reiezione dell’errore) a meno di non calibrare la telecamera rispetto alla
posa della mano.
Al contrario, se usiamo uno schema eye-to-hand anche se abbiamo errori generalmente maggiori (la telecamera è infatti lontana dall’obiettivo) è possibile costantemente
rilevare informazioni correlate alla diversa posa tra oggetto e mano.
425
Visual Servoing
È inoltre possibile classificare gli approcci in base a come lavora l’anello di controllo.
In particolare si può avere un approccio:
• statico: in anello aperto, di tipo “look-and-then-move”;
• dinamico: in anello chiuso, di tipo “look-while-moving”.
oppure in base alla sintesi del segnale di controllo, distinguendo:
• direct servo: se si analizza la scena e si sintetizza il controllo (Tc 6 10ms);
• dynamic look-and-move: se il sistema di asservimento visivo da dei riferimenti
di posizione (e velocità) ad un anello interno che genera poi il segnale di
controllo.
Un’altra catalogazione è effettuata in base a come si calcola l’errore tra ciò che si
desidera raggiungere e dove effettivamente si trova l’end effector. Si sintetizza così
il segnale di controllo:
• position based: dalla scena si estraggono le informazioni della posa e si confrontano con quelle di riferimento in modo da generare i comandi in velocità
dei giunti;
• image based: l’errore si calcola tra “apparenza desiderata” ed “apparenza osservata”, sintetizzando il segnale di ocntrollo nel piano immagine e traducendolo poi in comandi di moto.
Per poter chiudere l’anello di controllo bisogna preliminarmente, all’interno dell’intervallo di campionamento, effettuare due operazioni:
1. filtraggio, per eliminare il rumore;
2. estrazione delle “features”, ovvero di alcune caratteristiche geometriche dell’immagine quali punti, segmenti, contorni, ...
Alcune features possono essere visibili o meno a seconda della posizione della telecamera, quindi è auspicabile avere dei meccanismi per pesare opportunamente le varie
features in funzione della loro affidabilità.
426
di C.Bettini, A.Guiggiani e T.Lorenzetti
42.1 Telecamere
42.1. Telecamere
Il sistema di acquisizione dell’immagine è costituito da tre parti fondamentali:
1. lente: serve a convogliare la luce nel fuoco;
2. sensore: interposto tra lente e fuoco, codifica l’immagine in segnale digitale;
3. frame-grabber: campiona l’immagine ed invia il frame al calcolatore che poi
lo elabora per generare i controlli.
Definiamo “pixel” l’elemento fotosensibile del sensore che converte l’energia luminosa
in energia elettrica; per effettuare tale conversione esistono varie tipologie di sensori
che si basano su diversi principi fisici. I più diffusi sono i sensori CCD e CMOS,
entrambi basati sull’effetto fotoelettrico dei semiconduttori.
42.1.1. CCD
Nei sensori CCD, quando un fotone colpisce la superficie del semiconduttore si
crea un numero di elettroni liberi: tanto maggiore è il tempo di esposizione, tanto
maggiore è la carica accumulata dall’elemento fotosensibile:
ˆTc
carica =
intensità luminosa dt
0
In questo modo il segnale elettrico viene misurato ed elaborato per produrre l’immagine digitale. Il maggior effetto indesiderato legato a questi sensori è quello
denominato “effetto trabocco”: quando un pixel si satura di elettroni va infatti
ad influenzare i pixel vicini provocando effetti di sfocatura dell’immagine. Questo
effetto è causato dal fatto che non vi è indipendenza tra i pixel.
42.1.2. CMOS
I sensori CMOS, più costosi e meno diffusi, sono costituiti da una matrice di fotodiodi
precaricati. Quando un fotone colpisce il fotodiodo, la giunzione del CMOS si scarica
di C.Bettini, A.Guiggiani e T.Lorenzetti
427
42.2 Modelli di telecamera
e, tramite un amplificatore, viene misurato il segnale. Dato che nei sensori CMOS
non si calcola un intergrale, questi non sono caratterizzati da effetto trabocco.
Per quanto riguarda i parametri caratteristici di questi sensori, solitamente si riportano: dimensioni del sensore (in cm), grandezza della matrice di pixel (ad esempio
320x240), dimensione del pixel (in µm), capacità del pixel (in centinaia di elettroni
per µm), fattore di riempimento del sensore (come rapporto percentuale tra area
sensibile ed area totale), sensibilità assoluta (il segnale più piccolo identificabile) e
relativa (il più piccolo incremento di segnale rilevabile).
Dal punto di vista dei rumori che caratterizzano una immagine si individua:
• photon noise: tipico della luce, è un rumore bianco;
• rumore di quantizzazione: dovuto alla conversione A/D delle misure;
• rumore termico: aumenta proporzionalmente alla tensione misurata.
42.2. Modelli di telecamera
Analizziamo la modellazione geometrica della telecamera andando a definire le funzioni che mappano il paesaggio 3D in due dimension.
42.2.1. Basic pinhole
È il modello più semplice possibile (figura Figura 42.2): l’immagine di un punto
P dello spazio si forma su uno schermo grazie ad un unico raggio luminoso che
attraversa un forellino di piccole dimensioni. Minore è l’area del foro, maggiore è la
precisione della mappatura. In realtà, però, diminuendo l’area del foro diminuisce
l’energia luminosa passante (quindi il sensore deve essere più sensibile) ed aumenta
l’effetto bordo.
Se definiamo le coordinate di P =
p=
h
xin yin

i0
h
xc yc zc
i0
nel piano tridimensionale e di
nel piano immagine, data f la distanza focale si ottiene:



xin   f xzcc 
p=
=
f yzcc
yin
428
di C.Bettini, A.Guiggiani e T.Lorenzetti
42.2 Modelli di telecamera
Figura 42.2.: Modello pinhole di telecamera
Si ottiene così:




p̃ = 
f xzcc
f yzcc
zc






=





f 0 0   xc 


 y  = Kp
0 f 0 
 c 
0 0 1
zc
Il problema di questo approccio è che due punti sullo stesso raggio hanno la stessa
proiezione, quindi durante la trasformazione si ha una perdita di informazioni che
rende la mappatura non biunivoca.
42.2.2. CCD full perspective
Analizziamo un modello più realistico che considera l’immagine:



f αx f αx cot(φ) x0   xc 




f αy
p̃ =  0
y0   yc  = Kp
cot(φ)



zc
0
0
1
tenendo conto che αx , αy sono i pixel per unità di lunghezza rispettivamente lungo
la direzione di base e di altezza, φ è l’angolo formato tra i lati del pixel (circa 90°) ed
x0 , y0 sono le coordinate in pixel del punto principale (top-left coordinate system).
di C.Bettini, A.Guiggiani e T.Lorenzetti
429
42.2 Modelli di telecamera
Si definisce inoltre lo skew parameter (parametro di distorsione) αx cot(φ) e l’aspect
ratio ααxy .
Questo modello si adatta bene alle telecamere professionali; se invece si ha a che
fare con telecamere commerciali a basso costo (come le web-cam), occorre raffinarlo
in quanto l’angolo di apertura della telecamera è molto ampio e la lente produce
una distorsione che non può essere trascurata. Si passa così al modello CCD con
distorsione della lente.
42.2.3. CCD con distorsione della lente
Modelliamo il generico punto sul piano immagine:



mx  
m=
=
my
xc
zc
yc
zc


aggiungendoci una distorsione ed ottenendo:


mdx 
= dr m + dt
md = 
mdy
dove dr m è la componente di distorsione radiale e dt quella di distorsione tangenziale.
Queste componenti sono modellate come:
dr = 1 + c1 r2 + c2 r4 + c3 r6
con c1 , c2 , c3 coefficienti radiali, e:


2p1 mx my + p2 (r2 + 2m2x )

dt = 
2p2 mx my + p1 r2 + 2m2y
con p1 , p2 coefficienti tangenziali ed r2 = m2x + m2y .
430
di C.Bettini, A.Guiggiani e T.Lorenzetti
42.3 Calibrazione della telecamera
Quindi il punto immagine risulta essere:
p̃ = Kmd
In questo modo si ottiene però una relazione non lineare tra p̃ e P , i parametri sono
numerosi (5) ed è possibile che si verifichi l’effetto di barreling, che si nota quando
le linee rette tendono a divenire curve (tipico delle web-cam).
Al fine di invertire il processo, è possibile calcolare md = K −1 p̃ per inversione
utilizzando la formula:
mi =
md − dit (m)
dir (m)
che calcola l’errore ed aggiorna dt e dr in modo iterativo in modo tale da portare
l’errore a zero.
42.3. Calibrazione della telecamera
La calibrazione della telecamera serve per individuare i parametri del modello della
telecamera. Viene effettuata su una scena nota:





p̄   Roc tco   p̄o 

=
0 1
1
1
dove p̄ sono le coordinate della telecamera e p̄o quelle dell’oggetto.
Sapendo che per il modello CCD full perspective:



f αx f αx cot(φ) x0   xc 




f αy
p̃ =  0
y0   yc  = Kp
cot(φ)



zc
0
0
1
di C.Bettini, A.Guiggiani e T.Lorenzetti
431
42.3 Calibrazione della telecamera
in coordinate omogenee, si ottiene:





u
v
w






=K
h
h
Roc tco
i



p̄
p̄
 o  = Q o 
1
1
i
con K ∈ R3x3 e Roc tco ∈ R3x4 , da cui deriva Q ∈ R3x4 che è la matrice detta
“camera protection”. La matrice Q dipende da parametri intrinseci, ovvero quelli
della telecamera, e da parametri estrinseci, ovvero quelli dovuti alla roto-traslazione
effettuta tra telecamera ed oggetto. Senza perdere di generalità possiamo passare
alle coordinate omogenee:






u
v
1










=
q11 q12 q13 q14
q21 q22 q23 q24
q31 q32 q33 q34








xo
yo
zo
1








da cui deriva:



u



v




1
= q11 xo + q12 yo + q13 zo + q14
= q21 xo + q22 yo + q23 zo + q24
= q31 xo + q32 yo + q33 zo + q34
moltiplicando le prime due equazioni per la terza si ottiene:



432
xo yo zo 1 0 0 0 0 −xo u −yo u −zo u −u
0 0 0 0 xo yo zo 1 −xo v −yo v −zo v −v
di C.Bettini, A.Guiggiani e T.Lorenzetti
















q11
q12
q13
.
.
.
q44

















=0
42.3 Calibrazione della telecamera
che è un sistema lineare con 12 incognite e due equazioni.
Da una corrispondenza punto griglia / punto immagine è dunque possibile ricavare 2 vincoli lineari nelle incognite qij . Se si ha una griglia con N punti con
N 6, sfruttando tutte le corrispondenze, si arriva ad un sistema lineare omogeneo
sovradimensionato del tipo:
La = 0
con L = [L1 ... LN ] matrice di coefficienti noti ∈ R2N x12 . Il sistema lineare non è
risolvibile esattamente ma si può trovare la soluzione che minimizza il modulo kLak
posto kak = 1. La soluzione a questo problema si calcola tramite decomposizione in
valori singolari (SVD) di L, ovvero calcolando le matrici U, D, V tali che:
L = U DV
0
con D matrice diagonale contenente i valori singolari ordinati in modo decrescente
e tale da ∈ R12x12 e V ∈ R12x12 matrice ortogonale. La soluzione del problema è
data dall’ultima colonna della matrice V che corrisponde al minimo valore singolare:
trovato il vettore a ottimo è possibile ricavare la matrice di calibrazione K come
precedentemente visto.
Notiamo che una volta trovati gli elementi K non ci interessa la stima dei singoli
parametri che li compongono (ovvero αx , αy , f, ...): la loro stima infatti risulterebbe
molto difficoltosa e di scarsa utilità dato che nota K è noto tutto quello che occorre
per misurare con accuratezza le direzioni dei raggi proiettivi.
di C.Bettini, A.Guiggiani e T.Lorenzetti
433
43. Asservimento visivo di robot
Il concetto di asservimento visivo è quello di guidare il sistema verso la configurazione
desiderata attraverso un loop in retrazione che sfrutti lo stream video fornito da una
o più telecamere.
Tutti i sistemi ad asservimento visivo, durante il controllo del sistema, sfruttano
alcune primitive estratte dall’immagine in real-time : le feature immagine.
Le feature immagine possono essere costitute da punti, rette, coniche o altre primitive geometriche rilevabili sul bersaglio inquadrato dalla telecamera. Uno dei
compiti richiesti più comunemente ad un sistema asservito con telecamere è il “positioning task”, che prevede il controllo del posizionamento del sistema rispetto ad
un bersaglio fisso. Per l’esecuzione del positioning task occorre:
1. registrare un’immagine desiderata del bersaglio (immagine di riferimento) corrispondente alla posizione desiderata del sistema;
2. riconoscere la configurazione iniziale del sistema, diversa da quella desiderata,
a cui corrisponde un’immagine attuale del bersaglio;
3. dalle immagini iniziale e desiderata occorre a questo punto estrarre delle feature immagine (ad esempio dei punti ben rilevabili sul bersaglio): per fare ciò
si utilizzano tecniche di elaborazione digitale delle immagini (image processing) che portano generalmente all’identificazioni delle coordinate di corner o
di edge sull’immagine (feature extraction);
4. una volta note le coordinate delle feature nelle due immagini si passa alla fase
del feature matching: si cerca di risolvere il problema delle corrispondenze
fra le feature delle due immagini (ad esempio si cerca di capire qual’è il punto corrispondente dell’immagine desiderata ad un determinato punto nell’immagine iniziale); questo problema risulta molto complesso da automatizzare
435
43.1 Classificazione dei sistemi con asseervimento visivo
e solitamente è l’utente che manualmente individua le corrispondenze tra le
feature;
5. a questo punto si definisce un errore di sistema funzione delle feature immagine
attuali e di riferimento che andrà minimizzato attraverso un’opportuna legge di
controllo; l’input di controllo dovrà eccitare gli attuatori del sistema dinamico
per guidarlo nella configurazione corrispondente all’immagine desiderata in cui
l’errore è nullo;
6. nella fase di controllo ad ogni passo di integrazione o intervallo di campionamento del visual controller si dovrà aggiornare il valore dell’errore: andranno
così stimate in tempo reale le successive coordinate delle feature immagine
correnti. Tale processo di stima prende il nome di “feature tracking” ed è
una procedura automatica (la più dispendiosa di tutte le fasi dal punto di
vista computazionale) che può essere paragonata ad un matching locale delle
feature: nota la posizione delle feature nell’immagine all’istante precedente si
cercano in un intorno abbastanza piccolo (solitamente una finestra quadrata
di N-pixel, se si tratta di punti) le feature nell’immagine corrente.
43.1. Classificazione dei sistemi con asseervimento
visivo
A seconda di come è definito l’errore di sistema, i sistemi ad asservimento visivo
possono essere suddivisi in:
1. Position Based Visual Servoin (PBVS) o 3D Visual Servoing, se l’errore è
definito da primitive cartesiane 3D;
2. Image Based Visual Servoing (IBVS) o 2D Visual Servoing, se l’errore è
definito da primitive immagine 2D ;
3. Hybrid Visual Servoing o 2.5D Visual Servoing, se l’errore è definito sia da
primitive 3D che da primitive imagine 2D.
Nel primo caso (PBVS) la legge di controllo utilizza un errore direttamente legato
alla posa 3D della telecamera: il controllo assegna direttamente la traiettoria 3D del
436
di C.Bettini, A.Guiggiani e T.Lorenzetti
43.1 Classificazione dei sistemi con asseervimento visivo
sistema e si ha, quindi, un pieno controllo della gestione della traiettoria cartesiana
(la legge di controllo risulta di più comune utilizzo). Analizzando gli svantaggi, però,
abbiamo che:
• il bersaglio potrebbe uscire dal campo visivo della telecamera durante il controllo;
• se la telecamera non è perfettamente calibrata si incorre in grandi errori nella stima dei parametri cartesiani della scena con un rapido degrado delle
prestazioni del sistema;
• è necessario il modello 3D del bersaglio.
Nel secondo caso (IBVS), invece, la funzione errore è espressa completamente nello
spazio immagine e quindi il loop di retroazione si chiude tutto nell’immagine. In
tal modo il sistema presenta un’elevata robustezza rispetto ad errori di calibrazione
della telecamera (funziona anche utilizzando una stima approssimativa della marice
K) e non è necessario il modello 3D del bersaglio (quindi è un approccio di tipo
model-free).
Analizzando gli svantaggi, si ha che la stabilità del sistema è assicurata analiticamente dalle attuali leggi di controllo soltanto in un intorno della posizione di equilibrio
(è quindi locale). Inoltre, la traiettoria 3D del sistema non è facilmente individuabile
(potrebbe risultare irrealizzabile) ed il bersaglio potrebbe uscire dal campo visivo
della telecamera durante il controllo.
I sistemi IBVS sono i più robusti rispetto ad errori di calibrazione della telecamera
e del sistema meccatronico.
Nel terzo ed ultimo caso (HVS), l’errore viene calcolato in parte nell’immagine ed in
parte nello spazio 3D, quindi il controllo avviene in maniera disaccoppiata tra rotazione e traslazione della telecamera (inoltre è un approccio model-free). Sono inoltre
analiticamente provate condizioni di stabilità asintotica ed è possibile individuare il
dominio di convergenza del sistema rispetto ad errori di calibrazione.
Analizzando gli svantaggi:
• il sistema presenta alcuni problemi di runore quando si è vicino alla convergenza;
di C.Bettini, A.Guiggiani e T.Lorenzetti
437
43.2 Controllo dei sistemi con visual servoing
• non si controlla il moto 3D del sistema;
• il bersaglio potrebbe uscire dal campo visivo della telecamera durante il controllo.
43.2. Controllo dei sistemi con visual servoing
Facciamo adesso riferimento all’architettura più comunemente usata di sistema asservito: una singola telecamera con configurazione eye-in-hand e bersaglio fisso.
Determiniamo nel sistema k primitive indipendenti xi con i = 1...k, 2D o 3D, funzione delle feature immagine con k > DOF del sistema da controllare (per il controllo
di un manipolatore nello spazio libero avremo k > 6).
Se le feature immagine coincidessero con tutte le k primitive il sistema asservito
sarebbe di tipo Image Based: assumiamo come primitive indipendenti le coordinate
mx ed my di una serie di punti normalizzati sull’immagine (saranno comunque necessari almeno 4 punti immagine, quindi k = 8). Il vettore formato dalle k primitive
identifica lo stato del sistema da controllare definito dal vettore x ∈ Rkx1 . Definito
l’errore del sistema:
e = (xd − x) ∈ Rkx1
con xd lo staton di riferimento ed x lo stato corrente, definito inoltre r(t) come il
vettore che determina posizione ed attitudine della telecamera (r(t) ∈ R6x1 ), risulta
che lo stato del sistema è funzione della posa della telecamera, ovvero:
x = x (r(t))
Sia definito adesso w come il twist-screw della telecamera, composto dalla velocità
di traslazione v e da quella di rotazione ω:


h
i0
v
w =   = vx vy vz ωx ωy ωz
ω
438
di C.Bettini, A.Guiggiani e T.Lorenzetti
43.2 Controllo dei sistemi con visual servoing
allora si ottiene:
ẋ = J (x, r(t)) · w
con J (x, r(t)) ∈ Rkx6 la matrice di interazione (o Jacobiano Immagine) che è una
mappatura lineare locale tra la variazione delle primitive che identificano lo stato
ed il twist-screw della telecamera. In generale J dipende sia dallo stato attuale del
sistema che dalla posa della telecamera.
Per il controllo è così possibile utilizzare una legge del tipo:
w = J ∗ (ke + ẋd )
0
−1
0
con J ∗ = J J
J la pseudoinversa sinistra di J e k un guadagno scalare positivo.
Notiamo che questa legge si può utilizzare soltanto se J è a rango massimo.
43.2.1. Stabilità del sistema
Per indagare sulla stabilità del sistema si usa il metodo di Lyapunov; si definisce quindi una funzione dell’errore di sistema V = V (e) definita positiva detta
Candidata di Lyapunov:
1 0
V = ee
2
da cui deriva che, se la derivata di V rispetto al tempo risulta una funzione definita
negativa, il sistema controllato risulta globalmente stabile. Se invece la derivata di V
è semidefinita negativa, il sistema è localmente stabile e la convergenza è assicurata
solo in un intorno della posizione di equilibrio. Si calcola:
0
0
0
V̇ = e ė = −ke JJ ∗ e + e (I − JJ ∗ ) ẋd
0
0
considerando che il termine −ke JJ ∗ e è semidefinito negativo. Sul segno di e (I − JJ ∗ ) ẋd
non è possibile porre condizioni; questo termine comunque si annulla in tre casi:
1. se ẋd = 0, ovvero se il riferimento è costante;
di C.Bettini, A.Guiggiani e T.Lorenzetti
439
43.2 Controllo dei sistemi con visual servoing
2. se ẋd oppure e appartengono allo spazio immagine J;
3. se J è quadrato, poichè in tal caso il termine I − JJ ∗ è nullo.
Si ottiene così che:
• se non si esegue la pianificazione del riferimento (ẋd = 0) il sistema è localmente
stabile: la convergenza è assicurata analiticamente solo in un intorno della
posizione di equilibrio e si ottiene stabilità asintotica in caso di J quadrato;
• se si esegue una pianificazione del riferimento per il controllo (ẋd 6= 0) il sistema
risulta localmente stabile ma ciò dipende dal tipo di pianificazione effettuata:
vedremo in seguito alcuni esempi. Se J fosse quadrato avremmo anche in
questo caso stabilità asintotica.
Notiamo che l’analisi di stabilità appena svolta è valida solo se J ha rango massimo
(nel caso di matrice quadrata, quando lo Jacobiano non è singolare): le configurazini
in cui , perde rango sono dette singolarità del sistema asservito. Se il sistema passa
vicino ad una configurazione singolare quanto finora detto perde di significato, il
sistema diventa instabile e si ha uno stallo del controllo: tali configurazioni sono
quindi da evitare.
Nei ragionamenti fatti in precedenza si ipotizza inoltre cheJˆ = J, ovvero che lo
Jacobiano stimato per implementare la legge di controllo corrisponda allo Jacobiano
reale: questa condizione risulata molto difficile da realizzare in quanto Jˆ dipende,
oltre che dal vettore di stato, anche dalla posa della telecamera r(t) che di solito
non è totalmente nota; d’altra parte una calibrazione troppo imprecisa può portare
ad una stima di x (e quindi di J) troppo grossolana per poter risolvere il problema.
440
di C.Bettini, A.Guiggiani e T.Lorenzetti
44. Uniciclo
Figura 44.1.: Modello dell’uniciclo
Il sistema caratterizzante il modello dell’uniciclo (figura Figura 44.1) è soggetto ad
un vincolo olonomo:
z=R
dovuto al fatto che il raggio dell’uniciclo è costante. Ciò implica il fatto che l’asse
yv sia parallelo al piano xy ed ortogonale a z.
h
i
h
i0
Sia Jv = Jvx Jvy Jvz il versore di yv e sia k = 0 0 1 il versore ortogonale
lungo z, si ottiene la condizione Jvz = 0 (che si traduce col fatto che l’uniciclo non
può “piegare”). In generale, dato che q ∈ R6 e che ci sono due vincoli onolomi,
allora q ∈ad una sottovarietà di dimensione 4 di R6 . In coordinate lagrangiane si
441
Uniciclo
ottiene:

q=







x
y
θ
ϕ








dove le prime due componenti descrivono il vettore posizione, la terza l’orientazione
dell’asse di avanzamento e l’ultimo l’angolo di rotolamento. Il sistema è inoltre
soggetto a due vincoli anolonomi:
1. l’uniciclo non può traslare lateralmente;
2. il moto è di puro rotolamento.
La prima condizione implica che ṗi xJv = 0, ovvero che l’avanzamento avviene solo
lungo xv , quindi:

i

h
ẋ ẏ 0 

− sin θ
cos θ
0





=0
da cui deriva ẏ cos θ − ẋ sin θ = 0.
La seconda condizione, invece, implone che v = Rϕ̇ quindi, considerato il fatto che
ṗ sia diretta come il versore iv e, quindi, valga la relazione:
0
v = ṗ iv
si ottiene:
0
ṗ iv = Rϕ̇
da cui:

h
442
i

ẋ ẏ 0 

cos θ
sin θ
0





= ẋ cos θ + ẏ sin θ = Rϕ̇
di C.Bettini, A.Guiggiani e T.Lorenzetti
44.1 Modello cinematico
I vincoli appena ricavati possono essere scritti in forma:

0


h q̇
1
0


h2 q̇
0
0
= 0 ⇒ h1 =
= 0 ⇒ h2 =
h
con q̇ = ẋ ẏ θ̇ ϕ̇
nucleo di h(q).
i0
− sin θ cos θ 0 0
cos θ sin θ 0 −R
. Quindi le velocità ammesse sono quelle appartenenti al
44.1. Modello cinematico
Come già accennato le velocità ammesse sono quelle ∈ ker (h(q)), quindi è necessario
trovare una possibile base di h(q) in modo tale da descrivere le velocità ammissibili
come combinazione lineare della base. Si ottiene una possibile base:
g1 (q) =
h
R cos θ R sin θ 0 1
g2 (q) =
h
0 0 1 0
i0
i0
da cui si ottengono le velocità ammissibili in forma:
q̇ = g1 (q)u1 + g2 (q)u2
È evidente da come è stata presa la base che u2 è la velocità di sterzata mentre u1
è la velocità angolare. Se non ci interessa ϕ̇, ovvero non ci interessa conoscere l’angolo di rotazione ma solo la velocità dell’uniciclo, è possibile semplificare il modello
cinematico in:



ẋ



ẏ




θ̇
= R cos θu1
= R sin θu1
= u2
di C.Bettini, A.Guiggiani e T.Lorenzetti
443
44.2 Parcheggio dell’uniciclo
da cui si ottiene:
g1 (q) =
h
R cos θ R sin θ 0
g2 (q) =
h
0 0 1
i0
i0
Analizziamo adesso la controllabilità del sistema calcolando la lie-bracket di g1 , g2 :
[g1 g2 ] =
∂g2
∂g1
g1 −
g2
∂q
∂q
da cui si ottiene:




[g1 g2 ] = 
R sin θ
−R cos θ
0





il cui ordine è 2, quindi per il teorema di Chow il sistema è controllabile.
44.2. Parcheggio dell’uniciclo
Figura 44.2.: Parcheggio dell’uniciclo
Le equazioni di controllo dell’uniciclo sono:
444
di C.Bettini, A.Guiggiani e T.Lorenzetti
44.2 Parcheggio dell’uniciclo



ẋ



ẏ




θ̇
= R cos θ u1
= R sin θ u1
= u2
Per effettuare il parcheggio è necessario ridefinire le variabili di stato e controllo in
maniera opportuna per il caso del parcheggio. Ridefiniamo le variabili di stato:



x1



x2




x
3
=x
= tan θ
=y
Ne deriva che l’equazione di stato sono:



ẋ1


ẋ2




ẋ
3
= ẋ = R cos θ u1 = v1
=
d
dt
(tan θ) =
1
θ̇
cos2 θ
= ẏ = R sin θ u1 =
= v2
R sin θ u1
v
R cos θ u1 1
= tan θv1 = x2 v1
I nuovi controlli sono:


v1
= R cos θu1

v2
=
u2
cos2 θ
Gli stati x1 e x2 sono controllati direttamente e quindi è facile ricondursi allo stato
desiderato tamite i controlli v1 v2 , mentre il terzo stao x3 è dipendente.
Quindi una possibile strategia di parcheggio è di prevedere una prima fase in cui si
raggiungono gli stati desiderati x1d e x2d senza curarsi dello stato x3 , successivamente
raggiunge lo stato desiderato x3d entro un tempo T (si noti in tale comportamento).
di C.Bettini, A.Guiggiani e T.Lorenzetti
445
44.2 Parcheggio dell’uniciclo
44.2.1. Strategia di controllo
Le condizioni iniziali sono:



x(0)



=0
y(0) = y0




θ(0) = 0
>0
mentre gli stati desiderati sono:



xd (T )


yd (T )




θ (T )
d
=0
=0
=0
Supponiamo di controllare il sistema con un segnale sinusoidale con ω = 2π/T :


v1
= a sin(ωt) = ẋ1

v2
= b cos(ωt) = ẋ2
integrando, siricava:
ˆ
x2 =
ẋ2 dt =
b
cos(ωt) + c
ω
con c = 0 considerando le condizioni iniziali. Allora si ottiene:
ẋ3 =
446
ba 2
sin (ωt)
ω
di C.Bettini, A.Guiggiani e T.Lorenzetti
44.3 Controllo dell’uniciclo lungo una traiettoria
Considerando che la manovra deve essere eseguita nel tempo T si ottiene:
ˆT
yd (T ) − y(0) = x3d (t) − x3 (0) =
0
ab
ba 2
sin (ωt)dt = 2 π
ω
ω
ma yd (T ) − y(0) < 0 quindi a e b devono essere discordi.
44.3. Controllo dell’uniciclo lungo una traiettoria
Per traiettoria si intende l’insieme del percoso e la legge oraria. Siano
h
x y θ
i0
le
i0
h
coordinate di dove si trova il veicolo e xd yd θd le coordinate di dove si vuole
portare il veicolo, è possibile sintetizzare una legge di controllo considerando l’errore
in terna veicolo:

v


e 1


v
e2




e v
3
= xvd
= ydv
= θd − θ
Grazie alla matrice di trasormazione possiamo esprimere la dinamica dell’errore in
funzione della terna base:


Rv0





=
ev1
ev2
1



Cθ −Sθ 

→ Tv0 = 

Sθ Cθ










=
xvd
xvd
1








Tv0 

=
xd
yd
1
Rv0
0 0
x
y
1







→
Tv0
=




[Rv0 ]
0
0 0
 
x
− [Rv0 ]   

y 
0
1






Si ottiene:
di C.Bettini, A.Guiggiani e T.Lorenzetti
447
44.3 Controllo dell’uniciclo lungo una traiettoria

v


e1


v
e2




ev
3
= xd Cθ − xCθ + yd Sθ − ySθ
= yd Cθ − yCθ + xSθ − xd Sθ
= θd − θ
Esplicitando la dinamica dell’errore rispetto alle velocità v e vd sapendo che:




ẋ 
Cθ 

= v
ẏ
Sθ




ẋ
Cθd 
 d  = vd 
ẏd
Sθd
e derivando la dinamica dell’errore si ottiene la dinamica della velocità dell’errore:



ėv1



v
ė2




ėv
3
= vd cos ev3 − v + ev2 θ̇
= vd sin ev3 + ev1 θ̇
= θ̇d − θ̇
dove gli ingressi v e θ̇ sono i controllo “naturali” dell’uniciclo. Per ottenere un
controllo stabile si deveno calcolare v e θ̇ in modo tale che la dinamica dell’errore
sia globalmente asintoticamente stabile nell’origine (regolazione a zero dell’erroe di
inseguimento).
44.3.1. Studio della stabilità del controllo
Per studiare la stabilità del controllo si fa riferimento al metodo diretto di Lyapunov.
Si faccia riferimento alla seguente funzione:
1
V (ev1 , ev2 , ev3 ) = (ev1 , +e) + k(1 − cos ev3 ) > 0
2
448
di C.Bettini, A.Guiggiani e T.Lorenzetti
44.3 Controllo dell’uniciclo lungo una traiettoria
Derivando si ottiene:

i
h
d
∂V

V = v ėv = ev1 ev2 k sin ev3 

dt
∂e
ėv1
ėv2
ėv3





Sostituendo:
V̇ = ev1 vd cos ev3 − v + ev2 θ̇ + ev2 vd sin ev3 + ev1 θ̇ k sin ev3 θ̇d − θ̇
Prendendo i controlli nella seguente forma:


v
= k1 ev1 + vd cos ev3

θ̇
= θ̇d +
1
v ev
k3 d 2
+ sin ev3
Si ottiene:
V̇ = k1 (ev1 )2 − k3 sin2 ev3 ≤ 0
La funzione V̇ risulta essere semidefinita negativa perchè non dipende da ev2 , quindi
si potrebbe dedurre che esistono situazioni di stallo in cui si verifichi ev1 = 0 ; ev2 6=
0 ; ev3 = 0. Studianodo il sistema si notà però che lo stallo si verica solo se vd = 0 e
θ̇d = 0.
di C.Bettini, A.Guiggiani e T.Lorenzetti
449
45. Controllo Fuzzy
La logica fuzzy costituisce una tecnica molto più vicina al ragionamento umano ed al
linguaggio naturale rispetto alle tradizionali tecniche di sintesi di sistemi di controllo:
l’idea di generalizzare l’esperienza umana, applicata al controllo automatico dei
sistemi, ha dato luogo a queste tipologie di controllo che contemplano l’uso di regole
linguistiche con predicati non deterministici.
Si analizza adesso la struttura di un controllore fuzzy. La legge di controllo che
descrive la relazione tra l’ingresso e l’uscita del controllore è ottenuta applicando
un meccanismo di inferenza fuzzy, detto anche logica delle decisioni, composto da
regole del tipo:
IF condizione1 AN D condizione2 T HEN uscita
La base della conoscenza e la logica delle decisioni trattano variabili fuzzy, per cui il
controllore è completato da interfacce di fuzzificazione e di defuzzificazione, le quali
permettono di interagire con l’ambiente esterno caratterizzato da variabili ordinarie
(dette crisp).
451
Controllo Fuzzy
Figura 45.1.: Schema generico di un controllore fuzzy
Si descrivono di seguito i quattro blocchi che costituiscono un controllore fuzzy:
1. Fuzzificazione;
2. Regole fuzzy;
3. Inferenza fuzzy;
4. Defuzzificazione.
45.0.2. Fuzzificazione
L’interfaccia di fuzzificazione ha il compito di misurare le variabili in ingresso al
controllore, eventualmente discretizzandole, e di convertire i valori numerici dei dati
in ingresso in opportuni valori linguistici ai quali corrispondono insiemi fuzzy.
Nelle applicazioni di controllo si utilizza solitamente una fuzzificazione di tipo singleton:
al valore numerico misurato xi si fa corrispondere un valore fuzzy con funzione di
appartenenza unitaria nel punto x = xi e nulla per tutti gli altri valori della variabile.
452
di C.Bettini, A.Guiggiani e T.Lorenzetti
Controllo Fuzzy
In applicazioni in cui i segnali di ingresso sono notevolmente affetti da rumore di
misura può tuttavia accadere che la fuzzificazione sia realizzata per mezzo di funzioni di appartenenza triangolari centrate intorno al valore misurato, che portano
ad un meccanismo di inferenza più generale e quindi più complesso rispetto al caso
precedente.
Un altro compito dell’interfaccia che realizza la fuzzificazione è la scelta di una scala
di conversione per passare dagli intervalli in cui spaziano le variabili di ingresso
agli universi del discorso corrispondenti (normalizzazione). Questa trasformazione è
effettuata tramite guadagni posti in ingresso al controllore, la cui taratura costituisce
uno dei problemi cruciali del progetto di un controllore fuzzy. Un analogo guadagno,
come si vedrà, è presente in uscita all’interfaccia di defuzzificazione.
In genere, le variabili su cui agisce l’interfaccia di fuzzificazione, ossia gli ingressi del
controllore, sono l’errore (rispetto ad un dato set − point) e la sua derivata.
45.0.3. Regole fuzzy
La base della conoscenza di un controllore fuzzy contiene l’insieme delle regole in
base alle quali le variabili di controllo devono agire sul sistema per imporre il comportamento desiderato. Le regole fuzzy sono di carattere linguistico e vengono espresse
in base ad operatori specializzati.
Per definire gli algoritmi linguistici di controllo, che costituiscono le regole del
controllore, è possibile suddividere gli ingressi in insiemi fuzzy che individuano le
etichette rappresentative per le variabili di ingresso e di uscita.
Si noti che il numero fuzzy di etichette in cui si divide un universo (cardinalità)
è di importanza fondamentale, poiché esso influenza la sensibilità del dispositivo
ed il massimo numero di regole ammissibili: si deve, quindi, cercare un opportuno
compromesso tra complessità e controllo.
In generale, nelle applicazioni di controllo si considera una cardinalità dispari, poiché
generalmente le variabili hanno un universo simmetrico rispetto all’origine degli assi.
Oltre al numero di etichette fuzzy associate ad una variabile linguistica, è fondamentale il tipo di funzione di appartenenza che le descrive. Si possono così definire
di C.Bettini, A.Guiggiani e T.Lorenzetti
453
Controllo Fuzzy
funzioni di appartenenza aventi varie forme: triangolare, trapezoidale e gaussiana
sono tra le più diffuse.
Per quanto riguarda la forma delle regole, solitamente viene utilizzata adottata la
seguente:
SE x1 È A1 E x2 È A2 E . . . , ALLORA y È B”
dove le variabili xi sono gli n ingressi del controllore ed y è l’unica uscita.
In generale la base delle regole deve essere essenziale, in modo da evitare sprechi
di tempo di elaborazione a causa di regole ridondanti, e non contraddittoria, in
modo da evitare la produzione di risultati inconsistenti. Inoltre è opportuno che
ogni regione dell’universo di controllabilità di una variabile di ingresso sia coperta
da almeno una regola. Si parla in questo caso di tavola delle regole completa; in
alcuni casi è possibile rinunciare alla completezza per ottenere una maggiore velocità
computazionale.
45.0.4. Inferenza fuzzy
Il motore di inferenza (o logica delle decisioni) di un controllore fuzzy elabora l’intervento di controllo opportuno in base alle condizioni del sistema nell’istante di
tempo considerato attraverso la procedura di inferenza.
Le tre principali scelte di progettazione da effettuare per definire il meccanismo di
funzionamento della logica delle decisioni sono: operatore di congiunzione (AN D),
di aggregazione (OR) e di implicazione (⇒).
Il termine di congiunzione (AN D) è rappresentato da una norma triangolare, per la
quale l’operatore più diffuso è il minimo.
Il termine di aggregazione che mette in relazione le diverse regole di inferenza agenti
contemporaneamente ad un istante di tempo (OR) è rappresentato da una co-norma
triangolare, per la quale l’operatore più diffuso è il massimo.
454
di C.Bettini, A.Guiggiani e T.Lorenzetti
Controllo Fuzzy
Il motore di inferenza opera secondo lo schema illustrato in figura Figura 45.2: per
ogni regola viene calcolato il valore di verità dell’antecedente congiungendo i gradi
di appartenenza delle etichette nelle variabili in ingresso. Si calcola il valore di verità
del conseguente applicando la regola di composizione e, infine, i valori di verità dei
conseguenti vengono aggregati determinando l’insieme fuzzy della conclusione.
Figura 45.2.: Esempio di funzionamento di inferenza fuzzy
Vi sono due tipi di inferenza tra quelli maggiormente usati: quello di Mamdani e
quello di Sugeno ([?]). La differenza fondamentale tra i due riguarda come vengono determinate le uscite: l’inferenza di Mamdani, infatti, si basa sulle classiche
regole di inferenza fuzzy fra antecedente e conseguente descritti da insiemi fuzzy che
rappresentano i contesti linguistici; l’inferenza di Sugeno, invece, è tale per cui gli
antecedenti fuzzy (linguistici) implicano dei conseguenti funzionali (deterministici).
È possibile elencare i vantaggi dei due metodi. Per il metodo Mamdani si ha:
di C.Bettini, A.Guiggiani e T.Lorenzetti
455
Controllo Fuzzy
• intuitività;
• elevata diffusione;
• buon funzionamento nel caso di controllori per sistemi non lineari;
• ottima adattività ad ingressi umani.
I vantaggi del metodo di Sugeno sono, invece:
• efficienza computazionale;
• buoni risultati se associato a tecniche lineari (come i controllori PID);
• superficie di uscita continua.
La scelta per la realizzazione del sistema di controllo è ricaduta sul metodo di
Mamdani.
45.0.5. Defuzzificazione
L’interfaccia di defuzzificazione converte le conclusioni del processo di inferenza dalla
forma linguistica (espressa in termini di funzione di appartenenza di un insieme
fuzzy) alla forma numerica.
Anche in questa interfaccia sono presenti i guadagni di normalizzazione, che permettono di passare dagli universi del discorso delle variabili di uscita del controllore
agli intervalli corrispondenti delle variabili numeriche. I metodi di defuzzificazione
presenti nella letteratura del settore sono moltissimi: i due più utilizzati sono il
metodo del Centro di Gravità (COG) e quello della Media dei Massimi (M OM ).
45.0.5.1. Metodo del Centro di Gravità (COG)
Il valore numerico ottenuto dalla defuzzificazione attraverso questo metodo è il centro
di gravità dell’insieme fuzzy fornito dalla logica delle decisioni. In termini matematici, se l’universo del discorso della variabile di uscita y è l’intervallo continuo U , si
ha:
456
di C.Bettini, A.Guiggiani e T.Lorenzetti
Controllo Fuzzy
´
y0 =
U
y · µB (y) dy
´
µB (y) dy
U
L’integrale viene calcolato su tutto l’intervallo (U ), y0 rappresenta il valore crisp
dell’uscita fornito dal metodo COG e µB (y) rappresenta l’insieme fuzzy ottenuto dal
processo di inferenza utilizzato.
45.0.5.2. Metodo della Media dei Massimi (MOM)
Utilizzando la precedente notazione, il valore numerico ottenuto dal processo di defuzzificazione della media dei massimi è dato dalla media dei punti per cui la funzione
di appartenenza dell’insieme fuzzy fornito dal motore di inferenza è massimo:
y0 =
Pm
j=1
yj
m
dove yj sono i punti per cui la funzione di appartenenza dell’insieme è massima, in
numero pari ad m.
Si procede adesso ad analizzare gli aspetti relativi al controllo ed alle prestazioni del
sistema seguendo diversi percorsi logici.
Inizialmente è stato applicato un controllo di tipo fuzzy per l’inseguimento di una
velocità di riferimento, ma questo approccio ha fornito prestazioni inadeguate dal
punto di vista del comfort ed è risultato poco pratico.
Si è quindi deciso di applicare un controllo fuzzy che tenga conto di più indici contemporaneamente (comfort, consumi, puntualità e safety) al fine di conseguire risultati
migliori da un punto di vista pratico. Implementato tale controllore, l’ottimizzazione
delle maschere fuzzy è stata eseguita tramite gli algoritmi genetici.
di C.Bettini, A.Guiggiani e T.Lorenzetti
457
Controllo Fuzzy
45.0.6. Un esempio di logica fuzzy
In figura Figura 45.3 sono rappresentate due variabili linguistiche, rispettivamente A
e B, definite su un insieme di sette valori ciascuna. I valori sono insiemi fuzzy, definiti
da funzioni di appartenenza le cui etichette indicano rispettivamente Negative Large
(NL), Negative Medium (NM), Negative Small (NS), Zero (ZE), Positive Small (PS),
Positive Medium (PM) e Positive Large (PL).
Si noti che le funzioni di appartenenza, in accordo a [?], hanno tutte la stessa forma
e si distribuiscono uniformemente sull’intervallo di definizione delle variabili reali
associate. Questa è una scelta di progetto comune, che tra l’altro ottimizza la
resistenza del modello al rumore, ma non è affatto obbligatoria: il progettista può
definire le forme che preferisce distribuendole a piacere sull’intervallo di definizione.
Figura 45.3.: Esempio di variabili fuzzy in ingresso (A,B) ed in uscita (X)
Si noti in figura Figura 45.3 la presenza di un’altra variabile linguistica (X) usata
per l’uscita e tale da assumere valori su un insieme di maschere fuzzy contenenti
un solo elemento ciascuno e chiamati “singleton”. L’uso di questo tipo di valori
fuzzy per i conseguenti di regole fuzzy è comune nel controllo fuzzy e non inficia
particolarmente la qualità del modello, semplificandone il calcolo.
Le regole che sono considerate nell’esempio sono tre; più precisamente:
1. SE (A è PL) E (B è PS) ALLORA (X è PM)
2. SE (A è PM) E (B è PS) ALLORA (X è PS)
458
di C.Bettini, A.Guiggiani e T.Lorenzetti
Controllo Fuzzy
3. SE (A è PM) E (B è PM) ALLORA (X è PM)
In realtà le regole da definire dovrebbero essere tante quante le possibili combinazioni
dei due ingressi (A, B). Essendo presenti 7 maschere e due ingressi, le combinazioni
totali risulterebberi essere 72 = 49: partendo dal caso (A è NL) E (B è NL),
si dovrebbe proseguire definendo i casi (A è NL) E (B è NM) , (A è NL) E (B
è NM) e così via, fino ad arrivare all’ultimo caso in cui (A è PL) e (B è PL).
Nella pratica è possibile definire un numero minore di associazioni antecedenteconseguente (in modo da alleggerire il carico computazionale) a patto di conoscere
a priori le casistiche da escludere.
Si va così a riempire una tabella in cui ad ogni grado di verità, pesato come in figura
Figura 45.4, viene associata una uscita X il cui grado di appartenenza è a sua volta
determinato dalla combinazione delle variabili in ingresso.
Durante la fuzzificazione i valori reali in ingresso vengono interpretati in termini di
parametri fuzzy (figura Figura 45.4). Nell’esempio in figura si nota che per la variabile A il valore in ingresso è appartenente all’insieme PL con grado 0.2 e all’insieme
PM con grado 0.8; per la variabile B, invece, il valore in ingresso è PM con grado
0.4 e PS con grado 0.6.
Figura 45.4.: Associazione e pesi relativi alle variabili fuzzy in ingresso
I valori delle diverse variabili vengono combinati con l’operatore and (congiunzione)
per ottenere il valore complessivo dell’antecedente, che indica in sostanza quanto le
di C.Bettini, A.Guiggiani e T.Lorenzetti
459
Controllo Fuzzy
condizioni di attivazione della regola sono ben rappresentative dei valori di ingresso
al sistema. L’operatore utilizzato è qui il minimo ed i risultati sono riportati in
figura Figura 45.5.
Ottenuto il valore dell’antecedente, occorre trasmetterlo al conseguente. In generale,
è possibile associare un valore alle regole che ne indichi l’importanza. È il numero che
in figura Figura 45.5 è riportato sotto al termine “then”. Questo viene combinato
con il valore dell’antecedente, ancora una volta con un operatore di minimo. Il valore
così ottenuto passa al conseguente.
Figura 45.5.: Esempio di associazione antecedente-conseguente nella logica fuzzy
In conclusione, quindi, con l’operazione min − max prende il minimo tra gli antecedenti ed il massimo tra i conseguenti. Il significato dell’operazione è: il conseguente ha un peso che dipende sia da quanto la regola è adeguata per rappresentare
una certa situazione definita dagli ingressi, sia da quanto è importante in generale.
Nell’esempio in questione, pur essendo presente una regola con valore di impor-
460
di C.Bettini, A.Guiggiani e T.Lorenzetti
Controllo Fuzzy
tanza diverso da 1, questo non ha avuto alcun effetto in quanto la combinazione
degli antecedenti è minore e l’operatore utilizzato (il minimo) seleziona il valore più
piccolo.
Come si può notare anche in questo semplice esempio, può darsi che ci siano diverse
regole che hanno lo stesso conseguente ma antecedenti diversi. Questo è solitamente
causato dal fatto che i conseguenti sono associati a pesi diversi. Occorre aggregare
i diversi pesi calcolati ottenuti per ogni conseguente e questo viene fatto con un
operatore (ad esempio di massimo). Il risultato finale dell’inferenza fuzzy risulta
così essere:
(X IS PM) con grado 0.4 AN D (X IS PS) con grado 0.6
Il processo inferenziale è terminato, ma ci si può riportare a un valore numerico
per la variabile di uscita associata alla variabile linguistica presente nel conseguente sfruttando la defuzzificazione. In questo esempio, per la defuzzificazione viene
scelta la semplice media pesata, ottenendo il valore riportato in figura Figura 45.6
e calcolato come:
X=
(10·0.6 + 20·0.4)
= 14
(0.6 + 0.4)
Figura 45.6.: Associazione delle variabili e defuzzificazione
di C.Bettini, A.Guiggiani e T.Lorenzetti
461
Controllo Fuzzy
Per riassumere e focalizzare quanto presentato nell’esempio, si può supporre che A
rappresenti un errore di temperatura e B un errore di pressione in un processo industriale e che X sia una variabile di controllo, per esempio, la quantità di acqua di
raffreddamento rispetto ad un riferimento. Sono state utilizzate delle regole che stabilivano relazioni tra queste grandezze, ad esempio R1: “Se l’errore di temperatura
è positivo ed elevato, e l’errore di pressione è positivo e piccolo, allora la quantità
di acqua di raffreddamento è positiva e media rispetto al valore di riferimento”. Applicando queste regole agli errori di temperatura e pressione introdotti nel sistema
come numeri reali, si è ottenuto un valore finale della portata che è a sua volta scelto
nell’insieme dei reali.
Si noti infine che, come già accennato, esistono molteplici metodi per associare le
variabili di ingresso e di uscita. Nel progetto del nostro controllore è stata utilizzata
una tecnica min − max con defuzzificazione pesata.
462
di C.Bettini, A.Guiggiani e T.Lorenzetti
46. Modello matematico di un
motore
Analizziamo adesso il modello matematico di un motore. Data l’equazione del
motore:
va = Ra ia + La
dia
+ fcem
dt
dove Va è la tensione di armatura (che alimenta il motore) ed fcem è la forza contro
elettromotrice esprimibile in forma:
fcem = km ω
con ω la velocità angolare dell’albero del motore. Trasformando si ottiene:
Ia =
1
[Va − km Ω]
Ra sLa
Allo stesso modo si scrive l’equazione del generico carico applicato al motore avente
inerzia J ed attrito D:
J ω̇ = −Dω + τm
con τm = km Ia che è la coppia meccanica erogata dal motore. Trasformando con
Laplace si ottiene:
Ω=
1
τm
Js + D
463
Modello matematico di un motore
che, assieme all’equazione precedente, fornisce la funzione di trasferimento del motore collegato al carico (come illustrato in Figura 46.1):
P (s) =
θ
km
=
2 ]
Va
s [(Ra + sLa ) (D + sJ) + km
da cui si ottiene:
P (s) =
km
· h
La J s s2 +
1
(La D+Ra J)
s
La J
+
2
Ra D+km
La J
i
Figura 46.1.: Schema a blocchi del sistema motore con carico
464
di C.Bettini, A.Guiggiani e T.Lorenzetti
Parte VIII.
Sistemi dinamici non lineari
465
47. Modelli a Equazioni di Stato e
I/O
I modelli a equazioni di stato sono in forma:
ẋ = f (x) , x ∈ Rn
e quindi si ha un’unica equazione di ordine n; al contrario i modelli in forma I/O
sono:
(n)
(n−1)
y = F y, ẏ, ÿ, ... , y
,y∈R
e sono caratterizzati da n equazioni di primo ordine. Se il sistema in esame è lineare,
il passaggio tra i due modelli è semplice ed immediato; se il sistema è non lineare
bisogna che valgano determinate condizioni. In particolare è sempre possibile passare
da rappresentazione I/O a rappresentazione di stato ma non il contrario (ad esempio
se vi sono cancellazioni).
Analizziamo il caso lineare:


ẋ
= Ax + Bu

y
= CT x
diventa
→
N (s)
y
= C T (sI − A)−1 B =
u
D(s)
Per riportare un sistema non lineare in forma ingresso-uscita è necessario prima di
467
Modelli a Equazioni di Stato e I/O
tutto adattarlo in forma di Lurie (figura Figura 47.1):


ẋ
= Ax − Bn(C T x)

y
= CT x
Figura 47.1.: Sistema in forma di Lurie
isolando la non linearità.
Una condizione sufficiente affinchè esista una rappresentazione di stato di un sistema
non lineare è l’avere non linearità tutte dello stesso tipo. Ad esempio:
ẋ = Ax + bϕ(x) , ϕ ∈ R : {bϕ(x) : Rn → R}
da cui si ricava:
x = (sI − A)−1 Bϕ(x) =
adj(sI − A)
Bϕ(s)
det(sI − A)
in modo da avere una rappresentazione come in figura Figura 47.2.
Figura 47.2.: Esempio di sistema non lineare in forma di stato
468
di C.Bettini, A.Guiggiani e T.Lorenzetti
Modelli a Equazioni di Stato e I/O
Un’altra condizione sufficiente è avere sistemi del tipo:


ẋ
= Ax + f (y)

y
= CT x
con f : R → Rn , in modo da poter riportare il sistema come in figura Figura 47.3.
Figura 47.3.: Esempio di sistema non lineare in forma di stato
Analizziamo l’esempio di un modello preda-predatore:


ẋ
= ax − bxy

ẏ
= −cy + dxy
ed introduciamo uno stato ausiliario z = x + y. In questo modo, dopo aver
normalizzato in (b, d) per semplicità di calcolo, possiamo scrivere:


ẋ
= ax − bxy

ż
= ẋ + ẏ = (a + c) x − cz
da cui deriva che x =
ż+cz
a+c
e, quindi:
a
ż + cz
ż + cz
ẋ =
(ż + cz) −
z−
a+c
a+c
a+c
in questo modo siamo riusciti a riportare tutto in funzione di z.
di C.Bettini, A.Guiggiani e T.Lorenzetti
469
Modelli a Equazioni di Stato e I/O
Analizziamo inoltre l’equazione di Var Der Pol:


ẋ
=y

ẏ
= −x − [(1 − x2 )y] µ
e sfruttiamo il fatto che ẏ = ẍ:
ẍ + µẋ + x = µx2 ẋ
Quindi possiamo rappresentare il sistema come in figura Figura 47.4.
Figura 47.4.: Diagramma a blocchi equivalente del sistema di Van Der Pol
Il problema è che come rappresentato in figura Figura 47.4 la parte non lineare è
f (x, ẋ), quindi un sistema così rappresentato non è in forma di Lurie. Possiamo
usare un piccolo espediente ponendo:
x2 ẋ =
d1 3
x
dt 3
da cui si ottiene lo schema, stavolta in forma di Lurie, illustrato in figura Figura 47.5.
Figura 47.5.: Diagramma a blocchi equivalente del sistema di Van Der Pol
470
di C.Bettini, A.Guiggiani e T.Lorenzetti
Modelli a Equazioni di Stato e I/O
Un ultimo esempio è quello del modello di Lorentz, in cui sono presenti tre stati
anzichè due:



ẋ



ẏ




ż
= −σx − σy
= ρx − y − xz
= −µz + xy
essendo z lineare in z, è possibile sostituirla in y e tornare al modello in due variabili
con una non linearità. Si sfrutta:
ż = −µz + xy ⇒ z = (s + µ)−1 xy
e si arriva ad ottenere:


ẋ
= −σx − σy

ẏ
= ρx − y − (s + µ)−1 x2 y
che è già in forma di Lurie.
di C.Bettini, A.Guiggiani e T.Lorenzetti
471
48. Soluzioni regolari
Le soluzioni regolari si distinguono in:
1. costanti;
2. periodiche;
3. quasi periodiche.
Analizziamo rapidamente il caso lineare (poi riporteremo i casi non lineari a quello
lineare). Data l’equazione:
ẋ = Ax , x ∈ Rn
e note le condizioni iniziali x(0) = x0 , allora si può scrivere:
x(t) = eAt x0
che, nel caso in cui A sia diagonale e più precisamente in forma:

A=







λ1 0
0 λ2
0 .
0 .
.
0
.
.
0 0
. 0
. 0
0 λn








diventa x(t) = eλt x0 .
Ipotizziamo di avere un sistema con due autovalori λ1 , λ2 che possono essere disposti come in figura Figura 48.1 ed analizziamo le casistiche mostrate in figura
Figura 48.2:
473
48.1 Analisi di sistemi non lineari
1. se sono reali negativi (Re(λ1 , λ2 ) < 0 , Im(λ1 ) = Im(λ2 ) = 0) si ha un nodo
stabile, come in figura Figura 48.2.a;
2. se sono complessi coniugati a parte reale negativa (Re (λ1 ) = Re (λ2 ) <
0 , Im(λ1 ) = −Im(λ2 )) si ha un fuco stabile, come in figura Figura 48.3.a,
instabile (Figura 48.3.b) nel caso in cui la parte reale sia positiva;
3. se sono uno positivo ed uno negativo (Re(λ1 ) = −Re(λ2 )) si ha una sella,
come in figura Figura 48.2.b;
4. se sono entrambi positivi (Re(λ1 , λ2 ) > 0) si ha un nodo instabile, come in
figura Figura 48.2.c;
5. nel caso in cui uno dei due autovalori sia nullo (es. λ1 = 0) si hanno soluzioni di
stabilità (λ2 < 0) o instabilità (λ2 > 0) semplice, come in figura Figura 48.2.d;
6. se sono immaginari puri (Re(λ1 ) = Re(λ2 ) = 0) si ha un centro, come in figura
Figura 48.4.
Figura 48.1.: Tipologie di radici in un sistema con due autovalori
Andiamo adesso ad analizzare come trattare i sistemi non lineari.
48.1. Analisi di sistemi non lineari
Se è possibile linearizzare un sistema, allora si ricorre allo studio del Jacobiano grazie
alle teorie di Lyapunov. Si ottiene quindi che:
474
di C.Bettini, A.Guiggiani e T.Lorenzetti
48.1 Analisi di sistemi non lineari
Figura 48.2.: Andamenti rispettivamente di nodo stabile, instabile, sella e stabilità
semplice
1. se il Jacobiano ha autovalori a parte reale negativa allora l’equilibrio non lineare è asintoticamente stabile, quindi le caratteristiche del sistema linearizzato
possono essere riportate sul sistema non lineare;
2. se il Jacobiano ha almeno un autovalore a parte reale positiva allora l’equilibrio
del sistema non lineare è instabile;
3. se il jacobiano ha almeno un autovalore nullo allora non si può estendere le
proprietà del sistema linearizzato a quello non lineare e sono necessari ulteriori
strumenti di analisi.
Analizziamo un paio di esempi:
di C.Bettini, A.Guiggiani e T.Lorenzetti
475
48.1 Analisi di sistemi non lineari
Figura 48.3.: Andamenti rispettivamente di un fuoco stabile ed instabile
Figura 48.4.: Andamento di una soluzione di tipo “centro”
48.1.1. Equazioni di Van der Pol
Riprendiamo le equazioni:


ẋ1
= x2

ẋ2
= −µ(1 − x21 )x2 − x1
e linearizziamo nell’origine (dato che la soluzione ẋ1 = ẋ2 = 0 si verifica solo per
x2 = x1 = 0), quindi:
476
di C.Bettini, A.Guiggiani e T.Lorenzetti
48.1 Analisi di sistemi non lineari


ẋ1
= x2

ẋ2
= −x1 − µx2
da cui possiamo ricavare:


λ −1 
(λI − Alin ) = 
1 λ+µ
quindi det(λI − Alin ) = 0 ha come soluzioni:
λ1,2 =
−µ ±
√
µ2 − 4
2
da cui deriva la presenza di un nodo instabile per µ 6 −2, di un fuoco stabile per
−2 < µ < 0 , di un fuoco stabile per 0 6 µ < 2 e di un nodo stabile per µ > 2.
48.1.2. Sistema di Duffing
Riprendiamo il sistema:


ẋ1
= x2

ẋ2
= −αx1 + βx31
e linearizziamo nell’origine per ricavare i tre punti di equilibrio, rispettivamente:
s
xeq1 = 0 , xeq2,3 = ±
α
β
Quindi se andiamo a linearizzare nell’origine si ottiene:


λ −1 
(λI − Alin ) = 
α λ
di C.Bettini, A.Guiggiani e T.Lorenzetti
477
48.1 Analisi di sistemi non lineari
da cui si ottiene:
det(λI − Alin ) = λ2 + α = 0
√
e λ1,2 = ±j α che sono autovalori immaginari puri.
Nel secondo caso, invece, si ha:


λ −1 
(λI − Alin ) = 
−2α λ
da cui deriva:
det(λI − Alin ) = λ2 − 2α = 0
√
e λ1,2 = ± 2α che rappresenta una sella. Se vogliamo studiare la “sella” è possibile
analizzare gli autovettori sostituendo a:


λ −1 

−2α λ
il valore λ =
√
√
2α e λ = − 2α. Si ottiene così:

√
2α
−1
x
√
ẋ = 
−2α
2α

0
che, posto ẋ = 0 ed x = [x1 x2 ] fa ottenere:


 x1
=

 x1
=
√x2
2α
√
− α2α x2
quindi sul primo ramo se cresce x1 cresce anche x2
quindi sul secondo ramo se cresce x1 decresce x2
da cui deriva uno schema come quello in figura Figura 48.5 (a destra).
478
di C.Bettini, A.Guiggiani e T.Lorenzetti
48.2 Teorema della Varietà Centrale
√
Allo stesso modo si procede per λ = − 2α:

√
−
2α
−1
x
√
ẋ = 
−2α − 2α

con i risultati mostrati in figura Figura 48.5.
Figura 48.5.: Esempio relativo al modello di Duffing
48.2. Teorema della Varietà Centrale
Il teorema della varietà centrale illustra un metodo per studiare le soluzioni non
iperboliche di un sistema. In pratica si suddivide il sistema in varietà centro e
varietà stabile andandone a studiare soltanto la prima.
Per fare ciò è necessario ricavare gli autovalori, gli autovettori e gli autospazi considerando che quest’ultimi sono il luogo dei punti tali che partendo da essi ci si
rimane sopra con una specifica dinamica. Per disaccoppiare il sistema sfruttiamo
un esempio:


ẋ
= kxy

ẏ
= −y + x2
in cui l’unico punto di equilibrio è l’origine. Calcoliamo:
di C.Bettini, A.Guiggiani e T.Lorenzetti
479
48.2 Teorema della Varietà Centrale
Alin =
∂f ∂x 

0 0 
=
0 −1
x=0
da cui si ottiene:


λ
0 
(λI − Alin ) = 
0 λ+1
Notiamo adesso che la matrice appena scritta è diagonale; se così non fosse andrebbe
resa tale per poter disaccoppiare gli stati. Dato che stiamo cercando due autovettori,
e dato il sistema:






λx
=0
λ
0  x 
=0⇒

(λ + 1) y = 0
0 λ+1
y
possiamo così scegliere λ = 0 e λ = −1 così da avere come autovettori rispettivamente l’asse x e l’asse y. Adesso scegliamo x come variabile centro e sviluppiamo
in serie nell’origine la y. L’obiettivo è quello di scrivere y in funzione di x e più
precisamente (dato che si sviluppa in serie nell’orignie) scrivere:
y = h(x) = αx2 + βx3
Notiamo adesso che y non è funzione di primo grado poichè il problema non sarebbe risolvibile. L’analisi con lo Jacobiano, infatti, è una approssimazione al primo
ordine della funzione e, come visto in precedenza, non ci aiuta nella risoluzione del
problema. Si procede così calcolando ẏ che deve essere riportata completamente in
funzione di x:
ẏ = (2αx + 3βx2 )ẋ = (2αx + 3βx2 )kxy
= (2αx + 3βx2 )kx(αx2 + βx3 ) = −(αx2 + βx3 ) + x2
480
di C.Bettini, A.Guiggiani e T.Lorenzetti
48.2 Teorema della Varietà Centrale
Uguagliando le ultime due equazioni si ottiene:
(2αx + 3βx2 )kx(αx2 + βx3 ) = −(αx2 + βx3 ) + x2
da cui si ha, procedendo in prima approssimazione e considerando solo i termini fino
al terzo grado:


−α + 1
=0
=0

β
da cui si ottiene y = x2 che, riportata nella ẋ, restituisce:
ẋ = kx3
Quindi tutto dipende da k: per k negativo il sistema è asintoticamente stabile,
instabile altrimenti. Per k = 0 invece:


ẋ
=0

ẏ
= −y + x2
e si va a studiare ẏ = 0, ovvero y = x2 che è una parabola (essendo ẋ = 0 significa
che x è costante), quindi si ha stabilità semplice.
Matrice modale andiamo adesso ad analizzare che succede se la matrice (λI −Alin )
non è diagonale. Ricorriamo ad un esempio:


ẋ
=y

ẏ
= −y + ax2 + bxy
da cui si ottengono, linearizzando nell’origine, le relazioni:

Alin

0 1 
=
0 −1
di C.Bettini, A.Guiggiani e T.Lorenzetti
481
48.2 Teorema della Varietà Centrale

(λI − Alin ) = 

λ
−1 
0 (λ + 1)
che portano allo studio degli autovettori:



λ
−1   x 

=0
0 (λ + 1)
y
Per diagonalizzare la matrice vista in precedenza si sfrutta una matrice modale
ricavata da due punti sugli autovettori corrispondenti. Prendiamo due punti “a caso” (comunque che siano semplici da trattare matematicamente) ed identifichiamoli
come:
0
0
A = [1 0] , B = [1 − 1]
e definiamo la matrice modale:

1
M = [A B] = 
0

1 
−1
Adesso notiamo che per come è definita la matrice modale M è possibile scrivere:






x = u + v
u
x 

=M ⇒

y = −v
y
v
⇒


u
=x+y

v
= −y
da cui è possibile ricavare:




ẋ 
x

= A   + [N L]
ẏ
y
che diventa:




u̇ 
u

= M −1 AM   + M −1 [N L]
v
v̇
482
di C.Bettini, A.Guiggiani e T.Lorenzetti
48.3 Secondo criterio di Lyapunov
con [N L] pari alla parte non lineare e:

M −1



−1 −1   1 1 
1

=
=
det(M )
0
1
0 −1
Calcoliamo adesso la parte [N L]. Dall’equazione iniziale abbiamo che non sono
presenti non linearità su ẋ ma su ẏ si ha ax2 + bxy da cui:


0

[N L] =  2
ax + bxy
sfruttando le relazioni tra x, y ed u, v si ottiene:


0

[N L] = 
2
2
a(u + v + 2uv) − bv(u + v)(−v)
e, quindi, si ottiene:









0
u̇   0 0   u   1 1  

+
=
2
2
0 −1
a(u + v + 2uv) − bv(u + v)(−v)
0 −1
v
v̇
A questo punto basta riportare la v in funzione di u, ad esempio ponendo:
v = h(u) = Au2 + Bu3
e risolvere come nel caso precedente.
48.3. Secondo criterio di Lyapunov
Il secondo criterio di Lyapunov è caratterizzato da due pregi: non integra il sistema
ed associa uno scalare allo stato.
Si definisce in modo opportuno una candidata v e se ne studia la derivata per poter
trarre, infine, delle conclusioni sul sistema. Un paio di note:
di C.Bettini, A.Guiggiani e T.Lorenzetti
483
48.3 Secondo criterio di Lyapunov
1. il secondo criterio di Lyapunov è sufficiente: se non si riesce a dimostrare la
stabilità non è detto che il sistema sia instabile;
2. non esistono criteri fissi per definire v, però di solito si sfruttano funzioni
quadratiche definite positive;
3. esiste un teorema inverso secondo cui, dato un punto asintototicamente stabile,
esiste una v che lo dismotra (ma non sappiamo quale).
Per il secondo criterio di Lyapunov si ha che:
• v definita positiva e v̇ definita negativa ⇒ stabilità asintotica;
• v definita positiva e v definita non positiva ⇒ stabilità semplice.
In realtà se v̇ 6 0 ma il sistema non si ferma per v̇ = 0, allora si ha stabilità
asintotica.
48.3.1. Criteri di Instabilità
Instabilità di Lyapunov Analizziamo adesso un criterio di instabilità: se è possibile
trovare una v nulla nell’origine (o comunque nel punto di equilibrio) e tale da avere
valori positivi vicino ad essa, con v̇ definita positiva, allora l’origine è instabile.
Figura 48.6.: Esempio di instabilità di Cetaev
Instabilità di Cetaev L’instabilità di Cetaev è così definita (in riferimento a figura
0
Figura 48.6): data Ω piccola a piacere, se prendiamo Ω contenuta in Ω e tale da
484
di C.Bettini, A.Guiggiani e T.Lorenzetti
48.3 Secondo criterio di Lyapunov
0
contenere l’equilibrio (l’origine in figura) allora, definito il confine δΩ , il sistema è
instabile se:
0
∃v > 0 : v̇ > 0 dentro a Ω e v = 0sul confine δΩ
0
In tal modo, infatti, la v si muoverà sicuramente verso l’esterno portando ad instabilità.
48.3.2. Scelta della candidata di Lyapunov
La candidata di Lyapunov può essere scelta in diverse modalità:
Forma quadratica l’approccio più classico è scegliere v in forma quadratica, ad
esempio:
v=
1 2
x + αy 2
2
Questo è il metodo più comodo in quanto si verifica facilmente la condizione v > 0
e si guarda se, modificando i parametri, è possibile porre v̇ < 0.
Pseudo-linearizzazione l’idea è quella di linearizzare il sistema e sfruttare l’approccio lineare:
v = xT P x con P > 0
Il problema è che linearizzando la Alin non sempre è univoca. Per esempio prendiamo:


ẋ1
= x21 + x1 x2

ẋ2
= −x2


x1 + x2 0 
⇒ A(x) = 
0
−1
di C.Bettini, A.Guiggiani e T.Lorenzetti
485
48.3 Secondo criterio di Lyapunov
però va bene anche:


x1 x1 
A(x) = 
0 −1
quindi non avendo univocità è un po’ un casino stabilire regole “a priori” che siano
universali. Comunque sia, mentre nel caso lineare si deve risolvere:
AT P + P A = −Q , Q > 0
in quello non lineare A è funzione di x, quindi si cercano delle regioni (dette politopi)
in cui è verificato:
A(x)T P + P A(x) < 0
Metodo basato sulla forma della non linearità data la parte non lineare del
sistema:


ẋ
= Ax + bu

y
= CT x
esprimibile come:
u = −n(y) = −n(C T x)
Si definisce:
ˆy
v = X PX + α
T
n(ζ)dζ
0
Quindi la forma di v dipende dalla non linearità ed il suo segno è noto a priori. Dov’è
il vantaggio? Se calcoliamo v̇ si nota che questa è quadrativa e di ordine (n + 1)
rispetto all’ordine (n) di v, con conseguente studio del segno facilitato. Infatti:
v̇ = xT (AT P + P A)x − n(y)T bT P x − xT P bn(y) + αn(y)C T ẋ
486
di C.Bettini, A.Guiggiani e T.Lorenzetti
48.3 Secondo criterio di Lyapunov
da cui si ottiene:
v̇ = xT (AT P + P A)x − n(y)T bT P x − xT P bn(y) + αn(y)C T Ax + −αn(y)C T bn(y)
In cui sono presenti tutti termini quadratici. Cerchiamo di riscrivere v̇ in forma:

v̇ =
h
i
xT n(y)T


u w  x 

wT z
n(y)
da cui si ottiene:
u = −(AT P + P A)
w = Pb − α
AT C
2
z = αC t b


u w 
= H bisogna far sì che sia H > 0. Ciò, per le proprietà
Quindi ponendo  T
w
z
delle matrici, si verifica su:


u
>0

det(H)
>0
0
quindi se det(H) = uz − w w > 0 che equivale a dire:
0
z > u−1 w w
Il problema finale è porre v > 0. Ciò si verifica sicuramente per una certa α che è
da ricavare basandosi sulla formula iniziale:
ˆy
v = XT P X + α
n(ζ)dζ
0
di C.Bettini, A.Guiggiani e T.Lorenzetti
487
49. Soluzioni Periodiche
Analizziamo il sistema:



ẋ



= f (x)
x(0) = x0




x ∈ Rn
si definisce “soluzione periodica” una soluzione tale che:
x0 (t) = x0 (t + T ) , ∀t > 0
Note:
1. siamo almeno in R2 o tale definizione non avrebbe senso;
2. i sistemi lineari possono avere soluzioni periodiche (ovvero autovalori immaginari coniugati);
3. i sistemi non lineari possono avere soluzioni periodiche isolate dette “cicli
limite” caratterizzate da condizioni di stabilità.
49.1. Stabilità di un ciclo limite
Un ciclo limite è stabile se ∃ > 0 piccolo a piacere e:
∃δ > 0 : |x(t0 ) − x0 | < δ
489
49.1 Stabilità di un ciclo limite
e:
|x(t) − x0 (t)| < Ciò si traduce affermando che un ciclo limite è stabile se, dato un qualunque punto
di partenza, si resta sempre in un intorno di ampiezza del ciclo limite. Inoltre se:
lim |x(t) − x0 (t)| = 0
t→∞
allora il ciclo è asintoticamente stabile.
Analizziamo un esempio:


ẋ
= µx + y − x(x2 + y 2 )

ẏ
= −x − µy − y(x2 + y 2 )
e passiamo in coordinate polari ponendo:
√


ρ
=

θ
= arctg
x2 + y 2
y
x
da cui si ottiene:


ρ̇
= ρ(µ − ρ2 )

θ
= −1
La seconda condizione (θ = −1) ci fa notare la presenza di un ciclo limite, in quanto
il sistema risulta essere una specie di “circonferenza a raggio variabile che comunque
ruota intorno all’origine”.
Infatti se analizziamo il sistema e annulliamo ρ̇ = 0 si ottiene:



ρ



=0
√
ρ = µ



ρ = −√µ
490
di C.Bettini, A.Guiggiani e T.Lorenzetti
49.1 Stabilità di un ciclo limite
√
dove ρ = 0 rappresenta un equilibrio mentre ρ = ± µ è un ciclo limite. Per lo
studio dell’equilibrio andiamo a linearizzare nell’origine e otteniamo:
ρ̇ = ρµ
da cui si evince che nel caso di µ < 0 si ha stabilità asintotica mentre per µ > 0 il
sistema è instabile.
Per lo studio del ciclo limite andiamo a linearizzare in ρ2 = µ:
ρ̇ = ρµ − ρ3
da cui deriva:
∆ρ̇ = µ − 3ρ2 ∆ρ
ρ2 =µ
= −2µ∆ρ
Il ciclo limite è stabile per µ > 0, instabile altrimenti. Notiamo inoltre che per
µ < 0 il ciclo limite non esiste in quanto non ha soluzione ρ2 = µ. Quindi si ottiene
il seguente risultato: se l’equilibrio è instabile (e quindi repulsivo) il cilco limite è
stabile (e quindi attrattivo); altrimenti se l’equilibrio è stabile il ciclo limite non
esiste (vedi figura Figura 49.1).
Figura 49.1.: Stabilità di un ciclo limite
di C.Bettini, A.Guiggiani e T.Lorenzetti
491
49.2 Criteri per l’individuazione di un ciclo limite
49.2. Criteri per l’individuazione di un ciclo limite
Il primo è un criterio topologico, detto di:
Poincaré Bendixson: considerata una regione chiusa e verificato che al suo interno
non ci siano equilibri, allora se tutte le traiettorie entrano (o escono) in tale regione,
questa contiene almeno un ciclo limite al suo interno.
Il secondo criterio per individuare un ciclo limite è il:
Criterio della divergenza è un criterio che dimostra la non esistenza di un ciclo
limite. Il criterio dice che, se un ciclo limite esiste, l’integrale della divergenza deve
essere nullo. Quindi, dato il sistema:


ẋ
= f (x, y)

ẏ
= g(x, y)
si ottiene che, definita la divergenza:
∂g
∂f
+
∂x ∂y
il suo integrale è nullo se:
1. la divergenza è sempre nulla;
2. la divergenza cambia segno.
∂g
Quindi si procede calcolando ∂f
+ ∂y
ed osservando se si verifica una delle due
∂x
condizioni precedenti. Se ciò avviene allora è possibile che esista un ciclo limite;
altrimenti no. Quindi dato il sistema:
492


ẋ
=y

ẏ
= −x − µy + µx2 y
di C.Bettini, A.Guiggiani e T.Lorenzetti
49.3 Metodo in frequenza
calcolata la divergenza:
∂ ẋ ∂ ẏ
+
= −µ(1 − x2 )
∂x ∂y
questa cambia segno in ±1, quindi se esiste un ciclo limite bisogna che questo abbracci almeno due aree (una positiva ed una negativa). Questa informazione, associata al
fatto che un ciclo limite deve contenere almenjo un equilibrio, ci aiuta ulteriormente
nell’analisi.
Il terzo criterio è detto:
Teorema degli indici definito “indice” di una curva chiusa come la somma degli
indici dei suoi equilibri e, più precisamente, tale che ogni equilibrio apporta un
contributo:
• fuochi e centri = indice +1;
• selle = indice −1.
Allora se un ciclo limite la somma degli indici deve essere 1. È una condizione
sufficiente e non vale il vice versa. Un’altra definizione di “indice” è: l’indice di una
curva è pari al numero di giri fatti dal campo percorrendo un giro di traiettoria.
Andiamo adesso a preoccuparci di come si individua un ciclo limite analizzando il
metodo universale in frequenza.
49.3. Metodo in frequenza
Nel metodo in frequenza si va ad analizzare il sistema con ingresso sinusoidale (figura
Figura 49.2). Se prendiamo l’uscita notiamo che questa è composta da:
y(t) = transitorio+B1 cos(ωt) + A1 sin(ωt) + aos
dove B1 ed A1 sono funzioni di (B, ω) e “aos” sono armoniche di ordine superiore.
di C.Bettini, A.Guiggiani e T.Lorenzetti
493
49.3 Metodo in frequenza
Figura 49.2.: Principio del metodo in frequenza
Si definisce ora la funzione descrittiva del sistema non lineare come:
N (jω) =
B1 (B, ω) − jA1 (B, ω)
= L(jω) (nel caso lineare)
B
che altro non è che un’approssimazione del guadagno di prima armonica. Analizziamo l’esempio in cui, seguendo la logica in figura Figura 49.2, il blocco L(s) è
rappresentato da una non linearità cubica. Si ottiene:
3
1
y(t) = (B cos(ωt))3 = B 3 cos(ωt) + B 3 cos(3ωt)
4
4
da cui possiamo approssimare ignorando le armoniche di ordine superiore (3ωt nel
caso in esempio). Si ottiene così:
3
3
1
N (jω) = B 3 = B 2
4 B
4
da cui si nota che, essendo l’operatore (·)3 una non linearità statica, N (jω) non ha
dipendenza dalla frequenza.
Se ad esempio prendiamo L(s) come una non linearità quadrata con un blocco
derivatore, si ottiene:
1
3
y(t) = B 2 cos(ωt)2 (−ωB sin(ωt)) = ... = −ωB 3 sin(ωt)+ ωB 3 sin(ωt) = − ωB 3 sin(ωt)
4
4
da cui deriva una dipendenza dalla frequenza ω.
Ipotesi semplificativa introduciamo adesso un’ipotesi semplificativa: data ẋ =
f (x) , x ∈ Rn allora ẋ può essere rappresentata in retroazione con un modello I/O
come in figura Figura 49.3.
494
di C.Bettini, A.Guiggiani e T.Lorenzetti
49.3 Metodo in frequenza
Figura 49.3.: Sistema non lineare in forma di retroazione di stato
Ipotizziamo adesso di avere y(t) = B cos(ωt) e consideriamo che, in presenza di un
ciclo limite, l’equazione necessaria all’autosostentamento del sistema è data da:
B = −BN (B, ω)L(jω)
da cui deriva la relazione:
L(jω) = −
1
N (B, ω)
Notiamo adesso che se ho una non linearità statica come quella vista in precedenza
si ha N (B, ω) = N (B). Ne consegue che, affinchè esista una soluzione a L(jω) =
−N (B, ω)−1 , è necessario che il diagramma di Nyquist di L(jω) tagli l’asse reale
almeno una volta.
Viceversa, se la non linearità è di tipo “a isteresi”, la funzione N (B, ω) è immaginaria
pura e, quindi, è necessario che il diagramma di Nyquist di L(jω) tagli l’asse reale
almeno una volta.
Analizziamo il caso di Van Der Pol:


ẋ
=y

ẏ
= −µy + µx2 y − x
Se riportiamo il tutto in una formula unica si ottiene:
ẍ + µẋ − x = µẋx2
di C.Bettini, A.Guiggiani e T.Lorenzetti
495
49.3 Metodo in frequenza
che in s diventa:
s2 + µs − 1 x = sµx2
con L(s) =
s
(s2 +µs−1)
e n(y) = − µ3 (·)3 .
Isolando la non linearità si ottiene un diagramma come quello in figura Figura 47.5.
Se facciamo entrare nel blocco non lineare B cos(ωt) si ottiene:
N (B) =
−µ 2
B
4
che è una non linearità statica. Andiamo a studiare:
−
1
4
=
N (B)
µB 2
che, al variare di B, parte da +∞ (per B = 0) e tende a 0 (per B = ∞), tutto sull’asse reale in quanto N (B)non dipende da ω. Se analizziamo il diagramma di Nyquist
di L(s) si ottiene, seguendo l’andamento di N (B), come in figura Figura 49.4, un
passaggio dalla zona I0 alla zona I2 nel punto in cui L(jω) = −N (B)−1 = 4(µB 2 )−1 .
Dato che il punto di intersezione è sull’asse reale, allora è pari al punto in cui:
jω
1
L(jω) =
=
2
(−ω + jωµ − 1) ω=1 µ
da cui deriva:
4(µB 2 )−1 = µ−1
che si verifica per B = 2.
Quindi di conseguenza si ottiene il risultato di soluzione oscillante per:
z(t) = B cos(ωt)|ω=1,B=2 = 2 cos(t)
Ricapitolando l’idea di base è quella di partire dall’equazione che soddisfa i cicli
496
di C.Bettini, A.Guiggiani e T.Lorenzetti
49.3 Metodo in frequenza
Figura 49.4.: Diagramma di Nyquist e andamento di N (B) in Van Der Pol
limite:
L(jω)N (B, ω) = −1
e, dopo aver trovato una soluzione (B, ω), si perturba in due modi:
1. perturbiamo B che diventa B + ∆B;
2. perturbiamo jω che diventa jω + ∆σ.
A questo punto se facciamo un po’ di calcoli partendo da N (B) lineare (per semplicità) si ottiene:
L(jω) = −
1
N (B)
da cui derivano delle variazioni:
∂L(jω)
∂ [−1/N (B,ω)]
∆σ =
∆B
∂ω
∂B
e, ricavando:
∆σ
= −j
∆B
∂ [−1/N (B,ω)]
∂B
/ ∂L(jω)
∂ω
di C.Bettini, A.Guiggiani e T.Lorenzetti
497
49.3 Metodo in frequenza
si ottiene che, per la stabilità, deve valere (figura Figura 49.5):
∂L(jω)
∠
∂ω
!
∂ [−1/N (B,ω)]
< ∠
∂B
!
∂L(jω)
< π+∠
∂ω
!
che è condizione necessaria. Affinchè sia anche condizione sufficiente bisogna che ∃k
che stabilizzza il sistema in retroazione.
Figura 49.5.: Esempi di stabilità di un ciclo limite
Infine, trattiamo due problematiche relative alla tecnica di analisi appena spiegata:
1. approssimazione: finora ci siamo sempre fermati alla prima armonica; bisogna ricordarci che compiamo una approssimazione eliminando le armoniche
di ordine superiore e, quindi, è necessario tenerne conto (o almeno quantificarla per sapere se è possibile ignorarle o meno). Solitamente fino al 10%
di approssimazione di riesce tranquillamente a starci dentro, sopra va rivisto il problema e magari vanno considerate parte delle armoniche di ordine
superiore. L’approssimazione si quantifica calcolando:
k∆yk2 ∆=
ky0 k2 T
498
di C.Bettini, A.Guiggiani e T.Lorenzetti
49.3 Metodo in frequenza
ovvero come rapporto tra l’energia di ciò che si trascura (∆y) e l’energia del
segnale (y0 ), definita sul periodo (T = 2π nel nostro caso):
ky0 k2 =
v
u T
uˆ
u
u
t
[B cos(ωt)]2 dωt
0
2. componente continua: se la non linearità fosse quadratica, considerando un
segnale in ingresso di tipo “coseno” avremo una N (B) caratterizzata anche da
una componente continua:
N (B) = B0 + B1 cos(...) + ...
del quale è necessario tenere di conto. Definito il segnale di ingresso A +
B cos(ωt) ed il guadagno in continua:
N0 =
A0
A
allora per l’autostostentamento della componente continua è necessario che
valga:
A [N0 L(0) + 1] = 0
di C.Bettini, A.Guiggiani e T.Lorenzetti
499
50. Soluzioni quasi periodiche
Per le soluzioni quasi periodiche è necessario almeno essere in R3 . In tale dominio,
infatti, è possibile avere soluzioni del tipo:
y(t) = A cos(ω1 t) + B cos(ω2 t)
dove, se il rapporto ωω12 non è razionale, non vi è richiusura completa. Quindi,
passando in tre dimensioni, si ottiene l’andamento in figura Figura 50.1 (in sezione)
che caratterizza le soluzioni quasi periodiche.
Figura 50.1.: Soluzioni quasi periodiche (sezione)
Si parla in questo caso di soluzioni ricorrenti. x0 (t) è soluzione ricorrente se:
∀ > 0 , ∀t > 0 , ∀T > 0
0
0
∃t > (t + T ) : x(t ) + x0 (t) < che idealmente si traduce in: “il sistema passa infinitamente vicino ad x0 (t) per un
numero infinito di volte”.
501
51. Gli attrattori
Se esiste una regione che contiene un insieme limite e, per qualunque punto di questa
regione (che è simile ad un intorno), il moto è tale da fluire nell’insieme limite, esso
è detto attrattore.
Gli attrattori sono interessanti poichè è difficile che un sistema nasca e muoia su un
ciclo limite: di solito “cade” su un attrattore.
L’insieme degli intorni dell’attrattore è detto Dominio di Attrazione (DOA) o regione
di asintotica stabilità. Per definizione:
DOA = x0 : lim |x(t, x0 )| = 0
t→∞
Per ricavare i DOA si possono utilizzare due criteri:
1. Criterio di La Salle: sfrutta il fatto che i confini di un equilibrio hanno v̇ = 0,
quindi in pratica si parte da un punto e si espande fino a trovare il DOA. Ci
si ferma quando si verifica una delle seguenti criticità:
a) la zona critica è quella in cui v̇ = 0 e, subito accanto, v̇ > 0, quindi si
escludono i punti con v̇ positiva;
b) bisogna prestare attenzione in quanto le linee di confine (quelle a v̇ = 0)
possono aprirsi, ad esempio per:
x2
+ y 2 = costante
1 + x2
se si verifica x > 1 le curve (chiuse) diventano iperbole (aperte) e si perde
generalità, quindi vanno esclusi i punti con v̇ costante;
503
Gli attrattori
c) se abbiamo più soluzioni bisogna prestar 7e attenzione ad escludere i
punti con v > vconf ine .
2. Criterio di Zubov: è un secondo metodo che dimostra l’esistenza di un DOA
senza però fornire strumenti per localizzarlo.
504
di C.Bettini, A.Guiggiani e T.Lorenzetti
52. Assoluta Stabilità
Ci si chiede sotto quali condizioni un sistema (che abbiamo precedentemente suddiviso in parte lineare e non lineare) sia globalmente asintoticamente stabile e, soprattutto, come dare robustezza alle variazioni della non linearità. Ipotizziamo adesso
che la non linearità si trovi in un settore definito da due rette (caratterizzate da
coefficienti angolari k1 , k2 ) come in figura Figura 52.1.
Figura 52.1.: Incertezza della non linearità
Dopo una serie di congetture per l’assoluta stabilità, da Aizerman che affermava la
necessita che valesse k1 6 n(y)
6 k2 , con n(y)
pari al guadagno in retroazione del
y
y
sistema, a Kalman, che estese il campo ai guadagni negativi ponendo la condizione
k1 6 dn(y)
6 k2 , si arrivò, nel 1963, al teorema generale in frequenza.
dy
52.1. Teorema generale in frequenza
Dato il sistema formato da L(s) e dal blocco non lineare n(·) in retroazione (figura
Figura 52.2), le condizioni sufficienti per l’assoluta stabilità sono:
1. L(s) è strettamente reale positiva, ovvero:
505
52.1 Teorema generale in frequenza
Figura 52.2.: Rappresentazione in forma di Lurie di un sistema
a) L(s) è asintoticamente stabile;
b) Re{L(jω)} > 0 , ∀ω, e quindi L(jω) occupa solo il primo ed il quarto
quadrante in Nyquist.
2. 0 6 n(y)
6 +∞, ovvero la non linearità riguarda solo il primo ed il terzo
y
quadrante in Nyquist.
Le condizioni appena definite sono molto restrittive: in pratica si vuole un sistema a fase minima, con eccesso poli-zeri di 1 e con la non linearità avente guadagno
positivo. Per applicare il teorema nella pratica si possono utilizzare apposite trasformazioni in modo da lavorare su “sistemi equivalenti”. Prima di definirle, ricordiamo
che dato il sistema:


ẋ
= Ax + bu

y
= CT x
osservabile e raggiungibile, allora L(s) = C T (sI − A)−1 b è strettamente reale e
positivo se e solo se (lemma):
∃P, Q : (AT P + P A) = Q e P b = C
Pole shifting È una trasformazione per cui si spostano i poli lasciando invariata
l’uscita y. In particolare, si passa dal diagramma a blocchi in figura Figura 52.2 a
506
di C.Bettini, A.Guiggiani e T.Lorenzetti
52.1 Teorema generale in frequenza
quello di figura Figura 52.3 in cui:


y
= L(s) u =

u
= −n(y) = −n(y) + ρy
0
L(s)
u
1+ρL(s)
0
che, con un po’ di calcoli, porta comunque ad avere y = −n(y)L(s).
Ma a cosa serve il pole shifting? In riferimento alla figura Figura 52.1, il pole shifting
va a ruotare il settore di un fattore “−ρ”. Quindi si passa da un settore:
k1 6
n(y)
6 k2
y
ad un settore:
k1 − ρ 6
n(y)
6 k2 − ρ
y
Figura 52.3.: Diagramma a blocchi di pole-shifting
Zero shifting In figura Figura 52.4 è mostrato il diagramma a blocchi nel caso di
zero-shifting.
In pratica il sistema equivalente diventa:


y
= L(s) u = [σ + L(s)] u

u
= −n(y) =
00
00
n(y)
y
1−σn(y)
di C.Bettini, A.Guiggiani e T.Lorenzetti
507
52.2 Criterio del cerchio
Figura 52.4.: Diagramma a blocchi di pole-shifting
Equivalentemente, la trasformazione si può semplicemente vedere come:
00
1. L(s) = L(s) + σ, quindi gli zeri si spostano di σ;
00
2. n(y) =
n(y)
,
1−σn(y)
quindi la non linearità cambia in modo non lineare.
Di conseguenza il settore:
k1 6
n(y)
6 k2
y
diventa:
n(y)
k2
k1
6
6
1 − k1 σ
y
1 − k2 σ
52.2. Criterio del cerchio
Il criterio del cerchio racchiude in sè i concetti finora espressi riuscendo a tirar fuori
una teoria “generale” applicabile ad un sistema in forma di Lurie. L’idea è quella
di partire da una non linearità compresa tra due valori:
α6
n(y)
6β
y
e riuscire a riportarsi nella condizione:
06
508
n(y)
6 +∞
y
di C.Bettini, A.Guiggiani e T.Lorenzetti
52.2 Criterio del cerchio
attraverso un pole-shifting ed uno zero-shifting.
Saltando direttamente alle conclusioni, partendo da un settore determinato dai valori
[α , β] si applica prima un pole-shifting di α in modo tale da riportarsi ad un settore
[0 , (α − β)] e, poi, uno zero-shifting di (β − α)−1 in modo tale da ricondursi a
[0 , +∞].
00
Ma quali sono le condizioni che rendono L(s) strettamente reale positiva (SRP)?
00
1. L(s) deve essere stabile, quindi è necessario analizzare il polo (1 + αL(s)) verificando che il punto −1/α sia stabile (ovvero appartenente all’intervallo I0 nel
diagramma di Nyquist di L(s)). Ciò equivale a verificare che una retroazione
di guadagno α riesca a stabilizzare il sistema;
n
2. bisogna che valga Re L(s)
00
o
> 0 , ∀ω.
Per poter analizzare il secondo punto è necessario prendere in considerazione:
n
00
Re L(s)
o
1 + βL(jω)
= Re
1 + αL(jω)
(
)
= ...
= (1 + βx) (1 + αx) + αβy 2 > 0
riducibile in:
1
+x
β
!
1
+ x + y2 > 0
α
che altro non è che un cerchio traslato. Ricordiamoci che deve valere β > α, quindi
si ha il passaggio
del cerchio per l’asse x nei punti −α−1 e −β −1 ed un diametro
00
pari a β1 − α1 . Se α, β sono concordi, è necessario (affinchè L(s) sia SRP) che
il diagramma di Nyquist di L(s) si trovi al di fuori del cerchio appena descritto.
Viceversa, per α · β < 0 è necessario che il diagramma di Nyquist stia all’interno del
cerchio.
Notiamo che se α → 0 il cerchio degenera in una retta verticale passante per −β −1 ;
se α · β > 0 è necessario stare a destra di tale retta; altrimenti a sinistra.
Debolezze del metodo il metodo appena descritto si basa su una v di Lyapunov
quadratica e, quindi, su una condizione sufficiente molto generale che porta a vincoli
di C.Bettini, A.Guiggiani e T.Lorenzetti
509
52.2 Criterio del cerchio
su α, β molto restrittivi: è un metodo molto conservativo.
Esempio analizziamo il sistema:
L(s) =
1
(s − 1) (s + 3) (s + 4)
in cui è presente un polo in anello aperto. Calcoliamo il valore di N come:
N = PCL>0 − POL>0 = PCL>0 − 1
con PCL>0 pari al numero di poli ad anello chiuso a parte reale positiva, POL>0 nel
caso di anello aperto mentre N è il numero di giri orari per ogni area del diagramma
di Nyquist. Da ciò deriva il diagramma di Nyquist in figura Figura 52.5, calcolando:
PCL>0 = N + 1
Figura 52.5.: Diagramma di Nyquist della funzione L(s) dell’esempio
Adesso possiamo cercare quali sono le non linearità ammesse da questo sistema.
Infatti è possibile trovare, come si nota in figura Figura 52.6, due cerchi tali da
determinare due aree in cui si può trovare la non linearità (figura Figura 52.7).
Continuiamo a notare che queste aree sono alquanto strette, e ciò è dovuto al metodo
che risulta essere molto rigido e conservativo.
510
di C.Bettini, A.Guiggiani e T.Lorenzetti
52.3 Criterio di Popof
Figura 52.6.: Diagramma di Nyquist della funzione L(s) dell’esempio
Figura 52.7.: Diagramma di Nyquist della funzione L(s) dell’esempio
52.3. Criterio di Popof
Espandiamo il criterio del cerchio andando ad inserire due moltiplicatori M (s) ed
M (s)−1 stabili come in figura Figura 52.8.
Figura 52.8.: Diagramma a blocchi del critero di Popof
Quindi per la stabilità è necessario avere:
1. L(s)M (s) strettamente reale positivo;
2. M (s)−1 n(·) dissipativo.
di C.Bettini, A.Guiggiani e T.Lorenzetti
511
52.3 Criterio di Popof
Se prendiamo M (s) in forma:
M (s) = 1 + qs , q > 0
ovvero caratterizzato da uno zero a sinistra, si ottiene una condizione equivalente di
SRP pari a:
("
Re
1
+ L(s) (1 + qs) > 0
β
#
)
considerando L(s) = X + jY in forma complessa. Ne deriva una relazione, sulla
parte reale (quella immaginaria possiamo scartarla dato che non ci interessa):
1
+ x − qωy > 0
β
Quindi bisogna che L(jω) stia sotto ad una retta che passa per −β −1 e con pen1
denza ωq
. Dato che la pendenza è ω-dipendente (quindi non verrebbe una retta ma
verrebbe una curva variabile in funzione di ω) si definisce il piano di Popof come
quello avente sull’asse x la parte Reale e sull’asse y la parte Immaginaria divisa
per ω (figura Figura 52.9).
Figura 52.9.: Piano di Popof
Chiediamoci infine cosa si mantiene rispetto al diagramma di Nyquist sul piano di
Popof:
1. i punti in cui ω = 0 e ω = 1;
512
di C.Bettini, A.Guiggiani e T.Lorenzetti
52.3 Criterio di Popof
2. l’attraversamento degli assi.
Quindi mentre il criterio del cerchio parte da una v quadratica, quello di Popof cerca
di dimostrare la stabilità in base ad una candidata:
ˆy
v = x P x + 2α
T
n(ζ)dζ
0
che è sì più complicata, però permette risultati più precisi. Per farlo si deve però
rinunciare alla tempo-varianza. Inoltre, dato che k = 0 appartiene ai guadagni in
retroazione, per il criterio di Popof L(s) deve necessariamente essere stabile (quindi
in caso non lo sia è necessario stabilizzarla con un pole-shifting).
di C.Bettini, A.Guiggiani e T.Lorenzetti
513
53. Soluzioni non regolari
Edward Norton Lorenz, meteorologo e matematico statunitense, pubblicò intorno al
1965 un modello dalla struttura semplice ma al contempo molto complesso:



ẋ



ẏ




ż
= −σx − σy
= rx − y − xz
= −bz + xy
con l’origine (0, 0, 0) punto di equilibrio. Lorentz scelse una v in forma quadratica,
ovvero una ellissoide centrata in (0, 0, 2r) e descritta da:
v = rx2 + σy 2 + σ(z − 2r)2
da cui deriva:
v̇ = −2rσx2 − 2σy 2 − 2σb(z − 2)2 + 2σbz 2
Se notiamo figura , le due curve sono ellissi una interna all’altra (scelti opportunamente i parametri). Lorentz dimostrò che il suo modello è caratterizzato da tre
equilibri stabili, in contrasto con le teorie che vorrebbero un attrattore tra le due ellissi dato che le traiettorie sono uscenti dalla prima ed entranti dalla seconda (figura
Figura 53.1).
515
Soluzioni non regolari
Figura 53.1.: Andamento di v e di v̇ per il sistema di Lorentz
Lorentz dimostrò così che, posti i parametri:



σ



b




r
= 10
= 2/3
= 24
ci si trova in presenza di un attrattore, detto “attrattore strano”, il cui dominio di
attrazione è tutto R3 .
Da quel momento in poi iniziarono gli studi di questi nuovi attrattori, che furono
caratterizzati da due aspetti fondamentali:
1. struttura frattale;
2. forte sensibilità alle condizioni iniziali.
Struttura frattale Nella matematica classica si ha che:
• il punto ha dimensione R0 ;
• la linea ha dimensione R1 ;
• la superficie ha dimensione R2 ;
• il volume ha dimensione R3 ;
• ...
516
di C.Bettini, A.Guiggiani e T.Lorenzetti
53.1 Esponenti di Lyapunov
Gli attrattori strani, invece sono caratterizzati da dimensione non intera. Si definisce
la “dimensione di capacità”:
dc = lim
→0
ln [N ()]
− ln []
con N () è il numero di “pezzettini” di lunghezza necessari a coprire la quantità
da misurare.
Facciamo un esempio: dato un segmento, si divide in tre parti e se ne rimuove una.
A questo punto le due restanti si dividono nuovamente in tre parti rimuovendone
una e così via, per t → ∞. Di conseguenza la lunghezza del segmento si riduce, ad
ogni passaggio (i), di un valore pari a 3−i . Il numero di pezzettini, invece, va come
un esponenziale e più precisamente come 2i .
Possiamo così porre N () = 2i ed = 3−i e calcolare la dimensione di capacità di
un modello così fatto:
ln [2i ]
ln [2] ∼
ln [N ()]
= lim
=
= 0.63
−i
→0 − ln []
i→∞ − ln [3 ]
− ln [1/3]
dc = lim
che è tutto fuorchè una dimensione intera.
53.1. Esponenti di Lyapunov
Se analizziamo il sistema:
ẋ = f (x) , x ∈ Rn
perturbando la soluzione x∗ (t), si ottiene:
∆x = x − x∗
che, derivata, diventa:
∂f ∆ẋ =
∆x = A(t)∗ ∆x
∂x x=x∗
di C.Bettini, A.Guiggiani e T.Lorenzetti
517
53.1 Esponenti di Lyapunov
che può essere riscritta in funzione della matrice di transizione Φ(t)∗ :
∆ẋ = Φ(t)∗ ∆x(0)
dove la matrice di transizione Φ(t)∗ è la matrice che ci informa su “come si muove il
vettore di perturbazione ∆x”. Definiti mi gli autovalori di tale matrice, si definiscono
gli esponenti di Lyapunov come:
1
ln |mi (t)|
t→∞ t
λi = lim
Di conseguenza si ha che:
1. siamo in corrispondenza di una contrazione se λi < 0;
2. siamo in corrispondenza di una dilatazione se λi > 0;
3. siamo in corrispondenza di un fenomeno caotico se si ha almeno un λi > 0 ma,
al contempo, la somma di tutti i λi risulta essere negativa.
518
di C.Bettini, A.Guiggiani e T.Lorenzetti
54. Biforcazioni
Si ha una biforcazione quando al variare dei parametri di un sistema variano anche
la natura dei suoi punti di equilibrio (che possono diventare da stabili instabili e
viceversa).
Si definiscono diverse tipologie di biforcazioni:
1. biforcazione saddle-node (sella-nodo): è una biforcazione in cui, a seconda del
parametro r (nell’esempio, figura Figura 54.1), si passa da sistema instabile
(senza punti di equilibrio) alla presenza di due punti di equilibrio (uno stabile
ed uno no). Più precisamente, dato il sistema:
ẋ = x2 + r
allora se:
a) r < 0 il sistema ha un equilibrio stabile x1 ed uno instabile x2 (figura
Figura 54.1.a);
b) r = 0 il sistema è stabile per x < x0 ed instabile per x > x0 (figura
Figura 54.1.b);
c) r > 0 il sistema è instabile e non vi è alcun equilibrio (figura Figura 54.1.c).
2. biforcazione transcritica (figura Figura 54.2) è una biforcazione caratteristica
di sistemi tipo:
ẋ = x(r + x)
519
54.1 Biforcazioni di cicli limite
in cui sono presenti due punti di equilibrio, uno per x = 0 ed uno per x = r.
Più precisamente per r < 0 l’equilibrio in x = 0 è stabile, instabile per r > 0;
l’equilibrio per x = r, invece, si comporta al contrario (figura Figura 54.2).
3. biforcazione pitchfork (supercritica e subcritica): in questo caso si analizza il
sistema:
u̇ = µ ± u2 u
caratterizzato da un equilibrio in u = 0 e due equilibri rispettivamente per
√
√
u = ±j µ o u = ± µ. Una biforcazione pitchfork può essere supercritica
(figura Figura 54.3.a) o subcritica (figura Figura 54.3.b), a seconda se si generano due equilibri stabili per µ > 0 (Figura 54.3.a) oppure se scompaiono due
equilibri instabili (sempre per µ > 0, figura Figura 54.3.b) mentre l’equilibrio
nell’origine (u = 0) si destabilizza.
4. biforcazione di Hopf: la biforcazione di Hopf è una delle più comuni. Essa
spiega come un ciclo possa nascere per trasformazione continua di un equilibrio al variare di un parametro, un fenomeno molto frequente non solo nei
sistemi elettromeccanici ma anche in quelli economici e biologici. In termini di
collisione questa biforcazione coinvolge un equilibrio e un ciclo che, in realtà, si
restringe ad un punto, nel momento della collisione (figura Figura 54.4). Sono
presenti, come nella biforcazione di tipo pitchfork, due casi possibili: supercritico (figura Figura 54.4.a) e subcritico (figura Figura 54.4.b), a seconda se si
generano cicli stabili od instabili.
Oltre alle generiche biforcazioni, un discorso a parte va fatto per le biforcazioni
riguardanti i cicli limite.
54.1. Biforcazioni di cicli limite
Nel caso dei cicli limite la biforcazione avviene quando uno (o più) moltiplicatori del
ciclo limite esce dal cerchio unitario. Ciò avvenire in tre modi:
1. il moltiplicatore esce dal punto +1 (a parte immaginaria nulla);
520
di C.Bettini, A.Guiggiani e T.Lorenzetti
54.1 Biforcazioni di cicli limite
Figura 54.1.: Biforcazione saddle-node
2. il moltiplicatore esce dal punto −1 (a parte immaginaria nulla);
3. escono due moltiplicatori sotto forma di complessi coniugati.
Notiamo subito che se un autovalre finisce in +1 la perturbazione non si riassorbe: se
due autovalori, inoltre, escono da +1 ci si trova di fronte alla nascita di due nuovi cicli
limite (uno stabile ed uno instabile) che danno luogo ad una biforcazione tangente.
Questa biforcazione è tipica dei sistemi con isteresi ed è di tipo catastrofico.
Se, invece, un moltiplicatore si avvicina a −1 si ha, data la mappa di Poincarè:
xk+1 = P (xk )
∆xk+1 = −α∆xk , α > 0
una convergenza “a salti”. Infatti si ha:
∆x0 > 0 , ∆x1 < 0 , ∆x2 > 0 , ... , e così via
Quindi più l’autovalore si avvicina al punto −1 più la convergenza è lenta. In teoria
quando l’autovalore è sul punto −1 si ha una sorta di saltellamento con valore
±∆xi . Se l’autovalore esce dal punto −1 allora il ciclo limite si sdoppia e si ha una
biforcazione di tipo flip: il ciclo invece di richiudersi in un giro si richiude in due
di C.Bettini, A.Guiggiani e T.Lorenzetti
521
54.2 Vie al caos
Figura 54.2.: Biforcazione transcritica
giri, la biforcazione non è catastrofica ma supercritica ed il ciclo raddoppia il proprio
periodo (figura Figura 54.5). La biforcazione flip può avvenire soltanto in sistemi di
ordine superiore al secondo.
Analizziamo infine il terzo caso, in cui due autovalori complessi coniugati escono dal
cerchio unitario. In tal caso il ciclo limite diventa in toro (ovvero una curva chiusa
nella mappa di Poincarè): la prima funzione periodica (del ciclo limite) acquisisce
una seconda funzione di differente periodo e, quindi, di frequenza divera. Questa
biforcazione è detta biforcazione di Hopf ed è supercritica.
54.2. Vie al caos
Analizziamo adesso due possibile vie al caos:
1. nel primo caso abbiamo la cascata di Feigenbaum: definita la costante di
Feigenbaum (a/d ∼
= 4.66) come il rapporto tra la distanza fra due biforcazioni
(a) e la successiva (d) si ottiene, come in figura Figura 54.6, un diagramma
che porta al caos;
522
di C.Bettini, A.Guiggiani e T.Lorenzetti
54.2 Vie al caos
Figura 54.3.: Biforcazione pitchfork
Figura 54.4.: Biforcazione di Hopf
2. nel secondo caso, invece, analizziamo le biforcazioni globali: ciò può avvenire,
ad esempio, nel caso in cui si abbiano due punti sella tra la varietà stabile di
un ciclo e quella instabile di un altro. Una biforcazione di questo tipo (figura
Figura 54.7) è detta eteroclina in quanto si passa (in un tempo infinito) da un
equilibrio ad un altro. Un secondo caso è quello delle biforcazioni omocline
(figura Figura 54.8), in cui si esce da un equilibrio per poi rientrarvici (sempre
per t → ∞).
Da queste due definizioni nasce il teorema di Shilnikov: se si hanno tre autovalori, dei
quali uno reale (µ) e due complessi coniugati (a parte reale −λ), allora perturbando
il sistema nascono fenomeni casuali intorno all’omoclina (per µ > λ).
di C.Bettini, A.Guiggiani e T.Lorenzetti
523
54.2 Vie al caos
Figura 54.5.: Biforcazione di tipo flip
Figura 54.6.: Cascata di Feigenbaum
Figura 54.7.: Biforcazione globale eteroclina
524
di C.Bettini, A.Guiggiani e T.Lorenzetti
54.2 Vie al caos
Figura 54.8.: Biforcazione globale omoclina
di C.Bettini, A.Guiggiani e T.Lorenzetti
525
55. Linearizzazione I/O
È una tecnica di controllo basata su di un processo meccanico facilmente applicabile.
Supponiamo di avere un sistema:



ẋ1






ẋ2
= sin x2 + (x2 + 1)x3
= x51 + x3



ẋ3 = x21





y = x
+u
1
e calcoliamo ẏ continuando a derivare finchè non appare il controllo u:
ẏ = ẋ1 = sin x2 + (x2 + 1)x3
ÿ = cos x2 (x51 +x3 )+(x51 +x3 )x3 +(x21 +u)x2 +x21 +u = ϕ(x1 , x2 , x3 )+u(x2 +1) = v
A questo punto ricaviamo:
u=
v − ϕ(x1 , x2 , x3 )
(x2 + 1)
e notiamo che siamo arrivati ad avere un sistema del secondo ordine mentre quello
iniziale era del terzo. Ciò significa che uno stato è non osservabile. A questo punto
dobbiamo scoprire se questo stato non osservabile è stabile (e a quel punto va tutto
bene) o meno. Per fare ciò è però necessario aggiungere un’ulteriore equazione.
Cambiamo esempio ed analizziamo un problema più semplice per essere più esplica-
527
Linearizzazione I/O
tivi:



ẋ1


= x32 + u
ẋ2 = u




y = x
1
Riprendiamo quanto già detto e verifichiamo:
ẏ = x32 + u = v
da cui deriva:
u = v − x32
Dobbiamo così analizzare la dinamica di ẋ2 :
ẋ2 = u = −x32 + v
La dinamica di ẋ2 rimane limitata scegliendo opportunatamente v, quindi il sistema
è controllabile.
Analizziamo un ultimo esempio:,



ẋ1


= x2 + u
ẋ2 = u




y = x
1
da cui deriva:
ẏ = x2 + u = v
Se deriviamo ulteriormente ẏ otteniamo:
ÿ = ẋ2 + u̇ = u + u̇
528
di C.Bettini, A.Guiggiani e T.Lorenzetti
55.1 Analisi della dinamica a zero
che, riportato nel dominio di Laplace, diventa:
y
s+1
= 2
u
s
ovvero una funzione di trasferimento con uno zero a sinistra.
Se, al contrario, avessimo avuto ẋ1 = −x2 + u, avremo ricavato:
ẏ = −x2 + u = v
da cui otteremo:
u = x2 + v
Di conseguenza:
ÿ = −ẋ2 + u̇ = −u + u̇
e:
s−1
y
= 2
u
s
che avrebbe portato uno zero a destra (malissimo!).
55.1. Analisi della dinamica a zero
Andiamo adesso a vedere cosa succede quando l’uscita y del sistema è nulla. Per
analizzare questo aspetto riprendiamo l’esempio:



ẋ1



= x32 + u
ẋ2 = u




y = x
1
di C.Bettini, A.Guiggiani e T.Lorenzetti
529
55.1 Analisi della dinamica a zero
da cui si ottiene:
ẏ = ẋ1 = x32 + u = x32 + ẋ2 = v
Se la dinamica dell’uscita è nulla si ha y = 0 da cui deriva:
ẋ2 = −x32 + v = −x32
che è stabile (per y = 0).
Esempi finali dato il sistema:



ẋ1



= x21 x2
ẋ2 = 3x2




y = −2x
+u
− x2
1
Notiamo subito che, in seguito alla terza equazione, vale:
x1 =
−y − x2
2
inoltre ricaviamo:
ẏ = −2x21 x2 − 3x2 − u = v
da cui si ottiene:
u = −2x21 x2 − 3x2 − v
e di conseguenza:



ẋ1



= x21 x2
2
ẋ2 = −2x1 x2




y = v
530
−v
di C.Bettini, A.Guiggiani e T.Lorenzetti
55.1 Analisi della dinamica a zero
Dato che in u abbiamo utilizzato sia x1 che x2 possiamo scegliere quale “uccidere”.
Vediamo che succede eliminando ẋ1 e analizziamo ẋ2 chè contiene la non linearità
mista:
ẋ2 = −v − 2x1 x2
sfruttando la relazione su x1 si ottiene:
1
1
ẋ2 = −v − x32 − x2 y 2 − yx32
2
2
Sfruttando la dinamica a zero si ha ẏ = 0 e, quindi, si ottiene:
1
ẋ2 = − x32
2
che è stabile.
Analizziamo infine:



ẋ1





ẋ2
= −x1 e2x2 u
= 2x1 x2 + sin x2 + 12 u



ẋ = 2x2

 3



y = x
3
da cui si ottiene:
ẏ = 2x2
e:
ÿ = 2x2 = 4x1 x2 + 2 sin x2 + u = v
che porta a determinare:
u = v − 4x1 x2 − 2 sin x2
di C.Bettini, A.Guiggiani e T.Lorenzetti
531
55.1 Analisi della dinamica a zero
Notiamo adesso che in ÿ non è presente x3 , quindi dobbiamo vedere se x1 od x2 sono
stabili. Scegliamo (per comodità) x1 :
ẋ1 = −x1 + e2x2 u
da cui si ricava:
ẏ
ẏ
ẋ1 = −x1 eẏ v − 4x1 − 2 sin
2
2
che, per la regolazione a zero (ẏ = 0), diventa:
ẋ1 = −x1 + 1
stabile.
532
di C.Bettini, A.Guiggiani e T.Lorenzetti