Apuntes ic4

174
Depto. de Ingenier´ ıa de Sistemas y Autom´ atica APUNTES DE INGENIER ´ IA DE CONTROL AN ´ ALISIS Y CONTROL DE SISTEMAS EN ESPACIO DE ESTADO IDENTIFICACI ´ ON DE SISTEMAS CONTROL ADAPTATIVO CONTROL PREDICTIVO Daniel Rodr´ ıguez Ram´ ırez Carlos Bord´ ons Alba Rev. 5/05/2005

Transcript of Apuntes ic4

Page 1: Apuntes ic4

Depto. de Ingenierıa de Sistemas y Automatica

APUNTES DE INGENIERIA DE CONTROL

ANALISIS Y CONTROL DE SISTEMAS EN ESPACIO DE ESTADO

IDENTIFICACION DE SISTEMAS

CONTROL ADAPTATIVO

CONTROL PREDICTIVO

Daniel Rodrıguez Ramırez

Carlos Bordons Alba

Rev. 5/05/2005

Page 2: Apuntes ic4
Page 3: Apuntes ic4

Indice general

Lista de figuras IX

1. Control de sistemas discretos en el espacio de estados 1

1.1. Representacion de sistemas discretos en el espacio de estados . . . . . . 1

1.2. Obtencion de la representacion de en espacio de estados de sistemas

discretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2.1. Metodo de programacion directa . . . . . . . . . . . . . . . . . . 3

1.2.2. Metodo de programacion anidada . . . . . . . . . . . . . . . . . 5

1.3. La representacion en espacio de estados de un sistema no es unica . . . 6

1.4. Resolucion de las ecuaciones del espacio de estados . . . . . . . . . . . 7

1.4.1. Procedimiento recursivo . . . . . . . . . . . . . . . . . . . . . . 7

1.4.2. Matriz de transicion de estados . . . . . . . . . . . . . . . . . . 8

1.4.3. Metodo basado en la transformada Z . . . . . . . . . . . . . . . 9

1.4.3.1. Procedimiento alternativo para calcular (zI − G)−1 . . 10

1.5. Discretizacion de las ecuaciones de estado continuas . . . . . . . . . . . 12

1.6. Controlabilidad y Observabilidad . . . . . . . . . . . . . . . . . . . . . 15

i

Page 4: Apuntes ic4

ii INDICE GENERAL

1.6.1. Controlabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.6.2. Controlabilidad de la salida completa . . . . . . . . . . . . . . . 17

1.6.3. Observabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.6.4. Principio de Dualidad . . . . . . . . . . . . . . . . . . . . . . . 19

1.7. Transformacion de un sistema en formas canonicas . . . . . . . . . . . 19

1.7.1. Obtencion de la forma canonica controlable . . . . . . . . . . . 20

1.7.2. Obtencion de la forma canonica observable . . . . . . . . . . . . 20

1.8. Colocacion de polos mediante realimentacion del vector de estados . . . 21

1.8.1. Condicion necesaria y suficiente para la colocacion arbitraria de

polos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.8.2. Procedimientos para calcular K . . . . . . . . . . . . . . . . . . 22

1.8.2.1. Procedimiento alternativo: la formula de Ackermann . 24

1.8.3. Control Dead-Beat . . . . . . . . . . . . . . . . . . . . . . . . . 24

1.9. Observadores del estado . . . . . . . . . . . . . . . . . . . . . . . . . . 27

1.9.1. Procedimiento iterativo para la estimacion del estado . . . . . . 28

1.9.2. Observador del estado completo . . . . . . . . . . . . . . . . . . 30

1.9.2.1. Calculo de Ke . . . . . . . . . . . . . . . . . . . . . . . 32

1.9.2.2. Comentarios acerca del papel de Ke . . . . . . . . . . 34

1.9.2.3. Efectos de la adicion del observador . . . . . . . . . . . 35

1.9.3. Observador de orden mınimo . . . . . . . . . . . . . . . . . . . . 36

1.10. Control optimo LQR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Page 5: Apuntes ic4

INDICE GENERAL iii

1.10.1. Solucion de la ecuacion de Riccatti . . . . . . . . . . . . . . . . 43

1.11. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

2. Modelos de procesos y perturbaciones 45

2.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.2. Perturbaciones deterministas a trozos . . . . . . . . . . . . . . . . . . . 46

2.3. Procesos estocasticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.4. Modelos de procesos con ruidos . . . . . . . . . . . . . . . . . . . . . . 48

3. Introduccion a la identificacion de sistemas 51

3.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.2. Ideas basicas sobre identificacion de sistemas . . . . . . . . . . . . . . . 52

3.2.1. Planificacion de los experimentos . . . . . . . . . . . . . . . . . 52

3.2.2. Seleccion del tipo de modelo . . . . . . . . . . . . . . . . . . . . 53

3.2.3. Eleccion de un criterio . . . . . . . . . . . . . . . . . . . . . . . 54

3.2.4. Estimacion de los parametros . . . . . . . . . . . . . . . . . . . 54

3.2.4.1. Identificacion en lınea . . . . . . . . . . . . . . . . . . 54

3.2.4.2. Identificacion fuera de lınea . . . . . . . . . . . . . . . 55

3.2.5. Validacion del modelo . . . . . . . . . . . . . . . . . . . . . . . 55

3.2.6. Resumen del proceso de identificacion . . . . . . . . . . . . . . . 57

3.3. Algunas propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Page 6: Apuntes ic4

iv INDICE GENERAL

3.3.1. Excitacion persistente . . . . . . . . . . . . . . . . . . . . . . . 58

3.3.2. Convergencia e identificabilidad . . . . . . . . . . . . . . . . . . 59

3.3.2.1. Identificacion en bucle cerrado . . . . . . . . . . . . . . 60

3.3.3. Niveles de supervision y acondicionamiento . . . . . . . . . . . . 62

4. Identificacion por mınimos cuadrados 63

4.1. El metodo de los mınimos cuadrados . . . . . . . . . . . . . . . . . . . 63

4.2. Algoritmo recursivo para identificacion en linea . . . . . . . . . . . . . 65

4.3. Interpretacion estadıstica . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.4. Mınimos cuadrados ponderados . . . . . . . . . . . . . . . . . . . . . . 70

4.5. Mınimos cuadrados extendidos y generalizados . . . . . . . . . . . . . . 71

4.6. Estimacion de los valores de continua . . . . . . . . . . . . . . . . . . . 72

4.6.1. Utilizacion de los incrementos de las variables . . . . . . . . . . 73

4.6.2. Calculo de los valores medios . . . . . . . . . . . . . . . . . . . 73

4.6.3. Estimacion de una constante . . . . . . . . . . . . . . . . . . . . 73

4.7. Importancia del orden del modelo . . . . . . . . . . . . . . . . . . . . . 74

4.8. Identificacion de sistemas con retardo o no lineales . . . . . . . . . . . . 77

4.9. Consideraciones finales . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5. Introduccion al control adaptativo 81

5.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . 81

Page 7: Apuntes ic4

INDICE GENERAL v

5.1.1. Clasificacion grosso modo de los sistemas de control adaptativo . 82

5.2. Justificacion del uso de control adaptativo . . . . . . . . . . . . . . . . 84

5.3. Control adaptativo por modelo de referencia (MRAC) . . . . . . . . . . 87

5.3.1. La regla del MIT . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6. Reguladores Autoajustables (STR) 93

6.1. Introduccion. Estructura general de los STR . . . . . . . . . . . . . . . 93

6.1.1. Algoritmos con estructura implıcita y explıcita . . . . . . . . . . 95

6.2. Control por Mınima Varianza . . . . . . . . . . . . . . . . . . . . . . . 96

6.2.1. El regulador de mınima varianza generalizado . . . . . . . . . . 99

6.3. Asignacion de polos y ceros . . . . . . . . . . . . . . . . . . . . . . . . 100

6.3.1. Algoritmo con estructura implıcita. . . . . . . . . . . . . . . . . 103

6.3.2. Algoritmo con estructura explıcita . . . . . . . . . . . . . . . . . 104

7. Controladores PID con autoajuste y Ajuste por tabla 105

7.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

7.2. Funcion de autoajuste (autotuning) . . . . . . . . . . . . . . . . . . . . 105

7.3. Funciones de autoajuste para PIDs . . . . . . . . . . . . . . . . . . . . 107

7.3.1. Tecnicas de ajuste basadas en la respuesta transitoria . . . . . . 108

7.3.2. Metodos basados en las oscilaciones producidas al realimentar

con un rele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

7.4. La tecnica de ajuste por tabla o gain scheduling . . . . . . . . . . . . . 110

Page 8: Apuntes ic4

vi INDICE GENERAL

7.5. Controladores adaptativos industriales . . . . . . . . . . . . . . . . . . 113

7.5.1. SattControl ECA40 y Fisher-Rosemount DPR900 . . . . . . . . 115

7.5.2. Foxboro EXACT . . . . . . . . . . . . . . . . . . . . . . . . . . 115

7.5.3. ABB Novatune . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

8. Control Predictivo Basado en Modelo (MPC) 117

8.1. Perspectiva historica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

8.2. Conceptos basicos de control predictivo . . . . . . . . . . . . . . . . . . 118

8.3. Estrategia de los controladores predictivos . . . . . . . . . . . . . . . . 119

8.4. Elementos basicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

8.4.1. Modelo de prediccion . . . . . . . . . . . . . . . . . . . . . . . . 122

8.4.1.1. Respuestas libre y forzada . . . . . . . . . . . . . . . . 125

8.4.2. Funcion objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . 126

8.4.3. Obtencion de la ley de control . . . . . . . . . . . . . . . . . . . 129

8.5. Revision de los principales algoritmos . . . . . . . . . . . . . . . . . . . 130

8.5.0.1. Dynamic Matrix Control . . . . . . . . . . . . . . . . . 130

8.5.0.2. Model Algorithmic Control . . . . . . . . . . . . . . . 131

8.5.0.3. Predictive Functional Control . . . . . . . . . . . . . . 131

8.5.0.4. Extended Prediction Self Adaptive Control . . . . . . 132

8.5.0.5. Extended Horizon Adaptive Control . . . . . . . . . . 133

8.5.0.6. Generalized Predictive Control . . . . . . . . . . . . . 134

Page 9: Apuntes ic4

INDICE GENERAL vii

9. Controladores predictivos 135

9.1. Dynamic Matrix Control . . . . . . . . . . . . . . . . . . . . . . . . . . 135

9.1.1. Prediccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

9.1.2. Perturbaciones medibles . . . . . . . . . . . . . . . . . . . . . . 137

9.1.3. Algoritmo de control . . . . . . . . . . . . . . . . . . . . . . . . 138

9.1.3.1. El caso con restricciones . . . . . . . . . . . . . . . . . 140

9.1.3.2. Extension al caso multivariable . . . . . . . . . . . . . 141

9.2. Control Predictivo Generalizado . . . . . . . . . . . . . . . . . . . . . . 141

9.2.1. Formulacion del Control Predictivo Generalizado . . . . . . . . 142

9.2.1.1. Prediccion optima . . . . . . . . . . . . . . . . . . . . 143

9.2.1.2. Obtencion de la ley de control . . . . . . . . . . . . . . 146

9.2.2. Ejemplo de calculo . . . . . . . . . . . . . . . . . . . . . . . . . 147

9.2.3. Caso multivariable . . . . . . . . . . . . . . . . . . . . . . . . . 149

10.Otros aspectos del Control Predictivo 151

10.1. Restricciones en Control Predictivo . . . . . . . . . . . . . . . . . . . . 151

10.1.1. Tratamiento convencional de restricciones . . . . . . . . . . . . 151

10.1.2. Restricciones en Control Predictivo . . . . . . . . . . . . . . . . 153

10.1.3. Resolucion del problema . . . . . . . . . . . . . . . . . . . . . . 155

10.1.4. Gestion de restricciones . . . . . . . . . . . . . . . . . . . . . . 156

10.1.4.1. Tecnicas de busqueda de soluciones factibles . . . . . . 157

Page 10: Apuntes ic4

viii INDICE GENERAL

Page 11: Apuntes ic4

Indice de figuras

1.1. Diagrama de bloques de la representacion en espacio de estados de un

sistema LTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2. Diagrama de bloques de un sistema controlado por una realimentacion

del vector de estados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

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

mentacion del vector de estados que estima el estado con un observador. 31

1.4. Diagrama de bloques de un observador de orden completo. . . . . . . . 31

2.1. Procesos estocasticos: realizaciones y variables aleatorias. . . . . . . . 47

2.2. Modelo de Box-Jenkins. . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.1. Esquema de la identificacion en lınea. . . . . . . . . . . . . . . . . . . 55

3.2. Diagrama de flujo del proceso de identificacion. . . . . . . . . . . . . . 57

3.3. Ejemplo de senal de entrada del tipo PRBSS. . . . . . . . . . . . . . . 59

4.1. Diagrama de flujo del proceso de identificacion mediante mınimos cuadra-

dos recursivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.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. . . . . . . . . . . . . . . . . . . . . . . . 75

ix

Page 12: Apuntes ic4

x INDICE DE FIGURAS

4.3. Misma situacion que en la figura 4.2 pero con una senal de entrada

senoidal de frecuencia ω = 1 rad × s−1. . . . . . . . . . . . . . . . . . . 75

4.4. Evolucion de los parametros identificados en un caso de sobreparametrizacion.

76

4.5. Evolucion de unos parametros frente a otros para el modelo sobreparametriza-

do. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.1. Configuracion generica de un controlador adaptativo. . . . . . . . . . . 82

5.2. Sistema realimentado con actuador con caracterıstica v = f(u). . . . . 84

5.3. Sistema realimentado con actuador con caracterıstica v = f(u). . . . . 85

5.4. Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema

