Depto. de Ingenier´ Ingenier´ıa ıa de Sistemas y Autom´atica atica
APUNTES DE INGENIER´ IA DE CONTROL
Dani Da niel el Rodr´ Ro dr´ıgue ıg uezz Ra Ram m´ırez ır ez Carlos Bord´ ons ons Alba
Rev. 4/05/2007
´Indice general
Lista de figuras
1. Introducci´ Introducci´ on al control p or computador
XIII
1
1.1. Concepto Conceptoss b´ asicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2. 1.2. Ventaja entajass e incon inconve veni nien entes tes de un sist sistema ema de cont control rol por compu computad tador or . .
2
1.3. 1.3. Funci uncion ones es de un sist sistem emaa de con control trol por por comp comput utad ador or . . . . . . . . . . .
3
1.4. Estructuras de los sistemas de control . . . . . . . . . . . . . . . . . . .
7
1.5. Instrumentaci Instrumentaci´ on o´n espec´ espec´ıfica de los sistema sistemass de de con control trol por compu computado tadorr .
9
1.6. Software de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2. Secuencias y transformada Z
13
2.1. Introduc Introducci´ ci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.2. Secuenci Secuenciaa de ponderac ponderaci´ i´ on
. . . . . . . . . . . . . . . . . . . . . . . . .
14
2.3. Transformada en Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.3.1. 2.3.1. Transform ransformadas adas de alguna algunass se˜ nales t´ıpicas . . . . . . . . . . . . .
16
2.4. Propiedades de la transformada Z . . . . . . . . . . . . . . . . . . . . .
17
i
´INDICE GENERAL
ii
2.5. Transformada Z inversa . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
2.5.1. Serie infinita de potencias . . . . . . . . . . . . . . . . . . . . .
21
2.5.2. 2.5.2. Descompo Descomposic sici´ i´ on en fracciones . . . . . . . . . . . . . . . . . . .
22
2.6. 2.6. Funci´ uncio´n de transferencia en Z . . . . . . . . . . . . . . . . . . . . . . .
24
3. Pro ceso de muestreo
25
3.1. 3.1. Introdu Introducci´ cci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
3.2. Repa epaso de la tran transsforma rmada de Four ourier . . . . . . . . . . . . . . . . . . .
26
3.3. Muestreo de sistemas continuos . . . . . . . . . . . . . . . . . . . . . .
27
3.4. 3.4. Reconstr Reconstrucci ucci´ on o´n de una se˜ nal muestreada . . . . . . . . . . . . . . . . .
29
3.5. Aliasing o enma nmascaram aramiiento ento de frecu recueenci ncias . . . . . . . . . . . . . . . .
31
3.6. 3.6. Obtenci´ Obtenci´ on on de la funci´on o n de trans ransfferen rencia cia pul pulsada . . . . . . . . . . . . .
32
4. An´ alisis de sistemas muestreados
35
4.1. 4.1. Esta Estabi bili lida dad d en sist sistem emas as de con control trol por por comp comput utad ador or . . . . . . . . . . .
35
4.1.1. El criterio de estabilidad de Jury . . . . . . . . . . . . . . . . .
39
4.2. Respuesta Respuesta transitori transitoria: a: relaci´ relaci´ on con con el diagra agram ma de pol polos . . . . . . . . .
41
4.3. Errores en regimen permanente . . . . . . . . . . . . . . . . . . . . . .
49
4.3. 4.3.1. 1. Errore Erroress en regi regimen men perm permane anent ntee para para siste sistemas mas en bucl buclee cerrad cerradoo .
50
4.4. Caracter´ Caracter´ısticas frecuenciales. Correspondencia Correspo ndencia entre el plano s plano s y y el plano z plano z 52 4.4.1. Otras correspon pondencias . . . . . . . . . . . . . . . . . . . . . . .
53
´INDICE GENERAL
iii
5. Dise Dise˜ n ˜o de controladores discretos
59
5.1. Discret Discretiza izaci´ ci´ on de reguladores continuos . . . . . . . . . . . . . . . . . .
59
5.1.1. 5.1.1. Aproxim Aproximaci aci´ on o´ n rect rectan angu gullar haci haciaa dela delan nte (Eul (Euler er I) . . . . . . . .
60
5.1.2. 5.1.2. Aproxim Aproximaci aci´ on o´ n rect rectan angu gullar haci haciaa atra atrass (Eul (Euler er II) II) . . . . . . . . .
62
5.1.3. 5.1.3. Aproxim Aproximaci aci´ on o´ n bili biline neal al (tra (trape pezo zoiidal dal o Tusti ustin) n) . . . . . . . . . . .
63
5.2. Correspon Correspondenc dencia ia s ↔ z para para las las apro aproxi xima maci cion ones es de la inte integr gral al . . . . .
64
5.2.1. Rectangular hacia delante . . . . . . . . . . . . . . . . . . . . .
64
5.2.2. 5.2.2. Rectangu Rectangular lar hacia hacia atr´ atra´s . . . . . . . . . . . . . . . . . . . . . .
65
5.2.3. Trapez pezoidal o Bilineal . . . . . . . . . . . . . . . . . . . . . . .
66
5.3. 5.3. Esta Estabi billidad idad de las apro aproxi xima maci cion ones es de la integr tegral al . . . . . . . . . . . . .
66
5.4. M´etodo etodo de dise˜ disen˜o directo . . . . . . . . . . . . . . . . . . . . . . . . . .
70
5.4.1. Causalidad
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
5.4.2. Estabilidad Interna . . . . . . . . . . . . . . . . . . . . . . . . .
72
5.4. 5.4.3. 3. Erro Errorres en r´egi e gimen perm permaanent ente . . . . . . . . . . . . . . . . . .
74
5.5. 5.5. Contro Controll en un un n´ umero finito de intervalos. Control dead-beat umero Control dead-beat . . . . . .
76
6. Control de sistemas discretos en el espacio de estados
79
6.1. Represen Representaci taci´ on o´n de sist sistem emas as disc discre reto toss en en el el esp espac acio io de esta estado doss . . . . . .
79
6.2. Obtenci Obtenci´ on o´n de la representaci´ o n de en espacio de estados de sistemas on discretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
6.2.1. M´etodo etodo de programaci´ on directa . . . . . . . . . . . . . . . . . .
81
iv
´INDICE GENERAL
6.2.2. M´etodo etodo de programaci´ on anidada . . . . . . . . . . . . . . . . .
83
6.3. 6.3. La repre represen sentaci taci´ o´n en espacio de estados de un sistema no es u´nica . . . on
84
6.4. 6.4. Resoluc Resoluci´ i´ on o n de las ecu ecuaci aciones del del esp espacio cio de estad tados . . . . . . . . . . .
85
6.4.1. Proce ocedimiento recursivo . . . . . . . . . . . . . . . . . . . . . .
85
6.4.2. 6.4.2. Matriz Matriz de trans transici ici´ o´n de estados . . . . . . . . . . . . . . . . . .
86
6.4.3. M´ etodo etodo basado en la transformada transformada Z . . . . . . . . . . . . . . .
87
6.4.3.1. 6.4.3.1. Procedimiento Procedimiento alternativo alternativo para calcular calcular (zI (zI − G)−1 . .
88
6.5. 6.5. Discret Discretizac izaci´ i´ on o n de las las ecua ecuaci cion ones es de esta estado do con contin tinuas uas . . . . . . . . . . .
90
6.6. Controlabilidad y Observabilidad . . . . . . . . . . . . . . . . . . . . .
93
6.6.1. Controlabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
6.6.2. Control trolab abiilidad de la salida comp ompleta . . . . . . . . . . . . . . .
95
6.6.3. Observabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . .
95
6.6.4. Principio de Dualidad . . . . . . . . . . . . . . . . . . . . . . .
97
6.7. Transformaci´ ransformaci´ on o n de un sist sistem emaa en form formas as can´ can´ onic o nicas as . . . . . . . . . . .
97
6.7.1. 6.7.1. Obtenci´ Obtenci´ on on de la forma can´onica controlable . . . . . . . . . . .
98
6.7.2. 6.7.2. Obtenci´ Obtenci´ on on de la forma can´onica observable . . . . . . . . . . . .
98
6.8. 6.8. Colocaci Colocaci´ o´n de polos mediante realimentaci´ on on o n del del vecto ectorr de de est estad ados os . . .
99
6.8.1. 6.8.1. Condici Condici´ o´n necesaria y suficiente para la colocaci´ on on on arbitraria de p olos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
6.8.2. Procedimientos Procedimientos para calcular calcular K . . . . . . . . . . . . . . . . . . 100 6.8.2. 6.8.2.1. 1. Procedim Procedimien iento to alternat alternativ ivo: o: la f´ ormul o rmulaa de Acke Ackerma rmann nn . 102 102
´INDICE GENERAL
v
6.8.3. Control Dead-Beat . . . . . . . . . . . . . . . . . . . . . . . . . 102 6.9. Observadores del estado . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.9.1. Procedimiento iterativo para la estimaci´ on del estado . . . . . . 106 6.9.2. Observador del estado completo . . . . . . . . . . . . . . . . . . 108 6.9.2.1. C´ alculo de K e . . . . . . . . . . . . . . . . . . . . . . . 110 6.9.2.2. Comentarios acerca del papel de K e
. . . . . . . . . . 112
6.9.2.3. Efectos de la adici´ on del observador . . . . . . . . . . . 113 6.9.3. Observador de orden m´ınimo . . . . . . . . . . . . . . . . . . . . 114 6.10. Control o´ptimo LQR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.10.1. Soluci´on de la ecuaci´on de Riccatti . . . . . . . . . . . . . . . . 121 6.11. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7. Modelos de procesos y perturbaciones
123
7.1. Introducci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 7.2. Perturbaciones deterministas a trozos . . . . . . . . . . . . . . . . . . . 124 7.3. Procesos estoc´ asticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 7.4. Modelos de procesos con ruidos . . . . . . . . . . . . . . . . . . . . . . 126
8. Introducci´ on a la identificaci´ on de sistemas
129
8.1. Introducci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 8.2. Ideas b´ asicas sobre identificaci´ on de sistemas . . . . . . . . . . . . . . . 130
´INDICE GENERAL
vi
8.2.1. Planificaci´ on de los experimentos . . . . . . . . . . . . . . . . . 130 8.2.2. Selecci´ on del tipo de modelo . . . . . . . . . . . . . . . . . . . . 131 8.2.3. Elecci´ on de un criterio . . . . . . . . . . . . . . . . . . . . . . . 132 8.2.4. Estimaci´ on de los par´ametros . . . . . . . . . . . . . . . . . . . 132 8.2.4.1. Identificaci´ on en l´ınea . . . . . . . . . . . . . . . . . . 132 8.2.4.2. Identificaci´ on fuera de l´ınea . . . . . . . . . . . . . . . 133 8.2.5. Validaci´on del modelo . . . . . . . . . . . . . . . . . . . . . . . 133 8.2.6. Resumen del proceso de identificaci´ on . . . . . . . . . . . . . . . 135 8.3. Algunas propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 8.3.1. Excitaci´ on persistente . . . . . . . . . . . . . . . . . . . . . . . 136 8.3.2. Convergencia e identificabilidad . . . . . . . . . . . . . . . . . . 137 8.3.2.1. Identificaci´ on en bucle cerrado . . . . . . . . . . . . . . 138 8.3.3. Niveles de supervisi´ on y acondicionamiento . . . . . . . . . . . . 140
9. Identificaci´ on por m´ınimos cuadrados
141
9.1. El m´e todo de los m´ınimos cuadrados . . . . . . . . . . . . . . . . . . . 141 9.2. Algoritmo recursivo para identificaci´ on en linea . . . . . . . . . . . . . 143 9.3. Interpretaci´o n estad´ıstica . . . . . . . . . . . . . . . . . . . . . . . . . . 145 9.4. M´ınimos cuadrados ponderados . . . . . . . . . . . . . . . . . . . . . . 148 9.5. M´ınimos cuadrados extendidos y generalizados . . . . . . . . . . . . . . 149 9.6. Estimaci´ on de los valores de continua . . . . . . . . . . . . . . . . . . . 150
´INDICE GENERAL
vii
9.6.1. Utilizaci´o n de los incrementos de las variables . . . . . . . . . . 151 9.6.2. C´ alculo de los valores medios . . . . . . . . . . . . . . . . . . . 151 9.6.3. Estimaci´ on de una constante . . . . . . . . . . . . . . . . . . . . 151 9.7. Importancia del orden del modelo . . . . . . . . . . . . . . . . . . . . . 152 9.8. Identificaci´ o n de sistemas con retardo o no lineales . . . . . . . . . . . . 155 9.9. Consideraciones finales . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
10.Control de sistemas con grandes retrasos
159
10.1. Sistemas con retraso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 10.1.1. Representaci´on matem´ atica del retraso . . . . . . . . . . . . . . 161 10.1.2. Problem´ a tica del control de sistemas con retraso . . . . . . . . . 162 10.2. El Predictor de Smith . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 10.2.1. Efecto de los errores de modelado en el Predictor de Smith . . . 170 10.2.2. El Predictor PI . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 10.2.3. El Predictor de Smith para sistemas en tiempo discreto . . . . . 172 10.3. Control de sistemas con respuesta inversa . . . . . . . . . . . . . . . . . 173
11.Control de procesos con perturbaciones medibles
177
11.1. Introducci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 11.2. Control en cascada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 11.2.1. Estructura de un sistema de control en cascada . . . . . . . . . 179
´INDICE GENERAL
viii
11.2.2. Sintonizaci´ o n de controladores en cascada . . . . . . . . . . . . 180 11.3. Control anticipativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 11.3.1. Consideraciones pr´ acticas sobre los controladores anticipativos . 183
12.Control de procesos multivariables
185
12.1. Introducci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 12.2. Sistemas multivariables . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 12.3. Medida de las interacciones. M´etodo de Bristol . . . . . . . . . . . . . . 188 12.4. Control de procesos multivariables mediante desacoplo . . . . . . . . . 192
13.Introducci´ on al control adaptativo
199
13.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . 199 13.1.1. Clasificaci´ on grosso modo de los sistemas de control adaptativo . 201 13.2. Justificaci´ o n del uso de control adaptativo . . . . . . . . . . . . . . . . 202 13.3. Control adaptativo por modelo de referencia (MRAC) . . . . . . . . . . 205 13.3.1. La regla del MIT . . . . . . . . . . . . . . . . . . . . . . . . . . 207
14.Reguladores Autoajustables (STR)
211
14.1. Introducci´ on. Estructura general de los STR . . . . . . . . . . . . . . . 211 14.1.1. Algoritmos con estructura impl´ıcita y expl´ıcita . . . . . . . . . . 213 14.2. Control por M´ınima Varianza . . . . . . . . . . . . . . . . . . . . . . . 214 14.2.1. El regulador de m´ınima varianza generalizado . . . . . . . . . . 217
´INDICE GENERAL
ix
14.3. Asignaci´on de polos y ceros . . . . . . . . . . . . . . . . . . . . . . . . 218 14.3.1. Algoritmo con estructura impl´ıcita. . . . . . . . . . . . . . . . . 221 14.3.2. Algoritmo con estructura expl´ıcita . . . . . . . . . . . . . . . . . 222
15.Controladores PID con autoajuste y Ajuste por tabla
223
15.1. Introducci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 15.2. Funci´on de autoajuste (autotuning ) . . . . . . . . . . . . . . . . . . . . 223 15.3. Funciones de autoajuste para PIDs . . . . . . . . . . . . . . . . . . . . 225 15.3.1. T´ecnicas de ajuste basadas en la respuesta transitoria . . . . . . 226 15.3.2. M´etodos basados en las oscilaciones producidas al realimentar con un rel´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 15.4. La t´ecnica de ajuste por tabla o gain scheduling . . . . . . . . . . . . . 228 15.5. Controladores adaptativos industriales . . . . . . . . . . . . . . . . . . 231 15.5.1. SattControl ECA40 y Fisher-Rosemount DPR900 . . . . . . . . 233 15.5.2. Foxboro EXACT . . . . . . . . . . . . . . . . . . . . . . . . . . 233 15.5.3. ABB Novatune . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
16.Control Predictivo Basado en Modelo (MPC)
235
16.1. Perspectiva hist´ orica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 16.2. Conceptos b´ asicos de control predictivo . . . . . . . . . . . . . . . . . . 236 16.3. Estrategia de los controladores predictivos . . . . . . . . . . . . . . . . 237 16.4. Elementos b´ asicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
´INDICE GENERAL
x
16.4.1. Modelo de predicci´ on . . . . . . . . . . . . . . . . . . . . . . . . 240 16.4.1.1. Respuestas libre y forzada . . . . . . . . . . . . . . . . 243 16.4.2. Funci´on objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . 244 16.4.3. Obtenci´o n de la ley de control . . . . . . . . . . . . . . . . . . . 247 16.5. Revisi´on de los principales algoritmos . . . . . . . . . . . . . . . . . . . 248 16.5.0.1. Dynamic Matrix Control . . . . . . . . . . . . . . . . . 248 16.5.0.2. Model Algorithmic Control . . . . . . . . . . . . . . . 249 16.5.0.3. Predictive Functional Control . . . . . . . . . . . . . . 249 16.5.0.4. Extended Prediction Self Adaptive Control
. . . . . . 250
16.5.0.5. Extended Horizon Adaptive Control . . . . . . . . . . 251 16.5.0.6. Generalized Predictive Control . . . . . . . . . . . . . 252
17.Controladores predictivos
253
17.1. Dynamic Matrix Control . . . . . . . . . . . . . . . . . . . . . . . . . . 253 17.1.1. Predicci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 17.1.2. Perturbaciones medibles . . . . . . . . . . . . . . . . . . . . . . 255 17.1.3. Algoritmo de control . . . . . . . . . . . . . . . . . . . . . . . . 256 17.1.3.1. El caso con restricciones . . . . . . . . . . . . . . . . . 258 17.1.3.2. Extensi´ on al caso multivariable . . . . . . . . . . . . . 259 17.2. Control Predictivo Generalizado . . . . . . . . . . . . . . . . . . . . . . 260 17.2.1. Formulaci´ o n del Control Predictivo Generalizado . . . . . . . . 260
´INDICE GENERAL
xi
17.2.1.1. Predicci´ on o´ptima . . . . . . . . . . . . . . . . . . . . 261 17.2.1.2. Obtenci´ on de la ley de control . . . . . . . . . . . . . . 265 17.2.2. Ejemplo de c´ alculo . . . . . . . . . . . . . . . . . . . . . . . . . 265 17.2.3. Caso multivariable . . . . . . . . . . . . . . . . . . . . . . . . . 267
18.Otros aspectos del Control Predictivo
269
18.1. Restricciones en Control Predictivo . . . . . . . . . . . . . . . . . . . . 269 18.1.1. Tratamiento convencional de restricciones . . . . . . . . . . . . 269 18.1.2. Restricciones en Control Predictivo . . . . . . . . . . . . . . . . 271 18.1.3. Resoluci´ on del problema . . . . . . . . . . . . . . . . . . . . . . 273 18.1.4. Gesti´on de restricciones
. . . . . . . . . . . . . . . . . . . . . . 274
18.1.4.1. T´ecnicas de b´ u squeda de soluciones factibles . . . . . . 275
xii
´INDICE GENERAL
´Indice de figuras 1.1. Selecci´ o n de que datos se deben guardar, con que frecuencia y en que formato en los hist´ o ricos de un sistema de control por computador. . .
4
1.2. Todos los sistemas de control por computador presentan m´ımicos m´ as o menos realistas con la informaci´o n de la planta. . . . . . . . . . . . . .
5
1.3. Herramientas para creaci´ on de m´ımicos en un sistema de control por computador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.4. Los hist´ oricos presentan informaci´ on relevante sobre la evoluci´ on de las variables monitorizadas bien en forma gr´ afica o num´erica. . . . . . . .
6
1.5. Tareas de un sistema de control por computador . . . . . . . . . . . . .
7
1.6. Sistema de control con estructura centralizada.
. . . . . . . . . . . . .
7
1.7. Sistema de control con estructura distribuida. . . . . . . . . . . . . . .
8
1.8. Sistema de control con estructura jer´ arquica.
9
. . . . . . . . . . . . . .
1.9. Esquema de un sistema de control por computador .
. . . . . . . . . .
10
1.10. Simulink es un lenguaje gr´afico que se puede utilizar para programar algoritmos de control. . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.1. Secuencia de ponderaci´ on de un sistema. . . . . . . . . . . . . . . . . .
14
2.2. Secuencias de entrada, salida y ponderaci´ on de un sistema. . . . . . . .
24
xiii
´INDICE DE FIGURAS
xiv
3.1. 3.1. Esqu Esquem emaa de un sist sistem emaa de con control trol por por comp comput utad ador or.. . . . . . . . . . . .
25
3.2. 3.2. Muestrad Muestrador or mediant mediantee impulsos impulsos y mantene mantenedor dor o retenerdor retenerdor de orden orden cero. 26 3.3. 3.3. Mues Muestr trea eado dorr media edian nte impu impullsos sos como como modu moduad ador or.. . . . . . . . . . . . .
27
3.4. 3.4. Espectro Espectro en frecue frecuenci nciaa de una se˜ nal muestreada, observ´ andose andose como se repite el espectro original atenuado cada ωs = 2T π . . . . . . . . . . . . .
29
3.5. 3.5. Uso de un filtro paso banda banda para obtener obtener el espectro en frecuenc frecuencia ia de la se˜nal ori original a parti rtir del de la mues uestre treada ada. . . . . . . . . . . . . . . .
29
3.6. 3.6. Espectro Espectro en frecuen frecuencia cia de una se˜ nal muestreada con una frecuencia de muestreo insuficiente (tiempo de muestreo demasiado alto) para poder reconstruir la original. . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
3.7. 3.7. Repetici Repeticiones ones en frecuenc frecuencia ia del espectro espectro de una se˜ nal muestreada en las que que el tiem tiempo po de muest muestreo reo es el el l´ l´ımit ımitee para para poder poder reco recons nstru truir ir.. . . . . .
30
3.8. 3.8. Ilustra Ilustraci´ ci´ on del aliasing.
32
. . . . . . . . . . . . . . . . . . . . . . . . . .
4.1. 4.1. Evolu Evoluci´ ci´ on de una secuencia de la forma (4.3) para distintos valores de p on de p i . 37 4.2. 4.2. Frontera rontera de la la regi´ region o´n de estabilidad en el plano z . . . . . . . . . . . . .
37
4.3. 4.3. Regi´ Regi´ on del espacio de coeficientes de un polinomio de la forma z on forma z 2 + a1 z + z + a2 = 0 en la que las raices est´an a n den dentro tro del del c´ırcu ırculo lo unid unidad ad.. . . . . . . .
42
4.4. Respuestas Respuestas transitorias transitorias correspondien correspondientes tes a la localizaci´ localizaci´ on de varios polos complejos conjugados en el plano s (a). Respuestas transitorias a los correspon pondientes pol polos discretos (b). . . . . . . . . . . . . . . . . . . .
43
4.5. Respuestas Respuestas transitorias transitorias correspondien correspondientes tes a la localizaci´ localizaci´ on de varios polos complejos conjugados co njugados en e n los l´ımites de las franjas periodicas perio dicas del plano s plano s (c). Respues Respuestas tas trans transitor itorias ias a los correspon correspondie diente ntess polos polos discre discretos tos (d). (d). .
44
4.6. 4.6. Respu Respuest estas as ant antee un imp impul ulso so para para un sis siste tema ma con con un un polo polo en el el eje eje real real..
45
´INDICE DE FIGURAS
xv
4.7. Respuest Respuestas as ante un impulso impulso para un sistem sistemaa con polos conjugad conjugados os en el eje imaginario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
4.8. Respuestas Respuestas ante un impulso impulso para para un sistema sistema con polos conjugados conjugados dentro dentro del circulo unidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
4.9. Respuest Respuestas as ante un impulso impulso para un sistem sistemaa con polos conjugad conjugados os en el circulo unidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
4.10. Regiones de interes en el plano s. . . . . . . . . . . . . . . . . . . . . .
53
4.11. Puntos de interes en la franja primaria del plano s. . . . . . . . . . . .
54
4.12. Lugares de atenuaci´ on on constante en el plano s y z . z .
. . . . . . . . . . .
55
4.13. Lugares de frecuencia constante en el plano s y z . . . . . . . . . . . . .
56
4.14. Lugares de amortiguaci´ on y frecuencia natural constante en el plano s. on
57
4.15. Lugares de amortiguaci´ on on constante en el plano z .
57
. . . . . . . . . . .
4.16. Lugares de amortiguaci´ on y frecuencia natural constante en el plano z . on
58
5.1. Aproxim Aproximaci´ aci´ on o n rect rectan angu gullar haci haciaa dela delan nte de la inte integr gral al..
. . . . . . . . .
60
5.2. Aproxim Aproximaci´ aci´ on o n rect rectan angu gullar haci haciaa detr detras as de la inte integr gral al.. . . . . . . . . . .
62
5.3. Aproxim Aproximaci´ aci´ on bilineal de la integral. . . . . . . . . . . . . . . . . . . .
63
5.4. Integr Integral al de u(t) para un per periodo odo de muestreo. . . . . . . . . . . . . . .
65
5.5. 5.5. Regi´ Regi´ on de estabilidad en el plano s (sombreada). on
. . . . . . . . . . . .
67
5.6. Transformaci´ ransformaci´ on on en el plano z de de la regi´on on de estabilidad del plano s al aplicar la aproximaci´on o n rect rectan angu gula larr haci haciaa dela delan nte (som (sombr brea eada da). ). . . . .
67
5.7. Transformaci´ ransformaci´ on on en el plano z de de la regi´on on de estabilidad del plano s al aplicar la aproximaci´on bilineal (sombreada). . . . . . . . . . . . . . .
68
´INDICE DE FIGURAS
xvi
5.8. Transformaci´ ransformaci´ on on en el plano z de de la regi´on on de estabilidad del plano s al aplicar la aproximaci´ on rectangular hacia atr´ on as (sombreada). . . . . .
69
6.1. 6.1. Diagram Diagramaa de bloques bloques de la represent representaci´ aci´ on en espacio de estados de un sistema LTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
6.2. 6.2. Diagram Diagramaa de bloques de un sistema sistema control controlado ado por una realimen realimentaci taci´ on ´ del vector de estados. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
6.3. Diagrama Diagrama de bloques de un sistema LTI LTI controlado controlado mediante mediante una realirealimentaci´ on on del vector vector de estados estados que estima el estado con un observ observador ador.. 109 6.4. 6.4. Diag Diagra rama ma de bloqu bloques es de un obse observ rvad ador or de orde orden n com compl plet eto. o. . . . . . . . 109 109
7.1. 7.1. Procesos Procesos estoc´ asti astico cos: s: real realiz izac acio ione ness y var varia iabl bles es alea aleato tori rias as..
. . . . . . . 125 125
7.2. Mode odelo de Box-Jenkins. . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.1. 8.1. Esquema Esquema de la iden identifi tificaci caci´ o´n en l´ınea.
. . . . . . . . . . . . . . . . . . 133
8.2. 8.2. Diagram Diagramaa de flujo del proceso proceso de identifica identificaci´ ci´ on. . . . . . . . . . . . . . 135 8.3. 8.3. Ejemp Ejemplo lo de de se˜ nal de entrada del tipo PRBSS. . . . . . . . . . . . . . . 137
9.1. Diagrama Diagrama de flujo flujo del proceso de identificaci´ identificaci´ on media me diante nte m´ınimos ıni mos cuad c uadrarados recursivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 9.2. 9.2. Diagram Diagramaa de Bode de un sistema sistema de segundo segundo orden (linea (linea contin continua) ua) y de un modelo de primer orden estimado para una entrada senoidal de frecuencia ω = 0,2 rad × s−1 . . . . . . . . . . . . . . . . . . . . . . . . 153 9.3. 9.3. Misma Misma situaci situaci´ o´n que en la figura 9.2 pero con una se˜ on nal nal de entrada − 1 senoidal de frecuencia ω frecuencia ω = 1 rad × s . . . . . . . . . . . . . . . . . . . 153 9.4. 9.4. Evolu Evoluci´ ci´ on on de los par´ametros ametros identificados en un caso de sobreparametrizaci´ on. 154
´INDICE DE FIGURAS
xvii
9.5. Evolu Evoluci´ ci´ on on de unos par´ametros ametros frente a otros para el modelo sobreparametrizado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10. 10.1. Eje Ejemplo de sistema ema con retr retras asoo. . . . . . . . . . . . . . . . . . . . . . . 160 10.2. Sistema de control realimentado para un proceso con retraso tm. . . . . 161 10.3. Diagrama de Bode para distintos valores de un retraso puro e−tm s . . . . 162 10.4. Diagrama de Bode para distintos valores de un retraso puro t puro t m s para el 10 − tm s sistema C (s)G(s)e con C (s) = 1 y G(s) = 1+s . . . . . . . . . . . . 163 10.5. Diagrama de Bode para distintos valores de tm s para el sistema de la figura 10.4 con C (s) = 0,2. . . . . . . . . . . . . . . . . . . . . . . . . 164 10.6. Sistema de control realimentado para un proceso con retraso donde el sens ensor se se ha dispuest esto antes tes del retar etard do. . . . . . . . . . . . . . . . . . 165 10.7. Sistema de control en donde se realimenta la predicci´ on o n de la salida medi ediante un mode odelo en bucle cle abi abierto. rto. . . . . . . . . . . . . . . . . . . . 166 166 10. 10.8. Est Estruc ructura tura del Predi edictor tor de Smi Smith. th. . . . . . . . . . . . . . . . . . . . . 167 10.9. Bode de C (s)G(s) para el ejemplo. . . . . . . . . . . . . . . . . . . . . 168 10.10. 10.10 .Bode Bod e de C (s)G(s) para el ejemplo, desintonizando el controlador de mane manera ra que que la la gan ganan anci ciaa sea sea cuat cuatro ro veces eces meno menor. r. . . . . . . . . . . . . . 169 169 10.11.Respuesta Respuesta del de l sistema en bucle cerrado cerrad o con el e l controlador desintonizado de mane manera ra que que la la gan ganan anci ciaa sea sea cua cuatr troo vec veces es meno menor. r. . . . . . . . . . . . 169 169 10.12.Respuesta Respuesta del sistema en bucle cerrado con el predictor de smith (trazo solid solido) o) comp compara arada da con con la del del lazo lazo sim simpl plee (trazo (trazo disco discont ntin inuo) uo).. . . . . . . 170 10.13.Respuestas Respuestas del sistema en bucle cerrado con el predictor de d e smith cuando se tienen diversos errores en la estimaci´ on del retardo. . . . . . . . . . . 172 10. 10.14.Est E struct ructu ura del Predi edictor tor PI. PI. . . . . . . . . . . . . . . . . . . . . . . . . 172
xviii
´INDICE DE FIGURAS
10. 10.15. 15.Algo A lgori ritm tmoo del del Pred Predic icto torr de Smit Smith. h. . . . . . . . . . . . . . . . . . . . . . 173 173 10.16. 10.16.Estru E structu ctura ra de con contro troll para para proce procesos sos con resp respues uesta ta inv invers ersa. a. . . . . . . . 175 175 10.17.Ejemplo Ejemplo de control de un sistema siste ma de fase no m´ınima con un PI usando usa ndo un lazo simple de realimentaci´ on (trazo discontinuo) y la estructura de on control control para procesos con respuesta inversa inversa propuesta en la figura 10.16. 176 11.1. Ejemplo de sistema con perturbaci´ on a la entrada. . . . . . . . . . . . . 178 11.2. Ejemplo de sistema con perturbaci´ on a la entrada. . . . . . . . . . . . . 179 11.3. Ejemplo de sistema con perturbaci´ on a la salida. . . . . . . . . . . . . . 182 11.4. Sistema con perturbaci´ on a la salida controlado con un lazo simple de on realimentaci´ on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 11.5. Sistema Siste ma con perturbaci´ perturbac i´on on a la salida controlado con un control anticipativo.183 11.6. Sistema con perturbaci´ on a la salida controlado con un control anticion pati ativo con contr ontrol ol real ealiment entado ado. . . . . . . . . . . . . . . . . . . . . . . 184 12.1. Respuesta de un sistema multivariable de dos entradas y dos salidas cuando se aplican escalones en sus entradas. Pueden observarse las interacciones teracciones en el hecho de que las salidas salidas var´ ar´ıan cuando las entradas entradas respec pectivas est´an en repos poso. . . . . . . . . . . . . . . . . . . . . . . . . 186 12.2. Representaci´ on o n de un sist sistem emaa mul multi tiv varia ariabl blee de de ord orden en 2. . . . . . . . . . 186 186 12.3. Representaci´ on de un sistema multivariable de orden 2 en bucle cerrado on con dos cont ontrol roladores ores multiv tivariables bles.. . . . . . . . . . . . . . . . . . . . 187 12.4. Representaci´ on on de un sistema sistema mult multiv ivari ariable able contr controla olado do por desacoplo desacoplo.. . 194 12.5. Respuesta del sistema multivariable del ejemplo cuando se aplican escalones en sus entradas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 12.6. Respuesta del sistema multivariable desacoplado cuando se aplican escalones en sus entradas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
´INDICE DE FIGURAS
xix
12.7. Simulaci´on o n del del sist sistem emaa mul multi tiv varia ariabl blee en bucl buclee cerr cerrad ado. o. . . . . . . . . . . 197 197
13.1. Configuraci´ on o n gen´ gen´erica e rica de un cont control rolado adorr ada adapta ptati tiv vo. . . . . . . . . . . 200 13.2. Sistema realimentado con actuador con caracter´ caracter´ıstica v = f = f ((u).
. . . . 2 03
13.3. Sistema realimentado con actuador con caracter´ caracter´ıstica v = f = f ((u).
. . . . 2 03
13.4. Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema dado en (13.1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 13.5. Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema dado en (13.2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 13.6. Configuraci´ on on gen´erica erica de un controlador adaptativo por p or modelo mo delo de referencia (MRAC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
14.1. Configuraci´ on on gen´ gen´ erica erica de un regulado reguladorr o control controlador ador autoajustab autoajustable. le.
. 212
14.2. Configuraci´ on on gen´ gen´ erica erica de un regulado reguladorr o control controlador ador autoajustab autoajustable. le.
. 213
14.3. Divisi´on de de pol poliinomios par paraa el el ej ejemp emplo 14. 14.2. . . . . . . . . . . . . . . . 217 14.4 14.4.. Estr Estruc uctu tura ra para para la asig asigna naci ci´´on o n de polos polos y cer ceros os..
. . . . . . . . . . . . . 219 219
15.1. PID industrial moderno con funci´ on on de autoajuste autoajuste (ABB (ABB modelo ECA). ECA). 225 15.2. Determinaci´ on o n de T y L por a´reas. . . . . . . . . . . . . . . . . . . . . 227 15.3. Estructura usada en el m´ m´etodo etodo basado en en oscilaciones oscilaciones de rel´ rel´e. e. . . . . . 228 15.4. Configuraci´ on on gen´erica erica de un controlador adaptativo con co n adaptaci´ ad aptaci´ on en bucle abierto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 15.5. Curva de pH para una soluci´on o n de HCl HCl 0.0 0.001 01 M y NaOH aOH 0.0 0.001 01 M. 15.6 15.6.. Ca Cara ract cter er´´ısti ıstica ca apro aproxi xima mada da de una una son sonda da lam lambda
. . 230 230
. . . . . . . . . . . . 231 231
xx
´INDICE DE FIGURAS
15.7. La herramienta Novatune se comercializa actualmente con el sistema Advant 410 de ABB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 16.1. Estrategia del Control Predictivo . . . . . . . . . . . . . . . . . . . . . 238 16.2. Estructura b´ asica del MPC . . . . . . . . . . . . . . . . . . . . . . . . . 239 16.3. Respuesta impulsional y ante escal´ on . . . . . . . . . . . . . . . . . . . 241 16.4. Respuestas libre y forzada . . . . . . . . . . . . . . . . . . . . . . . . . 244 16.5. Trayectoria de referencia . . . . . . . . . . . . . . . . . . . . . . . . . . 246 16.6. Puntos de coincidencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 17.1. Ley de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 17.2. Punto de operaci´ on o´ ptimo de un proceso t´ıpico . . . . . . . . . . . . . 258 18.1. Restricciones y punto de operaci´on optimo ´ . . . . . . . . . . . . . . . . 270 18.2. Restricciones en la se˜ nal de control . . . . . . . . . . . . . . . . . . . . 271 18.3. Gesti´on de restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Cap´ıtulo 1 Introducci´ on al control por computador 1.1.
Conceptos b´ asicos
El control por computador surge de la evoluci´ on del control an´ alogico cl´ asico (usado extensivamente en sistemas mec´ anicos, el´ectricos y electr´ onicos), en la cual el computador se ve como medio para ampliar las capacidades y funcionalidades de los sistemas de control. Esa incorporaci´ on del computador digital comienza ya en etapas tan tempranas del desarrollo de los computadores como la d´ecada de 1950. En esa ´epoca el uso que se le daba al computador en los sistemas de control era el de supervisor de los lazos de control an´ alogico tradicional. El siguiente paso es el de sustituir directamente a los controladores an´ alogicos (habitualmente de tipo PID) en lo que se vino a llamar el Control Digital Directo. En este tipo de control el computador calcula la se˜ nal de control que se aplicar´ a directamente al proceso. La d´ecada de los 70 ve la aparici´ on de los microprocesadores como sustitutos en un solo circuito integrado de los principales componentes de un computador. La dram´ atica reducci´on de costes, espacio y consumos unido a la escalada en prestaciones hace que se contemple dedicar un sistema basado en microprocesador a cada lazo de control, descargando de tareas al computador central. Esto lleva a la aparici´ on de los sistemas de control distribuidos en los que diversos computadores se reparten las distintas tareas de control de una planta. Esos computadores se conectar´ an entre si mediante diferentes topolog´ıas de red, propiciando la aparici´ on de normas de interconexi´ on espec´ıficas de los entornos industriales: los buses de campo. Dentro de las redes se pueden establecer 1
2
VENTAJAS E INCONVENIENTES DE UN SISTEMA DE CONTROL POR COMPUTADOR
jerarqu´ıas entre los diversos controladores y computadores conectados. As´ı se establecen diversos niveles de supervisi´ on y control. En ´epocas m´ as reciente, los sistemas de control han ido ocupando cada vez m´as campos de aplicaci´ on de los controladores cl´ asicos como por ejemplo el sector de automoci´ on y los sistemas de control de vuelo. Por otra parte el abaratamiento y simplificaci´on de estas tecnolog´ıas han hecho que acaben aplicando incluso en el entorno dom´estico dentro del campo de la dom´ otica. El avance de este tipo de sistemas de control es tal que hoy en dia ya no se concibe ninguna aplicaci´ on de control autom´ atico de cierta complejidad en la que no se haga uso del control por computador como tecnolog´ıa principal. Esta tecnolog´ıa tiene su propia idiosincracia, diferente a la de la tecnolog´ıa cl´ asica, de ah´ı que surja una teor´ıa espec´ıfica que trata con estos sistemas: la teor´ıa del control por computador.
1.2.
Ventajas e inconvenientes de un sistema de control por computador
Toda tecnolog´ıa nueva suele venir cargada de ventajas pero tambi´en suele presentar nuevos inconvenientes. En esta secci´ on se describir´ an brevemente ambas caracter´ısticas. Dentro de las principales ventajas del control por computador podemos encontrar:
Los sistemas de control por computador son m´ as eficientes a la hora de controlar sistemas complejos. Adem´ as al ser sistemas programables, se pueden incorporar algor´ıtmos de control m´ as sofisticados que los que se pueden realizar con componentes anal´ ogicos. Mayor flexibilidad a la hora de cambiar la sinton´ıa o incluso el algoritmo de control de un lazo determinado. Esta mayor flexibilidad viene dada por el hecho de que el software es intr´ınsecamente m´ as flexible que el hardware. Mayor precisi´ on en los c´alculos. Con instrumentaci´ on anal´ ogica alcanzar una alta precisi´on en los c´ alculos es muy caro, mientras que con los computadores digitales la precisi´on en muchos casos es arbitraria. Invariabilidad de los c´alculos. No hay envejecimiento ni derivas ya que los c´ alculos se realizan usando aritm´etica digital.
´ AL CONTROL POR COMPUTADOR CAP ´ITULO 1. INTRODUCCI ON
3
Centralizaci´ on de la informaci´ on en un sistema que coordina todas las funciones. Informaci´on con marcas precisas de tiempo. Los sistemas de control por computador presentan muchas funciones adicionales y complementarias como por ejemplo visualizaci´ on de la informaci´ on, gesti´ on de hist´oricos, alarmas, c´ alculos estad´ısticos sobre el rendimiento, etc. . .
Por otra parte los sistemas de control por computador tambi´ en presentan inconvenientes, entre ellos:
Coste elevado. Este coste es adem´ as muy dependiente del n´ u mero de lazos de control que se hayan de implementar. Problemas de fiabilidad. Si hay mucha centralizaci´ on, todo depende de un computador. Se ha de usar un equipo de respaldo (backup) que releve al computador principal en caso de fallo de este. Las estructuras de control distribuido palian este problema al no existir un computador central que deba ocuparse de todo.
1.3.
Funciones de un sistema de control por computador
Las tareas que un sistema de control por computador realiza van m´ as all´a de las de control que realiza un sistema de control cl´ asico. El primer grupo de funciones que se pueden enumerar es la de adquisici´ on y tratamiento de datos. El sistema adquiere las se˜ nales y realiza operaciones de adecuaci´on entre las que se encuentran:
Filtrado de se˜ nales. Linealizaci´on de la caracter´ıstica de sensores y actuadores. Conversi´ on a unidades de ingenier´ıa.
Adem´as de esas funciones de tratamiento de la se˜ nal se realizan otras tareas entre las que se incluyen:
4
FUNCIONES DE UN SISTEMA DE CONTROL POR COMPUTADOR
Almacenamiento de los datos adquiridos en hist´ oricos. Se seleccionan que datos se almacenar´ an y en que formato (ver figura 1.1). C´alculos auxiliares: rendimientos, consumos, etc. . . An´alisis estad´ısticos.
Figura 1.1: Selecci´on de que datos se deben guardar, con que frecuencia y en que formato en los hist´ oricos de un sistema de control por computador.
Otra de las tareas m´ as importantes de un sistema de control es la de presentar la informaci´on disponible del sistema al operador. El objeto de esta informaci´ o n es el de la monitorizaci´ on y supervisi´on de la planta. Esta tarea se realiza dentro del interfaz hombre-m´ a quina (MMI o HMI) que desempe˜ na entre otras las siguientes tareas de comunicaci´ on con el usuario: Presentaci´ o n de la informaci´ o n de la planta (medidas de sensores, valores en los actuadores, etc. . . ) mediante un m´ımico o sin´ optico (ver figura 1.2). Estos m´ımicos se refrescan en tiempo real por lo que el operador tiene en todo momento una visi´on clara de lo que ocurre en la planta. Todos los sistemas de control por computador incluyen librer´ıas y herramientas para crear m´ımicos m´ as o menos realistas de la planta que se controla (ver figura 1.3). Otra de las tareas del MMI es la gesti´ on de alarmas ante condiciones anormales de operaci´ on de la planta y su presentaci´ on al operador. Las alarmas se traducen en avisos al operador y se pueden tratar en funci´ on de su importancia. Adem´ as las incidencias y alarmas se almacenan en las bases de datos del sistema de control por computador.
´ AL CONTROL POR COMPUTADOR CAP ´ITULO 1. INTRODUCCI ON
5
Figura 1.2: Todos los sistemas de control por computador presentan m´ımicos m´as o menos realistas con la informaci´on de la planta.
Figura 1.3: Herramientas para creaci´ on de m´ımicos en un sistema de control por computador.
6
FUNCIONES DE UN SISTEMA DE CONTROL POR COMPUTADOR
Los sistemas de control por computador son capaces adem´ as de ayudar o asistir en la toma de decisiones sobre la manera de operar el sistema. Suele ser habitual el uso de simuladores que permiten ensayar y ver el efecto de cambios en la planta sin tener que realizarlos sobre el sistema real. Complementando a los simuladores se pueden encontrar en algunos sistemas de control por computador programas de inteligencia artificial como los sistemas expertos, que tienen la misi´ on de sugerir cual es la posible soluci´on a cualquier incidencia que se presente o indicar los puntos de funcionamiento o modos de operaci´ o n que sean m´as productivos. Es decir, un sistema experto emula el conocimiento de un experto humano .
Otra de las funciones mas importantes de un sistema de control por computador es la de almacenar hist´ oricos (ver figura 1.4) de todas las variables (sensores, actuadores, etc. . . ) que se considere necesario (no necesariamente s´ olo las que se muestran en los m´ımicos). Esta informaci´on es de gran utilidad para analizar el funcionamiento del proceso, estudiar el efecto de cambios en la operaci´ on del sistema y averiguar las causas de fallos y alarmas.
Figura 1.4: Los hist´oricos presentan informaci´on relevante sobre la evoluci´on de las variables monitorizadas bien en forma gr´afica o num´erica.
Adem´as de las tareas de adquisici´ on de datos y de monitorizaci´ on otras dos tareas fundamentales de un sistema de control por computador son el telemando y el control en s´ı mismo (figura 1.5. El telemando consiste en la posibilidad que se le da al operador de modificar manualmente desde el puesto de control los valores de actuadores, etc. . . Por otra parte en la tarea de control, el computador cierra el bucle de realimentaci´ on dejando al operador la tarea de cambiar los puntos de consigna o referencia a seguir.
´ AL CONTROL POR COMPUTADOR CAP ´ITULO 1. INTRODUCCI ON
7
Figura 1.5: Tareas de un sistema de control por computador .
1.4.
Estructuras de los sistemas de control
Los sistema de control por computador presentan distintos tipos de estructuras en funci´on de la forma en la que se conectan los distintos elementos, de la concentraci´ on de funciones en ellos y de las tareas asignadas. Una de las primeras estructuras en emplearse fue la estructura centralizada . En esta estructura un s´ olo computador central realiza todas las tareas antes mencionadas (ver figura 1.6). Aunque esta estructura estaba plenamente justificada cuando los computadores eran muy costosos, presenta bastantes problemas. En primer lugar se depende de un s´olo equipo para todas las tareas. Si ´este falla todo falla. Por tanto la fiabilidad de esta estructura es baja. Por otra parte la instalaci´ on es costosa en el sentido de que el cableado se complica mucho al tener que conectarse todos los elementos de la planta al computador. En la pr´ actica adem´ as es necesario tener un computador de reserva o al menos paneles de controladores convencionales. Esta estructura es bastante r´ıgida y dificil de ampliar.
Figura 1.6: Sistema de control con estructura centralizada.
8
ESTRUCTURAS DE LOS SISTEMAS DE CONTROL
Una estructura alternativa es la estructura distribuida . En esta estructura (ver figura 1.7), diversos elementos de control y computadores se conectan a traves de una red (llamada bus de campo) que reparte datos y se˜ nales entre ellos. Esta estructura es m´as fiable y redundante por lo que hay una mayor seguridad ante fallos. Las tareas y responsabilidades se reparten entre los distintos elementos y se obtiene mayor rapidez de procesamiento y respuesta. Adem´ as el coste de instalaci´ o n es menor pues los controladores se situan m´ as cerca de los elementos de medida y control. Sin embargo se impone la necesidad de definir y usar est´ andares de interconexi´ on y protocolos de comunicaciones.
Figura 1.7: Sistema de control con estructura distribuida.
Finalmente, en los sistemas de control distribuidos puede adem´ as imponerse una estructura jer´ arquica (ver figura 1.8), en las que se definen distintos niveles de complejidad en los elementos de control y en las tareas que estos realizan. Los niveles m´ as bajos vendr´ an ocupados por controladores de bajo nivel, sensores inteligentes y actuadores. Los niveles intermedios estar´ an ocupados por controladores programables, aut´ omatas y computadores con software de control. Los niveles m´ as altos estar´ an ocupados por m´aquinas m´as complejas y computadores con el software m´ as complejo. Es de destacar que los tiempos de ciclo de estos elementos son m´ as largos cuanto m´ as alto sea el nivel.
´ AL CONTROL POR COMPUTADOR CAP ´ITULO 1. INTRODUCCI ON
9
Figura 1.8: Sistema de control con estructura jer´arquica.
1.5.
Instrumentaci´ on espec´ıfica de los sistemas de control por computador
Los sistemas de control por computador poseen instrumentaci´ on espec´ıfica diferente de aquella que encontramos en los sistemas convencionales (ver figura 1.9). Algunos de esos elementos son inherentes a la naturaleza digital de estos sistemas, por ejemplo los convertidores anal´ ogico/digital y digital/anal´ ogico. Estos convertidores traducen las se˜nales anal´ ogicas de los sensores a valores num´ericos entendibles por el computador (y al reves) y lo hacen de manera cuantizada con una resoluci´ on que viene determinada por el n´ umero de cifras binarias (bits ) asignadas a cada medida proporcionada por el convertidor. Por otra parte un sistema de control por computador lee los valores de los sensores y manda los valores correspondientes a los actuadores s´ olo en determinados instantes de tiempo generalmente separados por un intervalo de tiempo fijo (intervalos de muestreo). Es decir son elementos muestreados y discretos. Para mantener la aplicaci´on de los valores en los actuadores se emplean mantenedores de se˜ nal. El tipo m´as com´ un es el mantenedor de orden cero (MOC) que mantiene la se˜ nal constante entre intervalos de muestreo. Aparte de los elementos anteriormente mencionados en un moderno sistema de control por computador podemos encontrar otros elementos m´ as sofisticados como sensores inteligentes que proporcionan las medidas ya tratadas, filtradas y/o digitalizadas. Adem´as pueden realizar operaciones con distintas medidas o inferir magnitudes indirectamente a partir de otras.
10
SOFTWARE DE CONTROL
SINCRONÍA
REF
ERROR
COMPUTADOR
ENTRADA
C. D/A + M.O.C.
PLANTA
C. A/D
SALIDA
PLANTA DISCRETIZADA
Figura 1.9: Esquema de un sistema de control por computador .
Finalmente hay que recordar que los distintos componentes se conectan a traves de redes de comunicaciones digitales llamadas buses de campo. Esas redes est´ an regidas por diferentes protocolos de comunicaciones estandarizados.
1.6.
Software de control
Ya se han comentado las funciones de un sistema de control por computador. A la hora de programar un controlador hay que tener en cuenta que el programa se ejecuta siempre de manera c´ıclica, repiti´endose siempre tres bloques de acciones: 1. Medir u obtener las medidas de los sensores. 2. Calcular los valores que se aplicar´an a los actuadores. 3. Mandar los valores a los actuadores. Otro factor a tener en cuenta es que los sistemas operativos han de cumplir diversas caracter´ısticas para ser v´ alidos en sistemas de control. Estos requisitos est´ an normalmente relacionados con la temporizaci´ on de tareas y la necesidad de garantizar que los programas que implementan algoritmos de controlador se ejecutar´ an en el tiempo necesario a toda costa. Los sistemas que cumplen esto son los que se suelen denominar sistemas operativos para operaci´ on en tiempo real o sistemas en tiempo real. Finalmente hay que destacar que existen diferentes posibilidades a la hora de programar un controlador, pudi´endose elegir entre implementarlo en un lenguaje de bajo nivel, en un lenguaje de proposito general, en un lenguaje espec´ıfico del sistema de control o incluso un lenguaje gr´ afico (ver figura 1.10).
´ AL CONTROL POR COMPUTADOR CAP ´ITULO 1. INTRODUCCI ON
11
Figura 1.10: Simulink es un lenguaje gr´afico que se puede utilizar para programar algoritmos de control.
12
SOFTWARE DE CONTROL
Cap´ıtulo 2 Secuencias y transformada Z 2.1.
Introducci´ on
En un sistema de control por computador el algoritmo de control se concreta en un programa que calcula la salida del controlador cada cierto tiempo y lee (muestrea) la salida de la planta cada cierto tiempo. Las acciones ocurren por tanto cada cierto periodo de muestreo T: u(kT ), y(kT ) k = 0, 1, . . . N´otese que no solo el tiempo est´ a discretizado sino que debido a la naturaleza digital del elemento de control (el computador) los valores de ambas se˜ nales son tambi´en discretos. El sistema de control por computador es por tanto un sistema discreto que recibe se˜ nales y k 1 y genera salidas u k . Los valores de esas se˜ nales a lo largo del tiempo forman secuencias , por ejemplo:
{yk } = {0, 0, 1, 1, . . .}
{uk } = {1, 1, 0, −2, . . .}
Estas secuencias est´ an relacionadas por ecuaciones en diferencias (an´ alogas en sistemas discretos a las ecuaciones diferenciales en sistemas continuos): yk = a 1 yk−1 + a2 yk−2 + · · · + an yk−n + b0uk + b1 uk−1 + cdots + bm uk−m Estas ecuaciones en diferencias constituyen una forma muy com´ un de modelar sistemas discretos. 1
N´otese que con la notaci´on yk se est´a indicando y (kT ), de manera que yk−1 = y ((k − 1)T ) y as´ı sucesivamente. Por otra parte es habitual utilizar tambi´en la notaci´on y(k),y (k − 1), etc. . .
13
´ SECUENCIA DE PONDERACI ON
14
2.2.
Secuencia de ponderaci´ on
Denominaremos secuencia de ponderaci´ on {gk } = {g0 , g1 , · · · } a la secuencia obtenida a la salida de un sistema discreto cuando a la entrada hay una secuencia de impulso unitario {δ k } = {1, 0, 0, · · · } (ver figura 2.1). Este es un concepto an´ a logo al de re-
Figura 2.1: Secuencia de ponderaci´ on de un sistema.
spuesta impulsional y como veremos a continuaci´ on, permite caracterizar la salida de un sistema lineal. N´otese que cualquier secuencia {uk } puede expresarse de la forma: l=
∞
{uk } =
l=
ul · {δ k−l }
−∞
aunque en general consideraremos que l comienza en 0. As´ı, por ejemplo, la secuencia {7, 4, 5} se puede poner como:
{7, 4, 5} = 7 · {1, 0, 0} + 4 · {0, 1, 0} + 5 · {0, 0, 1} donde u0 = 7, {δ k } = {1, 0, 0}, u1 = 4, {δ k−1} = {0, 1, 0}, u2 = 5, {δ k−2 } = {0, 0, 1}. N´otese que la secuencia {δ k−i } es la secuencia {δ k } retrasada i tiempos de muestreo, y vale 1 en el instante de tiempo k = i y cero en los dem´as. Si a un sistema lineal se le excita con una secuencia de entrada {uk } (por ejemplo la ley de control calculada en cada instante por el computador), tal que l=
{uk } =
∞
l=0
ul · {δ k−l }
se obtendr´ a una secuencia de salida: l=
{yk } =
∞
l=0
ul · {gk−l }
CAP ´ITULO 2. SECUENCIAS Y TRANSFORMADA Z
15
pues por el concepto de secuencia de ponderaci´ on, a la secuencia {δ k−l } le corresponde a la salida la secuencia {gk−l }, que es la secuencia de ponderaci´ on {gk } retrasada l tiempos de muestreo. Esa expresi´ on se puede desarrollar de manera que se obtiene:
{yk } = u0 · {g0 , g1 , g2 , · · · } + u1 · {0, g0 , g1 , · · · } + u2 · {0, 0, g1 , · · · } + · · · = u0 g0 + u0 g1 + u0 g2 + · · · + u1 g0 + u1 g1 + · · · + u2 g0 + · · · = g0 · {uk } + g1 · {uk−1 } + g2 · {uk−2 } + · · · lleg´andose a: l=
{yk } =
∞
l=0
gl · {uk−l }
Esto implica que conociendo la secuencia de ponderaci´ on de un sistema podemos calcular la salida para cualquier secuencia de entrada. La expresi´ on anterior es equivalente a: l=∞ gl · {uk−l } = {gk } {uk } (2.1) {yk } =
l=0
donde indica la operaci´on de convoluci´ on entre la secuencia {gk } y la secuencia {uk }. Este resultado sin embargo no esconde que trabajar directamente con secuencias como aqu´ı se ha mostrado es muy engorroso, al tener que estar enumerando los valores que toman dichas secuencias. Para resolver esto surge la transformada Z, que se ver´ a a continuaci´ on.
2.3.
Transformada en Z
La transformada en Z cumple el mismo papel en sistemas discretos que la transformada de Laplace en sistemas continuos. Permite obtener la soluci´ on de ecuaciones en diferencias y por tanto representar se˜ nales y secuencias de una manera m´ as compacta. Para entender la transformada en Z se parte de una se˜ nal continua x(t). Esta se˜ nal es muestreada con un tiempo de muestreo T . Eso implica que se registra una secuencia: x(0), x(T ), x(2T ), · · · , x(kT ) Teniendo en cuenta que la funci´ on delta de Dirac δ (t − kT ) vale 1 para t = kT y cero en todos los dem´as casos, es claro que la se˜ nal muestreada es igual a: x∗ (t) =
∞
k=0
x(kT )δ (t − kT )
16
TRANSFORMADA EN Z
La transformada de Laplace de x∗ (t) se calcula como:
∞
x∗ (t)e−st dt 0 ∞∞ = [x(kT )δ (t − kT )] e−st dt 0 k=0 ∞ ∞ = [x(kT )δ (t − kT )] e−st dt k=0 0 ∞ = x(kT )e−kT s
X (s) = L {x∗ (t)} =
k=0
Se define ahora una nueva variable z como:
z = e T s y haciendo el cambio de variable la transformada Z de una secuencia {xk } queda como: Z {xk }
= X (z ) =
∞
xk z −k
(2.2)
k=0
que como puede verse por el desarrollo anterior se ha obtenido de la transformada de Laplace de la se˜ nal muestreada.
2.3.1.
Transformadas de algunas se˜ nales t´ıpicas
Calcular la transformada Z puede ser bastante complejo, de ah´ı el uso de tablas con las transformadas de las se˜ nales m´as comunes. Algunas de las se˜ nales m´as sencillas si pueden calcularse f´ acilmente.
Se˜nal impulso. Esta se˜ nal tiene como secuencia asociada
{δ k } = {1, 0, 0, · · · } En este caso la transformada Z se calcula facilmente como: Z {δ k }
=
∞
δ k z −k = δ 0 z 0 = 1
k =0
Se˜nal escal´ on. En este caso la se˜ nal es
{uk } = {1, 1, 1, · · · }
CAP ´ITULO 2. SECUENCIAS Y TRANSFORMADA Z
17
En este caso la transformada Z se calcula f´ acilmente2 como: ∞ ∞ 1 z k − Z {uk } = U (z ) = uk z = z −k = = 1 − z −1 z − 1 k k
=0
=0
Se˜nal {ak }: Z
∞
k
a
=
k
a z −k =
k=0
∞
k=0
a z
k
1 1−
=
a z
=
z z − a
Se˜nal {e−ak }. En este caso se aplica el resultado anterior con a = e −a obteni´endose Z
e−ak =
z z − e−a
Aplicando consideraciones similares se puede ir obteniendo la transformada Z de las secuencias m´ as habituales. En las tablas 2.1 y 2.2 se enumeran las transformadas Z de dichas secuencias y sus equivalentes en transformada de Laplace.
2.4.
Propiedades de la transformada Z
En esta secci´ on se ver´an las propiedades m´ as importantes de la transformada Z. 1. Linealidad. Se verifica que Z {a
· {xk } + b · {yk }} = aX (z ) + bY (z )
2. Desplazamiento en k. Con este nombre se recogen dos resultados relacionados: a )
Z {xk+n }
= z n X (z ). La demostraci´ on es muy sencilla. Basta tener en cuenta
que: Z {xk+n }
=
∞
xk+n z −k tomando l = k + n
k=0
=
∞
xl z −(l−n)
l=n
= z n X (z ) − n
n
= z X (z ) − z
n 1
−
l=0 n 1
−
l=0
2
Este resultado es v´alido siempre que
1 z
< 1.
xl z −l
xl z −l
18
PROPIEDADES DE LA TRANSFORMADA Z
Cuadro 2.1: Tabla con las transformadas Z m´ as usuales.
CAP ´ITULO 2. SECUENCIAS Y TRANSFORMADA Z
Cuadro 2.2: Tabla con las transformadas Z m´ as usuales (continuaci´ on).
19
20
PROPIEDADES DE LA TRANSFORMADA Z
n
el t´ermino z
n 1
−
xl z −l son condiciones iniciales (an´ alogo a lo que ocurre en
l=0
la transformada de Laplace), con lo que el resultado queda demostrado. b) Z {xk−1 } = z −1 X (z ) y en general Z {xk−n } = z −n X (z ). La demostraci´on pasa por considerar una secuencia {yk } = {xk−1 }. La transformada Z de esta secuencia es: ∞ Y (z ) = yk z −k k=0 ∞ = xk−1 z −k k=0 ∞ = z −1 xk−1 z −(k−1) tomando k = k − 1 k=0 ∞ = z −1 xk z −k k =−1 ∞ − 1 = z x−1 z + xk z −k teniendo en cuenta que x−1 = 0 k =0 = z −1X (z )
Por tanto Z {xk−1 } = z −1 X (z ) y en general se puede demostrar que Z {xk−n } = z −n X (z ). N´otese que z −1 X (z ) se corresponde con la secuencia {xk } retrasada en un tiempo de muestreo. Por tanto, se entiende que a z −1 se le conozca tambi´en como operador retraso. An´alogamente, z −n X (z ) se corresponde con la secuencia {xk } retrasada n tiempos de muestreo. 3. Convoluci´ on. Se cumple que:
k
Z {{xk }
{yk }} = Z
l=0
xl yk−l = X (z )Y (z )
(2.3)
4. Teorema del valor final. El valor en k = ∞ de la secuencia {xk } viene dado por: x∞ = l´ım xk = l´ım(z − 1)X (z ) z →1 k→∞ Nota: en algunos textos aparece como l´ım(1 − z −1 )X (z ) . Por otra parte este z →1 teorema es v´ alido si el l´ımite existe.
Ejemplo 2.1 Sea X (z ) =
z z − 1
El valor final ser´ a x∞ = l´ım z = 1 z →1
Este resultado es congruente con el hecho de que la secuencia es un escal´ on unitario.
CAP ´ITULO 2. SECUENCIAS Y TRANSFORMADA Z
21
5. Teorema del valor inicial. El valor inicial para k = 0 de la secuencia {xk } viene dado por: x0 = l´ım X (z ) z →∞ Ejemplo 2.2 Sea {xk } un escal´ on unitario. En este caso 1 z x0 = l´ım = l´ım z →∞ z − 1 z →∞ 1 −
2.5.
1
=1
z
Transformada Z inversa
En esta secci´on trataremos el problema de obtener la representaci´ on temporal de un se˜nal a partir de la transformada Z. Esto se hace a trav´es de la llamada transformada Z inversa: −1 {X (z )} = {x } Z k
La transformada inversa Z puede calcularse de diversas maneras. Adem´ a s de usar tablas, se expondr´ an aqu´ı dos m´etodos para calcularla: el m´etodo de divisi´ on larga (tambi´en llamada de serie infinita de potencias) y el m´etodo por descomposici´ on en fracciones simples.
2.5.1.
Serie infinita de potencias
El m´etodo consiste en realizar la divisi´ on entre el numerador y el denominador de la transformada Z de manera que el cociente sea un polinomio en potencias de z. Los coeficientes de ese polinomio ser´ an la representaci´ on temporal de la secuencia.
Ejemplo 2.3 Sea
z z − c obtener la representaci´ on temporal por el m´etodo de la divisi´ on larga. En este caso, al realizar la divisi´on se obtiene: X (z ) =
z = 1 + cz −1 + c2 z −2 + c3 z −3 + · · · z − c
22
TRANSFORMADA Z INVERSA
es decir, los coeficientes forman la secuencia:
{xk } = {1, c , c2 , c3, · · · } = {ck }
Ejemplo 2.4 Sea
0,1z 2 X (z ) = 2 z − 1,9z + 0,9
Si se realiza la divisi´on se obtiene: 0,1z 2 = 0,1 + 0,19z −1 + 0,271z −2 + · · · 2 z − 1,9z + 0,9 por lo que la secuencia ser´ıa {xk } = {0,1, 0,19, 0,271, · · · }.
2.5.2.
Descomposici´ on en fracciones
El m´etodo consiste en descomponer la representaci´ on en transformada Z en fracciones simples y aplicar las equivalencias correspondientes a cada fracci´ on. Para ello basta con buscar en las tablas de la transformada Z. Un detalle a tener en cuenta es que cuando la transformada Z tiene en su numerador un termino z es mejor descomponer X z(z) en lugar de X (z ) directamente. Si ese t´ermino no est´ a presente se puede descomponer directamente, de manera an´ aloga a lo que se hace con la transformada de Laplace inversa para sistemas continuos.
CAP ´ITULO 2. SECUENCIAS Y TRANSFORMADA Z
23
Ejemplo 2.5 Sea X (z ) =
(1 − e−aT )z (z − 1)(z − e−aT )
Aplicar el m´etodo de la descomposci´ on en fracciones simples. Como se tiene el factor X (z ) z en el numerador expandimos z : X (z ) A B = + z z − 1 z − e−aT Se obtiene que A = 1 y B = −1, por tanto X (z ) =
z z − z − 1 z − e−aT
Mirando en la tabla de transformadas Z y sustituyendo se obtiene:
{xk } = {1 − e−akT }
Ejemplo 2.6 Sea (1 − e−aT ) X (z ) = (z − 1)(1 − e−aT ) La descomposici´ on resulta ser (1 − e−aT ) 1 1 − X (z ) = = (z − 1)(1 − e−aT ) z − 1 z − e−aT N´otese que 1 z = z −1 z − 1 z − 1 es decir corresponde a un escal´ on unitario retrasado, {1k−1 }. Aplicando al otro t´ermino esta consideraci´ on se ve que corresponde con {e−aT (k−1)}. Por tanto:
{xk } = {1k−1 + e−aT (k−1)} N´otese que este tipo de t´erminos aparecer´ a siempre en sistemas con retardo (en este caso el retardo es 1).
24
´ DE TRANSFERENCIA EN Z FUNCI ON
2.6.
Funci´ on de transferencia en Z
La funci´ on de transferencia en sistemas discretos cumple el mismo papel que su hom´onima en sistemas continuos, es decir, se busca una forma de relacionar la entrada de un sistema discreto con su salida a trav´es de sus transformadas en Z. Sea un sistema cuya secuencia de ponderaci´ on es {gk } y cuyas secuencias de entrada y salida son {uk } y {yk } respectivamente (ver figura 2.2). Si denotamos las transformadas Z como {u }
{g }
{y }
Figura 2.2: Secuencias de entrada, salida y ponderaci´on de un sistema.
Y (z ) = Z {yk }
U (z ) = Z {uk }
G(z ) = Z {gk }
Teniendo en cuenta las ecuaciones (2.1) y (2.3) se obtiene: Y (z ) = Z {yk } = Z
∞
l=0
gl · {uk−l } = G(z )Y (z )
Luego la relaci´ on entre las transformadas en Z de la entrada y la salida es G(z ) =
Y (z ) U (z )
que es la funci´ on de transferencia del sistema en transformada Z . En la pr´ actica, la funci´on de transferencia se puede obtener tomando transformadas Z en la ecuaci´ on en diferencias que modela al sistema: yk = a 1 yk−1 + a2 yk−2 + · · · + an yk−n + b0 uk + b1 uk−1 + · · · + bm uk−m Como esta ecuaci´ on se cumple para todo k, se verifica que:
{yk } = a 1 ·{yk−1 } +a2 ·{yk−2 } + · · · +an ·{yk−n } +b0 ·{uk } +b1 ·{uk−1} + · · · +bm ·{uk−m } Usando la transformada Z , se obtiene: Y (z ) = a 1 z −1 Y (z ) + a2z −2 Y (z ) + · · · + an z −n Y (z ) + b0 U (z ) + · · · + bm z −m U (z ) Sacando factor com´ un se llega a: Y (z ) b0 + b1 z −1 + · · · + bm z −m G(z ) = = U (z ) 1 − a1 z −1 − · · · − an z −n N´otese que la funci´on de transferencia es una funci´ on racional.
Cap´ıtulo 3 Proceso de muestreo 3.1.
Introducci´ on
En este cap´ıtulo se estudiar´ a como se muestrea un sistema continuo al ser controlado mediante un esquema de control por computador y como este muestreo afecta a la din´amica del proceso que es percibida por el sistema de control. Tambi´ en se ver´ a como es posible reconstruir una se˜ nal a partir de su equivalente muestreada. Comenzaremos recordando el esquema de un sistema de control por computador tal y como se muestra en la figura 3.1. Puede observarse, adem´ as de los convertidores digital/anal´ o gico y SINCRONÍA
MUESTREO
REF
T
T e(t) {ek}
COMPUTADOR
{uk}
C. D/A + u(t) M.O.C.
PLANTA
C. A/D
SALIDA y(t)
PLANTA DISCRETIZADA
Figura 3.1: Esquema de un sistema de control por computador.
anal´ogico/digital que adaptan la se˜ nal de formato, dos elementos fundamentales en el proceso de muestreo: en primer lugar la se˜ nal de error solo llega al computador en determinados instantes de tiempo separados por un tiempo T . Por otra parte la salida del computador, es decir la se˜ nal de control s´olo se conecta a la planta en esos mismos instantes de tiempo. Entre un instante y el siguiente se usa un mantenedor de orden cero que mantiene la se˜ nal de control que se aplica a la planta constante. Por tanto la se˜ nal 25
26
REPASO DE LA TRANSFORMADA DE FOURIER
de control s´ olo cambia en los instantes en los que la salida del computador se conecta a la planta. Esos instantes son los intervalos de muestreo y a T se le llama tiempo de muestro. La figura 3.2 ilustra el muestreo de una se˜ nal continua y la aplicaci´on de un mantenedor o retenedor de orden cero a la se˜ nal muestreada.
Figura 3.2: Muestrador mediante impulsos y mantenedor o retenerdor de orden cero.
En resumen en cuanto al proceso de muestreo hay que:
1. Muestrear la se˜ nal continua. 2. Mantener la salida (se˜ nal de control) hasta el siguiente periodo de muestreo.
3.2.
Repaso de la transformada de Fourier
La transformada de Fourier es un instrumento matem´ atico que resulta u´til en el estudio de se˜ nales y sistemas de control. Recordemos que la transformada de Fourier de una se˜ nal periodica f T (t) de periodo T se calcula como: T 2
F T (ωn ) =
f T (t)e− jω n t dt
donde ωn =
2π n T
n = 0, ±1, . . .
(3.1)
− T 2
Por otra parte, la transformada de Fourier inversa o antitransformada, se calcula como:
∞ ∞ 1 1 f T (t) = F T (ωn )e jω n t = F T (ωn )e jω n t ∆ω T −∞ 2π −∞
donde ∆ω =
2π T
(3.2)
En el caso de que la se˜ nal a transformar no fuese peri´odica se considera que el periodo T tiende a infinito por lo que el sumatorio de la antitransformada se aproxima por una
CAP ´ITULO 3. PROCESO DE MUESTREO
27
integral y el t´ermino ∆ω se sustituye por dω, de manera que queda:
∞
F (ω) =
f (t)e− jω t dt
1 2π
−∞ f (t) =
(3.3)
∞
f (ω)e jω t dw
(3.4)
−∞
N´otese que F (ω) es un n´ u mero complejo, por lo que a la hora de representarla se utilizar´an dos gr´ aficas, una para el m´ odulo y otra para la fase. La transformada de Fourier nos da informaci´ on sobre la distribuci´on de la energ´ıa de una se˜ n al a lo largo del espectro de frecuencias que esta ocupa. Una diferencia entre la transformada de una se˜ nal periodica y la de otra que no lo es, es que una se˜nal peri´odica tiene un espectro de frecuencia finito, mientras que una no periodica presenta energ´ıa (en mayor o menor medida) en todas las frecuencias.
3.3.
Muestreo de sistemas continuos
Considerese el muestreador mediante impulsos que se muestra en la figura 3.2. El interruptor se cierra cada T segundos. Este esquema funciona de manera que a la salida se obtiene el resultado de modular la se˜ nal original x(t) (llamada se˜ nal moduladora) con un tren de impulsos de periodo T . A este tren de impulsos se le denomina se˜ nal portadora (ver figura 3.3).
Figura 3.3: Muestreador mediante impulsos como moduador.
28
MUESTREO DE SISTEMAS CONTINUOS
La se˜ nal portadora tendr´ a la forma: p(t) =
∞
δ (t − kT )
−∞
donde δ (t − kT ) vale 1 para t = kT y cero en otro caso. La se˜ nal muestreada x∗ (t) se calcular´a como: ∞ ∗ x (t) = x(t)δ (t − kT ) = x(t) · p(t) (3.5)
k=0
N´otese que a la se˜ nal x(t) se le corresponde su transformada de Fourier X (ω), mientras que a la se˜ nal portadora, por ser peri´ odica le corresponde como transformada de Fourier: T 2
P (ωn ) =
δ (t)e− jω n t dt = 1
ωn =
2π n T
− T 2
¿ Cual ser´a la relaci´ on entre el espectro de la se˜ nal muestreada y el espectro de la se˜nal original ? Seg´ un se ha visto en (3.5): x∗ (t) = p(t) · y(t) Esto lo podemos usar al hallar X ∗ (w):
∞
X ∗ (w) =
∞
x∗ (t)e− jωt dt =
−∞
x(t) · p(t)e− jω t dt
(3.6)
−∞
Teniendo en cuenta que P (ωn ) = 1, usando la antitransformada se infiere que
∞ 1 p(t) = e jω n t T −∞
LLevando esto a (3.6) se tiene que:
∞
X ∗ (w) =
x(t)
−∞
∞
∞
∞
1 1 e jω n t e− jωt dt = x(t)e− j (ω −ωn )t dt T −∞ T n=−∞ −∞
(3.7)
lo que finalmente equivale a:
∞ 1 ∗ X (w) = X (ω − ωn ) T n=−∞
Lo anterior se puede interpretar como que
ωn =
2π n T
(3.8)
CAP ´ITULO 3. PROCESO DE MUESTREO
29
El espectro en frecuencia de la se˜ nal muestrada x∗ (t) tiene la misma forma que la de la se˜ nal sin muestrar x(t), atenuada por un factor T 1 y repetida en la frecuencia cada ∆ω = 2T π radianes por segundo. Esto se ilustra en la figura 3.6. N´ otese que para n = 0 entonces ωn = 0 y X ∗ (ω0 ) = 1 X (ω). T
Figura 3.4: Espectro en frecuencia de una se˜nal muestreada, observ´andose como se repite el espectro original atenuado cada ωs = 2T π .
3.4.
Reconstrucci´ on de una se˜ nal muestreada
Cuando se habla de reconstruir una se˜ nal muestreada se est´ a aludiendo a la tarea de ∗ obtener x(t) a partir de x (ω), es decir a obtener la se˜ nal temporal original a partir del espectro de la muestreada. El proceso desde un punto de vista conceptual ser´ıa simple: bastar´ıa con poner un filtro paso banda idela de ganancia T centrado en ω0 y esto nos dar´ıa el espectro en frecuencia de la se˜ nal original, es decir X (ω). Este procedimiento se ilustra en la figura 3.5. A partir de ah´ı, aplicar´ıamos la antitransformada de Fourier para obtener x(t).
Figura 3.5: Uso de un filtro paso banda para obtener el espectro en frecuencia de la se˜nal original a partir del de la muestreada.
30
´ DE UNA SE NAL ˜ RECONSTRUCCI ON MUESTREADA
N´otese que este proceso es posible siempre que las repeticiones de X (ω) est´en suficientemente separadas. Las repeticiones aparecen cada 2T π radianes por segundo, por lo que si el tiempo de muestreo T crece la separaci´ on disminuir´a, hasta que llegue un momento en el que las repeticiones se montar´ an unas sobre otras, solap´ andose y dejando irreconocible el espectro original (ver figura 3.6). En ese caso no ser´ıa posible reconstruir la se˜ nal original.
Figura 3.6: Espectro en frecuencia de una se˜nal muestreada con una frecuencia de muestreo insuficiente (tiempo de muestreo demasiado alto) para poder reconstruir la original.
¿ Cual es el tiempo de muestreo m´ a ximo a partir del cual se da el solape de las repeticiones ? Tal y como se ha visto en la secci´ on anterior y se ilustra en la figura 3.4, las centros de las repeticiones est´ an separados por ωs = 2T π radianes por segundo. Por otra parte esas repeticiones contendr´ an energ´ıa hasta una determinada frecuencia on l´ımite a partir de la cual el solape comenzar´ıa a ωc . La figura 3.7 muestra la situaci´ imposibilitar la reconstrucci´ on. Claramente si ωs es menor que dos veces la mitad de
Figura 3.7: Repeticiones en frecuencia del espectro de una se˜nal muestreada en las que el tiempo de muestreo es el l´ımite para poder reconstruir.
la banda de frecuencias que ocupa el espectro de la se˜ nal original (es dedir que ωc ) se producir´ a el solape. Por tanto la condici´ on que buscamos es que:
ωs ≥ 2ωc
CAP ´ITULO 3. PROCESO DE MUESTREO
31
Este resultado se enuncia en el Teorema de Shannon (tambien llamado teorema del muestreo):
Teorema 3.1 Teorema de Shannon : La frecuencia ωs a la que debe muestrearse una se˜ nal debe ser al menos el doble de aquella frecuencia m´ as alta ω c para la que el sistema tiene alguna energ´ıa Evidentemente como ωs = 2T π la condici´on para que el tiempo de muestreo sea tal que permita la reconstrucci´ o n de la se˜ nal es: T ≤
π ωc
(3.9)
Por tanto el teorema de Shannon lo podemos reescribir como:
Si una se˜ nal no contiene componentes en frecuencias superiores a ω c , puede ser completamente caracterizada por los valores muestreados en instantes de tiempo separados por T ≤ ωπc . . Como regla pr´ actica este resultado no se lleva al l´ımite, pues los filtros distan mucho de ser ideales, de manera que se suele usar un tiempo de muestreo entre 10 y 20 veces m´as r´apido que la constante de tiempo caracter´ıstica del sistema continuo.
3.5.
Aliasing o enmascaramiento de frecuencias
Este fen´ omeno se da bajo ciertas condiciones cuando se muestrea una se˜ nal a una tasa inferior a la dictada por el teorema de Shannon y se intenta reconstruir despu´es. Es evidente que la reconstrucci´on no ser´ a perfecta. El enmascaramiento se da cuando no s´olo no se reconstruye la se˜ nal original si no que aparece reconstruida otra se˜ nal con diferente frecuencia. Mas especificamente este problema se da cuando los valores que se obtienen al muestrear de dos se˜ nales diferentes son identicos. Claramente si para dos se˜nales diferentes se obtienen los mismos valores muestreados, al reconstruir la se˜ nal no se podr´ an diferenciar entre ellas, de ah´ı el termino aliasing , pues una de ella es alias de la otra.
32
´ DE LA FUNCI ON ´ DE TRANSFERENCIA PULSADA OBTENCI ON
Veamos esto con un ejemplo. Consid´erese la se˜ nal x(t) = sen(t). Si muestreamos la 3 se˜nal con un tiempo de muestreo T = 2 π, por encima del tiempo l´ımite (en este caso ser´ıa T ≤ π), y reconstruimos la se˜ nal (por clarida en este caso uniendo con una linea, no con un mantenedor) se obtiene lo que se ve en la figura 3.8. Como se puede observar, 1
0.8
0.6
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
−1 0
10
20
30
40
50
60
Figura 3.8: Ilustraci´on del aliasing.
la se˜ nal que se obtiene al muestrear no coincide con la original. Es m´as su frecuencia es aproximadamente un quinto de la original y los valores obtenidos coinciden con los que se obtendrian muestreando la se˜ nal x(t) = sen( 15 t). Por lo tanto la se˜ nal x(t) = sen( 15 t) ser´ıa una se˜ nal alias de la original con este tiempo de muestreo.
3.6.
Obtenci´ on de la funci´ on de transferencia pulsada
En esta secci´ on veremos como obtener la funci´ on de transferencia discreta G(z ) para un sistema din´amico cuya funci´ on de transferencia continua es G(s) y al que se le muestrea con tiempo T y un mantenedor de orden cero. El hallar directamente la transformada Z de G(s) no es la soluci´on a esto pues no se est´a teniendo en cuenta que hay un mantenedor antes del sistema continuo tal y como ilustra la figura 3.1. El procedimiento ser´ıa el siguiente: 1. Dado G(S ) obtener g(t) mediante la transformada de Laplace inversa.
CAP ´ITULO 3. PROCESO DE MUESTREO
33
2. Formar la secuencia de ponderaci´ on {gk } = g(kT ). 3. Obtener la transformada Z como G(z ) =
gk z −k .
En el primer paso hay que tener en cuenta que la funci´ on de transferencia G(s) se obtiene multiplicando la funci´ on de transferencia del sistema por la del mantenedor de orden cero, que es: 1 − e−sT H (s) = s Un procedimiento m´ as c´omodo pero menos riguroso ser´ıa el siguiente: 1. Dado G(s) obtener G (s) =
G(s) s
.
2. Obtener la transformada Z de G (s), es decir G (z ) (para esto se puede recurrir a las tablas 2.1 y 2.2). 3. Obtener G(z ) = (1 − z −1)G (z ). Existen en la literatura tablas que directamente obtienen la funci´ on de transferencia pulsada a partir de la funci´ on de transferencia continua del sistema.
Ejemplo 3.1 Sea el sistema cuya funci´on de transferencia en continuo es 1 s + a Obtener la funci´ on de transferencia pulsada en discreto. Ha de tenerse en cuenta la funci´ on de transferencia del mantenedor por lo que 1 − e−sT 1 G(s) = s s + a El primer paso ser´a obtener g(t): g(t) = L−1
1 e−sT − = s(s + a) s(s + a)
L
−1
1 s(s + a)
− L −1
e−sT s(s + a)
N´otese que en la expresi´ on anterior, las funciones a las que se aplica la antitransformada son la misma, excepto que la segunda es la primera retrasada un tiempo T ,por lo
34
´ DE LA FUNCI ON ´ DE TRANSFERENCIA PULSADA OBTENCI ON
que calcularemos la primera expresi´ on y luego le restaremos (ya en el dominio z ) la retrasada. La antitransformada se calcula como: g1 (t) = L−1 Luego
1 = s(s + a)
L
−1
11 1 1 1 = (1 − e−at ) − a s a s + a a
1 1 − e−akT a Aplicamos la transformada Z a lo anterior obteni´endose (en este caso se pueden usar directamente las tablas):
{g1k } =
1 1 1 z z − G1 (z ) = Z {1} − Z e−akT = a a a z − 1 z − e−aT
Y usando este resultado se puede calcular la funci´ on de transferencia pulsada del sistema original:
z 1 1 1 1 − e−aT G(z ) = (1 − z −1 )G1(z ) = (1 − z −1 ) = − a z − 1 z − e−aT a z − e−aT
Cap´ıtulo 4 An´ alisis de sistemas muestreados 4.1.
Estabilidad en sistemas de control por computador
En esta secci´on se proceder´ a a presentar un estudio de estabilidad para sistemas muestreados an´alogo al que se hace paras sistemas en tiempo continuo. En el caso que nos ocupa la transformada de Laplace se sustituye por la transformada Z. De la misma manera, el controlador anal´ ogico se sustituye por un computador digital. En primer lugar recu´erdese que la funci´ on de transferencia de un sistema expresada en el dominio Z nos dice que Y (z ) = G(z )U (z ) (4.1) siendo G(z ) la funci´ on de transferencia el cociente de polinomios Y (z ) b0 + b1 z −1 + · · · + bm z −m G(z ) = = U (z ) 1 + a1z −1 + · · · + an z −n Sup´ongase asi mismo que la se˜ nal de entrada U (z ) es otro cociente de polinomios, es decir N u (z ) U (z ) = Du (z ) Teniendo en cuenta las expresiones anteriores en la ecuaci´ on (4.1) se tiene que b0 z n + b1 z n−1 + · · · + bm z n−m N u (z ) N (z ) N u (z ) · · Y (z ) = = z n + a1 z n−1 + · · · + an Du (z ) (z − p1) · · · (z − pn ) (z − pu1 ) · · · (z − pum ) 35
36
ESTABILIDAD EN SISTEMAS DE CONTROL POR COMPUTADOR
Descomponiendo en fracciones simples se obtiene que Y (z ) =
A1 A2 An Bu1 Bum + + ···+ + + ···+ z − p1 z − p2 z − pn z − pu1 z − pum
(4.2)
Por otra parte es conocido que la antitransformada Z de la expresi´ on z z − a es la secuencia ak Este resultado lo podemos explotar para obtener la secuencia correspondiente a las fracciones simples obtenidas en (4.2) pues es evidente que Ai z = A i z −1 z − pi z − pi Multiplicar por Ai implica un escalado, mientras que multiplicar por z −1 supone atrasar en un tiempo de muestreo la secuencia, luego la antitransformada de las fracciones simples de (4.2) es (4.3) Ai pki −1 Luego cada la antitransformada de Y (z ), es decir la secuencia {yk } ser´a igual a la suma de una serie de t´erminos de la forma (4.3). A partir de estos resultados ¿como determinar si un sistema es estable o inestable? Dado que la secuencia {yk } es la suma de una serie de t´erminos, dicha secuencia ser´ a estable si todos los t´erminos son a su vez estables. Con solo un t´ermino inestable la secuencia {yk } ser´ıa inestable. ¿De que depende la estabilidad de cada t´ermino? La respuesta a esta pregunta es que la estabilidad de cada t´ermino depende del valor de pi , es decir del valor de los polos. La figura 4.1 muestra la evoluci´ on de una secuencia de la forma (4.3) para distintos valores de pi . Puede observarse que los t´erminos que se amortiguan son aquellos en los que −1 < p < 0 y 0 < p < 1. Se comprueba que pk = signo( p)k · | p|k y para que esa expresi´ on tienda a cero debe cumplirse que el m´ odulo de p sea menor que uno (esto tambi´en es v´ alido por supuesto para polos complejos). Este resultado lo resumimos en la siguiente propiedad. on de transferencia G(z ) es estable Propiedad 4.1 Un sistema descrito por una funci´ si y s´ olo si el m´ odulo de todos sus polos es menor que uno, es decir si todos los polos pertenecen estrictamente al c´ırculo unidad (c´ırculo de radio uno centrado en p = 0) ilustrado en la figura 4.2.
´ CAP ´ITULO 4. AN ALISIS DE SISTEMAS MUESTREADOS
1
37
3
0.8
2.5
0.6 2 0.4 1.5
0.2 0
0
2
4 6 0
8
10
1
0
2
4
6
8
10
6
8
10
p>1
1
3 2
0.5
1 0
0
−1 −2
−0.5 0
2
4 6 −1 < p < 0
8
10
−3
0
2
4 p < −1
Figura 4.1: Evoluci´on de una secuencia de la forma (4.3) para distintos valores de p i .
Figura 4.2: Frontera de la regi´on de estabilidad en el plano z .
38
ESTABILIDAD EN SISTEMAS DE CONTROL POR COMPUTADOR
Si hay un polo fuera del c´ırculo unidad, es decir | pi | > 1, el t´ermino correspondiente no se amortiguar´ a con lo que el sistema no ser´a estable. En el estudio de sistemas continuos el resultado de estabilidad m´ as conocido establece que un sistema es estable si todos sus polos tienen parte real negativa. ¿Es esto equivalente al resultado enunciado en la propiedad 4.1? Recu´erdese que z = e T m s T´omese un punto de la frontera de estabilidad del plano s, es decir un punto en el eje imaginario del plano s. Estos puntos son los que cumplen que s = jω es decir con parte real igual a cero. Esto supone que z = e T m jω = 1∠T m ω es decir, z es un n´ umero complejo de m´ odulo unidad y argumento T m ω. Por tanto un punto en la frontera de estabilidad del plano s se transforma en un punto en la frontera de estabilidad del plano z . ¿ Que ocurre si tenemos un punto en el plano s con parte real distinta de cero ? Ese punto tendr´ a la forma s = σ + jω, por lo que su correspondencia en el plano z ser´a z = e T m s = e T m (σ+ jω ) = e T m σ · eT m jω lo que implica que z = e T m σ ∠T m ω o lo que es lo mismo un n´ umero complejo con m´ odulo eT m σ y argumento T m ω. Si consideramos que σ es constante y variamos ω, esto nos da un c´ırculo de radio e T m σ . Si σ es mayor que cero, el punto en el plano s corresponde a la zona inestable. El c´ırculo correspondiente en el plano z tendr´ıa m´odulo mayor que la unidad, pues e T m σ > 1 para σ > 0. Si σ es menor que cero, entonces es facil ver que eT m σ < 1, por que e estar´ıa elevado a un exponente negativo. Por tanto el c´ırculo asociado ser´ıa de modulo inferior a la unidad y por tanto el punto en la regi´ on estable del plano s se transformar´ıa en un punto estable en el plano z . ¿ Que ocurre para el caso de s = 0 ? En este caso z = eT m ·0 = 1, por lo que se transforma en z = 1. Esto nos indica que un polo en cero en continuo, es decir un polo integrador, corresponde a un polo en z = 1 para un sistema en tiempo discreto. An´alogamente es f´acil ver que si s = −∞, la transformaci´ on correspondiente es z = 0. Finalmente partiendo de estos dos resultados se puede comprobar, que, la parte negativa del eje real en el plano s (es decir todos los valores reales de s desde s = 0 hasta s = −∞), se transforma en la parte del eje real del plano z que va desde z = 1 hasta z = 0.
´ CAP ´ITULO 4. AN ALISIS DE SISTEMAS MUESTREADOS
4.1.1.
39
El criterio de estabilidad de Jury
Tal y como se ha explicado anteriormente, un sistema en tiempo discreto es estable si todas las raices del denominador est´ an dentro del c´ırculo unidad ¿Como averiguar si esta condici´ on se cumple? Hallar todas las raices del polinomio y comprobar su valor es la respuesta m´ as evidente a esta pregunta, pero no siempre es posible. En esta secci´on se ver´ a el criterio de Jury, debido a Schur, Cohn y Jury. Dicho criterio lo podemos ver como el equivalente en tiempo discreto al criterio de Routh-Hurwitz. Su prop´ osito es el de aseverar si todas las raices de un determinado polinomio en z est´an dentro del c´ırculo unidad sin tener que calcularlas. Sea un polinomio en z
A(z ) = a 0 z n + a1 z n−1 + · · · + an = 0
El criterio de Jury se basa en la construcci´ on de una tabla, cuyas dos primeras filas son los coeficientes de A(z ) en orden directo e inverso, es decir a0 an
a1 an−1
· · · an−1 · · · a1
an a0
Una tercera fila se calcula restando a los elementos de la primera fila los de la segunda multiplicados cada uno por αn = aan0 , resultando a0 an
a1 an−1
· · · an−1 · · · a1
an a0
an0 −1
an1 −1
1 · · · ann− −1
0
A continuaci´ o n se a˜ nade una cuarta fila formada por los coeficientes de la tercera fila (excepto el u´ltimo) escritos en orden inverso: a0 an
a1 an−1
· · · an−1 · · · a1
an a0
an0 −1 1 ann− −1
an1 −1 1 ann− −2
1 · · · ann− −1 · · · an0 −1
0
Una quinta linea se obtiene restando a la tercera fila los elementos de la cuarta 1 an n 1 multiplicados por αn−1 = an 1 , obteniendo: − − −
0
40
ESTABILIDAD EN SISTEMAS DE CONTROL POR COMPUTADOR
a0 an
a1 an−1
· · · an−1 · · · a1
an a0
an0 −1 1 ann− −1
an1 −1 1 ann− −2
1 · · · ann− −1 · · · an0 −1
0
an0 −2
an1 −2
···
0
El proceso continuar´ıa a˜ nadiendo una sexta fila formada por los coeficientes de la quinta (menos el u´ltimo) escritos en orden inverso, etc . . . hasta que al final se obtendr´ıa una tabla con 2n + 1 filas: a0 an
a1 an−1
· · · an−1 · · · a1
an a0
an0 −1 1 ann− −1
an1 −1 1 ann− −2
1 · · · ann− −1 · · · an0 −1
0
an0 −2 2 ann− −2
an1 −2 2 ann− −3
··· ···
0
.. . a00 En general los elementos de la tabla se calculan mediante la expresi´on: k 1 i
a − = a ki − αk akk−i siendo
akk αk = k a0
Teorema 4.1 Si a0 > 0 entonces el polinomio A(z ) tiene todas las raices dentro del c´ırculo unidad si y solo si todos los ak0 con k = 0, 1, 2, . . . , n − 1 son positivos. Adem´ as, si ning´ un ak0 es cero, entonces el n´ umero de valores ak0 negativos es igual al n´ umero de raices de A(z ) que est´ an fuera del c´ırculo unidad. Corolario 4.1.1 Si todos los ak0 para k = 1, . . . , n − 1 (n´ otese que se excluye k = 0) son positivos, entonces la condici´ on a00 > 0 es equivalente a las condiciones: A(1) > 0
(−1)n A(−1) > 0
Estas condiciones son necesarias para la estabilidad, por lo que se pueden usar antes de formar la tabla.
´ CAP ´ITULO 4. AN ALISIS DE SISTEMAS MUESTREADOS
41
Ejemplo 4.1 Estabilidad de un sistema de segundo orden gen´erico. Consid´erese la ecuaci´ on caracter´ıstica: A(z ) = z 2 + a1 z + a2 = 0 Se forma la tabla: a1 a1
1 a2
a2 1 α2 = a 2
1 − a22 a1 (1 − a2 )
a1 (1 − a2 ) 1 − a22
0 α1 =
1 − a22 −
a21 (1 a2 ) 1+a2
−
a1
1+a2
0
De esta tabla se desprende que todas las raices estar´ an en el c´ırculo unidad si 1 − a22 1 − a22 −
a21 (1
−a2 )
1+a2
> 0 > 0
que a su vez es equivalente a a2 < 1 a2 > −1 + a1 a2 > −1 − a1 Estas condiciones se cumplen en un triangulo en el espacio de coeficientes del polinomio caracter´ıstico. Dicho tri´ angulo se ilustra en la figura 4.3.
4.2.
Respuesta transitoria: relaci´ on con el diagrama de polos
En esta secci´ on se ver´ a los distintos tipos de respuesta transitoria de sistemas discretos en funci´ o n de la posici´ o n de los polos. Como ya se ha visto en la secci´ on 4.1, los sistemas cuyos polos est´ en fuera del circulo unidad son inestables y sus respuestas transitorias son inestables. Los que est´en dentro del circulo unidad ser´ an estables y la respuesta se amortigua, mas o menos lentamente dependiendo de lo cerca que est´en de la frontera de estabilidad. Los que esten en la frontera de estabilidad producir´an una respuesta oscilatoria estable en el sentido de que permanece acotada pero no se amortiguar´a. Las figuras 4.4 y 4.5 muestran las distintos casos para polos en el plano
42
´ CON EL DIAGRAMA DE POLOS RESPUESTA TRANSITORIA: RELACI ON 2.5
2
1.5
1
0.5
2
a
0
−0.5
−1
−1.5
−2
−2.5 −2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
a
1
Figura 4.3: Regi´ on del espacio de coeficientes de un polinomio de la forma z 2 + a1z + a2 = 0 en la que las raices est´an dentro del c´ırculo unidad.
s y sus equivalentes en el plano z . Puede observarse que las respuestas la forma de las respuestas se preserva al muestrear pero tambi´ en como la posici´ on de los polos cambia.
Por otra parte, es interesante tambi´en observar como va variando la respuesta impulsional de un sistema en funci´ on de la localizaci´ on de sus polos. En la figura 4.6 puede observarse que en el caso de que los polos est´en en el eje real, la respuesta impulsional ser´a oscilatoria en la parte negativa y no oscilatoria en la parte positiva. Como es l´ ogico fuera del c´ırculo unidad la respuesta es siempre inestable. Por otra parte si los polos son complejos conjugados en el eje imaginario, puede observarse (ver figura 4.7) que son siempre oscilatorios, tard´andose m´ as en amortiguar la respuesta conforme se acercan a la frontera de la regi´ on de estabilidad. En el caso de sistemas en los que los polos sean complejos conjugados y est´ en dentro del circulo unidad la respuesta ser´ a siempre estable y oscilatoria (ver figura 4.8), salvo en el caso en el que la parte real sea positiva, en el que conforme la parte imaginaria se hace m´ as peque˜ na el caracter oscilatorio disminuye. Finalmente, cuando los polos est´ an en el cirtulo unidad la respuesta es oscilatoria y no se amortigua, aunque la frecuencia de las oscilaciones depende de la posici´ on de los polos (ver figura 4.9). Fuera del circulo unidad la respuesta impulsional ser´a oscilatoria e inestable.
´ CAP ´ITULO 4. AN ALISIS DE SISTEMAS MUESTREADOS
43
Figura 4.4: Respuestas transitorias correspondientes a la localizaci´on de varios polos complejos con jugados en el plano s (a). Respuestas transitorias a los correspondientes polos discretos (b).
44
´ CON EL DIAGRAMA DE POLOS RESPUESTA TRANSITORIA: RELACI ON
Figura 4.5: Respuestas transitorias correspondientes a la localizaci´on de varios polos complejos conjugados en los l´ımites de las franjas periodicas del plano s (c). Respuestas transitorias a los correspondientes polos discretos (d).
´ CAP ´ITULO 4. AN ALISIS DE SISTEMAS MUESTREADOS
Figura 4.6: Respuestas ante un impulso para un sistema con un polo en el eje real.
45
46
´ CON EL DIAGRAMA DE POLOS RESPUESTA TRANSITORIA: RELACI ON
Figura 4.7: Respuestas ante un impulso para un sistema con polos conjugados en el eje imaginario.
´ CAP ´ITULO 4. AN ALISIS DE SISTEMAS MUESTREADOS
47
Figura 4.8: Respuestas ante un impulso para un sistema con polos conjugados dentro del circulo unidad.
48
´ CON EL DIAGRAMA DE POLOS RESPUESTA TRANSITORIA: RELACI ON
Figura 4.9: Respuestas ante un impulso para un sistema con polos conjugados en el circulo unidad.
´ CAP ´ITULO 4. AN ALISIS DE SISTEMAS MUESTREADOS
4.3.
49
Errores en regimen permanente
En esta secci´ on se estudiar´ a el error en regimen permanente que presenta un sistema frente a distintos tipos de entradas. Consid´erese un sistema cuya funci´ on de transferencia es G(z ) y que tiene como entrada una secuencia {rk } que provoca la aparici´ on a la salida de la secuencia {yk }. Se define como secuencia de error {ek } la secuencia diferencia entre las dos anteriores, es decir , la que cumple que ek = r k − yk Aplicando la transformada Z y teniendo en cuenta el concepto de funci´ on de transferencia se obtiene E (z ) = R(z ) − Y (z ) = R(z ) − G(z )R(z ) = (1 − G(z ))R(z ) Aplicando el teorema del valor final, se tiene que e∞ = l´ım(1 − z −1 )ek z →1 Sup´ongase que se aplica al sistema como entrada un escal´ on unitario, cuya transformada Z es z R(z ) = z − 1 El error en regimen permanente lo calcularemos como erpescal´on = l´ım zz (1 − z −1 )(1 − G(z ))R(z ) = l´ım z −z 1 (1 − G(z )) z −z 1 z →1 z →1 b0 +b1 z +···+bm z m = l´ım (1 − G(z )) = 1 − l´ım a0 +a1 z+···+an z n z →1 z →1 m = 1−
bi
i=0 n
ai
i=0
Ejemplo 4.2 Sea el sistema G(z ) =
0,2 z − 0,9
El error en regimen permanente frente a una entrada escal´ on es 0,2 erpescal´on = 1 − = −1 1 − 0,9
50
ERRORES EN REGIMEN PERMANENTE
Ejemplo 4.3 Sea un sistema de primer orden cualquiera yk = ay k−1 + buk−1 determinar las condiciones para que tenga error en regimen permanente nulo frente a una entrada escal´ on. En este caso la funci´ on de transferencia es G(z ) =
b z − a
Y el error en regimen permanente ser´ a erpescal´on = 1 −
b 1−a−b = 1−a 1−a
luego el error ser´ a cero si b = 1 − a.
4.3.1.
Errores en regimen permanente para sistemas en bucle cerrado
El caso m´as interesante es el de los errores para sistemas en bucle cerrado. Supongamos un sistema cuya funci´ on de transferencia en bucle abierto es G(z ) y que se coloca en la configuraci´on usual de bucle cerrado con realimentaci´ on unitaria. En este caso se cumple que Y (z ) = G(z )E (z ) donde E (z ) = R(z ) − Y (z ) y de ah´ı se deduce que E (z ) = R(z ) − G(z )E (z )
que reordenando es igual a
E (z ) =
1 R(z ) 1 + G(z )
Supongamos una entrada en escal´ on. En este caso el error en regimen permanente ser´a erpescal´on = l´ım z−z 1 E (z ) = l´ım z −z 1 1+G1 (z) R(z ) z →1 z →1 = l´ım z−z 1 1+G1 (z) z−z 1 = 1+ l´ım1 G(z) z →1 z 1 →
Definimos K p = l´ım G(z ) y la expresi´ on del error en r´egimen permanente frente a z →1 entrada escal´on ser´ a 1 erpescal´on = 1 + K p
´ CAP ´ITULO 4. AN ALISIS DE SISTEMAS MUESTREADOS
51
N´otese que K p es en realidad la ganancia est´ a tica del sistema, por lo que seg´ u n la expresi´on anterior a mayor ganancia, menor error en r´egimen permanente. Por otra parte si se desea que el error en regimen permanente frente a escal´ on sea cero, K p debe ser infinita. Eso se consigue si G(z ) tiene un polo en z = 1. Este tipo de sistemas se llama sistemas de tipo 1, y de manera m´ as general se considera la siguiente definici´ on: umero de polos en z = 1 que tiene Definici´ on 4.1 Se llama tipo de un sistema al n´ dicho sistema. N´o tese que un polo en z = 1 se corresponde con un polo en s = 0 para sistemas en tiempo continuo, por lo que esta definici´ on es congruente con la que se da para sistemas continuos. Veamos a continuaci´ on el error en r´egimen permanente cuando la entrada es una rampa. En este caso la transformada Z de la se˜ nal de entrada es: R(z ) =
zT (z − 1)2
por lo que el error en regimen permanente se puede calcular como: z − 1 1 zT 1 1 1 = l´ ım = = G(z ) z 1 + G(z ) (z − 1)2 z→1 (z −1) + (z −1)G(z) K v l´ım (z −1) zT zT zT z →1 G(z ) donde K v = l´ım (z−1) . Veamos cuanto vale el error en funci´ on del tipo del sistema. zT z →1 Si el sistema es tipo 0 , no tendr´ a ning´ un polo en z = 1, por lo que el factor (z − 1) no se cancela y K v = 0. Esto implica que el error en regimen permanente es infinito. Si el sistema es tipo 1, el factor (z − 1) se cancela y K v tiene un valor distinto de cero pero finito. Por tanto el error en regimen permanente es finito. Por otra parte si el sistema es de tipo 2 K v = ∞ y el error en regimen permanente es nulo en este caso. l´ım z →1
Otra se˜ nal de entrada com´ un es la entrada en par´ abola. Siguiendo los procedimientos anteriores se puede demostrar f´ acilmente que en este caso se puede definir: 1 K a = l´ım 2 (z − 1)2 G(z ) z →1 T y comprobar que el error en regimen permanente es infinito para sistemas de tipo 0 y 1, K 1a para sistemas de tipo 2 y cero para sistemas de tipo superior. Todo lo anterior se puede resumir en la siguiente tabla: Tipo 0 Tipo 1 Tipo 2 1 errpescal´on 0 0 1+K p 1 errprampa 0 ∞ K v 1 errppar´ ∞ ∞ K a abola
52CARACTER ´ISTICAS FRECUENCIALES. CORRESPONDENCIA ENTRE EL PLANO S Y EL PLANO Z
4.4.
Caracter´ısticas frecuenciales. Correspondencia entre el plano s y el plano z
Recu´erdese que por definici´ on z eT s por lo que es evidente que los valores de z que corresponden a un valor dado de s dependen del tiempo de muestreo. Por otra parte la variable compleja s es equivalente a s = σ + jω, por tanto z eT (σ+ jω ) = eT σ · e jωT Es decir el m´ odulo de s es eT σ y la fase e jω T . Por las propiedades de los n´ umeros complejos: z eT σ · e j (ωT +2πk ) k = 0, ±1, ±2, . . . Consid´erese ahora la frecuencia de muestreo ωs = 2T π . Sea un n´ umero s 1 del plano s, y sea s 2 otro n´ umero que se diferencia de s 1 por un m´ ultiplo de la frecuencia de muestreo en el eje imaginario, es decir 2π s2 = s 1 + j T El valor en el plano z que le corresponde a s2 ser´a z 2 = eT s2 = e T s1 e2πj = z 1 e2πj = z 1 Luego
A puntos del plano s que difieran en m´ ultiplos de la frecuencia de muestreo en el eje imaginario le corresponden el mismo lugar en el plano z . Cualquier punto en el plano z tiene infinitos equivalentes en el plano s.
Este resultado tiene como consecuencia que s´ olo una determinada regi´ o n del plano s es la que resulta de inter´es. Esta regi´ on conocida como franja primaria es la que ωs ωs π est´a entre j 2 y − j 2 o lo que es lo mismo entre los n´ umeros con fase 22T T = π y −π (ver figura 4.10). Por encima y por debajo de esa franja tendr´ıamos infinitas franjas complementarias en la que los n´ umeros tienen los mismos equivalentes en z que los correspondientes en la franja primaria. Centrando la atenci´ on en la franja primaria, consid´erese la figura 4.11a. Se definen en ella una serie de puntos de interes en el plano s, de los que veremos cual es su equivalente en el plano z . Dichos puntos ser´ıan:
´ CAP ´ITULO 4. AN ALISIS DE SISTEMAS MUESTREADOS
53
Figura 4.10: Regiones de interes en el plano s .
1. El punto s = 0 se transforma en z = e 0 = 1. 2. El punto s = j ω2s se transforma en z = e j con m´odulo uno y fase π (180 grados).
ωs 2
T
= e jπ o lo que es lo mismo un punto
3. Un punto s = −∞ + j ω2s se transforma en z = e −∞ e j m´odulo tendiendo a cero y fase π.
ωs 2
T
, es decir un n´ umero con
ωs 4. Un punto s = −∞ − j ω2s se transforma en z = e−∞ e− j 2 T , es decir un n´ umero con m´odulo tendiendo a cero y fase −π.
5. El punto s = − j ω2s se transforma en z = e − jπ , es decir un punto con m´ odulo uno y fase −π. Estos puntos equivalentes se muestran en la figura 4.11b. Si se repite esta an´ alisis para puntos equivalentes en otras franjas se ver´ a que el resultado es el mismo.
4.4.1.
Otras correspondencias
Veamos algunas correspondencias interesantes.
54CARACTER ´ISTICAS FRECUENCIALES. CORRESPONDENCIA ENTRE EL PLANO S Y EL PLANO Z
Figura 4.11: Puntos de interes en la franja primaria del plano s .
´ CAP ´ITULO 4. AN ALISIS DE SISTEMAS MUESTREADOS
55
Eje imaginario. Como ya se ha visto anteriormente la frontera de la regi´on de inestabilidad del plano s se transforma en el circulo unidad, que es la frontera de la regi´on de estabilidad del plano z (ver figura 4.2). Eje real. En el eje real del plano s se cumple que s = σ. Si σ ≥ 0 entonces z = e σT luego el m´ odulo de z es eσT > 1 y la fase es cero. En caso de que σ < 0 entonces el m´ odulo de z est´a entre 0 y 1 y la fase sigue siendo 0. Esto implica que el eje real del plano s se transforma en la parte positiva del eje real del plano z de manera que de 0 a 1 est´a la parte negativa del eje real en s y a partir de 1 la parte positiva. on, calculada como δ · ωn Lugares de atenuaci´ on constante. La atenuaci´ est´a relacionada con el tiempo de establecimiento (calculado como δ·3ωn . En el plano s los lugares de atenuaci´ on constante son, como se ilustra en la figura 4.12, son l´ıneas verticales con parte real σ1 y parte imaginaria desde −∞ a ∞. Eso implica que se transforma en n´ umeros z cuyo m´odulo es eσ1 T y fase de 0 a 2π. El lugar geom´etrico del plano z es por tanto una circunferencia de radio eσ1 T y centrada en z = 0 (ver figura 4.12). El interior de la circunferencia corresponde a los puntos de s con atenuaci´ on inferior a σ1 . Por otra parte si la atenuaci´ on es superior a cero el radio es superior a 1, mientras que en el caso de de ser la atenuaci´ on inferior a cero, el radio es inferior a 1.
Figura 4.12: Lugares de atenuaci´on constante en el plano s y z .
u meros en el plano s Lugares de frecuencia constante. En este caso los n´ forman una l´ınea horizontal (ver figura 4.13) de la forma s = σ + jω1 . Estos n´umeros se transforman en z = e σT · e jω 1 T . Esto es una recta (ver figura 4.13) que parte de z = 0 con a´ngulo determinado por la fase omega1 T y que para σ = −∞
56CARACTER ´ISTICAS FRECUENCIALES. CORRESPONDENCIA ENTRE EL PLANO S Y EL PLANO Z
le hace corresponder z = 0 mientras que conforme σ crece el m´ odulo del n´ umero z correspondiente sobre la recta crece. σ =
σ
∞
= −∞
Figura 4.13: Lugares de frecuencia constante en el plano s y z .
Lugares de factor de amortiguamiento ζ constante. El factor de amortiguamiento ζ en sistemas continuos de segundo orden est´ a relacionado con el denominador de la funci´ on de transferencia: D(s) = s 2 + 2ζωn s + ωn2 Los lugares de amortiguamiento constante en el plano s son rectas (ver figura 4.14) dadas por s = −ζωn T + jωd T , donde ωd = 1 − ζ 2ωn . La transformaci´on en z es z = e (−ζω n + jω d )T , cuyo m´odulo y fase resulta ser:
− √ 21πζζ 2 ωωds |z | = e ∠z = 2π ωωds −
donde ωs = 2T π . La curva que describen estos n´ umeros al variar ωn se llama espiral logar´ıtmica. Dicha curva, representada para frecuencias entre 0 ≤ ω ≤ 21 ωs y diversos valores de ζ , se muestra en la figura 4.15. Para valores de la frecuencia entre − 12 ωs ≤ ω ≤ 0, las curvas son im´agenes especulares de 4.15.
Lugares de frecuencia natural ωn constante. Como se muestra en la figura 4.14 los lugares de frecuencia natural constante en el plano s son c´ırculos perpendiculares a los lugares de amortiguaci´ on constante. La transformaci´ o n de s en z es un mapeo conforme que preserva los a´ngulos entre lugares, por lo que los lugares de frecuencia natural constante ser´ an tambi´en perpendiculares en z . La figura 4.16 muestra ambos lugares en el plano z para diversos valores de ζ y ωn . N´otese que los lugares para frecuencias entre − 12 ωs ≤ ω ≤ 0, tambi´en son im´agenes especulares de 4.16.
´ CAP ´ITULO 4. AN ALISIS DE SISTEMAS MUESTREADOS
Figura 4.14: Lugares de amortiguaci´on y frecuencia natural constante en el plano s.
Figura 4.15: Lugares de amortiguaci´on constante en el plano z .
57
58CARACTER ´ISTICAS FRECUENCIALES. CORRESPONDENCIA ENTRE EL PLANO S Y EL PLANO Z
Figura 4.16: Lugares de amortiguaci´ on y frecuencia natural constante en el plano z .
Cap´ıtulo 5 Dise˜ no de controladores discretos 5.1.
Discretizaci´ on de reguladores continuos
A la hora de dise˜ nar un controlador en tiempo discreto es frecuente partir de un controlador continuo obtenido mediante los m´etodos cl´ asicos y discretizar ´este u´ltimo, en lugar de realizar el dise˜ no directamente en tiempo discreto. El resultado de esta discretizaci´on es implementado despues en forma de programa en un computador. El caso m´as com´ un (y el que trataremos aqu´ı) es el de los controladores PID, cuya expresi´on en tiempo continuo es
u(t) = K p
e(t) +
1 T i
t
e(τ )dτ + T d
0
de(t) dt
donde u(t) es la entrada que se aplica en el instante t y e(t) = y(t) − ref(t), es decir la diferencia entre la salida y la referencia a seguir en t. Es importante destacar que el resultado que se obtiene al aplicar la discretizaci´ on es una aproximaci´ on del controlador original. Para obtener dicha aproximaci´ on se pueden usar diferentes alternativas.
Comentario 5.1 En este tema se supone que el lector est´a familiarizado con la sinton´ıa de controladores PID continuo, que normalmente se suele hacer a partir de las reglas de Ziegler-Nichols. Estas reglas se resumen en la siguiente tabla: 59
60
´ DE REGULADORES CONTINUOS DISCRETIZACI ON
P PI PID
K p
T i
T d
τ Kτ m 0,9τ Kτ m 1,2τ Kτ m
3τ m 2τ m
0,5τ m
donde τ es la constante de tiempo, τ m el tiempo muerto y K es la ganancia est´ atica del sistema.
5.1.1.
Aproximaci´ on rectangular hacia delante (Euler I)
En este caso la derivada se aproxima por de(t) ek − ek−1 = dt T donde T es el tiempo de muestreo. Adem´as la integral se aproxima por t
k 1
e(τ )dτ =
−
k 1
e(i)T =
i=0
0
−
T ei
i=0
Esta aproximaci´ on se ilustra en la figura 5.1, en la que la suma del a´rea de los rect´ angulos sombreados ser´ıa la aproximaci´ on de la integral.
T e(t)
K-1
K
t
Figura 5.1: Aproximaci´on rectangular hacia delante de la integral.
Sustituyendo estas expresiones en la ley de control PID queda:
uk = K p ek +
T T i
k 1
−
i=0
ei +
T d (ek − ek−1 ) T
˜ DE CONTROLADORES DISCRETOS CAP ´ITULO 5. DISE NO
61
N´otese que esta expresi´ on puede ser retrasada en el tiempo de manera que:
T T i
uk−1 = K p ek−1 +
k 2
−
ei +
i=0
T d (ek−1 − ek−2) T
Restando ambas expresiones se llega a que uk − uk−1 = K p
T T d ek − ek−1 + ek−1 + (ek − 2ek−1 + ek+2 ) T i T
que a su vez se puede poner como uk − uk−1 = q 0 ek + q 1ek−1 + q 2 ek−2 con
(5.1)
q 0 = K p 1 +
T d T
q 1 = K p −1 − 2 T T d +
T T i
q 2 = K p T T d
Aplicamos la transformada Z a la ecuaci´on (5.1) obteniendose: U (z )(1 − z −1 ) = (q 0 + q 1 z −1 + q 2 z −2 )E (z ) Finalmente se define la funci´ on de transferencia del controlador como: U (z ) q 0 + q 1 z −1 + q 2 z −2 C (z ) = = E (z ) 1 − z −1
(5.2)
Este controlador se puede implementar mediante un programa de ordenador, el cual, seguir´ıa el siguiente algoritmo: Repetir: 1. Esperar a que se cumpla el tiempo de muestreo T . 2. Leer yk . 3. Calcular ek = r k − yk . 4. Calcular uk seg´ un la expresi´ on (5.1). 5. Aplicar uk . 6. Actualizar uk−1 , ek−1 , ek−2 . Como se comprobar´ a en la secci´ on 5.2 la aproximaci´ on de la integral vista en esta secci´on equivale a aplicar la siguiente sustituci´ on: s
z − 1 T
62
´ DE REGULADORES CONTINUOS DISCRETIZACI ON
5.1.2.
Aproximaci´ on rectangular hacia atras (Euler II)
En este caso la integral se aproxima por la integral se aproxima por t
k
e(τ )dτ =
k
e(i)T =
i=1
0
T ei
i=1
Esta aproximaci´ on se ilustra en la figura 5.2. Nuevamente la aproximaci´on ser´ıa la suma de las areas de los rectangulos sombreados. T
e(t)
K-1
t
K
Figura 5.2: Aproximaci´on rectangular hacia detras de la integral.
El desarrollo es similar y se llega a que:
uk = K p ek +
T T i
k
ei +
i=1
T d (ek − ek−1 ) T
y de ah´ı a: uk − uk−1 = q 0 ek + q 1 ek−1 + q 2 ek−2 con
q 0 = K p 1 +
T T i
+
q 1 = K p −1 − 2 T T d q 2 = K p T T d
T d T
En este caso se ver´ a que el resultado es igual que si se sustituye s por s
T z z − 1
˜ DE CONTROLADORES DISCRETOS CAP ´ITULO 5. DISE NO
5.1.3.
63
Aproximaci´ on bilineal (trapezoidal o Tustin)
En el caso la aproximaci´on bilineal la integral se aproxima por: t
0
k
e(i) − e(i − 1) e(τ )dτ = (e(i − 1 + )T = 2 i=1
k
i=1
ei + ei−1 T 2
Esta aproximaci´ on es la m´as cercana al valor real de la integral, como se ilustran en la figura 5.3.
T e(t)
K-1
t
K
Figura 5.3: Aproximaci´on bilineal de la integral.
Como en los casos anteriores se llega a un resultado igual en forma, pero variando el valor de los coeficientes:
q 0 = K p 1 + q 1 = K p
q 2 = K p T T d
T
2T i
T 2T i
+
T d T
− 1 − 2 T T d
Como se ver´ a en la secci´ on siguiente, esta aproximaci´ on se corresponde con una sustituci´on de s por 2 z − 1 s T z + 1
64
CORRESPONDENCIA S ↔ Z PARA LAS APROXIMACIONES DE LA INTEGRAL
5.2.
Correspondencia s ↔ z para las aproximaciones de la integral
En esta secci´on se ver´ a como las aproximaciones de la integral vistas anteriormente se corresponden con sustituciones de s en la funci´on de transferencia de controlador por una cierta expresi´ on en z . El estudio se har´ a a trav´es de un ejemplo, en el que se supondr´ a que el controlador tiene como funci´ on de transferencia en continuo: U (S ) a = E (S ) s + a
(5.3)
Esto implica que du(t) + au(t) = ae(t) dt y de ah´ı du(t) = −au(t) + ae(t) dt Integrando la expresi´ on anterior podemos obtener el valor de u(kT ): kT
u(kT ) = =
du(t) dt
0 (k −1)T 0
dt
du(t) dt
kT
dt +
(k−1)T
du(t) dt
dt
(5.4)
kT
= u((k − 1)T ) +
(−au(t) + ae(t)) dt
(k−1)T
= u((k − 1)T ) + A
Donde A es la integral de u(t) entre los instantes de muestreo k − 1 y k tal y como se muestran en la figura 5.4. A continuaci´ on se ver´a cada caso particular de aproximaci´ on de la integral.
5.2.1.
Rectangular hacia delante
En este caso se cumple que u(t) = u((k − 1)T ) en todo el intervalo de integraci´ on de A por lo que: kT
A =
(k−1)T
(−au((k − 1)T ) + ae((k − 1)T )) dt = (−au((k − 1)T ) + ae((k − 1)T )) T
˜ DE CONTROLADORES DISCRETOS CAP ´ITULO 5. DISE NO
65
e(t) A
t
K
Figura 5.4: Integral de u (t) para un periodo de muestreo.
Teniendo en cuenta lo anterior en (5.4): uk = u k−1 − T auk−1 + T aek−1 Aplicando la transformada Z: U (z ) T az −1 Ta a = = = z −1 E (z ) 1 − z −1 + T az −1 z − 1 + T a + a T por lo que comparando con (5.3) se tiene que s
z − 1 T
o tambien z T s + 1
5.2.2.
Rectangular hacia atr´ as
En este caso u(t) = u(kT ) en todo el intervalo de integraci´ on de A, por lo que: A = −aT u(kT ) + aT e(kT ) al igual que antes teniendo en cuenta lo anterior en (5.4): uk = u k−1 − T auk + T aek que lleva a:
U (z ) aT a = = 1−z 1 E (z ) 1 + aT − z −1 + a T −
66
ESTABILIDAD DE LAS APROXIMACIONES DE LA INTEGRAL
por lo que comparando con (5.3) se tiene que 1 − z −1 z − 1 s = T zT o tambien 1 z 1 − Ts
5.2.3.
Trapezoidal o Bilineal
En este caso el valor de u(t) a lo largo del intervalo de integraci´ o n de A no es constante sino que viene dado por la expresi´ on de una recta: u(kT ) − u((k − 1)T ) (t − (k − 1)T ) T Teniendo en cuenta esto se obtiene que u(t) = u((k − 1)T ) +
uk + uk−1 A = −aT 2 por lo que llevandolo a (5.4):
uk = u k−1 − aT
(k − 1)T ≤ t ≤ kT
ek + ek−1 2
+ aT
uk + uk−1 2
+ aT
lo que al aplicar transformada Z y operar resulta: aT (1 + z −1) U (z ) 2 = = (1−z E (z ) (1 − z −1 ) + aT (1 + z −1 )
ek + ek−1 2
aT
2 1) + aT (1+z 1 ) 2
2
− −
=
a 2 (z −1) +a T (z +1)
por lo que comparando con (5.3) se tiene que s o tambien
5.3.
2 (z − 1) T (z + 1)
1+ z 1−
Ts
2 Ts
2
Estabilidad de las aproximaciones de la integral
En esta secci´ on se ver´ a la transformaci´ on en el plano z de la regi´ on de estabilidad en continuo, es decir el semiplano izquierdo del plano s (ver figura 5.5), al aplicar las aproximaciones anteriores.
˜ DE CONTROLADORES DISCRETOS CAP ´ITULO 5. DISE NO
67
s
Figura 5.5: Regi´on de estabilidad en el plano s (sombreada).
1. Rectangular hacia delante. En este caso se tiene que z T s + 1, por lo que la regi´on de estabilidad del plano s se transforma en una regi´ on equivalente pero desplazada en una unidad hacia el semiplano derecho, tal y como muestra la figura 5.6. Es muy significativo que la transformaci´o n en el plano z incluye
z
1
Figura 5.6: Transformaci´on en el plano z de la regi´on de estabilidad del plano s al aplicar la aproximaci´ on rectangular hacia delante (sombreada).
la regi´on de estabilidad del plano z pero tambien un infinito puntos del plano z fuera de dicha regi´ on, por lo que un controlador estable en el plano s no tiene por que resultar en un controlador estable en el plano z cuando se aplica esta aproximaci´ on.
68
ESTABILIDAD DE LAS APROXIMACIONES DE LA INTEGRAL
2. Bilineal o Trapezoidal. La sustituci´ on era: Ts
1+ z 1−
2 Ts
2
Teniendo en cuenta que s = jω, se obtiene: z
1+
jωT
1−
jωT
2
=
1 + jωT − 1+
2
ω 2 T 2
4
=
ω 2 T 2
4
1−
ω 2 T 2
1+
ω 2 T 2
4 4
+
ωT 2 2 j 1 + ω 4T
que se puede reescribir como x + y · j con x =
1−
ω 2 T 2
1+
ω 2 T 2
4
y=
4
ωT 2 2 1 + ω 4T
Se comprueba que x2 + y 2 = 1 Esta regi´ on describe un circulo de radio uno centrado en el origen en el plano z (ver figura 5.7) que es precisamente la regi´ on de estabilidad en el plano z . Esto implica que un controlador estable en el plano s se corresponde con un controlador estable en el plano z (y viceversa) cuando se aplica esta aproximaci´ on.
z
1
Figura 5.7: Transformaci´on en el plano z de la regi´ on de estabilidad del plano s al aplicar la aproximaci´ on bilineal (sombreada).
3. Rectangular hacia atr´ on para esta aproximaci´ on implicaba as. La sustituci´ que: 1 1 1 1 1 1 1 + T s − = + z = + 1 − Ts 2 1 − Ts 2 2 2 1 − Ts
˜ DE CONTROLADORES DISCRETOS CAP ´ITULO 5. DISE NO
69
N´otese que este caso la sustituci´ on es similar a la que se ve en la aproximaci´ on bilineal. En este caso se puede comprobar que la regi´ on de estabilidad del plano 1 s se transforma en un circulo de radio 2 y centrado en el punto 12 , 0 (ver figura 5.8). Esto implica que est´a dentro de la regi´ on de estabilidad del plano z , por lo que todo controlador estable en el plano s se transformar´ a en un controlador estable en el plano z . Sin embargo, a diferencia de lo que ocurre con la aproximaci´on bilineal, un controlador estable en z no tiene por que corresponderse con uno estable en s.
z
0,5
1
Figura 5.8: Transformaci´on en el plano z de la regi´on de estabilidad del plano s al aplicar la aproximaci´ on rectangular hacia atr´as (sombreada).
De todo lo anterior se desprende que la mejor de las tres aproximaciones es la bilineal.
Ejemplo 5.1 Describir un algoritmo que corresponda a un controlador que aproxime al controlador en tiempo continuo: 1 Gc (s) = 2 s + 2s + 1 de forma discreta con un tiempo de muestreo de T = 0,1 segundos mediante la Euler hacia delante.
´ ˜ DIRECTO M ETODO DE DISE NO
70
La aproximaci´ on es: s
z − 1 T
por lo que sustituyendo en Gc (s) queda ˆ c (z ) = G =
1 = z2 2z+1 1 2z 2 z 1 + T +1 +2 +1 ( ) T T 2 1 1 = 100z 2 −180 z +81 100z 2 −200z +100+20z −20+1 z−1 T
2
−
−
−
N´otese que la expresi´ on del controlador obtenida no es v´alida para su implementaci´ on pues al ponerla en forma de secuencias aparecen t´erminos en el futuro, por lo que la transformamos de manera que quede de la forma Y (z ) b0 + b1 z −1 + b2 z −2 + · · · + bn z −n G(z ) = = U (z ) 1 + a1 z −1 + a2z −2 + · · · + an z −n resultando en este caso: ˆ c (z ) = G
0,01z −2 1 − 1,8z −1 + 0,81z −2
y de ah´ı se obtiene que: uk = 1,8uk−1 − 0,81uk−2 + 0,01ek−2
(5.5)
El algoritmo tendr´ıa los siguientes pasos: 1. Repetir: a ) Esperar(T). b) Leer(ek ). c ) Calcular uk seg´ un la expresi´on (5.5). d ) Aplicar uk . e ) Actualizar: uk−2 = u k−1 , uk−1 = u k , ek−2 = e k−1 , ek−1 = e k .
5.4.
M´ etodo de dise˜ no directo
En esta secci´on se ver´ a una alternativa a la discretizaci´ on de controladores continuos, el m´etodo de dise˜ no directo o m´etodo de Ragazzini-Truxal. Este m´etodo se basa en dise˜ nar el controlador directamente en tiempo discreto, imponiendo una serie
˜ DE CONTROLADORES DISCRETOS CAP ´ITULO 5. DISE NO
71
de condiciones a su funci´ o n de transferencia y la funci´ on de transferencia de bucle cerrado. El principio tras el m´ etodo directo es que habitualmente se tienen unas especificaciones de dise˜ n o que debe cumplir el sistema en bucle cerrado. En base a esas especificaciones es posible obtener por tanto la funci´ on de transferencia de bucle cerrado deseada , G d (z ). Por otra parte se sabe que seg´ un la configuraci´ on cl´asica de control realimentado la funci´ on de transferencia de bucle cerrado ser´ a: Gd (z ) =
C (z )G(z ) 1 + C (z )G(z )
Donde G(z ) es la funci´ on de transferencia de bucle abierto del sistema y C (z ) es la funci´on de transferencia del controlador. Es evidente que se puede despejar C (z ) en la ecuaci´on anterior, quedando: C (z ) =
1 Gd (z ) G(z ) 1 − Gd (z )
(5.6)
La funci´ on de transferencia del controlador obtenida as´ı directamente puede que no sea implementable o puede que resulte en un sistema mal condicionado. Por lo tanto, para garantizar que el controlador sea implementable hay que imponer una serie de condiciones: causalidad, estabilidad interna y errores en r´egimen permanente.
5.4.1.
Causalidad
El controlador debe ser causal pues de lo contrario necesitar´ıa valores futuros de la secuencia {ek } para calcular la se˜ nal de control uk . La causalidad implica que si la funci´on de transferencia del controlador1 es C (z ) =
N c (z ) Dc (z )
entonces grado(N c (z )) ≤ grado(Dc (z )) Veamos la causa de esta condici´ on. Si C (z ) es igual a U (z ) b0 z m + b1 z m−1 + · · · + bm C (z ) = = n E (z ) z + a1 z n−1 + · · · + an para obtener la ecuaci´ on en diferencias que da la se˜ nal uk hay que dividir todo por z n para que quede 1 + a1 z −1 + · · · en el denominador. Si m > n quedar´ıan t´erminos de 1
N´otese que la funci´on de transferencia se expresa en potencias de z no de z −1
´ ˜ DIRECTO M ETODO DE DISE NO
72
la forma z p (con p > 0) que equivalen a t´erminos de la se˜ nal de error ek+ p , es decir t´erminos en el futuro. Por otra parte, la ecuaci´ on (5.6) se puede reescribir como N d (z )
D(z ) Dd (z ) D(z ) N d (z ) N c (z ) C (z ) = = = N (z ) 1 − N d (z ) N (z ) Dd (z ) − N d (z ) Dc (z ) Dd (z )
Esto implica que grado(N c (z )) = grado(D(z )) + grado(N d (z )) grado(Dc (z )) = grado(N (z )) + grado(Dd (z )) Suponiendo que se cumple la condici´ on de causalidad tanto en la funci´ on de transferencia del controlador como de la planta se verifica que grado(D(z )) + grado(N d (z )) ≤ grado(N (z )) + grado(Dd (z )) y de ah´ı grado(D(z )) − grado(N (z )) ≤ grado(Dd (z )) − grado(N d (z ))
(5.7)
Esta desigualdad se traduce en la siguiente condici´ on impuesta sobre la funci´ o n de transferencia de bucle cerrado deseada Gd (z ):
El exceso de polos sobre ceros de la funci´ on de transferencia de bucle cerrado deseada debe ser mayor o igual que el exceso de polos sobre ceros de la funci´ on de transferencia de bucle abierto de la planta.
Esto implica que si el sistema tiene un retardo la funci´ on deseada de bucle cerrado ha de tener al menos el mismo retardo (por que la planta no puede reaccionar antes de que cambie la referencia).
5.4.2.
Estabilidad Interna
El principio detras de las condiciones de estabilidad interna es que se deben evitar las cancelaciones entre polos y ceros inestables (es decir fuera del circulo unidad) de C (z ) y G(z ). Tomemos la ecuaci´ on caracter´ıstica de bucle cerrado: 1 + C (z )G(z ) = 0
˜ DE CONTROLADORES DISCRETOS CAP ´ITULO 5. DISE NO
73
Es conocido que las raices de esta ecuaci´ on son los polos de bucle cerrado del sistema. Esta ecuaci´ on se puede reescribir como: 1+
N c (z ) N (z ) =0 Dc (z ) D(z )
que equivale a Dc (z )D(z ) + N c (z )N (z ) = 0
(5.8)
Sup´ongase que la planta tiene un polo inestable, por lo que el denominador de la funci´on de transferencia puede ponerse como: ¯ ) D(z ) = (z − α)D(z
donde |α| > 1
¯ c (z ), Si lo cancelamos con un cero en el numerador de C (z ), es decir N c (z ) = (z − α)N entonces teniendo en cuenta (5.8) la ecuaci´ on caracter´ıstica ser´ıa:
¯ ) + (z − α)N ¯ c (z )N (z ) = (z − α) Dc (z )D(z ¯ ) + N ¯c (z )N (z ) = 0 Dc (z ) · (z − α)D(z Es decir, la ecuaci´on caracter´ıstica tiene una raiz inestable, lo que implica que uno de los polos de bucle cerrado es inestable. El mismo an´ alisis se podr´ıa repetir para los ceros inestables de G(z ). El an´alisis anterior se refuerza por el hecho de que si bien es posible que anal´ıticamente se pueda cancelar un cero inestable con un polo inestable y viceversa, en la pr´actica por cambios y tolerancias en la din´ amica de la planta o del controlador es muy dificil lograr tal cancelaci´ on o mantenerla en el tiempo. Por lo tanto se acabar´ıa teniendo un cero y un polo inestable. Veamos como se concretan estas ideas. Como se tiene que: C (z ) =
D(z ) Gd (z ) N (z ) 1 − Gd (z )
se ve que se tienen que cumplir dos condiciones: 1. Todos los polos inestables de G(z ) deben aparecer como ceros de 1 − Gd (z ). La raz´o n de esto es para evitar que en N c (z ) no aparezcan los polos inestables de G(z ), que si se cumple esta condici´on ser´ıan cancelados por 1 − Gd (z ). 2. Todos los ceros inestables de G(z ) deben aparecer como ceros de G d (z ). Cumpli´endose esta condici´ on se evita que en Dc (z ) aparezcan los ceros inestables de G(z ), que ser´ıan anulados por Gd (z ). N´otese que estas condiciones se imponen sobre Gd (z ) y no sobre G(z ), que evidentemente viene dada por el proceso y no se puede modificar.
´ ˜ DIRECTO M ETODO DE DISE NO
74
5.4.3.
Errores en r´ egimen permanente
Estas condiciones sirven para fijar Gd (z ) especificando si se desea o no error en r´egimen permanente nulo ante determinadas referencias. N´ otese que el error para la configuraci´on en bucle cerrado ser´ a: E (z ) = R(z ) − Y (z ) = R(z ) − R(z )Gd (z ) = (1 − Gd (z ))R(z ) por lo que el error en r´egimen permanente ser´ a (usando el teorema del valor final): erp = l´ım (z − 1)(1 − Gd (z ))R(z ) z →1 Dependiendo de la referencia que se desee seguir con error en r´egimen permanente nulo se tendr´ an diferentes condiciones a imponer sobre Gd (z ):
egimen permanente nulo ante referencia escal´on: En este caso 1. Error en r´ z R(z ) = z − 1 por lo que z erp = l´ım (z − 1)(1 − Gd (z )) = l´ım z (1 − Gd (z )) = 1 − Gd (1) z →1 z − 1 z →1 Claramente si se desea que el error sea cero se ha de cumplir que Gd (1) = 1 2. Error en r´ egimen permanente nulo ante referencia escal´on: La referencia en este caso ser´ a: T z R(z ) = (z − 1)2 El error ser´ a: T z 0 erp = l´ım (z − 1)(1 − Gd (z )) = z →1 (z − 1)2 0 Este l´ımite se resolver´ıa usando la regla de L’Hopital. En cualquier caso, si previamente se ha impuesto la condici´ on anterior, Gd (1) = 1 o lo que es lo mismo l´ım Gd (z ) = 1, se cumple que: z →1 d dz
(1 − Gd (z )) dGd (z ) erp = l´ım T d = −T z →1 dz (z − 1) dz
z =1
por que el error en r´egimen permanente ante rampa y escal´ on ser´ a nulo si Gd (1) = 1 dG d (z ) dz
−T
z =1
= 0
˜ DE CONTROLADORES DISCRETOS CAP ´ITULO 5. DISE NO
75
Ejemplo 5.2 Sea G(z ) =
1 z + 2
Se pide hallar el controlador C (z ) tal que el sistema en bucle cerrado tenga sus polos en z = 0 y z = 0,8 y que el error en r´egimen permanente ante escal´ on sea cero.
En primer lugar se ver´a que forma ha de tener G d (z ). Se ha de cumplir que el exceso de polos sobre ceros de Gd (z ) sea mayor o igual que el de G(z ), que en este caso es 1. Por tanto, G d (z ) tendr´ a como forma: Gd (z ) =
b0 z + b1 z (z − 0,8)
De esta forma ya est´ an especificados los polos y se cumple que el exceso de polos es igual. En segundo lugar hay que imponer las condiciones de estabilidad interna. G(z ) tiene un polo inestable en z = −2 por lo que 1 − Gd (z ) tiene que tener un cero en z = −2. Calcularemos primero 1 − Gd (z ): 1 − Gd (z ) = 1 −
b0 z + b1 z (z − 0,8) − b0 z − b1 = z (z − 0,8) z (z − 0,8)
Impondremos ahora que tenga un cero en z = −2: 1 − Gd (−2) =
−2(−2 − 0,8) + b0 2 − b1 =0 −2(−2 − 0,8)
que a su vez equivale a: 5,6 + 2b0 − b1 = 0 −→ b1 = 2b0 + 5,6
(5.9)
La tercera condici´ on es la de error permanente nulo, que se consigue con G d (1) = 1: b0 + b1 b0 + b1 = = 1 −→ b0 + b1 = 0,2 −→ b1 = −b0 + 0,2 1(1 − 0,8) 0,2 Usando (5.9) y (5.10) se obtiene: b0 = −1,8
b1 = 2
(5.10)
´ CONTROL EN UN N UMERO FINITO DE INTERVALOS. CONTROL DEAD-BEAT
76
Por tanto ya se tiene cual es Gd (z ): Gd (z ) =
2(−0,9z + 1) −1,8z + 2 = z (z − 0,8) z (z − 0,8)
Y a partir de Gd (z ) ya se puede calcular C (z ): 2(−0,9z +1) 1 Gd (z ) 2(1 − 0,9z ) 2(z −1 − 0,9) z (z −0,8) C (z ) == = (z + 2) = = G(z ) 1 − Gd (z ) (z − 1) 1 − z −1 1 − 2(z−(z0−,90z,+1) 8)
Luego
U (z ) 2(z −1 − 0,9) C (z ) = = E (z ) 1 − z −1
Por tanto: U (z )(1 − z −1 ) = E (z )(−1,8 + 2z −1 ) −→ uk = u k−1 − 1,8ek + 2ek−1
5.5.
Control en un n´ umero finito de intervalos. Control dead-beat
Este tipo de control no tiene equivalente en tiempo continuo. El objetivo es lograr un tiempo de asentamiento finito con error en r´egimen permanente nulo. Esto implica que el sistema en bucle cerrado debe tener respuesta impulsional finita y por lo tanto Gd (z ) debe ser un polinomio de cierto orden N , es decir: a0z N + a1 z N −1 + · · · + aN Gd (z ) = a 0 + a1 z −1 + · · · + an z −N = z N donde N es mayor o igual que el orden del sistema n. N´otese que en esta Gd (z ) todos los polos de bucle cerrado est´an en z = 0. En esta configuraci´ on el error llega a 0 en N tiempos de muestreo y el tiempo de asentamiento es t = N · T , donde T es el tiempo de muestreo. Es habitual que N tome el valor m´ınimo posible, es decir N = n. En este tipo de control, llamado dead-beat el u ´ nico par´ ametro de dise˜ no es el tiempo de muestreo. Si tomamos un tiempo de muestreo muy peque˜ n o la magnitud de la se˜ nal de control aumenta dr´ asticamente y el sistema puede sobreoscilar mucho. Veremos como se dise˜ na el controlador en este caso, partiendo de que Gd (z ) ser´ a Gd (z ) =
N d (z ) z N
˜ DE CONTROLADORES DISCRETOS CAP ´ITULO 5. DISE NO
77
Por otra parte segun (5.6): N (z )
d 1 Gd (z ) D(z ) D(z ) N d (z ) z N C (z ) = = = N d (z ) G(z ) 1 − Gd (z ) N (z ) z −N N (z ) z N − N d (z ) N
(5.11)
z
Por otra parte la funci´ on de transferencia entre la referencia y la salida del controlador U (z ) Gu (z ) = R(z ) debe tener tambien una respuesta impulsional finita, de manera que Gu (z ) =
U (z ) U (z ) Y (z ) 1 = = Gd (z ) R(z ) Y (z ) R(z ) G(z )
debe ser un polinomio en z −1 y en Gu (z ) =
D(z ) N d (z ) N (z ) z N
podemos tomar N d (z ) = M (z )N (z ) donde M (z ) nos da m´as grados de libertad. Sabiendo entonces que N d (z ) = M (z )N (z ), se lleva a (5.11) de manera que C (z ) =
D(z ) M (z )N (z ) D(z )M (z ) = N (z ) z N − M (z )N (z ) z N − M (z )N (z )
Siendo una condici´ on es que el error en r´egimen permanente ante escal´ on sea nulo, se puede elegir M (z ) de manera que Gd (1) = 1 es decir Gd (z ) =
M (z )N (z ) 1 M ( 1) N (1) = 1 M (1) = = −→ · −→ z N N (1)
Por tanto hacemos m =
1
1
bi
bi
y la funci´on de transferencia del controlador en un n´ umero finito de intervalos ser´ a C (z ) =
D(z ) · m z N − m · N (z )
Ejemplo 5.3 Sea G(z ) =
b0 z + b1 (z − a)
78
´ CONTROL EN UN N UMERO FINITO DE INTERVALOS. CONTROL DEAD-BEAT
Obtener el controlador dead-beat correspondiente.
La funci´ on de transferencia del controlador ser´ a: (z − a) b0 +1 b1
(1 − az −1 ) b0 +1 b1 (1 − az −1 ) C (z ) = 1 = = b1 (1 − z −1 ) z − b0 +1 b1 (b0 z + b1 ) 1 − b0 +1 b1 (b0 + b1 z −1 )
Cap´ıtulo 6 Control de sistemas discretos en el espacio de estados 6.1.
Representaci´ on de sistemas discretos en el espacio de estados
El m´etodo de espacio de estados est´a basado en la descripci´ on del sistema mediante n ecuaciones en diferencias, que se agrupan en una ecuaci´ on vectorial matricial en diferencias.
amico es el conDefinici´ on 6.1 Concepto de estado: El estado de un sistema din´ junto m´ as peque˜ no de variables (llamadas variables de estado) tal que, el conocimiento de esas variables en un determinado instante t 0 junto con el conocimiento de los valores de la se˜ nal de entrada para los instantes t ≥ t0 , permite determinar el comportamiento y evoluci´ on del sistema para cualquier instante de tiempo t ≥ t0 .
Las variables de estado se agrupan en el llamado vector de estado y el espacio ndimensional que determinan los posibles valores de esas variables, se denomina espacio de estados . La din´amica de un sistema se puede describir en funci´ on del valor del vector de estados y de la se˜ nal de entrada (asumiendo que el sistema es no aut´ onomo mediante 79
´ DE LA REPRESENTACI ON ´ DE EN ESPACIO DE ESTADOS DE SISTEMAS DISCRETOS 80OBTENCI ON
unas ecuaciones que tendr´ an la forma: x(k + 1) = f (x(k), u(k), k) y(k) = g(x(k), u(k), k) donde la notaci´ on ξ (k) indica el valor tomado por ξ en el instante de tiempo t k y f y g pueden ser cualquier tipo de funci´ on. No obstante en esta asignatura nos centraremos en los Sistemas Lineales e Invariantes en el tiempo (LTI). Este tipo de sistemas son descritos mediante las siguientes ecuaciones: x(k + 1) = Gx(k) + Hu(k)
(6.1)
y(k) = Cx(k) + Du(k) que corresponder´ıan al diagrama de bloques: D
u(k)
H
+
x(k+1) +
z-1
x(k)
+ +
C
G Figura 6.1: Diagrama de bloques de la representaci´on en espacio de estados de un sistema LTI.
6.2.
Obtenci´ on de la representaci´ on de en espacio de estados de sistemas discretos
Partiremos de un sistema discreto descrito por: y(k)+a1 y(k−1)+a2 y(k−2)+· · ·+an y(k−n) = b 0 u(k)+b1 u(k−1)+· · ·+bn u(k−n) (6.2) Es bien conocido de anteriores temas de la asignatura que este sistema puede ser descrito por la siguiente funci´ on de transferencia: Y (z ) b0 + b1 z −1 + b2 z −2 + · · · + bn z −n G(z ) = = U (z ) 1 + a1 z −1 + a2z −2 + · · · + an z −n
(6.3)
A continuaci´ on se expondr´ an dos de los m´etodos disponibles para obtener la representaci´ on en espacio de estados del sistema descrito por (6.3).
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
6.2.1.
81
M´ etodo de programaci´ on directa
Parte de la premisa que la funci´ on de transferencia (6.3) puede reescribirse como: (b1 − a1 b0 )z −1 + (b2 − a2 b0 )z −2 + · · · + (bn − an b0 )z −n G(z ) = b 0 + 1 + a1 z −1 + a2 z −2 + · · · + an z −n teniendo en cuenta que G(z ) =
Y (z ) U (z )
(6.4)
se obtiene:
(b1 − a1 b0 )z −1 + (b2 − a2 b0 )z −2 + · · · + (bn − an b0)z −n Y (z ) = b 0 U (z ) + U (z ) 1 + a1z −1 + a2 z −2 + · · · + an z −n
(6.5)
que a su vez se puede expresar como: ˜ )U (z ) Y (z ) = b 0 U (z ) + Y (z
(6.6)
con:
(b1 − a1 b0 )z −1 + (b2 − a2 b0 )z −2 + · · · + (bn − an b0 )z −n ˜ Y (z ) = (6.7) 1 + a1 z −1 + a2 z −2 + · · · + an z −n ˜ ) se puede definir un Q(z ) que Por otra parte, teniendo en cuenta la expresi´ o n de Y (z cumple que: ˜ ) Y (z U (z ) Q(z ) = = (6.8) (b1 − a1 b0 )z −1 + · · · + (bn − an b0 )z −n 1 + a1 z −1 + · · · + an z −n De ah´ı se obtiene que: Q(z ) = −a1 z −1 Q(z ) − a2 z −2 Q(z ) − · · · − an z −n Q(z ) + U (z )
(6.9)
˜ ) = (b1 − a1 b0 )z −1 Q(z ) + (b2 − a2 b0 )z −2 Q(z ) + · · · + (bn − an b0 )z −n Q(z ) (6.10) Y (z A continuaci´ on se eligen las variables de estado como: X 1 (z ) = z −n Q(z ) X (z ) = z −(n−1)Q(z ) 2
··· X n (z ) = z −1 Q(z ) lo que teniendo en cuenta las propiedades de la transformada Z , implica que: zX 1 (z ) = X 2 (z ) zX 2 (z ) = X 3 (z )
··· zX n−1 (z ) = X n (z )
(6.11)
´ DE LA REPRESENTACI ON ´ DE EN ESPACIO DE ESTADOS DE SISTEMAS DISCRETOS 82OBTENCI ON
lo que a su vez equivale a: x1 (k + 1) = x2 (k)
(6.12)
x2 (k + 1) = x3 (k)
··· xn−1 (k + 1) = xn (k) N´otese que seg´ u n la u ´ ltima igualdad de (6.11) se tiene que Q(z ) = zX n (z ), luego teniendo en cuenta esto y el resto de las igualdades de (6.11) podemos reescribir la expresi´on de Q(z ) en (6.9) como: zX n (z ) = −a1 X n (z ) − a2 X n−1 (z ) − · · · − an X 1 (z ) + U (z )
(6.13)
o lo que es lo mismo: xn (k + 1) = −an x1(k) − an−1 x2 (k) − · · · − a1 xn (k) + u(k)
(6.14)
De esta manera y si tenemos en cuenta (6.12) obtenemos la siguiente expresi´ on de la ecuaci´on de estado:
x1 (k + 1) x2 (k + 1) .. . xn−1 (k + 1) xn (k + 1)
=
0 0 .. .
1 0 ...
0 1 ...
··· ···
0 0 ...
··· 1 0 0 0 −an −an−1 −an−2 · · · −a1
x1 (k) x2 (k) .. . xn−1 (k) xn (k)
+
0 0 .. . 0 1
u(k)
(6.15)
Por otra parte, podemos reescribir tambi´ en (6.10) teniendo en cuenta las igualdades de (6.11) de manera que: ˜ ) = (b1 − a1 b0 )X n (z ) + (b2 − a2b0 )X n−1 (z ) + · · · + (bn − an b0 )X 1 (z ) Y (z
(6.16)
Esto se puede llevar a la ecuaci´ on (6.6) de manera que antitransformando se obtiene: y(k) = (bn − an b0 )x1 (k) + (bn−1 − an−1 b0 )x2 (k) + · · · + (b1 − a1 b0)xn (k) + b0u(k) (6.17) lo cual se puede escribir como:
y(k) =
bn − an b0 bn−1 − an−1 b0 · · · b1 − a1b0
x1 (k) x2 (k) .. . xn−1 (k) xn (k)
+ b0 u(k)
(6.18)
Las ecuaciones (6.15) y (6.18) forman una representaci´ on en espacio de estados del sistema descrito por la funci´ on de transferencia (6.3) que se denomina forma can´ onica controlable .
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
6.2.2.
83
M´ etodo de programaci´ on anidada
En este caso se parte de que de la funci´ o n de transferencia (6.3) se obtiene la siguiente ecuaci´ on: Y (z ) − b0 U (z ) + z −1 (a1 Y (z ) − b1 U (z )) + · · · + z −n (an Y (z ) − bn U (z )) = 0
(6.19)
que a su vez se puede reescribir como:
Y (z ) = b0 U (z ) + z −1 b1 U (z ) − a1Y (z ) + z −1 (b2U (z ) − a2 Y (z ) +z −1 (b U (z ) − a Y (z ) + · · ·) 3
3
(6.20)
Teniendo en cuenta esto se definen las siguientes variables de estado: X n (z ) = z −1 (b1U (z ) − a1 Y (z ) + X n−1 (z )) X n−1 (z ) = z −1 (b2U (z ) − a2 Y (z ) + X n−2 (z )) .. . X 2 (z ) = z −1 (bn−1 U (z ) − an−1 Y (z ) + X 1 (z )) X 1 (z ) = z −1 (bn U (z ) − an Y (z ))
(6.21)
N´otese que seg´ un esta definici´ on de las variables de estado la expresi´on (6.20) se puede reescribir en forma condensada como: Y (z ) = b 0 U (z ) + X n (z )
(6.22)
Sustituyendo esta expresi´ on en la definici´on de las variables de estado (6.21) y multiplicando por z en ambos lados de cada igualdad se obtiene: zX n (z ) = X n−1 (z ) − a1 X n (z ) + (b1 − a1 b0 )U (z )
zX n−1 (z ) = X n−2 (z ) − a2 X n (z ) + (b2 − a2 b0 )U (z ) .. . zX 2 (z ) = X 1(z ) − an−1 X n (z ) + (bn−1 − an−1 b0)U (z ) zX 1 (z ) = −an X n (z ) + (bn − an b0 )U (z ) Antitransformando lo anterior: x1 (k + 1) = −an xn (k) + (bn − an b0)u(k) x2 (k + 1) = x1 (k) − an−1 xn (k) + (bn−1 − an−1 b0 )u(k) .. . xn−1 (k + 1) = xn−2 (k) − a2 xn (k) + (b2 − a2 b0 )u(k) xn (k + 1) = xn−1 (k) − a1 xn (k) + (b1 − a1 b0 )u(k)
(6.23)
´ EN ESPACIO DE ESTADOS DE UN SISTEMA NO ES UNICA ´ LA REPRESENTACI ON
84
Antitransformando tambi´en la expresi´ on (6.22) se obtiene: y(k) = x n (k) + b0 u(k)
(6.24)
Finalmente, agrupando las dos expresiones anteriores se obtiene:
x1 (k + 1) x2 (k + 1) .. . xn−1 (k + 1) xn (k + 1)
=
y(k) =
0 1 .. .
0 0 ··· 0 1
0 −an 0 −an−1 ... ... 0 0 · · · 1 0 −a2 0 0 · · · 0 1 −a1 0 ··· 0 ··· ...
0 0 ...
x1 (k) x2 (k) .. .
xn−1 (k) xn (k)
x1 (k) x2 (k) .. . xn−1 (k) xn (k)
+ b0 u(k)
+
bn − an b0 bn−1 − an−1 b0 .. . b2 − a2 b0 b1 − a1 b0
u(k)
(6.25)
A esta representaci´ o n en espacio de estados del sistema descrito por la funci´ o n de transferencia (6.3) se la denomina forma can´ onica observable .
6.3.
La representaci´ on en espacio de estados de un sistema no es u ´nica
Se ha comprobado que a un mismo sistema descrito por su funci´ on de transferencia le corresponden, al menos, dos representaciones en espacio de estado distintas. De hecho, la representaci´ on en espacio de estados de un sistema no es u´nica. Por ejemplo, podemos tomar otras variables de estado que describan la din´ amica del sistema que sean a su vez combinaciones lineales de las variables de estado originales, o considerar que ´estas son a su vez combinaciones lineales de otras. Dicho de otro modo, dado un sistema LTI como el descrito en (6.1) podemos considerar que el vector de estado x(k) est´a relacionado con otro vector x(k) ˜ con variables de estado distintas mediante una transformaci´on: x(k) = P ˜ x(k) (6.26) donde P es una matriz invertible. Esto se puede llevar a la ecuaci´ o n de estado del sistema de manera que obtendr´ıamos: P ˜ x(k + 1) = GP ˜ x(k) + Hu(k) Premultiplicando por P −1 : x ˜(k + 1) = P −1 GP ˜ x(k) + P −1 Hu(k)
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
85
por lo que la ecuaci´ on de estado se puede expresar como: ˜ x(k) + Hu(k) ˜ x˜(k + 1) = G˜
(6.27)
˜ = P −1 GP y H ˜ = P −1H . De la misma manera la ecuaci´o n, de la salida del con G sistema se puede expresar como: ˜ x(k) + Du(k) ˜ y(k) = C ˜
(6.28)
˜ = CP y D ˜ = D. As´ı pues, las ecuaciones (6.27) y (6.28) describen una reprecon C sentaci´on del sistema en espacio de estados que es diferente de la original pero equivalente a ella1 .
6.4.
Resoluci´ on de las ecuaciones del espacio de estados
En esta secci´ o n se trata el tema de la resoluci´on de las ecuaciones de estado. Es decir, se presentar´ an procedimientos para obtener el valor del vector de estado para un determinado instante de tiempo k > 0 a partir del valor de x(0), es decir, del valor inicial del vector de estados.
6.4.1.
Procedimiento recursivo
Iterando las ecuaciones del estado para un sistema LTI como (6.1) a partir de k = 0: x(1) = Gx(0) + Hu(0) x(2) = Gx(1) + Hu(1) = G 2 x(0) + GHu(0) + Hu(1) x(3) = Gx(2) + Hu(2) = G 3 x(0) + G2 Hu(0) + GHu(1) + Hu(2) .. . generalizando para cualquier k > 0: k 1
k
x(k) = G x(0) +
−
Gk− j −1 Hu( j)
(6.29)
j =0 1
Obs´ervese que en la ecuaci´on (6.28) el estado aparece con ˜, indicando que el vector de estados es diferente al original. La salida sin embargo si coincide con la del sistema original pues ambas representaciones son equivalentes.
86
´ DE LAS ECUACIONES DEL ESPACIO DE ESTADOS RESOLUCI ON
Obs´ervese que x(k) depende del estado inicial y de los valores de la entrada. Por otra parte, la salida se puede expresar como: k 1
k
y(k) = CG x(0) + C
−
Gk− j −1 Hu( j) + Du(k)
(6.30)
j =0
6.4.2.
Matriz de transici´ on de estados
Consid´erese la ecuaci´ on: x(k + 1) = Gx(k)
(6.31)
En este caso, al no tener se˜ nal de entrada la soluci´ on de la ecuaci´on viene dada por: x(k) = Ψ(k)x(0) con: Ψ(k + 1) = GΨ(k)
Ψ(0) = I
es decir: Ψ(k) = G k A Ψ(k) se le llama la matriz de transici´ on de estados y contiene toda la informaci´ on sobre los movimientos libres del sistema descrito por (6.31). Estos movimientos libres se refieren a los cambios de estado o evoluci´ on del estado del sistema en ausencia de entrada. En t´erminos de Ψ(k) la soluci´on de la ecuaci´ on de estados para el sistema (6.1) viene dada por: k 1
x(k) = Ψ(k)x(0) +
−
Ψ(k − j − 1)Hu( j)
(6.32)
j =0
k 1
= Ψ(k)x(0) +
−
Ψ( j)Hu(k − j − 1)
j =0
lo que lleva a: k 1
y(k) = C Ψ(k)x(0) + C
−
j =0
Ψ( j)Hu(k − j − 1) + Du(k)
(6.33)
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
6.4.3.
M´ etodo basado en la transformada
87
Z
Aplicando la transformada Z a ambos lados de la ecuaci´on de estados del sistema (6.1) se obtiene: zX (z ) − zx(0) = GX (z ) + HU (z ) y de ah´ı: (zI − G)X (z ) = zx(0) + HU (Z ) Premultiplicando por (zI − G)−1 : X (z ) = (zI − G)−1 zx(0) + (zI − G)−1 HU (Z ) y antitransformando:
x(k) = Z−1 (zI − G)−1 z x(0) + Z−1 (zI − G)−1 HU (z )
Esta ecuaci´ on la podemos comparar con la soluci´ on mediante el procedimiento recursivo indicado en la ecuaci´ on (6.29), e identificando t´erminos tenemos que: k 1
−
G = Z−1 (zI − G)−1 z k
y
Gk− j −1 Hu( j) = Z−1 (zI − G)−1HU (z ) (6.34)
j =0
La dificultad de este m´etodo consiste en realizar la transformada Z de las expresiones anteriores. Para ilustrar el procedimiento consid´erese el siguiente ejemplo:
Ejemplo 6.1 Dado un sistema LTI como (6.1) con: G =
0 1 −0,16 −1
H =
1 1
C =
1 0
Se pide calcular Ψ(k) = G K = Z−1 {(zI − G)−1 z }. En primer lugar calculamos: (zI − G)−1 = = =
−1 z 0,16 z + 1 z +1 (z +0,2)(z +0,8) 0,16 (z +0,2)(z +0,8)
−
1 (z +0,2)(z +0,8) z
(z +0,2)(z +0,8)
1 4 1 − 31 z +0 ,8 3 z +0,2 0,8 1 0,8 1 − 3 z+0,2 + 3 z+0,8
5 1 1 − 35 z+0 ,8 3 z +0,2 1 1 4 1 − 3 z +0,2 + 3 z +0,8
(6.35)
88
´ DE LAS ECUACIONES DEL ESPACIO DE ESTADOS RESOLUCI ON
Multiplicando lo anterior por z y antitransformando se obtiene:
4 (−0,2)k − 31 (−0,8)k 3 − 03,8 (−0,2)k + 03,8 (−0,8)k
Ψ(k) = G k = Z−1 (zI − G)−1 z =
5 (−0,2)k − 35 (−0,8)k 3 − 13 (−0,2)k + 34 (−0,8)k
(6.36) El ejemplo se puede completar resolviendo completamente la ecuaci´ on de estado y la de la salida para una se˜ nal de entrada dada por: k = 0, 1, 2, · · ·
u(k) = 1
x(0) =
1 −1
Teniendo en cuenta la transformada Z de la entrada (escal´ on unitario) y que se sabe que: X (z ) = (zI − G)−1 [zx(0) + HU (z )] se calcula: zx(0) + HU (z ) =
z −z
z2 z 1 z 2 +2z z 1
z
z 1 z z 1
− = − − − − que premultiplicado por el resultado de la ecuaci´ on (6.35) lleva a: X (z ) =
− 176 z
+
+
22 z 9
25
z
+ z18−1 z +0,2 z +0,8 3,4 7 z z − 179,6 z 6 18 + + z +0,2 z +0,8 z −1
y de ahi, antitransformando: x(k) =
− 17 ( −0,2)k + 22 ( −0,8)k + 6 9 3,4 (−0,2)k − 179,6 (−0,8)k + 6
25 18 7 18
Finalmente la ecuaci´ on de salida ser´ a: y(k) =
1 0 x(k) 17 22 25 = − (−0,2)k + (−0,8)k + 6 9 18
6.4.3.1.
Procedimiento alternativo para calcular (zI − G)−1
Se observa en el ejemplo 1.1 que gran parte del c´ alculo se emplea en calcular (zI − 1 − G) . Esto puede ser muy engorroso cuando el orden de las matrices involucradas es superior a 3. A continuaci´on se detalla un procedimiento alternativo para esos casos. En primer lugar es conocido que, por definici´ on de matriz inversa: (zI − G)−1 =
Adj(zI − G) |zI − G|
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
89
donde Adj indica la matriz adjunta. El determinante |zI − G| se puede expresar como: |zI − G| = z n + a1 z n−1 + a2 z n−2 + · · · + an
Por otra parte se puede demostrar que: Adj(zI − G) = I z n−1 + H 1 z n−2 + H 2 z n−3 + · · · + H n−1 donde las matrices H i se calculan mediante: H 1 = G + a1 I H 2 = GH 1 + a2 I .. . H n−1 = GH n−1 + an−1 I
H n = GH n−1 + an I = 0
y los ai se calculan a su vez como: a1 = −traza(G) 1 a2 = − traza(GH 1 ) 2 1 a3 = − traza(GH 2 ) 3 .. . 1 an = − traza(GH n−1 ) n
Ejemplo 6.2 A continuaci´ on se calcular´ a la inversa de (zI − G) para el ejemplo 1.1 mediante este procedimiento alternativo. Dado que el orden de la matriz es n = 2, se tiene que:
|zI − G| = z 2 + a1z + a2 Adj(zI − G) = Iz + H 1 donde:
a1 = −traza(G) a2 = − 12 traza(GH 1 )
H 1 = G + a1 I
La traza de G es igual a 1, luego a1 = 1 y de ah´ı se obtiene que H 1 = G + I , con lo que se puede calcular: 1 a2 = − traza 2
0 1 −0,16 −1
1 1 −0,16 0
= 0,16
90
´ DE LAS ECUACIONES DE ESTADO CONTINUAS DISCRETIZACI ON
con lo que se obtiene:
1 1 Adj(zI − G) = Iz + −0,16 0 z + 1 1 = −0,16 z
|zI − G| = z 2 +z +0,16 = (z +0,2)(z +0,8)
Finalmente:
z + 1 1 −0,16 z (zI − G)−1 = (z + 0,2)(z + 0,8)
que evidentemente es el mismo resultado obtenido en el ejemplo 1.1.
6.5.
Discretizaci´ on de las ecuaciones de estado continuas
En esta secci´ on veremos c´ omo se puede pasar de un modelo en espacio de estado continuo a discreto. Se partir´ a de un sistema lineal e invariante en el tiempo continuo: x˙ = Ax + Bu y = Cx + Du
(6.37)
Supondremos que la entrada s´ olo cambia en ciertos instantes igualmente espaciados en el tiempo, es decir, s´olo puede cambiar en t = kT , para k = 0, 1, 2, · · ·. Al discretizar la ecuaci´ on de estado ´esta tomar´ a la forma: x((k + 1)T ) = G(T )x(kT ) + H (T )u(kT )
(6.38)
donde puede observarse que las matrices G y H dependen del tiempo de muestreo T . Para determinar el valor de G(T ) y H (T ) usaremos la soluci´ on de la ecuaci´ on de estado en tiempo continuo:
t
At
x(t) = e x(0) + e
At
e−Aτ Bu(τ )dτ
(6.39)
0
Supondremos que la entrada u(t) es muestreada mediante un mantenedor de orden cero, por lo que se cumple que: u(t) = u(kT )
para
kT ≤ t ≤ kT + T
(6.40)
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
91
Se tiene que: A(k+1)T
x((k + 1)T ) = e
x(0) + e
A(k+1)T
(k+1)T
e−Aτ Bu(τ )dτ
(6.41)
0
kT
x(kT ) = eAkT x(0) + eAkT
e−Aτ Bu(τ )dτ
(6.42)
0
Mutiplicando la ecuaci´ on (6.42) por e AT y rest´ andola de la ecuaci´ on (6.41) se obtiene: x((k + 1)T ) = e
AT
x(kT ) + e
A(k+1)T
(k+1)T
e−Aτ Bu(τ )dτ
(6.43)
kT
Teniendo en cuenta la suposici´ on de que u(t) es constante en el intervalo de integraci´ on (ver (6.40)) se puede sustituir u(τ ) por u(kT ). Aplicando esto y operando se llega a:
T
AT
x((k + 1)T ) = e
x(kT ) + e
AT
T
= eAT x(kT ) +
e−Aτ Bu(kT )dτ
0
e−Aλ Bu(kT )dλ
(6.44)
0
donde λ = T − τ . Sea:
G(T ) = eAT H (T ) =
entonces la ecuaci´ on (6.44) queda:
T
0
eAλ dλ B
x((k + 1)T ) = G(T )x(kT ) + H (T )u(kT )
(6.45)
(6.46)
que es la ecuaci´ on a la que ten´ıamos que llegar y por tanto se ha obtenido la ecuaci´ on de estado continuo discretizada. En el caso particular (aunque muy com´ un, y por tanto interesante) de que A sea una matriz invertible se tiene que:
H (T ) = eAT − I A−1B Por otra parte, la ecuaci´ on de la salida al ser discretizada queda: y(kT ) = C x(kT ) + Du(kT )
(6.47)
con C , D matrices constantes e iguales a la de la ecuaci´ on en tiempo continuo. Existen diferentes m´etodos para calcular eAT . Quiz´as el m´as sencillo de aplicar cuando se trata de calcular la exponencial con papel y l´ apiz sea utilizar la equivalencia:
eAt = L−1 (sI − A)−1
(6.48)
92
´ DE LAS ECUACIONES DE ESTADO CONTINUAS DISCRETIZACI ON
donde L−1 indica la transformada de Laplace inversa. Desde el punto de vista pr´ actico el m´etodo consistir´ıa en calcular (sI − A)−1 (n´otese que puede emplearse el m´etodo para calcular (zI − G)−1 dado en la secci´ on 6.4.3.1) y aplicar a posteriori la transformada de Laplace inversa a cada elemento de la matriz.
Ejemplo 6.3 Se ilustrar´ a en este ejemplo el c´ alculo de eAt siendo: A =
0 1 0 −2
Para ello se calcula: (sI − A) =
s 0 0 s
−
0 1 = 0 −2
s −1 0 s + 2
y aplicando los m´etodos vistos en la secci´ on 6.5 y subsiguientes se calcula la inversa: (sI − A)−1 =
1 s
0
1 s(s+2) 1 (s+2)
Finalmente se aplica la transformada inversa de Laplace a cada elemento de la matriz anterior de manera que se obtiene:
eAt = L−1 (sI − A)−1 =
1 0
1 (1 2
− e−2t ) e−2t
Ejemplo 6.4 Como ejemplo de discretizaci´ on de las ecuaciones de estado en tiempo continuo, consid´erese el siguiente sistema: x˙ = −ax + u y = x Usando las expresiones de (6.45) se obtiene: G(T ) = eAT = e−aT y H (T ) = = =
T
eAλ dλ B T −aλ e dλ
0
0 1−e
aT
−
a
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
Luego:
93
aT x(k + 1) = e−aT x(k) + 1−ea u(k) y(k) = x(k) −
6.6.
Controlabilidad y Observabilidad
En esta secci´ o n se pasan a tratar dos conceptos clave en el estudio de sistemas din´ amicos, la controlabilidad y la observabilidad. El primero se refiere a la existencia de una secuencia de actuaciones para llevar el sistema a un estado arbitrario. Por otro lado, la observabilidad tiene que ver con la posibilidad de determinar el valor del vector de estados de un sistema a partir de observaciones de las salidas y la entradas de dicho sistema. Ambos conceptos se deben a Kalman y son claves en estrategias de control como la colocaci´ on de polos por realimentaci´ on del vector de estados o el control ´optimo.
6.6.1.
Controlabilidad
amico es completamente controlable o de estado comDefinici´ on 6.2 Un sistema din´ pletamente controlable, si es posible transferir al sistema desde un estado inicial arbitrario a cualquier estado deseado en un tiempo finito. Tambi´en puede decirse que ser´ a completamente controlable, si cada variable de estado se puede controlar en un tiempo finito por una se˜ nal de control que no est´e sujeta a ning´ un tipo de restricci´ on.
Como es habitual nos centraremos en el estudio de la controlabilidad de sistemas LTI: x((k + 1)T ) = Gx(kT ) + Hu(kT ) (6.49) siendo la se˜ nal u(kT ) constante en el intervalo de tiempo kT ≤ t ≤ (k + 1)T . En este caso, la controlabilidad de estado completo implica que existe una se˜ nal de control constante entre cada tiempo de muestreo que transfiere al sistema, desde un estado x(kT ) cualquiera a un estado deseado xf en como mucho n periodos de muestreo, donde n es el tama˜ no del vector de estados. Recordemos que la soluci´ on de la ecuaci´on de estados es: n 1
n
x(nT ) = G x(0) +
−
j =0
Gn− j −1 Hu( jT )
94
CONTROLABILIDAD Y OBSERVABILIDAD
= Gn x(0) + Gn−1Hu(0) + Gn−2 Hu(T ) + · · · + Hu((n − 1)T ) de ah´ı se obtiene:
n
x(nT ) − G x(0) =
. . . H .. GH .. · · · .. Gn−1 H
donde la matriz M c =
u((n − 1)T ) u((n − 2)T ) .. .
. . . H .. GH .. · · · .. Gn−1H
es la llamada matriz de controlabilidad .
u(0)
(6.50)
(6.51)
Sup´ongase un estado final arbitrario x(nT ) = xf . Si el sistema fuera controlable deber´ıa existir un vector de actuaciones que al multiplicarlo por la matriz de controlabilidad (6.51) diese como resultado x f − Gn x(0). Como x f y x(0) pueden ser cualquier par de valores del vector de estado, es f´ acil entender que xf − Gn x(0) puede ser cualquier vector de Rn . De esto se desprende que para que el sistema sea controlable, el espacio de vectores generado por los vectores que forman la matriz de controlabilidad (es decir, sus columnas) debe ser todo Rn . La condici´ on necesaria y suficiente para que se cumpla esto es que el rango de la matriz de controlabilidad sea n. Este resultado permite enunciar el siguiente lema. on Lema 6.1 Dado un sistema LTI de orden n representado por (6.49), es condici´ necesaria y suficiente para que el sistema sea completamente controlable que el rango de la matriz de controlabilidad (6.51) sea igual a n.
Comentario 6.1 El sistema que cumpla la condici´ on establecida en el lema 6.1 podr´ a alcanzar cualquier estado como m´ aximo en n periodos de muestreo, pero s´ olo si no existen restricciones sobre la se˜ nal de control. En caso contrario, se tardar´ıa m´ as. Si el sistema es controlable, se podr´ a determinar la secuencia de valores de la entrada necesaria para llevar al sistema a xf resolviendo el sistema de ecuaciones (6.50). Por otra parte, la controlabilidad se puede comprobar a partir de la funci´ o n de transferencia de un sistema observando si hay cancelaciones de polos y ceros. En el caso de que las hubiese, el sistema no ser´ıa controlable. Por tanto, el sistema Y (z ) z + 0,2 = U (z ) (z + 0,8)(z + 0,2) no ser´ıa controlable pues existe una cancelaci´ on de un polo con un cero.
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
6.6.2.
95
Controlabilidad de la salida completa
En control autom´ atico el objetivo m´ as com´ un es controlar la evoluci´ on de la salida del sistema. Se puede demostrar que la controlabilidad del estado no implica la controlabilidad de la salida. Sin embargo, podemos comprobar dicha controlabilidad de una manera an´ aloga a la de la controlabilidad del estado completo. Sea un sistema cuya ecuaci´on de estado es (6.49) y la ecuaci´on de la salida es: y(kT ) = C x(kT )
(6.52)
La condici´ on para comprobar la controlabilidad de la salida completa ser´ıa que Rango
. . . CH .. CGH .. · · · .. CG n−1 H
= m
(6.53)
donde m es el n´umero de salidas. Por otra parte, si la ecuaci´ on de la salida es: y(kT ) = C x(kT ) + Du(kT )
(6.54)
la condici´on a comprobar ser´ıa: Rango
. . . . D .. CH .. CGH .. · · · .. CG n−1 H
= m
(6.55)
N´otese que en esta segunda forma de la ecuaci´ on de salida, la presencia del t´ermino Du(kT ) no empeora la controlabidad del sistema, sino justo lo contrario. De hecho, al introducirse una columna extra en la matriz de controlabilidad (la correspondiente a D), se puede dar el caso que se pase de tener m − 1 columnas linealmente independientes a tener m, por lo que se lograr´ıa la controlabilidad de la salida. Dicho de otra manera, encontrar m vectores linealmente independientes siempre ser´ a igual o m´as f´acil entre n + 1 vectores que entre s´ olo n de esos vectores.
6.6.3.
Observabilidad
Consid´erese un sistema aut´ onomo: x((k + 1)T ) = Gx(kT ) y(kT ) = Cx(kT )
(6.56)
onomo (6.56) es completamente observable si todo esDefinici´ on 6.3 El sistema aut´ tado inicial x(0) se puede determinar de la observaci´ on de y(kT ) durante un n´ umero finito de intervalos de muestreo. Para que ello ocurra, cada transici´ on del estado debe afectar a todos los elementos del vector de salida.
96
CONTROLABILIDAD Y OBSERVABILIDAD
La observabilidad juega un papel esencial en el control de aquellos sistemas en los que algunas de las variables de estado no son accesibles, es decir, no son medibles directamente. N´ otese que se ha considerado un sistema aut´ onomo. La raz´ on de esto es que la observabilidad de un sistema no aut´onomo se reduce a la del sistema aut´ onomo equivalente. Se sabe que la soluci´ on de la ecuaci´ on de estado para el sistema aut´ onomo (6.56) es: x(kT ) = G k x(0) y de ah´ı y(kT ) = C Gk x(0) La observabilidad completa implica que usando y(0), y(T ), y(2T ), · · · , y((n − 1)T ) se pueden determinar x1 (0), x2 (0), · · · , xn (0) donde x i (0) indica la i´esima componente de x(0). Es decir el sistema es completamente observable si las ecuaciones: y(0) = Cx(0) y(T ) = CGx(0) .. . y((n − 1)T ) = CGn−1 x(0) permiten determinar x1 (0), x2 (0), · · · , xn (0). Como y(kT ) es un m-vector (asumiendo que el sistema tiene m salidas) el sistema de ecuaciones anterior es en realidad un sistema de n × m ecuaciones, en las que las inc´ ognitas son las n componentes de x(0). Para que la soluci´ o n de este sistema sea u ´ nica debe haber entre ellas n ecuaciones linealmente independientes. Esto se traduce en la siguiente condici´ on de observabilidad completa: . . . Rango = n (6.57) C ∗ .. G∗ C ∗ .. · · · .. (G∗ )n−1 C ∗
donde ∗ indica la conjugada traspuesta de una matriz y a la matriz que aparece en la condici´on se la llama matriz de observabilidad. Por otra parte, de una manera an´ aloga a la de la controlabilidad, la observabilidad de un sistema a partir de su funci´ on de transferencia se puede asegurar si ´esta no presenta cancelaciones de polos y ceros.
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
97
Finalmente, se enuncia a continuaci´ on una propiedad que ser´ au ´til para poder obte– ner la representaci´ o n de un sistema en forma can´onica, sin que por ello pueda argumentarse que existe la posibilidad de variar la controlabilidad u observabilidad del mismo.
Propiedad 6.1 Sea un sistema LTI dado en la forma usual (6.1), cuya matriz de controlabilidad es M y la de observabilidad es N . Si se define una transformaci´ on como (6.26) con: ˆ = P −1 GP G ˆ = P −1 H H ˆ = CP C siendo P una matriz invertible, entonces las matrices de controlabilidad y observabilidad del sistema equivalente tienen el mismo rango que M y N .
6.6.4.
Principio de Dualidad
Este principio, que es debido a Kalman, relaciona la controlabilidad y observabilidad de un sistema con la de otro sistema llamado dual del primero. Sea un sistema S 1 : S 1 :
x((k + 1)T ) = Gx(kT ) + Hu(kT ) y(kT ) = Cx(kT )
(6.58)
xˆ((k + 1)T ) = G∗ x ˆ(kT ) + C ∗ u ˆ(kT ) yˆ(kT ) = H ∗ xˆ(kT )
(6.59)
Sea S 2 el sistema dual de S 1 : S 2 :
Entonces se puede afirmar que2: SI S 1
6.7.
CONTROLABLE OBSERVABLE
ENTONCES S 2
OBSERVABLE CONTROLABLE
Transformaci´ on de un sistema en formas can´ onicas
Sea un sistema controlable y observable: x(k + 1) = Gx(k) + Hu(k) y(k) = Cx(k) + Du(k) 2
N´otese que los sistemas S 1 y S 2 son diferentes, es decir, S 2 de S 1 .
no
(6.60)
es una representaci´on alternativa
98
´ DE UN SISTEMA EN FORMAS CAN ONICAS ´ TRANSFORMACI ON
A continuaci´ on, se ver´a el procedimiento para obtener las formas can´ onicas a partir de ese sistema.
6.7.1.
Obtenci´ on de la forma can´ onica controlable
Sea una matriz de transformaci´ on T = M W con:
M =
. . . H .. GH .. · · · .. Gn−1 H
W =
an−1 an−2 an−2 an−3 .. ... . a1 1 1 0
· · · a1 ··· 1 ...
1 0 ...
··· ···
0 0
0 0
donde los coeficientes ai son los coeficientes de la ecuaci´ on caracter´ıstica del sistema, es decir: |zI − G| = z n + a1 z n−1 + · · · + an−1 z + an = 0 Se define el estado x(k) en funci´on de la transformaci´ on de otro vector de estados x(k): ˆ x(k) = T ˆ x(k) Entonces el sistema:
ˆ x(k) + Hu(k) ˆ xˆ(k + 1) = Gˆ ˆ ˆ y(k) = Cx(k) + Du(k)
(6.61)
−1 GT , H ˆ ˆ = T −1 H , C ˆ = C T , D = D ˆ con G = T est´a en forma can´onica controlable.
6.7.2.
Obtenci´ on de la forma can´ onica observable
En este caso la matriz de transformaci´ on es: Q = (W N ∗ )−1 con N =
. . . C ∗ .. G∗ C ∗ .. · · · .. (G∗ )n−1 C ∗
ˆ = Q−1 GQ, H ˆ = Q−1 H , C ˆ = CQ, D ˆ = D y def´ınase el estado x(k) como Sea G x(k) = Q xˆ(k). Entonces el sistema (6.61) est´ a en forma can´ onica observable.
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
6.8.
99
Colocaci´ on de polos mediante realimentaci´ on del vector de estados
En esta secci´ on se presentar´ a una estrategia de control que permite elegir la situaci´ on de los polos de bucle cerrado del sistema, mediante la realimentaci´ on lineal del vector de estados. Se ver´ a que la condici´on necesaria para que esto se pueda conseguir es que el sistema sea controlable. Por otra parte, se asumir´ a que todas las variables de estados son accesibles, es decir, podemos medirlas directamente sin tener que estimarlas por otros procedimientos.
6.8.1.
Condici´ on necesaria y suficiente para la colocaci´ on arbitraria de polos
Sea un sistema LTI: x(k + 1) = Gx(k) + Hu(k) Se escoge una ley de control que tiene la forma: u(k) = −Kx(k) es decir, la se˜ nal de control se obtiene de la realimentaci´ on negativa del vector de estados multiplicado por una cierta matriz de ganancias K . Este tipo de ley de control se la denomina usualmente realimentaci´ on del vector de estados. Con esta ley de control el sistema en bucle cerrado quedar´ıa: +
H
x(k+1)
x(k)
-1
z
+
G u(k)
-K
Figura 6.2: Diagrama de bloques de un sistema controlado por una realimentaci´on del vector de estados.
y la ecuaci´ on de estado del sistema en bucle cerrado resultar´ıa ser: x(k + 1) = (G − HK )x(k)
´ DE POLOS MEDIANTE REALIMENTACI ON ´ DEL VECTOR DE ESTADOS 100 COLOCACI ON
De manera an´ aloga a lo que se da en sistemas continuos, los autovalores de (G − HK ) son (o coinciden con) los polos de bucle cerrado del sistema. Por tanto, lo que buscamos es ver que condici´on es necesario cumplir para que exista una matriz de ganancias K determinada, que nos permita colocar los autovalores de (G − HK ) en unos valores elegidos a voluntad.
Lema 6.2 Se demuestra que la condici´ on necesaria y suficiente para que por medio de una realimentaci´ on del vector de estados puedan escogerse los polos de bucle cerrado (es decir, los autovalores de (G − HK )) es que el sistema en bucle abierto sea de estado completamente controlable. Si esta condici´ on no se cumple, no se podr´ an elegir todos los polos de bucle cerrado.
6.8.2.
Procedimientos para calcular K
Sean µ1 ,µ2 ,· · ·,µn los valores deseados para los polos de bucle cerrado, es decir, para los autovalores de (G − HK ). Aquellos que sean complejos siempre ir´ an por pares conjugados. La ecuaci´ on caracter´ıstica del sistema en bucle abierto es:
|zI − G| = z n + a1 z n−1 + · · · + an = 0 Se define una matriz de transformaci´ on T = MW exactamente igual que la matriz de transformaci´ on necesaria para obtener la forma can´ onica controlable descrita en la secci´on 6.7.1. Se obtiene:
ˆ T −1 GT = G =
0 0 .. .
1 0 ...
0 1 ...
··· ···
0 0 ...
··· 1 0 0 0 −an −an−1 −an−2 · · · −a1
Se define a continuaci´ on: ˆ = K T = K Entonces:
ˆ K ˆ = H
0 0 .. . 1
ˆ = T −1 H = H
δ n δ n−1 · · · δ 1
0 0 ...
δ n δ n−1 · · · δ 1 =
0 0 .. .
··· 0 ··· 0 ...
0 0 ··· 0 δ n δ n−1 · · · δ 1
0 0 .. . 0 1
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
101
Por otra parte, la ecuaci´ on caracter´ıstica del sistema en B.C. es: ˆ HK ˆ | |zI − G − HK | = |zI − G + 1 0 ··· 0 0 1 ··· 0 ... = z ... ...
+
=
0 0 ··· 0 0 ··· 0 0 0 0 .. ... . 0 0 δ n δ n−1 z 0 .. .
−
0 1 ··· 0 ··· 0 ...
··· 0 · · · δ 1 −1 z ...
0 0 .. .
1 0 ...
0 1 ...
··· ···
0 0 ...
0 0 0 ··· 1 −an −an−1 −an−2 · · · −a1
··· ···
0 0 ...
0 0 ··· −1 an + δ n an−1 + δ n−1 · · · z + a1 + δ 1 n = z + (a1 + δ 1 )z n−1 + · · · + (an−1 + δ n−1 )z + (an + δ n ) = 0 A su vez, la ecuaci´on caracter´ıstica correspondiente a los autovalores deseados ser´ a: (z − µ1 )(z − µ2 ) · · · (z − µn ) = z n + α1 z n−1 + α2 z n−2 + · · · + αn−1 + αn = 0 Igualando los coeficientes de ambas ecuaciones caracter´ısticas: α1 = a1 + δ 1 α2 = a2 + δ 2 .. . αn = an + δ n se obtiene la siguiente expresi´ on para K : ˆ −1 K = KT = δ n δ n−1 · · · δ 1 T −1 . . . = αn − an ..αn−1 − an−1 .. · · · ..α1 − a1
(6.62) T −1
que coloca los polos de bucle cerrado del sistema en los valores deseados. N´ otese que si el sistema en bucle abierto viene dado en forma can´ onica controlable, se verifica que T = I = T −1 .
´ DE POLOS MEDIANTE REALIMENTACI ON ´ DEL VECTOR DE ESTADOS 102 COLOCACI ON
6.8.2.1.
Procedimiento alternativo: la f´ ormula de Ackermann
Existen otros procedimientos alternativos para el c´ alculo de la matriz K . Aqu´ı mencionaremos uno muy conocido, el que emplea la f´ormula de Ackermann. Seg´ un esto, la expresi´on para K tomar´ıa la forma: −1 . . . n−1 . . . K = 0 0 · · · 0 1 φ(G) H . GH . · · · . G H donde:
φ(G) = G n + α1 Gn−1 + · · · + αn−1G + αn I Los coeficientes αi se calcular´ an como en el apartado anterior. Finalmente, otro procedimiento que puede ser util ´ para sistemas de bajo orden consiste en tomar K = k1 k2 · · · kn
plantear la ecuaci´on caracter´ıstica en funci´ on de los ki :
|zI − G + HK | = 0 e igualar a los coeficientes de z n + α1 z n−1 + α2 z n−2 + · · · + αn−1 + αn = 0
6.8.3.
Control Dead-Beat
Este es un tipo de control que resulta ser un caso particular del control por colocaci´on de polos.
Definici´ on 6.4 Dado un sistema LTI, entenderemos como control dead-beat aquel que consigue llevar el estado a cero en como m´aximo n intervalos de muestreo, donde n es el orden del sistema. Para obtener este tipo de control se deben especificar los polos de bucle cerrado conforme a lo que se establece en el siguiente lema.
Lema 6.3 Se demuestra que si se escogen los polos de bucle cerrado de manera que est´ en todos en el origen (es decir, todos los autovalores de (G − HK ) igual a cero) se consigue un control dead-beat.
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
103
Esto se lleva a la pr´actica con una matriz de realimentaci´ o n del vector de estados calculada mediante: K = −an −an−1 · · · −a1 T −1
Este tipo de control no goza de una reputaci´ on excesivamente favorable porque habitualmente se precisa de una se˜ nal de control de amplitud muy grande para obtener la respuesta dead-beat. De hecho en este tipo de control, el unico ´ par´ametro de dise˜ no que se ha de elegir es el tiempo de muestreo. Si ´este es muy peque˜ no, los n intervalos de muestreo supondr´ an un tiempo total muy corto, de manera que para llevar el estado a cero partiendo de un estado inicial arbitrario se precisar´ a un valor muy alto de la se˜nal.
Ejemplo 6.5 Sea un sistema x(k + 1) = Gx(k) + Hu(k) con G =
0 1 −0,16 −1
0 1
Se desea determinar una matriz K , tal que los polos de bucle cerrado sean el par complejo conjugado z = 0,5 ± j0,5. En primer lugar hay que determinar la controlabilidad del sistema. Para ello, se forma la matriz de controlabilidad:
. H .. GH =
0 1 1 −1
cuyo rango es igual a dos (basta comprobar que su determinante es distinto de cero), por lo que el sistema es controlable y se puede proceder a calcular K . La ecuaci´on caracter´ıstica de bucle cerrado deseada es:
|zI − G + HK | = (z − 0,5 − j0,5)(z − 0,5 + j0,5) = z 2 − z + 0,5 = 0
(6.63)
por tanto, los coeficientes αi son en este caso α1 = −1 y α2 = 0,5. Por otra parte, la ecuaci´on caracter´ıstica de bucle abierto del sistema es:
|zI − G| =
−1 z 0,16 z + 1
por lo que los coeficientes ai son a1 = 1 y a2 = 0,16. A partir de aqu´ı se puede aplicar cualquiera de los m´etodos explicados anteriormente.
´ DE POLOS MEDIANTE REALIMENTACI ON ´ DEL VECTOR DE ESTADOS 104 COLOCACI ON
M´etodo 1
K =
α2 − a2
.. . α1 − a1
T −1
Obs´ervese que el sistema viene dado en forma can´ onica controlable, por lo que T = I y por tanto: K = 0,34 −2
M´etodo 2 (f´ ormula de Ackermann) En este caso la f´ormula de Ackermann ser´ıa: K = donde φ(G) es
0 1
φ(G) = G2 − G + 0,5I −0,16 −1 = − 0,16 0,84 0,34 −2 = 0,32 2,34
por lo que K = =
−1 . . φ(G) H . GH
0 1 −0,16 −1
0 1 0 1 1 −1 0,34 −2
−1
0,5 0 0 0,5
+
0,34 −2 0,32 2,34
M´etodo 3 Este procedimiento es apropiado para sistemas de ba jo orden como el que nos ocupa. En primer lugar, se toma K = [k1 k2 ] y se formula la ecuaci´ on caracter´ıstica de bucle cerrado en funci´ on de K :
z 0 0 1 + |zI − G + HK | = − 0 z −0,16 −1 z −1 = 0,16 + k1 z + 1 + k2 2 = z + (1 + k2 )z + k1 + 0,16 = 0
0 1
k1 k2
la comparamos con la ecuaci´ on caracter´ıstica deseada (6.63) e identificamos coeficientes: 1 + k2 = −1 k1 + 0,16 = 0,5
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
105
de donde se obtiene que k 1 = 0,34 y k 2 = −2, por lo que se tiene ya el valor de K , que evidentemente coincide con el obtenido mediante los dos m´etodos anteriores.
Ejemplo 6.6 Calcular para el mismo sistema del ejemplo anterior la matriz K que conlleva un control dead-beat, y comprobarlo calculando la evoluci´ o n del sistema a partir de un estado inicial arbitrario. En este caso: K =
−a2 −a1
T −1 =
−0,16 −1
Vamos a verificar que el control es dead-beat. Para ello, obtenemos la ecuaci´ o n de estado del sistema en bucle cerrado:
x1(k + 1) x2(k + 1)
=
=
0 1 −0,16 − 1 0 1 x1 (k) 0 0 x2 (k)
x1 (k) x2 (k)
+
0 1
0,16 1
x1 (k) x2 (k)
Supongamos ahora que el estado inicial es
x1 (0) = x2 (0)
a b
entonces se tiene que:
x1 (1) = x2 (1)
0 1 0 0
a = b
b 0
e iterando una vez m´ as:
x1 (2) = x2 (2)
0 1 0 0
b = 0
0 0
luego este control lleva al estado a cero en 2 pasos y es efectivamente un control deadbeat.
6.9.
Observadores del estado
En el control por colocaci´ on de polos se asume que el estado se puede medir directamente. En ocasiones, sin embargo, puede que esta suposici´ o n no se cumpla y todas
106
OBSERVADORES DEL ESTADO
o algunas de las variables de estado no puedan ser medidas. Es decir, puede que haya variables de estado no accesibles. En cualquier caso, para poder controlar el sistema se deber´ an estimar los valores de esas variables de estado no accesibles. Este proceso de estimaci´on es lo que se conoce como observaci´ on . Un observador del estado es un subsistema del sistema de control, que realiza la estimaci´on de las variables de estado bas´andose en los valores medidos (observados) de las salidas y la se˜ nal de control. Se distinguen tres tipos de observadores, en funci´ on de las variables de estado que se estimen: 1. Observador del estado completo. Es aqu´el que estima todas las variables de estado. 2. Observador de orden m´ınimo. En este caso s´ olo se estiman aquellas variables de estado que no son accesibles. 3. Observador de orden reducido. Este tipo de observador estima todas las variables no accesibles y algunas de las accesibles. En esta asignatura nos centraremos en los dos primeros tipos de observadores. Como en el caso de la colocaci´ on de polos, formularemos en primer lugar las condiciones para que se pueda llevar a cabo la observaci´on.
Lema 6.4 Condici´ on necesaria y suficiente para la observaci´ on del estado. Dado un sistema LTI, se puede determinar x(k + 1) a partir de y(k), y(k − 1),· · ·,y(k − n + 1) y u(k),u(k − 1),· · ·,u(k − n + 1), donde n es el orden del sistema, s´ı y s´ olo s´ı, el sistema es completamente observable. Por tanto x(k + 1) se puede determinar, si el sistema es observable, en n pasos. Sin embargo, no debe olvidarse que sobre el sistema act´ uan ruidos y perturbaciones. Por esta raz´ on no es posible utilizar un procedimiento algebraico para determinar el estado, sino que se ha de acudir a un procedimiento iterativo para estimarlo.
6.9.1.
Procedimiento iterativo para la estimaci´ on del estado
Sea un sistema LTI x(k + 1) = Gx(k) + Hu(k) y(k) = Cx(k)
(6.64)
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
107
Si se dispone de una aproximaci´ on del estado en k, que denotaremos xˆ(k), ´esta evolucionar´a seg´ un la din´amica del sistema x ˆ(k + 1) = Gˆ x(k) + Hu(k) yˆ(k) = C ˆ x(k)
(6.65)
Si las condiciones iniciales son las mismas, es decir, si x(0) = xˆ(0) entonces se verifica que x(k) = xˆ(k). Sin embargo, si las condiciones iniciales son diferentes entonces, de manera general, x(k) = xˆ(k). Podemos pues, definir el error de estimaci´ on en k como: e(k) = x(k) − xˆ(k) Restando la ecuaci´on de estado aproximada (6.65) de la real (6.64): x(k + 1) − xˆ(k + 1) = G (x(k) − x ˆ(k)) que teniendo en cuenta la definici´on del error de aproximaci´ on es equivalente a: e(k + 1) = Ge(k) que se puede considerar como un sistema din´ amico aut´ onomo. Si G es una matriz estable (es decir, si sus autovalores est´ an dentro del c´ırculo unidad) el estado de este sistema tiende a cero, es decir:
e(k) → 0 ⇒ xˆ(k) → x(k) Por tanto, si el sistema es estable, la propia din´amica del sistema hace que la aproximaci´on del estado tienda al valor real del mismo. Esto quiere decir que podr´ıamos usar la propia ecuaci´on del sistema para obtener en cualquier instante k una aproximaci´ on del estado, cuyo error ir´ıa decayendo a lo largo del tiempo. Esta convergencia al valor real, sin embargo, puede ser muy lenta, y por otra parte no siempre se tratar´ a con sistemas estables. Por tanto, esta estrategia no es muy aconsejable. N´otese que en el esquema que se ha presentado, no se hace uso de la salida del sistema, que siempre ser´ a accesible. Esto puede ser aprovechado para mejorar el rendimiento del observador introduci´endose un t´ermino corrector, de manera que la ecuaci´ on para obtener la aproximaci´ on del estado para el instante k + 1 ser´ıa: x ˆ(k + 1) = Gˆ x(k) + Hu(k) + K e (y(k) − C ˆ x(k)) donde K e es una matriz de ponderaci´ on o ganancia. Este t´ermino se puede elegir de manera que se mejore el rendimiento, incluso si existen discrepancias entre las matrices del sistema y las del proceso real al que dicho sistema representa.
108
6.9.2.
OBSERVADORES DEL ESTADO
Observador del estado completo
Sea un sistema LTI observable (6.64) con una ley de control por realimentaci´ on negativa del vector de estados, u(k) = −Kx(k) siendo el estado del sistema x(k) no accesible pero s´ı observable. Por tanto, podemos sustituir el valor del estado por una aproximaci´ on de manera que u(k) = −K ˆ x(k) y de ah´ı, aplicando las consideraciones de la secci´ on 6.9.1 se obtiene xˆ(k + 1) = Gˆ x(k) + Hu(k) + K e (y(k) − yˆ(k)) = (G − K e C )xˆ(k) + Hu(k) + K e y(k) = (G − K e C − HK )xˆ(k) + K e y(k)
(6.66)
´ Esta es la llamada ecuaci´ on del observador predictivo. La palabra predictivo se utiliza para indicar que la estimaci´ on del valor futuro del estado en k + 1, se realiza utilizando informaci´on disponible en el instante k. A los autovalores de la matriz (G − K e C ) se les suele denominar polos del observador, y como se hizo en la secci´ on 6.9.1, se ver´a a continuaci´ on que marcan la din´ amica de la evoluci´on del error de observaci´ on. En efecto, si se resta la ecuaci´ on del observador de la del sistema real (6.64) se llega a que e(k + 1) = (G − K e C )e(k) de lo que puede observarse que los polos del observador determinan la din´ amica del error. Si G − K e C es estable, el error converger´ a a cero independientemente de la estimaci´on del estado inicial xˆ(0). La ecuaci´ on del observador y del propio sistema en espacio de estados controlado por la realimentaci´ on lineal del vector de estados, pueden representarse mediante un diagrama de bloques que se ilustra en las figuras 6.3 y 6.4. Finalmente, es evidente que interesa que la estimaci´ on del estado converja r´ apidamente al valor real de dicho estado. Una manera evidente de lograr esto es colocar todos los polos del observador en cero, de manera que se consiga que el error de aproximaci´ on muestre una respuesta dead-beat. Esto se consigue eligiendo de manera apropiada K e .
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
u(k)
+
H
x(k+1) +
z
x(k)
-1
y(k)
+
C
109
G u(k)
-K
x(k)
y(k)
u(k) OBSERVADOR
Figura 6.3: Diagrama de bloques de un sistema LTI controlado mediante una realimentaci´on del vector de estados que estima el estado con un observador.
x(k)
u(k)
H
+
+ +
x(k+1) +
z-1
x(k)
C
+
y(k)
G
Ke
Figura 6.4: Diagrama de bloques de un observador de orden completo.
-
y(k)
110
OBSERVADORES DEL ESTADO
6.9.2.1.
C´ alculo de K e
El procedimiento para elegir K e de manera que se coloquen los polos del observador en unos valores especificados es an´ alogo al de la colocaci´on de polos vista en la secci´ on 6.8. Si la ecuaci´on caracter´ıstica deseada del observador es: z n + α1 z n−1 + · · · + αn−1 z + αn = 0 y la del sistema es z n + a1 z n−1 + · · · + an−1 z + an = 0 entonces K e = (W N ∗ )−1
donde
W =
an−1 an−2 an−2 an−3 .. ... . a1 1 1 0
· · · a1 ··· 1 ...
1 0 ...
··· ···
0 0
0 0
αn − an αn−1 − an−1 .. . α1 − a1
N =
(6.67)
. . . C ∗ .. G∗ C ∗ .. · · · .. (G∗ )n−1 C ∗
es decir, la misma matriz W empleada en la colocaci´ o n de polos y la matriz de observabilidad3 . N´otese que si el sistema viene indicado en forma can´ onica observable (W N ∗ )−1 = I . Tambi´en puede emplearse la f´ ormula de Ackermann, que para este caso es: −1 C 0 CG 0 K e = φ(G) .. .. . . n−1 CG 1
donde
φ(G) = G n + α1 Gn−1 + · · · + αn−1 G + αn I = 0
Ejemplo 6.7 Consid´erese un sistema como (6.64) con G = 3
1 1 0 1
H =
0,5 1
C =
1 0
A fin de obtener un texto m´as legible se evita en lo posible hacer referencias a material anterior, a´un a pesar de que esto pueda alargar la exposici´on del tema al repetirse ecuaciones y expresiones.
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
111
dise˜ naremos un observador del estado. En primer lugar, se ha de comprobar que el sistema es observable. Para ello se comprueba que rango
. C ∗ .. G∗ C ∗
= rango
1 1 0 1
= 2
luego el sistema es completamente observable. El siguiente paso es hallar la ecuaci´ on caracter´ıstica del sistema en bucle abierto:
z 0 1 1 − 0 z 0 1 2 = z − 2z + 1 = 0
|zI − G| =
luego a1 = −2 y a2 = 1. Deseamos que el observador tenga una respuesta dead-beat, luego la ecuaci´ on caracter´ıstica deseada del observador ser´ a: z 2 = 0 ⇒ α1 = α 2 = 0 A continuaci´ on se calcular´a K e :
−1 2
K e = (W N ∗ )−1 con N =
1 1 0 1
W =
resultando K e =
a1 1 = 1 0
−2 1 1 0
2 1
C´ alculo de K e mediante la f´ ormula de Ackermann En este caso la f´ ormula de Ackermann es: K e = φ(G)
−1
C CG
0 1
con φ(G) = G 2 + α1 G + α2 I = G 2 resultando K e =
2
−1
1 1 0 1
1 0 1 1
0 = 1
2 1
que evidentemente es el mismo resultado que el obtenido con el procedimiento anterior.
112
OBSERVADORES DEL ESTADO
Estudio de la evoluci´ on del error de estimaci´ on Vamos a comprobar que el error cae a cero seg´ un una respuesta dead-beat. Sea
xˆ(0) =
a2 b2
e(0) = x(0) − x ˆ(0) =
a1 − a2 b1 − b2
=
G − K e C =
−1 1 −1 1
x(0) =
a1 b1
entonces
adem´as se tiene que
el error evoluciona, por tanto, seg´ un
e1 (k + 1) = e2 (k + 1)
a b
e1 (k) e2 (k)
−1 1 −1 1
por lo que se calcula la evoluci´on de este error:
e1 (1) e2 (1)
=
=
e1 (2) e2 (2)
=
=
−1 1 −1 1 −a + b −a + b −1 1 −1 1 0 0
a b
−a + b −a + b
luego, tal y como se pretend´ıa, la estimaci´ o n del vector de estados coincide con el valor real de dicho vector dos tiempos de muestreo despu´es de iniciarse la estimaci´ on. Finalmente, la ecuaci´ on del observador es:
xˆ1 (k + 1) x ˆ1 (k + 1)
=
−1 1 −1 1
xˆ1 (k) xˆ1 (k)
+
0,5 1
u(k) +
2 1
y(k)
6.9.2.2.
Comentarios acerca del papel de K e
Se ha visto que K e se utiliza para corregir la estimaci´ on, disminuyendo el efecto de las incertidumbres que se tengan sobre la din´ amica real de la planta. Si estas incertidumbres son importantes (es decir, si se tiene poca confianza en que el modelo de la
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
113
planta coincida con la din´amica real de la misma) este t´ermino corrector deber´ıa tomar un valor alto. Sin embargo, si la se˜nal de salida est´ a contaminada por perturbaciones y ruido en general procedente, por ejemplo, de los sensores de medida, entonces la se˜ nal de salida no es fiable en el sentido de que no proviene unicamente ´ de la din´ amica real de la planta. Por tanto, en estas situaciones el t´ermino corrector deber´ıa ser m´as peque˜ no. Al seleccionar K e se debe pensar no s´ olo en reducir el error en base a una correcci´ on en´ergica, sino que hay que tener en cuenta que cuando hay ruidos o perturbaciones, una ganancia K e alta no contribuir´ıa a reducir el error, porque las correcciones no ir´ıan en la direcci´on correcta. Es decir, hay que llegar a un compromiso entre la velocidad de respuesta y la sensibilidad a ruidos y perturbaciones.
6.9.2.3.
Efectos de la adici´ on del observador
Hemos supuesto que al no disponerse de x(k) para calcular la se˜ nal de control, se usa el observador para producir una estimaci´ on xˆ(k), de manera que u(k) = −K ˆ x(k)
(6.68)
Cabe preguntarse si al usar el observador, se colocan los polos del sistema en el sitio que se pretende al calcularse la ganancia de realimentaci´ on del vector de estado K . ¿Que efectos tiene el observador sobre los polos de bucle cerrado? Para estudiar esto, se analizar´ a el efecto que tiene la adici´ on del observador sobre la ecuaci´ on caracter´ıstica del sistema en bucle cerrado. Sea el sistema (6.64) controlado mediante (6.68). La ecuaci´ o n de estado puede reescribirse como: x(k + 1) = Gx(k) − HK ˆ x(k) = (G − HK )x(k) + HK (x(k) − xˆ(k)) = (G − HK )x(k) + HKe(k) donde e(k) es el error de observaci´ o n en el instante k. Recordemos que el error de observaci´ on viene dado por: e(k + 1) = (G − K e C )e(k) La ecuaci´ on de estado y la del error, se pueden combinar en la ecuaci´ on de un sistema aut´onomo aumentado que describe la din´ amica del sistema observado (es decir, de todo el conjunto sistema-controlador-observador):
x(k + 1) e(k + 1)
=
G − HK HK 0 G − K e C
x(k) e(k)
114
OBSERVADORES DEL ESTADO
La ecuaci´ on caracter´ıstica de este sistema es
es decir,
zI − G + HK −HK =0 0 zI − G + K e C
|zI − G + HK ||zI − G + K e C | = 0 Dado que las ra´ıces de esta ecuaci´ on son las ra´ıces de cada uno de los dos determinantes que aparecen, esto implica que los polos del sistema completo son los polos del sistema en bucle cerrado, tal y como se han colocado mediante el dise˜ no de K junto con los polos del observador. Por tanto, la colocaci´ on de polos y la observaci´ on son dos cosas independientes, porque la adici´ on del observador no modifica los polos de bucle cerrado del sistema tal y como se eligieron al dise˜ nar K . Por tanto:
Los polos del sistema se eligen para que se cumplan las especificaciones del sistema de control. Los polos del observador se escogen de manera que la respuesta del observador sea m´a s r´apida que la del sistema (para que esta u´ltima resulte dominante), t´ıpicamente 4 o 5 veces m´ as r´apida.
6.9.3.
Observador de orden m´ınimo
Sup´ongase que x(k) es un n-vector y que y(k) es un m-vector. Como las m salidas son combinaciones lineales del estado, hay m variables que no necesitan ser estimadas. El observador de orden m´ınimo ser´ a el que estime las n − m restantes. Para dise˜ nar el observador de orden m´ınimo estableceremos una partici´ on del vector de estados: x(k) =
xa (k) ··· xb (k)
donde el m-vector x a (k) son las variables medibles (accesibles) y el n − m-vector x b (k) son las variables no medibles (no accesibles). Esta partici´ on del vector de estados
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
115
determina una partici´ on en la ecuaci´on de estados:
xa (k + 1) ··· xb (k + 1)
=
y(k) =
Gaa
··· Gba . I ..
.. . Gab xa (k) .. ··· . ··· .. xb (k) . Gbb xa (k) ··· 0 xb (k)
+
H a ··· H b
u(k)
donde Gaa ∈ Rm×m , Gab ∈ Rm×(n−m) , Gba ∈ R(n−m)×m , Gbb ∈ R(n−m)×(n−m) , H a ∈ m×1 R , H b ∈ R(n−m)×1 . La ecuaci´ on de la parte del estado que es accesible (medible) ser´ıa: xa (k + 1) = G aa xa (k) + Gab xb (k) + H a u(k) N´otese que en esta ecuaci´ on hay t´erminos que no son medibles, por lo tanto la podemos reescribir agrupando los t´erminos medibles a la izquierda y los no medibles a la derecha: xa (k + 1) − Gaa xa (k) − H a u(k) = G ab xb (k)
(6.69)
Por otro lado, la parte del vector de estados que no se puede medir se puede escribir como: xb (k + 1) = G ba xa (k) + Gbb xb (k) + H b u(k) Obs´ervese que en esta ecuaci´ on, los t´erminos que dependen de xa (k) y u(k) son conocidos mientras que el t´ermino que depende de xb (k) es desconocido. Esta ecuaci´ o n la podemos reescribir como xb (k + 1) = G bb xb (k) + [Gba xa (k) + H b u(k)]
(6.70)
El dise˜ no del observador de orden m´ınimo se realiza tomando como referencia el del observador de orden completo, cuya ecuaci´ on de estados es x(k + 1) = Gx(k) + Hu(k) En el caso del observador de orden m´ınimo, la ecuaci´ on (6.70), es decir, la ecuaci´ on que describe la evoluci´on de la parte del estado no medible, es la que hace el papel de ecuaci´ on de estado. Por otra parte, se conoce que la ecuaci´ on de salida para el observador de orden completo es: y(k) = C x(k) donde y(k) es medible y C x(k) es no medible (por serlo x(k)). Obs´ervese que se puede establecer un paralelismo entre los t´erminos de esta ecuaci´ on y los de la ecuaci´ on (6.69). En el caso del observador de orden m´ınimo, por tanto, se considera como ecuaci´ on de salida la ecuaci´on (6.69).
116
OBSERVADORES DEL ESTADO
Recordemos que la ecuaci´ on del observador de orden completo es x ˆ(k + 1) = (G − K e C )xˆ(k) + Hu(k) + K e y(k) Comparando las ecuaciones de estado y salida del observador de orden completo y las del observador de orden m´ınimo, se establecen las siguientes analog´ıas: Observador de orden completo Observador de orden m´ınimo xˆ(k) G Hu(k) y(k) C K e ∈ Rn×m
xˆb (k) Gbb Gba xa (k) + H b u(k) xa (k + 1) − Gaa xa (k) − H a u(k) Gab K e ∈ R(n−m)×m
Teniendo en cuenta esto, se obtiene x ˆb (k+1) = (Gbb −K e Gab )ˆ xb (k)+Gba xa (k)+H b u(k)+K e [xa (k + 1) − Gaa xa (k) − H a u(k)] (6.71) Adem´as, de la ecuaci´on del sistema sabemos que y(k) = x a (k) luego, aplicando esto en la ecuaci´ on (6.71) se obtiene x ˆb (k + 1) = (Gbb − K e Gab )ˆ xb (k) + K e y(k + 1 ) + (Gba − K e Gaa )y(k) + (H b − K e H a )u(k) que ser´ıa la ecuaci´ on del observador de orden m´ınimo. Los polos del observador de orden m´ınimo ser´ıan los autovalores de (Gbb − K e Gab ). Obs´ervese, sin embargo, que en esta ecuaci´ on aparece un t´ermino que multiplica a y(k + 1). Como es l´ogico el valor de la salida en k + 1 no est´ a disponible en el instante k, por lo que esta ecuaci´on ha de ser modificada. Se puede demostrar (no se har´ a aqu´ı), que esta ecuaci´ on se puede reescribir como: x ˆb (k) = ηˆ(k) + K e xa (k) ηˆ(k + 1) = (Gbb − K e Gab )ˆ η (k) + [(Gbb − K e Gab )K e + Gba − K e Gaa ] y(k) +(H b − K e H a )u(k)
(6.72)
La ecuaci´ on caracter´ıstica del observador de orden m´ınimo es:
|zI − Gbb + K e Gab | = 0 y como en el caso del observador de orden completo, K e se puede elegir para colocar los polos del observador donde se desee mediante los m´etodos indicados en la secci´ on
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
117
6.9.2.1. Por ejemplo, si la salida y(k) es un escalar, es decir m = 1, se tienen que estimar n − 1 variables. La f´ ormula de Ackermann, por ejemplo, quedar´ıa: −1 Gab 0 Gab Gbb 0 K e = φ(Gbb ) .. .. . . n−2 G G 1
donde
ab
bb
φ(Gbb ) = G nbb−1 + α1 Gnbb−2 + · · · + αn−1I De manera an´ aloga a la del observador de orden completo, se comprueba que la ecuaci´ on caracter´ıstica del conjunto formado por el observador de orden m´ınimo y el sistema controlado por una realimentaci´ on lineal del vector de estados es:
|zI − G + HK ||zI − Gbb + K e Gab | = 0 por lo que, nuevamente se ve que los problemas de dise˜ no del controlador y del observador son independientes.
Ejemplo 6.8 Sea un sistema LTI cuyas matrices son G =
1 0,2 0 1
H =
0,02 0,2
se pide
C =
1 0
1. Dise˜ nar un controlador que coloque los polos de bucle cerrado en z = 0,6 ± j0,4. 2. Asumiendo que y(k) = x 1 (k) es el u ´nico estado accesible, dise˜ nar un observador de orden m´ınimo con respuesta dead-beat. En primer lugar, se ha de comprobar la controlabilidad y observabilidad del sistema:
rango rango
. H .. GH
. C ∗ .. G∗ C ∗
= rango = rango
0,02 0,06 = 2 0,2 0,2 1 1 = 2 0 0,2
Luego el sistema cumple ambas condiciones. La ecuaci´ on caracter´ıstica del controlador es: z − 1 −0,2 |zI − G| = = z 2 − 2z + 1 0 z − 1
118
OBSERVADORES DEL ESTADO
luego a1 = −2 y a2 = 1. La ecuaci´on caracter´ıstica de bucle cerrado deseada es: (z − 0,6 − j0,4)(z − 0,6 + j0,4) = z 2 − 1,2z + 0,52 luego α1 = −1,2 y α2 = 0,52. Por tanto, K =
donde la matriz T se calcula como T = y
α2 − a2 α1 − a1
a1 1 = 1 0
. H .. GH
T −1 = lo que lleva a
T −1 =
K =
−0,48 0,8 T −1 0,02 0,02 −0,2 0,2
25 −2,5 25 2,5 8 3,2
la ley de control se formular´a por tanto, como u(k) = −K ˆ x(k)
= − 8 3,2
x1 (k) = − 8 3,2 x ˆ2 (k)
y(k) x ˆ2 (k)
En cuanto al observador de orden m´ınimo, ´este estimar´ a una sola variable, por lo que es de orden 1. La partici´on de la ecuaci´on de estado en este caso ser´ a: . . Gaa .. Gab 1 .. 0,2 0,02 H a .. . · · · = ··· · · · . · · · = · · · .. · · · . . H b 0,2 Gba .. Gbb 0 .. 1
La ecuaci´ on caracter´ıstica deseada del observador es Φ(z ) = z = 0 luego K e = φ(Gbb )[Gab ]−1 [1] = (1)(0,2)−1 (1) = 5 Las ecuaciones del observador ser´ıan ηˆ(k + 1) = (Gbb − K e Gab )ˆ η (k) + [(Gbb − K e Gab )K e + Gba − K e Gaa ] y(k) +(H b − K e H a )u(k) = (1 − 5 × 0,2)ˆ η (k) + [(1 − 5 × 0,2) × 5 + 0 − 5 × 1] y(k) + (0,2 − 5 × 0,02)u(k) = −5y(k) + 0,1u(k) xˆ2 (k) = K e y(k) + ηˆ(k) = 5y(k) + ηˆ(k)
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
119
y la ley de control ser´a por tanto, u(k) = = = =
x(k) −K ˆ −8y(k) − 3,2ˆ x2 (k) −8y(k) − 3,2(5y(k) + ηˆ(k)) η (k) −24y(k) − 3,2ˆ
6.10.
Control o ´ptimo LQR
Las t´ecnicas de control o´ptimo conforman una de las ramas del control autom´ atico m´as importantes en el desarrollo de las estrategias modernas de control m´ as utilizadas hoy en d´ıa. Se han escrito numerosas monograf´ıas dedicadas a su estudio, y se ha publicado una ingente cantidad de art´ıculos en revistas especializadas. No obstante, en estos apuntes s´ olo se dar´ a una pincelada sobre este particular, centr´ andonos en el caso particular del control LQR con horizonte infinito, tambi´en conocido como LQR de r´egimen permanente. Las estrategias de control o´ptimo calculan la ley de control de manera que se optimiza una cierta medida del rendimiento del controlador. Se parte de un sistema descrito por x(k + 1) = Gx(k) + Hu(k) El objetivo es calcular una ley de control u(k) = −Kx(k) de tal manera que se minimiza el funcional (que expresa un ´ındice de funcionamiento) 1 J = 2
∞
(x∗ (k)Qx(k) + u∗ (k)Ru(k))
(6.73)
k=0
siendo Q y R matrices de ponderaci´ on que cumplen que Q∗ = Q > 0, R∗ = R > 0. N´otese que este ´ındice de funcionamiento pondera la diferencia entre el estado y el origen el instante inicial, hasta un tiempo infinito. Por tanto, cuanto m´as r´ apido se llegue al origen menor valor de J se tendr´ a. Esto implica que al minimizarse J , se encontrar´ a la ley de control que lleva el estado al origen m´ a s r´apidamente y manteni´endolo
120
´ CONTROL OPTIMO LQR
siempre lo m´ as cerca posible del origen4. Por otra parte, se observa que en el funcional hay otro t´ermino que pondera el valor de la secuencia de se˜ nales de actuaci´ on. Este t´ermino impide que se obtenga una ley de control que lleve el estado al origen a expensas de una actuaci´ on muy grande. Al minimizarse J , por tanto, se conseguir´ a una ley de control que por una parte acerque el estado al origen lo mas r´ apido posible, pero manteniendo un nivel de actuaciones moderado, encontr´ andose por tanto, una soluci´ on de compromiso entre el rendimiento del controlador y su nivel de actuaci´on. El sentido de este compromiso puede venir dictado por diferentes razones, como por ejemplo moderar el gasto de energ´ıa o combustible necesario para proporcionar la se˜ nal de actuaci´on. Existen razones m´ as sutiles pero no por ello menos importantes para incorporar esta ponderaci´ on del esfuerzo de control. Por ejemplo, cuando existen discrepancias entre el modelo del sistema y su din´ amica real (algo que ocurre casi siempre, pues los modelos matem´ aticos no pueden recoger todas las complejidades de los sistemas o procesos reales) esta ponderaci´ on del esfuerzo de control resulta en un sistema m´ as estable. Para calcular la ley de control que minimiza el ´ındice (6.73) se define una matriz P que satisface la siguiente ecuaci´ on de Riccatti: P = Q + G∗ P G − G∗ P H (R + H ∗ P H )−1 H ∗ P G
(6.74)
La soluci´ on de esta ecuaci´ on es una matriz P que es herm´ıtica y definida positiva. Se demuestra que la matriz K = (R + H ∗ P H )−1 H ∗ P G es la que minimiza el ´ındice (6.73) mediante la ley de control u(k) = −(R + H ∗ P H )−1H ∗ P Gx(k) La ecuaci´ on de estado del sistema en bucle cerrado ser´ a por tanto: x(k + 1) = (G − H (R + H ∗ P H )−1H ∗ P G) x(k) = (I + HR−1H ∗ P )−1 Gx(k) Para este desarrollo se ha empleado el lema de inversi´ on (A + BC )−1 = A −1 − A−1 B(I + CA−1 B)−1 CA con A = I , B = H y C = R −1 H ∗ P . ´ Esta es una interpretaci´on que hay que tomar con cierto cuidado, pues puede que se obtenga una ley de control que provoque que el estado no se acerque al origen todo lo posible al principio pero que lo lleve a dicho origen muy r´apidamente en los instantes siguientes, manteniendo pues el valor de J muy bajo. 4
CAP ´ITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
6.10.1.
121
Soluci´ on de la ecuaci´ on de Riccatti
Para calcular la ley de control ´optima LQR en r´egimen permanente es necesario resolver la ecuaci´ on de Riccatti (6.74). Esto no es algo trivial en general, pero si podemos resolverla f´acilmente si se dispone de un computador. Para ello formularemos un proceso iterativo en que tomando como valor inicial de P = 0 (es decir una matriz de ceros) se calcular´ a el valor de la matriz P en el paso i + 1 como P i+1 = Q + G∗ P i G − G∗ P i H (R + H ∗ P i H )−1 H ∗ P i G La condici´ on de parada del bucle o proceso iterativo ser´ a que P i+1 − P i ≈ 0, esto es, que la diferencia entre P i+1 y P i sea una matriz cuyos elementos est´en todos cerca del cero.
6.11.
Filtro de Kalman
El filtro de Kalman es un estimador del estado (en realidad tambi´en se puede interpretar como filtro y como predictor), que tiene en cuenta la presencia de ruidos en la ecuaci´ on de estados y la salida. En este sentido es un estimador ´optimo, pues la estimaci´on obtenida tiene el menor error posible teniendo en cuenta que al haber ruidos actuando, nunca se podr´a obtener una estimaci´ on perfecta. Al igual que en el caso del control LQR no se entrar´ a en profundidad en el estudio de este estimador, sino que s´olo se presentar´ a la formulaci´on de un caso particular, el filtro de Kalman para r´egimen permanente. Sea un sistema:
x(k + 1) = Gx(k) + Hu(k) + ω(k) y(k) = Cx(k) + (k)
donde ω(k) y (k) son variables aleatorios que act´ uan como ruidos aditivos. Se demuestra que se puede obtener una estimaci´ on o´ptima del vector de estados mediante el siguiente esquema: xˆ(k + 1) = Gˆ x(k) + Hu(k) + K e (k) (y(k) − C ˆ x(k)) − 1 ∗ ∗ K e (k) = GP k C (R + CP k C ) P k+1 = Q + (G − K e (k)C ) P k G∗ donde
R = E {(k)∗ (k)} Q = E {ω(k)ω ∗ (k)} P 0 = E {(0)∗ (0)}
(6.75)
122
FILTRO DE KALMAN
donde E {·} denota la esperanza matem´ atica y R,Q se asumen constantes. Se demuestra que conforme k → ∞: P k+1 → P K e (k) → K e donde P y K e son matrices constantes y adem´ as P es semidefinida positiva. Usando esto, las ecuaciones de estimaci´ on (6.75) se pueden reescribir como: x ˆ(k + 1) = Gˆ x(k) + Hu(k) + K e (y(k) − C ˆ x(k)) − 1 K e = GP C ∗ (R + CP C ∗ ) P = Q + GP G∗ − GP C ∗ (R + CP C ∗ )−1 CP G∗
(6.76)
que son las ecuaciones del filtro de Kalman de r´egimen permanente. N´ otese que para resolver la ecuaci´ on de Riccatti se puede usar el mismo m´etodo usado en el LQR.
Cap´ıtulo 7 Modelos de procesos y perturbaciones 7.1.
Introducci´ on
En este cap´ıtulo se expondr´ an diversos tipos de formas de modelar perturbaciones y procesos cuya evoluci´ on se ve afectada por perturbaciones. Es importante tener en cuenta que los modelos de procesos con perturbaciones tienen su origen en el modelado de perturbaciones y no al rev´es. En la teor´ıa cl´asica del control autom´ atico siempre se ha tenido en cuenta el comportamiento de los sistemas frente a perturbaciones a la hora de dise˜ nar sistemas de control. Dichas perturbaciones se modelaban siempre de manera muy simplificada. Es por tanto com´ un en esta teor´ıa el considerar que las perturbaciones van a tener la forma de Pulsos. Escalones. Rampas. Sinusoides. Todos estos modelos tienen en com´ un que son absolutamente predecibles en su evoluci´on en funci´ on de las condiciones iniciales. Es decir, en cuanto la perturbaci´ on aparece 123
124
PERTURBACIONES DETERMINISTAS A TROZOS
podemos predecir su evoluci´ on futura. Es una suposici´on com´ un en estos casos, consi– derar que estas perturbaciones vienen generadas por sistemas din´ amicos.
7.2.
Perturbaciones deterministas a trozos
Como fuente de perturbaciones con una mayor variabilidad que los modelos cl´ asicos antes comentados, se pueden considerar las perturbaciones deterministas a trozos. Surgen de la necesidad de estudiar el efecto de perturbaciones m´as realistas en sistemas de control que se basan en alg´ un tipo de esquema predictivo para calcular la se˜ nal de control. En este tipo de sistemas, el considerar una perturbaci´ on absolutamente predecible (como en el caso de los modelos cl´asicos) no tiene utilidad alguna, pues se pueden considerar directamente en el c´ alculo de la ley de control. Los modelos de perturbaciones deterministas a trozos parten de la suposici´ on de que son generados por un sistema lineal, en el que la entrada es cero excepto en ciertos instantes de tiempo separados por m´ as de n tiempos de muestreo, donde n es el orden del sistema: C (z −1 ) y(k) = w(k) A(z −1 ) suponi´endose que el grado de C (z −1 ) es igual al grado de A(z −1 ). Si la entrada es cero excepto en ciertos instantes de tiempo que est´ an separados, quiere decir que la se˜nal w(k) es un tren de pulsos. La amplitud y momento de aparici´ on de esos pulsos son desconocidos. Esto es lo que le da variabilidad a la fuente de perturbaciones. Sin embargo, una vez que aparecen y se conoce la amplitud del pulso, la evoluci´ on de la salida y(k) es perfectamente predecible pues la din´ amica del sistema es conocida. De ah´ı el nombre de determinista a trozos.
7.3.
Procesos estoc´ asticos
Es natural utilizar el concepto de aleatorio o estoc´ astico1 para describir una amplia clase de perturbaciones, suficientemente realistas para formular problemas de predicci´on con postulados cercanos a la realidad. 1
Estoc´astico: relativo a una variable aleatoria; algo que sigue una determinada distribuci´on de probabilidad, usualmente con varianza finita.
CAP ´ITULO 7. MODELOS DE PROCESOS Y PERTURBACIONES
125
El concepto de proceso estoc´ astico es complejo y alcanza su madurez en los trabajos de Kolmogorov (1930). Aqu´ı presentaremos s´ olo algunas ideas b´ asicas. Un proceso estoc´ astico puede ser considerado como una funci´on de dos variables X (t, w) donde t es la variable tiempo con su significado habitual y w es una variable aleatoria. Si consideramos un valor fijo de w, esto es w = w 0 y dejamos la variable t libre, lo que denotaremos como X (:, w0 ) estaremos hablando de una realizaci´on del proceso. Esta realizaci´ on es una funci´ on temporal com´ un sin ning´ un tipo de car´ acter aleatorio una vez que se conoce que w = w0 . Si por otra parte se considera un instante de tiempo fijo, es decir t = t0 , que denotaremos como X (t0 , :) X (t0 )
tendremos una variable aleatoria. Se puede considerar por tanto, que la evoluci´ on del proceso est´ a dictada por un generador de se˜ nales aleatorias. En la figura 7.1 se ilustran estos conceptos. Puede observarse que el valor de la funci´ on en cada instante es un valor aleatorio que en la figura se considera variable en un determinado rango. Por otra parte, cuando se habla de una realizaci´ o n no es m´as que una funci´ on com´ un que depende de t.
w=w0
t0
t1
t2
t3
t4
......
Figura 7.1: Procesos estoc´asticos: realizaciones y variables aleatorias.
astico determinista, a aqu´el cuya evoluci´ on Definici´ on 7.1 Se denomina proceso estoc´ puede ser predicha exactamente con un predictor lineal 2 en base a medidas pasadas. En estos procesos, el car´ acter estoc´ astico s´ olo se manifiesta en la aleatoriedad de las condiciones iniciales. Para aplicaciones basadas en predicci´ on no son muy interesantes. 2
Es decir, haciendo evolucionar hacia delante un modelo lineal.
126
MODELOS DE PROCESOS CON RUIDOS
astico estacionario, a aqu´el cuya distribuDefinici´ on 7.2 Se denomina proceso estoc´ ci´ on estad´ıstica para X (t1 ), X (t2 ), . . . ,X (tn ) es la misma que para X (t1 + τ ), X (t2 + τ ), . . . ,X (tn + τ ). Es decir, su distribuci´ on no var´ıa con el tiempo.
Definici´ on 7.3 Se denomina ruido blanco discreto, a un proceso aleatorio que se puede considerar como una secuencia cuyos elementos son variables aleatorias independientes entre s´ı cuya distribuci´ on es id´entica. Se suele suponer que E {x(k)} = 0 es decir, que el valor esperado es cero y adem´ as E {x(i)x( j)} =
0 si i = j (por ser variables independientes) 2 σ si i = j
Al ruido blanco se le suele considerar prototipo de una se˜ nal impredecible.
7.4.
Modelos de procesos con ruidos
En esta secci´ on veremos c´ o mo se pueden generar diversos tipos de procesos estoc´asticos, cuando a un sistema lineal se le inyecta un ruido blanco v(k) adem´ a s de una entrada externa u(k) a trav´es de sendas funciones de transferencia. El caso m´ as general es el llamado modelo de Box-Jenkins, el cual se ilustra en la figura 7.2. Esta estructura es demasiado general, y normalmente se utilizan diversas v(k)
− −
y(k)
u(k)
− −
Figura 7.2: Modelo de Box-Jenkins.
simplificaciones de las cuales veremos a continuaci´ on las m´as comunes:
CAP ´ITULO 7. MODELOS DE PROCESOS Y PERTURBACIONES
127
Modelo de Media M´ ovil (MA : Moving Average ). Es el caso m´as sencillo y viene descrito por y(k) = v(k) + c1v(k − 1) + c2 v(k − 2) + · · · + cn v(k − n) Con este modelo se pueden describir muchos tipos de perturbaciones aleatorias. Sin embargo, no incluye a los valores pasados de la salida por lo que no servir´a para modelar procesos que tengan din´ amica. Modelo Autoregresivo (AR). Viene descrito por y(k) + d1 y(k − 1) + d2 y(k − 2) + · · · + dn y(k − n) = v(k) En este caso, la parte aleatoria correspondiente a la perturbaci´ on tiene una estructura muy simple porque no depende de los valores pasados. Modelo Autoregresivo de Media M´ ovil (ARMA). Es la combinaci´ o n de los dos anteriores, por lo que tomar´ a la forma y(k) + d1 y(k − 1) + · · · + dn y(k − n) = v(k) + c1 v(k − 1) +c2 v(k − 2) + · · · + cn v(k − n) Este modelo permite describir procesos m´ as ricos que los anteriores. Sin embargo, desde el punto de vista del control es interesante poder considerar el efecto de una entrada externa, por lo que se considera el siguiente tipo de modelos de procesos con ruidos. Modelo Autoregresivo de Media M´ ovil con una entrada ex´ ogena (ARMAX). Tambi´en llamado modelo CARMA (Controlled ARMA). Viene descrito por y(k) + a1 y(k − 1) + · · · + an y(k − n) = b1 u(k − 1) + · · · + bn u(k − n) +v(k) + c1 v(k − 1) + · · · + cn v(k − n) Modelo Autoregresivo con entrada ex´ ogena para m´ınimos cuadrados (ARX-LS ). Este modelo surge como versi´ on simplificada del anterior, para el caso en el que no se necesita que la fuente de perturbaciones tenga una estructura tan compleja. Viene descrito por y(k) + a1 y(k − 1) + · · · + an y(k − n) = b1 u(k − 1) + · · · + bn u(k − n) + v(k) Como su nombre indica se utiliza en la identificaci´ on por el m´etodo de los m´ınimos cuadrados (v´ease el tema 9).
128
MODELOS DE PROCESOS CON RUIDOS
Modelo Autoregresivo de Media M´ o vil integrada y con una entrada ex´ ogena (ARIMAX o CARIMA). Este modelo incorpora un integrador en la fuente de perturbaciones, por lo que viene descrito por y(k) + a1 y(k − 1) + · · · + an y(k − n) = b1 u(k − 1) + · · · + bn u(k − n) v(k) + c1 v(k − 1) + · · · + cn v(k − n) + ∆ donde ∆ = 1 − z −1. Este tipo de modelos es u´til en esquemas de control predictivo para formular leyes de control que incorporen un efecto integral, de manera que sean capaces de rechazar perturbaciones en escal´ on. Los modelos anteriores pueden escribirse en forma condensada utilizando polinomios en z −1 tal y como se muestra en la siguiente tabla resumen: Modelo Expresi´ on MA y(k) = C (z −1 )v(k) AR D(z −1 )y(k) = v(k) ARMA D(z −1 )y(k) = C (z −1 )v(k) ARMAX A(z −1)y(k) = B(z −1 )u(k − 1) + C (z −1 )v(k) ARX-LS A(z −1)y(k) = B(z −1 )u(k − 1) + v(k) 1 ARIMAX A(z −1 )y(k) = B(z −1 )u(k − 1) + C (z ∆)v(k) −
Cuando en los modelos anteriores el polinomio que convoluciona con la se˜ nal v(k) es distinto de la unidad se habla de ruido coloreado, y en caso contrario, de ruido blanco.
Cap´ıtulo 8 Introducci´ on a la identificaci´ on de sistemas 8.1.
Introducci´ on
Un modelo de un proceso es una forma de resumir el conocimiento que se tiene sobre su din´amica, y por tanto es una herramienta importante en el dise˜ n o y an´alisis de sistemas de control. Sin embargo, al construir modelos estamos obteniendo representaciones simplificadas de la din´ amica real del proceso. Un solo modelo no suele ser suficiente para describir un proceso. Por otra parte, seg´ un sea el uso destinado al modelo este deber´ a ser mas o menos detallado. Por tanto, se establece una jerarqu´ıa de modelos que describe al proceso con mayor o menor detalle. Hay dos maneras de abordar la construcci´ on de un modelo: obtenerlo mediante principios y leyes f´ısicas que describan la din´ amica del proceso, o bien obtenerlo mediante experimentaci´ on sobre el proceso que se quiere modelar. La primera opci´ on requiere un conocimiento muy preciso del proceso que se quiere modelar. Por ejemplo, hay que elegir las variables que vayan a ser los estados del sistema, y esto puede ser un problema. Es, en general un proceso complicado y muy arduo, excepto en casos muy simples. Normalmente, se debe combinar con la otra estrategia que es la denominada identificaci´ on de sistemas. Esta estrategia ser´ a el objeto de este tema. 129
´ ´ DE SISTEMAS IDEAS BASICAS SOBRE IDENTIFICACI ON
130
8.2.
Ideas b´ asicas sobre identificaci´ on de sistemas
La identificaci´ on de sistemas es la aproximaci´ on experimental al modelado de sistemas. Consiste en obtener un modelo a partir de observaciones obtenidas directamente del propio sistema que se pretende modelar. La identificaci´ on de un sistema conlleva una serie de actividades y herramientas, de las que podemos destacar:
Planificaci´on de los experimentos. Selecci´on del tipo de modelo. Elecci´on de un criterio para expresar la bondad del modelo que se va a obtener. Estimaci´on de los par´ametros del modelo. Validaci´on del modelo obtenido.
A continuaci´ on, se ir´an desglosando las principales ideas de cada uno de estos aspectos.
8.2.1.
Planificaci´ on de los experimentos
Dado que la identificaci´ on de sistemas involucra experimentar con el proceso a modelar, es necesario tener en cuenta que, en general, es muy costoso experimentar con procesos industriales. Por tanto, es necesario elegir una t´ecnica que nos sea lo m´ as rentable desde el punto de vista del tipo de experimentos necesarios. Algunas t´ecnicas son muy sencillas, en el sentido de que una vez hecho el experimento es f´acil obtener el modelo. Estas t´ecnicas, sin embargo, requieren que en los experimentos se utilicen se˜ nales de entradas preestablecidas de manera muy precisa: pulsos, sinusoides, etc. . . Puede que el proceso a modelar no pueda ser sometido a este tipo de entradas por consideraciones de seguridad o motivos econ´ omicos. Otras t´ecnicas de identificaci´ on pueden emplear casi cualquier tipo de se˜ n al de entrada (es decir, son menos exigentes en el tipo de experimentos necesarios), pero una vez realizado el experimento es m´as complicado obtener el modelo. Como comentario general, es necesario que en el experimento se utilicen se˜ nales de entrada que exciten todos los modos del sistema. M´ as all´a de eso, un buen m´etodo de identificaci´ on debe ser insensible a las caracter´ısticas de la entrada. Otro aspecto es que a veces no se puede identificar en bucle abierto y hay que hacerlo en bucle cerrado. Esto no es siempre posible, pues aunque el sistema sea identificable en
´ A LA IDENTIFICACI ON ´ DE SISTEMAS CAP ´ITULO 8. INTRODUCCI ON
131
bucle abierto esta propiedad puede perderse en bucle cerrado. Esto ocurre, por ejemplo, si los perfiles de la consigna o referencia que se usan son muy simples. Tambi´en, si los lazos de control son demasiado simples. En general, cuanto m´ as complejos sean los lazos de control y m´as se mueva la consigna, m´ a s f´acil ser´a la identificaci´ on en bucle cerrado.
8.2.2.
Selecci´ on del tipo de modelo
En teor´ıa, la selecci´ on del tipo de modelo deber´ıa venir dada por un conocimiento del proceso y de las perturbaciones que deban ser tenidas en cuenta. Dependiendo de si conocemos mucho o poco la estructura del proceso elegiremos entre uno u otro tipo de modelo. En general, los modelos los clasificaremos como:
Modelos de Caja Blanca. Son los obtenidos a partir de leyes f´ısicas (esto no ser´ıa realmente identificaci´ on porque no se estar´ıan haciendo experimentos). Modelos de Caja Negra. En estos modelos se postula una estructura matematica con una serie de par´ a metros libres, a los cuales se les da valor a partir de los datos obtenidos en los experimentos. Modelos de Caja Gris. Corresponden a un tipo intermedio entre los dos anteriores. Parte del modelo se obtiene mediante leyes f´ısicas y otra parte, se ajusta usando medidas experimentales. Por ejemplo, mediante leyes f´ısicas podemos determinar la estructura del modelo (o de parte de ´el) y usar experimentos para terminar de caracterizar el modelo.
Tambi´en se pueden clasificar los tipos de modelos en param´etricos y no param´etricos. En los primeros se tienen una serie de par´ ametros que hay que ajustar. Por ejemplo, en una funci´ on de transferencia se tendr´ıan que ajustar el orden y los coeficientes de los polinomios. En modelos de espacio de estados tendr´ıamos la misma situaci´ on pero con las matrices del sistema. En los modelos no param´etricos, el modelo no tiene una serie de par´ ametros que definen la din´ amica sino que se compone de una cantidad de informaci´on sobre la misma, por ejemplo los modelos basados en la respuesta en frecuencia de un sistema. En el caso que aqu´ı nos ocupa los modelos que emplearemos ser´an de caja negra y param´etricos.
132
8.2.3.
´ ´ DE SISTEMAS IDEAS BASICAS SOBRE IDENTIFICACI ON
Elecci´ on de un criterio
En el proceso de estimaci´ on del modelo y su subsiguiente validaci´on es necesario contar con un criterio que exprese la bondad del ajuste del modelo a los datos, es decir, que exprese la calidad del modelo obtenido. Normalmente, se utilizan criterios que toman la forma: N
J (θ) =
g(e(k))
k=1
donde θ es el vector de par´ametros que se trata de ajustar, e(k) es el error de estimaci´on para la medida k, N es el n´ umero de observaciones o medidas disponibles y g(·) es una funci´on usualmente cuadr´ atica. Usualmente, el proceso de ajuste del modelo se realiza de manera que se busca el valor del vector de par´ ametros θ que hace m´ınimo al ´ındice o criterio J (θ). El m´etodo m´as antiguo que emplea esta estrategia es el de los m´ınimos cuadrados, debido a Gauss. Por otra parte, cuando los procesos se describen mediante modelos estoc´ asticos, el problema es de estimaci´ on estad´ıstica. Un m´etodo muy popular en este caso, es el del estimador de m´ axima verosimilitud.
8.2.4.
Estimaci´ on de los par´ ametros
Para resolver el problema de estimaci´ o n de los par´ ametros del modelo se requiere de los elementos comentados anteriormente: datos experimentales, un tipo de modelo y un criterio. Estimar los par´ ametros es resolver un problema de optimizaci´ o n en el cual, el mejor modelo es el que hace m´ınimo el criterio. Es necesario tener en cuenta que el modelo obtenido depender´ a de los elementos anteriores, como por ejemplo de la amplitud y contenido frecuencial de la se˜ nal de entrada. Hay diversas formas de llevar a cabo el proceso de estimaci´ on. Una distinci´on amplia, es aquella que distingue entre identificaci´ on en l´ınea e identificaci´ on fuera de l´ınea.
8.2.4.1.
Identificaci´ on en l´ınea
En los m´etodos de identificaci´ on en l´ınea la estimaci´on se efect´ ua usando medidas que se van obteniendo en tiempo real, y normalmente se usan c´ alculos recursivos. El esquema de este tipo de identificaci´ on ser´ıa el mostrado en la figura 8.1. En este esquema aparece un nivel de supervisi´ on que es necesario para evitar, por ejemplo, que
´ A LA IDENTIFICACI ON ´ DE SISTEMAS CAP ´ITULO 8. INTRODUCCI ON
u(k)
PLANTA
133
y(k)
IDENTIFICACIÓN MODELO ACTUALIZADO
SUPERVISIÓN MODELO CORREGIDO
Figura 8.1: Esquema de la identificaci´ on en l´ınea.
el modelo actualizado se salga de ciertos l´ımites o cambie bruscamente (esto no ser´ıa bueno para ciertas leyes de control basadas en modelos). Este m´etodo suele ser el unico ´ apropiado cuando se pretende usar una estrategia de control adaptativo, o el proceso var´ıa su din´amica con el tiempo.
8.2.4.2.
Identificaci´ on fuera de l´ınea
En este caso se toman los datos del experimento (es decir, series de medidas) y posteriormente, se ajusta el modelo usando para ello todo el conjunto de datos. Este tipo de procedimientos suelen obtener modelos m´ as precisos y son m´ as fiables en cuanto a la convergencia de los par´ ametros estimados a los par´ ametros reales del proceso1 . En cualquier caso, existe un consenso general en que no existe un m´etodo universalmente bueno, por tanto, dependiendo de la situaci´ on unos funcionar´ an mejor que otros.
8.2.5.
Validaci´ on del modelo
La validaci´on del modelo consiste en comprobar la bondad del modelo que se ha obtenido por el proceso de identificaci´ on. Una t´ecnica muy com´ un para comprobar la bondad de un modelo identificado es la validaci´ on cruzada. 1
N´otese que aunque el proceso real no corresponder´a en general exactamente con el modelo (pues todo modelo implica un cierto grado de simplificaci´on de la realidad) se asume que existe un valor del vector de par´ametros que es el que mejor describe al proceso.
´ ´ DE SISTEMAS IDEAS BASICAS SOBRE IDENTIFICACI ON
134
La idea del m´etodo de validaci´ on cruzada es dividir el conjunto de datos disponible en dos partes o subconjuntos: Conjunto de estimaci´ on. Es usado para estimar el modelo mediante la resoluci´ on de un problema de optimizaci´ o n, de tal manera que el vector de par´ ametros estimados sobre el conjunto de estimaci´ on θˆCE ser´ıa θˆCE = arg m´ın V CE (θ, CE) θ
donde V CE es el criterio de estimaci´on. Conjunto de prueba o validaci´ on. Con este modelo se eval´ ua el estimador obtenido mediante un criterio de prueba, que puede ser el mismo que el usado en la estimaci´on u otro distinto: ˆCE = V CP (θˆCE, CP) F La idea tras el concepto de validaci´ on del modelo es estimar distintos tipos de modelos (por ejemplo con distintos o´rdenes) y quedarse con el que mejor ajusta (es decir, el que ˆCE ). Mediante esta t´ecnica de validaci´ d´e menor F on cruzada, lo que se trata de ver es si el modelo es capaz de reproducir los datos de salida para entradas que no se han empleado en la estimaci´ on. Como se ha comentado anteriormente, el criterio V CP no tiene por qu´e ser el mismo que el V CE . Por ejemplo, se puede usar como criterio para validaci´ on el conocido criterio de Akaike o criterio AIC (Akaike’s Information Criterion), el cual asumiendo que las perturbaciones siguen una distribuci´ on gaussiana se calcula mediante la f´ormula V CP (θ, CP) =
2dimensi´on(θ) 1+ N
1 N
N
e2 (t, θ)
t=1
donde e(t, θ) = y(t) − ˆy (t, θ) es el error de estimaci´ on para los datos obtenidos en el instante t. Tampoco puede descartarse la posibilidad de no usar criterio de validaci´ on alguno y efectuar una inspecci´ on visual sobre una simulaci´ on, en la que se usa el modelo estimado para predecir la salida en base a datos de entradas experimentales. Finalmente, la t´ecnica de validaci´ on cruzada, aunque muy popular no es la u´nica. Otra t´ecnica que a veces se utiliza es el an´ alisis de residuos. Se entiende por residuos los errores que comete el modelo una vez ajustado, es decir e(t) = y(t) − yˆ(t, θ). Si el modelo estimado es suficientemente bueno, estos residuos tienen que ser independientes
´ A LA IDENTIFICACI ON ´ DE SISTEMAS CAP ´ITULO 8. INTRODUCCI ON
135
de la informaci´ on disponible en el instante anterior (es decir, el residuo en t tiene que ser incorrelado con las medidas obtenidas en los instantes anteriores). Esto es as´ı por que si existe correlaci´ on entre e(t) y alguna entrada pasada u(t − τ ), quiere decir que una parte del valor de y(t), que depende de u(t − τ ) no ha sido reproducida por el modelo en yˆ(t, θ). Por tanto, el modelo no estar´ıa reproduciendo toda la din´ amica del proceso.
8.2.6.
Resumen del proceso de identificaci´ on
El proceso de identificaci´ on de un sistema rara vez se concluye con la sola ejecuci´ on de los pasos anteriormente descritos. En lugar de esto, se realizan numerosas repeticiones de esta secuencia de pasos, a veces vari´ andose el tipo de modelo, o repiti´endose los experimentos hasta que se obtenga un buen modelo. Por tanto, podemos ver el proceso de identificaci´ on como un m´etodo iterativo que se puede describir mediante el diagrama de flujo mostrado en la figura 8.2. En esa figura el hecho de que el flujo INICIO
TOMA DE DATOS
ACONDICIONAMIENTO DE DATOS
ELEGIR ESTRUCTURA DEL MODELO
AJUSTAR MODELO
VALIDAR MODELO
NO ¿ VALIDO ? SI USAR MODELO
Figura 8.2: Diagrama de flujo del proceso de identificaci´on.
pueda retornar a cualquiera de las pasos intermedios, indica que puede que en cada
136
ALGUNAS PROPIEDADES
iteraci´on no se realicen todos los pasos. Por otra parte, aparece un paso sobre el que no se ha comentado nada, el acondicionamiento de datos. Esta tarea consiste en manipular los datos de manera que sean apropiados para el m´etodo de ajuste elegido. Es algo que es espec´ıfico para cada procedimiento. As´ı por ejemplo, una tarea muy com´ un de acondicionamiento de datos es la eliminaci´ on de los valores de continua de las se˜ nales de entrada y salida. Esto ser´ a tratado en mayor profundidad en el tema 9. Finalmente, en el caso de la identificaci´on en linea el proceso es m´ as simple, ya que por ejemplo no es posible cambiar la estructura del modelo sin descartar el resultado que se ha obtenido hasta ese momento. Adem´ a s, los datos se toman seg´ un van llegando, pues recordemos que en este tipo de identificaci´on la identificaci´ on se hace como su propio nombre indica en tiempo real, es decir, en l´ınea .
8.3.
Algunas propiedades
En esta secci´ on, veremos algunas propiedades relacionadas con la identificaci´ on de sistemas. Concretamente se tratar´ an los conceptos de excitaci´ on persistente, convergencia e identificabilidad. Adem´ as, se ver´ an las tareas de supervisi´ on y acondicionamiento que aparecen en las figuras 8.1 y 8.2.
8.3.1.
Excitaci´ on persistente
Se ha comentado en la secci´ on 8.2.1, que para poder identificar correctamente un sistema la se˜ nal de entrada debe excitar (es decir, poner de manifiesto) todos los modos del sistema (toda su din´ amica). Formalmente, se dice que si el sistema es de orden n se deber´ıa contar con una se˜ nal persistentemente excitadora de orden n. Se puede probar que una se˜ nal de entrada u(k) es persistentemente excitadora de orden n, s´ı y s´olo s´ı se cumple que 1 l´ım N →∞ N
N
k=1
A(z −1 )u(k)
2
> 0
para todo polinomio A(z −1 ) no nulo de grado inferior a n. Usando este resultado se pueden caracterizar las se˜ nales m´as comunes: Pulso: no excita persistentemente para ning´ un orden n.
´ A LA IDENTIFICACI ON ´ DE SISTEMAS CAP ´ITULO 8. INTRODUCCI ON
137
Escal´on: excita persistentemente para orden 1. Ruido blanco: excita persistentemente para todo orden n.
Esto quiere decir que el ruido blanco ser´ıa una se˜ nal de entrada muy buena para identificar sistemas. En la pr´ actica, sin embargo, es muy dif´ıcil obtener una se˜ nal de entrada que se comporte como un ruido blanco ideal, porque es muy dif´ıcil obtener una secuencia de valores puramente aleatorios. Es posible obtener sin embargo, secuencias de valores seudoaleatorios, por lo que en la pr´ actica se recurre a secuencias seudoaleatorias de escalores binarios (PRBSS: Pseudo Random Binary Step Sequence). En la figura 8.3 se muestra una de esas secuencias. N´ otese que los escalones no tienen por qu´e tener amplitud unitaria, el concepto de binario se refiere solamente a dos niveles de entrada distintos. Por otra parte, la aleatoriedad est´a en la duraci´ on de los escalones y en el momento de aparici´ on de los mismos. 6.5
6
5.5
5 e j a t l o v 4.5
4
3.5
3 0
20
40
60
80
100
120
140
160
180
200
intervalos de muestreo
Figura 8.3: Ejemplo de se˜nal de entrada del tipo PRBSS.
8.3.2.
Convergencia e identificabilidad
Se dice que un sistema es identificable cuando usando un m´etodo de identificaci´ on adecuado se tiene que ˆ = θ 0 l´ım E (θ)) N →∞ y adem´as la salida obtenida mediante el modelo estimado es posible. Es decir, para un sistema identificable el valor del vector de par´ ametros estimado converger´ a con un n´umero de observaciones suficientes al valor real de esos par´ ametros. No obstante, esta
138
ALGUNAS PROPIEDADES
convergencia tiene a su vez una serie de requisitos o condiciones que se pueden resumir en: El orden del modelo y el retardo deben ser conocidos. Los valores de continua de la se˜ nal de entrada y la de salida deben ser conocidos. Si el sistema es de orden n, la se˜ nal de entrada debe ser persistentemente excitadora de orden n o mayor. Las perturbaciones sobre la salida deben ser ruidos estacionarios. El error en el instante k debe ser incorrelado con los elementos de los que depende la salida en el instante k (es decir, de los valores pasados de la entrada y la salida). El valor esperado (esperanza matem´ atica) del error en k debe ser cero, es decir E {e(k)} = 0. Finalmente, la convergencia tambi´en depende de los valores iniciales del estimador.
8.3.2.1.
Identificaci´ on en bucle cerrado
Como se coment´ o en la secci´on 8.2.1, a veces resulta bastante dif´ıcil identificar en bucle cerrado. Esto es especialmente cierto cuando el lazo de control es simple, el regulador lineal y adem´as no se emplean se˜ nales externas (a modo de perturbaciones) para excitar toda la din´ amica del sistema. Existen una serie de condiciones para establecer la identificabilidad de un sistema en bucle cerrado. Sup´ ongase que se parte del siguiente modelo para identificar un sistema: A(z −1 )y(k + d) = B(z −1 )u(k) + C (z −1 )e(k + d) donde d es el retraso del proceso, y los grados de los polinomios A(z −1 ), B(z −1 ), C (z −1 ) son m a , m b , m c respectivamente. Sup´ ongase adem´ as que el sistema est´ a gobernado por un regulador que toma la expresi´ on: Q(z −1 ) u(t) = − y(t) P (z −1 ) donde los grados de Q y P son v y w respectivamente. Teniendo en cuenta todo esto, se formulan las siguientes condiciones de identificabilidad en bucle cerrado.
´ A LA IDENTIFICACI ON ´ DE SISTEMAS CAP ´ITULO 8. INTRODUCCI ON
139
Primera condici´ on de identificabilidad en bucle cerrado Los o´rdenes del modelo del proceso y de las perturbaciones deben ser conocidos con exactitud.
Segunda condici´ on de identificabilidad en bucle cerrado Si los polinomios A(z −1 ) y C (z −1 ) tienen p ceros comunes (en caso de que sean primos entre si, p = 0) se ha de cumplir que m´ax(w − mb , d + v − ma ) ≥ p Si esto no se cumpliese, la soluci´ on pasa por fijar alguno de los par´ ametros del modelo a fin de bajar los grados ma o mb . Si fuera factible aumentar el retraso, tambi´en podr´ıa usarse esto para lograr la identificabilidad en bucle cerrado. N´ otese que por estos procedimientos lo que se consigue es que el proceso de identificaci´ on converja a un valor del vector de par´ ametros que corresponde con el que da un menor error. No quiere decir que el sistema real se describa mejor por ese modelo. Es decir, puede que exista otro modelo del mismo orden mejor, pero si no se toman las medidas indicadas no se llegar´ıa a ese modelo ni probablemente se converger´ıa a ning´ un otro. Un caso com´ u n es que p = 0 y ma = mb = n, por lo que esta condici´on se puede expresar como m´ax(w, v + d) ≥ n
Ejemplo 8.1 Supongamos que ma = m b = n y que G(z −1 ) u(k) = − y(k) zB(z −1 )F (z −1) y que los ordenes de G(z −1 ) y F (z −1 ) son n − 1 y d respectivamente. Entonces se cumple que v = n − 1 w = n + d − 1 por lo que la condici´on de identificabilidad ser´ıa que m´ax(n + d − 1, n − 1 + d) ≥ n Esto implica que para que el sistema sea identificable en bucle cerrado, d ≥ 1. Otra soluci´on ser´ıa fijar un par´ ametro.
140
ALGUNAS PROPIEDADES
8.3.3.
Niveles de supervisi´ on y acondicionamiento
En la identificaci´ on en l´ınea es habitual introducir un nivel de supervisi´ on y tratamiento de las se˜ nales a fin de evitar que se produzcan situaciones que desestabilicen la identificaci´ on, es decir, que el valor del vector de par´ ametros identificado no converja o converja a un valor incorrecto. Las tareas que se pueden realizar en estos niveles incluyen: Filtrado de datos a la entrada del identificador para evitar cambios bruscos en los par´ametros estimados. Acondicionamiento de se˜ nales: eliminaci´on de los valores de continua y escalado de las variables. Supervisar que la evoluci´ on de los par´ametros est´e dentro de unos rangos determinados. Monitorizar otros elementos del algoritmo de identificaci´ on. Monitorizar la introducci´ on de riqueza din´amica al sistema: paradas temporales del identificador e inyecci´ on de perturbaciones.
Cap´ıtulo 9 Identificaci´ on por m´ınimos cuadrados 9.1.
El m´ etodo de los m´ınimos cuadrados
Este m´etodo permite la identificaci´ on en tiempo real de modelos con el u´nico requisito de que estos sean lineales en los par´ ametros. Esto incluye, por tanto, a modelos lineales y no lineales que sean lineales en los par´ ametros. El mayor interes pr´ actico reside, sin embargo, en la identificaci´ on de los primeros, dado que son los m´as utilizados en control. Consider´ese el siguiente modelo param´etrico lineal monovariable1 : y(k) + a1 y(k − 1) + · · · + an y(k − n) = b 1 u(k − 1) + · · · + bn u(k − n)
(9.1)
N´otese que este modelo es determinista en el sentido de que no considera ruidos aleatorios como en los modelos vistos en el tema 7. Es inmediato comprobar que este modelo corresponde a la siguiente funci´ on de transferencia: G(z −1 ) =
b1 z −1 + · · · + bn z −n 1 + a1 z −1 + · · · + an z −n
El modelo (9.1) se puede reescribir como: y(k) = m(k)θ 1
(9.2)
Este m´etodo se puede aplicar sin cambios conceptuales a modelos multivariables. Sin embargo por simplicidad nos ce˜ niremos al caso de modelos monovariables.
141
´ EL M ETODO DE LOS M ´INIMOS CUADRADOS
142
donde el vector m(k) =
−y(k − 1) · · · −y(k − n) u(k − 1) · · · u(k − n)
es llamado regresor y θ =
a1 · · · an b1 · · · bn
(9.3)
T
ˆ el error de es el vector de par´ ametros . Dado un valor del vector de par´ ametros θ, predicci´ on para el instante k ser´a e(k, ˆ θ) = y(k) − yˆ(k) = y(k) − m(k)θˆ N´otese que conocido el valor de los valores presentes y pasados de la salida y la entrada, la expresi´on (9.2) es una ecuaci´ on en las que las 2n incognitas son los par´ ametros que forman θ. Si el proceso a identificar correspondiese exactamente con un modelo como (9.1) se podr´ıa determinar el valor del vector de par´ ametros a partir de 2n medidas u observaciones de la salida para una serie de entradas conocidas. Es decir, se formar´ıa un sistema de 2n ecuaciones con el que se podr´ıa determinar el valor real de θ.
El m´etodo de los m´ınimos cuadrados parte de N pares (y(k), m(k)) donde N es generalmente mucho mayor de 2n (este ser´ıa el conjunto de estimaci´ on) y permite ajustar un modelo del tipo (9.1). En el supuesto poco realista de que el proceso coincida con un modelo como el que se intenta ajustar, se tendr´ıa un sistema de ecuaciones sobredeterminado compatible, de manera que tendr´ıa soluci´ on y el error de predicci´on alcanzado ser´ıa cero para todas las medidas del conjunto de estimaci´ on. Sin embargo, en la pr´actica el proceso no se puede describir a la perfecci´ on mediante un modelo lineal del tipo (9.1) por lo que el sistema de ecuaciones no tiene soluci´ on en el sentido de que no existe un valor del vector de par´ametros que haga que el error de predicci´ on sea cero para todas las medidas del conjunto de estimaci´ on. Es decir, el sistema de ecuaciones es incompatible. Sin embargo si se puede encontrar un valor del vector de par´ ametros que haga m´ınimo el error de predicci´ on, de manera m´ as precisa que haga m´ınima la suma de los cuadrados de los errores de predicci´ on del conjunto de estimaci´on. Esta es precisamente la estrategia del m´etodo de m´ınimos cuadrados2 . Las medidas obtenidas desde k = n hasta k = N se agrupan en vectores de manera que se obtiene: E (N, θ) = Y (N ) − M (N )θ donde los vectores E (N ) e Y (N ) son E (N, θ) = Y (N ) = 2
e(n, θ) · · · e(N, θ) T y(n) · · · y(N )
T
En un contexto matem´atico se dir´ıa que el vector de par´ametros que se calcula es la pseudosoluci´on en el sentido de los m´ınimos cuadrados de un sistema sobredeterminado incompatible.
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 9. IDENTIFICACI ON
143
y la matriz M (N ) est´ a formada por los regresores correspondientes, es decir
M (N ) =
m(n) .. . m(N )
Se define el ´ındice de bondad de ajuste como
N
2
J (θ) = E (N, θ) =
e2 (k, θ)
k=n
Este ´ındice lo podemos reescribir como J (θ) = (Y (N ) − M (N )θ)T (Y (N ) − M (N )θ) El m´ınimo valor de J (θ) se dar´a en el valor del vector de par´ ametros que cumpla que dJ (θ) =0 dθ es decir, 2(M (N )θ − Y (N ))T M (N ) = 0 de donde se obtiene que el valor del vector de par´ ametros que hace m´ınimo el ´ındice de bondad de ajuste es θ∗ = [M T (N )M (N )]−1 M T (N )Y (N )
(9.4)
y ese es por tanto el valor del vector de par´ ametros del modelo identificado. N´otese que para que el problema de identificaci´ on tenga soluci´ on la matriz [M T (N )M (N )] tiene que ser invertible al igual que M (N ). Sin entrar en demasiados detalles, tal condici´on se verifica cuando la entrada cumple las condiciones de excitaci´ on persistente del sistema. Se deber´ a acudir por tanto a se˜ nales de entrada parecidas al ruido blanco (ver tema 8).
9.2.
Algoritmo recursivo para identificaci´ on en linea
La expresi´ on (9.4) implica la inversi´on de una matriz que puede tener unas dimensiones apreciables, tanto m´ as si se tiene en cuenta que para identificar correctamente
´ EN LINEA ALGORITMO RECURSIVO PARA IDENTIFICACI ON
144
un sistema se deben tener suficientes medidas para eliminar el efecto de ruidos y perturbaciones ajenas a la din´ amica del sistema. Intentar efectuar estos c´ alculos en linea 3 es bastante ambicioso para el hardware de control habitual . Por tanto este algoritmo se destina a la identificaci´ on fuera de linea. En linea se emplea otro procedimiento que se muestra a continuaci´ on. La estimaci´ on para el instante k usando las medidas obtenidas desde el instante n vendr´ a dada por ˆ θ(k) = [M T (k)M (k)]−1 M T (k)Y (k) = P (k)M T (k)Y (k) = P (k)(M T (k − 1)Y (k − 1) + mT (k)y(k)) donde
k
P (k) = [M T (k)M (k)]−1 =
mT (i)m(i)
i=n
(9.5)
−1
es la llamada matriz de covarianza. Se puede comprobar que P −1(k − 1) = P −1 (k) − mT (k)m(k) Por otra parte tambien se puede obtener que ˆ − 1) M T (k − 1)Y (k − 1) = P −1 (k − 1)θ(k ˆ − 1) − mT (k)m(k)θ(k ˆ − 1) = P −1 (k)θ(k Combinando las dos ultimas expresiones con (9.5) se obtiene ˆ θ(k) = = =
ˆ − 1) − P (k)mT (k)m(k)θ(k ˆ − 1) + P (k)mT (k)y(k) θ(k ˆ − 1) + P (k)mT (k)(y(k) − m(k)θ(k ˆ − 1)) θ(k ˆ − 1) + K (k)(y(k) − m(k)θ(k ˆ − 1)) θ(k
(9.6)
ˆ donde K (k) = P (k)mT (k). Por tanto θ(k) se puede expresar en forma recursiva, es decir en funci´ on del valor del estimador en el instante anterior m´ as un t´ermino corrector que consiste en el error de predicci´ on en el instante actual cometido por el estimador calculado en el instante anterior multiplicado por una ganancia de adaptaci´ on K (k). Esta formula da lugar al llamado algoritmo de minimos cuadrados recursivos, que consiste en 1. Dar valores iniciales a la matriz P y al vector de par´ ametros θ. 3
T´ engase en cuenta que el hardware industrial no se renueva tan r´ apidamente como el usado en inform´ atica personal y que adem´as tampoco se incorporan las ´ultimas tecnologias con la misma rapidez.
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 9. IDENTIFICACI ON
145
2. En cada instante k a ) Leer los valores de y(k) y u(k). b) Formar el vector regresor m(k) seg´ un la expresi´ on (9.3). c ) Calcular P (k) mediante P (k − 1)mT (k)m(k)P (k − 1) P (k) = P (k − 1) − 1 + m(k)P (k − 1)mT (k) d ) Calcular K (k) segun la expresi´on K (k) = P (k)mT (k) e ) Calcular θ(k): ˆ = θ(k ˆ − 1) + K (k)[y(k) − m(k)θ(k ˆ − 1)] θ(k) Este algoritmo puede intepretarse gr´aficamente como se ilustra en la figura 9.1. PLANTA
+ Σ
FORMAR REGRESOR -
ALGORITMO RECURSIVO
+
Z-1
θ
Figura 9.1: Diagrama de flujo del proceso de identificaci´on mediante m´ınimos cuadrados recursivos.
9.3.
Interpretaci´ on estad´ıstica
En esta secci´ on se presentan las propiedades estad´ısticas del estimador obtenido por el m´etodo de m´ınimos cuadrados en funci´ on de las caracter´ısticas del proceso que se trata de identificar.
146
´ ESTAD´ISTICA INTERPRETACI ON
Supongase que el proceso que se pretende modelar responde bien a un modelo ARMAX o bien a un modelo ARX-LS (vease la secci´ on 7.4). Considerese que la variable aleatoria v(k) corresponde a un ruido blanco. La diferencia entre estos dos tipos de modelos es el grado del polinomio coloreador del ruido C (z −1) que denotaremos por cn . En el ARMAX cn > 0 por lo que la variable aleatoria v(k) y sus valores pasados hasta el instante k − cn afectan al valor de la salida en k. En el caso del ARX − LS el grado de C (z −1 ) es cero, por lo que la salida en k viene afectada por el valor de la se˜ nal de ruido en el instante k exclusivamente. Esto implica que en el caso del ARMAX la salida depende de los valores pasados de v(k) mientras que en el caso del ARX-LS esta dependencia es exclusivamente con el valor actual de v(k). Un hecho a tener en cuenta es que al ser v(k) una variable aleatoria, y(k) es a su vez una variable aleatoria al ser el ruido aditivo. Esto implica a su vez que el valor del vector de parametros estimado θˆ tambien es una variable aleatoria que se puede estudiar desde un punto de vista estad´ıstico. Por responder el proceso exactamente a uno de los dos tipos de modelos considerados existe un valor del vector de par´ ametros θ∗ que consideraremos como verdadero. Es decir y(k) = m T (k)θ∗ + C (z −1 )v(k) Resulta muy interesante saber si al aplicar el m´etodo de los m´ınimos cuadrados, el ˆ ˆ vector de par´ametros estimados θ(k) coincide con θ∗ . Dado que θ(k) es una variable aleatoria estudiaremos su valor esperado, es decir su esperanza matem´ atica. Se define el sesgo de la estimaci´on como
˜ ˆ θ = E θ(k) − θ∗ ˆ y el valor verdadero θ ∗ . Se es decir como la diferencia entre el valor esperado de θ(k) comprueba que ˜ θ = E [M T (k)M (k)]−1 M T (k)V (k) (9.7)
donde V (K ) es una matriz donde la fila correspondiente al instante k est´a formada por los valores v(k),· · ·,v(k − cn ). N´otese adem´ a s que la fila de M (k) correspondiente al instante k contiene los valores de la salida y de la entrada en los instantes k − 1,· · ·,k − n pero no los del instante k (ver expresi´ on (9.3)). Considerese el caso del modelo ARMAX. Claramente existe relaci´on entre los componentes de la matriz M (k) y V (k). En efecto, la matriz de regresores est´ a formada por valores de la salida y la entrada. Los primeros dependen de los valores de la se˜ nal de ruido y los segundos son deterministas, por lo que existe una correlaci´ on entre la matriz M (k) y V (K ). Por lo tanto tambien existe esa correlaci´ on entre [M T (k)M (k)]−1 M T (k) y V (k). Eso implica que seg´ un la expresi´ on (9.7) θ˜ es distinto de cero. Por tanto no est´a garantizada la convergencia del vector de par´ ametros estimados con el real .
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 9. IDENTIFICACI ON
147
La situaci´ on es diferente con el modelo ARX-LS. En este caso los valores de M (k) no pueden estar relacionados con V (k) (que, al ser cn = 0, solo est´a formada por los valores presentes de v(k) para cada instante k). Por tanto, el estimador por m´ınimos cuadrados es insesgado, es decir θ˜ = 0 y por tanto el valor esperado del estimador coincide con el valor real del vector de par´ ametros, es decir
ˆ E θ(k) = θ ∗
Por otra parte, el hecho que de que el proceso responda a uno u otro tipo de modelo tiene una interpretaci´ on f´ısica inmediata. En el caso del proceso ARMAX el ruido presenta una cierta din´ amica , mientras que en el caso del ARX-LS el ruido no presenta din´ amica alguna y responde u´nicamente a un ruido proveniente del sensor de medida. Es en este u ´ltimo caso cuando el m´etodo de m´ınimos cuadrados produce estimaciones consistentes. Otra propiedad que resulta interesante conocer es la varianza del estimador. Claramente interesa que esta varianza sea peque˜ na o por lo menos que disminuya conforme se acumulan medidas disponibles para usarlas en la estimaci´ on. De esa manera, el vector de par´ ametros estimados estar´a con seguridad cerca del vector real. La varianza del estimador se puede calcular como
ˆ ˆ − θ∗ )T (θ(k) ˆ − θ∗) varianza(θ(k)) = E (θ(k) = σ 2 P (k)
donde σ = E {v(i)v( j)} para i = j. N´o tese que para que la varianza sea peque˜ na interesa que P (k) sea peque˜ na o que al menos decrezca a medida de que k aumenta. Una medida del tama˜ no de P (k) es su traza, por lo que se usa como una medida de la exactitud de la estimaci´ on, de manera que se busca que la traza vaya decreciendo.
Esta interpretaci´ on estadistica del tama˜ no de P (k) tambien proporciona una regla para dar un valor inicial a la matriz P (k). En efecto, en general no se tendr´ a demasiada confianza en que el valor inicial del vector de par´ ametros estimados, por lo que se escoger´a una matriz P (0) grande para reflejar esa desconfianza, por ejemplo P (0) = pI donde p es un n´ umero muy alto (por ejemplo 10000). Este n´ umero ser´ a mas peque˜ no ∗ si se sabe que el valor inicial del vector de par´ametros est´ a cerca de θ .
Por otra parte, es evidente que a medida que el numero de observaciones N crece la suma N
k=n
mT (k)m(k)
M ´INIMOS CUADRADOS PONDERADOS
148
crece. Recuerdese que, segun se defini´ o en la secci´on 9.2
k
P (k) =
mT (i)m(i)
i=n
−1
lo que implica que a medida que N crece P decrece. Se puede demostrar que si el 1 tama˜ no del regresor no cambia demasiado P decrece como N . Esto quiere decir que la incertidumbre en la estimaci´on decrece, es decir, que cada vez se obtiene un estimador m´as cercano al valor real. Adem´ as la ganacia de adaptaci´ on K (k) tambien decrece (vease su definici´ on en la secci´on 9.2) lo cual es congruente con el hecho de que cuanto m´as exacta es la estimaci´ on menos correcci´ on de su valor se necesita. Esto es bueno si la din´amica del proceso no cambia con el tiempo, pero si esto no es as´ı habr´ a que modificar este esquema.
9.4.
M´ınimos cuadrados ponderados
A veces es conveniente dar m´ a s peso a algunas medidas que a otras en la estimaci´on. Por ejemplo si se identifica un proceso cuya din´ amica cambia con el tiempo interesar´ a dar mas peso a las medidas m´as recientes, pues estas ser´ an las que reflejen la din´amica m´as actualizada. Para conseguir esto hay que modificar el ´ındice de bondad de ajuste, de manera que se use N
J (θ) = E (N, θ)T W (N )E (N, θ)2 =
w(k)e2 (k, θ)
k=n
siendo W (N ) la matriz diagonal de pesos
W (N ) =
w(n) ...
La soluci´ on del problema de ajuste es en este caso
w(N )
θ∗ = [M T (N )W (N )M (N )]−1 M T (N )W (N )Y (N )
(9.8)
El esquema de ponderaci´ on m´as habitual es el llamado olvido exponencial . En este caso w(k) = λ N −K
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 9. IDENTIFICACI ON
149
, donde λ ∈ (0, 1) es el llamado factor de olvido. Es f´ acil entender por que se le llama olvido exponencial: el peso dado a la medida disminuye exponencialmente cuanto m´ as antigua sea. De esta manera las medidas muy antiguas se olvidan, pues su peso es tan peque˜ n o que es como si no se contribuyesen a la estimaci´on. Habitualmente se usa λ ∈ [0,98, 1). Por ejemplo, si λ = 0,99 el estimador tendr´ıa una memoria de unas 100 muestras. En aquellos casos que la din´ amica del proceso cambie muy r´ apidamente se puede optar por valores m´ as bajos (por ejemplo, λ = 0,95).
En el caso de la t´ecnica de olvido la formulaci´ on recursiva puede aplicarse modificando las expresiones para el calculo de P (k) de manera que: P (k − 1) P (k − 1)mT (k)m(k)P (k − 1) P (k) = − λ λ + m(k)P (k − 1)mT (k) Puede observarse que, dado que K (k) = P (k)mT (k), la ganancia de adaptaci´ on K (k) depende de λ y a menor λ mayor ganancia de adaptaci´ on. Esto quiere decir que a menor λ mejor se adaptar´ a la identificaci´ on a una din´ amica cambiante, ya que se considerar´ıa en la optimizaci´on solo la informaci´on m´as reciente. Sin embargo si en el sistema o en las medidas hay mucho ruido, es conveniente que la din´amica se identifique sobre un conjunto amplio de medidas ya que si no se identificar´ıa el ruido m´ as que la din´amica del proceso. Por tanto en estos casos conviene que λ no sea muy peque˜ no. Por tanto hay que llegar a un compromiso entre la capacidad de seguir una din´ amica cambiante y el rechazo del ruido en la identificaci´ on.
9.5.
M´ınimos cuadrados extendidos y generalizados
Seg´ un se explic´o en la secci´ on 9.3 el estimador obtenido mediante m´ınimos cuadrados es insesgado si el proceso responde a un modelo ARX-LS, pero no si responde a un modelo ARMAX. En la pr´actica, si la relaci´on se˜ nal-ruido es baja el proceso ha de modelarse con un modelo de perturbaciones m´ as complejo que el del ARX-LS ya que la se˜ nal de ruido y su influencia sobre la din´amica son importantes. En estos casos se debe recurrir a un modelo ARMAX. El m´etodo de los m´ınimos cuadrados extendidos trata de resolver el problema del sesgo en la estimaci´on de modelos ARMAX. La soluci´on es incluir los coeficientes del polinomio C (z −1) en el vector de par´ ametros del estimador, es decir θ =
a1 · · · an b1 · · · bn c1 · · · cn
T
150
´ DE LOS VALORES DE CONTINUA ESTIMACI ON
Sin embargo, los valores pasados de la se˜ nal de ruido v(k) no son medibles, por lo que no se pueden incluir en el regresor. Lo que se hace es aproximarlos por los errores de predicci´on, es decir ˆ − 1) e(k) = y(k) − m(k)θ(k Si el proceso coincidiera exactamente con el modelo para algun valor del vector de par´ametros, entonces si los parametros evolucionasen en la direcci´ on correcta la aproximaci´on de los valores de los ruidos por los errores cada vez ser´ıa m´as correcta y eventualmente se igualar´ıan, es decir v(k) = e(k). El regresor se formar´ a entonces como, m(k) =
−y(k − 1) · · · −y(k − n) u(k − 1) · · · u(k − n) e(k − 1) · · · e(k − n)
El resto del procedimiento es exactamente igual, tanto en las formulaciones fuera de linea como en linea. Con este m´etodo se consiguen estimaciones insesgadas y consistentes para procesos que respondan como un modelo ARMAX. Los problemas son un aumento de la carga de calculo y una menor velocidad de convergencia en los par´ ametros ci debido a que la se˜ nal de ruido no es la m´ as preponderante. Finalmente, existe otra variante de los m´ınimos cuadrados que son los m´ınimos cuadrados generalizados. Sin entrar en demasiados detalles, esta formulaci´ on se usa 1 − cuando se tiene alg´ un conocimiento del valor real del polinomio C (z ) o de la matriz P (matriz de covarianza). En este caso si la matriz N definida como
N = E vv T
es distinta de la matriz identidad se obtienen mejores resultados si el criterio que se utiliza es J (θ) = eT (k, θ)N −1 e(k, θ)
9.6.
Estimaci´ on de los valores de continua
Una de las condiciones necesarias para asegurar la convergencia que se mencionaron en el tema 8 era que es necesario conocer los valores de continua de la se˜ nal y eliminarlos de las medidas usadas en la identificaci´ on. Es decir para identificar un proceso hay que utilizar se˜ nales sin componente continua: u(k) = U (k) − U ∞
y(k) = Y (k) − Y ∞
donde U (k) e Y (k) son los valores reales de la salida y la entrada y U ∞ e Y ∞ son los valores de continua de ambas se˜ nales. Para estimar dichos valores existen diversas opciones.
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 9. IDENTIFICACI ON
9.6.1.
151
Utilizaci´ on de los incrementos de las variables
En este caso se toman los incrementos de las se˜ nales, es decir uID (k) = u(k) − u(k − 1) = (U (k) − U ∞ ) − (U (k − 1) − U ∞ ) = U (k) − U (k − 1) donde la se˜ nal uID (k) es la se˜ nal de entrada que se utiliza en la identificaci´ on. Como se puede observar, al usarse el incremento, se resta de manera implicita la componente continua. Lo mismo se hace con la salida yID (k) = y(k) − y(k − 1) = (Y (k) − Y ∞ ) − (Y (k − 1) − Y ∞ ) = Y (k) − Y (k − 1) Evidentemente, lo que se obtiene al identificar es un modelo incremental, es decir formulado en incrementos de y(k) y u(k) y este incremento se tendr´ a que deshacer si lo que se quiere son los valores no incrementales de dichas se˜ nales.
9.6.2.
C´ alculo de los valores medios
La idea es aproximar los valores de continua por los valores medios de las se˜ nales. En el caso de la formulaci´ on fuera de linea estos valores medios se calculan mediante las expresiones tradicionales, es decir 1 U ∞ = N
N
i=1
u(i)
1 Y ∞ = N
N
y(i)
i=1
para la identificaci´ on en linea, es decir mediante algoritmos recursivos, se emplean las siguientes expresiones 1 U ∞ (k) = U ∞ (k − 1) + (U (k) − U ∞ (k − 1)) k 1 Y ∞ (k) = Y ∞ (k − 1) + (Y (k) − Y ∞ (k − 1)) k
9.6.3.
Estimaci´ on de una constante
La idea en este caso es que el modelo que se pretende identificar puede reescribirse como Y (k) − Y ∞ = −a1 (Y (k − 1) − Y ∞ ) − a2 (Y (k − 1) − Y ∞ ) − · · · − an (Y (k − n) − Y ∞ ) +b1 (U (k − d − 1) − U ∞ ) + · · · + bn (U (k − d − n) − U ∞ )
152
IMPORTANCIA DEL ORDEN DEL MODELO
lo cual a su vez se puede poner como Y (k) = −a1 Y (k − 1) − · · · − an Y (k − n) +b1 U (k − d − 1) + · · · + bn U (k − d − n) + K siendo K una constante que vale K = (1 + a1 + · · · + an )Y ∞ − (b1 + · · · + bn )U ∞
(9.9)
Para estimar la componente continua se modifica el algoritmo de manera que en el vector de par´ ametros se incluye K θ =
a1 · · · an b1 · · · bn K
y en el regresor se incluye un 1 m(k) =
T
−y(k − 1) · · · −y(k − n) u(k − 1) · · · u(k − n) 1
Una vez estimado el valor de K , lo que se hace es dar un valor arbitrario a Y ∞ , por ejemplo igual al valor de la referencia o consigna. Con ese valor se calcula U ∞ mediante la expresi´on (9.9).
9.7.
Importancia del orden del modelo
El orden del sistema a identificar es algo que debe ser conocido para asegurar la convergencia e identificabilidad (ver tema 8). En la pr´ actica esto no es sencillo, y se debe recurrir a probar con varios modelos de ordenes y estructuras distintas a ver cual resulta mejor. Esto quiere decir que se pueden dar situaciones de mala estimaci´ on del orden del modelo por defecto (incurriendose en lo que se llama infraparametrizaci´ on ) o por exceso (sobreparametrizaci´ on ). Veamos que ocurre cuando se intenta aproximar un sistema por un modelo de orden inferior. Si esto sucede se llega a una situaci´ on en la que el modelo solo puede aproximar al sistema real en una banda de frecuencia relativamente estrecha. Si durante el transcurso del proceso de identificaci´ o n la se˜ nal de entrada cambia su contenido frecuencial, el modelo estimado (es decir su vector de par´ ametros) evoluciona hasta aproximar al sistema en torno a la nueva banda de frecuencias. Todo esto implica que se obtendr´ a un modelo distinto dependiendo de la se˜ nal de entrada. Este problema se ilustra en las figuras 9.2 y 9.3. En ambas se muestra el diagrama de bode de un sistema de segundo orden sobre el que ha sido identificado un modelo de primer orden mediante dos entradas senoidales de distinta frecuencia. Puede observarse en ambas figuras que
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 9. IDENTIFICACI ON
153
20 10 B 0 d d u t i l −10 p m a−20 −30 −40 −1 10
0
10
1
10
0
−50 ) s o d a r −100 g ( e s a−150 f s e d −200
−250 −1 10
0
10
1
10
frecuencia rad/s
Figura 9.2: Diagrama de Bode de un sistema de segundo orden (linea continua) y de un modelo de primer orden estimado para una entrada senoidal de frecuencia ω = 0,2 rad × s−1.
20 10 B 0 d d u t i −10 l p m a−20 −30 −40 −1 10
0
10
1
10
0
−50 ) s o d a r −100 g ( e s a−150 f s e d −200
−250 −1 10
0
10
1
10
frecuencia rad/s
Figura 9.3: Misma situaci´on que en la figura 9.2 pero con una se˜nal de entrada senoidal de frecuencia ω = 1 rad × s−1 .
154
IMPORTANCIA DEL ORDEN DEL MODELO
el modelo obtenido no es sino una aproximaci´ on del sistema original en el entorno de la frecuencia de la entrada. Esto ocasiona por tanto que ambos modelos sean distintos.
A la vista de lo que ocurre cuando existe infraparametrizaci´ on, parecer´ıa l´ ogico que resulte mejor sobreestimar el orden del modelo para evitar el continuo cambio de los par´ametros del modelo estimado. Sin embargo esto no es una buena idea, pues puede ocurrir que haya par´ ametros del modelo estimado que puedan tomar cualquier valor sin que cambie la relaci´on que liga las entradas del modelo con las salidas. Esto se manifiesta en que algunos par´ ametros experimentan una deriva tomando valores arbitrarios muy altos o muy bajos. Esto ocasionar´ıa problemas num´ericos. Esta situaci´ on se ilustra en la figura 9.4. En ella se muestra la evoluci´ o n de los par´ametros de un modelo de cuarto orden identificado sobre el sistema de segundo orden utilizado en las figuras 9.2 y 9.3. Puede observarse que algunos de los ocho par´ ametros identificados convergen y permanecen estables a lo largo del proceso de identificacion. Sin embargo otros no solo no convergen sino que derivan hacia valores muy altos o muy bajos. 1.5 1 0.5 y e u
0
−0.5 −1 −1.5 0
5
10
15
20
25
30
35
40
5
10
15
20 tiempo (s)
25
30
35
40
1.5 1 s 0.5 o d a m 0 i t s e−0.5 i b , i a −1
−1.5 −2 0
Figura 9.4: Evoluci´on de los par´ametros identificados en un caso de sobreparametrizaci´on.
Matem´aticamente el exceso de par´ ametros conduce a una situaci´ on en la que m´as de una combinaci´ on de los valores del vector de par´ ametros producen la misma relaci´ on entre la entrada y la salida. Por tanto la sobreparametrizaci´on se manifiesta tambi´en si se traza la gr´ afica de un par´ ametro del modelo frente a otros por que aparecen relaciones lineales. Esta situaci´on se ilustra en la figura 9.5. En ella se muestran dos ejemplos en los que se presentan los valores de un par´ ametro en funci´ o n del otro a medida que el proceso de identificaci´ on avanza. Puede observarse que existe un marcado patron lineal, que indica una dependencia lineal entre ambos par´ ametros.
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 9. IDENTIFICACI ON
155
0.025 k=30
0.02 k=100 0.015 3
b
0.01 0.005 0
−0.005 −2
−1.8 k=180
−1.6
−1.4
−1.2
−1
−0.8
−0.6
a
1
1.5
1
2
a
0.5
k=180 k=100
0 k=30 −0.5 −2
−1.8
−1.6
−1.4
−1.2
−1
−0.8
−0.6
a
1
Figura 9.5: Evoluci´on de unos par´ametros frente a otros para el modelo sobreparametrizado.
9.8.
Identificaci´ on de sistemas con retardo o no lineales
El m´etodo de los m´ınimos cuadrados puede aplicarse a procesos con retardo, siempre que se tengan en cuenta algunas cuestiones. El modelo determinista de un sistema con retardo puro de d periodos de muestreo se puede poner como A(z −1 )y(k) = B(z −1 )u(k − d − 1) Eso quiere decir que el regresor en el instante k debe contener valores pasados de la entrada desde k − d − 1 a k − d − n donde n es el grado del polinomio B(z −1 ). Por tanto el regresor queda m(k) =
−y(k − 1) · · · −y(k − n) u(k − d − 1) · · · u(k − d − n)
Con esta modificaci´ on cualquiera de los algoritmos de m´ınimos cuadrados vistos anteriormente se puede aplicar a procesos con retardo. El problema estriba en que se ha de conocer exactamente el retardo (vease tema 8). El m´etodo usual para conocer este dato es provocar un cambio en la entrada y observar cuando se manifiesta dicho cambio en la salida (ha de tenerse en cuenta que en todo sistema muestreado los cambios en la entrada se manifestar´ an como mucho en el siguiente periodo de muestreo). Este sencillo esquema se puede complicar por ejemplo si el retardo es variable. Esto es m´as com´ un de lo que se cree, pues el retardo as´ı como el resto de par´ ametros de un sistema suele depender del punto de funcionamiento (por ejemplo, los retardos de transporte ocasionados por tuberias dependen del caudal de material que se transporta). El problema es que, aunque los m´etodos de identificaci´ on propuestos puedan seguir cambios
156
CONSIDERACIONES FINALES
en los parametros del modelo (se adaptan a esos cambios) no recogen la posibilidad de un retardo variable (existen remedios a este problema, pero no se tratar´ an aqu´ı). Otro problema que puede suceder es que el retardo no sea multiplo exacto del tiempo de muestreo. Aunque existen formas para describir retardos no enteros (por ejemplo, el uso de una expansi´ on de Pad´ e) es mas sencillo y menos problem´ atico emplear si es posible otro tiempo de muestreo para hacer que el retardo sea entero. Finalmente se coment´ o al principio del tema que el m´etodo de m´ınimos cuadrados tambien permite la identificaci´ on de sistemas no lineales con la limitaci´ o n de que el modelo a identificar sea lineal en los par´ ametros. De este modo, si el sistema se pretende identificar con un modelo que por ejemplo podr´ıa ser y(k) + ay(k − 1) = bu2 (k − 1) el regresor y el vector de par´ ametros ser´ıan m(k) = respectivamente.
9.9.
−y(k − 1) u2 (k − 1)
y
θ(k) =
a b
T
Consideraciones finales
En esta secci´ on se enunciar´ an algunas cuestiones pr´ acticas a tener en cuenta cuando se implementa alguno de los algoritmos presentados en este tema. En primer lugar si no se emplea la t´ecnica de factor de olvido, la ganancia de adaptaci´ on K (k) decrece hasta hacerse casi cero, por lo que cuando eso ocurre ya no se pueden seguir cambios posteriores de la din´ amica. Por tanto para identificar sistemas cuya din´ amica var´ıa lentamente se ha de emplear m´ınimos cuadrados ponderados. Por otra parte, existen situaciones en las que la matriz de covarianzas P puede crecer demasiado, por lo que el identificador se har´ıa muy sensible a cualquier peque˜ no cambio de la din´amica o al ruido. Esto ocurre por ejemplo cuando el punto de funcionamiento no var´ıa. Lo que se puede hacer en este caso es utilizar un factor de olvido variable, de manera que si la traza de P crece demasiado se toma λ = 1. Si la traza de P baja mucho se va bajando λ, pero sin sobrepasar un cierto l´ımite que evita que el proceso de identificaci´ on se haga demasiado sensible al ruido. Otro aspecto es la elecci´ on del valor inicial de P . Se ha comentado que en el caso de que no se tenga mucha confianza en el valor del vector de par´ ametros inicial, se propone elegir P como una matriz diagonal pI siendo p un n´ umero arbitrariamente alto. Por
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 9. IDENTIFICACI ON
157
otra parte si antes de comenzar la identificaci´ o n ya se dispone de 2n observaciones, donde 2n es el n´ umero de par´ ametros a estimar, es posible tomar como valor inicial
P (0) = M T (2n)M (2n)
−1
y como valor inicial del vector de par´ametros se puede usar θ = P (0)M (2n)Y (2n).
158
CONSIDERACIONES FINALES
Cap´ıtulo 10 Control de sistemas con grandes retrasos 10.1.
Sistemas con retraso
Los tiempos muertos o retrasos puros est´ an presentes en muchos sistemas din´amicos y especialmente en la industria de procesos. Los retrasos pueden deberse al tiempo que tarda en circular un fluido o material de un punto a otro (retraso distancia-velocidad , o deberse por ejemplo al tiempo de mezcla imperfecta de un equipo tipo tanque agitado o quiz´as al tiempo de medida de los sensores que miden las variables a controlar. En la figura 10.1 se muestra un ejemplo t´ıpico. La variable a controlar en este caso es la temperatura a la salida de un intercambiador de calor al que se suministra calor controlado mediante la apertura de la v´ a lvula de entrada de un quemador de gas. El retardo viene provocado en este caso por el hecho de que el termopar de medida est´a situado a una distancia apreciable de la salida del intercambiador (se supone que la tuber´ıa no tiene p´erdidas, por lo que la temperatura medida coincide con la de la salida). Intuitivamente se ve que el retraso en este caso ser´ a distancia al sensor retraso = . velocidad de transporte del fluido
De una manera un poco m´ as formal, el retraso en un sistema din´ amico se puede definir de la siguiente manera: amico se define como el tiempo que Definici´ on 10.1 El retardo de un sistema din´ 159
160
SISTEMAS CON RETRASO
Figura 10.1: Ejemplo de sistema con retraso.
transcurre entre el momento en el que se produce un cambio en una variable de entrada y el momento en el que se observa una variaci´ on en la salida imputable a la variaci´ on en la entrada.
La presencia de retrasos en un sistema din´ amico o proceso incrementa notablemente la dificultad de obtener un buen control. El motivo de esto es, como se ver´ a m´as adelante, que el retraso introduce una gran cantidad de retardo de fase en el sistema, incluso a bajas frecuencia. La postura m´ a s sencilla ante este problema es la de ignorar los efectos del retraso e intentar encontrar el mejor control posible con un lazo sencillo de realimentaci´ on. Esta es la postura que se adopta en cursos b´asicos de control. Esta estrategia puede funcionar razonablemente bien cuando el retraso es peque˜ no en comparaci´on con la din´ amica del sistema. Sin embargo, cuando los retrasos son apreciables o incluso dominantes, esta estrategia dif´ıcilmente llevar´ a a un comportamiento aceptable. La soluci´ on es la de emplear estructuras de control avanzadas como las que se presentan en este cap´ıtulo. Estas estructuras deben tener un caracter eminentemente predictivo o anticipativo para poder contrarrestar el retardo puro. La bondad de estos m´etodos predictivos depende en gran medida de la exactitud del modelo del sistema que se utilice. Los errores de modelado, especialmente los cometidos en la estimaci´ on del retraso afectar´ an a la calidad del control. Dado que estas estructuras son m´ as complejas, se aconseja su uso cuando la relaci´ on entre el retraso y la din´ amica m´as lenta del sistema sea superior a 2.
CAP ´ITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS
161
Figura 10.2: Sistema de control realimentado para un proceso con retraso t m .
10.1.1.
Representaci´ on matem´ atica del retraso
Comenzaremos por indicar cual es la representaci´ on matem´ atica que tiene un determinado tiempo muerto t m en el dominio s, es decir en tiempo continuo1 . Sup´ongase que una determinada funci´ on g p (t) es igual a otra g(t) pero retrasada un tiempo tm . Es decir, g p (t) = g(t − tm ). G p (s), es decir la transformada de Laplace de g p (t) se calcular´a como: ∞ G p (s) =
g(t − tm )e−st dt
0
Haciendo un cambio de variable t − tm = t se tiene que: ∞ ∞ G (s) = g(t )e−s(t +tm ) dt = e−stm g(t )e−st dt p
0
0
es decir G p (s) = e−stm G(S ).
(10.1)
Por tanto, el retraso t m se representa por un t´ermino e −stm que multiplica a la transformada de Laplace de g p (t). La figura 10.2 muestra la configuraci´ on de un lazo de control realimentado para un proceso con retraso tm y cuya funci´on de transferencia excluido el retraso es G(s). Lo anterior se refiere a tiempo continuo. Para sistemas descritos en tiempo discreto, el retraso se mide en periodos de muestreo, es decir un determinado sistema tendr´ a un 2 retraso de d periodos de muestreo . En este caso el retraso se representa por un t´ermino de la forma z −d , de manera que la funci´on de transferencia se representar´ıa por G p (z −1 ) = z −d G(z −1). 1
Todas las estructuras presentadas en este cap´ıtulo est´an inicialmente formuladas para sistemas en tiempo continuo, pero son f´acilmente extensibles al caso discreto e implementables en un computador. En el cap´ıtulo se indicar´an las diferencias entre ambos casos. 2 En caso de que el n´umero de que el retraso sea un n´umero no m´ ultiplo del periodo de muestreo se recomienda cambiar dicho periodo de muestreo para que el retraso sea o bien un m´ultiplo exacto o bien la parte fraccionaria sea muy peque˜na y se pueda despreciar.
162
SISTEMAS CON RETRASO −t s
Diagrama de Bode para e
m
1 0.5 ) B d ( e d u t i n g a M ; ) g e d (
0 −0.5 −1 4
0
x 10
t =1 m
e s a −0.5 h P ) 1 ( Y : o T
t =2 m
−1 t =3
−1.5 −2 −1 10
m
0
10
1
10
2
10
Frequency (rad/sec)
Figura 10.3: Diagrama de Bode para distintos valores de un retraso puro e −t
m
10.1.2.
s
.
Problem´ atica del control de sistemas con retraso
Como se ha comentado anteriormente, la presencia de un gran retraso en un sistema hace dif´ıcil su control. En esta secci´ on justificaremos este problema. Se comenzar´ a analizando el efecto de sobre la magnitud y fase del sistema. Para un retraso t m , el t´ermino e−stm que multiplica a G(s) en la expresi´ on (10.1) es un n´ umero complejo igual a e −tm ωj cuyo m´odulo es siempre 1 independientemente del valor de la frecuencia ω y cuya fase ser´a − tm ω. Es decir, siempre se introducir´ a un desfase adicional en el sistema, desfase que ser´ a mayor a mayor frecuencia ω. El retraso sin embargo tiene ganancia 1 y por tanto no produce amplificaci´ on o atenuaci´ on alguna en la salida del sistema (lo que por otra parte se ve intuitivamente ya que el retraso no modifica los valores de la salida sino su aparici´on temporal). En la figura 10.3 se puede ver el diagrama de Bode para distintos valores de un retraso puro. Puede apreciarse el gran retardo de fase introducido en altas frecuencias. Al introducirse retardo de fase, es evidente que, para un determinado sistema con retraso, el margen de fase ser´ a menor que para el mismo sistema sin retraso. Esto puede llevar incluso a la p´erdida de estabilidad en bucle cerrado del sistema. Para ilustrar mejor los efectos del retraso sobre un sistema consid´erese la funci´ on
CAP ´ITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS Diagramas de Bode para distintos valores de t
163
m
20
10 ) B d ( e d u t i n g a M ; ) g e d (
e s a h P )
0
−10 0 t =0 m
−90
t =0.01
1 ( Y : o T
m
t =0.1 m
−180 t =1 m
−270 −2 10
10
−1
0
10
1
10
Frequency (rad/sec)
Figura 10.4: Diagrama de Bode para distintos valores de un retraso puro tm s para el sistema 10 . C (s)G(s)e−t s con C (s) = 1 y G(s) = 1+ s m
10 de transferencia G(s) = 1+ y un controlador C (s) = K , donde inicialmente K = 1. s En la figura 10.4 se muestra el diagrama de Bode para este sistema para distintos retrasos. Puede observarse que conforme aumenta el retraso aumenta el desfase y de hecho disminuye el margen de fase hasta hacerse negativo. En este ultimo ´ caso, el sistema ser´ıa inestable en bucle cerrado para ese controlador C (s).
De la figura 10.4 puede as´ı mismo deducirse que disminuyendo K , se conseguir´ a que la gr´afica de magnitud del diagrama de Bode baje, de manera que el corte con cero decibelios se produzca en una frecuencia menor, por lo que el desfase ser´ a menor y eventualmente el margen de fase ser´a positivo. Esta situaci´ on puede observarse en la figura 10.5 donde para K = 0,2 se observa un margen de fase positivo para todos los valores de tm considerados. La observaci´ on anterior se puede generalizar de manera que cuando el tiempo muerto sea elevado en relaci´on a la din´ amica del sistema, se obtendr´ a un mejor control desintonizando el controlador. Esto se puede conseguir por ejemplo bajando la ganancia de realimentaci´ o n o en el caso de un controlador con acci´ on integral usando un tiempo integral alto. El control mejorar´ a en cuanto a estabilidad de bucle cerrado, pero a costa de obtener una respuesta muy lenta y una escasa capacidad para rechazar perturba-
164
SISTEMAS CON RETRASO
Diagramas de Bode para distintos valores de t
m
10 5 0 ) B d ( e d u t i n g a M ; ) g e d ( e s a h P )
−5 −10 −15 0 t =0 m
−90
1 ( Y : o T
t =0.01 t =0.1
t =1
m
m
m
−180
−270 −1 10
0
10
1
10
Frequency (rad/sec)
Figura 10.5: Diagrama de Bode para distintos valores de tm s para el sistema de la figura 10.4 con C (s) = 0,2.
CAP ´ITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS
165
Figura 10.6: Sistema de control realimentado para un proceso con retraso donde el sensor se ha dispuesto antes del retardo.
ciones. En cuanto a la acci´ on derivativa de los controladores PID, no afecta de manera significativamente favorable. Finalmente se concluye este breve an´ alisis sobre los efectos de los retrasos haciendo notar en el siguiente comentario que el retraso no puede ser evitado de ninguna manera.
Comentario 10.1 Dado un sistema con un retraso tm , los cambios en la variable manipulada no se manifestar´ an en la variable controlada hasta ese tiempo tm . Esta situaci´ on no puede alterarse con estrategia de control alguna. Es decir el retraso que presente un sistema no puede ser eliminado del sistema en bucle cerrado. Lo que si se puede conseguir mediante una estrategia de control avanzada es mejorar la respuesta del sistema tras el retraso.
10.2.
El Predictor de Smith
El Predictor de Smith es el m´as popular de los algoritmos de control para compensaci´on de retardos. Aunque desarrollado para sistemas continuos en la d´ecada de 1950, su implementaci´ on con circuitos anal´ogicos es muy complicada y su para su aplicaci´on es m´as apropiado el control por computador. La idea fundamental de la que se parte es la de cambiar la disposici´ on del sensor que mide la variable controlada, situ´ andolo antes del retraso puro (v´ease la figura 10.6. De esta manera se est´ a controlando el sistema sin retraso, es decir, se ha sacado el retraso del bucle de control. La funci´ on de transferencia de bucle cerrado ser´ a por tanto: GBC (s) =
C (s)G(s) −tm s e 1 + C (s)G(s)
(10.2)
Es decir la salida del sistema en bucle cerrado ser´ a la salida del sistema sin retraso en bucle cerrado retrasada un tiempo tm .
166
EL PREDICTOR DE SMITH
Figura 10.7: Sistema de control en donde se realimenta la predicci´on de la salida mediante un modelo en bucle abierto.
Comentario 10.2 En el caso de poder disponer el sensor antes del retraso, al sacar el retraso del sistema, se disminuye de manera dr´ astica el retraso de fase, aumentando el margen de fase, permitiendo una sintonizaci´ on m´ as apropiada del controlador y obteni´ endose por tanto una mejor respuesta y rechazo de perturbaciones. Esto ser´ıa, por tanto, la soluci´ on ideal al problema de control de sistemas con retraso. Desgraciadamente en muchos casos no ser´ a posible colocar el sensor antes del retraso. Por ejemplo cuando el retraso est´e asociado al propio sensor (caso de un cromat´ografo). Tambi´ en cuando el proceso sea de par´ ametros distribuidos de manera que la variable y(t + tm ) no sea posible medirla y haya de ser estimada mediante un algoritmo que tiene un tiempo de ejecuci´ on tm . Cuando la salida sin retraso, es decir y(t+tm )3 , no se puede medir, se puede recurrir a estimar su valor, o de manera m´as precisa a predecir su valor en t + tm . Para ello se puede usar un modelo suficientemente exacto de G(s) que denotaremos por Gm (s). Este es por tanto un modelo del proceso sin retraso, que podemos llamar modelo r´ apido del proceso. La predicci´ on de y(t + tm ) (denotada a veces como y(t + tm |t)) puede ser usada en un lazo de control como se ilustra en la figura 10.7. En esta estructura en lugar de realimentar la salida y(t) del proceso, se realimenta la predicci´ on de y(t + tm ) efectuada en tiempo t mediante el modelo Gm (s). Los valores de la se˜ nal de control calculados mediante C (s) se aplican directamente al proceso. Esta estructura tendr´ıa como funci´ on de transferencia de bucle cerrado la expresi´ on:
GBC (s) =
C (s)G(s) e−tm s 1 + C (s)Gm (s)
(10.3)
En el caso de que el modelo del proceso sin retardo fuera perfecto, es decir Gm (s) = G(s), claramente la funci´ on de transferencia (10.3) es entonces igual a la de (10.2). 3
N´ otese que en tiempo t + tm lo que hay en la salida del sistema es lo que hab´ıa en tiempo t a la salida de G(s) antes del retraso, es decir y(t + tm ) es la salida sin retraso.
CAP ´ITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS
167
Figura 10.8: Estructura del Predictor de Smith.
Por tanto si Gm (s) = G(s) este esquema funciona como si se pudiese sacar el retraso cambiando la posici´ on del sensor. Esta situaci´ o n no se dar´ a en la realidad, por que siempre habr´a errores de modelado. N´otese que la estructura de control de la figura 10.7 es esencialmente una estructura de control en bucle abierto, por que no se est´ a haciendo uso del valor de la variable controlada y(t). Por tanto no ser´ a capaz de hacer frente a perturbaciones o errores de modelado. No se est´a aprovechando el valor de y(t) para, por ejemplo, determinar los errores de predicci´ on cometidos al usar el modelo r´ apido . Precisamente este uso es el que se le da en el Predictor de Smith.
La estructura del Predictor de Smith se muestra en la figura 10.8. Difiere de la estructura de la figura 10.7 en que en este caso si se usa la variable controlada, es decir es una estructura en bucle cerrado. Lo que se hace es que se compara la salida y(t) con la salida del modelo r´ apido retrasada un tiempo tm (donde tm es la estimaci´ on del valor del retraso t m ), obteni´endose por tanto una estimaci´ on de y(t) (que se puede denotar por y(t|t)). La comparaci´on permite obtener una se˜ nal de error de predicci´ on e(t) = y(t) − y(t|t) que se suma a la predicci´on de y(t + tm ), de manera que los que se realimenta es y(t + tm |t) + e(t).
Adem´as del modelo r´ apido Gm (s), en el Predictor de Smith se tiene el modelo de planta cuya funci´on de transferencia es Gm (s)e−tm s . La funci´on de transferencia de bucle cerrado cuando el modelo de planta es perfecto, es decir Gm (s)e−tm s = G(s)e−tm s coincide con la de la ecuaci´ on (10.2). Por tanto esta funci´ on de transferencia coincide con la de un proceso sin retraso, seguido de un retraso despues del lazo. Esto implica que la sinton´ıa del controlador C (s) se realiza como si realmente no existiera el retraso, ya que al utilizar el Predictor de Smith se supone que el retraso sale del bucle de control.
Ejemplo 10.1
168
EL PREDICTOR DE SMITH 60 40 ) B d ( e d u t i n g a M ; ) g e d ( e s a h P
20 0 −20 0
−90
−180
−270 −3 10
−2
−1
10
10
0
10
Frequency (rad/sec)
Figura 10.9: Bode de C (s)G(s) para el ejemplo.
En este ejemplo se ilustrar´ a el control de sistemas con retraso y el uso del Predictor de Smith. Consid´erese el siguiente sistema: G(s) =
1 e−20s 1 + 10s
En primer lugar se considera un lazo de realimentaci´ on simple, en este caso con un PI, dise˜ nado de manera que cancele el polo del sistema y para que la constante de tiempo del sistema en bucle cerrado sin retraso sea la mitad del original. El PI resulta ser: C (s) =
1 1 + 10s 5 s
La figura 10.9 muestra el diagrama de Bode del conjunto C (s)G(s). Claramente el margen de fase es negativo, por lo que este controlador inducir´ a la inestabilidad del sistema en bucle cerrado. La soluci´on habitual pasa por desintonizar el controlador. En este caso se opta por rebajar la ganancia del controlador de manera que sea cuatro veces menor. En la figura 10.10 se observa el diagrama de Bode en este caso. Puede observarse que ahora el margen de fase es positivo y por tanto el sistema en bucle cerrado ser´ a inestable. Como es l´ogico la respuesta en bucle cerrado no ser´ a la esperada, como se ilustra en la figura 10.11. Puede observarse que la respuesta es muy oscilatoria, prueba del escaso margen de fase.
CAP ´ITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS
169
40 20 ) B d ( e d u t i n g a M ; ) g e d ( e s a h P
0 −20 −40 0
−90
−180
−270 −3 10
−2
−1
10
0
10
10
Frequency (rad/sec)
Figura 10.10: Bode de C (s)G(s) para el ejemplo, desintonizando el controlador de manera que la ganancia sea cuatro veces menor.
1.5
1
0.5
0 0
50
100
150
200
250
300
350
400
t
Figura 10.11: Respuesta del sistema en bucle cerrado con el controlador desintonizado de manera que la ganancia sea cuatro veces menor.
170
EL PREDICTOR DE SMITH 1.5
1
0.5
0 0
50
100
150
200
250
300
350
400
t
Figura 10.12: Respuesta del sistema en bucle cerrado con el predictor de smith (trazo solido) comparada con la del lazo simple (trazo discontinuo).
La figura 10.12 muestra la evoluci´ on de la salida cuando se usa la estructura anterior comparada con la que se da cuando se usa el Predictor de Smith. Puede verse que en ambos casos la salida comienza a cambiar tras el tiempo muerto, es decir, como ya se ha mencionado ninguna estrategia es capaz de eliminar el retraso. Sin embargo, como se muestra en la figura, la respuesta tras el tiempo muerto si se puede mejorar. El uso de Predictor de Smith permite alcanzar los objetivos de control y obtener una respuesta mucho mejor que en el caso del control realimentado simple.
10.2.1.
Efecto de los errores de modelado en el Predictor de Smith
Como se ha comentado numerosas veces, los modelos matem´ aticos siempre presentan diferencias con la din´ amica real del proceso. Esas diferencias son imputables a la propia simplificaci´ on t´ıpica de los modelos, o tambi´ en por errores en la identificaci´ on de los par´ a metros o bien por que la din´amica del proceso ha cambiado desde que se obtuvo el modelo. En esta secci´ on analizaremos brevemente la influencia de los errores de modelado sobre la funci´ on de bucle cerrado cuando se usa el Predictor de Smith. Para ello se emplea el modelo de planta es decir Gm (s)etm s en comparaci´ o n con la
CAP ´ITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS
171
din´amica real de la planta que es G(s)e−tm s 4 . La diferencia ser´ a:
∆G(s) = G(s)e−tm s − Gm (s)e−tm s La funci´ on de transferencia de bucle cerrado del sistema ser´ a: GBC (s) =
1+
C (s) 1+C (s)Gm (s) G(s)e−tm s C (s) ∆G(s) 1+C (s)Gm (s)
(10.4)
En caso de no existir errores de modelado, es decir ∆G(s) = 0 la funci´on de transferencia de bucle cerrado coincide con la del proceso controlado sin retraso seguido del retraso. Reordenando la expresi´ on (10.4) se tiene: GBC (s) =
C (s)G(s) e−tm s 1 + C (s)Gm (s) + C (s)∆G(s)
(10.5)
La diferencia entre esta funci´ on de transferencia y la correspondiente al sistema sin errores de modelado est´ a en el t´ermino C (s)∆G(s). Este t´ermino modifica el polinomio caracter´ıstico y por tanto afecta a la estabilidad de bucle cerrado. Este sumando puede disminuir el margen de fase y como se ve depende no solo de los errores de modelado sino tambi´en del controlador dise˜ nado. Claramente cuando el t´ermino ∆G(s) sea grande, el controlador C (s) deber´ a ser peque˜ no (es decir poca ganancia) para que el t´ermino C (s)∆G(s) afecte poco. En general los errores de modelado limitan la ganancia del controlador, ya que los efectos del t´ermino C (s)∆G(s) en el polinomio caracter´ıstico son iguales al producto de los errores de modelado por la ganancia del controlador.
A fin de ilustrar los efectos de los errores de modelado, consid´erese la figura 10.13. En ella se muestra la salida del sistema del ejemplo 10.2 cuando se cometen diversos errores de estimaci´on en el retardo del sistema. Como se ve, los errores de modelado separan a la respuesta del sistema de la respuesta ideal, provocando la aparici´ o n de oscilaciones y un mayor tiempo de amortiguamiento.
10.2.2.
El Predictor PI
El Predictor PI es una simplificaci´ on del Predictor de Smith que se suele usar en aquellos procesos cuya din´ amica viene dominada fundamentalmente por el retraso. Son procesos en los que la constante de tiempo es sustancialmente m´ as peque˜ na que el retraso. En estos casos lo que se hace es despreciar la din´ amica del sistema y considerar que se comporta como puna ganancia m´ as un retraso, es decir el modelo de planta
4
Evidentemente aqu´ı se est´a suponiendo que existe un modelo lineal con retraso que describe perfectamente al proceso.
172
EL PREDICTOR DE SMITH
−20%
1.2
−10%
1 +10%
0.8 +20%
0.6
0.4
0.2
0 0
20
40
60
80
100
120
140
160
180
200
Figura 10.13: Respuestas del sistema en bucle cerrado con el predictor de smith cuando se tienen diversos errores en la estimaci´on del retardo.
Figura 10.14: Estructura del Predictor PI.
que se utiliza ser´a K p e−tm s . Dicho de otra manera, el modelo r´ apido ser´a Gm (s) = K p . El resto de la estructura es igual a la del Predictor de Smith. Dicha estructura se ilustra en la figura 10.14.
10.2.3.
El Predictor de Smith para sistemas en tiempo discreto
El Predictor de Smith es directamente aplicable al caso discreto. Como se ha comentado, el retardo puro se expresa como z −d , donde d es el n´ umero de periodos de muestreo que comprende el retardo. Por lo dem´ a s la estructura es la misma, con el l´ogico cambio de funciones de transferencia en tiempo continuo por sus equivalentes en tiempo discreto.
CAP ´ITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS
173
En tiempo discreto el Predictor de Smith se programar´ a en un computador digital. En la figura 10.15 se indica de manera esquem´ atica el algoritmo del Predictor de Smith.
Hacer esperar(Tiempo_de_Muestreo); k=k+1; ymr(k+d) = salida_modelo_rapido(k+d); ymp(k) = salida_modelo_planta(k); y(k) = leer(sensor); realim(k) = y(k) - ymp(k) + ymr(k+d); e(k) = ref(k) - realim(k); u(k) = calcula_control_C(e); aplica(u(k)); Hasta STOP
Figura 10.15: Algoritmo del Predictor de Smith.
10.3.
Control de sistemas con respuesta inversa
Como probablemente es conocido para el lector, los sistemas de fase no m´ınima, es decir, aquellos que tienen ceros inestables, presentan respuesta inversa. Esta respuesta inversa consiste en que la respuesta del sistema evoluciona en sentido inverso al de la se˜ nal de control durante un cierto tiempo, pasado el cual, la respuesta recupera su sentido habitual. Es decir, si la se˜ nal de control se incrementa en un escal´ on, durante un cierto tiempo la respuesta ser´ a de manera que la variable de salida se decrementar´ a. Pasado ese tiempo, la salida comienza a incrementarse. La raz´ on f´ısica tras este comportamiento es que el cambio en la variable manipulada pone en marcha dos fen´ omenos f´ısicos de consecuencias opuestas sobre la variable controlada, uno r´ apido pero poco intenso, y otro lento pero m´as intenso, que es el que finalmente predomina. Podemos considerar que la funci´ on de transferencia se puede expresar como la suma de otras dos que representan ambos fen´ omenos opuestos: G(s) = G 1 (s) + G2 (s)
174
CONTROL DE SISTEMAS CON RESPUESTA INVERSA
Supondremos que ambas funciones se corresponden con sistemas de primer orden: G1(s) =
K 1 1 + τ 1 s
G2(s) =
−K 2 1 + τ 2 s
Obs´ervese que el car´acter opuesto de ambos fen´ omenos se manifiesta en las ganancias de signo opuesto. La funci´ on de transferencia completa es: G(s) =
K 1 K 2 − 1 + τ 1 s 1 + τ 2 s
que se puede escribir como: G(s) =
(K 1 τ 2 − K 2 τ 1)s + (K 1 − K 2 ) (1 + τ 1 s)(1 + τ 2 s)
En G(S ) encontramos los polos correspondientes a ambos fen´ omenos y adem´ as un cero cuyo valor es: K 1 − K 2 c = − K 1 τ 2 − K 2 τ 1 Para que el proceso sea de fase no m´ınima, el cero debe ser inestable, es decir positivo, lo cual suceder´ a cuando K 1 > K 2 y τ 1 τ 2 o tambi´en cuando K 2 > K 1 y τ 2 τ 1 . F´ısicamente, la respuesta inversa se producir´ a cuando el efecto m´ as intenso sea a la vez el m´as lento. El control de sistemas con respuesta inversa presenta ciertas dificultades, tales como por ejemplo que se deben limitar la amplitud de los componentes de alta frecuencia. Por tanto esto sugerir´ıa limitar la acci´ on derivativa en los PID. Sin embargo el efecto derivativo es tambi´ en beneficioso, pues la primera parte de la respuesta inversa se puede asimilar a un retardo y es sabido que para sistemas con retraso la acci´ on derivativa es positiva (s´olo cuando el retardo es peque˜ no). Considerando la analog´ıa con los sistemas con retraso se puede pensar que una estrategia basada en un predictor como el del Predictor de Smith puede ser apropiada para controlar este tipo de sistemas. Una estructura propuesta para este tipo de sistemas se muestra en la figura 10.16. Obs´ervese que en esta estructura, de manera an´ aloga al Predictor de Smith, lo que se realimenta es la diferencia entre la salida del proceso y la salida de un predictor que modela la respuesta inversa. Es decir, lo que se busca es cancelar la realimentaci´ on de la respuesta inversa. Para ello, el predictor toma la forma: G(s) = k
1 1 − 1 + τ 1 s 1 + τ 2 s
(10.6)
CAP ´ITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS
175
K1 1 + sτ 1
-K2 1+ sτ 2
k
1 1 + sτ 1
1 −
1 + sτ 2
Figura 10.16: Estructura de control para procesos con respuesta inversa.
El resultado de esta estrategia en comparaci´ on con un control realimentado simple se ilustra en la figura 10.17. En esta figura el controlador es el mismo en ambos casos, concretamente un PI. Puede observarse como la estructura propuesta mitiga en gran parte el efecto de la respuesta inversa, mientras que mejora en general el transitorio. Finalmente, si en lugar del predictor propuesto en (10.6) se utiliza un modelo del proceso se obtiene una estructura de control avanzada que se conoce como Internal Model Control (IMC).
176
CONTROL DE SISTEMAS CON RESPUESTA INVERSA
2
1.5
1
0.5
0
−0.5
0
10
20
30
40
50
60
70
80
t
Figura 10.17: Ejemplo de control de un sistema de fase no m´ınima con un PI usando un lazo simple de realimentaci´on (trazo discontinuo) y la estructura de control para procesos con respuesta inversa propuesta en la figura 10.16.
Cap´ıtulo 11 Control de procesos con perturbaciones medibles 11.1.
Introducci´ on
En este cap´ıtulo y el siguiente se expondr´ an t´ecnicas o estructuras de control avanzadas que son bastante u´tiles en control de procesos. Ambos cap´ıtulos tienen en com´ un que las t´ecnicas que se exponen utilizan variables adicionales a la entrada y salida del proceso que es lo que hasta ahora se ha usado u´nicamente. La primera de las t´ecnicas que se expondr´ an en este cap´ıtulo es el control en cascada . Esta t´ecnica utiliza la medida de variables internas para detectar r´ apidamente el efecto de perturbaciones a la entrada del sistema y poder as´ı iniciar antes la acci´ on correctora. F´ısicamente esta estrategia conlleva el uso de varios lazos de realimentaci´ on anidados, de ah´ı el nombre. Adem´as del control en cascada en este cap´ıtulo se estudia el control anticipativo o control en adelanto. Este tipo de control usa como variables adicionales perturbaciones medibles que incidan sobre la salida del proceso. Se usa por tanto para cancelar lo m´ as r´apidamente posible el efecto de perturbaciones a la salida del proceso. 177
178
CONTROL EN CASCADA
Figura 11.1: Ejemplo de sistema con perturbaci´on a la entrada.
11.2.
Control en cascada
En muchos procesos es posible medir variables internas que permiten detectar perturbaciones antes de que tengan efectos apreciables sobre la salida o variable controlada del proceso. La idea es usar estas variables internas para evitar que se acumule el efecto de la perturbaci´on o error sobre la salida. Uno de los casos m´ as frecuentes es el de las perturbaciones a la entrada que inciden sobre los actuadores. El efecto de una perturbaci´ on sobre los actuadores es el de variar la magnitud de la acci´ on esperada por el controlador para un determinado nivel de la se˜nal de entrada. De este modo, la acci´ on de control efectiva que realmente se aplica puede no ser la adecuada para controlar el sistema. Por ejemplo, en un proceso donde se controle un determinado nivel con una v´ alvula, una perturbaci´ on sobre la din´ amica o caracter´ıstica de la v´ alvula har´ıa que para un mismo porcentaje de apertura, el flujo o caudal variase desvi´andose del esperado. En este razonamiento se est´ a haciendo menci´on expl´ıcita al hecho de que los actuadores tienen su propia din´ amica, y por tanto se pueden representar por su propia funci´ on de transferencia. La din´ amica del actuador ser´a por lo general m´a s r´apida que la del proceso, y en algunos casos la diferencia ser´a tal que se pueda ignorar su efecto o considerarlo subsumido en la din´ amica de la planta. Cuando el actuador est´ a sometido a perturbaciones es conveniente considerarlo como un elemento aut´ onomo como se ilustra en la figura 11.1. En ella puede observarse la din´amica del actuador V (s), interpuesta entre las del controlador C (s) y la planta propiamente dicha, G(s). Puede observarse adem´ as una perturbaci´ on que incide sobre el actuador, de manera que la actuaci´ on que realmente recibe la planta estar´ a perturbada por P . ¿Como se comporta la estructura de control de la figura 11.1 ante el efecto de la perturbaci´on P ? Es evidente que P afecta a la se˜ nal de control, y que esa desviaci´ on se manifestar´ a en una desviaci´on en la salida al cabo de un cierto tiempo. Una vez se
CAP ´ITULO 11. CONTROL DE PROCESOS CON PERTURBACIONES MEDIBLES
179
Figura 11.2: Ejemplo de sistema con perturbaci´on a la entrada.
detecte esta variaci´ on, el controlador actuar´ a sobre el proceso para corregir la desviaci´ on de la salida. El problema es el tiempo que pasa entre que se produce la perturbaci´on sobre el actuador hasta que esta se manifiesta en todo su efecto sobre la salida del proceso. Durante todo ese tiempo, la perturbaci´ on ha estado acumulando un exceso o defecto de energ´ıa o masa aportada al sistema. Esta acumulaci´ on ser´ a corregida por el controlador, pero demasiado tarde, cuando ya sea inevitable un notable efecto pernicioso en la salida. El control en cascada trata de hacer frente a este problema actuado sobre el proceso sin tener que esperar a que la perturbaci´ on a la entrada se manifieste a la salida. Esto se consigue midiendo una variable interna que se vea afectada mucho antes que la salida. Esta variable suele ser el valor de la actuaci´ on que realmente se aplica.
11.2.1.
Estructura de un sistema de control en cascada
Como se ha comentado, el control en cascada se basa en las medidas obtenidas de una variable interna que permitan detectar el efecto de perturbaciones en la entrada mucho antes de que estas se manifiesten en la salida. Lo m´ as habitual es medir directamente la actuaci´ on que realmente se aplica o al menos estimarla de manera indirecta. La estructura de control en cascada se implementa mediante un lazo de realimentaci´ o n interno en el que la posici´on del actuador es la variable manipulada y la actuaci´on efectiva medida es la variable controlada. La referencia de dicho lazo interno es la salida del controlador del lazo externo. Esta estructura se ilustra en la figura 11.2. El lazo m´as interno se llama lazo secundario o esclavo (slave) mientras que el externo recibe el nombre de lazo primario o maestro (master). Esta t´ecnica tambi´en se llama control maestro-esclavo (master-slave). El nombre de control en cascada es evidente si observamos que la salida del primario se convierte en la entrada o referencia del secundario. El modo en que funciona esta estrategia es f´ acil de entender. El control secundario
180
CONTROL EN CASCADA
se encarga de corregir el efecto de las perturbaciones sobre la din´ amica del actuador, de manera que la actuaci´ on que realmente recibe la planta es en la medida de lo posible la que espera el controlador primario. De esta manera se evita que la perturbaci´ on en la entrada provoque un error que al acumularse en el tiempo se manifieste con una gran desviaci´on de la salida antes de que el controlador primario pueda corregirla. Esta estructura es tan frecuente en la industria, que los controladores industriales (generalmente del tipo PID) incorporan una opci´ on de configuraci´ on que les permite tomar el punto de consigna, bien del panel de control o bien de una entrada que en su caso se puede conectar a la salida de otro controlador para configurar un control en cascada. Para que un sistema de control en cascada sea eficaz es necesario que el lazo interno sea m´as r´apido (o a lo m´ as igual) que el lazo externo. Esto es debido a que s´o lo si el lazo interno es m´ a s r´apido que el externo se podr´a actuar con la suficiente celeridad para evitar que se acumule el efecto de la perturbaci´ on en la entrada. El beneficio obtenido con el uso de esta estrategia no se advierte mucho en el seguimiento de consigna. Tampoco en los sistemas con perturbaciones a la salida. La mejora es evidente cuando se dan las condiciones para las que ha sido ideado, es decir, para casos en los que hay perturbaciones a la entrada. En general, la frecuencia de corte del conjunto es algo mayor que la del proceso sin lazo secundario, por lo que se puede usar una ganancia en el primario algo mayor.
11.2.2.
Sintonizaci´ on de controladores en cascada
El procedimiento a seguir para la sintonizaci´ on de este tipo de controladores pasa por advertir, que, en primer lugar se ha de sintonizar el lazo secundario y despu´ es sintonizar el primario con el secundario en autom´ atico. Los pasos ser´ıan los siguientes: 1. Obtener un modelo de la parte del proceso a controlar por el lazo secundario (v´eanse los cap´ıtulos 7 a 9). 2. Sintonizar el controlador esclavo por cualquiera de los m´etodos aplicables y pasarlo a autom´atico. Es usual emplear un PI en este caso a fin de obtener una respuesta r´apida. 3. Obtener un modelo de la variable controlada (es decir la salida) frente a cambios en la consigna del controlador esclavo que deber´ a estar en autom´ atico.
CAP ´ITULO 11. CONTROL DE PROCESOS CON PERTURBACIONES MEDIBLES
181
4. Sintonizar el controlador maestro por cualquier m´etodo aplicable a partir del modelo anterior. Esto implica que el proceso a controlar desde el punto de vista del controlador primario engloba a la planta y al lazo secundario.
11.3.
Control anticipativo
Una de las misiones encomendadas a los sistemas de control realimentado, es la de compensar el efecto que tienen sobre la salida perturbaciones externas. Una vez que se detecta la desviaci´ on con respecto al punto de consigna el sistema de control act´ ua sobre el proceso para corregirla. Es importante hacer notar que ese esfuerzo corrector se realiza despu´es de haber sido detectado el efecto de la perturbaci´ on sobre la salida. Esta forma de actuaci´ on implica, por tanto, un cierto retraso en la acci´ on correctiva y puede hacer pensar que el control no ser´ıa todo lo eficiente que se desea. La idea b´ asica del control anticipativo (tambi´en llamado control en adelanto o control por prealimentaci´ on ( feedforward )) es la de medir las perturbaciones que inciden sobre la salida y actuar sobre el proceso inmediatamente, sin esperar a que dichas perturbaciones afecten a la salida (variable controlada). Para ello se utiliza un modelo del efecto de la perturbaci´ on sobre la salida para poder compensarlo. Usando un modelo de la planta y un modelo de las perturbaciones que afectan a la salida, se tendr´ıa la tentaci´ on de pensar que ser´ıa posible un control perfecto sin necesidad de realimentar la variable controlada. Esto ser´ıa as´ı por que el control anticipativo no tendr´ıa que esperar a que hubiese error para empezar a corregirlo. En la pr´actica esto no funciona por las siguientes razones: No es posible medir todas las perturbaciones que afectan a la salida. Siempre existir´ a un error en la medida de las perturbaciones. El modelo del proceso y el de las perturbaciones siempre tendr´ a errores de modelado. A veces el controlador anticipativo resultante no es realizable. Esto sucede cuando el retraso entre la perturbaci´ on y la salida es inferior al que hay entre la salida y la entrada (este caso se comentar´ a m´as adelante). Debido a estas razones, el control anticipativo siempre se integra en sistemas de control realimentado. En este caso el control anticipativo se usa sobre las perturbaciones m´ as
182
CONTROL ANTICIPATIVO
Figura 11.3: Ejemplo de sistema con perturbaci´on a la salida.
Figura 11.4: Sistema con perturbaci´ on a la salida controlado con un lazo simple de realimentaci´on.
importantes y mejor modeladas, dej´ andose al control realimentado la tarea de cancelar las dem´as. El control resultante no ser´ a perfecto, pero ser´ a mejor que usando un lazo de realimentaci´ on simple. Como ya se ha dicho este tipo de estrategia de control se emplea cuando hay perturbaciones que afectan a la salida que pueden ser medidas. Esta situaci´ on se describe en la figura 11.3. De acuerdo a ese diagrama de bloques, la funci´ on de la salida se puede escribir como: Y (s) = G p (s)U (s) + Gd (s)D(s) El esquema cl´ a sico de control es el que se muestra en la figura 11.4. Es decir, en esta configuraci´ on no se hace nada de manera espec´ıfica para combatir el efecto de la perturbaci´on sobre la salida. El u´nico efecto corrector es el que proporciona de manera intr´ınseca la realimentaci´on. El control anticipativo utiliza la medida de los valores de la perturbaci´ on para actuar sobre la variable manipulada tal y como se indica en la figura 11.5. La actuaci´ on
CAP ´ITULO 11. CONTROL DE PROCESOS CON PERTURBACIONES MEDIBLES
183
Figura 11.5: Sistema con perturbaci´on a la salida controlado con un control anticipativo.
sobre el proceso viene determinada por la funci´ on de transferencia GF F (s) y el propio valor medido de la perturbaci´ on. Evidentemente GF F (s) es dise˜ nada de manera que compense el efecto que sobre la salida tiene la perturbaci´ on, es decir que compense el efecto introducido por GD (s). Cuando se usa el control anticipativo, la relaci´ on entre la salida y la perturbaci´on se puede expresar como: Y (s) = (GD (s) + GP (s)GF F (s)) F (s) N´otese que para que G F F (s) anule completamente el efecto de la perturbaci´ on se debe verificar que: GD (s) + GP (s)GF F (s) = 0 De manera que el valor apropiado de GF F (s) resulta ser: GF F (s) = −
GD (s) GP (s)
(11.1)
Finalmente, la estructura de control propuesta para el control anticipativo es claramente una estructura de control en bucle abierto, por lo que cualquier discrepancia entre el modelo del efecto de la perturbaci´ on y dicho efecto evitar´ıa la cancelaci´ on perfecta de la perturbaci´ on. La soluci´ on es bien sencilla: utilizar el control anticipativo o feed-forward en una estructura de control realimentado que cancele esas diferencias. Esta estructura es la que se muestra en la figura 11.6.
11.3.1.
Consideraciones pr´ acticas sobre los controladores anticipativos
Como se ha comentado antes, el control anticipativo para un determinado sistema obtenido mediante la expresi´ on (11.1) puede resultar no realizable f´ısicamente. A con-
184
CONTROL ANTICIPATIVO
Figura 11.6: Sistema con perturbaci´on a la salida controlado con un control anticipativo con control realimentado.
tinuaci´ on se mostrar´ a un caso en el que esto ocurre. Consid´erense los siguientes valores para GD (s) y GP (s): K D −tmD s e 1 + τ D s K P −tmP s GP (s) = e 1 + τ P s
GD (s) =
El controlador anticipativo resultante es: GF F (s) = −
K D 1 + τ P s −(tmD −tmP )s e K P 1 + τ D s
Esta expresi´ on s´olo ser´ a realizable si el retraso puro que aparece es positivo, es decir si (tmD − tmP ) ≥ 0. En el caso de que tmD < tmP esta funci´on de transferencia incorporar´ıa un adelanto en lugar de un retraso que es f´ısicamente imposible de realizar. Esto corresponder´ıa a una situaci´on en la que el efecto de la perturbaci´ on se transmite m´as r´apidamente que el efecto de la variable manipulada lo que evidentemente impide que se pueda actuar sobre la perturbaci´on con suficiente tiempo. Por otra parte la condici´ on de anular completamente el efecto de la perturbaci´ on puede ser demasiado estricta, por lo que en la pr´ actica se pretende reducir el efecto de la perturbaci´on m´ as que cancerlarla completamente. Una forma de lograr esto es la de emplear un control anticipativo est´ atico, que consiste en una simple ganancia calculada para corregir el efecto de la perturbaci´ on en r´egimen permanente. Esta ganancia coincide con la ganancia est´ atica del control anticipativo calculado con la expresi´ on (11.1), es decir: GD (s) K D l´ım GF F (s) = − l´ım =− s→0 s→0 GP (s) K P Evidentemente este tipo de control s´ olo cancela el efecto del regimen permanente de las perturbaciones pero adem´ as reduce el transitorio de las mismas.
Cap´ıtulo 12 Control de procesos multivariables 12.1.
Introducci´ on
Hasta ahora se ha supuesto de manera impl´ıcita que los sistemas a controlar cuentan tan s´ olo con una entrada y una salida. Las t´ ecnicas de control vistas son por tanto t´ecnicas de control SISO (Single Input Single Output ). En la pr´actica los sistemas o plantas a controlar son suficientemente complejos y tienen siempre m´ as de una variable controlada (salida) y m´ as de una variable manipulada (entrada). El uso de controladores dise˜ nados con t´ecnicas SISO en estos sistemas puede llevar a rendimientos muy pobres fundamentalmente por las interacciones existentes entre las diversas entradas y salidas. Esto es as´ı porque una entrada puede afectar a m´ as de una salida y por que una salida puede depender de m´ as de una entrada. La figura 12.1 ilustra este hecho. Los problemas causados por las interacciones son m´ as evidentes cuando los lazos de control est´an en autom´ atico, y usualmente se desintonizan los controladores, perdiendo rapidez y rendimiento en el control a fin de minimizar los efectos de las interacciones. El mejor m´etodo para abordar los problemas de control en sistemas multivariables comienza por evaluar las interacciones entre entradas y salidas a fin de poder establecer los mejores emparejamientos posibles entre entradas y salidas. Como se ver´ a, al usar controladores SISO en sistemas multivariables, se obtienen mejores rendimientos si las entradas se emparejan con las salidas correctas. Otro aspecto que se estudiar´ a en este cap´ıtulo es el uso de desacopladores, que buscar´ an eliminar o al menos reducir las interacciones. La idea tras ´este m´etodo es que un sistema multivariable desacoplado puede ser controlado por controladores SISO en la misma manera que un conjunto de 185
186
SISTEMAS MULTIVARIABLES 1
1.6
0.9
1.4
0.8 1.2 0.7 1 0.6 1
2
y
− 1
y
0.8
−
0.5
2
u
u
0.6
0.4 0.4 0.3 0.2
0.2
0
0.1
0 0
20
40
60
80
100
120
140
160
−0.2 0
20
40
60
80
100
120
140
160
Figura 12.1: Respuesta de un sistema multivariable de dos entradas y dos salidas cuando se aplican escalones en sus entradas. Pueden observarse las interacciones en el hecho de que las salidas var´ıan cuando las entradas respectivas est´an en reposo.
Figura 12.2: Representaci´on de un sistema multivariable de orden 2.
sistemas SISO independientes.
12.2.
Sistemas multivariables
Consid´erese un sistema din´ amico con dos entradas u1 (s),u2 (s) y dos salidas y1 (s),y( 2). Cada una de las salidas depende de las dos entradas, de manera que se puede considerar un modelo lineal como el que sigue: y1 (s) = G11 (s)u1 (s) + G12 (s)u2 (s) y2 (s) = G21 (s)u1 (s) + G22 (s)u2 (s)
(12.1)
Este modelo lineal se representa con el diagrama de bloques que aparece en la figura 12.2. Estas expresiones se pueden reescribir en forma vectorial-matricial como:
Y (s) = G (s)U(s)
(12.2)
CAP ´ITULO 12. CONTROL DE PROCESOS PROCESOS MULTIV MULTIVARIABLES ARIABLES
187
Figura 12.3: Representaci´on on de un sistema multivariable de orden 2 en bucle cerrado con dos controladores multivariables. multivariables.
donde
Y (s) = y
y1 (s) y2 (s)
M(s) =
U(s) =
u1 (s) u2 (s)
G11 (s) G12 (s) G21 (s) G22 (s)
es la matriz la matriz de transferencia o o tambi´ tamb i´en en llamada llam ada matriz matriz de din´ amicas . Sup´ongas o ngasee que se opta opta por contro controla larr este este sist sistema ema con dos contro controla lador dores es SISO SISO GC 1 (s), GC 2 (s) (v´ ease ease la figura 12.3) de manera que se empareja y1 con u1 e y2 con u2 . Tomando como referencias a r1(s) y r2 (s), las se˜ nales nales de entrada tomar´ tomar´ıan como valores: u1 (s) = GC 1 (s) (r1 (s) − y1 (s)) (12.3) u2 (s) = GC 2 (s) (r2 (s) − y2 (s)) El efecto cualitativo de las interacciones se puede analizar si suponemos que se inyecta una perturbaci´ o n en el lazo 1. En este caso el error que introduce la perturbaci´ on on on tratar´ a de ser corregido por el controlador GC 1 actuando sobre u1 . Los cambios en u1 tambi´ tamb i´en en afecta afe ctar´ r´ an an a y2 a trav´es es de la funci´on on de transfere tran sferencia ncia G21, provocando una desviaci´on on e2 . El controlador GC 2 tratar´ a de contrarrestar este error e2 modificando el valor de u2 . El cambio de u2 afecta afe cta tambi´ tamb i´en en a y1 a trav´ tr av´es es de G12 , por lo que la perturbaci´ on o n en el lazo 1 no s´olo o lo afecta al lazo 2, sino que adem´ as as rebota de nuevo afectando al lazo 1, a trav´es es de la perturbaci´ p erturbaci´ on on inducida en el lazo 2. Visto el an´alisis alisis anterior, es evidente que la interacci´ on anteriormente descrita se on da siempre que no se cumpla alguna de las condiciones siguientes:
1. G21 (s) = 0, es decir u1 no afecta a y2 .
188
´ MEDIDA DE LAS INTERACCIONES. INTERACCIONES. M ETODO DE BRISTOL
2. G12 (s) = 0, u 0, u 2 no afecta a y1. 3. GC 2 (s) = 0, es decir, el lazo 2 est´a en manual. N´otese o tese que que en los los casos casos 2 y 3, la pertur perturba baci ci´´on o n del lazo 1 afecta afecta al 2, pero no hay hay rebote de nuevo al lazo 1, por lo que se considera que no hay interacci´ on on en estos dos casos. Cuando no hay interacci´ on en un sistema multivariable se pueden dise˜ on nar nar los controladores de manera independiente como si se tratase de sistemas monovariables. El efecto de una perturbaci´ on en un lazo sobre el otro cuando los controladores on est´an an en autom´ atico es bastante complejo, aunque se puede cuantificar estudiando la atico funci´on on de transferencia por ejemplo entre u1 e y1 cuando: y1 (s) G12 (s)G21 (s)GC 2(s) = G 11 (s) − u1 (s) 1 + G + GC 2 (s)G22 (s)
(12.4)
N´ otese otese que para dise˜ nar nar GC 1 habr´a que tenerse en cuenta el dise˜ no n o de GC 2 (y viceversa). De hecho, si el controlador GC 1 se dise˜ na de manera independiente del GC 2 (la na forma de conseguir conseguir esto ser´ ser´ıa sintonizar con el lazo 2 abierto), al p onerse el lazo 2 en autom´atico atico el comportamiento obtenido en el lazo 1 puede ser muy deficiente e incluso aparecer inestabilidad inestabilidad.. Obs´ ervese ervese de hecho, que el efecto din´ amico de la interacci´ on on puede reducirse reducirse desintonizand desintonizandoo GC 2 es decir reduciendo mucho la ganancia de GC 2 de manera que G que G C 2 (s) ≈ 0. Por supuesto esto reducir´ a la capacidad de G de G C 2 para mantener a y2 en el punto de consigna, consigna, por lo que esta soluci´on on s´ olo es v´alida alida si el control de la variable y2 fuese mucho menos prioritario o importante que el de la variable y variable y 1 . A modo de conclusi´ conclusi´ on se puede decir que el controlador del lazo 1 debe dise˜ on narse con el lazo 2 en autom´ atico atico controlado controlado por p or un controlador controlador G GC 2 previamente dise˜ nado. nado. Dado que esta discusi´on on es igualmente igualmente aplicable a la sinton sinton´´ıa del lazo 2 con respecto al lazo 1, se concluye que s´ olo sintonizando simult´ olo aneamente los dos controladores se puede aneamente garantizar un comportamiento aceptable en bucle cerrado. Es evidente que esta tarea se antoja compleja, especialmente si consideramos sistemas con m´ as as de dos entradas y salidas.
12.3. 12.3.
Medida Medida de las interaccio interacciones. nes. M´ M´ etodo etodo de Bristol
El m´etodo eto do de Bristol Brist ol de d e las l as ganancias ganancias relativas es e s una t´ecnica ecnica que permite evaluar con facilidad las interacciones en r´egimen egimen permanente p ermanente y que, en consecuencia, se utiliza
CAP ´ITULO 12. CONTROL DE PROCESOS PROCESOS MULTIV MULTIVARIABLES ARIABLES
189
para afrontar el problema del emparejamiento entre entradas y salidas en un sistema multiv multivariable ariable.. La idea es que este m´etodo etodo nos va a dar una medida del grado en que cada una de las entradas influye sobre cada una de las salidas. Es evidente que para control controlar ar una salida salida se deber´ deber´a escoger escoger como entrad entradaa aquella aquella que tenga tenga una mayo mayorr influencia en su comportamiento. Sup´ongase ongase un sistema multivariable con dos entradas y dos salidas, el cual se estabiliza en torno a un punto de equilibrio. Si se introducen cambios en las entradas (∆u (∆u1 , ∆u2 ), estos se manifestaran en las salidas en forma de variaciones (∆y (∆y1 , ∆y2), cuyo valor en r´egimen egimen permanente se pueden calcular como: ∆y 1 = ∆y 2 =
∆y1 ∆u1 + ∆u1 u 2 cte ∆y2 ∆u1 + ∆u1 u 2 cte
∆y1 ∆u2 ∆u2 u 1 cte ∆y2 ∆u2 ∆u2 u 1 cte
(12.5)
Los cocientes incrementales que aparecen en las expresiones anteriores corresponden a las ganancias est´ aticas de cada uno de los bloques Gij de la matriz de transferencia aticas an a n por K ij M ( M (s), que se denotar´ ij de manera que: K 11 11 =
∆y1 ∆u1 u 2 cte
K 12 12 =
∆y1 ∆u2 u 1 cte
K 21 21 =
∆y2 ∆u1 u 2 cte
K 22 22 =
∆y2 ∆u2 u 1 cte
(12.6)
Las ganancias est´ aticas de bucle abierto pueden determinarse f´ aticas acilmente acilmente mediante los modelos del proceso pro ceso o experimentalmente mediante ensayos en escal´ esca l´on on en cada una un a de las entradas mientras las restantes se mantienen constantes. Las ganancias est´ aticas de bucle abierto definen la influencia de las entradas del sistema sobre sus salidas cuando ´este es te est´ es t´a en bucle abierto. Las ganancias de bucle abierto no son una buena elecci´ on para la medida de las interacciones debido a que: Nos se pueden comparar entre si al tener distintas unidades. No consideran lo que ocurre al cerrar los dem´ as as lazos de control. Para analizar que ocurre con la ganancia del sistema cuando se cierran los dem´ as lazos de control deberemos analizar otras ganancias, definidas de la forma siguiente: K C C 11 11 =
∆y1 ∆u1
y2 cte
K C C 12 12 =
∆y1 ∆u2
y2 cte
K C C 21 21 =
∆y2 ∆u1
y1 cte
K C C 22 22 =
∆y2 ∆u2
y1 cte
Las ganancias K Cij influencia en r´egimen egimen permanen p ermanente te de la entrada entrada j sobre Cij miden la influencia la salida i cuando el resto de las variables de salida permanecen en su valor deseado y constantes. constantes. N´ otese otese que aqu´ aqu´ı las dem´as as salidas est´an an controladas. controladas.
´ MEDIDA DE LAS INTERACCIONES. INTERACCIONES. M ETODO DE BRISTOL
190
Le m´etodo etodo de Bristol utiliza las ganancias las ganancias relativas definidas relativas definidas como: λij =
K ij ij K Cij Cij
donde λ donde λ ij es la ganancia relativa entre la salida i salida i y y la entrada j entrada j.. Queda por solventar el ´ modo de c´ alculo alculo de las ganancias K ganancias K Cij Cij . Estas pueden calcularse a partir de las ganancias de bucle abierto K abierto K ij e llo consid´erese erese que las ecuaciones ecuac iones (12.5) se pueden puede n reescribir reescr ibir ij . Para ello mediante las definiciones (12.6): ∆y1 = K 11 11 ∆u1 + K 12 12 ∆u2 ∆y2 = K 21 21 ∆u1 + K 22 22 ∆u2
(12.7)
Por definici´ definicion o´n de K C C 11 11 se obtiene: ∆y2 = 0 = K 21 + K 22 21 ∆u1 + K 22 ∆u2 Que resuelta para ∆U ∆U 2 queda: ∆u 2 = −
K 21 21 ∆u1 K 22 22
que sustituido en (12.7) resulta en: ∆y1 = K 11 + K 12 11 ∆u1 + K 12
K 21 21 − ∆u1 = K 22 22
K 12 12 K 21 21 K 11 11 − K 22 22
∆u 1
Por tanto: K C C 11 11
∆y1 = ∆u 1
= K 11 11 −
y2 cte
K 12 K 11 12 K 21 21 11 K 22 22 − K 12 12 K 21 21 = K 22 K 22 22 22
Las otras ganancias se pueden calcular de la misma manera resultando: ∆y1 K C C 12 12 = ∆u2 K C C 21 21 = K C C 22 22 =
∆y2 ∆u1 ∆y2 ∆u2
=
K 12 12 K 21 21 − K 11 11 K 22 22 K 21 21
=
K 12 12 K 21 21 − K 11 11 K 22 22 K 12 12
=
K 11 11 K 22 22 − K 12 12 K 21 21 K 11 11
y2 cte
y1 cte
y1 cte
En general si definimos una matriz de ganancias en bucle abierto como K = [K ij ij ] y la matriz de ganancias en bucle cerrado como M = [mij ] = relaci´on: on: T M = K −1
1
K Cij Cij
se puede establecer la
CAP ´ITULO 12. CONTROL DE PROCESOS PROCESOS MULTIV MULTIVARIABLES ARIABLES
191
es decir en el caso de un sistema 2 × 2:
1
1
K C C 11 11
K C C 12 12
K C C 21 21
K C C 22 22
1
1
=
K 11 11 K 12 12 K 21 21 K 22 22
−1
T
Por tanto, una vez calculada M calculada M = [mij ] las ganancias relativas λ relativas λij se obtienen mediante: λij =
K ij ij = K ij ij mij K Cij Cij
La interpretaci´ on on del significado de las ganancias ganancias relativas relativas es la de que si la ganancia de un determinado lazo no se altera por la interacci´ on de los dem´ as as (es decir K ij ij = K Cij Cij ), entonces λij = 1. Por tanto aquellos pares en los que la ganancia relativa es lo m´as as cercana a 1 posible representan los mejores emparejamientos.
Propiedad 12.1 Dada la matriz Λ definida como: Λ = [λij ] se cumple que la suma de sus filas o columnas es igual a 1.
Ejemplo 12.1 Consid´erese erese a modo de ejemplo un sistema consistente en un tanque bien aislado donde se aportan un caudal Q1 de agua fria a temperatura T 1 y otro de agua caliente con caudal Q2 y temperatura T 2 . El tanque desagua y se pretende que lo haga con un caudal Q0 y temperatura T 0 . Las variables que se pueden manipular son los caudales (es decir U i = Qi , mientras que las variables a controlar son la temperatura y caudal de salida. Despreciando p´erdidas, erdidas, el permanente (que es lo que interesa en el m´etodo etodo de Bristol) Bristo l) vendr´ vendr´ıa dado d ado por: por : Y 1 = U 1 + U + U 2 Y 2 =
+ U 2 T 2 U 1 T 1 + U U 1 + U + U 2
Este modelo te´ orico nos permite calcular las ganancias de bucle abierto usando derivadas: orico K 11 11 = K 21 21 =
∂Y 1 ∂Y 1 = 1 K 12 = =1 ∂U 1 ∂U 2
∂Y 2 T 1 (U 1 + U + U 2 ) − (U 1 T 1 + U + U 2 T 2 ) U 2 (T 1 − T 2 ) = = ∂U 1 (U 1 + U + U 2 )2 (U 1 + U + U 2 )2
192
CONTROL DE PROCESOS MUL MULTIV TIVARIABLES ARIABLES MEDIANTE DESACOPLO
∂Y 2 T 2 (U 1 + U + U 2 ) − (U 1 T 1 + U 2 T 2 ) U 1 (T 2 − T 1 ) = = ∂U 2 (U 1 + U + U 2)2 (U 1 + U + U 2)2 Suponiendo un punto de funcionamiento con: U = 2 l/s U = 1 l/s T = 60 ◦ C T = 30 ◦ C K 22 22 =
1
2
1
2
se obtienen los siguientes valores: K = de ah´ı:ı:
K 11 11 K 12 12 K 21 21 K 22 22
Λ=
2 3 1 3
10 3
2 3 1 10
M = (K −1 )T = de donde se obtiene que:
1
=
1 −20 3
1 3 −1 10
1 3 2 3
Por lo tanto los emparejamientos m´ as as apropiados son Y 1 con U 1 y Y 2 con U 2 o lo que es lo mismo el caudal de agua de salida se controla con el caudal del agua caliente y la temperatura de salida se regula con el caudal de agua fria. N´otese otese que los emparejamien emparejamientos tos pueden ser dependientes dependientes del punto de operaci´on. on. Efectivamente, si consideramos que U 1 = 1 l/s se obtiene K = de donde se obtiene que:
U 2 = 2 l/s
K 11 11 K 12 12 K 21 21 K 22 22 Λ=
=
1 3 2 3
1 20 3
1 −10 3
2 3 1 3
lo que implica en este caso Y caso Y 1 emparejada con U con U 2 e Y 2 emparejada con U 1 . Es decir en este caso, al contrario del anterior, anterior, la temperatura se regular´ regular´ıa con el caudal de agua caliente y el caudal de salida con el caudal de agua fria.
12.4. 12.4.
Contro Controll de procesos procesos mult multiv ivari ariabl ables es median mediante te desacoplo
Ya se ha comentado anteriormente que en el caso de que la matriz de transferencia de un sistema multivariable sea diagonal, se puede controlar dicho sistema como si
CAP ´ITULO 12. CONTROL DE PROCESOS MULTIVARIABLES
193
fueran n sistemas monovariables independientes. Por otra parte se ha estudiado un procedimiento, el m´etodo de Bristol, para establecer los emparejamientos entradassalidas de manera que se minimice el efecto de las interacciones. Sucede, sin embargo, que a veces, las ganancias relativas obtenidas no est´an en ning´ un caso significativamente cerca de la unidad. Esto implica que no podremos seleccionar un emparejamiento que nos garantice que el nivel de interacci´ o n sea lo suficientemente bajo, por lo que el rendimiento esperado del sistema de control ser´ a pobre. En este caso la soluci´ on pasa por utilizar una t´ecnica de desacoplo que haga que la matriz de transferencia del sistema sea lo m´as diagonal posible. Consid´erese que la salida del sistema se puede calcular como:
Y(s) = G (s)U(s)
(12.8)
y que a su vez U(s) viene dada por:
U(s) = G c (s)E(s)
(12.9)
donde E(s) es el error que a su vez se calcula como:
E(s) = R (s) − H(s)Y(s)
(12.10)
Sustituyendo en la ecuaci´on (12.8):
Y (s) = G (s)Gc (s) (R(s) − H(s)Y (s))
(12.11)
(I + G(s)Gc (s)H(s)) Y (s) = G (s)Gc (s)R(s)
(12.12)
y de ah´ı: Podemos entonces definir la funci´ on de transferencia de bucle cerrado como:
Gbc (s) = (I + G(s)Gc (s)H(s))−1 G(s)Gc (s)
(12.13)
Para que el sistema en bucle cerrado sea estable, los polos de todos los elementos de la matriz Gbc (s) deben ser estables, es decir deben estar en el semiplano izquierdo en el caso de sistemas continuos o dentro del c´ırculo unidad en el caso de los sistemas discretos. Por otra parte, el sistema estar´ a desacoplado cuando la Gbc (s) sea diagonal. A continuaci´ on se estudiar´ an las condiciones en las que esto se verifica. Sup´ongase que H(s) = I , entonces:
Gbc (s) = (I + G(s)Gc (s))−1 G(s)Gc (s)
(12.14)
194
CONTROL DE PROCESOS MUL MULTIV TIVARIABLES ARIABLES MEDIANTE DESACOPLO
R(s)
E(s)
G
G
U(s)
G
Y(s)
Figura 12.4: Representaci´on on de un sistema multivariable controlado por desacoplo.
Claramente, G(s)Gc (s) es diagonal entonces Gbc (s) tambi´en en lo ser´a. a. Veamos que al contrario contra rio tambi´en en se verifica. verifica . Sup´ S up´ ongase ongase que G bc (s) es diagonal. De la expresi´ on on anterior se tiene que:
Gbc (s) (G(s)Gc (s))−1 = (I + G(s)Gc (s))−1
(12.15)
G(s)Gc (s)Gbc (s)−1 = I + G(s)Gc (s)
(12.16)
lo que implica que: post-multipli post-multiplicando cando por Gbc (s) se obtiene
G(s)Gc (s) = Gbc (s) + G(s)Gc (s)Gbc (s)
(12.17)
reordenando y despejando se obtiene:
G(s)Gc (s) = G bc (s) (I − Gbc (s))−1
(12.18)
En esta expresi´ expre si´on, on, Gbc (s) es diagonal y tambi´ tambi´en en lo es (I − Gbc (s))−1 por lo que se puede concluir que G(s)Gc (s) es tambi´en en diagonal. diago nal. Por tanto, la condici´ cond ici´on on necesaria nece saria y suficiente para que Gbc (s) sea diagonal es que G(s)Gc (s) lo sea. N´otese otese que esto u ultimo ´ ltimo implica que la cadena directa en bucle abierto debe ser diagonal. Si esto se verifica entonces el proceso de dise˜ no se reduce a sintonizar n sintonizar n lazos monovariables. En el proceso de dise˜ no por desacoplo se considera que no
Gc (s) = G d (s)Gcn (s)
(12.19)
donde Gd (s) es la matriz de desacoplo y Gcn (s) es una matriz diagonal que corresponde a los n reguladores. Es decir, el bucle cerrado desacoplado puede conseguirse calculando un bloque de desacoplo que diagonalice la matriz de transferencia del sistema y ajustando cada bucle como si fuera un sistema monovariable independiente. Esta estructura de control se muestra en la figura 12.4. En el c´alculo a lculo de las matrices de desacoplo puede llegarse a casos en los que las matrices matrices resultan resultantes tes sean sean muy muy complej complejas as o irreali irrealizabl zables es (puede (puede suceder suceder cuando cuando los retrasos son diferentes).
CAP ´ITULO 12. CONTROL DE PROCESOS PROCESOS MULTIV MULTIVARIABLES ARIABLES
195
4 1 2 0.8 0 1
U −
2
U −
0.6
2
1
−2
Y
Y
0.4
−4
0.2
0 0
−6
20
40
60
80
100
120
140
−8 0
160
20
40
60
tiempo
80
100
120
140
160
tiempo
Figura 12.5: Respuesta del sistema multivariable del ejemplo cuando se aplican escalones en sus entradas.
N´otese otese que Gc (s) se puede calcular directamente a partir de G(s) y Gbc (s) mediante la expresi´on: on: Gc (s) = G (s)−1 Gbc (s) (I − Gbc (s))−1 (12.20)
Ejemplo 12.2 Sea el siguiente siguiente sistema multivariable multivariable::
Y 1 (s) = Y 2 (s)
1 10 3
1+5s
1 20 3
−
1+5s
U 1 (s) U 2 (s)
(12.21)
La respuesta en bucle abierto de este sistema se muestra en la figura 12.5. Puede observarse el acoplamiento existente. A continuaci´on on se procede a encontrar la matriz de transformaci´ on on que nos sirve para diagonalizar la matriz de transferencia:
G = I
1 10 3
1 20 3
−
1+5s
1+5s
1 0
0 1
C 2 = C 2 − C 1
1 0 2 3 1 3
0 −10
1+5s
−1 1
1 10 3
0 30 3
−
1+5s
1+5s
1 0
−1 1
C 1 = C 1 +
C 2 3
196
CONTROL DE PROCESOS MUL MULTIV TIVARIABLES ARIABLES MEDIANTE DESACOPLO 2 1 0.9
0 0.8 0.7
1
U −
1
−2
0.6
2
U − −4
0.5
2
Y
Y
0.4
−6 0.3 0.2
−8
0.1 0 0
20
40
60
80
100
120
140
−10 0
160
20
40
60
80
100
120
140
160
tiempo
tiempo
Figura Figura 12.6: Respuesta Respuesta del sistema multiv multivariab ariable le desacoplado desacoplado cuando se aplican aplican escalones escalones en sus entradas.
Luego la matriz de desacoplo vale:
Gd (s) =
2 3 1 3
−1 1
y la matriz de transferencia equivalente al anteponer la Gd (s) ser´ se r´ıa: ıa :
G(s) =
1 0
0 −10
1+5s
En la figura 12.6 se muestra la respuesta del sistema con la matriz de desacoplo interpuesta. Puede comprobarse que las interacciones han desaparecido. El dise˜ no no de los controladores puede realizarse mediante cualquier m´etodo etodo conocido para controladores monovariables. Por ejemplo, si se quiere que el error en regimen permanente ante escal´ on sea cero y que la constante de tiempo de bucle cerrado sea on 1 segundo para ambos bucles, el dise˜ no no ser´ ser´ıa como sigue. En primer lugar, Gbc (s) es igual a: 1 0 s 1+ Gbc (s) = 0 1+1 s
Teniendo en cuenta que la funci´ on de transferencia de bucle abierto del primer lazo es on 1: GC 1 1 1 GBC 1 = = + s)) GC 1 = 1 + GC 1 = G C 1 (1 + s 1 + GC 1 1 + s + s s Por otra parte, dado que la funci´ on de transferencia de bucle abierto del segundo lazo on −10 , el dise˜no es 1+5 no del segundo controlador GC 2 a partir de la funci´on on de transferencia s de bucle b ucle cerrado cerr ado deseada desea da ser s er´´ıa: −10 GC 2 1+5 1 10 10 1 + 5s 5s s GBC 2 = = 1 G = G (1+s (1+ s ) G = − − − C C C 2 2 2 10 1 + s + s 1 + 5s 5s 1 + 5s 5s 10s 10s 1 − GC 2 1+5 s
CAP ´ITULO 12. CONTROL DE PROCESOS PROCESOS MULTIV MULTIVARIABLES ARIABLES
1
Y −
1
1
0.8
0.8
0.6
2
Y −
1
197
0.6
2
R
R
0.4
0.4
0.2
0.2
0 0
20
40
60
80
100
120
140
160
180
200
0 0
20
40
tiempo
60
80
100
120
140
160
180
tiempo
Figura 12.7: Simulaci´on on del sistema multivariable en bucle cerrado.
En cuanto a las se˜ nales de control que realmente se aplican al sistema, estas se nales calculan teniendo en cuenta los controladores dise˜ nados y la matriz de desacoplo: nados U 1 (s) =
2 1 + 5s 5s e1 (s) + e2 (s) 3s 10s 10s
U 2 (s) =
1 1 + 5s 5s e1 (s) − e2 (s) 3s 10s 10s
En la figura 12.7 se muestra la simulaci´ o n del sistema en bucle cerrado. Puede on observarse que el desacoplo propicia que el sistema se comporte como dos lazos independientes sin interacci´ on on alguna.
200
198
CONTROL DE PROCESOS MUL MULTIV TIVARIABLES ARIABLES MEDIANTE DESACOPLO
Cap´ıtulo 13 Introducci´ on al control adaptativo on 13.1. 13.1.
Plan Planteamie teamien nto del proble problema ma
En el contexto del control autom´ atico ati co el t´ermino erm ino adaptativo adaptativo se se refiere a la facultad de cambiar el comportamiento o par´ ametros del control en respuesta a cambios en las ametros circunstancias del sistema controlado. Un regulador adaptativo ser´ a aquel que pueda modificar su comportamiento en respuesta a cambios en la din´ amica del sistema y/o en las perturbaciones p erturbaciones a las que se ve sometido dicho d icho sistema. En realidad esto es tambi´en en lo que se persigue cuando se introduce la realimentaci´ on en un sistema de control. En on efecto, el control realimentado fundamenta su efectividad en el hecho de que es capaz de reaccionar a los cambios del estado o salida del proceso (los cuales pueden venir motivados por perturbaciones perturbac iones o tambi´en en cambios ca mbios en la din´ amica del proceso) actuando amica de manera que dicho estado o salida se mantenga controlado. En general se acepta que el control el control adaptativo es un tipo de control no lineal en el que el estado del proceso puede ser separado en dos escalas de tiempo que evolucionan a diferente velocidad. La escala lenta corresponde a los cambios en los par´ ametros ametros del regulador y la escala r´ apida apida a la din´amica amica del bucle ordinario de realimentaci´ on. on. La configuraci´ on on t´ıpica ıpica de un control controlador ador adaptati adaptativo vo es la que se ilustra ilustra en la figura 13.1. Como se puede observar hay un bucle principal de realimentaci´ on on negativa en el que aparece un regulador ajustable y otro bucle que se utiliza para ajustar los par´ametros ametros de dicho regulador. Para ello, se obtiene un cierto cierto ´ındice ındice de actuaci´ actuaci on ´ en el cual se expresa expresa la bondad bondad o comportam comportamien iento to del control controlador ador.. Dicho Dicho ´ındice ındice de actuaci´on on se compara con un cierto comportamiento deseado y seg´ un un el resultado de 199
200
PLANTEAMIENTO DEL PROBLEMA
+
+
u
REFERENCIA
+
y
COMPORTAMIENTO DESEADO
Figura 13.1: Configuraci´on on gen´ g en´erica erica de un u n controlador contro lador adaptativo. adaptati vo.
dicha comparaci´ on o n se ajustan los par´ametros ametros del regulador. Para ello se utiliza un mecanismo de adaptaci´ on on que en algunos casos (no siempre) tambi´ en en puede actuar directamente sobre la actuaci´ on o n o se˜ nal de control que recibe el proceso. En algunos nal casos se a˜ n ade un tercer bucle que tiene como tarea la supervisi´ nade on o n del sistema de manera que, por ejemplo, se garantice la estabilidad del sistema en bucle cerrado o se eviten ciertos comportamientos indeseados tales como cambios demasiado abruptos en los par´ametros ametros del regulador ajustable. Es f´acil acil ver que en el esquema anterior el mecanismo de adaptaci´ on on realiza la tarea de resolver en tiempo real el problema de dise˜ nar un regulador apropiado (en el caso nar m´as as sencillo con una estructura predefinida) para un sistema dado de manera que se cumplan unas determinadas especificaciones de dise˜ no (dadas por el comportamiento deseado ).
Existen otros controladores que proporcionan una cierta capacidad de adaptaci´ on pero que no encajan en la definici´ on anterior ya que la adaptaci´ on on on se realiza en bucle abierto, es decir, para adaptar la ley de control no se usan las medidas de la salida o estado de la planta. Este es el caso de los controladores controladores gain scheduling los los cuales se tratar´ an an en la secci´ on on 15.4.
´ AL CONTROL ADAPTATIVO CAP ´ITULO 13. INTRODUCC INTRODUCCI I ON
13.1 13.1.1 .1..
201
Clas Clasifi ifica caci ci´ ´ on on grosso grosso mo modo do de los sistemas de control adaptativo
De una manera general los sistemas de control adaptativo se pueden clasificar en dos grandes grupos: Controladores adaptativos por modelo de referencia (MRAC). Reguladores autoajustables (STR). Ambas estrategias suponen que para cualquier juego de valores de los par´ ametros ametros del sistema y las perturbaciones, existe un controlador lineal que hace que el sistema en bucle cerrado cumpla los requisitos de dise˜ no. no. Los MRAC intentan alcanzar un comportamiento en bucle cerrado deseado que viene especificado por un modelo de referencia. Por otra parte, los STR intentan alcanzar un control lo mejor posible (´ optimo) a partir de un tipo de controlador prefijado y optimo) la informaci´on on obtenida del proceso (se˜ nales nales de entrada, entrada, sali salida, da, etc. etc. . . ). Las dos t´ecnicas ecnicas tienen tiene n sus ventajas e inconvenientes. inconvenientes. Las ventajas del d el MRAC pasan por una r´ apida apida adaptaci´ on y la posibilidad de utilizar formulaciones que garanticen on estabilidad (usando m´etodos etodos de Lyapunov). L yapunov). Sin embargo, la capacidad capac idad de adaptaci´ on de estas estrategias dependen en gran medida de la riqueza din´ amica a mica de la se˜ nal n al de control (esto es an´ alogo a lo que ocurre en la identificaci´ alogo on on de sistemas, v´ease ease el tema 8). Por otra parte, los STR se adaptan bien en casi todas las situaciones y son f´ aciles aciles de implementar pues admiten t´ecnicas ecnicas de programaci´ on on modular. Sin embargo, tambi´en en presentan sus propios inconvenientes como se ver´ a m´as as adelante. Otra posible posible clasifi clasificaci caci´ o´n de los sistemas de control adaptativos es aquella que on atiende a la forma de obtener los par´ ametros ametros del controlador. controlador. En este esquema podemos encontrarnos: Controladores adaptativos con dise˜ no mediante criterio optimo. o´ptimo. Controladores adaptativos con dise˜ no mediante criterio no optimo. o´ptimo.
En los primeros el valor de los par´ ametros se obtiene buscando entre los posibles valores ametros aquellos que hacen optimo o´ptimo un cierto criterio de comportamiento del sistema. Es decir,
202
´ DEL USO DE CONTROL ADAPTATIVO JUSTIFICACI ON
optimizan un criterio de comportamiento o funcionamiento. En este grupo estudiaremos los controlador contro ladores es de m´ınima varianza y m´ınima varianza generaliza gene ralizado. do. Tambi´en en se puede considerar en este grupo el control predictivo basado en modelo (al que dedicaremos care mos un amplio cap´ cap´ıtulo m´ as adelante) cuando este tipo de control se utiliza como as controlador ajustable en alguno de los esquemas de control adaptativo referidos al principio del tema. Los controladores adaptativos adaptativos sin criterio criterio optimo ´ buscan los par´ ametros ametros del controcontrolador no mediante la optimizaci´ on de un criterio de funcionamiento sino entre aquellos on que cumplen unas ciertas especificaciones, por ejemplo, la colocaci´ on de los ceros y los polos de bucle cerrado. En estos esquemas el controlador ajustable puede ser por ejemplo un regulador PID, un controlador dead-beat como los estudiados anteriormente o un controlador por asignaci´ asignacion o´n de polos o de ceros y polos. En tiempo real se resolver´a el problema de dise˜ nar dichos controladores, de manera que a pesar de los cambios en el nar proceso se sigan cumpliendo las especificaciones de dise˜ no.
13.2 13.2..
Just Ju stifi ifica caci ci´ ´ on del uso de control adaptativo on
El control adaptativo conlleva una serie de inconvenientes que pueden hacernos cuestionar su uso. Por ejemplo, su sinton sinton´ıa no suele ser tan sencilla como la de los cl´ asicos controladores PID. Por tanto, hay que ver en que situaciones puede ser ventajoso su uso y en que situaciones es mejor quedarse con controladores m´ as as sencillos. sencillos. En general un controlador convencional est´ a pensando para controlar sistemas cuyos par´ametros ametros permanecen constantes (es decir, su din´ amica ami ca no var´ var´ıa). ıa) . Esta Est a suposi sup osici´ ci´on on se corresponde m´as as o menos con la de un sistema que suele operar siempre cerca de un determinado punto de operaci´ on y cuyas perturbaciones no son grandes (en relaci´ on on on a la variable controlada) y no var´ var´ıan demasiado. demasiado . Sin embargo, puede suceder que el punto de trabajo trab ajo var´ var´ıe frecuentemente frecue ntemente y en algunos sistemas sistema s puede suponer una variaci´ on de su din´amica amica lo suficientemen suficientemente te importante importante para afectar al rendimiento rendimiento del controlador. controlador. Por ejemplo, supongamos un sistema realimentado en el que el actuador presenta una caracter´ caracter´ıstica de transferencia transferencia no lineal (figura 13.2). Esta situaci´ situacion ´ corresponde por ejemplo a la caracter ca racter´´ıstica instalada inst alada de un v´ alvula que usualmente suele ser no lineal. alvula Supongamos que el caudal de salida de la v´alvula alvula viene dado por una expresi´ on on C = 4 ξ ∗ A , donde ξ es ξ es una cierta constante y A la apertura ap ertura porcentual de la v´alvula. alvula. En En la figura 13.3 se muestra muestra dicha dicha caracter´ caracter´ıstica instalada instalada (trazo s´olido). olido). A la hora de dise˜ nar nar el sistema de control se intentar´ intentar´ıa obtener obten er un modelo linealizado del actuador, que evidente e videntemente mente saldr sa ldr´´ıa diferente dif erente en funci´ fu nci´ on del punto de operaci´ on on. on. Si el controlador
´ AL CONTROL ADAPTATIVO CAP ´ITULO 13. INTRODUCC INTRODUCCI I ON
+
u
v
f(u)
203
G(s)
-
Figura 13.2: Sistema realimentado con actuador con caracter´ caracter´ıstica v = f (u).
se ve forzado a trabajar en distintos puntos de operaci´ on su rendimiento no podr´ on a ser igual de bueno en todos, de manera que este esquema esquema ir´ a bien si el punto de operaci´ on on no se mueve demasiado. Una soluci´ on on ser´ ser´ıa trabajar con un modelo linealizado linealizado a tramos de la caracter´ caracter´ıstica de la v´ alvula (figura 13.3 trazo discontinuo), de manera que en alvula cada punto de funcionamiento el controlador adaptar´ a su comportamiento (variando sus par´ametros ametr os de dise˜ diseno) n˜o) de acuerdo al modelo linealizado que se tenga en cada caso. En general, cuando la variaci´ on on en los par´ ametros ametros del sistema sistema o los actuadores se conoce 16
14
12
) h /
10
3
m ( l 8 a d u a c 6
4
2
0
0
10
20
30
40
50
60
70
80
90
100
apertura (%)
Figura 13.3: Sistema realimentado con actuador con caracter´ caracter´ıstica v = f (u).
de antemano y adem´ as se puede establecer una dependencia entre dichos par´ as ametros ametros y el punto de operaci´ on on (o ( o una variable auxiliar) se puede recurrir a t´ecnicas ecnicas sencillas de control adaptativo como el el gain scheduling (v´ scheduling (v´ease eas e la secci´ sec ci´on on 15.4). En caso contrario tendr´ ten dr´ıamos ıam os que recurr rec urrir ir a t´ t ´ecnica ecn icass m´ mas ´ sofisticadas. sofisticadas. Otro hecho a tener en cuenta es que no siempre es f´ acil juzgar la necesidad o no de utiliz utilizar ar el control control adaptati adaptativo vo.. Consid Consid´´erese erese el sistema sistema dado por la funci´ funci´ on de transferencia G(s) =
1 (s + 1)(s 1)(s + a + a))
donde a = −0,01, 01, 0, 0,01
(13.1)
204
´ DEL USO DE CONTROL ADAPTATIVO JUSTIFICACI ON
La primera aproximaci´ on a este sistema ser´ıa hallar su respuesta ante escal´ on, para los diversos valores de a. Como se ilustra en la figura 13.4 (izquierda), dicha respuesta var´ıa mucho en funci´ on de los valores del par´ametro a, pasando de hecho de ser un sistema estable a otro inestable. Parecer´ıa que el sistema var´ıa lo suficiente como para justificar el uso del control adaptativo. Sin embargo, la configuraci´ on que realmente nos interesa es la del sistema realimentado. En la figura 13.4 (derecha) se muestra la respuesta del sistema en bucle cerrado (realimentaci´ on unitaria). En contra de lo que podr´ıamos suponer la respuesta en bucle cerrado es m´ as o menos la misma, por lo que, siendo esta la configuraci´ on en la que se va a trabajar, no ser´ıa necesario usar control adaptativo. Step Response
Step Response
700
1.4
600
1.2
500
1
0.8
400
e d u t i l p m A
e d u t i l p m A
300
0.6
200
0.4
100
0.2
0 0
20
40
60
80
100
120
140
160
180
200
0 0
2
4
6
8
10
12
Time (sec)
Time (sec)
Figura 13.4: Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema dado en (13.1).
Es f´acil poner un ejemplo en el que la situaci´on sea la inversa de la anterior. Consid´erese el sistema dado por la funci´ on de transferencia G(s) =
20(1 − T s) (s + 1)(s + 20)(T s + 1)
donde T = 0, 0,015, 0,03
(13.2)
En este caso la respuesta en bucle abierto del sistema es muy parecida independientemente de los valores de T (figura 13.5 izquierda). Cuando se le realimenta usando como entrada u = 15(ref − y) se obtienen, sin embargo, comportamientos muy diferentes en funci´on del valor de T (figura 13.5 derecha). Es por tanto que en este caso s´ı estar´ıa justificado el uso de t´ecnicas de control adaptativo. El lector puede comprobar adem´ as que no s´ olo hay que juzgar en funci´ on del comportamiento en bucle cerrado en general, sino que hay que tener en cuenta cu´ ales van a ser las condiciones de operaci´ on particulares en las que se va a trabajar. En efecto, si se obtiene la respuesta en bucle cerrado para el sistema (13.2) pero utilizando una realimentaci´ on unitaria (esto es, u = (ref − y)) entonces las respuestas son esencialmente iguales independientemente del valor de T .
´ AL CONTROL ADAPTATIVO CAP ´ITULO 13. INTRODUCCI ON Step Response
205 Step Response
1.5 0.9 0.8 0.7 1 0.6 e d u t i l 0.5 p m A
e d u t i l p m A
0.4 0.5 0.3 0.2 0.1 0 0 0
1
2
3 Time (sec)
4
5
6
0
0.5
1
1.5
2
2.5
3
Time (sec)
Figura 13.5: Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema dado en (13.2).
13.3.
Control adaptativo por modelo de referencia (MRAC)
Es una de las t´ecnicas m´as antiguas de control adaptativo y se basa, como su nombre indica, en disponer de un modelo de bucle cerrado que es el que se desea que describa al conjunto controlador-planta. Es decir, se debe partir de un conjunto de especificaciones deseadas de bucle cerrado que se expresan mediante el modelo de referencia. El controlador ajustable deber´a adaptar sus par´ametros para que el modelo de bucle cerrado del conjunto coincida o se acerque lo m´ as posible al modelo de referencia. La figura 13.6 muestra la configuraci´ on m´as popular (no es la u´nica sin embargo) para este tipo de controladores. En dicha figura puede observarse un controlador primario ajustable que en principio puede ser cualqier tipo de controlador. El mecanismo de adaptaci´ on es el que se va a encargar de ajustar los par´ ametros del control primario para que la diferencia entre la salida de la planta y el modelo de referencia sea lo m´ as peque˜ na posible (es decir, que independientemente del valor inicial de esa diferencia, ´esta vaya tendiendo a cero progresivamente). Adem´a s de utilizar las se˜ n ales tomadas de las salidas de la planta y el modelo, el mecanismo de adaptaci´ on puede utilizar las se˜ nales de entrada, de referencia y si estuviesen disponible las variables de estado. En suma, toda la informaci´ on disponible sobre la planta y el comportamiento del sistema en bucle cerrado. Para dise˜ nar un MRAC se ha de definir el modelo de referencia, el controlador y la ley de adaptaci´on. En cuanto al modelo de referencia, sabemos que ´este especifica el comportamiento en bucle cerrado deseado. Por tanto, el modelo ha de ser tal que
206
CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC)
ym +
-
+ REFERENCIA
u
yp
+
Figura 13.6: Configuraci´on gen´ erica de un controlador adaptativo por modelo de referencia (MRAC).
el conjunto controlador ajustable-planta pueda reproducir dicho modelo. Es decir, no se puede escoger el comportamiento deseado de bucle cerrado sin pensar si el controlador ajustable es capaz de lograr (para alguna combinaci´ on de sus par´ ametros) dicho comportamiento. Esto impone una serie de requisitos sobre el modelo, principalmente sobre el orden del mismo. Tampoco es realista escoger un modelo de referencia con una din´amica muy r´apida en comparaci´ o n con la de la planta en bucle abierto. Por supuesto es normal escoger la din´ amica de bucle cerrado m´ a s r´apida que la de bucle abierto, pero no se puede escoger de manera arbitrariamente r´apida, ya que ello desembocar´ a en problemas de convergencia en los par´ ametros del controlador. Por otra parte para el controlador primario se puede pensar en casi cualquier estructura de control lineal, incluyendo los populares PI, PID, etc. . . Se deben cumplir sin embargo varios requisitos, entre ellos que la se˜ nal de control debe ser una funci´ on lineal de los par´ametros. Tambi´ en (suponi´endose fijado el modelo) se debe escoger un controlador ajustable que permita reproducir el modelo. Finalmente, para la ley de adaptaci´ on existen diferentes estrategias en la literatura de las cuales nombraremos el m´etodo de hiperestabilidad y la estrategia basada en la teor´ıa de estabilidad de Lyapunov (ambas estrategias aseguran la estabilidad de bucle cerrado del sistema) y la primera y m´as popular, el enfoque de sensibilidad o regla del MIT.
´ AL CONTROL ADAPTATIVO CAP ´ITULO 13. INTRODUCCI ON
13.3.1.
207
La regla del MIT
Se basa en un ´ındice de actuaci´ on, usualmente cuadr´atico, que mide la bondad de la adaptaci´ on en base a las discrepancias entre las salidas del modelo y la planta a lo largo de un intervalo de tiempo:
t+T
J (t + T ) =
e2(τ )dτ
con e(t) = y proceso (t) − ymodelo (t)
(13.3)
t
donde T es un periodo fijo de tiempo. La idea de la regla del MIT es ajustar el vector de par´ametros del controlador en el instante t + T , de manera que haga decrecer J . Es decir, t+T ∂J ∂e(τ ) θ(t + T ) = θ(t) − Γ = θ(t) − Γ 2e(τ ) dτ (13.4) ∂θ ∂θ t donde Γ ∈ Rn×n es una matriz definida positiva que act´ ua como ganancia de adaptaci´ on. Es f´acil entender que el controlador s´ olo tiene influencia sobre la salida de la planta, no sobre la del modelo. Por tanto ymodelo (t) no depende de θ y al variar ´este tampoco lo hace ymodelo (t), luego ∂e(τ ) ∂y proceso (τ ) = ∂θ ∂θ Finalmente, podemos conocer la variaci´ on instant´ anea de los par´ ametros del controlador tomando T → 0 en el segundo miembro de (13.4) y teniendo en cuenta lo anterior se llega a dθ ∂y proceso = −2Γe(t) (13.5) dt ∂θ N´otese que ∂y proceso representa c´ omo var´ıa la salida del proceso frente a variaciones del ∂θ vector de par´ ametros, es decir la sensibilidad de y proceso (t) frente a variaciones de θ, de ah´ı el nombre alternativo de enfoque de sensibilidad .
En la pr´actica la sensibilidad de la salida del proceso puede ser dif´ıcil de conocer. Por tanto, se la suele sustituir por la del modelo de referencia (que s´ı es conocido). Este esquema funciona porque despu´es de un tiempo el comportamiento en bucle cerrado del sistema acaba convergiendo al del modelo de referencia. En cualquier caso, la ganancia de adaptaci´ on no debe ser muy grande pues si no puede aparecer un comportamiento inestable (especialmente si hay discrepancias iniciales fuertes entre la sensibilidad del proceso y la del modelo, porque las correcciones al valor de θ ser´an muy en´ergicas y en la direcci´ on equivocada). Finalmente hay que decir que esta regla presenta diversas formulaciones alternativas. De hecho la formulaci´on original del MIT se basaba en el ´ındice 1 J (t) = e2(T ) 2
208
CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC)
que resulta en la regla dθ ∂e(t) = −γe(t) dt ∂θ y hay otras posibilidades como J (t) = |e(t)|
que resulta en
dθ ∂e(t) = −γ signo(e(t)) dt ∂θ
o directamente ajustar mediante dθ = −γ signo dt
∂e(t) signo(e(t)) ∂θ
Ejemplo 13.1 Supongamos que tenemos un proceso cuya funci´ on de transferencia viene dada por G(s) = kF (s) donde k es ganancia desconocida y F (s) es perfectamente conocida . Se pretende que el sistema en bucle cerrado se comporte acorde al modelo de referencia GM (s) = k 0 F (s)
(13.6)
donde k0 es una ganancia conocida (es un dato de entrada del problema). El controlador ajustable del que se dispone tiene la estructura u = θuc donde u es la entrada que se aplica a la planta y uc es la entrada al controlador (es decir el par´ ametro θ que se ha de ajustar es simplemente una ganancia). Se supone una configuraci´on del sistema de control tal que θ es una ganancia feed-forward , es decir, la funci´on de transferencia desde uc a la salida del proceso y p es Y (s) = θkF (s) U C (s) Como se pretende que la funci´ on de transferencia sea como en (13.6), lo l´ ogico ser´ıa tomar k0 θ = k pero es evidente que esto no se puede hacer, porque se desconoce el valor de k. Se propone ajustar θ mediante la regla del MIT en el contexto de un control adaptativo MRAC. El error es en este caso e(t) = y p (t) − ym (t) = kF (s)θuc (t) − k0 F (s)uc (t)
(13.7)
´ AL CONTROL ADAPTATIVO CAP ´ITULO 13. INTRODUCCI ON
209
La sensibilidad1 vendr´ a dada por ∂e(t) = kF (s)uc (t) ∂θ
(13.8)
ahora bien, de (13.7) se obtiene que
−ym (t) = −k0 F (s)uc (t) luego, F (s)uc (t) =
ym (t) k0
por lo que llevando esto a (13.8) se obtiene ∂e(t) k = ym (t) ∂θ k0 La variaci´on de los par´ametros seg´ un la regla del MIT ser´a dθ k = −γ ym (t)e(t) dt k0 N´otese que se sigue desconociendo el valor de k0 , sin embargo esto no plantea problema alguno, pues como γ es una constante cualquiera podemos agrupar las constantes que aparecen en una sola γ , de manera que la regla ser´ıa dθ = −γ ym (t)e(t) dt
1
Con el objeto de simplificar las cosas en la ecuaci´on (13.7) se ha abusado notablemente de la notaci´ on pues se est´an incluyendo simult´aneamente funciones en el dominio s (de la transformada de Laplace) y se˜ nales en el dominio temporal. Esto no es correcto y quiz´as ser´ıa mejor utilizar la notaci´on d , es decir, sustituir las funciones en s por su equivalente en el operador derivada. F ( p) donde p = dt
210
CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC)
Cap´ıtulo 14 Reguladores Autoajustables (STR) 14.1.
Introducci´ on. Estructura general de los STR
Los reguladores autoajustables (del ingl´es Self Tuning Regulator) constituyen un tipo de control adaptativo muy popular en el que en funci´ on del conocimiento que se tiene de la din´amica del proceso a controlar son capaces de ajustarse a si mismos. Este conocimiento se va actualizando en tiempo real de manera que el ajuste se mantiene lo m´as cercano posible al o´ptimo. Los STR se basan en el principio de equivalencia cierta que consiste en suponer que los par´ ametros del proceso coinciden con los que se obtienen por identificaci´ on de manera que se dise˜ na el controlador usando esos par´ ametros. Como el controlador se recalcula en cada paso, y los par´ ametros se actualizan tambi´en en cada paso, el principio de equivalencia cierta no es una suposici´ on demasiado arriesgada. La estructura general de un STR se ilustra en la figura 14.1. En esta se observa que hay tres partes diferenciadas: Algoritmo recursivo de identificaci´ on. Al tener que actualizarse los par´ ametros en tiempo real es evidente que se debe utilizar un algoritmo recursivo (v´ease el cap´ıtulo 9). Mecanismo de adaptaci´on que desarrolla la tarea de dise˜ no del regulador. Para ello se utilizar´a el modelo actualizado que se tenga de la planta. N´ otese que al ser la estructura del controlador fija, dise˜ nar el controlador es equivalente a
211
212
´ ESTRUCTURA GENERAL DE LOS STR INTRODUCCI ON.
obtener los mejores valores de los par´ ametros de sinton´ıa en base al modelo. Regulador con par´ ametros ajustables. Por lo general la estructura es fija y puede ser cualquier tipo de controlador lineal en el que los par´ametros se puedan a justar.
REFERENCIA
-
u
+
y
COMPORTAMIENTO DESEADO
Figura 14.1: Configuraci´on gen´erica de un regulador o controlador autoajustable.
En los STR cl´ asicos se suele suponer que los procesos son deterministas (es decir no se consideran fuentes de perturbaciones estoc´ asticas como las vistas en el cap´ıtulo 7). Por otra parte es com´ un que el controlador ajustable sea del tipo PID. En realidad, como es la estructura de un STR es modular, se puede usar cualquier combinaci´ on de controlador/m´etodo de identificaci´ on. Tambi´en se pueden considerar procesos estoc´ asticos en los STR. Es com´ un entonces que la estructura escogida para el modelo sea la de tipo ARMAX (v´ease el cap´ıtulo 7). El dise˜ no se podr´ a hacer, por tanto, utilizando un criterio estoc´ astico o no estoc´ astico. En el caso de que sea un criterio estoc´ astico normalmente se obtienen los par´ ametros del regulador mediante la minimizaci´ on de un cierto ´ındice de funcionamiento. Por ejemplo en el regulador de m´ınima varianza (el cual se ver´ a en la secci´ on 14.2) se intentan minimizar las variaciones con respecto a cero de la salida (se considera un problema de regulaci´ on con referencia nula), que al ser una se˜ nal ruidosa se consigue minimizando la esperanza matem´ atica de la salida en k + d, es decir
J = E y 2 (k + d) siendo d el retraso.
Cuando el dise˜ no ser realiza usando un planteamiento no estoc´ astico, se est´ a considerando que las perturbaciones que inciden sobre el sistema son conocidas con exactitud de antemano, de tal manera que podemos usar modelos deterministas (v´ease el cap´ıtulo 7). En este caso el ´ındice de actuaci´ o n se da en funci´ on de unas especificaciones que debe cumplir la salida del sistema, como por ejemplo el tiempo de subida y
CAP ´ITULO 14. REGULADORES AUTOAJUSTABLES (STR)
213
establecimiento, etc. . . Tambi´en se emplear´ıan especificaciones que definan la din´amica resultante como la colocaci´ on de los polos de bucle cerrado.
14.1.1.
Algoritmos con estructura impl´ıcita y expl´ıcita
Entre los STR podemos distinguir dos tipos de algoritmos, unos que identifican directamente los par´ametros de la planta y luego dise˜ nan el controlador para cumplir con los requisitos (estructura expl´ıcita) y otros que lo que hacen es estimar el controlador directamente sin pasar por la estimaci´ on previa de la planta (estructura impl´ıcita). Un algoritmo con estructura expl´ıcita constar´ıa de los siguientes pasos: 1. Estimar los par´ametros del modelo mediante un algoritmo de identificaci´ on recursivo. 2. Calcular los par´ ametros del controlador. 3. Calcular la se˜ nal de control y aplicarla. Estos pasos se repetir´ıan en cada tiempo de muestreo. Los algoritmos de estructura impl´ıcita son m´ as complicados desde el punto de vista conceptual. Lo que se hace en ellos es reparametrizar el modelo de la planta y el controlador en funci´ on de los par´ ametros del controlador. El esquema ser´ıa el mostrado en la figura 14.2. Obs´ervese en esta figura que no se est´ a pasando por la fase de dise˜ no del
REFERENCIA
+
u
y
COMPORTAMIENTO DESEADO
Figura 14.2: Configuraci´on gen´ erica de un regulador o controlador autoajustable.
controlador sino que este se identifica, de manera que cumpla con las especificaciones de dise˜ no. Por eso en la figura 14.2 como la identificaci´ on toma como datos de entrada las
CONTROL POR M ´INIMA VARIANZA
214
medidas de la planta y adem´as las especificaciones de dise˜ no. En este tipo de algoritmo los pasos suelen ser: 1. Estimar los par´ ametros del modelo reparametrizado. 2. Calcular y aplicar la se˜nal de control. Al igual que en caso anterior estos pasos se repiten cada tiempo de muestreo. Ambos tipos tienen ventajas e inconvenientes. En el caso de los de estructura expl´ıcita, la carga computacional suele ser mayor pero a cambio, se obtiene un modelo de la planta que puede ser utilizado para otras tareas diferentes de la de control, por ejemplo para simulaci´on o supervisi´on. Tambi´ en se puede tener un banco de controladores seleccionables en funci´ on del modelo obtenido. En el caso de los de estructura impl´ıcita se necesitan menos c´ alculos, pero la identificaci´ on es m´ as dif´ıcil (pueden aparecer problemas de convergencia con m´ as facilidad). Por otra parte no siempre es posible obtener el modelo reparametrizado.
14.2.
Control por M´ınima Varianza
El regulador de m´ınima varianza es un regulador optimo ´ que pretende reducir el efecto de las perturbaciones sobre la salida, minimiz´ andose para ello un cierto ´ındice de funcionamiento. Efectivamente, la se˜ nal de control que se aplica en el instante k, es decir u(k), se calcula como una funci´ on de u(k − 1) . . . u(k − nb ) y(k)y(k − 1) . . . y(k −na ), de manera que se minimice J = E y 2 (k + d|k)
donde E {} es el operador esperanza matem´ atica, y la notaci´on y(k + d |k) indica la predicci´on del valor de y en el instante k + d hecha en base a la informaci´on disponible en el instante k. El modelo del proceso que se considera es del tipo ARMAX, el cual se indica a continuaci´ on A(z −1 )y(k + d) = B(z −1 )u(k) + C (z −1 )v(k + d) donde A(z −1 ) = 1 + a1 z −1 + · · · + an z −n B(z −1 ) = b z −1 + b z −2 + · · · + b z −n 1
2
n
C (z −1 ) = 1 + c1 z −1 + · · · + cn z −n
(14.1)
CAP ´ITULO 14. REGULADORES AUTOAJUSTABLES (STR)
215
y d es el retraso puro1 . Sup´ongase que se desea dividir C (z −1 ) entre A(z −1 ). Dicha divisi´on de polinomios producir´ a en general un polinomio cociente y un polinomio resto. El cociente lo denotaremos por F (z −1 ) y el resto se factoriza de manera que se denote por z −(d+1) G(z −1). Por tanto podremos reescribir la conocida expresi´ on dividendo igual a divisor por cociente m´ as resto as´ı C (z −1) = A(z −1)F (z −1 ) + z −(d+1) G(z −1)
(14.2)
donde F (z −1 ) = 1 + f 1 z −1 + · · · + f d z −d G(z −1 ) = g 0 + g1 z −1 + · · · + gn−1 z −(n−1) N´otese que el grado de F (z −1 ) es d y el de G(z −1 ) es n − 1. A continuaci´ on dividiremos ambos miembros de la ecuaci´ on (14.1) por A(z −1 ) y usaremos (14.2) de manera que se obtiene B(z −1) z −1 G(z −1 ) 1 − y(k + d) = u(k) + F (z )v(k + d) + v(k) (14.3) A(z −1 ) A(z −1 ) en donde adem´ as se ha tenido en cuenta que z −d v(k + d) = v(k). Veamos el significado de algunos de los t´erminos de (14.3). El t´ermino F (z −1 )v(k + d) es una combinaci´ on lineal de los valores de v(k) a v(k + d) cuyo efecto sobre y(k + d) no depende de u(k). Por otra parte el termino z −1 G(z −1 ) v(k) A(z −1 ) representa el efecto sobre la salida de las perturbaciones en instantes anteriores a k. Por otra parte si dividimos por C (z −1 ) la expresi´on (14.2) se obtiene A(z −1)F (z −1 ) z −(d+1) G(z −1 ) 1= + C (z −1 ) C (z −1 ) que se puede reescribir como A(z −1 )F (z −1 ) z −(d+1) G(z −1) 1− = C (z −1 ) C (z −1)
(14.4)
Por otra parte seg´ un el modelo ARMAX A(z −1 ) B(z −1 ) −d v(k) = y(k) − z u(k) C (z −1 ) C (z −1 ) 1
N´otese que el polinomio B (z −1 ) no tiene t´ermino independiente, lo que se refleja en la forma de describir el proceso ARMAX en la ecuaci´on (14.1).
CONTROL POR M ´INIMA VARIANZA
216
Esto se puede sustituir en la ecuaci´ on (14.3) de manera que se obtiene
B(z −1 ) z −1 G(z −1) A(z −1 ) B(z −1 ) −d 1 − y(k + d) = u(k) + F (z )v(k + d) + y(k) − z u(k) A(z −1 ) A(z −1 ) C (z −1 ) C (z −1 ) operando
B(z −1 ) z −1 G(z −1 ) G(z −1 )B(z −1 ) −(d+1) 1 − y(k + d) = u(k) + F (z )v(k + d) + y(k) − z u(k) A(z −1) C (z −1 ) A(z −1 )C (z −1 ) que, agrupando los t´erminos que contienen u(k), es a su vez es igual a
1 z −1G(z −1 ) G(z −1 )z −(d+1) 1 − y(k + d) = F (z )v(k + d) + y(k) + 1− B(z −1 )u(k) 1 1 1 − − − C (z ) A(z ) C (z ) Recu´erdese ahora la ecuaci´ on (14.4) y sustit´ uyase en la anterior para obtener z −1G(z −1 ) F (z −1 )B(z −1 ) − 1 y(k + d) = F (z )v(k + d) + y(k) + u(k) C (z −1) C (z −1 ) A partir de esta ecuaci´ on podemos calcular J y ver que valor de u(k) hace m´ınimo J :
2
E y (k + d)
F (z −1 )B(z −1 ) z −1G(z −1 ) + E u(k) + y(k) C (z −1 ) C (z −1) F (z −1 )B(z −1 ) z −1 G(z −1 ) − 1 +2E F (z )v(k + d) u(k) + y(k) C (z −1 ) C (z −1 )
= E F (z −1 )v(k + d)
2
2
Si se intenta minimizar la expresi´ on anterior se tiene que el primer t´ermino no depende de u(k), por lo que no influye a la hora de calcular el valor de u(k) que hace m´ınimo J . Por tanto, ese t´ermino puede ser descartado. Por otra parte, el tercer t´ermino es la esperanza matem´ atica de una expresi´ on la que aparece t´erminos en los que los valores de la perturbaci´ on v(k + i) i = 0 . . . d multiplican valores actuales y pasados de y(k) y u(k). Como los valores de v(k + i) i = 0 . . . d son independientes (incorrelados) de los de y(k) y u(k) la esperanza matem´ atica que aparece en ese tercer t´ermino es cero. Por tanto, nos queda s´ olo el segundo t´ermino que es el que hay que minimizar. Para ello basta con calcular el valor que hace cero lo que est´ a dentro de las llaves y as´ı el cuadrado ser´a cero (que es el m´ınimo valor posible de una funci´ on cuadr´ atica). El resultado es z −1G(z −1 ) u(k) = − y(k) (14.5) F (z −1 )B(z −1 ) que se puede reescribir tambi´en como (y as´ı aparece en algunos textos) G(z −1) u(k) = − y(k) zB(z −1 )F (z −1 )
(14.6)
CAP ´ITULO 14. REGULADORES AUTOAJUSTABLES (STR)
217
Ejemplo 14.1 Consid´erese el siguiente sistema lineal yk = ay k−1 + buk−2 Se pide encontrar la expresi´ on del regulador de m´ınima varianza. En este caso es f´ acil ver que A(z −1 ) = 1 − az −1 B(z −1 ) = bz −1 C (z −1 ) = 1 y por otra parte d = 1. Recordemos que se ha de dividir C (z −1 ) entre A(z −1 ) hasta que el grado del cociente F (z −1 ) sea d, o sea en este caso F (z −1 ) tiene la forma F (z −1) = 1+ f 1 z −1 . La figura 14.3 nos muestra la divisi´ on hecha paso a paso a la manera tradicional. 1 1 − − Por tanto F (z ) = 1 + az . El resto que en este caso es a2z −2 debe identificarse con
Figura 14.3: Divisi´on de polinomios para el ejemplo 14.2.
la expresi´on z −2 G(z −1 ), por lo que es evidente que en este caso G(z −1 ) = a2 . Luego recordando la expresi´ on (14.5) obtenemos que el regulador de m´ınima varianza para este caso es a2 −z −1 a2 uk = yk = − yk (1 + az −1 )bz −1 (1 + az −1 )b
14.2.1.
El regulador de m´ınima varianza generalizado
El control por m´ınima varianza tal y como se ha presentado aqu´ı presenta problemas cuando el sistema es de fase no m´ınima ya que al tener ceros inestables estos se cancelar´an mediante polos inestables. Esta situaci´ on no es deseable, por que en la pr´actica puede que los ceros cambien de posici´ on, bien por imprecisi´ on en el modelo del sistema o por variaciones de la din´ amica del sistema. En este caso los ceros no se cancelar´ıan con los polos con lo cual a˜ nadir´ıamos polos inestables al sistema. Evidentemente esto u ´ltimo llevar´ıa a la inestabilidad del sistema. Existen variaciones del regulador de m´ınima varianza que tratan este problema y adem´ as incorporan seguimiento de referencias y ponderaci´on del esfuerzo de control (es decir, que adem´ as de perseguir el objetivo de
218
´ DE POLOS Y CEROS ASIGNACI ON
m´ınimizar las variaciones de la salida con respecto a la referencia se intenta hacer esto usando el menor esfuerzo de control posible). La m´ as conocida es la del regulador de m´ınima varianza generalizado. La idea de este regulador es la de considerar el siguiente ´ındice de funcionamiento J = E
Q(z −1 )y(k + d) + R(z −1 )u(t) − P (z −1 )ref(t + d)
2
donde Q(z −1 ), R(z −1 ) y P (z −1 ) son funciones de ponderaci´ on estables que tienen la forma Qn (z −1 ) Rn (z −1) P n (z −1 ) − − − 1 1 1 Q(z ) = R(z ) = P (z ) = Qd (z −1 ) Rd (z −1) P d (z −1 ) Bajo estas condiciones la se˜ nal de control que minimiza J es Rd (z −1 ) (C (z −1 )P (z −1 )ref(t) − G(z −1 )y(t)) u(k) = Qd (z −1 )(Rd (z −1 )F (z −1 )zB(z −1 ) + C (z −1 )Rd (z −1 ))
(14.7)
En las expresiones anterior R(z −1) se utiliza para ajustar la velocidad de la respuesta del controlador, con el objeto por ejemplo de prevenir la saturaci´on de los actuadores. Por otra parte se suele tomar Qd (z −1) = 1 − z −1 de manera que la ley de control resultante tiene un integrador por lo que se rechazan perturbaciones constantes. Finalmente existen otras variaciones de la formulaci´ on presentada aqu´ı. Por ejemplo una versi´ on del regulador de m´ınima varianza que s´ olo soluciona el seguimiento de referencia (no ir´ıa bien con sistemas de fase no m´ınima) resulta en la expresi´ on G(z −1 ) C (z −1 ) u(t) = − y(t) − ref(t + d) zB(z −1 )F (z −1 ) zB(z −1 )F (z −1 )
14.3.
(14.8)
Asignaci´ on de polos y ceros
De entre los m´etodos basados en criterios no estoc´ asticos se recoge aqu´ı el m´etodo de asignaci´ on de polos y ceros debido a Astr¨om y Wittenmark. En el cap´ıtulo 6 ya se trat´ o el problema de la asignaci´ on de polos mediante realimentaci´ on lineal del vector de estados. Es conocido que con un s´olo controlador no se pueden asignar polos y ceros arbitrariamente, por lo que usualmente se prefiere asignar los polos. El m´etodo que aqu´ı se presenta se basa por tanto en una estructura m´ as compleja que permite colocar los polos y los ceros en las posiciones deseadas. Dicha estructura se presenta en la figura 14.4. El objetivo del procedimiento es que la funci´ on de transferencia de bucle cerrado
CAP ´ITULO 14. REGULADORES AUTOAJUSTABLES (STR)
219
Figura 14.4: Estructura para la asignaci´on de polos y ceros.
sea igual a una dada, que supondremos denotada por y(k) =
Rm (z −1 ) −d z w(k) P m (z −1 )
(14.9)
donde se asume que Rm (z −1 ) y P m (z −1 ) no tienen factores comunes y adem´ as el sistema es causal por lo que el grado de P m (z −1 ) es mayor o igual al de Rm (z −1 ). A partir de la figura 14.4 y aplicando el ´algebra de bloques se llega a la conclusi´on de que la funci´on de transferencia entre w(k) (la referencia a seguir) y y(k) es S (z −1 )B(z −1 )z −d y(k) = w(k) A(z −1 )M (z −1 ) + B(z −1 )G(z −1 )z −d Igualando esta expresi´ on con la funci´ on de transferencia deseada (14.9) se llega a (A(z −1 )M (z −1 ) + B(z −1)G(z −1)z −d )Rm (z −1 ) = S (z −1 )B(z −1)P m (z −1 )
(14.10)
Como se ha comentado en la secci´ on 14.2.1 no es conveniente que se cancelen ceros inestables con polos inestables, por lo que se imponen que las ra´ıces inestables de B(z −1 ) formen parte tambi´en de R m (z −1). Por tanto lo que se hace es que se factoriza B(z −1 ) como B(z −1 ) = B − (z −1 )B + (z −1) donde B − (z −1 ) contiene las ra´ıces inestables de B(z −1 ) y B + (z −1 ) las estables. Como las primeras deben estar en Rm (z −1 ) factorizamos este u´ltimo polinomio como Rm (z −1 ) = B − (z −1)Rm1 (z −1 ) Impondremos adem´ as que las ra´ıces estables de B(z −1 ) est´en en M (z −1 ), de manera que tendremos M (z −1 ) = M 1 (z −1 )B + (z −1 )
220
´ DE POLOS Y CEROS ASIGNACI ON
Por otra parte se asume que, adem´ as de especificarse el retraso y los polinomios que definen la funci´ on de transferencia deseada, como parte de los datos de entrada del problema, se tiene un polinomio A 0 (z −1 ) que se utiliza para definir S (z −1 ) mediante la expresi´on S (z −1) = A 0 (z −1 )Rm1 (z −1 ) Con todo lo anterior y la ecuaci´ on (14.10) se llega a A(z −1 )M 1 (z −1 ) + B − (z −1)G(z −1)z −d = A 0 (z −1 )P m (z −1 )
(14.11)
Esto es una ecuaci´ on polinomial, donde las inc´ ognitas son M 1 (z −1 ) y G(z −1 ), que puede resolverse mediante diferentes m´etodos2. Quiz´a s el m´a s simple (pero no m´ as eficiente) sea plantear un sistema de ecuaciones lineales donde las inc´ ognitas sean los 1 1 − − coeficientes de los polinomios M 1 (z ) y G(z ). En cualquier caso se deben imponer condiciones sobre los grados de dichos polinomios para que la ecuaci´ on tenga soluci´ on u ´ nica. Aplicando consideraciones algebraicas que no mostraremos aqu´ı, se llega a que existen dos posibles opciones para los grados de M 1 (z −1 ) y G(z −1 ), 1. grado(G(z −1)) = grado(A(z −1 )) − 1 grado(M 1 (z −1)) = grado(A0 (z −1 )) + grado(P m (z −1 )) − grado(A(z −1 )) 2. grado(G(z −1)) = grado(A0 (z −1 )) + grado(P m (z −1 )) − grado(B − (z −1 )) − d grado(M 1 (z −1)) = grado(B − (z −1 )) + d − 1 Se puede demostrar que el control por asignaci´ on de polos y ceros es equivalente al MRAC. Por otra parte seg´ un el sistema podemos tener casos simplificados: 1. Cancelaci´ on de todos los ceros. Esto se puede hacer si el sistema es de fase m´ınima. En este caso B +(z −1 ) = B(z −1)
B − (z −1) = 1
M (z −1 ) = M 1 (z −1 )B(z −1 )
Rm (z −1 ) = R m1 (z −1 ) = K S (z −1) = KA0 (z −1 )
por lo que la ecuaci´ on quedar´ıa como A(z −1 )M 1 (z −1 ) + G(z −1 )z −d = A 0 (z −1 )P m (z −1 ) 2
De hecho es una ecuaci´on polinomial diof´ antica. Este tipo de ecuaciones las encontraremos de nuevo en el cap´ıtulo 17, donde se ver´an otros m´etodos para resolverla.
CAP ´ITULO 14. REGULADORES AUTOAJUSTABLES (STR)
221
2. No se cancela ning´ un cero. Esto ocurre si todos las ra´ıces de B(z −1 ) son inestables. En este caso B + (z −1 ) = 1
B − (z −1 ) = B(z −1 )
M (z −1) = M 1 (z −1 )
S (z −1 ) = KA0 (z −1 )
Rm (z −1 ) = K B(z −1 )
por lo que ahora la ecuaci´on quedar´ıa como A(z −1 )M (z −1 ) + B(z −1 )G(z −1 )z −d = A 0 (z −1 )P m (z −1 ) Con este tipo de control se puede ilustrar la diferencia entre algoritmo con estructura impl´ıcita y expl´ıcita. Comenzaremos derivando un algoritmo con estructura impl´ıcita, para ver despu´es el de estructura expl´ıcita.
14.3.1.
Algoritmo con estructura impl´ıcita.
N´otese que multiplicando ambos miembros de la ecuaci´ on (14.11) por y(k) se obtiene A(z −1 )M 1 (z −1 )y(k) + B − (z −1)G(z −1)z −d y(k) = A 0(z −1 )P m (z −1 )y(k) que dado que A(z −1 )y(k) = B(z −1 )z −d u(k) es equivalente a M 1 (z −1)B(z −1)z −d u(k) + B − (z −1 )G(z −1 )y(k) = A 0 (z −1 )P m (z −1)y(k) Por otra parte sabemos que M (z −1) = M 1 (z −1 )B + (z −1 ) y B (z −1 ) = B + (z −1 )B − (z −1), por lo que se llega a
A0 (z −1 )P m (z −1)y(k) = B − (z −1 )z −d M (z −1 )u(k) + G(z −1 )y(k)
(14.12)
La ecuaci´ on (14.12) expresa una relaci´ on entre la entrada y la salida que constituye un modelo reparametrizado del sistema en bucle cerrado. En dicho modelo aparecen polinomios conocidos de antemano (A0 (z −1 ), P m (z −1 )), el retraso d que se supone conocido, y tres polinomios (B − (z −1 ) , M (z −1 ), G(z −1 )) que son los que deben ser identificados (ajustados mediante un m´etodo de identificaci´ on recursivo), usando los valores experimentales de la entrada y la salida. Obs´ ervese que al identificarse dicho modelo reparametrizado se estar´ an identificando los par´ ametros del controlador adem´ as de parte de los par´ ametros de la planta. Estos u´ltimos no son sin embargo necesarios, se pueden considerar un subproducto del proceso de identificaci´ on del controlador.
El algoritmo de control en s´ı, tomar´ıa como datos de entrada A0 (z −1 ), P m (z −1 ), el retraso d y Rm1 (z −1). Los pasos de los que constar´ıa en cada instante de muestreo son los siguientes
222
´ DE POLOS Y CEROS ASIGNACI ON
1. Obtener una estimaci´ on actualizada de M (z −1 ), G(z −1 ), B − (z −1 ) mediante la identificaci´ on del modelo reparametrizado (14.12). 2. Calcular y aplicar u(k) =
1 S (z −1 )w(k) − G(z −1 )y(k) − 1 M (z )
donde S (z −1 ) = A 0 (z −1 )Rm1 (z −1).
Este procedimiento puede presentar problemas para aquellos sistemas que sean de fase no m´ınima. Esta mayor dificultad es inherente a los algoritmos con estructura impl´ıcita, tal y como se ha comentado al comienzo del cap´ıtulo.
14.3.2.
Algoritmo con estructura expl´ıcita
En este caso los datos de entradas al algoritmo ser´ıan A0 (z −1 ), P m (z −1 ), el retraso d y Rm (z −1 ). Los pasos de los que constar´ıa en cada instante de muestreo son los siguientes 1. Obtener una estimaci´ on actualizada de A(z −1 ) y B(z −1 ) mediante la identificaci´on del modelo B(z −1 ) −d y(k) = z u(k) A(z −1) 2. Factorizar B(z −1) = B + (z −1 )B − (z −1 ). 3. Resolver la ecuaci´on (14.11). 4. Calcular y aplicar 1 u(k) = S (z −1 )w(k) − G(z −1 )y(k) − 1 M (z )
donde S (z −1 ) = A 0 (z −1 )Rm1 (z −1) y M (z −1 ) = M 1 (z −1 )B + (z −1 ). Es f´acil ver que este algoritmo tiene m´ a s c´alculos que el anterior, en particular la − 1 factorizaci´on de B(z ) y la resoluci´on de la ecuaci´ on polinomial (14.11), tareas ambas que pueden ser costosas en un hardware industrial no muy potente (adem´ as de m´ as complicadas de implementar). Sin embargo desde el punto de vista pr´ actico suele tener menos problemas.
Cap´ıtulo 15 Controladores PID con autoajuste y Ajuste por tabla 15.1.
Introducci´ on
En este cap´ıtulo se revisaran algunas de las t´ecnicas de control adaptativo con mayor ´ aplicaci´on en la industria. Estas no son tan ambiciosas como algunas de las presentadas hasta ahora y sin embargo son definitivamente estrategias de control avanzado que han demostrado ser u´tiles en la pr´actica. Adem´ as de las t´ecnicas referidas en el t´ıtulo del cap´ıtulo se concluir´a el temario relativo a control adaptativo con un breve repaso a algunos sistemas comerciales.
15.2.
Funci´ on de autoajuste (autotuning )
Los reguladores adaptativos vistos hasta ahora, es decir los MRAC y STR, necesitan para poder funcionar correctamente un conocimiento b´ asico a priori de la planta. A fin de poder obtener esa informaci´ on lo mas f´acilmente posible, los fabricantes introdujeron en los controladores adaptativos comerciales un modo de sinton´ıa previa (pre-tune ), que obten´ıa dicha informaci´ on b´asica. Paralelamente, se estaban desarrollando t´ecnicas para poder ajustar autom´ aticamente controladores de tipo PID sin necesidad de intervenci´ on del operario. Lo que 223
224
´ DE AUTOAJUSTE ( AUTOTUNING) FUNCI ON
ocurri´ o, es que se vio que para poder ajustar un PID autom´ aticamente bastaba con la informaci´on b´asica que proporcionaban los modos pre-tune de los controladores adaptativos. Por otra parte, desde el mundo industrial una de las caracter´ısticas m´ as demandadas era una funci´ on de autoajuste inicial. Al instalarse el controlador se activar´ıa dicha funci´on (apretando un bot´ on en el panel de control) a lo que el controlador responder´ıa realizando una bater´ıa de tests pre-programados que dar´ıan como resultado el ajuste autom´atico del controlador. Esta demanda surge de la dificultad y el engorro de ajustar un controlador inicialmente. Lo que hicieron los fabricantes de PID fue aprovechar los resultados obtenidos en el desarrollo de funciones pre-tune en controladores adaptativos para dotar a sus PID de una funci´on de autoajuste como la que demandaban los usuarios. Para conseguir el autoajuste se puede utilizar cualquier t´ecnica de control adaptativo que permita estimar los par´ ametros adecuados, con el u´nico requisito de que los ensayos requeridos sean sencillos, a fin de poderse realizar de manera autom´ atica. Desde el punto de vista pr´ actico, los controladores con autoajuste tendr´ an dos modos de funcionamiento, el modo normal en el cual funcionan como cualquier controlador y el de ajuste. En el modo de ajuste el control se desconecta, se realizan los ensayos necesarios y despu´es se vuelve al modo normal con el controlador a justado. Por tanto un controlador con autoajuste realiza tareas de modelado (identificaci´ on), y dise˜ no del controlador, de manera transparente al usuario, por lo que se simplifican mucho las tareas de instalaci´ on y puesta en marcha de los controladores. Por otra parte no incrementan en mucho el coste final del controlador y son una manera de introducir t´ecnicas de control adaptativo en la industria. Finalmente hay que hacer notar la diferencia fundamental entre un controlador autoajustable del tipo STR y un controlador con autoajuste. En los primeros el controlador de manera aut´ onoma va adapt´ andose de una manera m´ as o menos continuada. En un controlador con funci´ on de autoajuste, dicho autoajuste s´ olo se realiza bajo demanda del operador, y usualmente s´ olo cuando se instala o se cambia sustancialmente las condiciones del equipo a controlar.
CAP ´ITULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA
15.3.
225
Funciones de autoajuste para PIDs
Antes de tratar las distintas t´ecnicas existentes para ajustar autom´ aticamente PIDs es importante hacer notar que los PIDs industriales (figura 15.1) no son exactamente iguales a las formulaciones acad´emicas que se ense˜ nan en cursos b´ asicos de control. Por
Figura 15.1: PID industrial moderno con funci´on de autoajuste (ABB modelo ECA).
ejemplo, en lugar de considerarse la derivada del error se suele usar la derivada de la salida y adem´as a veces ni siquiera se emplea la derivada exacta de la salida, sino que se usa una aproximaci´ on de la misma que reduce la ganancia en altas frecuencias, a fin de minimizar los efectos del ruido. As´ı mismo a la hora de calcular la parte proporcional de la acci´on de control no se suele usar el valor exacto de la referencia a seguir, sino una fracci´ on del mismo, a fin de evitar cambios bruscos en la salida del proceso. Otro detalle muy importante es que se suele incorporar una funci´ o n de anti-windup que, b´asicamente, consiste en que cuando el actuador se satura (alcanza su l´ımite f´ısico de operaci´ on), se deja de integrar el error. Con esto se consigue que, cuando empieza a disminuir el error, el actuador deja de estar saturado, es decir que se consigue que el descenso del error se manifieste en un decremento de la se˜ nal de actuaci´ on. Sin entrar en demasiados detalles un PID m´ as realista que la versi´ on acad´emica vendr´ıa dado por la siguiente expresi´ on: u(t) = f (v(t)) donde u(t) es la se˜ nal de actuaci´ on que se aplica, f (·) es una posible (se suele dar casi siempre) no-linealidad debida al actuador y v(t) = P (t) + I (t) + D(t)
226
FUNCIONES DE AUTOAJUSTE PARA PIDS
donde P (t) es la acci´on proporcional que se calcula mediante P (t) = K c (β ref(t) − y(t))
0,7 ≤ β ≤ 1
I (t) es la acci´ on integral que se calcula mediante dI K c 1 = (ref(t) − y(t)) + (u(t) − v(t)) dt T i T t En la expresi´on anterior el u´ltimo t´ermino que se suma se usan para lograr el efecto anti-windup de manera que la acci´ on integral se mantenga acotada cuando el actuador se sature. El par´ ametro T t es una constante de tiempo para reinicializar la acci´ on integral cuando aparezca la saturaci´ on y suele ser una fracci´ on del tiempo integral T i . Por otra parte la acci´ on derivativa se calcula usando T d dD dy = −D − K c T d N dt dt donde el par´ ametro N es fijo y suele tomarse igual a 10. En cuanto a las t´ecnicas para sintonizar autom´ aticamente PIDs, la gran mayor´ıa est´an basadas en experimentos simples que el PID puede llevar a cabo por si solo. Estos experimentos podr´an ser en bucle abierto o cerrado, de ah´ı que luego distingamos dos tipos de t´ecnicas. Hay que mencionar que en los PID industriales el ajuste autom´atico viene realizado por el propio PID, o por un m´ odulo separado que se coloca en lugar del PID para realizar los experimentos, y que devuelve los valores de los par´ ametros del PID. Este m´odulo deber´ a ser compatible con los distintos modelos de PID que se usen en la planta, ya que para calcular los par´ ametros deben conocerse todas las peculiaridades de los algoritmos usados por cada PID. Otros m´etodos m´ as sofisticados son los que se basan en t´ecnicas de inteligencia artificial principalmente sistemas expertos . Estos programas monitorizan en paralelo el funcionamiento de la planta y cuando se producen cambios de referencia o perturbaciones importantes los aprovechan para analizar la din´amica de la planta, estim´andose valores para par´ ametros como ganancias, factores de amortiguamiento, etc . . . Estos par´ ametros son los que luego se usar´ an para sintonizar el PID. Esta t´ecnica se utiliza por ejemplo en controladores de las marcas Foxboro o Fenwal.
15.3.1.
T´ ecnicas de ajuste basadas en la respuesta transitoria
Estas son t´ecnicas de ajuste en bucle abierto que se basan en aplicar un escal´ on en la se˜ nal de entrada del lazo que se quiere sintonizar y ajustar un modelo simple del tipo k G(s) = e−sL (15.1) 1 + sT
CAP ´ITULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA
227
Conocidos los par´ ametros del modelo el PID se puede ajustar usando t´ecnicas del tipo Ziegler-Nichols de bucle abierto. Otros m´etodos est´ an basados en medida de ´areas como la que se describe a continuaci´ on. Consid´erese la figura 15.2. El procedimiento para calcular T y L comienza por el c´alculo de A0 . De ah´ı se determina L + T =
A0 k
y de ah´ı se puede medir A1 , la cual se usa para obtener T mediante T =
eA1 k
donde e es la base de los logaritmos neperianos. Una vez que se conoce L + T y T se puede obtener L y con eso ya est´an estimados todos los par´ ametros.
k
A0
A1
L+T
Figura 15.2: Determinaci´on de T y L por a´reas.
15.3.2.
M´ etodos basados en las oscilaciones producidas al realimentar con un rel´ e
Los m´etodos de ajuste basados en la respuesta transitoria son simples, pero muy sensibles a las perturbaciones, ya que las pruebas se realizan en bucle abierto. Las t´ecnicas basadas en experimentos en bucle cerrado no tienen este problema. De estas t´ecnicas veremos la que est´a basada en las oscilaciones producidas al realimentar con un rel´e. La estructura para realizar el ajuste es la que se muestra en la figura 15.3. La idea clave es que la mayor´ıa de los procesos exhiben oscilaciones autosostenidas (conocidas como ciclos l´ımite 1 ) cuando son realimentados con un rel´e en la cadena 1
El estudio de los ciclos l´ımite no pertenece a esta asignatura. Baste saber que son oscilaciones con entrada nula o referencia constante que aparecen en ciertos sistemas y que pueden provocarse con la estructura presentada aqu´ı.
´ LA T ECNICA DE AJUSTE POR TABLA O GAIN SCHEDULING
228
PID r
+
u
y PROCESO
RELÉ
Figura 15.3: Estructura usada en el m´etodo basado en oscilaciones de rel´e.
directa. Los par´ ametros del ciclo l´ımite contienen informaci´ on suficiente para calcular los par´ametros de ajuste del PID. El procedimiento consiste en desconectar el controlador a la hora de hacer el ajuste y sustituirlo por el rel´ e. En la salida comenzar´ an a aparecer oscilaciones que se empezar´ an a repetir peri´ odicamente cuando el ciclo l´ımite aparezca. Una vez que se han determinado los par´ ametros del ciclo l´ımite se calculan los del PID y se vuelve a conectar el controlador. El m´etodo m´ as conocido para calcular los par´ ametros del PID es el m´etodo de Ziegler-Nichols de bucle cerrado. Suponiendo una referencia nula, si el ciclo l´ımite resultante tiene amplitud a y frecuencia ω u entonces los par´ ametros del m´etodo de Ziegler-Nichols de bucle cerrado, es decir, la ganancia cr´ıtica K u y el periodo cr´ıtico T u son iguales a 4d 2π K u = T u = πa ωu donde d es la amplitud del rel´e.
15.4.
La t´ ecnica de ajuste por tabla o gain scheduling
Existen otros controladores que proporcionan una cierta capacidad de adaptaci´ on pero que no enca jan en el esquema t´ıpico discutido en el cap´ıtulo 13 ya que la adaptaci´ on se realiza en bucle abierto. Este esquema, m´ as limitado se ilustra en la figura 15.4. Puede observarse que en este caso, el ajuste de los par´ ametros no se realiza en funci´ o n del comportamiento del sistema, sino que se utilizan los valores de una variable auxiliar para decidir cuales son los mejores valores de los par´ ametros del regulador. De ah´ı que se diga que la adaptaci´on es en bucle abierto. Un esquema de control t´ıpico que utiliza la estructura de la figura 15.4 es el popular gain scheduling o ajuste por tabla. En este esquema, los par´ ametros del controlador que
CAP ´ITULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA
229
+
u
y
REFERENCIA
MEDIO AMBIENTE
Figura 15.4: Configuraci´on gen´erica de un controlador adaptativo con adaptaci´ on en bucle abierto.
se usan en cada instante vienen determinados por una tabla precalculada para varios puntos de funcionamiento o valores de la variable auxiliar. Este tipo de control es muy popular, por ejemplo, en sistemas de control de vuelo, en los que los par´ ametros del controlador se seleccionan de un conjunto de par´ ametros precalculados en funci´ o n de la altura de vuelo. Por supuesto, este tipo de control funciona bien si entre la variable auxiliar y la din´amica del sistema existe una fuerte relaci´ on, que permite determinar el valor de los par´ ametros en funci´ on del valor observado de la variable auxiliar. Una ventaja que tiene este esquema es que los par´ ametros del control se pueden cambiar (adaptar) a la misma velocidad a la que cambia la din´amica del sistema pues estos cambios se reflejan sobre la variable auxiliar a la vez que se producen. Esta rapidez en el cambio de los par´ametros puede ser, sin embargo, contraproducente. Por otra parte la construcci´on de la tabla puede ser muy complicada. De hecho no existe una metodolog´ıa universal, sino que para cada aplicaci´ on ha de verse como llevar a la pr´actica las ideas del gain scheduling . Por u ´ ltimo encontrar la variable auxiliar apropiada no siempre es posible. Estos controladores, sin embargo, se pueden encontrar en diversos sistemas t´ıpicos de control, principalmente debido a su sencillez y efectividad cuando est´ an bien dise˜ nados. Algunas de las aplicaciones t´ıpicas son: Linealizaci´on de la caracter´ıstica de ciertos actuadores. Tal y como se vio en la secci´on 13.2 la caracter´ıstica no lineal de un actuador se puede aproximar por un modelo linealizado a trozos, de manera que en funci´ on del punto de operaci´ on del actuador se escoger´ an unos valores u otros para el controlador. Control de pH. En estos sistemas se presentan no linealidades originadas tanto por los elementos de control (v´ alvulas, bombas, sensores) como por las reacciones
´ LA T ECNICA DE AJUSTE POR TABLA O GAIN SCHEDULING
230
qu´ımicas propias del proceso. La no linealidad principal proviene de la relaci´ on entre las concentraciones de los reactivos y el pH de la soluci´ on resultante. Dicha 2 relaci´on se representa en la llamada curva de pH . En dicha curva se representa el pH en funci´on de las diferencias en las concentraciones de los reactivos. En la figura 15.5 se muestra dicha curva para una soluci´ on acuosa de a´cido clorh´ıdrico y sosa c´ austica (es decir un par a´cido-base). Puede observarse que en este caso la no linealidad tambi´en se puede aproximar bien por un modelo linealizado a tramos. 12
11
10
9
8
H 7 p
6
5
4
3
2 −1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
Diferencia entre las concentraciones acido−base
0.8
1 −3
x 10
Figura 15.5: Curva de pH para una soluci´on de HCl 0.001 M y NaOH 0.001 M.
Control de la mezcla aire combustible en un motor de combusti´ on. En este caso se utilizan como variables para decidir el ajuste del controlador (un PI usualmente) la velocidad del motor y la cantidad de aire que entra. Usando dichas variables se busca en una tabla (usualmente de 16x16 entradas) en la que se obtienen los valores de los par´ ametros del controlador (si los valores de las variables no coinciden con los de ninguna entrada se interpola con las m´ a s pr´ oximas). La variable de control es el tiempo de apertura de la v´ alvula de inyecci´on de combustible. En este caso se presenta otra no linealidad debida al sensor utilizado para medir la proporci´ on de aire y combustible. Este sensor denominado sonda lambda tiene una caracter´ıstica que de manera aproximada viene representada por la figura 15.6. De hecho la se˜ nal de error que se env´ıa al PI se genera mediante la expresi´ on e = 2
1 si V > 0,5 −1 si V ≤ 0,5
En realidad el nombre t´ecnico es curva de titraci´on, aunque tales detalles no son relevantes en esta asignatura
CAP ´ITULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA
231
1 0.9 0.8 0.7 ) V (
a 0.6 d i l a s e 0.5 d e j a t l 0.4 o V
0.3 0.2 0.1 0 0.5
0.6
0.7
0.8
0.9
1
1.1
1.2
1.3
1.4
1.5
Relación combustible − aire (λ)
Figura 15.6: Caracter´ıstica aproximada de una sonda lambda
Control de vuelo. Es el ejemplo cl´ a sico, en este caso, se puede encontrar una relaci´on entre los par´ametros o´ptimos del controlador y la altura, la velocidad y el n´ umero de Mach. Control de la direcci´ on de un barco. En este caso la din´ amica considerada para el control de la direcci´ on depende de la velocidad del barco y de ciertas variables relacionadas con el tiempo atmosf´erico, como la fuerza y direcci´ on del viento (en realidad dichas variables atmosf´ericas no afectan a la din´ amica del barco en si, sino a la de las perturbaciones que este sufre). A modo de conclusi´on, podemos decir que la t´ecnica de gain scheduling se puede usar con ´exito cuando las no linealidades que se pretendan compensar se conocen bien a priori. Por otra parte como la adaptaci´ on es en bucle abierto, es necesario conocer bien tanto la din´ amica del proceso como la de las perturbaciones.
15.5.
Controladores adaptativos industriales
Las t´ecnicas de control adaptativo han llegado al mundo industrial en distintas formas y capacidades, entre las cuales podemos distinguir las siguientes. Herramientas para sintonizar controladores. Est´ an basadas en experimentos como los que se han descrito en la secci´on 15.3. A veces se encuentran como com-
232
CONTROLADORES ADAPTATIVOS INDUSTRIALES
ponentes opcionales del controlador como en el caso de los sistemas Protonic (Hartman & Braun) o UDC 6000 (Honeywell). Estos combinan reglas emp´ıricas y t´ecnicas de colocaci´on de polos usando experimentos en bucle abierto. Las estrategias de oscilaciones mediante rel´e tambi´ en son comunes como por ejemplo 3 en el SattControl ECA40 y en el DPR900 (Fisher-Rosemount). Otra posibilidad es que estas herramientas para sintonizar controladores sean m´ odulos independientes, compatibles con determinadas familias de controladores. En este tipo encontramos ejemplo como SIEPID (Siemens), Supertuner (Toyo), Protuner (Techmation) o PIDWIZ (BST Control). Una tercera posibilidad es que estas herramientas formen parte de sistemas de control distribuido como en el caso de Looptune (Honeywell) e Intelligent Tuner (Fisher-Rosemount). Controladores adaptativos estandar. Estos controladores ajustan los par´ ametros de manera m´ as o menos continua. Los hay que est´ an basados en la identificaci´ on de un modelo mediante m´ınimos cuadrados recursivos como los CLC04 (Bailey Controls) y SLPC-181/281 (Yokogawa) que adem´ as utilizan una estrategia de control por colocaci´ on de polos. Algunos, como el SattControl ECA40, no identifican un modelo param´etrico sino que usan reglas del tipo Ziegler-Nichols de bucle cerrado, a partir de experimentos de realimentaci´ on con rel´e. Por otra parte existen otros m´ as ambiciosos que est´ an basados en sistemas expertos y en t´ecnicas de reconocimiento de patrones como EXACT (Foxboro), SLPC-171/271 (Yokogawa) o UDC 6000 de Honeywell. Estos sistemas utilizan una base de reglas (100-200) con las que se pretende reproducir el conocimiento de un experto (humano) en sintonizar controladores. Finalmente, las capacidades de gain scheduling tambi´en est´an presentes en ciertos controladores como el SattControl ECA 400 o el DPR910 (Fisher-Rosemount). Controladores adaptativos basados en aut´ omatas programables. Los aut´ omatas programables ganan terreno d´ıa a d´ıa en cualquier aplicaci´ on industrial de control. 3M y General Electric tienen en su cat´ alogo aplicaciones de control adaptativo basados en sus aut´ omatas. Soluciones a medida. A veces en determinadas aplicaciones se encuentran controladores adaptativos a medida y que por tanto son exclusivos de cada sistema. Se encuentran en barcos, aviones, automoci´ on, y ciertas industrias.
A continuaci´ on se analizar´ an en mayor detalle algunos controladores especialmente interesantes. 3
Mas tarde Alfa-Laval y actualmente ABB.
CAP ´ITULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA
15.5.1.
233
SattControl ECA40 y Fisher-Rosemount DPR900
Estos controladores est´ an basados en oscilaciones inducidas mediante realimentaci´ on con un rel´e. Incluyen una funci´ on de ”sinton´ıa pulsando un bot´on”. Adem´ as tiene capacidades limitadas de gain scheduling con una tabla de tres entradas. Previamente al ajuste el proceso se deja evolucionar con una entrada constante. El procedimiento de ajuste comienza con la detecci´ on del ciclo l´ımite. En cuanto se observa que las oscilaciones comienzan a repetirse, se calcula la amplitud y periodo de las mismas y a partir de ah´ı se calculan los par´ ametros. Para ello se utilizan una versi´ on modificada del m´etodo de Ziegler-Nichols. Una vez se calculan los par´ ametros el controlador conmuta a modo autom´ atico. El ajuste ofrece tres perfiles diferentes: control normal, lento o r´apido. La reacci´ on de la comunidad industrial a estos productos ha sido muy buena, encontr´ andose particularmente u´til en industrias que no tienen personal especializado en todos los turnos.
15.5.2.
Foxboro EXACT
Este sistema est´ a basado en la respuesta transitoria de bucle cerrado, es decir es de bucle cerrado pero no usa las oscilaciones inducidas por un rel´e. Lo que se emplea es un escal´on o perturbaci´ on aplicada al sistema y de la evoluci´on de la salida a partir de ese instante se obtiene informaci´ on que permite ajustar el controlador usando Ziegler-Nichols. Este controlador requiere informaci´ on previa para poder sintonizar autom´aticamente, concretamente una estimaci´ on previa de K c , T i y T d , as´ı como de la escala de tiempos del proceso. Si esta informaci´ on se desconoce se puede usar el modo de pre-tune incorporado que la obtiene mediante la aplicaci´ on de un escal´ on. Es necesario sin embargo que el proceso est´e en regimen permanente. La aceptaci´on comercial de este producto ha sido excelente y se han vendido miles de unidades. A modo de an´ecdota la planta de Atlantic Copper en Huelva utiliza este controlador en algunos de sus procesos. El controlador adaptativo multivariable EXACT MV se distribuye actualmente en forma de software de control avanzado como parte del sistema I/A Series de Foxboro.
15.5.3.
ABB Novatune
Esta herramienta de control STR (figura 15.7) est´ a basada entre otras cosas en el control de m´ınima varianza y ofrece la capacidad de especificar la posici´ on de 1 de los
234
CONTROLADORES ADAPTATIVOS INDUSTRIALES
polos de bucle cerrado. Utiliza m´ınimos cuadrados recursivos con factor de olvido para
Figura 15.7: La herramienta Novatune se comercializa actualmente con el sistema Advant 410 de ABB.
identificar un modelo que tiene la estructura (1 − P l z −1 )y(t + kd ) − (1 − P l )y(t) = A(z −1 )∆y(t) + B(z −1 )∆u(t) + C (z −1 )∆v(t) donde P l es el polo que se puede especificar y k d es el horizonte de predicci´ on. Por otra parte la ley de control tiene la forma (σ + B ∗ (z −1 ))∆u(t) = (1 − P l )(ref(t) − y(t)) − A(z −1 )∆y(t) − C (z −1 )∆v(t) donde σ es un factor de ponderaci´ on. La experiencia en el uso de esta herramienta demuestra que da mejores resultados que el control PID convencional.
Cap´ıtulo 16 Control Predictivo Basado en Modelo (MPC) 16.1.
Perspectiva hist´ orica
El Control Predictivo se desarroll´ o en base a dos l´ıneas b´asicas. Por un lado, a finales de los a˜ nos setenta surgieron diversos algoritmos que usaban expl´ıcitamente un modelo din´ amico del proceso para predecir el efecto de las acciones de control futuras en la salida, las cuales eran determinadas minimizando el error predicho sujeto a restricciones de operaci´ on. La optimizaci´ on se repet´ıa en cada instante de muestreo con informaci´ on actualizada del proceso. Estas formulaciones eran de naturaleza heur´ıstica y algor´ıtmica e intentaban aprovechar el creciente potencial de los computadores digitales por aqu´ella ´epoca. R´apidamente el mpc adquiri´o gran popularidad en las industrias de procesos qu´ımicos principalmente debido a la simplicidad del algoritmo y al uso del modelo de respuesta impulsional o en escal´on, que aunque posea muchos m´as par´ ametros que las formulaciones en el espacio de estados o funci´ on de transferencia suele ser preferido por ser intuitivo y necesitar menos informaci´ on a priori para identificar. La mayor´ıa de las aplicaciones fueron llevadas a cabo sobre sistemas multivariables incluyendo restricciones. Los algoritmos utilizados fueron principalmente el idcom (IdentificationCommand) y el dmc (Control con Matriz Din´ amica, Dynamic Matrix Control ). Independientemente fue surgiendo otra l´ınea de trabajo en torno a las ideas del control adaptativo, desarrollando estrategias esencialmente para procesos monovariables 235
´ CONCEPTOS BASICOS DE CONTROL PREDICTIVO
236
formuladas con modelos entrada/salida. En este contexto se extendieron las ideas del Controlador de M´ınima Varianza y se desarroll´ o el Control Predictivo Generalizado (Generalized Predictive Control gpc) que es uno de los m´etodos m´ as populares en la actualidad.
16.2.
Conceptos b´ asicos de control predictivo
El Control Predictivo Basado en Modelo, Model (Based) Predictive Control (mbpc o´ mpc ) constituye un campo muy amplio de m´etodos de control desarrollados en torno a ciertas ideas comunes e integra diversas disciplinas como control o´ptimo, control estoc´ astico, control de procesos con tiempos muertos, control multivariable o control con restricciones. El Control Predictivo no es una estrategia de control espec´ıfica, sino que se trata m´as bien de un campo muy amplio de m´ etodos de control desarrollados en torno a ciertas ideas comunes. Estos m´etodos de dise˜ no conducen a controladores lineales que poseen pr´ acticamente la misma estructura y presentan suficientes grados de libertad. Las ideas que aparecen en mayor o menor medida en toda la familia de controladores predictivos son b´ asicamente: Uso expl´ıcito de un modelo para predecir la salida del proceso en futuros instantes de tiempo (horizonte). C´alculo de las se˜ nales de control minimizando una cierta funci´ on objetivo. Estrategia deslizante, de forma que en cada instante el horizonte se va desplazando hacia el futuro, lo que implica aplicar la primera se˜ n al de control en cada instante y desechar el resto, repitiendo el c´ alculo en cada instante de muestreo. Los distintos algoritmos de mpc difieren entre s´ı casi exclusivamente en el modelo usado para representar el proceso y los ruidos y en la funci´ on de coste a minimizar. Aunque las diferencias puedan parecer peque˜ nas a priori , pueden provocar distintos comportamientos en bucle cerrado, siendo cr´ıticas para el ´exito de un determinado algoritmo en una determinada aplicaci´ on. El Control Predictivo es un tipo de control de naturaleza abierta dentro del cual se han desarrollado muchas realizaciones, encontrando gran aceptaci´ on tanto en aplicaciones industriales como en el mundo acad´emico. En la actualidad existen numerosas
CAP ´ITULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC)
237
aplicaciones de controladores predictivos funcionando con ´exito, tanto en la industria de procesos como en control de motores o Rob´ otica. El buen funcionamiento de estas aplicaciones muestra la capacidad del mpc para conseguir sistemas de control de elevadas prestaciones capaces de operar sin apenas intervenci´ on durante largos per´ıodos de tiempo. El mpc presenta una serie de ventajas sobre otros m´etodos, entre las que destacan: Resulta particularmente atractivo para personal sin un conocimiento profundo de control, puesto que los conceptos resultan muy intuitivos, a la vez que la sintonizaci´ on es relativamente f´ acil. Puede ser usado para controlar una gran variedad de procesos, desde aqu´ellos con din´amica relativamente simple hasta otros m´ as complejos incluyendo sistemas con grandes retardos, de fase no m´ınima o inestables. Permite tratar con facilidad el caso multivariable. Posee intr´ınsecamente compensaci´ on del retardo. Resulta conceptualmente simple la extensi´ on al tratamiento de restricciones, que pueden ser incluidas de forma sistem´ atica durante el proceso de dise˜ no. Es muy u ´ til cuando se conocen las futuras referencias (rob´ otica o procesos en batch ). Es una metodolog´ıa completamente abierta basada en algunos principios b´ asicos que permite futuras extensiones. Pero, l´ogicamente, tambi´en presenta inconvenientes. Unos de ellos es la carga de c´alculo necesaria para la resoluci´ on de algunos algoritmos. Pero quiz´ as el mayor inconveniente venga marcado por la necesidad de disponer de un modelo apropiado del proceso. El algoritmo de dise˜ no est´ a basado en el conocimiento previo del modelo y es independiente de ´este, pero resulta evidente que las prestaciones obtenidas depender´ an de las discrepancias existentes entre el proceso real y el modelo usado.
16.3.
Estrategia de los controladores predictivos
La metodolog´ıa de todos los controladores pertenecientes a la familia del mpc se caracteriza por la estrategia siguiente, representada en la figura 16.1:
238
ESTRATEGIA DE LOS CONTROLADORES PREDICTIVOS
u(t+k|t) u(t)
^ y(t+k|t) y(t) N
t-1
t
t+1
...
t+k
...
t+N
Figura 16.1: Estrategia del Control Predictivo
1. En cada instante t y haciendo uso del modelo del proceso se predicen las futuras salidas para un determinado horizonte N , llamado horizonte de predicci´ on. Estas salidas predichas, yˆ(t + k | t)1 para k = 1 . . . N dependen de los valores conocidos hasta el instante t (entradas y salidas pasadas) y de las se˜ nales de control futuras u(t + k | t), k = 0 . . . N − 1 que se pretenden mandar al sistema y que son las que se quieren calcular. 2. El conjunto de se˜ nales de control futuras se calcula optimizando un determinado criterio en el que se pretende mantener el proceso lo m´ a s pr´ oximo posible a la trayectoria de referencia w(t + k) (que puede ser directamente el setpoint o una suave aproximaci´ on a ´este). Este criterio suele tomar la forma de una funci´ on cuadr´atica de los errores entre la salida predicha y la trayectoria de referencia tambi´ en predicha, incluyendo en muchos casos el esfuerzo de control. Si el criterio es cuadr´ atico, el modelo lineal y no existen restricciones se puede obtener una soluci´on expl´ıcita, en otro caso se debe usar un m´etodo iterativo de optimizaci´ on. Adicionalmente se hace alguna suposici´ on sobre la estructura de la ley de control futura, como por ejemplo que va a ser constante a partir de cierto instante. 3. La se˜ nal de control u(t | t) es enviada al proceso mientras que las siguientes se˜nales de control calculadas son desechadas, puesto que en el siguiente instante 1
la notaci´on indica el valor de la variable en el instante t + k calculado en el instante t .
CAP ´ITULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC)
Entradas y salidas pasadas
Trayectoria de referencia
Salidas predichas
Modelo
239
+ -
Controles futuros
Optimizador Errores futuros Funcion de coste
Restricciones
Figura 16.2: Estructura b´asica del MPC
de muestreo ya se conoce y(t + 1) y se repite el paso 1 con este nuevo valor y todas las secuencias son actualizadas. Se calcula por tanto u(t + 1 | t +1) (que en principio ser´ a diferente al u(t + 1 | t) al disponer de nueva informaci´ on), haciendo uso del concepto de horizonte deslizante.
Para llevar a cabo esta estrategia, se usa una estructura como la mostrada en la figura 16.2. Se hace uso de un modelo para predecir las salidas futuras del proceso, bas´andose en las futuras se˜ nales de control propuestas. Estas se˜ nales son calculadas por el optimizador teniendo en cuenta la funci´ o n de coste (donde aparece el futuro error de seguimiento) as´ı como las restricciones. Por tanto el modelo juega un papel decisivo en el controlador. El modelo elegido debe ser capaz de capturar la din´ amica del proceso para poder predecir las salidas futuras al mismo tiempo que debe ser sencillo de usar y de comprender. El optimizador es otra parte fundamental de la estrategia pues proporciona las acciones de control. Si la funci´ on de coste es cuadr´ atica, el m´ınimo se puede obtener como una funci´ on expl´ıcita de las entradas y salidas pasadas y de la trayectoria de referencia. Sin embargo, cuando existen restricciones de desigualdad la soluci´ on debe ser calculada por m´etodos num´ericos con m´ as carga de c´ alculo.
´ ELEMENTOS BASICOS
240
16.4.
Elementos b´ asicos
Todos los controladores predictivos poseen elementos comunes y para cada uno de estos elementos se pueden elegir diversas opciones, dando lugar a distintos algoritmos. Estos elementos son: Modelo de predicci´ on Funci´ on objetivo Obtenci´on de la ley de control
16.4.1.
Modelo de predicci´ on
La piedra angular del mpc es el modelo; un dise˜ no completo debe incluir los mecanismos necesarios para la obtenci´ on del mejor modelo posible, el cual debe ser lo suficientemente rico para capturar al maximo la din´ amica del proceso y debe ser capaz de permitir el c´alculo de las predicciones a la vez que sea intuitivo y permita un an´alisis te´orico. El uso del modelo del proceso viene determinado por la necesidad del c´alculo de la salida predicha en instantes futuros y(t + k ˆ | t). Las diferentes estrategias de mpc pueden usar distintos modelos para representar la relaci´ on de las salidas con las entradas medibles, algunas de las cuales ser´ an variables manipuladas y otras se pueden considerar como perturbaciones medibles, que pueden ser compensadas por acci´on feedforward . Adem´as se tendr´ a en cuenta un modelo de las perturbaciones, para intentar describir el comportamiento que no aparece reflejado en el modelo del proceso, englob´ andose aqu´ı el efecto de las entradas no medibles, el ruido y los errores de modelado. Para el estudio se puede separar el modelo en dos partes: el modelo del proceso propiamente dicho y el modelo de las perturbaciones. Cualquier m´etodo usar´ a ambas partes para la predicci´ on.
Modelo del Proceso Casi todas las formas posibles de modelar un proceso aparecen en alguna formulaci´on de mpc siendo las m´as usadas las siguientes: Respuesta impulsional. Tambi´en conocida por secuencia de ponderaci´on o modelo
CAP ´ITULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC)
241
2
h
i
g i
1
h
h
y(t)
g
N
2
N
g
y(t)
h
1
g
t
...
t+1 t+2
t+N
t
...
t+1 t+2
t+N
b)
a)
Figura 16.3: Respuesta impulsional y ante escal´on
de convoluci´ on. La salida viene relacionada con la entrada por la ecuaci´ on y(t) =
∞
hi u(t − i)
i=1
donde hi son los valores muestreados obtenidos al someter al proceso a un impulso unitario de amplitud igual al per´ıodo de muestreo (ver figura 16.3a). Esta suma es truncada y s´olo se consideran N valores (por tanto s´ olo permite representar procesos estables y sin integradores), teniendo N
y(t) =
hi u(t − i) = H (z −1 )u(t)
(16.1)
i=1
donde H (z −1 ) = h 1 z −1 + h2 z −2 + · · · + hN z −N . Un inconveniente de este m´etodo es el gran n´ umero de par´ ametros que necesita, ya que N suele ser un valor elevado (del orden de 40-50). La predicci´ on vendr´ a dada por: N
yˆ(t + k | t) =
hi u(t + k − i | t) = H (z −1 )u(t + k | t)
i=1
Este m´etodo es ampliamente aceptado en la pr´actica industrial debido a que es muy intuitivo y no requiere informaci´ o n previa sobre el proceso, con lo que el procedimiento de identificaci´ on se simplifica, a la vez que permite describir f´acilmente din´ amicas complejas como fase no m´ınima o retardos.
´ ELEMENTOS BASICOS
242
Respuesta ante escal´ on. Es muy similar al anterior s´ olo que ahora la se˜ n al de entrada es un escal´ on. Para sistemas estables se tiene la respuesta truncada que ser´a N y(t) = y + g u(t − i) = y + G(z −1)(1 − z −1 )u(t) (16.2) 0
0
i
i=1
donde las gi son los valores muestreados ante la entrada en escal´ on y u(t) = u(t) − u(t − 1), seg´ un se muestra en la figura 16.3b. El valor de y 0 puede tomarse 0 sin p´erdida de generalidad, con lo cual el predictor ser´ a: N
yˆ(t + k | t) =
gi u(t + k − i | t)
i=1
Este m´etodo presenta las mismas ventajas e inconvenientes que el anterior. Funci´ on de transferencia. Se utiliza el concepto de funci´ on de transferencia G = B/A con lo que la salida viene dada por: A(z −1)y(t) = B(z −1)u(t) A(z −1 ) = 1 + a1 z −1 + a2 z −2 + · · · + ana z −na B(z −1 ) = b1 z −1 + b2 z −2 + · · · + bnb z −nb Por tanto la predicci´ on vendr´ a dada por B(z −1 ) yˆ(t + k | t) = u(t + k | k) A(z −1 ) Esta representaci´ on es v´alida tambi´ en para procesos inestables y posee la ventaja de necesitar pocos par´ametros, aunque es fundamental un conocimiento a priori del proceso sobre todo en cuanto al orden de los polinomios A y B. Espacio de estados. Tiene la siguiente representaci´ on: x(t) = Ax(t − 1) + Bu(t − 1) y(t) = Cx(t) siendo x el estado y A, B y C las matrices del sistema, de entrada y de salida respectivamente. Para este modelo la predicci´ on viene dada por k
k
yˆ(t + k | t) = C ˆ x(t + k | t) = C [A x(t) +
Ai−1 Bu(t + k − i | t)]
i=1
Posee la ventaja de que sirve tambi´en para sistemas multivariables a la vez que permite analizar la estructura interna del proceso (aunque a veces los estados obtenidos al discretizar no tienen ning´ un significado f´ısico). Los c´ alculos pueden ser complicados, con la necesidad adicional de incluir un observador si los estados no son accesibles.
CAP ´ITULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC)
243
Modelo de las perturbaciones De tanta importancia como la elecci´ on de un determinado modelo del proceso es la elecci´on del modelo utilizado para representar la perturbaciones. Un modelo bastante extendido es el Autorregresivo Integrado de Media M´ ovil (Auto-Regressive and Integrated Moving Average, arima), en el que las perturbaciones, es decir, las diferencias entre la salida medida y la calculada por el modelo vienen dadas por C (z −1 )e(t) n(t) = D(z −1 ) donde el polinomio D(z −1 ) incluye expl´ıcitamente el integrador = 1 − z −1 , e(t) es un ruido de media cero y normalmente el polinomio C se considera igual a uno. Este modelo se considera apropiado para dos tipos de perturbaciones: cambios aleatorios ocurridos en instantes aleatorios (por ejemplo cambio en la calidad del material) y movimiento browniano (en procesos con balance de energ´ıa) y es usado en varios m´etodos. N´otese que al incluir un integrador se consigue un control con error nulo en r´egimen permanente (offset-free ). Como caso particular del arima se puede incluir la perturbaci´ on constante n(t) =
e(t) 1 − z −1
cuya mejor predicci´ on ser´ an ˆ (t + k | t) = n(t).
16.4.1.1.
Respuestas libre y forzada
Una caracter´ıstica t´ıpica de la mayor´ıa de los controladores mpc es el empleo de los conceptos de repuesta libre y forzada . La idea es expresar la secuencia de acciones de control como la suma de dos se˜ nales: u(t) = u f (t) + uc (t) La se˜ nal uf (t) corresponde a las entradas pasadas (anteriores al instante t) y en el futuro se mantiene constante e igual al ultimo ´ valor de la variable manipulada. Es decir, uf (t − j) = u(t − j) para j = 1, 2, · · · uf (t + j) = u(t − 1) para j = 0, 1, 2, · · ·
´ ELEMENTOS BASICOS
244
La se˜ nal uc (t) vale cero en el pasado y corresponde a las se˜ nales de control en los instantes futuros: uc (t − j) = 0 para j = 1, 2, · · · uc (t + j) = u(t + j) − u(t − 1) para j = 0, 1, 2, · · ·
La predicci´ on de la secuencia se salida se separa en dos partes, como se ve en la figura 16.4. Una de ellas (yf (t)), la respuesta libre , corresponde a la predicci´ on de la salida cuando la variable manipulada se hace igual a uf (t), y la otra, la repuesta forzada (yc (t)), corresponde a la predicci´ o n de la salida cuando la se˜ nal de control es uc (t). La respuesta libre corresponde a la evoluci´ o n del proceso debido a su estado actual (incluido por tanto el efecto de acciones pasadas) mientras que la respuesta forzada es la debida a las acciones de control futuras. y
u
Process
t
t
u
uc
f
y f
t
t
yc
t
t
Figura 16.4: Respuestas libre y forzada
16.4.2.
Funci´ on objetivo
Los diversos algoritmos de mpc proponen distintas funciones de coste para la obtenci´on de la ley de control. En general se persigue que la salida futura en el horizonte considerado siga a una determinada se˜ nal de referencia al mismo tiempo que se puede penalizar el esfuerzo de control requerido para hacerlo. La expresi´ o n general de tal funci´on objetivo ser´ a: N 2
J (N 1 , N 2 , Nu) =
j =N 1
Nu
2
δ ( j)[ˆ y(t + j | t) − w(t + j)] +
j =1
λ( j)[u(t + j − 1)]2 (16.3)
CAP ´ITULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC)
245
En algunos m´etodos el segundo sumando, que considera el esfuerzo de control, no se tiene en cuenta, mientras que en otros tambi´en aparecen directamente los valores de la se˜ nal de control (no sus incrementos). En la funci´ on de coste se pueden considerar:
Par´ ametros: N 1 y N 2 son los horizontes m´ınimo y m´ aximo de coste (o de predicci´o n) y Nu es el horizonte de control, que no tiene por qu´e coincidir con el horizonte m´ aximo, como se ver´ a posteriormente. El significado de N 1 y N 2 resulta bastante intuitivo: marcan los l´ımites de los instantes en que se desea que la salida siga a la referencia. As´ı, si se toma un valor grande de N 1 es porque no importa que haya errores en los primeros instantes, lo cual provocar´ a una respuesta suave del proceso. N´ otese que para procesos con tiempo muerto d no tiene sentido que N 1 sea menor que dicho valor puesto que la salida no empezar´ a a evolucionar hasta el instante t + d. Adem´as, si el proceso es de fase no m´ınima, este par´ ametro permite eliminar de la funci´ on objetivo los primeros instantes de respuesta inversa. Los coeficientes δ ( j) y λ( j) son secuencias que ponderan el comportamiento futuro. Usualmente se consideran valores constantes o secuencias exponenciales. Por ejemplo se puede conseguir un peso exponencial de δ ( j) a lo largo del horizonte usando: δ ( j) = α N 2 − j Si α est´a comprendido entre 0 y 1 indica que se penaliza m´ as a los errores m´ as alejados del instante t que a los m´a s pr´ oximos, dando lugar a un control m´ as suave y con menor esfuerzo. Si, por el contrario, α > 1 es que se penalizan m´ as los primeros errores, provocando un control m´ as brusco. Todos estos valores pueden ser usados como par´ ametros de sintonizaci´ on, obteniendo un abanico muy amplio de posibilidades con las que se puede cubrir una extensa gama de opciones, desde un control est´ andar hasta una estrategia dise˜ nada a medida para un proceso en particular. Trayectoria de referencia: Una de las ventajas del control predictivo es que si se conoce a priori la evoluci´on futura de la referencia, el sistema puede empezar a reaccionar antes de que el cambio se haya efectivamente realizado, evitando los efectos del retardo en la respuesta del proceso. En muchas aplicaciones la evoluci´ o n futura de la referencia r(t + k) es conocida de antemano, como en Rob´otica, servos o procesos en batch ; en otras aplicaciones aunque la referencia sea constante, se puede conseguir una sensible mejora de prestaciones simplemente conociendo el instante de cambio de valor y adelant´ andose a esa circunstancia. En el criterio de minimizaci´ on (16.3), la mayor´ıa de los m´etodos suelen usar una trayectoria de referencia w(t + k) que no tiene por qu´e coincidir con la referencia
´ ELEMENTOS BASICOS
246
real. Normalmente ser´ a una suave aproximaci´ on desde el valor actual de la salida y(t) a la referencia conocida mediante un sistema de primer orden: w(t) = y(t)
w(t + k) = αw(t + k − 1)+(1 − α)r(t + k)
k = 1 . . . N (16.4)
α es un par´ametro comprendido entre 0 y 1 (mientras m´ a s pr´ oximo a 1 m´as suave ser´ a la aproximaci´on) que constituye un valor ajustable que influir´ a en la respuesta din´ amica del sistema. En la figura 16.5 se muestra la forma de la trayectoria cuando la referencia r(t + k) es constante y para dos valores distintos de α; para valores peque˜ n os de este par´ ametro se tiene un seguimiento r´ apido (w1) mientras que si aumenta, la trayectoria de referencia ser´ a w2 dando lugar a una respuesta m´as suave.
r(t+k) w1(t+k)
w2 (t+k)
y(t)
t Figura 16.5: Trayectoria de referencia
Restricciones: En la pr´ actica, todos los procesos est´ an sujetos a restricciones. Los actuadores tienen un campo limitado de acci´ on as´ı como una determinada velocidad de cambio (slew rate ), como es el caso de las v´alvulas, limitadas por las posiciones de totalmente abierta o cerrada y por la velocidad de respuesta. Razones constructivas, de seguridad o medioambientales o bien los propios alcances de los sensores pueden causar l´ımites en las variables de proceso, tales como niveles en dep´ositos, caudales en tuber´ıas o temperaturas y presiones m´ aximas. Adem´as, normalmente las condiciones de operaci´ on vienen definidas por la intersecci´ on de ciertas restricciones por motivos fundamentalmente econ´ omicos, con lo que el sistema de control operar´ a cerca de los l´ımites. Todo lo expuesto anteriormente hace necesaria la introducci´ on de restricciones en la funci´ on a minimizar. Muchos algoritmos predictivos tienen en cuenta el tema de las restricciones por lo cual han tenido gran ´exito en la industria. Normalmente se considerar´ an l´ımites
CAP ´ITULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC)
247
en la amplitud y el slew rate de la se˜ nal de control y l´ımites en las salidas: umin ≤
u(t)
≤ umax
dumin ≤ u(t) − u(t − 1) ≤ dumax ymin ≤
y(t)
≤ ymax
∀t ∀t ∀t
con la adici´ on de estas restricciones a la funci´ on objetivo, la minimizaci´ on resulta m´as compleja, no pudiendo obtenerse la soluci´ on anal´ıticamente como en el caso sin restringir.
16.4.3.
Obtenci´ on de la ley de control
Para obtener los valores u(t + k | t) ser´ a necesario minimizar la funcional J de la | t) ecuaci´on (16.3). Para ello se calculan los valores de las salidas predichas y(t + k ˆ en funci´ on de valores pasados de entradas y salidas y de se˜ nales de control futuras, haciendo uso del modelo que se haya elegido y se sustituyen en la funci´ on de coste, obteniendo una expresi´ on cuya minimizaci´ on conduce a los valores buscados. Para el criterio cuadr´ atico si el modelo es lineal y no existen restricciones se puede obtener una soluci´on anal´ıtica, en otro caso se debe usar un m´etodo iterativo de optimizaci´ on. De cualquiera de las maneras la obtenci´ o n de la soluci´ on no resulta trivial pues existir´an N 2 − N 1 + 1 variables independientes, valor que puede ser elevado (del orden de 10 a 30). Con la idea de reducir estos grados de libertad se puede proponer cierta estructura a la ley de control. Adem´ as se ha encontrado que esta estructuraci´ on de la ley de control produce una mejora en la robustez y en el comportamiento general del sistema, debido fundamentalmente a que el hecho de permitir la libre evoluci´ on de las variables manipuladas (sin estructurar) puede conducir a se˜ nales de control de alta frecuencia no deseables y que en el peor de los casos podr´ıan conducir a la inestabilidad. Esta estructura de la ley de control se plasma en el uso del concepto de horizonte de control (N u), que consiste en considerar que tras un cierto intervalo Nu < N 2 no hay variaci´ on en las se˜ nales de control propuestas, es decir:
u(t + j − 1) = 0
j > Nu
lo cual es equivalente a dar pesos infinitos a las cambios en el control a partir de cierto instante. El caso l´ımite ser´ıa considerar N u igual a 1 con lo que todas las acciones futuras ser´ıan iguales a u(t)2. 2
Recu´ erdese que debido al horizonte deslizante, la se˜nal de control se recalcula en el siguiente muestreo.
248
´ DE LOS PRINCIPALES ALGORITMOS REVISI ON
16.5.
Revisi´ on de los principales algoritmos
Se presentan a continuaci´ on los principales algoritmos de control predictivo, mostrando sus principales caracter´ısticas pero sin entrar en detalles. En el tema siguiente se estudiar´an en detalle los dos m´etodos considerados m´ as representativos: dmc y gpc.
16.5.0.1.
Dynamic Matrix Control
Este m´etodo usa la respuesta ante escal´ on (16.2) para modelar el proceso, considerando s´ olo los N primeros t´erminos, asumiendo por tanto que el proceso es estable. En cuanto a las perturbaciones, se considera que su valor permanence constante e igual al existente en el instante actual durante todo el horizonte, es decir, igual al valor medido de la salida (ym ) menos el estimado por el modelo y(t ˆ | t)). n ˆ (t + k | t) = n ˆ (t | t) = y m (t) − yˆ(t | t) y por tanto el valor predicho de la salida ser´a: k
yˆ(t + k | t) =
i=1
N
gi u(t + k − i) +
gi u(t + k − i) + n ˆ (t + k | t)
i=k+1
donde el primer t´ermino contiene las acciones de control futuras (que ser´ an calculadas), el segundo los valores pasados de las acciones de control (conocidas) y el ultimo ´ representa las perturbaciones. La funci´ on de coste puede considerar s´ olo errores futuros o incluir tambi´ en el esfuerzo de control, en cuyo caso toma la forma gen´erica (16.3). Una de las caracter´ısticas de este m´etodo que lo ha hecho muy popular en la industria es la inclusi´ on de restricciones, que se traduce en inecuaciones de la forma gen´erica: N
C jyi yˆ(t + k | t) + C jui u(t + k − i) + c j ≤ 0
j = 1 . . . Nc
i=1
En este caso la optimizaci´ on debe ser num´erica y se lleva a cabo en cada periodo de muestreo, envi´ andose la se˜ nal u(t) y recalculando todo en el nuevo periodo de muestreo, como en todos los m´etodos mpc. Los principales inconvenientes de este m´etodo son el tama˜ no del modelo empleado y la imposibilidad de tratar procesos inestables.
CAP ´ITULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC)
16.5.0.2.
249
Model Algorithmic Control
Este m´etodo se conoce tambi´ en como Model Predictive Heuristic Control y el producto comercial se llama idcom (Identification-Command). Es muy similar al dmc con la diferencia principal de usar un modelo de respuesta impulsional (16.1). Introduce el concepto de trayectoria de referencia como un sistema de primer orden que evoluciona desde la salida actual al setpoint seg´ un una determinada constante de tiempo. La varianza del error entre esta trayectoria y la salida es lo que marca la minimizaci´ on de la funci´on ob jetivo. Las perturbaciones se pueden tratar como en el m´etodo anterior o se pueden estimar seg´ un la siguiente expresi´ on: ˆ (t + k | t) = αˆ n n(t + k − 1 | t) + (1 − α)(ym (t) − yˆ(t | t)) con n ˆ (t | t) = 0. α es un par´ametro ajustable (0 ≤ α < 1) relacionado con el tiempo de respuesta, el ancho de banda y la robustez del bucle cerrado. El m´etodo tambi´en considera restricciones en los actuadores, en las variables internas o en salidas secundarias.
16.5.0.3.
Predictive Functional Control
Este controlador fue desarrollado por Richalet para procesos r´ apidos. Emplea un modelo en el espacio de estados, por lo que permite el manejo de procesos inestables, y tambi´en la extensi´ o n al caso no lineal. Este esquema de control tiene dos caracter´ısticas que lo distinguen del resto de controladores de la familia: el uso de puntos de coincidencia y de funciones base . El concepto de puntos de coincidencia (ver figura 16.6) se emplea para simplificar los c´alculos considerando s´ olo un subconjunto de puntos en el horizonte de predicci´ on h j , j = 1, . . . , nH . La salida deseada y la predicha deben coincidir en dichos puntos, no en todo el horizonte de predicci´ on. La otra idea innovadora de este m´etodo es la parametrizaci´ on de la se˜ nal de control como una combinaci´ on lineal de ciertas funciones base , que son elegidas seg´ un la naturaleza del proceso y la referencia: nB
u(t + k) =
µi (t)Bi (k)
i=1
Normalmente estas funciones son de tipo polin´ omico: escalones (B1 (k) = 1), rampas (B2 (k) = k) o par´abolas (B3(k) = k 2 ), ya que la mayor´ıa de referencias se pueden especificar como combinaci´ on de estas funciones. Con esta estrategia, un perfil de entrada
250
´ DE LOS PRINCIPALES ALGORITMOS REVISI ON
Puntos de coincidencia
Figura 16.6: Puntos de coincidencia
complejo se puede especificar usando un peque˜ no n´ umero de par´ ametros desconocidos µi que son las inc´ ognitas del problema de minimizaci´ on. La funci´ on a minimizar es: nH
J =
[ˆ y(t + h j ) − w(t + h j )]2
j =1
El algoritmo pfc tambi´en puede manejar restricciones de m´ aximo y m´ınimo en la aceleraci´on, que son pr´ acticas en aplicaciones de servocontrol.
16.5.0.4.
Extended Prediction Self Adaptive Control
El algoritmo epsac usa un modelo de funci´ on de transferencia A(z −1 )y(t) = B(z −1 )u(t − d) + v(t) donde d es el retardo y v(t) la perturbaci´ on. Este modelo puede ampliarse para tratar perturbaciones medibles a˜ nadiendo un t´ermino D(z −1 )d(t) para incluir efecto feedforward . La estructura de la ley de control es muy simple, ya que se considera que la se˜ nal de control permanecer´a constante a partir del instante t (es decir, horizonte de control igual a 1): u(t + k) = 0 para k > 0. Para obtener la se˜ nal de control de minimiza una funci´on de coste de la forma: N
k=d
γ (k)[w(t + k) − P (z −1 )ˆ y(t + k | t)]2
CAP ´ITULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC)
251
donde P (z −1) es un polinomio de dise˜ no con ganancia unitaria y γ (k) es una secuencia de ponderaci´ on. La se˜ nal de control se puede calcular anal´ıticamente de la forma: N
u(t) =
hk γ (k)[w(t + k) − P (z −1)ˆ y (t + k | t)]
k =d N
k=d
γ (k)h2k
siendo hk los coeficientes de la respuesta impulsional del sistema.
16.5.0.5.
Extended Horizon Adaptive Control
Esta formulaci´ on tambi´en emplea un modelo de funci´ on de transferencia y pretende minimizar la discrepancia entre la salida calculada y la referencia en el instante t + N : yˆ(t + N | t) − w(t + N ), con N ≥ d. La soluci´on a este problema no es u´nica (a menos que N = d); una posible estrategia es considerar horizonte de control igual a 1:
u(t + k − 1) = 0
1 < k ≤ N − d
o minimizar el esfuerzo de control N d
J =
−
u2 (t + k)
k=0
Este m´etodo utiliza un predictor de N pasos de la forma yˆ(t + N | t) = y(t) + F (z −1) y(t) + E (z −1 )B(z −1 ) u(t + N − d) donde E (z −1 ) y F (z −1 ) son polinomios que satisfacen la relaci´ on (1 − z −1 ) = A(z −1 )E (z −1 )(1 − z −1 ) + z −N F (z −1 )(1 − z −1 ) con el grado de E igual a N − 1. Una ventaja de este m´etodo es que se puede encontrar f´acilmente una soluci´ on expl´ıcita, dada por u(t) = u(t − 1) +
α0 (w(t + N ) − yˆ(t + N | t)) N −d α2i
k=0
siendo αk el coeficiente correspondiente a u(t + k) en la ecuaci´on de predicci´ on. Por tanto la ley de control depende s´ o lo de los par´ ametros del proceso y puede hacerse f´acilmente adaptativa si se emplea un identificador en l´ınea. El unico ´ coeficiente de ajuste es el horizonte de predicci´ on N , lo cual simplifica el uso pero proporciona poca libertad para el dise˜ no. Obs´ervese que no puede usarse trayectoria de referencia porque el error se considera s´ olo en un instante (t+N ), ni tampoco la ponderaci´ on del esfuerzo de control.
252
´ DE LOS PRINCIPALES ALGORITMOS REVISI ON
16.5.0.6.
Generalized Predictive Control
Este m´etodo propuesto por Clarke et al. emplea un modelo carima (Controlled Auto-Regressive Integrated Moving Average) para la predicci´ on de la salida: e(t) A(z −1)y(t) = B(z −1)z −d u(t − 1) + C (z −1 ) donde la perturbaci´ o n viene dada por un ruido blanco coloreado por el polinomio C (z −1). Como en la pr´ actica es dif´ıcil encontrar el verdadero valor de este polinomio, se puede emplear como par´ametro de dise˜ no para rechazo de perturbaciones o mejora de la robustez. La predicci´ on o´ptima se lleva a cabo resolviendo una ecuaci´ on diof´antica, lo cual puede hacerse eficazmente de forma recursiva. Este algoritmo, al igual que otros que usan el modelo de funci´on de transferencia, se puede implementar f´ acilmente en forma adaptativa usando un algoritmo de identificaci´on en l´ınea como los m´ınimos cuadrados recursivos. gpc usa
una funci´on de coste cuadr´ atica de la forma N 2
J (N 1, N 2 , N u ) =
j =N 1
N u
2
δ ( j)[ˆ y(t + j | t) − w(t + j)] +
λ( j)[u(t + j − 1)]2
j =1
donde las secuencia de ponderaci´ on δ ( j) y λ( j) se eligen normalmente constantes o exponenciales y la trayectoria de referencia w(t+ j) se puede generar como una secuencia que empieza en el valor actual de la salida y tiende exponencialmente al setpoint. Las bases te´ oricas del algoritmo gpc has sido ampliamente estudiadas y se puede demostrar que, para distintos conjuntos de par´ ametros, el algoritmo es estable y que otros controladores como por ejemplo el dead beat son casos incluidos en ´este.
Cap´ıtulo 17 Controladores predictivos 17.1.
Dynamic Matrix Control
El m´etodo Dmc se desarroll´ o a finales de los setenta por Cutler y Ramaker de Shell Oil Co. y ha sido aceptado ampliamente en el mundo industrial, principalmente por las industrias petroqu´ımicas. Actualmente dmc es algo m´as que un algoritmo y parte de su ´exito se debe al hecho de que el producto comercial resuelve otros temas como identificaci´ on u optimizaci´on global de la planta. En esta secci´ o n s´olo se analiza el algoritmo standard sin abordar detalles t´ecnicos propios del producto de mercado que no son de dominio p´ ublico. Pero a pesar de este ´exito en la pr´actica, este m´etodo adolece quiz´ as de la ausencia de un an´alisis te´orico ma´s completo que estudie la influencia de los par´ ametros de dise˜ no (horizontes, secuencias de ponderaci´ on) sobre la estabilidad del bucle cerrado as´ı como de resultados de robustez.
17.1.1.
Predicci´ on
El modelo de proceso que se emplea es el de respuesta temporal, considerando la perturbaci´ on como constante a lo largo del horizonte. El procedimiento para obtener la predicci´on se describe a continuaci´ on. 253
254
DYNAMIC MATRIX CONTROL
Como se emplea un modelo de respuesta ante escal´ on: y(t) =
∞
gi u(t − i)
i=1
los valores predichos a lo largo del horizonte ser´ an: yˆ(t + k | t) =
∞
gi u(t + k − i) + n ˆ (t + k | t) =
i=1
k
=
gi u(t + k − i) +
i=1
∞
gi u(t + k − i) + n ˆ (t + k | t)
i=k+1
Las perturbaciones se consideran constantes, n(t+k ˆ ˆ (t | t) = y m (t) − yˆ(t | t), | t) = n por lo que se puede escribir: k
yˆ(t + k | t) =
gi u(t + k − i) +
i=1
−
∞
i=1
gi u(t − i) =
∞
gi u(t + k − i) + ym (t) −
i=k+1 k
gi u(t + k − i) + f (t + k)
i=1
donde f (t + k) es la respuesta libre del proceso, es decir, la parte de la respuesta que no depende de las acciones de control futuras, y viene dada por:
f (t + k) = y m (t) +
∞
(gk+i − gi ) u(t − i)
(17.1)
i=1
Si el proceso es asint´ oticamente estable, los coeficientes gi de la respuesta ante escal´on tienden a un valor constante despu´es de N periodos de muestreo, por lo que se puede considerar que gk+i − gi ≈ 0, i>N y por tanto la respuesta libre se puede calcular como N
f (t + k) = y m (t) +
(gk+i − gi ) u(t − i)
i=1
N´otese que si el proceso no es estable, entonces no existe N y no se puede calcular f (t + k) (aunque existe una generalizaci´ on en el caso de que la inestabilidad sea producida por integradores puros).
CAP ´ITULO 17. CONTROLADORES PREDICTIVOS
255
Ahora las predicciones se pueden calcular a lo largo del horizonte de predicci´ on (k = 1, . . . , p), considerando m acciones de control. yˆ(t + 1 | t) = g1 u(t) + f (t + 1) yˆ(t + 2 | t) = g2 u(t) + g1 u(t + 1) + f (t + 2) .. . p
yˆ(t + p | t) =
gi u(t + p − i) + f (t + p)
i= p m+1
−
Si se define la matriz din´ amica G como:
G =
g1 g2 .. .
0 g1 ...
··· ··· ...
0 0 ...
gm gm−1 · · · g1 .. .. ... ... . . g p g p−1 · · · g p−m+1
se puede escribir que:
y ˆ = Gu + f
(17.2)
Obs´ervese que G est´a formada por m (horizonte de control) columnas de la respuesta ante escal´ on apropiadamente desplazadas hacia abajo. y ˆ es un vector de dimensi´on p que contiene las predicciones de la salida, u representa el vector de incrementos de control y f es el vector de respuestas libres. Esta es la expresi´ on que relaciona las respuestas futuras con los incrementos en las se˜ nales de control, por lo que usar´ a para calcular las acciones necesarias para conseguir el comportamiento deseado del sistema.
17.1.2.
Perturbaciones medibles
El efecto de las perturbaciones medibles se puede a˜ nadir f´acilmente a las anteriores ecuaciones de predicci´ on, ya que ´estas se pueden tratar como entradas al sistema. La expresi´on (17.2) se puede usar para calcular la predicci´ on del efecto de las perturbaciones en la salida de la siguiente forma:
y ˆd = D d + f d
256
DYNAMIC MATRIX CONTROL
donde ˆ yd es la contribuci´on de las perturbaciones medibles a la salida, D es una matriz similar a G que contiene los coeficientes de la respuesta del sistema a un escal´ on en la perturbaci´on, d es el vector de incrementos en la perturbaci´ on y f d es la parte de la respuesta que no depende de la perturbaci´ on. En el caso m´as general de perturbaciones medibles y no medibles, la respuesta libre completa del sistema (la fracci´ on de la salida que no depende de la variable manipulada) se puede considerar como la suma de cuatro efectos: la respuesta a la entrada u(t), a la perturbaci´on medible d(t), a la perturbaci´ on no medible y al estado actual del proceso:
f = f u + D d + f d + f n Por tanto la predicci´on se puede expresar en la forma general
y ˆ = Gu + f
17.1.3.
Algoritmo de control
El ´exito en la industria del dmc se ha debido principalmente a su aplicaci´ on a sistemas multivariables de gran dimensi´ on con la consideraci´ on de restricciones. En esta secci´ on se describe el algoritmo de control comenzando por el caso m´ as simple de un sistema monovariable sin restricciones y extendi´endolo posteriormente al caso general multivariable con restricciones. El ob jetivo del controlador dmc es llevar el proceso los m´as cerca posible al setpoint en el sentido de m´ınimos cuadrados con la posibilidad de incluir una penalizaci´ on en los movimientos de la se˜nal de control. Por ello se seleccionan las variables manipuladas de forma que minimicen un objetivo cuadr´ atico que puede incluir s´olo los errores futuros p
J =
[ˆy (t + j | t) − w(t + j)]2
j =1
o tambi´en el esfuerzo de control, presentando la forma gen´erica p
J =
j =1
m
2
[ˆy (t + j | t) − w(t + j)] +
λ[u(t + j − 1)]2
j =1
Si no existen restricciones, la minimizaci´on de la funci´ on de coste J = ee T + λuuT , donde e es el vector de errores futuros a lo largo del horizonte de predicci´ on y u es el
CAP ´ITULO 17. CONTROLADORES PREDICTIVOS
w
+
257
y
u K
Proceso
-
f Calculo Resp. libre Figura 17.1: Ley de control
vector de futuros incrementos en la se˜ nal de control u(t), . . . , u(t + m), se puede hacer de forma anal´ıtica calculando la derivada de J y haci´ endola igual a 0, lo que proporciona el resultado general:
u = (GT G + λI )−1 GT (w − f )
(17.3)
Recu´erdese que, como en todas las estrategias predictivas, s´ olo se env´ıa al proceso el primer elemento del vector u (u(t)). No es aconsejable implementar la secuencia completa sobre los siguientes m intervalos, ya que al ser imposible estimar de forma exacta las perturbaciones, no es posible anticiparse a las perturbaciones inevitables que provocan que la salida real difiera de las predicciones que se emplean para calcular la secuencia futura de acciones de control. Adem´ as, el setpoint puede cambiar durante los pr´oximos m intervalos. Resulta interesante analizar en qu´e consiste realmente la ley de control. Analizando la expresi´on 17.3 se observa que el primer elemento del vector u, que es la se˜ nal que efectivamente se env´ıa a la planta, es el producto de la primera fila de la matriz (GT G+λI )−1 GT (llam´emosle K ) por la diferencia entre la trayectoria de referencia y la respuesta libre, que es el error futuro si no hubiera incrementos en la se˜ nal de control. Se puede decir por tanto que el incremento de la se˜ nal de control es proporcional (por medio de K ) a los errores futuros y por tanto habr´ a cambios en la se˜ nal de control siempre que el controlador detecte que va a haber una discrepancia en el futuro entre el objetivo deseado y el comportamiento esperado del sistema. Esta idea queda reflejada en la figura 17.1.
258
DYNAMIC MATRIX CONTROL
P. operacion optimo
Zona segura 1
Punto operacion 1 Restriccion zona segura 2
Punto operacion 2
Restriccion Figura 17.2: Punto de operaci´on o´ptimo de un proceso t´ıpico
17.1.3.1.
El caso con restricciones
Aunque computacionalmente m´ as complicado que otros algoritmos m´ as simples, la capacidad de manejar restricciones que posee este m´etodo (y mpc en general) lo hace muy atractivo para aplicaciones pr´ acticas, ya que en general el punto de operaci´ on ´optimo seg´ un criterios econ´ omicos se encuentra normalmente en la intersecci´ on de las restricciones, como se muestra en la figura 17.2. Por razones de seguridad, es necesario mantener una zona segura alrededor del punto de operaci´ on, ya que el efecto de las perturbaciones puede hacer que la salida del proceso viole las restricciones. Esta zona se puede reducir (y por tanto aumentar los beneficios econ´omicos) si el controlador es capaz de manejar restricciones (punto de operaci´ on 1). Las restricciones tanto en entrada como en salida se pueden reducir a desigualdades de forma gen´erica N
C jyi yˆ(t + k | t) + C jui u(t + k − i) + c j ≤ 0
j = 1 . . . Nc
i=1
que deben tenerse en cuenta para la minimizaci´ o n. Como se ha visto, las salidas se pueden expresar en funci´ on del vector de incrementos de control a trav´es de la matriz din´amica, por que las restricciones tanto en la entrada como en la salida se pueden recoger en una desigualdad matricial de la forma Ru ≤ c, como se ver´ a con m´as detalle en el tema dedicado a restricciones. Ahora la minimizaci´ on es un problema de Programaci´on Cuadr´ atica qp, cuya soluci´on es num´erica.
CAP ´ITULO 17. CONTROLADORES PREDICTIVOS
259
Todo lo relacionado con las restricciones ser´ a abordado con mayor grado de detalle en el tema dedicado a ello.
17.1.3.2.
Extensi´ on al caso multivariable
El esquema previo se puede extender f´acilmente al caso de sistemas con varias entradas y varias salidas. Las ecuaciones b´ asicas se mantienen igual a excepci´ on de que las matrices y vectores cambian de dimensi´ on para poder incluir todas las entradas y salidas. Al tratarse de modelos lineales, se puede aplicar el principio de superposici´on para obtener el valor de las salidas ante las diversas entradas. Para ello se define el vector de salidas futuras como:
y ˆ = [y1 (t + 1 | t), . . . , y1 (t + p1 | t), . . . , yny (t + 1 | t), . . . , yny (t + pny | t)]T y el de se˜ nales de control de la forma:
u = [u1 (t), . . . , u1 (t + m1 − 1), . . . , unu (t), . . . , unu (t + mnu − 1)]T as´ı como la respuesta libre: (t + 1 | t), . . . , fny (t + pny | t)]T f = [f 1 (t + 1 | t), . . . , f1 (t + p1 | t), . . . , fny teniendo en cuenta que la respuesta libre de la salida i depende tanto de valores pasados de yi como de valores pasados de todas las se˜ nales de control. Con estas definiciones, la ecuaci´ on de predicci´ on es igual que en el caso monovariable simplemente considerando que la matriz G toma la forma:
G =
G11 G21 .. .
G12 G22 ...
··· ··· ...
G1nu G2nu ...
Gny1 Gny2 · · · Gnynu
Cada submatriz Gij contiene los coeficientes de la respuesta ante escal´ on i-´esima correspondiente a la entrada j-´esima. El proceso de minimizaci´on es an´alogo s´ olo que la ponderaci´ on tanto de los errores como de los esfuerzos de control se realiza con matrices de peso.
260
17.2.
CONTROL PREDICTIVO GENERALIZADO
Control Predictivo Generalizado
El Control Predictivo Generalizado gpc fue propuesto por Clarke et al. en 1987 y se ha convertido en uno de los m´ etodos m´ as populares en el a´mbito del Control Predictivo tanto en el mundo industrial como en el acad´ emico. Se ha empleado con ´exito en numerosas aplicaciones industriales, mostrando buenas prestaciones a la vez que un cierto grado de robustez respecto a sobreparametrizaci´ on o retardos mal conocidos. Puede resolver muchos problemas de control diferentes para un amplio campo de procesos con un n´ umero razonable de variables de dise˜ no, que son especificadas por el operario dependiendo del conocimiento previo del proceso y de los objetivos de control. La idea b´ asica del gpc es calcular una secuencia de futuras acciones de control de tal forma que minimice una funci´on de coste multipaso. El ´ındice a minimizar es una funci´ on cuadr´ atica que mide por un lado la distancia entre la salida predicha del sistema y una cierta trayectoria de referencia hasta el horizonte de predicci´ on, y por otro el esfuerzo de control necesario para obtener dicha salida. El Control Predictivo Generalizado tiene muchas ideas en com´ un con otros controladores predictivos previamente mencionados ya que est´ a basado en las mismas ideas pero posee a su vez algunas diferencias. Como se ver´ a m´as adelante, es capaz de proporcionar una soluci´ on expl´ıcita (en ausencia de restricciones), puede traba jar con procesos inestables o de fase no m´ınima e incorpora el concepto de horizonte de control as´ı como la consideraci´ on en la funci´on de coste de ponderaci´ on de los incrementos en las acciones de control. Las diversas posibilidades disponibles para el gpc conducen a una gran variedad de objetivos de control comparado con otras realizaciones, algunas de las cuales pueden ser consideradas como subconjuntos o casos l´ımites del gpc.
17.2.1.
Formulaci´ on del Control Predictivo Generalizado
La mayor´ıa de los procesos de una sola entrada y una sola salida (single-input singleoutput , siso), al ser considerados en torno a un determinado punto de trabajo y tras ser linealizados, pueden ser descritos de la siguiente forma: A(z −1 )y(t) = z −d B(z −1 )u(t − 1) + C (z −1 )e(t) donde u(t) y y(t) son respectivamente la se˜ nal de control y la salida del proceso y e(t) es un ruido blanco de media cero. A, B y C son los siguientes polinomios en el operador de desplazamiento hacia atr´ as z −1 : A(z −1 ) = 1 + a z −1 + a z −2 + ... + a z −na 1
2
na
CAP ´ITULO 17. CONTROLADORES PREDICTIVOS
261
B(z −1 ) = b0 + b1 z −1 + b2 z −2 + ... + bnb z −nb C (z −1 ) = 1 + c1 z −1 + a2 z −2 + ... + cnc z −nc donde d es el tiempo muerto del sistema. Este modelo es conocido como Autorregresivo de Media M´ ovil (Controller AutoRegressive Moving-Average carma). En muchas aplicaciones industriales en las que las perturbaciones son no-estacionarias resulta m´ as conveniente el uso de un modelo carma integrado, dando lugar al carima, que viene descrito por: e(t) A(z −1 )y(t) = B(z −1 )z −d u(t − 1) + C (z −1 )
con
= 1 − z −1
(17.4)
Por simplicidad, a partir de ahora el polinomio C se va a tomar igual a 1. N´otese que en el caso de que C −1 pueda ser truncado se puede absorber en A y B. El algoritmo del Control Predictivo Generalizado consiste en aplicar una secuencia de se˜ nales de control que minimice una funci´ on de coste de la forma: N 2
J (N 1 , N 2 , N u) =
Nu
δ ( j)[ˆ y (t + j | t) − w(t + j)]2 +
λ( j)[u(t + j − 1)]2 (17.5)
j =1
j =N 1
donde yˆ(t + j | t) es la predicci´on o´ptima j pasos hacia delante de la salida del proceso con datos conocidos hasta el instante t, N 1 y N 2 son los horizontes m´ınimo y m´aximo de coste, N u es el horizonte de control y δ ( j) y λ( j) son las secuencias de ponderaci´ on mientras que w(t + j) es la futura trayectoria de referencia, que se puede calcular seg´ un se muestra en la figura 16.5. En muchas situaciones se considera δ ( j) igual a 1 y λ( j) constante. El objetivo es pues el c´ alculo de la futura secuencia de control u(t), u(t + 1),... de tal manera que la salida futura del proceso y(t + j) permanezca pr´ oxima a w(t + j). Esto se logra minimizando J (N 1 , N 2 , Nu).
17.2.1.1.
Predicci´ on ´ optima
Con la intenci´on de minimizar la funci´ o n de coste, se obtendr´ a previamente la predicci´on o´ptima de y(t + j) para j ≥ N 1 y j ≤ N 2 . Consid´erese la siguiente ecuaci´ on diof´antica: 1 = E j (z −1 ) A + z − j F j (z −1 ) − j F (z −1 ) ˜ 1 = E (z −1 )A + z j
j
(17.6)
262
CONTROL PREDICTIVO GENERALIZADO
Los polinomios E j y F j est´an u ´ nicamente definidos con grados j − 1 y na respecti˜ −1 ) hasta que el resto pueda ser facvamente. Se pueden obtener dividiendo 1 entre A(z torizado como z − j F j (z −1). El cociente de la divisi´on es entonces el polinomio E j (z −1 ). Si se multiplica la ecuaci´ on (17.4) por E j (z −1 ) z j ˜ −1 )E j (z −1 )y(t + j) = E j (z −1 )B(z −1 ) u(t + j − d − 1) + E j (z −1 )e(t + j) (17.7) A(z Teniendo en cuenta (17.6), la ecuaci´ on (17.7) queda: (1 − z − j F j (z −1 ))y(t + j) = E j (z −1 )B(z −1 ) u(t + j − d − 1) + E j (z −1 )e(t + j) La cual se puede escribir como y(t + j) = F j (z −1 )y(t) + E j (z −1 )B(z −1 ) u(t + j − d − 1) + E j (z −1 )e(t + j) (17.8) Al ser el grado del polinomio E j (z −1 ) igual a j − 1 los t´erminos del ruido en la ecuaci´on (17.8) est´ a n todos en el futuro. La mejor predicci´ o n de y(t + j ) ser´a por consiguiente: yˆ(t + j | t) = G j (z −1) u(t + j − d − 1) + F j (z −1 )y(t) donde G j (z −1 ) = E j (z −1 )B(z −1 ) Resulta simple demostrar que los polinomios E j y F j se pueden obtener recursivamente, de forma que los nuevos valores en el paso j + 1 (E j +1 y F j +1 ) sean funci´ on de los del paso j. A continuaci´on se muestra una demostraci´ on simple de la recursividad de la ecuaci´ on diof´antica. Existen otras formulaciones del gpc que no est´an basadas en la recursividad de esta ecuaci´ on. ˜ −1 ) Consid´erense que los polinomios E j y F j se han obtenido dividiendo 1 entre A(z hasta que el resto haya sido factorizado como z − j F j (z −1 ) . Con: F j (z −1 ) = f j,0 + f j,1 z −1 + · · · + f j,na z −na E j (z −1 ) = e j,0 + e j,1 z −1 + · · · + e j,j −1z −( j −1) Sup´ongase que se utiliza el mismo procedimiento para obtener E j +1 y F j +1 , es decir, ˜ −1 ) hasta que el resto se pueda factorizar como z −( j +1) F j +1(z −1 ) con dividir 1 entre A(z F j +1 (z −1 ) = f j +1,0 + f j +1,1z −1 + · · · + f j +1,na z −na
CAP ´ITULO 17. CONTROLADORES PREDICTIVOS
263
Est´a claro que solamente es necesario dar un paso m´ as en la divisi´on para obtener los polinomios E j +1 y F j +1 . Al ser E j +1 el nuevo cociente de la divisi´on, ser´a igual al cociente que hab´ıa hasta el momento (E j ) m´as un nuevo t´ermino, que ser´ a el f j,0 pues ˜ es m´onico. Por tanto: el divisor (A) E j +1 (z −1 ) = E j (z −1) + e j +1,j z − j
con e j +1,j = f j,0
Teniendo en cuenta que el nuevo resto ser´ a el resto anterior menos el producto del cociente por el divisor, los coeficientes del polinomio F j +1 se pueden expresar como: f j +1,i = f j,i+1 − f j,0 a ˜i+1 i = 0 · · · na
En resumen, la forma de obtener los polinmios E j y F j es la siguiente: ˜ 1. Comenzar con E 1 = 1, F 1 = z (1 − A) 2. Ir a˜ nadiendo nuevos t´erminos a E j con e j +1,j = f j,0 3. Calcular f j +1,i = f j,i+1 − f j,0 a ˜i+1 i = 0 · · · na, (siendo f j,na+1 = 0).
El polinomio G j +1 puede ser obtenido recursivamente como sigue: G j +1 = E j +1 B = (E j + f j,0 z − j )B = G j + f j,0 z − j B
Es decir, los primeros j coeficientes de G j +1 ser´an id´enticos a los de G j mientras que el resto viene dado por: g j +1,j +i = g j,j +i + f j,0 bi
para i = 0 · · · nb
Para resolver el gpc es necesario obtener el conjunto de se˜ nales de control u(t), u(t + 1), ...,u(t + N ) que minimizan la ecuaci´ on (17.5). Al tener el proceso un retardo de d per´ıodos de muestreo, la salida s´ olo se ver´ a influenciada por la se˜ nal u(t) despu´es del instante d + 1. Los valores N 1 , N 2 y Nu que marcan los horizontes pueden ser definidos como N 1 = d + 1, N 2 = d + N y Nu = N . No tiene sentido hacer N 1 < d + 1 ya que los t´erminos de (17.5) s´ olo depender´ a n de las se˜ nales de control pasadas. Por otro lado, haciendo N 1 > d + 1 los primeros puntos de la secuencia de salida, que ser´ an los mejor estimados, no se tendr´ an en cuenta.
264
CONTROL PREDICTIVO GENERALIZADO
El conjunto de las j predicciones o´ptimas: yˆ(t + d + 1 | t) = Gd+1 u(t) + F d+1 y(t) yˆ(t + d + 2 | t) = Gd+2 u(t + 1) + F d+2 y(t) .. . yˆ(t + d + N | t) = Gd+N u(t + N − 1) + F d+N y(t)
puede ser escrito en forma matricial como:
y = Gu + F(z −1 )y(t) + G (z −1 ) u(t − 1)
(17.9)
Donde
y =
G =
G (z −1) =
F(z −1) =
yˆ(t + d + 1 | t) yˆ(t + d + 2 | t) .. . yˆ(t + d + N | t) g0 g1 .. .
... ... ...
0 g0 ...
u =
0 0 ...
gN −1 gN −2 ... g0
u(t) u(t + 1) .. . u(t + N − 1)
z (Gd+1 (z −1 ) − g0 ) z 2 (Gd+2(z −1 ) − g0 − g1 z −1 ) .. . (z −1 ) − g − g z −1 − · · · − g
z N (Gd+N F d+1 (z −1 ) F d+2 (z −1 ) .. . F d+N (z −1 )
0
1
−(N −1) ) − z
N 1
Al depender los u´ltimos t´erminos de la ecuaci´ o n (17.9) s´ olo del pasado, pueden agruparse en f , dando lugar a: (17.10) y = Gu + f Obs´ervese que es la misma expresi´ o n que se obtuvo para el dmc, aunque en este caso la respuesta libre es distinta.
CAP ´ITULO 17. CONTROLADORES PREDICTIVOS
17.2.1.2.
265
Obtenci´ on de la ley de control
Entonces la ecuaci´ on (17.5) puede escribirse como: J = (Gu + f − w)T (Gu + f − w) + λuT u
(17.11)
donde:
w =
w(t + d + 1) w(t + d + 2) · · · w(t + d + N )
T
(17.12)
La ecuaci´ on (17.11) se puede poner como: 1 J = uT Hu + bu + f 0 2
(17.13)
donde:
H = 2(GT G + λI) b = 2(f − w)T G f 0 = (f − w)T (f − w) El m´ınimo de J , siempre que no existan restricciones en la se˜ nal de control, puede ser calculado igualando a cero el gradiente de J , lo cual conduce a:
u = −H−1 bT
(17.14)
Debido al uso de la estrategia deslizante, s´olo se aplica realmente el primer elemento del vector u, repitiendo de nuevo el mismo procedimiento al siguiente instante de muestreo. La soluci´ on propuesta involucra la inversi´ on (o al menos la triangularizaci´ o n) de una matriz de dimensi´ on N × N , lo cual conlleva una gran carga de c´ alculo. El concepto ya usado en otros m´etodos de horizonte de control se emplea con la finalidad de reducir la cantidad de c´ alculo, asumiendo que las se˜ nales de control permanecer´ an en un valor constante a partir del intervalo N u < N . Por tanto la dimensi´ on de la matriz que hay que invertir queda reducida a Nu × Nu, quedando la carga de c´ alculo reducida (en el caso l´ımite de N u = 1, se reduce al caso escalar) aunque restringiendo la optimalidad.
17.2.2.
Ejemplo de c´ alculo
Se presenta a continuaci´ o n un ejemplo de c´ alculo de un Controlador Predictivo Generalizado en un caso sencillo. Se dise˜ nar´a el controlador para un sistema de primer orden.
266
CONTROL PREDICTIVO GENERALIZADO
Al discretizar el proceso continuo se obtiene el siguiente equivalente discreto: e(t) (1 + az −1 )y(t) = (b0 + b1 z −1 )u(t − 1) + Se va a considerar un retardo d igual a 0 y un polinomio de ruido C (z −1 ) igual a 1. Se usar´ a el algoritmo descrito previamente para obtener la ley de control, obteniendo resultados num´ericos para valores de los pa´ametros a = 0,8, b 0 = 0,4 y b 1 = 0,6, siendo los horizontes N 1 = 1 y N = N u = 3. Como se ha mostrado, se calcular´ an los valores predichos de la salida del proceso en el horizonte haciendo uso de la ecuaci´ on (17.9), obteniendo la ley de control de la expresi´ on (17.14). Resolviendo la ecuaci´ on (17.6) se obtienen los polinomios del predictor E j (z −1 ), F j (z −1 ) desde j = 1 hasta j = 3, con ˜ −1 ) = A(z −1 )(1 − z −1 ) = 1 − 1,8z −1 + 0,8z −2 A(z En este caso sencillo donde el horizonte no es demasiado largo, estos polinomios se ˜ −1 ). Como se ha explicado antes, pueden obtener directamente dividiendo 1 por A(z tambi´ en se pueden calcular recursivamente, comenzando con los valores obtenidos en el primer paso de la divisi´on, es decir: E 1 (z −1) = 1
F 1 (z −1 ) = 1,8 − 0,8z −1
Cualquiera que sea el m´etodo empleado, los valores obtenidos son: E 2 = 1 + 1,8z −1 F 2 = 2,44 − 1,44z −1 E 3 = 1 + 1,8z −1 + 2,44z −2 F 3 = 2,952 − 1,952z −1 Con estos valores y el polinomio B(z −1 ) = 0,4 + 0,6z −1 , los elementos G i (z −1 ) resultan ser: G1 = 0,4+0,6z −1 G2 = 0,4+1,32z −1 +1,08z −2 G3 = 0,4+1,32z −1+2,056z −2 +1,464z −3 y por tanto se pueden escribir las salidas predichas como:
yˆ(t + 1 | t) yˆ(t + 2 | t) yˆ(t + 3 | t)
u(t) u(t + 1) u(t + 2)
=
0,4 0 0 1,32 0,4 0 2,056 1,32 0,4
+
0,6 u(t − 1) + 1,8y(t) − 0,8y(t − 1) 1,08 u(t − 1) + 2,44y(t) − 1,44y(t − 1) 1,464 u(t − 1) + 2,952y(t) − 1,952y(t − 1)
f
+
CAP ´ITULO 17. CONTROLADORES PREDICTIVOS
267
El paso siguiente es el c´alculo de H−1 b. Tomando λ igual a 0,8 se tiene que:
(GT G + λI)−1 GT =
0,133 0,286 0,147 −0,154 −0,165 0,286 −0,029 −0,154 0,1334
Como s´olo se necesita el valor de u(t) para los c´ alculos, s´olo se emplea realmente la primera fila de la matriz, con lo que resulta la siguiente expresi´ on para la ley de control:
u(t) = −0,6042 u(t − 1) − 1,371y(t) + 0,805y(t − 1) + + 0,133w(t + 1) + 0,286w(t + 2) + 0,147w(t + 3) donde w(t + i) es la trayectoria de referencia que se puede considerar bien constante e igual a la referencia actual o bien una suave aproximaci´ on de primer orden a ´esta. Entonces la se˜ n al de control resulta ser una funci´ o n de la referencia deseada y de entradas y salidas pasadas, dada por:
u(t) = 0,3958u(t − 1) + 0,6042u(t − 2) − 1,371y(t) + 0,805y(t − 1) + + 0,133w(t + 1) + 0,286w(t + 2) + 0,147w(t + 3)
Al mismo resultado se puede llegar sin emplear la ecuaci´ on diof´antica, calculando G en base a los coeficientes de la respuesta ante escal´ on (que se pueden calcular en funci´o n de los coeficientes de la funci´ on de transferencia) y calculando la respuesta libre haciendo evolucionar hacia delante el modelo mientras la entrada se mantiene constante.
17.2.3.
Caso multivariable
Al igual que en el dmc todo lo visto para el caso de sistemas con una sola entrada y una sola salida se puede extender al caso multivariable, aunque los c´ alculos son m´ as complejos. En este caso el modelo carima para un sistema de m entradas y n salidas se puede expresar como: 1 A(z −1 )y(t) = B (z −1 )u(t − 1) + C(z −1 )e(t) (17.15)
268
CONTROL PREDICTIVO GENERALIZADO
donde A(z −1 ) y C(z −1 ) son matrices polinomiales m´ onicas de dimensi´on n × n y B(z −1 ) es una matriz polinomial de dimensi´on n × m, definidos como:
A(z −1 ) = I n×n + A1 z −1 + A2 z −2 + · · · + Ana z −na B(z −1 ) = B0 + B1 z −1 + B2 z −2 + · · · + Bnb z −nb C(z −1 ) = I n×n + C 1 z −1 + C 2z −2 + · · · + C nc z −nc Las variablesy(t), u(t) y e(t) son de dimensi´on n × 1, m × 1 y n × 1 respectivamente. La predicci´ on conlleva la resoluci´ on de una ecuaci´ on diofantica matricial, que tambi´en puede calcularse de forma recursiva. En muchas ocasiones el problema radica en la obtenci´ on adecuada del modelo en esta forma a partir de una matriz de transferencia en continuo que puede haberse obtenido a partir de la curva de reacci´ on. Una vez obtenido el modelo, el criterio a minimizar tendr´a la forma general N 2
J (N 1 , N 2 , N 3 ) =
j =N 1
N 3
2
yˆ(t + j | t) − w(t + j)R +
u(t + j − 1)2Q
j =1
donde R y Q son matrices de ponderaci´ on definidas positivas que normalmente se eligen diagonales. La minimizaci´ on se realiza igual que en el caso monovariable dando como resultado un vector de se˜ nales de control a enviar a la planta en el instante actual: u1 (t), u2 (t) . . . um (t).
Cap´ıtulo 18 Otros aspectos del Control Predictivo 18.1.
Restricciones en Control Predictivo
En la pr´ actica todos los procesos est´ an sujetos a restricciones. Los actuadores tienen un campo limitado de acci´ on impuesto por l´ımites f´ısicos (por ejemplo una v´ alvula no puede abrir m´ a s de un 100% o un calentador no puede aportar m´ as de su potencia m´axima. Tambi´ en existen l´ımites de seguridad (por ejemplo presiones o temperaturas m´aximas), requerimientos tecnol´ ogicos (por ejemplo mantener temperaturas en un rango dado), limitaciones de calidad del producto (no salirse de cierta zona) o normativa medioambiental.
18.1.1.
Tratamiento convencional de restricciones
El tratamiento convencional de restricciones en control de procesos se basa en que las restricciones en la variable manipulada (entrada) se cumplen saturando la salida del controlador. Sin embargo, las restricciones en la variable controlada (salida) no pueden abordarse; se intenta evitar su violaci´ on trabajando alejados de los l´ımites (en zona segura), operando lejos de la restricci´ on. Por seguridad se trabaja con una consigna inferior, m´as lejos del punto de operaci´ on o´ptimo, lo que normalmente equivale a una disminuci´ on de la calidad y/o cantidad en la producci´ on, ya que normalmente el punto ´optimo se encuentra en la intersecci´ on de las restricciones obligando a acercarse lo m´ as 269
270
RESTRICCIONES EN CONTROL PREDICTIVO
P Pmax P1
P2
t
Q1
Q2
Q
Figura 18.1: Restricciones y punto de operaci´on o´ptimo
posible a las ´estas pero sin superarlas. Si el controlador fuera capaz de tener en cuenta las restricciones y evitar su violaci´ on, el proceso podr´ıa operar m´ as cerca de ´estas y por tanto de forma m´ as eficiente. La figura 18.1 muestra un ejemplo donde existe una limitaci´ on de presi´ on m´axima y se observa c´omo al alejar el punto de operaci´ on del l´ımite la producci´ on Q disminuye. En cuanto a la forma de operar de un controlador predictivo que no considera restricciones el procedimiento es similar: si la se˜ nal de control calculada viola la restricci´on, se satura. Las se˜ nales futuras ni siquiera se tienen en cuenta, ya que normalmente no se calculan. Esta forma de proceder no garantiza el car´ acter o´ptimo de la soluci´o n y en ning´ un caso garantiza el cumplimiento de las restricciones en la salida. La violaci´on de los l´ımites de las variables controladas puede ser m´ as costoso y peligroso, produciendo da˜nos en equipos y p´erdidas en la producci´ on. La figura 18.2 muestra con claridad el fen´ omeno de p´erdida de la soluci´ on o´ptima cuando las variables manipuladas se mantienen en sus l´ımites por el programa de control o por el propio actuador. Este hecho puede llevar a valores mayores de la funci´on objetivo y a un comportamiento no deseado (incluso inestabiliad). En 18.2a se muestra un caso con horizonte de control igual a 2, donde se observa que si se satura la se˜ nal de control u(t) a umax el valor de la funci´ on de coste no es el mejor que se podr´ıa conseguir (que ser´ıa el correspondiente a uc ). Incluso puede que no se viole la restricci´on en el instante actual pero s´ı en el futuro (figura 18.2b) con lo que la se˜ nal enviada al sistema (sin saturar) no es la mejor para el problema de dimensi´ on 2 que se
CAP ´ITULO 18. OTROS ASPECTOS DEL CONTROL PREDICTIVO
u(t+1)
u(t+1)
u max
u max
uc
u u max
uc
u(t)
a)
271
u u max
u(t)
b)
Figura 18.2: Restricciones en la se˜nal de control
est´a optimizando.
18.1.2.
Restricciones en Control Predictivo
En la actualidad el mpc es la u ´ nica metodolog´ıa capaz de incorporar las restricciones de forma sistem´ atica en la fase de dise˜ no del controlador, siendo esta caracter´ıstica una de las razones de su gran ´exito en la industria. Parece l´ ogico que al disponer de un modelo din´ amico del proceso se pueda conocer la evoluci´ on futura de su salida y por tanto se pueda saber si ´esta va a violar o no las restricciones y actuar en consecuencia. Para formular el algoritmo mpc con restricciones hay que expresar ´estas en funci´ on de la variable sobre la que se puede actuar, es decir, en funci´on de u. Las restricciones en la entrada est´ an ya expresadas en funci´ on de u y para las restricciones en la salida se hace uso de las ecuaciones de predicci´ on que expresan el valor futuro de las salidas en funci´ on de las se˜ nales de control futuras y valores conocidos en el instante t. Cualquier controlador predictivo calcula la predicci´on como:
y = Gu + f por lo que tanto entradas como salidas se pueden expresar en funci´ on del vector de incrementos de la se˜ nal de control.
272
RESTRICCIONES EN CONTROL PREDICTIVO
Las restricciones que aparecen ser´ a n b´asicamente amplitud y velocidad de cambio en la se˜ nal de control y amplitud en la salida y se pueden expresar como:
U ≤ u(t) ≤ U ∀t u ≤ u(t) − u(t − 1) ≤ u ∀t ≤ y ∀t y ≤ y(t)
Para un proceso de m entradas y n salidas y restricciones en el horizonte N , las restricciones se pueden expresar como:
1 U ≤ T u + u(t − 1) 1 ≤ 1 U 1u ≤ u ≤ 1u 1y ≤ Gu + f ≤ 1y
donde l es una matriz de dimensi´ on (N × n) × m formada por N m × m matrices identidad y T es una matriz triangular inferior por bloques cuyos elementos no nulos son matrices identidad de dimensi´ on m × m. En forma condensada se pueden expresar como: Ru≤c (18.1) siendo
R =
I N ×N −I N ×N T −T G −G
c =
lu −l u l U − lu(t − 1) −l U + lu(t − 1) l y − f −l y + f
Aparte de las restricciones en amplitud, a la salida se le pueden aplicar otro tipo de restricciones de para forzar un determinado comportamiento temporal (movimiento dentro de una banda, comportamiento mon´ otono, evitar respuesta inicial inversa, etc.), pudiendo expresarlas tambi´en de la forma gen´erica (18.1). Adem´as de la clasificaci´ o n en restricciones en la entrada y en la salida seg´ un a qu´e tipo de variable se apliquen, se puede hacer otra clasificaci´ on atendiendo a la forma de tratarlas. As´ı, se puede hablar de:
CAP ´ITULO 18. OTROS ASPECTOS DEL CONTROL PREDICTIVO
273
Restricciones duras como aqu´ellas que no se pueden violar ba jo ning´ un concepto. En este grupo se incluyen las restricciones relacionadas con la operaci´ on segura del proceso. Restricciones blandas , que son aqu´ ellas que pueden ser violadas en un momento dado por no ser cruciales, pero la violaci´ o n se penaliza en la funci´on objetivo como un t´ermino m´ as. Es una forma de relajar la restricci´on.
18.1.3.
Resoluci´ on del problema
Con la adici´on de restricciones el problema general de control predictivo cambia se puede formular como minimizar J (u) sujeto a Ru ≤ c Es decir, el problema consiste en la minimizaci´ o n de una funci´ on cuadr´ atica con restricciones lineales, lo que se conoce como Programaci´ on Cuadr´ atica , qp. En este caso no se puede encontrar una soluci´ on anal´ıtica como en el caso sin restricciones, sino que hay que recurrir a m´etodos iterativos. Resulta evidente que la carga de c´ alculo ser´ a considerable, ya que hay que encontrar la soluci´on resolviendo el algoritmo iterativo en cada periodo de muestreo. Normalmente el esfuerzo est´ a justificado por el beneficio econ´ omico obtenido al trabajar m´ as cerca del punto de operaci´ on o´ptimo. Para resolver el problema qp existen diversos algoritmos suficientemente probados. Un problema asociado a la implementaci´ on del control con restricciones es el an´ alisis de la estabilidad del bucle cerrado. Como es necesario utilizar m´etodos num´ ericos para resolver el problema de la optimizaci´ on, la ley de control resultante no se puede describir de forma expl´ıcita, haciendo el problema muy dif´ıcil de atacar mediante la teor´ıa cl´ asica de control. En los u ´ ltimos a˜ nos se ha trabajado mucho sobre la estabilidad en estas circunstancias, proponi´endose soluciones basadas en la teor´ıa de Lyapunov. La idea b´ asica consiste en que la funci´on de coste cuando el horizonte es infinito es mon´ otona decreciente (si existe soluci´ on factible) y se puede interpretar como funci´ on de Lyapunov que garantiza por tanto la estabilidad. Sin embargo, como la soluci´on tiene que ser num´erica, el n´umero de variables de decisi´ o n tiene que ser finito, por lo que se han
274
RESTRICCIONES EN CONTROL PREDICTIVO
propuesto dos ideas. En la primera, se descompone la funci´ on objetivo en dos partes: una con horizonte finito y restricciones y otra con horizonte infinito y sin restricciones. La segunda idea es en esencia equivalente y consiste en imponer restricciones terminales al estado y usar un horizonte infinito. En cualquier caso es un tema muy abierto, sobre todo si se quieren considerar las incertidumbres en el modelo y los temas asociados con la factiblidad.
18.1.4.
Gesti´ on de restricciones
Durante la etapa de optimizaci´ on puede aparecer problemas de no existencia de soluci´on o´ptima para unas restricciones dadas (no existe compatibilidad entre las restricciones), por ejemplo por el planteamiento de unos objetivos inalcanzables para unas restricciones dadas. Existen otras posibles causas de inexistencia de soluci´ on, como es el caso de que una perturbaci´ o n saque al proceso fuera de la zona de trabajo usual. La factibilidad de un problema de optimizaci´ on significa que la funci´on objetivo est´e acotada y que todas las restricciones sean satisfechas. La no factibilidad puede aparecer en r´egimen permanente o en el transitorio. El problema de la falta de soluci´ on en r´egimen permanente puede venir provocado por un objetivo de control irrealizable. Sin embargo, este tipo de no factibilidad puede ser f´acilmente eliminado en la etapa de dise˜ no evitando la inclusi´ on de tales objetivos. Tambi´en puede ser debido a cambios en referencias que hagan incompatibles las restricciones (se quiera llevar alguna variable a un punto que es imposible de alcanzar con una entrada que est´ a acotada). En el r´egimen transitorio puede aparecer no factibilidad incluso cuando las restricciones impuestas parezcan razonables. Restricciones que no causan problemas en operaci´on normal pueden producir problemas bajo ciertas circunstancias. Puede que una perturbaci´on o cambio de referencia grande fuerce a una variable fuera de su l´ımite y sea imposible introducirla de nuevo en su zona permitida con se˜ nales de control de energ´ıa limitada. En estos casos las restricciones se hacen temporalmente incompatibles. Las soluciones no factibles aparecen con mayor frecuencia en casos en que el o´ptimo se encuentre cerca de las restricciones y el sistema est´e sujeto a perturbaciones, llevando a la salida a regiones prohibidas”.
CAP ´ITULO 18. OTROS ASPECTOS DEL CONTROL PREDICTIVO
275
Límites físicos
Restricciones reales Límites de operación
Figura 18.3: Gesti´on de restricciones
18.1.4.1.
T´ ecnicas de b´ usqueda de soluciones factibles
Los m´etodos de gesti´ on de restricciones tratan de recuperar la factibilidad actuando sobre las restricciones seg´ un diferentes criterios. Los l´ımites de las restricciones se pueden considerar de los siguientes tipos: Limites fisicos: nunca se pueden sobrepasar, principalmente por motivos de seguridad o por la propia construcci´ on de los equipos (p.ej. actuadores) Limites de operaci´ on: son fijados por los operarios para mantener las condiciones nominales de funcionamiento. Se pueden sobrepasar bajo ciertas circunstancias Limites reales: son los que usa el algoritmo de control en cada instante. Son los que proporciona el gestor de restricciones, quien debe calcularlos de forma que nunca superen los limites f´ısicos. Es decir, el gestor de restricciones calcular´ a los l´ımites reales (los que se env´ıan al algoritmo qp) en base a los l´ımites de operaci´ on pero sin salirse nunca de los l´ımites f´ısicos, seg´ un se observa en la figura 18.3. Se analizan a continuaci´ on posibles soluciones para este problema, que se pueden agrupar en: 1. Desconexi´ on del controlador.
276
RESTRICCIONES EN CONTROL PREDICTIVO
2. Eliminaci´on de restricciones. 3. Relajaci´ on de restricciones. 4. Otras t´ecnicas.
1. Desconexi´ on del controlador La forma m´ as sencilla de resolver de este tipo de problemas es pasar el controlador a posici´on manual cuando aparecen las incompatibilidades de restricciones y volver a operaci´ on autom´ atica cuando se recupera la admisibilidad de la soluci´on. Este m´etodo, como se puede comprender tiene serias desventajas. Normalmente, cuando aparecen problemas de incompatibilidad de restricciones es porque el sistema en bucle cerrado se encuentra en un estado cr´ıtico donde normalmente el operador tendr´a muy poca experiencia en la operaci´ on. Adicionalmente, si las restricciones est´ an relacionadas con aspectos de seguridad o econ´ omicos, las decisiones llevadas a cabo cuando aparecen problem´ aticas de compatibilidad de restricciones suelen ser cr´ıticas dado que en estos casos alguno de los objetivos del control no puede ser satisfecho. El m´etodo suele ser utilizado cuando los problemas de incompatibilidad de restricciones no son frecuentes.
2. Eliminaci´ on de restricciones La factibilidad se analiza en cada periodo de muestreo, por lo que la eliminaci´ on de restricciones se realiza de forma temporal. Peri´ odicamente se chequea la factibilidad para poder reinsertar restricciones eliminadas. La eliminaci´on de un grupo de restricciones ha de realizarse en aquellos casos en que el conjunto completo de restricciones que se imponen sobre el sistema sea incompatible. Cada vez que existe un problema de incompatibilidad de restricciones, se forma un conjunto de restricciones no admisibles que no se tienen en cuenta en el proceso de optimizaci´on. Se pueden distinguir en la metodolog´ıa de eliminaci´ on de restricciones varios tipos.
Eliminaci´ on indiscriminada Con esta estrategia todas las restricciones se eliminan cada vez que aparezcan problemas de existencia de soluci´ on factible, quedando la optimizaci´ on de un problema sin restricciones. No es un m´etodo muy optimo ´ para
CAP ´ITULO 18. OTROS ASPECTOS DEL CONTROL PREDICTIVO
277
resolver el problema de la existencia de soluci´ on admisible, pero es la forma m´as r´apida de tener en cuenta incompatibilidad de restricciones. La eliminaci´on indiscriminada de restricciones no es adecuada en todas las aplicaciones. No debe ser por ejemplo usada en casos en que las restricciones est´en directamente relacionadas con l´ımites de seguridad.
Eliminaci´ on jer´ arquica En este caso s´ olo se eliminan las restricciones que provocan problemas de incompatibilidad. En este m´etodo se asigna en la etapa de dise˜ no una prioridad a cada restricci´ on, que da un grado de importancia relativa de dicha restricci´on frente a las otras. Esta prioridad se usar´ a para clasificar las restricciones de una forma jer´ arquica (se asigna un n´ umero que indica su posici´ on en la jerarqu´ıa). De este modo, cada vez que haya problemas de factibilidad o existencia de soluci´ on el gestor de restricciones va eliminando por orden las restricciones menos prioritarias hasta que se restablece la factibilidad de la soluci´ on, que se chequea cada periodo de muestreo para reinsertar restricciones que hubieran sido temporalmente eliminadas. En este sentido, a la hora de eliminar restricciones se pueden establecer diferentes tipos de reglas para establecer el n´ umero de restricciones que se eliminan, si conviene eliminar m´as restricciones a costa de no eliminar una con prioridad superior, etc.
3. Relajaci´ on de restricciones Otro m´etodo para tener en cuenta el problema de existencia de soluci´on es la relajaci´on de las restricciones. Se puede hacer una relajaci´ on de los l´ımites de forma temporal o convertir restricciones duras ( Ru ≤ c), cambi´andolas en restricciones blandas (Ru ≤ c + , con ≥ 0) para asegurar la existencia de soluci´ o n, a˜ nadiendo un t´ermino T T a la funci´on de coste de forma que se penalice la violaci´on de la restricci´on y obtener un mejor comportamiento del sistema controlado. A largo plazo, el t´ermino de penalizaci´ on en la funci´ on objetivo llevar´ a las variables auxiliares a cero.
4. Otras t´ ecnicas Existen t´ecnicas que se basan en la manipulaci´ on del horizonte m´ınimo de las restricciones. Algunos controladores industriales como el qdmc usan el concepto de constraint window . La constraint window comienza en alg´ un punto en el futuro y contin´ ua hasta el estado estacionario. Si existe din´ amica del tipo de fase no m´ınima, se pueden mejorar las prestaciones desplazando la ventana hacia el futuro, lo que equivale a ignorar las restricciones duras en la salida durante la fase inicial de la respuesta.