Control de Sistemas No Lineales - Hebertt Sira

March 20, 2017 | Author: Led Ruv | Category: N/A
Share Embed Donate


Short Description

Download Control de Sistemas No Lineales - Hebertt Sira...

Description

Control de Sistemas 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 1.1. Introducción . . . . . . . . . . . . . . . . . . . 1.2. Clase de sistemas bajo estudio . . . . . . . . . 1.3. Puntos de equilibrio . . . . . . . . . . . . . . . 1.4. Sistemas de naturaleza física real . . . . . . 1.5. Modelos empleados a lo largo del texto . . . . 1.6. Ejercicios propuestos . . . . . . . . . . . . . . 1.7. Resumen del capítulo y Lecturas adicionales

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

3 . 4 . 5 . 5 . 8 . 11 . 20 . 23

Parte I: Control Lineal de Sistemas No Lineales: Linealización Aproximada 29 2. Linealización aproximada 2.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Linealización aproximada: expansión en serie de Taylor 2.3. Sistema linealizado: espacio de estado . . . . . . . . . . 2.4. Validez del modelo linealizado . . . . . . . . . . . . . . . 2.5. Primer ejemplo en Matlab (R) . . . . . . . . . . . . . . . 2.6. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . 2.7. Resumen del capítulo y Lecturas adicionales . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

3. Realimentación del vector de estados 3.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Diseño de controladores mediante linealización aproximada 3.3. Ejemplos en Matlab (R) . . . . . . . . . . . . . . . . . . . . . . 3.4. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . 3.5. Resumen del capítulo y Lecturas adicionales . . . . . . . . . III

. . . . . . .

31 32 32 34 41 44 49 51

. . . . .

53 54 54 62 72 76

CONTENIDO

IV

4. Observadores dinámicos de estado 4.1. Introducción . . . . . . . . . . . . . . . . . . . 4.2. Reconstrucción del vector de estado . . . . . . 4.3. Observador de Luenberger: convergencia . . 4.4. Observador de Luenberger: separabilidad . . 4.5. Observadores de orden reducido . . . . . . . . 4.6. Ejercicios propuestos . . . . . . . . . . . . . . 4.7. Resumen del capítulo y Lecturas adicionales

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

78 78 79 83 88 99 112 114

5. Síntesis de compensadores clásicos 5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . 5.2. Diseño de reguladores del tipo P, PI y PID . . . . . 5.3. Ejemplos basados en la regla de Ziegler-Nichols . 5.4. Método del controlador-observador clásico . . . . . 5.5. Ajuste de las ganancias de un compensador lineal 5.6. Ejercicios propuestos . . . . . . . . . . . . . . . . . 5.7. Resumen del capítulo y Lecturas adicionales . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

116 116 117 121 125 133 142 147

. . . . . . .

. . . . . . .

Parte II: Control No Lineal de Sistemas No Lineales: Linealización Extendida 149 6. Realimentación no lineal del vector de estado 6.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2. Realimentación no lineal basada en asignación de polos variantes en familias de modelos parametrizados . . . . 6.3. Controlador no lineal basado en linealización extendida . 6.4. Ejemplos de diseño . . . . . . . . . . . . . . . . . . . . . . 6.5. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . 6.6. Resumen del capítulo y Lecturas adicionales . . . . . . .

. . . in. . . . . . . . . . . . . . .

151 151 154 156 158 169 172

7. Diseño de observadores dinámicos de estado no lineales basados 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 mediante linealización extendida . . . . . . . . . . . . . . . . . . . . . 206

CONTENIDO

V

8.3. Compensadores no lineales basados en el esquema controladorobservador 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 controlable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 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 existencia 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 256 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 usando herramientas de geometría diferencial . . . . . . . . . . . . . . . . 11.5.Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . 11.6.Resumen del capítulo y Lecturas adicionales . . . . . . . . . .

257 257 257 257

256 256 256 256 256 256

257 257 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. 1.2. 1.3. 1.4.

Diagrama de Bloques de un Sistema no lineal . . . . . . . . . . Avión en vuelo horizontal . . . . . . . . . . . . . . . . . . . . . Péndulo simple . . . . . . . . . . . . . . . . . . . . . . . . . . . Satélite mono-axial (cuerpo que gira alrededor de un eje mediante expulsión de gases) . . . . . . . . . . . . . . . . . . . . . 1.5. Esquema de un artefacto espacial que requiere control de su orientación a un valor deseado (θ = Θ) . . . . . . . . . . . . . . 1.6. Convertidor de potencia DC–DC tipo “Boost” . . . . . . . . . . 1.7. Sistema de suspensión magnética . . . . . . . . . . . . . . . . . 1.8. Manipulador robótico de unión rígida . . . . . . . . . . . . . . 1.9. Motor serie de corriente continua . . . . . . . . . . . . . . . . . 1.10.Representación simplificada del comportamiento del TCP . . . 1.11.Aro rotatorio sobre el que desliza un anillo cuya posición angular se desea controlar . . . . . . . . . . . . . . . . . . . . . . 1.12.Sistema masa–resorte–amortiguador . . . . . . . . . . . . . . . 1.13.Circuito de Chua controlado . . . . . . . . . . . . . . . . . . . . 1.14.Balanceo de una esfera sobre una barra . . . . . . . . . . . . . 1.15.Tanque de reacción continuamente agitado . . . . . . . . . . . 2.1. Relación entre las variables originales y las variables incrementales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Representación entrada-salida del sistema linealizado . . . . . 2.3. Motor de corriente continua . . . . . . . . . . . . . . . . . . . . 2.4. Sistema de un tanque con pérdida de líquido . . . . . . . . . . 2.5. Perturbación de la señal de entrada al tanque . . . . . . . . . 2.6. Péndulo invertido sobre una plataforma móvil . . . . . . . . . 2.7. Comportamiento local del sistema lineal (línea continua —) y el sistema no lineal (trazos - -) . . . . . . . . . . . . . . . . . . . 2.8. Manipulador robótico flexible . . . . . . . . . . . . . . . . . . .

6 7 9 10 12 13 14 15 17 18 20 21 22 23 26 36 37 40 42 42 45 49 50

3.1. Relación entre las variables originales y las variables incrementales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.2. Sistema lineal que describe, en forma aproximada, el comportamiento de las perturbaciones . . . . . . . . . . . . . . . . . . 55 VI

ÍNDICE DE FIGURAS

3.3. Sistema lineal realimentado linealmente . . . . . . . . . . . . 3.4. Esquema de control lineal por realimentación del vector de estado para sistemas no lineales . . . . . . . . . . . . . . . . . 3.5. Ubicación de los polos del sistema (3.2) en lazo abierto . . . . 3.6. Polos del sistema (3.2) en lazo cerrado . . . . . . . . . . . . . . 3.7. Esquema de realimentación lineal de estados para el sistema de levitación magnética . . . . . . . . . . . . . . . . . . . . . . . 3.8. Ubicación de polos, en el plano complejo, para el artefacto espacial en lazo cerrado . . . . . . . . . . . . . . . . . . . . . . . . 3.9. Comportamiento en lazo cerrado del artefacto espacial controlado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10.Comportamiento del artefacto espacial obtenido por simulación del sistema controlado, para desviaciones iniciales significativas del punto de equilibrio . . . . . . . . . . . . . . . . . . 3.11.Respuesta en lazo cerrado del sistema de fermentación estabilizable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12.Sistema de dos conductores acoplados magnéticamente . . . .

VII

56 56 59 60 61 64 65

66 71 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 espacial mediante realimentación lineal de la salida utilizando un observador dinámico . . . . . . . . . . . . . . . . . . . . . . . . 92 4.9. Respuesta de un sistema aro – anillo controlado mediante realimentació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 orden 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 última K0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 sistema 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 Kc = 29,72 . . . . . . . . . . . . . . . . . . . . . . . 137 5.14.Diagrama de Nyquist del sistema compensado para Kc = 10. El sistema es inestable en lazo cerrado . . . . . . . . . . . . . . 137 5.15.Comportamiento dinámico del sistema de suspensión magnética en lazo cerrado con el compensador en adelanto diseñado138 5.16.Simulación para Kc = 29,72 para x1 (0) = 0,07 . . . . . . . . . . 140 5.17.Simulación para Kc = 20 para x1 (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 monoaxial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 6.2. Comportamiento del satélite mono-axial controlado mediante realimentación no lineal del vector de estados basada en linealización extendida . . . . . . . . . . . . . . . . . . . . . . . 161 6.3. Comportamiento del satélite mono-axial controlado por linealización extendida, limitando la señal de control mediante Um´ax —-; sin limitar - - - . . . . . . . . . . . . . . . . . . . . . . . 162 6.4. Esquema de control no lineal obtenido para el satélite monoaxial con ley de control limitada por el valor Um´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 diferentes condiciones iniciales usando una ley de control lineal . . 167

ÍNDICE DE FIGURAS

7.1. Diagrama de bloques del observador dinámico de estados para el satélite mono-axial, basado en linealización extendida . . . 7.2. Diagrama de bloques en lazo cerrado del sistema de control de un satélite, considerando un observador dinámico no lineal 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.4. Diagrama de bloques en lazo cerrado de un manipulador robótico, considerando un observador dinámico no lineal . . . . . . . 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.6. Diagrama de bloques en lazo cerrado de un manipulador robótico, considerando un observador dinámico no lineal . . . . . . . 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 linealización extendida . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.8. Tanque reactor continuamente agitado, no isotérmico . . . . .

IX

187 187

190 193

194 198

200 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 tanques regulado mediante un PID no lineal . . . . . . . . . . . . 214 8.5. Simulación del comportamiento de un sistema de tres tanques en cascada controlados por intermedio de un PID no lineal214 8.6. Simulación del comportamiento de un sistema de tres tanques 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 mediante una ley no lineal basada en el controlador-observador clásico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.1. 9.2. 9.3. 9.4.

Diagrama de bloques del sistema aro – anillo . . . . . . . . . . Diagrama de bloques del sistema “linealizado” . . . . . . . . . Simulación numérica del sistema aro-anillo controlado . . . . Posición angular del anillo y señal de control para diferentes condiciones iniciales . . . . . . . . . . . . . . . . . . . . . . . . . 9.5. Diagrama de bloques del manipulador robótico . . . . . . . . .

230 231 233 234 234

X

ÍNDICE DE FIGURAS

9.6. Manipulador robótico transformado a una cadena de dos integradores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.7. Respuesta en lazo del control de un brazo manipulador robótico 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 . . . 3.2. Simulación del artefacto espacial: modelo ejemplo1.m . . . . . 3.3. Programa de simulación del proceso incontrolable de producción de etanol sejem2.m . . . . . . . . . . . . . . . . . . . . . . . 3.4. Modelo y ley de control ejemplo2.m empleados para la simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5. Parámetros usados en el sistema del péndulo invertido sobre una plataforma móvil . . . . . . . . . . . . . . . . . . . . . . . .

67 68 70 72 72

4.1. Programa de simulación del artefacto espacial controlado mediante 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 mediante 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 KP , TI , TD del método de Ziegler-Nichols . . . . 5.2. Parámetros K1 , K2 , K3 del método de Ziegler-Nichols . . . . 5.3. Programa de simulación del sistema de suspensión magnética smgto.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4. Modelo y compensador en adelanto mgto.m . . . . . . . . . . . 5.5. Programas para generar los gráficos de Nyquist y del lugar de las raíces . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

119 120 139 140 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 . . . . . . . . . . . . . . . . . . . . 6.3. Modelo y control de un saliélite mono-axial ejext1.m . . . . . 6.4. Programa de simulación del satelite mono-axial con actuador saturado sejext1b.m . . . . . . . . . . . . . . . . . . . . . . . . 6.5. Modelo y control saturado ejext1b.m . . . . . . . . . . . . . . . 6.6. Programa de simulación del manipulador robótico sejext2.m . 6.7. Modelo + control no lineal por linealización extendida (se incluye además el control linealizado) ejext2.m . . . . . . . . . .

174 175 176 177 178 179

7.1. Programa de simulación de la dinámica de un satélite monoaxial 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 regulado 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 observador 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 promedio 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 controlador PID no lineal tanqext.m . . . . . . . . . . . . . . . . . . . 216 9.1. Programa de simulación del sistema aro-anillo regulado mediante 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 sido 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 t 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 estado, entrada y salida.

(X, Y, U )

valores de equilibrio (punto de operación) para x, y y u, respectivamente.

t

el tiempo

t0

el instante t = t0 .

x(t)

dx dt A, B

x˙ =

“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”. derivada (tasa de variación) de x(t) respecto de t. generalmente representan, respectivamente, la matriz del sistema y la matriz del control.

XIII

XIV

N OTACIÓN

Introducción [a completar] Se ha preferido utilizar los archivos tipo “script” y “function” de Matlab 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

I NTRODUCCIÓ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 lineales1 . En este capítulo precisaremos el tipo de sistemas que serán utilizados 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, procedimientos 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

A LGUNOS M ODELOS

DE

S ISTEMAS N O L INEALES

Ilustraremos algunos conceptos, tales como el de punto de equilibrio, 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 circundante. Los diferentes modelos que formaba le servían para actuar dentro de su medio y para tratar de solventar sus problemas en la caceria, construcció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 ingenieril, 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 regulación de la posición y de la velocidad en los molinos de viento, y los dispositivos más simples, pero no menos ingeniosos, usados para controlar el nivel del líquido en los relojes de agua (clepsidra). Estos modelos, linguísticos 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 interpretar 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 representación abstracta realizada en términos de lenguaje y simbología matemática (ecuaciones algebraicas, ecuaciones diferenciales, en diferencias, etc.) la cual resalta propiedades importantes del sistema en estudio. En nuestro caso, estaremos interesados en que el modelo presente las propiedades “más importantesrelativas al comportamiento dinámico (en el tiempo) del sistema a controlar, tomando en cuenta los requerimientos y la disponibilidad de recursos respecto a beneficios, costos, precisión y exactitud en representar 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 C LASE

5

DE SISTEMAS BAJO ESTUDIO

así, el modelo a emplear tiene que ser lo suficientemente sofisticado como 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 representados a través de modelos matemáticos que expresan las diferentes propiedades o comportamientos que satisfacen tales sistemas. Los sistemas dinámicos que estudiaremos describen procesos reales de naturaleza no lineal. 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 sistema no lineal con una sola entrada y una salida: x(t) ˙ = f (x(t), u(t)), y(t) = h(x(t))

x(t0 ) = x0

(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) ∈ Rn , u(t) 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 continuas, diferenciables al menos una vez con respecto a cada uno de sus argumentos, definidas de tal forma que f : Rn × R → Rn y h : Rn → 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 diseñar leyes o estrategias de control para la regulación del comportamiento en lazo cerrado del sistema estudiado. En forma precisa, se deseará regular

Representación en variables de estado

6

A LGUNOS M ODELOS

DE

S ISTEMAS N O L INEALES

Figura 1.1: Diagrama de Bloques de un Sistema no lineal

Punto de equilibrio, punto de operación

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 obtienen 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



(1.2)

x(t) = X(U )

De la ecuación (1.2) resulta claro que, para calcular el punto de equilibrio (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 )), Parametrización con respecto al control

para todo t.

(1.3)

