Depto. de Ingenier´ Ingenier´ıa de Sistemas y Autom´ atica atica
APUNTES DE INGENIER´ IA DE CONTROL
´ ANALISIS Y CONTROL DE SISTEMAS EN ESPACIO DE ESTADO ´ DE SISTEMAS IDENTIFICACION CONTROL ADAPTATIVO CONTROL PREDICTIVO
Dani Daniel el Rodr´ Ro dr´ ıgue ıg uez z Ram Ra m´ırez ır ez Carlos Bord´ ons ons Alba
Rev. 5/05/2005
´Indice general
Lista de figuras
IX
1. Control de sistemas discretos en el espacio de estados
1
1.1. Represe Representa ntaci´ ci´ on o n de sist sistem emas as disc discre reto toss en el espa espaci cioo de esta estado doss . . . . . .
1
1.2. Obtenci´ Obtenci´ on on de la representaci´ o n de en espacio de estados de sistemas on discretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2.1. M´etodo etodo de programaci´ on directa . . . . . . . . . . . . . . . . . .
3
1.2.2. M´etodo etodo de programaci´ on anidada . . . . . . . . . . . . . . . . .
5
1.3. La repre represen sentaci taci´ o´n en espacio de estados de un sistema no es u´nica . . . on
6
1.4. Resoluc Resoluci´ i´ on de las ecua cuacion cionees del espac pacio de estad tados . . . . . . . . . . .
7
1.4.1. Proce ocedimiento recursivo . . . . . . . . . . . . . . . . . . . . . .
7
1.4.2. 1.4.2. Matriz Matriz de trans transici ici´ o´n de estados . . . . . . . . . . . . . . . . . .
8
1.4.3. M´ etodo etodo basado en la transformada Z . . . . . . . . . . . . . . .
9
1.4.3.1. 1.4.3.1. Procedimiento Procedimiento alternativo alternativo para calcular calcular (zI (zI − G)
1
. .
10
1.5. Discret Discretiza izaci´ ci´ on o n de las las ecua ecuaci cion ones es de esta estado do con contin tinuas uas . . . . . . . . . . .
12
1.6. Controlabilidad y Observabilidad . . . . . . . . . . . . . . . . . . . . .
15
i
−
´INDICE GENERAL
ii
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. Transformaci´ on de un sistema en formas can´ onicas
. . . . . . . . . . .
19
1.7.1. Obtenci´ on de la forma can´ onica controlable . . . . . . . . . . .
20
1.7.2. Obtenci´ on de la forma can´ onica observable . . . . . . . . . . . .
20
1.8. Colocaci´ on de polos mediante realimentaci´ o n del vector de estados . . .
21
1.8.1. Condici´ on necesaria y suficiente para la colocaci´ on arbitraria de polos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
1.8.2. Procedimientos para calcular K . . . . . . . . . . . . . . . . . .
22
1.8.2.1. Procedimiento alternativo: la f´ o rmula de Ackermann .
24
1.8.3. Control Dead-Beat . . . . . . . . . . . . . . . . . . . . . . . . .
24
1.9. Observadores del estado . . . . . . . . . . . . . . . . . . . . . . . . . .
27
1.9.1. Procedimiento iterativo para la estimaci´ on del estado . . . . . .
28
1.9.2. Observador del estado completo . . . . . . . . . . . . . . . . . .
30
1.9.2.1. C´ alculo de K e . . . . . . . . . . . . . . . . . . . . . . .
32
1.9.2.2. Comentarios acerca del papel de K e
. . . . . . . . . .
34
1.9.2.3. Efectos de la adici´ on del observador . . . . . . . . . . .
35
1.9.3. Observador de orden m´ınimo . . . . . . . . . . . . . . . . . . . .
36
1.10. Control o´ptimo LQR . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
´INDICE GENERAL
iii
1.10.1. Soluci´on de la ecuaci´on de Riccatti . . . . . . . . . . . . . . . .
43
1.11. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
2. Modelos de procesos y perturbaciones
45
2.1. Introducci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
2.2. Perturbaciones deterministas a trozos . . . . . . . . . . . . . . . . . . .
46
2.3. Procesos estoc´ asticos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
2.4. Modelos de procesos con ruidos . . . . . . . . . . . . . . . . . . . . . .
48
3. Introducci´ on a la identificaci´ on de sistemas
51
3.1. Introducci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
3.2. Ideas b´ asicas sobre identificaci´ on de sistemas . . . . . . . . . . . . . . .
52
3.2.1. Planificaci´ on de los experimentos . . . . . . . . . . . . . . . . .
52
3.2.2. Selecci´ on del tipo de modelo . . . . . . . . . . . . . . . . . . . .
53
3.2.3. Elecci´ on de un criterio . . . . . . . . . . . . . . . . . . . . . . .
54
3.2.4. Estimaci´ on de los par´ametros . . . . . . . . . . . . . . . . . . .
54
3.2.4.1. Identificaci´ on en l´ınea . . . . . . . . . . . . . . . . . .
54
3.2.4.2. Identificaci´ on fuera de l´ınea . . . . . . . . . . . . . . .
55
3.2.5. Validaci´on del modelo . . . . . . . . . . . . . . . . . . . . . . .
55
3.2.6. Resumen del proceso de identificaci´ on . . . . . . . . . . . . . . .
57
3.3. Algunas propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
´INDICE GENERAL
iv
3.3.1. Excitaci´ on persistente . . . . . . . . . . . . . . . . . . . . . . .
58
3.3.2. Convergencia e identificabilidad . . . . . . . . . . . . . . . . . .
59
3.3.2.1. Identificaci´ on en bucle cerrado . . . . . . . . . . . . . .
60
3.3.3. Niveles de supervisi´ on y acondicionamiento . . . . . . . . . . . .
62
4. Identificaci´ on por m´ınimos cuadrados
63
4.1. El m´etodo de los m´ınimos cuadrados . . . . . . . . . . . . . . . . . . .
63
4.2. Algoritmo recursivo para identificaci´ on en linea . . . . . . . . . . . . .
65
4.3. Interpretaci´ on estad´ıstica . . . . . . . . . . . . . . . . . . . . . . . . . .
67
4.4. M´ınimos cuadrados ponderados . . . . . . . . . . . . . . . . . . . . . .
70
4.5. M´ınimos cuadrados extendidos y generalizados . . . . . . . . . . . . . .
71
4.6. Estimaci´ on de los valores de continua . . . . . . . . . . . . . . . . . . .
72
4.6.1. Utilizaci´o n de los incrementos de las variables . . . . . . . . . .
73
4.6.2. C´ alculo de los valores medios . . . . . . . . . . . . . . . . . . .
73
4.6.3. Estimaci´ on de una constante . . . . . . . . . . . . . . . . . . . .
73
4.7. Importancia del orden del modelo . . . . . . . . . . . . . . . . . . . . .
74
4.8. Identificaci´ o n de sistemas con retardo o no lineales . . . . . . . . . . . .
77
4.9. Consideraciones finales . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
5. Introducci´ on al control adaptativo 5.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . .
81 81
´INDICE GENERAL
v
5.1.1. Clasificaci´ on grosso modo de los sistemas de control adaptativo .
82
5.2. Justificaci´ on 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. Introducci´ on. 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. Asignaci´ on 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. Introducci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 7.2. Funci´on de autoajuste (autotuning ) . . . . . . . . . . . . . . . . . . . . 105 7.3. Funciones de autoajuste para PIDs . . . . . . . . . . . . . . . . . . . . 107 7.3.1. T´ ecnicas de ajuste basadas en la respuesta transitoria . . . . . . 108 7.3.2. M´etodos basados en las oscilaciones producidas al realimentar con un rel´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 7.4. La t´ecnica de ajuste por tabla o gain scheduling . . . . . . . . . . . . . 110
´INDICE GENERAL
vi
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 hist´ orica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 8.2. Conceptos b´ asicos de control predictivo . . . . . . . . . . . . . . . . . . 118 8.3. Estrategia de los controladores predictivos . . . . . . . . . . . . . . . . 119 8.4. Elementos b´ asicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 8.4.1. Modelo de predicci´ on . . . . . . . . . . . . . . . . . . . . . . . . 122 8.4.1.1. Respuestas libre y forzada . . . . . . . . . . . . . . . . 125 8.4.2. Funci´on ob jetivo . . . . . . . . . . . . . . . . . . . . . . . . . . 126 8.4.3. Obtenci´ on de la ley de control . . . . . . . . . . . . . . . . . . . 129 8.5. Revisi´o n 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
´INDICE GENERAL
vii
9. Controladores predictivos
135
9.1. Dynamic Matrix Control . . . . . . . . . . . . . . . . . . . . . . . . . . 135 9.1.1. Predicci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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. Extensi´ o n al caso multivariable . . . . . . . . . . . . . 141 9.2. Control Predictivo Generalizado . . . . . . . . . . . . . . . . . . . . . . 141 9.2.1. Formulaci´ o n del Control Predictivo Generalizado . . . . . . . . 142 9.2.1.1. Predicci´ on o´ptima . . . . . . . . . . . . . . . . . . . . 143 9.2.1.2. Obtenci´ on de la ley de control . . . . . . . . . . . . . . 146 9.2.2. Ejemplo de c´ alculo . . . . . . . . . . . . . . . . . . . . . . . . . 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. Resoluci´ on del problema . . . . . . . . . . . . . . . . . . . . . . 155 10.1.4. Gesti´on de restricciones
. . . . . . . . . . . . . . . . . . . . . . 156
10.1.4.1. T´ecnicas de b´ u squeda de soluciones factibles . . . . . . 157
viii
´INDICE GENERAL
´Indice de figuras 1.1. Diagrama de bloques de la representaci´ on en espacio de estados de un sistema LTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2. Diagrama de bloques de un sistema controlado por una realimentaci´ on del vector de estados. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
1.3. Diagrama de bloques de un sistema LTI controlado mediante una realimentaci´ on 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 estoc´ a sticos: realizaciones y variables aleatorias.
. . . . . . .
47
2.2. Modelo de Box-Jenkins. . . . . . . . . . . . . . . . . . . . . . . . . . .
48
3.1. Esquema de la identificaci´ on en l´ınea.
. . . . . . . . . . . . . . . . . .
55
3.2. Diagrama de flujo del proceso de identificaci´ on. . . . . . . . . . . . . .
57
3.3. Ejemplo de se˜ nal de entrada del tipo PRBSS. . . . . . . . . . . . . . .
59
4.1. Diagrama de flujo del proceso de identificaci´ on mediante m´ınimos cuadrados 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
´INDICE DE FIGURAS
x
4.3. Misma situaci´ o n que en la figura 4.2 pero con una se˜ nal de entrada senoidal de frecuencia ω = 1 rad × s 1 . . . . . . . . . . . . . . . . . . . −
75
4.4. Evoluci´ on de los par´ ametros identificados en un caso de sobreparametrizaci´ on. 76 4.5. Evoluci´ on de unos par´ ametros frente a otros para el modelo sobreparametrizado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.1. Configuraci´ o n gen´erica 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. Configuraci´ on gen´erica de un controlador adaptativo por modelo de referencia (MRAC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88
6.1. Configuraci´ on gen´erica de un regulador o controlador autoajustable.
.
94
6.2. Configuraci´ on gen´erica de un regulador o controlador autoajustable.
.
95
. . . . . . . . . . . . . . .
99
6.3. Divisi´on de polinomios para el ejemplo 6.2.
6.4. Estructura para la asignaci´ on de polos y ceros.
. . . . . . . . . . . . . 101
7.1. PID industrial moderno con funci´ on de autoajuste (ABB modelo ECA). 107 7.2. Determinaci´ o n de T y L por a´reas. . . . . . . . . . . . . . . . . . . . . 109 7.3. Estructura usada en el m´etodo basado en oscilaciones de rel´e. . . . . . 110
´INDICE DE FIGURAS
xi
7.4. Configuraci´ on gen´erica de un controlador adaptativo con adaptaci´ on en bucle abierto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 7.5. Curva de pH para una soluci´ o n de HCl 0.001 M y NaOH 0.001 M. 7.6. Caracter´ıstica aproximada de una sonda lambda
. . 112
. . . . . . . . . . . . 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 b´ asica del MPC . . . . . . . . . . . . . . . . . . . . . . . . . 121 8.3. Respuesta impulsional y ante escal´ on . . . . . . . . . . . . . . . . . . . 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 operaci´ on o´ ptimo de un proceso t´ıpico . . . . . . . . . . . . . 140 10.1. Restricciones y punto de operaci´ on o´ptimo . . . . . . . . . . . . . . . . 152 10.2. Restricciones en la se˜ nal de control . . . . . . . . . . . . . . . . . . . . 153 10.3. Gesti´on de restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
xii
´INDICE DE FIGURAS
Cap´ıtulo 1 Control de sistemas discretos en el espacio de estados 1.1.
Representaci´ on de sistemas discretos en el espacio de estados
El m´etodo de espacio de estados est´ a basado en la descripci´ on del sistema mediante n ecuaciones en diferencias, que se agrupan en una ecuaci´ on vectorial matricial en diferencias.
Definici´ on 1.1 Concepto de estado: El estado de un sistema din´ amico es el con junto m´ as peque˜ no de variables (llamadas variables de estado) tal que, el conocimiento de esas variables en un determinado instante t 0 junto con el conocimiento de los valores de la se˜ nal de entrada para los instantes t ≥ t0 , permite determinar el comportamiento y evoluci´ on del sistema para cualquier instante de tiempo t ≥ t 0 .
Las variables de estado se agrupan en el llamado vector de estado y el espacio ndimensional que determinan los posibles valores de esas variables, se denomina espacio de estados . La din´amica de un sistema se puede describir en funci´ on del valor del vector de estados y de la se˜ nal de entrada (asumiendo que el sistema es no aut´ onomo mediante 1
´ DE LA REPRESENTACI ON ´ DE EN ESPACIO DE ESTADOS DE SISTEMAS DISCRETOS 2OBTENCI ON
unas ecuaciones que tendr´ an la forma: x(k + 1) = f (x(k), u(k), k) y(k) = g(x(k), u(k), k) donde la notaci´ on ξ (k) indica el valor tomado por ξ en el instante de tiempo t k y f y g pueden ser cualquier tipo de funci´ on. No obstante en esta asignatura nos centraremos en los Sistemas Lineales e Invariantes en el tiempo (LTI). Este tipo de sistemas son descritos mediante las siguientes ecuaciones: x(k + 1) = Gx(k) + Hu(k)
(1.1)
y(k) = Cx(k) + Du(k) que corresponder´ıan al diagrama de bloques: D
u(k)
H
+
x(k+1) +
+
x(k)
z-1
+
C
G Figura 1.1: Diagrama de bloques de la representaci´on en espacio de estados de un sistema LTI.
1.2.
Obtenci´ on de la representaci´ on de en espacio de estados de sistemas discretos
Partiremos de un sistema discreto descrito por: y(k)+a1 y(k−1)+a2 y(k−2)+· · ·+an y(k−n) = b 0 u(k)+b1 u(k−1)+· · ·+bn u(k−n) (1.2) Es bien conocido de anteriores temas de la asignatura que este sistema puede ser descrito por la siguiente funci´ on de transferencia: Y (z ) b0 + b1 z 1 + b2 z 2 + · · · + bn z G(z ) = = U (z ) 1 + a1 z 1 + a2z 2 + · · · + an z −
−
n
−
−
−
−
n
(1.3)
A continuaci´ on se expondr´ an dos de los m´etodos disponibles para obtener la representaci´ on en espacio de estados del sistema descrito por (1.3).
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
1.2.1.
3
M´ etodo de programaci´ on directa
Parte de la premisa que la funci´ on de transferencia (1.3) puede reescribirse como: (b1 − a1 b0 )z 1 + (b2 − a2 b0 )z 2 + · · · + (bn − an b0 )z 1 + a1 z 1 + a2 z 2 + · · · + an z n −
G(z ) = b 0 +
−
−
teniendo en cuenta que G(z ) =
Y (z ) U (z )
n
−
−
(1.4)
−
se obtiene:
(b1 − a1 b0 )z 1 + (b2 − a2b0 )z 2 + · · · + (bn − an b0)z n Y (z ) = b 0 U (z ) + U (z ) 1 + a1z 1 + a2 z 2 + · · · + an z n −
−
−
−
−
−
(1.5)
que a su vez se puede expresar como: ˜ )U (z ) Y (z ) = b 0 U (z ) + Y (z con:
(1.6)
n 1 2 ˜ ) = (b1 − a1b0 )z + (b2 − a2 b0 )z + · · · + (bn − an b0 )z Y (z (1.7) 1 + a1 z 1 + a2 z 2 + · · · + an z n ˜ ) se puede definir un Q(z ) que Por otra parte, teniendo en cuenta la expresi´ on de Y (z cumple que: −
−
−
Q(z ) =
−
−
˜ ) Y (z (b1 − a1 b0 )z 1 + · · · + (bn − an b0 )z −
−
n
−
=
U (z ) 1 + a1 z 1 + · · · + an z −
n
−
(1.8)
De ah´ı se obtiene que: Q(z ) = −a1 z 1 Q(z ) − a2 z 2 Q(z ) − · · · − an z n Q(z ) + U (z ) −
−
−
(1.9)
˜ ) = (b1 − a1 b0 )z 1 Q(z ) + (b2 − a2b0 )z 2 Q(z ) + · · · + (bn − an b0 )z n Q(z ) (1.10) Y (z −
−
−
A continuaci´ on se eligen las variables de estado como: X 1 (z ) = z n Q(z ) −
(n−1)
−
X 2 (z ) = z
Q(z )
··· X n (z ) = z 1 Q(z ) −
lo que teniendo en cuenta las propiedades de la transformada Z , implica que: zX 1 (z ) = X 2 (z ) zX 2 (z ) = X 3 (z )
··· zX n 1 (z ) = X n (z ) −
(1.11)
´ DE LA REPRESENTACI ON ´ DE EN ESPACIO DE ESTADOS DE SISTEMAS DISCRETOS 4OBTENCI ON
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) −
N´otese que seg´ u n la u ´ ltima igualdad de (1.11) se tiene que Q(z ) = zX n (z ), luego teniendo en cuenta esto y el resto de las igualdades de (1.11) podemos reescribir la expresi´on de Q(z ) en (1.9) como: zX n (z ) = −a1 X n (z ) − a2 X n 1 (z ) − · · · − an X 1 (z ) + U (z ) −
(1.13)
xn (k + 1) = −an x1 (k) − an 1 x2 (k) − · · · − a1 xn (k) + u(k)
(1.14)
o lo que es lo mismo: −
De esta manera y si tenemos en cuenta (1.12) obtenemos la siguiente expresi´ o n de la ecuaci´on de estado:
x1 (k + 1) x2 (k + 1) .. . xn 1 (k + 1) xn (k + 1) −
=
0 0 .. .
··· ···
1 0 ...
0 1 ...
0 0 −an −an
0 −an
1
−
2
−
0 0 ...
··· 1 · · · −a1
x1 (k) x2 (k) .. . xn 1 (k) xn (k) −
+
0 0 .. . 0 1
u(k)
(1.15)
Por otra parte, podemos reescribir tambi´ en (1.10) teniendo en cuenta las igualdades de (1.11) de manera que: ˜ ) = (b1 − a1 b0 )X n (z ) + (b2 − a2b0 )X n 1 (z ) + · · · + (bn − an b0 )X 1 (z ) Y (z −
(1.16)
Esto se puede llevar a la ecuaci´ on (1.6) de manera que antitransformando se obtiene: y(k) = (bn − an b0 )x1 (k) + (bn
1 − an−1 b0 )x2 (k) + · · · + (b1 − a1 b0 )xn (k) + b0 u(k)
−
(1.17)
lo cual se puede escribir como:
y(k) =
bn − an b0 bn
1
−
− an 1 b0 · · · b1 − a1 b0 −
x1(k) x2(k) .. . xn 1 (k) xn (k) −
+ b0 u(k)
(1.18)
Las ecuaciones (1.15) y (1.18) forman una representaci´ on en espacio de estados del sistema descrito por la funci´ on de transferencia (1.3) que se denomina forma can´ onica controlable .
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
1.2.2.
5
M´ etodo de programaci´ on anidada
En este caso se parte de que de la funci´ o n de transferencia (1.3) se obtiene la siguiente ecuaci´ on: Y (z ) − b0 U (z ) + z 1 (a1 Y (z ) − b1 U (z )) + · · · + z −
n
−
(an Y (z ) − bn U (z )) = 0
(1.19)
que a su vez se puede reescribir como: 1
−
Y (z ) = b0 U (z ) + z
b1 U (z ) − a1Y (z ) + z 1 (b2U (z ) − a2 Y (z ) −
+z 1 (b3U (z ) − a3 Y (z ) + · · ·) −
(1.20)
Teniendo en cuenta esto se definen las siguientes variables de estado: X n (z ) = z 1 (b1 U (z ) − a1 Y (z ) + X n 1 (z )) −
−
(1.21)
X n 1 (z ) = z 1 (b2 U (z ) − a2 Y (z ) + X n 2 (z )) .. . −
−
−
X 2 (z ) = z 1 (bn 1 U (z ) − an 1 Y (z ) + X 1 (z )) −
−
−
1
−
X 1 (z ) = z (bn U (z ) − an Y (z )) N´otese que seg´ un esta definici´ on de las variables de estado la expresi´on (1.20) se puede reescribir en forma condensada como: Y (z ) = b 0 U (z ) + X n (z )
(1.22)
Sustituyendo esta expresi´ on en la definici´ on de las variables de estado (1.21) y multiplicando por z en ambos lados de cada igualdad se obtiene: zX n (z ) = X n 1 (z ) − a1 X n (z ) + (b1 − a1 b0 )U (z ) −
zX n 1 (z ) = X n 2 (z ) − a2 X n (z ) + (b2 − a2 b0 )U (z ) .. . −
−
zX 2 (z ) = X 1(z ) − an 1 X n (z ) + (bn −
− an 1 b0 )U (z )
1
−
−
zX 1 (z ) = −an X n (z ) + (bn − an b0 )U (z ) Antitransformando lo anterior: x1 (k + 1) = −an xn (k) + (bn − an b0)u(k) x2 (k + 1) = x1 (k) − an 1 xn (k) + (bn .. . −
1
−
(1.23)
− an 1 b0 )u(k) −
xn 1 (k + 1) = xn 2 (k) − a2 xn (k) + (b2 − a2 b0 )u(k) −
−
xn (k + 1) = xn 1 (k) − a1 xn (k) + (b1 − a1 b0 )u(k) −
´ EN ESPACIO DE ESTADOS DE UN SISTEMA NO ES UNICA ´ LA REPRESENTACI ON
6
Antitransformando tambi´en la expresi´ on (1.22) se obtiene: y(k) = x n (k) + b0 u(k)
(1.24)
Finalmente, agrupando las dos expresiones anteriores se obtiene:
x1 (k + 1) x2 (k + 1) .. . xn 1 (k + 1) xn (k + 1) −
=
y(k) =
0 1 .. .
0 0 ··· 0 1
0 ··· 0 ··· ...
0 −an 0 −an 1 ... ... 0 0 · · · 1 0 −a2 0 0 · · · 0 1 −a1 0 0 ...
−
x1 (k) x2 (k) .. .
xn 1 (k) xn (k) −
x1 (k) x2 (k) .. . xn 1 (k) xn (k) −
+ b0 u(k)
+
bn − an b0 bn 1 − an 1 b0 .. . −
−
b2 − a2 b0 b1 − a1 b0
u(k)
(1.25)
A esta representaci´ o n en espacio de estados del sistema descrito por la funci´ o n de transferencia (1.3) se la denomina forma can´ onica observable .
1.3.
La representaci´ on en espacio de estados de un sistema no es u ´nica
Se ha comprobado que a un mismo sistema descrito por su funci´ on de transferencia le corresponden, al menos, dos representaciones en espacio de estado distintas. De hecho, la representaci´ on en espacio de estados de un sistema no es unica. ´ Por ejemplo, podemos tomar otras variables de estado que describan la din´ amica del sistema que sean a su vez combinaciones lineales de las variables de estado originales, o considerar que ´estas son a su vez combinaciones lineales de otras. Dicho de otro modo, dado un sistema LTI como el descrito en (1.1) podemos considerar que el vector de estado x(k) est´a relacionado con otro vector x(k) ˜ con variables de estado distintas mediante una transformaci´on: x(k) = P ˜ x(k) (1.26) donde P es una matriz invertible. Esto se puede llevar a la ecuaci´ o n de estado del sistema de manera que obtendr´ıamos: P ˜ x(k + 1) = GP ˜ x(k) + Hu(k) Premultiplicando por P 1 : −
x ˜(k + 1) = P 1 GP ˜ x(k) + P 1 Hu(k) −
−
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
7
por lo que la ecuaci´ on de estado se puede expresar como: ˜ x(k) + Hu(k) ˜ x˜(k + 1) = G˜
(1.27)
˜ = P 1 GP y H ˜ = P 1 H . De la misma manera la ecuaci´on, de la salida del con G sistema se puede expresar como: −
−
˜ x(k) + Du(k) ˜ y(k) = C ˜
(1.28)
˜ = CP y D ˜ = D. As´ı pues, las ecuaciones (1.27) y (1.28) describen una reprecon C sentaci´ on del sistema en espacio de estados que es diferente de la original pero equivalente a ella1 .
1.4.
Resoluci´ on de las ecuaciones del espacio de estados
En esta secci´ o n se trata el tema de la resoluci´ on de las ecuaciones de estado. Es decir, se presentar´ an procedimientos para obtener el valor del vector de estado para un determinado instante de tiempo k > 0 a partir del valor de x(0), es decir, del valor inicial del vector de estados.
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) = G 2 x(0) + GHu(0) + Hu(1) x(3) = Gx(2) + Hu(2) = G 3 x(0) + G2 Hu(0) + GHu(1) + Hu(2) .. . generalizando para cualquier k > 0: k−1
k
x(k) = G x(0) +
Gk
j 1
− −
Hu( j)
(1.29)
j =0 1
Obs´ervese que en la ecuaci´on (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.
8
´ DE LAS ECUACIONES DEL ESPACIO DE ESTADOS RESOLUCI ON
Obs´ervese que x(k) depende del estado inicial y de los valores de la entrada. Por otra parte, la salida se puede expresar como: k−1
k
y(k) = CG x(0) + C
Gk
j 1
− −
Hu( j) + Du(k)
(1.30)
j =0
1.4.2.
Matriz de transici´ on de estados
Consid´erese la ecuaci´ on: x(k + 1) = Gx(k)
(1.31)
En este caso, al no tener se˜ nal de entrada la soluci´on de la ecuaci´ on viene dada por: x(k) = Ψ(k)x(0) con: Ψ(k + 1) = GΨ(k)
Ψ(0) = I
es decir: Ψ(k) = G k A Ψ(k) se le llama la matriz de transici´ on de estados y contiene toda la informaci´ on sobre los movimientos libres del sistema descrito por (1.31). Estos movimientos libres se refieren a los cambios de estado o evoluci´ on del estado del sistema en ausencia de entrada. En t´erminos de Ψ(k) la soluci´o n de la ecuaci´ on de estados para el sistema (1.1) viene dada por: k−1
x(k) = Ψ(k)x(0) +
Ψ(k − j − 1)Hu( j)
(1.32)
j =0
k−1
= Ψ(k)x(0) +
Ψ( j)Hu(k − j − 1)
j =0
lo que lleva a: k−1
y(k) = C Ψ(k)x(0) + C
j =0
Ψ( j)Hu(k − j − 1) + Du(k)
(1.33)
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
1.4.3.
M´ etodo basado en la transformada
9
Z
Aplicando la transformada Z a ambos lados de la ecuaci´on 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) 1 zx(0) + (zI − G) 1 HU (Z ) −
−
y antitransformando: x(k) =
Z
1
−
(zI − G) 1 z x(0) + Z −
1
−
(zI − G) 1 HU (z ) −
Esta ecuaci´ on la podemos comparar con la soluci´ on mediante el procedimiento recursivo indicado en la ecuaci´ on (1.29), e identificando t´erminos tenemos que: k
G =Z
1
−
k−1
1
−
(zI − G) z
y
Gk
j 1
− −
Hu( j) = Z
1
−
j =0
(zI − G) 1HU (z ) (1.34) −
La dificultad de este m´etodo consiste en realizar la transformada Z de las expresiones anteriores. Para ilustrar el procedimiento consid´erese el siguiente ejemplo:
Ejemplo 1.1 Dado un sistema LTI como (1.1) con: G =
0 1 −0,16 −1
Se pide calcular Ψ(k) = G K = Z (zI − G)
1
−
= = =
1
−
H =
1 1
C =
1 0
{(zI − G) 1 z }. En primer lugar calculamos:
−1 z 0,16 z + 1 z +1 (z +0,2)(z +0,8) −0,16 (z +0,2)(z +0,8)
−
1 (z +0,2)(z +0,8) z
(z +0,2)(z +0,8)
4 1 1 − 31 z +0 ,8 3 z +0,2 0,8 1 0,8 1 − 3 z+0,2 + 3 z+0,8
5 1 1 − 35 z+0 ,8 3 z +0,2 1 1 4 1 − 3 z +0,2 + 3 z +0,8
(1.35)
10
´ DE LAS ECUACIONES DEL ESPACIO DE ESTADOS RESOLUCI ON
Multiplicando lo anterior por z y antitransformando se obtiene: Ψ(k) = G k = Z
1
−
4 (−0,2)k − 31 (−0,8)k 3 − 03,8 (−0,2)k + 03,8 (−0,8)k
(zI − G) 1 z = −
5 (−0,2)k − 35 (−0,8)k 3 − 13 (−0,2)k + 34 (−0,8)k
(1.36) El ejemplo se puede completar resolviendo completamente la ecuaci´ o n de estado y la de la salida para una se˜ nal de entrada dada por: k = 0, 1, 2, · · ·
u(k) = 1
x(0) =
1 −1
Teniendo en cuenta la transformada Z de la entrada (escal´ on unitario) y que se sabe que: X (z ) = (zI − G) 1 [zx(0) + HU (z )] −
se calcula: zx(0) + HU (z ) =
z
z −z
+
z −1 z z −1
=
z2 z −1 2 −z +2z z −1
que premultiplicado por el resultado de la ecuaci´ on (1.35) lleva a: X (z ) =
17 z 6
−
z +0,2 3,4 z 6 z +0,2
+ +
22 z 9
z +0,8 17,6 z 9 z +0,8
−
+ +
25 z 18
z −1 7 z 18 z −1
y de ahi, antitransformando: x(k) =
− 17 ( −0,2)k + 22 ( −0,8)k + 6 9 3,4 (−0,2)k − 179,6 (−0,8)k + 6
25 18 7 18
Finalmente la ecuaci´ on de salida ser´a: y(k) =
1 0 x(k) 17 22 25 = − (−0,2)k + (−0,8)k + 6 9 18
1.4.3.1.
Procedimiento alternativo para calcular (zI − G)
1
−
Se observa en el ejemplo 1.1 que gran parte del c´ alculo se emplea en calcular (zI − 1 G) . Esto puede ser muy engorroso cuando el orden de las matrices involucradas es superior a 3. A continuaci´ on se detalla un procedimiento alternativo para esos casos. En primer lugar es conocido que, por definici´ on de matriz inversa: −
(zI − G)
1
−
=
Adj(zI − G) |zI − G|
CAP ´ITULO 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| = z n + a1 z n 1 + a2 z n 2 + · · · + an
−
−
Por otra parte se puede demostrar que: Adj(zI − G) = I z n
1
−
+ H 1 z n
2
−
+ H 2 z n
3
−
+ · · · + H n
1
−
donde las matrices H i se calculan mediante: H 1 = G + a1 I H 2 = GH 1 + a2 I .. . H n
= GH n 1 + an 1 I
1
−
−
−
H n = GH n 1 + an I = 0 −
y los ai se calculan a su vez como: a1 = −traza(G) 1 a2 = − traza(GH 1 ) 2 1 a3 = − traza(GH 2 ) 3 .. . 1 an = − traza(GH n 1 ) n −
Ejemplo 1.2 A continuaci´ on se calcular´ a la inversa de (zI − G) para el ejemplo 1.1 mediante este procedimiento alternativo. Dado que el orden de la matriz es n = 2, se tiene que:
|zI − G| = z 2 + a1z + a2 Adj(zI − G) = Iz + H 1 donde:
a1 = −traza(G) a2 = − 12 traza(GH 1 )
H 1 = G + a1 I
La traza de G es igual a 1, luego a1 = 1 y de ah´ı se obtiene que H 1 = G + I , con lo que se puede calcular: 1 a2 = − traza 2
0 1 −0,16 −1
1 1 −0,16 0
= 0,16
12
´ DE LAS ECUACIONES DE ESTADO CONTINUAS DISCRETIZACI ON
con lo que se obtiene:
1 1 Adj(zI − G) = Iz + −0,16 0 z + 1 1 = −0,16 z
|zI − G| = z 2 +z +0,16 = (z +0,2)(z +0,8)
Finalmente: (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.
Discretizaci´ on de las ecuaciones de estado continuas
En esta secci´ on veremos c´ omo se puede pasar de un modelo en espacio de estado continuo a discreto. Se partir´ a de un sistema lineal e invariante en el tiempo continuo: x˙ = Ax + Bu y = Cx + Du
(1.37)
Supondremos que la entrada s´ olo cambia en ciertos instantes igualmente espaciados en el tiempo, es decir, s´olo puede cambiar en t = kT , para k = 0, 1, 2, · · ·. Al discretizar la ecuaci´ on de estado ´esta tomar´ a la forma: x((k + 1)T ) = G(T )x(kT ) + H (T )u(kT )
(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 soluci´ on de la ecuaci´ on de estado en tiempo continuo:
t
At
x(t) = e x(0) + e
At
e
Aτ
−
Bu(τ )dτ
(1.39)
0
Supondremos que la entrada u(t) es muestreada mediante un mantenedor de orden cero, por lo que se cumple que: u(t) = u(kT )
para
kT ≤ t ≤ kT + T
(1.40)
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
13
Se tiene que: x((k + 1)T ) = e
A(k+1)T
(k+1)T
A(k+1)T
x(0) + e
Aτ
−
e
Bu(τ )dτ
(1.41)
0
kT
x(kT ) = eAkT x(0) + eAkT
e
Aτ
−
Bu(τ )dτ
(1.42)
0
Mutiplicando la ecuaci´ on (1.42) por eAT y rest´ andola de la ecuaci´ on (1.41) se obtiene: x((k + 1)T ) = e
AT
A(k+1)T
x(kT ) + e
(k+1)T Aτ
−
e
Bu(τ )dτ
(1.43)
kT
Teniendo en cuenta la suposici´ on de que u(t) es constante en el intervalo de integraci´ on (ver (1.40)) se puede sustituir u(τ ) por u(kT ). Aplicando esto y operando se llega a:
T
AT
x((k + 1)T ) = e
x(kT ) + e
AT
T
AT
= e
x(kT ) +
Aτ
−
e
Bu(kT )dτ
0
Aλ
−
e
Bu(kT )dλ
(1.44)
0
donde λ = T − τ . Sea:
G(T ) = eAT
T
H (T ) =
0
entonces la ecuaci´ on (1.44) queda:
eAλ dλ B
x((k + 1)T ) = G(T )x(kT ) + H (T )u(kT )
(1.45)
(1.46)
que es la ecuaci´ on a la que ten´ıamos que llegar y por tanto se ha obtenido la ecuaci´ on de estado continuo discretizada. En el caso particular (aunque muy com´ un, y por tanto interesante) de que A sea una matriz invertible se tiene que:
H (T ) = eAT − I A 1 B −
Por otra parte, la ecuaci´ on 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 ecuaci´ on en tiempo continuo. Existen diferentes m´etodos para calcular eAT . Quiz´a s el m´as sencillo de aplicar cuando se trata de calcular la exponencial con papel y l´ apiz sea utilizar la equivalencia: eAt = L
1
−
(sI − A)
1
−
(1.48)
14
´ DE LAS ECUACIONES DE ESTADO CONTINUAS DISCRETIZACI ON
donde L 1 indica la transformada de Laplace inversa. Desde el punto de vista pr´ actico el m´etodo consistir´ıa en calcular (sI − A) 1 (n´otese que puede emplearse el m´etodo para calcular (zI − G) 1 dado en la secci´on 1.4.3.1) y aplicar a posteriori la transformada de Laplace inversa a cada elemento de la matriz. −
−
−
Ejemplo 1.3 Se ilustrar´ a en este ejemplo el c´ alculo de eAt siendo: A =
0 1 0 −2
Para ello se calcula: (sI − A) =
s 0 0 s
−
0 1 = 0 −2
s −1 0 s+2
y aplicando los m´etodos vistos en la secci´ on 1.5 y subsiguientes se calcula la inversa: 1
−
(sI − A)
=
1
1 s(s+2) 1 (s+2)
s
0
Finalmente se aplica la transformada inversa de Laplace a cada elemento de la matriz anterior de manera que se obtiene: eAt = L
1
−
(sI − A)
1
−
=
1 0
1 (1 2
−e e 2t
2t
−
−
)
Ejemplo 1.4 Como ejemplo de discretizaci´ on de las ecuaciones de estado en tiempo continuo, consid´erese el siguiente sistema: x˙ = −ax + u y = x Usando las expresiones de (1.45) se obtiene: G(T ) = eAT = e aT −
y H (T ) = = =
T
0
T
0
eAλ dλ B e
1−e−aT a
aλ
−
dλ
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
15
Luego: x(k + 1) = e aT x(k) + y(k) = x(k) −
1.6.
1−e−aT a
u(k)
Controlabilidad y Observabilidad
En esta secci´ o n se pasan a tratar dos conceptos clave en el estudio de sistemas din´amicos, la controlabilidad y la observabilidad. El primero se refiere a la existencia de una secuencia de actuaciones para llevar el sistema a un estado arbitrario. Por otro lado, la observabilidad tiene que ver con la posibilidad de determinar el valor del vector de estados de un sistema a partir de observaciones de las salidas y la entradas de dicho sistema. Ambos conceptos se deben a Kalman y son claves en estrategias de control como la colocaci´ on de polos por realimentaci´ on del vector de estados o el control ´optimo.
1.6.1.
Controlabilidad
Definici´ on 1.2 Un sistema de control es completamente controlable o de estado completamente controlable, si es posible transferir al sistema desde un estado inicial arbitrario a cualquier estado deseado en un tiempo finito. Tambi´en puede decirse que ser´ a completamente controlable, si cada variable de estado se puede controlar en un tiempo finito por una se˜ nal de control que no est´ e sujeta a ning´ un tipo de restricci´ on.
Como es habitual nos centraremos en el estudio de la controlabilidad de sistemas LTI: x((k + 1)T ) = Gx(kT ) + Hu(kT ) (1.49) siendo la se˜ nal u(kT ) constante en el intervalo de tiempo kT ≤ t ≤ (k + 1)T . En este caso, la controlabilidad de estado completo implica que existe una se˜ nal de control constante entre cada tiempo de muestreo que transfiere al sistema, desde un estado x(kT ) cualquiera a un estado deseado xf en como mucho n periodos de muestreo, donde n es el tama˜ no del vector de estados. Recordemos que la soluci´ on de la ecuaci´on de estados es: n−1
n
x(nT ) = G x(0) +
j =0
Gn
j 1
− −
Hu( jT )
16
CONTROLABILIDAD Y OBSERVABILIDAD
= Gn x(0) + Gn 1Hu(0) + Gn 2 Hu(T ) + · · · + Hu((n − 1)T ) −
−
de ah´ı se obtiene:
n
x(nT ) − G x(0) =
. . . H .. GH .. · · · .. Gn 1 H
donde la matriz M c =
−
u((n − 1)T ) u((n − 2)T ) .. .
. . . H .. GH .. · · · .. Gn 1 H
es la llamada matriz de controlabilidad .
−
u(0)
(1.50)
(1.51)
Sup´ongase un estado final arbitrario x(nT ) = xf . Si el sistema fuera controlable deber´ıa existir un vector de actuaciones que al multiplicarlo por la matriz de controlabilidad (1.51) diese como resultado x f − Gn x(0). Como x f y x(0) pueden ser cualquier par de valores del vector de estado, es f´ acil entender que x f − Gn x(0) puede ser cualquier vector de Rn . De esto se desprende que para que el sistema sea controlable, el espacio de vectores generado por los vectores que forman la matriz de controlabilidad (es decir, sus columnas) debe ser todo Rn . La condici´on necesaria y suficiente para que se cumpla esto es que el rango de la matriz de controlabilidad sea n. Este resultado permite enunciar el siguiente lema.
Lema 1.1 Dado un sistema LTI de orden n representado por (1.49), es condici´ on 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 condici´ on establecida en el lema 1.1 podr´ a alcanzar cualquier estado como m´ aximo en n periodos de muestreo, pero s´ olo si no existen restricciones sobre la se˜ nal de control. En caso contrario, se tardar´ıa m´ as. Si el sistema es controlable, se podr´ a determinar la secuencia de valores de la entrada necesaria para llevar al sistema a xf resolviendo el sistema de ecuaciones (1.50). Por otra parte, la controlabilidad se puede comprobar a partir de la funci´ on de transferencia de un sistema observando si hay cancelaciones de polos y ceros. En el caso de que las hubiese, el sistema no ser´ıa controlable. Por tanto, el sistema Y (z ) z + 0,2 = U (z ) (z + 0,8)(z + 0,2) no ser´ıa controlable pues existe una cancelaci´ on de un polo con un cero.
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
1.6.2.
17
Controlabilidad de la salida completa
En control autom´ atico el objetivo m´as com´ un es controlar la evoluci´ on de la salida del sistema. Se puede demostrar que la controlabilidad del estado no implica la controlabilidad de la salida. Sin embargo, podemos comprobar dicha controlabilidad de una manera an´ aloga a la de la controlabilidad del estado completo. Sea un sistema cuya ecuaci´on de estado es (1.49) y la ecuaci´ on de la salida es: y(kT ) = C x(kT )
(1.52)
La condici´ on para comprobar la controlabilidad de la salida completa ser´ıa que Rango
. . . CH .. CGH .. · · · .. CGn 1 H −
= m
(1.53)
donde m es el n´ umero de salidas. Por otra parte, si la ecuaci´ on de la salida es: y(kT ) = Cx(kT ) + Du(kT )
(1.54)
la condici´on a comprobar ser´ıa: Rango
. . . . D .. CH .. CGH .. · · · .. CGn 1 H −
= m
(1.55)
N´otese que en esta segunda forma de la ecuaci´ on de salida, la presencia del t´ermino Du(kT ) no empeora la controlabidad del sistema, sino justo lo contrario. De hecho, al introducirse una columna extra en la matriz de controlabilidad (la correspondiente a D), se puede dar el caso que se pase de tener m − 1 columnas linealmente independientes a tener m, por lo que se lograr´ıa la controlabilidad de la salida. Dicho de otra manera, encontrar m vectores linealmente independientes siempre ser´ a igual o m´ a s f´acil entre n + 1 vectores que entre s´ olo n de esos vectores.
1.6.3.
Observabilidad
Consid´erese un sistema aut´ onomo: x((k + 1)T ) = Gx(kT ) y(kT ) = Cx(kT )
(1.56)
Definici´ on 1.3 El sistema aut´ onomo (1.56) es completamente observable si todo estado inicial x(0) se puede determinar de la observaci´ on de y(kT ) durante un n´ umero finito de intervalos de muestreo. Para que ello ocurra, cada transici´ on del estado debe afectar a todos los elementos del vector de salida.
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. N´ otese que se ha considerado un sistema aut´ onomo. La raz´ on de esto es que la observabilidad de un sistema no aut´ onomo se reduce a la del sistema aut´ onomo equivalente. Se sabe que la soluci´ on de la ecuaci´ on de estado para el sistema aut´ onomo (1.56) es: x(kT ) = G k x(0) y de ah´ı y(kT ) = CGk x(0) La observabilidad completa implica que usando y(0), y(T ), y(2T ), · · · , y((n − 1)T ) se pueden determinar x1 (0), x2 (0), · · · , xn (0) donde x i (0) indica la i´esima componente de x(0). Es decir el sistema es completamente observable si las ecuaciones: y(0) = Cx(0) y(T ) = CGx(0) .. . y((n − 1)T ) = CGn 1 x(0) −
permiten determinar x1(0), x2 (0), · · · , xn (0). Como y(kT ) es un m-vector (asumiendo que el sistema tiene m salidas) el sistema de ecuaciones anterior es en realidad un sistema de n × m ecuaciones, en las que las inc´ ognitas son las n componentes de x(0). Para que la soluci´ o n de este sistema sea u ´ nica debe haber entre ellas n ecuaciones linealmente independientes. Esto se traduce en la siguiente condici´ on de observabilidad completa: . . . Rango = n (1.57) C .. G C .. · · · .. (G )n 1 C
∗
∗
∗
∗
−
∗
donde indica la conjugada traspuesta de una matriz y a la matriz que aparece en la condici´on se la llama matriz de observabilidad. ∗
Por otra parte, de una manera an´ aloga a la de la controlabilidad, la observabilidad de un sistema a partir de su funci´ on de transferencia se puede asegurar si ´esta no presenta cancelaciones de polos y ceros.
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
19
Finalmente, se enuncia a continuaci´ on una propiedad que ser´ au ´ til para poder obte– ner la representaci´ o n de un sistema en forma can´ onica, sin que por ello pueda argumentarse que existe la posibilidad de variar la controlabilidad u observabilidad del mismo.
Propiedad 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 transformaci´ on como (1.26) con: ˆ = P 1 GP G ˆ = P 1 H H ˆ = CP C siendo P una matriz invertible, entonces las matrices de controlabilidad y observabilidad del sistema equivalente tienen el mismo rango que M y N . − −
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 S 1 : S 1 :
x((k + 1)T ) = Gx(kT ) + Hu(kT ) y(kT ) = Cx(kT )
(1.58)
ˆ(kT ) + C u ˆ(kT ) xˆ((k + 1)T ) = G x yˆ(kT ) = H xˆ(kT )
(1.59)
Sea S 2 el sistema dual de S 1 : S 2 :
∗
∗
∗
Entonces se puede afirmar que2 : SI S 1
1.7.
CONTROLABLE OBSERVABLE
ENTONCES S 2
OBSERVABLE CONTROLABLE
Transformaci´ on de un sistema en formas can´ onicas
Sea un sistema controlable y observable: x(k + 1) = Gx(k) + Hu(k) y(k) = Cx(k) + Du(k) 2
N´otese que los sistemas S 1 y S 2 son diferentes, es decir, S 2 de S 1 .
no
(1.60)
es una representaci´on alternativa
20
´ DE UN SISTEMA EN FORMAS CAN ONICAS ´ TRANSFORMACI ON
A continuaci´ on, se ver´a el procedimiento para obtener las formas can´ onicas a partir de ese sistema.
1.7.1.
Obtenci´ on de la forma can´ onica controlable
Sea una matriz de transformaci´ on T = M W con:
M =
. . . H .. GH .. · · · .. Gn 1 H −
W =
an an .. .
1
−
2
−
an an ...
2
−
3
−
a1 1
1 0
· · · a1 ··· 1 ...
1 0 ...
··· ···
0 0
0 0
donde los coeficientes ai son los coeficientes de la ecuaci´ on caracter´ıstica del sistema, es decir: |zI − G| = z n + a1 z n 1 + · · · + an 1 z + an = 0 −
−
Se define el estado x(k) en funci´ on de la transformaci´ on de otro vector de estados x(k): ˆ x(k) = T ˆ x(k) Entonces el sistema:
ˆ x(k) + Hu(k) ˆ xˆ(k + 1) = Gˆ ˆ ˆ y(k) = Cx(k) + Du(k)
(1.61)
1 ˆ ˆ = T 1 H , C ˆ = CT , D = D ˆ con G = T GT , H est´a en forma can´ onica controlable. −
1.7.2.
−
Obtenci´ on de la forma can´ onica observable
En este caso la matriz de transformaci´ on es: ∗
Q = (W N ) con N =
C
∗
... G C ∗
∗
1
−
... · · · ... (G )n 1 C ∗
−
∗
ˆ = Q 1 GQ, H ˆ = Q 1 H , C ˆ = CQ, D ˆ = D y def´ınase el estado x(k) como Sea G x(k) = Qˆ x(k). Entonces el sistema (1.61) est´ a en forma can´ onica observable. −
−
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
1.8.
21
Colocaci´ on de polos mediante realimentaci´ on del vector de estados
En esta secci´ on se presentar´ a una estrategia de control que permite elegir la situaci´ on de los polos de bucle cerrado del sistema, mediante la realimentaci´ on lineal del vector de estados. Se ver´ a que la condici´on necesaria para que esto se pueda conseguir es que el sistema sea controlable. Por otra parte, se asumir´ a que todas las variables de estados son accesibles, es decir, podemos medirlas directamente sin tener que estimarlas por otros procedimientos.
1.8.1.
Condici´ on necesaria y suficiente para la colocaci´ on arbitraria de polos
Sea un sistema LTI: x(k + 1) = Gx(k) + Hu(k) Se escoge una ley de control que tiene la forma: u(k) = −Kx(k) es decir, la se˜ nal de control se obtiene de la realimentaci´ on negativa del vector de estados multiplicado por una cierta matriz de ganancias K . Este tipo de ley de control se la denomina usualmente realimentaci´ on del vector de estados. Con esta ley de control el sistema en bucle cerrado quedar´ıa: +
H
x(k+1)
x(k)
-1
z
+
G u(k)
-K
Figura 1.2: Diagrama de bloques de un sistema controlado por una realimentaci´ on del vector de estados.
y la ecuaci´ on de estado del sistema en bucle cerrado resultar´ıa ser: x(k + 1) = (G − HK )x(k)
´ DE POLOS MEDIANTE REALIMENTACI ON ´ DEL VECTOR DE ESTADOS 22 COLOCACI ON
De manera an´ aloga a lo que se da en sistemas continuos, los autovalores de (G − HK ) son (o coinciden con) los polos de bucle cerrado del sistema. Por tanto, lo que buscamos es ver que condici´on es necesario cumplir para que exista una matriz de ganancias K determinada, que nos permita colocar los autovalores de (G − HK ) en unos valores elegidos a voluntad.
Lema 1.2 Se demuestra que la condici´ on necesaria y suficiente para que por medio de una realimentaci´ on del vector de estados puedan escogerse los polos de bucle cerrado (es decir, los autovalores de (G − HK )) es que el sistema en bucle abierto sea de estado completamente controlable. Si esta condici´ on no se cumple, no se podr´ an elegir todos los polos de bucle cerrado.
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 ir´an por pares conjugados. La ecuaci´ on caracter´ıstica del sistema en bucle abierto es:
|zI − G| = z n + a1 z n
1
−
+ · · · + an = 0
Se define una matriz de transformaci´ on T = MW exactamente igual que la matriz de transformaci´ on necesaria para obtener la forma can´ onica controlable descrita en la secci´on 1.7.1. Se obtiene:
ˆ T 1 GT = G = −
0 0 .. .
··· ···
1 0 ...
0 1 ...
0 0 −an −an
0 −an
1
−
2
−
0 0 ...
··· 1 · · · −a1
Se define a continuaci´ on: ˆ = KT = K Entonces:
ˆ K ˆ = H
0 0 .. . 1
δ n δ n
1
−
δ n δ n
1
−
· · · δ 1
· · · δ 1 =
0 0 .. .
ˆ = T 1 H = H −
0 0 ...
··· 0 ··· 0 ...
0 0 ··· 0 δ n δ n 1 · · · δ 1 −
0 0 .. . 0 1
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
23
Por otra parte, la ecuaci´ on caracter´ıstica del sistema en B.C. es: ˆ HK ˆ | |zI − G − HK | = |zI − G + 1 0 ··· 0 0 1 ··· 0 ... = z ... ...
+
=
0 0 ··· 0 0 ··· 0 0 0 0 .. ... . 0 0 δ n δ n 1 z 0 .. .
−
0 1 ··· 0 ··· 0 ...
··· 0 · · · δ 1 −1 z ...
−
0 0 .. .
··· ···
1 0 ...
0 1 ...
0 0 −an −an
0 −an
1
−
··· ···
2
−
0 0 ...
0 0 ...
··· 1 · · · −a1
··· −1 0 0 an + δ n an 1 + δ n 1 · · · z + a1 + δ 1 n = z + (a1 + δ 1 )z n 1 + · · · + (an 1 + δ n 1 )z + (an + δ n ) = 0 −
−
−
−
−
A su vez, la ecuaci´on caracter´ıstica correspondiente a los autovalores deseados ser´ a: 1
(z − µ1 )(z − µ2 ) · · · (z − µn ) = z n + α1 z n
−
+ α2 z n
2
−
+ · · · + αn 1 + αn = 0 −
Igualando los coeficientes de ambas ecuaciones caracter´ısticas: α1 = a1 + δ 1 α2 = a2 + δ 2 .. . αn = an + δ n se obtiene la siguiente expresi´ on para K : ˆ 1 K = KT = δ n δ n −
=
T 1 . . . αn − an ..αn 1 − an 1 .. · · · ..α1 − a1 1
−
· · · δ 1 −
−
−
(1.62) T
1
−
que coloca los polos de bucle cerrado del sistema en los valores deseados. N´ otese que si el sistema en bucle abierto viene dado en forma can´ onica controlable, se verifica que T = I = T 1 . −
´ DE POLOS MEDIANTE REALIMENTACI ON ´ DEL VECTOR DE ESTADOS 24 COLOCACI ON
1.8.2.1.
Procedimiento alternativo: la f´ ormula de Ackermann
Existen otros procedimientos alternativos para el c´ alculo de la matriz K . Aqu´ı mencionaremos uno muy conocido, el que emplea la f´ ormula de Ackermann. Seg´ un esto, la expresi´on para K tomar´ıa la forma: K = donde:
0 0 ··· 0 1
. . . H .. GH .. · · · .. Gn 1 H −
1
φ(G) = G n + α1 Gn
−
1
−
φ(G)
+ · · · + αn 1 G + αn I −
Los coeficientes αi se calcular´ an como en el apartado anterior. Finalmente, otro procedimiento que puede ser util ´ para sistemas de bajo orden consiste en tomar K = k1 k2 · · · kn
plantear la ecuaci´ on caracter´ıstica en funci´ on de los ki :
|zI − G + HK | = 0 e igualar a los coeficientes de z n + α1 z n
1
−
1.8.3.
+ α2 z n
2
−
+ · · · + αn 1 + αn = 0 −
Control Dead-Beat
Este es un tipo de control que resulta ser un caso particular del control por colocaci´on de polos.
Definici´ on 1.4 Dado un sistema LTI, entenderemos como control dead-beat aquel que consigue llevar el estado a cero en como m´ aximo n intervalos de muestreo, donde n es el orden del sistema. Para obtener este tipo de control se deben especificar los polos de bucle cerrado conforme a lo que se establece en el siguiente lema.
Lema 1.3 Se demuestra que si se escogen los polos de bucle cerrado de manera que est´ en todos en el origen (es decir, todos los autovalores de (G − HK ) igual a cero) se consigue un control dead-beat.
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
25
Esto se lleva a la pr´ actica con una matriz de realimentaci´ o n del vector de estados calculada mediante: K = −an −an 1 · · · −a1 T 1
−
−
Este tipo de control no goza de una reputaci´ on excesivamente favorable porque habitualmente se precisa de una se˜ nal de control de amplitud muy grande para obtener la respuesta dead-beat. De hecho en este tipo de control, el unico ´ par´ ametro de dise˜ no que se ha de elegir es el tiempo de muestreo. Si ´este es muy peque˜ no, los n intervalos de muestreo supondr´ an un tiempo total muy corto, de manera que para llevar el estado a cero partiendo de un estado inicial arbitrario se precisar´ a un valor muy alto de la se˜nal.
Ejemplo 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 ecuaci´on caracter´ıstica de bucle cerrado deseada es:
|zI − G + HK | = (z − 0,5 − j0,5)(z − 0,5 + j0,5) = z 2 − z + 0,5 = 0
(1.63)
por tanto, los coeficientes αi son en este caso α1 = −1 y α2 = 0,5. Por otra parte, la ecuaci´on caracter´ıstica de bucle abierto del sistema es:
|zI − G| =
−1 z 0,16 z + 1
por lo que los coeficientes ai son a1 = 1 y a2 = 0,16. A partir de aqu´ı se puede aplicar cualquiera de los m´etodos explicados anteriormente.
´ DE POLOS MEDIANTE REALIMENTACI ON ´ DEL VECTOR DE ESTADOS 26 COLOCACI ON
M´etodo 1
K =
α2 − a2
.. . α1 − a1
1
−
T
Obs´ervese que el sistema viene dado en forma can´ onica controlable, por lo que T = I y por tanto: K = 0,34 −2
M´etodo 2 (f´ ormula de Ackermann) En este caso la f´ormula de Ackermann ser´ıa: K = donde φ(G) es
0 1
. H .. GH
φ(G) = G2 − G + 0,5I −0,16 −1 − = 0,16 0,84 0,34 −2 = 0,32 2,34
por lo que K = =
1
−
0 1 −0,16 −1
0 1 0 1 1 −1 0,34 −2
1
−
φ(G)
0,5 0 0 0,5
+
0,34 −2 0,32 2,34
M´etodo 3 Este procedimiento es apropiado para sistemas de bajo orden como el que nos ocupa. En primer lugar, se toma K = [k1 k2 ] y se formula la ecuaci´ on caracter´ıstica de bucle cerrado en funci´ on de K :
z 0 0 1 + |zI − G + HK | = − 0 z −0,16 −1 −1 z = 0,16 + k1 z + 1 + k2 2 = z + (1 + k2 )z + k1 + 0,16 = 0
0 1
k1 k2
la comparamos con la ecuaci´ on caracter´ıstica deseada (1.63) e identificamos coeficientes: 1 + k2 = −1 k1 + 0,16 = 0,5
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
27
de donde se obtiene que k 1 = 0,34 y k 2 = −2, por lo que se tiene ya el valor de K , que evidentemente coincide con el obtenido mediante los dos m´etodos anteriores.
Ejemplo 1.6 Calcular para el mismo sistema del ejemplo anterior la matriz K que conlleva un control dead-beat, y comprobarlo calculando la evoluci´ o n del sistema a partir de un estado inicial arbitrario. En este caso: K =
−a2 −a1
1
−
T
=
−0,16 −1
Vamos a verificar que el control es dead-beat. Para ello, obtenemos la ecuaci´ on de estado del sistema en bucle cerrado:
x1(k + 1) x2(k + 1)
=
=
0 1 −0,16 − 1 0 1 x1 (k) 0 0 x2 (k)
x1 (k) x2 (k)
+
0 1
0,16 1
x1 (k) x2 (k)
Supongamos ahora que el estado inicial es
x1 (0) = x2 (0)
a b
entonces se tiene que:
x1 (1) = x2 (1)
0 1 0 0
a = b
b 0
e iterando una vez m´ as:
x1 (2) = x2 (2)
0 1 0 0
b = 0
0 0
luego este control lleva al estado a cero en 2 pasos y es efectivamente un control deadbeat.
1.9.
Observadores del estado
En el control por colocaci´ on de polos se asume que el estado se puede medir directamente. En ocasiones, sin embargo, puede que esta suposici´ on no se cumpla y todas
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 deber´ an estimar los valores de esas variables de estado no accesibles. Este proceso de estimaci´on es lo que se conoce como observaci´ on . Un observador del estado es un subsistema del sistema de control, que realiza la estimaci´on de las variables de estado bas´andose en los valores medidos (observados) de las salidas y la se˜ nal de control. Se distinguen tres tipos de observadores, en funci´ on de las variables de estado que se estimen: 1. Observador del estado completo. Es aqu´el que estima todas las variables de estado. 2. Observador de orden m´ınimo. En este caso s´ olo se estiman aquellas variables de estado que no son accesibles. 3. Observador de orden reducido. Este tipo de observador estima todas las variables no accesibles y algunas de las accesibles. En esta asignatura nos centraremos en los dos primeros tipos de observadores. Como en el caso de la colocaci´ on de polos, formularemos en primer lugar las condiciones para que se pueda llevar a cabo la observaci´ on.
Lema 1.4 Condici´ on necesaria y suficiente para la observaci´ on del estado. Dado un sistema LTI, se puede determinar x(k + 1) a partir de y(k), y(k − 1),· · ·,y(k − n + 1) y u(k),u(k − 1),· · ·,u(k − n + 1), donde n es el orden del sistema, s´ı y s´ olo s´ı, el sistema es completamente observable. Por tanto x(k + 1) se puede determinar, si el sistema es observable, en n pasos. Sin embargo, no debe olvidarse que sobre el sistema act´ uan ruidos y perturbaciones. Por esta raz´ on no es posible utilizar un procedimiento algebraico para determinar el estado, sino que se ha de acudir a un procedimiento iterativo para estimarlo.
1.9.1.
Procedimiento iterativo para la estimaci´ on del estado
Sea un sistema LTI x(k + 1) = Gx(k) + Hu(k) y(k) = Cx(k)
(1.64)
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
29
Si se dispone de una aproximaci´ on del estado en k, que denotaremos xˆ(k), ´esta evolucionar´a seg´ un la din´amica del sistema ˆ(k + 1) = Gˆ x x(k) + Hu(k) yˆ(k) = C ˆ x(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) = xˆ(k). Podemos pues, definir el error de estimaci´ on en k como: e(k) = x(k) − xˆ(k) Restando la ecuaci´ on de estado aproximada (1.65) de la real (1.64): x(k + 1) − x ˆ(k + 1) = G (x(k) − xˆ(k)) que teniendo en cuenta la definici´ on del error de aproximaci´ on es equivalente a: e(k + 1) = Ge(k) que se puede considerar como un sistema din´ amico aut´ onomo. Si G es una matriz estable (es decir, si sus autovalores est´ an dentro del c´ırculo unidad) el estado de este sistema tiende a cero, es decir:
e(k) → 0 ⇒ xˆ(k) → x(k) Por tanto, si el sistema es estable, la propia din´ amica del sistema hace que la aproximaci´on del estado tienda al valor real del mismo. Esto quiere decir que podr´ıamos usar la propia ecuaci´ on del sistema para obtener en cualquier instante k una aproximaci´ on del estado, cuyo error ir´ıa decayendo a lo largo del tiempo. Esta convergencia al valor real, sin embargo, puede ser muy lenta, y por otra parte no siempre se tratar´ a con sistemas estables. Por tanto, esta estrategia no es muy aconsejable. N´otese que en el esquema que se ha presentado, no se hace uso de la salida del sistema, que siempre ser´ a accesible. Esto puede ser aprovechado para mejorar el rendimiento del observador introduci´endose un t´ermino corrector, de manera que la ecuaci´ on para obtener la aproximaci´ on del estado para el instante k + 1 ser´ıa: x ˆ(k + 1) = Gˆ x(k) + Hu(k) + K e (y(k) − C ˆ x(k)) donde K e es una matriz de ponderaci´ on o ganancia. Este t´ermino se puede elegir de manera que se mejore el rendimiento, incluso si existen discrepancias entre las matrices del sistema y las del proceso real al que dicho sistema representa.
30
1.9.2.
OBSERVADORES DEL ESTADO
Observador del estado completo
Sea un sistema LTI observable (1.64) con una ley de control por realimentaci´ on negativa del vector de estados, u(k) = −Kx(k) siendo el estado del sistema x(k) no accesible pero s´ı observable. Por tanto, podemos sustituir el valor del estado por una aproximaci´ on de manera que u(k) = −K ˆ x(k) y de ah´ı, aplicando las consideraciones de la secci´ on 1.9.1 se obtiene x ˆ(k + 1) = Gˆ x(k) + Hu(k) + K e (y(k) − yˆ(k)) = (G − K e C )x ˆ (k) + Hu(k) + K e y(k) = (G − K e C − HK )xˆ(k) + K e y(k)
(1.66)
´ Esta es la llamada ecuaci´ on del observador predictivo. La palabra predictivo se utiliza para indicar que la estimaci´on del valor futuro del estado en k + 1, se realiza utilizando informaci´on disponible en el instante k. A los autovalores de la matriz (G − K e C ) se les suele denominar polos del observador, y como se hizo en la secci´ on 1.9.1, se ver´a a continuaci´ on que marcan la din´amica de la evoluci´ on del error de observaci´ on. En efecto, si se resta la ecuaci´ on del observador de la del sistema real (1.64) se llega a que e(k + 1) = (G − K e C )e(k) de lo que puede observarse que los polos del observador determinan la din´ amica del error. Si G − K e C es estable, el error converger´ a a cero independientemente de la estimaci´on del estado inicial xˆ(0). La ecuaci´ on del observador y del propio sistema en espacio de estados controlado por la realimentaci´ on lineal del vector de estados, pueden representarse mediante un diagrama de bloques que se ilustra en las figuras 1.3 y 1.4. Finalmente, es evidente que interesa que la estimaci´ on del estado converja r´ apidamente al valor real de dicho estado. Una manera evidente de lograr esto es colocar todos los polos del observador en cero, de manera que se consiga que el error de aproximaci´ on muestre una respuesta dead-beat. Esto se consigue eligiendo de manera apropiada K e .
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
u(k)
+
H
x(k+1) +
x(k)
z-1
y(k)
+
C
31
G u(k)
-K
x(k)
u(k)
y(k) OBSERVADOR
Figura 1.3: Diagrama de bloques de un sistema LTI controlado mediante una realimentaci´on del vector de estados que estima el estado con un observador.
x(k)
u(k)
H
+
+ +
x(k+1) +
z-1
x(k)
C
+
y(k)
G
Ke
Figura 1.4: Diagrama de bloques de un observador de orden completo.
-
y(k)
32
OBSERVADORES DEL ESTADO
1.9.2.1.
C´ alculo de K e
El procedimiento para elegir K e de manera que se coloquen los polos del observador en unos valores especificados es an´ alogo al de la colocaci´ on de polos vista en la secci´ on 1.8. Si la ecuaci´on caracter´ıstica deseada del observador es: 1
z n + α1 z n
−
+ · · · + αn 1 z + αn = 0 −
y la del sistema es z n + +a1 z n
1
−
+ · · · + an 1 z + an = 0 −
entonces ∗
K e = (W N )
1
−
donde
W =
an an .. .
1
−
2
−
a1 1
an an ...
2
−
3
−
1 0
· · · a1 ··· 1 ...
1 0 ...
··· ···
0 0
0 0
αn − an αn 1 − an .. . −
1
−
α1 − a1
N =
C
∗
(1.67)
... G C ∗
∗
... · · · ... (G )n 1 C ∗
−
∗
es decir, la misma matriz W empleada en la colocaci´ o n de polos y la matriz de observabilidad3 . N´otese que si el sistema viene indicado en forma can´ onica observable (W N ) 1 = I . Tambi´en puede emplearse la f´ ormula de Ackermann, que para este caso es: 1 C 0 CG 0 K e = φ(G) .. .. . . ∗
−
donde
φ(G) = G n + α1 Gn
−
CGn
1
−
1
−
1
+ · · · + αn 1 G + αn I = 0 −
Ejemplo 1.7 Consid´erese un sistema como (1.64) con G = 3
1 1 0 1
H =
0,5 1
C =
1 0
A fin de obtener un texto m´as legible se evita en lo posible hacer referencias a material anterior, a´un a pesar de que esto pueda alargar la exposici´on del tema al repetirse ecuaciones y expresiones.
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
33
dise˜ naremos un observador del estado. En primer lugar, se ha de comprobar que el sistema es observable. Para ello se comprueba que rango
C
∗
... G C ∗
∗
= rango
1 1 0 1
= 2
luego el sistema es completamente observable. El siguiente paso es hallar la ecuaci´ on caracter´ıstica del sistema en bucle abierto:
1 1 z 0 − 0 z 0 1 2 = z − 2z + 1 = 0
|zI − G| =
luego a1 = −2 y a2 = 1. Deseamos que el observador tenga una respuesta dead-beat, luego la ecuaci´ on caracter´ıstica deseada del observador ser´ a: z 2 = 0 ⇒ α1 = α 2 = 0 A continuaci´ on se calcular´ a K e :
∗
K e = (W N ) con N =
1 1 0 1
W =
resultando K e =
−1 2
1
−
a1 1 = 1 0
−2 1 1 0
2 1
C´alculo de K e mediante la f´ormula de Ackermann En este caso la f´ormula de Ackermann es: K e = φ(G)
1
−
C CG
0 1
con φ(G) = G 2 + α1 G + α2 I = G 2 resultando K e =
2
1
1 1 0 1
1 0 1 1
−
0 = 1
2 1
que evidentemente es el mismo resultado que el obtenido con el procedimiento anterior.
34
OBSERVADORES DEL ESTADO
Estudio de la evoluci´ on del error de estimaci´ on Vamos a comprobar que el error cae a cero seg´ un una respuesta dead-beat. Sea
xˆ(0) =
a2 b2
e(0) = x(0) − xˆ(0) =
a1 − a2 b1 − b2
=
G − K e C =
−1 1 −1 1
x(0) =
a1 b1
entonces
adem´as se tiene que
el error evoluciona, por tanto, seg´ un
e1 (k + 1) e2 (k + 1)
=
a b
e1 (k) e2 (k)
−1 1 −1 1
por lo que se calcula la evoluci´ on de este error:
e1 (1) e2 (1)
=
=
e1 (2) e2 (2)
=
=
−1 1 −1 1 −a + b −a + b −1 1 −1 1 0 0
a b
−a + b −a + b
luego, tal y como se pretend´ıa, la estimaci´ on del vector de estados coincide con el valor real de dicho vector dos tiempos de muestreo despu´es de iniciarse la estimaci´ on. Finalmente, la ecuaci´ on del observador es:
xˆ1 (k + 1) x ˆ1 (k + 1)
=
−1 1 −1 1
xˆ1 (k) xˆ1 (k)
+
0,5 1
u(k) +
2 1
y(k)
1.9.2.2.
Comentarios acerca del papel de K e
Se ha visto que K e se utiliza para corregir la estimaci´ on, disminuyendo el efecto de las incertidumbres que se tengan sobre la din´ amica real de la planta. Si estas incertidumbres son importantes (es decir, si se tiene poca confianza en que el modelo de la
CAP ´ITULO 1. CONTROL CONTROL DE SISTEMAS DISCRETOS DISCRETOS EN EL ESPACIO ESPACIO DE ESTADOS ESTADOS
35
planta coincida con la din´ amica amica real de la misma) m isma) este t´ermino ermin o correct co rrector or debe d eberr´ıa tomar t omar un valor alto. Sin embargo, si la se˜ nal nal de salida est´ a contaminada por perturbaciones y ruido en general procedente, por ejemplo, de los sensores de medida, entonces la se˜ nal nal de salida no es fiable en el sentido de que no proviene unicamente ´ de la din´ amica amica real de la planta. pla nta. Por tanto, en estas e stas situaciones situac iones el t´ermino ermin o correcto cor rectorr deber deb er´´ıa ser m´ as peque˜ no. no. Al seleccionar K e se debe pensar no s´ olo en reducir el error en base a una correcci´ olo on on en´ergica, ergica, sino que hay que tener en cuenta cuenta que cuando hay ruidos o perturbaciones, perturbaciones, una ganancia K ganancia K e alta no contribu c ontribuir ir´´ıa a reducir reduc ir el error, erro r, porque p orque las corre c orreccion cciones es no ir´ ir´ıan en la direcci´on on correcta. Es decir, hay que llegar a un compromiso entre la velocidad de respuesta y la sensibilidad a ruidos y perturbaciones.
1.9.2 1.9.2.3 .3..
Efec Efecto toss de la la adici adici´ on o ´n del observador
Hemos supuesto que al no disponerse de x(k) para calcular la se˜ nal nal de control, se usa el observador para producir una estimaci´ on on xˆ(k), de manera que u(k) = −K ˆ K x ˆ(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 realimentaci´ on del vector de estado K . ¿Que efectos tiene el observador sobre los polos de bucle cerrado? Para estudiar esto, se analizar´ a el efecto que tiene la adici´ on on del observador observador sobre la ecuaci´ on caract car acter´ er´ıstica ıst ica del sistema en bucle cerrado. Sea el sistema (1.64) controlado mediante (1.68). La ecuaci´ on o n de estado puede reescribirse reescribirse como: x(k + 1) = Gx( Gx(k) − H K ˆ K x ˆ(k ) = (G − H K )x(k ) + H K (x(k) − xˆ(k)) = (G − H K )x(k ) + H K e(k) donde e(k ) es el error de observaci´ on o n en el instante k. Recordemos que el error de observaci´ on on viene dado por: e(k + 1) = (G (G − K e C )e(k) La ecuaci´ on de estado y la del error, se pueden combinar en la ecuaci´ on on de un sistema aut´onomo onomo aumentado que describe la din´ amica del sistema observado amica observado (es decir, de todo to do el conjunto sistema-controlador-observador):
x(k + 1) e(k + 1)
=
G − HK HK 0 G − K e C
x(k) e(k)
36
OBSERV OBSERVADORES DEL ESTADO
La ecuaci´ on on caracter´ caracter´ıstica de este sistema es
es decir,
−H K zI − G + H K =0 0 zI − G + K e C
|zI − G + H K || ||zI − G + K e C | = 0 Dado que las l as ra r a´ıces de esta e sta ecuaci e cuaci´ on o´n son las ra´ıces ıces de cada uno de los dos determinantes que aparecen, esto implica que los polos del sistema completo son los polos del sistema en bucle cerrado, tal y como se han colocado mediante el dise˜ no n o de K junto K junto con los polos del observador. Por tanto, la colocaci´ on de polos y la observaci´on on on son dos cosas independientes, independientes, porque la adici´ on del observador no modifica los polos de bucle cerrado del sistema tal y como se eligieron al dise˜ nar nar K . Por tanto:
Los polos del sistema se eligen para que se cumplan las especificaciones del sistema de control. Los polos del observador se escogen de manera que la respuesta del observador sea m´as a s r´apida a pida que la del sistema (para que esta ultima u ´ ltima resulte dominante), t´ıpicamente ıpicam ente 4 o 5 veces m´ as as r´apida. apida.
1.9.3.
Observador Observador de orden m´ m´ınimo
Sup´ongase ongase que x(k) es un n-vector y que y (k) es un m-vector. Como las m salidas son combinaciones lineales del estado, hay m hay m variables que no necesitan ser estimadas. El observador o bservador de orden m´ınimo ser´ a el que estime las n − m restantes. Para dise˜ nar nar el observador de orden m´ınimo estableceremos e stableceremos una partici´ on del vector vector de estados: x(k ) =
xa (k) ··· xb (k)
donde el m el m-vector -vector x x a (k ) son las variables medibles (accesibles) y el n el n − m-vector x -vector x b (k ) son las variabl ariables es no medibles medibles (no accesib accesibles les). ). Esta partici partici´ on ´ del vector de estados
CAP ´ITULO 1. CONTROL CONTROL DE SISTEMAS DISCRETOS DISCRETOS EN EL ESPACIO ESPACIO DE ESTADOS ESTADOS
37
determina una partici´ on on en la ecuaci´on on de estados:
xa (k + 1) ··· xb (k + 1)
=
y (k ) =
Gaa
··· Gba . I ..
.. . Gab xa (k) .. ··· . ··· .. xb (k) . Gbb xa (k) ··· 0 xb (k)
+
H a ··· H b
u(k)
donde Gaa ∈ Rm m , Gab ∈ Rm (n m) , Gba ∈ R(n m) m , Gbb ∈ R(n m) (n m) , H a ∈ m 1 R , H b ∈ R(n m) 1 . La ecuaci´ on de la parte del estado que es accesible (medible) on ser´ıa: xa (k + 1) = G = G aa xa (k) + Gab xb (k) + H a u(k ) ×
×
−
×
−
−
×
−
×
−
×
N´otese otese que en esta ecuaci´ on on hay t´erminos erminos que no son medibles, por p or lo tanto la podemos pode mos reescribir agrupando los t´erminos erminos medibles a la izquierda y los no medibles a la derecha: xa (k + 1) − Gaa xa (k) − H a u(k ) = G ab xb (k)
(1.69)
Por otro lado, la parte del vector de estados que no se puede medir se puede escribir como: xb (k + 1) = G = G ba xa (k) + Gbb xb (k) + H b u(k) Obs´ervese ervese que en esta ecuaci´ ecuac i´ on, on, los t´erminos erminos que dependen de xa (k) y u(k) son conocidos mientras que el t´ermino ermino que depende de xb (k ) es desconocido. Esta ecuaci´ on on la podemos reescribir como xb (k + 1) = G = G bb xb (k) + [G [ Gba xa (k) + H b u(k)]
(1.70)
El dise˜ no no del observador observador de orden m´ m´ınimo se realiza realiza tomando como referencia referencia el del observador de orden completo, cuya ecuaci´ on on de estados es x(k + 1) = Gx = Gx((k) + H u(k) En el caso del observador observador de orden m´ınimo, la ecuaci´ on (1.70), es decir, la ecuaci´on on que describe la evoluci´on o n de la parte del estado no medible, es la que hace el papel de ecuaci´ o n de estado. Por otra parte, se conoce que la ecuaci´ on on de salida para el observador de orden completo es: y (k) = C x(k) donde y donde y((k) es medible y C y C x(k ) es no medible (por serlo x serlo x((k)). Obs´ervese ervese que se puede pued e establecer un paralelismo par alelismo entre los t´erminos erminos de d e esta ecuaci´ on y los de la ecuaci´on on (1.69). En el caso del observador observador de orden m´ m´ınimo, por tanto, tanto, se considera considera como ecuaci´ on de salida la ecuaci´on on (1.69).
38
OBSERVADORES DEL ESTADO
Recordemos que la ecuaci´ on del observador de orden completo es x ˆ(k + 1) = (G − K e C )xˆ(k) + Hu(k) + K e y(k) Comparando las ecuaciones de estado y salida del observador de orden completo y las del observador de orden m´ınimo, se establecen las siguientes analog´ıas: Observador de orden completo Observador de orden m´ınimo xˆ(k) G Hu(k) y(k) C K e ∈ Rn
xˆb (k) Gbb Gba xa (k) + H b u(k) xa (k + 1) − Gaa xa (k) − H a u(k) Gab K e ∈ R(n m) m
m
×
−
×
Teniendo en cuenta esto, se obtiene x ˆb (k+1) = (Gbb −K e Gab )ˆ xb (k)+Gba xa (k)+H b u(k)+K e [xa (k + 1) − Gaa xa (k) − H a u(k)] (1.71) Adem´as, de la ecuaci´on del sistema sabemos que y(k) = x a (k) luego, aplicando esto en la ecuaci´ on (1.71) se obtiene x ˆb (k + 1) = (Gbb − K e Gab )ˆ xb (k) + K e y(k + 1 ) + (Gba − K e Gaa )y(k) + (H b − K e H a )u(k) que ser´ıa la ecuaci´ on del observador de orden m´ınimo. Los polos del observador de orden m´ınimo ser´ıan los autovalores de (Gbb − K e Gab ). Obs´ervese, sin embargo, que en esta ecuaci´ on aparece un t´ermino que multiplica a y(k + 1). Como es l´ogico el valor de la salida en k + 1 no est´ a disponible en el instante k, por lo que esta ecuaci´ o n ha de ser modificada. Se puede demostrar (no se har´ a aqu´ı), que esta ecuaci´ on se puede reescribir como: ˆb (k) = ηˆ(k) + K e xa (k) x ηˆ(k + 1) = (Gbb − K e Gab )ˆ η (k) + [(Gbb − K e Gab )K e + Gba − K e Gaa ] y(k) +(H b − K e H a )u(k)
(1.72)
La ecuaci´ on caracter´ıstica del observador de orden m´ınimo es:
|zI − Gbb + K e Gab | = 0 y como en el caso del observador de orden completo, K e se puede elegir para colocar los polos del observador donde se desee mediante los m´etodos indicados en la secci´ on
CAP ´ITULO 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 f´ormula de Ackermann, por ejemplo, quedar´ıa:
K e = φ(Gbb )
donde
Gab Gab Gbb .. . Gab Gnbb
2
−
1
−
0 0 .. . 1
φ(Gbb ) = G nbb 1 + α1 Gnbb 2 + · · · + αn 1 I −
−
−
De manera an´ aloga a la del observador de orden completo, se comprueba que la ecuaci´ on caracter´ıstica del conjunto formado por el observador de orden m´ınimo y el sistema controlado por una realimentaci´ on lineal del vector de estados es:
|zI − G + HK ||zI − Gbb + K e Gab | = 0 por lo que, nuevamente se ve que los problemas de dise˜ no del controlador y del observador son independientes.
Ejemplo 1.8 Sea un sistema LTI cuyas matrices son G =
1 0,2 0 1
H =
0,02 0,2
se pide
C =
1 0
1. Dise˜ nar un controlador que coloque los polos de bucle cerrado en z = 0,6 ± j0,4. 2. Asumiendo que y(k) = x 1 (k) es el u´nico estado accesible, dise˜ nar un observador de orden m´ınimo con respuesta dead-beat. En primer lugar, se ha de comprobar la controlabilidad y observabilidad del sistema:
. H .. GH
rango rango
C
∗
... G C ∗
∗
= rango = rango
0,02 0,06 = 2 0,2 0,2 1 1 = 2 0 0,2
Luego el sistema cumple ambas condiciones. La ecuaci´ on caracter´ıstica del controlador es: z − 1 −0,2 = z 2 − 2z + 1 |zI − G| = 0 z − 1
40
OBSERVADORES DEL ESTADO
luego a 1 = −2 y a2 = 1. La ecuaci´ on caracter´ıstica de bucle cerrado deseada es: (z − 0,6 − j0,4)(z − 0,6 + j0,4) = z 2 − 1,2z + 0,52 luego α 1 = −1,2 y α2 = 0,52. Por tanto, K =
donde la matriz T se calcula como T = y
α2 − a2 α1 − a1
1
−
lo que lleva a
=
a1 1 = 1 0
. H .. GH
T
1
−
T
1
−
−0,48 0,8 T 0,02 0,02 −0,2 0,2
25 −2,5 25 2,5
=
K =
8 3,2
la ley de control se formular´ a por tanto, como u(k) = −K ˆ x(k)
= − 8 3,2
x1 (k) = − 8 3,2 x ˆ2 (k)
y(k) x ˆ2 (k)
En cuanto al observador de orden m´ınimo, ´este estimar´ a una sola variable, por lo que es de orden 1. La partici´ on de la ecuaci´on de estado en este caso ser´ a: . . Gaa .. Gab 1 .. 0,2 H a 0,02 .. . · · · = ··· · · · . · · · = · · · .. · · · . . H b 0,2 Gba .. Gbb 0 .. 1
La ecuaci´ on caracter´ıstica deseada del observador es Φ(z ) = z = 0 luego K e = φ(Gbb )[Gab ] 1 [1] = (1)(0,2) 1 (1) = 5 −
−
Las ecuaciones del observador ser´ıan ηˆ(k + 1) = (Gbb − K e Gab )ˆ η (k) + [(Gbb − K e Gab )K e + Gba − K e Gaa ] y(k) +(H b − K e H a )u(k) = (1 − 5 × 0,2)ˆ η (k) + [(1 − 5 × 0,2) × 5 + 0 − 5 × 1] y(k) + (0,2 − 5 × 0,02)u(k) = −5y(k) + 0,1u(k) xˆ2 (k) = K e y(k) + ηˆ(k) = 5y(k) + ηˆ(k)
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
41
y la ley de control ser´ a por tanto, u(k) = = = =
−K ˆ x(k) −8y(k) − 3,2ˆ x2 (k) −8y(k) − 3,2(5y(k) + ηˆ(k)) η (k) −24y(k) − 3,2ˆ
1.10.
Control o ´ptimo LQR
Las t´ecnicas de control o´ptimo conforman una de las ramas del control autom´ atico m´as importantes en el desarrollo de las estrategias modernas de control m´ as utilizadas hoy en d´ıa. Se han escrito numerosas monograf´ıas dedicadas a su estudio, y se ha publicado una ingente cantidad de art´ıculos en revistas especializadas. No obstante, en estos apuntes s´ olo se dar´a una pincelada sobre este particular, centr´ andonos en el caso particular del control LQR con horizonte infinito, tambi´en conocido como LQR de r´egimen permanente. Las estrategias de control o´ptimo calculan la ley de control de manera que se optimiza una cierta medida del rendimiento del controlador. Se parte de un sistema descrito por x(k + 1) = Gx(k) + Hu(k) El objetivo es calcular una ley de control u(k) = −Kx(k) de tal manera que se minimiza el funcional (que expresa un ´ındice de funcionamiento) 1 J = 2
∞
∗
∗
(x (k)Qx(k) + u (k)Ru(k))
(1.73)
k=0
siendo Q y R matrices de ponderaci´ on que cumplen que Q = Q > 0, R = R > 0. N´otese que este ´ındice de funcionamiento pondera la diferencia entre el estado y el origen el instante inicial, hasta un tiempo infinito. Por tanto, cuanto m´ as r´apido se llegue al origen menor valor de J se tendr´ a. Esto implica que al minimizarse J , se encontrar´ a la ley de control que lleva el estado al origen m´ as r´apidamente y manteni´endolo ∗
∗
42
´ CONTROL OPTIMO LQR
siempre lo m´as cerca posible del origen4. Por otra parte, se observa que en el funcional hay otro t´ermino que pondera el valor de la secuencia de se˜ nales de actuaci´ on. Este t´ermino impide que se obtenga una ley de control que lleve el estado al origen a expensas de una actuaci´ on muy grande. Al minimizarse J , por tanto, se conseguir´ a una ley de control que por una parte acerque el estado al origen lo mas r´ apido posible, pero manteniendo un nivel de actuaciones moderado, encontr´ andose por tanto, una soluci´ on de compromiso entre el rendimiento del controlador y su nivel de actuaci´ on. El sentido de este compromiso puede venir dictado por diferentes razones, como por ejemplo moderar el gasto de energ´ıa o combustible necesario para proporcionar la se˜ nal de actuaci´ on. Existen razones m´ as sutiles pero no por ello menos importantes para incorporar esta ponderaci´ on del esfuerzo de control. Por ejemplo, cuando existen discrepancias entre el modelo del sistema y su din´ amica real (algo que ocurre casi siempre, pues los modelos matem´ aticos no pueden recoger todas las complejidades de los sistemas o procesos reales) esta ponderaci´ on del esfuerzo de control resulta en un sistema m´ as estable. Para calcular la ley de control que minimiza el ´ındice (1.73) se define una matriz P que satisface la siguiente ecuaci´ on de Riccatti: P = Q + G P G − G P H (R + H P H ) 1 H P G ∗
∗
∗
−
∗
(1.74)
La soluci´ on de esta ecuaci´ on es una matriz P que es herm´ıtica y definida positiva. Se demuestra que la matriz K = (R + H P H ) 1 H P G ∗
−
∗
es la que minimiza el ´ındice (1.73) mediante la ley de control u(k) = −(R + H P H ) 1H P Gx(k) ∗
−
∗
La ecuaci´ on de estado del sistema en bucle cerrado ser´ a por tanto: x(k + 1) = (G − H (R + H P H ) 1H P G) x(k) = (I + HR 1H P ) 1 Gx(k) ∗
−
∗
−
∗
−
Para este desarrollo se ha empleado el lema de inversi´ on (A + BC )
1
−
= A
1
−
− A 1 B(I + CA 1B) 1 CA −
−
−
con A = I , B = H y C = R 1 H P . −
∗
´ Esta es una interpretaci´on que hay que tomar con cierto cuidado, pues puede que se obtenga una ley de control que provoque que el estado no se acerque al origen todo lo posible al principio pero que lo lleve a dicho origen muy r´apidamente en los instantes siguientes, manteniendo pues el valor de J muy bajo. 4
CAP ´ITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS
1.10.1.
43
Soluci´ on de la ecuaci´ on de Riccatti
Para calcular la ley de control o´ptima LQR en r´egimen permanente es necesario resolver la ecuaci´ on de Riccatti (1.74). Esto no es algo trivial en general, pero si podemos resolverla f´ acilmente si se dispone de un computador. Para ello formularemos un proceso iterativo en que tomando como valor inicial de P = 0 (es decir una matriz de ceros) se calcular´ a el valor de la matriz P en el paso i + 1 como ∗
∗
∗
1
−
P i+1 = Q + G P i G − G P i H (R + H P i H )
∗
H P i G
La condici´ on de parada del bucle o proceso iterativo ser´ a que P i+1 − P i ≈ 0, esto es, que la diferencia entre P i+1 y P i sea una matriz cuyos elementos est´en todos cerca del cero.
1.11.
Filtro de Kalman
El filtro de Kalman es un estimador del estado (en realidad tambi´en se puede interpretar como filtro y como predictor), que tiene en cuenta la presencia de ruidos en la ecuaci´ o n de estados y la salida. En este sentido es un estimador o´ptimo, pues la estimaci´on obtenida tiene el menor error posible teniendo en cuenta que al haber ruidos actuando, nunca se podr´ a obtener una estimaci´ on perfecta. Al igual que en el caso del control LQR no se entrar´ a en profundidad en el estudio de este estimador, sino que s´olo se presentar´ a la formulaci´ on de un caso particular, el filtro de Kalman para r´egimen permanente. Sea un sistema:
x(k + 1) = Gx(k) + Hu(k) + ω(k) y(k) = Cx(k) + (k)
donde ω(k) y (k) son variables aleatorios que act´ uan como ruidos aditivos. Se demuestra que se puede obtener una estimaci´ on o´ptima del vector de estados mediante el siguiente esquema: xˆ(k + 1) = Gˆ x(k) + Hu(k) + K e (k) (y(k) − C ˆ x(k)) 1 K e (k) = GP k C (R + CP k C ) P k+1 = Q + (G − K e (k)C ) P k G ∗
∗
−
∗
donde
R = E {(k) (k)} Q = E {ω(k)ω (k)} P 0 = E {(0) (0)} ∗
∗
∗
(1.75)
44
FILTRO DE KALMAN
donde E {·} denota la esperanza matem´ atica y R,Q se asumen constantes. Se demuestra que conforme k → ∞: P k+1 → P K e (k) → K e donde P y K e son matrices constantes y adem´ as P es semidefinida positiva. Usando esto, las ecuaciones de estimaci´ on (1.75) se pueden reescribir como: x ˆ(k + 1) = Gˆ x(k) + Hu(k) + K e (y(k) − C ˆ x(k)) 1 K e = GP C (R + CP C ) P = Q + GP G − GP C (R + CP C ) 1 CP G ∗
∗
∗
−
∗
∗
−
(1.76)
∗
que son las ecuaciones del filtro de Kalman de r´egimen permanente. N´ otese que para resolver la ecuaci´ on de Riccatti se puede usar el mismo m´etodo usado en el LQR.
Cap´ıtulo 2 Modelos de procesos y perturbaciones 2.1.
Introducci´ on
En este cap´ıtulo se expondr´ an diversos tipos de formas de modelar perturbaciones y procesos cuya evoluci´ on se ve afectada por perturbaciones. Es importante tener en cuenta que los modelos de procesos con perturbaciones tienen su origen en el modelado de perturbaciones y no al rev´es. En la teor´ıa cl´asica del control autom´ atico siempre se ha tenido en cuenta el comportamiento de los sistemas frente a perturbaciones a la hora de dise˜ nar sistemas de control. Dichas perturbaciones se modelaban siempre de manera muy simplificada. Es por tanto com´ un en esta teor´ıa el considerar que las perturbaciones van a tener la forma de Pulsos. Escalones. Rampas. Sinusoides. Todos estos modelos tienen en com´ un que son absolutamente predecibles en su evoluci´on en funci´ on de las condiciones iniciales. Es decir, en cuanto la perturbaci´ on aparece 45
46
PERTURBACIONES DETERMINISTAS A TROZOS
podemos predecir su evoluci´ on futura. Es una suposici´ on com´ un en estos casos, consi– derar que estas perturbaciones vienen generadas por sistemas din´ amicos.
2.2.
Perturbaciones deterministas a trozos
Como fuente de perturbaciones con una mayor variabilidad que los modelos cl´ asicos antes comentados, se pueden considerar las perturbaciones deterministas a trozos. Surgen de la necesidad de estudiar el efecto de perturbaciones m´ as realistas en sistemas de control que se basan en alg´ un tipo de esquema predictivo para calcular la se˜ nal de control. En este tipo de sistemas, el considerar una perturbaci´ on absolutamente predecible (como en el caso de los modelos cl´ asicos) no tiene utilidad alguna, pues se pueden considerar directamente en el c´ alculo de la ley de control. Los modelos de perturbaciones deterministas a trozos parten de la suposici´ on de que son generados por un sistema lineal, en el que la entrada es cero excepto en ciertos instantes de tiempo separados por m´ as de n tiempos de muestreo, donde n es el orden del sistema: C (z 1 ) y(k) = w(k) A(z 1 ) −
−
suponi´endose que el grado de C (z 1 ) es igual al grado de A(z 1 ). Si la entrada es cero excepto en ciertos instantes de tiempo que est´ an separados, quiere decir que la se˜nal w(k) es un tren de pulsos. La amplitud y momento de aparici´ on de esos pulsos son desconocidos. Esto es lo que le da variabilidad a la fuente de perturbaciones. Sin embargo, una vez que aparecen y se conoce la amplitud del pulso, la evoluci´on de la salida y(k) es perfectamente predecible pues la din´ amica del sistema es conocida. De ah´ı el nombre de determinista a trozos. −
2.3.
−
Procesos estoc´ asticos
Es natural utilizar el concepto de aleatorio o estoc´ astico 1 para describir una amplia clase de perturbaciones, suficientemente realistas para formular problemas de predicci´on con postulados cercanos a la realidad. 1
Estoc´astico: relativo a una variable aleatoria; algo que sigue una determinada distribuci´on de probabilidad, usualmente con varianza finita.
CAP ´ITULO 2. MODELOS DE PROCESOS Y PERTURBACIONES
47
El concepto de proceso estoc´ astico es complejo y alcanza su madurez en los trabajos de Kolmogorov (1930). Aqu´ı presentaremos s´ olo algunas ideas b´asicas. Un proceso estoc´ astico puede ser considerado como una funci´ on de dos variables X (t, w) donde t es la variable tiempo con su significado habitual y w es una variable aleatoria. Si consideramos un valor fijo de w, esto es w = w 0 y dejamos la variable t libre, lo que denotaremos como X (:, w0 ) estaremos hablando de una realizaci´on del proceso. Esta realizaci´ on es una funci´ on temporal com´ un sin ning´ un tipo de car´ acter aleatorio una vez que se conoce que w = w0 . Si por otra parte se considera un instante de tiempo fijo, es decir t = t0 , que denotaremos como X (t0 , :) X (t0 )
tendremos una variable aleatoria. Se puede considerar por tanto, que la evoluci´ on del proceso est´ a dictada por un generador de se˜ nales aleatorias. En la figura 2.1 se ilustran estos conceptos. Puede observarse que el valor de la funci´ o n en cada instante es un valor aleatorio que en la figura se considera variable en un determinado rango. Por otra parte, cuando se habla de una realizaci´ o n no es m´as que una funci´ on com´ un que depende de t.
w=w0
t0
t1
t2
t3
t4
......
Figura 2.1: Procesos estoc´asticos: realizaciones y variables aleatorias.
Definici´ on 2.1 Se denomina proceso estoc´ astico determinista, a aqu´el cuya evoluci´ on puede ser predicha exactamente con un predictor lineal 2 en base a medidas pasadas. En estos procesos, el car´ acter estoc´ astico s´ olo se manifiesta en la aleatoriedad de las condiciones iniciales. Para aplicaciones basadas en predicci´ on no son muy interesantes. 2
Es decir, haciendo evolucionar hacia delante un modelo lineal.
48
MODELOS DE PROCESOS CON RUIDOS
Definici´ on 2.2 Se denomina proceso estoc´ astico estacionario, a aqu´el cuya distribuci´ on estad´ıstica para X (t1 ), X (t2 ), . . . ,X (tn ) es la misma que para X (t1 + τ ), X (t2 + τ ), . . . ,X (tn + τ ). Es decir, su distribuci´ on no var´ıa con el tiempo.
Definici´ on 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 distribuci´ on es id´entica. Se suele suponer que E {x(k)} = 0 es decir, que el valor esperado es cero y adem´ as E {x(i)x( j)} =
j (por ser variables independientes) 0 si i = 2 σ si i = j
Al ruido blanco se le suele considerar prototipo de una se˜ nal impredecible.
2.4.
Modelos de procesos con ruidos
En esta secci´ on veremos c´ o mo se pueden generar diversos tipos de procesos estoc´ asticos, cuando a un sistema lineal se le inyecta un ruido blanco v(k) adem´ a s de una entrada externa u(k) a trav´ es de sendas funciones de transferencia. El caso m´as general es el llamado modelo de Box-Jenkins, el cual se ilustra en la figura 2.2. Esta estructura es demasiado general, y normalmente se utilizan diversas v(k)
− −
y(k)
u(k)
− −
Figura 2.2: Modelo de Box-Jenkins.
simplificaciones de las cuales veremos a continuaci´ on las m´as comunes:
CAP ´ITULO 2. MODELOS DE PROCESOS Y PERTURBACIONES
49
Modelo de Media M´ ovil (MA : Moving Average ). Es el caso m´ as sencillo y viene descrito por y(k) = v(k) + c1v(k − 1) + c2 v(k − 2) + · · · + cn v(k − n) Con este modelo se pueden describir muchos tipos de perturbaciones aleatorias. Sin embargo, no incluye a los valores pasados de la salida por lo que no servir´a para modelar procesos que tengan din´ amica. Modelo Autoregresivo (AR). Viene descrito por y(k) + d1 y(k − 1) + d2 y(k − 2) + · · · + dn y(k − n) = v(k) En este caso, la parte aleatoria correspondiente a la perturbaci´ on tiene una estructura muy simple porque no depende de los valores pasados. Modelo Autoregresivo de Media M´ ovil (ARMA). Es la combinaci´o n de los dos anteriores, por lo que tomar´ a la forma y(k) + d1 y(k − 1) + · · · + dn y(k − n) = v(k) + c1 v(k − 1) +c2 v(k − 2) + · · · + cn v(k − n) Este modelo permite describir procesos m´ as ricos que los anteriores. Sin embargo, desde el punto de vista del control es interesante poder considerar el efecto de una entrada externa, por lo que se considera el siguiente tipo de modelos de procesos con ruidos. Modelo Autoregresivo de Media M´ ovil con una entrada ex´ ogena (ARMAX). Tambi´en llamado modelo CARMA (Controlled ARMA). Viene descrito por y(k) + a1 y(k − 1) + · · · + an y(k − n) = b1 u(k − 1) + · · · + bn u(k − n) +v(k) + c1 v(k − 1) + · · · + cn v(k − n) Modelo Autoregresivo con entrada ex´ ogena para m´ınimos cuadrados (ARX-LS ). Este modelo surge como versi´ on simplificada del anterior, para el caso en el que no se necesita que la fuente de perturbaciones tenga una estructura tan compleja. Viene descrito por y(k) + a1 y(k − 1) + · · · + an y(k − n) = b1 u(k − 1) + · · · + bn u(k − n) + v(k) Como su nombre indica se utiliza en la identificaci´ on por el m´etodo de los m´ınimos cuadrados (v´ease el tema 4).
50
MODELOS DE PROCESOS CON RUIDOS
Modelo Autoregresivo de Media M´ o vil integrada y con una entrada ex´ ogena (ARIMAX o CARIMA). Este modelo incorpora un integrador en la fuente de perturbaciones, por lo que viene descrito por y(k) + a1 y(k − 1) + · · · + an y(k − n) = b1 u(k − 1) + · · · + bn u(k − n) v(k) + c1 v(k − 1) + · · · + cn v(k − n) + ∆ donde ∆ = 1 − z 1 . Este tipo de modelos es u´til en esquemas de control predictivo para formular leyes de control que incorporen un efecto integral, de manera que sean capaces de rechazar perturbaciones en escal´ on. −
Los modelos anteriores pueden escribirse en forma condensada utilizando polinomios en z 1 tal y como se muestra en la siguiente tabla resumen: Modelo Expresi´ on −
MA y(k) = C (z 1 )v(k) AR D(z 1 )y(k) = v(k) ARMA D(z 1 )y(k) = C (z 1 )v(k) ARMAX A(z 1 )y(k) = B(z 1 )u(k − 1) + C (z 1 )v(k) ARX-LS A(z 1 )y(k) = B(z 1 )u(k − 1) + v(k) −1 ARIMAX A(z 1 )y(k) = B(z 1 )u(k − 1) + C (z ∆)v(k) −
−
−
−
−
−
−
−
−
−
−
Cuando en los modelos anteriores el polinomio que convoluciona con la se˜ nal v(k) es distinto de la unidad se habla de ruido coloreado, y en caso contrario, de ruido blanco.
Cap´ıtulo 3 Introducci´ on a la identificaci´ on de sistemas 3.1.
Introducci´ on
Un modelo de un proceso es una forma de resumir el conocimiento que se tiene sobre su din´ amica, y por tanto es una herramienta importante en el dise˜ no y an´alisis de sistemas de control. Sin embargo, al construir modelos estamos obteniendo representaciones simplificadas de la din´ amica real del proceso. Un solo modelo no suele ser suficiente para describir un proceso. Por otra parte, seg´ un sea el uso destinado al modelo este deber´ a ser mas o menos detallado. Por tanto, se establece una jerarqu´ıa de modelos que describe al proceso con mayor o menor detalle. Hay dos maneras de abordar la construcci´ on de un modelo: obtenerlo mediante principios y leyes f´ısicas que describan la din´ amica del proceso, o bien obtenerlo mediante experimentaci´ o n sobre el proceso que se quiere modelar. La primera opci´ on requiere un conocimiento muy preciso del proceso que se quiere modelar. Por ejemplo, hay que elegir las variables que vayan a ser los estados del sistema, y esto puede ser un problema. Es, en general un proceso complicado y muy arduo, excepto en casos muy simples. Normalmente, se debe combinar con la otra estrategia que es la denominada identificaci´ on de sistemas. Esta estrategia ser´ a el objeto de este tema. 51
´ ´ DE SISTEMAS IDEAS BASICAS SOBRE IDENTIFICACI ON
52
3.2.
Ideas b´ asicas sobre identificaci´ on de sistemas
La identificaci´ on de sistemas es la aproximaci´ on experimental al modelado de sistemas. Consiste en obtener un modelo a partir de observaciones obtenidas directamente del propio sistema que se pretende modelar. La identificaci´ on de un sistema conlleva una serie de actividades y herramientas, de las que podemos destacar:
Planificaci´on de los experimentos. Selecci´on del tipo de modelo. Elecci´on de un criterio para expresar la bondad del modelo que se va a obtener. Estimaci´on de los par´ametros del modelo. Validaci´on del modelo obtenido.
A continuaci´ on, se ir´an desglosando las principales ideas de cada uno de estos aspectos.
3.2.1.
Planificaci´ on de los experimentos
Dado que la identificaci´ on de sistemas involucra experimentar con el proceso a modelar, es necesario tener en cuenta que, en general, es muy costoso experimentar con procesos industriales. Por tanto, es necesario elegir una t´ecnica que nos sea lo m´ as rentable desde el punto de vista del tipo de experimentos necesarios. Algunas t´ecnicas son muy sencillas, en el sentido de que una vez hecho el experimento es f´ acil obtener el modelo. Estas t´ecnicas, sin embargo, requieren que en los experimentos se utilicen se˜ nales de entradas preestablecidas de manera muy precisa: pulsos, sinusoides, etc.. . Puede que el proceso a modelar no pueda ser sometido a este tipo de entradas por consideraciones de seguridad o motivos econ´ omicos. Otras t´ecnicas de identificaci´ on pueden emplear casi cualquier tipo de se˜ n al de entrada (es decir, son menos exigentes en el tipo de experimentos necesarios), pero una vez realizado el experimento es m´ as complicado obtener el modelo. Como comentario general, es necesario que en el experimento se utilicen se˜ nales de entrada que exciten todos los modos del sistema. M´ as all´a de eso, un buen m´etodo de identificaci´ on debe ser insensible a las caracter´ısticas de la entrada. Otro aspecto es que a veces no se puede identificar en bucle abierto y hay que hacerlo en bucle cerrado. Esto no es siempre posible, pues aunque el sistema sea identificable en
´ A LA IDENTIFICACI ON ´ DE SISTEMAS CAP ´ITULO 3. INTRODUCCI ON
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. Tambi´en, si los lazos de control son demasiado simples. En general, cuanto m´ as complejos sean los lazos de control y m´as se mueva la consigna, m´ a s f´acil ser´a la identificaci´ on en bucle cerrado.
3.2.2.
Selecci´ on del tipo de modelo
En teor´ıa, la selecci´ on del tipo de modelo deber´ıa venir dada por un conocimiento del proceso y de las perturbaciones que deban ser tenidas en cuenta. Dependiendo de si conocemos mucho o poco la estructura del proceso elegiremos entre uno u otro tipo de modelo. En general, los modelos los clasificaremos como:
Modelos de Caja Blanca. Son los obtenidos a partir de leyes f´ısicas (esto no ser´ıa realmente identificaci´ on porque no se estar´ıan haciendo experimentos). Modelos de Caja Negra. En estos modelos se postula una estructura matematica con una serie de par´ a metros libres, a los cuales se les da valor a partir de los datos obtenidos en los experimentos. Modelos de Caja Gris. Corresponden a un tipo intermedio entre los dos anteriores. Parte del modelo se obtiene mediante leyes f´ısicas y otra parte, se ajusta usando medidas experimentales. Por ejemplo, mediante leyes f´ısicas podemos determinar la estructura del modelo (o de parte de ´el) y usar experimentos para terminar de caracterizar el modelo.
Tambi´en se pueden clasificar los tipos de modelos en param´etricos y no param´etricos. En los primeros se tienen una serie de par´ ametros que hay que ajustar. Por ejemplo, en una funci´ on de transferencia se tendr´ıan que ajustar el orden y los coeficientes de los polinomios. En modelos de espacio de estados tendr´ıamos la misma situaci´ on pero con las matrices del sistema. En los modelos no param´etricos, el modelo no tiene una serie de par´ ametros que definen la din´ amica sino que se compone de una cantidad de informaci´on sobre la misma, por ejemplo los modelos basados en la respuesta en frecuencia de un sistema. En el caso que aqu´ı nos ocupa los modelos que emplearemos ser´an de caja negra y param´etricos.
54
3.2.3.
´ ´ DE SISTEMAS IDEAS BASICAS SOBRE IDENTIFICACI ON
Elecci´ on de un criterio
En el proceso de estimaci´ on del modelo y su subsiguiente validaci´ on es necesario contar con un criterio que exprese la bondad del ajuste del modelo a los datos, es decir, que exprese la calidad del modelo obtenido. Normalmente, se utilizan criterios que toman la forma: N
J (θ) =
g(e(k))
k=1
donde θ es el vector de par´ ametros que se trata de ajustar, e(k) es el error de estimaci´ on para la medida k, N es el n´ umero de observaciones o medidas disponibles y g(·) es una funci´on usualmente cuadr´ atica. Usualmente, el proceso de ajuste del modelo se realiza de manera que se busca el valor del vector de par´ ametros θ que hace m´ınimo al ´ındice o criterio J (θ). El m´etodo m´as antiguo que emplea esta estrategia es el de los m´ınimos cuadrados, debido a Gauss. Por otra parte, cuando los procesos se describen mediante modelos estoc´ asticos, el problema es de estimaci´ on estad´ıstica. Un m´etodo muy popular en este caso, es el del estimador de m´ axima verosimilitud.
3.2.4.
Estimaci´ on de los par´ ametros
Para resolver el problema de estimaci´ o n de los par´ ametros del modelo se requiere de los elementos comentados anteriormente: datos experimentales, un tipo de modelo y un criterio. Estimar los par´ ametros es resolver un problema de optimizaci´ o n en el cual, el mejor modelo es el que hace m´ınimo el criterio. Es necesario tener en cuenta que el modelo obtenido depender´ a de los elementos anteriores, como por ejemplo de la amplitud y contenido frecuencial de la se˜ nal de entrada. Hay diversas formas de llevar a cabo el proceso de estimaci´ on. Una distinci´on amplia, es aquella que distingue entre identificaci´ on en l´ınea e identificaci´ on fuera de l´ınea.
3.2.4.1.
Identificaci´ on en l´ınea
En los m´etodos de identificaci´ on en l´ınea la estimaci´ on se efect´ ua usando medidas que se van obteniendo en tiempo real, y normalmente se usan c´ alculos recursivos. El esquema de este tipo de identificaci´ on ser´ıa el mostrado en la figura 3.1. En este esquema aparece un nivel de supervisi´ on que es necesario para evitar, por ejemplo, que
´ A LA IDENTIFICACI ON ´ DE SISTEMAS CAP ´ITULO 3. INTRODUCCI ON
u(k)
PLANTA
55
y(k)
IDENTIFICACIÓN MODELO ACTUALIZADO
SUPERVISIÓN MODELO CORREGIDO
Figura 3.1: Esquema de la identificaci´on en l´ınea.
el modelo actualizado se salga de ciertos l´ımites o cambie bruscamente (esto no ser´ıa bueno para ciertas leyes de control basadas en modelos). Este m´etodo suele ser el unico ´ apropiado cuando se pretende usar una estrategia de control adaptativo, o el proceso var´ıa su din´amica con el tiempo.
3.2.4.2.
Identificaci´ on fuera de l´ınea
En este caso se toman los datos del experimento (es decir, series de medidas) y posteriormente, se ajusta el modelo usando para ello todo el conjunto de datos. Este tipo de procedimientos suelen obtener modelos m´ as precisos y son m´ as fiables en cuanto a la convergencia de los par´ ametros estimados a los par´ ametros reales del proceso1 . En cualquier caso, existe un consenso general en que no existe un m´etodo universalmente bueno, por tanto, dependiendo de la situaci´ on unos funcionar´ an mejor que otros.
3.2.5.
Validaci´ on del modelo
La validaci´on del modelo consiste en comprobar la bondad del modelo que se ha obtenido por el proceso de identificaci´ on. Una t´ecnica muy com´ un para comprobar la bondad de un modelo identificado es la validaci´ on cruzada. 1
N´otese que aunque el proceso real no corresponder´a en general exactamente con el modelo (pues todo modelo implica un cierto grado de simplificaci´ on de la realidad) se asume que existe un valor del vector de par´ametros que es el que mejor describe al proceso.
´ ´ DE SISTEMAS IDEAS BASICAS SOBRE IDENTIFICACI ON
56
La idea del m´etodo de validaci´ on cruzada es dividir el conjunto de datos disponible en dos partes o subconjuntos: Conjunto de estimaci´ on. Es usado para estimar el modelo mediante la resoluci´on de un problema de optimizaci´ o n, de tal manera que el vector de par´ ametros estimados sobre el conjunto de estimaci´ on θˆCE ser´ıa θˆCE = arg m´ın V CE (θ, CE) θ
donde V CE es el criterio de estimaci´ on. Conjunto de prueba o validaci´ on. Con este modelo se eval´ ua el estimador obtenido mediante un criterio de prueba, que puede ser el mismo que el usado en la estimaci´on u otro distinto: ˆCE = V CP (θˆCE, CP) F La idea tras el concepto de validaci´ on del modelo es estimar distintos tipos de modelos (por ejemplo con distintos o´rdenes) y quedarse con el que mejor ajusta (es decir, el que ˆCE ). Mediante esta t´ecnica de validaci´ d´e menor F on cruzada, lo que se trata de ver es si el modelo es capaz de reproducir los datos de salida para entradas que no se han empleado en la estimaci´ on. Como se ha comentado anteriormente, el criterio V CP no tiene por qu´e ser el mismo que el V CE . Por ejemplo, se puede usar como criterio para validaci´ on el conocido criterio de Akaike o criterio AIC (Akaike’s Information Criterion), el cual asumiendo que las perturbaciones siguen una distribuci´ on gaussiana se calcula mediante la f´ormula V CP (θ, CP) =
2dimensi´on(θ) 1+ N
1 N
N
e2 (t, θ)
t=1
donde e(t, θ) = y(t) − ˆy (t, θ) es el error de estimaci´ on para los datos obtenidos en el instante t. Tampoco puede descartarse la posibilidad de no usar criterio de validaci´ on alguno y efectuar una inspecci´ on visual sobre una simulaci´ on, en la que se usa el modelo estimado para predecir la salida en base a datos de entradas experimentales. Finalmente, la t´ecnica de validaci´ on cruzada, aunque muy popular no es la u´nica. Otra t´ecnica que a veces se utiliza es el an´ alisis de residuos. Se entiende por residuos los errores que comete el modelo una vez ajustado, es decir e(t) = y(t) − yˆ(t, θ). Si el modelo estimado es suficientemente bueno, estos residuos tienen que ser independientes
´ A LA IDENTIFICACI ON ´ DE SISTEMAS CAP ´ITULO 3. INTRODUCCI ON
57
de la informaci´on disponible en el instante anterior (es decir, el residuo en t tiene que ser incorrelado con las medidas obtenidas en los instantes anteriores). Esto es as´ı por que si existe correlaci´ on entre e(t) y alguna entrada pasada u(t − τ ), quiere decir que una parte del valor de y(t), que depende de u(t − τ ) no ha sido reproducida por el modelo en yˆ(t, θ). Por tanto, el modelo no estar´ıa reproduciendo toda la din´ amica del proceso.
3.2.6.
Resumen del proceso de identificaci´ on
El proceso de identificaci´ on de un sistema rara vez se concluye con la sola ejecuci´ on de los pasos anteriormente descritos. En lugar de esto, se realizan numerosas repeticiones de esta secuencia de pasos, a veces vari´ andose el tipo de modelo, o repiti´endose los experimentos hasta que se obtenga un buen modelo. Por tanto, podemos ver el proceso de identificaci´ on como un m´etodo iterativo que se puede describir mediante el diagrama de flujo mostrado en la figura 3.2. En esa figura el hecho de que el flujo INICIO
TOMA DE DATOS
ACONDICIONAMIENTO DE DATOS
ELEGIR ESTRUCTURA DEL MODELO
AJUSTAR MODELO
VALIDAR MODELO
NO ¿ VALIDO ? SI USAR MODELO
Figura 3.2: Diagrama de flujo del proceso de identificaci´on.
pueda retornar a cualquiera de las pasos intermedios, indica que puede que en cada
58
ALGUNAS PROPIEDADES PROPIEDADES
iteraci´on on no se realicen todos los pasos. Por otra parte, aparece un paso sobre el que no se ha comentado nada, el acondicionamiento de datos. Esta tarea consiste en manipular los datos de manera que sean apropiados apropiados para el m´etodo etodo de a juste elegido. Es algo que es espec´ espec´ıfico para cada procedimiento. As´ As´ı por p or ejemplo, una tarea muy com´ comun ´ de acondicionamiento de datos es la eliminaci´ on de los valores de continua de las se˜ on nales nales de entrada y salida. Esto ser´ a tratado en mayor profundidad en el tema 4. Finalmente, en el caso de la identificaci´ o n en linea el proceso es m´ on as simple, ya que por ejemplo as no es posible cambiar la estructura del modelo sin descartar el resultado que se ha obtenido hasta ese momento. Adem´ a s, los datos se toman seg´ as, un un van llegando, pues recordemos que en este tipo de identificaci´ on on la identificaci´ on se hace como su propio on nombre indica en tiempo real, es decir, en l´ınea ın ea .
3.3. 3.3.
Algu Alguna nass pr prop opie ieda dade dess
En esta secci´ on, veremos algunas propiedades relacionadas con la identificaci´ on, on on de sistemas. Concretamente se tratar´ an an los conceptos de excitaci´ excitaci´ on persistente, convergenon cia e identificabi identificabilidad. lidad. Adem´ as, as, se ver´an an las tareas de supervisi´ on on y acondicionamiento que aparecen en las figuras 3.1 y 3.2.
3.3. 3.3.1. 1.
Exci Excita taci ci´ on o ´n persistente
Se ha comentado en la secci´ on 3.2.1, que para poder identificar correctamente un on sistema la se˜ nal de entrada debe excitar (es decir, poner de manifiesto) todos los modos nal del sistema (toda su din´ amica). Formalmente, se dice que si el sistema es de orden n amica). se deber´ deber´ıa contar con una se˜ nal persistentemente excitadora de orden n. nal Se puede probar que una se˜ nal nal de entrada u(k ) es persistentemente excitadora de orden n, s´ı y s´olo olo s´ı se cumple que l´ım
N →∞
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 se˜ nales nales m´as as comunes: −
Pulso: no excita persistentemente para ning´ un un orden n.
´ A LA IDENTIFICACI ON ´ DE SISTEMAS CAP ´ITULO 3. INTRODUC INTRODUCCI CI ON
59
Escal´on: on: excita persistentemente para orden 1. Ruido blanco: excita persistentemente para todo orden n.
Esto quiere decir de cir que el ruido blanco ser se r´ıa una se˜ nal de entrada muy buena para identificar sistemas. En la pr´ actica, actica, sin embargo, es e s muy dif´ dif´ıcil obtener obt ener una se˜ nal de entrada que se comporte comporte como un ruido ruido blanco blanco ideal, ideal, porque porque es muy muy dif´ dif´ıcil ıcil obtener obtener una secuencia de valores puramente aleatorios. Es posible obtener sin embargo, secuencias de valores seudoaleatorios seudoaleatorios,, por p or lo que en la pr´ actica actica se recurre a secuencias secuencias seudoaleatorias seudoaleatorias de escalores binarios (PRBSS: Pseudo Random Binary Step Sequence). En la figura 3.3 se muestra una de esas secuencias. N´ otese otese que los escalones no tienen tien en por p or qu´e tener t ener amplitud unitaria, el concepto de binario se refiere solamente a dos niveles de entrada distintos. Por otra parte, la aleatoriedad est´ a en la duraci´on o n de los escalones y en el momento de aparici´ on on de los mismos. 6.5
6
5.5
5 e j a t l o v 4.5
4
3.5
3 0
20
40
60
80
100
120
140
160
180
200
intervalos de muestreo
Figura 3.3: Ejemplo de se˜ nal de entrada del tipo PRBSS. nal
3.3.2. 3.3.2.
Conv Convergenc ergencia ia e iden identifi tificab cabili ilidad dad
Se dice que un sistema es identificabl identificablee cuando usando un m´etodo etodo de identificaci identificaci´ on ´ adecuado se tiene que l´ım E (θˆ)) = θ 0 N →∞
y adem´as as la salida obtenida mediante el modelo estimado es posible. Es decir, para un sistema identificable el valor del vector de par´ ametros ametros estimado estimado converger´ converger´ a con un n´umero umero de observaciones suficientes al valor real de esos par´ ametros. ametros. No obstante, obstante, esta
60
ALGUNAS PROPIEDADES PROPIEDADES
convergencia tiene a su vez una serie de requisitos o condiciones que se pueden resumir en: El orden del modelo y el retardo deben ser conocidos. Los valores de continua de la se˜ nal de entrada y la de salida deben ser conocidos. nal Si el sistema es de orden n orden n,, la se˜nal nal de entrada debe ser persistentemente excitadora de orden n o mayor. Las perturbaciones sobre la salida deben ser ruidos estacionarios. El error en el instante k instante k debe debe ser incorrelado con los elementos de los que depende la salida en el instante k instante k (es (es decir, de los valores pasados de la entrada y la salida). El valor esperado (esperanza matem´ atica) atica) del error en k debe ser cero, es decir E {e(k)} = 0. Finalmente Finalmente,, la convergencia convergencia tambi´ tambi´en en depende de los valores iniciales iniciales del estimador.
3.3.2. 3.3.2.1. 1.
Iden Identificac tificaci´ i´ on on en bucle cerrado
Como se coment´ o en la secci´ on on 3.2.1, a veces resulta re sulta bastante dif´ dif´ıcil identificar en bucle cerrado. Esto es especialmente cierto cuando el lazo de control es simple, el regulador lineal y adem´as as no se emplean se˜ nales externas (a modo de perturbaciones) para nales excitar toda la din´ amica del sistema. Existen una serie de condiciones para establecer amica la identificabilid identificabilidad ad de un sistema en bucle cerrado. Sup´ ongase que se parte del siguiente siguiente modelo para identificar un sistema: A(z 1 )y (k + d) = B( B (z 1 )u(k) + C (z 1 )e(k + d) −
−
−
donde d donde d es es el retraso del proceso, y los grados de los polinomios A polinomios A((z 1 ), B ), B((z 1 ), C ), C ((z 1 ) son m son m a , m b , m c respectivamente. Sup´ ongase ongase adem´ as as que el sistema est´ a gobernado por un regulador que toma la expresi´ on: on: −
−
−
Q(z 1 ) u(t) = − y (t) P ( P (z 1 ) −
−
donde los grados de Q y P son v y w respectivamente. Teniendo en cuenta todo esto, se formulan las siguientes condiciones de identificabilidad en bucle cerrado.
´ A LA IDENTIFICACI ON ´ DE SISTEMAS CAP ´ITULO 3. INTRODUCCI ON
61
Primera condici´ on de identificabilidad en bucle cerrado Los o´rdenes del modelo del proceso y de las perturbaciones deben ser conocidos con exactitud.
Segunda condici´ on de identificabilidad en bucle cerrado Si los polinomios A(z 1 ) y C (z 1 ) tienen p ceros comunes (en caso de que sean primos entre si, p = 0) se ha de cumplir que −
−
m´ax(w − mb , d + v − ma ) ≥ p Si esto no se cumpliese, la soluci´on pasa por fijar alguno de los par´ ametros del modelo a fin de bajar los grados ma o mb . Si fuera factible aumentar el retraso, tambi´en podr´ıa usarse esto para lograr la identificabilidad en bucle cerrado. N´ otese que por estos procedimientos lo que se consigue es que el proceso de identificaci´ on converja a un valor del vector de par´ ametros que corresponde con el que da un menor error. No quiere decir que el sistema real se describa mejor por ese modelo. Es decir, puede que exista otro modelo del mismo orden mejor, pero si no se toman las medidas indicadas no se llegar´ıa a ese modelo ni probablemente se converger´ıa a ning´ un otro. Un caso com´ u n es que p = 0 y ma = mb = n, por lo que esta condici´ on se puede expresar como m´ax(w, v + d) ≥ n
Ejemplo 3.1 Supongamos que ma = m b = n y que G(z 1 ) u(k) = − y(k) zB(z 1 )F (z 1) −
−
−
y que los ordenes de G(z 1 ) y F (z 1 ) son n − 1 y d respectivamente. Entonces se cumple que v = n − 1 w = n + d − 1 −
−
por lo que la condici´ on de identificabilidad ser´ıa que m´ax(n + d − 1, n − 1 + d) ≥ n Esto implica que para que el sistema sea identificable en bucle cerrado, d ≥ 1. Otra soluci´on ser´ıa fijar un par´ ametro.
62
ALGUNAS PROPIEDADES
3.3.3.
Niveles de supervisi´ on y acondicionamiento
En la identificaci´ on en l´ınea es habitual introducir un nivel de supervisi´ on y tratamiento de las se˜ nales a fin de evitar que se produzcan situaciones que desestabilicen la identificaci´ on, es decir, que el valor del vector de par´ ametros identificado no converja o converja a un valor incorrecto. Las tareas que se pueden realizar en estos niveles incluyen: Filtrado de datos a la entrada del identificador para evitar cambios bruscos en los par´ametros estimados. Acondicionamiento de se˜ nales: eliminaci´on de los valores de continua y escalado de las variables. Supervisar que la evoluci´on de los par´ametros est´e dentro de unos rangos determinados. Monitorizar otros elementos del algoritmo de identificaci´ on. Monitorizar la introducci´ on de riqueza din´amica al sistema: paradas temporales del identificador e inyecci´ on de perturbaciones.
Cap´ıtulo 4 Identificaci´ on por m´ınimos cuadrados 4.1.
El m´ etodo de los m´ınimos cuadrados
Este m´etodo permite la identificaci´ on en tiempo real de modelos con el u´nico requisito de que estos sean lineales en los par´ametros. Esto incluye, por tanto, a modelos lineales y no lineales que sean lineales en los par´ ametros. El mayor interes pr´ actico reside, sin embargo, en la identificaci´on de los primeros, dado que son los m´ as utilizados en control. Consider´ese el siguiente modelo param´etrico lineal monovariable1 : y(k) + a1 y(k − 1) + · · · + an y(k − n) = b 1 u(k − 1) + · · · + bn u(k − n)
(4.1)
N´otese que este modelo es determinista en el sentido de que no considera ruidos aleatorios como en los modelos vistos en el tema 2. Es inmediato comprobar que este modelo corresponde a la siguiente funci´ on de transferencia: b1 z 1 + · · · + bn z n G(z ) = 1 + a1 z 1 + · · · + an z −
−
1
−
−
n
−
El modelo (4.1) se puede reescribir como: y(k) = m(k)θ 1
(4.2)
Este m´etodo se puede aplicar sin cambios conceptuales a modelos multivariables. Sin embargo por simplicidad nos ce˜ niremos al caso de modelos monovariables.
63
´ EL M ETODO DE LOS M ´INIMOS CUADRADOS
64
donde el vector m(k) =
−y(k − 1) · · · −y(k − n) u(k − 1) · · · u(k − n)
es llamado regresor y θ =
a1 · · · an b1 · · · bn
(4.3)
T
ˆ el error de es el vector de par´ ametros . Dado un valor del vector de par´ametros θ, predicci´ on para el instante k ser´a e(k, ˆ θ) = y(k) − yˆ(k) = y(k) − m(k)θˆ N´otese que conocido el valor de los valores presentes y pasados de la salida y la entrada, la expresi´on (4.2) es una ecuaci´ on en las que las 2n incognitas son los par´ ametros que forman θ. Si el proceso a identificar correspondiese exactamente con un modelo como (4.1) se podr´ıa determinar el valor del vector de par´ ametros a partir de 2n medidas u observaciones de la salida para una serie de entradas conocidas. Es decir, se formar´ıa un sistema de 2n ecuaciones con el que se podr´ıa determinar el valor real de θ.
El m´etodo de los m´ınimos cuadrados parte de N pares (y(k), m(k)) donde N es generalmente mucho mayor de 2n (este ser´ıa el conjunto de estimaci´ on) y permite ajustar un modelo del tipo (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 soluci´ on y el error de predicci´on alcanzado ser´ıa cero para todas las medidas del conjunto de estimaci´ on. Sin embargo, en la pr´actica el proceso no se puede describir a la perfecci´ on mediante un modelo lineal del tipo (4.1) por lo que el sistema de ecuaciones no tiene soluci´ on en el sentido de que no existe un valor del vector de par´ ametros que haga que el error de predicci´ on sea cero para todas las medidas del conjunto de estimaci´ on. Es decir, el sistema de ecuaciones es incompatible. Sin embargo si se puede encontrar un valor del vector de par´ ametros que haga m´ınimo el error de predicci´ on, de manera m´ as precisa que haga m´ınima la suma de los cuadrados de los errores de predicci´ on del conjunto de estimaci´ on. Esta es 2 precisamente la estrategia del m´etodo de m´ınimos cuadrados . Las medidas obtenidas desde k = n hasta k = N se agrupan en vectores de manera que se obtiene: E (N, θ) = Y (N ) − M (N )θ donde los vectores E (N ) e Y (N ) son E (N, θ) = Y (N ) = 2
e(n, θ) · · · e(N, θ) T y(n) · · · y(N )
T
En un contexto matem´atico se dir´ıa que el vector de par´ametros que se calcula es la pseudosoluci´on en el sentido de los m´ınimos cuadrados de un sistema sobredeterminado incompatible.
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 4. IDENTIFICACI ON
65
y la matriz M (N ) est´ a formada por los regresores correspondientes, es decir
M (N ) =
m(n) .. . m(N )
Se define el ´ındice de bondad de ajuste como
N
2
J (θ) = E (N, θ) =
e2(k, θ)
k=n
Este ´ındice lo podemos reescribir como J (θ) = (Y (N ) − M (N )θ)T (Y (N ) − M (N )θ) El m´ınimo valor de J (θ) se dar´a en el valor del vector de par´ ametros que cumpla que dJ (θ) =0 dθ es decir, 2(M (N )θ − Y (N ))T M (N ) = 0 de donde se obtiene que el valor del vector de par´ ametros que hace m´ınimo el ´ındice de bondad de ajuste es θ = [M T (N )M (N )] 1 M T (N )Y (N ) ∗
−
(4.4)
y ese es por tanto el valor del vector de par´ ametros del modelo identificado. N´otese que para que el problema de identificaci´ on tenga soluci´ on la matriz [M T (N )M (N )] tiene que ser invertible al igual que M (N ). Sin entrar en demasiados detalles, tal condici´on se verifica cuando la entrada cumple las condiciones de excitaci´ on persistente del sistema. Se deber´ a acudir por tanto a se˜ nales de entrada parecidas al ruido blanco (ver tema 3).
4.2.
Algoritmo recursivo para identificaci´ on en linea
La expresi´ on (4.4) implica la inversi´ on de una matriz que puede tener unas dimensiones apreciables, tanto m´ as si se tiene en cuenta que para identificar correctamente
´ EN LINEA ALGORITMO RECURSIVO PARA IDENTIFICACI ON
66
un sistema se deben tener suficientes medidas para eliminar el efecto de ruidos y perturbaciones ajenas a la din´ amica del sistema. Intentar efectuar estos c´ alculos en linea 3 es bastante ambicioso para el hardware de control habitual . Por tanto este algoritmo se destina a la identificaci´ on fuera de linea. En linea se emplea otro procedimiento que se muestra a continuaci´ on. La estimaci´ on para el instante k usando las medidas obtenidas desde el instante n vendr´ a dada por ˆ θ(k) = [M T (k)M (k)] 1 M T (k)Y (k) = P (k)M T (k)Y (k) = P (k)(M T (k − 1)Y (k − 1) + mT (k)y(k)) −
donde
k
P (k) = [M T (k)M (k)]
1
−
=
(4.5)
1
−
mT (i)m(i)
i=n
es la llamada matriz de covarianza. Se puede comprobar que P 1 (k − 1) = P 1 (k) − mT (k)m(k) −
−
Por otra parte tambien se puede obtener que ˆ − 1) M T (k − 1)Y (k − 1) = P 1 (k − 1)θ(k ˆ − 1) − mT (k)m(k)θ(k ˆ − 1) = P 1 (k)θ(k − −
Combinando las dos ultimas expresiones con (4.5) se obtiene ˆ θ(k) = = =
ˆ − 1) − P (k)mT (k)m(k)θ(k ˆ − 1) + P (k)mT (k)y(k) θ(k ˆ − 1) + P (k)mT (k)(y(k) − m(k)θ(k ˆ − 1)) θ(k ˆ − 1) + K (k)(y(k) − m(k)θ(k ˆ − 1)) θ(k
(4.6)
ˆ donde K (k) = P (k)mT (k). Por tanto θ(k) se puede expresar en forma recursiva, es decir en funci´ on del valor del estimador en el instante anterior m´ as un t´ermino corrector que consiste en el error de predicci´ on en el instante actual cometido por el estimador calculado en el instante anterior multiplicado por una ganancia de adaptaci´ on K (k). Esta formula da lugar al llamado algoritmo de minimos cuadrados recursivos, que consiste en 1. Dar valores iniciales a la matriz P y al vector de par´ ametros θ. 3
T´ engase en cuenta que el hardware industrial no se renueva tan r´apidamente como el usado en inform´ atica personal y que adem´as tampoco se incorporan las ´ultimas tecnologias con la misma rapidez.
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 4. IDENTIFICACI ON
67
2. En cada instante k a ) Leer los valores de y(k) y u(k). b) Formar el vector regresor m(k) seg´ un la expresi´ on (4.3). c ) Calcular P (k) mediante P (k − 1)mT (k)m(k)P (k − 1) P (k) = P (k − 1) − 1 + m(k)P (k − 1)mT (k) d ) Calcular K (k) segun la expresi´ on K (k) = P (k)mT (k) e ) Calcular θ(k): ˆ = θ(k ˆ − 1) + K (k)[y(k) − m(k)θ(k ˆ − 1)] θ(k) Este algoritmo puede intepretarse gr´ aficamente como se ilustra en la figura 4.1. PLANTA
+ Σ
FORMAR REGRESOR -
ALGORITMO RECURSIVO
+
Z-1
θ
Figura 4.1: Diagrama de flujo del proceso de identificaci´on mediante m´ınimos cuadrados recursivos.
4.3.
Interpretaci´ on estad´ıstica
En esta secci´ on se presentan las propiedades estad´ısticas del estimador obtenido por el m´etodo de m´ınimos cuadrados en funci´ on de las caracter´ısticas del proceso que se trata de identificar.
68
´ ESTAD´ISTICA INTERPRETACI ON
Supongase que el proceso que se pretende modelar responde bien a un modelo ARMAX o bien a un modelo ARX-LS (vease la secci´ on 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 se˜ nal de ruido en el instante k exclusivamente. Esto implica que en el caso del ARMAX la salida depende de los valores pasados de v(k) mientras que en el caso del ARX-LS esta dependencia es exclusivamente con el valor actual de v(k). −
−
Un hecho a tener en cuenta es que al ser v(k) una variable aleatoria, y(k) es a su vez una variable aleatoria al ser el ruido aditivo. Esto implica a su vez que el valor del vector de parametros estimado θˆ tambien es una variable aleatoria que se puede estudiar desde un punto de vista estad´ıstico. Por responder el proceso exactamente a uno de los dos tipos de modelos considerados existe un valor del vector de par´ametros θ que consideraremos como verdadero. Es decir ∗
y(k) = m T (k)θ + C (z 1 )v(k) ∗
−
Resulta muy interesante saber si al aplicar el m´etodo de los m´ınimos cuadrados, el ˆ ˆ vector de par´ ametros estimados θ(k) coincide con θ . Dado que θ(k) es una variable aleatoria estudiaremos su valor esperado, es decir su esperanza matem´ atica. Se define el sesgo de la estimaci´ on como ∗
˜ ˆ −θ θ = E θ(k)
∗
ˆ y el valor verdadero θ . Se es decir como la diferencia entre el valor esperado de θ(k) comprueba que ˜ θ = E [M T (k)M (k)] 1 M T (k)V (k) (4.7)
−
∗
donde V (K ) es una matriz donde la fila correspondiente al instante k est´a formada por los valores v(k),· · ·,v(k − cn ). N´otese adem´ a s que la fila de M (k) correspondiente al instante k contiene los valores de la salida y de la entrada en los instantes k − 1,· · ·,k − n pero no los del instante k (ver expresi´ on (4.3)). Considerese el caso del modelo ARMAX. Claramente existe relaci´ on entre los componentes de la matriz M (k) y V (k). En efecto, la matriz de regresores est´ a formada por valores de la salida y la entrada. Los primeros dependen de los valores de la se˜ nal de ruido y los segundos son deterministas, por lo que existe una correlaci´ on entre la matriz M (k) y V (K ). Por lo tanto tambien existe esa correlaci´ on entre [M T (k)M (k)] 1 M T (k) y V (k). Eso implica que seg´ un la expresi´ on (4.7) θ˜ es distinto de cero. Por tanto no est´a garantizada la convergencia del vector de par´ ametros estimados con el real . −
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 4. IDENTIFICACI ON
69
La situaci´ on es diferente con el modelo ARX-LS. En este caso los valores de M (k) no pueden estar relacionados con V (k) (que, al ser cn = 0, solo est´a formada por los valores presentes de v(k) para cada instante k). Por tanto, el estimador por m´ınimos cuadrados es insesgado, es decir θ˜ = 0 y por tanto el valor esperado del estimador coincide con el valor real del vector de par´ ametros, es decir
ˆ E θ(k) = θ
∗
Por otra parte, el hecho que de que el proceso responda a uno u otro tipo de modelo tiene una interpretaci´ on f´ısica inmediata. En el caso del proceso ARMAX el ruido presenta una cierta din´ amica , mientras que en el caso del ARX-LS el ruido no presenta din´ a mica alguna y responde u´nicamente a un ruido proveniente del sensor de medida. Es en este u ´ltimo caso cuando el m´etodo de m´ınimos cuadrados produce estimaciones consistentes. Otra propiedad que resulta interesante conocer es la varianza del estimador. Claramente interesa que esta varianza sea peque˜ na o por lo menos que disminuya conforme se acumulan medidas disponibles para usarlas en la estimaci´ on. De esa manera, el vector de par´ ametros estimados estar´ a con seguridad cerca del vector real. La varianza del estimador se puede calcular como
ˆ ˆ − θ ) (θ(k) ˆ −θ ) varianza(θ(k)) = E (θ(k) = σ 2 P (k)
∗
T
∗
donde σ = E {v(i)v( j)} para i = j. N´o tese que para que la varianza sea peque˜ na interesa que P (k) sea peque˜ na o que al menos decrezca a medida de que k aumenta. Una medida del tama˜ no de P (k) es su traza, por lo que se usa como una medida de la exactitud de la estimaci´ on, de manera que se busca que la traza vaya decreciendo.
Esta interpretaci´ on estadistica del tama˜ no de P (k) tambien proporciona una regla para dar un valor inicial a la matriz P (k). En efecto, en general no se tendr´ a demasiada confianza en que el valor inicial del vector de par´ a metros estimados, por lo que se escoger´a una matriz P (0) grande para reflejar esa desconfianza, por ejemplo P (0) = umero muy alto (por ejemplo 10000). Este n´ umero ser´ a mas peque˜ no pI donde p es un n´ si se sabe que el valor inicial del vector de par´ametros est´ a cerca de θ .
∗
Por otra parte, es evidente que a medida que el numero de observaciones N crece la suma N
k=n
mT (k)m(k)
M ´INIMOS CUADRADOS PONDERADOS
70
crece. Recuerdese que, segun se defini´ o en la secci´on 4.2
P (k) =
1
−
k
mT (i)m(i)
i=n
lo que implica que a medida que N crece P decrece. Se puede demostrar que si el 1 tama˜ no del regresor no cambia demasiado P decrece como N . Esto quiere decir que la incertidumbre en la estimaci´ on decrece, es decir, que cada vez se obtiene un estimador m´as cercano al valor real. Adem´ as la ganacia de adaptaci´ on K (k) tambien decrece (vease su definici´ on en la secci´ on 4.2) lo cual es congruente con el hecho de que cuanto m´as exacta es la estimaci´ on menos correcci´ on de su valor se necesita. Esto es bueno si la din´amica del proceso no cambia con el tiempo, pero si esto no es as´ı habr´ a que modificar este esquema.
4.4.
M´ınimos cuadrados ponderados
A veces es conveniente dar m´as peso a algunas medidas que a otras en la estimaci´on. Por ejemplo si se identifica un proceso cuya din´amica cambia con el tiempo interesar´ a dar mas peso a las medidas m´ as recientes, pues estas ser´ an las que reflejen la din´amica m´as actualizada. Para conseguir esto hay que modificar el ´ındice de bondad de ajuste, de manera que se use N
J (θ) = E (N, θ)T W (N )E (N, θ)2 =
w(k)e2 (k, θ)
k=n
siendo W (N ) la matriz diagonal de pesos
W (N ) =
w(n) ... w(N )
La soluci´ on del problema de ajuste es en este caso
θ = [M T (N )W (N )M (N )] 1M T (N )W (N )Y (N ) ∗
−
(4.8)
El esquema de ponderaci´ on m´as habitual es el llamado olvido exponencial . En este caso w(k) = λ N K −
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 4. IDENTIFICACI ON
71
, donde λ ∈ (0, 1) es el llamado factor de olvido. Es f´ acil entender por que se le llama olvido exponencial: el peso dado a la medida disminuye exponencialmente cuanto m´ as antigua sea. De esta manera las medidas muy antiguas se olvidan, pues su peso es tan peque˜ n o que es como si no se contribuyesen a la estimaci´on. Habitualmente se usa λ ∈ [0,98, 1). Por ejemplo, si λ = 0,99 el estimador tendr´ıa una memoria de unas 100 muestras. En aquellos casos que la din´amica del proceso cambie muy r´ apidamente se puede optar por valores m´ as bajos (por ejemplo, λ = 0,95).
En el caso de la t´ecnica de olvido la formulaci´ on recursiva puede aplicarse modificando las expresiones para el calculo de P (k) de manera que: P (k − 1) P (k − 1)mT (k)m(k)P (k − 1) − P (k) = λ λ + m(k)P (k − 1)mT (k) Puede observarse que, dado que K (k) = P (k)mT (k), la ganancia de adaptaci´ on K (k) depende de λ y a menor λ mayor ganancia de adaptaci´ on. Esto quiere decir que a menor λ mejor se adaptar´ a la identificaci´ on a una din´amica cambiante, ya que se considerar´ıa en la optimizaci´on solo la informaci´ on m´as reciente. Sin embargo si en el sistema o en las medidas hay mucho ruido, es conveniente que la din´amica se identifique sobre un conjunto amplio de medidas ya que si no se identificar´ıa el ruido m´as que la din´amica del proceso. Por tanto en estos casos conviene que λ no sea muy peque˜ no. Por tanto hay que llegar a un compromiso entre la capacidad de seguir una din´ amica cambiante y el rechazo del ruido en la identificaci´ on.
4.5.
M´ınimos cuadrados extendidos y generalizados
Seg´ un se explic´o en la secci´ on 4.3 el estimador obtenido mediante m´ınimos cuadrados es insesgado si el proceso responde a un modelo ARX-LS, pero no si responde a un modelo ARMAX. En la pr´actica, si la relaci´on se˜ nal-ruido es baja el proceso ha de modelarse con un modelo de perturbaciones m´ as complejo que el del ARX-LS ya que la se˜ nal de ruido y su influencia sobre la din´amica son importantes. En estos casos se debe recurrir a un modelo ARMAX. El m´etodo de los m´ınimos cuadrados extendidos trata de resolver el problema del sesgo en la estimaci´on de modelos ARMAX. La soluci´ on es incluir los coeficientes del 1 polinomio C (z ) en el vector de par´ ametros del estimador, es decir −
θ =
a1 · · · an b1 · · · bn c1 · · · cn
T
72
´ DE LOS VALORES DE CONTINUA ESTIMACI ON
Sin embargo, los valores pasados de la se˜ nal de ruido v(k) no son medibles, por lo que no se pueden incluir en el regresor. Lo que se hace es aproximarlos por los errores de predicci´on, es decir ˆ − 1) e(k) = y(k) − m(k)θ(k Si el proceso coincidiera exactamente con el modelo para algun valor del vector de par´ametros, entonces si los parametros evolucionasen en la direcci´ on correcta la aproximaci´on de los valores de los ruidos por los errores cada vez ser´ıa m´ as correcta y eventualmente se igualar´ıan, es decir v(k) = e(k). El regresor se formar´ a entonces como, m(k) =
−y(k − 1) · · · −y(k − n) u(k − 1) · · · u(k − n) e(k − 1) · · · e(k − n)
El resto del procedimiento es exactamente igual, tanto en las formulaciones fuera de linea como en linea. Con este m´etodo se consiguen estimaciones insesgadas y consistentes para procesos que respondan como un modelo ARMAX. Los problemas son un aumento de la carga de calculo y una menor velocidad de convergencia en los par´ ametros ci debido a que la se˜ nal de ruido no es la m´ as preponderante. Finalmente, existe otra variante de los m´ınimos cuadrados que son los m´ınimos cuadrados generalizados. Sin entrar en demasiados detalles, esta formulaci´ o n se usa 1 cuando se tiene alg´ un conocimiento del valor real del polinomio C (z ) o de la matriz P (matriz de covarianza). En este caso si la matriz N definida como −
N = E vv T
es distinta de la matriz identidad se obtienen mejores resultados si el criterio que se utiliza es J (θ) = eT (k, θ)N 1 e(k, θ)
4.6.
−
Estimaci´ on 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 se˜ nal y eliminarlos de las medidas usadas en la identificaci´ on. Es decir para identificar un proceso hay que utilizar se˜ nales sin componente continua: u(k) = U (k) − U
∞
y(k) = Y (k) − Y
∞
donde U (k) e Y (k) son los valores reales de la salida y la entrada y U e Y son los valores de continua de ambas se˜ nales. Para estimar dichos valores existen diversas opciones. ∞
∞
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 4. IDENTIFICACI ON
4.6.1.
73
Utilizaci´ on de los incrementos de las variables
En este caso se toman los incrementos de las se˜ nales, es decir uID (k) = u(k) − u(k − 1) = (U (k) − U ) − (U (k − 1) − U ) = U (k) − U (k − 1) ∞
∞
donde la se˜ nal uID (k) es la se˜ nal de entrada que se utiliza en la identificaci´ on. Como se puede observar, al usarse el incremento, se resta de manera implicita la componente continua. Lo mismo se hace con la salida yID (k) = y(k) − y(k − 1) = (Y (k) − Y ) − (Y (k − 1) − Y ) = Y (k) − Y (k − 1) ∞
∞
Evidentemente, lo que se obtiene al identificar es un modelo incremental, es decir formulado en incrementos de y(k) y u(k) y este incremento se tendr´ a que deshacer si lo que se quiere son los valores no incrementales de dichas se˜ nales.
4.6.2.
C´ alculo de los valores medios
La idea es aproximar los valores de continua por los valores medios de las se˜ nales. En el caso de la formulaci´ on fuera de linea estos valores medios se calculan mediante las expresiones tradicionales, es decir 1 U = N ∞
N
1 Y = N
u(i)
∞
i=1
N
y(i)
i=1
para la identificaci´ on en linea, es decir mediante algoritmos recursivos, se emplean las siguientes expresiones 1 U (k) = U (k − 1) + (U (k) − U (k − 1)) k ∞
∞
∞
1 Y (k) = Y (k − 1) + (Y (k) − Y (k − 1)) k ∞
4.6.3.
∞
∞
Estimaci´ on de una constante
La idea en este caso es que el modelo que se pretende identificar puede reescribirse como Y (k) − Y
∞
= −a1 (Y (k − 1) − Y ) − a2 (Y (k − 1) − Y ) − · · · − an (Y (k − n) − Y ) +b1 (U (k − d − 1) − U ) + · · · + bn (U (k − d − n) − U ) ∞
∞
∞
∞
∞
74
IMPORTANCIA DEL ORDEN DEL MODELO
lo cual a su vez se puede poner como Y (k) = −a1 Y (k − 1) − · · · − an Y (k − n) +b1 U (k − d − 1) + · · · + bn U (k − d − n) + K siendo K una constante que vale K = (1 + a1 + · · · + an )Y − (b1 + · · · + bn )U ∞
∞
(4.9)
Para estimar la componente continua se modifica el algoritmo de manera que en el vector de par´ ametros se incluye K θ =
a1 · · · an b1 · · · bn K
y en el regresor se incluye un 1 m(k) =
T
−y(k − 1) · · · −y(k − n) u(k − 1) · · · u(k − n) 1
Una vez estimado el valor de K , lo que se hace es dar un valor arbitrario a Y , por ejemplo igual al valor de la referencia o consigna. Con ese valor se calcula U mediante la expresi´on (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 pr´ actica esto no es sencillo, y se debe recurrir a probar con varios modelos de ordenes y estructuras distintas a ver cual resulta mejor. Esto quiere decir que se pueden dar situaciones de mala estimaci´ on del orden del modelo por defecto (incurriendose en lo que se llama infraparametrizaci´ on ) o por exceso (sobreparametrizaci´ on ). Veamos que ocurre cuando se intenta aproximar un sistema por un modelo de orden inferior. Si esto sucede se llega a una situaci´ on en la que el modelo solo puede aproximar al sistema real en una banda de frecuencia relativamente estrecha. Si durante el transcurso del proceso de identificaci´ o n la se˜ nal de entrada cambia su contenido frecuencial, el modelo estimado (es decir su vector de par´ ametros) evoluciona hasta aproximar al sistema en torno a la nueva banda de frecuencias. Todo esto implica que se obtendr´ a un modelo distinto dependiendo de la se˜ nal de entrada. Este problema se ilustra en las figuras 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
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 4. IDENTIFICACI ON
75
20 10 B 0 d d u t i −10 l p m a−20 −30 −40 −1
10
0
10
1
10
0
−50 ) s o d a−100 r g ( e s a−150 f s e d
−200
−250 −1
10
0
10
1
10
frecuencia rad/s
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 .
20 10 B 0 d d u t i −10 l p m a−20 −30 −40 −1
10
0
10
1
10
0
−50 ) s o d a r −100 g ( e s a f −150 s e d
−200
−250 −1
10
0
10
1
10
frecuencia rad/s
Figura 4.3: Misma situaci´on que en la figura 4.2 pero con una se˜nal de entrada senoidal de frecuencia ω = 1 rad × s−1 .
76
IMPORT IMPORTANCIA DEL ORDEN DEL MODELO
el modelo obtenido no es sino una aproximaci´ on del sistema original en el entorno de on la frecuencia de la entrada. Esto ocasiona por tanto que ambos modelos sean distintos.
A la vista de lo que ocurre cuando existe infraparametrizaci´ on, on, parece par ecerr´ıa l´ ogico ogico que resulte mejor sobreestimar el orden del modelo para evitar el continuo cambio de los par´ametros ametros del modelo estimado. Sin embargo esto no es una buena idea, pues puede ocurrir que haya par´ ametros ametros del modelo estimado estimado que puedan tomar cualquier valor valor sin que cambie la relaci´on on que liga las entradas del modelo con las salidas. Esto se manifiesta en que algunos par´ ametros experimentan una deriva tomando valores arbitrarios muy ametros altos o muy bajos. Esto ocasionar´ıa ıa problemas num´ ericos. ericos. Esta situaci´ on se ilustra en la figura 4.4. En ella se muestra la evoluci´on o n de los par´ ametros de un modelo de ametros 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 par´ ametros identificados convergen y ametros permanecen estables a lo largo del proceso de identificacion. Sin embargo otros no solo no convergen sino que derivan hacia valores muy altos o muy bajos. 1.5 1 0.5 y e u
0
−0.5 −1 −1.5 0
5
10
15
5
10
15
20
25
30
35
40
20
25
30
35
40
1.5 1
s 0.5 o d a m 0 i t s e−0.5 i
b ,
i
a
−1
−1.5 −2 0
tiempo (s)
Figura 4.4: Evoluci´on on de los par´ametros ametros identificados en un caso de sobreparametrizaci´on. on.
Matem´aticamente aticamente el exceso de par´ ametros conduce a una situaci´ ametros on o n en la que m´ as as de una combinaci´ on de los valores del vector de par´ on ametros ametros producen la misma relaci´ on entre la entrada y la salida. Por tanto la sobreparametrizaci´ on se manifiesta manifie sta tambi´en en si se traza la gr´ afica afica de un par´ ametro del modelo frente a otros por ametro p or que aparecen relaciones lineales. Esta situaci´on on se ilustra en la figura 4.5. En ella se muestran dos ejemplos en los que se presentan los valores de un par´ ametro ametro en funci´ o n del otro a medida que on el proceso de identificaci´ on avanza. Puede observarse que existe un marcado patron on lineal, que indica una dependencia lineal entre ambos par´ ametros. ametros.
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 4. IDENTIFICA IDENTIFICACI CI ON
77
0.025
k=30
0.02
k=100 0.015 3
b
0.01 0.005 0
−0.005 −2
−1 .8 k=180
−1.6
−1.4
−1.2
−1
−0.8
−0.6
a
1
1.5
1
2
a
0.5
k=180 k=100
0 k=30 −0.5 −2
−1.8
−1.6
−1.4
−1.2
−1
−0.8
−0.6
a
1
Figura 4.5: Evoluci´on on de unos par´ametros ametros frente a otros para el modelo sobreparametrizado.
4.8. 4.8.
Identi Iden tific ficac aci´ i´ on de sistemas con retardo o no lion neales
El m´etodo eto do de los l os m´ m´ınimos cuadrados cuad rados puede aplicarse aplica rse a procesos pro cesos con retardo re tardo,, siempre siemp re 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( B (z 1 )u(k − d − 1) −
−
Eso quiere decir que el regresor en el instante k debe contener valores pasados de la entrada desde k − d − 1 a k − d − n donde n es el grado del polinomio B (z 1 ). Por tanto el regresor queda −
m(k) =
−y (k − 1) · · · −y(k − n) u(k − d − 1) · · · u(k − d − n)
Con esta modificaci´ on on cualquiera c ualquiera de los algoritmos algor itmos de m´ınimos cuadrados cua drados vistos antea nteriormente se puede aplicar a procesos con retardo. El problema estriba en que se ha de conocer exactamente exactamente el retardo (vease tema 3). El m´etodo etodo usual para conocer este dato es provocar un cambio en la entrada y observar cuando se manifiesta dicho cambio en la salida (ha de tenerse en cuenta que en todo sistema muestreado los cambios en la entrada se manifestar´ an como mucho en el siguiente periodo de muestreo). Este an sencillo esquema se puede complicar por ejemplo si el retardo es variable. Esto es m´ as as com´ un un de lo que se cree, pues el retardo as´ as´ı como el resto de par´ ametros de un sistema suele depender del punto de funcionamiento (por ejemplo, los retardos de transporte ocasionados por tuberias dependen del caudal de material que se transporta). El problema es que, aunque los m´etodos etodos de identificaci´ on propuestos puedan seguir cambios
78
CONSIDERACIONES CONSIDERACIONES FINALES
en los parametros del modelo (se adaptan a esos cambios) no recogen la posibilidad de un retardo variable (existen remedios a este problema, pero no se tratar´ an aqu´ aq u´ı). ı) . Otro problema que puede suceder es que el retardo no sea multiplo exacto del tiempo de muestreo. Aunque existen formas para describir retardos no enteros (por ejemplo, el uso de una expansi´on on de d e Pad´e) e) es mas sencillo sen cillo y menos problem´ atico atico emplear si es posible otro tiempo de muestreo para hacer que el retardo sea entero. Finalmente se coment´ o al principio del tema que el m´etodo etodo de m´ınimos cuadrados tambien permite la identificaci´ on de sistemas no lineales con la limitaci´ on on o n de que el modelo a identificar identificar sea lineal en los par´ ametros. De este modo, si el sistema ametros. sistema se pretende identificar con un modelo mo delo que por ejemplo podr p odr´´ıa ser y (k ) + ay( ay (k − 1) = bu 2 (k − 1) el regresor y el vector de par´ amet am etro ross ser´ s er´ıan ıa n m(k) = respectivamente.
4.9. 4.9.
−y (k − 1) u2 (k − 1)
y
θ (k ) =
a b
T
Cons Consid ider erac acio ione ness fin final ales es
En esta secci´ on on se enunciar´ an algunas cuestiones pr´ an acticas a tener en cuenta cuando acticas se implementa alguno de los algoritmos presentados en este tema. En primer lugar si no se emplea la t´ecnica ecnica de factor de olvido, olvido, la ganancia ganancia de adaptaci´ adaptacion ´ K (k) decrece hasta hacerse casi cero, por lo que cuando eso ocurre ya no se pueden seguir cambios posteriores de la din´ amica. Por tanto para identificar sistemas cuya din´ amica. amic am icaa var´ıa ıa lentament lentamentee se ha de emplear m´ m´ınimos cuadrados ponderados. Por otra parte, existen situaciones en las que la matriz de covarianzas P puede P puede crecer demasiado, por lo que el identificador se har h ar´´ıa muy sensible a cualquier peque˜ pequeno ˜ cambio de la din´amica amica o al ruido. Esto ocurre por ejemplo cuando cuan do el punto de funcionamiento no var´ 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 de P crece crece demasiado se toma λ toma λ = = 1. Si la traza de P de P baja baja mucho se va bajando λ, pero per o sin sobrepasar so brepasar un cierto l´ l´ımite que evita que el proceso pro ceso de identificaci´ on se haga demasiado sensible al ruido. Otro aspecto es la elecci´ on on del valor inicial de P de P .. Se ha comentado que en el caso de que no se tenga mucha confianza en el valor del vector de par´ ametros inicial, se propone elegir P P como una matriz diagonal pI pI siendo p un n´ umero arbitrariamente alto. Por umero
´ POR M ´INIMOS CUADRADOS CAP ´ITULO 4. IDENTIFICACI ON
79
otra parte si antes de comenzar la identificaci´ o n ya se dispone de 2n observaciones, donde 2n es el n´ umero de par´ ametros a estimar, es posible tomar como valor inicial
T
P (0) = M (2n)M (2n)
1
−
y como valor inicial del vector de par´ametros se puede usar θ = P (0)M (2n)Y (2n).
80
CONSIDERACIONES FINALES
Cap´ıtulo 5 Introducci´ on al control adaptativo 5.1.
Planteamiento del problema
En el contexto del control autom´ atico el t´ermino adaptativo se refiere a la facultad de cambiar el comportamiento o par´ ametros del control en respuesta a cambios en las circunstancias del sistema controlado. Un regulador adaptativo ser´ a aquel que pueda modificar su comportamiento en respuesta a cambios en la din´ amica del sistema y/o en las perturbaciones a las que se ve sometido dicho sistema. En realidad esto es tambi´en lo que se persigue cuando se introduce la realimentaci´ on en un sistema de control. En efecto, el control realimentado fundamenta su efectividad en el hecho de que es capaz de reaccionar a los cambios del estado o salida del proceso (los cuales pueden venir motivados por perturbaciones o tambi´ en cambios en la din´ amica del proceso) actuando de manera que dicho estado o salida se mantenga controlado. En general se acepta que el control adaptativo es un tipo de control no lineal en el que el estado del proceso puede ser separado en dos escalas de tiempo que evolucionan a diferente velocidad. La escala lenta corresponde a los cambios en los par´ ametros del regulador y la escala r´ apida a la din´amica del bucle ordinario de realimentaci´ on. La configuraci´ on 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 realimentaci´ on negativa en el que aparece un regulador ajustable y otro bucle que se utiliza para ajustar los par´ ametros de dicho regulador. Para ello, se obtiene un cierto´ındice de actuaci´ on en el cual se expresa la bondad o comportamiento del controlador. Dicho ´ındice de actuaci´ on se compara con un cierto comportamiento deseado y seg´ un el resultado de dicha comparaci´ on se ajustan 81
82
PLANTEAMIENTO DEL PROBLEMA
+
+
u
REFERENCIA
+
y
COMPORTAMIENTO DESEADO
Figura 5.1: Configuraci´on gen´erica de un controlador adaptativo.
los par´ametros del regulador. Para ello se utiliza un mecanismo de adaptaci´ on que en algunos casos (no siempre) tambi´en puede actuar directamente sobre la actuaci´ on o se˜nal de control que recibe el proceso. En algunos casos se a˜ nade un tercer bucle que tiene como tarea la supervisi´ on del sistema de manera que, por ejemplo, se garantice la estabilidad del sistema en bucle cerrado o se eviten ciertos comportamientos indeseados tales como cambios demasiado abruptos en los par´ ametros del regulador ajustable. Es f´acil ver que en el esquema anterior el mecanismo de adaptaci´ on realiza la tarea de resolver en tiempo real el problema de dise˜ nar un regulador apropiado (en el caso m´as sencillo con una estructura predefinida) para un sistema dado de manera que se cumplan unas determinadas especificaciones de dise˜ no (dadas por el comportamiento deseado ).
Existen otros controladores que proporcionan una cierta capacidad de adaptaci´ on pero que no encajan en la definici´ on anterior ya que la adaptaci´ on se realiza en bucle abierto, es decir, para adaptar la ley de control no se usan las medidas de la salida o estado de la planta. Este es el caso de los controladores gain scheduling los cuales se tratar´an en la secci´ on 7.4.
5.1.1.
Clasificaci´ on grosso modo de los sistemas de control adaptativo
De una manera general los sistemas de control adaptativo se pueden clasificar en dos grandes grupos:
´ AL CONTROL ADAPTATIVO CAP ´ITULO 5. INTRODUCCI ON
83
Controladores adaptativos por modelo de referencia (MRAC). Reguladores autoajustables (STR).
Ambas estrategias suponen que para cualquier juego de valores de los par´ ametros del sistema y las perturbaciones, existe un controlador lineal que hace que el sistema en bucle cerrado cumpla los requisitos de dise˜ no. Los MRAC intentan alcanzar un comportamiento en bucle cerrado deseado que viene especificado por un modelo de referencia. Por otra parte, los STR intentan alcanzar un control lo mejor posible (´ optimo) a partir de un tipo de controlador prefijado y la informaci´ on obtenida del proceso (se˜ nales de entrada, salida, etc. . . ). Las dos t´ecnicas tienen sus ventajas e inconvenientes. Las ventajas del MRAC pasan por una r´ apida adaptaci´ on y la posibilidad de utilizar formulaciones que garanticen estabilidad (usando m´etodos de Lyapunov). Sin embargo, la capacidad de adaptaci´ on de estas estrategias dependen en gran medida de la riqueza din´ a mica de la se˜ nal de control (esto es an´ alogo a lo que ocurre en la identificaci´ on de sistemas, v´ease el tema 3). Por otra parte, los STR se adaptan bien en casi todas las situaciones y son f´ aciles de implementar pues admiten t´ecnicas de programaci´ on modular. Sin embargo, tambi´ en presentan sus propios inconvenientes como se ver´ a m´as adelante. Otra posible clasificaci´ o n de los sistemas de control adaptativos es aquella que atiende a la forma de obtener los par´ ametros del controlador. En este esquema podemos encontrarnos:
Controladores adaptativos con dise˜ no mediante criterio o´ptimo. Controladores adaptativos con dise˜ no mediante criterio no o´ptimo.
En los primeros el valor de los par´ ametros se obtiene buscando entre los posibles valores aquellos que hacen o´ptimo un cierto criterio de comportamiento del sistema. Es decir, optimizan un criterio de comportamiento o funcionamiento. En este grupo estudiaremos los controladores de m´ınima varianza y m´ınima varianza generalizado. Tambi´en se puede considerar en este grupo el control predictivo basado en modelo (al que dedicaremos un amplio cap´ıtulo m´ as adelante) cuando este tipo de control se utiliza como controlador ajustable en alguno de los esquemas de control adaptativo referidos al principio del tema.
84
´ DEL USO DE CONTROL ADAPTATIVO JUSTIFICACI ON
Los controladores adaptativos sin criterio optimo ´ buscan los par´ ametros del controlador no mediante la optimizaci´ on de un criterio de funcionamiento sino entre aquellos que cumplen unas ciertas especificaciones, por ejemplo, la colocaci´ on de los ceros y los polos de bucle cerrado. En estos esquemas el controlador ajustable puede ser por ejemplo un regulador PID, un controlador dead-beat como los estudiados anteriormente o un controlador por asignaci´ on de polos o de ceros y polos. En tiempo real se resolver´ a el problema de dise˜ nar dichos controladores, de manera que a pesar de los cambios en el proceso se sigan cumpliendo las especificaciones de dise˜ no.
5.2.
Justificaci´ on del uso de control adaptativo
El control adaptativo conlleva una serie de inconvenientes que pueden hacernos cuestionar su uso. Por ejemplo, su sinton´ıa no suele ser tan sencilla como la de los cl´ asicos controladores PID. Por tanto, hay que ver en que situaciones puede ser ventajoso su uso y en que situaciones es mejor quedarse con controladores m´ as sencillos. En general un controlador convencional est´ a pensando para controlar sistemas cuyos par´ametros permanecen constantes (es decir, su din´ amica no var´ıa). Esta suposici´on se corresponde m´ as o menos con la de un sistema que suele operar siempre cerca de un determinado punto de operaci´ on y cuyas perturbaciones no son grandes (en relaci´ on a la variable controlada) y no var´ıan demasiado. Sin embargo, puede suceder que el punto de trabajo var´ıe frecuentemente y en algunos sistemas puede suponer una variaci´ on de su din´amica 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 situaci´ on corresponde por +
u
f(u)
v
G(s)
-
Figura 5.2: Sistema realimentado con actuador con caracter´ıstica v = f (u).
ejemplo a la caracter´ıstica instalada de un v´ alvula que usualmente suele ser no lineal. Supongamos que el caudal de salida de la v´ alvula viene dado por una expresi´ on C = ξ ∗ A4, donde ξ es una cierta constante y A la apertura porcentual de la v´ alvula. En la figura 5.3 se muestra dicha caracter´ıstica instalada (trazo s´ olido). A la hora de dise˜ nar el sistema de control se intentar´ıa obtener un modelo linealizado del actuador, que
´ AL CONTROL ADAPTATIVO CAP ´ITULO 5. INTRODUCCI ON
85
evidentemente saldr´ıa diferente en funci´ on del punto de operaci´ on. Si el controlador se ve forzado a trabajar en distintos puntos de operaci´ on su rendimiento no podr´ a ser igual de bueno en todos, de manera que este esquema ir´ a bien si el punto de operaci´ on no se mueve demasiado. Una soluci´ on ser´ıa traba jar con un modelo linealizado a tramos de la caracter´ıstica de la v´ alvula (figura 5.3 trazo discontinuo), de manera que en cada punto de funcionamiento el controlador adaptar´ a su comportamiento (variando sus par´ametros de dise˜ no) de acuerdo al modelo linealizado que se tenga en cada caso. En 16
14
12
10 ) h / 3
m ( l 8 a d u a c 6
4
2
0 0
10
20
30
40
50
60
70
80
90
100
apertura (%)
Figura 5.3: Sistema realimentado con actuador con caracter´ıstica v = f (u).
general, cuando la variaci´ on en los par´ ametros del sistema o los actuadores se conoce de antemano y adem´ as se puede establecer una dependencia entre dichos par´ ametros y el punto de operaci´ on (o una variable auxiliar) se puede recurrir a t´ecnicas sencillas de control adaptativo como el gain scheduling (v´ease la secci´on 7.4). En caso contrario tendr´ıamos que recurrir a t´ecnicas m´ as sofisticadas. Otro hecho a tener en cuenta es que no siempre es f´ a cil juzgar la necesidad o no de utilizar el control adaptativo. Consid´erese el sistema dado por la funci´ on de transferencia G(s) =
1 (s + 1)(s + a)
donde a = −0,01, 0, 0,01
(5.1)
La primera aproximaci´ on a este sistema ser´ıa hallar su respuesta ante escal´ on, para los diversos valores de a. Como se ilustra en la figura 5.4 (izquierda), dicha respuesta var´ıa mucho en funci´on de los valores del par´ametro a, pasando de hecho de ser un sistema estable a otro inestable. Parecer´ıa que el sistema var´ıa lo suficiente como para justificar el uso del control adaptativo. Sin embargo, la configuraci´ on que realmente nos interesa es la del sistema realimentado. En la figura 5.4 (derecha) se muestra la
86
´ DEL USO DE CONTROL ADAPTATIVO JUSTIFICACI ON
respuesta del sistema en bucle cerrado (realimentaci´ on unitaria). En contra de lo que podr´ıamos suponer la respuesta en bucle cerrado es m´ as o menos la misma, por lo que, siendo esta la configuraci´ on en la que se va a trabajar, no ser´ıa necesario usar control adaptativo.
Step Response
Step Response
1.4
700
1.2
600
1
500
0.8
400
e d u t i l p m A
e d u t i l p m A
300
0.6
200
0.4
100
0.2
0 0
20
40
60
80
100
120
140
160
180
200
0 0
2
4
6
8
10
12
Time (sec)
Time (sec)
Figura 5.4: Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema dado en (5.1).
Es f´acil poner un ejemplo en el que la situaci´ on sea la inversa de la anterior. Consid´erese el sistema dado por la funci´ on de transferencia
G(s) =
20(1 − T s) (s + 1)(s + 20)(T s + 1)
donde T = 0, 0,015, 0,03
(5.2)
En este caso la respuesta en bucle abierto del sistema es muy parecida independientemente 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 funci´on del valor de T (figura 5.5 derecha). Es por tanto que en este caso s´ı estar´ıa justificado el uso de t´ecnicas de control adaptativo. El lector puede comprobar adem´ as que no s´ olo hay que juzgar en funci´ on del comportamiento en bucle cerrado en general, sino que hay que tener en cuenta cu´ ales van a ser las condiciones de operaci´ on particulares en las que se va a trabajar. En efecto, si se obtiene la respuesta en bucle cerrado para el sistema (5.2) pero utilizando una realimentaci´ on unitaria (esto es, u = (ref − y)) entonces las respuestas son esencialmente iguales independientemente del valor de T .
´ AL CONTROL ADAPTATIVO CAP ´ITULO 5. INTRODUCCI ON
87
Step Response
Step Response 1.5
0.9
0.8
0.7 1 0.6 e d u t i l 0.5 p m A
e d u t i l p m A
0.4 0.5 0.3
0.2
0.1 0 0 0
1
2
3
Time (sec)
4
5
6
0
0.5
1
1.5
2
2.5
3
Time (sec)
Figura 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 t´ecnicas m´ as antiguas de control adaptativo y se basa, como su nombre indica, en disponer de un modelo de bucle cerrado que es el que se desea que describa al conjunto controlador-planta. Es decir, se debe partir de un conjunto de especificaciones deseadas de bucle cerrado que se expresan mediante el modelo de referencia. El controlador ajustable deber´ a adaptar sus par´ ametros para que el modelo de bucle cerrado del conjunto coincida o se acerque lo m´ as posible al modelo de referencia. La figura 5.6 muestra la configuraci´ on m´as popular (no es la u´nica sin embargo) para este tipo de controladores. En dicha figura puede observarse un controlador primario ajustable que en principio puede ser cualqier tipo de controlador. El mecanismo de adaptaci´ on es el que se va a encargar de ajustar los par´ ametros del control primario para que la diferencia entre la salida de la planta y el modelo de referencia sea lo m´ as peque˜ na posible (es decir, que independientemente del valor inicial de esa diferencia, ´esta vaya tendiendo a cero progresivamente). Adem´a s de utilizar las se˜ n ales tomadas de las salidas de la planta y el modelo, el mecanismo de adaptaci´ on puede utilizar las se˜ nales de entrada, de referencia y si estuviesen disponible las variables de estado. En suma, toda la informaci´ on disponible sobre la planta y el comportamiento del sistema en bucle cerrado. Para dise˜ nar un MRAC se ha de definir el modelo de referencia, el controlador y la ley de adaptaci´on. En cuanto al modelo de referencia, sabemos que ´este especifica el comportamiento en bucle cerrado deseado. Por tanto, el modelo ha de ser tal que
88
CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC)
ym +
-
+ REFERENCIA
u
yp
+
Figura 5.6: Configuraci´on gen´ erica de un controlador adaptativo por modelo de referencia (MRAC).
el conjunto controlador ajustable-planta pueda reproducir dicho modelo. Es decir, no se puede escoger el comportamiento deseado de bucle cerrado sin pensar si el controlador ajustable es capaz de lograr (para alguna combinaci´ on de sus par´ ametros) dicho comportamiento. Esto impone una serie de requisitos sobre el modelo, principalmente sobre el orden del mismo. Tampoco es realista escoger un modelo de referencia con una din´amica muy r´apida en comparaci´ o n con la de la planta en bucle abierto. Por supuesto es normal escoger la din´ amica de bucle cerrado m´ a s r´ a pida que la de bucle abierto, pero no se puede escoger de manera arbitrariamente r´ apida, ya que ello desembocar´ a en problemas de convergencia en los par´ ametros del controlador. Por otra parte para el controlador primario se puede pensar en casi cualquier estructura de control lineal, incluyendo los populares PI, PID, etc. . . Se deben cumplir sin embargo varios requisitos, entre ellos que la se˜nal de control debe ser una funci´ on lineal de los par´ametros. Tambi´ en (suponi´endose fijado el modelo) se debe escoger un controlador ajustable que permita reproducir el modelo. Finalmente, para la ley de adaptaci´ on existen diferentes estrategias en la literatura de las cuales nombraremos el m´etodo de hiperestabilidad y la estrategia basada en la teor´ıa de estabilidad de Lyapunov (ambas estrategias aseguran la estabilidad de bucle cerrado del sistema) y la primera y m´as popular, el enfoque de sensibilidad o regla del MIT.
´ AL CONTROL ADAPTATIVO CAP ´ITULO 5. INTRODUCCI ON
5.3.1.
89
La regla del MIT
Se basa en un ´ındice de actuaci´ on, usualmente cuadr´ atico, que mide la bondad de la adaptaci´ on en base a las discrepancias entre las salidas del modelo y la planta a lo largo de un intervalo de tiempo:
t+T
J (t + T ) =
e2 (τ )dτ
con e(t) = y proceso (t) − ymodelo (t)
(5.3)
t
donde T es un periodo fijo de tiempo. La idea de la regla del MIT es ajustar el vector de par´ ametros del controlador en el instante t + T , de manera que haga decrecer J . Es decir, t+T ∂J ∂e(τ ) = θ(t) − Γ 2e(τ ) (5.4) θ(t + T ) = θ(t) − Γ dτ ∂θ ∂θ t donde Γ ∈ Rn n es una matriz definida positiva que act´ ua como ganancia de adaptaci´ on. Es f´acil entender que el controlador s´ olo tiene influencia sobre la salida de la planta, no sobre la del modelo. Por tanto ymodelo (t) no depende de θ y al variar ´este tampoco lo hace ymodelo (t), luego ∂e(τ ) ∂y proceso (τ ) = ∂θ ∂θ Finalmente, podemos conocer la variaci´ on instant´ anea de los par´ ametros del controlador tomando T → 0 en el segundo miembro de (5.4) y teniendo en cuenta lo anterior se llega a dθ ∂y proceso = −2Γe(t) (5.5) dt ∂θ N´otese que ∂y proceso representa c´ omo var´ıa la salida del proceso frente a variaciones del ∂θ vector de par´ ametros, es decir la sensibilidad de y proceso (t) frente a variaciones de θ, de ah´ı el nombre alternativo de enfoque de sensibilidad .
×
En la pr´ actica la sensibilidad de la salida del proceso puede ser dif´ıcil de conocer. Por tanto, se la suele sustituir por la del modelo de referencia (que s´ı es conocido). Este esquema funciona porque despu´es de un tiempo el comportamiento en bucle cerrado del sistema acaba convergiendo al del modelo de referencia. En cualquier caso, la ganancia de adaptaci´ on no debe ser muy grande pues si no puede aparecer un comportamiento inestable (especialmente si hay discrepancias iniciales fuertes entre la sensibilidad del proceso y la del modelo, porque las correcciones al valor de θ ser´ an muy en´ergicas y en la direcci´ on equivocada). Finalmente hay que decir que esta regla presenta diversas formulaciones alternativas. De hecho la formulaci´ on original del MIT se basaba en el ´ındice 1 J (t) = e2(T ) 2
90
CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC)
que resulta en la regla
dθ ∂e(t) = −γe(t) dt ∂θ
y hay otras posibilidades como J (t) = |e(t)|
que resulta en
dθ ∂e(t) = −γ signo(e(t)) dt ∂θ
o directamente ajustar mediante
dθ ∂e(t) = −γ signo signo(e(t)) dt ∂θ
Ejemplo 5.1 Supongamos que tenemos un proceso cuya funci´ on de transferencia viene dada por G(s) = kF (s) donde k es ganancia desconocida y F (s) es perfectamente conocida . Se pretende que el sistema en bucle cerrado se comporte acorde al modelo de referencia GM (s) = k 0 F (s)
(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 par´ ametro θ que se ha de ajustar es simplemente una ganancia). Se supone una configuraci´on del sistema de control tal que θ es una ganancia feed-forward , es decir, la funci´on de transferencia desde uc a la salida del proceso y p es Y (s) = θkF (s) U C (s) Como se pretende que la funci´ o n de transferencia sea como en (5.6), lo l´ ogico ser´ıa tomar k0 θ = k pero es evidente que esto no se puede hacer, porque se desconoce el valor de k. Se propone ajustar θ mediante la regla del MIT en el contexto de un control adaptativo MRAC. El error es en este caso e(t) = y p (t) − ym (t) = kF (s)θu c (t) − k0 F (s)uc (t)
(5.7)
´ AL CONTROL ADAPTATIVO CAP ´ITULO 5. INTRODUCCI ON
91
La sensibilidad1 vendr´ a dada por ∂e(t) = kF (s)uc (t) ∂θ
(5.8)
ahora bien, de (5.7) se obtiene que
−ym (t) = −k0 F (s)uc (t) luego, F (s)uc (t) =
ym (t) k0
por lo que llevando esto a (5.8) se obtiene ∂e(t) k = ym (t) ∂θ k0 La variaci´ on de los par´ametros seg´ un la regla del MIT ser´ a dθ k = −γ ym (t)e(t) dt k0 N´otese que se sigue desconociendo el valor de k 0, sin embargo esto no plantea problema alguno, pues como γ es una constante cualquiera podemos agrupar las constantes que aparecen en una sola γ , de manera que la regla ser´ıa
dθ = −γ ym (t)e(t) dt
1
Con el objeto de simplificar las cosas en la ecuaci´on (5.7) se ha abusado notablemente de la notaci´ on pues se est´an incluyendo simult´ aneamente funciones en el dominio s (de la transformada de Laplace) y se˜ nales en el dominio temporal. Esto no es correcto y quiz´as ser´ıa mejor utilizar la notaci´on d , es decir, sustituir las funciones en s por su equivalente en el operador derivada. F ( p) donde p = dt
92
CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC)
Cap´ıtulo 6 Reguladores Autoajustables (STR) 6.1.
Introducci´ on. Estructura general de los STR
Los reguladores autoajustables (del ingl´es Self Tuning Regulator) constituyen un tipo de control adaptativo muy popular en el que en funci´ on del conocimiento que se tiene de la din´amica del proceso a controlar son capaces de ajustarse a si mismos. Este conocimiento se va actualizando en tiempo real de manera que el ajuste se mantiene lo m´as cercano posible al o´ptimo. Los STR se basan en el principio de equivalencia cierta que consiste en suponer que los par´ ametros del proceso coinciden con los que se obtienen por identificaci´ on de manera que se dise˜ na el controlador usando esos par´ ametros. Como el controlador se recalcula en cada paso, y los par´ ametros se actualizan tambi´en en cada paso, el principio de equivalencia cierta no es una suposici´on demasiado arriesgada. La estructura general de un STR se ilustra en la figura 6.1. En esta se observa que hay tres partes diferenciadas: Algoritmo recursivo de identificaci´ on. Al tener que actualizarse los par´ ametros en tiempo real es evidente que se debe utilizar un algoritmo recursivo (v´ ease el cap´ıtulo 4). Mecanismo de adaptaci´ on que desarrolla la tarea de dise˜ no del regulador. Para ello se utilizar´a el modelo actualizado que se tenga de la planta. N´ otese que al ser la estructura del controlador fija, dise˜ nar el controlador es equivalente a
93
94
´ ESTRUCTURA GENERAL DE LOS STR INTRODUCCI ON.
obtener los mejores valores de los par´ ametros de sinton´ıa en base al modelo. Regulador con par´ ametros ajustables. Por lo general la estructura es fija y puede ser cualquier tipo de controlador lineal en el que los par´ametros se puedan ajustar.
REFERENCIA
-
u
+
y
COMPORTAMIENTO DESEADO
Figura 6.1: Configuraci´on gen´ erica de un regulador o controlador autoajustable.
En los STR cl´ asicos se suele suponer que los procesos son deterministas (es decir no se consideran fuentes de perturbaciones estoc´ asticas como las vistas en el cap´ıtulo 2). Por otra parte es com´ un que el controlador ajustable sea del tipo PID. En realidad, como es la estructura de un STR es modular, se puede usar cualquier combinaci´ on de controlador/m´etodo de identificaci´ on. Tambi´en se pueden considerar procesos estoc´ asticos en los STR. Es com´ un entonces que la estructura escogida para el modelo sea la de tipo ARMAX (v´ease el cap´ıtulo 2). El dise˜ no se podr´ a hacer, por tanto, utilizando un criterio estoc´ astico o no estoc´ astico. En el caso de que sea un criterio estoc´ astico normalmente se obtienen los par´ ametros del regulador mediante la minimizaci´ on de un cierto ´ındice de funcionamiento. Por ejemplo en el regulador de m´ınima varianza (el cual se ver´ a en la secci´ on 6.2) se intentan minimizar las variaciones con respecto a cero de la salida (se considera un problema de regulaci´on con referencia nula), que al ser una se˜ nal ruidosa se consigue minimizando la esperanza matem´ atica de la salida en k + d, es decir
J = E y2 (k + d) siendo d el retraso.
Cuando el dise˜ no ser realiza usando un planteamiento no estoc´ astico, se est´ a considerando que las perturbaciones que inciden sobre el sistema son conocidas con exactitud de antemano, de tal manera que podemos usar modelos deterministas (v´ease el cap´ıtulo 2). En este caso el ´ındice de actuaci´ o n se da en funci´ on de unas especificaciones que debe cumplir la salida del sistema, como por ejemplo el tiempo de subida y
CAP ´ITULO 6. REGULADORES AUTOAJUSTABLES (STR)
95
establecimiento, etc. . . Tambi´ en se emplear´ıan especificaciones que definan la din´ amica resultante como la colocaci´ on 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 directamente los par´ ametros de la planta y luego dise˜ nan el controlador para cumplir con los requisitos (estructura expl´ıcita) y otros que lo que hacen es estimar el controlador directamente sin pasar por la estimaci´ on previa de la planta (estructura impl´ıcita). Un algoritmo con estructura expl´ıcita constar´ıa de los siguientes pasos: 1. Estimar los par´ ametros del modelo mediante un algoritmo de identificaci´ on recursivo. 2. Calcular los par´ ametros del controlador. 3. Calcular la se˜ nal de control y aplicarla. Estos pasos se repetir´ıan en cada tiempo de muestreo. Los algoritmos de estructura impl´ıcita son m´ as complicados desde el punto de vista conceptual. Lo que se hace en ellos es reparametrizar el modelo de la planta y el controlador en funci´ on de los par´ ametros del controlador. El esquema ser´ıa el mostrado en la figura 6.2. Obs´ervese en esta figura que no se est´ a pasando por la fase de dise˜ no del
REFERENCIA
+
u
y
COMPORTAMIENTO DESEADO
Figura 6.2: Configuraci´on gen´ erica de un regulador o controlador autoajustable.
controlador sino que este se identifica, de manera que cumpla con las especificaciones de dise˜ no. Por eso en la figura 6.2 como la identificaci´ on toma como datos de entrada las
CONTROL POR M ´INIMA VARIANZA
96
medidas de la planta y adem´ as las especificaciones de dise˜ no. En este tipo de algoritmo los pasos suelen ser: 1. Estimar los par´ ametros del modelo reparametrizado. 2. Calcular y aplicar la se˜ nal de control. Al igual que en caso anterior estos pasos se repiten cada tiempo de muestreo. Ambos tipos tienen ventajas e inconvenientes. En el caso de los de estructura expl´ıcita, la carga computacional suele ser mayor pero a cambio, se obtiene un modelo de la planta que puede ser utilizado para otras tareas diferentes de la de control, por ejemplo para simulaci´ on o supervisi´on. Tambi´ en se puede tener un banco de controladores seleccionables en funci´ on del modelo obtenido. En el caso de los de estructura impl´ıcita se necesitan menos c´ alculos, pero la identificaci´ on es m´as dif´ıcil (pueden aparecer problemas de convergencia con m´ as facilidad). Por otra parte no siempre es posible obtener el modelo reparametrizado.
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, minimiz´ andose para ello un cierto ´ındice de funcionamiento. Efectivamente, la se˜ nal de control que se aplica en el instante k, es decir u(k), se calcula como una funci´ on de u(k −1) . . . u(k − nb ) y(k)y(k −1) . . . y(k − na ), de manera que se minimice J = E y 2 (k + d|k)
donde E {} es el operador esperanza matem´ atica, y la notaci´ on y(k + d |k) indica la predicci´on del valor de y en el instante k + d hecha en base a la informaci´ on disponible en el instante k. El modelo del proceso que se considera es del tipo ARMAX, el cual se indica a continuaci´ on A(z 1 )y(k + d) = B(z 1 )u(k) + C (z 1 )v(k + d) −
−
−
donde A(z 1 ) = 1 + a1 z −
B(z 1 ) = b 1 z −
1
−
2
−
1
−
n
−
+ · · · + an z
+ b2 z
C (z 1 ) = 1 + c1 z −
1
−
n
−
+ · · · + bn z n
−
+ · · · + cn z
(6.1)
CAP ´ITULO 6. REGULADORES AUTOAJUSTABLES (STR)
97
y d es el retraso puro1 . Sup´ongase que se desea dividir C (z 1 ) entre A(z 1 ). Dicha divisi´on de polinomios producir´ a en general un polinomio cociente y un polinomio resto. El cociente lo denotaremos por F (z 1 ) y el resto se factoriza de manera que se denote por z (d+1) G(z 1). Por tanto podremos reescribir la conocida expresi´ on dividendo igual a divisor por cociente m´ as resto as´ı −
−
−
−
C (z 1) = A(z 1 )F (z 1 ) + z −
−
−
(d+1)
−
G(z 1) −
−
(6.2)
donde F (z 1 ) = 1 + f 1 z −
1
−
G(z 1 ) = g 0 + g1 z −
1
−
d
−
+ · · · + f d z
(n−1)
−
+ · · · + gn 1z −
N´otese que el grado de F (z 1 ) es d y el de G(z 1 ) es n − 1. A continuaci´ on dividiremos ambos miembros de la ecuaci´ on (6.1) por A(z 1 ) y usaremos (6.2) de manera que se obtiene B(z 1) z 1 G(z 1 ) 1 y(k + d) = u(k) + F (z )v(k + d) + v(k) (6.3) A(z 1 ) A(z 1 ) −
−
−
−
−
−
−
−
−
en donde adem´ as se ha tenido en cuenta que z d v(k + d) = v(k). Veamos el significado de algunos de los t´erminos de (6.3). El t´ermino F (z 1 )v(k + d) es una combinaci´ on lineal de los valores de v(k) a v(k + d) cuyo efecto sobre y(k + d) no depende de u(k). Por otra parte el termino z 1 G(z 1 ) v(k) A(z 1 ) −
−
−
−
−
representa el efecto sobre la salida de las perturbaciones en instantes anteriores a k. Por otra parte si dividimos por C (z 1 ) la expresi´ on (6.2) se obtiene −
A(z 1)F (z 1 ) z (d+1) G(z 1 ) 1= + C (z 1 ) C (z 1 ) −
−
−
−
−
−
que se puede reescribir como A(z 1 )F (z 1 ) z (d+1) G(z 1) 1− = C (z 1 ) C (z 1) −
−
−
−
−
−
(6.4)
Por otra parte seg´ un el modelo ARMAX A(z 1 ) B(z 1 ) d v(k) = y(k) − z u(k) C (z 1 ) C (z 1 ) −
−
−
−
−
1
N´otese que el polinomio B (z −1 ) no tiene t´ermino independiente, lo que se refleja en la forma de describir el proceso ARMAX en la ecuaci´on (6.1).
CONTROL POR M ´INIMA VARIANZA
98
Esto se puede sustituir en la ecuaci´ on (6.3) de manera que se obtiene
B(z 1 ) z 1 G(z 1 ) A(z 1 ) B(z 1 ) d 1 y(k + d) = u(k) + F (z )v(k + d) + y(k) z u(k) − A(z 1 ) A(z 1 ) C (z 1 ) C (z 1 ) −
−
−
−
−
−
−
−
−
−
−
operando B(z 1 ) z 1 G(z 1 ) G(z 1 )B(z 1 ) 1 y(k + d) = u(k) + F (z )v(k + d) + y(k) − z A(z 1) C (z 1 ) A(z 1 )C (z 1 ) −
−
−
−
−
−
−
−
(d+1)
−
−
−
u(k)
que, agrupando los t´erminos que contienen u(k), es a su vez es igual a
z 1G(z 1 ) 1 G(z 1 )z (d+1) 1 y(k + d) = F (z )v(k + d) + y(k) + 1− B(z 1 )u(k) 1 1 1 C (z ) A(z ) C (z ) −
−
−
−
−
−
−
−
−
Recu´erdese ahora la ecuaci´ on (6.4) y sustit´ uyase en la anterior para obtener z 1 G(z 1 ) F (z 1 )B(z 1 ) y(k + d) = F (z )v(k + d) + y(k) + u(k) C (z 1 ) C (z 1 ) −
−
−
−
1
−
−
−
A partir de esta ecuaci´ on podemos calcular J y ver que valor de u(k) hace m´ınimo J :
2
E y (k + d)
F (z 1 )B(z 1 ) z 1 G(z 1 ) = E F (z )v(k + d) + E u(k) + y(k) C (z 1 ) C (z 1) F (z 1 )B(z 1 ) z 1 G(z 1 ) 1 +2E F (z )v(k + d) u(k) + y(k) C (z 1 ) C (z 1 )
−
2
1
−
−
−
−
−
−
−
−
−
−
−
−
−
2
Si se intenta minimizar la expresi´ on anterior se tiene que el primer t´ermino no depende de u(k), por lo que no influye a la hora de calcular el valor de u(k) que hace m´ınimo J . Por tanto, ese t´ermino puede ser descartado. Por otra parte, el tercer t´ermino es la esperanza matem´ atica de una expresi´ on la que aparece t´erminos en los que los valores de la perturbaci´ on v(k + i) i = 0 . . . d multiplican valores actuales y pasados de y(k) y u(k). Como los valores de v(k + i) i = 0 . . . d son independientes (incorrelados) de los de y(k) y u(k) la esperanza matem´ atica que aparece en ese tercer t´ermino es cero. Por tanto, nos queda s´ olo el segundo t´ermino que es el que hay que minimizar. Para ello basta con calcular el valor que hace cero lo que est´ a dentro de las llaves y as´ı el cuadrado ser´a cero (que es el m´ınimo valor posible de una funci´ on cuadr´ atica). El resultado es z 1G(z 1 ) u(k) = − y(k) (6.5) F (z 1 )B(z 1 ) −
−
−
−
que se puede reescribir tambi´ en como (y as´ı aparece en algunos textos) G(z 1) u(k) = − y(k) zB(z 1 )F (z 1 ) −
−
−
(6.6)
CAP ´ITULO 6. REGULADORES AUTOAJUSTABLES (STR)
99
Ejemplo 6.1 Consid´erese el siguiente sistema lineal yk = ay k 1 + buk −
2
−
Se pide encontrar la expresi´ on del regulador de m´ınima varianza. En este caso es f´ acil ver que A(z 1 ) = 1 − az −
1
−
B(z 1 ) = bz −
1
−
C (z 1 ) = 1 −
y por otra parte d = 1. Recordemos que se ha de dividir C (z 1 ) entre A(z 1 ) hasta que el grado del cociente F (z 1 ) sea d, o sea en este caso F (z 1 ) tiene la forma F (z 1) = 1+ f 1 z 1 . La figura 6.3 nos muestra la divisi´ on hecha paso a paso a la manera tradicional. 1 1 Por tanto F (z ) = 1 + az . El resto que en este caso es a 2z 2 debe identificarse con −
−
−
−
−
−
−
−
−
Figura 6.3: Divisi´on de polinomios para el ejemplo 6.2.
la expresi´on z 2 G(z 1 ), por lo que es evidente que en este caso G(z 1 ) = a2 . Luego recordando la expresi´ on (6.5) obtenemos que el regulador de m´ınima varianza para este caso es −z 1 a2 a2 uk = yk = − yk (1 + az 1 )bz 1 (1 + az 1 )b −
−
−
−
−
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 cancelar´an mediante polos inestables. Esta situaci´ on no es deseable, por que en la pr´ actica puede que los ceros cambien de posici´ on, bien por imprecisi´ on en el modelo del sistema o por variaciones de la din´ amica del sistema. En este caso los ceros no se cancelar´ıan con los polos con lo cual a˜ nadir´ıamos polos inestables al sistema. Evidentemente esto u ´ltimo llevar´ıa a la inestabilidad del sistema. Existen variaciones del regulador de m´ınima varianza que tratan este problema y adem´ as incorporan seguimiento de referencias y ponderaci´ on del esfuerzo de control (es decir, que adem´ as de perseguir el objetivo de
100
´ DE POLOS Y CEROS ASIGNACI ON
m´ınimizar las variaciones de la salida con respecto a la referencia se intenta hacer esto usando el menor esfuerzo de control posible). La m´ as conocida es la del regulador de m´ınima varianza generalizado. La idea de este regulador es la de considerar el siguiente ´ındice de funcionamiento J = E
1
1
−
1
−
−
Q(z )y(k + d) + R(z )u(t) − P (z )ref(t + d)
2
donde Q(z 1 ), R(z 1 ) y P (z 1 ) son funciones de ponderaci´ on estables que tienen la forma Qn (z 1 ) Rd (z 1 ) P n (z 1 ) 1 1 1 Q(z ) = R(z ) = P (z ) = Qd (z 1 ) Rd (z 1 ) P d (z 1 ) −
−
−
−
−
−
−
−
−
−
−
−
Bajo estas condiciones la se˜ nal de control que minimiza J es Rd (z 1 ) (C (z 1 )P (z 1 )ref(t) − G(z 1 )y(t)) u(k) = Qd (z 1 )(Rd (z 1 )F (z 1 )zB(z 1 ) + C (z 1 )Rd (z 1 )) −
−
−
−
−
−
−
−
−
−
(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 saturaci´ on de los actuadores. 1 1 Por otra parte se suele tomar Qd (z ) = 1 − z de manera que la ley de control resultante tiene un integrador por lo que se rechazan perturbaciones constantes. −
−
−
Finalmente existen otras variaciones de la formulaci´ on presentada aqu´ı. Por ejemplo una versi´ on del regulador de m´ınima varianza que s´ olo soluciona el seguimiento de referencia (no ir´ıa bien con sistemas de fase no m´ınima) resulta en la expresi´ on G(z 1 ) C (z 1 ) u(t) = − y(t) − ref(t + d) zB(z 1 )F (z 1 ) zB(z 1 )F (z 1 ) −
−
6.3.
−
−
−
−
(6.8)
Asignaci´ on de polos y ceros
De entre los m´etodos basados en criterios no estoc´ asticos se recoge aqu´ı el m´etodo de asignaci´ on de polos y ceros debido a Astr¨ om y Wittenmark. En el cap´ıtulo 1 ya se trat´ o el problema de la asignaci´ on de polos mediante realimentaci´ on lineal del vector de estados. Es conocido que con un s´ olo controlador no se pueden asignar polos y ceros arbitrariamente, por lo que usualmente se prefiere asignar los polos. El m´etodo que aqu´ı se presenta se basa por tanto en una estructura m´ as compleja que permite colocar los polos y los ceros en las posiciones deseadas. Dicha estructura se presenta en la figura 6.4. El objetivo del procedimiento es que la funci´ on de transferencia de bucle cerrado
CAP ´ITULO 6. REGULADORES AUTOAJUSTABLES (STR)
101
Figura 6.4: Estructura para la asignaci´on de polos y ceros.
sea igual a una dada, que supondremos denotada por Rm (z 1 ) d z w(k) P m (z 1 ) −
y(k) =
−
(6.9)
−
donde se asume que Rm (z 1 ) y P m (z 1 ) no tienen factores comunes y adem´ as el sistema es causal por lo que el grado de P m (z 1 ) es mayor o igual al de R m (z 1 ). −
−
−
−
A partir de la figura 6.4 y aplicando el ´algebra de bloques se llega a la conclusi´ on de que la funci´on de transferencia entre w(k) (la referencia a seguir) y y(k) es S (z 1 )B(z 1 )z d y(k) = w(k) A(z 1 )M (z 1 ) + B(z 1 )G(z 1 )z d −
−
−
−
−
−
−
−
Igualando esta expresi´ on con la funci´ on de transferencia deseada (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 )P m (z 1 ) −
−
−
−
−
−
−
−
−
(6.10)
Como se ha comentado en la secci´ on 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 tambi´en de R m (z 1). Por tanto lo que se hace es que se factoriza B(z 1 ) como B(z 1 ) = B (z 1 )B + (z 1 ) −
−
−
−
−
−
−
donde B (z 1 ) contiene las ra´ıces inestables de B(z 1 ) y B + (z 1 ) las estables. Como las primeras deben estar en Rm (z 1 ) factorizamos este u´ltimo polinomio como −
−
−
−
−
Rm (z 1 ) = B (z 1)Rm1 (z 1 ) −
−
−
−
Impondremos adem´ as que las ra´ıces estables de B(z 1 ) est´en en M (z 1 ), de manera que tendremos M (z 1 ) = M 1 (z 1 )B +(z 1 ) −
−
−
−
−
102
´ DE POLOS Y CEROS ASIGNACI ON
Por otra parte se asume que, adem´ as de especificarse el retraso y los polinomios que definen la funci´ on de transferencia deseada, como parte de los datos de entrada del problema, se tiene un polinomio A 0(z 1 ) que se utiliza para definir S (z 1 ) mediante la expresi´on S (z 1) = A 0 (z 1 )Rm1 (z 1) −
−
−
−
−
Con todo lo anterior y la ecuaci´ on (6.10) se llega a A(z 1 )M 1 (z 1 ) + B (z 1)G(z 1)z −
−
−
−
−
d
−
= A 0 (z 1 )P m (z 1 ) −
−
(6.11)
Esto es una ecuaci´ on polinomial, donde las inc´ognitas son M 1 (z 1 ) y G(z 1 ), que puede resolverse mediante diferentes m´etodos2. Quiz´a s el m´a s simple (pero no m´ as eficiente) sea plantear un sistema de ecuaciones lineales donde las inc´ ognitas sean los 1 1 coeficientes de los polinomios M 1 (z ) y G(z ). En cualquier caso se deben imponer condiciones sobre los grados de dichos polinomios para que la ecuaci´ on tenga soluci´ on u ´ nica. Aplicando consideraciones algebraicas que no mostraremos aqu´ı, se llega a que existen dos posibles opciones para los grados de M 1 (z 1 ) y G(z 1 ), −
−
−
−
−
−
1. grado(G(z 1)) = grado(A(z 1 )) − 1 −
−
grado(M 1 (z 1)) = grado(A0 (z 1 )) + grado(P m (z 1 )) − grado(A(z 1 )) −
−
−
−
2. grado(G(z 1)) = grado(A0 (z 1 )) + grado(P m (z 1 )) − grado(B (z 1 )) − d −
−
−
−
−
grado(M 1 (z 1)) = grado(B (z 1 )) + d − 1 −
−
−
Se puede demostrar que el control por asignaci´ on de polos y ceros es equivalente al MRAC. Por otra parte seg´ un el sistema podemos tener casos simplificados: 1. Cancelaci´ on de todos los ceros. Esto se puede hacer si el sistema es de fase m´ınima. En este caso B +(z 1 ) = B(z 1 ) −
B (z 1) = 1
−
−
Rm (z 1 ) = R m1 (z 1 ) = K
−
−
M (z 1 ) = M 1 (z 1 )B(z 1 ) −
−
−
S (z 1 ) = KA0 (z 1 )
−
−
−
por lo que la ecuaci´on quedar´ıa como A(z 1 )M 1 (z 1 ) + G(z 1 )z −
2
−
−
d
−
= A 0 (z 1 )P m (z 1 ) −
−
De hecho es una ecuaci´on polinomial diof´ antica. Este tipo de ecuaciones las encontraremos de nuevo en el cap´ıtulo 9, donde se ver´an otros m´etodos para resolverla.
CAP ´ITULO 6. REGULADORES AUTOAJUSTABLES (STR)
103
2. No se cancela ning´ un cero. Esto ocurre si todos las ra´ıces de B(z 1 ) son inestables. En este caso −
B + (z 1 ) = 1
B (z 1 ) = B(z 1 )
−
−
−
M (z 1) = M 1 (z 1 ) −
S (z 1 ) = KA0 (z 1 )
−
−
−
Rm (z 1 ) = K B(z 1 )
−
−
−
por lo que ahora la ecuaci´ on quedar´ıa como A(z 1 )M (z 1 ) + B(z 1 )G(z 1 )z −
−
−
−
d
−
= A 0 (z 1)P m (z 1 ) −
−
Con este tipo de control se puede ilustrar la diferencia entre algoritmo con estructura impl´ıcita y expl´ıcita. Comenzaremos derivando un algoritmo con estructura impl´ıcita, para ver despu´es el de estructura expl´ıcita.
6.3.1.
Algoritmo con estructura impl´ıcita.
N´otese que multiplicando ambos miembros de la ecuaci´ on (6.11) por y(k) se obtiene A(z 1 )M 1 (z 1 )y(k) + B (z 1)G(z 1)z d y(k) = A 0(z 1 )P m (z 1 )y(k) −
−
−
−
−
−
−
−
que dado que A(z 1 )y(k) = B(z 1 )z d u(k) es equivalente a −
−
−
M 1 (z 1 )B(z 1)z d u(k) + B (z 1 )G(z 1 )y(k) = A 0 (z 1 )P m (z 1)y(k) −
−
−
−
−
−
−
−
Por otra parte sabemos que M (z 1 ) = M 1 (z 1 )B + (z 1 ) y B (z 1 ) = B + (z 1 )B (z 1), por lo que se llega a −
−
A0 (z 1 )P m (z 1 )y(k) = B (z 1)z −
−
−
−
d
−
−
−
−
M (z 1 )u(k) + G(z 1)y(k) −
−
−
−
(6.12)
La ecuaci´ on (6.12) expresa una relaci´ on entre la entrada y la salida que constituye un modelo reparametrizado del sistema en bucle cerrado. En dicho modelo aparecen polinomios conocidos de antemano (A0 (z 1 ), P m (z 1 )), el retraso d que se supone conocido, y tres polinomios (B (z 1 ) , M (z 1 ), G(z 1 )) que son los que deben ser identificados (ajustados mediante un m´etodo de identificaci´ on recursivo), usando los valores experimentales de la entrada y la salida. Obs´ ervese que al identificarse dicho modelo reparametrizado se estar´ an identificando los par´ ametros del controlador adem´ as de parte de los par´ ametros de la planta. Estos u´ltimos no son sin embargo necesarios, se pueden considerar un subproducto del proceso de identificaci´ on del controlador. −
−
−
−
−
−
El algoritmo de control en s´ı, tomar´ıa como datos de entrada A0 (z 1 ), P m (z 1 ), el retraso d y R m1 (z 1). Los pasos de los que constar´ıa en cada instante de muestreo son los siguientes −
−
−
104
´ DE POLOS Y CEROS ASIGNACI ON
1. Obtener una estimaci´ on actualizada de M (z 1 ), G(z 1 ), B (z 1 ) mediante la identificaci´ on del modelo reparametrizado (6.12). −
−
−
−
2. Calcular y aplicar u(k) =
1 S (z 1 )w(k) − G(z 1 )y(k) 1 M (z ) −
−
−
donde S (z 1 ) = A 0 (z 1 )Rm1 (z 1 ). −
−
−
Este procedimiento puede presentar problemas para aquellos sistemas que sean de fase no m´ınima. Esta mayor dificultad es inherente a los algoritmos con estructura impl´ıcita, tal y como se ha comentado al comienzo del cap´ıtulo.
6.3.2.
Algoritmo con estructura expl´ıcita
En este caso los datos de entradas al algoritmo ser´ıan A0(z 1 ), P m (z 1 ), el retraso d y Rm (z 1 ). Los pasos de los que constar´ıa en cada instante de muestreo son los siguientes −
−
−
1. Obtener una estimaci´ on actualizada de A(z 1 ) y B(z 1 ) mediante la identificaci´on del modelo B(z 1 ) d y(k) = z u(k) A(z 1 ) −
−
−
−
−
2. Factorizar B (z 1) = B + (z 1 )B (z 1 ). −
−
−
−
3. Resolver la ecuaci´ on (6.11). 4. Calcular y aplicar u(k) =
1 S (z 1 )w(k) − G(z 1 )y(k) 1 M (z ) −
−
−
donde S (z 1 ) = A 0 (z 1 )Rm1 (z 1 ) y M (z 1 ) = M 1 (z 1 )B + (z 1 ). −
−
−
−
−
−
Es f´acil ver que este algoritmo tiene m´ a s c´alculos que el anterior, en particular la 1 factorizaci´on de B(z ) y la resoluci´ on de la ecuaci´ on polinomial (6.11), tareas ambas que pueden ser costosas en un hardware industrial no muy potente (adem´ as de m´as complicadas de implementar). Sin embargo desde el punto de vista pr´ actico suele tener menos problemas. −
Cap´ıtulo 7 Controladores PID con autoajuste y Ajuste por tabla 7.1.
Introducci´ on
En este cap´ıtulo se revisaran algunas de las t´ecnicas de control adaptativo con mayor ´ aplicaci´on en la industria. Estas no son tan ambiciosas como algunas de las presentadas hasta ahora y sin embargo son definitivamente estrategias de control avanzado que han demostrado ser u´tiles en la pr´actica. Adem´ as de las t´ecnicas referidas en el t´ıtulo del cap´ıtulo se concluir´ a el temario relativo a control adaptativo con un breve repaso a algunos sistemas comerciales.
7.2.
Funci´ on de autoajuste (autotuning )
Los reguladores adaptativos vistos hasta ahora, es decir los MRAC y STR, necesitan para poder funcionar correctamente un conocimiento b´ asico a priori de la planta. A fin de poder obtener esa informaci´ on lo mas f´acilmente posible, los fabricantes introdujeron en los controladores adaptativos comerciales un modo de sinton´ıa previa (pre-tune ), que obten´ıa dicha informaci´ o n b´asica. Paralelamente, se estaban desarrollando t´ecnicas para poder ajustar autom´ aticamente controladores de tipo PID sin necesidad de intervenci´ on del operario. Lo que 105
106
´ DE AUTOAJUSTE ( AUTOTUNING) FUNCI ON
ocurri´ o, es que se vio que para poder ajustar un PID autom´ aticamente bastaba con la informaci´on b´asica que proporcionaban los modos pre-tune de los controladores adaptativos. Por otra parte, desde el mundo industrial una de las caracter´ısticas m´ as demandadas era una funci´ on de autoajuste inicial. Al instalarse el controlador se activar´ıa dicha funci´on (apretando un bot´ on en el panel de control) a lo que el controlador responder´ıa realizando una bater´ıa de tests pre-programados que dar´ıan como resultado el ajuste autom´atico del controlador. Esta demanda surge de la dificultad y el engorro de ajustar un controlador inicialmente. Lo que hicieron los fabricantes de PID fue aprovechar los resultados obtenidos en el desarrollo de funciones pre-tune en controladores adaptativos para dotar a sus PID de una funci´ o n de autoajuste como la que demandaban los usuarios. Para conseguir el autoajuste se puede utilizar cualquier t´ecnica de control adaptativo que permita estimar los par´ ametros adecuados, con el u´nico requisito de que los ensayos requeridos sean sencillos, a fin de poderse realizar de manera autom´ atica. Desde el punto de vista pr´ actico, los controladores con autoajuste tendr´ an dos modos de funcionamiento, el modo normal en el cual funcionan como cualquier controlador y el de ajuste. En el modo de ajuste el control se desconecta, se realizan los ensayos necesarios y despu´es se vuelve al modo normal con el controlador a justado. Por tanto un controlador con autoajuste realiza tareas de modelado (identificaci´ on), y dise˜ no del controlador, de manera transparente al usuario, por lo que se simplifican mucho las tareas de instalaci´ on y puesta en marcha de los controladores. Por otra parte no incrementan en mucho el coste final del controlador y son una manera de introducir t´ecnicas de control adaptativo en la industria. Finalmente hay que hacer notar la diferencia fundamental entre un controlador autoajustable del tipo STR y un controlador con autoajuste. En los primeros el controlador de manera aut´ onoma va adapt´ andose de una manera m´ as o menos continuada. En un controlador con funci´ on de autoajuste, dicho autoajuste s´ olo se realiza bajo demanda del operador, y usualmente s´ olo cuando se instala o se cambia sustancialmente las condiciones del equipo a controlar.
CAP ´ITULO 7. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA
7.3.
107
Funciones de autoajuste para PIDs
Antes de tratar las distintas t´ecnicas existentes para ajustar autom´ aticamente PIDs es importante hacer notar que los PIDs industriales (figura 7.1) no son exactamente iguales a las formulaciones acad´emicas que se ense˜ nan en cursos b´ asicos de control. Por
Figura 7.1: PID industrial moderno con funci´on de autoajuste (ABB modelo ECA).
ejemplo, en lugar de considerarse la derivada del error se suele usar la derivada de la salida y adem´as a veces ni siquiera se emplea la derivada exacta de la salida, sino que se usa una aproximaci´ on de la misma que reduce la ganancia en altas frecuencias, a fin de minimizar los efectos del ruido. As´ı mismo a la hora de calcular la parte proporcional de la acci´on de control no se suele usar el valor exacto de la referencia a seguir, sino una fracci´ on del mismo, a fin de evitar cambios bruscos en la salida del proceso. Otro detalle muy importante es que se suele incorporar una funci´ o n de anti-windup que, b´asicamente, consiste en que cuando el actuador se satura (alcanza su l´ımite f´ısico de operaci´ on), se deja de integrar el error. Con esto se consigue que, cuando empieza a disminuir el error, el actuador deja de estar saturado, es decir que se consigue que el descenso del error se manifieste en un decremento de la se˜ nal de actuaci´ on. Sin entrar en demasiados detalles un PID m´ as realista que la versi´ on acad´emica vendr´ıa dado por la siguiente expresi´ on: u(t) = f (v(t)) donde u(t) es la se˜ nal de actuaci´ on que se aplica, f (·) es una posible (se suele dar casi siempre) no-linealidad debida al actuador y v(t) = P (t) + I (t) + D(t)
108
FUNCIONES DE AUTOAJUSTE PARA PIDS
donde P (t) es la acci´ on proporcional que se calcula mediante P (t) = K c (β r ef(t) − y(t))
0,7 ≤ β ≤ 1
I (t) es la acci´ on integral que se calcula mediante dI K c 1 = (ref(t) − y(t)) + (u(t) − v(t)) dt T i T t En la expresi´ on anterior el u´ltimo t´ermino que se suma se usan para lograr el efecto anti-windup de manera que la acci´ on integral se mantenga acotada cuando el actuador se sature. El par´ametro T t es una constante de tiempo para reinicializar la acci´ on integral cuando aparezca la saturaci´ on y suele ser una fracci´on del tiempo integral T i . Por otra parte la acci´ on derivativa se calcula usando T d dD dy = −D − K c T d N dt dt donde el par´ ametro N es fijo y suele tomarse igual a 10. En cuanto a las t´ecnicas para sintonizar autom´ aticamente PIDs, la gran mayor´ıa est´an basadas en experimentos simples que el PID puede llevar a cabo por si solo. Estos experimentos podr´ an ser en bucle abierto o cerrado, de ah´ı que luego distingamos dos tipos de t´ecnicas. Hay que mencionar que en los PID industriales el ajuste autom´ atico viene realizado por el propio PID, o por un m´odulo separado que se coloca en lugar del PID para realizar los experimentos, y que devuelve los valores de los par´ ametros del PID. Este m´odulo deber´ a ser compatible con los distintos modelos de PID que se usen en la planta, ya que para calcular los par´ ametros deben conocerse todas las peculiaridades de los algoritmos usados por cada PID. Otros m´etodos m´ as sofisticados son los que se basan en t´ecnicas de inteligencia artificial principalmente sistemas expertos . Estos programas monitorizan en paralelo el funcionamiento de la planta y cuando se producen cambios de referencia o perturbaciones importantes los aprovechan para analizar la din´amica de la planta, estim´ andose valores para par´ ametros como ganancias, factores de amortiguamiento, etc . . . Estos par´ ametros son los que luego se usar´ an para sintonizar el PID. Esta t´ecnica se utiliza por ejemplo en controladores de las marcas Foxboro o Fenwal.
7.3.1.
T´ ecnicas de a juste basadas en la respuesta transitoria
Estas son t´ecnicas de ajuste en bucle abierto que se basan en aplicar un escal´ on en la se˜ nal de entrada del lazo que se quiere sintonizar y ajustar un modelo simple del tipo k G(s) = e sL (7.1) 1 + sT −
CAP ´ITULO 7. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA
109
Conocidos los par´ ametros del modelo el PID se puede ajustar usando t´ecnicas del tipo Ziegler-Nichols de bucle abierto. Otros m´etodos est´ an basados en medida de a´reas como la que se describe a continuaci´ on. Consid´erese la figura 7.2. El procedimiento para calcular T y L comienza por el c´alculo de A0 . De ah´ı se determina L + T =
A0 k
y de ah´ı se puede medir A1 , la cual se usa para obtener T mediante T =
eA1 k
donde e es la base de los logaritmos neperianos. Una vez que se conoce L + T y T se puede obtener L y con eso ya est´an estimados todos los par´ ametros.
k
A0
A1
L+T
Figura 7.2: Determinaci´on de T y L por a´reas.
7.3.2.
M´ etodos basados en las oscilaciones producidas al realimentar con un rel´ e
Los m´etodos de ajuste basados en la respuesta transitoria son simples, pero muy sensibles a las perturbaciones, ya que las pruebas se realizan en bucle abierto. Las t´ecnicas basadas en experimentos en bucle cerrado no tienen este problema. De estas t´ecnicas veremos la que est´ a basada en las oscilaciones producidas al realimentar con un rel´e. La estructura para realizar el ajuste es la que se muestra en la figura 7.3. La idea clave es que la mayor´ıa de los procesos exhiben oscilaciones autosostenidas (conocidas como ciclos l´ımite 1 ) cuando son realimentados con un rel´e en la cadena 1
El estudio de los ciclos l´ımite no pertenece a esta asignatura. Baste saber que son oscilaciones con entrada nula o referencia constante que aparecen en ciertos sistemas y que pueden provocarse con la estructura presentada aqu´ı.
´ LA T ECNICA DE AJUSTE POR TABLA O GAIN SCHEDULING
110
PID r
+
u
y PROCESO
RELÉ
Figura 7.3: Estructura usada en el m´etodo basado en oscilaciones de rel´e.
directa. Los par´ ametros del ciclo l´ımite contienen informaci´ on suficiente para calcular los par´ametros de ajuste del PID. El procedimiento consiste en desconectar el controlador a la hora de hacer el ajuste y sustituirlo por el rel´ e. En la salida comenzar´ an a aparecer oscilaciones que se empezar´ an a repetir peri´ odicamente cuando el ciclo l´ımite aparezca. Una vez que se han determinado los par´ ametros del ciclo l´ımite se calculan los del PID y se vuelve a conectar el controlador. El m´etodo m´ as conocido para calcular los par´ ametros del PID es el m´etodo de Ziegler-Nichols de bucle cerrado. Suponiendo una referencia nula, si el ciclo l´ımite resultante tiene amplitud a y frecuencia ωu entonces los par´ ametros del m´etodo de Ziegler-Nichols de bucle cerrado, es decir, la ganancia cr´ıtica K u y el periodo cr´ıtico T u son iguales a 4d 2π K u = T u = πa ωu donde d es la amplitud del rel´e.
7.4.
La t´ ecnica de ajuste por tabla o gain scheduling
Existen otros controladores que proporcionan una cierta capacidad de adaptaci´ on pero que no encajan en el esquema t´ıpico discutido en el cap´ıtulo 5 ya que la adaptaci´ on se realiza en bucle abierto. Este esquema, m´ as limitado se ilustra en la figura 7.4. Puede observarse que en este caso, el ajuste de los par´ ametros no se realiza en funci´ o n del comportamiento del sistema, sino que se utilizan los valores de una variable auxiliar para decidir cuales son los mejores valores de los par´ ametros del regulador. De ah´ı que se diga que la adaptaci´ on es en bucle abierto. Un esquema de control t´ıpico que utiliza la estructura de la figura 7.4 es el popular gain scheduling o ajuste por tabla. En este esquema, los par´ ametros del controlador que
CAP ´ITULO 7. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA
111
+
u
y
REFERENCIA
MEDIO AMBIENTE
Figura 7.4: Configuraci´on gen´ erica de un controlador adaptativo con adaptaci´ on en bucle abierto.
se usan en cada instante vienen determinados por una tabla precalculada para varios puntos de funcionamiento o valores de la variable auxiliar. Este tipo de control es muy popular, por ejemplo, en sistemas de control de vuelo, en los que los par´ ametros del controlador se seleccionan de un conjunto de par´ ametros precalculados en funci´ o n de la altura de vuelo. Por supuesto, este tipo de control funciona bien si entre la variable auxiliar y la din´amica del sistema existe una fuerte relaci´ on, que permite determinar el valor de los par´ ametros en funci´ on del valor observado de la variable auxiliar. Una ventaja que tiene este esquema es que los par´ ametros del control se pueden cambiar (adaptar) a la misma velocidad a la que cambia la din´ amica del sistema pues estos cambios se reflejan sobre la variable auxiliar a la vez que se producen. Esta rapidez en el cambio de los par´ametros puede ser, sin embargo, contraproducente. Por otra parte la construcci´on de la tabla puede ser muy complicada. De hecho no existe una metodolog´ıa universal, sino que para cada aplicaci´ on ha de verse como llevar a la pr´actica las ideas del gain scheduling . Por u´ltimo encontrar la variable auxiliar apropiada no siempre es posible. Estos controladores, sin embargo, se pueden encontrar en diversos sistemas t´ıpicos de control, principalmente debido a su sencillez y efectividad cuando est´ an bien dise˜ nados. Algunas de las aplicaciones t´ıpicas son:
Linealizaci´on de la caracter´ıstica de ciertos actuadores. Tal y como se vio en la secci´on 5.2 la caracter´ıstica no lineal de un actuador se puede aproximar por un modelo linealizado a trozos, de manera que en funci´ on del punto de operaci´ on del actuador se escoger´ an unos valores u otros para el controlador. Control de pH. En estos sistemas se presentan no linealidades originadas tanto por los elementos de control (v´ alvulas, bombas, sensores) como por las reacciones
´ LA T ECNICA DE AJUSTE POR TABLA O GAIN SCHEDULING
112
qu´ımicas propias del proceso. La no linealidad principal proviene de la relaci´ on entre las concentraciones de los reactivos y el pH de la soluci´ on resultante. Dicha 2 relaci´on se representa en la llamada curva de pH . En dicha curva se representa el pH en funci´ on de las diferencias en las concentraciones de los reactivos. En la figura 7.5 se muestra dicha curva para una soluci´ o n acuosa de a´cido clorh´ıdrico y sosa c´ austica (es decir un par a´cido-base). Puede observarse que en este caso la no linealidad tambi´en se puede aproximar bien por un modelo linealizado a tramos. 12
11
10
9
8
H 7 p
6
5
4
3
2 −1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
Diferencia entre las concentraciones acido−base
0.8
1 x 10
−3
Figura 7.5: Curva de pH para una soluci´on de HCl 0.001 M y NaOH 0.001 M.
Control de la mezcla aire combustible en un motor de combusti´ on. En este caso se utilizan como variables para decidir el ajuste del controlador (un PI usualmente) la velocidad del motor y la cantidad de aire que entra. Usando dichas variables se busca en una tabla (usualmente de 16x16 entradas) en la que se obtienen los valores de los par´ ametros del controlador (si los valores de las variables no coinciden con los de ninguna entrada se interpola con las m´ as pr´oximas). La variable de control es el tiempo de apertura de la v´ alvula de inyecci´on de combustible. En este caso se presenta otra no linealidad debida al sensor utilizado para medir la proporci´ on de aire y combustible. Este sensor denominado sonda lambda tiene una caracter´ıstica que de manera aproximada viene representada por la figura 7.6. De hecho la se˜ nal de error que se env´ıa al PI se genera mediante la expresi´ on e = 2
1 si V > 0,5 −1 si V ≤ 0,5
En realidad el nombre t´ecnico es curva de titraci´ on, aunque tales detalles no son relevantes en esta asignatura
CAP ´ITULO 7. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA
113
1
0.9
0.8
0.7 ) V ( a 0.6 d i l a s e 0.5 d e j a t l 0.4 o V
0.3
0.2
0.1
0 0.5
0.6
0.7
0.8
0.9
1
1.1
1.2
1.3
1.4
1.5
Relación combustible − aire ( λ)
Figura 7.6: Caracter´ıstica aproximada de una sonda lambda
Control de vuelo. Es el ejemplo cl´ asico, en este caso, se puede encontrar una relaci´on entre los par´ ametros o´ptimos del controlador y la altura, la velocidad y el n´ umero de Mach. Control de la direcci´ on de un barco. En este caso la din´ amica considerada para el control de la direcci´on depende de la velocidad del barco y de ciertas variables relacionadas con el tiempo atmosf´erico, como la fuerza y direcci´ on del viento (en realidad dichas variables atmosf´ericas no afectan a la din´ amica del barco en si, sino a la de las perturbaciones que este sufre). A modo de conclusi´ on, podemos decir que la t´ecnica de gain scheduling se puede usar con ´exito cuando las no linealidades que se pretendan compensar se conocen bien a priori. Por otra parte como la adaptaci´ on es en bucle abierto, es necesario conocer bien tanto la din´ amica del proceso como la de las perturbaciones.
7.5.
Controladores adaptativos industriales
Las t´ecnicas de control adaptativo han llegado al mundo industrial en distintas formas y capacidades, entre las cuales podemos distinguir las siguientes. Herramientas para sintonizar controladores. Est´ an basadas en experimentos como los que se han descrito en la secci´ on 7.3. A veces se encuentran como componentes
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 t´ecnicas de colocaci´ on de polos usando experimentos en bucle abierto. Las estrategias de oscilaciones mediante rel´e tambi´en son comunes como por ejemplo en el SattControl3 ECA40 y en el DPR900 (Fisher-Rosemount). Otra posibilidad es que estas herramientas para sintonizar controladores sean m´ odulos independientes, compatibles con determinadas familias de controladores. En este tipo encontramos ejemplo como SIEPID (Siemens), Supertuner (Toyo), Protuner (Techmation) o PIDWIZ (BST Control). Una tercera posibilidad es que estas herramientas formen parte de sistemas de control distribuido como en el caso de Looptune (Honeywell) e Intelligent Tuner (Fisher-Rosemount). Controladores adaptativos estandar. Estos controladores ajustan los par´ ametros de manera m´ as o menos continua. Los hay que est´ an basados en la identificaci´ on de un modelo mediante m´ınimos cuadrados recursivos como los CLC04 (Bailey Controls) y SLPC-181/281 (Yokogawa) que adem´ as utilizan una estrategia de control por colocaci´ on de polos. Algunos, como el SattControl ECA40, no identifican un modelo param´etrico sino que usan reglas del tipo Ziegler-Nichols de bucle cerrado, a partir de experimentos de realimentaci´ on con rel´e. Por otra parte existen otros m´ as ambiciosos que est´an basados en sistemas expertos y en t´ecnicas de reconocimiento de patrones como EXACT (Foxboro), SLPC-171/271 (Yokogawa) o UDC 6000 de Honeywell. Estos sistemas utilizan una base de reglas (100-200) con las que se pretende reproducir el conocimiento de un experto (humano) en sintonizar controladores. Finalmente, las capacidades de gain scheduling tambi´en est´an presentes en ciertos controladores como el SattControl ECA 400 o el DPR910 (Fisher-Rosemount). Controladores adaptativos basados en aut´ omatas programables. Los aut´ omatas programables ganan terreno d´ıa a d´ıa en cualquier aplicaci´ on industrial de control. 3M y General Electric tienen en su cat´ alogo aplicaciones de control adaptativo basados en sus aut´ omatas. Soluciones a medida. A veces en determinadas aplicaciones se encuentran controladores adaptativos a medida y que por tanto son exclusivos de cada sistema. Se encuentran en barcos, aviones, automoci´ on, y ciertas industrias.
A continuaci´ on se analizar´ an en mayor detalle algunos controladores especialmente interesantes. 3
Mas tarde Alfa-Laval y actualmente ABB.
CAP ´ITULO 7. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA
7.5.1.
115
SattControl ECA40 y Fisher-Rosemount DPR900
Estos controladores est´ an basados en oscilaciones inducidas mediante realimentaci´ on con un rel´e. Incluyen una funci´ on de ”sinton´ıa pulsando un bot´ on”. Adem´as tiene capacidades limitadas de gain scheduling con una tabla de tres entradas. Previamente al ajuste el proceso se deja evolucionar con una entrada constante. El procedimiento de ajuste comienza con la detecci´ on del ciclo l´ımite. En cuanto se observa que las oscilaciones comienzan a repetirse, se calcula la amplitud y periodo de las mismas y a partir de ah´ı se calculan los par´ ametros. Para ello se utilizan una versi´on modificada del m´etodo de Ziegler-Nichols. Una vez se calculan los par´ ametros el controlador conmuta a modo autom´ atico. El ajuste ofrece tres perfiles diferentes: control normal, lento o r´apido. La reacci´ on de la comunidad industrial a estos productos ha sido muy buena, encontr´ andose particularmente u´til en industrias que no tienen personal especializado en todos los turnos.
7.5.2.
Foxboro EXACT
Este sistema est´ a basado en la respuesta transitoria de bucle cerrado, es decir es de bucle cerrado pero no usa las oscilaciones inducidas por un rel´e. Lo que se emplea es un escal´on o perturbaci´ on aplicada al sistema y de la evoluci´on de la salida a partir de ese instante se obtiene informaci´ on que permite ajustar el controlador usando Ziegler-Nichols. Este controlador requiere informaci´ on previa para poder sintonizar autom´aticamente, concretamente una estimaci´ on previa de K c , T i y T d , as´ı como de la escala de tiempos del proceso. Si esta informaci´ on se desconoce se puede usar el modo de pre-tune incorporado que la obtiene mediante la aplicaci´ on de un escal´ on. Es necesario sin embargo que el proceso est´e en regimen permanente. La aceptaci´ on comercial de este producto ha sido excelente y se han vendido miles de unidades. A modo de an´ecdota la planta de Atlantic Copper en Huelva utiliza este controlador en algunos de sus procesos. El controlador adaptativo multivariable EXACT MV se distribuye actualmente en forma de software de control avanzado como parte del sistema I/A Series de Foxboro.
7.5.3.
ABB Novatune
Esta herramienta de control STR (figura 7.7) est´ a basada entre otras cosas en el control de m´ınima varianza y ofrece la capacidad de especificar la posici´ on de 1 de los
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 − P l z 1 )y(t + kd ) − (1 − P l )y(t) = A(z 1 )∆y(t) + B(z 1 )∆u(t) + C (z 1 )∆v(t) −
−
−
−
donde P l es el polo que se puede especificar y k d es el horizonte de predicci´ on. Por otra parte la ley de control tiene la forma (σ + B (z 1 ))∆u(t) = (1 − P l )(ref(t) − y(t)) − A(z 1 )∆y(t) − C (z 1 )∆v(t) ∗
−
−
−
donde σ es un factor de ponderaci´ on. La experiencia en el uso de esta herramienta demuestra que da mejores resultados que el control PID convencional.
Cap´ıtulo 8 Control Predictivo Basado en Modelo (MPC) 8.1.
Perspectiva hist´ orica
El Control Predictivo se desarroll´ o en base a dos l´ıneas b´ asicas. Por un lado, a finales de los a˜ nos setenta surgieron diversos algoritmos que usaban expl´ıcitamente un modelo din´amico del proceso para predecir el efecto de las acciones de control futuras en la salida, las cuales eran determinadas minimizando el error predicho sujeto a restricciones de operaci´ on. La optimizaci´ on se repet´ıa en cada instante de muestreo con informaci´ on actualizada del proceso. Estas formulaciones eran de naturaleza heur´ıstica y algor´ıtmica e intentaban aprovechar el creciente potencial de los computadores digitales por aqu´ella ´epoca. R´apidamente el mpc adquiri´o gran popularidad en las industrias de procesos qu´ımicos principalmente debido a la simplicidad del algoritmo y al uso del modelo de respuesta impulsional o en escal´ on, que aunque posea muchos m´ as par´ ametros que las formulaciones en el espacio de estados o funci´ on de transferencia suele ser preferido por ser intuitivo y necesitar menos informaci´ on a priori para identificar. La mayor´ıa de las aplicaciones fueron llevadas a cabo sobre sistemas multivariables incluyendo restricciones. Los algoritmos utilizados fueron principalmente el idcom (IdentificationCommand) y el dmc (Control con Matriz Din´ amica, Dynamic Matrix Control ). Independientemente fue surgiendo otra l´ınea de trabajo en torno a las ideas del control adaptativo, desarrollando estrategias esencialmente para procesos monovariables 117
´ CONCEPTOS BASICOS DE CONTROL PREDICTIVO
118
formuladas con modelos entrada/salida. En este contexto se extendieron las ideas del Controlador de M´ınima Varianza y se desarroll´ o el Control Predictivo Generalizado (Generalized Predictive Control gpc) que es uno de los m´etodos m´ as populares en la actualidad.
8.2.
Conceptos b´ asicos de control predictivo
El Control Predictivo Basado en Modelo, Model (Based) Predictive Control (mbpc o´ mpc ) constituye un campo muy amplio de m´etodos de control desarrollados en torno a ciertas ideas comunes e integra diversas disciplinas como control o´ptimo, control estoc´ astico, control de procesos con tiempos muertos, control multivariable o control con restricciones. El Control Predictivo no es una estrategia de control espec´ıfica, sino que se trata m´as bien de un campo muy amplio de m´ etodos de control desarrollados en torno a ciertas ideas comunes. Estos m´etodos de dise˜ no conducen a controladores lineales que poseen pr´ acticamente la misma estructura y presentan suficientes grados de libertad. Las ideas que aparecen en mayor o menor medida en toda la familia de controladores predictivos son b´ asicamente: Uso expl´ıcito de un modelo para predecir la salida del proceso en futuros instantes de tiempo (horizonte). C´alculo de las se˜ nales de control minimizando una cierta funci´ on objetivo. Estrategia deslizante, de forma que en cada instante el horizonte se va desplazando hacia el futuro, lo que implica aplicar la primera se˜ n al de control en cada instante y desechar el resto, repitiendo el c´ alculo en cada instante de muestreo. Los distintos algoritmos de mpc difieren entre s´ı casi exclusivamente en el modelo usado para representar el proceso y los ruidos y en la funci´ on de coste a minimizar. Aunque las diferencias puedan parecer peque˜ nas a priori , pueden provocar distintos comportamientos en bucle cerrado, siendo cr´ıticas para el ´exito de un determinado algoritmo en una determinada aplicaci´ on. El Control Predictivo es un tipo de control de naturaleza abierta dentro del cual se han desarrollado muchas realizaciones, encontrando gran aceptaci´ on tanto en aplicaciones industriales como en el mundo acad´ emico. En la actualidad existen numerosas
CAP ´ITULO 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 Rob´ otica. El buen funcionamiento de estas aplicaciones muestra la capacidad del mpc para conseguir sistemas de control de elevadas prestaciones capaces de operar sin apenas intervenci´ on durante largos per´ıodos de tiempo. El mpc presenta una serie de ventajas sobre otros m´etodos, entre las que destacan: Resulta particularmente atractivo para personal sin un conocimiento profundo de control, puesto que los conceptos resultan muy intuitivos, a la vez que la sintonizaci´ on es relativamente f´ acil. Puede ser usado para controlar una gran variedad de procesos, desde aqu´ellos con din´amica relativamente simple hasta otros m´ as complejos incluyendo sistemas con grandes retardos, de fase no m´ınima o inestables. Permite tratar con facilidad el caso multivariable. Posee intr´ınsecamente compensaci´ on del retardo. Resulta conceptualmente simple la extensi´ on al tratamiento de restricciones, que pueden ser incluidas de forma sistem´ atica durante el proceso de dise˜ no. Es muy u ´ til cuando se conocen las futuras referencias (rob´ otica o procesos en batch ). Es una metodolog´ıa completamente abierta basada en algunos principios b´ asicos que permite futuras extensiones. Pero, l´ogicamente, tambi´en presenta inconvenientes. Unos de ellos es la carga de c´alculo necesaria para la resoluci´ on de algunos algoritmos. Pero quiz´ as el mayor inconveniente venga marcado por la necesidad de disponer de un modelo apropiado del proceso. El algoritmo de dise˜ no est´ a basado en el conocimiento previo del modelo y es independiente de ´este, pero resulta evidente que las prestaciones obtenidas depender´ an de las discrepancias existentes entre el proceso real y el modelo usado.
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:
120
ESTRATEGIA DE LOS CONTROLADORES PREDICTIVOS
u(t+k|t) u(t)
^ y(t+k|t) y(t) N
t-1
t
t+1
...
t+k
...
t+N
Figura 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 predicci´ on. Estas 1 salidas predichas, yˆ(t + k | t) para k = 1 . . . N dependen de los valores conocidos hasta el instante t (entradas y salidas pasadas) y de las se˜ nales de control futuras u(t + k | t), k = 0 . . . N − 1 que se pretenden mandar al sistema y que son las que se quieren calcular. 2. El conjunto de se˜ nales de control futuras se calcula optimizando un determinado criterio en el que se pretende mantener el proceso lo m´ as pr´ oximo posible a la trayectoria de referencia w(t + k) (que puede ser directamente el setpoint o una suave aproximaci´ on a ´este). Este criterio suele tomar la forma de una funci´ on cuadr´atica de los errores entre la salida predicha y la trayectoria de referencia tambi´ en predicha, incluyendo en muchos casos el esfuerzo de control. Si el criterio es cuadr´ atico, el modelo lineal y no existen restricciones se puede obtener una soluci´on expl´ıcita, en otro caso se debe usar un m´etodo iterativo de optimizaci´ on. Adicionalmente se hace alguna suposici´ on sobre la estructura de la ley de control futura, como por ejemplo que va a ser constante a partir de cierto instante. 3. La se˜ nal de control u(t | t) es enviada al proceso mientras que las siguientes se˜nales de control calculadas son desechadas, puesto que en el siguiente instante 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 1
la notaci´on indica el valor de la variable en el instante t + k calculado en el instante t.
CAP ´ITULO 8. CONTROL PREDICTIVO BASADO EN MODELO (MPC)
Entradas y salidas pasadas
Trayectoria de referencia
Salidas predichas
Modelo
121
+ -
Controles futuros
Optimizador Errores futuros Funcion de coste
Restricciones
Figura 8.2: Estructura b´asica del MPC
principio ser´ a diferente al u(t + 1 | t) al disponer de nueva informaci´ on), haciendo uso del concepto de horizonte deslizante. Para llevar a cabo esta estrategia, se usa una estructura como la mostrada en la figura 8.2. Se hace uso de un modelo para predecir las salidas futuras del proceso, bas´andose en las futuras se˜ nales de control propuestas. Estas se˜ nales son calculadas por el optimizador teniendo en cuenta la funci´ on de coste (donde aparece el futuro error de seguimiento) as´ı como las restricciones. Por tanto el modelo juega un papel decisivo en el controlador. El modelo elegido debe ser capaz de capturar la din´ amica del proceso para poder predecir las salidas futuras al mismo tiempo que debe ser sencillo de usar y de comprender. El optimizador es otra parte fundamental de la estrategia pues proporciona las acciones de control. Si la funci´ on de coste es cuadr´ atica, el m´ınimo se puede obtener como una funci´ on expl´ıcita de las entradas y salidas pasadas y de la trayectoria de referencia. Sin embargo, cuando existen restricciones de desigualdad la soluci´ on debe ser calculada por m´etodos num´ericos con m´ as carga de c´ alculo.
8.4.
Elementos b´ asicos
Todos los controladores predictivos poseen elementos comunes y para cada uno de estos elementos se pueden elegir diversas opciones, dando lugar a distintos algoritmos.
´ ELEMENTOS BASICOS
122
Estos elementos son:
Modelo de predicci´ on Funci´ on objetivo Obtenci´on de la ley de control
8.4.1.
Modelo de predicci´ on
La piedra angular del mpc es el modelo; un dise˜ no completo debe incluir los mecanismos necesarios para la obtenci´ on del mejor modelo posible, el cual debe ser lo suficientemente rico para capturar al maximo la din´ amica del proceso y debe ser capaz de permitir el c´alculo de las predicciones a la vez que sea intuitivo y permita un an´ alisis te´orico. El uso del modelo del proceso viene determinado por la necesidad del c´ alculo de la salida predicha en instantes futuros y(t + ˆ k | t). Las diferentes estrategias de mpc pueden usar distintos modelos para representar la relaci´ on de las salidas con las entradas medibles, algunas de las cuales ser´ an variables manipuladas y otras se pueden considerar como perturbaciones medibles, que pueden ser compensadas por acci´on feedforward . Adem´as se tendr´ a en cuenta un modelo de las perturbaciones, para intentar describir el comportamiento que no aparece reflejado en el modelo del proceso, englob´ andose aqu´ı el efecto de las entradas no medibles, el ruido y los errores de modelado. Para el estudio se puede separar el modelo en dos partes: el modelo del proceso propiamente dicho y el modelo de las perturbaciones. Cualquier m´etodo usar´ a ambas partes para la predicci´ on.
Modelo del Proceso Casi todas las formas posibles de modelar un proceso aparecen en alguna formulaci´on de mpc siendo las m´as usadas las siguientes:
Respuesta impulsional. Tambi´en conocida por secuencia de ponderaci´ on o modelo de convoluci´ on. La salida viene relacionada con la entrada por la ecuaci´ on ∞
y(t) =
i=1
hi u(t − i)
CAP ´ITULO 8. CONTROL PREDICTIVO BASADO EN MODELO (MPC)
123
2
h
i
g i
1
h
h
y(t)
g
N
2
N
g
y(t)
h
1
g
t
...
t+1 t+2
t+N
t
...
t+1 t+2
t+N
b)
a) Figura 8.3: Respuesta impulsional y ante escal´on
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 s´ olo se consideran N valores (por tanto s´ olo permite representar procesos estables y sin integradores), teniendo N
y(t) =
hi u(t − i) = H (z 1 )u(t) −
(8.1)
i=1
donde H (z 1 ) = h 1 z 1 + h2 z 2 + · · · + hN z N . Un inconveniente de este m´etodo es el gran n´ umero de par´ ametros que necesita, ya que N suele ser un valor elevado (del orden de 40-50). La predicci´ on vendr´ a dada por: −
−
−
−
N
yˆ(t + k | t) =
hi u(t + k − i | t) = H (z 1 )u(t + k | t) −
i=1
Este m´etodo es ampliamente aceptado en la pr´ actica industrial debido a que es muy intuitivo y no requiere informaci´on previa sobre el proceso, con lo que el procedimiento de identificaci´ on se simplifica, a la vez que permite describir f´acilmente din´ amicas complejas como fase no m´ınima o retardos. Respuesta ante escal´ on. Es muy similar al anterior s´o lo que ahora la se˜ n al de entrada es un escal´ on. Para sistemas estables se tiene la respuesta truncada que ser´a N
y(t) = y 0 +
i=1
gi u(t − i) = y 0 + G(z 1 )(1 − z 1 )u(t) −
−
(8.2)
´ ELEMENTOS BASICOS
124
donde las gi son los valores muestreados ante la entrada en escal´ on y u(t) = u(t) − u(t − 1), seg´ un se muestra en la figura 8.3b. El valor de y 0 puede tomarse 0 sin p´erdida de generalidad, con lo cual el predictor ser´ a: N
yˆ(t + k | t) =
gi u(t + k − i | t)
i=1
Este m´etodo presenta las mismas ventajas e inconvenientes que el anterior. Funci´ on de transferencia. Se utiliza el concepto de funci´ on de transferencia G = B/A con lo que la salida viene dada por: A(z 1)y(t) = B(z 1)u(t) −
−
A(z 1 ) = 1 + a1 z −
B(z 1 ) = b1 z −
1
−
1
−
2
−
+ a2 z 2
−
+ b2 z
na
−
+ · · · + ana z nb
−
+ · · · + bnb z
Por tanto la predicci´ on vendr´ a dada por B(z 1 ) yˆ(t + k | t) = u(t + k | k) A(z 1 ) −
−
Esta representaci´ on es v´alida tambi´ en para procesos inestables y posee la ventaja de necesitar pocos par´ ametros, aunque es fundamental un conocimiento a priori del proceso sobre todo en cuanto al orden de los polinomios A y B. Espacio de estados. Tiene la siguiente representaci´ on: x(t) = Ax(t − 1) + Bu(t − 1) y(t) = Cx(t) siendo x el estado y A, B y C las matrices del sistema, de entrada y de salida respectivamente. Para este modelo la predicci´ on viene dada por k
k
yˆ(t + k | t) = C ˆ x(t + k | t) = C [A x(t) +
Ai 1 Bu(t + k − i | t)] −
i=1
Posee la ventaja de que sirve tambi´en para sistemas multivariables a la vez que permite analizar la estructura interna del proceso (aunque a veces los estados obtenidos al discretizar no tienen ning´ un significado f´ısico). Los c´ alculos pueden ser complicados, con la necesidad adicional de incluir un observador si los estados no son accesibles.
CAP ´ITULO 8. CONTROL PREDICTIVO BASADO EN MODELO (MPC)
125
Modelo de las perturbaciones De tanta importancia como la elecci´ on de un determinado modelo del proceso es la elecci´on del modelo utilizado para representar la perturbaciones. Un modelo bastante extendido es el Autorregresivo Integrado de Media M´ ovil (Auto-Regressive and Integrated Moving Average, arima), en el que las perturbaciones, es decir, las diferencias entre la salida medida y la calculada por el modelo vienen dadas por C (z 1 )e(t) n(t) = D(z 1 ) −
−
donde el polinomio D(z 1 ) incluye expl´ıcitamente el integrador = 1 − z 1 , e(t) es un ruido de media cero y normalmente el polinomio C se considera igual a uno. Este modelo se considera apropiado para dos tipos de perturbaciones: cambios aleatorios ocurridos en instantes aleatorios (por ejemplo cambio en la calidad del material) y movimiento browniano (en procesos con balance de energ´ıa) y es usado en varios m´etodos. N´ otese que al incluir un integrador se consigue un control con error nulo en r´egimen permanente (offset-free ). −
−
Como caso particular del arima se puede incluir la perturbaci´ on constante n(t) =
e(t) 1 − z
1
−
cuya mejor predicci´ on ser´ an ˆ (t + k | t) = n(t).
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 se˜ nales: u(t) = u f (t) + uc (t) La se˜ nal uf (t) corresponde a las entradas pasadas (anteriores al instante t) y en el futuro se mantiene constante e igual al u´ltimo valor de la variable manipulada. Es decir, uf (t − j) = u(t − j) para j = 1, 2, · · · uf (t + j) = u(t − 1) para j = 0, 1, 2, · · ·
´ ELEMENTOS BASICOS
126
La se˜ nal uc (t) vale cero en el pasado y corresponde a las se˜ nales de control en los instantes futuros: uc (t − j) = 0 para j = 1, 2, · · · uc (t + j) = u(t + j) − u(t − 1) para j = 0, 1, 2, · · · La predicci´ o n 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 predicci´ o n de la salida cuando la variable manipulada se hace igual a uf (t), y la otra, la repuesta forzada (yc (t)), corresponde a la predicci´ on de la salida cuando la se˜ nal de control es uc (t). La respuesta libre corresponde a la evoluci´ o n del proceso debido a su estado actual (incluido por tanto el efecto de acciones pasadas) mientras que la respuesta forzada es la debida a las acciones de control futuras. y
u
Process
t
t
u
uc
f
y f
t
t
yc
t
t
Figura 8.4: Respuestas libre y forzada
8.4.2.
Funci´ on objetivo
Los diversos algoritmos de mpc proponen distintas funciones de coste para la obtenci´on de la ley de control. En general se persigue que la salida futura en el horizonte considerado siga a una determinada se˜ nal de referencia al mismo tiempo que se puede penalizar el esfuerzo de control requerido para hacerlo. La expresi´ o n general de tal funci´on objetivo ser´ a: N 2
J (N 1 , N 2, N u) =
j =N 1
Nu
2
δ ( j)[ˆ y(t + j | t) − w(t + j)] +
λ( j)[u(t + j − 1)]2
(8.3)
j =1
En algunos m´etodos el segundo sumando, que considera el esfuerzo de control, no
CAP ´ITULO 8. CONTROL PREDICTIVO BASADO EN MODELO (MPC)
127
se tiene en cuenta, mientras que en otros tambi´ en aparecen directamente los valores de la se˜ nal de control (no sus incrementos). En la funci´ on de coste se pueden considerar:
Par´ ametros: N 1 y N 2 son los horizontes m´ınimo y m´ aximo de coste (o de predicci´o n) y Nu es el horizonte de control, que no tiene por qu´e coincidir con el horizonte m´ aximo, como se ver´ a posteriormente. El significado de N 1 y N 2 resulta bastante intuitivo: marcan los l´ımites de los instantes en que se desea que la salida siga a la referencia. As´ı, si se toma un valor grande de N 1 es porque no importa que haya errores en los primeros instantes, lo cual provocar´ a una respuesta suave del proceso. N´ otese que para procesos con tiempo muerto d no tiene sentido que N 1 sea menor que dicho valor puesto que la salida no empezar´ a a evolucionar hasta el instante t + d. Adem´as, si el proceso es de fase no m´ınima, este par´ ametro permite eliminar de la funci´ on objetivo los primeros instantes de respuesta inversa. Los coeficientes δ ( j) y λ( j) son secuencias que ponderan el comportamiento futuro. Usualmente se consideran valores constantes o secuencias exponenciales. Por ejemplo se puede conseguir un peso exponencial de δ ( j) a lo largo del horizonte usando: δ ( j) = α N 2 j −
Si α est´a comprendido entre 0 y 1 indica que se penaliza m´ as a los errores m´ as alejados del instante t que a los m´a s pr´ oximos, dando lugar a un control m´ as suave y con menor esfuerzo. Si, por el contrario, α > 1 es que se penalizan m´ as los primeros errores, provocando un control m´ as brusco. Todos estos valores pueden ser usados como par´ ametros de sintonizaci´ on, obteniendo un abanico muy amplio de posibilidades con las que se puede cubrir una extensa gama de opciones, desde un control est´ andar hasta una estrategia dise˜ nada a medida para un proceso en particular. Trayectoria de referencia: Una de las ventajas del control predictivo es que si se conoce a priori la evoluci´on futura de la referencia, el sistema puede empezar a reaccionar antes de que el cambio se haya efectivamente realizado, evitando los efectos del retardo en la respuesta del proceso. En muchas aplicaciones la evoluci´ o n futura de la referencia r(t + k) es conocida de antemano, como en Rob´otica, servos o procesos en batch ; en otras aplicaciones aunque la referencia sea constante, se puede conseguir una sensible mejora de prestaciones simplemente conociendo el instante de cambio de valor y adelant´ andose a esa circunstancia. En el criterio de minimizaci´ on (8.3), la mayor´ıa de los m´etodos suelen usar una trayectoria de referencia w(t + k) que no tiene por qu´e coincidir con la referencia real. Normalmente ser´ a una suave aproximaci´ on desde el valor actual de la salida
´ ELEMENTOS BASICOS
128
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 par´ ametro comprendido entre 0 y 1 (mientras m´ a s pr´ o ximo a 1 m´as suave ser´ a la aproximaci´on) que constituye un valor ajustable que influir´ a en la respuesta din´ a mica 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 peque˜ n os de este par´ ametro se tiene un seguimiento r´ apido (w1 ) mientras que si aumenta, la trayectoria de referencia ser´ a w2 dando lugar a una respuesta m´ as suave.
r(t+k) w1(t+k)
w2 (t+k)
y(t)
t
Figura 8.5: Trayectoria de referencia
Restricciones: En la pr´ actica, todos los procesos est´ an sujetos a restricciones. Los actuadores tienen un campo limitado de acci´ on as´ı como una determinada velocidad de cambio (slew rate ), como es el caso de las v´ alvulas, limitadas por las posiciones de totalmente abierta o cerrada y por la velocidad de respuesta. Razones constructivas, de seguridad o medioambientales o bien los propios alcances de los sensores pueden causar l´ımites en las variables de proceso, tales como niveles en dep´ositos, caudales en tuber´ıas o temperaturas y presiones m´ aximas. Adem´as, normalmente las condiciones de operaci´ on vienen definidas por la intersecci´ on de ciertas restricciones por motivos fundamentalmente econ´ omicos, con lo que el sistema de control operar´ a cerca de los l´ımites. Todo lo expuesto anteriormente hace necesaria la introducci´ on de restricciones en la funci´ on a minimizar. Muchos algoritmos predictivos tienen en cuenta el tema de las restricciones por lo cual han tenido gran ´exito en la industria. Normalmente se considerar´ an l´ımites en la amplitud y el slew rate de la se˜ nal de control y l´ımites en las salidas: umin ≤
u(t)
≤ umax
∀t
CAP ´ITULO 8. CONTROL PREDICTIVO BASADO EN MODELO (MPC)
dumin ≤ u(t) − u(t − 1) ≤ dumax ymin ≤
y(t)
≤ ymax
129
∀t ∀t
con la adici´on de estas restricciones a la funci´ on objetivo, la minimizaci´ on resulta m´as compleja, no pudiendo obtenerse la soluci´ on anal´ıticamente como en el caso sin restringir.
8.4.3.
Obtenci´ on de la ley de control
Para obtener los valores u(t + k | t) ser´ a necesario minimizar la funcional J de la ecuaci´on (8.3). Para ello se calculan los valores de las salidas predichas yˆ(t + k | t) en funci´ on de valores pasados de entradas y salidas y de se˜ nales de control futuras, haciendo uso del modelo que se haya elegido y se sustituyen en la funci´ on de coste, obteniendo una expresi´ on cuya minimizaci´ on conduce a los valores buscados. Para el criterio cuadr´ atico si el modelo es lineal y no existen restricciones se puede obtener una soluci´on anal´ıtica, en otro caso se debe usar un m´etodo iterativo de optimizaci´ on. De cualquiera de las maneras la obtenci´ o n de la soluci´on no resulta trivial pues existir´an N 2 − N 1 + 1 variables independientes, valor que puede ser elevado (del orden de 10 a 30). Con la idea de reducir estos grados de libertad se puede proponer cierta estructura a la ley de control. Adem´ as se ha encontrado que esta estructuraci´ o n de la ley de control produce una mejora en la robustez y en el comportamiento general del sistema, debido fundamentalmente a que el hecho de permitir la libre evoluci´ on de las variables manipuladas (sin estructurar) puede conducir a se˜ nales de control de alta frecuencia no deseables y que en el peor de los casos podr´ıan conducir a la inestabilidad. Esta estructura de la ley de control se plasma en el uso del concepto de horizonte de control (Nu), que consiste en considerar que tras un cierto intervalo Nu < N 2 no hay variaci´ on en las se˜ nales de control propuestas, es decir:
u(t + j − 1) = 0
j > Nu
lo cual es equivalente a dar pesos infinitos a las cambios en el control a partir de cierto instante. El caso l´ımite ser´ıa considerar Nu igual a 1 con lo que todas las acciones futuras ser´ıan iguales a u(t)2. 2
Recu´ erdese que debido al horizonte deslizante, la se˜nal de control se recalcula en el siguiente muestreo.
130
´ DE LOS PRINCIPALES ALGORITMOS REVISI ON
8.5.
Revisi´ on de los principales algoritmos
Se presentan a continuaci´ on los principales algoritmos de control predictivo, mostrando sus principales caracter´ısticas pero sin entrar en detalles. En el tema siguiente se estudiar´an en detalle los dos m´etodos considerados m´ as representativos: dmc y gpc.
8.5.0.1.
Dynamic Matrix Control
Este m´etodo usa la respuesta ante escal´ on (8.2) para modelar el proceso, considerando s´olo los N primeros t´erminos, asumiendo por tanto que el proceso es estable. En cuanto a las perturbaciones, se considera que su valor permanence constante e igual al existente en el instante actual durante todo el horizonte, es decir, igual al valor medido de la salida (ym ) menos el estimado por el modelo y(t ˆ | t)). n ˆ (t + k | t) = n ˆ (t | t) = y m (t) − yˆ(t | t) y por tanto el valor predicho de la salida ser´ a: k
yˆ(t + k | t) =
i=1
N
gi u(t + k − i) +
gi u(t + k − i) + n ˆ (t + k | t)
i=k+1
donde el primer t´ermino contiene las acciones de control futuras (que ser´ an calculadas), el segundo los valores pasados de las acciones de control (conocidas) y el ultimo ´ representa las perturbaciones. La funci´ on de coste puede considerar s´ olo errores futuros o incluir tambi´ en el esfuerzo de control, en cuyo caso toma la forma gen´erica (8.3). Una de las caracter´ısticas de este m´etodo que lo ha hecho muy popular en la industria es la inclusi´on de restricciones, que se traduce en inecuaciones de la forma gen´erica: N
C jyi yˆ(t + k | t) + C jui u(t + k − i) + c j ≤ 0
j = 1 . . . Nc
i=1
En este caso la optimizaci´ on debe ser num´erica y se lleva a cabo en cada periodo de muestreo, envi´ andose la se˜ nal u(t) y recalculando todo en el nuevo periodo de muestreo, como en todos los m´etodos mpc. Los principales inconvenientes de este m´etodo son el tama˜ no del modelo empleado y la imposibilidad de tratar procesos inestables.
CAP ´ITULO 8. CONTROL PREDICTIVO BASADO EN MODELO (MPC)
8.5.0.2.
131
Model Algorithmic Control
Este m´etodo se conoce tambi´ en como Model Predictive Heuristic Control y el producto comercial se llama idcom (Identification-Command). Es muy similar al dmc con la diferencia principal de usar un modelo de respuesta impulsional (8.1). Introduce el concepto de trayectoria de referencia como un sistema de primer orden que evoluciona desde la salida actual al setpoint seg´ un una determinada constante de tiempo. La varianza del error entre esta trayectoria y la salida es lo que marca la minimizaci´on de la funci´on objetivo. Las perturbaciones se pueden tratar como en el m´etodo anterior o se pueden estimar seg´ un la siguiente expresi´ on: n ˆ (t + k | t) = αˆ n(t + k − 1 | t) + (1 − α)(ym (t) − yˆ(t | t)) con n ˆ (t | t) = 0. α es un par´ ametro ajustable (0 ≤ α < 1) relacionado con el tiempo de respuesta, el ancho de banda y la robustez del bucle cerrado. El m´etodo tambi´en considera restricciones en los actuadores, en las variables internas o en salidas secundarias.
8.5.0.3.
Predictive Functional Control
Este controlador fue desarrollado por Richalet para procesos r´ apidos. Emplea un modelo en el espacio de estados, por lo que permite el manejo de procesos inestables, y tambi´ en la extensi´ o n al caso no lineal. Este esquema de control tiene dos caracter´ısticas que lo distinguen del resto de controladores de la familia: el uso de puntos de coincidencia y de funciones base . El concepto de puntos de coincidencia (ver figura 8.6) se emplea para simplificar los c´alculos considerando s´ olo un subconjunto de puntos en el horizonte de predicci´ on h j , j = 1, . . . , nH . La salida deseada y la predicha deben coincidir en dichos puntos, no en todo el horizonte de predicci´ on. La otra idea innovadora de este m´etodo es la parametrizaci´ on de la se˜ nal de control como una combinaci´ on lineal de ciertas funciones base , que son elegidas seg´ u n la naturaleza del proceso y la referencia: nB
u(t + k) =
µi (t)Bi (k)
i=1
Normalmente estas funciones son de tipo polin´ omico: escalones (B1 (k) = 1), rampas (B2 (k) = k) o par´abolas (B3(k) = k 2 ), ya que la mayor´ıa de referencias se pueden especificar como combinaci´ on de estas funciones. Con esta estrategia, un perfil de entrada
132
´ DE LOS PRINCIPALES ALGORITMOS REVISI ON
Puntos de coincidencia
Figura 8.6: Puntos de coincidencia
complejo se puede especificar usando un peque˜ no n´ umero de par´ ametros desconocidos µi que son las inc´ognitas del problema de minimizaci´ on. La funci´ on a minimizar es: nH
J =
[ˆ y(t + h j ) − w(t + h j )]2
j =1
El algoritmo pfc tambi´en puede manejar restricciones de m´ aximo y m´ınimo en la aceleraci´on, que son pr´acticas en aplicaciones de servocontrol.
8.5.0.4.
Extended Prediction Self Adaptive Control
El algoritmo epsac usa un modelo de funci´ on de transferencia A(z 1 )y(t) = B(z 1 )u(t − d) + v(t) −
−
donde d es el retardo y v(t) la perturbaci´ on. Este modelo puede ampliarse para tratar perturbaciones medibles a˜ nadiendo un t´ermino D(z 1 )d(t) para incluir efecto feedforward . La estructura de la ley de control es muy simple, ya que se considera que la se˜ nal de control permanecer´ a constante a partir del instante t (es decir, horizonte de control igual a 1): u(t + k) = 0 para k > 0. Para obtener la se˜ nal de control de minimiza una funci´on de coste de la forma: −
N
k=d
γ (k)[w(t + k) − P (z 1 )ˆ y(t + k | t)]2 −
CAP ´ITULO 8. CONTROL PREDICTIVO BASADO EN MODELO (MPC)
133
donde P (z 1) es un polinomio de dise˜ no con ganancia unitaria y γ (k) es una secuencia de ponderaci´ on. La se˜ nal de control se puede calcular anal´ıticamente de la forma: −
N
u(t) =
hk γ (k)[w(t + k) − P (z 1)ˆ y(t + k | t)] −
k=d N
k=d
γ (k)h2k
siendo hk los coeficientes de la respuesta impulsional del sistema.
8.5.0.5.
Extended Horizon Adaptive Control
Esta formulaci´ on tambi´en emplea un modelo de funci´ on de transferencia y pretende minimizar la discrepancia entre la salida calculada y la referencia en el instante t + N : yˆ(t + N | t) − w(t + N ), con N ≥ d. La soluci´on a este problema no es u´nica (a menos que N = d); una posible estrategia es considerar horizonte de control igual a 1:
u(t + k − 1) = 0
1 < k ≤ N − d
o minimizar el esfuerzo de control N −d
J =
u2 (t + k)
k=0
Este m´etodo utiliza un predictor de N pasos de la forma yˆ(t + N | t) = y(t) + F (z 1 ) y(t) + E (z 1 )B(z 1 ) u(t + N − d) −
−
−
donde E (z 1 ) y F (z 1 ) son polinomios que satisfacen la relaci´on −
−
(1 − z 1 ) = A(z 1 )E (z 1 )(1 − z 1 ) + z −
−
−
−
F (z 1 )(1 − z 1 )
N
−
−
−
con el grado de E igual a N − 1. Una ventaja de este m´etodo es que se puede encontrar f´acilmente una soluci´ on expl´ıcita, dada por u(t) = u(t − 1) +
α0 (w(t + N ) − yˆ(t + N | t)) N −d
k=0
α2i
siendo αk el coeficiente correspondiente a u(t + k) en la ecuaci´ on de predicci´ on. Por tanto la ley de control depende s´ o lo de los par´ ametros del proceso y puede hacerse f´acilmente adaptativa si se emplea un identificador en l´ınea. El unico ´ coeficiente de ajuste es el horizonte de predicci´ on N , lo cual simplifica el uso pero proporciona poca libertad para el dise˜ no. Obs´ervese que no puede usarse trayectoria de referencia porque el error se considera s´ olo en un instante (t+N ), ni tampoco la ponderaci´ on del esfuerzo de control.
134
´ DE LOS PRINCIPALES ALGORITMOS REVISI ON
8.5.0.6.
Generalized Predictive Control
Este m´etodo propuesto por Clarke et al. emplea un modelo carima (Controlled Auto-Regressive Integrated Moving Average) para la predicci´ on de la salida:
A(z 1)y(t) = B(z 1 )z −
−
d
−
u(t − 1) + C (z 1 ) −
e(t)
donde la perturbaci´ o n viene dada por un ruido blanco coloreado por el polinomio C (z 1). Como en la pr´ actica es dif´ıcil encontrar el verdadero valor de este polinomio, se puede emplear como par´ ametro de dise˜ no para rechazo de perturbaciones o mejora de la robustez. La predicci´ on o´ptima se lleva a cabo resolviendo una ecuaci´ on diof´antica, lo cual puede hacerse eficazmente de forma recursiva. −
Este algoritmo, al igual que otros que usan el modelo de funci´ on de transferencia, se puede implementar f´ acilmente en forma adaptativa usando un algoritmo de identificaci´on en l´ınea como los m´ınimos cuadrados recursivos. gpc usa
una funci´ on de coste cuadr´ atica de la forma N 2
J (N 1, N 2 , N u ) =
j =N 1
N u
2
δ ( j)[ˆ y (t + j | t) − w(t + j)] +
λ( j)[u(t + j − 1)]2
j =1
donde las secuencia de ponderaci´ on δ ( j) y λ( j) se eligen normalmente constantes o exponenciales y la trayectoria de referencia w(t+ j) se puede generar como una secuencia que empieza en el valor actual de la salida y tiende exponencialmente al setpoint. Las bases te´ oricas del algoritmo gpc has sido ampliamente estudiadas y se puede demostrar que, para distintos conjuntos de par´ ametros, el algoritmo es estable y que otros controladores como por ejemplo el dead beat son casos incluidos en ´este.
Cap´ıtulo 9 Controladores predictivos 9.1.
Dynamic Matrix Control
El m´etodo Dmc se desarroll´o a finales de los setenta por Cutler y Ramaker de Shell Oil Co. y ha sido aceptado ampliamente en el mundo industrial, principalmente por las industrias petroqu´ımicas. Actualmente dmc es algo m´as que un algoritmo y parte de su ´exito se debe al hecho de que el producto comercial resuelve otros temas como identificaci´ on u optimizaci´on global de la planta. En esta secci´ o n s´olo se analiza el algoritmo standard sin abordar detalles t´ecnicos propios del producto de mercado que no son de dominio p´ ublico. Pero a pesar de este ´exito en la pr´ actica, este m´etodo adolece quiz´ as de la ausencia de un an´ alisis te´orico ma´s completo que estudie la influencia de los par´ ametros de dise˜ no (horizontes, secuencias de ponderaci´ on) sobre la estabilidad del bucle cerrado as´ı como de resultados de robustez.
9.1.1.
Predicci´ on
El modelo de proceso que se emplea es el de respuesta temporal, considerando la perturbaci´ on como constante a lo largo del horizonte. El procedimiento para obtener la predicci´ on se describe a continuaci´ on. 135
136
DYNAMIC MATRIX CONTROL
Como se emplea un modelo de respuesta ante escal´ on: ∞
y(t) =
gi u(t − i)
i=1
los valores predichos a lo largo del horizonte ser´ an: ∞
yˆ(t + k | t) =
ˆ (t + k | t) = gi u(t + k − i) + n
i=1
k
=
∞
gi u(t + k − i) +
i=1
gi u(t + k − i) + n ˆ (t + k | t)
i=k+1
| t) = n Las perturbaciones se consideran constantes, n(t+k ˆ ˆ (t | t) = y m (t) − yˆ(t | t), por lo que se puede escribir: k
yˆ(t + k | t) =
∞
gi u(t + k − i) +
i=1
∞
−
i=1
gi u(t − i) =
gi u(t + k − i) + ym (t) −
i=k+1 k
gi u(t + k − i) + f (t + k)
i=1
donde f (t + k) es la respuesta libre del proceso, es decir, la parte de la respuesta que no depende de las acciones de control futuras, y viene dada por:
∞
f (t + k) = y m (t) +
(gk+i − gi ) u(t − i)
(9.1)
i=1
Si el proceso es asint´oticamente estable, los coeficientes gi de la respuesta ante escal´on tienden a un valor constante despu´es de N periodos de muestreo, por lo que se puede considerar que gk+i − gi ≈ 0, i>N y por tanto la respuesta libre se puede calcular como N
f (t + k) = y m (t) +
(gk+i − gi ) u(t − i)
i=1
N´otese que si el proceso no es estable, entonces no existe N y no se puede calcular f (t + k) (aunque existe una generalizaci´ on en el caso de que la inestabilidad sea producida por integradores puros).
CAP ´ITULO 9. CONTROLADORES PREDICTIVOS
137
Ahora las predicciones se pueden calcular a lo largo del horizonte de predicci´ on (k = 1, . . . , p), considerando m acciones de control. yˆ(t + 1 | t) = g1 u(t) + f (t + 1) yˆ(t + 2 | t) = g2 u(t) + g1 u(t + 1) + f (t + 2) .. . p
yˆ(t + p | t) =
gi u(t + p − i) + f (t + p)
i= p−m+1
Si se define la matriz din´ amica G como:
G =
g1 g2 .. .
0 g1 ...
gm gm .. ... . g p g p
1
−
1
−
··· ··· ...
0 0 ...
··· .. .
g1 ...
· · · g p
m+1
−
se puede escribir que:
y ˆ = Gu + f
(9.2)
Obs´ervese que G est´a formada por m (horizonte de control) columnas de la respuesta ante escal´ on apropiadamente desplazadas hacia abajo. y ˆ es un vector de dimensi´on p que contiene las predicciones de la salida, u representa el vector de incrementos de control y f es el vector de respuestas libres. Esta es la expresi´ on que relaciona las respuestas futuras con los incrementos en las se˜ nales de control, por lo que usar´ a para calcular las acciones necesarias para conseguir el comportamiento deseado del sistema.
9.1.2.
Perturbaciones medibles
El efecto de las perturbaciones medibles se puede a˜ nadir f´acilmente a las anteriores ecuaciones de predicci´ on, ya que ´estas se pueden tratar como entradas al sistema. La expresi´on (9.2) se puede usar para calcular la predicci´ on del efecto de las perturbaciones en la salida de la siguiente forma:
y ˆd = D d + f d
138
DYNAMIC MATRIX CONTROL
donde ˆ yd es la contribuci´ on de las perturbaciones medibles a la salida, D es una matriz similar a G que contiene los coeficientes de la respuesta del sistema a un escal´ on en la perturbaci´ on, d es el vector de incrementos en la perturbaci´ on y f d es la parte de la respuesta que no depende de la perturbaci´ on. En el caso m´as general de perturbaciones medibles y no medibles, la respuesta libre completa del sistema (la fracci´ on de la salida que no depende de la variable manipulada) se puede considerar como la suma de cuatro efectos: la respuesta a la entrada u(t), a la perturbaci´ on medible d(t), a la perturbaci´ on no medible y al estado actual del proceso:
f = f u + D d + f d + f n Por tanto la predicci´ on se puede expresar en la forma general
y ˆ = Gu + f
9.1.3.
Algoritmo de control
El ´exito en la industria del dmc se ha debido principalmente a su aplicaci´ on a sistemas multivariables de gran dimensi´ on con la consideraci´ on de restricciones. En esta secci´ on se describe el algoritmo de control comenzando por el caso m´ as simple de un sistema monovariable sin restricciones y extendi´endolo posteriormente al caso general multivariable con restricciones. El ob jetivo del controlador dmc es llevar el proceso los m´as cerca posible al setpoint en el sentido de m´ınimos cuadrados con la posibilidad de incluir una penalizaci´ on en los movimientos de la se˜ nal de control. Por ello se seleccionan las variables manipuladas de forma que minimicen un objetivo cuadr´ atico que puede incluir s´ olo los errores futuros p
J =
[ˆy (t + j | t) − w(t + j)]2
j =1
o tambi´en el esfuerzo de control, presentando la forma gen´erica p
J =
j =1
m
2
[ˆy (t + j | t) − w(t + j)] +
λ[u(t + j − 1)]2
j =1
Si no existen restricciones, la minimizaci´on de la funci´on de coste J = ee T + λuuT , donde e es el vector de errores futuros a lo largo del horizonte de predicci´ on y u es el
CAP ´ITULO 9. CONTROLADORES PREDICTIVOS w
+
139
y
u K
Proceso
-
f Calculo Resp. libre
Figura 9.1: Ley de control
vector de futuros incrementos en la se˜ nal de control u(t), . . . , u(t + m), se puede hacer de forma anal´ıtica calculando la derivada de J y haci´endola igual a 0, lo que proporciona el resultado general:
u = (GT G + λI ) 1 GT (w − f ) −
(9.3)
Recu´erdese que, como en todas las estrategias predictivas, s´ olo se env´ıa al proceso el primer elemento del vector u (u(t)). No es aconsejable implementar la secuencia completa sobre los siguientes m intervalos, ya que al ser imposible estimar de forma exacta las perturbaciones, no es posible anticiparse a las perturbaciones inevitables que provocan que la salida real difiera de las predicciones que se emplean para calcular la secuencia futura de acciones de control. Adem´ as, el setpoint puede cambiar durante los pr´oximos m intervalos. Resulta interesante analizar en qu´e consiste realmente la ley de control. Analizando la expresi´ on 9.3 se observa que el primer elemento del vector u, que es la se˜nal que efectivamente se env´ıa a la planta, es el producto de la primera fila de la matriz (GT G+λI ) 1 GT (llam´emosle K ) por la diferencia entre la trayectoria de referencia y la respuesta libre, que es el error futuro si no hubiera incrementos en la se˜ nal de control. Se puede decir por tanto que el incremento de la se˜ nal de control es proporcional (por medio de K ) a los errores futuros y por tanto habr´ a cambios en la se˜ nal de control siempre que el controlador detecte que va a haber una discrepancia en el futuro entre el objetivo deseado y el comportamiento esperado del sistema. Esta idea queda reflejada en la figura 9.1. −
140
DYNAMIC MATRIX CONTROL
Zona segura 1
P. operacion optimo
Punto operacion 1 Restriccion zona segura 2
Punto operacion 2
Restriccion
Figura 9.2: Punto de operaci´on o´ptimo de un proceso t´ıpico
9.1.3.1.
El caso con restricciones
Aunque computacionalmente m´ as complicado que otros algoritmos m´ as simples, la capacidad de manejar restricciones que posee este m´etodo (y mpc en general) lo hace muy atractivo para aplicaciones pr´ acticas, ya que en general el punto de operaci´ on ´optimo seg´ un criterios econ´ omicos se encuentra normalmente en la intersecci´ on de las restricciones, como se muestra en la figura 9.2. Por razones de seguridad, es necesario mantener una zona segura alrededor del punto de operaci´ on, ya que el efecto de las perturbaciones puede hacer que la salida del proceso viole las restricciones. Esta zona se puede reducir (y por tanto aumentar los beneficios econ´ omicos) si el controlador es capaz de manejar restricciones (punto de operaci´ on 1). Las restricciones tanto en entrada como en salida se pueden reducir a desigualdades de forma gen´erica N
C jyi yˆ(t + k | t) + C jui u(t + k − i) + c j ≤ 0
j = 1 . . . Nc
i=1
que deben tenerse en cuenta para la minimizaci´ o n. Como se ha visto, las salidas se pueden expresar en funci´ on del vector de incrementos de control a trav´es de la matriz din´amica, por que las restricciones tanto en la entrada como en la salida se pueden recoger en una desigualdad matricial de la forma Ru ≤ c, como se ver´a con m´as detalle en el tema dedicado a restricciones. Ahora la minimizaci´ on es un problema de Programaci´on Cuadr´ atica qp, cuya soluci´on es num´erica. Todo lo relacionado con las restricciones ser´ a abordado con mayor grado de detalle en el tema dedicado a ello.
CAP ´ITULO 9. CONTROLADORES PREDICTIVOS
9.1.3.2.
141
Extensi´ on al caso multivariable
El esquema previo se puede extender f´ acilmente al caso de sistemas con varias entradas y varias salidas. Las ecuaciones b´ asicas se mantienen igual a excepci´ on de que las matrices y vectores cambian de dimensi´ on para poder incluir todas las entradas y salidas. Al tratarse de modelos lineales, se puede aplicar el principio de superposici´ on para obtener el valor de las salidas ante las diversas entradas. Para ello se define el vector de salidas futuras como:
y ˆ = [y1 (t + 1 | t), . . . , y1 (t + p1 | t), . . . , yny (t + 1 | t), . . . , yny (t + pny | t)]T y el de se˜ nales de control de la forma:
u = [u1 (t), . . . , u1 (t + m1 − 1), . . . , unu (t), . . . , unu (t + mnu − 1)]T as´ı como la respuesta libre:
f = [f 1 (t + 1 | t), . . . , f1 (t + p1 | t), . . . , fny (t + 1 | t), . . . , fny (t + pny | t)]T teniendo en cuenta que la respuesta libre de la salida i depende tanto de valores pasados de yi como de valores pasados de todas las se˜ nales de control. Con estas definiciones, la ecuaci´ on de predicci´ on es igual que en el caso monovariable simplemente considerando que la matriz G toma la forma:
G =
G11 G21 .. .
G12 G22 ...
··· ··· ...
G1nu G2nu ...
Gny1 Gny2 · · · Gnynu
Cada submatriz Gij contiene los coeficientes de la respuesta ante escal´ on i-´esima correspondiente a la entrada j-´esima. El proceso de minimizaci´ on es an´alogo s´ olo que la ponderaci´ on tanto de los errores como de los esfuerzos de control se realiza con matrices de peso.
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 m´ etodos m´ as populares en el a´mbito del Control
142
CONTROL PREDICTIVO GENERALIZADO
Predictivo tanto en el mundo industrial como en el acad´ emico. Se ha empleado con ´exito en numerosas aplicaciones industriales, mostrando buenas prestaciones a la vez que un cierto grado de robustez respecto a sobreparametrizaci´ on o retardos mal conocidos. Puede resolver muchos problemas de control diferentes para un amplio campo de procesos con un n´ umero razonable de variables de dise˜ no, que son especificadas por el operario dependiendo del conocimiento previo del proceso y de los objetivos de control. La idea b´ asica del gpc es calcular una secuencia de futuras acciones de control de tal forma que minimice una funci´ on de coste multipaso. El ´ındice a minimizar es una funci´ on cuadr´ atica que mide por un lado la distancia entre la salida predicha del sistema y una cierta trayectoria de referencia hasta el horizonte de predicci´ o n, y por otro el esfuerzo de control necesario para obtener dicha salida. El Control Predictivo Generalizado tiene muchas ideas en com´ u n con otros controladores predictivos previamente mencionados ya que est´ a basado en las mismas ideas pero posee a su vez algunas diferencias. Como se ver´ a m´as adelante, es capaz de proporcionar una soluci´ on expl´ıcita (en ausencia de restricciones), puede trabajar con procesos inestables o de fase no m´ınima e incorpora el concepto de horizonte de control as´ı como la consideraci´ on en la funci´on de coste de ponderaci´ on de los incrementos en las acciones de control. Las diversas posibilidades disponibles para el gpc conducen a una gran variedad de objetivos de control comparado con otras realizaciones, algunas de las cuales pueden ser consideradas como subconjuntos o casos l´ımites del gpc.
9.2.1.
Formulaci´ on del Control Predictivo Generalizado
La mayor´ıa de los procesos de una sola entrada y una sola salida (single-input singleoutput , siso), al ser considerados en torno a un determinado punto de trabajo y tras ser linealizados, pueden ser descritos de la siguiente forma: A(z 1 )y(t) = z d B(z 1 )u(t − 1) + C (z 1 )e(t) −
−
−
−
donde u(t) y y(t) son respectivamente la se˜ nal de control y la salida del proceso y e(t) es un ruido blanco de media cero. A, B y C son los siguientes polinomios en el operador de desplazamiento hacia atr´ as z 1 : −
A(z 1 ) = 1 + a1 z −
1
−
B(z 1 ) = b0 + b1 z −
C (z 1 ) = 1 + c1 z −
1
−
1
−
donde d es el tiempo muerto del sistema.
2
+ ... + ana z
2
+ ... + bnb z
−
+ a2 z
−
+ b2 z
2
−
+ a2 z
na
−
nb
−
nc
−
+ ... + cnc z
CAP ´ITULO 9. CONTROLADORES PREDICTIVOS
143
Este modelo es conocido como Autorregresivo de Media M´ ovil (Controller AutoRegressive Moving-Average carma). En muchas aplicaciones industriales en las que las perturbaciones son no-estacionarias resulta m´ as conveniente el uso de un modelo carma integrado, dando lugar al carima, que viene descrito por: A(z 1 )y(t) = B(z 1 )z −
−
d
−
u(t − 1) + C (z 1 ) −
e(t)
con
1
−
= 1 − z
(9.4)
Por simplicidad, a partir de ahora el polinomio C se va a tomar igual a 1. N´otese que en el caso de que C 1 pueda ser truncado se puede absorber en A y B. −
El algoritmo del Control Predictivo Generalizado consiste en aplicar una secuencia de se˜ nales de control que minimice una funci´ on de coste de la forma: N 2
J (N 1 , N 2 , Nu) =
Nu
δ ( j)[ˆ y (t + j | t) − w(t + j)]2 +
λ( j)[u(t + j − 1)]2
(9.5)
j =1
j =N 1
donde yˆ(t + j | t) es la predicci´on o´ptima j pasos hacia delante de la salida del proceso con datos conocidos hasta el instante t, N 1 y N 2 son los horizontes m´ınimo y m´ aximo de coste, N u es el horizonte de control y δ ( j) y λ( j) son las secuencias de ponderaci´ on mientras que w(t + j) es la futura trayectoria de referencia, que se puede calcular seg´ un se muestra en la figura 8.5. En muchas situaciones se considera δ ( j) igual a 1 y λ( j) constante. El objetivo es pues el c´ alculo de la futura secuencia de control u(t), u(t + 1),... de tal manera que la salida futura del proceso y(t + j) permanezca pr´ oxima a w(t + j). Esto se logra minimizando J (N 1 , N 2 , Nu).
9.2.1.1.
Predicci´ on ´ optima
Con la intenci´ o n de minimizar la funci´ o n de coste, se obtendr´ a previamente la predicci´on o´ptima de y(t + j) para j ≥ N 1 y j ≤ N 2 . Consid´erese la siguiente ecuaci´ on diof´antica: 1 = E j (z 1 ) A + z j F j (z 1 ) ˜ + z j F j (z 1 ) 1 = E j (z 1 )A −
−
−
−
−
−
(9.6)
Los polinomios E j y F j est´an u ´ nicamente definidos con grados j − 1 y na respecti˜ 1 ) hasta que el resto pueda ser facvamente. Se pueden obtener dividiendo 1 entre A(z torizado como z j F j (z 1 ). El cociente de la divisi´on es entonces el polinomio E j (z 1). −
−
−
−
144
CONTROL PREDICTIVO GENERALIZADO
Si se multiplica la ecuaci´on (9.4) por E j (z 1 ) z j −
˜ 1 )E j (z 1 )y(t + j) = E j (z 1 )B(z 1 ) u(t + j − d − 1) + E j (z 1 )e(t + j) (9.7) A(z −
−
−
−
−
Teniendo en cuenta (9.6), la ecuaci´ on (9.7) queda: (1 − z j F j (z 1 ))y(t + j) = E j (z 1 )B(z 1 ) u(t + j − d − 1) + E j (z 1 )e(t + j) −
−
−
−
−
La cual se puede escribir como y(t + j) = F j (z 1 )y(t) + E j (z 1 )B(z 1 ) u(t + j − d − 1) + E j (z 1 )e(t + j) (9.8) −
−
−
−
Al ser el grado del polinomio E j (z 1 ) igual a j − 1 los t´erminos del ruido en la ecuaci´on (9.8) est´ an todos en el futuro. La mejor predicci´ o n de y(t + j) ser´ a por consiguiente: yˆ(t + j | t) = G j (z 1) u(t + j − d − 1) + F j (z 1 )y(t) −
−
−
donde G j (z 1 ) = E j (z 1 )B(z 1 ) −
−
−
Resulta simple demostrar que los polinomios E j y F j se pueden obtener recursivamente, de forma que los nuevos valores en el paso j + 1 (E j +1 y F j +1 ) sean funci´ on de los del paso j. A continuaci´ on se muestra una demostraci´ on simple de la recursividad de la ecuaci´ on diof´antica. Existen otras formulaciones del gpc que no est´an basadas en la recursividad de esta ecuaci´ on. ˜ 1) Consid´erense que los polinomios E j y F j se han obtenido dividiendo 1 entre A(z hasta que el resto haya sido factorizado como z j F j (z 1 ) . Con: −
−
−
F j (z 1 ) = f j,0 + f j,1 z
1
+ · · · + f j,na z
E j (z 1 ) = e j,0 + e j,1 z
1
+ · · · + e j,j 1 z
−
−
−
−
na
−
( j −1)
−
−
Sup´ongase que se utiliza el mismo procedimiento para obtener E j +1 y F j +1 , es decir, ˜ 1 ) hasta que el resto se pueda factorizar como z ( j +1) F j +1(z 1 ) con dividir 1 entre A(z −
−
F j +1 (z 1 ) = f j +1,0 + f j +1,1 z −
1
−
−
na
−
+ · · · + f j +1,na z
Est´a claro que solamente es necesario dar un paso m´ as en la divisi´on para obtener los polinomios E j +1 y F j +1 . Al ser E j +1 el nuevo cociente de la divisi´on, ser´ a igual al
CAP ´ITULO 9. CONTROLADORES PREDICTIVOS
145
cociente que hab´ıa hasta el momento (E j ) m´as un nuevo t´ermino, que ser´ a el f j,0 pues ˜ es m´onico. Por tanto: el divisor (A) E j +1 (z 1 ) = E j (z 1) + e j +1,j z j −
−
−
con e j +1,j = f j,0
Teniendo en cuenta que el nuevo resto ser´ a el resto anterior menos el producto del cociente por el divisor, los coeficientes del polinomio F j +1 se pueden expresar como: f j +1,i = f j,i+1 − f j,0 a ˜i+1 i = 0 · · · na En resumen, la forma de obtener los polinmios E j y F j es la siguiente: ˜ 1. Comenzar con E 1 = 1, F 1 = z (1 − A) 2. Ir a˜ nadiendo nuevos t´erminos a E j con e j +1,j = f j,0 3. Calcular f j +1,i = f j,i+1 − f j,0 a ˜i+1 i = 0 · · · na, (siendo f j,na+1 = 0). El polinomio G j +1 puede ser obtenido recursivamente como sigue: G j +1 = E j +1B = (E j + f j,0 z j )B = G j + f j,0 z j B −
−
Es decir, los primeros j coeficientes de G j +1 ser´an id´enticos a los de G j mientras que el resto viene dado por: g j +1,j +i = g j,j +i + f j,0 bi
para i = 0 · · · nb
Para resolver el gpc es necesario obtener el conjunto de se˜ nales de control u(t), u(t +1), ...,u(t + N ) que minimizan la ecuaci´ on (9.5). Al tener el proceso un retardo de d per´ıodos de muestreo, la salida s´ olo se ver´ a influenciada por la se˜ nal u(t) despu´es del instante d +1. Los valores N 1 , N 2 y N u que marcan los horizontes pueden ser definidos como N 1 = d + 1, N 2 = d + N y N u = N . No tiene sentido hacer N 1 < d + 1 ya que los t´erminos de (9.5) s´ olo depender´ an de las se˜ nales de control pasadas. Por otro lado, haciendo N 1 > d + 1 los primeros puntos de la secuencia de salida, que ser´ an los mejor estimados, no se tendr´ an en cuenta. El conjunto de las j predicciones o´ptimas: yˆ(t + d + 1 | t) = Gd+1 u(t) + F d+1y(t) yˆ(t + d + 2 | t) = Gd+2 u(t + 1) + F d+2 y(t) .. . yˆ(t + d + N | t) = Gd+N u(t + N − 1) + F d+N y(t)
146
CONTROL PREDICTIVO GENERALIZADO
puede ser escrito en forma matricial como:
y = Gu + F(z 1 )y(t) + G (z 1 ) u(t − 1) −
−
(9.9)
Donde
y =
G =
1
−
G (z ) =
1
−
F(z ) =
yˆ(t + d + 1 | t) yˆ(t + d + 2 | t) .. . yˆ(t + d + N | t) g0 g1 .. . gN
... ... ...
0 g0 ... 1
−
gN
2
−
0 0 ...
... g0
u =
u(t) u(t + 1) .. . u(t + N − 1)
z (Gd+1 (z 1 ) − g0 ) z 2 (Gd+2 (z 1 ) − g0 − g1 z 1 ) .. . −
−
−
z N (Gd+N (z 1 ) − g0 − g1z −
F d+1 (z 1 ) F d+2 (z 1 ) .. . − −
F d+N (z 1 ) −
1
−
(N −1)
− · · · − gN 1 z
−
−
)
Al depender los u ´ ltimos t´erminos de la ecuaci´ on (9.9) s´ olo del pasado, pueden agruparse en f , dando lugar a: y = Gu + f (9.10) Obs´ervese que es la misma expresi´ on que se obtuvo para el dmc, aunque en este caso la respuesta libre es distinta.
9.2.1.2.
Obtenci´ on de la ley de control
Entonces la ecuaci´ on (9.5) puede escribirse como: J = (Gu + f − w)T (Gu + f − w) + λuT u
(9.11)
donde:
w =
w(t + d + 1) w(t + d + 2) · · · w(t + d + N )
T
(9.12)
CAP ´ITULO 9. CONTROLADORES PREDICTIVOS
147
La ecuaci´ on (9.11) se puede poner como: 1 J = uT Hu + bu + f 0 2
(9.13)
donde:
H = 2(GT G + λI) b = 2(f − w)T G f 0 = (f − w)T (f − w) El m´ınimo de J , siempre que no existan restricciones en la se˜ nal de control, puede ser calculado igualando a cero el gradiente de J , lo cual conduce a:
u = −H 1 bT −
(9.14)
Debido al uso de la estrategia deslizante, s´ olo se aplica realmente el primer elemento del vector u, repitiendo de nuevo el mismo procedimiento al siguiente instante de muestreo. La soluci´ on propuesta involucra la inversi´ on (o al menos la triangularizaci´ on) de una matriz de dimensi´ on N × N , lo cual conlleva una gran carga de c´ alculo. El concepto ya usado en otros m´etodos de horizonte de control se emplea con la finalidad de reducir la cantidad de c´ alculo, asumiendo que las se˜ nales de control permanecer´ an en un valor constante a partir del intervalo N u < N . Por tanto la dimensi´ on de la matriz que hay que invertir queda reducida a Nu × Nu, quedando la carga de c´ alculo reducida (en el caso l´ımite de Nu = 1, se reduce al caso escalar) aunque restringiendo la optimalidad.
9.2.2.
Ejemplo de c´ alculo
Se presenta a continuaci´ o n un ejemplo de c´ alculo de un Controlador Predictivo Generalizado en un caso sencillo. Se dise˜ nar´a el controlador para un sistema de primer orden. Al discretizar el proceso continuo se obtiene el siguiente equivalente discreto: (1 + az 1 )y(t) = (b0 + b1 z 1 )u(t − 1) + −
−
e(t)
Se va a considerar un retardo d igual a 0 y un polinomio de ruido C (z 1 ) igual a 1. −
Se usar´ a el algoritmo descrito previamente para obtener la ley de control, obteniendo resultados num´ ericos para valores de los pa´ ametros a = 0,8, b 0 = 0,4 y b 1 = 0,6, siendo
148
CONTROL PREDICTIVO GENERALIZADO
los horizontes N 1 = 1 y N = N u = 3. Como se ha mostrado, se calcular´ an los valores predichos de la salida del proceso en el horizonte haciendo uso de la ecuaci´ on (9.9), obteniendo la ley de control de la expresi´ on (9.14). Resolviendo la ecuaci´ on (9.6) se obtienen los polinomios del predictor E j (z 1 ), F j (z 1 ) desde j = 1 hasta j = 3, con −
−
˜ 1 ) = A(z 1 )(1 − z 1 ) = 1 − 1,8z A(z −
−
−
1
−
2
−
+ 0,8z
En este caso sencillo donde el horizonte no es demasiado largo, estos polinomios se ˜ 1 ). Como se ha explicado antes, pueden obtener directamente dividiendo 1 por A(z tambi´ en se pueden calcular recursivamente, comenzando con los valores obtenidos en el primer paso de la divisi´on, es decir: −
E 1 (z 1 ) = 1
F 1 (z 1 ) = 1,8 − 0,8z
−
−
1
−
Cualquiera que sea el m´etodo empleado, los valores obtenidos son: E 2 = 1 + 1,8z
1
E 3 = 1 + 1,8z
1
−
1
−
F 2 = 2,44 − 1,44z
−
2
+ 2,44z
−
1
−
F 3 = 2,952 − 1,952z
Con estos valores y el polinomio B(z 1 ) = 0,4 + 0,6z 1 , los elementos G i (z 1 ) resultan ser: −
1
−
G1 = 0,4+0,6z
−
G2 = 0,4+1,32z 1 +1,08z −
2
−
−
G3 = 0,4+1,32z 1 +2,056z 2 +1,464z −
−
y por tanto se pueden escribir las salidas predichas como:
yˆ(t + 1 | t) yˆ(t + 2 | t) yˆ(t + 3 | t)
u(t) u(t + 1) u(t + 2)
=
0,4 0 0 1,32 0,4 0 2,056 1,32 0,4
+
0,6 u(t − 1) + 1,8y(t) − 0,8y(t − 1) 1,08 u(t − 1) + 2,44y(t) − 1,44y(t − 1) 1,464 u(t − 1) + 2,952y(t) − 1,952y(t − 1)
El paso siguiente es el c´alculo de H (GT G + λI) 1 GT = −
+
f
1
−
b. Tomando λ igual a 0,8 se tiene que: 0,133 0,286 0,147 −0,154 −0,165 0,286 −0,029 −0,154 0,1334
3
−
CAP ´ITULO 9. CONTROLADORES PREDICTIVOS
149
Como s´olo se necesita el valor de u(t) para los c´ alculos, s´olo se emplea realmente la primera fila de la matriz, con lo que resulta la siguiente expresi´ on para la ley de control:
u(t) = −0,6042 u(t − 1) − 1,371y(t) + 0,805y(t − 1) + + 0,133w(t + 1) + 0,286w(t + 2) + 0,147w(t + 3) donde w(t + i) es la trayectoria de referencia que se puede considerar bien constante e igual a la referencia actual o bien una suave aproximaci´ on de primer orden a ´esta. Entonces la se˜ n al de control resulta ser una funci´ o n de la referencia deseada y de entradas y salidas pasadas, dada por:
u(t) = 0,3958u(t − 1) + 0,6042u(t − 2) − 1,371y(t) + 0,805y(t − 1) + + 0,133w(t + 1) + 0,286w(t + 2) + 0,147w(t + 3)
Al mismo resultado se puede llegar sin emplear la ecuaci´ on diof´antica, calculando G en base a los coeficientes de la respuesta ante escal´ on (que se pueden calcular en funci´o n de los coeficientes de la funci´on de transferencia) y calculando la respuesta libre haciendo evolucionar hacia delante el modelo mientras la entrada se mantiene constante.
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 c´ alculos son m´ as complejos. En este caso el modelo carima para un sistema de m entradas y n salidas se puede expresar como: 1 A(z 1)y(t) = B (z 1 )u(t − 1) + C(z 1 )e(t) (9.15) −
−
−
donde A(z 1 ) y C(z 1 ) son matrices polinomiales m´ onicas de dimensi´ on n × n y B(z 1 ) es una matriz polinomial de dimensi´on n × m, definidos como: −
−
−
A(z 1 ) = I n n + A1 z 1 + A2 z 2 + · · · + Ana z −
−
−
na
−
×
B(z 1 ) = B0 + B1 z 1 + B2 z 2 + · · · + Bnb z −
−
−
nb
−
C(z 1 ) = I n n + C 1 z 1 + C 2 z 2 + · · · + C nc z −
−
×
−
nc
−
150
CONTROL PREDICTIVO GENERALIZADO
Las variablesy(t), u(t) y e(t) son de dimensi´on n × 1, m × 1 y n × 1 respectivamente. La predicci´ on conlleva la resoluci´ on de una ecuaci´ on diofantica matricial, que tambi´en puede calcularse de forma recursiva. En muchas ocasiones el problema radica en la obtenci´ on adecuada del modelo en esta forma a partir de una matriz de transferencia en continuo que puede haberse obtenido a partir de la curva de reacci´ on. Una vez obtenido el modelo, el criterio a minimizar tendr´ a la forma general N 2
J (N 1 , N 2 , N 3 ) =
j =N 1
N 3
2
yˆ(t + j | t) − w(t + j)R +
u(t + j − 1)2Q
j =1
donde R y Q son matrices de ponderaci´ on definidas positivas que normalmente se eligen diagonales. La minimizaci´on se realiza igual que en el caso monovariable dando como resultado un vector de se˜ nales de control a enviar a la planta en el instante actual: u1 (t), u2 (t) . . . um (t).
Cap´ıtulo 10 Otros aspectos del Control Predictivo 10.1.
Restricciones en Control Predictivo
En la pr´ actica todos los procesos est´ an sujetos a restricciones. Los actuadores tienen un campo limitado de acci´ on impuesto por l´ımites f´ısicos (por ejemplo una v´ alvula no puede abrir m´ a s de un 100 % o un calentador no puede aportar m´ as de su potencia m´axima. Tambi´ en existen l´ımites de seguridad (por ejemplo presiones o temperaturas m´aximas), requerimientos tecnol´ ogicos (por ejemplo mantener temperaturas en un rango dado), limitaciones de calidad del producto (no salirse de cierta zona) o normativa medioambiental.
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 violaci´ on trabajando alejados de los l´ımites (en zona segura), operando lejos de la restricci´ on. Por seguridad se trabaja con una consigna inferior, m´as lejos del punto de operaci´ on o´ptimo, lo que normalmente equivale a una disminuci´ on de la calidad y/o cantidad en la producci´ on, ya que normalmente el punto ´optimo se encuentra en la intersecci´ on de las restricciones obligando a acercarse lo m´ as 151
152
RESTRICCIONES EN CONTROL PREDICTIVO
P Pmax P1 P2
t
Q1
Q2
Q
Figura 10.1: Restricciones y punto de operaci´on o´ptimo
posible a las ´estas pero sin superarlas. Si el controlador fuera capaz de tener en cuenta las restricciones y evitar su violaci´ on, el proceso podr´ıa operar m´ as cerca de ´estas y por tanto de forma m´ as eficiente. La figura 10.1 muestra un ejemplo donde existe una limitaci´ on de presi´ on m´axima y se observa c´omo al alejar el punto de operaci´ on del l´ımite la producci´ on Q disminuye. En cuanto a la forma de operar de un controlador predictivo que no considera restricciones el procedimiento es similar: si la se˜ nal de control calculada viola la restricci´ on, se satura. Las se˜ nales futuras ni siquiera se tienen en cuenta, ya que normalmente no se calculan. Esta forma de proceder no garantiza el car´ acter o´ptimo de la soluci´on y en ning´ un caso garantiza el cumplimiento de las restricciones en la salida. La violaci´on de los l´ımites de las variables controladas puede ser m´ as costoso y peligroso, produciendo da˜nos en equipos y p´erdidas en la producci´ on. La figura 10.2 muestra con claridad el fen´ omeno de p´erdida de la soluci´ on o´ptima cuando las variables manipuladas se mantienen en sus l´ımites por el programa de control o por el propio actuador. Este hecho puede llevar a valores mayores de la funci´on objetivo y a un comportamiento no deseado (incluso inestabiliad). En 10.2a se muestra un caso con horizonte de control igual a 2, donde se observa que si se satura la se˜ nal de control u(t) a umax el valor de la funci´ o n de coste no es el mejor que se podr´ıa conseguir (que ser´ıa el correspondiente a uc ). Incluso puede que no se viole la restricci´on en el instante actual pero s´ı en el futuro (figura 10.2b) con lo que la se˜ nal enviada al sistema (sin saturar) no es la mejor para el problema de dimensi´ on 2 que se est´a optimizando.
CAP ´ITULO 10. OTROS ASPECTOS DEL CONTROL PREDICTIVO
u(t+1)
u(t+1)
u max
u max
uc
u u max
uc
153
u u max
u(t)
a)
u(t)
b)
Figura 10.2: Restricciones en la se˜nal de control
10.1.2.
Restricciones en Control Predictivo
En la actualidad el mpc es la u ´ nica metodolog´ıa capaz de incorporar las restricciones de forma sistem´ atica en la fase de dise˜ no del controlador, siendo esta caracter´ıstica una de las razones de su gran ´exito en la industria. Parece l´ ogico que al disponer de un modelo din´ amico del proceso se pueda conocer la evoluci´ on futura de su salida y por tanto se pueda saber si ´esta va a violar o no las restricciones y actuar en consecuencia. Para formular el algoritmo mpc con restricciones hay que expresar ´estas en funci´ on de la variable sobre la que se puede actuar, es decir, en funci´on de u. Las restricciones en la entrada est´ an ya expresadas en funci´ on de u y para las restricciones en la salida se hace uso de las ecuaciones de predicci´ on que expresan el valor futuro de las salidas en funci´ on de las se˜ nales de control futuras y valores conocidos en el instante t. Cualquier controlador predictivo calcula la predicci´ on como:
y = Gu + f por lo que tanto entradas como salidas se pueden expresar en funci´ on del vector de incrementos de la se˜ nal de control. Las restricciones que aparecen ser´ a n b´asicamente amplitud y velocidad de cambio en la se˜ nal de control y amplitud en la salida y se pueden expresar como:
154
RESTRICCIONES EN CONTROL PREDICTIVO
≤ U ∀t U ≤ u(t) u ≤ u(t) − u(t − 1) ≤ u ∀t y ≤ y(t) ≤ y ∀t
Para un proceso de m entradas y n salidas y restricciones en el horizonte N , las restricciones se pueden expresar como:
1 U ≤ T u + u(t − 1) 1 ≤ 1 U ≤ 1u 1u ≤ u 1y ≤ Gu + f ≤ 1y donde l es una matriz de dimensi´ on (N × n) × m formada por N m × m matrices identidad y T es una matriz triangular inferior por bloques cuyos elementos no nulos son matrices identidad de dimensi´ on m × m. En forma condensada se pueden expresar como: (10.1) Ru≤c siendo
R =
I N N −I N N T −T G −G ×
×
c =
lu −l u l U − lu(t − 1) −l U + lu(t − 1) l y − f −l y + f
Aparte de las restricciones en amplitud, a la salida se le pueden aplicar otro tipo de restricciones de para forzar un determinado comportamiento temporal (movimiento dentro de una banda, comportamiento mon´ otono, evitar respuesta inicial inversa, etc.), pudiendo expresarlas tambi´en de la forma gen´erica (10.1). Adem´as de la clasificaci´ o n en restricciones en la entrada y en la salida seg´ un a qu´e tipo de variable se apliquen, se puede hacer otra clasificaci´ on atendiendo a la forma de tratarlas. As´ı, se puede hablar de: Restricciones duras como aqu´ellas que no se pueden violar bajo ning´ un concepto. En este grupo se incluyen las restricciones relacionadas con la operaci´ on segura del proceso.
CAP ´ITULO 10. OTROS OTROS ASPECTOS ASPECTOS DEL CONTROL CONTROL PREDICTIV PREDICTIVO O
155
Restricciones blandas Restricciones blandas , que son aqu´ aqu´ellas ellas que pueden ser violadas violadas en un momento momento dado por no ser cruciales, pero la violaci´ o n se penaliza en la funci´ on on on objetivo como com o un t´ermino erm ino m´ as. Es una forma de relajar la restricci´ as. on. on.
10.1. 10 .1.3. 3.
Reso Resolu luci ci´ on o ´n del problema
Con la adici´on on de restricciones el problema general de control predictivo cambia se puede formular como minimizar J minimizar J ((u) sujeto a Ru ≤ c Es decir, el problema consiste en la minimizaci´ on o n de una funci´ on on cuadr´ atica atica con restricciones lineales, lo que se conoce como Programaci´ como Programaci´ on Cuadr´ atica , qp. En este caso no se puede encontrar una soluci´ on on anal´ anal´ıtica como en el caso sin restricciones, restricciones, sino que hay que recurrir a m´etodos etodos iterativos. Resulta evidente que la carga de c´ alculo alculo ser´a considerable, ya que hay que encontrar la soluci´on on resolviendo el algoritmo iterativo en cada periodo de muestreo. Normalmente el esfuerzo est´ a justificado por el beneficio econ´ omico omico obtenido obtenido al trabajar m´ as as cerca del punto de operaci´ on on optimo. o´ptimo. Para resolver el problema qp existen diversos algoritmos suficientemente probados. Un problema asociado a la implementaci´ on del control con restricciones on restricciones es el an´ alisis de la estabilidad del bucle cerrado. Como es necesario utilizar m´etodos etodos num´ ericos ericos para resolver el problema de la optimizaci´ on, la ley de control resultante no se puede describir on, de forma expl´ expl´ıcita, haciendo hacie ndo el problema probl ema muy dif d if´´ıcil de atacar ataca r mediante la teor´ıa ıa cl´ asica de control. En los ultimos u ´ ltimos a˜ nos se ha trabajado mucho sobre la estabilidad en estas circunnos stancias, proponi´endose endose soluciones basadas en la teor´ teor´ıa de Lyapunov. La idea b´ asica consiste en que la funci´on on de coste cuando el horizonte es infinito es mon´ otona otona decreciente (si existe soluci´ on factible) y se puede interpretar como funci´ on on on de Lyapunov que garantiza por tanto la estabilidad. Sin embargo, como la soluci´ on o n tiene que ser num´erica, eri ca, el n´umero umero de variables de decisi´ o n tiene que ser finito, por lo que se han on propuesto dos ideas. En la primera, se descompone la funci´ on objetivo en dos partes: on 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.
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 10 .1.4 .4..
Gest Gesti´ i´ on on de restricciones
Durante la etapa de optimizaci´ on puede aparecer problemas de no existencia de on soluci´on on optima o´ptima para unas restricciones dadas (no existe compatibilidad entre las restricciones), por ejemplo por el planteamiento de unos objetivos inalcanzables para unas restricciones dadas. Existen otras posibles causas de inexistencia de soluci´ on, como es el caso de que una perturbaci´ o n saque al proceso fuera de la zona de trabajo on usual. La factibilidad de un problema de optimizaci´ on significa que la funci´ on on on objetivo est´e acotada aco tada y que todas las restricciones re stricciones sean satisfechas. La no factibilidad factibilidad puede aparecer en r´egimen egimen permanente o en el transitorio. transitorio. El problema de la falta de soluci´on on en r´egimen egimen permanente permanente puede venir venir provocado provocado por un objetivo de control irrealizable. Sin embargo, este tipo de no factibilidad puede ser f´acilmente acilmente eliminado en la etapa de dise˜ no no evitando la inclusi´on on de tales objetivos. Tambi´ ambi´en en puede ser debido a cambios cambios en referencias referencias que hagan incompatibles incompatibles las restricciones (se quiera llevar alguna variable a un punto que es imposible de alcanzar con una entrada que est´ a acotada). En el r´egimen egimen transitorio tran sitorio puede aparecer no n o factibilidad incluso cuando las restricciones impuestas parezcan razonables. Restricciones que no causan problemas en operaci´on on normal pueden producir problemas bajo ciertas circunstancias. Puede que una perturbaci´ on on o cambio de referencia r eferencia grande fuerce fue rce a una variable fuera de su l´ımite y sea imposible introducirla de nuevo en su zona permitida con se˜ nales de control de energ´ıa ı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 o´ptimo se encuentre cerca de d e las restricciones y el sistema est´e sujeto a perturbaciones, p erturbaciones, llevando llevando a la salida a regiones prohibidas”.
CAP ´ITULO 10. OTROS OTROS ASPECTOS ASPECTOS DEL CONTROL CONTROL PREDICTIV PREDICTIVO O
157
Límites físicos
Restricciones Restricciones reales Límites de operación
Figura 10.3: Gesti´on on de restricciones
10.1.4.1.
T´ ecnicas ecnicas de b´ usqueda de soluciones factibles usqueda
Los m´etodos eto dos de gest g esti´ i´ on on de restricciones restricciones tratan de recuperar la factibilidad factibilidad actuando sobre las restricciones seg´ un un diferentes criterios. Los l´ l´ımites de las restricciones restriccion es se pueden considerar co nsiderar de los siguientes tipos: Limites fisicos: nunca se pueden sobrepasar, principalmente por motivos de seguridad o por la propia construcci´ on de los equipos (p.ej. actuadores) on Limites de operaci´ on: son fijados por los operarios para mantener las condiciones on: 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 sup eren los limites limite s f´ısicos. ısicos . Es decir, el gestor de restricciones calcular´ a los l´ımites reales reale s (los que se env´ env´ıan al algoritmo qp) en base a los l´ımites de operaci´ on pero sin salirse nunca de los l´ımites f´ısic ıs icos os,, seg´ se g´un un se observa en la figura 10.3. Se analizan a continuaci´ on posibles soluciones para este problema, que se pueden on agrupar en: 1. Desco Desconex nexi´ i´ on on del controlador.
158
RESTRICCIONES EN CONTROL PREDICTIVO
2. Eliminaci´on de restricciones. 3. Relajaci´ on de restricciones. 4. Otras t´ecnicas.
1. Desconexi´ on del controlador La forma m´ as sencilla de resolver de este tipo de problemas es pasar el controlador a posici´on manual cuando aparecen las incompatibilidades de restricciones y volver a operaci´ on autom´ atica cuando se recupera la admisibilidad de la soluci´on. Este m´etodo, como se puede comprender tiene serias desventajas. Normalmente, cuando aparecen problemas de incompatibilidad de restricciones es porque el sistema en bucle cerrado se encuentra en un estado cr´ıtico donde normalmente el operador tendr´a muy poca experiencia en la operaci´ on. Adicionalmente, si las restricciones est´ an relacionadas con aspectos de seguridad o econ´ omicos, las decisiones llevadas a cabo cuando aparecen problem´ aticas de compatibilidad de restricciones suelen ser cr´ıticas dado que en estos casos alguno de los objetivos del control no puede ser satisfecho. El m´etodo suele ser utilizado cuando los problemas de incompatibilidad de restricciones no son frecuentes.
2. Eliminaci´ on de restricciones La factibilidad se analiza en cada periodo de muestreo, por lo que la eliminaci´ on de restricciones se realiza de forma temporal. Peri´ odicamente se chequea la factibilidad para poder reinsertar restricciones eliminadas. La eliminaci´on de un grupo de restricciones ha de realizarse en aquellos casos en que el conjunto completo de restricciones que se imponen sobre el sistema sea incompatible. Cada vez que existe un problema de incompatibilidad de restricciones, se forma un conjunto de restricciones no admisibles que no se tienen en cuenta en el proceso de optimizaci´on. Se pueden distinguir en la metodolog´ıa de eliminaci´ on de restricciones varios tipos.
Eliminaci´ on indiscriminada Con esta estrategia todas las restricciones se eliminan cada vez que aparezcan problemas de existencia de soluci´ on factible, quedando la optimizaci´ on de un problema sin restricciones. No es un m´ etodo muy optimo ´ para
CAP ´ITULO 10. OTROS ASPECTOS DEL CONTROL PREDICTIVO
159
resolver el problema de la existencia de soluci´ on admisible, pero es la forma m´ as r´apida de tener en cuenta incompatibilidad de restricciones. La eliminaci´on indiscriminada de restricciones no es adecuada en todas las aplicaciones. No debe ser por ejemplo usada en casos en que las restricciones est´en directamente relacionadas con l´ımites de seguridad.
Eliminaci´ on jer´ arquica En este caso s´ olo se eliminan las restricciones que provocan problemas de incompatibilidad. En este m´etodo se asigna en la etapa de dise˜ no una prioridad a cada restricci´ on, que da un grado de importancia relativa de dicha restricci´on frente a las otras. Esta prioridad se usar´ a para clasificar las restricciones de una forma jer´ arquica (se asigna un n´ umero que indica su posici´ on en la jerarqu´ıa). De este modo, cada vez que haya problemas de factibilidad o existencia de soluci´ on el gestor de restricciones va eliminando por orden las restricciones menos prioritarias hasta que se restablece la factibilidad de la soluci´on, que se chequea cada periodo de muestreo para reinsertar restricciones que hubieran sido temporalmente eliminadas. En este sentido, a la hora de eliminar restricciones se pueden establecer diferentes tipos de reglas para establecer el n´ umero de restricciones que se eliminan, si conviene eliminar m´as restricciones a costa de no eliminar una con prioridad superior, etc.
3. Relajaci´ on de restricciones Otro m´etodo para tener en cuenta el problema de existencia de soluci´ on es la relajaci´ on de las restricciones. Se puede hacer una relajaci´ on de los l´ımites de forma temporal o convertir restricciones duras ( Ru ≤ c), cambi´andolas en restricciones blandas (Ru ≤ c + , con ≥ 0) para asegurar la existencia de soluci´ o n, a˜ nadiendo un t´ermino T T a la funci´o n de coste de forma que se penalice la violaci´o n de la restricci´on y obtener un mejor comportamiento del sistema controlado. A largo plazo, el t´ermino de penalizaci´ on en la funci´ on objetivo llevar´ a las variables auxiliares a cero.
4. Otras t´ ecnicas Existen t´ecnicas que se basan en la manipulaci´ on del horizonte m´ınimo de las restricciones. Algunos controladores industriales como el qdmc usan el concepto de constraint window . La constraint window comienza en alg´ un punto en el futuro y contin´ ua hasta el estado estacionario. Si existe din´ amica del tipo de fase no m´ınima, se pueden mejorar las prestaciones desplazando la ventana hacia el futuro, lo que equivale a ignorar las restricciones duras en la salida durante la fase inicial de la respuesta.