"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