Upload
alejandrito-biain
View
126
Download
3
Embed Size (px)
Citation preview
Depto. de Ingeniera de Sistemas y Automatica
APUNTES DE INGENIERIA DE CONTROL
ANALISIS Y CONTROL DE SISTEMAS EN ESPACIO DE ESTADO
IDENTIFICACION DE SISTEMAS
CONTROL ADAPTATIVO
CONTROL PREDICTIVO
Daniel Rodrguez Ramrez
Carlos Bordons Alba
Rev. 5/05/2005
Indice general
Lista de figuras IX
1. Control de sistemas discretos en el espacio de estados 1
1.1. Representacion de sistemas discretos en el espacio de estados . . . . . . 1
1.2. Obtencion de la representacion de en espacio de estados de sistemas
discretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1. Metodo de programacion directa . . . . . . . . . . . . . . . . . . 3
1.2.2. Metodo de programacion anidada . . . . . . . . . . . . . . . . . 5
1.3. La representacion en espacio de estados de un sistema no es unica . . . 6
1.4. Resolucion de las ecuaciones del espacio de estados . . . . . . . . . . . 7
1.4.1. Procedimiento recursivo . . . . . . . . . . . . . . . . . . . . . . 7
1.4.2. Matriz de transicion de estados . . . . . . . . . . . . . . . . . . 8
1.4.3. Metodo basado en la transformada Z . . . . . . . . . . . . . . . 9
1.4.3.1. Procedimiento alternativo para calcular (zI G)1 . . 10
1.5. Discretizacion de las ecuaciones de estado continuas . . . . . . . . . . . 12
1.6. Controlabilidad y Observabilidad . . . . . . . . . . . . . . . . . . . . . 15
i
ii INDICE GENERAL
1.6.1. Controlabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6.2. Controlabilidad de la salida completa . . . . . . . . . . . . . . . 17
1.6.3. Observabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.6.4. Principio de Dualidad . . . . . . . . . . . . . . . . . . . . . . . 19
1.7. Transformacion de un sistema en formas canonicas . . . . . . . . . . . 19
1.7.1. Obtencion de la forma canonica controlable . . . . . . . . . . . 20
1.7.2. Obtencion de la forma canonica observable . . . . . . . . . . . . 20
1.8. Colocacion de polos mediante realimentacion del vector de estados . . . 21
1.8.1. Condicion necesaria y suficiente para la colocacion arbitraria de
polos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.8.2. Procedimientos para calcular K . . . . . . . . . . . . . . . . . . 22
1.8.2.1. Procedimiento alternativo: la formula de Ackermann . 24
1.8.3. Control Dead-Beat . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.9. Observadores del estado . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.9.1. Procedimiento iterativo para la estimacion del estado . . . . . . 28
1.9.2. Observador del estado completo . . . . . . . . . . . . . . . . . . 30
1.9.2.1. Calculo de Ke . . . . . . . . . . . . . . . . . . . . . . . 32
1.9.2.2. Comentarios acerca del papel de Ke . . . . . . . . . . 34
1.9.2.3. Efectos de la adicion del observador . . . . . . . . . . . 35
1.9.3. Observador de orden mnimo . . . . . . . . . . . . . . . . . . . . 36
1.10. Control optimo LQR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
INDICE GENERAL iii
1.10.1. Solucion de la ecuacion de Riccatti . . . . . . . . . . . . . . . . 43
1.11. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2. Modelos de procesos y perturbaciones 45
2.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.2. Perturbaciones deterministas a trozos . . . . . . . . . . . . . . . . . . . 46
2.3. Procesos estocasticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.4. Modelos de procesos con ruidos . . . . . . . . . . . . . . . . . . . . . . 48
3. Introduccion a la identificacion de sistemas 51
3.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.2. Ideas basicas sobre identificacion de sistemas . . . . . . . . . . . . . . . 52
3.2.1. Planificacion de los experimentos . . . . . . . . . . . . . . . . . 52
3.2.2. Seleccion del tipo de modelo . . . . . . . . . . . . . . . . . . . . 53
3.2.3. Eleccion de un criterio . . . . . . . . . . . . . . . . . . . . . . . 54
3.2.4. Estimacion de los parametros . . . . . . . . . . . . . . . . . . . 54
3.2.4.1. Identificacion en lnea . . . . . . . . . . . . . . . . . . 54
3.2.4.2. Identificacion fuera de lnea . . . . . . . . . . . . . . . 55
3.2.5. Validacion del modelo . . . . . . . . . . . . . . . . . . . . . . . 55
3.2.6. Resumen del proceso de identificacion . . . . . . . . . . . . . . . 57
3.3. Algunas propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
iv INDICE GENERAL
3.3.1. Excitacion persistente . . . . . . . . . . . . . . . . . . . . . . . 58
3.3.2. Convergencia e identificabilidad . . . . . . . . . . . . . . . . . . 59
3.3.2.1. Identificacion en bucle cerrado . . . . . . . . . . . . . . 60
3.3.3. Niveles de supervision y acondicionamiento . . . . . . . . . . . . 62
4. Identificacion por mnimos cuadrados 63
4.1. El metodo de los mnimos cuadrados . . . . . . . . . . . . . . . . . . . 63
4.2. Algoritmo recursivo para identificacion en linea . . . . . . . . . . . . . 65
4.3. Interpretacion estadstica . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.4. Mnimos cuadrados ponderados . . . . . . . . . . . . . . . . . . . . . . 70
4.5. Mnimos cuadrados extendidos y generalizados . . . . . . . . . . . . . . 71
4.6. Estimacion de los valores de continua . . . . . . . . . . . . . . . . . . . 72
4.6.1. Utilizacion de los incrementos de las variables . . . . . . . . . . 73
4.6.2. Calculo de los valores medios . . . . . . . . . . . . . . . . . . . 73
4.6.3. Estimacion de una constante . . . . . . . . . . . . . . . . . . . . 73
4.7. Importancia del orden del modelo . . . . . . . . . . . . . . . . . . . . . 74
4.8. Identificacion de sistemas con retardo o no lineales . . . . . . . . . . . . 77
4.9. Consideraciones finales . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5. Introduccion al control adaptativo 81
5.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . 81
INDICE GENERAL v
5.1.1. Clasificacion grosso modo de los sistemas de control adaptativo . 82
5.2. Justificacion del uso de control adaptativo . . . . . . . . . . . . . . . . 84
5.3. Control adaptativo por modelo de referencia (MRAC) . . . . . . . . . . 87
5.3.1. La regla del MIT . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6. Reguladores Autoajustables (STR) 93
6.1. Introduccion. Estructura general de los STR . . . . . . . . . . . . . . . 93
6.1.1. Algoritmos con estructura implcita y explcita . . . . . . . . . . 95
6.2. Control por Mnima Varianza . . . . . . . . . . . . . . . . . . . . . . . 96
6.2.1. El regulador de mnima varianza generalizado . . . . . . . . . . 99
6.3. Asignacion de polos y ceros . . . . . . . . . . . . . . . . . . . . . . . . 100
6.3.1. Algoritmo con estructura implcita. . . . . . . . . . . . . . . . . 103
6.3.2. Algoritmo con estructura explcita . . . . . . . . . . . . . . . . . 104
7. Controladores PID con autoajuste y Ajuste por tabla 105
7.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
7.2. Funcion de autoajuste (autotuning) . . . . . . . . . . . . . . . . . . . . 105
7.3. Funciones de autoajuste para PIDs . . . . . . . . . . . . . . . . . . . . 107
7.3.1. Tecnicas de ajuste basadas en la respuesta transitoria . . . . . . 108
7.3.2. Metodos basados en las oscilaciones producidas al realimentar
con un rele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
7.4. La tecnica de ajuste por tabla o gain scheduling . . . . . . . . . . . . . 110
vi INDICE GENERAL
7.5. Controladores adaptativos industriales . . . . . . . . . . . . . . . . . . 113
7.5.1. SattControl ECA40 y Fisher-Rosemount DPR900 . . . . . . . . 115
7.5.2. Foxboro EXACT . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.5.3. ABB Novatune . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
8. Control Predictivo Basado en Modelo (MPC) 117
8.1. Perspectiva historica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8.2. Conceptos basicos de control predictivo . . . . . . . . . . . . . . . . . . 118
8.3. Estrategia de los controladores predictivos . . . . . . . . . . . . . . . . 119
8.4. Elementos basicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.4.1. Modelo de prediccion . . . . . . . . . . . . . . . . . . . . . . . . 122
8.4.1.1. Respuestas libre y forzada . . . . . . . . . . . . . . . . 125
8.4.2. Funcion objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.4.3. Obtencion de la ley de control . . . . . . . . . . . . . . . . . . . 129
8.5. Revision de los principales algoritmos . . . . . . . . . . . . . . . . . . . 130
8.5.0.1. Dynamic Matrix Control . . . . . . . . . . . . . . . . . 130
8.5.0.2. Model Algorithmic Control . . . . . . . . . . . . . . . 131
8.5.0.3. Predictive Functional Control . . . . . . . . . . . . . . 131
8.5.0.4. Extended Prediction Self Adaptive Control . . . . . . 132
8.5.0.5. Extended Horizon Adaptive Control . . . . . . . . . . 133
8.5.0.6. Generalized Predictive Control . . . . . . . . . . . . . 134
INDICE GENERAL vii
9. Controladores predictivos 135
9.1. Dynamic Matrix Control . . . . . . . . . . . . . . . . . . . . . . . . . . 135
9.1.1. Prediccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
9.1.2. Perturbaciones medibles . . . . . . . . . . . . . . . . . . . . . . 137
9.1.3. Algoritmo de control . . . . . . . . . . . . . . . . . . . . . . . . 138
9.1.3.1. El caso con restricciones . . . . . . . . . . . . . . . . . 140
9.1.3.2. Extension al caso multivariable . . . . . . . . . . . . . 141
9.2. Control Predictivo Generalizado . . . . . . . . . . . . . . . . . . . . . . 141
9.2.1. Formulacion del Control Predictivo Generalizado . . . . . . . . 142
9.2.1.1. Prediccion optima . . . . . . . . . . . . . . . . . . . . 143
9.2.1.2. Obtencion de la ley de control . . . . . . . . . . . . . . 146
9.2.2. Ejemplo de calculo . . . . . . . . . . . . . . . . . . . . . . . . . 147
9.2.3. Caso multivariable . . . . . . . . . . . . . . . . . . . . . . . . . 149
10.Otros aspectos del Control Predictivo 151
10.1. Restricciones en Control Predictivo . . . . . . . . . . . . . . . . . . . . 151
10.1.1. Tratamiento convencional de restricciones . . . . . . . . . . . . 151
10.1.2. Restricciones en Control Predictivo . . . . . . . . . . . . . . . . 153
10.1.3. Resolucion del problema . . . . . . . . . . . . . . . . . . . . . . 155
10.1.4. Gestion de restricciones . . . . . . . . . . . . . . . . . . . . . . 156
10.1.4.1. Tecnicas de busqueda de soluciones factibles . . . . . . 157
viii INDICE GENERAL
Indice de figuras
1.1. Diagrama de bloques de la representacion en espacio de estados de un
sistema LTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Diagrama de bloques de un sistema controlado por una realimentacion
del vector de estados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.3. Diagrama de bloques de un sistema LTI controlado mediante una reali-
mentacion del vector de estados que estima el estado con un observador. 31
1.4. Diagrama de bloques de un observador de orden completo. . . . . . . . 31
2.1. Procesos estocasticos: realizaciones y variables aleatorias. . . . . . . . 47
2.2. Modelo de Box-Jenkins. . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.1. Esquema de la identificacion en lnea. . . . . . . . . . . . . . . . . . . 55
3.2. Diagrama de flujo del proceso de identificacion. . . . . . . . . . . . . . 57
3.3. Ejemplo de senal de entrada del tipo PRBSS. . . . . . . . . . . . . . . 59
4.1. Diagrama de flujo del proceso de identificacion mediante mnimos cuadra-
dos recursivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2. Diagrama de Bode de un sistema de segundo orden (linea continua) y
de un modelo de primer orden estimado para una entrada senoidal de
frecuencia = 0,2 rad s1. . . . . . . . . . . . . . . . . . . . . . . . 75
ix
x INDICE DE FIGURAS
4.3. Misma situacion que en la figura 4.2 pero con una senal de entrada
senoidal de frecuencia = 1 rad s1. . . . . . . . . . . . . . . . . . . 75
4.4. Evolucion de los parametros identificados en un caso de sobreparametrizacion.
76
4.5. Evolucion de unos parametros frente a otros para el modelo sobreparametriza-
do. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.1. Configuracion generica de un controlador adaptativo. . . . . . . . . . . 82
5.2. Sistema realimentado con actuador con caracterstica v = f(u). . . . . 84
5.3. Sistema realimentado con actuador con caracterstica v = f(u). . . . . 85
5.4. Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema
dado en (5.1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.5. Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema
dado en (5.2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.6. Configuracion generica de un controlador adaptativo por modelo de re-
ferencia (MRAC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.1. Configuracion generica de un regulador o controlador autoajustable. . 94
6.2. Configuracion generica de un regulador o controlador autoajustable. . 95
6.3. Division de polinomios para el ejemplo 6.2. . . . . . . . . . . . . . . . 99
6.4. Estructura para la asignacion de polos y ceros. . . . . . . . . . . . . . 101
7.1. PID industrial moderno con funcion de autoajuste (ABB modelo ECA). 107
7.2. Determinacion de T y L por areas. . . . . . . . . . . . . . . . . . . . . 109
7.3. Estructura usada en el metodo basado en oscilaciones de rele. . . . . . 110
INDICE DE FIGURAS xi
7.4. Configuracion generica de un controlador adaptativo con adaptacion en
bucle abierto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.5. Curva de pH para una solucion de HCl 0.001 M y NaOH 0.001 M. . . 112
7.6. Caracterstica aproximada de una sonda lambda . . . . . . . . . . . . 113
7.7. La herramienta Novatune se comercializa actualmente con el sistema
Advant 410 de ABB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
8.1. Estrategia del Control Predictivo . . . . . . . . . . . . . . . . . . . . . 120
8.2. Estructura basica del MPC . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.3. Respuesta impulsional y ante escalon . . . . . . . . . . . . . . . . . . . 123
8.4. Respuestas libre y forzada . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.5. Trayectoria de referencia . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.6. Puntos de coincidencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
9.1. Ley de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
9.2. Punto de operacion optimo de un proceso tpico . . . . . . . . . . . . . 140
10.1. Restricciones y punto de operacion optimo . . . . . . . . . . . . . . . . 152
10.2. Restricciones en la senal de control . . . . . . . . . . . . . . . . . . . . 153
10.3. Gestion de restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
xii INDICE DE FIGURAS
Captulo 1
Control de sistemas discretos en el
espacio de estados
1.1. Representacion de sistemas discretos en el es-
pacio de estados
El metodo de espacio de estados esta basado en la descripcion del sistema mediante
n ecuaciones en diferencias, que se agrupan en una ecuacion vectorial matricial en
diferencias.
Definicion 1.1 Concepto de estado: El estado de un sistema dinamico es el con-
junto mas pequeno de variables (llamadas variables de estado) tal que, el conocimiento
de esas variables en un determinado instante t0 junto con el conocimiento de los valores
de la senal de entrada para los instantes t t0, permite determinar el comportamiento
y evolucion del sistema para cualquier instante de tiempo t t0.
Las variables de estado se agrupan en el llamado vector de estado y el espacio n-
dimensional que determinan los posibles valores de esas variables, se denomina espacio
de estados .
La dinamica de un sistema se puede describir en funcion del valor del vector de
estados y de la senal de entrada (asumiendo que el sistema es no autonomo mediante
1
2OBTENCION DE LA REPRESENTACION DE EN ESPACIO DE ESTADOS DE SISTEMAS DISCRETOS
unas ecuaciones que tendran la forma:
x(k + 1) = f(x(k), u(k), k)
y(k) = g(x(k), u(k), k)
donde la notacion (k) indica el valor tomado por en el instante de tiempo tk y f y g
pueden ser cualquier tipo de funcion. No obstante en esta asignatura nos centraremos
en los Sistemas Lineales e Invariantes en el tiempo (LTI). Este tipo de sistemas son
descritos mediante las siguientes ecuaciones:
x(k + 1) = Gx(k) + Hu(k) (1.1)
y(k) = Cx(k) + Du(k)
que corresponderan al diagrama de bloques:
x(k+1) ++
D
Hu(k) z-1 C
G
+
+
x(k)
Figura 1.1: Diagrama de bloques de la representacion en espacio de estados de un sistema LTI.
1.2. Obtencion de la representacion de en espacio
de estados de sistemas discretos
Partiremos de un sistema discreto descrito por:
y(k)+a1y(k1)+a2y(k2)+ +any(kn) = b0u(k)+b1u(k1)+ +bnu(kn) (1.2)
Es bien conocido de anteriores temas de la asignatura que este sistema puede ser
descrito por la siguiente funcion de transferencia:
G(z) =Y (z)
U(z)=
b0 + b1z1 + b2z
2 + + bnzn
1 + a1z1 + a2z2 + + anzn(1.3)
A continuacion se expondran dos de los metodos disponibles para obtener la repre-
sentacion en espacio de estados del sistema descrito por (1.3).
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 3
1.2.1. Metodo de programacion directa
Parte de la premisa que la funcion de transferencia (1.3) puede reescribirse como:
G(z) = b0 +(b1 a1b0)z
1 + (b2 a2b0)z2 + + (bn anb0)z
n
1 + a1z1 + a2z2 + + anzn(1.4)
teniendo en cuenta que G(z) = Y (z)U(z)
se obtiene:
Y (z) = b0U(z) +(b1 a1b0)z
1 + (b2 a2b0)z2 + + (bn anb0)z
n
1 + a1z1 + a2z2 + + anznU(z) (1.5)
que a su vez se puede expresar como:
Y (z) = b0U(z) + Y (z)U(z) (1.6)
con:
Y (z) =(b1 a1b0)z
1 + (b2 a2b0)z2 + + (bn anb0)z
n
1 + a1z1 + a2z2 + + anzn(1.7)
Por otra parte, teniendo en cuenta la expresion de Y (z) se puede definir un Q(z) que
cumple que:
Q(z) =Y (z)
(b1 a1b0)z1 + + (bn anb0)zn=
U(z)
1 + a1z1 + + anzn(1.8)
De ah se obtiene que:
Q(z) = a1z1Q(z) a2z
2Q(z) anznQ(z) + U(z) (1.9)
Y (z) = (b1 a1b0)z1Q(z) + (b2 a2b0)z
2Q(z) + + (bn anb0)znQ(z) (1.10)
A continuacion se eligen las variables de estado como:
X1(z) = znQ(z) (1.11)
X2(z) = z(n1)Q(z)
Xn(z) = z1Q(z)
lo que teniendo en cuenta las propiedades de la transformada Z, implica que:
zX1(z) = X2(z)
zX2(z) = X3(z)
zXn1(z) = Xn(z)
4OBTENCION DE LA REPRESENTACION DE EN ESPACIO DE ESTADOS DE SISTEMAS DISCRETOS
lo que a su vez equivale a:
x1(k + 1) = x2(k) (1.12)
x2(k + 1) = x3(k)
xn1(k + 1) = xn(k)
Notese que segun la ultima igualdad de (1.11) se tiene que Q(z) = zXn(z), luego
teniendo en cuenta esto y el resto de las igualdades de (1.11) podemos reescribir la
expresion de Q(z) en (1.9) como:
zXn(z) = a1Xn(z) a2Xn1(z) anX1(z) + U(z) (1.13)
o lo que es lo mismo:
xn(k + 1) = anx1(k) an1x2(k) a1xn(k) + u(k) (1.14)
De esta manera y si tenemos en cuenta (1.12) obtenemos la siguiente expresion de la
ecuacion de estado:
x1(k + 1)
x2(k + 1)...
xn1(k + 1)
xn(k + 1)
=
0 1 0 0
0 0 1 0...
......
...
0 0 0 1
an an1 an2 a1
x1(k)
x2(k)...
xn1(k)
xn(k)
+
0
0...
0
1
u(k)
(1.15)
Por otra parte, podemos reescribir tambien (1.10) teniendo en cuenta las igualdades
de (1.11) de manera que:
Y (z) = (b1 a1b0)Xn(z) + (b2 a2b0)Xn1(z) + + (bn anb0)X1(z) (1.16)
Esto se puede llevar a la ecuacion (1.6) de manera que antitransformando se obtiene:
y(k) = (bnanb0)x1(k)+ (bn1an1b0)x2(k)+ +(b1a1b0)xn(k)+ b0u(k) (1.17)
lo cual se puede escribir como:
y(k) =[
bn anb0 bn1 an1b0 b1 a1b0]
x1(k)
x2(k)...
xn1(k)
xn(k)
+ b0u(k) (1.18)
Las ecuaciones (1.15) y (1.18) forman una representacion en espacio de estados del
sistema descrito por la funcion de transferencia (1.3) que se denomina forma canonica
controlable.
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 5
1.2.2. Metodo de programacion anidada
En este caso se parte de que de la funcion de transferencia (1.3) se obtiene la
siguiente ecuacion:
Y (z) b0U(z) + z1 (a1Y (z) b1U(z)) + + z
n (anY (z) bnU(z)) = 0 (1.19)
que a su vez se puede reescribir como:
Y (z) = b0U(z) + z1(b1U(z) a1Y (z) + z
1 (b2U(z) a2Y (z) (1.20)
+z1 (b3U(z) a3Y (z) + )))
Teniendo en cuenta esto se definen las siguientes variables de estado:
Xn(z) = z1 (b1U(z) a1Y (z) + Xn1(z)) (1.21)
Xn1(z) = z1 (b2U(z) a2Y (z) + Xn2(z))
...
X2(z) = z1 (bn1U(z) an1Y (z) + X1(z))
X1(z) = z1 (bnU(z) anY (z))
Notese que segun esta definicion de las variables de estado la expresion (1.20) se puede
reescribir en forma condensada como:
Y (z) = b0U(z) + Xn(z) (1.22)
Sustituyendo esta expresion en la definicion de las variables de estado (1.21) y multi-
plicando por z en ambos lados de cada igualdad se obtiene:
zXn(z) = Xn1(z) a1Xn(z) + (b1 a1b0)U(z)
zXn1(z) = Xn2(z) a2Xn(z) + (b2 a2b0)U(z)...
zX2(z) = X1(z) an1Xn(z) + (bn1 an1b0)U(z)
zX1(z) = anXn(z) + (bn anb0)U(z)
Antitransformando lo anterior:
x1(k + 1) = anxn(k) + (bn anb0)u(k) (1.23)
x2(k + 1) = x1(k) an1xn(k) + (bn1 an1b0)u(k)...
xn1(k + 1) = xn2(k) a2xn(k) + (b2 a2b0)u(k)
xn(k + 1) = xn1(k) a1xn(k) + (b1 a1b0)u(k)
6 LA REPRESENTACION EN ESPACIO DE ESTADOS DE UN SISTEMA NO ES UNICA
Antitransformando tambien la expresion (1.22) se obtiene:
y(k) = xn(k) + b0u(k) (1.24)
Finalmente, agrupando las dos expresiones anteriores se obtiene:
x1(k + 1)
x2(k + 1)...
xn1(k + 1)
xn(k + 1)
=
0 0 0 0 an1 0 0 0 an1...
......
......
0 0 1 0 a20 0 0 1 a1
x1(k)
x2(k)...
xn1(k)
xn(k)
+
bn anb0bn1 an1b0
...
b2 a2b0b1 a1b0
u(k)
y(k) =[
0 0 0 1]
x1(k)
x2(k)...
xn1(k)
xn(k)
+ b0u(k) (1.25)
A esta representacion en espacio de estados del sistema descrito por la funcion de
transferencia (1.3) se la denomina forma canonica observable.
1.3. La representacion en espacio de estados de un
sistema no es unica
Se ha comprobado que a un mismo sistema descrito por su funcion de transferencia
le corresponden, al menos, dos representaciones en espacio de estado distintas. De
hecho, la representacion en espacio de estados de un sistema no es unica. Por ejemplo,
podemos tomar otras variables de estado que describan la dinamica del sistema que
sean a su vez combinaciones lineales de las variables de estado originales, o considerar
que estas son a su vez combinaciones lineales de otras. Dicho de otro modo, dado un
sistema LTI como el descrito en (1.1) podemos considerar que el vector de estado x(k)
esta relacionado con otro vector x(k) con variables de estado distintas mediante una
transformacion:
x(k) = Px(k) (1.26)
donde P es una matriz invertible. Esto se puede llevar a la ecuacion de estado del
sistema de manera que obtendramos:
Px(k + 1) = GPx(k) + Hu(k)
Premultiplicando por P1:
x(k + 1) = P1GPx(k) + P1Hu(k)
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 7
por lo que la ecuacion de estado se puede expresar como:
x(k + 1) = Gx(k) + Hu(k) (1.27)
con G = P1GP y H = P1H. De la misma manera la ecuacion, de la salida del
sistema se puede expresar como:
y(k) = Cx(k) + Du(k) (1.28)
con C = CP y D = D. As pues, las ecuaciones (1.27) y (1.28) describen una repre-
sentacion del sistema en espacio de estados que es diferente de la original pero equiva-
lente a ella1.
1.4. Resolucion de las ecuaciones del espacio de es-
tados
En esta seccion se trata el tema de la resolucion de las ecuaciones de estado. Es
decir, se presentaran procedimientos para obtener el valor del vector de estado para
un determinado instante de tiempo k > 0 a partir del valor de x(0), es decir, del valor
inicial del vector de estados.
1.4.1. Procedimiento recursivo
Iterando las ecuaciones del estado para un sistema LTI como (1.1) a partir de k = 0:
x(1) = Gx(0) + Hu(0)
x(2) = Gx(1) + Hu(1) = G2x(0) + GHu(0) + Hu(1)
x(3) = Gx(2) + Hu(2) = G3x(0) + G2Hu(0) + GHu(1) + Hu(2)...
generalizando para cualquier k > 0:
x(k) = Gkx(0) +k1j=0
Gkj1Hu(j) (1.29)
1Observese que en la ecuacion (1.28) el estado aparece con , indicando que el vector de estados
es diferente al original. La salida sin embargo si coincide con la del sistema original pues ambas
representaciones son equivalentes.
8 RESOLUCION DE LAS ECUACIONES DEL ESPACIO DE ESTADOS
Observese que x(k) depende del estado inicial y de los valores de la entrada. Por otra
parte, la salida se puede expresar como:
y(k) = CGkx(0) + Ck1j=0
Gkj1Hu(j) + Du(k) (1.30)
1.4.2. Matriz de transicion de estados
Considerese la ecuacion:
x(k + 1) = Gx(k) (1.31)
En este caso, al no tener senal de entrada la solucion de la ecuacion viene dada por:
x(k) = (k)x(0)
con:
(k + 1) = G(k) (0) = I
es decir:
(k) = Gk
A (k) se le llama la matriz de transicion de estados y contiene toda la informacion
sobre los movimientos libres del sistema descrito por (1.31). Estos movimientos libres
se refieren a los cambios de estado o evolucion del estado del sistema en ausencia de
entrada.
En terminos de (k) la solucion de la ecuacion de estados para el sistema (1.1)
viene dada por:
x(k) = (k)x(0) +k1j=0
(k j 1)Hu(j) (1.32)
= (k)x(0) +k1j=0
(j)Hu(k j 1)
lo que lleva a:
y(k) = C(k)x(0) + Ck1j=0
(j)Hu(k j 1) + Du(k) (1.33)
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 9
1.4.3. Metodo basado en la transformada Z
Aplicando la transformada Z a ambos lados de la ecuacion de estados del sistema
(1.1) se obtiene:
zX(z) zx(0) = GX(z) + HU(z)
y de ah:
(zI G)X(z) = zx(0) + HU(Z)
Premultiplicando por (zI G)1:
X(z) = (zI G)1zx(0) + (zI G)1HU(Z)
y antitransformando:
x(k) = Z1{(zI G)1z
}x(0) + Z1
{(zI G)1HU(z)
}Esta ecuacion la podemos comparar con la solucion mediante el procedimiento recursivo
indicado en la ecuacion (1.29), e identificando terminos tenemos que:
Gk = Z1{(zI G)1z
}y
k1j=0
Gkj1Hu(j) = Z1{(zI G)1HU(z)
}(1.34)
La dificultad de este metodo consiste en realizar la transformada Z de las expresiones
anteriores. Para ilustrar el procedimiento considerese el siguiente ejemplo:
Ejemplo 1.1
Dado un sistema LTI como (1.1) con:
G =
[0 1
0,16 1
]H =
[1
1
]C =
[1 0
]Se pide calcular (k) = GK = Z1 {(zI G)1z}. En primer lugar calculamos:
(zI G)1 =
[z 1
0,16 z + 1
]
=
[z+1
(z+0,2)(z+0,8)1
(z+0,2)(z+0,8)0,16
(z+0,2)(z+0,8)z
(z+0,2)(z+0,8)
]
=
[43
1z+0,2
13
1z+0,8
53
1z+0,2
53
1z+0,8
0,83
1z+0,2
+ 0,83
1z+0,8
13
1z+0,2
+ 43
1z+0,8
](1.35)
10 RESOLUCION DE LAS ECUACIONES DEL ESPACIO DE ESTADOS
Multiplicando lo anterior por z y antitransformando se obtiene:
(k) = Gk = Z1{(zI G)1z
}=
[43(0,2)k 1
3(0,8)k 5
3(0,2)k 5
3(0,8)k
0,83
(0,2)k + 0,83
(0,8)k 13(0,2)k + 4
3(0,8)k
](1.36)
El ejemplo se puede completar resolviendo completamente la ecuacion de estado y la
de la salida para una senal de entrada dada por:
u(k) = 1 k = 0, 1, 2, x(0) =
[1
1
]Teniendo en cuenta la transformada Z de la entrada (escalon unitario) y que se sabe
que:
X(z) = (zI G)1 [zx(0) + HU(z)]
se calcula:
zx(0) + HU(z) =
[z
z
]+
[z
z1z
z1
]=
[z2
z1z2+2z
z1
]
que premultiplicado por el resultado de la ecuacion (1.35) lleva a:
X(z) =
[
176
z
z+0,2+
229
z
z+0,8+
2518
z
z13,4
6z
z+0,2+
17,6
9z
z+0,8+
718
z
z1
]
y de ahi, antitransformando:
x(k) =
[17
6(0,2)k + 22
9(0,8)k + 25
183,46
(0,2)k 17,69
(0,8)k + 718
]Finalmente la ecuacion de salida sera:
y(k) =[
1 0]x(k)
= 17
6(0,2)k +
22
9(0,8)k +
25
18
1.4.3.1. Procedimiento alternativo para calcular (zI G)1
Se observa en el ejemplo 1.1 que gran parte del calculo se emplea en calcular (zI
G)1. Esto puede ser muy engorroso cuando el orden de las matrices involucradas es
superior a 3. A continuacion se detalla un procedimiento alternativo para esos casos.
En primer lugar es conocido que, por definicion de matriz inversa:
(zI G)1 =Adj(zI G)
|zI G|
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 11
donde ((Adj)) indica la matriz adjunta. El determinante |zI G| se puede expresar
como:
|zI G| = zn + a1zn1 + a2z
n2 + + an
Por otra parte se puede demostrar que:
Adj(zI G) = Izn1 + H1zn2 + H2z
n3 + + Hn1
donde las matrices Hi se calculan mediante:
H1 = G + a1I
H2 = GH1 + a2I...
Hn1 = GHn1 + an1I
Hn = GHn1 + anI = 0
y los ai se calculan a su vez como:
a1 = traza(G)
a2 = 1
2traza(GH1)
a3 = 1
3traza(GH2)
...
an = 1
ntraza(GHn1)
Ejemplo 1.2
A continuacion se calculara la inversa de (zI G) para el ejemplo 1.1 mediante este
procedimiento alternativo. Dado que el orden de la matriz es n = 2, se tiene que:
|zI G| = z2 + a1z + a2
Adj(zI G) = Iz + H1
donde:a1 = traza(G)
a2 = 12traza(GH1)
H1 = G + a1I
La traza de G es igual a 1, luego a1 = 1 y de ah se obtiene que H1 = G + I, con lo
que se puede calcular:
a2 = 1
2traza
([0 1
0,16 1
] [1 1
0,16 0
])= 0,16
12 DISCRETIZACION DE LAS ECUACIONES DE ESTADO CONTINUAS
con lo que se obtiene:
Adj(zI G) = Iz +
[1 1
0,16 0
]=
[z + 1 1
0,16 z
] |zIG| = z2+z+0,16 = (z+0,2)(z+0,8)
Finalmente:
(zI G)1 =
[z + 1 1
0,16 z
](z + 0,2)(z + 0,8)
que evidentemente es el mismo resultado obtenido en el ejemplo 1.1.
1.5. Discretizacion de las ecuaciones de estado con-
tinuas
En esta seccion veremos como se puede pasar de un modelo en espacio de estado
continuo a discreto. Se partira de un sistema lineal e invariante en el tiempo continuo:
x = Ax + Bu
y = Cx + Du(1.37)
Supondremos que la entrada solo cambia en ciertos instantes igualmente espaciados en
el tiempo, es decir, solo puede cambiar en t = kT , para k = 0, 1, 2, . Al discretizar
la ecuacion de estado esta tomara la forma:
x((k + 1)T ) = G(T )x(kT ) + H(T )u(kT ) (1.38)
donde puede observarse que las matrices G y H dependen del tiempo de muestreo T .
Para determinar el valor de G(T ) y H(T ) usaremos la solucion de la ecuacion de estado
en tiempo continuo:
x(t) = eAtx(0) + eAt t
0
eABu()d (1.39)
Supondremos que la entrada u(t) es muestreada mediante un mantenedor de orden
cero, por lo que se cumple que:
u(t) = u(kT ) para kT t kT + T (1.40)
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 13
Se tiene que:
x((k + 1)T ) = eA(k+1)T x(0) + eA(k+1)T (k+1)T
0
eABu()d (1.41)
x(kT ) = eAkT x(0) + eAkT kT
0
eABu()d (1.42)
Mutiplicando la ecuacion (1.42) por eAT y restandola de la ecuacion (1.41) se obtiene:
x((k + 1)T ) = eAT x(kT ) + eA(k+1)T (k+1)T
kT
eABu()d (1.43)
Teniendo en cuenta la suposicion de que u(t) es constante en el intervalo de integracion
(ver (1.40)) se puede sustituir u() por u(kT ). Aplicando esto y operando se llega a:
x((k + 1)T ) = eAT x(kT ) + eAT T
0
eABu(kT )d
= eAT x(kT ) +
T0
eABu(kT )d (1.44)
donde = T . Sea:G(T ) = eAT
H(T ) =( T
0eAd
)B
(1.45)
entonces la ecuacion (1.44) queda:
x((k + 1)T ) = G(T )x(kT ) + H(T )u(kT ) (1.46)
que es la ecuacion a la que tenamos que llegar y por tanto se ha obtenido la ecuacion
de estado continuo discretizada.
En el caso particular (aunque muy comun, y por tanto interesante) de que A sea
una matriz invertible se tiene que:
H(T ) =(eAT I
)A1B
Por otra parte, la ecuacion de la salida al ser discretizada queda:
y(kT ) = Cx(kT ) + Du(kT ) (1.47)
con C, D matrices constantes e iguales a la de la ecuacion en tiempo continuo.
Existen diferentes metodos para calcular eAT . Quizas el mas sencillo de aplicar
cuando se trata de calcular la exponencial con papel y lapiz sea utilizar la equivalencia:
eAt = L1{(sI A)1
}(1.48)
14 DISCRETIZACION DE LAS ECUACIONES DE ESTADO CONTINUAS
donde L1 indica la transformada de Laplace inversa. Desde el punto de vista practico
el metodo consistira en calcular (sIA)1 (notese que puede emplearse el metodo para
calcular (zI G)1 dado en la seccion 1.4.3.1) y aplicar a posteriori la transformada
de Laplace inversa a cada elemento de la matriz.
Ejemplo 1.3
Se ilustrara en este ejemplo el calculo de eAt siendo:
A =
[0 1
0 2
]Para ello se calcula:
(sI A) =
[s 0
0 s
]
[0 1
0 2
]=
[s 1
0 s + 2
]y aplicando los metodos vistos en la seccion 1.5 y subsiguientes se calcula la inversa:
(sI A)1 =
[1s
1s(s+2)
0 1(s+2)
]
Finalmente se aplica la transformada inversa de Laplace a cada elemento de la matriz
anterior de manera que se obtiene:
eAt = L1{(sI A)1
}=
[1 1
2(1 e2t)
0 e2t
]
Ejemplo 1.4
Como ejemplo de discretizacion de las ecuaciones de estado en tiempo continuo, con-
siderese el siguiente sistema:x = ax + u
y = x
Usando las expresiones de (1.45) se obtiene:
G(T ) = eAT
= eaT
y
H(T ) =( T
0eAd
)B
=( T
0ead
)= 1e
aT
a
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 15
Luego:x(k + 1) = eaT x(k) + 1e
aT
au(k)
y(k) = x(k)
1.6. Controlabilidad y Observabilidad
En esta seccion se pasan a tratar dos conceptos clave en el estudio de sistemas
dinamicos, la controlabilidad y la observabilidad. El primero se refiere a la existencia
de una secuencia de actuaciones para llevar el sistema a un estado arbitrario. Por
otro lado, la observabilidad tiene que ver con la posibilidad de determinar el valor del
vector de estados de un sistema a partir de observaciones de las salidas y la entradas
de dicho sistema. Ambos conceptos se deben a Kalman y son claves en estrategias de
control como la colocacion de polos por realimentacion del vector de estados o el control
optimo.
1.6.1. Controlabilidad
Definicion 1.2 Un sistema de control es completamente controlable o de estado com-
pletamente controlable, si es posible transferir al sistema desde un estado inicial ar-
bitrario a cualquier estado deseado en un tiempo finito. Tambien puede decirse que
sera completamente controlable, si cada variable de estado se puede controlar en un
tiempo finito por una senal de control que no este sujeta a ningun tipo de restriccion.
Como es habitual nos centraremos en el estudio de la controlabilidad de sistemas
LTI:
x((k + 1)T ) = Gx(kT ) + Hu(kT ) (1.49)
siendo la senal u(kT ) constante en el intervalo de tiempo kT t (k + 1)T . En este
caso, la controlabilidad de estado completo implica que existe una senal de control
constante entre cada tiempo de muestreo que transfiere al sistema, desde un estado
x(kT ) cualquiera a un estado deseado xf en como mucho n periodos de muestreo,
donde n es el tamano del vector de estados.
Recordemos que la solucion de la ecuacion de estados es:
x(nT ) = Gnx(0) +n1j=0
Gnj1Hu(jT )
16 CONTROLABILIDAD Y OBSERVABILIDAD
= Gnx(0) + Gn1Hu(0) + Gn2Hu(T ) + + Hu((n 1)T )
de ah se obtiene:
x(nT )Gnx(0) =[
H... GH
... ... Gn1H
]
u((n 1)T )
u((n 2)T )...
u(0)
(1.50)
donde la matriz
Mc =[
H... GH
... ... Gn1H
](1.51)
es la llamada matriz de controlabilidad .
Supongase un estado final arbitrario x(nT ) = xf . Si el sistema fuera controlable
debera existir un vector de actuaciones que al multiplicarlo por la matriz de controla-
bilidad (1.51) diese como resultado xf Gnx(0). Como xf y x(0) pueden ser cualquier
par de valores del vector de estado, es facil entender que xfGnx(0) puede ser cualquier
vector de Rn. De esto se desprende que para que el sistema sea controlable, el espa-
cio de vectores generado por los vectores que forman la matriz de controlabilidad (es
decir, sus columnas) debe ser todo Rn. La condicion necesaria y suficiente para que
se cumpla esto es que el rango de la matriz de controlabilidad sea n. Este resultado
permite enunciar el siguiente lema.
Lema 1.1 Dado un sistema LTI de orden n representado por (1.49), es condicion
necesaria y suficiente para que el sistema sea completamente controlable que el rango
de la matriz de controlabilidad (1.51) sea igual a n.
Comentario 1.1 El sistema que cumpla la condicion establecida en el lema 1.1 po-
dra alcanzar cualquier estado como maximo en n periodos de muestreo, pero solo si no
existen restricciones sobre la senal de control. En caso contrario, se tardara mas.
Si el sistema es controlable, se podra determinar la secuencia de valores de la entrada
necesaria para llevar al sistema a xf resolviendo el sistema de ecuaciones (1.50).
Por otra parte, la controlabilidad se puede comprobar a partir de la funcion de
transferencia de un sistema observando si hay cancelaciones de polos y ceros. En el
caso de que las hubiese, el sistema no sera controlable. Por tanto, el sistema
Y (z)
U(z)=
z + 0,2
(z + 0,8)(z + 0,2)
no sera controlable pues existe una cancelacion de un polo con un cero.
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 17
1.6.2. Controlabilidad de la salida completa
En control automatico el objetivo mas comun es controlar la evolucion de la salida
del sistema. Se puede demostrar que la controlabilidad del estado no implica la contro-
labilidad de la salida. Sin embargo, podemos comprobar dicha controlabilidad de una
manera analoga a la de la controlabilidad del estado completo. Sea un sistema cuya
ecuacion de estado es (1.49) y la ecuacion de la salida es:
y(kT ) = Cx(kT ) (1.52)
La condicion para comprobar la controlabilidad de la salida completa sera que
Rango{[
CH... CGH
... ... CGn1H
]}= m (1.53)
donde m es el numero de salidas. Por otra parte, si la ecuacion de la salida es:
y(kT ) = Cx(kT ) + Du(kT ) (1.54)
la condicion a comprobar sera:
Rango{[
D... CH
... CGH...
... CGn1H
]}= m (1.55)
Notese que en esta segunda forma de la ecuacion de salida, la presencia del termino
Du(kT ) no empeora la controlabidad del sistema, sino justo lo contrario. De hecho, al
introducirse una columna extra en la matriz de controlabilidad (la correspondiente a
D), se puede dar el caso que se pase de tener m1 columnas linealmente independientes
a tener m, por lo que se lograra la controlabilidad de la salida. Dicho de otra manera,
encontrar m vectores linealmente independientes siempre sera igual o mas facil entre
n + 1 vectores que entre solo n de esos vectores.
1.6.3. Observabilidad
Considerese un sistema autonomo:
x((k + 1)T ) = Gx(kT )
y(kT ) = Cx(kT )(1.56)
Definicion 1.3 El sistema autonomo (1.56) es completamente observable si todo es-
tado inicial x(0) se puede determinar de la observacion de y(kT ) durante un numero
finito de intervalos de muestreo. Para que ello ocurra, cada transicion del estado debe
afectar a todos los elementos del vector de salida.
18 CONTROLABILIDAD Y OBSERVABILIDAD
La observabilidad juega un papel esencial en el control de aquellos sistemas en los
que algunas de las variables de estado no son accesibles, es decir, no son medibles
directamente. Notese que se ha considerado un sistema autonomo. La razon de esto es
que la observabilidad de un sistema no autonomo se reduce a la del sistema autonomo
equivalente.
Se sabe que la solucion de la ecuacion de estado para el sistema autonomo (1.56)
es:
x(kT ) = Gkx(0)
y de ah
y(kT ) = CGkx(0)
La observabilidad completa implica que usando
y(0), y(T ), y(2T ), , y((n 1)T )
se pueden determinar
x1(0), x2(0), , xn(0)
donde xi(0) indica la iesima componente de x(0). Es decir el sistema es completamente
observable si las ecuaciones:
y(0) = Cx(0)
y(T ) = CGx(0)...
y((n 1)T ) = CGn1x(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 nm ecuaciones, en las que las incognitas son las n componentes de x(0).
Para que la solucion de este sistema sea unica debe haber entre ellas n ecuaciones
linealmente independientes. Esto se traduce en la siguiente condicion de observabilidad
completa:
Rango{[
C... GC
... ... (G)n1C
]}= n (1.57)
donde indica la conjugada traspuesta de una matriz y a la matriz que aparece en la
condicion se la llama matriz de observabilidad.
Por otra parte, de una manera analoga a la de la controlabilidad, la observabilidad
de un sistema a partir de su funcion de transferencia se puede asegurar si esta no
presenta cancelaciones de polos y ceros.
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 19
Finalmente, se enuncia a continuacion una propiedad que sera util para poder obte
ner la representacion de un sistema en forma canonica, sin que por ello pueda argu-
mentarse que existe la posibilidad de variar la controlabilidad u observabilidad del
mismo.
Propiedad 1.1 Sea un sistema LTI dado en la forma usual (1.1), cuya matriz de
controlabilidad es M y la de observabilidad es N . Si se define una transformacion
como (1.26) con:
G = P1GP
H = P1H
C = CP
siendo P una matriz invertible, entonces las matrices de controlabilidad y observabilidad
del sistema equivalente tienen el mismo rango que M y N .
1.6.4. Principio de Dualidad
Este principio, que es debido a Kalman, relaciona la controlabilidad y observabilidad
de un sistema con la de otro sistema llamado dual del primero. Sea un sistema S1:
S1 :
{x((k + 1)T ) = Gx(kT ) + Hu(kT )
y(kT ) = Cx(kT )(1.58)
Sea S2 el sistema dual de S1:
S2 :
{x((k + 1)T ) = Gx(kT ) + Cu(kT )
y(kT ) = Hx(kT )(1.59)
Entonces se puede afirmar que2:
SI S1
{CONTROLABLE
OBSERVABLE
}ENTONCES S2
{OBSERVABLE
CONTROLABLE
}
1.7. Transformacion de un sistema en formas canonicas
Sea un sistema controlable y observable:
x(k + 1) = Gx(k) + Hu(k)
y(k) = Cx(k) + Du(k)(1.60)
2Notese que los sistemas S1 y S2 son diferentes, es decir, S2 no es una representacion alternativa
de S1.
20 TRANSFORMACION DE UN SISTEMA EN FORMAS CANONICAS
A continuacion, se vera el procedimiento para obtener las formas canonicas a partir de
ese sistema.
1.7.1. Obtencion de la forma canonica controlable
Sea una matriz de transformacion T = MW con:
M =[
H... GH
... ... Gn1H
]W =
an1 an2 a1 1
an2 an3 1 0...
......
...
a1 1 0 0
1 0 0 0
donde los coeficientes ai son los coeficientes de la ecuacion caracterstica del sistema,
es decir:
|zI G| = zn + a1zn1 + + an1z + an = 0
Se define el estado x(k) en funcion de la transformacion de otro vector de estados x(k):
x(k) = T x(k)
Entonces el sistema:x(k + 1) = Gx(k) + Hu(k)
y(k) = Cx(k) + Du(k)(1.61)
con G = T1GT , H = T1H, C = CT , D = D esta en forma canonica controlable.
1.7.2. Obtencion de la forma canonica observable
En este caso la matriz de transformacion es:
Q = (WN )1
con
N =[
C... GC
... ... (G)n1C
]Sea G = Q1GQ, H = Q1H, C = CQ, D = D y defnase el estado x(k) como
x(k) = Qx(k). Entonces el sistema (1.61) esta en forma canonica observable.
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 21
1.8. Colocacion de polos mediante realimentacion
del vector de estados
En esta seccion se presentara una estrategia de control que permite elegir la situacion
de los polos de bucle cerrado del sistema, mediante la realimentacion lineal del vector
de estados. Se vera que la condicion necesaria para que esto se pueda conseguir es que
el sistema sea controlable. Por otra parte, se asumira que todas las variables de estados
son accesibles, es decir, podemos medirlas directamente sin tener que estimarlas por
otros procedimientos.
1.8.1. Condicion necesaria y suficiente para la colocacion ar-
bitraria de polos
Sea un sistema LTI:
x(k + 1) = Gx(k) + Hu(k)
Se escoge una ley de control que tiene la forma:
u(k) = Kx(k)
es decir, la senal de control se obtiene de la realimentacion negativa del vector de
estados multiplicado por una cierta matriz de ganancias K. Este tipo de ley de control
se la denomina usualmente realimentacion del vector de estados. Con esta ley de control
el sistema en bucle cerrado quedara:
x(k+1)H z-1
G
+
+
x(k)
-Ku(k)
Figura 1.2: Diagrama de bloques de un sistema controlado por una realimentacion del vector de
estados.
y la ecuacion de estado del sistema en bucle cerrado resultara ser:
x(k + 1) = (GHK)x(k)
22 COLOCACION DE POLOS MEDIANTE REALIMENTACION DEL VECTOR DE ESTADOS
De manera analoga a lo que se da en sistemas continuos, los autovalores de (GHK)
son (o coinciden con) los polos de bucle cerrado del sistema. Por tanto, lo que buscamos
es ver que condicion es necesario cumplir para que exista una matriz de ganancias K
determinada, que nos permita colocar los autovalores de (G HK) en unos valores
elegidos a voluntad.
Lema 1.2 Se demuestra que la condicion necesaria y suficiente para que por medio de
una realimentacion del vector de estados puedan escogerse los polos de bucle cerrado
(es decir, los autovalores de (GHK)) es que el sistema en bucle abierto sea de estado
completamente controlable. Si esta condicion no se cumple, no se podran elegir todos
los polos de bucle cerrado.
1.8.2. Procedimientos para calcular K
Sean 1,2, ,n los valores deseados para los polos de bucle cerrado, es decir,
para los autovalores de (GHK). Aquellos que sean complejos siempre iran por pares
conjugados. La ecuacion caracterstica del sistema en bucle abierto es:
|zI G| = zn + a1zn1 + + an = 0
Se define una matriz de transformacion T = MW exactamente igual que la matriz
de transformacion necesaria para obtener la forma canonica controlable descrita en la
seccion 1.7.1. Se obtiene:
T1GT = G =
0 1 0 0
0 0 1 0...
......
...
0 0 0 1
an an1 an2 a1
T
1H = H =
0
0...
0
1
Se define a continuacion:
K = KT =[
n n1 1]
Entonces:
HK =
0
0...
1
[ n n1 1 ] =
0 0 0
0 0 0...
......
0 0 0
n n1 1
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 23
Por otra parte, la ecuacion caracterstica del sistema en B.C. es:
|zI GHK| = |zI G + HK|
=
z
1 0 0
0 1 0...
......
0 0 0
0 0 1
0 1 0 0
0 0 1 0...
......
...
0 0 0 1
an an1 an2 a1
+
0 0 0
0 0 0...
......
0 0 0
n n1 1
=
z 1 0
0 z 0...
......
0 0 1
an + n an1 + n1 z + a1 + 1
= zn + (a1 + 1)z
n1 + + (an1 + n1)z + (an + n) = 0
A su vez, la ecuacion caracterstica correspondiente a los autovalores deseados sera:
(z 1)(z 2) (z n) = zn + 1z
n1 + 2zn2 + + n1 + n = 0
Igualando los coeficientes de ambas ecuaciones caractersticas:
1 = a1 + 12 = a2 + 2
...
n = an + n
se obtiene la siguiente expresion para K:
K = KT1
=[
n n1 1]T1
=[
n an...n1 an1
... ...1 a1
]T1
(1.62)
que coloca los polos de bucle cerrado del sistema en los valores deseados. Notese
que si el sistema en bucle abierto viene dado en forma canonica controlable, se verifica
que T = I = T1.
24 COLOCACION DE POLOS MEDIANTE REALIMENTACION DEL VECTOR DE ESTADOS
1.8.2.1. Procedimiento alternativo: la formula de Ackermann
Existen otros procedimientos alternativos para el calculo de la matriz K. Aqu men-
cionaremos uno muy conocido, el que emplea la formula de Ackermann. Segun esto, la
expresion para K tomara la forma:
K =[
0 0 0 1] [
H... GH
... ... Gn1H
]1
(G)
donde:
(G) = Gn + 1Gn1 + + n1G + nI
Los coeficientes i se calcularan como en el apartado anterior.
Finalmente, otro procedimiento que puede ser util para sistemas de bajo orden
consiste en tomar
K =[
k1 k2 kn]
plantear la ecuacion caracterstica en funcion de los ki:
|zI G + HK| = 0
e igualar a los coeficientes de
zn + 1zn1 + 2z
n2 + + n1 + n = 0
1.8.3. Control Dead-Beat
Este es un tipo de control que resulta ser un caso particular del control por colo-
cacion de polos.
Definicion 1.4 Dado un sistema LTI, entenderemos como control dead-beat aquel que
consigue llevar el estado a cero en como maximo n intervalos de muestreo, donde n es
el orden del sistema.
Para obtener este tipo de control se deben especificar los polos de bucle cerrado con-
forme a lo que se establece en el siguiente lema.
Lema 1.3 Se demuestra que si se escogen los polos de bucle cerrado de manera que
esten todos en el origen (es decir, todos los autovalores de (GHK) igual a cero) se
consigue un control dead-beat.
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 25
Esto se lleva a la practica con una matriz de realimentacion del vector de estados
calculada mediante:
K =[an an1 a1
]T1
Este tipo de control no goza de una reputacion excesivamente favorable porque habit-
ualmente se precisa de una senal de control de amplitud muy grande para obtener la
respuesta dead-beat. De hecho en este tipo de control, el unico parametro de diseno
que se ha de elegir es el tiempo de muestreo. Si este es muy pequeno, los n intervalos
de muestreo supondran un tiempo total muy corto, de manera que para llevar el estado
a cero partiendo de un estado inicial arbitrario se precisara un valor muy alto de la
senal.
Ejemplo 1.5
Sea un sistema
x(k + 1) = Gx(k) + Hu(k)
con
G =
[0 1
0,16 1
] [0
1
]Se desea determinar una matriz K, tal que los polos de bucle cerrado sean el par
complejo conjugado z = 0,5 j0,5.
En primer lugar hay que determinar la controlabilidad del sistema. Para ello, se
forma la matriz de controlabilidad:[H
... GH
]=
[0 1
1 1
]
cuyo rango es igual a dos (basta comprobar que su determinante es distinto de cero),
por lo que el sistema es controlable y se puede proceder a calcular K. La ecuacion
caracterstica de bucle cerrado deseada es:
|zI G + HK| = (z 0,5 j0,5)(z 0,5 + j0,5) = z2 z + 0,5 = 0 (1.63)
por tanto, los coeficientes i son en este caso 1 = 1 y 2 = 0,5. Por otra parte, la
ecuacion caracterstica de bucle abierto del sistema es:
|zI G| =
z 10,16 z + 1
por lo que los coeficientes ai son a1 = 1 y a2 = 0,16. A partir de aqu se puede aplicar
cualquiera de los metodos explicados anteriormente.
26 COLOCACION DE POLOS MEDIANTE REALIMENTACION DEL VECTOR DE ESTADOS
Metodo 1
K =[
2 a2... 1 a1
]T1
Observese que el sistema viene dado en forma canonica controlable, por lo que T = I
y por tanto:
K =[
0,34 2]
Metodo 2 (formula de Ackermann)
En este caso la formula de Ackermann sera:
K =[
0 1] [
H... GH
]1
(G)
donde (G) es
(G) = G2 G + 0,5I
=
[0,16 1
0,16 0,84
]
[0 1
0,16 1
]+
[0,5 0
0 0,5
]=
[0,34 2
0,32 2,34
]por lo que
K =[
0 1] [ 0 1
1 1
]1 [0,34 2
0,32 2,34
]=
[0,34 2
]Metodo 3
Este procedimiento es apropiado para sistemas de bajo orden como el que nos ocupa.
En primer lugar, se toma K = [k1 k2] y se formula la ecuacion caracterstica de bucle
cerrado en funcion de K:
|zI G + HK| =
[
z 0
0 z
]
[0 1
0,16 1
]+
[0
1
] [k1 k2
]=
z 10,16 + k1 z + 1 + k2
= z2 + (1 + k2)z + k1 + 0,16 = 0
la comparamos con la ecuacion caracterstica deseada (1.63) e identificamos coeficientes:
1 + k2 = 1
k1 + 0,16 = 0,5
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 27
de donde se obtiene que k1 = 0,34 y k2 = 2, por lo que se tiene ya el valor de K, que
evidentemente coincide con el obtenido mediante los dos metodos anteriores.
Ejemplo 1.6
Calcular para el mismo sistema del ejemplo anterior la matriz K que conlleva un
control dead-beat, y comprobarlo calculando la evolucion del sistema a partir de un
estado inicial arbitrario.
En este caso:
K =[a2 a1
]T1 =
[0,16 1
]Vamos a verificar que el control es dead-beat. Para ello, obtenemos la ecuacion de
estado del sistema en bucle cerrado:[x1(k + 1)
x2(k + 1)
]=
[0 1
0,16 1
] [x1(k)
x2(k)
]+
[0
1
] [0,16 1
] [ x1(k)x2(k)
]=
[0 1
0 0
] [x1(k)
x2(k)
]
Supongamos ahora que el estado inicial es[x1(0)
x2(0)
]=
[a
b
]
entonces se tiene que: [x1(1)
x2(1)
]=
[0 1
0 0
] [a
b
]=
[b
0
]
e iterando una vez mas: [x1(2)
x2(2)
]=
[0 1
0 0
] [b
0
]=
[0
0
]
luego este control lleva al estado a cero en 2 pasos y es efectivamente un control dead-
beat.
1.9. Observadores del estado
En el control por colocacion de polos se asume que el estado se puede medir direc-
tamente. En ocasiones, sin embargo, puede que esta suposicion no se cumpla y todas
28 OBSERVADORES DEL ESTADO
o algunas de las variables de estado no puedan ser medidas. Es decir, puede que haya
variables de estado no accesibles. En cualquier caso, para poder controlar el sistema se
deberan estimar los valores de esas variables de estado no accesibles. Este proceso de
estimacion es lo que se conoce como observacion.
Un observador del estado es un subsistema del sistema de control, que realiza la
estimacion de las variables de estado basandose en los valores medidos (observados) de
las salidas y la senal de control. Se distinguen tres tipos de observadores, en funcion
de las variables de estado que se estimen:
1. Observador del estado completo. Es aquel que estima todas las variables de esta-
do.
2. Observador de orden mnimo. En este caso solo se estiman aquellas variables de
estado que no son accesibles.
3. Observador de orden reducido. Este tipo de observador estima todas las variables
no accesibles y algunas de las accesibles.
En esta asignatura nos centraremos en los dos primeros tipos de observadores. Como
en el caso de la colocacion de polos, formularemos en primer lugar las condiciones para
que se pueda llevar a cabo la observacion.
Lema 1.4 Condicion necesaria y suficiente para la observacion del estado. Dado un
sistema LTI, se puede determinar x(k + 1) a partir de y(k), y(k 1), ,y(kn + 1) y
u(k),u(k 1), ,u(k n + 1), donde n es el orden del sistema, s y solo s, el sistema
es completamente observable.
Por tanto x(k + 1) se puede determinar, si el sistema es observable, en n pasos. Sin
embargo, no debe olvidarse que sobre el sistema actuan ruidos y perturbaciones. Por
esta razon no es posible utilizar un procedimiento algebraico para determinar el estado,
sino que se ha de acudir a un procedimiento iterativo para estimarlo.
1.9.1. Procedimiento iterativo para la estimacion del estado
Sea un sistema LTI
x(k + 1) = Gx(k) + Hu(k)
y(k) = Cx(k)(1.64)
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 29
Si se dispone de una aproximacion del estado en k, que denotaremos x(k), esta evolu-
cionara segun la dinamica del sistema
x(k + 1) = Gx(k) + Hu(k)
y(k) = Cx(k)(1.65)
Si las condiciones iniciales son las mismas, es decir, si x(0) = x(0) entonces se verifica
que x(k) = x(k). Sin embargo, si las condiciones iniciales son diferentes entonces, de
manera general, x(k) 6= x(k). Podemos pues, definir el error de estimacion en k como:
e(k) = x(k) x(k)
Restando la ecuacion de estado aproximada (1.65) de la real (1.64):
x(k + 1) x(k + 1) = G (x(k) x(k))
que teniendo en cuenta la definicion del error de aproximacion es equivalente a:
e(k + 1) = Ge(k)
que se puede considerar como un sistema dinamico autonomo. Si G es una matriz
estable (es decir, si sus autovalores estan dentro del crculo unidad) el ((estado)) de este
sistema tiende a cero, es decir:
e(k) 0 x(k) x(k)
Por tanto, si el sistema es estable, la propia dinamica del sistema hace que la aproxi-
macion del estado tienda al valor real del mismo. Esto quiere decir que podramos usar
la propia ecuacion del sistema para obtener en cualquier instante k una aproximacion
del estado, cuyo error ira decayendo a lo largo del tiempo. Esta convergencia al valor
real, sin embargo, puede ser muy lenta, y por otra parte no siempre se tratara con
sistemas estables. Por tanto, esta estrategia no es muy aconsejable.
Notese que en el esquema que se ha presentado, no se hace uso de la salida del sis-
tema, que siempre sera accesible. Esto puede ser aprovechado para mejorar el rendimien-
to del observador introduciendose un termino corrector, de manera que la ecuacion para
obtener la aproximacion del estado para el instante k + 1 sera:
x(k + 1) = Gx(k) + Hu(k) + Ke (y(k) Cx(k))
donde Ke es una matriz de ponderacion o ganancia. Este termino se puede elegir de
manera que se mejore el rendimiento, incluso si existen discrepancias entre las matrices
del sistema y las del proceso real al que dicho sistema representa.
30 OBSERVADORES DEL ESTADO
1.9.2. Observador del estado completo
Sea un sistema LTI observable (1.64) con una ley de control por realimentacion
negativa del vector de estados,
u(k) = Kx(k)
siendo el estado del sistema x(k) no accesible pero s observable. Por tanto, podemos
sustituir el valor del estado por una aproximacion de manera que
u(k) = Kx(k)
y de ah, aplicando las consideraciones de la seccion 1.9.1 se obtiene
x(k + 1) = Gx(k) + Hu(k) + Ke (y(k) y(k))
= (GKeC)x(k) + Hu(k) + Key(k)
= (GKeC HK)x(k) + Key(k)
(1.66)
Esta es la llamada ecuacion del observador predictivo. La palabra predictivo se utiliza
para indicar que la estimacion del valor futuro del estado en k +1, se realiza utilizando
informacion disponible en el instante k. A los autovalores de la matriz (G KeC)
se les suele denominar polos del observador, y como se hizo en la seccion 1.9.1, se
vera a continuacion que marcan la dinamica de la evolucion del error de observacion.
En efecto, si se resta la ecuacion del observador de la del sistema real (1.64) se llega a
que
e(k + 1) = (GKeC)e(k)
de lo que puede observarse que los polos del observador determinan la dinamica del
error. Si G KeC es estable, el error convergera a cero independientemente de la
estimacion del estado inicial x(0).
La ecuacion del observador y del propio sistema en espacio de estados controlado
por la realimentacion lineal del vector de estados, pueden representarse mediante un
diagrama de bloques que se ilustra en las figuras 1.3 y 1.4.
Finalmente, es evidente que interesa que la estimacion del estado converja rapida-
mente al valor real de dicho estado. Una manera evidente de lograr esto es colocar todos
los polos del observador en cero, de manera que se consiga que el error de aproximacion
muestre una respuesta dead-beat. Esto se consigue eligiendo de manera apropiada Ke.
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 31
x(k+1)+Hu(k) z-1 C
G
+
+
x(k)
OBSERVADOR
y(k)
y(k)
-K
u(k)
(k)x
u(k)
Figura 1.3: Diagrama de bloques de un sistema LTI controlado mediante una realimentacion del vector
de estados que estima el estado con un observador.
x(k+1) +Hu(k)
z-1 C
G
+
+
Ke
(k)x
(k)yy(k)
-
+
+
(k)x
Figura 1.4: Diagrama de bloques de un observador de orden completo.
32 OBSERVADORES DEL ESTADO
1.9.2.1. Calculo de Ke
El procedimiento para elegir Ke de manera que se coloquen los polos del observador
en unos valores especificados es analogo al de la colocacion de polos vista en la seccion
1.8. Si la ecuacion caracterstica deseada del observador es:
zn + 1zn1 + + n1z + n = 0
y la del sistema es
zn + +a1zn1 + + an1z + an = 0
entonces
Ke = (WN)1
n ann1 an1
...
1 a1
(1.67)
donde
W =
an1 an2 a1 1
an2 an3 1 0...
......
...
a1 1 0 0
1 0 0 0
N =
[C
... GC...
... (G)n1C]
es decir, la misma matriz W empleada en la colocacion de polos y la matriz de ob-
servabilidad3. Notese que si el sistema viene indicado en forma canonica observable
(WN )1 = I. Tambien puede emplearse la formula de Ackermann, que para este caso
es:
Ke = (G)
C
CG...
CGn1
1
0
0...
1
donde
(G) = Gn + 1Gn1 + + n1G + nI = 0
Ejemplo 1.7
Considerese un sistema como (1.64) con
G =
[1 1
0 1
]H =
[0,5
1
]C =
[1 0
]3A fin de obtener un texto mas legible se evita en lo posible hacer referencias a material anterior,
aun a pesar de que esto pueda alargar la exposicion del tema al repetirse ecuaciones y expresiones.
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 33
disenaremos un observador del estado. En primer lugar, se ha de comprobar que el
sistema es observable. Para ello se comprueba que
rango{[
C... GC
]}= rango
{[1 1
0 1
]}= 2
luego el sistema es completamente observable. El siguiente paso es hallar la ecuacion
caracterstica del sistema en bucle abierto:
|zI G| =
[
z 0
0 z
]
[1 1
0 1
]= z2 2z + 1 = 0
luego a1 = 2 y a2 = 1. Deseamos que el observador tenga una respuesta dead-beat,
luego la ecuacion caracterstica deseada del observador sera:
z2 = 0 1 = 2 = 0
A continuacion se calculara Ke:
Ke = (WN)1
[1
2
]con
N =
[1 1
0 1
]W =
[a1 1
1 0
]=
[2 1
1 0
]resultando
Ke =
[2
1
]
Calculo de Ke mediante la formula de Ackermann
En este caso la formula de Ackermann es:
Ke = (G)
[C
CG
]1 [0
1
]con
(G) = G2 + 1G + 2I = G2
resultando
Ke =
[1 1
0 1
]2 [1 0
1 1
]1 [0
1
]=
[2
1
]que evidentemente es el mismo resultado que el obtenido con el procedimiento anterior.
34 OBSERVADORES DEL ESTADO
Estudio de la evolucion del error de estimacion
Vamos a comprobar que el error cae a cero segun una respuesta dead-beat. Sea
x(0) =
[a1b1
]x(0) =
[a2b2
]entonces
e(0) = x(0) x(0) =
[a1 a2b1 b2
]=
[a
b
]ademas se tiene que
GKeC =
[1 1
1 1
]el error evoluciona, por tanto, segun[
e1(k + 1)
e2(k + 1)
]=
[1 1
1 1
] [e1(k)
e2(k)
]por lo que se calcula la evolucion de este error:[
e1(1)
e2(1)
]=
[1 1
1 1
] [a
b
]=
[a + b
a + b
][
e1(2)
e2(2)
]=
[1 1
1 1
] [a + b
a + b
]=
[0
0
]luego, tal y como se pretenda, la estimacion del vector de estados coincide con el
valor real de dicho vector dos tiempos de muestreo despues de iniciarse la estimacion.
Finalmente, la ecuacion del observador es:[x1(k + 1)
x1(k + 1)
]=
[1 1
1 1
] [x1(k)
x1(k)
]+
[0,5
1
]u(k) +
[2
1
]y(k)
1.9.2.2. Comentarios acerca del papel de Ke
Se ha visto que Ke se utiliza para corregir la estimacion, disminuyendo el efecto de
las incertidumbres que se tengan sobre la dinamica real de la planta. Si estas incer-
tidumbres son importantes (es decir, si se tiene poca confianza en que el modelo de la
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 35
planta coincida con la dinamica real de la misma) este termino corrector debera tomar
un valor alto. Sin embargo, si la senal de salida esta contaminada por perturbaciones y
ruido en general procedente, por ejemplo, de los sensores de medida, entonces la senal
de salida no es fiable en el sentido de que no proviene unicamente de la dinamica real de
la planta. Por tanto, en estas situaciones el termino corrector debera ser mas pequeno.
Al seleccionar Ke se debe pensar no solo en reducir el error en base a una correccion
energica, sino que hay que tener en cuenta que cuando hay ruidos o perturbaciones,
una ganancia Ke alta no contribuira a reducir el error, porque las correcciones no iran
en la ((direccion)) correcta. Es decir, hay que llegar a un compromiso entre la velocidad
de respuesta y la sensibilidad a ruidos y perturbaciones.
1.9.2.3. Efectos de la adicion del observador
Hemos supuesto que al no disponerse de x(k) para calcular la senal de control, se
usa el observador para producir una estimacion x(k), de manera que
u(k) = Kx(k) (1.68)
Cabe preguntarse si al usar el observador, se colocan los polos del sistema en el sitio
que se pretende al calcularse la ganancia de realimentacion del vector de estado K.
Que efectos tiene el observador sobre los polos de bucle cerrado? Para estudiar esto,
se analizara el efecto que tiene la adicion del observador sobre la ecuacion caracterstica
del sistema en bucle cerrado.
Sea el sistema (1.64) controlado mediante (1.68). La ecuacion de estado puede
reescribirse como:
x(k + 1) = Gx(k)HKx(k)
= (GHK)x(k) + HK(x(k) x(k))
= (GHK)x(k) + HKe(k)
donde e(k) es el error de observacion en el instante k. Recordemos que el error de
observacion viene dado por:
e(k + 1) = (GKeC)e(k)
La ecuacion de estado y la del error, se pueden combinar en la ecuacion de un sistema
autonomo aumentado que describe la dinamica del sistema observado (es decir, de todo
el conjunto sistema-controlador-observador):[x(k + 1)
e(k + 1)
]=
[GHK HK
0 GKeC
] [x(k)
e(k)
]
36 OBSERVADORES DEL ESTADO
La ecuacion caracterstica de este sistema es
zI G + HK HK0 zI G + KeC = 0
es decir,
|zI G + HK||zI G + KeC| = 0
Dado que las races de esta ecuacion son las races de cada uno de los dos determinantes
que aparecen, esto implica que los polos del sistema completo son los polos del sistema
en bucle cerrado, tal y como se han colocado mediante el diseno de K junto con los
polos del observador. Por tanto, la colocacion de polos y la observacion son dos cosas
independientes, porque la adicion del observador no modifica los polos de bucle cerrado
del sistema tal y como se eligieron al disenar K. Por tanto:
Los polos del sistema se eligen para que se cumplan las especificaciones del sistema
de control.
Los polos del observador se escogen de manera que la respuesta del observador
sea mas rapida que la del sistema (para que esta ultima resulte dominante),
tpicamente 4 o 5 veces mas rapida.
1.9.3. Observador de orden mnimo
Supongase que x(k) es un n-vector y que y(k) es un m-vector. Como las m salidas
son combinaciones lineales del estado, hay m variables que no necesitan ser estimadas.
El observador de orden mnimo sera el que estime las nm restantes.
Para disenar el observador de orden mnimo estableceremos una particion del vector
de estados:
x(k) =
xa(k)
xb(k)
donde el m-vector xa(k) son las variables medibles (accesibles) y el nm-vector xb(k)
son las variables no medibles (no accesibles). Esta particion del vector de estados
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 37
determina una particion en la ecuacion de estados:
xa(k + 1)
xb(k + 1)
=
Gaa... Gab
...
Gba... Gbb
xa(k)
xb(k)
+
Ha
Hb
u(k)
y(k) =[
I... 0
] xa(k) xb(k)
donde Gaa Rmm, Gab R
m(nm), Gba R(nm)m, Gbb R
(nm)(nm), Ha
Rm1, Hb R
(nm)1. La ecuacion de la parte del estado que es accesible (medible)
sera:
xa(k + 1) = Gaaxa(k) + Gabxb(k) + Hau(k)
Notese que en esta ecuacion hay terminos que no son medibles, por lo tanto la podemos
reescribir agrupando los terminos medibles a la izquierda y los no medibles a la derecha:
xa(k + 1)Gaaxa(k)Hau(k) = Gabxb(k) (1.69)
Por otro lado, la parte del vector de estados que no se puede medir se puede escribir
como:
xb(k + 1) = Gbaxa(k) + Gbbxb(k) + Hbu(k)
Observese que en esta ecuacion, los terminos que dependen de xa(k) y u(k) son cono-
cidos mientras que el termino que depende de xb(k) es desconocido. Esta ecuacion la
podemos reescribir como
xb(k + 1) = Gbbxb(k) + [Gbaxa(k) + Hbu(k)] (1.70)
El diseno del observador de orden mnimo se realiza tomando como referencia el del
observador de orden completo, cuya ecuacion de estados es
x(k + 1) = Gx(k) + Hu(k)
En el caso del observador de orden mnimo, la ecuacion (1.70), es decir, la ecuacion
que describe la evolucion de la parte del estado no medible, es la que hace el papel
de ecuacion de estado. Por otra parte, se conoce que la ecuacion de salida para el
observador de orden completo es:
y(k) = Cx(k)
donde y(k) es medible y Cx(k) es no medible (por serlo x(k)). Observese que se puede
establecer un paralelismo entre los terminos de esta ecuacion y los de la ecuacion (1.69).
En el caso del observador de orden mnimo, por tanto, se considera como ecuacion de
salida la ecuacion (1.69).
38 OBSERVADORES DEL ESTADO
Recordemos que la ecuacion del observador de orden completo es
x(k + 1) = (GKeC)x(k) + Hu(k) + Key(k)
Comparando las ecuaciones de estado y salida del observador de orden completo y las
del observador de orden mnimo, se establecen las siguientes analogas:
Observador de orden completo Observador de orden mnimo
x(k) xb(k)
G GbbHu(k) Gbaxa(k) + Hbu(k)
y(k) xa(k + 1)Gaaxa(k)Hau(k)
C GabKe R
nm Ke R(nm)m
Teniendo en cuenta esto, se obtiene
xb(k+1) = (GbbKeGab)xb(k)+Gbaxa(k)+Hbu(k)+Ke [xa(k + 1)Gaaxa(k)Hau(k)]
(1.71)
Ademas, de la ecuacion del sistema sabemos que
y(k) = xa(k)
luego, aplicando esto en la ecuacion (1.71) se obtiene
xb(k + 1) = (GbbKeGab)xb(k) + Key(k + 1) + (GbaKeGaa)y(k) + (HbKeHa)u(k)
que sera la ecuacion del observador de orden mnimo. Los polos del observador de
orden mnimo seran los autovalores de (GbbKeGab). Observese, sin embargo, que en
esta ecuacion aparece un termino que multiplica a y(k + 1). Como es logico el valor
de la salida en k + 1 no esta disponible en el instante k, por lo que esta ecuacion ha
de ser modificada. Se puede demostrar (no se hara aqu), que esta ecuacion se puede
reescribir como:
xb(k) = (k) + Kexa(k)
(k + 1) = (Gbb KeGab)(k) + [(Gbb KeGab)Ke + Gba KeGaa] y(k)
+(Hb KeHa)u(k)
(1.72)
La ecuacion caracterstica del observador de orden mnimo es:
|zI Gbb + KeGab| = 0
y como en el caso del observador de orden completo, Ke se puede elegir para colocar
los polos del observador donde se desee mediante los metodos indicados en la seccion
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 39
1.9.2.1. Por ejemplo, si la salida y(k) es un escalar, es decir m = 1, se tienen que estimar
n 1 variables. La formula de Ackermann, por ejemplo, quedara:
Ke = (Gbb)
GabGabGbb
...
GabGn2bb
1
0
0...
1
donde
(Gbb) = Gn1bb + 1G
n2bb + + n1I
De manera analoga a la del observador de orden completo, se comprueba que la ecuacion
caracterstica del conjunto formado por el observador de orden mnimo y el sistema
controlado por una realimentacion lineal del vector de estados es:
|zI G + HK||zI Gbb + KeGab| = 0
por lo que, nuevamente se ve que los problemas de diseno del controlador y del obser-
vador son independientes.
Ejemplo 1.8
Sea un sistema LTI cuyas matrices son
G =
[1 0,2
0 1
]H =
[0,02
0,2
]C =
[1 0
]se pide
1. Disenar un controlador que coloque los polos de bucle cerrado en z = 0,6 j0,4.
2. Asumiendo que y(k) = x1(k) es el unico estado accesible, disenar un observador
de orden mnimo con respuesta dead-beat.
En primer lugar, se ha de comprobar la controlabilidad y observabilidad del sistema:
rango{[
H... GH
]}= rango
{[0,02 0,06
0,2 0,2
]}= 2
rango{[
C... GC
]}= rango
{[1 1
0 0,2
]}= 2
Luego el sistema cumple ambas condiciones. La ecuacion caracterstica del controlador
es:
|zI G| =
z 1 0,20 z 1 = z2 2z + 1
40 OBSERVADORES DEL ESTADO
luego a1 = 2 y a2 = 1. La ecuacion caracterstica de bucle cerrado deseada es:
(z 0,6 j0,4)(z 0,6 + j0,4) = z2 1,2z + 0,52
luego 1 = 1,2 y 2 = 0,52. Por tanto,
K =[
2 a2 1 a1]T1 =
[0,48 0,8
]T1
donde la matriz T se calcula como
T =[
H... GH
] [ a1 11 0
]=
[0,02 0,02
0,2 0,2
]y
T1 =
[25 2,5
25 2,5
]lo que lleva a
K =[
8 3,2]
la ley de control se formulara por tanto, como
u(k) = Kx(k)
= [
8 3,2] [ x1(k)
x2(k)
]=
[8 3,2
] [ y(k)x2(k)
]
En cuanto al observador de orden mnimo, este estimara una sola variable, por lo
que es de orden 1. La particion de la ecuacion de estado en este caso sera:
Gaa... Gab
...
Gba... Gbb
=
1... 0,2
...
0... 1
Ha
Hb
=
0,02
0,2
La ecuacion caracterstica deseada del observador es
(z) = z = 0
luego
Ke = (Gbb)[Gab]1[1] = (1)(0,2)1(1) = 5
Las ecuaciones del observador seran
(k + 1) = (Gbb KeGab)(k) + [(Gbb KeGab)Ke + Gba KeGaa] y(k)
+(Hb KeHa)u(k)
= (1 5 0,2)(k) + [(1 5 0,2) 5 + 0 5 1] y(k) + (0,2 5 0,02)u(k)
= 5y(k) + 0,1u(k)
x2(k) = Key(k) + (k)
= 5y(k) + (k)
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 41
y la ley de control sera por tanto,
u(k) = Kx(k)
= 8y(k) 3,2x2(k)
= 8y(k) 3,2(5y(k) + (k))
= 24y(k) 3,2(k)
1.10. Control optimo LQR
Las tecnicas de control optimo conforman una de las ramas del control automatico
mas importantes en el desarrollo de las estrategias modernas de control mas utilizadas
hoy en da. Se han escrito numerosas monografas dedicadas a su estudio, y se ha
publicado una ingente cantidad de artculos en revistas especializadas. No obstante,
en estos apuntes solo se dara una pincelada sobre este particular, centrandonos en el
caso particular del control LQR con horizonte infinito, tambien conocido como LQR
de regimen permanente.
Las estrategias de control optimo calculan la ley de control de manera que se opti-
miza una cierta medida del rendimiento del controlador. Se parte de un sistema descrito
por
x(k + 1) = Gx(k) + Hu(k)
El objetivo es calcular una ley de control
u(k) = Kx(k)
de tal manera que se minimiza el funcional (que expresa un ndice de funcionamiento)
J =1
2
k=0
(x(k)Qx(k) + u(k)Ru(k)) (1.73)
siendo Q y R matrices de ponderacion que cumplen que Q = Q > 0, R = R > 0.
Notese que este ndice de funcionamiento pondera la diferencia entre el estado y el ori-
gen el instante inicial, hasta un tiempo infinito. Por tanto, cuanto mas rapido se llegue
al origen menor valor de J se tendra. Esto implica que al minimizarse J , se encon-
trara la ley de control que lleva el estado al origen mas rapidamente y manteniendolo
42 CONTROL OPTIMO LQR
siempre lo mas cerca posible del origen4. Por otra parte, se observa que en el funcional
hay otro termino que pondera el valor de la secuencia de senales de actuacion. Este
termino impide que se obtenga una ley de control que lleve el estado al origen a expen-
sas de una actuacion muy grande. Al minimizarse J , por tanto, se conseguira una ley de
control que por una parte acerque el estado al origen lo mas rapido posible, pero man-
teniendo un nivel de actuaciones moderado, encontrandose por tanto, una solucion de
compromiso entre el rendimiento del controlador y su nivel de actuacion. El sentido de
este compromiso puede venir dictado por diferentes razones, como por ejemplo moderar
el gasto de energa o combustible necesario para proporcionar la senal de actuacion.
Existen razones mas sutiles pero no por ello menos importantes para incorporar esta
ponderacion del esfuerzo de control. Por ejemplo, cuando existen discrepancias entre
el modelo del sistema y su dinamica real (algo que ocurre casi siempre, pues los mode-
los matematicos no pueden recoger todas las complejidades de los sistemas o procesos
reales) esta ponderacion del esfuerzo de control resulta en un sistema mas estable.
Para calcular la ley de control que minimiza el ndice (1.73) se define una matriz P
que satisface la siguiente ecuacion de Riccatti:
P = Q + GPGGPH(R + HPH)1HPG (1.74)
La solucion de esta ecuacion es una matriz P que es hermtica y definida positiva. Se
demuestra que la matriz
K = (R + HPH)1HPG
es la que minimiza el ndice (1.73) mediante la ley de control
u(k) = (R + HPH)1HPGx(k)
La ecuacion de estado del sistema en bucle cerrado sera por tanto:
x(k + 1) = (GH(R + HPH)1HPG) x(k)
= (I + HR1HP )1Gx(k)
Para este desarrollo se ha empleado el lema de inversion
(A + BC)1 = A1 A1B(I + CA1B)1CA
con A = I, B = H y C = R1HP .
4Esta es una interpretacion que hay que tomar con cierto cuidado, pues puede que se obtenga una
ley de control que provoque que el estado no se acerque al origen todo lo posible al principio pero que
lo lleve a dicho origen muy rapidamente en los instantes siguientes, manteniendo pues el valor de J
muy bajo.
CAPITULO 1. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 43
1.10.1. Solucion de la ecuacion de Riccatti
Para calcular la ley de control optima LQR en regimen permanente es necesario
resolver la ecuacion de Riccatti (1.74). Esto no es algo trivial en general, pero si pode-
mos resolverla facilmente si se dispone de un computador. Para ello formularemos un
proceso iterativo en que tomando como valor inicial de P = 0 (es decir una matriz de
ceros) se calculara el valor de la matriz P en el paso i + 1 como
Pi+1 = Q + GPiGG
PiH (R + HPiH)
1 HPiG
La condicion de parada del bucle o proceso iterativo sera que Pi+1 Pi 0, esto es,
que la diferencia entre Pi+1 y Pi sea una matriz cuyos elementos esten todos cerca del
cero.
1.11. Filtro de Kalman
El filtro de Kalman es un estimador del estado (en realidad tambien se puede
interpretar como filtro y como predictor), que tiene en cuenta la presencia de ruidos
en la ecuacion de estados y la salida. En este sentido es un estimador optimo, pues
la estimacion obtenida tiene el menor error posible teniendo en cuenta que al haber
ruidos actuando, nunca se podra obtener una estimacion perfecta. Al igual que en el
caso del control LQR no se entrara en profundidad en el estudio de este estimador, sino
que solo se presentara la formulacion de un caso particular, el filtro de Kalman para
regimen permanente.
Sea un sistema:x(k + 1) = Gx(k) + Hu(k) + (k)
y(k) = Cx(k) + (k)
donde (k) y (k) son variables aleatorios que actuan como ruidos aditivos. Se de-
muestra que se puede obtener una estimacion optima del vector de estados mediante
el siguiente esquema:
x(k + 1) = Gx(k) + Hu(k) + Ke(k) (y(k) Cx(k))
Ke(k) = GPkC (R + CPkC
)1
Pk+1 = Q + (GKe(k)C) PkG
(1.75)
dondeR = E {(k)(k)}
Q = E {(k)(k)}
P0 = E {(0)(0)}
44 FILTRO DE KALMAN
donde E {} denota la esperanza matematica y R,Q se asumen constantes. Se demuestra
que conforme k :Pk+1 P
Ke(k) Ke
donde P y Ke son matrices constantes y ademas P es semidefinida positiva. Usando
esto, las ecuaciones de estimacion (1.75) se pueden reescribir como:
x(k + 1) = Gx(k) + Hu(k) + Ke (y(k) Cx(k))
Ke = GPC (R + CPC)1
P = Q + GPG GPC (R + CPC)1 CPG(1.76)
que son las ecuaciones del filtro de Kalman de regimen permanente. Notese que para
resolver la ecuacion de Riccatti se puede usar el mismo metodo usado en el LQR.
Captulo 2
Modelos de procesos y
perturbaciones
2.1. Introduccion
En este captulo se expondran diversos tipos de formas de modelar perturbaciones
y procesos cuya evolucion se ve afectada por perturbaciones. Es importante tener en
cuenta que los modelos de procesos con perturbaciones tienen su origen en el modelado
de perturbaciones y no al reves.
En la teora clasica del control automatico siempre se ha tenido en cuenta el com-
portamiento de los sistemas frente a perturbaciones a la hora de disenar sistemas de
control. Dichas perturbaciones se modelaban siempre de manera muy simplificada. Es
por tanto comun en esta teora el considerar que las perturbaciones van a tener la
forma de
Pulsos.
Escalones.
Rampas.
Sinusoides.
Todos estos modelos tienen en comun que son absolutamente predecibles en su evolu-
cion en funcion de las condiciones iniciales. Es decir, en cuanto la perturbacion aparece
45
46 PERTURBACIONES DETERMINISTAS A TROZOS
podemos predecir su evolucion futura. Es una suposicion comun en estos casos, consi
derar que estas perturbaciones vienen generadas por sistemas dinamicos.
2.2. Perturbaciones deterministas a trozos
Como fuente de perturbaciones con una mayor variabilidad que los modelos clasicos
antes comentados, se pueden considerar las perturbaciones deterministas a trozos. Sur-
gen de la necesidad de estudiar el efecto de perturbaciones mas realistas en sistemas
de control que se basan en algun tipo de esquema predictivo para calcular la senal
de control. En este tipo de sistemas, el considerar una perturbacion absolutamente
predecible (como en el caso de los modelos clasicos) no tiene utilidad alguna, pues se
pueden considerar directamente en el calculo de la ley de control.
Los modelos de perturbaciones deterministas a trozos parten de la suposicion de
que son generados por un sistema lineal, en el que la entrada es cero excepto en ciertos
instantes de tiempo separados por mas de n tiempos de muestreo, donde n es el orden
del sistema