En este caso, diremos que el punto de equilibrio está parametrizado en función de la señal de control2 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 + u(t) x(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 P UNTOS

7

DE EQUILIBRIO

Evidentemente, si u = U = 0, no existe ningún punto de equilibrio para la variable de estado x(t). Sin embargo, si u = U 6= 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(x2 − 2) y=x √ tiene para u = U 6= 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ísico 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 describiendo 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 x1 y x2 , las cuales describen la posición del avión en cada instante. El parámetro de control es la función u, la cual representa la dirección del avión relativa a las coordenadas fijas (x1 , x2 ), la cual puede cambiarse a voluntad. El modelo del sistema es el siguiente: x˙ 1 = V cos u x˙ 2 = V sen u q y = x21 + x22 − 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 diferenciales igualadas a cero representan, para un valor fijo U de u, un sistema incompatible que no

8

A LGUNOS M ODELOS

DE

S ISTEMAS N O L INEALES

posee solución alguna. Si expresamos el sistema anterior en coordenadas polares, a partir de la transformación de coordenadas dada por:   q x2 θ = arctan ρ = x21 + x22 , x1 x1 = ρ cos θ,

x2 = ρ 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 disponga de puntos de equilibrio constantes para los sistemas dinámicos. La mayoría de los sistemas que trataremos (de origen eminentemente real: mecánico, 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 sistemas 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 RT K0 A0 p RT =− P0 (P − P0 ) + u dt V V

(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, A0 y K0 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. P0 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 = P0 . Si, por el contrario, inyectamos una cantidad constante de gas u = U 6= 0, el punto de equilibrio para la presión resulta ser ahora:  2 1 U P (U ) = P0 + (1.6) P0 K0 A0 el cual es mayor que el valor de equilibrio anterior, como es lógico suponer. 

1.4 S ISTEMAS

9

DE NATURALEZA FÍSICA REAL

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 = x2 x˙ 2 = −

1 mgL cos x1 + u J J

(1.7)

y = x1 donde x1 = θ, x˙ 1 = x2 = θ˙ 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 x2 es, simplemente, x2 = 0. Sin embargo, si u = U = 0, entonces para todo valor del ángulo x1 que haga cos x1 = 0, tendremos infinitos puntos de equilibrio constante para x1 . En efecto, x1 = ±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 x1 pertecenece al intervalo x1 ∈ [π/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 x1 representa la densidad de células de metilomonas y x2 representa la concentración del metanol, el sistema se describe como: Aµ x2 x1 − u x 1 B + x2 Aσ x2 x˙ 2 = − x1 + u(Af − x2 ) B + x2 y = x2

x˙ 1 =

(1.8)

donde u es la tasa de disolución del substrato y Af es la concentración del substrato en la alimentación del tanque, la cual puede ser considerada constante. Aµ y Aσ son constantes conocidas. M

10

A LGUNOS M ODELOS

DE

S ISTEMAS N O L INEALES

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, Af ) y el otro en: x1 = X1 (U ) =

Aµ (Af Aµ − (Af + B)U ) ; Aσ Aµ − U

x2 = X2 (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 calculables en términos del valor U de la señal de entrada u, diremos que el punto 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.

Parametrización con respecto al estado

Sin embargo, la parametrización de los puntos de equilibrio no es potestativa ú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 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 sistema 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 M ODELOS

11

EMPLEADOS A LO LARGO DEL TEXTO

x˙ 1 = 0,5 (1 + x21 ) x2 1 u J y = x1

x˙ 2 =

(1.10)

donde x1 es el ángulo de orientación del satélite medido respecto de un eje oblicuo, no coincidente con el eje principal; x2 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 x1 = X1 (constante arbitraria) y x2 = 0. Evidentemente, en este caso el punto de equilibrio se parametriza en términos de la posición angular X1 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 especial o de manera explícita, simplemente nos referiremos al punto de equlibrio mediante (U, X).

1.5.

Modelos empleados a lo largo del texto

En esta parte presentaremos un número significativo de sistemas no lineales controlados. A pesar de que esta lista puede estar incompleta, estos modelos han sido escogidos de tal forma que sean representativos e ilustrativos de las diferentes áreas donde pueden encontrarse sistemas controlados, representados por medio de ecuaciones diferenciales ordinarias no lineales. 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 puntos 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 hasta simulaciones!) para obtener los valores adecuados. Por razones de índole didáctico, hemos tratado de presentar aquellos modelos que permitan, en lo posible, obtener parametrizaciones particulares 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 parametrizado respecto al valor nominal de alguna variable específica, sea ésta una variable de estado particular xi = X, o de salida y = Y .

Modelos de naturaleza química, eléctrica, mecánica, etc.

Parametrización del punto de equilibrio respecto de cualquier variable

12

A LGUNOS M ODELOS

DE

S ISTEMAS N O L INEALES

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

Los sistemas aeroespaciales siempre han constituido una fuente muy rica de modelos y sistemas a controlar

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. Las ecuaciones diferenciales que rigen el movimiento del sistema se obtienen de la segunda Ley de Newton: d2 θ = torque neto aplicado = fuerza × brazo = F sen βL (1.11) dt2 El ángulo β crece, o decrece, de acuerdo al control aplicado u mediante la ley de variación: J

dβ (1.12) = Ru dt 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: dθ = ω; x3 = β dt A partir de las ecuaciones (1.11) y (1.12), el sistema no lineal se describe de la manera siguiente: x1 = θ; x2 =

x˙ 1 = x2 FL sen x3 J x˙ 3 = Ru x˙ 2 =

(1.13)

1.5 M ODELOS

13

EMPLEADOS A LO LARGO DEL TEXTO

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: x1 = arbitrario = Θ; x2 = 0; x3 = 0; u = 0

(1.14)

Nótese que el valor x3 = ±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” DC-DC de corriente continua. Este circuito se puede describir mediante el siguiente sistema de ecuaciones de estado3 : x˙ 1 = −ω0 x2 + u ω0 x2 + b x˙ 2 = ω0 x1 − ω1 x2 − u ω0 x1

(1.15)

y = x2 √ √ donde x1 = I L, x2 = 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: z˙1 = −ω0 z2 + µ ω0 z2 + b z˙2 = ω0 z1 − ω1 z2 − µ ω0 z1

(1.16)

y = z2 donde z1 representa la corriente normalizada promedio de entrada, z2 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 u. i Se dice que un sistema de control es bilineal si, al observar el control y el estado independientemente, el sistema es lineal en el control u y es lineal respecto al estado x.

Los convertidores de potencia constituyen sistemas no lineales prácticos por excelencia

Modelo promedio del convertidor Boost

14

A LGUNOS M ODELOS

DE

S ISTEMAS N O L INEALES

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 estos 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 Z2 + U ω0 Z2 + b = 0 ω0 Z1 − ω1 Z2 − U ω0 Z1 = 0 De aquí resultan los valores constantes de corriente y tensión promedio normalizados: µ = U ; Z1 (U ) =

b b ω1 ; Z2 (U ) = ω02 (1 − U )2 ω0 (1 − U )

(1.17) 

Figura 1.7: Sistema de suspensión magnética Modelo 8: Sistema de levitación magnética Este ejemplo será utilizada muchas veces a lo largo del texto

La Figura 1.7 muestra un sistema de suspensión magnética que permite mantener levitada una 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: di = −Ri + v(t) dt d2 x ci2 m 2 = mg − fm = mg − dt x L

(1.18)

donde i es la corriente del circuito y x es el desplazamiento de la esfera medido desde el electromagneto. 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 distancia x y directamente proporcional al cuadrado de la corriente. La salida se obtiene a través de

1.5 M ODELOS

15

EMPLEADOS A LO LARGO DEL TEXTO

un fotosensor mediante el cual se realiza la medición de la altura de la esfera metálica suspendida 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, x1 = x ; x2 = x˙ ; x3 = 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 = x2 x˙ 2 = g −

c x23 m x1

1 R x˙ 3 = − x3 + u L L y = x1

(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: x1 = X1 (X) = X ; x2 = 0 ; r r mgX mgX x3 = X3 (X) = ; u = U (X) = R c 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: cU 2 ; x2 = 0 mgR2 U ; u=U x3 = X3 (U ) = R

x1 = X1 (U ) =



Figura 1.8: Manipulador robótico de unión rígida

16

A LGUNOS M ODELOS

DE

S ISTEMAS N O L INEALES

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 = x2 x˙ 2 = −

x  c 1 B 1 x2 − sen + u J J N J

(1.21)

y = x1 donde x1 = θp (Posición angular), x2 = θ˙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 M gL, 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: Manipulador robótico El punto de equilibrio del sistema (1.21), parametrizado con respecto a la posición angular deseada X, está dado por:   X (1.22) x1 (X) = X; x2 (X) = 0; u = U (X) = c sen N El punto de equilibrio del sistema, parametrizado con respecto al torque nominal U que produce la posición angular deseada X, está dado por:   U ; x2 (U ) = 0; u = U (1.23) x1 = X(U ) = N sen−1 c 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 continuamente 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 + Da1 )x1 + u x˙ 2 = Da1 x1 − x2 − Da2 x22

(1.24)

y = x1 + x2 donde x1 representa la concentración normalizada (adimensional) CP /CP0 de una cierta especie P en el reactor. Designaremos por Y = CP0 a la concentración nominal total de las especies P y Q, medida en [mol.m−3 ]. La variable de estado x2 representa la concentración normalizada CQ /CP0 de la especie Q. La variable de control u se define como la relación de la tasa de alimentación molar por unidad volumétrica de la especie P , designada mediante NP F , y la concentración nominal CP0 , es decir, u = NP F /F CP0 donde F es la tasa volumétrica de alimentación en [m3 s−1 ]. Las constantes Da1 y Da2 se definen respectivamente como k1 V /F y k2 V CP0 /F siendo V el volumen del reactor, en [m−3 ], y las constantes k1 y k2 son las constantes de primer orden, dadas en [s−1 ]. Se puede tomar como valores de las constantes Da1 = 1 y Da2 = 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: i 1 hp x1 = arbitrario = X, x2 = 1 + 4Da1 Da2 − 1 ; u = (1 + Da1 )X 2Da2

(1.25) 

1.5 M ODELOS

17

EMPLEADOS A LO LARGO DEL TEXTO

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 = x2 Km Kf 2 x3 J Ra + Rf Kba Kf 1 x2 x3 − x3 + u x˙ 3 = − Lf Lf Lf x˙ 2 =

(1.26)

donde x1 = θ corresponde al ángulo del eje del motor, x2 = ω, es la velocidad angular del eje del motor, x3 = ia = if representa la corriente común que fluye por los circuitos de armadura y del campo. La señal de control u = VT 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: x1 = arbitrario = X ; x2 = 0 ; x3 = 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: u−β x1 + λx2 L (1.27) β x˙ 2 = x1 − λx2 L donde x1 representa la población de neutrones, x2 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 x˙ 1 =

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 neutrones 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: x1 = X1 (N ) = N ; x2 = X2 (N ) =

βN ; u=0 λL

(1.28)

18

A LGUNOS M ODELOS

DE

S ISTEMAS N O L INEALES



Figura 1.10: Representación simplificada del comportamiento del TCP Modelo 13: Control de congestión de datos en Internet: TCP Los mecanismos dinámicos inherentes a Internet constituyen hoy en día una parte importante del estudio en teoría de control

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 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 confirmació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 comportmiento de este sistema es el siguiente [MASA04] (véase también [Low03]):     dx 2b RTT = a− a+ x µ (1.29) dt 2−b 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:   a(2 − b) 1 − U a(2 − b) T X= = −1 (1.30) 2b U 2b RTT 

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 M ODELOS

19

EMPLEADOS A LO LARGO DEL TEXTO

siguiente par de ecuaciones diferenciales ordinarias: x˙ 1 = x2 − x1 u x˙ 2 = −x2 + (1 − x2 )u

(1.31)

donde x1 representa la concentración de etanol, x2 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 x1 = 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: 1−E (1.32) x1 = X1 (E) = E; x2 = X2 (E) = 1 − E; u = U (E) = E Puesto que ambas concentraciones deben ser, necesariamente, positivas; tenemos las siguientes restricciones en equilibrio para el sistema: 0 < X1 (E) = E < 1;

U > 0;

0 < X2 (E) < 1

(1.33) 

Modelo 15: Sistema de nivel de líquido en un conjunto de tanques dispuestos 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 xi la altura en el i-ésimo tanque, el modelo dinámico que describe el sistema es el siguiente: c√ 1 x1 + u A A c√ c√ x˙ i = − xi + xi−1 ; i = 2, 3, . . . , n A A y = xn

x˙ 1 = −

(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, simplemente: u = U ; xi (U ) = Xi (U ) = y(U ) = Y (U ) =

U2 ; i = 1, 2, . . . , n ; c2

U2 c2

(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

d2 θ = −g sen θ + aω 2 sen θ cos θ dt2

20

A LGUNOS M ODELOS

DE

S ISTEMAS N O L INEALES

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 = x2 g x˙ 2 = − sen x1 + u sen x1 cos x1 a

(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 x1 = Θ, el punto de equilibrio se expresa como: g x1 (X) = X = Θ; x2 (X) = 0; u(X) = U = (1.37) a cos X Debemos recalcar que el punto de equilibrio x1 = 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:  g  x1 (U ) = arc cos ; x2 (U ) = 0; u = U aU 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 E JERCICIOS

21

PROPUESTOS

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 Regulator 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

A LGUNOS M ODELOS

DE

S ISTEMAS N O L INEALES

las leyes de Kirchoff. Tome como variables de estado las intensidades de corriente en las bobinas, IL1 e IL2 , 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 circuito mostrado en la Figura 1.13. ¿Cuál es el punto de equilibrio resultante para un valor constante de la fuente If = 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ágina 14. Considere por ejemplo las siguientes referencias: D. Cho, Y. Kato, D. Spilman, “Sliding mode and classical controllers in magnetic levitation systems”, IEEE Contr. Syst. Mag., vol. 13, pp. 42–48, 1993; D. L. Trumper, S. M. Olson, P. K. Subrahmanyan, “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:   Jb 0= + M r¨ + M g sen θ − M rθ˙2 R2 (1.38) τ = (M r 2 + J + Jb )θ¨ + 2M rr˙ θ˙ + M gr cos θ donde τ es el torque o par aplicado a la barra; J es el momento de inercia de la barra; M y Jb 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 R ESUMEN

DEL CAPÍTULO Y

L ECTURAS

ADICIONALES

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 τ = (M r2 + J + Jb )u + 2M r r˙ θ˙ + M gr cos θ (1.39) se obtiene entonces   Jb + M r¨ + M g sen θ − M r θ˙2 0= 2 R (1.40) θ¨ = u Los valores numéricos de los parámetros están dados por: M = 0,05 kg, R = 0,01 m, J = 0,02 kgm2 , J = 2 · 10−6 kg-m2 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: ˙ La salida está dada por y = r. Calcule los puntos de x1 = r, x2 = r, ˙ x3 = θ y x4 = θ. 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 posteriormente. Un tema íntimamente relacionado al contenido de este capítulo, aunque no lo hemos desarrollado directamente, es el modelado de sistemas físicos reales mediante ecuaciones diferenciales ordinarias, también llamado modelado de procesos continuos.

23

24

A LGUNOS M ODELOS

DE

S ISTEMAS N O L INEALES

La clave del modelado de procesos continuos, sean éstos de origen eléctrico, mecánico, químico, biológico o de otra índole, está basada en cinco aspectos fundamentales: Uso

Conocer de antemano cuál será el uso que se le va a dar al modelo: 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.

Conocer

En lo posible, conocer exhaustivamente el proceso. Esto viene de estudiar el sistema y subsistemas (planta, sensores, y actuadores) y los posibles efectos e interrelaciones involucrados.

el proceso

Balance de masa y energía Hipótesis simplificatorias

Limitaciones del modelador

El modelo será utilizado para hacer control

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 y/o información. Proponer y fijar hipótesis simplificatorias razonables para hacer que el modelo del sistema sea manejable o sea, al menos, de mediana complejidad. Adicionalmente, el ingeniero o “modelador” debería tener una idea clara de sus propias limitaciones (falta de interés, poco conocimiento del área, etc.) al acometer esta tarea. En este caso, lo más importante 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 informació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 diferenciales ordinarias), etc. Muchos de los textos relacionados con el control de sistemas lineales o no lineales proveen habitualmente algunos lineamientos 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 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 R ESUMEN

DEL CAPÍTULO Y

L ECTURAS

25

ADICIONALES

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 continuamente 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: d ∂L ∂L =T − ∂θ dt ∂ θ˙

(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 θ 1 1 ˙ 2 + (l sin θθ) ˙ 2 ) = 1 ml2 θ˙2 m(x˙ 2 + y˙ 2 ) = m((l cos θθ) 2 2 2 donde x = l sin θ, y = −l cos θ. Por lo tanto, Ec =

1 2 ˙2 ml θ (1.42) 2 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 θ + ml2 θ¨ = T L = −mgl cos θ −

o equivalentemente ml2 θ¨ = T − mgl sin θ donde ml2 representa la momento de inercia J respecto al eje de giro del péndulo (J = ml2 ). Haciendo x1 = θ, x2 = θ˙ en la ecuación (18) se obtiene la siguiente representación del péndulo en variables de estado (compare con (1.7)): x˙ 1 = x2 mgl T − sen x1 J J Este modelo se puede completar si consideramos, además, la presencia de roce en el eje del ˙ y la elasticidad del mismo (kθ), de tal forma que en el sistema anterior se agregan al péndulo (bθ) torque T , la fuerza de roce −bθ˙ y la fuerza elástica −kθ. M x˙ 2 =

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 densidades.

26

A LGUNOS M ODELOS

DE

S ISTEMAS N O L INEALES

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

 dCA n = F CAi − CA − V k(T ) CA dt

(1.43)

E ). donde k(T ) = k0 exp(− R(T +273,16)

Balance de energía en el tanque Cp V ρ

dT n = Cp F ρ(Ti − T ) − ∆HR V k(T ) CA − U A(T − TC ) dt

(1.44)

Balance de energía en la chaqueta CpC VC ρC

 dTC = U A(T − TC ) − FC CpC ρC TC − TCi dt

(1.45)

En las ecuaciones anteriores, u = FC ≥ 0 representa la señal de control (manipulada); CA 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 R ESUMEN

Notación T CA TC FC

V ρ Cp A ρc k0 ∆HR U VC CpC E F CAi Ti R TCi

DEL CAPÍTULO Y

L ECTURAS

ADICIONALES

Tabla 1.1: Nomenclatura empleada para el TRCA, modelo 2 Descripción VARIABLES DE ESTADO Y CONTROL : temperatura en el tanque [◦ C] concentración del reactante temperatura de la chaqueta [◦ C] Flujo de entrada del refrigerante —señal de control [m3 /seg] PARÁMETROS : volumen del tanque [m3 ] densidad del fluido en el tanque [kg-mol/m3 ] capacidad calórica del reactante [J/kg-mol ◦ C] área del tanque [m2 ] densidad del refrigerante [kg/m3 ] constante de Arrhenius [m3 /seg kg-mol] calor de reacción [J/kgmol] coeficiente de transferencia de calor tanque–chaqueta [J/s m2 ◦ C] volumen en la chaqueta [m3 ] calor específico del refrigerante [J/kg ◦ C] energía de activación de la reacción [J/kgmol] flujo de entrada al tanque [m3 /s] concentración del reactante en el flujo de entrada [kgmol/m3 ] temperatura del flujo de entrada [◦ C] constante de los gases [J/kgmol ◦ K] temperatura del refrigerante

27

28

A LGUNOS M ODELOS

DE

S ISTEMAS N O L INEALES

Lecturas y referencias útiles 1. L. Ljung, T. Glad, Modeling of Dynamic Systems, Prentice Hall, Engllewood Cliffs, NJ, E.E.U.U., 1994, [LG94]. Comienza con una discusión sobre sistemas y modelos, a partir de allí desarrolla diferentes ejemplos (de tipo eléctrico, mecánico, de flujo, térmico, etc.). Se divide 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 mediante “Bond Graphs” y el modelado mediante herramientas computacionales. 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 Engineering, Butterworth-Heinemann, Boston, 1991, [Wal91]. Presenta los principios de modelado matemático para sistemas químicos, tanto desde 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 identificar los parámetros de este tipo de motores. Presentación muy comprensible, bien explicado. 5. Como ya hemos indicado, se sugiere al lector indagar sobre modelos 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 electronic 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

C ONTROL L INEAL

DE

S ISTEMAS N O L INEALES : L INEALIZACIÓN A PROXIMADA

En esta primera parte, vamos a plantear el análisis y diseño de controladores 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ámicos no lineales, y sobre los cuales propondremos lazos de control en realimentación, son los siguientes:

Sistema linealizado alrededor de un punto de equilibrio

Consideraremos el sistema no lineal desde el punto de vista de la descripción por variables de estado y determinación de los puntos de equilibrio constantes del sistema no lineal dado. Descripción aproximada de los efectos de las perturbaciones del estado inicial y de las entradas al sistema mediante un modelo lineal dinámico 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.

Controladores lineales

En el primer capítulo se presenta el método de la linealización aproximada: a partir del modelo no lineal se obtiene un modelo linealizado del sistema estudiado mediante una aproximación de primer orden de la expansió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. Fundamentalmente trataremos sistemas de una entrada y una salida. Primeramente 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: 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 completo y de orden reducido). Síntesis basada en la respuesta frecuencial (esquemas de control clásico 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. Propondremos 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, presentaremos en un solo esquema la linealización que aproxima el comportamiento del sistema perturbado. El esquema conceptual presentado será utilizado en capítulos subsecuentes para el diseño de acciones de regulación para el sistema no lineal. Recomendamos al lector, a medida que vaya avanzando en el texto, 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 programa Matlab (R).

31

32

L INEALIZACIÓN

2.1.

La linealización aproximada en el análisis y diseño de estrategias de control

APROXIMADA

Motivación

Los fenómenos de naturaleza no lineal son susceptibles de aproximaciones lineales cuyo valor práctico es innegable. Nuestra comprensión del mundo circundante y las leyes que en él adivinamos son meras aproximaciones que tienden a extraer la parte más relevante de su naturaleza, la mayoría de las veces para poder explotarlas en nuestro beneficio inmediato. 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 diferenciales lineales que aproximen, tanto en una región restringida del espacio 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. 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)), y(t) = h(x(t))

x(t0 ) = x0

cuyos puntos de equilibrio son constantes y están dados por (U, X, Y ). Escribiremos el sistema de ecuaciones diferenciales dado en términos de la ecuación integral equivalente, de la manera siguiente: Z

t

x(t) = x0 +

f (x(σ), u(σ))dσ t0



Z

t

y(t) = h x0 +



(2.1)

f (x(σ), u(σ))dσ t0

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 x0 y en la función de entrada u(t). Supondremos que el sistema dinámico se encuentra operando en perfecto equilibrio (recuerde la noción de punto de equilibrio dada en la sec-

2.2 L INEALIZACIÓN

APROXIMADA : EXPANSIÓN EN SERIE DE

TAYLOR

33

ción 1.3). Esto se traduce en lo siguiente: x(t0 ) = x0 = X;

u(t) = U ;

y(t) = h(x) = Y

Es decir, el estado inicial en que encontramos operando al sistema en el instante t0 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 grande1 . Ahora consideremos sendas “perturbaciones”, tanto en el estado inicial de equilibrio x0 = X, como en la función de entrada de equilibrio u(t) = U , descritas de la manera siguiente: x(t0 ) = x0 + x0δ = X + x0δ ;

u(t) = U + uδ (t)

Con estas perturbaciones acaecidas alrededor de los valores de equilibrio, 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 perturbado y la salida perturbada pueden ser descritos mediante: Z t x(t) = X + x0δ + f (X + xδ (σ), U + uδ (σ))dσ (2.2) t0 y(t) = h(X + xδ (t)) 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: Z t xδ (t) = x0δ + f (X + xδ (σ), U + uδ (σ))dσ t0

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 Taylor, podemos escribir los valores perturbados de las funciones f (·) y h(·) como: ∂f ∂f xδ (t) + uδ (t) f (X + xδ (t), U + uδ (t)) = f (X, U ) + ∂x (X,U ) ∂u (X,U ) + . . . + T.O.S. ∂h h(X + xδ (t)) = h(X) + xδ (t) + . . . + T.O.S. ∂x X

1 Aquí

se puede notar de manera evidente el porqué de nuestro interés en puntos de equilibrio constantes!

Expansión en serie de Taylor

34

L INEALIZACIÓ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 # Z t" ∂f ∂f xδ (t) = x0δ + xδ (t) + uδ (t) + . . . + T.O.S. dσ ∂x ∂u t0

(X,U )

(X,U )

y de la salida perturbada,   ∂h x (t) + . . . + T.O.S. − h(X) yδ (t) = h(X) + δ ∂x X ∂h = xδ (t) + . . . + T.O.S. ∂x X 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 obtenemos al eliminar todos los términos de orden superior en la ecuación integral, es decir: # Z t" ∂f ∂f x ˜δ (t) = x0δ + x ˜δ (t) + uδ (t) dσ ∂x (X,U ) ∂u (X,U ) t0 ∂h y˜δ (t) = x ˜δ (t) ∂x X 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, # Z t" ∂f ∂f xδ (t) = x0δ + xδ (t) + uδ (t) dσ ∂x (X,U ) ∂u (X,U ) t0 (2.3) ∂h xδ (t) yδ (t) = ∂x X

2.3.

Sistema linealizado: espacio de estado

De esta forma, designaremos mediante la matriz A de n filas y n columnas, la matriz Jacobiana ∂f /∂x particularizada en el punto de equilibrio

2.3 S ISTEMA

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 fila C al vector ∂h/∂x, evaluado en X. De tal forma que las ecuaciones en (2.3) se reescriben entonces Z t xδ (t) = x0δ + (A xδ (σ) + B uδ (σ)) dσ (2.4) t0 yδ (t) = C xδ (t) Si tomamos derivadas respecto del tiempo en esta ecuación integral, obtenemos una ecuación diferencial equivalente para xδ (t): x˙ δ (t) = A xδ (t) + B uδ (t) yδ (t) = C xδ (t)

;

xδ (t0 ) = x0δ

(2.5)

Para dicho sistema de ecuaciones diferenciales, puede observarse que hemos tomado en cuenta como condición inicial en t = t0 , el valor x0δ = x0 − 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, debido al procedimiento utilizado en su construcción. La solución xδ (t) es una aproximación al comportamiento de las perturbaciones 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 íntegramente la solución de (2.5) deben conocerse tanto el valor de la perturbación del estado inicial xδ (t0 ) como los valores, en función del tiempo, de las perturbaciones de la entrada en equilibrio uδ (t). En resumen, el sistema dinámico que aproxima las perturbaciones ocurridas al sistema no lineal cuando éste opera en condiciones estables de equilibrio está representado por un sistema lineal cuyas ecuaciones de estado 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: ∂f ∂h ∂f ; B = ; C = A= ∂x (X,U ) ∂u (X,U ) ∂x X

matrices jacobianas

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 xδ (t) = x(t) − X;

uδ (t) = u(t) − U ;

yδ (t) = y(t) − Y

(2.7)

variables incrementales

36

L INEALIZACIÓN

APROXIMADA

Figura 2.1: Relación entre las variables originales y las variables incrementales

A estas últimas las llamaremos variables incrementales.

Consideramos perturbaciones en una vecindad “pequeña” del punto de equilibrio

En el caso de la entrada u y el estado x, la interpretación de sus valores perturbados en términos de las variables originales admite una representación gráfica como la que se muestra en la Figura 2.1. Sobre la base de estas relaciones aproximadas, propondremos más adelante esquemas de control que estabilicen al sistema no lineal a su punto de equilibrio (X, Y, U ), bajo la suposición fundamental de tener excursiones 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 anteriormente, 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 S ISTEMA

LINEALIZADO : ESPACIO DE ESTADO

37

Figura 2.2: Representación entrada-salida del sistema linealizado

donde ∂f (x, u) ; ∂x X(U ),U ∂h(x) C(U ) = ∂x A(U ) =

B(U ) =

∂f (x, u) ; ∂u X(U ),U

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: GU (s) = C(U )[sI − A(U )]−1 B(U )

2.3.2.

(2.8)

Ejemplos

A continuación describiremos algunos ejemplos de linealización de sistemas 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 z2 + µ ω0 z2 + b z˙2 = ω0 z1 − ω1 z2 − µ ω0 z1 y = z2 cuyo punto de equilibrio está dado por, ver Ejemplo 1.9, µ = U : Z1 (U ) =

bω1 b : Z2 (U ) = ω02 (1 − U )2 ω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

L INEALIZACIÓN

APROXIMADA

dadas por:

A

=

= B

=

" ∂f (z,u) # ∂f1 (z,u) 1 ∂f (z, u) ∂z1 ∂z2 = ∂f2 (z,u) ∂f2 (z,u) ∂z Z,U ∂z1 ∂z2 Z1 (U ),Z2 (U ),U   0 −ω0 (1 − U ) ω0 (1 − U ) −ω1 " # ∂f1 (z,u) ∂f (z, u) ∂u = ∂f2 (z,u) ∂u Z,U ∂u Z1 (U ),Z2 (U ),U " # b 1−U bω1 2 0 (1−U )

= C

= =

−ω

h ∂h(z) = ∂u Z   0 1

∂h(z) ∂z1

i

∂h(z) ∂z2

Z1 (U ),Z2 (U )

La linealización del sistema alrededor del punto de equilibrio resulta entonces 

z˙1δ z˙2δ





0 −ω0 (1 − U ) = ω0 (1 − U ) −ω1     z1δ yδ = 0 1 z2δ



z1δ z2δ

"

 +

b 1−U bω1 − ω (1−U )2 0

# µδ (2.9)

La función de transferencia que relaciona el tensión incremental de salida con el valor incremental de la relación de trabajo, se obtiene del modelo linealizado (2.9) como: b Z1 (U ) + ω02 (1

s− GU (s) = −ω0 Z1 (U )

s2 + ω1 s

− 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 = x2 x˙ 2 = g − x˙ 3 = −

c x23 m x1

R 1 x3 + u L L

(1.19*)

y˙ = x1 cuyo punto de equilibrio está dado por: x1 = X1 (X) = X ; x2 = 0 ; r r mgX mgX ; u = U (X) = R x3 = X3 (X) = c c

(1.20*)

En este caso se trata de un sistema de tercer orden, con lo cual las matrices constantes A, B

2.3 S ISTEMA

LINEALIZADO : ESPACIO DE ESTADO

39

y C están dadas por: A=

∂f (x, u) ∂x X,U 

 =   

0

∂f1 (x,u) ∂x2 ∂f2 (x,u) ∂x2 ∂f3 (x,u) ∂x2

1

∂f1 (x,u) ∂x3 ∂f2 (x,u) ∂x3 ∂f3 (x,u) ∂x3

g X

−2

0

   

X1 (X),X2 (X),X3 (X),U (X)



0 q

 cg mX  R 0 0 −L  ∂f (x,u) 1 ∂f (x, u)  ∂f2∂u (x,u) =  ∂u ∂u X,U ∂f3 (x,u) ∂u

 =

B=

∂f1 (x,u) ∂x1 ∂f2 (x,u) ∂x1 ∂f3 (x,u) ∂x1

  

X1 (X),X2 (x),X3 (X),U (X)

 0  0  = 

1 L

h ∂h(x) = ∂u X   = 1 0 0

C=

∂h(x) ∂x1

∂h(x) ∂x2

∂h(x) ∂x3

i

X1 (X),X2 (X),X3 (X)

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):       0  1 0 0 x1δ x˙ 1δ q   cg g  x˙ 2δ  =  0 −2 mX   x2δ  +  0  uδ X 1 x3δ x˙ 3δ 0 0 −R L L (2.11)   x1δ   yδ = 1 0 0  x2δ  x3δ La función de transferencia asociada a este sistema está dada por: q cg 2 yδ (s) L mX   =− GX (s) =  uδ (s) s2 − g s+ R X

(2.12)

L



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: s ! 1 4Da1 Da2 U U ; x2 (U ) = −1 + 1 + (2.13) u = U ; x1 (U ) = 1 + Da1 2Da2 1 + Da1 La linealización del sistema (1.24) alrededor de este punto de equilibrio está dada por: x˙ 1δ

=

x˙ 2δ

=

y

=

−(1 + Da1 )x1δ + uδ s 4Da1 Da2 U Da1 x1δ − 1 + x 2δ 1 + Da1 x1δ + x2δ

como puede verificarse sin mayores esfuerzos. 

40

L INEALIZACIÓ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 separada, el cual está esquematizado en la Figura 2.3. Sea Va el voltaje constante de armadura y sea if 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: dia + Ra ia + Kv ωif = Va dt dω J + Bω = Kv if ia dt Definamos las variables de estado y de control como: La

x1 = ia ; u = if ;

(2.14)

x2 = ω 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: # " #    "   Va  v a 0 −K 0 −R x1 x1 x˙ 1 La La La (2.15) + u = + Kv B x x˙ 2 x 2 2 0 0 −J 0 J donde x1 representa la corriente de armadura, x2 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:     Va B x1 (U ) = (2.16) 2 2 Kv U x2 (U ) Ra B + Kv U La linealización del sistema (2.15) alrededor del punto de equilibrio descrito se obtiene como:     K 2 Va U Ra KU     − − −  x˙ 1δ x1δ  La (Ra B + K 2 U 2 )  La La   uδ (2.17) =  KU +   B  x˙ 2δ x2δ K 2 BVa − 2 2 J J J(Ra B + K U ) 

2.4 VALIDEZ

2.4.

41

DEL MODELO LINEALIZADO

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 equilibrio, 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 como sustitutos de las verdaderas perturbaciones a los primeros términos en la expansión propuesta, son cantidades que se tornan cada vez más importantes a medida que nos alejamos de las condiciones de equilibrio del sistema. El deterioro de la representatividad que tiene la aproximación lineal 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 aproximada 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 razonable, 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 manera analítica, el cual nos permitirá comenzar a comprender cuál es el grado 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 [m3 /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

L INEALIZACIÓ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 : 1 c√ h+ u h˙ = − A A 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 /c2 . 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 incremento 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

43

DEL MODELO LINEALIZADO

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 U2 2U ∆U + ∆U 2 = 2 + 2 c c c2

(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 : 2U ∆U + ∆U 2 (2.21) hδ = c2 Por otro lado, el sistema linealizado alrededor del punto de equilibrio está dado por: c 1 √ h δ + uδ A 2A H

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√ 2U ∆U Huδ = c c2

El error que se comete en este ejemplo, al utilizar la linealización aproximada, tiene una magnitud 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 despreciable frente al valor de equilibrio de la perturbación que hemos calculado de manera aproximada 2U ∆U/c2 . 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 incluso para el sistema real, asumiendo que el modelo es lo suficientemente preciso2 . La hipótesis de que las aproximaciones de primer orden pueden resultar suficientes para caracterizar el comportamiento local de un sistema, constituye uno de los más importantes supuestos en la teoría de control, 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 valores de equilibrio de las variables del sistema. La aproximación se deteriora en forma, cuando menos cuadrática, al admitir perturbaciones que representan excursiones significativas 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.

Comportamiento local en una vecindad del punto de equilibrio

44

L INEALIZACIÓN

2.5.

Matlab es una herramienta útil para simular ecuaciones diferenciales

ode23, ode45

function

Página web

Primer ejemplo en Matlab (R)

El siguiente ejemplo es el primero que presentaremos en el cual se emplea el programa Matlab (R) como herramienta auxiliar al análisis y a los diseños que propondremos. Recomendamos al lector familiarizarse con Matlab (R) ya que el mismo nos será útil durante el desarrollo de este texto, al 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 principal 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.

script

APROXIMADA

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 lineamientos básicos de la simulación: tiempo de simulación (inicial y final), condiciones iniciales y tipo de algoritmo de simulación (ode23, ode45,. . . ); inclusive podemos definir los parámetros del sistema controlado y hasta graficar los resultados de la simulación. Este programa consiste en un conjunto lógico de instrucciones de ejecución secuencial denominado “script” en el ambiente 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, 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 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ñada, 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 = (t,x), donde corresponde al vector x˙ que refleja la dinámica del sistema, 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

2.5 P RIMER

EJEMPLO EN

M ATLAB (R)

45

http://www.ing.ula.ve/~marquez/matlab/ para obtener explicaciones adicionales y enlaces a referencias exitentes en la “web”.

2.5.2.

Comparación entre el comportamiento de un péndulo 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 aproximada, 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 comportamiento 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: (mL cos φ)ξ¨ + (J + mL2 )φ¨ = −C φ˙ + mLg sen φ (M + m)ξ¨ + (mL cos φ)φ¨ = −F ξ˙ + (mL sen φ)φ˙ 2 + u

(2.23)

donde se definen, como variables de estado, el desplazamiento horizontal del carro ξ, y su veloci˙ así como el desplazamiento angular del péndulo φ y su velocidad angular φ˙ correspondidad ξ, 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 = mL3 /3. El par de ecuaciones diferenciales de segundo orden (2.23) se puede representar con respecto a las derivadas de mayor orden de la siguiente forma:    −1   φ¨ −C φ˙ + mLg sen φ J + mL2 mL cos φ = mL cos φ M +m ξ¨ −F ξ˙ + mL sen(φ)φ˙ 2 + u es decir, 

φ¨ ξ¨



 =

1 ∆

1 ∆ 

[(M + m)∆1 − mL cos φ∆2 ]  −mL cos φ∆1 + (J + mL2 )∆2



46

L INEALIZACIÓN

APROXIMADA

donde ∆1 = −C φ˙ + mLg sen φ, ∆2 = −F ξ˙ + mL sen(φ)φ˙ 2 + u y ∆ = J(M + m) + mL2 (M + m sen2 φ). Seleccionando como variables de estado a ˙ x3 = φ; x4 = φ˙ , x1 = ξ; x2 = ξ; las dos ecuaciones diferenciales de segundo orden anteriores se pueden reescribir como un sistema de cuatro ecuaciones diferenciales de primer orden: x˙ 1 = x2 −mL cos x3 ∆1 + (J + mL2 )∆2 ∆ x˙ 3 = x4

x˙ 2 =

x˙ 4 =

(2.24)

(M + m)∆1 − mL cos x3 ∆2 ∆ 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: (2.25)

x1 = arbitrario = X, x2 = 0, x3 = 0, x4 = 0, u = 0

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 (2.26)

x˙ δ = Axδ + Buδ donde ∂f ∂x (xe ,ue )=(0,0)  0 1 0 F (J+mL2 ) m2 L2 g  0 − − 2  J(M +m)+mL M J(M +m)+mL2 M = 0 0  0 (M +m)mLg mLF 0 2 J(M +m)+mL M J(M +m)+mL2 M   0 2 J+mL   ∂f   2 B= =  J(M +m)+mL M  0   ∂u (xe ,ue )=(0,0) mL − J(M +m)+mL 2M A=

0 F (mLC J(M +m)+mL2 M

1 C(M +m) − J(M +m)+mL2 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) = x1 (t) + L sen(x3 (t)). El contenido de cada uno de los programas utilizados (spend.m,mpend.m y lpend.m) se puede 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 Listado 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 tenga 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 P RIMER

EJEMPLO EN

M ATLAB (R)

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

47

48

L INEALIZACIÓ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 E JERCICIOS

PROPUESTOS

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. t

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 sistema 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 incrementales del artefacto espacial alrededor del punto de equilibrio (1.14). (?)

49

50

L INEALIZACIÓ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 x ¯1 = 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 condiciones 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δ = (x1δ , x2δ , x3δ , x4δ )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: JL θ¨ + BL θ˙ + M gL sen θ + k(θ − ψ) = 0 Jm ψ¨ + Bm ψ˙ − k(θ − ψ) = u

(2.27)

2.7 R ESUMEN

DEL CAPÍTULO Y

L ECTURAS

51

ADICIONALES

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: x1 = θ ;

x2 = θ˙ ;

x3 = ψ ;

x4 = ψ˙

el modelo (2.27), en el espacio de estado, del manipulador flexible resulta ser entonces: x˙ 1 = x2 x˙ 2 = −

BL k M gL sen x1 − x2 − (x1 − x3 ) JL JL JL

x˙ 3 = x4 x˙ 4 = −

(2.28)

Bm k u x4 + (x1 − x3 ) + Jm Jm Jm 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 +

M gL sen X, x4 = 0, u = M gL sen X k

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 mediante el método de la linealización aproximada. Adicionalmente, como veremos más adelante, constituye la base, junto a los puntos de equilibrio parametrizados, 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 linealización de sistemas no lineales alrededor de puntos de equilibrio. Consulte por ejemplo:

52

L INEALIZACIÓ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 modelado 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 introductorios 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 introducció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 actualmente 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 versátil, llamada Simulink (R), la cual permite trabajar con diagramas de bloques para hacer simulaciones. Esta herramienta será pocas veces empleada 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 Mathworks, de los libros de texto basados en Matlab (R), http://www.mathworks.com/support/books/, rúbrica Controls & Systems, para conseguir información relativa a este tópico. 2. Visite la página web de la Universidad Carnegie-Mellon “Control Tutorials 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 lineales, 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 procesos en la industria durante los últimos 20 años, está basada en este solo hecho!

53

54

R EALIMENTACIÓN

3.1.

DEL VECTOR DE ESTADOS

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 sistema en sus valores nominales de operación, a la luz de las perturbaciones reinantes. Estas perturbaciones pueden provenir del medio ambiente como influencias de caracter aleatorio o generadas por pequeñas variaciones de los parámetros que definen el sistema dinámico. En ocasiones, las perturbaciones 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 puede ser útil, en cuanto al diseño del controlador se refiere, pues ésta permite 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 modelo 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 equilibrio 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 controlador 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 perturbadas y podemos, por lo tanto, utilizarlas en esquemas de control realimen-

3.2 D ISEÑO

DE CONTROLADORES MEDIANTE LINEALIZACIÓN APROXIMADA

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 obtenido por medio de linealización aproximada, a partir del modelo no lineal original, alrededor del punto de equilibrio nominal del sistema. De esta forma, reemplazaremos los valores reales de las perturbaciones por las aproximaciones obtenidas por linealización, representadas por un sistema lineal. Sabemos que esta sustitución es válida solo cuando los valores de las perturbaciones 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 entre 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 especifique al control, o entrada incremental, uδ (t) en términos del estado incremental xδ (t), nuestro problema no lineal original queda reducido a un problema lineal. Esto es cierto en tanto que las magnitudes de las perturbaciones, a las cuales se ve sometido el sistema original, sean lo suficientemente pequeñas como para no desviar significativamente los valores de las variables de estado originales de sus puntos de operación nominales.

55

56

R EALIMENTACIÓ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 variables 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 representado 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 constante de las variables de estado incrementales. Para ello recordemos el si-

3.2 D ISEÑO

57

DE CONTROLADORES MEDIANTE LINEALIZACIÓN APROXIMADA

guiente teorema básico de la teoría de sistemas lineales:

Controlabilidad y

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 sistemas estabilizables. Todo sistema controlable es estabilizable. Sin embargo, 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 representa un requerimiento más débil que el implicado por la noción de controlabilidad. 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 n2 + 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 : . . . : An−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”.

realimentación del vector de estado

58

R EALIMENTACIÓ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 parametrizado respecto a X, ver (1.20): x1 = X1 (X) = X ; x2 = 0 ; r r mgX mgX ; u = U (X) = R x3 = X3 (X) = c c Emplearemos esta parametrización pues, de esta manera, la ley de control lineal vendrá directamente 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: x1δ = x1 − X =

cU 2 ; x2δ = x2 ; x3δ = x3 − X3 (X) ; uδ = u − U (X) mgR2

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:     0     0 1 r0 x x1δ  cg g d  1δ   0    x2δ  +  x2δ (3.2) =  1  uδ  X 0 −2 mX  dt x3δ x 3δ 0 0 −R L L Verificamos, entonces, que el sistema linealizado es controlable: r  2 cg 0 0 −  L r mX r  2 2R cg cg  C = [B : AB : A2 B] =  0 −  L mX L mX  R R2 1 − 2 L L L3

      

y, por lo tanto, det C = − L34cg 6= 0, es decir, el sistema es controlable. mX Resulta lógico pensar que si mediante una ley de control lineal, dada por: uδ = −K1 x1δ − K2 x2δ − K3 x3δ 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   0 1 r0  g cg   A=  X 0 −2 mX  R 0 0 −L

3.2 D ISEÑO

59

DE CONTROLADORES MEDIANTE LINEALIZACIÓN APROXIMADA

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: R g gR pA (s) = det(sI − A) = s3 + s2 − s − L X XL       R g R R  2 g = s2 s + − s+ = s+ s − L X L L X Las raíces de este polinomio resultan s1 = −

R ; s2 = ± L

r

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 delp sistema linealizado p 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: 2 2 2 pd (s) = (s + α)(s2 + 2ζωn + ωn ) = s3 + (2ζωn + α)s2 + (ωn + 2ζωn α)s + ω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 polosp 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:   x1δ  d  x2δ  =   dt x3δ 

0 g X − KL1

1 0 − KL2

r0



  x1δ cg    x2δ  −2 mX  x3δ K3 R −L − L

60

R EALIMENTACIÓN

DEL VECTOR DE ESTADOS

Figura 3.6: Polos del sistema (3.2) en lazo cerrado y su polinomio característico resulta: pA−BK (s) = det(sI − A) r     K3 K2 g cg R + s2 + −2 − s = s3 + L L L mX X r    K1 g R K3 cg + −2 − + L mX X L L Si igualamos este polinomio, término a término, con el polinomio deseado pd (s) dado por (3.3), obtenemos el siguiente sistema de ecuaciones lineales para las ganancias de realimentación K1 , K2 y K3 , R K3 + = 2ζωn + α L L r cg K2 g 2 −2 − = ωn + 2ζωn α L mX X r   g K3 K1 cg R 2 − + −2 = ωn α L mX X L L de donde resultan √ √   2αX 2X + 2ζ ω αX L mX 2g ζ ωn + gα + ωn L mX g + ωn n K1 = − ; K2 = − ; √ √ 2 cgX 2 cgX K3 = −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: √ ! 2αX L mX 2g ζ ωn + gα + ωn u= (x1 − X) √ 2 cgX ! √ r ! 2X + 2ζ ω αX L mX g + ωn mgX n − x2 − (−R + 2 ζ ωn L + α L) x3 − √ 2 cgX 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 x1 = X1 (N ) = N ; x1 = X1 (N ) =

βN ; u=0 λL

3.2 D ISEÑO

61

DE CONTROLADORES MEDIANTE LINEALIZACIÓN APROXIMADA

Figura 3.7: Esquema de realimentación lineal de estados para el sistema de levitación magnética se expresa mediante x˙ 1δ = −

β N x1δ + λx2δ + uδ L L

β x1δ − λx2δ L Así, las matrices del sistema A y de entrada B están dadas por:   " N # β λ −   L A= β ; B = L 0 −λ L El sistema es evidentemente controlable pues su matriz de controlabilidad es no singular como se puede constatar facilmente:   N βN − 2  βN 2  L L C = [B : AB] =  βN  ; det C = L3 6= 0 0 L2 De esta forma, utilizamos para el sistema lineal la ley de control incremental dada por x˙ 2δ =

uδ = −K1 x1δ − K2 x2δ , lo cual hace que el sistema en lazo cerrado adquiera la forma: " # β −L −N K1 λ − N K2 L L x˙ δ = xδ β −λ L El polinomio característico de este sistema está dado por:     β N N βN pA−KB = s2 + λ + + K1 s + λ K1 + 2 K2 L L L L

(3.4)

62

R EALIMENTACIÓN

DEL VECTOR DE ESTADOS

Evidentemente, las ganancias de diseño K1 y K2 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 2 pd = s2 + 2ζωn s + ωn

(3.5)

Los valores de K1 y K2 se obtienen entonces igualando término a término los coeficientes de los polinomios (3.4) y (3.5):      β L β L2 2 − λ 2ζωn − λ − K1 = 2ζωn − λ − ; K2 = ωn N L βN L La ley de control realimentado que estabiliza el modelo incremental se expresa entonces de la manera siguiente:      β β L2 L 2 − λ 2ζωn − λ − 2ζωn − λ − x1δ − ωn x2δ uδ = − N L βN L La ley de control lineal que estabiliza al sistema no lineal se consigue sustituyendo las variables incrementales x1δ , x1δ y xδ por sus valores: βN x1δ = x1 − N ; x2δ = x2 − ; uδ = u λL de donde resulta        β L2 β βN L 2 2ζωn − λ − (x1 − N ) − ωn − λ 2ζωn − λ − x2 − u=− N L βN L λ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 controladores. 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 = x2 FL sen x3 J x˙ 3 = Ru x˙ 2 =

Bajo la suposición de que todas las variables de estado son medibles y, por lo tanto, utilizables 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: x1δ = x1 − Θ; x2δ = x2 ; x3δ = x3 ; uδ = u La linealización del sistema alrededor de su punto de equilibrio constante está dada por las ecuaciones: x˙ 1δ = x2δ   FL FL x˙ 2δ = cos X3 x3δ = x3δ J J X3 =0 x˙ 3δ = Ruδ

3.3 E JEMPLOS

EN

M ATLAB (R)

63

las cuales se reescriben en términos matriciales en la forma:        0 1 0 0 x1δ x d  1δ   FL     x2δ 0  uδ x2δ + = 0 0 J dt x3δ x3δ R 0 0 0

(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:  F LR  0 0 J F LR , C= 0 0 J 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δ = −K1 x1δ − K2 x2δ − K3 x3δ Esta ley de control conlleva, en consecuencia, la siguiente expresión para el sistema controlado en lazo cerrado:      0 1 0 x x1δ d  1δ   FL   x2δ  x2δ = 0 0 J dt x x −RK −RK −RK 3δ

1

2

3



Puesto que nuestro interés fundamental está en inducir una dinámica controlada, para el valor de las perturbaciones del estado, de naturaleza asintóticamente estable a cero, los valores de las ganancias K1 , K2 , K3 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 sabemos tiene sus raíces en el semiplano izquierdo en valores preestablecidos. El polinomio característico del sistema lineal en lazo cerrado está dado por:   s −1 0 F L  (3.7) det(sI − A + BK) = det  0 s − J RK1 RK2 s + RK3 = s3 + RK3 s2 +

F LRK2 F LRK1 s+ J J

(3.8)

Como puede apreciarse, de la conformación de este polinomio característico resulta que los parámetros de diseño K1 , K2 y K3 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 pd en lazo cerrado esté dado por: pd (s) = (s + a)(s + b − j c)(s + b + j c) = (s + a)(s2 + 2bs + b2 + c2 ) = s3 + (2b + a)s2 + (b2 + c2 + 2ab)s + a(b2 + c2 )

(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: RK3 = 2b + a F LRK2 = b2 + c2 + 2ab J F LRK1 = a(b2 + c2 ) J

64

R EALIMENTACIÓ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: K1 = J

b2 + c2 + 2ab 2b + a a(b2 + c2 ) ; K2 = J ; K3 = F LR F LR R

La ley de control lineal retroalimentada que estabiliza el modelo incremental alrededor del origen está dada entonces por: uδ = −J

b2 + c2 + 2ab 2b + a a(b2 + c2 ) x1δ − J x2δ − x3δ F LR F LR R

El controlador lineal que estabiliza el sistema a su punto de equilibrio x1 = Θ, x2 = 0, x3 = 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(b2 + c2 ) b2 + c2 + 2ab 2b + a (x1 − Θ) − J x2 − x3 F LR F LR R

(3.10) 

Validez local

Es necesario recalcar que la validez del controlador lineal obtenido anteriormente se circunscribe a valores cercanos al punto de equilibrio deseado.

Control lineal del artefacto espacial mediante realimentación del vector de estado

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 computador. 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 muestran 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 x1 (0) = 2 rad, x2 (0) = 0 rad/seg, x3 (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 E JEMPLOS

EN

M ATLAB (R)

Figura 3.9: Comportamiento en lazo cerrado del artefacto espacial controlado

65

66

R EALIMENTACIÓ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 angular 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 desarrollado 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 x1 (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. t

3.3 E JEMPLOS

EN

M ATLAB (R)

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

67

68

R EALIMENTACIÓ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 producción de etanol La linealización del Modelo 14, en la página 18, alrededor del punto de equilibrio (1.32) x1 = X1 (E) = E; x2 = X2 (E) = 1 − E; u = U (E) =

1−E , E

arroja la siguiente expresión para la dinámica incremental: x˙ 1δ = x2δ − x1δ x˙ 2δ = −

1−E − Euδ E

1 x2δ + (1 − x2 )uδ E

(3.11)

Es decir, las matrices del sistema incremental resultante están dadas por   1−E   − 1 −E   E A= ; B =  1 E 0 − 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   −E 1 C = [B : AB] = 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 E JEMPLOS

EN

M ATLAB (R)

69

Considérese la siguiente transformación del vector de estados: z1δ = x1δ + x2δ z2δ = x1δ

(3.12)

la cual es, evidentemente, invertible. Las ecuaciones diferenciales para zδ resultan ser:   1 z˙1δ = 1 − z1δ E 1 z˙2δ = − z2δ + Euδ E De las ecuaciones resultantes, la última exhibe claramente a z1δ como modo incontrolable del sistema, mientras que z2δ 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 z1δ , 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 z2δ a cero (z2δ = x1δ = concentración incremental de etanol. Hacemos, entonces, uδ = −Kz2δ = −Kx1δ de donde resulta un sistema en lazo cerrado de la forma   1 + KE z2δ z˙2δ = − E Igualando el único autovalor a una cantidad real negativa −λ, se tiene:   1 1 uδ = −Kx1δ = − λ− x1δ E E 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 transformado, además del hecho de que la parte incontrolable del sistema presenta una dinámica asintóticamente estable a cero, ambos valores de las variables z1δ y z2δ convergen a cero. Por lo tanto, debido a la transformación (3.12), x1δ y x2δ convergen también a cero. Los estados originales x1 y x2 del sistema convergen, como queríamos, a sus puntos de equilibrio. El controlador lineal, que regula al sistema no lineal, está dado entonces por:   1 1 u = U (E) − λ− (x1 − E) E E   1−E 1 1 = − λ− (x1 − E) E E 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. t

70

R EALIMENTACIÓ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 E JEMPLOS

EN

M ATLAB (R)

Figura 3.11: Respuesta en lazo cerrado del sistema de fermentación estabilizable

71

72

R EALIMENTACIÓ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 linealizació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 M J C

Valor 0.5 [kg] 0.006 [kg·m2 ] 0.0

Parámetro m L F

Valor 0.2 [kg] 0.3 [m] 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. Realice las simulaciones correspondientes para el siguiente conjunto de valores de los

3.4 E JERCICIOS

73

PROPUESTOS

Figura 3.12: Sistema de dos conductores acoplados magnéticamente parámetros del sistema:   m2 kg c=1 ; g = 9,8 [m/seg2 ]; m = 0,1 [kg] seg2 Amp2 R = 1 [Ω]; L = 0,01 [Henrio]; X = 0,05 [m] Las especificaciones de diseño se dejan a libre escogencia. ¿Qué criterios utilizaría para proponer una colocación de polos adecuada? Sugerencia: Tome en cuenta 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 Modelo 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 simulaciones 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

R EALIMENTACIÓ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 = L0 . La ecuación del movimiento del conductor pequeño está dada por: m¨ x = −k(x − L0 ) +

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 L0 < x < a. Supondremos, por tanto, que L0 < x < a. Supóngase que se desea controlar la posición del conductor pequeño a un valor constante x = X tal que L0 < X < a. Escogiendo las variables del sistema como x1 = x; x2 = x; ˙ u=I las ecuaciones de estado del sistema resultan, entonces: x˙ 1 = x2 x˙ 2 = −k(x1 − L0 ) +

2iL u a − x1

(3.13)

Evidentemente el punto x2 = 0, x1 = L0 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: x2 = 0, x1 = 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 − L0 )(a − X) ; X1 (X) = X; X2 (X) = 0 2iL

(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 polinomio genérico deseado de segundo orden, para el sistema (3.13), alrededor del punto de equilibrio (3.14). (?) Modelo 25: Péndulo invertido controlado por un motor de corriente continua 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, viendolo 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 = M l2 , es decir, la inercia del péndulo es calculada como si la masa estuviese concentrada en el extremo del péndulo de longitud l. 4. El sistema de engranajes no presenta histéresis (“backlash” en inglés). Todos sus elementos son rígidos. 5. Se desprecian las fuerzas de roce. El esquema del motor de corriente continua controlado por armadura se presenta en la Figura 2.3, página 40.

3.4 E JERCICIOS

75

PROPUESTOS

Tomando como variables de estado x1 = θp , x2 = expresado por las siguientes ecuaciones:    x2 x˙ 1 g Kv  x˙ 2  =  x sen x +N 1  l M l2 3 Kb N R x˙ 3 − L x2 − L a x3 a a   x1 y = [1 0 0]  x2  x3

θ˙p = ωp , x3 = ia , el modelo queda 

   +

0 0 1 La

 u (3.15)

donde Kv es la constante de torque del motor, Kb 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, parametrizado en función de la corriente de armadura, es el siguiente:   −N Kv U x1 = sen−1 U , x2 = 0, x3 = , u = arbitrario = U M lgRa Ra M

Ejercicio 3.5: Control por realimentación de estado: péndulo invertido controlado por un motor de corriente continua a través de un sistema de engranaje 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 deseado (¿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 procedimiento 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 originario 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: pd (s) = sn + αn sn−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 )) = sn + an (U )sn−1 + . . . + a1 (U ) ,

(3.18)

76

R EALIMENTACIÓN

R(U ) es una matriz triangular de Toepliz, dada por  1 0  a1 (U ) 1  R(U ) =  .. ..  . . an−1 (U ) an−2 (U )

... ... .. . ...

0 0 .. . 1

DEL VECTOR DE ESTADOS

    

(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 independientes 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 realimentació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 estado incremental. Como veremos en el próximo capítulo, será posible, sin embargo, obtener valores estimados de las componentes no medidas a partir 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 espacio de estado, el lector puede consultar, por ejemplo (la fórmula de Ackermann se puede encontrar en cualesquiera de los textos mencionados):

3.5 R ESUMEN

DEL CAPÍTULO Y

L ECTURAS

ADICIONALES

1. T. Kailath, Linear Systems, Prentice-Hall, Englewood Cliffs, NJ, 1980, [Kai80]. Un texto muy completo, con una visión amplia de los diferentes 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 Control 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 introduction, 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 linear 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].

77

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 todos 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 sintetizadas a partir de los errores de equilibrio de tales estados con respecto 78

4.2 R ECONSTRUCCIÓN

79

DEL VECTOR DE ESTADO

a sus valores de equilibrio nominales constantes. Esta suposición no siempre es válida, pues en una gran cantidad de casos 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 variable 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 suministrando al sistema. Este proceso de inferencia recibe el nombre de estimación o reconstrucción del vector de estado. El proceso de estimación del vector de estado para un sistema no lineal ha sido investigado y resuelto solo recientemente y sus desarrollos requieren de una base adecuada de la geometría diferencial. Restringiremos, sin embargo, nuestra atención al problema de reconstruir el vector de estado 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 momento 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 tiempo. 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é resuelto 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˙ δ = A xδ + B uδ yδ = C xδ

(4.1)

donde xδ es el vector de estado n-dimensional, uδ es un escalar que representa a la variable de control y la variable yδ es la salida (escalar) del

80

O BSERVADORES

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δ (t0 ) 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 correspondiente que lograba la estabilización del sistema no lineal. Este esquema 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 R ECONSTRUCCIÓN

DEL VECTOR DE ESTADO

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 partir 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 innegable 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 linealizado. Al valor resultante de este proceso de reconstrucción del estado incremental 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 estado 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.

81

82

O BSERVADORES

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, utilizando un observador dinámico de estado

4.3 O BSERVADOR

DE

L UENBERGER :

83

CONVERGENCIA

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 incremental verdadero, debemos garantizar que el sistema incremental, así erróneamente controlado (aun cuando de manera temporal), siga siendo asintoticamente estable a cero. La primera preocupación resulta fácil de contestar, mientras que la segunda 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 sistema dinámico lineal dado por: x ˆ˙ δ = Φˆ xδ + Γuδ + Lyδ ,

x ˆδ (t0 ) = 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 entre el valor real del vector de estado del sistema linealizado y el valor estimado 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δ (t0 ) = xδ (t0 )−ˆ xδ (t0 ) = x0δ −ˆ x0δ . 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 calificaciones adicionales sobre la magnitud de esta cantidad vectorial. Es fácil establecer una ecuación diferencial que describa el comportamiento del vector de error de estimación en términos de las matrices y vectores que definen tanto al sistema original linealizado (4.1) como al observador propuesto (4.2). En efecto:

Error de observación

84

O BSERVADORES

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 estabilizació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ámica lineal y autónoma dada por: e˙ δ = (A − LC)eδ ;

eδ (t0 ) = e0δ

(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 ) e0δ

Convergencia a cero del error de observación

En virtud del resultado anterior, estamos en capacidad de predecir el comportamiento cualitativo de eδ , el cual depende principalmente de la naturaleza de los autovalores de la matriz Φ = A − LC. Nuestro objetivo será entonces el de imponer, sobre la dinámica autónoma 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 escoger L de tal manera que los autovalores de A − LC se encuentren en el semiplano izquierdo del plano complejo. Al hacer esto se garantiza, finalmente, 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 observador nos permitimos mostrar a continuación el esquema que va adoptando

4.3 O BSERVADOR

DE

L UENBERGER :

85

CONVERGENCIA

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 estado estimado cuando es afectado por el mapa de salida C, entonces podemos reescribir las ecuaciones del observador (4.6) como: 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 original (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 capacidad 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 sistema no coincide con el valor de la salida estimada y, de hecho, tal error

Observador de Luenberger

86

Sistema dual

O BSERVADORES

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 correcta, al menos en principio. Sin embargo, debe quedar suficientemente claro que si la salida estimada coincide con la salida del sistema esto no implica, 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 representado por el vector fila C, es decir, en un subespacio de su subespacio nulo1 . La condición que nos permitiría asegurar que no existe dicho subespacio, diferente de cero, donde ambos vectores de estado puedan “ocultarse"por coincidencia de los valores que arrojan a la salida es la llamada condición de observabilidad. Observemos en detalle este caso en los siguientes 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 z˙δ = AT zδ + C T vδ vδ = −LT 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 (AT , C T ) debe ser un par controlable. El sistema en lazo cerrado anterior se describe mediante: z˙δ = (AT − C T LT )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: (AT − C T LT ) = (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 (AT − C T LT ), en lugares prefijados del semiplano izquierdo del plano complejo. Esto es posible siempre y cuando el par (AT , 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 gobernado 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 (AT , C T ) sea un par controlable. Recordemos 1 Para

revisar este tipo de noción, el lector puede referirse a [FSA88].

4.3 O BSERVADOR

DE

L UENBERGER :

87

CONVERGENCIA

que la matriz C y la condición de controlabilidad del par (AT , C T ) están dadas por   rango C = rango C T : AT C T : . . . : (AT )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   C  CA      .. (4.11) rango O = rango C T = rango   .    CAn−2  CAn−1

Matriz de observabilidad

que es la conocida condición de observabilidad del sistema linealizado original (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 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 reconstruir 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 temprano, estos estados llegarán, irremisiblemente, a tomar este último valor de cero. A tales sistemas se les conoce en la literatura como sistemas reconstruibles 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 = x2 − x1 u x˙ 2 = −x2 + (1 − x2 )u y = x2

Observabilidad y detectabilidad

88

O BSERVADORES

DINÁMICOS DE ESTADO

La linealización del sistema alrededor de su punto de equilibrio resultó, ver (3.11) en la página 68: x˙ 1δ = x2δ − x1δ x˙ 2δ =

1−E − Euδ E −

1 x2δ + (1 − x2 )uδ E

yδ = x2δ El sistema linealizado no es observable ya que la matriz de observabilidad está dada por:   0 1 O= ; rango O = 1 6= 2 1 0 E En equilibrio, el estado x2δ tiende a cero, ya que uδ también se supone cero en esta condición. El estado x1δ no puede reconstruirse a partir del conocimiento de x2δ y uδ ya que x1δ no influencia para nada a x2δ , como es fácil ver de la estructura de las ecuaciones del sistema. En condiciones de equilibrio para x2δ y uδ es fácil ver que x1δ 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 x1δ . Además, en este caso, el observador para x2δ es trivial. 

4.4.

Sistema en lazo cerrado con el observador

Observador de Luenberger: separabilidad

Tal como nos lo propusimos al inicio del estudio del problema de control 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 reconstrucció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 incremental 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 operación. Esta pregunta la contestaremos estudiando la validez del esquema de control realimentado presentado en la Figura 4.7, utilizando ahora el modelo 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: x˙ δ yδ uδ x ˆ˙ δ

= Axδ + Buδ = Cxδ = −K x ˆδ

(4.12)

= Aˆ xδ + Buδ + L (yδ − yˆδ ) = (A − LC)ˆ xδ + Buδ + LCxδ yˆδ = C x ˆδ

(Note que se reemplaza xδ por x ˆδ en la expresión asociada al control uδ .)

4.4 O BSERVADOR

DE

L UENBERGER :

SEPARABILIDAD

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 observador, de la manera siguiente:      x˙ δ A −BK xδ = (4.13) LC A − LC − BK x ˆδ x ˆ˙ δ 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 matrices similares, es decir, aquellas que se relacionan mediante una transformación similar, tienen los mismos autovalores. La transformación que utilizaremos es la siguiente:        xδ I 0 xδ xδ = =P (4.14) eδ I −I x ˆδ x ˆδ donde P es, evidentemente, una matriz invertible, la cual permite representar 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. Esta 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˙ δ A − BK BK xδ = (4.15) e˙ δ 0 A − LC eδ

89

90

Principio de separación

Los autovalores de la ley de control y del observador se pueden escoger de manera independiente

O BSERVADORES

DINÁMICOS DE ESTADO

Es evidente que los autovalores del sistema (4.15) corresponden sencillamente 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 controlado 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 de separación, nos indica que el esquema de control presentado en la Figura 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δ convergen asintóticamente a cero si y solamente si tanto los autovalores de la 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 basada 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 absoluto que la parte real de los autovalores escogidos para la realimentación del vector de estados. Afortunadamente, “casi todos los sistemas son controlables y observables”. Esto valida totalmente el esquema propuesto para controlar un sistema 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 diseñ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 = x1 como salida del sistema. En virtud de nuestro conocimiento del modelo del sistema es razonable suponer que también conocemos a la perfección, si bién por cálculo, el estado de equilibrio del sistema. En consecuencia, conocemos el estado incremental x1δ como salida del sistema linealizado. Las ecuaciones linealizadas de estado y de salida de este sistema son, ver página 63:        0 1 0 x x1δ 0 d  1δ   FL     x2δ x2δ 0  uδ = + (3.6*) 0 0 J dt x x R 0 0 0 3δ



El sistema linealizado es observable pues la matriz de observabilidad tiene rango completo:   1 0 0 FL  0 1 0  ; det O = O= 6= 0 J 0 0 FL J

Esto significa que podemos construir un observador para el sistema linealizado cuyo error de reconstrucción es asintóticamente estable a cero.

4.4 O BSERVADOR

DE

L UENBERGER :

91

SEPARABILIDAD

Proponemos entonces el observador siguiente:       ˙    0 1 0 x ˆ1δ 0 x ˆ1δ L1 ˙ˆ2δ  =  0 0 F L   x    x   ˆ2δ 0 L2  (yδ − yˆδ ) + uδ + J x ˆ3δ L3 R 0 0 0 x ˆ˙ 3δ   x ˆ1δ ˆ2δ  yˆδ = [1 0 0]  x x ˆ3δ El error de observación satisface entonces:    −L1 e˙ 1δ  e˙ 2δ  =  −L2 e˙ 3δ −L3

1 0 0

0 FL J

0

 e1δ   e2δ  e3δ 

(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) = s3 + L1 s2 + L2 s +

FL L3 J

(4.17)

La ganancia L garantiza un observador cuyo error de reconstrucción es asintóticamente estable. 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 semiplano izquierdo. Podemos escoger tales raíces como las del polinomio siguiente: pd = (s + γ1 )(s + γ3 )(s + γ3 ) = s3 + (γ1 + γ2 + γ3 )s2 + (γ1 γ2 + γ1 γ3 + γ2 γ3 )s + γ1 γ2 γ3 De donde resulta: L1 = γ1 + γ2 + γ3 L2 = γ1 γ2 + γ1 γ3 + γ2 γ3 L3 =

J γ 1 γ2 γ 3 FL

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 cerrado 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 Figura 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). t

Matlab 4.2: Diseño completo (realimentación del vector de estados y observador 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 diferenciales siguiente x˙ 1 = x2 g x˙ 2 = − sin x1 + u sen x1 cos x1 a

(1.36*)

Utilizaremos el punto de equilibrio parametrizado en términos del valor de equilibrio de la variable x1 = X: g x1 (X) = X; x2 (X) = 0; u = U = (1.37*) a cos X

92

O BSERVADORES

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 O BSERVADOR

DE

L UENBERGER :

SEPARABILIDAD

Listado 4.1: Programa de simulación del artefacto espacial controlado mediante un observador 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

93

94

O BSERVADORES

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 O BSERVADOR

DE

L UENBERGER :

95

SEPARABILIDAD

La linealización de (1.36) alrededor del punto de equilibrio (1.37) resulta: x˙ 1δ = x2δ g  1 x˙ 2δ = − sen X tan X x1δ + sen(2X) uδ a 2

(4.18)

donde x1δ = x1 − X, x2δ = x2 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:   1 1 sen(2X) 0 2 ; det C = − sen2 2X C= 1 sen(2X) 0 4 2 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δ = −K1 x1δ − K2 x2δ

(4.19)

El sistema linealizado en lazo cerrado, resultante de aplicar (4.19), está dado por: x˙ 1δ = x2δ   1 1 g sen X tan X − K1 sen(2X) x1δ − K2 sen 2X x2δ x˙ 2δ = − a 2 2 Supóngase que deseamos obtener el siguiente comportamiento asintóticamente estable para el sistema en lazo cerrado: x˙ 1δ = x2δ 2 x˙ 2δ = −ωn x1δ − 2ζωn x2δ

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 K1 y K2 no puede ser otra que: 2 − g tan X sen X ωn 4ζωn a K1 = 2 ; K2 = (4.20) sen 2X sen 2X Por lo tanto, el control lineal que habrá de regular al sistema no lineal original resulta entonces: u=

2 − g tan X sen X ωn g 4ζωn a −2 (x1 − X) − x2 a cos X sen 2X sen 2X

(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 π rad2 ]; θ(X) = X = [rad]; u(X) = 69,296465 [ ] 2 seg 4 seg2

La Figura 4.9 muestra las simulaciones correspondientes al comportamiento del sistema (1.36) en lazo cerrado.

96

O BSERVADORES

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 O BSERVADOR

DE

L UENBERGER :

SEPARABILIDAD

Figura 4.9: Respuesta de un sistema aro – anillo controlado mediante realimentación completa del vector de estado

97

98

O BSERVADORES

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 estado y = x1 , 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δ = x2δ  g 1 sen X tan X x1δ + sen(2X)uδ x˙ 2δ = − a 2 yδ = x1δ

(4.22)

A partir de este modelo es fácil de diseñar el observador dinámico de Luenberger apropiado: x ˆ˙ 1δ = x ˆ2δ + L1 (yδ − yˆδ ) g  1 x ˆ˙ 2δ = − sen X tan X x ˆ1δ + sen(2X)uδ + L2 (yδ − yˆδ ) a 2 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: g u = U − K1 x ˆ1δ − K2 x ˆ2δ = − K1 x ˆ1δ − K2 x ˆ2δ (4.24) a cos X con K1 y K2 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δ = −L1 e1δ + e2δ g  e˙ 2δ = − sen X tan X + L2 e1δ a

4.5 O BSERVADORES

DE ORDEN REDUCIDO

Con el objeto de escoger apropiadamente las ganancias del observador L1 y L2 que garanticen un comportamiento asintóticamente estable a cero para el error de estimación e, obtenemos el polinomio característico del sistema anterior: g p(s) = s2 + L1 s + L2 + tan X sen X a Igualamos los coeficientes de este polinomio a los de un polinomio característico deseado pd (s), dado por: 2 pd (s) = s2 + 2ζ1 ωn1 s + ω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 L1 y L2 buscadas resultan 2 g L1 = 2ζ1 ωn1 ; L2 = ωn1 tan X sen X (4.25) a 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 respuesta 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. Compare con los resultados obtenidos para el caso de realimentación completa del vector de estados, mostrados en la Figura 4.9. t

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

99

100

O BSERVADORES

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 O BSERVADORES

DE ORDEN REDUCIDO

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

101

102

O BSERVADORES

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ámicos de estado que reconstruyen absolutamente todas y cada una de las variables 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 variables 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 “emulació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 estados 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: −3/2

x˙ 1 = x−2 1 u − x1 1/2

x˙ 2 = x1

1/2

− x2

(4.26)

y = x2 donde x1 y x2 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 O BSERVADORES

103

DE ORDEN REDUCIDO

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 x2 = X que se desea mantener en el segundo tanque. Parametrizando los puntos de equilibrio en términos de tal valor X, tenemos √ x1 (X) = X; x2 (X) = X; u = X (4.27) Linealizando el sistema alrededor de este punto de equilibrio, se obtiene: 1 x˙ 1δ = − X −5/2 x1δ + X −2 uδ 2 1 1 x˙ 2δ = X −1/2 x1δ − X −1/2 x2δ 2 2 yδ = x2δ

(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δ = −K1 x1δ − K2 x2δ El sistema linealizado en lazo cerrado resulta entonces:      − 21 X −5/2 − K1 X −2 −K2 X −2 x˙ 1δ x1δ = 1 1 −1/2 −1/2 x˙ 2δ x2δ X −2X 2 donde las ganancias K1 y K2 se obtienen de igualar el polinomio característico plc (s) del sistema en lazo cerrado y un polinomio característico deseado pd (s), dados por:   s + 21 X −5/2 + K1 X −2 K2 X −2 plc (s) = det s + 12 X −1/2 − 12 X −1/2   1 −1/2 1 1 1 = s2 + X + X −5/2 + K1 X −2 s + (K1 + K2 )X −5/2 + X −3 , y 2 2 2 4 2 pd (s) = s2 + 2ζωn s + ωn

104

O BSERVADORES

DINÁMICOS DE ESTADO

Así, las ganancias K1 y K2 resultan: 1 −1/2 X 2 2 2 5/2 − 2ζωn X + 1/2x3/2 K2 = 2ωn X

K1 = 2ζωn X 2 − 1/2X 3/2 −

A partir de este resultado, la ley de control para el sistema linealizado está dada por:     1 1 1 2 5/2 uδ = − 2ζωn X 2 − X 3/2 − X −1/2 x1δ − ωn X − 2ζωn X 2 + x3/2 x2δ 2 2 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:     1 1 1 2 5/2 X − 2ζωn X 2 + x3/2 x ˆ1δ − ωn ˆ2δ uδ = − 2ζωn X 2 − X 3/2 − X −1/2 x 2 2 2 Sin embargo, la variable incremental yδ = x2δ 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:     1 1 1 2 5/2 uδ = − 2ζωn X 2 − X 3/2 − X −1/2 x ˆ1δ − ωn X − 2ζωn X 2 + x3/2 yδ (4.30) 2 2 2 El problema entonces se centra en cómo estimar la altura incremental x1δ en el primer tanque, a partir del conocimiento de yδ = x2δ (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 x2δ : x˙ 2δ =

1 −1/2 1 X x1δ − X −1/2 x2δ 2 2

(4.31)

Esta ecuación, evidentemente, guarda alguna información sobre x1δ . Al disponer en forma exacta x2δ podemos suponer también como conocida su derivada temporal. De la expresión (4.31), obtenemos entonces el siguiente valor para x1δ : x1δ = 2X 1/2 x˙ 2δ + x2δ Hagamos caso omiso, por los momentos, de la necesidad de tener que tomar derivadas temporales 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 x1δ : 1 x˙ 1δ = − X −5/2 x1δ + X −2 uδ 2 zδ = x1δ = 2X 1/2 x˙ 2δ + x2δ

(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 x1δ con el fin de implementar un proceso de estimación para x1δ basado en estos dos datos. Un estimador dinámico del estado incremental para el sistema reducido (4.32) está dado por: 1 x ˆ˙ 1δ = − X −5/2 x ˆ1δ + X −2 uδ + L1 (zδ − zˆδ ) 2 zˆδ = x ˆ1δ

(4.33)

El error de estimación e1δ = x1δ − x ˆ1δ estaría dado por la solución de la ecuación diferencial:   1 −5/2 X + L1 e1δ e˙ 1δ = − 2 No existe, entonces, problema alguno en proponer un valor de la ganancia L1 de tal forma que el error de estimación sea asintóticamente estable a cero. De hecho, cualquier valor positivo

4.5 O BSERVADORES

105

DE ORDEN REDUCIDO

L1 ≥ 0 > − 12 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δ + x2δ ). Note que sustituyendo zδ = 2X 1/2 x˙ 2δ + x2δ y zˆδ = x ˆ1δ en la ecuación diferencial (4.33), tenemos: 1 ˆ1δ ) x ˆ˙ 1δ = − X −5/2 x1δ + X −2 uδ + L1 (2X 1/2 x˙ 2δ + x2δ − x 2 o, equivalentemente, 1 x ˆ˙ 1δ − 2L1 X 1/2 x˙ 2δ = − X −5/2 x1δ + X −2 uδ + L1 (x2δ − x ˆ1δ ) (4.34) 2 Con el objeto de evitar el proceso de derivación para obtener la derivada temporal x˙ 2δ , definamos a partir de la expresión (4.34) la siguiente variable auxiliar: ζδ = x ˆ1δ − 2L1 X 1/2 x2δ

(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 siguiente: i d h d x ˆ˙ 1δ − 2L1 X 1/2 x˙ 2δ = x ˆ1δ − 2L1 X 1/2 x2δ = ζδ dt dt h i 1 = − X −5/2 x ˆ1δ − 2L1 X 1/2 x2δ − L1 X −2 x2δ X −2 uδ 2 + L1 (x2δ − [ˆ x1δ − 2L1 X 1/2 x2δ ]) − 2L21 X 1/2 x2δ la cual reescribimos como 1 d ζδ = −( X −5/2 + L1 )ζδ X −2 uδ + [L1 − 2L21 X 1/2 − L1 X −2 ]yδ (4.36) dt 2 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 x1δ , 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 x1δ es: x ˆ1δ = ζδ + 2L1 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 n1 < n de variables de estado incrementales representadas por el vector x1δ . 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, n2 , donde n1 + n2 = n. Representamos estas variables no medibles mediante el vector x2δ . De acuerdo con estas dimensiones tenemos: x1δ ∈ Rn1 ; x2δ ∈ Rn2 ; xδ ∈ Rn Por lo tanto, el vector de estado incremental lo representamos mediante:   x1δ xδ = ∈ Rn1 +n2 x2δ

106

O BSERVADORES

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 variables de estado directamente medibles ocupan las primeras n1 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 sistema linealizado x˙ δ = Axδ + Buδ y reescribir estas ecuaciones de estado incremental como:        x˙ 1δ A11 A12 x1δ B1 = + uδ (4.38) x˙ 2δ A21 A22 x2δ B2 donde A11 ∈ Rn1 ×n1 , A12 ∈ Rn1 ×n2 , A21 ∈ Rn2 ×n1 , A22 ∈ Rn2 ×n2 , B1 ∈ Rn1 , B2 ∈ Rn2 . La ecuación vectorial de salida representada por el subvector de estados conocidos: yδ = x1δ

(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 x2δ , pues todos los estados incrementales contenidos en x1δ 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 O BSERVADORES

107

DE ORDEN REDUCIDO

las variables conocidas (asumiremos como antes que y˙ δ es medible): x˙ 2δ = A21 x1δ + A22 x2δ + B2 uδ A12 x2δ = y˙ δ − A11 yδ − B1 uδ Puesto que yδ y uδ son conocidas, es concebible que también podamos conocer como señal del tiempo al vector n1 -dimensional dado por la segunda ecuación anterior. Designemos a este vector como y2δ : y2δ = A12 x2δ = y˙ δ − A11 yδ − B1 uδ

(4.40)

El problema de estimación de x2δ puede verse como el problema de reconstruir el estado del subsistema dado por: x˙ 2δ = A22 x2δ + v1δ y2δ = A12 x2δ

(4.41)

donde el vector v1δ = A21 x1δ + B2 uδ es completamente conocido, al igual que la señal y2δ . La reconstrucción del estado incremental desconocido x2δ , con error de estimación asintóticamente estable a cero, es factible si el par (A22 , A12 ) 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 inobservable. 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 = A11 z1 z˙2 = A21 z1 + A22 z2   z1 w = z1 = [I 0] z2 Puesto que la exponencial matricial de este sistema está dada por:      A11 0 exp A11 t 0 exp t = A21 A22 ? exp(A22 t) entonces es claro que existen vectores η distintos de cero que hacen cero el siguiente producto:      exp A11 t 0 η1 η1 [I 0] = [exp(A11 t) 0] = exp(A11 t)η1 ? exp A22 t η2 η2

108

O BSERVADORES

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 demostración de la suficiencia se obtiene rapidamente a partir de una expansió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δ A11 A12 x1δ = x˙ 2δ A21 A22 x2δ yδ = x1δ es observable (resp. detectable), entonces el subsistema x˙ 2δ = A22 x2δ y2δ = A21 x2δ también es observable (resp. detectable). Regresemos al problema planteado, cual era reconstruir el vector de estado del sistema: x˙ 2δ = A22 x2δ + v1δ y2δ = A21 x2δ

(4.41*)

donde el vector v1δ es conocido, al igual que la señal de salida y2δ . Un observador para este sistema se obtiene simplemente como: x ˆ˙ 2δ = A22 x ˆ2δ + v1δ + L2 (y2δ − yˆ2δ ) yˆ2δ = A21 x ˆ2δ El error de estimación está dado entonces por: e˙ 2δ = x˙ 2δ − x ˆ˙ 2δ = A22 x2δ + v1δ − A22 x ˆ2δ − L2 (A12 x2δ − A12 x ˆ2δ ) − v1δ = (A22 − L2 A12 )e2δ Debemos encontrar una matriz (vector) L2 tal que esta dinámica del error sea asintóticamente estable. Puesto que el sistema se ha supuesto observable tal vector L2 siempre existe. A pesar de esta solución, nuestro observador requiere de la señal y2δ que involucra la derivacion de x1δ , es decir, derivación, numérica o analítica del vector de salida original del sistema y1δ , ver (4.40). Tal práctica no

4.5 O BSERVADORES

109

DE ORDEN REDUCIDO

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 manera siguiente: x ˆ˙ 2δ = A22 x ˆ2δ + A21 yδ + B2 uδ + L2 (y˙ δ − A11 yδ − B1 uδ − A12 x ˆ2δ ) = (A22 − L2 A12 )ˆ x2δ + (A21 − L2 A11 )yδ + (B2 − L2 B1 )uδ + L2 y˙ δ es decir: d (ˆ x2δ − L2 yδ ) = (A22 − L2 A12 )(ˆ x2δ − L2 yδ ) dt + (A22 − L2 A12 )L2 yδ + (A21 − L2 A11 )yδ + (B2 − L2 B1 )uδ

(4.42)

Si hacemos z2δ = x ˆ2δ − L2 yδ

(4.43)

entonces obtenemos, de (4.42) y (4.43), z˙2δ = (A22 − L2 A12 )z2δ + ((A22 − L2 A12 )L2 + A21 − L2 A11 )yδ + (B2 − L2 B1 )uδ x ˆ2δ = z2δ + L2 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. Podemos, en consecuencia, obtener el estimado de x2δ como salida del sistema que genera a la variable auxiliar z2δ . 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

O BSERVADORES

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),        0 1 0 x˙ 1δ x1δ 0  x˙ 2δ  =  0 0 F L   x2δ  +  0  uδ J x˙ 3δ x3δ R 0 0 0 yδ = x1δ Deseamos utilizar la posición angular incremental yδ = x1δ , 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 x2δ y x3δ con un observador de orden reducido. Las ecuaciones particionadas resultan:



x˙ 1δ = x2δ   x˙ 2δ 0 = x˙ 3δ 0

FL J

0



x2δ x3δ



 +

0 R

 uδ

yδ = x1δ De acuerdo a la formulación general, tenemos:    0 0 A11 = 0; A12 = [1 0]; A21 = ; A22 = 0 0

FL j

0



 ; b1 = 0; b2 =

0 R

Consideremos, entonces, el problema de estimar los estados x2δ y x3δ a partir de:        x˙ 2δ x2δ 0 0 FJL uδ = + x˙ 3δ x3δ R 0 0 y2δ = x2δ



4.6 E JERCICIOS

111

PROPUESTOS

El observador dinámico para este subsistema está dado por:        0 x ˆ˙ 2δ x ˆ2δ 0 FJL = + uδ + L(y2δ − yˆ2δ ) ˙x x ˆ3δ R 0 0 ˆ3δ   x ˆ2δ yˆ2δ = [1 0] x ˆ3δ Nótese que el par (A22 , A12 ), dado por las matrices    0 FJL , [1 0] , 0 0 es observable. Usando el procedimiento explicado anteriormente, vador reducido de la manera siguiente:         x ˆ2δ 0 x ˆ˙ 2δ 0 FJL + u + = δ x ˆ3δ R 0 0 x ˆ˙ 3δ       FL x ˆ2δ 0 0 J + uδ + = x ˆ3δ R 0 0 En forma más sintética:    x ˆ˙ 2δ − L21 x˙ 1δ −L21 = ˙x −L22 ˆ3δ − L22 x˙ 1δ

FL J

reescribimos las ecuaciones del obser-

L21 L22



L21 L22





0

(x˙ 1δ − yˆ2δ )

x ˆ2δ x ˆ3δ

 x˙ 1δ +



 +

L21 L22

0 R

0 0



x ˆ2δ x ˆ3δ



 uδ

(4.45)

Hagamos ahora: z21δ = x ˆ2δ − L21 x1δ = x ˆ2δ − L21 yδ z22δ = x ˆ3δ − L22 x1δ = x ˆ3δ − L22 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δ z21δ 0 L21 −L21 FJL −L21 FJL + uδ + yδ (4.46) = z˙22δ z22δ R L22 −L22 0 −L22 0 Las variable estimadas están dadas por: x ˆ2δ = z21δ + L21 yδ x ˆ3δ = z22δ + L22 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 pd (s),      e21δ e˙ 21δ −L21 FJL = e˙ 22δ e22δ −L22 0 Los polos deseados habrán de regir el comportamiento del error de reconstrucción de los estados no medibles directamente. Así: p(s) = s2 + L21 s +

FL 2 L22 ≡ pd (s) = s2 + 2ζr ωnr s + ωnr J

y, finalmente, L21 = 2ζr ωnr ; L22 =

J 2 ω F L nr 

112

O BSERVADORES

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 presentamos 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 = x2 x˙ 2 =

g sen(x1 ) − a mLx22 sen(2x1 )/2 − a cos(x1 )u 4L/3 − a mL cos2 (x1 )

(4.47)

donde x1 es el ángulo, medido en radianes con respecto a la vertical, x2 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:   tan−1 ( aU ) g X(U ) = (4.48) 0

4.6 E JERCICIOS

113

PROPUESTOS

El punto de equilibrio del sistema para x1 = X = constante, está dado por: g x1 = arbitrario = X ; x2 = 0 ; u = tan(X) a

(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/seg2 . 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 determinar, 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 magné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

O BSERVADORES

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

s2

ω02 s x + 1,4ω0 s + ω02

(4.50)

ˆ˙ denota un estimado de x; donde 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 x ˆ2 . 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 independientemente 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 R ESUMEN

DEL CAPÍTULO Y

L ECTURAS

ADICIONALES

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 discretos, 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. Automat. Contr., vol. 16, pp. 596–602, 1971, [Lue71]. La dualidad es una propiedad particularmente interesante de los sistemas lineales: D. G. Luenberger, “A double look at duality”, IEEE Trans. Automat. Contr., vol. 37, pp. 1474 - 1482, October 1992, [Lue92]. En este artículo 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 Tuning, 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 limitaciones prácticas que se generan con la aproximación numérica y el porqué la acción derivativa no es utilizada en general.

115

5 Síntesis de compensadores clásicos

Foto

Durante años el diseño de leyes de control estuvo basado exclusivamente 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ítulos 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 D ISEÑO

DE REGULADORES DEL TIPO

P, PI

Y

PID

117

1. el principio de linealización sea válido localmente en un entorno “suficientemente 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 sistema 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étodos de análisis frecuencial (lugar de las raíces, método de Bode, Nichols, etc.) para el diseño de compensadores1 Gc (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 ilustrativos 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 Gc (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 proporcional 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 adelanto, 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 realimentado 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 sistemas 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 linealizado, presentaremos el método de Ziegler-Nichols en régimen frecuencial 1 A las leyes de control diseñadas mediante los llamados métodos clásicos se las llama tambié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.

método de Ziegler-Nichols

118

Método Z-N basado en la respuesta crítica

sistemas SISO, estables en lazo abierto

frecuencia última y ganancia última

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 encontrar 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ámetros 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 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, f0 (U ) y K0 (U ), a partir del diagrama de Nyquist de la función de transferencia en lazo abierto dada por, viene de la página 37, GU (s) = C(U )[sI − A(U )]−1 B(U ) (2.8*) Los parámetros a determinar son conocidos como la frecuencia última f0 (U ) y la ganancia última K0 (U ). En lugar de la frecuencia f0 (U ) nos interezará en particular la frecuencia última expresada en radianes ω0 (U ) y el período último P0 (U ), los cuales se expresan de la siguiente manera: 1 2π = ω0 (U ) f0 (U ) 1 K0 (U ) = |GU (ω0 (U ))| P0 (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 f0 (U )) corresponde al valor de frecuencia finita, diferente de cero, para el cual Im G(jω(U )) = 0,2 es decir, cuando el sistema presenta estabilidad marginal3 . Este valor se determina directamente sobre el gráfico de Nyquist, tal como se muestra en la Figura 5.1. Analíticamente, los valores de K0 (U ) y ω0 (U ) se calculan a partir de la función de transferencia GU (s) de la manera siguiente: arg [GU (jω0 (U ))] = −π 1 K0 (U ) = |GU (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 D ISEÑO

DE REGULADORES DEL TIPO

P, PI

Y

PID

119

Figura 5.1: Determinación de la frecuencia última ω0 y la ganancia última K0 Tabla 5.1: Parámetros KP , TI , TD del método de Ziegler-Nichols Tipo de controlador

Parámetro KP

Parámetro TI

Parámetro TD

P PI PID

0,5K0 (U ) 0,45K0 (U ) 0,6K0 (U )

∞ 0,83P0 (U ) 0,5P0 (U )

0 0 0,125P0 (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   1 Gc (s) = KP (U ) 1 + + TD (U )s (5.2) TI (U )s donde KP es la ganancia estática, TI y TD son constantes de tiempo asociadas a los términos integral y derivativo, respectivamente. Como se observa, las expresiones de los controladores P y PI se obtienen haciendo, respectivamente, TI (U ) = ∞, TD (U ) = 0 y TD (U ) = 0. Para el caso del regulador PD hacemos simplemente TI (U ) = ∞. Otra representación, un tanto más simple, del controlador (5.2) es la siguiente: K2 (U ) + K3 (U )s (5.3) Gc (s) = K1 (U ) + s Tomando en cuenta (5.2) o (5.3), el método Ziegler-Nichols se basa en proponer, a partir de los valores P0 y K0 , 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 KP , TI y TD recomendados por el método

120

S ÍNTESIS

DE COMPENSADORES CLÁSICOS

Tabla 5.2: Parámetros K1 , K2 , K3 del método de Ziegler-Nichols

El controlador PD corresponde a una realimentación del vector de estados

Tipo de controlador

Parámetro K1

Parámetro K2

Parámetro K3

P

0,5K0 (U )

0

0

PI

0,45K0 (U )

0

PID

0,6K0 (U )

0,54K0 (U ) P0 (U ) 1,2K0 (U ) P0 (U )

0,075K0 (U )P0 (U )

de Ziegler-Nichols. Estos valores caracterizan las constantes de los compensadores 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 K1 , K2 , K3 , la tabla 5.1 se puede reescribir como aparece en la tabla 5.2. Observe que no hemos considerado explícitamente el caso del controlador proporcional-derivativo PD (ver el ejemplo Matlab 8.2, página 211, 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 PID lineal, 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 incremental 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 entrada, es decir, deδ /dt, el cual excita al compensador directamente. Por lo tanto tenemos: ξ˙δ = K2 (U )eδ uδ = ξδ + K1 (U )eδ + K3 (U )

(5.4)

deδ dt

donde eδ = yref − yδ = 0 − yδ = −yδ . Evidentemente, la señal de control sintetizada por el compensador anterior adopta la forma: Z uδ = K1 (U )eδ + K2 (U )

t

eδ (σ)dσ + K3 (U ) o

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 E JEMPLOS

BASADOS EN LA REGLA DE

Z IEGLER -N ICHOLS

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 realizar algunos ejemplos del uso de esta estrategia, debemos hacer notar la siguiente observación: No siempre es posible aplicar el método de ZieglerNichols 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 presentan una característica forma en “S” de la respuesta escalón unitario4 . 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: q cg 2 yδ (s) x1δ (s) L mX GX (s) = = = (5.6) uδ (s) uδ (s) s3 + R s2 − g s − Rg L

X

LX

(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) = −x1 (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 ver con la siguiente función de transferencia 1 + Kc

NG (s) DG (s)

(5.7)

4 Véase, por ejemplo, [Oga93]. El lector puede referirse al final del capítulo donde se presentan otras referencias al respecto.

Criterio de estabilidad de Nyquist

122

S ÍNTESIS

DE COMPENSADORES CLÁSICOS

donde GX (s) = NG (s)/DG (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/seg2 ]; 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 convertidor Boost: s − Z b(U ) 1 GU (s) = −ω0 Z1 (U ) 2 (2.10*) s + ω1 s + ω02 (1 − U )2 donde µ = U ; Z1 (U ) =

bω1 b : Z2 (U ) = ω02 (1 − U )2 ω0 (1 − U )

En la Figura 5.5 se presenta el gráfico de Nyquist de la función de transferencia (2.10), tomando en cuenta los siguientes valores numéricos típicos de los parámetros: ω0 = 1,5811 · 103 ; ω1 = 1,6667 · 103 : b = 106,066; U = 0,8

(5.9)

5.3 E JEMPLOS

BASADOS EN LA REGLA DE

Z IEGLER -N ICHOLS

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”

123

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 ZieglerNichols presentado anteriormente, basado en la respuesta frecuencial, para el diseño de un controlador 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 ω): b Z1 (U ) ω1 j ω + ω02 (1

jω − GU (s) = −ω0 Z1 (U )

= −ω0 Z1 (U )

=

( j ω)2 +  jω − Z



b

1 (U )

− U )2

([ω02 (1 − U )2 − ω 2 ] − jωω1 )

[ω02 (1 − U )2 − ω 2 ]2 + (ωω1 )2 2 (ω0 (1 − U )2 − ω 2 ) Z b(U ) − ω 2 ω1 1 ω0 Z1 (U ) (ω02 (1 − U )2 − ω 2 )2 + (ωω1 )2 − j ω0 Z1 (U )

ωω1 b Z1 (U ) (ωω1 )2

ω(ω02 (1 − U )2 − ω 2 ) + (ω02 (1 − U )2 − ω 2 )2 +

En consecuencia, Im GU ( j ω) = −ω0 Z1 (U )

ωω1 b Z1 (U ) (ωω1 )2

ω(ω02 (1 − U )2 − ω 2 ) + (ω02 (1 − U )2 − ω 2 )2 +

= −ω0 ωZ1 (U )

(ω02 (1

2ω02 (1 − U )2 − ω 2 − 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 GU ( j ω) para el valor de frecuencia angular ω(U ) está dado por ω0 b |GU ( j ω(U ))| = Z1 (U ) = ω1 ω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 convertidor tipo “Boost” De esta última expresión se obtienen el periodo último P0 (U ) y la ganancia última K0 (U ): √ 2π ω0 (1 − U )2 2π P0 (U ) = = ; K0 (U ) = ω(U ) ω0 · (1 − U ) b De acuerdo a los valores de la tabla 5.2, las ganancias del controlador PI para el sistema linealizado están dadas por: K1 (U ) = 0,45

ω 2 (1 − U )3 ω0 (1 − U )2 : K2 (U ) = 0,54 0 √ b 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 ω 2 (1 − U )3 eδ ξ˙δ = 0,54 0 √ 2πb ω0 (1 − U )2 eδ µδ = ξδ + 0,45 b

(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 observadores, 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 proponer 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 estado 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, representada por la señal realimentada incremental K(U )ˆ xδ (s), y la entrada al compensador, representada por la salida incremental de la planta yδ (s), está definida por la siguiente relación, obtenida directamente de las ecuaciones anteriores: −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) = −Hyδ (U, s)yδ (s) − Huδ (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) − Hyδ (U, s)yδ (s) − Huδ (U, s)uδ (s) (5.13) Resolviendo para la transformada de la entrada incremental a la planta, o error incremental, tenemos: uδ (s) = −[1 + Huδ (U, s)]−1 [vδ (s) − Hyδ (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 permanece inalterada a excepción de la dependencia explícita del valor nominal 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 compensació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 entrada del control incremental en términos de sí misma y de la salida incremental, podemos ver, en primer lugar, que los denominadores en ambas funciones de transferencia deben ser idénticos. En segundo lugar, es

5.4 M ÉTODO

DEL CONTROLADOR - OBSERVADOR CLÁSICO

Figura 5.8: Interpretación del diseño en variables de estado

Figura 5.9: Representación del esquema controlador-observador clásico

127

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 funciones 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 presentaremos 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: GU (s) =

Polinomios coprimos

NG (U, s) ; DG (U, s)

Hyδ (Y, s) =

Ny (Y, s) ; C(s)

Huδ =

Nu (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 denominadores de las funciones de transferencia de los bloques compensadores sean de grado n, es fácil ver que podemos suponer, sin pérdida de generalidad, 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 sistema). 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 matriz del sistema autónomo que describen la dinámica del error incremental deben exhibir parte real negativa y, además, ser independientes del punto 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, supondremos que no existe simplificación posible entre los factores que conforman el numerador y el denominador de la función de transferencia de la planta linealizada. Es decir, que los polinomios NG (U, s) y DG (U, s) deben 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) GU (s) = FU (s) = vδ (s) 1 + Huδ (U, s) + Hyδ (Y, s)GU (s) C(s)NG (U, s) = C(s)DG (U, s) + NU (U, s)DG (U, s) + Ny (Y, s)NG (U, s) Daremos un argumento plausible que establece la posibilidad de escoger Nu (U, s) y Ny (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)DG (U, s) + NU (U, s)DG (U, s) + Ny (Y, s)NG (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 controlado estará dada entonces por: NG (U, s) yδ (s) = FU (s) = vδ (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 transferencia 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 bloques compensadores, es decir, los coeficientes de Ny (Y, s) y Nu (U, s). Se puede demostrar que si los polinomios NG (U, s) y DG (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 Euclides5 . 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 manipulador 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: #   "    1 0 x˙ 1δ x1δ q0 + uδ = 2 1 x˙ 2δ x2δ − NcJ 1 − Uc2 −B j J (5.15)     x1δ yδ = 1 0 x2δ La función de transferencia de este sistema linealizado se obtiene de inmediato como: yδ (s) NG (U, s) 1/J q GU (s) = = = (5.16) 2 uδ (s) DG (U, s) B 2 s + s+ c 1− U J

NJ

c2

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: Nu (U, s) nu1 (U ) = + nu2 (U ) C(s) s+α Ny (Y, s) ny1 (Y ) Hyδ (Y, s) = = + ny2 (Y ) C(s) s+α

Huδ (U, s) =

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.

Algoritmo de Euclides

130

S ÍNTESIS

DE COMPENSADORES CLÁSICOS

La función de transferencia deseada en lazo cerrado está dada por: 1/J NG (U, s) = 2 FU (s) = 2 D(s) s + 2ζωn s + ωn La ecuación fundamental (5.14) sobre la que basamos el diseño lineal resulta 2 (s + α)(s2 + 2ζωn s + ωn )≡   s 2 B U c 2 (s + α) s + s + 1− 2  J NJ c 

B c + (nu2 (U )s + [αnu2 (U ) + nu1 (U )]) s + s + J NJ 2

 U2  1− 2 c

s

1 (ny2 (U )s + [αny2 (Y ) + ny1 (Y )]) J Se igualan los coeficientes de las potencias iguales de s, de los polinomios que se encuentran 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: B nu2 (U ) = 0; nu1 (U ) = nu1 = 2ζωn − J   s    B B c U2  2  ny2 (U ) = J ωn + α − 2ζωn − − 1− 2 ; J J NJ c       B c B Y 2 2ζωn − − cos ; ny2 (Y ) = J ωn + α− J J NJ N  s      B  B c u2 ; ny1 (U ) = − 2ζωn − 1 − 2 + αJ α − J N c J       B B c Y ny1 (Y ) = − 2ζωn − cos + αJ α − J N N J +

El compensador clásico lineal resulta entonces: Huδ (U, s) =

2ζωn −

B J

s+α h    i  c Y cos N + αJ α − B 2ζωn − B J N J     i Hyδ (Y, s) = − h 2 + α− B J ωn 2ζωn − B − NcJ cos Yn J J

donde α es un número real positivo completamente arbitrario. Será útil considerar la siguiente realización de espacio de estado de los bloques compensadores: z˙uδ = −αzuδ + uδ   B yuδ = 2ζωn − zuδ J z˙yδ = −αzyδ + yδ (5.17)       c Y B B yyδ = 2ζωn − cos + αJ α − zyδ J N N J       B B c Y 2 + J ωn + α− 2ζωn − − cos yδ J J NJ N donde yuδ y yyδ representan las contribuciones de cada bloque a la conformación de la señal de entrada incremental. Las variables de estado zuδ y zyδ 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 regulador 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 = x2 x˙ 2 = g − x˙ 3 = −

c x23 m x1

R 1 x3 + u L L

y = x1 Siendo el punto de equilibrio parametrizado por la corriente de entrada constante U : U c U2 ; x2 (U ) = 0; x3 (U ) = X3 (U ) = u = U ; x1 (U ) = X1 (U ) = mg R2 R Linealizando el sistema alrededor del punto de equilibrio genérico se obtiene: x˙ 1δ = x2δ 2gR mg 2 R2 x1δ − x3δ cU 2 U R 1 x˙ 3δ = − x3δ + uδ L L yδ = x1δ x˙ 2δ =

y la función de transferencia del sistema linealizado, parametrizada en términos de la corriente de entrada U es:     GU (s) =

NG (U, s) =  DG (U, s) s2 −

2gR LU

 mg 2 R2 s+ cU 2

R L

 =−

2gR LU

s3 +

R 2 s L



mg 2 R2 s cU 2



mg 2 R3 cLU 2

La estructura del compensador lineal esta dada entonces por: nu2 (U )s + nu1 (U ) Nu (U, s) = Hu (U, s) = + nu3 (U ) C(s) s2 + α2 s + α1 nu3 (U )s2 + [α2 nu3 (U ) + nu2 (U )]s + [α1 nu3 (U ) + nu1 (U )] s2 + α2 s + α1 ny2 (Y )s + ny1 (Y ) Ny (Y, s) Hy (Y, s) = = + ny3 (Y ) C(s) s2 + α2 s + α1 =

ny3 (Y )s2 + [α2 ny3 (Y ) + ny2 (Y )]s + [α1 ny3 (Y ) + ny1 (Y )] s2 + α2 s + α1 Planteando la función de transferencia deseada en lazo cerrado:     =

2gR

2gR

NG (U, s) LU LU = =− 3 2) 2 )s + βω 2 D(U, s) (s + β)(s2 + 2ζωn s + ωn s + (2ζωn + β)s2 + (2ζωn β + ωn n Obteniendo la ecuación fundamental del diseño: 2 2 (s2 + α2 s + α1 )[s3 + (2ζωn + β)s2 + (2ζωn β + ωn )s + βωn ]   2 2 2 3 R mg R mg R ≡ (s2 + α2 s + α1 ) s3 + s2 − s− L cU 2 cLU 2   R mg 2 R2 mg 2 R3 + [nu3 (U )s2 + (α2 nu3 (U ) + nu2 (U ))s + (α1 nu3 (U ) + nu1 (U ))] s3 + s2 − s − L cU 2 cLU 2   2gR − [ny3 (Y )s2 + (α2 ny3 (Y ) + ny2 (Y ))s + (α1 ny3 (Y ) + ny1 (Y ))] LU FU (s) =

132

S ÍNTESIS

DE COMPENSADORES CLÁSICOS

La representación entrada-salida del compensador lineal está dada por: Nu (U, s) C(s)   h 2 ) + α (2ζω + β) − 2ζωn + β − R s + (2βζωn + ωn n 2 L

Hu (U, s) =

=

R L

 2ζωn + β −

R L



− α2 R + L

mg 2 R2 cU 2

s2 + α2 s + α1

Ny (U, s) Hy (U, s) = C(s)      R LU R ny2 (U )s + ny1 (U ) mgRL 2 ) − α + 2ζω + β − + (2βζω + ω − α n n 2 2 n s2 + α 2 s + α 1 2cU L L 2gR     2 LU R LU R2 U βωn R −1 + α1 − α2 + 2 − + (2ζωn + β) α2 − L 2gR L L 2g 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 + Da1 )x1 + u x˙ 2 = Da1 x1 − x2 − Da2 x22 y = x1 + x2 Donde x1 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 x2 representa la concentracin´ normalizada CQ /Cpo de la especie 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 NP F , y la concentración deseada CP O . Es decir, u = NP F /(F CP O ) donde F es la rata de alimentación volumétrica en m3 s−1 . Las constantes Da1 y Da2 se definien, respectivamente como: k1 V /F y k2 V CP O /F siendo V el volumen del reactor, en m−3 , y k1 , k2 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 neutra. 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 ] reflejando 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: s " # U 1 4Da1 Da2 U x1 (U ) = ; x2 (U ) = −1 + 1 + 1 + Da1 2Da2 1 + Da1 s " # U 1 4Da1 Da2 U Y (U ) = + −1 + 1 + 1 + Da1 2Da2 1 + Da1 La linealización del sistema alrededor de este punto de equilibrio resulta ser: x˙ 1δ = −(1 + Da1 )x1δ + uδ s 4Da1 Da2 U x˙ 2δ = Da1 x1δ − 1 + x2δ 1 + Da1 yδ = x1δ + x2δ La función de transferencia del sistema linealizado se obtiene directamente de las ecuaciones

i

5.5 A JUSTE

133

DE LAS GANANCIAS DE UN COMPENSADOR LINEAL

diferenciales lineales anteriores como: q a1 Da2 U s + Da1 + 1 + 4D1+D NG (U, s) yδ (s) a1 q = GU (s) = =   uδ (s) DG (U, s) a1 Da2 U (s + 1 + Da1 ) s + 1 + 4D1+D a1 q a1 Da2 U s + Da1 + 1 + 4D1+D a1 q q = i h a1 Da2 U a1 Da2 U s + (1 + Da1 ) 1 + 4D1+D s2 + 1 + Da1 + 1 + 4D1+D a1

a1

Las funciones de transferencia linealizadas de los bloques compensadores adoptan la forma siguiente: yyδ (s) nu1 (U ) ny1 (U ) yuδ (s) = Hu (U, s) = + nu2 (U ); = Hy (U, s) = + ny2 (U ) uδ (s) s+α yδ (s) s+α De otra forma equivalente, expresamos estas funciones de transferencia,como: yuδ (s) Nu (U, s) nu2 (U )s + αnu2 (U ) + nu1 (U ) = Hu (U, s) = = uδ (s) C(s) s+α yyδ (s) Ny (U, s) ny2 (U )s + αny2 (U ) + ny1 (U ) = Hy (U, s) = = yδ (s) C(s) 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 ( " # ) 4Da1 Da2 U 4Da1 Da2 U 2 (s + α) s + 1 + Da1 + 1 + s + (1 + Da1 ) 1 + + 1 + Da1 1 + Da1 s s ( " # ) 4Da1 Da2 U 4Da1 Da2 U 2 [nu2 (U )s + αnu2 (U ) + nu1 (U )] s + 1 + Da1 + 1 + s + (1 + Da1 ) 1 + 1 + Da1 1 + Da1 s # " 4Da1 Da2 U + [ny2 (U )s + αny2 (U ) + ny1 (U )] s + Da1 + 1 + 1 + Da1 2 ≡ (s + α)(s2 + 2ζωn + ω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 compensador 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 satisfactoriamente 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ñ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

Reajuste de las ganancias del controlador para el sistema no lineal

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 recalibración o reajuste al momento de ser efectivamente implementados. Matlab 5.1: Red de compensación en adelanto para un sistema de suspensió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, q cg 2 x1δ (s) yδ (s) L mX = = (5.6*) GX (s) = uδ (s) uδ (s) s3 + R s2 − g s − Rg L

Función de transferencia propia

Gc (s) = Compensador por adelanto

X

LX

donde yδ (t) = −x1 (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 s1 = −100, s2 = −14 y s3 = 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 GX (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 p se intuye que el posible compensador debería poseer un cero z1 a la derecha del polo s = − g/X. Este cero debe ser tal que Re (z1 ) < 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 (si )lazo cerrado < 0). Para que el compensador sea efectivamente realizable debe aparecer, además, un polo p1 tal que la función de tranferencia asociada sea al menos propia, tal que el grado del denominador sea igual o mayor al grado del numerador. Adicionalmente, este polo no debe afectar sustancialmente la dinámica en lazo cerrado generada por el cero z1 , esto es, el polo p1 debe ser ubicado satisfaciendo la restricción p1 < z1 (en la práctica se sugiere que p1 este colocado entre 5 a 15 veces el valor de z1 ). El compensador resultante está dado por la siguiente expresión: uδ (s) s + z1 = Kc eδ (s) s + p1

(5.18)

el cual, dadas las consideraciones anteriores, corresponde a un compensador en adelanto. El sistema en lazo cerrado resultante dado por Gc (s) en serie con GX (s), se muestra en la Figura 5.11.

Figura 5.10: Esquema básico de compensación

5.5 A JUSTE

135

DE LAS GANANCIAS DE UN COMPENSADOR LINEAL

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 z1 = −10 y p1 = −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)GX (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 z1 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 > z1 , 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 suficientemente 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 adelante. Como recordaremos, para realizar las simulaciones de los sistemas estudiados siempre llevamos 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 forma. Una realización o programación de esta función de transferencia se puede obtener mediante los siguientes pasos: Escriba Gc (s) en la forma de una fracción estrictamente propia más un término constante: uδ (s) s + z1 z1 − p1 = Kc = Kc + Kc eδ (s) s + p1 s + p1

(5.19)

u ˆδ (s) z1 − p1 = Kc eδ (s) s + p1

(5.20)

Haciendo

se puede deducir, a partir de (5.19), la expresión para uδ (t): uδ (t) = Kc eδ (t) + u ˆδ (t)

(5.21)

De (5.20) resulta la siguiente representación dinámica para u ˆδ (t): u ˆ˙ δ (t) = Kc (z1 − p1 )eδ (t) − p1 u ˆδ (t)

(5.22)

Programación o realización de una función de transferencia

136

S ÍNTESIS

DE COMPENSADORES CLÁSICOS

Figura 5.12: Lugar de las raíces para el sistema compensado

5.5 A JUSTE

DE LAS GANANCIAS DE UN COMPENSADOR LINEAL

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 Kc = 29,72

Figura 5.14: Diagrama de Nyquist del sistema compensado para Kc = 10. El sistema es inestable en lazo cerrado

137

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) = Kc eδ (t) + u ˆδ (t) u ˆ˙ δ (t) = Kc (z1 − p1 )eδ (t) − p1 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. Emplearemos, 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érica que la ode23. Los programas desarrollados en Matlab (R) se muestran en los Listados 5.3 y 5.4. La respuesta 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 ventana 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 x1 (0) = 0,06). Supongamos que nos alejamos un poco más. Para x1 (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 A JUSTE

DE LAS GANANCIAS DE UN COMPENSADOR LINEAL

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

139

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 Kc = 29,72 para x1 (0) = 0,07

5.5 A JUSTE

DE LAS GANANCIAS DE UN COMPENSADOR LINEAL

Figura 5.17: Simulación para Kc = 20 para x1 (0) = 0,07

141

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. t

Entonación de

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.

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 equilibrio. 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 = x2 σα u x3 x˙ 3 = −αu x˙ 2 = g −

(5.23)

y = x1 − K donde x1 es la posición o altura medida sobre el eje vertical, orientada positivamente hacia abajo, es decir, x1 < 0 para alturas reales sobre la superficie, x2 es la velocidad de descenso y x3 representa la masa combinada del vehículo y el combustible.

5.6 E JERCICIOS

143

PROPUESTOS

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 x1 al valor x1 = 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: x1 = arbitrario = X; x2 = 0; x3 = arbitrario = X3 6= 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 estrategia 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 complementamente. 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): manipulador 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 simulaciones 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 E JERCICIOS

PROPUESTOS

Figura 5.19: Las figuras en Matlab (R)

145

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 m2 ]; 15π [rad]. c = 1 [kg m2 /seg2 ]; N = 10; X = 180 (?) 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: F − b (c0 − x1 ) − ax1 e x2 V aL F h − b x1 e x2 − (x2 − u) x˙ 2 = (T0 − x2 ) + V Cp V Cp x˙ 1 =

(5.25)

y = x2 − T donde la variable de estado x1 representa la concentración del producto y x2 representa la temperatura 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], c0 es la concentración del flujo de entrada [lb/lb], T0 es la temperatura 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 x1 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: b

c0

x2 = T, x1 = X1 (T ) = 1+

v F

b

ae− T

, u = U (T ) = T −

Cp F aLV c0 e− T (T0 − T ) h h 1 + V ae− Tb F

Algunos valores típicos de los parámetros antes mencionados son: F = 2000 [lb/hr]; c0 = 0,5 [lb/lb]; V = 2400 [lb]; a = 7,08 × 1010 [hr−1 ]; b = 15080 [◦ R] T0 = 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 comportamiento 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. Incluya compensadores PI y PID obtenidos por el método de Ziegler-Nichols de respuesta 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 reguladores obtenidos. (??)

5.7 R ESUMEN

DEL CAPÍTULO Y

L ECTURAS

147

ADICIONALES

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 sistema 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 sentido general, la significancia de la frase “mejores resultados” solo depende del diseñador! Nuestro enfoque hasta ahora no ha incluido, por ejemplo, índices de desempeñ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 delicados 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 condiciones iniciales es la determinación de la región de atracción. Definiremos informalmente 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 trayectorias 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 referencia 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 sistemas 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 diseñ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 conceptos desarrollados en el espacio de estados para el caso no lineal al caso

Región de atracción

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 incrementales, 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 realimentado, basado en desarrollos modernos fundamentados en factorizaciones coprimas y en el uso de la ecuación diofantina o de Bezout, a partir del algoritmo de Euclides, se puede conseguir en: J.C. Doyle, B.A. Francis and A.R. Tannenbaum, Feedback Control Theory, 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 System Synthesis, MIT Press, Cambridge, MA, 1987, [Vid87]. Para avanzar en profundidad en el tema. Verdaderamente un clásico, de lectura relativamente más dificil que el anterior, pero con innumerables resultados y extensiones al casom multivariable.

Parte II Control No Lineal de Sistemas No Lineales: Linealización Extendida

149

150

Linealización extendida y Linealización exacta

Familia de modelos lineales parametrizados

Estrategias de control no lineales

C ONTROL N O L INEAL

DE

S ISTEMAS N O L INEALES : L INEALIZACIÓN E XTENDIDA

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 inconvenientes, se han propuesto diferentes extensiones del método, estas extensiones incluyen aspectos teóricos fundamentales relacionados con diversas áreas de la matemática, tales como la teoría de operadores, el análisis funcional, el álgebra y la geometría diferencial, por ejemplo. Básicamente, emplearemos dos métodos para ilustrar el diseño de controladores no lineales para sistemas no lineales: el método de la linealizació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 trabajos 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 linealización aproximada, ya expuesta en la primera parte. En esta presentación, la linealización extendida constituye un “paso intermedio” (al nivel de complejidad de estudio y de herramientas matemáticas involucradas) entre la linealización aproximada y la exacta. Este método está estrechamente vinculado al problema de “asignación de ganancias” (gain scheduling en inglé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, parametrizada 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 tiempo, 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 controlador 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. Esta parte está organizada de la siguiente manera. En el capítulo 6 veremos 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 lineales 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 diseñ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. Por un lado, su efectividad se limita a una región “pequeña” del espacio de estados de tal forma que, a partir de condiciones iniciales alejadas 151

Inconvenientes de la linealización aproximada

152

R EALIMENTACIÓ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 condiciones de funcionamiento, esto es, pueden presentar comportamientos en diferentes regiones de operación asociados con diferentes puntos de equilibrio. 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 original 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 Ki 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 valores K de acuerdo al punto actual de operación. No podemos olvidar, además, que el sistema linealizado debe ser estabilizable (para que el diseño del controlador sea factible) y detectable (necesario para el diseño del observador), aunque, como veremos en capítulos posteriores, no permite asegurar que estas condiciones no son necesarias para el caso del sistema no lineal (Ver Parte III, sobre la Linealización Exacta).

Esquema de programación de ganancias (gain scheduling)

Esquemas de programación de ganancias o gain scheduling. El esquema 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 ganancias, ver, por ejemplo, [RS00]. Nosotros consideraremos como tal, el siguiente procedimento. Conociendo las diferentes condiciones de operación del sistema no lineal, 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 adecuado cuando el sistema no lineal opera alrededor de un punto de equilibrio particular. Estudiaremos a continuación un método de naturaleza no lineal, equivalente en cierta medida al esquema de programación de ganancias, cf. [Rug91, RS00], llamado método de linealización extendida.

6.1 I NTRODUCCIÓN

153

En contraposición a los mecanismos empíricos existentes en la práctica 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 aproximada. El método de la linealización extendida. Este método utiliza la linealización aproximada tradicional como herramienta fundamental. El modelo utilizado para generar el diseño del controlador es un modelo obtenido sobre 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 procede a obtener el modelo parametrizado de carácter lineal para un punto de operación genérico (X(U ), Y (U ), U ) de naturaleza arbitraria1 . Esta parametrización se calcula bajo la suposición de que existe un continuum 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 referencia (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 en primera aproximación, respecto a puntos de operación deseados. Esta familia de modelos ofrece una descripción del comportamiento de las perturbaciones de estado-entrada (o salida-entrada) explícitamente parametrizada 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 extendida propone inicialmente obtener un controlador lineal por realimentación del vector de estado, o una combinación de observador-controlador o, incluso, un compensador clásico obtenido por métodos inherentes a la descripció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.

Punto de operación genérico

Modelos lineales parametrizados

Basado en el diseño del controlador lineal

154

R EALIMENTACIÓN

NO LINEAL DEL VECTOR DE ESTADO

Proponer un controlador de carácter no lineal cuya linealización alrededor del punto de operación coincide con el controlador lineal diseñado para la familia de modelos lineales parametrizados 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 linealizadas2 , se logra una “programación automática de las ganancias” del compensador, tanto 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étodo 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 salida); el caso de controladores PID constituye el ejemplo clásico y fundamentalmente interesante dentro de las posibilidades del método. Por otro lado, para sistemas de dimensión considerable, el método de la linealización extendida 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 parametrizados

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 (·, ·) : Rn × R 7→ 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: ˙ ) = f (X(U ), U ) = 0 X(U

(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 necesariamente 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 R EALIMENTACIÓN

NO LINEAL BASADA EN ASIGNACIÓN DE POLOS INVARIANTES EN FAMILIAS DE MODELOS

155

PARAMETRIZADOS

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 constante 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 matriz jacobiana de (6.3), respecto de X(U ), es invertible en el punto de operación. Por lo tanto, esta condición está dada por la invertibilidad de ! ∂f (x, −k(x)) ∂f (x, u) ∂k(x) ∂f (x, u) = − + ∂x ∂x X(U ),U ∂u X(U ),U ∂x X(U ),U Esta última expresión se puede interpretar como el hecho de que la linealización del sistema en lazo cerrado, alrededor de su punto de equilibrio, no debe tener autovalores en el origen. Es suficiente, entonces, que la linealización del sistema en lazo cerrado tenga sus autovalores en el semiplano izquierdo. Para ello, la ley de control del sistema linealizado ! ∂k(x) uδ = − xδ ∂x X(U ),U

debe ser capaz de colocar los autovalores del sistema linealizado ∂f (x, u) ∂f (x, u) x˙ δ = x + uδ δ ∂x X(U ),U ∂u X(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 ): ∂f (x, u) ∂f (x, u) A(U ) = ; B(U ) = ; ∂x X(U ),U ∂u X(U ),U ∂k(x) K(U ) = ∂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

El sistema linealizado NO debe tener autovalores en el origen

156

R EALIMENTACIÓN

NO LINEAL DEL VECTOR DE ESTADO

vecindad del punto de equilibrio que se desea mantener es, por así decirlo, 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 )]

Los autovalores del sistema en lazo cerrado deben ser independientes de la parametrización

pueden ser pre-especificados de tal manera que sean independientes del punto de operación U . Dichos autovalores, sin embargo, no pueden ser cero, 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. Entonces, (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 aij (resp. bij ) 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 lineal 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 expuesta en la sección 3.4 (página 75), o mediante la fórmula de Ackermann. Ver, por ejemplo, [Kai80, FPEN94].

6.3. Existencia del control u = −k(x)

Controlador no lineal basado en linealización extendida

Nuestra discusión deriva en el siguiente teorema de existencia de la funció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(·) : Rn → R, tal que los autovalores 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 6= 0. Esta cualidad será útil en el segundo paso de la prueba, para poder establecer una función k(·) definida 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 embargo hacer todos los autovalores de    ∂f (x, u) ∂f ∂k ∂f = + − ∂x ∂x ∂u ∂x

6.3 C ONTROLADOR

157

NO LINEAL BASADO EN LINEALIZACIÓN EXTENDIDA

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: ∂X(U ) ∂f ∂ ∂f + =0 f (X(U ), U ) = ∂U ∂x X(U ),U ∂U U ∂u X(U ),U Por lo tanto, de la invertibilidad de A(U ), resulta: " #−1 ∂f ∂f dX(U ) =− 6= 0 dU U ∂x X(U ),U ∂u X(U ),U Por conveniencia, supondremos que la primera componente X1 del vector X satisface dX1 /dU 6= 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 X1−1 (x1 ) = U . La ganancia no lineal a buscar debe satisfacer: ∂k = K(U ) = [K1 (U ), . . . , Kn (U )] (6.4) ∂x X(U ) 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: Z

X1−1 (x1 )

k(x) = U

dX(σ) K(σ) dσ dσ   n X + Kj [X1−1 (x1 )](xj − Xj (X1−1 (x1 ))) − X1−1 (x1 ) (6.6) j=2

donde el subíndice j indica la j-ésima componente. En efecto, diferenciando k(x) con respecto a xi , i = 2, 3, . . . , n, y evaluando en X(U ) se tiene: ∂k (X(U )) = Ki (X1−1 (x1 (U ))) = Ki (U ); i = 1, . . . , n ∂xi Procediendo en forma similar con respecto a x1 , obtenemos primeramente por derivación directa de la expresión (6.6): n X ∂k dXj (σ) = Kj (σ) ∂x1 dσ j=1 −

n X j=2

X1−1 (x1 )

dX1−1 (x1 ) dx1

Kj (X1−1 (x1 ))

dXj (X1−1 (x1 )) dX1−1 (x1 ) dX1−1 (x1 ) − dx1 dx1 dX1−1 (x1 )

En la demostración se utilizan herramientas tales como el teorema de la función implícita

158

R EALIMENTACIÓN

NO LINEAL DEL VECTOR DE ESTADO

Evaluando esta expresión en el punto X1−1 (x1 ): n X dXj (X1−1 (x1 )) dX1−1 (x1 ) ∂k −1 = K (X (x )) j 1 1 ∂x1 X −1 (x1 ) j=1 dx1 dX1−1 (x1 ) 1



n X

Kj (X1−1 (x1 ))

j=2

= K1 (X1−1 (x1 ))

dXj (X1−1 (x1 )) dX1−1 (x1 ) dX1−1 (x1 ) − dx1 dx1 dX1−1 (x1 )

dX1 (X1−1 (x1 )) dX1−1 (x1 ) dX1−1 (x1 ) − dx1 dx1 dX1−1 (x1 )

= K1 (X1−1 (x1 )) −

dX1−1 (x1 ) dx1

Particularizando la última expresión respecto a U = X1−1 (x1 ) se tiene: ∂k (X(U )) = K1 (U ) ∂x1 Finalmente, se puede constatar fácilmente que la expresión (6.6), satisface además la condición de contorno impuesta en (6.5). Con lo cual terminamos la demostración. Como hemos mencionado, el teorema anterior solo demuestra la existencia, 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 linealización extendida, aquella que produce un efecto “linealizante” sobre el sistema en lazo cerrado. Debido a que la fórmula general (6.6) puede conducir a expresiones muy complicadas, nos concentraremos en resolver las ecuaciones (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 indistintamente 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 E JEMPLOS

159

DE DISEÑO

cuyo ángulo de orientación se mide respecto de un eje oblicuo utilizando el parámetro de CayleyRodrigues. El modelo de este sistema está dado por: x˙ 1 = 0,5(1 + x21 )x2 1 u J El punto de equilibrio del sistema está dado por:

(1.10*)

x˙ 2 =

u = U = 0; x2 = 0; x1 = X

(6.7)

(Como recordaremos, solo es posible hacer la parametrización con respecto a la orientación angular X de equilibrio.) Linealizando el sistema alrededor del punto de equilibrio tenemos:        0 x1δ x˙ 1δ 0 0,5(1 + X 2 ) + = uδ (6.8) 1 x2δ x˙ 2δ 0 0 J Propongamos la siguiente ley de control lineal, cuyas ganancias dependen del valor constatnte X del punto de equilibrio, uδ = −K1 (X)x1δ − K2 (X)x2δ (6.9) El sistema (6.8) en lazo cerrado se transforma en:      0 0,5(1 + X 2 ) x˙ 1δ x1δ = (6.10) K (x) K (x) x˙ 2δ x2δ − 1J − 2J El polinomio característico en lazo cerrado del sistema linealizado se obtiene inmediatamente de (6.10): K2 (X) 0,5(1 + X 2 )K1 (X) p(s) = s2 + s+ J J Si deseamos imponer al sistema controlado un comportamiento independiente del punto de operación buscamos ganancias K1 (X), K2 (X) que hagan al polinomio característico independiente de X. En efecto, sea pd (s) un polinomio característico deseable e independiente del punto de operación: pd (s) = (s + a1 )(s + a2 ) = s2 + (al + a2 )s + a1 a2 donde −a1 y −a2 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 pd (s) se obtiene:

Diseño del control para el sistema linealizado

K2 (X) = K2 = J(a1 + a2 ) (6.11) Ja1 a2 1 + X2 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): Ja1 a2 uδ = − x1δ − J(a1 + a2 )x2δ (6.12) 1 + X2 El método de la linealización extendida se basa en contestar acertadamente la siguiente pregunta: ¿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 Ja1 a2 = (6.13) ∂x1 x1 =X;x2 =0 1 + X2 ∂k = J(a1 + a2 ) (6.14) ∂x2 x1 =X;x2 =0 K1 (X) =

Principio de la linealización extendida

160

R EALIMENTACIÓN

X - tan−1 (·)

- j + 6−

- Ja1 a2

- J(a1 + a2 )

NO LINEAL DEL VECTOR DE ESTADO

x1 2 u x ˙ = 0,5(1 + x )x ? 1 2 − j- 1 x2 1 x˙ 2 = J u −6

tan−1 (·) 

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: Z x2 k(x) = J(a1 + a2 )dσ + µ(x1 ) = J(a1 + a2 )x2 + µ(x1 ) 0

donde µ(x1 ) es una función arbitraria de x1 que debemos determinar. Usando la expresión obtenida en (6.14) en derivadas parciales, se tiene: d Ja1 a2 µ(x1 ) = dx1 1 + X2 de donde inmediatamente surge como posible solución general: Z x1 Ja1 a2 dσ = Ja1 a2 [tan−1 (x1 ) − tan−1 (X)] µ(x1 ) = 2 X 1+σ 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(a1 + a2 )x2 − Ja1 a2 [tan−1 (x1 ) − 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 correspondientes 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 Um´ax = 5 ·N-m. El efecto de tal limitación o saturació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 trazos - - - (ver Figura 6.3). Las modificaciones realizadas a los programas (ejext1b.m y sejext1b.m)

6.4 E JEMPLOS

DE DISEÑO

Figura 6.2: Comportamiento del satélite mono-axial controlado mediante realimentación no lineal del vector de estados basada en linealización extendida

161

162

R EALIMENTACIÓN

NO LINEAL DEL VECTOR DE ESTADO

Figura 6.3: Comportamiento del satélite mono-axial controlado por linealización extendida, limitando la señal de control mediante Um´ax —-; sin limitar - - -

X - tan−1 (·)

ul´ım x1 Um´ax ?u x˙ 1 = 0,5(1 + x21 )x2 −j x2 x˙ 2 = J1 u −6 -J(a1 + a2 ) −Um´ax

- j- Ja1 a2 + 6−

tan−1 (·) 

Figura 6.4: Esquema de control no lineal obtenido para el satélite mono-axial con ley de control limitada por el valor Um´ax

6.4 E JEMPLOS

163

DE DISEÑO

se muestran en los Listados 6.4 y 6.5 (al final del capítulo, páginas 176–177). El diagrama de bloques 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. t

Ejemplo 6.1: [BR86] Balance del péndulo invertido sobre un móvil: aplicació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 = x2 x˙ 2 =

g sen(x1 ) − 0,5a mLx22 sen(2x1 ) − a cos(x1 )u 4L/3 − amL cos2 (x1 )

(4.47*)

El punto de equilibrio genérico de este sistema están dados por:   ) tan−1 ( aU g X(U ) = 0 La linealización del sistema alrededor del punto de equilibrio resulta " #   0 0 1 x˙δ = xδ + uδ ah(U )g h(U ) 0 − a2 U 2 +g2 donde: h(U ) =

p a2 U 2 + g 2 4L 3



amLg 2 (a2 U 2 +g 2 )

Utilizando la fórmula de Bass-Gura, página 75, obtenemos el siguiente controlador lineal: a2 U 2 + g 2 ∂k = K(U ) = − [e1 e2 + h(U ) − (e1 + e2 )] ∂x X(U ) agh(U ) donde e1 y e2 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): Z X −1 (x1 ) 1 dX(U ) dU + K2 [X1−1 (x1 )](x2 − x2 (X1−1 (x1 ))) − X1−1 (x1 ) k(x) = K(U ) dU 0 Puesto que U = X1−1 (x1 ) =

g a

tan(x1 ), se obtiene

g 4Le1 e2 u = −k(x1 , x2 ) = tan(x1 ) + log[sec(x1 ) + tan(x1 )] + e1 e2 mL sen(x1 ) a 3a   (e1 + e2 ) 4L − x2 sec(x1 ) − amL cos(x1 ) a 3

(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 = x2 x˙ 2 = −

x  B c 1 1 x2 − sen + u J J N J

(1.21*)

T La linealización del sistema   alrededor del punto de equilibrio (1.23), x(U ) = [x1 (U ), x2 (U )] =

[X(U ), 0]T = [N sen−1 

x˙ 1δ x˙ 2δ

U c

, 0]T , u = U , resulta: " #     0 1 0 x1δ q = + uδ 1 c U2 B x2δ − N J 1 − c2 −J J

164

R EALIMENTACIÓ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δ = −K1 (U )x1δ − K2 (U )x2δ Sistema en lazo cerrado:  "  0 x˙ 1δ q = c U2 x˙ 2δ − N J 1 − c2 −

1 1 K (U ) J 1

−B − J

#

1 K (U ) J 2

x1δ x2δ



Polinomio característico del sistema:  s    2 B c K (U ) 1 U 2 p(s) = s2 + + s+  1 − 2 + K1 (U ) J J J N c Se igualan los coeficientes de este polinomio a los de un polinomio deseado de la forma: 2 pd (s) = s2 + 2ζωn s + ωn

Ganancias del controlador lineal: 2 K1 (U ) = Jωn −

c N

s 1−

U2 c2

K2 (U ) = 2Jζωn − B Realimentación lineal por asignación de polos:   s c U2  2  uδ = − Jωn − x1δ − (2Jζωn − B)x2δ 1− 2 N c

(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 s ∂k(x) c U2 2 = Jωn − 1− 2 ∂x1 [X(U ),0]T ,U N c (6.18) ∂k(x) = 2Jζωn − B ∂x T 2

[X(U ),0] ,U

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)x2 + µ(x1 ) donde µ(x1 ) es una función arbitraria  de x1 . Recordemos que U = c sen

X N

. Procedemos a determinar la función µ(x1 ), utilizando la

primera de las relaciones de (6.18), de tal forma que se obtiene: r x  d c 1 2 µ(x1 ) = Jωn − 1 − sen2 dx1 N N x  c 1 2 = Jωn − cos N N Por lo tanto, resulta x  1 2 ˜ µ(x1 ) = Jωn x1 − c sen +K N ˜ es una constante arbitraria la cual debemos determinar en base a la condición de condonde K torno (6.5). Es decir, la expresión x  1 2 ˜ − (2Jζωn − B)x2 u = −k(x) = −Jωn x1 + c sen −K N

6.4 E JEMPLOS

165

DE DISEÑO

debe satisfacer (6.5) a la luz del punto de equilibrio genérico (1.23). De tal condición se obtiene entonces:   ˜ = −Jω 2 N sen−1 U K n c Así, el controlador no lineal basado en linealización extendida es    x  U 1 2 + c sen − (2Jζωn − B)x2 x1 − N sen−1 u = −k(x) = −Jωn c N

(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 = x2 2 x˙ 2 = −ωn



x1 − N sen−1



U c

 − 2ζωn x2

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 = x2 2 x˙ 2 = −ωn (x1 − X) − 2ζωn x2

A continuación compararemos el comportamiento del sistema en lazo cerrado, mediante simulaciones 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:   s c U2  2  u = U − Jωn − 1− 2 (x1 − X) − (2Jζωn − B)x2 N c      c X X 2 − Jωn − cos (x1 − X) − (2Jζωn − B)x2 = c sen N N N (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 condiciones 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. t

166

R EALIMENTACIÓ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 E JEMPLOS

DE DISEÑO

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 = x2 (3.13*) 2iL x˙ 2 = −k(x1 − L0 ) + u a − x1 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), k(b − L0 )(a − b) ; X1 (b) = b; X2 (b) = 0 u = U (b) = 2iL Linealizando el sistema alrededor de este punto de equilibrio se tiene: #   "    0 0 x˙ 1δ x1δ i 1 h = + uδ 2iL 2iL x˙ 2δ x2δ − k − (a−b)2 U (b) 0 a−b donde x1δ = x1 − b; x2δ = x2 ; uδ = u − U (b) Este modelo se puede escribir también como: #      " 0 0 x1δ x˙ 1δ i 1 h + uδ = 2iL 0 x˙ 2δ x2δ 0 − k a−2b+L a−b a−b La controlabilidad del sistema linealizado se establece inmediatamente a partir de la evaluación de la matriz C: " #   2iL 0 2iL 2 a−b 6= 0 C= =⇒ det C = − 2iL 0 a−b a−b

167

168

R EALIMENTACIÓN

NO LINEAL DEL VECTOR DE ESTADO

Proponiendo un controlador lineal de la forma uδ = −K1 (b)x1δ − K2 (b)x2δ , el sistema en lazo cerrado resulta: #   "  0i 1 x1δ x˙ 1δ h = a−2b+L0 2iL 2iL x2δ x˙ 2δ − k a−b − a−b k1 (b) − a−b k2 (b) El polinomio característico del sistema en lazo cerrado es entonces:   2iL a − 2b + L0 2iL p(s) = s2 + K2 (b) s+ k + K1 (b) a−b a−b a−b Si deseamos un comportamiento independiente del punto de equilibrio debemos buscar ganancias K1 (b) y K2 (b) tales que el polinomio característico posea raíces (o coeficientes) independientes de b. En efecto, sean −a1 y −a2 dos raíces convenientes del plano complejo, debe cumplirse para el sistema en lazo cerrado que:   a − 2b + L0 2iL 2iL s+ k + K1 (b) p(s) = s2 + K2 (b) a−b a−b a−b = s2 + (a1 + a2 )s + a1 a2 De donde:   a − 2b + L0 a−b a1 a2 − k 2iL a−b a1 + a2 K2 (b) = (a − b) 2iL con lo que uδ queda perfectamente definida:   a−b a − 2b + L0 a1 + a2 uδ = − a1 a2 − k x1δ − (a − b)x2δ 2iL a−b 2iL K1 (b) =

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 = −κ(x1 , x2 ) 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:   ∂κ a−b a − 2b + L0 = a a − k 1 2 ∂x1 [x1 =b,x2 =0] 2iL a−b (6.20) a1 + a2 ∂κ = (a − b) ∂x2 [x1 =b,x2 =0] 2iL 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 − L0 ) +

2iL (−κ(b, 0)) = 0 a−b

y, por lo tanto, k(b − L0 )(a − b) = −U (b) 2iL Deshaciendo la sustitución x1 = b en los segundos miembros de (6.20), obtenemos las siguientes ecuaciones en derivadas parciales:   ∂κ a − x1 a − 2x1 + L0 = a1 a2 − k ∂x1 2iL a − x1 ∂κ a1 + a2 = (a − x1 ) ∂x2 2iL κ(b, 0) = −

6.5 E JERCICIOS

169

PROPUESTOS

Integrando la primera ecuación, obtenemos: Z Z x1 a1 a2 x1 k κ(x1 , x2 ) = (a − ζ1 )dζ1 − [(a + L0 ) − 2ζ1 ]dζ1 2iL b 2iL b k(a − b)(b − L0 ) + Ψ(x2 ) − 2iL a1 a2 k k = [(a − x1 )2 − (a − b)2 ] − (a + L0 )(x1 − b) + (x2 − b2 ) 4iL 2iL 2iL 1 k(a − b)(b − L0 ) − + Ψ(x2 ) 2iL donde Ψ(x2 ) es una función arbitraria de x2 . Procedemos a determinar la función Ψ(x2 ) gracias a la segunda ecuación diferencial parcial de (6.20): d a1 + a2 Ψ(x2 ) = (a − x1 ) dx2 2iL De donde, integrando, resulta Ψ(x2 ) =

a1 + a2 (a − x1 )x2 + M 2iL

donde M es una constante arbitraria que determinamos a partir de la condición de contorno para κ(x1 , x2 ). Luego de algunas simplificaciones, el controlador no lineal resulta: u = −κ(x1 , x2 ) =

a − x1 [−a1 a2 (x1 − b) + k(x1 − L0 ) − (a1 + a2 )x2 ] 2iL

(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 = x2 x˙ 2 = −a1 a2 (x1 − b) − (a1 + a2 )x2 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”, Modelo 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 parametrizados, utilizando la técnica de linealización extendida. (?) Ejercicio 6.2: Satélite mono-axial: comparación de la linealización aproximada y extendida en Matlab (R) El lector puede comparar mediante simulaciones numéricas el funcionamiento 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 programació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(a1 a2 ) x1δ − J(a1 + a2 )x2δ 1 + X2

170

R EALIMENTACIÓN

NO LINEAL DEL VECTOR DE ESTADO

con x1δ = x1 − X; x2δ = 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: (3amL − 4L)(e1 + e2 ) 3amLe1 e2 − 4Le1 e2 − 3g x1 − x2 3a 3a 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 ambos 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. u=

Variable m M 2L g a = (m + M )−1

Descripción masa del péndulo masa del carro Longitud del péndulo aceleración de gravedad constante auxiliar

Valor 2.0 Kgs 8.0 Kgs 1.0 m 9.8 m.s−2 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 nonlinear 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 Taylor 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 (linealizado, 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 + Da1 )x1 + Da2 x22 x˙ 2 = Da1 x1 − x1 − (Da2 + Da3 )x22 + u x˙ 3 = Da3 x22 − x3 y = x3 − XC

(6.22)

6.5 E JERCICIOS

171

PROPUESTOS

donde x1 representa la concentración normalizada (adimensional) de la especie A en el reactor, x2 representa la concentración normalizada (adimensional) de la especie B en el reactor y x3 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. Dai son constantes de reacción de primer orden. XC 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: s XC Da3 + Da2 XC ; x2 = x2 (XC ) = x3 = arbitrario = XC ; x1 = x1 (XC ) = Da3 (1 + Da1 ) Da3 u = u(XC ) =

(2Da2 + Da3 + Da1 Da3 )XC + Da3 (1 + Da1 ) Da3 (1 + Da1 )

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), obtenga 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 controladores 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, basado 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: dx1 dτ dx2 dτ dx3 dτ y √



= −(1 − µ)ω1 x2 + b = (1 − µ)ω1 x1 − µ ω2 x3

(6.23)

= −ω4 x3 + µ ω2 x2 = x3

√ donde x1 = I1 L1 , x2 = V2 C2 y x3 = I3 L3 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/ L1 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/ L1 C2 , la f.n.o. del circuito LC de salida ω2 = 1/ L3 C2 y la constante de tiempo del circuito LR de salida ω4 = R/L3 . El valor µ denota la relación de trabajo. M

172

R EALIMENTACIÓ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 lineal. En este texto hemos considerado útil presentar el método de la linealización extendida por diversas razones. En primer término, se basa directamente en la linealización aproximada, lo cual permite una utilización directa 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ítico que tiene cierto parecido con los esquemas empíricos de asignación de ganancias (gain scheduling). La idea central de este método es relativamente simple, sencilla de transmitir y asimilar: al linealizar el controlador no lineal, el controlador resultante debe corresponder a un controlador lineal con una estructura bien conocida. Esto permite, como ya hemos mencionado, evitar las transformaciones en el espacio de estado o en el espacio de los controles. Consideramos que este método proporcionará una referencia de comparació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 presentados, 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 ganancias debe capturar las no linealidades del sistema, la variable de programación de las ganancias debe ser “lenta”.

6.6 R ESUMEN

DEL CAPÍTULO Y

L ECTURAS

ADICIONALES

3. W. J. Rugh, J. S. Shamma, “Research on gain scheduling”, Automatica, 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 nonlinear 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.), Algebraic and Geometric Methods in Nonlinear Control Theory, D. Reidel Publishing Company, pp. 311–322, 1986 [RMC86]

173

174

R EALIMENTACIÓ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 R ESUMEN

DEL CAPÍTULO Y

L ECTURAS

ADICIONALES

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

175

176

R EALIMENTACIÓ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 R ESUMEN

DEL CAPÍTULO Y

L ECTURAS

ADICIONALES

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

177

178

R EALIMENTACIÓ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 R ESUMEN

DEL CAPÍTULO Y

L ECTURAS

ADICIONALES

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

179

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 sistema no lineal, a la cual se añaden términos correctivos que permiten garantizar, localmente, que el error de observación tiende a cero de manera asintóticamente estable.

180

7.1 I NTRODUCCIÓN

7.1.

181

Introducción

Como hemos dicho anteriormente, un observador es un sistema cuyo objetivo es proporcionar una estimación de una o varias componentes del vector 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 tentativas de solución al respecto. Los enfoques de tratamiento de observadores no lineales se dividen esencialmente 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 coordenadas (generalmente no lineal) a un sistema equivalente lineal transformar el sistema no lineal mediante una transformación de coordenadas a un sistema equivalente (a un sistema bilineal, por ejemplo) 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 enfoque, 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 extendida es simple y permite resolver el diseño de controladores no lineales sistemáticamente. Debido a su sencillez, la filosofía de linealización extendida 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 x(t) = f (x(t), u(t)) dt y(t) = h(x(t)) cuyo punto de operación constante está dado por u(t) = U ; x(t) = X(U ); y(t) = h(X(U )) = Y (U )

(7.1)

182

D ISEÑ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 ) 6= 0 dU 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)

Observador dinámico no

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 alrededor del valor U . Proponemos como observador no lineal, un sistema dinámico de la forma:

lineal

d x ˆ(t) = f (ˆ x(t), u(t)) + g(y(t)) − g(ˆ y (t)) dt yˆ(t) = h(ˆ x(t))

(7.2)

La ecuación que se obtiene al evaluar el punto de equilibrio de este observador, 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 valor asignado en equilibrio al estado verdadero del sistema, supondremos, a partir de (7.3), que ˆ )) = h(X(U )) = Y (U ) Yˆ (U ) = h(X(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 observación

La ecuación de la dinámica del error de estimación (error de observación), resultante de sustraer (7.2) al sistema (7.1): d (x(t) − x ˆ(t)) = f (x(t), u(t)) − f (ˆ x(t), u(t)) − g(y(t)) + g(ˆ y (t)) dt

(7.5)

7.3 L INEALIZACIÓN

183

DE LA DINÁMICA DEL ERROR DE OBSERVACIÓN

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: ∂f d ∂f xδ − x ˆδ − [xδ (t) − x ˆδ (t)] = dt ∂x X(U ),U ∂x X(U ˆ ),U " # # " ∂g ∂h ∂h ∂g xδ + x ˆδ ∂y Y (U ) ∂x X(U ) ∂ yˆ Yˆ (U ) ∂ x ˆ X(U ˆ )

(7.6)

donde se ha empleado la relación g(y) = g(h(x)), tal que ∂g ∂g(y) ∂h(x) = ∂x ∂y ∂x Tomando en cuenta (7.4), la ecuación (7.6) se transforma en # " d ∂f ∂h ∂g eδ (t) = (xδ − x ˆδ ) (xδ − x ˆδ ) − dt ∂x X(U ),U ∂y Y (U ) ∂x X(U ) La dinámica linealizada del error de observación resulta finalmente en: d eδ (t) = [A(U ) − L(U )C(U )]eδ (t) dt

(7.7)

donde: ∂f ∂h A(U ) = ; C(U ) = ∂x X(U ),U ∂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 observació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; estos 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 funció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 (AT (U ), C T (U )). Es decir: L(U ) = O−1 (U )R−1 (U )[αd − αU ]T

Dinámica linealizada del error de observación

184

D ISEÑ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 )An−2 (U ) C(U )An−1 (U )





    ; R(U ) =     

1 a1 (U ) .. .

0 1... .. .

an−1 (U ) an−2 (U )

 ... 0  0  ; .. . 0  ... 1

αd = [α1 . . . αn ]; αU = [a1 (U ) . . . an (U )] siendo αd el vector fila compuesto por los coeficientes del polinomio caracterí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 6= 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 ganancia no lineal g que debe satisfacer la ecuación (7.8), la cual reescrita en términos de (7.9) queda: ∂g = L(Y −1 (y)) (7.10) ∂y Integrando (7.10) respecto a y, obtenemos Z y g(y) = L(Y −1 (y))dy + L(Y ) Y Y −1 (y)

Z =

U

dY (U ) L(U ) dU + L(Y (U )) dU

(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: dY (Y −1 (y)) d(Y −1 (y)) dg(y) −1 = G(Y (y)) dy Y (U ) dU dy Y (U ) = L(U )

dy dU = L(U ) dU dy

Con el valor (7.11) de g(y), el observador no lineal (7.2) queda completamente especificado.

7.5 E JEMPLOS

7.5.

185

Ejemplos

En esta sección desarrollaremos algunos ejemplos que ilustran el procedimiento de diseño de observadores dinámicos no lineales, basados en resolver 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 + x21 )x2 1 u J y = x1

(1.10*)

x˙ 2 =

con punto de equilibrio: u = U = 0; x1 = X; x2 = 0; Y = X El sistema linealizado alrededor del punto de equilibrio está dado por:        0 x˙ 1δ x1δ 0 0,5(1 + X 2 ) = + uδ 1 x˙ 2δ x2δ 0 0 J yδ = x1δ Un observador dinámico lineal del vector de estado incremental está dado por:          0 x ˆ˙ 1δ x ˆ1δ L1 (X) 0 0,5(1 + X 2 ) (yδ − yˆδ ) = + u + δ 1 L2 (X) x ˆ2δ 0 0 x ˆ˙ 2δ J yˆδ = x ˆ1δ donde L1 (X) y L2 (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 estimación tenga sus autovalores en el semiplano izquierdo. En primer lugar, verificamos si el sistema linealizado es observable.   1 0 O(X) = =⇒ det O(X) = 0,5(1 + X 2 ) 6= 0 0 0,5(1 + X 2 ) La dinámica del error de estimación estáá regida por:      e˙ 1δ e1δ −L1 (X) 0,5(1 + X 2 ) = e˙ 2δ e2δ −L2 (X) 0 Los modos que rigen esta dinámica se corresponden con las raíces del polinomio característico siguiente: p(s) = s2 + L1 (X)s + 0,5(1 + X 2 )L2 (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: 2 pd (s) = s2 + 2ζωn s + ωn

Se obtiene, entonces, 2 2ωn 1 + X2 El observador lineal del estado incremental está dado por: # "        2ζωn 0 x ˆ1δ x ˆ˙ 1δ 0 0,5(1 + X 2 ) 2 = + uδ + (yδ − yˆδ ) 2ωn 1 x ˆ2δ 0 0 x ˆ˙ 2δ 2 J

L1 (X) = 2ζωn ; L2 (X) =

1+X

yˆδ = x ˆ1δ 

186

D ISEÑ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 siguiente: ¿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 g1 (y) y g2 (y) tales que el observador no lineal dado por: x ˆ˙ 1 = 0,5(1 + x ˆ21 )ˆ x2 + g1 (y) − g1 (ˆ y) 1 y) x ˆ˙ 2 = u + g2 (y) − g2 (ˆ J yˆ = x ˆ1 tenga por linealización el observador anteriormente diseñado? Continuemos con el ejemplo que hemos propuesto, apara el cual daremos una respuesta 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: observador no lineal Es claro que los valores de equilibrio del observador no lineal están dados por: x ˆ2 (X) = x2 (X) = 0 ; y(X) = yˆ(X) = x ˆ1 (X) = x1 (X) = X ; u = u(X) = 0 De tal forma que debe cumplirse entonces que: ∂g1 = 2ζωn ∂y X 2 ∂g2 2ωn = ∂y X 1 + X2

(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: ∂g1 = 2ζωn ∂y 2 ∂g2 2ωn = ∂y 1 + y2

Integrando las ecuaciones anteriores resulta: 2 g1 (y) = 2ζωn y; g2 (y) = 2ωn tan−1 (y)

De esta forma, el observador dinámico no lineal está dado entonces por: x ˆ˙ 1 = 0,5(1 + x ˆ21 )ˆ x2 + 2ζωn (y − yˆ)  1 2 tan−1 (y) − tan−1 (ˆ y) x ˆ˙ 2 = u + 2ωn J 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(a1 + a2 )x2 − Ja1 a2 tan−1 (x1 ) − 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 E JEMPLOS

u

1 x˙ 1 = 0,5(1 + x21 )x2 y = x- x˙ 2 = 1 u uJ y = x1

187

x ˆ˙ 1 = 0,5(1 + x ˆ21 )ˆ x2 + 2ξωn (y − yˆ) x ˆ˙ 2 =

1 Ju

+ 2ωn2 (tan−1 (y) − tan−1 (ˆ y ))

x ˆ1 x ˆ2-

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

1 x˙ 1 = 0,5(1 + x21 )x2 y = x1 - x˙ 2 = u uJ y = x1

x ˆ˙ 1 = 0,5(1 + x ˆ21 )ˆ x2 + 2ξωn (y − yˆ) x ˆ˙ 2 =

1 Ju

y )) + 2ωn2 (tan−1 (y) − tan−1 (ˆ

x ˆ1 x ˆ2-

yˆ = x ˆ1

  u = −J(a1 + a2 )ˆ x2 − Ja1 a2 tan−1 (ˆ x1 ) − 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

D ISEÑ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 E JEMPLOS

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

189

190

D ISEÑ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 E JEMPLOS

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(a1 + a2 )ˆ x2 − Ja1 a2 tan−1 (ˆ x1 ) − tan−1 (X) (7.14) donde hemos sustituido las cantidades x1 y x2 , 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. t

Matlab 7.2: Manipulador robótico: la dinámica del error de observación resultante es completamente lineal Considere el manipulador robótico, Modelo 9, en la página 15, tratado anteriormente, representado por el siguiente conjunto de ecuaciones diferenciales: x˙ 1 = x2 x˙ 2 = −

x  B c 1 1 x2 − sen + u J J N J

(1.21*)

y = x1 donde se mide la posición angular del brazo manipulador. El punto de equilibrio se caracteriza genericamente mediante:   X u = c sen ; y = x1 = X; x2 = 0 N La linealización de este sistema alrededor del punto de equilibrio resultó ser, ver Capítulo 5, expresión (5.15):        0 1 0 x1δ x˙ 1δ + = uδ 1 x2δ x˙ 2δ − NcJ cos(X) − B J J yδ = x1δ Un observador dinámico para este sistema linealizado está dado por:          0 1 0 x ˆ˙ 1δ x ˆ1δ L1 (X) = (yδ − yˆδ ) + u + δ 1 c B L2 (X) x ˆ2δ − N J cos(X) − J x ˆ˙ 2δ J

(7.15)

yˆδ = x ˆ1δ La dinámica del error de estimación de las variables de estado está dada por:      −L1 (X) 1 e˙ 1δ e1δ = e˙ 2δ e2δ −L2 (X) − NcJ cos(X) − B J El polinomio característico de este sistema resulta:     B c X p(s) = s2 + L1 (X) + s+ cos + L2 (X) J NJ N Al igualar p(s) al polinomio deseado de la forma: pd (s) = (s + β1 )(s + β2 ) = s2 + (β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: L1 (X) = β1 + β2 − L2 (X) = β1 β2 −

B ; J

c cos NJ



X N

 −

B B2 (β1 + β2 ) + 2 J J

(7.16)

192

D ISEÑ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 + g1 (y) − g1 (ˆ y)   c x ˆ1 1 B ˆ2 − sen + u + g2 (y) − g2 (ˆ y) x ˆ˙ 2 = − x J J N J

(7.17)

yˆ = x ˆ1 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:   ∂g1        0 1 0 x ˆ˙ 1δ x ˆ1δ ∂y = + uδ +  ∂g X  (yδ − yˆδ ) 1 2 x ˆ − NcJ cos(X) − B x ˆ˙ 2δ 2δ (7.18) J J ∂y X

yˆδ = x ˆ1δ La linealización (7.18) debe coincidir con el observador lineal de la familia de sistemas linealizados, parametrizado por el punto de equilibrio que acabamos de diseñar (7.15)–(7.16),        0 1 0 x ˆ˙ 1δ x ˆ1δ = + uδ 1 c B ˙x x ˆ2δ − N J cos(X) − J ˆ2δ J " # β β2 − B 1 + (7.19) J 2 + (yδ − yˆδ ) β1 β2 − NcJ cos X −B (β1 + β2 ) + B N J J2 yˆδ = x ˆ1δ Igualando término a término los elementos de (7.18) y (7.19), concluímos que deben cumplirse las siguientes igualdades: ∂g1 B = β1 + β 2 − ∂y y=X J   ∂g2 c B B2 X = β β − cos − (β1 + β2 ) + 2 1 2 ∂y y=X NJ N J J Este par de relaciones se convierten en un par de ecuaciones en derivadas parciales al deshacer la sustitución y = X: B ∂g1 = β1 + β2 − ∂y J y B c B2 ∂g2 = β1 β2 − cos − (β1 + β2 ) + 2 ∂y NJ N J J Integrando obtenemos:  β1 + β2 −

g1 (y) =  g2 (y) =

Este observador no lineal genera un error de observación completamnete lineal

β1 β 2 −

B J

 y

B B2 (β1 + β2 ) + 2 J J

 y−

y c sen J N

(7.20)

A partir de (7.20), el observador dinámico no lineal (7.17) resulta entonces, luego de algunas simplificaciones elementales, en:   B x ˆ˙ 1 = x ˆ 2 + β1 + β2 − (y − yˆ) J   y B 1 B B2 c (7.21) ˆ2 + u + β1 β2 − (β1 + β2 ) + 2 (y − yˆ) − sen x ˆ˙ 2 = − x J J J J J N yˆ = x ˆ1

7.5 E JEMPLOS

x˙ 1 = x2

u -

x˙ 2 = − B x J 2 − Jc sen( xN1 )

y = x1

193

y = x1 +

1 u J

u-

)(y − yˆ) x ˆ˙ 1 = x ˆ2 + (β1 + β2 − B J 1 B ˙x ˆ2 = − B x ˆ + u + (β β 2 1 2 − J (β1 + β2 ) J J 2

+B )(y − yˆ) − J2

c J

y sen( N )

x ˆ1 x ˆ2-

yˆ = x ˆ1

u = −Jωn2 (ˆ x1 − X) − (2Jζωn − B)ˆ x2 + c sen( xˆN1 )

 

Figura 7.4: Diagrama de bloques en lazo cerrado de un manipulador robótico, considerando un observador dinámico no lineal Es interesante notar que el error de observación, obtenido a partir de las ecuaciones diferenciales 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:   B e˙ 1 = β1 + β2 − e1 + e2 J   B2 B B e˙ 2 = β1 β2 − (β1 + β2 ) + 2 e1 − e2 J J J Los autovalores de este sistema coinciden con las raíces del siguiente polinomio característico: perr. obs. (s) = s2 + (β1 + β2 )s + β1 β2 = pd (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 observador 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:   x ˆ1 2 u = −Jωn (ˆ x1 − X) − (2Jζωn − B)ˆ x2 + c sen (6.19*) N donde x1 y x2 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. t

194

D ISEÑ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 E JEMPLOS

195

Listado 7.3: Programa de simulación de un manipulador robótico regulado mediante una realimentación y un observador no lineales, basados en linealización extendida srobleob2.m % % % % % % %

srobleob2.m Programa que simula robotico controlado en un observador no se realizo mediante

la respuesta en lazo cerrado de un brazo manipulador por una ley de realimentacion no lineal, basada lineal. El disenno del controlador y el observador 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]’) % B J c N

parametros = 1e-2; = 4e-2; = .58; = 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

D ISEÑ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. % B J c N

parametros = 1e-2; = 4e-2; = .58; = 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 = x2 x˙ 2 = −k(x1 − L0 ) +

2iL u a − x1

(3.13*)

y = x1 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 x1 = b, está dado por: k(b − L0 )(a − b) u = U (b) = ; Y (b) = X1 (b) = b ; X2 (b) = 0 2iL El controlador no lineal que estabiliza la posición del conductor a su valor nominal estaba dado por: a − x1 u = −κ(x1 , x2 ) = [−a1 a2 (x1 − b) + k(x1 − L0 ) − (a1 + a2 )x2 ] (6.21*) 2iL 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 = −κ(ˆ x1 , x ˆ2 ) =

a−x ˆ1 [−a1 a2 (ˆ x1 − b) + k(ˆ x1 − L0 ) − (a1 + a2 )ˆ x2 ] 2iL

donde se han, efectivamente, sustituido x1 y x2 por sus respectivos estimados.

7.5 E JEMPLOS

197

Linealización del sistema alrededor del punto de equilibrio: #    "  0 x1δ x˙ 1δ h i 1 + = a−2b+L0 x2δ x˙ 2δ − k a−b 0

0 2iL a−b

 uδ

y = x1δ Análisis de observabilidad:

 O=

1 0

0 1

 ; detO = −1 6= 0

Proponemos un observador lineal de la forma siguiente: #     "    0 0 x ˆ1δ x ˆ˙ 1δ Λ1 (b) h i 1 + = uδ + (yδ − yˆδ ) a−2b+L0 2iL ˙x x ˆ2δ Λ2 (b) − k a−b 0 ˆ2δ a−b yˆ = x ˆ1δ El error de estimación incremental deberá satisfacer la ecuación dinámica #   "  −Λh1 (b) e˙ 1δ e1δ i 1 = a−2b+L0 e˙ 2δ e2δ −Λ2 (b) − k a−b 0 Polinomio característico de este sistema autónomo: p(s) = s2 + Λ1 (b)s + Λ2 (b) + k

a − 2b + L0 a−b

Polinomio característico deseado: 2 pd (s) = s2 + 2ζωn s + ωn

con raíces en el semiplano izquierdo del plano complejo. Al igualar p(s) y pd (s) se obtienen las ganancias requeridas del observador lineal: Λ1 (b) = 2ζωn ; 2 Λ2 (b) = ωn −k



a − 2b + L0 a−b

El observador lineal puede expresarse entonces como: # # "  "    0 2ζωn 0 x ˆ˙ 1δ x ˆ1δ h i 1 (yδ − yˆδ ) = + u + a−2b+L a−2b+L 2iL δ 2 x ˆ2δ ωn − k a−b 0 − k a−b 0 0 x ˆ˙ 2δ a−b 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 + g1 (y) − g1 (ˆ y) x ˆ˙ 2 = −k(ˆ x1 − L0 ) +

2iL + g2 (y) − g2 (ˆ y) a−x ˆ1

yˆ = x ˆ1 Debe cumplirse entonces que: ∂g1 (y) = 2ζωn ; ∂y y=b ∂g2 (y) a − 2b + L0 2 = ωn −k ∂y a−b y=b

198

D ISEÑO

DE OBSERVADORES DINÁMICOS DE ESTADO NO LINEALES BASADOS EN LINEALIZACIÓN EXTENDIDA

x˙ 1 = x2

u

y = x1 -

x˙ 2 = −k(x1 − L0 )

-

1

y = x1

−k(a − L0 ) ln( a−y ) a−ˆ y

x ˆ2-

yˆ = x ˆ1

a−ˆ x1 x1 2iL [−a1 a2 (ˆ

− b) + k(ˆ x1 − L0 ) − (a1 + a2 )ˆ x2 ]

 

Figura 7.6: Diagrama de bloques en lazo cerrado de un manipulador robótico, considerando un observador dinámico no lineal Sustituyendo la transformación y = b se obtiene ∂g1 (y) = 2ζωn ; ∂y ∂g2 (y) a − 2y + L0 2 = ωn −k ∂y a−y de donde es simple obtener, por integración de ambas ecuaciones, las siguientes cantidades: g1 (y) = 2ζωn y ; 2 g2 (y) = (ωn − 2k)y − k(a − L0 ) 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(ˆ x1 − L0 ) +

x ˆ1 -

1

u-

2iL + a−x u

u=

x ˆ˙ 1 = x ˆ2 + 2ζωn (y − yˆ) 2iL 2 − 2k)(y − y ˆ) + (ωn x ˆ˙ 2 = −k(ˆ x1 − L0 ) + a−ˆ x

  2iL a−y 2 + (ωn − 2k)(y − yˆ) − k(a − L0 ) ln a−x ˆ1 a − yˆ

(7.22)

yˆ = x ˆ1 El diagrama de bloques de la Figura 7.6 ilustra el esquema de control no lineal en lazo cerrado 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. t

7.5 E JEMPLOS

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

199

200

D ISEÑ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éticamente controlado sobre la base de un controlador y un observador dinámico de estados, obtenidos por linealización extendida

7.6 E JERCICIOS

PROPUESTOS

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: dCA q = (CAf − CA ) − rA (T ) dt V    (7.23) dT q (−∆H) ρc Cpc hA = (Tf − T ) + rA (T ) + qc 1 − exp − × (Tcf − T ) dt V ρCp ρCp V qc ρCpc E donde la función rA (T ) = k0 CA (− RT ). Las variables del sistema están dadas por: CA 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; Tf es la temperatura del flujo de entrada; Tcf

201

202

D ISEÑ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; k0 , 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 extendida: 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 observador 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 reducido 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 lazo cerrado dado por (1.21*), (7.21), (6.19*), haciendo las sustituciones correspondientes, de tal forma que el sistema resultante solo dependa de las variables de estado x1 , x2 , x ˆ1 y x ˆ2 . 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 R ESUMEN

7.7.

DEL CAPÍTULO

Resumen del capítulo

En este capítulo hemos presentado una extensión del método de la linealizació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 sistemas 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 problema 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, catedrá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.

203

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 (Proporcional204

8.1 I NTRODUCCIÓ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 ZieglerNichols 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 parametrizada. 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 diagrama de Nyquist sobre los que se basa el cálculo de los parámetros del controlador, P, P I 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 ∂f (x, u) ∂f (x, u) ; B(U ) = ; A(U ) = ∂x X(U ),U ∂u X(U ),U ∂h(x) C(U ) = , ∂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: GU (s) = C(U )[sI − A(U )]−1 B(U )

206

S INTESIS

8.2.

DE COMPENSADORES NO LINEALES

G(·)

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: Z uδ = K1 (U )eδ + K2 (U )

t

eδ (σ)dσ + K3 (U ) o

deδ dt

(5.5*)

Siguiendo el método de la linealización extendida, propondremos a partir de la expresión (5.5*) un compensador no lineal general del tipo PID. Aplicaremos la linealización aproximada a este controlador, con el objeto 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) ˙ = k2 (z(t))e(t) u(t) = z(t) + k1 (z(t))e(t) + k3 (z(t))

(8.1)

de(t) dt

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 entonces la forma general Z

t

u(t) = k1 (z(t))e(t) +

k2 (z(σ))e(σ)dσ + k3 (z(t)) 0

de(t) , dt

(8.2)

la cual en efecto representa una generalización, de tipo no lineal, del controlador clásico PID. El error e(t) está dado por e = yref − y = 0 − y = −y. Note que el punto de equilibrio de la estrategia de control no lineal propuesta 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 equilibrio, resulta en: z˙δ = k2 (U )eδ uδ = zδ + k1 (U )eδ (t) + k3 (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 k1 (z)|z=U = K1 (U ) ; k2 (z)|z=U = K2 (U ) ; k3 (z)|z=U = K3 (U )

8.2 D ISEÑO

DE REGULADORES NO LINEALES DEL TIPO

P, PI

Y

PID

MEDIANTE LINEALIZACIÓN EXTENDIDA

En este caso, las ganancias no lineales se obtienen directamente, de manera practicamente trivial, a partir de las siguientes relaciones: k1 (z) = K1 (z) ; k2 (z) = K2 (z) ; k3 (z) = K3 (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 z2 + µ ω0 z2 + b z˙2 = ω0 z1 − ω1 z2 − µ ω0 z1

(1.16*)

y = z2 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: b Z1 (U ) + ω02 (1

s− GU (s) = −ω0 Z1 (U )

s2 + ω1 s

− U )2

(2.10*)

donde

bω1 b : Z2 (U ) = ω02 (1 − U )2 ω0 (1 − U ) Recordemos del Ejemplo 5.2, página 122, el regulador PI lineal diseñado para este sistema, µ = U ; Z1 (U ) =

ω 2 (1 − U )3 ξ˙δ = 0,54 0 √ eδ 2πb ω0 (1 − U )2 eδ µδ = ξδ + 0,45 b donde eδ = −yδ . El período último y la ganancia última resultaron para este caso: √ 2π 2π ω0 (1 − U )2 P0 (U ) = = ; K0 (U ) = , ω0 (U ) ω0 (1 − U ) b

(5.12*)

y las ganancias K1 y K2 : K1 (U ) = 0,45

ω 2 (1 − U )3 ω0 (1 − U )2 : K2 (U ) = 0,54 0 √ b 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:   ω 2 (1 − z(t))3 z(t) ˙ = 0,54 0 √ e(t) 2πb (8.5)   ω0 (1 − z(t))2 µ ˆ(t) = z(t) + 0,45 e(t) b donde ahora tenemos e(t) = Z2 (U ) − z2 (t) Considerando el controlador no lineal (8.5), recordemos que el esquema final de control involucrará 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.

207

208

S INTESIS

DE COMPENSADORES NO LINEALES

G(·)

2 ω0 (1−z)3 z˙1 = −ω0 z2 + µ ω0 z2 + b 1 e(t) z˙ = [0,54 √2πb ]e u ulim - j- z˙ = ω z − ω z − µ ω z 2 0 1 1 2 0 1 ω (1−z)2 ]e µ ˆ = z + [0,45 0 b + 6 0 1 y = z2 y(t) limitador PI no lineal Convertidor Boost

Z2 (U )

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

y(t) = z2 (t) -

8.2 D ISEÑO

DE REGULADORES NO LINEALES DEL TIPO

P, PI

Y

PID

MEDIANTE LINEALIZACIÓN EXTENDIDA

Listado 8.1: Programa de simulación del comportmiento del modelo promedio del convertidor 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) = 1 u = 1; elseif usl sarole t

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 ecuaciones no lineales están dadas por: x˙ 1 = x2 x˙ 2 = −

x  B c 1 1 x2 − sen + u J J N J

(1.21*)

y = x1 Este se puede representar mediante el diagrama de bloques mostrado en la Figura 9.5.

234

I NTRODUCCIÓN

A LA LINEALIZACIÓN EXACTA

Figura 9.4: Posición angular del anillo y señal de control para diferentes condiciones iniciales

u

-

−B x − J 2

c J

6

sen

x1  N

+

u J

x2

-

R

-

x1

R

6

Figura 9.5: Diagrama de bloques del manipulador robótico

-

9.1 M OTIVACIÓN :

MÉTODO DEL CONTROL CALCULADO

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)
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF