cnológico Subsecretaría de Educación Superior Dirección General de Educación Superior Tecnológica Coordinación Sectorial Académica Dirección de Estudios de Posgrado e Investigación Centro Nacional de Investigación y Desarrollo Tecnológico Subdirección Académica Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS Control Tolerante a Fallas de un sistema Lineal Por Pedazos Aplicado un Avión presentada por Ing. José Luis Jaimes Maldonado como requisito para la obtención del grado de Maestro en Ciencias en Ingeniería Electrónica Director de tesis Dr. Manuel Adam Medina Codirector de tesis Dr. Luis Gerardo Vela Valdés Cuernavaca, Morelos, México. Febrero de 2014. “La grandeza del hombre radica en su propia capacidad de hacer que las cosas sucedan, en levantarse después de un tropiezo, en hacerse más fuerte aprendiendo de sus errores y en convertirse en una leyenda a medida de la huella que ha plasmado en la tierra.” J.L.J.M. Resumen E n el siguiente trabajo de investigación se presenta el procedimiento de diseño del Control tole- rante a fallas de un sistema lineal por pedazos, se establecen las bases teóricas del control tolerante a fallas y de los sistemas que son modelados mediante aproximaciones lineales, así como el análisis de estabilidad, observabilidad y controlabilidad, la generación de modos (subsistemas) y posteriormente el diseño de los controladores multivariables por retroalimentación dinámica del estado y lineal cuadrático con tolerancia a fallas, así como el diseño del esquema de diagnóstico y aislamiento de fallas (FDI) utilizando como generadores de residuos bancos generalizados de observadores tipo Luenberguer y de entradas desconocidas (generación robusta de residuos). En resumen se desarrollaron seis subsistemas lineales (6-PWLS) que rigen cierto comportamiento dinámico del sistema en puntos de operación específicos en particular para el modelo del avión caza F16 presentando los resultados en simulación para una tarea de vuelo específica, conservando la trayectoria aún con falla en los sensores de altitud y velocidad respectivos del avión. En general un sistema lineal por pedazos (PWLS) es en esencia un sistema lineal conmutado, el cual consiste en un número finito de subsistemas y una ley que coordina las conmutaciones entre esta familia. Este tipo de sistemas proporcionan un marco que une a los sistemas lineales y los sistemas complejos no lineales. Los sistemas lineales por pedazos pertenecen a una clase especial de sistemas de control híbrido que comprende un conjunto de subsistemas descritos por dinámicas lineales (diferenciales/ecuaciones en diferencias), junto con una regla o señal de conmutación dependiente por lo general del tiempo, del estado, entradas exógenas o de salida del sistema que rige el comportamiento entre los subsistemas. Tales sistemas pueden usarse para describir una amplia gama de sistemas físicos y de ingeniería en la práctica. En primer lugar, se pueden utilizar para sistemas con modelos sujetos a variaciones de parámetros conocidos o desconocidos tales como sistemas lineales de conmutación sincrónica, redes con conmutaciones periódicamente variables y por el cambio repentino de las estructuras del sistema debido a la falla de un componente. Un buen ejemplo es el sistema de control híbrido para sistemas no holónomos que no son estabilizables por medio de cualquier controlador único continuo por retroalimentación del estado. Para sistemas simples lineales e invariantes en el tiempo (LTI), el rendimiento (respuesta transitoria) se puede mejorar a través de controladores/compensadores conmutados. Los sistemas lineales por pedazos no sólo representan un reto para la investigación académica, sino que también sirve de puente entre el tratamiento de sistemas lineales y los sistemas de alta complejidad. Estos sistemas son relativamente fáciles de manejar con muchas herramientas poderosas de análisis lineal y multilineal aplicables o extensibles para hacer frente a los sistemas no lineales. Por otra parte, el estudio de sistemas de conmutación lineal proporciona una visión adicional con algunos problemas de alto y sofisticado entendimiento, como el control inteligente y el control adaptativo. Dada la estructura de cada subsistema individual, el comportamiento global del sistema está determinado por la señal de conmutación. Recientemente, los PWLS han tomado importancia en la comunidad científica tanto de control como de computación, debido a su gran capacidad para representar la dinámica continua y discreta de sistemas complejos (redes biológicas, sistemas tolerantes a fallas, sistemas de transporte aéreo, terrestre, entre otros). Como consecuencia, la necesidad de estudiar sus propiedades fundamentales, tales como observabilidad, controlabilidad y estabilidad, se ha convertido en un tema importante. Una parte de análisis importante de estudiar es la propiedad de observabilidad de PWLS, la cual permite calcular el estado completo del sistema a partir de las variables medibles, mediante un observador. Esta propiedad es útil, por ejemplo, en el diseño de controladores por retroalimentación de estados y diagnosticadores de fallas que son utilizados ampliamente en este trabajo de investigación. Abstract In the following research work presents the design procedure for the fault tolerant control of a piecewise linear system, establishes the theoretical control and fault tolerant systems that are modeled by linear approximations and as the analysis of stability, controllability and observability, generating modes (subsystems) and then the design of dynamic feedback multivariable controllers for linear quadratic state and fault-tolerant and schema design diagnostic and fault isolation (FDI) to generate residuals using generalized observers banks Luenberguer type and unknown inputs (robust generation of residuals). In summary, we developed six sub linear systems (6-PWLS) governing certain dynamic system behavior in specific operating points particularly for the F16 fighter jet model presenting the simulation results for a specific flight task, keeping the trajectory still failure in altitude and speed sensors respective of the aircraft. Overall a piecewise linear system (PWLS) is essentially a switched linear system, which consists of a finite number of subsystems and a law that coordinates the switching between this family. Such systems provide a framework that unites the linear and nonlinear complex systems. Piecewise linear systems belong to a special class of hybrid control systems comprising a set of subsystems described by linear dynamics (differential / difference equations), together with a rule or dependent switching signal usually time, the state , exogenous input or output of the system that governs the behavior between the subsystems. Such systems can be used to describe a wide range of physical and engineering systems in practice. First, it can be used for linear models subject to variations of known or unknown parameters such as synchronous switching linear systems, periodically switching networks with variables and by the sudden change of system structures due to component failure. A good example is the hybrid holonomous control systems which are not stabilizable by any continuous single controller status feedback. For simple systems and linear time invariant (LTI), performance (transient response) can be improved through controllers / compensators switched. Piecewise linear systems represent a challenge not only for academic research, but also serves as a bridge between the treatment of linear and highly complex systems. These systems are relatively easy to use with many powerful tools of linear and multilinear analysis applicable or extendable to deal with nonlinear systems. Moreover, the study of linear switching systems provides additional insight to some problems of high and sophisticated understanding as intelligent control and adaptive control. Given the structure of each individual subsystem, overall system performance is determined by the switching signal. Recently, PWLS have become important in the scientific community both control and computing, due to its ability to represent continuous and discrete dynamics of complex systems (biological networks, fault tolerant systems, systems of air, land, between other). As a result, the need to study its fundamental properties such as observability, controllability and stability has become an important issue. A part of analysis is important to study the observability property PWLS, which allows to calculate the complete state of the system from measurable variables by an observer. This property is useful, for example, in the design of state feedback controllers and fault diagnosers that are used extensively in this research. Agradecimientos Gracias sobre todo a Dios mi creador por darme la fortaleza, sabiduría, el entendimiento, la salud y demás cosas que día a día me permitieron llegar hasta este momento... A mis Padres, Gracias, por sus oraciones, sus consejos y por el amor tan grande que me tienen... A Uli y Karl, por el valioso apoyo que recibí de su parte, espero disculpen todas las molestias ocasionadas... A Silvia C., por ser fuente de inspiración y coraje para continuar siempre adelante, y a su familia por el apoyo siempre incondicional, Dios los bendiga... A mi Abuela, tíos y primos en general por que siempre me dieron aliento para continuar, se que soy orgullo para ustedes... Al Dr. Manuel A. M. Por haber confiado en mi a pesar de estar un poco empolvado, y por su apoyo siempre... Al Dr. Luis Gerardo Vela, Alejandro Rodríguez, Andrés Blanco y en general todos los catedráticos del CENIDET que hicieron posible mi formación profesional... A mis amigos incondicionales Maza, Julius, Cornelio, Felipe, Beto, Toca, por mencionar algunos de la enorme lista que gracias a Dios tengo... A Profesor Ing. T. Pablo Ocampo Solano, por su apoyo, gracias... Al M.I. Gabriel Segura, Ing. Ismael Sandoval y Empresa por apoyarme en mi titulación... Al CENIDET por haberme abierto sus puertas para concluir mi formación de posgrado... Al CONACyT por el apoyo económico brindado durante la maestría... vi Índice general Resumen iii abstract v Agradecimientos vii Lista de Figuras xi Lista de Tablas xiii Abreviaciones xiv Lista de Constantes xvii Simbología xviii 1. Introducción 1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1. Objetivo general . . . . . . . . . . . . . . . . . . . . 1.3.2. Objetivos específicos . . . . . . . . . . . . . . . . . . 1.4. Procedimiento/Método . . . . . . . . . . . . . . . . . . . . . 1.5. Estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.1. Sistemas Lineales por Pedazos. . . . . . . . . . . . . 1.5.2. Observabilidad, controlabilidad, estabilidad y control 1.5.3. Control Tolerante a Fallas de PWLS. . . . . . . . . . . . . . . . . . . . 1 1 2 3 3 4 4 5 5 6 7 2. Sistemas Conmutados 2.1. Sistemas Lineales Por Pedazos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1. Análisis elemental de sistemas Lineales por Pedazos . . . . . . . . . . . . . . 2.1.2. Señal de conmutación dependiente del estado. . . . . . . . . . . . . . . . . . . 8 8 10 11 vii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . de PWLS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contents 2.1.3. Señal de conmutación dependiente del tiempo. . . 2.2. Estabilidad y Estabilizabilidad . . . . . . . . . . . . . . . 2.2.1. Estabilizabilidad de sistemas lineales por pedazos. 2.3. Observabilidad y Reconstructibilidad . . . . . . . . . . . . 2.3.1. Analisis Elemental de Observabilidad para PWLS . 2.4. Controlabilidad y Alcanzabilidad . . . . . . . . . . . . . . viii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 15 19 22 25 26 3. Control Tolerante a Fallas 3.1. Esquemas de detección y aislamiento de fallas basado en observador 3.2. Estructura del Aislamiento de Fallas . . . . . . . . . . . . . . . . . . 3.3. Observador de Luenberguer Generalizado . . . . . . . . . . . . . . . 3.4. Observador de Entradas Desconocidas de Orden Completo . . . . . . 3.5. Control por Retroalimentación de Estados . . . . . . . . . . . . . . . 3.6. Fundamentos del Control LQR . . . . . . . . . . . . . . . . . . . . . 3.6.1. Formulación General del Control LQR . . . . . . . . . . . . . 3.6.2. Obtención de la Matriz K(t). Ecuación de Riccati . . . . . . 3.6.3. LQR en Régimen Permanente . . . . . . . . . . . . . . . . . . 3.6.4. Elección de las Matrices Q y R . . . . . . . . . . . . . . . . . 3.6.5. Robustez del Controlador LQR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 32 33 36 38 40 42 42 43 44 44 45 4. Modelo no lineal del Avión 4.1. Dinámica del Avión . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1. Marco de Referencia . . . . . . . . . . . . . . . . . . . . . 4.1.2. Variables del Avión . . . . . . . . . . . . . . . . . . . . . . 4.1.3. Ecuaciones de movimiento para el avión de cuerpo rígido . 4.1.4. Ecuaciones de Fuerza . . . . . . . . . . . . . . . . . . . . . 4.1.5. Ecuaciones de Momentos . . . . . . . . . . . . . . . . . . 4.1.6. Resumen de las ecuaciones de movimiento . . . . . . . . . 4.1.6.1. Ecuaciones de Fuerza en Ejes de Viento . . . . . 4.2. Variables de Control y Modelado del Motor . . . . . . . . . . . . 4.3. Geometría y Datos Aerodinámicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 46 46 47 49 49 51 52 55 55 56 . . . . . 60 61 62 63 67 72 5. Resultados del Trabajo de Investigación 5.1. Planteamiento del Problema . . . . . . . . . . . . . . . . . . . 5.1.1. Propuesta de Solución y Estructura del Controlador . 5.2. Diseño del Sistema Lineal por Pedazos . . . . . . . . . . . . . 5.3. Simulación del Sistema Lineal por Pedazos . . . . . . . . . . . 5.4. Simulación del control tolerante a fallas aplicado al modelo no . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lineal del avión F16 6. Conclusiones 77 6.1. Logros Obtenidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.2. Trabajos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Contents ix A. Modelos Lineales Por Pedazos 79 B. Diagramas De Bloques de los Programas Implementados 81 C. Algoritmos 83 Bibliografía 105 Índice de figuras 2.1. Diagrama de un sistema conmutado . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. las curvas gruesas indican las superficies de conmutación, las curvas finas con flechas indican las porciones continuas de la trayectoria, y las líneas de trazos simbolizan los saltos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Señal de conmutación dependiente del tiempo . . . . . . . . . . . . . . . . . . . . . . 2.4. Efecto de la ley de conmutación en la estabilidad de un sistema conmutado . . . . . 2.5. Estabilidad en el sentido de Lyapunov. . . . . . . . . . . . . . . . . . . . . . . . . . . 12 14 16 16 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 3.9. 32 33 34 38 39 40 41 42 43 Clasificación del Control Tolerante a Fallas. . . . . . . . . . . . . Procedimiento de Diseño del Control Tolerante a Fallas. . . . . . Banco de Observadores Generalizados para FDI en Sensores. . . . Observador de Luenberguer Generalizado. . . . . . . . . . . . . . Observador de Entradas Desconocidas de Orden Completo. . . . Esquema de Control por Retroalimentación de Estados. . . . . . Esquema Dinámico de Control por Retroalimentación de Estados. Control por Retroalimentación de Estados con Acción Integral. . Diagrama de Bloques del Control Lineal Cuadrático. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1. Ejes de cuerpo en un F-16, (x, y y z) L momento de giro, M momento de cabeceo, N momento de viraje, p velocidad angular de alabeo, q velocidad angular de cabeceo, r velocidad angular de viraje. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Ángulos de orientación del avión φ, θ y ψ, ángulos aerodinámicos α y β, y velocidades angulares p, q y r. Todos positivos en la figura. . . . . . . . . . . . . . . . . . . . . . 4.3. Coeficientes Aerodinámicos Obtenidos en el Túnel de Viento Para el F-16. . . . . . . 5.1. Esquema de Control Propuesto Para el Modelo del Avión Falcon F-16. . . . . . . . . 5.2. Algoritmo para la Generación del Sistema Lineal por Pedazos del Modelo del Avión Falcon F-16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3. Respuesta del modo 1 en los sensores de h, v, θ, α, q y Respuesta estimada con el observador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4. Respuesta del modo 1 en los sensores de altitud y velocidad con falla simple en Sh del tipo escalón f = +20 %, t = 20 s, y Respuesta con observador. . . . . . . . . . . . 5.5. Respuesta de las señales restantes con falla simple f = +20 %, t = 20 s, y Respuesta con observador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6. Respuesta del modo 1 en los sensores de altitud y velocidad con falla múltiple tipo escalón f = −20 %, t = 30 s, y Respuesta con observador. . . . . . . . . . . . . . . . x 9 47 48 57 63 65 68 69 70 71 List of Figures 5.7. Respuesta de las señales restantes con falla múltiple f = −20 %, t = 30s, y Respuesta con observador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8. Respuesta del sistema en las señales de altura y velocidad, con falla múltiple fSh,v = +5 %, tfh = 10 s, tfv = 100 s, Zoom del instante de falla. . . . . . . . . . . . . . . . . 5.9. Respuesta del sistema no lineal con FTC óptimo para los sensores de altitud y velocidad presentando falla múltiple fSh,v = +10 %, tfh = 80 s, tfv = 120 s, Zoom del instante de falla. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.10. Respuesta de las variables N pos, Epos, φ, θ, ψ α, β, p, q, r, nx, ny, nz, mach, Pe , Pd . B.1. Diagrama de bloques para la simulaciÃşn y diseÃśo de los controladores lineales por pedazos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2. Diagrama de bloques para la simulación del esquema completo de control tolerante a fallas lineal por pedazos aplicado al modelo no lineal. . . . . . . . . . . . . . . . . . xi 71 73 74 76 81 82 Índice de cuadros 4.1. Valores Máximos y Mínimos de las Variables de Control. . . . . . . . . . . . . . . . . 56 5.1. 5.2. 5.3. 5.4. 5.5. 5.6. 65 67 67 69 70 Valores Aceptables para las Condiciones de Vuelo y Linealización. . . . . . . . . . . . Procedimiento Sistemático para el Diseño del FTC. . . . . . . . . . . . . . . . . . . . Puntos de operación para la generación de modelos lineales. . . . . . . . . . . . . . . Matriz de fallas del sistema lineal por pedazos con falla simple a los 20 s. . . . . . . . Matriz de fallas del sistema lineal por pedazos con falla múltiple t = 30 s. . . . . . . Índices de desempeño de los controladores con tolerancia a fallas acerca del error de regulación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7. Comparación de atributos de los controladores con tolerancia a fallas. . . . . . . . . . xii 72 72 Abreviaciones GC Centro de Gravedad MC Centro de Masa DOF Grados de libertad ODE Ecuaciones Diferenciales Ordinarias CLF Función común de Lyapunov PLC Control Lineal por Pedazos SS Sistema Conmutado SLS Sistema Lineal Conmutado FTC Control Tolerante a Fallas FDI Diagnóstico y Aislamiento de Fallas PWLS Sistemas Lineales por Pedazos VN Vuelta a Nivel VRN Vuelo Recto y Nivelado LQR Regulador Cuadrático Lineal m.a.c. Cuerda aerodinámica media MLF Función Múltiple de Lyapunov L Sustentación l Momento de guiñada m Momento de cabeceo n Momento de alabeo T Propulsión gD Aceleración debida a la gravedad m Masa del avión xiii Abreviaciones xiv D Resistencia Fb Marco de referencia fijo en el cuerpo rígido del vehículo Fi Marco de referencia inercial vCM/e Velocidad del CM en Fe vCM/i Velocidad del CM en Fi vCm/i Velocidad del centro de masa del vehículo con respecto a Fi FA,T Vector suma de las fuerzas aerodinámicas y de propulsión en el centro de masa MA,T Suma de los momentos aerodinámicos y de propulsión en el centro de masa pCM/O Posición del CM relativo al origen del marco de referencia inercial ωb/i Velocidad angular de Fb con respecto a Fi ωx/y Velocidad angular del marco x con respecto al marco y R Conjunto de los números reales C Conjunto de los números complejos N Conjunto de los números naturales CFT 1 ...CFT 3 Derivadas de la fuerza de propulsión CL Derivadas del torque de Giro CM Derivadas del torque de Cabeceo CN Derivadas del torque de Viraje a Gradiente de temperatura b Envergadura Cab Matriz de dirección coseno transformada de (a) a (b) Dp Diámetro de la propela Ib Matriz de inercia del avión en ejes de cuerpo J Radio de propulsión Lb Torque de giro en dirección xb m Masa del avión Mb Torque de cabeceo en dirección yb M Vector de torque externo que afecta el cuerpo rígido Nb Torque de viraje en dirección zb p Velocidad angular de alabeo q Velocidad angular de cabeceo Abreviaciones xv r Velocidad angular de viraje q̄ Presión dinámica Lista de Constantes g = 32,17 f t/s2 m = 18,726 lb l = 49 f t Altura H = 16 f t Envergadura E = 31 f t Área total S = 300 f t2 Fuerza debida a la gravedad Masa del avión F-16 Longitud xvi Simbología α Ángulo de ataque φ, θ, ψ Ángulos de Euler φ Ángulo de alabeo θ Ángulo de cabeceo ψ Ángulo de viraje αe Ángulo de ataque en equilibrio β Ángulo de deslizamiento lateral δa Deflexión del Alerón δe Deflexión del Elevador δr Deflexión del Timón δt Propulsión h Altitud a nivel del mar XE Posición Este desde el centro de gravedad del avión XN Posición Norte desde el centro de gravedad del avión τn Constante de tiempo de aceleración del motor ω Componente de velocidad inercial γ Ángulo de la trayectoria de vuelo ŷ Dato estimado basado en modelo y(t) Dato medible φmax Ángulo máximo de giro permisible Rmin Radio mínimo de viraje τroll Tiempo de giro debido a φmax xvii Para mi Familia y Amigos/Silvia Cristina D.C.A./Con todo mi Corazón. . . xviii Capítulo 1 Introducción 1.1. Antecedentes L os beneficios que se obtienen de realizar el análisis y diseño de controladores basados en el modelado lineal de los sistemas no lineales, se exploran actualmente nuevas alternativas que hagan frente a las limitaciones del control lineal para sistemas donde se desea abarcar una dinámica no lineal mucho más amplia. Una de las limitantes es, el hecho de que la descripción lineal de un sistema tiene solución únicamente en una vecindad de los puntos de equilibrio o puntos de operación, alrededor del cual ha sido diseñado el sistema de control lineal. Para dar solución a este problema sin emplear el control no lineal se han estudiado técnicas donde se utilizan múltiples sistemas lineales, los cuales son gobernados por una ley o señal de conmutación para el diseño de controladores que son relativamente de fácil diseño e implementación. Ejemplos que emplean esta técnica son: el control por ganancias programadas, control por multi-modelos, control lineal por pedazos, entre otros. El control lineal por pedazos se fundamenta principalmente en la partición de la dinámica del sistema no lineal en regiones lineales, donde en cada región, o punto de operación, se tiene asociado un modelo lineal mediante linealización utilizando la técnica adecuada, obteniendo al final un conjunto (familia) de sistemas lineales en los que se lleva a cabo el diseño de los controladores para cierta dinámica deseada. Dichos modelos lineales son utilizados para el diseño de un controlador específico para esa región de operación, y como se menciona anteriormente, para que este conjunto de controladores gobiernen el comportamiento del sistema no lineal se requiere de un supervisor que indique cúal es el controlador que debe estar activo dependiendo de la cercanía de un punto de equilibrio a otro. Este supervisor genera algo conocido como la ley de conmutación o señal de conmutación, esta señal definirá que controlador estará activo dependiendo de algunos factores como 1 Capítulo 1. Introducción 2 el estado, el tiempo, salidas, entradas exógenas o de una combinación. Particularmente, como caso de estudio se propone el diseño de una ley de conmutación conocida y dependiente del tiempo para un sistema (familia) de controladores lineales con tolerancia a fallas que será aplicado al modelo del avión en sensores de altitud y velocidad, el cual gobernará la dinámica global del avión F16 aún en condiciones de falla en dichos sensores utilizando la técnica de control multivariable por retroalimentación de estados y lineal cuadrático por ganancias programadas, así como el diseño de un esquema de detección y aislamiento de fallas. El modelo del avión es complejo, ya que en su dinámica influyen diversos factores que hacen difícil su representación matemática, tales como perturbaciones atmosféricas (turbulencias), errores de modelado, entre otros. Uno de los factores que más impactan la dinámica del avión son las restricciones de movimiento. Un avión es un sistema no holónomo de manera que no puede desplazarse de manera directa hacia todas partes con la acción de la entrada de control debido a que posee seis grados de libertad correspondientes a los desplazamientos longitudinales y rotacionales, en el modelo más general, solo cuatro entradas de control. Las entradas de control de un avión son la fuerza de tracción o propulsión, las deflexiones del elevador, del alerón y del timón. Es importante notar también que el describir la dinámica del sistema mediante aproximaciones lineales requiere que las divisiones lineales de la dinámica sean congruentes con la tarea de vuelo, es decir, que cada condición de vuelo posea al menos un modelo lineal que lo describa y que la unión de todas las particiones conformen una tarea global. En este trabajo de investigación el modelo no lineal será linealizado en torno a puntos de operación dependientes de la altitud y velocidad en lugar de puntos de equilibrio, bajo ciertas condiciones iniciales. Esta característica permite describir los comportamientos deseados como función de las variables con las que se desee trabajar, además del diseño de un esquema con tolerancia a fallas activo por ganancias programadas para los sensores de altitud y velocidad. 1.2. Justificación E n general el control de un avión requiere de técnicas adecuadas y eficientes, robustas o adap- tables, en especial cuando el modelo en cuestión se mueve de un régimen de operación a otro y las condiciones que soporta la estructura propia así como la exigencia de los controladores son extremas, o bien, cuando el sistema opera en condiciones donde exhibe fuertes no linealidades. Cuando existen cambios entre cada régimen de operación surgen características particulares debido a cambios abruptos en la dinámica del avión debido a perturbaciones y variaciones atmosféricas; por lo tanto si el modelo dinámico es estable y posee un buen desempeño en cierta condición de vuelo puede Capítulo 1. Introducción 3 volverse inestable, o al menos tener un desempeño pobre al cambiar hacia otra condición de vuelo [39, 53]. Otra característica del sistema en cuestión es que presenta no linealidades en su dinámica debido a las fuerzas y momentos aerodinámicos presentes en el vuelo, que están intrínsecamente relacionados con el ángulo de ataque, una de las variables más importantes. Además, el avión se encuentra en movimiento dentro de un fluido, razón por la cual el número de Reynolds, la altitud, velocidad, temperatura, el movimiento de cuerpo rígido, las restricciones geométricas, de navegación, los coeficientes aerodinámicos que varían en relación al número de Mach al que está sometido el avión son factores que juegan un papel importante en las mencionadas fuerzas y momentos aerodinámicos. Sin embargo gracias al avance de la tecnología, las técnicas de control actuales proporcionan un marco para la operación de este tipo de sistemas aceptable, logrando rechazar condiciones de vuelo críticas para el controlador, aunado a esto, se diseñan controladores con tolerancia a fallas que además de operar al sistema nominal tienen la capacidad de compensar desperfectos o degradaciones en los instrumentos del avión. No obstante, el uso de controladores no lineales pone a prueba las capacidades computacionales debido al procesamiento de datos, por ello la importancia de reducir al máximo esta problemática. Para mitigar en gran medida el dilema anterior se recurre a las técnicas actuales en particular de control lineal por pedazos adaptable con ganancias programadas, obteniendo resultados favorables. 1.3. Objetivos P ara el desarrollo de este trabajo de investigación partimos desde el objetivo general hasta los objetivos específicos a resolver, enunciándolos a continuación... 1.3.1. Objetivo general E l objetivo general de este trabajo de investigación es diseñar una estrategia de control con tolerancia a fallas activo en sensores de altura y velocidad para el modelo no lineal del avión F16, que asegure un funcionamiento aceptable del sistema en la trayectoria de navegación aún cuando este presente alguna anomalía (falla) en dichos sensores, modelando dicho sistema no lineal como un sistema lineal por pedazos para el diseño de los controladores y haciendo uso de una ley de conmutación conocida y dependiente del tiempo, presentando los resultados en simulación. Capítulo 1. Introducción 1.3.2. 4 Objetivos específicos X Estudiar y dominar las técnicas del modelado de sistemas lineales por pedazos, esquemas de diagnóstico y aislamiento de fallas y técnicas de control tolerante a fallas. X Dividir la dinámica del sistema no lineal del avión F16 en secciones lineales, para posteriormente diseñar los controladores. X Llevar a cabo el análisis de estabilidad, controlabilidad y observabilidad del sistema lineal por pedazos. X Definir el criterio de conmutación entre los controladores con base a los preceptos a analizar. X Establecer con base en un desempeño deseado, los eigenvalores requeridos del sistema en lazo cerrado para cada controlador. X Ubicar los valores característicos del sistema de manera que se garantice la estabilidad y el desempeño deseado aún con la ley de conmutación y posible falla en alguno de los sensores de altura o velocidad. X Diseñar el esquema de FDI para el sistema lineal por pedazos. X Evaluar el desempeño del sistema tolerante a fallas propuesto en lazo cerrado para el sistema no lineal del avión F16. 1.4. Procedimiento/Método P ara el cumplimiento de los objetivos antes mencionados, se requiere seguir el procedimiento específico que se describe a continuación: 1. Estudio bibliográfico de sistemas lineales por pedazos y control tolerante a fallas aplicado a este tipo de sistemas, análisis y procedimientos. i) Comprensión del modelo no lineal del sistema así como su análisis para su posterior partición. La finalidad es conocer los problemas derivados de las no linealidades y singularidades del caso de estudio propuesto en este trabajo de tesis para analizar la manera de afrontarlos, comprender las características del comportamiento dinámico y estático del sistema facilita en parte el diseño del controlador. Capítulo 1. Introducción 5 ii) Linealización del sistema alrededor de puntos de operación. De acuerdo a la tarea específica deseada, se linealiza el modelo no lineal alrededor de puntos de operación bien definidos para dar paso a una familia de subsistemas lineales para el diseño de los diferentes controladores que se uniran mediante una ley de conmutación dependiente del tiempo adecuada para formar el sistema de control tolerante a fallas lineal por pedazos. 2. Análisis de estabilidad, controlabilidad y observabilidad del sistema lineal por pedazos (estructura del sistema). Determinación de estabilidad, controlabilidad y observabilidad del sistema por cada región de equilibrio o en su defecto en la vecindad del punto de equilibrio donde se realizó la linealización. 3. Definición de los criterios de conmutación. El definir un criterio de conmutación de manera adecuada garantiza el correcto funcionamiento del sistema de control lineal por pedazos para asegurar que el sistema no lineal se aproxime con presición al comportamiento deseado. 4. Diseño de la estrategia de control tolerante a fallas activo. Realizar la evaluación del esquema de FDD ó FDI del PWLS, posteriormente el diseño del sistema de control tolerante a fallas activo por acomodación utilizando controladores multivariable. 5. Simulación del sistema de control tolerante a fallas activo lineal por pedazos para el modelo del avión no lineal F16. 6. Evaluación y reporte de las técnicas de FTC aplicadas en simulación. 1.5. 1.5.1. E Estado del arte Sistemas Lineales por Pedazos. n 1956 nace la idea de modelar los sistemas no lineales mediante particiones lineales [52], donde Capítulo 1. Introducción 6 los autores presentan a los PWLS como una necesidad para un modelado adecuado de circuitos eléctricos y dan una noción física que introduce la idea de esta clase de sistemas. Posteriormente, en [26] tratan a los sistemas no lineales en el enfoque de redes resistivas no lineales y basan el análisis de estos sistemas mediante linealidad por pedazos, además, se estudian a detalle la condición de Lipschitz y el homeomorfismo global. Finalmente, la formalización matemática de los PWLS la realiza Eduardo D. Sontag en [50] donde comienza con la terminología de particiones en espacios poliédricos, además se estudian algunos problemas de control característicos de los sistemas lineales existentes en los PWLS como son la realimentación de estados y realimentación de la salida, observadores y el cálculo de inversibilidad del sistema. Los trabajos reportados en relación a los PWLS han sido diversos. Uno de ellos realiza un estudio de la identificación de PWLS mediante la identificación por subespacios [54]. Otras investigaciones tratan sobre el estudio de las características de los PWLS y el análisis de los puntos de equilibrio mediante la construcción de las funciones de Lyapunov cuadráticas en el espacio de estado [31] y en la superficie de conmutación asociado con el sistema [28]. 1.5.2. Observabilidad, controlabilidad, estabilidad y control de PWLS. S e han estudiado también la observabilidad, tanto en PWLS [4] como en sistemas híbridos y conmutados [5], [18], [14] que algunos autores los consideran también PWLS. En [22, 28, 32] se realizan estudios de la estabilidad. Otra característica importante que se aborda en la literatura es la controlabilidad, propiedad que se estudia en [29] para los sistemas híbridos lineales por pedazos y en [34] para los sistemas lineales conmutados. Se ha profundizado en el diseño de observadores [19], [33] y controladores para los PWLS basados en H∞ [25], [20], mediante realimentación de estados [23], usando control robusto [20] y usando un enfoque de la dinámica del error [9]. Se han analizado también metodologías compactas de modelado de PWLS [8]. Pueden encontrarse algunas aplicaciones de los PWLS en otras áreas, tales como teoría de circuitos [47], en aplicaciones biológicas [28], en electrónica de potencia [42], máquinas [9], entre otras. En los trabajos de Alessandri, 2001 [1] se propone un observador Luenberger para una clase de sistemas conmutados y un diseño basado en un método de proyección para minimizar el error de estimación es dado en los modos del sistema conocidos a priori. Feng propone un enfoque de diseño de observadores para un clase de sistemas PWL y presenta dos métodos de diseños de filtros para los sistemas de la misma clase donde se supone que las particiones se definen en términos de la salida del sistema por lo que el estimador de la planta y el estado siempre cambia al mismo tiempo a la misma partición. Para la estimación de los estados no sincronizados, Rubensson y Lennartson 2002 [47], dan un nuevo esquema de filtrado usando la trayectoria más probable estimada y un cambio de Capítulo 1. Introducción 7 transformación. Su trabajo puede ser utilizado para estimar los sistemas PWL. Peleties y DeCarlo, 1992 [43] presentan una solución para detectar el instante de tiempo de conmutación y el modo activo correspondiente mediante el uso de una estructura de observación separados con condiciones muy restrictivas. Entrando a detalle con lo relativo al control, hay algunas referencias útiles tal como [25] donde se muestra un método sintetizado de control por H∞ para PWLS basado en una función de Lyapunov suave por pedazos. En este artículo se menciona que para diseñar un control, se debe cumplir la propiedad de controlabilidad para cada modelo local. Posteriormente, se diseña un controlador de forma que garantice la atenuación de un nivel prescrito de perturbaciones y buscar que el sistema en lazo cerrado sea globalmente estable. Dentro del análisis de la bibliografía de los PWLS no se puede dejar de lado lo referente al análisis de estabilidad. En este aspecto, es usual considerar la conmutación arbitraria dentro de un sistema lineal conmutado (SLS) y es deseable poder garantizar estabilidad pese a las conmutaciones; además, el asumir que todos los subsistemas son estables no es una condición suficiente para garantizar estabilidad ante conmutación arbitraria. Para esta limitante, diversos autores [37], [40], [15] han establecido que si existe una función común de Lyapunov (CLF por las siglas en inglés de Common Lyapunov Function) para todos los subsistemas de un sistema conmutado, entonces el sistema es estable pese a las conmutaciones arbitrarias. Otro análisis de estabilidad propuesto en [43] y expandido en [11] analizan la estabilidad del sistema conmutado mediante el empleo de una función múltiple de Lyapunov (MLF por las siglas en inglés de Multiple Lyapunov Function ). Una limitante de estos análisis es que se fundamentan en la hipótesis que todos los subsistemas tienen un punto de equilibrio común, condición que no siempre se cumple. Para esto, recientemente, los autores en [46] proponen el concepto de la región de estabilidad para sistemas lineales conmutados aplicable sobre sistemas conmutados cuyos subsistemas poseen puntos de equilibrio diferentes. Ahí garantizan la estabilidad por regiones del sistema lineal conmutado. 1.5.3. Control Tolerante a Fallas de PWLS. P ara el caso particular de estudio en el área del control tolerante a fallas activo para un sistema lineal por pedazos, los artículos existentes [45], [55], [38] y [21] dedican casos de estudio para PWLS afines, en modos deslizantes, por retroalimentación de la salida en tiempo discreto asumiendo un FDD en línea y tiempo real utilizando técnicas LMI, control reconfigurable en línea no lineal afin aproximado. Capítulo 2 Sistemas Conmutados 2.1. Sistemas Lineales Por Pedazos E n general, un sistema conmutado está compuesto por una familia de subsistemas y una ley de conmutación que gobierna el modo de actuar de cada uno de estos sea esta ley conocida y arbitraria o desconocida y arbitraria con base en el tiempo, estados, salidas o entradas exógenas [57]. Matemáticamente y de manera general está descrita por la siguiente ecuación: ẋ(t) = fσ (x(t), u(t), d(t)) x(t0 ) = 0 (2.1) y(t) = gσ (x(t), w(t)) donde x(t) es el estado, u(t) es la entrada o señal de referencia, y(t) es la salida medible, d(t) y w(t) se refieren a señales externas tales como perturbaciones todas las variables de dimensiones apropiadas, σ es una señal de conmutación constante por pedazos que toma valores de un conjunto índice M = {1, · · · , m}, fk para k ∈ M son campos vectoriales, y gk , k ∈ M son funciones vectoriales, para el caso discreto tenemos que el operador derivativo cambia a ecuaciones en sumatorias sucesivas (i.e., ẋ = x(t + 1)). La figura 2.1 ilustra el diagrama de la arquitectura de un sistema lineal por pedazos. Es claro que un sistema conmutado es por naturaleza multi-modelo. Cada modelo individual para k ∈ M es denominado subsistema o modo del sistema conmutado: ẋ(t) = fk (x(t), u(t), d(t)) y(t) = gk (x(t), w(t)) 8 x(t0 ) = 0 (2.2) Capítulo 2. Sistemas Conmutados 9 Además de los subsistemas, el sistema conmutado consiste también en un dispositivo o elemento de conmutación llamado supervisor. El supervisor produce una regla de conmutación σ denotando así la señal de conmutación o ley de conmutación, que establece el modo e instante en que opera cada uno de los subsistemas de la familia. Generalmente se habla de que los subsistemas representan el bajo nivel dinámico local diferencial convencional y/o de ecuaciones en diferencias de manera opuesta el supervisor es el coordinador de alto nivel produciendo las conmutaciones alrededor de la dinámica local. La dinámica global del sistema es determinada por ambos, la familia de subsistemas y la ley de conmutación. La ley de conmutación depende por lo general del tiempo, el estado, la Figura 2.1: Diagrama de un sistema conmutado. salida, y/o posiblemente una señal externa. σ(t+) = ϕ(t, x(t), y(t), z(t)), ∀t (2.3) Donde z(t) es una señal externa producida por otros dispositivos ajenos al sistema de dimensión apropiada, σ(t+) = lims↓t σ(s) es una señal de conmutación dependiente del tiempo, note que σ es continua por la derecha en todo el conjunto índice bajo el supuesto que si no se garantiza la continuidad de la ley de conmutación, no es posible garantizar que el sistema conmutado exhiba continuidad en los instantes de conmutación. De manera particular y para ser concisos se denota al sistema lineal por Σ(Ci , Ai , Bi )M . similarmente se denota Σ(Ai , Bi )M , Σ(Ci , Ai )M , y Σ(Ai )M al sistema conmutado sin entradas, salidas o sin ambas. Para denotar al sistema en tiempo continuo y discreto respectivamente, se realiza especificandolo en el subíndice de Sigma (d) para el caso discreto. De acuerdo a las definiciones anteriores, se enfocará nuestra atención a los sistemas lineales por pedazos cuyos subsistemas son LTI y las señales de conmutación son gobernadas por procesos Capítulo 2. Sistemas Conmutados 10 determinísticos, de manera general: ẋ = Aσ x + Bσ u + Eσ z, x(t0 ) = x0 (2.4) y = Cσ x + Dσ u + Gσ w σ = ϕ(t, x, y, z) Donde Ak , Bk , Ck , Dk , Ek , Gk son matrices lineales de dimensiones adecuadas mapeadas en espacios apropiados, el sistema nominal es aquel libre de perturbaciones, esto es: ẋ = Aσ x + Bσ u (2.5) y = Cσ x + Dσ u σ = ϕ(t, x, y) Para el caso de sistema no forzados: ẋ = Aσ x (2.6) y = Cσ x σ = ϕ(t, x, y) Para el caso de estudio los controladores para cada modo fueron diseñados con base en las ecuaciones 2.4, debido a que se trata de un sistema sensible al ruido y perturbaciones. 2.1.1. Análisis elemental de sistemas Lineales por Pedazos Considere el siguiente sistema lineal conmutado: ẋ(t) = Aσ x(t) + Bσ u(t) (2.7) y(t) = Cσ x(t) Dado un estado inicial x(0) = x0 , una entrada u y una trayectoria de conmutación σ [0, tf ] 7→ M , la solución del sistema lineal por pedazos 2.7 esta dada por: Capítulo 2. Sistemas Conmutados 11 x(t) = φ(t; t0 , x0 , u, σ) = eAik (t−tk ) eAik −1 (t−tk−1 ) (2.8) ...eAi0 (t1−t0 ) x0 + eAik (t−tk ) Z t1 eAi0 (t1 −τ ) Bi0 u(τ )dτ + ... ...eAi1 (t2 −t1 ) 0 Z tk eAik −1 (tk −τ ) Bik −1 u(τ )dτ + ... + eAik (t−tk ) tk −1 Z t + eAik (t−τ ) Bik u(τ )dτ tk De manera similar para el caso de sistemas discretos: ẋk+1 (t) = Aσ xk (t) + Bσ uk (t) (2.9) yk (t) = Cσ xk (t) La solución del sistema es: xk = Aσ(k+1) ...Aσ(1) Aσ(0) x0 + Aσ(k−1) (2.10) ...Aσ(1) Bσ(0) u0 + ...Aσ(k−1) Bσ(k−2) uk−2 + Bσ(k−1) uk−1 La matriz de transición es: Φ(k1 , k2 , σ) = Aσ(k1 −1) ...Aσ(k2 ) k1 > k2 (2.11) Por lo que la solución puede ser reescrita como: xk = Φ(k, 0, σ)x0 + k−1 X Φ(k, j, σ)uj (2.12) j=0 2.1.2. Señal de conmutación dependiente del estado. S uponga que el espacio de estados continuo Rn es particionado en un numero finito o infinito de regiones operativas referidas a una familia de superficies de conmutación o guardas, en cada una de estas regiones existe un sistema dinámico en tiempo continuo [35] (descrito por ecuaciones diferenciales con o sin control). Siempre que la trayectoria del sistema golpea una superficie de conmutación, el estado continuo salta instantáneamente a un nuevo valor especificado por un mapa de restablecimiento. En el caso más simple, este es un mapa cuyo dominio es la unión de las superficies Capítulo 2. Sistemas Conmutados 12 de conmutación y cuyo recorrido es el espacio del estado completo, posiblemente, excluyendo las superficies de conmutación (también pueden considerarse mapas de restablecimiento más generales como se explica a continuación). El sistema estará especificado por: La familia de superficies de conmutación y de las regiones de operación resultantes; La familia de subsistemas continuos en el tiempo, uno por cada región de operación; El mapa de restablecimiento. Los saltos instantáneos del estado continuo se refieren a veces como efectos de impulso. Un caso especial es cuando los efectos de tales impulsos están ausentes, es decir, el mapa de reposición es la identidad. Esto significa que la trayectoria de estado es continua en todas partes, aunque en general pierde diferenciabilidad cuando pasa a través de una superficie de conmutación (figura 2.2). Se restringe la atención a los sistemas sin efectos de impulso. Otra de las cuestiones que se ignoran por el momento es la posibilidad de que algunas trayectorias puedan atascarse en la superficie de conmutación. Se podría argumentar que el modelo del sistema conmutado descrito anteriormente Figura 2.2: las curvas gruesas indican las superficies de conmutación, las curvas finas con flechas indican las porciones continuas de la trayectoria, y las líneas de trazos simbolizan los saltos. (conmutación dependiente del estado sin saltos) es en realidad híbrido, porque a pesar de que es posible pensar en el conjunto de las regiones de operación como el espacio de estado discreto del sistema esto es simplemente una discontinuidad del mismo cuya descripción no implica dinámicas discretas. En otras palabras, su evolución está determinada únicamente por el estado continuo. El sistema se vuelve verdaderamente híbrido si las transiciones discretas explícitamente dependen del valor del estado discreto (es decir, la dirección desde la que se aproxima una superficie de conmutación). Existe también la posibilidad de reglas de conmutación dependientes del estado aún más Capítulo 2. Sistemas Conmutados 13 complicadas, por ejemplo, las regiones de operación pueden superponerse, y una superficie de conmutación puede ser reconocida por el sistema sólo en algunos estados discretos. Un paradigma que lleva a este tipo de comportamiento es la conmutación de histéresis1 . Dada una familia parametrizada de campos vectoriales fm : Rn → Rn m ∈ M y una señal de conmutación constante por pedazos σ : [0, ∞) → M , tenemos un conjunto admisible de pares (σ, x) con σ una señal conmutada y x una señal en Rn : S := {(σ, x) : Nσ (τ, t) ≤ 1 + supS∈(t,τ ) kx(s)k(t − τ ), ∀t > τ ≥ 0} para cada x solamente algún σ puede ser admisible; (σ, x) ∈ S ẋ = fσ (x) Una solución para el sistema conmutado es cualquier (σ, x) ∈ S para: todo intervalo abierto en el cual σ es constante, y x es solución para ẋ = fσ(t) (x) todo intervalo de conmutación t, x(t) = ρ(σ(t), σ − (t), x− (t)) 2.1.3. Señal de conmutación dependiente del tiempo. S uponga que tenemos una familia fm , m ∈ M de funciones mapeadas de Rn a Rn , donde M es algún conjunto índice (típicamente, M es un subconjunto de un espacio vectorial lineal dimensional finito). Esto da lugar a una familia de subsistemas ẋ = fm (x) m ∈ M (2.13) En el espacio Rn . Las funciones fm se asumen suficientemente regulares (localmente Lipschitz). El caso más sencillo a analizar es cuando todos los subsistemas son lineales: fm (x) = Am x, Am ∈ Rnxn , m ∈ M (2.14) y el conjunto índice M finito: M = {1, 2, ..., m}. Para definir un sistema conmutado generado por la familia de subsistemas, se necesita la noción de señal conmutada. Esta es una función constante por pedazos σ : [0, ∞) −→ M , tal función σ tiene un número finito de discontinuidades las cúales denominamos tiempos de conmutación para todos los intervalos de tiempo acotados y toma un valor 1 refierase para más información a D. Liberzon (2003) switching in systems and control Capítulo 2. Sistemas Conmutados 14 constante para todo intervalo entre dos tiempos de conmutación consecutivos. El objetivo de la señal σ es especificar, a cada instante de tiempo t, el indice σ(t) ∈ M del subsistema activo, esto es, el subsistema de la familia 2.13 para el índice indicado por la señal de conmutación. Para concretar se asume que σ es continua por la derecha para todo el conjunto índice: σ(t) = limτ →t+ σ(τ ) para cada τ ≥ 0. Un ejemplo de esta señal de conmutación para el caso en que M = {1, 2, 3} se muestra a continuación: Figura 2.3: Señal de conmutación dependiente del tiempo. Así de forma general un sistema conmutado con una señal de conmutación dependiente del tiempo puede ser descrito por la siguiente ecuación: ẋ = fσ(t) x(t) Para el caso de estudio: ẋ = Aσ(t) x(t) De manera resumida para los sistemas lineales por pedazos, tenemos el siguiente planteamiento: Considere el sistema no lineal: ẋ(t) = f (x(t), u(t)), (2.15) Donde x(t) ∈ Rn es el vector de estado, u(t) ∈ Rm es el vector de entrada, y f (·) es una función vectorial no lineal de dimensión n. Considere Ω ⊂ Rn+m como la región de interés para cualquier posible vector de estado y entrada de un sistema (x, u), y denotemos x0i y u0i , i ∈ I , {1, 2, ..., l}, como un conjunto de puntos operativos localizados alrededor de un punto o puntos de equilibrio (propiamente separados) dentro del conjunto Ω. Introducimos un conjunto de l regiones Ωi en el centro de los puntos de operación elegidos (x0i , u0i ), y denotamos sus interiores como Ωi0 , i ∈ I, tal que Ωj0 ∩ Ωk0 = {∅} para algún j 6= k, y ∪li=1 Ωi = Ω. Con xi (t) = x(t) − x0i y ui (t) = u(t) − u0i , Capítulo 2. Sistemas Conmutados 15 con lo que obtenemos un conjunto de modelos lineales invariantes en el tiempo. Para i ∈ I por ejemplo, tenemos: ẋi (t) = Ai xi (t) + Bi ui (t), (x(t), u(t)) ∈ Ωi (2.16) Con Ai = ∂f |x ,u , ∂x 0i 0i Bi = ∂f |x ,u ∂u 0i 0i Note que para cada instante de tiempo t, los estados y la entrada corresponden a solo ese subespacio. 2.2. Estabilidad y Estabilizabilidad D ada una familia de sistemas lineales [22] el sistema conmutado es asintóticamente estable para cada señal de conmutación si los subsistemas individuales tienen el origen como un punto de equilibrio común fp (0) = 0 para todas las p ∈ P . Claramente, una condición necesaria para estabilidad (asintótica) bajo conmutación arbitraria es que todos los subsistemas individuales sean estables (asintóticamente), si el enésimo sistema es inestable para algunos p ∈ P , entonces el sistema conmutado es inestable para σ(t) = p. Uno de los principales problemas que se tiene con los PWLS con respecto a la estabilidad del sistema, es que no solo se debe realizar el análisis de estabilidad a un sistema lineal, sino a la familia de subsistemas en general [37]. Además, el garantizar la estabilidad de todos los subsistemas de manera independiente no es suficiente para garantizar la estabilidad global del sistema ante conmutaciones desconocidas y arbitrarias. Para comprender esto, considere como ejemplo la Figura 2.4(a) donde se muestran las trayectorias de dos sistemas aleatorios asintóticamente estables [35]. Si se considera la unión de estos dos sistemas y una ley de conmutación que gobierne su comportamiento se tendría entonces un sistema conmutado. Ahora, si se considera una conmutación arbitraria ese sistema conmutado puede, o no, ser estable, esto dependerá de los instantes de conmutación tal como se ilustra en la Figura 2.4(b). La mayoría de los criterios conocidos proporcionan condiciones suficientes pero no necesarias, y además no suelen ser métodos sistemáticos. Para el caso de sistemas conmutados, el Teorema de Lyapunov de estabilidad tiene extensión directa que proporciona una herramienta básica para el estudio de la estabilidad uniforme de sistemas conmutados. Esta extensión se obtiene al exigir la existencia de una sola función de Lyapunov cuya derivada a lo largo de las soluciones de todos los sistemas de la familia, satisfaga las desigualdades adecuadas. Particularmente es de interés la obtención de una condición de Lyapunov para la estabilidad GUAS (globalmente uniforme asintóticamente estable) [57], para ello se debe tener especial cuidado en la formulación de una contraparte de la desigualdad, que asegure una tasa uniforme en la convergencia. Para la estabilidad en el sentido Capítulo 2. Sistemas Conmutados 16 Figura 2.4: Efecto de la ley de conmutación en la estabilidad de un sistema conmutado. (a) Dos subsistemas aleatorios estables de un sistema conmutado. (b) Instantes de conmutación que hacen el sistema conmutado estable (izquierda) e inestable (derecha). general de Lyapunov, se tiene; dada la siguiente ecuación vectorial diferencial descrita por: ẋ = f (t, x), x(0) = x0 (2.17) Donde x(t) ∈ Rn , y f : R+ xRn → Rn es suave por pedazos y globalmente Lipschitz. Adicionalmente se asume que el origen es un punto de equilibrio, esto es que f (t, 0) = 0, para t ≥ 0. Dada φ(t; t0 , x0 ) como la solución de 2.17 correspondiente a la condición inicial x(t0 ) = x0 evaluada en un tiempo t. En lo concerniente a la estabilidad, la solución o trayectoria del sistema estable se refiere a cuando x0 6= 0 pero esta cerca del origen, Gráficamente se posible expresar lo anterior como se ilustra en la figura 2.5. Figura 2.5: Estabilidad en el sentido de Lyapunov. De manera algebraica: ∀ > 0, ∃δ > 0 : kx(t0 ) − xeq k ≤ δ =⇒ kx(t) − xeq k ≤ , ∀t ≥ t0 ≥ 0 Definición 2.1. [57] El punto de equilibrio f (t, 0) = 0 es declarado: (2.18) Capítulo 2. Sistemas Conmutados 17 estable si, para cada > 0 y cada t0 ≥ 0, existe un δ = δ(, t0 ) tal que kx0 k < δ = δ(, t0 ) =⇒ kφ(t; t0 , x0 )k < ∀t ≥ t0 uniformemente estable si, para cada > 0 y cada t0 ≥ 0, existe un δ = δ() tal que kx0 k < δ = δ() t0 ≥ 0 =⇒ kφ(t; t0 , x0 )k < ∀t ≥ t0 atractivo si para cada t0 ≥ 0, existe δ = δ(t0 ) > 0 tal que kx0 k < δ, (t0 ) =⇒ kφ(t0 + t; t0 , x0 )k −→ 0 cuando t −→ ∞ asintóticamente estable si es ambos, estable y atractivo; uniformemente asintóticamente estable si es uniformemente estable y uniformemente atractivo; y exponencialmente estable si existen constantes reales (r, α, β) > 0 tales que φ(t0 + t; t0 , x0 ) ≤ βe−αt kx0 k t, t0 ≥ 0 kx0 k < r Tales conceptos de estabilidad son locales, lo que sucede solo en vecindades del punto de equilibrio. Para la estabilidad global podemos definir las propiedades atractivas reteniendolas en este mismo sentido. Si la solución es radialmente lineal: φ(t; t0 , λx0 ) = λφ(t; t0 , x0 ) ∀λ ∈ R t ≥ t0 x0 ∈ Rn entonces el concepto de estabilidad local es equivalente al correspondiente global. Esto es precisamente para el caso de los sistemas lineales por pedazos, por lo tanto, no es necesario distinguir entre los conceptos de estabilidad local y global respectivamente. Se dice entonces que el sistema dinámico es estable si el origen es un punto de equilibrio estable. La aproximación para el análisis de estabilidad en el sentido de Lyapunov provee un método riguroso, por lo que solo se realiza el análisis para los PWLS.2 Teorema 2.2. [57] Una condición necesaria y suficiente para garantizar estabilidad de un sistema lineal conmutado es la existencia de una función suave de Lyapunov del estado la cual es una función común de Lyapunov para toda la familia de subsistemas. 2 Z.Sun and S.S.Ge "Switched linear systems", control and design. Capítulo 2. Sistemas Conmutados 18 Garantizar estabilidad para este tipo de sistemas significa que el sistema es estable aún con una señal de conmutación arbitraria, esto es, ante cualquier trayectoria de conmutación σ[0,∞) ∈ M el sistema invariante en el tiempo ẋ(t) = Aσ(t) x(t) t ≥ 0 (2.19) es estable si existe una función cuadrática común de Lyapunov V (x) = xT P x para todos los subsistemas: ATi P + P Ai ≤ 0 i ∈ M (2.20) x(k + 1) = Aσ x(k) k ∈ N+ (2.21) Para el sistema LTI discreto en este caso especial la teoría de Lyapunov es muy completa y se puede asegurar el siguiente teorema: Teorema 2.3. [57] Para el sistema lineal e invariante en el tiempo descrito por la ecuación 2.19, las siguientes afirmaciones son equivalentes: el sistema es asintóticamente estable; el sistema es exponencialmente estable; la matriz A es Hurwitz; la ecuación de Lyapunov ATi P + P Ai = −Qi (2.22) tiene única solución P > 0 para cualquier Qi > 0; y la ecuación 2.22 tiene única solución P > 0 para alguna Qi > 0 La anterior afirmación establece la existencia de una función cuadrática de Lyapunov donde P es simétrica y definida positiva. V (x) = xT P x (2.23) se establece un resultado semejante a su homólogo: Teorema 2.4. [57] Para el sistema lineal e invariante en el tiempo descrito por la ecuación 2.21, las siguientes afirmaciones son equivalentes: el sistema es asintóticamente estable; el sistema es exponencialmente estable; Capítulo 2. Sistemas Conmutados 19 la matriz Ai es Schur; la ecuación en diferencias de Lyapunov tiene única solución P > 0 para cualquier Qi > 0 P − ATi P Ai = Qi (2.24) Otro tipo de análisis de estabilidad para los sistemas lineales conmutados es la estabilidad conmutada. Suponga que la señal de conmutación dada es conocida, por ejemplo; σ(t) = ψ(t, t0 , x0 ) (2.25) donde ψ es una función conocida, como se mencionó anteriormente es posible asumir que t0 = 0 siempre sin pérdida de generalidad. Para un x0 fijo, se define: f (t, x) = Aψ(t,0,x0 ) x (2.26) ẋ = fσ (t, x(t)) x(0) = x0 (2.27) el sistema conmutado es dado por: El sistema conmutado 2.26 con la señal específica de conmutación 2.25 es llamado sistema conmutado estable (asintóticamente, exponencialmente, etc.), si el sistema 2.27 es estable (asintóticamente, exponencialmente, etc.) como lo establece la Definición 2.1 2.2.1. Estabilizabilidad de sistemas lineales por pedazos. Dado un sistema en cual el rango del par (A, B) = b < n, existe una matriz transformación de similaridad x̃ = T−1 x, en que las nuevas matrices de estado tienen la forma: à = T−1 AT = " # Ãc Ã12 0 " −1 B̃ = T B= Ãnc B̃c 0 # (2.28) Capítulo 2. Sistemas Conmutados 20 donde Ãc tiene dimensión k y el par (Ãc , B̃c ) es completamente controlable. Este resultado establece que estados pueden y cuáles no ser llevados a cero. Expresemos el estado y la salida de la forma: " # " # #" # " B̃c x̃c Ãc Ã12 x̃˙ c u + = ˙x̃nc 0 0 Ãnc x̃nc h y = C̃c C̃nc # " i x̃ c x̃nc (2.29) + Du El subespacio controlable del modelo en variables de estado está compuesto por todos los estados generados como combinación de los estados en x̃c . La estabilidad de este subespacio está determinada por la ubicación de los valores propios de la matriz Ãc . Por otra parte, el subespacio no controlable esta formado por todos los estados generados como combinación lineal de los estados en x̃nc , y su estabilidad queda determinada por los autovalores de la matriz Ãnc . De esta forma, la entrada no tiene efecto alguno sobre el subespacio no controlable, por lo que se puede esperar que este subespacio fuera al menos estable de manera que sus estados decaigan naturalmente al origen. En este caso el modelo en variables de estado se denomina estabilizable. Una consecuencia clave de la descripción dada por 2.29 es el hecho que la función de transferencia esta dada por: H(s) = C̃c (sI − Ãc )−1 B̃c + D (2.30) La ecuación 2.30 establece que los autovalores del subespacio no controlable no aparecen como polos de la función de transferencia. Esto implica que existe una cancelación de los polos correspondientes a las raíces de det(sI − Ãnc ). Ahora para la estabilizabilidad de sistemas lineales por pedazos [15, 28, 43] Considere el sistema: Σ(Ci , Ai , Bi )M y una secuencia de conmutación constante por pedazos dada por σ = [t0 , tf ) 7→ M , se tiene la siguiente definición: Definición 2.5. [57] Dada una secuencia de conmutación infinita, el sistema Σ(Ci , Ai , Bi )M es estabilizable bajo la ley de conmutación σ si para cualquier estado x0 no nulo, existe u(t), t ∈ [0, +∞) tal que limt−→+∞ x(t) = 0. Es obvio que si el sistema Σ(Ci , Ai , Bi )M es completamente controlable, entonces existe una secuencia de conmutación σs tal que el sistema Σ(Ci , Ai , Bi )M es estabilizable bajo esta señal de conmutación. Dada una matriz P no singular, bajo la cual es posible realizar una transformación de coordenadas del estado x̄ = P x, se tiene un nuevo sistema lineal por pedazos Σ(C̄i , Āi , B̄i )M con la variable de estado x̄, donde: Ām = P Am P −1 , B̄m = P Bm Capítulo 2. Sistemas Conmutados 21 Para m = 1, ..., M , Dada una secuencia de conmutación σ = [t0 , tf ) 7→ M , se denota C(σ) como el conjunto de estados controlables de la señal de conmutación asociada al sistema Σ(Ci , Ai , Bi )M , ¯ y se denota C(σ) como el conjunto de estados controlables de la señal de conmutación asociada al sistema transformado Σ(C̄i , Āi , B̄i )M . Se tiene que: 3 ¯ C(σ) = P C(σ) Esto significa que si algún estado x es controlable en el sistema Σ(Ci , Ai , Bi )M , entonces x̄ = P x es controlable en el sistema Σ(C̄i , Āi , B̄i )M y, viceversa, si algún estado x̄ es controlable con el sistema Σ(C̄i , Āi , B̄i )M , entonces x̄ = P −1 x es controlable con el sistema Σ(Ci , Ai , Bi )M . Ahora se discute la condición de estabilizabilidad cuando el sistema Σ(Ci , Ai , Bi )M es no completamente controlable. Suponga que dim(Wn ) = d < n y {q1 , ..., qn } forman una base para Wn Wn = span{q1 , ..., qn } Entonces es posible encontrar n − d vectores linealmente independientes qd+1 , ..., qn ∈ Rn |W tales que {q1 , ..., qd , qd+1 , ..., qn forme una base para Rn . Se denota Q = [q1 , ..., qn ] y P = Q−1 . Bajo la transformación de coordenadas del estado x̄ = P x, se tiene un nuevo sistema Σ(C̄i , Āi , B̄i )M con variables de estado x̄, donde Ām = P Am P −1 , B̄m = P Am para m = 1, ..., M . Se denota T P = pT1 , ..., qnT donde pi es el i-ésimo vector fila de P , i = 1, ..., n. Ya que pTi qj = 0, para i 6= j, y Am qj ∈ Wn , para j = 1, ..., d, m = 1, ..., M , se tiene pTi Am qj = 0, para i = d + 1, ..., n, m = 1, ..., M . Por lo tanto: Ām = P Am P −1 .. c ∗ Ām . Ām = ··· ··· ··· .. 0 . Āum Para m = 1, ..., M , tenemos: Ācm pT1 Am q1 · · · pT1 Am qd .. .. .. = . . . T T pd Am q1 · · · pd Am qd dxd Ā∗m pT1 Am qd+1 · · · pT1 Am qn .. .. .. = . . . T T pd Am qd+1 · · · pd Am qn dx(n−d) 3 Para ver la demostración revisar la referencia. Capítulo 2. Sistemas Conmutados Āum 22 pTd+1 Am qd+1 · · · pTd+1 Am qn .. .. .. = . . . T T pn Am qd+1 · · · pn Am qn (n−d)x(n−d) Para las matrices de entrada, desde R(Bm ) ⊂ Wn , tenemos pTi = 0, para i = d + 1, ..., n, m = 1, ..., M . Por consiguiente tenemos: B̄m = P Bm c B̄m . . = . 0 para m = 1, ..., M donde c B̄m " x̄c pT1 B̄m . . = . pTd B̄m # , donde x̄c es un vector d-dimensional y x̄u es un vector (n − d)-dimensional. El x̄u sistema Σ(C̄ic , Āci , B̄ic )M con estados x̄c es completamente controlable. Entonces se concluye que el Hacemos x̄ = sistema Σ(Ci , Ai , Bi )M es estabilizable si y sólo si el sistema Σ(C̄iu , Āui , B̄iu )M es estabilizable. 2.3. Observabilidad y Reconstructibilidad E l concepto de observabilidad investiga la posibilidad de estimar el estado a partir del conoci- miento de la entrada y la salida del sistema, Considere el siguiente sistema lineal: ẋ(t) = Ax(t) + Bu(t) (2.31) y(t) = Cx(t) + Du(t) Análisis de observabilidad. Un criterio que permite determinar si un sistema es o no observable, se presenta con el siguiente teorema. Teorema 2.6. [18] Considere el sistema 2.31 donde A ∈ Rnxn , y C ∈ Rnxm . Capítulo 2. Sistemas Conmutados 23 i) El conjunto de estados no observables es igual al subespacio nulo de la matriz de observabilidad O[A, C] donde: C CA O[A, C] = . .. n−1 CA (2.32) ii) El sistema es completamente observable si y solo si O[A, C] tiene rango columna completo n. El análisis anterior puede aplicarse indistintamente a sistemas en tiempo continuo y discreto. Este no es el único test de observabilidad ya que se puede llevar a cabo al utilizar el Gramiano debido a que en algunas ocaciones resulta de interés determinar el grado de observabilidad de un sistema. Se tiene además de estos análisis el principio de dualidad el cual establece un resultado paralelo entre los test de controlabilidad y observabilidad. Otro concepto estrechamente relacionado al de observabilidad es el que se denomina reconstructibilidad para sistemas en tiempo discreto, se refiere a qué se puede decir de x(k), habiendo observado valores pasados de la salida y(t) durante 0 ≤ t ≤ k. Si el subespacio no observable es estable se dice que el sistema es detectable. Ahora considere el sistema lineal por pedazos descrito por la ecuación 2.33. ẋ(t) = Aσ x(t) + Bσ u(t) (2.33) y(t) = Cσ x(t) Donde x ∈ Rn es el estado, u ∈ Rp es la entrada, y ∈ Rq es la salida, y σ ∈ M es la señal de conmutación del sistema. φ(t; t0 , x0 , u, σ) denota la trayectoria del estado al tiempo t del sistema comenzando desde x(t0 ) = x0 con entrada u y trayectoria de conmutación σ. Para el caso de la observabilidad tenemos las siguientes definiciones: Definición 2.7. [57] El estado x es llamado no observable si para alguna trayectoria de conmutación σ existe una entrada u tal que: Cσ φ(t; t0 , x, u, σ) = Cσ φ(t; t0 , 0, u, σ) ∀t ≤ 0 (2.34) El conjunto no observable del sistema 2.33, denotado por UO(Ci , Ai , Bi )M es el conjunto de estados no observables, en otras palabras, el conjunto no observable incluye el estado inicial que no puede distinguirse desde el origen usando el conocimiento de las salidas y entradas pasadas. Definición 2.8. [6] Para sistemas lineales por pedazos completamente observables las siguientes afirmaciones son equivalentes: Capítulo 2. Sistemas Conmutados 24 i) El sistema es completamente observable; ii) El sistema es completamente reconstruible; iii) el sistema Σ(ATi , CTi )M es completamente controlable; iv) El sistema Σ(ATi , CTi )M es completamente alcanzable; y v) O = Rn La definición 2.8 establece el principio llamado "dualidad", es decir, si se considera al sistema Σ(ATi , CTi )M como el sistema dual de Σ(Ci , Ai )M , entonces la observabilidad completa (reconstructibilidad) de un sistema conmutado es igual a la alcanzabilidad completa (controlabilidad) de este sistema dual. El principio de dualidad juega un rol importante en el análisis y control de sistemas lineales conmutados [2, 3]. El criterio geométrico (v) es equivalente al criterio algebráico: O, C(θ1 ) .. . C(θN )AN −1 =n (2.35) Este criterio generaliza el bien conocido criterio de observabilidad para sistemas LTI. Definición 2.9. [57] La ecuación de estado 2.33 es observable si para cualquier estado inicial x0 = x(0) (desconocido), existe un tiempo finito t1 tal que el conocimiento de la entrada u y la salida y sobre el intervalo [0, t1 ] es suficiente para determinar en forma única el estado inicial x0 en caso contrario el sistema es no observable. Dado un estado inicial x0 y una entrada u(t), la salida del sistema esta dada por la fórmula: At Z t eA(t−τ ) Bu(τ )dτ + Du(t) y(t) = Ce x0 + C (2.36) 0 Para estudiar la observabilidad, la salida del sistema y la entrada se suponen conocidas, siendo el estado inicial x0 la única incógnita. CeAt x0 = ȳ(t) (2.37) Z , y(t) − C 0 t eA(t−τ ) Bu(τ )dτ + Du(t) Capítulo 2. Sistemas Conmutados 25 Aplicando una transformación de similaridad tal que las nuevas matrices de estado tengan la forma: " Ā = T −1 AT = h C̄ = CT = C̄o Āo 0 # Ā21 Āno i 0 (2.38) donde Āo tiene dimensión k y el par C̄o , Āo es completamente observable. Este resultado tiene una relevancia similar a la descomposición canónica asociada para el caso de controlabilidad: " #" # " # " # Ā0 0 x̄o (t) x̄˙ o (t) B̄o = + u(t) x̄˙ no (t) Ā21 Āno x̄no (t) B̄no " # h i x̄ (t) o y(t) = C̄o 0 + Du(t) x̄no (t) (2.39) La descripción anterior pone en evidencia el problema que puede surgir cuando se intenta controlar un sistema usando solo su salida, pues en esta no aparece información alguna sobre x̄no El subespacio observable de un modelo es el espacio formado por todos los estados que se generan como combinaciones lineales de los estados en x̄o La estabilidad de este subespacio queda determinada por la ubicación de los eigenvalores de la matriz Āo El subespacio no observable de un modelo es el espacio formado por todos los estados que se generan como combinaciones lineales de los estados en x̄no La estabilidad de este subespacio queda determinada por la ubicación de los eigenvalores de la matriz Āno Una consecuencia clave del sistema 2.39 puede apreciarse en la función de transferencia del sistema: H(s) = C̄o sI − Āo −1 B̄o + D (2.40) Es decir, los autovalores del subespacio no observable no pertenecen al conjunto de polos de la función de transferencia del sistema. Esto implica que existe una cancelación de todos los polos correspondientes a las raíces de det sI − Āno . 2.3.1. Analisis Elemental de Observabilidad para PWLS Considere ẋ(t) = Aσ x(t) + Bσ u(t) y(t) = Cσ x(t) (2.41) Capítulo 2. Sistemas Conmutados 26 Dado un estado inicial x(0) = x0 , una entrada u y una trayectoria de conmutación σ [0, tf ] 7→ M , la solución del sistema lineal por pedazos 2.41 está dada por 2.8 Donde {0, t1 , ..., ts } es la secuencia en tiempo de conmutación de σ en [t0 , tf ), y {i0 = σ(0+), ..., is = σ(ts +)} es la secuencia indice de conmutación de σ en [t0 , tf ) y ts+1 = tf . Se puede ver que el conjunto alcanzable es: R(Ci , Ai , Bi )M = {x = φ(t; 0, 0, u, σ) : t ≥ 0, u ∈ U p , σ ∈ S[0,t] } Z h0 Z hk Ai0 τ Ai1 h1 Aik hk Bi0 u(τ )dτ + ... + ...e eAik τ Bik u(τ )dτ : e = {e 0 0 p k ∈ N+ , ij ∈ M, hj > 0, u ∈ U } Donde U p es el conjunto de funciones vectoriales continuas por pedazos pht-dimensional. Es posible observar que el conjunto es independiente de la salida. Se denota al conjunto alcanzable por R(Ci , Ai , Bi )M . Para algunas matrices A ∈ Rnxn , B ∈ Rnxp , t > 0 tenemos: Z t e Aτ Bu(τ )dτ : u ∈ U p 0 = n−1 X Aj ImB (2.42) j=0 donde ImB denota el espacio imagen de B Definición 2.10. [57] El sistema 2.41 es llamado completamente observable, si su espacio no observable es el espacio nulo. Definición 2.11. [57] El estado x es llamado no construible si para alguna trayectoria de conmutación σ, existe una entrada u tal que: Cσ φ(t; t0 , x, u, σ) = Cσ φ(t; t0 , 0, u, σ) ∀t ≤ 0 El conjunto no construible del sistema 2.41, denotado por UR(Ci , Ai , Bi )M , es el conjunto de estados que no son reconstruibles. En el caso de los sistemas lineales por pedazos la tendencia al análisis de observabilidad no tiene variación considerable respecto al criterio de sistemas lineales conocido para demostrarlo. 2.4. Controlabilidad y Alcanzabilidad U n requisito fundamental para el diseño de sistemas de control lineales en lazo cerrado es una buena comprensión de las propiedades estructurales de dichos sistemas objeto de análisis. Estas propiedades están estrechamente relacionadas con los conceptos de controlabilidad, observabilidad y estabilidad que son de importancia fundamental en la literatura. Sin embargo, para el análisis de Capítulo 2. Sistemas Conmutados 27 controlabilidad y observabilidad de los sistemas conmutados de control lineal surge una situación mucho más difícil, puesto que tanto la entrada de control y la señal de conmutación son variables ha ser determinadas, y por tanto la interacción entre ellos debe ser entendida completamente, considere la siguiente definición: Definición 2.12. [57] Para sistemas lineales conmutados completamente controlables (alcanzables) las siguientes afirmaciones son equivalentes: i) El sistema es completamente controlable; ii) El sistema es completamente alcanzable; y iii) V = Rn Observación.[57] El criterio geométrico (iii) es equivalente al criterio algebráico rank[B1 , ..., Bm , A1 B1 , ..., Am B1 , ..., A1 Bm , ..., Am Bm , A21 B1 , ..., Am A1 B1 , ..., A21 Bm , ..., Am A1 Bm , n−1 B1 , ..., A1 An−2 B1 , ..., Am An−2 An−1 m Bm , ..., Am Bm ] = n. 1 1 Este criterio generaliza el bien conocido criterio de controlabilidad para sistemas LTI. Considere el sistema lineal por pedazos dado por: ẋ(t) = Aσ x(t) + Bσ u(t) (2.43) y(t) = Cσ x(t) donde x ∈ Rn es el estado, u ∈ Rp es la entrada, y ∈ Rq es la salida, σ ∈ M es la señal de conmutación. En la representación del sistema no se impone ninguna condición de rango completo para las matrices de entrada Bk , k ∈ M . Esto implica que se considera el caso cuando el número de columnas de Bi no es el mismo. agregado a esto, suponemos que Bk es de n × pk para k ∈ M . hacemos p = max {pk : k ∈ M }, y expandemos para cada Bk de n × p con la adición de ceros para las columnas cuando es necesario, entonces el sistema expandido es de la forma 2.43. Si ahora φ(t, t0 , x0 , u, σ) es la trayectoria del estado al tiempo t del sistema lineal conmutado iniciando desde x(t0 ) = x0 con la entrada u y la señal de conmutación σ se tienen las siguientes definiciones de controlabilidad y alcanzabilidad siempre que t0 = 0. Definición 2.13. [57] El estado x ∈ Rn es controlable, si existe un instante de tiempo tf > t0 , una trayectoria de conmutación σ : [t0 , tf ] 7→ M y una entrada u : [t0 , tf ] 7→ Rp , tal que φ(tf , t0 , x, u, σ) = Capítulo 2. Sistemas Conmutados 28 0 el conjunto controlable del sistema 2.43, denotado por C(Ci , Ai , Bi )M es el conjunto de estados los cuales son controlables. Definición 2.14. [57] El sistema 2.43 es llamado completamente controlable, si el conjunto controlable es el espacio de estados completo, Rn . Definición 2.15. [57] El estado x ∈ Rn es alcanzable, si existe un instante de tiempo tf > t0 , una trayectoria de conmutación σ : [t0 , tf ] 7→ M y una entrada u : [t0 , tf ] 7→ Rp , tal que φ(tf , t0 , 0, u, σ) = x el conjunto alcanzable del sistema 2.43, denotado por R(Ci , Ai , Bi )M es el conjunto de estados los cuales son alcanzables. Dados dos estados x0 y xf en el subespacio controlable V, tenemos una trayectoria de conmutación σ y una entrada de control u para llevar al sistema desde x0 a xf en un tiempo finito. Combinando las definiciones anteriores y la aproximación geométrica de sistemas lineales, se formula un procedimiento para la controlabilidad de PWLS. Es posible encontrar un numero natural l, números reales positivos h1 , ..., hl y una secuencia índice i0 , ..., il tal que la ecuación dim(eAil hl ...eAi1 h1 Di0 + ... + eAil hl Dil−1 + Dil ) (2.44) ≥ dim(eAiτn hτn ...eAi1 h1 Di0 + ... + Diτn + Vn ) ≤ dimV donde τn = l − Pn−1 k=0 m(mn)k y R ⊂ ∪∞ k=1 ∪i0 , ..., ik ∈ M (ΓAik ...ΓAi1 Di0 + ... + Dik ) ⊂ V (2.45) V = eAil hl ...eAi1 h1 Di0 + ... + eAil hl Dil−1 + Dil (2.46) implica que Fijando un número real positivo h0 , definimos la secuencia de conmutación como: t0 = 0 tk = tk−1 + hk−1 k = 1, ..., l + 1 para algún k ∈ M y t > 0 tenemos Dk = ImWtk donde Wtk Z = t (2.47) T eAk (t−τ ) Bk BkT eAk (t−τ ) dτ 0 combinando 2.46 y 2.47 tenemos i V = eAil hl ...eAi1 h1 ImWhi0o + ... + eAil hl ImWhl−1 + ImWhill l−1 (2.48) Capítulo 2. Sistemas Conmutados 29 el problema de seguimiento de trayectoria es encontrar para algún estado inicial x0 y un estado objetivo xf , ambos del subespacio controlable, una entrada de control u tal que Ai0 h0 Ail hl Ail hl ...e x0 + e xf = x(tl+1 ) = e Z tl+1 + ... + eAil (tl+1 −τ ) Bil u(τ )dτ Ai1 h1 Z ...e t1 eAi0 (t1 −τ ) Bi0 u(τ )dτ (2.49) 0 tl y si consideramos la estrategia de control continuo por pedazos dada por u(t) = BiTk e donde ak ∈ Rn , AT i (tk+1 −t) k ak+1 tk ≤ t < tk+1 k = 0, 1, ..., l (2.50) k = 1, ..., l + 1 es un vector de variables a ser determinado. Combinando 2.49 y 2.50 xf − eAil hl ...eAi1 h1 eAi0 h0 x0 Z t1 T Ail hl Ai1 h1 eA1 (t1 −τ ) B1 B1T eA1 (t1 −τ ) dτ a1 =e ...e (2.51) t0 Z tl+1 + ... + tl eAil (tl+1 −τ ) Bil BiTl e AT i (tl+1 −τ ) l dτ al+1 que es equivalente a xf − eAil hl ...eAi0 h0 x0 = [eAil hl ...eAi1 h1 Whi00 , ..., Whill ]a (2.52) donde a = [aT1 , ..., aTl+1 ]T . Note que xf − eAil hl ...eAi0 h0 x0 ∈ V Esto a consecuencia de 2.51 de la ecuación 2.53. Suponemos que a0 = [aT0,1 , ..., aT0,l+1 ]T es solución de 2.53, definimos la entrada de control como u(t) = BiTk e AT i (tk+1 −t) k a0,k+1 tk ≤ t < tk+1 k = 0, 1, ..., l (2.53) y la trayectoria de conmutación σ(t) = ik t ∈ [tk , tk+1 ) k = 0, 1, ..., l (2.54) dando como resultado: xf = x(tl+1 ; 0; x0 , u, σ) (2.55) Capítulo 2. Sistemas Conmutados 30 que es, la entrada de control por pedazos 2.53 y la trayectoria de conmutación 2.54 constituyendo una solución para el problema de control de un sistema lineal conmutado. Capítulo 3 Control Tolerante a Fallas L a tecnología moderna cada vez con dispositivos realmente sofisticados en el ámbito de control, ha crecido continuamente en requerimientos de optimización, para los procesos, las consecuencias de fallas en componentes o sistemas puede causar accidentes e inclusive llegar a desencadenar desastres de magnitud considerable. La confiabilidad en este tipo de sistemas ha venido incrementándose para asegurar que tales fallas no ocurran, sin embargo, este objetivo es poco realista y a menudo inalcanzable porque las fallas no solo pueden surgir a causa del envejecimiento y desgaste de los componentes del sistema, sino también por fallas humanas en relación al mantenimiento, conexión, operación e instalación. Por lo tanto, se ha vuelto indispensable el diseño de sistemas de control que puedan tolerar en lo posible fallas en componentes para brindar confiabilidad y funcionalidad. Este tipo de sistemas es conocido como sistemas de control tolerantes a fallas (FTCS), que son clasificados en dos categorías: pasivo y activo. En este trabajo de tesis se realiza el análisis y diseño en lo concerniente al control tolerante a fallas activo. En general, un FTCS es aquel sistema de control que tiene la capacidad de hacer frente a variaciones (Robustez), acomodar o reconfigurar el sistema ante un componente fallado, manteniendo la estabilidad y un nivel de degradación aceptable en el rendimiento del sistema, no solo cuando este se encuentra libre de falla, sino también cuando existen anomalías en el mismo. El FTCS es empleado para proveer confiabilidad, mantenibilidad y supervivencia del sistema [51], y sus aplicaciones pueden ser diversas dependiendo de los objetivos y restricciones. Por tanto, en esencia un FTCS puede brindar mantenibilidad incrementando el tiempo entre operaciones de mantenimiento permitiendo el uso de procedimientos de reparación más simples. Las técnicas de diseño para los 31 Capítulo 3. Control Tolerante a Fallas 32 FTCS pueden ser clasificadas en dos enfoques: PFTCS y AFTCS [41], el enfoque particular a ser empleado depende de la capacidad de detección o determinación de las fallas al que un sistema pueda someterse en la fase de diseño, las restricciones intrínsecas y los objetivos que se persiguen en su rendimiento, el comportamiento en los cambios de las fallas inducidas y del tipo de redundancia que ha de ser utilizada en el sistema. La figura 3.1 muestra la clasificación entre estos dos enfoques y el procedimiento de diseño se muestra en la figura 3.2. Figura 3.1: Clasificación del Control Tolerante a Fallas. 3.1. Esquemas de detección y aislamiento de fallas basado en observador S egún el número de observadores, los esquemas de diagnóstico pueden clasificarse en: a) Un solo observador: Esquema directo: Observadores de orden completo SOS (simplified Observer Scheme): orden reducido b) Banco de observadores: DOS (Dedicated Observer Scheme): orden reducido y completo GOS (Generalized Observer Scheme): orden reducido y completo Capítulo 3. Control Tolerante a Fallas 33 de acuerdo al tipo de falla los esquemas de diagnóstico se clasifican en: i) Falla en sensores IFD (Instrument Fault Detection). ii) Falla en actuadores AFD (Actuator Fault Detection). iii) Falla en componentes CFD (Component Fault Detection). En la figura 3.3 se ilustra el diagrama de bloques de un banco de observadores generalizados para FDI en sensores. Figura 3.2: Procedimiento de Diseño del Control Tolerante a Fallas. 3.2. Estructura del Aislamiento de Fallas D e manera general se estudia una forma simplificada del problema del aislamiento de fallas distinguiendo solo la influencia de dos tipos de fallas. Considere el siguiente sistema: ẋ = (A + ∆AF )x + (B + ∆BF )u + Ef f (3.1) y = (C + ∆CF )x + (D + ∆DF )u + Ff f suponga que las fallas bajo consideración son detectables. Hablamos de dos tipos de fallas ξi , ξj , i 6= j, que son aislables si los cambios en la salida del sistema causan que estas fallas sean distinguibles. Este hecho puede ser equivalentemente expresado como: cualquier ocurrencia simultanea de estas Capítulo 3. Control Tolerante a Fallas 34 dos fallas puede provocar un cambio en la salida del sistema. Matemáticamente, tenemos la siguiente definición: Figura 3.3: Banco de Observadores Generalizados para FDI en Sensores. Definición 3.1. [30] Dado el sistema 3.1 y dos tipos de fallas cualesquiera detectables ξ = [ξi , ξj ]T , i 6= j, son aislables, cuando para una entrada u ∈ Uexc,ξi ∩ Uexc,ξj ∂y |ξ=0 ∂ξ dξ 6= 0 (3.2) Esto a consecuencia de que si se tiene un sistema perturbado con fallas, estas requieren distinguirse de entre tales perturbaciones. Definimos un vector de fallas como: ξ = [ξ1 , ..., ξl ]T (3.3) que incluye l fallas detectables estructuralmente a ser aisladas. Definición 3.2. [30] Dado el sistema 3.1 las fallas contenidas en el vector de fallas son aislables, cuando para toda la entrada u ∈ ∩li=1 Uexc,ξi ∂y |ξ=0 ∂ξ dξ 6= 0 (3.4) Para fallas aditivas tomamos la definición anterior, este concepto es idéntico al de observabilidad de entrada conocido e intensamente estudiado en la literatura, para simplificar el caso de estudio, Capítulo 3. Control Tolerante a Fallas 35 primero se considera Gξ (p) = C(pI − A)−1 Eξ y siguiendo el teorema de Cayley-Hamilton que 1 C(pI − A)−1 Eξ = C φ(p) n X ! Si pn−i i=1 1 C Eξ φ(p) n X ! αi (p)Ai−1 Eξ φ(p) = det(pI − A) = pn + a1 pn−1 + a2 pn−2 + ... + an−1 p + an Si = Si−1 A + ai−1 I, S1 = I, (3.5) i=1 (3.6) i = 2, ..., n α1 (p) = pn−1 + a1 pn−2 + ... + an−1 , ..., αn−1 (p) = p + a1 , αn (p) = 1 Reescribiendo −1 C(pI − A) CEξ CAEξ 1 [α1 (p)I α2 (p)I ... αn (p)I] Eξ = .. φ(p) . n−1 CA Eξ (3.7) es obvio que CEξ CAEξ rank <l . .. n−1 CA Eξ entonces existe una entrada u cuyo campo vectorial CEξ CAEξ u = 0 =⇒ C(pI − A)−1 Eξ u = 0 .. . n−1 CA Eξ entonces CEξ CAEξ rank =l .. . n−1 CA Eξ que es condición necesaria para el aislamiento de fallas. (3.8) Capítulo 3. Control Tolerante a Fallas 3.3. 36 Observador de Luenberguer Generalizado C onsidere el sistema LTI por pedazos sin perturbaciones: ẋ = Ai x + Bi u (3.9) y = Ci x Donde x ∈ Rn es el vector de estados; y ∈ Rm es el vector de salida y u ∈ Rr el vector de entrada conocido, A, B, C son matrices conocidas de dimensiones apropiadas, ademas se supone que el sistema es observable. El modelo se conoce con la estructura y los parámetros del sistema, un observador de estados se utiliza para reconstruir las variables de estado no medibles, a partir de las entradas y salidas medidas. x̂˙ = Ai x̂ + Bi u + L(y − Ci x̂) (3.10) Donde x̂ ∈ Rn corresponde al vector de estados estimado y L ∈ Rn×m es el término de convergencia del observador, cuando el observador 3.10 es aplicado al sistema 3.9, el error de estimación e = (x−x̂) es gobernado por la ecuación. ė = (Ai − LCi )e (3.11) Si todos los eigenvalores de Ai − LCi son estables, e se aproximará a cero asintóticamente, si alguna pertubación se añade al sistema como es el caso de un sistema LTI por pedazos con perturbación, entonces el observador de Luenberguer no será capaz de estimar correctamente los estados a no ser que cierta restricción se aplique a la norma de la señal de perturbación, sin embargo, se puede llegar a obtener buenos resultados mediante un diseño adecuado de la matriz de ganancias del observador [1, 4]. Si tenemos por lo tanto un sistema de la forma ẋ(t) = Ax(t) + Bu(t) + Ez(t), (3.12) y(t) = Cx(t) + Du(t) + Gw(t) tendremos un observador generalizado [12] ż(t) = Fz(t) + Ky(t) + Ju(t) w(t) = Gz(t) + Ry(t) + Su(t) (3.13) Capítulo 3. Control Tolerante a Fallas 37 en el que ahora el término de convergencia estará dado por lı́m [w(t) − Lx(t)] = 0 t→∞ (3.14) para que el observador 3.13 pueda ser aplicado al sistema 3.12 se deben satisfacer las siguientes condiciones F debe tener eigenvalores estables (3.15) TA − FT = KC J = TB − KD RC + GT = L S + RD = 0 si hacemos L=C (3.16) ŷ(t) = w(t) + Du(t) (3.17) r(t) = Q[y(t) − ŷ(t)] = L1 z(t) + L2 y(t) + L3 u(t) (3.18) la salida estimada del observador será y el residuo donde L1 = −QG (3.19) L2 = Q − QR L3 = −Q (S + D) para el caso de estudio solo se agrega el subíndice i ∈ M al sistema general. La estructura del observador generalizado se muestra en la siguiente figura: Capítulo 3. Control Tolerante a Fallas 38 Figura 3.4: Observador de Luenberguer Generalizado. 3.4. Observador de Entradas Desconocidas de Orden Completo C onsidere el siguiente sistema en el cual una clase de incertidumbre (entrada desconocida) se adiciona a las ecuaciones dinámicas en espacio de estados descrita por: ẋ(t) = Ax(t) + Bu(t) + Ed(t) (3.20) y(t) = Cx(t) + We(t) donde x(t) ∈ Rn es el vector de estados, y(t) ∈ Rm es el vector de salidas, u(t) ∈ Rr es el vector de entradas conocidas, y d(t), e(t) ∈ Rq son los vectores de entradas desconocidas (perturbaciones). A, B, C, E y W son matrices conocidas de dimensiones apropiadas. la estructura del observador de entradas desconocidas es: ż(t) = Fz(t) + TBu(t) + Ky(t) (3.21) x̂(t) = z(t) + Hy(t) donde x̂ ∈ Rn es el vector de estados estimados y z ∈ Rn es el estado del observador, F, T, K, H son matrices a ser diseñadas de manera que desacoplen entradas desconocidas y otros requisitos de diseño. Cuando el observador 3.21 se aplica al sistema 3.20, el error de estimación (e(t) = x(t)− x̂(t)) Capítulo 3. Control Tolerante a Fallas 39 es gobernado por la siguiente ecuación: ė(t) = (A − HCA − K1 C)e(t) + [F − (A − HCA − K1 C)] z(t) (3.22) + [K2 − (A − HCA − K1 C)H] y(t) + [T − (I − HC)] Bu(t) + (HC − I)Ed(t) donde K = K1 + K2 (3.23) se puede diseñar el observador solo si las siguientes condiciones se cumplen: (HC − I) = 0 (3.24) T = I − HC F = A − HCA − K1 C K2 = FH entonces el error de estimación será: ė(t) = Fe(t) (3.25) Para el caso de CFD se requiere descomponer el sistema en subsistemas y utilizar observadores jerarquizados, la localización no es evidente ni el proceso de diseño general.1 La estructura del observador de entradas desconocidas se muestra en la figura 3.5 Figura 3.5: Observador de Entradas Desconocidas de Orden Completo. 1 Más información refierase a Chen y Patton, Robust Model-Based Fault Diagnosis for Dynamic Systems Capítulo 3. Control Tolerante a Fallas 3.5. 40 Control por Retroalimentación de Estados L a modificación del comportamiento de un sistema de m entradas, n salidas y p estados, es lo que involucra la teoría de control lineal trabajando con variables de estado, consideremos el siguiente sistema: ẋ = Ax(t) + Bu(t), (3.26) y = Cx(t) + Du(t) que denominamos como ecuación de estados o planta en lazo abierto, si aplicamos una retroalimentación lineal de estados de la forma: u(t) = Nr(t) − Kx(t) (3.27) donde r(t) es el nombre actual para la señal de entrada, K es la ganancia de retroalimentación de estados y N la ganancia de prealimentación, la sustitución de 3.27 en 3.26 nos arroja la siguiente ecuación de estados en lazo cerrado: ẋ = (A − BK)x(t) + BNr(t), (3.28) y = Cx(t) + DNr(t) es importante señalar que cuando los estados del sistema no pueden medirse, se recurre a estimarlos mediante un observador de estados, que reconstruye x a partir de medir la entrada y salida del sistema, siendo este último un controlador dinámico por retroalimentación de salida. Las figuras 3.6 y 3.7 presentan estos dos tipos de esquemas de control. si ahora consideramos el sistema Figura 3.6: Esquema de Control por Retroalimentación de Estados. Capítulo 3. Control Tolerante a Fallas 41 Figura 3.7: Esquema Dinámico de Control por Retroalimentación de Estados. ẋ(t) = Ax(t) + Bu(t) + Ez(t), (3.29) y(t) = Cx(t) + Du(t) + Gw(t) y le aplicamos la ley de control 3.27 la solución del sistema estará dada por (A−BK)t y(t) = Ce Z t x0 + C e(A−BK)(t−τ ) Br(τ )dτ (3.30) 0 por lo tanto para cierta condición inicial y entrada u = 0 tenemos t→∞ y(t) = Ce(A−BK)t x0 −→ 0 (3.31) y para el caso en el que u 6= 0 t→∞ y(t) −→ a Z t t→∞ e(A−BK)(t−τ ) B(τ )dτ a −→ a y(t) = Ce(A−BK)t x0 +N C | {z } 0 (3.32) (3.33) t→∞ −→ 0 la ganancia de prealimentación esta dada por Z ⇔ N ∞ e(A−BK)σ Bdσ = 1 (3.34) 0 ⇔ N C(sI − A + BK)−1 B |s=0 = 1 1 ⇔ N =− C(A − BK)−1 B si se agrega acción integral para corregir el error en estado estacionario y rechazo a perturbaciones ẋi = r − y = r − Cx (3.35) Capítulo 3. Control Tolerante a Fallas " ẋ # " = ẋi A 42 0 #" −C 0 " y = [C 0] x x # xi # " + B # " (u + w) + D 0 # r 1 (3.36) xi que es el sistema aumentado, la respuesta en lazo cerrado estará determinada por " ẋ ẋi # " = A − BK −Bki −C " y = [C 0] x 0 # #" x # xi " + B # D " (u + w) + 0 1 # r (3.37) xi el diagrama de bloques con acción integral se muestra en la figura 3.8. Para llevar a cabo esta Figura 3.8: Control por Retroalimentación de Estados con Acción Integral. técnica de diseño se requiere que el sistema sea completamente controlable si se quiere hacer control utilizando todas las entradas, y completamente observable para el diseño del controlador dinámico, además de buscar la ganancia óptima (estabilización por ubicación de polos) y diseñar el esquema de regulación y seguimiento para lograr desempeño y robustez. 3.6. 3.6.1. Fundamentos del Control LQR Formulación General del Control LQR P ara el modelo expresado en espacio de estados 3.26, la técnica LQR calcula la matriz de control K tal que, realizando un control con realimentación de estado expresada mediante la ecuación u = −Kx(t) se minimiza la función de costo (índice de desempeño cuadrático) J en el intervalo de Capítulo 3. Control Tolerante a Fallas 43 tiempo considerado (intervalo de optimización): Z J= ∞ (xT (t)Qx(t) + uT (t)Ru(t))dt + xT (t)M x(t) 0 Los términos que componen la función de costo se interpretan de la siguiente manera: xT Qx es una medida de la desviación de los estados respecto a los estados deseados uT Ru es una medida del esfuerzo de control xT (t)M x(t) es una medida de la desviación de los estados respecto a los estados en el instante final del intervalo de optimización Considerando que los estados x de la ecuación en el espacio de estado representan estados incrementales, el objetivo del control LQR consiste en llevar los estados x los más cerca posible de los estados de consigna o de referencia xconsigna =0, figura 3.9. El diseñador del control LQR determina las matrices Q, RyM , cuyos elementos deben ser positivos o cero. La técnica LQR ofrece un con- Figura 3.9: Diagrama de Bloques del Control Lineal Cuadrático. trolador tal que se controla el sistema de forma óptima a partir de la minimización de la función de costo J previamente definida. En consecuencia, el control es óptimo para la función de costo definida, y depende de la habilidad del diseñador establecer una función de costo que se ajuste lo más fielmente posible a las necesidades de control del sistema. 3.6.2. Obtención de la Matriz K(t). Ecuación de Riccati A nteriormente establecimos que la ley de control óptima por realimentación de estado es u(t) = −K(t)x donde la matriz de control K corresponde a la siguiente expresión: K = R−1 B T P Capítulo 3. Control Tolerante a Fallas 44 La matriz P se obtiene solucionando la ecuación de Riccati 3.38 considerando las condiciones de frontera 3.39 3.6.3. − Ṗ = AT P + P A + Q − P BR−1 B T P (3.38) P (t) = M (3.39) LQR en Régimen Permanente S i se considera que el intervalo de optimización es infinito, la matriz resultante de la ecuación de Riccati P es constante y, por lo tanto, la matriz de control K también lo es. El controlador óptimo es invariante frente al tiempo en régimen permanente u(t) = −Kx(t). La solución de la ecuación de Riccati en régimen permanente es independiente de la matriz M . En consecuencia, si se desea calcular la matriz K de control para régimen permanente se puede reducir la función de costo J a la ecuación 3.40 al poder prescindir del término xT (t)M x(t). En este caso es menester definir las matrices Q y R. Z J= ∞ (xT Qx + uT Ru)dt (3.40) 0 El cálculo de la matriz de control K, a partir del modelo en espacio de estado y una vez definidas las matrices Q y R, es sencillo si empleamos M atlabr para este propósito. Si el sistema en espacio de estado es controlable y observable, existe una única matriz de control óptimo K tal que el sistema en lazo cerrado con el control u = −Kx es asintóticamente estable. En otras palabras, es condición suficiente que el sistema sea controlable y observable para garantizar la solución de la ecuación de Riccati y la existencia de una matriz de control óptimo en régimen permanente. 3.6.4. Elección de las Matrices Q y R N o existe una regla o guías que puedan emplearse de forma general para la selección de las matrices Q y R. Una condición simple consiste en elegir Q y R diagonales, asignando valores grandes a aquellas variables que se desee minimizar. En cualquier caso, los valores de estas matrices deben ser siempre positivos. El conocimiento que se posea del sistema resulta fundamental en la selección de estas matrices, aún así, es conveniente calcular diferentes controladores o reconfigurar el que se tiene en base a distintos valores para las matrices y verificar su efectividad. Una ventaja importante del control LQR es que, sea cual sea la elección de las matrices Q y R, se preserva la estabilidad asintótica y robustez del controlador. Capítulo 3. Control Tolerante a Fallas 3.6.5. 45 Robustez del Controlador LQR E l control LQR, además de asegurar la estabilidad, es un control robusto. Presenta un margen de fase mínimo de 60 deg, un margen de ganancia creciente infinito y un margen de ganancia decreciente de 0.5, esto supone que el sistema en lazo cerrado con LQR resulta estable para cualquier incremento de la ganancia y para todas aquellas ganancias superiores a la mitad del valor nominal de diseño. La adición de parte integral otorga la capacidad de eliminar los errores de régimen permanente ocasionados por perturbaciones, además proporciona robustez frente a variaciones en los parámetros del modelo del sistema, empleado tanto para calcular el punto de trabajo (x, u) como las matrices del controlador (kP , kI ). En particular, el controlador ajusta automáticamente la salida del integrador para suministrar un valor suficiente a las variables de entrada tal que mantengan los estados al valor de consigna. La parte integral se muestra especialmente interesante en aquellos casos en que se emplea el modelo de pequeña señal en el cálculo del controlador LQR, modelo que depende del punto de operación. El error cometido al emplear un modelo lejos de su punto de trabajo puede ser corregido con la acción integral. Si se tiene en cuenta la robustez del controlador LQR, la acción integral permite alcanzar error estacionario nulo, incluso con grandes errores en el modelo. Otra virtud del control LQR en referencia a su robustez es que presenta una sensibilidad inferior o igual a la unidad para todo margen de frecuencias. Esto supone que la función de transferencia del modelo completo varía relativamente poco frente a la variación de los elementos del sistema, para cualquier frecuencia. En resumen, el control LQR reúne las siguientes propiedades: 1. La ley de control es óptima para la función de costo (índice de desempeño) J definida por el diseñador 2. Amplios márgenes de fase y ganancia, así como amplia tolerancia a la reducción de ganancia 3. Sensibilidad reducida y robusta 4. Repuesta en frecuencia con una pendiente de caída suave a alta frecuencia. A diferencia de las tres anteriores, esta no es una propiedad atractiva para un sistema de control, pero en sistemas eléctricos y electrónicos, los componentes de alta frecuencia suelen ser atenuados por filtros pasivos del circuito Capítulo 4 Modelo no lineal del Avión 4.1. Dinámica del Avión En este capítulo se realizará el análisis de las ecuaciones de movimiento para el avión de combate Falcon F-16, basados en los preceptos establecidos en las referencias [24][13][53]. Una discusión a profundidad puede estudiarse en el reporte [36]. 4.1.1. Marco de Referencia Los marcos de referencia utilizados en este trabajo de investigación se basan en el modelo de ejes cuerpo para tierra plana FE , utilizados como el marco inercial y el marco de referencia local de la tierra llevado hasta el vehículo FO , el cual es el eje origen en el centro de gravedad del avión de importancia para establecer la orientación con base a FE , el marco de referencia con respecto a los ejes de viento FW se obtienen en base a FO dadas tres rotaciones sucesivas χ, γ y µ. El marco de referencia con respecto a los ejes de estabilidad FS se obtiene con base a FW dada una rotación −β, y finalmente el marco de referencia de ejes de cuerpo FB obtenido con FS por una rotación de α. Este marco de referencia puede también obtenerse de manera directa con base a FO por las rotaciones sucesivas de el ángulo de cabeceo θ, el ángulo de alabeo φ y el ángulo de viraje ψ. Los ejes de cuerpo en el modelo de un F16 son convencionales, el eje x es positivo fuera de la nariz del avión, el eje y es positivo fuera del ala derecha si se esta sentado en el fuselaje de control y se mira fuera del frente del avión, el eje z es normal a los ejes anteriores y positivo hacia abajo cuando el avión navega en alas a nivel. los momentos con base a los ejes anteriores obedecen la regla de la mano derecha y son nombrados M, L y N respectivamente. Los ángulos de Euler (alabeo, cabeceo 46 Capítulo 4. Modelo no lineal del Avión 47 y viraje) φ, θ y ψ así como sus velocidades angulares p(φ̇), q(θ̇) y r(ψ̇) son también considerados positivos usando la regla de la mano derecha para cada eje. Ver figura 4.1. Figura 4.1: Ejes de cuerpo en un F-16, (x, y y z) L momento de giro, M momento de cabeceo, N momento de viraje, p velocidad angular de alabeo, q velocidad angular de cabeceo, r velocidad angular de viraje. Las matrices de transformación desde FB a FS y desde FB a FW se definen como cosα 0 sinα Ts/b = 1 0 0 , −sinα 0 cosα 4.1.2. cosαcosβ sinβ sinαcosβ Tw/b = −cosαsinβ cosβ −sinαsinβ −sinα 0 cosα (4.1) Variables del Avión Antes de proceder a desarrollar las ecuaciones de movimiento que definen la dinámica propia del avión, deben tenerse en cuanta las siguientes consideraciones: 1. El avión es un cuerpo rígido, lo cual significa que no existe variación con respecto a cualquier eje fijo. Esta consideración es válida para un avión de combate pequeño. 2. La tierra es plana y no tiene rotación y se estima como una referencia inercial. La consideración es válida cuando se trata con el diseño de controladores para el avión, excepto cuando se analizan los sistemas de dirección inercial. 3. La masa del avión es constante durante el intervalo de tiempo sobre el que se considera el movimiento, el consumo del combustible es omitido durante este intervalo de tiempo. Esta consideración es necesaria para aplicar las ecuaciones de movimiento de Newton. 4. La distribución del peso del avión es simétrico y relativo al plano x − z, esto implica que los productos inerciales Iyz e Ixy son igual a cero. Capítulo 4. Modelo no lineal del Avión 48 Bajo las consideraciones anteriores el movimiento del avión posee seis grados de movimiento (rotacionales y traslacionales en tres dimensiones). La dinámica del avión puede ser descrita mediante su posición, orientación, velocidad y velocidades angulares con respecto al tiempo. PE = (xE , yE , zE )T es el vector de posición expresado en el sistema coordenado tridimensional con base al eje de la tierra. V es el vector de velocidad dado por V = (u, v, w)T , donde u es la velocidad longitudinal, v la velocidad lateral y w la velocidad normal a las anteriores. El vector de orientación esta dado por Φ = (φ, θ, ψ)T , y el vector de velocidades angulares esta dado por ω = (p, q, r)T , ver figura 4.2. La relación entre el vector de altitud Φ y el vector de velocidades angulares ω esta dada por 1 sinφtanθ cosφtanθ Φ̇ = cosφ −sinφ ω 0 cosφ sinφ 0 cosθ cosθ (4.2) Definiendo VT como la velocidad total y utilizando la figura 4.2 p u2 + v 2 + w2 w α = arctan u v β = arcsin VT VT = (4.3) Cuando β = φ = 0, el ángulo de trayectoria de vuelo γ puede ser definido como Figura 4.2: Ángulos de orientación del avión φ, θ y ψ, ángulos aerodinámicos α y β, y velocidades angulares p, q y r. Todos positivos en la figura. γ =θ−α (4.4) Capítulo 4. Modelo no lineal del Avión 4.1.3. 49 Ecuaciones de movimiento para el avión de cuerpo rígido Las ecuaciones de movimiento para el avión se derivan de la segunda ley de movimiento de Newton, en el cual los estados son resultado de la combinación de todas las fuerzas externas actuando sobre el cuerpo del avión igual a la tasa de cambio en el tiempo de los momentos, y la suma de los momentos externos actuando sobre el cuerpo rígido es igual a la tasa de cambio en el tiempo de los momentos angulares. En el marco de referencia inercial con ejes de tierra FE , la segunda ley de Newton puede ser expresada mediante dos ecuaciones vectoriales [36] F = d (mV ) |E dt (4.5) dH |E dt (4.6) M= donde F representa la suma de todas las fuerzas externas aplicadas, m es la masa del avión, M representa la suma de todos los momentos aplicados y H es el momento angular. 4.1.4. Ecuaciones de Fuerza Para evaluar favorablemente la ecuación de fuerza (4.5) es necesario obtener una expresión para la tasa de cambio en el tiempo del vector de velocidad con respecto al eje de la tierra. Esto es complicado por el hecho que el vector de velocidad puede variar cuando cambia de magnitud. Usando la ecuación de Coriolis resulta en F = d (mV ) |B +ω × mV dt (4.7) donde ω es el vector de velocidad angular del avión con respecto a la tierra (marco de referencia inercial). Expresando los vectores como la suma de los componentes propios con respecto al marco de referencia en ejes de cuerpo FB V = iu + jv + kw (4.8) ω = ip + jq + kr (4.9) donde i, j y k son vectores unitarios a lo largo de los ejes del avión xB , yB y zB respectivamente. Expandiendo (4.7) usando (4.8) y (4.9) Fx = m(u̇ + qw − rv) Fy = m(v̇ + ru − pw) Fz = m(ẇ + pv − qu) (4.10) Capítulo 4. Modelo no lineal del Avión 50 donde las fuerzas externas Fx , Fy y Fz dependen del vector de peso W , el vector de fuerzas aerodinámicas R y el vector de propulsión R. Se asume que la propulsión producida por el motor, FT , actúa paralela al eje XB del avión. Entonces Ex = FT (4.11) Ey = 0 Ez = 0 Los componentes de W y R a lo largo de los ejes de cuerpo son Wx = −mgsinθ (4.12) Wy = mgsinφcosθ Wz = mgcosφcosθ y Rx = X̄ (4.13) Ry = Ȳ Rz = Z̄ donde g es la constante de gravedad. La magnitud de las fuerzas aerodinámicas X̄, Ȳ y Z̄ son determinadas por la acumulación de aire formada por el avión en diferentes direcciones. Este efecto depende de los siguientes factores: La velocidad total VT (número de Mach M ) y la densidad del flujo de aire ρ La geometría del avión: área de las alas S, envergadura b y la cuerda media aerodinámica c̄ La orientación del avión relativa al flujo de aire: angulo de ataque α y el ángulo de deslizamiento lateral β Las deflexiones de las superficies de control δ Las velocidades angulares p, q y r Existen otras variables tales como las derivadas con respecto al tiempo de los ángulos aerodinámicos que juegan rol importante, sin embargo estos efectos pueden ser despreciados ya que asumimos que el Capítulo 4. Modelo no lineal del Avión 51 avión es un cuerpo rígido. lo anterior motiva la manera común del modelado de fuerzas aerodinámicas X̄ = q̄SCxT (α, β, p, q, r, δ, ...) (4.14) Ȳ = q̄SCyT (α, β, p, q, r, δ, ...) Z̄ = q̄SCzT (α, β, p, q, r, δ, ...) donde q̄ = 21 ρVT2 es la presión aerodinámica. ρ es la densidad del aire acorde con la ISA (Atmósfera Standard Internacional). Los coeficientes CxT , CyT y CzT con obtenidos de manera heurística mediante pruebas en el túnel de viento. Combinando las ecuaciones (4.12) y (4.13) y los componentes de la propulsión (4.11) con (4.10), resulta en la ecuación completa para ejes de cuerpo X̄ + FT − mgsinθ = m(u̇ + qw − rv) (4.15) Ȳ + mgsinφ cos θ = m(v̇ + ru − pw) Z̄ + mgcosφ sin θ = m(ẇ + pv − qu) 4.1.5. Ecuaciones de Momentos Para obtener las ecuaciones de momentos para el movimiento angular, consideremos nuevamente las ecuación (4.6). La tasa de cambio en el tiempo de H es requerida y si la ecuación cambia de magnitud y dirección, puede reescribirse como M= dH |B +ω × H dt (4.16) en el marco de referencia en ejes de cuerpo, bajo las consideraciones de cuerpo rígido y masa constante, el momento angular H puede ser expresado como H = Iω (4.17) donde, bajo la consideración de simetría del avión, la matriz de inercias es Ix 0 I= Iy 0 −Ixz 0 −Ixz 0 Iz (4.18) Capítulo 4. Modelo no lineal del Avión 52 expandiendo (4.16) y (4.17) Mx = ṗIx − ṙIxz + qr(Iz − Iy ) − pqIxz (4.19) My = q̇Iy + pq(Ix − Iz ) + (p2 − r2 )Ixz Mz = ṙIz − ṗIxz + pq(Iy − Ix ) + qrIxz los momentos externos Mx , My y Mz se combinan aerodinámicos y angulares de propulsión. Como resultado los momentos aerodinámicos son Mx = L̄ (4.20) My = M̄ − rHeng Mz = N̄ + qHeng donde L̄, M̄ y N̄ son los momentos aerodinámicos y Heng es el momento producido por el motor. Los momentos aerodinámicos se expresan de manera similar a las fuerzas aerodinámicas L̄ = q̄SbClT (α, β, p, q, r, δ, ...) (4.21) M̄ = q̄Sc̄CmT (α, β, p, q, r, δ, ...) N̄ = q̄SbCnT (α, β, p, q, r, δ, ...) Combinando (4.19) y (4.20), la ecuación completa de momentos en ejes de cuerpo es L̄ = ṗIx − ṙIxz + qr(Iz − Iy ) − pqIxz (4.22) M̄ − rHeng = q̇Iy + pq(Ix − Iz ) + (p2 − r2 )Ixz N̄ − qHeng = ṙIz − ṗIxz + pq(Iy − Ix ) + qrIxz 4.1.6. Resumen de las ecuaciones de movimiento Las ecuaciones de movimiento previamente desarrolladas se resumen y se escriben como un sistema de 12 ecuaciones diferenciales de primer orden 1 (X̄ + FT ) m 1 v̇ = pw − ru + gsinφcosθ + Ȳ m 1 ẇ = qu − pv + gcosφcosθ + Z̄ m u̇ = rv − qw − gsinθ + (4.23) (4.24) (4.25) Capítulo 4. Modelo no lineal del Avión 53 ṗ = (c1 r + c2 p)q + c3 L̄ + c4 (N̄ + qHeng ) (4.26) q̇ = c5 pr − c6 (p2 − r2 ) + c7 (M̄ − rHeng ) (4.27) ṙ = (c8 p − c2 r)q + c4 L̄ + c9 (N̄ + qHeng ) (4.28) φ̇ = p + tanθ(qsinφ + r cos φ) (4.29) θ̇ = qcosφ − rsinφ (4.30) qsinφ + rcosφ cosφ (4.31) ψ̇ = ẋE = ucosψcosθ + v(cosψsinθsinφ − sinψcosφ) (4.32) + w(cosψsinθcosφ + sinψsinφ) ẏE = usinψcosθ + v(sinψsinθsinφ + cosψcosφ) (4.33) + w(sinψsinθcosφ − cosψsinφ) żE = −usinθ + vcosθsinφ + wcosθcosφ (4.34) 1 Iy (4.35) donde 2 Γc1 = (Iy − Iz)Iz − Ixz Γc4 = Ixz Γc2 = (Ix − Iy + Iz )Ixz c5 = Γc3 = Iz c6 = Ixz Iy Iz − Ix Iy c7 = 2 Γc8 = Ix (Ix − Iy ) + Ixz Γc9 = Ix (4.36) (4.37) con 2 Γ = Ix Iz − Ixz (4.38) Las ecuaciones de movimiento anteriores se utilizan empleando el modelo para la orientación del avión mediante la aproximación de los ángulos de Euler, la desventaja de método es que las ecuaciones diferenciales para ṗ y ṙ presentan una singularidad cuando el ángulo de cabeceo θ = ± π2 . Para evitar este problema se emplea un modelo de 13 ecuaciones diferenciales donde se evitan las singularidades, un análisis a detalle de este procedimiento puede encontrarse en [53]. 1 (X̄ + FT ) + 2(q1 q3 − q0 q2 )g m 1 v̇ = pw − ru + Ȳ + 2(q2 q3 + q0 q1 )g m 1 ẇ = qu − pv + Z̄ + (q02 − q12 − q22 + q32 )g m u̇ = rv − qw + (4.39) (4.40) (4.41) Capítulo 4. Modelo no lineal del Avión 54 ṗ = (c1 r + c2 p)q + c3 L̄ + c4 (N̄ + qHeng ) (4.42) q̇ = c5 pr − c6 (p2 − r2 ) + c7 (M̄ − rHeng ) (4.43) ṙ = (c8 p − c2 r)q + c4 L̄ + c9 (N̄ + qHeng ) (4.44) q̇0 0 −p −q −r q 0 q̇ 1 p 0 r −q q1 1 q̇ = = q̇2 2 q −r 0 p q2 q̇3 q3 r q −p 0 (4.45) x˙E u q02 + q12 − q22 − q32 2(q1 q2 − q0 q3 ) 2(q1 q3 − q0 q2 ) 2 2 2 2 y˙E = 2(q1 q2 + q0 q3 ) q0 + q1 − q2 − q3 2(q2 q3 − q0 q1 ) v 2 2 2 2 z˙E w 2(q1 q3 − q0 q2 ) 2(q2 q3 + q0 q1 ) q0 + q1 − q2 − q3 (4.46) q̇0 cosφ/2cosθ/2 cos ψ/2 + sinφ/2sinθ/2sinψ/2 q̇ sinφ/2cosθ/2 cos ψ/2 − cosφ/2sinθ/2sinψ/2 1 q̇ = = ± q̇2 cosφ/2cosθ/2 cos ψ/2 + sinφ/2cosθ/2sinψ/2 q̇3 cosφ/2cosθ/2 sin ψ/2 − sinφ/2sinθ/2cosψ/2 (4.47) donde empleando (4.45) para describir la dinámica de la altitud significa que las cuatro ecuaciones diferenciales se integran como si los elementos cuaternarios fueran independientes. Sin embargo, la condición p de normalización |q| = q02 + q12 − q22 − q32 = 1 y la restricción derivativa q0 q̇0 +q1 q̇1 +q2 q̇2 +q3 q̇3 = 0 puede no satisfacer las condiciones de optimización mediante el paso de integración así como el redondeo numérico de los errores. Después de cada paso de integración las restricciones pueden reestablecerse sustrayendo las discrepancias de las derivadas cuaternarias. La dinámica cuaternaria corregida es [24] q̇ = q̇ − δq donde δ = q0 q̇0 + q1 q̇1 + q2 q̇2 + q3 q̇3 (4.48) Capítulo 4. Modelo no lineal del Avión 4.1.6.1. 55 Ecuaciones de Fuerza en Ejes de Viento Para el diseño de control es conveniente la transformación de las ecuaciones de fuerza (4.39)-(4.41) al marco de referencia en ejes de viento y derivando la ecuación (4.3) tenemos [53] V̇T = 1 (−D + FT cosαcosβ + mg1 ) m α̇ = q − (pcosα + rsinα)tanβ − β̇ = psinα − rcosα + 1 (L + FT sinα − mg3 ) mVT cosβ 1 (Y − FT cosαsinβ + mg2 ) mVT (4.49) (4.50) (4.51) donde la fuerza de arrastre (resistencia) D, la fuerza lateral Y y la fuerza de sustentación L son definidas como D = −X̄cosαcosβ − Ȳ sinβ − Z̄sinαcosβ (4.52) Y = −X̄cosαsinβ − Ȳ cosβ − Z̄sinαsinβ (4.53) L = X̄sinα − Z̄cosβ (4.54) y los componentes de la gravedad son 4.2. g1 = g(−cosαcosβsinθ + sinβsinφcosθ + sinαcosβcosφcosθ) (4.55) g2 = g(cosαsinβsinθ + cosβsinφcosθ − sinαsinβcosφcosθ) (4.56) g3 = g(sinαsinθ + cosαcosφcosθ) (4.57) Variables de Control y Modelado del Motor El modelo del avión Falcon F-16 cuenta para su control con la propulsión, elevadores, alerones y el timón. La propulsión positiva causa un incremento en la aceleración a lo largo del eje xB , la deflexión del elevador positiva resulta en un decremento en la velocidad angular de cabeceo, la deflexión del alerón positiva causa un decremento en la velocidad angular de alabeo y por último la deflexión positiva del timón resulta en un decremento de la velocidad angular de viraje. El F-16 también cuenta con un alerón en el borde de ataque el cual ayuda al vuelo del avión a grandes ángulos de ataque. La defexión de este alerón δLEF no es controlada directamente por el piloto, es gobernada por la siguiente función de transferencia dependiente del ángulo de ataque, las presiones dinámica y estática δLEF = 1,38 2s + 7,25 q̄ α − 9,05 + 1,45 s + 7,25 ps (4.58) Capítulo 4. Modelo no lineal del Avión 56 La deflexión diferencial del elevador, alerón del borde de salida, el servomecanismo de navegación y los frenos no se incluyen en este modelo ya que los datos no están disponibles. Las superficies de control del F-16 son manipuladas por actuadores servo controlados comandadas por el sistema de control de vuelo. Tales superficies son modeladas como un filtro pasa bajas de primer orden con ciertas ganancias y limites de saturación en los rangos permisibles. Estos limites se muestran en el cuadro 4.1. Las ganancias de los actuadores son 1/0.136 para el alerón del borde de ataque y 1/0.0495 para las otras superficies de control. El F-16 es impulsado por un potente monomotor F110-GE-129 Cuadro 4.1: Valores Máximos y Mínimos de las Variables de Control. Control Elevador Alerones Timón δLEF Unidades deg deg deg deg Min. -25 -21.5 -30 0 Máx. 25 21.5 30 25 Límite ± 60 deg/s ± 80 deg/s ± 120 deg/s ± 25 deg/s de General Electric de 131,6 kN (29588 libras-f), o un F100-PW-229 de Pratt & Whitney de 129,4 kN (29.100 libras-f) turbofan con postcombustión, como alternativa al estándar. La respuesta de propulsión es modelada como un sistema de primer orden. 4.3. Geometría y Datos Aerodinámicos Los datos aerodinámicos del modelo en cuestión fueron obtenidos en el túnel de viento con un modelo a escala en la NASA [39]. La cubierta de vuelo subsónica esta dada por -20 ≤ α ≤ 90 grados -30 ≤ β ≤ 30 grados El coeficiente del momento de cabeceo Cm y Cz ambos dependen de tres variables: el ángulo de ataque, al ángulo del alerón lateral y la deflexión del elevador. Estos coeficientes se asumen como sigue a continuación. Para el coeficiente de fuerza en el eje X CXT CXT δLEF = CX (α, β, δe ) + δCXLEF 1 − 25 qc̄ δLEF + CXq (α) + δCXqLEF (α) 1 − 2VT 25 donde δCXLEF = CXLEF (α, β) − CX (α, β, δe = 0◦ ) (4.59) Capítulo 4. Modelo no lineal del Avión 57 Figura 4.3: Coeficientes Aerodinámicos Obtenidos en el Túnel de Viento Para el F-16. para el coeficiente de fuerza en el eje Y CYT C YT δLEF = CY (α, β) + δCYLEF 1 − 25 δLEF δa + δCYδa + δCYδaLEF 1 − 25 20 rb δLEF + δCYδr + CYr (α) + δCYrLEF (α) 1 − 2VT 25 pb δLEF + CYp (α) + δCYpLEF (α) 1 − 2VT 25 (4.60) donde δCYLEF = CYLEF (α, β) − CY (α, β) δCYδa = CYδa (α, β) − CY (α, β) δCYδa LEF = δCYδa LEF (α, β) − CYLEF (α, β) − δCYδa δCYδr = δCYδr (α, β) − CY (α, β) para el coeficiente de fuerza en el eje Z CZT CZ T δLEF = CZ (α, β, δe ) + δCZLEF 1 − 25 qc̄ δLEF + CZq (α) + δCZqLEF (α) 1 − 2VT 25 donde δCZLEF = CZLEF (α, β) − CZ (α, β, δe = 0◦ ) (4.61) Capítulo 4. Modelo no lineal del Avión 58 para el coeficiente de momento de giro ClT Cl T δLEF = Cl (α, β) + δClLEF 1 − 25 δa δLEF + δClδa + δClδaLEF 1 − 25 20 δr δLEF rb + δClδr Clr (α) + δClrLEF (α) 1 − + 30 2VT 25 pb δLEF + Clp (α) + δClpLEF (α) 1 − + δClβ (α)β 2VT 25 (4.62) donde δClLEF = ClLEF (α, β) − Cl (α, β, δe = 0) δClδa = Clδa (α, β) − Cl (α, β, δe = 0) δClδa LEF = δClδa LEF (α, β) − ClLEF (α, β) − δClδa δClδr = δClδr (α, β) − Cl (α, β, δe = 0) para el coeficiente de momento de cabeceo CmT CmT δLEF = Cm (α, β, δe ) + δCZT [xcgr − xcg ] + δCmLEF 1 − 25 qc̄ δLEF + + δCm (α) + δCmds (α, δe ) Cmq (α) + δCmqLEF (α) 1 − 2VT 25 (4.63) donde δCmLEF = CmLEF (α, β) − Cm (α, β, δe = 0◦ ) para el coeficiente de momento de viraje CnT δLEF c̄ − CYT [xcgr − xcg ] = Cn (α, β, δe ) + δCnLEF 1 − 25 b δa δLEF + δCnδa + δCnδaLEF 1 − 25 20 δr rb δLEF + δCnδr + Cnr (α) + δCnrLEF (α) 1 − 30 2VT 25 pb δLEF + Cnp (α) + δCnpLEF (α) 1 − + δCnβ (α)β 2VT 25 CnT (4.64) Capítulo 4. Modelo no lineal del Avión 59 donde δCnLEF = CnLEF (α, β) − Cn (α, β, δe = 0) δCnδa = Cnδa (α, β) − Cn (α, β, δe = 0) δCnδa LEF = δCnδa LEF (α, β) − CnLEF (α, β) − δCnδa δCnδr = δCnδr (α, β) − Cn (α, β, δe = 0) Capítulo 5 Resultados del Trabajo de Investigación Como se estableció anteriormente, el control del avión requiere de técnicas que posean propiedades de robustez y adaptabilidad, más aún, cuando se requiere que tal sistema de control contenga un mecanismo de tolerancia a fallas y rechazo a perturbaciones; sin entrar en el campo de los controladores no lineales y de manera general, se describe a continuación el procedimiento de diseño y los resultados en simulación del esquema de control tolerante a fallas aplicado al modelo de 6-DOF para ejes de tierra del avión F16 lineal por pedazos, utilizando dos tipos de observadores para el esquema de detección y aislamiento de fallas, Luenberguer y de entradas desconocidas, así como dos tipos de controladores; retroalimentación del estado y lineal cuadrático ambos adaptables de ganancias programadas para el esquema de FTC activo. Dado su alcance, el proyecto de investigación se basa en los trabajos realizados por Richard S. Russell de la universidad de Minnesota EUA [48] para el modelado y generación del PWLS, así como para el diseño del FTC que valida la dinámica en simulación del avión real haciendo posible la obtención de la respuesta de un F16 usando dos modelos: uno de baja fidelidad y el otro de alta fidelidad. El primero se refiere a los trabajos reportados en Stevens y Lewis [53] y el segundo a los trabajos realizados por la NASA, [39]. El modelo lineal por pedazos del F16 gobernado por su propia ley de conmutación se construyó utilizando Simulink r el cual requiere de 4 entradas de control: la propulsión (thrust δe lbf), la deflexión del alerón (aileron deflection δa deg), la deflexión del elevador (elevator deflection δe deg) y la deflexión del timón (rudder deflection δr deg), a la salida se obtienen 18 variables de estado; 12 de Navegación: la posición norte (North position) N pos(f t.), la posición este (East position) Epos(f t.), altura (altitude) h(f t.), ángulo de alabeo (roll angle) φ(deg.), ángulo de cabeceo (pitch angle) θ(deg.), ángulo de viraje (yaw angle) ψ(deg.), velocidad total (total velocity) vt (f t/s), ángulo 60 Capítulo 5. Resultados del Trabajo de Investigación 61 de ataque (angle of attack) α(deg.), ángulo de deslizamiento lateral (angle of side-slip) β(deg.), velocidad angular de alabeo (roll rate) φ̇(deg/s.), velocidad angular de cabeceo (pitch rate) θ̇(deg/s.), velocidad angular de viraje (yaw rate) ψ̇(deg/s.) y 6 Aerodinámicas: las aceleraciones normalizadas en las direcciones (normalized accelerations) x, y y z (anx , any , anz ), el número de mach (mach number), la presión dinámica (free-stream dynamic pressure) q̄(lb/f t2) y la presión estática (static pressure) Ps (lb/f t2 ). Dado el anterior breviario se presenta el desarrollo del controlador comenzando con el planteamiento del problema. 5.1. Planteamiento del Problema El problema de control con tolerancia a fallas al que se enfrenta este trabajo de investigación, básicamente es el siguiente: XEstabilización de cuerpo: Sean hn , vn dos variables de altitud y velocidad correspondientes T a algún movimiento traslacional arbitrario; PCM/O = Pi y ω0 ∼ = [0 0 0] la posición del centro de masa del avión relativo al origen del marco de referencia inercial y el vector de velocidades angulares de equilibrio correspondientemente. Diseñar una estrategia de control tal que: hT v T lı́m t→∞ P CM/O ωb/i hn v n = Phn ω0 (5.1) T XSeguimiento de trayectoria: Sea yref = hTref vTref φ θ ψ α β P Q R la trayectoria de altitud y velocidad deseada. Diseñar un controlador tal que: lı́m y = yref t→∞ (5.2) XTolerancia a fallas en sensores de altitud y velocidad: h iT F cierta condición de falla en un instante de tiempo t, Sea yref = hFTref vTFref φ θ ψ α β P Q R Diseñar una estrategia de control tolerante a fallas tal que: lı́m y F ∼ = yref t→∞ (5.3) Capítulo 5. Resultados del Trabajo de Investigación 5.1.1. 62 Propuesta de Solución y Estructura del Controlador Para llevar a cabo el control tolerante a fallas lineal por pedazos aplicado al modelo en cuestión, se consideraron 5 hipótesis bajo la suposición de que la entrada de control es lineal y se puede realizar la estabilización mediante el uso de un controlador dinámico por retroalimentación: Hipótesis 1: Es posible lograr el seguimiento asintótico de trayectorias para el modelo del avión con referencias de tipo escalón para altitud y velocidad mediante un controlador lineal por pedazos gobernado por su propia ley de conmutación. Hipótesis 2: Es posible garantizar estabilidad y lograr el desempeño en la trayectoria deseada del avión en lazo cerrado mediante una ley de control dinámica dependiente de la salida vía retroalimentación [58],[23]. Hipótesis 3: Es posible optimizar dicha ley de control mediante la adición de una acción integral para eliminar el error en régimen permanente y rechazo a perturbaciones, además de tener resuelto con este método el problema de seguimiento de modelo implícito (seguimiento de referencias). Hipótesis 4: Es posible el diseño de un esquema de detección y aislamiento de fallas basado en un banco de observadores generalizados (GOS) para la generación de residuos robustos con la información de la entrada y salida del modelo del avión [12]. Hipótesis 5: Es posible el diseño de un sistema de control tolerante a fallas lineal por pedazos gobernado por una ley de conmutación conocida y dependiente del tiempo para el modelo del avión basado en un controlador adaptable de ganancias programadas y su propio esquema de detección y aislamiento de fallas [30],[32],[35]. Para el caso de estudio se pretende, además de llevar a cabo el análisis de estabilidad por medio de la teoría de Lyapunov para los modos en consideración, realizar la estabilización del sistema por Capítulo 5. Resultados del Trabajo de Investigación 63 retroalimentación dinámica equivalente a la ubicación de eigenvalores y eigenvectores en línea, ya que existe un desafío interesante en los modos lineales generados para cada punto de operación, y es, el que se tienen variables de estado no medibles pero reconstruibles importantes para el control, además de recordar el hecho de que el esquema de tolerancia a fallas se aplicará a sensores, por lo que debemos obtener la medición de la salida para tal propósito. En la figura B.2 se presenta el esquema de control propuesto donde en el bloque 1 tenemos el banco de ganancias adaptables programadas para el efecto de diseño en este tema de investigación, en el bloque 2 esta la planta a ser controlada donde se hallan programadas las ecuaciones de 6-DOF en ejes de cuerpo para tierra plana, la señal de conmutación conocida y dependiente del tiempo se encuentra en el bloque 3, actuando como el operador automático entre los controladores, en el bloque 4 está el sistema de detección y aislamiento de fallas formado por un banco de observadores generalizados así como el observador propio de control, y por último, en el bloque 5 el monitoreo de las señales controladas. A continuación se muestra el desarrollo del controlador. Figura 5.1: Esquema de Control Propuesto Para el Modelo del Avión Falcon F-16. 5.2. Diseño del Sistema Lineal por Pedazos El desarrollo del sistema a ser particionado mediante la técnica ya estudiada para lograr el control del avión requiere en primera instancia, del máximo conocimiento del sistema no lineal como tal, esto es, conocer de manera general los aspectos fundamentales de aerodinámica. En esta sección se mostrará la técnica empleada de linealización numérica para el diseño de sistemas lineales concebidos mediante puntos específicos de operación, con el objetivo de calcular el control tolerante a fallas del sistema lineal por pedazos. Una ventaja directa del empleo de la linealización numérica, es en Capítulo 5. Resultados del Trabajo de Investigación 64 principio, el hacer uso de una computadora y algoritmos de optimización que toman como base puntos de operación relativos a la altura y velocidad a la que se requiere el sistema lineal [49], minimizando una función de costo [48] que esta definida por: 2 cost = 5ḣ2 + 2V˙T + 10α̇2 + 10β̇ 2 + Wφ φ̇2 + Wθ θ̇2 + Wψ ψ̇ 2 + 10Ṗ 2 + 10Q̇2 + 10Ṙ2 (5.4) donde: h : Altitud de vuelo VT : V elocidad traslacional de vuelo α : Ángulo de ataque β : Ángulo de deslizamiento lateral Wj : P esos respectivos a los ángulos (alabeo, cabeceo y viraje) P, Q, R : V elocidades angulares respectivas El minimizar la función de costo implica el estado donde las variables han alcanzado el equilibrio, esto es, que el sistema no presenta variaciones. Las condiciones iniciales del algoritmo para el ajuste de las variables son: Propulsión (thrust) = 5000 lbf; elevador (elevator) = -0.09 deg; ángulo de ataque (alpha) = 8.49 deg; timón (rudder) = -0.01 deg; alerón (aileron) = 0.01 deg; que son las entradas de control excepto el ángulo de ataque, las demás variables se asumen cercanas a cero. La altura y velocidad son introducidas al sistema para especificar el punto de operación y el algoritmo devuelve las matrices en espacio de estados A, B, C, D. Las condiciones de vuelo junto con sus restricciones son: Vuelo estable con alas a nivel (VRN)(Steady Wings-Level Flight) Vuelo estable en vuelta a nivel (Steady Turning Flight) Vuelo estable en ascenso (Steady Pull-Up Flight) Vuelo estable en giro (Steady Roll Flight) φ, φ̇, θ̇, ψ̇ ∼ =0 ∼0 φ̇, θ̇ = φ, φ̇, ψ̇ ∼ =0 ∼ θ̇, ψ̇ = 0 Los valores aceptables para las condiciones de vuelo y linealización se muestran en el cuadro ??. El algoritmo para la generación del sistema lineal en un punto específico de operación es el mostrado en la figura 5.2 [49]. Basados en los preceptos anteriores, la dinámica no lineal del avión puede expresarse como un equivalente en sistemas lineales por pedazos bajo su propio criterio de conmutación, Capítulo 5. Resultados del Trabajo de Investigación Variable Altitud Ángulo de ataque Propulsión Elevador Alerón Timón Velocidad Unidades ft deg lbs.f deg deg deg ft/s 65 LOFI(Mín,Máx) 5000—40000 -10—45 1000—19000 -25—25 -21.5—21.5 -30—30 300—900 HIFI(Mín,Máx) 5000—40000 -10—90 1000—19000 -25—25 -21.5—21.5 -30—30 300—900 Cuadro 5.1: Valores Aceptables para las Condiciones de Vuelo y Linealización. Figura 5.2: Algoritmo para la Generación del Sistema Lineal por Pedazos del Modelo del Avión Falcon F-16. por lo tanto, la dinámica lineal de la planta es: ẋ(t) = Ai x(t) + Bi u(t) + Ei z(t) x(t0 ) = x0 (5.5) y(t) = Ci x(t) + Di u(t) + Gi w(t) i(t) = γ(t) donde A ∈ R7x7 , B ∈ R7x2 , C ∈ R5x7 y D ∈ R5x2 E ∈ R7x1 , G ∈ R5x1 , i ∈ M = {1, 2, ..., j} como el conjunto índice y x ∈ R7 como el vector de estados para el modo longitudinal (modelo reducido) h iT xT = h θ v α θ̇ δT δe (5.6) Capítulo 5. Resultados del Trabajo de Investigación 66 y uT = [δT δe ]T , h iT y T = h θ v α θ̇ (5.7) Siendo la altura y velocidad las variables de importancia a controlar para el vuelo del avión, sin embargo, para objeto de este trabajo de investigación, nuestro controlador a diseñar mediante los modos descritos anteriormente debe satisfacer lo establecido en el capítulo 3, esto es, el sistema con falla en los sensores de altitud y velocidad de tipo aditiva y abrupta (escalón) (Ffs = diag [fh 0 fv 0 0 0 0]) ẋ(t) = Ai x(t) + Bi u(t) + Ei z(t) x(t0 ) = x0 (5.8) y(t) = Ci x(t) + Di u(t) + Gi w(t) + Fi fs i(t) = γ(t) debe aproximarse en lo posible mediante una ley de control adecuada al comportamiento del sistema (5.5). En el Cuadro 5.2 se esquematiza de manera sistemática el procedimiento de diseño del controlador tolerante a fallas. A continuación se muestran las ganancias del observador de control, así como la función común de Lyapunov. Los polos del subsistema 1 son: − 1,0569 − 0,7883i 0,0000 p1 = [−1,0569 + 0,7883i − 0,0055 − 0,0604i − 1,0000 pobs = [−605 − 505 − 545 − 0,0055 + 0,0604i − 20,2000]T − 545 − 25 − 475 − 430]T −2,1601e − 4 483,5391 0,0181 −325,6184 52,4617 0,0024 −0,6693 483,5391 2,3386e5 8,7237 −1,5448e5 2,5373e4 1,0548 −323,6984 0,0181 8,7237 0,9921 −5,9485 0,9298 0,0361 −0,0118 P = −325,6184 −1,5748e5 −5,9485 1,0605e5 −1,7086e4 −1,0619 217,9774 52,4617 2,5373e4 0,9298 −1,7086e4 2,7519e3 0,0349 −35,1204 0,0024 1,0548 0,0361 −1,0619 0,0349 −0,8283 −3,4208e − 5 −0,6693 −323,6948 −0,0118 217,9774 −35,1204 −3,4208 −0,5519 Capítulo 5. Resultados del Trabajo de Investigación 67 Procedimiento sistemático de Diseño del Controlador XConfiguración de las referencias acorde a la tarea de vuelo específica. XDesarrollar la dinámica del sistema no lineal en un PWLS. XDe acuerdo a la dinámica deseada del sistema, diseño de la ley de conmutación, en este caso dependiente del tiempo. XAnálisis de Observabilidad de cada uno de los modos del PWLS. XAnálisis de Controlabilidad de cada uno de los modos del PWLS. XDiseño del esquema robusto de detección y aislamiento de fallas en sensores. XDiseño del observador para la reconstrucción de las variables no medibles pero detectables para el controlador (i). XCálculo fuera de línea de las ganancias del controlador sin falla. XCálculo fuera de línea de las ganancias del controlador con falla en sensores de altitud y velocidad. XConfiguración del controlador adaptable por ganancias programadas. XConfiguración del esquema completo de FTC. Cuadro 5.2: Procedimiento Sistemático para el Diseño del FTC. 5.3. Simulación del Sistema Lineal por Pedazos Esta sección se enfoca principalmente a la validación del esquema de control propuesto evaluando desempeño y robustez en simulación mediante el paquete de programación de M atlabR (códigos) y Simulink R (Bloques), marcas registradas de The MathWorks. Los sistemas lineales se obtuvieron en base a los siguientes puntos de operación: Modo 1 2 3 4 5 6 Punto de Operación h(f t), v(f t/s) 5000—500 6000—500 7000—500 8000—500 9000—500 10000—500 Cuadro 5.3: Puntos de operación para la generación de modelos lineales. Los modelos para cada punto de operación específico están formados por: modo1(A, B, C, D), modo2(A1 , B, C, D), modo3(A2 , B, C, D), modo4(A3 , B, C, D), modo5(A4 , B, C, D), modo6(A5 , B, C, D), ver Apéndice A. Con base en los modelos anteriores y la teoría establecida en el capítulo 3 se llevo a cabo el diseño del control tolerante a fallas, realizando primero el diseño en los sistemas lineales para posteriormente aplicar los controladores al modelo no lineal. El vector de condiciones iniciales para el caso de diseño es el siguiente: xT = [0 0 0 0 0] (5.9) Capítulo 5. Resultados del Trabajo de Investigación 68 Como se aprecia en la Figura 5.3 el tiempo de simulación es de 50 s., se tiene una referencia en la Figura 5.3: Respuesta del modo 1 en los sensores de h, v, θ, α, q y Respuesta estimada con el observador. altitud igual a 1000 ft. y una velocidad de referencia inicial de 0 ft/s. que son las variables de interés a controlar en particular (caso de diseño con esquema de FDI basado en el observador de Luenberguer generalizado y controlador dinámico por retroalimentación del estado para el modo 1 en sensores de altitud y velocidad). La Figura anterior corresponde al caso libre de falla en los dos sensores de Capítulo 5. Resultados del Trabajo de Investigación 69 altitud y velocidad, como se observa el controlador converge a la referencia en un tiempo aproximado de 15 s. A continuación se presenta la Figura 5.4, correspondiente a una falla abrupta tipo escalón en el sensor de altitud de +20 % al segundo 20 de la simulación así como se muestra el Cuadro 5.4 correspondiente a la matriz de fallas del sistema. Puede observase al modelo 1 con falla en el sensor Modelo 1 2 3 4 5 6 0: sin falla, 1: con falla Sen. Altura. 1 0 0 0 0 0 Sen. Velocidad. 0 0 0 0 0 0 Sen. α 0 0 0 0 0 0 Sen. δe 0 0 0 0 0 0 Sen. δa 0 0 0 0 0 0 Sen. δr 0 0 0 0 0 0 Cuadro 5.4: Matriz de fallas del sistema lineal por pedazos con falla simple a los 20 s. de altura, los sensores de velocidad, ángulo de ataque α, deflexión del elevador δe , deflexión del alerón δa y deflexión del timón δr , son compensados también para la misma falla. Puede observarse Figura 5.4: Respuesta del modo 1 en los sensores de altitud y velocidad con falla simple en Sh del tipo escalón f = +20 %, t = 20 s, y Respuesta con observador. que ante la falla el control tolerante a fallas compensa la desviación existente y reintegra la referencia a la medición del sensor de altitud. La respuesta del sistema reconstruida con el observador muestra claramente la acomodación de la falla (Verde) y la señal del sensor fallado (azul) para la altura. La Figura 5.5 muestra el comportamiento de las 3 señales restantes que también son afectadas por la falla abrupta, pero debido al acoplamiento con las variables de velocidad y altura se acomodan a la falla. La Figura 5.6 presenta la respuesta ante una falla abrupta simultanea entre en sensor de altitud y velocidad de -20 % en el segundo 30 de la simulación, esto con la finalidad de verificar la Capítulo 5. Resultados del Trabajo de Investigación 70 Figura 5.5: Respuesta de las señales restantes con falla simple f = +20 %, t = 20 s, y Respuesta con observador. robustez del esquema de FTC ante la falla simultanea, ruido y perturbaciones. En el Cuadro 5.5 se muestra la matriz de fallas del sistema para este tipo de falla. La respuesta del sistema para el sensor de altura y velocidad nuevamente es compensada por el esquema de FTC y es llevada a la referencia con un error aceptable, el análisis así como el diseño de los 4 controladores con tolerancia a fallas restantes se realizó de forma similar, los Cuadros 5.6 y 5.7 muestran los índices de desempeño con el fin de evaluar los dos tipos de controladores lineales diseñados. Modelo 1 2 3 4 5 6 0: sin falla, 1: con falla Sen. Altura. 1 0 0 0 0 0 Sen. Velocidad. 1 0 0 0 0 0 Sen. α 0 0 0 0 0 0 Sen. δe 0 0 0 0 0 0 Sen. δa 0 0 0 0 0 0 Sen. δr 0 0 0 0 0 0 Cuadro 5.5: Matriz de fallas del sistema lineal por pedazos con falla múltiple t = 30 s. Capítulo 5. Resultados del Trabajo de Investigación Figura 5.6: Respuesta del modo 1 en los sensores de altitud y velocidad con falla múltiple tipo escalón f = −20 %, t = 30 s, y Respuesta con observador. Figura 5.7: Respuesta de las señales restantes con falla múltiple f = −20 %, t = 30 s, y Respuesta con observador. 71 Capítulo 5. Resultados del Trabajo de Investigación Controlador Retroalimentación de estados Linear Cuadrático (Óptimo) IAE 0.581 0.456 72 ISE 0.498 0.298 ITAE 0.702 0.567 Var(e) 0.291 0.101 RMS(e) 0.110 0.098 Cuadro 5.6: Índices de desempeño de los controladores con tolerancia a fallas acerca del error de regulación. Controlador Retroalimentación de estados Linear Cuadrático (Óptimo) Atributos Precisión ( %) Sobrepico ( %) Rapidez Persistencia ( %) Robustez Agresividad ( %) Esfuerzo de Control ISU 0.6250 0.325 IADU 0.756 0.556 Retroalimentación de estados 97.863 1.895 1.955 95.763 0.657 90.565 0.689 Var(u) 0.210 0.187 RMS(u) 0.111 0.099 Linear Cuadrático (Óptimo) 98.521 0.956 2.899 97.678 0.799 88.546 0.365 Cuadro 5.7: Comparación de atributos de los controladores con tolerancia a fallas. Claramente se observa en las tablas que el controlador con mejor desempeño es el lineal cuadrático1 5.4. Simulación del control tolerante a fallas aplicado al modelo no lineal del avión F16 El análisis de las gráficas y tablas anteriores muestra claramente el diseño robusto de los controladores lineales con tolerancia a fallas de manera que controla la planta aún con fallas abruptas considerables, ruido y perturbaciones, ahora se presenta la simulación del sistema tolerante a fallas aplicado al modelo del avión F16 modelado lineal por pedazos en un tiempo de navegación de 3 min., utilizando controladores adaptables de ganancias programadas retroalimentando el estado y esquema de FDI con observador de Luenberguer para los sensores de altura y velocidad, será omitido el caso libre de falla. En la Figura 5.8 se muestra la tolerancia a fallas en los sensores de altitud y velocidad para el modelo no lineal del avión al instante 10 y 100 segundos respectivamente, los umbrales para las señales precisan de ser pequeños para no exigir demás a los actuadores por lo que las fallas son del 5 por ciento, como se puede observar no se pierde el control de la planta a pesar de que la falla en el sensor de altura ocurre en el instante de conmutación del controlador 1 al controlador 2 que es de 10 segundos para el ascenso, así se garantiza la continuidad y funcionalidad del sistema. 1 Para ver detalles remitirse al apéndice B. Capítulo 5. Resultados del Trabajo de Investigación 73 Figura 5.8: Respuesta del sistema en las señales de altura y velocidad, con falla múltiple fSh,v = +5 %, tfh = 10 s, tfv = 100 s, Zoom del instante de falla. Hasta ahora se ha verificado con las Figuras anteriores el control tolerante a fallas aplicado al modelo del avión F16 lineal por pedazos objetivo de este trabajo de investigación, sin embargo, a continuación se muestra el resultado en simulación del esquema de FTC utilizando controladores cuadráticos óptimos (LQR) adaptables de ganancias programadas el cual se analizó anteriormente y su esquema de FDI basado en observadores de entradas desconocidas (UIO), dándole a este esquema de FTC un grado mayor de robustez. La Figura 5.9 muestra el comportamiento correspondiente para una trayectoria de navegación diferente, las señales de los sensores de altura y velocidad se muestran en la Figura, se omite el caso libre de falla, el tiempo de simulación es de 3 min., las fallas se presentan a los instantes 80 y 120 s. respectivamente, adicionando además perturbaciones en los segundos 90, 92 y 94; 160,162 y 164 del tipo escalón de magnitud 15 % y -15 % del rango de operación de cada modo que es de 0 − 1000f t. en altura y de 500 − 900f t/s en velocidad. Así en las Figuras 5.8 y 5.9 se observa que el sistema de control con tolerancia a fallas diseñado aproxima la respuesta deseada de la planta cuando existen desviaciones no permitidas en los sensores de altitud y velocidad, La Figura 5.10 muestra la respuesta de las 16 variables restantes. Capítulo 5. Resultados del Trabajo de Investigación 74 Figura 5.9: Respuesta del sistema no lineal con FTC óptimo para los sensores de altitud y velocidad presentando falla múltiple fSh,v = +10 %, tfh = 80 s, tfv = 120 s, Zoom del instante de falla. Con base en las gráficas anteriores los resultados del diseño de control tolerante a fallas aplicado al modelo del avión que fue modelado lineal por pedazos son favorables, ya que se logró que la planta con falla en los sensores de altura y velocidad en el campo lineal N N N N N Σ(CFi , AFi , BFi , KiF , OiF , CiF )M −→ Σ(CN i , Ai , Bi , Ki , Oi , Ci )M (5.10) para objeto de diseño, cumpliera con el control y la tolerancia a fallas aplicado al modelo no lineal del avión: ẋ(t) = fσF (x(t), u(t), d(t)) y(t) = gσF (x(t), w(t)) =⇒ ẋ(t) = fσN (x(t), u(t), d(t)) y(t) = gσN (x(t), w(t)) (5.11) Capítulo 5. Resultados del Trabajo de Investigación 75 Capítulo 5. Resultados del Trabajo de Investigación Figura 5.10: Respuesta de las variables N pos, Epos, φ, θ, ψ α, β, p, q, r, nx, ny, nz, mach, Pe , Pd . 76 Capítulo 6 Conclusiones Fundamentalmente el esquema de control tolerante a fallas persigue como consigna mantener las referencias de control con cierta degradación aceptable en la respuesta del sistema si existe algún tipo de falla en la planta dependiendo del diseño global del mismo, por lo que un esquema funcional de FTC será capaz de compensarla. Para nuestro caso de estudio podemos establecer el hecho de haber logrado en simulación los objetivos de control para el avión Falcon F16 modelado como PWLS para el diseño de los controladores tolerantes a fallas con sus propias restricciones considerando fallas aditivas y abruptas en los sensores de altitud y velocidad por lo que podemos establecer las siguientes Observaciones: Observación 1: Es posible analizar la dinámica del avión mediante el modelo reducido longitudinal con las variables más importantes que son la altitud (h), velocidad (v), ángulo de cabeceo (θ) y ángulo de ataque (α), así como el diseño de los controladores lineales con tolerancia a fallas por cada punto de operación (modelado de sistemas lineales por pedazos) para posteriormente aplicarlo al modelo no lineal. Observación 2: Es posible el control tolerante a fallas lineal por pedazos garantizando estabilidad asintótica del modelo en cuestión obteniendo una función común de Lyapunov para los modos del sistema y mediante un lazo dinámico retroalimentando el estado llevando a cabo el análisis de cada una de las aproximaciones lineales para la estabilidad, observabilidad y controlabilidad haciendo uso de herramientas matemáticas sencillas y poderosas para su diseño, así como una correcta ubicación de polos para obtención de las ganancias de control y compensación. 77 Capítulo 6. Conclusiones 6.1. 78 Logros Obtenidos Además de haber cumplido con el objetivo de este trabajo de investigación, se logró la publicación de un articulo en el Congreso Nacional de Control Automático CNCA 2013 en la ciudad y puerto de Ensenada, Baja California, organizado conjuntamente por la Asociación de México de Control Automático (AMCA) y el Centro de Investigación Científica y de Educación Superior de Ensenada, B.C. (CICESE), con el titulo: Control Tolerante a Fallas de un sistema Lineal por Pedazos, y se trabaja con la publicación de una revista sobre este tema de investigación. 6.2. Trabajos Futuros Se sugiere la realización de un esquema de control lineal con tolerancia a fallas utilizando la técnica de modelo predictivo (MPC) para el mismo modelo PWL en sensores, o aún mejor el control activo y en linea por modos deslizantes para probar el desempeño en simulación del avión en actuadores, además de probar con un control pasivo. Apéndice A Modelos Lineales Por Pedazos 79 Appendix A. Modelos Lineales Por Pedazos 80 Apéndice B Diagramas De Bloques de los Programas Implementados Figura B.1: Diagrama de bloques para la simulaciÃşn y diseÃśo de los controladores lineales por pedazos. 81 Appendix B. Diagramas De Bloques de los Programas Implementados Figura B.2: Diagrama de bloques para la simulación del esquema completo de control tolerante a fallas lineal por pedazos aplicado al modelo no lineal. 82 Apéndice C Algoritmos %================================================ % Matlab Script File used to run the % non-linear F-16 Simulation. % will also be saved to a file and plotted. The results % % Author: Richard S. Russell % %================================================ clear; clc; global altitude fi_type velocity fi_flag_Simulink; global surface1 surface2 surface3; global ElevatorDis AileronDis RudderDis; surface1 = ’ele_’; surface2 = ’ail_’; surface3 = ’rud_’; newline = sprintf(’\n’); 83 Appendix C. Algoritmos 84 disp(’This is an F-16 Simulation.’); disp(’The simulation will begin by asking you for the flight ’); disp(’conditions for which the simulation will be performed.’); disp(newline); disp(’Acceptable values for flight condition parameters are:’); disp(newline); disp(’ disp(’ Model’); Variable disp(’ LOFI HIFI’); Units Min Max Min Max’); 5000 40000 5000 40000’); disp(’ Altitude: ft disp(’ AOA deg disp(’ Thrust lbs 1000 19000 1000 19000’); disp(’ Elevator deg -25.0 25.0 -25.0 25.0’); disp(’ Aileron deg -21.5 21.5 -21.5 21.5’); disp(’ Rudder deg -30 30 -30 30’); disp(’ Velocity ft/s -10 45 300 900 -10 300 90’); 900’); disp(newline); disp(newline); disp(’The flight condition you choose will be used to trim the F16.’); disp(’Note: The trim routine will trim to the desired’); disp(’altitude and velocity. All other parameters’); disp(’will be varied until level flight is achieved. ’); disp(’You may need to view the results of the simulation’); disp(’ and retrim accordingly.’); disp(newline); disp(newline); %% Ask user which simulation to run. %% disp(’Which model would you like to use to trim the aircraft:’) disp(’ 1. Low Fidelity F-16 Trim’) disp(’ 2. High Fidelity F-16 Trim’) fi_flag = input(’Your Selection: disp(newline); disp(newline); ’); Appendix C. Algoritmos 85 %% Determine from flag the correct simulation. %% if fi_flag == 1; fi_type = ’lofi’; fi_flag_Simulink = 0; elseif fi_flag == 2; fi_type = ’hifi’; fi_flag_Simulink = 1; else disp(’Invalid selection’); break; end %% Trim aircraft to desired altitude and velocity %% altitude = input(’Enter the altitude for the simulation (ft) : ’); velocity = input(’Enter the velocity for the simulation (ft/s): ’); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Initialize some varibles used to create disturbances. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DisEle_1 = 0; DisEle_2 = 0; DisEle_3 = 0; DisAil_1 = 0; DisAil_2 = 0; DisAil_3 = 0; DisRud_1 = 0; DisRud_2 = 0; DisRud_3 = 0; ElevatorDis = 0; AileronDis = 0; RudderDis = 0; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Find out which surface to create a disturbance on. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% elseif dis_flag == ’n’ surfacedef = ’none’; else %do nothing Appendix C. Algoritmos 86 disp(’Invalid Selection’); break; end disp(newline); disp(newline); delta_T = 0.001; TStart = 0; TFinal = 30; %% Initial Conditions for trim routine. %% The following values seem to trim to most %% flight condition. If the F16 does not trim %% Change these values. thrust = 5000; % thrust, lbs elevator = -0.09; % elevator, degrees alpha = 8.49; % AOA, degrees rudder = -0.01; % rudder angle, degrees aileron = 0.01; % aileron, degrees fprintf(fid_trim,heading1); fprintf(fid_trim,heading2); fid_trim = fopen(trim_file, ’a’); for row = 1 : 1 : length(y_sim(:,1)) fprintf(fid_trim,’%8.5f,’,T(row,:)); for column = 1 : 1 : length(y_sim(1,:)) fprintf(fid_trim,’%8.5f,’,y_sim(row,column)); end for column = 1:1:length(surfaces(1,:)) fprintf(fid_trim,’%8.5f,’,surfaces(row,column)); end fprintf(fid_trim,’\n’); Appendix C. Algoritmos 87 end fclose(fid_trim); plot_flag = input(’Plot results (y/n): ’, ’s’); if plot_flag == ’n’ break; else graphF16; end #include "math.h" /* Merging the nlplant.c (lofi) and nlplant_hifi.c to use same equations of motion, navigation equations and use own look-up tables decided by a flag. */ void atmos(double,double,double*); /* Used by both */ void accels(double*,double*,double*); /* Used by both */ #include "lofi_F16_AeroData.c" /* LOFI Look-up header file*/ #include "hifi_F16_AeroData.c" /* HIFI Look-up header file*/ void nlplant(double*,double*); /*########################################*/ /*### Added for mex function in matlab ###*/ /*########################################*/ int fix(double); int sign(double); void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { Appendix C. Algoritmos #define XU prhs[0] #define XDOTY plhs[0] int i; double *xup, *xdotp; if (mxGetM(XU)==18 && mxGetN(XU)==1){ /* Calling Program */ xup = mxGetPr(XU); XDOTY = mxCreateDoubleMatrix(18, 1, mxREAL); xdotp = mxGetPr(XDOTY); nlplant(xup,xdotp); /* debug for (i=0;i<=14;i++){ printf("xdotp(%d) = %e\n",i+1,xdotp[i]); } end debug */ } /* End if */ else{ mexErrMsgTxt("Input and/or output is wrong size."); } /* End else */ } /* end mexFunction */ /*########################################*/ /*########################################*/ 88 Appendix C. Algoritmos 89 void nlplant(double *xu, double *xdot){ int fi_flag; /* #include f16_constants */ double g = 32.17; /* gravity, ft/s^2 */ double m = 636.94; /* mass, slugs */ double B = 30.0; /* span, ft */ double S = 300.0; /* planform area, ft^2 */ double cbar = 11.32; /* mean aero chord, ft */ double xcgr = 0.35; /* reference center of gravity */ double xcg /* center of gravity as a fraction of cbar. */ = 0.30; double Heng = 0.0; double pi = acos(-1); double r2d; /* radians to degrees */ /*NasaData double Jy /* turbine momentum along roll axis. */ %translated via eq. 2.4-6 on pg 80 of Stevens and Lewis*/ = 55814.0; /* slug-ft^2 */ double Jxz = 982.0; /* slug-ft^2 */ double Jz = 63100.0; /* slug-ft^2 */ double Jx = 9496.0; /* slug-ft^2 */ double *temp; double npos, epos, alt, phi, theta, psi, vt, alpha, beta, P, Q, R; double sa, ca, sb, cb, tb, st, ct, tt, sphi, cphi, spsi, cpsi; double T, el, ail, rud, dail, drud, lef, dlef; double qbar, mach, ps; double U, V, W, Udot,Vdot,Wdot; double L_tot, M_tot, N_tot, denom; Appendix C. Algoritmos 90 double Cx_tot, Cx, delta_Cx_lef, dXdQ, Cxq, delta_Cxq_lef; double Cz_tot, Cz, delta_Cz_lef, dZdQ, Czq, delta_Czq_lef; double Cm_tot, Cm, eta_el, delta_Cm_lef, dMdQ, Cmq, delta_Cmq_lef; double Cy_tot, Cy, delta_Cy_lef, dYdail, delta_Cy_r30, dYdR, dYdP; double delta_Cy_a20, delta_Cy_a20_lef, Cyr, delta_Cyr_lef, Cyp; double Cn_tot, Cn, delta_Cn_lef, dNdail, delta_Cn_r30, dNdR; double delta_Cn_a20, delta_Cn_a20_lef, Cnr, delta_Cnr_lef; double Cl_tot, Cl, delta_Cl_lef, dLdail, delta_Cl_r30, dLdR; double delta_Cl_a20, delta_Cl_a20_lef, Clr, delta_Clr_lef; temp = (double *)malloc(9*sizeof(double)); r2d = 180.0/pi; /*size of 9.1 array*/ /* radians to degrees */ /* %%%%%%%%%%%%%%%%%%% States %%%%%%%%%%%%%%%%%%% */ npos = xu[0]; /* north position */ epos = xu[1]; /* east position */ alt = xu[2]; /* altitude */ phi = xu[3]; /* orientation angles in rad. */ theta = xu[4]; psi = xu[5]; vt = xu[6]; /* total velocity */ alpha = xu[7]*r2d; /* angle of attack in degrees */ beta = xu[8]*r2d; /* sideslip angle in degrees */ P = xu[9]; /* Roll Rate --- rolling Q = xu[10]; /* Pitch Rate--- pitching moment is M */ R = xu[11]; /* Yaw Rate sa = sin(xu[7]); /* sin(alpha) */ ca = cos(xu[7]); /* cos(alpha) */ sb = sin(xu[8]); /* sin(beta) */ cb = cos(xu[8]); /* cos(beta) */ --- yawing moment is Lbar */ moment is N */ Appendix C. Algoritmos 91 tb = tan(xu[8]); /* tan(beta) st = sin(theta); ct = cos(theta); tt = tan(theta); sphi = sin(phi); cphi = cos(phi); spsi = sin(psi); cpsi = cos(psi); */ if (vt <= 0.01) {vt = 0.01;} /* %%%%%%%%%%%%%%%%%%% Control inputs %%%%%%%%%%%%%%%%%%% */ T = xu[12]; /* thrust */ el = xu[13]; /* Elevator setting in degrees. */ ail = xu[14]; /* Ailerons mex setting in degrees. */ rud = xu[15]; /* Rudder setting in degrees. */ lef = xu[16]; /* Leading edge flap setting in degrees */ fi_flag = xu[17]/1; /* dail = ail/20.0; /* fi_flag */ aileron normalized against max angle */ /* The aileron was normalized using 20.0 but the NASA report and S&L both have 21.5 deg. as maximum deflection. */ /* As a result... */ dail = ail/21.5; drud = rud/30.0; dlef = (1 - lef/25.0); /* rudder normalized against max angle */ /* leading edge flap normalized */ /* %%%%%%%%%%%%%%%%%% Atmospheric effects sets dynamic pressure and mach number Appendix C. Algoritmos %%%%%%%%%%%%%%%%%% */ atmos(alt,vt,temp); mach = temp[0]; qbar = temp[1]; ps = temp[2]; /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%Dynamics%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ /* %%%%%%%%%%%%%%%%%% Navigation Equations %%%%%%%%%%%%%%%%%% */ U = vt*ca*cb; /* directional velocities. */ V = vt*sb; W = vt*sa*cb; /* nposdot */ xdot[0] = U*(ct*cpsi) + V*(sphi*cpsi*st - cphi*spsi) + W*(cphi*st*cpsi + sphi*spsi); /* eposdot */ xdot[1] = U*(ct*spsi) + V*(sphi*spsi*st + cphi*cpsi) + W*(cphi*st*spsi - sphi*cpsi); /* altdot */ xdot[2] = U*st - V*(sphi*ct) - W*(cphi*ct); /* %%%%%%%%%%%%%%%%%%% Kinematic equations 92 Appendix C. Algoritmos 93 %%%%%%%%%%%%%%%%%%% */ /* phidot */ xdot[3] = P + tt*(Q*sphi + R*cphi); /* theta dot */ xdot[4] = Q*cphi - R*sphi; /* psidot */ xdot[5] = (Q*sphi + R*cphi)/ct; /* %%%%%%%%%%%%%%%%%% Table lookup %%%%%%%%%%%%%%%%%% */ if (fi_flag == 1) /* HIFI Table */ { hifi_C(alpha,beta,el,temp); Cx = temp[0]; Cz = temp[1]; Cm = temp[2]; Cy = temp[3]; Cn = temp[4]; Cl = temp[5]; hifi_damping(alpha,temp); Cxq = temp[0]; Cyr = temp[1]; Cyp = temp[2]; Czq = temp[3]; Clr = temp[4]; Clp = temp[5]; Cmq = temp[6]; Cnr = temp[7]; Cnp = temp[8]; Appendix C. Algoritmos 94 hifi_C_lef(alpha,beta,temp); delta_Cx_lef = temp[0]; delta_Cz_lef = temp[1]; delta_Cm_lef = temp[2]; delta_Cy_lef = temp[3]; delta_Cn_lef = temp[4]; delta_Cl_lef = temp[5]; hifi_damping_lef(alpha,temp); delta_Cxq_lef = temp[0]; delta_Cyr_lef = temp[1]; delta_Cyp_lef = temp[2]; delta_Czq_lef = temp[3]; delta_Clr_lef = temp[4]; delta_Clp_lef = temp[5]; delta_Cmq_lef = temp[6]; delta_Cnr_lef = temp[7]; delta_Cnp_lef = temp[8]; hifi_rudder(alpha,beta,temp); delta_Cy_r30 = temp[0]; delta_Cn_r30 = temp[1]; delta_Cl_r30 = temp[2]; hifi_ailerons(alpha,beta,temp); delta_Cy_a20 = temp[0]; delta_Cy_a20_lef = temp[1]; delta_Cn_a20 = temp[2]; delta_Cn_a20_lef = temp[3]; delta_Cl_a20 = temp[4]; delta_Cl_a20_lef = temp[5]; hifi_other_coeffs(alpha,el,temp); delta_Cnbeta = temp[0]; delta_Clbeta = temp[1]; delta_Cm = temp[2]; Appendix C. Algoritmos 95 eta_el = temp[3]; delta_Cm_ds = 0; /* ignore deep-stall effect */ } else if (fi_flag == 0) { /* ############################################## ##########LOFI Table Look-up ################# ##############################################*/ /* The lofi model does not include the leading edge flap. All terms multiplied dlef have been set to zero but just to be sure we will set it to zero. */ dlef = 0.0; damping(alpha,temp); Cxq = temp[0]; Cyr = temp[1]; Cyp = temp[2]; Czq = temp[3]; Clr = temp[4]; Clp = temp[5]; Cmq = temp[6]; Cnr = temp[7]; Cnp = temp[8]; dmomdcon(alpha,beta, temp); delta_Cl_a20 = temp[0]; /* Formerly dLda in nlplant.c */ delta_Cl_r30 = temp[1]; /* Formerly dLdr in nlplant.c */ delta_Cn_a20 = temp[2]; /* Formerly dNda in nlplant.c */ delta_Cn_r30 = temp[3]; /* Formerly dNdr in nlplant.c */ clcn(alpha,beta,temp); Appendix C. Algoritmos 96 Cl = temp[0]; Cn = temp[1]; cxcm(alpha,el,temp); Cx = temp[0]; Cm = temp[1]; Cy = -.02*beta + .021*dail + .086*drud; cz(alpha,beta,el,temp); Cz = temp[0]; /*################################################## /*################################################## ## Set all higher order terms of hifi that are ## ## not applicable to lofi equal to zero. ######## ##################################################*/ delta_Cx_lef = 0.0; delta_Cz_lef = 0.0; delta_Cm_lef = 0.0; delta_Cy_lef = 0.0; delta_Cn_lef = 0.0; delta_Cl_lef = 0.0; delta_Cxq_lef = 0.0; delta_Cyr_lef = 0.0; delta_Cyp_lef = 0.0; delta_Czq_lef = 0.0; delta_Clr_lef = 0.0; delta_Clp_lef = 0.0; delta_Cmq_lef = 0.0; delta_Cnr_lef = 0.0; delta_Cnp_lef = 0.0; delta_Cy_r30 = 0.0; delta_Cy_a20 = 0.0; Appendix C. Algoritmos 97 delta_Cy_a20_lef= 0.0; delta_Cn_a20_lef= 0.0; delta_Cl_a20_lef= 0.0; delta_Cnbeta = 0.0; delta_Clbeta = 0.0; delta_Cm = 0.0; eta_el = 1.0; delta_Cm_ds = 0.0; /* Needs to be one */ /*################################################## ##################################################*/ } /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% compute Cx_tot, Cz_tot, Cm_tot, Cy_tot, Cn_tot, and Cl_tot (as on NASA report p37-40) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ /* XXXXXXXX Cx_tot XXXXXXXX */ dXdQ = (cbar/(2*vt))*(Cxq + delta_Cxq_lef*dlef); Cx_tot = Cx + delta_Cx_lef*dlef + dXdQ*Q; /* ZZZZZZZZ Cz_tot ZZZZZZZZ */ dZdQ = (cbar/(2*vt))*(Czq + delta_Cz_lef*dlef); Cz_tot = Cz + delta_Cz_lef*dlef + dZdQ*Q; /* MMMMMMMM Cm_tot MMMMMMMM */ dMdQ = (cbar/(2*vt))*(Cmq + delta_Cmq_lef*dlef); Cm_tot = Cm*eta_el + Cz_tot*(xcgr-xcg); Appendix C. Algoritmos 98 /* YYYYYYYY Cy_tot YYYYYYYY */ dYdail = delta_Cy_a20 + delta_Cy_a20_lef*dlef; dYdR = (B/(2*vt))*(Cyr + delta_Cyr_lef*dlef); dYdP = (B/(2*vt))*(Cyp + delta_Cyp_lef*dlef); Cy_tot = Cy + delta_Cy_lef*dlef + dYdail*dail; /* NNNNNNNN Cn_tot NNNNNNNN */ dNdail = delta_Cn_a20 + delta_Cn_a20_lef*dlef; dNdR = (B/(2*vt))*(Cnr + delta_Cnr_lef*dlef); dNdP = (B/(2*vt))*(Cnp + delta_Cnp_lef*dlef); Cn_tot = Cn + delta_Cn_lef*dlef - Cy_tot*(xcgr-xcg)*(cbar/B) + dNdail*dail + delta_Cn_r30*drud /* LLLLLLLL Cl_tot LLLLLLLL */ dLdail = delta_Cl_a20 + delta_Cl_a20_lef*dlef; dLdR = (B/(2*vt))*(Clr + delta_Clr_lef*dlef); dLdP = (B/(2*vt))*(Clp + delta_Clp_lef*dlef); Cl_tot = Cl + delta_Cl_lef*dlef + dLdail*dail; /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% compute Udot,Vdot, Wdot,(as on NASA report p36) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ Udot = R*V - Q*W - g*st + qbar*S*Cx_tot/m + T/m; Appendix C. Algoritmos 99 Vdot = P*W - R*U + g*ct*sphi + qbar*S*Cy_tot/m; Wdot = Q*U - P*V + g*ct*cphi + qbar*S*Cz_tot/m; /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% vt_dot equation (from S&L, p82) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ xdot[6] = (U*Udot + V*Vdot + W*Wdot)/vt; /* %%%%%%%%%%%%%%%%%% alpha_dot equation %%%%%%%%%%%%%%%%%% */ xdot[7] = (U*Wdot - W*Udot)/(U*U + W*W); /* %%%%%%%%%%%%%%%%% beta_dot equation %%%%%%%%%%%%%%%%% */ xdot[8] = (Vdot*vt - V*xdot[6])/(vt*vt*cb); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% compute Pdot, Qdot, and Rdot (as in Stevens and Lewis p32) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ L_tot = Cl_tot*qbar*S*B; M_tot = Cm_tot*qbar*S*cbar; N_tot = Cn_tot*qbar*S*B; denom = Jx*Jz - Jxz*Jxz; /* %%%%%%%%%%%%%%%%%%%%%%% Pdot /* get moments from coefficients */ Appendix C. Algoritmos %%%%%%%%%%%%%%%%%%%%%%% */ xdot[9] = (Jz*L_tot + Jxz*N_tot - (Jz*(Jz-Jy)+Jxz*Jxz)*Q*R; /* %%%%%%%%%%%%%%%%%%%%%%% Qdot %%%%%%%%%%%%%%%%%%%%%%% */ xdot[10] = (M_tot + (Jz-Jx)*P*R - Jxz*(P*P-R*R) - R*Heng)/Jy; /* %%%%%%%%%%%%%%%%%%%%%%% Rdot %%%%%%%%%%%%%%%%%%%%%%% */ xdot[11] = (Jx*N_tot + Jxz*L_tot + (Jx*(Jx-Jy)+Jxz*Jxz)*P*Q; /*########################################*/ /*### Create accelerations anx_cg, any_cg */ /*### ans anz_cg as outputs ##############*/ /*########################################*/ accels(xu,xdot,temp); xdot[12] = temp[0]; /* anx_cg */ xdot[13] = temp[1]; /* any_cg */ xdot[14] = temp[2]; /* anz_cg */ xdot[15] = mach; xdot[16] = qbar; xdot[17] = ps; /*########################################*/ /*########################################*/ free(temp); 100 Appendix C. Algoritmos 101 }; /*##### END of nlplant() ####*/ /*########################################*/ /*### Called Sub-Functions ##############*/ /*########################################*/ /*########################################*/ /* Function for mach and qbar */ /*########################################*/ void atmos(double alt, double vt, double *coeff ){ double rho0 = 2.377e-3; double tfac, temp, rho, mach, qbar, ps; tfac =1 - .703e-5*(alt); temp = 519.0*tfac; if (alt >= 35000.0) { temp=390; } rho=rho0*pow(tfac,4.14); Appendix C. Algoritmos mach = (vt)/sqrt(1.4*1716.3*temp); qbar = .5*rho*pow(vt,2); ps = 1715.0*rho*temp; if (ps == 0){ ps = 1715; } coeff[0] = mach; coeff[1] = qbar; coeff[2] = ps; } /*########################################*/ /*########################################*/ /*########################################*/ /*### Port from matlab fix() function ####*/ /*########################################*/ int fix(double in){ int out; if (in >= 0.0){ out = (int)floor(in); } else if (in < 0.0){ out = (int)ceil(in); } return out; } /* port from matlab sign() function */ int sign(double in){ 102 Appendix C. Algoritmos int out; if (in > 0.0){ out = 1; } else if (in < 0.0){ out = -1; } else if (in == 0.0){ out = 0; } return out; } /*########################################*/ /*########################################*/ /*########################################*/ /*### Calculate accelerations from states */ /*### and state derivatives. ############ */ /*########################################*/ void accels(double *state, double *xdot, double *y) { #define grav 32.174 double sina, cosa, sinb, cosb ; double vel_u, vel_v, vel_w ; double u_dot, v_dot, w_dot ; double nx_cg, ny_cg, nz_cg ; 103 Appendix C. Algoritmos sina = sin(state[7]) ; cosa = cos(state[7]) ; sinb = sin(state[8]) ; cosb = cos(state[8]) ; vel_u = state[6]*cosb*cosa ; vel_v = state[6]*sinb ; vel_w = state[6]*cosb*sina ; u_dot = cosb*cosa*xdot[6] - state[6]*sinb*cosa*xdot[8] - state[6]*cosb*sina*xdot[7] ; v_dot = sinb*xdot[6] + state[6]*cosb*xdot[8] ; w_dot = cosb*sina*xdot[6] - state[6]*sinb*sina*xdot[8] + state[6]*cosb*cosa*xdot[7] ; nx_cg = 1.0/grav*(u_dot + state[10]*vel_w - state[11]*vel_v) + sin(state[4]) ; ny_cg = 1.0/grav*(v_dot + state[11]*vel_u - state[9]*vel_w) - cos(state[4])*sin(state[3]) ; nz_cg = -1.0/grav*(w_dot + state[9]*vel_v - state[10]*vel_u) + cos(state[4])*cos(state[3]) ; y[0] = nx_cg ; y[1] = ny_cg ; y[2] = nz_cg ; } /*########################################*/ /*########################################*/ /*########################################*/ /*########################################*/ 104 Bibliografía [1] Alessandri A. y Coletta P. (2001). Design of Luenberger observers for a class of hybrid linear systems. Hybrid Systems: Computation and Control. LNCS. Springer. pp. 718. [2] Babaali M., George y Pappas. (2005). Observability of switched linear systems in continuous and discrete time. En: Hybrid Systems: Computation and Control. LNCS. Springer. pp. 103, 117. [3] Babaali M., y Magnus E. Observability of switched linear systems. Hybrid Systems: Computation and Control. 2004 LNCS. Springer. pp. 48-63. Technical report. [4] Babaali M. y Egerstedt M. On the observability of piecewise linear systems in 43rd IEEE Conference on Decision and Control, pp. 26-31, 2004. [5] Baglietto M., Battistelli G., y Luca S. Active mode observability of switching linear systems Automatica, 2006. [6] Balluchi, Andrea, Luca Benvenuti, Maria D. Di Benedetto y Alberto L. Sangiovanni-Vincentelli Observability for hybrid systems. Proceedings of the 42nd IEEE Conference on Decision and Control. 2003 pp. 1159-1164. [7] Bemporad, Alberto, Giancarlo Ferrari-Trecate y Manfred Morari Observability and controllability of piecewise affine and hybrid systems. IEEE Transactions on Automatic Control 45, 2000 1864-1876. [8] Besson V. y Wellstead P. Representing piecewise linear systems for analisys and simulation Control Systems Centre, 1994. [9] Bukkems B., Heemels W., Van de Molengraft M. Tracking control for piecewise linear systems using an error space approach: A case-study in sheet control in American Control Conference, 2008. [24] Blakelock J. H. Automatic Control of Aircraft and Missiles John Wiley e hijos, 2nd edition, Technical report 1991. 105 Bibliography 106 [11] Branicky M. Multiple lyapunov functions and other analysis tools for switched and hybrid systems IEEE Transactions on Automatic Control, vol. 43, pp. 475-482, 1998. [12] Chen J., y Patton R. Robust Model-based Fault Diagnosis for Dynamic Systems, Boston: Kluwer Academic Publishers 1999. Book [13] Cook M. V. Flight Dynamics Principles pages 11-29. Butterworth-Heinemann, Technical report 1997. [14] Collins P y Van Schuppen J. Observability of piecewise-plane hybrid systems Hybrid Systems: computation and control, 2004. [15] Daniel L., y Stephen M. Basic problems in stability and design of switched systems Control Systems Magazine, vol. 19, pp. 59-70, 1999. [16] De Santis, Elena, Maria D. Di Benedetto y Giordano Pola On observability and detectability of continuous-time linear switching systems. Proceedings of the 42nd IEEE Conference on Decision and Control. 2003 pp. 5777-5782. [17] De Santis, Elena y Maria D. Di Benedetto Design of Luenberger observers for detectable switching systems. Proceedings of the 2005 IEEE International Symposium on Intelligent Control. pp. 30-35. [18] De Saints E., Di Benedetto M., y Giordano P. Observability of internal variables in interconnected switching systems in 45th IEEE Conference on decision and control, 2006. [19] De Santis E., y Di Benedetto M. Observer design for disctrete-time linear switching systems International Federation of Automatic Control, 2007. [20] De Best J., Bukkems B., Van de Molengraft M., Heemels W., y Steinbuch M. Robust control of piecewise linear systems: A case study in sheet now control Control Enginering Practice, vol. 16, pp. 991-1003, 2008. [21] De Best J., Bukkems B., Van de Molengraft M., Heemels W., y Steinbuch M. Robust control of piecewise linear systems: A case study in sheet flow control 28 November 2007. Technical report. [22] Do Y., Kim S., y Kim P. Stability of fixed points placed on the border in the piecewise linear systems, Chaos, Solutions and Fractals vol. 38, pp. 391-399, 2008. Technical report. [23] Ding D., y Yang G. State-feedback control design for continuous-time piecewise linear systems: An lmi approach American Control Conference, 2008. Bibliography 107 [24] State feedback control design for continuous time Piecewise linear systems: An LMI approach, American Control Conference. pp. 1104-1108. 2008. [25] Feng G., Lu G., y Zhendong S. An approach to H∞ controller synthesis of piecewise linear systems Comunicacions in Informacion and Systems, vol. 2, pp. 245-254, 2002. [26] Fujisawa T. y Kuh E. S. Piecewise-linear theory of nonlinear networks SIAM Journal on Applied Mathematics, vol. 22, pp. 307-328, 1972. [27] Gómez-Gutiérrez D., Ramírez-Prado G., Ramírez-Treviño A. y Ruiz-León J. Observability of switched linear systems. IEEE Transactions on Industrial Informatics 2010 6(2), 127-135. [28] Goncalves J. M. Regions of stability for limit cycle oscillations in piecewise systems IEEE Transactions on Automatic Control Enginering Practice, vol. 50, pp. 1877-1882, 2005. [29] Habets L. y Van Schuppen J. A controllability result for piecewise-linear hybrid systems in European Contol Conference, 2001. [30] Hassan N., Didier T., Christopher P., Abbas C., Fault-tolerant Control Systems, Design and practical applicationsSpringer-Verlag. London Limited. Book [31] Hassibi A. y Boyd S. Quadratic stabilization and control of piecewise linear systems American Control Conference, 1998. [32] Johanson M. Piecewise Linear Control Systems Springer, 2003. Book [33] Juloski A., H. W. P. M. H., and W. S. Observer design for a class of piecewise linear systems International Journal of robust and nonlinear control, 2007. [34] Krastanov M., y Veliov V. On the controllability of switching linear systems Automatica, vol. 41, pp. 663-668, 2005. [35] Liberzon D. Switching systems and control, Birkhose, Boston. 2008. Book [36] Mulder, J. A., Van Staveren, W. H. J. J., Van der Vaart, J. C. y De Weerdt, E. Flight dynamics, lecture notes pag. 3-302. Technical report, Delft University of Technology, 2006. [37] Narendra K., y Balakrishnan J. A common lyapunov function for stable LTI systems with commuting a-matrices IEEE Transactions on Automatic Control, vol. 39, pp. 2469-2471, 1994. [38] Nayebpanah N., Rodríguez L. y Zhang Y. Fault-Tolerant Controller Synthesis for PiecewiseAffine Systems Hyatt Regency Riverfront, St. Louis, MO, USA June 10-12, 2009 Bibliography 108 [39] Nguyen., Ogburn., Gilbert., Kibler., Brown y Deal. Simulator study of stall/post-stall Characteristics of a fighter airplane with relaxed longitudinal static stability, NASA technical paper 1538, Dec 1979. [40] Ooba T. y Funahashi Y. Two conditions concerning common quadratic lyapunov functions for linear systems IEEE Transactions on Automatic Control, vol. 42, pp. 719-722, 1997. [41] Patton R.J. Fault-tolerant control: The 1997 situation. Proceedings of the IFAC Symposium SAFEPROCESS’97, Hull, UK, pages 1033-1055, l997. [42] Pejovic P., y Maksimovic D. A new algorithm for simulation of power electronic systems using piecewise-linear device models IEEE Transactions on Power Electronics, vol. 10, pp. 340-348, 1995. [43] Peleties P., y DeCarlo R. Asymptotic stability of m-switched systems using lyapunov-like functions Proceedings of American Control Conference, pp. 3438-3439, 1992. [44] Refson K. MoldyâĂŹs UserâĂŹs Manual Department of Earth Sciences, May 2001. Technical report. [45] Richter J., Heemels W., Van de Wouw N., y Lunze J. Reconfigurable control of PWA systems with actuator and sensor faults: stability1 Technical report et.al. 2008 [46] Rongwei G., y Yuzhen W. Region stability analysis for switched linear systems with multiple equilibria Proceedings of the 29th Chinese Control Conference, pp. 986-991, 2010. [47] Rubensson M., y Lennartson B. Global convergense analysis for piecewise linear systems applied to limit cycles in a dc converter in American Control Conference, 2002. [48] Russell R. S. Non linear F-16 simulations using simulink and Matlab University of Minnesota, 2003. Technical report. [49] Sandoval R. Seguimiento de trayectorias en aviones usando control lineal por pedazos CENIDET, 2011. Thesis. [50] Sontag E. D. Nonlinear regulation: The piece-wise linear approach IEEE Transactions on Automatic Control, vol. 26, pp. 346-358, 1981. Technical report [51] Stengel R. F., Intelligent failure-tolerant control. IEEE Control Systems Magazine, 11, no. 4:14-23, 1991. [52] Stern T. E. Piecewise-linear network theory tech. rep., Massachusetts Institute of Technology, 1956. Technical report Bibliography 109 [53] Stevens B., y Lewis F. Aircraft control and Simulation, Wiley Inter-science, pages 1-54,110-115. John Wiley e hijos, 1992. New York, 1992. Technical report. [54] Verdult V. y Verhaegen M. Subspace identification of piecewise linear systems 43rd IEEE Conference on Decision and control, pp. 3838-3843, 2004. Technical report. [55] Yang Z., e Izadi-Zamanabadi R. Design of Reconfigurable Nonlinear Control Using On-Line Piecewise Affine System Approximation Fault Detection, Supervision and Safety of Technical Processes Barcelona, Spain, June 30 - July 3, 2009 Technical report [56] Zhendong Sun, Ge S. y Lee T. Controllability and Reachability criteria for switched linear systems. Automatica 2002 38(5), 775-786. Technical report. [57] Zhendong S. y Ge S. (2005). Switched Linear Systems: control and design. Book Springer-Verlag. London. [58] Zhendong S. y Ge S. Dynamic output feedback stabilization of class of switched systems, IEEE Transaction on Circuit and Systems. Vol. 50, Technical report No.8. pp. 1111-1115. 2003.