dado en (5.1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

5.5. Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema

dado en (5.2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

5.6. Configuracion generica de un controlador adaptativo por modelo de re-

ferencia (MRAC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

6.1. Configuracion generica de un regulador o controlador autoajustable. . 94

6.2. Configuracion generica de un regulador o controlador autoajustable. . 95

6.3. Division de polinomios para el ejemplo 6.2. . . . . . . . . . . . . . . . 99

6.4. Estructura para la asignacion de polos y ceros. . . . . . . . . . . . . . 101

7.1. PID industrial moderno con funcion de autoajuste (ABB modelo ECA). 107

7.2. Determinacion de T y L por areas. . . . . . . . . . . . . . . . . . . . . 109

7.3. Estructura usada en el metodo basado en oscilaciones de rele. . . . . . 110

Page 13: Apuntes ic4

INDICE DE FIGURAS xi

7.4. Configuracion generica de un controlador adaptativo con adaptacion en

bucle abierto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.5. Curva de pH para una solucion de HCl 0.001 M y NaOH 0.001 M. . . 112

7.6. Caracterıstica aproximada de una sonda lambda . . . . . . . . . . . . 113

7.7. La herramienta Novatune se comercializa actualmente con el sistema

Advant 410 de ABB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

8.1. Estrategia del Control Predictivo . . . . . . . . . . . . . . . . . . . . . 120

8.2. Estructura basica del MPC . . . . . . . . . . . . . . . . . . . . . . . . . 121

8.3. Respuesta impulsional y ante escalon . . . . . . . . . . . . . . . . . . . 123

8.4. Respuestas libre y forzada . . . . . . . . . . . . . . . . . . . . . . . . . 126

8.5. Trayectoria de referencia . . . . . . . . . . . . . . . . . . . . . . . . . . 128

8.6. Puntos de coincidencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

9.1. Ley de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

9.2. Punto de operacion optimo de un proceso tıpico . . . . . . . . . . . . . 140

10.1. Restricciones y punto de operacion optimo . . . . . . . . . . . . . . . . 152

10.2. Restricciones en la senal de control . . . . . . . . . . . . . . . . . . . . 153

10.3. Gestion de restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Page 14: Apuntes ic4

xii INDICE DE FIGURAS

Page 15: Apuntes ic4

Capıtulo 1

Control de sistemas discretos en el

espacio de estados

1.1. Representacion de sistemas discretos en el es-

pacio de estados

El metodo de espacio de estados esta basado en la descripcion del sistema mediante

n ecuaciones en diferencias, que se agrupan en una ecuacion vectorial matricial en

diferencias.

Definicion 1.1 Concepto de estado: El estado de un sistema dinamico es el con-

junto mas pequeno de variables (llamadas variables de estado) tal que, el conocimiento

de esas variables en un determinado instante t0 junto con el conocimiento de los valores

de la senal de entrada para los instantes t ≥ t0, permite determinar el comportamiento

y evolucion del sistema para cualquier instante de tiempo t ≥ t0.

Las variables de estado se agrupan en el llamado vector de estado y el espacio n-

dimensional que determinan los posibles valores de esas variables, se denomina espacio

de estados .

La dinamica de un sistema se puede describir en funcion del valor del vector de

estados y de la senal de entrada (asumiendo que el sistema es no autonomo mediante

1

Page 16: Apuntes ic4

2OBTENCION DE LA REPRESENTACION DE EN ESPACIO DE ESTADOS DE SISTEMAS DISCRETOS

unas ecuaciones que tendran la forma:

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

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

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

pueden ser cualquier tipo de funcion. No obstante en esta asignatura nos centraremos

en los Sistemas Lineales e Invariantes en el tiempo (LTI). Este tipo de sistemas son

descritos mediante las siguientes ecuaciones:

x(k + 1) = Gx(k) + Hu(k) (1.1)

y(k) = Cx(k) + Du(k)

que corresponderıan al diagrama de bloques:

x(k+1) ++

D

Hu(k)

z-1 � C

G

+

+

x(k)

Figura 1.1: Diagrama de bloques de la representacion en espacio de estados de un sistema LTI.

1.2. Obtencion de la representacion de en espacio

de estados de sistemas discretos

Partiremos de un sistema discreto descrito por:

y(k)+a1y(k−1)+a2y(k−2)+· · ·+any(k−n) = b0u(k)+b1u(k−1)+· · ·+bnu(k−n) (1.2)

Es bien conocido de anteriores temas de la asignatura que este sistema puede ser

descrito por la siguiente funcion de transferencia:

G(z) =Y (z)

U(z)=

b0 + b1z−1 + b2z

−2 + · · · + bnz−n

1 + a1z−1 + a2z−2 + · · · + anz−n(1.3)

A continuacion se expondran dos de los metodos disponibles para obtener la repre-

sentacion en espacio de estados del sistema descrito por (1.3).

Page 17: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 3

1.2.1. Metodo de programacion directa

Parte de la premisa que la funcion de transferencia (1.3) puede reescribirse como:

G(z) = b0 +(b1 − a1b0)z

−1 + (b2 − a2b0)z−2 + · · · + (bn − anb0)z

−n

1 + a1z−1 + a2z−2 + · · · + anz−n(1.4)

teniendo en cuenta que G(z) = Y (z)U(z)

se obtiene:

Y (z) = b0U(z) +(b1 − a1b0)z

−1 + (b2 − a2b0)z−2 + · · · + (bn − anb0)z

−n

1 + a1z−1 + a2z−2 + · · · + anz−nU(z) (1.5)

que a su vez se puede expresar como:

Y (z) = b0U(z) + Y (z)U(z) (1.6)

con:

Y (z) =(b1 − a1b0)z

−1 + (b2 − a2b0)z−2 + · · · + (bn − anb0)z

−n

1 + a1z−1 + a2z−2 + · · · + anz−n(1.7)

Por otra parte, teniendo en cuenta la expresion de Y (z) se puede definir un Q(z) que

cumple que:

Q(z) =Y (z)

(b1 − a1b0)z−1 + · · · + (bn − anb0)z−n=

U(z)

1 + a1z−1 + · · · + anz−n(1.8)

De ahı se obtiene que:

Q(z) = −a1z−1Q(z) − a2z

−2Q(z) − · · · − anz−nQ(z) + U(z) (1.9)

Y (z) = (b1 − a1b0)z−1Q(z) + (b2 − a2b0)z

−2Q(z) + · · · + (bn − anb0)z−nQ(z) (1.10)

A continuacion se eligen las variables de estado como:

X1(z) = z−nQ(z) (1.11)

X2(z) = z−(n−1)Q(z)

· · ·

Xn(z) = z−1Q(z)

lo que teniendo en cuenta las propiedades de la transformada Z, implica que:

zX1(z) = X2(z)

zX2(z) = X3(z)

· · ·

zXn−1(z) = Xn(z)

Page 18: Apuntes ic4

4OBTENCION DE LA REPRESENTACION DE EN ESPACIO DE ESTADOS DE SISTEMAS DISCRETOS

lo que a su vez equivale a:

x1(k + 1) = x2(k) (1.12)

x2(k + 1) = x3(k)

· · ·

xn−1(k + 1) = xn(k)

Notese que segun la ultima igualdad de (1.11) se tiene que Q(z) = zXn(z), luego

teniendo en cuenta esto y el resto de las igualdades de (1.11) podemos reescribir la

expresion de Q(z) en (1.9) como:

zXn(z) = −a1Xn(z) − a2Xn−1(z) − · · · − anX1(z) + U(z) (1.13)

o lo que es lo mismo:

xn(k + 1) = −anx1(k) − an−1x2(k) − · · · − a1xn(k) + u(k) (1.14)

De esta manera y si tenemos en cuenta (1.12) obtenemos la siguiente expresion de la

ecuacion de estado:

x1(k + 1)

x2(k + 1)...

xn−1(k + 1)

xn(k + 1)

=

0 1 0 · · · 0

0 0 1 · · · 0...

......

...

0 0 0 · · · 1

−an −an−1 −an−2 · · · −a1

x1(k)

x2(k)...

xn−1(k)

xn(k)

+

0

0...

0

1

u(k)

(1.15)

Por otra parte, podemos reescribir tambien (1.10) teniendo en cuenta las igualdades

de (1.11) de manera que:

Y (z) = (b1 − a1b0)Xn(z) + (b2 − a2b0)Xn−1(z) + · · · + (bn − anb0)X1(z) (1.16)

Esto se puede llevar a la ecuacion (1.6) de manera que antitransformando se obtiene:

y(k) = (bn −anb0)x1(k)+ (bn−1 −an−1b0)x2(k)+ · · ·+(b1 −a1b0)xn(k)+ b0u(k) (1.17)

lo cual se puede escribir como:

y(k) =[

bn − anb0 bn−1 − an−1b0 · · · b1 − a1b0

]

x1(k)

x2(k)...

xn−1(k)

xn(k)

+ b0u(k) (1.18)

Las ecuaciones (1.15) y (1.18) forman una representacion en espacio de estados del

sistema descrito por la funcion de transferencia (1.3) que se denomina forma canonica

controlable.

Page 19: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 5

1.2.2. Metodo de programacion anidada

En este caso se parte de que de la funcion de transferencia (1.3) se obtiene la

siguiente ecuacion:

Y (z) − b0U(z) + z−1 (a1Y (z) − b1U(z)) + · · · + z−n (anY (z) − bnU(z)) = 0 (1.19)

que a su vez se puede reescribir como:

Y (z) = b0U(z) + z−1(b1U(z) − a1Y (z) + z−1 (b2U(z) − a2Y (z) (1.20)

+z−1 (b3U(z) − a3Y (z) + · · ·)))

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

Xn(z) = z−1 (b1U(z) − a1Y (z) + Xn−1(z)) (1.21)

Xn−1(z) = z−1 (b2U(z) − a2Y (z) + Xn−2(z))...

X2(z) = z−1 (bn−1U(z) − an−1Y (z) + X1(z))

X1(z) = z−1 (bnU(z) − anY (z))

Notese que segun esta definicion de las variables de estado la expresion (1.20) se puede

reescribir en forma condensada como:

Y (z) = b0U(z) + Xn(z) (1.22)

Sustituyendo esta expresion en la definicion de las variables de estado (1.21) y multi-

plicando por z en ambos lados de cada igualdad se obtiene:

zXn(z) = Xn−1(z) − a1Xn(z) + (b1 − a1b0)U(z)

zXn−1(z) = Xn−2(z) − a2Xn(z) + (b2 − a2b0)U(z)...

zX2(z) = X1(z) − an−1Xn(z) + (bn−1 − an−1b0)U(z)

zX1(z) = −anXn(z) + (bn − anb0)U(z)

Antitransformando lo anterior:

x1(k + 1) = −anxn(k) + (bn − anb0)u(k) (1.23)

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

xn−1(k + 1) = xn−2(k) − a2xn(k) + (b2 − a2b0)u(k)

xn(k + 1) = xn−1(k) − a1xn(k) + (b1 − a1b0)u(k)

Page 20: Apuntes ic4

6 LA REPRESENTACION EN ESPACIO DE ESTADOS DE UN SISTEMA NO ES UNICA

Antitransformando tambien la expresion (1.22) se obtiene:

y(k) = xn(k) + b0u(k) (1.24)

Finalmente, agrupando las dos expresiones anteriores se obtiene:

x1(k + 1)

x2(k + 1)...

xn−1(k + 1)

xn(k + 1)

=

0 0 · · · 0 0 −an

1 0 · · · 0 0 −an−1

......

......

...

0 0 · · · 1 0 −a2

0 0 · · · 0 1 −a1

x1(k)

x2(k)...

xn−1(k)

xn(k)

+

bn − anb0

bn−1 − an−1b0

...

b2 − a2b0

b1 − a1b0

u(k)

y(k) =[

0 0 · · · 0 1]

x1(k)

x2(k)...

xn−1(k)

xn(k)

+ b0u(k) (1.25)

A esta representacion en espacio de estados del sistema descrito por la funcion de

transferencia (1.3) se la denomina forma canonica observable.

1.3. La representacion en espacio de estados de un

sistema no es unica

Se ha comprobado que a un mismo sistema descrito por su funcion de transferencia

le corresponden, al menos, dos representaciones en espacio de estado distintas. De

hecho, la representacion en espacio de estados de un sistema no es unica. Por ejemplo,

podemos tomar otras variables de estado que describan la dinamica del sistema que

sean a su vez combinaciones lineales de las variables de estado originales, o considerar

que estas son a su vez combinaciones lineales de otras. Dicho de otro modo, dado un

sistema LTI como el descrito en (1.1) podemos considerar que el vector de estado x(k)

esta relacionado con otro vector x(k) con variables de estado distintas mediante una

transformacion:

x(k) = Px(k) (1.26)

donde P es una matriz invertible. Esto se puede llevar a la ecuacion de estado del

sistema de manera que obtendrıamos:

Px(k + 1) = GPx(k) + Hu(k)

Premultiplicando por P−1:

x(k + 1) = P−1GPx(k) + P−1Hu(k)

Page 21: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 7

por lo que la ecuacion de estado se puede expresar como:

x(k + 1) = Gx(k) + Hu(k) (1.27)

con G = P−1GP y H = P−1H. De la misma manera la ecuacion, de la salida del

sistema se puede expresar como:

y(k) = Cx(k) + Du(k) (1.28)

con C = CP y D = D. Ası pues, las ecuaciones (1.27) y (1.28) describen una repre-

sentacion del sistema en espacio de estados que es diferente de la original pero equiva-

lente a ella1.

1.4. Resolucion de las ecuaciones del espacio de es-

tados

En esta seccion se trata el tema de la resolucion de las ecuaciones de estado. Es

decir, se presentaran procedimientos para obtener el valor del vector de estado para

un determinado instante de tiempo k > 0 a partir del valor de x(0), es decir, del valor

inicial del vector de estados.

1.4.1. Procedimiento recursivo

Iterando las ecuaciones del estado para un sistema LTI como (1.1) a partir de k = 0:

x(1) = Gx(0) + Hu(0)

x(2) = Gx(1) + Hu(1) = G2x(0) + GHu(0) + Hu(1)

x(3) = Gx(2) + Hu(2) = G3x(0) + G2Hu(0) + GHu(1) + Hu(2)...

generalizando para cualquier k > 0:

x(k) = Gkx(0) +k−1∑

j=0

Gk−j−1Hu(j) (1.29)

1Observese que en la ecuacion (1.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.

Page 22: Apuntes ic4

8 RESOLUCION DE LAS ECUACIONES DEL ESPACIO DE ESTADOS

Observese que x(k) depende del estado inicial y de los valores de la entrada. Por otra

parte, la salida se puede expresar como:

y(k) = CGkx(0) + C

k−1∑

j=0

Gk−j−1Hu(j) + Du(k) (1.30)

1.4.2. Matriz de transicion de estados

Considerese la ecuacion:

x(k + 1) = Gx(k) (1.31)

En este caso, al no tener senal de entrada la solucion de la ecuacion viene dada por:

x(k) = Ψ(k)x(0)

con:

Ψ(k + 1) = GΨ(k) Ψ(0) = I

es decir:

Ψ(k) = Gk

A Ψ(k) se le llama la matriz de transicion de estados y contiene toda la informacion

sobre los movimientos libres del sistema descrito por (1.31). Estos movimientos libres

se refieren a los cambios de estado o evolucion del estado del sistema en ausencia de

entrada.

En terminos de Ψ(k) la solucion de la ecuacion de estados para el sistema (1.1)

viene dada por:

x(k) = Ψ(k)x(0) +k−1∑

j=0

Ψ(k − j − 1)Hu(j) (1.32)

= Ψ(k)x(0) +k−1∑

j=0

Ψ(j)Hu(k − j − 1)

lo que lleva a:

y(k) = CΨ(k)x(0) + C

k−1∑

j=0

Ψ(j)Hu(k − j − 1) + Du(k) (1.33)

Page 23: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 9

1.4.3. Metodo basado en la transformada Z

Aplicando la transformada Z a ambos lados de la ecuacion de estados del sistema

(1.1) se obtiene:

zX(z) − zx(0) = GX(z) + HU(z)

y de ahı:

(zI − G)X(z) = zx(0) + HU(Z)

Premultiplicando por (zI − G)−1:

X(z) = (zI − G)−1zx(0) + (zI − G)−1HU(Z)

y antitransformando:

x(k) = Z−1{(zI − G)−1z

}x(0) + Z

−1{(zI − G)−1HU(z)

}

Esta ecuacion la podemos comparar con la solucion mediante el procedimiento recursivo

indicado en la ecuacion (1.29), e identificando terminos tenemos que:

Gk = Z−1{(zI − G)−1z

}y

k−1∑

j=0

Gk−j−1Hu(j) = Z−1{(zI − G)−1HU(z)

}(1.34)

La dificultad de este metodo consiste en realizar la transformada Z de las expresiones

anteriores. Para ilustrar el procedimiento considerese el siguiente ejemplo:

Ejemplo 1.1

Dado un sistema LTI como (1.1) con:

G =

[0 1

−0,16 −1

]

H =

[1

1

]

C =[

1 0]

Se pide calcular Ψ(k) = GK = Z−1 {(zI − G)−1z}. En primer lugar calculamos:

(zI − G)−1 =

[z −1

0,16 z + 1

]

=

[z+1

(z+0,2)(z+0,8)1

(z+0,2)(z+0,8)−0,16

(z+0,2)(z+0,8)z

(z+0,2)(z+0,8)

]

=

[43

1z+0,2

− 13

1z+0,8

53

1z+0,2

− 53

1z+0,8

−0,83

1z+0,2

+ 0,83

1z+0,8

−13

1z+0,2

+ 43

1z+0,8

]

(1.35)

Page 24: Apuntes ic4

10 RESOLUCION DE LAS ECUACIONES DEL ESPACIO DE ESTADOS

Multiplicando lo anterior por z y antitransformando se obtiene:

Ψ(k) = Gk = Z−1{(zI − G)−1z

}=

[43(−0,2)k − 1

3(−0,8)k 5

3(−0,2)k − 5

3(−0,8)k

−0,83

(−0,2)k + 0,83

(−0,8)k −13(−0,2)k + 4

3(−0,8)k

]

(1.36)

El ejemplo se puede completar resolviendo completamente la ecuacion de estado y la

de la salida para una senal de entrada dada por:

u(k) = 1 k = 0, 1, 2, · · · x(0) =

[1

−1

]

Teniendo en cuenta la transformada Z de la entrada (escalon unitario) y que se sabe

que:

X(z) = (zI − G)−1 [zx(0) + HU(z)]

se calcula:

zx(0) + HU(z) =

[z

−z

]

+

[z

z−1z

z−1

]

=

[z2

z−1−z2+2z

z−1

]

que premultiplicado por el resultado de la ecuacion (1.35) lleva a:

X(z) =

[−

176

z

z+0,2+

229

z

z+0,8+

2518

z

z−13,4

6z

z+0,2+

−17,6

9z

z+0,8+

718

z

z−1

]

y de ahi, antitransformando:

x(k) =

[−17

6(−0,2)k + 22

9(−0,8)k + 25

183,46

(−0,2)k − 17,69

(−0,8)k + 718

]

Finalmente la ecuacion de salida sera:

y(k) =[

1 0]x(k)

= −17

6(−0,2)k +

22

9(−0,8)k +

25

18

1.4.3.1. Procedimiento alternativo para calcular (zI − G)−1

Se observa en el ejemplo 1.1 que gran parte del calculo se emplea en calcular (zI −

G)−1. Esto puede ser muy engorroso cuando el orden de las matrices involucradas es

superior a 3. A continuacion se detalla un procedimiento alternativo para esos casos.

En primer lugar es conocido que, por definicion de matriz inversa:

(zI − G)−1 =Adj(zI − G)

|zI − G|

Page 25: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 11

donde ((Adj)) indica la matriz adjunta. El determinante |zI − G| se puede expresar

como:

|zI − G| = zn + a1zn−1 + a2z

n−2 + · · · + an

Por otra parte se puede demostrar que:

Adj(zI − G) = Izn−1 + H1zn−2 + H2z

n−3 + · · · + Hn−1

donde las matrices Hi se calculan mediante:

H1 = G + a1I

H2 = GH1 + a2I...

Hn−1 = GHn−1 + an−1I

Hn = GHn−1 + anI = 0

y los ai se calculan a su vez como:

a1 = −traza(G)

a2 = −1

2traza(GH1)

a3 = −1

3traza(GH2)

...

an = −1

ntraza(GHn−1)

Ejemplo 1.2

A continuacion se calculara la inversa de (zI − G) para el ejemplo 1.1 mediante este

procedimiento alternativo. Dado que el orden de la matriz es n = 2, se tiene que:

|zI − G| = z2 + a1z + a2

Adj(zI − G) = Iz + H1

donde:a1 = −traza(G)

a2 = −12traza(GH1)

H1 = G + a1I

La traza de G es igual a 1, luego a1 = 1 y de ahı se obtiene que H1 = G + I, con lo

que se puede calcular:

a2 = −1

2traza

([0 1

−0,16 −1

] [1 1

−0,16 0

])

= 0,16

Page 26: Apuntes ic4

12 DISCRETIZACION DE LAS ECUACIONES DE ESTADO CONTINUAS

con lo que se obtiene:

Adj(zI − G) = Iz +

[1 1

−0,16 0

]

=

[z + 1 1

−0,16 z

] |zI−G| = z2+z+0,16 = (z+0,2)(z+0,8)

Finalmente:

(zI − G)−1 =

[z + 1 1

−0,16 z

]

(z + 0,2)(z + 0,8)

que evidentemente es el mismo resultado obtenido en el ejemplo 1.1. �

1.5. Discretizacion de las ecuaciones de estado con-

tinuas

En esta seccion veremos como se puede pasar de un modelo en espacio de estado

continuo a discreto. Se partira de un sistema lineal e invariante en el tiempo continuo:

x = Ax + Bu

y = Cx + Du(1.37)

Supondremos que la entrada solo cambia en ciertos instantes igualmente espaciados en

el tiempo, es decir, solo puede cambiar en t = kT , para k = 0, 1, 2, · · ·. Al discretizar

la ecuacion de estado esta tomara la forma:

x((k + 1)T ) = G(T )x(kT ) + H(T )u(kT ) (1.38)

donde puede observarse que las matrices G y H dependen del tiempo de muestreo T .

Para determinar el valor de G(T ) y H(T ) usaremos la solucion de la ecuacion de estado

en tiempo continuo:

x(t) = eAtx(0) + eAt

∫ t

0

e−AτBu(τ)dτ (1.39)

Supondremos que la entrada u(t) es muestreada mediante un mantenedor de orden

cero, por lo que se cumple que:

u(t) = u(kT ) para kT ≤ t ≤ kT + T (1.40)

Page 27: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 13

Se tiene que:

x((k + 1)T ) = eA(k+1)T x(0) + eA(k+1)T

∫ (k+1)T

0

e−AτBu(τ)dτ (1.41)

x(kT ) = eAkT x(0) + eAkT

∫ kT

0

e−AτBu(τ)dτ (1.42)

Mutiplicando la ecuacion (1.42) por eAT y restandola de la ecuacion (1.41) se obtiene:

x((k + 1)T ) = eAT x(kT ) + eA(k+1)T

∫ (k+1)T

kT

e−AτBu(τ)dτ (1.43)

Teniendo en cuenta la suposicion de que u(t) es constante en el intervalo de integracion

(ver (1.40)) se puede sustituir u(τ) por u(kT ). Aplicando esto y operando se llega a:

x((k + 1)T ) = eAT x(kT ) + eAT

∫ T

0

e−AτBu(kT )dτ

= eAT x(kT ) +

∫ T

0

e−AλBu(kT )dλ (1.44)

donde λ = T − τ . Sea:G(T ) = eAT

H(T ) =(∫ T

0eAλdλ

)

B(1.45)

entonces la ecuacion (1.44) queda:

x((k + 1)T ) = G(T )x(kT ) + H(T )u(kT ) (1.46)

que es la ecuacion a la que tenıamos que llegar y por tanto se ha obtenido la ecuacion

de estado continuo discretizada.

En el caso particular (aunque muy comun, y por tanto interesante) de que A sea

una matriz invertible se tiene que:

H(T ) =(eAT − I

)A−1B

Por otra parte, la ecuacion de la salida al ser discretizada queda:

y(kT ) = Cx(kT ) + Du(kT ) (1.47)

con C, D matrices constantes e iguales a la de la ecuacion en tiempo continuo.

Existen diferentes metodos para calcular eAT . Quizas el mas sencillo de aplicar

cuando se trata de calcular la exponencial con papel y lapiz sea utilizar la equivalencia:

eAt = L−1{(sI − A)−1

}(1.48)

Page 28: Apuntes ic4

14 DISCRETIZACION DE LAS ECUACIONES DE ESTADO CONTINUAS

donde L−1 indica la transformada de Laplace inversa. Desde el punto de vista practico

el metodo consistirıa en calcular (sI−A)−1 (notese que puede emplearse el metodo para

calcular (zI − G)−1 dado en la seccion 1.4.3.1) y aplicar a posteriori la transformada

de Laplace inversa a cada elemento de la matriz.

Ejemplo 1.3

Se ilustrara en este ejemplo el calculo de eAt siendo:

A =

[0 1

0 −2

]

Para ello se calcula:

(sI − A) =

[s 0

0 s

]

[0 1

0 −2

]

=

[s −1

0 s + 2

]

y aplicando los metodos vistos en la seccion 1.5 y subsiguientes se calcula la inversa:

(sI − A)−1 =

[1s

1s(s+2)

0 1(s+2)

]

Finalmente se aplica la transformada inversa de Laplace a cada elemento de la matriz

anterior de manera que se obtiene:

eAt = L−1{(sI − A)−1

}=

[1 1

2(1 − e−2t)

0 e−2t

]

Ejemplo 1.4

Como ejemplo de discretizacion de las ecuaciones de estado en tiempo continuo, con-

siderese el siguiente sistema:x = −ax + u

y = x

Usando las expresiones de (1.45) se obtiene:

G(T ) = eAT

= e−aT

y

H(T ) =(∫ T

0eAλdλ

)

B

=(∫ T

0e−aλdλ

)

= 1−e−aT

a

Page 29: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 15

Luego:x(k + 1) = e−aT x(k) + 1−e−aT

au(k)

y(k) = x(k)

1.6. Controlabilidad y Observabilidad

En esta seccion se pasan a tratar dos conceptos clave en el estudio de sistemas

dinamicos, la controlabilidad y la observabilidad. El primero se refiere a la existencia

de una secuencia de actuaciones para llevar el sistema a un estado arbitrario. Por

otro lado, la observabilidad tiene que ver con la posibilidad de determinar el valor del

vector de estados de un sistema a partir de observaciones de las salidas y la entradas

de dicho sistema. Ambos conceptos se deben a Kalman y son claves en estrategias de

control como la colocacion de polos por realimentacion del vector de estados o el control

optimo.

1.6.1. Controlabilidad

Definicion 1.2 Un sistema de control es completamente controlable o de estado com-

pletamente controlable, si es posible transferir al sistema desde un estado inicial ar-

bitrario a cualquier estado deseado en un tiempo finito. Tambien puede decirse que

sera completamente controlable, si cada variable de estado se puede controlar en un

tiempo finito por una senal de control que no este sujeta a ningun tipo de restriccion.

Como es habitual nos centraremos en el estudio de la controlabilidad de sistemas

LTI:

x((k + 1)T ) = Gx(kT ) + Hu(kT ) (1.49)

siendo la senal u(kT ) constante en el intervalo de tiempo kT ≤ t ≤ (k + 1)T . En este

caso, la controlabilidad de estado completo implica que existe una senal de control

constante entre cada tiempo de muestreo que transfiere al sistema, desde un estado

x(kT ) cualquiera a un estado deseado xf en como mucho n periodos de muestreo,

donde n es el tamano del vector de estados.

Recordemos que la solucion de la ecuacion de estados es:

x(nT ) = Gnx(0) +n−1∑

j=0

Gn−j−1Hu(jT )

Page 30: Apuntes ic4

16 CONTROLABILIDAD Y OBSERVABILIDAD

= Gnx(0) + Gn−1Hu(0) + Gn−2Hu(T ) + · · · + Hu((n − 1)T )

de ahı se obtiene:

x(nT ) − Gnx(0) =[

H... GH

... · · ·... Gn−1H

]

u((n − 1)T )

u((n − 2)T )...

u(0)

(1.50)

donde la matriz

Mc =[

H... GH

... · · ·... Gn−1H

]

(1.51)

es la llamada matriz de controlabilidad .

Supongase un estado final arbitrario x(nT ) = xf . Si el sistema fuera controlable

deberıa existir un vector de actuaciones que al multiplicarlo por la matriz de controla-

bilidad (1.51) diese como resultado xf −Gnx(0). Como xf y x(0) pueden ser cualquier

par de valores del vector de estado, es facil entender que xf−Gnx(0) puede ser cualquier

vector de Rn. De esto se desprende que para que el sistema sea controlable, el espa-

cio de vectores generado por los vectores que forman la matriz de controlabilidad (es

decir, sus columnas) debe ser todo Rn. La condicion necesaria y suficiente para que

se cumpla esto es que el rango de la matriz de controlabilidad sea n. Este resultado

permite enunciar el siguiente lema.

Lema 1.1 Dado un sistema LTI de orden n representado por (1.49), es condicion

necesaria y suficiente para que el sistema sea completamente controlable que el rango

de la matriz de controlabilidad (1.51) sea igual a n.

Comentario 1.1 El sistema que cumpla la condicion establecida en el lema 1.1 po-

dra alcanzar cualquier estado como maximo en n periodos de muestreo, pero solo si no

existen restricciones sobre la senal de control. En caso contrario, se tardarıa mas.

Si el sistema es controlable, se podra determinar la secuencia de valores de la entrada

necesaria para llevar al sistema a xf resolviendo el sistema de ecuaciones (1.50).

Por otra parte, la controlabilidad se puede comprobar a partir de la funcion de

transferencia de un sistema observando si hay cancelaciones de polos y ceros. En el

caso de que las hubiese, el sistema no serıa controlable. Por tanto, el sistema

Y (z)

U(z)=

z + 0,2

(z + 0,8)(z + 0,2)

no serıa controlable pues existe una cancelacion de un polo con un cero.

Page 31: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 17

1.6.2. Controlabilidad de la salida completa

En control automatico el objetivo mas comun es controlar la evolucion de la salida

del sistema. Se puede demostrar que la controlabilidad del estado no implica la contro-

labilidad de la salida. Sin embargo, podemos comprobar dicha controlabilidad de una

manera analoga a la de la controlabilidad del estado completo. Sea un sistema cuya

ecuacion de estado es (1.49) y la ecuacion de la salida es:

y(kT ) = Cx(kT ) (1.52)

La condicion para comprobar la controlabilidad de la salida completa serıa que

Rango{[

CH... CGH

... · · ·... CGn−1H

]}

= m (1.53)

donde m es el numero de salidas. Por otra parte, si la ecuacion de la salida es:

y(kT ) = Cx(kT ) + Du(kT ) (1.54)

la condicion a comprobar serıa:

Rango{[

D... CH

... CGH... · · ·

... CGn−1H

]}

= m (1.55)

Notese que en esta segunda forma de la ecuacion de salida, la presencia del termino

Du(kT ) no empeora la controlabidad del sistema, sino justo lo contrario. De hecho, al

introducirse una columna extra en la matriz de controlabilidad (la correspondiente a

D), se puede dar el caso que se pase de tener m−1 columnas linealmente independientes

a tener m, por lo que se lograrıa la controlabilidad de la salida. Dicho de otra manera,

encontrar m vectores linealmente independientes siempre sera igual o mas facil entre

n + 1 vectores que entre solo n de esos vectores.

1.6.3. Observabilidad

Considerese un sistema autonomo:

x((k + 1)T ) = Gx(kT )

y(kT ) = Cx(kT )(1.56)

Definicion 1.3 El sistema autonomo (1.56) es completamente observable si todo es-

tado inicial x(0) se puede determinar de la observacion de y(kT ) durante un numero

finito de intervalos de muestreo. Para que ello ocurra, cada transicion del estado debe

afectar a todos los elementos del vector de salida.

Page 32: Apuntes ic4

18 CONTROLABILIDAD Y OBSERVABILIDAD

La observabilidad juega un papel esencial en el control de aquellos sistemas en los

que algunas de las variables de estado no son accesibles, es decir, no son medibles

directamente. Notese que se ha considerado un sistema autonomo. La razon de esto es

que la observabilidad de un sistema no autonomo se reduce a la del sistema autonomo

equivalente.

Se sabe que la solucion de la ecuacion de estado para el sistema autonomo (1.56)

es:

x(kT ) = Gkx(0)

y de ahı

y(kT ) = CGkx(0)

La observabilidad completa implica que usando

y(0), y(T ), y(2T ), · · · , y((n − 1)T )

se pueden determinar

x1(0), x2(0), · · · , xn(0)

donde xi(0) indica la iesima componente de x(0). Es decir el sistema es completamente

observable si las ecuaciones:

y(0) = Cx(0)

y(T ) = CGx(0)...

y((n − 1)T ) = CGn−1x(0)

permiten determinar x1(0), x2(0), · · · , xn(0). Como y(kT ) es un m-vector (asumiendo

que el sistema tiene m salidas) el sistema de ecuaciones anterior es en realidad un

sistema de n×m ecuaciones, en las que las incognitas son las n componentes de x(0).

Para que la solucion de este sistema sea unica debe haber entre ellas n ecuaciones

linealmente independientes. Esto se traduce en la siguiente condicion de observabilidad

completa:

Rango{[

C∗... G∗C∗

... · · ·... (G∗)n−1C∗

]}

= n (1.57)

donde ∗ indica la conjugada traspuesta de una matriz y a la matriz que aparece en la

condicion se la llama matriz de observabilidad.

Por otra parte, de una manera analoga a la de la controlabilidad, la observabilidad

de un sistema a partir de su funcion de transferencia se puede asegurar si esta no

presenta cancelaciones de polos y ceros.

Page 33: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 19

Finalmente, se enuncia a continuacion una propiedad que sera util para poder obte–

ner la representacion de un sistema en forma canonica, sin que por ello pueda argu-

mentarse que existe la posibilidad de variar la controlabilidad u observabilidad del

mismo.

Propiedad 1.1 Sea un sistema LTI dado en la forma usual (1.1), cuya matriz de

controlabilidad es M y la de observabilidad es N . Si se define una transformacion

como (1.26) con:

G = P−1GP

H = P−1H

C = CP

siendo P una matriz invertible, entonces las matrices de controlabilidad y observabilidad

del sistema equivalente tienen el mismo rango que M y N .

1.6.4. Principio de Dualidad

Este principio, que es debido a Kalman, relaciona la controlabilidad y observabilidad

de un sistema con la de otro sistema llamado dual del primero. Sea un sistema S1:

S1 :

{x((k + 1)T ) = Gx(kT ) + Hu(kT )

y(kT ) = Cx(kT )(1.58)

Sea S2 el sistema dual de S1:

S2 :

{x((k + 1)T ) = G∗x(kT ) + C∗u(kT )

y(kT ) = H∗x(kT )(1.59)

Entonces se puede afirmar que2:

SI S1

{CONTROLABLE

OBSERVABLE

}

ENTONCES S2

{OBSERVABLE

CONTROLABLE

}

1.7. Transformacion de un sistema en formas canonicas

Sea un sistema controlable y observable:

x(k + 1) = Gx(k) + Hu(k)

y(k) = Cx(k) + Du(k)(1.60)

2Notese que los sistemas S1 y S2 son diferentes, es decir, S2 no es una representacion alternativa

de S1.

Page 34: Apuntes ic4

20 TRANSFORMACION DE UN SISTEMA EN FORMAS CANONICAS

A continuacion, se vera el procedimiento para obtener las formas canonicas a partir de

ese sistema.

1.7.1. Obtencion de la forma canonica controlable

Sea una matriz de transformacion T = MW con:

M =[

H... GH

... · · ·... Gn−1H

]

W =

an−1 an−2 · · · a1 1

an−2 an−3 · · · 1 0...

......

...

a1 1 · · · 0 0

1 0 · · · 0 0

donde los coeficientes ai son los coeficientes de la ecuacion caracterıstica del sistema,

es decir:

|zI − G| = zn + a1zn−1 + · · · + an−1z + an = 0

Se define el estado x(k) en funcion de la transformacion de otro vector de estados x(k):

x(k) = T x(k)

Entonces el sistema:x(k + 1) = Gx(k) + Hu(k)

y(k) = Cx(k) + Du(k)(1.61)

con G = T−1GT , H = T−1H, C = CT , D = D esta en forma canonica controlable.

1.7.2. Obtencion de la forma canonica observable

En este caso la matriz de transformacion es:

Q = (WN ∗)−1

con

N =[

C∗... G∗C∗

... · · ·... (G∗)n−1C∗

]

Sea G = Q−1GQ, H = Q−1H, C = CQ, D = D y defınase el estado x(k) como

x(k) = Qx(k). Entonces el sistema (1.61) esta en forma canonica observable.

Page 35: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 21

1.8. Colocacion de polos mediante realimentacion

del vector de estados

En esta seccion se presentara una estrategia de control que permite elegir la situacion

de los polos de bucle cerrado del sistema, mediante la realimentacion lineal del vector

de estados. Se vera que la condicion necesaria para que esto se pueda conseguir es que

el sistema sea controlable. Por otra parte, se asumira que todas las variables de estados

son accesibles, es decir, podemos medirlas directamente sin tener que estimarlas por

otros procedimientos.

1.8.1. Condicion necesaria y suficiente para la colocacion ar-

bitraria de polos

Sea un sistema LTI:

x(k + 1) = Gx(k) + Hu(k)

Se escoge una ley de control que tiene la forma:

u(k) = −Kx(k)

es decir, la senal de control se obtiene de la realimentacion negativa del vector de

estados multiplicado por una cierta matriz de ganancias K. Este tipo de ley de control

se la denomina usualmente realimentacion del vector de estados. Con esta ley de control

el sistema en bucle cerrado quedarıa:

x(k+1)H z-1 �

G

+

+

x(k)

-Ku(k)

Figura 1.2: Diagrama de bloques de un sistema controlado por una realimentacion del vector de

estados.

y la ecuacion de estado del sistema en bucle cerrado resultarıa ser:

x(k + 1) = (G − HK)x(k)

Page 36: Apuntes ic4

22 COLOCACION DE POLOS MEDIANTE REALIMENTACION DEL VECTOR DE ESTADOS

De manera analoga a lo que se da en sistemas continuos, los autovalores de (G−HK)

son (o coinciden con) los polos de bucle cerrado del sistema. Por tanto, lo que buscamos

es ver que condicion es necesario cumplir para que exista una matriz de ganancias K

determinada, que nos permita colocar los autovalores de (G − HK) en unos valores

elegidos a voluntad.

Lema 1.2 Se demuestra que la condicion necesaria y suficiente para que por medio de

una realimentacion del vector de estados puedan escogerse los polos de bucle cerrado

(es decir, los autovalores de (G−HK)) es que el sistema en bucle abierto sea de estado

completamente controlable. Si esta condicion no se cumple, no se podran elegir todos

los polos de bucle cerrado.

1.8.2. Procedimientos para calcular K

Sean µ1,µ2,· · ·,µn los valores deseados para los polos de bucle cerrado, es decir,

para los autovalores de (G−HK). Aquellos que sean complejos siempre iran por pares

conjugados. La ecuacion caracterıstica del sistema en bucle abierto es:

|zI − G| = zn + a1zn−1 + · · · + an = 0

Se define una matriz de transformacion T = MW exactamente igual que la matriz

de transformacion necesaria para obtener la forma canonica controlable descrita en la

seccion 1.7.1. Se obtiene:

T−1GT = G =

0 1 0 · · · 0

0 0 1 · · · 0...

......

...

0 0 0 · · · 1

−an −an−1 −an−2 · · · −a1

T−1H = H =

0

0...

0

1

Se define a continuacion:

K = KT =[

δn δn−1 · · · δ1

]

Entonces:

HK =

0

0...

1

[δn δn−1 · · · δ1

]=

0 0 · · · 0

0 0 · · · 0...

......

0 0 · · · 0

δn δn−1 · · · δ1

Page 37: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 23

Por otra parte, la ecuacion caracterıstica del sistema en B.C. es:

|zI − G − HK| = |zI − G + HK|

=

∣∣∣∣∣∣∣∣∣∣∣

z

1 0 · · · 0

0 1 · · · 0...

......

0 0 · · · 0

0 0 · · · 1

0 1 0 · · · 0

0 0 1 · · · 0...

......

...

0 0 0 · · · 1

−an −an−1 −an−2 · · · −a1

+

0 0 · · · 0

0 0 · · · 0...

......

0 0 · · · 0

δn δn−1 · · · δ1

∣∣∣∣∣∣∣∣∣∣∣

=

∣∣∣∣∣∣∣∣∣∣∣

z −1 · · · 0

0 z · · · 0...

......

0 0 · · · −1

an + δn an−1 + δn−1 · · · z + a1 + δ1

∣∣∣∣∣∣∣∣∣∣∣

= zn + (a1 + δ1)zn−1 + · · · + (an−1 + δn−1)z + (an + δn) = 0

A su vez, la ecuacion caracterıstica correspondiente a los autovalores deseados sera:

(z − µ1)(z − µ2) · · · (z − µn) = zn + α1zn−1 + α2z

n−2 + · · · + αn−1 + αn = 0

Igualando los coeficientes de ambas ecuaciones caracterısticas:

α1 = a1 + δ1

α2 = a2 + δ2

...

αn = an + δn

se obtiene la siguiente expresion para K:

K = KT−1

=[

δn δn−1 · · · δ1

]T−1

=[

αn − an

...αn−1 − an−1... · · ·

...α1 − a1

]

T−1

(1.62)

que coloca los polos de bucle cerrado del sistema en los valores deseados. Notese

que si el sistema en bucle abierto viene dado en forma canonica controlable, se verifica

que T = I = T−1.

Page 38: Apuntes ic4

24 COLOCACION DE POLOS MEDIANTE REALIMENTACION DEL VECTOR DE ESTADOS

1.8.2.1. Procedimiento alternativo: la formula de Ackermann

Existen otros procedimientos alternativos para el calculo de la matriz K. Aquı men-

cionaremos uno muy conocido, el que emplea la formula de Ackermann. Segun esto, la

expresion para K tomarıa la forma:

K =[

0 0 · · · 0 1] [

H... GH

... · · ·... Gn−1H

]−1

φ(G)

donde:

φ(G) = Gn + α1Gn−1 + · · · + αn−1G + αnI

Los coeficientes αi se calcularan como en el apartado anterior.

Finalmente, otro procedimiento que puede ser util para sistemas de bajo orden

consiste en tomar

K =[

k1 k2 · · · kn

]

plantear la ecuacion caracterıstica en funcion de los ki:

|zI − G + HK| = 0

e igualar a los coeficientes de

zn + α1zn−1 + α2z

n−2 + · · · + αn−1 + αn = 0

1.8.3. Control Dead-Beat

Este es un tipo de control que resulta ser un caso particular del control por colo-

cacion de polos.

Definicion 1.4 Dado un sistema LTI, entenderemos como control dead-beat aquel que

consigue llevar el estado a cero en como maximo n intervalos de muestreo, donde n es

el orden del sistema.

Para obtener este tipo de control se deben especificar los polos de bucle cerrado con-

forme a lo que se establece en el siguiente lema.

Lema 1.3 Se demuestra que si se escogen los polos de bucle cerrado de manera que

esten todos en el origen (es decir, todos los autovalores de (G − HK) igual a cero) se

consigue un control dead-beat.

Page 39: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 25

Esto se lleva a la practica con una matriz de realimentacion del vector de estados

calculada mediante:

K =[−an −an−1 · · · −a1

]T−1

Este tipo de control no goza de una reputacion excesivamente favorable porque habit-

ualmente se precisa de una senal de control de amplitud muy grande para obtener la

respuesta dead-beat. De hecho en este tipo de control, el unico parametro de diseno

que se ha de elegir es el tiempo de muestreo. Si este es muy pequeno, los n intervalos

de muestreo supondran un tiempo total muy corto, de manera que para llevar el estado

a cero partiendo de un estado inicial arbitrario se precisara un valor muy alto de la

senal.

Ejemplo 1.5

Sea un sistema

x(k + 1) = Gx(k) + Hu(k)

con

G =

[0 1

−0,16 −1

] [0

1

]

Se desea determinar una matriz K, tal que los polos de bucle cerrado sean el par

complejo conjugado z = 0,5 ± j0,5.

En primer lugar hay que determinar la controlabilidad del sistema. Para ello, se

forma la matriz de controlabilidad:

[

H... GH

]

=

[0 1

1 −1

]

cuyo rango es igual a dos (basta comprobar que su determinante es distinto de cero),

por lo que el sistema es controlable y se puede proceder a calcular K. La ecuacion

caracterıstica de bucle cerrado deseada es:

|zI − G + HK| = (z − 0,5 − j0,5)(z − 0,5 + j0,5) = z2 − z + 0,5 = 0 (1.63)

por tanto, los coeficientes αi son en este caso α1 = −1 y α2 = 0,5. Por otra parte, la

ecuacion caracterıstica de bucle abierto del sistema es:

|zI − G| =

∣∣∣∣

z −1

0,16 z + 1

∣∣∣∣

por lo que los coeficientes ai son a1 = 1 y a2 = 0,16. A partir de aquı se puede aplicar

cualquiera de los metodos explicados anteriormente.

Page 40: Apuntes ic4

26 COLOCACION DE POLOS MEDIANTE REALIMENTACION DEL VECTOR DE ESTADOS

Metodo 1

K =[

α2 − a2... α1 − a1

]

T−1

Observese que el sistema viene dado en forma canonica controlable, por lo que T = I

y por tanto:

K =[

0,34 −2]

Metodo 2 (formula de Ackermann)

En este caso la formula de Ackermann serıa:

K =[

0 1] [

H... GH

]−1

φ(G)

donde φ(G) es

φ(G) = G2 − G + 0,5I

=

[−0,16 −1

0,16 0,84

]

[0 1

−0,16 −1

]

+

[0,5 0

0 0,5

]

=

[0,34 −2

0,32 2,34

]

por lo que

K =[

0 1][

0 1

1 −1

]−1 [0,34 −2

0,32 2,34

]

=[

0,34 −2]

Metodo 3

Este procedimiento es apropiado para sistemas de bajo orden como el que nos ocupa.

En primer lugar, se toma K = [k1 k2] y se formula la ecuacion caracterıstica de bucle

cerrado en funcion de K:

|zI − G + HK| =

∣∣∣∣

[z 0

0 z

]

[0 1

−0,16 −1

]

+

[0

1

][

k1 k2

]∣∣∣∣

=

∣∣∣∣

z −1

0,16 + k1 z + 1 + k2

∣∣∣∣

= z2 + (1 + k2)z + k1 + 0,16 = 0

la comparamos con la ecuacion caracterıstica deseada (1.63) e identificamos coeficientes:

1 + k2 = −1

k1 + 0,16 = 0,5

Page 41: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 27

de donde se obtiene que k1 = 0,34 y k2 = −2, por lo que se tiene ya el valor de K, que

evidentemente coincide con el obtenido mediante los dos metodos anteriores.

Ejemplo 1.6

Calcular para el mismo sistema del ejemplo anterior la matriz K que conlleva un

control dead-beat, y comprobarlo calculando la evolucion del sistema a partir de un

estado inicial arbitrario.

En este caso:

K =[−a2 −a1

]T−1 =

[−0,16 −1

]

Vamos a verificar que el control es dead-beat. Para ello, obtenemos la ecuacion de

estado del sistema en bucle cerrado:[

x1(k + 1)

x2(k + 1)

]

=

[0 1

−0,16 − 1

] [x1(k)

x2(k)

]

+

[0

1

][

0,16 1][

x1(k)

x2(k)

]

=

[0 1

0 0

] [x1(k)

x2(k)

]

Supongamos ahora que el estado inicial es

[x1(0)

x2(0)

]

=

[a

b

]

entonces se tiene que:

[x1(1)

x2(1)

]

=

[0 1

0 0

] [a

b

]

=

[b

0

]

e iterando una vez mas:[

x1(2)

x2(2)

]

=

[0 1

0 0

] [b

0

]

=

[0

0

]

luego este control lleva al estado a cero en 2 pasos y es efectivamente un control dead-

beat.

1.9. Observadores del estado

En el control por colocacion de polos se asume que el estado se puede medir direc-

tamente. En ocasiones, sin embargo, puede que esta suposicion no se cumpla y todas

Page 42: Apuntes ic4

28 OBSERVADORES DEL ESTADO

o algunas de las variables de estado no puedan ser medidas. Es decir, puede que haya

variables de estado no accesibles. En cualquier caso, para poder controlar el sistema se

deberan estimar los valores de esas variables de estado no accesibles. Este proceso de

estimacion es lo que se conoce como observacion.

Un observador del estado es un subsistema del sistema de control, que realiza la

estimacion de las variables de estado basandose en los valores medidos (observados) de

las salidas y la senal de control. Se distinguen tres tipos de observadores, en funcion

de las variables de estado que se estimen:

1. Observador del estado completo. Es aquel que estima todas las variables de esta-

do.

2. Observador de orden mınimo. En este caso solo se estiman aquellas variables de

estado que no son accesibles.

3. Observador de orden reducido. Este tipo de observador estima todas las variables

no accesibles y algunas de las accesibles.

En esta asignatura nos centraremos en los dos primeros tipos de observadores. Como

en el caso de la colocacion de polos, formularemos en primer lugar las condiciones para

que se pueda llevar a cabo la observacion.

Lema 1.4 Condicion necesaria y suficiente para la observacion del estado. Dado un

sistema LTI, se puede determinar x(k + 1) a partir de y(k), y(k− 1),· · ·,y(k−n + 1) y

u(k),u(k − 1),· · ·,u(k − n + 1), donde n es el orden del sistema, sı y solo sı, el sistema

es completamente observable.

Por tanto x(k + 1) se puede determinar, si el sistema es observable, en n pasos. Sin

embargo, no debe olvidarse que sobre el sistema actuan ruidos y perturbaciones. Por

esta razon no es posible utilizar un procedimiento algebraico para determinar el estado,

sino que se ha de acudir a un procedimiento iterativo para estimarlo.

1.9.1. Procedimiento iterativo para la estimacion del estado

Sea un sistema LTI

x(k + 1) = Gx(k) + Hu(k)

y(k) = Cx(k)(1.64)

Page 43: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 29

Si se dispone de una aproximacion del estado en k, que denotaremos x(k), esta evolu-

cionara segun la dinamica del sistema

x(k + 1) = Gx(k) + Hu(k)

y(k) = Cx(k)(1.65)

Si las condiciones iniciales son las mismas, es decir, si x(0) = x(0) entonces se verifica

que x(k) = x(k). Sin embargo, si las condiciones iniciales son diferentes entonces, de

manera general, x(k) 6= x(k). Podemos pues, definir el error de estimacion en k como:

e(k) = x(k) − x(k)

Restando la ecuacion de estado aproximada (1.65) de la real (1.64):

x(k + 1) − x(k + 1) = G (x(k) − x(k))

que teniendo en cuenta la definicion del error de aproximacion es equivalente a:

e(k + 1) = Ge(k)

que se puede considerar como un sistema dinamico autonomo. Si G es una matriz

estable (es decir, si sus autovalores estan dentro del cırculo unidad) el ((estado)) de este

sistema tiende a cero, es decir:

e(k) → 0 ⇒ x(k) → x(k)

Por tanto, si el sistema es estable, la propia dinamica del sistema hace que la aproxi-

macion del estado tienda al valor real del mismo. Esto quiere decir que podrıamos usar

la propia ecuacion del sistema para obtener en cualquier instante k una aproximacion

del estado, cuyo error irıa decayendo a lo largo del tiempo. Esta convergencia al valor

real, sin embargo, puede ser muy lenta, y por otra parte no siempre se tratara con

sistemas estables. Por tanto, esta estrategia no es muy aconsejable.

Notese que en el esquema que se ha presentado, no se hace uso de la salida del sis-

tema, que siempre sera accesible. Esto puede ser aprovechado para mejorar el rendimien-

to del observador introduciendose un termino corrector, de manera que la ecuacion para

obtener la aproximacion del estado para el instante k + 1 serıa:

x(k + 1) = Gx(k) + Hu(k) + Ke (y(k) − Cx(k))

donde Ke es una matriz de ponderacion o ganancia. Este termino se puede elegir de

manera que se mejore el rendimiento, incluso si existen discrepancias entre las matrices

del sistema y las del proceso real al que dicho sistema representa.

Page 44: Apuntes ic4

30 OBSERVADORES DEL ESTADO

1.9.2. Observador del estado completo

Sea un sistema LTI observable (1.64) con una ley de control por realimentacion

negativa del vector de estados,

u(k) = −Kx(k)

siendo el estado del sistema x(k) no accesible pero sı observable. Por tanto, podemos

sustituir el valor del estado por una aproximacion de manera que

u(k) = −Kx(k)

y de ahı, aplicando las consideraciones de la seccion 1.9.1 se obtiene

x(k + 1) = Gx(k) + Hu(k) + Ke (y(k) − y(k))

= (G − KeC)x(k) + Hu(k) + Key(k)

= (G − KeC − HK)x(k) + Key(k)

(1.66)

Esta es la llamada ecuacion del observador predictivo. La palabra predictivo se utiliza

para indicar que la estimacion del valor futuro del estado en k +1, se realiza utilizando

informacion disponible en el instante k. A los autovalores de la matriz (G − KeC)

se les suele denominar polos del observador, y como se hizo en la seccion 1.9.1, se

vera a continuacion que marcan la dinamica de la evolucion del error de observacion.

En efecto, si se resta la ecuacion del observador de la del sistema real (1.64) se llega a

que

e(k + 1) = (G − KeC)e(k)

de lo que puede observarse que los polos del observador determinan la dinamica del

error. Si G − KeC es estable, el error convergera a cero independientemente de la

estimacion del estado inicial x(0).

La ecuacion del observador y del propio sistema en espacio de estados controlado

por la realimentacion lineal del vector de estados, pueden representarse mediante un

diagrama de bloques que se ilustra en las figuras 1.3 y 1.4.

Finalmente, es evidente que interesa que la estimacion del estado converja rapida-

mente al valor real de dicho estado. Una manera evidente de lograr esto es colocar todos

los polos del observador en cero, de manera que se consiga que el error de aproximacion

muestre una respuesta dead-beat. Esto se consigue eligiendo de manera apropiada Ke.

Page 45: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 31

x(k+1)+H

u(k)z-1 � C

G

+

+

x(k)

OBSERVADOR

y(k)

y(k)

-K

u(k)

(k)x�u(k)

Figura 1.3: Diagrama de bloques de un sistema LTI controlado mediante una realimentacion del vector

de estados que estima el estado con un observador.

x(k+1) +Hu(k)

z-1 � C

G

+

+

Ke

(k)x�(k)y� y(k)-+

+

(k)x�

Figura 1.4: Diagrama de bloques de un observador de orden completo.

Page 46: Apuntes ic4

32 OBSERVADORES DEL ESTADO

1.9.2.1. Calculo de Ke

El procedimiento para elegir Ke de manera que se coloquen los polos del observador

en unos valores especificados es analogo al de la colocacion de polos vista en la seccion

1.8. Si la ecuacion caracterıstica deseada del observador es:

zn + α1zn−1 + · · · + αn−1z + αn = 0

y la del sistema es

zn + +a1zn−1 + · · · + an−1z + an = 0

entonces

Ke = (WN ∗)−1

αn − an

αn−1 − an−1

...

α1 − a1

(1.67)

donde

W =

an−1 an−2 · · · a1 1

an−2 an−3 · · · 1 0...

......

...

a1 1 · · · 0 0

1 0 · · · 0 0

N =[

C∗... G∗C∗

... · · ·... (G∗)n−1C∗

]

es decir, la misma matriz W empleada en la colocacion de polos y la matriz de ob-

servabilidad3. Notese que si el sistema viene indicado en forma canonica observable

(WN ∗)−1 = I. Tambien puede emplearse la formula de Ackermann, que para este caso

es:

Ke = φ(G)

C

CG...

CGn−1

−1

0

0...

1

donde

φ(G) = Gn + α1Gn−1 + · · · + αn−1G + αnI = 0

Ejemplo 1.7

Considerese un sistema como (1.64) con

G =

[1 1

0 1

]

H =

[0,5

1

]

C =[

1 0]

3A fin de obtener un texto mas legible se evita en lo posible hacer referencias a material anterior,

aun a pesar de que esto pueda alargar la exposicion del tema al repetirse ecuaciones y expresiones.

Page 47: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 33

disenaremos un observador del estado. En primer lugar, se ha de comprobar que el

sistema es observable. Para ello se comprueba que

rango{[

C∗... G∗C∗

]}

= rango

{[1 1

0 1

]}

= 2

luego el sistema es completamente observable. El siguiente paso es hallar la ecuacion

caracterıstica del sistema en bucle abierto:

|zI − G| =

∣∣∣∣

[z 0

0 z

]

[1 1

0 1

]∣∣∣∣

= z2 − 2z + 1 = 0

luego a1 = −2 y a2 = 1. Deseamos que el observador tenga una respuesta dead-beat,

luego la ecuacion caracterıstica deseada del observador sera:

z2 = 0 ⇒ α1 = α2 = 0

A continuacion se calculara Ke:

Ke = (WN ∗)−1

[−1

2

]

con

N =

[1 1

0 1

]

W =

[a1 1

1 0

]

=

[−2 1

1 0

]

resultando

Ke =

[2

1

]

Calculo de Ke mediante la formula de Ackermann

En este caso la formula de Ackermann es:

Ke = φ(G)

[C

CG

]−1 [0

1

]

con

φ(G) = G2 + α1G + α2I = G2

resultando

Ke =

[1 1

0 1

]2 [1 0

1 1

]−1 [0

1

]

=

[2

1

]

que evidentemente es el mismo resultado que el obtenido con el procedimiento anterior.

Page 48: Apuntes ic4

34 OBSERVADORES DEL ESTADO

Estudio de la evolucion del error de estimacion

Vamos a comprobar que el error cae a cero segun una respuesta dead-beat. Sea

x(0) =

[a1

b1

]

x(0) =

[a2

b2

]

entonces

e(0) = x(0) − x(0) =

[a1 − a2

b1 − b2

]

=

[a

b

]

ademas se tiene que

G − KeC =

[−1 1

−1 1

]

el error evoluciona, por tanto, segun[

e1(k + 1)

e2(k + 1)

]

=

[−1 1

−1 1

] [e1(k)

e2(k)

]

por lo que se calcula la evolucion de este error:[

e1(1)

e2(1)

]

=

[−1 1

−1 1

] [a

b

]

=

[−a + b

−a + b

]

[e1(2)

e2(2)

]

=

[−1 1

−1 1

] [−a + b

−a + b

]

=

[0

0

]

luego, tal y como se pretendıa, la estimacion del vector de estados coincide con el

valor real de dicho vector dos tiempos de muestreo despues de iniciarse la estimacion.

Finalmente, la ecuacion del observador es:[

x1(k + 1)

x1(k + 1)

]

=

[−1 1

−1 1

] [x1(k)

x1(k)

]

+

[0,5

1

]

u(k) +

[2

1

]

y(k)

1.9.2.2. Comentarios acerca del papel de Ke

Se ha visto que Ke se utiliza para corregir la estimacion, disminuyendo el efecto de

las incertidumbres que se tengan sobre la dinamica real de la planta. Si estas incer-

tidumbres son importantes (es decir, si se tiene poca confianza en que el modelo de la

Page 49: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 35

planta coincida con la dinamica real de la misma) este termino corrector deberıa tomar

un valor alto. Sin embargo, si la senal de salida esta contaminada por perturbaciones y

ruido en general procedente, por ejemplo, de los sensores de medida, entonces la senal

de salida no es fiable en el sentido de que no proviene unicamente de la dinamica real de

la planta. Por tanto, en estas situaciones el termino corrector deberıa ser mas pequeno.

Al seleccionar Ke se debe pensar no solo en reducir el error en base a una correccion

energica, sino que hay que tener en cuenta que cuando hay ruidos o perturbaciones,

una ganancia Ke alta no contribuirıa a reducir el error, porque las correcciones no irıan

en la ((direccion)) correcta. Es decir, hay que llegar a un compromiso entre la velocidad

de respuesta y la sensibilidad a ruidos y perturbaciones.

1.9.2.3. Efectos de la adicion del observador

Hemos supuesto que al no disponerse de x(k) para calcular la senal de control, se

usa el observador para producir una estimacion x(k), de manera que

u(k) = −Kx(k) (1.68)

Cabe preguntarse si al usar el observador, se colocan los polos del sistema en el sitio

que se pretende al calcularse la ganancia de realimentacion del vector de estado K.

¿Que efectos tiene el observador sobre los polos de bucle cerrado? Para estudiar esto,

se analizara el efecto que tiene la adicion del observador sobre la ecuacion caracterıstica

del sistema en bucle cerrado.

Sea el sistema (1.64) controlado mediante (1.68). La ecuacion de estado puede

reescribirse como:

x(k + 1) = Gx(k) − HKx(k)

= (G − HK)x(k) + HK(x(k) − x(k))

= (G − HK)x(k) + HKe(k)

donde e(k) es el error de observacion en el instante k. Recordemos que el error de

observacion viene dado por:

e(k + 1) = (G − KeC)e(k)

La ecuacion de estado y la del error, se pueden combinar en la ecuacion de un sistema

autonomo aumentado que describe la dinamica del sistema observado (es decir, de todo

el conjunto sistema-controlador-observador):

[x(k + 1)

e(k + 1)

]

=

[G − HK HK

0 G − KeC

] [x(k)

e(k)

]

Page 50: Apuntes ic4

36 OBSERVADORES DEL ESTADO

La ecuacion caracterıstica de este sistema es

∣∣∣∣

zI − G + HK −HK

0 zI − G + KeC

∣∣∣∣= 0

es decir,

|zI − G + HK||zI − G + KeC| = 0

Dado que las raıces de esta ecuacion son las raıces de cada uno de los dos determinantes

que aparecen, esto implica que los polos del sistema completo son los polos del sistema

en bucle cerrado, tal y como se han colocado mediante el diseno de K junto con los

polos del observador. Por tanto, la colocacion de polos y la observacion son dos cosas

independientes, porque la adicion del observador no modifica los polos de bucle cerrado

del sistema tal y como se eligieron al disenar K. Por tanto:

Los polos del sistema se eligen para que se cumplan las especificaciones del sistema

de control.

Los polos del observador se escogen de manera que la respuesta del observador

sea mas rapida que la del sistema (para que esta ultima resulte dominante),

tıpicamente 4 o 5 veces mas rapida.

1.9.3. Observador de orden mınimo

Supongase que x(k) es un n-vector y que y(k) es un m-vector. Como las m salidas

son combinaciones lineales del estado, hay m variables que no necesitan ser estimadas.

El observador de orden mınimo sera el que estime las n − m restantes.

Para disenar el observador de orden mınimo estableceremos una particion del vector

de estados:

x(k) =

xa(k)

· · ·

xb(k)

donde el m-vector xa(k) son las variables medibles (accesibles) y el n−m-vector xb(k)

son las variables no medibles (no accesibles). Esta particion del vector de estados

Page 51: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 37

determina una particion en la ecuacion de estados:

xa(k + 1)

· · ·

xb(k + 1)

=

Gaa

... Gab

· · ·... · · ·

Gba

... Gbb

xa(k)

· · ·

xb(k)

+

Ha

· · ·

Hb

u(k)

y(k) =[

I... 0

]

xa(k)

· · ·

xb(k)

donde Gaa ∈ Rm×m, Gab ∈ R

m×(n−m), Gba ∈ R(n−m)×m, Gbb ∈ R

(n−m)×(n−m), Ha ∈

Rm×1, Hb ∈ R

(n−m)×1. La ecuacion de la parte del estado que es accesible (medible)

serıa:

xa(k + 1) = Gaaxa(k) + Gabxb(k) + Hau(k)

Notese que en esta ecuacion hay terminos que no son medibles, por lo tanto la podemos

reescribir agrupando los terminos medibles a la izquierda y los no medibles a la derecha:

xa(k + 1) − Gaaxa(k) − Hau(k) = Gabxb(k) (1.69)

Por otro lado, la parte del vector de estados que no se puede medir se puede escribir

como:

xb(k + 1) = Gbaxa(k) + Gbbxb(k) + Hbu(k)

Observese que en esta ecuacion, los terminos que dependen de xa(k) y u(k) son cono-

cidos mientras que el termino que depende de xb(k) es desconocido. Esta ecuacion la

podemos reescribir como

xb(k + 1) = Gbbxb(k) + [Gbaxa(k) + Hbu(k)] (1.70)

El diseno del observador de orden mınimo se realiza tomando como referencia el del

observador de orden completo, cuya ecuacion de estados es

x(k + 1) = Gx(k) + Hu(k)

En el caso del observador de orden mınimo, la ecuacion (1.70), es decir, la ecuacion

que describe la evolucion de la parte del estado no medible, es la que hace el papel

de ecuacion de estado. Por otra parte, se conoce que la ecuacion de salida para el

observador de orden completo es:

y(k) = Cx(k)

donde y(k) es medible y Cx(k) es no medible (por serlo x(k)). Observese que se puede

establecer un paralelismo entre los terminos de esta ecuacion y los de la ecuacion (1.69).

En el caso del observador de orden mınimo, por tanto, se considera como ecuacion de

salida la ecuacion (1.69).

Page 52: Apuntes ic4

38 OBSERVADORES DEL ESTADO

Recordemos que la ecuacion del observador de orden completo es

x(k + 1) = (G − KeC)x(k) + Hu(k) + Key(k)

Comparando las ecuaciones de estado y salida del observador de orden completo y las

del observador de orden mınimo, se establecen las siguientes analogıas:

Observador de orden completo Observador de orden mınimo

x(k) xb(k)

G Gbb

Hu(k) Gbaxa(k) + Hbu(k)

y(k) xa(k + 1) − Gaaxa(k) − Hau(k)

C Gab

Ke ∈ Rn×m Ke ∈ R

(n−m)×m

Teniendo en cuenta esto, se obtiene

xb(k+1) = (Gbb−KeGab)xb(k)+Gbaxa(k)+Hbu(k)+Ke [xa(k + 1) − Gaaxa(k) − Hau(k)]

(1.71)

Ademas, de la ecuacion del sistema sabemos que

y(k) = xa(k)

luego, aplicando esto en la ecuacion (1.71) se obtiene

xb(k + 1) = (Gbb −KeGab)xb(k) + Key(k + 1) + (Gba −KeGaa)y(k) + (Hb −KeHa)u(k)

que serıa la ecuacion del observador de orden mınimo. Los polos del observador de

orden mınimo serıan los autovalores de (Gbb −KeGab). Observese, sin embargo, que en

esta ecuacion aparece un termino que multiplica a y(k + 1). Como es logico el valor

de la salida en k + 1 no esta disponible en el instante k, por lo que esta ecuacion ha

de ser modificada. Se puede demostrar (no se hara aquı), que esta ecuacion se puede

reescribir como:

xb(k) = η(k) + Kexa(k)

η(k + 1) = (Gbb − KeGab)η(k) + [(Gbb − KeGab)Ke + Gba − KeGaa] y(k)

+(Hb − KeHa)u(k)

(1.72)

La ecuacion caracterıstica del observador de orden mınimo es:

|zI − Gbb + KeGab| = 0

y como en el caso del observador de orden completo, Ke se puede elegir para colocar

los polos del observador donde se desee mediante los metodos indicados en la seccion

Page 53: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 39

1.9.2.1. Por ejemplo, si la salida y(k) es un escalar, es decir m = 1, se tienen que estimar

n − 1 variables. La formula de Ackermann, por ejemplo, quedarıa:

Ke = φ(Gbb)

Gab

GabGbb

...

GabGn−2bb

−1

0

0...

1

donde

φ(Gbb) = Gn−1bb + α1G

n−2bb + · · · + αn−1I

De manera analoga a la del observador de orden completo, se comprueba que la ecuacion

caracterıstica del conjunto formado por el observador de orden mınimo y el sistema

controlado por una realimentacion lineal del vector de estados es:

|zI − G + HK||zI − Gbb + KeGab| = 0

por lo que, nuevamente se ve que los problemas de diseno del controlador y del obser-

vador son independientes.

Ejemplo 1.8

Sea un sistema LTI cuyas matrices son

G =

[1 0,2

0 1

]

H =

[0,02

0,2

]

C =[

1 0]

se pide

1. Disenar un controlador que coloque los polos de bucle cerrado en z = 0,6± j0,4.

2. Asumiendo que y(k) = x1(k) es el unico estado accesible, disenar un observador

de orden mınimo con respuesta dead-beat.

En primer lugar, se ha de comprobar la controlabilidad y observabilidad del sistema:

rango{[

H... GH

]}

= rango

{[0,02 0,06

0,2 0,2

]}

= 2

rango{[

C∗... G∗C∗

]}

= rango

{[1 1

0 0,2

]}

= 2

Luego el sistema cumple ambas condiciones. La ecuacion caracterıstica del controlador

es:

|zI − G| =

∣∣∣∣

z − 1 −0,2

0 z − 1

∣∣∣∣= z2 − 2z + 1

Page 54: Apuntes ic4

40 OBSERVADORES DEL ESTADO

luego a1 = −2 y a2 = 1. La ecuacion caracterıstica de bucle cerrado deseada es:

(z − 0,6 − j0,4)(z − 0,6 + j0,4) = z2 − 1,2z + 0,52

luego α1 = −1,2 y α2 = 0,52. Por tanto,

K =[

α2 − a2 α1 − a1

]T−1 =

[−0,48 0,8

]T−1

donde la matriz T se calcula como

T =[

H... GH

] [ a1 1

1 0

]

=

[0,02 0,02

−0,2 0,2

]

y

T−1 =

[25 −2,5

25 2,5

]

lo que lleva a

K =[

8 3,2]

la ley de control se formulara por tanto, como

u(k) = −Kx(k)

= −[

8 3,2][

x1(k)

x2(k)

]

= −[

8 3,2][

y(k)

x2(k)

]

En cuanto al observador de orden mınimo, este estimara una sola variable, por lo

que es de orden 1. La particion de la ecuacion de estado en este caso sera:

Gaa

... Gab

· · ·... · · ·

Gba

... Gbb

=

1... 0,2

· · ·... · · ·

0... 1

Ha

· · ·

Hb

=

0,02

· · ·

0,2

La ecuacion caracterıstica deseada del observador es

Φ(z) = z = 0

luego

Ke = φ(Gbb)[Gab]−1[1] = (1)(0,2)−1(1) = 5

Las ecuaciones del observador serıan

η(k + 1) = (Gbb − KeGab)η(k) + [(Gbb − KeGab)Ke + Gba − KeGaa] y(k)

+(Hb − KeHa)u(k)

= (1 − 5 × 0,2)η(k) + [(1 − 5 × 0,2) × 5 + 0 − 5 × 1] y(k) + (0,2 − 5 × 0,02)u(k)

= −5y(k) + 0,1u(k)

x2(k) = Key(k) + η(k)

= 5y(k) + η(k)

Page 55: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 41

y la ley de control sera por tanto,

u(k) = −Kx(k)

= −8y(k) − 3,2x2(k)

= −8y(k) − 3,2(5y(k) + η(k))

= −24y(k) − 3,2η(k)

1.10. Control optimo LQR

Las tecnicas de control optimo conforman una de las ramas del control automatico

mas importantes en el desarrollo de las estrategias modernas de control mas utilizadas

hoy en dıa. Se han escrito numerosas monografıas dedicadas a su estudio, y se ha

publicado una ingente cantidad de artıculos en revistas especializadas. No obstante,

en estos apuntes solo se dara una pincelada sobre este particular, centrandonos en el

caso particular del control LQR con horizonte infinito, tambien conocido como LQR

de regimen permanente.

Las estrategias de control optimo calculan la ley de control de manera que se opti-

miza una cierta medida del rendimiento del controlador. Se parte de un sistema descrito

por

x(k + 1) = Gx(k) + Hu(k)

El objetivo es calcular una ley de control

u(k) = −Kx(k)

de tal manera que se minimiza el funcional (que expresa un ındice de funcionamiento)

J =1

2

∞∑

k=0

(x∗(k)Qx(k) + u∗(k)Ru(k)) (1.73)

siendo Q y R matrices de ponderacion que cumplen que Q∗ = Q > 0, R∗ = R > 0.

Notese que este ındice de funcionamiento pondera la diferencia entre el estado y el ori-

gen el instante inicial, hasta un tiempo infinito. Por tanto, cuanto mas rapido se llegue

al origen menor valor de J se tendra. Esto implica que al minimizarse J , se encon-

trara la ley de control que lleva el estado al origen mas rapidamente y manteniendolo

Page 56: Apuntes ic4

42 CONTROL OPTIMO LQR

siempre lo mas cerca posible del origen4. Por otra parte, se observa que en el funcional

hay otro termino que pondera el valor de la secuencia de senales de actuacion. Este

termino impide que se obtenga una ley de control que lleve el estado al origen a expen-

sas de una actuacion muy grande. Al minimizarse J , por tanto, se conseguira una ley de

control que por una parte acerque el estado al origen lo mas rapido posible, pero man-

teniendo un nivel de actuaciones moderado, encontrandose por tanto, una solucion de

compromiso entre el rendimiento del controlador y su nivel de actuacion. El sentido de

este compromiso puede venir dictado por diferentes razones, como por ejemplo moderar

el gasto de energıa o combustible necesario para proporcionar la senal de actuacion.

Existen razones mas sutiles pero no por ello menos importantes para incorporar esta

ponderacion del esfuerzo de control. Por ejemplo, cuando existen discrepancias entre

el modelo del sistema y su dinamica real (algo que ocurre casi siempre, pues los mode-

los matematicos no pueden recoger todas las complejidades de los sistemas o procesos

reales) esta ponderacion del esfuerzo de control resulta en un sistema mas estable.

Para calcular la ley de control que minimiza el ındice (1.73) se define una matriz P

que satisface la siguiente ecuacion de Riccatti:

P = Q + G∗PG − G∗PH(R + H∗PH)−1H∗PG (1.74)

La solucion de esta ecuacion es una matriz P que es hermıtica y definida positiva. Se

demuestra que la matriz

K = (R + H∗PH)−1H∗PG

es la que minimiza el ındice (1.73) mediante la ley de control

u(k) = −(R + H∗PH)−1H∗PGx(k)

La ecuacion de estado del sistema en bucle cerrado sera por tanto:

x(k + 1) = (G − H(R + H∗PH)−1H∗PG) x(k)

= (I + HR−1H∗P )−1Gx(k)

Para este desarrollo se ha empleado el lema de inversion

(A + BC)−1 = A−1 − A−1B(I + CA−1B)−1CA

con A = I, B = H y C = R−1H∗P .

4Esta es una interpretacion que hay que tomar con cierto cuidado, pues puede que se obtenga 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 rapidamente en los instantes siguientes, manteniendo pues el valor de J

muy bajo.

Page 57: Apuntes ic4

CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 43

1.10.1. Solucion de la ecuacion de Riccatti

Para calcular la ley de control optima LQR en regimen permanente es necesario

resolver la ecuacion de Riccatti (1.74). Esto no es algo trivial en general, pero si pode-

mos resolverla facilmente si se dispone de un computador. Para ello formularemos un

proceso iterativo en que tomando como valor inicial de P = 0 (es decir una matriz de

ceros) se calculara el valor de la matriz P en el paso i + 1 como

Pi+1 = Q + G∗PiG − G∗PiH (R + H∗PiH)−1 H∗PiG

La condicion de parada del bucle o proceso iterativo sera que Pi+1 − Pi ≈ 0, esto es,

que la diferencia entre Pi+1 y Pi sea una matriz cuyos elementos esten todos cerca del

cero.

1.11. Filtro de Kalman

El filtro de Kalman es un estimador del estado (en realidad tambien se puede

interpretar como filtro y como predictor), que tiene en cuenta la presencia de ruidos

en la ecuacion de estados y la salida. En este sentido es un estimador optimo, pues

la estimacion obtenida tiene el menor error posible teniendo en cuenta que al haber

ruidos actuando, nunca se podra obtener una estimacion perfecta. Al igual que en el

caso del control LQR no se entrara en profundidad en el estudio de este estimador, sino

que solo se presentara la formulacion de un caso particular, el filtro de Kalman para

regimen permanente.

Sea un sistema:x(k + 1) = Gx(k) + Hu(k) + ω(k)

y(k) = Cx(k) + ε(k)

donde ω(k) y ε(k) son variables aleatorios que actuan como ruidos aditivos. Se de-

muestra que se puede obtener una estimacion optima del vector de estados mediante

el siguiente esquema:

x(k + 1) = Gx(k) + Hu(k) + Ke(k) (y(k) − Cx(k))

Ke(k) = GPkC∗ (R + CPkC

∗)−1

Pk+1 = Q + (G − Ke(k)C) PkG∗

(1.75)

dondeR = E {ε(k)ε∗(k)}

Q = E {ω(k)ω∗(k)}

P0 = E {ε(0)ε∗(0)}

Page 58: Apuntes ic4

44 FILTRO DE KALMAN

donde E {·} denota la esperanza matematica y R,Q se asumen constantes. Se demuestra

que conforme k → ∞:Pk+1 → P

Ke(k) → Ke

donde P y Ke son matrices constantes y ademas P es semidefinida positiva. Usando

esto, las ecuaciones de estimacion (1.75) se pueden reescribir como:

x(k + 1) = Gx(k) + Hu(k) + Ke (y(k) − Cx(k))

Ke = GPC∗ (R + CPC∗)−1

P = Q + GPG∗ − GPC∗ (R + CPC∗)−1 CPG∗

(1.76)

que son las ecuaciones del filtro de Kalman de regimen permanente. Notese que para

resolver la ecuacion de Riccatti se puede usar el mismo metodo usado en el LQR.

Page 59: Apuntes ic4

Capıtulo 2

Modelos de procesos y

perturbaciones

2.1. Introduccion

En este capıtulo se expondran diversos tipos de formas de modelar perturbaciones

y procesos cuya evolucion se ve afectada por perturbaciones. Es importante tener en

cuenta que los modelos de procesos con perturbaciones tienen su origen en el modelado

de perturbaciones y no al reves.

En la teorıa clasica del control automatico siempre se ha tenido en cuenta el com-

portamiento de los sistemas frente a perturbaciones a la hora de disenar sistemas de

control. Dichas perturbaciones se modelaban siempre de manera muy simplificada. Es

por tanto comun en esta teorıa el considerar que las perturbaciones van a tener la

forma de

Pulsos.

Escalones.

Rampas.

Sinusoides.

Todos estos modelos tienen en comun que son absolutamente predecibles en su evolu-

cion en funcion de las condiciones iniciales. Es decir, en cuanto la perturbacion aparece

45

Page 60: Apuntes ic4

46 PERTURBACIONES DETERMINISTAS A TROZOS

podemos predecir su evolucion futura. Es una suposicion comun en estos casos, consi–

derar que estas perturbaciones vienen generadas por sistemas dinamicos.

2.2. Perturbaciones deterministas a trozos

Como fuente de perturbaciones con una mayor variabilidad que los modelos clasicos

antes comentados, se pueden considerar las perturbaciones deterministas a trozos. Sur-

gen de la necesidad de estudiar el efecto de perturbaciones mas realistas en sistemas

de control que se basan en algun tipo de esquema predictivo para calcular la senal

de control. En este tipo de sistemas, el considerar una perturbacion absolutamente

predecible (como en el caso de los modelos clasicos) no tiene utilidad alguna, pues se

pueden considerar directamente en el calculo de la ley de control.

Los modelos de perturbaciones deterministas a trozos parten de la suposicion de

que son generados por un sistema lineal, en el que la entrada es cero excepto en ciertos

instantes de tiempo separados por mas de n tiempos de muestreo, donde n es el orden

del sistema:

y(k) =C(z−1)

A(z−1)w(k)

suponiendose que el grado de C(z−1) es igual al grado de A(z−1). Si la entrada es

cero excepto en ciertos instantes de tiempo que estan separados, quiere decir que la

senal w(k) es un tren de pulsos. La amplitud y momento de aparicion de esos pulsos

son desconocidos. Esto es lo que le da variabilidad a la fuente de perturbaciones. Sin

embargo, una vez que aparecen y se conoce la amplitud del pulso, la evolucion de la

salida y(k) es perfectamente predecible pues la dinamica del sistema es conocida. De

ahı el nombre de determinista a trozos.

2.3. Procesos estocasticos

Es natural utilizar el concepto de aleatorio o estocastico1 para describir una amplia

clase de perturbaciones, suficientemente realistas para formular problemas de predic-

cion con postulados cercanos a la realidad.

1Estocastico: relativo a una variable aleatoria; algo que sigue una determinada distribucion de

probabilidad, usualmente con varianza finita.

Page 61: Apuntes ic4

CAPITULO 2. MODELOS DE PROCESOS Y PERTURBACIONES 47

El concepto de proceso estocastico es complejo y alcanza su madurez en los trabajos

de Kolmogorov (1930). Aquı presentaremos solo algunas ideas basicas. Un proceso

estocastico puede ser considerado como una funcion de dos variables

X(t, w)

donde t es la variable tiempo con su significado habitual y w es una variable aleatoria.

Si consideramos un valor fijo de w, esto es w = w0 y dejamos la variable t libre, lo que

denotaremos como

X(:, w0)

estaremos hablando de una ((realizacion)) del proceso. Esta realizacion es una funcion

temporal comun sin ningun tipo de caracter aleatorio una vez que se conoce que w =

w0. Si por otra parte se considera un instante de tiempo fijo, es decir t = t0, que

denotaremos como

X(t0, :) , X(t0)

tendremos una variable aleatoria. Se puede considerar por tanto, que la evolucion del

proceso esta dictada por un generador de senales aleatorias. En la figura 2.1 se ilustran

estos conceptos. Puede observarse que el valor de la funcion en cada instante es un

valor aleatorio que en la figura se considera variable en un determinado rango. Por

otra parte, cuando se habla de una realizacion no es mas que una funcion comun que

depende de t.

t0 t1 t2 t3 t4

w=w0

......

Figura 2.1: Procesos estocasticos: realizaciones y variables aleatorias.

Definicion 2.1 Se denomina proceso estocastico determinista, a aquel cuya evolucion

puede ser predicha exactamente con un predictor lineal 2 en base a medidas pasadas.

En estos procesos, el caracter estocastico solo se manifiesta en la aleatoriedad de las

condiciones iniciales. Para aplicaciones basadas en prediccion no son muy interesantes.

2Es decir, haciendo evolucionar hacia delante un modelo lineal.

Page 62: Apuntes ic4

48 MODELOS DE PROCESOS CON RUIDOS

Definicion 2.2 Se denomina proceso estocastico estacionario, a aquel cuya distribu-

cion estadıstica para X(t1), X(t2),. . . ,X(tn) es la misma que para X(t1 + τ), X(t2 +

τ),. . . ,X(tn + τ). Es decir, su distribucion no varıa con el tiempo.

Definicion 2.3 Se denomina ruido blanco discreto, a un proceso aleatorio que se puede

considerar como una secuencia cuyos elementos son variables aleatorias independientes

entre sı cuya distribucion es identica. Se suele suponer que

E {x(k)} = 0

es decir, que el valor esperado es cero y ademas

E {x(i)x(j)} =

{0 si i 6= j (por ser variables independientes)

σ2 si i = j

Al ruido blanco se le suele considerar prototipo de una senal impredecible.

2.4. Modelos de procesos con ruidos

En esta seccion veremos como se pueden generar diversos tipos de procesos es-

tocasticos, cuando a un sistema lineal se le inyecta un ruido blanco v(k) ademas de

una entrada externa u(k) a traves de sendas funciones de transferencia.

El caso mas general es el llamado modelo de Box-Jenkins, el cual se ilustra en la

figura 2.2. Esta estructura es demasiado general, y normalmente se utilizan diversas

� ��−

−� ��

�� �����−

−�� ��

v(k)

u(k)

y(k)

Figura 2.2: Modelo de Box-Jenkins.

simplificaciones de las cuales veremos a continuacion las mas comunes:

Page 63: Apuntes ic4

CAPITULO 2. MODELOS DE PROCESOS Y PERTURBACIONES 49

Modelo de Media Movil (MA : Moving Average). Es el caso mas sencillo y viene

descrito por

y(k) = v(k) + c1v(k − 1) + c2v(k − 2) + · · · + cnv(k − n)

Con este modelo se pueden describir muchos tipos de perturbaciones aleato-

rias. Sin embargo, no incluye a los valores pasados de la salida por lo que no

servira para modelar procesos que tengan dinamica.

Modelo Autoregresivo (AR). Viene descrito por

y(k) + d1y(k − 1) + d2y(k − 2) + · · · + dny(k − n) = v(k)

En este caso, la parte aleatoria correspondiente a la perturbacion tiene una es-

tructura muy simple porque no depende de los valores pasados.

Modelo Autoregresivo de Media Movil (ARMA). Es la combinacion de los dos

anteriores, por lo que tomara la forma

y(k) + d1y(k − 1) + · · · + dny(k − n) = v(k) + c1v(k − 1)

+c2v(k − 2) + · · · + cnv(k − n)

Este modelo permite describir procesos mas ricos que los anteriores. Sin embargo,

desde el punto de vista del control es interesante poder considerar el efecto de una

entrada externa, por lo que se considera el siguiente tipo de modelos de procesos

con ruidos.

Modelo Autoregresivo de Media Movil con una entrada exogena (ARMAX). Tam-

bien llamado modelo CARMA (Controlled ARMA). Viene descrito por

y(k) + a1y(k − 1) + · · · + any(k − n) = b1u(k − 1) + · · · + bnu(k − n)

+v(k) + c1v(k − 1) + · · · + cnv(k − n)

Modelo Autoregresivo con entrada exogena para mınimos cuadrados (ARX-LS ).

Este modelo surge como version simplificada del anterior, para el caso en el que

no se necesita que la fuente de perturbaciones tenga una estructura tan compleja.

Viene descrito por

y(k) + a1y(k − 1) + · · · + any(k − n) = b1u(k − 1) + · · · + bnu(k − n) + v(k)

Como su nombre indica se utiliza en la identificacion por el metodo de los mınimos

cuadrados (vease el tema 4).

Page 64: Apuntes ic4

50 MODELOS DE PROCESOS CON RUIDOS

Modelo Autoregresivo de Media Movil integrada y con una entrada exogena

(ARIMAX o CARIMA). Este modelo incorpora un integrador en la fuente de

perturbaciones, por lo que viene descrito por

y(k) + a1y(k − 1) + · · · + any(k − n) = b1u(k − 1) + · · · + bnu(k − n)

+v(k) + c1v(k − 1) + · · · + cnv(k − n)

donde ∆ = 1−z−1. Este tipo de modelos es util en esquemas de control predictivo

para formular leyes de control que incorporen un efecto integral, de manera que

sean capaces de rechazar perturbaciones en escalon.

Los modelos anteriores pueden escribirse en forma condensada utilizando polinomios

en z−1 tal y como se muestra en la siguiente tabla resumen:

Modelo Expresion

MA y(k) = C(z−1)v(k)

AR D(z−1)y(k) = v(k)

ARMA D(z−1)y(k) = C(z−1)v(k)

ARMAX A(z−1)y(k) = B(z−1)u(k − 1) + C(z−1)v(k)

ARX-LS A(z−1)y(k) = B(z−1)u(k − 1) + v(k)

ARIMAX A(z−1)y(k) = B(z−1)u(k − 1) + C(z−1)v(k)∆

Cuando en los modelos anteriores el polinomio que convoluciona con la senal v(k) es

distinto de la unidad se habla de ruido coloreado, y en caso contrario, de ruido blanco.

Page 65: Apuntes ic4

Capıtulo 3

Introduccion a la identificacion de

sistemas

3.1. Introduccion

Un modelo de un proceso es una forma de resumir el conocimiento que se tiene

sobre su dinamica, y por tanto es una herramienta importante en el diseno y analisis

de sistemas de control. Sin embargo, al construir modelos estamos obteniendo repre-

sentaciones simplificadas de la dinamica real del proceso. Un solo modelo no suele ser

suficiente para describir un proceso. Por otra parte, segun sea el uso destinado al mod-

elo este debera ser mas o menos detallado. Por tanto, se establece una jerarquıa de

modelos que describe al proceso con mayor o menor detalle.

Hay dos maneras de abordar la construccion de un modelo: obtenerlo mediante

principios y leyes fısicas que describan la dinamica del proceso, o bien obtenerlo me-

diante experimentacion sobre el proceso que se quiere modelar. La primera opcion

requiere un conocimiento muy preciso del proceso que se quiere modelar. Por ejemplo,

hay que elegir las variables que vayan a ser los estados del sistema, y esto puede ser un

problema. Es, en general un proceso complicado y muy arduo, excepto en casos muy

simples. Normalmente, se debe combinar con la otra estrategia que es la denominada

identificacion de sistemas. Esta estrategia sera el objeto de este tema.

51

Page 66: Apuntes ic4

52 IDEAS BASICAS SOBRE IDENTIFICACION DE SISTEMAS

3.2. Ideas basicas sobre identificacion de sistemas

La identificacion de sistemas es la aproximacion experimental al modelado de sis-

temas. Consiste en obtener un modelo a partir de observaciones obtenidas directamente

del propio sistema que se pretende modelar. La identificacion de un sistema conlleva

una serie de actividades y herramientas, de las que podemos destacar:

Planificacion de los experimentos.

Seleccion del tipo de modelo.

Eleccion de un criterio para expresar la bondad del modelo que se va a obtener.

Estimacion de los parametros del modelo.

Validacion del modelo obtenido.

A continuacion, se iran desglosando las principales ideas de cada uno de estos aspectos.

3.2.1. Planificacion de los experimentos

Dado que la identificacion de sistemas involucra experimentar con el proceso a mod-

elar, es necesario tener en cuenta que, en general, es muy costoso experimentar con pro-

cesos industriales. Por tanto, es necesario elegir una tecnica que nos sea lo mas rentable

desde el punto de vista del tipo de experimentos necesarios. Algunas tecnicas son muy

sencillas, en el sentido de que una vez hecho el experimento es facil obtener el modelo.

Estas tecnicas, sin embargo, requieren que en los experimentos se utilicen senales de

entradas preestablecidas de manera muy precisa: pulsos, sinusoides, etc. . . Puede que

el proceso a modelar no pueda ser sometido a este tipo de entradas por consideraciones

de seguridad o motivos economicos. Otras tecnicas de identificacion pueden emplear

casi cualquier tipo de senal de entrada (es decir, son menos exigentes en el tipo de

experimentos necesarios), pero una vez realizado el experimento es mas complicado

obtener el modelo. Como comentario general, es necesario que en el experimento se

utilicen senales de entrada que exciten todos los modos del sistema. Mas alla de eso,

un buen metodo de identificacion debe ser insensible a las caracterısticas de la entrada.

Otro aspecto es que a veces no se puede identificar en bucle abierto y hay que hacerlo

en bucle cerrado. Esto no es siempre posible, pues aunque el sistema sea identificable en

Page 67: Apuntes ic4

CAPITULO 3. INTRODUCCION A LA IDENTIFICACION DE SISTEMAS 53

bucle abierto esta propiedad puede perderse en bucle cerrado. Esto ocurre, por ejemplo,

si los perfiles de la consigna o referencia que se usan son muy simples. Tambien, si los

lazos de control son demasiado simples. En general, cuanto mas complejos sean los

lazos de control y mas se mueva la consigna, mas facil sera la identificacion en bucle

cerrado.

3.2.2. Seleccion del tipo de modelo

En teorıa, la seleccion del tipo de modelo deberıa venir dada por un conocimiento

del proceso y de las perturbaciones que deban ser tenidas en cuenta. Dependiendo de

si conocemos mucho o poco la estructura del proceso elegiremos entre uno u otro tipo

de modelo. En general, los modelos los clasificaremos como:

Modelos de Caja Blanca. Son los obtenidos a partir de leyes fısicas (esto no serıa

realmente identificacion porque no se estarıan haciendo experimentos).

Modelos de Caja Negra. En estos modelos se postula una estructura matematica

con una serie de parametros libres, a los cuales se les da valor a partir de los

datos obtenidos en los experimentos.

Modelos de Caja Gris. Corresponden a un tipo intermedio entre los dos anteriores.

Parte del modelo se obtiene mediante leyes fısicas y otra parte, se ajusta usando

medidas experimentales. Por ejemplo, mediante leyes fısicas podemos determinar

la estructura del modelo (o de parte de el) y usar experimentos para terminar de

caracterizar el modelo.

Tambien se pueden clasificar los tipos de modelos en parametricos y no parametri-

cos. En los primeros se tienen una serie de parametros que hay que ajustar. Por ejemplo,

en una funcion de transferencia se tendrıan que ajustar el orden y los coeficientes de

los polinomios. En modelos de espacio de estados tendrıamos la misma situacion pero

con las matrices del sistema. En los modelos no parametricos, el modelo no tiene una

serie de parametros que definen la dinamica sino que se compone de una cantidad de

informacion sobre la misma, por ejemplo los modelos basados en la respuesta en fre-

cuencia de un sistema. En el caso que aquı nos ocupa los modelos que emplearemos

seran de caja negra y parametricos.

Page 68: Apuntes ic4

54 IDEAS BASICAS SOBRE IDENTIFICACION DE SISTEMAS

3.2.3. Eleccion de un criterio

En el proceso de estimacion del modelo y su subsiguiente validacion es necesario

contar con un criterio que exprese la bondad del ajuste del modelo a los datos, es

decir, que exprese la calidad del modelo obtenido. Normalmente, se utilizan criterios

que toman la forma:

J(θ) =N∑

k=1

g(e(k))

donde θ es el vector de parametros que se trata de ajustar, e(k) es el error de estimacion

para la medida k, N es el numero de observaciones o medidas disponibles y g(·) es una

funcion usualmente cuadratica.

Usualmente, el proceso de ajuste del modelo se realiza de manera que se busca el

valor del vector de parametros θ que hace mınimo al ındice o criterio J(θ). El metodo

mas antiguo que emplea esta estrategia es el de los mınimos cuadrados, debido a Gauss.

Por otra parte, cuando los procesos se describen mediante modelos estocasticos, el

problema es de estimacion estadıstica. Un metodo muy popular en este caso, es el del

estimador de maxima verosimilitud.

3.2.4. Estimacion de los parametros

Para resolver el problema de estimacion de los parametros del modelo se requiere

de los elementos comentados anteriormente: datos experimentales, un tipo de modelo

y un criterio. Estimar los parametros es resolver un problema de optimizacion en el

cual, el mejor modelo es el que hace mınimo el criterio. Es necesario tener en cuenta

que el modelo obtenido dependera de los elementos anteriores, como por ejemplo de la

amplitud y contenido frecuencial de la senal de entrada. Hay diversas formas de llevar

a cabo el proceso de estimacion. Una distincion amplia, es aquella que distingue entre

identificacion en lınea e identificacion fuera de lınea.

3.2.4.1. Identificacion en lınea

En los metodos de identificacion en lınea la estimacion se efectua usando medidas

que se van obteniendo en tiempo real, y normalmente se usan calculos recursivos.

El esquema de este tipo de identificacion serıa el mostrado en la figura 3.1. En este

esquema aparece un nivel de supervision que es necesario para evitar, por ejemplo, que

Page 69: Apuntes ic4

CAPITULO 3. INTRODUCCION A LA IDENTIFICACION DE SISTEMAS 55

PLANTAu(k) y(k)

IDENTIFICACIÓN

SUPERVISIÓN

MODELOACTUALIZADO

MODELOCORREGIDO

Figura 3.1: Esquema de la identificacion en lınea.

el modelo actualizado se salga de ciertos lımites o cambie bruscamente (esto no serıa

bueno para ciertas leyes de control basadas en modelos). Este metodo suele ser el unico

apropiado cuando se pretende usar una estrategia de control adaptativo, o el proceso

varıa su dinamica con el tiempo.

3.2.4.2. Identificacion fuera de lınea

En este caso se toman los datos del experimento (es decir, series de medidas) y

posteriormente, se ajusta el modelo usando para ello todo el conjunto de datos. Este

tipo de procedimientos suelen obtener modelos mas precisos y son mas fiables en cuanto

a la convergencia de los parametros estimados a los parametros reales del proceso1. En

cualquier caso, existe un consenso general en que no existe un metodo universalmente

bueno, por tanto, dependiendo de la situacion unos funcionaran mejor que otros.

3.2.5. Validacion del modelo

La validacion del modelo consiste en comprobar la bondad del modelo que se ha

obtenido por el proceso de identificacion. Una tecnica muy comun para comprobar la

bondad de un modelo identificado es la validacion cruzada.

1Notese que aunque el proceso real no correspondera en general exactamente con el modelo (pues

todo modelo implica un cierto grado de simplificacion de la realidad) se asume que existe un valor del

vector de parametros que es el que mejor describe al proceso.

Page 70: Apuntes ic4

56 IDEAS BASICAS SOBRE IDENTIFICACION DE SISTEMAS

La idea del metodo de validacion cruzada es dividir el conjunto de datos disponible

en dos partes o subconjuntos:

Conjunto de estimacion. Es usado para estimar el modelo mediante la resolucion

de un problema de optimizacion, de tal manera que el vector de parametros

estimados sobre el conjunto de estimacion θCE serıa

θCE = arg mınθ

VCE(θ, CE)

donde VCE es el criterio de estimacion.

Conjunto de prueba o validacion. Con este modelo se evalua el estimador obtenido

mediante un criterio de prueba, que puede ser el mismo que el usado en la esti-

macion u otro distinto:

FCE = VCP(θCE, CP)

La idea tras el concepto de validacion del modelo es estimar distintos tipos de modelos

(por ejemplo con distintos ordenes) y quedarse con el que mejor ajusta (es decir, el que

de menor FCE). Mediante esta tecnica de validacion cruzada, lo que se trata de ver es

si el modelo es capaz de reproducir los datos de salida para entradas que no se han

empleado en la estimacion.

Como se ha comentado anteriormente, el criterio VCP no tiene por que ser el mismo

que el VCE. Por ejemplo, se puede usar como criterio para validacion el conocido criterio

de Akaike o criterio AIC (Akaike’s Information Criterion), el cual asumiendo que las

perturbaciones siguen una distribucion gaussiana se calcula mediante la formula

VCP(θ, CP) =

(

1 +2dimension(θ)

N

)1

N

N∑

t=1

e2(t, θ)

donde e(t, θ) = y(t) − y(t, θ) es el error de estimacion para los datos obtenidos en el

instante t.

Tampoco puede descartarse la posibilidad de no usar criterio de validacion alguno y

efectuar una inspeccion visual sobre una simulacion, en la que se usa el modelo estimado

para predecir la salida en base a datos de entradas experimentales.

Finalmente, la tecnica de validacion cruzada, aunque muy popular no es la unica.

Otra tecnica que a veces se utiliza es el analisis de residuos. Se entiende por residuos

los errores que comete el modelo una vez ajustado, es decir e(t) = y(t) − y(t, θ). Si el

modelo estimado es suficientemente bueno, estos residuos tienen que ser independientes

Page 71: Apuntes ic4

CAPITULO 3. INTRODUCCION A LA IDENTIFICACION DE SISTEMAS 57

de la informacion disponible en el instante anterior (es decir, el residuo en t tiene que

ser incorrelado con las medidas obtenidas en los instantes anteriores). Esto es ası por

que si existe correlacion entre e(t) y alguna entrada pasada u(t − τ), quiere decir que

una parte del valor de y(t), que depende de u(t − τ) no ha sido reproducida por el

modelo en y(t, θ). Por tanto, el modelo no estarıa reproduciendo toda la dinamica del

proceso.

3.2.6. Resumen del proceso de identificacion

El proceso de identificacion de un sistema rara vez se concluye con la sola ejecucion

de los pasos anteriormente descritos. En lugar de esto, se realizan numerosas repeti-

ciones de esta secuencia de pasos, a veces variandose el tipo de modelo, o repitiendose

los experimentos hasta que se obtenga un buen modelo. Por tanto, podemos ver el

proceso de identificacion como un metodo iterativo que se puede describir mediante

el diagrama de flujo mostrado en la figura 3.2. En esa figura el hecho de que el flujo

INICIO

TOMA DE DATOS

ACONDICIONAMIENTO DEDATOS

ELEGIR ESTRUCTURA DELMODELO

AJUSTAR MODELO

VALIDAR MODELO

¿ VALIDO ?NO

SI

USAR MODELO

Figura 3.2: Diagrama de flujo del proceso de identificacion.

pueda retornar a cualquiera de las pasos intermedios, indica que puede que en cada

Page 72: Apuntes ic4

58 ALGUNAS PROPIEDADES

iteracion no se realicen todos los pasos. Por otra parte, aparece un paso sobre el que no

se ha comentado nada, el acondicionamiento de datos. Esta tarea consiste en manipu-

lar los datos de manera que sean apropiados para el metodo de ajuste elegido. Es algo

que es especıfico para cada procedimiento. Ası por ejemplo, una tarea muy comun de

acondicionamiento de datos es la eliminacion de los valores de continua de las senales

de entrada y salida. Esto sera tratado en mayor profundidad en el tema 4. Finalmente,

en el caso de la identificacion en linea el proceso es mas simple, ya que por ejemplo

no es posible cambiar la estructura del modelo sin descartar el resultado que se ha

obtenido hasta ese momento. Ademas, los datos se toman segun van llegando, pues

recordemos que en este tipo de identificacion la identificacion se hace como su propio

nombre indica en tiempo real, es decir, ((en lınea)).

3.3. Algunas propiedades

En esta seccion, veremos algunas propiedades relacionadas con la identificacion de

sistemas. Concretamente se trataran los conceptos de excitacion persistente, convergen-

cia e identificabilidad. Ademas, se veran las tareas de supervision y acondicionamiento

que aparecen en las figuras 3.1 y 3.2.

3.3.1. Excitacion persistente

Se ha comentado en la seccion 3.2.1, que para poder identificar correctamente un

sistema la senal de entrada debe excitar (es decir, poner de manifiesto) todos los modos

del sistema (toda su dinamica). Formalmente, se dice que si el sistema es de orden n

se deberıa contar con una senal persistentemente excitadora de orden n.

Se puede probar que una senal de entrada u(k) es persistentemente excitadora de

orden n, sı y solo sı se cumple que

lımN→∞

1

N

(N∑

k=1

A(z−1)u(k)

)2

> 0

para todo polinomio A(z−1) no nulo de grado inferior a n. Usando este resultado se

pueden caracterizar las senales mas comunes:

Pulso: no excita persistentemente para ningun orden n.

Page 73: Apuntes ic4

CAPITULO 3. INTRODUCCION A LA IDENTIFICACION DE SISTEMAS 59

Escalon: excita persistentemente para orden 1.

Ruido blanco: excita persistentemente para todo orden n.

Esto quiere decir que el ruido blanco serıa una senal de entrada muy buena para identi-

ficar sistemas. En la practica, sin embargo, es muy difıcil obtener una senal de entrada

que se comporte como un ruido blanco ideal, porque es muy difıcil obtener una se-

cuencia de valores puramente aleatorios. Es posible obtener sin embargo, secuencias de

valores seudoaleatorios, por lo que en la practica se recurre a secuencias seudoaleatorias

de escalores binarios (PRBSS: Pseudo Random Binary Step Sequence). En la figura

3.3 se muestra una de esas secuencias. Notese que los escalones no tienen por que tener

amplitud unitaria, el concepto de binario se refiere solamente a dos niveles de entrada

distintos. Por otra parte, la aleatoriedad esta en la duracion de los escalones y en el

momento de aparicion de los mismos.

0 20 40 60 80 100 120 140 160 180 2003

3.5

4

4.5

5

5.5

6

6.5

intervalos de muestreo

volta

je

Figura 3.3: Ejemplo de senal de entrada del tipo PRBSS.

3.3.2. Convergencia e identificabilidad

Se dice que un sistema es identificable cuando usando un metodo de identificacion

adecuado se tiene que

lımN→∞

E(θ)) = θ0

y ademas la salida obtenida mediante el modelo estimado es posible. Es decir, para

un sistema identificable el valor del vector de parametros estimado convergera con un

numero de observaciones suficientes al valor real de esos parametros. No obstante, esta

Page 74: Apuntes ic4

60 ALGUNAS PROPIEDADES

convergencia tiene a su vez una serie de requisitos o condiciones que se pueden resumir

en:

El orden del modelo y el retardo deben ser conocidos.

Los valores de continua de la senal de entrada y la de salida deben ser conocidos.

Si el sistema es de orden n, la senal de entrada debe ser persistentemente excita-

dora de orden n o mayor.

Las perturbaciones sobre la salida deben ser ruidos estacionarios.

El error en el instante k debe ser incorrelado con los elementos de los que depende

la salida en el instante k (es decir, de los valores pasados de la entrada y la salida).

El valor esperado (esperanza matematica) del error en k debe ser cero, es decir

E{e(k)} = 0.

Finalmente, la convergencia tambien depende de los valores iniciales del esti-

mador.

3.3.2.1. Identificacion en bucle cerrado

Como se comento en la seccion 3.2.1, a veces resulta bastante difıcil identificar en

bucle cerrado. Esto es especialmente cierto cuando el lazo de control es simple, el regu-

lador lineal y ademas no se emplean senales externas (a modo de perturbaciones) para

excitar toda la dinamica del sistema. Existen una serie de condiciones para establecer

la identificabilidad de un sistema en bucle cerrado. Supongase que se parte del siguiente

modelo para identificar un sistema:

A(z−1)y(k + d) = B(z−1)u(k) + C(z−1)e(k + d)

donde d es el retraso del proceso, y los grados de los polinomios A(z−1), B(z−1), C(z−1)

son ma, mb, mc respectivamente. Supongase ademas que el sistema esta gobernado por

un regulador que toma la expresion:

u(t) = −Q(z−1)

P (z−1)y(t)

donde los grados de Q y P son v y w respectivamente. Teniendo en cuenta todo esto,

se formulan las siguientes condiciones de identificabilidad en bucle cerrado.

Page 75: Apuntes ic4

CAPITULO 3. INTRODUCCION A LA IDENTIFICACION DE SISTEMAS 61

Primera condicion de identificabilidad en bucle cerrado

Los ordenes del modelo del proceso y de las perturbaciones deben ser conocidos con

exactitud.

Segunda condicion de identificabilidad en bucle cerrado

Si los polinomios A(z−1) y C(z−1) tienen p ceros comunes (en caso de que sean primos

entre si, p = 0) se ha de cumplir que

max(w − mb, d + v − ma) ≥ p

Si esto no se cumpliese, la solucion pasa por fijar alguno de los parametros del modelo

a fin de bajar los grados ma o mb. Si fuera factible aumentar el retraso, tambien

podrıa usarse esto para lograr la identificabilidad en bucle cerrado. Notese que por

estos procedimientos lo que se consigue es que el proceso de identificacion converja a

un valor del vector de parametros que corresponde con el que da un menor error. No

quiere decir que el sistema real se describa mejor por ese modelo. Es decir, puede que

exista otro modelo del mismo orden mejor, pero si no se toman las medidas indicadas

no se llegarıa a ese modelo ni probablemente se convergerıa a ningun otro.

Un caso comun es que p = 0 y ma = mb = n, por lo que esta condicion se puede

expresar como

max(w, v + d) ≥ n

Ejemplo 3.1

Supongamos que ma = mb = n y que

u(k) = −G(z−1)

zB(z−1)F (z−1)y(k)

y que los ordenes de G(z−1) y F (z−1) son n − 1 y d respectivamente. Entonces se

cumple que

v = n − 1 w = n + d − 1

por lo que la condicion de identificabilidad serıa que

max(n + d − 1, n − 1 + d) ≥ n

Esto implica que para que el sistema sea identificable en bucle cerrado, d ≥ 1. Otra

solucion serıa fijar un parametro. �

Page 76: Apuntes ic4

62 ALGUNAS PROPIEDADES

3.3.3. Niveles de supervision y acondicionamiento

En la identificacion en lınea es habitual introducir un nivel de supervision y tratamien-

to de las senales a fin de evitar que se produzcan situaciones que desestabilicen la

identificacion, es decir, que el valor del vector de parametros identificado no converja

o converja a un valor incorrecto. Las tareas que se pueden realizar en estos niveles

incluyen:

Filtrado de datos a la entrada del identificador para evitar cambios bruscos en

los parametros estimados.

Acondicionamiento de senales: eliminacion de los valores de continua y escalado

de las variables.

Supervisar que la evolucion de los parametros este dentro de unos rangos deter-

minados.

Monitorizar otros elementos del algoritmo de identificacion.

Monitorizar la introduccion de riqueza dinamica al sistema: paradas temporales

del identificador e inyeccion de perturbaciones.

Page 77: Apuntes ic4

Capıtulo 4

Identificacion por mınimos

cuadrados

4.1. El metodo de los mınimos cuadrados

Este metodo permite la identificacion en tiempo real de modelos con el unico req-

uisito de que estos sean lineales en los parametros. Esto incluye, por tanto, a modelos

lineales y no lineales que sean lineales en los parametros. El mayor interes practico re-

side, sin embargo, en la identificacion de los primeros, dado que son los mas utilizados

en control.

Considerese el siguiente modelo parametrico lineal monovariable1:

y(k) + a1y(k − 1) + · · · + any(k − n) = b1u(k − 1) + · · · + bnu(k − n) (4.1)

Notese que este modelo es determinista en el sentido de que no considera ruidos aleato-

rios como en los modelos vistos en el tema 2. Es inmediato comprobar que este modelo

corresponde a la siguiente funcion de transferencia:

G(z−1) =b1z

−1 + · · · + bnz−n

1 + a1z−1 + · · · + anz−n

El modelo (4.1) se puede reescribir como:

y(k) = m(k)θ (4.2)

1Este metodo se puede aplicar sin cambios conceptuales a modelos multivariables. Sin embargo por

simplicidad nos ceniremos al caso de modelos monovariables.

63

Page 78: Apuntes ic4

64 EL METODO DE LOS MINIMOS CUADRADOS

donde el vector

m(k) =[−y(k − 1) · · · −y(k − n) u(k − 1) · · · u(k − n)

](4.3)

es llamado regresor y

θ =[

a1 · · · an b1 · · · bn

]T

es el vector de parametros . Dado un valor del vector de parametros θ, el error de

prediccion para el instante k sera

e(k, θ) = y(k) − y(k) = y(k) − m(k)θ

Notese que conocido el valor de los valores presentes y pasados de la salida y la entrada,

la expresion (4.2) es una ecuacion en las que las 2n incognitas son los parametros que

forman θ. Si el proceso a identificar correspondiese exactamente con un modelo como

(4.1) se podrıa determinar el valor del vector de parametros a partir de 2n medidas u

observaciones de la salida para una serie de entradas conocidas. Es decir, se formarıa

un sistema de 2n ecuaciones con el que se podrıa determinar el valor ((real)) de θ.

El metodo de los mınimos cuadrados parte de N pares (y(k),m(k)) donde N es

generalmente mucho mayor de 2n (este serıa el conjunto de estimacion) y permite

ajustar un modelo del tipo (4.1). En el supuesto poco realista de que el proceso coincida

con un modelo como el que se intenta ajustar, se tendrıa un sistema de ecuaciones

sobredeterminado compatible, de manera que tendrıa solucion y el error de prediccion

alcanzado serıa cero para todas las medidas del conjunto de estimacion. Sin embargo,

en la practica el proceso no se puede describir a la perfeccion mediante un modelo lineal

del tipo (4.1) por lo que el sistema de ecuaciones no tiene solucion en el sentido de que

no existe un valor del vector de parametros que haga que el error de prediccion sea cero

para todas las medidas del conjunto de estimacion. Es decir, el sistema de ecuaciones

es incompatible. Sin embargo si se puede encontrar un valor del vector de parametros

que haga mınimo el error de prediccion, de manera mas precisa que haga mınima la

suma de los cuadrados de los errores de prediccion del conjunto de estimacion. Esta es

precisamente la estrategia del metodo de mınimos cuadrados2.

Las medidas obtenidas desde k = n hasta k = N se agrupan en vectores de manera

que se obtiene:

E(N, θ) = Y (N) − M(N)θ

donde los vectores E(N) e Y (N) son

E(N, θ) =[

e(n, θ) · · · e(N, θ)]T

Y (N) =[

y(n) · · · y(N)]T

2En un contexto matematico se dirıa que el vector de parametros que se calcula es la pseudosolucion

en el sentido de los mınimos cuadrados de un sistema sobredeterminado incompatible.

Page 79: Apuntes ic4

CAPITULO 4. IDENTIFICACION POR MINIMOS CUADRADOS 65

y la matriz M(N) esta formada por los regresores correspondientes, es decir

M(N) =

m(n)...

m(N)

Se define el ındice de bondad de ajuste como

J(θ) = ‖E(N, θ)‖2 =N∑

k=n

e2(k, θ)

Este ındice lo podemos reescribir como

J(θ) = (Y (N) − M(N)θ)T (Y (N) − M(N)θ)

El mınimo valor de J(θ) se dara en el valor del vector de parametros que cumpla que

dJ(θ)

dθ= 0

es decir,

2(M(N)θ − Y (N))T M(N) = 0

de donde se obtiene que el valor del vector de parametros que hace mınimo el ındice

de bondad de ajuste es

θ∗ = [MT (N)M(N)]−1MT (N)Y (N) (4.4)

y ese es por tanto el valor del vector de parametros del modelo identificado.

Notese que para que el problema de identificacion tenga solucion la matriz [M T (N)M(N)]

tiene que ser invertible al igual que M(N). Sin entrar en demasiados detalles, tal condi-

cion se verifica cuando la entrada cumple las condiciones de excitacion persistente del

sistema. Se debera acudir por tanto a senales de entrada parecidas al ruido blanco (ver

tema 3).

4.2. Algoritmo recursivo para identificacion en lin-

ea

La expresion (4.4) implica la inversion de una matriz que puede tener unas dimen-

siones apreciables, tanto mas si se tiene en cuenta que para identificar correctamente

Page 80: Apuntes ic4

66 ALGORITMO RECURSIVO PARA IDENTIFICACION EN LINEA

un sistema se deben tener suficientes medidas para eliminar el efecto de ruidos y per-

turbaciones ajenas a la dinamica del sistema. Intentar efectuar estos calculos en linea

es bastante ambicioso para el hardware de control habitual3. Por tanto este algoritmo

se destina a la identificacion fuera de linea. En linea se emplea otro procedimiento que

se muestra a continuacion.

La estimacion para el instante k usando las medidas obtenidas desde el instante n

vendra dada por

θ(k) = [MT (k)M(k)]−1MT (k)Y (k)

= P (k)MT (k)Y (k)

= P (k)(MT (k − 1)Y (k − 1) + mT (k)y(k))

(4.5)

donde

P (k) = [MT (k)M(k)]−1 =

[k∑

i=n

mT (i)m(i)

]−1

es la llamada matriz de covarianza. Se puede comprobar que

P−1(k − 1) = P−1(k) − mT (k)m(k)

Por otra parte tambien se puede obtener que

MT (k − 1)Y (k − 1) = P−1(k − 1)θ(k − 1)

= P−1(k)θ(k − 1) − mT (k)m(k)θ(k − 1)

Combinando las dos ultimas expresiones con (4.5) se obtiene

θ(k) = θ(k − 1) − P (k)mT (k)m(k)θ(k − 1) + P (k)mT (k)y(k)

= θ(k − 1) + P (k)mT (k)(y(k) − m(k)θ(k − 1))

= θ(k − 1) + K(k)(y(k) − m(k)θ(k − 1))

(4.6)

donde K(k) = P (k)mT (k). Por tanto θ(k) se puede expresar en forma recursiva, es

decir en funcion del valor del estimador en el instante anterior mas un termino corrector

que consiste en el error de prediccion en el instante actual cometido por el estimador

calculado en el instante anterior multiplicado por una ganancia de adaptacion K(k).

Esta formula da lugar al llamado algoritmo de minimos cuadrados recursivos, que

consiste en

1. Dar valores iniciales a la matriz P y al vector de parametros θ.

3Tengase en cuenta que el hardware industrial no se renueva tan rapidamente como el usado

en informatica personal y que ademas tampoco se incorporan las ultimas tecnologias con la misma

rapidez.

Page 81: Apuntes ic4

CAPITULO 4. IDENTIFICACION POR MINIMOS CUADRADOS 67

2. En cada instante k

a) Leer los valores de y(k) y u(k).

b) Formar el vector regresor m(k) segun la expresion (4.3).

c) Calcular P (k) mediante

P (k) = P (k − 1) −P (k − 1)mT (k)m(k)P (k − 1)

1 + m(k)P (k − 1)mT (k)

d) Calcular K(k) segun la expresion

K(k) = P (k)mT (k)

e) Calcular θ(k):

θ(k) = θ(k − 1) + K(k)[y(k) − m(k)θ(k − 1)]

Este algoritmo puede intepretarse graficamente como se ilustra en la figura 4.1.

PLANTA

FORMARREGRESOR

ALGORITMORECURSIVO Z-1

Σ

+

- � ���� ���� !" # +

$&% ')(*&% ')(

+-, .)/

021 3)4153)4671 384 θ

Figura 4.1: Diagrama de flujo del proceso de identificacion mediante mınimos cuadrados recursivos.

4.3. Interpretacion estadıstica

En esta seccion se presentan las propiedades estadısticas del estimador obtenido

por el metodo de mınimos cuadrados en funcion de las caracterısticas del proceso que

se trata de identificar.

Page 82: Apuntes ic4

68 INTERPRETACION ESTADISTICA

Supongase que el proceso que se pretende modelar responde bien a un modelo

ARMAX o bien a un modelo ARX-LS (vease la seccion 2.4). Considerese que la variable

aleatoria v(k) corresponde a un ruido blanco. La diferencia entre estos dos tipos de

modelos es el grado del polinomio coloreador del ruido C(z−1) que denotaremos por

cn. En el ARMAX cn > 0 por lo que la variable aleatoria v(k) y sus valores pasados

hasta el instante k − cn afectan al valor de la salida en k. En el caso del ARX −LS el

grado de C(z−1) es cero, por lo que la salida en k viene afectada por el valor de la senal

de ruido en el instante k exclusivamente. Esto implica que en el caso del ARMAX la

salida depende de los valores pasados de v(k) mientras que en el caso del ARX-LS esta

dependencia es exclusivamente con el valor actual de v(k).

Un hecho a tener en cuenta es que al ser v(k) una variable aleatoria, y(k) es a su

