View
249
Download
6
Category
Preview:
Citation preview
Depto. de Ingenierıa de Sistemas y Automatica
APUNTES DE INGENIERIA DE CONTROL
Daniel Rodrıguez Ramırez
Carlos Bordons Alba
Rev. 4/05/2007
Indice general
Lista de figuras XIII
1. Introduccion al control por computador 1
1.1. Conceptos basicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Ventajas e inconvenientes de un sistema de control por computador . . 2
1.3. Funciones de un sistema de control por computador . . . . . . . . . . . 3
1.4. Estructuras de los sistemas de control . . . . . . . . . . . . . . . . . . . 7
1.5. Instrumentacion especıfica de los sistemas de control por computador . 9
1.6. Software de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2. Secuencias y transformada Z 13
2.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2. Secuencia de ponderacion . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3. Transformada en Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1. Transformadas de algunas senales tıpicas . . . . . . . . . . . . . 16
2.4. Propiedades de la transformada Z . . . . . . . . . . . . . . . . . . . . . 17
i
ii INDICE GENERAL
2.5. Transformada Z inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.1. Serie infinita de potencias . . . . . . . . . . . . . . . . . . . . . 21
2.5.2. Descomposicion en fracciones . . . . . . . . . . . . . . . . . . . 22
2.6. Funcion de transferencia en Z . . . . . . . . . . . . . . . . . . . . . . . 24
3. Proceso de muestreo 25
3.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2. Repaso de la transformada de Fourier . . . . . . . . . . . . . . . . . . . 26
3.3. Muestreo de sistemas continuos . . . . . . . . . . . . . . . . . . . . . . 27
3.4. Reconstruccion de una senal muestreada . . . . . . . . . . . . . . . . . 29
3.5. Aliasing o enmascaramiento de frecuencias . . . . . . . . . . . . . . . . 31
3.6. Obtencion de la funcion de transferencia pulsada . . . . . . . . . . . . . 32
4. Analisis de sistemas muestreados 35
4.1. Estabilidad en sistemas de control por computador . . . . . . . . . . . 35
4.1.1. El criterio de estabilidad de Jury . . . . . . . . . . . . . . . . . 39
4.2. Respuesta transitoria: relacion con el diagrama de polos . . . . . . . . . 41
4.3. Errores en regimen permanente . . . . . . . . . . . . . . . . . . . . . . 49
4.3.1. Errores en regimen permanente para sistemas en bucle cerrado . 50
4.4. Caracterısticas frecuenciales. Correspondencia entre el plano s y el plano z 52
4.4.1. Otras correspondencias . . . . . . . . . . . . . . . . . . . . . . . 53
INDICE GENERAL iii
5. Diseno de controladores discretos 59
5.1. Discretizacion de reguladores continuos . . . . . . . . . . . . . . . . . . 59
5.1.1. Aproximacion rectangular hacia delante (Euler I) . . . . . . . . 60
5.1.2. Aproximacion rectangular hacia atras (Euler II) . . . . . . . . . 62
5.1.3. Aproximacion bilineal (trapezoidal o Tustin) . . . . . . . . . . . 63
5.2. Correspondencia s ↔ z para las aproximaciones de la integral . . . . . 64
5.2.1. Rectangular hacia delante . . . . . . . . . . . . . . . . . . . . . 64
5.2.2. Rectangular hacia atras . . . . . . . . . . . . . . . . . . . . . . 65
5.2.3. Trapezoidal o Bilineal . . . . . . . . . . . . . . . . . . . . . . . 66
5.3. Estabilidad de las aproximaciones de la integral . . . . . . . . . . . . . 66
5.4. Metodo de diseno directo . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.4.1. Causalidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.4.2. Estabilidad Interna . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.4.3. Errores en regimen permanente . . . . . . . . . . . . . . . . . . 74
5.5. Control en un numero finito de intervalos. Control dead-beat . . . . . . 76
6. Control de sistemas discretos en el espacio de estados 79
6.1. Representacion de sistemas discretos en el espacio de estados . . . . . . 79
6.2. Obtencion de la representacion de en espacio de estados de sistemas
discretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.2.1. Metodo de programacion directa . . . . . . . . . . . . . . . . . . 81
iv INDICE GENERAL
6.2.2. Metodo de programacion anidada . . . . . . . . . . . . . . . . . 83
6.3. La representacion en espacio de estados de un sistema no es unica . . . 84
6.4. Resolucion de las ecuaciones del espacio de estados . . . . . . . . . . . 85
6.4.1. Procedimiento recursivo . . . . . . . . . . . . . . . . . . . . . . 85
6.4.2. Matriz de transicion de estados . . . . . . . . . . . . . . . . . . 86
6.4.3. Metodo basado en la transformada Z . . . . . . . . . . . . . . . 87
6.4.3.1. Procedimiento alternativo para calcular (zI −G)−1 . . 88
6.5. Discretizacion de las ecuaciones de estado continuas . . . . . . . . . . . 90
6.6. Controlabilidad y Observabilidad . . . . . . . . . . . . . . . . . . . . . 93
6.6.1. Controlabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.6.2. Controlabilidad de la salida completa . . . . . . . . . . . . . . . 95
6.6.3. Observabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.6.4. Principio de Dualidad . . . . . . . . . . . . . . . . . . . . . . . 97
6.7. Transformacion de un sistema en formas canonicas . . . . . . . . . . . 97
6.7.1. Obtencion de la forma canonica controlable . . . . . . . . . . . 98
6.7.2. Obtencion de la forma canonica observable . . . . . . . . . . . . 98
6.8. Colocacion de polos mediante realimentacion del vector de estados . . . 99
6.8.1. Condicion necesaria y suficiente para la colocacion arbitraria de
polos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.8.2. Procedimientos para calcular K . . . . . . . . . . . . . . . . . . 100
6.8.2.1. Procedimiento alternativo: la formula de Ackermann . 102
INDICE GENERAL v
6.8.3. Control Dead-Beat . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.9. Observadores del estado . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.9.1. Procedimiento iterativo para la estimacion del estado . . . . . . 106
6.9.2. Observador del estado completo . . . . . . . . . . . . . . . . . . 108
6.9.2.1. Calculo de Ke . . . . . . . . . . . . . . . . . . . . . . . 110
6.9.2.2. Comentarios acerca del papel de Ke . . . . . . . . . . 112
6.9.2.3. Efectos de la adicion del observador . . . . . . . . . . . 113
6.9.3. Observador de orden mınimo . . . . . . . . . . . . . . . . . . . . 114
6.10. Control optimo LQR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.10.1. Solucion de la ecuacion de Riccatti . . . . . . . . . . . . . . . . 121
6.11. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7. Modelos de procesos y perturbaciones 123
7.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.2. Perturbaciones deterministas a trozos . . . . . . . . . . . . . . . . . . . 124
7.3. Procesos estocasticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.4. Modelos de procesos con ruidos . . . . . . . . . . . . . . . . . . . . . . 126
8. Introduccion a la identificacion de sistemas 129
8.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
8.2. Ideas basicas sobre identificacion de sistemas . . . . . . . . . . . . . . . 130
vi INDICE GENERAL
8.2.1. Planificacion de los experimentos . . . . . . . . . . . . . . . . . 130
8.2.2. Seleccion del tipo de modelo . . . . . . . . . . . . . . . . . . . . 131
8.2.3. Eleccion de un criterio . . . . . . . . . . . . . . . . . . . . . . . 132
8.2.4. Estimacion de los parametros . . . . . . . . . . . . . . . . . . . 132
8.2.4.1. Identificacion en lınea . . . . . . . . . . . . . . . . . . 132
8.2.4.2. Identificacion fuera de lınea . . . . . . . . . . . . . . . 133
8.2.5. Validacion del modelo . . . . . . . . . . . . . . . . . . . . . . . 133
8.2.6. Resumen del proceso de identificacion . . . . . . . . . . . . . . . 135
8.3. Algunas propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.3.1. Excitacion persistente . . . . . . . . . . . . . . . . . . . . . . . 136
8.3.2. Convergencia e identificabilidad . . . . . . . . . . . . . . . . . . 137
8.3.2.1. Identificacion en bucle cerrado . . . . . . . . . . . . . . 138
8.3.3. Niveles de supervision y acondicionamiento . . . . . . . . . . . . 140
9. Identificacion por mınimos cuadrados 141
9.1. El metodo de los mınimos cuadrados . . . . . . . . . . . . . . . . . . . 141
9.2. Algoritmo recursivo para identificacion en linea . . . . . . . . . . . . . 143
9.3. Interpretacion estadıstica . . . . . . . . . . . . . . . . . . . . . . . . . . 145
9.4. Mınimos cuadrados ponderados . . . . . . . . . . . . . . . . . . . . . . 148
9.5. Mınimos cuadrados extendidos y generalizados . . . . . . . . . . . . . . 149
9.6. Estimacion de los valores de continua . . . . . . . . . . . . . . . . . . . 150
INDICE GENERAL vii
9.6.1. Utilizacion de los incrementos de las variables . . . . . . . . . . 151
9.6.2. Calculo de los valores medios . . . . . . . . . . . . . . . . . . . 151
9.6.3. Estimacion de una constante . . . . . . . . . . . . . . . . . . . . 151
9.7. Importancia del orden del modelo . . . . . . . . . . . . . . . . . . . . . 152
9.8. Identificacion 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. Representacion matematica del retraso . . . . . . . . . . . . . . 161
10.1.2. Problematica 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. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
11.2. Control en cascada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
11.2.1. Estructura de un sistema de control en cascada . . . . . . . . . 179
viii INDICE GENERAL
11.2.2. Sintonizacion de controladores en cascada . . . . . . . . . . . . 180
11.3. Control anticipativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
11.3.1. Consideraciones practicas sobre los controladores anticipativos . 183
12.Control de procesos multivariables 185
12.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
12.2. Sistemas multivariables . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
12.3. Medida de las interacciones. Metodo de Bristol . . . . . . . . . . . . . . 188
12.4. Control de procesos multivariables mediante desacoplo . . . . . . . . . 192
13.Introduccion al control adaptativo 199
13.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . 199
13.1.1. Clasificacion grosso modo de los sistemas de control adaptativo . 201
13.2. Justificacion 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. Introduccion. 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. Asignacion 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. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
15.2. Funcion de autoajuste (autotuning) . . . . . . . . . . . . . . . . . . . . 223
15.3. Funciones de autoajuste para PIDs . . . . . . . . . . . . . . . . . . . . 225
15.3.1. Tecnicas de ajuste basadas en la respuesta transitoria . . . . . . 226
15.3.2. Metodos basados en las oscilaciones producidas al realimentar
con un rele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
15.4. La tecnica 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 historica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
16.2. Conceptos basicos de control predictivo . . . . . . . . . . . . . . . . . . 236
16.3. Estrategia de los controladores predictivos . . . . . . . . . . . . . . . . 237
16.4. Elementos basicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
x INDICE GENERAL
16.4.1. Modelo de prediccion . . . . . . . . . . . . . . . . . . . . . . . . 240
16.4.1.1. Respuestas libre y forzada . . . . . . . . . . . . . . . . 243
16.4.2. Funcion objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . 244
16.4.3. Obtencion de la ley de control . . . . . . . . . . . . . . . . . . . 247
16.5. Revision 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. Prediccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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. Extension al caso multivariable . . . . . . . . . . . . . 259
17.2. Control Predictivo Generalizado . . . . . . . . . . . . . . . . . . . . . . 260
17.2.1. Formulacion del Control Predictivo Generalizado . . . . . . . . 260
INDICE GENERAL xi
17.2.1.1. Prediccion optima . . . . . . . . . . . . . . . . . . . . 261
17.2.1.2. Obtencion de la ley de control . . . . . . . . . . . . . . 265
17.2.2. Ejemplo de calculo . . . . . . . . . . . . . . . . . . . . . . . . . 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. Resolucion del problema . . . . . . . . . . . . . . . . . . . . . . 273
18.1.4. Gestion de restricciones . . . . . . . . . . . . . . . . . . . . . . 274
18.1.4.1. Tecnicas de busqueda de soluciones factibles . . . . . . 275
xii INDICE GENERAL
Indice de figuras
1.1. Seleccion de que datos se deben guardar, con que frecuencia y en que
formato en los historicos de un sistema de control por computador. . . 4
1.2. Todos los sistemas de control por computador presentan mımicos mas o
menos realistas con la informacion de la planta. . . . . . . . . . . . . . 5
1.3. Herramientas para creacion de mımicos en un sistema de control por
computador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4. Los historicos presentan informacion relevante sobre la evolucion de las
variables monitorizadas bien en forma grafica o numerica. . . . . . . . 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 jerarquica. . . . . . . . . . . . . . . 9
1.9. Esquema de un sistema de control por computador . . . . . . . . . . . 10
1.10. Simulink es un lenguaje grafico que se puede utilizar para programar
algoritmos de control. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1. Secuencia de ponderacion de un sistema. . . . . . . . . . . . . . . . . . 14
2.2. Secuencias de entrada, salida y ponderacion de un sistema. . . . . . . . 24
xiii
xiv INDICE DE FIGURAS
3.1. Esquema de un sistema de control por computador. . . . . . . . . . . . 25
3.2. Muestrador mediante impulsos y mantenedor o retenerdor de orden cero. 26
3.3. Muestreador mediante impulsos como moduador. . . . . . . . . . . . . 27
3.4. Espectro en frecuencia de una senal muestreada, observandose como se
repite el espectro original atenuado cada ωs = 2πT
. . . . . . . . . . . . . 29
3.5. Uso de un filtro paso banda para obtener el espectro en frecuencia de la
senal original a partir del de la muestreada. . . . . . . . . . . . . . . . 29
3.6. Espectro en frecuencia de una senal muestreada con una frecuencia de
muestreo insuficiente (tiempo de muestreo demasiado alto) para poder
reconstruir la original. . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.7. Repeticiones en frecuencia del espectro de una senal muestreada en las
que el tiempo de muestreo es el lımite para poder reconstruir. . . . . . 30
3.8. Ilustracion del aliasing. . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.1. Evolucion de una secuencia de la forma (4.3) para distintos valores de pi. 37
4.2. Frontera de la region de estabilidad en el plano z. . . . . . . . . . . . . 37
4.3. Region del espacio de coeficientes de un polinomio de la forma z2+a1z+
a2 = 0 en la que las raices estan dentro del cırculo unidad. . . . . . . . 42
4.4. Respuestas transitorias correspondientes a la localizacion de varios polos
complejos conjugados en el plano s (a). Respuestas transitorias a los
correspondientes polos discretos (b). . . . . . . . . . . . . . . . . . . . 43
4.5. Respuestas transitorias correspondientes a la localizacion 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). . 44
4.6. Respuestas ante un impulso para un sistema con un polo en el eje real. 45
INDICE DE FIGURAS xv
4.7. Respuestas ante un impulso para un sistema con polos conjugados en el
eje imaginario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.8. Respuestas ante un impulso para un sistema con polos conjugados dentro
del circulo unidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.9. Respuestas ante un impulso para un sistema con polos conjugados 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 atenuacion constante en el plano s y z. . . . . . . . . . . . 55
4.13. Lugares de frecuencia constante en el plano s y z. . . . . . . . . . . . . 56
4.14. Lugares de amortiguacion y frecuencia natural constante en el plano s. 57
4.15. Lugares de amortiguacion constante en el plano z. . . . . . . . . . . . 57
4.16. Lugares de amortiguacion y frecuencia natural constante en el plano z. 58
5.1. Aproximacion rectangular hacia delante de la integral. . . . . . . . . . 60
5.2. Aproximacion rectangular hacia detras de la integral. . . . . . . . . . . 62
5.3. Aproximacion bilineal de la integral. . . . . . . . . . . . . . . . . . . . 63
5.4. Integral de u(t) para un periodo de muestreo. . . . . . . . . . . . . . . 65
5.5. Region de estabilidad en el plano s (sombreada). . . . . . . . . . . . . 67
5.6. Transformacion en el plano z de la region de estabilidad del plano s al
aplicar la aproximacion rectangular hacia delante (sombreada). . . . . 67
5.7. Transformacion en el plano z de la region de estabilidad del plano s al
aplicar la aproximacion bilineal (sombreada). . . . . . . . . . . . . . . 68
xvi INDICE DE FIGURAS
5.8. Transformacion en el plano z de la region de estabilidad del plano s al
aplicar la aproximacion rectangular hacia atras (sombreada). . . . . . 69
6.1. Diagrama de bloques de la representacion en espacio de estados de un
sistema LTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.2. Diagrama de bloques de un sistema controlado por una realimentacion
del vector de estados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.3. Diagrama de bloques de un sistema LTI controlado mediante una reali-
mentacion del vector de estados que estima el estado con un observador. 109
6.4. Diagrama de bloques de un observador de orden completo. . . . . . . . 109
7.1. Procesos estocasticos: realizaciones y variables aleatorias. . . . . . . . 125
7.2. Modelo de Box-Jenkins. . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.1. Esquema de la identificacion en lınea. . . . . . . . . . . . . . . . . . . 133
8.2. Diagrama de flujo del proceso de identificacion. . . . . . . . . . . . . . 135
8.3. Ejemplo de senal de entrada del tipo PRBSS. . . . . . . . . . . . . . . 137
9.1. Diagrama de flujo del proceso de identificacion mediante mınimos cuadra-
dos recursivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
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. . . . . . . . . . . . . . . . . . . . . . . . 153
9.3. Misma situacion que en la figura 9.2 pero con una senal de entrada
senoidal de frecuencia ω = 1 rad× s−1. . . . . . . . . . . . . . . . . . . 153
9.4. Evolucion de los parametros identificados en un caso de sobreparametrizacion.
154
INDICE DE FIGURAS xvii
9.5. Evolucion de unos parametros frente a otros para el modelo sobreparametriza-
do. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.1. Ejemplo de sistema con retraso. . . . . . . . . . . . . . . . . . . . . . . 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−tms. . . . 162
10.4. Diagrama de Bode para distintos valores de un retraso puro tms para el
sistema C(s)G(s)e−tms con C(s) = 1 y G(s) = 101+s
. . . . . . . . . . . . 163
10.5. Diagrama de Bode para distintos valores de tms 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
sensor se ha dispuesto antes del retardo. . . . . . . . . . . . . . . . . . 165
10.7. Sistema de control en donde se realimenta la prediccion de la salida
mediante un modelo en bucle abierto. . . . . . . . . . . . . . . . . . . . 166
10.8. Estructura del Predictor de Smith. . . . . . . . . . . . . . . . . . . . . 167
10.9. Bode de C(s)G(s) para el ejemplo. . . . . . . . . . . . . . . . . . . . . 168
10.10.Bode de C(s)G(s) para el ejemplo, desintonizando el controlador de
manera que la ganancia sea cuatro veces menor. . . . . . . . . . . . . . 169
10.11.Respuesta del sistema en bucle cerrado con el controlador desintonizado
de manera que la ganancia sea cuatro veces menor. . . . . . . . . . . . 169
10.12.Respuesta del sistema en bucle cerrado con el predictor de smith (trazo
solido) comparada con la del lazo simple (trazo discontinuo). . . . . . . 170
10.13.Respuestas del sistema en bucle cerrado con el predictor de smith cuando
se tienen diversos errores en la estimacion del retardo. . . . . . . . . . . 172
10.14.Estructura del Predictor PI. . . . . . . . . . . . . . . . . . . . . . . . . 172
xviii INDICE DE FIGURAS
10.15.Algoritmo del Predictor de Smith. . . . . . . . . . . . . . . . . . . . . . 173
10.16.Estructura de control para procesos con respuesta inversa. . . . . . . . 175
10.17.Ejemplo de control de un sistema de fase no mınima con un PI usando
un lazo simple de realimentacion (trazo discontinuo) y la estructura de
control para procesos con respuesta inversa propuesta en la figura 10.16. 176
11.1. Ejemplo de sistema con perturbacion a la entrada. . . . . . . . . . . . . 178
11.2. Ejemplo de sistema con perturbacion a la entrada. . . . . . . . . . . . . 179
11.3. Ejemplo de sistema con perturbacion a la salida. . . . . . . . . . . . . . 182
11.4. Sistema con perturbacion a la salida controlado con un lazo simple de
realimentacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
11.5. Sistema con perturbacion a la salida controlado con un control anticipativo.183
11.6. Sistema con perturbacion a la salida controlado con un control antici-
pativo con control realimentado. . . . . . . . . . . . . . . . . . . . . . . 184
12.1. Respuesta de un sistema multivariable de dos entradas y dos salidas
cuando se aplican escalones en sus entradas. Pueden observarse las in-
teracciones en el hecho de que las salidas varıan cuando las entradas
respectivas estan en reposo. . . . . . . . . . . . . . . . . . . . . . . . . 186
12.2. Representacion de un sistema multivariable de orden 2. . . . . . . . . . 186
12.3. Representacion de un sistema multivariable de orden 2 en bucle cerrado
con dos controladores multivariables. . . . . . . . . . . . . . . . . . . . 187
12.4. Representacion de un sistema multivariable controlado por 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. Simulacion del sistema multivariable en bucle cerrado. . . . . . . . . . . 197
13.1. Configuracion generica de un controlador adaptativo. . . . . . . . . . . 200
13.2. Sistema realimentado con actuador con caracterıstica v = f(u). . . . . 203
13.3. Sistema realimentado con actuador con caracterıstica v = f(u). . . . . 203
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. Configuracion generica de un controlador adaptativo por modelo de re-
ferencia (MRAC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
14.1. Configuracion generica de un regulador o controlador autoajustable. . 212
14.2. Configuracion generica de un regulador o controlador autoajustable. . 213
14.3. Division de polinomios para el ejemplo 14.2. . . . . . . . . . . . . . . . 217
14.4. Estructura para la asignacion de polos y ceros. . . . . . . . . . . . . . 219
15.1. PID industrial moderno con funcion de autoajuste (ABB modelo ECA). 225
15.2. Determinacion de T y L por areas. . . . . . . . . . . . . . . . . . . . . 227
15.3. Estructura usada en el metodo basado en oscilaciones de rele. . . . . . 228
15.4. Configuracion generica de un controlador adaptativo con adaptacion en
bucle abierto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
15.5. Curva de pH para una solucion de HCl 0.001 M y NaOH 0.001 M. . . 230
15.6. Caracterıstica aproximada de una sonda lambda . . . . . . . . . . . . 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 basica del MPC . . . . . . . . . . . . . . . . . . . . . . . . . 239
16.3. Respuesta impulsional y ante escalon . . . . . . . . . . . . . . . . . . . 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 operacion optimo de un proceso tıpico . . . . . . . . . . . . . 258
18.1. Restricciones y punto de operacion optimo . . . . . . . . . . . . . . . . 270
18.2. Restricciones en la senal de control . . . . . . . . . . . . . . . . . . . . 271
18.3. Gestion de restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Capıtulo 1
Introduccion al control por
computador
1.1. Conceptos basicos
El control por computador surge de la evolucion del control analogico clasico (usado
extensivamente en sistemas mecanicos, electricos y electronicos), en la cual el computa-
dor se ve como medio para ampliar las capacidades y funcionalidades de los sistemas
de control. Esa incorporacion del computador digital comienza ya en etapas tan tem-
pranas del desarrollo de los computadores como la decada 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 analogico tradicional. El siguiente paso es el de sustituir directamente
a los controladores analogicos (habitualmente de tipo PID) en lo que se vino a llamar
el Control Digital Directo. En este tipo de control el computador calcula la senal de
control que se aplicara directamente al proceso.
La decada de los 70 ve la aparicion de los microprocesadores como sustitutos en un
solo circuito integrado de los principales componentes de un computador. La dramatica
reduccion 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 aparicion de los sistemas
de control distribuidos en los que diversos computadores se reparten las distintas tareas
de control de una planta. Esos computadores se conectaran entre si mediante diferentes
topologıas de red, propiciando la aparicion de normas de interconexion 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 supervision y control.
En epocas mas reciente, los sistemas de control han ido ocupando cada vez mas
campos de aplicacion de los controladores clasicos como por ejemplo el sector de au-
tomocion y los sistemas de control de vuelo. Por otra parte el abaratamiento y sim-
plificacion de estas tecnologıas han hecho que acaben aplicando incluso en el entorno
domestico dentro del campo de la domotica.
El avance de este tipo de sistemas de control es tal que hoy en dia ya no se concibe
ninguna aplicacion de control automatico 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 clasica, 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 tambien suele presentar
nuevos inconvenientes. En esta seccion se describiran brevemente ambas caracterısticas.
Dentro de las principales ventajas del control por computador podemos encontrar:
Los sistemas de control por computador son mas eficientes a la hora de controlar
sistemas complejos. Ademas al ser sistemas programables, se pueden incorporar
algorıtmos de control mas sofisticados que los que se pueden realizar con compo-
nentes analogicos.
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 mas flexible que el hardware.
Mayor precision en los calculos. Con instrumentacion analogica alcanzar una alta
precision en los calculos es muy caro, mientras que con los computadores digitales
la precision en muchos casos es arbitraria.
Invariabilidad de los calculos. No hay envejecimiento ni derivas ya que los calculos
se realizan usando aritmetica digital.
CAPITULO 1. INTRODUCCION AL CONTROL POR COMPUTADOR 3
Centralizacion de la informacion en un sistema que coordina todas las funciones.
Informacion con marcas precisas de tiempo.
Los sistemas de control por computador presentan muchas funciones adicionales
y complementarias como por ejemplo visualizacion de la informacion, gestion de
historicos, alarmas, calculos estadısticos sobre el rendimiento, etc. . .
Por otra parte los sistemas de control por computador tambien presentan inconve-
nientes, entre ellos:
Coste elevado. Este coste es ademas muy dependiente del numero de lazos de
control que se hayan de implementar.
Problemas de fiabilidad. Si hay mucha centralizacion, todo depende de un com-
putador. 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 com-
putador
Las tareas que un sistema de control por computador realiza van mas alla de las de
control que realiza un sistema de control clasico.
El primer grupo de funciones que se pueden enumerar es la de adquisicion y tratamien-
to de datos. El sistema adquiere las senales y realiza operaciones de adecuacion entre
las que se encuentran:
Filtrado de senales.
Linealizacion de la caracterıstica de sensores y actuadores.
Conversion a unidades de ingenierıa.
Ademas de esas funciones de tratamiento de la senal se realizan otras tareas entre las
que se incluyen:
4 FUNCIONES DE UN SISTEMA DE CONTROL POR COMPUTADOR
Almacenamiento de los datos adquiridos en historicos. Se seleccionan que datos
se almacenaran y en que formato (ver figura 1.1).
Calculos auxiliares: rendimientos, consumos, etc. . .
Analisis estadısticos.
Figura 1.1: Seleccion de que datos se deben guardar, con que frecuencia y en que formato en loshistoricos de un sistema de control por computador.
Otra de las tareas mas importantes de un sistema de control es la de presentar la
informacion disponible del sistema al operador. El objeto de esta informacion es el de
la monitorizacion y supervision de la planta. Esta tarea se realiza dentro del interfaz
hombre-maquina (MMI o HMI) que desempena entre otras las siguientes tareas de
comunicacion con el usuario:
Presentacion de la informacion de la planta (medidas de sensores, valores en
los actuadores, etc. . . ) mediante un mımico o sinoptico (ver figura 1.2). Estos
mımicos se refrescan en tiempo real por lo que el operador tiene en todo momento
una vision clara de lo que ocurre en la planta. Todos los sistemas de control por
computador incluyen librerıas y herramientas para crear mımicos mas o menos
realistas de la planta que se controla (ver figura 1.3).
Otra de las tareas del MMI es la gestion de alarmas ante condiciones anormales de
operacion de la planta y su presentacion al operador. Las alarmas se traducen en avisos
al operador y se pueden tratar en funcion de su importancia. Ademas las incidencias y
alarmas se almacenan en las bases de datos del sistema de control por computador.
CAPITULO 1. INTRODUCCION AL CONTROL POR COMPUTADOR 5
Figura 1.2: Todos los sistemas de control por computador presentan mımicos mas o menos realistascon la informacion de la planta.
Figura 1.3: Herramientas para creacion 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 ademas 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 mision de sugerir cual es la posible
solucion a cualquier incidencia que se presente o indicar los puntos de funcionamiento
o modos de operacion que sean mas 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 historicos (ver figura 1.4) de todas las variables (sensores, actuadores,
etc. . . ) que se considere necesario (no necesariamente solo las que se muestran en
los mımicos). Esta informacion es de gran utilidad para analizar el funcionamiento del
proceso, estudiar el efecto de cambios en la operacion del sistema y averiguar las causas
de fallos y alarmas.
Figura 1.4: Los historicos presentan informacion relevante sobre la evolucion de las variables monitor-izadas bien en forma grafica o numerica.
Ademas de las tareas de adquisicion de datos y de monitorizacion 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 realimentacion
dejando al operador la tarea de cambiar los puntos de consigna o referencia a seguir.
CAPITULO 1. INTRODUCCION AL CONTROL POR COMPUTADOR 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
funcion de la forma en la que se conectan los distintos elementos, de la concentracion
de funciones en ellos y de las tareas asignadas.
Una de las primeras estructuras en emplearse fue la estructura centralizada. En esta
estructura un solo computador central realiza todas las tareas antes mencionadas (ver
figura 1.6). Aunque esta estructura estaba plenamente justificada cuando los computa-
dores eran muy costosos, presenta bastantes problemas. En primer lugar se depende de
un solo equipo para todas las tareas. Si este falla todo falla. Por tanto la fiabilidad de
esta estructura es baja. Por otra parte la instalacion 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 practica ademas 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 figu-
ra 1.7), diversos elementos de control y computadores se conectan a traves de una
red (llamada bus de campo) que reparte datos y senales entre ellos. Esta estructura es
mas 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 rapi-
dez de procesamiento y respuesta. Ademas el coste de instalacion es menor pues los
controladores se situan mas cerca de los elementos de medida y control. Sin embargo
se impone la necesidad de definir y usar estandares de interconexion y protocolos de
comunicaciones.
Figura 1.7: Sistema de control con estructura distribuida.
Finalmente, en los sistemas de control distribuidos puede ademas imponerse una
estructura jerarquica (ver figura 1.8), en las que se definen distintos niveles de compleji-
dad en los elementos de control y en las tareas que estos realizan. Los niveles mas bajos
vendran ocupados por controladores de bajo nivel, sensores inteligentes y actuadores.
Los niveles intermedios estaran ocupados por controladores programables, automatas
y computadores con software de control. Los niveles mas altos estaran ocupados por
maquinas mas complejas y computadores con el software mas complejo. Es de destacar
que los tiempos de ciclo de estos elementos son mas largos cuanto mas alto sea el nivel.
CAPITULO 1. INTRODUCCION AL CONTROL POR COMPUTADOR 9
Figura 1.8: Sistema de control con estructura jerarquica.
1.5. Instrumentacion especıfica de los sistemas de
control por computador
Los sistemas de control por computador poseen instrumentacion 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 analogico/digital y digital/analogico. Estos convertidores traducen las
senales analogicas de los sensores a valores numericos entendibles por el computador (y
al reves) y lo hacen de manera cuantizada con una resolucion que viene determinada
por el numero 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 solo 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 apli-
cacion de los valores en los actuadores se emplean mantenedores de senal. El tipo mas
comun es el mantenedor de orden cero (MOC) que mantiene la senal constante entre
intervalos de muestreo.
Aparte de los elementos anteriormente mencionados en un moderno sistema de
control por computador podemos encontrar otros elementos mas sofisticados como
sensores inteligentes que proporcionan las medidas ya tratadas, filtradas y/o digital-
izadas. Ademas pueden realizar operaciones con distintas medidas o inferir magnitudes
indirectamente a partir de otras.
10 SOFTWARE DE CONTROL
SINCRONÍA
C. D/A +M.O.C.
PLANTA C. A/DCOMPUTADORREF ERROR ENTRADA 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 estan 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, repitiendose siempre tres bloques de acciones:
1. Medir u obtener las medidas de los sensores.
2. Calcular los valores que se aplicaran 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 validos en sistemas de control. Estos requisitos estan normal-
mente relacionados con la temporizacion de tareas y la necesidad de garantizar que
los programas que implementan algoritmos de controlador se ejecutaran en el tiempo
necesario a toda costa. Los sistemas que cumplen esto son los que se suelen denominar
sistemas operativos para operacion en tiempo real o sistemas en tiempo real.
Finalmente hay que destacar que existen diferentes posibilidades a la hora de pro-
gramar un controlador, pudiendose 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 grafico (ver figura 1.10).
CAPITULO 1. INTRODUCCION AL CONTROL POR COMPUTADOR 11
Figura 1.10: Simulink es un lenguaje grafico que se puede utilizar para programar algoritmos decontrol.
12 SOFTWARE DE CONTROL
Capıtulo 2
Secuencias y transformada Z
2.1. Introduccion
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, . . .
Notese que no solo el tiempo esta discretizado sino que debido a la naturaleza digital
del elemento de control (el computador) los valores de ambas senales son tambien
discretos. El sistema de control por computador es por tanto un sistema discreto que
recibe senales yk1 y genera salidas uk. Los valores de esas senales a lo largo del tiempo
forman secuencias, por ejemplo:
{yk} = {0, 0, 1, 1, . . .} {uk} = {1, 1, 0,−2, . . .}
Estas secuencias estan relacionadas por ecuaciones en diferencias (analogas en sistemas
discretos a las ecuaciones diferenciales en sistemas continuos):
yk = a1yk−1 + a2yk−2 + · · ·+ anyk−n + b0uk + b1uk−1 + cdots + bmuk−m
Estas ecuaciones en diferencias constituyen una forma muy comun de modelar sistemas
discretos.
1Notese que con la notacion yk se esta indicando y(kT ), de manera que yk−1 = y((k − 1)T ) yası sucesivamente. Por otra parte es habitual utilizar tambien la notacion y(k),y(k − 1), etc. . .
13
14 SECUENCIA DE PONDERACION
2.2. Secuencia de ponderacion
Denominaremos secuencia de ponderacion {gk} = {g0, g1, · · ·} a la secuencia obteni-
da 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 analogo al de re-SistemaDiscreto{ k}={1,0,0,…} {gk}={g0,g1,g2,…}g0 g1 g2 ...Figura 2.1: Secuencia de ponderacion de un sistema.
spuesta impulsional y como veremos a continuacion, permite caracterizar la salida de
un sistema lineal.
Notese que cualquier secuencia {uk} puede expresarse de la forma:
{uk} =l=∞∑
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}.Notese 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 demas.
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
{uk} =l=∞∑
l=0
ul · {δk−l}
se obtendra una secuencia de salida:
{yk} =l=∞∑
l=0
ul · {gk−l}
CAPITULO 2. SECUENCIAS Y TRANSFORMADA Z 15
pues por el concepto de secuencia de ponderacion, a la secuencia {δk−l} le corresponde
a la salida la secuencia {gk−l}, que es la secuencia de ponderacion {gk} retrasada l
tiempos de muestreo. Esa expresion se puede desarrollar de manera que se obtiene:
{yk} = u0 · {g0, g1, g2, · · ·}+ u1 · {0, g0, g1, · · ·}+ u2 · {0, 0, g1, · · ·}+ · · ·= u0g0 + u0g1 + u0g2 + · · ·+ u1g0 + u1g1 + · · ·+ u2g0 + · · ·= g0 · {uk}+ g1 · {uk−1}+ g2 · {uk−2}+ · · ·
llegandose a:
{yk} =l=∞∑
l=0
gl · {uk−l}
Esto implica que conociendo la secuencia de ponderacion de un sistema podemos cal-
cular la salida para cualquier secuencia de entrada. La expresion anterior es equivalente
a:
{yk} =l=∞∑
l=0
gl · {uk−l} = {gk} ? {uk} (2.1)
donde ? indica la operacion de convolucion 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 vera a
continuacion.
2.3. Transformada en Z
La transformada en Z cumple el mismo papel en sistemas discretos que la transfor-
mada de Laplace en sistemas continuos. Permite obtener la solucion de ecuaciones en
diferencias y por tanto representar senales y secuencias de una manera mas compacta.
Para entender la transformada en Z se parte de una senal continua x(t). Esta senal 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 funcion delta de Dirac δ(t− kT ) vale 1 para t = kT y cero
en todos los demas casos, es claro que la senal 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(s) = L {x∗(t)} =∞∫0
x∗(t)e−stdt
=∞∫0
∞∑k=0
[x(kT )δ(t− kT )] e−stdt
=∞∑
k=0
∞∫0
[x(kT )δ(t− kT )] e−stdt
=∞∑
k=0
x(kT )e−kTs
Se define ahora una nueva variable z como:
z = eTs
y haciendo el cambio de variable la transformada Z de una secuencia {xk} queda como:
Z {xk} = X(z) =∞∑
k=0
xkz−k (2.2)
que como puede verse por el desarrollo anterior se ha obtenido de la transformada de
Laplace de la senal muestreada.
2.3.1. Transformadas de algunas senales tıpicas
Calcular la transformada Z puede ser bastante complejo, de ahı el uso de tablas con
las transformadas de las senales mas comunes. Algunas de las senales mas sencillas si
pueden calcularse facilmente.
Senal impulso. Esta senal tiene como secuencia asociada
{δk} = {1, 0, 0, · · ·}
En este caso la transformada Z se calcula facilmente como:
Z {δk} =∞∑
k=0
δkz−k = δ0z
0 = 1
Senal escalon. En este caso la senal es
{uk} = {1, 1, 1, · · ·}
CAPITULO 2. SECUENCIAS Y TRANSFORMADA Z 17
En este caso la transformada Z se calcula facilmente2 como:
Z {uk} = U(z) =∞∑
k=0
ukz−k =
∞∑
k=0
z−k =1
1− z−1=
z
z − 1
Senal {ak}:
Z{ak
}=
∞∑
k=0
akz−k =∞∑
k=0
(a
z
)k
=1
1− az
=z
z − a
Senal {e−ak}. En este caso se aplica el resultado anterior con a = e−a obteniendose
Z{e−ak
}=
z
z − e−a
Aplicando consideraciones similares se puede ir obteniendo la transformada Z de las
secuencias mas 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 seccion se veran las propiedades mas 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} = znX(z). La demostracion es muy sencilla. Basta tener en cuenta
que:
Z {xk+n} =∞∑
k=0
xk+nz−k tomando l = k + n
=∞∑
l=n
xlz−(l−n)
= zn
(X(z)−
n−1∑l=0
xlz−l
)
= znX(z)− znn−1∑l=0
xlz−l
2Este resultado es valido siempre que 1z < 1.
18 PROPIEDADES DE LA TRANSFORMADA Z
Cuadro 2.1: Tabla con las transformadas Z mas usuales.
CAPITULO 2. SECUENCIAS Y TRANSFORMADA Z 19
Cuadro 2.2: Tabla con las transformadas Z mas usuales (continuacion).
20 PROPIEDADES DE LA TRANSFORMADA Z
el termino znn−1∑l=0
xlz−l son condiciones iniciales (analogo a lo que ocurre en
la transformada de Laplace), con lo que el resultado queda demostrado.
b) Z {xk−1} = z−1X(z) y en general Z {xk−n} = z−nX(z). La demostracion
pasa por considerar una secuencia {yk} = {xk−1}. La transformada Z de
esta secuencia es:
Y (z) =∞∑
k=0
ykz−k
=∞∑
k=0
xk−1z−k
= z−1∞∑
k=0
xk−1z−(k−1) tomando k′ = k − 1
= z−1∞∑
k′=−1
xk′z−k′
= z−1
(x−1z +
∞∑k′=0
xk′z−k′
)teniendo en cuenta que x−1 = 0
= z−1X(z)
Por tanto Z {xk−1} = z−1X(z) y en general se puede demostrar que Z {xk−n} =
z−nX(z). Notese que z−1X(z) se corresponde con la secuencia {xk} retrasa-
da en un tiempo de muestreo. Por tanto, se entiende que a z−1 se le conozca
tambien como operador retraso. Analogamente, z−nX(z) se corresponde con
la secuencia {xk} retrasada n tiempos de muestreo.
3. Convolucion. Se cumple que:
Z {{xk} ? {yk}} = Z
{k∑
l=0
xlyk−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ımk→∞
xk = lımz→1
(z − 1)X(z)
Nota: en algunos textos aparece como lımz→1
(1 − z−1)X(z). Por otra parte este
teorema es valido si el lımite existe.
Ejemplo 2.1
Sea
X(z) =z
z − 1El valor final sera
x∞ = lımz→1
z = 1
Este resultado es congruente con el hecho de que la secuencia es un escalon
unitario.
CAPITULO 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ımz→∞
X(z)
Ejemplo 2.2
Sea {xk} un escalon unitario. En este caso
x0 = lımz→∞
z
z − 1= lım
z→∞1
1− 1z
= 1
2.5. Transformada Z inversa
En esta seccion trataremos el problema de obtener la representacion temporal de un
senal a partir de la transformada Z. Esto se hace a traves de la llamada transformada
Z inversa:
Z−1 {X(z)} = {xk}La transformada inversa Z puede calcularse de diversas maneras. Ademas de usar
tablas, se expondran aquı dos metodos para calcularla: el metodo de division larga
(tambien llamada de serie infinita de potencias) y el metodo por descomposicion en
fracciones simples.
2.5.1. Serie infinita de potencias
El metodo consiste en realizar la division 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 seran la representacion temporal de la secuencia.
Ejemplo 2.3
Sea
X(z) =z
z − c
obtener la representacion temporal por el metodo de la division larga. En este caso, al
realizar la division se obtiene:
z
z − c= 1 + cz−1 + c2z−2 + c3z−3 + · · ·
22 TRANSFORMADA Z INVERSA
es decir, los coeficientes forman la secuencia:
{xk} = {1, c, c2, c3, · · ·} = {ck}
Ejemplo 2.4
Sea
X(z) =0,1z2
z2 − 1,9z + 0,9
Si se realiza la division se obtiene:
0,1z2
z2 − 1,9z + 0,9= 0,1 + 0,19z−1 + 0,271z−2 + · · ·
por lo que la secuencia serıa {xk} = {0,1, 0,19, 0,271, · · ·}.
2.5.2. Descomposicion en fracciones
El metodo consiste en descomponer la representacion en transformada Z en frac-
ciones simples y aplicar las equivalencias correspondientes a cada fraccion. 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 descom-
poner X(z)z
en lugar de X(z) directamente. Si ese termino no esta presente se puede
descomponer directamente, de manera analoga a lo que se hace con la transformada
de Laplace inversa para sistemas continuos.
CAPITULO 2. SECUENCIAS Y TRANSFORMADA Z 23
Ejemplo 2.5
Sea
X(z) =(1− e−aT )z
(z − 1)(z − e−aT )
Aplicar el metodo de la descomposcion en fracciones simples. Como se tiene el factor
z en el numerador expandimos X(z)z
:
X(z)
z=
A
z − 1+
B
z − e−aT
Se obtiene que A = 1 y B = −1, por tanto
X(z) =z
z − 1− z
z − e−aT
Mirando en la tabla de transformadas Z y sustituyendo se obtiene:
{xk} = {1− e−akT}
Ejemplo 2.6
Sea
X(z) =(1− e−aT )
(z − 1)(1− e−aT )
La descomposicion resulta ser
X(z) =(1− e−aT )
(z − 1)(1− e−aT )=
1
z − 1− 1
z − e−aT
Notese que1
z − 1= z−1 z
z − 1
es decir corresponde a un escalon unitario retrasado, {1k−1}. Aplicando al otro termino
esta consideracion se ve que corresponde con {e−aT (k−1)}. Por tanto:
{xk} = {1k−1 + e−aT (k−1)}
Notese que este tipo de terminos aparecera siempre en sistemas con retardo (en este
caso el retardo es 1).
24 FUNCION DE TRANSFERENCIA EN Z
2.6. Funcion de transferencia en Z
La funcion de transferencia en sistemas discretos cumple el mismo papel que su
homonima en sistemas continuos, es decir, se busca una forma de relacionar la entrada
de un sistema discreto con su salida a traves de sus transformadas en Z. Sea un sistema
cuya secuencia de ponderacion es {gk} y cuyas secuencias de entrada y salida son {uk}y {yk} respectivamente (ver figura 2.2). Si denotamos las transformadas Z como
{gk}{uk} {yk}Figura 2.2: Secuencias de entrada, salida y ponderacion 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 relacion entre las transformadas en Z de la entrada y la salida es
G(z) =Y (z)
U(z)
que es la funcion de transferencia del sistema en transformada Z .
En la practica, la funcion de transferencia se puede obtener tomando transformadas
Z en la ecuacion en diferencias que modela al sistema:
yk = a1yk−1 + a2yk−2 + · · ·+ anyk−n + b0uk + b1uk−1 + · · ·+ bmuk−m
Como esta ecuacion se cumple para todo k, se verifica que:
{yk} = a1 ·{yk−1}+a2 ·{yk−2}+· · ·+an ·{yk−n}+b0 ·{uk}+b1 ·{uk−1}+· · ·+bm ·{uk−m}Usando la transformada Z , se obtiene:
Y (z) = a1z−1Y (z) + a2z
−2Y (z) + · · ·+ anz−nY (z) + b0U(z) + · · ·+ bmz−mU(z)
Sacando factor comun se llega a:
G(z) =Y (z)
U(z)=
b0 + b1z−1 + · · ·+ bmz−m
1− a1z−1 − · · · − anz−n
Notese que la funcion de transferencia es una funcion racional.
Capıtulo 3
Proceso de muestreo
3.1. Introduccion
En este capıtulo se estudiara como se muestrea un sistema continuo al ser controlado
mediante un esquema de control por computador y como este muestreo afecta a la
dinamica del proceso que es percibida por el sistema de control. Tambien se vera como
es posible reconstruir una senal 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, ademas de los convertidores digital/analogico y
SINCRONÍA
C. D/A +M.O.C.
PLANTA C. A/DCOMPUTADORREF SALIDA
PLANTA DISCRETIZADA
TT
{ek} {uk}
MUESTREO
u(t)
y(t)e(t)
Figura 3.1: Esquema de un sistema de control por computador.
analogico/digital que adaptan la senal de formato, dos elementos fundamentales en el
proceso de muestreo: en primer lugar la senal 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 senal de control solo 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 senal de control que se aplica a la planta constante. Por tanto la senal
25
26 REPASO DE LA TRANSFORMADA DE FOURIER
de control solo 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 senal continua y la aplicacion de un
mantenedor o retenedor de orden cero a la senal 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 senal continua.
2. Mantener la salida (senal de control) hasta el siguiente periodo de muestreo.
3.2. Repaso de la transformada de Fourier
La transformada de Fourier es un instrumento matematico que resulta util en el
estudio de senales y sistemas de control. Recordemos que la transformada de Fourier
de una senal periodica fT (t) de periodo T se calcula como:
FT (ωn) =
T2∫
−T2
fT (t)e−jωntdt donde ωn =2π
Tn n = 0,±1, . . . (3.1)
Por otra parte, la transformada de Fourier inversa o antitransformada, se calcula como:
fT (t) =1
T
∞∑−∞
FT (ωn)ejωnt =1
2π
∞∑−∞
FT (ωn)ejωnt∆ω donde ∆ω =2π
T(3.2)
En el caso de que la senal a transformar no fuese periodica se considera que el periodo
T tiende a infinito por lo que el sumatorio de la antitransformada se aproxima por una
CAPITULO 3. PROCESO DE MUESTREO 27
integral y el termino ∆ω se sustituye por dω, de manera que queda:
F (ω) =
∞∫
−∞
f(t)e−jωtdt (3.3)
f(t) =1
2π
∞∫
−∞
f(ω)ejωtdw (3.4)
Notese que F (ω) es un numero complejo, por lo que a la hora de representarla se
utilizaran dos graficas, una para el modulo y otra para la fase.
La transformada de Fourier nos da informacion sobre la distribucion de la energıa
de una senal a lo largo del espectro de frecuencias que esta ocupa. Una diferencia
entre la transformada de una senal periodica y la de otra que no lo es, es que una senal
periodica 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 senal original x(t) (llamada senal moduladora)
con un tren de impulsos de periodo T . A este tren de impulsos se le denomina senal
portadora (ver figura 3.3).
Figura 3.3: Muestreador mediante impulsos como moduador.
28 MUESTREO DE SISTEMAS CONTINUOS
La senal portadora tendra la forma:
p(t) =∞∑−∞
δ(t− kT )
donde δ(t− kT ) vale 1 para t = kT y cero en otro caso. La senal muestreada x∗(t) se
calculara como:
x∗(t) =∞∑
k=0
x(t)δ(t− kT ) = x(t) · p(t) (3.5)
Notese que a la senal x(t) se le corresponde su transformada de Fourier X(ω), mien-
tras que a la senal portadora, por ser periodica le corresponde como transformada de
Fourier:
P (ωn) =
T2∫
−T2
δ(t)e−jωntdt = 1 ωn =2π
Tn
¿ Cual sera la relacion entre el espectro de la senal muestreada y el espectro de la
senal original ? Segun 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ωtdt =
∞∫
−∞
x(t) · p(t)e−jωtdt (3.6)
Teniendo en cuenta que P (ωn) = 1, usando la antitransformada se infiere que
p(t) =1
T
∞∑−∞
ejωnt
LLevando esto a (3.6) se tiene que:
X∗(w) =
∞∫
−∞
x(t)
[1
T
∞∑−∞
ejωnt
]e−jωtdt =
1
T
∞∑n=−∞
∞∫
−∞
x(t)e−j(ω−ωn)tdt (3.7)
lo que finalmente equivale a:
X∗(w) =1
T
∞∑n=−∞
X(ω − ωn) ωn =2π
Tn (3.8)
Lo anterior se puede interpretar como que
CAPITULO 3. PROCESO DE MUESTREO 29
El espectro en frecuencia de la senal muestrada x∗(t) tiene la misma forma
que la de la senal sin muestrar x(t), atenuada por un factor 1T
y repetida
en la frecuencia cada ∆ω = 2πT
radianes por segundo.
Esto se ilustra en la figura 3.6. Notese que para n = 0 entonces ωn = 0 y X∗(ω0) =1TX(ω).
Figura 3.4: Espectro en frecuencia de una senal muestreada, observandose como se repite el espectrooriginal atenuado cada ωs = 2π
T .
3.4. Reconstruccion de una senal muestreada
Cuando se habla de reconstruir una senal muestreada se esta aludiendo a la tarea de
obtener x(t) a partir de x∗(ω), es decir a obtener la senal 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 senal 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). 1 |X( )|T 1/T Filtro|X*( )|Figura 3.5: Uso de un filtro paso banda para obtener el espectro en frecuencia de la senal original apartir del de la muestreada.
30 RECONSTRUCCION DE UNA SENAL MUESTREADA
Notese que este proceso es posible siempre que las repeticiones de X(ω) esten su-
ficientemente separadas. Las repeticiones aparecen cada 2πT
radianes por segundo, por
lo que si el tiempo de muestreo T crece la separacion disminuira, hasta que llegue un
momento en el que las repeticiones se ((montaran)) unas sobre otras, solapandose y
dejando irreconocible el espectro original (ver figura 3.6). En ese caso no serıa posible
reconstruir la senal original.
Figura 3.6: Espectro en frecuencia de una senal muestreada con una frecuencia de muestreo insuficiente(tiempo de muestreo demasiado alto) para poder reconstruir la original.
¿ Cual es el tiempo de muestreo maximo a partir del cual se da el solape de las
repeticiones ? Tal y como se ha visto en la seccion anterior y se ilustra en la figura 3.4,
las ((centros)) de las repeticiones estan separados por ωs = 2πT
radianes por segundo.
Por otra parte esas repeticiones contendran energıa hasta una determinada frecuencia
ωc. La figura 3.7 muestra la situacion lımite a partir de la cual el solape comenzarıa a
imposibilitar la reconstruccion. Claramente si ωs es menor que dos veces la mitad de1/T|X*( )|c sc 0
Figura 3.7: Repeticiones en frecuencia del espectro de una senal muestreada en las que el tiempo demuestreo es el lımite para poder reconstruir.
la ((banda de frecuencias)) que ocupa el espectro de la senal original (es dedir que ωc)
se producira el solape. Por tanto la condicion que buscamos es que:
ωs ≥ 2ωc
CAPITULO 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
senal debe ser al menos el doble de aquella frecuencia mas alta ωc para la que el sistema
tiene alguna energıa
Evidentemente como ωs = 2πT
la condicion para que el tiempo de muestreo sea tal que
permita la reconstruccion de la senal es:
T ≤ π
ωc
(3.9)
Por tanto el teorema de Shannon lo podemos reescribir como:
Si una senal 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 practica 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
mas rapido que la constante de tiempo caracterıstica del sistema continuo.
3.5. Aliasing o enmascaramiento de frecuencias
Este fenomeno se da bajo ciertas condiciones cuando se muestrea una senal a una
tasa inferior a la dictada por el teorema de Shannon y se intenta reconstruir despues.
Es evidente que la reconstruccion no sera perfecta. El enmascaramiento se da cuando
no solo no se reconstruye la senal original si no que aparece reconstruida otra senal con
diferente frecuencia. Mas especificamente este problema se da cuando los valores que
se obtienen al muestrear de dos senales diferentes son identicos. Claramente si para dos
senales diferentes se obtienen los mismos valores muestreados, al reconstruir la senal
no se podran diferenciar entre ellas, de ahı el termino ((aliasing)), pues una de ella es
alias de la otra.
32 OBTENCION DE LA FUNCION DE TRANSFERENCIA PULSADA
Veamos esto con un ejemplo. Considerese la senal x(t) = sen(t). Si muestreamos la
senal con un tiempo de muestreo T = 32π, por encima del tiempo lımite (en este caso
serıa T ≤ π), y reconstruimos la senal (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,
0 10 20 30 40 50 60−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Figura 3.8: Ilustracion del aliasing.
la senal que se obtiene al muestrear no coincide con la original. Es mas su frecuencia es
aproximadamente un quinto de la original y los valores obtenidos coinciden con los que
se obtendrian muestreando la senal x(t) = sen(15t). Por lo tanto la senal x(t) = sen(1
5t)
serıa una senal alias de la original con este tiempo de muestreo.
3.6. Obtencion de la funcion de transferencia pul-
sada
En esta seccion veremos como obtener la funcion de transferencia discreta G(z)
para un sistema dinamico cuya funcion 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 solucion a esto pues no se esta 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.
CAPITULO 3. PROCESO DE MUESTREO 33
2. Formar la secuencia de ponderacion {gk} = g(kT ).
3. Obtener la transformada Z como G(z) =∑
gkz−k.
En el primer paso hay que tener en cuenta que la funcion de transferencia G(s) se
obtiene multiplicando la funcion de transferencia del sistema por la del mantenedor de
orden cero, que es:
H(s) =1− e−sT
s
Un procedimiento mas comodo 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 funcion de transferencia
pulsada a partir de la funcion de transferencia continua del sistema.
Ejemplo 3.1
Sea el sistema cuya funcion de transferencia en continuo es
1
s + a
Obtener la funcion de transferencia pulsada en discreto.
Ha de tenerse en cuenta la funcion de transferencia del mantenedor por lo que
G(s) =1− e−sT
s
1
s + a
El primer paso sera obtener g(t):
g(t) = L−1
{1
s(s + a)− e−sT
s(s + a)
}= L−1
{1
s(s + a)
}− L−1
{e−sT
s(s + a)
}
Notese que en la expresion 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 OBTENCION DE LA FUNCION DE TRANSFERENCIA PULSADA
que calcularemos la primera expresion y luego le restaremos (ya en el dominio z) la
retrasada. La antitransformada se calcula como:
g1(t) = L−1
{1
s(s + a)
}= L−1
{1
a
1
s− 1
a
1
s + a
}=
1
a(1− e−at)
Luego
{g1k} =
1
a
{1− e−akT
}
Aplicamos la transformada Z a lo anterior obteniendose (en este caso se pueden usar
directamente las tablas):
G1(z) =1
aZ {1} − 1
aZ
{e−akT
}=
1
a
[z
z − 1− z
z − e−aT
]
Y usando este resultado se puede calcular la funcion de transferencia pulsada del sis-
tema original:
G(z) = (1− z−1)G1(z) = (1− z−1)z
a
(1
z − 1− 1
z − e−aT
)=
1
a
1− e−aT
z − e−aT
Capıtulo 4
Analisis de sistemas muestreados
4.1. Estabilidad en sistemas de control por com-
putador
En esta seccion se procedera a presentar un estudio de estabilidad para sistemas
muestreados analogo 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 analogico se sustituye por un computador digital.
En primer lugar recuerdese que la funcion 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 funcion de transferencia el cociente de polinomios
G(z) =Y (z)
U(z)=
b0 + b1z−1 + · · ·+ bmz−m
1 + a1z−1 + · · ·+ anz−n
Supongase asi mismo que la senal de entrada U(z) es otro cociente de polinomios, es
decir
U(z) =Nu(z)
Du(z)
Teniendo en cuenta las expresiones anteriores en la ecuacion (4.1) se tiene que
Y (z) =b0z
n + b1zn−1 + · · ·+ bmzn−m
zn + a1zn−1 + · · ·+ an
·Nu(z)
Du(z)=
N(z)
(z − p1) · · · (z − pn)· Nu(z)
(z − pu1) · · · (z − pum)
35
36 ESTABILIDAD EN SISTEMAS DE CONTROL POR COMPUTADOR
Descomponiendo en fracciones simples se obtiene que
Y (z) =A1
z − p1
+A2
z − p2
+ · · ·+ An
z − pn
+Bu1
z − pu1
+ · · ·+ Bum
z − pum
(4.2)
Por otra parte es conocido que la antitransformada Z de la expresion
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 − pi
= Aiz−1 z
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
Aipk−1i (4.3)
Luego cada la antitransformada de Y (z), es decir la secuencia {yk} sera igual a la suma
de una serie de terminos 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 terminos, dicha secuencia sera es-
table si todos los terminos son a su vez estables. Con solo un termino inestable la
secuencia {yk} serıa inestable. ¿De que depende la estabilidad de cada termino? La
respuesta a esta pregunta es que la estabilidad de cada termino depende del valor de
pi, es decir del valor de los polos. La figura 4.1 muestra la evolucion de una secuencia
de la forma (4.3) para distintos valores de pi. Puede observarse que los terminos 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 expresion tienda a cero debe cumplirse que el modulo de p sea menor
que uno (esto tambien es valido por supuesto para polos complejos). Este resultado lo
resumimos en la siguiente propiedad.
Propiedad 4.1 Un sistema descrito por una funcion de transferencia G(z) es estable
si y solo si el modulo 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.
CAPITULO 4. ANALISIS DE SISTEMAS MUESTREADOS 37
0 2 4 6 8 100
0.2
0.4
0.6
0.8
1
0 < p < 10 2 4 6 8 10
1
1.5
2
2.5
3
p > 1
0 2 4 6 8 10−0.5
0
0.5
1
−1 < p < 00 2 4 6 8 10
−3
−2
−1
0
1
2
3
p < −1
Figura 4.1: Evolucion de una secuencia de la forma (4.3) para distintos valores de pi.
Figura 4.2: Frontera de la region 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 termino correspondiente
no se amortiguara con lo que el sistema no sera estable.
En el estudio de sistemas continuos el resultado de estabilidad mas conocido es-
tablece que un sistema es estable si todos sus polos tienen parte real negativa. ¿Es esto
equivalente al resultado enunciado en la propiedad 4.1? Recuerdese que
z = eTms
Tomese 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 = eTmjω = 1∠Tmω
es decir, z es un numero complejo de modulo unidad y argumento Tmω. 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 tendra la forma s = σ + jω, por lo que su correspondencia en el plano z sera
z = eTms = eTm(σ+jω) = eTmσ · eTmjω
lo que implica que
z = eTmσ∠Tmω
o lo que es lo mismo un numero complejo con modulo eTmσ y argumento Tmω. Si
consideramos que σ es constante y variamos ω, esto nos da un cırculo de radio eTmσ. 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 modulo mayor que la unidad, pues eTmσ > 1 para
σ > 0. Si σ es menor que cero, entonces es facil ver que eTmσ < 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 region 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 = eTm·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.
Analogamente es facil ver que si s = −∞, la transformacion 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.
CAPITULO 4. ANALISIS DE SISTEMAS MUESTREADOS 39
4.1.1. 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 estan dentro del cırculo unidad ¿Como averiguar si
esta condicion se cumple? Hallar todas las raices del polinomio y comprobar su valor es
la respuesta mas evidente a esta pregunta, pero no siempre es posible. En esta seccion
se vera 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 proposito es
el de aseverar si todas las raices de un determinado polinomio en z estan dentro del
cırculo unidad sin tener que calcularlas. Sea un polinomio en z
A(z) = a0zn + a1z
n−1 + · · ·+ an = 0
El criterio de Jury se basa en la construccion de una tabla, cuyas dos primeras filas
son los coeficientes de A(z) en orden directo e inverso, es decir
a0 a1 · · · an−1 an
an an−1 · · · a1 a0
Una tercera fila se calcula restando a los elementos de la primera fila los de la
segunda multiplicados cada uno por αn = an
a0, resultando
a0 a1 · · · an−1 an
an an−1 · · · a1 a0
an−10 an−1
1 · · · an−1n−1 0
A continuacion se anade una cuarta fila formada por los coeficientes de la tercera
fila (excepto el ultimo) escritos en orden inverso:
a0 a1 · · · an−1 an
an an−1 · · · a1 a0
an−10 an−1
1 · · · an−1n−1 0
an−1n−1 an−1
n−2 · · · an−10
Una quinta linea se obtiene restando a la tercera fila los elementos de la cuarta
multiplicados por αn−1 =an−1
n−1
an−10
, obteniendo:
40 ESTABILIDAD EN SISTEMAS DE CONTROL POR COMPUTADOR
a0 a1 · · · an−1 an
an an−1 · · · a1 a0
an−10 an−1
1 · · · an−1n−1 0
an−1n−1 an−1
n−2 · · · an−10
an−20 an−2
1 · · · 0
El proceso continuarıa anadiendo una sexta fila formada por los coeficientes de la
quinta (menos el ultimo) escritos en orden inverso, etc . . . hasta que al final se obtendrıa
una tabla con 2n + 1 filas:
a0 a1 · · · an−1 an
an an−1 · · · a1 a0
an−10 an−1
1 · · · an−1n−1 0
an−1n−1 an−1
n−2 · · · an−10
an−20 an−2
1 · · · 0
an−2n−2 an−2
n−3 · · ·
...
a00
En general los elementos de la tabla se calculan mediante la expresion:
ak−1i = ak
i − αkakk−i siendo αk =
akk
ak0
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. Ademas,
si ningun ak0 es cero, entonces el numero de valores ak
0 negativos es igual al numero de
raices de A(z) que estan fuera del cırculo unidad.
Corolario 4.1.1 Si todos los ak0 para k = 1, . . . , n − 1 (notese que se excluye k = 0)
son positivos, entonces la condicion a00 > 0 es equivalente a las condiciones:
A(1) > 0 (−1)nA(−1) > 0
Estas condiciones son necesarias para la estabilidad, por lo que se pueden usar antes
de formar la tabla.
CAPITULO 4. ANALISIS DE SISTEMAS MUESTREADOS 41
Ejemplo 4.1
Estabilidad de un sistema de segundo orden generico. Considerese la ecuacion carac-
terıstica:
A(z) = z2 + a1z + a2 = 0
Se forma la tabla:
1 a1 a2
a2 a1 1
α2 = a2
1− a22 a1(1− a2) 0
a1(1− a2) 1− a22
α1 = a1
1+a2
1− a22 − a2
1(1−a2)
1+a20
De esta tabla se desprende que todas las raices estaran en el cırculo unidad si
1− a22 > 0
1− a22 − a2
1(1−a2)
1+a2> 0
que a su vez es equivalente aa2 < 1
a2 > −1 + a1
a2 > −1− a1
Estas condiciones se cumplen en un triangulo en el espacio de coeficientes del polinomio
caracterıstico. Dicho triangulo se ilustra en la figura 4.3.
4.2. Respuesta transitoria: relacion con el diagrama
de polos
En esta seccion se vera los distintos tipos de respuesta transitoria de sistemas dis-
cretos en funcion de la posicion de los polos. Como ya se ha visto en la seccion 4.1,
los sistemas cuyos polos esten fuera del circulo unidad son inestables y sus respuestas
transitorias son inestables. Los que esten dentro del circulo unidad seran estables y la
respuesta se amortigua, mas o menos lentamente dependiendo de lo cerca que esten
de la frontera de estabilidad. Los que esten en la frontera de estabilidad produciran
una respuesta oscilatoria estable en el sentido de que permanece acotada pero no se
amortiguara. Las figuras 4.4 y 4.5 muestran las distintos casos para polos en el plano
42 RESPUESTA TRANSITORIA: RELACION CON EL DIAGRAMA DE POLOS
−2.5 −2 −1.5 −1 −0.5 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
a1
a 2
Figura 4.3: Region del espacio de coeficientes de un polinomio de la forma z2 + a1z + a2 = 0 en la quelas raices estan 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 tambien como la posicion de los polos cambia.
Por otra parte, es interesante tambien observar como va variando la respuesta im-
pulsional de un sistema en funcion de la localizacion de sus polos. En la figura 4.6 puede
observarse que en el caso de que los polos esten en el eje real, la respuesta impulsional
sera oscilatoria en la parte negativa y no oscilatoria en la parte positiva. Como es logico
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, tardandose mas en amortiguar la respuesta conforme se acercan
a la frontera de la region de estabilidad. En el caso de sistemas en los que los polos
sean complejos conjugados y esten dentro del circulo unidad la respuesta sera siem-
pre 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 mas pequena el caracter oscila-
torio disminuye. Finalmente, cuando los polos estan en el cirtulo unidad la respuesta
es oscilatoria y no se amortigua, aunque la frecuencia de las oscilaciones depende de la
posicion de los polos (ver figura 4.9). Fuera del circulo unidad la respuesta impulsional
sera oscilatoria e inestable.
CAPITULO 4. ANALISIS DE SISTEMAS MUESTREADOS 43
Figura 4.4: Respuestas transitorias correspondientes a la localizacion de varios polos complejos con-jugados en el plano s (a). Respuestas transitorias a los correspondientes polos discretos (b).
44 RESPUESTA TRANSITORIA: RELACION CON EL DIAGRAMA DE POLOS
Figura 4.5: Respuestas transitorias correspondientes a la localizacion de varios polos complejos conju-gados en los lımites de las franjas periodicas del plano s (c). Respuestas transitorias a los correspon-dientes polos discretos (d).
CAPITULO 4. ANALISIS DE SISTEMAS MUESTREADOS 45
Figura 4.6: Respuestas ante un impulso para un sistema con un polo en el eje real.
46 RESPUESTA TRANSITORIA: RELACION CON EL DIAGRAMA DE POLOS
Figura 4.7: Respuestas ante un impulso para un sistema con polos conjugados en el eje imaginario.
CAPITULO 4. ANALISIS DE SISTEMAS MUESTREADOS 47
Figura 4.8: Respuestas ante un impulso para un sistema con polos conjugados dentro del circulounidad.
48 RESPUESTA TRANSITORIA: RELACION CON EL DIAGRAMA DE POLOS
Figura 4.9: Respuestas ante un impulso para un sistema con polos conjugados en el circulo unidad.
CAPITULO 4. ANALISIS DE SISTEMAS MUESTREADOS 49
4.3. Errores en regimen permanente
En esta seccion se estudiara el error en regimen permanente que presenta un sistema
frente a distintos tipos de entradas. Considerese un sistema cuya funcion de transfe-
rencia es G(z) y que tiene como entrada una secuencia {rk} que provoca la aparicion
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 = rk − yk
Aplicando la transformada Z y teniendo en cuenta el concepto de funcion de transfe-
rencia 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ımz→1
(1− z−1)ek
Supongase que se aplica al sistema como entrada un escalon unitario, cuya transformada
Z es
R(z) =z
z − 1
El error en regimen permanente lo calcularemos como
erpescalon = lımz→1
zz(1− z−1)(1−G(z))R(z) = lım
z→1
z−1z
(1−G(z)) zz−1
= lımz→1
(1−G(z)) = 1− lımz→1
b0+b1z+···+bmzm
a0+a1z+···+anzn
= 1−m∑
i=0bi
n∑i=0
ai
Ejemplo 4.2
Sea el sistema
G(z) =0,2
z − 0,9
El error en regimen permanente frente a una entrada escalon es
erpescalon = 1− 0,2
1− 0,9= −1
50 ERRORES EN REGIMEN PERMANENTE
Ejemplo 4.3
Sea un sistema de primer orden cualquiera
yk = ayk−1 + buk−1
determinar las condiciones para que tenga error en regimen permanente nulo frente a
una entrada escalon.
En este caso la funcion de transferencia es
G(z) =b
z − a
Y el error en regimen permanente sera
erpescalon = 1− b
1− a=
1− a− b
1− a
luego el error sera cero si b = 1− a.
4.3.1. Errores en regimen permanente para sistemas en bucle
cerrado
El caso mas interesante es el de los errores para sistemas en bucle cerrado. Supong-
amos un sistema cuya funcion de transferencia en bucle abierto es G(z) y que se coloca
en la configuracion usual de bucle cerrado con realimentacion 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
1 + G(z)R(z)
Supongamos una entrada en escalon. En este caso el error en regimen permanente
seraerpescalon = lım
z→1
z−1z
E(z) = lımz→1
z−1z
11+G(z)
R(z)
= lımz→1
z−1z
11+G(z)
zz−1
= 11+ lım
z→1G(z)
Definimos Kp = lımz→1
G(z) y la expresion del error en regimen permanente frente a
entrada escalon sera
erpescalon =1
1 + Kp
CAPITULO 4. ANALISIS DE SISTEMAS MUESTREADOS 51
Notese que Kp es en realidad la ganancia estatica del sistema, por lo que segun la
expresion anterior a mayor ganancia, menor error en regimen permanente. Por otra
parte si se desea que el error en regimen permanente frente a escalon sea cero, Kp 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 mas general se considera la siguiente definicion:
Definicion 4.1 Se llama tipo de un sistema al numero de polos en z = 1 que tiene
dicho sistema.
Notese que un polo en z = 1 se corresponde con un polo en s = 0 para sistemas en
tiempo continuo, por lo que esta definicion es congruente con la que se da para sistemas
continuos.
Veamos a continuacion el error en regimen permanente cuando la entrada es una
rampa. En este caso la transformada Z de la senal de entrada es:
R(z) =zT
(z − 1)2
por lo que el error en regimen permanente se puede calcular como:
lımz→1
z − 1
z
1
1 + G(z)
zT
(z − 1)2= lım
z→1
1(z−1)
zT+ (z−1)G(z)
zT
=1
lımz→1
(z−1)G(z)zT
=1
Kv
donde Kv = lımz→1
(z−1)G(z)zT
. Veamos cuanto vale el error en funcion del tipo del sistema.
Si el sistema es tipo 0, no tendra ningun polo en z = 1, por lo que el factor (z − 1) no
se cancela y Kv = 0. Esto implica que el error en regimen permanente es infinito. Si el
sistema es tipo 1, el factor (z − 1) se cancela y Kv 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 Kv = ∞ y el error en regimen permanente es nulo en este caso.
Otra senal de entrada comun es la entrada en parabola. Siguiendo los procedimientos
anteriores se puede demostrar facilmente que en este caso se puede definir:
Ka = lımz→1
1
T 2(z − 1)2G(z)
y comprobar que el error en regimen permanente es infinito para sistemas de tipo 0 y
1, 1Ka
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
errpescalon1
1+Kp0 0
errprampa ∞ 1Kv
0
errpparabola ∞ ∞ 1Ka
52CARACTERISTICAS FRECUENCIALES. CORRESPONDENCIA ENTRE EL PLANO S Y EL PLANO Z
4.4. Caracterısticas frecuenciales. Correspondencia
entre el plano s y el plano z
Recuerdese que por definicion
z , eTs
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σ · ejωT
Es decir el modulo de s es eTσ y la fase ejωT . Por las propiedades de los numeros
complejos:
z , eTσ · ej(ωT+2πk) k = 0,±1,±2, . . .
Considerese ahora la frecuencia de muestreo ωs = 2πT
. Sea un numero s1 del plano s, y
sea s2 otro numero que se diferencia de s1 por un multiplo de la frecuencia de muestreo
en el eje imaginario, es decir
s2 = s1 +2π
Tj
El valor en el plano z que le corresponde a s2 sera
z2 = eTs2 = eTs1e2πj = z1e2πj = z1
Luego
A puntos del plano s que difieran en multiplos 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 solo una determinada region del plano
s es la que resulta de interes. Esta region conocida como franja primaria es la que
esta entre j ωs
2y −j ωs
2o lo que es lo mismo entre los numeros con fase 2π
2TT = π y −π
(ver figura 4.10). Por encima y por debajo de esa franja tendrıamos infinitas franjas
complementarias en la que los numeros tienen los mismos equivalentes en z que los
correspondientes en la franja primaria.
Centrando la atencion en la franja primaria, considerese 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:
CAPITULO 4. ANALISIS DE SISTEMAS MUESTREADOS 53
Figura 4.10: Regiones de interes en el plano s.
1. El punto s = 0 se transforma en z = e0 = 1.
2. El punto s = j ωs
2se transforma en z = ej ωs
2T = ejπ o lo que es lo mismo un punto
con modulo uno y fase π (180 grados).
3. Un punto s = −∞+ j ωs
2se transforma en z = e−∞ej ωs
2T , es decir un numero con
modulo tendiendo a cero y fase π.
4. Un punto s = −∞ − j ωs
2se transforma en z = e−∞e−j ωs
2T , es decir un numero
con modulo tendiendo a cero y fase −π.
5. El punto s = −j ωs
2se transforma en z = e−jπ, es decir un punto con modulo uno
y fase −π.
Estos puntos equivalentes se muestran en la figura 4.11b. Si se repite esta analisis para
puntos equivalentes en otras franjas se vera que el resultado es el mismo.
4.4.1. Otras correspondencias
Veamos algunas correspondencias interesantes.
54CARACTERISTICAS FRECUENCIALES. CORRESPONDENCIA ENTRE EL PLANO S Y EL PLANO Z
Figura 4.11: Puntos de interes en la franja primaria del plano s.
CAPITULO 4. ANALISIS DE SISTEMAS MUESTREADOS 55
Eje imaginario. Como ya se ha visto anteriormente la frontera de la region de
inestabilidad del plano s se transforma en el circulo unidad, que es la frontera de
la region 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 modulo de z es eσT > 1 y la fase es cero. En caso de que σ < 0
entonces el modulo de z esta 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 esta la parte negativa del eje real en s y a partir de 1
la parte positiva.
Lugares de atenuacion constante. La atenuacion, calculada como δ · ωn
esta relacionada con el tiempo de establecimiento (calculado como 3δ·ωn
. En el
plano s los lugares de atenuacion 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 numeros z cuyo modulo es eσ1T y fase de 0 a 2π.
El lugar geometrico del plano z es por tanto una circunferencia de radio eσ1T y
centrada en z = 0 (ver figura 4.12). El interior de la circunferencia corresponde
a los puntos de s con atenuacion inferior a σ1. Por otra parte si la atenuacion
es superior a cero el radio es superior a 1, mientras que en el caso de de ser la
atenuacion inferior a cero, el radio es inferior a 1. zs1 = 1 1
Figura 4.12: Lugares de atenuacion constante en el plano s y z.
Lugares de frecuencia constante. En este caso los numeros en el plano s
forman una lınea horizontal (ver figura 4.13) de la forma s = σ + jω1. Estos
numeros se transforman en z = eσT ·ejω1T . Esto es una recta (ver figura 4.13) que
parte de z = 0 con angulo determinado por la fase omega1T y que para σ = −∞
56CARACTERISTICAS FRECUENCIALES. CORRESPONDENCIA ENTRE EL PLANO S Y EL PLANO Z
le hace corresponder z = 0 mientras que conforme σ crece el modulo del numero
z correspondiente sobre la recta crece. zsj 1 1T ∞=σ
−∞=σ
Figura 4.13: Lugares de frecuencia constante en el plano s y z.
Lugares de factor de amortiguamiento ζ constante. El factor de amor-
tiguamiento ζ en sistemas continuos de segundo orden esta relacionado con el
denominador de la funcion de transferencia:
D(s) = s2 + 2ζωns + ω2n
Los lugares de amortiguamiento constante en el plano s son rectas (ver figura
4.14) dadas por s = −ζωnT + jωdT , donde ωd =√
1− ζ2ωn. La transformacion
en z es z = e(−ζωn+jωd)T , cuyo modulo y fase resulta ser:
|z| = e− 2πζ√
1−ζ2
ωdωs
∠z = 2π ωd
ωs
donde ωs = 2πT
. La curva que describen estos numeros al variar ωn se llama espiral
logarıtmica. Dicha curva, representada para frecuencias entre 0 ≤ ω ≤ 12ωs y
diversos valores de ζ, se muestra en la figura 4.15. Para valores de la frecuencia
entre −12ωs ≤ ω ≤ 0, las curvas son imagenes 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 per-
pendiculares a los lugares de amortiguacion constante. La transformacion de s
en z es un mapeo conforme que preserva los angulos entre lugares, por lo que
los lugares de frecuencia natural constante seran tambien perpendiculares en z.
La figura 4.16 muestra ambos lugares en el plano z para diversos valores de ζ y
ωn. Notese que los lugares para frecuencias entre −12ωs ≤ ω ≤ 0, tambien son
imagenes especulares de 4.16.
CAPITULO 4. ANALISIS DE SISTEMAS MUESTREADOS 57
Figura 4.14: Lugares de amortiguacion y frecuencia natural constante en el plano s.
Figura 4.15: Lugares de amortiguacion constante en el plano z.
58CARACTERISTICAS FRECUENCIALES. CORRESPONDENCIA ENTRE EL PLANO S Y EL PLANO Z
Figura 4.16: Lugares de amortiguacion y frecuencia natural constante en el plano z.
Capıtulo 5
Diseno de controladores discretos
5.1. Discretizacion de reguladores continuos
A la hora de disenar un controlador en tiempo discreto es frecuente partir de un
controlador continuo obtenido mediante los metodos clasicos y discretizar este ultimo,
en lugar de realizar el diseno directamente en tiempo discreto. El resultado de esta
discretizacion es implementado despues en forma de programa en un computador.
El caso mas comun (y el que trataremos aquı) es el de los controladores PID, cuya
expresion en tiempo continuo es
u(t) = Kp
e(t) +
1
Ti
t∫
0
e(τ)dτ + Tdde(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 discretizacion es una aproximacion del controlador
original. Para obtener dicha aproximacion se pueden usar diferentes alternativas.
Comentario 5.1 En este tema se supone que el lector esta familiarizado con la sin-
tonı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 DISCRETIZACION DE REGULADORES CONTINUOS
Kp Ti Td
P τKτm
PI 0,9τKτm
3τm
PID 1,2τKτm
2τm 0,5τm
donde τ es la constante de tiempo, τm el tiempo muerto y K es la ganancia estatica
del sistema.
5.1.1. Aproximacion rectangular hacia delante (Euler I)
En este caso la derivada se aproxima por
de(t)
dt=
ek − ek−1
T
donde T es el tiempo de muestreo. Ademas la integral se aproxima por
t∫
0
e(τ)dτ =k−1∑i=0
e(i)T =k−1∑i=0
Tei
Esta aproximacion se ilustra en la figura 5.1, en la que la suma del area de los rectangu-
los sombreados serıa la aproximacion de la integral.
KK-1
T
e(t)
t
Figura 5.1: Aproximacion rectangular hacia delante de la integral.
Sustituyendo estas expresiones en la ley de control PID queda:
uk = Kp
(ek +
T
Ti
k−1∑i=0
ei +Td
T(ek − ek−1)
)
CAPITULO 5. DISENO DE CONTROLADORES DISCRETOS 61
Notese que esta expresion puede ser retrasada en el tiempo de manera que:
uk−1 = Kp
(ek−1 +
T
Ti
k−2∑i=0
ei +Td
T(ek−1 − ek−2)
)
Restando ambas expresiones se llega a que
uk − uk−1 = Kp
(ek − ek−1 +
T
Ti
ek−1 +Td
T(ek − 2ek−1 + ek+2)
)
que a su vez se puede poner como
uk − uk−1 = q0ek + q1ek−1 + q2ek−2 (5.1)
conq0 = Kp
(1 + Td
T
)
q1 = Kp
(−1− 2Td
T+ T
Ti
)
q2 = KpTd
T
Aplicamos la transformada Z a la ecuacion (5.1) obteniendose:
U(z)(1− z−1) = (q0 + q1z−1 + q2z
−2)E(z)
Finalmente se define la funcion de transferencia del controlador como:
C(z) =U(z)
E(z)=
q0 + q1z−1 + q2z
−2
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 = rk − yk.
4. Calcular uk segun la expresion (5.1).
5. Aplicar uk.
6. Actualizar uk−1, ek−1, ek−2.
Como se comprobara en la seccion 5.2 la aproximacion de la integral vista en esta
seccion equivale a aplicar la siguiente sustitucion:
s , z − 1
T
62 DISCRETIZACION DE REGULADORES CONTINUOS
5.1.2. Aproximacion rectangular hacia atras (Euler II)
En este caso la integral se aproxima por la integral se aproxima por
t∫
0
e(τ)dτ =k∑
i=1
e(i)T =k∑
i=1
Tei
Esta aproximacion se ilustra en la figura 5.2. Nuevamente la aproximacion serıa la suma
de las areas de los rectangulos sombreados.
KK-1
T
e(t)
t
Figura 5.2: Aproximacion rectangular hacia detras de la integral.
El desarrollo es similar y se llega a que:
uk = Kp
(ek +
T
Ti
k∑i=1
ei +Td
T(ek − ek−1)
)
y de ahı a:
uk − uk−1 = q0ek + q1ek−1 + q2ek−2
con
q0 = Kp
(1 + T
Ti+ Td
T
)
q1 = Kp
(−1− 2Td
T
)q2 = Kp
Td
T
En este caso se vera que el resultado es igual que si se sustituye s por
s , Tz
z − 1
CAPITULO 5. DISENO DE CONTROLADORES DISCRETOS 63
5.1.3. Aproximacion bilineal (trapezoidal o Tustin)
En el caso la aproximacion bilineal la integral se aproxima por:
t∫
0
e(τ)dτ =k∑
i=1
(e(i− 1 +e(i)− e(i− 1)
2)T =
k∑i=1
Tei + ei−1
2
Esta aproximacion es la mas cercana al valor real de la integral, como se ilustran en la
figura 5.3.
KK-1
T
e(t)
t
Figura 5.3: Aproximacion bilineal de la integral.
Como en los casos anteriores se llega a un resultado igual en forma, pero variando
el valor de los coeficientes:
q0 = Kp
(1 + T
2Ti+ Td
T
)
q1 = Kp
(T
2Ti− 1− 2Td
T
)
q2 = KpTd
T
Como se vera en la seccion siguiente, esta aproximacion se corresponde con una susti-
tucion de s por
s , 2
T
z − 1
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 seccion se vera como las aproximaciones de la integral vistas anteriormente
se corresponden con sustituciones de s en la funcion de transferencia de controlador
por una cierta expresion en z. El estudio se hara a traves de un ejemplo, en el que se
supondra que el controlador tiene como funcion de transferencia en continuo:
U(S)
E(S)=
a
s + a(5.3)
Esto implica quedu(t)
dt+ au(t) = ae(t)
y de ahıdu(t)
dt= −au(t) + ae(t)
Integrando la expresion anterior podemos obtener el valor de u(kT ):
u(kT ) =kT∫0
du(t)dt
dt
=(k−1)T∫
0
du(t)dt
dt +kT∫
(k−1)T
du(t)dt
dt
= u((k − 1)T ) +kT∫
(k−1)T
(−au(t) + ae(t)) dt
= u((k − 1)T ) + A
(5.4)
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 continuacion se vera cada caso particular de aproximacion
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 integracion
de A por lo que:
A =
kT∫
(k−1)T
(−au((k − 1)T ) + ae((k − 1)T )) dt = (−au((k − 1)T ) + ae((k − 1)T )) T
CAPITULO 5. DISENO DE CONTROLADORES DISCRETOS 65
A
K
e(t)
t
Figura 5.4: Integral de u(t) para un periodo de muestreo.
Teniendo en cuenta lo anterior en (5.4):
uk = uk−1 − Tauk−1 + Taek−1
Aplicando la transformada Z:
U(z)
E(z)=
Taz−1
1− z−1 + Taz−1=
Ta
z − 1 + Ta=
az−1T
+ a
por lo que comparando con (5.3) se tiene que
s , z − 1
T
o tambien
z , Ts + 1
5.2.2. Rectangular hacia atras
En este caso u(t) = u(kT ) en todo el intervalo de integracion de A, por lo que:
A = −aTu(kT ) + aTe(kT )
al igual que antes teniendo en cuenta lo anterior en (5.4):
uk = uk−1 − Tauk + Taek
que lleva a:U(z)
E(z)=
aT
1 + aT − z−1=
a1−z−1
T+ a
66 ESTABILIDAD DE LAS APROXIMACIONES DE LA INTEGRAL
por lo que comparando con (5.3) se tiene que
s , 1− z−1
T=
z − 1
zT
o tambien
z , 1
1− Ts
5.2.3. Trapezoidal o Bilineal
En este caso el valor de u(t) a lo largo del intervalo de integracion de A no es
constante sino que viene dado por la expresion de una recta:
u(t) = u((k − 1)T ) +u(kT )− u((k − 1)T )
T(t− (k − 1)T ) (k − 1)T ≤ t ≤ kT
Teniendo en cuenta esto se obtiene que
A = −aT
(uk + uk−1
2
)+ aT
(ek + ek−1
2
)
por lo que llevandolo a (5.4):
uk = uk−1 − aT
(uk + uk−1
2
)+ aT
(ek + ek−1
2
)
lo que al aplicar transformada Z y operar resulta:
U(z)
E(z)=
aT2
(1 + z−1)
(1− z−1) + aT2
(1 + z−1)=
aT2
(1−z−1)(1+z−1)
+ aT2
=a
2T
(z−1)(z+1)
+ a
por lo que comparando con (5.3) se tiene que
s , 2
T
(z − 1)
(z + 1)
o tambien
z ,1 + Ts
2
1− Ts2
5.3. Estabilidad de las aproximaciones de la inte-
gral
En esta seccion se vera la transformacion en el plano z de la region de estabilidad
en continuo, es decir el semiplano izquierdo del plano s (ver figura 5.5), al aplicar las
aproximaciones anteriores.
CAPITULO 5. DISENO DE CONTROLADORES DISCRETOS 67
s
Figura 5.5: Region de estabilidad en el plano s (sombreada).
1. Rectangular hacia delante. En este caso se tiene que z , Ts + 1, por lo
que la region de estabilidad del plano s se transforma en una region equivalente
pero desplazada en una unidad hacia el semiplano derecho, tal y como muestra
la figura 5.6. Es muy significativo que la transformacion en el plano z incluye
z
1
Figura 5.6: Transformacion en el plano z de la region de estabilidad del plano s al aplicar la aproxi-macion rectangular hacia delante (sombreada).
la region de estabilidad del plano z pero tambien un infinito puntos del plano z
fuera de dicha region, 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
aproximacion.
68 ESTABILIDAD DE LAS APROXIMACIONES DE LA INTEGRAL
2. Bilineal o Trapezoidal. La sustitucion era:
z ,1 + Ts
2
1− Ts2
Teniendo en cuenta que s = jω, se obtiene:
z ,1 + jωT
2
1− jωT2
=1 + jωT − ω2T 2
4
1 + ω2T 2
4
=1− ω2T 2
4
1 + ω2T 2
4
+ωT
1 + ω2T 2
4
j
que se puede reescribir como
x + y · jcon
x =1− ω2T 2
4
1 + ω2T 2
4
y =ωT
1 + ω2T 2
4
Se comprueba que
x2 + y2 = 1
Esta region describe un circulo de radio uno centrado en el origen en el plano z
(ver figura 5.7) que es precisamente la region 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 aproximacion.
z
1
Figura 5.7: Transformacion en el plano z de la region de estabilidad del plano s al aplicar la aproxi-macion bilineal (sombreada).
3. Rectangular hacia atras. La sustitucion para esta aproximacion implicaba
que:
z , 1
1− Ts=
1
2+
1
1− Ts− 1
2=
1
2+
1
2
1 + Ts
1− Ts
CAPITULO 5. DISENO DE CONTROLADORES DISCRETOS 69
Notese que este caso la sustitucion es similar a la que se ve en la aproximacion
bilineal. En este caso se puede comprobar que la region de estabilidad del plano
s se transforma en un circulo de radio 12
y centrado en el punto(
12, 0
)(ver figura
5.8). Esto implica que esta dentro de la region de estabilidad del plano z, por
lo que todo controlador estable en el plano s se transformara en un controlador
estable en el plano z. Sin embargo, a diferencia de lo que ocurre con la aproxi-
macion bilineal, un controlador estable en z no tiene por que corresponderse con
uno estable en s.
z
10,5
Figura 5.8: Transformacion en el plano z de la region de estabilidad del plano s al aplicar la aproxi-macion rectangular hacia atras (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:
Gc(s) =1
s2 + 2s + 1
de forma discreta con un tiempo de muestreo de T = 0,1 segundos mediante la Euler
hacia delante.
70 METODO DE DISENO DIRECTO
La aproximacion es:
s , z − 1
T
por lo que sustituyendo en Gc(s) queda
Gc(z) = 1
( z−1T )
2+2 z−1
T+1
= 1z2−2z+1
T2 + 2z−2T
+1
= 1100z2−200z+100+20z−20+1
= 1100z2−180z+81
Notese que la expresion del controlador obtenida no es valida para su implementacion
pues al ponerla en forma de secuencias aparecen terminos en el futuro, por lo que la
transformamos de manera que quede de la forma
G(z) =Y (z)
U(z)=
b0 + b1z−1 + b2z
−2 + · · ·+ bnz−n
1 + a1z−1 + a2z−2 + · · ·+ anz−n
resultando en este caso:
Gc(z) =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 segun la expresion (5.5).
d) Aplicar uk.
e) Actualizar: uk−2 = uk−1, uk−1 = uk, ek−2 = ek−1, ek−1 = ek.
5.4. Metodo de diseno directo
En esta seccion se vera una alternativa a la discretizacion de controladores con-
tinuos, el metodo de diseno directo o metodo de Ragazzini-Truxal. Este metodo se
basa en disenar el controlador directamente en tiempo discreto, imponiendo una serie
CAPITULO 5. DISENO DE CONTROLADORES DISCRETOS 71
de condiciones a su funcion de transferencia y la funcion de transferencia de bucle
cerrado.
El principio tras el metodo directo es que habitualmente se tienen unas especi-
ficaciones de diseno que debe cumplir el sistema en bucle cerrado. En base a esas
especificaciones es posible obtener por tanto la funcion de transferencia de bucle cerra-
do deseada, Gd(z). Por otra parte se sabe que segun la configuracion clasica de control
realimentado la funcion de transferencia de bucle cerrado sera:
Gd(z) =C(z)G(z)
1 + C(z)G(z)
Donde G(z) es la funcion de transferencia de bucle abierto del sistema y C(z) es la
funcion de transferencia del controlador. Es evidente que se puede despejar C(z) en la
ecuacion anterior, quedando:
C(z) =1
G(z)
Gd(z)
1−Gd(z)(5.6)
La funcion 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 regimen 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 senal de control uk. La causalidad implica que si la
funcion de transferencia del controlador1 es
C(z) =Nc(z)
Dc(z)
entonces
grado(Nc(z)) ≤ grado(Dc(z))
Veamos la causa de esta condicion. Si C(z) es igual a
C(z) =U(z)
E(z)=
b0zm + b1z
m−1 + · · ·+ bm
zn + a1zn−1 + · · ·+ an
para obtener la ecuacion en diferencias que da la senal uk hay que dividir todo por zn
para que quede 1 + a1z−1 + · · · en el denominador. Si m > n quedarıan terminos de
1Notese que la funcion de transferencia se expresa en potencias de z no de z−1
72 METODO DE DISENO DIRECTO
la forma zp (con p > 0) que equivalen a terminos de la senal de error ek+p, es decir
terminos en el futuro.
Por otra parte, la ecuacion (5.6) se puede reescribir como
C(z) =D(z)
N(z)
Nd(z)Dd(z)
1− Nd(z)Dd(z)
=D(z)
N(z)
Nd(z)
Dd(z)−Nd(z)=
Nc(z)
Dc(z)
Esto implica que
grado(Nc(z)) = grado(D(z)) + grado(Nd(z))
grado(Dc(z)) = grado(N(z)) + grado(Dd(z))
Suponiendo que se cumple la condicion de causalidad tanto en la funcion de transfe-
rencia del controlador como de la planta se verifica que
grado(D(z)) + grado(Nd(z)) ≤ grado(N(z)) + grado(Dd(z))
y de ahı
grado(D(z))− grado(N(z)) ≤ grado(Dd(z))− grado(Nd(z)) (5.7)
Esta desigualdad se traduce en la siguiente condicion impuesta sobre la funcion de
transferencia de bucle cerrado deseada Gd(z):
El exceso de polos sobre ceros de la funcion de transferencia de bucle cerrado
deseada debe ser mayor o igual que el exceso de polos sobre ceros de la
funcion de transferencia de bucle abierto de la planta.
Esto implica que si el sistema tiene un retardo la funcion 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 ecuacion caracterıstica de bucle cerrado:
1 + C(z)G(z) = 0
CAPITULO 5. DISENO DE CONTROLADORES DISCRETOS 73
Es conocido que las raices de esta ecuacion son los polos de bucle cerrado del sistema.
Esta ecuacion se puede reescribir como:
1 +Nc(z)
Dc(z)
N(z)
D(z)= 0
que equivale a
Dc(z)D(z) + Nc(z)N(z) = 0 (5.8)
Supongase que la planta tiene un polo inestable, por lo que el denominador de la
funcion de transferencia puede ponerse como:
D(z) = (z − α)D(z) donde |α| > 1
Si lo cancelamos con un cero en el numerador de C(z), es decir Nc(z) = (z − α)Nc(z),
entonces teniendo en cuenta (5.8) la ecuacion caracterıstica serıa:
Dc(z) · (z − α)D(z) + (z − α)Nc(z)N(z) = (z − α)(Dc(z)D(z) + Nc(z)N(z)
)= 0
Es decir, la ecuacion caracterıstica tiene una raiz inestable, lo que implica que uno de
los polos de bucle cerrado es inestable. El mismo analisis se podrıa repetir para los
ceros inestables de G(z).
El analisis anterior se refuerza por el hecho de que si bien es posible que analıtica-
mente se pueda cancelar un cero inestable con un polo inestable y viceversa, en la
practica por cambios y tolerancias en la dinamica de la planta o del controlador es
muy dificil lograr tal cancelacion 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)
N(z)
Gd(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
razon de esto es para evitar que en Nc(z) no aparezcan los polos inestables de
G(z), que si se cumple esta condicion serıan cancelados por 1−Gd(z).
2. Todos los ceros inestables de G(z) deben aparecer como ceros de Gd(z). Cumpliendose
esta condicion se evita que en Dc(z) aparezcan los ceros inestables de G(z), que
serıan anulados por Gd(z).
Notese que estas condiciones se imponen sobre Gd(z) y no sobre G(z), que evidente-
mente viene dada por el proceso y no se puede modificar.
74 METODO DE DISENO DIRECTO
5.4.3. Errores en regimen permanente
Estas condiciones sirven para fijar Gd(z) especificando si se desea o no error en
regimen permanente nulo ante determinadas referencias. Notese que el error para la
configuracion en bucle cerrado sera:
E(z) = R(z)− Y (z) = R(z)−R(z)Gd(z) = (1−Gd(z))R(z)
por lo que el error en regimen permanente sera (usando el teorema del valor final):
erp = lımz→1
(z − 1)(1−Gd(z))R(z)
Dependiendo de la referencia que se desee seguir con error en regimen permanente nulo
se tendran diferentes condiciones a imponer sobre Gd(z):
1. Error en regimen permanente nulo ante referencia escalon: En este caso
R(z) =z
z − 1
por lo que
erp = lımz→1
(z − 1)(1−Gd(z))z
z − 1= lım
z→1z(1−Gd(z)) = 1−Gd(1)
Claramente si se desea que el error sea cero se ha de cumplir que
Gd(1) = 1
2. Error en regimen permanente nulo ante referencia escalon: La referencia
en este caso sera:
R(z) =Tz
(z − 1)2
El error sera:
erp = lımz→1
(z − 1)(1−Gd(z))Tz
(z − 1)2=
0
0
Este lımite se resolverıa usando la regla de L’Hopital. En cualquier caso, si pre-
viamente se ha impuesto la condicion anterior, Gd(1) = 1 o lo que es lo mismo
lımz→1
Gd(z) = 1, se cumple que:
erp = lımz→1
Tddz
(1−Gd(z))ddz
(z − 1)= −T
dGd(z)
dz
∣∣∣∣z=1
por que el error en regimen permanente ante rampa y escalon sera nulo si
Gd(1) = 1
−T dGd(z)dz
∣∣∣z=1
= 0
CAPITULO 5. DISENO DE CONTROLADORES DISCRETOS 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 regimen permanente ante escalon sea cero.
En primer lugar se vera que forma ha de tener Gd(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, Gd(z) tendra como forma:
Gd(z) =b0z + b1
z(z − 0,8)
De esta forma ya estan 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− b0z + b1
z(z − 0,8)=
z(z − 0,8)− b0z − b1
z(z − 0,8)
Impondremos ahora que tenga un cero en z = −2:
1−Gd(−2) =−2(−2− 0,8) + b02− b1
−2(−2− 0,8)= 0
que a su vez equivale a:
5,6 + 2b0 − b1 = 0 −→ b1 = 2b0 + 5,6 (5.9)
La tercera condicion es la de error permanente nulo, que se consigue con Gd(1) = 1:
b0 + b1
1(1− 0,8)=
b0 + b1
0,2= 1 −→ b0 + b1 = 0,2 −→ b1 = −b0 + 0,2 (5.10)
Usando (5.9) y (5.10) se obtiene:
b0 = −1,8 b1 = 2
76 CONTROL EN UN NUMERO FINITO DE INTERVALOS. CONTROL DEAD-BEAT
Por tanto ya se tiene cual es Gd(z):
Gd(z) =−1,8z + 2
z(z − 0,8)=
2(−0,9z + 1)
z(z − 0,8)
Y a partir de Gd(z) ya se puede calcular C(z):
C(z) ==1
G(z)
Gd(z)
1−Gd(z)= (z + 2)
2(−0,9z+1)z(z−0,8)
1− 2(−0,9z+1)z(z−0,8)
=2(1− 0,9z)
(z − 1)=
2(z−1 − 0,9)
1− z−1
Luego
C(z) =U(z)
E(z)=
2(z−1 − 0,9)
1− z−1
Por tanto:
U(z)(1− z−1) = E(z)(−1,8 + 2z−1) −→ uk = uk−1 − 1,8ek + 2ek−1
5.5. Control en un numero finito de intervalos. Con-
trol dead-beat
Este tipo de control no tiene equivalente en tiempo continuo. El objetivo es lograr
un tiempo de asentamiento finito con error en regimen 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:
Gd(z) = a0 + a1z−1 + · · ·+ anz−N =
a0zN + a1z
N−1 + · · ·+ aN
zN
donde N es mayor o igual que el orden del sistema n. Notese que en esta Gd(z) todos
los polos de bucle cerrado estan en z = 0. En esta configuracion 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 unico parametro de diseno es el tiempo de muestreo.
Si tomamos un tiempo de muestreo muy pequeno la magnitud de la senal de control
aumenta drasticamente y el sistema puede sobreoscilar mucho.
Veremos como se disena el controlador en este caso, partiendo de que Gd(z) sera
Gd(z) =Nd(z)
zN
CAPITULO 5. DISENO DE CONTROLADORES DISCRETOS 77
Por otra parte segun (5.6):
C(z) =1
G(z)
Gd(z)
1−Gd(z)=
D(z)
N(z)
Nd(z)zN
zN−Nd(z)zN
=D(z)
N(z)
Nd(z)
zN −Nd(z)(5.11)
Por otra parte la funcion de transferencia entre la referencia y la salida del controlador
Gu(z) = U(z)R(z)
debe tener tambien una respuesta impulsional finita, de manera que
Gu(z) =U(z)
R(z)=
U(z)
Y (z)
Y (z)
R(z)=
1
G(z)Gd(z)
debe ser un polinomio en z−1 y en
Gu(z) =D(z)
N(z)
Nd(z)
zN
podemos tomar
Nd(z) = M(z)N(z)
donde M(z) nos da mas grados de libertad. Sabiendo entonces que Nd(z) = M(z)N(z),
se lleva a (5.11) de manera que
C(z) =D(z)
N(z)
M(z)N(z)
zN −M(z)N(z)=
D(z)M(z)
zN −M(z)N(z)
Siendo una condicion es que el error en regimen permanente ante escalon sea nulo,
se puede elegir M(z) de manera que Gd(1) = 1 es decir
Gd(z) =M(z)N(z)
zN−→ M(1) ·N(1) = 1 −→ M(1) =
1
N(1)=
1∑bi
Por tanto hacemos
m =1∑bi
y la funcion de transferencia del controlador en un numero finito de intervalos sera
C(z) =D(z) ·m
zN −m ·N(z)
Ejemplo 5.3
Sea
G(z) =b0z + b1
(z − a)
78 CONTROL EN UN NUMERO FINITO DE INTERVALOS. CONTROL DEAD-BEAT
Obtener el controlador dead-beat correspondiente.
La funcion de transferencia del controlador sera:
C(z) =(z − a) 1
b0+b1
z1 − 1b0+b1
(b0z + b1)=
(1− az−1) 1b0+b1
1− 1b0+b1
(b0 + b1z−1)=
(1− az−1)
b1(1− z−1)
Capıtulo 6
Control de sistemas discretos en el
espacio de estados
6.1. Representacion de sistemas discretos en el es-
pacio de estados
El metodo de espacio de estados esta basado en la descripcion del sistema mediante
n ecuaciones en diferencias, que se agrupan en una ecuacion vectorial matricial en
diferencias.
Definicion 6.1 Concepto de estado: El estado de un sistema dinamico es el con-
junto mas pequeno de variables (llamadas variables de estado) tal que, el conocimiento
de esas variables en un determinado instante t0 junto con el conocimiento de los valores
de la senal de entrada para los instantes t ≥ t0, permite determinar el comportamiento
y evolucion del sistema para cualquier instante de tiempo t ≥ t0.
Las variables de estado se agrupan en el llamado vector de estado y el espacio n-
dimensional que determinan los posibles valores de esas variables, se denomina espacio
de estados .
La dinamica de un sistema se puede describir en funcion del valor del vector de
estados y de la senal de entrada (asumiendo que el sistema es no autonomo mediante
79
80OBTENCION DE LA REPRESENTACION DE EN ESPACIO DE ESTADOS DE SISTEMAS DISCRETOS
unas ecuaciones que tendran la forma:
x(k + 1) = f(x(k), u(k), k)
y(k) = g(x(k), u(k), k)
donde la notacion ξ(k) indica el valor tomado por ξ en el instante de tiempo tk y f y g
pueden ser cualquier tipo de funcion. 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:
x(k+1) ++
D
Hu(k)
z-1I C
G
+
+
x(k)
Figura 6.1: Diagrama de bloques de la representacion en espacio de estados de un sistema LTI.
6.2. Obtencion de la representacion de en espacio
de estados de sistemas discretos
Partiremos de un sistema discreto descrito por:
y(k)+a1y(k−1)+a2y(k−2)+· · ·+any(k−n) = b0u(k)+b1u(k−1)+· · ·+bnu(k−n) (6.2)
Es bien conocido de anteriores temas de la asignatura que este sistema puede ser
descrito por la siguiente funcion de transferencia:
G(z) =Y (z)
U(z)=
b0 + b1z−1 + b2z
−2 + · · ·+ bnz−n
1 + a1z−1 + a2z−2 + · · ·+ anz−n(6.3)
A continuacion se expondran dos de los metodos disponibles para obtener la repre-
sentacion en espacio de estados del sistema descrito por (6.3).
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 81
6.2.1. Metodo de programacion directa
Parte de la premisa que la funcion de transferencia (6.3) puede reescribirse como:
G(z) = b0 +(b1 − a1b0)z
−1 + (b2 − a2b0)z−2 + · · ·+ (bn − anb0)z
−n
1 + a1z−1 + a2z−2 + · · ·+ anz−n(6.4)
teniendo en cuenta que G(z) = Y (z)U(z)
se obtiene:
Y (z) = b0U(z) +(b1 − a1b0)z
−1 + (b2 − a2b0)z−2 + · · ·+ (bn − anb0)z
−n
1 + a1z−1 + a2z−2 + · · ·+ anz−nU(z) (6.5)
que a su vez se puede expresar como:
Y (z) = b0U(z) + Y (z)U(z) (6.6)
con:
Y (z) =(b1 − a1b0)z
−1 + (b2 − a2b0)z−2 + · · ·+ (bn − anb0)z
−n
1 + a1z−1 + a2z−2 + · · ·+ anz−n(6.7)
Por otra parte, teniendo en cuenta la expresion de Y (z) se puede definir un Q(z) que
cumple que:
Q(z) =Y (z)
(b1 − a1b0)z−1 + · · ·+ (bn − anb0)z−n=
U(z)
1 + a1z−1 + · · ·+ anz−n(6.8)
De ahı se obtiene que:
Q(z) = −a1z−1Q(z)− a2z
−2Q(z)− · · · − anz−nQ(z) + U(z) (6.9)
Y (z) = (b1 − a1b0)z−1Q(z) + (b2 − a2b0)z
−2Q(z) + · · ·+ (bn − anb0)z−nQ(z) (6.10)
A continuacion se eligen las variables de estado como:
X1(z) = z−nQ(z) (6.11)
X2(z) = z−(n−1)Q(z)
· · ·Xn(z) = z−1Q(z)
lo que teniendo en cuenta las propiedades de la transformada Z, implica que:
zX1(z) = X2(z)
zX2(z) = X3(z)
· · ·zXn−1(z) = Xn(z)
82OBTENCION DE LA REPRESENTACION DE EN ESPACIO DE ESTADOS DE SISTEMAS DISCRETOS
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)
Notese que segun la ultima igualdad de (6.11) se tiene que Q(z) = zXn(z), luego
teniendo en cuenta esto y el resto de las igualdades de (6.11) podemos reescribir la
expresion de Q(z) en (6.9) como:
zXn(z) = −a1Xn(z)− a2Xn−1(z)− · · · − anX1(z) + U(z) (6.13)
o lo que es lo mismo:
xn(k + 1) = −anx1(k)− an−1x2(k)− · · · − a1xn(k) + u(k) (6.14)
De esta manera y si tenemos en cuenta (6.12) obtenemos la siguiente expresion de la
ecuacion de estado:
x1(k + 1)
x2(k + 1)...
xn−1(k + 1)
xn(k + 1)
=
0 1 0 · · · 0
0 0 1 · · · 0...
......
...
0 0 0 · · · 1
−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 tambien (6.10) teniendo en cuenta las igualdades
de (6.11) de manera que:
Y (z) = (b1 − a1b0)Xn(z) + (b2 − a2b0)Xn−1(z) + · · ·+ (bn − anb0)X1(z) (6.16)
Esto se puede llevar a la ecuacion (6.6) de manera que antitransformando se obtiene:
y(k) = (bn−anb0)x1(k)+ (bn−1−an−1b0)x2(k)+ · · ·+(b1−a1b0)xn(k)+ b0u(k) (6.17)
lo cual se puede escribir como:
y(k) =[
bn − anb0 bn−1 − an−1b0 · · · b1 − a1b0
]
x1(k)
x2(k)...
xn−1(k)
xn(k)
+ b0u(k) (6.18)
Las ecuaciones (6.15) y (6.18) forman una representacion en espacio de estados del
sistema descrito por la funcion de transferencia (6.3) que se denomina forma canonica
controlable.
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 83
6.2.2. Metodo de programacion anidada
En este caso se parte de que de la funcion de transferencia (6.3) se obtiene la
siguiente ecuacion:
Y (z)− b0U(z) + z−1 (a1Y (z)− b1U(z)) + · · ·+ z−n (anY (z)− bnU(z)) = 0 (6.19)
que a su vez se puede reescribir como:
Y (z) = b0U(z) + z−1(b1U(z)− a1Y (z) + z−1 (b2U(z)− a2Y (z) (6.20)
+z−1 (b3U(z)− a3Y (z) + · · ·)))
Teniendo en cuenta esto se definen las siguientes variables de estado:
Xn(z) = z−1 (b1U(z)− a1Y (z) + Xn−1(z)) (6.21)
Xn−1(z) = z−1 (b2U(z)− a2Y (z) + Xn−2(z))...
X2(z) = z−1 (bn−1U(z)− an−1Y (z) + X1(z))
X1(z) = z−1 (bnU(z)− anY (z))
Notese que segun esta definicion de las variables de estado la expresion (6.20) se puede
reescribir en forma condensada como:
Y (z) = b0U(z) + Xn(z) (6.22)
Sustituyendo esta expresion en la definicion de las variables de estado (6.21) y multi-
plicando por z en ambos lados de cada igualdad se obtiene:
zXn(z) = Xn−1(z)− a1Xn(z) + (b1 − a1b0)U(z)
zXn−1(z) = Xn−2(z)− a2Xn(z) + (b2 − a2b0)U(z)...
zX2(z) = X1(z)− an−1Xn(z) + (bn−1 − an−1b0)U(z)
zX1(z) = −anXn(z) + (bn − anb0)U(z)
Antitransformando lo anterior:
x1(k + 1) = −anxn(k) + (bn − anb0)u(k) (6.23)
x2(k + 1) = x1(k)− an−1xn(k) + (bn−1 − an−1b0)u(k)...
xn−1(k + 1) = xn−2(k)− a2xn(k) + (b2 − a2b0)u(k)
xn(k + 1) = xn−1(k)− a1xn(k) + (b1 − a1b0)u(k)
84 LA REPRESENTACION EN ESPACIO DE ESTADOS DE UN SISTEMA NO ES UNICA
Antitransformando tambien la expresion (6.22) se obtiene:
y(k) = xn(k) + b0u(k) (6.24)
Finalmente, agrupando las dos expresiones anteriores se obtiene:
x1(k + 1)
x2(k + 1)...
xn−1(k + 1)
xn(k + 1)
=
0 0 · · · 0 0 −an
1 0 · · · 0 0 −an−1
......
......
...
0 0 · · · 1 0 −a2
0 0 · · · 0 1 −a1
x1(k)
x2(k)...
xn−1(k)
xn(k)
+
bn − anb0
bn−1 − an−1b0
...
b2 − a2b0
b1 − a1b0
u(k)
y(k) =[
0 0 · · · 0 1]
x1(k)
x2(k)...
xn−1(k)
xn(k)
+ b0u(k) (6.25)
A esta representacion en espacio de estados del sistema descrito por la funcion de
transferencia (6.3) se la denomina forma canonica observable.
6.3. La representacion en espacio de estados de un
sistema no es unica
Se ha comprobado que a un mismo sistema descrito por su funcion de transferencia
le corresponden, al menos, dos representaciones en espacio de estado distintas. De
hecho, la representacion en espacio de estados de un sistema no es unica. Por ejemplo,
podemos tomar otras variables de estado que describan la dinamica 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)
esta relacionado con otro vector x(k) con variables de estado distintas mediante una
transformacion:
x(k) = Px(k) (6.26)
donde P es una matriz invertible. Esto se puede llevar a la ecuacion de estado del
sistema de manera que obtendrıamos:
Px(k + 1) = GPx(k) + Hu(k)
Premultiplicando por P−1:
x(k + 1) = P−1GPx(k) + P−1Hu(k)
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 85
por lo que la ecuacion de estado se puede expresar como:
x(k + 1) = Gx(k) + Hu(k) (6.27)
con G = P−1GP y H = P−1H. De la misma manera la ecuacion, de la salida del
sistema se puede expresar como:
y(k) = Cx(k) + Du(k) (6.28)
con C = CP y D = D. Ası pues, las ecuaciones (6.27) y (6.28) describen una repre-
sentacion del sistema en espacio de estados que es diferente de la original pero equiva-
lente a ella1.
6.4. Resolucion de las ecuaciones del espacio de es-
tados
En esta seccion se trata el tema de la resolucion de las ecuaciones de estado. Es
decir, se presentaran 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) = G2x(0) + GHu(0) + Hu(1)
x(3) = Gx(2) + Hu(2) = G3x(0) + G2Hu(0) + GHu(1) + Hu(2)...
generalizando para cualquier k > 0:
x(k) = Gkx(0) +k−1∑j=0
Gk−j−1Hu(j) (6.29)
1Observese que en la ecuacion (6.28) el estado aparece con , indicando que el vector de estadoses diferente al original. La salida sin embargo si coincide con la del sistema original pues ambasrepresentaciones son equivalentes.
86 RESOLUCION DE LAS ECUACIONES DEL ESPACIO DE ESTADOS
Observese que x(k) depende del estado inicial y de los valores de la entrada. Por otra
parte, la salida se puede expresar como:
y(k) = CGkx(0) + C
k−1∑j=0
Gk−j−1Hu(j) + Du(k) (6.30)
6.4.2. Matriz de transicion de estados
Considerese la ecuacion:
x(k + 1) = Gx(k) (6.31)
En este caso, al no tener senal de entrada la solucion de la ecuacion viene dada por:
x(k) = Ψ(k)x(0)
con:
Ψ(k + 1) = GΨ(k) Ψ(0) = I
es decir:
Ψ(k) = Gk
A Ψ(k) se le llama la matriz de transicion de estados y contiene toda la informacion
sobre los movimientos libres del sistema descrito por (6.31). Estos movimientos libres
se refieren a los cambios de estado o evolucion del estado del sistema en ausencia de
entrada.
En terminos de Ψ(k) la solucion de la ecuacion de estados para el sistema (6.1)
viene dada por:
x(k) = Ψ(k)x(0) +k−1∑j=0
Ψ(k − j − 1)Hu(j) (6.32)
= Ψ(k)x(0) +k−1∑j=0
Ψ(j)Hu(k − j − 1)
lo que lleva a:
y(k) = CΨ(k)x(0) + C
k−1∑j=0
Ψ(j)Hu(k − j − 1) + Du(k) (6.33)
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 87
6.4.3. Metodo basado en la transformada Z
Aplicando la transformada Z a ambos lados de la ecuacion 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)−1zx(0) + (zI −G)−1HU(Z)
y antitransformando:
x(k) = Z−1{(zI −G)−1z
}x(0) + Z−1
{(zI −G)−1HU(z)
}
Esta ecuacion la podemos comparar con la solucion mediante el procedimiento recursivo
indicado en la ecuacion (6.29), e identificando terminos tenemos que:
Gk = Z−1{(zI −G)−1z
}y
k−1∑j=0
Gk−j−1Hu(j) = Z−1{(zI −G)−1HU(z)
}(6.34)
La dificultad de este metodo consiste en realizar la transformada Z de las expresiones
anteriores. Para ilustrar el procedimiento considerese 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) = GK = Z−1 {(zI −G)−1z}. En primer lugar calculamos:
(zI −G)−1 =
[z −1
0,16 z + 1
]
=
[z+1
(z+0,2)(z+0,8)1
(z+0,2)(z+0,8)−0,16
(z+0,2)(z+0,8)z
(z+0,2)(z+0,8)
]
=
[43
1z+0,2
− 13
1z+0,8
53
1z+0,2
− 53
1z+0,8
−0,83
1z+0,2
+ 0,83
1z+0,8
−13
1z+0,2
+ 43
1z+0,8
](6.35)
88 RESOLUCION DE LAS ECUACIONES DEL ESPACIO DE ESTADOS
Multiplicando lo anterior por z y antitransformando se obtiene:
Ψ(k) = Gk = Z−1{(zI −G)−1z
}=
[43(−0,2)k − 1
3(−0,8)k 5
3(−0,2)k − 5
3(−0,8)k
−0,83
(−0,2)k + 0,83
(−0,8)k −13(−0,2)k + 4
3(−0,8)k
]
(6.36)
El ejemplo se puede completar resolviendo completamente la ecuacion de estado y la
de la salida para una senal de entrada dada por:
u(k) = 1 k = 0, 1, 2, · · · x(0) =
[1
−1
]
Teniendo en cuenta la transformada Z de la entrada (escalon unitario) y que se sabe
que:
X(z) = (zI −G)−1 [zx(0) + HU(z)]
se calcula:
zx(0) + HU(z) =
[z
−z
]+
[z
z−1z
z−1
]=
[z2
z−1−z2+2z
z−1
]
que premultiplicado por el resultado de la ecuacion (6.35) lleva a:
X(z) =
[ − 176
z
z+0,2+
229
z
z+0,8+
2518
z
z−13,46
z
z+0,2+
− 17,69
z
z+0,8+
718
z
z−1
]
y de ahi, antitransformando:
x(k) =
[ −176(−0,2)k + 22
9(−0,8)k + 25
183,46
(−0,2)k − 17,69
(−0,8)k + 718
]
Finalmente la ecuacion de salida sera:
y(k) =[
1 0]x(k)
= −17
6(−0,2)k +
22
9(−0,8)k +
25
18
¤
6.4.3.1. Procedimiento alternativo para calcular (zI −G)−1
Se observa en el ejemplo 1.1 que gran parte del calculo se emplea en calcular (zI −G)−1. Esto puede ser muy engorroso cuando el orden de las matrices involucradas es
superior a 3. A continuacion se detalla un procedimiento alternativo para esos casos.
En primer lugar es conocido que, por definicion de matriz inversa:
(zI −G)−1 =Adj(zI −G)
|zI −G|
CAPITULO 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| = zn + a1zn−1 + a2z
n−2 + · · ·+ an
Por otra parte se puede demostrar que:
Adj(zI −G) = Izn−1 + H1zn−2 + H2z
n−3 + · · ·+ Hn−1
donde las matrices Hi se calculan mediante:
H1 = G + a1I
H2 = GH1 + a2I...
Hn−1 = GHn−1 + an−1I
Hn = GHn−1 + anI = 0
y los ai se calculan a su vez como:
a1 = −traza(G)
a2 = −1
2traza(GH1)
a3 = −1
3traza(GH2)
...
an = − 1
ntraza(GHn−1)
Ejemplo 6.2
A continuacion se calculara 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| = z2 + a1z + a2
Adj(zI −G) = Iz + H1
donde:a1 = −traza(G)
a2 = −12traza(GH1)
H1 = G + a1I
La traza de G es igual a 1, luego a1 = 1 y de ahı se obtiene que H1 = G + I, con lo
que se puede calcular:
a2 = −1
2traza
([0 1
−0,16 −1
] [1 1
−0,16 0
])= 0,16
90 DISCRETIZACION DE LAS ECUACIONES DE ESTADO CONTINUAS
con lo que se obtiene:
Adj(zI −G) = Iz +
[1 1
−0,16 0
]
=
[z + 1 1
−0,16 z
] |zI−G| = z2+z+0,16 = (z+0,2)(z+0,8)
Finalmente:
(zI −G)−1 =
[z + 1 1
−0,16 z
]
(z + 0,2)(z + 0,8)
que evidentemente es el mismo resultado obtenido en el ejemplo 1.1. ¤
6.5. Discretizacion de las ecuaciones de estado con-
tinuas
En esta seccion veremos como se puede pasar de un modelo en espacio de estado
continuo a discreto. Se partira de un sistema lineal e invariante en el tiempo continuo:
x = Ax + Bu
y = Cx + Du(6.37)
Supondremos que la entrada solo cambia en ciertos instantes igualmente espaciados en
el tiempo, es decir, solo puede cambiar en t = kT , para k = 0, 1, 2, · · ·. Al discretizar
la ecuacion de estado esta tomara 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 solucion de la ecuacion de estado
en tiempo continuo:
x(t) = eAtx(0) + eAt
∫ t
0
e−AτBu(τ)dτ (6.39)
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)
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 91
Se tiene que:
x((k + 1)T ) = eA(k+1)T x(0) + eA(k+1)T
∫ (k+1)T
0
e−AτBu(τ)dτ (6.41)
x(kT ) = eAkT x(0) + eAkT
∫ kT
0
e−AτBu(τ)dτ (6.42)
Mutiplicando la ecuacion (6.42) por eAT y restandola de la ecuacion (6.41) se obtiene:
x((k + 1)T ) = eAT x(kT ) + eA(k+1)T
∫ (k+1)T
kT
e−AτBu(τ)dτ (6.43)
Teniendo en cuenta la suposicion de que u(t) es constante en el intervalo de integracion
(ver (6.40)) se puede sustituir u(τ) por u(kT ). Aplicando esto y operando se llega a:
x((k + 1)T ) = eAT x(kT ) + eAT
∫ T
0
e−AτBu(kT )dτ
= eAT x(kT ) +
∫ T
0
e−AλBu(kT )dλ (6.44)
donde λ = T − τ . Sea:G(T ) = eAT
H(T ) =(∫ T
0eAλdλ
)B
(6.45)
entonces la ecuacion (6.44) queda:
x((k + 1)T ) = G(T )x(kT ) + H(T )u(kT ) (6.46)
que es la ecuacion a la que tenıamos que llegar y por tanto se ha obtenido la ecuacion
de estado continuo discretizada.
En el caso particular (aunque muy comun, y por tanto interesante) de que A sea
una matriz invertible se tiene que:
H(T ) =(eAT − I
)A−1B
Por otra parte, la ecuacion de la salida al ser discretizada queda:
y(kT ) = Cx(kT ) + Du(kT ) (6.47)
con C, D matrices constantes e iguales a la de la ecuacion en tiempo continuo.
Existen diferentes metodos para calcular eAT . Quizas el mas sencillo de aplicar
cuando se trata de calcular la exponencial con papel y lapiz sea utilizar la equivalencia:
eAt = L−1{(sI − A)−1
}(6.48)
92 DISCRETIZACION DE LAS ECUACIONES DE ESTADO CONTINUAS
donde L−1 indica la transformada de Laplace inversa. Desde el punto de vista practico
el metodo consistirıa en calcular (sI−A)−1 (notese que puede emplearse el metodo para
calcular (zI − G)−1 dado en la seccion 6.4.3.1) y aplicar a posteriori la transformada
de Laplace inversa a cada elemento de la matriz.
Ejemplo 6.3
Se ilustrara en este ejemplo el calculo 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 metodos vistos en la seccion 6.5 y subsiguientes se calcula la inversa:
(sI − A)−1 =
[1s
1s(s+2)
0 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 1
2(1− e−2t)
0 e−2t
]
¤
Ejemplo 6.4
Como ejemplo de discretizacion de las ecuaciones de estado en tiempo continuo, con-
siderese 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
0eAλdλ
)B
=(∫ T
0e−aλdλ
)
= 1−e−aT
a
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 93
Luego:x(k + 1) = e−aT x(k) + 1−e−aT
au(k)
y(k) = x(k)
6.6. Controlabilidad y Observabilidad
En esta seccion se pasan a tratar dos conceptos clave en el estudio de sistemas
dinamicos, 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 colocacion de polos por realimentacion del vector de estados o el control
optimo.
6.6.1. Controlabilidad
Definicion 6.2 Un sistema dinamico es completamente controlable o de estado com-
pletamente controlable, si es posible transferir al sistema desde un estado inicial ar-
bitrario a cualquier estado deseado en un tiempo finito. Tambien puede decirse que
sera completamente controlable, si cada variable de estado se puede controlar en un
tiempo finito por una senal de control que no este sujeta a ningun tipo de restriccion.
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 senal 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 senal 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 tamano del vector de estados.
Recordemos que la solucion de la ecuacion de estados es:
x(nT ) = Gnx(0) +n−1∑j=0
Gn−j−1Hu(jT )
94 CONTROLABILIDAD Y OBSERVABILIDAD
= Gnx(0) + Gn−1Hu(0) + Gn−2Hu(T ) + · · ·+ Hu((n− 1)T )
de ahı se obtiene:
x(nT )−Gnx(0) =[
H... GH
... · · · ... Gn−1H
]
u((n− 1)T )
u((n− 2)T )...
u(0)
(6.50)
donde la matriz
Mc =[
H... GH
... · · · ... Gn−1H
](6.51)
es la llamada matriz de controlabilidad .
Supongase 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 controla-
bilidad (6.51) diese como resultado xf −Gnx(0). Como xf y x(0) pueden ser cualquier
par de valores del vector de estado, es facil entender que xf−Gnx(0) puede ser cualquier
vector de Rn. De esto se desprende que para que el sistema sea controlable, el espa-
cio de vectores generado por los vectores que forman la matriz de controlabilidad (es
decir, sus columnas) debe ser todo Rn. La condicion 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.
Lema 6.1 Dado un sistema LTI de orden n representado por (6.49), es condicion
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 condicion establecida en el lema 6.1 po-
dra alcanzar cualquier estado como maximo en n periodos de muestreo, pero solo si no
existen restricciones sobre la senal de control. En caso contrario, se tardarıa mas.
Si el sistema es controlable, se podra 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 funcion 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)
U(z)=
z + 0,2
(z + 0,8)(z + 0,2)
no serıa controlable pues existe una cancelacion de un polo con un cero.
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 95
6.6.2. Controlabilidad de la salida completa
En control automatico el objetivo mas comun es controlar la evolucion de la salida
del sistema. Se puede demostrar que la controlabilidad del estado no implica la contro-
labilidad de la salida. Sin embargo, podemos comprobar dicha controlabilidad de una
manera analoga a la de la controlabilidad del estado completo. Sea un sistema cuya
ecuacion de estado es (6.49) y la ecuacion de la salida es:
y(kT ) = Cx(kT ) (6.52)
La condicion para comprobar la controlabilidad de la salida completa serıa que
Rango{[
CH... CGH
... · · · ... CGn−1H
]}= m (6.53)
donde m es el numero de salidas. Por otra parte, si la ecuacion de la salida es:
y(kT ) = Cx(kT ) + Du(kT ) (6.54)
la condicion a comprobar serıa:
Rango{[
D... CH
... CGH... · · · ... CGn−1H
]}= m (6.55)
Notese que en esta segunda forma de la ecuacion de salida, la presencia del termino
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 sera igual o mas facil entre
n + 1 vectores que entre solo n de esos vectores.
6.6.3. Observabilidad
Considerese un sistema autonomo:
x((k + 1)T ) = Gx(kT )
y(kT ) = Cx(kT )(6.56)
Definicion 6.3 El sistema autonomo (6.56) es completamente observable si todo es-
tado inicial x(0) se puede determinar de la observacion de y(kT ) durante un numero
finito de intervalos de muestreo. Para que ello ocurra, cada transicion 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. Notese que se ha considerado un sistema autonomo. La razon de esto es
que la observabilidad de un sistema no autonomo se reduce a la del sistema autonomo
equivalente.
Se sabe que la solucion de la ecuacion de estado para el sistema autonomo (6.56)
es:
x(kT ) = Gkx(0)
y de ahı
y(kT ) = CGkx(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 xi(0) indica la iesima 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−1x(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 incognitas son las n componentes de x(0).
Para que la solucion de este sistema sea unica debe haber entre ellas n ecuaciones
linealmente independientes. Esto se traduce en la siguiente condicion de observabilidad
completa:
Rango{[
C∗ ... G∗C∗ ... · · · ... (G∗)n−1C∗]}
= n (6.57)
donde ∗ indica la conjugada traspuesta de una matriz y a la matriz que aparece en la
condicion se la llama matriz de observabilidad.
Por otra parte, de una manera analoga a la de la controlabilidad, la observabilidad
de un sistema a partir de su funcion de transferencia se puede asegurar si esta no
presenta cancelaciones de polos y ceros.
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 97
Finalmente, se enuncia a continuacion una propiedad que sera util para poder obte–
ner la representacion de un sistema en forma canonica, sin que por ello pueda argu-
mentarse 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 transformacion
como (6.26) con:
G = P−1GP
H = P−1H
C = CP
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 S1:
S1 :
{x((k + 1)T ) = Gx(kT ) + Hu(kT )
y(kT ) = Cx(kT )(6.58)
Sea S2 el sistema dual de S1:
S2 :
{x((k + 1)T ) = G∗x(kT ) + C∗u(kT )
y(kT ) = H∗x(kT )(6.59)
Entonces se puede afirmar que2:
SI S1
{CONTROLABLE
OBSERVABLE
}ENTONCES S2
{OBSERVABLE
CONTROLABLE
}
6.7. Transformacion de un sistema en formas canonicas
Sea un sistema controlable y observable:
x(k + 1) = Gx(k) + Hu(k)
y(k) = Cx(k) + Du(k)(6.60)
2Notese que los sistemas S1 y S2 son diferentes, es decir, S2 no es una representacion alternativade S1.
98 TRANSFORMACION DE UN SISTEMA EN FORMAS CANONICAS
A continuacion, se vera el procedimiento para obtener las formas canonicas a partir de
ese sistema.
6.7.1. Obtencion de la forma canonica controlable
Sea una matriz de transformacion T = MW con:
M =[
H... GH
... · · · ... Gn−1H
]W =
an−1 an−2 · · · a1 1
an−2 an−3 · · · 1 0...
......
...
a1 1 · · · 0 0
1 0 · · · 0 0
donde los coeficientes ai son los coeficientes de la ecuacion caracterıstica del sistema,
es decir:
|zI −G| = zn + a1zn−1 + · · ·+ an−1z + an = 0
Se define el estado x(k) en funcion de la transformacion de otro vector de estados x(k):
x(k) = T x(k)
Entonces el sistema:x(k + 1) = Gx(k) + Hu(k)
y(k) = Cx(k) + Du(k)(6.61)
con G = T−1GT , H = T−1H, C = CT , D = D esta en forma canonica controlable.
6.7.2. Obtencion de la forma canonica observable
En este caso la matriz de transformacion es:
Q = (WN∗)−1
con
N =[
C∗ ... G∗C∗ ... · · · ... (G∗)n−1C∗]
Sea G = Q−1GQ, H = Q−1H, C = CQ, D = D y defınase el estado x(k) como
x(k) = Qx(k). Entonces el sistema (6.61) esta en forma canonica observable.
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 99
6.8. Colocacion de polos mediante realimentacion
del vector de estados
En esta seccion se presentara una estrategia de control que permite elegir la situacion
de los polos de bucle cerrado del sistema, mediante la realimentacion lineal del vector
de estados. Se vera que la condicion necesaria para que esto se pueda conseguir es que
el sistema sea controlable. Por otra parte, se asumira que todas las variables de estados
son accesibles, es decir, podemos medirlas directamente sin tener que estimarlas por
otros procedimientos.
6.8.1. Condicion necesaria y suficiente para la colocacion ar-
bitraria 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 senal de control se obtiene de la realimentacion negativa del vector de
estados multiplicado por una cierta matriz de ganancias K. Este tipo de ley de control
se la denomina usualmente realimentacion del vector de estados. Con esta ley de control
el sistema en bucle cerrado quedarıa:
x(k+1)
H z-1IG
+
+
x(k)
-Ku(k)
Figura 6.2: Diagrama de bloques de un sistema controlado por una realimentacion del vector deestados.
y la ecuacion de estado del sistema en bucle cerrado resultarıa ser:
x(k + 1) = (G−HK)x(k)
100 COLOCACION DE POLOS MEDIANTE REALIMENTACION DEL VECTOR DE ESTADOS
De manera analoga 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 condicion 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 condicion necesaria y suficiente para que por medio de
una realimentacion 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 condicion no se cumple, no se podran 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 iran por pares
conjugados. La ecuacion caracterıstica del sistema en bucle abierto es:
|zI −G| = zn + a1zn−1 + · · ·+ an = 0
Se define una matriz de transformacion T = MW exactamente igual que la matriz
de transformacion necesaria para obtener la forma canonica controlable descrita en la
seccion 6.7.1. Se obtiene:
T−1GT = G =
0 1 0 · · · 0
0 0 1 · · · 0...
......
...
0 0 0 · · · 1
−an −an−1 −an−2 · · · −a1
T−1H = H =
0
0...
0
1
Se define a continuacion:
K = KT =[
δn δn−1 · · · δ1
]
Entonces:
HK =
0
0...
1
[δn δn−1 · · · δ1
]=
0 0 · · · 0
0 0 · · · 0...
......
0 0 · · · 0
δn δn−1 · · · δ1
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 101
Por otra parte, la ecuacion caracterıstica del sistema en B.C. es:
|zI −G−HK| = |zI − G + HK|
=
∣∣∣∣∣∣∣∣∣∣∣
z
1 0 · · · 0
0 1 · · · 0...
......
0 0 · · · 0
0 0 · · · 1
−
0 1 0 · · · 0
0 0 1 · · · 0...
......
...
0 0 0 · · · 1
−an −an−1 −an−2 · · · −a1
+
0 0 · · · 0
0 0 · · · 0...
......
0 0 · · · 0
δn δn−1 · · · δ1
∣∣∣∣∣∣∣∣∣∣∣
=
∣∣∣∣∣∣∣∣∣∣∣
z −1 · · · 0
0 z · · · 0...
......
0 0 · · · −1
an + δn an−1 + δn−1 · · · z + a1 + δ1
∣∣∣∣∣∣∣∣∣∣∣= zn + (a1 + δ1)z
n−1 + · · ·+ (an−1 + δn−1)z + (an + δn) = 0
A su vez, la ecuacion caracterıstica correspondiente a los autovalores deseados sera:
(z − µ1)(z − µ2) · · · (z − µn) = zn + α1zn−1 + α2z
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 expresion para K:
K = KT−1
=[
δn δn−1 · · · δ1
]T−1
=[
αn − an...αn−1 − an−1
... · · · ...α1 − a1
]T−1
(6.62)
que coloca los polos de bucle cerrado del sistema en los valores deseados. Notese
que si el sistema en bucle abierto viene dado en forma canonica controlable, se verifica
que T = I = T−1.
102 COLOCACION DE POLOS MEDIANTE REALIMENTACION DEL VECTOR DE ESTADOS
6.8.2.1. Procedimiento alternativo: la formula de Ackermann
Existen otros procedimientos alternativos para el calculo de la matriz K. Aquı men-
cionaremos uno muy conocido, el que emplea la formula de Ackermann. Segun esto, la
expresion para K tomarıa la forma:
K =[
0 0 · · · 0 1] [
H... GH
... · · · ... Gn−1H
]−1
φ(G)
donde:
φ(G) = Gn + α1Gn−1 + · · ·+ αn−1G + αnI
Los coeficientes αi se calcularan 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 ecuacion caracterıstica en funcion de los ki:
|zI −G + HK| = 0
e igualar a los coeficientes de
zn + α1zn−1 + α2z
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 colo-
cacion de polos.
Definicion 6.4 Dado un sistema LTI, entenderemos como control dead-beat aquel que
consigue llevar el estado a cero en como maximo 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 con-
forme 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
esten todos en el origen (es decir, todos los autovalores de (G−HK) igual a cero) se
consigue un control dead-beat.
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 103
Esto se lleva a la practica con una matriz de realimentacion del vector de estados
calculada mediante:
K =[ −an −an−1 · · · −a1
]T−1
Este tipo de control no goza de una reputacion excesivamente favorable porque habit-
ualmente se precisa de una senal de control de amplitud muy grande para obtener la
respuesta dead-beat. De hecho en este tipo de control, el unico parametro de diseno
que se ha de elegir es el tiempo de muestreo. Si este es muy pequeno, los n intervalos
de muestreo supondran un tiempo total muy corto, de manera que para llevar el estado
a cero partiendo de un estado inicial arbitrario se precisara un valor muy alto de la
senal.
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 ecuacion
caracterıstica de bucle cerrado deseada es:
|zI −G + HK| = (z − 0,5− j0,5)(z − 0,5 + j0,5) = z2 − 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
ecuacion caracterıstica de bucle abierto del sistema es:
|zI −G| =∣∣∣∣
z −1
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 metodos explicados anteriormente.
104 COLOCACION DE POLOS MEDIANTE REALIMENTACION DEL VECTOR DE ESTADOS
Metodo 1
K =[
α2 − a2... α1 − a1
]T−1
Observese que el sistema viene dado en forma canonica controlable, por lo que T = I
y por tanto:
K =[
0,34 −2]
Metodo 2 (formula de Ackermann)
En este caso la formula de Ackermann serıa:
K =[
0 1] [
H... GH
]−1
φ(G)
donde φ(G) es
φ(G) = G2 −G + 0,5I
=
[ −0,16 −1
0,16 0,84
]−
[0 1
−0,16 −1
]+
[0,5 0
0 0,5
]
=
[0,34 −2
0,32 2,34
]
por lo que
K =[
0 1] [
0 1
1 −1
]−1 [0,34 −2
0,32 2,34
]
=[
0,34 −2]
Metodo 3
Este procedimiento es apropiado para sistemas de bajo orden como el que nos ocupa.
En primer lugar, se toma K = [k1 k2] y se formula la ecuacion caracterıstica de bucle
cerrado en funcion de K:
|zI −G + HK| =
∣∣∣∣[
z 0
0 z
]−
[0 1
−0,16 −1
]+
[0
1
] [k1 k2
]∣∣∣∣
=
∣∣∣∣z −1
0,16 + k1 z + 1 + k2
∣∣∣∣= z2 + (1 + k2)z + k1 + 0,16 = 0
la comparamos con la ecuacion caracterıstica deseada (6.63) e identificamos coeficientes:
1 + k2 = −1
k1 + 0,16 = 0,5
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 105
de donde se obtiene que k1 = 0,34 y k2 = −2, por lo que se tiene ya el valor de K, que
evidentemente coincide con el obtenido mediante los dos metodos 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 evolucion 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 ecuacion de
estado del sistema en bucle cerrado:[
x1(k + 1)
x2(k + 1)
]=
[0 1
−0,16− 1
] [x1(k)
x2(k)
]+
[0
1
] [0,16 1
] [x1(k)
x2(k)
]
=
[0 1
0 0
] [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 mas:[
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 dead-
beat.
6.9. Observadores del estado
En el control por colocacion de polos se asume que el estado se puede medir direc-
tamente. En ocasiones, sin embargo, puede que esta suposicion 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
deberan estimar los valores de esas variables de estado no accesibles. Este proceso de
estimacion es lo que se conoce como observacion.
Un observador del estado es un subsistema del sistema de control, que realiza la
estimacion de las variables de estado basandose en los valores medidos (observados) de
las salidas y la senal de control. Se distinguen tres tipos de observadores, en funcion
de las variables de estado que se estimen:
1. Observador del estado completo. Es aquel que estima todas las variables de esta-
do.
2. Observador de orden mınimo. En este caso solo 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 colocacion de polos, formularemos en primer lugar las condiciones para
que se pueda llevar a cabo la observacion.
Lema 6.4 Condicion necesaria y suficiente para la observacion 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 solo 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 actuan ruidos y perturbaciones. Por
esta razon 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 estimacion del estado
Sea un sistema LTI
x(k + 1) = Gx(k) + Hu(k)
y(k) = Cx(k)(6.64)
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 107
Si se dispone de una aproximacion del estado en k, que denotaremos x(k), esta evolu-
cionara segun la dinamica del sistema
x(k + 1) = Gx(k) + Hu(k)
y(k) = Cx(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) 6= x(k). Podemos pues, definir el error de estimacion en k como:
e(k) = x(k)− x(k)
Restando la ecuacion 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 definicion del error de aproximacion es equivalente a:
e(k + 1) = Ge(k)
que se puede considerar como un sistema dinamico autonomo. Si G es una matriz
estable (es decir, si sus autovalores estan 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 dinamica del sistema hace que la aproxi-
macion del estado tienda al valor real del mismo. Esto quiere decir que podrıamos usar
la propia ecuacion del sistema para obtener en cualquier instante k una aproximacion
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 tratara con
sistemas estables. Por tanto, esta estrategia no es muy aconsejable.
Notese que en el esquema que se ha presentado, no se hace uso de la salida del sis-
tema, que siempre sera accesible. Esto puede ser aprovechado para mejorar el rendimien-
to del observador introduciendose un termino corrector, de manera que la ecuacion para
obtener la aproximacion del estado para el instante k + 1 serıa:
x(k + 1) = Gx(k) + Hu(k) + Ke (y(k)− Cx(k))
donde Ke es una matriz de ponderacion o ganancia. Este termino 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 OBSERVADORES DEL ESTADO
6.9.2. Observador del estado completo
Sea un sistema LTI observable (6.64) con una ley de control por realimentacion
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 aproximacion de manera que
u(k) = −Kx(k)
y de ahı, aplicando las consideraciones de la seccion 6.9.1 se obtiene
x(k + 1) = Gx(k) + Hu(k) + Ke (y(k)− y(k))
= (G−KeC)x(k) + Hu(k) + Key(k)
= (G−KeC −HK)x(k) + Key(k)
(6.66)
Esta es la llamada ecuacion del observador predictivo. La palabra predictivo se utiliza
para indicar que la estimacion del valor futuro del estado en k +1, se realiza utilizando
informacion disponible en el instante k. A los autovalores de la matriz (G − KeC)
se les suele denominar polos del observador, y como se hizo en la seccion 6.9.1, se
vera a continuacion que marcan la dinamica de la evolucion del error de observacion.
En efecto, si se resta la ecuacion del observador de la del sistema real (6.64) se llega a
que
e(k + 1) = (G−KeC)e(k)
de lo que puede observarse que los polos del observador determinan la dinamica del
error. Si G − KeC es estable, el error convergera a cero independientemente de la
estimacion del estado inicial x(0).
La ecuacion del observador y del propio sistema en espacio de estados controlado
por la realimentacion 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 estimacion del estado converja rapida-
mente 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 aproximacion
muestre una respuesta dead-beat. Esto se consigue eligiendo de manera apropiada Ke.
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 109
x(k+1)+H
u(k)z-1I C
G
+
+
x(k)
OBSERVADOR
y(k)
y(k)
-K
u(k)
(k)x
u(k)
Figura 6.3: Diagrama de bloques de un sistema LTI controlado mediante una realimentacion del vectorde estados que estima el estado con un observador.
x(k+1) +Hu(k)
z-1I C
G
+
+
Ke
(k)x
(k)y
y(k)-+
+
(k)x
Figura 6.4: Diagrama de bloques de un observador de orden completo.
110 OBSERVADORES DEL ESTADO
6.9.2.1. Calculo de Ke
El procedimiento para elegir Ke de manera que se coloquen los polos del observador
en unos valores especificados es analogo al de la colocacion de polos vista en la seccion
6.8. Si la ecuacion caracterıstica deseada del observador es:
zn + α1zn−1 + · · ·+ αn−1z + αn = 0
y la del sistema es
zn + a1zn−1 + · · ·+ an−1z + an = 0
entonces
Ke = (WN∗)−1
αn − an
αn−1 − an−1
...
α1 − a1
(6.67)
donde
W =
an−1 an−2 · · · a1 1
an−2 an−3 · · · 1 0...
......
...
a1 1 · · · 0 0
1 0 · · · 0 0
N =[
C∗ ... G∗C∗ ... · · · ... (G∗)n−1C∗]
es decir, la misma matriz W empleada en la colocacion de polos y la matriz de ob-
servabilidad3. Notese que si el sistema viene indicado en forma canonica observable
(WN∗)−1 = I. Tambien puede emplearse la formula de Ackermann, que para este caso
es:
Ke = φ(G)
C
CG...
CGn−1
−1
0
0...
1
donde
φ(G) = Gn + α1Gn−1 + · · ·+ αn−1G + αnI = 0
Ejemplo 6.7
Considerese un sistema como (6.64) con
G =
[1 1
0 1
]H =
[0,5
1
]C =
[1 0
]
3A fin de obtener un texto mas legible se evita en lo posible hacer referencias a material anterior,aun a pesar de que esto pueda alargar la exposicion del tema al repetirse ecuaciones y expresiones.
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 111
disenaremos 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 ecuacion
caracterıstica del sistema en bucle abierto:
|zI −G| =
∣∣∣∣[
z 0
0 z
]−
[1 1
0 1
]∣∣∣∣= z2 − 2z + 1 = 0
luego a1 = −2 y a2 = 1. Deseamos que el observador tenga una respuesta dead-beat,
luego la ecuacion caracterıstica deseada del observador sera:
z2 = 0 ⇒ α1 = α2 = 0
A continuacion se calculara Ke:
Ke = (WN∗)−1
[ −1
2
]
con
N =
[1 1
0 1
]W =
[a1 1
1 0
]=
[ −2 1
1 0
]
resultando
Ke =
[2
1
]
Calculo de Ke mediante la formula de Ackermann
En este caso la formula de Ackermann es:
Ke = φ(G)
[C
CG
]−1 [0
1
]
con
φ(G) = G2 + α1G + α2I = G2
resultando
Ke =
[1 1
0 1
]2 [1 0
1 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 evolucion del error de estimacion
Vamos a comprobar que el error cae a cero segun una respuesta dead-beat. Sea
x(0) =
[a1
b1
]x(0) =
[a2
b2
]
entonces
e(0) = x(0)− x(0) =
[a1 − a2
b1 − b2
]=
[a
b
]
ademas se tiene que
G−KeC =
[ −1 1
−1 1
]
el error evoluciona, por tanto, segun[
e1(k + 1)
e2(k + 1)
]=
[ −1 1
−1 1
] [e1(k)
e2(k)
]
por lo que se calcula la evolucion de este error:[
e1(1)
e2(1)
]=
[ −1 1
−1 1
] [a
b
]
=
[ −a + b
−a + b
]
[e1(2)
e2(2)
]=
[ −1 1
−1 1
] [ −a + b
−a + b
]
=
[0
0
]
luego, tal y como se pretendıa, la estimacion del vector de estados coincide con el
valor real de dicho vector dos tiempos de muestreo despues de iniciarse la estimacion.
Finalmente, la ecuacion del observador es:[
x1(k + 1)
x1(k + 1)
]=
[ −1 1
−1 1
] [x1(k)
x1(k)
]+
[0,5
1
]u(k) +
[2
1
]y(k)
¤
6.9.2.2. Comentarios acerca del papel de Ke
Se ha visto que Ke se utiliza para corregir la estimacion, disminuyendo el efecto de
las incertidumbres que se tengan sobre la dinamica real de la planta. Si estas incer-
tidumbres son importantes (es decir, si se tiene poca confianza en que el modelo de la
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 113
planta coincida con la dinamica real de la misma) este termino corrector deberıa tomar
un valor alto. Sin embargo, si la senal de salida esta contaminada por perturbaciones y
ruido en general procedente, por ejemplo, de los sensores de medida, entonces la senal
de salida no es fiable en el sentido de que no proviene unicamente de la dinamica real de
la planta. Por tanto, en estas situaciones el termino corrector deberıa ser mas pequeno.
Al seleccionar Ke se debe pensar no solo en reducir el error en base a una correccion
energica, sino que hay que tener en cuenta que cuando hay ruidos o perturbaciones,
una ganancia Ke alta no contribuirıa a reducir el error, porque las correcciones no irıan
en la ((direccion)) 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 adicion del observador
Hemos supuesto que al no disponerse de x(k) para calcular la senal de control, se
usa el observador para producir una estimacion x(k), de manera que
u(k) = −Kx(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 realimentacion del vector de estado K.
¿Que efectos tiene el observador sobre los polos de bucle cerrado? Para estudiar esto,
se analizara el efecto que tiene la adicion del observador sobre la ecuacion caracterıstica
del sistema en bucle cerrado.
Sea el sistema (6.64) controlado mediante (6.68). La ecuacion de estado puede
reescribirse como:
x(k + 1) = Gx(k)−HKx(k)
= (G−HK)x(k) + HK(x(k)− x(k))
= (G−HK)x(k) + HKe(k)
donde e(k) es el error de observacion en el instante k. Recordemos que el error de
observacion viene dado por:
e(k + 1) = (G−KeC)e(k)
La ecuacion de estado y la del error, se pueden combinar en la ecuacion de un sistema
autonomo aumentado que describe la dinamica del sistema observado (es decir, de todo
el conjunto sistema-controlador-observador):
[x(k + 1)
e(k + 1)
]=
[G−HK HK
0 G−KeC
] [x(k)
e(k)
]
114 OBSERVADORES DEL ESTADO
La ecuacion caracterıstica de este sistema es
∣∣∣∣zI −G + HK −HK
0 zI −G + KeC
∣∣∣∣ = 0
es decir,
|zI −G + HK||zI −G + KeC| = 0
Dado que las raıces de esta ecuacion 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 diseno de K junto con los
polos del observador. Por tanto, la colocacion de polos y la observacion son dos cosas
independientes, porque la adicion del observador no modifica los polos de bucle cerrado
del sistema tal y como se eligieron al disenar 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 mas rapida que la del sistema (para que esta ultima resulte dominante),
tıpicamente 4 o 5 veces mas rapida.
6.9.3. Observador de orden mınimo
Supongase 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 sera el que estime las n−m restantes.
Para disenar el observador de orden mınimo estableceremos una particion del vector
de estados:
x(k) =
xa(k)
· · ·xb(k)
donde el m-vector xa(k) son las variables medibles (accesibles) y el n−m-vector xb(k)
son las variables no medibles (no accesibles). Esta particion del vector de estados
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 115
determina una particion en la ecuacion de estados:
xa(k + 1)
· · ·xb(k + 1)
=
Gaa... Gab
· · · ... · · ·Gba
... Gbb
xa(k)
· · ·xb(k)
+
Ha
· · ·Hb
u(k)
y(k) =[
I... 0
]
xa(k)
· · ·xb(k)
donde Gaa ∈ Rm×m, Gab ∈ Rm×(n−m), Gba ∈ R(n−m)×m, Gbb ∈ R(n−m)×(n−m), Ha ∈Rm×1, Hb ∈ R(n−m)×1. La ecuacion de la parte del estado que es accesible (medible)
serıa:
xa(k + 1) = Gaaxa(k) + Gabxb(k) + Hau(k)
Notese que en esta ecuacion hay terminos que no son medibles, por lo tanto la podemos
reescribir agrupando los terminos medibles a la izquierda y los no medibles a la derecha:
xa(k + 1)−Gaaxa(k)−Hau(k) = Gabxb(k) (6.69)
Por otro lado, la parte del vector de estados que no se puede medir se puede escribir
como:
xb(k + 1) = Gbaxa(k) + Gbbxb(k) + Hbu(k)
Observese que en esta ecuacion, los terminos que dependen de xa(k) y u(k) son cono-
cidos mientras que el termino que depende de xb(k) es desconocido. Esta ecuacion la
podemos reescribir como
xb(k + 1) = Gbbxb(k) + [Gbaxa(k) + Hbu(k)] (6.70)
El diseno del observador de orden mınimo se realiza tomando como referencia el del
observador de orden completo, cuya ecuacion de estados es
x(k + 1) = Gx(k) + Hu(k)
En el caso del observador de orden mınimo, la ecuacion (6.70), es decir, la ecuacion
que describe la evolucion de la parte del estado no medible, es la que hace el papel
de ecuacion de estado. Por otra parte, se conoce que la ecuacion de salida para el
observador de orden completo es:
y(k) = Cx(k)
donde y(k) es medible y Cx(k) es no medible (por serlo x(k)). Observese que se puede
establecer un paralelismo entre los terminos de esta ecuacion y los de la ecuacion (6.69).
En el caso del observador de orden mınimo, por tanto, se considera como ecuacion de
salida la ecuacion (6.69).
116 OBSERVADORES DEL ESTADO
Recordemos que la ecuacion del observador de orden completo es
x(k + 1) = (G−KeC)x(k) + Hu(k) + Key(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) xb(k)
G Gbb
Hu(k) Gbaxa(k) + Hbu(k)
y(k) xa(k + 1)−Gaaxa(k)−Hau(k)
C Gab
Ke ∈ Rn×m Ke ∈ R(n−m)×m
Teniendo en cuenta esto, se obtiene
xb(k+1) = (Gbb−KeGab)xb(k)+Gbaxa(k)+Hbu(k)+Ke [xa(k + 1)−Gaaxa(k)−Hau(k)]
(6.71)
Ademas, de la ecuacion del sistema sabemos que
y(k) = xa(k)
luego, aplicando esto en la ecuacion (6.71) se obtiene
xb(k + 1) = (Gbb−KeGab)xb(k) + Key(k + 1) + (Gba−KeGaa)y(k) + (Hb−KeHa)u(k)
que serıa la ecuacion del observador de orden mınimo. Los polos del observador de
orden mınimo serıan los autovalores de (Gbb−KeGab). Observese, sin embargo, que en
esta ecuacion aparece un termino que multiplica a y(k + 1). Como es logico el valor
de la salida en k + 1 no esta disponible en el instante k, por lo que esta ecuacion ha
de ser modificada. Se puede demostrar (no se hara aquı), que esta ecuacion se puede
reescribir como:
xb(k) = η(k) + Kexa(k)
η(k + 1) = (Gbb −KeGab)η(k) + [(Gbb −KeGab)Ke + Gba −KeGaa] y(k)
+(Hb −KeHa)u(k)
(6.72)
La ecuacion caracterıstica del observador de orden mınimo es:
|zI −Gbb + KeGab| = 0
y como en el caso del observador de orden completo, Ke se puede elegir para colocar
los polos del observador donde se desee mediante los metodos indicados en la seccion
CAPITULO 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 formula de Ackermann, por ejemplo, quedarıa:
Ke = φ(Gbb)
Gab
GabGbb
...
GabGn−2bb
−1
0
0...
1
donde
φ(Gbb) = Gn−1bb + α1G
n−2bb + · · ·+ αn−1I
De manera analoga a la del observador de orden completo, se comprueba que la ecuacion
caracterıstica del conjunto formado por el observador de orden mınimo y el sistema
controlado por una realimentacion lineal del vector de estados es:
|zI −G + HK||zI −Gbb + KeGab| = 0
por lo que, nuevamente se ve que los problemas de diseno del controlador y del obser-
vador son independientes.
Ejemplo 6.8
Sea un sistema LTI cuyas matrices son
G =
[1 0,2
0 1
]H =
[0,02
0,2
]C =
[1 0
]
se pide
1. Disenar un controlador que coloque los polos de bucle cerrado en z = 0,6± j0,4.
2. Asumiendo que y(k) = x1(k) es el unico estado accesible, disenar un observador
de orden mınimo con respuesta dead-beat.
En primer lugar, se ha de comprobar la controlabilidad y observabilidad del sistema:
rango{[
H... GH
]}= rango
{[0,02 0,06
0,2 0,2
]}= 2
rango{[
C∗ ... G∗C∗]}
= rango
{[1 1
0 0,2
]}= 2
Luego el sistema cumple ambas condiciones. La ecuacion caracterıstica del controlador
es:
|zI −G| =∣∣∣∣
z − 1 −0,2
0 z − 1
∣∣∣∣ = z2 − 2z + 1
118 OBSERVADORES DEL ESTADO
luego a1 = −2 y a2 = 1. La ecuacion caracterıstica de bucle cerrado deseada es:
(z − 0,6− j0,4)(z − 0,6 + j0,4) = z2 − 1,2z + 0,52
luego α1 = −1,2 y α2 = 0,52. Por tanto,
K =[
α2 − a2 α1 − a1
]T−1 =
[ −0,48 0,8]T−1
donde la matriz T se calcula como
T =[
H... GH
] [a1 1
1 0
]=
[0,02 0,02
−0,2 0,2
]
y
T−1 =
[25 −2,5
25 2,5
]
lo que lleva a
K =[
8 3,2]
la ley de control se formulara por tanto, como
u(k) = −Kx(k)
= − [8 3,2
] [x1(k)
x2(k)
]= − [
8 3,2] [
y(k)
x2(k)
]
En cuanto al observador de orden mınimo, este estimara una sola variable, por lo
que es de orden 1. La particion de la ecuacion de estado en este caso sera:
Gaa... Gab
· · · ... · · ·Gba
... Gbb
=
1... 0,2
· · · ... · · ·0
... 1
Ha
· · ·Hb
=
0,02
· · ·0,2
La ecuacion caracterıstica deseada del observador es
Φ(z) = z = 0
luego
Ke = φ(Gbb)[Gab]−1[1] = (1)(0,2)−1(1) = 5
Las ecuaciones del observador serıan
η(k + 1) = (Gbb −KeGab)η(k) + [(Gbb −KeGab)Ke + Gba −KeGaa] y(k)
+(Hb −KeHa)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)
x2(k) = Key(k) + η(k)
= 5y(k) + η(k)
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 119
y la ley de control sera por tanto,
u(k) = −Kx(k)
= −8y(k)− 3,2x2(k)
= −8y(k)− 3,2(5y(k) + η(k))
= −24y(k)− 3,2η(k)
¤
6.10. Control optimo LQR
Las tecnicas de control optimo conforman una de las ramas del control automatico
mas importantes en el desarrollo de las estrategias modernas de control mas 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 solo se dara una pincelada sobre este particular, centrandonos en el
caso particular del control LQR con horizonte infinito, tambien conocido como LQR
de regimen permanente.
Las estrategias de control optimo calculan la ley de control de manera que se opti-
miza 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)
J =1
2
∞∑
k=0
(x∗(k)Qx(k) + u∗(k)Ru(k)) (6.73)
siendo Q y R matrices de ponderacion que cumplen que Q∗ = Q > 0, R∗ = R > 0.
Notese que este ındice de funcionamiento pondera la diferencia entre el estado y el ori-
gen el instante inicial, hasta un tiempo infinito. Por tanto, cuanto mas rapido se llegue
al origen menor valor de J se tendra. Esto implica que al minimizarse J , se encon-
trara la ley de control que lleva el estado al origen mas rapidamente y manteniendolo
120 CONTROL OPTIMO LQR
siempre lo mas cerca posible del origen4. Por otra parte, se observa que en el funcional
hay otro termino que pondera el valor de la secuencia de senales de actuacion. Este
termino impide que se obtenga una ley de control que lleve el estado al origen a expen-
sas de una actuacion muy grande. Al minimizarse J , por tanto, se conseguira una ley de
control que por una parte acerque el estado al origen lo mas rapido posible, pero man-
teniendo un nivel de actuaciones moderado, encontrandose por tanto, una solucion de
compromiso entre el rendimiento del controlador y su nivel de actuacion. 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 senal de actuacion.
Existen razones mas sutiles pero no por ello menos importantes para incorporar esta
ponderacion del esfuerzo de control. Por ejemplo, cuando existen discrepancias entre
el modelo del sistema y su dinamica real (algo que ocurre casi siempre, pues los mode-
los matematicos no pueden recoger todas las complejidades de los sistemas o procesos
reales) esta ponderacion del esfuerzo de control resulta en un sistema mas estable.
Para calcular la ley de control que minimiza el ındice (6.73) se define una matriz P
que satisface la siguiente ecuacion de Riccatti:
P = Q + G∗PG−G∗PH(R + H∗PH)−1H∗PG (6.74)
La solucion de esta ecuacion es una matriz P que es hermıtica y definida positiva. Se
demuestra que la matriz
K = (R + H∗PH)−1H∗PG
es la que minimiza el ındice (6.73) mediante la ley de control
u(k) = −(R + H∗PH)−1H∗PGx(k)
La ecuacion de estado del sistema en bucle cerrado sera por tanto:
x(k + 1) = (G−H(R + H∗PH)−1H∗PG) x(k)
= (I + HR−1H∗P )−1Gx(k)
Para este desarrollo se ha empleado el lema de inversion
(A + BC)−1 = A−1 − A−1B(I + CA−1B)−1CA
con A = I, B = H y C = R−1H∗P .
4Esta es una interpretacion que hay que tomar con cierto cuidado, pues puede que se obtenga unaley de control que provoque que el estado no se acerque al origen todo lo posible al principio pero quelo lleve a dicho origen muy rapidamente en los instantes siguientes, manteniendo pues el valor de J
muy bajo.
CAPITULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 121
6.10.1. Solucion de la ecuacion de Riccatti
Para calcular la ley de control optima LQR en regimen permanente es necesario
resolver la ecuacion de Riccatti (6.74). Esto no es algo trivial en general, pero si pode-
mos resolverla facilmente 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 calculara el valor de la matriz P en el paso i + 1 como
Pi+1 = Q + G∗PiG−G∗PiH (R + H∗PiH)−1 H∗PiG
La condicion de parada del bucle o proceso iterativo sera que Pi+1 − Pi ≈ 0, esto es,
que la diferencia entre Pi+1 y Pi sea una matriz cuyos elementos esten todos cerca del
cero.
6.11. Filtro de Kalman
El filtro de Kalman es un estimador del estado (en realidad tambien se puede
interpretar como filtro y como predictor), que tiene en cuenta la presencia de ruidos
en la ecuacion de estados y la salida. En este sentido es un estimador optimo, pues
la estimacion obtenida tiene el menor error posible teniendo en cuenta que al haber
ruidos actuando, nunca se podra obtener una estimacion perfecta. Al igual que en el
caso del control LQR no se entrara en profundidad en el estudio de este estimador, sino
que solo se presentara la formulacion de un caso particular, el filtro de Kalman para
regimen 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 actuan como ruidos aditivos. Se de-
muestra que se puede obtener una estimacion optima del vector de estados mediante
el siguiente esquema:
x(k + 1) = Gx(k) + Hu(k) + Ke(k) (y(k)− Cx(k))
Ke(k) = GPkC∗ (R + CPkC
∗)−1
Pk+1 = Q + (G−Ke(k)C) PkG∗
(6.75)
dondeR = E {ε(k)ε∗(k)}Q = E {ω(k)ω∗(k)}P0 = E {ε(0)ε∗(0)}
122 FILTRO DE KALMAN
donde E {·} denota la esperanza matematica y R,Q se asumen constantes. Se demuestra
que conforme k →∞:Pk+1 → P
Ke(k) → Ke
donde P y Ke son matrices constantes y ademas P es semidefinida positiva. Usando
esto, las ecuaciones de estimacion (6.75) se pueden reescribir como:
x(k + 1) = Gx(k) + Hu(k) + Ke (y(k)− Cx(k))
Ke = GPC∗ (R + CPC∗)−1
P = Q + GPG∗ −GPC∗ (R + CPC∗)−1 CPG∗(6.76)
que son las ecuaciones del filtro de Kalman de regimen permanente. Notese que para
resolver la ecuacion de Riccatti se puede usar el mismo metodo usado en el LQR.
Capıtulo 7
Modelos de procesos y
perturbaciones
7.1. Introduccion
En este capıtulo se expondran diversos tipos de formas de modelar perturbaciones
y procesos cuya evolucion 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 reves.
En la teorıa clasica del control automatico siempre se ha tenido en cuenta el com-
portamiento de los sistemas frente a perturbaciones a la hora de disenar sistemas de
control. Dichas perturbaciones se modelaban siempre de manera muy simplificada. Es
por tanto comun en esta teorıa el considerar que las perturbaciones van a tener la
forma de
Pulsos.
Escalones.
Rampas.
Sinusoides.
Todos estos modelos tienen en comun que son absolutamente predecibles en su evolu-
cion en funcion de las condiciones iniciales. Es decir, en cuanto la perturbacion aparece
123
124 PERTURBACIONES DETERMINISTAS A TROZOS
podemos predecir su evolucion futura. Es una suposicion comun en estos casos, consi–
derar que estas perturbaciones vienen generadas por sistemas dinamicos.
7.2. Perturbaciones deterministas a trozos
Como fuente de perturbaciones con una mayor variabilidad que los modelos clasicos
antes comentados, se pueden considerar las perturbaciones deterministas a trozos. Sur-
gen de la necesidad de estudiar el efecto de perturbaciones mas realistas en sistemas
de control que se basan en algun tipo de esquema predictivo para calcular la senal
de control. En este tipo de sistemas, el considerar una perturbacion absolutamente
predecible (como en el caso de los modelos clasicos) no tiene utilidad alguna, pues se
pueden considerar directamente en el calculo de la ley de control.
Los modelos de perturbaciones deterministas a trozos parten de la suposicion de
que son generados por un sistema lineal, en el que la entrada es cero excepto en ciertos
instantes de tiempo separados por mas de n tiempos de muestreo, donde n es el orden
del sistema:
y(k) =C(z−1)
A(z−1)w(k)
suponiendose 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 estan separados, quiere decir que la
senal w(k) es un tren de pulsos. La amplitud y momento de aparicion 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 evolucion de la
salida y(k) es perfectamente predecible pues la dinamica del sistema es conocida. De
ahı el nombre de determinista a trozos.
7.3. Procesos estocasticos
Es natural utilizar el concepto de aleatorio o estocastico1 para describir una amplia
clase de perturbaciones, suficientemente realistas para formular problemas de predic-
cion con postulados cercanos a la realidad.
1Estocastico: relativo a una variable aleatoria; algo que sigue una determinada distribucion deprobabilidad, usualmente con varianza finita.
CAPITULO 7. MODELOS DE PROCESOS Y PERTURBACIONES 125
El concepto de proceso estocastico es complejo y alcanza su madurez en los trabajos
de Kolmogorov (1930). Aquı presentaremos solo algunas ideas basicas. Un proceso
estocastico puede ser considerado como una funcion 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 = w0 y dejamos la variable t libre, lo que
denotaremos como
X(:, w0)
estaremos hablando de una ((realizacion)) del proceso. Esta realizacion es una funcion
temporal comun sin ningun tipo de caracter 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 evolucion del
proceso esta dictada por un generador de senales aleatorias. En la figura 7.1 se ilustran
estos conceptos. Puede observarse que el valor de la funcion 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 realizacion no es mas que una funcion comun que
depende de t.
t0 t1 t2 t3 t4
w=w0
......
Figura 7.1: Procesos estocasticos: realizaciones y variables aleatorias.
Definicion 7.1 Se denomina proceso estocastico determinista, a aquel cuya evolucion
puede ser predicha exactamente con un predictor lineal 2 en base a medidas pasadas.
En estos procesos, el caracter estocastico solo se manifiesta en la aleatoriedad de las
condiciones iniciales. Para aplicaciones basadas en prediccion no son muy interesantes.
2Es decir, haciendo evolucionar hacia delante un modelo lineal.
126 MODELOS DE PROCESOS CON RUIDOS
Definicion 7.2 Se denomina proceso estocastico estacionario, a aquel cuya distribu-
cion estadıstica para X(t1), X(t2),. . . ,X(tn) es la misma que para X(t1 + τ), X(t2 +
τ),. . . ,X(tn + τ). Es decir, su distribucion no varıa con el tiempo.
Definicion 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 distribucion es identica. Se suele suponer que
E {x(k)} = 0
es decir, que el valor esperado es cero y ademas
E {x(i)x(j)} =
{0 si i 6= j (por ser variables independientes)
σ2 si i = j
Al ruido blanco se le suele considerar prototipo de una senal impredecible.
7.4. Modelos de procesos con ruidos
En esta seccion veremos como se pueden generar diversos tipos de procesos es-
tocasticos, cuando a un sistema lineal se le inyecta un ruido blanco v(k) ademas de
una entrada externa u(k) a traves de sendas funciones de transferencia.
El caso mas 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)( )( 11−
−zD zC)( )( 11−
−zA zB ∑v(k)
u(k)
y(k)
Figura 7.2: Modelo de Box-Jenkins.
simplificaciones de las cuales veremos a continuacion las mas comunes:
CAPITULO 7. MODELOS DE PROCESOS Y PERTURBACIONES 127
Modelo de Media Movil (MA : Moving Average). Es el caso mas sencillo y viene
descrito por
y(k) = v(k) + c1v(k − 1) + c2v(k − 2) + · · ·+ cnv(k − n)
Con este modelo se pueden describir muchos tipos de perturbaciones aleato-
rias. Sin embargo, no incluye a los valores pasados de la salida por lo que no
servira para modelar procesos que tengan dinamica.
Modelo Autoregresivo (AR). Viene descrito por
y(k) + d1y(k − 1) + d2y(k − 2) + · · ·+ dny(k − n) = v(k)
En este caso, la parte aleatoria correspondiente a la perturbacion tiene una es-
tructura muy simple porque no depende de los valores pasados.
Modelo Autoregresivo de Media Movil (ARMA). Es la combinacion de los dos
anteriores, por lo que tomara la forma
y(k) + d1y(k − 1) + · · ·+ dny(k − n) = v(k) + c1v(k − 1)
+c2v(k − 2) + · · ·+ cnv(k − n)
Este modelo permite describir procesos mas 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 Movil con una entrada exogena (ARMAX). Tam-
bien llamado modelo CARMA (Controlled ARMA). Viene descrito por
y(k) + a1y(k − 1) + · · ·+ any(k − n) = b1u(k − 1) + · · ·+ bnu(k − n)
+v(k) + c1v(k − 1) + · · ·+ cnv(k − n)
Modelo Autoregresivo con entrada exogena para mınimos cuadrados (ARX-LS ).
Este modelo surge como version 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) + a1y(k − 1) + · · ·+ any(k − n) = b1u(k − 1) + · · ·+ bnu(k − n) + v(k)
Como su nombre indica se utiliza en la identificacion por el metodo de los mınimos
cuadrados (vease el tema 9).
128 MODELOS DE PROCESOS CON RUIDOS
Modelo Autoregresivo de Media Movil integrada y con una entrada exogena
(ARIMAX o CARIMA). Este modelo incorpora un integrador en la fuente de
perturbaciones, por lo que viene descrito por
y(k) + a1y(k − 1) + · · ·+ any(k − n) = b1u(k − 1) + · · ·+ bnu(k − n)
+v(k) + c1v(k − 1) + · · ·+ cnv(k − n)
∆
donde ∆ = 1−z−1. Este tipo de modelos es util en esquemas de control predictivo
para formular leyes de control que incorporen un efecto integral, de manera que
sean capaces de rechazar perturbaciones en escalon.
Los modelos anteriores pueden escribirse en forma condensada utilizando polinomios
en z−1 tal y como se muestra en la siguiente tabla resumen:
Modelo Expresion
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)
ARIMAX A(z−1)y(k) = B(z−1)u(k − 1) + C(z−1)v(k)∆
Cuando en los modelos anteriores el polinomio que convoluciona con la senal v(k) es
distinto de la unidad se habla de ruido coloreado, y en caso contrario, de ruido blanco.
Capıtulo 8
Introduccion a la identificacion de
sistemas
8.1. Introduccion
Un modelo de un proceso es una forma de resumir el conocimiento que se tiene
sobre su dinamica, y por tanto es una herramienta importante en el diseno y analisis
de sistemas de control. Sin embargo, al construir modelos estamos obteniendo repre-
sentaciones simplificadas de la dinamica real del proceso. Un solo modelo no suele ser
suficiente para describir un proceso. Por otra parte, segun sea el uso destinado al mod-
elo este debera 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 construccion de un modelo: obtenerlo mediante
principios y leyes fısicas que describan la dinamica del proceso, o bien obtenerlo me-
diante experimentacion sobre el proceso que se quiere modelar. La primera opcion
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
identificacion de sistemas. Esta estrategia sera el objeto de este tema.
129
130 IDEAS BASICAS SOBRE IDENTIFICACION DE SISTEMAS
8.2. Ideas basicas sobre identificacion de sistemas
La identificacion de sistemas es la aproximacion experimental al modelado de sis-
temas. Consiste en obtener un modelo a partir de observaciones obtenidas directamente
del propio sistema que se pretende modelar. La identificacion de un sistema conlleva
una serie de actividades y herramientas, de las que podemos destacar:
Planificacion de los experimentos.
Seleccion del tipo de modelo.
Eleccion de un criterio para expresar la bondad del modelo que se va a obtener.
Estimacion de los parametros del modelo.
Validacion del modelo obtenido.
A continuacion, se iran desglosando las principales ideas de cada uno de estos aspectos.
8.2.1. Planificacion de los experimentos
Dado que la identificacion de sistemas involucra experimentar con el proceso a mod-
elar, es necesario tener en cuenta que, en general, es muy costoso experimentar con pro-
cesos industriales. Por tanto, es necesario elegir una tecnica que nos sea lo mas rentable
desde el punto de vista del tipo de experimentos necesarios. Algunas tecnicas son muy
sencillas, en el sentido de que una vez hecho el experimento es facil obtener el modelo.
Estas tecnicas, sin embargo, requieren que en los experimentos se utilicen senales 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 economicos. Otras tecnicas de identificacion pueden emplear
casi cualquier tipo de senal de entrada (es decir, son menos exigentes en el tipo de
experimentos necesarios), pero una vez realizado el experimento es mas complicado
obtener el modelo. Como comentario general, es necesario que en el experimento se
utilicen senales de entrada que exciten todos los modos del sistema. Mas alla de eso,
un buen metodo de identificacion 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
CAPITULO 8. INTRODUCCION A LA IDENTIFICACION DE SISTEMAS 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. Tambien, si los
lazos de control son demasiado simples. En general, cuanto mas complejos sean los
lazos de control y mas se mueva la consigna, mas facil sera la identificacion en bucle
cerrado.
8.2.2. Seleccion del tipo de modelo
En teorıa, la seleccion 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 identificacion porque no se estarıan haciendo experimentos).
Modelos de Caja Negra. En estos modelos se postula una estructura matematica
con una serie de parametros 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.
Tambien se pueden clasificar los tipos de modelos en parametricos y no parametri-
cos. En los primeros se tienen una serie de parametros que hay que ajustar. Por ejemplo,
en una funcion 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 situacion pero
con las matrices del sistema. En los modelos no parametricos, el modelo no tiene una
serie de parametros que definen la dinamica sino que se compone de una cantidad de
informacion sobre la misma, por ejemplo los modelos basados en la respuesta en fre-
cuencia de un sistema. En el caso que aquı nos ocupa los modelos que emplearemos
seran de caja negra y parametricos.
132 IDEAS BASICAS SOBRE IDENTIFICACION DE SISTEMAS
8.2.3. Eleccion de un criterio
En el proceso de estimacion del modelo y su subsiguiente validacion 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:
J(θ) =N∑
k=1
g(e(k))
donde θ es el vector de parametros que se trata de ajustar, e(k) es el error de estimacion
para la medida k, N es el numero de observaciones o medidas disponibles y g(·) es una
funcion usualmente cuadratica.
Usualmente, el proceso de ajuste del modelo se realiza de manera que se busca el
valor del vector de parametros θ que hace mınimo al ındice o criterio J(θ). El metodo
mas 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 estocasticos, el
problema es de estimacion estadıstica. Un metodo muy popular en este caso, es el del
estimador de maxima verosimilitud.
8.2.4. Estimacion de los parametros
Para resolver el problema de estimacion de los parametros del modelo se requiere
de los elementos comentados anteriormente: datos experimentales, un tipo de modelo
y un criterio. Estimar los parametros es resolver un problema de optimizacion en el
cual, el mejor modelo es el que hace mınimo el criterio. Es necesario tener en cuenta
que el modelo obtenido dependera de los elementos anteriores, como por ejemplo de la
amplitud y contenido frecuencial de la senal de entrada. Hay diversas formas de llevar
a cabo el proceso de estimacion. Una distincion amplia, es aquella que distingue entre
identificacion en lınea e identificacion fuera de lınea.
8.2.4.1. Identificacion en lınea
En los metodos de identificacion en lınea la estimacion se efectua usando medidas
que se van obteniendo en tiempo real, y normalmente se usan calculos recursivos.
El esquema de este tipo de identificacion serıa el mostrado en la figura 8.1. En este
esquema aparece un nivel de supervision que es necesario para evitar, por ejemplo, que
CAPITULO 8. INTRODUCCION A LA IDENTIFICACION DE SISTEMAS 133
PLANTAu(k) y(k)
IDENTIFICACIÓN
SUPERVISIÓN
MODELOACTUALIZADO
MODELOCORREGIDO
Figura 8.1: Esquema de la identificacion 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 metodo suele ser el unico
apropiado cuando se pretende usar una estrategia de control adaptativo, o el proceso
varıa su dinamica con el tiempo.
8.2.4.2. Identificacion 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 mas precisos y son mas fiables en cuanto
a la convergencia de los parametros estimados a los parametros reales del proceso1. En
cualquier caso, existe un consenso general en que no existe un metodo universalmente
bueno, por tanto, dependiendo de la situacion unos funcionaran mejor que otros.
8.2.5. Validacion del modelo
La validacion del modelo consiste en comprobar la bondad del modelo que se ha
obtenido por el proceso de identificacion. Una tecnica muy comun para comprobar la
bondad de un modelo identificado es la validacion cruzada.
1Notese que aunque el proceso real no correspondera en general exactamente con el modelo (puestodo modelo implica un cierto grado de simplificacion de la realidad) se asume que existe un valor delvector de parametros que es el que mejor describe al proceso.
134 IDEAS BASICAS SOBRE IDENTIFICACION DE SISTEMAS
La idea del metodo de validacion cruzada es dividir el conjunto de datos disponible
en dos partes o subconjuntos:
Conjunto de estimacion. Es usado para estimar el modelo mediante la resolucion
de un problema de optimizacion, de tal manera que el vector de parametros
estimados sobre el conjunto de estimacion θCE serıa
θCE = arg mınθ
VCE(θ, CE)
donde VCE es el criterio de estimacion.
Conjunto de prueba o validacion. Con este modelo se evalua el estimador obtenido
mediante un criterio de prueba, que puede ser el mismo que el usado en la esti-
macion u otro distinto:
FCE = VCP(θCE, CP)
La idea tras el concepto de validacion del modelo es estimar distintos tipos de modelos
(por ejemplo con distintos ordenes) y quedarse con el que mejor ajusta (es decir, el que
de menor FCE). Mediante esta tecnica de validacion 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 estimacion.
Como se ha comentado anteriormente, el criterio VCP no tiene por que ser el mismo
que el VCE. Por ejemplo, se puede usar como criterio para validacion el conocido criterio
de Akaike o criterio AIC (Akaike’s Information Criterion), el cual asumiendo que las
perturbaciones siguen una distribucion gaussiana se calcula mediante la formula
VCP(θ, CP) =
(1 +
2dimension(θ)
N
)1
N
N∑t=1
e2(t, θ)
donde e(t, θ) = y(t) − y(t, θ) es el error de estimacion para los datos obtenidos en el
instante t.
Tampoco puede descartarse la posibilidad de no usar criterio de validacion alguno y
efectuar una inspeccion visual sobre una simulacion, en la que se usa el modelo estimado
para predecir la salida en base a datos de entradas experimentales.
Finalmente, la tecnica de validacion cruzada, aunque muy popular no es la unica.
Otra tecnica que a veces se utiliza es el analisis 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
CAPITULO 8. INTRODUCCION A LA IDENTIFICACION DE SISTEMAS 135
de la informacion 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 correlacion 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 dinamica del
proceso.
8.2.6. Resumen del proceso de identificacion
El proceso de identificacion de un sistema rara vez se concluye con la sola ejecucion
de los pasos anteriormente descritos. En lugar de esto, se realizan numerosas repeti-
ciones de esta secuencia de pasos, a veces variandose el tipo de modelo, o repitiendose
los experimentos hasta que se obtenga un buen modelo. Por tanto, podemos ver el
proceso de identificacion como un metodo 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 DEDATOS
ELEGIR ESTRUCTURA DELMODELO
AJUSTAR MODELO
VALIDAR MODELO
¿ VALIDO ?NO
SI
USAR MODELO
Figura 8.2: Diagrama de flujo del proceso de identificacion.
pueda retornar a cualquiera de las pasos intermedios, indica que puede que en cada
136 ALGUNAS PROPIEDADES
iteracion 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 manipu-
lar los datos de manera que sean apropiados para el metodo de ajuste elegido. Es algo
que es especıfico para cada procedimiento. Ası por ejemplo, una tarea muy comun de
acondicionamiento de datos es la eliminacion de los valores de continua de las senales
de entrada y salida. Esto sera tratado en mayor profundidad en el tema 9. Finalmente,
en el caso de la identificacion en linea el proceso es mas simple, ya que por ejemplo
no es posible cambiar la estructura del modelo sin descartar el resultado que se ha
obtenido hasta ese momento. Ademas, los datos se toman segun van llegando, pues
recordemos que en este tipo de identificacion la identificacion se hace como su propio
nombre indica en tiempo real, es decir, ((en lınea)).
8.3. Algunas propiedades
En esta seccion, veremos algunas propiedades relacionadas con la identificacion de
sistemas. Concretamente se trataran los conceptos de excitacion persistente, convergen-
cia e identificabilidad. Ademas, se veran las tareas de supervision y acondicionamiento
que aparecen en las figuras 8.1 y 8.2.
8.3.1. Excitacion persistente
Se ha comentado en la seccion 8.2.1, que para poder identificar correctamente un
sistema la senal de entrada debe excitar (es decir, poner de manifiesto) todos los modos
del sistema (toda su dinamica). Formalmente, se dice que si el sistema es de orden n
se deberıa contar con una senal persistentemente excitadora de orden n.
Se puede probar que una senal de entrada u(k) es persistentemente excitadora de
orden n, sı y solo sı se cumple que
lımN→∞
1
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 senales mas comunes:
Pulso: no excita persistentemente para ningun orden n.
CAPITULO 8. INTRODUCCION A LA IDENTIFICACION DE SISTEMAS 137
Escalon: excita persistentemente para orden 1.
Ruido blanco: excita persistentemente para todo orden n.
Esto quiere decir que el ruido blanco serıa una senal de entrada muy buena para identi-
ficar sistemas. En la practica, sin embargo, es muy difıcil obtener una senal de entrada
que se comporte como un ruido blanco ideal, porque es muy difıcil obtener una se-
cuencia de valores puramente aleatorios. Es posible obtener sin embargo, secuencias de
valores seudoaleatorios, por lo que en la practica 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. Notese que los escalones no tienen por que tener
amplitud unitaria, el concepto de binario se refiere solamente a dos niveles de entrada
distintos. Por otra parte, la aleatoriedad esta en la duracion de los escalones y en el
momento de aparicion de los mismos.
0 20 40 60 80 100 120 140 160 180 2003
3.5
4
4.5
5
5.5
6
6.5
intervalos de muestreo
volta
je
Figura 8.3: Ejemplo de senal de entrada del tipo PRBSS.
8.3.2. Convergencia e identificabilidad
Se dice que un sistema es identificable cuando usando un metodo de identificacion
adecuado se tiene que
lımN→∞
E(θ)) = θ0
y ademas la salida obtenida mediante el modelo estimado es posible. Es decir, para
un sistema identificable el valor del vector de parametros estimado convergera con un
numero de observaciones suficientes al valor real de esos parametros. 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 senal de entrada y la de salida deben ser conocidos.
Si el sistema es de orden n, la senal de entrada debe ser persistentemente excita-
dora 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 matematica) del error en k debe ser cero, es decir
E{e(k)} = 0.
Finalmente, la convergencia tambien depende de los valores iniciales del esti-
mador.
8.3.2.1. Identificacion en bucle cerrado
Como se comento en la seccion 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 regu-
lador lineal y ademas no se emplean senales externas (a modo de perturbaciones) para
excitar toda la dinamica del sistema. Existen una serie de condiciones para establecer
la identificabilidad de un sistema en bucle cerrado. Supongase 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 ma, mb, mc respectivamente. Supongase ademas que el sistema esta gobernado por
un regulador que toma la expresion:
u(t) = −Q(z−1)
P (z−1)y(t)
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.
CAPITULO 8. INTRODUCCION A LA IDENTIFICACION DE SISTEMAS 139
Primera condicion de identificabilidad en bucle cerrado
Los ordenes del modelo del proceso y de las perturbaciones deben ser conocidos con
exactitud.
Segunda condicion 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
max(w −mb, d + v −ma) ≥ p
Si esto no se cumpliese, la solucion pasa por fijar alguno de los parametros del modelo
a fin de bajar los grados ma o mb. Si fuera factible aumentar el retraso, tambien
podrıa usarse esto para lograr la identificabilidad en bucle cerrado. Notese que por
estos procedimientos lo que se consigue es que el proceso de identificacion converja a
un valor del vector de parametros 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 ningun otro.
Un caso comun es que p = 0 y ma = mb = n, por lo que esta condicion se puede
expresar como
max(w, v + d) ≥ n
Ejemplo 8.1
Supongamos que ma = mb = n y que
u(k) = − G(z−1)
zB(z−1)F (z−1)y(k)
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 condicion de identificabilidad serıa que
max(n + d− 1, n− 1 + d) ≥ n
Esto implica que para que el sistema sea identificable en bucle cerrado, d ≥ 1. Otra
solucion serıa fijar un parametro. ¤
140 ALGUNAS PROPIEDADES
8.3.3. Niveles de supervision y acondicionamiento
En la identificacion en lınea es habitual introducir un nivel de supervision y tratamien-
to de las senales a fin de evitar que se produzcan situaciones que desestabilicen la
identificacion, es decir, que el valor del vector de parametros 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 parametros estimados.
Acondicionamiento de senales: eliminacion de los valores de continua y escalado
de las variables.
Supervisar que la evolucion de los parametros este dentro de unos rangos deter-
minados.
Monitorizar otros elementos del algoritmo de identificacion.
Monitorizar la introduccion de riqueza dinamica al sistema: paradas temporales
del identificador e inyeccion de perturbaciones.
Capıtulo 9
Identificacion por mınimos
cuadrados
9.1. El metodo de los mınimos cuadrados
Este metodo permite la identificacion en tiempo real de modelos con el unico req-
uisito de que estos sean lineales en los parametros. Esto incluye, por tanto, a modelos
lineales y no lineales que sean lineales en los parametros. El mayor interes practico re-
side, sin embargo, en la identificacion de los primeros, dado que son los mas utilizados
en control.
Considerese el siguiente modelo parametrico lineal monovariable1:
y(k) + a1y(k − 1) + · · ·+ any(k − n) = b1u(k − 1) + · · ·+ bnu(k − n) (9.1)
Notese que este modelo es determinista en el sentido de que no considera ruidos aleato-
rios como en los modelos vistos en el tema 7. Es inmediato comprobar que este modelo
corresponde a la siguiente funcion de transferencia:
G(z−1) =b1z
−1 + · · ·+ bnz−n
1 + a1z−1 + · · ·+ anz−n
El modelo (9.1) se puede reescribir como:
y(k) = m(k)θ (9.2)
1Este metodo se puede aplicar sin cambios conceptuales a modelos multivariables. Sin embargo porsimplicidad nos ceniremos al caso de modelos monovariables.
141
142 EL METODO DE LOS MINIMOS CUADRADOS
donde el vector
m(k) =[ −y(k − 1) · · · −y(k − n) u(k − 1) · · · u(k − n)
](9.3)
es llamado regresor y
θ =[
a1 · · · an b1 · · · bn
]T
es el vector de parametros . Dado un valor del vector de parametros θ, el error de
prediccion para el instante k sera
e(k, θ) = y(k)− y(k) = y(k)−m(k)θ
Notese que conocido el valor de los valores presentes y pasados de la salida y la entrada,
la expresion (9.2) es una ecuacion en las que las 2n incognitas son los parametros que
forman θ. Si el proceso a identificar correspondiese exactamente con un modelo como
(9.1) se podrıa determinar el valor del vector de parametros 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 metodo 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 estimacion) 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 solucion y el error de prediccion
alcanzado serıa cero para todas las medidas del conjunto de estimacion. Sin embargo,
en la practica el proceso no se puede describir a la perfeccion mediante un modelo lineal
del tipo (9.1) por lo que el sistema de ecuaciones no tiene solucion en el sentido de que
no existe un valor del vector de parametros que haga que el error de prediccion sea cero
para todas las medidas del conjunto de estimacion. Es decir, el sistema de ecuaciones
es incompatible. Sin embargo si se puede encontrar un valor del vector de parametros
que haga mınimo el error de prediccion, de manera mas precisa que haga mınima la
suma de los cuadrados de los errores de prediccion del conjunto de estimacion. Esta es
precisamente la estrategia del metodo 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, θ) =[
e(n, θ) · · · e(N, θ)]T
Y (N) =[
y(n) · · · y(N)]T
2En un contexto matematico se dirıa que el vector de parametros que se calcula es la pseudosolucionen el sentido de los mınimos cuadrados de un sistema sobredeterminado incompatible.
CAPITULO 9. IDENTIFICACION POR MINIMOS CUADRADOS 143
y la matriz M(N) esta formada por los regresores correspondientes, es decir
M(N) =
m(n)...
m(N)
Se define el ındice de bondad de ajuste como
J(θ) = ‖E(N, θ)‖2 =N∑
k=n
e2(k, θ)
Este ındice lo podemos reescribir como
J(θ) = (Y (N)−M(N)θ)T (Y (N)−M(N)θ)
El mınimo valor de J(θ) se dara en el valor del vector de parametros que cumpla que
dJ(θ)
dθ= 0
es decir,
2(M(N)θ − Y (N))T M(N) = 0
de donde se obtiene que el valor del vector de parametros que hace mınimo el ındice
de bondad de ajuste es
θ∗ = [MT (N)M(N)]−1MT (N)Y (N) (9.4)
y ese es por tanto el valor del vector de parametros del modelo identificado.
Notese que para que el problema de identificacion tenga solucion la matriz [MT (N)M(N)]
tiene que ser invertible al igual que M(N). Sin entrar en demasiados detalles, tal condi-
cion se verifica cuando la entrada cumple las condiciones de excitacion persistente del
sistema. Se debera acudir por tanto a senales de entrada parecidas al ruido blanco (ver
tema 8).
9.2. Algoritmo recursivo para identificacion en lin-
ea
La expresion (9.4) implica la inversion de una matriz que puede tener unas dimen-
siones apreciables, tanto mas si se tiene en cuenta que para identificar correctamente
144 ALGORITMO RECURSIVO PARA IDENTIFICACION EN LINEA
un sistema se deben tener suficientes medidas para eliminar el efecto de ruidos y per-
turbaciones ajenas a la dinamica del sistema. Intentar efectuar estos calculos en linea
es bastante ambicioso para el hardware de control habitual3. Por tanto este algoritmo
se destina a la identificacion fuera de linea. En linea se emplea otro procedimiento que
se muestra a continuacion.
La estimacion para el instante k usando las medidas obtenidas desde el instante n
vendra dada por
θ(k) = [MT (k)M(k)]−1MT (k)Y (k)
= P (k)MT (k)Y (k)
= P (k)(MT (k − 1)Y (k − 1) + mT (k)y(k))
(9.5)
donde
P (k) = [MT (k)M(k)]−1 =
[k∑
i=n
mT (i)m(i)
]−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
MT (k − 1)Y (k − 1) = P−1(k − 1)θ(k − 1)
= P−1(k)θ(k − 1)−mT (k)m(k)θ(k − 1)
Combinando las dos ultimas expresiones con (9.5) se obtiene
θ(k) = θ(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))
(9.6)
donde K(k) = P (k)mT (k). Por tanto θ(k) se puede expresar en forma recursiva, es
decir en funcion del valor del estimador en el instante anterior mas un termino corrector
que consiste en el error de prediccion en el instante actual cometido por el estimador
calculado en el instante anterior multiplicado por una ganancia de adaptacion 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 parametros θ.
3Tengase en cuenta que el hardware industrial no se renueva tan rapidamente como el usadoen informatica personal y que ademas tampoco se incorporan las ultimas tecnologias con la mismarapidez.
CAPITULO 9. IDENTIFICACION POR MINIMOS CUADRADOS 145
2. En cada instante k
a) Leer los valores de y(k) y u(k).
b) Formar el vector regresor m(k) segun la expresion (9.3).
c) Calcular P (k) mediante
P (k) = P (k − 1)− P (k − 1)mT (k)m(k)P (k − 1)
1 + m(k)P (k − 1)mT (k)
d) Calcular K(k) segun la expresion
K(k) = P (k)mT (k)
e) Calcular θ(k):
θ(k) = θ(k − 1) + K(k)[y(k)−m(k)θ(k − 1)]
Este algoritmo puede intepretarse graficamente como se ilustra en la figura 9.1.
PLANTA
FORMARREGRESOR
ALGORITMORECURSIVO
Z-1
Σ
+
- (k)y1)(ky +
y(k)u(k) e(k) P(k)(k) K(k) θ
Figura 9.1: Diagrama de flujo del proceso de identificacion mediante mınimos cuadrados recursivos.
9.3. Interpretacion estadıstica
En esta seccion se presentan las propiedades estadısticas del estimador obtenido
por el metodo de mınimos cuadrados en funcion de las caracterısticas del proceso que
se trata de identificar.
146 INTERPRETACION ESTADISTICA
Supongase que el proceso que se pretende modelar responde bien a un modelo
ARMAX o bien a un modelo ARX-LS (vease la seccion 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 senal
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 parametros
θ∗ que consideraremos como verdadero. Es decir
y(k) = mT (k)θ∗ + C(z−1)v(k)
Resulta muy interesante saber si al aplicar el metodo de los mınimos cuadrados, el
vector de parametros estimados θ(k) coincide con θ∗. Dado que θ(k) es una variable
aleatoria estudiaremos su valor esperado, es decir su esperanza matematica. Se define
el sesgo de la estimacion como
θ = E{
θ(k)}− θ∗
es decir como la diferencia entre el valor esperado de θ(k) y el valor ((verdadero)) θ∗. Se
comprueba que
θ = E{[MT (k)M(k)]−1MT (k)V (k)
}(9.7)
donde V (K) es una matriz donde la fila correspondiente al instante k esta formada por
los valores v(k),· · ·,v(k − cn). Notese ademas 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 expresion (9.3)).
Considerese el caso del modelo ARMAX. Claramente existe relacion entre los com-
ponentes de la matriz M(k) y V (k). En efecto, la matriz de regresores esta formada por
valores de la salida y la entrada. Los primeros dependen de los valores de la senal de
ruido y los segundos son deterministas, por lo que existe una correlacion entre la matriz
M(k) y V (K). Por lo tanto tambien existe esa correlacion entre [MT (k)M(k)]−1MT (k)
y V (k). Eso implica que segun la expresion (9.7) θ es distinto de cero. Por tanto no
esta garantizada la convergencia del vector de parametros estimados con el ((real)).
CAPITULO 9. IDENTIFICACION POR MINIMOS CUADRADOS 147
La situacion 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 esta 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 parametros, es decir
E{
θ(k)}
= θ∗
Por otra parte, el hecho que de que el proceso responda a uno u otro tipo de
modelo tiene una interpretacion fısica inmediata. En el caso del proceso ARMAX el
ruido presenta una cierta dinamica , mientras que en el caso del ARX-LS el ruido no
presenta dinamica alguna y responde unicamente a un ruido proveniente del sensor
de medida. Es en este ultimo caso cuando el metodo de mınimos cuadrados produce
estimaciones consistentes.
Otra propiedad que resulta interesante conocer es la varianza del estimador. Clara-
mente interesa que esta varianza sea pequena o por lo menos que disminuya conforme
se acumulan medidas disponibles para usarlas en la estimacion. De esa manera, el vec-
tor de parametros estimados estara con seguridad cerca del vector real. La varianza del
estimador se puede calcular como
varianza(θ(k)) = E{
(θ(k)− θ∗)T (θ(k)− θ∗)}
= σ2P (k)
donde σ = E{v(i)v(j)} para i = j. Notese que para que la varianza sea pequena
interesa que P (k) sea ((pequena)) o que al menos decrezca a medida de que k aumenta.
Una medida del tamano de P (k) es su traza, por lo que se usa como una medida de la
exactitud de la estimacion, de manera que se busca que la traza vaya decreciendo.
Esta interpretacion estadistica del tamano de P (k) tambien proporciona una regla
para dar un valor inicial a la matriz P (k). En efecto, en general no se tendra demasiada
confianza en que el valor inicial del vector de parametros estimados, por lo que se
escogera una matriz P (0) ((grande)) para reflejar esa desconfianza, por ejemplo P (0) =
pI donde p es un numero muy alto (por ejemplo 10000). Este numero sera mas pequeno
si se sabe que el valor inicial del vector de parametros esta cerca de θ∗.
Por otra parte, es evidente que a medida que el numero de observaciones N crece
la sumaN∑
k=n
mT (k)m(k)
148 MINIMOS CUADRADOS PONDERADOS
crece. Recuerdese que, segun se definio en la seccion 9.2
P (k) =
(k∑
i=n
mT (i)m(i)
)−1
lo que implica que a medida que N crece P decrece. Se puede demostrar que si el
tamano del regresor no cambia demasiado P decrece como 1N
. Esto quiere decir que la
incertidumbre en la estimacion decrece, es decir, que cada vez se obtiene un estimador
mas cercano al valor real. Ademas la ganacia de adaptacion K(k) tambien decrece
(vease su definicion en la seccion 9.2) lo cual es congruente con el hecho de que cuanto
mas exacta es la estimacion menos correccion de su valor se necesita. Esto es bueno
si la dinamica del proceso no cambia con el tiempo, pero si esto no es ası habra que
modificar este esquema.
9.4. Mınimos cuadrados ponderados
A veces es conveniente dar mas peso a algunas medidas que a otras en la esti-
macion. Por ejemplo si se identifica un proceso cuya dinamica cambia con el tiempo
interesara dar mas peso a las medidas mas recientes, pues estas seran las que reflejen la
dinamica mas actualizada. Para conseguir esto hay que modificar el ındice de bondad
de ajuste, de manera que se use
J(θ) = E(N, θ)T W (N)E(N, θ)‖2 =N∑
k=n
w(k)e2(k, θ)
siendo W (N) la matriz diagonal de pesos
W (N) =
w(n). . .
w(N)
La solucion del problema de ajuste es en este caso
θ∗ = [MT (N)W (N)M(N)]−1MT (N)W (N)Y (N) (9.8)
El esquema de ponderacion mas habitual es el llamado olvido exponencial . En este
caso
w(k) = λN−K
CAPITULO 9. IDENTIFICACION POR MINIMOS CUADRADOS 149
, donde λ ∈ (0, 1) es el llamado factor de olvido. Es facil entender por que se le llama
olvido exponencial: el peso dado a la medida disminuye exponencialmente cuanto mas
antigua sea. De esta manera las medidas muy antiguas se olvidan, pues su peso es tan
pequeno que es como si no se contribuyesen a la estimacion. 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 dinamica del proceso cambie muy rapidamente se
puede optar por valores mas bajos (por ejemplo, λ = 0,95).
En el caso de la tecnica de olvido la formulacion recursiva puede aplicarse modifi-
cando las expresiones para el calculo de P (k) de manera que:
P (k) =P (k − 1)
λ− P (k − 1)mT (k)m(k)P (k − 1)
λ + m(k)P (k − 1)mT (k)
Puede observarse que, dado que K(k) = P (k)mT (k), la ganancia de adaptacion K(k)
depende de λ y a menor λ mayor ganancia de adaptacion. Esto quiere decir que a menor
λ mejor se adaptara la identificacion a una dinamica cambiante, ya que se considerarıa
en la optimizacion solo la informacion mas reciente.
Sin embargo si en el sistema o en las medidas hay mucho ruido, es conveniente
que la dinamica se identifique sobre un conjunto amplio de medidas ya que si no se
identificarıa el ruido mas que la dinamica del proceso. Por tanto en estos casos conviene
que λ no sea muy pequeno. Por tanto hay que llegar a un compromiso entre la capacidad
de seguir una dinamica cambiante y el rechazo del ruido en la identificacion.
9.5. Mınimos cuadrados extendidos y generalizados
Segun se explico en la seccion 9.3 el estimador obtenido mediante mınimos cuadra-
dos es insesgado si el proceso responde a un modelo ARX-LS, pero no si responde a
un modelo ARMAX. En la practica, si la relacion senal-ruido es baja el proceso ha de
modelarse con un modelo de perturbaciones mas complejo que el del ARX-LS ya que
la senal de ruido y su influencia sobre la dinamica son importantes. En estos casos se
debe recurrir a un modelo ARMAX.
El metodo de los mınimos cuadrados extendidos trata de resolver el problema del
sesgo en la estimacion de modelos ARMAX. La solucion es incluir los coeficientes del
polinomio C(z−1) en el vector de parametros del estimador, es decir
θ =[
a1 · · · an b1 · · · bn c1 · · · cn
]T
150 ESTIMACION DE LOS VALORES DE CONTINUA
Sin embargo, los valores pasados de la senal 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
prediccion, es decir
e(k) = y(k)−m(k)θ(k − 1)
Si el proceso coincidiera exactamente con el modelo para algun valor del vector de
parametros, entonces si los parametros evolucionasen en la direccion correcta la aprox-
imacion de los valores de los ruidos por los errores cada vez serıa mas correcta y
eventualmente se igualarıan, es decir v(k) = e(k). El regresor se formara 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 lin-
ea como en linea. Con este metodo se consiguen estimaciones insesgadas y consistentes
para procesos que respondan como un modelo ARMAX. Los problemas son un aumen-
to de la carga de calculo y una menor velocidad de convergencia en los parametros ci
debido a que la senal de ruido no es la mas preponderante.
Finalmente, existe otra variante de los mınimos cuadrados que son los mınimos
cuadrados generalizados. Sin entrar en demasiados detalles, esta formulacion se usa
cuando se tiene algun conocimiento del valor real del polinomio C(z−1) o de la matriz
P (matriz de covarianza). En este caso si la matriz N definida como
N = E{vvT
}
es distinta de la matriz identidad se obtienen mejores resultados si el criterio que se
utiliza es
J(θ) =∑
eT (k, θ)N−1e(k, θ)
9.6. Estimacion 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 senal y eliminarlos
de las medidas usadas en la identificacion. Es decir para identificar un proceso hay que
utilizar senales 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 senales. Para estimar dichos valores existen diversas
opciones.
CAPITULO 9. IDENTIFICACION POR MINIMOS CUADRADOS 151
9.6.1. Utilizacion de los incrementos de las variables
En este caso se toman los incrementos de las senales, es decir
uID(k) = u(k)− u(k − 1) = (U(k)− U∞)− (U(k − 1)− U∞) = U(k)− U(k − 1)
donde la senal uID(k) es la senal de entrada que se utiliza en la identificacion. 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 tendra que deshacer si
lo que se quiere son los valores no incrementales de dichas senales.
9.6.2. Calculo de los valores medios
La idea es aproximar los valores de continua por los valores medios de las senales.
En el caso de la formulacion fuera de linea estos valores medios se calculan mediante
las expresiones tradicionales, es decir
U∞ =1
N
N∑i=1
u(i) Y∞ =1
N
N∑i=1
y(i)
para la identificacion en linea, es decir mediante algoritmos recursivos, se emplean las
siguientes expresiones
U∞(k) = U∞(k − 1) +1
k(U(k)− U∞(k − 1))
Y∞(k) = Y∞(k − 1) +1
k(Y (k)− Y∞(k − 1))
9.6.3. Estimacion 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) = −a1Y (k − 1)− · · · − anY (k − n)
+b1U(k − d− 1) + · · ·+ bnU(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 parametros se incluye K
θ =[
a1 · · · an b1 · · · bn K]T
y en el regresor se incluye un 1
m(k) =[ −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 expresion (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 practica 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 estimacion del
orden del modelo por defecto (incurriendose en lo que se llama infraparametrizacion)
o por exceso (sobreparametrizacion).
Veamos que ocurre cuando se intenta aproximar un sistema por un modelo de
orden inferior. Si esto sucede se llega a una situacion 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 identificacion la senal de entrada cambia su contenido
frecuencial, el modelo estimado (es decir su vector de parametros) evoluciona hasta
aproximar al sistema en torno a la nueva banda de frecuencias. Todo esto implica que
se obtendra un modelo distinto dependiendo de la senal 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
CAPITULO 9. IDENTIFICACION POR MINIMOS CUADRADOS 153
10−1
100
101
−40
−30
−20
−10
0
10
20
ampl
itud
dB
10−1
100
101
−250
−200
−150
−100
−50
0
frecuencia rad/s
desf
ase
(gra
dos)
Figura 9.2: Diagrama de Bode de un sistema de segundo orden (linea continua) y de un modelo deprimer orden estimado para una entrada senoidal de frecuencia ω = 0,2 rad× s−1.
10−1
100
101
−40
−30
−20
−10
0
10
20
ampl
itud
dB
10−1
100
101
−250
−200
−150
−100
−50
0
frecuencia rad/s
desf
ase
(gra
dos)
Figura 9.3: Misma situacion que en la figura 9.2 pero con una senal de entrada senoidal de frecuenciaω = 1 rad× s−1.
154 IMPORTANCIA DEL ORDEN DEL MODELO
el modelo obtenido no es sino una aproximacion 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 infraparametrizacion, parecerıa logico que
resulte mejor sobreestimar el orden del modelo para evitar el continuo cambio de los
parametros del modelo estimado. Sin embargo esto no es una buena idea, pues puede
ocurrir que haya parametros del modelo estimado que puedan tomar cualquier valor sin
que cambie la relacion que liga las entradas del modelo con las salidas. Esto se manifiesta
en que algunos parametros experimentan una deriva tomando valores arbitrarios muy
altos o muy bajos. Esto ocasionarıa problemas numericos. Esta situacion se ilustra
en la figura 9.4. En ella se muestra la evolucion de los parametros 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 parametros 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.
0 5 10 15 20 25 30 35 40−1.5
−1
−0.5
0
0.5
1
1.5
u e
y
0 5 10 15 20 25 30 35 40−2
−1.5
−1
−0.5
0
0.5
1
1.5
a i, bi e
stim
ados
tiempo (s)
Figura 9.4: Evolucion de los parametros identificados en un caso de sobreparametrizacion.
Matematicamente el exceso de parametros conduce a una situacion en la que mas
de una combinacion de los valores del vector de parametros producen la misma relacion
entre la entrada y la salida. Por tanto la sobreparametrizacion se manifiesta tambien si
se traza la grafica de un parametro del modelo frente a otros por que aparecen relaciones
lineales. Esta situacion se ilustra en la figura 9.5. En ella se muestran dos ejemplos en
los que se presentan los valores de un parametro en funcion del otro a medida que
el proceso de identificacion avanza. Puede observarse que existe un marcado patron
lineal, que indica una dependencia lineal entre ambos parametros.
CAPITULO 9. IDENTIFICACION POR MINIMOS CUADRADOS 155
−2 −1.8 −1.6 −1.4 −1.2 −1 −0.8 −0.6−0.005
0
0.005
0.01
0.015
0.02
0.025
a1
b 3
k=30
k=100
k=180
−2 −1.8 −1.6 −1.4 −1.2 −1 −0.8 −0.6−0.5
0
0.5
1
1.5
a1
a 2
k=30
k=100
k=180
Figura 9.5: Evolucion de unos parametros frente a otros para el modelo sobreparametrizado.
9.8. Identificacion de sistemas con retardo o no li-
neales
El metodo 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 modificacion cualquiera de los algoritmos de mınimos cuadrados vistos ante-
riormente se puede aplicar a procesos con retardo. El problema estriba en que se ha
de conocer exactamente el retardo (vease tema 8). El metodo usual para conocer este
dato es provocar un cambio en la entrada y observar cuando se manifiesta dicho cam-
bio en la salida (ha de tenerse en cuenta que en todo sistema muestreado los cambios
en la entrada se manifestaran como mucho en el siguiente periodo de muestreo). Este
sencillo esquema se puede complicar por ejemplo si el retardo es variable. Esto es mas
comun de lo que se cree, pues el retardo ası como el resto de parametros 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 pro-
blema es que, aunque los metodos de identificacion 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 trataran 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 expansion de Pade) es mas sencillo y menos problematico emplear si es
posible otro tiempo de muestreo para hacer que el retardo sea entero.
Finalmente se comento al principio del tema que el metodo de mınimos cuadrados
tambien permite la identificacion de sistemas no lineales con la limitacion de que el
modelo a identificar sea lineal en los parametros. 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 parametros serıan
m(k) =[ −y(k − 1) u2(k − 1)
]y θ(k) =
[a b
]T
respectivamente.
9.9. Consideraciones finales
En esta seccion se enunciaran algunas cuestiones practicas a tener en cuenta cuando
se implementa alguno de los algoritmos presentados en este tema. En primer lugar si
no se emplea la tecnica de factor de olvido, la ganancia de adaptacion K(k) decrece
hasta hacerse casi cero, por lo que cuando eso ocurre ya no se pueden seguir cambios
posteriores de la dinamica. Por tanto para identificar sistemas cuya dinamica 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 pequeno cambio de la dinamica 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 identificacion se haga
demasiado sensible al ruido.
Otro aspecto es la eleccion 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 parametros inicial, se propone
elegir P como una matriz diagonal pI siendo p un numero arbitrariamente alto. Por
CAPITULO 9. IDENTIFICACION POR MINIMOS CUADRADOS 157
otra parte si antes de comenzar la identificacion ya se dispone de 2n observaciones,
donde 2n es el numero de parametros a estimar, es posible tomar como valor inicial
P (0) =(MT (2n)M(2n)
)−1
y como valor inicial del vector de parametros 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 estan presentes en muchos sistemas dinamicos
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 quizas 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 valvula de entrada de un quemador de gas.
El retardo viene provocado en este caso por el hecho de que el termopar de medida
esta situado a una distancia apreciable de la salida del intercambiador (se supone que
la tuberıa no tiene perdidas, por lo que la temperatura medida coincide con la de la
salida). Intuitivamente se ve que el retraso en este caso sera
retraso =distancia al sensor
velocidad de transporte del fluido.
De una manera un poco mas formal, el retraso en un sistema dinamico se puede
definir de la siguiente manera:
Definicion 10.1 El retardo de un sistema dinamico se define como el tiempo que
159
160 SISTEMAS CON RETRASO
TTFigura 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 variacion en la salida imputable a la variacion
en la entrada.
La presencia de retrasos en un sistema dinamico o proceso incrementa notablemente la
dificultad de obtener un buen control. El motivo de esto es, como se vera mas adelante,
que el retraso introduce una gran cantidad de retardo de fase en el sistema, incluso
a bajas frecuencia. La postura mas sencilla ante este problema es la de ignorar los
efectos del retraso e intentar encontrar el mejor control posible con un lazo sencillo
de realimentacion. Esta es la postura que se adopta en cursos basicos de control. Esta
estrategia puede funcionar razonablemente bien cuando el retraso es pequeno en com-
paracion con la dinamica del sistema. Sin embargo, cuando los retrasos son apreciables
o incluso dominantes, esta estrategia difıcilmente llevara a un comportamiento acept-
able. La solucion 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
metodos predictivos depende en gran medida de la exactitud del modelo del sistema
que se utilice. Los errores de modelado, especialmente los cometidos en la estimacion
del retraso afectaran a la calidad del control. Dado que estas estructuras son mas com-
plejas, se aconseja su uso cuando la relacion entre el retraso y la dinamica mas lenta
del sistema sea superior a 2.
CAPITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 161C(s) G(s)er(t) y(t)-tms+-Figura 10.2: Sistema de control realimentado para un proceso con retraso tm.
10.1.1. Representacion matematica del retraso
Comenzaremos por indicar cual es la representacion matematica que tiene un de-
terminado tiempo muerto tm en el dominio s, es decir en tiempo continuo1. Supongase
que una determinada funcion gp(t) es igual a otra g(t) pero retrasada un tiempo tm.
Es decir, gp(t) = g(t − tm). Gp(s), es decir la transformada de Laplace de gp(t) se
calculara como:
Gp(s) =
∞∫
0
g(t− tm)e−stdt
Haciendo un cambio de variable t− tm = t′ se tiene que:
Gp(s) =
∞∫
0
g(t′)e−s(t′+tm)dt′ = e−stm
∞∫
0
g(t′)e−st′dt′
es decir
Gp(s) = e−stmG(S). (10.1)
Por tanto, el retraso tm se representa por un termino e−stm que multiplica a la transfor-
mada de Laplace de gp(t). La figura 10.2 muestra la configuracion de un lazo de control
realimentado para un proceso con retraso tm y cuya funcion 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 tendra un
retraso de d periodos de muestreo2. En este caso el retraso se representa por un termino
de la forma z−d, de manera que la funcion de transferencia se representarıa por
Gp(z−1) = z−dG(z−1).
1Todas las estructuras presentadas en este capıtulo estan inicialmente formuladas para sistemas entiempo continuo, pero son facilmente extensibles al caso discreto e implementables en un computador.En el capıtulo se indicaran las diferencias entre ambos casos.
2En caso de que el numero de que el retraso sea un numero no multiplo del periodo de muestreose recomienda cambiar dicho periodo de muestreo para que el retraso sea o bien un multiplo exacto obien la parte fraccionaria sea muy pequena y se pueda despreciar.
162 SISTEMAS CON RETRASO
Frequency (rad/sec)
Pha
se (
deg)
; Mag
nitu
de (
dB)
Diagrama de Bode para e−tm
s
−1
−0.5
0
0.5
1
10−1
100
101
102
−2
−1.5
−1
−0.5
0x 10
4
To:
Y(1
)
tm
=3
tm
=1
tm
=2
Figura 10.3: Diagrama de Bode para distintos valores de un retraso puro e−tms.
10.1.2. Problematica 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 seccion justificaremos este problema. Se comenzara anal-
izando el efecto de sobre la magnitud y fase del sistema. Para un retraso tm, el termino
e−stm que multiplica a G(s) en la expresion (10.1) es un numero complejo igual a e−tmωj
cuyo modulo es siempre 1 independientemente del valor de la frecuencia ω y cuya fase
sera −tmω. Es decir, siempre se introducira un desfase adicional en el sistema, desfase
que sera mayor a mayor frecuencia ω. El retraso sin embargo tiene ganancia 1 y por
tanto no produce amplificacion o atenuacion 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 aparicion 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 intro-
ducido en altas frecuencias. Al introducirse retardo de fase, es evidente que, para un
determinado sistema con retraso, el margen de fase sera menor que para el mismo sis-
tema sin retraso. Esto puede llevar incluso a la perdida de estabilidad en bucle cerrado
del sistema.
Para ilustrar mejor los efectos del retraso sobre un sistema considerese la funcion
CAPITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 163
Frequency (rad/sec)
Pha
se (
deg)
; Mag
nitu
de (
dB)
Diagramas de Bode para distintos valores de tm
−10
0
10
20
10−2
10−1
100
101
−270
−180
−90
0
To:
Y(1
)
tm
=0
tm
=0.01
tm
=0.1
tm
=1
Figura 10.4: Diagrama de Bode para distintos valores de un retraso puro tms para el sistemaC(s)G(s)e−tms con C(s) = 1 y G(s) = 10
1+s .
de transferencia G(s) = 101+s
y un controlador C(s) = K, donde inicialmente K = 1.
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 conseguira que
la grafica 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 sera menor y
eventualmente el margen de fase sera positivo. Esta situacion 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 observacion anterior se puede generalizar de manera que cuando el tiempo muerto
sea elevado en relacion a la dinamica del sistema, se obtendra un mejor control desin-
tonizando el controlador. Esto se puede conseguir por ejemplo bajando la ganancia de
realimentacion o en el caso de un controlador con accion integral usando un tiempo
integral alto. El control mejorara 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
Frequency (rad/sec)
Pha
se (
deg)
; Mag
nitu
de (
dB)
Diagramas de Bode para distintos valores de tm
−15
−10
−5
0
5
10
10−1
100
101
−270
−180
−90
0
To:
Y(1
)
tm
=1 tm
=0.1 tm
=0.01
tm
=0
Figura 10.5: Diagrama de Bode para distintos valores de tms para el sistema de la figura 10.4 conC(s) = 0,2.
CAPITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 165C(s) er(t) -tms+- y(t)G(s) y(t+tm)Figura 10.6: Sistema de control realimentado para un proceso con retraso donde el sensor se hadispuesto antes del retardo.
ciones. En cuanto a la accion derivativa de los controladores PID, no afecta de manera
significativamente favorable.
Finalmente se concluye este breve analisis 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 manifestaran en la variable controlada hasta ese tiempo tm. Esta
situacion 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 mas popular de los algoritmos de control para compen-
sacion de retardos. Aunque desarrollado para sistemas continuos en la decada de 1950,
su implementacion con circuitos analogicos es muy complicada y su para su aplicacion
es mas apropiado el control por computador.
La idea fundamental de la que se parte es la de cambiar la disposicion del sensor que
mide la variable controlada, situandolo antes del retraso puro (vease la figura 10.6. De
esta manera se esta controlando el sistema sin retraso, es decir, se ha sacado el retraso
del bucle de control. La funcion de transferencia de bucle cerrado sera por tanto:
GBC(s) =C(s)G(s)
1 + C(s)G(s)e−tms (10.2)
Es decir la salida del sistema en bucle cerrado sera la salida del sistema sin retraso en
bucle cerrado retrasada un tiempo tm.
166 EL PREDICTOR DE SMITHC(s) G(s)er(t) -tms+- Gm(s) y(t)Figura 10.7: Sistema de control en donde se realimenta la prediccion de la salida mediante un modeloen 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 drastica el retraso de fase, aumentando
el margen de fase, permitiendo una sintonizacion mas apropiada del controlador y
obteniendose por tanto una mejor respuesta y rechazo de perturbaciones. Esto serıa,
por tanto, la solucion ideal al problema de control de sistemas con retraso.
Desgraciadamente en muchos casos no sera posible colocar el sensor antes del re-
traso. Por ejemplo cuando el retraso este asociado al propio sensor (caso de un cro-
matografo). Tambien cuando el proceso sea de parametros distribuidos de manera que
la variable y(t + tm) no sea posible medirla y haya de ser estimada mediante un algo-
ritmo que tiene un tiempo de ejecucion 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 mas 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 rapido))
del proceso. La prediccion 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 prediccion de y(t + tm)
efectuada en tiempo t mediante el modelo Gm(s). Los valores de la senal de control
calculados mediante C(s) se aplican directamente al proceso. Esta estructura tendrıa
como funcion de transferencia de bucle cerrado la expresion:
GBC(s) =C(s)G(s)
1 + C(s)Gm(s)e−tms (10.3)
En el caso de que el modelo del proceso sin retardo fuera perfecto, es decir Gm(s) =
G(s), claramente la funcion de transferencia (10.3) es entonces igual a la de (10.2).
3Notese que en tiempo t + tm lo que hay en la salida del sistema es lo que habıa en tiempo t a lasalida de G(s) antes del retraso, es decir y(t + tm) es la salida sin retraso.
CAPITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 167C(s) G(s)er(t) -tms+- Gm(s) y(t)e-t’ms+ + +-u(t) y(t+tm|t) y(t|t)e(t)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 posicion del sensor. Esta situacion no se dara en la realidad, por que
siempre habra errores de modelado.
Notese que la estructura de control de la figura 10.7 es esencialmente una estructura
de control en bucle abierto, por que no se esta haciendo uso del valor de la variable
controlada y(t). Por tanto no sera capaz de hacer frente a perturbaciones o errores de
modelado. No se esta aprovechando el valor de y(t) para, por ejemplo, determinar los
errores de prediccion cometidos al usar el ((modelo rapido)). 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 rapido)) retrasada un tiempo t′m (donde t′m es la estimacion
del valor del retraso tm), obteniendose por tanto una estimacion de y(t) (que se puede
denotar por y(t|t)). La comparacion permite obtener una senal de error de prediccion
e(t) = y(t)− y(t|t) que se suma a la prediccion de y(t + tm), de manera que los que se
realimenta es y(t + tm|t) + e(t).
Ademas del ((modelo rapido)) Gm(s), en el Predictor de Smith se tiene el ((modelo
de planta)) cuya funcion de transferencia es Gm(s)e−t′ms. La funcion de transferencia
de bucle cerrado cuando el ((modelo de planta)) es perfecto, es decir Gm(s)e−t′ms =
G(s)e−tms coincide con la de la ecuacion (10.2). Por tanto esta funcion 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
Frequency (rad/sec)
Pha
se (
deg)
; Mag
nitu
de (
dB)
−20
0
20
40
60
10−3
10−2
10−1
100
−270
−180
−90
0
Figura 10.9: Bode de C(s)G(s) para el ejemplo.
En este ejemplo se ilustrara el control de sistemas con retraso y el uso del Predictor de
Smith. Considerese el siguiente sistema:
G(s) =1
1 + 10se−20s
En primer lugar se considera un lazo de realimentacion simple, en este caso con un PI,
disenado 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
5
1 + 10s
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 inducira la inestabilidad del
sistema en bucle cerrado.
La solucion 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 sera inestable.
Como es logico la respuesta en bucle cerrado no sera la esperada, como se ilustra en
la figura 10.11. Puede observarse que la respuesta es muy oscilatoria, prueba del escaso
margen de fase.
CAPITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 169
Frequency (rad/sec)
Pha
se (
deg)
; Mag
nitu
de (
dB)
−40
−20
0
20
40
10−3
10−2
10−1
100
−270
−180
−90
0
Figura 10.10: Bode de C(s)G(s) para el ejemplo, desintonizando el controlador de manera que laganancia sea cuatro veces menor.
0 50 100 150 200 250 300 350 4000
0.5
1
1.5
t
Figura 10.11: Respuesta del sistema en bucle cerrado con el controlador desintonizado de manera quela ganancia sea cuatro veces menor.
170 EL PREDICTOR DE SMITH
0 50 100 150 200 250 300 350 4000
0.5
1
1.5
t
Figura 10.12: Respuesta del sistema en bucle cerrado con el predictor de smith (trazo solido) com-parada con la del lazo simple (trazo discontinuo).
La figura 10.12 muestra la evolucion 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 matematicos siempre presen-
tan diferencias con la dinamica real del proceso. Esas diferencias son imputables a la
propia simplificacion tıpica de los modelos, o tambien por errores en la identificacion
de los parametros o bien por que la dinamica del proceso ha cambiado desde que se
obtuvo el modelo. En esta seccion analizaremos brevemente la influencia de los errores
de modelado sobre la funcion de bucle cerrado cuando se usa el Predictor de Smith.
Para ello se emplea el ((modelo de planta)) es decir Gm(s)et′ms en comparacion con la
CAPITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 171
dinamica real de la planta que es G(s)e−tms4. La diferencia sera:
∆G(s) = G(s)e−tms −Gm(s)e−t′ms
La funcion de transferencia de bucle cerrado del sistema sera:
GBC(s) =
C(s)1+C(s)Gm(s)
1 + C(s)1+C(s)Gm(s)
∆G(s)G(s)e−tms (10.4)
En caso de no existir errores de modelado, es decir ∆G(s) = 0 la funcion de transfe-
rencia de bucle cerrado coincide con la del proceso controlado sin retraso seguido del
retraso. Reordenando la expresion (10.4) se tiene:
GBC(s) =C(s)G(s)
1 + C(s)Gm(s) + C(s)∆G(s)e−tms (10.5)
La diferencia entre esta funcion de transferencia y la correspondiente al sistema sin
errores de modelado esta en el termino C(s)∆G(s). Este termino 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
tambien del controlador disenado. Claramente cuando el termino ∆G(s) sea grande, el
controlador C(s) debera ser ((pequeno)) (es decir poca ganancia) para que el termino
C(s)∆G(s) afecte poco. En general los errores de modelado limitan la ganancia del
controlador, ya que los efectos del termino 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, considerese la figura 10.13.
En ella se muestra la salida del sistema del ejemplo 10.2 cuando se cometen diversos
errores de estimacion en el retardo del sistema. Como se ve, los errores de modelado
separan a la respuesta del sistema de la respuesta ideal, provocando la aparicion de
oscilaciones y un mayor tiempo de amortiguamiento.
10.2.2. El Predictor PI
El Predictor PI es una simplificacion del Predictor de Smith que se suele usar en
aquellos procesos cuya dinamica viene dominada fundamentalmente por el retraso.
Son procesos en los que la constante de tiempo es sustancialmente mas pequena que el
retraso. En estos casos lo que se hace es despreciar la dinamica del sistema y considerar
que se comporta como puna ganancia mas un retraso, es decir el ((modelo de planta))
4Evidentemente aquı se esta suponiendo que existe un modelo lineal con retraso que describeperfectamente al proceso.
172 EL PREDICTOR DE SMITH
0 20 40 60 80 100 120 140 160 180 2000
0.2
0.4
0.6
0.8
1
1.2
−10%
−20%
+10%
+20%
Figura 10.13: Respuestas del sistema en bucle cerrado con el predictor de smith cuando se tienendiversos errores en la estimacion del retardo.C(s) G(s)er(t) -tms+- Kp y(t)e-tms+ + +-u(t) y(t+tm|t) y(t|t)e(t)
Figura 10.14: Estructura del Predictor PI.
que se utiliza sera Kpe−t′ms. Dicho de otra manera, el ((modelo rapido)) sera Gm(s) = Kp.
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 discre-
to
El Predictor de Smith es directamente aplicable al caso discreto. Como se ha co-
mentado, el retardo puro se expresa como z−d, donde d es el numero de periodos de
muestreo que comprende el retardo. Por lo demas la estructura es la misma, con el
logico cambio de funciones de transferencia en tiempo continuo por sus equivalentes en
tiempo discreto.
CAPITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 173
En tiempo discreto el Predictor de Smith se programara en un computador digital.
En la figura 10.15 se indica de manera esquematica 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 senal de control durante un cierto tiempo, pasado el cual, la respuesta recupera su
sentido habitual. Es decir, si la senal de control se incrementa en un escalon, durante
un cierto tiempo la respuesta sera de manera que la variable de salida se decrementara.
Pasado ese tiempo, la salida comienza a incrementarse.
La razon fısica tras este comportamiento es que el cambio en la variable manipula-
da pone en marcha dos fenomenos fısicos de consecuencias opuestas sobre la variable
controlada, uno rapido pero poco intenso, y otro lento pero mas intenso, que es el que
finalmente predomina.
Podemos considerar que la funcion de transferencia se puede expresar como la suma
de otras dos que representan ambos fenomenos opuestos:
G(s) = G1(s) + G2(s)
174 CONTROL DE SISTEMAS CON RESPUESTA INVERSA
Supondremos que ambas funciones se corresponden con sistemas de primer orden:
G1(s) =K1
1 + τ1sG2(s) =
−K2
1 + τ2s
Observese que el caracter opuesto de ambos fenomenos se manifiesta en las ganancias
de signo opuesto. La funcion de transferencia completa es:
G(s) =K1
1 + τ1s− K2
1 + τ2s
que se puede escribir como:
G(s) =(K1τ2 −K2τ1)s + (K1 −K2)
(1 + τ1s)(1 + τ2s)
En G(S) encontramos los polos correspondientes a ambos fenomenos y ademas un cero
cuyo valor es:
c = − K1 −K2
K1τ2 −K2τ1
Para que el proceso sea de fase no mınima, el cero debe ser inestable, es decir positivo,
lo cual sucedera cuando K1 > K2 y τ1 À τ2 o tambien cuando K2 > K1 y τ2 À τ1.
Fısicamente, la respuesta inversa se producira cuando el efecto mas intenso sea a la vez
el mas 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 accion derivativa en los PID. Sin embargo el efecto
derivativo es tambien beneficioso, pues la primera parte de la respuesta inversa se puede
asimilar a un retardo y es sabido que para sistemas con retraso la accion derivativa es
positiva (solo cuando el retardo es pequeno).
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 apropia-
da para controlar este tipo de sistemas. Una estructura propuesta para este tipo de
sistemas se muestra en la figura 10.16.
Observese que en esta estructura, de manera analoga 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 realimentacion de
la respuesta inversa. Para ello, el predictor toma la forma:
G(s) = k
(1
1 + τ1s− 1
1 + τ2s
)(10.6)
CAPITULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 175
C(s)r(t) +- y(t)+-u(t)
e(t)1
1
s1K
τ+
2
2
s1K-
τ+
++ +−
+ 21 s11
s11
kττ
Figura 10.16: Estructura de control para procesos con respuesta inversa.
El resultado de esta estrategia en comparacion 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
0 10 20 30 40 50 60 70 80
−0.5
0
0.5
1
1.5
2
t
Figura 10.17: Ejemplo de control de un sistema de fase no mınima con un PI usando un lazo simplede realimentacion (trazo discontinuo) y la estructura de control para procesos con respuesta inversapropuesta en la figura 10.16.
Capıtulo 11
Control de procesos con
perturbaciones medibles
11.1. Introduccion
En este capıtulo y el siguiente se expondran tecnicas o estructuras de control avan-
zadas que son bastante utiles en control de procesos. Ambos capıtulos tienen en comun
que las tecnicas que se exponen utilizan variables adicionales a la entrada y salida del
proceso que es lo que hasta ahora se ha usado unicamente.
La primera de las tecnicas que se expondran en este capıtulo es el control en cascada.
Esta tecnica utiliza la medida de variables internas para detectar rapidamente el efecto
de perturbaciones a la entrada del sistema y poder ası iniciar antes la accion correctora.
Fısicamente esta estrategia conlleva el uso de varios lazos de realimentacion anidados,
de ahı el nombre.
Ademas 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 mas
rapidamente posible el efecto de perturbaciones a la salida del proceso.
177
178 CONTROL EN CASCADA
C(s) G(s)+- V(s)PSalida del controlador (porcentajede apertura, etc…) Actuación que realmenterecibe la planta (caudal,etc…) afectada por PDinámica o característicainstalada del actuadorFigura 11.1: Ejemplo de sistema con perturbacion a la entrada.
11.2. Control en cascada
En muchos procesos es posible medir variables internas que permiten detectar per-
turbaciones 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 perturbacion o error sobre la salida.
Uno de los casos mas frecuentes es el de las perturbaciones a la entrada que inciden
sobre los actuadores. El efecto de una perturbacion sobre los actuadores es el de variar
la magnitud de la accion esperada por el controlador para un determinado nivel de la
senal de entrada. De este modo, la accion 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 valvula, una perturbacion sobre la dinamica
o caracterıstica de la valvula harıa que para un mismo porcentaje de apertura, el
flujo o caudal variase desviandose del esperado. En este razonamiento se esta haciendo
mencion explıcita al hecho de que los actuadores tienen su propia dinamica, y por tanto
se pueden representar por su propia funcion de transferencia. La dinamica del actuador
sera por lo general mas rapida que la del proceso, y en algunos casos la diferencia
sera tal que se pueda ignorar su efecto o considerarlo subsumido en la dinamica de la
planta. Cuando el actuador esta sometido a perturbaciones es conveniente considerarlo
como un elemento autonomo como se ilustra en la figura 11.1. En ella puede observarse
la dinamica del actuador V (s), interpuesta entre las del controlador C(s) y la planta
propiamente dicha, G(s). Puede observarse ademas una perturbacion que incide sobre el
actuador, de manera que la actuacion que realmente recibe la planta estara perturbada
por P .
¿Como se comporta la estructura de control de la figura 11.1 ante el efecto de la
perturbacion P? Es evidente que P afecta a la senal de control, y que esa desviacion
se manifestara en una desviacion en la salida al cabo de un cierto tiempo. Una vez se
CAPITULO 11. CONTROL DE PROCESOS CON PERTURBACIONES MEDIBLES 179
CM(s) G(s)+- V(s)PCS(s)+ -Figura 11.2: Ejemplo de sistema con perturbacion a la entrada.
detecte esta variacion, el controlador actuara sobre el proceso para corregir la desviacion
de la salida. El problema es el tiempo que pasa entre que se produce la perturbacion
sobre el actuador hasta que esta se manifiesta en todo su efecto sobre la salida del
proceso. Durante todo ese tiempo, la perturbacion ha estado acumulando un exceso
o defecto de energıa o masa aportada al sistema. Esta acumulacion sera 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 perturbacion 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 actuacion 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 mas habitual es medir directa-
mente la actuacion que realmente se aplica o al menos estimarla de manera indirecta.
La estructura de control en cascada se implementa mediante un lazo de reali-
mentacion interno en el que la posicion del actuador es la variable manipulada y la
actuacion 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 mas interno se llama lazo secundario o esclavo (slave) mientras que el externo
recibe el nombre de lazo primario o maestro (master). Esta tecnica tambien 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 facil de entender. El control secundario
180 CONTROL EN CASCADA
se encarga de corregir el efecto de las perturbaciones sobre la dinamica del actuador, de
manera que la actuacion 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 perturbacion en la
entrada provoque un error que al acumularse en el tiempo se manifieste con una gran
desviacion 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 opcion de configuracion 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 mas rapido (o a lo mas igual) que el lazo externo. Esto es debido a que solo si el
lazo interno es mas rapido que el externo se podra actuar con la suficiente celeridad
para evitar que se acumule el efecto de la perturbacion 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. Sintonizacion de controladores en cascada
El procedimiento a seguir para la sintonizacion de este tipo de controladores pasa
por advertir, que, en primer lugar se ha de sintonizar el lazo secundario y despues
sintonizar el primario con el secundario en automatico. Los pasos serıan los siguientes:
1. Obtener un modelo de la parte del proceso a controlar por el lazo secundario
(veanse los capıtulos 7 a 9).
2. Sintonizar el controlador esclavo por cualquiera de los metodos aplicables y pasar-
lo a automatico. Es usual emplear un PI en este caso a fin de obtener una respuesta
rapida.
3. Obtener un modelo de la variable controlada (es decir la salida) frente a cambios
en la consigna del controlador esclavo que debera estar en automatico.
CAPITULO 11. CONTROL DE PROCESOS CON PERTURBACIONES MEDIBLES 181
4. Sintonizar el controlador maestro por cualquier metodo 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 desviacion con respecto al punto de consigna el sistema de control actua
sobre el proceso para corregirla. Es importante hacer notar que ese esfuerzo corrector
se realiza despues de haber sido detectado el efecto de la perturbacion sobre la salida.
Esta forma de actuacion implica, por tanto, un cierto retraso en la accion correctiva y
puede hacer pensar que el control no serıa todo lo eficiente que se desea.
La idea basica del control anticipativo (tambien llamado control en adelanto o
control por prealimentacion (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 perturbacion 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 tentacion 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 practica esto no funciona por las siguientes razones:
No es posible medir todas las perturbaciones que afectan a la salida.
Siempre existira un error en la medida de las perturbaciones.
El modelo del proceso y el de las perturbaciones siempre tendra errores de mod-
elado.
A veces el controlador anticipativo resultante no es realizable. Esto sucede cuando
el retraso entre la perturbacion y la salida es inferior al que hay entre la salida y
la entrada (este caso se comentara mas 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 mas
182 CONTROL ANTICIPATIVO
Gp(s) GD(s)U(s)D(s)
Y(s)+ +Figura 11.3: Ejemplo de sistema con perturbacion a la salida.
Gp(s) GD(s)U(s)D(s)
Y(s)+ +C(s)RefFigura 11.4: Sistema con perturbacion a la salida controlado con un lazo simple de realimentacion.
importantes y mejor modeladas, dejandose al control realimentado la tarea de cancelar
las demas. El control resultante no sera perfecto, pero sera mejor que usando un lazo
de realimentacion simple.
Como ya se ha dicho este tipo de estrategia de control se emplea cuando hay per-
turbaciones que afectan a la salida que pueden ser medidas. Esta situacion se describe
en la figura 11.3. De acuerdo a ese diagrama de bloques, la funcion de la salida se puede
escribir como:
Y (s) = Gp(s)U(s) + Gd(s)D(s)
El esquema clasico de control es el que se muestra en la figura 11.4. Es decir, en
esta configuracion no se hace nada de manera especıfica para combatir el efecto de la
perturbacion sobre la salida. El unico efecto corrector es el que proporciona de manera
intrınseca la realimentacion.
El control anticipativo utiliza la medida de los valores de la perturbacion para
actuar sobre la variable manipulada tal y como se indica en la figura 11.5. La actuacion
CAPITULO 11. CONTROL DE PROCESOS CON PERTURBACIONES MEDIBLES 183
Gp(s) GD(s)U(s)D(s)
Y(s)+ +GFF(s)+ +Figura 11.5: Sistema con perturbacion a la salida controlado con un control anticipativo.
sobre el proceso viene determinada por la funcion de transferencia GFF (s) y el propio
valor medido de la perturbacion. Evidentemente GFF (s) es disenada de manera que
compense el efecto que sobre la salida tiene la perturbacion, es decir que compense el
efecto introducido por GD(s).
Cuando se usa el control anticipativo, la relacion entre la salida y la perturbacion
se puede expresar como:
Y (s) = (GD(s) + GP (s)GFF (s)) F (s)
Notese que para que GFF (s) anule completamente el efecto de la perturbacion se debe
verificar que:
GD(s) + GP (s)GFF (s) = 0
De manera que el valor apropiado de GFF (s) resulta ser:
GFF (s) = −GD(s)
GP (s)(11.1)
Finalmente, la estructura de control propuesta para el control anticipativo es clara-
mente una estructura de control en bucle abierto, por lo que cualquier discrepancia
entre el modelo del efecto de la perturbacion y dicho efecto evitarıa la cancelacion
perfecta de la perturbacion. La solucion 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 practicas sobre los controladores an-
ticipativos
Como se ha comentado antes, el control anticipativo para un determinado sistema
obtenido mediante la expresion (11.1) puede resultar no realizable fısicamente. A con-
184 CONTROL ANTICIPATIVO
Gp(s) GD(s)U(s)D(s)
Y(s)+ +GFF(s)C(s) +++ -Ref U1 U2Figura 11.6: Sistema con perturbacion a la salida controlado con un control anticipativo con controlrealimentado.
tinuacion se mostrara un caso en el que esto ocurre. Considerense los siguientes valores
para GD(s) y GP (s):
GD(s) =KD
1 + τDse−tmDs
GP (s) =KP
1 + τP se−tmP s
El controlador anticipativo resultante es:
GFF (s) = −KD
KP
1 + τP s
1 + τDse−(tmD−tmP )s
Esta expresion solo sera realizable si el retraso puro que aparece es positivo, es decir si
(tmD − tmP ) ≥ 0. En el caso de que tmD < tmP esta funcion de transferencia incorpo-
rarıa un adelanto en lugar de un retraso que es fısicamente imposible de realizar. Esto
corresponderıa a una situacion en la que el efecto de la perturbacion se transmite mas
rapidamente que el efecto de la variable manipulada lo que evidentemente impide que
se pueda actuar sobre la perturbacion con suficiente tiempo.
Por otra parte la condicion de anular completamente el efecto de la perturbacion
puede ser demasiado estricta, por lo que en la practica se pretende reducir el efecto de
la perturbacion mas que cancerlarla completamente. Una forma de lograr esto es la de
emplear un control anticipativo estatico, que consiste en una simple ganancia calculada
para corregir el efecto de la perturbacion en regimen permanente. Esta ganancia coin-
cide con la ganancia estatica del control anticipativo calculado con la expresion (11.1),
es decir:
lıms→0
GFF (s) = − lıms→0
GD(s)
GP (s)= −KD
KP
Evidentemente este tipo de control solo cancela el efecto del regimen permanente de
las perturbaciones pero ademas reduce el transitorio de las mismas.
Capıtulo 12
Control de procesos multivariables
12.1. Introduccion
Hasta ahora se ha supuesto de manera implıcita que los sistemas a controlar cuentan
tan solo con una entrada y una salida. Las tecnicas de control vistas son por tanto
tecnicas de control SISO (Single Input Single Output). En la practica los sistemas o
plantas a controlar son suficientemente complejos y tienen siempre mas de una variable
controlada (salida) y mas de una variable manipulada (entrada). El uso de controladores
disenados con tecnicas 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 mas de una salida y por que una salida
puede depender de mas de una entrada. La figura 12.1 ilustra este hecho.
Los problemas causados por las interacciones son mas evidentes cuando los lazos de
control estan en automatico, y usualmente se desintonizan los controladores, perdiendo
rapidez y rendimiento en el control a fin de minimizar los efectos de las interacciones.
El mejor metodo 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 vera, al usar
controladores SISO en sistemas multivariables, se obtienen mejores rendimientos si las
entradas se emparejan con las salidas correctas. Otro aspecto que se estudiara en este
capıtulo es el uso de desacopladores, que buscaran eliminar o al menos reducir las
interacciones. La idea tras este metodo es que un sistema multivariable desacoplado
puede ser controlado por controladores SISO en la misma manera que un conjunto de
185
186 SISTEMAS MULTIVARIABLES
0 20 40 60 80 100 120 140 1600
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
u 1 − y
1
0 20 40 60 80 100 120 140 160−0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
u 2 − y
2
Figura 12.1: Respuesta de un sistema multivariable de dos entradas y dos salidas cuando se aplicanescalones en sus entradas. Pueden observarse las interacciones en el hecho de que las salidas varıancuando las entradas respectivas estan en reposo.G11 G12G22 G21U1(s)
U2(s)Y1(s)Y2(s)
+ ++ +Figura 12.2: Representacion de un sistema multivariable de orden 2.
sistemas SISO independientes.
12.2. Sistemas multivariables
Considerese un sistema dinamico 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)
CAPITULO 12. CONTROL DE PROCESOS MULTIVARIABLES 187G11 G12G22 G21U1(s)U2(s)
Y1(s)Y2(s)
GC1GC2 + ++ +
++ -
-R1(s)R2(s)
Figura 12.3: Representacion de un sistema multivariable de orden 2 en bucle cerrado con dos contro-ladores multivariables.
donde
Y(s) =
[y1(s)
y2(s)
]U(s) =
[u1(s)
u2(s)
]
y
M(s) =
[G11(s) G12(s)
G21(s) G22(s)
]
es la matriz de transferencia o tambien llamada matriz de dinamicas .
Supongase que se opta por controlar este sistema con dos controladores SISO
GC1(s), GC2(s) (vease 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 senales de entrada tomarıan como
valores:u1(s) = GC1(s) (r1(s)− y1(s))
u2(s) = GC2(s) (r2(s)− y2(s))(12.3)
El efecto cualitativo de las interacciones se puede analizar si suponemos que se inyecta
una perturbacion en el lazo 1. En este caso el error que introduce la perturbacion
tratara de ser corregido por el controlador GC1 actuando sobre u1. Los cambios en u1
tambien afectaran a y2 a traves de la funcion de transferencia G21, provocando una
desviacion e2. El controlador GC2 tratara de contrarrestar este error e2 modificando
el valor de u2. El cambio de u2 afecta tambien a y1 a traves de G12, por lo que la
perturbacion en el lazo 1 no solo afecta al lazo 2, sino que ademas rebota de nuevo
afectando al lazo 1, a traves de la perturbacion inducida en el lazo 2.
Visto el analisis anterior, es evidente que la interaccion anteriormente descrita se
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. METODO DE BRISTOL
2. G12(s) = 0, u2 no afecta a y1.
3. GC2(s) = 0, es decir, el lazo 2 esta en manual.
Notese que en los casos 2 y 3, la perturbacion del lazo 1 afecta al 2, pero no hay
rebote de nuevo al lazo 1, por lo que se considera que no hay interaccion en estos dos
casos. Cuando no hay interaccion en un sistema multivariable se pueden disenar los
controladores de manera independiente como si se tratase de sistemas monovariables.
El efecto de una perturbacion en un lazo sobre el otro cuando los controladores
estan en automatico es bastante complejo, aunque se puede cuantificar estudiando la
funcion de transferencia por ejemplo entre u1 e y1 cuando:
y1(s)
u1(s)= G11(s)− G12(s)G21(s)GC2(s)
1 + GC2(s)G22(s)(12.4)
Notese que para disenar GC1 habra que tenerse en cuenta el diseno de GC2 (y vicev-
ersa). De hecho, si el controlador GC1 se disena de manera independiente del GC2 (la
forma de conseguir esto serıa sintonizar con el lazo 2 abierto), al ponerse el lazo 2 en
automatico el comportamiento obtenido en el lazo 1 puede ser muy deficiente e incluso
aparecer inestabilidad. Observese de hecho, que el efecto dinamico de la interaccion
puede reducirse desintonizando GC2 es decir reduciendo mucho la ganancia de GC2 de
manera que GC2(s) ≈ 0. Por supuesto esto reducira la capacidad de GC2 para mantener
a y2 en el punto de consigna, por lo que esta solucion solo es valida si el control de la
variable y2 fuese mucho menos prioritario o importante que el de la variable y1.
A modo de conclusion se puede decir que el controlador del lazo 1 debe disenarse con
el lazo 2 en automatico controlado por un controlador GC2 previamente disenado. Dado
que esta discusion es igualmente aplicable a la sintonıa del lazo 2 con respecto al lazo
1, se concluye que solo sintonizando simultaneamente los dos controladores se puede
garantizar un comportamiento aceptable en bucle cerrado. Es evidente que esta tarea
se antoja compleja, especialmente si consideramos sistemas con mas de dos entradas y
salidas.
12.3. Medida de las interacciones. Metodo de Bris-
tol
El metodo de Bristol de las ganancias relativas es una tecnica que permite evaluar
con facilidad las interacciones en regimen permanente y que, en consecuencia, se utiliza
CAPITULO 12. CONTROL DE PROCESOS MULTIVARIABLES 189
para afrontar el problema del emparejamiento entre entradas y salidas en un sistema
multivariable. La idea es que este metodo 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
controlar una salida se debera escoger como entrada aquella que tenga una mayor
influencia en su comportamiento.
Supongase un sistema multivariable con dos entradas y dos salidas, el cual se es-
tabiliza en torno a un punto de equilibrio. Si se introducen cambios en las entradas
(∆u1, ∆u2), estos se manifestaran en las salidas en forma de variaciones (∆y1, ∆y2),
cuyo valor en regimen permanente se pueden calcular como:
∆y1 = ∆y1
∆u1
∣∣∣u2 cte
∆u1 + ∆y1
∆u2
∣∣∣u1 cte
∆u2
∆y2 = ∆y2
∆u1
∣∣∣u2 cte
∆u1 + ∆y2
∆u2
∣∣∣u1 cte
∆u2
(12.5)
Los cocientes incrementales que aparecen en las expresiones anteriores corresponden a
las ganancias estaticas de cada uno de los bloques Gij de la matriz de transferencia
M(s), que se denotaran por Kij de manera que:
K11 = ∆y1
∆u1
∣∣∣u2 cte
K12 = ∆y1
∆u2
∣∣∣u1 cte
K21 = ∆y2
∆u1
∣∣∣u2 cte
K22 = ∆y2
∆u2
∣∣∣u1 cte
(12.6)
Las ganancias estaticas de bucle abierto pueden determinarse facilmente mediante los
modelos del proceso o experimentalmente mediante ensayos en escalon en cada una de
las entradas mientras las restantes se mantienen constantes. Las ganancias estaticas de
bucle abierto definen la influencia de las entradas del sistema sobre sus salidas cuando
este esta en bucle abierto.
Las ganancias de bucle abierto no son una buena eleccion 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 demas lazos de control.
Para analizar que ocurre con la ganancia del sistema cuando se cierran los demas
lazos de control deberemos analizar otras ganancias, definidas de la forma siguiente:
KC11 = ∆y1
∆u1
∣∣∣y2 cte
KC12 = ∆y1
∆u2
∣∣∣y2 cte
KC21 = ∆y2
∆u1
∣∣∣y1 cte
KC22 = ∆y2
∆u2
∣∣∣y1 cte
Las ganancias KCij miden la influencia en regimen permanente de la entrada j sobre
la salida i cuando el resto de las variables de salida permanecen en su valor deseado y
constantes. Notese que aquı las demas salidas estan controladas.
190 MEDIDA DE LAS INTERACCIONES. METODO DE BRISTOL
Le metodo de Bristol utiliza las ganancias relativas definidas como:
λij =Kij
KCij
donde λij es la ganancia relativa entre la salida i y la entrada j. Queda por solventar el
modo de calculo de las ganancias KCij. Estas pueden calcularse a partir de las ganancias
de bucle abierto Kij. Para ello considerese que las ecuaciones (12.5) se pueden reescribir
mediante las definiciones (12.6):
∆y1 = K11∆u1 + K12∆u2
∆y2 = K21∆u1 + K22∆u2(12.7)
Por definicion de KC11 se obtiene:
∆y2 = 0 = K21∆u1 + K22∆u2
Que resuelta para ∆U2 queda:
∆u2 = −K21
K22
∆u1
que sustituido en (12.7) resulta en:
∆y1 = K11∆u1 + K12
(−K21
K22
∆u1
)=
(K11 − K12K21
K22
)∆u1
Por tanto:
KC11 =∆y1
∆u1
∣∣∣∣y2 cte
= K11 − K12K21
K22
=K11K22 −K12K21
K22
Las otras ganancias se pueden calcular de la misma manera resultando:
KC12 =∆y1
∆u2
∣∣∣∣y2 cte
=K12K21 −K11K22
K21
KC21 =∆y2
∆u1
∣∣∣∣y1 cte
=K12K21 −K11K22
K12
KC22 =∆y2
∆u2
∣∣∣∣y1 cte
=K11K22 −K12K21
K11
En general si definimos una matriz de ganancias en bucle abierto como K = [Kij] y la
matriz de ganancias en bucle cerrado como M = [mij] =[
1KCij
]se puede establecer la
relacion:
M =(K−1
)T
CAPITULO 12. CONTROL DE PROCESOS MULTIVARIABLES 191
es decir en el caso de un sistema 2× 2:
[1
KC11
1KC12
1KC21
1KC22
]=
([K11 K12
K21 K22
]−1)T
Por tanto, una vez calculada M = [mij] las ganancias relativas λij se obtienen mediante:
λij =Kij
KCij
= Kijmij
La interpretacion del significado de las ganancias relativas es la de que si la ganancia
de un determinado lazo no se altera por la interaccion de los demas (es decir Kij =
KCij), entonces λij = 1. Por tanto aquellos pares en los que la ganancia relativa es lo
mas 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
Considerese a modo de ejemplo un sistema consistente en un tanque bien aislado donde
se aportan un caudal Q1 de agua fria a temperatura T1 y otro de agua caliente con
caudal Q2 y temperatura T2. El tanque desagua y se pretende que lo haga con un
caudal Q0 y temperatura T0. Las variables que se pueden manipular son los caudales
(es decir Ui = Qi, mientras que las variables a controlar son la temperatura y caudal
de salida. Despreciando perdidas, el permanente (que es lo que interesa en el metodo
de Bristol) vendrıa dado por:
Y1 = U1 + U2 Y2 =U1T1 + U2T2
U1 + U2
Este modelo teorico nos permite calcular las ganancias de bucle abierto usando derivadas:
K11 =∂Y1
∂U1
= 1 K12 =∂Y1
∂U2
= 1
K21 =∂Y2
∂U1
=T1(U1 + U2)− (U1T1 + U2T2)
(U1 + U2)2=
U2(T1 − T2)
(U1 + U2)2
192 CONTROL DE PROCESOS MULTIVARIABLES MEDIANTE DESACOPLO
K22 =∂Y2
∂U2
=T2(U1 + U2)− (U1T1 + U2T2)
(U1 + U2)2=
U1(T2 − T1)
(U1 + U2)2
Suponiendo un punto de funcionamiento con:
U1 = 2 l/s U2 = 1 l/s T1 = 60 ◦C T2 = 30 ◦C
se obtienen los siguientes valores:
K =
[K11 K12
K21 K22
]=
[1 1103
−203
]
de ahı:
M = (K−1)T =
[23
13
110
−110
]
de donde se obtiene que:
Λ =
[23
13
13
23
]
Por lo tanto los emparejamientos mas apropiados son Y1 con U1 y Y2 con U2 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.
Notese que los emparejamientos pueden ser dependientes del punto de operacion.
Efectivamente, si consideramos que
U1 = 1 l/s U2 = 2 l/s
se obtiene
K =
[K11 K12
K21 K22
]=
[1 1203
−103
]
de donde se obtiene que:
Λ =
[13
23
23
13
]
lo que implica en este caso Y1 emparejada con U2 e Y2 emparejada con U1. Es decir en
este caso, al contrario del anterior, la temperatura se regularıa con el caudal de agua
caliente y el caudal de salida con el caudal de agua fria.
12.4. Control de procesos multivariables mediante
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
CAPITULO 12. CONTROL DE PROCESOS MULTIVARIABLES 193
fueran n sistemas monovariables independientes. Por otra parte se ha estudiado un
procedimiento, el metodo de Bristol, para establecer los emparejamientos entradas-
salidas de manera que se minimice el efecto de las interacciones. Sucede, sin embargo,
que a veces, las ganancias relativas obtenidas no estan en ningun caso significativamente
cerca de la unidad. Esto implica que no podremos seleccionar un emparejamiento que
nos garantice que el nivel de interaccion sea lo suficientemente bajo, por lo que el
rendimiento esperado del sistema de control sera pobre. En este caso la solucion pasa
por utilizar una tecnica de desacoplo que haga que la matriz de transferencia del sistema
sea lo mas diagonal posible.
Considerese 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) = Gc(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 ecuacion (12.8):
Y(s) = G(s)Gc(s) (R(s)−H(s)Y(s)) (12.11)
y de ahı:
(I + G(s)Gc(s)H(s))Y(s) = G(s)Gc(s)R(s) (12.12)
Podemos entonces definir la funcion 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 estara desacoplado cuando la Gbc(s) sea diagonal. A
continuacion se estudiaran las condiciones en las que esto se verifica. Supongase que
H(s) = I, entonces:
Gbc(s) = (I + G(s)Gc(s))−1 G(s)Gc(s) (12.14)
194 CONTROL DE PROCESOS MULTIVARIABLES MEDIANTE DESACOPLO
Gcn GGdGC1GCnR(s) E(s) U(s) Y(s)
Figura 12.4: Representacion de un sistema multivariable controlado por desacoplo.
Claramente, G(s)Gc(s) es diagonal entonces Gbc(s) tambien lo sera. Veamos que al
contrario tambien se verifica. Supongase que Gbc(s) es diagonal. De la expresion ante-
rior se tiene que:
Gbc(s) (G(s)Gc(s))−1 = (I + G(s)Gc(s))
−1 (12.15)
lo que implica que:
G(s)Gc(s)Gbc(s)−1 = I + G(s)Gc(s) (12.16)
post-multiplicando 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) = Gbc(s) (I−Gbc(s))−1 (12.18)
En esta expresion, Gbc(s) es diagonal y tambien lo es (I−Gbc(s))−1 por lo que se
puede concluir que G(s)Gc(s) es tambien diagonal. Por tanto, la condicion necesaria
y suficiente para que Gbc(s) sea diagonal es que G(s)Gc(s) lo sea. Notese que esto
ultimo implica que la cadena directa en bucle abierto debe ser diagonal. Si esto se
verifica entonces el proceso de diseno se reduce a sintonizar n lazos monovariables.
En el proceso de diseno por desacoplo se considera que
Gc(s) = Gd(s)Gcn(s) (12.19)
donde Gd(s) es la matriz de desacoplo y Gcn(s) es una matriz diagonal que corre-
sponde a los n reguladores. Es decir, el bucle cerrado desacoplado puede conseguirse
calculando un bloque de desacoplo que diagonalice la matriz de transferencia del sis-
tema y ajustando cada bucle como si fuera un sistema monovariable independiente.
Esta estructura de control se muestra en la figura 12.4.
En el calculo de las matrices de desacoplo puede llegarse a casos en los que las
matrices resultantes sean muy complejas o irrealizables (puede suceder cuando los
retrasos son diferentes).
CAPITULO 12. CONTROL DE PROCESOS MULTIVARIABLES 195
0 20 40 60 80 100 120 140 1600
0.2
0.4
0.6
0.8
1
tiempo
Y1 −
U1
0 20 40 60 80 100 120 140 160−8
−6
−4
−2
0
2
4
tiempo
Y2 −
U2
Figura 12.5: Respuesta del sistema multivariable del ejemplo cuando se aplican escalones en sus en-tradas.
Notese que Gc(s) se puede calcular directamente a partir de G(s) y Gbc(s) mediante
la expresion:
Gc(s) = G(s)−1Gbc(s) (I−Gbc(s))−1 (12.20)
Ejemplo 12.2
Sea el siguiente sistema multivariable:
[Y1(s)
Y2(s)
]=
[1 1103
1+5s
−203
1+5s
][U1(s)
U2(s)
](12.21)
La respuesta en bucle abierto de este sistema se muestra en la figura 12.5. Puede
observarse el acoplamiento existente.
A continuacion se procede a encontrar la matriz de transformacion que nos sirve
para diagonalizar la matriz de transferencia:
[G
I
]=
1 1103
1+5s
−203
1+5s
1 0
0 1
V C2 = C2 − C1 V
1 0103
1+5s
−303
1+5s
1 −1
0 1
V C1 = C1 +
C2
3V
V
1 0
0 −101+5s
23
−113
1
196 CONTROL DE PROCESOS MULTIVARIABLES MEDIANTE DESACOPLO
0 20 40 60 80 100 120 140 1600
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
tiempo
Y1 −
U1
0 20 40 60 80 100 120 140 160−10
−8
−6
−4
−2
0
2
tiempo
Y2 −
U2
Figura 12.6: Respuesta del sistema multivariable desacoplado cuando se aplican escalones en susentradas.
Luego la matriz de desacoplo vale:
Gd(s) =
[23−1
13
1
]
y la matriz de transferencia equivalente al anteponer la Gd(s) serıa:
G(s) =
[1 0
0 −101+5s
]
En la figura 12.6 se muestra la respuesta del sistema con la matriz de desacoplo inter-
puesta. Puede comprobarse que las interacciones han desaparecido.
El diseno de los controladores puede realizarse mediante cualquier metodo conocido
para controladores monovariables. Por ejemplo, si se quiere que el error en regimen
permanente ante escalon sea cero y que la constante de tiempo de bucle cerrado sea
1 segundo para ambos bucles, el diseno serıa como sigue. En primer lugar, Gbc(s) es
igual a:
Gbc(s) =
[1
1+s0
0 11+s
]
Teniendo en cuenta que la funcion de transferencia de bucle abierto del primer lazo es
1:
GBC1 =GC1
1 + GC1
=1
1 + sV 1 + GC1 = GC1(1 + s) V GC1 =
1
s
Por otra parte, dado que la funcion de transferencia de bucle abierto del segundo lazo
es −101+5s
, el diseno del segundo controlador GC2 a partir de la funcion de transferencia
de bucle cerrado deseada serıa:
GBC2 =GC2
−101+5s
1−GC210
1+5s
=1
1 + sV 1−GC2
10
1 + 5s= −GC2
10
1 + 5s(1+s) V GC2 = −1 + 5s
10s
CAPITULO 12. CONTROL DE PROCESOS MULTIVARIABLES 197
0 20 40 60 80 100 120 140 160 180 2000
0.2
0.4
0.6
0.8
1
tiempo
R1 −
Y1
0 20 40 60 80 100 120 140 160 180 2000
0.2
0.4
0.6
0.8
1
tiempo
R2 −
Y2
Figura 12.7: Simulacion del sistema multivariable en bucle cerrado.
En cuanto a las senales de control que realmente se aplican al sistema, estas se
calculan teniendo en cuenta los controladores disenados y la matriz de desacoplo:
U1(s) =2
3se1(s) +
1 + 5s
10se2(s)
U2(s) =1
3se1(s)− 1 + 5s
10se2(s)
En la figura 12.7 se muestra la simulacion del sistema en bucle cerrado. Puede
observarse que el desacoplo propicia que el sistema se comporte como dos lazos inde-
pendientes sin interaccion alguna.
198 CONTROL DE PROCESOS MULTIVARIABLES MEDIANTE DESACOPLO
Capıtulo 13
Introduccion al control adaptativo
13.1. Planteamiento del problema
En el contexto del control automatico el termino adaptativo se refiere a la facultad
de cambiar el comportamiento o parametros del control en respuesta a cambios en las
circunstancias del sistema controlado. Un regulador adaptativo sera aquel que pueda
modificar su comportamiento en respuesta a cambios en la dinamica del sistema y/o en
las perturbaciones a las que se ve sometido dicho sistema. En realidad esto es tambien
lo que se persigue cuando se introduce la realimentacion en un sistema de control. En
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 o tambien cambios en la dinamica del proceso) actuando
de manera que dicho estado o salida se mantenga controlado.
En general se acepta que 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 parametros del
regulador y la escala rapida a la dinamica del bucle ordinario de realimentacion.
La configuracion tıpica de un controlador adaptativo es la que se ilustra en la
figura 13.1. Como se puede observar hay un bucle principal de realimentacion negativa
en el que aparece un regulador ajustable y otro bucle que se utiliza para ajustar los
parametros de dicho regulador. Para ello, se obtiene un cierto ındice de actuacion
en el cual se expresa la bondad o comportamiento del controlador. Dicho ındice de
actuacion se compara con un cierto comportamiento deseado y segun el resultado de
199
200 PLANTEAMIENTO DEL PROBLEMACONTROLADORAJUSTABLE PLANTAMEDIDA DELINDICE DEACTUACIÓNMECANISMO DEADAPTACIÓNDECISIÓNCOMPORTAMIENTO
DESEADO
y
u
+
++-
REFERENCIA
Figura 13.1: Configuracion generica de un controlador adaptativo.
dicha comparacion se ajustan los parametros del regulador. Para ello se utiliza un
mecanismo de adaptacion que en algunos casos (no siempre) tambien puede actuar
directamente sobre la actuacion o senal de control que recibe el proceso. En algunos
casos se anade un tercer bucle que tiene como tarea la supervision 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 parametros del regulador ajustable.
Es facil ver que en el esquema anterior el mecanismo de adaptacion realiza la tarea
de resolver en tiempo real el problema de disenar un regulador apropiado (en el caso
mas sencillo con una estructura predefinida) para un sistema dado de manera que se
cumplan unas determinadas especificaciones de diseno (dadas por el ((comportamiento
deseado))).
Existen otros controladores que proporcionan una cierta capacidad de adaptacion
pero que no encajan en la definicion anterior ya que la adaptacion 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 gain scheduling los cuales se
trataran en la seccion 15.4.
CAPITULO 13. INTRODUCCION AL CONTROL ADAPTATIVO 201
13.1.1. Clasificacion grosso modo 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 parametros del
sistema y las perturbaciones, existe un controlador lineal que hace que el sistema en
bucle cerrado cumpla los requisitos de diseno.
Los MRAC intentan alcanzar un comportamiento en bucle cerrado deseado que
viene especificado por un modelo de referencia. Por otra parte, los STR intentan alcan-
zar un control lo mejor posible (optimo) a partir de un tipo de controlador prefijado y
la informacion obtenida del proceso (senales de entrada, salida, etc. . . ).
Las dos tecnicas tienen sus ventajas e inconvenientes. Las ventajas del MRAC pasan
por una rapida adaptacion y la posibilidad de utilizar formulaciones que garanticen
estabilidad (usando metodos de Lyapunov). Sin embargo, la capacidad de adaptacion
de estas estrategias dependen en gran medida de la riqueza dinamica de la senal de
control (esto es analogo a lo que ocurre en la identificacion de sistemas, vease el tema
8). Por otra parte, los STR se adaptan bien en casi todas las situaciones y son faciles de
implementar pues admiten tecnicas de programacion modular. Sin embargo, tambien
presentan sus propios inconvenientes como se vera mas adelante.
Otra posible clasificacion de los sistemas de control adaptativos es aquella que
atiende a la forma de obtener los parametros del controlador. En este esquema podemos
encontrarnos:
Controladores adaptativos con diseno mediante criterio optimo.
Controladores adaptativos con diseno mediante criterio no optimo.
En los primeros el valor de los parametros se obtiene buscando entre los posibles valores
aquellos que hacen optimo un cierto criterio de comportamiento del sistema. Es decir,
202 JUSTIFICACION DEL USO DE CONTROL ADAPTATIVO
optimizan un criterio de comportamiento o funcionamiento. En este grupo estudiare-
mos los controladores de mınima varianza y mınima varianza generalizado. Tambien
se puede considerar en este grupo el control predictivo basado en modelo (al que dedi-
caremos un amplio capıtulo mas adelante) cuando este tipo de control se utiliza como
controlador ajustable en alguno de los esquemas de control adaptativo referidos al
principio del tema.
Los controladores adaptativos sin criterio optimo buscan los parametros del contro-
lador no mediante la optimizacion de un criterio de funcionamiento sino entre aquellos
que cumplen unas ciertas especificaciones, por ejemplo, la colocacion de los ceros y los
polos de bucle cerrado. En estos esquemas el controlador ajustable puede ser por ejem-
plo un regulador PID, un controlador dead-beat como los estudiados anteriormente o
un controlador por asignacion de polos o de ceros y polos. En tiempo real se resolvera el
problema de disenar dichos controladores, de manera que a pesar de los cambios en el
proceso se sigan cumpliendo las especificaciones de diseno.
13.2. Justificacion del uso de control adaptativo
El control adaptativo conlleva una serie de inconvenientes que pueden hacernos cues-
tionar su uso. Por ejemplo, su sintonıa no suele ser tan sencilla como la de los clasicos
controladores PID. Por tanto, hay que ver en que situaciones puede ser ventajoso su
uso y en que situaciones es mejor quedarse con controladores mas sencillos.
En general un controlador convencional esta pensando para controlar sistemas cuyos
parametros permanecen constantes (es decir, su dinamica no varıa). Esta suposicion se
corresponde mas o menos con la de un sistema que suele operar siempre cerca de un
determinado punto de operacion y cuyas perturbaciones no son grandes (en relacion a
la variable controlada) y no varıan demasiado. Sin embargo, puede suceder que el punto
de trabajo varıe frecuentemente y en algunos sistemas puede suponer una variacion de
su dinamica lo suficientemente importante para afectar al rendimiento del controlador.
Por ejemplo, supongamos un sistema realimentado en el que el actuador presenta una
caracterıstica de transferencia no lineal (figura 13.2). Esta situacion corresponde por
ejemplo a la caracterıstica instalada de un valvula que usualmente suele ser no lineal.
Supongamos que el caudal de salida de la valvula viene dado por una expresion C =
ξ ∗ A4, donde ξ es una cierta constante y A la apertura porcentual de la valvula. En
la figura 13.3 se muestra dicha caracterıstica instalada (trazo solido). A la hora de
disenar el sistema de control se intentarıa obtener un modelo linealizado del actuador,
que evidentemente saldrıa diferente en funcion del punto de operacion. Si el controlador
CAPITULO 13. INTRODUCCION AL CONTROL ADAPTATIVO 203
G(s)f(u)u v+
-
Figura 13.2: Sistema realimentado con actuador con caracterıstica v = f(u).
se ve forzado a trabajar en distintos puntos de operacion su rendimiento no podra ser
igual de bueno en todos, de manera que este esquema ira bien si el punto de operacion no
se mueve demasiado. Una solucion serıa trabajar con un modelo linealizado a tramos
de la caracterıstica de la valvula (figura 13.3 trazo discontinuo), de manera que en
cada punto de funcionamiento el controlador adaptara su comportamiento (variando
sus parametros de diseno) de acuerdo al modelo linealizado que se tenga en cada caso.
En general, cuando la variacion en los parametros del sistema o los actuadores se conoce
0 10 20 30 40 50 60 70 80 90 1000
2
4
6
8
10
12
14
16
apertura (%)
caud
al (
m3 /h
)
Figura 13.3: Sistema realimentado con actuador con caracterıstica v = f(u).
de antemano y ademas se puede establecer una dependencia entre dichos parametros y
el punto de operacion (o una variable auxiliar) se puede recurrir a tecnicas sencillas de
control adaptativo como el gain scheduling (vease la seccion 15.4). En caso contrario
tendrıamos que recurrir a tecnicas mas sofisticadas.
Otro hecho a tener en cuenta es que no siempre es facil juzgar la necesidad o
no de utilizar el control adaptativo. Considerese el sistema dado por la funcion de
transferencia
G(s) =1
(s + 1)(s + a)donde a = −0,01, 0, 0,01 (13.1)
204 JUSTIFICACION DEL USO DE CONTROL ADAPTATIVO
La primera aproximacion a este sistema serıa hallar su respuesta ante escalon, para
los diversos valores de a. Como se ilustra en la figura 13.4 (izquierda), dicha respuesta
varıa mucho en funcion de los valores del parametro 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 configuracion que realmente
nos interesa es la del sistema realimentado. En la figura 13.4 (derecha) se muestra la
respuesta del sistema en bucle cerrado (realimentacion unitaria). En contra de lo que
podrıamos suponer la respuesta en bucle cerrado es mas o menos la misma, por lo que,
siendo esta la configuracion en la que se va a trabajar, no serıa necesario usar control
adaptativo.
0 20 40 60 80 100 120 140 160 180 2000
100
200
300
400
500
600
700Step Response
Time (sec)
Am
plitu
de
0 2 4 6 8 10 120
0.2
0.4
0.6
0.8
1
1.2
1.4Step Response
Time (sec)
Am
plitu
de
Figura 13.4: Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema dado en (13.1).
Es facil poner un ejemplo en el que la situacion sea la inversa de la anterior. Con-
siderese el sistema dado por la funcion de transferencia
G(s) =20(1− Ts)
(s + 1)(s + 20)(Ts + 1)donde T = 0, 0,015, 0,03 (13.2)
En este caso la respuesta en bucle abierto del sistema es muy parecida independiente-
mente 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
funcion del valor de T (figura 13.5 derecha). Es por tanto que en este caso sı estarıa
justificado el uso de tecnicas de control adaptativo. El lector puede comprobar ademas
que no solo hay que juzgar en funcion del comportamiento en bucle cerrado en gen-
eral, sino que hay que tener en cuenta cuales van a ser las condiciones de operacion
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 realimentacion unitaria (esto es,
u = (ref − y)) entonces las respuestas son esencialmente iguales independientemente
del valor de T .
CAPITULO 13. INTRODUCCION AL CONTROL ADAPTATIVO 205
0 1 2 3 4 5 60
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Step Response
Time (sec)
Am
plitu
de
0 0.5 1 1.5 2 2.5 3
0
0.5
1
1.5
Step Response
Time (sec)
Am
plitu
de
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 tecnicas mas 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 con-
trolador ajustable debera adaptar sus parametros para que el modelo de bucle cerrado
del conjunto coincida o se acerque lo mas posible al modelo de referencia. La figura
13.6 muestra la configuracion mas popular (no es la unica 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 adaptacion
es el que se va a encargar de ajustar los parametros del control primario para que la
diferencia entre la salida de la planta y el modelo de referencia sea lo mas pequena
posible (es decir, que independientemente del valor inicial de esa diferencia, esta vaya
tendiendo a cero progresivamente).
Ademas de utilizar las senales tomadas de las salidas de la planta y el modelo,
el mecanismo de adaptacion puede utilizar las senales de entrada, de referencia y si
estuviesen disponible las variables de estado. En suma, toda la informacion disponible
sobre la planta y el comportamiento del sistema en bucle cerrado.
Para disenar un MRAC se ha de definir el modelo de referencia, el controlador y
la ley de adaptacion. 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)
CONTROLADORAJUSTABLE PLANTAMECANISMO DEADAPTACIÓNu+
-
REFERENCIA
yp
MODELO DEREFERENCIA ym
+
-
+
Figura 13.6: Configuracion generica 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 contro-
lador ajustable es capaz de lograr (para alguna combinacion de sus parametros) 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 dinamica muy rapida en comparacion con la de la planta en bucle abierto. Por
supuesto es normal escoger la dinamica de bucle cerrado mas rapida que la de bu-
cle abierto, pero no se puede escoger de manera arbitrariamente rapida, ya que ello
desembocara en problemas de convergencia en los parametros del controlador.
Por otra parte para el controlador primario se puede pensar en casi cualquier es-
tructura de control lineal, incluyendo los populares PI, PID, etc. . . Se deben cumplir
sin embargo varios requisitos, entre ellos que la senal de control debe ser una funcion
lineal de los parametros. Tambien (suponiendose fijado el modelo) se debe escoger un
controlador ajustable que permita reproducir el modelo.
Finalmente, para la ley de adaptacion existen diferentes estrategias en la literatura
de las cuales nombraremos el metodo 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 mas popular, el enfoque de sensibilidad o regla del
MIT.
CAPITULO 13. INTRODUCCION AL CONTROL ADAPTATIVO 207
13.3.1. La regla del MIT
Se basa en un ındice de actuacion, usualmente cuadratico, que mide la bondad de
la adaptacion en base a las discrepancias entre las salidas del modelo y la planta a lo
largo de un intervalo de tiempo:
J(t + T ) =
∫ t+T
t
e2(τ)dτ con e(t) = yproceso(t)− ymodelo(t) (13.3)
donde T es un periodo fijo de tiempo. La idea de la regla del MIT es ajustar el vector
de parametros del controlador en el instante t + T , de manera que haga decrecer J . Es
decir,
θ(t + T ) = θ(t)− Γ∂J
∂θ= θ(t)− Γ
∫ t+T
t
2e(τ)∂e(τ)
∂θdτ (13.4)
donde Γ ∈ Rn×n es una matriz definida positiva que actua como ganancia de adaptacion.
Es facil entender que el controlador solo 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(τ)
∂θ=
∂yproceso(τ)
∂θFinalmente, podemos conocer la variacion instantanea de los parametros del contro-
lador tomando T → 0 en el segundo miembro de (13.4) y teniendo en cuenta lo anterior
se llega adθ
dt= −2Γe(t)
∂yproceso
∂θ(13.5)
Notese que ∂yproceso
∂θrepresenta como varıa la salida del proceso frente a variaciones del
vector de parametros, es decir la sensibilidad de yproceso(t) frente a variaciones de θ, de
ahı el nombre alternativo de ((enfoque de sensibilidad)).
En la practica 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 despues de un tiempo el comportamiento en bucle cerrado del
sistema acaba convergiendo al del modelo de referencia. En cualquier caso, la ganancia
de adaptacion 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 θ seran muy energicas y en
la direccion equivocada).
Finalmente hay que decir que esta regla presenta diversas formulaciones alternati-
vas. De hecho la formulacion original del MIT se basaba en el ındice
J(t) =1
2e2(T )
208 CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC)
que resulta en la regladθ
dt= −γe(t)
∂e(t)
∂θ
y hay otras posibilidades como
J(t) = |e(t)| que resulta endθ
dt= −γ
∂e(t)
∂θsigno(e(t))
o directamente ajustar mediante
dθ
dt= −γ signo
(∂e(t)
∂θ
)signo(e(t))
Ejemplo 13.1
Supongamos que tenemos un proceso cuya funcion 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) = k0F (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 parametro θ que se ha de ajustar es simplemente una ganancia). Se supone una
configuracion del sistema de control tal que θ es una ganancia feed-forward , es decir,
la funcion de transferencia desde uc a la salida del proceso yp es
Y (s)
UC(s)= θkF (s)
Como se pretende que la funcion de transferencia sea como en (13.6), lo logico 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) = yp(t)− ym(t) = kF (s)θuc(t)− k0F (s)uc(t) (13.7)
CAPITULO 13. INTRODUCCION AL CONTROL ADAPTATIVO 209
La sensibilidad1 vendra dada por
∂e(t)
∂θ= kF (s)uc(t) (13.8)
ahora bien, de (13.7) se obtiene que
−ym(t) = −k0F (s)uc(t)
luego,
F (s)uc(t) =ym(t)
k0
por lo que llevando esto a (13.8) se obtiene
∂e(t)
∂θ=
k
k0
ym(t)
La variacion de los parametros segun la regla del MIT sera
dθ
dt= −γ
k
k0
ym(t)e(t)
Notese 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θ
dt= −γ′ym(t)e(t)
1Con el objeto de simplificar las cosas en la ecuacion (13.7) se ha abusado notablemente de lanotacion pues se estan incluyendo simultaneamente funciones en el dominio s (de la transformada deLaplace) y senales en el dominio temporal. Esto no es correcto y quizas serıa mejor utilizar la notacionF (p) donde p = d
dt , es decir, sustituir las funciones en s por su equivalente en el operador derivada.
210 CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC)
Capıtulo 14
Reguladores Autoajustables (STR)
14.1. Introduccion. Estructura general de los STR
Los reguladores autoajustables (del ingles Self Tuning Regulator) constituyen un
tipo de control adaptativo muy popular en el que en funcion del conocimiento que se
tiene de la dinamica 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 mas cercano posible al optimo.
Los STR se basan en el principio de equivalencia cierta que consiste en suponer
que los parametros del proceso coinciden con los que se obtienen por identificacion
de manera que se disena el controlador usando esos parametros. Como el controlador
se recalcula en cada paso, y los parametros se actualizan tambien en cada paso, el
principio de equivalencia cierta no es una suposicion 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 identificacion. Al tener que actualizarse los parametros
en tiempo real es evidente que se debe utilizar un algoritmo recursivo (vease el
capıtulo 9).
Mecanismo de adaptacion que desarrolla la tarea de diseno del regulador. Para
ello se utilizara el modelo actualizado que se tenga de la planta. Notese que al
ser la estructura del controlador fija, ((disenar)) el controlador es equivalente a
211
212 INTRODUCCION. ESTRUCTURA GENERAL DE LOS STR
obtener los mejores valores de los parametros de sintonıa en base al modelo.
Regulador con parametros ajustables. Por lo general la estructura es fija y puede
ser cualquier tipo de controlador lineal en el que los parametros se puedan ajustar.
REFERENCIA CONTROLADORAJUSTABLE PLANTAESTIMACIÓN DELA PLANTADISEÑO DELCONTROLADORCOMPORTAMIENTODESEADO
y
u+-
Figura 14.1: Configuracion generica de un regulador o controlador autoajustable.
En los STR clasicos se suele suponer que los procesos son deterministas (es decir no
se consideran fuentes de perturbaciones estocasticas como las vistas en el capıtulo 7).
Por otra parte es comun que el controlador ajustable sea del tipo PID. En realidad,
como es la estructura de un STR es modular, se puede usar cualquier combinacion de
controlador/metodo de identificacion.
Tambien se pueden considerar procesos estocasticos en los STR. Es comun entonces
que la estructura escogida para el modelo sea la de tipo ARMAX (vease el capıtulo 7).
El diseno se podra hacer, por tanto, utilizando un criterio estocastico o no estocastico.
En el caso de que sea un criterio estocastico normalmente se obtienen los parametros
del regulador mediante la minimizacion de un cierto ındice de funcionamiento. Por
ejemplo en el regulador de mınima varianza (el cual se vera en la seccion 14.2) se
intentan minimizar las variaciones con respecto a cero de la salida (se considera un
problema de regulacion con referencia nula), que al ser una senal ruidosa se consigue
minimizando la esperanza matematica de la salida en k + d, es decir
J = E{y2(k + d)
}
siendo d el retraso.
Cuando el diseno ser realiza usando un planteamiento no estocastico, se esta con-
siderando que las perturbaciones que inciden sobre el sistema son conocidas con exac-
titud de antemano, de tal manera que podemos usar modelos deterministas (vease el
capıtulo 7). En este caso el ındice de actuacion se da en funcion de unas especifica-
ciones que debe cumplir la salida del sistema, como por ejemplo el tiempo de subida y
CAPITULO 14. REGULADORES AUTOAJUSTABLES (STR) 213
establecimiento, etc. . . Tambien se emplearıan especificaciones que definan la dinamica
resultante como la colocacion 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 di-
rectamente los parametros de la planta y luego disenan 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 estimacion previa de la planta (estructura implıcita).
Un algoritmo con estructura explıcita constarıa de los siguientes pasos:
1. Estimar los parametros del modelo mediante un algoritmo de identificacion re-
cursivo.
2. Calcular los parametros del controlador.
3. Calcular la senal de control y aplicarla.
Estos pasos se repetirıan en cada tiempo de muestreo.
Los algoritmos de estructura implıcita son mas complicados desde el punto de vista
conceptual. Lo que se hace en ellos es reparametrizar el modelo de la planta y el
controlador en funcion de los parametros del controlador. El esquema serıa el mostrado
en la figura 14.2. Observese en esta figura que no se esta pasando por la fase de diseno del
REFERENCIA CONTROLADORAJUSTABLE PLANTAIDENTIFICACIÓNDEL MODELOREPARAMETRIZADOCOMPORTAMIENTO
DESEADO
y
u+-
Figura 14.2: Configuracion generica de un regulador o controlador autoajustable.
controlador sino que este se identifica, de manera que cumpla con las especificaciones de
diseno. Por eso en la figura 14.2 como la identificacion toma como datos de entrada las
214 CONTROL POR MINIMA VARIANZA
medidas de la planta y ademas las especificaciones de diseno. En este tipo de algoritmo
los pasos suelen ser:
1. Estimar los parametros del modelo reparametrizado.
2. Calcular y aplicar la senal 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 ex-
plı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 ejem-
plo para simulacion o supervision. Tambien se puede tener un banco de controladores
seleccionables en funcion del modelo obtenido. En el caso de los de estructura implıcita
se necesitan menos calculos, pero la identificacion es mas difıcil (pueden aparecer prob-
lemas de convergencia con mas 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, minimizandose para ello un cierto ındice
de funcionamiento. Efectivamente, la senal de control que se aplica en el instante k, es
decir u(k), se calcula como una funcion de u(k−1) . . . u(k−nb) y(k)y(k−1) . . . y(k−na),
de manera que se minimice
J = E{y2(k + d|k)
}
donde E{} es el operador esperanza matematica, y la notacion y(k + d|k) indica la
prediccion del valor de y en el instante k + d hecha en base a la informacion disponible
en el instante k. El modelo del proceso que se considera es del tipo ARMAX, el cual
se indica a continuacion
A(z−1)y(k + d) = B(z−1)u(k) + C(z−1)v(k + d) (14.1)
donde
A(z−1) = 1 + a1z−1 + · · ·+ anz
−n
B(z−1) = b1z−1 + b2z
−2 + · · ·+ bnz−n
C(z−1) = 1 + c1z−1 + · · ·+ cnz−n
CAPITULO 14. REGULADORES AUTOAJUSTABLES (STR) 215
y d es el retraso puro1.
Supongase que se desea dividir C(z−1) entre A(z−1). Dicha division de polinomios
producira en general un polinomio cociente y un polinomio resto. El cociente lo deno-
taremos 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 expresion dividendo igual a divisor por co-
ciente mas resto ası
C(z−1) = A(z−1)F (z−1) + z−(d+1)G(z−1) (14.2)
donde
F (z−1) = 1 + f1z−1 + · · ·+ fdz
−d
G(z−1) = g0 + g1z−1 + · · ·+ gn−1z
−(n−1)
Notese que el grado de F (z−1) es d y el de G(z−1) es n−1. A continuacion dividiremos
ambos miembros de la ecuacion (14.1) por A(z−1) y usaremos (14.2) de manera que se
obtiene
y(k + d) =B(z−1)
A(z−1)u(k) + F (z−1)v(k + d) +
z−1G(z−1)
A(z−1)v(k) (14.3)
en donde ademas se ha tenido en cuenta que z−dv(k + d) = v(k). Veamos el significado
de algunos de los terminos de (14.3). El termino F (z−1)v(k + d) es una combinacion
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 terminoz−1G(z−1)
A(z−1)v(k)
representa el efecto sobre la salida de las perturbaciones en instantes anteriores a k.
Por otra parte si dividimos por C(z−1) la expresion (14.2) se obtiene
1 =A(z−1)F (z−1)
C(z−1)+
z−(d+1)G(z−1)
C(z−1)
que se puede reescribir como
1− A(z−1)F (z−1)
C(z−1)=
z−(d+1)G(z−1)
C(z−1)(14.4)
Por otra parte segun el modelo ARMAX
v(k) =A(z−1)
C(z−1)y(k)− B(z−1)
C(z−1)z−du(k)
1Notese que el polinomio B(z−1) no tiene termino independiente, lo que se refleja en la forma dedescribir el proceso ARMAX en la ecuacion (14.1).
216 CONTROL POR MINIMA VARIANZA
Esto se puede sustituir en la ecuacion (14.3) de manera que se obtiene
y(k +d) =B(z−1)
A(z−1)u(k)+F (z−1)v(k +d)+
z−1G(z−1)
A(z−1)
[A(z−1)
C(z−1)y(k)− B(z−1)
C(z−1)z−du(k)
]
operando
y(k +d) =B(z−1)
A(z−1)u(k)+F (z−1)v(k +d)+
z−1G(z−1)
C(z−1)y(k)− G(z−1)B(z−1)
A(z−1)C(z−1)z−(d+1)u(k)
que, agrupando los terminos que contienen u(k), es a su vez es igual a
y(k +d) = F (z−1)v(k +d)+z−1G(z−1)
C(z−1)y(k)+
1
A(z−1)
[1− G(z−1)z−(d+1)
C(z−1)
]B(z−1)u(k)
Recuerdese ahora la ecuacion (14.4) y sustituyase en la anterior para obtener
y(k + d) = F (z−1)v(k + d) +z−1G(z−1)
C(z−1)y(k) +
F (z−1)B(z−1)
C(z−1)u(k)
A partir de esta ecuacion podemos calcular J y ver que valor de u(k) hace mınimo J :
E{y2(k + d)
}= E
{F (z−1)v(k + d)
}2+ E
{F (z−1)B(z−1)
C(z−1)u(k) +
z−1G(z−1)
C(z−1)y(k)
}2
+2E
{F (z−1)v(k + d)
(F (z−1)B(z−1)
C(z−1)u(k) +
z−1G(z−1)
C(z−1)y(k)
)}
Si se intenta minimizar la expresion anterior se tiene que el primer termino 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 termino puede ser descartado. Por otra parte, el tercer termino es la
esperanza matematica de una expresion la que aparece terminos en los que los valores
de la perturbacion 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 matematica que aparece en ese tercer termino es
cero. Por tanto, nos queda solo el segundo termino que es el que hay que minimizar.
Para ello basta con calcular el valor que hace cero lo que esta dentro de las llaves y
ası el cuadrado sera cero (que es el mınimo valor posible de una funcion cuadratica).
El resultado es
u(k) = − z−1G(z−1)
F (z−1)B(z−1)y(k) (14.5)
que se puede reescribir tambien como (y ası aparece en algunos textos)
u(k) = − G(z−1)
zB(z−1)F (z−1)y(k) (14.6)
CAPITULO 14. REGULADORES AUTOAJUSTABLES (STR) 217
Ejemplo 14.1
Considerese el siguiente sistema lineal
yk = ayk−1 + buk−2
Se pide encontrar la expresion del regulador de mınima varianza.
En este caso es facil 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+
f1z−1. La figura 14.3 nos muestra la division hecha paso a paso a la manera tradicional.
Por tanto F (z−1) = 1 + az−1. El resto que en este caso es a2z−2 debe identificarse con1 1-az-11-az-1 az-1 1+az-1 az-1-a2z-2 a2z-2Figura 14.3: Division de polinomios para el ejemplo 14.2.
la expresion z−2G(z−1), por lo que es evidente que en este caso G(z−1) = a2. Luego
recordando la expresion (14.5) obtenemos que el regulador de mınima varianza para
este caso es
uk =−z−1a2
(1 + az−1)bz−1yk = − a2
(1 + az−1)byk
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 cance-
laran mediante polos inestables. Esta situacion no es deseable, por que en la practica
puede que los ceros cambien de posicion, bien por imprecision en el modelo del sistema
o por variaciones de la dinamica del sistema. En este caso los ceros no se cancelarıan
con los polos con lo cual anadirıamos polos inestables al sistema. Evidentemente esto
ultimo llevarıa a la inestabilidad del sistema. Existen variaciones del regulador de mıni-
ma varianza que tratan este problema y ademas incorporan seguimiento de referencias
y ponderacion del esfuerzo de control (es decir, que ademas de perseguir el objetivo de
218 ASIGNACION DE POLOS Y CEROS
mınimizar las variaciones de la salida con respecto a la referencia se intenta hacer esto
usando el menor esfuerzo de control posible). La mas 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 ponderacion estables que tienen la
forma
Q(z−1) =Qn(z−1)
Qd(z−1)R(z−1) =
Rn(z−1)
Rd(z−1)P (z−1) =
Pn(z−1)
Pd(z−1)
Bajo estas condiciones la senal de control que minimiza J es
u(k) =Rd(z
−1) (C(z−1)P (z−1)ref(t)−G(z−1)y(t))
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 saturacion 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 formulacion presentada aquı. Por ejemplo
una version del regulador de mınima varianza que solo soluciona el seguimiento de
referencia (no irıa bien con sistemas de fase no mınima) resulta en la expresion
u(t) = − G(z−1)
zB(z−1)F (z−1)y(t)− C(z−1)
zB(z−1)F (z−1)ref(t + d) (14.8)
14.3. Asignacion de polos y ceros
De entre los metodos basados en criterios no estocasticos se recoge aquı el metodo
de asignacion de polos y ceros debido a Astrom y Wittenmark. En el capıtulo 6 ya se
trato el problema de la asignacion de polos mediante realimentacion lineal del vector
de estados. Es conocido que con un solo controlador no se pueden asignar polos y ceros
arbitrariamente, por lo que usualmente se prefiere asignar los polos. El metodo que
aquı se presenta se basa por tanto en una estructura mas 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 funcion de transferencia de bucle cerrado
CAPITULO 14. REGULADORES AUTOAJUSTABLES (STR) 219w(k) )A(z)zB(z 1- d-1 −)M(z1 1−)G(z 1−
)S(z 1− y(k)Figura 14.4: Estructura para la asignacion de polos y ceros.
sea igual a una dada, que supondremos denotada por
y(k) =Rm(z−1)
Pm(z−1)z−dw(k) (14.9)
donde se asume que Rm(z−1) y Pm(z−1) no tienen factores comunes y ademas el sistema
es causal por lo que el grado de Pm(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 conclusion
de que la funcion de transferencia entre w(k) (la referencia a seguir) y y(k) es
y(k) =S(z−1)B(z−1)z−d
A(z−1)M(z−1) + B(z−1)G(z−1)z−dw(k)
Igualando esta expresion con la funcion 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)Pm(z−1) (14.10)
Como se ha comentado en la seccion 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 tambien de Rm(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 ultimo polinomio como
Rm(z−1) = B−(z−1)Rm1(z−1)
Impondremos ademas que las raıces estables de B(z−1) esten en M(z−1), de manera
que tendremos
M(z−1) = M1(z−1)B+(z−1)
220 ASIGNACION DE POLOS Y CEROS
Por otra parte se asume que, ademas de especificarse el retraso y los polinomios que
definen la funcion de transferencia deseada, como parte de los datos de entrada del
problema, se tiene un polinomio A0(z−1) que se utiliza para definir S(z−1) mediante la
expresion
S(z−1) = A0(z−1)Rm1(z
−1)
Con todo lo anterior y la ecuacion (14.10) se llega a
A(z−1)M1(z−1) + B−(z−1)G(z−1)z−d = A0(z
−1)Pm(z−1) (14.11)
Esto es una ecuacion polinomial, donde las incognitas son M1(z−1) y G(z−1), que
puede resolverse mediante diferentes metodos2. Quizas el mas simple (pero no mas
eficiente) sea plantear un sistema de ecuaciones lineales donde las incognitas sean los
coeficientes de los polinomios M1(z−1) y G(z−1). En cualquier caso se deben imponer
condiciones sobre los grados de dichos polinomios para que la ecuacion tenga solucion
unica. Aplicando consideraciones algebraicas que no mostraremos aquı, se llega a que
existen dos posibles opciones para los grados de M1(z−1) y G(z−1),
1.
grado(G(z−1)) = grado(A(z−1))− 1
grado(M1(z−1)) = grado(A0(z
−1)) + grado(Pm(z−1))− grado(A(z−1))
2.
grado(G(z−1)) = grado(A0(z−1)) + grado(Pm(z−1))− grado(B−(z−1))− d
grado(M1(z−1)) = grado(B−(z−1)) + d− 1
Se puede demostrar que el control por asignacion de polos y ceros es equivalente al
MRAC. Por otra parte segun el sistema podemos tener casos simplificados:
1. Cancelacion 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 Rm(z−1) = Rm1(z−1) = K
M(z−1) = M1(z−1)B(z−1) S(z−1) = KA0(z
−1)
por lo que la ecuacion quedarıa como
A(z−1)M1(z−1) + G(z−1)z−d = A0(z
−1)Pm(z−1)
2De hecho es una ecuacion polinomial diofantica. Este tipo de ecuaciones las encontraremos denuevo en el capıtulo 17, donde se veran otros metodos para resolverla.
CAPITULO 14. REGULADORES AUTOAJUSTABLES (STR) 221
2. No se cancela ningun 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) S(z−1) = KA0(z−1)
M(z−1) = M1(z−1) Rm(z−1) = KB(z−1)
por lo que ahora la ecuacion quedarıa como
A(z−1)M(z−1) + B(z−1)G(z−1)z−d = A0(z−1)Pm(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 despues el de estructura explıcita.
14.3.1. Algoritmo con estructura implıcita.
Notese que multiplicando ambos miembros de la ecuacion (14.11) por y(k) se obtiene
A(z−1)M1(z−1)y(k) + B−(z−1)G(z−1)z−dy(k) = A0(z
−1)Pm(z−1)y(k)
que dado que A(z−1)y(k) = B(z−1)z−du(k) es equivalente a
M1(z−1)B(z−1)z−du(k) + B−(z−1)G(z−1)y(k) = A0(z
−1)Pm(z−1)y(k)
Por otra parte sabemos que M(z−1) = M1(z−1)B+(z−1) y B(z−1) = B+(z−1)B−(z−1),
por lo que se llega a
A0(z−1)Pm(z−1)y(k) = B−(z−1)z−d
(M(z−1)u(k) + G(z−1)y(k)
)(14.12)
La ecuacion (14.12) expresa una relacion 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), Pm(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 metodo de identificacion recursivo), usando los
valores experimentales de la entrada y la salida. Observese que al identificarse dicho
modelo reparametrizado se estaran identificando los parametros del controlador ademas
de parte de los parametros de la planta. Estos ultimos no son sin embargo necesarios,
se pueden considerar un ((subproducto)) del proceso de identificacion del controlador.
El algoritmo de control en sı, tomarıa como datos de entrada A0(z−1), Pm(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 ASIGNACION DE POLOS Y CEROS
1. Obtener una estimacion actualizada de M(z−1), G(z−1), B−(z−1) mediante la
identificacion del modelo reparametrizado (14.12).
2. Calcular y aplicar
u(k) =1
M(z−1)
(S(z−1)w(k)−G(z−1)y(k)
)
donde S(z−1) = A0(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), Pm(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 estimacion actualizada de A(z−1) y B(z−1) mediante la identifi-
cacion del modelo
y(k) =B(z−1)
A(z−1)z−du(k)
2. Factorizar B(z−1) = B+(z−1)B−(z−1).
3. Resolver la ecuacion (14.11).
4. Calcular y aplicar
u(k) =1
M(z−1)
(S(z−1)w(k)−G(z−1)y(k)
)
donde S(z−1) = A0(z−1)Rm1(z
−1) y M(z−1) = M1(z−1)B+(z−1).
Es facil ver que este algoritmo tiene mas calculos que el anterior, en particular la
factorizacion de B(z−1) y la resolucion de la ecuacion polinomial (14.11), tareas ambas
que pueden ser costosas en un hardware industrial no muy potente (ademas de mas
complicadas de implementar). Sin embargo desde el punto de vista practico suele tener
menos problemas.
Capıtulo 15
Controladores PID con autoajuste
y Ajuste por tabla
15.1. Introduccion
En este capıtulo se revisaran algunas de las tecnicas de control adaptativo con mayor
aplicacion 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 utiles en la practica. Ademas de las tecnicas referidas en el tıtulo del
capıtulo se concluira el temario relativo a control adaptativo con un breve repaso a
algunos sistemas comerciales.
15.2. Funcion de autoajuste (autotuning)
Los reguladores adaptativos vistos hasta ahora, es decir los MRAC y STR, necesitan
para poder funcionar correctamente un conocimiento basico a priori de la planta. A fin
de poder obtener esa informacion lo mas facilmente posible, los fabricantes introdujeron
en los controladores adaptativos comerciales un modo de sintonıa previa (pre-tune), que
obtenıa dicha informacion basica.
Paralelamente, se estaban desarrollando tecnicas para poder ajustar automatica-
mente controladores de tipo PID sin necesidad de intervencion del operario. Lo que
223
224 FUNCION DE AUTOAJUSTE (AUTOTUNING)
ocurrio, es que se vio que para poder ajustar un PID automaticamente bastaba con la
informacion basica que proporcionaban los modos pre-tune de los controladores adap-
tativos.
Por otra parte, desde el mundo industrial una de las caracterısticas mas demandadas
era una funcion de autoajuste inicial. Al instalarse el controlador se activarıa dicha
funcion (apretando un boton 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
automatico 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 funcion de autoajuste como la que demandaban los
usuarios.
Para conseguir el autoajuste se puede utilizar cualquier tecnica de control adap-
tativo que permita estimar los parametros adecuados, con el unico requisito de que
los ensayos requeridos sean sencillos, a fin de poderse realizar de manera automatica.
Desde el punto de vista practico, los controladores con autoajuste tendran 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 despues se vuelve al modo normal con el controlador ajustado.
Por tanto un controlador con autoajuste realiza tareas de modelado (identificacion),
y diseno del controlador, de manera transparente al usuario, por lo que se simplifican
mucho las tareas de instalacion 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
tecnicas 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 con-
trolador de manera autonoma va adaptandose de una manera mas o menos continuada.
En un controlador con funcion de autoajuste, dicho autoajuste solo se realiza bajo de-
manda del operador, y usualmente solo cuando se instala o se cambia sustancialmente
las condiciones del equipo a controlar.
CAPITULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 225
15.3. Funciones de autoajuste para PIDs
Antes de tratar las distintas tecnicas existentes para ajustar automaticamente PIDs
es importante hacer notar que los PIDs industriales (figura 15.1) no son exactamente
iguales a las formulaciones academicas que se ensenan en cursos basicos de control. Por
Figura 15.1: PID industrial moderno con funcion de autoajuste (ABB modelo ECA).
ejemplo, en lugar de considerarse la derivada del error se suele usar la derivada de la
salida y ademas a veces ni siquiera se emplea la derivada exacta de la salida, sino que se
usa una aproximacion 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 accion de control no se suele usar el valor exacto de la referencia a seguir, sino
una fraccion del mismo, a fin de evitar cambios bruscos en la salida del proceso. Otro
detalle muy importante es que se suele incorporar una funcion de anti-windup que,
basicamente, consiste en que cuando el actuador se satura (alcanza su lımite fısico de
operacion), 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 senal de actuacion.
Sin entrar en demasiados detalles un PID mas realista que la version academica
vendrıa dado por la siguiente expresion:
u(t) = f(v(t))
donde u(t) es la senal de actuacion 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 accion proporcional que se calcula mediante
P (t) = Kc(βref(t)− y(t)) 0,7 ≤ β ≤ 1
I(t) es la accion integral que se calcula mediante
dI
dt=
Kc
Ti
(ref(t)− y(t)) +1
Tt
(u(t)− v(t))
En la expresion anterior el ultimo termino que se suma se usan para lograr el efecto
anti-windup de manera que la accion integral se mantenga acotada cuando el actuador
se sature. El parametro Tt es una constante de tiempo para reinicializar la accion
integral cuando aparezca la saturacion y suele ser una fraccion del tiempo integral Ti.
Por otra parte la accion derivativa se calcula usando
Td
N
dD
dt= −D −KcTd
dy
dt
donde el parametro N es fijo y suele tomarse igual a 10.
En cuanto a las tecnicas para sintonizar automaticamente PIDs, la gran mayorıa
estan basadas en experimentos simples que el PID puede llevar a cabo por si solo. Estos
experimentos podran ser en bucle abierto o cerrado, de ahı que luego distingamos dos
tipos de tecnicas. Hay que mencionar que en los PID industriales el ajuste automatico
viene realizado por el propio PID, o por un modulo separado que se coloca en lugar del
PID para realizar los experimentos, y que devuelve los valores de los parametros del
PID. Este modulo debera ser compatible con los distintos modelos de PID que se usen en
la planta, ya que para calcular los parametros deben conocerse todas las peculiaridades
de los algoritmos usados por cada PID. Otros metodos mas sofisticados son los que
se basan en tecnicas 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
dinamica de la planta, estimandose valores para parametros como ganancias, factores de
amortiguamiento, etc . . . Estos parametros son los que luego se usaran para sintonizar
el PID. Esta tecnica se utiliza por ejemplo en controladores de las marcas Foxboro o
Fenwal.
15.3.1. Tecnicas de ajuste basadas en la respuesta transitoria
Estas son tecnicas de ajuste en bucle abierto que se basan en aplicar un escalon en
la senal de entrada del lazo que se quiere sintonizar y ajustar un modelo simple del
tipo
G(s) =k
1 + sTe−sL (15.1)
CAPITULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 227
Conocidos los parametros del modelo el PID se puede ajustar usando tecnicas del
tipo Ziegler-Nichols de bucle abierto. Otros metodos estan basados en medida de areas
como la que se describe a continuacion. Considerese la figura 15.2. El procedimiento
para calcular T y L comienza por el calculo 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 estan estimados todos los parametros.
k
A0
A1
L+T
Figura 15.2: Determinacion de T y L por areas.
15.3.2. Metodos basados en las oscilaciones producidas al re-
alimentar con un rele
Los metodos 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
tecnicas basadas en experimentos en bucle cerrado no tienen este problema. De estas
tecnicas veremos la que esta basada en las oscilaciones producidas al realimentar con
un rele. 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ımite1) cuando son realimentados con un rele en la cadena
1El estudio de los ciclos lımite no pertenece a esta asignatura. Baste saber que son oscilaciones conentrada nula o referencia constante que aparecen en ciertos sistemas y que pueden provocarse con laestructura presentada aquı.
228 LA TECNICA DE AJUSTE POR TABLA O GAIN SCHEDULING
PID
RELÉ
PROCESOr u y+
-
Figura 15.3: Estructura usada en el metodo basado en oscilaciones de rele.
directa. Los parametros del ciclo lımite contienen informacion suficiente para calcular
los parametros de ajuste del PID.
El procedimiento consiste en desconectar el controlador a la hora de hacer el ajuste
y sustituirlo por el rele. En la salida comenzaran a aparecer oscilaciones que se em-
pezaran a repetir periodicamente cuando el ciclo lımite aparezca. Una vez que se han
determinado los parametros del ciclo lımite se calculan los del PID y se vuelve a conec-
tar el controlador. El metodo mas conocido para calcular los parametros del PID es el
metodo de Ziegler-Nichols de bucle cerrado. Suponiendo una referencia nula, si el ciclo
lımite resultante tiene amplitud a y frecuencia ωu entonces los parametros del metodo
de Ziegler-Nichols de bucle cerrado, es decir, la ganancia crıtica Ku y el periodo crıtico
Tu son iguales a
Ku =4d
πaTu =
2π
ωu
donde d es la amplitud del rele.
15.4. La tecnica de ajuste por tabla o gain schedul-
ing
Existen otros controladores que proporcionan una cierta capacidad de adaptacion
pero que no encajan en el esquema tıpico discutido en el capıtulo 13 ya que la adaptacion
se realiza en bucle abierto. Este esquema, mas limitado se ilustra en la figura 15.4. Puede
observarse que en este caso, el ajuste de los parametros no se realiza en funcion del
comportamiento del sistema, sino que se utilizan los valores de una variable auxiliar
para decidir cuales son los mejores valores de los parametros del regulador. De ahı que
se diga que la adaptacion 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 parametros del controlador que
CAPITULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 229CONTROLADORAJUSTABLE PLANTAMECANISMO DEADAPTACIÓNMEDIDA DE LAVARIABLEAUXILIARMEDIOAMBIENTE
u+-
REFERENCIA
y
Figura 15.4: Configuracion generica de un controlador adaptativo con adaptacion 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 parametros del
controlador se seleccionan de un conjunto de parametros precalculados en funcion de
la altura de vuelo. Por supuesto, este tipo de control funciona bien si entre la variable
auxiliar y la dinamica del sistema existe una fuerte relacion, que permite determinar
el valor de los parametros en funcion del valor observado de la variable auxiliar. Una
ventaja que tiene este esquema es que los parametros del control se pueden cambiar
(adaptar) a la misma velocidad a la que cambia la dinamica del sistema pues estos
cambios se reflejan sobre la variable auxiliar a la vez que se producen. Esta rapidez en
el cambio de los parametros puede ser, sin embargo, contraproducente. Por otra parte la
construccion de la tabla puede ser muy complicada. De hecho no existe una metodologıa
universal, sino que para cada aplicacion ha de verse como llevar a la practica las ideas
del gain scheduling. Por ultimo encontrar la variable auxiliar apropiada no siempre es
posible.
Estos controladores, sin embargo, se pueden encontrar en diversos sistemas tıpi-
cos de control, principalmente debido a su sencillez y efectividad cuando estan bien
disenados. Algunas de las aplicaciones tıpicas son:
Linealizacion de la caracterıstica de ciertos actuadores. Tal y como se vio en la
seccion 13.2 la caracterıstica no lineal de un actuador se puede aproximar por un
modelo linealizado a trozos, de manera que en funcion del punto de operacion del
actuador se escogeran unos valores u otros para el controlador.
Control de pH. En estos sistemas se presentan no linealidades originadas tanto
por los elementos de control (valvulas, bombas, sensores) como por las reacciones
230 LA TECNICA DE AJUSTE POR TABLA O GAIN SCHEDULING
quımicas propias del proceso. La no linealidad principal proviene de la relacion
entre las concentraciones de los reactivos y el pH de la solucion resultante. Dicha
relacion se representa en la llamada curva de pH2. En dicha curva se representa
el pH en funcion de las diferencias en las concentraciones de los reactivos. En la
figura 15.5 se muestra dicha curva para una solucion acuosa de acido clorhıdrico
y sosa caustica (es decir un par acido-base). Puede observarse que en este caso
la no linealidad tambien se puede aproximar bien por un modelo linealizado a
tramos.
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
x 10−3
2
3
4
5
6
7
8
9
10
11
12
Diferencia entre las concentraciones acido−base
pH
Figura 15.5: Curva de pH para una solucion de HCl 0.001 M y NaOH 0.001 M.
Control de la mezcla aire combustible en un motor de combustion. 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 val-
ores de los parametros del controlador (si los valores de las variables no coinciden
con los de ninguna entrada se interpola con las mas proximas). La variable de
control es el tiempo de apertura de la valvula de inyeccion de combustible. En este
caso se presenta otra no linealidad debida al sensor utilizado para medir la pro-
porcion 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 senal de error que se envıa al PI se genera mediante la expresion
e =
{1 si V > 0,5
−1 si V ≤ 0,5
2En realidad el nombre tecnico es curva de titracion, aunque tales detalles no son relevantes enesta asignatura
CAPITULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 231
0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.50
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Relación combustible − aire (λ)
Vol
taje
de
salid
a (V
)
Figura 15.6: Caracterıstica aproximada de una sonda lambda
Control de vuelo. Es el ejemplo clasico, en este caso, se puede encontrar una
relacion entre los parametros optimos del controlador y la altura, la velocidad y
el numero de Mach.
Control de la direccion de un barco. En este caso la dinamica considerada para
el control de la direccion depende de la velocidad del barco y de ciertas variables
relacionadas con el tiempo atmosferico, como la fuerza y direccion del viento (en
realidad dichas variables atmosfericas no afectan a la dinamica del barco en si,
sino a la de las perturbaciones que este sufre).
A modo de conclusion, podemos decir que la tecnica 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 adaptacion es en bucle abierto, es necesario conocer
bien tanto la dinamica del proceso como la de las perturbaciones.
15.5. Controladores adaptativos industriales
Las tecnicas de control adaptativo han llegado al mundo industrial en distintas
formas y capacidades, entre las cuales podemos distinguir las siguientes.
Herramientas para sintonizar controladores. Estan basadas en experimentos co-
mo los que se han descrito en la seccion 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 tecnicas de colocacion de polos usando experimentos en bucle abierto. Las es-
trategias de oscilaciones mediante rele tambien son comunes como por ejemplo
en el SattControl3 ECA40 y en el DPR900 (Fisher-Rosemount). Otra posibil-
idad es que estas herramientas para sintonizar controladores sean modulos in-
dependientes, 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 parametros
de manera mas o menos continua. Los hay que estan basados en la identificacion
de un modelo mediante mınimos cuadrados recursivos como los CLC04 (Bailey
Controls) y SLPC-181/281 (Yokogawa) que ademas utilizan una estrategia de
control por colocacion de polos. Algunos, como el SattControl ECA40, no identi-
fican un modelo parametrico sino que usan reglas del tipo Ziegler-Nichols de bucle
cerrado, a partir de experimentos de realimentacion con rele. Por otra parte exis-
ten otros mas ambiciosos que estan basados en sistemas expertos y en tecnicas 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 tam-
bien estan presentes en ciertos controladores como el SattControl ECA 400 o el
DPR910 (Fisher-Rosemount).
Controladores adaptativos basados en automatas programables. Los automatas
programables ganan terreno dıa a dıa en cualquier aplicacion industrial de control.
3M y General Electric tienen en su catalogo aplicaciones de control adaptativo
basados en sus automatas.
Soluciones a medida. A veces en determinadas aplicaciones se encuentran contro-
ladores adaptativos a medida y que por tanto son exclusivos de cada sistema. Se
encuentran en barcos, aviones, automocion, y ciertas industrias.
A continuacion se analizaran en mayor detalle algunos controladores especialmente
interesantes.
3Mas tarde Alfa-Laval y actualmente ABB.
CAPITULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 233
15.5.1. SattControl ECA40 y Fisher-Rosemount DPR900
Estos controladores estan basados en oscilaciones inducidas mediante realimentacion
con un rele. Incluyen una funcion de ”sintonıa pulsando un boton”. Ademas tiene ca-
pacidades 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 deteccion del ciclo lımite. En cuanto se observa que las os-
cilaciones comienzan a repetirse, se calcula la amplitud y periodo de las mismas y a
partir de ahı se calculan los parametros. Para ello se utilizan una version modificada del
metodo de Ziegler-Nichols. Una vez se calculan los parametros el controlador conmuta
a modo automatico. El ajuste ofrece tres perfiles diferentes: control normal, lento o
rapido. La reaccion de la comunidad industrial a estos productos ha sido muy buena,
encontrandose particularmente util en industrias que no tienen personal especializado
en todos los turnos.
15.5.2. Foxboro EXACT
Este sistema esta basado en la respuesta transitoria de bucle cerrado, es decir es
de bucle cerrado pero no usa las oscilaciones inducidas por un rele. Lo que se emplea
es un escalon o perturbacion aplicada al sistema y de la evolucion de la salida a par-
tir de ese instante se obtiene informacion que permite ajustar el controlador usando
Ziegler-Nichols. Este controlador requiere informacion previa para poder sintonizar au-
tomaticamente, concretamente una estimacion previa de Kc, Ti y Td, ası como de la
escala de tiempos del proceso. Si esta informacion se desconoce se puede usar el modo
de pre-tune incorporado que la obtiene mediante la aplicacion de un escalon. Es nece-
sario sin embargo que el proceso este en regimen permanente. La aceptacion comercial
de este producto ha sido excelente y se han vendido miles de unidades. A modo de
anecdota la planta de Atlantic Copper en Huelva utiliza este controlador en algunos
de sus procesos. El controlador adaptativo multivariable EXACT MV se distribuye ac-
tualmente 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) esta basada entre otras cosas en el
control de mınima varianza y ofrece la capacidad de especificar la posicion 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− Plz−1)y(t + kd)− (1− Pl)y(t) = A(z−1)∆y(t) + B(z−1)∆u(t) + C(z−1)∆v(t)
donde Pl es el polo que se puede especificar y kd es el horizonte de prediccion. Por otra
parte la ley de control tiene la forma
(σ + B∗(z−1))∆u(t) = (1− Pl)(ref(t)− y(t))− A(z−1)∆y(t)− C(z−1)∆v(t)
donde σ es un factor de ponderacion. 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 historica
El Control Predictivo se desarrollo en base a dos lıneas basicas. Por un lado, a finales
de los anos setenta surgieron diversos algoritmos que usaban explıcitamente un modelo
dinamico 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 operacion. La optimizacion se repetıa en cada instante de muestreo con informacion
actualizada del proceso. Estas formulaciones eran de naturaleza heurıstica y algorıtmica
e intentaban aprovechar el creciente potencial de los computadores digitales por aquella
epoca.
Rapidamente el mpc adquirio gran popularidad en las industrias de procesos quımi-
cos principalmente debido a la simplicidad del algoritmo y al uso del modelo de re-
spuesta impulsional o en escalon, que aunque posea muchos mas parametros que las
formulaciones en el espacio de estados o funcion de transferencia suele ser preferido
por ser intuitivo y necesitar menos informacion 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 (Identification-
Command) y el dmc (Control con Matriz Dinamica, Dynamic Matrix Control).
Independientemente fue surgiendo otra lınea de trabajo en torno a las ideas del con-
trol adaptativo, desarrollando estrategias esencialmente para procesos monovariables
235
236 CONCEPTOS BASICOS DE CONTROL PREDICTIVO
formuladas con modelos entrada/salida. En este contexto se extendieron las ideas del
Controlador de Mınima Varianza y se desarrollo el Control Predictivo Generalizado
(Generalized Predictive Control gpc) que es uno de los metodos mas populares en la
actualidad.
16.2. Conceptos basicos de control predictivo
El Control Predictivo Basado en Modelo, Model (Based) Predictive Control (mbpc
o mpc) constituye un campo muy amplio de metodos de control desarrollados en torno
a ciertas ideas comunes e integra diversas disciplinas como control optimo, control
estocastico, 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
mas bien de un campo muy amplio de metodos de control desarrollados en torno a
ciertas ideas comunes. Estos metodos de diseno conducen a controladores lineales que
poseen practicamente 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 basicamente:
Uso explıcito de un modelo para predecir la salida del proceso en futuros instantes
de tiempo (horizonte).
Calculo de las senales de control minimizando una cierta funcion objetivo.
Estrategia deslizante, de forma que en cada instante el horizonte se va desplazan-
do hacia el futuro, lo que implica aplicar la primera senal de control en cada
instante y desechar el resto, repitiendo el calculo 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 funcion de coste a minimizar.
Aunque las diferencias puedan parecer pequenas a priori, pueden provocar distintos
comportamientos en bucle cerrado, siendo crıticas para el exito de un determinado
algoritmo en una determinada aplicacion.
El Control Predictivo es un tipo de control de naturaleza abierta dentro del cual se
han desarrollado muchas realizaciones, encontrando gran aceptacion tanto en aplica-
ciones industriales como en el mundo academico. En la actualidad existen numerosas
CAPITULO 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 Robotica. El buen funcionamiento de estas
aplicaciones muestra la capacidad del mpc para conseguir sistemas de control de ele-
vadas prestaciones capaces de operar sin apenas intervencion durante largos perıodos
de tiempo.
El mpc presenta una serie de ventajas sobre otros metodos, 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
sintonizacion es relativamente facil.
Puede ser usado para controlar una gran variedad de procesos, desde aquellos con
dinamica relativamente simple hasta otros mas complejos incluyendo sistemas con
grandes retardos, de fase no mınima o inestables.
Permite tratar con facilidad el caso multivariable.
Posee intrınsecamente compensacion del retardo.
Resulta conceptualmente simple la extension al tratamiento de restricciones, que
pueden ser incluidas de forma sistematica durante el proceso de diseno.
Es muy util cuando se conocen las futuras referencias (robotica o procesos en
batch).
Es una metodologıa completamente abierta basada en algunos principios basicos
que permite futuras extensiones.
Pero, logicamente, tambien presenta inconvenientes. Unos de ellos es la carga de
calculo necesaria para la resolucion de algunos algoritmos. Pero quizas el mayor in-
conveniente venga marcado por la necesidad de disponer de un modelo apropiado del
proceso. El algoritmo de diseno esta basado en el conocimiento previo del modelo y es
independiente de este, pero resulta evidente que las prestaciones obtenidas dependeran
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
N
y(t+k|t)^
u(t+k|t)
t t+1t-1 . . . t+N. . . t+k
y(t)
u(t)
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 prediccion. 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 senales 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 senales de control futuras se calcula optimizando un determinado
criterio en el que se pretende mantener el proceso lo mas proximo posible a la
trayectoria de referencia w(t + k) (que puede ser directamente el setpoint o una
suave aproximacion a este). Este criterio suele tomar la forma de una funcion
cuadratica de los errores entre la salida predicha y la trayectoria de referencia
tambien predicha, incluyendo en muchos casos el esfuerzo de control. Si el criterio
es cuadratico, el modelo lineal y no existen restricciones se puede obtener una
solucion explıcita, en otro caso se debe usar un metodo iterativo de optimizacion.
Adicionalmente se hace alguna suposicion sobre la estructura de la ley de control
futura, como por ejemplo que va a ser constante a partir de cierto instante.
3. La senal de control u(t | t) es enviada al proceso mientras que las siguientes
senales de control calculadas son desechadas, puesto que en el siguiente instante
1la notacion indica el valor de la variable en el instante t + k calculado en el instante t.
CAPITULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 239
+
-
futuros
Entradas y salidas
Funcion de coste Restricciones
Errores futuros
pasadas
Controles
de referenciaTrayectoria
predichasSalidas
Optimizador
Modelo
Figura 16.2: Estructura basica 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 sera diferente al u(t+1 | t) al disponer de nueva informacion), 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,
basandose en las futuras senales de control propuestas. Estas senales son calculadas
por el optimizador teniendo en cuenta la funcion 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 dinamica 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 funcion de coste es cuadratica, el mınimo se puede obtener
como una funcion explıcita de las entradas y salidas pasadas y de la trayectoria de
referencia. Sin embargo, cuando existen restricciones de desigualdad la solucion debe
ser calculada por metodos numericos con mas carga de calculo.
240 ELEMENTOS BASICOS
16.4. Elementos basicos
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 prediccion
Funcion objetivo
Obtencion de la ley de control
16.4.1. Modelo de prediccion
La piedra angular del mpc es el modelo; un diseno completo debe incluir los mecan-
ismos necesarios para la obtencion del mejor modelo posible, el cual debe ser lo sufi-
cientemente rico para capturar al maximo la dinamica del proceso y debe ser capaz de
permitir el calculo de las predicciones a la vez que sea intuitivo y permita un analisis
teorico. El uso del modelo del proceso viene determinado por la necesidad del calcu-
lo de la salida predicha en instantes futuros y(t + k | t). Las diferentes estrategias
de mpc pueden usar distintos modelos para representar la relacion de las salidas con
las entradas medibles, algunas de las cuales seran variables manipuladas y otras se
pueden considerar como perturbaciones medibles, que pueden ser compensadas por ac-
cion feedforward. Ademas se tendra en cuenta un modelo de las perturbaciones, para
intentar describir el comportamiento que no aparece reflejado en el modelo del proce-
so, englobandose 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 metodo usara ambas
partes para la prediccion.
Modelo del Proceso
Casi todas las formas posibles de modelar un proceso aparecen en alguna formu-
lacion de mpc siendo las mas usadas las siguientes:
Respuesta impulsional. Tambien conocida por secuencia de ponderacion o modelo
CAPITULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 241
t t+1 t+2 . . . t+N t t+1 t+2 . . . t+N
y(t) y(t)
h
h
h
h g
g g
1 i
i N
2
N
g 1
2
a) b)
Figura 16.3: Respuesta impulsional y ante escalon
de convolucion. La salida viene relacionada con la entrada por la ecuacion
y(t) =∞∑i=1
hiu(t− i)
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 solo se consideran N valores (por tanto solo permite representar
procesos estables y sin integradores), teniendo
y(t) =N∑
i=1
hiu(t− i) = H(z−1)u(t) (16.1)
donde H(z−1) = h1z−1 + h2z
−2 + · · ·+ hNz−N . Un inconveniente de este metodo
es el gran numero de parametros que necesita, ya que N suele ser un valor elevado
(del orden de 40-50). La prediccion vendra dada por:
y(t + k | t) =N∑
i=1
hiu(t + k − i | t) = H(z−1)u(t + k | t)
Este metodo es ampliamente aceptado en la practica industrial debido a que
es muy intuitivo y no requiere informacion previa sobre el proceso, con lo que
el procedimiento de identificacion se simplifica, a la vez que permite describir
facilmente dinamicas complejas como fase no mınima o retardos.
242 ELEMENTOS BASICOS
Respuesta ante escalon. Es muy similar al anterior solo que ahora la senal de
entrada es un escalon. Para sistemas estables se tiene la respuesta truncada que
sera
y(t) = y0 +N∑
i=1
gi 4 u(t− i) = y0 + G(z−1)(1− z−1)u(t) (16.2)
donde las gi son los valores muestreados ante la entrada en escalon y 4u(t) =
u(t)−u(t− 1), segun se muestra en la figura 16.3b. El valor de y0 puede tomarse
0 sin perdida de generalidad, con lo cual el predictor sera:
y(t + k | t) =N∑
i=1
gi 4 u(t + k − i | t)
Este metodo presenta las mismas ventajas e inconvenientes que el anterior.
Funcion de transferencia. Se utiliza el concepto de funcion 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 + a1z−1 + a2z
−2 + · · ·+ anaz−na
B(z−1) = b1z−1 + b2z
−2 + · · ·+ bnbz−nb
Por tanto la prediccion vendra dada por
y(t + k | t) =B(z−1)
A(z−1)u(t + k | k)
Esta representacion es valida tambien para procesos inestables y posee la ventaja
de necesitar pocos parametros, 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 representacion:
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 prediccion viene dada por
y(t + k | t) = Cx(t + k | t) = C[Akx(t) +k∑
i=1
Ai−1Bu(t + k − i | t)]
Posee la ventaja de que sirve tambien para sistemas multivariables a la vez que
permite analizar la estructura interna del proceso (aunque a veces los estados
obtenidos al discretizar no tienen ningun significado fısico). Los calculos pueden
ser complicados, con la necesidad adicional de incluir un observador si los estados
no son accesibles.
CAPITULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 243
Modelo de las perturbaciones
De tanta importancia como la eleccion de un determinado modelo del proceso es la
eleccion del modelo utilizado para representar la perturbaciones. Un modelo bastante
extendido es el Autorregresivo Integrado de Media Movil (Auto-Regressive and Inte-
grated 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
n(t) =C(z−1)e(t)
D(z−1)
donde el polinomio D(z−1) incluye explıcitamente el integrador 4 = 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 metodos. Notese
que al incluir un integrador se consigue un control con error nulo en regimen permanente
(offset-free).
Como caso particular del arima se puede incluir la perturbacion constante
n(t) =e(t)
1− z−1
cuya mejor prediccion sera n(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 senales:
u(t) = uf (t) + uc(t)
La senal 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, · · ·
244 ELEMENTOS BASICOS
La senal uc(t) vale cero en el pasado y corresponde a las senales 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 prediccion 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 prediccion de la salida
cuando la variable manipulada se hace igual a uf (t), y la otra, la repuesta forzada
(yc(t)), corresponde a la prediccion de la salida cuando la senal de control es uc(t).
La respuesta libre corresponde a la evolucion 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.
t
uc
t
uf
u
t
t
yf
t
y
t
yc
Process
Figura 16.4: Respuestas libre y forzada
16.4.2. Funcion objetivo
Los diversos algoritmos de mpc proponen distintas funciones de coste para la ob-
tencion de la ley de control. En general se persigue que la salida futura en el horizonte
considerado siga a una determinada senal de referencia al mismo tiempo que se puede
penalizar el esfuerzo de control requerido para hacerlo. La expresion general de tal
funcion objetivo sera:
J(N1, N2, Nu) =
N2∑j=N1
δ(j)[y(t + j | t)− w(t + j)]2 +Nu∑j=1
λ(j)[4u(t + j − 1)]2 (16.3)
CAPITULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 245
En algunos metodos el segundo sumando, que considera el esfuerzo de control, no
se tiene en cuenta, mientras que en otros tambien aparecen directamente los valores de
la senal de control (no sus incrementos). En la funcion de coste se pueden considerar:
Parametros: N1 y N2 son los horizontes mınimo y maximo de coste (o de predic-
cion) y Nu es el horizonte de control, que no tiene por que coincidir con el
horizonte maximo, como se vera posteriormente. El significado de N1 y N2 re-
sulta 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 N1 es porque
no importa que haya errores en los primeros instantes, lo cual provocara una re-
spuesta suave del proceso. Notese que para procesos con tiempo muerto d no tiene
sentido que N1 sea menor que dicho valor puesto que la salida no empezara a
evolucionar hasta el instante t + d. Ademas, si el proceso es de fase no mınima,
este parametro permite eliminar de la funcion objetivo los primeros instantes de
respuesta inversa.
Los coeficientes δ(j) y λ(j) son secuencias que ponderan el comportamiento fu-
turo. 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) = αN2−j
Si α esta comprendido entre 0 y 1 indica que se penaliza mas a los errores mas
alejados del instante t que a los mas proximos, dando lugar a un control mas
suave y con menor esfuerzo. Si, por el contrario, α > 1 es que se penalizan mas
los primeros errores, provocando un control mas brusco.
Todos estos valores pueden ser usados como parametros de sintonizacion, obte-
niendo un abanico muy amplio de posibilidades con las que se puede cubrir una ex-
tensa gama de opciones, desde un control estandar hasta una estrategia disenada
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 evolucion 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
evolucion futura de la referencia r(t + k) es conocida de antemano, como en
Robotica, 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 adelantandose a esa circunstancia.
En el criterio de minimizacion (16.3), la mayorıa de los metodos suelen usar una
trayectoria de referencia w(t + k) que no tiene por que coincidir con la referencia
246 ELEMENTOS BASICOS
real. Normalmente sera una suave aproximacion 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 parametro comprendido entre 0 y 1 (mientras mas proximo a 1 mas
suave sera la aproximacion) que constituye un valor ajustable que influira en
la respuesta dinamica 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 pequenos de este parametro se tiene un seguimiento rapido
(w1) mientras que si aumenta, la trayectoria de referencia sera w2 dando lugar a
una respuesta mas suave.
y(t)
r(t+k)
w (t+k) w (t+k)
t
12
Figura 16.5: Trayectoria de referencia
Restricciones: En la practica, todos los procesos estan sujetos a restricciones. Los
actuadores tienen un campo limitado de accion ası como una determinada veloci-
dad de cambio (slew rate), como es el caso de las valvulas, limitadas por las posi-
ciones 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
depositos, caudales en tuberıas o temperaturas y presiones maximas. Ademas,
normalmente las condiciones de operacion vienen definidas por la interseccion
de ciertas restricciones por motivos fundamentalmente economicos, con lo que el
sistema de control operara cerca de los lımites. Todo lo expuesto anteriormente
hace necesaria la introduccion de restricciones en la funcion 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 consideraran lımites
CAPITULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 247
en la amplitud y el slew rate de la senal de control y lımites en las salidas:
umin ≤ u(t) ≤ umax ∀tdumin ≤ u(t)− u(t− 1) ≤ dumax ∀tymin ≤ y(t) ≤ ymax ∀t
con la adicion de estas restricciones a la funcion objetivo, la minimizacion resulta
mas compleja, no pudiendo obtenerse la solucion analıticamente como en el caso
sin restringir.
16.4.3. Obtencion de la ley de control
Para obtener los valores u(t + k | t) sera necesario minimizar la funcional J de la
ecuacion (16.3). Para ello se calculan los valores de las salidas predichas y(t + k | t)
en funcion de valores pasados de entradas y salidas y de senales de control futuras,
haciendo uso del modelo que se haya elegido y se sustituyen en la funcion de coste,
obteniendo una expresion cuya minimizacion conduce a los valores buscados. Para el
criterio cuadratico si el modelo es lineal y no existen restricciones se puede obtener una
solucion analıtica, en otro caso se debe usar un metodo iterativo de optimizacion.
De cualquiera de las maneras la obtencion de la solucion no resulta trivial pues
existiran N2 −N1 + 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. Ademas se ha encontrado que esta estructuracion 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 evolucion de
las variables manipuladas (sin estructurar) puede conducir a senales 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 (Nu), que consiste en considerar que tras un cierto intervalo Nu < N2 no
hay variacion en las senales de control propuestas, es decir:
4u(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 Nu igual a 1 con lo que todas las acciones
futuras serıan iguales a u(t)2.
2Recuerdese que debido al horizonte deslizante, la senal de control se recalcula en el siguientemuestreo.
248 REVISION DE LOS PRINCIPALES ALGORITMOS
16.5. Revision de los principales algoritmos
Se presentan a continuacion los principales algoritmos de control predictivo, mostran-
do sus principales caracterısticas pero sin entrar en detalles. En el tema siguiente se
estudiaran en detalle los dos metodos considerados mas representativos: dmc y gpc.
16.5.0.1. Dynamic Matrix Control
Este metodo usa la respuesta ante escalon (16.2) para modelar el proceso, con-
siderando solo los N primeros terminos, 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) = ym(t)− y(t | t)
y por tanto el valor predicho de la salida sera:
y(t + k | t) =k∑
i=1
gi 4 u(t + k − i) +N∑
i=k+1
gi 4 u(t + k − i) + n(t + k | t)
donde el primer termino contiene las acciones de control futuras (que seran calculadas),
el segundo los valores pasados de las acciones de control (conocidas) y el ultimo rep-
resenta las perturbaciones. La funcion de coste puede considerar solo errores futuros o
incluir tambien el esfuerzo de control, en cuyo caso toma la forma generica (16.3).
Una de las caracterısticas de este metodo que lo ha hecho muy popular en la in-
dustria es la inclusion de restricciones, que se traduce en inecuaciones de la forma
generica:
N∑i=1
Cjyiy(t + k | t) + Cj
uiu(t + k − i) + cj ≤ 0 j = 1 . . . Nc
En este caso la optimizacion debe ser numerica y se lleva a cabo en cada periodo de
muestreo, enviandose la senal u(t) y recalculando todo en el nuevo periodo de muestreo,
como en todos los metodos mpc. Los principales inconvenientes de este metodo son el
tamano del modelo empleado y la imposibilidad de tratar procesos inestables.
CAPITULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 249
16.5.0.2. Model Algorithmic Control
Este metodo se conoce tambien como Model Predictive Heuristic Control y el pro-
ducto 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 segun una determinada constante de tiempo. La var-
ianza del error entre esta trayectoria y la salida es lo que marca la minimizacion de la
funcion objetivo. Las perturbaciones se pueden tratar como en el metodo anterior o se
pueden estimar segun la siguiente expresion:
n(t + k | t) = αn(t + k − 1 | t) + (1− α)(ym(t)− y(t | t))con n(t | t) = 0. α es un parametro ajustable (0 ≤ α < 1) relacionado con el tiempo
de respuesta, el ancho de banda y la robustez del bucle cerrado. El metodo tambien
considera restricciones en los actuadores, en las variables internas o en salidas secun-
darias.
16.5.0.3. Predictive Functional Control
Este controlador fue desarrollado por Richalet para procesos rapidos. Emplea un
modelo en el espacio de estados, por lo que permite el manejo de procesos inestables,
y tambien la extension al caso no lineal. Este esquema de control tiene dos carac-
terı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 calculos considerando solo un subconjunto de puntos en el horizonte de prediccion
hj, j = 1, . . . , nH . La salida deseada y la predicha deben coincidir en dichos puntos, no
en todo el horizonte de prediccion.
La otra idea innovadora de este metodo es la parametrizacion de la senal de con-
trol como una combinacion lineal de ciertas funciones base, que son elegidas segun la
naturaleza del proceso y la referencia:
u(t + k) =
nB∑i=1
µi(t)Bi(k)
Normalmente estas funciones son de tipo polinomico: escalones (B1(k) = 1), rampas
(B2(k) = k) o parabolas (B3(k) = k2), ya que la mayorıa de referencias se pueden es-
pecificar como combinacion de estas funciones. Con esta estrategia, un perfil de entrada
250 REVISION DE LOS PRINCIPALES ALGORITMOS
Puntos de coincidencia
Figura 16.6: Puntos de coincidencia
complejo se puede especificar usando un pequeno numero de parametros desconocidos
µi que son las incognitas del problema de minimizacion.
La funcion a minimizar es:
J =
nH∑j=1
[y(t + hj)− w(t + hj)]2
El algoritmo pfc tambien puede manejar restricciones de maximo y mınimo en la
aceleracion, que son practicas en aplicaciones de servocontrol.
16.5.0.4. Extended Prediction Self Adaptive Control
El algoritmo epsac usa un modelo de funcion de transferencia
A(z−1)y(t) = B(z−1)u(t− d) + v(t)
donde d es el retardo y v(t) la perturbacion. Este modelo puede ampliarse para tratar
perturbaciones medibles anadiendo un termino D(z−1)d(t) para incluir efecto feedfor-
ward. La estructura de la ley de control es muy simple, ya que se considera que la senal
de control permanecera constante a partir del instante t (es decir, horizonte de control
igual a 1): 4u(t+k) = 0 para k > 0. Para obtener la senal de control de minimiza una
funcion de coste de la forma:
N∑
k=d
γ(k)[w(t + k)− P (z−1)y(t + k | t)]2
CAPITULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 251
donde P (z−1) es un polinomio de diseno con ganancia unitaria y γ(k) es una secuencia
de ponderacion. La senal de control se puede calcular analıticamente de la forma:
u(t) =
N∑k=d
hkγ(k)[w(t + k)− P (z−1)y(t + k | t)]N∑
k=d
γ(k)h2k
siendo hk los coeficientes de la respuesta impulsional del sistema.
16.5.0.5. Extended Horizon Adaptive Control
Esta formulacion tambien emplea un modelo de funcion 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 solucion a este problema no es unica (a menos
que N = d); una posible estrategia es considerar horizonte de control igual a 1:
4u(t + k − 1) = 0 1 < k ≤ N − d
o minimizar el esfuerzo de control
J =N−d∑
k=0
u2(t + k)
Este metodo utiliza un predictor de N pasos de la forma
y(t + N | t) = y(t) + F (z−1)4 y(t) + E(z−1)B(z−1)4 u(t + N − d)
donde E(z−1) y F (z−1) son polinomios que satisfacen la relacion
(1− z−1) = A(z−1)E(z−1)(1− z−1) + z−NF (z−1)(1− z−1)
con el grado de E igual a N−1. Una ventaja de este metodo es que se puede encontrar
facilmente una solucion explıcita, dada por
u(t) = u(t− 1) +α0(w(t + N)− y(t + N | t))
N−d∑k=0
α2i
siendo αk el coeficiente correspondiente a 4u(t + k) en la ecuacion de prediccion. Por
tanto la ley de control depende solo de los parametros del proceso y puede hacerse
facilmente adaptativa si se emplea un identificador en lınea. El unico coeficiente de
ajuste es el horizonte de prediccion N , lo cual simplifica el uso pero proporciona poca
libertad para el diseno. Observese que no puede usarse trayectoria de referencia porque
el error se considera solo en un instante (t+N), ni tampoco la ponderacion del esfuerzo
de control.
252 REVISION DE LOS PRINCIPALES ALGORITMOS
16.5.0.6. Generalized Predictive Control
Este metodo propuesto por Clarke et al. emplea un modelo carima (Controlled
Auto-Regressive Integrated Moving Average) para la prediccion de la salida:
A(z−1)y(t) = B(z−1)z−d u(t− 1) + C(z−1)e(t)
4donde la perturbacion viene dada por un ruido blanco coloreado por el polinomio
C(z−1). Como en la practica es difıcil encontrar el verdadero valor de este polinomio,
se puede emplear como parametro de diseno para rechazo de perturbaciones o mejora de
la robustez. La prediccion optima se lleva a cabo resolviendo una ecuacion diofantica,
lo cual puede hacerse eficazmente de forma recursiva.
Este algoritmo, al igual que otros que usan el modelo de funcion de transferencia,
se puede implementar facilmente en forma adaptativa usando un algoritmo de identi-
ficacion en lınea como los mınimos cuadrados recursivos.
gpc usa una funcion de coste cuadratica de la forma
J(N1, N2, Nu) =
N2∑j=N1
δ(j)[y(t + j | t)− w(t + j)]2 +Nu∑j=1
λ(j)[4u(t + j − 1)]2
donde las secuencia de ponderacion δ(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 teoricas del algoritmo gpc has sido ampliamente estudiadas y se puede
demostrar que, para distintos conjuntos de parametros, 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 metodo Dmc se desarrollo 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 mas que un algoritmo y parte
de su exito se debe al hecho de que el producto comercial resuelve otros temas como
identificacion u optimizacion global de la planta. En esta seccion solo se analiza el
algoritmo standard sin abordar detalles tecnicos propios del producto de mercado que
no son de dominio publico.
Pero a pesar de este exito en la practica, este metodo adolece quizas de la ausencia
de un analisis teorico mas completo que estudie la influencia de los parametros de
diseno (horizontes, secuencias de ponderacion) sobre la estabilidad del bucle cerrado
ası como de resultados de robustez.
17.1.1. Prediccion
El modelo de proceso que se emplea es el de respuesta temporal, considerando la
perturbacion como constante a lo largo del horizonte. El procedimiento para obtener
la prediccion se describe a continuacion.
253
254 DYNAMIC MATRIX CONTROL
Como se emplea un modelo de respuesta ante escalon:
y(t) =∞∑i=1
gi 4 u(t− i)
los valores predichos a lo largo del horizonte seran:
y(t + k | t) =∞∑i=1
gi 4 u(t + k − i) + n(t + k | t) =
=k∑
i=1
gi 4 u(t + k − i) +∞∑
i=k+1
gi 4 u(t + k − i) + n(t + k | t)
Las perturbaciones se consideran constantes, n(t+k | t) = n(t | t) = ym(t)− y(t | t),por lo que se puede escribir:
y(t + k | t) =k∑
i=1
gi 4 u(t + k − i) +∞∑
i=k+1
gi 4 u(t + k − i) + ym(t)−
−∞∑i=1
gi 4 u(t− i) =k∑
i=1
gi 4 u(t + k − i) + f(t + k)
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) = ym(t) +∞∑i=1
(gk+i − gi)4 u(t− i) (17.1)
Si el proceso es asintoticamente estable, los coeficientes gi de la respuesta ante
escalon tienden a un valor constante despues 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
f(t + k) = ym(t) +N∑
i=1
(gk+i − gi)4 u(t− i)
Notese que si el proceso no es estable, entonces no existe N y no se puede calcu-
lar f(t + k) (aunque existe una generalizacion en el caso de que la inestabilidad sea
producida por integradores puros).
CAPITULO 17. CONTROLADORES PREDICTIVOS 255
Ahora las predicciones se pueden calcular a lo largo del horizonte de prediccion
(k = 1, . . . , p), considerando m acciones de control.
y(t + 1 | t) = g1 4 u(t) + f(t + 1)
y(t + 2 | t) = g2 4 u(t) + g1 4 u(t + 1) + f(t + 2)...
y(t + p | t) =
p∑i=p−m+1
gi 4 u(t + p− i) + f(t + p)
Si se define la matriz dinamica G como:
G =
g1 0 · · · 0
g2 g1 · · · 0...
.... . .
...
gm gm−1 · · · g1
......
. . ....
gp gp−1 · · · gp−m+1
se puede escribir que:
y = Gu + f (17.2)
Observese que G esta formada por m (horizonte de control) columnas de la respuesta
ante escalon apropiadamente desplazadas hacia abajo. y es un vector de dimension 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 expresion que relaciona las
respuestas futuras con los incrementos en las senales de control, por lo que usara 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 anadir facilmente a las anteriores
ecuaciones de prediccion, ya que estas se pueden tratar como entradas al sistema. La ex-
presion (17.2) se puede usar para calcular la prediccion del efecto de las perturbaciones
en la salida de la siguiente forma:
yd = Dd + fd
256 DYNAMIC MATRIX CONTROL
donde yd es la contribucion 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 escalon en la
perturbacion, d es el vector de incrementos en la perturbacion y fd es la parte de la
respuesta que no depende de la perturbacion.
En el caso mas general de perturbaciones medibles y no medibles, la respuesta libre
completa del sistema (la fraccion 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
perturbacion medible d(t), a la perturbacion no medible y al estado actual del proceso:
f = fu + Dd + fd + fn
Por tanto la prediccion 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 aplicacion a
sistemas multivariables de gran dimension con la consideracion de restricciones. En
esta seccion se describe el algoritmo de control comenzando por el caso mas simple
de un sistema monovariable sin restricciones y extendiendolo posteriormente al caso
general multivariable con restricciones.
El objetivo del controlador dmc es llevar el proceso los mas cerca posible al setpoint
en el sentido de mınimos cuadrados con la posibilidad de incluir una penalizacion en los
movimientos de la senal de control. Por ello se seleccionan las variables manipuladas de
forma que minimicen un objetivo cuadratico que puede incluir solo los errores futuros
J =
p∑j=1
[y(t + j | t)− w(t + j)]2
o tambien el esfuerzo de control, presentando la forma generica
J =
p∑j=1
[y(t + j | t)− w(t + j)]2 +m∑
j=1
λ[4u(t + j − 1)]2
Si no existen restricciones, la minimizacion de la funcion de coste J = eeT + λuuT ,
donde e es el vector de errores futuros a lo largo del horizonte de prediccion y u es el
CAPITULO 17. CONTROLADORES PREDICTIVOS 257
w
f
+
Ku
Procesoy
-
CalculoResp. libre
Figura 17.1: Ley de control
vector de futuros incrementos en la senal de control 4u(t), . . . ,4u(t + m), se puede
hacer de forma analıtica calculando la derivada de J y haciendola igual a 0, lo que
proporciona el resultado general:
u = (GT G + λI)−1GT (w − f) (17.3)
Recuerdese que, como en todas las estrategias predictivas, solo se envıa al proceso
el primer elemento del vector u (4u(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. Ademas, el setpoint puede cambiar durante los
proximos m intervalos.
Resulta interesante analizar en que consiste realmente la ley de control. Analizan-
do la expresion 17.3 se observa que el primer elemento del vector u, que es la senal
que efectivamente se envıa a la planta, es el producto de la primera fila de la matriz
(GT G+λI)−1GT (llamemosle K) por la diferencia entre la trayectoria de referencia y la
respuesta libre, que es el error futuro si no hubiera incrementos en la senal de control.
Se puede decir por tanto que el incremento de la senal de control es proporcional (por
medio de K) a los errores futuros y por tanto habra cambios en la senal 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
zona
P. operacionoptimo
segura 2
Zona segura 1
Punto operacion 1
Punto operacion 2
Restriccion
Restriccion
Figura 17.2: Punto de operacion optimo de un proceso tıpico
17.1.3.1. El caso con restricciones
Aunque computacionalmente mas complicado que otros algoritmos mas simples, la
capacidad de manejar restricciones que posee este metodo (y mpc en general) lo hace
muy atractivo para aplicaciones practicas, ya que en general el punto de operacion
optimo segun criterios economicos se encuentra normalmente en la interseccion 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 operacion, 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 economicos) si el controlador es
capaz de manejar restricciones (punto de operacion 1).
Las restricciones tanto en entrada como en salida se pueden reducir a desigualdades
de forma generica
N∑i=1
Cjyiy(t + k | t) + Cj
uiu(t + k − i) + cj ≤ 0 j = 1 . . . Nc
que deben tenerse en cuenta para la minimizacion. Como se ha visto, las salidas se
pueden expresar en funcion del vector de incrementos de control a traves de la matriz
dinamica, 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 vera con mas
detalle en el tema dedicado a restricciones. Ahora la minimizacion es un problema de
Programacion Cuadratica qp, cuya solucion es numerica.
CAPITULO 17. CONTROLADORES PREDICTIVOS 259
Todo lo relacionado con las restricciones sera abordado con mayor grado de detalle
en el tema dedicado a ello.
17.1.3.2. Extension al caso multivariable
El esquema previo se puede extender facilmente al caso de sistemas con varias
entradas y varias salidas. Las ecuaciones basicas se mantienen igual a excepcion de que
las matrices y vectores cambian de dimension para poder incluir todas las entradas y
salidas.
Al tratarse de modelos lineales, se puede aplicar el principio de superposicion 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 senales de control de la forma:
u = [4u1(t), . . . ,4u1(t + m1 − 1), . . . ,4unu(t), . . . ,4unu(t + mnu − 1)]T
ası como la respuesta libre:
f = [f1(t + 1 | t), . . . , f1(t + p1 | t), . . . , fny(t + 1 | t), . . . , fny(t + pny | t)]T
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 senales de control.
Con estas definiciones, la ecuacion de prediccion es igual que en el caso monovariable
simplemente considerando que la matriz G toma la forma:
G =
G11 G12 · · · G1nu
G21 G22 · · · G2nu
......
. . ....
Gny1 Gny2 · · · Gnynu
Cada submatriz Gij contiene los coeficientes de la respuesta ante escalon i-esima
correspondiente a la entrada j-esima. El proceso de minimizacion es analogo solo que la
ponderacion tanto de los errores como de los esfuerzos de control se realiza con matrices
de peso.
260 CONTROL PREDICTIVO GENERALIZADO
17.2. Control Predictivo Generalizado
El Control Predictivo Generalizado gpc fue propuesto por Clarke et al. en 1987
y se ha convertido en uno de los metodos mas populares en el ambito del Control
Predictivo tanto en el mundo industrial como en el academico. Se ha empleado con
exito en numerosas aplicaciones industriales, mostrando buenas prestaciones a la vez
que un cierto grado de robustez respecto a sobreparametrizacion o retardos mal cono-
cidos. Puede resolver muchos problemas de control diferentes para un amplio campo de
procesos con un numero razonable de variables de diseno, que son especificadas por el
operario dependiendo del conocimiento previo del proceso y de los objetivos de control.
La idea basica del gpc es calcular una secuencia de futuras acciones de control
de tal forma que minimice una funcion de coste multipaso. El ındice a minimizar es
una funcion cuadratica que mide por un lado la distancia entre la salida predicha del
sistema y una cierta trayectoria de referencia hasta el horizonte de prediccion, y por
otro el esfuerzo de control necesario para obtener dicha salida.
El Control Predictivo Generalizado tiene muchas ideas en comun con otros con-
troladores predictivos previamente mencionados ya que esta basado en las mismas
ideas pero posee a su vez algunas diferencias. Como se vera mas adelante, es capaz de
proporcionar una solucion explıcita (en ausencia de restricciones), puede trabajar con
procesos inestables o de fase no mınima e incorpora el concepto de horizonte de control
ası como la consideracion en la funcion de coste de ponderacion 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. Formulacion del Control Predictivo Generalizado
La mayorıa de los procesos de una sola entrada y una sola salida (single-input single-
output, 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−dB(z−1)u(t− 1) + C(z−1)e(t)
donde u(t) y y(t) son respectivamente la senal 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 atras z−1 :
A(z−1) = 1 + a1z−1 + a2z
−2 + ... + anaz−na
CAPITULO 17. CONTROLADORES PREDICTIVOS 261
B(z−1) = b0 + b1z−1 + b2z
−2 + ... + bnbz−nb
C(z−1) = 1 + c1z−1 + a2z
−2 + ... + cncz−nc
donde d es el tiempo muerto del sistema.
Este modelo es conocido como Autorregresivo de Media Movil (Controller Auto-
Regressive Moving-Average carma). En muchas aplicaciones industriales en las que
las perturbaciones son no-estacionarias resulta mas conveniente el uso de un modelo
carma integrado, dando lugar al carima, que viene descrito por:
A(z−1)y(t) = B(z−1)z−d u(t− 1) + C(z−1)e(t)
4 con 4 = 1− z−1 (17.4)
Por simplicidad, a partir de ahora el polinomio C se va a tomar igual a 1. Notese
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 senales de control que minimice una funcion de coste de la forma:
J(N1, N2, Nu) =
N2∑j=N1
δ(j)[y(t + j | t)− w(t + j)]2 +Nu∑j=1
λ(j)[4u(t + j − 1)]2 (17.5)
donde y(t + j | t) es la prediccion optima j pasos hacia delante de la salida del proceso
con datos conocidos hasta el instante t, N1 y N2 son los horizontes mınimo y maximo
de coste, Nu es el horizonte de control y δ(j) y λ(j) son las secuencias de ponderacion
mientras que w(t+j) es la futura trayectoria de referencia, que se puede calcular segun
se muestra en la figura 16.5. En muchas situaciones se considera δ(j) igual a 1 y λ(j)
constante.
El objetivo es pues el calculo de la futura secuencia de control u(t), u(t + 1),... de
tal manera que la salida futura del proceso y(t + j) permanezca proxima a w(t + j).
Esto se logra minimizando J(N1, N2, Nu).
17.2.1.1. Prediccion optima
Con la intencion de minimizar la funcion de coste, se obtendra previamente la
prediccion optima de y(t + j) para j ≥ N1 y j ≤ N2. Considerese la siguiente ecuacion
diofantica:
1 = Ej(z−1)4 A + z−jFj(z
−1) (17.6)
1 = Ej(z−1)A + z−jFj(z
−1)
262 CONTROL PREDICTIVO GENERALIZADO
Los polinomios Ej y Fj estan unicamente definidos con grados j − 1 y na respecti-
vamente. Se pueden obtener dividiendo 1 entre A(z−1) hasta que el resto pueda ser fac-
torizado como z−jFj(z−1). El cociente de la division es entonces el polinomio Ej(z
−1).
Si se multiplica la ecuacion (17.4) por Ej(z−1) zj 4
A(z−1)Ej(z−1)y(t + j) = Ej(z
−1)B(z−1)4 u(t + j − d− 1) + Ej(z−1)e(t + j) (17.7)
Teniendo en cuenta (17.6), la ecuacion (17.7) queda:
(1− z−jFj(z−1))y(t + j) = Ej(z
−1)B(z−1)4 u(t + j − d− 1) + Ej(z−1)e(t + j)
La cual se puede escribir como
y(t + j) = Fj(z−1)y(t) + Ej(z
−1)B(z−1)4 u(t + j − d− 1) + Ej(z−1)e(t + j) (17.8)
Al ser el grado del polinomio Ej(z−1) igual a j − 1 los terminos del ruido en la
ecuacion (17.8) estan todos en el futuro. La mejor prediccion de y(t + j) sera por
consiguiente:
y(t + j | t) = Gj(z−1)4 u(t + j − d− 1) + Fj(z
−1)y(t)
donde Gj(z−1) = Ej(z
−1)B(z−1)
Resulta simple demostrar que los polinomios Ej y Fj se pueden obtener recursiva-
mente, de forma que los nuevos valores en el paso j + 1 (Ej+1 y Fj+1) sean funcion de
los del paso j. A continuacion se muestra una demostracion simple de la recursividad
de la ecuacion diofantica. Existen otras formulaciones del gpc que no estan basadas
en la recursividad de esta ecuacion.
Considerense que los polinomios Ej y Fj se han obtenido dividiendo 1 entre A(z−1)
hasta que el resto haya sido factorizado como z−jFj(z−1) .
Con:
Fj(z−1) = fj,0 + fj,1z
−1 + · · ·+ fj,naz−na
Ej(z−1) = ej,0 + ej,1z
−1 + · · ·+ ej,j−1z−(j−1)
Supongase que se utiliza el mismo procedimiento para obtener Ej+1 y Fj+1, es decir,
dividir 1 entre A(z−1) hasta que el resto se pueda factorizar como z−(j+1)Fj+1(z−1) con
Fj+1(z−1) = fj+1,0 + fj+1,1z
−1 + · · ·+ fj+1,naz−na
CAPITULO 17. CONTROLADORES PREDICTIVOS 263
Esta claro que solamente es necesario dar un paso mas en la division para obtener
los polinomios Ej+1 y Fj+1. Al ser Ej+1 el nuevo cociente de la division, sera igual al
cociente que habıa hasta el momento (Ej) mas un nuevo termino, que sera el fj,0 pues
el divisor (A) es monico. Por tanto:
Ej+1(z−1) = Ej(z
−1) + ej+1,jz−j con ej+1,j = fj,0
Teniendo en cuenta que el nuevo resto sera el resto anterior menos el producto del
cociente por el divisor, los coeficientes del polinomio Fj+1 se pueden expresar como:
fj+1,i = fj,i+1 − fj,0 ai+1 i = 0 · · ·na
En resumen, la forma de obtener los polinmios Ej y Fj es la siguiente:
1. Comenzar con E1 = 1, F1 = z(1− A)
2. Ir anadiendo nuevos terminos a Ej con ej+1,j = fj,0
3. Calcular fj+1,i = fj,i+1 − fj,0 ai+1 i = 0 · · ·na, (siendo fj,na+1 = 0).
El polinomio Gj+1 puede ser obtenido recursivamente como sigue:
Gj+1 = Ej+1B = (Ej + fj,0z−j)B = Gj + fj,0z
−jB
Es decir, los primeros j coeficientes de Gj+1 seran identicos a los de Gj mientras
que el resto viene dado por:
gj+1,j+i = gj,j+i + fj,0 bi para i = 0 · · ·nb
Para resolver el gpc es necesario obtener el conjunto de senales de control u(t),
u(t + 1), ...,u(t + N) que minimizan la ecuacion (17.5). Al tener el proceso un retardo
de d perıodos de muestreo, la salida solo se vera influenciada por la senal u(t) despues
del instante d + 1. Los valores N1, N2 y Nu que marcan los horizontes pueden ser
definidos como N1 = d + 1, N2 = d + N y Nu = N . No tiene sentido hacer N1 < d + 1
ya que los terminos de (17.5) solo dependeran de las senales de control pasadas. Por
otro lado, haciendo N1 > d+1 los primeros puntos de la secuencia de salida, que seran
los mejor estimados, no se tendran en cuenta.
264 CONTROL PREDICTIVO GENERALIZADO
El conjunto de las j predicciones optimas:
y(t + d + 1 | t) = Gd+1 4 u(t) + Fd+1y(t)
y(t + d + 2 | t) = Gd+2 4 u(t + 1) + Fd+2y(t)...
y(t + d + N | t) = Gd+N 4 u(t + N − 1) + Fd+Ny(t)
puede ser escrito en forma matricial como:
y = Gu + F(z−1)y(t) + G′(z−1)4 u(t− 1) (17.9)
Donde
y =
y(t + d + 1 | t)y(t + d + 2 | t)
...
y(t + d + N | t)
u =
4u(t)
4u(t + 1)...
4u(t + N − 1)
G =
g0 0 ... 0
g1 g0 ... 0...
......
...
gN−1 gN−2 ... g0
G′(z−1) =
z(Gd+1(z−1)− g0)
z2(Gd+2(z−1)− g0 − g1z
−1)...
zN(Gd+N(z−1)− g0 − g1z−1 − · · · − gN−1z
−(N−1))
F(z−1) =
Fd+1(z−1)
Fd+2(z−1)
...
Fd+N(z−1)
Al depender los ultimos terminos de la ecuacion (17.9) solo del pasado, pueden
agruparse en f, dando lugar a:
y = Gu + f (17.10)
Observese que es la misma expresion que se obtuvo para el dmc, aunque en este
caso la respuesta libre es distinta.
CAPITULO 17. CONTROLADORES PREDICTIVOS 265
17.2.1.2. Obtencion de la ley de control
Entonces la ecuacion (17.5) puede escribirse como:
J = (Gu + f −w)T (Gu + f −w) + λuTu (17.11)
donde:
w =[
w(t + d + 1) w(t + d + 2) · · · w(t + d + N)]T
(17.12)
La ecuacion (17.11) se puede poner como:
J =1
2uTHu + bu + f0 (17.13)
donde:
H = 2(GTG + λI)
b = 2(f −w)TG
f0 = (f −w)T (f −w)
El mınimo de J , siempre que no existan restricciones en la senal de control, puede
ser calculado igualando a cero el gradiente de J , lo cual conduce a:
u = −H−1bT (17.14)
Debido al uso de la estrategia deslizante, solo se aplica realmente el primer elemento del
vector u, repitiendo de nuevo el mismo procedimiento al siguiente instante de muestreo.
La solucion propuesta involucra la inversion (o al menos la triangularizacion) de una
matriz de dimension N ×N , lo cual conlleva una gran carga de calculo. El concepto ya
usado en otros metodos de horizonte de control se emplea con la finalidad de reducir
la cantidad de calculo, asumiendo que las senales de control permaneceran en un valor
constante a partir del intervalo Nu < N . Por tanto la dimension de la matriz que hay
que invertir queda reducida a Nu×Nu, quedando la carga de calculo reducida (en el
caso lımite de Nu = 1, se reduce al caso escalar) aunque restringiendo la optimalidad.
17.2.2. Ejemplo de calculo
Se presenta a continuacion un ejemplo de calculo de un Controlador Predictivo
Generalizado en un caso sencillo. Se disenara el controlador para un sistema de primer
orden.
266 CONTROL PREDICTIVO GENERALIZADO
Al discretizar el proceso continuo se obtiene el siguiente equivalente discreto:
(1 + az−1)y(t) = (b0 + b1z−1)u(t− 1) +
e(t)
4Se va a considerar un retardo d igual a 0 y un polinomio de ruido C(z−1) igual a 1.
Se usara el algoritmo descrito previamente para obtener la ley de control, obteniendo
resultados numericos para valores de los paametros a = 0,8, b0 = 0,4 y b1 = 0,6, siendo
los horizontes N1 = 1 y N = Nu = 3. Como se ha mostrado, se calcularan los valores
predichos de la salida del proceso en el horizonte haciendo uso de la ecuacion (17.9),
obteniendo la ley de control de la expresion (17.14).
Resolviendo la ecuacion (17.6) se obtienen los polinomios del predictor Ej(z−1),
Fj(z−1) desde j = 1 hasta j = 3, con
A(z−1) = A(z−1)(1− z−1) = 1− 1,8z−1 + 0,8z−2
En este caso sencillo donde el horizonte no es demasiado largo, estos polinomios se
pueden obtener directamente dividiendo 1 por A(z−1). Como se ha explicado antes,
tambien se pueden calcular recursivamente, comenzando con los valores obtenidos en
el primer paso de la division, es decir:
E1(z−1) = 1 F1(z
−1) = 1,8− 0,8z−1
Cualquiera que sea el metodo empleado, los valores obtenidos son:
E2 = 1 + 1,8z−1 F2 = 2,44− 1,44z−1
E3 = 1 + 1,8z−1 + 2,44z−2 F3 = 2,952− 1,952z−1
Con estos valores y el polinomio B(z−1) = 0,4+0,6z−1, los elementos Gi(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)
=
0,4 0 0
1,32 0,4 0
2,056 1,32 0,4
4u(t)
4u(t + 1)
4u(t + 2)
+
+
0,64 u(t− 1) + 1,8y(t)− 0,8y(t− 1)
1,084 u(t− 1) + 2,44y(t)− 1,44y(t− 1)
1,4644 u(t− 1) + 2,952y(t)− 1,952y(t− 1)
︸ ︷︷ ︸f
CAPITULO 17. CONTROLADORES PREDICTIVOS 267
El paso siguiente es el calculo de H−1b. Tomando λ igual a 0,8 se tiene que:
(GTG + λI)−1GT =
0,133 0,286 0,147
−0,154 −0,165 0,286
−0,029 −0,154 0,1334
Como solo se necesita el valor de 4u(t) para los calculos, solo se emplea realmente la
primera fila de la matriz, con lo que resulta la siguiente expresion para la ley de control:
4u(t) = −0,60424 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 aproximacion de primer orden a esta.
Entonces la senal de control resulta ser una funcion 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 ecuacion diofantica, calculando
G en base a los coeficientes de la respuesta ante escalon (que se pueden calcular en
funcion de los coeficientes de la funcion 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 calculos son mas
complejos.
En este caso el modelo carima para un sistema de m entradas y n salidas se puede
expresar como:
A(z−1)y(t) = B(z−1)u(t− 1) +1
4C(z−1)e(t) (17.15)
268 CONTROL PREDICTIVO GENERALIZADO
donde A(z−1) y C(z−1) son matrices polinomiales monicas de dimension n×n y B(z−1)
es una matriz polinomial de dimension n×m, definidos como:
A(z−1) = In×n + A1z−1 + A2z
−2 + · · ·+ Anaz−na
B(z−1) = B0 + B1z−1 + B2z
−2 + · · ·+ Bnbz−nb
C(z−1) = In×n + C1z−1 + C2z
−2 + · · ·+ Cncz−nc
Las variablesy(t), u(t) y e(t) son de dimension n× 1, m× 1 y n× 1 respectivamente.
La prediccion conlleva la resolucion de una ecuacion diofantica matricial, que tambien
puede calcularse de forma recursiva.
En muchas ocasiones el problema radica en la obtencion 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 reaccion.
Una vez obtenido el modelo, el criterio a minimizar tendra la forma general
J(N1, N2, N3) =
N2∑j=N1
‖y(t + j | t)− w(t + j)‖2R +
N3∑j=1
‖ 4 u(t + j − 1)‖2Q
donde R y Q son matrices de ponderacion definidas positivas que normalmente se eligen
diagonales. La minimizacion se realiza igual que en el caso monovariable dando como
resultado un vector de senales 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 practica todos los procesos estan sujetos a restricciones. Los actuadores tienen
un campo limitado de accion impuesto por lımites fısicos (por ejemplo una valvula no
puede abrir mas de un 100% o un calentador no puede aportar mas de su potencia
maxima. Tambien existen lımites de seguridad (por ejemplo presiones o temperaturas
maximas), requerimientos tecnologicos (por ejemplo mantener temperaturas en un ran-
go 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 violacion trabajando alejados de los lımites (en zona
segura), operando lejos de la restriccion. Por seguridad se trabaja con una consigna
inferior, mas lejos del punto de operacion optimo, lo que normalmente equivale a una
disminucion de la calidad y/o cantidad en la produccion, ya que normalmente el punto
optimo se encuentra en la interseccion de las restricciones obligando a acercarse lo mas
269
270 RESTRICCIONES EN CONTROL PREDICTIVO
Pmax
P
P
P
QQ Q
1
2
1 2t
Figura 18.1: Restricciones y punto de operacion optimo
posible a las estas pero sin superarlas.
Si el controlador fuera capaz de tener en cuenta las restricciones y evitar su violacion,
el proceso podrıa operar mas cerca de estas y por tanto de forma mas eficiente. La figura
18.1 muestra un ejemplo donde existe una limitacion de presion maxima y se observa
como al alejar el punto de operacion del lımite la produccion Q disminuye.
En cuanto a la forma de operar de un controlador predictivo que no considera restric-
ciones el procedimiento es similar: si la senal de control calculada viola la restriccion,
se satura. Las senales futuras ni siquiera se tienen en cuenta, ya que normalmente no
se calculan. Esta forma de proceder no garantiza el caracter optimo de la solucion y en
ningun caso garantiza el cumplimiento de las restricciones en la salida. La violacion de
los lımites de las variables controladas puede ser mas costoso y peligroso, produciendo
danos en equipos y perdidas en la produccion.
La figura 18.2 muestra con claridad el fenomeno de perdida de la solucion optima
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
funcion 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 senal de control u(t) a umax el valor de la funcion 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
restriccion en el instante actual pero sı en el futuro (figura 18.2b) con lo que la senal
enviada al sistema (sin saturar) no es la mejor para el problema de dimension 2 que se
CAPITULO 18. OTROS ASPECTOS DEL CONTROL PREDICTIVO 271
u(t+1)
maxu
u max u(t)
u(t+1)
maxu
u max u(t)
cu u uc u
a) b)Figura 18.2: Restricciones en la senal de control
esta optimizando.
18.1.2. Restricciones en Control Predictivo
En la actualidad el mpc es la unica metodologıa capaz de incorporar las restricciones
de forma sistematica en la fase de diseno del controlador, siendo esta caracterıstica una
de las razones de su gran exito en la industria. Parece logico que al disponer de un
modelo dinamico del proceso se pueda conocer la evolucion 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 funcion
de la variable sobre la que se puede actuar, es decir, en funcion de u. Las restricciones
en la entrada estan ya expresadas en funcion de u y para las restricciones en la salida
se hace uso de las ecuaciones de prediccion que expresan el valor futuro de las salidas
en funcion de las senales de control futuras y valores conocidos en el instante t.
Cualquier controlador predictivo calcula la prediccion como:
y = Gu + f
por lo que tanto entradas como salidas se pueden expresar en funcion del vector de
incrementos de la senal de control.
272 RESTRICCIONES EN CONTROL PREDICTIVO
Las restricciones que aparecen seran basicamente amplitud y velocidad de cambio
en la senal de control y amplitud en la salida y se pueden expresar como:
U ≤ u(t) ≤ U ∀tu ≤ u(t)− u(t− 1) ≤ u ∀ty ≤ y(t) ≤ 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 ≤ Tu + u(t− 1) 1 ≤ 1 U
1 u ≤ u ≤ 1 u
1 y ≤ Gu + f ≤ 1 y
donde l es una matriz de dimension (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 dimension m×m. En forma condensada se pueden expresar
como:
R u ≤ c (18.1)
siendo
R =
IN×N
−IN×N
T
−T
G
−G
c =
l u
−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 monotono, evitar respuesta inicial inversa, etc.),
pudiendo expresarlas tambien de la forma generica (18.1).
Ademas de la clasificacion en restricciones en la entrada y en la salida segun a
que tipo de variable se apliquen, se puede hacer otra clasificacion atendiendo a la
forma de tratarlas. Ası, se puede hablar de:
CAPITULO 18. OTROS ASPECTOS DEL CONTROL PREDICTIVO 273
Restricciones duras como aquellas que no se pueden violar bajo ningun concepto.
En este grupo se incluyen las restricciones relacionadas con la operacion segura
del proceso.
Restricciones blandas, que son aquellas que pueden ser violadas en un momento
dado por no ser cruciales, pero la violacion se penaliza en la funcion objetivo
como un termino mas. Es una forma de relajar la restriccion.
18.1.3. Resolucion del problema
Con la adicion 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 minimizacion de una funcion cuadratica con
restricciones lineales, lo que se conoce como Programacion Cuadratica, qp. En este
caso no se puede encontrar una solucion analıtica como en el caso sin restricciones,
sino que hay que recurrir a metodos iterativos.
Resulta evidente que la carga de calculo sera considerable, ya que hay que encontrar
la solucion resolviendo el algoritmo iterativo en cada periodo de muestreo. Normalmente
el esfuerzo esta justificado por el beneficio economico obtenido al trabajar mas cerca del
punto de operacion optimo. Para resolver el problema qp existen diversos algoritmos
suficientemente probados.
Un problema asociado a la implementacion del control con restricciones es el analisis
de la estabilidad del bucle cerrado. Como es necesario utilizar metodos numericos para
resolver el problema de la optimizacion, 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 clasica
de control.
En los ultimos anos se ha trabajado mucho sobre la estabilidad en estas circun-
stancias, proponiendose soluciones basadas en la teorıa de Lyapunov. La idea basica
consiste en que la funcion de coste cuando el horizonte es infinito es monotona decre-
ciente (si existe solucion factible) y se puede interpretar como funcion de Lyapunov
que garantiza por tanto la estabilidad. Sin embargo, como la solucion tiene que ser
numerica, el numero de variables de decision tiene que ser finito, por lo que se han
274 RESTRICCIONES EN CONTROL PREDICTIVO
propuesto dos ideas. En la primera, se descompone la funcion 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. Gestion de restricciones
Durante la etapa de optimizacion puede aparecer problemas de no existencia de
solucion optima para unas restricciones dadas (no existe compatibilidad entre las re-
stricciones), por ejemplo por el planteamiento de unos objetivos inalcanzables para
unas restricciones dadas. Existen otras posibles causas de inexistencia de solucion, co-
mo es el caso de que una perturbacion saque al proceso fuera de la zona de trabajo
usual.
La factibilidad de un problema de optimizacion significa que la funcion objetivo
este acotada y que todas las restricciones sean satisfechas.
La no factibilidad puede aparecer en regimen permanente o en el transitorio. El
problema de la falta de solucion en regimen permanente puede venir provocado por
un objetivo de control irrealizable. Sin embargo, este tipo de no factibilidad puede ser
facilmente eliminado en la etapa de diseno evitando la inclusion de tales objetivos.
Tambien puede ser debido a cambios en referencias que hagan incompatibles las re-
stricciones (se quiera llevar alguna variable a un punto que es imposible de alcanzar
con una entrada que esta acotada).
En el regimen transitorio puede aparecer no factibilidad incluso cuando las restric-
ciones impuestas parezcan razonables. Restricciones que no causan problemas en op-
eracion normal pueden producir problemas bajo ciertas circunstancias. Puede que una
perturbacion 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 senales 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 optimo
se encuentre cerca de las restricciones y el sistema este sujeto a perturbaciones, llevando
a la salida a regiones prohibidas”.
CAPITULO 18. OTROS ASPECTOS DEL CONTROL PREDICTIVO 275
Límites físicos
Restricciones realesLímites de operación
Figura 18.3: Gestion de restricciones
18.1.4.1. Tecnicas de busqueda de soluciones factibles
Los metodos de gestion de restricciones tratan de recuperar la factibilidad actuando
sobre las restricciones segun 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 se-
guridad o por la propia construccion de los equipos (p.ej. actuadores)
Limites de operacion: 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 calculara los lımites reales (los que se envıan al
algoritmo qp) en base a los lımites de operacion pero sin salirse nunca de los lımites
fısicos, segun se observa en la figura 18.3.
Se analizan a continuacion posibles soluciones para este problema, que se pueden
agrupar en:
1. Desconexion del controlador.
276 RESTRICCIONES EN CONTROL PREDICTIVO
2. Eliminacion de restricciones.
3. Relajacion de restricciones.
4. Otras tecnicas.
1. Desconexion del controlador
La forma mas sencilla de resolver de este tipo de problemas es pasar el controlador
a posicion manual cuando aparecen las incompatibilidades de restricciones y volver a
operacion automatica cuando se recupera la admisibilidad de la solucion.
Este metodo, 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
tendra muy poca experiencia en la operacion. Adicionalmente, si las restricciones estan
relacionadas con aspectos de seguridad o economicos, las decisiones llevadas a cabo
cuando aparecen problematicas de compatibilidad de restricciones suelen ser crıticas
dado que en estos casos alguno de los objetivos del control no puede ser satisfecho.
El metodo suele ser utilizado cuando los problemas de incompatibilidad de restric-
ciones no son frecuentes.
2. Eliminacion de restricciones
La factibilidad se analiza en cada periodo de muestreo, por lo que la eliminacion
de restricciones se realiza de forma temporal. Periodicamente se chequea la factibilidad
para poder reinsertar restricciones eliminadas.
La eliminacion 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
optimizacion. Se pueden distinguir en la metodologıa de eliminacion de restricciones
varios tipos.
Eliminacion indiscriminada Con esta estrategia todas las restricciones se elimi-
nan cada vez que aparezcan problemas de existencia de solucion factible, quedando
la optimizacion de un problema sin restricciones. No es un metodo muy optimo para
CAPITULO 18. OTROS ASPECTOS DEL CONTROL PREDICTIVO 277
resolver el problema de la existencia de solucion admisible, pero es la forma mas rapida
de tener en cuenta incompatibilidad de restricciones.
La eliminacion indiscriminada de restricciones no es adecuada en todas las aplica-
ciones. No debe ser por ejemplo usada en casos en que las restricciones esten directa-
mente relacionadas con lımites de seguridad.
Eliminacion jerarquica En este caso solo se eliminan las restricciones que provocan
problemas de incompatibilidad. En este metodo se asigna en la etapa de diseno una
prioridad a cada restriccion, que da un grado de importancia relativa de dicha restric-
cion frente a las otras. Esta prioridad se usara para clasificar las restricciones de una
forma jerarquica (se asigna un numero que indica su posicion en la jerarquıa). De este
modo, cada vez que haya problemas de factibilidad o existencia de solucion el gestor
de restricciones va eliminando por orden las restricciones menos prioritarias hasta que
se restablece la factibilidad de la solucion, 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 numero de restricciones que se eliminan, si conviene
eliminar mas restricciones a costa de no eliminar una con prioridad superior, etc.
3. Relajacion de restricciones
Otro metodo para tener en cuenta el problema de existencia de solucion es la re-
lajacion de las restricciones. Se puede hacer una relajacion de los lımites de forma
temporal o convertir restricciones duras (Ru ≤ c), cambiandolas en restricciones blan-
das (Ru ≤ c + ε, con ε ≥ 0) para asegurar la existencia de solucion, anadiendo un
termino εTTε a la funcion de coste de forma que se penalice la violacion de la re-
striccion y obtener un mejor comportamiento del sistema controlado. A largo plazo, el
termino de penalizacion en la funcion objetivo llevara las variables auxiliares a cero.
4. Otras tecnicas
Existen tecnicas que se basan en la manipulacion del horizonte mınimo de las restric-
ciones. Algunos controladores industriales como el qdmc usan el concepto de constraint
window. La constraint window comienza en algun punto en el futuro y continua hasta
el estado estacionario. Si existe dinamica 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.
278 RESTRICCIONES EN CONTROL PREDICTIVO
Recommended