Apuntes Control Automatico

download Apuntes Control Automatico

of 174

Transcript of Apuntes Control Automatico

  • 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