vez una variable aleatoria al ser el ruido aditivo. Esto implica a su vez que el valor

del vector de parametros estimado θ tambien es una variable aleatoria que se puede

estudiar desde un punto de vista estadıstico. Por responder el proceso exactamente a

uno de los dos tipos de modelos considerados existe un valor del vector de parametros

θ∗ que consideraremos como verdadero. Es decir

y(k) = mT (k)θ∗ + C(z−1)v(k)

Resulta muy interesante saber si al aplicar el metodo de los mınimos cuadrados, el

vector de parametros estimados θ(k) coincide con θ∗. Dado que θ(k) es una variable

aleatoria estudiaremos su valor esperado, es decir su esperanza matematica. Se define

el sesgo de la estimacion como

θ = E{

θ(k)}

− θ∗

es decir como la diferencia entre el valor esperado de θ(k) y el valor ((verdadero)) θ∗. Se

comprueba que

θ = E{[MT (k)M(k)]−1MT (k)V (k)

}(4.7)

donde V (K) es una matriz donde la fila correspondiente al instante k esta formada por

los valores v(k),· · ·,v(k − cn). Notese ademas que la fila de M(k) correspondiente al

instante k contiene los valores de la salida y de la entrada en los instantes k−1,· · ·,k−n

pero no los del instante k (ver expresion (4.3)).

Considerese el caso del modelo ARMAX. Claramente existe relacion entre los com-

ponentes de la matriz M(k) y V (k). En efecto, la matriz de regresores esta formada por

valores de la salida y la entrada. Los primeros dependen de los valores de la senal de

ruido y los segundos son deterministas, por lo que existe una correlacion entre la matriz

M(k) y V (K). Por lo tanto tambien existe esa correlacion entre [M T (k)M(k)]−1MT (k)

y V (k). Eso implica que segun la expresion (4.7) θ es distinto de cero. Por tanto no

esta garantizada la convergencia del vector de parametros estimados con el ((real)).

Page 83: Apuntes ic4

CAPITULO 4. IDENTIFICACION POR MINIMOS CUADRADOS 69

La situacion es diferente con el modelo ARX-LS. En este caso los valores de M(k)

no pueden estar relacionados con V (k) (que, al ser cn = 0, solo esta formada por los

valores presentes de v(k) para cada instante k). Por tanto, el estimador por mınimos

cuadrados es insesgado, es decir θ = 0 y por tanto el valor esperado del estimador

coincide con el valor real del vector de parametros, es decir

E{

θ(k)}

= θ∗

Por otra parte, el hecho que de que el proceso responda a uno u otro tipo de

modelo tiene una interpretacion fısica inmediata. En el caso del proceso ARMAX el

ruido presenta una cierta dinamica , mientras que en el caso del ARX-LS el ruido no

presenta dinamica alguna y responde unicamente a un ruido proveniente del sensor

de medida. Es en este ultimo caso cuando el metodo de mınimos cuadrados produce

estimaciones consistentes.

Otra propiedad que resulta interesante conocer es la varianza del estimador. Clara-

mente interesa que esta varianza sea pequena o por lo menos que disminuya conforme

se acumulan medidas disponibles para usarlas en la estimacion. De esa manera, el vec-

tor de parametros estimados estara con seguridad cerca del vector real. La varianza del

estimador se puede calcular como

varianza(θ(k)) = E{

(θ(k) − θ∗)T (θ(k) − θ∗)}

= σ2P (k)

donde σ = E{v(i)v(j)} para i = j. Notese que para que la varianza sea pequena

interesa que P (k) sea ((pequena)) o que al menos decrezca a medida de que k aumenta.

Una medida del tamano de P (k) es su traza, por lo que se usa como una medida de la

exactitud de la estimacion, de manera que se busca que la traza vaya decreciendo.

Esta interpretacion estadistica del tamano de P (k) tambien proporciona una regla

para dar un valor inicial a la matriz P (k). En efecto, en general no se tendra demasiada

confianza en que el valor inicial del vector de parametros estimados, por lo que se

escogera una matriz P (0) ((grande)) para reflejar esa desconfianza, por ejemplo P (0) =

pI donde p es un numero muy alto (por ejemplo 10000). Este numero sera mas pequeno

si se sabe que el valor inicial del vector de parametros esta cerca de θ∗.

Por otra parte, es evidente que a medida que el numero de observaciones N crece

la sumaN∑

k=n

mT (k)m(k)

Page 84: Apuntes ic4

70 MINIMOS CUADRADOS PONDERADOS

crece. Recuerdese que, segun se definio en la seccion 4.2

P (k) =

(k∑

i=n

mT (i)m(i)

)−1

lo que implica que a medida que N crece P decrece. Se puede demostrar que si el

tamano del regresor no cambia demasiado P decrece como 1N

. Esto quiere decir que la

incertidumbre en la estimacion decrece, es decir, que cada vez se obtiene un estimador

mas cercano al valor real. Ademas la ganacia de adaptacion K(k) tambien decrece

(vease su definicion en la seccion 4.2) lo cual es congruente con el hecho de que cuanto

mas exacta es la estimacion menos correccion de su valor se necesita. Esto es bueno

si la dinamica del proceso no cambia con el tiempo, pero si esto no es ası habra que

modificar este esquema.

4.4. Mınimos cuadrados ponderados

A veces es conveniente dar mas peso a algunas medidas que a otras en la esti-

macion. Por ejemplo si se identifica un proceso cuya dinamica cambia con el tiempo

interesara dar mas peso a las medidas mas recientes, pues estas seran las que reflejen la

dinamica mas actualizada. Para conseguir esto hay que modificar el ındice de bondad

de ajuste, de manera que se use

J(θ) = E(N, θ)T W (N)E(N, θ)‖2 =N∑

k=n

w(k)e2(k, θ)

siendo W (N) la matriz diagonal de pesos

W (N) =

w(n). . .

w(N)

La solucion del problema de ajuste es en este caso

θ∗ = [MT (N)W (N)M(N)]−1MT (N)W (N)Y (N) (4.8)

El esquema de ponderacion mas habitual es el llamado olvido exponencial . En este

caso

w(k) = λN−K

Page 85: Apuntes ic4

CAPITULO 4. IDENTIFICACION POR MINIMOS CUADRADOS 71

, donde λ ∈ (0, 1) es el llamado factor de olvido. Es facil entender por que se le llama

olvido exponencial: el peso dado a la medida disminuye exponencialmente cuanto mas

antigua sea. De esta manera las medidas muy antiguas se olvidan, pues su peso es tan

pequeno que es como si no se contribuyesen a la estimacion. Habitualmente se usa

λ ∈ [0,98, 1). Por ejemplo, si λ = 0,99 el estimador tendrıa una ((memoria)) de unas 100

muestras. En aquellos casos que la dinamica del proceso cambie muy rapidamente se

puede optar por valores mas bajos (por ejemplo, λ = 0,95).

En el caso de la tecnica de olvido la formulacion recursiva puede aplicarse modifi-

cando las expresiones para el calculo de P (k) de manera que:

P (k) =P (k − 1)

λ−

P (k − 1)mT (k)m(k)P (k − 1)

λ + m(k)P (k − 1)mT (k)

Puede observarse que, dado que K(k) = P (k)mT (k), la ganancia de adaptacion K(k)

depende de λ y a menor λ mayor ganancia de adaptacion. Esto quiere decir que a menor

λ mejor se adaptara la identificacion a una dinamica cambiante, ya que se considerarıa

en la optimizacion solo la informacion mas reciente.

Sin embargo si en el sistema o en las medidas hay mucho ruido, es conveniente

que la dinamica se identifique sobre un conjunto amplio de medidas ya que si no se

identificarıa el ruido mas que la dinamica del proceso. Por tanto en estos casos conviene

que λ no sea muy pequeno. Por tanto hay que llegar a un compromiso entre la capacidad

de seguir una dinamica cambiante y el rechazo del ruido en la identificacion.

4.5. Mınimos cuadrados extendidos y generalizados

Segun se explico en la seccion 4.3 el estimador obtenido mediante mınimos cuadra-

dos es insesgado si el proceso responde a un modelo ARX-LS, pero no si responde a

un modelo ARMAX. En la practica, si la relacion senal-ruido es baja el proceso ha de

modelarse con un modelo de perturbaciones mas complejo que el del ARX-LS ya que

la senal de ruido y su influencia sobre la dinamica son importantes. En estos casos se

debe recurrir a un modelo ARMAX.

El metodo de los mınimos cuadrados extendidos trata de resolver el problema del

sesgo en la estimacion de modelos ARMAX. La solucion es incluir los coeficientes del

polinomio C(z−1) en el vector de parametros del estimador, es decir

θ =[

a1 · · · an b1 · · · bn c1 · · · cn

]T

Page 86: Apuntes ic4

72 ESTIMACION DE LOS VALORES DE CONTINUA

Sin embargo, los valores pasados de la senal de ruido v(k) no son medibles, por lo que

no se pueden incluir en el regresor. Lo que se hace es aproximarlos por los errores de

prediccion, es decir

e(k) = y(k) − m(k)θ(k − 1)

Si el proceso coincidiera exactamente con el modelo para algun valor del vector de

parametros, entonces si los parametros evolucionasen en la direccion correcta la aprox-

imacion de los valores de los ruidos por los errores cada vez serıa mas correcta y

eventualmente se igualarıan, es decir v(k) = e(k). El regresor se formara entonces

como,

m(k) =[−y(k − 1) · · · −y(k − n) u(k − 1) · · · u(k − n) e(k − 1) · · · e(k − n)

]

El resto del procedimiento es exactamente igual, tanto en las formulaciones fuera de lin-

ea como en linea. Con este metodo se consiguen estimaciones insesgadas y consistentes

para procesos que respondan como un modelo ARMAX. Los problemas son un aumen-

to de la carga de calculo y una menor velocidad de convergencia en los parametros ci

debido a que la senal de ruido no es la mas preponderante.

Finalmente, existe otra variante de los mınimos cuadrados que son los mınimos

cuadrados generalizados. Sin entrar en demasiados detalles, esta formulacion se usa

cuando se tiene algun conocimiento del valor real del polinomio C(z−1) o de la matriz

P (matriz de covarianza). En este caso si la matriz N definida como

N = E{vvT}

es distinta de la matriz identidad se obtienen mejores resultados si el criterio que se

utiliza es

J(θ) =∑

eT (k, θ)N−1e(k, θ)

4.6. Estimacion de los valores de continua

Una de las condiciones necesarias para asegurar la convergencia que se mencionaron

en el tema 3 era que es necesario conocer los valores de continua de la senal y eliminarlos

de las medidas usadas en la identificacion. Es decir para identificar un proceso hay que

utilizar senales sin componente continua:

u(k) = U(k) − U∞ y(k) = Y (k) − Y∞

donde U(k) e Y (k) son los valores reales de la salida y la entrada y U∞ e Y∞ son

los valores de continua de ambas senales. Para estimar dichos valores existen diversas

opciones.

Page 87: Apuntes ic4

CAPITULO 4. IDENTIFICACION POR MINIMOS CUADRADOS 73

4.6.1. Utilizacion de los incrementos de las variables

En este caso se toman los incrementos de las senales, es decir

uID(k) = u(k) − u(k − 1) = (U(k) − U∞) − (U(k − 1) − U∞) = U(k) − U(k − 1)

donde la senal uID(k) es la senal de entrada que se utiliza en la identificacion. Como

se puede observar, al usarse el incremento, se resta de manera implicita la componente

continua. Lo mismo se hace con la salida

yID(k) = y(k) − y(k − 1) = (Y (k) − Y∞) − (Y (k − 1) − Y∞) = Y (k) − Y (k − 1)

Evidentemente, lo que se obtiene al identificar es un modelo incremental, es decir

formulado en incrementos de y(k) y u(k) y este incremento se tendra que deshacer si

lo que se quiere son los valores no incrementales de dichas senales.

4.6.2. Calculo de los valores medios

La idea es aproximar los valores de continua por los valores medios de las senales.

En el caso de la formulacion fuera de linea estos valores medios se calculan mediante

las expresiones tradicionales, es decir

U∞ =1

N

N∑

i=1

u(i) Y∞ =1

N

N∑

i=1

y(i)

para la identificacion en linea, es decir mediante algoritmos recursivos, se emplean las

siguientes expresiones

U∞(k) = U∞(k − 1) +1

k(U(k) − U∞(k − 1))

Y∞(k) = Y∞(k − 1) +1

k(Y (k) − Y∞(k − 1))

4.6.3. Estimacion de una constante

La idea en este caso es que el modelo que se pretende identificar puede reescribirse

como

Y (k) − Y∞ = −a1(Y (k − 1) − Y∞) − a2(Y (k − 1) − Y∞) − · · · − an(Y (k − n) − Y∞)

+b1(U(k − d − 1) − U∞) + · · · + bn(U(k − d − n) − U∞)

Page 88: Apuntes ic4

74 IMPORTANCIA DEL ORDEN DEL MODELO

lo cual a su vez se puede poner como

Y (k) = −a1Y (k − 1) − · · · − anY (k − n)

+b1U(k − d − 1) + · · · + bnU(k − d − n) + K

siendo K una constante que vale

K = (1 + a1 + · · · + an)Y∞ − (b1 + · · · + bn)U∞ (4.9)

Para estimar la componente continua se modifica el algoritmo de manera que en el

vector de parametros se incluye K

θ =[

a1 · · · an b1 · · · bn K]T

y en el regresor se incluye un 1

m(k) =[−y(k − 1) · · · −y(k − n) u(k − 1) · · · u(k − n) 1

]

Una vez estimado el valor de K, lo que se hace es dar un valor arbitrario a Y∞, por

ejemplo igual al valor de la referencia o consigna. Con ese valor se calcula U∞ mediante

la expresion (4.9).

4.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 3). En la practica esto no es sencillo, y se

debe recurrir a probar con varios modelos de ordenes y estructuras distintas a ver cual

resulta mejor. Esto quiere decir que se pueden dar situaciones de mala estimacion del

orden del modelo por defecto (incurriendose en lo que se llama infraparametrizacion)

o por exceso (sobreparametrizacion).

Veamos que ocurre cuando se intenta aproximar un sistema por un modelo de

orden inferior. Si esto sucede se llega a una situacion en la que el modelo solo puede

aproximar al sistema real en una banda de frecuencia relativamente estrecha. Si durante

el transcurso del proceso de identificacion la senal de entrada cambia su contenido

frecuencial, el modelo estimado (es decir su vector de parametros) evoluciona hasta

aproximar al sistema en torno a la nueva banda de frecuencias. Todo esto implica que

se obtendra un modelo distinto dependiendo de la senal de entrada. Este problema se

ilustra en las figuras 4.2 y 4.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

Page 89: Apuntes ic4

CAPITULO 4. IDENTIFICACION POR MINIMOS CUADRADOS 75

10−1 100 101−40

−30

−20

−10

0

10

20am

plitu

d dB

10−1 100 101−250

−200

−150

−100

−50

0

frecuencia rad/s

desf

ase

(gra

dos)

Figura 4.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.

10−1 100 101−40

−30

−20

−10

0

10

20

ampl

itud

dB

10−1 100 101−250

−200

−150

−100

−50

0

frecuencia rad/s

desf

ase

(gra

dos)

Figura 4.3: Misma situacion que en la figura 4.2 pero con una senal de entrada senoidal de frecuencia

ω = 1 rad × s−1.

Page 90: Apuntes ic4

76 IMPORTANCIA DEL ORDEN DEL MODELO

el modelo obtenido no es sino una aproximacion del sistema original en el entorno de

la frecuencia de la entrada. Esto ocasiona por tanto que ambos modelos sean distintos.

A la vista de lo que ocurre cuando existe infraparametrizacion, parecerıa logico que

resulte mejor sobreestimar el orden del modelo para evitar el continuo cambio de los

parametros del modelo estimado. Sin embargo esto no es una buena idea, pues puede

ocurrir que haya parametros del modelo estimado que puedan tomar cualquier valor sin

que cambie la relacion que liga las entradas del modelo con las salidas. Esto se manifiesta

en que algunos parametros experimentan una deriva tomando valores arbitrarios muy

altos o muy bajos. Esto ocasionarıa problemas numericos. Esta situacion se ilustra

en la figura 4.4. En ella se muestra la evolucion de los parametros de un modelo de

cuarto orden identificado sobre el sistema de segundo orden utilizado en las figuras 4.2

y 4.3. Puede observarse que algunos de los ocho parametros identificados convergen y

permanecen estables a lo largo del proceso de identificacion. Sin embargo otros no solo

no convergen sino que derivan hacia valores muy altos o muy bajos.

0 5 10 15 20 25 30 35 40−1.5

−1

−0.5

0

0.5

1

1.5

u e

y

0 5 10 15 20 25 30 35 40−2

−1.5

−1

−0.5

0

0.5

1

1.5

a i, bi e

stim

ados

tiempo (s)

Figura 4.4: Evolucion de los parametros identificados en un caso de sobreparametrizacion.

Matematicamente el exceso de parametros conduce a una situacion en la que mas

de una combinacion de los valores del vector de parametros producen la misma relacion

entre la entrada y la salida. Por tanto la sobreparametrizacion se manifiesta tambien si

se traza la grafica de un parametro del modelo frente a otros por que aparecen relaciones

lineales. Esta situacion se ilustra en la figura 4.5. En ella se muestran dos ejemplos en

los que se presentan los valores de un parametro en funcion del otro a medida que

el proceso de identificacion avanza. Puede observarse que existe un marcado patron

lineal, que indica una dependencia lineal entre ambos parametros.

Page 91: Apuntes ic4

CAPITULO 4. IDENTIFICACION POR MINIMOS CUADRADOS 77

−2 −1.8 −1.6 −1.4 −1.2 −1 −0.8 −0.6−0.005

0

0.005

0.01

0.015

0.02

0.025

a1

b 3

k=30k=100

k=180

−2 −1.8 −1.6 −1.4 −1.2 −1 −0.8 −0.6−0.5

0

0.5

1

1.5

a1

a 2

k=30

k=100k=180

Figura 4.5: Evolucion de unos parametros frente a otros para el modelo sobreparametrizado.

4.8. Identificacion de sistemas con retardo o no li-

neales

El metodo de los mınimos cuadrados puede aplicarse a procesos con retardo, siempre

que se tengan en cuenta algunas cuestiones. El modelo determinista de un sistema con

retardo puro de d periodos de muestreo se puede poner como

A(z−1)y(k) = B(z−1)u(k − d − 1)

