Diseño de controladores difusos para navegación autónoma de un dirigible
43
0
0
Texto completo
(2) TABLA DE CONTENIDO Agradecimientos Introducción Parte I MODELOS DINÁMICOS 1. Modelos Dinámicos 1.1. Primer modelo 1.1.1. Modificaciones al modelo 1.1.2. Simulaciones de modificaciones 1.2. Modelo final 1.2.1. Descripción del modelo. 3 4 6 7 10 11. Parte II CONTROLES DE VUELO 2. Controles De Vuelo 2.1.. 14.
(3) Agradecimientos Quiero agradecer al profesor Alain Gauthier Sellier, PHd, del departamento de Ingeniería Eléctrica y electrónica de la Universidad de los Andes, asesor de esta tesis, por su dirección, compromiso y apoyo a lo largo de estos meses, sin ellos este trabajo no hubiese podido llevarse a cabo. Así mismo, agradezco a Leonardo Solaque, su direccionamiento, sugerencias y aportes fueron invaluables para mi trabajo y para el proyecto. A mi familia por su apoyo incondicional a lo largo de estos años..
(4) IEL2-03 II -14. Introducción El uso de dirigibles ha tenido gran acogida a nivel mundial en los últimos tiempos, pues por varias de sus características son una herramienta versátil para la realización de múltiples tareas tales como: control de polución, generación de mapas tridimensionales, uso como canal de comunicación, publicidad, tareas que no son posibles de realizar usando otro tipo de aeronaves tales como son los helicópteros ó aeroplanos. En el mundo son varios los proyectos que se han encaminado hacia obtener un Dirigible autónomo entre ellos se destacan el proyecto AURORA[1] en Brasil y el proyecto KARMA[2,8] en Francia. La Universidad de los Andes se ha interesado en realizar este proyecto pues se considera que el Dirigible será útil para múltiples trabajos futuros. En la actualidad, el proyecto está en sus primeras etapas de desarrollo, bastante más atrás de los proyectos KARMA y AURORA, -en los cuales se trabajó y se continua trabajando desde hace mas de cinco años-, ya que aún no se tiene un dirigible físico, modificado con todas los elementos a nivel sensorial que se necesitan para hacer de esta aeronave un robot autónomo, y apenas se han iniciado los trabajos de modelaje y aproximaciones de control necesarias para llevara término el proyecto. Pese a esto, se espera tener el dirigible y los componentes electrónicos para el primer trimestre del año en curso, a nivel de modelaje se han trabajado varios modelos dinámicos, y actualmente se busca obtener un modelo que se identificará respecto al dirigible que se adquiera,. para que dicho modelo pueda ser. utilizado como planta de prueba para desarrollo de controladores, que se trabajan actualmente usando técnicas de control difuso y de control adaptivo. Para este trabajo específicamente se trazo como objetivo secundario que el dirigible tuviese la capacidad de seguir una trayectoria predeterminada por un usuario en software. El Dirigible que se piensa controlar es del tipo Blimp y se considero que tuviese motores eléctricos, para ello la Universidad de los Andes realizo un primer modelo del dirigible[3],con el cual se dio inicio a los trabajos sobre el Dirigible.. 1.
(5) IEL2-03 II -14. Se escoge iniciar el acercamiento a los controladores de vuelo usando control difuso , pues este tipo de control no es dependiente de la planta de forma tan directa como lo es un control clásico de tipo PID ó un control de tipo adaptivo, el control difuso puede realizarse sin tener demasiadas ataduras respecto al modelo de Dirigible que se use, lo cual permite que en caso de cambiar el modelo, el control funcione igualmente bien con el nuevo modelo, hecho que no sucede con un control de tipo adaptivo, por ejemplo. Actualmente se desarrollan diversos trabajos alrededor del proyecto del dirigible autónomo como: generación de mapas tridimensionales por medio de cámaras de video estéreo (se encuentra en etapa de tratamiento de señal), la implementación de un simulador tridimensional, controles de vuelo adaptivos.. 2.
(6) IEL2-03 II -14. PARTE I. MODELOS DINÁMICOS 1. Modelos dinámicos Para la realización de los controles difusos es necesario tener una planta sobre la cual probar los controles que se implementen para la misma, en el caso de el proyecto del dirigible, se trabajaron dos modelos dinámicos ambos implementados para simulink de Matlab, el uso de dos modelos se hizo necesario debido a que las características de el modelo con el cual se iniciaron los trabajos de control (adaptivo y difuso), no reunió completamente las especificaciones necesarias para continuar el trabajo sobre dicha planta y no fue posible, ni se trazó como objetivo de éste trabajo particular obtener un modelo mejorado para trabajar en él.. figura1, convenciones usadas para descripción dinámica de el dirigible. 3.
(7) IEL2-03 II -14. 1.1. Primer modelo [3] El primer modelo fue realizado en Mayo de 2003, está basado en los efectos asociados a fenómenos manifestados en un cuerpo que se encuentra sumergido en un fluido. Su ecuación dinámica principal es la siguiente en la cual se aprecia la no linealidad del modelo. Nótese como la dinámica se trabajó sumando los efectos propios de el dirigible (parte izquierda de la ecuación), con los cambios que se efectúan usando los actuadotes del sistema (parte derecha de la ecuación). Es sobre la parte derecha de la ecuación donde reposa el interés de este trabajo puesto que es allí donde las acciones de control tendrán efecto alguno, ésta parte de la ecuación permite modificar completamente la dinámica del dirigible por medio de cambios en las fuerzas sobre cada uno de los tres ejes coordinados (X,Y,Z) y momentos inducidos en los mismos ejes (angulos de roll, pitch y yaw , respectivamente). •. M v + C (v )v + D (v)v + Ts (η ) = Tp. (ec 1) ecuación dinámica modelo inicial.. M. Matriz de masas e inercias del sistema. ν. Vector de velocidades lineales y angulares. C(v)v. Vector de fuerzas y momentos por fuerzas centrífugas y efectos de Coriolis. D(v)v. Vector de fuerzas y momentos aerodinámicos. Ts(η). Vector de fuerzas y momentos aerostáticos. Tp. Vector de fuerzas y momentos inducidos por los actuadores. Los vectores y matrices descritos por al ecuación (1) se expresan en términos de las características geométricas del dirigible, en el caso particular del modelo usado se ajustó a los parámetros de un AS500 de la empresa Airspeed Airship, tal como el que fue adquirido. 4.
(8) IEL2-03 II -14. para la realización del proyecto KARMA, usando proceso de identificación usados a lo largo del desarrollo de dicho proyecto[3]. Un análisis detallado sobre la matriz de actuadotes Tp a nivel de simulación, mostró varias falencias a nivel de capacidades del modelo. En simulación la matriz Tp usaba como entradas los valores independientes de fuerza generados por cada uno de los propulsores del dirigible y además un ángulo de vectorización, por medio del cual se indicaba la dirección de la propulsión, permitiendo al dirigible realizar ascensos y descensos. Dada la ubicación geométrica de los propulsores (figura1), sólo era posible modificar los siguientes valores que a su vez modificasen la dinámica del dirigible: Fuerza en el ejeX, Fuerza en el ejeZ y momento sobre el ejeY es decir sobre el ángulo de pitch, el momento inducido en el eje Z (ángulo de yaw), siempre era igual a cero. Es decir el modelo era incapaz de cambiar su dirección, ó realizar giros, sólo realizaba ascensos y descensos.. Figura 2. Figura3. (montaje de propulsión vectorizada). (propulsor vectorizado). Por otro lado ni la matriz Tp ni el modelo como tal incluyen el modelaje de las superficies de control típicas de un dirigible como son los alerones de la cola para ascensos, descensos y giros, y como elemento de estabilidad para el dirigible. Por tanto, se opta por hacer modificaciones básicas al modelo de modo tal que éste sea útil para el desarrollo de los controles que se diseñarían.. 5.
(9) IEL2-03 II -14. 1.1.1 Modificaciones al modelo.. Figura4. Adición de un grado de libertad a la propulsión vectorizada. Como primera medida se agrega un grado de libertad a la propulsión vectorizada de los motores, para de esta forma romper el equilibrio que se presenta a nivel de momentos sobre el eje Z , para ello basta realizar trabajo algebraico y vectorial sobre la figura 1 , resultando de la siguiente manera. Adicional a esta modificación, se realizó una aproximación para usar un alerón trasero que generase momento sobre el eje Z permitiendo al blimp girar.[9] , esta aproximación no se completo debido a problemas con los parámetros aerodinámicos y aerostáticos necesarios para modelar dicha superficie de control. Aún así se realizaron varias pruebas usando las modificaciones, e incluso simulaciones en las cuales se forzaba a la matriz Tp a asumir valores determinados, para comprobar si las modificaciones como tal, generaban errores en el modelo. Los resultados de las simulaciones realizadas en lazo abierto para hacer girar al dirigible generando principalmente momento en el eje Z, fueron negativos, como se aprecia a continuación.. 6.
(10) IEL2-03 II -14. 1.1.2 simulaciones de modificaciones. a- Simulacion1. Tiempo de simulación.. :120 segundos. Angulo de vectorización para ascensos:. 30°.. Angulo de aleron de cola.. Activación en 10seg a 15°.. comentarios Nótese como inmediatamente después de la activación de el aleron de cola y cuando se espera que el dirigible gire a la izquierda, éste gira suavemente a la derecha y luego violentamente en dirección contraria , para posteriormente iniciar un erratico patrón, que termina con el descenso del dirigible a tierra. Este último fenómeno se da pues el dirigible rebasa los 90° en su angulo de roll, es decir “se vuelca”.. b- . Simulación2. Tiempo de simulación.. :12 segundos. Angulo de vectorización para ascensos:. 5°.. Angulo de vectorización secundario. Activación en 10seg a 15°.. comentarios A pesar de dar la impresión de no tener movimientos erráticos tal como los observados en la simulación1, se vuelve a presentar el problema de girar primero en la dirección contraria a la pensada.. 7.
(11) IEL2-03 II -14. c- Simulacion3 Tiempo de simulación.. :60 segundos. Angulo de vectorización para ascensos:. 5°.. Angulo de alerón de cola.. Activación en 10seg a 15°. Desactivación en 10.5 seg.. comentarios Esta simulación muestra cómo a pesar de terminar las acciones de control y de que éstas no sean realizadas por tiempos extendidos, el dirigible no parece retornar a un punto de equilibrio, mostrando fuertes diferencias con un dirigible real , que es bastante estable. d- Simulación 4. Tiempo de simulación.. :60 segundos. Angulo de vectorización para ascensos:. 5°.. Angulo de vectorización secundaria.. Activación en 10seg a 15°. Desactivacion en 10.5 seg.. comentarios En esta simulación, los motores son apagados en el segundo 15 , de nuevo con la intención de volver a un punto de equilibrio , vemos que los resultados son incluso peores y más erráticos que los presentados por la simulación tres en la cual los motores permanecieron encendidos durante toda la simulación.. 8.
(12) IEL2-03 II -14. figura4. Desplazamiento espacial en simulación 1. figura5 desplazamiento espacial en simulacion2. figura7. Desplazamiento espacial en simulación 3. figura8 desplazamiento espacial en simulacion4. Dadas las falencias mostradas en las simulaciones respecto a estabilidad y controlabilidad del modelo, se hace evidente, que el punto de equilibrio del dirigible ha sido mal calculado y que son las matrices dedicadas a modelar el comportamiento del dirigible por su estructura y características geométricas (matrices de masa e inercia, efectos aerostáticos y aerodinámicos) , aquellas que deben ser rediseñadas para adoptar comportamientos mas reales y cercanos a los mostrados por un dirigible real. Por otro lado es importante adicionar las superficies de control puesto que definitivamente además de servir para modificar la dinámica del dirigible por medio de acciones de control, estos dispositivos aportan estabilidad al modelo, que en este momento es básicamente un elipsoide girando en el vacío, lo cual hace que cualquier perturbación de fuerza a lo largo del eje y ó momento sobre el eje Z (típicos de un desplazamiento lateral ó de la implementación de un giro) sea virtualmente imposible de corregir.. 9.
(13) IEL2-03 II -14. Las nuevas modificaciones propuestas, implican rediseñar el modelo casi en su totalidad, por tanto se opta por buscar otro modelo que provea las características deseadas a nivel de dinámica, puesto que el objetivo del trabajo es realizar controladores dinámicos y no obtener modelos complejos y completos para un dirigible de tipo Blimp.. 1.2. Modelo Final [4] El modelo con el cual se trabaja actualmente es un extracto de el trabajo que se esta realizando para el proyecto KARMA, extracto de la tesis de Emmanuel Hygounenc, aportado al proyecto por el ingeniero Leonardo Solaque. El modelo es más sencillo que el modelo con el cual se trabajó previamente pues no está modelado basándose en principios aerodinámicos y aerostáticos de un cuerpo sumergido en un fluido, pero posee características que lo hacen más útil para el trabajo de control, tales como la posibilidad de realizar giros usando los alerones traseros, así como ascensos y descensos. usando de nuevo los alerones traseros y. la posibilidad de vectorizar la. propulsión para realizar ascensos y descensos con mayor control, hecho que es especialmente útil para las fases de despegue y aterrizaje. Este nuevo modelo es básicamente una planta de pruebas para ensayar estrategias de control más que un modelo que busca ser fiel a la representación de un dirigible real como el caso anterior cuando se identificaron los parámetros para asemejarse a un AS500 de Airspeep Airships, por lo cual es perfecto para ser usado en simulación pues es liviano y no muy complejo. Por la misma razón de su desarrollo, este modelo no está muy bien identificado a nivel de parámetros lo cual lo hace ser de difícil control, además de su no linealidad característica.. 10.
(14) IEL2-03 II -14. 1.2.1 Descripción del modelo Como entradas al modelo tenemos: •. Valor de torque que se está realizando por motores –pueden ser eléctricos ó de gasolina- y del cual depende la velocidad que desarrollará el dirigible, se trabajó de esta forma pues actualmente se estudia la posibilidad de trabajar con motores de gasolina puesto que son más potentes que los motores eléctricos, haciendo al dirigible más resistente a perturbaciones externas como el viento.. •. Valor de ángulo de vectorización que puede ser positivo ó negativo y según el cual se controla la posición de los propulsores, en este modelo la propulsión puede ser colocada en sentido inverso para hacer frenar al dirigible violentamente e incluso para desplazarse hacia atrás. Este ángulo es usado principalmente en las etapas de decolaje y aterrizaje.. Figura9 cambio en la vectorización de la propulsión para desplazamientos invertidos. 11.
(15) IEL2-03 II -14. •. Valor de ángulo para controlar la superficie de control trasera (aleta trasera), para dar giros y que puede tener valores positivos ó negativos. El alerón vertical típico de los dirigibles que reflecta el viento hacia los lados generando momento sobre el eje Z y fuerza en el eje Y.. •. Valor de ángulo para controlar otra superficie de control trasera y que permite al dirigible realizar ascensos y descensos. El alerón horizontal, reflecta el viento para por fenómenos de arrastre y empuje elevar o hacer descender al dirigible.. •. Los alerones traseros no pueden ser operados simultáneamente, por lo que se usa un selector, para escoger cual de ellos usar. 1 para ascensos y cero para giros.. Como salidas se tiene: •. Velocidad del dirigible sobre el eje X [m/s], esta variable se usó de forma tal que pudiese dar una aproximación de la posición de dirigible, usándose no como un vector sobre el eje X, sino como un vector con ángulo, donde éste ángulo es la posición de la nariz del dirigible.. •. Altura del dirigible [m], posición en el eje z, tras realizar ascensos o descensos se modifica la altura del dirigible.. •. Dirección en la cual apunta la nariz [rad], este ángulo permite conocer la dirección en la cual se está moviendo el dirigible. Usado en conjunto con la velocidad para aproximar la posición del dirigible usando el bloque de visualización.. El modelo exhibe características dinámicas que no se tenían en el modelo anterior, sobre todo en cuanto a respuesta a acciones de control ó a la falta de éstas, estabilidad y por tanto controlabilidad.. 12.
(16) IEL2-03 II -14. .figura10. Angulo de yaw , crece ilimitadamente frente a una deflexión del alerón trasero.. El modelo permite al dirigible permanecer en reposo en ausencia de acciones de control como aplicar torque de los motores, además si se corta la fuente de torque de la entrada del modelo una vez este se encuentra en movimiento, el dirigible disminuirá su velocidad hasta detenerse. Respecto al trabajo con las superficies de control, es notable el efecto que estas tienen sobre la dinámica, pues el dirigible exhibe una rápida respuesta a movimientos y cambios de las mismas por pequeños que estos sean, contrario al retardo que parecía mostrar el modelo inicial. Se percibe una clara relación entre el valor de torque de entrada, con respecto al tiempo que toma al dirigible la realización de giros, es decir a menor velocidad del dirigible (menor torque de entrada) será mayor el tiempo que le tome al dirigible realizar giros o alinearse a cierto ángulo (objetivo de control).. 13.
(17) IEL2-03 II -14. PARTE II. Controles de vuelo 2. Controles de Vuelo Se implementaron controles para controlar la dinámica del dirigible completamente dentro del plano XY. Es decir se diseñaron controles de velocidad y de dirección, para en el futuro usar el dirigible como una aeronave autónoma, con capacidad de realizar tareas de tipo seguimiento de trayectorias, para fines publicitarios, para fines de vigilancia y seguridad de áreas determinadas, entre otros. Los controles se realizaron para los parámetros de ángulo de yaw (ángulo de sig-sag , por medio del cual se controla la dirección) usando para ello la superficie de control que se tiene en la aleta trasera y para el control de velocidad del dirigible usando el valor de torque de salida de los motores, para trabajos posteriores se deberá realizar modelos de los motores según el tipo que se adquiera (eléctricos ó a gasolina ) para trabajar en función del voltaje de entrada (caso de motores eléctricos) ó apertura de la válvula de gasolina (caso de motores de gasolina). Parámetros que pueden ser recalculados conociendo los resultados de éste trabajo y conociendo los motores específicos que se usarán en el dirigible. Se trabajaron ambos controladores de manera independiente , es decir no se realizó un único controlador que generase todas las acciones de control tanto para velocidad como para dirección, se optó por realizar dos controladores. 14. pues para el control que se.
(18) IEL2-03 II -14. necesitaba,. era posible desacoplar el funcionamiento de cada una de las variables. (velocidad y dirección).. A continuación se aprecia el modelo completo junto a los controladores y bloques adicionales de software.. Figura11 .Modelo final usado en Simulink. 2.1 Control de dirección Para controlar la dirección del dirigible se controla el ángulo que debe tener la aleta trasera del mismo, para ello se diseño un control difuso con dos entradas y una salida. Se trabajó este controlador con dos entradas y una salida debido a que este controlador en particular esta basado en el control dinámico de una variable , por lo cual se usa la diferencia de esta variable respecto a la referencia y su derivada, para buscar que la señal de. 15.
(19) IEL2-03 II -14. salida del controlador es decir el ángulo que deberá girar el alerón trasero del dirigible tenga un comportamiento tal que no genere daños a nivel mecánico en el funcionamiento del dirigible, por cambios demasiado bruscos y frecuentes que al ser realizados por el accionador físico que tendrá el dirigible lleven a desgaste mecánico ó ala realización de acciones erradas por restricciones del sistema como tal. Se usaron 5 funciones de pertenencia para la entrada de diferencia de ángulo, la variables lingüísticas son negG (negativo Grande) neg (negativo) , cero, pos. (positivo) y. posG (positivo Grande) , tres para la derivada de la misma, cuyas variables lingüísticas son decrece, cero y aumenta y cinco para en ángulo de salida den el alerón trasero, las variables lingüísticas en este caso son Cero, cruzaIzq (cruzar suavemente a la izquierda), FuerteIzq (cruzar Fuerte a la Izquierda), Cruzader (Cruzar a la derecha) y FuerteDer (cruzar Fuerte a la Derecha). Las funciones de pertenencia aparecen a continuación.. figura12. Funciones de pertenencia control dirección. 16.
(20) IEL2-03 II -14. Como se aprecia, en las funciones de pertenencia los rangos que se usaron fueron 360° a – 360° para el caso de diferencia angular , debido a que los ángulos a lo largo el proyecto se manejaron entre 0 y 180° y 0 y –180°, este hecho generó la necesidad de realizar bloques de limitación y conversión de unidades como se aprecia en la figura del modelo completo, debido a que el modelo no poseía limitaciones respecto a los valores que podía generar en la salida, por tanto en un momento determinado se podían tener valores superiores a 2πrad que debían ser tratados de nuevo en los rangos reales por la naturaleza de los controladores de tipo difuso. Así mismo en la función de pertenencia de el ángulo de salida se aprecia que se trabajó en un rango de –45° a 45°, este valor debe ser de nuevo convertido a radianes pues este tipo de unidades es con las cuales el modelo trabaja.. 2.2 Control de velocidad Para el control de velocidad se diseño otro controlador difuso, pero esta vez la estrategia adoptada no fue directamente controlar la dinámica de una variable, como es el caso del control de dirección, en este caso se buscó maniobrar alrededor de un punto de operación (valor de torque de entrada) , generando deltas del valor para así manipular el valor de entrada de torque al modelo ,aumentándolo o disminuyéndolo según la necesidad de aumentar o disminuir la velocidad del dirigible. Se realizaron varias pruebas con valores constantes para el punto central de operación, pero los resultados no eran buenos puesto que el control reaccionaba apropiadamente para valores cercanos al punto de operación mientras que para puntos lejanos el comportamiento dejaba mucho que desear a nivel de error de estado estacionario. Esta estrategia hubiese prosperado pero para ello es necesario tener demasiadas funciones de pertenencia para los deltas de salida, por está razón y por los buenos resultados obtenidos, la estrategia que se implementó fue hacer que el punto de operación cambiase a medida que el valor de la referencia cambiaba, hecho que derivó en muy buenos resultados manteniendo la sencillez. 17.
(21) IEL2-03 II -14. del controlador ya que la referencia que se debía seguir se podía mantener de esta forma en rangos pequeños determinados en los cuales el trabajo puede conseguirse con menos funciones de pertenencia tanto para entrada como salida . Este control es de tipo SISO, a la entrada se tiene el valor de error y a la salida el valor de delta que deberá sumarse al punto de operación variable que se genera para así mantener la velocidad constante. Las variables lingüísticas de el error son negG (negativo Grande) neg (negativo), cero, pos (positivo) y posG (positivo Grande) , nótese como la función de pertenencia para el cero es bastante estrecha para evitar dejar un error de estado estacionario notable y las funciones de pertenencia de valores negativo y positivo abarcan casi todo el rango de trabajo además de que no son triangulares sino de forma trapezoidal pues se busco que en rangos cuando el error deja de ser pequeño (superior a cinco) la respuesta fuese idéntica y fuerte que es la razón por la cual aparecen las dos funciones de pertenencia externas. Para el caso de la salida las variables lingüísticas son freno (negativo Grande) disminuir (negativo), nada, aumentar (positivo) y max (positivo Grande) de nuevo la función de pertenencia para el cero es bastante estrecha para evitar dejar un error de estado estacionario notable y las funciones de pertenencia de valores negativo y positivo asumen mayor importancia que el resto de las funciones de pertenencia dado que se disponen de manera tal que estén suficientemente cercanas al cero para actuar cuando el error se hace ínfimo, pero suficientemente alejadas para no generar problemas a nivel físico con acciones de control oscilantes que exijan a los motores cambios en voltaje o apertura de válvula de gasolina que no puedan ser realizados correctamente... 18.
(22) IEL2-03 II -14. figura13. Funciones de pertenencia control velocidad. Este control mostró una rápida respuesta en el control de la velocidad del dirigible, pero en algunos rangos deja un pequeño error de estado estacionario de aproximadamente 0.2mts/s. Además muestra que es posible realizar este tipo de control e implementarlo pues las acciones de control son muy estables a lo largo del proceso.. 19.
(23) IEL2-03 II -14. PARTE III. SIMULACIONES 3. Sobre las simulaciones A continuación se muestran algunos de los resultados obtenidos tanto como para comprobar el funcionamiento de los controladores como para el cumplimiento de la tarea de seguimiento de trayectorias. Todo el trabajo de simulación fue realizado usando el software Matlab 6.5, junto a su paquete de Simulink, además del uso del toolbox de fuzzy logic, y realizando el uso de bloques propios usando s-functions. Como se verá, los controladores funcionan del modo esperado, pero esto no es suficiente para realizar un seguimiento preciso y fino de las trayectorias. La estrategia para intentar seguir las trayectorias usando los dos controladores implementados fue generar referencias que hiciesen que el modelo se comportase de la manera que se deseaba. Este tipo de control es evidentemente insuficiente para cumplir la tarea de la manera precisa en la que se desea, pero dadas las restricciones actuales que posee el modelo sólo permiten este acercamiento. El autor actualmente trabaja en el mejoramiento del modelo para incluir en él controles de posición usando la aproximación que se mostrará en la parte de software para visualización.. 20.
(24) IEL2-03 II -14. Específicamente, para obtener los resultados que se observarán a continuación, el trabajo se basó en generar referencias a priori para ser seguidas basándose en la trayectoria que el usuario ingresa al sistema por software. Esta estrategia asemeja un control de lazo abierto pues es completamente vulnerable a perturbaciones externas del tipo viento por ejemplo, ya que una vez perturbado el dirigible se alineará de nuevo al ángulo de referencia, pero no se colocará sobre la trayectoria pues no tiene la capacidad de conocer su posición actual, por tanto a pesar de funcionar correctamente a nivel de control, su desempeño en el seguimiento de trayectorias no será óptimo.. 3.1 Software adicional Para poder acoplar los controladores diseñados para el nuevo modelo (y para el primero), fue necesario realizar varios programas de conversión de unidades, de generación de referencias (para el seguimiento de trayectorias), interfaz con usuario para introducción de trayectorias y de visualización, pues el segundo modelo no poseía la capacidad de mostrar como se desplazaba el dirigible en función del tiempo,. ni. tampoco permitía una. visualización espacial de lo que estaba haciendo realmente el dirigible. Los bloques de software adicional usados dentro de Matlab se trabajaron con s-functions para ser usados en simulación de tiempo real. El Bloque de interfaz de trayectorias fue creado en Visual Basic.. 21.
(25) IEL2-03 II -14. 3.1.1 Interfaz introducción de trayectorias. Figur14x. Generación de trayectorias con Mouse. Para facilitar la generación de trayectorias y evitar al usuario la generación de los vectores de entrada en formato adecuado para ser leído por simulink para por medio de ellos generar las referencias a seguir por el dirigible de manera autónoma, se implementó este software en la plataforma Visual Basic. Dicho software muestra al usuario un plano superior (XY) del espacio tridimensional por medio del cual el usuario usando el mouse coloca puntos sobre el plano para formar una trayectoria que posteriormente será seguida por el dirigible. El usuario además debe introducir los rangos en los cuales desea observar el plano XY que tiene a su disposición. El software generará vectores columna para ser leídos directamente por Matlab. Así como asignaciones temporales para las posiciones de los mismos. Para ello se asumió que el dirigible se desplazará a velocidad constante a lo largo de todo el recorrido. Posteriormente se incluyó la opción de que sea el usuario quien indique los tiempos en los cuales desea que el dirigible alcance los puntos específicos de la trayectoria, esta estrategia. 22.
(26) IEL2-03 II -14. puede generar problemas puesto que en ocasiones resulta en tiempos y velocidades que son imposibles de cumplir por el dirigible, por lo cual el usuario deberá tener cuidado en dicha asignación.. 3.1.2 Conversores y limitadores angulares Los conversores y limitadores angulares fueron necesarios puesto que el modelo trabajaba en radianes mientras que los controladores trabajaban grados. Además por la naturaleza de los controladores de tipo difuso, es necesario limitar las variables a rangos determinados si se desea un funcionamiento adecuado. Por ellos se implementaron s-functions cuya tarea era hacer que una vez el ángulo de salida del modelo fuese superior a π rad ó inferior a –π rad, o lo que es lo mismo 180° ó -180°, el ángulo cambiase a su complemento angular. Según el caso para hacer así que por ejemplo –190° se interpretase como 70° haciendo posible que el controlador lo identifique dentro de sus rangos y por tanto garantizando un funcionamiento correcto.. 3.1.3 Calculo de ángulos Teniendo la trayectoria predefinida e introducida por el usuario a matlab, un programa externo al modelo de simulink, pero igualmente implementado en s-functions, precalcula los ángulos de cada uno de las secciones de la trayectoria completa para en base a ello generar las referencias que seguirá el dirigible.. 3.1.4 Visualizador (aproximación de posición) De nuevo por medio de s-functions se implementó un bloque en Simulink, cuya función sería imprimir la posición del Dirigible pudiendo así analizar su comportamiento en el entorno. Cabe resaltar que este bloque presenta únicamente una aproximación de la posición y que es útil solo cuando la velocidad del dirigible se controla por entradas de tipo escalón. Debido a que trabaja muestreando cada segundo la velocidad actual a la que se. 23.
(27) IEL2-03 II -14. desplaza el dirigible, por tanto esta debe ser estable a lo largo de períodos de tiempo significativos para que la aproximación tenga un error mínimo.. figura15. Bloque funcional de simulink de aproximación de posición y visualizxación. Para obtener la posición aproximada del dirigible en el entorno se usaron dos de las variables que entrega el modelo, la velocidad en el eje X [m/s] y el ángulo de. yaw [rad]. (ángulo de sig-sag). Por medio de muestreo discreto, cada segundo se obtiene la velocidad del Dirigible que viene dada en metros por segundo y así mismo obtiene el ángulo al cual se encuentra apuntada la nariz del dirigible. Con ello realiza un trabajo vectorial que permite estimar la posición en la cual se encuentra el dirigible luego de que ha transcurrido un segundo.. figura16. explicación de visualizador. 24.
(28) IEL2-03 II -14. La aproximación consiste en tomar la velocidad muestreada cada segundo y asumir que el dirigible se mantuvo moviéndose a dicha velocidad determinada a lo largo del segundo anterior, por tanto el dirigible se habrá desplazado el mismo valor de su velocidad en metros en la dirección indicada por la dirección de su nariz. Así para calcualar la posición actual es necesario conocer la posición del dirigible en el segundo inmediatamente anterior, para a ella sumarle el desplazamiento vectorial que se desarrollo en el segundo en curso.. v1 =| v1 | ∠psi1 v 2 =| v 2 | ∠psi 2 + v1 vi =| vi | ∠psi + v (i − 1) (ec2) . Ecuaciones de aproximación recursiva para posición actual del dirigible. 3.1.5 Generadores de referencias La generación de referencias es la parte mas importante para obtener un seguimiento de la trayectoria apropiado, la estrategia para lograr dicha tarea fue que las referencias se generasen en base a la trayectoria introducida por el usuario para que así el dirigible se moviera sobre ellas una vez se iniciase la simulación. Fueron varias las estrategias implementadas para buscar el mejor resultado posible en el seguimiento, por lo cual se explican a continuación las diferentes aproximaciones.. 3.1.5.1 Velocidad constante. En primera instancia se trabajó manteniendo velocidad constante a lo largo del vuelo, para ello el usuario únicamente introducía la trayectoria por software, la velocidad que se asumió para esta tarea fue 10m/s debido a que se conoce que la velocidad máxima promedio de este tipo de dirigibles es 45Km/h. Dado que se requería que el dirigible se mantuviese el mayor tiempo posible sobre la trayectoria, es necesario que la referencia angular cambie de valor antes de que el dirigible. 25.
(29) IEL2-03 II -14. llegue al quiebre de la trayectoria, para ello se realizaron pruebas de tipo ensayo y error para determinar con cuanta anterioridad se obtenían los mejores resultados.. 3.1.5.2 Velocidad variable. La estrategia a continuación descrita va de la mano con la generación de trayectorias en la modalidad que el usuario introduce valores de tiempo en la generación de trayectoria, para cumplir con dichos tiempos , el dirigible cambia su velocidad en cada segmento de la misma, para recorrer la distancia en el tiempo deseado por el usuario. Esta estrategia funciona bien debido a que el control de velocidad posee una respuesta casi inmediata (menos de un segundo) para cambios bruscos de velocidad, además evidentemente este tipo de estrategia genera resultados visiblemente diferentes, como los mostrados en la figura.. figura17. Uso de la velocidad para seguimiento de una trayectoria. La figura7 muestra como el parámetro de la velocidad permite que el dirigible recorra distancias en diferentes tiempos, para ejemplificar su uso como señal de control para seguimiento de trayectorias. Para la realización de esta simulación se tomó la misma referencia de ángulo, pero se trabajo con velocidades constantes de valores distintos.. 26.
(30) IEL2-03 II -14. 3.1.5.3 Referencia según posición. Esta estrategia fue implementada para el primer modelo con el que se trabajó, consiste en que la referencia angular varíe según la posición del dirigible en todo momento. Esta estrategia no pudo ser probada para el segundo modelo puesto que éste no tenía capacidad de mostrar la posición del dirigible, -la aproximación de visualización y posición fue implementada para la finalización del proyecto-. Aún así esta aproximación se probará en trabajos futuros puesto que a diferencia de sus predecesoras, sí es robusta y no vulnerable a perturbaciones y no requiere de generación de referencias a priori, que en caso de no ser realizadas correctamente incluso de tener pequeños errores derivaran en errores grandes de seguimiento. Para generar el ángulo que debiese seguir el dirigible en todo momento la estrategia consiste en calcular a que segmento de la trayectoria se encuentra más cerca el dirigible y así asignar el ángulo a seguir. También genera un cambio de referencia angular cuando se acerca a un quiebre de trayectoria .Esta estrategia funciona muy bien si el dirigible inicia su recorrido sobre la trayectoria, ya que se mantendrá en ella debido a la generación de referencias en tiempo real y no desde el inicio como se había venido trabajando. El bloque funcional se ve de la siguiente manera en simulink.. figura18 . Estructura de bloque de generador de trayectoria por posición. 27.
(31) IEL2-03 II -14. Nótese que las entradas al bloque son la posición actual del dirigible (coordenada X y coordenada Y), y el ángulo actual al que apunta la nariz. Basándose en esos datos el bloque genera las salidas xinicial, yinicial (ubicación del punto de quiebre inicial del segmento de la trayectoria que debe seguir), ángulo actual (ángulo actual del dirigible) y ángulo de giro (ángulo que debe girar el dirigible para alinearse con la trayectoria). Adicionalmente imprime el punto de la trayectoria al cual se encuentra más cerca el dirigible calculado por medio de rectas perpendiculares a la misma.. figura19 , funcionamiento de generador de referencia por posición La trayectoria a seguir es la azulsolida,, las estrellas violeta son la posición actual del dirigible y las estrellas negras son la posición más cercana al punto actual que está sobre la trayectoria.. El dirigible gira cerca de la trayectoria, el software imprime el punto de intersección con la trayectoria, según este punto de intersección, se genera el ángulo al cual debe alinearse el dirigible basándose en el segmento al cual éste punto de intersección pertenece.. 3.1.5.4 Control maestro aterrizajes y decolajes. Junto al bloque anteriormente mostrado, se diseño un control maestro que permitiría usar dos tipos de vuelo para el dirigible, el primero destinado a hoover ó vuelo estable, y el segundo a mantener su posición permanentemente. Esto con el fin de usar al máximo las. 28.
(32) IEL2-03 II -14. capacidades del bloque anteriormente mostrado, de generación de referencia. según. posición. Este bloque muestra especial utilidad para usarse para las fases de aterrizaje y decolaje del dirigible pues, permitirá usar controladores independientes para cada una de estas fases, los controladores actualmente diseñados se usan para la fase de hoover. La idea es que el dirigible pueda despegar en cualquier punto y que como primer paso al seguimiento de la trayectoria, se coloque sobre el punto inicial de la misma, una vez allí use los controles actuales para seguir la trayectoria y una vez se acerque al último punto de la misma, aterrice ó se detenga.. figura20. Estructura de bloques de controlador maestro junto a generador de referencias por posición. Para lograr esta tarea, el bloque guarda en su memoria el numero de veces que el dirigible cambia de referencia angular a lo largo del vuelo tipo hoover, dado que a priori se conoce la trayectoria, el software conoce e numero de cambios que debe haber para que se recorra la trayectoria completamente, de manera que al obtenerse este número de cambios menos. 29.
(33) IEL2-03 II -14. El bloque así, genera una señal de control que indica que tipo de vuelo se desea que el dirigible desarrolle.. figura21. simulación para verificar funcionamiento de control maestro. Se generó un desplazamiento alrededor de la trayectoria deseada, La trayectoria a seguir es la azul sólida, las estrellas violeta son la posición actual del dirigible y las estrellas negras son la posición más cercana al punto actual que está sobre la trayectoria.. figura22 señales de control para control maestro, se ve como la señal denominada control asume dos valores a lo largo del vuelo, inicialmente cero para indicar que se mueve hacia el punto inicial de la trayectoria (despegue) , pasa a uno para realizar el vuelo a nivel , finalmente regresa a cero para realizar el aterrizaje. 30.
(34) IEL2-03 II -14. 3.2 Resultados de simulación. A continuación se aprecian algunos resultados obtenidos para el seguimiento de trayectorias. De nuevo se resalta que el tipo de control usado no es suficiente para completar el seguimiento preciso de una trayectoria pues es más un problema de generación adecuada de referencias que un problema de control como tal.. figura23. visualización de seguimiento de una trayectoria.. 3.2.1 Funcionamiento de los controladores. figura24. Seguimiento angular usando controladores difusos. 31.
(35) IEL2-03 II -14. En esta figura se aprecia el resultado de seguimiento del controlador difuso para ángulo donde se aprecia la excelente respuesta obtenida tanto a nivel de estado estable como a nivel de velocidad en respuesta, vemos que se requieren aproximadamente 5 segundos para girar 45°, con base en estos resultados, se realizaron los ajustes necesarios para que la generación de trayectorias generase los cambios de referencia con la anterioridad necesaria.. figura25. Señal de control alerón trasero. Apreciamos en la figura la señal de control de el alerón trasero las acciones de control suficientemente estables para se realizadas por los actuadotes mecánicos del sistema, en este caso es un motor de tipo servo, que no debería tener problemas respondiendo para generar la señal de control.. figura26. Seguimiento de velocidad usando controles difusos. 32.
(36) IEL2-03 II -14. El control de velocidad es excelente respecto a tiempo de respuesta pues como se aprecia, le toma aproximadamente 1 segundo al control entrar y mantenerse en el rango de error menor a cinco por ciento, posee amplia estabilidad así como un funcionamiento apropiado para los varios rangos de trabajo tanto para altas velocidades (superiores a 8m/s) o muy bajas (menores a 1m/s).. figura27. Señal de control de torque. La señal de control nos deja ver cómo el variar el punto de operación al tiempo que la referencia mantiene las acciones de control en un rango bajo (-2 a 2) en el cual el funcionamiento es bueno, desafortunadamente se deja un pequeño error de estado estable de aproximadamente 0.2 m/s, pero para disminuir este error usando el controlador difuso únicamente se debe perder calidad en el comportamiento de la señal de control haciéndola oscilatoria e inestable e incluso haciendo que el error no disminuya sino que oscile también debido a la inestabilidad de la señal de control .. 3.2.2 Análisis de estrategias para seguimiento. A continuación se reseñan algunos resultados obtenidos para el seguimiento de trayectorias usando las estrategias de generación de referencias para velocidad constante y para velocidad variable, no se adjuntan resultados para generación según posición pues es una. 33.
(37) IEL2-03 II -14. estrategia que no se ha probado bajo las mejores condiciones debido a que como se ha reseñado el modelo no poseía la capacidad de trabajar con posición. a. Simulación obtenida usando la generación de velocidades. Para esta simulación se genera una referencia de velocidad que debe ser seguida por el dirigible para asi llegar a tiempo a cada uno de los puntos de quiebre de la trayectoria, así como una referencia angular que cambia al tiempo que la velocidad.. figura28. Seguimiento de trayectoria con velocidad variable. Se ve clara la tendencia del dirigible a moverse de forma paralela a la trayectoria, así como su efecto anticipatorio para mantenerse lo más cerca posible a la misma, aunque así mismo se aprecia que la trayectoria generada tiene pequeños errores de tiempo, que hacen que el dirigible no se desplace todo el tiempo sobre la trayectoria, por otro lado la grafica nos da un acercamiento a el uso de diferentes velocidades a lo largo del vuelo, como se aprecia al ver en la gráfica la mayor o menor intensidad y cercanía de los puntos de desplazamiento .. 34.
(38) IEL2-03 II -14. b. Simulación obtenida para velocidad constante de 10m/s. En este caso se toma velocidad constante del dirigible y se genera una referencia de ángulo basada en que el dirigible siempre recorre la misma distancia por tiempo , por tanto el ángulo a seguir deberá cuando el dirigible ha recorrido cierta distancia .. figura29. Seguimiento de trayectoria con velocidad constante. Visualmente los resultados son mejores para esta estrategia, a nivel de precisión en el seguimiento, además, se aprecia que el desplazamiento a altas velocidades del dirigible deriva en amplia mejoría sobre el comportamiento y dinamismo así como velocidad en respuesta y tiempo que tarda en alinearse a un ángulo determinado, es decir, el dirigible no necesita anticiparse demasiado tiempo a el ángulo siguiente cuando se desplaza a altas velocidades, ya que su rápida respuesta le permite mantenerse aún más tiempo en el seguimiento de la trayectoria. En ambas figuras se aprecia que las dos estrategias obtienen resultados relativamente buenos en los cuales el dirigible sigue la trayectoria con cierta precisión , excepto en el inicio del recorrido, sector en el cual por limitaciones físicas del modelo este no logra reaccionar lo suficientemente rápido como para alinearse con la trayectoria y seguirla. 35.
(39) IEL2-03 II -14. apropiadamente. Cabe reseñar que el trabajo con velocidades altas (superiores a los 8m/s, se considera alta puesto que la velocidad máxima promedio de un dirigible de tipo Blimp es de 45Km/h ó 12.5 m/s) y el uso de la estrategia de velocidad constante genera un mejor desempeño, además la generación de referencias es más sencilla e implementar esta estrategia seria más sencillo pues sólo sería necesario el uso de un controlador.. 36.
(40) IEL2-03 II -14. 5. Conclusiones El uso de control difuso para este tipo de trabajo es considerado óptimo, ya que en comparación con otros controladores que se han diseñado para este proyecto, tal es el caso de aproximaciones adaptivas es muy rápido, estable y las acciones de control pueden ser toleradas por los accionadotes físicos del sistema pues no son violentas, ni oscilatorias. El control difuso permitió continuar con el trabajo y diseño de controladores aunque la planta no estuviese todo el tiempo disponible, debido a que fue posible diseñar asumiendo posición de experto frente al problema de control. El primer modelo conllevo a varios diseños de controles multivariable de tipo MIMO, que se desarrollaron no bajo la idea de control de variables dinámicas sino con un concepto mas cercano a la robótica y programación, básicamente se estudiaron múltiples casos posibles que se pudiesen llegar a presentarse a lo largo del vuelo, y así mismo sus acciones de control determinadas que generasen los resultados deseados, para luego implantar este tipo de soluciones en el control difuso, este tipo de solución probó ser demasiado complicado a nivel de programación debido a que requería de un número exagerado de reglas para el funcionamiento, para mejorar el mismo , se buscó minimizar el número de funciones de pertenencia de las variables, pero este cambio derivó en funcionamientos deficientes. Sobre los controladores diseñador para el modelo inicial, es opinión del autor que su funcionamiento fue bueno puesto que las acciones de control que realizaban eran de hecho aquellas para las cuales fueron diseñados, pero no lograron de ninguna manera el control de dicho modelo, los controladores no ejercían control suficientemente drástico para controlar la inestable dinámica exhibida por el modelo inicial. El desarrollo de controladores basados en control dinámico de una variable (para el control de dirección) se inició trabajando sobre el modelo inicial , pero de nuevo los resultados no. 37.
(41) IEL2-03 II -14. se dieron , algunos de estos controladores se usaron en el segundo modelo y los resultados fueron buenos tanto a nivel de funcionamiento de los controles como a nivel de control del modelo, mostrando la ventaja que se tiene al trabajar con control difuso por su relativa falta de dependencia del modelo para funcionar correctamente. Pese el buen funcionamiento de los controladores funcionando independientemente uno del otro y en conjunto, este tipo de control no es suficiente para realizar un control apropiado para seguir trayectorias, pues es completamente vulnerable a perturbaciones y a tener errores desde el inicio que son imposibles de corregir a lo largo del vuelo pues estos errores vienen dictados por la referencia generada desde el inicio de la simulación, no por falencias en los controladores. El seguimiento de trayectorias que se intentó realizar en este proyecto, por las características del mismo se convierte en un problema de generación de trayectorias más que en un problema del control como tal. Es la opinión del autor que el trabajo a velocidad constante genera mejores resultados que el trabajo usando varias velocidades, por lo cual sugiere esta estrategia para usarse en el seguimiento de trayectorias predeterminadas y otras tareas similares, que permitan esta libertad, tales como los usos para vigilancia y para el mapeo tridimensional. Es la opinión del autor que para obtener seguimiento adecuado de las trayectorias es necesario incluir controladores de posición para el centro de gravedad del Blimp, esta tarea se desarrolla en la actualidad por el autor de este trabajo, aí como el desarrollo de controladores de posición para el mismo proyecto. En trabajos futuros las tareas de vuelo reseñadas por el autor tras el desarrollo de un control maestro para aterrizaje y decolaje deberán ser trabajadas a fondo pues es evidente que deben ser usadas estrategias e incluso controladores diferentes para cada una de estas etapas de vuelo (decolaje, aterrizaje y hoover ó vuelo a nivel).. 38.
(42) IEL2-03 II -14. En trabajos futuros será deseable tener modelos dinámicos para los motores que se piensen utilizar pues es importante conocer que los motores estén en capacidad de cumplir con las acciones de control que se necesitan para la realización de las tareas. Se piensa continuar el trabajo usando el segundo modelo usado, pero haciendo algunas modificaciones al mismo para hacerlo más completo a nivel de simulación, tales como lograr independencia de movimiento en los alerones traseros y la inclusión de medidores de posición. Este modelo se convertirá en una planta de pruebas para desarrollo de controladores de todo tipo, no se planea hacer de éste modelo un modelo complejo como el que inició el trabajo modelado en base a características geométricas, aerodinámicas, aerostáticas y demás de un dirigible real.. 39.
(43) IEL2-03 II -14. Bibliografía y Referencias.. [1] Alberto Elfes. ,Samuel S.Bueno , Josu ´e J.G.Ramos, Ely C.de Paiva, Marcel. Bergerman , José R.H.Carvalho, Silvio M.Maeta, Luiz G.B.Mirisola , Bruno G.Faria ,and José R.Azinheira , Modelling,Control and Perception for an Autonomous Robotic Airship; Information Technology Institute,Campinas,Brazil. [2] Simon Lacroix, Il-Kyun Jung, Philippe Soueres, Emmanuel Hygounenc, Jean-Paul Berry, The autonomous blimp project of LAAS/CNRS Current status and research challenges, LAAS/CNRS Toulouse, France. [3] Arévalo E. Mauricio, “Modelaje, Identificación y Simulación del Sistema de Vuelo de un Dirigible”, Tesis Ingeniero Electrónico, Universidad de los Andes, 2003. [4] Emmanuel Hygounenc, Leonardo Solaque, 2003 [5] Gordon Wyeth and Ivan Barron ,An Autonomous Blimp, Department of Electrical and Computer Engineering University of Queensland,Australia [6] Kuo, Benjamin, “Automatic control systems” Prentice Hall, 1995. [7] www.minizepp.com [8] http://www.laas.fr/~simon/eden/robots/blimp.php [9] Airship technology / G. A. Khoury, J. D. Gillett. New York : Cambridge University Press, 1999. 40.
(44)
Documento similar