Vous êtes sur la page 1sur 300

Depto.

de Ingenierı́a de Sistemas y Automática

APUNTES DE INGENIERÍA DE CONTROL

Daniel Rodrı́guez Ramı́rez

Carlos Bordóns Alba

Rev. 4/05/2007
Índice general

Lista de figuras XIII

1. Introducción al control por computador 1

1.1. Conceptos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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. Instrumentación especı́fica de los sistemas de control por computador . 9

1.6. Software de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2. Secuencias y transformada Z 13

2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2. Secuencia de ponderación . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3. Transformada en Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3.1. Transformadas de algunas señales tı́picas . . . . . . . . . . . . . 16

2.4. Propiedades de la transformada Z . . . . . . . . . . . . . . . . . . . . . 17

i
ii ÍNDICE GENERAL

2.5. Transformada Z inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.5.1. Serie infinita de potencias . . . . . . . . . . . . . . . . . . . . . 21

2.5.2. Descomposición en fracciones . . . . . . . . . . . . . . . . . . . 22

2.6. Función de transferencia en Z . . . . . . . . . . . . . . . . . . . . . . . 24

3. Proceso de muestreo 25

3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2. Repaso de la transformada de Fourier . . . . . . . . . . . . . . . . . . . 26

3.3. Muestreo de sistemas continuos . . . . . . . . . . . . . . . . . . . . . . 27

3.4. Reconstrucción de una señal muestreada . . . . . . . . . . . . . . . . . 29

3.5. Aliasing o enmascaramiento de frecuencias . . . . . . . . . . . . . . . . 31

3.6. Obtención de la función de transferencia pulsada . . . . . . . . . . . . . 32

4. Análisis 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: relación 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


ÍNDICE GENERAL iii

5. Diseño de controladores discretos 59

5.1. Discretización de reguladores continuos . . . . . . . . . . . . . . . . . . 59

5.1.1. Aproximación rectangular hacia delante (Euler I) . . . . . . . . 60

5.1.2. Aproximación rectangular hacia atras (Euler II) . . . . . . . . . 62

5.1.3. Aproximación 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 atrás . . . . . . . . . . . . . . . . . . . . . . 65

5.2.3. Trapezoidal o Bilineal . . . . . . . . . . . . . . . . . . . . . . . 66

5.3. Estabilidad de las aproximaciones de la integral . . . . . . . . . . . . . 66

5.4. Método de diseño directo . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.4.1. Causalidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.4.2. Estabilidad Interna . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.4.3. Errores en régimen permanente . . . . . . . . . . . . . . . . . . 74

5.5. Control en un número finito de intervalos. Control dead-beat . . . . . . 76

6. Control de sistemas discretos en el espacio de estados 79

6.1. Representación de sistemas discretos en el espacio de estados . . . . . . 79

6.2. Obtención de la representación de en espacio de estados de sistemas


discretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6.2.1. Método de programación directa . . . . . . . . . . . . . . . . . . 81


iv ÍNDICE GENERAL

6.2.2. Método de programación anidada . . . . . . . . . . . . . . . . . 83

6.3. La representación en espacio de estados de un sistema no es única . . . 84

6.4. Resolución de las ecuaciones del espacio de estados . . . . . . . . . . . 85

6.4.1. Procedimiento recursivo . . . . . . . . . . . . . . . . . . . . . . 85

6.4.2. Matriz de transición de estados . . . . . . . . . . . . . . . . . . 86

6.4.3. Método basado en la transformada Z . . . . . . . . . . . . . . . 87

6.4.3.1. Procedimiento alternativo para calcular (zI − G)−1 . . 88

6.5. Discretización 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. Transformación de un sistema en formas canónicas . . . . . . . . . . . 97

6.7.1. Obtención de la forma canónica controlable . . . . . . . . . . . 98

6.7.2. Obtención de la forma canónica observable . . . . . . . . . . . . 98

6.8. Colocación de polos mediante realimentación del vector de estados . . . 99

6.8.1. Condición necesaria y suficiente para la colocación arbitraria de


polos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

6.8.2. Procedimientos para calcular K . . . . . . . . . . . . . . . . . . 100

6.8.2.1. Procedimiento alternativo: la fórmula de Ackermann . 102


ÍNDICE GENERAL v

6.8.3. Control Dead-Beat . . . . . . . . . . . . . . . . . . . . . . . . . 102

6.9. Observadores del estado . . . . . . . . . . . . . . . . . . . . . . . . . . 105

6.9.1. Procedimiento iterativo para la estimación del estado . . . . . . 106

6.9.2. Observador del estado completo . . . . . . . . . . . . . . . . . . 108

6.9.2.1. Cálculo de Ke . . . . . . . . . . . . . . . . . . . . . . . 110

6.9.2.2. Comentarios acerca del papel de Ke . . . . . . . . . . 112

6.9.2.3. Efectos de la adición del observador . . . . . . . . . . . 113

6.9.3. Observador de orden mı́nimo . . . . . . . . . . . . . . . . . . . . 114

6.10. Control óptimo LQR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

6.10.1. Solución de la ecuación de Riccatti . . . . . . . . . . . . . . . . 121

6.11. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

7. Modelos de procesos y perturbaciones 123

7.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

7.2. Perturbaciones deterministas a trozos . . . . . . . . . . . . . . . . . . . 124

7.3. Procesos estocásticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

7.4. Modelos de procesos con ruidos . . . . . . . . . . . . . . . . . . . . . . 126

8. Introducción a la identificación de sistemas 129

8.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

8.2. Ideas básicas sobre identificación de sistemas . . . . . . . . . . . . . . . 130


vi ÍNDICE GENERAL

8.2.1. Planificación de los experimentos . . . . . . . . . . . . . . . . . 130

8.2.2. Selección del tipo de modelo . . . . . . . . . . . . . . . . . . . . 131

8.2.3. Elección de un criterio . . . . . . . . . . . . . . . . . . . . . . . 132

8.2.4. Estimación de los parámetros . . . . . . . . . . . . . . . . . . . 132

8.2.4.1. Identificación en lı́nea . . . . . . . . . . . . . . . . . . 132

8.2.4.2. Identificación fuera de lı́nea . . . . . . . . . . . . . . . 133

8.2.5. Validación del modelo . . . . . . . . . . . . . . . . . . . . . . . 133

8.2.6. Resumen del proceso de identificación . . . . . . . . . . . . . . . 135

8.3. Algunas propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

8.3.1. Excitación persistente . . . . . . . . . . . . . . . . . . . . . . . 136

8.3.2. Convergencia e identificabilidad . . . . . . . . . . . . . . . . . . 137

8.3.2.1. Identificación en bucle cerrado . . . . . . . . . . . . . . 138

8.3.3. Niveles de supervisión y acondicionamiento . . . . . . . . . . . . 140

9. Identificación por mı́nimos cuadrados 141

9.1. El método de los mı́nimos cuadrados . . . . . . . . . . . . . . . . . . . 141

9.2. Algoritmo recursivo para identificación en linea . . . . . . . . . . . . . 143

9.3. Interpretación estadı́stica . . . . . . . . . . . . . . . . . . . . . . . . . . 145

9.4. Mı́nimos cuadrados ponderados . . . . . . . . . . . . . . . . . . . . . . 148

9.5. Mı́nimos cuadrados extendidos y generalizados . . . . . . . . . . . . . . 149

9.6. Estimación de los valores de continua . . . . . . . . . . . . . . . . . . . 150


ÍNDICE GENERAL vii

9.6.1. Utilización de los incrementos de las variables . . . . . . . . . . 151

9.6.2. Cálculo de los valores medios . . . . . . . . . . . . . . . . . . . 151

9.6.3. Estimación de una constante . . . . . . . . . . . . . . . . . . . . 151

9.7. Importancia del orden del modelo . . . . . . . . . . . . . . . . . . . . . 152

9.8. Identificación de sistemas con retardo o no lineales . . . . . . . . . . . . 155

9.9. Consideraciones finales . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

10.Control de sistemas con grandes retrasos 159

10.1. Sistemas con retraso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

10.1.1. Representación matemática del retraso . . . . . . . . . . . . . . 161

10.1.2. Problemática del control de sistemas con retraso . . . . . . . . . 162

10.2. El Predictor de Smith . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

10.2.1. Efecto de los errores de modelado en el Predictor de Smith . . . 170

10.2.2. El Predictor PI . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

10.2.3. El Predictor de Smith para sistemas en tiempo discreto . . . . . 172

10.3. Control de sistemas con respuesta inversa . . . . . . . . . . . . . . . . . 173

11.Control de procesos con perturbaciones medibles 177

11.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

11.2. Control en cascada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

11.2.1. Estructura de un sistema de control en cascada . . . . . . . . . 179


viii ÍNDICE GENERAL

11.2.2. Sintonización de controladores en cascada . . . . . . . . . . . . 180

11.3. Control anticipativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

11.3.1. Consideraciones prácticas sobre los controladores anticipativos . 183

12.Control de procesos multivariables 185

12.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

12.2. Sistemas multivariables . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

12.3. Medida de las interacciones. Método de Bristol . . . . . . . . . . . . . . 188

12.4. Control de procesos multivariables mediante desacoplo . . . . . . . . . 192

13.Introducción al control adaptativo 199

13.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . 199

13.1.1. Clasificación grosso modo de los sistemas de control adaptativo . 201

13.2. Justificación del uso de control adaptativo . . . . . . . . . . . . . . . . 202

13.3. Control adaptativo por modelo de referencia (MRAC) . . . . . . . . . . 205

13.3.1. La regla del MIT . . . . . . . . . . . . . . . . . . . . . . . . . . 207

14.Reguladores Autoajustables (STR) 211

14.1. Introducción. 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


ÍNDICE GENERAL ix

14.3. Asignación de polos y ceros . . . . . . . . . . . . . . . . . . . . . . . . 218

14.3.1. Algoritmo con estructura implı́cita. . . . . . . . . . . . . . . . . 221

14.3.2. Algoritmo con estructura explı́cita . . . . . . . . . . . . . . . . . 222

15.Controladores PID con autoajuste y Ajuste por tabla 223

15.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

15.2. Función de autoajuste (autotuning) . . . . . . . . . . . . . . . . . . . . 223

15.3. Funciones de autoajuste para PIDs . . . . . . . . . . . . . . . . . . . . 225

15.3.1. Técnicas de ajuste basadas en la respuesta transitoria . . . . . . 226

15.3.2. Métodos basados en las oscilaciones producidas al realimentar


con un relé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

15.4. La técnica de ajuste por tabla o gain scheduling . . . . . . . . . . . . . 228

15.5. Controladores adaptativos industriales . . . . . . . . . . . . . . . . . . 231

15.5.1. SattControl ECA40 y Fisher-Rosemount DPR900 . . . . . . . . 233

15.5.2. Foxboro EXACT . . . . . . . . . . . . . . . . . . . . . . . . . . 233

15.5.3. ABB Novatune . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

16.Control Predictivo Basado en Modelo (MPC) 235

16.1. Perspectiva histórica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

16.2. Conceptos básicos de control predictivo . . . . . . . . . . . . . . . . . . 236

16.3. Estrategia de los controladores predictivos . . . . . . . . . . . . . . . . 237

16.4. Elementos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240


x ÍNDICE GENERAL

16.4.1. Modelo de predicción . . . . . . . . . . . . . . . . . . . . . . . . 240

16.4.1.1. Respuestas libre y forzada . . . . . . . . . . . . . . . . 243

16.4.2. Función objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . 244

16.4.3. Obtención de la ley de control . . . . . . . . . . . . . . . . . . . 247

16.5. Revisión de los principales algoritmos . . . . . . . . . . . . . . . . . . . 248

16.5.0.1. Dynamic Matrix Control . . . . . . . . . . . . . . . . . 248

16.5.0.2. Model Algorithmic Control . . . . . . . . . . . . . . . 249

16.5.0.3. Predictive Functional Control . . . . . . . . . . . . . . 249

16.5.0.4. Extended Prediction Self Adaptive Control . . . . . . 250

16.5.0.5. Extended Horizon Adaptive Control . . . . . . . . . . 251

16.5.0.6. Generalized Predictive Control . . . . . . . . . . . . . 252

17.Controladores predictivos 253

17.1. Dynamic Matrix Control . . . . . . . . . . . . . . . . . . . . . . . . . . 253

17.1.1. Predicción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

17.1.2. Perturbaciones medibles . . . . . . . . . . . . . . . . . . . . . . 255

17.1.3. Algoritmo de control . . . . . . . . . . . . . . . . . . . . . . . . 256

17.1.3.1. El caso con restricciones . . . . . . . . . . . . . . . . . 258

17.1.3.2. Extensión al caso multivariable . . . . . . . . . . . . . 259

17.2. Control Predictivo Generalizado . . . . . . . . . . . . . . . . . . . . . . 260

17.2.1. Formulación del Control Predictivo Generalizado . . . . . . . . 260


ÍNDICE GENERAL xi

17.2.1.1. Predicción óptima . . . . . . . . . . . . . . . . . . . . 261

17.2.1.2. Obtención de la ley de control . . . . . . . . . . . . . . 265

17.2.2. Ejemplo de cálculo . . . . . . . . . . . . . . . . . . . . . . . . . 265

17.2.3. Caso multivariable . . . . . . . . . . . . . . . . . . . . . . . . . 267

18.Otros aspectos del Control Predictivo 269

18.1. Restricciones en Control Predictivo . . . . . . . . . . . . . . . . . . . . 269

18.1.1. Tratamiento convencional de restricciones . . . . . . . . . . . . 269

18.1.2. Restricciones en Control Predictivo . . . . . . . . . . . . . . . . 271

18.1.3. Resolución del problema . . . . . . . . . . . . . . . . . . . . . . 273

18.1.4. Gestión de restricciones . . . . . . . . . . . . . . . . . . . . . . 274

18.1.4.1. Técnicas de búsqueda de soluciones factibles . . . . . . 275


xii ÍNDICE GENERAL
Índice de figuras

1.1. Selección de que datos se deben guardar, con que frecuencia y en que
formato en los históricos de un sistema de control por computador. . . 4

1.2. Todos los sistemas de control por computador presentan mı́micos más o
menos realistas con la información de la planta. . . . . . . . . . . . . . 5

1.3. Herramientas para creación de mı́micos en un sistema de control por


computador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4. Los históricos presentan información relevante sobre la evolución de las


variables monitorizadas bien en forma gráfica o numérica. . . . . . . . 6

1.5. Tareas de un sistema de control por computador . . . . . . . . . . . . . 7

1.6. Sistema de control con estructura centralizada. . . . . . . . . . . . . . 7

1.7. Sistema de control con estructura distribuida. . . . . . . . . . . . . . . 8

1.8. Sistema de control con estructura jerárquica. . . . . . . . . . . . . . . 9

1.9. Esquema de un sistema de control por computador . . . . . . . . . . . 10

1.10. Simulink es un lenguaje gráfico que se puede utilizar para programar


algoritmos de control. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1. Secuencia de ponderación de un sistema. . . . . . . . . . . . . . . . . . 14

2.2. Secuencias de entrada, salida y ponderación de un sistema. . . . . . . . 24

xiii
xiv ÍNDICE 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 señal muestreada, observándose 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


señal original a partir del de la muestreada. . . . . . . . . . . . . . . . 29

3.6. Espectro en frecuencia de una señal 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 señal muestreada en las


que el tiempo de muestreo es el lı́mite para poder reconstruir. . . . . . 30

3.8. Ilustración del aliasing. . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.1. Evolución de una secuencia de la forma (4.3) para distintos valores de pi . 37

4.2. Frontera de la región de estabilidad en el plano z. . . . . . . . . . . . . 37

4.3. Región del espacio de coeficientes de un polinomio de la forma z 2 +a1 z +


a2 = 0 en la que las raices están dentro del cı́rculo unidad. . . . . . . . 42

4.4. Respuestas transitorias correspondientes a la localización 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 localización 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
ÍNDICE 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 atenuación 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 amortiguación y frecuencia natural constante en el plano s. 57

4.15. Lugares de amortiguación constante en el plano z. . . . . . . . . . . . 57

4.16. Lugares de amortiguación y frecuencia natural constante en el plano z. 58

5.1. Aproximación rectangular hacia delante de la integral. . . . . . . . . . 60

5.2. Aproximación rectangular hacia detras de la integral. . . . . . . . . . . 62

5.3. Aproximación bilineal de la integral. . . . . . . . . . . . . . . . . . . . 63

5.4. Integral de u(t) para un periodo de muestreo. . . . . . . . . . . . . . . 65

5.5. Región de estabilidad en el plano s (sombreada). . . . . . . . . . . . . 67

5.6. Transformación en el plano z de la región de estabilidad del plano s al


aplicar la aproximación rectangular hacia delante (sombreada). . . . . 67

5.7. Transformación en el plano z de la región de estabilidad del plano s al


aplicar la aproximación bilineal (sombreada). . . . . . . . . . . . . . . 68
xvi ÍNDICE DE FIGURAS

5.8. Transformación en el plano z de la región de estabilidad del plano s al


aplicar la aproximación rectangular hacia atrás (sombreada). . . . . . 69

6.1. Diagrama de bloques de la representación en espacio de estados de un


sistema LTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6.2. Diagrama de bloques de un sistema controlado por una realimentación


del vector de estados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

6.3. Diagrama de bloques de un sistema LTI controlado mediante una reali-


mentación 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 estocásticos: realizaciones y variables aleatorias. . . . . . . . 125

7.2. Modelo de Box-Jenkins. . . . . . . . . . . . . . . . . . . . . . . . . . . 126

8.1. Esquema de la identificación en lı́nea. . . . . . . . . . . . . . . . . . . 133

8.2. Diagrama de flujo del proceso de identificación. . . . . . . . . . . . . . 135

8.3. Ejemplo de señal de entrada del tipo PRBSS. . . . . . . . . . . . . . . 137

9.1. Diagrama de flujo del proceso de identificación 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 situación que en la figura 9.2 pero con una señal de entrada
senoidal de frecuencia ω = 1 rad × s−1 . . . . . . . . . . . . . . . . . . . 153

9.4. Evolución de los parámetros identificados en un caso de sobreparametrización.


154
ÍNDICE DE FIGURAS xvii

9.5. Evolución de unos parámetros 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−tm s . . . . 162

10.4. Diagrama de Bode para distintos valores de un retraso puro tm s para el


10
sistema C(s)G(s)e−tm s con C(s) = 1 y G(s) = 1+s . . . . . . . . . . . . 163

10.5. Diagrama de Bode para distintos valores de tm s para el sistema de la


figura 10.4 con C(s) = 0,2. . . . . . . . . . . . . . . . . . . . . . . . . 164

10.6. Sistema de control realimentado para un proceso con retraso donde el


sensor se ha dispuesto antes del retardo. . . . . . . . . . . . . . . . . . 165

10.7. Sistema de control en donde se realimenta la predicción 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 estimación del retardo. . . . . . . . . . . 172

10.14.Estructura del Predictor PI. . . . . . . . . . . . . . . . . . . . . . . . . 172


xviii ÍNDICE 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 realimentación (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 perturbación a la entrada. . . . . . . . . . . . . 178

11.2. Ejemplo de sistema con perturbación a la entrada. . . . . . . . . . . . . 179

11.3. Ejemplo de sistema con perturbación a la salida. . . . . . . . . . . . . . 182

11.4. Sistema con perturbación a la salida controlado con un lazo simple de


realimentación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

11.5. Sistema con perturbación a la salida controlado con un control anticipativo.183

11.6. Sistema con perturbación 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 están en reposo. . . . . . . . . . . . . . . . . . . . . . . . . 186

12.2. Representación de un sistema multivariable de orden 2. . . . . . . . . . 186

12.3. Representación de un sistema multivariable de orden 2 en bucle cerrado


con dos controladores multivariables. . . . . . . . . . . . . . . . . . . . 187

12.4. Representación 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
ÍNDICE DE FIGURAS xix

12.7. Simulación del sistema multivariable en bucle cerrado. . . . . . . . . . . 197

13.1. Configuración genérica 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. Configuración genérica de un controlador adaptativo por modelo de re-


ferencia (MRAC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

14.1. Configuración genérica de un regulador o controlador autoajustable. . 212

14.2. Configuración genérica de un regulador o controlador autoajustable. . 213

14.3. División de polinomios para el ejemplo 14.2. . . . . . . . . . . . . . . . 217

14.4. Estructura para la asignación de polos y ceros. . . . . . . . . . . . . . 219

15.1. PID industrial moderno con función de autoajuste (ABB modelo ECA). 225

15.2. Determinación de T y L por áreas. . . . . . . . . . . . . . . . . . . . . 227

15.3. Estructura usada en el método basado en oscilaciones de relé. . . . . . 228

15.4. Configuración genérica de un controlador adaptativo con adaptación en


bucle abierto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

15.5. Curva de pH para una solución de HCl 0.001 M y NaOH 0.001 M. . . 230

15.6. Caracterı́stica aproximada de una sonda lambda . . . . . . . . . . . . 231


xx ÍNDICE DE FIGURAS

15.7. La herramienta Novatune se comercializa actualmente con el sistema


Advant 410 de ABB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

16.1. Estrategia del Control Predictivo . . . . . . . . . . . . . . . . . . . . . 238

16.2. Estructura básica del MPC . . . . . . . . . . . . . . . . . . . . . . . . . 239

16.3. Respuesta impulsional y ante escalón . . . . . . . . . . . . . . . . . . . 241

16.4. Respuestas libre y forzada . . . . . . . . . . . . . . . . . . . . . . . . . 244

16.5. Trayectoria de referencia . . . . . . . . . . . . . . . . . . . . . . . . . . 246

16.6. Puntos de coincidencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

17.1. Ley de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

17.2. Punto de operación óptimo de un proceso tı́pico . . . . . . . . . . . . . 258

18.1. Restricciones y punto de operación óptimo . . . . . . . . . . . . . . . . 270

18.2. Restricciones en la señal de control . . . . . . . . . . . . . . . . . . . . 271

18.3. Gestión de restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 275


Capı́tulo 1

Introducción al control por


computador

1.1. Conceptos básicos

El control por computador surge de la evolución del control análogico clásico (usado
extensivamente en sistemas mecánicos, eléctricos y electrónicos), en la cual el computa-
dor se ve como medio para ampliar las capacidades y funcionalidades de los sistemas
de control. Esa incorporación del computador digital comienza ya en etapas tan tem-
pranas del desarrollo de los computadores como la década de 1950. En esa época el
uso que se le daba al computador en los sistemas de control era el de supervisor de los
lazos de control análogico tradicional. El siguiente paso es el de sustituir directamente
a los controladores análogicos (habitualmente de tipo PID) en lo que se vino a llamar
el Control Digital Directo. En este tipo de control el computador calcula la señal de
control que se aplicará directamente al proceso.

La década de los 70 ve la aparición de los microprocesadores como sustitutos en un


solo circuito integrado de los principales componentes de un computador. La dramática
reducción de costes, espacio y consumos unido a la escalada en prestaciones hace que
se contemple dedicar un sistema basado en microprocesador a cada lazo de control,
descargando de tareas al computador central. Esto lleva a la aparición de los sistemas
de control distribuidos en los que diversos computadores se reparten las distintas tareas
de control de una planta. Esos computadores se conectarán entre si mediante diferentes
topologı́as de red, propiciando la aparición de normas de interconexión especı́ficas de
los entornos industriales: los buses de campo. Dentro de las redes se pueden establecer

1
2 VENTAJAS E INCONVENIENTES DE UN SISTEMA DE CONTROL POR COMPUTADOR

jerarquı́as entre los diversos controladores y computadores conectados. Ası́ se establecen


diversos niveles de supervisión y control.

En épocas más reciente, los sistemas de control han ido ocupando cada vez más
campos de aplicación de los controladores clásicos como por ejemplo el sector de au-
tomoción y los sistemas de control de vuelo. Por otra parte el abaratamiento y sim-
plificación de estas tecnologı́as han hecho que acaben aplicando incluso en el entorno
doméstico dentro del campo de la domótica.

El avance de este tipo de sistemas de control es tal que hoy en dia ya no se concibe
ninguna aplicación de control automático de cierta complejidad en la que no se haga
uso del control por computador como tecnologı́a principal. Esta tecnologı́a tiene su
propia idiosincracia, diferente a la de la tecnologı́a clásica, de ahı́ que surja una teorı́a
especı́fica que trata con estos sistemas: la teorı́a del control por computador.

1.2. Ventajas e inconvenientes de un sistema de


control por computador

Toda tecnologı́a nueva suele venir cargada de ventajas pero también suele presentar
nuevos inconvenientes. En esta sección se describirán brevemente ambas caracterı́sticas.

Dentro de las principales ventajas del control por computador podemos encontrar:

Los sistemas de control por computador son más eficientes a la hora de controlar
sistemas complejos. Además al ser sistemas programables, se pueden incorporar
algorı́tmos de control más sofisticados que los que se pueden realizar con compo-
nentes analógicos.

Mayor flexibilidad a la hora de cambiar la sintonı́a o incluso el algoritmo de


control de un lazo determinado. Esta mayor flexibilidad viene dada por el hecho
de que el software es intrı́nsecamente más flexible que el hardware.

Mayor precisión en los cálculos. Con instrumentación analógica alcanzar una alta
precisión en los cálculos es muy caro, mientras que con los computadores digitales
la precisión en muchos casos es arbitraria.

Invariabilidad de los cálculos. No hay envejecimiento ni derivas ya que los cálculos


se realizan usando aritmética digital.
CAPÍTULO 1. INTRODUCCIÓN AL CONTROL POR COMPUTADOR 3

Centralización de la información en un sistema que coordina todas las funciones.


Información con marcas precisas de tiempo.

Los sistemas de control por computador presentan muchas funciones adicionales


y complementarias como por ejemplo visualización de la información, gestión de
históricos, alarmas, cálculos estadı́sticos sobre el rendimiento, etc. . .

Por otra parte los sistemas de control por computador también presentan inconve-
nientes, entre ellos:

Coste elevado. Este coste es además muy dependiente del número de lazos de
control que se hayan de implementar.

Problemas de fiabilidad. Si hay mucha centralización, 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 más allá de las de
control que realiza un sistema de control clásico.

El primer grupo de funciones que se pueden enumerar es la de adquisición y tratamien-


to de datos. El sistema adquiere las señales y realiza operaciones de adecuación entre
las que se encuentran:

Filtrado de señales.

Linealización de la caracterı́stica de sensores y actuadores.

Conversión a unidades de ingenierı́a.

Además de esas funciones de tratamiento de la señal se realizan otras tareas entre las
que se incluyen:
4 FUNCIONES DE UN SISTEMA DE CONTROL POR COMPUTADOR

Almacenamiento de los datos adquiridos en históricos. Se seleccionan que datos


se almacenarán y en que formato (ver figura 1.1).

Cálculos auxiliares: rendimientos, consumos, etc. . .

Análisis estadı́sticos.

Figura 1.1: Selección de que datos se deben guardar, con que frecuencia y en que formato en los
históricos de un sistema de control por computador.

Otra de las tareas más importantes de un sistema de control es la de presentar la


información disponible del sistema al operador. El objeto de esta información es el de
la monitorización y supervisión de la planta. Esta tarea se realiza dentro del interfaz
hombre-máquina (MMI o HMI) que desempeña entre otras las siguientes tareas de
comunicación con el usuario:

Presentación de la información de la planta (medidas de sensores, valores en


los actuadores, etc. . . ) mediante un mı́mico o sinóptico (ver figura 1.2). Estos
mı́micos se refrescan en tiempo real por lo que el operador tiene en todo momento
una visión clara de lo que ocurre en la planta. Todos los sistemas de control por
computador incluyen librerı́as y herramientas para crear mı́micos más o menos
realistas de la planta que se controla (ver figura 1.3).

Otra de las tareas del MMI es la gestión de alarmas ante condiciones anormales de
operación de la planta y su presentación al operador. Las alarmas se traducen en avisos
al operador y se pueden tratar en función de su importancia. Además las incidencias y
alarmas se almacenan en las bases de datos del sistema de control por computador.
CAPÍTULO 1. INTRODUCCIÓN AL CONTROL POR COMPUTADOR 5

Figura 1.2: Todos los sistemas de control por computador presentan mı́micos más o menos realistas
con la información de la planta.

Figura 1.3: Herramientas para creación de mı́micos en un sistema de control por computador.
6 FUNCIONES DE UN SISTEMA DE CONTROL POR COMPUTADOR

Los sistemas de control por computador son capaces además de ayudar o asistir en
la toma de decisiones sobre la manera de operar el sistema. Suele ser habitual el uso
de simuladores que permiten ensayar y ver el efecto de cambios en la planta sin tener
que realizarlos sobre el sistema real. Complementando a los simuladores se pueden
encontrar en algunos sistemas de control por computador programas de inteligencia
artificial como los sistemas expertos, que tienen la misión de sugerir cual es la posible
solución a cualquier incidencia que se presente o indicar los puntos de funcionamiento
o modos de operación que sean más productivos. Es decir, un sistema experto emula
el conocimiento de un ((experto humano)).

Otra de las funciones mas importantes de un sistema de control por computador es


la de almacenar históricos (ver figura 1.4) de todas las variables (sensores, actuadores,
etc. . . ) que se considere necesario (no necesariamente sólo las que se muestran en
los mı́micos). Esta información es de gran utilidad para analizar el funcionamiento del
proceso, estudiar el efecto de cambios en la operación del sistema y averiguar las causas
de fallos y alarmas.

Figura 1.4: Los históricos presentan información relevante sobre la evolución de las variables monitor-
izadas bien en forma gráfica o numérica.

Además de las tareas de adquisición de datos y de monitorización otras dos tareas


fundamentales de un sistema de control por computador son el telemando y el control en
sı́ mismo (figura 1.5. El telemando consiste en la posibilidad que se le da al operador de
modificar manualmente desde el puesto de control los valores de actuadores, etc. . . Por
otra parte en la tarea de control, el computador cierra el bucle de realimentación
dejando al operador la tarea de cambiar los puntos de consigna o referencia a seguir.
CAPÍTULO 1. INTRODUCCIÓN 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


función de la forma en la que se conectan los distintos elementos, de la concentración
de funciones en ellos y de las tareas asignadas.

Una de las primeras estructuras en emplearse fue la estructura centralizada. En esta


estructura un sólo 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 sólo equipo para todas las tareas. Si éste falla todo falla. Por tanto la fiabilidad de
esta estructura es baja. Por otra parte la instalación es costosa en el sentido de que el
cableado se complica mucho al tener que conectarse todos los elementos de la planta
al computador. En la práctica además 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 señales entre ellos. Esta estructura es
más 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. Además el coste de instalación es menor pues los
controladores se situan más cerca de los elementos de medida y control. Sin embargo
se impone la necesidad de definir y usar estándares de interconexión y protocolos de
comunicaciones.

Figura 1.7: Sistema de control con estructura distribuida.

Finalmente, en los sistemas de control distribuidos puede además imponerse una


estructura jerárquica (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 más bajos
vendrán ocupados por controladores de bajo nivel, sensores inteligentes y actuadores.
Los niveles intermedios estarán ocupados por controladores programables, autómatas
y computadores con software de control. Los niveles más altos estarán ocupados por
máquinas más complejas y computadores con el software más complejo. Es de destacar
que los tiempos de ciclo de estos elementos son más largos cuanto más alto sea el nivel.
CAPÍTULO 1. INTRODUCCIÓN AL CONTROL POR COMPUTADOR 9

Figura 1.8: Sistema de control con estructura jerárquica.

1.5. Instrumentación especı́fica de los sistemas de


control por computador

Los sistemas de control por computador poseen instrumentación especı́fica diferente


de aquella que encontramos en los sistemas convencionales (ver figura 1.9). Algunos de
esos elementos son inherentes a la naturaleza digital de estos sistemas, por ejemplo los
convertidores analógico/digital y digital/analógico. Estos convertidores traducen las
señales analógicas de los sensores a valores numéricos entendibles por el computador (y
al reves) y lo hacen de manera cuantizada con una resolución que viene determinada
por el número de cifras binarias (bits) asignadas a cada medida proporcionada por el
convertidor. Por otra parte un sistema de control por computador lee los valores de los
sensores y manda los valores correspondientes a los actuadores sólo 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-
cación de los valores en los actuadores se emplean mantenedores de señal. El tipo más
común es el mantenedor de orden cero (MOC) que mantiene la señal constante entre
intervalos de muestreo.

Aparte de los elementos anteriormente mencionados en un moderno sistema de


control por computador podemos encontrar otros elementos más sofisticados como
sensores inteligentes que proporcionan las medidas ya tratadas, filtradas y/o digital-
izadas. Además pueden realizar operaciones con distintas medidas o inferir magnitudes
indirectamente a partir de otras.
10 SOFTWARE DE CONTROL

SINCRONÍA

REF ERROR ENTRADA


C. D/A + SALIDA
COMPUTADOR PLANTA C. A/D
M.O.C.

PLANTA DISCRETIZADA

Figura 1.9: Esquema de un sistema de control por computador .

Finalmente hay que recordar que los distintos componentes se conectan a traves de
redes de comunicaciones digitales llamadas buses de campo. Esas redes están regidas
por diferentes protocolos de comunicaciones estandarizados.

1.6. Software de control

Ya se han comentado las funciones de un sistema de control por computador. A la


hora de programar un controlador hay que tener en cuenta que el programa se ejecuta
siempre de manera cı́clica, repitiéndose siempre tres bloques de acciones:

1. Medir u obtener las medidas de los sensores.

2. Calcular los valores que se aplicarán a los actuadores.

3. Mandar los valores a los actuadores.

Otro factor a tener en cuenta es que los sistemas operativos han de cumplir diversas
caracterı́sticas para ser válidos en sistemas de control. Estos requisitos están normal-
mente relacionados con la temporización de tareas y la necesidad de garantizar que
los programas que implementan algoritmos de controlador se ejecutarán en el tiempo
necesario a toda costa. Los sistemas que cumplen esto son los que se suelen denominar
sistemas operativos para operación en tiempo real o sistemas en tiempo real.

Finalmente hay que destacar que existen diferentes posibilidades a la hora de pro-
gramar un controlador, pudiéndose elegir entre implementarlo en un lenguaje de bajo
nivel, en un lenguaje de proposito general, en un lenguaje especı́fico del sistema de
control o incluso un lenguaje gráfico (ver figura 1.10).
CAPÍTULO 1. INTRODUCCIÓN AL CONTROL POR COMPUTADOR 11

Figura 1.10: Simulink es un lenguaje gráfico que se puede utilizar para programar algoritmos de
control.
12 SOFTWARE DE CONTROL
Capı́tulo 2

Secuencias y transformada Z

2.1. Introducción

En un sistema de control por computador el algoritmo de control se concreta en


un programa que calcula la salida del controlador cada cierto tiempo y lee (muestrea)
la salida de la planta cada cierto tiempo. Las acciones ocurren por tanto cada cierto
periodo de muestreo T:
u(kT ), y(kT ) k = 0, 1, . . .

Nótese que no solo el tiempo está discretizado sino que debido a la naturaleza digital
del elemento de control (el computador) los valores de ambas señales son también
discretos. El sistema de control por computador es por tanto un sistema discreto que
recibe señales yk 1 y genera salidas uk . Los valores de esas señales a lo largo del tiempo
forman secuencias, por ejemplo:

{yk } = {0, 0, 1, 1, . . .} {uk } = {1, 1, 0, −2, . . .}

Estas secuencias están relacionadas por ecuaciones en diferencias (análogas en sistemas


discretos a las ecuaciones diferenciales en sistemas continuos):

yk = a1 yk−1 + a2 yk−2 + · · · + an yk−n + b0 uk + b1 uk−1 + cdots + bm uk−m

Estas ecuaciones en diferencias constituyen una forma muy común de modelar sistemas
discretos.
1
Nótese que con la notación yk se está indicando y(kT ), de manera que yk−1 = y((k − 1)T ) y
ası́ sucesivamente. Por otra parte es habitual utilizar también la notación y(k),y(k − 1), etc. . .

13
14 SECUENCIA DE PONDERACIÓN

2.2. Secuencia de ponderación

Denominaremos secuencia de ponderación {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 análogo al de re-

{ k}={1,0,0,…} {gk}={g0,g1,g2,…}
Sistema
Discreto
g1 g2
...
g0

Figura 2.1: Secuencia de ponderación de un sistema.

spuesta impulsional y como veremos a continuación, permite caracterizar la salida de


un sistema lineal.

Nótese que cualquier secuencia {uk } puede expresarse de la forma:


l=∞
X
{uk } = ul · {δk−l }
l=−∞

aunque en general consideraremos que l comienza en 0. Ası́, por ejemplo, la secuencia


{7, 4, 5} se puede poner como:

{7, 4, 5} = 7 · {1, 0, 0} + 4 · {0, 1, 0} + 5 · {0, 0, 1}

donde u0 = 7, {δk } = {1, 0, 0}, u1 = 4, {δk−1 } = {0, 1, 0}, u2 = 5, {δk−2 } = {0, 0, 1}.
Nótese que la secuencia {δk−i } es la secuencia {δk } retrasada i tiempos de muestreo, y
vale 1 en el instante de tiempo k = i y cero en los demás.

Si a un sistema lineal se le excita con una secuencia de entrada {uk } (por ejemplo
la ley de control calculada en cada instante por el computador), tal que
l=∞
X
{uk } = ul · {δk−l }
l=0

se obtendrá una secuencia de salida:


l=∞
X
{yk } = ul · {gk−l }
l=0
CAPÍTULO 2. SECUENCIAS Y TRANSFORMADA Z 15

pues por el concepto de secuencia de ponderación, a la secuencia {δk−l } le corresponde


a la salida la secuencia {gk−l }, que es la secuencia de ponderación {gk } retrasada l
tiempos de muestreo. Esa expresión se puede desarrollar de manera que se obtiene:

{yk } = u0 · {g0 , g1 , g2 , · · ·} + u1 · {0, g0 , g1 , · · ·} + u2 · {0, 0, g1 , · · ·} + · · ·


= u0 g0 + u0 g1 + u0 g2 + · · · + u1 g0 + u1 g1 + · · · + u2 g0 + · · ·
= g0 · {uk } + g1 · {uk−1 } + g2 · {uk−2 } + · · ·

llegándose a:
l=∞
X
{yk } = gl · {uk−l }
l=0

Esto implica que conociendo la secuencia de ponderación de un sistema podemos cal-


cular la salida para cualquier secuencia de entrada. La expresión anterior es equivalente
a:
l=∞
X
{yk } = gl · {uk−l } = {gk } ? {uk } (2.1)
l=0

donde ? indica la operación de convolución entre la secuencia {gk } y la secuencia {uk }.


Este resultado sin embargo no esconde que trabajar directamente con secuencias como
aquı́ se ha mostrado es muy engorroso, al tener que estar enumerando los valores que
toman dichas secuencias. Para resolver esto surge la transformada Z, que se verá a
continuación.

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 solución de ecuaciones en
diferencias y por tanto representar señales y secuencias de una manera más compacta.
Para entender la transformada en Z se parte de una señal continua x(t). Esta señal es
muestreada con un tiempo de muestreo T . Eso implica que se registra una secuencia:

x(0), x(T ), x(2T ), · · · , x(kT )

Teniendo en cuenta que la función delta de Dirac δ(t − kT ) vale 1 para t = kT y cero
en todos los demás casos, es claro que la señal muestreada es igual a:

X

x (t) = x(kT )δ(t − kT )
k=0
16 TRANSFORMADA EN Z

La transformada de Laplace de x∗ (t) se calcula como:


R∞
X(s) = L {x∗ (t)} = x∗ (t)e−st dt
0
R∞ P

= [x(kT )δ(t − kT )] e−st dt
0 k=0
P∞ R∞
= [x(kT )δ(t − kT )] e−st dt
k=0 0
P∞
= x(kT )e−kT s
k=0

Se define ahora una nueva variable z como:

z = eT s

y haciendo el cambio de variable la transformada Z de una secuencia {xk } queda como:



X
Z {xk } = X(z) = xk z −k (2.2)
k=0

que como puede verse por el desarrollo anterior se ha obtenido de la transformada de


Laplace de la señal muestreada.

2.3.1. Transformadas de algunas señales tı́picas

Calcular la transformada Z puede ser bastante complejo, de ahı́ el uso de tablas con
las transformadas de las señales más comunes. Algunas de las señales más sencillas si
pueden calcularse fácilmente.

Señal impulso. Esta señal tiene como secuencia asociada

{δk } = {1, 0, 0, · · ·}

En este caso la transformada Z se calcula facilmente como:



X
Z {δk } = δk z −k = δ0 z 0 = 1
k=0

Señal escalón. En este caso la señal es

{uk } = {1, 1, 1, · · ·}
CAPÍTULO 2. SECUENCIAS Y TRANSFORMADA Z 17

En este caso la transformada Z se calcula fácilmente2 como:



X ∞
X
−k 1 z
Z {uk } = U (z) = uk z = z −k = −1
=
k=0 k=0
1−z z−1

Señal {ak }:
∞ ∞ ³ ´
© ª X X a k 1 z
Z ak = ak z −k = = a =
k=0 k=0
z 1− z
z−a

Señal {e−ak }. En este caso se aplica el resultado anterior con a = e−a obteniéndose
© ª z
Z e−ak =
z − e−a

Aplicando consideraciones similares se puede ir obteniendo la transformada Z de las


secuencias más habituales. En las tablas 2.1 y 2.2 se enumeran las transformadas Z de
dichas secuencias y sus equivalentes en transformada de Laplace.

2.4. Propiedades de la transformada Z

En esta sección se verán las propiedades más importantes de la transformada Z.

1. Linealidad. Se verifica que

Z {a · {xk } + b · {yk }} = aX(z) + bY (z)

2. Desplazamiento en k. Con este nombre se recogen dos resultados relacionados:

a) Z {xk+n } = z n X(z). La demostración es muy sencilla. Basta tener en cuenta


que:
P

Z {xk+n } = xk+n z −k tomando l = k + n
k=0
P∞
= xl z −(l−n)
l=nµ ¶
n
P
n−1
−l
= z X(z) − xl z
l=0
P
n−1
= z n X(z) − z n xl z −l
l=0

2 1
Este resultado es válido siempre que z < 1.
18 PROPIEDADES DE LA TRANSFORMADA Z

Cuadro 2.1: Tabla con las transformadas Z más usuales.


CAPÍTULO 2. SECUENCIAS Y TRANSFORMADA Z 19

Cuadro 2.2: Tabla con las transformadas Z más usuales (continuación).


20 PROPIEDADES DE LA TRANSFORMADA Z

P
n−1
el término z n xl z −l son condiciones iniciales (análogo a lo que ocurre en
l=0
la transformada de Laplace), con lo que el resultado queda demostrado.
b) Z {xk−1 } = z −1 X(z) y en general Z {xk−n } = z −n X(z). La demostración
pasa por considerar una secuencia {yk } = {xk−1 }. La transformada Z de
esta secuencia es:
P∞
Y (z) = yk z −k
k=0
P∞
= xk−1 z −k
k=0
P

= z −1 xk−1 z −(k−1) tomando k 0 = k − 1
k=0
−1
P∞
0
= z xk0 z −k
µ0 =−1
k ¶
P

−k0
= z −1 x−1 z + xk 0 z teniendo en cuenta que x−1 = 0
k0 =0
= z −1 X(z)
Por tanto Z {xk−1 } = z −1 X(z) y en general se puede demostrar que Z {xk−n } =
z −n X(z). Nótese que z −1 X(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
también como operador retraso. Análogamente, z −n X(z) se corresponde con
la secuencia {xk } retrasada n tiempos de muestreo.

3. Convolución. Se cumple que:


( k
)
X
Z {{xk } ? {yk }} = Z xl yk−l = X(z)Y (z) (2.3)
l=0

4. Teorema del valor final. El valor en k = ∞ de la secuencia {xk } viene dado por:
x∞ = lı́m xk = lı́m(z − 1)X(z)
k→∞ z→1

Nota: en algunos textos aparece como lı́m (1 − z −1 )X(z). Por otra parte este
z→1
teorema es válido si el lı́mite existe.

Ejemplo 2.1

Sea
z
X(z) =
z−1
El valor final será
x∞ = lı́m z = 1
z→1
Este resultado es congruente con el hecho de que la secuencia es un escalón
unitario.
CAPÍTULO 2. SECUENCIAS Y TRANSFORMADA Z 21

5. Teorema del valor inicial. El valor inicial para k = 0 de la secuencia {xk } viene
dado por:
x0 = lı́m X(z)
z→∞

Ejemplo 2.2

Sea {xk } un escalón unitario. En este caso

z 1
x0 = lı́m = lı́m 1 =1
z→∞ z − 1 z→∞ 1 −
z

2.5. Transformada Z inversa

En esta sección trataremos el problema de obtener la representación temporal de un


señal a partir de la transformada Z. Esto se hace a través de la llamada transformada
Z inversa:
Z−1 {X(z)} = {xk }
La transformada inversa Z puede calcularse de diversas maneras. Además de usar
tablas, se expondrán aquı́ dos métodos para calcularla: el método de división larga
(también llamada de serie infinita de potencias) y el método por descomposición en
fracciones simples.

2.5.1. Serie infinita de potencias

El método consiste en realizar la división entre el numerador y el denominador de


la transformada Z de manera que el cociente sea un polinomio en potencias de z. Los
coeficientes de ese polinomio serán la representación temporal de la secuencia.

Ejemplo 2.3

Sea
z
X(z) =
z−c
obtener la representación temporal por el método de la división larga. En este caso, al
realizar la división se obtiene:
z
= 1 + cz −1 + c2 z −2 + c3 z −3 + · · ·
z−c
22 TRANSFORMADA Z INVERSA

es decir, los coeficientes forman la secuencia:

{xk } = {1, c, c2 , c3 , · · ·} = {ck }

Ejemplo 2.4

Sea
0,1z 2
X(z) =
z 2 − 1,9z + 0,9
Si se realiza la división se obtiene:
0,1z 2
2
= 0,1 + 0,19z −1 + 0,271z −2 + · · ·
z − 1,9z + 0,9

por lo que la secuencia serı́a {xk } = {0,1, 0,19, 0,271, · · ·}.

2.5.2. Descomposición en fracciones

El método consiste en descomponer la representación en transformada Z en frac-


ciones simples y aplicar las equivalencias correspondientes a cada fracción. 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 término no está presente se puede
descomponer directamente, de manera análoga a lo que se hace con la transformada
de Laplace inversa para sistemas continuos.
CAPÍTULO 2. SECUENCIAS Y TRANSFORMADA Z 23

Ejemplo 2.5

Sea
(1 − e−aT )z
X(z) =
(z − 1)(z − e−aT )
Aplicar el método de la descomposción en fracciones simples. Como se tiene el factor
z en el numerador expandimos X(z)
z
:

X(z) A B
= +
z z − 1 z − e−aT

Se obtiene que A = 1 y B = −1, por tanto


z z
X(z) = −
z − 1 z − e−aT

Mirando en la tabla de transformadas Z y sustituyendo se obtiene:

{xk } = {1 − e−akT }

Ejemplo 2.6

Sea
(1 − e−aT )
X(z) =
(z − 1)(1 − e−aT )
La descomposición resulta ser

(1 − e−aT ) 1 1
X(z) = −aT
= −
(z − 1)(1 − e ) z − 1 z − e−aT

Nótese que
1 z
= z −1
z−1 z−1
es decir corresponde a un escalón unitario retrasado, {1k−1 }. Aplicando al otro término
esta consideración se ve que corresponde con {e−aT (k−1) }. Por tanto:

{xk } = {1k−1 + e−aT (k−1) }

Nótese que este tipo de términos aparecerá siempre en sistemas con retardo (en este
caso el retardo es 1).
24 FUNCIÓN DE TRANSFERENCIA EN Z

2.6. Función de transferencia en Z

La función de transferencia en sistemas discretos cumple el mismo papel que su


homónima en sistemas continuos, es decir, se busca una forma de relacionar la entrada
de un sistema discreto con su salida a través de sus transformadas en Z. Sea un sistema
cuya secuencia de ponderación es {gk } y cuyas secuencias de entrada y salida son {uk }
y {yk } respectivamente (ver figura 2.2). Si denotamos las transformadas Z como

{uk} {yk}
{gk}

Figura 2.2: Secuencias de entrada, salida y ponderación 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:


(∞ )
X
Y (z) = Z {yk } = Z gl · {uk−l } = G(z)Y (z)
l=0

Luego la relación entre las transformadas en Z de la entrada y la salida es


Y (z)
G(z) =
U (z)
que es la función de transferencia del sistema en transformada Z .

En la práctica, la función de transferencia se puede obtener tomando transformadas


Z en la ecuación en diferencias que modela al sistema:

yk = a1 yk−1 + a2 yk−2 + · · · + an yk−n + b0 uk + b1 uk−1 + · · · + bm uk−m

Como esta ecuación 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) = a1 z −1 Y (z) + a2 z −2 Y (z) + · · · + an z −n Y (z) + b0 U (z) + · · · + bm z −m U (z)

Sacando factor común se llega a:


Y (z) b0 + b1 z −1 + · · · + bm z −m
G(z) = =
U (z) 1 − a1 z −1 − · · · − an z −n
Nótese que la función de transferencia es una función racional.
Capı́tulo 3

Proceso de muestreo

3.1. Introducción

En este capı́tulo se estudiará como se muestrea un sistema continuo al ser controlado


mediante un esquema de control por computador y como este muestreo afecta a la
dinámica del proceso que es percibida por el sistema de control. También se verá como
es posible reconstruir una señal a partir de su equivalente muestreada. Comenzaremos
recordando el esquema de un sistema de control por computador tal y como se muestra
en la figura 3.1. Puede observarse, además de los convertidores digital/analógico y

SINCRONÍA

MUESTREO
T
T
REF u(t)
C. D/A + SALIDA
COMPUTADOR PLANTA C. A/D
e(t) {ek} {uk} M.O.C. y(t)

PLANTA DISCRETIZADA

Figura 3.1: Esquema de un sistema de control por computador.

analógico/digital que adaptan la señal de formato, dos elementos fundamentales en el


proceso de muestreo: en primer lugar la señal de error solo llega al computador en
determinados instantes de tiempo separados por un tiempo T . Por otra parte la salida
del computador, es decir la señal de control sólo se conecta a la planta en esos mismos
instantes de tiempo. Entre un instante y el siguiente se usa un mantenedor de orden cero
que mantiene la señal de control que se aplica a la planta constante. Por tanto la señal

25
26 REPASO DE LA TRANSFORMADA DE FOURIER

de control sólo cambia en los instantes en los que la salida del computador se conecta
a la planta. Esos instantes son los intervalos de muestreo y a T se le llama tiempo de
muestro. La figura 3.2 ilustra el muestreo de una señal continua y la aplicación de un
mantenedor o retenedor de orden cero a la señal muestreada.

Figura 3.2: Muestrador mediante impulsos y mantenedor o retenerdor de orden cero.

En resumen en cuanto al proceso de muestreo hay que:

1. Muestrear la señal continua.

2. Mantener la salida (señal de control) hasta el siguiente periodo de muestreo.

3.2. Repaso de la transformada de Fourier

La transformada de Fourier es un instrumento matemático que resulta útil en el


estudio de señales y sistemas de control. Recordemos que la transformada de Fourier
de una señal periodica fT (t) de periodo T se calcula como:
T
Z2

FT (ωn ) = fT (t)e−jωn t dt donde ωn = n n = 0, ±1, . . . (3.1)
T
− T2

Por otra parte, la transformada de Fourier inversa o antitransformada, se calcula como:


∞ ∞
1X jωn t 1 X 2π
fT (t) = FT (ωn )e = FT (ωn )ejωn t ∆ω donde ∆ω = (3.2)
T −∞ 2π −∞ T

En el caso de que la señal a transformar no fuese periódica se considera que el periodo


T tiende a infinito por lo que el sumatorio de la antitransformada se aproxima por una
CAPÍTULO 3. PROCESO DE MUESTREO 27

integral y el término ∆ω se sustituye por dω, de manera que queda:

Z∞
F (ω) = f (t)e−jωt dt (3.3)
−∞
Z∞
1
f (t) = f (ω)ejωt dw (3.4)

−∞

Nótese que F (ω) es un número complejo, por lo que a la hora de representarla se


utilizarán dos gráficas, una para el módulo y otra para la fase.

La transformada de Fourier nos da información sobre la distribución de la energı́a


de una señal a lo largo del espectro de frecuencias que esta ocupa. Una diferencia
entre la transformada de una señal periodica y la de otra que no lo es, es que una señal
periódica tiene un espectro de frecuencia finito, mientras que una no periodica presenta
energı́a (en mayor o menor medida) en todas las frecuencias.

3.3. Muestreo de sistemas continuos

Considerese el muestreador mediante impulsos que se muestra en la figura 3.2. El


interruptor se cierra cada T segundos. Este esquema funciona de manera que a la salida
se obtiene el resultado de modular la señal original x(t) (llamada señal moduladora)
con un tren de impulsos de periodo T . A este tren de impulsos se le denomina señal
portadora (ver figura 3.3).

Figura 3.3: Muestreador mediante impulsos como moduador.


28 MUESTREO DE SISTEMAS CONTINUOS

La señal portadora tendrá la forma:



X
p(t) = δ(t − kT )
−∞

donde δ(t − kT ) vale 1 para t = kT y cero en otro caso. La señal muestreada x∗ (t) se
calculará como: ∞
X

x (t) = x(t)δ(t − kT ) = x(t) · p(t) (3.5)
k=0

Nótese que a la señal x(t) se le corresponde su transformada de Fourier X(ω), mien-


tras que a la señal portadora, por ser periódica le corresponde como transformada de
Fourier:
T
Z2

P (ωn ) = δ(t)e−jωn t dt = 1 ωn = n
T
− T2

¿ Cual será la relación entre el espectro de la señal muestreada y el espectro de la


señal original ? Según se ha visto en (3.5):

x∗ (t) = p(t) · y(t)

Esto lo podemos usar al hallar X ∗ (w):


Z∞ Z∞
X ∗ (w) = x∗ (t)e−jωt dt = x(t) · p(t)e−jωt dt (3.6)
−∞ −∞

Teniendo en cuenta que P (ωn ) = 1, usando la antitransformada se infiere que



1 X jωn t
p(t) = e
T −∞

LLevando esto a (3.6) se tiene que:


Z∞ " ∞ # ∞ Z∞
∗ 1 X jωn t −jωt 1 X
X (w) = x(t) e e dt = x(t)e−j(ω−ωn )t dt (3.7)
T −∞ T n=−∞
−∞ −∞

lo que finalmente equivale a:



∗ 1 X 2π
X (w) = X(ω − ωn ) ωn = n (3.8)
T n=−∞ T

Lo anterior se puede interpretar como que


CAPÍTULO 3. PROCESO DE MUESTREO 29

El espectro en frecuencia de la señal muestrada x∗ (t) tiene la misma forma


que la de la señal sin muestrar x(t), atenuada por un factor T1 y repetida
en la frecuencia cada ∆ω = 2π T
radianes por segundo.

Esto se ilustra en la figura 3.6. Nótese que para n = 0 entonces ωn = 0 y X ∗ (ω0 ) =


1
T
X(ω).

Figura 3.4: Espectro en frecuencia de una señal muestreada, observándose como se repite el espectro
original atenuado cada ωs = 2π
T .

3.4. Reconstrucción de una señal muestreada

Cuando se habla de reconstruir una señal muestreada se está aludiendo a la tarea de


obtener x(t) a partir de x∗ (ω), es decir a obtener la señal temporal original a partir del
espectro de la muestreada. El proceso desde un punto de vista conceptual serı́a simple:
bastarı́a con poner un filtro paso banda idela de ganancia T centrado en ω0 y esto nos
darı́a el espectro en frecuencia de la señal 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).

T Filtro
1 |X( )|
|X*( )|
1/T

Figura 3.5: Uso de un filtro paso banda para obtener el espectro en frecuencia de la señal original a
partir del de la muestreada.
30 RECONSTRUCCIÓN DE UNA SEÑAL MUESTREADA

Nótese que este proceso es posible siempre que las repeticiones de X(ω) estén su-
ficientemente separadas. Las repeticiones aparecen cada 2π T
radianes por segundo, por
lo que si el tiempo de muestreo T crece la separación disminuirá, hasta que llegue un
momento en el que las repeticiones se ((montarán)) unas sobre otras, solapándose y
dejando irreconocible el espectro original (ver figura 3.6). En ese caso no serı́a posible
reconstruir la señal original.

Figura 3.6: Espectro en frecuencia de una señal muestreada con una frecuencia de muestreo insuficiente
(tiempo de muestreo demasiado alto) para poder reconstruir la original.

¿ Cual es el tiempo de muestreo máximo a partir del cual se da el solape de las


repeticiones ? Tal y como se ha visto en la sección anterior y se ilustra en la figura 3.4,
las ((centros)) de las repeticiones están separados por ωs = 2π T
radianes por segundo.
Por otra parte esas repeticiones contendrán energı́a hasta una determinada frecuencia
ωc . La figura 3.7 muestra la situación lı́mite a partir de la cual el solape comenzarı́a a
imposibilitar la reconstrucción. Claramente si ωs es menor que dos veces la mitad de

|X*( )|

1/T

c
0 c s

Figura 3.7: Repeticiones en frecuencia del espectro de una señal muestreada en las que el tiempo de
muestreo es el lı́mite para poder reconstruir.

la ((banda de frecuencias)) que ocupa el espectro de la señal original (es dedir que ωc )
se producirá el solape. Por tanto la condición que buscamos es que:

ωs ≥ 2ωc
CAPÍTULO 3. PROCESO DE MUESTREO 31

Este resultado se enuncia en el Teorema de Shannon (tambien llamado teorema del


muestreo):

Teorema 3.1 Teorema de Shannon : La frecuencia ωs a la que debe muestrearse una


señal debe ser al menos el doble de aquella frecuencia más alta ωc para la que el sistema
tiene alguna energı́a

Evidentemente como ωs = 2π T
la condición para que el tiempo de muestreo sea tal que
permita la reconstrucción de la señal es:
π
T ≤ (3.9)
ωc

Por tanto el teorema de Shannon lo podemos reescribir como:

Si una señal no contiene componentes en frecuencias superiores a ωc , puede


ser completamente caracterizada por los valores muestreados en instantes
de tiempo separados por T ≤ ωπc .

Como regla práctica este resultado no se lleva al lı́mite, pues los filtros distan mucho
de ser ideales, de manera que se suele usar un tiempo de muestreo entre 10 y 20 veces
más rápido que la constante de tiempo caracterı́stica del sistema continuo.

3.5. Aliasing o enmascaramiento de frecuencias

Este fenómeno se da bajo ciertas condiciones cuando se muestrea una señal a una
tasa inferior a la dictada por el teorema de Shannon y se intenta reconstruir después.
Es evidente que la reconstrucción no será perfecta. El enmascaramiento se da cuando
no sólo no se reconstruye la señal original si no que aparece reconstruida otra señal con
diferente frecuencia. Mas especificamente este problema se da cuando los valores que
se obtienen al muestrear de dos señales diferentes son identicos. Claramente si para dos
señales diferentes se obtienen los mismos valores muestreados, al reconstruir la señal
no se podrán diferenciar entre ellas, de ahı́ el termino ((aliasing)), pues una de ella es
alias de la otra.
32 OBTENCIÓN DE LA FUNCIÓN DE TRANSFERENCIA PULSADA

Veamos esto con un ejemplo. Considérese la señal x(t) = sen(t). Si muestreamos la


señal con un tiempo de muestreo T = 23 π, por encima del tiempo lı́mite (en este caso
serı́a T ≤ π), y reconstruimos la señal (por clarida en este caso uniendo con una linea,
no con un mantenedor) se obtiene lo que se ve en la figura 3.8. Como se puede observar,
1

0.8

0.6

0.4

0.2

−0.2

−0.4

−0.6

−0.8

−1
0 10 20 30 40 50 60

Figura 3.8: Ilustración del aliasing.

la señal que se obtiene al muestrear no coincide con la original. Es más su frecuencia es


aproximadamente un quinto de la original y los valores obtenidos coinciden con los que
se obtendrian muestreando la señal x(t) = sen( 15 t). Por lo tanto la señal x(t) = sen( 51 t)
serı́a una señal alias de la original con este tiempo de muestreo.

3.6. Obtención de la función de transferencia pul-


sada

En esta sección veremos como obtener la función de transferencia discreta G(z)


para un sistema dinámico cuya función de transferencia continua es G(s) y al que se
le muestrea con tiempo T y un mantenedor de orden cero. El hallar directamente la
transformada Z de G(s) no es la solución a esto pues no se está teniendo en cuenta que
hay un mantenedor antes del sistema continuo tal y como ilustra la figura 3.1.

El procedimiento serı́a el siguiente:

1. Dado G(S) obtener g(t) mediante la transformada de Laplace inversa.


CAPÍTULO 3. PROCESO DE MUESTREO 33

2. Formar la secuencia de ponderación {gk } = g(kT ).


P
3. Obtener la transformada Z como G(z) = gk z −k .

En el primer paso hay que tener en cuenta que la función de transferencia G(s) se
obtiene multiplicando la función de transferencia del sistema por la del mantenedor de
orden cero, que es:
1 − e−sT
H(s) =
s

Un procedimiento más cómodo pero menos riguroso serı́a el siguiente:

G(s)
1. Dado G(s) obtener G0 (s) = s
.

2. Obtener la transformada Z de G0 (s), es decir G0 (z) (para esto se puede recurrir


a las tablas 2.1 y 2.2).

3. Obtener G(z) = (1 − z −1 )G0 (z).

Existen en la literatura tablas que directamente obtienen la función de transferencia


pulsada a partir de la función de transferencia continua del sistema.

Ejemplo 3.1

Sea el sistema cuya función de transferencia en continuo es


1
s+a
Obtener la función de transferencia pulsada en discreto.

Ha de tenerse en cuenta la función de transferencia del mantenedor por lo que

1 − e−sT 1
G(s) =
s s+a
El primer paso será obtener g(t):
½ ¾ ½ ¾ ½ −sT ¾
−1 1 e−sT −1 1 −1 e
g(t) = L − =L −L
s(s + a) s(s + a) s(s + a) s(s + a)
Nótese que en la expresión 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 OBTENCIÓN DE LA FUNCIÓN DE TRANSFERENCIA PULSADA

que calcularemos la primera expresión y luego le restaremos (ya en el dominio z) la


retrasada. La antitransformada se calcula como:
½ ¾ ½ ¾
−1 1 −1 11 1 1 1
g1 (t) = L =L − = (1 − e−at )
s(s + a) as as+a a

Luego
1© ª
{g1k } = 1 − e−akT
a
Aplicamos la transformada Z a lo anterior obteniéndose (en este caso se pueden usar
directamente las tablas):
· ¸
1 1 © −akT ª 1 z z
G1 (z) = Z {1} − Z e = −
a a a z − 1 z − e−aT

Y usando este resultado se puede calcular la función de transferencia pulsada del sis-
tema original:
µ ¶
−1 −1 z 1 1 1 1 − e−aT
G(z) = (1 − z )G1 (z) = (1 − z ) − =
a z − 1 z − e−aT a z − e−aT
Capı́tulo 4

Análisis de sistemas muestreados

4.1. Estabilidad en sistemas de control por com-


putador

En esta sección se procederá a presentar un estudio de estabilidad para sistemas


muestreados análogo al que se hace paras sistemas en tiempo continuo. En el caso que
nos ocupa la transformada de Laplace se sustituye por la transformada Z. De la misma
manera, el controlador analógico se sustituye por un computador digital.

En primer lugar recuérdese que la función de transferencia de un sistema expresada


en el dominio Z nos dice que
Y (z) = G(z)U (z) (4.1)

siendo G(z) la función de transferencia el cociente de polinomios

Y (z) b0 + b1 z −1 + · · · + bm z −m
G(z) = =
U (z) 1 + a1 z −1 + · · · + an z −n

Supóngase asi mismo que la señal de entrada U (z) es otro cociente de polinomios, es
decir
Nu (z)
U (z) =
Du (z)
Teniendo en cuenta las expresiones anteriores en la ecuación (4.1) se tiene que

b0 z n + b1 z n−1 + · · · + bm z n−m Nu (z) N (z) Nu (z)


Y (z) = n n−1
· = ·
z + a1 z + · · · + an Du (z) (z − p1 ) · · · (z − pn ) (z − pu1 ) · · · (z − pum )

35
36 ESTABILIDAD EN SISTEMAS DE CONTROL POR COMPUTADOR

Descomponiendo en fracciones simples se obtiene que


A1 A2 An Bu1 Bum
Y (z) = + + ··· + + + ··· + (4.2)
z − p1 z − p2 z − pn z − pu1 z − pum
Por otra parte es conocido que la antitransformada Z de la expresión
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
= Ai z −1
z − pi z − pi
Multiplicar por Ai implica un escalado, mientras que multiplicar por z −1 supone atrasar
en un tiempo de muestreo la secuencia, luego la antitransformada de las fracciones
simples de (4.2) es
Ai pk−1
i (4.3)
Luego cada la antitransformada de Y (z), es decir la secuencia {yk } será igual a la suma
de una serie de términos de la forma (4.3).

A partir de estos resultados ¿como determinar si un sistema es estable o inestable?


Dado que la secuencia {yk } es la suma de una serie de términos, dicha secuencia será es-
table si todos los términos son a su vez estables. Con solo un término inestable la
secuencia {yk } serı́a inestable. ¿De que depende la estabilidad de cada término? La
respuesta a esta pregunta es que la estabilidad de cada término depende del valor de
pi , es decir del valor de los polos. La figura 4.1 muestra la evolución de una secuencia
de la forma (4.3) para distintos valores de pi . Puede observarse que los términos que
se amortiguan son aquellos en los que −1 < p < 0 y 0 < p < 1. Se comprueba que

pk = signo(p)k · |p|k

y para que esa expresión tienda a cero debe cumplirse que el módulo de p sea menor
que uno (esto también es válido por supuesto para polos complejos). Este resultado lo
resumimos en la siguiente propiedad.

Propiedad 4.1 Un sistema descrito por una función de transferencia G(z) es estable
si y sólo si el módulo de todos sus polos es menor que uno, es decir si todos los polos
pertenecen estrictamente al cı́rculo unidad (cı́rculo de radio uno centrado en p = 0)
ilustrado en la figura 4.2.
CAPÍTULO 4. ANÁLISIS DE SISTEMAS MUESTREADOS 37

1 3

0.8
2.5

0.6
2
0.4

1.5
0.2

0 1
0 2 4 6 8 10 0 2 4 6 8 10
0<p<1 p>1

1 3

0.5 1

0 −1

−2

−0.5 −3
0 2 4 6 8 10 0 2 4 6 8 10
−1 < p < 0 p < −1

Figura 4.1: Evolución de una secuencia de la forma (4.3) para distintos valores de pi .

Figura 4.2: Frontera de la región de estabilidad en el plano z.


38 ESTABILIDAD EN SISTEMAS DE CONTROL POR COMPUTADOR

Si hay un polo fuera del cı́rculo unidad, es decir |pi | > 1, el término correspondiente
no se amortiguará con lo que el sistema no será estable.

En el estudio de sistemas continuos el resultado de estabilidad más 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? Recuérdese que
z = eTm s
Tómese 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 = eTm jω = 1∠Tm ω
es decir, z es un número complejo de módulo 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 tendrá la forma s = σ + jω, por lo que su correspondencia en el plano z será
z = eTm s = eTm (σ+jω) = eTm σ · eTm jω
lo que implica que
z = eTm σ ∠Tm ω
o lo que es lo mismo un número complejo con módulo 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 módulo 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 región 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.
Análogamente es fácil ver que si s = −∞, la transformación correspondiente es z =
0. Finalmente partiendo de estos dos resultados se puede comprobar, que, la parte
negativa del eje real en el plano s (es decir todos los valores reales de s desde s = 0
hasta s = −∞), se transforma en la parte del eje real del plano z que va desde z = 1
hasta z = 0.
CAPÍTULO 4. ANÁLISIS 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 están dentro del cı́rculo unidad ¿Como averiguar si
esta condición se cumple? Hallar todas las raices del polinomio y comprobar su valor es
la respuesta más evidente a esta pregunta, pero no siempre es posible. En esta sección
se verá el criterio de Jury, debido a Schur, Cohn y Jury. Dicho criterio lo podemos ver
como el equivalente en tiempo discreto al criterio de Routh-Hurwitz. Su propósito es
el de aseverar si todas las raices de un determinado polinomio en z están dentro del
cı́rculo unidad sin tener que calcularlas. Sea un polinomio en z

A(z) = a0 z n + a1 z n−1 + · · · + an = 0

El criterio de Jury se basa en la construcción 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 = aan0 , resultando

a0 a1 ··· an−1 an
an an−1 ··· a1 a0

an−1
0 an−1
1 ··· an−1
n−1 0

A continuación se añade una cuarta fila formada por los coeficientes de la tercera
fila (excepto el último) escritos en orden inverso:

a0 a1 ··· an−1 an
an an−1 ··· a1 a0

an−1
0 an−1
1 ··· an−1
n−1 0
an−1
n−1 an−1
n−2 ··· an−1
0

Una quinta linea se obtiene restando a la tercera fila los elementos de la cuarta
an−1
n−1 , obteniendo:
multiplicados por αn−1 = an−1
0
40 ESTABILIDAD EN SISTEMAS DE CONTROL POR COMPUTADOR

a0 a1 ··· an−1 an
an an−1 ··· a1 a0

an−1
0 an−1
1 ··· an−1
n−1 0
an−1
n−1 an−1
n−2 ··· an−1
0

an−2
0 an−2
1 ··· 0

El proceso continuarı́a añadiendo una sexta fila formada por los coeficientes de la
quinta (menos el último) 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−1
0 an−1
1 ··· an−1
n−1 0
an−1
n−1 an−1
n−2 ··· an−1
0

an−2
0 an−2
1 ··· 0
an−2
n−2 an−2
n−3 ···

..
.
a00

En general los elementos de la tabla se calculan mediante la expresión:


akk
ak−1
i = aki − αk akk−i siendo αk =
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. Además,
si ningún ak0 es cero, entonces el número de valores ak0 negativos es igual al número de
raices de A(z) que están fuera del cı́rculo unidad.

Corolario 4.1.1 Si todos los ak0 para k = 1, . . . , n − 1 (nótese que se excluye k = 0)


son positivos, entonces la condición a00 > 0 es equivalente a las condiciones:

A(1) > 0 (−1)n A(−1) > 0

Estas condiciones son necesarias para la estabilidad, por lo que se pueden usar antes
de formar la tabla.
CAPÍTULO 4. ANÁLISIS DE SISTEMAS MUESTREADOS 41

Ejemplo 4.1

Estabilidad de un sistema de segundo orden genérico. Considérese la ecuación carac-


terı́stica:
A(z) = z 2 + a1 z + 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
a1
α1 = 1+a2
a21 (1−a2 )
1 − a22 − 1+a2
0

De esta tabla se desprende que todas las raices estarán en el cı́rculo unidad si

1 − a22 > 0
a21 (1−a2 )
1 − a22 − 1+a2
> 0

que a su vez es equivalente a


a2 < 1
a2 > −1 + a1
a2 > −1 − a1
Estas condiciones se cumplen en un triangulo en el espacio de coeficientes del polinomio
caracterı́stico. Dicho triángulo se ilustra en la figura 4.3.

4.2. Respuesta transitoria: relación con el diagrama


de polos

En esta sección se verá los distintos tipos de respuesta transitoria de sistemas dis-
cretos en función de la posición de los polos. Como ya se ha visto en la sección 4.1,
los sistemas cuyos polos estén fuera del circulo unidad son inestables y sus respuestas
transitorias son inestables. Los que estén dentro del circulo unidad serán estables y la
respuesta se amortigua, mas o menos lentamente dependiendo de lo cerca que estén
de la frontera de estabilidad. Los que esten en la frontera de estabilidad producirán
una respuesta oscilatoria estable en el sentido de que permanece acotada pero no se
amortiguará. Las figuras 4.4 y 4.5 muestran las distintos casos para polos en el plano
42 RESPUESTA TRANSITORIA: RELACIÓN CON EL DIAGRAMA DE POLOS

2.5

1.5

0.5
2

0
a

−0.5

−1

−1.5

−2

−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
a
1

Figura 4.3: Región del espacio de coeficientes de un polinomio de la forma z 2 + a1 z + a2 = 0 en la que


las raices están dentro del cı́rculo unidad.

s y sus equivalentes en el plano z. Puede observarse que las respuestas la forma de las
respuestas se preserva al muestrear pero también como la posición de los polos cambia.

Por otra parte, es interesante también observar como va variando la respuesta im-
pulsional de un sistema en función de la localización de sus polos. En la figura 4.6 puede
observarse que en el caso de que los polos estén en el eje real, la respuesta impulsional
será oscilatoria en la parte negativa y no oscilatoria en la parte positiva. Como es lógico
fuera del cı́rculo unidad la respuesta es siempre inestable. Por otra parte si los polos son
complejos conjugados en el eje imaginario, puede observarse (ver figura 4.7) que son
siempre oscilatorios, tardándose más en amortiguar la respuesta conforme se acercan
a la frontera de la región de estabilidad. En el caso de sistemas en los que los polos
sean complejos conjugados y estén dentro del circulo unidad la respuesta será 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 más pequeña el caracter oscila-
torio disminuye. Finalmente, cuando los polos están en el cirtulo unidad la respuesta
es oscilatoria y no se amortigua, aunque la frecuencia de las oscilaciones depende de la
posición de los polos (ver figura 4.9). Fuera del circulo unidad la respuesta impulsional
será oscilatoria e inestable.
CAPÍTULO 4. ANÁLISIS DE SISTEMAS MUESTREADOS 43

Figura 4.4: Respuestas transitorias correspondientes a la localización de varios polos complejos con-
jugados en el plano s (a). Respuestas transitorias a los correspondientes polos discretos (b).
44 RESPUESTA TRANSITORIA: RELACIÓN CON EL DIAGRAMA DE POLOS

Figura 4.5: Respuestas transitorias correspondientes a la localización 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).
CAPÍTULO 4. ANÁLISIS DE SISTEMAS MUESTREADOS 45

Figura 4.6: Respuestas ante un impulso para un sistema con un polo en el eje real.
46 RESPUESTA TRANSITORIA: RELACIÓN CON EL DIAGRAMA DE POLOS

Figura 4.7: Respuestas ante un impulso para un sistema con polos conjugados en el eje imaginario.
CAPÍTULO 4. ANÁLISIS DE SISTEMAS MUESTREADOS 47

Figura 4.8: Respuestas ante un impulso para un sistema con polos conjugados dentro del circulo
unidad.
48 RESPUESTA TRANSITORIA: RELACIÓN CON EL DIAGRAMA DE POLOS

Figura 4.9: Respuestas ante un impulso para un sistema con polos conjugados en el circulo unidad.
CAPÍTULO 4. ANÁLISIS DE SISTEMAS MUESTREADOS 49

4.3. Errores en regimen permanente

En esta sección se estudiará el error en regimen permanente que presenta un sistema


frente a distintos tipos de entradas. Considérese un sistema cuya función de transfe-
rencia es G(z) y que tiene como entrada una secuencia {rk } que provoca la aparición
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 función 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ı́m (1 − z −1 )ek
z→1

Supóngase que se aplica al sistema como entrada un escalón unitario, cuya transformada
Z es
z
R(z) =
z−1
El error en regimen permanente lo calcularemos como

erpescalón = lı́m zz (1 − z −1 )(1 − G(z))R(z) = lı́m z−1


z
z
(1 − G(z)) z−1
z→1 z→1
m
= lı́m(1 − G(z)) = 1 − lı́m ba00+b1 z+···+bm z
+a1 z+···+an z n
z→1 z→1
P
m
bi
= 1− i=0
Pn
ai
i=0

Ejemplo 4.2

Sea el sistema
0,2
G(z) =
z − 0,9
El error en regimen permanente frente a una entrada escalón es
0,2
erpescalón = 1 − = −1
1 − 0,9
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 escalón.

En este caso la función de transferencia es


b
G(z) =
z−a
Y el error en regimen permanente será
b 1−a−b
erpescalón = 1 − =
1−a 1−a
luego el error será cero si b = 1 − a.

4.3.1. Errores en regimen permanente para sistemas en bucle


cerrado

El caso más interesante es el de los errores para sistemas en bucle cerrado. Supong-
amos un sistema cuya función de transferencia en bucle abierto es G(z) y que se coloca
en la configuración usual de bucle cerrado con realimentación 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
1
E(z) = R(z) − G(z)E(z) que reordenando es igual a E(z) = R(z)
1 + G(z)

Supongamos una entrada en escalón. En este caso el error en regimen permanente


será
erpescalón = lı́m z−1 E(z) = lı́m z−1 1
R(z)
z→1 z z→1 z 1+G(z)
= lı́m z−1 1 z
z 1+G(z) z−1
= 1+ lı́m1 G(z)
z→1 z→1

Definimos Kp = lı́m G(z) y la expresión del error en régimen permanente frente a


z→1
entrada escalón será
1
erpescalón =
1 + Kp
CAPÍTULO 4. ANÁLISIS DE SISTEMAS MUESTREADOS 51

Nótese que Kp es en realidad la ganancia estática del sistema, por lo que según la
expresión anterior a mayor ganancia, menor error en régimen permanente. Por otra
parte si se desea que el error en regimen permanente frente a escalón 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 más general se considera la siguiente definición:

Definición 4.1 Se llama tipo de un sistema al número de polos en z = 1 que tiene


dicho sistema.

Nótese que un polo en z = 1 se corresponde con un polo en s = 0 para sistemas en


tiempo continuo, por lo que esta definición es congruente con la que se da para sistemas
continuos.

Veamos a continuación el error en régimen permanente cuando la entrada es una


rampa. En este caso la transformada Z de la señal de entrada es:
zT
R(z) =
(z − 1)2
por lo que el error en regimen permanente se puede calcular como:
z−1 1 zT 1 1 1
lı́m = lı́m (z−1) (z−1)G(z)
= =
z→1 z 1 + G(z) (z − 1)2 z→1
zT
+ zT
lı́m (z−1)G(z)
zT
Kv
z→1

donde Kv = lı́m (z−1)G(z)


zT
. Veamos cuanto vale el error en función del tipo del sistema.
z→1
Si el sistema es tipo 0, no tendrá ningún 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 señal de entrada común es la entrada en parábola. Siguiendo los procedimientos


anteriores se puede demostrar fácilmente que en este caso se puede definir:
1
Ka = lı́m 2 (z − 1)2 G(z)
z→1 T

y comprobar que el error en regimen permanente es infinito para sistemas de tipo 0 y


1, K1a para sistemas de tipo 2 y cero para sistemas de tipo superior. Todo lo anterior
se puede resumir en la siguiente tabla:
Tipo 0 Tipo 1 Tipo 2
1
errpescalón 1+Kp
0 0
1
errprampa ∞ Kv
0
1
errpparábola ∞ ∞ Ka
52CARACTERÍSTICAS FRECUENCIALES. CORRESPONDENCIA ENTRE EL PLANO S Y EL PLANO Z

4.4. Caracterı́sticas frecuenciales. Correspondencia


entre el plano s y el plano z

Recuérdese que por definición


z , eT s
por lo que es evidente que los valores de z que corresponden a un valor dado de s
dependen del tiempo de muestreo. Por otra parte la variable compleja s es equivalente
a s = σ + jω, por tanto
z , eT (σ+jω) = eT σ · ejωT
Es decir el módulo de s es eT σ y la fase ejωT . Por las propiedades de los números
complejos:
z , eT σ · ej(ωT +2πk) k = 0, ±1, ±2, . . .
Considérese ahora la frecuencia de muestreo ωs = 2π T
. Sea un número s1 del plano s, y
sea s2 otro número que se diferencia de s1 por un múltiplo de la frecuencia de muestreo
en el eje imaginario, es decir

s2 = s1 + j
T
El valor en el plano z que le corresponde a s2 será

z2 = eT s2 = eT s1 e2πj = z1 e2πj = z1

Luego

A puntos del plano s que difieran en múltiplos de la frecuencia de muestreo


en el eje imaginario le corresponden el mismo lugar en el plano z. Cualquier
punto en el plano z tiene infinitos equivalentes en el plano s.

Este resultado tiene como consecuencia que sólo una determinada región del plano
s es la que resulta de interés. Esta región conocida como franja primaria es la que
está entre j ω2s y −j ω2s o lo que es lo mismo entre los números con fase 2T

T = π y −π
(ver figura 4.10). Por encima y por debajo de esa franja tendrı́amos infinitas franjas
complementarias en la que los números tienen los mismos equivalentes en z que los
correspondientes en la franja primaria.

Centrando la atención en la franja primaria, considérese la figura 4.11a. Se definen


en ella una serie de puntos de interes en el plano s, de los que veremos cual es su
equivalente en el plano z. Dichos puntos serı́an:
CAPÍTULO 4. ANÁLISIS 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.
ωs
2. El punto s = j ω2s se transforma en z = ej 2
T
= ejπ o lo que es lo mismo un punto
con módulo uno y fase π (180 grados).
ωs
3. Un punto s = −∞ + j ω2s se transforma en z = e−∞ ej 2
T
, es decir un número con
módulo tendiendo a cero y fase π.
ωs
4. Un punto s = −∞ − j ω2s se transforma en z = e−∞ e−j 2
T
, es decir un número
con módulo tendiendo a cero y fase −π.

5. El punto s = −j ω2s se transforma en z = e−jπ , es decir un punto con módulo uno


y fase −π.

Estos puntos equivalentes se muestran en la figura 4.11b. Si se repite esta análisis para
puntos equivalentes en otras franjas se verá que el resultado es el mismo.

4.4.1. Otras correspondencias

Veamos algunas correspondencias interesantes.


54CARACTERÍSTICAS FRECUENCIALES. CORRESPONDENCIA ENTRE EL PLANO S Y EL PLANO Z

Figura 4.11: Puntos de interes en la franja primaria del plano s.


CAPÍTULO 4. ANÁLISIS DE SISTEMAS MUESTREADOS 55

Eje imaginario. Como ya se ha visto anteriormente la frontera de la región de


inestabilidad del plano s se transforma en el circulo unidad, que es la frontera de
la región de estabilidad del plano z (ver figura 4.2).

Eje real. En el eje real del plano s se cumple que s = σ. Si σ ≥ 0 entonces


z = eσT luego el módulo de z es eσT > 1 y la fase es cero. En caso de que σ < 0
entonces el módulo de z está entre 0 y 1 y la fase sigue siendo 0. Esto implica
que el eje real del plano s se transforma en la parte positiva del eje real del plano
z de manera que de 0 a 1 está la parte negativa del eje real en s y a partir de 1
la parte positiva.

Lugares de atenuación constante. La atenuación, calculada como δ · ωn


está relacionada con el tiempo de establecimiento (calculado como δ·ω3 n . En el
plano s los lugares de atenuación constante son, como se ilustra en la figura 4.12,
son lı́neas verticales con parte real σ1 y parte imaginaria desde −∞ a ∞. Eso
implica que se transforma en números z cuyo módulo es eσ1 T y fase de 0 a 2π.
El lugar geométrico del plano z es por tanto una circunferencia de radio eσ1 T y
centrada en z = 0 (ver figura 4.12). El interior de la circunferencia corresponde
a los puntos de s con atenuación inferior a σ1 . Por otra parte si la atenuación
es superior a cero el radio es superior a 1, mientras que en el caso de de ser la
atenuación inferior a cero, el radio es inferior a 1.

s z

=
1 1 1

Figura 4.12: Lugares de atenuación constante en el plano s y z.

Lugares de frecuencia constante. En este caso los números en el plano s


forman una lı́nea horizontal (ver figura 4.13) de la forma s = σ + jω1 . Estos
números se transforman en z = eσT · ejω1 T . Esto es una recta (ver figura 4.13) que
parte de z = 0 con ángulo determinado por la fase omega1 T y que para σ = −∞
56CARACTERÍSTICAS FRECUENCIALES. CORRESPONDENCIA ENTRE EL PLANO S Y EL PLANO Z

le hace corresponder z = 0 mientras que conforme σ crece el módulo del número


z correspondiente sobre la recta crece.

σ =∞
s z
j
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 está relacionado con el
denominador de la función de transferencia:
D(s) = s2 + 2ζωn s + ωn2
Los lugares de amortiguamiento constante en el p plano s son rectas (ver figura
4.14) dadas por s = −ζωn T + jωd T , donde ωd = 1 − ζ 2 ωn . La transformación
en z es z = e(−ζωn +jωd )T , cuyo módulo y fase resulta ser:
ωd
− √2πζ
|z| = e 1−ζ2 ωs
∠z = 2π ωωds

donde ωs = 2π T
. La curva que describen estos números 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 − 21 ωs ≤ ω ≤ 0, las curvas son imágenes 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 amortiguación constante. La transformación de s
en z es un mapeo conforme que preserva los ángulos entre lugares, por lo que
los lugares de frecuencia natural constante serán también perpendiculares en z.
La figura 4.16 muestra ambos lugares en el plano z para diversos valores de ζ y
ωn . Nótese que los lugares para frecuencias entre − 12 ωs ≤ ω ≤ 0, también son
imágenes especulares de 4.16.
CAPÍTULO 4. ANÁLISIS DE SISTEMAS MUESTREADOS 57

Figura 4.14: Lugares de amortiguación y frecuencia natural constante en el plano s.

Figura 4.15: Lugares de amortiguación constante en el plano z.


58CARACTERÍSTICAS FRECUENCIALES. CORRESPONDENCIA ENTRE EL PLANO S Y EL PLANO Z

Figura 4.16: Lugares de amortiguación y frecuencia natural constante en el plano z.


Capı́tulo 5

Diseño de controladores discretos

5.1. Discretización de reguladores continuos

A la hora de diseñar un controlador en tiempo discreto es frecuente partir de un


controlador continuo obtenido mediante los métodos clásicos y discretizar éste último,
en lugar de realizar el diseño directamente en tiempo discreto. El resultado de esta
discretización es implementado despues en forma de programa en un computador.

El caso más común (y el que trataremos aquı́) es el de los controladores PID, cuya
expresión en tiempo continuo es

 
Zt
1 de(t) 
u(t) = Kp e(t) + e(τ )dτ + Td
Ti dt
0

donde u(t) es la entrada que se aplica en el instante t y e(t) = y(t) − ref(t), es decir
la diferencia entre la salida y la referencia a seguir en t. Es importante destacar que el
resultado que se obtiene al aplicar la discretización es una aproximación del controlador
original. Para obtener dicha aproximación se pueden usar diferentes alternativas.

Comentario 5.1 En este tema se supone que el lector está 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 DISCRETIZACIÓN DE REGULADORES CONTINUOS

Kp Ti Td
τ
P Kτm
0,9τ
PI Kτm
3τm
1,2τ
PID Kτm
2τm 0,5τm

donde τ es la constante de tiempo, τm el tiempo muerto y K es la ganancia estática


del sistema.

5.1.1. Aproximación rectangular hacia delante (Euler I)

En este caso la derivada se aproxima por


de(t) ek − ek−1
=
dt T
donde T es el tiempo de muestreo. Además la integral se aproxima por
Zt k−1
X k−1
X
e(τ )dτ = e(i)T = T ei
0 i=0 i=0

Esta aproximación se ilustra en la figura 5.1, en la que la suma del área de los rectángu-
los sombreados serı́a la aproximación de la integral.

e(t)

K-1 K t

Figura 5.1: Aproximación rectangular hacia delante de la integral.

Sustituyendo estas expresiones en la ley de control PID queda:


à k−1
!
T X Td
uk = Kp ek + ei + (ek − ek−1 )
Ti i=0 T
CAPÍTULO 5. DISEÑO DE CONTROLADORES DISCRETOS 61

Nótese que esta expresión puede ser retrasada en el tiempo de manera que:
à k−2
!
T X Td
uk−1 = Kp ek−1 + ei + (ek−1 − ek−2 )
Ti i=0 T

Restando ambas expresiones se llega a que


µ ¶
T Td
uk − uk−1 = Kp ek − ek−1 + ek−1 + (ek − 2ek−1 + ek+2 )
Ti T
que a su vez se puede poner como
uk − uk−1 = q0 ek + q1 ek−1 + q2 ek−2 (5.1)
con ¡ ¢
q0 = Kp ³1 + TTd ´
q1 = Kp −1 − 2 TTd + T
Ti
q2 = Kp TTd
Aplicamos la transformada Z a la ecuación (5.1) obteniendose:
U (z)(1 − z −1 ) = (q0 + q1 z −1 + q2 z −2 )E(z)
Finalmente se define la función de transferencia del controlador como:
U (z) q0 + q1 z −1 + q2 z −2
C(z) = = (5.2)
E(z) 1 − z −1

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 según la expresión (5.1).
5. Aplicar uk .
6. Actualizar uk−1 , ek−1 , ek−2 .

Como se comprobará en la sección 5.2 la aproximación de la integral vista en esta


sección equivale a aplicar la siguiente sustitución:
z−1
s,
T
62 DISCRETIZACIÓN DE REGULADORES CONTINUOS

5.1.2. Aproximación rectangular hacia atras (Euler II)

En este caso la integral se aproxima por la integral se aproxima por

Zt k
X k
X
e(τ )dτ = e(i)T = T ei
0 i=1 i=1

Esta aproximación se ilustra en la figura 5.2. Nuevamente la aproximación serı́a la suma


de las areas de los rectangulos sombreados.

e(t)

K-1 K t

Figura 5.2: Aproximación rectangular hacia detras de la integral.

El desarrollo es similar y se llega a que:


à k
!
T X Td
uk = Kp ek + ei + (ek − ek−1 )
Ti i=1 T

y de ahı́ a:
uk − uk−1 = q0 ek + q1 ek−1 + q2 ek−2
con ³ ´
q0 = Kp 1 + TTi + TTd
¡ ¢
q1 = Kp −1 − 2 TTd
q2 = Kp TTd
En este caso se verá que el resultado es igual que si se sustituye s por

Tz
s,
z−1
CAPÍTULO 5. DISEÑO DE CONTROLADORES DISCRETOS 63

5.1.3. Aproximación bilineal (trapezoidal o Tustin)

En el caso la aproximación bilineal la integral se aproxima por:

Zt Xk Xk
e(i) − e(i − 1) ei + ei−1
e(τ )dτ = (e(i − 1 + )T = T
i=1
2 i=1
2
0

Esta aproximación es la más cercana al valor real de la integral, como se ilustran en la


figura 5.3.

e(t)

K-1 K t

Figura 5.3: Aproximación bilineal de la integral.

Como en los casos anteriores se llega a un resultado igual en forma, pero variando
el valor de los coeficientes:
³ ´
T Td
q0 = Kp 1 + 2Ti + T
³ ´
T Td
q1 = Kp 2T i
− 1 − 2 T
q2 = Kp TTd

Como se verá en la sección siguiente, esta aproximación se corresponde con una susti-
tución de s por
2 z−1
s,
T z+1
64 CORRESPONDENCIA S ↔ Z PARA LAS APROXIMACIONES DE LA INTEGRAL

5.2. Correspondencia s ↔ z para las aproximaciones


de la integral

En esta sección se verá como las aproximaciones de la integral vistas anteriormente


se corresponden con sustituciones de s en la función de transferencia de controlador
por una cierta expresión en z. El estudio se hará a través de un ejemplo, en el que se
supondrá que el controlador tiene como función de transferencia en continuo:

U (S) a
= (5.3)
E(S) s+a

Esto implica que


du(t)
+ au(t) = ae(t)
dt
y de ahı́
du(t)
= −au(t) + ae(t)
dt
Integrando la expresión anterior podemos obtener el valor de u(kT ):

R
kT
du(t)
u(kT ) = dt
dt
0
R
(k−1)T
du(t) R
kT
du(t)
= dt
dt + dt
dt
0 (k−1)T (5.4)
R
kT
= u((k − 1)T ) + (−au(t) + ae(t)) dt
(k−1)T
= u((k − 1)T ) + A

Donde A es la integral de u(t) entre los instantes de muestreo k − 1 y k tal y como se


muestran en la figura 5.4. A continuación se verá cada caso particular de aproximación
de la integral.

5.2.1. Rectangular hacia delante

En este caso se cumple que u(t) = u((k − 1)T ) en todo el intervalo de integración
de A por lo que:

ZkT
A= (−au((k − 1)T ) + ae((k − 1)T )) dt = (−au((k − 1)T ) + ae((k − 1)T )) T
(k−1)T
CAPÍTULO 5. DISEÑO DE CONTROLADORES DISCRETOS 65

e(t)

K t

Figura 5.4: Integral de u(t) para un periodo de muestreo.

Teniendo en cuenta lo anterior en (5.4):

uk = uk−1 − T auk−1 + T aek−1

Aplicando la transformada Z:
U (z) T az −1 Ta a
= −1 −1
= = z−1
E(z) 1 − z + T az z − 1 + Ta T
+a
por lo que comparando con (5.3) se tiene que
z−1
s,
T
o tambien
z , Ts + 1

5.2.2. Rectangular hacia atrás

En este caso u(t) = u(kT ) en todo el intervalo de integración de A, por lo que:

A = −aT u(kT ) + aT e(kT )

al igual que antes teniendo en cuenta lo anterior en (5.4):

uk = uk−1 − T auk + T aek

que lleva a:
U (z) aT a
= = 1−z −1
E(z) 1 + aT − z −1 T
+a
66 ESTABILIDAD DE LAS APROXIMACIONES DE LA INTEGRAL

por lo que comparando con (5.3) se tiene que


1 − z −1 z−1
s, =
T zT
o tambien
1
z,
1 − Ts

5.2.3. Trapezoidal o Bilineal

En este caso el valor de u(t) a lo largo del intervalo de integración de A no es


constante sino que viene dado por la expresión de una recta:
u(kT ) − u((k − 1)T )
u(t) = u((k − 1)T ) + (t − (k − 1)T ) (k − 1)T ≤ t ≤ kT
T
Teniendo en cuenta esto se obtiene que
µ ¶ µ ¶
uk + uk−1 ek + ek−1
A = −aT + aT
2 2
por lo que llevandolo a (5.4):
µ ¶ µ ¶
uk + uk−1 ek + ek−1
uk = uk−1 − aT + aT
2 2
lo que al aplicar transformada Z y operar resulta:
aT aT
U (z) 2
(1 + z −1 ) 2 a
= = =
E(z) (1 − z −1 ) + aT
2
(1 + z −1 ) (1−z −1 )
(1+z −1 )
+ aT
2
2 (z−1)
T (z+1)
+a
por lo que comparando con (5.3) se tiene que
2 (z − 1)
s,
T (z + 1)
o tambien
Ts
1+ 2
z, Ts
1− 2

5.3. Estabilidad de las aproximaciones de la inte-


gral

En esta sección se verá la transformación en el plano z de la región de estabilidad


en continuo, es decir el semiplano izquierdo del plano s (ver figura 5.5), al aplicar las
aproximaciones anteriores.
CAPÍTULO 5. DISEÑO DE CONTROLADORES DISCRETOS 67

Figura 5.5: Región de estabilidad en el plano s (sombreada).

1. Rectangular hacia delante. En este caso se tiene que z , T s + 1, por lo


que la región de estabilidad del plano s se transforma en una región equivalente
pero desplazada en una unidad hacia el semiplano derecho, tal y como muestra
la figura 5.6. Es muy significativo que la transformación en el plano z incluye

Figura 5.6: Transformación en el plano z de la región de estabilidad del plano s al aplicar la aproxi-
mación rectangular hacia delante (sombreada).

la región de estabilidad del plano z pero tambien un infinito puntos del plano z
fuera de dicha región, por lo que un controlador estable en el plano s no tiene
por que resultar en un controlador estable en el plano z cuando se aplica esta
aproximación.
68 ESTABILIDAD DE LAS APROXIMACIONES DE LA INTEGRAL

2. Bilineal o Trapezoidal. La sustitución era:


Ts
1+ 2
z, Ts
1− 2

Teniendo en cuenta que s = jω, se obtiene:


jωT ω2 T 2 ω2 T 2
1+ 2
1 + jωT − 4
1− 4 ωT
z, jωT
= ω2 T 2
= ω2 T 2
+ 2 2 j
1− 2
1+ 4
1+ 4
1 + ω 4T
que se puede reescribir como
x+y·j
con
ω2 T 2
1− 4 ωT
x= ω2 T 2
y= 2 2
1+ 4
1 + ω 4T
Se comprueba que
x2 + y 2 = 1
Esta región describe un circulo de radio uno centrado en el origen en el plano z
(ver figura 5.7) que es precisamente la región de estabilidad en el plano z. Esto
implica que un controlador estable en el plano s se corresponde con un controlador
estable en el plano z (y viceversa) cuando se aplica esta aproximación.

Figura 5.7: Transformación en el plano z de la región de estabilidad del plano s al aplicar la aproxi-
mación bilineal (sombreada).

3. Rectangular hacia atrás. La sustitución para esta aproximación implicaba


que:
1 1 1 1 1 1 1 + Ts
z, = + − = +
1 − Ts 2 1 − Ts 2 2 2 1 − Ts
CAPÍTULO 5. DISEÑO DE CONTROLADORES DISCRETOS 69

Nótese que este caso la sustitución es similar a la que se ve en la aproximación


bilineal. En este caso se puede comprobar que la región de estabilidad
¡ 1 ¢ del plano
1
s se transforma en un circulo de radio 2 y centrado en el punto 2 , 0 (ver figura
5.8). Esto implica que está dentro de la región de estabilidad del plano z, por
lo que todo controlador estable en el plano s se transformará en un controlador
estable en el plano z. Sin embargo, a diferencia de lo que ocurre con la aproxi-
mación bilineal, un controlador estable en z no tiene por que corresponderse con
uno estable en s.

0,5 1

Figura 5.8: Transformación en el plano z de la región de estabilidad del plano s al aplicar la aproxi-
mación rectangular hacia atrás (sombreada).

De todo lo anterior se desprende que la mejor de las tres aproximaciones es la


bilineal.

Ejemplo 5.1

Describir un algoritmo que corresponda a un controlador que aproxime al controlador


en tiempo continuo:
1
Gc (s) = 2
s + 2s + 1

de forma discreta con un tiempo de muestreo de T = 0,1 segundos mediante la Euler


hacia delante.
70 MÉTODO DE DISEÑO DIRECTO

La aproximación es:
z−1
s,
T
por lo que sustituyendo en Gc (s) queda
1 1
Ĝc (z) = z−1 2
= z 2 −2z+1 2z−2
( T ) +2 z−1
T
+1 T2
+ T +1
1 1
= 100z 2 −200z+100+20z−20+1
= 100z 2 −180z+81

Nótese que la expresión del controlador obtenida no es válida para su implementación


pues al ponerla en forma de secuencias aparecen términos en el futuro, por lo que la
transformamos de manera que quede de la forma

Y (z) b0 + b1 z −1 + b2 z −2 + · · · + bn z −n
G(z) = =
U (z) 1 + a1 z −1 + a2 z −2 + · · · + an z −n
resultando en este caso:
0,01z −2
Ĝc (z) =
1 − 1,8z −1 + 0,81z −2
y de ahı́ se obtiene que:

uk = 1,8uk−1 − 0,81uk−2 + 0,01ek−2 (5.5)

El algoritmo tendrı́a los siguientes pasos:

1. Repetir:

a) Esperar(T).
b) Leer(ek ).
c) Calcular uk según la expresión (5.5).
d ) Aplicar uk .
e) Actualizar: uk−2 = uk−1 , uk−1 = uk , ek−2 = ek−1 , ek−1 = ek .

5.4. Método de diseño directo

En esta sección se verá una alternativa a la discretización de controladores con-


tinuos, el método de diseño directo o método de Ragazzini-Truxal. Este método se
basa en diseñar el controlador directamente en tiempo discreto, imponiendo una serie
CAPÍTULO 5. DISEÑO DE CONTROLADORES DISCRETOS 71

de condiciones a su función de transferencia y la función de transferencia de bucle


cerrado.

El principio tras el método directo es que habitualmente se tienen unas especi-


ficaciones de diseño que debe cumplir el sistema en bucle cerrado. En base a esas
especificaciones es posible obtener por tanto la función de transferencia de bucle cerra-
do deseada, Gd (z). Por otra parte se sabe que según la configuración clásica de control
realimentado la función de transferencia de bucle cerrado será:
C(z)G(z)
Gd (z) =
1 + C(z)G(z)
Donde G(z) es la función de transferencia de bucle abierto del sistema y C(z) es la
función de transferencia del controlador. Es evidente que se puede despejar C(z) en la
ecuación anterior, quedando:
1 Gd (z)
C(z) = (5.6)
G(z) 1 − Gd (z)
La función de transferencia del controlador obtenida ası́ directamente puede que no
sea implementable o puede que resulte en un sistema mal condicionado. Por lo tanto,
para garantizar que el controlador sea implementable hay que imponer una serie de
condiciones: causalidad, estabilidad interna y errores en régimen permanente.

5.4.1. Causalidad

El controlador debe ser causal pues de lo contrario necesitarı́a valores futuros de


la secuencia {ek } para calcular la señal de control uk . La causalidad implica que si la
función de transferencia del controlador1 es
Nc (z)
C(z) =
Dc (z)
entonces
grado(Nc (z)) ≤ grado(Dc (z))
Veamos la causa de esta condición. Si C(z) es igual a
U (z) b0 z m + b1 z m−1 + · · · + bm
C(z) = = n
E(z) z + a1 z n−1 + · · · + an
para obtener la ecuación en diferencias que da la señal uk hay que dividir todo por z n
para que quede 1 + a1 z −1 + · · · en el denominador. Si m > n quedarı́an términos de
1
Nótese que la función de transferencia se expresa en potencias de z no de z −1
72 MÉTODO DE DISEÑO DIRECTO

la forma z p (con p > 0) que equivalen a términos de la señal de error ek+p , es decir
términos en el futuro.

Por otra parte, la ecuación (5.6) se puede reescribir como


Nd (z)
D(z) Dd (z) D(z) Nd (z) Nc (z)
C(z) = N (z)
= =
N (z) 1 − d N (z) Dd (z) − Nd (z) Dc (z)
Dd (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 condición de causalidad tanto en la función 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 condición impuesta sobre la función de
transferencia de bucle cerrado deseada Gd (z):

El exceso de polos sobre ceros de la función de transferencia de bucle cerrado


deseada debe ser mayor o igual que el exceso de polos sobre ceros de la
función de transferencia de bucle abierto de la planta.

Esto implica que si el sistema tiene un retardo la función deseada de bucle cerrado ha
de tener al menos el mismo retardo (por que la planta no puede reaccionar antes de
que cambie la referencia).

5.4.2. Estabilidad Interna

El principio detras de las condiciones de estabilidad interna es que se deben evitar


las cancelaciones entre polos y ceros inestables (es decir fuera del circulo unidad) de
C(z) y G(z). Tomemos la ecuación caracterı́stica de bucle cerrado:

1 + C(z)G(z) = 0
CAPÍTULO 5. DISEÑO DE CONTROLADORES DISCRETOS 73

Es conocido que las raices de esta ecuación son los polos de bucle cerrado del sistema.
Esta ecuación se puede reescribir como:
Nc (z) N (z)
1+ =0
Dc (z) D(z)
que equivale a
Dc (z)D(z) + Nc (z)N (z) = 0 (5.8)

Supóngase que la planta tiene un polo inestable, por lo que el denominador de la


función 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 − α)N̄c (z),
entonces teniendo en cuenta (5.8) la ecuación caracterı́stica serı́a:
¡ ¢
Dc (z) · (z − α)D̄(z) + (z − α)N̄c (z)N (z) = (z − α) Dc (z)D̄(z) + N̄c (z)N (z) = 0
Es decir, la ecuación caracterı́stica tiene una raiz inestable, lo que implica que uno de
los polos de bucle cerrado es inestable. El mismo análisis se podrı́a repetir para los
ceros inestables de G(z).

El análisis 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
práctica por cambios y tolerancias en la dinámica de la planta o del controlador es
muy dificil lograr tal cancelación 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:


D(z) Gd (z)
C(z) =
N (z) 1 − Gd (z)
se ve que se tienen que cumplir dos condiciones:

1. Todos los polos inestables de G(z) deben aparecer como ceros de 1 − Gd (z). La
razón de esto es para evitar que en Nc (z) no aparezcan los polos inestables de
G(z), que si se cumple esta condición serı́an cancelados por 1 − Gd (z).

2. Todos los ceros inestables de G(z) deben aparecer como ceros de Gd (z). Cumpliéndose
esta condición se evita que en Dc (z) aparezcan los ceros inestables de G(z), que
serı́an anulados por Gd (z).

Nótese 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 MÉTODO DE DISEÑO DIRECTO

5.4.3. Errores en régimen permanente

Estas condiciones sirven para fijar Gd (z) especificando si se desea o no error en


régimen permanente nulo ante determinadas referencias. Nótese que el error para la
configuración en bucle cerrado será:

E(z) = R(z) − Y (z) = R(z) − R(z)Gd (z) = (1 − Gd (z))R(z)

por lo que el error en régimen permanente será (usando el teorema del valor final):

erp = lı́m(z − 1)(1 − Gd (z))R(z)


z→1

Dependiendo de la referencia que se desee seguir con error en régimen permanente nulo
se tendrán diferentes condiciones a imponer sobre Gd (z):

1. Error en régimen permanente nulo ante referencia escalón: En este caso


z
R(z) =
z−1
por lo que
z
erp = lı́m(z − 1)(1 − Gd (z)) = lı́m z(1 − Gd (z)) = 1 − Gd (1)
z→1 z − 1 z→1
Claramente si se desea que el error sea cero se ha de cumplir que

Gd (1) = 1

2. Error en régimen permanente nulo ante referencia escalón: La referencia


en este caso será:
Tz
R(z) =
(z − 1)2
El error será:
Tz 0
erp = lı́m(z − 1)(1 − Gd (z)) 2
=
z→1 (z − 1) 0
Este lı́mite se resolverı́a usando la regla de L’Hopital. En cualquier caso, si pre-
viamente se ha impuesto la condición anterior, Gd (1) = 1 o lo que es lo mismo
lı́m Gd (z) = 1, se cumple que:
z→1
¯
d
dz
(1 − Gd (z)) dGd (z) ¯¯
erp = lı́m T = −T
z→1 d
dz
(z − 1) dz ¯z=1
por que el error en régimen permanente ante rampa y escalón será nulo si
Gd¯ (1) = 1
dGd (z) ¯
−T dz ¯
= 0
z=1
CAPÍTULO 5. DISEÑO DE CONTROLADORES DISCRETOS 75

Ejemplo 5.2

Sea
1
G(z) =
z+2
Se pide hallar el controlador C(z) tal que el sistema en bucle cerrado tenga sus polos
en z = 0 y z = 0,8 y que el error en régimen permanente ante escalón sea cero.

En primer lugar se verá 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) tendrá como forma:

b0 z + b1
Gd (z) =
z(z − 0,8)

De esta forma ya están 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):

b0 z + b1 z(z − 0,8) − b0 z − b1
1 − Gd (z) = 1 − =
z(z − 0,8) z(z − 0,8)

Impondremos ahora que tenga un cero en z = −2:

−2(−2 − 0,8) + b0 2 − b1
1 − Gd (−2) = =0
−2(−2 − 0,8)

que a su vez equivale a:

5,6 + 2b0 − b1 = 0 −→ b1 = 2b0 + 5,6 (5.9)

La tercera condición es la de error permanente nulo, que se consigue con Gd (1) = 1:

b0 + b1 b0 + b1
= = 1 −→ b0 + b1 = 0,2 −→ b1 = −b0 + 0,2 (5.10)
1(1 − 0,8) 0,2

Usando (5.9) y (5.10) se obtiene:

b0 = −1,8 b1 = 2
76 CONTROL EN UN NÚMERO FINITO DE INTERVALOS. CONTROL DEAD-BEAT

Por tanto ya se tiene cual es Gd (z):


−1,8z + 2 2(−0,9z + 1)
Gd (z) = =
z(z − 0,8) z(z − 0,8)
Y a partir de Gd (z) ya se puede calcular C(z):
2(−0,9z+1)
1 Gd (z) z(z−0,8) 2(1 − 0,9z) 2(z −1 − 0,9)
C(z) == = (z + 2) = =
G(z) 1 − Gd (z) 1 − 2(−0,9z+1) (z − 1)
z(z−0,8)
1 − z −1

Luego
U (z) 2(z −1 − 0,9)
C(z) = =
E(z) 1 − z −1
Por tanto:

U (z)(1 − z −1 ) = E(z)(−1,8 + 2z −1 ) −→ uk = uk−1 − 1,8ek + 2ek−1

5.5. Control en un número 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 régimen 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:
a0 z N + a1 z N −1 + · · · + aN
Gd (z) = a0 + a1 z −1 + · · · + an z −N =
zN
donde N es mayor o igual que el orden del sistema n. Nótese que en esta Gd (z) todos
los polos de bucle cerrado están en z = 0. En esta configuración 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 único parámetro de diseño es el tiempo de muestreo.
Si tomamos un tiempo de muestreo muy pequeño la magnitud de la señal de control
aumenta drásticamente y el sistema puede sobreoscilar mucho.

Veremos como se diseña el controlador en este caso, partiendo de que Gd (z) será
Nd (z)
Gd (z) =
zN
CAPÍTULO 5. DISEÑO DE CONTROLADORES DISCRETOS 77

Por otra parte segun (5.6):


N (z)
1 Gd (z) D(z) d
zN D(z) Nd (z)
C(z) = = N −N (z) = (5.11)
G(z) 1 − Gd (z) N (z) z
N
d N (z) z N − Nd (z)
z

Por otra parte la función de transferencia entre la referencia y la salida del controlador
Gu (z) = UR(z)
(z)
debe tener tambien una respuesta impulsional finita, de manera que

U (z) U (z) Y (z) 1


Gu (z) = = = Gd (z)
R(z) Y (z) R(z) G(z)

debe ser un polinomio en z −1 y en

D(z) Nd (z)
Gu (z) =
N (z) z N

podemos tomar
Nd (z) = M (z)N (z)
donde M (z) nos da más grados de libertad. Sabiendo entonces que Nd (z) = M (z)N (z),
se lleva a (5.11) de manera que

D(z) M (z)N (z) D(z)M (z)


C(z) = N
= N
N (z) z − M (z)N (z) z − M (z)N (z)

Siendo una condición es que el error en régimen permanente ante escalón sea nulo,
se puede elegir M (z) de manera que Gd (1) = 1 es decir

M (z)N (z) 1 1
Gd (z) = N
−→ M (1) · N (1) = 1 −→ M (1) = =P
z N (1) bi

Por tanto hacemos


1
m= P
bi
y la función de transferencia del controlador en un número finito de intervalos será

D(z) · m
C(z) =
zN − m · N (z)

Ejemplo 5.3

Sea
b0 z + b1
G(z) =
(z − a)
78 CONTROL EN UN NÚMERO FINITO DE INTERVALOS. CONTROL DEAD-BEAT

Obtener el controlador dead-beat correspondiente.

La función de transferencia del controlador será:


1 1
(z − a) b0 +b (1 − az −1 ) b0 +b (1 − az −1 )
C(z) = 1
1
= 1
1
=
z1 − (b z
b0 +b1 0
+ b1 ) 1− (b
b0 +b1 0
+ b1 z −1 ) b1 (1 − z −1 )
Capı́tulo 6

Control de sistemas discretos en el


espacio de estados

6.1. Representación de sistemas discretos en el es-


pacio de estados

El método de espacio de estados está basado en la descripción del sistema mediante


n ecuaciones en diferencias, que se agrupan en una ecuación vectorial matricial en
diferencias.

Definición 6.1 Concepto de estado: El estado de un sistema dinámico es el con-


junto más pequeño 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 señal de entrada para los instantes t ≥ t0 , permite determinar el comportamiento
y evolución 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 dinámica de un sistema se puede describir en función del valor del vector de


estados y de la señal de entrada (asumiendo que el sistema es no autónomo mediante

79
80OBTENCIÓN DE LA REPRESENTACIÓN DE EN ESPACIO DE ESTADOS DE SISTEMAS DISCRETOS

unas ecuaciones que tendrán la forma:

x(k + 1) = f (x(k), u(k), k)


y(k) = g(x(k), u(k), k)

donde la notación ξ(k) indica el valor tomado por ξ en el instante de tiempo tk y f y g


pueden ser cualquier tipo de función. 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) x(k) +
u(k) +
H +
z-1I C +

Figura 6.1: Diagrama de bloques de la representación en espacio de estados de un sistema LTI.

6.2. Obtención de la representación de en espacio


de estados de sistemas discretos

Partiremos de un sistema discreto descrito por:

y(k)+a1 y(k−1)+a2 y(k−2)+· · ·+an y(k−n) = b0 u(k)+b1 u(k−1)+· · ·+bn u(k−n) (6.2)

Es bien conocido de anteriores temas de la asignatura que este sistema puede ser
descrito por la siguiente función de transferencia:
Y (z) b0 + b1 z −1 + b2 z −2 + · · · + bn z −n
G(z) = = (6.3)
U (z) 1 + a1 z −1 + a2 z −2 + · · · + an z −n
A continuación se expondrán dos de los métodos disponibles para obtener la repre-
sentación en espacio de estados del sistema descrito por (6.3).
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 81

6.2.1. Método de programación directa

Parte de la premisa que la función de transferencia (6.3) puede reescribirse como:


(b1 − a1 b0 )z −1 + (b2 − a2 b0 )z −2 + · · · + (bn − an b0 )z −n
G(z) = b0 + (6.4)
1 + a1 z −1 + a2 z −2 + · · · + an z −n
Y (z)
teniendo en cuenta que G(z) = U (z)
se obtiene:

(b1 − a1 b0 )z −1 + (b2 − a2 b0 )z −2 + · · · + (bn − an b0 )z −n


Y (z) = b0 U (z) + U (z) (6.5)
1 + a1 z −1 + a2 z −2 + · · · + an z −n
que a su vez se puede expresar como:

Y (z) = b0 U (z) + Ỹ (z)U (z) (6.6)

con:
(b1 − a1 b0 )z −1 + (b2 − a2 b0 )z −2 + · · · + (bn − an b0 )z −n
Ỹ (z) = (6.7)
1 + a1 z −1 + a2 z −2 + · · · + an z −n
Por otra parte, teniendo en cuenta la expresión de Ỹ (z) se puede definir un Q(z) que
cumple que:

Ỹ (z) U (z)
Q(z) = = (6.8)
(b1 − a1 b0 )z −1 + · · · + (bn − an b0 )z −n 1 + a1 z + · · · + an z −n
−1

De ahı́ se obtiene que:

Q(z) = −a1 z −1 Q(z) − a2 z −2 Q(z) − · · · − an z −n Q(z) + U (z) (6.9)

Ỹ (z) = (b1 − a1 b0 )z −1 Q(z) + (b2 − a2 b0 )z −2 Q(z) + · · · + (bn − an b0 )z −n Q(z) (6.10)

A continuación se eligen las variables de estado como:

X1 (z) = z −n Q(z) (6.11)


−(n−1)
X2 (z) = z Q(z)
···
Xn (z) = z −1 Q(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)
82OBTENCIÓN DE LA REPRESENTACIÓN 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)
Nótese que según la última 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
expresión de Q(z) en (6.9) como:
zXn (z) = −a1 Xn (z) − a2 Xn−1 (z) − · · · − an X1 (z) + U (z) (6.13)
o lo que es lo mismo:
xn (k + 1) = −an x1 (k) − an−1 x2 (k) − · · · − a1 xn (k) + u(k) (6.14)
De esta manera y si tenemos en cuenta (6.12) obtenemos la siguiente expresión de la
ecuación de estado:
      
x1 (k + 1) 0 1 0 ··· 0 x1 (k) 0
 x2 (k + 1)   0 0 1 ··· 0     
     x2 (k)   0 
 ..   .. .
.. .
.. .  
..   .
..   .. 
 . = .  +  .  u(k)
      
 xn−1 (k + 1)   0 0 0 · · · 1   xn−1 (k)   0 
xn (k + 1) −an −an−1 −an−2 · · · −a1 xn (k) 1
(6.15)

Por otra parte, podemos reescribir también (6.10) teniendo en cuenta las igualdades
de (6.11) de manera que:
Ỹ (z) = (b1 − a1 b0 )Xn (z) + (b2 − a2 b0 )Xn−1 (z) + · · · + (bn − an b0 )X1 (z) (6.16)
Esto se puede llevar a la ecuación (6.6) de manera que antitransformando se obtiene:
y(k) = (bn − an b0 )x1 (k) + (bn−1 − an−1 b0 )x2 (k) + · · · + (b1 − a1 b0 )xn (k) + b0 u(k) (6.17)
lo cual se puede escribir como:
 
x1 (k)
 x2 (k) 
£ ¤
 ..


y(k) = bn − an b0 bn−1 − an−1 b0 · · · b1 − a1 b0  .  + b0 u(k) (6.18)
 
 xn−1 (k) 
xn (k)
Las ecuaciones (6.15) y (6.18) forman una representación en espacio de estados del
sistema descrito por la función de transferencia (6.3) que se denomina forma canónica
controlable.
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 83

6.2.2. Método de programación anidada

En este caso se parte de que de la función de transferencia (6.3) se obtiene la


siguiente ecuación:

Y (z) − b0 U (z) + z −1 (a1 Y (z) − b1 U (z)) + · · · + z −n (an Y (z) − bn U (z)) = 0 (6.19)

que a su vez se puede reescribir como:


¡
Y (z) = b0 U (z) + z −1 b1 U (z) − a1 Y (z) + z −1 (b2 U (z) − a2 Y (z) (6.20)
¢¢
+z −1 (b3 U (z) − a3 Y (z) + · · ·)

Teniendo en cuenta esto se definen las siguientes variables de estado:

Xn (z) = z −1 (b1 U (z) − a1 Y (z) + Xn−1 (z)) (6.21)


Xn−1 (z) = z −1 (b2 U (z) − a2 Y (z) + Xn−2 (z))
..
.
X2 (z) = z −1 (bn−1 U (z) − an−1 Y (z) + X1 (z))
X1 (z) = z −1 (bn U (z) − an Y (z))

Nótese que según esta definición de las variables de estado la expresión (6.20) se puede
reescribir en forma condensada como:

Y (z) = b0 U (z) + Xn (z) (6.22)

Sustituyendo esta expresión en la definición 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) − a1 Xn (z) + (b1 − a1 b0 )U (z)


zXn−1 (z) = Xn−2 (z) − a2 Xn (z) + (b2 − a2 b0 )U (z)
..
.
zX2 (z) = X1 (z) − an−1 Xn (z) + (bn−1 − an−1 b0 )U (z)
zX1 (z) = −an Xn (z) + (bn − an b0 )U (z)

Antitransformando lo anterior:

x1 (k + 1) = −an xn (k) + (bn − an b0 )u(k) (6.23)


x2 (k + 1) = x1 (k) − an−1 xn (k) + (bn−1 − an−1 b0 )u(k)
..
.
xn−1 (k + 1) = xn−2 (k) − a2 xn (k) + (b2 − a2 b0 )u(k)
xn (k + 1) = xn−1 (k) − a1 xn (k) + (b1 − a1 b0 )u(k)
84 LA REPRESENTACIÓN EN ESPACIO DE ESTADOS DE UN SISTEMA NO ES ÚNICA

Antitransformando también la expresión (6.22) se obtiene:


y(k) = xn (k) + b0 u(k) (6.24)
Finalmente, agrupando las dos expresiones anteriores se obtiene:
      
x1 (k + 1) 0 0 · · · 0 0 −an x1 (k) bn − an b0
 x2 (k + 1)   1    
0 · · · 0 0 −an−1   x2 (k)   bn−1 − an−1 b0 
   
 ..   .. .. .. .. ..  ..   .. 
 .  =  . . . . .  . + .  u(k)
      
 xn−1 (k + 1)   0 0 · · · 1 0 −a2   xn−1 (k)   b2 − a2 b0 
xn (k + 1) 0 0 · · · 0 1 −a1 xn (k) b1 − a1 b0
 
x1 (k)
 x2 (k) 
£ ¤
 .


y(k) = 0 0 ··· 0 1  .
.  + b0 u(k) (6.25)
 
 xn−1 (k) 
xn (k)
A esta representación en espacio de estados del sistema descrito por la función de
transferencia (6.3) se la denomina forma canónica observable.

6.3. La representación en espacio de estados de un


sistema no es única

Se ha comprobado que a un mismo sistema descrito por su función de transferencia


le corresponden, al menos, dos representaciones en espacio de estado distintas. De
hecho, la representación en espacio de estados de un sistema no es única. Por ejemplo,
podemos tomar otras variables de estado que describan la dinámica del sistema que
sean a su vez combinaciones lineales de las variables de estado originales, o considerar
que éstas son a su vez combinaciones lineales de otras. Dicho de otro modo, dado un
sistema LTI como el descrito en (6.1) podemos considerar que el vector de estado x(k)
está relacionado con otro vector x̃(k) con variables de estado distintas mediante una
transformación:
x(k) = P x̃(k) (6.26)
donde P es una matriz invertible. Esto se puede llevar a la ecuación de estado del
sistema de manera que obtendrı́amos:
P x̃(k + 1) = GP x̃(k) + Hu(k)
Premultiplicando por P −1 :
x̃(k + 1) = P −1 GP x̃(k) + P −1 Hu(k)
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 85

por lo que la ecuación de estado se puede expresar como:

x̃(k + 1) = G̃x̃(k) + H̃u(k) (6.27)

con G̃ = P −1 GP y H̃ = P −1 H. De la misma manera la ecuación, de la salida del


sistema se puede expresar como:

y(k) = C̃ x̃(k) + D̃u(k) (6.28)

con C̃ = CP y D̃ = D. Ası́ pues, las ecuaciones (6.27) y (6.28) describen una repre-
sentación del sistema en espacio de estados que es diferente de la original pero equiva-
lente a ella1 .

6.4. Resolución de las ecuaciones del espacio de es-


tados

En esta sección se trata el tema de la resolución de las ecuaciones de estado. Es


decir, se presentarán 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) = G2 x(0) + GHu(0) + Hu(1)
x(3) = Gx(2) + Hu(2) = G3 x(0) + G2 Hu(0) + GHu(1) + Hu(2)
..
.

generalizando para cualquier k > 0:


k−1
X
k
x(k) = G x(0) + Gk−j−1 Hu(j) (6.29)
j=0

1
Obsérvese que en la ecuación (6.28) el estado aparece con ˜, indicando que el vector de estados
es diferente al original. La salida sin embargo si coincide con la del sistema original pues ambas
representaciones son equivalentes.
86 RESOLUCIÓN DE LAS ECUACIONES DEL ESPACIO DE ESTADOS

Obsérvese que x(k) depende del estado inicial y de los valores de la entrada. Por otra
parte, la salida se puede expresar como:

k−1
X
k
y(k) = CG x(0) + C Gk−j−1 Hu(j) + Du(k) (6.30)
j=0

6.4.2. Matriz de transición de estados

Considérese la ecuación:
x(k + 1) = Gx(k) (6.31)

En este caso, al no tener señal de entrada la solución de la ecuación 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 transición de estados y contiene toda la información


sobre los movimientos libres del sistema descrito por (6.31). Estos movimientos libres
se refieren a los cambios de estado o evolución del estado del sistema en ausencia de
entrada.

En términos de Ψ(k) la solución de la ecuación de estados para el sistema (6.1)


viene dada por:

k−1
X
x(k) = Ψ(k)x(0) + Ψ(k − j − 1)Hu(j) (6.32)
j=0
k−1
X
= Ψ(k)x(0) + Ψ(j)Hu(k − j − 1)
j=0

lo que lleva a:

k−1
X
y(k) = CΨ(k)x(0) + C Ψ(j)Hu(k − j − 1) + Du(k) (6.33)
j=0
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 87

6.4.3. Método basado en la transformada Z

Aplicando la transformada Z a ambos lados de la ecuación de estados del sistema


(6.1) se obtiene:
zX(z) − zx(0) = GX(z) + HU (z)
y de ahı́:
(zI − G)X(z) = zx(0) + HU (Z)
Premultiplicando por (zI − G)−1 :

X(z) = (zI − G)−1 zx(0) + (zI − G)−1 HU (Z)

y antitransformando:
© ª © ª
x(k) = Z−1 (zI − G)−1 z x(0) + Z−1 (zI − G)−1 HU (z)

Esta ecuación la podemos comparar con la solución mediante el procedimiento recursivo


indicado en la ecuación (6.29), e identificando términos tenemos que:

k−1
X
k −1
© −1
ª © ª
G =Z (zI − G) z y Gk−j−1 Hu(j) = Z−1 (zI − G)−1 HU (z) (6.34)
j=0

La dificultad de este método consiste en realizar la transformada Z de las expresiones


anteriores. Para ilustrar el procedimiento considérese el siguiente ejemplo:

Ejemplo 6.1

Dado un sistema LTI como (6.1) con:


· ¸ · ¸
0 1 1 £ ¤
G= H= C= 1 0
−0,16 −1 1

Se pide calcular Ψ(k) = GK = Z−1 {(zI − G)−1 z}. En primer lugar calculamos:
· ¸
−1 z −1
(zI − G) =
0,16 z + 1
" #
z+1 1
(z+0,2)(z+0,8) (z+0,2)(z+0,8)
= −0,16 z
(z+0,2)(z+0,8) (z+0,2)(z+0,8)
" #
4 1
3 z+0,2
− 31 z+0,8
1 5 1
3 z+0,2
− 53 z+0,8
1
= (6.35)
− 0,8 1
3 z+0,2
+ 0,8 1
3 z+0,8
− 13 z+0,2
1
+ 43 z+0,8
1
88 RESOLUCIÓN DE LAS ECUACIONES DEL ESPACIO DE ESTADOS

Multiplicando lo anterior por z y antitransformando se obtiene:


· 4 ¸
k −1
© −1
ª (−0,2) k
− 1
(−0,8) k 5
(−0,2) k
− 5
(−0,8) k
Ψ(k) = G = Z (zI − G) z = 3 3 3 3
− 0,8
3
(−0,2) k
+ 0,8
3
(−0,8) k
− 1
3
(−0,2) k
+ 4
3
(−0,8)k
(6.36)
El ejemplo se puede completar resolviendo completamente la ecuación de estado y la
de la salida para una señal de entrada dada por:
· ¸
1
u(k) = 1 k = 0, 1, 2, · · · x(0) =
−1
Teniendo en cuenta la transformada Z de la entrada (escalón unitario) y que se sabe
que:
X(z) = (zI − G)−1 [zx(0) + HU (z)]
se calcula: · ¸ · ¸ " #
z z2
z z−1 z−1
zx(0) + HU (z) = + z = −z 2 +2z
−z z−1 z−1

que premultiplicado por el resultado de la ecuación (6.35) lleva a:


" − 17 z 22
z 25
z
#
6
z+0,2
+ 9
z+0,8
+ 18
z−1
X(z) = 3,4
z − 17,6 z 7
z
6
z+0,2
+ z+0,8 + z−1
9 18

y de ahi, antitransformando:
· ¸
− 176
(−0,2)k + 22
9
(−0,8)k + 25
18
x(k) = 3,4 17,6 7
6
(−0,2)k − 9 (−0,8)k + 18

Finalmente la ecuación de salida será:


£ ¤
y(k) = 1 0 x(k)
17 22 25
= − (−0,2)k + (−0,8)k +
6 9 18
¤

6.4.3.1. Procedimiento alternativo para calcular (zI − G)−1

Se observa en el ejemplo 1.1 que gran parte del cálculo se emplea en calcular (zI −
−1
G) . Esto puede ser muy engorroso cuando el orden de las matrices involucradas es
superior a 3. A continuación se detalla un procedimiento alternativo para esos casos.
En primer lugar es conocido que, por definición de matriz inversa:
Adj(zI − G)
(zI − G)−1 =
|zI − G|
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 89

donde ((Adj)) indica la matriz adjunta. El determinante |zI − G| se puede expresar


como:
|zI − G| = z n + a1 z n−1 + a2 z n−2 + · · · + an
Por otra parte se puede demostrar que:

Adj(zI − G) = Iz n−1 + H1 z n−2 + H2 z n−3 + · · · + Hn−1

donde las matrices Hi se calculan mediante:

H1 = G + a1 I
H2 = GH1 + a2 I
..
.
Hn−1 = GHn−1 + an−1 I
Hn = GHn−1 + an I = 0

y los ai se calculan a su vez como:

a1 = −traza(G)
1
a2 = − traza(GH1 )
2
1
a3 = − traza(GH2 )
3
..
.
1
an = − traza(GHn−1 )
n

Ejemplo 6.2

A continuación se calculará la inversa de (zI − G) para el ejemplo 1.1 mediante este


procedimiento alternativo. Dado que el orden de la matriz es n = 2, se tiene que:

|zI − G| = z 2 + a1 z + a2
Adj(zI − G) = Iz + H1

donde:
a1 = −traza(G)
H1 = G + a 1 I
a2 = − 12 traza(GH1 )
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:
µ· ¸· ¸¶
1 0 1 1 1
a2 = − traza = 0,16
2 −0,16 −1 −0,16 0
90 DISCRETIZACIÓN DE LAS ECUACIONES DE ESTADO CONTINUAS

con lo que se obtiene:


· ¸
1 1
Adj(zI − G) = Iz +
−0,16 0
· ¸ |zI −G| = z 2 +z +0,16 = (z +0,2)(z +0,8)
z+1 1
=
−0,16 z

Finalmente: · ¸
z+1 1
−0,16 z
(zI − G)−1 =
(z + 0,2)(z + 0,8)
que evidentemente es el mismo resultado obtenido en el ejemplo 1.1. ¤

6.5. Discretización de las ecuaciones de estado con-


tinuas

En esta sección veremos cómo se puede pasar de un modelo en espacio de estado


continuo a discreto. Se partirá de un sistema lineal e invariante en el tiempo continuo:

ẋ = Ax + Bu
(6.37)
y = Cx + Du

Supondremos que la entrada sólo cambia en ciertos instantes igualmente espaciados en


el tiempo, es decir, sólo puede cambiar en t = kT , para k = 0, 1, 2, · · ·. Al discretizar
la ecuación de estado ésta tomará la forma:

x((k + 1)T ) = G(T )x(kT ) + H(T )u(kT ) (6.38)

donde puede observarse que las matrices G y H dependen del tiempo de muestreo T .
Para determinar el valor de G(T ) y H(T ) usaremos la solución de la ecuación de estado
en tiempo continuo:
Z t
At At
x(t) = e x(0) + e e−Aτ Bu(τ )dτ (6.39)
0

Supondremos que la entrada u(t) es muestreada mediante un mantenedor de orden


cero, por lo que se cumple que:

u(t) = u(kT ) para kT ≤ t ≤ kT + T (6.40)


CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 91

Se tiene que:
Z (k+1)T
A(k+1)T A(k+1)T
x((k + 1)T ) = e x(0) + e e−Aτ Bu(τ )dτ (6.41)
0
Z kT
AkT AkT
x(kT ) = e x(0) + e e−Aτ Bu(τ )dτ (6.42)
0

Mutiplicando la ecuación (6.42) por eAT y restándola de la ecuación (6.41) se obtiene:


Z (k+1)T
AT A(k+1)T
x((k + 1)T ) = e x(kT ) + e e−Aτ Bu(τ )dτ (6.43)
kT

Teniendo en cuenta la suposición de que u(t) es constante en el intervalo de integración


(ver (6.40)) se puede sustituir u(τ ) por u(kT ). Aplicando esto y operando se llega a:
Z T
AT AT
x((k + 1)T ) = e x(kT ) + e e−Aτ Bu(kT )dτ
0
Z T
= eAT x(kT ) + e−Aλ Bu(kT )dλ (6.44)
0

donde λ = T − τ . Sea:
G(T ) = e³AT
R T Aλ ´ (6.45)
H(T ) = 0
e dλ B
entonces la ecuación (6.44) queda:

x((k + 1)T ) = G(T )x(kT ) + H(T )u(kT ) (6.46)

que es la ecuación a la que tenı́amos que llegar y por tanto se ha obtenido la ecuación
de estado continuo discretizada.

En el caso particular (aunque muy común, y por tanto interesante) de que A sea
una matriz invertible se tiene que:
¡ ¢
H(T ) = eAT − I A−1 B

Por otra parte, la ecuación 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 ecuación en tiempo continuo.

Existen diferentes métodos para calcular eAT . Quizás el más sencillo de aplicar
cuando se trata de calcular la exponencial con papel y lápiz sea utilizar la equivalencia:
© ª
eAt = L−1 (sI − A)−1 (6.48)
92 DISCRETIZACIÓN DE LAS ECUACIONES DE ESTADO CONTINUAS

donde L−1 indica la transformada de Laplace inversa. Desde el punto de vista práctico
el método consistirı́a en calcular (sI −A)−1 (nótese que puede emplearse el método para
calcular (zI − G)−1 dado en la sección 6.4.3.1) y aplicar a posteriori la transformada
de Laplace inversa a cada elemento de la matriz.

Ejemplo 6.3

Se ilustrará en este ejemplo el cálculo de eAt siendo:


· ¸
0 1
A=
0 −2
Para ello se calcula:
· ¸ · ¸ · ¸
s 0 0 1 s −1
(sI − A) = − =
0 s 0 −2 0 s+2
y aplicando los métodos vistos en la sección 6.5 y subsiguientes se calcula la inversa:
" #
1 1
s s(s+2)
(sI − A)−1 = 1
0 (s+2)

Finalmente se aplica la transformada inversa de Laplace a cada elemento de la matriz


anterior de manera que se obtiene:
· ¸
At −1
© −1
ª 1 12 (1 − e−2t )
e =L (sI − A) =
0 e−2t
¤

Ejemplo 6.4

Como ejemplo de discretización de las ecuaciones de estado en tiempo continuo, con-


sidérese el siguiente sistema:
ẋ = −ax + u
y = x
Usando las expresiones de (6.45) se obtiene:
G(T ) = eAT
= e−aT
y ³R ´
T Aλ
H(T ) = 0
e dλ B
³R ´
T −aλ
= 0
e dλ
1−e−aT
= a
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 93

Luego:
1−e−aT
x(k + 1) = e−aT x(k) + a
u(k)
y(k) = x(k)

6.6. Controlabilidad y Observabilidad

En esta sección se pasan a tratar dos conceptos clave en el estudio de sistemas


dinámicos, la controlabilidad y la observabilidad. El primero se refiere a la existencia
de una secuencia de actuaciones para llevar el sistema a un estado arbitrario. Por
otro lado, la observabilidad tiene que ver con la posibilidad de determinar el valor del
vector de estados de un sistema a partir de observaciones de las salidas y la entradas
de dicho sistema. Ambos conceptos se deben a Kalman y son claves en estrategias de
control como la colocación de polos por realimentación del vector de estados o el control
óptimo.

6.6.1. Controlabilidad

Definición 6.2 Un sistema dinámico 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. También puede decirse que
será completamente controlable, si cada variable de estado se puede controlar en un
tiempo finito por una señal de control que no esté sujeta a ningún tipo de restricción.

Como es habitual nos centraremos en el estudio de la controlabilidad de sistemas


LTI:
x((k + 1)T ) = Gx(kT ) + Hu(kT ) (6.49)
siendo la señal u(kT ) constante en el intervalo de tiempo kT ≤ t ≤ (k + 1)T . En este
caso, la controlabilidad de estado completo implica que existe una señal de control
constante entre cada tiempo de muestreo que transfiere al sistema, desde un estado
x(kT ) cualquiera a un estado deseado xf en como mucho n periodos de muestreo,
donde n es el tamaño del vector de estados.

Recordemos que la solución de la ecuación de estados es:


n−1
X
n
x(nT ) = G x(0) + Gn−j−1 Hu(jT )
j=0
94 CONTROLABILIDAD Y OBSERVABILIDAD

= Gn x(0) + Gn−1 Hu(0) + Gn−2 Hu(T ) + · · · + Hu((n − 1)T )


de ahı́ se obtiene:
 
u((n − 1)T )
h i u((n − 2)T ) 
. . .  
x(nT ) − Gn x(0) = H .. GH .. · · · .. Gn−1 H  ..  (6.50)
 . 
u(0)
donde la matriz h i
. . .
Mc = H .. GH .. · · · .. Gn−1 H (6.51)
es la llamada matriz de controlabilidad .

Supóngase 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 − Gn x(0). Como xf y x(0) pueden ser cualquier
par de valores del vector de estado, es fácil entender que xf −Gn x(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 condición 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 condición
necesaria y suficiente para que el sistema sea completamente controlable que el rango
de la matriz de controlabilidad (6.51) sea igual a n.

Comentario 6.1 El sistema que cumpla la condición establecida en el lema 6.1 po-
drá alcanzar cualquier estado como máximo en n periodos de muestreo, pero sólo si no
existen restricciones sobre la señal de control. En caso contrario, se tardarı́a más.

Si el sistema es controlable, se podrá determinar la secuencia de valores de la entrada


necesaria para llevar al sistema a xf resolviendo el sistema de ecuaciones (6.50).

Por otra parte, la controlabilidad se puede comprobar a partir de la función de


transferencia de un sistema observando si hay cancelaciones de polos y ceros. En el
caso de que las hubiese, el sistema no serı́a controlable. Por tanto, el sistema
Y (z) z + 0,2
=
U (z) (z + 0,8)(z + 0,2)
no serı́a controlable pues existe una cancelación de un polo con un cero.
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 95

6.6.2. Controlabilidad de la salida completa

En control automático el objetivo más común es controlar la evolución 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 análoga a la de la controlabilidad del estado completo. Sea un sistema cuya
ecuación de estado es (6.49) y la ecuación de la salida es:

y(kT ) = Cx(kT ) (6.52)

La condición para comprobar la controlabilidad de la salida completa serı́a que


nh io
Rango .. .. .. n−1 =m (6.53)
CH . CGH . · · · . CG H

donde m es el número de salidas. Por otra parte, si la ecuación de la salida es:

y(kT ) = Cx(kT ) + Du(kT ) (6.54)

la condición a comprobar serı́a:


nh io
.. . . .
Rango D . CH .. CGH .. · · · .. CGn−1 H =m (6.55)

Nótese que en esta segunda forma de la ecuación de salida, la presencia del término
Du(kT ) no empeora la controlabidad del sistema, sino justo lo contrario. De hecho, al
introducirse una columna extra en la matriz de controlabilidad (la correspondiente a
D), se puede dar el caso que se pase de tener m−1 columnas linealmente independientes
a tener m, por lo que se lograrı́a la controlabilidad de la salida. Dicho de otra manera,
encontrar m vectores linealmente independientes siempre será igual o más fácil entre
n + 1 vectores que entre sólo n de esos vectores.

6.6.3. Observabilidad

Considérese un sistema autónomo:


x((k + 1)T ) = Gx(kT )
(6.56)
y(kT ) = Cx(kT )

Definición 6.3 El sistema autónomo (6.56) es completamente observable si todo es-


tado inicial x(0) se puede determinar de la observación de y(kT ) durante un número
finito de intervalos de muestreo. Para que ello ocurra, cada transición del estado debe
afectar a todos los elementos del vector de salida.
96 CONTROLABILIDAD Y OBSERVABILIDAD

La observabilidad juega un papel esencial en el control de aquellos sistemas en los


que algunas de las variables de estado no son accesibles, es decir, no son medibles
directamente. Nótese que se ha considerado un sistema autónomo. La razón de esto es
que la observabilidad de un sistema no autónomo se reduce a la del sistema autónomo
equivalente.

Se sabe que la solución de la ecuación de estado para el sistema autónomo (6.56)


es:
x(kT ) = Gk x(0)

y de ahı́
y(kT ) = CGk x(0)

La observabilidad completa implica que usando

y(0), y(T ), y(2T ), · · · , y((n − 1)T )

se pueden determinar
x1 (0), x2 (0), · · · , xn (0)

donde xi (0) indica la iésima componente de x(0). Es decir el sistema es completamente


observable si las ecuaciones:

y(0) = Cx(0)
y(T ) = CGx(0)
..
.
y((n − 1)T ) = CGn−1 x(0)

permiten determinar x1 (0), x2 (0), · · · , xn (0). Como y(kT ) es un m-vector (asumiendo


que el sistema tiene m salidas) el sistema de ecuaciones anterior es en realidad un
sistema de n × m ecuaciones, en las que las incógnitas son las n componentes de x(0).
Para que la solución de este sistema sea única debe haber entre ellas n ecuaciones
linealmente independientes. Esto se traduce en la siguiente condición de observabilidad
completa:
nh io
Rango ∗ .. ∗ ∗ .. .. ∗ n−1 ∗ =n (6.57)
C . G C . · · · . (G ) C

donde ∗ indica la conjugada traspuesta de una matriz y a la matriz que aparece en la


condición se la llama matriz de observabilidad.

Por otra parte, de una manera análoga a la de la controlabilidad, la observabilidad


de un sistema a partir de su función de transferencia se puede asegurar si ésta no
presenta cancelaciones de polos y ceros.
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 97

Finalmente, se enuncia a continuación una propiedad que será útil para poder obte–
ner la representación de un sistema en forma canónica, 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 transformación
como (6.26) con:
Ĝ = P −1 GP
Ĥ = P −1 H
Ĉ = 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 :
½
x((k + 1)T ) = Gx(kT ) + Hu(kT )
S1 : (6.58)
y(kT ) = Cx(kT )
Sea S2 el sistema dual de S1 :
½
x̂((k + 1)T ) = G∗ x̂(kT ) + C ∗ û(kT )
S2 : (6.59)
ŷ(kT ) = H ∗ x̂(kT )
Entonces se puede afirmar que2 :
½ ¾ ½ ¾
CONTROLABLE OBSERVABLE
SI S1 ENTONCES S2
OBSERVABLE CONTROLABLE

6.7. Transformación de un sistema en formas canónicas

Sea un sistema controlable y observable:


x(k + 1) = Gx(k) + Hu(k)
(6.60)
y(k) = Cx(k) + Du(k)
2
Nótese que los sistemas S1 y S2 son diferentes, es decir, S2 no es una representación alternativa
de S1 .
98 TRANSFORMACIÓN DE UN SISTEMA EN FORMAS CANÓNICAS

A continuación, se verá el procedimiento para obtener las formas canónicas a partir de


ese sistema.

6.7.1. Obtención de la forma canónica controlable

Sea una matriz de transformación T = M W con:


 
an−1 an−2 · · · a1 1
 an−2 an−3 ··· 1 0 
h i  
. . .  .. .. .. ..
M= H .. GH .. · · · .. Gn−1 H W =
 . . . .

 a1 1 ··· 0 0 
1 0 ··· 0 0

donde los coeficientes ai son los coeficientes de la ecuación caracterı́stica del sistema,
es decir:
|zI − G| = z n + a1 z n−1 + · · · + an−1 z + an = 0

Se define el estado x(k) en función de la transformación de otro vector de estados x̂(k):

x(k) = T x̂(k)

Entonces el sistema:
x̂(k + 1) = Ĝx̂(k) + Ĥu(k)
(6.61)
y(k) = Ĉx(k) + D̂u(k)

con Ĝ = T −1 GT , Ĥ = T −1 H, Ĉ = CT , D̂ = D está en forma canónica controlable.

6.7.2. Obtención de la forma canónica observable

En este caso la matriz de transformación es:

Q = (W N ∗ )−1

con h i
.. . .
N= C ∗
. G∗ C ∗ .. · · · .. (G∗ )n−1 C ∗

Sea Ĝ = Q−1 GQ, Ĥ = Q−1 H, Ĉ = CQ, D̂ = D y defı́nase el estado x(k) como


x(k) = Qx̂(k). Entonces el sistema (6.61) está en forma canónica observable.
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 99

6.8. Colocación de polos mediante realimentación


del vector de estados

En esta sección se presentará una estrategia de control que permite elegir la situación
de los polos de bucle cerrado del sistema, mediante la realimentación lineal del vector
de estados. Se verá que la condición necesaria para que esto se pueda conseguir es que
el sistema sea controlable. Por otra parte, se asumirá que todas las variables de estados
son accesibles, es decir, podemos medirlas directamente sin tener que estimarlas por
otros procedimientos.

6.8.1. Condición necesaria y suficiente para la colocación 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 señal de control se obtiene de la realimentación negativa del vector de
estados multiplicado por una cierta matriz de ganancias K. Este tipo de ley de control
se la denomina usualmente realimentación del vector de estados. Con esta ley de control
el sistema en bucle cerrado quedarı́a:

+ x(k+1) x(k)
H z-1I
+

u(k)
-K

Figura 6.2: Diagrama de bloques de un sistema controlado por una realimentación del vector de
estados.

y la ecuación de estado del sistema en bucle cerrado resultarı́a ser:


x(k + 1) = (G − HK)x(k)
100 COLOCACIÓN DE POLOS MEDIANTE REALIMENTACIÓN DEL VECTOR DE ESTADOS

De manera análoga a lo que se da en sistemas continuos, los autovalores de (G − HK)


son (o coinciden con) los polos de bucle cerrado del sistema. Por tanto, lo que buscamos
es ver que condición es necesario cumplir para que exista una matriz de ganancias K
determinada, que nos permita colocar los autovalores de (G − HK) en unos valores
elegidos a voluntad.

Lema 6.2 Se demuestra que la condición necesaria y suficiente para que por medio de
una realimentación del vector de estados puedan escogerse los polos de bucle cerrado
(es decir, los autovalores de (G − HK)) es que el sistema en bucle abierto sea de estado
completamente controlable. Si esta condición no se cumple, no se podrán elegir todos
los polos de bucle cerrado.

6.8.2. Procedimientos para calcular K

Sean µ1 ,µ2 ,· · ·,µn los valores deseados para los polos de bucle cerrado, es decir,
para los autovalores de (G − HK). Aquellos que sean complejos siempre irán por pares
conjugados. La ecuación caracterı́stica del sistema en bucle abierto es:

|zI − G| = z n + a1 z n−1 + · · · + an = 0

Se define una matriz de transformación T = M W exactamente igual que la matriz


de transformación necesaria para obtener la forma canónica controlable descrita en la
sección 6.7.1. Se obtiene:
   
0 1 0 ··· 0 0
 0 0 1 ··· 0    
  0 
 ..   
T −1 GT = Ĝ =  ... ..
.
..
. .  T −1 H = Ĥ =  ... 
   
 0 0 0 ··· 1   0 
−an −an−1 −an−2 · · · −a1 1

Se define a continuación:
£ ¤
K̂ = KT = δn δn−1 · · · δ1

Entonces:
 
  0 0 ··· 0
0  
 £  0 0 ··· 0 
 0  ¤  .. .. .. 
Ĥ K̂ =  .. δ δ
 n n−1 · · · δ1 =  . . . 
 .  
 0 0 ··· 0 
1
δn δn−1 · · · δ1
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 101

Por otra parte, la ecuación caracterı́stica del sistema en B.C. es:

|zI − G − HK| = |zI − Ĝ + HK|ˆ


¯    
¯ 1 0 ··· 0 0 1 0 ··· 0
¯
¯  0 1 ··· 0   0 0 1 ··· 0 
¯    
¯  .. .. .  
..  −  .. . .
.. .. .. 
= ¯z  . . . . 
¯    
¯  0 0 ··· 0   0 0 0 ··· 1 
¯
¯ 0 0 ··· 1 −a −an−1 −an−2 · · · −a1
 ¯ n
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 ¯
= z n + (a1 + δ1 )z n−1 + · · · + (an−1 + δn−1 )z + (an + δn ) = 0

A su vez, la ecuación caracterı́stica correspondiente a los autovalores deseados será:

(z − µ1 )(z − µ2 ) · · · (z − µn ) = z n + α1 z n−1 + α2 z n−2 + · · · + αn−1 + αn = 0

Igualando los coeficientes de ambas ecuaciones caracterı́sticas:

α1 = a1 + δ1
α2 = a2 + δ2
..
.
αn = an + δn

se obtiene la siguiente expresión para K:

−1
K = K̂T
£ ¤
= h δn δn−1 · · · δ1 T −1 i (6.62)
. . .
αn − an ..αn−1 − an−1 .. · · · ..α1 − a1 T
−1
=

que coloca los polos de bucle cerrado del sistema en los valores deseados. Nótese
que si el sistema en bucle abierto viene dado en forma canónica controlable, se verifica
que T = I = T −1 .
102 COLOCACIÓN DE POLOS MEDIANTE REALIMENTACIÓN DEL VECTOR DE ESTADOS

6.8.2.1. Procedimiento alternativo: la fórmula de Ackermann

Existen otros procedimientos alternativos para el cálculo de la matriz K. Aquı́ men-


cionaremos uno muy conocido, el que emplea la fórmula de Ackermann. Según esto, la
expresión para K tomarı́a la forma:
£ ¤h . . .
i−1
K = 0 0 ··· 0 1 H .. GH .. · · · .. Gn−1 H φ(G)

donde:
φ(G) = Gn + α1 Gn−1 + · · · + αn−1 G + αn I
Los coeficientes αi se calcularán como en el apartado anterior.

Finalmente, otro procedimiento que puede ser útil para sistemas de bajo orden
consiste en tomar £ ¤
K = k1 k2 · · · kn
plantear la ecuación caracterı́stica en función de los ki :

|zI − G + HK| = 0

e igualar a los coeficientes de

z n + α1 z n−1 + α2 z n−2 + · · · + αn−1 + αn = 0

6.8.3. Control Dead-Beat

Este es un tipo de control que resulta ser un caso particular del control por colo-
cación de polos.

Definición 6.4 Dado un sistema LTI, entenderemos como control dead-beat aquel que
consigue llevar el estado a cero en como máximo 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
estén todos en el origen (es decir, todos los autovalores de (G − HK) igual a cero) se
consigue un control dead-beat.
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 103

Esto se lleva a la práctica con una matriz de realimentación del vector de estados
calculada mediante: £ ¤
K = −an −an−1 · · · −a1 T −1
Este tipo de control no goza de una reputación excesivamente favorable porque habit-
ualmente se precisa de una señal de control de amplitud muy grande para obtener la
respuesta dead-beat. De hecho en este tipo de control, el único parámetro de diseño
que se ha de elegir es el tiempo de muestreo. Si éste es muy pequeño, los n intervalos
de muestreo supondrán un tiempo total muy corto, de manera que para llevar el estado
a cero partiendo de un estado inicial arbitrario se precisará un valor muy alto de la
señal.

Ejemplo 6.5

Sea un sistema
x(k + 1) = Gx(k) + Hu(k)
con · ¸ · ¸
0 1 0
G=
−0,16 −1 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 i · 0 1 ¸
..
H . GH = 1 −1

cuyo rango es igual a dos (basta comprobar que su determinante es distinto de cero),
por lo que el sistema es controlable y se puede proceder a calcular K. La ecuación
caracterı́stica de bucle cerrado deseada es:

|zI − G + HK| = (z − 0,5 − j0,5)(z − 0,5 + j0,5) = z 2 − z + 0,5 = 0 (6.63)

por tanto, los coeficientes αi son en este caso α1 = −1 y α2 = 0,5. Por otra parte, la
ecuación caracterı́stica de bucle abierto del sistema es:
¯ ¯
¯ z −1 ¯
|zI − G| = ¯¯ ¯
0,16 z + 1 ¯

por lo que los coeficientes ai son a1 = 1 y a2 = 0,16. A partir de aquı́ se puede aplicar
cualquiera de los métodos explicados anteriormente.
104 COLOCACIÓN DE POLOS MEDIANTE REALIMENTACIÓN DEL VECTOR DE ESTADOS

Método 1

h i
.
K= α2 − a2 .. α1 − a1 T −1

Obsérvese que el sistema viene dado en forma canónica controlable, por lo que T = I
y por tanto: £ ¤
K = 0,34 −2

Método 2 (fórmula de Ackermann)

En este caso la fórmula de Ackermann serı́a:


£ ¤h ..
i−1
K= 0 1 H . GH φ(G)

donde φ(G) es

φ(G) = G2 − G + 0,5I
· ¸ · ¸ · ¸
−0,16 −1 0 1 0,5 0
= − +
0,16 0,84 −0,16 −1 0 0,5
· ¸
0,34 −2
=
0,32 2,34
por lo que
· ¸−1 · ¸
£ 0 1 ¤ 0,34 −2
K = 0 1
£ 1¤ −1 0,32 2,34
= 0,34 −2

Método 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 ecuación caracterı́stica de bucle
cerrado en función de K:
¯· ¸ · ¸ · ¸ ¯
¯ z 0 0 1 0 £ ¤¯
|zI − G + HK| = ¯ ¯ − + k1 k2 ¯¯
¯ 0 z −0,16 −1
¯ 1
¯ z −1 ¯
= ¯¯ ¯
0,16 + k1 z + 1 + k2 ¯
= z 2 + (1 + k2 )z + k1 + 0,16 = 0

la comparamos con la ecuación caracterı́stica deseada (6.63) e identificamos coeficientes:

1 + k2 = −1
k1 + 0,16 = 0,5
CAPÍTULO 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 métodos anteriores.

Ejemplo 6.6

Calcular para el mismo sistema del ejemplo anterior la matriz K que conlleva un
control dead-beat, y comprobarlo calculando la evolución del sistema a partir de un
estado inicial arbitrario.

En este caso: £ ¤ £ ¤
K= −a2 −a1 T −1 = −0,16 −1
Vamos a verificar que el control es dead-beat. Para ello, obtenemos la ecuación de
estado del sistema en bucle cerrado:
· ¸ · ¸· ¸ · ¸ · ¸
x1 (k + 1) 0 1 x1 (k) 0 £ ¤ x1 (k)
= + 0,16 1
x2 (k + 1) −0,16 − 1 x (k) 1 x2 (k)
· ¸· ¸ 2
0 1 x1 (k)
=
0 0 x2 (k)

Supongamos ahora que el estado inicial es


· ¸ · ¸
x1 (0) a
=
x2 (0) b

entonces se tiene que:


· ¸ · ¸· ¸ · ¸
x1 (1) 0 1 a b
= =
x2 (1) 0 0 b 0

e iterando una vez más:


· ¸ · ¸· ¸ · ¸
x1 (2) 0 1 b 0
= =
x2 (2) 0 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 colocación de polos se asume que el estado se puede medir direc-
tamente. En ocasiones, sin embargo, puede que esta suposición no se cumpla y todas
106 OBSERVADORES DEL ESTADO

o algunas de las variables de estado no puedan ser medidas. Es decir, puede que haya
variables de estado no accesibles. En cualquier caso, para poder controlar el sistema se
deberán estimar los valores de esas variables de estado no accesibles. Este proceso de
estimación es lo que se conoce como observación.

Un observador del estado es un subsistema del sistema de control, que realiza la


estimación de las variables de estado basándose en los valores medidos (observados) de
las salidas y la señal de control. Se distinguen tres tipos de observadores, en función
de las variables de estado que se estimen:

1. Observador del estado completo. Es aquél que estima todas las variables de esta-
do.

2. Observador de orden mı́nimo. En este caso sólo se estiman aquellas variables de


estado que no son accesibles.

3. Observador de orden reducido. Este tipo de observador estima todas las variables
no accesibles y algunas de las accesibles.

En esta asignatura nos centraremos en los dos primeros tipos de observadores. Como
en el caso de la colocación de polos, formularemos en primer lugar las condiciones para
que se pueda llevar a cabo la observación.

Lema 6.4 Condición necesaria y suficiente para la observación del estado. Dado un
sistema LTI, se puede determinar x(k + 1) a partir de y(k), y(k − 1),· · ·,y(k − n + 1) y
u(k),u(k − 1),· · ·,u(k − n + 1), donde n es el orden del sistema, sı́ y sólo sı́, el sistema
es completamente observable.

Por tanto x(k + 1) se puede determinar, si el sistema es observable, en n pasos. Sin


embargo, no debe olvidarse que sobre el sistema actúan ruidos y perturbaciones. Por
esta razón no es posible utilizar un procedimiento algebraico para determinar el estado,
sino que se ha de acudir a un procedimiento iterativo para estimarlo.

6.9.1. Procedimiento iterativo para la estimación del estado

Sea un sistema LTI


x(k + 1) = Gx(k) + Hu(k)
(6.64)
y(k) = Cx(k)
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 107

Si se dispone de una aproximación del estado en k, que denotaremos x̂(k), ésta evolu-
cionará según la dinámica del sistema

x̂(k + 1) = Gx̂(k) + Hu(k)


(6.65)
ŷ(k) = C x̂(k)

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 estimación en k como:

e(k) = x(k) − x̂(k)

Restando la ecuación de estado aproximada (6.65) de la real (6.64):

x(k + 1) − x̂(k + 1) = G (x(k) − x̂(k))

que teniendo en cuenta la definición del error de aproximación es equivalente a:

e(k + 1) = Ge(k)

que se puede considerar como un sistema dinámico autónomo. Si G es una matriz


estable (es decir, si sus autovalores están dentro del cı́rculo unidad) el ((estado)) de este
sistema tiende a cero, es decir:

e(k) → 0 ⇒ x̂(k) → x(k)

Por tanto, si el sistema es estable, la propia dinámica del sistema hace que la aproxi-
mación del estado tienda al valor real del mismo. Esto quiere decir que podrı́amos usar
la propia ecuación del sistema para obtener en cualquier instante k una aproximación
del estado, cuyo error irı́a decayendo a lo largo del tiempo. Esta convergencia al valor
real, sin embargo, puede ser muy lenta, y por otra parte no siempre se tratará con
sistemas estables. Por tanto, esta estrategia no es muy aconsejable.

Nótese que en el esquema que se ha presentado, no se hace uso de la salida del sis-
tema, que siempre será accesible. Esto puede ser aprovechado para mejorar el rendimien-
to del observador introduciéndose un término corrector, de manera que la ecuación para
obtener la aproximación del estado para el instante k + 1 serı́a:

x̂(k + 1) = Gx̂(k) + Hu(k) + Ke (y(k) − C x̂(k))

donde Ke es una matriz de ponderación o ganancia. Este término 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 realimentación
negativa del vector de estados,

u(k) = −Kx(k)

siendo el estado del sistema x(k) no accesible pero sı́ observable. Por tanto, podemos
sustituir el valor del estado por una aproximación de manera que

u(k) = −K x̂(k)

y de ahı́, aplicando las consideraciones de la sección 6.9.1 se obtiene

x̂(k + 1) = Gx̂(k) + Hu(k) + Ke (y(k) − ŷ(k))


= (G − Ke C)x̂(k) + Hu(k) + Ke y(k) (6.66)
= (G − Ke C − HK)x̂(k) + Ke y(k)

Ésta es la llamada ecuación del observador predictivo. La palabra predictivo se utiliza


para indicar que la estimación del valor futuro del estado en k + 1, se realiza utilizando
información disponible en el instante k. A los autovalores de la matriz (G − Ke C)
se les suele denominar polos del observador, y como se hizo en la sección 6.9.1, se
verá a continuación que marcan la dinámica de la evolución del error de observación.
En efecto, si se resta la ecuación del observador de la del sistema real (6.64) se llega a
que
e(k + 1) = (G − Ke C)e(k)

de lo que puede observarse que los polos del observador determinan la dinámica del
error. Si G − Ke C es estable, el error convergerá a cero independientemente de la
estimación del estado inicial x̂(0).

La ecuación del observador y del propio sistema en espacio de estados controlado


por la realimentación lineal del vector de estados, pueden representarse mediante un
diagrama de bloques que se ilustra en las figuras 6.3 y 6.4.

Finalmente, es evidente que interesa que la estimación del estado converja rápida-
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 aproximación
muestre una respuesta dead-beat. Esto se consigue eligiendo de manera apropiada Ke .
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 109

u(k) x(k+1) x(k) y(k)


+
H +
z-1I C +

G
u(k)
-K
x̂(k)

u(k) y(k)
OBSERVADOR

Figura 6.3: Diagrama de bloques de un sistema LTI controlado mediante una realimentación del vector
de estados que estima el estado con un observador.

x̂(k)

+ x(k+1) x̂(k) y(k)


+ + -
u(k)
H +
z-1I C
+ ŷ(k)

Ke

Figura 6.4: Diagrama de bloques de un observador de orden completo.


110 OBSERVADORES DEL ESTADO

6.9.2.1. Cálculo de Ke

El procedimiento para elegir Ke de manera que se coloquen los polos del observador
en unos valores especificados es análogo al de la colocación de polos vista en la sección
6.8. Si la ecuación caracterı́stica deseada del observador es:
z n + α1 z n−1 + · · · + αn−1 z + αn = 0
y la del sistema es
z n + a1 z n−1 + · · · + an−1 z + an = 0
entonces  
αn − an
 αn−1 − an−1 
 
Ke = (W N ∗ )−1  ..  (6.67)
 . 
α1 − a1
donde
 
an−1 an−2 · · · a1 1
 an−2 an−3 ··· 1 0 
  h i
 .. .. .. .. . . .
W =
 . . . .

N= C ∗ .. G∗ C ∗ .. · · · .. (G∗ )n−1 C ∗
 a1 1 ··· 0 0 
1 0 ··· 0 0
es decir, la misma matriz W empleada en la colocación de polos y la matriz de ob-
servabilidad3 . Nótese que si el sistema viene indicado en forma canónica observable
(W N ∗ )−1 = I. También puede emplearse la fórmula de Ackermann, que para este caso
es:  −1  
C 0
 CG   0 
   
Ke = φ(G)  ..   .. 
 .   . 
n−1
CG 1
donde
φ(G) = Gn + α1 Gn−1 + · · · + αn−1 G + αn I = 0

Ejemplo 6.7

Considérese un sistema como (6.64) con


· ¸ · ¸
1 1 0,5 £ ¤
G= H= C= 1 0
0 1 1
3
A fin de obtener un texto más legible se evita en lo posible hacer referencias a material anterior,
aún a pesar de que esto pueda alargar la exposición del tema al repetirse ecuaciones y expresiones.
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 111

diseñaremos un observador del estado. En primer lugar, se ha de comprobar que el


sistema es observable. Para ello se comprueba que
nh io ½· ¸¾
. 1 1
rango C ∗ .. G∗ C ∗ = rango
0 1
=2

luego el sistema es completamente observable. El siguiente paso es hallar la ecuación


caracterı́stica del sistema en bucle abierto:
¯· ¸ · ¸¯
¯ z 0 1 1 ¯
|zI − G| = ¯¯ − ¯
0 z 0 1 ¯
= z 2 − 2z + 1 = 0

luego a1 = −2 y a2 = 1. Deseamos que el observador tenga una respuesta dead-beat,


luego la ecuación caracterı́stica deseada del observador será:

z 2 = 0 ⇒ α1 = α2 = 0

A continuación se calculará Ke :
· ¸
∗ −1 −1
Ke = (W N )
2
con · ¸ · ¸ · ¸
1 1 a1 1 −2 1
N= W = =
0 1 1 0 1 0
resultando · ¸
2
Ke =
1

Cálculo de Ke mediante la fórmula de Ackermann

En este caso la fórmula de Ackermann es:


· ¸−1 · ¸
C 0
Ke = φ(G)
CG 1
con
φ(G) = G2 + α1 G + α2 I = G2
resultando · ¸2 · ¸−1 · ¸ · ¸
1 1 1 0 0 2
Ke = =
0 1 1 1 1 1
que evidentemente es el mismo resultado que el obtenido con el procedimiento anterior.
112 OBSERVADORES DEL ESTADO

Estudio de la evolución del error de estimación

Vamos a comprobar que el error cae a cero según una respuesta dead-beat. Sea
· ¸ · ¸
a1 a2
x(0) = x̂(0) =
b1 b2
entonces · ¸ · ¸
a1 − a2 a
e(0) = x(0) − x̂(0) = =
b1 − b2 b
además se tiene que · ¸
−1 1
G − Ke C =
−1 1
el error evoluciona, por tanto, según
· ¸ · ¸· ¸
e1 (k + 1) −1 1 e1 (k)
=
e2 (k + 1) −1 1 e2 (k)
por lo que se calcula la evolución de este error:
· ¸ · ¸· ¸
e1 (1) −1 1 a
=
e2 (1) −1 1 b
· ¸
−a + b
=
−a + b
· ¸ · ¸· ¸
e1 (2) −1 1 −a + b
=
e2 (2) −1 1 −a + b
· ¸
0
=
0
luego, tal y como se pretendı́a, la estimación del vector de estados coincide con el
valor real de dicho vector dos tiempos de muestreo después de iniciarse la estimación.
Finalmente, la ecuación del observador es:
· ¸ · ¸· ¸ · ¸ · ¸
x̂1 (k + 1) −1 1 x̂1 (k) 0,5 2
= + u(k) + y(k)
x̂1 (k + 1) −1 1 x̂1 (k) 1 1
¤

6.9.2.2. Comentarios acerca del papel de Ke

Se ha visto que Ke se utiliza para corregir la estimación, disminuyendo el efecto de


las incertidumbres que se tengan sobre la dinámica real de la planta. Si estas incer-
tidumbres son importantes (es decir, si se tiene poca confianza en que el modelo de la
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 113

planta coincida con la dinámica real de la misma) este término corrector deberı́a tomar
un valor alto. Sin embargo, si la señal de salida está contaminada por perturbaciones y
ruido en general procedente, por ejemplo, de los sensores de medida, entonces la señal
de salida no es fiable en el sentido de que no proviene únicamente de la dinámica real de
la planta. Por tanto, en estas situaciones el término corrector deberı́a ser más pequeño.
Al seleccionar Ke se debe pensar no sólo en reducir el error en base a una corrección
enérgica, 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 ((dirección)) correcta. Es decir, hay que llegar a un compromiso entre la velocidad
de respuesta y la sensibilidad a ruidos y perturbaciones.

6.9.2.3. Efectos de la adición del observador

Hemos supuesto que al no disponerse de x(k) para calcular la señal de control, se


usa el observador para producir una estimación x̂(k), de manera que

u(k) = −K x̂(k) (6.68)

Cabe preguntarse si al usar el observador, se colocan los polos del sistema en el sitio
que se pretende al calcularse la ganancia de realimentación del vector de estado K.
¿Que efectos tiene el observador sobre los polos de bucle cerrado? Para estudiar esto,
se analizará el efecto que tiene la adición del observador sobre la ecuación caracterı́stica
del sistema en bucle cerrado.

Sea el sistema (6.64) controlado mediante (6.68). La ecuación de estado puede


reescribirse como:
x(k + 1) = Gx(k) − HK x̂(k)
= (G − HK)x(k) + HK(x(k) − x̂(k))
= (G − HK)x(k) + HKe(k)

donde e(k) es el error de observación en el instante k. Recordemos que el error de


observación viene dado por:

e(k + 1) = (G − Ke C)e(k)

La ecuación de estado y la del error, se pueden combinar en la ecuación de un sistema


autónomo aumentado que describe la dinámica del sistema observado (es decir, de todo
el conjunto sistema-controlador-observador):
· ¸ · ¸· ¸
x(k + 1) G − HK HK x(k)
=
e(k + 1) 0 G − Ke C e(k)
114 OBSERVADORES DEL ESTADO

La ecuación caracterı́stica de este sistema es


¯ ¯
¯ zI − G + HK −HK ¯
¯ ¯=0
¯ 0 zI − G + Ke C ¯

es decir,
|zI − G + HK||zI − G + Ke C| = 0

Dado que las raı́ces de esta ecuación son las raı́ces de cada uno de los dos determinantes
que aparecen, esto implica que los polos del sistema completo son los polos del sistema
en bucle cerrado, tal y como se han colocado mediante el diseño de K junto con los
polos del observador. Por tanto, la colocación de polos y la observación son dos cosas
independientes, porque la adición del observador no modifica los polos de bucle cerrado
del sistema tal y como se eligieron al diseñar K. Por tanto:

Los polos del sistema se eligen para que se cumplan las especificaciones del sistema
de control.

Los polos del observador se escogen de manera que la respuesta del observador
sea más rápida que la del sistema (para que esta última resulte dominante),
tı́picamente 4 o 5 veces más rápida.

6.9.3. Observador de orden mı́nimo

Supóngase que x(k) es un n-vector y que y(k) es un m-vector. Como las m salidas
son combinaciones lineales del estado, hay m variables que no necesitan ser estimadas.
El observador de orden mı́nimo será el que estime las n − m restantes.

Para diseñar el observador de orden mı́nimo estableceremos una partición del vector
de estados:
 
xa (k)
x(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 partición del vector de estados
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 115

determina una partición en la ecuación de estados:


 .. 
     
xa (k + 1) G . G
 aa . ab
 xa (k) Ha
 ···  =  · · · .. · · ·   · · ·  +  · · ·  u(k)
 
xb (k + 1) .. xb (k) Hb
Gba . Gbb
 
h i xa (k)
.
y(k) = I . 0  ··· 
.
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 ecuación de la parte del estado que es accesible (medible)
serı́a:
xa (k + 1) = Gaa xa (k) + Gab xb (k) + Ha u(k)
Nótese que en esta ecuación hay términos que no son medibles, por lo tanto la podemos
reescribir agrupando los términos medibles a la izquierda y los no medibles a la derecha:

xa (k + 1) − Gaa xa (k) − Ha u(k) = Gab xb (k) (6.69)

Por otro lado, la parte del vector de estados que no se puede medir se puede escribir
como:
xb (k + 1) = Gba xa (k) + Gbb xb (k) + Hb u(k)
Obsérvese que en esta ecuación, los términos que dependen de xa (k) y u(k) son cono-
cidos mientras que el término que depende de xb (k) es desconocido. Esta ecuación la
podemos reescribir como

xb (k + 1) = Gbb xb (k) + [Gba xa (k) + Hb u(k)] (6.70)

El diseño del observador de orden mı́nimo se realiza tomando como referencia el del
observador de orden completo, cuya ecuación de estados es

x(k + 1) = Gx(k) + Hu(k)

En el caso del observador de orden mı́nimo, la ecuación (6.70), es decir, la ecuación


que describe la evolución de la parte del estado no medible, es la que hace el papel
de ecuación de estado. Por otra parte, se conoce que la ecuación 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)). Obsérvese que se puede
establecer un paralelismo entre los términos de esta ecuación y los de la ecuación (6.69).
En el caso del observador de orden mı́nimo, por tanto, se considera como ecuación de
salida la ecuación (6.69).
116 OBSERVADORES DEL ESTADO

Recordemos que la ecuación del observador de orden completo es

x̂(k + 1) = (G − Ke C)x̂(k) + Hu(k) + Ke y(k)

Comparando las ecuaciones de estado y salida del observador de orden completo y las
del observador de orden mı́nimo, se establecen las siguientes analogı́as:
Observador de orden completo Observador de orden mı́nimo

x̂(k) x̂b (k)


G Gbb
Hu(k) Gba xa (k) + Hb u(k)
y(k) xa (k + 1) − Gaa xa (k) − Ha u(k)
C Gab
Ke ∈ Rn×m Ke ∈ R(n−m)×m

Teniendo en cuenta esto, se obtiene

x̂b (k+1) = (Gbb −Ke Gab )x̂b (k)+Gba xa (k)+Hb u(k)+Ke [xa (k + 1) − Gaa xa (k) − Ha u(k)]
(6.71)
Además, de la ecuación del sistema sabemos que

y(k) = xa (k)

luego, aplicando esto en la ecuación (6.71) se obtiene

x̂b (k + 1) = (Gbb − Ke Gab )x̂b (k) + Ke y(k + 1) + (Gba − Ke Gaa )y(k) + (Hb − Ke Ha )u(k)

que serı́a la ecuación del observador de orden mı́nimo. Los polos del observador de
orden mı́nimo serı́an los autovalores de (Gbb − Ke Gab ). Obsérvese, sin embargo, que en
esta ecuación aparece un término que multiplica a y(k + 1). Como es lógico el valor
de la salida en k + 1 no está disponible en el instante k, por lo que esta ecuación ha
de ser modificada. Se puede demostrar (no se hará aquı́), que esta ecuación se puede
reescribir como:

x̂b (k) = η̂(k) + Ke xa (k)


η̂(k + 1) = (Gbb − Ke Gab )η̂(k) + [(Gbb − Ke Gab )Ke + Gba − Ke Gaa ] y(k) (6.72)
+(Hb − Ke Ha )u(k)

La ecuación caracterı́stica del observador de orden mı́nimo es:

|zI − Gbb + Ke Gab | = 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 métodos indicados en la sección
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 117

6.9.2.1. Por ejemplo, si la salida y(k) es un escalar, es decir m = 1, se tienen que estimar
n − 1 variables. La fórmula de Ackermann, por ejemplo, quedarı́a:
 −1  
Gab 0
 Gab Gbb   0 
   
Ke = φ(Gbb )  ..   .. 
 .   . 
Gab Gn−2
bb 1
donde
φ(Gbb ) = Gn−1 n−2
bb + α1 Gbb + · · · + αn−1 I

De manera análoga a la del observador de orden completo, se comprueba que la ecuación


caracterı́stica del conjunto formado por el observador de orden mı́nimo y el sistema
controlado por una realimentación lineal del vector de estados es:

|zI − G + HK||zI − Gbb + Ke Gab | = 0

por lo que, nuevamente se ve que los problemas de diseño del controlador y del obser-
vador son independientes.

Ejemplo 6.8

Sea un sistema LTI cuyas matrices son


· ¸ · ¸
1 0,2 0,02 £ ¤
G= H= C= 1 0
0 1 0,2
se pide

1. Diseñar un controlador que coloque los polos de bucle cerrado en z = 0,6 ± j0,4.

2. Asumiendo que y(k) = x1 (k) es el único estado accesible, diseñar un observador


de orden mı́nimo con respuesta dead-beat.

En primer lugar, se ha de comprobar la controlabilidad y observabilidad del sistema:


nh io ½· ¸¾
. 0,02 0,06
rango H .. GH = rango
0,2 0,2
=2
nh io ½· ¸¾
∗ ..
1 1
rango C . GC ∗ ∗ = rango =2
0 0,2
Luego el sistema cumple ambas condiciones. La ecuación caracterı́stica del controlador
es: ¯ ¯
¯ z − 1 −0,2 ¯
|zI − G| = ¯¯ ¯ = z 2 − 2z + 1
0 z−1 ¯
118 OBSERVADORES DEL ESTADO

luego a1 = −2 y a2 = 1. La ecuación caracterı́stica de bucle cerrado deseada es:


(z − 0,6 − j0,4)(z − 0,6 + j0,4) = z 2 − 1,2z + 0,52
luego α1 = −1,2 y α2 = 0,52. Por tanto,
£ ¤ £ ¤
K = α2 − a2 α1 − a1 T −1 = −0,48 0,8 T −1
donde la matriz T se calcula como
h i · a 1 ¸ · 0,02 0,02 ¸
T = H .. 1
=
. GH 1 0 −0,2 0,2
y · ¸
−1 25 −2,5
T =
25 2,5
lo que lleva a £ ¤
K= 8 3,2
la ley de control se formulará por tanto, como
u(k) = −K x̂(k)
· ¸ · ¸
£ ¤ x1 (k) £ ¤ y(k)
= − 8 3,2 = − 8 3,2
x̂2 (k) x̂2 (k)

En cuanto al observador de orden mı́nimo, éste estimará una sola variable, por lo
que es de orden 1. La partición de la ecuación de estado en este caso será:
 .   . 
   
Gaa .. Gab 1 .. 0,2 Ha 0,02
   
 · · · ... · · ·  =  .
· · · .. · · ·   ···  =  ··· 
   
.. . Hb 0,2
Gba . Gbb 0 .. 1

La ecuación 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 − Ke Gab )η̂(k) + [(Gbb − Ke Gab )Ke + Gba − Ke Gaa ] y(k)
+(Hb − Ke Ha )u(k)
= (1 − 5 × 0,2)η̂(k) + [(1 − 5 × 0,2) × 5 + 0 − 5 × 1] y(k) + (0,2 − 5 × 0,02)u(k)
= −5y(k) + 0,1u(k)

x̂2 (k) = Ke y(k) + η̂(k)


= 5y(k) + η̂(k)
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 119

y la ley de control será por tanto,

u(k) = −K x̂(k)
= −8y(k) − 3,2x̂2 (k)
= −8y(k) − 3,2(5y(k) + η̂(k))
= −24y(k) − 3,2η̂(k)

6.10. Control óptimo LQR

Las técnicas de control óptimo conforman una de las ramas del control automático
más importantes en el desarrollo de las estrategias modernas de control más utilizadas
hoy en dı́a. Se han escrito numerosas monografı́as dedicadas a su estudio, y se ha
publicado una ingente cantidad de artı́culos en revistas especializadas. No obstante,
en estos apuntes sólo se dará una pincelada sobre este particular, centrándonos en el
caso particular del control LQR con horizonte infinito, también conocido como LQR
de régimen permanente.

Las estrategias de control óptimo 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)



1X ∗
J= (x (k)Qx(k) + u∗ (k)Ru(k)) (6.73)
2 k=0

siendo Q y R matrices de ponderación que cumplen que Q∗ = Q > 0, R∗ = R > 0.


Nótese 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 más rápido se llegue
al origen menor valor de J se tendrá. Esto implica que al minimizarse J, se encon-
trará la ley de control que lleva el estado al origen más rápidamente y manteniéndolo
120 CONTROL ÓPTIMO LQR

siempre lo más cerca posible del origen4 . Por otra parte, se observa que en el funcional
hay otro término que pondera el valor de la secuencia de señales de actuación. Este
término impide que se obtenga una ley de control que lleve el estado al origen a expen-
sas de una actuación muy grande. Al minimizarse J, por tanto, se conseguirá una ley de
control que por una parte acerque el estado al origen lo mas rápido posible, pero man-
teniendo un nivel de actuaciones moderado, encontrándose por tanto, una solución de
compromiso entre el rendimiento del controlador y su nivel de actuación. El sentido de
este compromiso puede venir dictado por diferentes razones, como por ejemplo moderar
el gasto de energı́a o combustible necesario para proporcionar la señal de actuación.
Existen razones más sutiles pero no por ello menos importantes para incorporar esta
ponderación del esfuerzo de control. Por ejemplo, cuando existen discrepancias entre
el modelo del sistema y su dinámica real (algo que ocurre casi siempre, pues los mode-
los matemáticos no pueden recoger todas las complejidades de los sistemas o procesos
reales) esta ponderación del esfuerzo de control resulta en un sistema más estable.

Para calcular la ley de control que minimiza el ı́ndice (6.73) se define una matriz P
que satisface la siguiente ecuación de Riccatti:

P = Q + G∗ P G − G∗ P H(R + H ∗ P H)−1 H ∗ P G (6.74)

La solución de esta ecuación es una matriz P que es hermı́tica y definida positiva. Se


demuestra que la matriz
K = (R + H ∗ P H)−1 H ∗ P G

es la que minimiza el ı́ndice (6.73) mediante la ley de control

u(k) = −(R + H ∗ P H)−1 H ∗ P Gx(k)

La ecuación de estado del sistema en bucle cerrado será por tanto:

x(k + 1) = (G − H(R + H ∗ P H)−1 H ∗ P G) x(k)


= (I + HR−1 H ∗ P )−1 Gx(k)

Para este desarrollo se ha empleado el lema de inversión

(A + BC)−1 = A−1 − A−1 B(I + CA−1 B)−1 CA

con A = I, B = H y C = R−1 H ∗ P .
4
Ésta es una interpretación que hay que tomar con cierto cuidado, pues puede que se obtenga una
ley de control que provoque que el estado no se acerque al origen todo lo posible al principio pero que
lo lleve a dicho origen muy rápidamente en los instantes siguientes, manteniendo pues el valor de J
muy bajo.
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 121

6.10.1. Solución de la ecuación de Riccatti

Para calcular la ley de control óptima LQR en régimen permanente es necesario


resolver la ecuación de Riccatti (6.74). Esto no es algo trivial en general, pero si pode-
mos resolverla fácilmente si se dispone de un computador. Para ello formularemos un
proceso iterativo en que tomando como valor inicial de P = 0 (es decir una matriz de
ceros) se calculará el valor de la matriz P en el paso i + 1 como

Pi+1 = Q + G∗ Pi G − G∗ Pi H (R + H ∗ Pi H)−1 H ∗ Pi G

La condición de parada del bucle o proceso iterativo será que Pi+1 − Pi ≈ 0, esto es,
que la diferencia entre Pi+1 y Pi sea una matriz cuyos elementos estén todos cerca del
cero.

6.11. Filtro de Kalman

El filtro de Kalman es un estimador del estado (en realidad también se puede


interpretar como filtro y como predictor), que tiene en cuenta la presencia de ruidos
en la ecuación de estados y la salida. En este sentido es un estimador óptimo, pues
la estimación obtenida tiene el menor error posible teniendo en cuenta que al haber
ruidos actuando, nunca se podrá obtener una estimación perfecta. Al igual que en el
caso del control LQR no se entrará en profundidad en el estudio de este estimador, sino
que sólo se presentará la formulación de un caso particular, el filtro de Kalman para
régimen permanente.

Sea un sistema:
x(k + 1) = Gx(k) + Hu(k) + ω(k)
y(k) = Cx(k) + ²(k)
donde ω(k) y ²(k) son variables aleatorios que actúan como ruidos aditivos. Se de-
muestra que se puede obtener una estimación óptima del vector de estados mediante
el siguiente esquema:
x̂(k + 1) = Gx̂(k) + Hu(k) + Ke (k) (y(k) − C x̂(k))
Ke (k) = GPk C ∗ (R + CPk C ∗ )−1 (6.75)
Pk+1 = Q + (G − Ke (k)C) Pk G∗
donde
R = E {²(k)²∗ (k)}
Q = E {ω(k)ω ∗ (k)}
P0 = E {²(0)²∗ (0)}
122 FILTRO DE KALMAN

donde E {·} denota la esperanza matemática 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 además P es semidefinida positiva. Usando
esto, las ecuaciones de estimación (6.75) se pueden reescribir como:

x̂(k + 1) = Gx̂(k) + Hu(k) + Ke (y(k) − C x̂(k))


Ke = GP C ∗ (R + CP C ∗ )−1 (6.76)
P = Q + GP G∗ − GP C ∗ (R + CP C ∗ )−1 CP G∗

que son las ecuaciones del filtro de Kalman de régimen permanente. Nótese que para
resolver la ecuación de Riccatti se puede usar el mismo método usado en el LQR.
Capı́tulo 7

Modelos de procesos y
perturbaciones

7.1. Introducción

En este capı́tulo se expondrán diversos tipos de formas de modelar perturbaciones


y procesos cuya evolución se ve afectada por perturbaciones. Es importante tener en
cuenta que los modelos de procesos con perturbaciones tienen su origen en el modelado
de perturbaciones y no al revés.

En la teorı́a clásica del control automático siempre se ha tenido en cuenta el com-


portamiento de los sistemas frente a perturbaciones a la hora de diseñar sistemas de
control. Dichas perturbaciones se modelaban siempre de manera muy simplificada. Es
por tanto común en esta teorı́a el considerar que las perturbaciones van a tener la
forma de

Pulsos.

Escalones.

Rampas.

Sinusoides.

Todos estos modelos tienen en común que son absolutamente predecibles en su evolu-
ción en función de las condiciones iniciales. Es decir, en cuanto la perturbación aparece

123
124 PERTURBACIONES DETERMINISTAS A TROZOS

podemos predecir su evolución futura. Es una suposición común en estos casos, consi–
derar que estas perturbaciones vienen generadas por sistemas dinámicos.

7.2. Perturbaciones deterministas a trozos

Como fuente de perturbaciones con una mayor variabilidad que los modelos clásicos
antes comentados, se pueden considerar las perturbaciones deterministas a trozos. Sur-
gen de la necesidad de estudiar el efecto de perturbaciones más realistas en sistemas
de control que se basan en algún tipo de esquema predictivo para calcular la señal
de control. En este tipo de sistemas, el considerar una perturbación absolutamente
predecible (como en el caso de los modelos clásicos) no tiene utilidad alguna, pues se
pueden considerar directamente en el cálculo de la ley de control.

Los modelos de perturbaciones deterministas a trozos parten de la suposición de


que son generados por un sistema lineal, en el que la entrada es cero excepto en ciertos
instantes de tiempo separados por más de n tiempos de muestreo, donde n es el orden
del sistema:
C(z −1 )
y(k) = w(k)
A(z −1 )

suponiéndose que el grado de C(z −1 ) es igual al grado de A(z −1 ). Si la entrada es


cero excepto en ciertos instantes de tiempo que están separados, quiere decir que la
señal w(k) es un tren de pulsos. La amplitud y momento de aparición de esos pulsos
son desconocidos. Esto es lo que le da variabilidad a la fuente de perturbaciones. Sin
embargo, una vez que aparecen y se conoce la amplitud del pulso, la evolución de la
salida y(k) es perfectamente predecible pues la dinámica del sistema es conocida. De
ahı́ el nombre de determinista a trozos.

7.3. Procesos estocásticos

Es natural utilizar el concepto de aleatorio o estocástico1 para describir una amplia


clase de perturbaciones, suficientemente realistas para formular problemas de predic-
ción con postulados cercanos a la realidad.
1
Estocástico: relativo a una variable aleatoria; algo que sigue una determinada distribución de
probabilidad, usualmente con varianza finita.
CAPÍTULO 7. MODELOS DE PROCESOS Y PERTURBACIONES 125

El concepto de proceso estocástico es complejo y alcanza su madurez en los trabajos


de Kolmogorov (1930). Aquı́ presentaremos sólo algunas ideas básicas. Un proceso
estocástico puede ser considerado como una función 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 ((realización)) del proceso. Esta realización es una función
temporal común sin ningún tipo de carácter aleatorio una vez que se conoce que w =
w0 . Si por otra parte se considera un instante de tiempo fijo, es decir t = t0 , que
denotaremos como
X(t0 , :) , X(t0 )
tendremos una variable aleatoria. Se puede considerar por tanto, que la evolución del
proceso está dictada por un generador de señales aleatorias. En la figura 7.1 se ilustran
estos conceptos. Puede observarse que el valor de la función en cada instante es un
valor aleatorio que en la figura se considera variable en un determinado rango. Por
otra parte, cuando se habla de una realización no es más que una función común que
depende de t.

w=w0

t0 t1 t2 t3 t4 ......

Figura 7.1: Procesos estocásticos: realizaciones y variables aleatorias.

Definición 7.1 Se denomina proceso estocástico determinista, a aquél cuya evolución


puede ser predicha exactamente con un predictor lineal 2 en base a medidas pasadas.
En estos procesos, el carácter estocástico sólo se manifiesta en la aleatoriedad de las
condiciones iniciales. Para aplicaciones basadas en predicción no son muy interesantes.
2
Es decir, haciendo evolucionar hacia delante un modelo lineal.
126 MODELOS DE PROCESOS CON RUIDOS

Definición 7.2 Se denomina proceso estocástico estacionario, a aquél cuya distribu-


ción estadı́stica para X(t1 ), X(t2 ),. . . ,X(tn ) es la misma que para X(t1 + τ ), X(t2 +
τ ),. . . ,X(tn + τ ). Es decir, su distribución no varı́a con el tiempo.

Definición 7.3 Se denomina ruido blanco discreto, a un proceso aleatorio que se puede
considerar como una secuencia cuyos elementos son variables aleatorias independientes
entre sı́ cuya distribución es idéntica. Se suele suponer que

E {x(k)} = 0

es decir, que el valor esperado es cero y además


½
0 si i 6= j (por ser variables independientes)
E {x(i)x(j)} =
σ 2 si i = j

Al ruido blanco se le suele considerar prototipo de una señal impredecible.

7.4. Modelos de procesos con ruidos

En esta sección veremos cómo se pueden generar diversos tipos de procesos es-
tocásticos, cuando a un sistema lineal se le inyecta un ruido blanco v(k) además de
una entrada externa u(k) a través de sendas funciones de transferencia.

El caso más general es el llamado modelo de Box-Jenkins, el cual se ilustra en la


figura 7.2. Esta estructura es demasiado general, y normalmente se utilizan diversas

v(k) −1
C( z )
−1
D( z )

y(k)

u(k) −1
B( z )
−1
A( z )

Figura 7.2: Modelo de Box-Jenkins.

simplificaciones de las cuales veremos a continuación las más comunes:


CAPÍTULO 7. MODELOS DE PROCESOS Y PERTURBACIONES 127

Modelo de Media Móvil (MA : Moving Average). Es el caso más sencillo y viene
descrito por

y(k) = v(k) + c1 v(k − 1) + c2 v(k − 2) + · · · + cn v(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
servirá para modelar procesos que tengan dinámica.

Modelo Autoregresivo (AR). Viene descrito por

y(k) + d1 y(k − 1) + d2 y(k − 2) + · · · + dn y(k − n) = v(k)

En este caso, la parte aleatoria correspondiente a la perturbación tiene una es-


tructura muy simple porque no depende de los valores pasados.

Modelo Autoregresivo de Media Móvil (ARMA). Es la combinación de los dos


anteriores, por lo que tomará la forma

y(k) + d1 y(k − 1) + · · · + dn y(k − n) = v(k) + c1 v(k − 1)


+c2 v(k − 2) + · · · + cn v(k − n)

Este modelo permite describir procesos más ricos que los anteriores. Sin embargo,
desde el punto de vista del control es interesante poder considerar el efecto de una
entrada externa, por lo que se considera el siguiente tipo de modelos de procesos
con ruidos.

Modelo Autoregresivo de Media Móvil con una entrada exógena (ARMAX). Tam-
bién llamado modelo CARMA (Controlled ARMA). Viene descrito por

y(k) + a1 y(k − 1) + · · · + an y(k − n) = b1 u(k − 1) + · · · + bn u(k − n)


+v(k) + c1 v(k − 1) + · · · + cn v(k − n)

Modelo Autoregresivo con entrada exógena para mı́nimos cuadrados (ARX-LS ).


Este modelo surge como versión simplificada del anterior, para el caso en el que
no se necesita que la fuente de perturbaciones tenga una estructura tan compleja.
Viene descrito por

y(k) + a1 y(k − 1) + · · · + an y(k − n) = b1 u(k − 1) + · · · + bn u(k − n) + v(k)

Como su nombre indica se utiliza en la identificación por el método de los mı́nimos


cuadrados (véase el tema 9).
128 MODELOS DE PROCESOS CON RUIDOS

Modelo Autoregresivo de Media Móvil integrada y con una entrada exógena


(ARIMAX o CARIMA). Este modelo incorpora un integrador en la fuente de
perturbaciones, por lo que viene descrito por

y(k) + a1 y(k − 1) + · · · + an y(k − n) = b1 u(k − 1) + · · · + bn u(k − n)


v(k) + c1 v(k − 1) + · · · + cn v(k − n)
+

donde ∆ = 1−z −1 . Este tipo de modelos es útil en esquemas de control predictivo
para formular leyes de control que incorporen un efecto integral, de manera que
sean capaces de rechazar perturbaciones en escalón.

Los modelos anteriores pueden escribirse en forma condensada utilizando polinomios


en z −1 tal y como se muestra en la siguiente tabla resumen:
Modelo Expresión

MA y(k) = C(z −1 )v(k)


AR D(z −1 )y(k) = v(k)
ARMA D(z −1 )y(k) = C(z −1 )v(k)
ARMAX A(z −1 )y(k) = B(z −1 )u(k − 1) + C(z −1 )v(k)
ARX-LS A(z −1 )y(k) = B(z −1 )u(k − 1) + v(k)
−1
ARIMAX A(z −1 )y(k) = B(z −1 )u(k − 1) + C(z ∆)v(k)

Cuando en los modelos anteriores el polinomio que convoluciona con la señal v(k) es
distinto de la unidad se habla de ruido coloreado, y en caso contrario, de ruido blanco.
Capı́tulo 8

Introducción a la identificación de
sistemas

8.1. Introducción

Un modelo de un proceso es una forma de resumir el conocimiento que se tiene


sobre su dinámica, y por tanto es una herramienta importante en el diseño y análisis
de sistemas de control. Sin embargo, al construir modelos estamos obteniendo repre-
sentaciones simplificadas de la dinámica real del proceso. Un solo modelo no suele ser
suficiente para describir un proceso. Por otra parte, según sea el uso destinado al mod-
elo este deberá ser mas o menos detallado. Por tanto, se establece una jerarquı́a de
modelos que describe al proceso con mayor o menor detalle.

Hay dos maneras de abordar la construcción de un modelo: obtenerlo mediante


principios y leyes fı́sicas que describan la dinámica del proceso, o bien obtenerlo me-
diante experimentación sobre el proceso que se quiere modelar. La primera opción
requiere un conocimiento muy preciso del proceso que se quiere modelar. Por ejemplo,
hay que elegir las variables que vayan a ser los estados del sistema, y esto puede ser un
problema. Es, en general un proceso complicado y muy arduo, excepto en casos muy
simples. Normalmente, se debe combinar con la otra estrategia que es la denominada
identificación de sistemas. Esta estrategia será el objeto de este tema.

129
130 IDEAS BÁSICAS SOBRE IDENTIFICACIÓN DE SISTEMAS

8.2. Ideas básicas sobre identificación de sistemas

La identificación de sistemas es la aproximación 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 identificación de un sistema conlleva
una serie de actividades y herramientas, de las que podemos destacar:

Planificación de los experimentos.

Selección del tipo de modelo.

Elección de un criterio para expresar la bondad del modelo que se va a obtener.

Estimación de los parámetros del modelo.

Validación del modelo obtenido.

A continuación, se irán desglosando las principales ideas de cada uno de estos aspectos.

8.2.1. Planificación de los experimentos

Dado que la identificación 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 técnica que nos sea lo más rentable
desde el punto de vista del tipo de experimentos necesarios. Algunas técnicas son muy
sencillas, en el sentido de que una vez hecho el experimento es fácil obtener el modelo.
Estas técnicas, sin embargo, requieren que en los experimentos se utilicen señales de
entradas preestablecidas de manera muy precisa: pulsos, sinusoides, etc. . . Puede que
el proceso a modelar no pueda ser sometido a este tipo de entradas por consideraciones
de seguridad o motivos económicos. Otras técnicas de identificación pueden emplear
casi cualquier tipo de señal de entrada (es decir, son menos exigentes en el tipo de
experimentos necesarios), pero una vez realizado el experimento es más complicado
obtener el modelo. Como comentario general, es necesario que en el experimento se
utilicen señales de entrada que exciten todos los modos del sistema. Más allá de eso,
un buen método de identificación 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
CAPÍTULO 8. INTRODUCCIÓN A LA IDENTIFICACIÓN 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. También, si los
lazos de control son demasiado simples. En general, cuanto más complejos sean los
lazos de control y más se mueva la consigna, más fácil será la identificación en bucle
cerrado.

8.2.2. Selección del tipo de modelo

En teorı́a, la selección del tipo de modelo deberı́a venir dada por un conocimiento
del proceso y de las perturbaciones que deban ser tenidas en cuenta. Dependiendo de
si conocemos mucho o poco la estructura del proceso elegiremos entre uno u otro tipo
de modelo. En general, los modelos los clasificaremos como:

Modelos de Caja Blanca. Son los obtenidos a partir de leyes fı́sicas (esto no serı́a
realmente identificación porque no se estarı́an haciendo experimentos).

Modelos de Caja Negra. En estos modelos se postula una estructura matematica


con una serie de parámetros libres, a los cuales se les da valor a partir de los
datos obtenidos en los experimentos.

Modelos de Caja Gris. Corresponden a un tipo intermedio entre los dos anteriores.
Parte del modelo se obtiene mediante leyes fı́sicas y otra parte, se ajusta usando
medidas experimentales. Por ejemplo, mediante leyes fı́sicas podemos determinar
la estructura del modelo (o de parte de él) y usar experimentos para terminar de
caracterizar el modelo.

También se pueden clasificar los tipos de modelos en paramétricos y no paramétri-


cos. En los primeros se tienen una serie de parámetros que hay que ajustar. Por ejemplo,
en una función de transferencia se tendrı́an que ajustar el orden y los coeficientes de
los polinomios. En modelos de espacio de estados tendrı́amos la misma situación pero
con las matrices del sistema. En los modelos no paramétricos, el modelo no tiene una
serie de parámetros que definen la dinámica sino que se compone de una cantidad de
información 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
serán de caja negra y paramétricos.
132 IDEAS BÁSICAS SOBRE IDENTIFICACIÓN DE SISTEMAS

8.2.3. Elección de un criterio

En el proceso de estimación del modelo y su subsiguiente validación 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:
XN
J(θ) = g(e(k))
k=1

donde θ es el vector de parámetros que se trata de ajustar, e(k) es el error de estimación


para la medida k, N es el número de observaciones o medidas disponibles y g(·) es una
función usualmente cuadrática.

Usualmente, el proceso de ajuste del modelo se realiza de manera que se busca el


valor del vector de parámetros θ que hace mı́nimo al ı́ndice o criterio J(θ). El método
más antiguo que emplea esta estrategia es el de los mı́nimos cuadrados, debido a Gauss.
Por otra parte, cuando los procesos se describen mediante modelos estocásticos, el
problema es de estimación estadı́stica. Un método muy popular en este caso, es el del
estimador de máxima verosimilitud.

8.2.4. Estimación de los parámetros

Para resolver el problema de estimación de los parámetros del modelo se requiere


de los elementos comentados anteriormente: datos experimentales, un tipo de modelo
y un criterio. Estimar los parámetros es resolver un problema de optimización en el
cual, el mejor modelo es el que hace mı́nimo el criterio. Es necesario tener en cuenta
que el modelo obtenido dependerá de los elementos anteriores, como por ejemplo de la
amplitud y contenido frecuencial de la señal de entrada. Hay diversas formas de llevar
a cabo el proceso de estimación. Una distinción amplia, es aquella que distingue entre
identificación en lı́nea e identificación fuera de lı́nea.

8.2.4.1. Identificación en lı́nea

En los métodos de identificación en lı́nea la estimación se efectúa usando medidas


que se van obteniendo en tiempo real, y normalmente se usan cálculos recursivos.
El esquema de este tipo de identificación serı́a el mostrado en la figura 8.1. En este
esquema aparece un nivel de supervisión que es necesario para evitar, por ejemplo, que
CAPÍTULO 8. INTRODUCCIÓN A LA IDENTIFICACIÓN DE SISTEMAS 133

u(k) y(k)
PLANTA

IDENTIFICACIÓN

MODELO
ACTUALIZADO

SUPERVISIÓN

MODELO
CORREGIDO

Figura 8.1: Esquema de la identificación en lı́nea.

el modelo actualizado se salga de ciertos lı́mites o cambie bruscamente (esto no serı́a


bueno para ciertas leyes de control basadas en modelos). Este método suele ser el único
apropiado cuando se pretende usar una estrategia de control adaptativo, o el proceso
varı́a su dinámica con el tiempo.

8.2.4.2. Identificación fuera de lı́nea

En este caso se toman los datos del experimento (es decir, series de medidas) y
posteriormente, se ajusta el modelo usando para ello todo el conjunto de datos. Este
tipo de procedimientos suelen obtener modelos más precisos y son más fiables en cuanto
a la convergencia de los parámetros estimados a los parámetros reales del proceso1 . En
cualquier caso, existe un consenso general en que no existe un método universalmente
bueno, por tanto, dependiendo de la situación unos funcionarán mejor que otros.

8.2.5. Validación del modelo

La validación del modelo consiste en comprobar la bondad del modelo que se ha


obtenido por el proceso de identificación. Una técnica muy común para comprobar la
bondad de un modelo identificado es la validación cruzada.
1
Nótese que aunque el proceso real no corresponderá en general exactamente con el modelo (pues
todo modelo implica un cierto grado de simplificación de la realidad) se asume que existe un valor del
vector de parámetros que es el que mejor describe al proceso.
134 IDEAS BÁSICAS SOBRE IDENTIFICACIÓN DE SISTEMAS

La idea del método de validación cruzada es dividir el conjunto de datos disponible


en dos partes o subconjuntos:

Conjunto de estimación. Es usado para estimar el modelo mediante la resolución


de un problema de optimización, de tal manera que el vector de parámetros
estimados sobre el conjunto de estimación θ̂CE serı́a

θ̂CE = arg mı́n VCE (θ, CE)


θ

donde VCE es el criterio de estimación.

Conjunto de prueba o validación. Con este modelo se evalúa el estimador obtenido


mediante un criterio de prueba, que puede ser el mismo que el usado en la esti-
mación u otro distinto:
F̂CE = VCP (θ̂CE , CP)

La idea tras el concepto de validación del modelo es estimar distintos tipos de modelos
(por ejemplo con distintos órdenes) y quedarse con el que mejor ajusta (es decir, el que
dé menor F̂CE ). Mediante esta técnica de validación cruzada, lo que se trata de ver es
si el modelo es capaz de reproducir los datos de salida para entradas que no se han
empleado en la estimación.

Como se ha comentado anteriormente, el criterio VCP no tiene por qué ser el mismo
que el VCE . Por ejemplo, se puede usar como criterio para validación el conocido criterio
de Akaike o criterio AIC (Akaike’s Information Criterion), el cual asumiendo que las
perturbaciones siguen una distribución gaussiana se calcula mediante la fórmula
µ ¶ N
2dimensión(θ) 1 X 2
VCP (θ, CP) = 1+ e (t, θ)
N N t=1

donde e(t, θ) = y(t) − ŷ(t, θ) es el error de estimación para los datos obtenidos en el
instante t.

Tampoco puede descartarse la posibilidad de no usar criterio de validación alguno y


efectuar una inspección visual sobre una simulación, en la que se usa el modelo estimado
para predecir la salida en base a datos de entradas experimentales.

Finalmente, la técnica de validación cruzada, aunque muy popular no es la única.


Otra técnica que a veces se utiliza es el análisis de residuos. Se entiende por residuos
los errores que comete el modelo una vez ajustado, es decir e(t) = y(t) − ŷ(t, θ). Si el
modelo estimado es suficientemente bueno, estos residuos tienen que ser independientes
CAPÍTULO 8. INTRODUCCIÓN A LA IDENTIFICACIÓN DE SISTEMAS 135

de la información disponible en el instante anterior (es decir, el residuo en t tiene que


ser incorrelado con las medidas obtenidas en los instantes anteriores). Esto es ası́ por
que si existe correlación 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 ŷ(t, θ). Por tanto, el modelo no estarı́a reproduciendo toda la dinámica del
proceso.

8.2.6. Resumen del proceso de identificación

El proceso de identificación de un sistema rara vez se concluye con la sola ejecución


de los pasos anteriormente descritos. En lugar de esto, se realizan numerosas repeti-
ciones de esta secuencia de pasos, a veces variándose el tipo de modelo, o repitiéndose
los experimentos hasta que se obtenga un buen modelo. Por tanto, podemos ver el
proceso de identificación como un método iterativo que se puede describir mediante
el diagrama de flujo mostrado en la figura 8.2. En esa figura el hecho de que el flujo

INICIO

TOMA DE DATOS

ACONDICIONAMIENTO DE
DATOS

ELEGIR ESTRUCTURA DEL


MODELO

AJUSTAR MODELO

VALIDAR MODELO

NO
¿ VALIDO ?

SI

USAR MODELO

Figura 8.2: Diagrama de flujo del proceso de identificación.

pueda retornar a cualquiera de las pasos intermedios, indica que puede que en cada
136 ALGUNAS PROPIEDADES

iteración 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 método de ajuste elegido. Es algo
que es especı́fico para cada procedimiento. Ası́ por ejemplo, una tarea muy común de
acondicionamiento de datos es la eliminación de los valores de continua de las señales
de entrada y salida. Esto será tratado en mayor profundidad en el tema 9. Finalmente,
en el caso de la identificación en linea el proceso es más simple, ya que por ejemplo
no es posible cambiar la estructura del modelo sin descartar el resultado que se ha
obtenido hasta ese momento. Además, los datos se toman según van llegando, pues
recordemos que en este tipo de identificación la identificación se hace como su propio
nombre indica en tiempo real, es decir, ((en lı́nea)).

8.3. Algunas propiedades

En esta sección, veremos algunas propiedades relacionadas con la identificación de


sistemas. Concretamente se tratarán los conceptos de excitación persistente, convergen-
cia e identificabilidad. Además, se verán las tareas de supervisión y acondicionamiento
que aparecen en las figuras 8.1 y 8.2.

8.3.1. Excitación persistente

Se ha comentado en la sección 8.2.1, que para poder identificar correctamente un


sistema la señal de entrada debe excitar (es decir, poner de manifiesto) todos los modos
del sistema (toda su dinámica). Formalmente, se dice que si el sistema es de orden n
se deberı́a contar con una señal persistentemente excitadora de orden n.

Se puede probar que una señal de entrada u(k) es persistentemente excitadora de


orden n, sı́ y sólo sı́ se cumple que
à N !2
1 X
−1
lı́m A(z )u(k) >0
N →∞ N
k=1

para todo polinomio A(z −1 ) no nulo de grado inferior a n. Usando este resultado se
pueden caracterizar las señales más comunes:

Pulso: no excita persistentemente para ningún orden n.


CAPÍTULO 8. INTRODUCCIÓN A LA IDENTIFICACIÓN DE SISTEMAS 137

Escalón: excita persistentemente para orden 1.

Ruido blanco: excita persistentemente para todo orden n.

Esto quiere decir que el ruido blanco serı́a una señal de entrada muy buena para identi-
ficar sistemas. En la práctica, sin embargo, es muy difı́cil obtener una señal 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 práctica se recurre a secuencias seudoaleatorias
de escalores binarios (PRBSS: Pseudo Random Binary Step Sequence). En la figura
8.3 se muestra una de esas secuencias. Nótese que los escalones no tienen por qué tener
amplitud unitaria, el concepto de binario se refiere solamente a dos niveles de entrada
distintos. Por otra parte, la aleatoriedad está en la duración de los escalones y en el
momento de aparición de los mismos.
6.5

5.5

5
voltaje

4.5

3.5

3
0 20 40 60 80 100 120 140 160 180 200
intervalos de muestreo

Figura 8.3: Ejemplo de señal de entrada del tipo PRBSS.

8.3.2. Convergencia e identificabilidad

Se dice que un sistema es identificable cuando usando un método de identificación


adecuado se tiene que
lı́m E(θ̂)) = θ0
N →∞

y además la salida obtenida mediante el modelo estimado es posible. Es decir, para


un sistema identificable el valor del vector de parámetros estimado convergerá con un
número de observaciones suficientes al valor real de esos parámetros. No obstante, esta
138 ALGUNAS PROPIEDADES

convergencia tiene a su vez una serie de requisitos o condiciones que se pueden resumir
en:

El orden del modelo y el retardo deben ser conocidos.

Los valores de continua de la señal de entrada y la de salida deben ser conocidos.

Si el sistema es de orden n, la señal 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 matemática) del error en k debe ser cero, es decir
E{e(k)} = 0.

Finalmente, la convergencia también depende de los valores iniciales del esti-


mador.

8.3.2.1. Identificación en bucle cerrado

Como se comentó en la sección 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 además no se emplean señales externas (a modo de perturbaciones) para
excitar toda la dinámica del sistema. Existen una serie de condiciones para establecer
la identificabilidad de un sistema en bucle cerrado. Supóngase 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. Supóngase además que el sistema está gobernado por
un regulador que toma la expresión:

Q(z −1 )
u(t) = − y(t)
P (z −1 )

donde los grados de Q y P son v y w respectivamente. Teniendo en cuenta todo esto,


se formulan las siguientes condiciones de identificabilidad en bucle cerrado.
CAPÍTULO 8. INTRODUCCIÓN A LA IDENTIFICACIÓN DE SISTEMAS 139

Primera condición de identificabilidad en bucle cerrado

Los órdenes del modelo del proceso y de las perturbaciones deben ser conocidos con
exactitud.

Segunda condición de identificabilidad en bucle cerrado

Si los polinomios A(z −1 ) y C(z −1 ) tienen p ceros comunes (en caso de que sean primos
entre si, p = 0) se ha de cumplir que

máx(w − mb , d + v − ma ) ≥ p

Si esto no se cumpliese, la solución pasa por fijar alguno de los parámetros del modelo
a fin de bajar los grados ma o mb . Si fuera factible aumentar el retraso, también
podrı́a usarse esto para lograr la identificabilidad en bucle cerrado. Nótese que por
estos procedimientos lo que se consigue es que el proceso de identificación converja a
un valor del vector de parámetros que corresponde con el que da un menor error. No
quiere decir que el sistema real se describa mejor por ese modelo. Es decir, puede que
exista otro modelo del mismo orden mejor, pero si no se toman las medidas indicadas
no se llegarı́a a ese modelo ni probablemente se convergerı́a a ningún otro.

Un caso común es que p = 0 y ma = mb = n, por lo que esta condición se puede


expresar como
máx(w, v + d) ≥ n

Ejemplo 8.1

Supongamos que ma = mb = n y que

G(z −1 )
u(k) = − y(k)
zB(z −1 )F (z −1 )

y que los ordenes de G(z −1 ) y F (z −1 ) son n − 1 y d respectivamente. Entonces se


cumple que
v =n−1 w =n+d−1

por lo que la condición de identificabilidad serı́a que

máx(n + d − 1, n − 1 + d) ≥ n

Esto implica que para que el sistema sea identificable en bucle cerrado, d ≥ 1. Otra
solución serı́a fijar un parámetro. ¤
140 ALGUNAS PROPIEDADES

8.3.3. Niveles de supervisión y acondicionamiento

En la identificación en lı́nea es habitual introducir un nivel de supervisión y tratamien-


to de las señales a fin de evitar que se produzcan situaciones que desestabilicen la
identificación, es decir, que el valor del vector de parámetros identificado no converja
o converja a un valor incorrecto. Las tareas que se pueden realizar en estos niveles
incluyen:

Filtrado de datos a la entrada del identificador para evitar cambios bruscos en


los parámetros estimados.

Acondicionamiento de señales: eliminación de los valores de continua y escalado


de las variables.

Supervisar que la evolución de los parámetros esté dentro de unos rangos deter-
minados.

Monitorizar otros elementos del algoritmo de identificación.

Monitorizar la introducción de riqueza dinámica al sistema: paradas temporales


del identificador e inyección de perturbaciones.
Capı́tulo 9

Identificación por mı́nimos


cuadrados

9.1. El método de los mı́nimos cuadrados

Este método permite la identificación en tiempo real de modelos con el único req-
uisito de que estos sean lineales en los parámetros. Esto incluye, por tanto, a modelos
lineales y no lineales que sean lineales en los parámetros. El mayor interes práctico re-
side, sin embargo, en la identificación de los primeros, dado que son los más utilizados
en control.

Considerése el siguiente modelo paramétrico lineal monovariable1 :

y(k) + a1 y(k − 1) + · · · + an y(k − n) = b1 u(k − 1) + · · · + bn u(k − n) (9.1)

Nótese 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 función de transferencia:
b1 z −1 + · · · + bn z −n
G(z −1 ) =
1 + a1 z −1 + · · · + an z −n
El modelo (9.1) se puede reescribir como:

y(k) = m(k)θ (9.2)


1
Este método se puede aplicar sin cambios conceptuales a modelos multivariables. Sin embargo por
simplicidad nos ceñiremos al caso de modelos monovariables.

141
142 EL MÉTODO DE LOS MÍNIMOS CUADRADOS

donde el vector
£ ¤
m(k) = −y(k − 1) · · · −y(k − n) u(k − 1) · · · u(k − n) (9.3)

es llamado regresor y £ ¤T
θ= a1 · · · an b1 · · · bn
es el vector de parámetros. Dado un valor del vector de parámetros θ̂, el error de
predicción para el instante k será

e(k, θ̂) = y(k) − ŷ(k) = y(k) − m(k)θ̂

Nótese que conocido el valor de los valores presentes y pasados de la salida y la entrada,
la expresión (9.2) es una ecuación en las que las 2n incognitas son los parámetros que
forman θ. Si el proceso a identificar correspondiese exactamente con un modelo como
(9.1) se podrı́a determinar el valor del vector de parámetros a partir de 2n medidas u
observaciones de la salida para una serie de entradas conocidas. Es decir, se formarı́a
un sistema de 2n ecuaciones con el que se podrı́a determinar el valor ((real)) de θ.

El método de los mı́nimos cuadrados parte de N pares (y(k), m(k)) donde N es


generalmente mucho mayor de 2n (este serı́a el conjunto de estimación) y permite
ajustar un modelo del tipo (9.1). En el supuesto poco realista de que el proceso coincida
con un modelo como el que se intenta ajustar, se tendrı́a un sistema de ecuaciones
sobredeterminado compatible, de manera que tendrı́a solución y el error de predicción
alcanzado serı́a cero para todas las medidas del conjunto de estimación. Sin embargo,
en la práctica el proceso no se puede describir a la perfección mediante un modelo lineal
del tipo (9.1) por lo que el sistema de ecuaciones no tiene solución en el sentido de que
no existe un valor del vector de parámetros que haga que el error de predicción sea cero
para todas las medidas del conjunto de estimación. Es decir, el sistema de ecuaciones
es incompatible. Sin embargo si se puede encontrar un valor del vector de parámetros
que haga mı́nimo el error de predicción, de manera más precisa que haga mı́nima la
suma de los cuadrados de los errores de predicción del conjunto de estimación. Esta es
precisamente la estrategia del método 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
£ ¤T
E(N, θ) = e(n, θ) · · · e(N, θ)
£ ¤T
Y (N ) = y(n) · · · y(N )
2
En un contexto matemático se dirı́a que el vector de parámetros que se calcula es la pseudosolución
en el sentido de los mı́nimos cuadrados de un sistema sobredeterminado incompatible.
CAPÍTULO 9. IDENTIFICACIÓN POR MÍNIMOS CUADRADOS 143

y la matriz M (N ) está formada por los regresores correspondientes, es decir


 
m(n)
 .. 
M (N ) =  . 
m(N )

Se define el ı́ndice de bondad de ajuste como


N
X
J(θ) = kE(N, θ)k2 = e2 (k, θ)
k=n

Este ı́ndice lo podemos reescribir como

J(θ) = (Y (N ) − M (N )θ)T (Y (N ) − M (N )θ)

El mı́nimo valor de J(θ) se dará en el valor del vector de parámetros que cumpla que

dJ(θ)
=0

es decir,
2(M (N )θ − Y (N ))T M (N ) = 0
de donde se obtiene que el valor del vector de parámetros que hace mı́nimo el ı́ndice
de bondad de ajuste es

θ∗ = [M T (N )M (N )]−1 M T (N )Y (N ) (9.4)

y ese es por tanto el valor del vector de parámetros del modelo identificado.

Nótese que para que el problema de identificación tenga solución la matriz [M T (N )M (N )]


tiene que ser invertible al igual que M (N ). Sin entrar en demasiados detalles, tal condi-
ción se verifica cuando la entrada cumple las condiciones de excitación persistente del
sistema. Se deberá acudir por tanto a señales de entrada parecidas al ruido blanco (ver
tema 8).

9.2. Algoritmo recursivo para identificación en lin-


ea

La expresión (9.4) implica la inversión de una matriz que puede tener unas dimen-
siones apreciables, tanto más si se tiene en cuenta que para identificar correctamente
144 ALGORITMO RECURSIVO PARA IDENTIFICACIÓN EN LINEA

un sistema se deben tener suficientes medidas para eliminar el efecto de ruidos y per-
turbaciones ajenas a la dinámica del sistema. Intentar efectuar estos cálculos en linea
es bastante ambicioso para el hardware de control habitual3 . Por tanto este algoritmo
se destina a la identificación fuera de linea. En linea se emplea otro procedimiento que
se muestra a continuación.

La estimación para el instante k usando las medidas obtenidas desde el instante n


vendrá dada por

θ̂(k) = [M T (k)M (k)]−1 M T (k)Y (k)


= P (k)M T (k)Y (k) (9.5)
= P (k)(M T (k − 1)Y (k − 1) + mT (k)y(k))

donde " k #−1


X
P (k) = [M T (k)M (k)]−1 = mT (i)m(i)
i=n

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

M T (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)) (9.6)
= θ̂(k − 1) + K(k)(y(k) − m(k)θ̂(k − 1))

donde K(k) = P (k)mT (k). Por tanto θ̂(k) se puede expresar en forma recursiva, es
decir en función del valor del estimador en el instante anterior más un término corrector
que consiste en el error de predicción en el instante actual cometido por el estimador
calculado en el instante anterior multiplicado por una ganancia de adaptación K(k).
Esta formula da lugar al llamado algoritmo de minimos cuadrados recursivos, que
consiste en

1. Dar valores iniciales a la matriz P y al vector de parámetros θ.


3
Téngase en cuenta que el hardware industrial no se renueva tan rápidamente como el usado
en informática personal y que además tampoco se incorporan las últimas tecnologias con la misma
rapidez.
CAPÍTULO 9. IDENTIFICACIÓN POR MÍNIMOS CUADRADOS 145

2. En cada instante k

a) Leer los valores de y(k) y u(k).


b) Formar el vector regresor m(k) según la expresión (9.3).
c) Calcular P (k) mediante

P (k − 1)mT (k)m(k)P (k − 1)
P (k) = P (k − 1) −
1 + m(k)P (k − 1)mT (k)

d ) Calcular K(k) segun la expresión

K(k) = P (k)mT (k)

e) Calcular θ(k):

θ̂(k) = θ̂(k − 1) + K(k)[y(k) − m(k)θ̂(k − 1)]

Este algoritmo puede intepretarse gráficamente como se ilustra en la figura 9.1.

u(k) y(k)
PLANTA

+
e(k)
FORMAR Σ
REGRESOR
- ŷ(k)

ALGORITMO ŷ(k +1)


Z-1
RECURSIVO

K(k) θ (k) P(k)

Figura 9.1: Diagrama de flujo del proceso de identificación mediante mı́nimos cuadrados recursivos.

9.3. Interpretación estadı́stica

En esta sección se presentan las propiedades estadı́sticas del estimador obtenido


por el método de mı́nimos cuadrados en función de las caracterı́sticas del proceso que
se trata de identificar.
146 INTERPRETACIÓN ESTADÍSTICA

Supongase que el proceso que se pretende modelar responde bien a un modelo


ARMAX o bien a un modelo ARX-LS (vease la sección 7.4). Considerese que la variable
aleatoria v(k) corresponde a un ruido blanco. La diferencia entre estos dos tipos de
modelos es el grado del polinomio coloreador del ruido C(z −1 ) que denotaremos por
cn . En el ARMAX cn > 0 por lo que la variable aleatoria v(k) y sus valores pasados
hasta el instante k − cn afectan al valor de la salida en k. En el caso del ARX − LS el
grado de C(z −1 ) es cero, por lo que la salida en k viene afectada por el valor de la señal
de ruido en el instante k exclusivamente. Esto implica que en el caso del ARMAX la
salida depende de los valores pasados de v(k) mientras que en el caso del ARX-LS esta
dependencia es exclusivamente con el valor actual de v(k).

Un hecho a tener en cuenta es que al ser v(k) una variable aleatoria, y(k) es a su
vez una variable aleatoria al ser el ruido aditivo. Esto implica a su vez que el valor
del vector de parametros estimado θ̂ tambien es una variable aleatoria que se puede
estudiar desde un punto de vista estadı́stico. Por responder el proceso exactamente a
uno de los dos tipos de modelos considerados existe un valor del vector de parámetros
θ∗ que consideraremos como verdadero. Es decir

y(k) = mT (k)θ∗ + C(z −1 )v(k)

Resulta muy interesante saber si al aplicar el método de los mı́nimos cuadrados, el


vector de parámetros estimados θ̂(k) coincide con θ∗ . Dado que θ̂(k) es una variable
aleatoria estudiaremos su valor esperado, es decir su esperanza matemática. Se define
el sesgo de la estimación como
n o
θ̃ = E θ̂(k) − θ∗

es decir como la diferencia entre el valor esperado de θ̂(k) y el valor ((verdadero)) θ∗ . Se


comprueba que © ª
θ̃ = E [M T (k)M (k)]−1 M T (k)V (k) (9.7)
donde V (K) es una matriz donde la fila correspondiente al instante k está formada por
los valores v(k),· · ·,v(k − cn ). Nótese además que la fila de M (k) correspondiente al
instante k contiene los valores de la salida y de la entrada en los instantes k −1,· · ·,k −n
pero no los del instante k (ver expresión (9.3)).

Considerese el caso del modelo ARMAX. Claramente existe relación entre los com-
ponentes de la matriz M (k) y V (k). En efecto, la matriz de regresores está formada por
valores de la salida y la entrada. Los primeros dependen de los valores de la señal de
ruido y los segundos son deterministas, por lo que existe una correlación entre la matriz
M (k) y V (K). Por lo tanto tambien existe esa correlación entre [M T (k)M (k)]−1 M T (k)
y V (k). Eso implica que según la expresión (9.7) θ̃ es distinto de cero. Por tanto no
está garantizada la convergencia del vector de parámetros estimados con el ((real)).
CAPÍTULO 9. IDENTIFICACIÓN POR MÍNIMOS CUADRADOS 147

La situación es diferente con el modelo ARX-LS. En este caso los valores de M (k)
no pueden estar relacionados con V (k) (que, al ser cn = 0, solo está formada por los
valores presentes de v(k) para cada instante k). Por tanto, el estimador por mı́nimos
cuadrados es insesgado, es decir θ̃ = 0 y por tanto el valor esperado del estimador
coincide con el valor real del vector de parámetros, es decir
n o
E θ̂(k) = θ∗

Por otra parte, el hecho que de que el proceso responda a uno u otro tipo de
modelo tiene una interpretación fı́sica inmediata. En el caso del proceso ARMAX el
ruido presenta una cierta dinámica , mientras que en el caso del ARX-LS el ruido no
presenta dinámica alguna y responde únicamente a un ruido proveniente del sensor
de medida. Es en este último caso cuando el método 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 pequeña o por lo menos que disminuya conforme
se acumulan medidas disponibles para usarlas en la estimación. De esa manera, el vec-
tor de parámetros estimados estará con seguridad cerca del vector real. La varianza del
estimador se puede calcular como
n o
varianza(θ̂(k)) = E (θ̂(k) − θ∗ )T (θ̂(k) − θ∗ )
= σ 2 P (k)

donde σ = E{v(i)v(j)} para i = j. Nótese que para que la varianza sea pequeña
interesa que P (k) sea ((pequeña)) o que al menos decrezca a medida de que k aumenta.
Una medida del tamaño de P (k) es su traza, por lo que se usa como una medida de la
exactitud de la estimación, de manera que se busca que la traza vaya decreciendo.

Esta interpretación estadistica del tamaño de P (k) tambien proporciona una regla
para dar un valor inicial a la matriz P (k). En efecto, en general no se tendrá demasiada
confianza en que el valor inicial del vector de parámetros estimados, por lo que se
escogerá una matriz P (0) ((grande)) para reflejar esa desconfianza, por ejemplo P (0) =
pI donde p es un número muy alto (por ejemplo 10000). Este número será mas pequeño
si se sabe que el valor inicial del vector de parámetros está cerca de θ∗ .

Por otra parte, es evidente que a medida que el numero de observaciones N crece
la suma
XN
mT (k)m(k)
k=n
148 MÍNIMOS CUADRADOS PONDERADOS

crece. Recuerdese que, segun se definió en la sección 9.2


à k !−1
X
P (k) = mT (i)m(i)
i=n

lo que implica que a medida que N crece P decrece. Se puede demostrar que si el
tamaño del regresor no cambia demasiado P decrece como N1 . Esto quiere decir que la
incertidumbre en la estimación decrece, es decir, que cada vez se obtiene un estimador
más cercano al valor real. Además la ganacia de adaptación K(k) tambien decrece
(vease su definición en la sección 9.2) lo cual es congruente con el hecho de que cuanto
más exacta es la estimación menos corrección de su valor se necesita. Esto es bueno
si la dinámica del proceso no cambia con el tiempo, pero si esto no es ası́ habrá que
modificar este esquema.

9.4. Mı́nimos cuadrados ponderados

A veces es conveniente dar más peso a algunas medidas que a otras en la esti-
mación. Por ejemplo si se identifica un proceso cuya dinámica cambia con el tiempo
interesará dar mas peso a las medidas más recientes, pues estas serán las que reflejen la
dinámica más actualizada. Para conseguir esto hay que modificar el ı́ndice de bondad
de ajuste, de manera que se use
N
X
T 2
J(θ) = E(N, θ) W (N )E(N, θ)k = w(k)e2 (k, θ)
k=n

siendo W (N ) la matriz diagonal de pesos


 
w(n)
 ... 
W (N ) =  
w(N )

La solución del problema de ajuste es en este caso

θ∗ = [M T (N )W (N )M (N )]−1 M T (N )W (N )Y (N ) (9.8)

El esquema de ponderación más habitual es el llamado olvido exponencial . En este


caso
w(k) = λN −K
CAPÍTULO 9. IDENTIFICACIÓN POR MÍNIMOS CUADRADOS 149

, donde λ ∈ (0, 1) es el llamado factor de olvido. Es fácil entender por que se le llama
olvido exponencial: el peso dado a la medida disminuye exponencialmente cuanto más
antigua sea. De esta manera las medidas muy antiguas se olvidan, pues su peso es tan
pequeño que es como si no se contribuyesen a la estimación. Habitualmente se usa
λ ∈ [0,98, 1). Por ejemplo, si λ = 0,99 el estimador tendrı́a una ((memoria)) de unas 100
muestras. En aquellos casos que la dinámica del proceso cambie muy rápidamente se
puede optar por valores más bajos (por ejemplo, λ = 0,95).

En el caso de la técnica de olvido la formulación recursiva puede aplicarse modifi-


cando las expresiones para el calculo de P (k) de manera que:

P (k − 1) P (k − 1)mT (k)m(k)P (k − 1)
P (k) = −
λ λ + m(k)P (k − 1)mT (k)

Puede observarse que, dado que K(k) = P (k)mT (k), la ganancia de adaptación K(k)
depende de λ y a menor λ mayor ganancia de adaptación. Esto quiere decir que a menor
λ mejor se adaptará la identificación a una dinámica cambiante, ya que se considerarı́a
en la optimización solo la información más reciente.

Sin embargo si en el sistema o en las medidas hay mucho ruido, es conveniente


que la dinámica se identifique sobre un conjunto amplio de medidas ya que si no se
identificarı́a el ruido más que la dinámica del proceso. Por tanto en estos casos conviene
que λ no sea muy pequeño. Por tanto hay que llegar a un compromiso entre la capacidad
de seguir una dinámica cambiante y el rechazo del ruido en la identificación.

9.5. Mı́nimos cuadrados extendidos y generalizados

Según se explicó en la sección 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 práctica, si la relación señal-ruido es baja el proceso ha de
modelarse con un modelo de perturbaciones más complejo que el del ARX-LS ya que
la señal de ruido y su influencia sobre la dinámica son importantes. En estos casos se
debe recurrir a un modelo ARMAX.

El método de los mı́nimos cuadrados extendidos trata de resolver el problema del


sesgo en la estimación de modelos ARMAX. La solución es incluir los coeficientes del
polinomio C(z −1 ) en el vector de parámetros del estimador, es decir
£ ¤T
θ= a1 · · · an b1 · · · bn c1 · · · cn
150 ESTIMACIÓN DE LOS VALORES DE CONTINUA

Sin embargo, los valores pasados de la señal de ruido v(k) no son medibles, por lo que
no se pueden incluir en el regresor. Lo que se hace es aproximarlos por los errores de
predicción, es decir
e(k) = y(k) − m(k)θ̂(k − 1)
Si el proceso coincidiera exactamente con el modelo para algun valor del vector de
parámetros, entonces si los parametros evolucionasen en la dirección correcta la aprox-
imación de los valores de los ruidos por los errores cada vez serı́a más correcta y
eventualmente se iguaları́an, es decir v(k) = e(k). El regresor se formará 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 método 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 parámetros ci
debido a que la señal de ruido no es la más preponderante.

Finalmente, existe otra variante de los mı́nimos cuadrados que son los mı́nimos
cuadrados generalizados. Sin entrar en demasiados detalles, esta formulación se usa
cuando se tiene algún 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 vv T

es distinta de la matriz identidad se obtienen mejores resultados si el criterio que se


utiliza es X
J(θ) = eT (k, θ)N −1 e(k, θ)

9.6. Estimación de los valores de continua

Una de las condiciones necesarias para asegurar la convergencia que se mencionaron


en el tema 8 era que es necesario conocer los valores de continua de la señal y eliminarlos
de las medidas usadas en la identificación. Es decir para identificar un proceso hay que
utilizar señales sin componente continua:

u(k) = U (k) − U∞ y(k) = Y (k) − Y∞

donde U (k) e Y (k) son los valores reales de la salida y la entrada y U∞ e Y∞ son
los valores de continua de ambas señales. Para estimar dichos valores existen diversas
opciones.
CAPÍTULO 9. IDENTIFICACIÓN POR MÍNIMOS CUADRADOS 151

9.6.1. Utilización de los incrementos de las variables

En este caso se toman los incrementos de las señales, es decir

uID (k) = u(k) − u(k − 1) = (U (k) − U∞ ) − (U (k − 1) − U∞ ) = U (k) − U (k − 1)

donde la señal uID (k) es la señal de entrada que se utiliza en la identificación. Como
se puede observar, al usarse el incremento, se resta de manera implicita la componente
continua. Lo mismo se hace con la salida

yID (k) = y(k) − y(k − 1) = (Y (k) − Y∞ ) − (Y (k − 1) − Y∞ ) = Y (k) − Y (k − 1)

Evidentemente, lo que se obtiene al identificar es un modelo incremental, es decir


formulado en incrementos de y(k) y u(k) y este incremento se tendrá que deshacer si
lo que se quiere son los valores no incrementales de dichas señales.

9.6.2. Cálculo de los valores medios

La idea es aproximar los valores de continua por los valores medios de las señales.
En el caso de la formulación fuera de linea estos valores medios se calculan mediante
las expresiones tradicionales, es decir
N N
1 X 1 X
U∞ = u(i) Y∞ = y(i)
N i=1 N i=1

para la identificación en linea, es decir mediante algoritmos recursivos, se emplean las


siguientes expresiones
1
U∞ (k) = U∞ (k − 1) + (U (k) − U∞ (k − 1))
k
1
Y∞ (k) = Y∞ (k − 1) + (Y (k) − Y∞ (k − 1))
k

9.6.3. Estimación de una constante

La idea en este caso es que el modelo que se pretende identificar puede reescribirse
como
Y (k) − Y∞ = −a1 (Y (k − 1) − Y∞ ) − a2 (Y (k − 1) − Y∞ ) − · · · − an (Y (k − n) − Y∞ )
+b1 (U (k − d − 1) − U∞ ) + · · · + bn (U (k − d − n) − U∞ )
152 IMPORTANCIA DEL ORDEN DEL MODELO

lo cual a su vez se puede poner como

Y (k) = −a1 Y (k − 1) − · · · − an Y (k − n)
+b1 U (k − d − 1) + · · · + bn U (k − d − n) + K

siendo K una constante que vale

K = (1 + a1 + · · · + an )Y∞ − (b1 + · · · + bn )U∞ (9.9)

Para estimar la componente continua se modifica el algoritmo de manera que en el


vector de parámetros se incluye K
£ ¤T
θ = a 1 · · · a n b1 · · · bn K

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 expresión (9.9).

9.7. Importancia del orden del modelo

El orden del sistema a identificar es algo que debe ser conocido para asegurar la
convergencia e identificabilidad (ver tema 8). En la práctica esto no es sencillo, y se
debe recurrir a probar con varios modelos de ordenes y estructuras distintas a ver cual
resulta mejor. Esto quiere decir que se pueden dar situaciones de mala estimación del
orden del modelo por defecto (incurriendose en lo que se llama infraparametrización)
o por exceso (sobreparametrización).

Veamos que ocurre cuando se intenta aproximar un sistema por un modelo de


orden inferior. Si esto sucede se llega a una situación en la que el modelo solo puede
aproximar al sistema real en una banda de frecuencia relativamente estrecha. Si durante
el transcurso del proceso de identificación la señal de entrada cambia su contenido
frecuencial, el modelo estimado (es decir su vector de parámetros) evoluciona hasta
aproximar al sistema en torno a la nueva banda de frecuencias. Todo esto implica que
se obtendrá un modelo distinto dependiendo de la señal 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
CAPÍTULO 9. IDENTIFICACIÓN POR MÍNIMOS CUADRADOS 153

20

10

0
amplitud dB

−10

−20

−30

−40
−1 0 1
10 10 10

−50
desfase (grados)

−100

−150

−200

−250
−1 0 1
10 10 10
frecuencia rad/s

Figura 9.2: Diagrama de Bode de un sistema de segundo orden (linea continua) y de un modelo de
primer orden estimado para una entrada senoidal de frecuencia ω = 0,2 rad × s−1 .

20

10

0
amplitud dB

−10

−20

−30

−40
−1 0 1
10 10 10

−50
desfase (grados)

−100

−150

−200

−250
−1 0 1
10 10 10
frecuencia rad/s

Figura 9.3: Misma situación que en la figura 9.2 pero con una señal de entrada senoidal de frecuencia
ω = 1 rad × s−1 .
154 IMPORTANCIA DEL ORDEN DEL MODELO

el modelo obtenido no es sino una aproximación del sistema original en el entorno de


la frecuencia de la entrada. Esto ocasiona por tanto que ambos modelos sean distintos.

A la vista de lo que ocurre cuando existe infraparametrización, parecerı́a lógico que


resulte mejor sobreestimar el orden del modelo para evitar el continuo cambio de los
parámetros del modelo estimado. Sin embargo esto no es una buena idea, pues puede
ocurrir que haya parámetros del modelo estimado que puedan tomar cualquier valor sin
que cambie la relación que liga las entradas del modelo con las salidas. Esto se manifiesta
en que algunos parámetros experimentan una deriva tomando valores arbitrarios muy
altos o muy bajos. Esto ocasionarı́a problemas numéricos. Esta situación se ilustra
en la figura 9.4. En ella se muestra la evolución de los parámetros de un modelo de
cuarto orden identificado sobre el sistema de segundo orden utilizado en las figuras 9.2
y 9.3. Puede observarse que algunos de los ocho parámetros identificados convergen y
permanecen estables a lo largo del proceso de identificacion. Sin embargo otros no solo
no convergen sino que derivan hacia valores muy altos o muy bajos.
1.5

0.5
uey

−0.5

−1

−1.5
0 5 10 15 20 25 30 35 40

1.5

0.5
ai, bi estimados

−0.5

−1

−1.5

−2
0 5 10 15 20 25 30 35 40
tiempo (s)

Figura 9.4: Evolución de los parámetros identificados en un caso de sobreparametrización.

Matemáticamente el exceso de parámetros conduce a una situación en la que más


de una combinación de los valores del vector de parámetros producen la misma relación
entre la entrada y la salida. Por tanto la sobreparametrización se manifiesta también si
se traza la gráfica de un parámetro del modelo frente a otros por que aparecen relaciones
lineales. Esta situación se ilustra en la figura 9.5. En ella se muestran dos ejemplos en
los que se presentan los valores de un parámetro en función del otro a medida que
el proceso de identificación avanza. Puede observarse que existe un marcado patron
lineal, que indica una dependencia lineal entre ambos parámetros.
CAPÍTULO 9. IDENTIFICACIÓN POR MÍNIMOS CUADRADOS 155

0.025

0.02 k=30
k=100
0.015

b3
0.01

0.005

−0.005
−2 −1.8
k=180 −1.6 −1.4 −1.2 −1 −0.8 −0.6
a1

1.5

1
a2

0.5 k=180
k=100

k=30
−0.5
−2 −1.8 −1.6 −1.4 −1.2 −1 −0.8 −0.6
a1

Figura 9.5: Evolución de unos parámetros frente a otros para el modelo sobreparametrizado.

9.8. Identificación de sistemas con retardo o no li-


neales

El método de los mı́nimos cuadrados puede aplicarse a procesos con retardo, siempre
que se tengan en cuenta algunas cuestiones. El modelo determinista de un sistema con
retardo puro de d periodos de muestreo se puede poner como

A(z −1 )y(k) = B(z −1 )u(k − d − 1)

Eso quiere decir que el regresor en el instante k debe contener valores pasados de la
entrada desde k − d − 1 a k − d − n donde n es el grado del polinomio B(z −1 ). Por
tanto el regresor queda
£ ¤
m(k) = −y(k − 1) · · · −y(k − n) u(k − d − 1) · · · u(k − d − n)

Con esta modificación 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 método 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 manifestarán como mucho en el siguiente periodo de muestreo). Este
sencillo esquema se puede complicar por ejemplo si el retardo es variable. Esto es más
común de lo que se cree, pues el retardo ası́ como el resto de parámetros 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 métodos de identificación propuestos puedan seguir cambios
156 CONSIDERACIONES FINALES

en los parametros del modelo (se adaptan a esos cambios) no recogen la posibilidad
de un retardo variable (existen remedios a este problema, pero no se tratarán aquı́).
Otro problema que puede suceder es que el retardo no sea multiplo exacto del tiempo
de muestreo. Aunque existen formas para describir retardos no enteros (por ejemplo,
el uso de una expansión de Padé) es mas sencillo y menos problemático emplear si es
posible otro tiempo de muestreo para hacer que el retardo sea entero.

Finalmente se comentó al principio del tema que el método de mı́nimos cuadrados


tambien permite la identificación de sistemas no lineales con la limitación de que el
modelo a identificar sea lineal en los parámetros. De este modo, si el sistema se pretende
identificar con un modelo que por ejemplo podrı́a ser

y(k) + ay(k − 1) = bu2 (k − 1)

el regresor y el vector de parámetros serı́an


£ ¤ £ ¤T
m(k) = −y(k − 1) u2 (k − 1) y θ(k) = a b

respectivamente.

9.9. Consideraciones finales

En esta sección se enunciarán algunas cuestiones prácticas a tener en cuenta cuando


se implementa alguno de los algoritmos presentados en este tema. En primer lugar si
no se emplea la técnica de factor de olvido, la ganancia de adaptación K(k) decrece
hasta hacerse casi cero, por lo que cuando eso ocurre ya no se pueden seguir cambios
posteriores de la dinámica. Por tanto para identificar sistemas cuya dinámica varı́a
lentamente se ha de emplear mı́nimos cuadrados ponderados. Por otra parte, existen
situaciones en las que la matriz de covarianzas P puede crecer demasiado, por lo que
el identificador se harı́a muy sensible a cualquier pequeño cambio de la dinámica o al
ruido. Esto ocurre por ejemplo cuando el punto de funcionamiento no varı́a. Lo que se
puede hacer en este caso es utilizar un factor de olvido variable, de manera que si la
traza de P crece demasiado se toma λ = 1. Si la traza de P baja mucho se va bajando
λ, pero sin sobrepasar un cierto lı́mite que evita que el proceso de identificación se haga
demasiado sensible al ruido.

Otro aspecto es la elección del valor inicial de P . Se ha comentado que en el caso de


que no se tenga mucha confianza en el valor del vector de parámetros inicial, se propone
elegir P como una matriz diagonal pI siendo p un número arbitrariamente alto. Por
CAPÍTULO 9. IDENTIFICACIÓN POR MÍNIMOS CUADRADOS 157

otra parte si antes de comenzar la identificación ya se dispone de 2n observaciones,


donde 2n es el número de parámetros a estimar, es posible tomar como valor inicial
¡ ¢−1
P (0) = M T (2n)M (2n)

y como valor inicial del vector de parámetros se puede usar θ = P (0)M (2n)Y (2n).
158 CONSIDERACIONES FINALES
Capı́tulo 10

Control de sistemas con grandes


retrasos

10.1. Sistemas con retraso

Los tiempos muertos o retrasos puros están presentes en muchos sistemas dinámicos
y especialmente en la industria de procesos. Los retrasos pueden deberse al tiempo que
tarda en circular un fluido o material de un punto a otro (retraso ((distancia-velocidad)),
o deberse por ejemplo al tiempo de mezcla imperfecta de un equipo tipo tanque agitado
o quizás al tiempo de medida de los sensores que miden las variables a controlar. En
la figura 10.1 se muestra un ejemplo tı́pico. La variable a controlar en este caso es
la temperatura a la salida de un intercambiador de calor al que se suministra calor
controlado mediante la apertura de la válvula de entrada de un quemador de gas.
El retardo viene provocado en este caso por el hecho de que el termopar de medida
está situado a una distancia apreciable de la salida del intercambiador (se supone que
la tuberı́a no tiene pérdidas, por lo que la temperatura medida coincide con la de la
salida). Intuitivamente se ve que el retraso en este caso será
distancia al sensor
retraso = .
velocidad de transporte del fluido

De una manera un poco más formal, el retraso en un sistema dinámico se puede


definir de la siguiente manera:

Definición 10.1 El retardo de un sistema dinámico se define como el tiempo que

159
160 SISTEMAS CON RETRASO

TT

Figura 10.1: Ejemplo de sistema con retraso.

transcurre entre el momento en el que se produce un cambio en una variable de entrada


y el momento en el que se observa una variación en la salida imputable a la variación
en la entrada.

La presencia de retrasos en un sistema dinámico o proceso incrementa notablemente la


dificultad de obtener un buen control. El motivo de esto es, como se verá más adelante,
que el retraso introduce una gran cantidad de retardo de fase en el sistema, incluso
a bajas frecuencia. La postura más sencilla ante este problema es la de ignorar los
efectos del retraso e intentar encontrar el mejor control posible con un lazo sencillo
de realimentación. Esta es la postura que se adopta en cursos básicos de control. Esta
estrategia puede funcionar razonablemente bien cuando el retraso es pequeño en com-
paración con la dinámica del sistema. Sin embargo, cuando los retrasos son apreciables
o incluso dominantes, esta estrategia difı́cilmente llevará a un comportamiento acept-
able. La solución es la de emplear estructuras de control avanzadas como las que se
presentan en este capı́tulo. Estas estructuras deben tener un caracter eminentemente
predictivo o anticipativo para poder contrarrestar el retardo puro. La bondad de estos
métodos predictivos depende en gran medida de la exactitud del modelo del sistema
que se utilice. Los errores de modelado, especialmente los cometidos en la estimación
del retraso afectarán a la calidad del control. Dado que estas estructuras son más com-
plejas, se aconseja su uso cuando la relación entre el retraso y la dinámica más lenta
del sistema sea superior a 2.
CAPÍTULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 161

r(t) y(t)
+
C(s) G(s)e -t
ms
-

Figura 10.2: Sistema de control realimentado para un proceso con retraso tm .

10.1.1. Representación matemática del retraso

Comenzaremos por indicar cual es la representación matemática que tiene un de-


terminado tiempo muerto tm en el dominio s, es decir en tiempo continuo1 . Supóngase
que una determinada función 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
calculará como:
Z∞
Gp (s) = g(t − tm )e−st dt
0

Haciendo un cambio de variable t − tm = t0 se tiene que:


Z∞ Z∞
0 −s(t0 +tm ) 0 −stm 0
Gp (s) = g(t )e dt = e g(t0 )e−st dt0
0 0

es decir
Gp (s) = e−stm G(S). (10.1)
Por tanto, el retraso tm se representa por un término e−stm que multiplica a la transfor-
mada de Laplace de gp (t). La figura 10.2 muestra la configuración de un lazo de control
realimentado para un proceso con retraso tm y cuya función de transferencia excluido
el retraso es G(s).

Lo anterior se refiere a tiempo continuo. Para sistemas descritos en tiempo discreto,


el retraso se mide en periodos de muestreo, es decir un determinado sistema tendrá un
retraso de d periodos de muestreo2 . En este caso el retraso se representa por un término
de la forma z −d , de manera que la función de transferencia se representarı́a por

Gp (z −1 ) = z −d G(z −1 ).
1
Todas las estructuras presentadas en este capı́tulo están inicialmente formuladas para sistemas en
tiempo continuo, pero son fácilmente extensibles al caso discreto e implementables en un computador.
En el capı́tulo se indicarán las diferencias entre ambos casos.
2
En caso de que el número de que el retraso sea un número no múltiplo del periodo de muestreo
se recomienda cambiar dicho periodo de muestreo para que el retraso sea o bien un múltiplo exacto o
bien la parte fraccionaria sea muy pequeña y se pueda despreciar.
162 SISTEMAS CON RETRASO

−t s
Diagrama de Bode para e m

0.5

0
Phase (deg); Magnitude (dB)

−0.5

−1
4
x 10
0
tm=1

−0.5 tm=2
To: Y(1)

−1

−1.5 tm=3

−2 −1 0 1 2
10 10 10 10
Frequency (rad/sec)

Figura 10.3: Diagrama de Bode para distintos valores de un retraso puro e−tm s .

10.1.2. Problemática del control de sistemas con retraso

Como se ha comentado anteriormente, la presencia de un gran retraso en un sistema


hace difı́cil su control. En esta sección justificaremos este problema. Se comenzará anal-
izando el efecto de sobre la magnitud y fase del sistema. Para un retraso tm , el término
e−stm que multiplica a G(s) en la expresión (10.1) es un número complejo igual a e−tm ωj
cuyo módulo es siempre 1 independientemente del valor de la frecuencia ω y cuya fase
será −tm ω. Es decir, siempre se introducirá un desfase adicional en el sistema, desfase
que será mayor a mayor frecuencia ω. El retraso sin embargo tiene ganancia 1 y por
tanto no produce amplificación o atenuación alguna en la salida del sistema (lo que por
otra parte se ve intuitivamente ya que el retraso no modifica los valores de la salida
sino su aparición 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 será menor que para el mismo sis-
tema sin retraso. Esto puede llevar incluso a la pérdida de estabilidad en bucle cerrado
del sistema.

Para ilustrar mejor los efectos del retraso sobre un sistema considérese la función
CAPÍTULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 163

Diagramas de Bode para distintos valores de tm

20

10
Phase (deg); Magnitude (dB)

−10

0
tm=0

−90
tm=0.01
To: Y(1)

tm=0.1
−180
tm=1

−270 −2 −1 0 1
10 10 10 10
Frequency (rad/sec)

Figura 10.4: Diagrama de Bode para distintos valores de un retraso puro tm s para el sistema
10
C(s)G(s)e−tm s con C(s) = 1 y G(s) = 1+s .

10
de transferencia G(s) = 1+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 último caso, el
sistema serı́a inestable en bucle cerrado para ese controlador C(s).

De la figura 10.4 puede ası́ mismo deducirse que disminuyendo K, se conseguirá que
la gráfica de magnitud del diagrama de Bode baje, de manera que el corte con cero
decibelios se produzca en una frecuencia menor, por lo que el desfase será menor y
eventualmente el margen de fase será positivo. Esta situación puede observarse en la
figura 10.5 donde para K = 0,2 se observa un margen de fase positivo para todos los
valores de tm considerados.

La observación anterior se puede generalizar de manera que cuando el tiempo muerto


sea elevado en relación a la dinámica del sistema, se obtendrá un mejor control desin-
tonizando el controlador. Esto se puede conseguir por ejemplo bajando la ganancia de
realimentación o en el caso de un controlador con acción integral usando un tiempo
integral alto. El control mejorará en cuanto a estabilidad de bucle cerrado, pero a costa
de obtener una respuesta muy lenta y una escasa capacidad para rechazar perturba-
164 SISTEMAS CON RETRASO

Diagramas de Bode para distintos valores de tm

10

0
Phase (deg); Magnitude (dB)

−5

−10

−15

tm=0

−90 tm=0.01
To: Y(1)

tm=0.1
tm=1

−180

−270 −1 0 1
10 10 10
Frequency (rad/sec)

Figura 10.5: Diagrama de Bode para distintos valores de tm s para el sistema de la figura 10.4 con
C(s) = 0,2.
CAPÍTULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 165

r(t) y(t)
+
C(s) G(s) em
-t s

m
y(t+t )

Figura 10.6: Sistema de control realimentado para un proceso con retraso donde el sensor se ha
dispuesto antes del retardo.

ciones. En cuanto a la acción derivativa de los controladores PID, no afecta de manera


significativamente favorable.

Finalmente se concluye este breve análisis sobre los efectos de los retrasos haciendo
notar en el siguiente comentario que el retraso no puede ser evitado de ninguna manera.

Comentario 10.1 Dado un sistema con un retraso tm , los cambios en la variable


manipulada no se manifestarán en la variable controlada hasta ese tiempo tm . Esta
situación no puede alterarse con estrategia de control alguna. Es decir el retraso que
presente un sistema no puede ser eliminado del sistema en bucle cerrado. Lo que si se
puede conseguir mediante una estrategia de control avanzada es mejorar la respuesta
del sistema tras el retraso.

10.2. El Predictor de Smith

El Predictor de Smith es el más popular de los algoritmos de control para compen-


sación de retardos. Aunque desarrollado para sistemas continuos en la década de 1950,
su implementación con circuitos analógicos es muy complicada y su para su aplicación
es más apropiado el control por computador.

La idea fundamental de la que se parte es la de cambiar la disposición del sensor que


mide la variable controlada, situándolo antes del retraso puro (véase la figura 10.6. De
esta manera se está controlando el sistema sin retraso, es decir, se ha sacado el retraso
del bucle de control. La función de transferencia de bucle cerrado será por tanto:

C(s)G(s) −tm s
GBC (s) = e (10.2)
1 + C(s)G(s)

Es decir la salida del sistema en bucle cerrado será la salida del sistema sin retraso en
bucle cerrado retrasada un tiempo tm .
166 EL PREDICTOR DE SMITH

C(s) G(s)e
r(t) y(t)
+
ms
-t

G (s)
m

Figura 10.7: Sistema de control en donde se realimenta la predicción de la salida mediante un modelo
en bucle abierto.

Comentario 10.2 En el caso de poder disponer el sensor antes del retraso, al sacar
el retraso del sistema, se disminuye de manera drástica el retraso de fase, aumentando
el margen de fase, permitiendo una sintonización más apropiada del controlador y
obteniéndose por tanto una mejor respuesta y rechazo de perturbaciones. Esto serı́a,
por tanto, la solución ideal al problema de control de sistemas con retraso.

Desgraciadamente en muchos casos no será posible colocar el sensor antes del re-
traso. Por ejemplo cuando el retraso esté asociado al propio sensor (caso de un cro-
matógrafo). También cuando el proceso sea de parámetros 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 ejecución tm .

Cuando la salida sin retraso, es decir y(t+tm )3 , no se puede medir, se puede recurrir
a estimar su valor, o de manera más precisa a predecir su valor en t + tm . Para ello se
puede usar un modelo suficientemente exacto de G(s) que denotaremos por Gm (s). Este
es por tanto un modelo del proceso sin retraso, que podemos llamar ((modelo rápido))
del proceso. La predicción de y(t + tm ) (denotada a veces como y(t + tm |t)) puede ser
usada en un lazo de control como se ilustra en la figura 10.7. En esta estructura en
lugar de realimentar la salida y(t) del proceso, se realimenta la predicción de y(t + tm )
efectuada en tiempo t mediante el modelo Gm (s). Los valores de la señal de control
calculados mediante C(s) se aplican directamente al proceso. Esta estructura tendrı́a
como función de transferencia de bucle cerrado la expresión:

C(s)G(s)
GBC (s) = e−tm s (10.3)
1 + C(s)Gm (s)

En el caso de que el modelo del proceso sin retardo fuera perfecto, es decir Gm (s) =
G(s), claramente la función de transferencia (10.3) es entonces igual a la de (10.2).
3
Nótese que en tiempo t + tm lo que hay en la salida del sistema es lo que habı́a en tiempo t a la
salida de G(s) antes del retraso, es decir y(t + tm ) es la salida sin retraso.
CAPÍTULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 167

r(t) y(t)
+
C(s) u(t)
G(s)e m
-t s

+
y(t|t)
m
y(t+t |t)
G (s)
m
e m
-t’ s

+
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 posición del sensor. Esta situación no se dará en la realidad, por que
siempre habrá errores de modelado.

Nótese que la estructura de control de la figura 10.7 es esencialmente una estructura


de control en bucle abierto, por que no se está haciendo uso del valor de la variable
controlada y(t). Por tanto no será capaz de hacer frente a perturbaciones o errores de
modelado. No se está aprovechando el valor de y(t) para, por ejemplo, determinar los
errores de predicción cometidos al usar el ((modelo rápido)). Precisamente este uso es
el que se le da en el Predictor de Smith.

La estructura del Predictor de Smith se muestra en la figura 10.8. Difiere de la


estructura de la figura 10.7 en que en este caso si se usa la variable controlada, es decir
es una estructura en bucle cerrado. Lo que se hace es que se compara la salida y(t)
con la salida del ((modelo rápido)) retrasada un tiempo t0m (donde t0m es la estimación
del valor del retraso tm ), obteniéndose por tanto una estimación de y(t) (que se puede
denotar por y(t|t)). La comparación permite obtener una señal de error de predicción
e(t) = y(t) − y(t|t) que se suma a la predicción de y(t + tm ), de manera que los que se
realimenta es y(t + tm |t) + e(t).

Además del ((modelo rápido)) Gm (s), en el Predictor de Smith se tiene el ((modelo


0
de planta)) cuya función de transferencia es Gm (s)e−tm s . La función de transferencia
0
de bucle cerrado cuando el ((modelo de planta)) es perfecto, es decir Gm (s)e−tm s =
G(s)e−tm s coincide con la de la ecuación (10.2). Por tanto esta función de transferencia
coincide con la de un proceso sin retraso, seguido de un retraso despues del lazo. Esto
implica que la sintonı́a del controlador C(s) se realiza como si realmente no existiera el
retraso, ya que al utilizar el Predictor de Smith se supone que el retraso sale del bucle
de control.

Ejemplo 10.1
168 EL PREDICTOR DE SMITH

60

40
Phase (deg); Magnitude (dB)

20

−20

−90

−180

−270 −3 −2 −1 0
10 10 10 10
Frequency (rad/sec)

Figura 10.9: Bode de C(s)G(s) para el ejemplo.

En este ejemplo se ilustrará el control de sistemas con retraso y el uso del Predictor de
Smith. Considérese el siguiente sistema:
1
G(s) = e−20s
1 + 10s
En primer lugar se considera un lazo de realimentación simple, en este caso con un PI,
diseñado 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:
1 1 + 10s
C(s) =
5 s
La figura 10.9 muestra el diagrama de Bode del conjunto C(s)G(s). Claramente el
margen de fase es negativo, por lo que este controlador inducirá la inestabilidad del
sistema en bucle cerrado.

La solución habitual pasa por desintonizar el controlador. En este caso se opta por
rebajar la ganancia del controlador de manera que sea cuatro veces menor. En la figura
10.10 se observa el diagrama de Bode en este caso. Puede observarse que ahora el
margen de fase es positivo y por tanto el sistema en bucle cerrado será inestable.

Como es lógico la respuesta en bucle cerrado no será la esperada, como se ilustra en


la figura 10.11. Puede observarse que la respuesta es muy oscilatoria, prueba del escaso
margen de fase.
CAPÍTULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 169

40

20
Phase (deg); Magnitude (dB)

−20

−40

−90

−180

−270 −3 −2 −1 0
10 10 10 10

Frequency (rad/sec)

Figura 10.10: Bode de C(s)G(s) para el ejemplo, desintonizando el controlador de manera que la
ganancia sea cuatro veces menor.

1.5

0.5

0
0 50 100 150 200 250 300 350 400
t

Figura 10.11: Respuesta del sistema en bucle cerrado con el controlador desintonizado de manera que
la ganancia sea cuatro veces menor.
170 EL PREDICTOR DE SMITH

1.5

0.5

0
0 50 100 150 200 250 300 350 400
t

Figura 10.12: Respuesta del sistema en bucle cerrado con el predictor de smith (trazo solido) com-
parada con la del lazo simple (trazo discontinuo).

La figura 10.12 muestra la evolución de la salida cuando se usa la estructura anterior


comparada con la que se da cuando se usa el Predictor de Smith. Puede verse que en
ambos casos la salida comienza a cambiar tras el tiempo muerto, es decir, como ya se ha
mencionado ninguna estrategia es capaz de eliminar el retraso. Sin embargo, como se
muestra en la figura, la respuesta tras el tiempo muerto si se puede mejorar. El uso de
Predictor de Smith permite alcanzar los objetivos de control y obtener una respuesta
mucho mejor que en el caso del control realimentado simple.

10.2.1. Efecto de los errores de modelado en el Predictor de


Smith

Como se ha comentado numerosas veces, los modelos matemáticos siempre presen-


tan diferencias con la dinámica real del proceso. Esas diferencias son imputables a la
propia simplificación tı́pica de los modelos, o también por errores en la identificación
de los parámetros o bien por que la dinámica del proceso ha cambiado desde que se
obtuvo el modelo. En esta sección analizaremos brevemente la influencia de los errores
de modelado sobre la función de bucle cerrado cuando se usa el Predictor de Smith.
0
Para ello se emplea el ((modelo de planta)) es decir Gm (s)etm s en comparación con la
CAPÍTULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 171

dinámica real de la planta que es G(s)e−tm s4 . La diferencia será:


0
∆G(s) = G(s)e−tm s − Gm (s)e−tm s

La función de transferencia de bucle cerrado del sistema será:


C(s)
1+C(s)Gm (s)
GBC (s) = C(s)
G(s)e−tm s (10.4)
1+ 1+C(s)Gm (s)
∆G(s)

En caso de no existir errores de modelado, es decir ∆G(s) = 0 la función de transfe-


rencia de bucle cerrado coincide con la del proceso controlado sin retraso seguido del
retraso. Reordenando la expresión (10.4) se tiene:
C(s)G(s)
GBC (s) = e−tm s (10.5)
1 + C(s)Gm (s) + C(s)∆G(s)
La diferencia entre esta función de transferencia y la correspondiente al sistema sin
errores de modelado está en el término C(s)∆G(s). Este término modifica el polinomio
caracterı́stico y por tanto afecta a la estabilidad de bucle cerrado. Este sumando puede
disminuir el margen de fase y como se ve depende no solo de los errores de modelado sino
también del controlador diseñado. Claramente cuando el término ∆G(s) sea grande, el
controlador C(s) deberá ser ((pequeño)) (es decir poca ganancia) para que el término
C(s)∆G(s) afecte poco. En general los errores de modelado limitan la ganancia del
controlador, ya que los efectos del término C(s)∆G(s) en el polinomio caracterı́stico
son iguales al producto de los errores de modelado por la ganancia del controlador.

A fin de ilustrar los efectos de los errores de modelado, considérese la figura 10.13.
En ella se muestra la salida del sistema del ejemplo 10.2 cuando se cometen diversos
errores de estimación en el retardo del sistema. Como se ve, los errores de modelado
separan a la respuesta del sistema de la respuesta ideal, provocando la aparición de
oscilaciones y un mayor tiempo de amortiguamiento.

10.2.2. El Predictor PI

El Predictor PI es una simplificación del Predictor de Smith que se suele usar en


aquellos procesos cuya dinámica viene dominada fundamentalmente por el retraso.
Son procesos en los que la constante de tiempo es sustancialmente más pequeña que el
retraso. En estos casos lo que se hace es despreciar la dinámica del sistema y considerar
que se comporta como puna ganancia más un retraso, es decir el ((modelo de planta))
4
Evidentemente aquı́ se está suponiendo que existe un modelo lineal con retraso que describe
perfectamente al proceso.
172 EL PREDICTOR DE SMITH

1.2 −20%

−10%
1
+10%

0.8
+20%

0.6

0.4

0.2

0
0 20 40 60 80 100 120 140 160 180 200

Figura 10.13: Respuestas del sistema en bucle cerrado con el predictor de smith cuando se tienen
diversos errores en la estimación del retardo.

r(t) y(t)
+
C(s) u(t)
G(s)e -t s
m
-

+
y(t|t)
m
y(t+t |t)
K p
em -t s

+
e(t)

Figura 10.14: Estructura del Predictor PI.

0
que se utiliza será Kp e−tm s . Dicho de otra manera, el ((modelo rápido)) será 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 número de periodos de
muestreo que comprende el retardo. Por lo demás la estructura es la misma, con el
lógico cambio de funciones de transferencia en tiempo continuo por sus equivalentes en
tiempo discreto.
CAPÍTULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 173

En tiempo discreto el Predictor de Smith se programará en un computador digital.


En la figura 10.15 se indica de manera esquemática el algoritmo del Predictor de Smith.

Hacer

esperar(Tiempo_de_Muestreo);

k=k+1;

ymr(k+d) = salida_modelo_rapido(k+d);
ymp(k) = salida_modelo_planta(k);
y(k) = leer(sensor);

realim(k) = y(k) - ymp(k) + ymr(k+d);

e(k) = ref(k) - realim(k);

u(k) = calcula_control_C(e);

aplica(u(k));

Hasta STOP

Figura 10.15: Algoritmo del Predictor de Smith.

10.3. Control de sistemas con respuesta inversa

Como probablemente es conocido para el lector, los sistemas de fase no mı́nima, es


decir, aquellos que tienen ceros inestables, presentan respuesta inversa. Esta respuesta
inversa consiste en que la respuesta del sistema evoluciona en sentido inverso al de
la señal de control durante un cierto tiempo, pasado el cual, la respuesta recupera su
sentido habitual. Es decir, si la señal de control se incrementa en un escalón, durante
un cierto tiempo la respuesta será de manera que la variable de salida se decrementará.
Pasado ese tiempo, la salida comienza a incrementarse.

La razón fı́sica tras este comportamiento es que el cambio en la variable manipula-


da pone en marcha dos fenómenos fı́sicos de consecuencias opuestas sobre la variable
controlada, uno rápido pero poco intenso, y otro lento pero más intenso, que es el que
finalmente predomina.

Podemos considerar que la función de transferencia se puede expresar como la suma


de otras dos que representan ambos fenómenos 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:

K1 −K2
G1 (s) = G2 (s) =
1 + τ1 s 1 + τ2 s
Obsérvese que el carácter opuesto de ambos fenómenos se manifiesta en las ganancias
de signo opuesto. La función de transferencia completa es:

K1 K2
G(s) = −
1 + τ1 s 1 + τ2 s
que se puede escribir como:

(K1 τ2 − K2 τ1 )s + (K1 − K2 )
G(s) =
(1 + τ1 s)(1 + τ2 s)

En G(S) encontramos los polos correspondientes a ambos fenómenos y además un cero


cuyo valor es:
K1 − K2
c=−
K1 τ2 − K2 τ1
Para que el proceso sea de fase no mı́nima, el cero debe ser inestable, es decir positivo,
lo cual sucederá cuando K1 > K2 y τ1 À τ2 o también cuando K2 > K1 y τ2 À τ1 .
Fı́sicamente, la respuesta inversa se producirá cuando el efecto más intenso sea a la vez
el más lento.

El control de sistemas con respuesta inversa presenta ciertas dificultades, tales como
por ejemplo que se deben limitar la amplitud de los componentes de alta frecuencia.
Por tanto esto sugerirı́a limitar la acción derivativa en los PID. Sin embargo el efecto
derivativo es también beneficioso, pues la primera parte de la respuesta inversa se puede
asimilar a un retardo y es sabido que para sistemas con retraso la acción derivativa es
positiva (sólo cuando el retardo es pequeño).

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.

Obsérvese que en esta estructura, de manera análoga al Predictor de Smith, lo que


se realimenta es la diferencia entre la salida del proceso y la salida de un predictor que
modela la respuesta inversa. Es decir, lo que se busca es cancelar la realimentación de
la respuesta inversa. Para ello, el predictor toma la forma:
µ ¶
1 1
G(s) = k − (10.6)
1 + τ1 s 1 + τ2 s
CAPÍTULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 175

K1
1 + sτ 1
r(t) + y(t)
+
C(s) u(t)

-
+
-K2
1 + sτ 2

+
 1 1  -
k  − 
 1 + sτ 1 1 + sτ 2 
e(t)

Figura 10.16: Estructura de control para procesos con respuesta inversa.

El resultado de esta estrategia en comparación 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

1.5

0.5

−0.5

0 10 20 30 40 50 60 70 80
t

Figura 10.17: Ejemplo de control de un sistema de fase no mı́nima con un PI usando un lazo simple
de realimentación (trazo discontinuo) y la estructura de control para procesos con respuesta inversa
propuesta en la figura 10.16.
Capı́tulo 11

Control de procesos con


perturbaciones medibles

11.1. Introducción

En este capı́tulo y el siguiente se expondrán técnicas o estructuras de control avan-


zadas que son bastante útiles en control de procesos. Ambos capı́tulos tienen en común
que las técnicas que se exponen utilizan variables adicionales a la entrada y salida del
proceso que es lo que hasta ahora se ha usado únicamente.

La primera de las técnicas que se expondrán en este capı́tulo es el control en cascada.


Esta técnica utiliza la medida de variables internas para detectar rápidamente el efecto
de perturbaciones a la entrada del sistema y poder ası́ iniciar antes la acción correctora.
Fı́sicamente esta estrategia conlleva el uso de varios lazos de realimentación anidados,
de ahı́ el nombre.

Además del control en cascada en este capı́tulo se estudia el control anticipativo o


control en adelanto. Este tipo de control usa como variables adicionales perturbaciones
medibles que incidan sobre la salida del proceso. Se usa por tanto para cancelar lo más
rápidamente posible el efecto de perturbaciones a la salida del proceso.

177
178 CONTROL EN CASCADA

Salida del controlador (porcentaje Actuación que realmente


de apertura, etc…) recibe la planta (caudal,
etc…) afectada por P
P

+ C(s) V(s) G(s)


-
Dinámica o característica
instalada del actuador

Figura 11.1: Ejemplo de sistema con perturbación 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 perturbación o error sobre la salida.

Uno de los casos más frecuentes es el de las perturbaciones a la entrada que inciden
sobre los actuadores. El efecto de una perturbación sobre los actuadores es el de variar
la magnitud de la acción esperada por el controlador para un determinado nivel de la
señal de entrada. De este modo, la acción de control efectiva que realmente se aplica
puede no ser la adecuada para controlar el sistema. Por ejemplo, en un proceso donde
se controle un determinado nivel con una válvula, una perturbación sobre la dinámica
o caracterı́stica de la válvula harı́a que para un mismo porcentaje de apertura, el
flujo o caudal variase desviándose del esperado. En este razonamiento se está haciendo
mención explı́cita al hecho de que los actuadores tienen su propia dinámica, y por tanto
se pueden representar por su propia función de transferencia. La dinámica del actuador
será por lo general más rápida que la del proceso, y en algunos casos la diferencia
será tal que se pueda ignorar su efecto o considerarlo subsumido en la dinámica de la
planta. Cuando el actuador está sometido a perturbaciones es conveniente considerarlo
como un elemento autónomo como se ilustra en la figura 11.1. En ella puede observarse
la dinámica del actuador V (s), interpuesta entre las del controlador C(s) y la planta
propiamente dicha, G(s). Puede observarse además una perturbación que incide sobre el
actuador, de manera que la actuación que realmente recibe la planta estará perturbada
por P .

¿Como se comporta la estructura de control de la figura 11.1 ante el efecto de la


perturbación P ? Es evidente que P afecta a la señal de control, y que esa desviación
se manifestará en una desviación en la salida al cabo de un cierto tiempo. Una vez se
CAPÍTULO 11. CONTROL DE PROCESOS CON PERTURBACIONES MEDIBLES 179

+
CM(s) +
CS(s) V(s) G(s)
-
-

Figura 11.2: Ejemplo de sistema con perturbación a la entrada.

detecte esta variación, el controlador actuará sobre el proceso para corregir la desviación
de la salida. El problema es el tiempo que pasa entre que se produce la perturbación
sobre el actuador hasta que esta se manifiesta en todo su efecto sobre la salida del
proceso. Durante todo ese tiempo, la perturbación ha estado acumulando un exceso
o defecto de energı́a o masa aportada al sistema. Esta acumulación será corregida
por el controlador, pero demasiado tarde, cuando ya sea inevitable un notable efecto
pernicioso en la salida.

El control en cascada trata de hacer frente a este problema actuado sobre el proceso
sin tener que esperar a que la perturbación a la entrada se manifieste a la salida. Esto se
consigue midiendo una variable interna que se vea afectada mucho antes que la salida.
Esta variable suele ser el valor de la actuación que realmente se aplica.

11.2.1. Estructura de un sistema de control en cascada

Como se ha comentado, el control en cascada se basa en las medidas obtenidas de


una variable interna que permitan detectar el efecto de perturbaciones en la entrada
mucho antes de que estas se manifiesten en la salida. Lo más habitual es medir directa-
mente la actuación que realmente se aplica o al menos estimarla de manera indirecta.

La estructura de control en cascada se implementa mediante un lazo de reali-


mentación interno en el que la posición del actuador es la variable manipulada y la
actuación efectiva medida es la variable controlada. La referencia de dicho lazo interno
es la salida del controlador del lazo externo. Esta estructura se ilustra en la figura 11.2.
El lazo más interno se llama lazo secundario o esclavo (slave) mientras que el externo
recibe el nombre de lazo primario o maestro (master). Esta técnica también se llama
control maestro-esclavo (master-slave). El nombre de control en cascada es evidente
si observamos que la salida del primario se convierte en la entrada o referencia del
secundario.

El modo en que funciona esta estrategia es fácil de entender. El control secundario


180 CONTROL EN CASCADA

se encarga de corregir el efecto de las perturbaciones sobre la dinámica del actuador, de


manera que la actuación que realmente recibe la planta es en la medida de lo posible la
que espera el controlador primario. De esta manera se evita que la perturbación en la
entrada provoque un error que al acumularse en el tiempo se manifieste con una gran
desviación de la salida antes de que el controlador primario pueda corregirla.

Esta estructura es tan frecuente en la industria, que los controladores industriales


(generalmente del tipo PID) incorporan una opción de configuración que les permite
tomar el punto de consigna, bien del panel de control o bien de una entrada que en su
caso se puede conectar a la salida de otro controlador para configurar un control en
cascada.

Para que un sistema de control en cascada sea eficaz es necesario que el lazo interno
sea más rápido (o a lo más igual) que el lazo externo. Esto es debido a que sólo si el
lazo interno es más rápido que el externo se podrá actuar con la suficiente celeridad
para evitar que se acumule el efecto de la perturbación en la entrada.

El beneficio obtenido con el uso de esta estrategia no se advierte mucho en el


seguimiento de consigna. Tampoco en los sistemas con perturbaciones a la salida. La
mejora es evidente cuando se dan las condiciones para las que ha sido ideado, es decir,
para casos en los que hay perturbaciones a la entrada. En general, la frecuencia de
corte del conjunto es algo mayor que la del proceso sin lazo secundario, por lo que se
puede usar una ganancia en el primario algo mayor.

11.2.2. Sintonización de controladores en cascada

El procedimiento a seguir para la sintonización de este tipo de controladores pasa


por advertir, que, en primer lugar se ha de sintonizar el lazo secundario y después
sintonizar el primario con el secundario en automático. Los pasos serı́an los siguientes:

1. Obtener un modelo de la parte del proceso a controlar por el lazo secundario


(véanse los capı́tulos 7 a 9).

2. Sintonizar el controlador esclavo por cualquiera de los métodos aplicables y pasar-


lo a automático. Es usual emplear un PI en este caso a fin de obtener una respuesta
rápida.

3. Obtener un modelo de la variable controlada (es decir la salida) frente a cambios


en la consigna del controlador esclavo que deberá estar en automático.
CAPÍTULO 11. CONTROL DE PROCESOS CON PERTURBACIONES MEDIBLES 181

4. Sintonizar el controlador maestro por cualquier método aplicable a partir del


modelo anterior. Esto implica que el proceso a controlar desde el punto de vista
del controlador primario engloba a la planta y al lazo secundario.

11.3. Control anticipativo

Una de las misiones encomendadas a los sistemas de control realimentado, es la de


compensar el efecto que tienen sobre la salida perturbaciones externas. Una vez que
se detecta la desviación con respecto al punto de consigna el sistema de control actúa
sobre el proceso para corregirla. Es importante hacer notar que ese esfuerzo corrector
se realiza después de haber sido detectado el efecto de la perturbación sobre la salida.
Esta forma de actuación implica, por tanto, un cierto retraso en la acción correctiva y
puede hacer pensar que el control no serı́a todo lo eficiente que se desea.

La idea básica del control anticipativo (también llamado control en adelanto o


control por prealimentación (feedforward)) es la de medir las perturbaciones que inciden
sobre la salida y actuar sobre el proceso inmediatamente, sin esperar a que dichas
perturbaciones afecten a la salida (variable controlada). Para ello se utiliza un modelo
del efecto de la perturbación sobre la salida para poder compensarlo.

Usando un modelo de la planta y un modelo de las perturbaciones que afectan


a la salida, se tendrı́a la tentación de pensar que serı́a posible un control perfecto
sin necesidad de realimentar la variable controlada. Esto serı́a ası́ por que el control
anticipativo no tendrı́a que esperar a que hubiese error para empezar a corregirlo. En
la práctica esto no funciona por las siguientes razones:

No es posible medir todas las perturbaciones que afectan a la salida.

Siempre existirá un error en la medida de las perturbaciones.

El modelo del proceso y el de las perturbaciones siempre tendrá errores de mod-


elado.

A veces el controlador anticipativo resultante no es realizable. Esto sucede cuando


el retraso entre la perturbación y la salida es inferior al que hay entre la salida y
la entrada (este caso se comentará más adelante).

Debido a estas razones, el control anticipativo siempre se integra en sistemas de control


realimentado. En este caso el control anticipativo se usa sobre las perturbaciones más
182 CONTROL ANTICIPATIVO

D(s)

GD(s)

+
Y(s)
U(s) +
Gp(s)

Figura 11.3: Ejemplo de sistema con perturbación a la salida.

D(s)

GD(s)

+
Ref U(s) + Y(s)
C(s) Gp(s)

Figura 11.4: Sistema con perturbación a la salida controlado con un lazo simple de realimentación.

importantes y mejor modeladas, dejándose al control realimentado la tarea de cancelar


las demás. El control resultante no será perfecto, pero será mejor que usando un lazo
de realimentación 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 situación se describe
en la figura 11.3. De acuerdo a ese diagrama de bloques, la función de la salida se puede
escribir como:
Y (s) = Gp (s)U (s) + Gd (s)D(s)
El esquema clásico de control es el que se muestra en la figura 11.4. Es decir, en
esta configuración no se hace nada de manera especı́fica para combatir el efecto de la
perturbación sobre la salida. El único efecto corrector es el que proporciona de manera
intrı́nseca la realimentación.

El control anticipativo utiliza la medida de los valores de la perturbación para


actuar sobre la variable manipulada tal y como se indica en la figura 11.5. La actuación
CAPÍTULO 11. CONTROL DE PROCESOS CON PERTURBACIONES MEDIBLES 183

D(s)

GFF(s) GD(s)

+ +
+ Y(s)
U(s) +
Gp(s)

Figura 11.5: Sistema con perturbación a la salida controlado con un control anticipativo.

sobre el proceso viene determinada por la función de transferencia GF F (s) y el propio


valor medido de la perturbación. Evidentemente GF F (s) es diseñada de manera que
compense el efecto que sobre la salida tiene la perturbación, es decir que compense el
efecto introducido por GD (s).

Cuando se usa el control anticipativo, la relación entre la salida y la perturbación


se puede expresar como:
Y (s) = (GD (s) + GP (s)GF F (s)) F (s)
Nótese que para que GF F (s) anule completamente el efecto de la perturbación se debe
verificar que:
GD (s) + GP (s)GF F (s) = 0
De manera que el valor apropiado de GF F (s) resulta ser:
GD (s)
GF F (s) = − (11.1)
GP (s)
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 perturbación y dicho efecto evitarı́a la cancelación
perfecta de la perturbación. La solución es bien sencilla: utilizar el control anticipativo
o feed-forward en una estructura de control realimentado que cancele esas diferencias.
Esta estructura es la que se muestra en la figura 11.6.

11.3.1. Consideraciones prácticas sobre los controladores an-


ticipativos

Como se ha comentado antes, el control anticipativo para un determinado sistema


obtenido mediante la expresión (11.1) puede resultar no realizable fı́sicamente. A con-
184 CONTROL ANTICIPATIVO

D(s)

GFF(s) GD(s)
U2 + +
Ref + Y(s)
U(s) +
+
C(s) U1
Gp(s)
-

Figura 11.6: Sistema con perturbación a la salida controlado con un control anticipativo con control
realimentado.

tinuación se mostrará un caso en el que esto ocurre. Considérense los siguientes valores
para GD (s) y GP (s):

KD −tmD s
GD (s) = e
1 + τD s
KP
GP (s) = e−tmP s
1 + τP s
El controlador anticipativo resultante es:
KD 1 + τP s −(tmD −tmP )s
GF F (s) = − e
KP 1 + τD s
Esta expresión sólo será realizable si el retraso puro que aparece es positivo, es decir si
(tmD − tmP ) ≥ 0. En el caso de que tmD < tmP esta función de transferencia incorpo-
rarı́a un adelanto en lugar de un retraso que es fı́sicamente imposible de realizar. Esto
corresponderı́a a una situación en la que el efecto de la perturbación se transmite más
rápidamente que el efecto de la variable manipulada lo que evidentemente impide que
se pueda actuar sobre la perturbación con suficiente tiempo.

Por otra parte la condición de anular completamente el efecto de la perturbación


puede ser demasiado estricta, por lo que en la práctica se pretende reducir el efecto de
la perturbación más que cancerlarla completamente. Una forma de lograr esto es la de
emplear un control anticipativo estático, que consiste en una simple ganancia calculada
para corregir el efecto de la perturbación en régimen permanente. Esta ganancia coin-
cide con la ganancia estática del control anticipativo calculado con la expresión (11.1),
es decir:
GD (s) KD
lı́m GF F (s) = − lı́m =−
s→0 s→0 GP (s) KP
Evidentemente este tipo de control sólo cancela el efecto del regimen permanente de
las perturbaciones pero además reduce el transitorio de las mismas.
Capı́tulo 12

Control de procesos multivariables

12.1. Introducción

Hasta ahora se ha supuesto de manera implı́cita que los sistemas a controlar cuentan
tan sólo con una entrada y una salida. Las técnicas de control vistas son por tanto
técnicas de control SISO (Single Input Single Output). En la práctica los sistemas o
plantas a controlar son suficientemente complejos y tienen siempre más de una variable
controlada (salida) y más de una variable manipulada (entrada). El uso de controladores
diseñados con técnicas SISO en estos sistemas puede llevar a rendimientos muy pobres
fundamentalmente por las interacciones existentes entre las diversas entradas y salidas.
Esto es ası́ porque una entrada puede afectar a más de una salida y por que una salida
puede depender de más de una entrada. La figura 12.1 ilustra este hecho.

Los problemas causados por las interacciones son más evidentes cuando los lazos de
control están en automático, y usualmente se desintonizan los controladores, perdiendo
rapidez y rendimiento en el control a fin de minimizar los efectos de las interacciones.

El mejor método para abordar los problemas de control en sistemas multivariables


comienza por evaluar las interacciones entre entradas y salidas a fin de poder establecer
los mejores emparejamientos posibles entre entradas y salidas. Como se verá, al usar
controladores SISO en sistemas multivariables, se obtienen mejores rendimientos si las
entradas se emparejan con las salidas correctas. Otro aspecto que se estudiará en este
capı́tulo es el uso de desacopladores, que buscarán eliminar o al menos reducir las
interacciones. La idea tras éste método es que un sistema multivariable desacoplado
puede ser controlado por controladores SISO en la misma manera que un conjunto de

185
186 SISTEMAS MULTIVARIABLES

1 1.6

0.9
1.4

0.8
1.2

0.7
1
0.6
1

0.8

2
u −y

u −y
0.5
1

2
0.6
0.4

0.4
0.3

0.2
0.2

0.1 0

0 −0.2
0 20 40 60 80 100 120 140 160 0 20 40 60 80 100 120 140 160

Figura 12.1: Respuesta de un sistema multivariable de dos entradas y dos salidas cuando se aplican
escalones en sus entradas. Pueden observarse las interacciones en el hecho de que las salidas varı́an
cuando las entradas respectivas están en reposo.

U1(s) + Y1(s)
G11
+
G12

G21
U2(s) + Y2(s)
G22 +

Figura 12.2: Representación de un sistema multivariable de orden 2.

sistemas SISO independientes.

12.2. Sistemas multivariables

Considérese un sistema dinámico 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)


(12.1)
y2 (s) = G21 (s)u1 (s) + G22 (s)u2 (s)
Este modelo lineal se representa con el diagrama de bloques que aparece en la figura
12.2. Estas expresiones se pueden reescribir en forma vectorial-matricial como:

Y(s) = G(s)U(s) (12.2)


CAPÍTULO 12. CONTROL DE PROCESOS MULTIVARIABLES 187

- Y1(s)
R1(s) + U1(s) +
GC1 G11
+
G12

G21
+
R2(s) + Y2(s)
+ GC2 G22
- U2(s)

Figura 12.3: Representación de un sistema multivariable de orden 2 en bucle cerrado con dos contro-
ladores multivariables.

donde · ¸ · ¸
y1 (s) u1 (s)
Y(s) = U(s) =
y2 (s) u2 (s)
y · ¸
G11 (s) G12 (s)
M(s) =
G21 (s) G22 (s)
es la matriz de transferencia o también llamada matriz de dinámicas .

Supóngase que se opta por controlar este sistema con dos controladores SISO
GC1 (s), GC2 (s) (véase la figura 12.3) de manera que se empareja y1 con u1 e y2 con
u2 . Tomando como referencias a r1 (s) y r2 (s), las señales de entrada tomarı́an como
valores:
u1 (s) = GC1 (s) (r1 (s) − y1 (s))
(12.3)
u2 (s) = GC2 (s) (r2 (s) − y2 (s))
El efecto cualitativo de las interacciones se puede analizar si suponemos que se inyecta
una perturbación en el lazo 1. En este caso el error que introduce la perturbación
tratará de ser corregido por el controlador GC1 actuando sobre u1 . Los cambios en u1
también afectarán a y2 a través de la función de transferencia G21 , provocando una
desviación e2 . El controlador GC2 tratará de contrarrestar este error e2 modificando
el valor de u2 . El cambio de u2 afecta también a y1 a través de G12 , por lo que la
perturbación en el lazo 1 no sólo afecta al lazo 2, sino que además rebota de nuevo
afectando al lazo 1, a través de la perturbación inducida en el lazo 2.

Visto el análisis anterior, es evidente que la interacción 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. MÉTODO DE BRISTOL

2. G12 (s) = 0, u2 no afecta a y1 .

3. GC2 (s) = 0, es decir, el lazo 2 está en manual.

Nótese que en los casos 2 y 3, la perturbación del lazo 1 afecta al 2, pero no hay
rebote de nuevo al lazo 1, por lo que se considera que no hay interacción en estos dos
casos. Cuando no hay interacción en un sistema multivariable se pueden diseñar los
controladores de manera independiente como si se tratase de sistemas monovariables.

El efecto de una perturbación en un lazo sobre el otro cuando los controladores


están en automático es bastante complejo, aunque se puede cuantificar estudiando la
función de transferencia por ejemplo entre u1 e y1 cuando:
y1 (s) G12 (s)G21 (s)GC2 (s)
= G11 (s) − (12.4)
u1 (s) 1 + GC2 (s)G22 (s)
Nótese que para diseñar GC1 habrá que tenerse en cuenta el diseño de GC2 (y vicev-
ersa). De hecho, si el controlador GC1 se diseña de manera independiente del GC2 (la
forma de conseguir esto serı́a sintonizar con el lazo 2 abierto), al ponerse el lazo 2 en
automático el comportamiento obtenido en el lazo 1 puede ser muy deficiente e incluso
aparecer inestabilidad. Obsérvese de hecho, que el efecto dinámico de la interacción
puede reducirse desintonizando GC2 es decir reduciendo mucho la ganancia de GC2 de
manera que GC2 (s) ≈ 0. Por supuesto esto reducirá la capacidad de GC2 para mantener
a y2 en el punto de consigna, por lo que esta solución sólo es válida si el control de la
variable y2 fuese mucho menos prioritario o importante que el de la variable y1 .

A modo de conclusión se puede decir que el controlador del lazo 1 debe diseñarse con
el lazo 2 en automático controlado por un controlador GC2 previamente diseñado. Dado
que esta discusión es igualmente aplicable a la sintonı́a del lazo 2 con respecto al lazo
1, se concluye que sólo sintonizando simultáneamente 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 más de dos entradas y
salidas.

12.3. Medida de las interacciones. Método de Bris-


tol

El método de Bristol de las ganancias relativas es una técnica que permite evaluar
con facilidad las interacciones en régimen permanente y que, en consecuencia, se utiliza
CAPÍTULO 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 método 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 deberá escoger como entrada aquella que tenga una mayor
influencia en su comportamiento.

Supóngase 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 régimen permanente se pueden calcular como:
¯ ¯
∆y1 ¯ ∆y1 ¯
∆y1 = ∆u ¯ ∆u 1 + ∆u2 ¯
∆u2
1
¯u2 cte ¯u1 cte (12.5)
∆y2 ¯ ∆y2 ¯
∆y2 = ∆u 1
¯ ∆u 1 + ∆u2 ¯ ∆u 2
u2 cte u1 cte

Los cocientes incrementales que aparecen en las expresiones anteriores corresponden a


las ganancias estáticas de cada uno de los bloques Gij de la matriz de transferencia
M (s), que se denotarán por Kij de manera que:
¯ ¯ ¯ ¯
∆y1 ¯ ∆y1 ¯ ∆y2 ¯ ∆y2 ¯
K11 = ∆u1 ¯ K12 = ∆u2 ¯ K21 = ∆u1 ¯ K22 = ∆u2 ¯ (12.6)
u2 cte u1 cte u2 cte u1 cte

Las ganancias estáticas de bucle abierto pueden determinarse fácilmente mediante los
modelos del proceso o experimentalmente mediante ensayos en escalón en cada una de
las entradas mientras las restantes se mantienen constantes. Las ganancias estáticas de
bucle abierto definen la influencia de las entradas del sistema sobre sus salidas cuando
éste está en bucle abierto.

Las ganancias de bucle abierto no son una buena elección para la medida de las
interacciones debido a que:

Nos se pueden comparar entre si al tener distintas unidades.

No consideran lo que ocurre al cerrar los demás lazos de control.

Para analizar que ocurre con la ganancia del sistema cuando se cierran los demás
lazos de control deberemos analizar otras ganancias, definidas de la forma siguiente:
¯ ¯ ¯ ¯
∆y1 ¯ ∆y1 ¯ ∆y2 ¯ ∆y2 ¯
KC11 = ∆u 1
¯ K C12 = ∆u2 ¯
K C21 = ∆u1 ¯
K C22 = ∆u2 ¯
y2 cte y2 cte y1 cte y1 cte

Las ganancias KCij miden la influencia en régimen permanente de la entrada j sobre


la salida i cuando el resto de las variables de salida permanecen en su valor deseado y
constantes. Nótese que aquı́ las demás salidas están controladas.
190 MEDIDA DE LAS INTERACCIONES. MÉTODO DE BRISTOL

Le método de Bristol utiliza las ganancias relativas definidas como:


Kij
λij =
KCij

donde λij es la ganancia relativa entre la salida i y la entrada j. Queda por solventar el
modo de cálculo de las ganancias KCij . Éstas pueden calcularse a partir de las ganancias
de bucle abierto Kij . Para ello considérese que las ecuaciones (12.5) se pueden reescribir
mediante las definiciones (12.6):

∆y1 = K11 ∆u1 + K12 ∆u2


(12.7)
∆y2 = K21 ∆u1 + K22 ∆u2

Por definición de KC11 se obtiene:

∆y2 = 0 = K21 ∆u1 + K22 ∆u2

Que resuelta para ∆U2 queda:


K21
∆u2 = − ∆u1
K22
que sustituido en (12.7) resulta en:
µ ¶ µ ¶
K21 K12 K21
∆y1 = K11 ∆u1 + K12 − ∆u1 = K11 − ∆u1
K22 K22

Por tanto:
¯
∆y1 ¯¯ K12 K21 K11 K22 − K12 K21
KC11 = ¯ = K11 − =
∆u1 y2 cte K22 K22

Las otras ganancias se pueden calcular de la misma manera resultando:


¯
∆y1 ¯¯ K12 K21 − K11 K22
KC12 = ¯ =
∆u2 y2 cte K21
¯
∆y2 ¯¯ K12 K21 − K11 K22
KC21 = ¯ =
∆u1 y1 cte K12
¯
∆y2 ¯¯ K11 K22 − K12 K21
KC22 = ¯ =
∆u2 y1 cte K11
En general si definimos una matriz de ganancias en buclehabierto
i como K = [Kij ] y la
1
matriz de ganancias en bucle cerrado como M = [mij ] = KCij se puede establecer la
relación:
¡ ¢T
M = K −1
CAPÍTULO 12. CONTROL DE PROCESOS MULTIVARIABLES 191

es decir en el caso de un sistema 2 × 2:


" # ÷ ¸−1 !T
1 1
KC11 KC12 K11 K12
1 1 =
KC21 KC22
K21 K22

Por tanto, una vez calculada M = [mij ] las ganancias relativas λij se obtienen mediante:

Kij
λij = = Kij mij
KCij

La interpretación del significado de las ganancias relativas es la de que si la ganancia


de un determinado lazo no se altera por la interacción de los demás (es decir Kij =
KCij ), entonces λij = 1. Por tanto aquellos pares en los que la ganancia relativa es lo
más cercana a 1 posible representan los mejores emparejamientos.

Propiedad 12.1 Dada la matriz Λ definida como:

Λ = [λij ]

se cumple que la suma de sus filas o columnas es igual a 1.

Ejemplo 12.1

Considérese 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 pérdidas, el permanente (que es lo que interesa en el método
de Bristol) vendrı́a dado por:

U 1 T1 + U 2 T2
Y1 = U 1 + U 2 Y2 =
U1 + U2
Este modelo teórico nos permite calcular las ganancias de bucle abierto usando derivadas:

∂Y1 ∂Y1
K11 = = 1 K1 2 = =1
∂U1 ∂U2

∂Y2 T1 (U1 + U2 ) − (U1 T1 + U2 T2 ) U2 (T1 − T2 )


K21 = = 2
=
∂U1 (U1 + U2 ) (U1 + U2 )2
192 CONTROL DE PROCESOS MULTIVARIABLES MEDIANTE DESACOPLO

∂Y2 T2 (U1 + U2 ) − (U1 T1 + U2 T2 ) U1 (T2 − T1 )


K22 = = 2
=
∂U2 (U1 + U2 ) (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:
· ¸ · ¸
K11 K12 1 1
K= = 10 −20
K21 K22 3 3
de ahı́: · ¸
2 1
−1 T 3 3
M = (K ) = 1 −1
10 10
de donde se obtiene que: · ¸
2 1
Λ= 3 3
1 2
3 3
Por lo tanto los emparejamientos más 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.

Nótese que los emparejamientos pueden ser dependientes del punto de operación.
Efectivamente, si consideramos que
U1 = 1 l/s U2 = 2 l/s
se obtiene · ¸ · ¸
K11 K12 1 1
K= = 20 −10
K21 K22 3 3
de donde se obtiene que: · ¸
1 2
Λ= 3 3
2 1
3 3
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
CAPÍTULO 12. CONTROL DE PROCESOS MULTIVARIABLES 193

fueran n sistemas monovariables independientes. Por otra parte se ha estudiado un


procedimiento, el método 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 están en ningún caso significativamente
cerca de la unidad. Esto implica que no podremos seleccionar un emparejamiento que
nos garantice que el nivel de interacción sea lo suficientemente bajo, por lo que el
rendimiento esperado del sistema de control será pobre. En este caso la solución pasa
por utilizar una técnica de desacoplo que haga que la matriz de transferencia del sistema
sea lo más diagonal posible.

Considérese 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 ecuación (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 función de transferencia de bucle cerrado como:

Gbc (s) = (I + G(s)Gc (s)H(s))−1 G(s)Gc (s) (12.13)

Para que el sistema en bucle cerrado sea estable, los polos de todos los elementos
de la matriz Gbc (s) deben ser estables, es decir deben estar en el semiplano izquierdo
en el caso de sistemas continuos o dentro del cı́rculo unidad en el caso de los sistemas
discretos.

Por otra parte, el sistema estará desacoplado cuando la Gbc (s) sea diagonal. A
continuación se estudiarán las condiciones en las que esto se verifica. Supóngase 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

GC1
R(s) E(s) U(s) Y(s)
Gcn Gd G
GCn

Figura 12.4: Representación de un sistema multivariable controlado por desacoplo.

Claramente, G(s)Gc (s) es diagonal entonces Gbc (s) también lo será. Veamos que al
contrario también se verifica. Supóngase que Gbc (s) es diagonal. De la expresión 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 expresión, Gbc (s) es diagonal y también lo es (I − Gbc (s))−1 por lo que se
puede concluir que G(s)Gc (s) es también diagonal. Por tanto, la condición necesaria
y suficiente para que Gbc (s) sea diagonal es que G(s)Gc (s) lo sea. Nótese que esto
último implica que la cadena directa en bucle abierto debe ser diagonal. Si esto se
verifica entonces el proceso de diseño se reduce a sintonizar n lazos monovariables.

En el proceso de diseño 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 cálculo 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).
CAPÍTULO 12. CONTROL DE PROCESOS MULTIVARIABLES 195

0.8
0

Y2 − U2
Y1 − U1

0.6
−2

0.4
−4

0.2 −6

0 −8
0 20 40 60 80 100 120 140 160 0 20 40 60 80 100 120 140 160
tiempo tiempo

Figura 12.5: Respuesta del sistema multivariable del ejemplo cuando se aplican escalones en sus en-
tradas.

Nótese que Gc (s) se puede calcular directamente a partir de G(s) y Gbc (s) mediante
la expresión:
Gc (s) = G(s)−1 Gbc (s) (I − Gbc (s))−1 (12.20)

Ejemplo 12.2

Sea el siguiente sistema multivariable:


· ¸ " #· ¸
Y1 (s) 1 1 U1 (s)
= 10 −20 (12.21)
Y2 (s) 1+5s
3
1+5s
3 U2 (s)

La respuesta en bucle abierto de este sistema se muestra en la figura 12.5. Puede


observarse el acoplamiento existente.

A continuación se procede a encontrar la matriz de transformación que nos sirve


para diagonalizar la matriz de transferencia:
   
1 1 1 0
· ¸  10 −20   103 −30 
G  1+5s
3 3
  3
 C2
= 1+5s  V C2 = C2 − C1 V  1+5s 1+5s  V C1 = C1 + V
I  1 0   1 −1  3
0 1 0 1
 
1 0
 0 −10 
 1+5s
V 2 
 3 −1 
1
3
1
196 CONTROL DE PROCESOS MULTIVARIABLES MEDIANTE DESACOPLO

2
1

0.9
0
0.8

0.7 −2

0.6

Y2 − U2
1
Y −U

−4
0.5
1

0.4
−6
0.3

0.2
−8

0.1

0 −10
0 20 40 60 80 100 120 140 160 0 20 40 60 80 100 120 140 160
tiempo tiempo

Figura 12.6: Respuesta del sistema multivariable desacoplado cuando se aplican escalones en sus
entradas.

Luego la matriz de desacoplo vale:


· 2
¸
3
−1
Gd (s) = 1
3
1
y la matriz de transferencia equivalente al anteponer la Gd (s) serı́a:
· ¸
1 0
G(s) = −10
0 1+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 diseño de los controladores puede realizarse mediante cualquier método conocido


para controladores monovariables. Por ejemplo, si se quiere que el error en regimen
permanente ante escalón sea cero y que la constante de tiempo de bucle cerrado sea
1 segundo para ambos bucles, el diseño serı́a como sigue. En primer lugar, Gbc (s) es
igual a: · 1 ¸
1+s
0
Gbc (s) = 1
0 1+s
Teniendo en cuenta que la función de transferencia de bucle abierto del primer lazo es
1:
GC1 1 1
GBC1 = = V 1 + GC1 = GC1 (1 + s) V GC1 =
1 + GC1 1+s s
Por otra parte, dado que la función de transferencia de bucle abierto del segundo lazo
−10
es 1+5s , el diseño del segundo controlador GC2 a partir de la función de transferencia
de bucle cerrado deseada serı́a:
−10
GC2 1+5s 1 10 10 1 + 5s
GBC2 = 10 = V 1−GC2 = −GC2 (1+s) V GC2 = −
1− GC2 1+5s 1+s 1 + 5s 1 + 5s 10s
CAPÍTULO 12. CONTROL DE PROCESOS MULTIVARIABLES 197

1 1

0.8 0.8
1

0.6
R −Y

0.6

2
R −Y
1

2
0.4 0.4

0.2 0.2

0 0
0 20 40 60 80 100 120 140 160 180 200 0 20 40 60 80 100 120 140 160 180 200
tiempo tiempo

Figura 12.7: Simulación del sistema multivariable en bucle cerrado.

En cuanto a las señales de control que realmente se aplican al sistema, estas se


calculan teniendo en cuenta los controladores diseñados y la matriz de desacoplo:
2 1 + 5s
U1 (s) = e1 (s) + e2 (s)
3s 10s
1 1 + 5s
U2 (s) = e1 (s) − e2 (s)
3s 10s

En la figura 12.7 se muestra la simulación del sistema en bucle cerrado. Puede


observarse que el desacoplo propicia que el sistema se comporte como dos lazos inde-
pendientes sin interacción alguna.
198 CONTROL DE PROCESOS MULTIVARIABLES MEDIANTE DESACOPLO
Capı́tulo 13

Introducción al control adaptativo

13.1. Planteamiento del problema

En el contexto del control automático el término adaptativo se refiere a la facultad


de cambiar el comportamiento o parámetros del control en respuesta a cambios en las
circunstancias del sistema controlado. Un regulador adaptativo será aquel que pueda
modificar su comportamiento en respuesta a cambios en la dinámica del sistema y/o en
las perturbaciones a las que se ve sometido dicho sistema. En realidad esto es también
lo que se persigue cuando se introduce la realimentación 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 también cambios en la dinámica 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 parámetros del
regulador y la escala rápida a la dinámica del bucle ordinario de realimentación.

La configuración 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 realimentación negativa
en el que aparece un regulador ajustable y otro bucle que se utiliza para ajustar los
parámetros de dicho regulador. Para ello, se obtiene un cierto ı́ndice de actuación
en el cual se expresa la bondad o comportamiento del controlador. Dicho ı́ndice de
actuación se compara con un cierto comportamiento deseado y según el resultado de

199
200 PLANTEAMIENTO DEL PROBLEMA

-
+ CONTROLADOR + u
PLANTA
REFERENCIA AJUSTABLE
+
y

MECANISMO DE MEDIDA DEL


DECISIÓN ADAPTACIÓN INDICE DE
COMPORTAMIENTO ACTUACIÓN
DESEADO

Figura 13.1: Configuración genérica de un controlador adaptativo.

dicha comparación se ajustan los parámetros del regulador. Para ello se utiliza un
mecanismo de adaptación que en algunos casos (no siempre) también puede actuar
directamente sobre la actuación o señal de control que recibe el proceso. En algunos
casos se añade un tercer bucle que tiene como tarea la supervisión del sistema de
manera que, por ejemplo, se garantice la estabilidad del sistema en bucle cerrado o se
eviten ciertos comportamientos indeseados tales como cambios demasiado abruptos en
los parámetros del regulador ajustable.

Es fácil ver que en el esquema anterior el mecanismo de adaptación realiza la tarea


de resolver en tiempo real el problema de diseñar un regulador apropiado (en el caso
más sencillo con una estructura predefinida) para un sistema dado de manera que se
cumplan unas determinadas especificaciones de diseño (dadas por el ((comportamiento
deseado))).

Existen otros controladores que proporcionan una cierta capacidad de adaptación


pero que no encajan en la definición anterior ya que la adaptación 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
tratarán en la sección 15.4.
CAPÍTULO 13. INTRODUCCIÓN AL CONTROL ADAPTATIVO 201

13.1.1. Clasificación 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 parámetros del
sistema y las perturbaciones, existe un controlador lineal que hace que el sistema en
bucle cerrado cumpla los requisitos de diseño.

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 (óptimo) a partir de un tipo de controlador prefijado y
la información obtenida del proceso (señales de entrada, salida, etc. . . ).

Las dos técnicas tienen sus ventajas e inconvenientes. Las ventajas del MRAC pasan
por una rápida adaptación y la posibilidad de utilizar formulaciones que garanticen
estabilidad (usando métodos de Lyapunov). Sin embargo, la capacidad de adaptación
de estas estrategias dependen en gran medida de la riqueza dinámica de la señal de
control (esto es análogo a lo que ocurre en la identificación de sistemas, véase el tema
8). Por otra parte, los STR se adaptan bien en casi todas las situaciones y son fáciles de
implementar pues admiten técnicas de programación modular. Sin embargo, también
presentan sus propios inconvenientes como se verá más adelante.

Otra posible clasificación de los sistemas de control adaptativos es aquella que


atiende a la forma de obtener los parámetros del controlador. En este esquema podemos
encontrarnos:

Controladores adaptativos con diseño mediante criterio óptimo.

Controladores adaptativos con diseño mediante criterio no óptimo.

En los primeros el valor de los parámetros se obtiene buscando entre los posibles valores
aquellos que hacen óptimo un cierto criterio de comportamiento del sistema. Es decir,
202 JUSTIFICACIÓN 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. También
se puede considerar en este grupo el control predictivo basado en modelo (al que dedi-
caremos un amplio capı́tulo más 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 óptimo buscan los parámetros del contro-
lador no mediante la optimización de un criterio de funcionamiento sino entre aquellos
que cumplen unas ciertas especificaciones, por ejemplo, la colocación 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 asignación de polos o de ceros y polos. En tiempo real se resolverá el
problema de diseñar dichos controladores, de manera que a pesar de los cambios en el
proceso se sigan cumpliendo las especificaciones de diseño.

13.2. Justificación 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 clásicos
controladores PID. Por tanto, hay que ver en que situaciones puede ser ventajoso su
uso y en que situaciones es mejor quedarse con controladores más sencillos.

En general un controlador convencional está pensando para controlar sistemas cuyos


parámetros permanecen constantes (es decir, su dinámica no varı́a). Esta suposición se
corresponde más o menos con la de un sistema que suele operar siempre cerca de un
determinado punto de operación y cuyas perturbaciones no son grandes (en relación 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 variación de
su dinámica 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 situación corresponde por
ejemplo a la caracterı́stica instalada de un válvula que usualmente suele ser no lineal.
Supongamos que el caudal de salida de la válvula viene dado por una expresión C =
ξ ∗ A4 , donde ξ es una cierta constante y A la apertura porcentual de la válvula. En
la figura 13.3 se muestra dicha caracterı́stica instalada (trazo sólido). A la hora de
diseñar el sistema de control se intentarı́a obtener un modelo linealizado del actuador,
que evidentemente saldrı́a diferente en función del punto de operación. Si el controlador
CAPÍTULO 13. INTRODUCCIÓN AL CONTROL ADAPTATIVO 203

+ u v
f(u) G(s)
-

Figura 13.2: Sistema realimentado con actuador con caracterı́stica v = f (u).

se ve forzado a trabajar en distintos puntos de operación su rendimiento no podrá ser


igual de bueno en todos, de manera que este esquema irá bien si el punto de operación no
se mueve demasiado. Una solución serı́a trabajar con un modelo linealizado a tramos
de la caracterı́stica de la válvula (figura 13.3 trazo discontinuo), de manera que en
cada punto de funcionamiento el controlador adaptará su comportamiento (variando
sus parámetros de diseño) de acuerdo al modelo linealizado que se tenga en cada caso.
En general, cuando la variación en los parámetros del sistema o los actuadores se conoce
16

14

12

10
caudal (m3/h)

0
0 10 20 30 40 50 60 70 80 90 100
apertura (%)

Figura 13.3: Sistema realimentado con actuador con caracterı́stica v = f (u).

de antemano y además se puede establecer una dependencia entre dichos parámetros y


el punto de operación (o una variable auxiliar) se puede recurrir a técnicas sencillas de
control adaptativo como el gain scheduling (véase la sección 15.4). En caso contrario
tendrı́amos que recurrir a técnicas más sofisticadas.

Otro hecho a tener en cuenta es que no siempre es fácil juzgar la necesidad o


no de utilizar el control adaptativo. Considérese el sistema dado por la función de
transferencia
1
G(s) = donde a = −0,01, 0, 0,01 (13.1)
(s + 1)(s + a)
204 JUSTIFICACIÓN DEL USO DE CONTROL ADAPTATIVO

La primera aproximación a este sistema serı́a hallar su respuesta ante escalón, para
los diversos valores de a. Como se ilustra en la figura 13.4 (izquierda), dicha respuesta
varı́a mucho en función de los valores del parámetro a, pasando de hecho de ser un
sistema estable a otro inestable. Parecerı́a que el sistema varı́a lo suficiente como para
justificar el uso del control adaptativo. Sin embargo, la configuración que realmente
nos interesa es la del sistema realimentado. En la figura 13.4 (derecha) se muestra la
respuesta del sistema en bucle cerrado (realimentación unitaria). En contra de lo que
podrı́amos suponer la respuesta en bucle cerrado es más o menos la misma, por lo que,
siendo esta la configuración en la que se va a trabajar, no serı́a necesario usar control
adaptativo.
Step Response
Step Response
700 1.4

600 1.2

500 1

400 0.8
Amplitude
Amplitude

300 0.6

200 0.4

100 0.2

0 0
0 20 40 60 80 100 120 140 160 180 200 0 2 4 6 8 10 12
Time (sec) Time (sec)

Figura 13.4: Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema dado en (13.1).

Es fácil poner un ejemplo en el que la situación sea la inversa de la anterior. Con-


sidérese el sistema dado por la función de transferencia
20(1 − T s)
G(s) = donde T = 0, 0,015, 0,03 (13.2)
(s + 1)(s + 20)(T s + 1)
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
función del valor de T (figura 13.5 derecha). Es por tanto que en este caso sı́ estarı́a
justificado el uso de técnicas de control adaptativo. El lector puede comprobar además
que no sólo hay que juzgar en función del comportamiento en bucle cerrado en gen-
eral, sino que hay que tener en cuenta cuáles van a ser las condiciones de operación
particulares en las que se va a trabajar. En efecto, si se obtiene la respuesta en bucle
cerrado para el sistema (13.2) pero utilizando una realimentación unitaria (esto es,
u = (ref − y)) entonces las respuestas son esencialmente iguales independientemente
del valor de T .
CAPÍTULO 13. INTRODUCCIÓN AL CONTROL ADAPTATIVO 205

Step Response Step Response

1.5

0.9

0.8

0.7
1
0.6
Amplitude

Amplitude
0.5

0.4
0.5
0.3

0.2

0.1

0
0
0 1 2 3 4 5 6 0 0.5 1 1.5 2 2.5 3
Time (sec) Time (sec)

Figura 13.5: Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema dado en (13.2).

13.3. Control adaptativo por modelo de referencia


(MRAC)

Es una de las técnicas más 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 deberá adaptar sus parámetros para que el modelo de bucle cerrado
del conjunto coincida o se acerque lo más posible al modelo de referencia. La figura
13.6 muestra la configuración más popular (no es la única sin embargo) para este tipo
de controladores. En dicha figura puede observarse un controlador primario ajustable
que en principio puede ser cualqier tipo de controlador. El mecanismo de adaptación
es el que se va a encargar de ajustar los parámetros del control primario para que la
diferencia entre la salida de la planta y el modelo de referencia sea lo más pequeña
posible (es decir, que independientemente del valor inicial de esa diferencia, ésta vaya
tendiendo a cero progresivamente).

Además de utilizar las señales tomadas de las salidas de la planta y el modelo,


el mecanismo de adaptación puede utilizar las señales de entrada, de referencia y si
estuviesen disponible las variables de estado. En suma, toda la información disponible
sobre la planta y el comportamiento del sistema en bucle cerrado.

Para diseñar un MRAC se ha de definir el modelo de referencia, el controlador y


la ley de adaptación. En cuanto al modelo de referencia, sabemos que éste especifica
el comportamiento en bucle cerrado deseado. Por tanto, el modelo ha de ser tal que
206 CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC)

ym
MODELO DE
REFERENCIA +

-
yp
+ CONTROLADOR u
PLANTA
AJUSTABLE
REFERENCIA +

MECANISMO DE
ADAPTACIÓN

Figura 13.6: Configuración genérica 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 combinación de sus parámetros) dicho
comportamiento. Esto impone una serie de requisitos sobre el modelo, principalmente
sobre el orden del mismo. Tampoco es realista escoger un modelo de referencia con
una dinámica muy rápida en comparación con la de la planta en bucle abierto. Por
supuesto es normal escoger la dinámica de bucle cerrado más rápida que la de bu-
cle abierto, pero no se puede escoger de manera arbitrariamente rápida, ya que ello
desembocará en problemas de convergencia en los parámetros 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 señal de control debe ser una función
lineal de los parámetros. También (suponiéndose fijado el modelo) se debe escoger un
controlador ajustable que permita reproducir el modelo.

Finalmente, para la ley de adaptación existen diferentes estrategias en la literatura


de las cuales nombraremos el método de hiperestabilidad y la estrategia basada en la
teorı́a de estabilidad de Lyapunov (ambas estrategias aseguran la estabilidad de bucle
cerrado del sistema) y la primera y más popular, el enfoque de sensibilidad o regla del
MIT.
CAPÍTULO 13. INTRODUCCIÓN AL CONTROL ADAPTATIVO 207

13.3.1. La regla del MIT

Se basa en un ı́ndice de actuación, usualmente cuadrático, que mide la bondad de


la adaptación en base a las discrepancias entre las salidas del modelo y la planta a lo
largo de un intervalo de tiempo:
Z t+T
J(t + T ) = e2 (τ )dτ con e(t) = yproceso (t) − ymodelo (t) (13.3)
t

donde T es un periodo fijo de tiempo. La idea de la regla del MIT es ajustar el vector
de parámetros del controlador en el instante t + T , de manera que haga decrecer J. Es
decir, Z t+T
∂J ∂e(τ )
θ(t + T ) = θ(t) − Γ = θ(t) − Γ 2e(τ ) dτ (13.4)
∂θ t ∂θ
donde Γ ∈ Rn×n es una matriz definida positiva que actúa como ganancia de adaptación.
Es fácil entender que el controlador sólo tiene influencia sobre la salida de la planta,
no sobre la del modelo. Por tanto ymodelo (t) no depende de θ y al variar éste tampoco
lo hace ymodelo (t), luego
∂e(τ ) ∂yproceso (τ )
=
∂θ ∂θ
Finalmente, podemos conocer la variación instantánea de los parámetros del contro-
lador tomando T → 0 en el segundo miembro de (13.4) y teniendo en cuenta lo anterior
se llega a
dθ ∂yproceso
= −2Γe(t) (13.5)
dt ∂θ
Nótese que ∂yproceso
∂θ
representa cómo varı́a la salida del proceso frente a variaciones del
vector de parámetros, es decir la sensibilidad de yproceso (t) frente a variaciones de θ, de
ahı́ el nombre alternativo de ((enfoque de sensibilidad)).

En la práctica la sensibilidad de la salida del proceso puede ser difı́cil de conocer.


Por tanto, se la suele sustituir por la del modelo de referencia (que sı́ es conocido). Este
esquema funciona porque después de un tiempo el comportamiento en bucle cerrado del
sistema acaba convergiendo al del modelo de referencia. En cualquier caso, la ganancia
de adaptación no debe ser muy grande pues si no puede aparecer un comportamiento
inestable (especialmente si hay discrepancias iniciales fuertes entre la sensibilidad del
proceso y la del modelo, porque las correcciones al valor de θ serán muy enérgicas y en
la dirección equivocada).

Finalmente hay que decir que esta regla presenta diversas formulaciones alternati-
vas. De hecho la formulación original del MIT se basaba en el ı́ndice
1
J(t) = e2 (T )
2
208 CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC)

que resulta en la regla


dθ ∂e(t)
= −γe(t)
dt ∂θ
y hay otras posibilidades como
dθ ∂e(t)
J(t) = |e(t)| que resulta en = −γ signo(e(t))
dt ∂θ
o directamente ajustar mediante
µ ¶
dθ ∂e(t)
= −γ signo signo(e(t))
dt ∂θ

Ejemplo 13.1

Supongamos que tenemos un proceso cuya función 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) = k0 F (s) (13.6)

donde k0 es una ganancia conocida (es un dato de entrada del problema). El controlador
ajustable del que se dispone tiene la estructura

u = θuc

donde u es la entrada que se aplica a la planta y uc es la entrada al controlador (es


decir el parámetro θ que se ha de ajustar es simplemente una ganancia). Se supone una
configuración del sistema de control tal que θ es una ganancia feed-forward , es decir,
la función de transferencia desde uc a la salida del proceso yp es
Y (s)
= θkF (s)
UC (s)
Como se pretende que la función de transferencia sea como en (13.6), lo lógico 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) − k0 F (s)uc (t) (13.7)


CAPÍTULO 13. INTRODUCCIÓN AL CONTROL ADAPTATIVO 209

La sensibilidad1 vendrá dada por

∂e(t)
= kF (s)uc (t) (13.8)
∂θ
ahora bien, de (13.7) se obtiene que

−ym (t) = −k0 F (s)uc (t)

luego,
ym (t)
F (s)uc (t) =
k0
por lo que llevando esto a (13.8) se obtiene

∂e(t) k
= ym (t)
∂θ k0
La variación de los parámetros según la regla del MIT será
dθ k
= −γ ym (t)e(t)
dt k0
Nótese 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 γ 0 , de manera que la regla serı́a

= −γ 0 ym (t)e(t)
dt

1
Con el objeto de simplificar las cosas en la ecuación (13.7) se ha abusado notablemente de la
notación pues se están incluyendo simultáneamente funciones en el dominio s (de la transformada de
Laplace) y señales en el dominio temporal. Esto no es correcto y quizás serı́a mejor utilizar la notación
d
F (p) donde p = 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. Introducción. Estructura general de los STR

Los reguladores autoajustables (del inglés Self Tuning Regulator) constituyen un


tipo de control adaptativo muy popular en el que en función del conocimiento que se
tiene de la dinámica del proceso a controlar son capaces de ajustarse a si mismos. Este
conocimiento se va actualizando en tiempo real de manera que el ajuste se mantiene
lo más cercano posible al óptimo.

Los STR se basan en el principio de equivalencia cierta que consiste en suponer


que los parámetros del proceso coinciden con los que se obtienen por identificación
de manera que se diseña el controlador usando esos parámetros. Como el controlador
se recalcula en cada paso, y los parámetros se actualizan también en cada paso, el
principio de equivalencia cierta no es una suposición demasiado arriesgada.

La estructura general de un STR se ilustra en la figura 14.1. En esta se observa que


hay tres partes diferenciadas:

Algoritmo recursivo de identificación. Al tener que actualizarse los parámetros


en tiempo real es evidente que se debe utilizar un algoritmo recursivo (véase el
capı́tulo 9).

Mecanismo de adaptación que desarrolla la tarea de diseño del regulador. Para


ello se utilizará el modelo actualizado que se tenga de la planta. Nótese que al
ser la estructura del controlador fija, ((diseñar)) el controlador es equivalente a

211
212 INTRODUCCIÓN. ESTRUCTURA GENERAL DE LOS STR

obtener los mejores valores de los parámetros de sintonı́a en base al modelo.

Regulador con parámetros ajustables. Por lo general la estructura es fija y puede


ser cualquier tipo de controlador lineal en el que los parámetros se puedan ajustar.

REFERENCIA -
u
+ CONTROLADOR PLANTA
AJUSTABLE
y

COMPORTAMIENTO DISEÑO DEL ESTIMACIÓN DE


DESEADO CONTROLADOR LA PLANTA

Figura 14.1: Configuración genérica de un regulador o controlador autoajustable.

En los STR clásicos se suele suponer que los procesos son deterministas (es decir no
se consideran fuentes de perturbaciones estocásticas como las vistas en el capı́tulo 7).
Por otra parte es común que el controlador ajustable sea del tipo PID. En realidad,
como es la estructura de un STR es modular, se puede usar cualquier combinación de
controlador/método de identificación.

También se pueden considerar procesos estocásticos en los STR. Es común entonces


que la estructura escogida para el modelo sea la de tipo ARMAX (véase el capı́tulo 7).
El diseño se podrá hacer, por tanto, utilizando un criterio estocástico o no estocástico.
En el caso de que sea un criterio estocástico normalmente se obtienen los parámetros
del regulador mediante la minimización de un cierto ı́ndice de funcionamiento. Por
ejemplo en el regulador de mı́nima varianza (el cual se verá en la sección 14.2) se
intentan minimizar las variaciones con respecto a cero de la salida (se considera un
problema de regulación con referencia nula), que al ser una señal ruidosa se consigue
minimizando la esperanza matemática de la salida en k + d, es decir
© ª
J = E y 2 (k + d)

siendo d el retraso.

Cuando el diseño ser realiza usando un planteamiento no estocástico, se está 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 (véase el
capı́tulo 7). En este caso el ı́ndice de actuación se da en función de unas especifica-
ciones que debe cumplir la salida del sistema, como por ejemplo el tiempo de subida y
CAPÍTULO 14. REGULADORES AUTOAJUSTABLES (STR) 213

establecimiento, etc. . . También se emplearı́an especificaciones que definan la dinámica


resultante como la colocación 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 parámetros de la planta y luego diseñan el controlador para cumplir con
los requisitos (estructura explı́cita) y otros que lo que hacen es estimar el controlador
directamente sin pasar por la estimación previa de la planta (estructura implı́cita).

Un algoritmo con estructura explı́cita constarı́a de los siguientes pasos:

1. Estimar los parámetros del modelo mediante un algoritmo de identificación re-


cursivo.

2. Calcular los parámetros del controlador.

3. Calcular la señal de control y aplicarla.

Estos pasos se repetirı́an en cada tiempo de muestreo.

Los algoritmos de estructura implı́cita son más complicados desde el punto de vista
conceptual. Lo que se hace en ellos es reparametrizar el modelo de la planta y el
controlador en función de los parámetros del controlador. El esquema serı́a el mostrado
en la figura 14.2. Obsérvese en esta figura que no se está pasando por la fase de diseño del

REFERENCIA -
u
+ CONTROLADOR PLANTA
AJUSTABLE
y

IDENTIFICACIÓN
DEL MODELO
REPARAMETRIZADO
COMPORTAMIENTO
DESEADO

Figura 14.2: Configuración genérica de un regulador o controlador autoajustable.

controlador sino que este se identifica, de manera que cumpla con las especificaciones de
diseño. Por eso en la figura 14.2 como la identificación toma como datos de entrada las
214 CONTROL POR MÍNIMA VARIANZA

medidas de la planta y además las especificaciones de diseño. En este tipo de algoritmo


los pasos suelen ser:

1. Estimar los parámetros del modelo reparametrizado.

2. Calcular y aplicar la señal 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 simulación o supervisión. También se puede tener un banco de controladores
seleccionables en función del modelo obtenido. En el caso de los de estructura implı́cita
se necesitan menos cálculos, pero la identificación es más difı́cil (pueden aparecer prob-
lemas de convergencia con más 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 óptimo que pretende reducir el


efecto de las perturbaciones sobre la salida, minimizándose para ello un cierto ı́ndice
de funcionamiento. Efectivamente, la señal de control que se aplica en el instante k, es
decir u(k), se calcula como una función de u(k−1) . . . u(k−nb ) y(k)y(k−1) . . . y(k−na ),
de manera que se minimice © ª
J = E y 2 (k + d|k)
donde E{} es el operador esperanza matemática, y la notación y(k + d|k) indica la
predicción del valor de y en el instante k + d hecha en base a la información disponible
en el instante k. El modelo del proceso que se considera es del tipo ARMAX, el cual
se indica a continuación

A(z −1 )y(k + d) = B(z −1 )u(k) + C(z −1 )v(k + d) (14.1)

donde
A(z −1 ) = 1 + a1 z −1 + · · · + an z −n
B(z −1 ) = b1 z −1 + b2 z −2 + · · · + bn z −n
C(z −1 ) = 1 + c1 z −1 + · · · + cn z −n
CAPÍTULO 14. REGULADORES AUTOAJUSTABLES (STR) 215

y d es el retraso puro1 .

Supóngase que se desea dividir C(z −1 ) entre A(z −1 ). Dicha división de polinomios
producirá 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 expresión dividendo igual a divisor por co-
ciente más resto ası́

C(z −1 ) = A(z −1 )F (z −1 ) + z −(d+1) G(z −1 ) (14.2)

donde
F (z −1 ) = 1 + f1 z −1 + · · · + fd z −d

G(z −1 ) = g0 + g1 z −1 + · · · + gn−1 z −(n−1)


Nótese que el grado de F (z −1 ) es d y el de G(z −1 ) es n − 1. A continuación dividiremos
ambos miembros de la ecuación (14.1) por A(z −1 ) y usaremos (14.2) de manera que se
obtiene
B(z −1 ) −1 z −1 G(z −1 )
y(k + d) = u(k) + F (z )v(k + d) + v(k) (14.3)
A(z −1 ) A(z −1 )
en donde además se ha tenido en cuenta que z −d v(k + d) = v(k). Veamos el significado
de algunos de los términos de (14.3). El término F (z −1 )v(k + d) es una combinación
lineal de los valores de v(k) a v(k + d) cuyo efecto sobre y(k + d) no depende de u(k).
Por otra parte el termino
z −1 G(z −1 )
v(k)
A(z −1 )
representa el efecto sobre la salida de las perturbaciones en instantes anteriores a k.
Por otra parte si dividimos por C(z −1 ) la expresión (14.2) se obtiene

A(z −1 )F (z −1 ) z −(d+1) G(z −1 )


1= +
C(z −1 ) C(z −1 )

que se puede reescribir como

A(z −1 )F (z −1 ) z −(d+1) G(z −1 )


1− = (14.4)
C(z −1 ) C(z −1 )

Por otra parte según el modelo ARMAX

A(z −1 ) B(z −1 ) −d
v(k) = y(k) − z u(k)
C(z −1 ) C(z −1 )
1
Nótese que el polinomio B(z −1 ) no tiene término independiente, lo que se refleja en la forma de
describir el proceso ARMAX en la ecuación (14.1).
216 CONTROL POR MÍNIMA VARIANZA

Esto se puede sustituir en la ecuación (14.3) de manera que se obtiene


· ¸
B(z −1 ) −1 z −1 G(z −1 ) A(z −1 ) B(z −1 ) −d
y(k + d) = u(k) + F (z )v(k + d) + y(k) − z u(k)
A(z −1 ) A(z −1 ) C(z −1 ) C(z −1 )

operando

B(z −1 ) −1 z −1 G(z −1 ) G(z −1 )B(z −1 ) −(d+1)


y(k + d) = u(k) + F (z )v(k + d) + y(k) − z u(k)
A(z −1 ) C(z −1 ) A(z −1 )C(z −1 )

que, agrupando los términos que contienen u(k), es a su vez es igual a


· ¸
−1 z −1 G(z −1 ) 1 G(z −1 )z −(d+1)
y(k + d) = F (z )v(k + d) + −1
y(k) + −1
1− −1
B(z −1 )u(k)
C(z ) A(z ) C(z )

Recuérdese ahora la ecuación (14.4) y sustitúyase en la anterior para obtener

z −1 G(z −1 ) F (z −1 )B(z −1 )
y(k + d) = F (z −1 )v(k + d) + y(k) + u(k)
C(z −1 ) C(z −1 )

A partir de esta ecuación podemos calcular J y ver que valor de u(k) hace mı́nimo J:
½ ¾2
© 2 ª © −1
ª2 F (z −1 )B(z −1 ) z −1 G(z −1 )
E y (k + d) = E F (z )v(k + d) + E u(k) + y(k)
C(z −1 ) C(z −1 )
½ µ ¶¾
−1 F (z −1 )B(z −1 ) z −1 G(z −1 )
+2E F (z )v(k + d) u(k) + y(k)
C(z −1 ) C(z −1 )

Si se intenta minimizar la expresión anterior se tiene que el primer término no depende


de u(k), por lo que no influye a la hora de calcular el valor de u(k) que hace mı́nimo
J. Por tanto, ese término puede ser descartado. Por otra parte, el tercer término es la
esperanza matemática de una expresión la que aparece términos en los que los valores
de la perturbación v(k + i) i = 0 . . . d multiplican valores actuales y pasados de y(k)
y u(k). Como los valores de v(k + i) i = 0 . . . d son independientes (incorrelados)
de los de y(k) y u(k) la esperanza matemática que aparece en ese tercer término es
cero. Por tanto, nos queda sólo el segundo término que es el que hay que minimizar.
Para ello basta con calcular el valor que hace cero lo que está dentro de las llaves y
ası́ el cuadrado será cero (que es el mı́nimo valor posible de una función cuadrática).
El resultado es
z −1 G(z −1 )
u(k) = − y(k) (14.5)
F (z −1 )B(z −1 )
que se puede reescribir también como (y ası́ aparece en algunos textos)

G(z −1 )
u(k) = − y(k) (14.6)
zB(z −1 )F (z −1 )
CAPÍTULO 14. REGULADORES AUTOAJUSTABLES (STR) 217

Ejemplo 14.1

Considérese el siguiente sistema lineal

yk = ayk−1 + buk−2

Se pide encontrar la expresión del regulador de mı́nima varianza.

En este caso es fácil 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+
f1 z −1 . La figura 14.3 nos muestra la división hecha paso a paso a la manera tradicional.
Por tanto F (z −1 ) = 1 + az −1 . El resto que en este caso es a2 z −2 debe identificarse con

1 1-az-1
1-az-1 1+az-1
az-1
az-1-a2z -2
a2z -2

Figura 14.3: División de polinomios para el ejemplo 14.2.

la expresión z −2 G(z −1 ), por lo que es evidente que en este caso G(z −1 ) = a2 . Luego
recordando la expresión (14.5) obtenemos que el regulador de mı́nima varianza para
este caso es
−z −1 a2 a2
uk = yk = − yk
(1 + az −1 )bz −1 (1 + az −1 )b

14.2.1. El regulador de mı́nima varianza generalizado

El control por mı́nima varianza tal y como se ha presentado aquı́ presenta problemas
cuando el sistema es de fase no mı́nima ya que al tener ceros inestables estos se cance-
larán mediante polos inestables. Esta situación no es deseable, por que en la práctica
puede que los ceros cambien de posición, bien por imprecisión en el modelo del sistema
o por variaciones de la dinámica del sistema. En este caso los ceros no se canceları́an
con los polos con lo cual añadirı́amos polos inestables al sistema. Evidentemente esto
último llevarı́a a la inestabilidad del sistema. Existen variaciones del regulador de mı́ni-
ma varianza que tratan este problema y además incorporan seguimiento de referencias
y ponderación del esfuerzo de control (es decir, que además de perseguir el objetivo de
218 ASIGNACIÓN 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 más conocida es la del regulador de
mı́nima varianza generalizado. La idea de este regulador es la de considerar el siguiente
ı́ndice de funcionamiento
n¡ ¢2 o
−1 −1 −1
J = E Q(z )y(k + d) + R(z )u(t) − P (z )ref(t + d)

donde Q(z −1 ), R(z −1 ) y P (z −1 ) son funciones de ponderación estables que tienen la


forma
Qn (z −1 ) Rn (z −1 ) Pn (z −1 )
Q(z −1 ) = R(z −1
) = P (z −1
) =
Qd (z −1 ) Rd (z −1 ) Pd (z −1 )
Bajo estas condiciones la señal de control que minimiza J es

Rd (z −1 ) (C(z −1 )P (z −1 )ref(t) − G(z −1 )y(t))


u(k) = (14.7)
Qd (z −1 )(Rd (z −1 )F (z −1 )zB(z −1 ) + C(z −1 )Rd (z −1 ))

En las expresiones anterior R(z −1 ) se utiliza para ajustar la velocidad de la respuesta


del controlador, con el objeto por ejemplo de prevenir la saturación de los actuadores.
Por otra parte se suele tomar Qd (z −1 ) = 1 − z −1 de manera que la ley de control
resultante tiene un integrador por lo que se rechazan perturbaciones constantes.

Finalmente existen otras variaciones de la formulación presentada aquı́. Por ejemplo


una versión del regulador de mı́nima varianza que sólo soluciona el seguimiento de
referencia (no irı́a bien con sistemas de fase no mı́nima) resulta en la expresión

G(z −1 ) C(z −1 )
u(t) = − y(t) − ref(t + d) (14.8)
zB(z −1 )F (z −1 ) zB(z −1 )F (z −1 )

14.3. Asignación de polos y ceros

De entre los métodos basados en criterios no estocásticos se recoge aquı́ el método


de asignación de polos y ceros debido a Aström y Wittenmark. En el capı́tulo 6 ya se
trató el problema de la asignación de polos mediante realimentación lineal del vector
de estados. Es conocido que con un sólo controlador no se pueden asignar polos y ceros
arbitrariamente, por lo que usualmente se prefiere asignar los polos. El método que
aquı́ se presenta se basa por tanto en una estructura más compleja que permite colocar
los polos y los ceros en las posiciones deseadas. Dicha estructura se presenta en la figura
14.4.

El objetivo del procedimiento es que la función de transferencia de bucle cerrado


CAPÍTULO 14. REGULADORES AUTOAJUSTABLES (STR) 219

w(k)
S(z−1 )
1 B(z -1 )z −d y(k)
M(z )
−1
A(z-1 )

G(z− )
1

Figura 14.4: Estructura para la asignación de polos y ceros.

sea igual a una dada, que supondremos denotada por

Rm (z −1 ) −d
y(k) = z w(k) (14.9)
Pm (z −1 )

donde se asume que Rm (z −1 ) y Pm (z −1 ) no tienen factores comunes y además 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 álgebra de bloques se llega a la conclusión


de que la función de transferencia entre w(k) (la referencia a seguir) y y(k) es

S(z −1 )B(z −1 )z −d
y(k) = w(k)
A(z −1 )M (z −1 ) + B(z −1 )G(z −1 )z −d

Igualando esta expresión con la función 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 sección 14.2.1 no es conveniente que se cancelen ceros


inestables con polos inestables, por lo que se imponen que las raı́ces inestables de
B(z −1 ) formen parte también 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 último polinomio como

Rm (z −1 ) = B − (z −1 )Rm1 (z −1 )

Impondremos además que las raı́ces estables de B(z −1 ) estén en M (z −1 ), de manera


que tendremos
M (z −1 ) = M1 (z −1 )B + (z −1 )
220 ASIGNACIÓN DE POLOS Y CEROS

Por otra parte se asume que, además de especificarse el retraso y los polinomios que
definen la función 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
expresión
S(z −1 ) = A0 (z −1 )Rm1 (z −1 )
Con todo lo anterior y la ecuación (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 ecuación polinomial, donde las incógnitas son M1 (z −1 ) y G(z −1 ), que
puede resolverse mediante diferentes métodos2 . Quizás el más simple (pero no más
eficiente) sea plantear un sistema de ecuaciones lineales donde las incógnitas 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 ecuación tenga solución
única. 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 asignación de polos y ceros es equivalente al


MRAC. Por otra parte según el sistema podemos tener casos simplificados:

1. Cancelación 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 ecuación quedarı́a como

A(z −1 )M1 (z −1 ) + G(z −1 )z −d = A0 (z −1 )Pm (z −1 )


2
De hecho es una ecuación polinomial diofántica. Este tipo de ecuaciones las encontraremos de
nuevo en el capı́tulo 17, donde se verán otros métodos para resolverla.
CAPÍTULO 14. REGULADORES AUTOAJUSTABLES (STR) 221

2. No se cancela ningún 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 ecuación 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 después el de estructura explı́cita.

14.3.1. Algoritmo con estructura implı́cita.

Nótese que multiplicando ambos miembros de la ecuación (14.11) por y(k) se obtiene

A(z −1 )M1 (z −1 )y(k) + B − (z −1 )G(z −1 )z −d y(k) = A0 (z −1 )Pm (z −1 )y(k)

que dado que A(z −1 )y(k) = B(z −1 )z −d u(k) es equivalente a

M1 (z −1 )B(z −1 )z −d u(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 ecuación (14.12) expresa una relación 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 método de identificación recursivo), usando los
valores experimentales de la entrada y la salida. Obsérvese que al identificarse dicho
modelo reparametrizado se estarán identificando los parámetros del controlador además
de parte de los parámetros de la planta. Estos últimos no son sin embargo necesarios,
se pueden considerar un ((subproducto)) del proceso de identificación 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 ASIGNACIÓN DE POLOS Y CEROS

1. Obtener una estimación actualizada de M (z −1 ), G(z −1 ), B − (z −1 ) mediante la


identificación del modelo reparametrizado (14.12).

2. Calcular y aplicar
1 ¡ −1 −1
¢
u(k) = S(z )w(k) − G(z )y(k)
M (z −1 )

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 estimación actualizada de A(z −1 ) y B(z −1 ) mediante la identifi-


cación del modelo
B(z −1 ) −d
y(k) = z u(k)
A(z −1 )

2. Factorizar B(z −1 ) = B + (z −1 )B − (z −1 ).

3. Resolver la ecuación (14.11).

4. Calcular y aplicar
1 ¡ −1 −1
¢
u(k) = S(z )w(k) − G(z )y(k)
M (z −1 )

donde S(z −1 ) = A0 (z −1 )Rm1 (z −1 ) y M (z −1 ) = M1 (z −1 )B + (z −1 ).

Es fácil ver que este algoritmo tiene más cálculos que el anterior, en particular la
factorización de B(z −1 ) y la resolución de la ecuación polinomial (14.11), tareas ambas
que pueden ser costosas en un hardware industrial no muy potente (además de más
complicadas de implementar). Sin embargo desde el punto de vista práctico suele tener
menos problemas.
Capı́tulo 15

Controladores PID con autoajuste


y Ajuste por tabla

15.1. Introducción

En este capı́tulo se revisaran algunas de las técnicas de control adaptativo con mayor
aplicación en la industria. Éstas no son tan ambiciosas como algunas de las presentadas
hasta ahora y sin embargo son definitivamente estrategias de control avanzado que han
demostrado ser útiles en la práctica. Además de las técnicas referidas en el tı́tulo del
capı́tulo se concluirá el temario relativo a control adaptativo con un breve repaso a
algunos sistemas comerciales.

15.2. Función de autoajuste (autotuning )

Los reguladores adaptativos vistos hasta ahora, es decir los MRAC y STR, necesitan
para poder funcionar correctamente un conocimiento básico a priori de la planta. A fin
de poder obtener esa información lo mas fácilmente posible, los fabricantes introdujeron
en los controladores adaptativos comerciales un modo de sintonı́a previa (pre-tune), que
obtenı́a dicha información básica.

Paralelamente, se estaban desarrollando técnicas para poder ajustar automática-


mente controladores de tipo PID sin necesidad de intervención del operario. Lo que

223
224 FUNCIÓN DE AUTOAJUSTE (AUTOTUNING)

ocurrió, es que se vio que para poder ajustar un PID automáticamente bastaba con la
información básica que proporcionaban los modos pre-tune de los controladores adap-
tativos.

Por otra parte, desde el mundo industrial una de las caracterı́sticas más demandadas
era una función de autoajuste inicial. Al instalarse el controlador se activarı́a dicha
función (apretando un botón en el panel de control) a lo que el controlador responderı́a
realizando una baterı́a de tests pre-programados que darı́an como resultado el ajuste
automático del controlador. Esta demanda surge de la dificultad y el engorro de ajustar
un controlador inicialmente. Lo que hicieron los fabricantes de PID fue aprovechar los
resultados obtenidos en el desarrollo de funciones pre-tune en controladores adaptativos
para dotar a sus PID de una función de autoajuste como la que demandaban los
usuarios.

Para conseguir el autoajuste se puede utilizar cualquier técnica de control adap-


tativo que permita estimar los parámetros adecuados, con el único requisito de que
los ensayos requeridos sean sencillos, a fin de poderse realizar de manera automática.
Desde el punto de vista práctico, los controladores con autoajuste tendrán dos modos
de funcionamiento, el modo normal en el cual funcionan como cualquier controlador
y el de ajuste. En el modo de ajuste el control se desconecta, se realizan los ensayos
necesarios y después se vuelve al modo normal con el controlador ajustado.

Por tanto un controlador con autoajuste realiza tareas de modelado (identificación),


y diseño del controlador, de manera transparente al usuario, por lo que se simplifican
mucho las tareas de instalación y puesta en marcha de los controladores. Por otra parte
no incrementan en mucho el coste final del controlador y son una manera de introducir
técnicas 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 autónoma va adaptándose de una manera más o menos continuada.
En un controlador con función de autoajuste, dicho autoajuste sólo se realiza bajo de-
manda del operador, y usualmente sólo cuando se instala o se cambia sustancialmente
las condiciones del equipo a controlar.
CAPÍTULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 225

15.3. Funciones de autoajuste para PIDs

Antes de tratar las distintas técnicas existentes para ajustar automáticamente PIDs
es importante hacer notar que los PIDs industriales (figura 15.1) no son exactamente
iguales a las formulaciones académicas que se enseñan en cursos básicos de control. Por

Figura 15.1: PID industrial moderno con función de autoajuste (ABB modelo ECA).

ejemplo, en lugar de considerarse la derivada del error se suele usar la derivada de la


salida y además a veces ni siquiera se emplea la derivada exacta de la salida, sino que se
usa una aproximación de la misma que reduce la ganancia en altas frecuencias, a fin de
minimizar los efectos del ruido. Ası́ mismo a la hora de calcular la parte proporcional
de la acción de control no se suele usar el valor exacto de la referencia a seguir, sino
una fracción del mismo, a fin de evitar cambios bruscos en la salida del proceso. Otro
detalle muy importante es que se suele incorporar una función de anti-windup que,
básicamente, consiste en que cuando el actuador se satura (alcanza su lı́mite fı́sico de
operación), se deja de integrar el error. Con esto se consigue que, cuando empieza a
disminuir el error, el actuador deja de estar saturado, es decir que se consigue que el
descenso del error se manifieste en un decremento de la señal de actuación.

Sin entrar en demasiados detalles un PID más realista que la versión académica
vendrı́a dado por la siguiente expresión:

u(t) = f (v(t))

donde u(t) es la señal de actuación que se aplica, f (·) es una posible (se suele dar casi
siempre) no-linealidad debida al actuador y

v(t) = P (t) + I(t) + D(t)


226 FUNCIONES DE AUTOAJUSTE PARA PIDS

donde P (t) es la acción proporcional que se calcula mediante


P (t) = Kc (βref(t) − y(t)) 0,7 ≤ β ≤ 1
I(t) es la acción integral que se calcula mediante
dI Kc 1
= (ref(t) − y(t)) + (u(t) − v(t))
dt Ti Tt
En la expresión anterior el último término que se suma se usan para lograr el efecto
anti-windup de manera que la acción integral se mantenga acotada cuando el actuador
se sature. El parámetro Tt es una constante de tiempo para reinicializar la acción
integral cuando aparezca la saturación y suele ser una fracción del tiempo integral Ti .
Por otra parte la acción derivativa se calcula usando
Td dD dy
= −D − Kc Td
N dt dt
donde el parámetro N es fijo y suele tomarse igual a 10.

En cuanto a las técnicas para sintonizar automáticamente PIDs, la gran mayorı́a


están basadas en experimentos simples que el PID puede llevar a cabo por si solo. Estos
experimentos podrán ser en bucle abierto o cerrado, de ahı́ que luego distingamos dos
tipos de técnicas. Hay que mencionar que en los PID industriales el ajuste automático
viene realizado por el propio PID, o por un módulo separado que se coloca en lugar del
PID para realizar los experimentos, y que devuelve los valores de los parámetros del
PID. Este módulo deberá ser compatible con los distintos modelos de PID que se usen en
la planta, ya que para calcular los parámetros deben conocerse todas las peculiaridades
de los algoritmos usados por cada PID. Otros métodos más sofisticados son los que
se basan en técnicas de inteligencia artificial principalmente sistemas expertos. Estos
programas monitorizan en paralelo el funcionamiento de la planta y cuando se producen
cambios de referencia o perturbaciones importantes los aprovechan para analizar la
dinámica de la planta, estimándose valores para parámetros como ganancias, factores de
amortiguamiento, etc . . . Estos parámetros son los que luego se usarán para sintonizar
el PID. Esta técnica se utiliza por ejemplo en controladores de las marcas Foxboro o
Fenwal.

15.3.1. Técnicas de ajuste basadas en la respuesta transitoria

Estas son técnicas de ajuste en bucle abierto que se basan en aplicar un escalón en
la señal de entrada del lazo que se quiere sintonizar y ajustar un modelo simple del
tipo
k
G(s) = e−sL (15.1)
1 + sT
CAPÍTULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 227

Conocidos los parámetros del modelo el PID se puede ajustar usando técnicas del
tipo Ziegler-Nichols de bucle abierto. Otros métodos están basados en medida de áreas
como la que se describe a continuación. Considérese la figura 15.2. El procedimiento
para calcular T y L comienza por el cálculo de A0 . De ahı́ se determina
A0
L+T =
k
y de ahı́ se puede medir A1 , la cual se usa para obtener T mediante
eA1
T =
k
donde e es la base de los logaritmos neperianos. Una vez que se conoce L + T y T se
puede obtener L y con eso ya están estimados todos los parámetros.

A0

A1

L+T

Figura 15.2: Determinación de T y L por áreas.

15.3.2. Métodos basados en las oscilaciones producidas al re-


alimentar con un relé

Los métodos de ajuste basados en la respuesta transitoria son simples, pero muy
sensibles a las perturbaciones, ya que las pruebas se realizan en bucle abierto. Las
técnicas basadas en experimentos en bucle cerrado no tienen este problema. De estas
técnicas veremos la que está basada en las oscilaciones producidas al realimentar con
un relé. 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 relé en la cadena
1
El estudio de los ciclos lı́mite no pertenece a esta asignatura. Baste saber que son oscilaciones con
entrada nula o referencia constante que aparecen en ciertos sistemas y que pueden provocarse con la
estructura presentada aquı́.
228 LA TÉCNICA DE AJUSTE POR TABLA O GAIN SCHEDULING

PID

r + u y
PROCESO
-

RELÉ

Figura 15.3: Estructura usada en el método basado en oscilaciones de relé.

directa. Los parámetros del ciclo lı́mite contienen información suficiente para calcular
los parámetros de ajuste del PID.

El procedimiento consiste en desconectar el controlador a la hora de hacer el ajuste


y sustituirlo por el relé. En la salida comenzarán a aparecer oscilaciones que se em-
pezarán a repetir periódicamente cuando el ciclo lı́mite aparezca. Una vez que se han
determinado los parámetros del ciclo lı́mite se calculan los del PID y se vuelve a conec-
tar el controlador. El método más conocido para calcular los parámetros del PID es el
método de Ziegler-Nichols de bucle cerrado. Suponiendo una referencia nula, si el ciclo
lı́mite resultante tiene amplitud a y frecuencia ωu entonces los parámetros del método
de Ziegler-Nichols de bucle cerrado, es decir, la ganancia crı́tica Ku y el periodo crı́tico
Tu son iguales a
4d 2π
Ku = Tu =
πa ωu
donde d es la amplitud del relé.

15.4. La técnica de ajuste por tabla o gain schedul-


ing

Existen otros controladores que proporcionan una cierta capacidad de adaptación


pero que no encajan en el esquema tı́pico discutido en el capı́tulo 13 ya que la adaptación
se realiza en bucle abierto. Este esquema, más limitado se ilustra en la figura 15.4. Puede
observarse que en este caso, el ajuste de los parámetros no se realiza en función del
comportamiento del sistema, sino que se utilizan los valores de una variable auxiliar
para decidir cuales son los mejores valores de los parámetros del regulador. De ahı́ que
se diga que la adaptación es en bucle abierto.

Un esquema de control tı́pico que utiliza la estructura de la figura 15.4 es el popular


gain scheduling o ajuste por tabla. En este esquema, los parámetros del controlador que
CAPÍTULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 229

-
+ CONTROLADOR u
PLANTA
y
REFERENCIA AJUSTABLE

MEDIDA DE LA MECANISMO DE
VARIABLE ADAPTACIÓN
MEDIO AUXILIAR
AMBIENTE

Figura 15.4: Configuración genérica de un controlador adaptativo con adaptación en bucle abierto.

se usan en cada instante vienen determinados por una tabla precalculada para varios
puntos de funcionamiento o valores de la variable auxiliar. Este tipo de control es muy
popular, por ejemplo, en sistemas de control de vuelo, en los que los parámetros del
controlador se seleccionan de un conjunto de parámetros precalculados en función de
la altura de vuelo. Por supuesto, este tipo de control funciona bien si entre la variable
auxiliar y la dinámica del sistema existe una fuerte relación, que permite determinar
el valor de los parámetros en función del valor observado de la variable auxiliar. Una
ventaja que tiene este esquema es que los parámetros del control se pueden cambiar
(adaptar) a la misma velocidad a la que cambia la dinámica del sistema pues estos
cambios se reflejan sobre la variable auxiliar a la vez que se producen. Esta rapidez en
el cambio de los parámetros puede ser, sin embargo, contraproducente. Por otra parte la
construcción de la tabla puede ser muy complicada. De hecho no existe una metodologı́a
universal, sino que para cada aplicación ha de verse como llevar a la práctica las ideas
del gain scheduling. Por último 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 están bien
diseñados. Algunas de las aplicaciones tı́picas son:

Linealización de la caracterı́stica de ciertos actuadores. Tal y como se vio en la


sección 13.2 la caracterı́stica no lineal de un actuador se puede aproximar por un
modelo linealizado a trozos, de manera que en función del punto de operación del
actuador se escogerán unos valores u otros para el controlador.

Control de pH. En estos sistemas se presentan no linealidades originadas tanto


por los elementos de control (válvulas, bombas, sensores) como por las reacciones
230 LA TÉCNICA DE AJUSTE POR TABLA O GAIN SCHEDULING

quı́micas propias del proceso. La no linealidad principal proviene de la relación


entre las concentraciones de los reactivos y el pH de la solución resultante. Dicha
relación se representa en la llamada curva de pH2 . En dicha curva se representa
el pH en función de las diferencias en las concentraciones de los reactivos. En la
figura 15.5 se muestra dicha curva para una solución acuosa de ácido clorhı́drico
y sosa cáustica (es decir un par ácido-base). Puede observarse que en este caso
la no linealidad también se puede aproximar bien por un modelo linealizado a
tramos.
12

11

10

8
pH

2
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
Diferencia entre las concentraciones acido−base −3
x 10

Figura 15.5: Curva de pH para una solución de HCl 0.001 M y NaOH 0.001 M.

Control de la mezcla aire combustible en un motor de combustión. 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 parámetros del controlador (si los valores de las variables no coinciden
con los de ninguna entrada se interpola con las más próximas). La variable de
control es el tiempo de apertura de la válvula de inyección de combustible. En este
caso se presenta otra no linealidad debida al sensor utilizado para medir la pro-
porción de aire y combustible. Este sensor denominado sonda lambda tiene una
caracterı́stica que de manera aproximada viene representada por la figura 15.6.
De hecho la señal de error que se envı́a al PI se genera mediante la expresión
½
1 si V > 0,5
e=
−1 si V ≤ 0,5
2
En realidad el nombre técnico es curva de titración, aunque tales detalles no son relevantes en
esta asignatura
CAPÍTULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 231

0.9

0.8

0.7
Voltaje de salida (V)

0.6

0.5

0.4

0.3

0.2

0.1

0
0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5
Relación combustible − aire (λ)

Figura 15.6: Caracterı́stica aproximada de una sonda lambda

Control de vuelo. Es el ejemplo clásico, en este caso, se puede encontrar una


relación entre los parámetros óptimos del controlador y la altura, la velocidad y
el número de Mach.

Control de la dirección de un barco. En este caso la dinámica considerada para


el control de la dirección depende de la velocidad del barco y de ciertas variables
relacionadas con el tiempo atmosférico, como la fuerza y dirección del viento (en
realidad dichas variables atmosféricas no afectan a la dinámica del barco en si,
sino a la de las perturbaciones que este sufre).

A modo de conclusión, podemos decir que la técnica de gain scheduling se puede


usar con éxito cuando las no linealidades que se pretendan compensar se conocen bien
a priori. Por otra parte como la adaptación es en bucle abierto, es necesario conocer
bien tanto la dinámica del proceso como la de las perturbaciones.

15.5. Controladores adaptativos industriales

Las técnicas de control adaptativo han llegado al mundo industrial en distintas


formas y capacidades, entre las cuales podemos distinguir las siguientes.

Herramientas para sintonizar controladores. Están basadas en experimentos co-


mo los que se han descrito en la sección 15.3. A veces se encuentran como com-
232 CONTROLADORES ADAPTATIVOS INDUSTRIALES

ponentes opcionales del controlador como en el caso de los sistemas Protonic


(Hartman & Braun) o UDC 6000 (Honeywell). Estos combinan reglas empı́ricas
y técnicas de colocación de polos usando experimentos en bucle abierto. Las es-
trategias de oscilaciones mediante relé también 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 módulos 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 parámetros


de manera más o menos continua. Los hay que están basados en la identificación
de un modelo mediante mı́nimos cuadrados recursivos como los CLC04 (Bailey
Controls) y SLPC-181/281 (Yokogawa) que además utilizan una estrategia de
control por colocación de polos. Algunos, como el SattControl ECA40, no identi-
fican un modelo paramétrico sino que usan reglas del tipo Ziegler-Nichols de bucle
cerrado, a partir de experimentos de realimentación con relé. Por otra parte exis-
ten otros más ambiciosos que están basados en sistemas expertos y en técnicas 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-
bién están presentes en ciertos controladores como el SattControl ECA 400 o el
DPR910 (Fisher-Rosemount).

Controladores adaptativos basados en autómatas programables. Los autómatas


programables ganan terreno dı́a a dı́a en cualquier aplicación industrial de control.
3M y General Electric tienen en su catálogo aplicaciones de control adaptativo
basados en sus autómatas.

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, automoción, y ciertas industrias.

A continuación se analizarán en mayor detalle algunos controladores especialmente


interesantes.
3
Mas tarde Alfa-Laval y actualmente ABB.
CAPÍTULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 233

15.5.1. SattControl ECA40 y Fisher-Rosemount DPR900

Estos controladores están basados en oscilaciones inducidas mediante realimentación


con un relé. Incluyen una función de ”sintonı́a pulsando un botón”. Además 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 detección 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 parámetros. Para ello se utilizan una versión modificada del
método de Ziegler-Nichols. Una vez se calculan los parámetros el controlador conmuta
a modo automático. El ajuste ofrece tres perfiles diferentes: control normal, lento o
rápido. La reacción de la comunidad industrial a estos productos ha sido muy buena,
encontrándose particularmente útil en industrias que no tienen personal especializado
en todos los turnos.

15.5.2. Foxboro EXACT

Este sistema está basado en la respuesta transitoria de bucle cerrado, es decir es


de bucle cerrado pero no usa las oscilaciones inducidas por un relé. Lo que se emplea
es un escalón o perturbación aplicada al sistema y de la evolución de la salida a par-
tir de ese instante se obtiene información que permite ajustar el controlador usando
Ziegler-Nichols. Este controlador requiere información previa para poder sintonizar au-
tomáticamente, concretamente una estimación previa de Kc , Ti y Td , ası́ como de la
escala de tiempos del proceso. Si esta información se desconoce se puede usar el modo
de pre-tune incorporado que la obtiene mediante la aplicación de un escalón. Es nece-
sario sin embargo que el proceso esté en regimen permanente. La aceptación comercial
de este producto ha sido excelente y se han vendido miles de unidades. A modo de
anécdota 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) está basada entre otras cosas en el
control de mı́nima varianza y ofrece la capacidad de especificar la posición 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 − Pl z −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 predicción. 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 ponderación. La experiencia en el uso de esta herramienta


demuestra que da mejores resultados que el control PID convencional.
Capı́tulo 16

Control Predictivo Basado en


Modelo (MPC)

16.1. Perspectiva histórica

El Control Predictivo se desarrolló en base a dos lı́neas básicas. Por un lado, a finales
de los años setenta surgieron diversos algoritmos que usaban explı́citamente un modelo
dinámico del proceso para predecir el efecto de las acciones de control futuras en la
salida, las cuales eran determinadas minimizando el error predicho sujeto a restricciones
de operación. La optimización se repetı́a en cada instante de muestreo con información
actualizada del proceso. Estas formulaciones eran de naturaleza heurı́stica y algorı́tmica
e intentaban aprovechar el creciente potencial de los computadores digitales por aquélla
época.

Rápidamente el mpc adquirió 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 escalón, que aunque posea muchos más parámetros que las
formulaciones en el espacio de estados o función de transferencia suele ser preferido
por ser intuitivo y necesitar menos información 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 Dinámica, 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 BÁSICOS DE CONTROL PREDICTIVO

formuladas con modelos entrada/salida. En este contexto se extendieron las ideas del
Controlador de Mı́nima Varianza y se desarrolló el Control Predictivo Generalizado
(Generalized Predictive Control gpc) que es uno de los métodos más populares en la
actualidad.

16.2. Conceptos básicos de control predictivo

El Control Predictivo Basado en Modelo, Model (Based) Predictive Control (mbpc


ó mpc) constituye un campo muy amplio de métodos de control desarrollados en torno
a ciertas ideas comunes e integra diversas disciplinas como control óptimo, control
estocástico, control de procesos con tiempos muertos, control multivariable o control
con restricciones.

El Control Predictivo no es una estrategia de control especı́fica, sino que se trata


más bien de un campo muy amplio de métodos de control desarrollados en torno a
ciertas ideas comunes. Estos métodos de diseño conducen a controladores lineales que
poseen prácticamente la misma estructura y presentan suficientes grados de libertad.
Las ideas que aparecen en mayor o menor medida en toda la familia de controladores
predictivos son básicamente:

Uso explı́cito de un modelo para predecir la salida del proceso en futuros instantes
de tiempo (horizonte).

Cálculo de las señales de control minimizando una cierta función objetivo.

Estrategia deslizante, de forma que en cada instante el horizonte se va desplazan-


do hacia el futuro, lo que implica aplicar la primera señal de control en cada
instante y desechar el resto, repitiendo el cálculo en cada instante de muestreo.

Los distintos algoritmos de mpc difieren entre sı́ casi exclusivamente en el modelo
usado para representar el proceso y los ruidos y en la función de coste a minimizar.
Aunque las diferencias puedan parecer pequeñas a priori, pueden provocar distintos
comportamientos en bucle cerrado, siendo crı́ticas para el éxito de un determinado
algoritmo en una determinada aplicación.

El Control Predictivo es un tipo de control de naturaleza abierta dentro del cual se


han desarrollado muchas realizaciones, encontrando gran aceptación tanto en aplica-
ciones industriales como en el mundo académico. En la actualidad existen numerosas
CAPÍTULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 237

aplicaciones de controladores predictivos funcionando con éxito, tanto en la industria


de procesos como en control de motores o Robótica. 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 intervención durante largos perı́odos
de tiempo.

El mpc presenta una serie de ventajas sobre otros métodos, entre las que destacan:

Resulta particularmente atractivo para personal sin un conocimiento profundo


de control, puesto que los conceptos resultan muy intuitivos, a la vez que la
sintonización es relativamente fácil.

Puede ser usado para controlar una gran variedad de procesos, desde aquéllos con
dinámica relativamente simple hasta otros más complejos incluyendo sistemas con
grandes retardos, de fase no mı́nima o inestables.

Permite tratar con facilidad el caso multivariable.

Posee intrı́nsecamente compensación del retardo.

Resulta conceptualmente simple la extensión al tratamiento de restricciones, que


pueden ser incluidas de forma sistemática durante el proceso de diseño.

Es muy útil cuando se conocen las futuras referencias (robótica o procesos en


batch).

Es una metodologı́a completamente abierta basada en algunos principios básicos


que permite futuras extensiones.

Pero, lógicamente, también presenta inconvenientes. Unos de ellos es la carga de


cálculo necesaria para la resolución de algunos algoritmos. Pero quizás el mayor in-
conveniente venga marcado por la necesidad de disponer de un modelo apropiado del
proceso. El algoritmo de diseño está basado en el conocimiento previo del modelo y es
independiente de éste, pero resulta evidente que las prestaciones obtenidas dependerán
de las discrepancias existentes entre el proceso real y el modelo usado.

16.3. Estrategia de los controladores predictivos

La metodologı́a de todos los controladores pertenecientes a la familia del mpc se


caracteriza por la estrategia siguiente, representada en la figura 16.1:
238 ESTRATEGIA DE LOS CONTROLADORES PREDICTIVOS

u(t+k|t)

u(t)

^y(t+k|t)
y(t)
N

t-1 t t+1 ... t+k ... t+N


Figura 16.1: Estrategia del Control Predictivo

1. En cada instante t y haciendo uso del modelo del proceso se predicen las futuras
salidas para un determinado horizonte N , llamado horizonte de predicción. Estas
salidas predichas, ŷ(t + k | t)1 para k = 1 . . . N dependen de los valores conocidos
hasta el instante t (entradas y salidas pasadas) y de las señales de control futuras
u(t + k | t), k = 0 . . . N − 1 que se pretenden mandar al sistema y que son las
que se quieren calcular.

2. El conjunto de señales de control futuras se calcula optimizando un determinado


criterio en el que se pretende mantener el proceso lo más próximo posible a la
trayectoria de referencia w(t + k) (que puede ser directamente el setpoint o una
suave aproximación a éste). Este criterio suele tomar la forma de una función
cuadrática de los errores entre la salida predicha y la trayectoria de referencia
también predicha, incluyendo en muchos casos el esfuerzo de control. Si el criterio
es cuadrático, el modelo lineal y no existen restricciones se puede obtener una
solución explı́cita, en otro caso se debe usar un método iterativo de optimización.
Adicionalmente se hace alguna suposición sobre la estructura de la ley de control
futura, como por ejemplo que va a ser constante a partir de cierto instante.

3. La señal de control u(t | t) es enviada al proceso mientras que las siguientes


señales de control calculadas son desechadas, puesto que en el siguiente instante
1
la notación indica el valor de la variable en el instante t + k calculado en el instante t.
CAPÍTULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 239

Entradas y salidas Trayectoria


Salidas de referencia
pasadas predichas +
Modelo
-

Controles
futuros

Optimizador
Errores futuros

Funcion de coste Restricciones


Figura 16.2: Estructura básica del MPC

de muestreo ya se conoce y(t + 1) y se repite el paso 1 con este nuevo valor y


todas las secuencias son actualizadas. Se calcula por tanto u(t + 1 | t + 1) (que en
principio será diferente al u(t + 1 | t) al disponer de nueva información), haciendo
uso del concepto de horizonte deslizante.

Para llevar a cabo esta estrategia, se usa una estructura como la mostrada en la
figura 16.2. Se hace uso de un modelo para predecir las salidas futuras del proceso,
basándose en las futuras señales de control propuestas. Estas señales son calculadas
por el optimizador teniendo en cuenta la función de coste (donde aparece el futuro
error de seguimiento) ası́ como las restricciones. Por tanto el modelo juega un papel
decisivo en el controlador. El modelo elegido debe ser capaz de capturar la dinámica del
proceso para poder predecir las salidas futuras al mismo tiempo que debe ser sencillo
de usar y de comprender.

El optimizador es otra parte fundamental de la estrategia pues proporciona las


acciones de control. Si la función de coste es cuadrática, el mı́nimo se puede obtener
como una función explı́cita de las entradas y salidas pasadas y de la trayectoria de
referencia. Sin embargo, cuando existen restricciones de desigualdad la solución debe
ser calculada por métodos numéricos con más carga de cálculo.
240 ELEMENTOS BÁSICOS

16.4. Elementos básicos

Todos los controladores predictivos poseen elementos comunes y para cada uno de
estos elementos se pueden elegir diversas opciones, dando lugar a distintos algoritmos.
Estos elementos son:

Modelo de predicción

Función objetivo

Obtención de la ley de control

16.4.1. Modelo de predicción

La piedra angular del mpc es el modelo; un diseño completo debe incluir los mecan-
ismos necesarios para la obtención del mejor modelo posible, el cual debe ser lo sufi-
cientemente rico para capturar al maximo la dinámica del proceso y debe ser capaz de
permitir el cálculo de las predicciones a la vez que sea intuitivo y permita un análisis
teórico. El uso del modelo del proceso viene determinado por la necesidad del cálcu-
lo de la salida predicha en instantes futuros ŷ(t + k | t). Las diferentes estrategias
de mpc pueden usar distintos modelos para representar la relación de las salidas con
las entradas medibles, algunas de las cuales serán variables manipuladas y otras se
pueden considerar como perturbaciones medibles, que pueden ser compensadas por ac-
ción feedforward. Además se tendrá en cuenta un modelo de las perturbaciones, para
intentar describir el comportamiento que no aparece reflejado en el modelo del proce-
so, englobándose aquı́ el efecto de las entradas no medibles, el ruido y los errores de
modelado.

Para el estudio se puede separar el modelo en dos partes: el modelo del proceso
propiamente dicho y el modelo de las perturbaciones. Cualquier método usará ambas
partes para la predicción.

Modelo del Proceso

Casi todas las formas posibles de modelar un proceso aparecen en alguna formu-
lación de mpc siendo las más usadas las siguientes:

Respuesta impulsional. También conocida por secuencia de ponderación o modelo


CAPÍTULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 241

h2

N
gi

g
hi
h1

g2
hN

y(t) y(t)

g1
t t+1 t+2 ... t+N t t+1 t+2 ... t+N
a) b)
Figura 16.3: Respuesta impulsional y ante escalón

de convolución. La salida viene relacionada con la entrada por la ecuación



X
y(t) = hi u(t − i)
i=1

donde hi son los valores muestreados obtenidos al someter al proceso a un impulso


unitario de amplitud igual al perı́odo de muestreo (ver figura 16.3a). Esta suma
es truncada y sólo se consideran N valores (por tanto sólo permite representar
procesos estables y sin integradores), teniendo
N
X
y(t) = hi u(t − i) = H(z −1 )u(t) (16.1)
i=1

donde H(z −1 ) = h1 z −1 + h2 z −2 + · · · + hN z −N . Un inconveniente de este método


es el gran número de parámetros que necesita, ya que N suele ser un valor elevado
(del orden de 40-50). La predicción vendrá dada por:
N
X
ŷ(t + k | t) = hi u(t + k − i | t) = H(z −1 )u(t + k | t)
i=1

Este método es ampliamente aceptado en la práctica industrial debido a que


es muy intuitivo y no requiere información previa sobre el proceso, con lo que
el procedimiento de identificación se simplifica, a la vez que permite describir
fácilmente dinámicas complejas como fase no mı́nima o retardos.
242 ELEMENTOS BÁSICOS

Respuesta ante escalón. Es muy similar al anterior sólo que ahora la señal de
entrada es un escalón. Para sistemas estables se tiene la respuesta truncada que
será
N
X
y(t) = y0 + gi 4 u(t − i) = y0 + G(z −1 )(1 − z −1 )u(t) (16.2)
i=1
donde las gi son los valores muestreados ante la entrada en escalón y 4u(t) =
u(t) − u(t − 1), según se muestra en la figura 16.3b. El valor de y0 puede tomarse
0 sin pérdida de generalidad, con lo cual el predictor será:
N
X
ŷ(t + k | t) = gi 4 u(t + k − i | t)
i=1

Este método presenta las mismas ventajas e inconvenientes que el anterior.

Función de transferencia. Se utiliza el concepto de función de transferencia G =


B/A con lo que la salida viene dada por:
A(z −1 )y(t) = B(z −1 )u(t)

A(z −1 ) = 1 + a1 z −1 + a2 z −2 + · · · + ana z −na


B(z −1 ) = b1 z −1 + b2 z −2 + · · · + bnb z −nb
Por tanto la predicción vendrá dada por
B(z −1 )
ŷ(t + k | t) = u(t + k | k)
A(z −1 )
Esta representación es válida también para procesos inestables y posee la ventaja
de necesitar pocos parámetros, aunque es fundamental un conocimiento a priori
del proceso sobre todo en cuanto al orden de los polinomios A y B.

Espacio de estados. Tiene la siguiente representación:


x(t) = Ax(t − 1) + Bu(t − 1)
y(t) = Cx(t)
siendo x el estado y A, B y C las matrices del sistema, de entrada y de salida
respectivamente. Para este modelo la predicción viene dada por
k
X
k
ŷ(t + k | t) = C x̂(t + k | t) = C[A x(t) + Ai−1 Bu(t + k − i | t)]
i=1

Posee la ventaja de que sirve también para sistemas multivariables a la vez que
permite analizar la estructura interna del proceso (aunque a veces los estados
obtenidos al discretizar no tienen ningún significado fı́sico). Los cálculos pueden
ser complicados, con la necesidad adicional de incluir un observador si los estados
no son accesibles.
CAPÍTULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 243

Modelo de las perturbaciones

De tanta importancia como la elección de un determinado modelo del proceso es la


elección del modelo utilizado para representar la perturbaciones. Un modelo bastante
extendido es el Autorregresivo Integrado de Media Móvil (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

C(z −1 )e(t)
n(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 métodos. Nótese
que al incluir un integrador se consigue un control con error nulo en régimen permanente
(offset-free).

Como caso particular del arima se puede incluir la perturbación constante

e(t)
n(t) =
1 − z −1

cuya mejor predicción será 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 señales:

u(t) = uf (t) + uc (t)

La señal uf (t) corresponde a las entradas pasadas (anteriores al instante t) y en el


futuro se mantiene constante e igual al último 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 BÁSICOS

La señal uc (t) vale cero en el pasado y corresponde a las señales de control en los
instantes futuros:

uc (t − j) = 0 para j = 1, 2, · · ·
uc (t + j) = u(t + j) − u(t − 1) para j = 0, 1, 2, · · ·

La predicción de la secuencia se salida se separa en dos partes, como se ve en la figura


16.4. Una de ellas (yf (t)), la respuesta libre, corresponde a la predicción de la salida
cuando la variable manipulada se hace igual a uf (t), y la otra, la repuesta forzada
(yc (t)), corresponde a la predicción de la salida cuando la señal de control es uc (t).
La respuesta libre corresponde a la evolución del proceso debido a su estado actual
(incluido por tanto el efecto de acciones pasadas) mientras que la respuesta forzada es
la debida a las acciones de control futuras.

u y
Process

t t

u uc y yc
f f

t t t t

Figura 16.4: Respuestas libre y forzada

16.4.2. Función objetivo

Los diversos algoritmos de mpc proponen distintas funciones de coste para la ob-
tención de la ley de control. En general se persigue que la salida futura en el horizonte
considerado siga a una determinada señal de referencia al mismo tiempo que se puede
penalizar el esfuerzo de control requerido para hacerlo. La expresión general de tal
función objetivo será:
N2
X Nu
X
2
J(N1 , N2 , N u) = δ(j)[ŷ(t + j | t) − w(t + j)] + λ(j)[4u(t + j − 1)]2 (16.3)
j=N1 j=1
CAPÍTULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 245

En algunos métodos el segundo sumando, que considera el esfuerzo de control, no


se tiene en cuenta, mientras que en otros también aparecen directamente los valores de
la señal de control (no sus incrementos). En la función de coste se pueden considerar:

Parámetros: N1 y N2 son los horizontes mı́nimo y máximo de coste (o de predic-


ción) y N u es el horizonte de control, que no tiene por qué coincidir con el
horizonte máximo, como se verá 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 provocará una re-
spuesta suave del proceso. Nótese que para procesos con tiempo muerto d no tiene
sentido que N1 sea menor que dicho valor puesto que la salida no empezará a
evolucionar hasta el instante t + d. Además, si el proceso es de fase no mı́nima,
este parámetro permite eliminar de la función 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 α está comprendido entre 0 y 1 indica que se penaliza más a los errores más
alejados del instante t que a los más próximos, dando lugar a un control más
suave y con menor esfuerzo. Si, por el contrario, α > 1 es que se penalizan más
los primeros errores, provocando un control más brusco.
Todos estos valores pueden ser usados como parámetros de sintonización, obte-
niendo un abanico muy amplio de posibilidades con las que se puede cubrir una ex-
tensa gama de opciones, desde un control estándar hasta una estrategia diseñada
a medida para un proceso en particular.

Trayectoria de referencia: Una de las ventajas del control predictivo es que si se


conoce a priori la evolución futura de la referencia, el sistema puede empezar
a reaccionar antes de que el cambio se haya efectivamente realizado, evitando
los efectos del retardo en la respuesta del proceso. En muchas aplicaciones la
evolución futura de la referencia r(t + k) es conocida de antemano, como en
Robótica, servos o procesos en batch; en otras aplicaciones aunque la referencia sea
constante, se puede conseguir una sensible mejora de prestaciones simplemente
conociendo el instante de cambio de valor y adelantándose a esa circunstancia.
En el criterio de minimización (16.3), la mayorı́a de los métodos suelen usar una
trayectoria de referencia w(t + k) que no tiene por qué coincidir con la referencia
246 ELEMENTOS BÁSICOS

real. Normalmente será una suave aproximación desde el valor actual de la salida
y(t) a la referencia conocida mediante un sistema de primer orden:
w(t) = y(t) w(t + k) = αw(t + k − 1) + (1 − α)r(t + k) k = 1 . . . N (16.4)
α es un parámetro comprendido entre 0 y 1 (mientras más próximo a 1 más
suave será la aproximación) que constituye un valor ajustable que influirá en
la respuesta dinámica del sistema. En la figura 16.5 se muestra la forma de la
trayectoria cuando la referencia r(t + k) es constante y para dos valores distintos
de α; para valores pequeños de este parámetro se tiene un seguimiento rápido
(w1 ) mientras que si aumenta, la trayectoria de referencia será w2 dando lugar a
una respuesta más suave.

r(t+k)

w1(t+k)
w2 (t+k)

y(t)

t
Figura 16.5: Trayectoria de referencia

Restricciones: En la práctica, todos los procesos están sujetos a restricciones. Los


actuadores tienen un campo limitado de acción ası́ como una determinada veloci-
dad de cambio (slew rate), como es el caso de las válvulas, 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
depósitos, caudales en tuberı́as o temperaturas y presiones máximas. Además,
normalmente las condiciones de operación vienen definidas por la intersección
de ciertas restricciones por motivos fundamentalmente económicos, con lo que el
sistema de control operará cerca de los lı́mites. Todo lo expuesto anteriormente
hace necesaria la introducción de restricciones en la función a minimizar.
Muchos algoritmos predictivos tienen en cuenta el tema de las restricciones por lo
cual han tenido gran éxito en la industria. Normalmente se considerarán lı́mites
CAPÍTULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 247

en la amplitud y el slew rate de la señal de control y lı́mites en las salidas:

umin ≤ u(t) ≤ umax ∀t


dumin ≤ u(t) − u(t − 1) ≤ dumax ∀t
ymin ≤ y(t) ≤ ymax ∀t

con la adición de estas restricciones a la función objetivo, la minimización resulta


más compleja, no pudiendo obtenerse la solución analı́ticamente como en el caso
sin restringir.

16.4.3. Obtención de la ley de control

Para obtener los valores u(t + k | t) será necesario minimizar la funcional J de la


ecuación (16.3). Para ello se calculan los valores de las salidas predichas ŷ(t + k | t)
en función de valores pasados de entradas y salidas y de señales de control futuras,
haciendo uso del modelo que se haya elegido y se sustituyen en la función de coste,
obteniendo una expresión cuya minimización conduce a los valores buscados. Para el
criterio cuadrático si el modelo es lineal y no existen restricciones se puede obtener una
solución analı́tica, en otro caso se debe usar un método iterativo de optimización.

De cualquiera de las maneras la obtención de la solución no resulta trivial pues


existirán 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. Además se ha encontrado que esta estructuración de
la ley de control produce una mejora en la robustez y en el comportamiento general
del sistema, debido fundamentalmente a que el hecho de permitir la libre evolución de
las variables manipuladas (sin estructurar) puede conducir a señales de control de alta
frecuencia no deseables y que en el peor de los casos podrı́an conducir a la inestabilidad.

Esta estructura de la ley de control se plasma en el uso del concepto de horizonte


de control (N u), que consiste en considerar que tras un cierto intervalo N u < N2 no
hay variación en las señales 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 N u igual a 1 con lo que todas las acciones
futuras serı́an iguales a u(t)2 .
2
Recuérdese que debido al horizonte deslizante, la señal de control se recalcula en el siguiente
muestreo.
248 REVISIÓN DE LOS PRINCIPALES ALGORITMOS

16.5. Revisión de los principales algoritmos

Se presentan a continuación los principales algoritmos de control predictivo, mostran-


do sus principales caracterı́sticas pero sin entrar en detalles. En el tema siguiente se
estudiarán en detalle los dos métodos considerados más representativos: dmc y gpc.

16.5.0.1. Dynamic Matrix Control

Este método usa la respuesta ante escalón (16.2) para modelar el proceso, con-
siderando sólo los N primeros términos, 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 ŷ(t | t)).

n̂(t + k | t) = n̂(t | t) = ym (t) − ŷ(t | t)

y por tanto el valor predicho de la salida será:

k
X N
X
ŷ(t + k | t) = gi 4 u(t + k − i) + gi 4 u(t + k − i) + n̂(t + k | t)
i=1 i=k+1

donde el primer término contiene las acciones de control futuras (que serán calculadas),
el segundo los valores pasados de las acciones de control (conocidas) y el último rep-
resenta las perturbaciones. La función de coste puede considerar sólo errores futuros o
incluir también el esfuerzo de control, en cuyo caso toma la forma genérica (16.3).

Una de las caracterı́sticas de este método que lo ha hecho muy popular en la in-
dustria es la inclusión de restricciones, que se traduce en inecuaciones de la forma
genérica:

N
X j j
Cyi ŷ(t + k | t) + Cui u(t + k − i) + cj ≤ 0 j = 1 . . . Nc
i=1

En este caso la optimización debe ser numérica y se lleva a cabo en cada periodo de
muestreo, enviándose la señal u(t) y recalculando todo en el nuevo periodo de muestreo,
como en todos los métodos mpc. Los principales inconvenientes de este método son el
tamaño del modelo empleado y la imposibilidad de tratar procesos inestables.
CAPÍTULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 249

16.5.0.2. Model Algorithmic Control

Este método se conoce también 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 según una determinada constante de tiempo. La var-
ianza del error entre esta trayectoria y la salida es lo que marca la minimización de la
función objetivo. Las perturbaciones se pueden tratar como en el método anterior o se
pueden estimar según la siguiente expresión:
n̂(t + k | t) = αn̂(t + k − 1 | t) + (1 − α)(ym (t) − ŷ(t | t))
con n̂(t | t) = 0. α es un parámetro ajustable (0 ≤ α < 1) relacionado con el tiempo
de respuesta, el ancho de banda y la robustez del bucle cerrado. El método también
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 rápidos. Emplea un
modelo en el espacio de estados, por lo que permite el manejo de procesos inestables,
y también la extensión 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 cálculos considerando sólo un subconjunto de puntos en el horizonte de predicción
hj , j = 1, . . . , nH . La salida deseada y la predicha deben coincidir en dichos puntos, no
en todo el horizonte de predicción.

La otra idea innovadora de este método es la parametrización de la señal de con-


trol como una combinación lineal de ciertas funciones base, que son elegidas según la
naturaleza del proceso y la referencia:
nB
X
u(t + k) = µi (t)Bi (k)
i=1

Normalmente estas funciones son de tipo polinómico: escalones (B1 (k) = 1), rampas
(B2 (k) = k) o parábolas (B3 (k) = k 2 ), ya que la mayorı́a de referencias se pueden es-
pecificar como combinación de estas funciones. Con esta estrategia, un perfil de entrada
250 REVISIÓN DE LOS PRINCIPALES ALGORITMOS

Puntos de coincidencia

Figura 16.6: Puntos de coincidencia

complejo se puede especificar usando un pequeño número de parámetros desconocidos


µi que son las incógnitas del problema de minimización.

La función a minimizar es:


nH
X
J= [ŷ(t + hj ) − w(t + hj )]2
j=1

El algoritmo pfc también puede manejar restricciones de máximo y mı́nimo en la


aceleración, que son prácticas en aplicaciones de servocontrol.

16.5.0.4. Extended Prediction Self Adaptive Control

El algoritmo epsac usa un modelo de función de transferencia

A(z −1 )y(t) = B(z −1 )u(t − d) + v(t)

donde d es el retardo y v(t) la perturbación. Este modelo puede ampliarse para tratar
perturbaciones medibles añadiendo un término 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 señal
de control permanecerá constante a partir del instante t (es decir, horizonte de control
igual a 1): 4u(t + k) = 0 para k > 0. Para obtener la señal de control de minimiza una
función de coste de la forma:
N
X
γ(k)[w(t + k) − P (z −1 )ŷ(t + k | t)]2
k=d
CAPÍTULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 251

donde P (z −1 ) es un polinomio de diseño con ganancia unitaria y γ(k) es una secuencia


de ponderación. La señal de control se puede calcular analı́ticamente de la forma:
P
N
hk γ(k)[w(t + k) − P (z −1 )ŷ(t + k | t)]
k=d
u(t) =
P
N
γ(k)h2k
k=d

siendo hk los coeficientes de la respuesta impulsional del sistema.

16.5.0.5. Extended Horizon Adaptive Control

Esta formulación también emplea un modelo de función de transferencia y pretende


minimizar la discrepancia entre la salida calculada y la referencia en el instante t + N :
ŷ(t + N | t) − w(t + N ), con N ≥ d. La solución a este problema no es única (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
N
X −d
J= u2 (t + k)
k=0

Este método utiliza un predictor de N pasos de la forma


ŷ(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 relación
(1 − z −1 ) = A(z −1 )E(z −1 )(1 − z −1 ) + z −N F (z −1 )(1 − z −1 )
con el grado de E igual a N − 1. Una ventaja de este método es que se puede encontrar
fácilmente una solución explı́cita, dada por
α0 (w(t + N ) − ŷ(t + N | t))
u(t) = u(t − 1) + NP−d
αi2
k=0

siendo αk el coeficiente correspondiente a 4u(t + k) en la ecuación de predicción. Por


tanto la ley de control depende sólo de los parámetros del proceso y puede hacerse
fácilmente adaptativa si se emplea un identificador en lı́nea. El único coeficiente de
ajuste es el horizonte de predicción N , lo cual simplifica el uso pero proporciona poca
libertad para el diseño. Obsérvese que no puede usarse trayectoria de referencia porque
el error se considera sólo en un instante (t+N ), ni tampoco la ponderación del esfuerzo
de control.
252 REVISIÓN DE LOS PRINCIPALES ALGORITMOS

16.5.0.6. Generalized Predictive Control

Este método propuesto por Clarke et al. emplea un modelo carima (Controlled
Auto-Regressive Integrated Moving Average) para la predicción de la salida:

e(t)
A(z −1 )y(t) = B(z −1 )z −d u(t − 1) + C(z −1 )
4
donde la perturbación viene dada por un ruido blanco coloreado por el polinomio
C(z −1 ). Como en la práctica es difı́cil encontrar el verdadero valor de este polinomio,
se puede emplear como parámetro de diseño para rechazo de perturbaciones o mejora de
la robustez. La predicción óptima se lleva a cabo resolviendo una ecuación diofántica,
lo cual puede hacerse eficazmente de forma recursiva.

Este algoritmo, al igual que otros que usan el modelo de función de transferencia,
se puede implementar fácilmente en forma adaptativa usando un algoritmo de identi-
ficación en lı́nea como los mı́nimos cuadrados recursivos.

gpc usa una función de coste cuadrática de la forma


N2
X Nu
X
2
J(N1 , N2 , Nu ) = δ(j)[ŷ(t + j | t) − w(t + j)] + λ(j)[4u(t + j − 1)]2
j=N1 j=1

donde las secuencia de ponderación δ(j) y λ(j) se eligen normalmente constantes o


exponenciales y la trayectoria de referencia w(t+j) se puede generar como una secuencia
que empieza en el valor actual de la salida y tiende exponencialmente al setpoint.

Las bases teóricas del algoritmo gpc has sido ampliamente estudiadas y se puede
demostrar que, para distintos conjuntos de parámetros, el algoritmo es estable y que
otros controladores como por ejemplo el dead beat son casos incluidos en éste.
Capı́tulo 17

Controladores predictivos

17.1. Dynamic Matrix Control

El método Dmc se desarrolló a finales de los setenta por Cutler y Ramaker de Shell
Oil Co. y ha sido aceptado ampliamente en el mundo industrial, principalmente por
las industrias petroquı́micas. Actualmente dmc es algo más que un algoritmo y parte
de su éxito se debe al hecho de que el producto comercial resuelve otros temas como
identificación u optimización global de la planta. En esta sección sólo se analiza el
algoritmo standard sin abordar detalles técnicos propios del producto de mercado que
no son de dominio público.

Pero a pesar de este éxito en la práctica, este método adolece quizás de la ausencia
de un análisis teórico maś completo que estudie la influencia de los parámetros de
diseño (horizontes, secuencias de ponderación) sobre la estabilidad del bucle cerrado
ası́ como de resultados de robustez.

17.1.1. Predicción

El modelo de proceso que se emplea es el de respuesta temporal, considerando la


perturbación como constante a lo largo del horizonte. El procedimiento para obtener
la predicción se describe a continuación.

253
254 DYNAMIC MATRIX CONTROL

Como se emplea un modelo de respuesta ante escalón:



X
y(t) = gi 4 u(t − i)
i=1

los valores predichos a lo largo del horizonte serán:



X
ŷ(t + k | t) = gi 4 u(t + k − i) + n̂(t + k | t) =
i=1
k
X ∞
X
= gi 4 u(t + k − i) + gi 4 u(t + k − i) + n̂(t + k | t)
i=1 i=k+1

Las perturbaciones se consideran constantes, n̂(t+k | t) = n̂(t | t) = ym (t)− ŷ(t | t),


por lo que se puede escribir:
k
X ∞
X
ŷ(t + k | t) = gi 4 u(t + k − i) + gi 4 u(t + k − i) + ym (t) −
i=1 i=k+1

X k
X
− gi 4 u(t − i) = gi 4 u(t + k − i) + f (t + k)
i=1 i=1

donde f (t + k) es la respuesta libre del proceso, es decir, la parte de la respuesta que


no depende de las acciones de control futuras, y viene dada por:


X
f (t + k) = ym (t) + (gk+i − gi ) 4 u(t − i) (17.1)
i=1

Si el proceso es asintóticamente estable, los coeficientes gi de la respuesta ante


escalón tienden a un valor constante después de N periodos de muestreo, por lo que se
puede considerar que
gk+i − gi ≈ 0, i>N
y por tanto la respuesta libre se puede calcular como
N
X
f (t + k) = ym (t) + (gk+i − gi ) 4 u(t − i)
i=1

Nótese que si el proceso no es estable, entonces no existe N y no se puede calcu-


lar f (t + k) (aunque existe una generalización en el caso de que la inestabilidad sea
producida por integradores puros).
CAPÍTULO 17. CONTROLADORES PREDICTIVOS 255

Ahora las predicciones se pueden calcular a lo largo del horizonte de predicción


(k = 1, . . . , p), considerando m acciones de control.

ŷ(t + 1 | t) = g1 4 u(t) + f (t + 1)
ŷ(t + 2 | t) = g2 4 u(t) + g1 4 u(t + 1) + f (t + 2)
..
.
p
X
ŷ(t + p | t) = gi 4 u(t + p − i) + f (t + p)
i=p−m+1

Si se define la matriz dinámica G como:


 
g1 0 ··· 0
 g g1 ··· 0 
 2 
 .. .. .. .. 
 . . . . 
G =   

 gm gm−1 ··· g1 
 .. .. .. .. 
 . . . . 
gp gp−1 · · · gp−m+1

se puede escribir que:


ŷ = Gu + f (17.2)

Obsérvese que G está formada por m (horizonte de control) columnas de la respuesta


ante escalón apropiadamente desplazadas hacia abajo. ŷ es un vector de dimensión p
que contiene las predicciones de la salida, u representa el vector de incrementos de
control y f es el vector de respuestas libres. Esta es la expresión que relaciona las
respuestas futuras con los incrementos en las señales de control, por lo que usará para
calcular las acciones necesarias para conseguir el comportamiento deseado del sistema.

17.1.2. Perturbaciones medibles

El efecto de las perturbaciones medibles se puede añadir fácilmente a las anteriores


ecuaciones de predicción, ya que éstas se pueden tratar como entradas al sistema. La ex-
presión (17.2) se puede usar para calcular la predicción del efecto de las perturbaciones
en la salida de la siguiente forma:

ŷd = D d + fd
256 DYNAMIC MATRIX CONTROL

donde ŷd es la contribución de las perturbaciones medibles a la salida, D es una matriz


similar a G que contiene los coeficientes de la respuesta del sistema a un escalón en la
perturbación, d es el vector de incrementos en la perturbación y fd es la parte de la
respuesta que no depende de la perturbación.

En el caso más general de perturbaciones medibles y no medibles, la respuesta libre


completa del sistema (la fracción de la salida que no depende de la variable manipulada)
se puede considerar como la suma de cuatro efectos: la respuesta a la entrada u(t), a la
perturbación medible d(t), a la perturbación no medible y al estado actual del proceso:

f = fu + D d + fd + fn

Por tanto la predicción se puede expresar en la forma general

ŷ = Gu + f

17.1.3. Algoritmo de control

El éxito en la industria del dmc se ha debido principalmente a su aplicación a


sistemas multivariables de gran dimensión con la consideración de restricciones. En
esta sección se describe el algoritmo de control comenzando por el caso más simple
de un sistema monovariable sin restricciones y extendiéndolo posteriormente al caso
general multivariable con restricciones.

El objetivo del controlador dmc es llevar el proceso los más cerca posible al setpoint
en el sentido de mı́nimos cuadrados con la posibilidad de incluir una penalización en los
movimientos de la señal de control. Por ello se seleccionan las variables manipuladas de
forma que minimicen un objetivo cuadrático que puede incluir sólo los errores futuros
p
X
J= [ŷ(t + j | t) − w(t + j)]2
j=1

o también el esfuerzo de control, presentando la forma genérica


p m
X X
2
J= [ŷ(t + j | t) − w(t + j)] + λ[4u(t + j − 1)]2
j=1 j=1

Si no existen restricciones, la minimización de la función de coste J = eeT + λuuT ,


donde e es el vector de errores futuros a lo largo del horizonte de predicción y u es el
CAPÍTULO 17. CONTROLADORES PREDICTIVOS 257

w +
u y
K Proceso
-

f
Calculo
Resp. libre

Figura 17.1: Ley de control

vector de futuros incrementos en la señal de control 4u(t), . . . , 4u(t + m), se puede


hacer de forma analı́tica calculando la derivada de J y haciéndola igual a 0, lo que
proporciona el resultado general:

u = (GT G + λI)−1 GT (w − f ) (17.3)

Recuérdese que, como en todas las estrategias predictivas, sólo 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. Además, el setpoint puede cambiar durante los
próximos m intervalos.

Resulta interesante analizar en qué consiste realmente la ley de control. Analizan-


do la expresión 17.3 se observa que el primer elemento del vector u, que es la señal
que efectivamente se envı́a a la planta, es el producto de la primera fila de la matriz
(GT G+λI)−1 GT (llamémosle K) por la diferencia entre la trayectoria de referencia y la
respuesta libre, que es el error futuro si no hubiera incrementos en la señal de control.
Se puede decir por tanto que el incremento de la señal de control es proporcional (por
medio de K) a los errores futuros y por tanto habrá cambios en la señal de control
siempre que el controlador detecte que va a haber una discrepancia en el futuro entre el
objetivo deseado y el comportamiento esperado del sistema. Esta idea queda reflejada
en la figura 17.1.
258 DYNAMIC MATRIX CONTROL

P. operacion
Zona segura 1 optimo

Punto operacion 1
Restriccion
zona Punto operacion 2
segura 2

Restriccion

Figura 17.2: Punto de operación óptimo de un proceso tı́pico

17.1.3.1. El caso con restricciones

Aunque computacionalmente más complicado que otros algoritmos más simples, la


capacidad de manejar restricciones que posee este método (y mpc en general) lo hace
muy atractivo para aplicaciones prácticas, ya que en general el punto de operación
óptimo según criterios económicos se encuentra normalmente en la intersección de las
restricciones, como se muestra en la figura 17.2. Por razones de seguridad, es necesario
mantener una zona segura alrededor del punto de operación, ya que el efecto de las
perturbaciones puede hacer que la salida del proceso viole las restricciones. Esta zona
se puede reducir (y por tanto aumentar los beneficios económicos) si el controlador es
capaz de manejar restricciones (punto de operación 1).

Las restricciones tanto en entrada como en salida se pueden reducir a desigualdades


de forma genérica
N
X j j
Cyi ŷ(t + k | t) + Cui u(t + k − i) + cj ≤ 0 j = 1 . . . Nc
i=1

que deben tenerse en cuenta para la minimización. Como se ha visto, las salidas se
pueden expresar en función del vector de incrementos de control a través de la matriz
dinámica, por que las restricciones tanto en la entrada como en la salida se pueden
recoger en una desigualdad matricial de la forma Ru ≤ c, como se verá con más
detalle en el tema dedicado a restricciones. Ahora la minimización es un problema de
Programación Cuadrática qp, cuya solución es numérica.
CAPÍTULO 17. CONTROLADORES PREDICTIVOS 259

Todo lo relacionado con las restricciones será abordado con mayor grado de detalle
en el tema dedicado a ello.

17.1.3.2. Extensión al caso multivariable

El esquema previo se puede extender fácilmente al caso de sistemas con varias


entradas y varias salidas. Las ecuaciones básicas se mantienen igual a excepción de que
las matrices y vectores cambian de dimensión para poder incluir todas las entradas y
salidas.

Al tratarse de modelos lineales, se puede aplicar el principio de superposición para


obtener el valor de las salidas ante las diversas entradas. Para ello se define el vector
de salidas futuras como:

ŷ = [y1 (t + 1 | t), . . . , y1 (t + p1 | t), . . . , yny (t + 1 | t), . . . , yny (t + pny | t)]T

y el de señales 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 señales de control.

Con estas definiciones, la ecuación de predicción es igual que en el caso monovariable


simplemente considerando que la matriz G toma la forma:
 
G11 G12 ··· G1nu
 G21 G22 ··· G2nu 
 
G =  .. .. ... .. 
 . . . 
Gny1 Gny2 · · · Gnynu

Cada submatriz Gij contiene los coeficientes de la respuesta ante escalón i-ésima
correspondiente a la entrada j-ésima. El proceso de minimización es análogo sólo que la
ponderación 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 métodos más populares en el ámbito del Control
Predictivo tanto en el mundo industrial como en el académico. Se ha empleado con
éxito en numerosas aplicaciones industriales, mostrando buenas prestaciones a la vez
que un cierto grado de robustez respecto a sobreparametrización o retardos mal cono-
cidos. Puede resolver muchos problemas de control diferentes para un amplio campo de
procesos con un número razonable de variables de diseño, que son especificadas por el
operario dependiendo del conocimiento previo del proceso y de los objetivos de control.

La idea básica del gpc es calcular una secuencia de futuras acciones de control
de tal forma que minimice una función de coste multipaso. El ı́ndice a minimizar es
una función cuadrática que mide por un lado la distancia entre la salida predicha del
sistema y una cierta trayectoria de referencia hasta el horizonte de predicción, y por
otro el esfuerzo de control necesario para obtener dicha salida.

El Control Predictivo Generalizado tiene muchas ideas en común con otros con-
troladores predictivos previamente mencionados ya que está basado en las mismas
ideas pero posee a su vez algunas diferencias. Como se verá más adelante, es capaz de
proporcionar una solución 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 consideración en la función de coste de ponderación de los incrementos en
las acciones de control. Las diversas posibilidades disponibles para el gpc conducen a
una gran variedad de objetivos de control comparado con otras realizaciones, algunas
de las cuales pueden ser consideradas como subconjuntos o casos lı́mites del gpc.

17.2.1. Formulación 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 −d B(z −1 )u(t − 1) + C(z −1 )e(t)
donde u(t) y y(t) son respectivamente la señal de control y la salida del proceso y e(t)
es un ruido blanco de media cero. A, B y C son los siguientes polinomios en el operador
de desplazamiento hacia atrás z −1 :
A(z −1 ) = 1 + a1 z −1 + a2 z −2 + ... + ana z −na
CAPÍTULO 17. CONTROLADORES PREDICTIVOS 261

B(z −1 ) = b0 + b1 z −1 + b2 z −2 + ... + bnb z −nb


C(z −1 ) = 1 + c1 z −1 + a2 z −2 + ... + cnc z −nc
donde d es el tiempo muerto del sistema.

Este modelo es conocido como Autorregresivo de Media Móvil (Controller Auto-


Regressive Moving-Average carma). En muchas aplicaciones industriales en las que
las perturbaciones son no-estacionarias resulta más conveniente el uso de un modelo
carma integrado, dando lugar al carima, que viene descrito por:
e(t)
A(z −1 )y(t) = B(z −1 )z −d u(t − 1) + C(z −1 ) con 4 = 1 − z −1 (17.4)
4

Por simplicidad, a partir de ahora el polinomio C se va a tomar igual a 1. Nótese


que en el caso de que C −1 pueda ser truncado se puede absorber en A y B.

El algoritmo del Control Predictivo Generalizado consiste en aplicar una secuencia


de señales de control que minimice una función de coste de la forma:
N2
X Nu
X
J(N1 , N2 , N u) = δ(j)[ŷ(t + j | t) − w(t + j)]2 + λ(j)[4u(t + j − 1)]2 (17.5)
j=N1 j=1

donde ŷ(t + j | t) es la predicción óptima 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 máximo
de coste, N u es el horizonte de control y δ(j) y λ(j) son las secuencias de ponderación
mientras que w(t + j) es la futura trayectoria de referencia, que se puede calcular según
se muestra en la figura 16.5. En muchas situaciones se considera δ(j) igual a 1 y λ(j)
constante.

El objetivo es pues el cálculo de la futura secuencia de control u(t), u(t + 1),... de


tal manera que la salida futura del proceso y(t + j) permanezca próxima a w(t + j).
Esto se logra minimizando J(N1 , N2 , N u).

17.2.1.1. Predicción óptima

Con la intención de minimizar la función de coste, se obtendrá previamente la


predicción óptima de y(t + j) para j ≥ N1 y j ≤ N2 . Considérese la siguiente ecuación
diofántica:
1 = Ej (z −1 ) 4 A + z −j Fj (z −1 ) (17.6)
−1 −j −1
1 = Ej (z )Ã + z Fj (z )
262 CONTROL PREDICTIVO GENERALIZADO

Los polinomios Ej y Fj están únicamente definidos con grados j − 1 y na respecti-


vamente. Se pueden obtener dividiendo 1 entre Ã(z −1 ) hasta que el resto pueda ser fac-
torizado como z −j Fj (z −1 ). El cociente de la división es entonces el polinomio Ej (z −1 ).

Si se multiplica la ecuación (17.4) por Ej (z −1 ) z j 4

Ã(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 ecuación (17.7) queda:

(1 − z −j Fj (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 términos del ruido en la


ecuación (17.8) están todos en el futuro. La mejor predicción de y(t + j) será por
consiguiente:

ŷ(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 función de
los del paso j. A continuación se muestra una demostración simple de la recursividad
de la ecuación diofántica. Existen otras formulaciones del gpc que no están basadas
en la recursividad de esta ecuación.

Considérense que los polinomios Ej y Fj se han obtenido dividiendo 1 entre Ã(z −1 )


hasta que el resto haya sido factorizado como z −j Fj (z −1 ) .
Con:

Fj (z −1 ) = fj,0 + fj,1 z −1 + · · · + fj,na z −na


Ej (z −1 ) = ej,0 + ej,1 z −1 + · · · + ej,j−1 z −(j−1)

Supóngase que se utiliza el mismo procedimiento para obtener Ej+1 y Fj+1 , es decir,
dividir 1 entre Ã(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,1 z −1 + · · · + fj+1,na z −na


CAPÍTULO 17. CONTROLADORES PREDICTIVOS 263

Está claro que solamente es necesario dar un paso más en la división para obtener
los polinomios Ej+1 y Fj+1 . Al ser Ej+1 el nuevo cociente de la división, será igual al
cociente que habı́a hasta el momento (Ej ) más un nuevo término, que será el fj,0 pues
el divisor (Ã) es mónico. Por tanto:

Ej+1 (z −1 ) = Ej (z −1 ) + ej+1,j z −j con ej+1,j = fj,0

Teniendo en cuenta que el nuevo resto será 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 ãi+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 − Ã)

2. Ir añadiendo nuevos términos a Ej con ej+1,j = fj,0

3. Calcular fj+1,i = fj,i+1 − fj,0 ãi+1 i = 0 · · · na, (siendo fj,na+1 = 0).

El polinomio Gj+1 puede ser obtenido recursivamente como sigue:

Gj+1 = Ej+1 B = (Ej + fj,0 z −j )B = Gj + fj,0 z −j B

Es decir, los primeros j coeficientes de Gj+1 serán idénticos 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 señales de control u(t),


u(t + 1), ...,u(t + N ) que minimizan la ecuación (17.5). Al tener el proceso un retardo
de d perı́odos de muestreo, la salida sólo se verá influenciada por la señal u(t) después
del instante d + 1. Los valores N1 , N2 y N u que marcan los horizontes pueden ser
definidos como N1 = d + 1, N2 = d + N y N u = N . No tiene sentido hacer N1 < d + 1
ya que los términos de (17.5) sólo dependerán de las señales de control pasadas. Por
otro lado, haciendo N1 > d + 1 los primeros puntos de la secuencia de salida, que serán
los mejor estimados, no se tendrán en cuenta.
264 CONTROL PREDICTIVO GENERALIZADO

El conjunto de las j predicciones óptimas:

ŷ(t + d + 1 | t) = Gd+1 4 u(t) + Fd+1 y(t)


ŷ(t + d + 2 | t) = Gd+2 4 u(t + 1) + Fd+2 y(t)
..
.
ŷ(t + d + N | t) = Gd+N 4 u(t + N − 1) + Fd+N y(t)

puede ser escrito en forma matricial como:

y = Gu + F(z −1 )y(t) + G0 (z −1 ) 4 u(t − 1) (17.9)

Donde
   
ŷ(t + d + 1 | t) 4u(t)
 ŷ(t + d + 2 | t)   4u(t + 1) 
   
y =  ..  u= .. 
 .   . 
ŷ(t + d + N | t) 4u(t + N − 1)
 
g0 0 ... 0
 g1 g0 ... 0 
 
G =  .. .. .. .. 
 . . . . 
gN −1 gN −2 ... g0
 
z(Gd+1 (z −1 ) − g0 )
 z 2 (Gd+2 (z −1 ) − g0 − g1 z −1 ) 
0 −1 
G (z ) =  .. 
 . 
z N (Gd+N (z −1 ) − g0 − g1 z −1 − · · · − gN −1 z −(N −1) )
 
Fd+1 (z −1 )
 Fd+2 (z −1 ) 
−1  
F(z ) =  .. 
 . 
Fd+N (z −1 )

Al depender los últimos términos de la ecuación (17.9) sólo del pasado, pueden
agruparse en f, dando lugar a:
y = Gu + f (17.10)

Obsérvese que es la misma expresión que se obtuvo para el dmc, aunque en este
caso la respuesta libre es distinta.
CAPÍTULO 17. CONTROLADORES PREDICTIVOS 265

17.2.1.2. Obtención de la ley de control

Entonces la ecuación (17.5) puede escribirse como:


J = (Gu + f − w)T (Gu + f − w) + λuT u (17.11)
donde:
£ ¤T
w= w(t + d + 1) w(t + d + 2) · · · w(t + d + N ) (17.12)

La ecuación (17.11) se puede poner como:


1
J = uT Hu + bu + f0 (17.13)
2

donde:
H = 2(GT G + λI)
b = 2(f − w)T G
f0 = (f − w)T (f − w)

El mı́nimo de J, siempre que no existan restricciones en la señal de control, puede


ser calculado igualando a cero el gradiente de J, lo cual conduce a:
u = −H−1 bT (17.14)
Debido al uso de la estrategia deslizante, sólo se aplica realmente el primer elemento del
vector u, repitiendo de nuevo el mismo procedimiento al siguiente instante de muestreo.
La solución propuesta involucra la inversión (o al menos la triangularización) de una
matriz de dimensión N × N , lo cual conlleva una gran carga de cálculo. El concepto ya
usado en otros métodos de horizonte de control se emplea con la finalidad de reducir
la cantidad de cálculo, asumiendo que las señales de control permanecerán en un valor
constante a partir del intervalo N u < N . Por tanto la dimensión de la matriz que hay
que invertir queda reducida a N u × N u, quedando la carga de cálculo reducida (en el
caso lı́mite de N u = 1, se reduce al caso escalar) aunque restringiendo la optimalidad.

17.2.2. Ejemplo de cálculo

Se presenta a continuación un ejemplo de cálculo de un Controlador Predictivo


Generalizado en un caso sencillo. Se diseñará el controlador para un sistema de primer
orden.
266 CONTROL PREDICTIVO GENERALIZADO

Al discretizar el proceso continuo se obtiene el siguiente equivalente discreto:


e(t)
(1 + az −1 )y(t) = (b0 + b1 z −1 )u(t − 1) +
4
Se va a considerar un retardo d igual a 0 y un polinomio de ruido C(z −1 ) igual a 1.

Se usará el algoritmo descrito previamente para obtener la ley de control, obteniendo


resultados numéricos para valores de los paámetros a = 0,8, b0 = 0,4 y b1 = 0,6, siendo
los horizontes N1 = 1 y N = Nu = 3. Como se ha mostrado, se calcularán los valores
predichos de la salida del proceso en el horizonte haciendo uso de la ecuación (17.9),
obteniendo la ley de control de la expresión (17.14).

Resolviendo la ecuación (17.6) se obtienen los polinomios del predictor Ej (z −1 ),


Fj (z −1 ) desde j = 1 hasta j = 3, con

Ã(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 Ã(z −1 ). Como se ha explicado antes,
también se pueden calcular recursivamente, comenzando con los valores obtenidos en
el primer paso de la división, es decir:

E1 (z −1 ) = 1 F1 (z −1 ) = 1,8 − 0,8z −1

Cualquiera que sea el método 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:


    
ŷ(t + 1 | t) 0,4 0 0 4u(t)
 ŷ(t + 2 | t)  =  1,32 0,4 0   4u(t + 1)  +
ŷ(t + 3 | t) 2,056 1,32 0,4 4u(t + 2)
 
0,6 4 u(t − 1) + 1,8y(t) − 0,8y(t − 1)
+  1,08 4 u(t − 1) + 2,44y(t) − 1,44y(t − 1) 
1,464 4 u(t − 1) + 2,952y(t) − 1,952y(t − 1)
| {z }
f
CAPÍTULO 17. CONTROLADORES PREDICTIVOS 267

El paso siguiente es el cálculo de H−1 b. Tomando λ igual a 0,8 se tiene que:


 
0,133 0,286 0,147
(GT G + λI)−1 GT =  −0,154 −0,165 0,286 
−0,029 −0,154 0,1334

Como sólo se necesita el valor de 4u(t) para los cálculos, sólo se emplea realmente la
primera fila de la matriz, con lo que resulta la siguiente expresión para la ley de control:

4u(t) = −0,6042 4 u(t − 1) − 1,371y(t) + 0,805y(t − 1) +


+ 0,133w(t + 1) + 0,286w(t + 2) + 0,147w(t + 3)

donde w(t + i) es la trayectoria de referencia que se puede considerar bien constante


e igual a la referencia actual o bien una suave aproximación de primer orden a ésta.
Entonces la señal de control resulta ser una función de la referencia deseada y de
entradas y salidas pasadas, dada por:

u(t) = 0,3958u(t − 1) + 0,6042u(t − 2) − 1,371y(t) + 0,805y(t − 1) +


+ 0,133w(t + 1) + 0,286w(t + 2) + 0,147w(t + 3)

Al mismo resultado se puede llegar sin emplear la ecuación diofántica, calculando


G en base a los coeficientes de la respuesta ante escalón (que se pueden calcular en
función de los coeficientes de la función de transferencia) y calculando la respuesta
libre haciendo evolucionar hacia delante el modelo mientras la entrada se mantiene
constante.

17.2.3. Caso multivariable

Al igual que en el dmc todo lo visto para el caso de sistemas con una sola entrada
y una sola salida se puede extender al caso multivariable, aunque los cálculos son más
complejos.

En este caso el modelo carima para un sistema de m entradas y n salidas se puede


expresar como:
1
A(z −1 )y(t) = B(z −1 )u(t − 1) + C(z −1 )e(t) (17.15)
4
268 CONTROL PREDICTIVO GENERALIZADO

donde A(z −1 ) y C(z −1 ) son matrices polinomiales mónicas de dimensión n×n y B(z −1 )
es una matriz polinomial de dimensión n × m, definidos como:

A(z −1 ) = In×n + A1 z −1 + A2 z −2 + · · · + Ana z −na


B(z −1 ) = B0 + B1 z −1 + B2 z −2 + · · · + Bnb z −nb
C(z −1 ) = In×n + C1 z −1 + C2 z −2 + · · · + Cnc z −nc

Las variablesy(t), u(t) y e(t) son de dimensión n × 1, m × 1 y n × 1 respectivamente.


La predicción conlleva la resolución de una ecuación diofantica matricial, que también
puede calcularse de forma recursiva.

En muchas ocasiones el problema radica en la obtención adecuada del modelo en


esta forma a partir de una matriz de transferencia en continuo que puede haberse
obtenido a partir de la curva de reacción.

Una vez obtenido el modelo, el criterio a minimizar tendrá la forma general


N2
X N3
X
J(N1 , N2 , N3 ) = kŷ(t + j | t) − w(t + j)k2R + k 4 u(t + j − 1)k2Q
j=N1 j=1

donde R y Q son matrices de ponderación definidas positivas que normalmente se eligen


diagonales. La minimización se realiza igual que en el caso monovariable dando como
resultado un vector de señales de control a enviar a la planta en el instante actual:
u1 (t), u2 (t) . . . um (t).
Capı́tulo 18

Otros aspectos del Control


Predictivo

18.1. Restricciones en Control Predictivo

En la práctica todos los procesos están sujetos a restricciones. Los actuadores tienen
un campo limitado de acción impuesto por lı́mites fı́sicos (por ejemplo una válvula no
puede abrir más de un 100 % o un calentador no puede aportar más de su potencia
máxima. También existen lı́mites de seguridad (por ejemplo presiones o temperaturas
máximas), requerimientos tecnológicos (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 violación trabajando alejados de los lı́mites (en zona
segura), operando lejos de la restricción. Por seguridad se trabaja con una consigna
inferior, más lejos del punto de operación óptimo, lo que normalmente equivale a una
disminución de la calidad y/o cantidad en la producción, ya que normalmente el punto
óptimo se encuentra en la intersección de las restricciones obligando a acercarse lo más

269
270 RESTRICCIONES EN CONTROL PREDICTIVO

P
Pmax
P1

P2

t Q1 Q2 Q

Figura 18.1: Restricciones y punto de operación óptimo

posible a las éstas pero sin superarlas.

Si el controlador fuera capaz de tener en cuenta las restricciones y evitar su violación,


el proceso podrı́a operar más cerca de éstas y por tanto de forma más eficiente. La figura
18.1 muestra un ejemplo donde existe una limitación de presión máxima y se observa
cómo al alejar el punto de operación del lı́mite la producción Q disminuye.

En cuanto a la forma de operar de un controlador predictivo que no considera restric-


ciones el procedimiento es similar: si la señal de control calculada viola la restricción,
se satura. Las señales futuras ni siquiera se tienen en cuenta, ya que normalmente no
se calculan. Esta forma de proceder no garantiza el carácter óptimo de la solución y en
ningún caso garantiza el cumplimiento de las restricciones en la salida. La violación de
los lı́mites de las variables controladas puede ser más costoso y peligroso, produciendo
daños en equipos y pérdidas en la producción.

La figura 18.2 muestra con claridad el fenómeno de pérdida de la solución óptima


cuando las variables manipuladas se mantienen en sus lı́mites por el programa de
control o por el propio actuador. Este hecho puede llevar a valores mayores de la
función objetivo y a un comportamiento no deseado (incluso inestabiliad). En 18.2a se
muestra un caso con horizonte de control igual a 2, donde se observa que si se satura
la señal de control u(t) a umax el valor de la función de coste no es el mejor que se
podrı́a conseguir (que serı́a el correspondiente a uc ). Incluso puede que no se viole la
restricción en el instante actual pero sı́ en el futuro (figura 18.2b) con lo que la señal
enviada al sistema (sin saturar) no es la mejor para el problema de dimensión 2 que se
CAPÍTULO 18. OTROS ASPECTOS DEL CONTROL PREDICTIVO 271

u(t+1) u(t+1)

u max u max

uc u uc u

u max u(t) u max u(t)

a) b)
Figura 18.2: Restricciones en la señal de control

está optimizando.

18.1.2. Restricciones en Control Predictivo

En la actualidad el mpc es la única metodologı́a capaz de incorporar las restricciones


de forma sistemática en la fase de diseño del controlador, siendo esta caracterı́stica una
de las razones de su gran éxito en la industria. Parece lógico que al disponer de un
modelo dinámico del proceso se pueda conocer la evolución futura de su salida y por
tanto se pueda saber si ésta va a violar o no las restricciones y actuar en consecuencia.

Para formular el algoritmo mpc con restricciones hay que expresar éstas en función
de la variable sobre la que se puede actuar, es decir, en función de u. Las restricciones
en la entrada están ya expresadas en función de u y para las restricciones en la salida
se hace uso de las ecuaciones de predicción que expresan el valor futuro de las salidas
en función de las señales de control futuras y valores conocidos en el instante t.

Cualquier controlador predictivo calcula la predicción como:

y = Gu + f

por lo que tanto entradas como salidas se pueden expresar en función del vector de
incrementos de la señal de control.
272 RESTRICCIONES EN CONTROL PREDICTIVO

Las restricciones que aparecen serán básicamente amplitud y velocidad de cambio


en la señal de control y amplitud en la salida y se pueden expresar como:

U ≤ u(t) ≤ U ∀t
u ≤ u(t) − u(t − 1) ≤ u ∀t
y ≤ 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 ≤ T u + u(t − 1) 1 ≤ 1 U
1u ≤ u ≤ 1u
1y ≤ Gu + f ≤ 1y

donde l es una matriz de dimensión (N × n) × m formada por N m × m matrices


identidad y T es una matriz triangular inferior por bloques cuyos elementos no nulos
son matrices identidad de dimensión m × m. En forma condensada se pueden expresar
como:
Ru≤c (18.1)
siendo
   
IN ×N lu
 −IN ×N   −l u 
   
   
 T   l U − lu(t − 1) 
R=  c= 
 −T   −l U + lu(t − 1) 
   
 G   l y−f 
−G −l y + f

Aparte de las restricciones en amplitud, a la salida se le pueden aplicar otro tipo


de restricciones de para forzar un determinado comportamiento temporal (movimiento
dentro de una banda, comportamiento monótono, evitar respuesta inicial inversa, etc.),
pudiendo expresarlas también de la forma genérica (18.1).

Además de la clasificación en restricciones en la entrada y en la salida según a


qué tipo de variable se apliquen, se puede hacer otra clasificación atendiendo a la
forma de tratarlas. Ası́, se puede hablar de:
CAPÍTULO 18. OTROS ASPECTOS DEL CONTROL PREDICTIVO 273

Restricciones duras como aquéllas que no se pueden violar bajo ningún concepto.
En este grupo se incluyen las restricciones relacionadas con la operación segura
del proceso.

Restricciones blandas, que son aquéllas que pueden ser violadas en un momento
dado por no ser cruciales, pero la violación se penaliza en la función objetivo
como un término más. Es una forma de relajar la restricción.

18.1.3. Resolución del problema

Con la adición de restricciones el problema general de control predictivo cambia se


puede formular como

minimizar J(u)
sujeto a Ru ≤ c

Es decir, el problema consiste en la minimización de una función cuadrática con


restricciones lineales, lo que se conoce como Programación Cuadrática, qp. En este
caso no se puede encontrar una solución analı́tica como en el caso sin restricciones,
sino que hay que recurrir a métodos iterativos.

Resulta evidente que la carga de cálculo será considerable, ya que hay que encontrar
la solución resolviendo el algoritmo iterativo en cada periodo de muestreo. Normalmente
el esfuerzo está justificado por el beneficio económico obtenido al trabajar más cerca del
punto de operación óptimo. Para resolver el problema qp existen diversos algoritmos
suficientemente probados.

Un problema asociado a la implementación del control con restricciones es el análisis


de la estabilidad del bucle cerrado. Como es necesario utilizar métodos numéricos para
resolver el problema de la optimización, la ley de control resultante no se puede describir
de forma explı́cita, haciendo el problema muy difı́cil de atacar mediante la teorı́a clásica
de control.

En los últimos años se ha trabajado mucho sobre la estabilidad en estas circun-


stancias, proponiéndose soluciones basadas en la teorı́a de Lyapunov. La idea básica
consiste en que la función de coste cuando el horizonte es infinito es monótona decre-
ciente (si existe solución factible) y se puede interpretar como función de Lyapunov
que garantiza por tanto la estabilidad. Sin embargo, como la solución tiene que ser
numérica, el número de variables de decisión tiene que ser finito, por lo que se han
274 RESTRICCIONES EN CONTROL PREDICTIVO

propuesto dos ideas. En la primera, se descompone la función objetivo en dos partes:


una con horizonte finito y restricciones y otra con horizonte infinito y sin restricciones.
La segunda idea es en esencia equivalente y consiste en imponer restricciones terminales
al estado y usar un horizonte infinito.

En cualquier caso es un tema muy abierto, sobre todo si se quieren considerar las
incertidumbres en el modelo y los temas asociados con la factiblidad.

18.1.4. Gestión de restricciones

Durante la etapa de optimización puede aparecer problemas de no existencia de


solución óptima 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 solución, co-
mo es el caso de que una perturbación saque al proceso fuera de la zona de trabajo
usual.

La factibilidad de un problema de optimización significa que la función objetivo


esté acotada y que todas las restricciones sean satisfechas.

La no factibilidad puede aparecer en régimen permanente o en el transitorio. El


problema de la falta de solución en régimen permanente puede venir provocado por
un objetivo de control irrealizable. Sin embargo, este tipo de no factibilidad puede ser
fácilmente eliminado en la etapa de diseño evitando la inclusión de tales objetivos.
También 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 está acotada).

En el régimen transitorio puede aparecer no factibilidad incluso cuando las restric-


ciones impuestas parezcan razonables. Restricciones que no causan problemas en op-
eración normal pueden producir problemas bajo ciertas circunstancias. Puede que una
perturbación o cambio de referencia grande fuerce a una variable fuera de su lı́mite y sea
imposible introducirla de nuevo en su zona permitida con señales 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 óptimo
se encuentre cerca de las restricciones y el sistema esté sujeto a perturbaciones, llevando
a la salida a regiones prohibidas”.
CAPÍTULO 18. OTROS ASPECTOS DEL CONTROL PREDICTIVO 275

Límites físicos

Restricciones reales
Límites de operación

Figura 18.3: Gestión de restricciones

18.1.4.1. Técnicas de búsqueda de soluciones factibles

Los métodos de gestión de restricciones tratan de recuperar la factibilidad actuando


sobre las restricciones según 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 construcción de los equipos (p.ej. actuadores)

Limites de operación: son fijados por los operarios para mantener las condiciones
nominales de funcionamiento. Se pueden sobrepasar bajo ciertas circunstancias

Limites reales: son los que usa el algoritmo de control en cada instante. Son los
que proporciona el gestor de restricciones, quien debe calcularlos de forma que
nunca superen los limites fı́sicos.

Es decir, el gestor de restricciones calculará los lı́mites reales (los que se envı́an al
algoritmo qp) en base a los lı́mites de operación pero sin salirse nunca de los lı́mites
fı́sicos, según se observa en la figura 18.3.

Se analizan a continuación posibles soluciones para este problema, que se pueden


agrupar en:

1. Desconexión del controlador.


276 RESTRICCIONES EN CONTROL PREDICTIVO

2. Eliminación de restricciones.

3. Relajación de restricciones.

4. Otras técnicas.

1. Desconexión del controlador

La forma más sencilla de resolver de este tipo de problemas es pasar el controlador


a posición manual cuando aparecen las incompatibilidades de restricciones y volver a
operación automática cuando se recupera la admisibilidad de la solución.

Este método, como se puede comprender tiene serias desventajas. Normalmente,


cuando aparecen problemas de incompatibilidad de restricciones es porque el sistema
en bucle cerrado se encuentra en un estado crı́tico donde normalmente el operador
tendrá muy poca experiencia en la operación. Adicionalmente, si las restricciones están
relacionadas con aspectos de seguridad o económicos, las decisiones llevadas a cabo
cuando aparecen problemáticas de compatibilidad de restricciones suelen ser crı́ticas
dado que en estos casos alguno de los objetivos del control no puede ser satisfecho.

El método suele ser utilizado cuando los problemas de incompatibilidad de restric-


ciones no son frecuentes.

2. Eliminación de restricciones

La factibilidad se analiza en cada periodo de muestreo, por lo que la eliminación


de restricciones se realiza de forma temporal. Periódicamente se chequea la factibilidad
para poder reinsertar restricciones eliminadas.

La eliminación de un grupo de restricciones ha de realizarse en aquellos casos en que


el conjunto completo de restricciones que se imponen sobre el sistema sea incompatible.
Cada vez que existe un problema de incompatibilidad de restricciones, se forma un
conjunto de restricciones no admisibles que no se tienen en cuenta en el proceso de
optimización. Se pueden distinguir en la metodologı́a de eliminación de restricciones
varios tipos.

Eliminación indiscriminada Con esta estrategia todas las restricciones se elimi-


nan cada vez que aparezcan problemas de existencia de solución factible, quedando
la optimización de un problema sin restricciones. No es un método muy óptimo para
CAPÍTULO 18. OTROS ASPECTOS DEL CONTROL PREDICTIVO 277

resolver el problema de la existencia de solución admisible, pero es la forma más rápida


de tener en cuenta incompatibilidad de restricciones.

La eliminación indiscriminada de restricciones no es adecuada en todas las aplica-


ciones. No debe ser por ejemplo usada en casos en que las restricciones estén directa-
mente relacionadas con lı́mites de seguridad.

Eliminación jerárquica En este caso sólo se eliminan las restricciones que provocan
problemas de incompatibilidad. En este método se asigna en la etapa de diseño una
prioridad a cada restricción, que da un grado de importancia relativa de dicha restric-
ción frente a las otras. Esta prioridad se usará para clasificar las restricciones de una
forma jerárquica (se asigna un número que indica su posición en la jerarquı́a). De este
modo, cada vez que haya problemas de factibilidad o existencia de solución el gestor
de restricciones va eliminando por orden las restricciones menos prioritarias hasta que
se restablece la factibilidad de la solución, que se chequea cada periodo de muestreo
para reinsertar restricciones que hubieran sido temporalmente eliminadas.

En este sentido, a la hora de eliminar restricciones se pueden establecer diferentes


tipos de reglas para establecer el número de restricciones que se eliminan, si conviene
eliminar más restricciones a costa de no eliminar una con prioridad superior, etc.

3. Relajación de restricciones

Otro método para tener en cuenta el problema de existencia de solución es la re-


lajación de las restricciones. Se puede hacer una relajación de los lı́mites de forma
temporal o convertir restricciones duras (Ru ≤ c), cambiándolas en restricciones blan-
das (Ru ≤ c + ², con ² ≥ 0) para asegurar la existencia de solución, añadiendo un
término ²T T² a la función de coste de forma que se penalice la violación de la re-
stricción y obtener un mejor comportamiento del sistema controlado. A largo plazo, el
término de penalización en la función objetivo llevará las variables auxiliares a cero.

4. Otras técnicas

Existen técnicas que se basan en la manipulación 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 algún punto en el futuro y continúa hasta
el estado estacionario. Si existe dinámica 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

Vous aimerez peut-être aussi