Eso quiere decir que el regresor en el instante k debe contener valores pasados de la

entrada desde k − d − 1 a k − d − n donde n es el grado del polinomio B(z−1). Por

tanto el regresor queda

m(k) =[−y(k − 1) · · · −y(k − n) u(k − d − 1) · · · u(k − d − n)

]

Con esta modificacion cualquiera de los algoritmos de mınimos cuadrados vistos ante-

riormente se puede aplicar a procesos con retardo. El problema estriba en que se ha

de conocer exactamente el retardo (vease tema 3). El metodo usual para conocer este

dato es provocar un cambio en la entrada y observar cuando se manifiesta dicho cam-

bio en la salida (ha de tenerse en cuenta que en todo sistema muestreado los cambios

en la entrada se manifestaran como mucho en el siguiente periodo de muestreo). Este

sencillo esquema se puede complicar por ejemplo si el retardo es variable. Esto es mas

comun de lo que se cree, pues el retardo ası como el resto de parametros de un sistema

suele depender del punto de funcionamiento (por ejemplo, los retardos de transporte

ocasionados por tuberias dependen del caudal de material que se transporta). El pro-

blema es que, aunque los metodos de identificacion propuestos puedan seguir cambios

Page 92: Apuntes ic4

78 CONSIDERACIONES FINALES

en los parametros del modelo (se adaptan a esos cambios) no recogen la posibilidad

de un retardo variable (existen remedios a este problema, pero no se trataran aquı).

Otro problema que puede suceder es que el retardo no sea multiplo exacto del tiempo

de muestreo. Aunque existen formas para describir retardos no enteros (por ejemplo,

el uso de una expansion de Pade) es mas sencillo y menos problematico emplear si es

posible otro tiempo de muestreo para hacer que el retardo sea entero.

Finalmente se comento al principio del tema que el metodo de mınimos cuadrados

tambien permite la identificacion de sistemas no lineales con la limitacion de que el

modelo a identificar sea lineal en los parametros. De este modo, si el sistema se pretende

identificar con un modelo que por ejemplo podrıa ser

y(k) + ay(k − 1) = bu2(k − 1)

el regresor y el vector de parametros serıan

m(k) =[−y(k − 1) u2(k − 1)

]y θ(k) =

[a b

]T

respectivamente.

4.9. Consideraciones finales

En esta seccion se enunciaran algunas cuestiones practicas a tener en cuenta cuando

se implementa alguno de los algoritmos presentados en este tema. En primer lugar si

no se emplea la tecnica de factor de olvido, la ganancia de adaptacion K(k) decrece

hasta hacerse casi cero, por lo que cuando eso ocurre ya no se pueden seguir cambios

posteriores de la dinamica. Por tanto para identificar sistemas cuya dinamica varıa

lentamente se ha de emplear mınimos cuadrados ponderados. Por otra parte, existen

situaciones en las que la matriz de covarianzas P puede crecer demasiado, por lo que

el identificador se harıa muy sensible a cualquier pequeno cambio de la dinamica o al

ruido. Esto ocurre por ejemplo cuando el punto de funcionamiento no varıa. Lo que se

puede hacer en este caso es utilizar un factor de olvido variable, de manera que si la

traza de P crece demasiado se toma λ = 1. Si la traza de P baja mucho se va bajando

λ, pero sin sobrepasar un cierto lımite que evita que el proceso de identificacion se haga

demasiado sensible al ruido.

Otro aspecto es la eleccion del valor inicial de P . Se ha comentado que en el caso de

que no se tenga mucha confianza en el valor del vector de parametros inicial, se propone

elegir P como una matriz diagonal pI siendo p un numero arbitrariamente alto. Por

Page 93: Apuntes ic4

CAPITULO 4. IDENTIFICACION POR MINIMOS CUADRADOS 79

otra parte si antes de comenzar la identificacion ya se dispone de 2n observaciones,

donde 2n es el numero de parametros a estimar, es posible tomar como valor inicial

P (0) =(MT (2n)M(2n)

)−1

y como valor inicial del vector de parametros se puede usar θ = P (0)M(2n)Y (2n).

Page 94: Apuntes ic4

80 CONSIDERACIONES FINALES

Page 95: Apuntes ic4

Capıtulo 5

Introduccion al control adaptativo

5.1. Planteamiento del problema

En el contexto del control automatico el termino adaptativo se refiere a la facultad

de cambiar el comportamiento o parametros del control en respuesta a cambios en las

circunstancias del sistema controlado. Un regulador adaptativo sera aquel que pueda

modificar su comportamiento en respuesta a cambios en la dinamica del sistema y/o en

las perturbaciones a las que se ve sometido dicho sistema. En realidad esto es tambien

lo que se persigue cuando se introduce la realimentacion en un sistema de control. En

efecto, el control realimentado fundamenta su efectividad en el hecho de que es capaz

de reaccionar a los cambios del estado o salida del proceso (los cuales pueden venir

motivados por perturbaciones o tambien cambios en la dinamica del proceso) actuando

de manera que dicho estado o salida se mantenga controlado.

En general se acepta que el control adaptativo es un tipo de control no lineal en el

que el estado del proceso puede ser separado en dos escalas de tiempo que evolucionan

a diferente velocidad. La escala lenta corresponde a los cambios en los parametros del

regulador y la escala rapida a la dinamica del bucle ordinario de realimentacion.

La configuracion tıpica de un controlador adaptativo es la que se ilustra en la figura

5.1. Como se puede observar hay un bucle principal de realimentacion negativa en el que

aparece un regulador ajustable y otro bucle que se utiliza para ajustar los parametros de

dicho regulador. Para ello, se obtiene un cierto ındice de actuacion en el cual se expresa

la bondad o comportamiento del controlador. Dicho ındice de actuacion se compara con

un cierto comportamiento deseado y segun el resultado de dicha comparacion se ajustan

81

Page 96: Apuntes ic4

82 PLANTEAMIENTO DEL PROBLEMA

9;:=<?>A@B:DCFEHGI:D@EKJMLONP>AEHQRCAS T CFEB<U>VE

W SXGIYZGHE[GHSXCY <UGKY\9]S^GISEO9;>ALHEO97Y`_;<W SR9]EB<OY\N W :aGISEHGKE T >AEO9]Y`_;<GHS;9RY\NbY\_D<

COMPORTAMIENTODESEADO

y

u

+

++-

REFERENCIA

Figura 5.1: Configuracion generica de un controlador adaptativo.

los parametros del regulador. Para ello se utiliza un mecanismo de adaptacion que en

algunos casos (no siempre) tambien puede actuar directamente sobre la actuacion o

senal de control que recibe el proceso. En algunos casos se anade un tercer bucle que

tiene como tarea la supervision del sistema de manera que, por ejemplo, se garantice la

estabilidad del sistema en bucle cerrado o se eviten ciertos comportamientos indeseados

tales como cambios demasiado abruptos en los parametros del regulador ajustable.

Es facil ver que en el esquema anterior el mecanismo de adaptacion realiza la tarea

de resolver en tiempo real el problema de disenar un regulador apropiado (en el caso

mas sencillo con una estructura predefinida) para un sistema dado de manera que se

cumplan unas determinadas especificaciones de diseno (dadas por el ((comportamiento

deseado))).

Existen otros controladores que proporcionan una cierta capacidad de adaptacion

pero que no encajan en la definicion anterior ya que la adaptacion se realiza en bucle

abierto, es decir, para adaptar la ley de control no se usan las medidas de la salida o

estado de la planta. Este es el caso de los controladores gain scheduling los cuales se

trataran en la seccion 7.4.

5.1.1. Clasificacion grosso modo de los sistemas de control

adaptativo

De una manera general los sistemas de control adaptativo se pueden clasificar en

dos grandes grupos:

Page 97: Apuntes ic4

CAPITULO 5. INTRODUCCION AL CONTROL ADAPTATIVO 83

Controladores adaptativos por modelo de referencia (MRAC).

Reguladores autoajustables (STR).

Ambas estrategias suponen que para cualquier juego de valores de los parametros del

sistema y las perturbaciones, existe un controlador lineal que hace que el sistema en

bucle cerrado cumpla los requisitos de diseno.

Los MRAC intentan alcanzar un comportamiento en bucle cerrado deseado que

viene especificado por un modelo de referencia. Por otra parte, los STR intentan alcan-

zar un control lo mejor posible (optimo) a partir de un tipo de controlador prefijado y

la informacion obtenida del proceso (senales de entrada, salida, etc. . . ).

Las dos tecnicas tienen sus ventajas e inconvenientes. Las ventajas del MRAC pasan

por una rapida adaptacion y la posibilidad de utilizar formulaciones que garanticen

estabilidad (usando metodos de Lyapunov). Sin embargo, la capacidad de adaptacion

de estas estrategias dependen en gran medida de la riqueza dinamica de la senal de

control (esto es analogo a lo que ocurre en la identificacion de sistemas, vease el tema

3). Por otra parte, los STR se adaptan bien en casi todas las situaciones y son faciles de

implementar pues admiten tecnicas de programacion modular. Sin embargo, tambien

presentan sus propios inconvenientes como se vera mas adelante.

Otra posible clasificacion de los sistemas de control adaptativos es aquella que

atiende a la forma de obtener los parametros del controlador. En este esquema podemos

encontrarnos:

Controladores adaptativos con diseno mediante criterio optimo.

Controladores adaptativos con diseno mediante criterio no optimo.

En los primeros el valor de los parametros se obtiene buscando entre los posibles valores

aquellos que hacen optimo un cierto criterio de comportamiento del sistema. Es decir,

optimizan un criterio de comportamiento o funcionamiento. En este grupo estudiare-

mos los controladores de mınima varianza y mınima varianza generalizado. Tambien

se puede considerar en este grupo el control predictivo basado en modelo (al que dedi-

caremos un amplio capıtulo mas adelante) cuando este tipo de control se utiliza como

controlador ajustable en alguno de los esquemas de control adaptativo referidos al

principio del tema.

Page 98: Apuntes ic4

84 JUSTIFICACION DEL USO DE CONTROL ADAPTATIVO

Los controladores adaptativos sin criterio optimo buscan los parametros del contro-

lador no mediante la optimizacion de un criterio de funcionamiento sino entre aquellos

que cumplen unas ciertas especificaciones, por ejemplo, la colocacion de los ceros y los

polos de bucle cerrado. En estos esquemas el controlador ajustable puede ser por ejem-

plo un regulador PID, un controlador dead-beat como los estudiados anteriormente o

un controlador por asignacion de polos o de ceros y polos. En tiempo real se resolvera el

problema de disenar dichos controladores, de manera que a pesar de los cambios en el

proceso se sigan cumpliendo las especificaciones de diseno.

5.2. Justificacion del uso de control adaptativo

El control adaptativo conlleva una serie de inconvenientes que pueden hacernos cues-

tionar su uso. Por ejemplo, su sintonıa no suele ser tan sencilla como la de los clasicos

controladores PID. Por tanto, hay que ver en que situaciones puede ser ventajoso su

uso y en que situaciones es mejor quedarse con controladores mas sencillos.

En general un controlador convencional esta pensando para controlar sistemas cuyos

parametros permanecen constantes (es decir, su dinamica no varıa). Esta suposicion se

corresponde mas o menos con la de un sistema que suele operar siempre cerca de un

determinado punto de operacion y cuyas perturbaciones no son grandes (en relacion a

la variable controlada) y no varıan demasiado. Sin embargo, puede suceder que el punto

de trabajo varıe frecuentemente y en algunos sistemas puede suponer una variacion de

su dinamica lo suficientemente importante para afectar al rendimiento del controlador.

Por ejemplo, supongamos un sistema realimentado en el que el actuador presenta una

caracterıstica de transferencia no lineal (figura 5.2). Esta situacion corresponde por

G(s)f(u)u v+

-

Figura 5.2: Sistema realimentado con actuador con caracterıstica v = f(u).

ejemplo a la caracterıstica instalada de un valvula que usualmente suele ser no lineal.

Supongamos que el caudal de salida de la valvula viene dado por una expresion C =

ξ ∗A4, donde ξ es una cierta constante y A la apertura porcentual de la valvula. En la

figura 5.3 se muestra dicha caracterıstica instalada (trazo solido). A la hora de disenar

el sistema de control se intentarıa obtener un modelo linealizado del actuador, que

Page 99: Apuntes ic4

CAPITULO 5. INTRODUCCION AL CONTROL ADAPTATIVO 85

evidentemente saldrıa diferente en funcion del punto de operacion. Si el controlador

se ve forzado a trabajar en distintos puntos de operacion su rendimiento no podra ser

igual de bueno en todos, de manera que este esquema ira bien si el punto de operacion

no se mueve demasiado. Una solucion serıa trabajar con un modelo linealizado a tramos

de la caracterıstica de la valvula (figura 5.3 trazo discontinuo), de manera que en cada

punto de funcionamiento el controlador adaptara su comportamiento (variando sus

parametros de diseno) de acuerdo al modelo linealizado que se tenga en cada caso. En

0 10 20 30 40 50 60 70 80 90 1000

2

4

6

8

10

12

14

16

apertura (%)

caud

al (m

3 /h)

Figura 5.3: Sistema realimentado con actuador con caracterıstica v = f(u).

general, cuando la variacion en los parametros del sistema o los actuadores se conoce

de antemano y ademas se puede establecer una dependencia entre dichos parametros

y el punto de operacion (o una variable auxiliar) se puede recurrir a tecnicas sencillas

de control adaptativo como el gain scheduling (vease la seccion 7.4). En caso contrario

tendrıamos que recurrir a tecnicas mas sofisticadas.

Otro hecho a tener en cuenta es que no siempre es facil juzgar la necesidad o

no de utilizar el control adaptativo. Considerese el sistema dado por la funcion de

transferencia

G(s) =1

(s + 1)(s + a)donde a = −0,01, 0, 0,01 (5.1)

La primera aproximacion a este sistema serıa hallar su respuesta ante escalon, para

los diversos valores de a. Como se ilustra en la figura 5.4 (izquierda), dicha respuesta

varıa mucho en funcion de los valores del parametro a, pasando de hecho de ser un

sistema estable a otro inestable. Parecerıa que el sistema varıa lo suficiente como para

justificar el uso del control adaptativo. Sin embargo, la configuracion que realmente

nos interesa es la del sistema realimentado. En la figura 5.4 (derecha) se muestra la

Page 100: Apuntes ic4

86 JUSTIFICACION DEL USO DE CONTROL ADAPTATIVO

respuesta del sistema en bucle cerrado (realimentacion unitaria). En contra de lo que

podrıamos suponer la respuesta en bucle cerrado es mas o menos la misma, por lo que,

siendo esta la configuracion en la que se va a trabajar, no serıa necesario usar control

adaptativo.

0 20 40 60 80 100 120 140 160 180 2000

100

200

300

400

500

600

700Step Response

Time (sec)

Am

plitu

de

0 2 4 6 8 10 120

0.2

0.4

0.6

0.8

1

1.2

1.4Step Response

Time (sec)

Am

plitu

de

Figura 5.4: Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema dado en (5.1).

Es facil poner un ejemplo en el que la situacion sea la inversa de la anterior. Con-

siderese el sistema dado por la funcion de transferencia

G(s) =20(1 − Ts)

(s + 1)(s + 20)(Ts + 1)donde T = 0, 0,015, 0,03 (5.2)

En este caso la respuesta en bucle abierto del sistema es muy parecida independiente-

mente de los valores de T (figura 5.5 izquierda). Cuando se le realimenta usando como

entrada u = 15(ref − y) se obtienen, sin embargo, comportamientos muy diferentes en

funcion del valor de T (figura 5.5 derecha). Es por tanto que en este caso sı estarıa

justificado el uso de tecnicas de control adaptativo. El lector puede comprobar ademas

que no solo hay que juzgar en funcion del comportamiento en bucle cerrado en general,

sino que hay que tener en cuenta cuales van a ser las condiciones de operacion particu-

lares en las que se va a trabajar. En efecto, si se obtiene la respuesta en bucle cerrado

para el sistema (5.2) pero utilizando una realimentacion unitaria (esto es, u = (ref−y))

entonces las respuestas son esencialmente iguales independientemente del valor de T .

Page 101: Apuntes ic4

CAPITULO 5. INTRODUCCION AL CONTROL ADAPTATIVO 87

0 1 2 3 4 5 60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Step Response

Time (sec)

Am

plitu

de

0 0.5 1 1.5 2 2.5 3

0

0.5

1

1.5

Step Response

Time (sec)

Am

plitu

de

Figura 5.5: Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema dado en (5.2).

5.3. Control adaptativo por modelo de referencia

(MRAC)

Es una de las tecnicas mas antiguas de control adaptativo y se basa, como su nombre

indica, en disponer de un modelo de bucle cerrado que es el que se desea que describa al

conjunto controlador-planta. Es decir, se debe partir de un conjunto de especificaciones

deseadas de bucle cerrado que se expresan mediante el modelo de referencia. El con-

trolador ajustable debera adaptar sus parametros para que el modelo de bucle cerrado

del conjunto coincida o se acerque lo mas posible al modelo de referencia. La figura

5.6 muestra la configuracion mas popular (no es la unica sin embargo) para este tipo

de controladores. En dicha figura puede observarse un controlador primario ajustable

que en principio puede ser cualqier tipo de controlador. El mecanismo de adaptacion

es el que se va a encargar de ajustar los parametros del control primario para que la

diferencia entre la salida de la planta y el modelo de referencia sea lo mas pequena

posible (es decir, que independientemente del valor inicial de esa diferencia, esta vaya

tendiendo a cero progresivamente).

Ademas de utilizar las senales tomadas de las salidas de la planta y el modelo,

el mecanismo de adaptacion puede utilizar las senales de entrada, de referencia y si

estuviesen disponible las variables de estado. En suma, toda la informacion disponible

sobre la planta y el comportamiento del sistema en bucle cerrado.

Para disenar un MRAC se ha de definir el modelo de referencia, el controlador y

la ley de adaptacion. En cuanto al modelo de referencia, sabemos que este especifica

el comportamiento en bucle cerrado deseado. Por tanto, el modelo ha de ser tal que

Page 102: Apuntes ic4

88 CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC)

cFdfeBgbh]dXiPj;kDdFhj=l\mon2gpj;qfiVr s iPj7eogtj

u rfcAj7eovwn u dxkRrj;kRj s gbjDcfvZyFe

u+-

REFERENCIA

yp

u dXk;rziAd{k;rhFrz|2rzhFrteBcfv5j ym

+

-

+

Figura 5.6: Configuracion generica de un controlador adaptativo por modelo de referencia (MRAC).

el conjunto controlador ajustable-planta pueda reproducir dicho modelo. Es decir, no

se puede escoger el comportamiento deseado de bucle cerrado sin pensar si el contro-

lador ajustable es capaz de lograr (para alguna combinacion de sus parametros) dicho

comportamiento. Esto impone una serie de requisitos sobre el modelo, principalmente

sobre el orden del mismo. Tampoco es realista escoger un modelo de referencia con

una dinamica muy rapida en comparacion con la de la planta en bucle abierto. Por

supuesto es normal escoger la dinamica de bucle cerrado mas rapida que la de bu-

cle abierto, pero no se puede escoger de manera arbitrariamente rapida, ya que ello

desembocara en problemas de convergencia en los parametros del controlador.

Por otra parte para el controlador primario se puede pensar en casi cualquier es-

tructura de control lineal, incluyendo los populares PI, PID, etc. . . Se deben cumplir

sin embargo varios requisitos, entre ellos que la senal de control debe ser una funcion

lineal de los parametros. Tambien (suponiendose fijado el modelo) se debe escoger un

controlador ajustable que permita reproducir el modelo.

Finalmente, para la ley de adaptacion existen diferentes estrategias en la literatura

de las cuales nombraremos el metodo de hiperestabilidad y la estrategia basada en la

teorıa de estabilidad de Lyapunov (ambas estrategias aseguran la estabilidad de bucle

cerrado del sistema) y la primera y mas popular, el enfoque de sensibilidad o regla del

MIT.

Page 103: Apuntes ic4

CAPITULO 5. INTRODUCCION AL CONTROL ADAPTATIVO 89

5.3.1. La regla del MIT

Se basa en un ındice de actuacion, usualmente cuadratico, que mide la bondad de

la adaptacion en base a las discrepancias entre las salidas del modelo y la planta a lo

largo de un intervalo de tiempo:

J(t + T ) =

∫ t+T

t

e2(τ)dτ con e(t) = yproceso(t) − ymodelo(t) (5.3)

donde T es un periodo fijo de tiempo. La idea de la regla del MIT es ajustar el vector

de parametros del controlador en el instante t + T , de manera que haga decrecer J . Es

decir,

θ(t + T ) = θ(t) − Γ∂J

∂θ= θ(t) − Γ

∫ t+T

t

2e(τ)∂e(τ)

∂θdτ (5.4)

donde Γ ∈ Rn×n es una matriz definida positiva que actua como ganancia de adaptacion.

Es facil entender que el controlador solo tiene influencia sobre la salida de la planta,

no sobre la del modelo. Por tanto ymodelo(t) no depende de θ y al variar este tampoco

lo hace ymodelo(t), luego∂e(τ)

∂θ=

∂yproceso(τ)

∂θFinalmente, podemos conocer la variacion instantanea de los parametros del contro-

lador tomando T → 0 en el segundo miembro de (5.4) y teniendo en cuenta lo anterior

se llega adθ

dt= −2Γe(t)

∂yproceso

∂θ(5.5)

Notese que ∂yproceso

∂θrepresenta como varıa la salida del proceso frente a variaciones del

vector de parametros, es decir la sensibilidad de yproceso(t) frente a variaciones de θ, de

ahı el nombre alternativo de ((enfoque de sensibilidad)).

En la practica la sensibilidad de la salida del proceso puede ser difıcil de conocer.

Por tanto, se la suele sustituir por la del modelo de referencia (que sı es conocido). Este

esquema funciona porque despues de un tiempo el comportamiento en bucle cerrado del

sistema acaba convergiendo al del modelo de referencia. En cualquier caso, la ganancia

de adaptacion no debe ser muy grande pues si no puede aparecer un comportamiento

inestable (especialmente si hay discrepancias iniciales fuertes entre la sensibilidad del

proceso y la del modelo, porque las correcciones al valor de θ seran muy energicas y en

la direccion equivocada).

Finalmente hay que decir que esta regla presenta diversas formulaciones alternati-

vas. De hecho la formulacion original del MIT se basaba en el ındice

J(t) =1

2e2(T )

Page 104: Apuntes ic4

90 CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC)

que resulta en la regladθ

dt= −γe(t)

∂e(t)

∂θ

y hay otras posibilidades como

J(t) = |e(t)| que resulta endθ

dt= −γ

∂e(t)

∂θsigno(e(t))

o directamente ajustar mediante

dt= −γ signo

(∂e(t)

∂θ

)

signo(e(t))

Ejemplo 5.1

Supongamos que tenemos un proceso cuya funcion de transferencia viene dada por

G(s) = kF (s)

donde k es ganancia desconocida y F (s) es perfectamente conocida. Se pretende que

el sistema en bucle cerrado se comporte acorde al modelo de referencia

GM(s) = k0F (s) (5.6)

donde k0 es una ganancia conocida (es un dato de entrada del problema). El controlador

ajustable del que se dispone tiene la estructura

u = θuc

donde u es la entrada que se aplica a la planta y uc es la entrada al controlador (es

decir el parametro θ que se ha de ajustar es simplemente una ganancia). Se supone una

configuracion del sistema de control tal que θ es una ganancia feed-forward , es decir,

la funcion de transferencia desde uc a la salida del proceso yp es

Y (s)

UC(s)= θkF (s)

Como se pretende que la funcion de transferencia sea como en (5.6), lo logico serıa

tomar

θ =k0

k

pero es evidente que esto no se puede hacer, porque se desconoce el valor de k. Se

propone ajustar θ mediante la regla del MIT en el contexto de un control adaptativo

MRAC. El error es en este caso

e(t) = yp(t) − ym(t) = kF (s)θuc(t) − k0F (s)uc(t) (5.7)

Page 105: Apuntes ic4

CAPITULO 5. INTRODUCCION AL CONTROL ADAPTATIVO 91

La sensibilidad1 vendra dada por

∂e(t)

∂θ= kF (s)uc(t) (5.8)

ahora bien, de (5.7) se obtiene que

−ym(t) = −k0F (s)uc(t)

luego,

F (s)uc(t) =ym(t)

k0

por lo que llevando esto a (5.8) se obtiene

∂e(t)

∂θ=

k

k0

ym(t)

La variacion de los parametros segun la regla del MIT sera

dt= −γ

k

k0

ym(t)e(t)

Notese que se sigue desconociendo el valor de k0, sin embargo esto no plantea problema

alguno, pues como γ es una constante cualquiera podemos agrupar las constantes que

aparecen en una sola γ ′, de manera que la regla serıa

dt= −γ′ym(t)e(t)

1Con el objeto de simplificar las cosas en la ecuacion (5.7) se ha abusado notablemente de la

notacion pues se estan incluyendo simultaneamente funciones en el dominio s (de la transformada de

Laplace) y senales en el dominio temporal. Esto no es correcto y quizas serıa mejor utilizar la notacion

F (p) donde p = d

dt, es decir, sustituir las funciones en s por su equivalente en el operador derivada.

Page 106: Apuntes ic4

92 CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC)

Page 107: Apuntes ic4

Capıtulo 6

Reguladores Autoajustables (STR)

6.1. Introduccion. Estructura general de los STR

Los reguladores autoajustables (del ingles Self Tuning Regulator) constituyen un

tipo de control adaptativo muy popular en el que en funcion del conocimiento que se

tiene de la dinamica del proceso a controlar son capaces de ajustarse a si mismos. Este

conocimiento se va actualizando en tiempo real de manera que el ajuste se mantiene

lo mas cercano posible al optimo.

Los STR se basan en el principio de equivalencia cierta que consiste en suponer

que los parametros del proceso coinciden con los que se obtienen por identificacion

de manera que se disena el controlador usando esos parametros. Como el controlador

se recalcula en cada paso, y los parametros se actualizan tambien en cada paso, el

principio de equivalencia cierta no es una suposicion demasiado arriesgada.

La estructura general de un STR se ilustra en la figura 6.1. En esta se observa que

hay tres partes diferenciadas:

Algoritmo recursivo de identificacion. Al tener que actualizarse los parametros

en tiempo real es evidente que se debe utilizar un algoritmo recursivo (vease el

capıtulo 4).

Mecanismo de adaptacion que desarrolla la tarea de diseno del regulador. Para

ello se utilizara el modelo actualizado que se tenga de la planta. Notese que al

ser la estructura del controlador fija, ((disenar)) el controlador es equivalente a

93

Page 108: Apuntes ic4

94 INTRODUCCION. ESTRUCTURA GENERAL DE LOS STR

obtener los mejores valores de los parametros de sintonıa en base al modelo.

Regulador con parametros ajustables. Por lo general la estructura es fija y puede

ser cualquier tipo de controlador lineal en el que los parametros se puedan ajustar.

REFERENCIA }V~V�]���A~f���F�X~A��F���]�8���F�P�2� � ���F�X�2�

�z�)��� �K�]}t�5�V�{�7��p� � ���f�X�2��F�Z�)���R~��X�p�}V~V�]���A~f���F�X~A�COMPORTAMIENTO

DESEADO

y

u+-

Figura 6.1: Configuracion generica de un regulador o controlador autoajustable.

En los STR clasicos se suele suponer que los procesos son deterministas (es decir no

se consideran fuentes de perturbaciones estocasticas como las vistas en el capıtulo 2).

Por otra parte es comun que el controlador ajustable sea del tipo PID. En realidad,

como es la estructura de un STR es modular, se puede usar cualquier combinacion de

controlador/metodo de identificacion.

Tambien se pueden considerar procesos estocasticos en los STR. Es comun entonces

que la estructura escogida para el modelo sea la de tipo ARMAX (vease el capıtulo 2).

El diseno se podra hacer, por tanto, utilizando un criterio estocastico o no estocastico.

En el caso de que sea un criterio estocastico normalmente se obtienen los parametros

del regulador mediante la minimizacion de un cierto ındice de funcionamiento. Por

ejemplo en el regulador de mınima varianza (el cual se vera en la seccion 6.2) se intentan

minimizar las variaciones con respecto a cero de la salida (se considera un problema de

regulacion con referencia nula), que al ser una senal ruidosa se consigue minimizando

la esperanza matematica de la salida en k + d, es decir

J = E{y2(k + d)

}

siendo d el retraso.

Cuando el diseno ser realiza usando un planteamiento no estocastico, se esta con-

siderando que las perturbaciones que inciden sobre el sistema son conocidas con exac-

titud de antemano, de tal manera que podemos usar modelos deterministas (vease el

capıtulo 2). En este caso el ındice de actuacion se da en funcion de unas especifica-

ciones que debe cumplir la salida del sistema, como por ejemplo el tiempo de subida y

Page 109: Apuntes ic4

CAPITULO 6. REGULADORES AUTOAJUSTABLES (STR) 95

establecimiento, etc. . . Tambien se emplearıan especificaciones que definan la dinamica

resultante como la colocacion de los polos de bucle cerrado.

6.1.1. Algoritmos con estructura implıcita y explıcita

Entre los STR podemos distinguir dos tipos de algoritmos, unos que identifican di-

rectamente los parametros de la planta y luego disenan el controlador para cumplir con

los requisitos (estructura explıcita) y otros que lo que hacen es estimar el controlador

directamente sin pasar por la estimacion previa de la planta (estructura implıcita).

Un algoritmo con estructura explıcita constarıa de los siguientes pasos:

1. Estimar los parametros del modelo mediante un algoritmo de identificacion re-

cursivo.

2. Calcular los parametros del controlador.

3. Calcular la senal de control y aplicarla.

Estos pasos se repetirıan en cada tiempo de muestreo.

Los algoritmos de estructura implıcita son mas complicados desde el punto de vista

conceptual. Lo que se hace en ellos es reparametrizar el modelo de la planta y el

controlador en funcion de los parametros del controlador. El esquema serıa el mostrado

en la figura 6.2. Observese en esta figura que no se esta pasando por la fase de diseno del

REFERENCIA �p�t�A�&�P�t�&�z�V�t��V�Z�F�M�&�z���8� � �&�z�V�8�

  �V�&�f�   ¡¢  �p�F�   £ ��V�¤�;¥o�P�z�¤����b� � �z�b�z¥D�2�8�   ¦ �V�A�COMPORTAMIENTO

DESEADO

y

u+-

Figura 6.2: Configuracion generica de un regulador o controlador autoajustable.

controlador sino que este se identifica, de manera que cumpla con las especificaciones de

diseno. Por eso en la figura 6.2 como la identificacion toma como datos de entrada las

Page 110: Apuntes ic4

96 CONTROL POR MINIMA VARIANZA

medidas de la planta y ademas las especificaciones de diseno. En este tipo de algoritmo

los pasos suelen ser:

1. Estimar los parametros del modelo reparametrizado.

2. Calcular y aplicar la senal de control.

Al igual que en caso anterior estos pasos se repiten cada tiempo de muestreo.

Ambos tipos tienen ventajas e inconvenientes. En el caso de los de estructura ex-

plıcita, la carga computacional suele ser mayor pero a cambio, se obtiene un modelo de

la planta que puede ser utilizado para otras tareas diferentes de la de control, por ejem-

plo para simulacion o supervision. Tambien se puede tener un banco de controladores

seleccionables en funcion del modelo obtenido. En el caso de los de estructura implıcita

se necesitan menos calculos, pero la identificacion es mas difıcil (pueden aparecer prob-

lemas de convergencia con mas facilidad). Por otra parte no siempre es posible obtener

el modelo reparametrizado.

6.2. Control por Mınima Varianza

El regulador de mınima varianza es un regulador optimo que pretende reducir el

efecto de las perturbaciones sobre la salida, minimizandose para ello un cierto ındice

de funcionamiento. Efectivamente, la senal de control que se aplica en el instante k, es

decir u(k), se calcula como una funcion de u(k−1) . . . u(k−nb) y(k)y(k−1) . . . y(k−na),

de manera que se minimice

J = E{y2(k + d|k)

}

donde E{} es el operador esperanza matematica, y la notacion y(k + d|k) indica la

prediccion del valor de y en el instante k + d hecha en base a la informacion disponible

en el instante k. El modelo del proceso que se considera es del tipo ARMAX, el cual

se indica a continuacion

A(z−1)y(k + d) = B(z−1)u(k) + C(z−1)v(k + d) (6.1)

donde

A(z−1) = 1 + a1z−1 + · · · + anz

−n

B(z−1) = b1z−1 + b2z

−2 + · · · + bnz−n

C(z−1) = 1 + c1z−1 + · · · + cnz

−n

Page 111: Apuntes ic4

CAPITULO 6. REGULADORES AUTOAJUSTABLES (STR) 97

y d es el retraso puro1.

Supongase que se desea dividir C(z−1) entre A(z−1). Dicha division de polinomios

producira en general un polinomio cociente y un polinomio resto. El cociente lo deno-

taremos por F (z−1) y el resto se factoriza de manera que se denote por z−(d+1)G(z−1).

Por tanto podremos reescribir la conocida expresion dividendo igual a divisor por co-

ciente mas resto ası

C(z−1) = A(z−1)F (z−1) + z−(d+1)G(z−1) (6.2)

donde

F (z−1) = 1 + f1z−1 + · · · + fdz

−d

G(z−1) = g0 + g1z−1 + · · · + gn−1z

−(n−1)

Notese que el grado de F (z−1) es d y el de G(z−1) es n−1. A continuacion dividiremos

ambos miembros de la ecuacion (6.1) por A(z−1) y usaremos (6.2) de manera que se

obtiene

y(k + d) =B(z−1)

A(z−1)u(k) + F (z−1)v(k + d) +

z−1G(z−1)

A(z−1)v(k) (6.3)

en donde ademas se ha tenido en cuenta que z−dv(k + d) = v(k). Veamos el significado

de algunos de los terminos de (6.3). El termino F (z−1)v(k + d) es una combinacion

lineal de los valores de v(k) a v(k + d) cuyo efecto sobre y(k + d) no depende de u(k).

Por otra parte el terminoz−1G(z−1)

A(z−1)v(k)

representa el efecto sobre la salida de las perturbaciones en instantes anteriores a k.

Por otra parte si dividimos por C(z−1) la expresion (6.2) se obtiene

1 =A(z−1)F (z−1)

C(z−1)+

z−(d+1)G(z−1)

C(z−1)

que se puede reescribir como

1 −A(z−1)F (z−1)

C(z−1)=

z−(d+1)G(z−1)

C(z−1)(6.4)

Por otra parte segun el modelo ARMAX

v(k) =A(z−1)

C(z−1)y(k) −

B(z−1)

C(z−1)z−du(k)

1Notese que el polinomio B(z−1) no tiene termino independiente, lo que se refleja en la forma de

describir el proceso ARMAX en la ecuacion (6.1).

Page 112: Apuntes ic4

98 CONTROL POR MINIMA VARIANZA

Esto se puede sustituir en la ecuacion (6.3) de manera que se obtiene

y(k +d) =B(z−1)

A(z−1)u(k)+F (z−1)v(k +d)+

z−1G(z−1)

A(z−1)

[A(z−1)

C(z−1)y(k) −

B(z−1)

C(z−1)z−du(k)

]

operando

y(k +d) =B(z−1)

A(z−1)u(k)+F (z−1)v(k +d)+

z−1G(z−1)

C(z−1)y(k)−

G(z−1)B(z−1)

A(z−1)C(z−1)z−(d+1)u(k)

que, agrupando los terminos que contienen u(k), es a su vez es igual a

y(k +d) = F (z−1)v(k +d)+z−1G(z−1)

C(z−1)y(k)+

1

A(z−1)

[

1 −G(z−1)z−(d+1)

C(z−1)

]

B(z−1)u(k)

Recuerdese ahora la ecuacion (6.4) y sustituyase en la anterior para obtener

y(k + d) = F (z−1)v(k + d) +z−1G(z−1)

C(z−1)y(k) +

F (z−1)B(z−1)

C(z−1)u(k)

A partir de esta ecuacion podemos calcular J y ver que valor de u(k) hace mınimo J :

E{y2(k + d)

}= E

{F (z−1)v(k + d)

}2+ E

{F (z−1)B(z−1)

C(z−1)u(k) +

z−1G(z−1)

C(z−1)y(k)

}2

+2E

{

F (z−1)v(k + d)

(F (z−1)B(z−1)

C(z−1)u(k) +

z−1G(z−1)

C(z−1)y(k)

)}

Si se intenta minimizar la expresion anterior se tiene que el primer termino no depende

de u(k), por lo que no influye a la hora de calcular el valor de u(k) que hace mınimo

J . Por tanto, ese termino puede ser descartado. Por otra parte, el tercer termino es la

esperanza matematica de una expresion la que aparece terminos en los que los valores

de la perturbacion v(k + i) i = 0 . . . d multiplican valores actuales y pasados de y(k)

y u(k). Como los valores de v(k + i) i = 0 . . . d son independientes (incorrelados)

de los de y(k) y u(k) la esperanza matematica que aparece en ese tercer termino es

cero. Por tanto, nos queda solo el segundo termino que es el que hay que minimizar.

Para ello basta con calcular el valor que hace cero lo que esta dentro de las llaves y

ası el cuadrado sera cero (que es el mınimo valor posible de una funcion cuadratica).

El resultado es

u(k) = −z−1G(z−1)

F (z−1)B(z−1)y(k) (6.5)

que se puede reescribir tambien como (y ası aparece en algunos textos)

u(k) = −G(z−1)

zB(z−1)F (z−1)y(k) (6.6)

Page 113: Apuntes ic4

CAPITULO 6. REGULADORES AUTOAJUSTABLES (STR) 99

Ejemplo 6.1

