Control deSistemas No Lineales Linealización aproximada, extendida, exacta Hebertt Sira-Ramírez, CINVESTAV-IPN Richard Márquez, ULA Franklin Rivas-Echeverría, ULA Orestes Llanes-Santiago, ISPJAE Mayo 2004 Contenido Notación XIII Introducción 1 1. Algunos Modelos de Sistemas No Lineales 3 1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Clase de sistemas bajo estudio . . . . . . . . . . . . . . . . . . . 5 1.3. Puntos de equilibrio . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4. Sistemas de naturaleza física real . . . . . . . . . . . . . . . . 8 1.5. Modelos empleados a lo largo del texto . . . . . . . . . . . . . . 11 1.6. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . 20 1.7. Resumen del capítulo y Lecturas adicionales . . . . . . . . . . 23 Parte I: Control Lineal de Sistemas No Lineales: Linea- lización Aproximada 29 2. Linealización aproximada 31 2.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.2. Linealización aproximada: expansión en serie de Taylor . . . . 32 2.3. Sistema linealizado: espacio de estado . . . . . . . . . . . . . . 34 2.4. Validez del modelo linealizado . . . . . . . . . . . . . . . . . . . 41 2.5. Primer ejemplo en Matlab (R) . . . . . . . . . . . . . . . . . . . 44 2.6. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . 49 2.7. Resumen del capítulo y Lecturas adicionales . . . . . . . . . . 51 3. Realimentación del vector de estados 53 3.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.2. Diseño de controladores mediante linealización aproximada . 54 3.3. Ejemplos en Matlab (R) . . . . . . . . . . . . . . . . . . . . . . . 62 3.4. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . 72 3.5. Resumen del capítulo y Lecturas adicionales . . . . . . . . . . 76 III IV CONTENIDO 4. Observadores dinámicos de estado 78 4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.2. Reconstrucción del vector de estado . . . . . . . . . . . . . . . . 79 4.3. Observador de Luenberger: convergencia . . . . . . . . . . . . 83 4.4. Observador de Luenberger: separabilidad . . . . . . . . . . . . 88 4.5. Observadores de orden reducido . . . . . . . . . . . . . . . . . . 99 4.6. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . 112 4.7. Resumen del capítulo y Lecturas adicionales . . . . . . . . . . 114 5. Síntesis de compensadores clásicos 116 5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 5.2. Diseño de reguladores del tipo P, PI y PID . . . . . . . . . . . . 117 5.3. Ejemplos basados en la regla de Ziegler-Nichols . . . . . . . . 121 5.4. Método del controlador-observador clásico . . . . . . . . . . . . 125 5.5. Ajuste de las ganancias de un compensador lineal . . . . . . . 133 5.6. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . 142 5.7. Resumen del capítulo y Lecturas adicionales . . . . . . . . . . 147 Parte II: Control No Lineal de Sistemas No Lineales: Linealización Extendida 149 6. Realimentación no lineal del vector de estado 151 6.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 6.2. Realimentación no lineal basada en asignación de polos in- variantes en familias de modelos parametrizados . . . . . . . 154 6.3. Controlador no lineal basado en linealización extendida . . . . 156 6.4. Ejemplos de diseño . . . . . . . . . . . . . . . . . . . . . . . . . 158 6.5. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . 169 6.6. Resumen del capítulo y Lecturas adicionales . . . . . . . . . . 172 7. Diseño de observadores dinámicos de estado no lineales basa- dos en linealización extendida 180 7.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 7.2. Observador dinámico no lineal . . . . . . . . . . . . . . . . . . 181 7.3. Linealización de la dinámica del error de observación . . . . . 182 7.4. Ganancia no lineal del observador . . . . . . . . . . . . . . . . 184 7.5. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 7.6. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . 201 7.7. Resumen del capítulo . . . . . . . . . . . . . . . . . . . . . . . . 203 8. Sintesis de compensadores no lineales G(·) 204 8.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 8.2. Diseño de reguladores no lineales del tipo P, PI y PID median- te linealización extendida . . . . . . . . . . . . . . . . . . . . . 206 CONTENIDO V 8.3. Compensadores no lineales basados en el esquema controlador- observador clásico . . . . . . . . . . . . . . . . . . . . . . . . . . 217 8.4. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . 224 8.5. Resumen del capítulo y Lecturas adicionales . . . . . . . . . . 224 Parte III: Control No Lineal de Sistemas No Lineales: Linealización Exacta 227 9. Introducción a la linealización exacta 229 9.1. Motivación: método del control calculado . . . . . . . . . . . . . 229 9.2. Linealización exacta de sistemas en la forma canónica contro- lable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 9.3. Sistemas no lineales reducibles a la forma canónica controlable244 9.4. Condiciones de existencia para la transformación a la Forma Canónica Controlable . . . . . . . . . . . . . . . . . . . . . . . . 249 9.5. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . 255 9.6. Resumen del capítulo y Lecturas adicionales . . . . . . . . . . 255 10.Linealización exacta de sistemas no lineales 256 10.1.Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 10.2.Nociones básicas de geometría diferencial . . . . . . . . . . . . 256 10.3.Interpretación geométrica del corchete de Lie y teorema de Frobenius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 10.4.Nueva formulación de las condiciones de existencia para la transformación a la forma canónica controlable . . . . . . . . . 256 10.5.El caso de sistemas lineales . . . . . . . . . . . . . . . . . . . . 256 10.6.Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 10.7.Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . 256 10.8.Resumen del capítulo y Lecturas adicionales . . . . . . . . . . 256 11.Linealización entrada-salida 257 11.1.Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 11.2.Dinámica de los ceros y linealización entrada-salida . . . . . . 257 11.3.Primer ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 11.4.Formulación de la linealización entrada-salida usando her- ramientas de geometría diferencial . . . . . . . . . . . . . . . . 257 11.5.Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . 257 11.6.Resumen del capítulo y Lecturas adicionales . . . . . . . . . . 257 12.Observadores no lineales con error lineal 258 12.1.Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 12.2.Linealización del error de reconstrucción . . . . . . . . . . . . 259 Bibliografía 262 Índice de figuras 1.1. Diagrama de Bloques de un Sistema no lineal . . . . . . . . . . 6 1.2. Avión en vuelo horizontal . . . . . . . . . . . . . . . . . . . . . 7 1.3. Péndulo simple . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4. Satélite mono-axial (cuerpo que gira alrededor de un eje me- diante expulsión de gases) . . . . . . . . . . . . . . . . . . . . . 10 1.5. Esquema de un artefacto espacial que requiere control de su orientación a un valor deseado (θ = Θ) . . . . . . . . . . . . . . 12 1.6. Convertidor de potencia DC–DC tipo “Boost” . . . . . . . . . . 13 1.7. Sistema de suspensión magnética . . . . . . . . . . . . . . . . . 14 1.8. Manipulador robótico de unión rígida . . . . . . . . . . . . . . 15 1.9. Motor serie de corriente continua . . . . . . . . . . . . . . . . . 17 1.10.Representación simplificada del comportamiento del TCP . . . 18 1.11.Aro rotatorio sobre el que desliza un anillo cuya posición an- gular se desea controlar . . . . . . . . . . . . . . . . . . . . . . 20 1.12.Sistema masa–resorte–amortiguador . . . . . . . . . . . . . . . 21 1.13.Circuito de Chua controlado . . . . . . . . . . . . . . . . . . . . 22 1.14.Balanceo de una esfera sobre una barra . . . . . . . . . . . . . 23 1.15.Tanque de reacción continuamente agitado . . . . . . . . . . . 26 2.1. Relación entre las variables originales y las variables incre- mentales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.2. Representación entrada-salida del sistema linealizado . . . . . 37 2.3. Motor de corriente continua . . . . . . . . . . . . . . . . . . . . 40 2.4. Sistema de un tanque con pérdida de líquido . . . . . . . . . . 42 2.5. Perturbación de la señal de entrada al tanque . . . . . . . . . 42 2.6. Péndulo invertido sobre una plataforma móvil . . . . . . . . . 45 2.7. Comportamiento local del sistema lineal (línea continua —) y el sistema no lineal (trazos - -) . . . . . . . . . . . . . . . . . . . 49 2.8. Manipulador robótico flexible . . . . . . . . . . . . . . . . . . . 50 3.1. Relación entre las variables originales y las variables incre- mentales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.2. Sistema lineal que describe, en forma aproximada, el compor- tamiento de las perturbaciones . . . . . . . . . . . . . . . . . . 55 VI ÍNDICE DE FIGURAS VII 3.3. Sistema lineal realimentado linealmente . . . . . . . . . . . . 56 3.4. Esquema de control lineal por realimentación del vector de estado para sistemas no lineales . . . . . . . . . . . . . . . . . 56 3.5. Ubicación de los polos del sistema (3.2) en lazo abierto . . . . 59 3.6. Polos del sistema (3.2) en lazo cerrado . . . . . . . . . . . . . . 60 3.7. Esquema de realimentación lineal de estados para el sistema de levitación magnética . . . . . . . . . . . . . . . . . . . . . . . 61 3.8. Ubicación de polos, en el plano complejo, para el artefacto es- pacial en lazo cerrado . . . . . . . . . . . . . . . . . . . . . . . . 64 3.9. Comportamiento en lazo cerrado del artefacto espacial con- trolado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3.10.Comportamiento del artefacto espacial obtenido por simula- ción del sistema controlado, para desviaciones iniciales signi- ficativas del punto de equilibrio . . . . . . . . . . . . . . . . . . 66 3.11.Respuesta en lazo cerrado del sistema de fermentación esta- bilizable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.12.Sistema de dos conductores acoplados magnéticamente . . . . 73 4.1. Esquema de realimentación lineal con medición total de las componentes del vector de estado . . . . . . . . . . . . . . . . . 80 4.2. Esquema de realimentación lineal del sistema aproximado con medición total de las componentes del vector de estado . . 80 4.3. Esquema de aproximación del comportamiento entrada-salida del sistema no lineal . . . . . . . . . . . . . . . . . . . . . . . . 81 4.4. Observador dinámico de estado . . . . . . . . . . . . . . . . . . 82 4.5. Esquema de realimentación lineal de salida para un sistema no lineal, utilizando un observador dinámico de estado . . . . 82 4.6. Estructura del observador dinámico de estado . . . . . . . . . 85 4.7. Esquema de control realimentado de salida del sistema lineal que aproxima al sistema no lineal . . . . . . . . . . . . . . . . . 89 4.8. Respuesta del sistema de orientación de un artefacto espa- cial mediante realimentación lineal de la salida utilizando un observador dinámico . . . . . . . . . . . . . . . . . . . . . . . . 92 4.9. Respuesta de un sistema aro – anillo controlado mediante re- alimentación completa del vector de estado . . . . . . . . . . . 97 4.10.Respuestas del sistema aro – anillo controlado por realimentación lineal de la salida utilizando un observador dinámico de estado 99 4.11.Sistema de tanques en cascada . . . . . . . . . . . . . . . . . . 103 4.12.Esquema de control realimentado lineal de la salida para un sistema de tanques mediante el uso de un observador de or- den reducido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.13.Estructura de un observador dinámico de orden reducido . . . 109 4.14.Estructura de control por realimentación lineal de la salida, a base de un observador dinámico de orden reducido . . . . . . 110 4.15.Medición de la altura en el péndulo simple (cm = centro de masa) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 VIII ÍNDICE DE FIGURAS 5.1. Determinación de la frecuencia última ω 0 y la ganancia últi- ma K 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.2. Esquema de control PID para Sistemas No Lineales . . . . . . 121 5.3. Gráfico de Nyquist de la función de transferencia para el sis- tema de suspensión magnética . . . . . . . . . . . . . . . . . . 122 5.4. Lugar de las raíces para el sistema de suspensión magnética . 123 5.5. Gráfico de Nyquist de la función de transferencia del modelo promedio de un convertidor de corriente continua tipo “Boost” 123 5.6. Lugar de las raíces del modelo promedio del convertidor Boost 124 5.7. Esquema de regulación promedio basado en un controlador PI para un convertidor tipo “Boost” . . . . . . . . . . . . . . . . 125 5.8. Interpretación del diseño en variables de estado . . . . . . . . 127 5.9. Representación del esquema controlador-observador clásico . 127 5.10.Esquema básico de compensación . . . . . . . . . . . . . . . . . 134 5.11.Esquema de compensación por adelanto . . . . . . . . . . . . . 135 5.12.Lugar de las raíces para el sistema compensado . . . . . . . . 136 5.13.Detalle del lugar de las raíces para el sistema compensado. El signo ‘*’ indica la ubicación aproximada de los polos para la ganancia K c = 29,72 . . . . . . . . . . . . . . . . . . . . . . . 137 5.14.Diagrama de Nyquist del sistema compensado para K c = 10. El sistema es inestable en lazo cerrado . . . . . . . . . . . . . . 137 5.15.Comportamiento dinámico del sistema de suspensión mag- nética en lazo cerrado con el compensador en adelanto diseñado138 5.16.Simulación para K c = 29,72 para x 1 (0) = 0,07 . . . . . . . . . . 140 5.17.Simulación para K c = 20 para x 1 (0) = 0,07 . . . . . . . . . . . 141 5.18.Descenso suave controlado en un planeta sin atmósfera . . . . 142 5.19.Las figuras en Matlab (R) . . . . . . . . . . . . . . . . . . . . . 145 6.1. Esquema de control no lineal obtenido para el satélite mono- axial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 6.2. Comportamiento del satélite mono-axial controlado median- te realimentación no lineal del vector de estados basada en linealización extendida . . . . . . . . . . . . . . . . . . . . . . . 161 6.3. Comportamiento del satélite mono-axial controlado por linea- lización extendida, limitando la señal de control mediante U m´ax —-; sin limitar - - - . . . . . . . . . . . . . . . . . . . . . . . 162 6.4. Esquema de control no lineal obtenido para el satélite mono- axial con ley de control limitada por el valor U m´ax . . . . . . . 162 6.5. Comportamiento del brazo manipulador robótico controlado por linealización extendida . . . . . . . . . . . . . . . . . . . . . 166 6.6. Posición angular del brazo manipulador robótico controlado por linealización extendida para diferentes condiciones iniciales166 6.7. Posición angular del brazo manipulador robótico para difer- entes condiciones iniciales usando una ley de control lineal . . 167 ÍNDICE DE FIGURAS IX 7.1. Diagrama de bloques del observador dinámico de estados para el satélite mono-axial, basado en linealización extendida . . . 187 7.2. Diagrama de bloques en lazo cerrado del sistema de control de un satélite, considerando un observador dinámico no lineal 187 7.3. Comportamiento de un satélite mono-axial controlado sobre la base de un observador dinámico de estados obtenido por linealización extendida . . . . . . . . . . . . . . . . . . . . . . . 190 7.4. Diagrama de bloques en lazo cerrado de un manipulador robóti- co, considerando un observador dinámico no lineal . . . . . . . 193 7.5. Comportamiento de un manipulador robótico controlado so- bre la base de un controlador y un observador dinámico de estados, obtenidos por linealización extendida . . . . . . . . . 194 7.6. Diagrama de bloques en lazo cerrado de un manipulador robóti- co, considerando un observador dinámico no lineal . . . . . . . 198 7.7. Comportamiento de un sistema de dos conductores acoplados magnéticamente controlado sobre la base de un controlador y un observador dinámico de estados, obtenidos por linealiza- ción extendida . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 7.8. Tanque reactor continuamente agitado, no isotérmico . . . . . 201 8.1. Diagrama de bloques en lazo cerrado del modelo promedio del convertidor Boost, controlado mediante un PI no lineal . . . . 208 8.2. Comportamiento del modelo promedio de un convertidor Boost regulado mediante un PI no lineal obtenido por linealización extendida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 8.3. Diagramas de Nyquist del sistema de tanques en cascada para diferentes valores de n . . . . . . . . . . . . . . . . . . . . 212 8.4. Diagrama de bloques en lazo cerrado de un sistema de tan- ques regulado mediante un PID no lineal . . . . . . . . . . . . 214 8.5. Simulación del comportamiento de un sistema de tres tan- ques en cascada controlados por intermedio de un PID no lineal214 8.6. Simulación del comportamiento de un sistema de tres tan- ques en cascada controlados por intermedio de un PID no lineal216 8.7. Esquema no lineal controlador-observador . . . . . . . . . . . . 218 8.8. Esquema de control no lineal controlador-observador para el manipulador robótico . . . . . . . . . . . . . . . . . . . . . . . . 225 8.9. Respuesta en lazo del manipulador robótico, regulado me- diante una ley no lineal basada en el controlador-observador clásico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.1. Diagrama de bloques del sistema aro – anillo . . . . . . . . . . 230 9.2. Diagrama de bloques del sistema “linealizado” . . . . . . . . . 231 9.3. Simulación numérica del sistema aro-anillo controlado . . . . 233 9.4. Posición angular del anillo y señal de control para diferentes condiciones iniciales . . . . . . . . . . . . . . . . . . . . . . . . . 234 9.5. Diagrama de bloques del manipulador robótico . . . . . . . . . 234 X ÍNDICE DE FIGURAS 9.6. Manipulador robótico transformado a una cadena de dos in- tegradores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.7. Respuesta en lazo del control de un brazo manipulador robóti- co usando el método del control calculado . . . . . . . . . . . . 238 9.8. Diagrama de bloques del sistema en forma canónica controlable242 Índice de cuadros 1.1. Nomenclatura empleada para el TRCA, modelo 2 . . . . . . . . 27 2.1. Simulación del sistema no lineal spend.m . . . . . . . . . . . . 47 2.2. Simulación del sistema lineal y presentación gráfica lpend.m . 48 3.1. Programa de simulación del artefacto espacial sejem1.m . . . 67 3.2. Simulación del artefacto espacial: modelo ejemplo1.m . . . . . 68 3.3. Programa de simulación del proceso incontrolable de produc- ción de etanol sejem2.m . . . . . . . . . . . . . . . . . . . . . . . 70 3.4. Modelo y ley de control ejemplo2.m empleados para la simu- lación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.5. Parámetros usados en el sistema del péndulo invertido sobre una plataforma móvil . . . . . . . . . . . . . . . . . . . . . . . . 72 4.1. Programa de simulación del artefacto espacial controlado me- diante un observador de Luenberger sejem3.m . . . . . . . . . 93 4.2. Simulación del artefacto espacial: modelo y observador ejemplo3.m 94 4.3. Programa de simulación del aro rotatorio controlado median- te una ley de realimentación del vector de estados sejem4.m . 96 4.4. Simulación del aro rotatorio controlado: modelo ejemplo4.m . 98 4.5. Programa de simulación del comportamiento del aro rotatorio controlado usando un observador sejem5.m . . . . . . . . . . . 100 4.6. Simulación del aro rotatorio: modelo y sistema dinámico del observador ejemplo5.m . . . . . . . . . . . . . . . . . . . . . . . 101 5.1. Parámetros K P , T I , T D del método de Ziegler-Nichols . . . . 119 5.2. Parámetros K 1 , K 2 , K 3 del método de Ziegler-Nichols . . . . 120 5.3. Programa de simulación del sistema de suspensión magnética smgto.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 5.4. Modelo y compensador en adelanto mgto.m . . . . . . . . . . . 140 5.5. Programas para generar los gráficos de Nyquist y del lugar de las raíces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 6.1. Parámetros del sistema de balance de un péndulo invertido . . . 170 XI XII ÍNDICE DE CUADROS 6.2. Programa de simulación del satelite mono-axial, modelo de Cayley-Rodrigues sejext1.m . . . . . . . . . . . . . . . . . . . . 174 6.3. Modelo y control de un saliélite mono-axial ejext1.m . . . . . 175 6.4. Programa de simulación del satelite mono-axial con actuador saturado sejext1b.m . . . . . . . . . . . . . . . . . . . . . . . . 176 6.5. Modelo y control saturado ejext1b.m . . . . . . . . . . . . . . . 177 6.6. Programa de simulación del manipulador robótico sejext2.m . 178 6.7. Modelo + control no lineal por linealización extendida (se in- cluye además el control linealizado) ejext2.m . . . . . . . . . . 179 7.1. Programa de simulación de la dinámica de un satélite mono- axial regulado mediante un controlador y un observador no lineales sejext3.m . . . . . . . . . . . . . . . . . . . . . . . . . . 188 7.2. Modelo, control y observador no lineales ejext3.m empleados para la simulación . . . . . . . . . . . . . . . . . . . . . . . . . . 189 7.3. Programa de simulación de un manipulador robótico regula- do mediante una realimentación y un observador no lineales, basados en linealización extendida srobleob2.m . . . . . . . . 195 7.4. Modelo de un manipulador robótico y ley de control con obser- vador no lineal basada en linealización extendida robleob2.m 196 7.5. Programa de simulación de un sistema de dos conductores regulado mediante una ley de control no lineal, basada en un observador diseñado mediante linealización extendida sconexob.m199 7.6. Modelo y ley de control con observador no lineal basada en linealización extendida conexob.m . . . . . . . . . . . . . . . . 201 8.1. Programa de simulación del comportmiento del modelo prome- dio del convertidor Boost, regulado mediante un PI nol lineal sboostex.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 8.2. Modelo del convertidor Boost y regulador PI no lineal boostext.m210 8.3. Programa de simulación del sistema de tanques controlados mediante un PID no lineal stanqext.m . . . . . . . . . . . . . . 215 8.4. Modelo del sistema de tanques e implementación del contro- lador PID no lineal tanqext.m . . . . . . . . . . . . . . . . . . . 216 9.1. Programa de simulación del sistema aro-anillo regulado me- diante control calculado sarole.m . . . . . . . . . . . . . . . . . 235 9.2. Simulación del sistema aro-anillo: modelo y observador arole.m236 9.3. Programa de simulación del control del manipulador robótico usando el método del torque calculado srobexa.m . . . . . . . . 239 9.4. Simulación del manipulador robótico: modelo y control por el método del torque calculado robexa.m . . . . . . . . . . . . . . 240 Notación En muchas ocasiones repetiremos ecuaciones o expresiones que han si- do ya vistas a lo largo del texto. Estas expresiones serán numeradas de la manera como originalmente fueron presentadas. Para diferenciarlas, se añadirá un asterisco “*” indicando que fueron empleadas anteriormente, de manera de no confundir al lector con la numeración que viene siguiendo. Por ejemplo, la ecuación (5.6) es reutilizada en la página 134, lo cual se indica mediante la etiqueta (5.6*). Los ejemplos se terminan con el símbolo . Los ejemplos en Matlab (R) se terminan con y los modelos se concluyen con la letra M. Los ejercicios indican la dificultad mediante una () o varias (). Consideraremos, salvo indicación expresa de lo contrario, la siguiente notación a todo lo largo del texto: x, u, y representan, respectivamente, las variables de es- tado, entrada y salida. (X, Y, U) valores de equilibrio (punto de operación) para x, y y u, respectivamente. t el tiempo t 0 el instante t = t 0 . x(t) “la variable x es función de t”, “valor de x en el instante t”, “respuesta (solución) de x en función del tiempo t”. ˙ x = dx dt derivada (tasa de variación) de x(t) respecto de t. A, B generalmente representan, respectivamente, la matriz del sistema y la matriz del control. XIII XIV NOTACIÓN Introducción [a completar] Se ha preferido utilizar los archivos tipo “script” y “function” de Mat- lab porque pueden ser ejecutados en cualquiera de las versiones 5.1, 6.1 o 6.5, con variaciones mínimas en la sintáxis. Sin embargo, los archivos Simulink (R) para la versión 6.5 están disponibles en la página web de este texto http://www.ing.ula.ve/~marquez/snl/. Este curso no es una introducción al uso de Matlab (R) para simulación, para ello referimos al lector a las muchas y excelentes referencias en el tema. Muchas de ellas están disponibles en Internet. 1 2 INTRODUCCIÓN 1 Algunos Modelos de Sistemas No Lineales Foto Nuestra atención estará centrada en los sistemas de tipo no lineal que puedan ser representados por modelos que involucren el uso de sistemas de ecuaciones diferenciales ordinarias no lineales 1 . En este capítulo precisaremos el tipo de sistemas que serán uti- lizados a lo largo de esta monografía. Vamos a introducir algunos modelos que serán empleados a lo largo del texto. A medida que avancemos iremos encontrando diferentes modelos matemáticos, por medio de los cuales se ha intentado representar de manera aproximada el comportamiento de sistemas reales. Las relaciones planteadas tienen su origen en la física, la química, la temrodiná dinámica, el balance de masa, energía, información, procedimien- tos empíricos, etc. Muchos de estos modelos se encuentran a todo lo largo de la literatura existente de control automático. 1 De allí que los métodos de análisis y diseño presentados NO se aplican a sistemas más complejos, conocidos con el nombre de sistemas a parámetros distribuidos, descritos, por lo general, por ecuaciones y sistemas de ecuaciones diferenciales parciales. 3 4 ALGUNOS MODELOS DE SISTEMAS NO LINEALES Ilustraremos algunos conceptos, tales como el de punto de equi- librio, fundamentales para el estudio de los capítulos posteriores. 1.1. Introducción Desde los inicios de la humanidad, el hombre ha tratado de entender y aprender de su medio ambiente a través de observaciones. A partir de estas observaciones se fue creando en su cerebro un modelo de la realidad circun- dante. Los diferentes modelos que formaba le servían para actuar dentro de su medio y para tratar de solventar sus problemas en la caceria, construc- ción de vivienda, etc. Con el paso del tiempo, y en virtud de los cambios en sus necesidades, estos modelos se fueron convirtiendo en modelos más sofisticados desde el punto de vista abstracto. Desde el punto de vista in- genieril, los modelos linguísticos y gráficos (diagramas, dibujos, etc.), los cuales transmitía a sus semejantes, le sirvieron para entender mejor y en una forma más sistemática su entorno, pero a la vez le permitieron afrontar problemas cada vez más complicados, como por ejemplo los sistemas de reg- ulación de la posición y de la velocidad en los molinos de viento, y los dis- positivos más simples, pero no menos ingeniosos, usados para controlar el nivel del líquido en los relojes de agua (clepsidra). Estos modelos, linguís- ticos y gráficos, constituyeron el origen de lo que posteriormente serían los llamados modelos matemáticos. Newton tuvo mucha razón cuando dijo que el lenguaje de la naturaleza es la matemática. La realidad física que nos rodea la hemos tratado de in- terpretar de diferentes maneras. Los modelos matemáticos constituyen una forma idónea de resolver muchos de los problemas que se nos presentan al enfrentarnos a esa realidad. Un modelo matemático de un sistema real constituye una represen- tación abstracta realizada en términos de lenguaje y simbología matemáti- ca (ecuaciones algebraicas, ecuaciones diferenciales, en diferencias, etc.) la cual resalta propiedades importantes del sistema en estudio. En nuestro ca- so, estaremos interesados en que el modelo presente las propiedades “más importantesrelativas al comportamiento dinámico (en el tiempo) del sis- tema a controlar, tomando en cuenta los requerimientos y la disponibilidad de recursos respecto a beneficios, costos, precisión y exactitud en represen- tar el comportamiento del sistema, seguridad o riesgos, etc. Por ejemplo, un modelo del comportamiento de varias sustancias en un reactor químico podría ser representado mediante un conjunto de ecuaciones diferenciales parciales que reflejan un comportamiento muy preciso y una inversión muy costosa, contrastando con muchas situaciones en las cuales es suficiente representar el sistema dado en la forma de ecuaciones algebraicas de las relaciones estáticas entre las sustancias, el cual resulta un modelo con un costo muy inferior al anterior. En el caso de un avión esto no puede ser 1.2 CLASE DE SISTEMAS BAJO ESTUDIO 5 así, el modelo a emplear tiene que ser lo suficientemente sofisticado co- mo para tomar en cuenta todas las variables necesarias: vientos, presión, condiciones climatológicas, etc. debido al elevado riesgo de vidas humanas involucradas. Un modelo matemático, obtenido por medio de leyes y relaciones de tipo físico, químico o de alguna otra índole, servirá para captar algunas de las propiedades importantes del sistema bajo estudio, dependiendo de las necesidades. Además de brindar la posibilidad de estudiar un sistema cualquiera, los modelos nos proporcionan las bases necesarias para tener una idea de cómo influenciar (regular o controlar) el comportamiento del sistema real. En último término, éste es el interés práctico del modelo en sí, brindar información relevante del sistema susceptible de ser controlado. Los sistemas de control de maquinaria, motores, aviones, reactores quí- micos, etc., están formados por procesos y plantas, habitualmente repre- sentados a través de modelos matemáticos que expresan las diferentes pro- piedades o comportamientos que satisfacen tales sistemas. Los sistemas dinámicos que estudiaremos describen procesos reales de naturaleza no li- neal. La herramienta matemática para su descripción está constituida por sistemas de ecuaciones diferenciales ordinarias no lineales a parámetros agrupados. 1.2. Clase de sistemas bajo estudio Considérese el siguiente conjunto de ecuaciones que representan un sis- tema no lineal con una sola entrada y una salida: ˙ x(t) = f(x(t), u(t)), x(t 0 ) = x 0 y(t) = h(x(t)) (1.1) donde x(t) es una función vectorial del tiempo la cual toma valores en el espacio de n-dimensiones y representa el estado del sistema, x(t) ∈ R n , u(t) Representación en variables de estado es una función escalar del tiempo y toma valores en la recta real, u(t) ∈ R. La variable y(t) es también una función escalar del tiempo y representa la salida del sistema, y(t) ∈ R. Las funciones f(·) y h(·) son funciones con- tinuas, diferenciables al menos una vez con respecto a cada uno de sus argumentos, definidas de tal forma que f : R n × R → R n y h : R n → R. Representaremos este sistema no lineal mediante el diagrama de bloques mostrado en la Figura 1.1. Recordemos que ˙ x = dx/dt representa la tasa de variación de la variable x respecto al tiempo. 1.3. Puntos de equilibrio Como veremos con más detalle posteriormente, nuestro objetivo es di- señar leyes o estrategias de control para la regulación del comportamiento en lazo cerrado del sistema estudiado. En forma precisa, se deseará regular 6 ALGUNOS MODELOS DE SISTEMAS NO LINEALES Figura 1.1: Diagrama de Bloques de un Sistema no lineal el comportamiento de las variables representativas del sistema alrededor de valores de referencia deseados. A estos valores de referencia se les llama puntos de operación, los cuales están estrechamente ligados a los puntos de equilibrio del sistema, presentados a continuación. Los puntos o trayectorias de equilibrio de un sistema no lineal se ob- Punto de equilibrio, punto de operación tienen de resolver la ecuación ˙ x ≡ 0, ver (1.1), esto es, cuando la tasa de variación de x es cero: f(x(t), U) = 0 ⇒ x(t) = X(U) (1.2) De la ecuación (1.2) resulta claro que, para calcular el punto de equi- librio (X, U), debemos resolver una ecuación implicita que depende de la señal de control en el equilibrio, dada por el valor U. Consideraremos sistemas de ecuaciones diferenciales de la forma (1.1) que poseen puntos de equilibrio constantes, los cuales pueden están dados por: u(t) = U; x(t) = X(U); y(t) = Y (U) = h(X(U)), para todo t. (1.3) En este caso, diremos que el punto de equilibrio está parametrizado en fun- Parametrización con respecto al control ción de la señal de control 2 constante U. Nótese que, en general, pueden existir múltiples puntos de equilibrio, con o sin sentido físico. Más aún, es posible que ni siquiera exista tal punto de equilibrio constante. A los sistemas donde aparezcan tales fenómenos los llamaremos casos patológicos. Ejemplo 1.1: No existe ningún punto de equilibrio Considere el sistema ˙ x(t) = 1 x(t) +u(t) y(t) = x(t) 2 Por supuesto, un punto de equilibrio podrá estar parametrizado por cualquier otra variable del sistema. De tal forma que, en función de un valor constante X del estado, tenemos: u(t) = U(X); x(t) = X; y(t) = Y (X) = h(X), para todo t 1.3 PUNTOS DE EQUILIBRIO 7 Evidentemente, si u = U = 0, no existe ningún punto de equilibrio para la variable de estado x(t). Sin embargo, si u = U = 0 entonces si existe un punto de equilibrio, el cual toma el valor x(t) = X(U) = −1/U. Ejemplo 1.2: Dos o más puntos de equilibrio El sistema descrito por ˙ x = u(x 2 −2) y = x tiene para u = U = 0 solamente dos puntos de equilibrio ubicados en x = ± √ 2. Sin embargo, si u = U = 0 entonces el sistema tiene infinitos puntos de equilibrio, ya que, en este caso, para cualquier x = X = constante, se cumple que dx/dt = 0. Los conceptos estudiados en este capítulo, y en capítulos posteriores, serán ilustrados mediante modelos matemáticos cuyo origen puede ser físi- co o no. Consideremos el siguiente modelo simplificado de un avión en vuelo horizontal. Primer modelo Modelo 1: Avión en vuelo horizontal Considere las ecuaciones diferenciales que describen la trayectoria de un avión que vuela des- cribiendo un círculo de radio R a una cierta altura sobre el nivel del mar (cuyo valor no interesa), en un plano de dos dimensiones paralelo al plano tangente a la tierra (ver Figura 1.2). El plano tiene por funciones coordenadas x 1 y x 2 , las cuales describen la posición del avión en cada in- stante. El parámetro de control es la función u, la cual representa la dirección del avión relativa a las coordenadas fijas (x 1 , x 2 ), la cual puede cambiarse a voluntad. El modelo del sistema es el siguiente: ˙ x 1 = V cos u ˙ x 2 = V sen u y = _ x 2 1 +x 2 2 −R (1.4) La salida del sistema representa la distancia a un círculo imaginario, trazado sobre el plano, con centro en el origen de coordenadas y radio R. Figura 1.2: Avión en vuelo horizontal M Ejemplo 1.3: Punto de equilibrio en el avión en vuelo horizontal En este caso no existe ningún punto de equilibrio constante pues el par de ecuaciones diferen- ciales igualadas a cero representan, para un valor fijo U de u, un sistema incompatible que no 8 ALGUNOS MODELOS DE SISTEMAS NO LINEALES posee solución alguna. Si expresamos el sistema anterior en coordenadas polares, a partir de la transformación de coordenadas dada por: ρ = _ x 2 1 +x 2 2 , θ = arctan _ x 2 x 1 _ x 1 = ρ cos θ, x 2 = ρ sen θ obtenemos: ˙ ρ = V cos(θ −u) ˙ θ = V sen(θ −u) y = ρ −R Es fácil ver que, para una dirección fija θ = Θ, el valor del control u = U = Θ produce un ángulo de dirección constante, en equilibrio, dado precisamente por θ = Θ, a partir de la segunda ecuación diferencial. Sin embargo, el radio vector crece o decrece a una rata constante V y por lo tanto ρ no tiene equilibrio constante. No queremos inducir al lector a pensar que lo común es que no se dispon- ga de puntos de equilibrio constantes para los sistemas dinámicos. La mayo- ría de los sistemas que trataremos (de origen eminentemente real: mecáni- co, eléctrico, químico, biológico, etc.) poseen puntos de equilibrio constantes. De hecho, la mayor parte de la tecnología de regulación automática en sis- temas de producción industrial está basada en esta sola premisa! 1.4. Sistemas de naturaleza física real Veremos ahora algunos modelos en los cuales se establece, posiblemente bajo algunas condiciones, un punto de equilibrio único. Modelo 2: Gas confinado a un recipiente cerrado La ecuación diferencial que describe los cambios de presión de un gas dentro de un tanque, del cual se permite cierto escape en régimen subcrítico, está dada por: dP dt = − RTK 0 A 0 V _ P 0 (P −P 0 ) + RT V u (1.5) donde u es el volumen de gas por unidad de tiempo, con que se alimenta el tanque usando un compresor. Este valor, se supone, no depende de la presión. La alimentación se lleva a cabo de tal manera que los cambios de presión del gas son suficientemente lentos como para considerarlos isotérmicos. V es el volumen del recipiente, A 0 y K 0 son constantes que dependen de la válvula de entrada y del gas considerado. R es la constante universal de los gases y T es la temperatura a la que se lleva a cabo el proceso. P 0 es igualmente una constante. M Ejemplo 1.4: Punto de equilibrio: Gas confinado a un recipiente cerrado Evidentemente, si no alimentamos gas alguno al tanque, u = U = 0, el punto de equilibrio de la presión es P = P 0 . Si, por el contrario, inyectamos una cantidad constante de gas u = U = 0, el punto de equilibrio para la presión resulta ser ahora: P(U) = P 0 + 1 P 0 _ U K 0 A 0 _ 2 (1.6) el cual es mayor que el valor de equilibrio anterior, como es lógico suponer. 1.4 SISTEMAS DE NATURALEZA FÍSICA REAL 9 Figura 1.3: Péndulo simple Modelo 3: Péndulo sin amortiguamiento El modelo de un péndulo simple sin amortiguamiento (ver Figura 1.3) está dado por: ˙ x 1 = x 2 ˙ x 2 = − mgL J cos x 1 + 1 J u y = x 1 (1.7) donde x 1 = θ, ˙ x 1 = x 2 = ˙ θ representan la posición y la velocidad angular de la barra respecto al eje de referencia. u representa el torque aplicado por un servomotor. m es la masa total de la barra concentrada en su centro de masa; g representa la aceleración de gravedad, L es la distancia desde el origen hasta el punto cm y J corresponde al momento de inercia de la barra respecto al centro de masa. M Ejemplo 1.5: Punto de equlibrio: Péndulo sin amortiguamiento El punto de equilibrio para x 2 es, simplemente, x 2 = 0. Sin embargo, si u = U = 0, entonces para todo valor del ángulo x 1 que haga cos x 1 = 0, tendremos infinitos puntos de equilibrio constante para x 1 . En efecto, x 1 = ±k π/2, k = 1, 2, 3, . . ., son puntos de equilibrio del sistema. Sin embargo, si restringimos el espacio de estados a una región donde x 1 pertecenece al intervalo x 1 ∈ [π/2 − δ, π/2 + δ], para un δ suficientemente pequeño, entonces el sistema (1.7) poseerá un único punto de equilibrio sobre ese rango de valores. Fisicamente, este punto de equilibrio correpondería a la posición vertical, inestable, del péndulo. Modelo 4: Tanque de reacción biológica continuamente agitado Las siguientes ecuaciones diferenciales describen el crecimiento del metanol en un tanque de reacción biológica continuamente agitado que utiliza organismos conocidos como metilomonas. Si x 1 representa la densidad de células de metilomonas y x 2 representa la concentración del metanol, el sistema se describe como: ˙ x 1 = Aµx 2 B +x 2 x 1 −ux 1 ˙ x 2 = − Aσx 2 B +x 2 x 1 +u(A f −x 2 ) y = x 2 (1.8) donde u es la tasa de disolución del substrato y A f es la concentración del substrato en la ali- mentación del tanque, la cual puede ser considerada constante. Aµ y Aσ son constantes conoci- das. M 10 ALGUNOS MODELOS DE SISTEMAS NO LINEALES Ejemplo 1.6: Punto de equilibrio del tanque de reacción biológica Para valores constantes de la tasa de disolución, u = U, el sistema tiene dos puntos de equilibrio constantes. Uno de ellos ubicado en (0, A f ) y el otro en: x 1 = X 1 (U) = Aµ Aσ (A f Aµ −(A f +B)U) Aµ −U ; x 2 = X 2 (U) = BU Aµ −U (1.9) Como hemos visto, no solo la existencia sino la naturaleza misma de los puntos de equilibrio de un sistema no lineal dependen en alto grado del valor del punto de equilibrio del control. En aquellos casos en que el punto de equilibrio de las variables de estado y la variable de salida sean calcula- bles en términos del valor U de la señal de entrada u, diremos que el pun- to de equilibrio se encuentra parametrizado por el valor del control. Tales parametrizaciones son muy importantes en la teoría de la linealización y sus extensiones recientes. Sin embargo, la parametrización de los puntos de equilibrio no es potes- tativa únicamente en términos del valor constante de la señal de control. También es posible parametrizar la familia de puntos de equilibrio posibles de un sistema en términos de un valor constante de alguna de las variables Parametrización con respecto al estado de estado en particular. Veamos el siguiente ejemplo. Figura 1.4: Satélite mono-axial (cuerpo que gira alrededor de un eje mediante expulsión de gases) Modelo 5: Satélite mono-axial (Cayley-Rodrígues) Considérese un cuerpo que gira alrededor de un eje fijo en el espacio ingrávido accionado por torques, los cuales son producidos gracias a la expulsión controlada de gases, mediante un sis- tema de toberas de reacción adosadas al cuerpo en forma opuesta, tal como se ilustra en la Figura 1.4. El modelo que se presenta está asociado al problema de orientación de un satélite mono-axial cuyo ángulo de orientación, respecto de un eje oblicuo no coincidente con el eje principal, se mide utilizando la representación de Cayley-Rodrígues dada por: 1.5 MODELOS EMPLEADOS A LO LARGO DEL TEXTO 11 ˙ x 1 = 0,5 (1 +x 2 1 ) x 2 ˙ x 2 = 1 J u y = x 1 (1.10) donde x 1 es el ángulo de orientación del satélite medido respecto de un eje oblicuo, no coincidente con el eje principal; x 2 es la velocidad angular respecto al eje principal; la variable u representa el torque aplicado. M Ejemplo 1.7: Parametrización respecto a un estado X en equilibrio Como se observa, en el equilibrio, la entrada u está dada por U = 0 y, además, para los estados tenemos x 1 = X 1 (constante arbitraria) y x 2 = 0. Evidentemente, en este caso el punto de equilibrio se parametriza en términos de la posición angular X 1 y no del valor del control el cual debe ser cero, necesariamente, en el equilibrio. En este capítulo no insistiremos más en parametrizaciones particulares, pues ellas tendrán realmente importancia cuando estudiemos el método de la Linealización Extendida más adelante. Así en lo sucesivo, expresaremos el punto de equilibrio asociado al sistema (1.1) como un conjunto dado por (U, X, Y ). En ocasiones, cuando la salida no sea considerada en forma espe- cial o de manera explícita, simplemente nos referiremos al punto de equlib- rio mediante (U, X). 1.5. Modelos empleados a lo largo del texto En esta parte presentaremos un número significativo de sistemas no li- neales controlados. A pesar de que esta lista puede estar incompleta, estos modelos han sido escogidos de tal forma que sean representativos e ilustra- tivos de las diferentes áreas donde pueden encontrarse sistemas controla- Modelos de naturaleza química, eléctrica, mecánica, etc. dos, representados por medio de ecuaciones diferenciales ordinarias no li- neales. Estos ejemplos, y otros que presentaremos en secciones posteriores, serán empleados a lo largo del texto para ilustrar el diseño de las diferentes estrategias de control empleadas. En lo sucesivo, se propone al lector, como ejercicio, verificar los pun- tos de equilibrio de algunos de estos sistemas, tengan sentido físico o no. Nótese que se podrán presentar complicaciones al momento de obtener parametrizaciones particulares respecto del punto de operación deseado y, por lo tanto, se debe recurrir en algunos casos a métodos numéricos (¡y has- ta simulaciones!) para obtener los valores adecuados. Parametrización del punto de equilibrio respecto de cualquier variable Por razones de índole didáctico, hemos tratado de presentar aquellos modelos que permitan, en lo posible, obtener parametrizaciones particula- res respecto a un valor nominal de la señal de control, u = U. Sin embargo, el lector también encontrará sistemas cuyo punto de equilibrio esta para- metrizado respecto al valor nominal de alguna variable específica, sea ésta una variable de estado particular x i = X, o de salida y = Y . 12 ALGUNOS MODELOS DE SISTEMAS NO LINEALES Figura 1.5: Esquema de un artefacto espacial que requiere control de su orientación a un valor deseado (θ = Θ) Modelo 6: Control de la orientación de un artefacto espacial Supóngase que deseamos controlar la posición angular θ de un artefacto espacial, como el que se muestra en la Figura 1.5. Para controlar este artefacto se dispone de una tobera que puede girar alrededor de su base sobre un pivote especial. El ángulo de orientación de la tobera respecto al eje principal del cuerpo de la astronave es β. La tasa de variación del ángulo de la tobera es directamente proporcional a u. L es la distancia desde el punto de apoyo de la tobera en el cuerpo del artefacto hasta el centro de gravedad de la nave (cg). Se supone que la fuerza F de reacción, debida a la expulsión de los gases de la combustión del motor del artefacto, está aplicada sobre el punto de apoyo de la tobera. Como consecuencia de la fuerza F el artefacto gira alrededor de su centro de gravedad en uno u otro sentido. El problema de control consiste en mantener el ángulo θ en un valor fijo Θ, usando como control la velocidad de variación u del ángulo β de la tobera. Los sistemas aeroespaciales siempre han constituido una fuente muy rica de modelos y sistemas a controlar Las ecuaciones diferenciales que rigen el movimiento del sistema se obtienen de la segunda Ley de Newton: J d 2 θ dt 2 = torque neto aplicado = fuerza ×brazo = F sen βL (1.11) El ángulo β crece, o decrece, de acuerdo al control aplicado u mediante la ley de variación: dβ dt = Ru (1.12) donde R es una constante conocida que representa una cierta ganancia estática del actuador o transductor que convierte el comando u en velocidad de variación del ángulo β. Supondremos que existe cierta limitación en los valores de u, los cuales adscribiremos, arbitrariamente, al intervalo cerrado [−1, 1]. Las variables de estado del sistema se escogen como: x 1 = θ; x 2 = dθ dt = ω; x 3 = β A partir de las ecuaciones (1.11) y (1.12), el sistema no lineal se describe de la manera siguiente: ˙ x 1 = x 2 ˙ x 2 = FL J sen x 3 ˙ x 3 = Ru (1.13) 1.5 MODELOS EMPLEADOS A LO LARGO DEL TEXTO 13 M Ejemplo 1.8: Punto de operación: dinámica del artefacto espacial El punto de equilibrio del sistema, físicamente significativo, se obtiene haciendo cero el miembro derecho de cada ecuación de estado. Este resulta ser: x 1 = arbitrario = Θ; x 2 = 0; x 3 = 0; u = 0 (1.14) Nótese que el valor x 3 = ±kπ también califica como punto de equilibrio, pero no es fisicamente factible “introducir la tobera dentro de la nave". De hecho, la posición angular de la tobera se debe restringir a valores que están contenidos estrictamente dentro del intervalo [−π/2, +π/2], es decir, −π/2 < β m´ın < β < β m´ax < +π/2. Figura 1.6: Convertidor de potencia DC–DC tipo “Boost” Modelo 7: Modelo promedio de un convertidor DC-DC del tipo “Boost” En la Figura 1.6 se presenta el circuito eléctrico correspondiente a un convertidor tipo “Boost” Los convertidores de potencia constituyen sistemas no lineales prácticos por excelencia DC-DC de corriente continua. Este circuito se puede describir mediante el siguiente sistema de ecuaciones de estado 3 : ˙ x 1 = −ω 0 x 2 +uω 0 x 2 +b ˙ x 2 = ω 0 x 1 −ω 1 x 2 −uω 0 x 1 y = x 2 (1.15) donde x 1 = I √ L, x 2 = V √ C, representan las variables normalizadas de la corriente de entrada a la bobina L del convertidor y la tensión de salida del condensador C, respectivamente. b = E/ √ L > 0 es el valor numérico normalizado de la fuente externa de tensión constante E. Las constantes ω 0 = 1/ √ LC y ω 1 = 1/RC reciben el nombre, respectivamente, de frecuencia natural de oscilación del circuito LC de entrada y constante de tiempo del circuito RC de salida. La variable u denota la función de posición del interruptor, la cual actua como variable de control, tomando valores en el conjunto discreto {0, 1}. Esta señal es sintetizada mediante transistores. Consideremos el modelo promedio, con variables normalizadas, del convertidor tipo ”Boost” regulado mediante un esquema de conmutación por modulación de ancho de pulsos: Modelo promedio del convertidor Boost ˙ z 1 = −ω 0 z 2 +µω 0 z 2 +b ˙ z 2 = ω 0 z 1 −ω 1 z 2 −µω 0 z 1 y = z 2 (1.16) donde z 1 representa la corriente normalizada promedio de entrada, z 2 es la tensión normalizado promedio de salida. La señal de control u, de tipo discontinuo, se reemplaza aquí por la función 3 Nótese que este modelo es del tipo bilineal, es decir, presenta productos de la forma x i u. Se dice que un sistema de control es bilineal si, al observar el control y el estado independien- temente, el sistema es lineal en el control u y es lineal respecto al estado x. 14 ALGUNOS MODELOS DE SISTEMAS NO LINEALES continua µ, denominada relación de trabajo del conmutador electrónico. La variable de control µ satisface la relación de saturación 0 ≤ µ ≤ 1. En electrónica de potencia, sobretodo en el caso de convertidores de potencia DC–DC, se acostumbra emplear este tipo de modelos promedios para control y análisis de los circuitos. Estos modelos permiten aproximar “en promedio” el comportamiento real conmutado que presentan es- tos convertidores. Detalles sobre este tópico pueden ser encontrados en [SR89, SNLV89, KBBL90, SV91]. M Ejemplo 1.9: Punto de equilibrio del modelo promedio del convertidor Boost El punto de equilibrio se obtiene a partir del modelo del convertidor (1.16), para una relación de trabajo constante µ = U, resolviendo el siguiente sistema de ecuaciones (no lineales): −ω 0 Z 2 +U ω 0 Z 2 +b = 0 ω 0 Z 1 −ω 1 Z 2 −U ω 0 Z 1 = 0 De aquí resultan los valores constantes de corriente y tensión promedio normalizados: µ = U ; Z 1 (U) = b ω 1 ω 2 0 (1 −U) 2 ; Z 2 (U) = b ω 0 (1 −U) (1.17) Figura 1.7: Sistema de suspensión magnética Modelo 8: Sistema de levitación magnética La Figura 1.7 muestra un sistema de suspensión magnética que permite mantener levitada una Este ejemplo será utilizada muchas veces a lo largo del texto pequeña esfera metálica de masa m. El objetivo del controlador será regular el valor de la corriente i del circuito del electroimán, de tal forma que la esfera se mantenga suspendida a una distancia constante x = X del electromagneto. La tensión (voltaje) aplicado al circuito es v(t) y actúa como variable de control. Las ecuaciones diferenciales que describen el sistema están dadas por: L di dt = −Ri +v(t) m d 2 x dt 2 = mg −fm = mg − ci 2 x (1.18) donde i es la corriente del circuito y x es el desplazamiento de la esfera medido desde el elec- tromagneto. L es la inductancia del electromagneto y c es una constante conocida. La fuerza fm de atracción que ejerce el magneto sobre la esfera se supone inversamente proporcional a la dis- tancia x y directamente proporcional al cuadrado de la corriente. La salida se obtiene a través de 1.5 MODELOS EMPLEADOS A LO LARGO DEL TEXTO 15 un fotosensor mediante el cual se realiza la medición de la altura de la esfera metálica suspendi- da en el aire. Este modelo aunque aproximado describe con cierta precisión el fenomeno de la levitación magnética. Sin embargo, tal modelo no es válido para distancias muy pequeñas o cero. Véase la referencia [CKS93], donde se puede conseguir un enfoque muy similar al utilizado para la obtención de este modelo. Escogemos como variables de estado y como variable de control del sistema a las siguientes variables físicas, x 1 = x ; x 2 = ˙ x ; x 3 = i ; u = v(t) , y reescribimos las ecuaciones diferenciales anteriores (1.18) como un sistema de ecuaciones diferenciales de primer orden, dado por ˙ x 1 = x 2 ˙ x 2 = g − c m x 2 3 x 1 ˙ x 3 = − R L x 3 + 1 L u y = x 1 (1.19) M Ejemplo 1.10: Varias parametrizaciones del punto de equilibrio: sistema de levitación magnética Los puntos de equilibrio se obtienen igualando a cero los segundos miembros de las ecuaciones diferenciales anteriores con u = U = constante. Obtenemos entonces los puntos de equilibrio en términos de una parametrización del valor deseado X de la distancia: x 1 = X 1 (X) = X ; x 2 = 0 ; x 3 = X 3 (X) = _ mgX c ; u = U(X) = R _ mgX c (1.20) Una parametrización diferente está constituida por aquella que utiliza el valor constante U del control. Tal parametrización está dada por: x 1 = X 1 (U) = cU 2 mgR 2 ; x 2 = 0 x 3 = X 3 (U) = U R ; u = U Figura 1.8: Manipulador robótico de unión rígida 16 ALGUNOS MODELOS DE SISTEMAS NO LINEALES Modelo 9: Manipulador robótico de una sola unión rígida Considérese el manipulador robótico de una sola unión que se muestra en la Figura 1.8. El modelo no lineal de este sistema se puede representar mediante las siguientes ecuaciones: ˙ x 1 = x 2 ˙ x 2 = − B J x 2 − c J sen _ x 1 N _ + 1 J u y = x 1 (1.21) donde x 1 = θp(Posición angular), x 2 = ˙ θp (velocidad angular), son las variables de estado y la variable de control está dada por el torque aplicado u = τ. El parámetro N corresonde al factor de reducción angular del juego de engranajes que acopla el eje del motor al eje del brazo manipulador; B es el coeficiente de fricción viscosa y J es el momento de inercia; c es una constante empírica que iguala al triple del producto MgL, donde M es la masa del brazo, g es la aceleración de la gravedad y L es la distancia del eje al centro de masa del brazo manipulador. M Ejemplo 1.11: Varias parametrizaciones del punto de equilibrio: Manipu- lador robótico El punto de equilibrio del sistema (1.21), parametrizado con respecto a la posición angular desea- da X, está dado por: x 1 (X) = X; x 2 (X) = 0; u = U(X) = c sen _ X N _ (1.22) El punto de equilibrio del sistema, parametrizado con respecto al torque nominal U que pro- duce la posición angular deseada X, está dado por: x 1 = X(U) = N sen −1 _ U c _ ; x 2 (U) = 0; u = U (1.23) donde, evidentemente, debe cumplirse que U < c. Modelo 10: Tanque de reacción continuamente agitado (TRCA) Considérese el siguiente modelo sencillo, de naturaleza no lineal, de un tanque de reacción contin- uamente agitado (continuous stirred tank reactor, en inglés) en el cual se lleva a cabo una reacción química, en fase líquida, de carácter isotérmica entre multicomponentes: ˙ x 1 = −(1 +D a1 )x 1 +u ˙ x 2 = D a1 x 1 −x 2 −D a2 x 2 2 y = x 1 +x 2 (1.24) donde x 1 representa la concentración normalizada (adimensional) C P /C P 0 de una cierta especie P en el reactor. Designaremos por Y = C P 0 a la concentración nominal total de las especies P y Q, medida en [mol.m −3 ]. La variable de estado x 2 representa la concentración normalizada C Q /C P 0 de la especie Q. La variable de control u se define como la relación de la tasa de ali- mentación molar por unidad volumétrica de la especie P, designada mediante N PF , y la concen- tración nominal C P 0 , es decir, u = N PF /FC P 0 donde F es la tasa volumétrica de alimentación en [m 3 s −1 ]. Las constantes D a1 y D a2 se definen respectivamente como k 1 V/F y k 2 V C P 0 /F siendo V el volumen del reactor, en [m −3 ], y las constantes k 1 y k 2 son las constantes de primer orden, dadas en [s −1 ]. Se puede tomar como valores de las constantes D a1 = 1 y D a2 = 1. M Ejemplo 1.12: Punto de equilibrio: TRCA El punto de equilibrio parametrizado en función de la concentración de la especie P es: x 1 = arbitrario = X, x 2 = 1 2D a2 _ _ 1 + 4D a1 D a2 −1 _ ; u = (1 +D a1 )X (1.25) 1.5 MODELOS EMPLEADOS A LO LARGO DEL TEXTO 17 Figura 1.9: Motor serie de corriente continua Modelo 11: Motor serie de corriente continua La Figura 1.9 representa el diagrama esquemático de un motor de corriente continua que posee conexión en serie de su circuito de armadura (subíndice a) y su circuito de alimentación del campo (subíndice f). Las ecuaciones de estado que describen este sistema no lineal están dadas por: ˙ x 1 = x 2 ˙ x 2 = KmK f J x 2 3 ˙ x 3 = − K ba K f L f x 2 x 3 − Ra +R f L f x 3 + 1 L f u (1.26) donde x 1 = θ corresponde al ángulo del eje del motor, x 2 = ω, es la velocidad angular del eje del motor, x 3 = ia = i f representa la corriente común que fluye por los circuitos de armadura y del campo. La señal de control u = V T corresponde a la tensión de alimentación de la red. M Ejemplo 1.13: Punto de equilibrio: Motor serie de corriente continua El punto de equilibrio del sistema (1.26), parametrizado respecto a uno de los estados, es el siguiente: x 1 = arbitrario = X ; x 2 = 0 ; x 3 = 0 ; u = 0 Modelo 12: Control de un reactor de fisión El siguiente sistema no lineal representa, de manera muy aproximada, la dinámica de una reacción atómica en un proceso de fisión nuclear: ˙ x 1 = u −β L x 1 +λx 2 ˙ x 2 = β L x 1 −λx 2 (1.27) donde x 1 representa la población de neutrones, x 2 es la población de “precursores” y la variable de control u recibe el nombre de reactividad. Los parámetros β, λ y L son constantes conocidas. M Ejemplo 1.14: Punto de equilibrio: Control de un reactor de fisión El objetivo del control planteado para el sistema (1.27) será el de mantener la población de neu- trones a un nivel constante N, preestablecido. El punto de equilibrio parametrizado en términos de la población deseada de neutrones N, está dado por: x 1 = X 1 (N) = N; x 2 = X 2 (N) = βN λL ; u = 0 (1.28) 18 ALGUNOS MODELOS DE SISTEMAS NO LINEALES Figura 1.10: Representación simplificada del comportamiento del TCP Modelo 13: Control de congestión de datos en Internet: TCP El protocolo de control de transmisión o TCP (siglas en inglés de Transmission Control Protocol ) es el protocolo de transmisión de datos más utilizado hoy en día para el envío de datos en Internet. Los protocolos HTTP, FTP, etc., lo utilizan para hacer sus conexiones. Una conexión se establece Los mecanismos dinámicos inherentes a Internet constituyen hoy en día una parte importante del estudio en teoría de control entre una computadora fuente y una destino. El comportamiento TCP se ilustra en la Figura 1.10. Después de enviado un paquete, el destino genera una señal ACK (acuse de recibo), de confir- mación de la recepción del mismo. Estudiemos la etapa de congestión. Si la fuente se encuentra enviando W paquetes (desde el punto de vista de la fuente, en la red están circulando en este instante n paquetes que no tienen acuse de recibo), se dice que la ventana de congestión de la fuente es de W paquetes. Por cada ACK, el tamaño de la ventana aumenta en 1/W. Al recibir un número de W acuses de recibo, se dice que ha transcurrido un RTT (round trip time por su siglas en ingés), y el TCP hace que la ventana, entonces, aumente a W +1. La ocurrencia de una pérdida de un paquete (no hay confirmación de recepción) constituye una indicación de que la red puede estar congestionada, e inmediatamente el tamaño de la ventana se reduce a la mitad W/2. Es decir, si no hay pérdidas de paquetes el tamaño de la ventana aumenta de manera aditiva, y cuando hay pérdidas, el tamaño de la ventana se disminuye a la mitad (se multiplica por 1/2). De esta forma, el TCP está incluido en los llamados algoritmos de incremento aditivo–decremento multipllicativo o AIMD por sus siglas en inglés. Este algoritmo ha sido intensamente estudiado en los últimos años, ver por ejemplo [Kel01, HMTG02]. Un modelo promedio propuesto, que representa de manera simplificada el comport- miento de este sistema es el siguiente [MASA04] (véase también [Low03]): RTT dx dt = _ a − _ a + 2b 2 −b x _ µ _ (1.29) donde a es el parámetro de incremento aditivo y b es el parámetro de decremento multiplicativo; los valores nominales de estos parámetros son a = 1 y b = 1/2. Las variables x y µ, representan respectivamente el tamaño de la ventana de congestión, medido en número de paquetes, y la tasa temporal de pérdida de paquetes (la entrada); el parámetro RTT está dado en segundos. M Ejemplo 1.15: Punto de equilibrio del TCP Para un valor constante de la tasa de pérdida de paquetes µ = U = RTT/T, el punto de equilibrio del sistema (1.29) está dado por: X = a(2 −b) 2b 1 −U U = a(2 −b) 2b _ T RTT −1 _ (1.30) Modelo 14: Proceso de producción de etanol Un proceso de fermentación de azucar para la producción de etanol se describe mediante el 1.5 MODELOS EMPLEADOS A LO LARGO DEL TEXTO 19 siguiente par de ecuaciones diferenciales ordinarias: ˙ x 1 = x 2 −x 1 u ˙ x 2 = −x 2 + (1 −x 2 )u (1.31) donde x 1 representa la concentración de etanol, x 2 describe la concentración de azúcar y u es la tasa de alimentación del substrato que actúa como variable de control. M Ejemplo 1.16: Punto de operación: proceso de producción de etanol Se desea regular la concentración de etanol a un valor constante x 1 = E. El punto de equilibrio del sistema se obtiene a partir de las ecuaciones diferenciales, igualando a cero las derivadas de las variables de estado: x 1 = X 1 (E) = E; x 2 = X 2 (E) = 1 −E; u = U(E) = 1 −E E (1.32) Puesto que ambas concentraciones deben ser, necesariamente, positivas; tenemos las si- guientes restricciones en equilibrio para el sistema: 0 < X 1 (E) = E < 1; U > 0; 0 < X 2 (E) < 1 (1.33) Modelo 15: Sistema de nivel de líquido en un conjunto de tanques dis- puestos en cascada Considere el problema general de controlar la altura del líquido en el último tanque Tn, de una serie de n tanques idénticos y no interactuantes, cuya entrada u(t) está representada por el flujo (no negativo), u ≥ 0, entregado al primer tanque y la salida está constituida por la altura del líquido en el n-ésimo tanque. Si designamos por x i la altura en el i-ésimo tanque, el modelo dinámico que describe el sistema es el siguiente: ˙ x 1 = − c A √ x 1 + 1 A u ˙ x i = − c A √ x i + c A √ x i−1 ; i = 2, 3, . . . , n y = xn (1.34) donde c es una constante que representa la resistencia a la salida de líquido y A es el área de la base de cualquiera de los tanques. M Ejemplo 1.17: Punto de equilibrio: Sistema de nivel de líquido en tanques Para un valor constante del flujo de entrada u = U, el punto de equilibrio del sistema es, simple- mente: u = U ; x i (U) = X i (U) = U 2 c 2 ; i = 1, 2, . . . , n ; y(U) = Y (U) = U 2 c 2 (1.35) Modelo 16: Posición de un anillo sobre un aro rotatorio Considerese el caso de un anillo que se desliza sin roce sobre un aro que se puede hacer girar a velocidad angular ω, regulable a voluntad (ver Figura 1.11). Se desea mantener el valor del ángulo θ en un valor constante deseado dado por θ = Θ. La variable de control en este caso esta constituida por el cuadrado de la velocidad angular u = ω 2 . El radio del aro, que se supone indeformable por efecto de la fuerza centrífuga, está dado por a. El modelo del sistema está dado por: a d 2 θ dt 2 = −g sen θ +aω 2 sen θ cos θ 20 ALGUNOS MODELOS DE SISTEMAS NO LINEALES Figura 1.11: Aro rotatorio sobre el que desliza un anillo cuya posición angular se desea controlar Este modelo lo podemos reescribir de la manera siguiente: ˙ x 1 = x 2 ˙ x 2 = − g a sen x 1 +usen x 1 cos x 1 (1.36) M Ejemplo 1.18: Posición de equilibrio de un anillo sobre un aro rotatorio para una velocidad U constante Al parametrizar en términos de la posición angular x 1 = Θ, el punto de equilibrio se expresa como: x 1 (X) = X = Θ; x 2 (X) = 0; u(X) = U = g a cos X (1.37) Debemos recalcar que el punto de equilibrio x 1 = 0 carece de interés, pues para lograrlo basta con detener el movimiento del aro alrededor de su eje. Para un valor fijo u = U del cuadrado de la velocidad angular tenemos el siguiente punto de equilibrio: x 1 (U) = arc cos _ g aU _ ; x 2 (U) = 0; u = U Es fácil ver que Θ no puede adoptar por valores de equilibrio ±π/2, ±3π/2, . . . , (2k + 1)π/2 para i = ±1, ±2, . . .. Para estos puntos de equilibrio es necesario imprimirle al aro una velocidad angular infinitamente grande, lo cual es imposible físicamente. Igualmente, en (1.36) se puede ver que para los valores antes mencionados, se hace cero el término que acompaña al control, anulando el canal de entrada al sistema y perdiendo, por ende, la controlabilidad. 1.6. Ejercicios propuestos En esta sección se presentan algunos ejercicios asociados al contenido estudiado en este capítulo. Nuestro objetivo es permitirle al estudiante aplicar y/o profundizar los conceptos ilustrados a lo largo del texto. Ejercicio 1.1: Modelado de un sistema masa–resorte–amortiguador Modele el sistema de dos masas de la Figura 1.12 y obtenga una representación en variables de estado de dicho modelo. Considere dos casos, 1.6 EJERCICIOS PROPUESTOS 21 Figura 1.12: Sistema masa–resorte–amortiguador 1. Caso lineal: Los términos g1, g2, k1, k2 son constantes y permiten obtener relaciones lineales en el modelo. 2. Caso no lineal: asumimos que g1(·) y g2(·) son funciones que representan la característica de cada resorte, es decir, representan fuerzas en función de la elongación del resorte de tal manera de considerar los llamados resortes suaves y resortes duros: g1(ε) = a1ε +b1ε 3 g2(ε) = a2ε +b2ε 3 donde ε se corresponde a la elongación del resorte. Obtenga los puntos de equilibrio del sistema. () Ejercicio 1.2: Modelo en variables físicas originales del convertidor Boost Considere el Modelo 7 en la página 13. A partir del circuito mostrado en la figura 1.6, obtenga el modelo del circuito Boost, en términos de la tensión Vc en los terminales del condensador y de la corriente IL que atraviesa la bobina. Compruebe que el modelo normalizado (1.15) se obtiene a partir de éste. Ayuda: En la página web http://www.ing.ula.ve/~marquez/snl/ se encuentra una descripción y algunos ejemplos acerca del modelado de este tipo de circuitos. () Ejercicio 1.3: Convertidor ´ Cuk: modelo en variables físicas originales En el artículo H. Sira-Ramírez y M.T. Prada-Rizzo, "Nonlinear Feedback Regu- lator Design for the Cuk Converter,"IEEE Transactions on Automatic Control. vol. 37, pp. 1173-1180, 1992, [SRPR92], aparece el modelo normalizado de un conver- tidor de potencia ´ Cuk. Obtenga el modelo en variables físicas originales a partir de 22 ALGUNOS MODELOS DE SISTEMAS NO LINEALES las leyes de Kirchoff. Tome como variables de estado las intensidades de corriente en las bobinas, IL 1 e IL 2 , y la tensión Vc en el condensador. Compare con el modelo normalizado presentado en ese artículo. () Ejercicio 1.4: Modelado de un circuito con una resistencia no lineal Figura 1.13: Circuito de Chua controlado Obtenga las ecuaciones diferenciales que representan el comportamiento del cir- cuito mostrado en la Figura 1.13. ¿Cuál es el punto de equilibrio resultante para un valor constante de la fuente I f = constante? La tensión V en los extremos de la resistencia no lineal RN corresponde a una función no lineal de la corriente i que circula por la resistencia, dada por V = f(i). () Ejercicio 1.5: Modelos de sistemas de levitación magnética Se sugiere al lector revisar algunos modelos diferentes al Modelo 8 en la pági- na 14. Considere por ejemplo las siguientes referencias: D. Cho, Y. Kato, D. Spilman, “Sliding mode and classical controllers in magnetic levitation systems”, IEEE Con- tr. Syst. Mag., vol. 13, pp. 42–48, 1993; D. L. Trumper, S. M. Olson, P. K. Subrah- manyan, “Linearizing control of magnetic suspension systems”, IEEE Trans. Contr. Syst. Technol., vol. 5, pp. 427–438, 1997. () Modelo 17: Esfera sobre riel Se desea balancear una esfera montada sobre el riel de una barra metálica, de tal forma de llevarla al medio de la barra. Ver Figura 1.14. Al aplicar un torque al centro de rotación, la barra puede rotar sobre el plano. La esfera puede desplazarse libremente sobre la barra. La esfera debe permanecer en contacto con el riel, sin deslizar. Escogiendo θ, el ángulo de la barra respecto a la horizontal, y r, la posición de la esfera, se obtienen las siguientes ecuaciones lagrangianas del movimiento: 0 = _ J b R 2 +M _ ¨ r +Mg sen θ −Mr ˙ θ 2 τ = (Mr 2 +J +J b ) ¨ θ + 2Mr ˙ r ˙ θ +Mgr cos θ (1.38) donde τ es el torque o par aplicado a la barra; J es el momento de inercia de la barra; M y J b son, respectivamente, la masa y el momento de inercia de la esfera; el radio de la esfera es R y g es la aceleración de gravedad. 1.7 RESUMEN DEL CAPÍTULO Y LECTURAS ADICIONALES 23 Figura 1.14: Balanceo de una esfera sobre una barra El modelo (1.38) puede simplificarse si se reemplaza el momento τ. Haciendo ¨ θ = u, de tal forma que τ = (Mr 2 +J +J b )u + 2Mr ˙ r ˙ θ +Mgr cos θ (1.39) se obtiene entonces 0 = _ J b R 2 +M _ ¨ r +Mg sen θ −Mr ˙ θ 2 ¨ θ = u (1.40) Los valores numéricos de los parámetros están dados por: M = 0,05 kg, R = 0,01 m, J = 0,02 kg- m 2 , J = 2 · 10 −6 kg-m 2 y g = 9,81 m/s. M Ejercicio 1.6: Espacio de estado y punto de equilibrio de la dinámica de la esfera sobre el riel Obtenga la representación en el espacio de estados para cada uno de los modelos (1.38) y (1.40), con entradas τ y u, respectivamente, usando las siguientes variables: x1 = r, x2 = ˙ r, x3 = θ y x4 = ˙ θ. La salida está dada por y = r. Calcule los puntos de equilibrio para cada sistema resultante. () 1.7. Resumen del capítulo y Lecturas adicionales En este capítulo se presentan algunos modelos ilustrativos que serán empleados a lo largo del texto para ilustrar los diferentes conceptos y dise- ños propuestos. Estos ejemplos sirven de base para el estudio del concepto de punto de equilibrio, una de las caracteríticas que será necesario tener bien clara en el desarrollo de las estrategias de control presentadas poste- riormente. Un tema íntimamente relacionado al contenido de este capítulo, aunque no lo hemos desarrollado directamente, es el modelado de sistemas físi- cos reales mediante ecuaciones diferenciales ordinarias, también lla- mado modelado de procesos continuos. 24 ALGUNOS MODELOS DE SISTEMAS NO LINEALES La clave del modelado de procesos continuos, sean éstos de origen eléc- trico, mecánico, químico, biológico o de otra índole, está basada en cinco aspectos fundamentales: Conocer de antemano cuál será el uso que se le va a dar al modelo: Uso diseño de leyes de control, análisis del comportamiento del proceso, estimación de variables difíciles de medir, etc. Esto puede permitir tener una idea de los alcances del modelo y de la precisión con la cual se ejecutará el procedimiento de modelado. En lo posible, conocer exhaustivamente el proceso. Esto viene de es- Conocer el proceso tudiar el sistema y subsistemas (planta, sensores, y actuadores) y los posibles efectos e interrelaciones involucrados. Aplicar los principios de la física, la química, la termodinámica, etc., traducidos finalmente en las ecuaciones de balance de masa, energía Balance de masa y energía y/o información. Proponer y fijar hipótesis simplificatorias razonables para hacer que Hipótesis simplificatorias el modelo del sistema sea manejable o sea, al menos, de mediana com- plejidad. Adicionalmente, el ingeniero o “modelador” debería tener una idea clara de sus propias limitaciones (falta de interés, poco conocimien- Limitaciones del modelador to del área, etc.) al acometer esta tarea. En este caso, lo más impor- tante es estar conciente de que será necesario buscar la ayuda de un experto! Para afianzar algunos de estos conceptos existen amplias y detalladas referencias al respecto. Puede ser de utilidad revisar e investigar la in- formación contenida en textos de circuitos lineales y no lineales, textos de mecánica racional (estática y dinámica), textos sobre procesos químicos (la parte referida a modelos dinámicos representados por ecuaciones diferen- ciales ordinarias), etc. Muchos de los textos relacionados con el control de sistemas lineales o no lineales proveen habitualmente algunos lineamien- tos básicos para enfrentar satisfactoriamente el modelado de cierto tipo de sistemas. Al momento de acometer un proyecto de modelado, en el cual se necesita El modelo será utilizado para hacer control obtener un modelo suficientemente preciso de una planta o proceso real, para ser utilizado, por ejemplo, para el diseño de leyes de control en un proceso industrial, hace falta tener conocimientos más sólidos y algo más de experiencia. Una buena práctica consistiría en replantear el modelado de algunos de los ejemplos presentados hasta este momento y entender cómo se obtuvo cada modelo y cuáles fueron las hipótesis simplificatorias involucradas (esto se deja como ejercicio al lector). A continuación se ejemplifica el modelado de dos sistemas físicos bien conocidos. Se presenta, a través de un péndulo simple, un procedimiento de 1.7 RESUMEN DEL CAPÍTULO Y LECTURAS ADICIONALES 25 modelado clásico basado en la ecuación de Euler-Langrange. Balances de masa y energía se estudian por medio de un tanque de reacción continua- mente agitado. Modelo 18: Ecuaciones de Euler Lagrande: Péndulo simple En este ejemplo se ilustrará el uso la ecuación de Euler–Lagrange para el modelado de sistemas físicos. La ecuación de Euler–Lagrange es la siguiente: ∂L ∂θ − d dt ∂L ∂ ˙ θ = T (1.41) donde el lagrangiano L se define como L = Ep−Ec, energía potencial Ep menos energía cinética Ec, y T representa la sumatoria de fuerzas externas que afectan al sistema dado. Asumiendo una barra rígida, distribuida uniformemente, se puede suponer que la masa del péndulo se concentra en la mitad de la barra de longitud 2l (una hipótesis que perfectamente puede variar de acuerdo a la geometría y características propias del péndulo en cuestión). Ver, por ejemplo, Figura 1.3. De esta forma, tenemos: Ep = −mgh = −mgl cos θ Ec = 1 2 m( ˙ x 2 + ˙ y 2 ) = 1 2 m((l cos θ ˙ θ) 2 + (l sin θ ˙ θ) 2 ) = 1 2 ml 2 ˙ θ 2 donde x = l sin θ, y = −l cos θ. Por lo tanto, L = −mgl cos θ − 1 2 ml 2 ˙ θ 2 (1.42) La única fuerza externa está dada por T = T = u (el torque aplicado externamente). A partir de (1.41) y (1.42) se deduce el módelo dinámico del péndulo simple (compare con el Modelo 3, en la página 9): mgl sin θ +ml 2 ¨ θ = T o equivalentemente ml 2 ¨ θ = T −mgl sin θ donde ml 2 representa la momento de inercia J respecto al eje de giro del péndulo (J = ml 2 ). Haciendo x 1 = θ, x 2 = ˙ θ en la ecuación (18) se obtiene la siguiente representación del péndulo en variables de estado (compare con (1.7)): ˙ x 1 = x 2 ˙ x 2 = T J − mgl J sen x 1 Este modelo se puede completar si consideramos, además, la presencia de roce en el eje del péndulo (b ˙ θ) y la elasticidad del mismo (kθ), de tal forma que en el sistema anterior se agregan al torque T, la fuerza de roce −b ˙ θ y la fuerza elástica −kθ. M Modelo 19: Hipótesis simplificatorias y balances de masa y energía: TRCA, modelo 2 En la Figura 1.15 se presenta un esquema de un tanque de reacción continuamente agitado donde la reacción A →B es exotérmica y de orden n. Consideremos las siguientes hipótesis: El volumen del fluido en el TRCA es constante, su temperatura es homogénea gracias a la agitación. La chaqueta en adiabática. La capacidad calorífica de la pared del tanque es despreciable respecto a la del líquido. Las capacidades caloríficas son independientes de la temperatura así como de las densi- dades. 26 ALGUNOS MODELOS DE SISTEMAS NO LINEALES Figura 1.15: Tanque de reacción continuamente agitado El vapor es saturado, el condensado está en equilibrio con el vapor. El reactor y la chaqueta, se unen perfectamente. Los volúmenes y las propiedades físicas son constantes. Se consideran despreciables las pérdidas de calor. Las ecuaciones que modelan el comportamiento dinámico del sistema, resultantes de los respectivos balances de masa y energía, están representadas por: Balance de masa del reactante A V dC A dt = F _ C A i − C A _ −V k(T) C n A (1.43) donde k(T) = k 0 exp(− E R(T+273,16) ). Balance de energía en el tanque CpV ρ dT dt = CpFρ(T i −T) −∆H R V k(T) C n A −UA(T −T C ) (1.44) Balance de energía en la chaqueta C pC V C ρ C dT C dt = UA(T −T C ) −F C C pC ρ C _ T C −T C i _ (1.45) En las ecuaciones anteriores, u = F C ≥ 0 representa la señal de control (manipulada); C A es la variable controlada y T representa la variable medida o salida. En la Tabla 1.1 se puede observar el significado físico de cada una de las variables y parámetros. Sugerencia: Escriba el modelo obtenido en variables de estado. M 1.7 RESUMEN DEL CAPÍTULO Y LECTURAS ADICIONALES 27 Tabla 1.1: Nomenclatura empleada para el TRCA, modelo 2 Notación Descripción VARIABLES DE ESTADO Y CONTROL: T temperatura en el tanque [ ◦ C] C A concentración del reactante T C temperatura de la chaqueta [ ◦ C] F C Flujo de entrada del refrigerante —señal de control [m 3 /seg] PARÁMETROS: V volumen del tanque [m 3 ] ρ densidad del fluido en el tanque [kg-mol/m 3 ] C p capacidad calórica del reactante [J/kg-mol ◦ C] A área del tanque [m 2 ] ρ c densidad del refrigerante [kg/m 3 ] k 0 constante de Arrhenius [m 3 /seg kg-mol] ∆H R calor de reacción [J/kgmol] U coeficiente de transferencia de calor tanque–chaqueta [J/s m 2 ◦ C] V C volumen en la chaqueta [m 3 ] C pC calor específico del refrigerante [J/kg ◦ C] E energía de activación de la reacción [J/kgmol] F flujo de entrada al tanque [m 3 /s] C Ai concentración del reactante en el flujo de entrada [kgmol/m 3 ] T i temperatura del flujo de entrada [ ◦ C] R constante de los gases [J/kgmol ◦ K] T Ci temperatura del refrigerante 28 ALGUNOS MODELOS DE SISTEMAS NO LINEALES Lecturas y referencias útiles 1. L. Ljung, T. Glad, Modeling of Dynamic Systems, Prentice Hall, En- gllewood Cliffs, NJ, E.E.U.U., 1994, [LG94]. Comienza con una dis- cusión sobre sistemas y modelos, a partir de allí desarrolla diferentes ejemplos (de tipo eléctrico, mecánico, de flujo, térmico, etc.). Se di- vide en dos partes: Modelado físico e identificación. Muy completo desde el punto de vista metodológico. Emplea un enfoque de diseño elemento por elemento. Inluye además la metodología de diseño me- diante “Bond Graphs” y el modelado mediante herramientas computa- cionales. 2. K. Ogata, Dinámica de Sistemas, Prentice-Hall Hispanoamericana S.A., México, 1987, [Oga87]. Presenta los diferentes procedimientos de modelado asociados a sistemas eléctricos, mecánicos, hidráulicos, etc., y sus respectivas analogías. Concluye con una introducción al análisis y control de sistemas lineales. 3. S. Walas, Modeling with Differential Equations in Chemical Engi- neering, Butterworth-Heinemann, Boston, 1991, [Wal91]. Presenta los principios de modelado matemático para sistemas químicos, tanto des- de el punto de vista estático como dinámico. Entre los tópicos tratados incluye termodinámica, transferencia de calor, dinámica de fluidos y reacciones químicas. Presenta además una introducción al control de sistemas químicos. 4. (En diferentes capítulos haremos referencia a enlaces y páginas WEB, en Internet, donde se puede conseguir información complementaria, relacionada con los temas tratados en cada parte.) Enlace WEB: www.mechatronics.me.vt.edu/book/Section3/motormodelling.html. En este enlace se presenta el desarrollo del modelo matemático de un motor de corriente continua (DC), incluyendo indicaciones para iden- tificar los parámetros de este tipo de motores. Presentación muy com- prensible, bien explicado. 5. Como ya hemos indicado, se sugiere al lector indagar sobre mode- los promedios de convertidores, por ejemplo, en: S.R. Sanders, J.M. Noworolski, X.Z. Liu, G.C Verghese, “Generalized averaging method for power conversion circuits”, Trans. Power Electronics, vol. 6, no. 2, pp. 251–259, 1991, [SNLV89]; P.T. Krein, J. Bentsman, R.M. Bass, B.L. Lesieutre, “On the use of averaging for the analysis of power electron- ic systems”, Trans. Power Electronics, vol. 5, no. 2, pp. 182–190, 1990, [KBBL90]. Otra referencia interesante es [SR89]. 6. Visite la página web http://www.ing.ula.ve/~marquez/snl/. En la misma encontrará informaciones adicionales y enlaces actualizados referidos al modelado de sistemas físicos y a otros temas relacionados. Parte I Control Lineal de Sistemas No Lineales: Linealización Aproximada 29 30 CONTROL LINEAL DE SISTEMAS NO LINEALES: LINEALIZACIÓN APROXIMADA En esta primera parte, vamos a plantear el análisis y diseño de con- troladores del tipo lineal, es decir, leyes de control lineales para regular sistemas de naturaleza eminentemente no lineal. Los lineamientos mediante los cuales analizaremos los sistemas dinámi- cos no lineales, y sobre los cuales propondremos lazos de control en reali- mentación, son los siguientes: Consideraremos el sistema no lineal desde el punto de vista de la des- cripción por variables de estado y determinación de los puntos de equi- librio constantes del sistema no lineal dado. Sistema linealizado alrededor de un punto de equilibrio Descripción aproximada de los efectos de las perturbaciones del estado inicial y de las entradas al sistema mediante un modelo lineal dinámi- co de estado, el cual puede ser representado mediante la descripción en variables de estado o mediante funciones de transferencia. Utilización del modelo lineal obtenido en la prescripción de leyes de control realimentadas estabilizantes de las trayectorias del estado, perturbadas alrededor de la trayectoria de equilibrio. En el primer capítulo se presenta el método de la linealización aproxi- mada: a partir del modelo no lineal se obtiene un modelo linealizado del sistema estudiado mediante una aproximación de primer orden de la ex- pansión en serie de Taylor. En los capítulos subsecuentes, la aproximación lineal obtenida será empleada para proponer, diseñar y ajustar esquemas de control realimentado para los sistemas no lineales originales. Fun- damentalmente trataremos sistemas de una entrada y una salida. Prime- ramente se considerará la medición completa del vector de estados y luego solo medición de una variable o salida particular. Los esquemas propuestos se clasificarán de la siguiente manera: Controladores lineales Esquemas o leyes de control basados en la descripción o representación en el espacio de estados: 1. Control mediante realimentación del vector de estados. 2. Control mediante la realimentación de la salida utilizando Observadores dinámicos de estado (observadores de orden com- pleto y de orden reducido). Síntesis basada en la respuesta frecuencial (esquemas de control clási- co basados en la función de transferencia): 1. Controladores P, PI, PID 2. Esquema controlador–observador clásico 3. Redes compensadoras como compensadores por adelanto. 2 Linealización aproximada Foto Introduciremos la técnica de linealización aproximada mediante una representación integral de las ecuaciones de estado. Propon- dremos ver al sistema no lineal como una ecuación integral y analizaremos el efecto de pequeñas perturbaciones alrededor de un punto de equilibrio constante. Despreciando los términos de orden superior del efecto de tales perturbaciones y reteniendo solamente los términos lineales, pre- sentaremos en un solo esquema la linealización que aproxima el comportamiento del sistema perturbado. El esquema conceptual presentado será utilizado en capítulos sub- secuentes para el diseño de acciones de regulación para el sistema no lineal. Recomendamos al lector, a medida que vaya avanzando en el tex- to, hacer uso de herramientas computacionales para confirmar o avalar los resultados teóricos que se le proponen. En este capítulo, presentaremos nuestro primer ejemplo de simulación en el progra- ma Matlab (R). 31 32 LINEALIZACIÓN APROXIMADA 2.1. Motivación Los fenómenos de naturaleza no lineal son susceptibles de aproxima- ciones lineales cuyo valor práctico es innegable. Nuestra comprensión del mundo circundante y las leyes que en él adivinamos son meras aproxima- ciones que tienden a extraer la parte más relevante de su naturaleza, la mayoría de las veces para poder explotarlas en nuestro beneficio inmedia- to. Tales aproximaciones se sustentan como modelos válidos de una realidad restringida que no ha sido contradicha por la experiencia cotidiana. En este capítulo, nos proponemos utilizar sistemas de ecuaciones dife- renciales lineales que aproximen, tanto en una región restringida del espa- cio de estado, y/o del espacio de las entradas y de las salidas del sistema, el comportamiento descrito por el conjunto de ecuaciones diferenciales no lineal original. Es necesario acotar que en el análisis del comportamiento de sistemas dinámicos no lineales, el método de la linealización aproximada será útil en la vecindad de su punto de equilibrio, siempre y cuando las perturbaciones que afectan la evolución del sistema sean suficientemente pequeñas. La linealización aproximada en el análisis y diseño de estrategias de control Como veremos en capítulos posteriores, el método de la linealización aproximada también es útil no sólo en el análisis sino, en particular, en el diseño de estrategias de control que mantengan la evolución del sistema en un entorno alrededor del punto de equilibrio nominal. 2.2. Linealización aproximada: expansión en serie de Taylor Consideremos nuevamente el sistema no lineal (1.1): ˙ x(t) = f(x(t), u(t)), x(t 0 ) = x 0 y(t) = h(x(t)) cuyos puntos de equilibrio son constantes y están dados por (U, X, Y ). Escri- biremos el sistema de ecuaciones diferenciales dado en términos de la ecuación integral equivalente, de la manera siguiente: x(t) = x 0 + _ t t0 f(x(σ), u(σ))dσ y(t) = h _ x 0 + _ t t0 f(x(σ), u(σ))dσ _ (2.1) Esta representación tiene sus ventajas al momento de evaluar el efecto causado sobre los estados y las salidas debido a posibles perturbaciones que se sucedan en el estado inicial x 0 y en la función de entrada u(t). Supondremos que el sistema dinámico se encuentra operando en per- fecto equilibrio (recuerde la noción de punto de equilibrio dada en la sec- 2.2 LINEALIZACIÓN APROXIMADA: EXPANSIÓN EN SERIE DE TAYLOR 33 ción 1.3). Esto se traduce en lo siguiente: x(t 0 ) = x 0 = X; u(t) = U; y(t) = h(x) = Y Es decir, el estado inicial en que encontramos operando al sistema en el instante t 0 coincide enteramente con el estado de equilibrio constante X, el cual se produce de manera inmutable (si el sistema es asintóticamente estable) sobre la base de sustentar la entrada constante u = U durante un período de tiempo indefinidamente grande 1 . Ahora consideremos sendas “perturbaciones”, tanto en el estado inicial de equilibrio x 0 = X, como en la función de entrada de equilibrio u(t) = U, descritas de la manera siguiente: x(t 0 ) = x 0 +x 0δ = X +x 0δ ; u(t) = U +u δ (t) Con estas perturbaciones acaecidas alrededor de los valores de equili- brio, consecuentemente, se suceden cambios o perturbaciones tanto en el estado de equilibrio constante del sistema x(t) = X como en el valor de la salida y(t) = Y . Utilizando el sistema de ecuaciones (2.1), el estado pertur- bado y la salida perturbada pueden ser descritos mediante: x(t) = X +x 0δ + _ t t0 f(X +x δ (σ), U +u δ (σ))dσ y(t) = h(X +x δ (t)) (2.2) La expresión (2.2) constituye una representación exacta del efecto de las perturbaciones. Ciertamente esta representación no es muy útil puesto que sigue describiendo mediante una ecuación integral no lineal el valor del nuevo estado x(t) = X + x δ (t) y como una relación no lineal el valor de la nueva salida y(t) = Y +y δ (t). En efecto, a partir de (2.2) y de las definiciones que acabamos de dar del estado perturbado y la salida perturbada, obtenemos: x δ (t) = x 0δ + _ t t0 f(X +x δ (σ), U +u δ (σ))dσ y δ (t) = h(X +x δ (t)) −h(X) Será preferible, por lo tanto, utilizar una aproximación lineal de estas relaciones. Sabemos que, en virtud del teorema de expansión en serie de Expansión en serie de Taylor Taylor, podemos escribir los valores perturbados de las funciones f(·) y h(·) como: f(X +x δ (t), U +u δ (t)) = f(X, U) + ∂f ∂x ¸ ¸ ¸ ¸ (X,U) x δ (t) + ∂f ∂u ¸ ¸ ¸ ¸ (X,U) u δ (t) +. . . +T.O.S. h(X +x δ (t)) = h(X) + ∂h ∂x ¸ ¸ ¸ ¸ X x δ (t) +. . . +T.O.S. 1 Aquí se puede notar de manera evidente el porqué de nuestro interés en puntos de equili- brio constantes! 34 LINEALIZACIÓN APROXIMADA donde T.O.S. significa “términos de orden superior”. Tomando en cuenta que f(X, U) = 0, la cual viene de la definición de punto de equilibrio, podemos calcular el valor del estado perturbado como x δ (t) = x 0δ + _ t t0 _ ∂f ∂x ¸ ¸ ¸ ¸ (X,U) x δ (t) + ∂f ∂u ¸ ¸ ¸ ¸ (X,U) u δ (t) +. . . +T.O.S. _ dσ y de la salida perturbada, y δ (t) = _ h(X) + ∂h ∂x ¸ ¸ ¸ ¸ X x δ (t) +. . . +T.O.S. _ −h(X) = ∂h ∂x ¸ ¸ ¸ ¸ X x δ (t) +. . . +T.O.S. Si truncamos la serie de Taylor y despreciamos los términos de orden superior utilizados en las fórmulas anteriores, es evidente que, tanto en la ecuación integral del estado perturbado como en la ecuación de salida, obtendremos sólo una aproximación (lineal en este caso) a los valores de x δ (t) y de y δ (t). Adoptaremos como valor aproximado de x δ (t) al valor ˜ x δ (t) el cual ob- tenemos al eliminar todos los términos de orden superior en la ecuación integral, es decir: ˜ x δ (t) = x 0δ + _ t t0 _ ∂f ∂x ¸ ¸ ¸ ¸ (X,U) ˜ x δ (t) + ∂f ∂u ¸ ¸ ¸ ¸ (X,U) u δ (t) _ dσ ˜ y δ (t) = ∂h ∂x ¸ ¸ ¸ ¸ X ˜ x δ (t) Nótese que ˜ x δ (t) no es exactamente igual a x δ (t) y otro tanto sucede con ˜ y δ (t) y y δ (t). Sin embargo, no estableceremos diferencia entre el valor de la perturbación y el valor aproximado de la misma obtenido en (2.3). Asumiremos, entonces, como valor perturbado del estado y como valor de la perturbación de la señal de salida, a la solución de la ecuación integral y a la relación lineal descritas en (2.3), es decir, x δ (t) = x 0δ + _ t t0 _ ∂f ∂x ¸ ¸ ¸ ¸ (X,U) x δ (t) + ∂f ∂u ¸ ¸ ¸ ¸ (X,U) u δ (t) _ dσ y δ (t) = ∂h ∂x ¸ ¸ ¸ ¸ X x δ (t) (2.3) 2.3. Sistema linealizado: espacio de estado De esta forma, designaremos mediante la matriz A de n filas y n colum- nas, la matriz Jacobiana ∂f/∂x particularizada en el punto de equilibrio 2.3 SISTEMA LINEALIZADO: ESPACIO DE ESTADO 35 constante (X, U). Mediante el vector B de n filas designaremos al vector ∂f/∂u evaluado en (X, U). Igualmente, designaremos mediante el vector fi- la C al vector ∂h/∂x, evaluado en X. De tal forma que las ecuaciones en (2.3) se reescriben entonces x δ (t) = x 0δ + _ t t0 (Ax δ (σ) +Bu δ (σ)) dσ y δ (t) = C x δ (t) (2.4) Si tomamos derivadas respecto del tiempo en esta ecuación integral, ob- tenemos una ecuación diferencial equivalente para x δ (t): ˙ x δ (t) = Ax δ (t) +Bu δ (t) ; x δ (t 0 ) = x 0δ y δ (t) = C x δ (t) (2.5) Para dicho sistema de ecuaciones diferenciales, puede observarse que hemos tomado en cuenta como condición inicial en t = t 0 , el valor x 0δ = x 0 −X. La ecuación diferencial en la expresión (2.5) representa un sistema de ecuaciones diferenciales lineales en x δ y en u δ . A este sistema se le llama representación (lineal) en el espacio de estado, brevemente, representación de estado. Al sistema (2.5) también lo llamaremos modelo incremental, de- bido al procedimiento utilizado en su construcción. La solución x δ (t) es una aproximación al comportamiento de las per- turbaciones que exhibe el sistema no lineal (2.1) por sobre los valores de la trayectoria de equilibrio x(t) = X y u(t) = U. Es evidente, a partir del conocimiento de sistemas lineales que poseemos, que para conocer íntegra- mente la solución de (2.5) deben conocerse tanto el valor de la perturbación del estado inicial x δ (t 0 ) como los valores, en función del tiempo, de las per- turbaciones de la entrada en equilibrio u δ (t). En resumen, el sistema dinámico que aproxima las perturbaciones ocu- rridas al sistema no lineal cuando éste opera en condiciones estables de equilibrio está representado por un sistema lineal cuyas ecuaciones de es- tado y de salida están dadas por (2.5). Las matrices constantes (A, B, C), llamadas matrices Jacobianas, que definen a esta aproximación lineal están dadas por: matrices jacobianas A = ∂f ∂x ¸ ¸ ¸ ¸ (X,U) ; B = ∂f ∂u ¸ ¸ ¸ ¸ (X,U) ; C = ∂h ∂x ¸ ¸ ¸ ¸ X Es por esto precisamente que a la linealización aproximada también se la llama con el nombre de linealización jacobiana. En forma aproximada tendremos igualmente x(t) = X +x δ (t); u(t) = U +u δ (t); y(t) = Y +y δ (t) (2.6) o equivalentemente variables incrementales x δ (t) = x(t) −X; u δ (t) = u(t) −U; y δ (t) = y(t) −Y (2.7) 36 LINEALIZACIÓN APROXIMADA Figura 2.1: Relación entre las variables originales y las variables incrementales A estas últimas las llamaremos variables incrementales. En el caso de la entrada u y el estado x, la interpretación de sus valo- res perturbados en términos de las variables originales admite una repre- sentación gráfica como la que se muestra en la Figura 2.1. Consideramos perturbaciones en una vecindad “pequeña” del punto de equilibrio Sobre la base de estas relaciones aproximadas, propondremos más ade- lante esquemas de control que estabilicen al sistema no lineal a su punto de equilibrio (X, Y, U), bajo la suposición fundamental de tener excur- siones de la perturbación x δ (t) relativamente pequeñas. 2.3.1. Representación en funciones de transferencia A partir de la representación de estados incrementales propuesta an- teriormente, surge en forma inmediata la representación en funciones de transferencia asociadas al comportamiento linealizado del sistema. Supóngase que tenemos un sistema no lineal, n-dimensional, de una entrada y una salida (2.1): ˙ x(t) = f(x(t), u(t)) y = h(x(t)) Sea u(t) = U un punto de operación constante para la entrada escalar del sistema anterior. Correspondiente con este valor nominal de la entrada, tenemos un valor de equilibrio para el vector de estado y para la salida, dados, respectivamente, por x(t) = X(U) y y(t) = Y (U). La expresión linealizada del sistema alrededor del punto de operación genérico (U, X(U), Y (U)), parametrizada como vemos en términos del valor constante (en equilibrio) de la entrada de control U, está dada por ˙ x δ = A(U)x δ +B(U)u δ y δ = C(U)x δ 2.3 SISTEMA LINEALIZADO: ESPACIO DE ESTADO 37 Figura 2.2: Representación entrada-salida del sistema linealizado donde A(U) = ∂f(x, u) ∂x ¸ ¸ ¸ ¸ X(U),U ; B(U) = ∂f(x, u) ∂u ¸ ¸ ¸ ¸ X(U),U ; C(U) = ∂h(x) ∂x ¸ ¸ ¸ ¸ X(U) y x δ = x −X(U); u δ = u −U; y δ = y −Y (U) Evidentemente, a partir de esta representación del sistema linealizado, mostrada en Figura 2.2, podemos obtener la función de transferencia del sistema en lazo abierto, dada por: G U (s) = C(U)[sI −A(U)] −1 B(U) (2.8) 2.3.2. Ejemplos A continuación describiremos algunos ejemplos de linealización de sis- temas alrededor de puntos o trayectorias de equilibrio constantes. Ejemplo 2.1: Convertidor DC-DC tipo Boost Recordemos el modelo promedio del convertidor “Boost", Modelo 7, en la página 13: ˙ z 1 = −ω 0 z 2 +µω 0 z 2 +b ˙ z 2 = ω 0 z 1 −ω 1 z 2 −µω 0 z 1 y = z 2 cuyo punto de equilibrio está dado por, ver Ejemplo 1.9, µ = U : Z 1 (U) = bω 1 ω 2 0 (1 −U) 2 : Z 2 (U) = b ω 0 (1 −U) (1.17*) Para realizar la linealización, debemos primero tomar en cuenta que se trata de un sistema de segundo orden, con lo cual las matrices constantes A, B y C planteadas anteriormente están 38 LINEALIZACIÓN APROXIMADA dadas por: A = ∂f(z, u) ∂z ¸ ¸ ¸ ¸ Z,U = _ ∂f 1 (z,u) ∂z 1 ∂f 1 (z,u) ∂z 2 ∂f 2 (z,u) ∂z 1 ∂f 2 (z,u) ∂z 2 _¸ ¸ ¸ ¸ ¸ Z 1 (U),Z 2 (U),U = _ 0 −ω 0 (1 −U) ω 0 (1 −U) −ω 1 _ B = ∂f(z, u) ∂u ¸ ¸ ¸ ¸ Z,U = _ ∂f 1 (z,u) ∂u ∂f 2 (z,u) ∂u _¸ ¸ ¸ ¸ ¸ Z 1 (U),Z 2 (U),U = _ b 1−U − bω 1 ω 0 (1−U) 2 _ C = ∂h(z) ∂u ¸ ¸ ¸ ¸ Z = _ ∂h(z) ∂z 1 ∂h(z) ∂z 2 _¸ ¸ ¸ Z 1 (U),Z 2 (U) = _ 0 1 ¸ La linealización del sistema alrededor del punto de equilibrio resulta entonces _ ˙ z 1δ ˙ z 2δ _ = _ 0 −ω 0 (1 −U) ω 0 (1 −U) −ω 1 _ _ z 1δ z 2δ _ + _ b 1−U − bω 1 ω 0 (1−U) 2 _ µ δ y δ = _ 0 1 ¸ _ z 1δ z 2δ _ (2.9) La función de transferencia que relaciona el tensión incremental de salida con el valor incre- mental de la relación de trabajo, se obtiene del modelo linealizado (2.9) como: G U (s) = −ω 0 Z 1 (U) s − b Z 1 (U) s 2 +ω 1 s +ω 2 0 (1 −U) 2 (2.10) Ejemplo 2.2: Linealización del sistema de levitación magnética Consideremos ahora el Modelo 8, en la página 14: ˙ x 1 = x 2 ˙ x 2 = g − c m x 2 3 x 1 ˙ x 3 = − R L x 3 + 1 L u ˙ y = x 1 (1.19*) cuyo punto de equilibrio está dado por: x 1 = X 1 (X) = X ; x 2 = 0 ; x 3 = X 3 (X) = _ mgX c ; u = U(X) = R _ mgX c (1.20*) En este caso se trata de un sistema de tercer orden, con lo cual las matrices constantes A, B 2.3 SISTEMA LINEALIZADO: ESPACIO DE ESTADO 39 y C están dadas por: A = ∂f(x, u) ∂x ¸ ¸ ¸ ¸ X,U = _ ¸ ¸ _ ∂f 1 (x,u) ∂x 1 ∂f 1 (x,u) ∂x 2 ∂f 1 (x,u) ∂x 3 ∂f 2 (x,u) ∂x 1 ∂f 2 (x,u) ∂x 2 ∂f 2 (x,u) ∂x 3 ∂f 3 (x,u) ∂x 1 ∂f 3 (x,u) ∂x 2 ∂f 3 (x,u) ∂x 3 _ ¸ ¸ _ ¸ ¸ ¸ ¸ ¸ ¸ ¸ ¸ X 1 (X),X 2 (X),X 3 (X),U(X) = _ ¸ _ 0 1 0 g X 0 −2 _ cg mX 0 0 − R L _ ¸ _ B = ∂f(x, u) ∂u ¸ ¸ ¸ ¸ X,U = _ ¸ _ ∂f 1 (x,u) ∂u ∂f 2 (x,u) ∂u ∂f 3 (x,u) ∂u _ ¸ _ ¸ ¸ ¸ ¸ ¸ ¸ ¸ X 1 (X),X 2 (x),X 3 (X),U(X) = _ _ 0 0 1 L _ _ C = ∂h(x) ∂u ¸ ¸ ¸ ¸ X = _ ∂h(x) ∂x 1 ∂h(x) ∂x 2 ∂h(x) ∂x 3 _¸ ¸ ¸ X 1 (X),X 2 (X),X 3 (X) = _ 1 0 0 ¸ La evolución de las perturbaciones de estado del modelo (1.19) están gobernadas por el sistema de ecuaciones diferenciales lineales obtenido del proceso de linealización alrededor de los valores de equilibrio (1.20): _ _ ˙ x 1δ ˙ x 2δ ˙ x 3δ _ _ = _ ¸ _ 0 1 0 g X 0 −2 _ cg mX 0 0 − R L _ ¸ _ _ _ x 1δ x 2δ x 3δ _ _ + _ _ 0 0 1 L _ _ u δ y δ = _ 1 0 0 ¸ _ _ x 1δ x 2δ x 3δ _ _ (2.11) La función de transferencia asociada a este sistema está dada por: G X (s) = y δ (s) u δ (s) = − 2 L _ cg mX _ s 2 − g X _ _ s + R L _ (2.12) Ejemplo 2.3: Linealización aproximada del TRCA El punto de equilibrio estable, parametrizado respecto de u = U, para el tanque de reacción continuamente agitado, Modelo 10, en la página 16, está dado por: u = U; x 1 (U) = U 1 +D a1 ; x 2 (U) = 1 2D a2 _ −1 + ¸ 1 + 4D a1 D a2 U 1 +D a1 _ (2.13) La linealización del sistema (1.24) alrededor de este punto de equilibrio está dada por: ˙ x 1δ = −(1 +D a1 )x 1δ +u δ ˙ x 2δ = D a1 x 1δ − ¸ 1 + 4D a1 D a2 U 1 +D a1 x 2 δ y = x 1δ +x 2δ como puede verificarse sin mayores esfuerzos. 40 LINEALIZACIÓN APROXIMADA Figura 2.3: Motor de corriente continua Modelo 20: Motor de corriente continua con carga (modelo de velocidad angular) Considérese un motor de corriente continua controlado por campo, provisto de excitación separa- da, el cual está esquematizado en la Figura 2.3. Sea Va el voltaje constante de armadura y sea i f la corriente de campo, que actúa como variable de control. El conjunto de ecuaciones diferenciales que describen la dinámica del sistema controlado están dadas por: La dia dt +Raia +Kvωi f = Va J dω dt +Bω = Kvi f ia (2.14) Definamos las variables de estado y de control como: x 1 = ia ; x 2 = ω u = i f ; Va = constante De acuerdo a esta selección de las variables de estado, el sistema (2.14) queda representado mediante un modelo bilineal en el espacio de estado dado por: _ ˙ x 1 ˙ x 2 _ = _ − Ra La 0 0 − B J _ _ x 1 x 2 _ +u _ 0 − Kv La Kv J 0 _ _ x 1 x 2 _ + _ Va La 0 _ (2.15) donde x 1 representa la corriente de armadura, x 2 es la velocidad angular del eje del motor; La y Ra son, respectivamente, la inductancia y la resistencia en el circuito de armadura, Kv es la constante de torque del motor, mientras que J y B son, respectivamente, el momento de inercia y el coeficiente de fricción viscosa asociados a la carga. M Ejemplo 2.4: Linealización aproximada de un motor de corriente continua Consideremos el modelo anterior. El punto de equilibrio del sistema, generado por una corriente de armadura constante dada por u = U, se obtiene directamente de (2.15). Resulta en: _ x 1 (U) x 2 (U) _ = Va RaB +K 2 v U 2 _ B KvU _ (2.16) La linealización del sistema (2.15) alrededor del punto de equilibrio descrito se obtiene como: _ ˙ x 1δ ˙ x 2δ _ = _ ¸ _ − Ra La − KU La KU J − B J _ ¸ _ _ x 1δ x 2δ _ + _ ¸ ¸ _ − K 2 VaU La(RaB +K 2 U 2 ) K 2 BVa J(RaB +K 2 U 2 ) _ ¸ ¸ _ u δ (2.17) 2.4 VALIDEZ DEL MODELO LINEALIZADO 41 2.4. Validez del modelo linealizado: ¿Qué tan bueno es el Método de la Linealización Aproximada? La linealización aproximada está fundamentada en retener como válida para la descripción de un sistema en las vecindades de un punto de equi- librio, a aquella representación que se obtiene de los términos de primer orden de la expansión en serie de Taylor de la no-linealidad que caracteriza al sistema como tal. Desde este punto de vista, las exigencias que hemos impuesto al sistema son de diferenciabilidad por lo menos hasta un primer orden. Es indudable que las cantidades que estamos despreciando al tomar co- mo sustitutos de las verdaderas perturbaciones a los primeros términos en la expansión propuesta, son cantidades que se tornan cada vez más im- portantes a medida que nos alejamos de las condiciones de equilibrio del sistema. El deterioro de la representatividad que tiene la aproximación li- neal con respecto al comportamiento verdadero, ocasionado por los efectos de las perturbaciones, puede hacerse tan burdo que cualquier resultado o conclusión que obtengamos sobre esta base puede llegar a carecer de toda significación cualitativa y cuantitativa! Es oportuno señalar, además, que el método de la linealización aproxi- mada no es aplicable a sistemas que exhiban no linealidades carentes de derivadas. Ejemplo 2.5: Un sistema que no es diferenciable Así, por ejemplo, el siguiente sistema no puede ser aproximado, bajo ninguna justificación razon- able, mediante la técnica de expansión en serie de Taylor que hemos descrito: ˙ x = −sign x (2.18) Es fácil ver, sin embargo, que este sistema tiene por punto de equilibrio x = 0 (cuyo signo también se supone cero). Justamente en el origen, la función signo, designada aquí mediante las siglas “ sign ", no es diferenciable sobre la recta real. Mostraremos a continuación un sencillo ejemplo, desarrollado de ma- nera analítica, el cual nos permitirá comenzar a comprender cuál es el gra- do de representatividad que puede tener la aproximación de primer orden que se emplea en el método de la linealización aproximada, respecto del comportamiento verdadero del sistema no lineal, sujeto a perturbaciones de magnitud creciente. Otro ejemplo, desarrollado mediante simulación, es presentado en la próxima sección. Modelo 21: Tanque con pérdida de líquido Considérese el tanque de la Figura 2.4, el cual se alimenta a una rata constante u = U [m 3 /s] con un cierto líquido. El parámetro A es el área de la base del tanque y h representa la altura del nivel del líquido medido desde la base del recipiente. La constante c representa un coeficiente de resistencia al escape del líquido. 42 LINEALIZACIÓN APROXIMADA Figura 2.4: Sistema de un tanque con pérdida de líquido La ecuación diferencial que describe la variación de altura del líquido está dada por : ˙ h = − c A √ h + 1 A u y = h (2.19) El punto de equilibrio del sistema, para un valor de entrada constante, u = U, está dado por h = H = U 2 /c 2 . M Como ejercicio, recomendamos al lector comparar este modelo, de un solo tanque, con el Modelo 15, en la página 19, para varios tanques. Ejemplo 2.6: Validez de la linealización en un sistema no lineal simple Considérese una pequeña perturbación en el valor constante del control dada por un súbito in- cremento fijo en la rata de alimentación de líquido al tanque, de valor ∆U, durante un período de tiempo indefinido. Figura 2.5: Perturbación de la señal de entrada al tanque Nuestro objetivo es calcular, mediante linealización aproximada, el efecto de esta perturbación 2.4 VALIDEZ DEL MODELO LINEALIZADO 43 y compararlo con un cálculo preciso (es decir, sin aproximaciones) del nuevo valor de la altura del tanque en equilibrio. Ver Figura 2.5. De acuerdo a la ecuación diferencial del sistema, el valor del nuevo estado de equilibrio (la nueva altura del nivel del líquido) está dada por: H +h δ = (U + ∆U) 2 c 2 = U 2 c 2 + 2U∆U + ∆U 2 c 2 (2.20) es decir, el valor exacto del efecto de la perturbación de entrada sobre la altura final del nivel del líquido está dada por : h δ = 2U∆U + ∆U 2 c 2 (2.21) Por otro lado, el sistema linealizado alrededor del punto de equilibrio está dado por: ˙ h δ = − c 2A √ H h δ + 1 A u δ y δ = h δ (2.22) El valor final de h δ a un escalón de excitación u δ = ∆U en este sistema linealizado está dado por el valor de equilibrio del sistema lineal a una entrada constante. Este valor resulta h δ = 2 c √ Hu δ = 2U∆U c 2 El error que se comete en este ejemplo, al utilizar la linealización aproximada, tiene una mag- nitud cuadrática respecto de la perturbación de entrada y está dado por (∆U/c) 2 . El método de linealización es válido en la medida en que el término (∆U/c) 2 sea completamente desprecia- ble frente al valor de equilibrio de la perturbación que hemos calculado de manera aproximada 2U∆U/c 2 . Por lo tanto, si ∆U es grande, el error cometido es significativo. Como veremos más adelante, el diseño basado en el sistema linealizado funcionará en forma efectiva, al menos en un entorno “pequeño” alrededor del punto de operación deseado, para el sistema no lineal original, e in- cluso para el sistema real, asumiendo que el modelo es lo suficientemente preciso 2 . La hipótesis de que las aproximaciones de primer orden pueden resultar suficientes para caracterizar el comportamiento local de un sis- Comportamiento local en una vecindad del punto de equilibrio tema, constituye uno de los más importantes supuestos en la teoría de con- trol, en muchas áreas de la matemática y, sobre todo, en las aplicaciones. El principio de la técnica de linealización aproximada se puede establecer en la siguiente forma: Validez de la Linealización Aproximada El método de la linealización aproximada es válido en tanto que las perturbaciones que afectan al comportamiento del sistema no lineal, operando en equilibrio, sean pequeñas, relativas a los va- lores de equilibrio de las variables del sistema. La aproximación se deteriora en forma, cuando menos cuadráti- ca, al admitir perturbaciones que representan excursiones signi- ficativas a partir de los valores de equilibrio de las variables de entrada y estados iniciales del sistema. 2 En este contexto, “suficientemente preciso” significa que el modelo permite reflejar con una cierta aproximación el comportamiento del sistema real original. 44 LINEALIZACIÓN APROXIMADA 2.5. Primer ejemplo en Matlab (R) El siguiente ejemplo es el primero que presentaremos en el cual se em- plea el programa Matlab (R) como herramienta auxiliar al análisis y a los diseños que propondremos. Recomendamos al lector familiarizarse con Mat- lab (R) ya que el mismo nos será útil durante el desarrollo de este texto, al Matlab es una herramienta útil para simular ecuaciones diferenciales momento de ilustrar las propiedades de los sistemas no lineales controlados estudiados y el comportamiento de las estrategias de control propuestas. Matlab (R) es un ambiente numérico de propósito general orientado al uso de estructuras de tipo vectorial y matricial, el cual permite ejecutar algoritmos secuenciales con una amplia gama de aplicaciones. El uso prin- cipal que le daremos será como programa de simulación numérica, es decir, haremos uso de los algoritmos que tiene disponibles para la obtención de las soluciones de sistemas de ecuaciones diferenciales ordinarias. 2.5.1. Breve explicación para la simulación En general, para simular un sistema no lineal controlado, se requieren dos programas que llamaremos el programa de simulación y el sistema o modelo a simular. El programa de simulación permite definir los lineamien- script tos básicos de la simulación: tiempo de simulación (inicial y final), condi- ciones iniciales y tipo de algoritmo de simulación (ode23, ode45,. . . ); inclu- sive podemos definir los parámetros del sistema controlado y hasta graficar los resultados de la simulación. Este programa consiste en un conjunto lógi- co de instrucciones de ejecución secuencial denominado “script” en el am- biente Matlab (R). El corazón principal de este programa es el algoritmo de simulación. En este texto utilizaremos solamente dos tipos: ode23 o ode45, ode23, ode45 los cuales son métodos de resolución de ecuaciones diferenciales mediante las fórmulas de Runge-Kutta de 2do. y 3er. orden (ode23) y 4to. y 5to. orden (ode45). El modelo a simular se presenta por medio de un programa o función, llamado function en Matlab (R), en el cual se plantean explícitamente las function ecuaciones diferenciales asociadas al sistema de control. Esencialmente, posee dos parámetros de entrada, el tiempo t de simulación y la variable de estado x, debido a que éstas son las variables utilizadas directamente por los algoritmos de simulación. Junto con las ecuaciones diferenciales que representan el modelo sistema, debe aparecer la ley de control diseña- da, la cual puede estar definida a través de variables auxiliares (locales). A diferencia del script, el modelo a simular requiere un encabezado con la palabra function <salida> = <nom\_arch>(t,x), donde <salida> corre- sponde al vector ˙ x que refleja la dinámica del sistema, <nom\_arch> es el nombre original del programa (el cual debera tener la extensión .m y el par (t,x) representan las variables de tiempo y de estado correspondientes de la simulación y del sistema a simular. Visite la página http://www.ing.ula.ve/~marquez/snl/ o directamente Página web 2.5 PRIMER EJEMPLO EN MATLAB (R) 45 http://www.ing.ula.ve/~marquez/matlab/ para obtener explicaciones adi- cionales y enlaces a referencias exitentes en la “web”. 2.5.2. Comparación entre el comportamiento de un pén- dulo invertido y su linealización A continuación se presenta un problema de simulación detallado, donde se compara el comportamiento del modelo no lineal de un péndulo invertido con el comportamiento del modelo lineal obtenido por linealización aproxi- mada, alrededor de un punto de operación dado (se considera la respuesta en lazo abierto de ambos sistemas a partir de una condición inicial dada). Figura 2.6: Péndulo invertido sobre una plataforma móvil Modelo 22: Péndulo invertido sobre una plataforma móvil Considérese el sistema que se muestra en la Figura 2.6. Las ecuaciones que describen el compor- tamiento del ángulo del péndulo invertido, de longitud 2L, con respecto a la dirección vertical, así como el desplazamiento del móvil desde un punto fijo (medido desde el 0 en el plano horizontal) están dadas por: (mLcos φ) ¨ ξ + (J +mL 2 ) ¨ φ = −C ˙ φ +mLg sen φ (M +m) ¨ ξ + (mLcos φ) ¨ φ = −F ˙ ξ + (mLsen φ) ˙ φ 2 +u (2.23) donde se definen, como variables de estado, el desplazamiento horizontal del carro ξ, y su veloci- dad ˙ ξ, así como el desplazamiento angular del péndulo φ y su velocidad angular ˙ φ correspondi- ente. La variable de entrada u representa la fuerza con que se arrastra o se empuja al sistema, con el objeto de controlarlo. Las constantes C y F representan los coeficientes de fricción del movimiento rotatorio del péndulo y del movimiento lineal del carrito; J es el momento de inercia con respecto al centro de gravedad del péndulo y está dado, aproximadamente, por J = mL 3 /3. El par de ecuaciones diferenciales de segundo orden (2.23) se puede representar con respec- to a las derivadas de mayor orden de la siguiente forma: _ ¨ φ ¨ ξ _ = _ J +mL 2 mLcos φ mLcos φ M +m _ −1 _ −C ˙ φ +mLg sen φ −F ˙ ξ +mLsen(φ) ˙ φ 2 +u _ es decir, _ ¨ φ ¨ ξ _ = _ 1 ∆ [(M +m)∆ 1 −mLcos φ∆ 2 ] 1 ∆ _ −mLcos φ∆ 1 + (J +mL 2 )∆ 2 ¸ _ 46 LINEALIZACIÓN APROXIMADA donde ∆ 1 = −C ˙ φ +mLg sen φ, ∆ 2 = −F ˙ ξ +mLsen(φ) ˙ φ 2 +u y ∆ = J(M +m) +mL 2 (M + msen 2 φ). Seleccionando como variables de estado a x 1 = ξ; x 2 = ˙ ξ; x 3 = φ; x 4 = ˙ φ , las dos ecuaciones diferenciales de segundo orden anteriores se pueden reescribir como un sis- tema de cuatro ecuaciones diferenciales de primer orden: ˙ x 1 = x 2 ˙ x 2 = −mLcos x 3 ∆ 1 + (J +mL 2 )∆ 2 ∆ ˙ x 3 = x 4 ˙ x 4 = (M +m)∆ 1 −mLcos x 3 ∆ 2 ∆ (2.24) M Matlab 2.1: Simulación de un péndulo invertido sobre una plataforma móvil Considere el sistema de control del péndulo invertido sobre una plataforma móvil anterior. El punto de equilibrio de este sistema, en la posición vertical hacia arriba, es el siguiente: x 1 = arbitrario = X, x 2 = 0, x 3 = 0, x 4 = 0, u = 0 (2.25) Físicamente, esto significa que podremos llevar la plataforma a una posición horizontal cualquiera, siempre y cuando llevemos el péndulo sobre la plataforma a su posición vertical en equilibrio. El sistema linealizado asociado al modelo (2.24) está dado por ˙ x δ = Ax δ +Bu δ (2.26) donde A = ∂f ∂x ¸ ¸ ¸ ¸ (xe,ue)=(0,0) = _ ¸ ¸ ¸ _ 0 1 0 0 0 − F(J+mL 2 ) J(M+m)+mL 2 M − m 2 L 2 g J(M+m)+mL 2 M F(mLC J(M+m)+mL 2 M 0 0 0 1 0 mLF J(M+m)+mL 2 M (M+m)mLg J(M+m)+mL 2 M − C(M+m) J(M+m)+mL 2 M _ ¸ ¸ ¸ _ , B = ∂f ∂u ¸ ¸ ¸ ¸ (xe,ue)=(0,0) = _ ¸ ¸ ¸ _ 0 J+mL 2 J(M+m)+mL 2 M 0 − mL J(M+m)+mL 2 M _ ¸ ¸ ¸ _ A continuación se presentan los programas de simulación y el modelo a simular necesarios, en Matlab (R), mediante los cuales se pueden comparar las respuestas del sistema linealizado (2.26) y del sistema no lineal (2.24) en lazo abierto. Tomaremos como salida la posición del centro de gravedad (cg) del péndulo y(t) = x 1 (t) +Lsen(x 3 (t)). El contenido de cada uno de los programas utilizados (spend.m,mpend.m y lpend.m) se pue- de describir brevemente como sigue. El programa spend.m permite simular el modelo no lineal, mpend.m contiene el modelo no lineal del sistema, ver Listado 2.1. El programa lpend.m, ver Lis- tado 2.2, genera la comparación entre el modelo lineal y el modelo no lineal. Se incluye el script del sistema lineal en el Listado 2.2, a manera de ilustración de algunas de las instrucciones que se pueden emplear en Matlab (R) en el caso de simulación de sistemas lineales. Las gráficas permiten observar las simulaciones del sistema no lineal y comparar con los resultados obtenidos en el caso lineal. Nota: a partir del símbolo % se indican los comentarios para que el lector ten- ga mayor claridad y comprenda mejor cómo funcionan. Los programas mencionados se pueden encontrar en la página http://www.ing.ula.ve/~marquez/snl/. 2.5 PRIMER EJEMPLO EN MATLAB (R) 47 Listado 2.1: Simulación del sistema no lineal spend.m %% spend.m %% Programa de simulacion del modelo %% del pendulo invertido sobre una plataforma movil. %% Parametros global M F r0 u0 m L J C g %% Movil (’Cart ’) M = 0.48; % masa F = 3.83; % constante de friccion %% Pendulo m = 0.16; % masa L = 0.25; % longitud del pendulo (distancia entre el eje y el centro de % gravedad) J = 0.0043; % momento de inercia alrededor del centro de gravedad C = 0.00218; % constante de friccion g = 9.8; % aceleracion de gravedad %% condiciones iniciales x0 = [0.4 0 pi/40 0]’; %% tiempo de simulacion ti = 0; tf = 1; [t,x] = ode45(’mpend’,[ti tf],x0); subplot(221),plot(t,x(:,1)) title(’Posicion del movil’),grid subplot(222),plot(t,x(:,3)) title(’Angulo de rotacion del pendulo’),grid subplot(223),plot(t,x(:,1)+L*sin(x(:,3))) title(’Posicion del c.g. del pendulo’),grid % fin de spend.m Modelo del sistema mpend.m %% mpend.m %% modelo del pendulo invertido sobre una plataforma movil %% para utilizarlo hay que ejecutar el programa spend.m function xdot = mpend(t,x) %% Parametros global M F r0 u0 m L J C g u = 0; D1 = -C*x(4)+m*L*g*sin(x(3)); D2 = -F*x(2)+m*L*sin(x(3))*x(4)^2+u; D = J*(M+m)+m*L^2*(M+m*sin(x(3))^2); xdot = [x(2); (-m*L*cos(x(3))*D1+(J+m*L^2)*D2)/D; x(4); ((M+m)*D1-m*L*cos(x(3))*D2)/D]; %% fin de mpend.m 48 LINEALIZACIÓN APROXIMADA Listado 2.2: Simulación del sistema lineal y presentación gráfica lpend.m %% lpend.m %% Modelo incremental %% pendulo invertido sobre una plataforma movil. %% %% Se debe ejecutar despues de spend.m %% Los parametros son los mismos de spend.m Dt = J*(M+m)+M*m*L^2; A = [0 1 0 0; 0 -F*(J+m*L^2)/Dt -m^2*L^2*g/Dt m*L*C/Dt; 0 0 0 1; 0 m*L*F/Dt (M+m)*m*L*g/Dt -C*(M+m)/Dt]; B = [0; (J+m*L^2)/Dt; 0; -m*L/Dt]; C = [1 0 L 0]; %% Consideramos como salida la posicion %% del centro de gravedad y = x_1+L*sin(x_3) D = 0; T = (0:0.05:tf)’; U = zeros(size(T)); %% condiciones iniciales x0, ver spend.m [Y,X] = lsim(A,B,C,D,U,T,x0); subplot(221),plot(t,x(:,1),’y--’,T,X(:,1),’r’) title(’Posicion del movil’),grid subplot(222),plot(t,x(:,3)*180/pi,’y--’,T,X(:,3)*180/pi,’r’) title(’Angulo de rotacion del pendulo’),grid subplot(223),plot(t,x(:,1)+L*sin(x(:,3)),’y--’,T,Y,’r’) title(’Posicion del cg’),grid %% fin de lpend.m 2.6 EJERCICIOS PROPUESTOS 49 Figura 2.7: Comportamiento local del sistema lineal (línea continua —) y el sistema no lineal (trazos - -) Para ejecutar los programas desde la ventana de comandos de Matlab (R), se escribe: > spend % ejecuta la simulacion del sistema no lineal > lpend % ejecuta la simulacion del sistema lineal y grafica En la Figura 2.7 se puede observar la equivalencia local entre el modelo linealizado y el modelo no lineal original. Se observa como, a partir de un cierto instante, las dos respuestas se separan. Esto simplemente reafirma nuestra aseveración acerca de que, respecto al sistema no lineal, el modelo linealizado sólo servirá para mostrar el comportamiento del sistema original en un entorno limitado del punto de operación. 2.6. Ejercicios propuestos Ejercicio 2.1: Modelo incremental del tanque biológico Considere el Modelo 4, en la página 9. Obtenga el modelo linealizado del sis- tema alrededor del punto de equilibrio (1.9). () Ejercicio 2.2: Modelo incremental de la dinámica de un artefacto espacial Considere el Modelo 6, en la página 12. Obtenga el modelo en variables incre- mentales del artefacto espacial alrededor del punto de equilibrio (1.14). () 50 LINEALIZACIÓN APROXIMADA Ejercicio 2.3: Proceso de producción de etanol en Matlab (R) Obtenga el modelo incremental del Modelo 14, en la página 18, alrededor del punto de equilibrio (1.32). Realice las simulaciones numéricas del comportamiento del sistema linealizado ante una señal escalón en lazo abierto u δ (t) = 0,2, con una concentración de etanol nominal ¯ x1 = E = 0,7 (con condiciones iniciales en el punto de equilibrio). Realice el mismo experimento de simulación (idéntica señal de prueba y condi- ciones iniciales) sobre el sistema no lineal original (1.31), usando para ello la relación dada por (2.7). Le sugerimos que compare los resultados obtenidos en los dos sistemas y elabore sus propias conclusiones. () Ejercicio 2.4: Péndulo invertido sobre una plataforma móvil Dejamos como ejercicio verificar que en el punto de equilibrio x1 = arbitrario; x2 = 0; x3 = 0; x4 = 0 la linealización del Modelo 22, en la página 45, con x δ = (x 1δ , x 2δ , x 3δ , x 4δ ) T , está dada por la expresión (2.26). Verifique además que otro punto de equilibrio de este sistema es: x1 = arbitrario; x2 = 0; x3 = π ; x4 = 0 Dé una interpretación física de este punto. Calcule el sistema linealizado (calcule las matrices A, B y C) asociado al mismo. Nota: En general, en el punto de equilibrio el valor de la posición angular está dado por x3 = kπ (k ∈ Z). Verifíquelo. () Figura 2.8: Manipulador robótico flexible Modelo 23: Manipulador robótico flexible Considere un manipulador robótico de un grado de libertad, con articulación flexible, representado en la Figura 2.8. Las ecuaciones diferenciales que gobiernan este sistema no lineal están dadas por: J L ¨ θ +B L ˙ θ +MgLsen θ +k(θ −ψ) = 0 Jm ¨ ψ +Bm ˙ ψ −k(θ −ψ) = u (2.27) 2.7 RESUMEN DEL CAPÍTULO Y LECTURAS ADICIONALES 51 donde θ es la posición angular del brazo manipulador y ψ es la posición angular del eje del motor, la cual es ligeramente diferente de la anterior en virtud de la flexibilidad del acoplamiento entre el motor y el manipulador. Esta flexibilidad ha sido modelada como un resorte torsional. La variable u representa el torque aplicado por el motor a su carga, constituida en este caso por el brazo mecánico. Definiendo como variables de estado las siguientes: x 1 = θ ; x 2 = ˙ θ ; x 3 = ψ ; x 4 = ˙ ψ el modelo (2.27), en el espacio de estado, del manipulador flexible resulta ser entonces: ˙ x 1 = x 2 ˙ x 2 = − MgL J L sen x 1 − B L J L x 2 − k J L (x 1 −x 3 ) ˙ x 3 = x 4 ˙ x 4 = − Bm Jm x 4 + k Jm (x 1 −x 3 ) + u Jm (2.28) M Ejercicio 2.5: Modelo incremental del manipulador flexible Verifique que el punto de equilibrio del sistema (2.28), parametrizado respecto a la posición angular deseada, es el siguiente: x1 = arbitrario = X, x2 = 0, x3 = X + MgL k senX, x4 = 0, u = MgLsenX Obtenga el modelo linealizado del manipulador alrededor del punto equilibrio dado. () 2.7. Resumen del capítulo y Lecturas adicionales Este capítulo constituye la base del diseño de controladores lineales me- diante el método de la linealización aproximada. Adicionalmente, como ver- emos más adelante, constituye la base, junto a los puntos de equilibrio para- metrizados, del método de linealización extendida. A partir del modelo del sistema no lineal y usando el punto de equilibrio deseado se obtiene, mediante el cálculo de matrices jacobianas, el modelo linealizado del sistema no lineal. El modelo linealizado resultante, también llamado modelo incremental, será empleado posterioemente para el diseño de estrategias de control lineales. El concepto de variables incrementales constituye la base de la aplicación de compensadores lineales al caso de sistemas no lineales, alrededor de puntos de equilibrio deseados. Lecturas recomendadas Varios de los textos que tratan a fondo el diseño de sistemas de control lineales presentan en sus capítulos introductorios una reseña sobre lineali- zación de sistemas no lineales alrededor de puntos de equilibrio. Consulte por ejemplo: 52 LINEALIZACIÓN APROXIMADA 1. K. Furuta, A. Sano, D. Atherton, State Variable Methods in Automatic Control, Wiley, 1988, [FSA88]. En la sección 1.2 se estudia el mode- lado por variables de estado y se incluye se manera breve y simple el enfoque de linealización presentado aquí. 2. K. Ogata, Ingeniería de Control Moderna, Prentice Hall, 2da. edición, 1993, [Oga93]. Prácticamente un clásico entre los textos introducto- rios a la teoría de control. 3. G. F. Franklin, J. D. Powell, A. Emami-Naeini, Feedback Control of Dynamic Systems, Prentice Hall, 1994, [FPEN94]. Desde el punto de vista de motivación y didáctica, un texto para aprender y disfrutar la lectura. 4. B. Kuo, Automatic Control Systems, Séptima edición, Prentice Hall, 1995, [Kuo95]; N. Nise, Control System Engineering, Segunda edición, Addison Wesley, 1996, [Nis96]. Adicionalmente a los manuales que vienen con Matlab (R), de introduc- ción a sus características y potencialidades, existen diferentes textos de introducción al uso de Matlab (R) para simulación con “scripts”. Muchos de estos manuales se encuentran disponibles en Internet. Existen actual- mente muchos textos de sistemas de control que recomiendan el uso de Matlab (R) como herramienta de trabajo, además existen libros enteros con aplicaciones de Matlab (R) al caso de sistemas de control. Es de notar que Matlab (R) posee una herramienta muy útil y ver- sátil, llamada Simulink (R), la cual permite trabajar con diagramas de bloques para hacer simulaciones. Esta herramienta será pocas veces em- pleada a lo largo del texto, sin embargo, muchos de los modelos propuestos ya han sido escritos en Simulink (R) y se pueden encontrar en la dirección http://www.ing.ula.ve/~marquez/snl/. Para una introducción al uso de Matlab (R) en el análisis y diseño de leyes de control para sistemas lineales: 1. Existen diferentes textos introductorios, que constituyen verdaderos cursos de sistemas de control lineales, apoyados con Matlab (R). Entre ellos tenemos, por ejemplo: J. Wilkie, M. Johnson, R. Katebi, Control Engineering: An Introductory Course, Palgrave Macmillan, 2001; R.H. Bishop, Modern Control Systems Analysis & Design Using MATLAB & Simulink, Addison-Wesley, 1997. Visite la página web de Math- works, de los libros de texto basados en Matlab (R), http://www.mathworks.com/support/books/, rúbrica Controls & Sys- tems, para conseguir información relativa a este tópico. 2. Visite la página web de la Universidad Carnegie-Mellon “Control Tu- torials for Matlab”, http://www.engin.umich.edu/group/ctm/. 3 Realimentación del vector de estados Foto Es imprescindible entender que, al tratar de establecer leyes de control sobre sistemas reales, y en particular sobre modelos no li- neales, en base a modelos lineales aproximados, la validez de tales acciones de regulación está necesariamente restringida al rango de validez de la linealización. No podrá por lo tanto pretenderse que un modelo así establecido sea válido en todo el ámbito de posible variabilidad del sistema. Cabe destacar, sin embargo, que gran parte de la tecnología de regulación automática, diseñada para innumerables clases de pro- cesos en la industria durante los últimos 20 años, está basada en este solo hecho! 53 54 REALIMENTACIÓN DEL VECTOR DE ESTADOS 3.1. Motivación Es bien conocido que los procesos reales a ser controlados siempre serán afectados por perturbaciones que desvian, de sus puntos de equilibrio, a las variables que caracterizan al sistema. Se hace necesario, por lo tanto, diseñar mecanismos de control que ayuden a mantener las variables del sis- tema en sus valores nominales de operación, a la luz de las perturbaciones reinantes. Estas perturbaciones pueden provenir del medio ambiente como influ- encias de caracter aleatorio o generadas por pequeñas variaciones de los parámetros que definen el sistema dinámico. En ocasiones, las perturba- ciones también pueden ser inducidas por operadores humanos en el deseo de conducir experimentos sobre el sistema y su comportamiento controlado, con el objetivo de realizar, por ejemplo, el diseño del modelo matemático por medio de identificación, o ajuste (“tuning” en inglés) de los parámetros del controlador. En cualquiera de los casos enunciados, la linealización aproximada pue- de ser útil, en cuanto al diseño del controlador se refiere, pues ésta per- mite obtener un modelo lineal que describe el comportamiento del sistema alrededor de sus valores nominales como respuesta a las perturbaciones que afectan al mismo. El modelo linealizado exhibe en forma explícita la relación entre las perturbaciones de entrada y estados iniciales y su efecto en las variables perturbadas de estado y salida del sistema. En consecuencia, este mode- lo puede servirnos para proponer una perturbación de caracter controlador a la entrada incremental del sistema. El propósito de diseñar tal entrada será el de hacer que el efecto de las posibles perturbaciones en los estados iniciales y variables de estado sea estabilizado a cero. Con esto se lograría que el sistema no lineal original continúe operando en su punto de equi- librio nominal. Este capítulo se dedica a desarrollar los esquemas básicos de aplicación de la linealización aproximada en el diseño de estrategias de control. Presentaremos a continuación el esquema de diseño de un controlador estático para un sistema linealizado basado en el conocimiento preciso del vector de estado, al cual generalmente se le conoce con el nombre de con- trolador por realimentación del vector de estado. 3.2. Diseño de controladores mediante linealización aproximada Supondremos, en primer lugar, que el valor del estado del sistema x(t) y de sus posibles perturbaciones x δ (t) están disponibles para medición. En este capítulo partiremos, entonces, de la suposición de que tenemos conocimiento pleno de todas y cada una de las variables de estado pertur- badas y podemos, por lo tanto, utilizarlas en esquemas de control realimen- 3.2 DISEÑO DE CONTROLADORES MEDIANTE LINEALIZACIÓN APROXIMADA 55 Figura 3.1: Relación entre las variables originales y las variables incrementales Figura 3.2: Sistema lineal que describe, en forma aproximada, el comportamiento de las perturbaciones tado. El método que estudiaremos está basado en suponer que los valores de las perturbaciones de estado se describen mediante un sistema lineal obte- nido por medio de linealización aproximada, a partir del modelo no lineal original, alrededor del punto de equilibrio nominal del sistema. De esta for- ma, reemplazaremos los valores reales de las perturbaciones por las aprox- imaciones obtenidas por linealización, representadas por un sistema lineal. Sabemos que esta sustitución es válida solo cuando los valores de las per- turbaciones son suficientemente pequeños. En efecto, el esquema de la Figura 2.1, reproducido en la Figura 3.1, nos muestra que el comportamiento de los efectos de las perturbaciones sobre el sistema no lineal son reemplazables, en forma aproximada, por un sistema lineal. Observemos al sistema no lineal de la Figura 3.1 como una relación en- tre u δ (t) y x δ (t). Es evidente que al encontrar un control estabilizante como función de las variables perturbadas de estado x δ (t), entonces este control debe garantizarnos la estabilización a cero de dichas variables perturbadas. Entre u δ (t) y x δ (t) existe una relación lineal aproximada que podemos representar como se muestra en la Figura 3.2. Es indudable que si logramos establecer una prescripción que especi- fique al control, o entrada incremental, u δ (t) en términos del estado in- cremental x δ (t), nuestro problema no lineal original queda reducido a un problema lineal. Esto es cierto en tanto que las magnitudes de las pertur- baciones, a las cuales se ve sometido el sistema original, sean lo suficiente- mente pequeñas como para no desviar significativamente los valores de las variables de estado originales de sus puntos de operación nominales. 56 REALIMENTACIÓN DEL VECTOR DE ESTADOS Figura 3.3: Sistema lineal realimentado linealmente Figura 3.4: Esquema de control lineal por realimentación del vector de estado para sistemas no lineales La estrategia a seguir consistirá en diseñar una ley de control lineal para el sistema de la Figura 3.2, de manera de estabilizar a cero las va- riables de estado perturbadas x δ (t). El esquema de control, desde el punto de vista lineal, sería el que se muestra en la Figura 3.3. Finalmente, en términos del sistema no lineal original, el esquema de control sería el rep- resentado en la Figura 3.4. Cabe ahora preguntarnos: ¿cuándo será efectivo utilizar el esquema de control ilustrado en la Figura 3.4?. Es decir, ¿qué limitaciones deben existir para que, en ciertos casos, el esquema de control propuesto no funcione satisfactoriamente?. Puesto que hemos reemplazado el problema de control no lineal por uno lineal, estas preguntas se reducen a plantear las condiciones bajo las cuales el sistema de la Figura 3.2 es estabilizable mediante realimentación cons- tante de las variables de estado incrementales. Para ello recordemos el si- 3.2 DISEÑO DE CONTROLADORES MEDIANTE LINEALIZACIÓN APROXIMADA 57 guiente teorema básico de la teoría de sistemas lineales: Controlabilidad y realimentación del vector de estado Teorema 3.1: Estabilizabilidad usando realimentación de estados La condición necesaria y suficiente para que el sistema lineal ˙ x δ = Ax δ +Bu δ (3.1) sea estabilizable mediante una ley de control por realimentación constante del vector de estado, es que el par (A, B) sea controlable. Si el sistema es incontrolable, éste puede aún estabilizarse mediante realimentación si y solo si los modos incontrolables son asintóticamente estables. Este teorema está asociado al muy conocido teorema de colocación de polos, el cual asevera que los polos de un sistema controlable pueden ser asignados de la manera deseada mediante una realimentación lineal de las variables de estado. En la literatura siempre se distingue entre sistemas controlables y sis- temas estabilizables. Todo sistema controlable es estabilizable. Sin embar- go, no todo sistema estabilizable es per se controlable. De hecho existe, como reza el teorema anterior, la posibilidad de tener un sistema incontrolable que sea estabilizable. La noción de estabilizabilidad de un sistema repre- senta un requerimiento más débil que el implicado por la noción de contro- labilidad. Más adelante ilustraremos estos conceptos mediante el ejemplo Matlab 3.2, en la Sección 3.3. Afortunadamente, casi todos los sistemas lineales son controlables! Para explicar esta aseveración debemos decir que si escogemos aleatoriamente los valores numéricos que intervienen en la conformación de la matriz A y los del vector B, entonces, “con probabilidad uno” 1 , el sistema resultante es controlable. Esto se debe a que en el espacio de los parámetros del sistema lineal (cuya dimensión es n 2 + n = n(n + 1)) el conjunto de valores de esos parámetros que hacen cero al determinante de la matriz de controlabilidad, es decir, los valores numéricos de la matriz A y del vector B que hacen cero la matriz de controlabilidad: C = det _ B : AB : . . . : A n−1 B ¸ forman una variedad algebraica, es decir, una unión de planos, cuya medida es cero (entendamos por tal “medida” el hipervolumen). En consecuencia, al escoger un punto aleatoriamente en este espacio de dimensión n(n+1), con probabilidad uno caeremos fuera de esta variedad algebraica. Una forma de ilustrar lo que decimos consiste en dibujar una o varias líneas en una hoja de papel en forma desordenada, luego proponer dos números aleatorios que representen coordenadas adoptadas sobre dos bordes contiguos de la hoja y, por último, ver si los números propuestos al azar representan un punto de alguna de las lineas que hemos trazado. Como es fácil imaginarse, es muy difícil caer exactamente sobre una de las líneas dibujadas. Es posible 1 En términos prácticos, “con probabilidad uno” significa “casi con absoluta certeza”. 58 REALIMENTACIÓN DEL VECTOR DE ESTADOS predecir que, si el experimento se hace adivinando en forma aleatoria, por ejemplo, pidiéndole a un amigo —quien no ve la hoja ni el resultado de sus intentos— el decir las coordenadas en cuestión, entonces es casi seguro que de cien intentos que hagamos caeremos cien veces ¡fuera de las rectas dibujadas! El resultado anterior y nuestra seguridad de encontrarnos frente a un sistema controlable nos hace concluir que el método tendrá limitaciones solamente relativas a la magnitud de las perturbaciones que se requiere controlar, es decir, las mismas deberán ser suficientemente pequeñas. Ejemplo 3.1: Realimentación de estados: sistema de levitación magnética Consideremos el Modelo 8, en la página 14. Tomaremos como punto de equilibrio aquel parame- trizado respecto a X, ver (1.20): x 1 = X 1 (X) = X ; x 2 = 0 ; x 3 = X 3 (X) = _ mgX c ; u = U(X) = R _ mgX c Emplearemos esta parametrización pues, de esta manera, la ley de control lineal vendrá direc- tamente en términos del error de la variable que se desea controlar (y no en términos de una variable que está indirectamente relacionada con ella). Definiremos, como siempre, las variables de estado incrementales utilizando los valores de equilibrio de los estados y los controles: x 1δ = x 1 −X = cU 2 mgR 2 ; x 2δ = x 2 ; x 3δ = x 3 −X 3 (X) ; u δ = u −U(X) La evolución de las perturbaciones de estado están gobernadas por el sistema de ecuaciones diferenciales lineales obtenido del proceso de linealización alrededor de los valores de equilibrio: d dt _ _ x 1δ x 2δ x 3δ _ _ = _ ¸ ¸ _ 0 1 0 g X 0 −2 _ cg mX 0 0 − R L _ ¸ ¸ _ _ _ x 1δ x 2δ x 3δ _ _ + _ ¸ _ 0 0 1 L _ ¸ _ u δ (3.2) Verificamos, entonces, que el sistema linealizado es controlable: C = [B : AB : A 2 B] = _ ¸ ¸ ¸ ¸ ¸ _ 0 0 − 2 L _ cg mX 0 − 2 L _ cg mX 2R L _ cg mX 1 L − R L 2 R 2 L 3 _ ¸ ¸ ¸ ¸ ¸ _ y, por lo tanto, det C = − 4cg L 3 mX = 0, es decir, el sistema es controlable. Resulta lógico pensar que si mediante una ley de control lineal, dada por: u δ = −K 1 x 1δ −K 2 x 2δ −K 3 x 3δ logramos que el estado incremental x δ tienda a cero asintóticamente, habremos logrado que el estado x del sistema no lineal se acerque a su valor de equilibrio. Examinemos brevemente la naturaleza del sistema en lazo abierto, es decir, sin control. La matriz A del sistema, extraida directamente de (3.2), está dada por A = _ ¸ ¸ _ 0 1 0 g X 0 −2 _ cg mX 0 0 − R L _ ¸ ¸ _ 3.2 DISEÑO DE CONTROLADORES MEDIANTE LINEALIZACIÓN APROXIMADA 59 Figura 3.5: Ubicación de los polos del sistema (3.2) en lazo abierto Los autovalores de A determinan la estabilidad del sistema alrededor del origen (x δ = 0), cuando u δ = 0. Tales autovalores se obtienen a partir de las raíces del polinomio característico de la matriz A, el cual se calcula de la manera siguiente: p A (s) = det(sI −A) = s 3 + R L s 2 − g X s − gR XL = s 2 _ s + R L _ − g X _ s + R L _ = _ s + R L _ _ s 2 − g X _ Las raíces de este polinomio resultan s 1 = − R L ; s 2 = ± _ g X El sistema linealizado cuenta, por tanto, con dos raíces estables (ubicadas en el lado izquierdo del plano complejo) y una raiz inestable (ubicada en el semiplano derecho del plano complejo), tal como se muestra en la Figura 3.5. La respuesta en lazo abierto del sistema linealizado cuenta entonces con términos exponenciales de la forma exp(−R/Lt), exp( _ g/Kt) y exp(− _ g/Kt). Uno de estos términos crece de manera indefinida dando lugar a inestabilidad. Ejercicio: ¿Cómo se explica esta inestabilidad desde el punto de vista físico? A pesar de que el sistema sea naturalmente inestable, podemos sin embargo, debido a que el sistema es controlable, garantizar la existencia de una ley de realimentación lineal que hace al sistema en lazo cerrado asintóticamente estable. La realimentación lineal permitirá ubicar los polos del sistema en lazo cerrado en puntos pre-seleccionados del plano complejo. Deseamos por ejemplo, que el sistema linealizado (de tercer orden) en lazo cerrado tenga sus polos ubicados en las raíces del siguiente polinomio característico deseado: p d (s) = (s +α)(s 2 + 2ζωn +ω 2 n ) = s 3 + (2ζωn +α)s 2 + (ω 2 n + 2ζωnα)s +ω 2 n α (3.3) A manera de recordatorio, ζ es conocido como “relación de amortiguamiento” y ωn es la “frecuencia natural no amortiguada” correspondiente al par de polos complejos conjugados que genera el factor de segundo grado. La Figura 3.6 muestra una posible disposición de los polos deseados del sistema, en la cual los polos complejos conjugados son dominantes (en la Figura se han tomado a = −α, b = −ξωn y c = ωn _ 1 −ξ 2 ). El sistema en lazo cerrado está dado por: d dt _ _ x 1δ x 2δ x 3δ _ _ = _ ¸ ¸ _ 0 1 0 g X 0 −2 _ cg mX − K 1 L − K 2 L − R L − K 3 L _ ¸ ¸ _ _ _ x 1δ x 2δ x 3δ _ _ 60 REALIMENTACIÓN DEL VECTOR DE ESTADOS Figura 3.6: Polos del sistema (3.2) en lazo cerrado y su polinomio característico resulta: p A−BK (s) = det(sI −A) = s 3 + _ R L + K 3 L _ s 2 + _ −2 K 2 L _ cg mX − g X _ s + _ −2 K 1 L _ cg mX − g X _ R L + K 3 L __ Si igualamos este polinomio, término a término, con el polinomio deseado p d (s) dado por (3.3), obtenemos el siguiente sistema de ecuaciones lineales para las ganancias de realimentación K 1 , K 2 y K 3 , R L + K 3 L = 2ζωn +α −2 K 2 L _ cg mX − g X = ω 2 n + 2ζωnα −2 K 1 L _ cg mX − g X _ R L + K 3 L _ = ω 2 n α de donde resultan K 1 = − L √ mX _ 2g ζ ωn +gα +ω 2 n αX _ 2 √ cgX ; K 2 = − L √ mX _ g +ω 2 n X + 2 ζ ωn αX _ 2 √ cgX ; K 3 = −R + 2 ζ ωn L +αL El esquema de control está representado entonces, al menos conceptualmente, por medio del diagrama mostrado en la Figura 3.7. El controlador lineal queda dado por la siguiente expresión: u = _ L √ mX _ 2g ζ ωn +gα +ω 2 n αX _ 2 √ cgX _ (x 1 −X) − _ L √ mX _ g +ω 2 n X + 2 ζ ωn αX _ 2 √ cgX _ x 2 −(−R + 2 ζ ωn L +αL) _ x 3 − _ mgX c _ Ejemplo 3.2: Diseño del control lineal de un reactor de fisión por medio de linealización aproximada La linealización del Modelo 12, en la página 17, alrededor del punto de equilibrio x 1 = X 1 (N) = N; x 1 = X 1 (N) = βN λL ; u = 0 3.2 DISEÑO DE CONTROLADORES MEDIANTE LINEALIZACIÓN APROXIMADA 61 Figura 3.7: Esquema de realimentación lineal de estados para el sistema de levitación magnética se expresa mediante ˙ x 1δ = − β L x 1δ +λx 2δ + N L u δ ˙ x 2δ = β L x 1δ −λx 2δ Así, las matrices del sistema A y de entrada B están dadas por: A = _ ¸ _ − β L λ β L −λ _ ¸ _ ; B = _ N L 0 _ El sistema es evidentemente controlable pues su matriz de controlabilidad es no singular como se puede constatar facilmente: C = [B : AB] = _ ¸ _ N L − βN L 2 0 βN L 2 _ ¸ _ ; det C = βN 2 L 3 = 0 De esta forma, utilizamos para el sistema lineal la ley de control incremental dada por u δ = −K 1 x 1δ −K 2 x 2δ , lo cual hace que el sistema en lazo cerrado adquiera la forma: ˙ x δ = _ − β L − N L K 1 λ − N L K 2 β L −λ _ x δ El polinomio característico de este sistema está dado por: p A−KB = s 2 + _ λ + β L + N L K 1 _ s + _ λ N L K 1 + βN L 2 K 2 _ (3.4) 62 REALIMENTACIÓN DEL VECTOR DE ESTADOS Evidentemente, las ganancias de diseño K 1 y K 2 pueden escogerse independientemente para hacer que el polinomio característico del sistema en lazo cerrado iguale a un cierto polinomio característico deseado, dado por p d = s 2 + 2ζωns +ω 2 n (3.5) Los valores de K 1 y K 2 se obtienen entonces igualando término a término los coeficientes de los polinomios (3.4) y (3.5): K 1 = L N _ 2ζωn −λ − β L _ ; K 2 = L 2 βN _ ω 2 n −λ _ 2ζωn −λ − β L __ La ley de control realimentado que estabiliza el modelo incremental se expresa entonces de la manera siguiente: u δ = − L N _ 2ζωn −λ − β L _ x 1δ − L 2 βN _ ω 2 n −λ _ 2ζωn −λ − β L __ x 2δ La ley de control lineal que estabiliza al sistema no lineal se consigue sustituyendo las varia- bles incrementales x 1δ , x 1δ y x δ por sus valores: x 1δ = x 1 −N; x 2δ = x 2 − βN λL ; u δ = u de donde resulta u = − L N _ 2ζωn −λ − β L _ (x 1 −N) − L 2 βN _ ω 2 n −λ _ 2ζωn −λ − β L __ _ x 2 − βN λL _ 3.3. Ejemplos en Matlab (R) Basados en la técnica de linealización aproximada, a continuación se presenta el diseño de controladores basados en realimentación del vector de estados para dos sistemas no lineales: un artefacto espacial y un reactor de fisión. Se ilustra por medio de Matlab (R) la respuesta en lazo cerrado, simulada numéricamente, para observar el desempeño de dichos contro- ladores. Ejemplo 3.3: Diseño del control (lineal) de la orientación de un artefacto espacial Consideremos nuevamente el Modelo 6, en la página 12: ˙ x 1 = x 2 ˙ x 2 = FL J sen x 3 ˙ x 3 = Ru Bajo la suposición de que todas las variables de estado son medibles y, por lo tanto, utiliz- ables en cualquier política de control realimentado, procedemos a definir las variables perturbadas alrededor de los valores nominales de equilibrio, los cuales, se asume, son coincidentes con las condiciones inherentes a la posición deseada: x 1δ = x 1 −Θ; x 2δ = x 2 ; x 3δ = x 3 ; u δ = u La linealización del sistema alrededor de su punto de equilibrio constante está dada por las ecua- ciones: ˙ x 1 δ = x 2δ ˙ x 2 δ = _ FL J cos X 3 _ X 3 =0 x 3δ = FL J x 3δ ˙ x 3 δ = Ru δ 3.3 EJEMPLOS EN MATLAB (R) 63 las cuales se reescriben en términos matriciales en la forma: d dt _ _ x 1δ x 2δ x 3δ _ _ = _ _ 0 1 0 0 0 FL J 0 0 0 _ _ _ _ x 1δ x 2δ x 3δ _ _ + _ _ 0 0 R _ _ u δ (3.6) A continuación, algunas características a notar. El sistema linealizado es independiente del punto de equilibrio. También es fácil ver que el sistema es completamente controlable debido a que la matriz de controlabilidad, dada por: C = _ _ 0 0 FLR J 0 FLR J 0 R 0 0 _ _ , es de rango completo (es decir, rango C = 3) pues su determinante es distinto de cero. Proponemos una ley de control realimentado del tipo lineal especificada mediante la expresión u δ = −K 1 x 1δ −K 2 x 2δ −K 3 x 3δ Esta ley de control conlleva, en consecuencia, la siguiente expresión para el sistema contro- lado en lazo cerrado: d dt _ _ x 1δ x 2δ x 3δ _ _ = _ _ 0 1 0 0 0 FL J −RK 1 −RK 2 −RK 3 _ _ _ _ x 1δ x 2δ x 3δ _ _ Puesto que nuestro interés fundamental está en inducir una dinámica controlada, para el val- or de las perturbaciones del estado, de naturaleza asintóticamente estable a cero, los valores de las ganancias K 1 , K 2 , K 3 deben especificarse de tal manera que los autovalores del sistema autónomo anterior (sistema en lazo cerrado) tengan parte real negativa. Con el objeto de obtener esta especificación calculamos el polinomio característico y lo igualamos a alguno del cual sabe- mos tiene sus raíces en el semiplano izquierdo en valores preestablecidos. El polinomio característico del sistema lineal en lazo cerrado está dado por: det(sI −A+BK) = det _ _ s −1 0 0 s − FL J RK 1 RK 2 s +RK 3 _ _ (3.7) = s 3 +RK 3 s 2 + FLRK 2 J s + FLRK 1 J (3.8) Como puede apreciarse, de la conformación de este polinomio característico resulta que los pa- rámetros de diseño K 1 , K 2 y K 3 intervienen independientemente en cada término del polinomio. Este hecho permitirá obtener estos valores al igualar el polinomio característico a uno deseado cuyos polos se encuentran en el semiplano izquierdo. Supongamos que deseamos contar con una localización de polos como la que se muestra en la Figura 3.8. Es decir, deseamos que el polinomio característico p d en lazo cerrado esté dado por: p d (s) = (s +a)(s +b − j c)(s +b + j c) = (s +a)(s 2 + 2bs +b 2 +c 2 ) = s 3 + (2b +a)s 2 + (b 2 +c 2 + 2ab)s +a(b 2 +c 2 ) (3.9) donde a, b y c son conocidos y se escogen de tal manera que la respuesta temporal, por ejemplo, tenga características deseables (tiempo de ascenso, sobrepaso, tiempo de estabilización, etc.). Igualando los coeficientes de las mismas potencias de los polinomios (3.8) y (3.9) obtenemos el siguiente conjunto de ecuaciones para los parámetros de diseño: RK 3 = 2b +a FLRK 2 J = b 2 +c 2 + 2ab FLRK 1 J = a(b 2 +c 2 ) 64 REALIMENTACIÓN DEL VECTOR DE ESTADOS Figura 3.8: Ubicación de polos, en el plano complejo, para el artefacto espacial en lazo cerrado de donde obtenemos en forma inmediata los valores requeridos de los parámetros de diseño: K 1 = J a(b 2 +c 2 ) FLR ; K 2 = J b 2 +c 2 + 2ab FLR ; K 3 = 2b +a R La ley de control lineal retroalimentada que estabiliza el modelo incremental alrededor del origen está dada entonces por: u δ = −J a(b 2 +c 2 ) FLR x 1δ −J b 2 +c 2 + 2ab FLR x 2δ − 2b +a R x 3δ El controlador lineal que estabiliza el sistema a su punto de equilibrio x 1 = Θ, x 2 = 0, x 3 = 0, se obtiene sustituyendo las variables incrementales en el controlador lineal por sus valores en función de las variables originales. En este caso, el controlador está dado entonces por: u = u δ = −J a(b 2 +c 2 ) FLR (x 1 −Θ) −J b 2 +c 2 + 2ab FLR x 2 − 2b +a R x 3 (3.10) Es necesario recalcar que Validez local la validez del controlador lineal obtenido anteriormente se cir- cunscribe a valores cercanos al punto de equilibrio deseado. En virtud de las no linealidades del sistema, cuando se pretende utilizar un control lineal simple que, de por sí, no toma en cuenta las complejidades globales del sistema y solo sus expresiones locales, el resultado puede ser un rotundo fracaso en lograr el control del sistema. Esto se ilustra en los próximos párrafos mediante simulaciones numéricas realizadas en el com- putador. Control lineal del artefacto espacial mediante realimentación del vector de estado Matlab 3.1: Simulación del comportamiento en lazo cerrado del artefacto espacial, controlado mediante linealización aproximada Las respuestas del sistema controlado (1.13) en lazo cerrado con la ley de control (3.10) se mues- tran en la Figura 3.9. En este gráfico se presentan la posición angular de orientación de la tobera, la velocidad angular de orientación, la posición angular de la tobera, así como la señal de control usada en estabilizar el sistema. Note que el sistema tiene como condición inicial x 1 (0) = 2 rad, x 2 (0) = 0 rad/seg, x 3 (0) = 0 rad. Los valores utilizados en la simulación fueron: Parámetros del sistema: F = 200; L = 3; R = 20; J = 50; 3.3 EJEMPLOS EN MATLAB (R) 65 Figura 3.9: Comportamiento en lazo cerrado del artefacto espacial controlado 66 REALIMENTACIÓN DEL VECTOR DE ESTADOS Figura 3.10: Comportamiento del artefacto espacial obtenido por simulación del sistema controlado, para desviaciones iniciales significativas del punto de equilibrio Parámetros del controlador: a = 2,0; b = 3,5; c = 12,75; θ = 2,5 Como se observa en la Figura 3.9, el controlador (3.10) estabiliza, exitosamente, la posición an- gular del artefacto desde una posición “cercana” a la posición deseada. El listado del programa sejem1.m, con el cual se pueden obtener las simulaciones numéricas, se presenta en el Listado 3.1. En el programa sejem1.m incluimos los comandos necesarios para la generación de los gráficos. En el Listado 3.2 se transcribe el programa ejemplo1.m, realizado en Matlab (R), donde se presenta el modelo y la ley de control lineal del sistema no lineal. Recordemos que hemos mencionado que el método de la linealización aproximada funcionará en tanto las perturbaciones sean “suficientemente pequeñas”. Sin embargo, determinar cuando esto ocurre solo depende del sistema estudiado en particular. Utilizaremos el ejemplo desarrol- lado para ilustrar nuestro punto. En la Figura 3.10 se ha repetido la simulación anterior desde una posición inicial suficientemente alejada de la posición final de equilibrio, en este caso para x 1 (0) = 0. Se puede observar que, bajo estas condiciones, el controlador lineal falla en estabilizar el sistema al valor de equilibrio deseado, el sistema ya no se estabiliza alrededor de Θ = 2,5 rad. Ejercicio: Explique este hecho. Determine los puntos de equilibrio del sistema en lazo cerrado y observe cuáles son estables y cuáles inestables. 3.3 EJEMPLOS EN MATLAB (R) 67 Listado 3.1: Programa de simulación del artefacto espacial sejem1.m % sejem1.m % Programa de generacion de los graficos del ejemplo1.m % tiempo de simulacion ti = 0; tf = 3; %% condiciones iniciales: %% cerca del punto de equilibrio x0 = [2 0 0]’; %% lejos del p.e. %%x0 = [0 0 0]’; %% simulacion [t,x] = ode45(’ejemplo1’,[ti tf],x0); %% Posicion angular (x(1)) subplot(2,2,1), plot(t,x(:,1)) title(’Posición angular’) xlabel(’tiempo t’) ylabel(’theta’) %% Velocidad angular (x(2)) subplot(2,2,2), plot(t,x(:,2)) title(’Velocidad angular’) xlabel(’tiempo t’) ylabel(’omega’) %% Angulo de orientación de la tobera (x(3)) subplot(2,2,3), plot(t,x(:,3)) title(’Orientación de la tobera’) xlabel(’tiempo t’) ylabel(’beta’) %% Variable de control (u) F = 200; L=3; R=20; J =50; a =2; b=3.5; c = 12.75; Theta = 2.5; u = -J*a*(b^2+c^2)/F/L/R*(x(:,1)-Theta)-J*(b^2+c^2+2*a*b)/F/L/R*x(:,2)-... (2*b+a)/R*x(:,3); subplot(2,2,4), plot(t,u) title(’Variable de control’) xlabel(’tiempo t’) ylabel(’u’) % fin de sejem1.m 68 REALIMENTACIÓN DEL VECTOR DE ESTADOS Listado 3.2: Simulación del artefacto espacial: modelo ejemplo1.m function xdot=ejemplo1(t,x) %% ejemplo1.m %% %% Primer ejemplo de simulacion numerica: %% Control de orientacion de un artefacto espacial por medio %% de linealizacion aproximada %% %% Este programa simula la respuesta de un modelo de tercer %% orden, que representa un artefacto espacial del cual se requiere %% una reorientacion angular mediante control de las variables %% de estado: posicion, velocidad y orientacion de la tobera. %% El controlador disen~ado esta basado en linealizacion %% aproximada alrededor del punto de equilibrio deseado. %% parametros del sistema F = 200; L=3; R=20; J =50; %% parametros del controlador a =2.0; b=3.5; c = 12.75; Theta = 2.5; %% Ley de control u = -J*a*(b^2+c^2)/(F*L*R)*(x(1)-Theta)-J*(b^2+c^2+2*a*b)/F/L/R*x(2)-... (2*b+a)/R*x(3); %% Ecuaciones de estado xdot = [x(2) ; F*L/J*sin(x(3)) ; R*u]; %% Fin de ejemplo1.m Matlab 3.2: Ejemplo de diseño para un proceso incontrolable de produc- ción de etanol La linealización del Modelo 14, en la página 18, alrededor del punto de equilibrio (1.32) x 1 = X 1 (E) = E; x 2 = X 2 (E) = 1 −E; u = U(E) = 1 −E E , arroja la siguiente expresión para la dinámica incremental: ˙ x 1δ = x 2δ −x 1δ 1 −E E −Eu δ ˙ x 2δ = − 1 E x 2δ + (1 −x 2 )u δ (3.11) Es decir, las matrices del sistema incremental resultante están dadas por A = _ ¸ _ − 1 −E E 1 0 − 1 E _ ¸ _ ; B = _ −E E _ Es fácil ver que el sistema lineal no satisface la condición de controlabilidad. En efecto, la matriz de controlabilidad está dada por C = [B : AB] = _ −E 1 E −1 _ de tal forma que su determinante se anula, det C = 0. En este caso, el procedimiento a seguir consiste en transformar el sistema linealizado, con el objeto de esclarecer cuál de los modos del sistema es el modo incontrolable. Es necesario seguir los siguientes pasos porque lo que queremos es determinar si el modo incontrolable es estabilizable (esto es, posee una dinámica asintóticamente estable a cero). 3.3 EJEMPLOS EN MATLAB (R) 69 Considérese la siguiente transformación del vector de estados: z 1δ = x 1δ +x 2δ z 2δ = x 1δ (3.12) la cual es, evidentemente, invertible. Las ecuaciones diferenciales para z δ resultan ser: ˙ z 1δ = _ 1 − 1 E _ z 1δ ˙ z 2δ = − 1 E z 2δ +Eu δ De las ecuaciones resultantes, la última exhibe claramente a z 1δ como modo incontrolable del sistema, mientras que z 2δ representa el modo controlable del mismo. Afortunadamente, como se observa, el modo incontrolable del sistema es, evidentemente, asintóticamente estable, en virtud de las restricciones, dadas por (1.33), que pesan sobre el valor de E desde un principio, 0 < E < 1. Esto hace que la cantidad 1 − 1/E, que representa el autovalor asociado a z 1δ , sea, efectivamente, menor que cero. En conclusión, el valor de esta variable de estado transformada tiende a cero, por sí sola, en forma exponencial. El diseño del controlador se reduce a prescribir una ley de control que estabilice al modo z 2δ a cero (z 2δ = x 1δ = concentración incremental de etanol. Hacemos, entonces, u δ = −Kz 2δ = −Kx 1δ de donde resulta un sistema en lazo cerrado de la forma ˙ z 2δ = − _ 1 E +KE _ z 2δ Igualando el único autovalor a una cantidad real negativa −λ, se tiene: u δ = −Kx 1δ = − 1 E _ λ − 1 E _ x 1δ Es evidente que el controlador no hace uso de la variable de estado (o modo) incontrolable del sistema. Como consecuencia de la política de control adoptada para el sistema incremental transfor- mado, además del hecho de que la parte incontrolable del sistema presenta una dinámica asintóti- camente estable a cero, ambos valores de las variables z 1δ y z 2δ convergen a cero. Por lo tanto, debido a la transformación (3.12), x 1δ y x 2δ convergen también a cero. Los estados originales x 1 y x 2 del sistema convergen, como queríamos, a sus puntos de equilibrio. El controlador lineal, que regula al sistema no lineal, está dado entonces por: u = U(E) − 1 E _ λ − 1 E _ (x 1 −E) = 1 −E E − 1 E _ λ − 1 E _ (x 1 −E) En la Figura 3.11 se muestra la simulación del comportamiento controlado del sistema en la lazo cerrado. El punto de equilibrio tomado para la concentración de etanol es de E = 0,7. 70 REALIMENTACIÓN DEL VECTOR DE ESTADOS Listado 3.3: Programa de simulación del proceso incontrolable de producción de etanol sejem2.m % sejem2.m % Programa de simulacion y generacion de los graficos del ejemplo2.m % tiempo de simulacion ti = 0; tf = 4; %% condiciones iniciales: x0 = [0.1 0.9]’; %% simulacion [t,x] = ode45(’ejemplo2’,[ti tf],x0); %% Concentracion del etanol (x(1)) subplot(2,2,1), plot(t,x(:,1)) title(’Concentración del etanol’) xlabel(’tiempo t’) ylabel(’x1’) %% Concentracion del azucar (x(2)) subplot(2,2,2), plot(t,x(:,2)) title(’Concentración de azúcar’) xlabel(’tiempo t’) ylabel(’x2’) %% Variable de control (u) E = 0.7 ; Ue = (1-E)/E; lambda = 1 ; u = Ue -(1/E)*(lambda-1/E)*(x(:,1)-E) ; subplot(2,2,3), plot(t,u) title(’Rata de alimentación del sustrato’) xlabel(’tiempo t’) ylabel(’u’) % fin de sejem2.m 3.3 EJEMPLOS EN MATLAB (R) 71 Figura 3.11: Respuesta en lazo cerrado del sistema de fermentación estabilizable 72 REALIMENTACIÓN DEL VECTOR DE ESTADOS Listado 3.4: Modelo y ley de control ejemplo2.m empleados para la simulación function xdot=ejemplo2(t,x) %% ejemplo2.m %% %% Segundo ejemplo con simulaciones numericas del %% libro: %% Control de Sistemas No Lineales %% Hebertt Sira-Ramirez %% %% Control de un proceso incontrolable de produccion %% de etanol por medio del metodo de linealizacion aproximada %% %% parametros del sistema E = 0.7 ; Ue = (1-E)/E; %% parametros del controlador lambda = 1 ; %% Ley de control u = Ue -(1/E)*(lambda-1/E)*(x(1)-E) ; %% Ecuaciones de estado xdot = [ x(2)-x(1)*u ; -x(2)+ (1-x(2))*u ]; %% Fin de ejemplo2.m 3.4. Ejercicios propuestos Ejercicio 3.1: Control del péndulo invertido sobre una plataforma móvil mediante realimentación del vector de estado en Matlab (R) Diseñe un controlador por realimentación del vector de estados basado en linea- lización aproximada para el sistema (2.24). Realice los programas necesarios en Matlab (R) para realizar las simulaciones. Los valores de los parámetros a usar en las simulaciones se presentan en la tabla 3.5. Tabla 3.5: Parámetros usados en el sistema del péndulo invertido sobre una plataforma móvil Parámetro Valor Parámetro Valor M 0.5 [kg] m 0.2 [kg] J 0.006 [kg·m 2 ] L 0.3 [m] C 0.0 F 0.1 [N/m/seg] Como requerimiento de diseño, el comportamiento del sistema en lazo cerrado debe ser tal que el tiempo de asentamiento sea inferior a 5 segundos, ts < 5 [seg]. ( ) Ejercicio 3.2: Sistema de levitación magnética Considere el sistema de levitación magnética, Modelo 8, en la página 14. Re- alice las simulaciones correspondientes para el siguiente conjunto de valores de los 3.4 EJERCICIOS PROPUESTOS 73 Figura 3.12: Sistema de dos conductores acoplados magnéticamente parámetros del sistema: c = 1 m 2 kg seg 2 Amp 2 ; g = 9,8 [m/seg 2 ]; m = 0,1 [kg] R = 1 [Ω]; L = 0,01 [Henrio]; X = 0,05 [m] Las especificaciones de diseño se dejan a libre escogencia. ¿Qué criterios uti- lizaría para proponer una colocación de polos adecuada? Sugerencia: Tome en cuen- ta los diagramas utilizados en este capítulo. () Ejercicio 3.3: Control lineal de un aro rotatorio (giroscopio) Diseñe el controlador lineal por realimentación del vector de estado del Mo- delo 16, en la página 19, alrededor del punto de equilibrio nominal del sistema. Busque los parámetros físicos necesarios para poder analizar, mediante simula- ciones numéricas, el comportamiento del sistema en lazo cerrado. Proponga, con la ayuda del instructor del curso, los objetivos de control necesarios que permitirían definir exactamente la estrategia de control. () Modelo 24: Conductores eléctricos acoplados Un conductor muy largo se fija en posición vertical y por él se hace pasar una corriente I que actúa como variable de control. Otro pequeño conductor, de longitud L y masa m, también se coloca en posición vertical y se fija a un resorte que puede moverse horizontalmente. Ver Figura 3.12. Por el conductor pequeño se hace circular una corriente i, fija. La fuerza de atracción o de repulsión que se establece sobre el conductor móvil está dada por: fe = 2IiL a −x donde x corresponde a la distancia al conductor “pequeño”. 74 REALIMENTACIÓN DEL VECTOR DE ESTADOS Cuando la corriente I = 0, el resorte se encuentra en reposo y sin ejercer fuerza alguna a la distancia x = L 0 . La ecuación del movimiento del conductor pequeño está dada por: m¨ x = −k(x −L 0 ) + 2IiL a −x donde a es la distancia que se muestra en la Figura3.12 y k es la constante de elasticidad del resorte. La ecuación anterior es válida para L 0 < x < a. Supondremos, por tanto, que L 0 < x < a. Supóngase que se desea controlar la posición del conductor pequeño a un valor constante x = X tal que L 0 < X < a. Escogiendo las variables del sistema como x 1 = x; x 2 = ˙ x; u = I las ecuaciones de estado del sistema resultan, entonces: ˙ x 1 = x 2 ˙ x 2 = −k(x 1 −L 0 ) + 2iL a −x 1 u (3.13) Evidentemente el punto x 2 = 0, x 1 = L 0 y u = I = 0 constituye un punto de equilibrio, el cual es claramente estable. Pero estamos interesados en mantener como punto de equilibrio la condición: x 2 = 0, x 1 = X > 0 con el resorte sujeto a cierta tensión constante. Para tales valores de equilibrio se tiene la siguiente parameterización del punto de equilibrio (en términos de la distancia nominal X): u = U(X) = k(X −L 0 )(a −X) 2iL ; X 1 (X) = X; X 2 (X) = 0 (3.14) M Ejercicio 3.4: Control lineal de conductores eléctricos acoplados Calcule la ley de control por realimentación del vector de estados, dado un poli- nomio genérico deseado de segundo orden, para el sistema (3.13), alrededor del pun- to de equilibrio (3.14). () Modelo 25: Péndulo invertido controlado por un motor de corriente con- tinua a través de un sistema de engranaje Consideremos, otra vez, el modelo del manipulador robótico mostrado en la Figura 1.8, en la pági- na 15, vie´ ndolo esta vez como un péndulo invertido controlado por un motor de corriente continua. Para obtener el modelo se pueden plantear las siguientes suposiciones: 1. El motor es controlado por armadura. 2. La inercia del motor Jm es insignificante comparada con la inercia del péndulo invertido Jp. 3. Jp = Ml 2 , es decir, la inercia del péndulo es calculada como si la masa estuviese concen- trada en el extremo del péndulo de longitud l. 4. El sistema de engranajes no presenta histéresis (“backlash” en inglés). Todos sus elemen- tos son rígidos. 5. Se desprecian las fuerzas de roce. El esquema del motor de corriente continua controlado por armadura se presenta en la Figu- ra 2.3, página 40. 3.4 EJERCICIOS PROPUESTOS 75 Tomando como variables de estado x 1 = θp, x 2 = ˙ θp = ωp, x 3 = ia, el modelo queda expresado por las siguientes ecuaciones: _ _ ˙ x 1 ˙ x 2 ˙ x 3 _ _ = _ ¸ _ x 2 g l sen x 1 + NKv Ml 2 x 3 − K b N La x 2 − Ra La x 3 _ ¸ _ + _ _ 0 0 1 La _ _ u y = [1 0 0] _ _ x 1 x 2 x 3 _ _ (3.15) donde Kv es la constante de torque del motor, K b es la constante de fuerza contra electromotriz (back emf, en inglés) y N es la relación de engranajes. El punto de equilibrio del sistema, para- metrizado en función de la corriente de armadura, es el siguiente: x 1 = sen −1 _ −NKv MlgRa U _ , x 2 = 0, x 3 = U Ra , u = arbitrario = U M Ejercicio 3.5: Control por realimentación de estado: péndulo invertido con- trolado por un motor de corriente continua a través de un sistema de en- granaje Tome el modelo precedente y haga un análisis del sistema linealizado, estudie tanto la estabilidad del sistema en lazo abierto como la controlabilidad. Diseñe un controlador por realimentación del vector de estado, asumiendo un polinomio desea- do (¿de qué orden?) y suponiendo que se pueden medir todos los estados (discuta si físicamente esta hipótesis se puede cumplir. () Ejercicio 3.6: Fórmula de Ackermann Se sugiere al lector investigar la fórmula de Ackermann, un conocido procedi- miento utilizado en la demostración del teorema de colocación de polos. Muchos textos que tratan la teoría de control lineal estudian esta fórmula, incluyendo los mencionados más adelante en Lecturas recomendadas. El texto del autor orig- inario es J. Ackermann, Sampled-Data Control Systems, Springer-Verlag, Berlin, Alemania, 1985. Otra fórmula que utilizaremos más adelante, sobre todo para el método de la linealización extendida, es la siguiente: Fórmula de Bass-Gura. Esta fórmula La presentamos aquí con el objetivo de ser autocontenido. Está dada por la siguiente expresión: K(U) = (α −a(U))[R −1 (U)] T C −1 (U) (3.16) donde α = [αn αn−1 . . . α1] es el vector formado por los coeficientes del polinomio característico deseado del sistema en lazo cerrado: p d (s) = s n +αns n−1 +. . . +α1 , (3.17) y a(U) = [an(U) an−1(U) ldots a1(U)] es el vector formado con los coeficientes del polinomio característico de la matriz A(U), es decir, p(s) = det(sI −A(U)) = s n +an(U)s n−1 +. . . +a1(U) , (3.18) 76 REALIMENTACIÓN DEL VECTOR DE ESTADOS R(U) es una matriz triangular de Toepliz, dada por R(U) = 1 0 . . . 0 a1(U) 1 . . . 0 . . . . . . . . . . . . an−1(U) an−2(U) . . . 1 (3.19) y C(U) = [B(U) A(U)B(U) ... A (n−1) (U)B(U)] (3.20) es la matriz de controlabilidad del par (A(U), B(U)). El polinomio característico deseado se selecciona de tal manera que presente coeficientes constantes e indepen- dientes de U. () Ejercicio 3.7: Controlabilidad de la esfera sobre un riel Considere el Modelo 17, en la página 22. Determine la controlabilidad local del sistema (1.39) alrededor del punto de equilibrio calculado en la Sección 1.6. () Ejercicio 3.8: Preguntas contenidas en el texto Página 59: ¿Cómo se explica esta inestabilidad desde el punto de vista físico? Página 66: Explique este hecho. Determine los puntos de equilibrio del sistema en lazo cerrado y observe cuáles son estables y cuáles inestables. () 3.5. Resumen del capítulo y Lecturas adicionales A partir del modelo linealizado, cuya obtención ya se describió en el Capítulo 2, se plantea un esquema de diseño de leyes de control por re- alimentación del vector de estados. Este método es aplicable mientras se disponga de la medición completa de cada una de las componentes del es- tado incremental. Como veremos en el próximo capítulo, será posible, sin embargo, obtener valores estimados de las componentes no medidas a par- tir de la medición de una o varias variables de salida. Note que, para no ahondar en detalles que escapan a los objetivos de este texto, hemos asumido que el lector posee conocimientos básicos sobre la realimentación del vector de estado. Recomendamos al lector dirigirse a la gran variedad de textos sobre sistemas de control lineal que tratan detalladamente este tema, en especial el diseño mediante realimentación completa del vector de estado. Lecturas recomendadas Sobre las consideraciones de diseño de controladores lineales en el espa- cio de estado, el lector puede consultar, por ejemplo (la fórmula de Acker- mann se puede encontrar en cualesquiera de los textos mencionados): 3.5 RESUMEN DEL CAPÍTULO Y LECTURAS ADICIONALES 77 1. T. Kailath, Linear Systems, Prentice-Hall, Englewood Cliffs, NJ, 1980, [Kai80]. Un texto muy completo, con una visión amplia de los difer- entes aspectos de la teoría de control lineal hasta finales de la década de los 70. Es interesante remarcar que la fórmula de Bass-Gura se encuentra desarrollada aquía. 2. K. Ogata, Ingeniería de control moderna, Prentice Hall, 1993, [Oga93]. 3. Gene F. Franklin, J. David Powell, A. Emami-Naeini, Feedback Con- trol of Dynamic Systems, 3ra. Edición, Addison-Wesley, 1994, [FPEN94]. 4. K. Furuta, A. Sano, D. Atherton, State Variable Methods in Automatic Control, Wiley, 1988, [FSA88]. Para una introducción a métodos de diseño en el espacio de estados más avanzados, como es el caso del regulador lineal cuadrático, llamado diseño LQR, refiérase a: P. Dorato, C. Abdallah, V. Cerone, Linear-Quadratic Control: An intro- duction, Prentice Hall, Englewood Cliffs, New Jersey, 1995, [DAC95]. Una referencia histórica sobre la asignación de polos es la siguiente: W. M. Wonham, “On pole assignment in multi-input controllable lin- ear systems”, IEEE Trans. Automat. Contr., vol. 12, pp. 660–665, 1967, [Won67]. Una referencia útil sobre el uso de Matlab (R) para el caso de sistemas lineales (colocación de polos, LQR, diseño de compensadores PID, adelanto, adelanto-atraso, H ∞ , etc.) es el libro: Bahram S., M. Hassul, Control System Design using Matlab, Prentice Hall, Englewood Cliffs, New Jersey, 1995, [BH95]. 4 Observadores dinámicos de estado Foto Este capítulo considera la construcción de un controlador sobre la base de diseño de un observador o reconstructor del vector de estado, cuando sólo se dispone del conocimiento de la salida, de la entrada y de la estructura del sistema lineal. En el caso en que se disponga de alguno o algunos de los estados es posible además plantearse la construcción de observadores de orden reducido. La Sección 4.5 se dedica al caso de diseño de observadores de orden reducido. 4.1. Introducción En los desarrollos anteriores, hicimos la suposición explícita de que to- dos y cada uno de los estados del sistema no lineal estaban disponibles para su utilización en las leyes de control retroalimentadas, las cuales fueron sin- tetizadas a partir de los errores de equilibrio de tales estados con respecto 78 4.2 RECONSTRUCCIÓN DEL VECTOR DE ESTADO 79 a sus valores de equilibrio nominales constantes. Esta suposición no siempre es válida, pues en una gran cantidad de ca- sos prácticos solo algunos estados están disponibles fisicamente para llevar a cabo mediciones sobre ellos. En la mayoría de los casos, solamente la vari- able de salida se encuentra a nuestra disposición y, por lo tanto, con todo lo que contamos es con una relación (a través de las ecuaciones) entre el valor de la salida y su dependencia con respecto a los estados. Esta situación debe resolverse, entonces, tratando de inferir un valor estimado del vector de los estados a partir de nuestro conocimiento del sistema, de nuestra disponibilidad de los valores de la salida y del conocimiento inequívoco de los valores del control que estamos sum- inistrando al sistema. Este proceso de inferencia recibe el nombre de esti- mación o reconstrucción del vector de estado. El proceso de estimación del vector de estado para un sistema no li- neal ha sido investigado y resuelto solo recientemente y sus desarrollos re- quieren de una base adecuada de la geometría diferencial. Restringiremos, sin embargo, nuestra atención al problema de reconstruir el vector de esta- do incremental con el objeto de utilizarlo en la ley de realimentación lineal basada en la linealización aproximada del sistema no lineal. Desde este punto de vista, el problema que nos planteamos en este mo- mento es mucho más sencillo pues se reduce a reconstruir u observar el vector de estados incrementales, o perturbados, que se suceden alrededor de los valores nominales de operación del sistema no lineal. El modelo que hemos dado en aceptar como válido para tales valores incrementales del estado es un modelo dinámico lineal (resultante de la linealización aproximada), el cual resultó ser además invariante en el tiem- po. Debido a esto, solamente precisaremos utilizar la solución del problema de estimación de sistemas dinámicos lineales. El problema de reconstrucción del vector de estado, o, equivalentemente, de construcción (diseño) de un observador para un sistema lineal fué resuel- to a principios de los años 60 por un profesor americano de nombre David Luenberger [Lue66, Lue71]. En su honor, el observador determinístico de estado recibe en la literatura el nombre de “Observador de Luenberger". 4.2. Reconstrucción del vector de estado Considérese el sistema lineal, que suponemos aproxima dentro de un primer orden los valores de las perturbaciones del vector de estado de un sistema no lineal. ˙ x δ = Ax δ +Bu δ y δ = C x δ (4.1) donde x δ es el vector de estado n-dimensional, u δ es un escalar que rep- resenta a la variable de control y la variable y δ es la salida (escalar) del 80 OBSERVADORES DINÁMICOS DE ESTADO Figura 4.1: Esquema de realimentación lineal con medición total de las componentes del vector de estado Figura 4.2: Esquema de realimentación lineal del sistema aproximado con medición total de las componentes del vector de estado sistema. Como y δ no coincide con el estado del sistema, por cuanto hay una obvia diferencia en cuanto a las dimensiones se refiere, no disponemos del estado incremental x δ para hacer control realimentado del sistema, tal como lo hicimos en la sección anterior. El valor del estado inicial x δ (t 0 ) es, además, desconocido. Recordemos que en el esquema de control de la Sección 3.2, tuvimos la necesidad de utilizar el vector de estado incremental completo, esto con el objeto de sintetizar la acción de control realimentada incremental corre- spondiente que lograba la estabilización del sistema no lineal. Este esque- ma se transcribe nuevamente por razones didácticas en la Figura 4.1. La validez del control lineal reside a en que este diagrama es equivalente, en una primera aproximación, al de la Figura 4.2. 4.2 RECONSTRUCCIÓN DEL VECTOR DE ESTADO 81 Figura 4.3: Esquema de aproximación del comportamiento entrada-salida del sistema no lineal A diferencia de esa situación, ahora solo tenemos disponible la salida incremental y δ (t) del sistema no lineal. Es decir, ahora visualizamos la situación de la manera como se muestra en la Figura 4.3. En esta figura, Y = Y (U) = h(X(U)) es el valor nominal (de equilibrio) de la salida. En la práctica, al par de valores nominales (Y, U) se les llama punto de operación del sistema, éstos son precisamente los valores en los cuales el operador está generalmente interesado. Debemos entonces tratar de reconstruir el estado incremental x δ a par- tir del conocimiento del sistema, es decir, a partir del conocmiento de las matrices A, B y C, de las mediciones realizadas sobre la salida y δ y del in- negable conocimiento que seguramente tendremos del valor del control u δ , el cual estamos en capacidad de suministrar al sistema (y, por lo tanto, en capacidad de medir y conocer a plenitud). Con este objetivo en mente, debemos entonces Sintetizar un proceso dinámico de estimación, es decir, debemos proponer un sistema dinámico el cual acepte por entradas los valores del control y de la salida y produzca como resultado un valor estimado del estado incremental del sistema linealiza- do. Al valor resultante de este proceso de reconstrucción del estado incre- mental lo designaremos mediante ˆ x δ . El observador realizará, por ende, la función representada en el diagrama de bloques que se muestra en la Figura 4.4. Note que el diagrama se ha dispuesto a propósito de derecha a izquierda y no en la manera habitual, esto debido que este bloque será mayormente utilizado en el lazo de realimentación. La idea es utilizar este reconstructor de estado en el esquema de control que propusimos en el capítulo anterior (Cap. 3) tal como si el valor del esta- do reconstruido ˆ x δ coincidiera con el valor real (no disponible) del vector de estado x δ . Es decir, nuestra propuesta para controlar el sistema está basada en el diagrama de bloques de la Figura 4.5. 82 OBSERVADORES DINÁMICOS DE ESTADO Figura 4.4: Observador dinámico de estado Figura 4.5: Esquema de realimentación lineal de salida para un sistema no lineal, uti- lizando un observador dinámico de estado 4.3 OBSERVADOR DE LUENBERGER: CONVERGENCIA 83 Para garantizar la validez de este esquema debemos saber, en primer lugar, bajo qué condiciones el valor del estado estimado converge al valor del estado verdadero del sistema, es decir, bajo qué condiciones el estado estimado se aproxima asintóticamente al valor verdadero del estado. Dicho de otra manera, necesitamos saber cuáles son las condiciones bajo las cuales podemos garantizar que el error de reconstrucción es asintóticamente estable a cero. En segundo lugar, durante aquel lapso de tiempo en el cual el valor del estado estimado no coincide en forma precisa con el valor del estado in- cremental verdadero, debemos garantizar que el sistema incremental, así erróneamente controlado (aun cuando de manera temporal), siga siendo as- intoticamente estable a cero. La primera preocupación resulta fácil de contestar, mientras que la se- gunda requerirá un poco más de análisis. Estudiaremos primeramente el problema de la convergencia del error de estimación a cero. 4.3. Observador de Luenberger: convergencia En virtud de que tratamos de estimar el estado de un sistema lineal, no resulta del todo ilógico proponer un reconstructor dinámico que también sea lineal. Así pues, caracterizaremos este reconstructor, evidentemente, utilizando la representación de sistemas dinámicos mediante el vector de estado. Tomaremos como nuestro observador de estados, o reconstructor, al sis- tema dinámico lineal dado por: ˙ ˆ x δ = Φˆ x δ + Γu δ +Ly δ , ˆ x δ (t 0 ) = ˆ x 0δ (4.2) donde la matriz Φ y los vectores Γ y L serán determinados en lo sucesivo, de tal manera que sea posible obtener un estimador asintótico de los estados del sistema lineal. Primeramente, definimos el error de observación como la diferencia en- tre el valor real del vector de estado del sistema linealizado y el valor es- timado de tal vector de estado. Esta definición, por supuesto, se extiende a los valores iniciales de tales estados. En resumen, se define: e δ = x δ − ˆ x δ con valor inicial e δ (t 0 ) = x δ (t 0 )−ˆ x δ (t 0 ) = x 0δ −ˆ x 0δ . Puesto que el valor inicial del estado verdadero es desconocido, no podemos hacer suposición alguna acerca del valor inicial del error de estimación. En general tendremos que suponer que tal error inicial es diferente de cero pero no podremos dar cali- ficaciones adicionales sobre la magnitud de esta cantidad vectorial. Es fácil establecer una ecuación diferencial que describa el comporta- miento del vector de error de estimación en términos de las matrices y vec- tores que definen tanto al sistema original linealizado (4.1) como al obser- vador propuesto (4.2). En efecto: Error de observación 84 OBSERVADORES DINÁMICOS DE ESTADO ˙ e δ = ˙ x δ − ˙ ˆ x δ = Ax δ +Bu δ −(Φˆ x δ −Γu δ −Ly δ ) = Ax δ −Φˆ x δ + Φe δ + (B −Γ)u δ −LCx δ = (A−Φ −LC)x δ + (B −Γ)u δ + Φe δ (4.3) La dinámica del error de observación (4.3) no debe depender ni de los valores de las acciones de control ni de los valores correspondientes que éstas producen en los estados del sistema. Si hemos de manipular u δ para lograr, digamos, la estabilización del sistema linealizado hacia el origen de coordenadas, no parece lógico que el error de observación dependiera de cuan grandes o pequeñas deban ser tales acciones de control. El mismo razonamiento nos conduce a concluir que es igualmente inconveniente que el error de estimación dependa de los valores que va tomando el vector de estado en su camino hacia la estabi- lización, pues la existencia de sus transientes alejaría, aún más, el valor del estado estimado del real, actuando como perturbaciones en la dinámica del error. En consecuencia, debemos anular, con una escogencia apropiada de las matrices y vectores Φ, Γ y L, la influencia de los estados y controles del sistema original linealizado. De la ecuación (4.3) es fácil inferir que se requiere entonces que: Φ = A−LC ; Γ = B (4.4) lo cual hace que el error de observación evolucione de acuerdo con la dinámi- ca lineal y autónoma dada por: ˙ e δ = (A−LC)e δ ; e δ (t 0 ) = e 0δ (4.5) De esta forma, el error de estimación e δ solo dependerá de si mismo y, en particular, de su valor inicial. La solución de la ecuación diferencial lineal vectorial de primer orden, la cual representa al vector de error de estimación, estaría dada aún en términos del vector columna desconocido L mediante la siguiente expresión: e δ (t) = e (A−LC)(t−t0) e 0δ En virtud del resultado anterior, estamos en capacidad de predecir el comportamiento cualitativo de e δ , el cual depende principalmente de la na- turaleza de los autovalores de la matriz Φ = A−LC. Nuestro objetivo será entonces el de imponer, sobre la dinámica autóno- Convergencia a cero del error de observación ma del error de estimación, un comportamiento asintóticamente estable a cero a través de la escogencia juiciosa del vector L. Es decir, debemos es- coger L de tal manera que los autovalores de A − LC se encuentren en el semiplano izquierdo del plano complejo. Al hacer esto se garantiza, final- mente, que el valor del estado estimado converge, efectivamente, de manera asintótica al valor del estado verdadero del sistema linealizado. Antes de proceder a hallar el vector requerido L, en virtud de que ya hemos determinado algunas matrices inicialmente desconocidas del obser- vador nos permitimos mostrar a continuación el esquema que va adoptando 4.3 OBSERVADOR DE LUENBERGER: CONVERGENCIA 85 Figura 4.6: Estructura del observador dinámico de estado el mismo. A partir de (4.2) y (4.4), tenemos ˙ ˆ x δ = (A−LC)ˆ x δ +Bu δ +Ly δ = Aˆ x δ +Bu δ +Ly δ −LCˆ x δ = Aˆ x δ +Bu δ +L(y δ −Cˆ x δ ) (4.6) Si hacemos ˆ y δ = Cˆ x δ es decir, si damos el nombre de salida estimada al valor que produce el esta- do estimado cuando es afectado por el mapa de salida C, entonces podemos reescribir las ecuaciones del observador (4.6) como: Observador de Luenberger ˙ ˆ x δ = Aˆ x δ +Bu δ +L(y δ − ˆ y δ ) ˆ y δ = Cˆ x δ (4.7) al cual llamammos observador dinámico del vector de estado. Note que el sistema resultante representa una especie de “copia” del sistema lineal ori- ginal (4.1). El observador (4.7) puede representarse entonces mediante el diagrama de bloques mostrado en la Figura 4.6. La interpretación que podemos hacer de la estructura del observador es directa: el observador de estado no es más que una emulación, con ca- pacidad auto-correctora, de la dinámica del sistema cuyo estado se desea reconstruir. El vector de parámetros L juega un papel de realimentador del error de estimación en cuanto a su reflejo en los valores de la salida. Precisamente, esta realimentación del error de salida, más propiamente llamada inyección de la salida, es la que trata de corregir cualquier discrepancia que exista entre el valor verdadero del vector de estado y su valor estimado. Nótese que esta entrada adicional “inyectada” al modelo emulador del sistema solo puede tomar valores diferentes a cero cuando la salida del sis- tema no coincide con el valor de la salida estimada y, de hecho, tal error 86 OBSERVADORES DINÁMICOS DE ESTADO se anula por completo cuando estos valores coinciden. Esto es un indicativo de que el proceso de estimación se está llevando a cabo en forma correc- ta, al menos en principio. Sin embargo, debe quedar suficientemente claro que si la salida estimada coincide con la salida del sistema esto no impli- ca, necesariamente, que el estado estimado esté coincidiendo con el estado verdadero. En este caso, es enteramente posible que ambos estados (estimado y verdadero) se encuentren temporalmente ocultos por el mapa de salida rep- resentado por el vector fila C, es decir, en un subespacio de su subespacio nulo 1 . La condición que nos permitiría asegurar que no existe dicho sube- spacio, diferente de cero, donde ambos vectores de estado puedan “ocul- tarse"por coincidencia de los valores que arrojan a la salida es la llamada condición de observabilidad. Observemos en detalle este caso en los siguien- tes párrafos. El problema de estabilizar asintóticamente el error de estimación a cero puede verse como un problema de control sobre un sistema al cual daremos el nombre de dual del original (4.1). En efecto, consideremos el sistema realimentado siguiente Sistema dual ˙ z δ = A T z δ +C T v δ v δ = −L T z δ (4.8) y tratemos de responder la siguiente pregunta: ¿Bajo qué condiciones puede estabilizarse a cero el sistema (4.8) por realimentación lineal del vector de estado z δ ? La respuesta es, evidentemente, que el par (A T , C T ) debe ser un par controlable. El sistema en lazo cerrado anterior se describe mediante: ˙ z δ = (A T −C T L T )z δ (4.9) Los autovalores que gobiernan la respuesta del sistema (4.9) son los de la matriz del sistema en lazo cerrado, la cual puede reescribirse como: (A T −C T L T ) = (A−LC) T En otras palabras, como los autovalores de cualquier matriz cuadrada coinciden con los autovalores de su traspuesta, el vector L deberá tener la posibilidad de asignarle los polos a la matriz (A T −C T L T ), en lugares pre- fijados del semiplano izquierdo del plano complejo. Esto es posible siempre y cuando el par (A T , C T ) sea un par controlable. La relación de este problema de controlabilidad con nuestro problema de estimación es inmediata, pues el error de estimación se encuentra gob- ernado por la dinámica autónoma (4.5), dada por ˙ e δ = (A−LC)e δ . Concluimos, por tanto, que el problema de estabilizar a cero el error de estimación del vector de estado, mediante inyección de la salida es factible en tanto que el par de matrices (A T , C T ) sea un par controlable. Recordemos 1 Para revisar este tipo de noción, el lector puede referirse a [FSA88]. 4.3 OBSERVADOR DE LUENBERGER: CONVERGENCIA 87 que la matriz C y la condición de controlabilidad del par (A T , C T ) están dadas por rango C = rango _ C T : A T C T : . . . : (A T ) n−1 C T ¸ = n (4.10) Puesto que el rango de una matriz iguala al rango de su traspuesta, rango C = rango C T es fácil ver que la condición de controlabilidad (4.10) del sistema “dual” (4.8) se traduce, entonces, en la siguiente condición Matriz de observabilidad rango O = rango C T = rango _ ¸ ¸ ¸ ¸ ¸ _ C CA . . . CA n−2 CA n−1 _ ¸ ¸ ¸ ¸ ¸ _ (4.11) que es la conocida condición de observabilidad del sistema linealizado ori- ginal (4.1). Así, concluimos lo siguiente: La condición necesaria y suficiente para que exista un vector L de ganancia del observador, el cual coloque los polos del sistema lineal (representado por el error de observación) en el semiplano izquierdo del plano complejo y, por lo tanto, produzca un error de estimación asintóticamente estable a cero para el observador dinámico de Luenberger, es que el sistema linealizado original sea observable, es decir, que el par (A, C sea observable. De manera dual a las nociones de controlabilidad y estabilizabilidad, existen las nociones de observabilidad y detectabilidad. Es posible que el Observabilidad y detectabilidad sistema lineal de base no sea observable, pero que la dinámica que rige la parte inobservable del vector de estado sea, por sí sola, asintóticamente estable a cero. En ese caso, no tendríamos por qué preocuparnos de recon- struir más que la parte observable del estado del sistema, ya que aquellos estados que no podamos reconstruir, por ser inobservables, tendrían por estimado obvio el valor cero ya que estaríamos seguros de que, tarde o tem- prano, estos estados llegarán, irremisiblemente, a tomar este último valor de cero. A tales sistemas se les conoce en la literatura como sistemas recon- struibles o detectables. Como hemos dicho, ellos juegan un papel dual al de los sistemas “estabilizables"que estudiamos en la sección anterior. Ejemplo 4.1: Detectabilidad del sistema de fermentación de azúcar Considere el sistema de fermentación de azúcar Modelo 14, en la página 18, el cual fué expuesto en la Sección 1.5. Este sistema está descrito por: ˙ x 1 = x 2 −x 1 u ˙ x 2 = −x 2 + (1 −x 2 )u y = x 2 88 OBSERVADORES DINÁMICOS DE ESTADO La linealización del sistema alrededor de su punto de equilibrio resultó, ver (3.11) en la pági- na 68: ˙ x 1δ = x 2δ −x 1δ 1 −E E −Eu δ ˙ x 2δ = − 1 E x 2δ + (1 −x 2 )u δ y δ = x 2δ El sistema linealizado no es observable ya que la matriz de observabilidad está dada por: O = _ 0 1 0 1 E _ ; rango O = 1 = 2 En equilibrio, el estado x 2δ tiende a cero, ya que u δ también se supone cero en esta condición. El estado x 1δ no puede reconstruirse a partir del conocimiento de x 2δ y u δ ya que x 1δ no influencia para nada a x 2δ , como es fácil ver de la estructura de las ecuaciones del sistema. En condiciones de equilibrio para x 2δ y u δ es fácil ver que x 1δ es también asintóticamente estable a cero, en la medida en que la cantidad (1 −E)/E sea positiva, tal y como, efectivamente, hemos supuesto. El sistema estudiado es, por lo tanto, inobservable pero reconstruible. En el momento de diseñar un observador a este sistema, no tendríamos necesidad de reconstruir x 1δ . Además, en este caso, el observador para x 2δ es trivial. 4.4. Observador de Luenberger: separabilidad Tal como nos lo propusimos al inicio del estudio del problema de con- trol sin disponibilidad del vector de estado, hemos estudiado hasta aquí el problema de la convergencia del error de estimación a cero y hemos logrado establecer bajo qué condiciones podemos garantizar que tal error de recons- trucción sea asintóticamente estable a cero. Debemos atender ahora la inquietud de cómo garantizar que, durante aquel lapso de tiempo en el cual el valor del estado estimado no coincide exactamente con el valor del estado incremental verdadero, el sistema in- cremental erroneamente controlado sea asintoticamente estable a cero. La pregunta fundamental se refiere a si el esquema de la Figura 4.5 es válido para la estabilización del sistema alrededor de un punto de opera- ción. Esta pregunta la contestaremos estudiando la validez del esquema de control realimentado presentado en la Figura 4.7, utilizando ahora el mo- delo linealizado en reemplazo de la parte incremental del modelo no lineal de la Figura 4.5. Las ecuaciones del sistema en lazo cerrado resultante están dadas por: Sistema en lazo cerrado con el observador ˙ x δ = Ax δ +Bu δ y δ = Cx δ u δ = −Kˆ x δ ˙ ˆ x δ = Aˆ x δ +Bu δ +L(y δ − ˆ y δ ) = (A−LC)ˆ x δ +Bu δ +LCx δ ˆ y δ = Cˆ x δ (4.12) (Note que se reemplaza x δ por ˆ x δ en la expresión asociada al control u δ .) 4.4 OBSERVADOR DE LUENBERGER: SEPARABILIDAD 89 Figura 4.7: Esquema de control realimentado de salida del sistema lineal que aproxima al sistema no lineal El sistema de ecuaciones (4.12) lo podemos reescribir en una sola ecuación vectorial de estado aumentado o estado compuesto de la planta y del obser- vador, de la manera siguiente: _ ˙ x δ ˙ ˆ x δ _ = _ A −BK LC A−LC −BK _ _ x δ ˆ x δ _ (4.13) Es difícil ver el efecto de los vectores (o matrices) de diseño K y L en la ecuación lineal (4.13) pues los autovalores de la matriz ampliada en lazo cerrado no son fáciles de discernir. Para resolver este problema, aprovecharemos el hecho de que dos ma- trices similares, es decir, aquellas que se relacionan mediante una trans- formación similar, tienen los mismos autovalores. La transformación que utilizaremos es la siguiente: _ x δ e δ _ = _ I 0 I −I _ _ x δ ˆ x δ _ = P _ x δ ˆ x δ _ (4.14) donde P es, evidentemente, una matriz invertible, la cual permite represen- tar el nuevo vector de estado por medio del estado de la planta y del error de observación y no por medio de los estados de la planta y del observador. Es- ta transformación similar dada por P asegura que el sistema transformado presenta los mismos autovalores que el sistema original. El sistema transformado a partir de (4.14) resulta entonces: _ ˙ x δ ˙ e δ _ = _ A−BK BK 0 A−LC _ _ x δ e δ _ (4.15) 90 OBSERVADORES DINÁMICOS DE ESTADO Es evidente que los autovalores del sistema (4.15) corresponden sencil- lamente a la unión de los autovalores de las matrices A − BK y A − LC. En otros, téminos, se puede concluir que los autovalores del sistema con- trolado en lazo cerrado (4.13) son los mismos a los obtenidos si el estado estuviese disponible, dados por A−BK, más los autovalores que gobiernan la dinámica del error de observación, dados por A−LC. Este resultado, el cual en su sentido más general es llamado principio Principio de separación de separación, nos indica que el esquema de control presentado en la Figu- ra 4.5 es válido, sobre la base del proceso de reconstrucción del vector de estado, en el sentido de que las variables de estado incrementales x δ con- vergen asintóticamente a cero si y solamente si tanto los autovalores de la Los autovalores de la ley de control y del observador se pueden escoger de manera independiente matriz A−BK como los de la matriz A−LC se encuentran ubicados, gracias a la escogencia apropiada de los vectores K y L, en el semiplano izquierdo del plano complejo. El esquema presentado, el cual involucra la ley de control u basa- da en el observador dinámico de estados, siempre será factible si los pares (A, B) y (A, C) son respectivamente controlables y observables. De otro modo, debe cumplirse al menos que el par (A, B) sea estabilizable y el par (A, C) sea detectable. En la práctica generalmente se escogen los autovalores del observador de tal forma forma que su parte real (negativa) sea más grande en valor ab- soluto que la parte real de los autovalores escogidos para la realimentación del vector de estados. Afortunadamente, “casi todos los sistemas son controlables y observ- ables”. Esto valida totalmente el esquema propuesto para controlar un sis- tema mediante realimentación de la salida utilizando un reconstructor, u observador, del vector de estado. Matlab 4.1: Control de la orientación de un artefacto espacial: diseño de un observador dinámico de estados Considérese de nuevo el ejemplo de reorientación del satélite, (6), para el cual ya habíamos dis- eñado un compensador por realimentación de estado en el ejemplo 3.3. Supondremos ahora que solamente disponemos de un conocimiento preciso de la orientación del satélite, es decir, conocemos la variable y = x 1 como salida del sistema. En virtud de nuestro conocimiento del modelo del sistema es razonable suponer que también conocemos a la per- fección, si bién por cálculo, el estado de equilibrio del sistema. En consecuencia, conocemos el estado incremental x 1δ como salida del sistema linealizado. Las ecuaciones linealizadas de estado y de salida de este sistema son, ver página 63: d dt _ _ x 1δ x 2δ x 3δ _ _ = _ _ 0 1 0 0 0 FL J 0 0 0 _ _ _ _ x 1δ x 2δ x 3δ _ _ + _ _ 0 0 R _ _ u δ (3.6*) El sistema linealizado es observable pues la matriz de observabilidad tiene rango completo: O = _ _ 1 0 0 0 1 0 0 0 FL J _ _ ; det O = FL J = 0 Esto significa que podemos construir un observador para el sistema linealizado cuyo error de reconstrucción es asintóticamente estable a cero. 4.4 OBSERVADOR DE LUENBERGER: SEPARABILIDAD 91 Proponemos entonces el observador siguiente: _ _ ˙ ˆ x 1δ ˙ ˆ x 2δ ˙ ˆ x 3δ _ _ = _ _ 0 1 0 0 0 FL J 0 0 0 _ _ _ _ ˆ x 1δ ˆ x 2δ ˆ x 3δ _ _ + _ _ 0 0 R _ _ u δ + _ _ L 1 L 2 L 3 _ _ (y δ − ˆ y δ ) ˆ y δ = [1 0 0] _ _ ˆ x 1δ ˆ x 2δ ˆ x 3δ _ _ El error de observación satisface entonces: _ _ ˙ e 1δ ˙ e 2δ ˙ e 3δ _ _ = _ _ −L 1 1 0 −L 2 0 FL J −L 3 0 0 _ _ _ _ e 1δ e 2δ e 3δ _ _ (4.16) La estabilidad del sistema dinámico (4.16) dependerá de la ubicación en el plano complejo de sus autovalores (que corresponden también a las raíces del polinomio característico) de la matriz del sistema A−LC. En este caso, el polinomio característico está dado por: det(sI −A+LC) = s 3 +L 1 s 2 +L 2 s + FL J L 3 (4.17) La ganancia L garantiza un observador cuyo error de reconstrucción es asintóticamente es- table. Los valores de las componentes del vector L se obtienen a partir de una igualación del polinomio característico (4.17) con un polinomio cuyas raíces sabemos están ubicadas en el semi- plano izquierdo. Podemos escoger tales raíces como las del polinomio siguiente: p d = (s +γ 1 )(s +γ 3 )(s +γ 3 ) = s 3 + (γ 1 +γ 2 +γ 3 )s 2 + (γ 1 γ 2 +γ 1 γ 3 +γ 2 γ 3 )s +γ 1 γ 2 γ 3 De donde resulta: L 1 = γ 1 +γ 2 +γ 3 L 2 = γ 1 γ 2 +γ 1 γ 3 +γ 2 γ 3 L 3 = J FL γ 1 γ 2 γ 3 Con estos valores, definidos plenamente, el vector de estado estimado convergerá al valor del estado verdadero de una manera asintótica. El estado estimado se utilizará entonces para alimentar la ley lineal de control realimentado que dedujimos en el ejemplo 3.3. A continuación se simula numéricamente el comportamiento del sistema no lineal en lazo ce- rrado regulado mediante una ley de control basada en un observador dinámico de Luenberger. Los programas utilizados se presentan en Listado 4.1 y 4.2. Las gráficas se presentan en la Figu- ra 4.8. Los parámetros del sistema y del controlador lineal son los mismos utilizados en el capítulo anterior (ver Listado 3.2 de ejemplo1.m). Matlab 4.2: Diseño completo (realimentación del vector de estados y obser- vador de Luenberger) del control de la posición de un anillo sobre un aro rotatorio Consideremos el Modelo 16, en la página 19 representado por el sistema de ecuaciones diferen- ciales siguiente ˙ x 1 = x 2 ˙ x 2 = − g a sin x 1 +usen x 1 cos x 1 (1.36*) Utilizaremos el punto de equilibrio parametrizado en términos del valor de equilibrio de la variable x 1 = X: x 1 (X) = X; x 2 (X) = 0; u = U = g a cos X (1.37*) 92 OBSERVADORES DINÁMICOS DE ESTADO Figura 4.8: Respuesta del sistema de orientación de un artefacto espacial mediante realimentación lineal de la salida utilizando un observador dinámico 4.4 OBSERVADOR DE LUENBERGER: SEPARABILIDAD 93 Listado 4.1: Programa de simulación del artefacto espacial controlado mediante un ob- servador de Luenberger sejem3.m % sejem3.m % Programa de generacion de los graficos del ejemplo3.m % tiempo de simulacion ti = 0; tf = 2; %% Parámetros del sistema F = 200; L=3; R=20; J =50; a =2; b=3.5; c = 12.75; Theta = 2.5; %% condiciones iniciales: %% cerca del punto de equilibrio x0 = [2 0 0 0 0 0]’; %% lejos del p.e. %% x0 = [0 0 0 0 0 0]’; %% simulacion [t,x] = ode45(’ejemplo3’,[ti tf],x0); %% Posicion angular (x(1)) subplot(2,2,1), plot(t,x(:,1),t,x(:,4),’--’,t,x(:,4)+Theta,’y-.’) title(’Posición angular (real __, estimada - -)’) xlabel(’tiempo t’) ylabel(’theta theta_estim’) %% Velocidad angular (x(2)) subplot(2,2,2), plot(t,x(:,2),t,x(:,5),’--’) title(’Velocidad angular (real __, estimada - -)’) xlabel(’tiempo t’) ylabel(’omega omega_estim’) %% Angulo de orientación de la tobera (x(3)) subplot(2,2,3), plot(t,x(:,3),t,x(:,6),’--’) title(’Orientación de la tobera (real __, estimada - -)’) xlabel(’tiempo t’) ylabel(’beta beta_estim’) %% Variable de control (u) u = -J*a*(b^2+c^2)/F/L/R*x(:,4)-J*(b^2+c^2+2*a*b)/F/L/R*x(:,5)-... (2*b+a)/R*x(:,6); subplot(2,2,4), plot(t,u) title(’Variable de control’) xlabel(’tiempo t’) ylabel(’u’) % fin de sejem3.m 94 OBSERVADORES DINÁMICOS DE ESTADO Listado 4.2: Simulación del artefacto espacial: modelo y observador ejemplo3.m function xdot=ejemplo3(t,x) %% ejemplo3.m %% %% Tercer ejemplo con simulaciones numericas del %% libro: Control de Sistemas No Lineales %% %% Control de orientacion de un artefacto espacial por medio %% de linealizacion aproximada y uso de un observador dinamico %% %% parametros del sistema F = 200; L=3; R=20; J =50; %% parametros del controlador a =2.0; b=3.5; c = 12.75; Theta = 2.5; %% parametros del observador (los tres polos de la dinamica %% del error se ubican en -5: lambda1 = 5; lambda2 = 5; lambda3 = 5; Ll = lambda1+lambda2+lambda3; L2 = lambda1*lambda2+lambda1*lambda3+lambda2*lambda3 ; L3 = lambda1*lambda2*lambda3*J/(F*L); %% Ley de control u = -J*a*(b^2+c^2)/(F*L*R)*x(4)-J*(b^2+c^2+2*a*b)/F/L/R*x(5)-... (2*b+a)/R*x(6); %% Ecuaciones de estado xdot= [ x(2) ; F*L/J*sin(x(3)) ; R*u ; x(5)+Ll*(x(1)-Theta-x(4)) ; F*L/J*x(6)+L2*(x(1)-Theta-x(4)) ; R*u + L3*(x(1)-Theta-x(4))] ; %% Fin de ejemplo3.m 4.4 OBSERVADOR DE LUENBERGER: SEPARABILIDAD 95 La linealización de (1.36) alrededor del punto de equilibrio (1.37) resulta: ˙ x 1δ = x 2δ ˙ x 2δ = − _ g a sen X tan X _ x 1δ + 1 2 sen(2X) u δ (4.18) donde x 1δ = x 1 −X, x 2δ = x 2 y u δ = u −g/(a cos X). El diseño del controlador, cuando las variables de estado son completamente accesibles a medición, procede de acuerdo al esquema general utilizado en la sección 3.2. La controlabilidad del sistema se obtiene de determinar el rango de la matriz C de controlabilidad dada por: C = _ 0 1 2 sen(2X) 1 2 sen(2X) 0 _ ; det C = − 1 4 sen 2 2X de donde se deduce que el sistema se torna incontrolable en los puntos X = 0, ±π/2, ±3π/2, . . .. Bajo la suposición de que el estado incremental se encuentra disponible para ser usado en una política de realimentación para estabilizar el sistema linealizado, se propone la siguiente ley de control por realimentación del vector de estado: u δ = −K 1 x 1δ −K 2 x 2δ (4.19) El sistema linealizado en lazo cerrado, resultante de aplicar (4.19), está dado por: ˙ x 1δ = x 2δ ˙ x 2δ = − _ g a sen X tan X − 1 2 K 1 sen(2X) _ x 1δ − 1 2 K 2 sen 2X x 2δ Supóngase que deseamos obtener el siguiente comportamiento asintóticamente estable para el sistema en lazo cerrado: ˙ x 1δ = x 2δ ˙ x 2δ = −ω 2 n x 1δ −2ζωnx 2δ donde 0 < ζ < 1, ωn > 0 son parámetros de diseño (el sistema en lazo cerrado se desea, en este caso, del tipo subamortiguado). Es inmediato ver que la escogencia de K 1 y K 2 no puede ser otra que: K 1 = 2 ω 2 n − g a tan X sen X sen 2X ; K 2 = 4ζωn sen 2X (4.20) Por lo tanto, el control lineal que habrá de regular al sistema no lineal original resulta entonces: u = g a cos X −2 ω 2 n − g a tanX sen X sen 2X (x 1 −X) − 4ζωn sen 2X x 2 (4.21) La escogencia de ωn y ζ se hacen, por ejemplo, sobre la base de fijar el tiempo de subida del sistema tr (en inglés, rise time), el cual viene dado por: tr = 0,8 + 2,5ζ ωn Típicamente se escoge a ζ como 0,707, con el objeto de lograr una respuesta suficientemente amortiguada, lo cual significa que, por ejemplo, para un tiempo de ascenso de 0,2 segundos (esto es, del 10 % al 90 % del valor final de equilibrio en 0,2 seg.) debemos tomar a ωn aproximadamente como 12,83 rad/s. Los Listados 4.3 y 4.4 permiten simular el comportamiento del sistema no lineal controlado mediante la ley realimentada basada en la linealización aproximada (4.21). En Listado 4.3 se añaden los comandos necesarios para generar las gráficas del comportamiento del sistema. Los datos físicos y valores de equilibrio que utilizamos para la simulación son: a = 0,20 [m]; g = 9,8 [ m seg 2 ]; θ(X) = X = π 4 [rad]; u(X) = 69,296465 [ rad 2 seg 2 ] La Figura 4.9 muestra las simulaciones correspondientes al comportamiento del sistema (1.36) en lazo cerrado. 96 OBSERVADORES DINÁMICOS DE ESTADO Listado 4.3: Programa de simulación del aro rotatorio controlado mediante una ley de realimentación del vector de estados sejem4.m % sejem4.m % Programa de generacion de los graficos del ejemplo4.m % tiempo de simulacion ti = 0; tf = 1; %% condiciones iniciales: x0 = [0.2 0]’; %% simulacion [t,x] = ode23(’ejemplo4’,[ti tf],x0); %% Angulo theta (x(1)) subplot(2,2,1), plot(t,x(:,1)) title(’Posición angular del anillo sobre el aro’) xlabel(’tiempo t’) ylabel(’\theta [rad]’) %% Velocidad angular (x(2)) subplot(2,2,2), plot(t,x(:,2)) title(’Velocidad angular del anillo’) xlabel(’tiempo t’) ylabel(’d\theta/dt [rad/s]’) %% Variable de control (u) %% parametros del sistema a = 0.2; g = 9.8; %% parametros del controlador X1e = 0.7854; Ue = g/(a*cos(X1e)); wn = 12.83; xi = 0.707; K1 = 2*(wn^2-g/a*tan(X1e)*sin(X1e))/sin(2*X1e); K2 = 4*xi*wn/sin(2*X1e); %% Ley de control u = -K1*(x(:,1)-X1e)-K2*x(:,2)+Ue; w = sqrt(u); subplot(2,2,3), plot(t,w) title(’Velocidad angular del aro’) xlabel(’tiempo t’) ylabel(’\omega = sqrt(u)’) % fin de sejem4.m 4.4 OBSERVADOR DE LUENBERGER: SEPARABILIDAD 97 Figura 4.9: Respuesta de un sistema aro – anillo controlado mediante realimentación completa del vector de estado 98 OBSERVADORES DINÁMICOS DE ESTADO Listado 4.4: Simulación del aro rotatorio controlado: modelo ejemplo4.m function xdot=ejemplo4(t,x) %% ejemplo4.m %% %% Sistemas No Lineales %% %% Sistema Controlado por linealizacion aproximada para %% regular la posicion de un anillo que desliza sobre %% un aro que gira alrededor %% de su eje vertical. El cuadrado de su velocidad angular %% sirve de se~nal de control al sistema. %% %% parametros del sistema a = 0.2; g = 9.8; %% parametros del controlador X1e = 0.7854; Ue = g/(a*cos(X1e)); wn = 12.83; xi = 0.707; K1 = 2*(wn^2-g/a*tan(X1e)*sin(X1e))/sin(2*X1e); K2 = 4*xi*wn/sin(2*X1e); %% Ley de control u = -K1*(x(1)-X1e)-K2*x(2)+Ue; %% Ecuaciones de estado xdot = [x(2) ; -g/a*sin(x(1))+u*sin(x(1))*cos(x(1))]; %% Fin de ejemplo4.m Supondremos ahora que no podemos medir todos los estados. Solamente la variable de es- tado y = x 1 , representando la posición angular del anillo sobre el aro, puede ser medida con presición. De esta manera, realizaremos el diseño del controlador lineal que estabilice la salida del sistema mediante un observador dinámico de estado. El modelo linealizado del sistema con su salida linealizada está dado por: ˙ x 1δ = x 2δ ˙ x 2δ = − _ g a sen X tan X _ x 1δ + 1 2 sen(2X)u δ y δ = x 1δ (4.22) A partir de este modelo es fácil de diseñar el observador dinámico de Luenberger apropiado: ˙ ˆ x 1δ = ˆ x 2δ +L 1 (y δ − ˆ y δ ) ˙ ˆ x 2δ = − _ g a sen X tan X _ ˆ x 1δ + 1 2 sen(2X)u δ +L 2 (y δ − ˆ y δ ) ˆ y δ = ˆ x 1δ (4.23) La ley de control para el sistema (1.36), basada en tal estimador del vector de estado, está dada por: u = U −K 1 ˆ x 1δ −K 2 ˆ x 2δ = g a cos X −K 1 ˆ x 1δ −K 2 ˆ x 2δ (4.24) con K 1 y K 2 definidos previamente en (4.20). De (4.22) y (4.23), se deduce que el error de estimación e = x δ − ˆ x δ evoluciona de acuerdo con la siguiente dinámica autónoma: ˙ e 1δ = −L 1 e 1δ +e 2δ ˙ e 2δ = − _ g a sen X tanX +L 2 _ e 1δ 4.5 OBSERVADORES DE ORDEN REDUCIDO 99 Con el objeto de escoger apropiadamente las ganancias del observador L 1 y L 2 que garanti- cen un comportamiento asintóticamente estable a cero para el error de estimación e, obtenemos el polinomio característico del sistema anterior: p(s) = s2 +L 1 s +L 2 + g a tan X sen X Igualamos los coeficientes de este polinomio a los de un polinomio característico deseado p d (s), dado por: p d (s) = s 2 + 2ζ 1 ω n1 s +ω 2 n1 donde ζ 1 y ω n1 son números reales tales que el polinomio característico deseado tiene sus raíces en el semiplano izquierdo. Las ganancias L 1 y L 2 buscadas resultan L 1 = 2ζ 1 ω n1 ; L 2 = ω 2 n1 g a tanX sen X (4.25) Como mencionamos anteriormente, se escojen los polos del error de observación un poco más alejados hacia la izquierda del plano complejo, con respecto al los del sistema en lazo cerrado, con el objeto de que el error de observación se aproxime rapidamente a cero, de tal forma que, durante la porción inicial de la trayectoria de respuesta, el sistema reciba un control realimentado con valores estimados del vector de estado muy similares a sus valores reales. Figura 4.10: Respuestas del sistema aro – anillo controlado por realimentación lineal de la salida utilizando un observador dinámico de estado Los programas presentados en los Listados 4.5 y 4.6 permiten simular numéricamente la re- spuesta del sistema en lazo cerrado dado por (1.36)–(4.23)–(4.24), esto es, utilizando la ley de control por realimentación del vector de estado basada en el observador de Luenberger diseñado. El comportamiento del sistema controlado en lazo cerrado se muestra en la Figura 4.10. Com- pare con los resultados obtenidos para el caso de realimentación completa del vector de estados, mostrados en la Figura 4.9. 4.5. Observadores de orden reducido Es fácil darse cuenta que en los observadores que hemos construido en las secciones anteriores existe una redundancia implícita sobre la cual no 100 OBSERVADORES DINÁMICOS DE ESTADO Listado 4.5: Programa de simulación del comportamiento del aro rotatorio controlado usando un observador sejem5.m % sejem5.m % Programa de generacion de los graficos del ejemplo5.m % tiempo de simulacion ti = 0; tf = 1; %% condiciones iniciales: %%x0 = [0.2 0.0 0.2 0.0]’; x0 = [0.2 0.0 0.0 -1.0]’; %% simulacion [t,x] = ode23(’ejemplo5’,[ti tf],x0); %% Angulo theta (x(1)) subplot(2,2,1), plot(t,x(:,1)) title(’Posición angular del anillo’) xlabel(’tiempo t’) ylabel(’theta [rad]’) %% Angulo theta (x(1)) subplot(2,2,2), plot(t,x(:,1),t,x(:,3),’-’) title(’Posición incremental del anillo (real y estimada --)’) xlabel(’tiempo t’) ylabel(’theta_inc [rad]’) %% Velocidad angular (x(2)) subplot(2,2,3), plot(t,x(:,2),t,x(:,4),’-’) title(’Velocidad angular del anillo (real y estimada --)’) xlabel(’tiempo t’) ylabel(’[rad/s]’) %% Variable de control (u) %% parametros del sistema a = 0.2; g = 9.8; %% parametros del controlador X1e = 0.7854; Ue = g/(a*cos(X1e)); wn = 12.83; xi = 0.707; K1 = 2*(wn^2-g/a*tan(X1e)*sin(X1e))/sin(2*X1e); K2 = 4*xi*wn/sin(2*X1e); %% Ley de control u = -K1*(x(:,3))-K2*x(:,4)+Ue; w = sqrt(u); subplot(2,2,4), plot(t,w) title(’Velocidad angular del aro’) xlabel(’tiempo t’) ylabel(’omega’) % fin de sejem5.m 4.5 OBSERVADORES DE ORDEN REDUCIDO 101 Listado 4.6: Simulación del aro rotatorio: modelo y sistema dinámico del observador ejemplo5.m function xdot=ejemplo5(t,x) %% ejemplo5.m %% %% Sistemas No Lineales %% %% Sistema Controlado por linealizacion aproximada para %% regular la posicion de un anillo que desliza sobre %% un aro que gira alrededor %% de su eje vertical. El cuadrado de su velocidad angular %% sirve de se~nal de control al sistema. %% La ley de control esta basada en la reconstruccion %% del vector de estado mediante un observador de Luenberger %% parametros del sistema a = 0.2; g = 9.8; %% parametros del controlador X1e = 0.7854; Ue = g/(a*cos(X1e)); wn = 12.83; xi = 0.707; K1 = 2*(wn^2-g/a*tan(X1e)*sin(X1e))/sin(2*X1e); K2 = 4*xi*wn/sin(2*X1e); %% parametros del observador wn1 = 15.5; xi1 = 0.707; L1 = 2*xi1*wn1; L2 = wn1^2-g/a*tan(X1e)*sin(X1e); %% Ley de control u = -K1*x(3)-K2*x(4)+Ue %% Ecuaciones de estado del sistema y del observador xdot = [x(2); -g/a*sin(x(1))+u*sin(x(1))*cos(x(1)); x(4)+L1*(x(1)-X1e-x(3)); -g/a*sin(X1e)*tan(X1e)*x(3)+1/2*sin(2*X1e)*(u-Ue)+L2*(x(1)-X1e-x(3))]; %% Fin de ejemplo5.m 102 OBSERVADORES DINÁMICOS DE ESTADO hemos llamado la atención. En efecto, en algunos de los ejemplos que hemos presentado hasta ahora, hemos procedido a construir observadores dinámi- cos de estado que reconstruyen absolutamente todas y cada una de las va- riables de estado del sistema. Sin embargo, la variable de salida, en algunas oportunidades, está representada por una variable de estado. Si ese estado es perfectamente conocido, en virtud de las mediciones que de él tenemos en la forma de una salida, pudiéramos entonces utiilizarlo directamente en la elaboración de la ley de control lineal sin realizar ninguna aproximación o estimación. Evidentemente, esta situación puede ser cierta no solo para una de las variables de estado sino para varias de ellas. Es decir, un número de salidas bien pudiera estar representada por un conjunto de variables de estado. La pregunta lógica es: ¿por qué debemos esforzamos en reconstruir o estimar variables de estado que ya conocemos en forma precisa (debido a que son salidas del sistema)?. En otras palabras, el esfuerzo de reconstruir varia- bles de estado debe estar vinculado solamente a aquellas variables que no conocemos, evitando reconstruir las que ya conocemos. Recordemos que los observadores de estado representan una cierta “emu- lación”, con facultades de autocorrección, del sistema dinámico que ellos observan. En virtud de esto, un observador tiene, en principio, la misma dimensión que la planta del sistema. Si algunas variables de estado ya son conocidas y no hace falta reconstruirlas, podemos entonces pensar que es factible obtener una economía en el orden del sistema que necesitamos utilizar como observador de la planta. Si sólo un número inferior de esta- dos debe ser reconstruido, el observador debería tener dimensión igual al número de variables que deseamos reconstruir. Estas consideraciones nos conducen a la idea de proponer observadores de orden reducido (o.o.r.) para aquellos sistemas donde ya poseemos conocimiento de una, o algunas, de las variables de estado. Introduciremos, mediante un ejemplo, la posibilidad de reconstruir solo un número inferior de las variables de estado mediante un observador de orden reducido. Modelo 26: Comportamiento de un sistema de tanques en cascada (modelo 2) Considérese el sistema constituido por dos tanques, de forma diferente, tales como los que se muestran en la Figura 4.11 y en los cuales se vierte un cierto líquido. El modelo dinámico de este sistema se obtiene facilmente mediante una aplicación sencilla de la ley de Bernoulli. Las ecuaciones son las siguientes: ˙ x 1 = x −2 1 u −x −3/2 1 ˙ x 2 = x 1/2 1 −x 1/2 2 y = x 2 (4.26) donde x 1 y x 2 son, respectivamente, las alturas del líquido en cada uno de los tanques, medidas desde el borde inferior del tanque correspondiente. La variable de control está constituida por u, el flujo del líquido que entra al primero de los tanques. El modelo dinámico se encuentra, evidentemente, en variables normalizadas pues no interviene en él constante alguna. Este modelo es ligeramente diferente al ya presentado, Modelo 15, en la página 19. 4.5 OBSERVADORES DE ORDEN REDUCIDO 103 Figura 4.11: Sistema de tanques en cascada M Ejemplo 4.2: Observador de orden reducido: control de nivel en un sistema de tanques El punto de equilibrio del sistema (4.26) está representado por una altura x 2 = X que se desea mantener en el segundo tanque. Parametrizando los puntos de equilibrio en términos de tal valor X, tenemos x 1 (X) = X; x 2 (X) = X; u = √ X (4.27) Linealizando el sistema alrededor de este punto de equilibrio, se obtiene: ˙ x 1δ = − 1 2 X −5/2 x 1δ +X −2 u δ ˙ x 2δ = 1 2 X −1/2 x 1δ − 1 2 X −1/2 x 2δ y δ = x 2δ (4.28) El sistema (4.28) es controlable en tanto que la altura deseada X se mantenga en un valor positivo finito, 0 < X < ∞, lo cual es posible fisicamente. Usando los métodos explicados anteriormente, diseñamos un controlador por realimentación del vector de estado incremental. La ley de control incremental estará dada, en caso de conocer perfectamente ambos estados incrementales, por: u δ = −K 1 x 1δ −K 2 x 2δ El sistema linealizado en lazo cerrado resulta entonces: _ ˙ x 1δ ˙ x 2δ _ = _ − 1 2 X −5/2 −K 1 X −2 −K 2 X −2 1 2 X −1/2 − 1 2 X −1/2 _ _ x 1δ x 2δ _ donde las ganancias K 1 y K 2 se obtienen de igualar el polinomio característico p lc (s) del sistema en lazo cerrado y un polinomio característico deseado p d (s), dados por: p lc (s) = det _ s + 1 2 X −5/2 +K 1 X −2 K 2 X −2 − 1 2 X −1/2 s + 1 2 X −1/2 _ = s 2 + _ 1 2 X −1/2 + 1 2 X −5/2 +K 1 X −2 _ s + 1 2 (K 1 +K 2 )X −5/2 + 1 4 X −3 , y p d (s) = s 2 + 2ζωns +ω 2 n 104 OBSERVADORES DINÁMICOS DE ESTADO Así, las ganancias K 1 y K 2 resultan: K 1 = 2ζωnX 2 −1/2X 3/2 − 1 2 X −1/2 K 2 = 2ω 2 n X 5/2 −2ζωnX 2 + 1/2x 3/2 A partir de este resultado, la ley de control para el sistema linealizado está dada por: u δ = − _ 2ζωnX 2 − 1 2 X 3/2 − 1 2 X −1/2 _ x 1δ − _ ω 2 n X 5/2 −2ζωnX 2 + 1 2 x 3/2 _ x 2δ (4.29) La ley de control (4.29) permite controlar el sistema si se conocen en forma exacta ambas variables de estado. En este caso no disponemos de todos los estados, por lo tanto es necesario utilizar variables estimadas del estado incremental, de la siguiente manera: u δ = − _ 2ζωnX 2 − 1 2 X 3/2 − 1 2 X −1/2 _ ˆ x 1δ − _ ω 2 n X 5/2 −2ζωnX 2 + 1 2 x 3/2 _ ˆ x 2δ Sin embargo, la variable incremental y δ = x 2δ es medible, es decir, no hace falta reconstruir su valor. De allí que se puede proponer a partir de (4.29) la siguiente ley de control: u δ = − _ 2ζωnX 2 − 1 2 X 3/2 − 1 2 X −1/2 _ ˆ x 1δ − _ ω 2 n X 5/2 −2ζωnX 2 + 1 2 x 3/2 _ y δ (4.30) El problema entonces se centra en cómo estimar la altura incremental x 1δ en el primer tanque, a partir del conocimiento de y δ = x 2δ (la altura incremental en el segundo tanque) y de nuestro conocimiento del sistema linealizado. Considere la segunda ecuación diferencial del sistema linealizado (4.28), la cual describe la evolución de la variable medida x 2δ : ˙ x 2δ = 1 2 X −1/2 x 1δ − 1 2 X −1/2 x 2δ (4.31) Esta ecuación, evidentemente, guarda alguna información sobre x 1δ . Al disponer en forma ex- acta x 2δ podemos suponer también como conocida su derivada temporal. De la expresión (4.31), obtenemos entonces el siguiente valor para x 1δ : x 1δ = 2X 1/2 ˙ x 2δ +x 2δ Hagamos caso omiso, por los momentos, de la necesidad de tener que tomar derivadas tem- porales ˙ x 2δ de la altura incremental. Podemos considerar la expresión en el miembro derecho de esta última ecuación como una medición o salida auxiliar. Denotaremos tal salida mediante z δ . Consideremos la primera ecuación diferencial del sistema linealizado en conjunción con la salida auxiliar que mide, de forma un poco incómoda, el valor de x 1δ : ˙ x 1δ = − 1 2 X −5/2 x 1δ +X −2 u δ z δ = x 1δ = 2X 1/2 ˙ x 2δ +x 2δ (4.32) En virtud de que disponemos al menos conceptualmente de la medición z δ , pudiéramos aprovechar el conocimiento de la ecuación diferencial de x 1δ con el fin de implementar un proceso de estimación para x 1δ basado en estos dos datos. Un estimador dinámico del estado incremental para el sistema reducido (4.32) está dado por: ˙ ˆ x 1δ = − 1 2 X −5/2 ˆ x 1δ +X −2 u δ +L 1 (z δ − ˆ z δ ) (4.33) ˆ z δ = ˆ x 1δ El error de estimación e 1δ = x 1δ −ˆ x 1δ estaría dado por la solución de la ecuación diferencial: ˙ e 1δ = − _ 1 2 X −5/2 +L 1 _ e 1δ No existe, entonces, problema alguno en proponer un valor de la ganancia L 1 de tal forma que el error de estimación sea asintóticamente estable a cero. De hecho, cualquier valor positivo 4.5 OBSERVADORES DE ORDEN REDUCIDO 105 L 1 ≥ 0 > − 1 2 X −5/2 de tal ganancia lo lograría. Sin embargo, este estimador aún requiere del cálculo de la derivada temporal de la altura incremental en el segundo tanque (recordemos que z δ = 2X 1/2 ˙ x 2δ +x 2δ ). Note que sustituyendo z δ = 2X 1/2 ˙ x 2δ + x 2δ y ˆ z δ = ˆ x 1δ en la ecuación diferencial (4.33), tenemos: ˙ ˆ x 1δ = − 1 2 X −5/2 x 1δ +X −2 u δ +L 1 (2X 1/2 ˙ x 2δ +x 2δ − ˆ x 1δ ) o, equivalentemente, ˙ ˆ x 1δ −2L 1 X 1/2 ˙ x 2δ = − 1 2 X −5/2 x 1δ +X −2 u δ +L 1 (x 2δ − ˆ x 1δ ) (4.34) Con el objeto de evitar el proceso de derivación para obtener la derivada temporal ˙ x 2δ , defi- namos a partir de la expresión (4.34) la siguiente variable auxiliar: ζ δ = ˆ x 1δ −2L 1 X 1/2 x 2δ (4.35) De esta forma, podemos obtener una ecuación diferencial para esta nueva variable usando precisamente la ecuación (4.34). En efecto vemos que dicha ecuación es equivalente a la siguien- te: ˙ ˆ x 1δ −2L 1 X 1/2 ˙ x 2δ = d dt _ ˆ x 1δ −2L 1 X 1/2 x 2δ _ = d dt ζ δ = − 1 2 X −5/2 _ ˆ x 1δ −2L 1 X 1/2 x 2δ _ −L 1 X −2 x 2δ X −2 u δ +L 1 (x 2δ −[ˆ x 1δ −2L 1 X 1/2 x 2δ ]) −2L 2 1 X 1/2 x 2δ la cual reescribimos como d dt ζ δ = −( 1 2 X −5/2 +L 1 )ζ δ X −2 u δ + [L 1 −2L 2 1 X 1/2 −L 1 X −2 ]y δ (4.36) En esta última ecuación diferencial todos los términos son conocidos y no requieren proceso alguno de derivación. Adicionalmente, el valor de ζ δ estᢠa directamente relacionado al valor del estimado de la altura incremental x 1δ , el cual necesitamos. En efecto, puesto que ahora ζ δ es enteramente calculable como solución de la ecuación diferencial anterior podemos establecer que el estimado de x 1δ es: ˆ x 1δ = ζ δ + 2L 1 X 1/2 y δ (4.37) donde ζ δ es solución de (4.36). La Figura 4.12 muestra el esquema de estimación de estados utilizado para el control del sistema de tanques, el cual está basado sólo en una ecuación diferencial y no en dos como sería el caso de un observador de orden completo. 4.5.1. Observadores de orden reducido: caso general Supóngase como salida y δ del sistema, un número n 1 < n de variables de estado incrementales representadas por el vector x 1δ . Nuestro objetivo será el de diseñar un observador que permita hallar el valor estimado del resto de las variables de estado incremental que supondremos son en número, n 2 , donde n 1 +n 2 = n. Representamos estas variables no medibles mediante el vector x 2δ . De acuerdo con estas dimensiones tenemos: x 1δ ∈ R n1 ; x 2δ ∈ R n2 ; x δ ∈ R n Por lo tanto, el vector de estado incremental lo representamos mediante: x δ = _ x 1δ x 2δ _ ∈ R n1+n2 106 OBSERVADORES DINÁMICOS DE ESTADO Figura 4.12: Esquema de control realimentado lineal de la salida para un sistema de tanques mediante el uso de un observador de orden reducido Nótese que no hay pérdida alguna de generalidad en suponer que las va- riables de estado directamente medibles ocupan las primeras n 1 posiciones en el vector de estado. Si este no es el caso, mediante un reordenamiento de las variables de estado podemos hacer que estas primeras componentes sean precisamente las variables de estado medibles. Podemos, entonces, particionar las matrices que intervienen en el sis- tema linealizado ˙ x δ = Ax δ + Bu δ y reescribir estas ecuaciones de estado incremental como: _ ˙ x 1δ ˙ x 2δ _ = _ A 11 A 12 A 21 A 22 _ _ x 1δ x 2δ _ + _ B 1 B 2 _ u δ (4.38) donde A 11 ∈ R n1×n1 , A 12 ∈ R n1×n2 , A 21 ∈ R n2×n1 , A 22 ∈ R n2×n2 , B 1 ∈ R n1 , B 2 ∈ R n2 . La ecuación vectorial de salida representada por el subvector de estados conocidos: y δ = x 1δ (4.39) Es evidente que el problema de estimar el vector de estado a partir de la salida y δ puede reducirse a estimar solamente las variables de estado contenidas en x 2δ , pues todos los estados incrementales contenidos en x 1δ son conocidos a través de la medición directa representada por el vector y δ . Reescribamos las ecuaciones de estado linealizadas (4.38) en función de 4.5 OBSERVADORES DE ORDEN REDUCIDO 107 las variables conocidas (asumiremos como antes que ˙ y δ es medible): ˙ x 2δ = A 21 x 1δ +A 22 x 2δ +B 2 u δ A 12 x 2δ = ˙ y δ −A 11 y δ −B 1 u δ Puesto que y δ y u δ son conocidas, es concebible que también podamos conocer como señal del tiempo al vector n 1 -dimensional dado por la segunda ecuación anterior. Designemos a este vector como y 2δ : y 2δ = A 12 x 2δ = ˙ y δ −A 11 y δ −B 1 u δ (4.40) El problema de estimación de x 2δ puede verse como el problema de re- construir el estado del subsistema dado por: ˙ x 2δ = A 22 x 2δ +v 1δ y 2δ = A 12 x 2δ (4.41) donde el vector v 1δ = A 21 x 1δ +B 2 u δ es completamente conocido, al igual que la señal y 2δ . La reconstrucción del estado incremental desconocido x 2δ , con error de estimación asintóticamente estable a cero, es factible si el par (A 22 , A 12 ) es observable o, en su defecto, simplemente detectable. Recordemos el siguiente teorema sobre la observabilidad de un sistema: Teorema 4.1: Un sistema lineal ˙ z = Az, y = Cz es observable (es decir, el par (A, C) es observable) si, y solamente si, el único vector η para el cual se cumple que C exp(At)η = 0 es para η = 0. Prueba: Supongamos, por un momento, que el sistema lineal dado es inob- servable. Entonces, existe una transformación del vector de estado z que exhibe tal inobservabilidad. Tal transformación lleva al sistema a su forma canónica inobservable de Kalman: ˙ z 1 = A 11 z 1 ˙ z 2 = A 21 z 1 +A 22 z 2 w = z 1 = [I 0] _ z 1 z 2 _ Puesto que la exponencial matricial de este sistema está dada por: exp __ A 11 0 A 21 A 22 _ t _ = _ expA 11 t 0 exp(A 22 t) _ entonces es claro que existen vectores η distintos de cero que hacen cero el siguiente producto: [I 0] _ expA 11 t 0 expA 22 t _ _ η 1 η 2 _ = [exp(A 11 t) 0] _ η 1 η 2 _ = exp(A 11 t)η 1 108 OBSERVADORES DINÁMICOS DE ESTADO pues para ello bastaría con tomar vectores η de la forma _ 0 η 2 _ Esto demuestra la necesidad de la condición dada en el teorema. La de- mostración de la suficiencia se obtiene rapidamente a partir de una ex- pansión en serie del exponencial matricial. No haremos esta parte de la demostración aqui, se deja como ejercicio al lector. A partir del teorema anterior, es fácil demostrar que si el sistema dado por _ ˙ x 1δ ˙ x 2δ _ = _ A 11 A 12 A 21 A 22 _ _ x 1δ x 2δ _ y δ = x 1δ es observable (resp. detectable), entonces el subsistema ˙ x 2δ = A 22 x 2δ y 2δ = A 21 x 2δ también es observable (resp. detectable). Regresemos al problema planteado, cual era reconstruir el vector de es- tado del sistema: ˙ x 2δ = A 22 x 2δ +v 1δ y 2δ = A 21 x 2δ (4.41*) donde el vector v 1δ es conocido, al igual que la señal de salida y 2δ . Un observador para este sistema se obtiene simplemente como: ˙ ˆ x 2δ = A 22 ˆ x 2δ +v 1δ +L 2 (y 2δ − ˆ y 2δ ) ˆ y 2δ = A 21 ˆ x 2δ El error de estimación está dado entonces por: ˙ e 2δ = ˙ x 2δ − ˙ ˆ x 2δ = A 22 x 2δ +v 1δ −A 22 ˆ x 2δ −L 2 (A 12 x 2δ −A 12 ˆ x 2δ ) −v 1δ = (A 22 −L 2 A 12 )e 2δ Debemos encontrar una matriz (vector) L 2 tal que esta dinámica del error sea asintóticamente estable. Puesto que el sistema se ha supuesto observable tal vector L 2 siempre existe. A pesar de esta solución, nuestro observador requiere de la señal y 2δ que involucra la derivacion de x 1δ , es decir, derivación, numérica o analíti- ca del vector de salida original del sistema y 1δ , ver (4.40). Tal práctica no 4.5 OBSERVADORES DE ORDEN REDUCIDO 109 Figura 4.13: Estructura de un observador dinámico de orden reducido es aconsejable en problemas reales y su solución carece de sentido si las mediciones se realizan físicamente. Mas aún, los “derivadores ideales” son circuitos altamente inestables y sin visos de aplicabilidad práctica (véanse algunos comentarios al respecto al final del capítulo). Reescribimos, como antes, la ecuación obtenida del observador de la ma- nera siguiente: ˙ ˆ x 2δ = A 22 ˆ x 2δ +A 21 y δ +B 2 u δ +L 2 ( ˙ y δ −A 11 y δ −B 1 u δ −A 12 ˆ x 2δ ) = (A 22 −L 2 A 12 )ˆ x 2δ + (A 21 −L 2 A 11 )y δ + (B 2 −L 2 B 1 )u δ +L 2 ˙ y δ es decir: d dt (ˆ x 2δ −L 2 y δ ) = (A 22 −L 2 A 12 )(ˆ x 2δ −L 2 y δ ) + (A 22 −L 2 A 12 )L 2 y δ + (A 21 −L 2 A 11 )y δ + (B 2 −L 2 B 1 )u δ (4.42) Si hacemos z 2δ = ˆ x 2δ −L 2 y δ (4.43) entonces obtenemos, de (4.42) y (4.43), ˙ z 2δ = (A 22 −L 2 A 12 )z 2δ + ((A 22 −L 2 A 12 )L 2 +A 21 −L 2 A 11 )y δ + (B 2 −L 2 B 1 )u δ ˆ x 2δ = z 2δ +L 2 y δ (4.44) El sistema de ecuaciones (4.44) representa efectivamente un observador dinámico para la parte del estado no medible del sistema original. Pode- mos, en consecuencia, obtener el estimado de x 2δ como salida del sistema que genera a la variable auxiliar z 2δ . El esquema del observador de orden reducido obtenido se puede representar, entonces, por medio del diagrama mostrado en la Figura 4.13. El esquema general de control para un sistema no lineal sobre la base de un observador de estado incremental de orden reducido se muestra en la Figura 4.14. 110 OBSERVADORES DINÁMICOS DE ESTADO Figura 4.14: Estructura de control por realimentación lineal de la salida, a base de un observador dinámico de orden reducido Ejemplo 4.3: Observador de orden reducido: control de la orientación de un artefacto espacial Consideremos nuestro ejemplo de reorientación del satelite. El modelo linealizado está dado por , ver ecuación (3.6), _ _ ˙ x 1δ ˙ x 2δ ˙ x 3δ _ _ = _ _ 0 1 0 0 0 FL J 0 0 0 _ _ _ _ x 1δ x 2δ x 3δ _ _ + _ _ 0 0 R _ _ u δ y δ = x 1δ Deseamos utilizar la posición angular incremental y δ = x 1δ , para emplearla directamente en el controlador por realimentación de estado (usaremos esta variable sin estimarla). Sobre la base del conocimiento de esta variable incremental y de la entrada u δ , deseamos estimar o reconstruir los valores de x 2δ y x 3δ con un observador de orden reducido. Las ecuaciones particionadas resultan: ˙ x 1δ = x 2δ _ ˙ x 2δ ˙ x 3δ _ = _ 0 FL J 0 0 _ _ x 2δ x 3δ _ + _ 0 R _ u δ y δ = x 1δ De acuerdo a la formulación general, tenemos: A 11 = 0; A 12 = [1 0]; A 21 = _ 0 0 _ ; A 22 = _ 0 FL j 0 0 _ ; b 1 = 0; b 2 = _ 0 R _ Consideremos, entonces, el problema de estimar los estados x 2δ y x 3δ a partir de: _ ˙ x 2δ ˙ x 3δ _ = _ 0 FL J 0 0 _ _ x 2δ x 3δ _ + _ 0 R _ u δ y 2δ = x 2δ 4.6 EJERCICIOS PROPUESTOS 111 El observador dinámico para este subsistema está dado por: _ ˙ ˆ x 2δ ˙ ˆ x 3δ _ = _ 0 FL J 0 0 _ _ ˆ x 2δ ˆ x 3δ _ + _ 0 R _ u δ +L(y 2δ − ˆ y 2δ ) ˆ y 2δ = [1 0] _ ˆ x 2δ ˆ x 3δ _ Nótese que el par (A 22 , A 12 ), dado por las matrices __ 0 FL J 0 0 _ , [1 0] _ , es observable. Usando el procedimiento explicado anteriormente, reescribimos las ecuaciones del obser- vador reducido de la manera siguiente: _ ˙ ˆ x 2δ ˙ ˆ x 3δ _ = _ 0 FL J 0 0 _ _ ˆ x 2δ ˆ x 3δ _ + _ 0 R _ u δ + _ L 21 L 22 _ ( ˙ x 1δ − ˆ y 2δ ) = _ 0 FL J 0 0 _ _ ˆ x 2δ ˆ x 3δ _ + _ 0 R _ u δ + _ L 21 L 22 _ ˙ x 1δ + _ L 21 0 L 22 0 _ _ ˆ x 2δ ˆ x 3δ _ En forma más sintética: _ ˙ ˆ x 2δ −L 21 ˙ x 1δ ˙ ˆ x 3δ −L 22 ˙ x 1δ _ = _ −L 21 FL J −L 22 0 _ _ ˆ x 2δ ˆ x 3δ _ + _ 0 R _ u δ (4.45) Hagamos ahora: z 21δ = ˆ x 2δ −L 21 x 1δ = ˆ x 2δ −L 21 y δ z 22δ = ˆ x 3δ −L 22 x 1δ = ˆ x 3δ −L 22 y δ A partir de estas nuevas variables y de la ecuación diferencial (4.45) anterior, obtenemos el siguiente observador dinámico de orden reducido: _ ˙ z 21δ ˙ z 22δ _ = _ −L 21 FL J −L 22 0 _ _ z 21δ z 22δ _ + _ 0 R _ u δ + _ −L 21 FL J −L 22 0 _ _ L 21 L 22 _ y δ (4.46) Las variable estimadas están dadas por: ˆ x 2δ = z 21δ +L 21 y δ ˆ x 3δ = z 22δ +L 22 y δ La ubicación de los polos del observador en el semiplano izquierdo del plano complejo se logra escogiendo las ganancias del observador de forma tal que igualen el polinomio característico del sistema autónomo, p(s), a un polinomio escogido previamente p d (s), _ ˙ e 21δ ˙ e 22δ _ = _ −L 21 FL J −L 22 0 _ _ e 21δ e 22δ _ Los polos deseados habrán de regir el comportamiento del error de reconstrucción de los estados no medibles directamente. Así: p(s) = s 2 +L 21 s + FL J L 22 ≡ p d (s) = s 2 + 2ζrωnrs +ω 2 nr y, finalmente, L 21 = 2ζrωnr; L 22 = J FL ω 2 nr 112 OBSERVADORES DINÁMICOS DE ESTADO Figura 4.15: Medición de la altura en el péndulo simple (cm = centro de masa) 4.6. Ejercicios propuestos Ejercicio 4.1: Medición del péndulo sin amortiguamiento Considere el péndulo simple sin amortiguamiento, Modelo 3, en la página 9. Estudie dos casos: 1. la salida está dada por y(t) = x2(t), es decir, se tiene disponible la velocidad angular del brazo del péndulo, 2. se mide la altura y(t) = h(t) del extremo de la barra. Ver Figura 4.15. Se desea estabilizar el sistema alrededor de x1 = Θ d . Diseñe, para cada caso, un observador dinámico de estados. En el caso y(t) = x2(t), obtenga adicionalmente un observador de orden reducido. Responda las siguientes preguntas para cualquiera de los diseños anteriores: ¿Es posible obtener tal observador? ¿Qué restricciones se deben imponer al sistema para realizar este diseño? Explique las implicaciones prácticas o físicas asociadas al diseño de un observador dinámico de esta naturaleza. () Modelo 27: Péndulo invertido sobre un móvil, modelo 2 Consideremos un modelo simplificado del problema de balancear un péndulo invertido montado sobre un carrito o móvil, ligeramente diferente al Modelo 22, en la página 45. En este caso pre- sentamos un sistema de segundo orden. El péndulo es modelado como una barra delgada de masa m y longitud 2L (el centro de masa está a una distancia L de la base), mopntado sobre un móvil de masa M. Las ecuaciones del movimiento del péndulo son: ˙ x 1 = x 2 ˙ x 2 = g sen(x 1 ) −a mLx 2 2 sen(2x 1 )/2 −a cos(x 1 )u 4L/3 −a mLcos 2 (x 1 ) (4.47) donde x 1 es el ángulo, medido en radianes con respecto a la vertical, x 2 es la velocidad angular asociada y u es la fuerza que se aplica al carrito (en Newtons). El resto de los parámetros del sistema está dado por: g es la aceleración de gravedad; a = 1/(m+M) es una constante. El punto de equilibrio del sistema para u = U = constante, está dado por: X(U) = _ tan −1 ( aU g ) 0 _ (4.48) 4.6 EJERCICIOS PROPUESTOS 113 El punto de equilibrio del sistema para x 1 = X = constante, está dado por: x 1 = arbitrario = X ; x 2 = 0 ; u = g a tan(X) (4.49) M Ejercicio 4.2: Diseño de observadores de orden completo y orden reducido: péndulo invertido sobre un móvil Considere el modelo anterior (4.47). Los valores de los parámetros están dados por: m = 2 kg, M = 8 kg, L = 1/2 m y g = 9,8 m/seg 2 . Suponga primeramente que la salida es la posición angular y = x1. En el punto de equilibrio se tendrá y = Y = X. Para la salida incremental y δ = y−Y , determine si el sistema es observable o no. ¿Que pasa si la salida medida es en realidad la velocidad angular x2?, ¿el sistema sigue siendo observable? Calcule tanto el observador de orden completo como el de orden reducido para el sistema observable. Dibuje los diagramas de control asociados. Simule en Matlab (R) el comportamiento de ambos observadores. Debe determi- nar, para ello, la ley de realimentación del vector de estado incremental necesaria para estabilizar el sistema alrededor de su punto de equilibrio. Fije los polos de la ley de realimentación y del observador de manera apropiada. () Ejercicio 4.3: Observador de orden reducido para un tanque de reacción continuamente agitado Considere el Modelo 10, en la página 16. Note que la salida está dada por y = x1 + x2. Hasta ahora solo hemos diseñado observadores de orden reducido cuando se puede medir uno o varios de los estados. Diseñe un o.o.r. para el sistema dado, considerando la salida dada y = x1 + x2. Simule el comportamiento del sistema en lazo cerrado. Ayuda: Primeramente realice una transformación de estados, de tal forma que la salida reemplace uno de los estados dados. () Ejercicio 4.4: Observador de orden reducido: sistema de levitación mag- nética Diseñe la ley de control por realimentación del vector de estados para el sistema no lineal Modelo 8, en la página 14, utilizando un observador de orden reducido. Realice las simulaciones del comportamiento dinámico del sistema en lazo cerrado. Ayuda: Emplee los resultados obtenidos en el capítulo anterior. Recuerde que la salida está dada por y(t) = x1(t). () Ejercicio 4.5: Diseño de un observador de orden reducido: manipulador robótico flexible Considere el Modelo 23, en la página 50. Se tienen disponibles para medición dos de los cuatro estados del sistema. Se pueden medir las posiciones angulares tanto en el eje del motor ψ, como del brazo robótico respecto a la vertical θ. Diseñe: La ley de control por realimentación del vector de estado incremental, y El observador de orden reducido de orden 2 asociado al sistema dado. 114 OBSERVADORES DINÁMICOS DE ESTADO Proponga valores de los parámetros que físicamente sean adecuados al sistema dado (investigue en libros de robótica o en Internet por ejemplo, si no dispone de un sistema físico similar). Simule el sistema en lazo cerrado con el observador dinámico de orden reducido diseñado. () Ejercicio 4.6: Simulación de una derivada sucia: sistema aro-anillo Derivada sucia. La derivada sucia (llamada así por su nombre en inglés dirty derivative), es utilizada en la práctica cuando la derivada de una variable ˙ x no se puede medir directamente. Cuando se mide la variable x solamente, su derivada se estima con una aproximación, por ejemplo, del tipo ˆ ˙ x = ω 2 0 s s 2 + 1,4ω0s +ω 2 0 x (4.50) donde ˆ ˙ x denota un estimado de ˙ x; la frecuencia de corte ω0 es relativamente grande respecto a las constantes de tiempo de la dinámica del sistema. Observador de orden reducido. Considere el ejemplo en Matlab 4.2, en la página 91. Diseñe un observador de orden reducido. Simule el observador de orden reducido en lazo cerrado con la ley de control (4.21), teniendo cuidado de reemplazar x2 por su estimación ˆ x2. Esquema con derivada sucia. Estime la derivada x2 mediante la expresión (4.50). Simule esta aproximación en lazo cerrado con la ley de control para el sistema no lineal. Compare con los resultados obtenidos en el caso del observador de orden reducido. () 4.7. Resumen del capítulo y Lecturas adicionales Cuando no se pueden medir todos los estados del sistema incremental y deseamos emplear una estrategia de realimentación del vector de estado, la solución expedita es diseñar un observador dinámico de Luenberger. Si el sistema es observable, la rapidez del observador puede escogerse de la manera deseada. El observador dinámico del estado incremental “copia” la estructura del sistema linealizado (por lo tanto, posee la misma dimensión), obteniendo un sistema dinámico que además es autocorregido. Gracias al principio de separación, los polos del sistema en lazo cerrado, obtenidos mediante la realimentación de estados, pueden escogerse inde- pendientemente de los polos de la dinámica de observación. En el caso de medir o disponer de una o más variables de estado, es posible diseñar un observador dinámico de orden reducido. Este observador posee una dimensión inferior a la dimensión del sistema original. 4.7 RESUMEN DEL CAPÍTULO Y LECTURAS ADICIONALES 115 Lecturas recomendadas Al igual que en el capítulo anterior, le sugerimos consulte la información referente al diseño de observadores, tanto de orden reducido como de orden completo, en los siguientes textos: 1. G.F. Franklin, J. David Powell, A. Emami-Naeini, Feedback Control of Dynamic Systems, 3ra. Edición, Addison-Wesley, 1994, [FPEN94]. 2. K. Ogata, Modern Control Engineering, Prentice Hall, 1993, [Oga93]. 3. S. Bahram, M. Hassul, Control System Design using Matlab, Prentice Hall, Englewood Cliffs, New Jersey, 1995. [BH95]. 4. O’Reilly, Observers, Pergamon, 1980. [completar]. Un libro donde se desarrolla la teoría de observadores, tanto para sistemas como discre- tos, con algunas orientaciones al diseño “óptimo”. Muy didáctico. Las referencias originales sobre el diseño de observadores, tal y como están planteadas en este capítulo, 1. D. G. Luenberger, “Observers for multivariable systems”, IEEE Trans. Automat. Contr., vol. 11, pp. 190–197, 1966, [Lue66]. 2. D. G. Luenberger, “An introduction to observers”, IEEE Trans. Au- tomat. Contr., vol. 16, pp. 596–602, 1971, [Lue71]. La dualidad es una propiedad particularmente interesante de los sis- temas lineales: D. G. Luenberger, “A double look at duality”, IEEE Trans. Automat. Contr., vol. 37, pp. 1474 - 1482, October 1992, [Lue92]. En este artícu- lo se describe la dualidad tanto desde el punto de controlabilidad y observabiliad, como desde el punto de vista de la convexidad (un tipo de dualidad que caracteriza el diseño de leyes de control óptimo). Sobre la derivación y sus aproximaciones, el lector puede referirse a las siguientes referencias: K.J. Åström, T. Hägglund, PID Controllers: Theory, Design, and Tun- ing, Instrument Society of America, 2da edición, Research Triangle Park, NC, 1995, [ÅH95]. En este texto se hace un estudio de la acción derivativa y de su implementación numérica. Se discuten las limita- ciones prácticas que se generan con la aproximación numérica y el porqué la acción derivativa no es utilizada en general. 5 Síntesis de compensadores clásicos Foto Durante años el diseño de leyes de control estuvo basado exclu- sivamente en el uso de métodos frecuenciales. En la actualidad, el uso de reguladores o compensadores en el control de plantas y procesos industriales no ha perdido su vigencia y sigue teniendo una gran importancia. El método de la linealización aproximada ilustrado en los capítu- los previos, nos permitirá dedicarnos a la llamada teoría clásica de sistemas de control lineales. 5.1. Introducción El método de la linealización aproximada permite, en principio, el uso de cualquiera de los métodos de diseño de controladores inherentemente válidos para sistemas lineales. Como hemos visto hasta ahora, esto es cierto en tanto 116 5.2 DISEÑO DE REGULADORES DEL TIPO P, PI Y PID 117 1. el principio de linealización sea válido localmente en un entorno “su- ficientemente grande” alrededor del punto de operación deseado, 2. el modelo linealizado cumpla con las condiciones de controlabilidad y observalidad requeridas. 3. se diseñe un controlador, en base al análisis llevado a cabo sobre el sis- tema linealizado, el cual induzca una estabilización local del sistema no lineal, alrededor de su punto de equilibrio. En este capítulo seguiremos este mismo “procedimiento” para el diseño de esquemas de control clásicos basados en la función de transferencia. Nuestro propósito no es desarrollar en profundidad los diferentes méto- dos de análisis frecuencial (lugar de las raíces, método de Bode, Nichols, etc.) para el diseño de compensadores 1 G c (s) (adelanto, atraso, adelanto– atraso, etc.) ya que existen excelentes y detalladas referencias al respecto, refiérase, por ejemplo, en la sección Lecturas recomendadas al final del capítulo. En lugar de ello, presentaremos un conjunto de ejemplos ilustra- tivos de la aplicación de algunas de las estrategias de compensación más comunmente empleadas. En adelante, trataremos el diseño de compensadores en serie G c (s) para sistemas no lineales. En la sección 5.2 trataremos en detalle los esquemas de diseño clásicos para la regulación, conocidos como controlador propor- cional o P, proporcional–integral o PI y proporcional-integral-derivativo o PID, todos ellos basados en el método frecuencial de Ziegler-Nichols. En la sección 5.4 se presenta el desarrollo de compensadores basados en el método de controlador-observador clásico. Finalmente, en la sección 5.5, presentaremos el procedimiento de diseño de un compensador en adelan- to, utilizando para ello el ejemplo del sistema de levitación magnética. Los esquemas presentados usan Matlab (R) en forma intensiva y podrán servir como una guía en las experiencias de diseño de sistemas de control reali- mentado presentadas posteriormente. 5.2. Diseño de reguladores del tipo P, PI y PID Los métodos de diseño de compensadores del tipo PID (proporcional– integral–derivativo) son de gran importancia en la estabilización de sis- temas reales que operan en la vecindad de puntos de equilibrio, prueba de ello es el uso frecuente y entenso de compensadores PID en aplicaciones industriales (se dice que hoy en día el 90 % de todos los sistemas de control industriales en el mundo son regulados por controladores PI!). A continuación, usando como base el diseño basado en el sistema linea- lizado, presentaremos el método de Ziegler-Nichols en régimen frecuencial método de Ziegler-Nichols 1 A las leyes de control diseñadas mediante los llamados métodos clásicos se las llama tam- bién redes de compensación. Este nombre proviene de los arraigados orígenes de esta teoría en la ingenierıa eléctrica; H. Black, H. Bode, H. Nyquist, por ejemplo, trabajaron todos para la Bell Telephone Company resolviendo problemas de índole fundamentalmente eléctrico. 118 SÍNTESIS DE COMPENSADORES CLÁSICOS para la entonación o ajuste de los parámetros del compensador. El método usado es el basado en la respuesta crítica del sistema, el cual permite en- Método Z-N basado en la respuesta crítica contrar directamente, de una forma sistemática y analítica, los elementos necesarios a partir del diagrama de Nyquist para el cálculo de los paráme- tros del controlador P, PI o PID. Por supuesto, el método que expondremos sólo se aplica a sistemas de una sola entrada y una salida o SISO (por sus siglas en inglés single-input single-output). Los sistemas estudiados además presentarán la propiedad sistemas SISO, estables en lazo abierto de ser estables en lazo abierto. No utilizaremos el método de Ziegler-Nichols basado en los parámetros de la respuesta escalón, por cuanto la obtención en forma analítica de estos parámetros es un tanto más difícil. El método de Ziegler-Nichols de respuesta crítica en régimen frecuencial consiste en determinar dos parámetros, f 0 (U) y K 0 (U), a partir del diagra- ma de Nyquist de la función de transferencia en lazo abierto dada por, viene de la página 37, G U (s) = C(U)[sI −A(U)] −1 B(U) (2.8*) Los parámetros a determinar son conocidos como la frecuencia última frecuencia última y ganancia última f 0 (U) y la ganancia última K 0 (U). En lugar de la frecuencia f 0 (U) nos in- terezará en particular la frecuencia última expresada en radianes ω 0 (U) y el período último P 0 (U), los cuales se expresan de la siguiente manera: P 0 (U) = 2π ω 0 (U) = 1 f 0 (U) K 0 (U) = 1 |G U (ω 0 (U))| Los parámetros presentados en (5.1) corresponden a los que usaremos directamente en el método de Ziegler-Nichols. Note la dependencia de estos parámetros respecto al punto de operación U. La frecuencia ω 0 (U) (o f 0 (U)) corresponde al valor de frecuencia finita, diferente de cero, para el cual ImG(jω(U)) = 0, 2 es decir, cuando el sistema presenta estabilidad marginal 3 . Este valor se determina directamente so- bre el gráfico de Nyquist, tal como se muestra en la Figura 5.1. Analíticamente, los valores de K 0 (U) y ω 0 (U) se calculan a partir de la función de transferencia G U (s) de la manera siguiente: arg [G U (jω 0 (U))] = −π K 0 (U) = 1 |G U (jω 0 (U))| (5.1) 2 En el diagrama de Bode este valor corresponde a la frecuencia en que la fase cruza por −180 ◦ (−π radianes). Recuerde las nociones de margen de ganancia y de margen de fase. 3 De hecho, la ganancia “crítica” corresponde al valor de ganancia proporcional para el cual el sistema se hace “críticamente estable”. 5.2 DISEÑO DE REGULADORES DEL TIPO P, PI Y PID 119 Figura 5.1: Determinación de la frecuencia última ω 0 y la ganancia última K 0 Tabla 5.1: Parámetros K P , T I , T D del método de Ziegler-Nichols Tipo de Parámetro Parámetro Parámetro controlador K P T I T D P 0,5K 0 (U) ∞ 0 PI 0,45K 0 (U) 0,83P 0 (U) 0 PID 0,6K 0 (U) 0,5P 0 (U) 0,125P 0 (U) Regla de Ziegler-Nichols. La forma clásica (teórica) del compensador PID que estabilizará la salida del sistema linealizado al valor de cero está dada por la expresión G c (s) = K P (U) _ 1 + 1 T I (U)s +T D (U)s _ (5.2) donde K P es la ganancia estática, T I y T D son constantes de tiempo asoci- adas a los términos integral y derivativo, respectivamente. Como se obser- va, las expresiones de los controladores P y PI se obtienen haciendo, respec- tivamente, T I (U) = ∞, T D (U) = 0 y T D (U) = 0. Para el caso del regulador PD hacemos simplemente T I (U) = ∞. Otra representación, un tanto más simple, del controlador (5.2) es la siguiente: G c (s) = K 1 (U) + K 2 (U) s +K 3 (U)s (5.3) Tomando en cuenta (5.2) o (5.3), el método Ziegler-Nichols se basa en proponer, a partir de los valores P 0 y K 0 , los valores de los parámetros del compensador lineal del tipo P, PI o PID a diseñar. La tabla 5.1 muestra los diferentes valores paramétricos de K P , T I y T D recomendados por el método 120 SÍNTESIS DE COMPENSADORES CLÁSICOS Tabla 5.2: Parámetros K 1 , K 2 , K 3 del método de Ziegler-Nichols Tipo de Parámetro Parámetro Parámetro controlador K 1 K 2 K 3 P 0,5K 0 (U) 0 0 PI 0,45K 0 (U) 0,54K0(U) P0(U) 0 PID 0,6K 0 (U) 1,2K0(U) P0(U) 0,075K 0 (U)P 0 (U) de Ziegler-Nichols. Estos valores caracterizan las constantes de los compen- sadores que permiten regular eficientemente a toda la familia de sistemas lineales parametrizada por el punto de equilibrio deseado. En términos de los parámetros K 1 , K 2 , K 3 , la tabla 5.1 se puede reescribir como aparece en la tabla 5.2. Observe que no hemos considerado explícitamente el caso del contro- lador proporcional-derivativo PD (ver el ejemplo Matlab 8.2, página 211, El controlador PD corresponde a una realimentación del vector de estados en la Parte II sobre la linealización extendida) por cuanto es fácil demostrar que este caso se corresponde, en general, con realimentación (estática) del vector de estado, cuyo tratamiento ya hemos visto en todo detalle en capí- tulos anteriores. El controlador PIDlineal, obtenido mediante el método de Ziegler-Nichols, puede escribirse fácilmente en términos de una representación de estado, donde la entrada corresponde al error linealizado de la salida incremen- tal e δ respecto de su valor nominal cero. Esta representación admite en la ecuación de salida la presencia de un término en la derivada de dicha en- trada, es decir, de δ /dt, el cual excita al compensador directamente. Por lo tanto tenemos: ˙ ξ δ = K 2 (U)e δ u δ = ξ δ +K 1 (U)e δ +K 3 (U) de δ dt (5.4) donde e δ = y ref −y δ = 0 −y δ = −y δ . Evidentemente, la señal de control sintetizada por el compensador an- terior adopta la forma: u δ = K 1 (U)e δ +K 2 (U) _ t o e δ (σ)dσ +K 3 (U) de δ dt (5.5) Dicha expresión constituye, ciertamente, un controlador PID clásico. Este regulador permitirá estabilizar localmente al sistema no lineal dentro de un esquema de diseño como el planteado en el diagrama de bloques de la Figura 5.2. 5.3 EJEMPLOS BASADOS EN LA REGLA DE ZIEGLER-NICHOLS 121 Figura 5.2: Esquema de control PID para Sistemas No Lineales 5.3. Ejemplos basados en la regla de Ziegler-Nichols El material expuesto hasta este punto será útil al momento de regular un sistema dado mediante un PID. Sin embargo, antes de proceder a re- alizar algunos ejemplos del uso de esta estrategia, debemos hacer notar la siguiente observación: No siempre es posible aplicar el método de Ziegler- Nichols para el diseño de un compensador PID linealizado. En general, sistemas de primer y segundo orden no pueden beneficiarse de diseños derivados de esta técnica. La razón fundamental estriba en el hecho de que tales sistemas possen funciones de transferencia cuyo gráfico de Nyquist no corta el eje real más que en ω = 0 y ω = ∞. Tampoco se aplicará este método a sistemas inestables. La determinación de la ganancia última se convierte, entonces, en un proceso singular. De hecho, este método se empleará en sistemas que pre- sentan una característica forma en “S” de la respuesta escalón unitario 4 . Ejemplo 5.1: Ejemplo de diseño donde las condiciones fallan: control de un sistema de suspensión magnética Consideremos nuevamente el sistema de suspensión magnética Modelo 8, en la página 14, el cual permite mantener levitada una pequeña esfera metálica de masa m. La función de transferencia del sistema linealizado (2.11), en la página 39, la cual relaciona la corriente de entrada al circuito del electroimán con la posición de la esfera metálica está dada por: G X (s) = y δ (s) u δ (s) = x 1δ (s) u δ (s) = 2 L _ cg mX s 3 + R L s 2 − g X s − Rg LX (5.6) (0bsérvese la inversión de signo respecto a la función de transferencia original (2.12), en este caso hemos tomado la señal de salida de tal forma que y δ (t) = −x 1 (t), esto nos permitirá facilitar los cálculos más adelante.) Estudiemos este sistema mediante el criterio de estabilidad de Nyquist. Este criterio tiene que Criterio de estabilidad de Nyquist ver con la siguiente función de transferencia 1 +Kc N G (s) D G (s) (5.7) 4 Véase, por ejemplo, [Oga93]. El lector puede referirse al final del capítulo donde se presen- tan otras referencias al respecto. 122 SÍNTESIS DE COMPENSADORES CLÁSICOS donde G X (s) = N G (s)/D G (s). El numerador de (5.7) corresponde al polinomio característico del sistema en lazo cerrado. El criterio dice que el diagrama de Nyquist cumple con la condición N = Z − P donde N es el número de vueltas contadas en sentido horario alrededor del punto −1 + 0 j , Z es el número de ceros inestables (Re(s) > 0) presentes en (5.7), es decir, Z se corresponde con el número de raíces inestables del polinomio característico del sistema en lazo cerrado; P es el número de polos inestables de (5.7). Figura 5.3: Gráfico de Nyquist de la función de transferencia para el sistema de suspensión magnética El gráfico de Nyquist para este sistema se presenta en la Figura 5.3. Los valores empleados de los parámetros fueron los siguientes: g = 9,8 [m/seg 2 ]; c = 1; m = 0,1 [kg]; R = 1 [Ω]; L = 0,01 [Henrios]; X = 0,05 [m] (5.8) De acuerdo con el criterio de Nyquist, este sistema en lazo cerrado es inestable. En efecto, a partir del diagrama se deduce que N = 0, el sistema en lazo abierto presenta una raiz inestable P = 1 y, por lo tanto, Z = 1. Al aumentar la ganancia Kc, persisten las raíces inestables y de hecho aumentan a Z = 2. La ilustración de este hecho se observa, más adelante, en el lugar de las raíces del sistema (5.6) mostrado en la Figura 5.4. Este sistema, entonces, no se puede tratar mediante el método de diseño de Ziegler-Nichols descrito en esta sección. Ejemplo 5.2: Diseño de un controlador PI para un modelo promedio de un convertidor tipo “Boost” de corriente continua Consideremos la función de transferencia (2.10), en la página 38, del modelo promedio del con- vertidor Boost: G U (s) = −ω 0 Z 1 (U) s − b Z 1 (U) s 2 +ω 1 s +ω 2 0 (1 −U) 2 (2.10*) donde µ = U ; Z 1 (U) = bω 1 ω 2 0 (1 −U) 2 : Z 2 (U) = b ω 0 (1 −U) En la Figura 5.5 se presenta el gráfico de Nyquist de la función de transferencia (2.10), toman- do en cuenta los siguientes valores numéricos típicos de los parámetros: ω 0 = 1,5811 · 10 3 ; ω 1 = 1,6667 · 10 3 : b = 106,066; U = 0,8 (5.9) 5.3 EJEMPLOS BASADOS EN LA REGLA DE ZIEGLER-NICHOLS 123 Figura 5.4: Lugar de las raíces para el sistema de suspensión magnética Figura 5.5: Gráfico de Nyquist de la función de transferencia del modelo promedio de un convertidor de corriente continua tipo “Boost” 124 SÍNTESIS DE COMPENSADORES CLÁSICOS Figura 5.6: Lugar de las raíces del modelo promedio del convertidor Boost La forma particular del gráfico es indicativa de que podemos aplicar el método de Ziegler- Nichols presentado anteriormente, basado en la respuesta frecuencial, para el diseño de un con- trolador PI o PID. En este caso particular realizaremos el diseño de un controlador PI. Sustituyendo s = j ω en la función de transferencia (2.10), obtenemos la siguiente expresión que nos permitirá determinar la parte imaginaria y la parte real de G( j ω): G U (s) = −ω 0 Z 1 (U) j ω − b Z 1 (U) ( j ω) 2 +ω 1 j ω +ω 2 0 (1 −U) 2 = −ω 0 Z 1 (U) _ jω − b Z 1 (U) _ ([ω 2 0 (1 −U) 2 −ω 2 ] −jωω 1 ) [ω 2 0 (1 −U) 2 −ω 2 ] 2 + (ωω 1 ) 2 = ω 0 Z 1 (U) (ω 2 0 (1 −U) 2 −ω 2 ) b Z 1 (U) −ω 2 ω 1 (ω 2 0 (1 −U) 2 −ω 2 ) 2 + (ωω 1 ) 2 − j ω 0 Z 1 (U) ω(ω 2 0 (1 −U) 2 −ω 2 ) + ωω 1 b Z 1 (U) (ω 2 0 (1 −U) 2 −ω 2 ) 2 + (ωω 1 ) 2 En consecuencia, ImG U ( j ω) = −ω 0 Z 1 (U) ω(ω 2 0 (1 −U) 2 −ω 2 ) + ωω 1 b Z 1 (U) (ω 2 0 (1 −U) 2 −ω 2 ) 2 + (ωω 1 ) 2 = −ω 0 ωZ 1 (U) 2ω 2 0 (1 −U) 2 −ω 2 (ω 2 0 (1 −U) 2 −ω 2 ) 2 + (ωω 1 ) 2 (5.10) Se puede observar en el gráfico 5.5 que la parte imaginaria (5.10) del gráfico de Nyquist se hace cero en ω = 0, ω = ∞, los cuales son valores que no podemos emplear. Entonces, la frecuencia de cruce con el eje imaginario que nos interesa será: ω(U) = √ 2ω 0 (1 −U) El valor del módulo de la función de transferencia G U ( j ω) para el valor de frecuencia angular ω(U) está dado por |G U ( j ω(U))| = ω 0 ω 1 Z 1 (U) = b ω 0 (1 −U) 5.4 MÉTODO DEL CONTROLADOR-OBSERVADOR CLÁSICO 125 Figura 5.7: Esquema de regulación promedio basado en un controlador PI para un con- vertidor tipo “Boost” De esta última expresión se obtienen el periodo último P 0 (U) y la ganancia última K 0 (U): P 0 (U) = 2π ω(U) = √ 2π ω 0 · (1 −U) ; K 0 (U) = ω 0 (1 −U) 2 b De acuerdo a los valores de la tabla 5.2, las ganancias del controlador PI para el sistema linealizado están dadas por: K 1 (U) = 0,45 ω 0 (1 −U) 2 b : K 2 (U) = 0,54 ω 2 0 (1 −U) 3 √ 2πb (5.11) La representación del controlador PI en el espacio de estado, de acuerdo a la expresión (5.4) y tomando en cuenta los valores (5.11), resulta ˙ ξ δ = 0,54 ω 2 0 (1 −U) 3 √ 2πb e δ µ δ = ξ δ + 0,45 ω 0 (1 −U) 2 b e δ (5.12) donde e δ = −y δ . En este caso particular, además del controlador lineal u δ resultante del compensador PI y la adición del valor del control en equilibrio µ = U, el esquema final de control involucra además la delimitación de la señal de entrada µ, puesto que µ debe cumplir la relación 0 ≤ µ ≤ 1. Esta delimitación se lleva a cabo mediante un saturador, el cual impide que la señal de entrada µ (la relación de trabajo), tome valores inferiores a 0 o superiores a 1. Por esta razón, aparece un limitador con estas características en el diagrama de bloques presentado en la Figura 5.7. 5.4. Método del controlador-observador clásico Un análisis relativamente sencillo del esquema de compensación lineal basado en el uso de realimentación del vector de estado a través de obser- vadores, nos conduce a convencernos de que es posible utilizar un esquema equivalente en términos de funciones de transferencia. De esta forma no tenemos necesidad de recurrir a la representación de estado y sus conceptos asociados de controlabilidad y observabilidad. A tal esquema de regulación se le conoce con el nombre de esquema del controlador-observador clásico. Las bases del enfoque lineal del método nos serán útiles sobretodo para pro- poner más adelante una extensión al caso no lineal (mediante la técnica de la linealización extendida). 126 SÍNTESIS DE COMPENSADORES CLÁSICOS Supongamos que hemos resuelto el problema de realimentación de es- tado mediante el uso de un observador dinámico en un sistema linealizado alrededor de un cierto punto de equilibrio. Las ecuaciones del controlador y del observador serían, en tal caso, las siguientes: u δ = e δ = v δ (s) −K(U)ˆ x δ ˙ ˆ x δ = A(U)ˆ x δ +B(U)u δ +L(U)[y δ − ˆ y δ ] ˆ y δ = C(U)ˆ x δ donde v δ (s) representa la transformada de una señal de referencia conocida. La función de transferencia entre la salida del compensador, representa- da por la señal realimentada incremental K(U)ˆ x δ (s), y la entrada al compen- sador, representada por la salida incremental de la planta y δ (s), está defini- da por la siguiente relación, obtenida directamente de las ecuaciones ante- riores: −K(U)ˆ x δ = −K(U)[sI −A(U) +L(U)C(U)] −1 L(U)y δ (s) −K(U)[sI −A(U) +L(U)C(U)] −1 B(U)u δ (s) = −H yδ (U, s)y δ (s) −H uδ (U, s)u δ (s) La expresión del controlador representado en la forma de funciones de transferencia es, entonces, la siguiente: u δ (s) = v δ (s) −K(U)ˆ x δ (s) = v δ (s) −H yδ (U, s)y δ (s) −H uδ (U, s)u δ (s) (5.13) Resolviendo para la transformada de la entrada incremental a la planta, o error incremental, tenemos: u δ (s) = −[1 +H uδ (U, s)] −1 [v δ (s) −H yδ (U, s)y δ (s)] La Figura 5.8 muestra una interpretación en diagrama de bloques de la ecuación (5.13), con respecto a la entrada incremental. A menudo utilizaremos una parametrización en términos de la salida en equilibrio para el bloque compensador que recibe la influencia directa de la salida incremental. Esta parametrización se muestra en la Figura 5.9. Como se observa en este diagrama, la notación usada anteriormente per- manece inalterada a excepción de la dependencia explícita del valor nomi- nal Y de la salida. Este último esquema se corresponde, dentro de ciertas limitaciones, a un esquema clásico, bien conocido, de disposición de los bloques de compen- sación en sistemas lineales. Sin embargo, a diferencia del esquema clásico, existen ciertas limitaciones en la estructura de estos bloques. Usando las expresiones obtenidas a partir de la transformada de la en- trada del control incremental en términos de sí misma y de la salida in- cremental, podemos ver, en primer lugar, que los denominadores en am- bas funciones de transferencia deben ser idénticos. En segundo lugar, es 5.4 MÉTODO DEL CONTROLADOR-OBSERVADOR CLÁSICO 127 Figura 5.8: Interpretación del diseño en variables de estado Figura 5.9: Representación del esquema controlador-observador clásico 128 SÍNTESIS DE COMPENSADORES CLÁSICOS sabido que la manipulación de bloques de funciones de transferencia puede crear eliminaciones o simplificaciones de ciertos factores, los cuales pueden aparecer tanto en los numeradores como en los denominadores de las fun- ciones de transferencia resultantes. Estas simplificaciones pueden pasar inadvertidas y dejar en los diseños resultantes modos escondidos que, de ser inestables, causarían un esquema de control inválido. No abundaremos, por ahora, en las especificidades de estos detalles que, aunque importantes, aparecerán en su debido momento durante los desarrollos que presentare- mos a continuación. Supongamos que la familia de funciones de transferencia de la planta linealizada y de los bloques de compensación, parametrizada respecto al punto de equilibrio (X, U, Y ), está dada explícitamente por: G U (s) = N G (U, s) D G (U, s) ; H y δ (Y, s) = N y (Y, s) C(s) ; H u δ = N u (U, s) C(s) Los numeradores de estas funciones de transferencia son polinomios de grado n − 1 como máximo. Aún cuando podemos suponer que los denom- inadores de las funciones de transferencia de los bloques compensadores sean de grado n, es fácil ver que podemos suponer, sin pérdida de genera- lidad, que C(s) es un polinomio de orden n − 1, en virtud de que siempre podemos reducir el orden del observador de estado en una unidad (ya que la salida siempre puede considerarse como un estado observable del sis- tema). Recordemos también que, en general, hemos buscado diseños de observadores cuyas dinámicas del error fuesen asintóticamente estables e independientes del punto de operación (es decir, los autovalores de la ma- triz del sistema autónomo que describen la dinámica del error incremental deben exhibir parte real negativa y, además, ser independientes del pun- to de equilibrio). Impondremos, por tanto, la independencia, con respecto a U, de los coeficientes del polinomio C(s), así como la adscripción de sus raíces al semiplano izquierdo del plano complejo. Adicionalmente, supon- dremos que no existe simplificación posible entre los factores que confor- man el numerador y el denominador de la función de transferencia de la planta linealizada. Es decir, que los polinomios N G (U, s) y D G (U, s) deben Polinomios coprimos ser coprimos. Esta suposición es equivalente a imponer, simultaneamente, las condiciones de controlabilidad y observabilidad en la planta linealizada. Esta última exigencia, como sabemos, no es restrictiva en grado alguno. La función de transferencia del sistema en lazo cerrado está dada por: y δ (s) v δ (s) = F U (s) = G U (s) 1 +H uδ (U, s) +H yδ (Y, s)G U (s) = C(s)N G (U, s) C(s)D G (U, s) +N U (U, s)D G (U, s) +N y (Y, s)N G (U, s) Daremos un argumento plausible que establece la posibilidad de escoger N u (U, s) y N y (Y, s) de tal forma que el denominador de la función de trans- 5.4 MÉTODO DEL CONTROLADOR-OBSERVADOR CLÁSICO 129 ferencia del sistema en lazo cerrado verifique la siguiente identidad: C(s)D G (U, s) +N U (U, s)D G (U, s) +N y (Y, s)N G (U, s) ≡ C(s)D(U, s) (5.14) donde D(U, s) representa el polinomio característico deseado del sistema en lazo cerrado. La familia de funciones de transferencia que describen el sistema con- trolado estará dada entonces por: y δ (s) v δ (s) = F U (s) = N G (U, s) D(U, s) El diseño de los bloques compensadores se lleva a cabo entonces a partir de la ecuación que relaciona los numeradores de sus funciones de transfer- encia con los polinomios conocidos y con los polinomios que determinan la dinámica asignada al sistema en lazo cerrado y al observador subyacente. Observamos que la igualdad polinomial involucra la identificación término a término de los coeficientes de dos polinomios de grado 2n −1 que arrojan un total de 2n ecuaciones y tenemos como incógnitas, precisamente, los 2n coeficientes de los numeradores de las funciones de transferencia de los blo- ques compensadores, es decir, los coeficientes de N y (Y, s) y N u (U, s). Se pue- de demostrar que si los polinomios N G (U, s) y D G (U, s) son coprimos existe, entonces, solución para tal sistema de ecuaciones y, además, tal solución es única. Esto se deduce directamente del algoritmo de Euclides 5 . Algoritmo de Euclides A continuación ilustraremos el uso de este método de diseño de control lineal en un ejemplo sencillo, proveniente de una linealización. Ejemplo 5.3: Cálculo de un controlador-observador clásico para el manipu- lador robótico de una sola unión rígida Considere el Modelo 9, en la página 15, del manipulador robótico de una sola unión rígida (1.21). Su punto de equilibrio parametrizado respecto a u = U está dado por (1.23). La linealización de este sistema alrededor del punto de equilibrio resulta: _ ˙ x 1δ ˙ x 2δ _ = _ 0 1 − c NJ _ 1 − U 2 c 2 − B J _ _ x 1δ x 2δ _ + _ 0 1 j _ u δ y δ = _ 1 0 ¸ _ x 1δ x 2δ _ (5.15) La función de transferencia de este sistema linealizado se obtiene de inmediato como: G U (s) = y δ (s) u δ (s) = N G (U, s) D G (U, s) = 1/J s 2 + B J s + c NJ _ 1 − U 2 c 2 (5.16) Para este sistema, proponemos el esquema de compensación lineal basado en el esquema clásico del controlador-observador descrito en esta sección. Para ello, definimos los siguientes bloques compensadores: H uδ (U, s) = Nu(U, s) C(s) = n u1 (U) s +α +n u2 (U) H yδ (Y, s) = Ny(Y, s) C(s) = n y1 (Y ) s +α +n y2 (Y ) 5 Este algoritmo es muy utilizado para el diseño de algoritmos de control, en [DFT92] se presenta una introducción muy didáctica a este tema. 130 SÍNTESIS DE COMPENSADORES CLÁSICOS La función de transferencia deseada en lazo cerrado está dada por: F U (s) = N G (U, s) D(s) = 1/J s 2 + 2ζωns +ω 2 n La ecuación fundamental (5.14) sobre la que basamos el diseño lineal resulta (s +α)(s 2 + 2ζωns +ω 2 n ) ≡ (s +α) _ _ s 2 + B J s + c NJ ¸ 1 − U 2 c 2 _ _ + (n u2 (U)s + [αn u2 (U) +n u1 (U)]) _ _ s 2 + B J s + c NJ ¸ 1 − U 2 c 2 _ _ + 1 J (n y2 (U)s + [αn y2 (Y ) +n y1 (Y )]) Se igualan los coeficientes de las potencias iguales de s, de los polinomios que se en- cuentran a ambos lados de la identidad. Se obtienen así los siguientes valores para las incógnitas, los cuales determinan los coeficientes de los numeradores de las funciones de transferencia de los bloques compensadores: n u2 (U) = 0; n u1 (U) = n u1 = 2ζωn − B J n y2 (U) = J _ _ ω 2 n + _ α − B J _ _ 2ζωn − B J _ − c NJ ¸ 1 − U 2 c 2 _ _ ; n y2 (Y ) = J _ ω 2 n + _ α − B J _ _ 2ζωn − B J _ − c NJ cos _ Y N __ ; n y1 (U) = − _ 2ζωn − B J _ _ _ c N ¸ 1 − u 2 c 2 +αJ _ α − B J _ _ _ ; n y1 (Y ) = − _ 2ζωn − B J _ _ c N cos _ Y N _ +αJ _ α − B J __ El compensador clásico lineal resulta entonces: H uδ (U, s) = 2ζωn − B J s +α H yδ (Y, s) = − _ 2ζωn − B J _ _ c N cos _ Y N _ +αJ _ α − B J __ J _ ω 2 n + _ α − B J _ _ 2ζωn − B J _ − c NJ cos _ Y n __ donde α es un número real positivo completamente arbitrario. Será útil considerar la siguiente realización de espacio de estado de los bloques compen- sadores: ˙ z uδ = −αz uδ +u δ y uδ = _ 2ζωn − B J _ z uδ ˙ z yδ = −αz yδ +y δ y yδ = _ 2ζωn − B J _ _ c N cos _ Y N _ +αJ _ α − B J __ z yδ +J _ ω 2 n + _ α − B J _ _ 2ζωn − B J _ − c NJ cos _ Y N __ y δ (5.17) donde y uδ y y yδ representan las contribuciones de cada bloque a la conformación de la señal de entrada incremental. Las variables de estado z uδ y z yδ son los estados de los bloques compensadores. 5.4 MÉTODO DEL CONTROLADOR-OBSERVADOR CLÁSICO 131 Ejemplo 5.4: Diseño de un controlador no lineal del tipo controlador-observador para un sistema de suspensión magnética Damos a continuación en forma resumida los pasos principales del proceso de diseño de un regu- lador del tipo controlador-observador de índole no lineal obtenido por el método de la linealización extendida. El modelo no lineal del sistema satisface las siguientes expresiones: ˙ x 1 = x 2 ˙ x 2 = g − c m x 2 3 x 1 ˙ x 3 = − R L x 3 + 1 L u y = x 1 Siendo el punto de equilibrio parametrizado por la corriente de entrada constante U: u = U; x 1 (U) = X 1 (U) = c mg U 2 R 2 ; x 2 (U) = 0; x 3 (U) = X 3 (U) = U R Linealizando el sistema alrededor del punto de equilibrio genérico se obtiene: ˙ x 1δ = x 2δ ˙ x 2δ = mg 2 R 2 cU 2 x 1δ − 2gR U x 3δ ˙ x 3δ = − R L x 3δ + 1 L u δ y δ = x 1δ y la función de transferencia del sistema linealizado, parametrizada en términos de la corriente de entrada U es: G U (s) = N G (U, s) D G (U, s) = _ 2gR LU _ _ s 2 − mg 2 R 2 cU 2 _ _ s + R L _ = − _ 2gR LU _ s 3 + R L s 2 − mg 2 R 2 cU 2 s − mg 2 R 3 cLU 2 La estructura del compensador lineal esta dada entonces por: Hu(U, s) = Nu(U, s) C(s) = n u2 (U)s +n u1 (U) s 2 +α 2 s +α 1 +n u3 (U) = n u3 (U)s 2 + [α 2 n u3 (U) +n u2 (U)]s + [α 1 n u3 (U) +n u1 (U)] s 2 +α 2 s +α 1 Hy(Y, s) = Ny(Y, s) C(s) = n y2 (Y )s +n y1 (Y ) s 2 +α 2 s +α 1 +n y3 (Y ) = n y3 (Y )s 2 + [α 2 n y3 (Y ) +n y2 (Y )]s + [α 1 n y3 (Y ) +n y1 (Y )] s 2 +α 2 s +α 1 Planteando la función de transferencia deseada en lazo cerrado: F U (s) = N G (U, s) D(U, s) = _ 2gR LU _ (s +β)(s 2 + 2ζωns +ω 2 n ) = − _ 2gR LU _ s 3 + (2ζωn +β)s 2 + (2ζωnβ +ω 2 n )s +βω 2 n Obteniendo la ecuación fundamental del diseño: (s 2 +α 2 s +α 1 )[s 3 + (2ζωn +β)s 2 + (2ζωnβ +ω 2 n )s +βω 2 n ] ≡ (s 2 +α 2 s +α 1 ) _ s 3 + R L s 2 − mg 2 R 2 cU 2 s − mg 2 R 3 cLU 2 _ + [n u3 (U)s 2 + (α 2 n u3 (U) +n u2 (U))s + (α 1 n u3 (U) +n u1 (U))] _ s 3 + R L s 2 − mg 2 R 2 cU 2 s − mg 2 R 3 cLU 2 _ −[n y3 (Y )s 2 + (α 2 n y3 (Y ) +n y2 (Y ))s + (α 1 n y3 (Y ) +n y1 (Y ))] _ 2gR LU _ 132 SÍNTESIS DE COMPENSADORES CLÁSICOS La representación entrada-salida del compensador lineal está dada por: Hu(U, s) = Nu(U, s) C(s) = _ 2ζωn +β − R L _ s + _ (2βζωn +ω 2 n ) +α 2 (2ζωn +β) − R L _ 2ζωn +β − R L _ −α 2 R L + mg 2 R 2 cU 2 _ s 2 +α 2 s +α 1 Hy(U, s) = Ny(U, s) C(s) = n y2 (U)s +n y1 (U) s 2 +α 2 s +α 1 − _ mgRL 2cU _ _ α 2 + 2ζωn +β − R L _ + (2βζωn +ω 2 n ) _ R L −α 2 _ LU 2gR + (2ζωn +β) _ α 2 − R L −1 _ LU 2gR + _ α 1 −α 2 R L + R 2 L 2 _ U 2g − βω 2 n LU 2gR Ejemplo 5.5: Diseño de un controlador no lineal, mediante el método del controlador-observador, de un tanque de reacción continuamente agitado Consideremos ahora el modelo no lineal de un tanque reactor continuamente agitado en el cual toma lugar una reacción química del tipo isotérmica en fase líquida ˙ x 1 = −(1 +D a1 )x 1 +u ˙ x 2 = D a1 x 1 −x 2 −D a2 x 2 2 y = x 1 +x 2 Donde x 1 representa la concentración normalizada (adimensional) Cp/Cpo de cierta especie P en el reactor, donde Cpo es la concentración deseada de las especies P y Q medidas en mol.m −3 , La variable de estado x 2 representa la concentraci ´ n normalizada C Q /Cpo de la es- pecie Q . La variable de control u se define como la razón de la rata de alimentación molar por unidad volumétrica de la especie P, la cual designamos mediante N PF , y la concentración desea- da C PO . Es decir, u = N PF /(FC PO ) donde F es la rata de alimentación volumétrica en m 3 s −1 . Las constantes D a1 y D a2 se definien, respectivamente como: k 1 V/F y k 2 V C PO /F siendo V el volumen del reactor, en m −3 , y k 1 , k 2 son las constantes de primer orden en s −1 . Se supone que la especie Q es altamente ácida mientras que la especie reactante R es neu- tra. A fin de evadir problemas de corrosión en el equipo que se encuentra aguas abajo se desea regular la concentración total y a un valor de referencia constante dado por Y . Se supone además que la variable de control se encuentra acotada, de forma natural, en el intervalo [0, Umax] refle- jando así la imposición físicamente válida de nuestra disponibilidad de una rata de alimentación finita para la especie P. El punto de equilibrio para este sistema, a una rata fija de alimentación U, está dada por: x 1 (U) = U 1 +D a1 ; x 2 (U) = 1 2D a2 _ −1 + ¸ 1 + 4D a1 D a2 U 1 +D a1 _ Y (U) = U 1 +D a1 + 1 2D a2 _ −1 + ¸ 1 + 4D a1 D a2 U 1 +D a1 _ La linealización del sistema alrededor de este punto de equilibrio resulta ser: ˙ x 1δ = −(1 +D a1 )x 1δ +u δ ˙ x 2δ = D a1 x 1δ − ¸ 1 + 4D a1 D a2 U 1 +D a1 x 2δ y δ = x 1δ +x 2δ La función de transferencia del sistema linealizado se obtiene directamente de las ecuaciones 5.5 AJUSTE DE LAS GANANCIAS DE UN COMPENSADOR LINEAL 133 diferenciales lineales anteriores como: y δ (s) u δ (s) = G U (s) = N G (U, s) D G (U, s) = s +D a1 + _ 1 + 4D a1 D a2 U 1+D a1 (s + 1 +D a1 ) _ s + _ 1 + 4D a1 D a2 U 1+D a1 _ = s +D a1 + _ 1 + 4D a1 D a2 U 1+D a1 s 2 + _ 1 +D a1 + _ 1 + 4D a1 D a2 U 1+D a1 _ s + (1 +D a1 ) _ 1 + 4D a1 D a2 U 1+D a1 Las funciones de transferencia linealizadas de los bloques compensadores adoptan la forma siguiente: y uδ (s) u δ (s) = Hu(U, s) = n u1 (U) s +α +n u2 (U); y yδ (s) y δ (s) = Hy(U, s) = n y1 (U) s +α +n y2 (U) De otra forma equivalente, expresamos estas funciones de transferencia,como: y uδ (s) u δ (s) = Hu(U, s) = Nu(U, s) C(s) = n u2 (U)s +αn u2 (U) +n u1 (U) s +α y yδ (s) y δ (s) = Hy(U, s) = Ny(U, s) C(s) = n y2 (U)s +αn y2 (U) +n y1 (U) s +α La identidad polinómica fundamental que nos permite diseñar el regulador clásico del tipo controlador-observador, se escribe, en este caso, como: (s +α) _ s 2 + _ 1 +D a1 + ¸ 1 + 4D a1 D a2 U 1 +D a1 _ s + (1 +D a1 ) ¸ 1 + 4D a1 D a2 U 1 +D a1 _ + [n u2 (U)s +αn u2 (U) +n u1 (U)] _ s 2 + _ 1 +D a1 + ¸ 1 + 4D a1 D a2 U 1 +D a1 _ s + (1 +D a1 ) ¸ 1 + 4D a1 D a2 U 1 +D a1 _ + [n y2 (U)s +αn y2 (U) +n y1 (U)] _ s +D a1 + ¸ 1 + 4D a1 D a2 U 1 +D a1 _ ≡ (s +α)(s 2 + 2ζωn +ω 2 n ) De la identificación, término a término, de ambos polinómios en la identidad anterior, surgen los siguientes valores para las incognitas que conforman los numeradores de las funciones de transferencia de los bloques compensadores: 5.5. Ajuste de las ganancias de un compensador lineal En esta sección solamente presentaremos un ejemplo de un compensa- dor por adelanto para un sistema no lineal particular. Nuestra intención es plantear, durante el desarrollo de este diseño particular, algunos de los pasos necesarios que de manera general se deben seguir para realizar sat- isfactoriamente las pruebas y simulaciones del comportamiento dinámico de sistemas no lineales regulados por medio de compensadores lineales. Debido a su gran versatilidad y propiedades de cómputo, esta sección está orientada al uso de Matlab (R) como herramienta auxiliar en el diseño. En particular, en el ejemplo ilustrado, las ganancias calculadas para el diseño linealizado deben ser ajustadas para el sistema no lineal. El dise- Reajuste de las ganancias del controlador para el sistema no lineal ño se hace entonces en dos etapas: en la primera se calcula el controlador linealizado (en este caso, un compensador por adelanto) y en la segunda se 134 SÍNTESIS DE COMPENSADORES CLÁSICOS reajustan las ganancias de tal manera de mejorar la respuesta del sistema no lineal. Es interesante que en la práctica este procedimiento es natural, los diseños calculados en el papel siempre pasan por un proceso de recali- bración o reajuste al momento de ser efectivamente implementados. Matlab 5.1: Red de compensación en adelanto para un sistema de suspen- sión magnética Consideremos el sistema de suspensión magnética, Modelo 8, en la página 14. Ya habiamos analizado este sistema más temprano en este mismo capíıtulo. Su función de transferencia está dada por (5.6), de la página 121, G X (s) = y δ (s) u δ (s) = x 1δ (s) u δ (s) = 2 L _ cg mX s 3 + R L s 2 − g X s − Rg LX (5.6*) donde y δ (t) = −x 1 (t) corresponde a la señal de salida en la representación en variables de estado. Este sistema es, evidentemente, inestable en lazo abierto (recuerde la pregunta de la página 59). Considere los valores de los parámetros dados en (5.8). Para este conjunto de pará- metros los polos del sistema en lazo abierto están ubicados en s 1 = −100, s 2 = −14 y s 3 = 14. Como vemos presenta una raiz inestable. Supondremos que se desconoce el tipo de compensador que será empleado en el diseño. Por lo tanto, debemos realizar primeramente un análisis del comportamiento actual del sistema. Consideremos, primeramente, el sistema en lazo cerrado dado por un compensador de tipo P (proporcional) y la planta G X (s). Este esquema se presenta en la Figura 5.10. La Figura 5.4, mostrada con anterioridad, ilustra el lugar de las raíces asociado a dicho esquema. Se observa claramente que el sistema en lazo cerrado presenta raíces inestables, independientemente del valor que pueda asumir la ganancia K. Para resolver este problema se intuye que el posible compensador debería poseer un cero z 1 a la derecha del polo s = − _ g/X. Este cero debe ser tal que Re (z 1 ) < 0, lo cual nos permitiría “atraer” la ubicación en lazo cerrado de los polos inestables hacia la parte izquierda del plano complejo de tal forma que todas las raíces del polinomio característico en lazo cerrado presenten parte real negativa ( Re (s i ) lazo cerrado < 0). Para que el compensador sea efectivamente realizable debe aparecer, además, un polo p 1 tal que la función de tranferencia asociada sea al menos propia, tal que el grado del denominador Función de transferencia propia sea igual o mayor al grado del numerador. Adicionalmente, este polo no debe afectar sustancial- mente la dinámica en lazo cerrado generada por el cero z 1 , esto es, el polo p 1 debe ser ubicado satisfaciendo la restricción p 1 < z 1 (en la práctica se sugiere que p 1 este colocado entre 5 a 15 veces el valor de z 1 ). El compensador resultante está dado por la siguiente expresión: Gc(s) = u δ (s) e δ (s) = Kc s +z 1 s +p 1 (5.18) el cual, dadas las consideraciones anteriores, corresponde a un compensador en adelanto. El Compensador por adelanto sistema en lazo cerrado resultante dado por Gc(s) en serie con G X (s), se muestra en la Figura 5.11. Figura 5.10: Esquema básico de compensación 5.5 AJUSTE DE LAS GANANCIAS DE UN COMPENSADOR LINEAL 135 Figura 5.11: Esquema de compensación por adelanto Para efectos de resolver el problema planteado, fijemos valores adecuados de los parámetros del compensador en adelanto. Tomemos por ejemplo z 1 = −10 y p 1 = −50, los cuales satisfacen las especificaciones de diseño planteadas. Nos queda por asignar la ganancia Kc. Para ello, obtengamos el lugar de las raíces para el sistema compensado Gc(s)G X (s), el cual se ilustra en la Figura 5.12. El valor de Kc a proponer debe permitir seleccionar una ubicación de los polos del sistema en lazo cerrado tal que el sistema pueda comportarse en forma adecuada y, además, que todas las raíces tengan parte real negativa. Utilizaremos Matlab (R) para obtener de manera simple el valor de Kc. Del lugar de las raíces constatamos que al aumentar Kc, una de las raíces se va acercando a −10 (la ubicación del cero z 1 anterior) y al mismo tiempo se alejan en los polos complejos conjugados. Un criterio es proponer un valor de Kc tal que se obtenga la respuesta más rápida para el compensador propuesto, esto es en particular, cuando coinciden las partes reales de las tres raíces en lazo cerrado más cercanas al eje imaginario. El valor de Kc se obtiene por ensayo y error. Empleando el comando rlocfind de Matlab (R) sobre el lugar de las raíces de la Figura 5.12, y ubicando el polo deseado de tal forma que este cerca de Re (s) lazo cerrado > z 1 , se obtiene aproximadamente un valor de Kc = 29,72 de tal forma que las tres raíces tienen parte real de alrededor −8,08. La Figura 5.13 ilustra la ubicación de las raíces dominantes en lazo cerrado (la raiz más alejada está ubicada cerca de −126). Por otro lado, un valor de Kc inferior a 11.0680, nos da un sistema en lazo cerrado inestable, esto se puede observar del diagrama de Nyquist de la Figura 5.14. Note que estas conclusiones son ciertas en tanto nos encontremos en una vecindad sufi- cientemente pequeña del punto de equilibrio. De hecho el valor de ganancia obtenido deberá finalmente ser corregido para, por ejemplo, ampliar el conjunto de condiciones iniciales para las cuales el sistema no lineal es asintóticamente estable. Observe la simulación numérica más ade- lante. Como recordaremos, para realizar las simulaciones de los sistemas estudiados siempre ll- evamos las ecuaciones obtenidas a una representación en variables de estado. De aqui que la función de transferencia del compensador en adelanto (5.18) debe ser representada en esta for- ma. Una realización o programación de esta función de transferencia se puede obtener mediante Programación o realización de una función de transferencia los siguientes pasos: Escriba Gc(s) en la forma de una fracción estrictamente propia más un término constante: u δ (s) e δ (s) = Kc s +z 1 s +p 1 = Kc +Kc z 1 −p 1 s +p 1 (5.19) Haciendo ˆ u δ (s) e δ (s) = Kc z 1 −p 1 s +p 1 (5.20) se puede deducir, a partir de (5.19), la expresión para u δ (t): u δ (t) = Kce δ (t) + ˆ u δ (t) (5.21) De (5.20) resulta la siguiente representación dinámica para ˆ u δ (t): ˙ ˆ u δ (t) = Kc(z 1 −p 1 )e δ (t) −p 1 ˆ u δ (t) (5.22) 136 SÍNTESIS DE COMPENSADORES CLÁSICOS Figura 5.12: Lugar de las raíces para el sistema compensado 5.5 AJUSTE DE LAS GANANCIAS DE UN COMPENSADOR LINEAL 137 Figura 5.13: Detalle del lugar de las raíces para el sistema compensado. El signo ‘*’ indica la ubicación aproximada de los polos para la ganancia K c = 29,72 Figura 5.14: Diagrama de Nyquist del sistema compensado para K c = 10. El sistema es inestable en lazo cerrado 138 SÍNTESIS DE COMPENSADORES CLÁSICOS Figura 5.15: Comportamiento dinámico del sistema de suspensión magnética en lazo cerrado con el compensador en adelanto diseñado En definitiva, la representación en variables de estado del compensador en adelanto (5.18) resulta, a partir de las ecuaciones (5.21) y (5.22), en el subsistema: u δ (t) = Kce δ (t) + ˆ u δ (t) ˙ ˆ u δ (t) = Kc(z 1 −p 1 )e δ (t) −p 1 ˆ u δ (t) Este subsistema tiene como entrada e δ , como salida u δ y como variable de estado ˆ u δ . A continuación, comprobaremos el desempeño de la estrategia de control propuesta. Em- plearemos, para ello, simulaciones numéricas del comportamiento del sistema compensado en lazo cerrado. Haremos uso de la función ode45; esta función permite una mayor precisión numéri- ca que la ode23. Los programas desarrollados en Matlab (R) se muestran en los Listados 5.3 y 5.4. La respues- ta del comportamiento en lazo cerrado del sistema no lineal de suspensión magnética, usando el compensador diseñado, se muestra en la Figura 5.15. Para ejecutar la simulación desde la ven- tana de comandos de Matlab (R), recuerde: Matlab from MathWorks, Inc. > smgto La simulación presentada en la Figura 5.15 se realizó para una condición inicial en reposo relativamente cercano a la posición de equilibrio deseada (en x 1 (0) = 0,06). Supongamos que nos alejamos un poco más. Para x 1 (0) = 0,07, el compensador no logra llevar el sistema a su posición de equilibrio, Figura 5.16. Disminuyendo la ganancia Kc se obtiene la respuesta ilustrada 5.5 AJUSTE DE LAS GANANCIAS DE UN COMPENSADOR LINEAL 139 Listado 5.3: Programa de simulación del sistema de suspensión magnética smgto.m %% smgto.m %% Programa para simular el comportamiento dinamico en lazo cerrado %% del sistema de suspension magnetica, controlado usando %% un compensador por adelanto. Utiliza el programa mgto.m clear all ti = 0.0; %% tiempo inicial tf = 1.0; %% tiempo final % variables empleadas global C M G X R L U Kc A B YREF % parametros del sistema C = 1; M = 0.1; G = 9.8; R = 1; L = 1e-2; % parametros del compensador Kc = 29.72; A = 10; B = 50; %% sennal de referencia %% respecto de la salidad incremental YREF = 0.0; % punto de equilibrio X = 0.05; U = R*sqrt(M*G*X/C); %% Diferentes condiciones iniciales que se pueden usar en las simulaciones x0 = [X*0.9 0 sqrt(M*G*X/C) 0]’; [t,x] = ode45(’mgto’,[ti tf],x0); subplot(221),plot(t,x(:,1)) title(’Posicion de la esfera’) xlabel(’tiempo t’) ylabel(’x1’) subplot(222),plot(t,x(:,2)) title(’Velocidad vertical’) xlabel(’tiempo t’) ylabel(’x2’) subplot(223),plot(t,x(:,3)) title(’Intensidad de corriente’) xlabel(’tiempo t’) ylabel(’x3’) ery = 0 - (x(:,1)-X); u = U+Kc*ery+x(:,4); subplot(224),plot(t,u) title(’Tension de entrada’) xlabel(’tiempo t’) ylabel(’u’) %% fin de smgto.m 140 SÍNTESIS DE COMPENSADORES CLÁSICOS Listado 5.4: Modelo y compensador en adelanto mgto.m function xdot = mgto(t,x) %% mgto.m %% Este programa presenta la programaci\’on del sistema de control %% en lazo cerrado para el sistema de suspension magnetica. Se %% emplea un compensador en adelanto como estrategia de control. global C M G X R L U Kc A B YREF y = -(x(1)-X); %% salida incremental del sistema %% --> Recuerde los principios basicos %% de la linealizacion aproximada eyref = YREF - y; %% error incremental udelta = Kc*eyref+x(4); %% sennal de entrada incremental u = udelta+U; %% control para el sistema no lineal xdot = [x(2); G - C/M*x(3)^2/x(1); -R/L*x(3)+1/L*u; (A-B)*Kc*eyref-B*x(4)]; %% fin mgto.m Figura 5.16: Simulación para K c = 29,72 para x 1 (0) = 0,07 5.5 AJUSTE DE LAS GANANCIAS DE UN COMPENSADOR LINEAL 141 Figura 5.17: Simulación para K c = 20 para x 1 (0) = 0,07 142 SÍNTESIS DE COMPENSADORES CLÁSICOS en la Figura 5.17, la cual no solo presenta una respuesta que converge a la posición de equilibrio deseada sino que además es algo menos oscilatoria que la obtenida en la Figura 5.15. Este ejemplo ilustra uno de los procedimientos más comunes y más difíciles que puede conseguir un ingeniero en la pra´ ctica, el proceso de entonación o ajuste de las ganancias y parámetros de un controlador. Entonación de ganancias 5.6. Ejercicios propuestos Ejercicio 5.1: Diagramas de diseño En base a los desarrollados presentados, el lector puede proponer el esquema de diseño y aplicación de un compensador lineal sobre el sistema no lineal estudiado. Sugerencia: Recuerde los conceptos de variables incrementales y de punto de equi- librio. Observe los diagramas presentados anteriormente, como el de la Figura 4.5, en la página 82, por ejemplo. () Figura 5.18: Descenso suave controlado en un planeta sin atmósfera Modelo 28: Descenso suave controlado en un planeta sin atmósfera Considere el siguiente sistema dinámico controlado que representa la dinámica del módulo de descenso vertical que se muestra en la Figura 5.18: ˙ x 1 = x 2 ˙ x 2 = g − σα x 3 u ˙ x 3 = −αu y = x 1 −K (5.23) donde x 1 es la posición o altura medida sobre el eje vertical, orientada positivamente hacia abajo, es decir, x 1 < 0 para alturas reales sobre la superficie, x 2 es la velocidad de descenso y x 3 representa la masa combinada del vehículo y el combustible. 5.6 EJERCICIOS PROPUESTOS 143 La variable u es el control y el producto αu representa la velocidad de consumo de combustible por unidad de tiempo; u está restringida a tomar valores entre 0 y 1. La constante σ es la velocidad relativa de eyección de los gases y α es una constante de proporcionalidad, tal que σα resulta ser la fuerza máxima de frenaje que puede imprimir la máquina al módulo en su descenso; g es la aceleración de la gravedad del planeta en cuestión. La salida del sistema representa el error de posición respecto a una altura fija de valor K < 0. Por lo general esta altura es pequeña (inferior a un metro o algo así) de tal manera que el problema de control consiste en llevar la altura x 1 al valor x 1 = K (es decir y = 0). Mantener el módulo flotando a esta altura por un brevísimo tiempo y luego apagar el motor para lograr un descenso en caída libre desde muy baja altura. El punto de equilibrio de este sistema es el siguiente: x 1 = arbitrario = X; x 2 = 0; x 3 = arbitrario = X 3 = 0; u = 0 M Ejercicio 5.2: Diseño de observadores: descenso suave controlado Considere el sistema (5.23). Diseñe observadores de orden reducido y de orden completo asociados basados en el modelo incremental del sistema dado. () Ejercicio 5.3: Gráficos de Nyquist y del lugar de las raíces en Matlab 6.1 o mayor En Listado 5.5 se presentan los programas necesarios para generar las Figuras 5.3, 5.4, 5.5 y 5.6. Estudie las propiedades de los gráficos generados en Matlab. Marque mediante el cursor alguna posición en particular del gráfico estudiado. Vea que características del sistema se mencionan. Vea en la Figura 5.19 un ejemplo. () Ejercicio 5.4: Compensador Proporcional–Derivativo PD Demuestre que el caso del compensador PD es equivalente al empleo de la es- trategia de asignación de polos por realimentación del vector de estados. Ayuda: Haga un ejemplo de primer o segundo orden y desarrolle los cálculos complementa- mente. Luego, generalice sus resultados. () Ejercicio 5.5: Simulación en Matlab (R): respuesta del modelo promedio del convertidor “Boost” controlado por medio de un compensador PI Simule la respuesta en lazo cerrado para un modelo promedio de un convertidor tipo “Boost", cuyos parámetros están dados por (5.9), empleando el controlador PI desarrollado en este capítulo. Deseamos estabilizar la tensión de salida normalizada promedio Z2(U) a un valor de equilibrio de: X2(0,8) = 0,3354 (5.24) () Ejercicio 5.6: Respuesta del sistema en lazo cerrado con Matlab (R): mani- pulador robótico de una sola unión rígida Deduzca los pasos necesarios para obtener la expresión en variables de estado (5.17) del esquema de conpensación propuesto en la página 129. Realice las simu- laciones correspondientes para comprobar la efectividad de la estrategia de control 144 SÍNTESIS DE COMPENSADORES CLÁSICOS Listado 5.5: Programas para generar los gráficos de Nyquist y del lugar de las raíces Sistema de levitación magnética linealizado %% Parametros del sistema de levitacion magnetica %% c = 1; g = 9.8; m = 0.1; R = 1; L = 0.01; X = 0.05; figure(1) nyquist([2/L*sqrt(c*g/m/X)],[1 R/L -g/X -R*g/L/X]) axis([-1 0 -0.06 0.06]) xlabel(’Eje real’) ylabel(’Eje imaginario’) title(’Diagrama de Nyquist’) figure(2) rlocus([2/L*sqrt(c*g/m/X)],[1 R/L -g/X -R*g/L/X]) xlabel(’Eje real’) ylabel(’Eje imaginario’) title(’Lugar de las ra\’{\i}ces’) Convertidor de potencia DC-DC Boost %% Parametros del modelo promedio del convertidor Boost %% w0 = 1.5811e3; w1 = 1.6667e3; b = 106.06; U = 0.8; Z1 = b*w1/w0^2/(1-U)^2; Z2 = b/w0/(1-U); figure(1) nyquist(-w0*Z1*[1 -b/Z1],[1 w1 w0^2*(1-U)^2]) xlabel(’Eje real’) ylabel(’Eje imaginario’) title(’Diagrama de Nyquist’) figure(2) rlocus(-w0*Z1*[1 -b/Z1],[1 w1 w0^2*(1-U)^2]) xlabel(’Eje real’) ylabel(’Eje imaginario’) title(’Lugar de las ra\’{\i}ces’) 5.6 EJERCICIOS PROPUESTOS 145 Figura 5.19: Las figuras en Matlab (R) 146 SÍNTESIS DE COMPENSADORES CLÁSICOS propuesta. Utilice el siguiente conjunto de parámetros: B = 0,1 [N/m/seg]; J = 0,25 [kg m 2 ]; c = 1 [kg m 2 /seg 2 ]; N = 10; X = 15π 180 [rad]. () Modelo 29: TRCA, modelo 3 Considere el siguiente modelo de un TRCA en el cual una reacción exotérmica A → B toma lugar. El objetivo de control es regular la concentración de salida a través de la manipulación de la temperatura de la chaqueta. El calor de reacción es removido por medio de un líquido refrigerante que pasa a través de una chaqueta alrededor del reactor. El volumen V se considera constante. Las ecuaciones diferenciales que modelan este sistema son las siguientes: ˙ x 1 = F V (c 0 −x 1 ) −ax 1 e − b x 2 ˙ x 2 = F V (T 0 −x 2 ) + aL Cp x 1 e − b x 2 − h V Cp (x 2 −u) y = x 2 −T (5.25) donde la variable de estado x 1 representa la concentración del producto y x 2 representa la tem- peratura del reactor. La variable de control u es la temperatura del agua de la chaqueta; F es el flujo de salida del reactor [lb/hr], c 0 es la concentración del flujo de entrada [lb/lb], T 0 es la tem- peratura del flujo de entrada, medida en [ ◦ R], Cp es la capacidad calorífica del material [BTU/lb. ◦ R], V es el volumen del tanque [lb], L es el calor de la reacción [BTU/hr. ◦ R], b es una constante de activación [ ◦ R], a es un factor pre-exponencial [hr −1 ] y h es un parámetros de transferencia de calor [BTU/hr. ◦ R]. Se desea regular el sistema a una temperatura constante T, la cual mantendrá de una manera “indirecta” la concentración de x 1 en un valor de equilibrio constante. El punto de equilibrio para este sistema parametrizado en función de la temperatura fijada para el reactor es: x 2 = T, x 1 = X 1 (T) = c 0 1 + v F ae − b T , u = U(T) = T − CpF h (T 0 −T) aLV h c 0 e − b T 1 + V F ae − b T Algunos valores típicos de los parámetros antes mencionados son: F = 2000 [lb/hr]; c 0 = 0,5 [lb/lb]; V = 2400 [lb]; a = 7,08 ×10 10 [hr −1 ]; b = 15080 [ ◦ R] T 0 = 5320 ◦ R; L = 600 [BTU/lb]; Cp = 0,75 [BTU/lb.R]; h = 15000 [BTU/hr.R] M Ejercicio 5.7: Estudio de un tanque reactor continuamente agitado Considere el tanque reactor continuamente agitado (5.25). Simule el comporta- miento en lazo abierto de este sistema ante señales de prueba tipo escalón unitario. Proponga especificaciones de diseño en el sentido de mejorar la respuesta obtenida. En el sistema real, ¿qué variable de proceso se escoge como variable de medición?. Basados en la salida o medición propuesta, diseñe diversos tipos de compensadores para este sistema, los cuales permitan satisfacer las especificaciones deseadas. In- cluya compensadores PI y PID obtenidos por el método de Ziegler-Nichols de respues- ta crítica y el método de Ziegler-Nichols de respuesta temporal (no estudiado aquí). Compare, por medio de simulaciones numéricas, el desempeño de los diferentes reg- uladores obtenidos. () 5.7 RESUMEN DEL CAPÍTULO Y LECTURAS ADICIONALES 147 Ejercicio 5.8: Simulación de los actuadores y sensores en el tanque reactor continuamente agitado Analice el tipo y ubicación de los sensores y actuadores en el sistema presentado anteriormente. Emule el sistema con todos los componentes propuestos. Incluya la información de la dinámica de los actuadores y sensores en los diseños realizados. Utilice Matlab (R) para realizar las simulaciones. Ayuda: Investigue en la literatura de control de procesos e instrumentación las diferentes características técnicas de sensores y actuadores utilizados para este tipo de procesos industriales. () Ejercicio 5.9: Estudio del sistema de suspensión magnética en Matlab (R). Región de atracción. Estudie nuevamente el ejemplo Matlab 5.1. Estudie el comportamiento del sis- tema no lineal en lazo cerrado para diferentes valores de Kc y diferentes condiciones iniciales. Cambie de manera adecuada la ubicación del cero y del polo dados. Estudie la forma en que cambian los resultados y diga ¿qué compensador aparentemente da los mejores resultados? Nota: Esta pregunta no tiene una sola respuesta, de hecho posiblemente no tenga una respuesta adecuada en el senti- do general, la significancia de la frase “mejores resultados” solo depende del dis- eñador! Nuestro enfoque hasta ahora no ha incluido, por ejemplo, índices de desem- peño que permitan hacer comparaciones entre diferentes controladores sobre una base analítica. A pesar de lo extenso del tema y de los diferentes matices que puede tomar en la literatura, dejaremos al lector que ahonde por si mismo en estos delica- dos temas. Por ahora, dependeremos más de su intuición y de su experiencia en el diseño de controladores lineales. Un problema interesante conectado directamente con la variación de las condi- ciones iniciales es la determinación de la región de atracción. Definiremos informal- Región de atracción mente a la región de atracción alrededor de un punto de equilibrio dado como el conjunto (compacto y conexo) de condiciones iniciales para las cuales las trayecto- rias del sistema tienden asintóticamente a dicha posición de equilibrio. Estudie el sistema de suspensión magnética en lazo cerrado con el compensador por adelanto para Kc = 20, determine la región de atracción. Ayuda: Este problema se resuelve numéricamente. Una técnica utilizada es hacer simulaciones en reverso a partir de condiciones iniciales (estables) muy cercanas a la pposición de equilibrio. Una ref- erencia que puede investigar sobre este tópico es la siguiente: [por agregar] ( ) 5.7. Resumen del capítulo y Lecturas adicionales Con este capítulo termina el estudio de compensadores lineales para sis- temas no lineales. Hemos visto dos tipos de leyes de control basadas en la medición de una o varias variables del sistema: la primera basada en el di- seño de observadores dinámicos de estado y la presentada en este capítulo basada en la síntesis de compensadores clásicos. Los ejemplos presentados ilustran brevemente algunos procedimientos de diseño bien conocidos en la llamada teoría clásica de control. Nuestra intención fue extender los con- ceptos desarrollados en el espacio de estados para el caso no lineal al caso 148 SÍNTESIS DE COMPENSADORES CLÁSICOS de diseño de compensadores lineales. Nótese que aquí resultan igualemente importantes los conceptos de punto de equilibrio y de variables incremen- tales, vistos desde el principio de este texto. Lecturas Recomendadas Para esta parte le sugerimos consulte: 1. G.F. Franklin, J. David Powell, A. Emami-Naeini, Feedback Control of Dynamic Systems, 3ra. Edición, Addison-Wesley, 1994. 2. K. Ogata, Modern Control Engineering, Prentice Hall, 1993. 3. S. Bahram, M. Hassul, Control System Design using Matlab, Prentice Hall, Englewood Cliffs, New Jersey, 1995. E diseño robusto de compensadores para sistemas de control realimen- tado, basado en desarrollos modernos fundamentados en factorizaciones co- primas y en el uso de la ecuación diofantina o de Bezout, a partir del algo- ritmo de Euclides, se puede conseguir en: J.C. Doyle, B.A. Francis and A.R. Tannenbaum, Feedback Control The- ory, Macmillan, New York, 1992, [DFT92]. Una excelente introducción a este tópico, fácil de seguir y con buena cantidad de ejemplos. M. Vidyasagar, Control SystemSynthesis, MIT Press, Cambridge, MA, 1987, [Vid87]. Para avanzar en profundidad en el tema. Verdadera- mente un clásico, de lectura relativamente más dificil que el anterior, pero con innumerables resultados y extensiones al casom multivari- able. Parte II Control No Lineal de Sistemas No Lineales: Linealización Extendida 149 150 CONTROL NO LINEAL DE SISTEMAS NO LINEALES: LINEALIZACIÓN EXTENDIDA Desde los años 40, el uso de la técnica de linealización aproximada ha permitido resolver una gran diversidad de problemas relacionados con el control de sistemas reales. Sin embargo, esta estrategia presenta algunas restricciones fundamentales en su aplicación. Para resolver estos inconve- nientes, se han propuesto diferentes extensiones del método, estas exten- siones incluyen aspectos teóricos fundamentales relacionados con diversas áreas de la matemática, tales como la teoría de operadores, el análisis fun- cional, el álgebra y la geometría diferencial, por ejemplo. Básicamente, emplearemos dos métodos para ilustrar el diseño de con- troladores no lineales para sistemas no lineales: el método de la lineali- Linealización extendida y Linealización exacta zación extendida, propuesta por Wilson Rugh y sus colaboradores [BR86, WR87, Rug91], y el método de la linealización exacta, propuesto, entre otros, por A. Isidori [Isi95], cuyos orígenes se pueden encontrar en los tra- bajos de H. J. Sussmann y V. J. Jurdjevic [SJ72], R. Hermann y A. J. Krener [HK77], etc. El método de la linealización extendida se basa en la técnica de la linea- lización aproximada, ya expuesta en la primera parte. En esta presentación, la linealización extendida constituye un “paso intermedio” (al nivel de com- plejidad de estudio y de herramientas matemáticas involucradas) entre la linealización aproximada y la exacta. Este método está estrechamente vin- culado al problema de “asignación de ganancias” (gain scheduling en in- glés) de un controlador de acuerdo a los diferentes puntos de operación del sistema, esta técnica ha sido muy usada en la práctica desde la Segunda Guerra Mundial [RS00]. El método de la linealización extendida constituye un enfoque analítico que se basa en la familia de linealizaciones del sistema no lineal, para- Familia de modelos lineales parametrizados metrizada respecto a puntos de equilibrio genéricos (X(U), Y (U), U). Las ganancias de realimentación no lineal del vector de estado se calculan de tal manera que los autovalores del sistema linealizado en lazo cerrado se colocan en valores específicos del plano complejo y tales que, al mismo tiem- po, sean invariantes para todos los puntos de operación constantes en lazo cerrado en una vecindad del punto de operación constante nominal en lazo cerrado. Dicho de otra manera, el controlador no lineal obtenido es tal que al linealizarlo alrededor del punto de equilibrio dado, obtenemos el contro- lador lineal estabilizante del sistema linealizado. La técnica se extiende fá- cilmente al caso de diseño por realimentación del vector de salidas a través de observadores y compensadores estáticos. Estrategias de control no lineales Esta parte está organizada de la siguiente manera. En el capítulo 6 ver- emos cómo diseñar una ley de realimentación no lineal del vector de estado. El diseño de observadores y compensadores dinámicos no li- neales por linealización extendida será tratado, respectivamente, en los capítulos 7 y 8. El método de la linealización exacta será estudiado posteriormente en la Parte III de este libro. 6 Realimentación no lineal del vector de estado Foto Introduciremos el método de la Linealización Extendida para el di- seño de controladores basados en la realimentación no lineal del vector de estado. 6.1. Introducción Como hemos visto, un enfoque de diseño típico en el control de sistemas no lineales es obtener la linealización (Jacobiana) del sistema alrededor de un punto de equilibrio, diseñar los esquemas de control para el sistema linealizado obtenido y someter al sistema no lineal a la estrategia lineal de control definida. Si bien ha resultado provechosa en un gran número de aplicaciones, la linealización aproximada presenta algunos inconvenientes. Inconvenientes de la linealización aproximada Por un lado, su efectividad se limita a una región “pequeña” del espa- cio de estados de tal forma que, a partir de condiciones iniciales alejadas 151 152 REALIMENTACIÓN NO LINEAL DEL VECTOR DE ESTADO de la posición de equilibrio, el sistema de control puede ser inestable o, simplemente, puede fallar en estabilizar el sistema alrededor del punto de operación deseado. Por otro lado, existen sistemas que pueden operar bajo diferentes condi- ciones de funcionamiento, esto es, pueden presentar comportamientos en diferentes regiones de operación asociados con diferentes puntos de equili- brio. Al establecer la ley de control para el sistema linealizado no estamos considerando la posibilidad de que el punto de operación actual del sistema no lineal controlado cambie su ubicación a un punto diferente, en algún instante del tiempo. Una estrategia de control lineal implantada en el sistema no lineal origi- nal debería tomar en cuenta estas limitaciones de los modelos linealizados. Una posible metodología a seguir implica: a) recalcular las leyes de control originalmente diseñadas y obtener las ganancias K i del controlador para cada sistema linealizado resultante de cada punto de equilibrio, y b) disponer de un mecanismo de asignación (programación) de los valo- res K de acuerdo al punto actual de operación. No podemos olvidar, además, que el sistema linealizado debe ser estabiliz- able (para que el diseño del controlador sea factible) y detectable (necesario para el diseño del observador), aunque, como veremos en capítulos poste- riores, no permite asegurar que estas condiciones no son necesarias para el caso del sistema no lineal (Ver Parte III, sobre la Linealización Exacta). Esquemas de programación de ganancias o gain scheduling. El es- quema de asignación o programación de ganancias, e.a.g. (gain scheduling, en inglés) constituye la estrategia más comúnmente empleada para tomar en cuenta los puntos a),b) descritos antes. Existen diferentes enfoques de diseño que se pueden catalogar como esquemas de programación de ganan- cias, ver, por ejemplo, [RS00]. Nosotros consideraremos como tal, el siguien- te procedimento. Conociendo las diferentes condiciones de operación del sistema no lineal, Esquema de programación de ganancias (gain scheduling) se obtienen las linealizaciones particulares y las leyes de control asociadas alrededor de los puntos de equilibrio. Mediante un mecanismo ad hoc de interpolación de las leyes de control lineal obtenidas — la parte más difí- cil de definir en esta estrategia —), se ajustan las ganancias o parámetros del controlador en función de la región actual de operación del sistema. En otros términos, los parámetros del diseño son ajustados de acuerdo a ciertas variables seleccionadas del sistema para obtener el diseño linealizado ade- cuado cuando el sistema no lineal opera alrededor de un punto de equilibrio particular. Estudiaremos a continuación un método de naturaleza no lineal, equi- valente en cierta medida al esquema de programación de ganancias, cf. [Rug91, RS00], llamado método de linealización extendida. 6.1 INTRODUCCIÓN 153 En contraposición a los mecanismos empíricos existentes en la prácti- ca del e.a.g., la linealización extendida, como metodología de diseño, posee propiedades muy interesantes desde el punto de vista de ingeniería: propone un enfoque sistemático para el diseño de controladores, posee una formulación analítica, y constituye una extensión no lineal del método de la linealización aproxi- mada. El método de la linealización extendida. Este método utiliza la linea- lización aproximada tradicional como herramienta fundamental. El modelo utilizado para generar el diseño del controlador es un modelo obtenido so- bre la base de los primeros términos (de carácter lineal) de una expansión en serie de Taylor de un sistema no lineal que opera en la vecindad de un punto de operación constante. En este caso, la diferencia radica en que en lugar de obtener un modelo linealizado para un punto en particular, se pro- cede a obtener el modelo parametrizado de carácter lineal para un punto de Punto de operación genérico operación genérico (X(U), Y (U), U) de naturaleza arbitraria 1 . Esta parametrización se calcula bajo la suposición de que existe un con- tinuum de puntos de operación en el espacio de entrada-estado (o en el espacio entrada-salida correspondiente) asociado a cada valor constante del control y del estado (y de la salida, respectivamente). En su defecto, tal parametrización puede asociarse a los valores de una magnitud de referen- cia (constante) del sistema en lazo cerrado. El resultado fundamental obtenido a partir de esta estrategia consiste en la obtención de una familia de modelos lineales parametrizados, válidos Modelos lineales parametrizados en primera aproximación, respecto a puntos de operación deseados. Esta familia de modelos ofrece una descripción del comportamiento de las per- turbaciones de estado-entrada (o salida-entrada) explícitamente parametri- zada en términos de un valor constante U de la entrada o del algún estado de interés (o de salida). A partir de esta familia de modelos, el método de la linealización exten- dida propone inicialmente obtener un controlador lineal por realimentación Basado en el diseño del controlador lineal del vector de estado, o una combinación de observador-controlador o, inclu- so, un compensador clásico obtenido por métodos inherentes a la descrip- ción por funciones de transferencia. De esta forma, el compensador lineal obtenido se encuentra también parametrizado por el punto de operación y estabiliza, en principio, a cualquier representante de la familia de modelos lineales obtenidos en la etapa inicial del diseño. A continuación del diseño lineal se presenta la parte más importante de este método: la obtención del controlador no lineal. La idea crucial del método está basada en: 1 De allí nuestra insistencia en tal hecho a lo largo del capítulo 1. 154 REALIMENTACIÓN NO LINEAL DEL VECTOR DE ESTADO Proponer un controlador de carácter no lineal cuya linealización alrededor del punto de opera- ción coincide con el controlador lineal diseñado para la familia de modelos lineales parametri- zados por el punto de operación. Naturalmente, en este último paso del proceso de diseño, se pueden obtener, en general, infinitas soluciones al problema de inversión planteado. La ventaja fundamental del método de la linealización extendida es que, a la par de retener el significado físico de las variables linealizadas 2 , se lo- gra una “programación automática de las ganancias” del compensador, tan- to a nivel del observador como del controlador; un hecho que, como hemos mencionado, está intimamente ligado a los esquemas de programación de ganancias. Es preciso apuntar dos aspectos importantes. Primeramente, el méto- do de la linealización extendida abre las posibilidades de utilizar métodos clásicos de diseño para los compensadores mediante técnicas tradicionales de entrada-salida (al menos en el caso de una sola entrada y una sola sali- da); el caso de controladores PID constituye el ejemplo clásico y fundamen- talmente interesante dentro de las posibilidades del método. Por otro lado, para sistemas de dimensión considerable, el método de la linealización ex- tendida es factible gracias a la utilización de herramientas computacionales de cálculo simbólico tales como los representados por los paquetes MAPLE, MATHEMATICA, REDUCE ó MACSYMA. 6.2. Realimentación no lineal basada en asignación de polos invariantes en familias de modelos parame- trizados Supondremos que el sistema no lineal a ser controlado se puede describir mediante un conjunto de ecuaciones diferenciales analíticas a parámetros constantes. Considere el sistema: ˙ x = f(x, u) (6.1) donde f(·, ·) : R n × R → R es una función analítica, es decir, desarrollable en serie de Taylor alrededor de un punto de equilibrio. Sea u = U un punto de operación (equilibrio) constante y sea X(U) el vector de estado correspondiente a este punto de operación, entonces: ˙ X(U) = f(X(U), U) = 0 (6.2) Asumamos que la ley de realimentación del control se escribe como u = −k(x) , 2 Posteriormente compararemos con el método de la linealización exacta, en donde nece- sariamente hay que acudir a transformaciones de coordenadas de estado ó del espacio de los controles que pueden destruir el significado físico de las variables originales. 6.2 REALIMENTACIÓN NO LINEAL BASADA EN ASIGNACIÓN DE POLOS INVARIANTES EN FAMILIAS DE MODELOS PARAMETRIZADOS 155 por lo tanto, el sistema en lazo cerrado satisface ˙ x(t) = f(x(t), −k(x(t)) Debido a que este sistema ha de tener el mismo punto de operación cons- tante del sistema (6.1), debe cumplirse f(X(U), −k(X(U)) = 0 (6.3) es decir, −k(X(U)) = U La solución de X(U) obtenida a partir de (6.3) coincidirá con la solución resultante de la ecuación (6.2). En virtud del teorema de la función implícita, si existe la solución x(U) del sistema de ecuaciones (6.3), la misma es única sí y solamente sí la ma- triz jacobiana de (6.3), respecto de X(U), es invertible en el punto de opera- ción. Por lo tanto, esta condición está dada por la invertibilidad de ∂f(x, −k(x)) ∂x = ∂f(x, u) ∂x ¸ ¸ ¸ ¸ X(U),U + ∂f(x, u) ∂u ¸ ¸ ¸ ¸ X(U),U _ − ∂k(x) ∂x ¸ ¸ ¸ ¸ X(U),U _ Esta última expresión se puede interpretar como el hecho de que la El sistema linealizado NO debe tener autovalores en el origen linealización del sistema en lazo cerrado, alrededor de su punto de equi- librio, no debe tener autovalores en el origen. Es suficiente, entonces, que la linealización del sistema en lazo cerrado tenga sus autovalores en el semi- plano izquierdo. Para ello, la ley de control del sistema linealizado u δ = _ − ∂k(x) ∂x ¸ ¸ ¸ ¸ X(U),U _ x δ debe ser capaz de colocar los autovalores del sistema linealizado ˙ x δ = ∂f(x, u) ∂x ¸ ¸ ¸ ¸ X(U),U x δ + ∂f(x, u) ∂u ¸ ¸ ¸ ¸ X(U),U u δ donde x δ = x(t) −X(U) y u δ = u(t) −U en el semiplano izquierdo. Designaremos las siguientes matrices jacobianas mediante A(U), B(U) y K(U): A(U) = ∂f(x, u) ∂x ¸ ¸ ¸ ¸ X(U),U ; B(U) = ∂f(x, u) ∂u ¸ ¸ ¸ ¸ X(U),U ; K(U) = ∂k(x) ∂x ¸ ¸ ¸ ¸ X(U),U En tanto el sistema linealizado presente autovalores independientes del punto de operación (X(U), U), la “calidad” de la respuesta controlada en la 156 REALIMENTACIÓN NO LINEAL DEL VECTOR DE ESTADO vecindad del punto de equilibrio que se desea mantener es, por así decir- lo, invariante. Esta propiedad es útil pues de alguna manera homogeneiza las propiedades cualitativas del diseño en forma independiente al punto de equilibrio considerado. Debemos, entonces, demostrar que existe una función analítica k(x) tal que los autovalores de la matriz [A(U) −B(U)K(U)] pueden ser pre-especificados de tal manera que sean independientes del punto de operación U. Dichos autovalores, sin embargo, no pueden ser cero, Los autovalores del sistema en lazo cerrado deben ser independientes de la parametrización por la razones que acabamos de exponer, y deben ocurrir en pares complejos conjugados si su parte imaginaria es no nula. Para proceder supondremos que el par (A(U), B(U)) es controlable. En- tonces, (A(·), B(·)) también es controlable en cualquier vecindad pequeña de U en la recta real. Esta propiedad es consecuencia de que las componentes a ij (resp. b ij ) de A(U) (resp. de B(U)) son continuas respecto de la variable U. A partir del par (A(U), B(U)) y de la dinámica deseada del sistema li- neal en lazo cerrado, la ganancia de realimentación lineal K(U) se puede calcular utilizando, por ejemplo, la fórmula de Bass-Gura, ya antes expues- ta en la sección 3.4 (página 75), o mediante la fórmula de Ackermann. Ver, por ejemplo, [Kai80, FPEN94]. 6.3. Controlador no lineal basado en linealización ex- tendida Nuestra discusión deriva en el siguiente teorema de existencia de la fun- Existencia del control u = −k(x) ción u = −k(x), base del método de la linealización extendida, el cual fue presentado originalmente en [BR86]: Teorema 6.1: Supóngase que el sistema analítico dx/dt = f(x, u) es tal que (A(U), B(U)) es un par controlable, entonces existe una ganancia o función de realimentación no lineal k(·) : R n → R, tal que los auto- valores del sistema lineal en lazo cerrado, i.e., los autovalores de la matriz [A(U) −B(U)K(U)], tienen valores pre-especificados cualesquiera, los cuales son localmente invariantes con respecto a U. Prueba: La prueba se divide esencialmente en dos pasos. Primero demostraremos que dX(U)/dU = 0. Esta cualidad será útil en el segundo paso de la prueba, para poder establecer una función k(·) defini- da de tal forma que la linealización de u = −k(x) resulta en u δ = −K(U)x δ . Se puede suponer que A(U) es invertible. Si no lo es, podemos sin em- bargo hacer todos los autovalores de ∂f ∂x = ∂f(x, u) ∂x + _ ∂f ∂u _ _ − ∂k ∂x _ 6.3 CONTROLADOR NO LINEAL BASADO EN LINEALIZACIÓN EXTENDIDA 157 distintos de cero mediante realimentación previa del vector de estado y, por lo tanto, la matriz A(U) = ∂f/∂x| U,X(U) sería invertible. Considere (6.2). La derivada parcial de esta expresión está dada por: ∂ ∂U f(X(U), U) = ∂f ∂x ¸ ¸ ¸ ¸ X(U),U ∂X(U) ∂U ¸ ¸ ¸ ¸ U + ∂f ∂u ¸ ¸ ¸ ¸ X(U),U = 0 Por lo tanto, de la invertibilidad de A(U), resulta: dX(U) dU ¸ ¸ ¸ ¸ U = − _ ∂f ∂x ¸ ¸ ¸ ¸ X(U),U _ −1 ∂f ∂u ¸ ¸ ¸ ¸ X(U),U = 0 Por conveniencia, supondremos que la primera componente X 1 del vec- En la demostración se utilizan herramientas tales como el teorema de la función implícita tor X satisface dX 1 /dU = 0. Si no es así, el vector de estados se puede reordenar para que esta propiedad se cumpla. En virtud del teorema de la función inversa tendremos X −1 1 (x 1 ) = U. La ganancia no lineal a buscar debe satisfacer: ∂k ∂x ¸ ¸ ¸ ¸ X(U) = K(U) = [K 1 (U), . . . , K n (U)] (6.4) k(X(U)) = −U (6.5) Se puede verificar que una ganancia no lineal k(x) que cumple con (6.4) y (6.5) está dada por: k(x) = _ X −1 1 (x1) U K(σ) dX(σ) dσ dσ + _ _ n j=2 K j [X −1 1 (x 1 )](x j −X j (X −1 1 (x 1 ))) _ _ −X −1 1 (x 1 ) (6.6) donde el subíndice j indica la j-ésima componente. En efecto, diferenciando k(x) con respecto a x i , i = 2, 3, . . . , n, y evaluando en X(U) se tiene: ∂k ∂x i (X(U)) = K i (X −1 1 (x 1 (U))) = K i (U); i = 1, . . . , n Procediendo en forma similar con respecto a x 1 , obtenemos primeramen- te por derivación directa de la expresión (6.6): ∂k ∂x 1 = n j=1 K j (σ) dX j (σ) dσ ¸ ¸ ¸ ¸ ¸ ¸ X −1 1 (x1) dX −1 1 (x 1 ) dx 1 − n j=2 K j (X −1 1 (x 1 )) dX j (X −1 1 (x 1 )) dX −1 1 (x 1 ) dX −1 1 (x 1 ) dx 1 − dX −1 1 (x 1 ) dx 1 158 REALIMENTACIÓN NO LINEAL DEL VECTOR DE ESTADO Evaluando esta expresión en el punto X −1 1 (x 1 ): ∂k ∂x 1 ¸ ¸ ¸ ¸ X −1 1 (x1) = n j=1 K j (X −1 1 (x 1 )) dX j (X −1 1 (x 1 )) dX −1 1 (x 1 ) dX −1 1 (x 1 ) dx 1 − n j=2 K j (X −1 1 (x 1 )) dX j (X −1 1 (x 1 )) dX −1 1 (x 1 ) dX −1 1 (x 1 ) dx 1 − dX −1 1 (x 1 ) dx 1 = K 1 (X −1 1 (x 1 )) dX 1 (X −1 1 (x 1 )) dX −1 1 (x 1 ) dX −1 1 (x 1 ) dx 1 − dX −1 1 (x 1 ) dx 1 = K 1 (X −1 1 (x 1 )) − dX −1 1 (x 1 ) dx 1 Particularizando la última expresión respecto a U = X −1 1 (x 1 ) se tiene: ∂k ∂x 1 (X(U)) = K 1 (U) Finalmente, se puede constatar fácilmente que la expresión (6.6), satis- face además la condición de contorno impuesta en (6.5). Con lo cual termi- namos la demostración. Como hemos mencionado, el teorema anterior solo demuestra la existen- cia, por lo tanto, la expresión resultante para el término k(x) no es única; la solución que hemos obtenido es específica del procedimiento utilizado en la demostración del teorema anterior. Esto no significa que el método tenga esta característica como parte de un inconveniente, muy por el contrario, la inmensa posibilidad de soluciones diferentes que pueden proponerse a este problema nos puede hacer comedidos respecto a la solución particular que adoptemos finalmente. Esto será ilustrado a través de los ejemplos que siguen a continuación. 6.4. Ejemplos de diseño En muchos de los ejemplos que presentaremos hemos adoptado como solución particular de la ley de control realimentada, obtenida por lineali- zación extendida, aquella que produce un efecto “linealizante” sobre el sis- tema en lazo cerrado. Debido a que la fórmula general (6.6) puede conducir a expresiones muy complicadas, nos concentraremos en resolver las ecua- ciones (6.4) y (6.5) de alguna forma plausible e instrumentalmente sencilla. Nota: al momento de calcular la solución de (6.4) en los ejemplos que siguen a continuación, con un ligero abuso de notación, hemos considerado indis- tintamente la variable de estado x y su valor de equilibrio asociado X; hemos procedido igualmente para el caso del control u. Matlab 6.1: Control de posición angular de un satélite mono-axial Consideremos el problema de orientación de un satélite monoaxial, ver Modelo 5, en la página 10, 6.4 EJEMPLOS DE DISEÑO 159 cuyo ángulo de orientación se mide respecto de un eje oblicuo utilizando el parámetro de Cayley- Rodrigues. El modelo de este sistema está dado por: ˙ x 1 = 0,5(1 +x 2 1 )x 2 ˙ x 2 = 1 J u (1.10*) El punto de equilibrio del sistema está dado por: u = U = 0; x 2 = 0; x 1 = X (6.7) (Como recordaremos, solo es posible hacer la parametrización con respecto a la orientación an- gular X de equilibrio.) Linealizando el sistema alrededor del punto de equilibrio tenemos: _ ˙ x 1δ ˙ x 2δ _ = _ 0 0,5(1 +X 2 ) 0 0 _ _ x 1δ x 2δ _ + _ 0 1 J _ u δ (6.8) Propongamos la siguiente ley de control lineal, cuyas ganancias dependen del valor constatnte X del punto de equilibrio, u δ = −K 1 (X)x 1δ −K 2 (X)x 2δ (6.9) El sistema (6.8) en lazo cerrado se transforma en: Diseño del control para el sistema linealizado _ ˙ x 1δ ˙ x 2δ _ = _ 0 0,5(1 +X 2 ) − K 1 (x) J − K 2 (x) J _ _ x 1δ x 2δ _ (6.10) El polinomio característico en lazo cerrado del sistema linealizado se obtiene inmediatamente de (6.10): p(s) = s 2 + K 2 (X) J s + 0,5(1 +X 2 )K 1 (X) J Si deseamos imponer al sistema controlado un comportamiento independiente del punto de operación buscamos ganancias K 1 (X), K 2 (X) que hagan al polinomio característico independi- ente de X. En efecto, sea p d (s) un polinomio característico deseable e independiente del punto de operación: p d (s) = (s +a 1 )(s +a 2 ) = s 2 + (a l +a 2 )s +a 1 a 2 donde −a 1 y −a 2 son raíces en el semiplano izquierdo del plano complejo que se suponen dan al sistema linealizado un comportamiento deseable. Al igualar p(s) y p d (s) se obtiene: K 2 (X) = K 2 = J(a 1 +a 2 ) K 1 (X) = Ja 1 a 2 1 +X 2 (6.11) Obtenemos así un sistema en lazo cerrado cuyo comportamiento es independiente del punto de operación X. La ley de control linealizada, parametrizada en términos de X, dada por (6.9) y (6.11): u δ = − Ja 1 a 2 1 +X 2 x 1δ −J(a 1 +a 2 )x 2δ (6.12) El método de la linealización extendida se basa en contestar acertadamente la siguiente pre- gunta: Principio de la linealización extendida ¿Cuál sería el controlador no lineal u = −k(x) tal que al linealizarlo alrededor del punto de equilibrio resulta en el controlador obtenido por diseño lineal aproximado? Este controlador ha de ser tal que estabilice el sistema en el punto de equilibrio dado por (6.7). Previamente a cualquier particularización de las variables de estado, la función de control debe satisfacer el siguiente par de ecuaciones en derivadas parciales, ver (6.4), ∂k ∂x 1 ¸ ¸ ¸ ¸ x 1 =X;x 2 =0 = Ja 1 a 2 1 +X 2 (6.13) ∂k ∂x 2 ¸ ¸ ¸ ¸ x 1 =X;x 2 =0 = J(a 1 +a 2 ) (6.14) 160 REALIMENTACIÓN NO LINEAL DEL VECTOR DE ESTADO j j - - - ? - 6 - 6 tan −1 (·) tan −1 (·) J(a 1 +a 2 ) Ja 1 a 2 ˙ x 1 = 0,5(1 +x 2 1 )x 2 ˙ x 2 = 1 J u x 2 x 1 − − u − + X Figura 6.1: Esquema de control no lineal obtenido para el satélite mono-axial y la condición de contorno (6.5) k(X, 0) = 0 (6.15) Procedamos como sigue. Al integrar la expresión (6.14) resulta: k(x) = _ x 2 0 J(a 1 +a 2 )dσ +µ(x 1 ) = J(a 1 +a 2 )x 2 +µ(x 1 ) donde µ(x 1 ) es una función arbitraria de x 1 que debemos determinar. Usando la expresión obteni- da en (6.14) en derivadas parciales, se tiene: d dx 1 µ(x 1 ) = Ja 1 a 2 1 +X 2 de donde inmediatamente surge como posible solución general: µ(x 1 ) = _ x 1 X Ja 1 a 2 1 +σ 2 dσ = Ja 1 a 2 [tan −1 (x 1 ) −tan −1 (X)] El controlador así obtenido satisface la condición de contorno (6.4) impuesta por el punto de equilibrio U = 0 del control u: u = −J(a 1 +a 2 )x 2 −Ja 1 a 2 [tan −1 (x 1 ) −tan −1 (X)] Hemos obtenido, por tanto, un controlador no lineal que responde al esquema mostrado en la figura 6.1. Este controlador estabiliza al sistema alrededor del punto de equilibrio (X, U) y sirve para cualquier cambio brusco del punto de equilibrio deseado X, sin necesidad de reprogramar las ganancias. A continuación vamos a simular en Matlab (R) el comportamiento del sistema controlado en lazo cerrado. Los Listados 6.2 y 6.3, al final del capítulo, permiten obtener las gráficas correspon- dientes al comportamiento de los estados x y de la señal de control u, mostrados en la Figura 6.2. De la simulación presentada en la Figura 6.2 se puede observar que el torque necesario para realizar el control del sistema debe ser significativo (del orden de 20 N·m). En la práctica, los torques externos empleados son mucho menores, digamos de unos 5 N·m. La simulación de la Figura 6.3 muestra el comportamiento del mismo sistema pero sujeto a una saturación en amplitud del control externo a aplicarse. El valor máximo del torque en la simulación se ha escogido, precisamente, de U m´ax = 5 ·N-m. El efecto de tal limitación o sat- uración resulta en una disminución de la velocidad angular máxima alcanzada por el artefacto y una respuesta relativamente más lenta. Para efectos de comparación, se han sobrepuesto los resultados de la simulación del sistema controlado sin saturar el torque externo, los cuales están representados mediante una línea a tra- zos - - - (ver Figura 6.3). Las modificaciones realizadas a los programas (ejext1b.m y sejext1b.m) 6.4 EJEMPLOS DE DISEÑO 161 Figura 6.2: Comportamiento del satélite mono-axial controlado mediante realimentación no lineal del vector de estados basada en linealización extendida 162 REALIMENTACIÓN NO LINEAL DEL VECTOR DE ESTADO Figura 6.3: Comportamiento del satélite mono-axial controlado por linealización exten- dida, limitando la señal de control mediante U m´ax —-; sin limitar - - - j j - - - - 6 ? - 6 - tan −1 (·) tan −1 (·) x 2 x 1 − + X Ja 1 a 2 J(a 1 +a 2 ) − − u u l´ım ˙ x 1 = 0,5(1 +x 2 1 )x 2 ˙ x 2 = 1 J u U m´ax −U m´ax Figura 6.4: Esquema de control no lineal obtenido para el satélite mono-axial con ley de control limitada por el valor U m´ax 6.4 EJEMPLOS DE DISEÑO 163 se muestran en los Listados 6.4 y 6.5 (al final del capítulo, páginas 176–177). El diagrama de blo- ques correspondiente a este sistema de control realimentado, con una ley de control limitada a un valor máximo, se presenta en la Figura 6.4. Ejemplo 6.1: [BR86] Balance del péndulo invertido sobre un móvil: apli- cación de la fórmula (6.6) Considere el problema de balancear un péndulo invertido montado sobre un móvil, Modelo 27, en la página 112. El sistema estudiado está dado por la expresión (4.47), la cual repetiremos aquí: ˙ x 1 = x 2 ˙ x 2 = g sen(x 1 ) −0,5a mLx 2 2 sen(2x 1 ) −a cos(x 1 )u 4L/3 −amLcos 2 (x 1 ) (4.47*) El punto de equilibrio genérico de este sistema están dados por: X(U) = _ tan −1 ( aU g ) 0 _ La linealización del sistema alrededor del punto de equilibrio resulta ˙ x δ = _ 0 1 h(U) 0 _ x δ + _ 0 − ah(U)g a 2 U 2 +g 2 _ u δ donde: h(U) = _ a 2 U 2 +g 2 4L 3 − amLg 2 (a 2 U 2 +g 2 ) Utilizando la fórmula de Bass-Gura, página 75, obtenemos el siguiente controlador lineal: ∂k ∂x ¸ ¸ ¸ ¸ X(U) = K(U) = − a 2 U 2 +g 2 agh(U) [e 1 e 2 +h(U) −(e 1 +e 2 )] donde e 1 y e 2 son los autovalores (reales) deseados en lazo cerrado (sistema de segundo orden). Vamos a evaluar explítamente a k(x) mediante la expresión (6.6): k(x) = _ X −1 1 (x 1 ) 0 K(U) dX(U) dU dU +K 2 [X −1 1 (x 1 )](x 2 −x 2 (X −1 1 (x 1 ))) −X −1 1 (x 1 ) Puesto que U = X −1 1 (x 1 ) = g a tan(x 1 ), se obtiene u = −k(x 1 , x 2 ) = g a tan(x 1 ) + 4Le 1 e 2 3a log[sec(x 1 ) + tan(x 1 )] +e 1 e 2 mLsen(x 1 ) − (e 1 +e 2 ) a x 2 _ 4L 3 sec(x 1 ) −amLcos(x 1 ) _ (6.16) donde ‘log’ indica logaritmo neperiano. Matlab 6.2: Control de un manipulador robótico de una sola unión rígida El modelo simplificado de un manipulador robótico, Modelo 9, en la página 15, está dado por: ˙ x 1 = x 2 ˙ x 2 = − B J x 2 − c J sen _ x 1 N _ + 1 J u (1.21*) La linealización del sistema alrededor del punto de equilibrio (1.23), x(U) = [x 1 (U), x 2 (U)] T = [X(U), 0] T = [N sen −1 _ U c _ , 0] T , u = U, resulta: _ ˙ x 1δ ˙ x 2δ _ = _ 0 1 − c NJ _ 1 − U 2 c 2 − B J _ _ x 1δ x 2δ _ + _ 0 1 J _ u δ 164 REALIMENTACIÓN NO LINEAL DEL VECTOR DE ESTADO El controlador lineal estabilizante por realimentación del vector de estado, de ganancias parametrizadas en términos de U, está dado por: u δ = −K 1 (U)x 1δ −K 2 (U)x 2δ Sistema en lazo cerrado: _ ˙ x 1δ ˙ x 2δ _ = _ 0 1 − c NJ _ 1 − U 2 c 2 − 1 J K 1 (U) − B J − 1 J K 2 (U) _ _ x 1δ x 2δ _ Polinomio característico del sistema: p(s) = s 2 + _ B J + K 2 (U) J _ s + 1 J _ _ c N ¸ 1 − U 2 c 2 +K 1 (U) _ _ Se igualan los coeficientes de este polinomio a los de un polinomio deseado de la forma: p d (s) = s 2 + 2ζωns +ω 2 n Ganancias del controlador lineal: K 1 (U) = Jω 2 n − c N ¸ 1 − U 2 c 2 K 2 (U) = 2Jζωn −B Realimentación lineal por asignación de polos: u δ = − _ _ Jω 2 n − c N ¸ 1 − U 2 c 2 _ _ x 1δ −(2Jζωn −B)x 2δ (6.17) Como ya hemos visto, una vez obtenido el controlador lineal que estabiliza a toda la familia de modelos lineales parametrizados por el punto de equilibrio, debemos proceder a buscar un controlador no lineal, de la forma u = −k(x), cuya linealización coincida con (6.17). Tal controlador debe satisfacer ∂k(x) ∂x 1 ¸ ¸ ¸ ¸ [X(U),0] T ,U = Jω 2 n − c N ¸ 1 − U 2 c 2 ∂k(x) ∂x 2 ¸ ¸ ¸ ¸ [X(U),0] T ,U = 2Jζωn −B (6.18) con la condición de contorno: −k([X(U), 0], U) = U. Al integrar la segunda igualdad en (6.18), en virtud de la independencia con respecto al punto de equilibrio, obtenemos: k(x) = (2Jζωn −B)x 2 +µ(x 1 ) donde µ(x 1 ) es una función arbitraria de x 1 . Recordemos que U = c sen _ X N _ . Procedemos a determinar la función µ(x 1 ), utilizando la primera de las relaciones de (6.18), de tal forma que se obtiene: d dx 1 µ(x 1 ) = Jω 2 n − c N _ 1 −sen 2 _ x 1 N _ = Jω 2 n − c N cos _ x 1 N _ Por lo tanto, resulta µ(x 1 ) = Jω 2 n x 1 −c sen _ x 1 N _ + ˜ K donde ˜ K es una constante arbitraria la cual debemos determinar en base a la condición de con- torno (6.5). Es decir, la expresión u = −k(x) = −Jω 2 n x 1 +c sen _ x 1 N _ − ˜ K −(2Jζωn −B)x 2 6.4 EJEMPLOS DE DISEÑO 165 debe satisfacer (6.5) a la luz del punto de equilibrio genérico (1.23). De tal condición se obtiene entonces: ˜ K = −Jω 2 n N sen −1 _ U c _ Así, el controlador no lineal basado en linealización extendida es u = −k(x) = −Jω 2 n _ x 1 −N sen −1 _ U c __ +c sen _ x 1 N _ −(2Jζωn −B)x 2 (6.19) Note que al sustituir la expresión (6.19) en el sistema no lineal original (1.21), se obtiene la siguiente expresión perfectamente lineal para el sistema en lazo cerrado: ˙ x 1 = x 2 ˙ x 2 = −ω 2 n _ x 1 −N sen −1 _ U c __ −2ζωnx 2 El punto de equilibrio del sistema en lazo cerrado es, evidentemente, el punto de equilibrio deseado, parametrizado por el control constante U. El sistema anterior se reescribe, en términos de X, ˙ x 1 = x 2 ˙ x 2 = −ω 2 n (x 1 −X) −2ζωnx 2 A continuación compararemos el comportamiento del sistema en lazo cerrado, mediante sim- ulaciones numéricas, tanto para el controlador no lineal dado por (6.19), como el obtenido a partir del controlador lineal basado en (6.17), el cual tiene la siguiente forma: u = U − _ _ Jω 2 n − c N ¸ 1 − U 2 c 2 _ _ (x 1 −X) −(2Jζωn −B)x 2 = c sen _ X N _ − _ Jω 2 n − c N cos _ X N __ (x 1 −X) −(2Jζωn −B)x 2 (Se toman en cuenta los valores de las variables incrementales.) Tomaremos como valores de los parametros los siguientes: X = 0, N = 1, B = 0,01, J = 0,04, c = ,58, ζ = 0,707, ωn = 8,56. Los Listados 6.6 y 6.7 presentan los programas, ejext2.m y sejext2.m, que permiten simular el comportamiento del sistema no lineal controlado por el regulador no lineal (6.19). Una respuesta típica de este sistema se muestra en la Figura 6.5. La gráfica de la Figura 6.6 muestra las respuestas controladas de la posición angular desde distintas condiciones iniciales que van a groso modo desde -0.5 rad a 0.5 rad. El controlador no lineal tiene éxito completo en estabilizar la posición angular del brazo manipulador robótico alrededor de la posición vertical, dada por X = 0, desde las diferentes posiciones iniciales. Sustituyendo adecuadamente la ley de control no lineal en los programas sejext2.m y sejext2.m podemos simular el comportamiento del brazo en lazo cerrado con la ley de control obtenida por linealización aproximada (6.20). En Matlab (R), solo basta comentar la ley de control no lineal y, a continuación, hacer visible la ley de control lineal. Por ejemplo, en ejext2.m: % ley de control no lineal %u = -J*wn*wn*(x(1) - X) +c*sin(x(1)/N)+.... %(B-2*J*xi*wn)*(x(2)-0); % ley de control lineal u = c*sin(X/N)-(J*wn*wn-c/N*cos(X/N))*(x(1)-X)+.... (B-2*J*xi*wn)*(x(2)-0); Las respuestas del sistema controlado por el regulador lineal (6.20), para diferentes condi- ciones iniciales, se muestran en la figura 6.7. En este ejemplo se puede observar que tanto el controlador no lineal como el lineal tienen éxito en estabilizar el sistema alrededor de la posición vertical desde posiciones significativamente lejanas de tal valor deseado de equilibrio. 166 REALIMENTACIÓN NO LINEAL DEL VECTOR DE ESTADO Figura 6.5: Comportamiento del brazo manipulador robótico controlado por linealización extendida Figura 6.6: Posición angular del brazo manipulador robótico controlado por linealización extendida para diferentes condiciones iniciales 6.4 EJEMPLOS DE DISEÑO 167 Figura 6.7: Posición angular del brazo manipulador robótico para diferentes condiciones iniciales usando una ley de control lineal Ejemplo 6.2: Conductores acoplados magnéticamente: realimentación no lineal basada en linealización extendida Considere el modelo de un sistema de dos conductores acoplados magnéticamente, Modelo 24, en la página 73: ˙ x 1 = x 2 ˙ x 2 = −k(x 1 −L 0 ) + 2iL a −x 1 u (3.13*) El objetivo de este ejemplo es controlar, mediante el paso de corriente, la posición de un conductor móvil dispuesto en forma paralela a otro conductor que transporta una corriente constante. El punto de equilibrio del sistema en términos de la distancia nominal b está dado por, ver (3.14), u = U(b) = k(b −L 0 )(a −b) 2iL ; X 1 (b) = b; X 2 (b) = 0 Linealizando el sistema alrededor de este punto de equilibrio se tiene: _ ˙ x 1δ ˙ x 2δ _ = _ 0 1 − _ k − 2iL (a−b) 2 U(b) _ 0 _ _ x 1δ x 2δ _ + _ 0 2iL a−b _ u δ donde x 1δ = x 1 −b; x 2δ = x 2 ; u δ = u −U(b) Este modelo se puede escribir también como: _ ˙ x 1δ ˙ x 2δ _ = _ 0 1 − _ k a−2b+L 0 a−b _ 0 _ _ x 1δ x 2δ _ + _ 0 2iL a−b _ u δ La controlabilidad del sistema linealizado se establece inmediatamente a partir de la evalu- ación de la matriz C: C = _ 0 2iL a−b 2iL a−b 0 _ =⇒det C = − _ 2iL a −b _ 2 = 0 168 REALIMENTACIÓN NO LINEAL DEL VECTOR DE ESTADO Proponiendo un controlador lineal de la forma u δ = −K 1 (b)x 1δ − K 2 (b)x 2δ , el sistema en lazo cerrado resulta: _ ˙ x 1δ ˙ x 2δ _ = _ 0 1 − _ k a−2b+L 0 a−b _ − 2iL a−b k 1 (b) − 2iL a−b k 2 (b) _ _ x 1δ x 2δ _ El polinomio característico del sistema en lazo cerrado es entonces: p(s) = s 2 +K 2 (b) 2iL a −b s + _ k a −2b +L 0 a −b +K 1 (b) 2iL a −b _ Si deseamos un comportamiento independiente del punto de equilibrio debemos buscar ganan- cias K 1 (b) y K 2 (b) tales que el polinomio característico posea raíces (o coeficientes) independi- entes de b. En efecto, sean −a 1 y −a 2 dos raíces convenientes del plano complejo, debe cumplirse para el sistema en lazo cerrado que: p(s) = s 2 +K 2 (b) 2iL a −b s + _ k a −2b +L 0 a −b +K 1 (b) 2iL a −b _ = s 2 + (a 1 +a 2 )s +a 1 a 2 De donde: K 1 (b) = a −b 2iL _ a 1 a 2 −k a −2b +L 0 a −b _ K 2 (b) = a 1 +a 2 2iL (a −b) con lo que u δ queda perfectamente definida: u δ = − a −b 2iL _ a 1 a 2 −k a −2b +L 0 a −b _ x 1δ − a 1 +a 2 2iL (a −b)x 2δ Note que, para evitar cualquier confusión con los parámetros propios del sistema, la función no lineal asociada al controlador la denotamos aquí mediante κ(·). Nuestro objetivo será encontrar un controlador no lineal u = −κ(x 1 , x 2 ) tal que al linealizarlo, alrededor del punto de equilibrio, se obtenga precisamente el controlador lineal que acabamos de diseñar. El controlador no lineal mencionado debe cumplir entonces las siguientes relaciones: ∂κ ∂x 1 ¸ ¸ ¸ ¸ [x 1 =b,x 2 =0] = a −b 2iL _ a 1 a 2 −k a −2b +L 0 a −b _ ∂κ ∂x 2 ¸ ¸ ¸ ¸ [x 1 =b,x 2 =0] = a 1 +a 2 2iL (a −b) (6.20) Además, el valor del control suministrado por este controlador no lineal, en condiciones de equilibrio, debe satisfacer la siguiente condición de contorno (6.5): −k(b −L 0 ) + 2iL a −b (−κ(b, 0)) = 0 y, por lo tanto, κ(b, 0) = − k(b −L 0 )(a −b) 2iL = −U(b) Deshaciendo la sustitución x 1 = b en los segundos miembros de (6.20), obtenemos las si- guientes ecuaciones en derivadas parciales: ∂κ ∂x 1 = a −x 1 2iL _ a 1 a 2 −k a −2x 1 +L 0 a −x 1 _ ∂κ ∂x 2 = a 1 +a 2 2iL (a −x 1 ) 6.5 EJERCICIOS PROPUESTOS 169 Integrando la primera ecuación, obtenemos: κ(x 1 , x 2 ) = a 1 a 2 2iL _ x 1 b (a −ζ 1 )dζ 1 − k 2iL _ x 1 b [(a +L 0 ) −2ζ 1 ]dζ 1 − k(a −b)(b −L 0 ) 2iL + Ψ(x 2 ) = a 1 a 2 4iL [(a −x 1 ) 2 −(a −b) 2 ] − k 2iL (a +L 0 )(x 1 −b) + k 2iL (x 2 1 −b 2 ) − k(a −b)(b −L 0 ) 2iL + Ψ(x 2 ) donde Ψ(x 2 ) es una función arbitraria de x 2 . Procedemos a determinar la función Ψ(x 2 ) gracias a la segunda ecuación diferencial parcial de (6.20): d dx 2 Ψ(x 2 ) = a 1 +a 2 2iL (a −x 1 ) De donde, integrando, resulta Ψ(x 2 ) = a 1 +a 2 2iL (a −x 1 )x 2 +M donde M es una constante arbitraria que determinamos a partir de la condición de contorno para κ(x 1 , x 2 ). Luego de algunas simplificaciones, el controlador no lineal resulta: u = −κ(x 1 , x 2 ) = a −x 1 2iL [−a 1 a 2 (x 1 −b) +k(x 1 −L 0 ) −(a 1 +a 2 )x 2 ] (6.21) El sistema controlado por esta ley de realimentación no lineal resulta, evidentemente, en el siguiente sistema lineal asintóticamente estable al punto de equilibrio requerido: ˙ x 1 = x 2 ˙ x 2 = −a 1 a 2 (x 1 −b) −(a 1 +a 2 )x 2 La convergencia al punto de equilibrio del sistema en lazo cerrado se encuentra gobernada por autovalores que son independientes del valor particular de b. 6.5. Ejercicios propuestos Ejercicio 6.1: Diseño de un controlador no lineal para el convertidor Boost Considere el modelo del convertidor de potencia DC-DC del tipo “Boost”, Mo- delo 7, en la página 13. Diseñe una ley de realimentación no lineal del vector de estado basada en la asignación de polos invariantes de la familia de modelos para- metrizados, utilizando la técnica de linealización extendida. () Ejercicio 6.2: Satélite mono-axial: comparación de la linealización aproxi- mada y extendida en Matlab (R) El lector puede comparar mediante simulaciones numéricas el funcionamien- to del controlador obtenido por linealización extendida (6.1) con el que se obtiene por linealización aproximada, en el cual, evidentemente, se requiere de cierta pro- gramación de la ganancia para cada valor del punto de equilibrio X que se desee obtener para la posición angular. El controlador lineal, ver (6.12), está dado por: u δ = − J(a1a2) 1 +X 2 x 1δ −J(a1 +a2)x 2δ 170 REALIMENTACIÓN NO LINEAL DEL VECTOR DE ESTADO con x 1δ = x1 −X; x 2δ = x2; u δ = u. () Ejercicio 6.3: Péndulo invertido sobre una plataforma móvil [BR86]. Ley de control no lineal truncada Si se toma como punto de operación u = U = 0 , x1(0) = x2(0) = 0, para el modelo del péndulo invertido estudiado en este capítulo, se puede comparar el funcionamiento del controlador no lineal (6.16) con la ley de control que se obtiene mediante linealización tradicional alrededor de este punto de equilibrio: u = 3amLe1e2 − 4Le1e2 − 3g 3a x1 − (3amL − 4L)(e1 +e2) 3a x2 la cual sólo coincide hasta un primer orden de aproximación con el controlador no lineal propuesto por la linealización extendida. Mostrar, mediante simulaciones computacionales, que las respuestas de am- bos controladores son significativamente diferentes para ángulos relativamente grandes en la posición inicial x1(0) del péndulo. De hecho, para valores iniciales que satisfagan la condición x1(0) > 0,8, el controlador lineal no puede estabilizar el péndulo invertido mientras que el no lineal sí lo hace. Se deja esta verificación como ejercicio de simulación. Los parámetros del sistema se muestran en la tabla 6.1. Variable Descripción Valor m masa del péndulo 2.0 Kgs M masa del carro 8.0 Kgs 2L Longitud del péndulo 1.0 m g aceleración de gravedad 9.8 m.s −2 a = (m+M) −1 constante auxiliar 0.1 Tabla 6.1: Parámetros del sistema de balance de un péndulo invertido Realimentación no lineal truncada en su expansión en serie de Taylor. Dirí- jase a la referencia original W. T. Baumann, W. J. Rugh,“Feedback control of non- linear systems by extended linearization”, IEEE Trans. Automat. Contr., vol. 31, pp. 40–46, 1986, [BR86]. La ley no lineal (6.16) se puede desarrollar en serie de Tay- lor más allá de la aproximación de primer orden. Verifique el controlador truncado propuesto en [BR86] (vea la Ecuación (5.5) en ese artículo). Repita las simulaciones presentadas, comparando los resultados de los tres tipos de controladores (lineali- zado, extendido y truncado). () Modelo 30: TRCA, modelo 4 El presente modelo es de un tanque de reacción similar al Modelo 10, en la página 16, donde la reacción isotérmica se realiza con tres especies (A, B, C) en fase líquida. ˙ x 1 = 1 −(1 +D a1 )x 1 +D a2 x 2 2 ˙ x 2 = D a1 x 1 −x 1 −(D a2 +D a3 )x 2 2 +u ˙ x 3 = D a3 x 2 2 −x3 y = x 3 −X C (6.22) 6.5 EJERCICIOS PROPUESTOS 171 donde x 1 representa la concentración normalizada (adimensional) de la especie A en el reactor, x 2 representa la concentración normalizada (adimensional) de la especie B en el reactor y x 3 representa la concentración normalizada (adimensional) de la especie C en el reactor. u es la relación entre la tasa molar volumétrica de la especie B en la carga, la tasa volumétrica de carga y la concentración deseada de la especie C. D ai son constantes de reacción de primer orden. X C es el valor deseado de la concentración de la especie C. El punto de equilibrio parametrizado en función de dicha concentración deseada de la especie C es: x 3 = arbitrario = X C ; x 1 = x 1 (X C ) = D a3 +D a2 X C D a3 (1 +D a1 ) ; x 2 = x 2 (X C ) = ¸ X C D a3 u = u(X C ) = (2D a2 +D a3 +D a1 D a3 )X C +D a3 (1 +D a1 ) D a3 (1 +D a1 ) Se asume que la variable de control U varía entre el intervalo [0, Umax], el cual refleja los límites físicos de la tasa molar de carga de la especie B. M Ejercicio 6.4: Realimentación del vector de estado: TRCA, modelo 4 Asumiendo que puede medir todos los estados del sistema anterior (6.22), obten- ga la ley de control por realimentación del vector de estado incremental y la ley de realimentación no lineal basada en linealización extendida. Calcule el controlador por realimentación no lineal mediante la fórmula (6.6) y mediante el procedimiento propuesto aquí. Desarrolle en serie de Taylor los con- troladores no lineales diseñados, para varios términos de la serie. Compare con los controladores obtenidos. () Ejercicio 6.5: Control del sistema aro – anillo: linealización extendida Considere el Modelo 16, en la página 19. Diseñe un controlador no lineal, basa- do en realimentación del vector de estados, mediante el método de la linealización entendida. () Modelo 31: Modelo normalizado del convertidor de potencia ´ Cuk El modelo promedio normalizado de un convertidor de potencia DC-DC del tipo ´ Cuk puede ser descrito mediante las siguientes ecuaciones: dx 1 dτ = −(1 −µ)ω 1 x 2 +b dx 2 dτ = (1 −µ)ω 1 x 1 −µω 2 x 3 dx 3 dτ = −ω 4 x 3 +µω 2 x 2 y = x 3 (6.23) donde x 1 = I 1 √ L 1 , x 2 = V 2 √ C 2 y x 3 = I 3 √ L 3 representan, respectivamente, la intensidad (normalizada) de la corriente del inductor de entrada, la tensión del condensador de transferencia y la intensidad de la corriente del inductor de salida. El parámetro b = E/ √ L 1 es la tensión (normalizada) de la fuente externa. Los parámetros están definidos por la frecuencia natural de oscilación (f.n.o.) del circuito LC de entrada ω 1 = 1/ √ L 1 C 2 , la f.n.o. del circuito LC de salida ω 2 = 1/ √ L 3 C 2 y la constante de tiempo del circuito LR de salida ω 4 = R/L 3 . El valor µ denota la relación de trabajo. M 172 REALIMENTACIÓN NO LINEAL DEL VECTOR DE ESTADO Ejercicio 6.6: Convertidor ´ Cuk: linealización extendida Defina una ley de realimentación no lineal del vector de estado para el modelo normalizado del convertidor ´ Cuk (6.23). Ayuda: Utilice los cálculos desarrollados en el artículo H. Sira-Ramírez y M.T. Prada-Rizzo, "Nonlinear Feedback Regulator Design for the Cuk Converter,"IEEE Transactions on Automatic Control. vol. 37, pp. 1173-1180, 1992, [SRPR92]. () 6.6. Resumen del capítulo y Lecturas adicionales En la literatura existen una gran variedad de métodos de control no li- neal. En este texto hemos considerado útil presentar el método de la lineali- zación extendida por diversas razones. En primer término, se basa directa- mente en la linealización aproximada, lo cual permite una utilización direc- ta de los métodos desarrollados en la Parte I. Constituye una metodología de diseño precisa, cuyos fundamentos matemáticos no van más allá de los hasta ahora presentados en este texto. Posee, además, un enfoque analíti- co que tiene cierto parecido con los esquemas empíricos de asignación de ganancias (gain scheduling). La idea central de este método es relativa- mente simple, sencilla de transmitir y asimilar: al linealizar el controlador no lineal, el controlador resultante debe corresponder a un controlador li- neal con una estructura bien conocida. Esto permite, como ya hemos men- cionado, evitar las transformaciones en el espacio de estado o en el espacio de los controles. Consideramos que este método proporcionará una referencia de compa- ración adecuada respecto a los métodos basados en linealización exacta, que veremos más adelante: como hemos visto en algunos de los ejemplos presen- tados, los controladores no lineales obtenidos son tales que el sistema no lineal resulta en lazo cerrado un sistema completamente lineal, este hecho es indicativo que “el sistema ha sido linealizado de manera exacta”. Lecturas recomendadas En referencia al esquema de asignación de ganancias, el lector puede dirigirse a los artículos siguientes y a sus referencias: 1. W. J. Rugh, “Analytical framework for gain scheduling”, IEEE Contr. Sys. Mag., vol. 11, pp. 79–84, 1991, [Rug91]. 2. J. S. Shamma and M. Athans, “Gain scheduling: Potential hazards and possible remedies”, IEEE Contr. Syst. Mag., vol. 12, pp. 101–107, 1992, [SA92]. Estudia dos de las premisas usuales de los esquemas de asignación de ganancias: la variable de programación de las ganan- cias debe capturar las no linealidades del sistema, la variable de pro- gramación de las ganancias debe ser “lenta”. 6.6 RESUMEN DEL CAPÍTULO Y LECTURAS ADICIONALES 173 3. W. J. Rugh, J. S. Shamma, “Research on gain scheduling”, Automati- ca, vol. 36, pp. 1401–1425, 2000, [RS00]. Desde el punto de vista de la investigación teórica, hace una revisión de los diferentes enfoques de asignación de ganancias, con una breve reseña sobre los orígenes prácticos de esta estrategia. Explica de manera didáctica el enfoque analítico que ha tomado en los últimos años. 4. J. S. Shamma, M. Athans, “Analysis of gain scheduled control for non- linear plants”, IEEE Trans. Automat. Contr., vol. 35, pp. 898–907, 1990, [SA90]. Artículo netamente teórico, estudia la estabilidad de diferentes esquemas de asignación de ganancias. El artículo que utilizamos de base sobre la linealización extendida: W. T. Baumann, W. J. Rugh, “Feedback control of nonlinear systems by extended linearization”, IEEE Trans. Automat. Contr., vol. 31, pp. 40–46, 1986, [BR86]. Recomendamos al lector dirigirse a la página del profesor W. Rugh, http://www.ece.jhu.edu/~rugh/214/me/rugh.html, para indigar sobre otras vertientes del método de la linealización extendida. Un método similar al propuesto por W. Rugh, el cual, sin embargo, está basado en argumentos provenientes de la teoría de geometría diferencial, es el de “pseudolinealización”: 1. C. Reboulet y C. Champetier, “A new method for linearizing non-linear systems: the pseudolinearization”, Int. J. of Control, vol. 40, pp. 631– 638, 1984, [RC84]. 2. C. Reboulet, P. Mouyon, C. Champetier, “About the local linearization of nonlinear systems”, In: M. Fliess and M. Hazewinkel (Eds.), Alge- braic and Geometric Methods in Nonlinear Control Theory, D. Reidel Publishing Company, pp. 311–322, 1986 [RMC86] 174 REALIMENTACIÓN NO LINEAL DEL VECTOR DE ESTADO Listados en Matlab (R) para los ejemplos de este capítulo Listado 6.2: Programa de simulación del satelite mono-axial, modelo de Cayley-Rodrigues sejext1.m % sejext1.m % % Programa de simulacion de la respuesta controlada % de un satelite mono-axial (modelo no lineal obtenido % usando la representacion Cayley-Rodrigues). % % Este programa permite simular la respuesta del sistema no lineal % presentado en el programa % % ejext1.m % % El sistema es controlado mediante una realimentacion no lineal de estado % obtenida por linealizacion extendida. % tiempo de simulacion t0=0; tf=30; % condiciones iniciales x0=[0 0]’; % simulacion numerica [t,x] = ode23(’ejext1’,[t0 tf],x0); % parametros J=90;a1=0.5;a2=0.5; X=1.5; % obtencion de la ley de control en forma vectorial u = -J*a1*a2*(atan(x(:,1))-atan(X))-J*(a1+a2)*x(:,2); subplot(221), plot(t,x(:,1)) title(’posicion angular de orientacion’) ylabel(’x1’) xlabel(’t [seg]’) subplot(222), plot(t,x(:,2)) title(’velocidad angular respecto al eje principal’) ylabel(’x2’) xlabel(’t [seg]’) subplot(223), plot(t,u) title(’torque externo - ley de control’) ylabel(’u’) xlabel(’t [seg]’) % sejext1.m 6.6 RESUMEN DEL CAPÍTULO Y LECTURAS ADICIONALES 175 Listado 6.3: Modelo y control de un saliélite mono-axial ejext1.m function xdot = ejext1(t,x) % ejext1.m % % Primer ejemplo de simulacion numerica usando el metodo % de linealizacion extendida: % % El sistema representa un satelite mono-axial descrito por el % parametro de orientacion de Cayley-Rodrigues. % La ley de control realimentada es no lineal, % obtenida mediante el metodo de linealizacion extendida. % % El programa requerido para realizar las simulaciones % y obtener las graficas es: % % sejext1.m % % parametros del sistema J=90;al=0.5;a2=0.5; X=1.5; % ley de control u = -J*al*a2*(atan(x(1)) - atan(X) ) - J(al+a2)*x(2) ; % modelo no lineal (satelite mono-axial) xdot = [0.5*(1+x(1)*x(1))*x(2) ; 1/J*u]; % fin ejext1.m 176 REALIMENTACIÓN NO LINEAL DEL VECTOR DE ESTADO Listado 6.4: Programa de simulación del satelite mono-axial con actuador saturado sejext1b.m % sejext1b.m % % Programa de simulacion de la respuesta controlada % de un satelite mono-axial (modelo no lineal obtenido % usando la representacion Cayley-Rodrigues). % % Este programa permite simular la respuesta del sistema no lineal % presentado en el programa % % ejext1b.m % % El sistema es controlado mediante una realimentacion no lineal de estado % obtenida por linealizacion extendida, usando una saturacion del % valor maximo del control % tiempo de simulacion clear all t0=0; tf=30; % condiciones iniciales x0=[0 0]’; % simulacion numerica [t,x] = ode23(’ejext1b’,[t0 tf],x0); % procedimiento para obtener la ley de control en forma vectorial % parametros J=90;a1=0.5;a2=0.5; X=1.5; umax=5; for i = 1:length(x), uu(1,i) = -J*a1*a2*(atan(x(i,1)) - atan(X) ) - J(a1+a2)*x(i,2) ; % saturacion if abs(uu(1,i)) > umax, u(1,i) = umax; else u(1,i) = uu(1,i); end end save dejext1b t x u clf subplot(221), plot(t,x(:,1)) title(’posicion angular de orientacion’) ylabel(’x1 (u sat -, u sin sat --)’) xlabel(’t [seg]’) subplot(222), plot(t,x(:,2)) title(’velocidad angular respecto al eje principal’) ylabel(’x2 (u sat -, u sin sat --)’) xlabel(’t [seg]’) subplot(223), plot(t,u) title(’torque externo - ley de control’) ylabel(’u (u sat -, u sin sat --)’) xlabel(’t [seg]’) load dejext1 subplot(221), hold on plot(t,x(:,1),’--’) subplot(222), hold on plot(t,x(:,2),’--’) subplot(223), hold on plot(t,u,’--’) % sejext1b.m 6.6 RESUMEN DEL CAPÍTULO Y LECTURAS ADICIONALES 177 Listado 6.5: Modelo y control saturado ejext1b.m function xdot = ejext1b(t,x) % ejext1b.m % % Modificacion al programa ejext1.m % % Ley de control realimentada usando una saturacion del % valor maximo y minimo posibles. % % El programa requerido para realizar las simulaciones % y obtener las graficas es: % % sejext1b.m % % parametros del sistema J=90;al=0.5;a2=0.5; X=1.5; % valor de saturacion del control umax=5; % ley de control uu = -J*al*a2*(atan(x(1)) - atan(X) ) - J(al+a2)*x(2) ; if abs(uu) > umax, u = umax; else u = uu; end % modelo no lineal (satelite mono-axial) xdot = [0.5*(1+x(1)*x(1))*x(2) ; 1/J*u]; % fin ejext1b.m 178 REALIMENTACIÓN NO LINEAL DEL VECTOR DE ESTADO Listado 6.6: Programa de simulación del manipulador robótico sejext2.m % sejext2.m % % Programa de simulacion de la respuesta controlada % de un brazo manopulador robotico mono-axial. % % Este programa permite simular la respuesta del sistema no lineal % presentado en el programa % % ejext2.m % % El sistema es controlado por realimentacion no lineal de estado % obtenida mediante linealizacion extendida. % tiempo de simulacion t0=0; tf=1; % condiciones iniciales x0=[-0.5 0]’; % simulacion numerica [t,x] = ode23(’ejext2’,t0,tf,x0); % parametros X = 0; N = 1; B=1e-2; J=4e-2; c=.58; xi=0.707; wn=8.56; % expresion vectorial de la ley de control no lineal u u = -J*wn*wn*(x(:,1)-X)+c*sin(x(:,1)/N)+(B-2*J*xi*wn)*(x(:,2)-0); % expresion vectorial de la ley de control lineal u %u = c*sin(X/N)-(J*wn*wn-c/N*cos(X/N))*(x(:,1)-X)+.... %(B-2*J*xi*wn)*(x(:,2)-0); clg subplot(221), plot(t,x(:,1)) title(’posicion angular del brazo’) ylabel(’x1’) xlabel(’t [seg]’) subplot(222), plot(t,x(:,2)) title(’velocidad angular del brazo’) ylabel(’x2’) xlabel(’t [seg]’) subplot(223), plot(t,u) title(’torque externo aplicado’) ylabel(’u’) xlabel(’t [seg]’) % sejext2.m 6.6 RESUMEN DEL CAPÍTULO Y LECTURAS ADICIONALES 179 Listado 6.7: Modelo + control no lineal por linealización extendida (se incluye además el control linealizado) ejext2.m function xdot = ejext2(t,x) % ejext2.m % % Ejemplo de simulacion numerica usando el metodo % de linealizacion extendida: % % El sistema representa un brazo manipulador robotico controlado % mediante una ley de realimentacion no lineal, % obtenida mediante el metodo de linealizacion extendida. % % El programa requerido para realizar las simulaciones % y obtener las graficas es: % % sejext2.m % % parametros del sistema X = 0; N = 1; B=1e-2; J=4e-2; c=.58; xi=0.707; wn=8.56; % ley de control no lineal u = -J*wn*wn*(x(1) - X) +c*sin(x(1)/N)+.... (B-2*J*xi*wn)*(x(2)-0); % ley de control lineal %u = c*sin(X/N)-(J*wn*wn-c/N*cos(X/N))*(x(1)-X)+.... %(B-2*J*xi*wn)*(x(2)-0); % modelo no lineal (satelite mono-axial) xdot = [x(2) ; -B/J*x(2)-(c/J)*sin(x(1)/N)+(1/J)*u]; % fin ejext2.m 7 Diseño de observadores dinámicos de estado no lineales basados en linealización extendida Foto El método de la linealización extendida ha permitido desarrollar una estrategia de construcción de observadores no lineales en forma simple y altamente sistemática. El sistema (observador) resultante constituye una “copia” del sis- tema no lineal, a la cual se añaden términos correctivos que per- miten garantizar, localmente, que el error de observación tiende a cero de manera asintóticamente estable. 180 7.1 INTRODUCCIÓN 181 7.1. Introducción Como hemos dicho anteriormente, un observador es un sistema cuyo ob- jetivo es proporcionar una estimación de una o varias componentes del vec- tor de estado. La construcción de observadores dinámicos de estado para sistemas no lineales es un problema interesante, el cual no ha recibido aún una respuesta definitiva, aunque existen diversos métodos y diversas ten- tativas de solución al respecto. Los enfoques de tratamiento de observadores no lineales se dividen es- encialmente en Diseñar un observador para una aproximación linealizada del sistema no lineal Realizar extensiones no lineales a partir de un observador lineal transformar el sistema no lineal mediante una transformación de co- ordenadas (generalmente no lineal) a un sistema equivalente lineal transformar el sistema no lineal mediante una transformación de co- ordenadas a un sistema equivalente (a un sistema bilineal, por ejem- plo) cuya estructura permita proponer argumentos de estabilidad no lineal (de tipo de Lyapunov, pasividad, mapas de contracción, etc.) El primer enfoque ya fue analizado en la Parte I. El tercero será brevemente estudiado en la parte III. Nos dedicaremos en este capítulo al segundo en- foque, extenderemos los resultados del observador lineal al caso no lineal, para ello emplearemos el método de la linealziación extendida. Como vimos en el capítulo anterior, la metodología de la linealización ex- tendida es simple y permite resolver el diseño de controladores no lineales sistemáticamente. Debido a su sencillez, la filosofía de linealización exten- dida puede emplearse en el diseño de observadores dinámicos de estado. La idea fundamental en este caso consistirá en escoger un observador no lineal de tal manera que la familia de ecuaciones linealizadas del error de estimación, parameterizadas por el punto de operación, tenga autovalores invariantes con respecto a dicho punto de operación, al menos localmente. 7.2. Observador dinámico no lineal Como es costumbre, consideremos el sistema: d dt x(t) = f(x(t), u(t)) y(t) = h(x(t)) (7.1) cuyo punto de operación constante está dado por u(t) = U; x(t) = X(U); y(t) = h(X(U)) = Y (U) 182 DISEÑO DE OBSERVADORES DINÁMICOS DE ESTADO NO LINEALES BASADOS EN LINEALIZACIÓN EXTENDIDA Comencemos por suponer que la relación funcional que se establece, en equilibrio, entre la entrada y la salida, es tal que satisface: dY (U) dU = 0 Es decir, existe una familia continua de puntos de equilibrio en el espacio de salida que se relaciona, cuando menos localmente, con el valor del control en equilibrio. Supondremos además que el sistema linealizado alrededor del punto de equilibrio dado por: ˙ x δ (t) = A(U)x δ (t) +B(U)u δ (t) y δ (t) = C(U)x δ (t) es tal que el par (A(U), C(U)) es completamente observable (o en su defecto detectable). Supondremos además que la matriz A(U) es invertible alrede- dor del valor U. Proponemos como observador no lineal, un sistema dinámico de la Observador dinámico no lineal forma: d dt ˆ x(t) = f(ˆ x(t), u(t)) +g(y(t)) −g(ˆ y(t)) ˆ y(t) = h(ˆ x(t)) (7.2) La ecuación que se obtiene al evaluar el punto de equilibrio de este ob- servador, para u(t) = U, es la siguiente: f(ˆ x(U), U) +g(Y (U)) −g( ˆ Y (U)) = 0 (7.3) Con el objeto de hacer compatible las funciones del observador con el val- or asignado en equilibrio al estado verdadero del sistema, supondremos, a partir de (7.3), que ˆ Y (U) = h( ˆ X(U)) = h(X(U)) = Y (U) ; X(U) = ˆ X(U) , (7.4) lo cual implica, en particular, que la función g de ganancia no lineal del observador satisface igualmente: g(Y (U)) = g( ˆ Y (U)) 7.3. Linealización de la dinámica del error de obser- vación La ecuación de la dinámica del error de estimación (error de obser- vación), resultante de sustraer (7.2) al sistema (7.1): d dt (x(t) − ˆ x(t)) = f(x(t), u(t)) −f(ˆ x(t), u(t)) −g(y(t)) +g(ˆ y(t)) (7.5) 7.3 LINEALIZACIÓN DE LA DINÁMICA DEL ERROR DE OBSERVACIÓN 183 La ecuación (7.5) hereda, obviamente, los puntos de operación constantes de la familia. Un cálculo sencillo demuestra que la familia de ecuaciones linealizadas del error dinámico está dado por: d dt [x δ (t) − ˆ x δ (t)] = ∂f ∂x ¸ ¸ ¸ ¸ X(U),U x δ − ∂f ∂x ¸ ¸ ¸ ¸ ˆ X(U),U ˆ x δ − _ ∂g ∂y ¸ ¸ ¸ ¸ Y (U) ∂h ∂x ¸ ¸ ¸ ¸ X(U) _ x δ + _ ∂g ∂ˆ y ¸ ¸ ¸ ¸ ˆ Y (U) ∂h ∂ˆ x ¸ ¸ ¸ ¸ ˆ X(U) _ ˆ x δ (7.6) donde se ha empleado la relación g(y) = g(h(x)), tal que ∂g ∂x = ∂g(y) ∂y ∂h(x) ∂x Tomando en cuenta (7.4), la ecuación (7.6) se transforma en d dt e δ (t) = ∂f ∂x ¸ ¸ ¸ ¸ X(U),U (x δ − ˆ x δ ) − _ ∂g ∂y ¸ ¸ ¸ ¸ Y (U) ∂h ∂x ¸ ¸ ¸ ¸ X(U) _ (x δ − ˆ x δ ) La dinámica linealizada del error de observación resulta finalmente en: Dinámica linealizada del error de observación d dt e δ (t) = [A(U) −L(U)C(U)]e δ (t) (7.7) donde: A(U) = ∂f ∂x ¸ ¸ ¸ ¸ X(U),U ; C(U) = ∂h ∂x ¸ ¸ ¸ ¸ X(U) y, además, L(U) = ∂g ∂y ¸ ¸ ¸ ¸ y=Y (U) (7.8) A continuación, nuestro objetivo será el de escoger la ganancia de ob- servación linealizada L(U) de tal forma que los autovalores de [A(U) − L(U)C(U)] se encuentren en el semiplano izquierdo del plano complejo; es- tos autovalores deben ser además independientes del valor de U. Si esto último no es enteramente posible, entonces, al menos, asegurarnos que la forma cómo varian tales autovalores con respecto a U responda a una fun- ción previamente conocida o impuesta. Tal escogencia de la ganancia linealizada L(U) puede hacerse utilizando la fórmula de Bass-Gura, vista en la sección 3.4, para el par de matrices traspuestas (A T (U), C T (U)). Es decir: L(U) = O −1 (U)R −1 (U)[α d −α U ] T 184 DISEÑO DE OBSERVADORES DINÁMICOS DE ESTADO NO LINEALES BASADOS EN LINEALIZACIÓN EXTENDIDA donde: O(U) = _ ¸ ¸ ¸ ¸ _ C(U) C(U)A(U) . . . C(U)A n−2 (U) C(U)A n−1 (U) _ ¸ ¸ ¸ ¸ _ ; R(U) = _ ¸ ¸ ¸ _ 1 0 . . . 0 a 1 (U) 1 . . . 0 . . . . . . . . . 0 a n−1 (U) a n−2 (U) . . . 1 _ ¸ ¸ ¸ _ ; α d = [α 1 . . . α n ]; α U = [a 1 (U) . . . a n (U)] siendo α d el vector fila compuesto por los coeficientes del polinomio carac- terístico deseado para la dinámica del error linealizado de estimación y α U el vector fila conformado por los coeficientes del polinomio característico de la matriz A(U). Puesto que dY (U)/dU = 0, el teorema de la función implícita asegura que de la igualdad Y (U) = y podemos obtener como solución única para U al valor dado por: U = Y −1 (y) . (7.9) 7.4. Ganancia no lineal del observador El valor de la ganancia linealizada debe provenir entonces de una ganan- cia no lineal g que debe satisfacer la ecuación (7.8), la cual reescrita en términos de (7.9) queda: ∂g ∂y = L(Y −1 (y)) (7.10) Integrando (7.10) respecto a y, obtenemos g(y) = _ y Y L(Y −1 (y))dy +L(Y ) = _ Y −1 (y) U L(U) dY (U) dU dU +L(Y (U)) (7.11) como una posible alternativa de solución en la determinación de la ganancia no lineal g(y) del observador. Notemos que tomando derivadas respecto de y en esta última expresión y particularizando el resultado en el punto de equilibrio tenemos: dg(y) dy ¸ ¸ ¸ ¸ Y (U) = G(Y −1 (y)) dY (Y −1 (y)) dU d(Y −1 (y)) dy ¸ ¸ ¸ ¸ Y (U) = L(U) dy dU dU dy = L(U) Con el valor (7.11) de g(y), el observador no lineal (7.2) queda completa- mente especificado. 7.5 EJEMPLOS 185 7.5. Ejemplos En esta sección desarrollaremos algunos ejemplos que ilustran el proce- dimiento de diseño de observadores dinámicos no lineales, basados en re- solver la condición (7.10). Ejemplo 7.1: Satélite mono-axial Cayley-Rodríguez: observador lineal Considere el Modelo 5, en la página 10: ˙ x 1 = 0,5(1 +x 2 1 )x 2 ˙ x 2 = 1 J u y = x 1 (1.10*) con punto de equilibrio: u = U = 0; x 1 = X; x 2 = 0; Y = X El sistema linealizado alrededor del punto de equilibrio está dado por: _ ˙ x 1δ ˙ x 2δ _ = _ 0 0,5(1 +X 2 ) 0 0 _ _ x 1δ x 2δ _ + _ 0 1 J _ u δ y δ = x 1δ Un observador dinámico lineal del vector de estado incremental está dado por: _ ˙ ˆ x 1δ ˙ ˆ x 2δ _ = _ 0 0,5(1 +X 2 ) 0 0 _ _ ˆ x 1δ ˆ x 2δ _ + _ 0 1 J _ u δ + _ L 1 (X) L 2 (X) _ (y δ − ˆ y δ ) ˆ y δ = ˆ x 1δ donde L 1 (X) y L 2 (X) son ganancias dependendientes del punto de equilibrio deseado X, las cuales se calculan de tal manera que el sistema lineal autónomo que gobierna el error de esti- mación tenga sus autovalores en el semiplano izquierdo. En primer lugar, verificamos si el sistema linealizado es observable. O(X) = _ 1 0 0 0,5(1 +X 2 ) _ =⇒det O(X) = 0,5(1 +X 2 ) = 0 La dinámica del error de estimación estáá regida por: _ ˙ e 1δ ˙ e 2δ _ = _ −L 1 (X) 0,5(1 +X 2 ) −L 2 (X) 0 _ _ e 1δ e 2δ _ Los modos que rigen esta dinámica se corresponden con las raíces del polinomio caracterís- tico siguiente: p(s) = s 2 +L 1 (X)s + 0,5(1 +X 2 )L 2 (X) Si deseamos que el error de estimación linealizado responda de acuerdo a autovalores que asignamos libremente en el semiplano izquierdo del plano complejo, podemos igualar, término a término, el polinomio anterior al siguiente polinomio característico estándar de segundo grado: p d (s) = s 2 + 2ζωns +ω 2 n Se obtiene, entonces, L 1 (X) = 2ζωn ; L 2 (X) = 2ω 2 n 1 +X 2 El observador lineal del estado incremental está dado por: _ ˙ ˆ x 1δ ˙ ˆ x 2δ _ = _ 0 0,5(1 +X 2 ) 0 0 _ _ ˆ x 1δ ˆ x 2δ _ + _ 0 1 J _ u δ + _ 2ζωn 2ω 2 n 1+X 2 _ (y δ − ˆ y δ ) ˆ y δ = ˆ x 1δ 186 DISEÑO DE OBSERVADORES DINÁMICOS DE ESTADO NO LINEALES BASADOS EN LINEALIZACIÓN EXTENDIDA La pregunta clave del método de la linealización extendida es la siguien- te: ¿Cuál ha de ser el observador no lineal cuya linealización alrededor del punto de equilibrio coincida con el observador que acabamos de obtener? Es decir, ¿cuáles deben ser las ganancias no lineales g 1 (y) y g 2 (y) tales que el observador no lineal dado por: ˙ ˆ x 1 = 0,5(1 + ˆ x 2 1 )ˆ x 2 +g 1 (y) −g 1 (ˆ y) ˙ ˆ x 2 = 1 J u +g 2 (y) −g 2 (ˆ y) ˆ y = ˆ x 1 tenga por linealización el observador anteriormente diseñado? Continue- mos con el ejemplo que hemos propuesto, apara el cual daremos una re- spuesta completa, junto a una simulación numérica del comportamiento, en lazo cerrado, del sistema estudiado. Matlab 7.1: (Continuación) Satélite mono-axial Cayley-Rodríguez: obser- vador no lineal Es claro que los valores de equilibrio del observador no lineal están dados por: ˆ x 2 (X) = x 2 (X) = 0 ; y(X) = ˆ y(X) = ˆ x 1 (X) = x 1 (X) = X ; u = u(X) = 0 De tal forma que debe cumplirse entonces que: ∂g 1 ∂y ¸ ¸ ¸ ¸ X = 2ζωn ∂g 2 ∂y ¸ ¸ ¸ ¸ X = 2ω 2 n 1 +X 2 (7.12) Se deshace la sustitución indicada en la ecuación anterior, sustituyendo efectivamente X por la variable y. Se obtiene entonces el siguiente par de ecuaciones en derivadas parciales para las ganancias no lineales: ∂g 1 ∂y = 2ζωn ∂g 2 ∂y = 2ω 2 n 1 +y 2 Integrando las ecuaciones anteriores resulta: g 1 (y) = 2ζωny; g 2 (y) = 2ω 2 n tan −1 (y) De esta forma, el observador dinámico no lineal está dado entonces por: ˙ ˆ x 1 = 0,5(1 + ˆ x 2 1 )ˆ x 2 + 2ζωn(y − ˆ y) ˙ ˆ x 2 = 1 J u + 2ω 2 n _ tan −1 (y) −tan −1 (ˆ y) _ ˆ y = ˆ x 1 (7.13) El observador no lineal responde al diagrama mostrado en la Figura 7.1. Recordemos que en el capítulo anterior, Sección 6.4, habíamos diseñado una ley de control realimentada no lineal que estabilizaba al sistema al punto de equilibrio deseado. Esta ley de control no lineal era la siguiente u = −J(a 1 +a 2 )x 2 −Ja 1 a 2 _ tan −1 (x 1 ) −tan −1 (X) ¸ (6.1*) Con el objeto de completar el diseño utilizaremos el controlador propuesto en el capítulo anterior, en combinación con el observador diseñado. Simularemos el comportamiento del satelite 7.5 EJEMPLOS 187 - - - - - u y = x 1 u ˆ x 1 ˆ x 2 ˙ ˆ x 1 = 0,5(1 + ˆ x 2 1 )ˆ x 2 + 2ξω n (y − ˆ y) ˙ ˆ x 2 = 1 J u + 2ω 2 n (tan −1 (y) −tan −1 (ˆ y)) ˆ y = ˆ x 1 ˙ x 1 = 0,5(1 +x 2 1 )x 2 ˙ x 2 = 1 J u y = x 1 Figura 7.1: Diagrama de bloques del observador dinámico de estados para el satélite mono-axial, basado en linealización extendida - - - - - u y = x 1 u ˆ x 1 ˆ x 2 ˙ ˆ x 1 = 0,5(1 + ˆ x 2 1 )ˆ x 2 + 2ξω n (y − ˆ y) ˙ ˆ x 2 = 1 J u + 2ω 2 n (tan −1 (y) −tan −1 (ˆ y)) ˆ y = ˆ x 1 ˙ x 1 = 0,5(1 +x 2 1 )x 2 ˙ x 2 = 1 J u y = x 1 u = −J(a 1 +a 2 )ˆ x 2 −Ja 1 a 2 _ tan −1 (ˆ x 1 ) −tan −1 (X) ¸ Figura 7.2: Diagrama de bloques en lazo cerrado del sistema de control de un satélite, considerando un observador dinámico no lineal 188 DISEÑO DE OBSERVADORES DINÁMICOS DE ESTADO NO LINEALES BASADOS EN LINEALIZACIÓN EXTENDIDA Listado 7.1: Programa de simulación de la dinámica de un satélite mono-axial regulado mediante un controlador y un observador no lineales sejext3.m % sejext3.m % % Programa de simulacion de la respuesta controlada % de un satelite mono-axial (modelo no lineal obtenido % usando la representacion Cayley-Rodrigues). % % Este programa permite simular la respuesta del sistema no lineal % presentado en el programa % % ejext3.m % % El sistema es controlado mediante una realimentacion no lineal de estado % sintetizada mediante un observador no lineal % dise~nado mediante linealizacion extendida. % tiempo de simulacion t0=0; tf=30; % condiciones iniciales x0=[0 0 0.5 0.2]’; % simulacion numerica [t,x] = ode23(’ejext3’,[t0 tf],x0); % parametros J=90;a1=0.4;a2=0.5; X=1.5; xi=0.7; wn=0.8; % ley de control u = -J*a1*a2*(atan(x(:,3))-atan(X))-J*(a1+a2)*x(:,4); clf subplot(221), plot(t,x(:,1),t,x(:,3),’--’) title(’posicion angular de orientacion’) ylabel(’x1’) xlabel(’t [seg]’) subplot(222), plot(t,x(:,2),t,x(:,4),’--’) title(’velocidad angular respecto al eje principal’) ylabel(’x2’) xlabel(’t [seg]’) subplot(223), plot(t,u) title(’torque externo - ley de control’) ylabel(’u’) xlabel(’t [seg]’) % sejext3.m 7.5 EJEMPLOS 189 Listado 7.2: Modelo, control y observador no lineales ejext3.m empleados para la simulación function xdot = ejext3(t,x) % ejext3.m % % Ejemplo de simulacion numerica usando el metodo % de linealizacion extendida para el disen~o de un % observador no lineal: % % El sistema representa un satelite mono-axial descrito por el % parametro de orientacion de Cayley-Rodrigues. % La ley de control realimentada es no lineal, % obtenida mediante el metodo de linealizacion extendida. % La ley de control se sintetiza usando un observador % no lineal. % % El programa requerido para realizar las simulaciones % y obtener las graficas es: % % sejext3.m % % parametros del sistema J=90;al=0.5;a2=0.5; X=1.5; xi=0.7; wn=0.8; % ley de control u = -J*al*a2*(atan(x(3))-atan(X))-J(al+a2)*x(4); % modelo no lineal (satelite mono-axial) xdot = [0.5*(1+x(1)*x(1))*x(2) ; 1/J*u; 0.5*(1+x(3)*x(3))*x(4)+2*xi*wn*(x(1)-x(3)); 1/J*u+2*wn*wn*(atan(x(1))-atan(x(3)))]; % fin ejext3.m 190 DISEÑO DE OBSERVADORES DINÁMICOS DE ESTADO NO LINEALES BASADOS EN LINEALIZACIÓN EXTENDIDA Figura 7.3: Comportamiento de un satélite mono-axial controlado sobre la base de un observador dinámico de estados obtenido por linealización extendida 7.5 EJEMPLOS 191 mono-axial en lazo cerrado. El controlador completo, en conjunto con el observador dinámico no lineal (7.13), está dado por: u = −J(a 1 +a 2 )ˆ x 2 −Ja 1 a 2 _ tan −1 (ˆ x 1 ) −tan −1 (X) ¸ (7.14) donde hemos sustituido las cantidades x 1 y x 2 , respectivamente, por ˆ x 1 y ˆ x 2 . El sistema en lazo cerrado dado por (1.10*)–(7.13)–(7.14) se presenta en el diagrama de bloques mostrado la figura 7.2. Los Listados 7.1 y 7.2 permiten simular el comportamiento en lazo cerrado del sistema controlado mediante la ley de control no lineal (7.14) sintetizada sobre la base de la operación de un observador dinámico no lineal (7.13). La respuesta del sistema dinámico se muestra en la figura 7.3. Matlab 7.2: Manipulador robótico: la dinámica del error de observación re- sultante es completamente lineal Considere el manipulador robótico, Modelo 9, en la página 15, tratado anteriormente, representa- do por el siguiente conjunto de ecuaciones diferenciales: ˙ x 1 = x 2 ˙ x 2 = − B J x 2 − c J sen _ x 1 N _ + 1 J u y = x 1 (1.21*) donde se mide la posición angular del brazo manipulador. El punto de equilibrio se caracteriza genericamente mediante: u = c sen _ X N _ ; y = x 1 = X; x 2 = 0 La linealización de este sistema alrededor del punto de equilibrio resultó ser, ver Capítulo 5, expresión (5.15): _ ˙ x 1δ ˙ x 2δ _ = _ 0 1 − c NJ cos(X) − B J _ _ x 1δ x 2δ _ + _ 0 1 J _ u δ y δ = x 1δ Un observador dinámico para este sistema linealizado está dado por: _ ˙ ˆ x 1δ ˙ ˆ x 2δ _ = _ 0 1 − c NJ cos(X) − B J _ _ ˆ x 1δ ˆ x 2δ _ + _ 0 1 J _ u δ + _ L 1 (X) L 2 (X) _ (y δ − ˆ y δ ) ˆ y δ = ˆ x 1δ (7.15) La dinámica del error de estimación de las variables de estado está dada por: _ ˙ e 1δ ˙ e 2δ _ = _ −L 1 (X) 1 −L 2 (X) − c NJ cos(X) − B J _ _ e 1δ e 2δ _ El polinomio característico de este sistema resulta: p(s) = s 2 + _ L 1 (X) + B J _ s + c NJ cos _ X N _ +L 2 (X) Al igualar p(s) al polinomio deseado de la forma: p d (s) = (s +β 1 )(s +β 2 ) = s 2 + (β 1 +β 2 )s +β 1 β 2 , obtenemos los valores necesarios de las ganancias del observador dinámico. Estas ganancias, parametrizadas por el punto de equilibrio, tienen por valor las cantidades: L 1 (X) = β 1 +β 2 − B J ; L 2 (X) = β 1 β 2 − c NJ cos _ X N _ − B J (β 1 +β 2 ) + B 2 J 2 (7.16) 192 DISEÑO DE OBSERVADORES DINÁMICOS DE ESTADO NO LINEALES BASADOS EN LINEALIZACIÓN EXTENDIDA En el método de linealización extendida procedemos ahora a proponer un observador no lineal, dado, en forma general, por la expresión: ˙ ˆ x 1 = ˆ x 2 +g 1 (y) −g 1 (ˆ y) ˙ ˆ x 2 = − B J ˆ x 2 − c J sen _ ˆ x 1 N _ + 1 J u +g 2 (y) −g 2 (ˆ y) ˆ y = ˆ x 1 (7.17) La linealización del observador no lineal (7.17), alrededor del punto de equilibrio del sistema original (el cual, como ya hemos dicho, también debe ser punto de equilibrio del observador), está dado por: _ ˙ ˆ x 1δ ˙ ˆ x 2δ _ = _ 0 1 − c NJ cos(X) − B J _ _ ˆ x 1δ ˆ x 2δ _ + _ 0 1 J _ u δ + _ _ ∂g 1 ∂y ¸ ¸ ¸ X ∂g 2 ∂y ¸ ¸ ¸ X _ _ (y δ − ˆ y δ ) ˆ y δ = ˆ x 1δ (7.18) La linealización (7.18) debe coincidir con el observador lineal de la familia de sistemas lineal- izados, parametrizado por el punto de equilibrio que acabamos de diseñar (7.15)–(7.16), _ ˙ ˆ x 1δ ˙ ˆ x 2δ _ = _ 0 1 − c NJ cos(X) − B J _ _ ˆ x 1δ ˆ x 2δ _ + _ 0 1 J _ u δ + _ β 1 +β 2 − B J β 1 β 2 − c NJ cos _ X N _ − B J (β 1 +β 2 ) + B 2 J 2 _ (y δ − ˆ y δ ) ˆ y δ = ˆ x 1δ (7.19) Igualando término a término los elementos de (7.18) y (7.19), concluímos que deben cumplirse las siguientes igualdades: ∂g 1 ∂y ¸ ¸ ¸ ¸ y=X = β 1 +β 2 − B J ∂g 2 ∂y ¸ ¸ ¸ ¸ y=X = β 1 β 2 − c NJ cos _ X N _ − B J (β 1 +β 2 ) + B 2 J 2 Este par de relaciones se convierten en un par de ecuaciones en derivadas parciales al des- hacer la sustitución y = X: ∂g 1 ∂y = β 1 +β 2 − B J ∂g 2 ∂y = β 1 β 2 − c NJ cos _ y N _ − B J (β 1 +β 2 ) + B 2 J 2 Integrando obtenemos: g 1 (y) = _ β 1 +β 2 − B J _ y g 2 (y) = _ β 1 β 2 − B J (β 1 +β 2 ) + B 2 J 2 _ y − c J sen _ y N _ (7.20) A partir de (7.20), el observador dinámico no lineal (7.17) resulta entonces, luego de algunas simplificaciones elementales, en: Este observador no lineal genera un error de observación completamnete lineal ˙ ˆ x 1 = ˆ x 2 + _ β 1 +β 2 − B J _ (y − ˆ y) ˙ ˆ x 2 = − B J ˆ x 2 + 1 J u + _ β 1 β 2 − B J (β 1 +β 2 ) + B 2 J 2 _ (y − ˆ y) − c J sen _ y N _ ˆ y = ˆ x 1 (7.21) 7.5 EJEMPLOS 193 - - - - - u y = x 1 u ˆ x 1 ˆ x 2 ˙ ˆ x 1 = ˆ x 2 + (β 1 +β 2 − B J )(y − ˆ y) ˙ ˆ x 2 = − B J ˆ x 2 + 1 J u + (β 1 β 2 − B J (β 1 +β 2 ) + B 2 J 2 )(y − ˆ y) − c J sen( y N ) ˆ y = ˆ x 1 ˙ x 1 = x 2 ˙ x 2 = − B J x 2 − c J sen( x 1 N ) + 1 J u y = x 1 u = −Jω 2 n (ˆ x 1 −X) −(2Jζω n −B)ˆ x 2 +c sen( ˆ x1 N ) Figura 7.4: Diagrama de bloques en lazo cerrado de un manipulador robótico, consideran- do un observador dinámico no lineal Es interesante notar que el error de observación, obtenido a partir de las ecuaciones diferen- ciales no lineales de la planta (1.21) y del observador (7.21), está gobernado por el siguiente par de ecuaciones diferenciales autónomas de naturaleza evidentemente lineal: ˙ e 1 = _ β 1 +β 2 − B J _ e 1 +e 2 ˙ e 2 = _ β 1 β 2 − B J (β 1 +β 2 ) + B 2 J 2 _ e 1 − B J e 2 Los autovalores de este sistema coinciden con las raíces del siguiente polinomio característico: p err. obs. (s) = s 2 + (β 1 +β 2 )s +β 1 β 2 = p d (s) Es de notar que este polinomio es, casualmente, idéntico al polinomio característico que gobierna el error de estimación del observador del estado incremental linealizado. En este caso, el obser- vador no lineal permite obtener directamente, y sin aproximación alguna, una dinámica del error de estimación completamente lineal. Los estados del observador no lineal se utilizan en la conformación de la ley de control no lineal derivada en el capítulo anterior, en la página 165. Tal ley de control rezaría ahora de la manera siguiente: u = −Jω 2 n (ˆ x 1 −X) −(2Jζωn −B)ˆ x 2 +c sen _ ˆ x 1 N _ (6.19*) donde x 1 y x 2 han sido reemplazados por sus respectivos valores estimados. El esquema de control no lineal, basado en el observador no lineal propuesto, se muestra en el diagrama de bloques de la Figura 7.4. La respuesta del sistema en lazo cerrado, obtenida mediante simulación numérica se muestra en la Figura 7.5. Los Listados 7.3 y 7.4 permiten simular el sistema en lazo cerrado de acuerdo al esquema mostrado. 194 DISEÑO DE OBSERVADORES DINÁMICOS DE ESTADO NO LINEALES BASADOS EN LINEALIZACIÓN EXTENDIDA Figura 7.5: Comportamiento de un manipulador robótico controlado sobre la base de un controlador y un observador dinámico de estados, obtenidos por linealización extendida 7.5 EJEMPLOS 195 Listado 7.3: Programa de simulación de un manipulador robótico regulado median- te una realimentación y un observador no lineales, basados en linealización extendida srobleob2.m % srobleob2.m % % Programa que simula la respuesta en lazo cerrado de un brazo manipulador % robotico controlado por una ley de realimentacion no lineal, basada % en un observador no lineal. El disenno del controlador y el observador % se realizo mediante el metodo de la linealizacion extendida. % % parametros de simulacion t0 = 0; tf = 2; x0 = [pi/2 0.0 0.0 0.0]; % simulacion [t,x] = ode23(’robleob2’,[t0 tf],x0); subplot(221),plot(t,x(:,1),’k’,t,x(:,3),’k--’) title(’Posicion angular’) xlabel(’t [seg]’) ylabel(’x1 (-), x1 estimada (--) [rad]’) subplot(222),plot(t,x(:,2),’k’,t,x(:,4),’k--’) title(’Velocidad angular’) xlabel(’t [seg]’) ylabel(’x2 (-), x2 estimada (--) [rad/seg]’) % parametros B = 1e-2; J = 4e-2; c = .58; N = 1; % punto de equilibrio X = 0; % polinomios deseados xi = 0.707; wn = 8.56; % control uu = -J*wn*wn*(x(:,3)-X) + c*sin(x(:,3)/N) + (B-2*J*xi*wn)*x(:,4); subplot(223),plot(t,uu,’k’) title(’Torque’) xlabel(’t [seg]’) ylabel(’u [N-m]’) subplot(224),plot(t,x(:,1),’k’) title(’Posicion angular’) xlabel(’t [seg]’) ylabel(’y [rad]’) % fin de srobleob2.m 196 DISEÑO DE OBSERVADORES DINÁMICOS DE ESTADO NO LINEALES BASADOS EN LINEALIZACIÓN EXTENDIDA Listado 7.4: Modelo de un manipulador robótico y ley de control con observador no lineal basada en linealización extendida robleob2.m function dx = robleob2(t,x) % % modelo de un manipulador robotico regulado mediante un controlador % y un observador no lineales, obtenidos a partir del metodo de la % linealizacion extendida. % parametros B = 1e-2; J = 4e-2; c = .58; N = 1; % punto de equilibrio X = 0; % polinomios deseados xi = 0.707; wn = 8.56; % control b1 = 6.0; b2 = 8.0; % observacion u = -J*wn*wn*(x(3)-X) + c*sin(x(3)/N) + (B-2*J*xi*wn)*x(4); y = x(1); dx = [x(2); -B/J*x(2)-c/J*sin(x(1)/N)+1/J*u; % modelo x(4)+(b1+b2-B/J)*(y-x(3)); -B/J*x(4)+1/J*u+(b1*b2-B/J*(b1+b2)+B*B/J/J)*(y-x(3))-c/J*sin(y/N)]; % fin de robleob2.m Matlab 7.3: Conductor móvil: observador no lineal basado en linealización extendida Consideremos ahora el Ejemplo 6.2, presentado en el capítulo anterior, en la página 167. Las ecuaciones de estado del sistema, Modelo 24, en la página 73, son las siguientes: ˙ x 1 = x 2 ˙ x 2 = −k(x 1 −L 0 ) + 2iL a −x 1 u y = x 1 (3.13*) donde la salida medida corresponde a la distancia al conductor pequeño. El punto de equilibrio de, parametrizado en términos de una cierta distancia (nominal) deseada de valor x 1 = b, está dado por: u = U(b) = k(b −L 0 )(a −b) 2iL ; Y (b) = X 1 (b) = b ; X 2 (b) = 0 El controlador no lineal que estabiliza la posición del conductor a su valor nominal estaba dado por: u = −κ(x 1 , x 2 ) = a −x 1 2iL [−a 1 a 2 (x 1 −b) +k(x 1 −L 0 ) −(a 1 +a 2 )x 2 ] (6.21*) Diseñaremos ahora un observador de estado no lineal que permita instrumentar la ley de control anterior sobre la base de estimaciones del vector de estado, es decir, u = −κ(ˆ x 1 , ˆ x 2 ) = a − ˆ x 1 2iL [−a 1 a 2 (ˆ x 1 −b) +k(ˆ x 1 −L 0 ) −(a 1 +a 2 )ˆ x 2 ] donde se han, efectivamente, sustituido x 1 y x 2 por sus respectivos estimados. 7.5 EJEMPLOS 197 Linealización del sistema alrededor del punto de equilibrio: _ ˙ x 1δ ˙ x 2δ _ = _ 0 1 − _ k a−2b+L 0 a−b _ 0 _ _ x 1δ x 2δ _ + _ 0 2iL a−b _ u δ y = x 1δ Análisis de observabilidad: O = _ 1 0 0 1 _ ; detO = −1 = 0 Proponemos un observador lineal de la forma siguiente: _ ˙ ˆ x 1δ ˙ ˆ x 2δ _ = _ 0 1 − _ k a−2b+L 0 a−b _ 0 _ _ ˆ x 1δ ˆ x 2δ _ + _ 0 2iL a−b _ u δ + _ Λ 1 (b) Λ 2 (b) _ (y δ − ˆ y δ ) ˆ y = ˆ x 1δ El error de estimación incremental deberá satisfacer la ecuación dinámica _ ˙ e 1δ ˙ e 2δ _ = _ −Λ 1 (b) 1 −Λ 2 (b) − _ k a−2b+L 0 a−b _ 0 _ _ e 1δ e 2δ _ Polinomio característico de este sistema autónomo: p(s) = s 2 + Λ 1 (b)s + Λ 2 (b) +k a −2b +L 0 a −b Polinomio característico deseado: p d (s) = s 2 + 2ζωns +ω 2 n con raíces en el semiplano izquierdo del plano complejo. Al igualar p(s) y p d (s) se obtienen las ganancias requeridas del observador lineal: Λ 1 (b) = 2ζωn ; Λ 2 (b) = ω 2 n −k a −2b +L 0 a −b El observador lineal puede expresarse entonces como: _ ˙ ˆ x 1δ ˙ ˆ x 2δ _ = _ 0 1 − _ k a−2b+L 0 a−b _ 0 _ _ ˆ x 1δ ˆ x 2δ _ + _ 0 2iL a−b _ u δ + _ 2ζωn ω 2 n −k a−2b+L 0 a−b _ (y δ − ˆ y δ ) ˆ y = ˆ x 1δ Siguiendo el método de la linealizaciín extendida, este observador lineal debe representar la linealización, alrededor del punto de equilibrio, del siguiente observador dinámico no lineal de estado del sistema original: ˙ ˆ x 1 = ˆ x 2 +g 1 (y) −g 1 (ˆ y) ˙ ˆ x 2 = −k(ˆ x 1 −L 0 ) + 2iL a − ˆ x 1 +g 2 (y) −g 2 (ˆ y) ˆ y = ˆ x 1 Debe cumplirse entonces que: ∂g 1 (y) ∂y ¸ ¸ ¸ ¸ y=b = 2ζωn ; ∂g 2 (y) ∂y ¸ ¸ ¸ ¸ y=b = ω 2 n −k a −2b +L 0 a −b 198 DISEÑO DE OBSERVADORES DINÁMICOS DE ESTADO NO LINEALES BASADOS EN LINEALIZACIÓN EXTENDIDA - - - - - u y = x 1 u ˆ x 1 ˆ x 2 ˙ ˆ x 1 = ˆ x 2 + 2ζωn(y − ˆ y) ˙ ˆ x 2 = −k(ˆ x 1 −L 0 ) + 2iL a−ˆ x 1 + (ω 2 n −2k)(y − ˆ y) −k(a −L 0 ) ln( a−y a−ˆ y ) ˆ y = ˆ x 1 ˙ x 1 = x 2 ˙ x 2 = −k(x 1 −L 0 ) + 2iL a−x 1 u y = x 1 u = a−ˆ x1 2iL [−a 1 a 2 (ˆ x 1 −b) +k(ˆ x 1 −L 0 ) −(a 1 +a 2 )ˆ x 2 ] Figura 7.6: Diagrama de bloques en lazo cerrado de un manipulador robótico, consideran- do un observador dinámico no lineal Sustituyendo la transformación y = b se obtiene ∂g 1 (y) ∂y = 2ζωn ; ∂g 2 (y) ∂y = ω 2 n −k a −2y +L 0 a −y de donde es simple obtener, por integración de ambas ecuaciones, las siguientes cantidades: g 1 (y) = 2ζωny ; g 2 (y) = (ω 2 n −2k)y −k(a −L 0 ) ln(a −y) donde ‘ln’ corresponde a la función logaritmo neperiano. El observador dinámico no lineal está dado finalmente por la expresión: ˙ ˆ x 1 = ˆ x 2 + 2ζωn(y − ˆ y) ˙ ˆ x 2 = −k(ˆ x 1 −L 0 ) + 2iL a − ˆ x 1 + (ω 2 n −2k)(y − ˆ y) −k(a −L 0 ) ln _ a −y a − ˆ y _ ˆ y = ˆ x 1 (7.22) El diagrama de bloques de la Figura 7.6 ilustra el esquema de control no lineal en lazo ce- rrado dado por (3.13*)–(6.21*)–(7.22). El comportamiento del sistema en lazo cerrado, obtenido mediante simulación numérica con los programas descritos en Listados 7.5 y 7.6, se muestra en la Figura 7.6. 7.5 EJEMPLOS 199 Listado 7.5: Programa de simulación de un sistema de dos conductores regulado mediante una ley de control no lineal, basada en un observador diseñado mediante linealización extendida sconexob.m % sconexob.m % % programa de simulacion del sistema de dos conductores acoplados % magneticamente, se ilustra la regulacion al punto de equilibrio % usando un esquema de controlador y observador no lineales, % obtenidos mediante linealizacion extendida. % parametros de simulacion t0 = 0; tf = 1.5; x0 = [0.1 0.1 0.2 0.0]; % simulacion [t,x] = ode23(’conexob’,[t0 tf],x0); subplot(221),plot(t,x(:,1),’k’,t,x(:,3),’k--’) title(’Distancia (posicion) del conductor’) xlabel(’t [seg]’) ylabel(’x1 (-), x1 estimada (--) [m]’) subplot(222),plot(t,x(:,2),’k’,t,x(:,4),’k--’) title(’Velocidad del conductor’) xlabel(’t [seg]’) ylabel(’x2 (-), x2 estimada (--) [m/seg]’) % parametros k = 10; L0 = 0.05; I = 0.3; L = 0.5; a = 0.3; % punto de equilibrio b = 0.12; % polinomios deseados a1 = 5.0; a2 = 6.0; % control uu = (a-x(:,3))/(2*I*L).*(-a1*a2*(x(:,3)-b)+k*(x(:,3)-L0)-(a1+a2)*x(:,4)); subplot(223),plot(t,uu,’k’) title(’Corriente I’) xlabel(’t [seg]’) ylabel(’u [Amp]’) subplot(224),plot(t,x(:,1),’k’) title(’Distancia’) xlabel(’t [seg]’) ylabel(’y [m]’) % fin de sconexob.m 200 DISEÑO DE OBSERVADORES DINÁMICOS DE ESTADO NO LINEALES BASADOS EN LINEALIZACIÓN EXTENDIDA Figura 7.7: Comportamiento de un sistema de dos conductores acoplados magnética- mente controlado sobre la base de un controlador y un observador dinámico de estados, obtenidos por linealización extendida 7.6 EJERCICIOS PROPUESTOS 201 Listado 7.6: Modelo y ley de control con observador no lineal basada en linealización extendida conexob.m function dx = conexob(t,x) % % parametros k = 10; L0 = 0.05; I = 0.3; L = 0.5; a = 0.3; % punto de equilibrio b = 0.12; % polinomios deseados a1 = 5.0; a2 = 6.0; % control xi = 0.707; wn = 12; % observacion u = (a-x(3))/(2*I*L)*(-a1*a2*(x(3)-b)+k*(x(3)-L0)-(a1+a2)*x(4)); y = x(1); dx = [x(2); -k*(x(1)-L0)+2*I*L*u/(a-x(1)); % modelo x(4)+2*xi*wn*(y-x(3)); -k*(x(3)-L0)+2*I*L*u/(a-x(3))+(wn*wn-2*k)*(y-x(3))-k*(a-L0)*log((a-y)/(a-x(3)))]; % fin de conexob.m 7.6. Ejercicios propuestos Figura 7.8: Tanque reactor continuamente agitado, no isotérmico Modelo 32: Tanque de reacción continuamente agitado, modelo 5 Considere el tanque reactor (no isotérmico), en el cual ocurre una reacción exotérmica A → B, presentado en la Figura 7.8. El modelo del proceso está representado por dos ecuaciones diferenciales no lineales dadas por: dC A dt = q V (C Af −C A ) −r A (T) dT dt = q V (T f −T) + (−∆H) ρCp r A (T) + ρcCpc ρCpV qc _ 1 −exp _ − hA qcρCpc __ ×(T cf −T) (7.23) donde la función r A (T) = k 0 C A (− E RT ). Las variables del sistema están dadas por: C A es la concentración del componente A; T es la temperatura de la substancia resultante; qc es el flujo de entrada del refrigerante, el cual actúa como variable de control. Los parámetros del sistema son: q es el flujo del substrato de alimentación al tanque; T f es la temperatura del flujo de entrada; T cf 202 DISEÑO DE OBSERVADORES DINÁMICOS DE ESTADO NO LINEALES BASADOS EN LINEALIZACIÓN EXTENDIDA es la temperatura del refrigerante a la entrada del sistema; A, área; Cp, capacidad calo´rica, E, energía de activación; h, coeficiente de transferencia de calor para el TRCA; k 0 , constante de la reacción; ∆H, calor de reacción; ρ, densidad del líquido. El subíndice c se refiere al refrigerante. M Ejercicio 7.1: Diseño de un observador no lineal por linealización extendi- da: TRCA, modelo 5 Utilizando el método presentado en este capítulo, diseñe un observador no lineal de orden completo para el sistema (7.23). La variable medida es la temperatura y = T. () Ejercicio 7.2: Comparación de un esquema completamente lineal con el esquema no lineal desarrollado en este capítulo Considere el ejemplo Matlab 4.1, página 90. Diseñe un controlador y un obser- vador no lineales por linealización extendida. Compare mediante una simulación numérica el esquema en lazo cerrado presentado en Matlab 4.1, con el esquema no lineal diseñado mediante linealización extendida, para diferentes valores de las condiciones iniciales. () Ejercicio 7.3: Observadores de orden reducido Extienda el diseño de observadores no lineales presentado aquí al caso de los observadores de orden reducido. Para ello, tome los Ejemplos 4.2 y 4.3. Desarrolle todas las cuentas para el caso no lineal y compare los observadores de orden reduci- do lineal y no lineal obtenidos. Ayuda: Recuerde que el observador (de orden reducido) no lineal a obtener en cada caso debe, al linealizarse, ser equivalente al observador lineal ya diseñado. ( ) Ejercicio 7.4: Linealización del sistema en lazo cerrado Considere el ejemplo Matlab 7.2. Reescriba las ecuaciones del sistema en la- zo cerrado dado por (1.21*), (7.21), (6.19*), haciendo las sustituciones correspondi- entes, de tal forma que el sistema resultante solo dependa de las variables de estado x1, x2, ˆ x1 y ˆ x2. Determine la linealización aproximada del sistema en lazo cerrado y calcule los autovalores correspondientes. Muestre que se cumple el principio de separación para el sistema linealizado obtenido. () Ejercicio 7.5: Revisión del artículo de Baumann y Rugh (1986) Diríjase al artículo: W. T. Baumann, W. J. Rugh, “Feedback control of nonlinear systems by extended linearization”, IEEE Trans. Automat. Contr., vol. 31, pp. 40–46, 1986, [BR86]. Estudie el ejemplo desarrollado (sección V del mismo). Allí se ilustran todos los elementos y conceptos desarrollados hasta a través del Modelo 27, en la página 112. Se analiza el diseño de un observador no lineal de orden reducido. Repita las simulaciones realizadas en dicho artículo. () 7.7 RESUMEN DEL CAPÍTULO 203 7.7. Resumen del capítulo En este capítulo hemos presentado una extensión del método de la linea- lización extendida al diseño de observadores no lineales de orden completo. El diseño de observadores dinámicos de estado para sistemas no lineales ha sido un tema muy estudiado durante los últimos veinte. Su complejidad natural surge de las múltiples relaciones que se pueden establecer entre la señal de entrada y el vector de estados (productos cruzados, funciones no lineales de los componentes, etc.) que se diferencian de manera notable del caso lineal. El diseño de observadores dinámicos no lineales de orden reducido es inmediato para cierta clase de sistemas no lineales. El caso general de sis- temas no lineales no es trivial, por ello hemos dejado abierto su estudio al lector osado, inquieto por entender cuáles son las dificultades de este prob- lema y su posible solución. Lectura recomendada La linealización extendida fue originalmente propuesta en: W. T. Baumann, W. J. Rugh, “Feedback control of nonlinear systems by extended linearization”, IEEE Trans. Automat. Contr., vol. 31, pp. 40–46, 1986, [BR86]. Recomendamos al lector dirigirse a la página del profesor W. Rugh, cate- drático de la Universidad John Hopskins en Estados Unidos: http://www.ece.jhu.edu/~rugh/214/me/rugh.html, para indigar sobre otras vertientes del método de la linealización extendida. 8 Sintesis de compensadores no lineales G(·) Foto El método de la linealización extendida permite, en principio, la generalización al caso no lineal de cualquier método de diseño de controladores lineales. La idea siempre es la misma: obtener un controlador no lineal tal que “su linealización coincida perfectamente con el diseño lineal parametrizado”. 8.1. Introducción En este capítulo extenderemos el método de diseño de compensadores del tipo P (Proporcional), PI (Proporcional-Integral) y PID (Proporcional- 204 8.1 INTRODUCCIÓN 205 Integral-Derivativo), de uso frecuente y extenso en el control de sistemas lineales, al caso de sistemas no lineales. Utilizaremos como base del diseño linealizado el método de Ziegler-Nichols en régimen frecuencial. No tomaremos en cuenta el método de Ziegler- Nichols basado en los parámetros de la respuesta escalón, por cuanto es mucho más dificil obtener estos parámetros en forma analítica parametri- zada. Como ya vimos en el Capítulo 5, el método frecuencial permite encontrar de una forma sistemática y analítica más directa los elementos del diagra- ma de Nyquist sobre los que se basa el cálculo de los parámetros del contro- lador, P, PI o PID. El método que expondremos sólo se aplica a sistemas de una sola entrada y una salida. Estudiaremos un sistema no lineal, n-dimensional, de una entrada y una salida dado por: ˙ x(t) = f(x(t), u(t)) y = h(x(t)) Sea u(t) = U un punto de operación constante asociado la entrada escalar del sistema anterior. Correspondiente con este valor nominal de la entrada, tenemos un valor de equilibrio para el vector de estado y de la salida, dados respectivamente por x(t) = X(U) y y(t) = Y (U). Supondremos que Y (U) es una función continua de U cuya derivada dY (U)/dU es no nula. Podremos ocasionalmente parametrizar el punto de equilibrio para el control en base a un valor deseado de la salida y(t) = Y mediante una expresión de la forma: U = U(Y ). La expresión linealizada del sistema alrededor del punto de operación genérico (U, X(U), Y (U)), parametrizada en términos del valor constante de la entrada de control en equilibrio, está dada por: ˙ x δ = A(U)x δ +B(U)u δ y δ = C(U)x δ con A(U) = ∂f(x, u) ∂x ¸ ¸ ¸ ¸ X(U),U ; B(U) = ∂f(x, u) ∂u ¸ ¸ ¸ ¸ X(U),U ; C(U) = ∂h(x) ∂x ¸ ¸ ¸ ¸ X(U),U , y, x δ = x −X(U); u δ = u −U; y δ = y −Y (U) A partir de esta representación del sistema linealizado, podemos obtener la función de transferencia del sistema en lazo abierto, parametrizada por el valor U, dada por: G U (s) = C(U)[sI −A(U)] −1 B(U) 206 SINTESIS DE COMPENSADORES NO LINEALES G(·) 8.2. Diseño de reguladores no lineales del tipo P, PI y PID mediante linealización extendida Recordemos la forma del regulador PID obtenido en la Sección 5.2: u δ = K 1 (U)e δ +K 2 (U) _ t o e δ (σ)dσ +K 3 (U) de δ dt (5.5*) Siguiendo el método de la linealización extendida, propondremos a par- tir de la expresión (5.5*) un compensador no lineal general del tipo PID. Aplicaremos la linealización aproximada a este controlador, con el ob- jeto de identificarlo al diseño lineal llevado a cabo precisamente sobre la familia de sistemas linealizados. En este caso, la generalización no lineal del controlador PID asume la forma siguiente: ˙ z(t) = k 2 (z(t))e(t) u(t) = z(t) +k 1 (z(t))e(t) +k 3 (z(t)) de(t) dt (8.1) donde la variable z(t) juega el papel de “estado” del compensador dinámico no lineal. Veamos. La señal de control sintetizada por el compensador anterior adopta en- tonces la forma general u(t) = k 1 (z(t))e(t) + _ t 0 k 2 (z(σ))e(σ)dσ +k 3 (z(t)) de(t) dt , (8.2) la cual en efecto representa una generalización, de tipo no lineal, del con- trolador clásico PID. El error e(t) está dado por e = y ref −y = 0 −y = −y. Note que el punto de equilibrio de la estrategia de control no lineal prop- uesta está dado, evidentemente, por e = 0 y z(U) = U. De esta forma, la linealización del regulador no lineal (8.1), alrededor de su punto de equili- brio, resulta en: ˙ z δ = k 2 (U)e δ u δ = z δ +k 1 (U)e δ (t) +k 3 (U) de δ (t) dt (8.3) Se desprende inmediatamente, de la comparación de este compensador linealizado con el compensador lineal PID diseñado anteriormente, que k 1 (z)| z=U = K 1 (U) ; k 2 (z)| z=U = K 2 (U) ; k 3 (z)| z=U = K 3 (U) 8.2 DISEÑO DE REGULADORES NO LINEALES DEL TIPO P, PI Y PID MEDIANTE LINEALIZACIÓN EXTENDIDA 207 En este caso, las ganancias no lineales se obtienen directamente, de ma- nera practicamente trivial, a partir de las siguientes relaciones: k 1 (z) = K 1 (z) ; k 2 (z) = K 2 (z) ; k 3 (z) = K 3 (z) (8.4) lo cual facilita enormemente la búsqueda del controlador no lineal. Matlab 8.1: Diseño de un controlador no lineal del tipo PI para un modelo promedio de un convertidor Boost de corriente continua Considérese el Modelo 7, en la página 13, de un convertidor tipo “Boost” de corriente continua, regulado mediante conmutaciones generadas sobre la base de un esquema de modulación de ancho de pulsos: ˙ z 1 = −ω 0 z 2 +µω 0 z 2 +b ˙ z 2 = ω 0 z 1 −ω 1 z 2 −µω 0 z 1 y = z 2 (1.16*) La familia de funciones de transferencia parametrizadas, que relacionan el voltaje incremental de salida con el valor incremental de la relación de trabajo, se obtiene del modelo linealizado mediante la expresión, ver Sección 2.3.2: G U (s) = −ω 0 Z 1 (U) s − b Z 1 (U) s 2 +ω 1 s +ω 2 0 (1 −U) 2 (2.10*) donde µ = U ; Z 1 (U) = bω 1 ω 2 0 (1 −U) 2 : Z 2 (U) = b ω 0 (1 −U) Recordemos del Ejemplo 5.2, página 122, el regulador PI lineal diseñado para este sistema, ˙ ξ δ = 0,54 ω 2 0 (1 −U) 3 √ 2πb e δ µ δ = ξ δ + 0,45 ω 0 (1 −U) 2 b e δ (5.12*) donde e δ = −y δ . El período último y la ganancia última resultaron para este caso: P 0 (U) = 2π ω 0 (U) = √ 2π ω 0 (1 −U) ; K 0 (U) = ω 0 (1 −U) 2 b , y las ganancias K 1 y K 2 : K 1 (U) = 0,45 ω 0 (1 −U) 2 b : K 2 (U) = 0,54 ω 2 0 (1 −U) 3 √ 2πb (5.11*) A partir de (5.12*) y (8.4), se puede inferir de manera inmediata la estructura del controlador PI no lineal, cuyo estado designamos mediante z(t), está dada por las ecuaciones: ˙ z(t) = _ 0,54 ω 2 0 (1 −z(t)) 3 √ 2πb _ e(t) ˆ µ(t) = z(t) + _ 0,45 ω 0 (1 −z(t)) 2 b _ e(t) (8.5) donde ahora tenemos e(t) = Z 2 (U) −z 2 (t) Considerando el controlador no lineal (8.5), recordemos que el esquema final de control in- volucrará la delimitación de la señal de control generada por el PI, de acuerdo a un saturador que impida que esa señal tome valores inferiores a 0 o superiores a 1. Ver Figura 8.1. 208 SINTESIS DE COMPENSADORES NO LINEALES G(·) j - - - - - 6 limitador u u lim ˙ z = [0,54 ω 2 0 (1−z) 3 √ 2πb ]e ˆ µ = z + [0,45 ω 0 (1−z) 2 b ]e ˙ z 1 = −ω 0 z 2 +µω 0 z 2 +b ˙ z 2 = ω 0 z 1 −ω 1 z 2 −µω 0 z 1 y = z 2 Z 2 (U) e(t) y(t) PI no lineal Convertidor Boost y(t) = z 2 (t) 1 0 1 + - Figura 8.1: Diagrama de bloques en lazo cerrado del modelo promedio del convertidor Boost, controlado mediante un PI no lineal Figura 8.2: Comportamiento del modelo promedio de un convertidor Boost regulado mediante un PI no lineal obtenido por linealización extendida 8.2 DISEÑO DE REGULADORES NO LINEALES DEL TIPO P, PI Y PID MEDIANTE LINEALIZACIÓN EXTENDIDA 209 Listado 8.1: Programa de simulación del comportmiento del modelo promedio del con- vertidor Boost, regulado mediante un PI nol lineal sboostex.m % sboostex.m % % Programa que simula la respuesta en lazo cerrado de un convertidor % de corriente continua del tipo Boost, controlado a un punto % de equilibrio deseado mediante un regulador PI no lineal % obtenido mediante linealizacion extendida. % clear uu % parametros de simulacion t0 = 0; tf = 0.02; x0 = [0.1 0.1 0.0]; % simulacion [t,x] = ode23(’boostext’,[t0 tf],x0); subplot(221),plot(t,x(:,1),’k’) title(’Corriente normalizada promedio’) xlabel(’t [seg]’) ylabel(’x1’) subplot(222),plot(t,x(:,2),’k’) title(’Tension normalizada promedio’) xlabel(’t [seg]’) ylabel(’x2’) % parametros w0 = 1.881e3; w1 = 1.6667e3; b = 106.06; % punto de equilibrio Ue = 0.8; X2e = b/w0/(1-Ue); yy = x(:,2); uusl = x(:,3)+ 0.45*w0*(1-x(:,3)).*(1-x(:,3))/b.*(X2e-yy); for i = 1:length(t), if uusl(i) >= 1 uu(i) = 1; elseif uusl(i) <= 0 uu(i) = 0; else uu(i) = uusl(i); end end subplot(223),plot(t,uu,’k’) title(’Relacion de trabajo’) xlabel(’t [seg]’) ylabel(’u’) axis([0 tf -0.1 1.1]) subplot(224),plot(t,yy,’k’) title(’Tension de salida’) xlabel(’t [seg]’) ylabel(’y’) % fin de sboostex.m 210 SINTESIS DE COMPENSADORES NO LINEALES G(·) Listado 8.2: Modelo del convertidor Boost y regulador PI no lineal boostext.m function dx = boostext(t,x) % % modelo promedio de un convertidor regulado mediante un PI no lineal, % obtenido a partir del metodo de la linealizacion extendida. % % parametros w0 = 1.881e3; w1 = 1.6667e3; b = 106.06; % valor del control en el equilibrio Ue = 0.8; % valor de la salida en el equilibrio X2e = b/w0/(1-Ue); % salida y = x(2); % calculo del control (sin limitar entre 0 y 1) usl = x(3)+ 0.45*w0*(1-x(3))*(1-x(3))/b*(X2e-y); % limitador if usl >= 1 u = 1; elseif usl <= 0 u = 0; else u = usl; end dx = [-w0*x(2)+u*w0*x(2)+b; w0*x(1)-w1*x(2)-u*w0*x(1); % modelo 0.54*w0*w0*(1-x(3))*(1-x(3))*(1-x(3))/(1.4142*pi*b)*(X2e-y)]; % fin de boostext.m 8.2 DISEÑO DE REGULADORES NO LINEALES DEL TIPO P, PI Y PID MEDIANTE LINEALIZACIÓN EXTENDIDA 211 Los Listados 8.1 y 8.2 simulan la respuesta en lazo cerrado del convertidor Boost promedio. Los valores numéricos de los parámetros son: ω 0 = 1,811 · 10 3 ; ω 1 = 1,6667 · 10 3 ; b = 106,06; U = 0,8; con un valor de equilibrio para la salida promedio de: Y (0,8) = Z 2 (0,8) = 0,2819. Las gráficas mostradas en la Figura 8.2 presentan la respuesta de la tendión de salida prome- dio (normalizada) del sistema controlado, la respuesta de las variables de estado y de la relación de trabajo (entrada). Se observa como las variables tienden a sus valores deseados. El siguiente ejemplo está desarrollado a manera de ilustración de un diseño completo, incluyendo además todo el controlador PID lineal parame- trizado y su correspondiente implementación no lineal, en lazo cerrado, en Matlab (R). Matlab 8.2: Control de altura de nivel de líquido en un conjunto de tanques dispuestos en cascada Considere el Modelo 15, en la página 19, dado por las siguientes ecuaciones ˙ x 1 = − c A √ x 1 + 1 A u . . . ˙ x i = − c A √ x i + c A √ x i−1 ; i = 2, 3, . . . , n y = xn (1.34*) Dado un valor constante u = U, el punto de equilibrio del sistema es: u = U ; x i (U) = X i (U) = U 2 c 2 ; i = 1, 2, . . . , n ; y(U) = Y (U) = U 2 c 2 (1.35) El modelo linealizado del sistema dinámico, alrededor de este punto de equilibrio genérico, está dado por: ˙ x 1δ = − c 2 2AU x 1δ + 1 A u δ ˙ x iδ = − c 2 2AU x iδ + c 2 2AU x (i−1)δ ; i = 1, . . . , n donde : x iδ = x i −X i (U) = x i − U 2 c 2 ; u δ = u −U; y δ = y − U 2 c 2 Tomando transformadas de Laplace de cada una de las ecuaciones diferenciales lineales anteriores, así como en la ecuación de salida, obtenemos: x 1δ (s) = 1 A u δ (s) s + c 2 2AU x iδ (s) = c 2 2AU x (i−1)δ (s) s + c 2 2AU ; i = 2, . . . , n y nδ (s) = x nδ (s) 212 SINTESIS DE COMPENSADORES NO LINEALES G(·) Figura 8.3: Diagramas de Nyquist del sistema de tanques en cascada para diferentes valores de n A partir de este conjunto de relaciones resulta fácil eliminar las transformadas de Laplace de las variables de estado. Se obtiene, sin mayor dificultad, la función de transferencia de la familia de sistemas linealizados: G U (s) = y δ (s) u δ (s) = K/U n−1 (s +τ/U) n donde: K = 1 A _ c 2 2A _ n−1 ; τ = c 2 2A Para calcular las ganancias de un controlador PID que logre regular el comportamiento de la familia de sistemas linealizados debe ser, necesariamente, n ≥ 3. En la Figura 8.3 se muestran los gráficos de Nyquist para las funciones de transferencia del sistema de tanques linealizados, para los valores n = 1, 2, 3, 4. El resto de los valores de los parámetros son: U = 2,5, c = 1, A = 0,5. Recordando el procedimiento ilustrado en la Sección 5.2, es sencillo darse cuenta que para valores de n ≥ 3 se puede apreciar que, efectivamente, existen cortes del gráfico con el eje real. Sólo en tales casos (n ≥ 3) podremos calcular los valores de la ganancia última K 0 y del período último P 0 . El cálculo de la frecuencia de corte se hace sobre la base de la siguiente relación, ver (5.1): arg G U (jω 0 (U)) = arg K/U n−1 (jω 0 (U) +τ/U) n = −π de la cual se deriva inmediatamente que: −ntan −1 _ ω 0 (U) τ/U _ = −π ⇒ ω 0 (U) = τ U tan _ π n _ 8.2 DISEÑO DE REGULADORES NO LINEALES DEL TIPO P, PI Y PID MEDIANTE LINEALIZACIÓN EXTENDIDA 213 El período último está dado entonces por: P 0 (U) = 2π ω 0 (U) = U τ tan _ π n _ El módulo de la función de transferencia para el valor obtenido de la frecuencia angular se calcula como sigue: |G U (jω 0 (U))| = ¸ ¸ ¸ ¸ K/U n−1 (jω 0 (U) +τ/U) n ¸ ¸ ¸ ¸ = K/U n−1 _ ω 2 0 (U) + (τ/U) 2 = K/U n−1 __ (τ/U) 2 tan 2 _ π n _ + (τ/U) 2 _ n = KU τ n sec n _ π n _ La ganancia última resulta: K 0 (U) = τ n sec n _ π n _ KU Las ganancias del controlador PID lineal que estabiliza la familia de sistemas linealizados parametrizados por el punto de equilibrio se obtienen de la Tabla 5.2, página 120, dadas por: K 1 (U) = 0,6τ n KU sec n _ π n _ ; K 2 (U) = 0,6 π τ n−1 tan _ π n _ sec n _ π n _ KU 2 ; K 3 (U) = 0,15πτ n−1 sec n _ π n _ Ktan _ π n _ Así el regulador no lineal del tipo PID está dado por: ˙ z(t) = 0,6 π τ n−1 tan _ π n _ sec n _ π n _ Kz 2 (t) e(t); u(t) = z(t) + 0,6τ n Kz(t) sec n _ π n _ e(t) + 0,15πτ n−1 sec n _ π n _ K tan _ π n _ de(t) dt Tome en cuenta que el error y su derivada de(t)/dt están dados por: e(t) = Y (U) −y(t) = Xn(U) −xn(t) = U 2 c 2 −xn(t) (8.6) y de dt = dY (U) dt − dy(t) dt = 0 − dxn(t) dt = c A √ xn − c A √ x n−1 (8.7) (Note que, idealmente, estamos asumiendo que se puede medir la derivada del error e(t), es decir, disponemos también de la medición del estado x n−1 . Recuerde el comentario que hicimos sobre los controladores PD en la Sección 5.2.) El diagrama de bloques de la Figura 8.4 muestra el esquema de control no lineal propuesto. Con el objeto de ilustrar el funcionamiento del controlador PID no lineal que hemos desarrollado se ha realizado una simulación numérica en Matlab (R). La Figura 8.5 muestra las respuestas de las alturas de líquido en cada uno de los tanques cuando el flujo de entrada de líquido al primer tanque obedece una ley de control del tipo PID no lineal. Los programas utilizados para estas simulaciones se muestran en los Listados 8.3 y 8.4. El esquema propuesto es suficientemente electivo aún en la presencia de limitaciones natu- rales impuestas a la magnitud de la variable de control. Así por ejemplo, si acotamos el valor de u, en el programa de simulación anterior, a valores que no sobrepasen una cierta cota dada por umax, entonces el sistema controlado funcionará temporalmente, durante el período que subsista la condición de saturación, en lazo abierto. Las simulaciones numéricas realizadas, presentadas en la Figura 8.6, demuestran que a pesar de perderse la realimentación durante un período signi- ficativo de tiempo por efecto de la saturación, el controlador aún tiene éxito en estabilizar la salida del sistema al punto de equilibrio requerido, esto gracias al comportamiento natural del sistema. 214 SINTESIS DE COMPENSADORES NO LINEALES G(·) j - - - - 6 e(t) u(t) ˙ x 1 = − c A √ x 1 + 1 A u ˙ x i = − c A √ x i + c A √ x i−1 i = 2, 3, . . . , n y = xn y = xn(t) Y (U) ˙ z = 0,6 π τ n−1 tan( π n ) sec n ( π n ) Kz 2 e u = z + 0,6τ n Kz sec n ( π n )e + 0,15πτ n−1 sec n ( π n ) Ktan( π n ) de dt - + Figura 8.4: Diagrama de bloques en lazo cerrado de un sistema de tanques regulado mediante un PID no lineal Figura 8.5: Simulación del comportamiento de un sistema de tres tanques en cascada controlados por intermedio de un PID no lineal 8.2 DISEÑO DE REGULADORES NO LINEALES DEL TIPO P, PI Y PID MEDIANTE LINEALIZACIÓN EXTENDIDA 215 Listado 8.3: Programa de simulación del sistema de tanques controlados mediante un PID no lineal stanqext.m % stanqext.m % % Programa que simula la respuesta en lazo cerrado con un PID no lineal % disenado mediante el metodo de la linealizacion extendida. % % parametros de simulacion t0 = 0; tf = 40; x0 = [1 1 1 2]; % simulacion [t,x] = ode23(’tanqext’,[t0 tf],x0); subplot(211),plot(t,x(:,1),’k’,t,x(:,2),’k--’,t,x(:,3),’k:’) title(’Alturas de los tanques’) xlabel(’t [seg]’) ylabel(’x_1, x_2, x_3 [m]’) text(5,12.5,’x_1’) text(6.4,10,’x_2’) text(11,8,’y = x_3’) % parametros n = 3; c = 1; A = 0.5; tau = c^2/(2*A); K = 1/A*(tau)^(n-1); % punto de equilibrio Ue = 2.5; Ye = Ue^2/c^2; yy = x(:,3); ery = Ye - yy; uu = x(:,4)+0.6*tau^n/K/x(:,4)*sec(pi/n)^n*ery+0.15*tau^(n-1)*sec(pi/n)^n/K/tan(pi/n)*... (c/A*sqrt(x(:,3))-c/A*sqrt(x(:,2))); subplot(212),plot(t,uu,’k’) title(’Flujo de entrada’) xlabel(’t [seg]’) ylabel(’u [m^3/seg]’) % fin de stanqext.m 216 SINTESIS DE COMPENSADORES NO LINEALES G(·) Listado 8.4: Modelo del sistema de tanques e implementación del controlador PID no lineal tanqext.m function dx = tanqext(t,x) % % modelo de un manipulador robotico regulado mediante un controlador % y un observador no lineales, obtenidos a partir del metodo de la % linealizacion extendida. % parametros n = 3; c = 1; A = 0.5; tau = c^2/(2*A); K = 1/A*(tau)^(n-1); % punto de equilibrio Ue = 2.5; Ye = Ue^2/c^2; y = x(3); ery = Ye - y; u = x(4)+0.6*tau^n/K/x(4)*sec(pi/n)^n*ery+0.15*pi*tau^(n-1)*sec(pi/n)^n/K/tan(pi/n)*... (c/A*sqrt(x(3))-c/A*sqrt(x(2))); dx = [-c/A*sqrt(x(1))+1/A*u; -c/A*sqrt(x(2))+c/A*sqrt(x(1)); -c/A*sqrt(x(3))+c/A*sqrt(x(2)); 0.6/pi*tau^(n+1)*tan(pi/n)*sec(pi/n)^n/K/x(4)^2*ery]; % fin de tanqext.m Figura 8.6: Simulación del comportamiento de un sistema de tres tanques en cascada controlados por intermedio de un PID no lineal 8.3 COMPENSADORES NO LINEALES BASADOS EN EL ESQUEMA CONTROLADOR-OBSERVADOR CLÁSICO 217 8.3. Compensadores no lineales basados en el esquema controlador-observador clásico Nuestro objetivo ahora es el de extender al caso no lineal el método de di- seño de compensadores lineales presentado en la Sección 5.4. La idea prin- cipal en lograr esta extensión es, de nuevo, proponer un esquema de compen- sación no lineal que tenga la misma forma que el esquema del controlador- observador. Para validar el diseño se procede a linealizar el controlador no lineal propuesto y se identifican las linealizaciones de cada bloque con las que se presentaron en el esquema linealizado. Finalmente, nos aseguraremos de que las linealizaciones de los distintos bloques, en el esquema no lineal, coincidan con los bloques compensadores que hemos obtenido para el sistema linealizado. El procedimiento nos per- mitirá generar las relaciones generales y las condiciones de equilibrio que logran tal identidad. Proponemos un esquema de compensación general practicamente idénti- co al esquema lineal. Se especifican cada uno de los bloques compensadores dinámicos como un sistema n−1 dimensional no lineal de tipo general, cuyas salidas pueden ahora exhibir dependencia de la entrada. Los subsistemas compensadores propuestos serán de la forma: ˙ z u = χ u (z u , u) y u = η u (z u , u) , ˙ z y = χ y (z y , y) y y = η y (z y , y) (8.8) El esquema general controlador-observador no lineal, basado en la inter- conexión de estos sistemas compensadores, se presenta en la Figura 8.7. (Compare con el esquema presentado en la Figura 5.9.) El conjunto de ecuaciones que conforman el sistema en lazo cerrado, sobre las cuales aplicaremos el proceso de linealización, están dadas por el siguiente conjunto de 3n −2 ecuaciones diferenciales: _ _ ˙ x ˙ z u ˙ z y _ _ = _ _ f(x(t), u(t)) χ u (z u , u) χ y (z y , y) _ _ (8.9) donde y = h(x(t)) u = η u (z u , u) +η y (z y , y) (8.10) Analicemos por etapas el esquema no lineal (8.8). Consideremos primero el problema particular de encontrar el bloque compensador no lineal del lazo de realimentación más interior del esquema propuesto (8.8), es decir, ˙ z u = χ u (z u , u) y u = η u (z u , u) 218 SINTESIS DE COMPENSADORES NO LINEALES G(·) l l - - - - 6 6 hola1 hola2 v u - + + - yu yy hola3 hola4 hola5 hola6 y Figura 8.7: Esquema no lineal controlador-observador Supongamos conocida la función de transferencia de la versión lineal- izada, H uδ (U, s), de este bloque alrededor de su punto de operación, el cual se especifica además como u = U ; z u (U) = Z u (U) ; y u (U) = η u (Z u (U), U) = Y u (U) , y satisface χ u (Z u (U), U) = 0 . La función de transferencia de la linealización de este subsistema alrede- dor del punto de equilibrio está dada por: y uδ (s) u δ (s) = H uδ (U, s) = = _ _ ∂η u ∂z u __ sI − _ ∂χ u ∂z u __ −1 _ ∂χ u ∂u _ + _ ∂η u ∂u _ _ Zu(U),U (8.11) Note que de aquí en adelante hemos tratado de simplificar la notación nece- saria para indicar que todo el proceso de linealización descansa sobre la evaluación en el punto de operación particular (Z u (U), U). Para llegar a la expresión (8.11) recuerde que el sistema ˙ x = Ax + Bu, y = Cx + Du tiene por función de transferencia G(s) = C(sI −A)B +D. Asumamos, adicionalmente, que la función de transferencia H uδ (U, s) 8.3 COMPENSADORES NO LINEALES BASADOS EN EL ESQUEMA CONTROLADOR-OBSERVADOR CLÁSICO 219 tiene la siguiente expresión explícita: y uδ (s) u δ (s) = H uδ (U, s) = = n u(n−1) (U)s n−2 +n u(n−2) (U)s n−3 +. . . +n u2 (U)s +n u1 (U) s n−1 +α n−1 s n−2 +. . . +α 2 s +α 1 +n un (U) (8.12) Note que el denominador es de grado n − 1 como habiamos supuesto al discutir el caso lineal. Al comparar la expresión (8.12) con la expresión linealizada (8.11), iden- tificamos inmediatamente la siguiente relación: n un (U) = _ ∂η u ∂u ¸ ¸ ¸ ¸ Zu(U),U _ (8.13) Con el objeto de continuar el proceso de contratación e identificación de cada término, haremos ahora una simplificación drástica e importante, la cual no conlleva sin embargo pérdida de generalidad. Vamos a suponer una estructura lineal en “forma canónica compañera” para la función vec- torial χ u (z u , u). Esto se corresponde con la idea de obtener realizaciones en espacio de estado del compensador linealizado en forma canónica de contro- labilidad. Esto no impide que se pueda identificar la función de salida del bloque compensador como una función no lineal (haciendo, por tanto, todo el bloque compensador de naturaleza no lineal). En efecto, supongamos entonces que χ u (z u , u) es de la forma: χ u (z u , u) = _ ¸ ¸ ¸ _ z u2 z u3 . . . −α 1 z u1 −α 2 z u2 −. . . −α n−1 z u(n−1) _ ¸ ¸ ¸ _ + _ ¸ ¸ ¸ ¸ ¸ _ 0 0 . . . 0 1 _ ¸ ¸ ¸ ¸ ¸ _ u 220 SINTESIS DE COMPENSADORES NO LINEALES G(·) Puesto que: ∂χ u (z u , u) ∂u = b u = _ ¸ ¸ ¸ ¸ ¸ _ 0 0 . . . 0 1 _ ¸ ¸ ¸ ¸ ¸ _ ; ∂η u (z u , u) ∂z u = _ ∂η u (z u , u) ∂z u1 ∂η u (z u , u) ∂z u2 . . . ∂η u (z u , u) ∂z u(n−1) _ ; ∂χ u (z u , u) ∂z u = A u (U) = _ ¸ ¸ ¸ ¸ ¸ _ 0 1 0 . . . 0 0 0 1 . . . 0 . . . . . . . . . . . . . . . 0 0 0 . . . 1 −α 1 −α 2 −α 3 . . . −α n−1 _ ¸ ¸ ¸ ¸ ¸ _ , se tendrá como válida la siguiente expresión: _ _ ∂η u ∂z u __ sI − _ ∂χ u ∂z u __ −1 _ ∂χ u ∂u _ _ Zu(U),U = __ ∂η u (z u , u) ∂z u(n−1) _ s n−2 + _ ∂η u (z u , u) ∂z u(n−2) _ s n−3 +. . . + _ ∂η u (z u , u) ∂z u1 __ Zu(U),U s n−1 +α n−1 s n−2 +. . . +α 2 s +α 1 (8.14) Comparando esta última expresión con la parte correspondiente de la función de transferencia (8.12), obtenemos las siguientes relaciones: _ ∂η u (z u , u) ∂z ui ¸ ¸ ¸ ¸ Zu(U),U _ = n ui (U); i = 1, 2, . . . , n −1 (8.15) Las relaciones (8.13) y (8.15) permitirán encontrar la expresión de la función no lineal de salida η u (·) del compensador interno. Antes de pro- ceder a encontrar esta función no lineal de salida del bloque compensador, hagamos unas breves consideraciones sobre el punto de equilibrio de este subsistema. Tenemos en equilibrio u = U. Note, sin embargo, que u representa real- mente un error definido en relación a la señal de referencia v. El estado del compensador en condiciones de equilibrio cumple: _ ¸ ¸ _ z u2 (U) z u3 (U) . . . −α 1 z u1 (U) −α 2 z u2 (U) −. . . −α n−1 z u(n−1)(U) _ ¸ ¸ _ = _ ¸ ¸ ¸ ¸ _ 0 0 . . . 0 U _ ¸ ¸ ¸ ¸ _ 8.3 COMPENSADORES NO LINEALES BASADOS EN EL ESQUEMA CONTROLADOR-OBSERVADOR CLÁSICO 221 en consecuencia: z u1 (U) = U α 1 Podemos suponer que esta igualdad es una particularización de una relación semejante, válida en condiciones arbitrarias diferentes a las de equilibrio. Es decir, vamos a asumir que z u1 (u) = u α 1 ⇒ u = α 1 z u1 Se establece entonces, sin mayores dificultades, que el conjunto de rela- ciones (8.15) surge, en realidad, del siguiente conjunto de ecuaciones en derivadas parciales: ∂η u (z u , u) ∂z ui = n ui (α 1 z u1 ); i = 1, 2, . . . , n −1 (8.16) A partir de (8.16) obtenemos, inmediatamente, como solución posible para la función no lineal de salida, η u , la siguiente expresión η u (z u , u) = Ψ(z u1 , u) +n u2 (α 1 z u1 )z u2 +n u3 (α 1 z u1 )z u3 +. . . +n u(n−1) (α 1 z u1 )z u(n−1) (8.17) donde Ψ(z u1 , u) es una función arbitraria de las variables z u1 y u, definida por la expresión: Ψ(z u1 , u) = n u1 (α 1 z u1 )z u1 − 1 α 1 n u1 (α 1 z u1 )u + _ u 0 _ n un (σ) + 1 α 1 n u1 (σ) _ dσ lo cual es fácil verificar, en efecto: ∂η u (z u , u) ∂u = ∂Ψ(z u , u) ∂u = − 1 α 1 n u1 (α 1 z u1 ) +n un (u) + 1 α 1 n u1 (u) = n un (u) y ∂Ψ(z u1 , u) ∂z u1 = n u1 (α 1 z u1 ) + ∂n u1 (α 1 z u1 ) ∂z u1 − 1 α 1 ∂n u1 (α 1 z u1 ) ∂z u1 u = n u1 (α 1 z u1 ) En resumen, el compensador no lineal que conforma el lazo más interior estaría dado por el siguiente sistema lineal con función de salida no lineal, 222 SINTESIS DE COMPENSADORES NO LINEALES G(·) dados por: ˙ z u1 = z u2 ˙ z u2 = z u3 . . . ˙ z u(n−2) = z u(n−1) ˙ z u(n−1) = −α 1 z u1 −α 2 z u2 −. . . −α n−1 z u(n−1) +u y u = n u1 (α 1 z u1 )z u1 +n u2 (α 1 z u1 )z u2 +. . . +n u(n−1) (α 1 z u1 )z u(n−1) − 1 α 1 n u1 (α 1 z u1 )u + _ u 0 _ n un (σ) + 1 α 1 n u1 (σ) _ dσ (8.18) Analicemos por un instante el sistema no lineal (8.18). En condiciones de equilibrio tenemos que y u satisface: y u (U) = _ U 0 _ n un (σ) + 1 α 1 n u1 (σ) _ dσ = _ U 0 H u (σ, 0)dσ Lo cual dice que el sistema linealizado satisface en equilibrio: ∂y u (U) ∂U = ∂η u (U) ∂U = H u (U, 0) = l´ım s→0 H u (U, s) cuya justificación proviene, de manera independiente, del teorema del valor final. Usando exactamente el mismo razonamiento podemos encontrar la re- alización en espacio de estado del compensador que conforma el lazo de realimentación externo: ˙ z y = χ y (z y , y) y y = η y (z y , y) Supongamos que la función de transferencia del subsistema compensa- dor linealizado es de la forma y yδ (s) y δ (s) = H yδ (Y, s) = = _ _ ∂η y ∂z y __ sI − _ ∂χ y ∂z y __ −1 _ ∂χ y ∂y _ + _ ∂η y ∂y _ _ Zy(Y ),Y = n y(n−1) (Y )s n−2 +n y(n−2) (Y )s n−3 +. . . +n y2 (Y )s +n y1 (Y ) s n−1 +α n−1 s n−2 +. . . +α 2 s +α 1 +n yn (Y ) 8.3 COMPENSADORES NO LINEALES BASADOS EN EL ESQUEMA CONTROLADOR-OBSERVADOR CLÁSICO 223 El compensador no lineal del lazo interno resulta entonces: ˙ z y1 = z y2 ˙ z y2 = z y3 . . . ˙ z y(n−2) = z y(n−1) ˙ z y(n−1) = −α 1 z y1 −α 2 z y2 −. . . −α n−1 z y(n−1) +y y y = n y1 (α 1 z y1 )z y1 +n y2 (α 1 z y1 )z y2 +. . . +n y(n−1) (α 1 z y1 )z y(n−1) − 1 α 1 n y1 (α 1 z y1 )y + _ y 0 _ n yn (σ) + 1 α 1 n y1 (σ) _ dσ (8.19) En condiciones de equilibrio y y satisface: y y (Y ) = _ Y 0 _ n yn (σ) + 1 α 1 n y1 (σ) _ dσ = _ Y 0 H y (σ, 0)dσ El diagrama de bloques del esquema compensador demanda entonces que debe ser cierta la siguiente relación de equilibrio: −y u (U) −y y (Y ) +V = −y u (U) −y y (Y (U)) +V = U de donde, la señal constante de referencia que es necesario suministrar para producir el equilibrio deseado deberá cumplir: V = y u (U) +y y (Y (U)) +U (8.20) Continuaremos ahora el Ejemplo 5.3 del manipulador robótico, proponien- do el diseño de un regulador no lineal del tipo controlador-observador. Matlab 8.3: Compensador no lineal del tipo controlador-observador para un manipulador robótico (continuación) Las realizaciones en espacio de estado de los compensadores estabilizantes del sistema lineali- zado alrededor del punto de equilibrio resultaron ser: ˙ z uδ = −αz uδ +u δ y uδ = _ 2ζωn − B J _ z uδ ˙ z yδ = −αz yδ +y δ y yδ = − _ 2ζωn − B J _ _ c n cos _ Y n _ +αJ _ α − B J __ z yδ + J _ ω 2 n + _ α − B J _ _ 2ζωn − B J _ − c nJ cos _ Y n __ y δ Observamos inmediatamente que el controlador del lazo más interno es independiente del punto de operación. Por lo tanto esta parte del compensador estará constituida por un sistema lineal cuya función de salida es también lineal: ˙ zu = −αzu +u yu = _ 2ζωn − B J _ zu 224 SINTESIS DE COMPENSADORES NO LINEALES G(·) Usando el procedimiento expuesto anteriormente podemos escribir el compensador no lineal más externo de la manera siguiente: ˙ zy = −αzy +y yy = _ 2ζωn − B J _ _ c n cos _ αzy n _ +αJ _ α − B J __ zy + 1 α _ 2ζωn − B J _ _ c n cos _ αzy n _ +αJ _ α − B J __ y + _ y 0 _ J _ ω 2 n + _ α − B J _ _ 2ζωn − B J _ − c nJ cos _ σ n _ _ − 1 α _ 2ζωn − B J _ _ c n cos _ σ n _ +αJ _ α − B J ___ dσ Resolviendo la integral _ y 0 ·dσ y simplificando obtenemos: yy = − _ 2ζωn − B J _ _ c n cos _ αzy n _ +αJ _ α − B J __ _ zy − y α _ +Jω 2 n y −c _ 1 + 1 α _ 2ζωn − B J __ sin _ y n _ De la condición de equilibrio (8.20) obtenemos: V = nJω 2 n sin −1 _ U n _ = Jω 2 n Y El siguiente diagrama de bloques ilustra la disposición del esquema de compensación no lineal Los gráficos siguientes muestran la respuesta del brazo controlado por el regulador no lineal del tipo controlador-observador que hemos derivado en éste ejemplo: El programa utilizado en la generación de los gráficos anteriores se muestra a continuación. 8.4. Ejercicios propuestos Ejercicio 8.1: Linealización del regulador PID no lineal Verifique la linealización (8.3) del PID no lineal dado por (8.1). () Ejercicio 8.2: Esquema no lineal de ontrolador-observador: sistema de sus- pensión magnética Complete el diseño del Ejemplo 5.4, página 131. () Ejercicio 8.3: Esquema no lineal de ontrolador-observador: TRCA Complete el diseño no lineal para el Ejemplo 5.5, desarrollado en la página 132. () 8.5. Resumen del capítulo y Lecturas adicionales Se presentaron dos esquemas de compensación no lineal, obtenidos a través del método de la linealización extendida. Los esquemas estudiados 8.5 RESUMEN DEL CAPÍTULO Y LECTURAS ADICIONALES 225 k k - - - - 6 6 v u - + + - yu yy hola3 hola4 hola5 hola6 y hola7 hola1 hola2 hola3 Manipulador Robotico Figura 8.8: Esquema de control no lineal controlador-observador para el manipulador robótico son un PID no lineal y un controlador-observador no lineal basado en el esquema clásico. El primer método corresponde a una generalización directa del PID li- neal parametrizado presentado en el Capítulo 5. El segundo esquema es equivalente al del controlador-observador clásico; sin embargo, para su ob- tención hicimos uso de algunas herramientas tales como la forma canónica de controlabilidad y el teorema del valor final. Estos esquemas reposan so- bre las funciones de transferencia G(s, U) de las familias lineales parametrizadas respecto a un punto de equilibrio genérico (X, U, Y ). Lecturas recomendadas 226 SINTESIS DE COMPENSADORES NO LINEALES G(·) Figura 8.9: Respuesta en lazo del manipulador robótico, regulado mediante una ley no lineal basada en el controlador-observador clásico Parte III Control No Lineal de Sistemas No Lineales: Linealización Exacta 227 228 CONTROL NO LINEAL DE SISTEMAS NO LINEALES: LINEALIZACIÓN EXACTA Durante la década de los ochenta, se han logrado avances significativos en la comprensión de los sistemas de control dinámicos no lineales. Estos avances han hecho posible la solución definitiva de problemas que ocuparon la atención de los investigadores durante muchos años. Algunas dificul- tades asociadas con los problemas de diseño de controladores para sistemas no lineales han sido esclarecidas y su razón fundamental de ser ha logrado un tratamiento general con explicaciones que se han beneficiado de la intu- ición que se posee a partir del caso lineal. Aunado a esto, el desarrollo sin precedentes de las herramientas computacionales y su enorme velocidad de procesamiento ha permitido el tratamiento sistemático del diseño, más exigente, de controladores para sistemas no lineales. En particular, debe- mos resaltar que el desarrollo de los paquetes de manipulación simbólica ha permitido poner al alcance de ingenieros y estudiantes, las técnicas de diseño de controladores para sistemas no lineales. Como complemento a los dos métodos precedentes, vamos a introducir el método de la linealización exacta. Estudiaremos primeramente el método de par o control calculado, proveniente del área de la robótica, en el Capítulo 9. Luego discutiremos sobre una clase de sistemas representa- dos naturalmente bajo una forma canónica controlable. Sistemas bajo esta forma pueden ser transformados en sistemas lineales con solo hacer una transformación dependiente de los estados en el espacio de los controles. Es- ta transformación directa en general no es posible. Una posibilidad es llevar el sistema no lineal original a la forma canónica propuesta, mediante una transformación no lineal de los estados. En el Capítulo 10 se definen las condiciones para que tal tranformación sea posible. Esto requerirá estudi- ar algunas herramientas básicas de geometría diferencial. Se introducirán conceptos y procedimientos algorítmicos asociados a la derivada direccional, los corchetes de Lie, el adjunto, o el Teorema de Frobenius. Como veremos, será necesario encontrar una salida o función del sistema tal que al difer- enciarla respecto al tiempo, la entrada solo aparece en la n-ésima derivada (n corresponde al número de estados). Aún si estamos interesados en una salida donde el control aparece en r-ésima derivada (r < n) será posible lin- ealizar el sistema entrada-salida, con la salvedad que ahora debemos tomar en cuenta lo que se conoce con el nombre de dinámica remanente o dinámica de los ceros. Este tema ocupará nuestra atención en el Capítulo 11. Tratare- mos finalmente de manera breve, en el Capítulo 12, los observadores no lineales cuya dinámica del error de observación es perfectamente lineal. Esta parte es relativamente independiente de las dos anteriores, sin em- bargo, requiere sólidos conocimientos de la teoría de control lineal y de, al menos, el diseño de controladores por realimentación del vector de esta- dos. Sería muy útil que el lector se preocupe por comparar los controladores obtenidos, aplicándo las diferentes estrategias de diseño a un mismo ejem- plo, de tal manera que pueda por si mismo entender las fortalezas y debili- dades de cada una de las estrategias presentadas a lo largo del texto. 9 Introducción a la linealización exacta Foto Estudiaremos una clase de sistemas no lineales posible de ser lin- ealizada en forma exacta, sin recurrir a aproximaciones, median- te una realimentación no lineal del vector de estado. Esta reali- mentación corresponde a una transformación, dependiente de los estados, en el espacio de los controles. Presentaremos una for- ma canónica controlable para la clase de sistemas no lineales que pueden ser linealizados exactamente por simple inspección. 9.1. Motivación: método del control calculado Los robots constituyen una de las clases de sistemas no lineales más extensamente estudiados, tanto en la práctica como en el desarrollo teóri- co [KS03]. Los ingenieros e investigadores que trabajan en el mundo de la robótica llegaron a obtener de manera empírica leyes de control altamente sofisticadas basadas directamente en los modelos no lineales de dichos sis- 229 230 INTRODUCCIÓN A LA LINEALIZACIÓN EXACTA Figura 9.1: Diagrama de bloques del sistema aro – anillo temas. El método más conocido, el cual constituye la base del enfoque de linealización exacta, es el conocido como método del torque o control cal- culado. Gran parte del trabajo original en control no lineal se hizo en el área de robótica En este capítulo daremos algunos ejemplos de diseño de ese tipo de con- troladores no lineales que se pueden llevar a cabo de manera directa, es decir, casi por inspección del modelo no lineal. Como veremos tal proce- dimiento de diseño resulta en un sistema en lazo cerrado que es perfecta- mente lineal, sin que en el proceso de diseño hayamos involucrado, en forma alguna, un proceso de aproximación de las ecuaciones originales. Estos con- troladores se reinterpretarán, más adelante, como provenientes de ciertas transformaciones, dependientes del estado, llevadas a cabo en el espacio de los controles. Constataremos que el método propuesto no es del todo general y que una El método de control calculado se aplica directamente solo a una clase restringida de sistemas gran cantidad de casos no pueden beneficiarse de este enfoque tan sencillo. Aquellos casos que no pueden ser resueltos por esta técnica ameritarán en- tonces un tratamiento que debe explorar también la posibilidad de realizar transformaciones en el espacio de los estados. Ejemplo 9.1: Control del movimiento de un anillo sobre un aro giratorio Consideremos el problema de controlar los movimientos del aro que se desliza sobre un anillo que rota sobre su eje vertical, ya tratado anteriormente en el capítulo 4. Este sistema en variables de estado está dado por: Modelo 16, en la página 19, ˙ x 1 = x 2 ˙ x 2 = − g a sen x 1 +usen x 1 cos x 1 (1.36*) donde la variable de control u debía ser, necesariamente, positiva. La figura 9.1 representa, me- diante un diagrama de bloques, el sistema no lineal en lazo abierto. A primera vista, este sistema sólo exhibe no linealidades en la ecuación donde aparece la variable de control u. La cadena de dos integradores mostrada en la Figura 9.1, sin embargo, es sugestiva de una estructura prevalecientemente lineal. Estos hechos pudieran ayudarnos enormemente, si por un momento nos atrevemos a pensar de qué manera pudieramos “destruir”, o reemplazar por elementos lineales, las no linealidades presentes en el sistema mediante una especificación apropiada de la variable de control u. Definamos la entrada auxiliar v como v = − g a sen(x 1 ) +usen(x 1 ) cos(x 1 ) (9.1) No hay duda que el sistema obtenido es perfectamente lineal desde esta nueva entrada v, es decir, ˙ x 1 = x 2 ˙ x 2 = v 9.1 MOTIVACIÓN: MÉTODO DEL CONTROL CALCULADO 231 Figura 9.2: Diagrama de bloques del sistema “linealizado” El sistema (1.36*) se ha reducido simplemente a dos integradores dispuestos en cascada, tal como se muestra en la figura 9.2. Evidentemente el problema de estabilizar la posición del anillo a un valor deseado X, luce ahora trivial: la especificación de una ley de control por realimentación lineal del estado v = −K 1 (x 1 −X) −K 2 x 2 , lograría tal efecto sin mayores complicaciones. De hecho, la ley de control 1 A la entrada v también se le llama entrada auxiliar v = −2ζωnx 2 −ω 2 n (x 1 −X) (9.2) produce un sistema lineal estable en lazo cerrado ˙ x 1 = x 2 ˙ x 2 = −2ζωnx 2 −ω 2 n (x 1 −X) , (9.3) cuyas trayectorias convergen asintóticamente al punto de equilibrio deseado, dado por x 1 = X, x 2 = 0. El control se obtiene sin hacer ninguna aproximación El control original u que debemos utilizar para sintetizar la entrada auxiliar, se obtiene a partir de (9.1) y (9.2), haciendo g a sen(x 1 ) +usen(x 1 ) cos(x 1 ) = −2ζωnx 2 −ω 2 n (x 1 −X) , de donde: u = 1 sen(x 1 ) cos(x 1 ) _ v − g a sen(x 1 ) _ (9.4) Sustituyendo v mediante la relación (9.2), se obtiene u = 1 sen(x 1 ) cos(x 1 ) _ −2ζωnx 2 −ω 2 n (x 1 −X) − g a sen(x 1 ) _ (9.5) la cual ciertamente constituye una ley de control basada en realimentación no lineal del vector de estado. La relación (9.4) puede verse como una transformación de la coordenada Transformación en el espacio de los controles, dependiente del estado del control u en la nueva entrada v, la cual depende de las componentes del estado. Mediante una redefinición de la variable de control u, en términos de las variables originales y de operaciones no lineales sobre las compo- nentes del estado, obtenemos un nuevo canal de control v, desde el cual el sistema luce perfectamente lineal. Esto nos dice que hemos encontrado una nueva forma de representar la acción de control, representada por v, desde donde el sistema exhibe un comportamiento perfectamente lineal sin aproximaciones. Tal transformación tiene entonces la enorme virtud de eliminar las no linealidades presentes en el sistema de una manera limpia y tajante, sin 1 Note que aquí no estamos trabajando con el concepto de variables incrementales. Se pro- pone directamente una ley que estabiliza al sistema lineal estudiado al punto de equilibrio x(X) = [X, 0] T . 232 INTRODUCCIÓN A LA LINEALIZACIÓN EXACTA acudir a aproximaciones de género alguno. El método que acabamos de des- cribir recibe el nombre de método del control (o par) calculado y fué conocido y difundido ampliamente por quienes trabajaban en el área de robótica. Por ello, en algunos libros aparece con el nombre de “método del torque calcula- do” (computed-torque method en inglés), término utilizado por primera vez por B.R. Markiewicz en [Mar73], ver también [Pau82, AS86, SL91, KS03], Método del torque o control calculado precisamente porque el torque necesario para llevar el sistema al punto de equilibrio se calcula de manera directa por simple inspección de las ecua- ciones. En el ejemplo presentado, la razón de este nombre se explica in- mediatamente si en lugar del procedimiento descrito hubiésemos procedido a comparar directamente las ecuaciones (1.36*) y (9.3). Es evidente que la dinámica deseada en (9.3) se obtiene de igualar en ambas ecuaciones los miembros derechos de las ecuaciones diferenciales y proceder luego a “cal- cular” el control necesario que convierte a (1.36*) en (9.3). Sin embargo, es necesario recalcar que este método, así como el método de la lineación que presentaremos en el próximo capítulo, presenta restric- ciones en su aplicación debido a las posibles singularidades que pueden aparecer. Ejemplo 9.1: (Continuación) Control del movimiento de un anillo sobre un aro giratorio: restricciones de la estrategia, singularidades Nuestra alegría quizás puede verse empañada por un hecho significativo, la aparición de una posible singularidad en la definición del control. Esta “singularidad” surge debido a la indefinición del control cuando la variable x 1 adopta los valores: En este método aparecen singularidades debidas a la “indefinición” del control x 1 = 0, π 2 , π, etc. Note que para tales valores singulares, el sistema pierde el canal de control pues el factor que precede a u en (1.36)*) se hace cero justamente en estos valores. Desde el punto de vista físico era de esperar ciertos problemas de controlabilidad cuando la posición del anillo adopta tales valores. Ciertamente, si el anillo se encuentra ubicado exactamente en la posición más baja del aro, la velocidad de rotación del aro no afecta para nada la posición del anillo sobre el aro. Lo mismo sucede cuando éste se encuentra girando describiendo un círculo de radio máximo o en la posición superior del aro. Esta discusión nos permite inferir que una política de control lineal- izante, tal como la dada por la expresión (9.5), tiene ciertas restricciones. Sin lugar a dudas, su aplicación puede llevar a una indefinición de la ac- ción de control (haciéndola, por ejemplo, infinitamente grande) cuando las trayectorias del sistema se acercan a tales singularidades. Es muy dificil en general, saber si para ciertas condiciones iniciales dadas, las trayecto- rias del sistema, en respuesta a la ley de control antes especificada, pueden acercarse a una singularidad o no. Un fenómeno no lineal asociado a este tipo de situaciones es el llamado “sobredisparo” o peaking phenomenon en El fenómeno de “peaking” es común en sistemas no lineales complejos inglés, asociado al problema de que debido a los valores de las ganancias del controlador, las trayectorias del sistema se alejan demasiado, desde el comienzo, del punto de equilibrio deseado, haciéndose incluso inestables, ver, por ejemplo, [SK91]. 9.1 MOTIVACIÓN: MÉTODO DEL CONTROL CALCULADO 233 Figura 9.3: Simulación numérica del sistema aro-anillo controlado Matlab 9.1: (Continuación) Control del movimiento de un anillo sobre un aro giratorio: simulación numérica En la figura 9.3 se muestra la respuesta del anillo controlado, el cual se desea estabilizar a la posición de X = 0,7854 [rad]. Partiendo de una condición inicial cercana a la singularidad (x 1 = 0,1) se obtiene un valor del cuadrado de la velocidad angular del aro (control) significativamente alto. El mismo resultado se obtiene a medida que la condición inicial se acerca al valor singular x 1 = π/2 = 1, 57079 . . .. El gráfico siguiente, ver Figura 9.4 muestra un conjunto de trayectorias de la posición angular del anillo sobre el aro para distintas condiciones iniciales. Se presentan también las trayectorias correspondientes a la variable de control. Los programas sarole.m y arole.m, Listados 9.1 y 9.2, permiten simular el comportamiento controlado del sistema no lineal (1.36*) sujeto a la ley de control linealizante (9.5) restringida a valores positivos. Para ejecutar la simulación en Matlab (R), se escribe en la línea de comandos >sarole Matlab 9.2: Control de un manipulador robótico mediante el método del control calculado Considere el manipulador robótico de una sola unión, Modelo 9, en la página 15, cuyas ecua- ciones no lineales están dadas por: ˙ x 1 = x 2 ˙ x 2 = − B J x 2 − c J sen _ x 1 N _ + 1 J u y = x 1 (1.21*) Este se puede representar mediante el diagrama de bloques mostrado en la Figura 9.5. 234 INTRODUCCIÓN A LA LINEALIZACIÓN EXACTA Figura 9.4: Posición angular del anillo y señal de control para diferentes condiciones iniciales - - - - 6 6 u − B J x 2 − c J sen _ x 1 N _ + u J x 1 x 2 _ _ Figura 9.5: Diagrama de bloques del manipulador robótico 9.1 MOTIVACIÓN: MÉTODO DEL CONTROL CALCULADO 235 Listado 9.1: Programa de simulación del sistema aro-anillo regulado mediante control calculado sarole.m % sarole.m % % Programa de simulacion del sistema % que describe el movimiento de un anillo sobre % un aro giratorio, controlador por una ley % de realimentacion no lineal la cual linealiza % en forma exacta al sistema en lazo cerrado. % % Parametros de simulacion ti = 0; tf = 1; % Condiciones iniciales x0 = [0.2 0]’; % Simulacion [t,x] = ode23(’arole’,[ti tf],x0); % graficas figure(2) subplot(221),plot(t,x(:,1)) title(’Posición angular del anillo sobre el aro’) xlabel(’t [seg]’) ylabel(’x_1 [rad]’) subplot(222),plot(t,x(:,2)) title(’Velocidad angular del anillo’) xlabel(’t [seg]’) ylabel(’x_2 [rad]’) % parametros del sistema a = 0.2; g = 9.8; % punto de equilibrio X1e = 0.7854; % parametros del controlador wn = 12.83; xi = 0.707; % ley de control uc = (-2*xi*wn*x(:,2)-wn^2*(x(:,1)-X1e)+g/a*sin(x(:,1)))./(sin(x(:,1)).*cos(x(:,1))); uu = zeros(size(t)); for j = 1:length(t) if uc(j)<0 uu(j)=0; else uu(j) = uc(j); end end subplot(223),plot(t,uu) title(’Cuadrado de la velocidad angular del aro’) xlabel(’t [seg]’) ylabel(’u [rad^2/seg^2]’) subplot(224),plot(t,sqrt(uu)) title(’Velocidad angular del aro’) xlabel(’t (seg)’) ylabel(’\omega [rad/seg]’) % fin de sarole.m 236 INTRODUCCIÓN A LA LINEALIZACIÓN EXACTA Listado 9.2: Simulación del sistema aro-anillo: modelo y observador arole.m function xdot=arole(t,x) % Sistema aro-anillo % Programa de simulacion: sarole.m % % parametros del sistema a = 0.2; g = 9.8; % punto de equilibrio X1e = 0.7854; % parametros del controlador wn = 12.83; xi = 0.707; uc = (-2*xi*wn*x(2)-wn^2*(x(1)-X1e)+g/a*sin(x(1)))/... (sin(x(1))*cos(x(1))); % solo se toman valores positivos de uc if uc<0 u = 0; else u = uc; end % sistema dinamico xdot = [x(2); -g/a*sin(x(1))+0.5*u*sin(2*x(1))]; % fin de arole.m 9.1 MOTIVACIÓN: MÉTODO DEL CONTROL CALCULADO 237 - - - x 1 x 2 _ _ v Figura 9.6: Manipulador robótico transformado a una cadena de dos integradores Al igual que en el caso anterior este sistema sólo exhibe las no linealidades en la única ecuación donde aparece la variable de control. Del diagrama de bloques del sistema se puede inferir nuevamente la presencia de una cadena de dos integradores, la cual sugiere una estructura preponderantemente lineal. Al definir una entrada auxiliar v, como v = − B J x 2 − c J sen _ x 1 N _ + u J , el sistema resultante es exactamente lineal ˙ x 1 = x 2 ˙ x 2 = v (9.6) La estructura del sistema, desde la nueva entrada v corresponde a una cadena de dos inte- gradores uno a continuación del otro, ver Figura 9.6. Resulta evidente entonces, a partir de (9.6), que el problema de estabilizar la posición del manipulador robótico de una sola unión, a un valor deseado X, ha quedado reducido a estabilizar, mediante una ley de realimentación lineal del estado, un sistema lineal representado por el sistema transformado (9.6). Sin aproximaciones, la ley de control v = −2ζωnx 2 −ω 2 n (x 1 −X) , produce un sistema lineal en lazo cerrado dado por: ˙ x 1 = x 2 ˙ x 2 = −2ζωnx 2 −ω 2 n (x 1 −X) Así las trayectorias de este sistema controlado se estabilizarán asintóticamente al punto de equi- librio deseado, dado por x 2 = 0, x 1 = X. El control original u que debemos utilizar para sintetizar la entrada auxiliar v debe entonces obtenerse a partir de la relación: − B J x 2 − c J sen _ x 1 N _ + u J = −2ζωnx 2 −ω 2 n (x 1 −X) Es decir, u = −J _ 2ζωnx 2 +ω 2 n (x 1 −X) − B J x 2 − c J sen _ x 1 N _ _ (9.7) la cual ciertamente, constituye una ley de control basada en realimentación no lineal del vector de estado y puede, de nuevo, interpretarse como una transformación, dependiente del estado, de la coordenada original en la que se describe la variable externa de control u (torque). Si una ley de control está definida para toda condición inicial decimos que es “global”, de lo contrario será “local” A diferencia del caso anterior, la ley de control realimentada no lineal (9.7) se encuentra defini- da para “todo valor posible” de las variables de estado, en virtud de no presentar singularidad alguna. En estos casos decimos que la ley de control se encuentra definida globalmente; en caso contrario decimos que su definición solamente es local. Los Listados 9.3 y 9.4 permiten simular el comportamiento controlado del sistema no lineal sujeto a la ley de control linealizante (9.7). La simulación numérica es mostrada e la Figura 9.7. Compare esos resultados con los obtenidos mediante linealización extendida, ver ejemplo Mat- lab 6.2, en la página 163. 238 INTRODUCCIÓN A LA LINEALIZACIÓN EXACTA Figura 9.7: Respuesta en lazo del control de un brazo manipulador robótico usando el método del control calculado 9.1 MOTIVACIÓN: MÉTODO DEL CONTROL CALCULADO 239 Listado 9.3: Programa de simulación del control del manipulador robótico usando el método del torque calculado srobexa.m % srobexa.m % % Programa de simulacion del control de un brazo manipulador robotico % mediante el metodo de torque calculado % % Parametros de simulacion ti = 0; tf = 1; % Condiciones iniciales x0 = [-0.3 0]’; % Simulacion [t,x] = ode23(’robexa’,[ti tf],x0); % graficas subplot(221),plot(t,x(:,1)) title(’Posición angular del brazo robotico’) xlabel(’t [seg]’) ylabel(’x_1 [rad]’) subplot(222),plot(t,x(:,2)) title(’Velocidad angular’) xlabel(’t [seg]’) ylabel(’x_2 [rad]’) % parametros B = 1e-2; J = 4e-2; c = .58; N = 1; % punto de equilibrio Xd = 0; % polinomios deseados xi = 0.707; wn = 8.56; % control uu = -J*wn*wn*(x(:,1)-Xd) + c*sin(x(:,1)/N) + (B-2*J*xi*wn)*x(:,2); subplot(223),plot(t,uu) title(’Torque aplicado’) xlabel(’t [seg]’) ylabel(’u [N-m]’) % fin de srobexa.m 240 INTRODUCCIÓN A LA LINEALIZACIÓN EXACTA Listado 9.4: Simulación del manipulador robótico: modelo y control por el método del torque calculado robexa.m function dx = robexa(t,x) % % modelo de un manipulador robotico regulado mediante el % metodo de control calculado % % parametros B = 1e-2; J = 4e-2; c = .58; N = 1; % punto de equilibrio Xd = 0; % polinomios deseados xi = 0.707; wn = 8.56; u = -J*wn*wn*(x(1)-Xd) + c*sin(x(1)/N) + (B-2*J*xi*wn)*x(2); y = x(1); dx = [x(2); -B/J*x(2)-c/J*sin(x(1)/N)+1/J*u]; % fin de robexa.m Modelo 33: Ecuaciones generales de un robot articulado El modelo general de un manipulador robótico está dado por la ecuación: H(q)¨ q +C(q, ˙ q) ˙ q +g(q) = τ (9.8) donde q es un vector que representa las posiciones o coordenadas generalizadas y ˙ q representa el vector de velocidades. Vale decir que el vector (q, ˙ q) representa los estados del sistema. El término C(q, ˙ q) es un vector que representa las fuerzas centrípeta y de Coriolis; g(q) es el vector que representa la fuerza gravitacional y τ es la señal de entrada que representa el torque aplicado al sistema. La matriz H(q) representa la matriz de inercia, es simétrica, definida positiva y, por lo tanto, invertible. M Ejemplo 9.2: Control del modelo general del manipulador robótico basado en el método del par calculado Si los estados se pueden medir, una ley de control que linealiza el sistema no lineal por reali- mentación de estados está dada por: τ = H(q)v +C(q, ˙ q) ˙ +g(q) (9.9) donde v constituye una nueva entrada “auxiliar”. En la expresión (9.9), los últimos términos del lado derecho, es decir, C(q, ˙ q) ˙ +g(q), se añaden de forma de cancelarlos, eliminarlos de la ecuación (9.8). Se obtiene entonces el sistema H(q)¨ q = H(q)v (9.10) Debido a que H(q) es invertible, a partir de (9.10) resulta un sistema lineal en lazo cerrado dado por: ¨ q = v donde la nueva entrada v puede definirse como v = −2ξωn ˙ q − omega 2 n q, de tal forma que el sistema en lazo cerrado sea asintóticamente estable. 9.2 LINEALIZACIÓN EXACTA DE SISTEMAS EN LA FORMA CANÓNICA CONTROLABLE 241 Los ejemplos anteriores nos dan una idea intuitiva de como proceder a generalizar, a sistemas de mayor dimensión, la posibilidad de diseñar una ley de control linealizante: En primer lugar, el sistema deberá exhibir en forma natural la estruc- Cadena de integradores tura inherente a una cadena de integración pura sin intervenciones de la variable de control; además, las no linealidades del sistema deberán estar circunscritas a la última ecuación diferencial, donde de paso, deberá encontrarse, por supuesto, la variable de control. Diremos que aquellos sistemas que posean la estructura mencionada‘ es- tán representados en la forma canónica controlable. En tales sistemas será posible mediante comparación pura y simple calcular una ley de control que obliga al sistema a exhibir una estructura perfectamente lineal. A tal Diseño mediante inversión del sistema no lineal procedimiento de cálculo del control también se le conoce con el nombre de inversión del sistema. 9.2. Linealización exacta de sistemas en la forma canóni- ca controlable a partir de las consideraciones anteriores, podemos establecer que la clase de sistemas no lineales representables en la forma Forma canónica controlable ˙ x 1 = x 2 ˙ x 2 = x 3 . . . ˙ x n−1 = x n ˙ x n = f n (x 1 . . . , n n ) +ug n (x 1 , . . . , x n ) (9.11) son exactamente linealizables mediante una redefinición de la variable de control en términos del estado y una entrada auxiliar externa. Incluso, esta redefinición puede ser interpretada de dos maneras, tanto como un proceso de realimentación no lineal como un proceso de transformación de la coor- denada de la variable de control. El sistema (9.11), tal como lo hemos vislumbrado, exhibe una cadena de integración pura y, además, todas sus no linealidades, así como la variable de control, están adscritas a la última ecuación diferencial. Un sistema con tal estructura es llamado sistema no lineal en Forma Canónica Controlable o Forma Canónica de Brunovsky. El siguiente diagrama de bloques, en la Figura 9.8, muestra claramente la estructura que hemos impuesto para calificar a un sistema linealizable en forma exacta. 242 INTRODUCCIÓN A LA LINEALIZACIÓN EXACTA - - - - - - 6 6 6 u f n (x) +ug n (x) _ _ _ x n x n−1 x 2 x 1 . . . . . . . . . . . . Figura 9.8: Diagrama de bloques del sistema en forma canónica controlable Linealización exacta de la forma canónica controlable. Definamos la variable de entrada auxiliar v como: v = f n (x 1 . . . , n n ) +ug n (x 1 , . . . , x n ) (9.12) Evidentemente, la expresión (9.12) produce un sistema perfectamente lineal que exhibe una estructura de cadena de integración pura: ˙ x 1 = x 2 ˙ x 2 = x 3 . . . ˙ x n−1 = x n ˙ x n = v (9.13) En la teoría de sistemas lineales a la estructura (9.13) se le llama pre- cisamente forma canónica de Brunovsky. La variable auxiliar v puede entonces sintetizarse como una ley de con- trol que realimenta linealmente las variables de estado: v = −a 1 x 1 −a 2 x 2 −. . . −a n−1 x n−1 −a n x n (9.14) De esta manera, el sistema lineal n-dimensional en lazo cerrado está dado por: ˙ x 1 = x 2 ˙ x 2 = x 3 . . . ˙ x n−1 = x n ˙ x n = −a 1 x 1 −. . . −a n x n (9.15) La comparación de (9.11) con (9.15) nos lleva inmediatamente a estable- cer la relación siguiente: f n (x 1 , . . . , x n ) +ug n (x 1 , . . . , x n ) = v = −a 1 x 1 −a 2 x 2 −. . . −a n x n (9.16) 9.2 LINEALIZACIÓN EXACTA DE SISTEMAS EN LA FORMA CANÓNICA CONTROLABLE 243 A partir de (9.16), la ley de control no lineal que linealiza en forma ex- acta al sistema no lineal (9.11) resulta finalmente: u = − a 1 x 1 +a 2 x 2 +. . . +a n x n +f n (x 1 , . . . , x n ) g n (x 1 , . . . , x n ) (9.17) La linealización exacta obtenida será válida y útil, solamente en dos circunstancias: 1. La linealización es válida en todo el ambiente del espacio de estado donde se cumpla que: g n (x 1 , . . . , x n ) = 0 (9.18) 2. La linealización es útil en la medida en que el sistema lineal en lazo cerrado sea asintóticamente estable a cero. Puesto que la estabilidad del sistema lineal (9.15) está determinada, univo- camente, por la ubicación de las raíces del polinomio característico: p(s) = s n +a n s n−1 +. . . +a 2 s +a 1 (9.19) Supondremos, por tanto, que el polinomio p(s) tiene todas sus raíces en el semiplano izquierdo del plano complejo. Cuando esta condición se cumpla, diremos brevemente que el polinomio p(s) es Hurwitz. La condición de singularidad, asociada a la expresión (9.18), que quer- emos evitar, se corresponde en realidad con una condición de falta de con- trolabilidad. Es obvio que aquellos lugares del espacio de estado donde se anula el canal de entrada al sistema, es decir, donde g n (x) = 0, se corre- sponden a regiones donde el sistema se hace completamente incontrolable. Consideremos el siguiente ejemplo. Ejemplo 9.3: Singularidad de una ley de control linealizante para un mo- delo equivalente al motor serie de corriente continua Considere el modelo ˙ x 1 = x 2 ˙ x 2 = x 3 ˙ x 3 = _ − 2K ba K f L f x 2 x 3 −2 _ Ra +R f L f _ x 3 + _ 2KmK f J ¸ Jx 3 KmK f 1 L f _ u _ (9.20) el cual, como veremos más adelante, es equivalente al Modelo 11, en la página 17, mediante una transformación no lineal del espacio de estados. El sistema (9.20) es linealizable exactamente (localmente) mediante la ley de control no lineal dada por: u = J _ 2KmK f _ Jx 3 KmK f 1 L f _ _ −a 3 x 3 −a 2 x 2 − a 1 x 1 + 2K ba K f L f x 2 x 3 −2 _ Ra +R f L f _ x 3 _ (9.21) Sin embargo, note que en el punto de equilibrio de (9.20), dado por x 1 (X) = arbitrario = X ; x 2 (X) = 0 ; x 3 = 0 ; u = arbitrario , la señal de control (9.21) no está definida. Evidentemente la controlabilidad se pierde cuando x 3 = 0. 244 INTRODUCCIÓN A LA LINEALIZACIÓN EXACTA 9.3. Sistemas no lineales reducibles a la forma canóni- ca controlable Un sistema en forma canónica controlable (f.c.c.) (9.11) es linealizable en forma exacta. Esta forma canónica tiene la ventaja de que nos permite calcular de manera directa la señal de control que logra que el sistema no lineal adopte una estructura perfectamente lineal en lazo cerrado. Sin embargo, esta clase de sistemas luce restringida a solo algunos ejemplos que pudieran incluso carecer de significación física. En general, los modelos representativos de los sistemas dinámicos no se presentan en esta forma. Esto nos plantea la necesidad de buscar mecanismos que permitan trans- formar la representación dinámica de un sistema a la forma canónica con- trolable. Debemos, por lo tanto, buscar la manera de extender la posibili- dad de lograr linealizaciones exactas a una clase más amplia de sistemas dinámicos no lineales. Estamos interesados en determinar bajo qué condiciones un sistema, de naturaleza un tanto más general a los vistos hasta ahora, puede ser transformado (o reducido) a la forma canónica controlable anterior. Un modelo suficientemente general de un sistema no lineal puede ser Clase de sistemas no lineales afines en el control descrito por ecuaciones diferenciales controladas de la forma: ˙ x 1 = f 1 (x 1 , . . . , x n ) +ug 1 (x 1 , . . . , x n ) ˙ x 2 = f 2 (x 1 , . . . , x n ) +ug 2 (x 1 , . . . , x n ) . . . ˙ x n−1 = f n−1 (x 1 , . . . , x n ) +ug n−1 (x 1 , . . . , x n ) ˙ x n = f n (x 1 . . . , x n ) +ug n (x 1 , . . . , x n ) (9.22) En forma más sucinta, el sistema (9.22) de la forma: ˙ x = f(x) +ug(x) (9.23) donde x = (x 1 , . . . , x n ), y f(x) = _ ¸ _ f 1 (x 1 , . . . , x n ) . . . f n (x 1 . . . , x n ) _ ¸ _; g(x) = _ ¸ _ g 1 (x 1 , . . . , x n ) . . . g n (x 1 . . . , x n ) _ ¸ _ (9.24) La clase de sistemas representada por (9.23) recibe el nombre de sis- temas afines en el control (note que el conjunto de ecuaciones diferenciales presentadas en (9.23) son precisamente “lineales” en el control). Las funciones vectoriales f(x) y g(x) reciben el nombre de campos vec- Un concepto útil: campos vectoriales toriales. Supondremos de una buena vez y con el objeto de no tener que contar a cada paso el orden de diferenciabilidad de las funciones f(x) y g(x), que tales campos vectoriales son diferenciables, respecto de las com- ponentes de x, un número ilimitado de veces, es decir, un número infinito 9.3 SISTEMAS NO LINEALES REDUCIBLES A LA FORMA CANÓNICA CONTROLABLE 245 de veces; diremos entonces que f(x) y g(x) son campos vectoriales infinita- mente diferenciables. Una expresión equivalente, que también utilizaremos con mucha frecuencia, es la de afirmar que f(x) y g(x) son campos suaves. Representaremos esta clase de campos vectoriales escribiendo f(x) ∈ C ∞ . Con el objeto de ganar la intuición necesaria que nos permita abordar este problema en toda generalidad, comenzaremos haciendo algunos ejem- plos sencillos donde podremos transformar el sistema a la forma canónica controlable mediante simple inspección. De estos ejemplos trataremos de derivar reglas generales que nos permitirán abordar cualquier caso. Ejemplo 9.4: Primer ejemplo Consideremos el sistema no lineal siguiente: ˙ x 1 = x 1 x 2 +u ˙ x 2 = x 2 −u (9.25) Evidentemente este sistema no se encuentra en forma canónica controlable. Nos preguntamos entonces si existirá una función (no lineal) del estado que puede adoptar el papel de primera variable de estado, digamos z 1 . Esta variable debe ser tal que su primera derivada sea independiente del control y pueda, por lo tanto, ser definida como segunda variable de estado, digamos z 2 . Si además, la derivada respecto del tiempo de z 2 depende explícitamente del control u, entonces tenemos un sistema en forma canónica controlable, en las nuevas variables z. En efecto, en este caso es fácil ver que si definimos una nueva variable z 1 como función de las componentes del estado x 1 y x 2 de la manera siguiente: z 1 = x 1 +x 2 (9.26) Utilizando las ecuaciones (9.25), se cumple que: ˙ z 1 = ˙ x 1 + ˙ x 2 = x 1 x 2 +x 2 esto es, la primera derivada temporal de esta función z 1 resulta ser independiente del control. Si ahora bautizamos a esta expresión de la derivada de z 1 como una nueva variable de estado z 2 , es decir, z 2 = x 1 x 2 +x 2 (9.27) y tomamos de nuevo la derivada respecto del tiempo, obtenemos: ˙ z 2 = ˙ x 1 x 2 + (x 1 + 1) ˙ x 2 = (x 1 x 2 +u)x 2 + (x 1 + 1)(x 2 −u) = x 1 x 2 2 +x 1 x 2 +x 2 +u(x 2 −x 1 −1) (9.28) La derivada de esta nueva variable de estado z 2 depende del control a través de las variables originales x. Las expresiones de dichas variables de estados las podemos buscar en términos de las nuevas variables de estado z invirtiendo las relaciones (9.26) y (9.27). Este par de ecuaciones algebraicas se corresponde con una función vectorial de x: _ z 1 z 2 _ = _ x 1 +x 2 x 1 x 2 +x 2 _ (9.29) La matriz Jacobiana de (9.29) está dada, entonces, por: ∂z ∂x = _ ∂z 1 ∂x 1 ∂z 1 ∂x 2 ∂z 2 ∂x 1 ∂z 2 ∂x 2 _ = _ 1 1 x 2 (1 +x 1 ) _ (9.30) con det _ ∂z ∂x _ = 1 +x 1 −x 2 De aquí se concluye que la matriz (9.30) es singular en el conjunto de puntos que satisfacen 1 +x 1 −x 2 = 0. 246 INTRODUCCIÓN A LA LINEALIZACIÓN EXACTA A partir de (9.29), obtenemos como posibles soluciones locales de la inversión: x 1 = z 1 − (1 +z 1 ) + _ (1 +z 1 ) 2 −4z 2 2 x 2 = (1 +z 1 ) + _ (1 +z 1 ) 2 −4z 2 2 (9.31) o, bien, x 1 = z 1 − (1 +z 1 ) − _ (1 +z 1 ) 2 −4z 2 2 x 2 = (1 +z 1 ) − _ (1 +z 1 ) 2 −4z 2 2 (9.32) Adoptemos como solución válida la primera de las expresiones anteriores, ecuación (9.31). Es fácil constatar que el sistema de ecuaciones diferenciales del sistema transformado, en nuevas variables de estado z, está dado por: ˙ z 1 = z 2 ˙ z 2 = _ 2 + _ z 1 − (1 +z 1 ) − _ (1 +z 1 ) 2 −4z 2 2 __ _ (1 +z 1 ) − _ (1 +z 1 ) 2 −4z 2 2 _ × _ (1 +z 1 ) − _ (1 +z 1 ) 2 −4z 2 2 _ +u _ (1 + 2z 1 ) + _ (1 +z 1 ) 2 −4z 2 −1 _ (9.33) es decir, hemos obtenido un sistema en forma canónica controlable! Vale la siguiente observación: la estrategia de control que diseñemos para el sistema (9.33) será válida en tanto se verifique que 1 +x 1 −x 2 = 0, es decir, en los puntos donde la transforma- ción (9.29) es no singular. Veamos. El término que acompaña a u en (9.33) está dado por _ (1 + 2z 1 ) + _ (1 +z 1 ) 2 −4z 2 −1 _ = (x 2 −x 1 −1) donde el lado derecho se obtiene al retornar a las variables originales (x 1 , x 2 ) mediante (9.29), ver ecuación (9.28). Evidentemente el lado izquierdo de esta expresión se anula para 1+x 1 −x 2 = 0 por lo que la acción del control se desvanece. Podemos resumir nuestra experiencia postulando las siguientes condi- ciones, las cuales garantizan que exista la posibilidad de linealizar exacta- mente un sistema no lineal de dimensión n. 1. Debemos poder hallar una función h(x) de las variables de estado cuyas n − 1 primeras derivadas, respecto del tiempo, sean funcional- mente independientes entre sí e independientes de la variable de con- trol. Esto es equivalente a que el gradiente de h(x) y el de todas sus derivadas hasta la n −1ésima (inclusive) deben ser linealmente inde- pendientes. 2. La n-ésima derivada de h(x), respecto del tiempo, debe depender ex- plícitamente de la variable de control. La última condición es clara: al expresar el sistema dinámico en las varia- bles trasnformadas, todas las nolinealidades de las ecuaciones dinámicas, así como la dependencia del control, deben quedar relegadas a la última 9.3 SISTEMAS NO LINEALES REDUCIBLES A LA FORMA CANÓNICA CONTROLABLE 247 ecuación, como ha sido el caso en los ejemplos que hemos desarrollado en esta parte. La primera condición posiblemente requiere de alguna explicación adi- cional, sobre todo en lo referente a la independencia funcional de las derivadas sucesivas de la función candidata h(x). Un sencillo ejemplo nos servirá para convencernos de que esta condición es necesaria: Ejemplo 9.5: Un sistema no controlable Consideremos el sistema: ˙ x 1 = x 2 ˙ x 2 = x 2 2 ˙ x 3 = u (9.34) Si adoptamos h(x) = x 1 como función candidata para jugar el papel de primera variable de estado z 1 en el sistema transformado vemos que su primera derivada, x 2 , es funcionalmente independiente de x 1 . Por lo tanto, x 2 calificaría como segunda variable de estado. En efecto, la transformación parcial: z 1 = x 1 z 2 = x 2 (9.35) tiene por matriz Jacobiana: ∂(z 1 , z 2 ) ∂(x 1 , x 2 , x 3 ) = _ 1 0 0 0 1 0 _ la cual es de rango 2, lo cual dice que las dos primeras variables escogidas son funcionalmente independientes. Es decir, la función h(x) = x 1 y su primera derivada x 2 , son funcionalmente independientes. Sin embargo, la tercera derivada de la función h(x) resulta ser: z 3 = x 2 2 (9.36) y ahora, en este caso, la matriz Jacobiana es: ∂(z 1 , z 2 , z 3 ) ∂(x 1 , x 2 , x 3 ) = _ _ 1 0 0 0 1 0 0 2x 2 0 _ _ (9.37) cuyo rango sigue siendo 2. En consecuencia la función h(x) = x 1 no nos sirve para generar una transformación invertible en el espacio de estado (tridimensional) del sistema en cuestión. Una parte del problema de la falta de independencia funcional estriba en que, en este caso, podemos tomar infinitas derivadas de h(x) que el control u no habrá de aparecer nunca en forma explícita en alguna de las posibles derivadas de orden superior. En efecto, si calculamos algunas de las derivadas de h(x) tenemos: z 1 = x 1 ; z 2 = ˙ x 1 = x 2 ; z 3 = ˙ z 2 = ¨ x 1 = x 2 2 ; z 4 = ˙ z 3 = ¨ z 2 = x (3) 1 = 2x 3 2 z 5 = ˙ z 4 = ¨ z 3 = z (3) 2 = z (4) 1 = x (4) 1 = 6x 4 2 . . . y, como es fácil ver, nunca podrá aparecer el control u en las derivadas. Note que esta característica surge precisamente de la falta de controlabilidad. Las dos primeras ecuaciones del sistema (9.34) corresponden a un sistema autónomo, no afectado por la entrada u: ˙ x 1 = x 2 ˙ x 2 = x 2 2 248 INTRODUCCIÓN A LA LINEALIZACIÓN EXACTA En el ejemplo anterior, hemos visto que la transformación generada no es invertible, como se deduce del rango de la matriz Jacobiana (9.37). Vamos a efectuar perturbaciones estructurales del sistema (9.34), para observar sus efectos sobre la posibilidad de obtener la forma canónica controlable. Ejemplo 9.6: Perturbación εx3 del ejemplo Perturbemos levemente el sistema (9.34) de la manera siguiente: ˙ x 1 = x 2 ˙ x 2 = x 2 2 +εx 3 ˙ x 3 = u (9.38) Se obtiene entonces la independencia funcional que requerimos de h(x) y sus derivadas. En efecto, haciendo z 1 = x 1 ; z 2 = x 2 ; z 3 = x 2 2 +εx 3 , (9.39) resulta ∂(z 1 , z 2 , z 3 ) ∂(x 1 , x 2 , x 3 ) = _ _ 1 0 0 0 1 0 0 2x 2 ε _ _ Como es fácil verificar, el rango de esta matriz Jacobiana es ahora 3, para todo ε = 0. La transformación (9.39) es por lo tanto invertible, como podemos constatar sin mayores es- fuerzos: x 1 = z 1 ; x 2 = z 2 ; x 3 = z 3 −z 2 2 ε El sistema transformado exhibe, sin lugar a dudas, una estructura canónica controlable: ˙ z 1 = z 2 ˙ z 2 = z 3 ˙ z 3 = 2z 3 2 + 2z 2 (z 3 −z 2 2 ) +εu Para el sistema modificado (9.38) la función h(x) = x 1 cumple, como vemos, las condiciones que hemos establecido anteriormente. Con el objeto de completar el proceso de linealización, definimos ahora el control transformado v como: v = 2z 3 2 + 2z 2 (z 3 −z 2 2 ) +εu lo cual ciertamente representa una transformación de la variable original de control u, dependiente del estado transformado. El sistema linealizado en forma exacta, expresado en nuevas coordenadas del estado z y del control v es el siguiente: ˙ z 1 = z 2 ˙ z 2 = z 3 ˙ z 3 = v (9.40) Estabilizar a cero el sistema lineal (9.40) se reduce a un problema clásico de asignación de polos mediante realimentación lineal del vector de estado. Note adicionalmente que en este último ejemplo la perturbación prop- uesta ha logrado la transformación requerida, a través de h(x) y de sus derivadas. No solamente se ha perturbado el sistema original, hemos cuida- do de perturbarlo apropiadamente. 9.4 CONDICIONES DE EXISTENCIA PARA LA TRANSFORMACIÓN A LA FORMA CANÓNICA CONTROLABLE 249 Ejemplo 9.7: Una perturbación estructural que falla Es fácil ver que el siguiente sistema perturbado ˙ x 1 = x 2 ˙ x 2 = x 2 2 +εx 1 ˙ x 3 = u no es linealizable en forma exacta a través de la función h(x) = x 1 , por cuanto la matriz Jaco- biana de la transformación resulta ser de nuevo singular y podríamos, igualmente, tomar infinitas derivadas de h(x) sin que aparezca el control u explícitamente en alguna derivada de orden su- perior. Tenemos: z 1 = x 1 ; z 2 = x 2 ; z 3 = x 2 2 +εx 1 ∂z ∂x = _ _ 1 0 0 0 1 0 ε 2x 2 0 _ _ ; det _ ∂z ∂x _ = 0 9.4. Condiciones de existencia para la transformación a la Forma Canónica Controlable Los ejemplos anteriores nos ayudan a formular en forma más precisa las condiciones de existencia de una tranformación del vector de estado que torna al sistema original en un sistema en forma canónica controlable. La condición necesaria y suficiente para que exista una transfor- mación del vector de estado que lleve a un sistema no lineal de la forma (9.23) es que exista una función escalar diferenciable h(x) tal que: 1. rango _ ¸ ¸ _ ∂h(x) ∂x . . . ∂h (n−1) (x) ∂x _ ¸ ¸ _ = n 2. ∂h ∂u = ∂ ˙ h ∂u = . . . = ∂h (n−1) (x) ∂u = 0 3. ∂h (n) (x, u) ∂u = 0 Haremos algunos ejemplos que ilustren la posibilidad de encontrar tales transformaciones de estado del sistema que lo lleven a la forma canónica controlable. 250 INTRODUCCIÓN A LA LINEALIZACIÓN EXACTA Ejemplo 9.8: Motor serie de corriente continua El siguiente gráfico representa el circuito de un motor de corriente continua en conexión serie de su circuito de armadura y su circuito de alimentación del campo. Las ecuaciones que describen este sistema no lineal están dadas por: ˙ x 1 = x 2 ˙ x 2 = KmKf J x 2 3 ˙ x 3 = − K ba K f L f x 2 x 3 − Ra +R f L f x 3 + 1 L f u donde: x 1 = θ = angulo del eje del motor x 2 = ω = velocidad angular del eje del motor x 3 = ia = i f = corriente comun que fluye por los circuitos de armadura y del campo u = V T Propongamos la función h(x) = x 1 como función generadora de la transformación linealizante de coordenadas del espacio de estado. La transformación de coordenadas estaría entonces dada por: z 1 = h(x) = x 1 z 2 = ˙ h(x) = x 2 z 3 = ¨ h(x) = KmK f J x 2 3 La primera de las condiciones dada por (1) se escribe como: ∂z ∂x = _ ¸ ¸ _ ∂h(x) ∂x ∂ ˙ h(x) ∂x ∂ ¨ h(x) ∂x _ ¸ ¸ _ = _ _ 1 0 0 0 1 0 0 0 2KmK f x 3 J _ _ Det _ ∂z ∂x _ = 2KmK f x 3 J Lo cual indica que la transformación dada por h(x) y sus dos primeras derivadas tiene rango completo en todas partes del espacio de coordenadas x, excepto en el plano representado por x 3 = 0. En otras palabras, la transformación de coordenadas es solamente de carácter local y su validez deja de tener efecto cuando por alguna razón el sistema produce valores de estado x que satisfacen esta restricción, o cuando las trayectorias del sistema se acercan asintóticamente a este valor. La condición x 3 = 0 se corresponde con un valor nulo de la corriente común que circula por los circuitos de armadura y de campo. En el resto del espacio de estado la transformación (9.8) es invertible. La transformación (9.8) también satisface la segunda condición dada por (2). Finalmente, la tercera derivada de h(x) está dada por: h (3) (x, u) = 2KmK f J x 3 _ − K ba K f L f x 2 x 3 − Ra +R f L f x 3 + 1 L f u _ = − 2KmK 2 f K ba JL f x 2 x 2 3 − 2KmK f (Ra +R f ) JL f x 2 3 + 2KmK f JL f x 3 u de donde: ∂h (3) (x, u) ∂u = 2KmK f JL f x 3 entonces la tercera condición (3), se traduce, no sorprendentemente, en que la variable x 3 debe satisfacer la condición: x 3 = 0. 9.4 CONDICIONES DE EXISTENCIA PARA LA TRANSFORMACIÓN A LA FORMA CANÓNICA CONTROLABLE 251 La inversa de la transformación (9.8) tiene entonces solamente caracter local y se obtiene por inspección. Esta resulta ser para x 3 > 0: x 1 = z 1 x 2 = z 2 x 3 = + _ Jz 3 KmK f la cual es válida sólo en la región z 3 > 0 del espacio descrito por las nuevas coordenadas. Como puede inferirse de (9.8), la transformación de coordenadas no está definida en la región x 3 < 0, es decir, su validez es sólo local. El motor serie de corriente continua, transformado a nuevas coordenadas, se describe en- tonces localmente mediante las ecuaciones diferenciales: ˙ z 1 = z 2 ˙ z 2 = z 3 ˙ z 3 = _ − 2K ba K f L f z 2 z 3 −2 _ Ra +R f L f _ z 3 + _ 2KmK f JL f ¸ JZ 3 KmK f _ u _ las cuales evidentemente se encuentran en forma canónica controlable. La linealización exacta de (9.8) se puede llevar a cabo entonces en forma inmediata. Utilizamos como control externo auxiliar la variable v, la cual definimos de la manera siguiente: v = _ − 2K ba K f L f z 2 z 3 −2 _ Ra +R f L f _ z 3 + _ 2KmK f JL f ¸ JZ 3 KmK f _ u _ lo cual al sustituirse en (9.8), nos transforma el sistema en una cadena de integración pura: ˙ z 1 = z 2 ˙ z 2 = z 3 ˙ z 3 = v Introducimos la siguiente realimentación lineal para la regulación asintóticamente estable del sistema transformado (9.8): v = −αω 2 n z 1 −(2ζωnα +ω 2 n )z 2 −(α + 2ζωn)z 3 El sistema en lazo cerrado (9.8) y (9.8) tiene entonces por polinomio característico al siguiente polinomio de raíces estables (o simplemente polinomio de Hurwitz); p(s) = (s +α)(s 2 + 2ζωns +ω 2 n ) = s 3 + (α + 2ζωn)s 2 + (2ζωnα +ω 2 n )s +αω 2 n El controlador no lineal para el sistema transformado (9.8) está dado entonces a partir de la si- guiente relación, escrita en términos de variables transformadas y obtenida directamente de las ecuaciones (9.8) y (9.8): −αω 2 n z 1 −(2ζωnα +ω 2 n )z 2 −(α + 2ζωn)z 3 = _ − 2K ba K f L f z 2 z 3 −2 _ Ra +R f L f _ z 3 + _ 2KmK f JL f ¸ JZ 3 KmK f _ u _ Resolviendo para u tenemos: u = − JL f _ 2KmK f _ Jx 3 KmK f _ _ αω 2 n z 1 + (2ζωnα +ω 2 n )z 2 + (α + 2ζωn)z 3 − 2K ba K f L f z 2 z 3 −2 _ Ra +R f L f _ z 3 _ 252 INTRODUCCIÓN A LA LINEALIZACIÓN EXACTA Usando (9.8) en (9.8) obtenemos en variables de estado originales la expresión del contro- lador diseñado mediante linealización exacta: u = − JL f (2KmK f x 3 ) _ αω 2 n x 1 + (2ζωnα +ω 2 n )x 2 + _ (α + 2ζωn) −2 _ Ra +R f L f __ KmK f J x 2 3 − 2K ba KmK 2 f JL f x 2 x 2 3 _ Nótese sin embargo que este controlador presenta un serio problema para su instru- mentación en el sistema (9.8), o incluso para realizar sobre su base de cualquier si- mulación digital. El problema consiste en que el punto de equilibrio del sistema (9.8) necesariamente implica que la corriente común del circuito de campo y armadura, x 3 , tiene que hacerse cero. Pero tal valor de la corriente hace singular la acción de control representada por (9.8). El problema de regulación del motor de corriente continua en conexión serie no puede resolverse entonces por linealización exacta. Ejemplo 9.9: Modelo promedio de un convertidor de corriente continua tipo “Boost” Considérese el modelo promedio de un convertido tipo Boost, ya introducido anteriormente en el capítulo 3. ˙ x 1 = −ω 0 x 2 +uω 0 x 2 +b ˙ x 2 = ω 0 x 1 −ω 1 x 2 −uω 0 x 1 Tratemos de buscar una transformación invertible, generada por una función escalar h(x), que satisfaga las tres condiciones (1) -(3), dadas anteriormente, y que nos transforme el modelo (9.9) a la forma canónica controlable. Sea z 1 = h(x) una función escalar diferenciable. La derivada de esta función, con respecto del tiempo, se escribe usando (9.9) de la manera siguiente: ˙ z 1 = ∂h(x) ∂x ˙ x = _ ∂h ∂x 1 ∂h ∂x 2 _ _ −ω 0 x 2 +uω 0 x 2 +b ω 0 x 1 −ω 1 x 2 −uω 0 x 1 _ = ∂h ∂x 1 [−ω 0 x 2 +uω 0 x 2 +b] + ∂h ∂x 2 [ω 0 x 1 −ω 1 x 2 −uω 0 x 1 ] = _ ∂h ∂x 1 [−ω 0 x 2 +b] + ∂h ∂x 2 [ω 0 x 1 −ω 1 x 2 ] _ +uω 0 _ ∂h ∂x 1 x 2 − ∂h ∂x 2 x 1 _ Puesto que la primera derivada de h(x) no debe depender de u, de acuerdo a (2), h(x) debe satisfacer: ∂h ∂x 1 x 2 − ∂h ∂x 2 x 1 = 0 lo cual constituye una ecuación en derivadas parciales del tipo lineal para la función desconocida h(x). Una solución general de (9.9) está dada por: z 1 = h(x) = 1 2 _ x 2 1 +x 2 2 ¸ +c donde c es una constante que debemos ajustar para que, por ejemplo, cuando las variables de estado x 1 y x 2 adoptan sus valores de equilibrio X 1 (U) y X 2 (U), inducidos por una relación de trabajo constante u = U, entonces la nueva variable z 1 adopte, por ejemplo, el valor de cero en tal punto de equilibrio. Puesto que: X 1 (U) = bω 1 ω 2 0 (1 −U) 2 ; X 2 (U) = b ω 0 (1 −U) 9.4 CONDICIONES DE EXISTENCIA PARA LA TRANSFORMACIÓN A LA FORMA CANÓNICA CONTROLABLE 253 entonces: z 1 = h(x) = 1 2 _ x 2 1 +x 2 2 ¸ − 1 2 b 2 ω 2 0 (1 −U) 2 _ 1 + ω 2 1 ω 2 0 (1 −U) 2 _ La derivada de z 1 resulta ser, después de utilizar (9.9): ˙ z 1 = _ ∂h ∂x 1 [−ω 0 x 2 +b] + ∂h ∂x 2 [ω 0 x 1 −ω 1 x 2 ] _ = bx 1 −ω 1 x 2 2 es decir: z 2 = bx 1 −ω 1 x 2 2 Nótese que el valor de equilibrio de z 2 resulta ser también cero, como lo habrá de demandar el modelo transformado en forma canónica controlable. Comprobamos finalmente que la derivada de esta segunda variable de estado sí depende de la variable de control u, tal como se establece en la condición (3). En efecto: ˙ z 2 = b ˙ x 1 −2ω 1 x 2 ˙ x 2 = b(−ω 0 x 2 +uω 0 x 2 +b) −2ω 1 x 2 (ω 0 x 1 −ω 1 x 2 −uω 0 x 1 ) = b 2 + 2ω 2 1 x 2 2 −(b + 2ω 1 x 1 )ω 0 x 2 +u(b + 2ω 1 x 1 )ω 0 x 2 Siempre que la cantidad (b +2ω 1 x 1 )x 2 sea diferente de cero, la transformación generada por h(x) es una transformación linealizante que cumple con las condiciones (1)-(3). La trasformación de coordenadas de estado está dada entonces por: z 1 = 1 2 _ x 2 1 +x 2 2 ¸ − 1 2 b 2 ω 2 0 (1 −U) 2 _ 1 + ω 2 1 ω 2 0 (1 −U) 2 _ z 2 = bx 1 −ω 1 x 2 2 La matriz Jacobiana de esta transformación, y su determinante asociado, estan dados por: ∂z ∂x = _ ∂h ∂x ∂ ˙ h ∂x _ = _ x 1 x 2 b −2ω 1 x 2 _ ; Det _ ∂z ∂x _ = −(b + 2ω 1 x 1 )x 2 La no singularidad de esta matriz Jacobiana coincide, como es claro, con la condición que hemos encontrado anteriormente, al exigir en (9.9) que la segunda derivada de h(x) dependa explícitamente de la variable de control u. La primera variable de estado, obtenida de la transformación (9.9), es interpretable en términos de la energía promedio incremental, medida sobre la base de la energía consumida en mantener la condición de equilibrio promedio. La segunda variable de la transformación representa la variación temporal del tal energía, es decir, la potencia incremental promedio consumida por el circuito. La transformación (9.9) es localmente invertible en todos aquellos puntos que se encuentren alejados de la condición de singularidad de la matriz Jacobiana calculada en (9.9). Los valores de x 1 y x 2 , como función de z 1 y z 2 , se obtiene a partir de las ecuaciones siguientes: x 2 1 + b ω 1 x 1 − _ 2z 1 + z 2 ω 1 + b 2 ω 2 0 (1 −U) 2 _ 1 + ω 2 1 ω 2 0 (1 −U) 2 __ = 0 x 2 = ¸ bx 1 −z 2 ω 1 Es decir: x 1 = − b 2ω 1 + ¸ _ b 2ω 1 _ 2 + _ 2z 1 + z 2 ω 1 + b 2 ω 2 0 (1 −U) 2 _ 1 + ω 2 1 ω 2 0 (1 −U) 2 __ x 2 = ¸ ¸ ¸ _ b ω 1 ¸ _ b 2ω 1 _ 2 + _ 2z 1 + z 2 ω 1 + b 2 ω 2 0 (1 −U) 2 _ 1 + ω 2 1 ω 2 0 (1 −U) 2 __ − b 2 2ω 2 1 − 1 ω 1 z 2 254 INTRODUCCIÓN A LA LINEALIZACIÓN EXACTA Nótese que hemos tomado la raíz positiva para x 1 , de la solución de la primera ecuación en (9.9). La raíz negativa carece de significado físico, en virtud de que, de acuerdo a (9.9), las condiciones de equilibrio (es decir, cuando z 1 = z 2 = 0), la variable x 1 debe ser positiva pues b y ω 1 son constantes positivas. Verificamos que efectivamente en equilibrio las expresiones que se obtienen de (9.9) coinciden plenamente con (9.9). La forma canónica controlable del sistema en nuevas coordenadas es: ˙ z 1 = z 2 ˙ z 2 = −2ω 1 z 2 + _ 2ω 1 b ¸ _ b 2ω 1 _ 2 + _ 2z 1 + z 2 ω 1 + b 2 ω 2 0 (1−U) 2 _ 1 + ω 2 1 ω 2 0 (1−U) 2 __ _ _ 2ω 1 ω 0 (1 −u) ¸ _ b 2ω 1 _ 2 + _ 2z 1 + z 2 ω 1 + b 2 ω 2 0 (1−U) 2 _ 1 + ω 2 1 ω 2 0 (1−U) 2 __ _ × ¸ ¸ ¸ _ b ω 1 ¸ _ b 2ω 1 _ 2 + _ 2z 1 + z 2 ω 1 + b 2 ω 2 0 (1−U) 2 _ 1 + ω 2 1 ω 2 0 (1−U) 2 __ − b 2 2ω 2 1 − 1 ω 1 z 2 Ejercicio:Terminar el diseño del controlador no lineal por Linealización Exacta. Ejemplo 9.10: Orientación de un artefacto espacial Considérese el sistema no lineal que describe la orientación de un artefacto espacial, tal como fue descrito en detalle en el capítulo 2. El sistema se encuentra descrito por: ˙ x 1 = x 2 ˙ x 2 = FL J sin x 3 ˙ x 3 = Ru El punto de equilibrio físicamente significativo del sistema está dado por: x 1 = arbitrario = X; x 2 = 0; x 3 = 0; u = 0 Es fácil verificar que la función del error de posicionamiento, dada por h(x) = x 1 −X califica como función generadora de una transformación linealizante. Haciendo: z 1 = x 1 −X; z 2 = x 2 ; z 3 = FL J sin x 3 esta transformación es invertible, al menos localmente, pues: ∂z ∂x = _ ¸ ¸ _ ∂h(x) ∂x ∂ ˙ h(x) ∂x ∂ ¨ h(x) ∂x _ ¸ ¸ _ = _ _ 1 0 0 0 1 0 0 0 FL J cos x 3 _ _ ; Det _ ∂z ∂x _ = FL J cos x 3 El determinante de la matriz Jacobiana de la transformación indica que el rango de validez de la transformación está dado por −π/2 < x 3 < π/2, lo cual cubre todos los valores prácticos del ángulo de posicionamiento de la tobera medido desde el eje principal de la nave. La transformación inversa (en aquellos lugares donde existe) está dada simplemente por: x 1 = z 1 +X; x 2 = z 2 ; x 3 = sin −1 _ Jz 3 FL _ El sistema transformado está dado por: ˙ z 1 = z 2 ˙ z 2 = z 3 ˙ z 3 = FLR J _ _ ¸ 1 − _ Jz 3 FL _ 2 _ _ u 9.5 EJERCICIOS PROPUESTOS 255 El control linealizante puede ser obtenido directamente en coordenadas transformadas como: u = J _ ¸ ¸ ¸ ¸ _ −α 1 α 2 α 3 z 1 −(α 1 α 2 +α 1 α 3 +α 2 α 3 )z 2 −(α 1 +α 2 +α 3 )z 3 FLR _ _ 1 − _ Jz 3 FL _ 2 _ _ ¸ ¸ ¸ ¸ _ Lo cual induce en el sistema lineal en lazo cerrado un polinómio característico dado por: p(s) = (s +α 1 )(s +α 2 )(s +α 3 ) = s 3 + (α 1 +α 2 +α 3 )s 2 + (α 1 α 2 +α 1 α 3 +α 2 α 3 )s +α 1 α 2 α 3 En coordenadas originales el controlador resulta ser: u = J _ −α 1 α 2 α 3 (x 1 −X) −(α 1 α 2 +α 1 α 3 +α 2 α 3 )x 2 −(α 1 +α 2 +α 3 ) FL J sin x 3 FLRcos x 3 _ El siguiente programa simula la respuesta del sistema controlado por la ley de realimentación no lineal que logra la linealización perfecta del sistema. 9.5. Ejercicios propuestos 9.6. Resumen del capítulo y Lecturas adicionales 10 Linealización exacta de sistemas no lineales 10.1. Introducción 10.2. Nociones básicas de geometría diferencial 10.3. Interpretación geométrica del corchete de Lie y teorema de Frobenius 10.4. Nueva formulación de las condiciones de existen- cia para la transformación a la forma canónica controlable 10.5. El caso de sistemas lineales 10.6. Ejemplos 10.7. Ejercicios propuestos 10.8. Resumen del capítulo y Lecturas adicionales 256 11 Linealización entrada-salida 11.1. Introducción 11.2. Dinámica de los ceros y linealización entrada-salida 11.3. Primer ejemplo 11.4. Formulación de la linealización entrada-salida us- ando herramientas de geometría diferencial 11.5. Ejercicios propuestos 11.6. Resumen del capítulo y Lecturas adicionales 257 12 Observadores no lineales con error lineal Foto Daremos una muy breve introducción al diseño de observadores dinámicos de estado no lineales basados en linealización exacta. 12.1. Introducción Los desarrollos teóricos que promueven la síntesis de controladores re- troalimentados suponen que todas las variables (por lo general, variables de estado) que intervienen en la expresión del controlador están físicamente disponibles para su utilización. Esta hipótesis es, en la mayoría de los ca- sos prácticos, difícil de satisfacer pues asociado a los costos adicionales de medir cada variable (por adquisición y colocación de sensores, por ejemplo), Hay variables que pueden ser técnicamente difíciles de medir también ocurre que es imposible tener acceso a ciertas variables sin oca- sionar perturbaciones adicionales al sistema, incluso puede haber variables que son técnicamente difíciles o imposibles de medir, como es el caso, por ejemplo, por requerir el uso de analizadores fuera de línea, los cuales rep- 258 12.2 LINEALIZACIÓN DEL ERROR DE RECONSTRUCCIÓN 259 resentan un costo alto en tiempo y dinero, o al tratar de medir temperatura en puntos específicos en el interior de hornos a muy alta temperatura. Aunado a estas restricciones, la confiabilidad del diseño del controlador puede verse seriamente comprometida al incrementar, posiblemente de for- ma innecesaria, el número de sensores (los cuales, por lo general, poseen una dinámica –no lineal— propia) que deben ir asociados al controlador, con el consecuente incremento en la complejidad de la dinámica. Por esta razón, es preciso restringirnos al número mínimo de mediciones que sean indispensables para implementar el controlador diseñado. Estas mediciones están circunscritas a las variables de salida del sistema. Estas salidas son de naturaleza tal que son capaces de reconstruir el vector de estado con un error de estimación que decrezca, en forma asintótica, a cero. El problema asociado a conseguir un observador de estados para sis- temas lineales, y su posible extensión al caso no lineal, ha sido tratado pre- viamente en las Partes I y II de este libro. Nos corresponde ahora exponer la posibilidad de construir observadores no lineales cuyo error de estimación del vector de estado sea asintóticamente estable a cero. En el mismo es- píritu de la linealización exacta, nos proponemos sintetizar observadores de estado que tengan un error de reconstrucción que satisfaga, en forma exacta, una dinámica lineal. La metodología que pretendemos ilustrar se basa, en forma dual al caso de linealizaciones exactas, en proponer trans- formaciones de coordenadas e inyecciónes no lineales del vector de salida con el objeto de obtener dinámicas lineales del error de reconstrucción de estados. 12.2. Linealización del error de reconstrucción Considérese un sistema no lineal de la forma ˙ x = Ax +γ(y, u), y = Cx (12.1) donde x ∈ R n , y ∈ R, u ∈ R, γ : R × R → R n , y donde, además, el par de matrices (C, A) forman un par observable. En este caso, tan especial, un observador dinámico de la forma d dt ˆ x = Aˆ x +γ(y, u) +K(y − ˆ y), ˆ y = Cˆ x (12.2) produce una dinámica del error de reconstrucción del vector de estado, e = x − ˆ x, independiente del valor del vector de entrada del sistema, da- da, exactamente, por el sistema lineal de ecuaciones diferenciales, ˙ e = (A−KC)e (12.3) Puesto que el par (C, A) es observable, esto quiere decir, que existe una matriz K tal que los autovalores de la matriz A − KC pueden ubicarse en el semiplano izquierdo del plano complejo. El error de estimación, e, 260 OBSERVADORES NO LINEALES CON ERROR LINEAL asociado a tal valor propuesto de K decrece exponencialmente a cero en forma global, es decir, independientemente de las condiciones iniciales del estado x y del estado del observador ˆ x. El estimado, ˆ x, converge entonces de manera asintótica exponencial al valor verdadero del estado, x, del sistema. Ejemplo 12.1: Manipulador de un grado de libertad Considérese el siguiente manipulador pendular de un solo grado de libertad ˙ x 1 = x 2 ˙ x 2 = − mgL J cos x 1 + 1 J u y = x 1 (12.4) Este sistema está en la form (12.1) con A = _ 0 1 0 0 _ , C = [1 0], γ(y, u) = _ 0 − mgL J cos y + 1 J u _ El par de matrices (C, A) es claramente observable y, por lo tanto, el observador no lineal con error de reconstrucción lineal para este sistema está dado por ˙ ˆ x 1 = ˆ x 2 +k 1 (y − ˆ y) ˙ ˆ x 2 = − mgL J cos y + 1 J u +k 2 (y − ˆ y) ˆ y = ˆ x 1 (12.5) El error de reconstrucción satisface entonces la dinámica lineal representada por ˙ e 1 = e 2 −k 1 e 1 ˙ e 2 = −k 2 e 1 (12.6) El polinomio característico de este sistema lineal está dado por, p(s) = s 2 +k 1 s +k 2 La escogencia apropiada de k 1 y k 2 hace que el polinomio característico tenga todas sus raíces en el semiplano izquierdo del plano complejo. Podemos escojer, por ejemplo, k 1 = 2ζωn y k 2 = ω 2 n , con ζ, ωn > 0. Ejemplo 12.2: Manipulador flexible Considérese el ejemplo del manipulador robótico con articulación flexible de un solo grado de libertad Las ecuaciones diferenciales que gobiernan este sistema no lineal están dadas por: J L ¨ θ +B L ˙ θ +MgLsen θ +k(θ −ψ) = 0 Jm ¨ ψ +Bm ˙ ψ −k(θ −ψ) = u y = θ (12.7) donde θ es la posición angular del brazo manipulador y ψ es la posición angular del eje del motor. Definimos las variables de estado de la manera siguiente: x 1 = θ ; x 2 = ˙ θ ; x 3 = ψ ; x 4 = ˙ ψ el modelo en espacio de estados, del manipulador flexible, es entonces: ˙ x 1 = x 2 ˙ x 2 = − MgL J L sen x 1 − B L J L x 2 − k J L (x 1 −x 3 ) ˙ x 3 = x 4 ˙ x 4 = − Bm Jm x 4 + k Jm (x 1 −x 3 ) + 1 Jm u y = x 1 (12.8) 12.2 LINEALIZACIÓN DEL ERROR DE RECONSTRUCCIÓN 261 El sistema está en la forma especial, que hemos propuesto al inicio de este capítulo, con A = _ ¸ ¸ ¸ _ 0 1 0 0 − k J L − B L J L k J L 0 0 0 0 1 k Jm 0 − k Jm − Bm Jm _ ¸ ¸ ¸ _ , C = [1 0 0 0] γ(y, u) = _ ¸ ¸ _ 0 − MgL J L sen y 0 1 Jm u _ ¸ ¸ _ (12.9) El par (C, A) es observable, como puede verificarse fácilmente, y entonces el observador, cuya dinámica del error de reconstrucción es lineal, está dado por ˙ ˆ x 1 = ˆ x 2 +k 1 (y − ˆ y) ˙ ˆ x 2 = − MgL J L sen y − B L J L ˆ x 2 − k J L (ˆ x 1 − ˆ x 3 ) +k 2 (y − ˆ y) ˙ ˆ x 3 = ˆ x 4 +k 3 (y − ˆ y) ˙ ˆ x 4 = − Bm Jm ˆ x 4 + k Jm (ˆ x 1 − ˆ x 3 ) + 1 Jm u +k 4 (y − ˆ y) ˆ y = ˆ x 1 (12.10) Efectivamente, el error de reconstrucción de estados e = x − ˆ x se describe mediante la dinámica lineal ˙ e 1 = e 2 −k 1 e 1 ˙ e 2 = − B L J L e 2 − k J L (e 1 −e 3 ) −k 2 e 1 ˙ e 3 = e 4 −k 3 e 1 ˙ e 4 = − Bm Jm e 4 + k Jm (e 1 −e 3 ) −k 4 e 1 (12.11) La ecuación característica de este sistema lineal está dada por p(s) = s (4) + _ k 1 + B L J L + Bm Lm _ s (3) + __ B L J L + Bm Jm _ k 1 + _ k J L + k Jm + BmB L LmJ L _ +k 2 _ s 2 + _ k J L k 3 + Bm Lm _ B L J L k 1 + k J L +k 2 _ + k Jm _ k 1 + B L J L __ s + _ Bmk LmJ L k 3 − k 2 JmJ L + B L J L k 1 + k J L +k 2 +k 4 _ = 0 Es claro, a partir de esta última expresión, que siempre podemos escojer las ganancias del ob- servador {k 1 , · · · , k 4 } de tal manera que el polinomio carcaterístico p(s) posea los coeficientes requeridos a fin de que todas sus raíces se encuentren ubicadas en el semiplano izquierdo del plano complejo. Bibliografía [ÅH95] K. J. Åström and T. Hägglund. PID Controllers: Theory, Design, and Tuning. Instrument Society of America, Research Triangle Park, NC, 2 `eme edition, 1995. [AS86] H. Asada and J.-J. E. Slotine. Robot Analysis and Control. Wi- ley, New York, 1986. [BH95] S. Bahram and M. Hassul. Control System Design using Mat- lab. Prentice-Hall, Englewood Cliffs, NJ, 1995. [BR86] W. T. Baumann and W. J. Rugh. Feedback control of nonlin- ear systems by extended linearization. IEEE Trans. Automat. Contr., 31:40–46, 1986. [CKS93] D. Cho, Y. Kato, and D. Spilman. Sliding mode and classical controllers in magnetic levitation systems. IEEE Contr. Sys. Mag., 13(2):42–48, 1993. [DAC95] P. Dorato, C. Abdallah, and V. Cerone. Linear-Quadratic Con- trol: An introduction. Prentice-Hall, Englewood Cliffs, NJ, 1995. [DCSJ03] S. Domínguez, P. Campoy, J. M. Sebastián, and A. Jiménez. Control en el espacio de estado. Pearson Educación, Madrid, España, 2003. [DFT92] J. C. Doyle, B. A. Francis, and A. R. Tannenbaum. Feedback Control Theory. MacMillan Publishing Company, New York, 1992. [FPEN94] G. F. Franklin, J. D. Powell, and A. Emami-Naeini. Feedback Control of Dynamic Systems. Addison-Wesley, Reading, MA, 1994. [FSA88] K. Furuta, A. Sano, and D. Atherton. State Variable Methods in Automatic Control. John Wiley & Sons Ltd, 1988. 262 BIBLIOGRAFÍA 263 [HK77] R. Hermann and A. J. Krener. Nonlinear controllability and observability. IEEE Trans. Automat. Contr., 22:728–740, 1977. [HMTG02] C. V. Hollot, V. Misra, D. Towsley, and W. Gong. Analysis and design of controllers for AQM routers supporting TCP flows. IEEE Trans. Automat. Contr., 47(6), 2002. [Isi95] A. Isidori. Nonlinear Control Systems. Springer-Verlag, Lon- dres, Reino Unido, tercera edición edition, 1995. [Kai80] T. Kailath. Linear Systems. Prentice-Hall, Englewood Cliffs, NJ, 1980. [KBBL90] P. T. Krein, J. Bentsman, R. M. Bass, and B. L. Lesieutre. On the use of averaging for the analysis of power electronic sys- tems. IEEE Transactions on Power Electronics, 5(2):182–190, 1990. [Kel01] F. Kelly. Mathematical modelling of the Internet. In Bjorn Engquist and Wilfried Schmid (Eds.), Mathematics Unlimit- ed – 2001 and Beyond, pages 685–702. Springer-Verlag, Berlin, 2001. [Kha96] H. K. Khalil. Nonlinear Systems. Prentice-Hall, Englewood Cliffs, NJ, segunda edición edition, 1996. [KS03] R. Kelly and V. Santibañez. Control de Movimiento de Robots Manipulados. Pearson Educación, Madrid, España, 2003. [Kuo95] B. Kuo. Automatic Control Systems. Prentice-Hall, séptima edición edition, 1995. [LG94] L. Ljung and T. Glad. Modeling of Dynamic Systems. Prentice- Hall, Engllewood Cliffs, NJ, E.E.U.U., 1994. [Low03] S. Low. A duality model of TCP and queue management al- gorithms. IEEE/ACM Transactions on Networking, 11(4):525– 536, 2003. [LR94] D. A. Lawrence and W. J. Rugh. Input-output pseudolineariza- tion for nonlinear systems. IEEE Trans. Automat. Contr., 39:2207–2218, 1994. [Lue66] D. G. Luenberger. Observers for multivariable systems. IEEE Trans. Automat. Contr., 11(2):190–197, 1966. [Lue71] D. G. Luenberger. An introduction to observers. IEEE Trans. Automat. Contr., 16:596–602, 1971. [Lue92] D. G. Luenberger. A double look at duality. IEEE Trans. Au- tomat. Contr., 37:1474–1482, 1992. 264 BIBLIOGRAFÍA [Mar73] B. Markiewicz. Analysis of the computed-torque drive method and comparison with the conventional position servo for a computer-controlled manipulator. Technical Memorandum 33- 601, The Jet Propulsion Laboratory, California Institute of Technology, Pasadena, California, 3 1973. [MASA04] R. Marquez, E. Altman, and S. Solé-Álvarez. Modeling TCP and HighSpeed TCP: A nonlinear extension to aimd mecha- nisms. In Proceedings of 7th IEEE International Conference on High Speed Networks and Multimedia Communications (HSN- MC’04), pages 685–702, Toulouse, Francia, junio 30–julio 2, 2004. [Mec03] Virginia Tech Mechatronics. Procedure for iden- tifying permanent magnet DC motors. En In- ternet, página web: http://www.mechatronics. me.vt.edu/book/Section3/motormodelling.html, agosto 28, 2003. [Nis96] N.Ñise. Control System Engineering. Addison-Wesley, segunda edición edition, 1996. [NvdS90] H.Ñijmejier and A. J. van der Schaft. Nonlinear Dynamical Control Systems. Springer-Verlag, New York, 1990. [Oga87] K. Ogata. Dinámica de Sistemas. Prentice-Hall Hispanoamer- icana S.A., México, 1987. [Oga93] K. Ogata. Ingeniería de Control Moderna. Prentice-Hall, 2da. edición edition, 1993. [Pau82] R. P. Paul. Robot Manipulators: Mathematics, Programming and Control. M.I.T. Press, Cambridge, MA, 1982. [RC84] C. Reboulet and C. Champetier. A new method for linearizing non-linear systems: the pseudolinearization. Int. J. of Control, 40:631–638, 1984. [RMC86] C. Reboulet, P. Mouyon, and C. Champetier. About the lo- cal linearization of nonlinear systems. In M. Fliess and M. Hazewinkel (Eds.), Algebraic and Geometric Methods in Nonlin- ear Control Theory, pages 311–322. D. Reidel Publishing Com- pany, 1986. [RS00] W. J. Rugh and J. S. Shamma. Research on gain scheduling. Automatica, 36:1401–1425, 2000. [Rug91] W. J. Rugh. Analytical framework for gain scheduling. IEEE Contr. Sys. Mag., 11:79–84, 1991. BIBLIOGRAFÍA 265 [SA90] J. S. Shamma and M. Athans. Analysis of gain scheduled con- trol for nonlinear plants. IEEE Trans. Automat. Contr., 35:898– 907, 1990. [SA92] J. S. Shamma and M. Athans. Gain scheduling: Potential haz- ards and possible remedies. IEEE Contr. Sys. Mag., 12:101–107, 1992. [SJ72] H. J. Sussmann and V. J. Jurdjevic. Controllability of nonlinear systems. J. Differential Equations, 12:95–116, 1972. [SK91] H. J. Sussmann and P. V. Kokotovic. The peaking phenomenon and the global stabilization of nonlinear systems. IEEE Trans. Automat. Contr., 36(4):424–440, 1991. [SL91] J.-J. E. Slotine and W. Li. Applied Nonlinear Control. Prentice- Hall, Englewood Cliffs, NJ, 1991. [SNLV89] S. R. Sanders, J. M. Noworolski, X. Z. Liu, and G. C. Vergh- ese. Generalized averaging method for power conversion cir- cuits. IEEE Transactions on Power Electronics, 6(2):251–259, 1989. [SR89] H. Sira-Ramírez. A geometric approach to puse width mod- ulated control in nonlinear dynamical systems. IEEE Trans. Automat. Contr., 34(2):184–187, 1989. [SRPR92] H. Sira-Ramírez and M.T. Prada-Rizzo. Nonlinear feedback regulator design for the ´ cuk converter. IEEE Trans. Automat. Contr., 37:1173–1180, 1992. [SV91] S. R. Sanders and G. C. Verghese. Synthesis of averaged circuit models for switched power converters. IEEE Trans. Circuits and Systems, 38(8):905–915, 1991. [Vid87] M. Vidyasagar. Control System Synthesis. MIT Press, Cam- bridge, MA, 1987. [Wal91] S. Walas. Modeling with Differential Equations in Chemical Engineering. Butterworth-Heinemann, Boston, E.E.U.U., 1991. [Won67] W. M. Wonham. On pole assignment in multi-input control- lable linear systems. IEEE Trans. Automat. Contr., 12:660–665, 1967. [WR87] J. Wang and W. J. Rugh. Feedback linearization families for nonlinear systems. IEEE Trans. Automat. Contr., 32:935–940, 1987.
Report "Control de Sistemas No Lineales - Hebertt Sira"