Considerese el siguiente sistema lineal

yk = ayk−1 + buk−2

Se pide encontrar la expresion del regulador de mınima varianza.

En este caso es facil ver que

A(z−1) = 1 − az−1 B(z−1) = bz−1 C(z−1) = 1

y por otra parte d = 1. Recordemos que se ha de dividir C(z−1) entre A(z−1) hasta que

el grado del cociente F (z−1) sea d, o sea en este caso F (z−1) tiene la forma F (z−1) = 1+

f1z−1. La figura 6.3 nos muestra la division hecha paso a paso a la manera tradicional.

Por tanto F (z−1) = 1 + az−1. El resto que en este caso es a2z−2 debe identificarse con

§ §M¨5©&ª¢« ¬§M¨5©&ª¢« ¬©&ª « ¬ §¢­¤©&ª « ¬©&ª « ¬ ¨ ©&®Zª « ®

© ® ª)« ®Figura 6.3: Division de polinomios para el ejemplo 6.2.

la expresion z−2G(z−1), por lo que es evidente que en este caso G(z−1) = a2. Luego

recordando la expresion (6.5) obtenemos que el regulador de mınima varianza para este

caso es

uk =−z−1a2

(1 + az−1)bz−1yk = −

a2

(1 + az−1)byk

6.2.1. El regulador de mınima varianza generalizado

El control por mınima varianza tal y como se ha presentado aquı presenta problemas

cuando el sistema es de fase no mınima ya que al tener ceros inestables estos se cance-

laran mediante polos inestables. Esta situacion no es deseable, por que en la practica

puede que los ceros cambien de posicion, bien por imprecision en el modelo del sistema

o por variaciones de la dinamica del sistema. En este caso los ceros no se cancelarıan

con los polos con lo cual anadirıamos polos inestables al sistema. Evidentemente esto

ultimo llevarıa a la inestabilidad del sistema. Existen variaciones del regulador de mıni-

ma varianza que tratan este problema y ademas incorporan seguimiento de referencias

y ponderacion del esfuerzo de control (es decir, que ademas de perseguir el objetivo de

Page 114: Apuntes ic4

100 ASIGNACION DE POLOS Y CEROS

mınimizar las variaciones de la salida con respecto a la referencia se intenta hacer esto

usando el menor esfuerzo de control posible). La mas conocida es la del regulador de

mınima varianza generalizado. La idea de este regulador es la de considerar el siguiente

ındice de funcionamiento

J = E{(

Q(z−1)y(k + d) + R(z−1)u(t) − P (z−1)ref(t + d))2}

donde Q(z−1), R(z−1) y P (z−1) son funciones de ponderacion estables que tienen la

forma

Q(z−1) =Qn(z−1)

Qd(z−1)R(z−1) =

Rd(z−1)

Rd(z−1)P (z−1) =

Pn(z−1)

Pd(z−1)

Bajo estas condiciones la senal de control que minimiza J es

u(k) =Rd(z

−1) (C(z−1)P (z−1)ref(t) − G(z−1)y(t))

Qd(z−1)(Rd(z−1)F (z−1)zB(z−1) + C(z−1)Rd(z−1))(6.7)

En las expresiones anterior R(z−1) se utiliza para ajustar la velocidad de la respuesta

del controlador, con el objeto por ejemplo de prevenir la saturacion de los actuadores.

Por otra parte se suele tomar Qd(z−1) = 1 − z−1 de manera que la ley de control

resultante tiene un integrador por lo que se rechazan perturbaciones constantes.

Finalmente existen otras variaciones de la formulacion presentada aquı. Por ejemplo

una version del regulador de mınima varianza que solo soluciona el seguimiento de

referencia (no irıa bien con sistemas de fase no mınima) resulta en la expresion

u(t) = −G(z−1)

zB(z−1)F (z−1)y(t) −

C(z−1)

zB(z−1)F (z−1)ref(t + d) (6.8)

6.3. Asignacion de polos y ceros

De entre los metodos basados en criterios no estocasticos se recoge aquı el metodo

de asignacion de polos y ceros debido a Astrom y Wittenmark. En el capıtulo 1 ya se

trato el problema de la asignacion de polos mediante realimentacion lineal del vector

de estados. Es conocido que con un solo controlador no se pueden asignar polos y ceros

arbitrariamente, por lo que usualmente se prefiere asignar los polos. El metodo que

aquı se presenta se basa por tanto en una estructura mas compleja que permite colocar

los polos y los ceros en las posiciones deseadas. Dicha estructura se presenta en la figura

6.4.

El objetivo del procedimiento es que la funcion de transferencia de bucle cerrado

Page 115: Apuntes ic4

CAPITULO 6. REGULADORES AUTOAJUSTABLES (STR) 101

¯]° ±�² ³´?µ\¶³ ¶· µ�¶¹¸º»º

¸¼

½¾À¿\ÁÂÄÃÅ

ÆÇ{È�ÉÀÊË

ÌÍFÎ�ÏÑÐÒ Ó °5±¢²

Figura 6.4: Estructura para la asignacion de polos y ceros.

sea igual a una dada, que supondremos denotada por

y(k) =Rm(z−1)

Pm(z−1)z−dw(k) (6.9)

donde se asume que Rm(z−1) y Pm(z−1) no tienen factores comunes y ademas el sistema

es causal por lo que el grado de Pm(z−1) es mayor o igual al de Rm(z−1).

A partir de la figura 6.4 y aplicando el algebra de bloques se llega a la conclusion

de que la funcion de transferencia entre w(k) (la referencia a seguir) y y(k) es

y(k) =S(z−1)B(z−1)z−d

A(z−1)M(z−1) + B(z−1)G(z−1)z−dw(k)

Igualando esta expresion con la funcion de transferencia deseada (6.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) (6.10)

Como se ha comentado en la seccion 6.2.1 no es conveniente que se cancelen ceros

inestables con polos inestables, por lo que se imponen que las raıces inestables de

B(z−1) formen parte tambien de Rm(z−1). Por tanto lo que se hace es que se factoriza

B(z−1) como

B(z−1) = B−(z−1)B+(z−1)

donde B−(z−1) contiene las raıces inestables de B(z−1) y B+(z−1) las estables. Como

las primeras deben estar en Rm(z−1) factorizamos este ultimo polinomio como

Rm(z−1) = B−(z−1)Rm1(z−1)

Impondremos ademas que las raıces estables de B(z−1) esten en M(z−1), de manera

que tendremos

M(z−1) = M1(z−1)B+(z−1)

Page 116: Apuntes ic4

102 ASIGNACION DE POLOS Y CEROS

Por otra parte se asume que, ademas de especificarse el retraso y los polinomios que

definen la funcion de transferencia deseada, como parte de los datos de entrada del

problema, se tiene un polinomio A0(z−1) que se utiliza para definir S(z−1) mediante la

expresion

S(z−1) = A0(z−1)Rm1(z

−1)

Con todo lo anterior y la ecuacion (6.10) se llega a

A(z−1)M1(z−1) + B−(z−1)G(z−1)z−d = A0(z

−1)Pm(z−1) (6.11)

Esto es una ecuacion polinomial, donde las incognitas son M1(z−1) y G(z−1), que

puede resolverse mediante diferentes metodos2. Quizas el mas simple (pero no mas

eficiente) sea plantear un sistema de ecuaciones lineales donde las incognitas sean los

coeficientes de los polinomios M1(z−1) y G(z−1). En cualquier caso se deben imponer

condiciones sobre los grados de dichos polinomios para que la ecuacion tenga solucion

unica. Aplicando consideraciones algebraicas que no mostraremos aquı, se llega a que

existen dos posibles opciones para los grados de M1(z−1) y G(z−1),

1.

grado(G(z−1)) = grado(A(z−1)) − 1

grado(M1(z−1)) = grado(A0(z

−1)) + grado(Pm(z−1)) − grado(A(z−1))

2.

grado(G(z−1)) = grado(A0(z−1)) + grado(Pm(z−1)) − grado(B−(z−1)) − d

grado(M1(z−1)) = grado(B−(z−1)) + d − 1

Se puede demostrar que el control por asignacion de polos y ceros es equivalente al

MRAC. Por otra parte segun el sistema podemos tener casos simplificados:

1. Cancelacion de todos los ceros. Esto se puede hacer si el sistema es de fase mınima.

En este caso

B+(z−1) = B(z−1) B−(z−1) = 1 Rm(z−1) = Rm1(z−1) = K

M(z−1) = M1(z−1)B(z−1) S(z−1) = KA0(z

−1)

por lo que la ecuacion quedarıa como

A(z−1)M1(z−1) + G(z−1)z−d = A0(z

−1)Pm(z−1)

2De hecho es una ecuacion polinomial diofantica. Este tipo de ecuaciones las encontraremos de

nuevo en el capıtulo 9, donde se veran otros metodos para resolverla.

Page 117: Apuntes ic4

CAPITULO 6. REGULADORES AUTOAJUSTABLES (STR) 103

2. No se cancela ningun cero. Esto ocurre si todos las raıces de B(z−1) son inestables.

En este caso

B+(z−1) = 1 B−(z−1) = B(z−1) S(z−1) = KA0(z−1)

M(z−1) = M1(z−1) Rm(z−1) = KB(z−1)

por lo que ahora la ecuacion quedarıa como

A(z−1)M(z−1) + B(z−1)G(z−1)z−d = A0(z−1)Pm(z−1)

Con este tipo de control se puede ilustrar la diferencia entre algoritmo con estructura

implıcita y explıcita. Comenzaremos derivando un algoritmo con estructura implıcita,

para ver despues el de estructura explıcita.

6.3.1. Algoritmo con estructura implıcita.

Notese que multiplicando ambos miembros de la ecuacion (6.11) por y(k) se obtiene

A(z−1)M1(z−1)y(k) + B−(z−1)G(z−1)z−dy(k) = A0(z

−1)Pm(z−1)y(k)

que dado que A(z−1)y(k) = B(z−1)z−du(k) es equivalente a

M1(z−1)B(z−1)z−du(k) + B−(z−1)G(z−1)y(k) = A0(z

−1)Pm(z−1)y(k)

Por otra parte sabemos que M(z−1) = M1(z−1)B+(z−1) y B(z−1) = B+(z−1)B−(z−1),

por lo que se llega a

A0(z−1)Pm(z−1)y(k) = B−(z−1)z−d

(M(z−1)u(k) + G(z−1)y(k)

)(6.12)

La ecuacion (6.12) expresa una relacion entre la entrada y la salida que constituye

un modelo reparametrizado del sistema en bucle cerrado. En dicho modelo aparecen

polinomios conocidos de antemano (A0(z−1), Pm(z−1)), el retraso d que se supone

conocido, y tres polinomios (B−(z−1) , M(z−1), G(z−1)) que son los que deben ser

identificados (ajustados mediante un metodo de identificacion recursivo), usando los

valores experimentales de la entrada y la salida. Observese que al identificarse dicho

modelo reparametrizado se estaran identificando los parametros del controlador ademas

de parte de los parametros de la planta. Estos ultimos no son sin embargo necesarios,

se pueden considerar un ((subproducto)) del proceso de identificacion del controlador.

El algoritmo de control en sı, tomarıa como datos de entrada A0(z−1), Pm(z−1), el

retraso d y Rm1(z−1). Los pasos de los que constarıa en cada instante de muestreo son

los siguientes

Page 118: Apuntes ic4

104 ASIGNACION DE POLOS Y CEROS

1. Obtener una estimacion actualizada de M(z−1), G(z−1), B−(z−1) mediante la

identificacion del modelo reparametrizado (6.12).

2. Calcular y aplicar

u(k) =1

M(z−1)

(S(z−1)w(k) − G(z−1)y(k)

)

donde S(z−1) = A0(z−1)Rm1(z

−1).

Este procedimiento puede presentar problemas para aquellos sistemas que sean de

fase no mınima. Esta mayor dificultad es inherente a los algoritmos con estructura

implıcita, tal y como se ha comentado al comienzo del capıtulo.

6.3.2. Algoritmo con estructura explıcita

En este caso los datos de entradas al algoritmo serıan A0(z−1), Pm(z−1), el retraso

d y Rm(z−1). Los pasos de los que constarıa en cada instante de muestreo son los

siguientes

1. Obtener una estimacion actualizada de A(z−1) y B(z−1) mediante la identifi-

cacion del modelo

y(k) =B(z−1)

A(z−1)z−du(k)

2. Factorizar B(z−1) = B+(z−1)B−(z−1).

3. Resolver la ecuacion (6.11).

4. Calcular y aplicar

u(k) =1

M(z−1)

(S(z−1)w(k) − G(z−1)y(k)

)

donde S(z−1) = A0(z−1)Rm1(z

−1) y M(z−1) = M1(z−1)B+(z−1).

Es facil ver que este algoritmo tiene mas calculos que el anterior, en particular la

factorizacion de B(z−1) y la resolucion de la ecuacion polinomial (6.11), tareas ambas

que pueden ser costosas en un hardware industrial no muy potente (ademas de mas

complicadas de implementar). Sin embargo desde el punto de vista practico suele tener

menos problemas.

Page 119: Apuntes ic4

Capıtulo 7

Controladores PID con autoajuste

y Ajuste por tabla

7.1. Introduccion

En este capıtulo se revisaran algunas de las tecnicas de control adaptativo con mayor

aplicacion en la industria. Estas no son tan ambiciosas como algunas de las presentadas

hasta ahora y sin embargo son definitivamente estrategias de control avanzado que han

demostrado ser utiles en la practica. Ademas de las tecnicas referidas en el tıtulo del

capıtulo se concluira el temario relativo a control adaptativo con un breve repaso a

algunos sistemas comerciales.

7.2. Funcion de autoajuste (autotuning)

Los reguladores adaptativos vistos hasta ahora, es decir los MRAC y STR, necesitan

para poder funcionar correctamente un conocimiento basico a priori de la planta. A fin

de poder obtener esa informacion lo mas facilmente posible, los fabricantes introdujeron

en los controladores adaptativos comerciales un modo de sintonıa previa (pre-tune), que

obtenıa dicha informacion basica.

Paralelamente, se estaban desarrollando tecnicas para poder ajustar automatica-

mente controladores de tipo PID sin necesidad de intervencion del operario. Lo que

105

Page 120: Apuntes ic4

106 FUNCION DE AUTOAJUSTE (AUTOTUNING)

ocurrio, es que se vio que para poder ajustar un PID automaticamente bastaba con la

informacion basica que proporcionaban los modos pre-tune de los controladores adap-

tativos.

Por otra parte, desde el mundo industrial una de las caracterısticas mas demandadas

era una funcion de autoajuste inicial. Al instalarse el controlador se activarıa dicha

funcion (apretando un boton en el panel de control) a lo que el controlador responderıa

realizando una baterıa de tests pre-programados que darıan como resultado el ajuste

automatico del controlador. Esta demanda surge de la dificultad y el engorro de ajustar

un controlador inicialmente. Lo que hicieron los fabricantes de PID fue aprovechar los

resultados obtenidos en el desarrollo de funciones pre-tune en controladores adaptativos

para dotar a sus PID de una funcion de autoajuste como la que demandaban los

usuarios.

Para conseguir el autoajuste se puede utilizar cualquier tecnica de control adap-

tativo que permita estimar los parametros adecuados, con el unico requisito de que

los ensayos requeridos sean sencillos, a fin de poderse realizar de manera automatica.

Desde el punto de vista practico, los controladores con autoajuste tendran dos modos

de funcionamiento, el modo normal en el cual funcionan como cualquier controlador

y el de ajuste. En el modo de ajuste el control se desconecta, se realizan los ensayos

necesarios y despues se vuelve al modo normal con el controlador ajustado.

Por tanto un controlador con autoajuste realiza tareas de modelado (identificacion),

y diseno del controlador, de manera transparente al usuario, por lo que se simplifican

mucho las tareas de instalacion y puesta en marcha de los controladores. Por otra parte

no incrementan en mucho el coste final del controlador y son una manera de introducir

tecnicas de control adaptativo en la industria.

Finalmente hay que hacer notar la diferencia fundamental entre un controlador

autoajustable del tipo STR y un controlador con autoajuste. En los primeros el con-

trolador de manera autonoma va adaptandose de una manera mas o menos continuada.

En un controlador con funcion de autoajuste, dicho autoajuste solo se realiza bajo de-

manda del operador, y usualmente solo cuando se instala o se cambia sustancialmente

las condiciones del equipo a controlar.

Page 121: Apuntes ic4

CAPITULO 7. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 107

7.3. Funciones de autoajuste para PIDs

Antes de tratar las distintas tecnicas existentes para ajustar automaticamente PIDs

es importante hacer notar que los PIDs industriales (figura 7.1) no son exactamente

iguales a las formulaciones academicas que se ensenan en cursos basicos de control. Por

Figura 7.1: PID industrial moderno con funcion de autoajuste (ABB modelo ECA).

ejemplo, en lugar de considerarse la derivada del error se suele usar la derivada de la

salida y ademas a veces ni siquiera se emplea la derivada exacta de la salida, sino que se

usa una aproximacion de la misma que reduce la ganancia en altas frecuencias, a fin de

minimizar los efectos del ruido. Ası mismo a la hora de calcular la parte proporcional

de la accion de control no se suele usar el valor exacto de la referencia a seguir, sino

una fraccion del mismo, a fin de evitar cambios bruscos en la salida del proceso. Otro

detalle muy importante es que se suele incorporar una funcion de anti-windup que,

basicamente, consiste en que cuando el actuador se satura (alcanza su lımite fısico de

operacion), se deja de integrar el error. Con esto se consigue que, cuando empieza a

disminuir el error, el actuador deja de estar saturado, es decir que se consigue que el

descenso del error se manifieste en un decremento de la senal de actuacion.

Sin entrar en demasiados detalles un PID mas realista que la version academica

vendrıa dado por la siguiente expresion:

u(t) = f(v(t))

donde u(t) es la senal de actuacion que se aplica, f(·) es una posible (se suele dar casi

siempre) no-linealidad debida al actuador y

v(t) = P (t) + I(t) + D(t)

Page 122: Apuntes ic4

108 FUNCIONES DE AUTOAJUSTE PARA PIDS

donde P (t) es la accion proporcional que se calcula mediante

P (t) = Kc(βref(t) − y(t)) 0,7 ≤ β ≤ 1

I(t) es la accion integral que se calcula mediante

dI

dt=

Kc

Ti

(ref(t) − y(t)) +1

Tt

(u(t) − v(t))

En la expresion anterior el ultimo termino que se suma se usan para lograr el efecto

anti-windup de manera que la accion integral se mantenga acotada cuando el actuador

se sature. El parametro Tt es una constante de tiempo para reinicializar la accion

integral cuando aparezca la saturacion y suele ser una fraccion del tiempo integral Ti.

Por otra parte la accion derivativa se calcula usando

Td

N

dD

dt= −D − KcTd

dy

dt

donde el parametro N es fijo y suele tomarse igual a 10.

En cuanto a las tecnicas para sintonizar automaticamente PIDs, la gran mayorıa

estan basadas en experimentos simples que el PID puede llevar a cabo por si solo. Estos

experimentos podran ser en bucle abierto o cerrado, de ahı que luego distingamos dos

tipos de tecnicas. Hay que mencionar que en los PID industriales el ajuste automatico

viene realizado por el propio PID, o por un modulo separado que se coloca en lugar del

PID para realizar los experimentos, y que devuelve los valores de los parametros del

PID. Este modulo debera ser compatible con los distintos modelos de PID que se usen en

la planta, ya que para calcular los parametros deben conocerse todas las peculiaridades

de los algoritmos usados por cada PID. Otros metodos mas sofisticados son los que

se basan en tecnicas de inteligencia artificial principalmente sistemas expertos . Estos

programas monitorizan en paralelo el funcionamiento de la planta y cuando se producen

cambios de referencia o perturbaciones importantes los aprovechan para analizar la

dinamica de la planta, estimandose valores para parametros como ganancias, factores de

amortiguamiento, etc . . . Estos parametros son los que luego se usaran para sintonizar

el PID. Esta tecnica se utiliza por ejemplo en controladores de las marcas Foxboro o

Fenwal.

7.3.1. Tecnicas de ajuste basadas en la respuesta transitoria

Estas son tecnicas de ajuste en bucle abierto que se basan en aplicar un escalon en

la senal de entrada del lazo que se quiere sintonizar y ajustar un modelo simple del

tipo

G(s) =k

1 + sTe−sL (7.1)

Page 123: Apuntes ic4

CAPITULO 7. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 109

Conocidos los parametros del modelo el PID se puede ajustar usando tecnicas del

tipo Ziegler-Nichols de bucle abierto. Otros metodos estan basados en medida de areas

como la que se describe a continuacion. Considerese la figura 7.2. El procedimiento

para calcular T y L comienza por el calculo de A0. De ahı se determina

L + T =A0

k

y de ahı se puede medir A1, la cual se usa para obtener T mediante

T =eA1

k

donde e es la base de los logaritmos neperianos. Una vez que se conoce L + T y T se

puede obtener L y con eso ya estan estimados todos los parametros.

k

A0

A1

L+T

Figura 7.2: Determinacion de T y L por areas.

7.3.2. Metodos basados en las oscilaciones producidas al real-

imentar con un rele

Los metodos de ajuste basados en la respuesta transitoria son simples, pero muy

sensibles a las perturbaciones, ya que las pruebas se realizan en bucle abierto. Las

tecnicas basadas en experimentos en bucle cerrado no tienen este problema. De estas

tecnicas veremos la que esta basada en las oscilaciones producidas al realimentar con

un rele. La estructura para realizar el ajuste es la que se muestra en la figura 7.3.

La idea clave es que la mayorıa de los procesos exhiben oscilaciones autosostenidas

(conocidas como ciclos lımite1) cuando son realimentados con un rele en la cadena

1El estudio de los ciclos lımite no pertenece a esta asignatura. Baste saber que son oscilaciones con

entrada nula o referencia constante que aparecen en ciertos sistemas y que pueden provocarse con la

estructura presentada aquı.

Page 124: Apuntes ic4

110 LA TECNICA DE AJUSTE POR TABLA O GAIN SCHEDULING

PID

RELÉ

PROCESOr u y+

-

Figura 7.3: Estructura usada en el metodo basado en oscilaciones de rele.

directa. Los parametros del ciclo lımite contienen informacion suficiente para calcular

los parametros de ajuste del PID.

El procedimiento consiste en desconectar el controlador a la hora de hacer el ajuste

y sustituirlo por el rele. En la salida comenzaran a aparecer oscilaciones que se em-

pezaran a repetir periodicamente cuando el ciclo lımite aparezca. Una vez que se han

determinado los parametros del ciclo lımite se calculan los del PID y se vuelve a conec-

tar el controlador. El metodo mas conocido para calcular los parametros del PID es el

metodo de Ziegler-Nichols de bucle cerrado. Suponiendo una referencia nula, si el ciclo

lımite resultante tiene amplitud a y frecuencia ωu entonces los parametros del metodo

de Ziegler-Nichols de bucle cerrado, es decir, la ganancia crıtica Ku y el periodo crıtico

Tu son iguales a

Ku =4d

πaTu =

ωu

donde d es la amplitud del rele.

7.4. La tecnica de ajuste por tabla o gain schedul-

ing

Existen otros controladores que proporcionan una cierta capacidad de adaptacion

pero que no encajan en el esquema tıpico discutido en el capıtulo 5 ya que la adaptacion

se realiza en bucle abierto. Este esquema, mas limitado se ilustra en la figura 7.4. Puede

observarse que en este caso, el ajuste de los parametros no se realiza en funcion del

comportamiento del sistema, sino que se utilizan los valores de una variable auxiliar

para decidir cuales son los mejores valores de los parametros del regulador. De ahı que

se diga que la adaptacion es en bucle abierto.

Un esquema de control tıpico que utiliza la estructura de la figura 7.4 es el popular

gain scheduling o ajuste por tabla. En este esquema, los parametros del controlador que

Page 125: Apuntes ic4

CAPITULO 7. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 111

ÔKÕKÖ{×7ØOÕUÙRÚOÛÜÕKØÚ�Ý)Þ{ßA×7Ú�àoÙ]á â ÙRÚOÖã×FÚ

ä áoÔoÚOÖãåæß ä ÕçÛèáÚ�Û�Ú â ×7ÚãÔBå\éBÖä á;Ûèå`Û�ÚêÛ�áëÙ]Úì Ú�ØKå�Ú�àBÙRáÚ�Þèí�å`Ù=å`Ú�Ø

MEDIOAMBIENTE

u+-

REFERENCIA

y

Figura 7.4: Configuracion generica de un controlador adaptativo con adaptacion en bucle abierto.

se usan en cada instante vienen determinados por una tabla precalculada para varios

puntos de funcionamiento o valores de la variable auxiliar. Este tipo de control es muy

popular, por ejemplo, en sistemas de control de vuelo, en los que los parametros del

controlador se seleccionan de un conjunto de parametros precalculados en funcion de

la altura de vuelo. Por supuesto, este tipo de control funciona bien si entre la variable

auxiliar y la dinamica del sistema existe una fuerte relacion, que permite determinar

el valor de los parametros en funcion del valor observado de la variable auxiliar. Una

ventaja que tiene este esquema es que los parametros del control se pueden cambiar

(adaptar) a la misma velocidad a la que cambia la dinamica del sistema pues estos

cambios se reflejan sobre la variable auxiliar a la vez que se producen. Esta rapidez en

el cambio de los parametros puede ser, sin embargo, contraproducente. Por otra parte la

construccion de la tabla puede ser muy complicada. De hecho no existe una metodologıa

universal, sino que para cada aplicacion ha de verse como llevar a la practica las ideas

del gain scheduling. Por ultimo encontrar la variable auxiliar apropiada no siempre es

posible.

Estos controladores, sin embargo, se pueden encontrar en diversos sistemas tıpi-

cos de control, principalmente debido a su sencillez y efectividad cuando estan bien

disenados. Algunas de las aplicaciones tıpicas son:

Linealizacion de la caracterıstica de ciertos actuadores. Tal y como se vio en la

seccion 5.2 la caracterıstica no lineal de un actuador se puede aproximar por un

modelo linealizado a trozos, de manera que en funcion del punto de operacion del

actuador se escogeran unos valores u otros para el controlador.

Control de pH. En estos sistemas se presentan no linealidades originadas tanto

por los elementos de control (valvulas, bombas, sensores) como por las reacciones

Page 126: Apuntes ic4

112 LA TECNICA DE AJUSTE POR TABLA O GAIN SCHEDULING

quımicas propias del proceso. La no linealidad principal proviene de la relacion

entre las concentraciones de los reactivos y el pH de la solucion resultante. Dicha

relacion se representa en la llamada curva de pH2. En dicha curva se representa

el pH en funcion de las diferencias en las concentraciones de los reactivos. En la

figura 7.5 se muestra dicha curva para una solucion acuosa de acido clorhıdrico

y sosa caustica (es decir un par acido-base). Puede observarse que en este caso

la no linealidad tambien se puede aproximar bien por un modelo linealizado a

tramos.

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

x 10−3

2

3

4

5

6

7

8

9

10

11

12

Diferencia entre las concentraciones acido−base

pH

Figura 7.5: Curva de pH para una solucion de HCl 0.001 M y NaOH 0.001 M.

Control de la mezcla aire combustible en un motor de combustion. En este caso se

utilizan como variables para decidir el ajuste del controlador (un PI usualmente)

la velocidad del motor y la cantidad de aire que entra. Usando dichas variables

se busca en una tabla (usualmente de 16x16 entradas) en la que se obtienen los

valores de los parametros del controlador (si los valores de las variables no coin-

ciden con los de ninguna entrada se interpola con las mas proximas). La variable

de control es el tiempo de apertura de la valvula de inyeccion de combustible.

En este caso se presenta otra no linealidad debida al sensor utilizado para medir

la proporcion de aire y combustible. Este sensor denominado sonda lambda tiene

una caracterıstica que de manera aproximada viene representada por la figura

7.6. De hecho la senal de error que se envıa al PI se genera mediante la expresion

e =

{1 si V > 0,5

−1 si V ≤ 0,5

2En realidad el nombre tecnico es curva de titracion, aunque tales detalles no son relevantes en

esta asignatura

Page 127: Apuntes ic4

CAPITULO 7. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 113

0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Relación combustible − aire (λ)

Vol

taje

de

salid

a (V

)

Figura 7.6: Caracterıstica aproximada de una sonda lambda

Control de vuelo. Es el ejemplo clasico, en este caso, se puede encontrar una

relacion entre los parametros optimos del controlador y la altura, la velocidad y

el numero de Mach.

Control de la direccion de un barco. En este caso la dinamica considerada para

el control de la direccion depende de la velocidad del barco y de ciertas variables

relacionadas con el tiempo atmosferico, como la fuerza y direccion del viento (en

realidad dichas variables atmosfericas no afectan a la dinamica del barco en si,

sino a la de las perturbaciones que este sufre).

A modo de conclusion, podemos decir que la tecnica de gain scheduling se puede

usar con exito cuando las no linealidades que se pretendan compensar se conocen bien

a priori. Por otra parte como la adaptacion es en bucle abierto, es necesario conocer

bien tanto la dinamica del proceso como la de las perturbaciones.

7.5. Controladores adaptativos industriales

Las tecnicas de control adaptativo han llegado al mundo industrial en distintas

formas y capacidades, entre las cuales podemos distinguir las siguientes.

Herramientas para sintonizar controladores. Estan basadas en experimentos como

los que se han descrito en la seccion 7.3. A veces se encuentran como componentes

Page 128: Apuntes ic4

114 CONTROLADORES ADAPTATIVOS INDUSTRIALES

opcionales del controlador como en el caso de los sistemas Protonic (Hartman &

Braun) o UDC 6000 (Honeywell). Estos combinan reglas empıricas y tecnicas

de colocacion de polos usando experimentos en bucle abierto. Las estrategias de

oscilaciones mediante rele tambien son comunes como por ejemplo en el SattCon-

trol3 ECA40 y en el DPR900 (Fisher-Rosemount). Otra posibilidad es que estas

herramientas para sintonizar controladores sean modulos independientes, com-

patibles 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 for-

men parte de sistemas de control distribuido como en el caso de Looptune (Hon-

eywell) e Intelligent Tuner (Fisher-Rosemount).

Controladores adaptativos estandar. Estos controladores ajustan los parametros

de manera mas o menos continua. Los hay que estan basados en la identificacion

de un modelo mediante mınimos cuadrados recursivos como los CLC04 (Bailey

Controls) y SLPC-181/281 (Yokogawa) que ademas utilizan una estrategia de

control por colocacion de polos. Algunos, como el SattControl ECA40, no identi-

fican un modelo parametrico sino que usan reglas del tipo Ziegler-Nichols de bucle

cerrado, a partir de experimentos de realimentacion con rele. Por otra parte exis-

ten otros mas ambiciosos que estan basados en sistemas expertos y en tecnicas de

reconocimiento de patrones como EXACT (Foxboro), SLPC-171/271 (Yokogawa)

o UDC 6000 de Honeywell. Estos sistemas utilizan una base de reglas (100-200)

con las que se pretende reproducir el conocimiento de un experto (humano) en

sintonizar controladores. Finalmente, las capacidades de gain scheduling tam-

bien estan presentes en ciertos controladores como el SattControl ECA 400 o el

DPR910 (Fisher-Rosemount).

Controladores adaptativos basados en automatas programables. Los automatas

programables ganan terreno dıa a dıa en cualquier aplicacion industrial de control.

3M y General Electric tienen en su catalogo aplicaciones de control adaptativo

basados en sus automatas.

Soluciones a medida. A veces en determinadas aplicaciones se encuentran contro-

ladores adaptativos a medida y que por tanto son exclusivos de cada sistema. Se

encuentran en barcos, aviones, automocion, y ciertas industrias.

A continuacion se analizaran en mayor detalle algunos controladores especialmente

interesantes.

3Mas tarde Alfa-Laval y actualmente ABB.

Page 129: Apuntes ic4

CAPITULO 7. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 115

7.5.1. SattControl ECA40 y Fisher-Rosemount DPR900

Estos controladores estan basados en oscilaciones inducidas mediante realimentacion

con un rele. Incluyen una funcion de ”sintonıa pulsando un boton”. Ademas tiene ca-

pacidades limitadas de gain scheduling con una tabla de tres entradas. Previamente

al ajuste el proceso se deja evolucionar con una entrada constante. El procedimiento

de ajuste comienza con la deteccion del ciclo lımite. En cuanto se observa que las os-

cilaciones comienzan a repetirse, se calcula la amplitud y periodo de las mismas y a

partir de ahı se calculan los parametros. Para ello se utilizan una version modificada del

metodo de Ziegler-Nichols. Una vez se calculan los parametros el controlador conmuta

a modo automatico. El ajuste ofrece tres perfiles diferentes: control normal, lento o

rapido. La reaccion de la comunidad industrial a estos productos ha sido muy buena,

encontrandose particularmente util en industrias que no tienen personal especializado

en todos los turnos.

7.5.2. Foxboro EXACT

Este sistema esta basado en la respuesta transitoria de bucle cerrado, es decir es

de bucle cerrado pero no usa las oscilaciones inducidas por un rele. Lo que se emplea

es un escalon o perturbacion aplicada al sistema y de la evolucion de la salida a par-

tir de ese instante se obtiene informacion que permite ajustar el controlador usando

Ziegler-Nichols. Este controlador requiere informacion previa para poder sintonizar au-

tomaticamente, concretamente una estimacion previa de Kc, Ti y Td, ası como de la

escala de tiempos del proceso. Si esta informacion se desconoce se puede usar el modo

de pre-tune incorporado que la obtiene mediante la aplicacion de un escalon. Es nece-

sario sin embargo que el proceso este en regimen permanente. La aceptacion comercial

de este producto ha sido excelente y se han vendido miles de unidades. A modo de

anecdota la planta de Atlantic Copper en Huelva utiliza este controlador en algunos

de sus procesos. El controlador adaptativo multivariable EXACT MV se distribuye ac-

tualmente en forma de software de control avanzado como parte del sistema I/A Series

de Foxboro.

7.5.3. ABB Novatune

Esta herramienta de control STR (figura 7.7) esta basada entre otras cosas en el

control de mınima varianza y ofrece la capacidad de especificar la posicion de 1 de los

Page 130: Apuntes ic4

116 CONTROLADORES ADAPTATIVOS INDUSTRIALES

polos de bucle cerrado. Utiliza mınimos cuadrados recursivos con factor de olvido para

Figura 7.7: La herramienta Novatune se comercializa actualmente con el sistema Advant 410 de ABB.

identificar un modelo que tiene la estructura

(1 − Plz−1)y(t + kd) − (1 − Pl)y(t) = A(z−1)∆y(t) + B(z−1)∆u(t) + C(z−1)∆v(t)

donde Pl es el polo que se puede especificar y kd es el horizonte de prediccion. Por otra

parte la ley de control tiene la forma

(σ + B∗(z−1))∆u(t) = (1 − Pl)(ref(t) − y(t)) − A(z−1)∆y(t) − C(z−1)∆v(t)

donde σ es un factor de ponderacion. La experiencia en el uso de esta herramienta

demuestra que da mejores resultados que el control PID convencional.

Page 131: Apuntes ic4

Capıtulo 8

Control Predictivo Basado en

Modelo (MPC)

8.1. Perspectiva historica

El Control Predictivo se desarrollo en base a dos lıneas basicas. Por un lado, a finales

de los anos setenta surgieron diversos algoritmos que usaban explıcitamente un modelo

dinamico del proceso para predecir el efecto de las acciones de control futuras en la

salida, las cuales eran determinadas minimizando el error predicho sujeto a restricciones

de operacion. La optimizacion se repetıa en cada instante de muestreo con informacion

actualizada del proceso. Estas formulaciones eran de naturaleza heurıstica y algorıtmica

e intentaban aprovechar el creciente potencial de los computadores digitales por aquella

epoca.

Rapidamente el mpc adquirio gran popularidad en las industrias de procesos quımi-

cos principalmente debido a la simplicidad del algoritmo y al uso del modelo de re-

spuesta impulsional o en escalon, que aunque posea muchos mas parametros que las

formulaciones en el espacio de estados o funcion de transferencia suele ser preferido

por ser intuitivo y necesitar menos informacion a priori para identificar. La mayorıa

de las aplicaciones fueron llevadas a cabo sobre sistemas multivariables incluyendo

restricciones. Los algoritmos utilizados fueron principalmente el idcom (Identification-

Command) y el dmc (Control con Matriz Dinamica, Dynamic Matrix Control).

Independientemente fue surgiendo otra lınea de trabajo en torno a las ideas del con-

trol adaptativo, desarrollando estrategias esencialmente para procesos monovariables

117

Page 132: Apuntes ic4

118 CONCEPTOS BASICOS DE CONTROL PREDICTIVO

formuladas con modelos entrada/salida. En este contexto se extendieron las ideas del

Controlador de Mınima Varianza y se desarrollo el Control Predictivo Generalizado

(Generalized Predictive Control gpc) que es uno de los metodos mas populares en la

actualidad.

8.2. Conceptos basicos de control predictivo

El Control Predictivo Basado en Modelo, Model (Based) Predictive Control (mbpc

o mpc) constituye un campo muy amplio de metodos de control desarrollados en torno

a ciertas ideas comunes e integra diversas disciplinas como control optimo, control

estocastico, control de procesos con tiempos muertos, control multivariable o control

con restricciones.

El Control Predictivo no es una estrategia de control especıfica, sino que se trata

mas bien de un campo muy amplio de metodos de control desarrollados en torno a

ciertas ideas comunes. Estos metodos de diseno conducen a controladores lineales que

poseen practicamente la misma estructura y presentan suficientes grados de libertad.

Las ideas que aparecen en mayor o menor medida en toda la familia de controladores

predictivos son basicamente:

Uso explıcito de un modelo para predecir la salida del proceso en futuros instantes

de tiempo (horizonte).

Calculo de las senales de control minimizando una cierta funcion objetivo.

Estrategia deslizante, de forma que en cada instante el horizonte se va desplazan-

do hacia el futuro, lo que implica aplicar la primera senal de control en cada

instante y desechar el resto, repitiendo el calculo en cada instante de muestreo.

Los distintos algoritmos de mpc difieren entre sı casi exclusivamente en el modelo

usado para representar el proceso y los ruidos y en la funcion de coste a minimizar.

Aunque las diferencias puedan parecer pequenas a priori, pueden provocar distintos

comportamientos en bucle cerrado, siendo crıticas para el exito de un determinado

algoritmo en una determinada aplicacion.

El Control Predictivo es un tipo de control de naturaleza abierta dentro del cual se

han desarrollado muchas realizaciones, encontrando gran aceptacion tanto en aplica-

ciones industriales como en el mundo academico. En la actualidad existen numerosas

Page 133: Apuntes ic4

CAPITULO 8. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 119

aplicaciones de controladores predictivos funcionando con exito, tanto en la industria

de procesos como en control de motores o Robotica. El buen funcionamiento de estas

aplicaciones muestra la capacidad del mpc para conseguir sistemas de control de ele-

vadas prestaciones capaces de operar sin apenas intervencion durante largos perıodos

de tiempo.

El mpc presenta una serie de ventajas sobre otros metodos, entre las que destacan:

Resulta particularmente atractivo para personal sin un conocimiento profundo

de control, puesto que los conceptos resultan muy intuitivos, a la vez que la

sintonizacion es relativamente facil.

Puede ser usado para controlar una gran variedad de procesos, desde aquellos con

dinamica relativamente simple hasta otros mas complejos incluyendo sistemas con

grandes retardos, de fase no mınima o inestables.

Permite tratar con facilidad el caso multivariable.

Posee intrınsecamente compensacion del retardo.

Resulta conceptualmente simple la extension al tratamiento de restricciones, que

pueden ser incluidas de forma sistematica durante el proceso de diseno.

Es muy util cuando se conocen las futuras referencias (robotica o procesos en

batch).

Es una metodologıa completamente abierta basada en algunos principios basicos

que permite futuras extensiones.

Pero, logicamente, tambien presenta inconvenientes. Unos de ellos es la carga de

calculo necesaria para la resolucion de algunos algoritmos. Pero quizas el mayor in-

conveniente venga marcado por la necesidad de disponer de un modelo apropiado del

proceso. El algoritmo de diseno esta basado en el conocimiento previo del modelo y es

independiente de este, pero resulta evidente que las prestaciones obtenidas dependeran

de las discrepancias existentes entre el proceso real y el modelo usado.

8.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 8.1:

Page 134: Apuntes ic4

120 ESTRATEGIA DE LOS CONTROLADORES PREDICTIVOS

N

y(t+k|t)^

u(t+k|t)

t t+1t-1 . . . t+N. . . t+k

y(t)

u(t)

Figura 8.1: Estrategia del Control Predictivo

1. En cada instante t y haciendo uso del modelo del proceso se predicen las futuras

salidas para un determinado horizonte N , llamado horizonte de prediccion. Estas

salidas predichas, y(t+k | t)1 para k = 1 . . . N dependen de los valores conocidos

hasta el instante t (entradas y salidas pasadas) y de las senales de control futuras

u(t + k | t), k = 0 . . . N − 1 que se pretenden mandar al sistema y que son las

que se quieren calcular.

2. El conjunto de senales de control futuras se calcula optimizando un determinado

criterio en el que se pretende mantener el proceso lo mas proximo posible a la

trayectoria de referencia w(t + k) (que puede ser directamente el setpoint o una

suave aproximacion a este). Este criterio suele tomar la forma de una funcion

cuadratica de los errores entre la salida predicha y la trayectoria de referencia

tambien predicha, incluyendo en muchos casos el esfuerzo de control. Si el criterio

es cuadratico, el modelo lineal y no existen restricciones se puede obtener una

solucion explıcita, en otro caso se debe usar un metodo iterativo de optimizacion.

Adicionalmente se hace alguna suposicion sobre la estructura de la ley de control

futura, como por ejemplo que va a ser constante a partir de cierto instante.

3. La senal de control u(t | t) es enviada al proceso mientras que las siguientes

senales de control calculadas son desechadas, puesto que en el siguiente instante

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

1la notacion indica el valor de la variable en el instante t + k calculado en el instante t.

Page 135: Apuntes ic4

CAPITULO 8. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 121

+

-

futuros

Entradas y salidas

Funcion de coste Restricciones

Errores futuros

pasadas

Controles

de referenciaTrayectoria

predichasSalidas

Optimizador

Modelo

Figura 8.2: Estructura basica del MPC

principio sera diferente al u(t+1 | t) al disponer de nueva informacion), haciendo

uso del concepto de horizonte deslizante.

Para llevar a cabo esta estrategia, se usa una estructura como la mostrada en la

figura 8.2. Se hace uso de un modelo para predecir las salidas futuras del proceso,

basandose en las futuras senales de control propuestas. Estas senales son calculadas

por el optimizador teniendo en cuenta la funcion de coste (donde aparece el futuro

error de seguimiento) ası como las restricciones. Por tanto el modelo juega un papel

decisivo en el controlador. El modelo elegido debe ser capaz de capturar la dinamica del

proceso para poder predecir las salidas futuras al mismo tiempo que debe ser sencillo

de usar y de comprender.

El optimizador es otra parte fundamental de la estrategia pues proporciona las

acciones de control. Si la funcion de coste es cuadratica, el mınimo se puede obtener

como una funcion explıcita de las entradas y salidas pasadas y de la trayectoria de

referencia. Sin embargo, cuando existen restricciones de desigualdad la solucion debe

ser calculada por metodos numericos con mas carga de calculo.

8.4. Elementos basicos

Todos los controladores predictivos poseen elementos comunes y para cada uno de

estos elementos se pueden elegir diversas opciones, dando lugar a distintos algoritmos.

Page 136: Apuntes ic4

122 ELEMENTOS BASICOS

Estos elementos son:

Modelo de prediccion

Funcion objetivo

Obtencion de la ley de control

8.4.1. Modelo de prediccion

La piedra angular del mpc es el modelo; un diseno completo debe incluir los mecan-

ismos necesarios para la obtencion del mejor modelo posible, el cual debe ser lo sufi-

cientemente rico para capturar al maximo la dinamica del proceso y debe ser capaz de

permitir el calculo de las predicciones a la vez que sea intuitivo y permita un analisis

teorico. El uso del modelo del proceso viene determinado por la necesidad del calcu-

lo de la salida predicha en instantes futuros y(t + k | t). Las diferentes estrategias

de mpc pueden usar distintos modelos para representar la relacion de las salidas con

las entradas medibles, algunas de las cuales seran variables manipuladas y otras se

pueden considerar como perturbaciones medibles, que pueden ser compensadas por ac-

cion feedforward. Ademas se tendra en cuenta un modelo de las perturbaciones, para

intentar describir el comportamiento que no aparece reflejado en el modelo del proce-

so, englobandose aquı el efecto de las entradas no medibles, el ruido y los errores de

modelado.

Para el estudio se puede separar el modelo en dos partes: el modelo del proceso

propiamente dicho y el modelo de las perturbaciones. Cualquier metodo usara ambas

partes para la prediccion.

Modelo del Proceso

Casi todas las formas posibles de modelar un proceso aparecen en alguna formu-

lacion de mpc siendo las mas usadas las siguientes:

Respuesta impulsional. Tambien conocida por secuencia de ponderacion o modelo

de convolucion. La salida viene relacionada con la entrada por la ecuacion

y(t) =∞∑

i=1

hiu(t − i)

Page 137: Apuntes ic4

CAPITULO 8. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 123

t t+1 t+2 . . . t+N t t+1 t+2 . . . t+N

y(t) y(t)h

h

h

h g

g g

1 i

i N

2

N

g 1

2

a) b)

Figura 8.3: Respuesta impulsional y ante escalon

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 8.3a). Esta suma

es truncada y solo se consideran N valores (por tanto solo permite representar

procesos estables y sin integradores), teniendo

y(t) =N∑

i=1

hiu(t − i) = H(z−1)u(t) (8.1)

donde H(z−1) = h1z−1 + h2z

−2 + · · ·+ hNz−N . Un inconveniente de este metodo

es el gran numero de parametros que necesita, ya que N suele ser un valor elevado

(del orden de 40-50). La prediccion vendra dada por:

y(t + k | t) =N∑

i=1

hiu(t + k − i | t) = H(z−1)u(t + k | t)

Este metodo es ampliamente aceptado en la practica industrial debido a que

es muy intuitivo y no requiere informacion previa sobre el proceso, con lo que

el procedimiento de identificacion se simplifica, a la vez que permite describir

facilmente dinamicas complejas como fase no mınima o retardos.

Respuesta ante escalon. Es muy similar al anterior solo que ahora la senal de

entrada es un escalon. Para sistemas estables se tiene la respuesta truncada que

sera

y(t) = y0 +N∑

i=1

gi 4 u(t − i) = y0 + G(z−1)(1 − z−1)u(t) (8.2)

Page 138: Apuntes ic4

124 ELEMENTOS BASICOS

donde las gi son los valores muestreados ante la entrada en escalon y 4u(t) =

u(t) − u(t − 1), segun se muestra en la figura 8.3b. El valor de y0 puede tomarse

0 sin perdida de generalidad, con lo cual el predictor sera:

y(t + k | t) =N∑

i=1

gi 4 u(t + k − i | t)

Este metodo presenta las mismas ventajas e inconvenientes que el anterior.

Funcion de transferencia. Se utiliza el concepto de funcion de transferencia G =

B/A con lo que la salida viene dada por:

A(z−1)y(t) = B(z−1)u(t)

A(z−1) = 1 + a1z−1 + a2z

−2 + · · · + anaz−na

B(z−1) = b1z−1 + b2z

−2 + · · · + bnbz−nb

Por tanto la prediccion vendra dada por

y(t + k | t) =B(z−1)

A(z−1)u(t + k | k)

Esta representacion es valida tambien para procesos inestables y posee la ventaja

de necesitar pocos parametros, aunque es fundamental un conocimiento a priori

del proceso sobre todo en cuanto al orden de los polinomios A y B.

Espacio de estados. Tiene la siguiente representacion:

x(t) = Ax(t − 1) + Bu(t − 1)

y(t) = Cx(t)

siendo x el estado y A, B y C las matrices del sistema, de entrada y de salida

respectivamente. Para este modelo la prediccion viene dada por

y(t + k | t) = Cx(t + k | t) = C[Akx(t) +k∑

i=1

Ai−1Bu(t + k − i | t)]

Posee la ventaja de que sirve tambien para sistemas multivariables a la vez que

permite analizar la estructura interna del proceso (aunque a veces los estados

obtenidos al discretizar no tienen ningun significado fısico). Los calculos pueden

ser complicados, con la necesidad adicional de incluir un observador si los estados

no son accesibles.

Page 139: Apuntes ic4

CAPITULO 8. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 125

Modelo de las perturbaciones

De tanta importancia como la eleccion de un determinado modelo del proceso es la

eleccion del modelo utilizado para representar la perturbaciones. Un modelo bastante

extendido es el Autorregresivo Integrado de Media Movil (Auto-Regressive and Inte-

grated Moving Average, arima), en el que las perturbaciones, es decir, las diferencias

entre la salida medida y la calculada por el modelo vienen dadas por

n(t) =C(z−1)e(t)

D(z−1)

donde el polinomio D(z−1) incluye explıcitamente el integrador 4 = 1−z−1, e(t) es un

ruido de media cero y normalmente el polinomio C se considera igual a uno. Este modelo

se considera apropiado para dos tipos de perturbaciones: cambios aleatorios ocurridos

en instantes aleatorios (por ejemplo cambio en la calidad del material) y movimiento

browniano (en procesos con balance de energıa) y es usado en varios metodos. Notese

que al incluir un integrador se consigue un control con error nulo en regimen permanente

(offset-free).

Como caso particular del arima se puede incluir la perturbacion constante

n(t) =e(t)

1 − z−1

cuya mejor prediccion sera n(t + k | t) = n(t).

8.4.1.1. Respuestas libre y forzada

Una caracterıstica tıpica de la mayorıa de los controladores mpc es el empleo de los

conceptos de repuesta libre y forzada. La idea es expresar la secuencia de acciones de

control como la suma de dos senales:

u(t) = uf (t) + uc(t)

La senal uf (t) corresponde a las entradas pasadas (anteriores al instante t) y en el

futuro se mantiene constante e igual al ultimo valor de la variable manipulada. Es

decir,

uf (t − j) = u(t − j) para j = 1, 2, · · ·

uf (t + j) = u(t − 1) para j = 0, 1, 2, · · ·

Page 140: Apuntes ic4

126 ELEMENTOS BASICOS

La senal uc(t) vale cero en el pasado y corresponde a las senales de control en los

instantes futuros:

uc(t − j) = 0 para j = 1, 2, · · ·

uc(t + j) = u(t + j) − u(t − 1) para j = 0, 1, 2, · · ·

La prediccion de la secuencia se salida se separa en dos partes, como se ve en

la figura 8.4. Una de ellas (yf (t)), la respuesta libre, corresponde a la prediccion de

la salida cuando la variable manipulada se hace igual a uf (t), y la otra, la repuesta

forzada (yc(t)), corresponde a la prediccion de la salida cuando la senal de control es

uc(t). La respuesta libre corresponde a la evolucion del proceso debido a su estado

actual (incluido por tanto el efecto de acciones pasadas) mientras que la respuesta

forzada es la debida a las acciones de control futuras.

t

uc

t

uf

u

t

t

yf

t

y

t

yc

Process

Figura 8.4: Respuestas libre y forzada

8.4.2. Funcion objetivo

Los diversos algoritmos de mpc proponen distintas funciones de coste para la ob-

tencion de la ley de control. En general se persigue que la salida futura en el horizonte

considerado siga a una determinada senal de referencia al mismo tiempo que se puede

penalizar el esfuerzo de control requerido para hacerlo. La expresion general de tal

funcion objetivo sera:

J(N1, N2, Nu) =

N2∑

j=N1

δ(j)[y(t + j | t) − w(t + j)]2 +Nu∑

j=1

λ(j)[4u(t + j − 1)]2 (8.3)

En algunos metodos el segundo sumando, que considera el esfuerzo de control, no

Page 141: Apuntes ic4

CAPITULO 8. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 127

se tiene en cuenta, mientras que en otros tambien aparecen directamente los valores de

la senal de control (no sus incrementos). En la funcion de coste se pueden considerar:

Parametros: N1 y N2 son los horizontes mınimo y maximo de coste (o de predic-

cion) y Nu es el horizonte de control, que no tiene por que coincidir con el

horizonte maximo, como se vera posteriormente. El significado de N1 y N2 re-

sulta bastante intuitivo: marcan los lımites de los instantes en que se desea que

la salida siga a la referencia. Ası, si se toma un valor grande de N1 es porque

no importa que haya errores en los primeros instantes, lo cual provocara una re-

spuesta suave del proceso. Notese que para procesos con tiempo muerto d no tiene

sentido que N1 sea menor que dicho valor puesto que la salida no empezara a

evolucionar hasta el instante t + d. Ademas, si el proceso es de fase no mınima,

este parametro permite eliminar de la funcion objetivo los primeros instantes de

respuesta inversa.

Los coeficientes δ(j) y λ(j) son secuencias que ponderan el comportamiento fu-

turo. Usualmente se consideran valores constantes o secuencias exponenciales. Por

ejemplo se puede conseguir un peso exponencial de δ(j) a lo largo del horizonte

usando:

δ(j) = αN2−j

Si α esta comprendido entre 0 y 1 indica que se penaliza mas a los errores mas

alejados del instante t que a los mas proximos, dando lugar a un control mas

suave y con menor esfuerzo. Si, por el contrario, α > 1 es que se penalizan mas

los primeros errores, provocando un control mas brusco.

Todos estos valores pueden ser usados como parametros de sintonizacion, obte-

niendo un abanico muy amplio de posibilidades con las que se puede cubrir una ex-

tensa gama de opciones, desde un control estandar hasta una estrategia disenada

a medida para un proceso en particular.

Trayectoria de referencia: Una de las ventajas del control predictivo es que si se

conoce a priori la evolucion futura de la referencia, el sistema puede empezar

a reaccionar antes de que el cambio se haya efectivamente realizado, evitando

los efectos del retardo en la respuesta del proceso. En muchas aplicaciones la

evolucion futura de la referencia r(t + k) es conocida de antemano, como en

Robotica, servos o procesos en batch; en otras aplicaciones aunque la referencia sea

constante, se puede conseguir una sensible mejora de prestaciones simplemente

conociendo el instante de cambio de valor y adelantandose a esa circunstancia.

En el criterio de minimizacion (8.3), la mayorıa de los metodos suelen usar una

trayectoria de referencia w(t + k) que no tiene por que coincidir con la referencia

real. Normalmente sera una suave aproximacion desde el valor actual de la salida

Page 142: Apuntes ic4

128 ELEMENTOS BASICOS

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 (8.4)

α es un parametro comprendido entre 0 y 1 (mientras mas proximo a 1 mas

suave sera la aproximacion) que constituye un valor ajustable que influira en

la respuesta dinamica del sistema. En la figura 8.5 se muestra la forma de la

trayectoria cuando la referencia r(t + k) es constante y para dos valores distintos

de α; para valores pequenos de este parametro se tiene un seguimiento rapido

(w1) mientras que si aumenta, la trayectoria de referencia sera w2 dando lugar a

una respuesta mas suave.

y(t)

r(t+k)

w (t+k) w (t+k)

t

12

Figura 8.5: Trayectoria de referencia

Restricciones: En la practica, todos los procesos estan sujetos a restricciones. Los

actuadores tienen un campo limitado de accion ası como una determinada veloci-

dad de cambio (slew rate), como es el caso de las valvulas, limitadas por las posi-

ciones de totalmente abierta o cerrada y por la velocidad de respuesta. Razones

constructivas, de seguridad o medioambientales o bien los propios alcances de los

sensores pueden causar lımites en las variables de proceso, tales como niveles en

depositos, caudales en tuberıas o temperaturas y presiones maximas. Ademas,

normalmente las condiciones de operacion vienen definidas por la interseccion

de ciertas restricciones por motivos fundamentalmente economicos, con lo que el

sistema de control operara cerca de los lımites. Todo lo expuesto anteriormente

hace necesaria la introduccion de restricciones en la funcion a minimizar.

Muchos algoritmos predictivos tienen en cuenta el tema de las restricciones por lo

cual han tenido gran exito en la industria. Normalmente se consideraran lımites

en la amplitud y el slew rate de la senal de control y lımites en las salidas:

umin ≤ u(t) ≤ umax ∀t

Page 143: Apuntes ic4

CAPITULO 8. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 129

dumin ≤ u(t) − u(t − 1) ≤ dumax ∀t

ymin ≤ y(t) ≤ ymax ∀t

con la adicion de estas restricciones a la funcion objetivo, la minimizacion resulta

mas compleja, no pudiendo obtenerse la solucion analıticamente como en el caso

sin restringir.

8.4.3. Obtencion de la ley de control

Para obtener los valores u(t + k | t) sera necesario minimizar la funcional J de la

ecuacion (8.3). Para ello se calculan los valores de las salidas predichas y(t + k | t)

en funcion de valores pasados de entradas y salidas y de senales de control futuras,

haciendo uso del modelo que se haya elegido y se sustituyen en la funcion de coste,

obteniendo una expresion cuya minimizacion conduce a los valores buscados. Para el

criterio cuadratico si el modelo es lineal y no existen restricciones se puede obtener una

solucion analıtica, en otro caso se debe usar un metodo iterativo de optimizacion.

De cualquiera de las maneras la obtencion de la solucion no resulta trivial pues

existiran N2 −N1 + 1 variables independientes, valor que puede ser elevado (del orden

de 10 a 30). Con la idea de reducir estos grados de libertad se puede proponer cierta

estructura a la ley de control. Ademas se ha encontrado que esta estructuracion de

la ley de control produce una mejora en la robustez y en el comportamiento general

del sistema, debido fundamentalmente a que el hecho de permitir la libre evolucion de

las variables manipuladas (sin estructurar) puede conducir a senales de control de alta

frecuencia no deseables y que en el peor de los casos podrıan conducir a la inestabilidad.

Esta estructura de la ley de control se plasma en el uso del concepto de horizonte

de control (Nu), que consiste en considerar que tras un cierto intervalo Nu < N2 no

hay variacion en las senales de control propuestas, es decir:

4u(t + j − 1) = 0 j > Nu

lo cual es equivalente a dar pesos infinitos a las cambios en el control a partir de cierto

instante. El caso lımite serıa considerar Nu igual a 1 con lo que todas las acciones

futuras serıan iguales a u(t)2.

2Recuerdese que debido al horizonte deslizante, la senal de control se recalcula en el siguiente

muestreo.

Page 144: Apuntes ic4

130 REVISION DE LOS PRINCIPALES ALGORITMOS

8.5. Revision de los principales algoritmos

Se presentan a continuacion los principales algoritmos de control predictivo, mostran-

do sus principales caracterısticas pero sin entrar en detalles. En el tema siguiente se

estudiaran en detalle los dos metodos considerados mas representativos: dmc y gpc.

8.5.0.1. Dynamic Matrix Control

Este metodo usa la respuesta ante escalon (8.2) para modelar el proceso, consideran-

do solo los N primeros terminos, asumiendo por tanto que el proceso es estable. En

cuanto a las perturbaciones, se considera que su valor permanence constante e igual al

existente en el instante actual durante todo el horizonte, es decir, igual al valor medido

de la salida (ym) menos el estimado por el modelo y(t | t)).

n(t + k | t) = n(t | t) = ym(t) − y(t | t)

y por tanto el valor predicho de la salida sera:

y(t + k | t) =k∑

i=1

gi 4 u(t + k − i) +N∑

i=k+1

gi 4 u(t + k − i) + n(t + k | t)

donde el primer termino contiene las acciones de control futuras (que seran calculadas),

el segundo los valores pasados de las acciones de control (conocidas) y el ultimo rep-

resenta las perturbaciones. La funcion de coste puede considerar solo errores futuros o

incluir tambien el esfuerzo de control, en cuyo caso toma la forma generica (8.3).

Una de las caracterısticas de este metodo que lo ha hecho muy popular en la in-

dustria es la inclusion de restricciones, que se traduce en inecuaciones de la forma

generica:

N∑

i=1

Cjyiy(t + k | t) + Cj

uiu(t + k − i) + cj ≤ 0 j = 1 . . . Nc

En este caso la optimizacion debe ser numerica y se lleva a cabo en cada periodo de

muestreo, enviandose la senal u(t) y recalculando todo en el nuevo periodo de muestreo,

como en todos los metodos mpc. Los principales inconvenientes de este metodo son el

tamano del modelo empleado y la imposibilidad de tratar procesos inestables.

Page 145: Apuntes ic4

CAPITULO 8. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 131

8.5.0.2. Model Algorithmic Control

Este metodo se conoce tambien como Model Predictive Heuristic Control y el pro-

ducto comercial se llama idcom (Identification-Command). Es muy similar al dmc con

la diferencia principal de usar un modelo de respuesta impulsional (8.1). Introduce el

concepto de trayectoria de referencia como un sistema de primer orden que evoluciona

desde la salida actual al setpoint segun una determinada constante de tiempo. La var-

ianza del error entre esta trayectoria y la salida es lo que marca la minimizacion de la

funcion objetivo. Las perturbaciones se pueden tratar como en el metodo anterior o se

pueden estimar segun la siguiente expresion:

n(t + k | t) = αn(t + k − 1 | t) + (1 − α)(ym(t) − y(t | t))

con n(t | t) = 0. α es un parametro ajustable (0 ≤ α < 1) relacionado con el tiempo

de respuesta, el ancho de banda y la robustez del bucle cerrado. El metodo tambien

considera restricciones en los actuadores, en las variables internas o en salidas secun-

darias.

8.5.0.3. Predictive Functional Control

Este controlador fue desarrollado por Richalet para procesos rapidos. Emplea un

modelo en el espacio de estados, por lo que permite el manejo de procesos inestables,

y tambien la extension al caso no lineal. Este esquema de control tiene dos carac-

terısticas que lo distinguen del resto de controladores de la familia: el uso de puntos de

coincidencia y de funciones base.

El concepto de puntos de coincidencia (ver figura 8.6) se emplea para simplificar los

calculos considerando solo un subconjunto de puntos en el horizonte de prediccion hj,

j = 1, . . . , nH . La salida deseada y la predicha deben coincidir en dichos puntos, no en

todo el horizonte de prediccion.

La otra idea innovadora de este metodo es la parametrizacion de la senal de con-

trol como una combinacion lineal de ciertas funciones base, que son elegidas segun la

naturaleza del proceso y la referencia:

u(t + k) =

nB∑

i=1

µi(t)Bi(k)

Normalmente estas funciones son de tipo polinomico: escalones (B1(k) = 1), rampas

(B2(k) = k) o parabolas (B3(k) = k2), ya que la mayorıa de referencias se pueden es-

pecificar como combinacion de estas funciones. Con esta estrategia, un perfil de entrada

Page 146: Apuntes ic4

132 REVISION DE LOS PRINCIPALES ALGORITMOS

Puntos de coincidencia

Figura 8.6: Puntos de coincidencia

complejo se puede especificar usando un pequeno numero de parametros desconocidos

µi que son las incognitas del problema de minimizacion.

La funcion a minimizar es:

J =

nH∑

j=1

[y(t + hj) − w(t + hj)]2

El algoritmo pfc tambien puede manejar restricciones de maximo y mınimo en la

aceleracion, que son practicas en aplicaciones de servocontrol.

8.5.0.4. Extended Prediction Self Adaptive Control

El algoritmo epsac usa un modelo de funcion de transferencia

A(z−1)y(t) = B(z−1)u(t − d) + v(t)

donde d es el retardo y v(t) la perturbacion. Este modelo puede ampliarse para tratar

perturbaciones medibles anadiendo un termino D(z−1)d(t) para incluir efecto feedfor-

ward. La estructura de la ley de control es muy simple, ya que se considera que la senal

de control permanecera constante a partir del instante t (es decir, horizonte de control

igual a 1): 4u(t+k) = 0 para k > 0. Para obtener la senal de control de minimiza una

funcion de coste de la forma:

N∑

k=d

γ(k)[w(t + k) − P (z−1)y(t + k | t)]2

Page 147: Apuntes ic4

CAPITULO 8. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 133

donde P (z−1) es un polinomio de diseno con ganancia unitaria y γ(k) es una secuencia

de ponderacion. La senal de control se puede calcular analıticamente de la forma:

u(t) =

N∑

k=d

hkγ(k)[w(t + k) − P (z−1)y(t + k | t)]

N∑

k=d

γ(k)h2k

siendo hk los coeficientes de la respuesta impulsional del sistema.

8.5.0.5. Extended Horizon Adaptive Control

Esta formulacion tambien emplea un modelo de funcion de transferencia y pretende

minimizar la discrepancia entre la salida calculada y la referencia en el instante t + N :

y(t + N | t)−w(t + N), con N ≥ d. La solucion a este problema no es unica (a menos

que N = d); una posible estrategia es considerar horizonte de control igual a 1:

4u(t + k − 1) = 0 1 < k ≤ N − d

o minimizar el esfuerzo de control

J =N−d∑

k=0

u2(t + k)

Este metodo utiliza un predictor de N pasos de la forma

y(t + N | t) = y(t) + F (z−1) 4 y(t) + E(z−1)B(z−1) 4 u(t + N − d)

donde E(z−1) y F (z−1) son polinomios que satisfacen la relacion

(1 − z−1) = A(z−1)E(z−1)(1 − z−1) + z−NF (z−1)(1 − z−1)

con el grado de E igual a N −1. Una ventaja de este metodo es que se puede encontrar

facilmente una solucion explıcita, dada por

u(t) = u(t − 1) +α0(w(t + N) − y(t + N | t))

N−d∑

k=0

α2i

siendo αk el coeficiente correspondiente a 4u(t + k) en la ecuacion de prediccion. Por

tanto la ley de control depende solo de los parametros del proceso y puede hacerse

facilmente adaptativa si se emplea un identificador en lınea. El unico coeficiente de

ajuste es el horizonte de prediccion N , lo cual simplifica el uso pero proporciona poca

libertad para el diseno. Observese que no puede usarse trayectoria de referencia porque

el error se considera solo en un instante (t+N), ni tampoco la ponderacion del esfuerzo

de control.

Page 148: Apuntes ic4

134 REVISION DE LOS PRINCIPALES ALGORITMOS

8.5.0.6. Generalized Predictive Control

Este metodo propuesto por Clarke et al. emplea un modelo carima (Controlled

Auto-Regressive Integrated Moving Average) para la prediccion de la salida:

A(z−1)y(t) = B(z−1)z−d u(t − 1) + C(z−1)e(t)

4

donde la perturbacion viene dada por un ruido blanco coloreado por el polinomio

C(z−1). Como en la practica es difıcil encontrar el verdadero valor de este polinomio,

se puede emplear como parametro de diseno para rechazo de perturbaciones o mejora de

la robustez. La prediccion optima se lleva a cabo resolviendo una ecuacion diofantica,

lo cual puede hacerse eficazmente de forma recursiva.

Este algoritmo, al igual que otros que usan el modelo de funcion de transferencia,

se puede implementar facilmente en forma adaptativa usando un algoritmo de identi-

ficacion en lınea como los mınimos cuadrados recursivos.

gpc usa una funcion de coste cuadratica de la forma

J(N1, N2, Nu) =

N2∑

j=N1

δ(j)[y(t + j | t) − w(t + j)]2 +Nu∑

j=1

λ(j)[4u(t + j − 1)]2

donde las secuencia de ponderacion δ(j) y λ(j) se eligen normalmente constantes o

exponenciales y la trayectoria de referencia w(t+j) se puede generar como una secuencia

que empieza en el valor actual de la salida y tiende exponencialmente al setpoint.

Las bases teoricas del algoritmo gpc has sido ampliamente estudiadas y se puede

demostrar que, para distintos conjuntos de parametros, el algoritmo es estable y que

otros controladores como por ejemplo el dead beat son casos incluidos en este.

Page 149: Apuntes ic4

Capıtulo 9

Controladores predictivos

9.1. Dynamic Matrix Control

El metodo Dmc se desarrollo a finales de los setenta por Cutler y Ramaker de Shell

Oil Co. y ha sido aceptado ampliamente en el mundo industrial, principalmente por

las industrias petroquımicas. Actualmente dmc es algo mas que un algoritmo y parte

de su exito se debe al hecho de que el producto comercial resuelve otros temas como

identificacion u optimizacion global de la planta. En esta seccion solo se analiza el

algoritmo standard sin abordar detalles tecnicos propios del producto de mercado que

no son de dominio publico.

Pero a pesar de este exito en la practica, este metodo adolece quizas de la ausencia

de un analisis teorico mas completo que estudie la influencia de los parametros de

diseno (horizontes, secuencias de ponderacion) sobre la estabilidad del bucle cerrado

ası como de resultados de robustez.

9.1.1. Prediccion

El modelo de proceso que se emplea es el de respuesta temporal, considerando la

perturbacion como constante a lo largo del horizonte. El procedimiento para obtener

la prediccion se describe a continuacion.

135

Page 150: Apuntes ic4

136 DYNAMIC MATRIX CONTROL

Como se emplea un modelo de respuesta ante escalon:

y(t) =∞∑

i=1

gi 4 u(t − i)

los valores predichos a lo largo del horizonte seran:

y(t + k | t) =∞∑

i=1

gi 4 u(t + k − i) + n(t + k | t) =

=k∑

i=1

gi 4 u(t + k − i) +∞∑

i=k+1

gi 4 u(t + k − i) + n(t + k | t)

Las perturbaciones se consideran constantes, n(t+k | t) = n(t | t) = ym(t)− y(t | t),

por lo que se puede escribir:

y(t + k | t) =k∑

i=1

gi 4 u(t + k − i) +∞∑

i=k+1

gi 4 u(t + k − i) + ym(t) −

−∞∑

i=1

gi 4 u(t − i) =k∑

i=1

gi 4 u(t + k − i) + f(t + k)

donde f(t + k) es la respuesta libre del proceso, es decir, la parte de la respuesta que

no depende de las acciones de control futuras, y viene dada por:

f(t + k) = ym(t) +∞∑

i=1

(gk+i − gi) 4 u(t − i) (9.1)

Si el proceso es asintoticamente estable, los coeficientes gi de la respuesta ante

escalon tienden a un valor constante despues de N periodos de muestreo, por lo que se

puede considerar que

gk+i − gi ≈ 0, i > N

y por tanto la respuesta libre se puede calcular como

f(t + k) = ym(t) +N∑

i=1

(gk+i − gi) 4 u(t − i)

Notese que si el proceso no es estable, entonces no existe N y no se puede calcu-

lar f(t + k) (aunque existe una generalizacion en el caso de que la inestabilidad sea

producida por integradores puros).

Page 151: Apuntes ic4

CAPITULO 9. CONTROLADORES PREDICTIVOS 137

Ahora las predicciones se pueden calcular a lo largo del horizonte de prediccion

(k = 1, . . . , p), considerando m acciones de control.

y(t + 1 | t) = g1 4 u(t) + f(t + 1)

y(t + 2 | t) = g2 4 u(t) + g1 4 u(t + 1) + f(t + 2)...

y(t + p | t) =

p∑

i=p−m+1

gi 4 u(t + p − i) + f(t + p)

Si se define la matriz dinamica G como:

G =

g1 0 · · · 0

g2 g1 · · · 0...

.... . .

...

gm gm−1 · · · g1

......

. . ....

gp gp−1 · · · gp−m+1

se puede escribir que:

y = Gu + f (9.2)

Observese que G esta formada por m (horizonte de control) columnas de la respuesta

ante escalon apropiadamente desplazadas hacia abajo. y es un vector de dimension p

que contiene las predicciones de la salida, u representa el vector de incrementos de

control y f es el vector de respuestas libres. Esta es la expresion que relaciona las

respuestas futuras con los incrementos en las senales de control, por lo que usara para

calcular las acciones necesarias para conseguir el comportamiento deseado del sistema.

9.1.2. Perturbaciones medibles

El efecto de las perturbaciones medibles se puede anadir facilmente a las anteriores

ecuaciones de prediccion, ya que estas se pueden tratar como entradas al sistema. La

expresion (9.2) se puede usar para calcular la prediccion del efecto de las perturbaciones

en la salida de la siguiente forma:

yd = Dd + fd

Page 152: Apuntes ic4

138 DYNAMIC MATRIX CONTROL

donde yd es la contribucion de las perturbaciones medibles a la salida, D es una matriz

similar a G que contiene los coeficientes de la respuesta del sistema a un escalon en la

perturbacion, d es el vector de incrementos en la perturbacion y fd es la parte de la

respuesta que no depende de la perturbacion.

En el caso mas general de perturbaciones medibles y no medibles, la respuesta libre

completa del sistema (la fraccion de la salida que no depende de la variable manipulada)

se puede considerar como la suma de cuatro efectos: la respuesta a la entrada u(t), a la

perturbacion medible d(t), a la perturbacion no medible y al estado actual del proceso:

f = fu + Dd + fd + fn

Por tanto la prediccion se puede expresar en la forma general

y = Gu + f

9.1.3. Algoritmo de control

El exito en la industria del dmc se ha debido principalmente a su aplicacion a

sistemas multivariables de gran dimension con la consideracion de restricciones. En

esta seccion se describe el algoritmo de control comenzando por el caso mas simple

de un sistema monovariable sin restricciones y extendiendolo posteriormente al caso

general multivariable con restricciones.

El objetivo del controlador dmc es llevar el proceso los mas cerca posible al setpoint

en el sentido de mınimos cuadrados con la posibilidad de incluir una penalizacion en los

movimientos de la senal de control. Por ello se seleccionan las variables manipuladas de

forma que minimicen un objetivo cuadratico que puede incluir solo los errores futuros

J =

p∑

j=1

[y(t + j | t) − w(t + j)]2

o tambien el esfuerzo de control, presentando la forma generica

J =

p∑

j=1

[y(t + j | t) − w(t + j)]2 +m∑

j=1

λ[4u(t + j − 1)]2

Si no existen restricciones, la minimizacion de la funcion de coste J = eeT + λuuT ,

donde e es el vector de errores futuros a lo largo del horizonte de prediccion y u es el

Page 153: Apuntes ic4

CAPITULO 9. CONTROLADORES PREDICTIVOS 139

w

f

+

Ku

Procesoy

-

CalculoResp. libre

Figura 9.1: Ley de control

vector de futuros incrementos en la senal de control 4u(t), . . . ,4u(t + m), se puede

hacer de forma analıtica calculando la derivada de J y haciendola igual a 0, lo que

proporciona el resultado general:

u = (GT G + λI)−1GT (w − f) (9.3)

Recuerdese que, como en todas las estrategias predictivas, solo se envıa al proceso

el primer elemento del vector u (4u(t)). No es aconsejable implementar la secuencia

completa sobre los siguientes m intervalos, ya que al ser imposible estimar de forma

exacta las perturbaciones, no es posible anticiparse a las perturbaciones inevitables que

provocan que la salida real difiera de las predicciones que se emplean para calcular la

secuencia futura de acciones de control. Ademas, el setpoint puede cambiar durante los

proximos m intervalos.

Resulta interesante analizar en que consiste realmente la ley de control. Analizan-

do la expresion 9.3 se observa que el primer elemento del vector u, que es la senal

que efectivamente se envıa a la planta, es el producto de la primera fila de la matriz

(GT G+λI)−1GT (llamemosle K) por la diferencia entre la trayectoria de referencia y la

respuesta libre, que es el error futuro si no hubiera incrementos en la senal de control.

Se puede decir por tanto que el incremento de la senal de control es proporcional (por

medio de K) a los errores futuros y por tanto habra cambios en la senal de control

siempre que el controlador detecte que va a haber una discrepancia en el futuro entre el

objetivo deseado y el comportamiento esperado del sistema. Esta idea queda reflejada

en la figura 9.1.

Page 154: Apuntes ic4

140 DYNAMIC MATRIX CONTROL

zona

P. operacionoptimo

segura 2

Zona segura 1

Punto operacion 1

Punto operacion 2

Restriccion

Restriccion

Figura 9.2: Punto de operacion optimo de un proceso tıpico

9.1.3.1. El caso con restricciones

Aunque computacionalmente mas complicado que otros algoritmos mas simples, la

capacidad de manejar restricciones que posee este metodo (y mpc en general) lo hace

muy atractivo para aplicaciones practicas, ya que en general el punto de operacion

optimo segun criterios economicos se encuentra normalmente en la interseccion de las

restricciones, como se muestra en la figura 9.2. Por razones de seguridad, es necesario

mantener una zona segura alrededor del punto de operacion, ya que el efecto de las

perturbaciones puede hacer que la salida del proceso viole las restricciones. Esta zona

se puede reducir (y por tanto aumentar los beneficios economicos) si el controlador es

capaz de manejar restricciones (punto de operacion 1).

Las restricciones tanto en entrada como en salida se pueden reducir a desigualdades

de forma generica

N∑

i=1

Cjyiy(t + k | t) + Cj

uiu(t + k − i) + cj ≤ 0 j = 1 . . . Nc

que deben tenerse en cuenta para la minimizacion. Como se ha visto, las salidas se

pueden expresar en funcion del vector de incrementos de control a traves de la matriz

dinamica, por que las restricciones tanto en la entrada como en la salida se pueden

recoger en una desigualdad matricial de la forma Ru ≤ c, como se vera con mas

detalle en el tema dedicado a restricciones. Ahora la minimizacion es un problema de

Programacion Cuadratica qp, cuya solucion es numerica.

Todo lo relacionado con las restricciones sera abordado con mayor grado de detalle

en el tema dedicado a ello.

Page 155: Apuntes ic4

CAPITULO 9. CONTROLADORES PREDICTIVOS 141

9.1.3.2. Extension al caso multivariable

El esquema previo se puede extender facilmente al caso de sistemas con varias

entradas y varias salidas. Las ecuaciones basicas se mantienen igual a excepcion de que

las matrices y vectores cambian de dimension para poder incluir todas las entradas y

salidas.

Al tratarse de modelos lineales, se puede aplicar el principio de superposicion para

obtener el valor de las salidas ante las diversas entradas. Para ello se define el vector

de salidas futuras como:

y = [y1(t + 1 | t), . . . , y1(t + p1 | t), . . . , yny(t + 1 | t), . . . , yny(t + pny | t)]T

y el de senales de control de la forma:

u = [4u1(t), . . . ,4u1(t + m1 − 1), . . . ,4unu(t), . . . ,4unu(t + mnu − 1)]T

ası como la respuesta libre:

f = [f1(t + 1 | t), . . . , f1(t + p1 | t), . . . , fny(t + 1 | t), . . . , fny(t + pny | t)]T

teniendo en cuenta que la respuesta libre de la salida i depende tanto de valores pasados

de yi como de valores pasados de todas las senales de control.

Con estas definiciones, la ecuacion de prediccion es igual que en el caso monovariable

simplemente considerando que la matriz G toma la forma:

G =

G11 G12 · · · G1nu

G21 G22 · · · G2nu

......

. . ....

Gny1 Gny2 · · · Gnynu

Cada submatriz Gij contiene los coeficientes de la respuesta ante escalon i-esima

correspondiente a la entrada j-esima. El proceso de minimizacion es analogo solo que la

ponderacion tanto de los errores como de los esfuerzos de control se realiza con matrices

de peso.

9.2. Control Predictivo Generalizado

El Control Predictivo Generalizado gpc fue propuesto por Clarke et al. en 1987

y se ha convertido en uno de los metodos mas populares en el ambito del Control

Page 156: Apuntes ic4

142 CONTROL PREDICTIVO GENERALIZADO

Predictivo tanto en el mundo industrial como en el academico. Se ha empleado con

exito en numerosas aplicaciones industriales, mostrando buenas prestaciones a la vez

que un cierto grado de robustez respecto a sobreparametrizacion o retardos mal cono-

cidos. Puede resolver muchos problemas de control diferentes para un amplio campo de

procesos con un numero razonable de variables de diseno, que son especificadas por el

operario dependiendo del conocimiento previo del proceso y de los objetivos de control.

La idea basica del gpc es calcular una secuencia de futuras acciones de control

de tal forma que minimice una funcion de coste multipaso. El ındice a minimizar es

una funcion cuadratica que mide por un lado la distancia entre la salida predicha del

sistema y una cierta trayectoria de referencia hasta el horizonte de prediccion, y por

otro el esfuerzo de control necesario para obtener dicha salida.

El Control Predictivo Generalizado tiene muchas ideas en comun con otros con-

troladores predictivos previamente mencionados ya que esta basado en las mismas

ideas pero posee a su vez algunas diferencias. Como se vera mas adelante, es capaz de

proporcionar una solucion explıcita (en ausencia de restricciones), puede trabajar con

procesos inestables o de fase no mınima e incorpora el concepto de horizonte de control

ası como la consideracion en la funcion de coste de ponderacion de los incrementos en

las acciones de control. Las diversas posibilidades disponibles para el gpc conducen a

una gran variedad de objetivos de control comparado con otras realizaciones, algunas

de las cuales pueden ser consideradas como subconjuntos o casos lımites del gpc.

9.2.1. Formulacion del Control Predictivo Generalizado

La mayorıa de los procesos de una sola entrada y una sola salida (single-input single-

output, siso), al ser considerados en torno a un determinado punto de trabajo y tras

ser linealizados, pueden ser descritos de la siguiente forma:

A(z−1)y(t) = z−dB(z−1)u(t − 1) + C(z−1)e(t)

donde u(t) y y(t) son respectivamente la senal de control y la salida del proceso y e(t)

es un ruido blanco de media cero. A, B y C son los siguientes polinomios en el operador

de desplazamiento hacia atras z−1 :

A(z−1) = 1 + a1z−1 + a2z

−2 + ... + anaz−na

B(z−1) = b0 + b1z−1 + b2z

−2 + ... + bnbz−nb

C(z−1) = 1 + c1z−1 + a2z

−2 + ... + cncz−nc

donde d es el tiempo muerto del sistema.

Page 157: Apuntes ic4

CAPITULO 9. CONTROLADORES PREDICTIVOS 143

Este modelo es conocido como Autorregresivo de Media Movil (Controller Auto-

Regressive Moving-Average carma). En muchas aplicaciones industriales en las que

las perturbaciones son no-estacionarias resulta mas conveniente el uso de un modelo

carma integrado, dando lugar al carima, que viene descrito por:

A(z−1)y(t) = B(z−1)z−d u(t − 1) + C(z−1)e(t)

4con 4 = 1 − z−1 (9.4)

Por simplicidad, a partir de ahora el polinomio C se va a tomar igual a 1. Notese

que en el caso de que C−1 pueda ser truncado se puede absorber en A y B.

El algoritmo del Control Predictivo Generalizado consiste en aplicar una secuencia

de senales de control que minimice una funcion de coste de la forma:

J(N1, N2, Nu) =

N2∑

j=N1

δ(j)[y(t + j | t) − w(t + j)]2 +Nu∑

j=1

λ(j)[4u(t + j − 1)]2 (9.5)

donde y(t + j | t) es la prediccion optima j pasos hacia delante de la salida del proceso

con datos conocidos hasta el instante t, N1 y N2 son los horizontes mınimo y maximo

de coste, Nu es el horizonte de control y δ(j) y λ(j) son las secuencias de ponderacion

mientras que w(t+j) es la futura trayectoria de referencia, que se puede calcular segun

se muestra en la figura 8.5. En muchas situaciones se considera δ(j) igual a 1 y λ(j)

constante.

El objetivo es pues el calculo de la futura secuencia de control u(t), u(t + 1),... de

tal manera que la salida futura del proceso y(t + j) permanezca proxima a w(t + j).

Esto se logra minimizando J(N1, N2, Nu).

9.2.1.1. Prediccion optima

Con la intencion de minimizar la funcion de coste, se obtendra previamente la

prediccion optima de y(t + j) para j ≥ N1 y j ≤ N2. Considerese la siguiente ecuacion

diofantica:

1 = Ej(z−1) 4 A + z−jFj(z

−1) (9.6)

1 = Ej(z−1)A + z−jFj(z

−1)

Los polinomios Ej y Fj estan unicamente definidos con grados j − 1 y na respecti-

vamente. Se pueden obtener dividiendo 1 entre A(z−1) hasta que el resto pueda ser fac-

torizado como z−jFj(z−1). El cociente de la division es entonces el polinomio Ej(z

−1).

Page 158: Apuntes ic4

144 CONTROL PREDICTIVO GENERALIZADO

Si se multiplica la ecuacion (9.4) por Ej(z−1) zj 4

A(z−1)Ej(z−1)y(t + j) = Ej(z

−1)B(z−1) 4 u(t + j − d − 1) + Ej(z−1)e(t + j) (9.7)

Teniendo en cuenta (9.6), la ecuacion (9.7) queda:

(1 − z−jFj(z−1))y(t + j) = Ej(z

−1)B(z−1) 4 u(t + j − d − 1) + Ej(z−1)e(t + j)

La cual se puede escribir como

y(t + j) = Fj(z−1)y(t) + Ej(z

−1)B(z−1) 4 u(t + j − d − 1) + Ej(z−1)e(t + j) (9.8)

Al ser el grado del polinomio Ej(z−1) igual a j − 1 los terminos del ruido en la

ecuacion (9.8) estan todos en el futuro. La mejor prediccion de y(t + j) sera por con-

siguiente:

y(t + j | t) = Gj(z−1) 4 u(t + j − d − 1) + Fj(z

−1)y(t)

donde Gj(z−1) = Ej(z

−1)B(z−1)

Resulta simple demostrar que los polinomios Ej y Fj se pueden obtener recursiva-

mente, de forma que los nuevos valores en el paso j + 1 (Ej+1 y Fj+1) sean funcion de

los del paso j. A continuacion se muestra una demostracion simple de la recursividad

de la ecuacion diofantica. Existen otras formulaciones del gpc que no estan basadas

en la recursividad de esta ecuacion.

Considerense que los polinomios Ej y Fj se han obtenido dividiendo 1 entre A(z−1)

hasta que el resto haya sido factorizado como z−jFj(z−1) .

Con:

Fj(z−1) = fj,0 + fj,1z

−1 + · · · + fj,naz−na

Ej(z−1) = ej,0 + ej,1z

−1 + · · · + ej,j−1z−(j−1)

Supongase que se utiliza el mismo procedimiento para obtener Ej+1 y Fj+1, es decir,

dividir 1 entre A(z−1) hasta que el resto se pueda factorizar como z−(j+1)Fj+1(z−1) con

Fj+1(z−1) = fj+1,0 + fj+1,1z

−1 + · · · + fj+1,naz−na

Esta claro que solamente es necesario dar un paso mas en la division para obtener

los polinomios Ej+1 y Fj+1. Al ser Ej+1 el nuevo cociente de la division, sera igual al

Page 159: Apuntes ic4

CAPITULO 9. CONTROLADORES PREDICTIVOS 145

cociente que habıa hasta el momento (Ej) mas un nuevo termino, que sera el fj,0 pues

el divisor (A) es monico. Por tanto:

Ej+1(z−1) = Ej(z

−1) + ej+1,jz−j con ej+1,j = fj,0

Teniendo en cuenta que el nuevo resto sera el resto anterior menos el producto del

cociente por el divisor, los coeficientes del polinomio Fj+1 se pueden expresar como:

fj+1,i = fj,i+1 − fj,0 ai+1 i = 0 · · ·na

En resumen, la forma de obtener los polinmios Ej y Fj es la siguiente:

1. Comenzar con E1 = 1, F1 = z(1 − A)

2. Ir anadiendo nuevos terminos a Ej con ej+1,j = fj,0

3. Calcular fj+1,i = fj,i+1 − fj,0 ai+1 i = 0 · · ·na, (siendo fj,na+1 = 0).

El polinomio Gj+1 puede ser obtenido recursivamente como sigue:

Gj+1 = Ej+1B = (Ej + fj,0z−j)B = Gj + fj,0z

−jB

Es decir, los primeros j coeficientes de Gj+1 seran identicos a los de Gj mientras

que el resto viene dado por:

gj+1,j+i = gj,j+i + fj,0 bi para i = 0 · · ·nb

Para resolver el gpc es necesario obtener el conjunto de senales de control u(t),

u(t+1), ...,u(t+N) que minimizan la ecuacion (9.5). Al tener el proceso un retardo de

d perıodos de muestreo, la salida solo se vera influenciada por la senal u(t) despues del

instante d+1. Los valores N1, N2 y Nu que marcan los horizontes pueden ser definidos

como N1 = d + 1, N2 = d + N y Nu = N . No tiene sentido hacer N1 < d + 1 ya que

los terminos de (9.5) solo dependeran de las senales de control pasadas. Por otro lado,

haciendo N1 > d + 1 los primeros puntos de la secuencia de salida, que seran los mejor

estimados, no se tendran en cuenta.

El conjunto de las j predicciones optimas:

y(t + d + 1 | t) = Gd+1 4 u(t) + Fd+1y(t)

y(t + d + 2 | t) = Gd+2 4 u(t + 1) + Fd+2y(t)...

y(t + d + N | t) = Gd+N 4 u(t + N − 1) + Fd+Ny(t)

Page 160: Apuntes ic4

146 CONTROL PREDICTIVO GENERALIZADO

puede ser escrito en forma matricial como:

y = Gu + F(z−1)y(t) + G′(z−1) 4 u(t − 1) (9.9)

Donde

y =

y(t + d + 1 | t)

y(t + d + 2 | t)...

y(t + d + N | t)

u =

4u(t)

4u(t + 1)...

4u(t + N − 1)

G =

g0 0 ... 0

g1 g0 ... 0...

......

...

gN−1 gN−2 ... g0

G′(z−1) =

z(Gd+1(z−1) − g0)

z2(Gd+2(z−1) − g0 − g1z

−1)...

zN(Gd+N(z−1) − g0 − g1z−1 − · · · − gN−1z

−(N−1))

F(z−1) =

Fd+1(z−1)

Fd+2(z−1)

...

Fd+N (z−1)

Al depender los ultimos terminos de la ecuacion (9.9) solo del pasado, pueden

agruparse en f, dando lugar a:

y = Gu + f (9.10)

Observese que es la misma expresion que se obtuvo para el dmc, aunque en este

caso la respuesta libre es distinta.

9.2.1.2. Obtencion de la ley de control

Entonces la ecuacion (9.5) puede escribirse como:

J = (Gu + f − w)T (Gu + f − w) + λuTu (9.11)

donde:

w =[

w(t + d + 1) w(t + d + 2) · · · w(t + d + N)]T

(9.12)

Page 161: Apuntes ic4

CAPITULO 9. CONTROLADORES PREDICTIVOS 147

La ecuacion (9.11) se puede poner como:

J =1

2uTHu + bu + f0 (9.13)

donde:

H = 2(GTG + λI)

b = 2(f − w)TG

f0 = (f − w)T (f − w)

El mınimo de J , siempre que no existan restricciones en la senal de control, puede

ser calculado igualando a cero el gradiente de J , lo cual conduce a:

u = −H−1bT (9.14)

Debido al uso de la estrategia deslizante, solo se aplica realmente el primer elemento del

vector u, repitiendo de nuevo el mismo procedimiento al siguiente instante de muestreo.

La solucion propuesta involucra la inversion (o al menos la triangularizacion) de una

matriz de dimension N ×N , lo cual conlleva una gran carga de calculo. El concepto ya

usado en otros metodos de horizonte de control se emplea con la finalidad de reducir

la cantidad de calculo, asumiendo que las senales de control permaneceran en un valor

constante a partir del intervalo Nu < N . Por tanto la dimension de la matriz que hay

que invertir queda reducida a Nu × Nu, quedando la carga de calculo reducida (en el

caso lımite de Nu = 1, se reduce al caso escalar) aunque restringiendo la optimalidad.

9.2.2. Ejemplo de calculo

Se presenta a continuacion un ejemplo de calculo de un Controlador Predictivo

Generalizado en un caso sencillo. Se disenara el controlador para un sistema de primer

orden.

Al discretizar el proceso continuo se obtiene el siguiente equivalente discreto:

(1 + az−1)y(t) = (b0 + b1z−1)u(t − 1) +

e(t)

4

Se va a considerar un retardo d igual a 0 y un polinomio de ruido C(z−1) igual a 1.

Se usara el algoritmo descrito previamente para obtener la ley de control, obteniendo

resultados numericos para valores de los paametros a = 0,8, b0 = 0,4 y b1 = 0,6, siendo

Page 162: Apuntes ic4

148 CONTROL PREDICTIVO GENERALIZADO

los horizontes N1 = 1 y N = Nu = 3. Como se ha mostrado, se calcularan los valores

predichos de la salida del proceso en el horizonte haciendo uso de la ecuacion (9.9),

obteniendo la ley de control de la expresion (9.14).

Resolviendo la ecuacion (9.6) se obtienen los polinomios del predictor Ej(z−1),

Fj(z−1) desde j = 1 hasta j = 3, con

A(z−1) = A(z−1)(1 − z−1) = 1 − 1,8z−1 + 0,8z−2

En este caso sencillo donde el horizonte no es demasiado largo, estos polinomios se

pueden obtener directamente dividiendo 1 por A(z−1). Como se ha explicado antes,

tambien se pueden calcular recursivamente, comenzando con los valores obtenidos en

el primer paso de la division, es decir:

E1(z−1) = 1 F1(z

−1) = 1,8 − 0,8z−1

Cualquiera que sea el metodo empleado, los valores obtenidos son:

E2 = 1 + 1,8z−1 F2 = 2,44 − 1,44z−1

E3 = 1 + 1,8z−1 + 2,44z−2 F3 = 2,952 − 1,952z−1

Con estos valores y el polinomio B(z−1) = 0,4+0,6z−1, los elementos Gi(z−1) resultan

ser:

G1 = 0,4+0,6z−1 G2 = 0,4+1,32z−1+1,08z−2 G3 = 0,4+1,32z−1+2,056z−2+1,464z−3

y por tanto se pueden escribir las salidas predichas como:

y(t + 1 | t)

y(t + 2 | t)

y(t + 3 | t)

=

0,4 0 0

1,32 0,4 0

2,056 1,32 0,4

4u(t)

4u(t + 1)

4u(t + 2)

+

+

0,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)

︸ ︷︷ ︸

f

El paso siguiente es el calculo de H−1b. Tomando λ igual a 0,8 se tiene que:

(GTG + λI)−1GT =

0,133 0,286 0,147

−0,154 −0,165 0,286

−0,029 −0,154 0,1334

Page 163: Apuntes ic4

CAPITULO 9. CONTROLADORES PREDICTIVOS 149

Como solo se necesita el valor de 4u(t) para los calculos, solo se emplea realmente la

primera fila de la matriz, con lo que resulta la siguiente expresion para la ley de control:

4u(t) = −0,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 aproximacion de primer orden a esta.

Entonces la senal de control resulta ser una funcion de la referencia deseada y de

entradas y salidas pasadas, dada por:

u(t) = 0,3958u(t − 1) + 0,6042u(t − 2) − 1,371y(t) + 0,805y(t − 1) +

+ 0,133w(t + 1) + 0,286w(t + 2) + 0,147w(t + 3)

Al mismo resultado se puede llegar sin emplear la ecuacion diofantica, calculando

G en base a los coeficientes de la respuesta ante escalon (que se pueden calcular en

funcion de los coeficientes de la funcion de transferencia) y calculando la respuesta

libre haciendo evolucionar hacia delante el modelo mientras la entrada se mantiene

constante.

9.2.3. Caso multivariable

Al igual que en el dmc todo lo visto para el caso de sistemas con una sola entrada

y una sola salida se puede extender al caso multivariable, aunque los calculos son mas

complejos.

En este caso el modelo carima para un sistema de m entradas y n salidas se puede

expresar como:

A(z−1)y(t) = B(z−1)u(t − 1) +1

4C(z−1)e(t) (9.15)

donde A(z−1) y C(z−1) son matrices polinomiales monicas de dimension n×n y B(z−1)

es una matriz polinomial de dimension n × m, definidos como:

A(z−1) = In×n + A1z−1 + A2z

−2 + · · · + Anaz−na

B(z−1) = B0 + B1z−1 + B2z

−2 + · · · + Bnbz−nb

C(z−1) = In×n + C1z−1 + C2z

−2 + · · · + Cncz−nc

Page 164: Apuntes ic4

150 CONTROL PREDICTIVO GENERALIZADO

Las variablesy(t), u(t) y e(t) son de dimension n × 1, m × 1 y n × 1 respectivamente.

La prediccion conlleva la resolucion de una ecuacion diofantica matricial, que tambien

puede calcularse de forma recursiva.

En muchas ocasiones el problema radica en la obtencion adecuada del modelo en

esta forma a partir de una matriz de transferencia en continuo que puede haberse

obtenido a partir de la curva de reaccion.

Una vez obtenido el modelo, el criterio a minimizar tendra la forma general

J(N1, N2, N3) =

N2∑

j=N1

‖y(t + j | t) − w(t + j)‖2R +

N3∑

j=1

‖ 4 u(t + j − 1)‖2Q

donde R y Q son matrices de ponderacion definidas positivas que normalmente se eligen

diagonales. La minimizacion se realiza igual que en el caso monovariable dando como

resultado un vector de senales de control a enviar a la planta en el instante actual:

u1(t), u2(t) . . . um(t).

Page 165: Apuntes ic4

Capıtulo 10

Otros aspectos del Control

Predictivo

10.1. Restricciones en Control Predictivo

En la practica todos los procesos estan sujetos a restricciones. Los actuadores tienen

un campo limitado de accion impuesto por lımites fısicos (por ejemplo una valvula no

puede abrir mas de un 100 % o un calentador no puede aportar mas de su potencia

maxima. Tambien existen lımites de seguridad (por ejemplo presiones o temperaturas

maximas), requerimientos tecnologicos (por ejemplo mantener temperaturas en un ran-

go dado), limitaciones de calidad del producto (no salirse de cierta zona) o normativa

medioambiental.

10.1.1. Tratamiento convencional de restricciones

El tratamiento convencional de restricciones en control de procesos se basa en que

las restricciones en la variable manipulada (entrada) se cumplen saturando la salida del

controlador. Sin embargo, las restricciones en la variable controlada (salida) no pueden

abordarse; se intenta evitar su violacion trabajando alejados de los lımites (en zona

segura), operando lejos de la restriccion. Por seguridad se trabaja con una consigna

inferior, mas lejos del punto de operacion optimo, lo que normalmente equivale a una

disminucion de la calidad y/o cantidad en la produccion, ya que normalmente el punto

optimo se encuentra en la interseccion de las restricciones obligando a acercarse lo mas

151

Page 166: Apuntes ic4

152 RESTRICCIONES EN CONTROL PREDICTIVO

Pmax

P

P

P

QQ Q

1

2

1 2t

Figura 10.1: Restricciones y punto de operacion optimo

posible a las estas pero sin superarlas.

Si el controlador fuera capaz de tener en cuenta las restricciones y evitar su violacion,

el proceso podrıa operar mas cerca de estas y por tanto de forma mas eficiente. La figura

10.1 muestra un ejemplo donde existe una limitacion de presion maxima y se observa

como al alejar el punto de operacion del lımite la produccion Q disminuye.

En cuanto a la forma de operar de un controlador predictivo que no considera restric-

ciones el procedimiento es similar: si la senal de control calculada viola la restriccion,

se satura. Las senales futuras ni siquiera se tienen en cuenta, ya que normalmente no

se calculan. Esta forma de proceder no garantiza el caracter optimo de la solucion y en

ningun caso garantiza el cumplimiento de las restricciones en la salida. La violacion de

los lımites de las variables controladas puede ser mas costoso y peligroso, produciendo

danos en equipos y perdidas en la produccion.

La figura 10.2 muestra con claridad el fenomeno de perdida de la solucion optima

cuando las variables manipuladas se mantienen en sus lımites por el programa de

control o por el propio actuador. Este hecho puede llevar a valores mayores de la

funcion objetivo y a un comportamiento no deseado (incluso inestabiliad). En 10.2a se

muestra un caso con horizonte de control igual a 2, donde se observa que si se satura

la senal de control u(t) a umax el valor de la funcion de coste no es el mejor que se

podrıa conseguir (que serıa el correspondiente a uc). Incluso puede que no se viole la

restriccion en el instante actual pero sı en el futuro (figura 10.2b) con lo que la senal

enviada al sistema (sin saturar) no es la mejor para el problema de dimension 2 que se

esta optimizando.

Page 167: Apuntes ic4

CAPITULO 10. OTROS ASPECTOS DEL CONTROL PREDICTIVO 153

u(t+1)

maxu

u max u(t)

u(t+1)

maxu

u max u(t)

cu u uc u

a) b)

Figura 10.2: Restricciones en la senal de control

10.1.2. Restricciones en Control Predictivo

En la actualidad el mpc es la unica metodologıa capaz de incorporar las restricciones

de forma sistematica en la fase de diseno del controlador, siendo esta caracterıstica una

de las razones de su gran exito en la industria. Parece logico que al disponer de un

modelo dinamico del proceso se pueda conocer la evolucion futura de su salida y por

tanto se pueda saber si esta va a violar o no las restricciones y actuar en consecuencia.

Para formular el algoritmo mpc con restricciones hay que expresar estas en funcion

de la variable sobre la que se puede actuar, es decir, en funcion de u. Las restricciones

en la entrada estan ya expresadas en funcion de u y para las restricciones en la salida

se hace uso de las ecuaciones de prediccion que expresan el valor futuro de las salidas

en funcion de las senales de control futuras y valores conocidos en el instante t.

Cualquier controlador predictivo calcula la prediccion como:

y = Gu + f

por lo que tanto entradas como salidas se pueden expresar en funcion del vector de

incrementos de la senal de control.

Las restricciones que aparecen seran basicamente amplitud y velocidad de cambio

en la senal de control y amplitud en la salida y se pueden expresar como:

Page 168: Apuntes ic4

154 RESTRICCIONES EN CONTROL PREDICTIVO

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 ≤ Tu + u(t − 1) 1 ≤ 1 U

1 u ≤ u ≤ 1 u

1 y ≤ Gu + f ≤ 1 y

donde l es una matriz de dimension (N × n) × m formada por N m × m matrices

identidad y T es una matriz triangular inferior por bloques cuyos elementos no nulos

son matrices identidad de dimension m×m. En forma condensada se pueden expresar

como:

R u ≤ c (10.1)

siendo

R =

IN×N

−IN×N

T

−T

G

−G

c =

l u

−l u

l U − lu(t − 1)

−l U + lu(t − 1)

l y − f

−l y + f

Aparte de las restricciones en amplitud, a la salida se le pueden aplicar otro tipo

de restricciones de para forzar un determinado comportamiento temporal (movimiento

dentro de una banda, comportamiento monotono, evitar respuesta inicial inversa, etc.),

pudiendo expresarlas tambien de la forma generica (10.1).

Ademas de la clasificacion en restricciones en la entrada y en la salida segun a

que tipo de variable se apliquen, se puede hacer otra clasificacion atendiendo a la

forma de tratarlas. Ası, se puede hablar de:

Restricciones duras como aquellas que no se pueden violar bajo ningun concepto.

En este grupo se incluyen las restricciones relacionadas con la operacion segura

del proceso.

Page 169: Apuntes ic4

CAPITULO 10. OTROS ASPECTOS DEL CONTROL PREDICTIVO 155

Restricciones blandas, que son aquellas que pueden ser violadas en un momento

dado por no ser cruciales, pero la violacion se penaliza en la funcion objetivo

como un termino mas. Es una forma de relajar la restriccion.

10.1.3. Resolucion del problema

Con la adicion de restricciones el problema general de control predictivo cambia se

puede formular como

minimizar J(u)

sujeto a Ru ≤ c

Es decir, el problema consiste en la minimizacion de una funcion cuadratica con

restricciones lineales, lo que se conoce como Programacion Cuadratica, qp. En este

caso no se puede encontrar una solucion analıtica como en el caso sin restricciones,

sino que hay que recurrir a metodos iterativos.

Resulta evidente que la carga de calculo sera considerable, ya que hay que encontrar

la solucion resolviendo el algoritmo iterativo en cada periodo de muestreo. Normalmente

el esfuerzo esta justificado por el beneficio economico obtenido al trabajar mas cerca del

punto de operacion optimo. Para resolver el problema qp existen diversos algoritmos

suficientemente probados.

Un problema asociado a la implementacion del control con restricciones es el analisis

de la estabilidad del bucle cerrado. Como es necesario utilizar metodos numericos para

resolver el problema de la optimizacion, la ley de control resultante no se puede describir

de forma explıcita, haciendo el problema muy difıcil de atacar mediante la teorıa clasica

de control.

En los ultimos anos se ha trabajado mucho sobre la estabilidad en estas circun-

stancias, proponiendose soluciones basadas en la teorıa de Lyapunov. La idea basica

consiste en que la funcion de coste cuando el horizonte es infinito es monotona decre-

ciente (si existe solucion factible) y se puede interpretar como funcion de Lyapunov

que garantiza por tanto la estabilidad. Sin embargo, como la solucion tiene que ser

numerica, el numero de variables de decision tiene que ser finito, por lo que se han

propuesto dos ideas. En la primera, se descompone la funcion objetivo en dos partes:

una con horizonte finito y restricciones y otra con horizonte infinito y sin restricciones.

La segunda idea es en esencia equivalente y consiste en imponer restricciones terminales

al estado y usar un horizonte infinito.

Page 170: Apuntes ic4

156 RESTRICCIONES EN CONTROL PREDICTIVO

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.

10.1.4. Gestion de restricciones

Durante la etapa de optimizacion puede aparecer problemas de no existencia de

solucion optima para unas restricciones dadas (no existe compatibilidad entre las re-

stricciones), por ejemplo por el planteamiento de unos objetivos inalcanzables para

unas restricciones dadas. Existen otras posibles causas de inexistencia de solucion, co-

mo es el caso de que una perturbacion saque al proceso fuera de la zona de trabajo

usual.

La factibilidad de un problema de optimizacion significa que la funcion objetivo

este acotada y que todas las restricciones sean satisfechas.

La no factibilidad puede aparecer en regimen permanente o en el transitorio. El

problema de la falta de solucion en regimen permanente puede venir provocado por

un objetivo de control irrealizable. Sin embargo, este tipo de no factibilidad puede ser

facilmente eliminado en la etapa de diseno evitando la inclusion de tales objetivos.

Tambien puede ser debido a cambios en referencias que hagan incompatibles las re-

stricciones (se quiera llevar alguna variable a un punto que es imposible de alcanzar

con una entrada que esta acotada).

En el regimen transitorio puede aparecer no factibilidad incluso cuando las restric-

ciones impuestas parezcan razonables. Restricciones que no causan problemas en op-

eracion normal pueden producir problemas bajo ciertas circunstancias. Puede que una

perturbacion o cambio de referencia grande fuerce a una variable fuera de su lımite y sea

imposible introducirla de nuevo en su zona permitida con senales de control de energıa

limitada. En estos casos las restricciones se hacen temporalmente incompatibles.

Las soluciones no factibles aparecen con mayor frecuencia en casos en que el optimo

se encuentre cerca de las restricciones y el sistema este sujeto a perturbaciones, llevando

a la salida a regiones prohibidas”.

Page 171: Apuntes ic4

CAPITULO 10. OTROS ASPECTOS DEL CONTROL PREDICTIVO 157

Límites físicos

Restricciones realesLímites de operación

Figura 10.3: Gestion de restricciones

10.1.4.1. Tecnicas de busqueda de soluciones factibles

Los metodos de gestion de restricciones tratan de recuperar la factibilidad actuando

sobre las restricciones segun diferentes criterios.

Los lımites de las restricciones se pueden considerar de los siguientes tipos:

Limites fisicos: nunca se pueden sobrepasar, principalmente por motivos de se-

guridad o por la propia construccion de los equipos (p.ej. actuadores)

Limites de operacion: son fijados por los operarios para mantener las condiciones

nominales de funcionamiento. Se pueden sobrepasar bajo ciertas circunstancias

Limites reales: son los que usa el algoritmo de control en cada instante. Son los

que proporciona el gestor de restricciones, quien debe calcularlos de forma que

nunca superen los limites fısicos.

Es decir, el gestor de restricciones calculara los lımites reales (los que se envıan al

algoritmo qp) en base a los lımites de operacion pero sin salirse nunca de los lımites

fısicos, segun se observa en la figura 10.3.

Se analizan a continuacion posibles soluciones para este problema, que se pueden

agrupar en:

1. Desconexion del controlador.

Page 172: Apuntes ic4

158 RESTRICCIONES EN CONTROL PREDICTIVO

2. Eliminacion de restricciones.

3. Relajacion de restricciones.

4. Otras tecnicas.

1. Desconexion del controlador

La forma mas sencilla de resolver de este tipo de problemas es pasar el controlador

a posicion manual cuando aparecen las incompatibilidades de restricciones y volver a

operacion automatica cuando se recupera la admisibilidad de la solucion.

Este metodo, como se puede comprender tiene serias desventajas. Normalmente,

cuando aparecen problemas de incompatibilidad de restricciones es porque el sistema

en bucle cerrado se encuentra en un estado crıtico donde normalmente el operador

tendra muy poca experiencia en la operacion. Adicionalmente, si las restricciones estan

relacionadas con aspectos de seguridad o economicos, las decisiones llevadas a cabo

cuando aparecen problematicas de compatibilidad de restricciones suelen ser crıticas

dado que en estos casos alguno de los objetivos del control no puede ser satisfecho.

El metodo suele ser utilizado cuando los problemas de incompatibilidad de restric-

ciones no son frecuentes.

2. Eliminacion de restricciones

La factibilidad se analiza en cada periodo de muestreo, por lo que la eliminacion

de restricciones se realiza de forma temporal. Periodicamente se chequea la factibilidad

para poder reinsertar restricciones eliminadas.

La eliminacion de un grupo de restricciones ha de realizarse en aquellos casos en que

el conjunto completo de restricciones que se imponen sobre el sistema sea incompatible.

Cada vez que existe un problema de incompatibilidad de restricciones, se forma un

conjunto de restricciones no admisibles que no se tienen en cuenta en el proceso de

optimizacion. Se pueden distinguir en la metodologıa de eliminacion de restricciones

varios tipos.

Eliminacion indiscriminada Con esta estrategia todas las restricciones se elimi-

nan cada vez que aparezcan problemas de existencia de solucion factible, quedando

la optimizacion de un problema sin restricciones. No es un metodo muy optimo para

Page 173: Apuntes ic4

CAPITULO 10. OTROS ASPECTOS DEL CONTROL PREDICTIVO 159

resolver el problema de la existencia de solucion admisible, pero es la forma mas rapida

de tener en cuenta incompatibilidad de restricciones.

La eliminacion indiscriminada de restricciones no es adecuada en todas las aplica-

ciones. No debe ser por ejemplo usada en casos en que las restricciones esten directa-

mente relacionadas con lımites de seguridad.

Eliminacion jerarquica En este caso solo se eliminan las restricciones que provocan

problemas de incompatibilidad. En este metodo se asigna en la etapa de diseno una

prioridad a cada restriccion, que da un grado de importancia relativa de dicha restric-

cion frente a las otras. Esta prioridad se usara para clasificar las restricciones de una

forma jerarquica (se asigna un numero que indica su posicion en la jerarquıa). De este

modo, cada vez que haya problemas de factibilidad o existencia de solucion el gestor

de restricciones va eliminando por orden las restricciones menos prioritarias hasta que

se restablece la factibilidad de la solucion, que se chequea cada periodo de muestreo

para reinsertar restricciones que hubieran sido temporalmente eliminadas.

En este sentido, a la hora de eliminar restricciones se pueden establecer diferentes

tipos de reglas para establecer el numero de restricciones que se eliminan, si conviene

eliminar mas restricciones a costa de no eliminar una con prioridad superior, etc.

3. Relajacion de restricciones

Otro metodo para tener en cuenta el problema de existencia de solucion es la re-

lajacion de las restricciones. Se puede hacer una relajacion de los lımites de forma

temporal o convertir restricciones duras (Ru ≤ c), cambiandolas en restricciones blan-

das (Ru ≤ c + ε, con ε ≥ 0) para asegurar la existencia de solucion, anadiendo un

termino εTTε a la funcion de coste de forma que se penalice la violacion de la re-

striccion y obtener un mejor comportamiento del sistema controlado. A largo plazo, el

termino de penalizacion en la funcion objetivo llevara las variables auxiliares a cero.

4. Otras tecnicas

Existen tecnicas que se basan en la manipulacion del horizonte mınimo de las restric-

ciones. Algunos controladores industriales como el qdmc usan el concepto de constraint

window. La constraint window comienza en algun punto en el futuro y continua hasta

el estado estacionario. Si existe dinamica del tipo de fase no mınima, se pueden mejorar

las prestaciones desplazando la ventana hacia el futuro, lo que equivale a ignorar las

restricciones duras en la salida durante la fase inicial de la respuesta.

Page 174: Apuntes ic4

160 RESTRICCIONES EN CONTROL PREDICTIVO