Full text
1 (0.1)e Equation Chapter 1 Section 1 Trabajo Fin de Grado Grado en Ingenieria en Tecnologias Industriales Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Autor: José Luis Holgado Álvarez Tutor: Daniel Limon Marruedo Dep. Teoría de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2015
El AIRWHALE , la historia de las tecnologias que nos inspiraron 2
3 3 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Trabajo Fin de Grado Grado en Ingenieria en Tecnologias Industriales Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Autor: José Luis Holgado Alvarez Tutor: Daniel Limon Marruedo Profesor titular Dep. de Teoría de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2015
El AIRWHALE , la historia de las tecnologias que nos inspiraron 4
5 5 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Proyecto Fin de Carrera: Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Autor: José Luis Holgado Álvarez Tutor: Daniel Limon Marruedo El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de:
El AIRWHALE , la historia de las tecnologias que nos inspiraron 6 Sevilla, 2015 El Secretario del Tribunal
7 7 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale
El AIRWHALE , la historia de las tecnologias que nos inspiraron 8
9 9 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Agradecimientos ste texto esta dedicado en primer lugar a mis padres, José Luis Holgado y Mª Isabel Álvarez sin ellos, sin todo su cariño y apoyo, sin su ayuda y consejo durante todos mis años de estudiante, no hubiera sido posible llegar a dia de hoy a este punto. A mis Hermanas Sara y Maribel, que han sido un modelo a seguir durante toda mi carrera y una de mis mayores fuentes de comprensión y animo. A mi pareja Ainhoa Navarro, Por consguir hacerme crecer y creer en mi y en mi trabajo, por su amistad y cariño y paciencia, que me han permitido superar todas las adversidades que se me me han cruzado en todo este tiempo y sobre todo por tenerla a mi lado. A mi tutor, Prof. Daniel Limon, por creer en una idea, que ha desembocado en este proyecto, que gracias a el hemos sido capaces de abarcar y realizar. Por su dedicación y entrega en todas las horas que hemos pasado en el laboratorio realizando este proyecto. Por orientarnos en todo lo que ha estado en su mano, por alentarnos a aprender y por haberme mostrado tanto como profesor y como tutor, el campo de Ingenieria de sistemas y control. El campo al cual espero dedicarme durante mi carrera profesional. Y por ultimo a mis compañeros de Esitech, sin su apoyo, entrega y fe en este proyecto no habría sido posible llegar a donde hemos llegado. E
El AIRWHALE , la historia de las tecnologias que nos inspiraron 16 3.3 Proceso de Fabricacion y materiales empleados 41 4 Control de la Orientacion en vuelo del Airwhale 53 4.1 Estrategias de control implementadas. 53 4.1.1 Control PD 54 4.1.2 Control PID 60 5 Control de la Traslacion en vuelo del Airwhale 67 5.1 Estrategias de control implementadas. 67 5.2 Diseño de controladores por métodos frecuenciales para el Subsistema de 67 5.3 Traslacion. 67 5.3.1 Control PID 67 6 Modelado y control de estabilidad en el prototipo Airwhale 75 6.1 Identificacion del sistema en bucle abierto. 75 6.1.1 Calculo de parámetros caracteristicos y creación de una función de trasferencia que sea acorde al sistema 76 6.1.2 Creacion y sintonización de controladores PID mediante métodos frecuenciales 78 6.2 Comparacion entre el sistema real y el modelado mediante matlab. 80 7 Conclusiones y lineas de investigacion a seguir en el futuro 83 bibliografia 84 ANEXOS 86
17 17 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale
El AIRWHALE , la historia de las tecnologias que nos inspiraron 18
19 19 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale
El AIRWHALE , la historia de las tecnologias que nos inspiraron 20 1 EL AIRWHALE , LA HISTORIA DE LAS
21 21 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale TECNOLOGIAS QUE NOS INSPIRARON urante los últimos años, la robotica aplicada a la aeronáutica ha experimentado una creciente demanda. desde los famosos quarotores, hasta los aviones de caza “predator”. La razón fundamental del creciente interés en este campo de la ingeniería es el gran abanico de posibilidades que ofrece, haciendo a dia de hoy sea una de las líneas de investigación donde mas se esta profundizando. Hasta hace poco este tipo de vehículos se veía en un vacio legal, lo que podía suponer un peligro para la seguridad publica por multiples motivos, en la actulidad la mayoría de los países están o han creado una legislación donde se regla los propósitos de uso de esta clase de aeronaves. Entre todas ellas el Quarotor ha sido la favorita tanto por particulares como por empresas tecnologicas y de entretenimiento, su maniobrabilidad y capacidad para multiples aplicaciones le han permitido hacerse un hueco tan notorio en la actualidad científica. Pero no todo son ventajas, uno de sus principales problemas es su corta capacidad de vuelo, creándose una relación batería/peso/durabilidad de vuelo complicada de optimizar. Con esta premisa un grupo de estudiantes, englobados en la asociacion Esitech de la que soy parte, decidimos crear un nuevo tipo de dron, basado en tecnologías existentes como los dirigibles y en las aeronaves V-Tol, Vertical, Take Of and Landing, que pudiera ser un sustituto viable para los helicópteros Quarotores en casos que sea necesarios vuelos de larga duración aunque con la contraprestación de renunciar a parte de la maniobrabilidad. Para entender un poco mejor como llegamos a nuestro diseño os presentamos una introducción histórica y conceptual de las ideas y tecnología existente que nos ha inspirado. D El desarrollo del hombre depende fundamentalmente de la invención. El el producto mas importante de su cerebro creativo. - Nikola Tesla -
El AIRWHALE , la historia de las tecnologias que nos inspiraron 22 1.1 Introduccion historia 1.1.1 Origen de la robotica Aerea El desarrollo de la robotica aera o drones va ligado a la industria militar, los primeros UAVs conocidos fueron utilizados por el ejercito austriaco durante una guerra con la ciudad de Venecia en el siglo XIX. Estas aeronaves consistían en simples globos aerotaticos con una carga explosiva que eran lanzados sobre la ciudad, la carga explosiva era activada por una pila galvanica, lo que le proveía de un rudimentario sistema de disparo automatico. La maniobrabilidad de estas aeronaves era nula y dependía exclusivamente de las corrientes de viento. Hay datos de que varios de estos globos volvieron a la zona de lanzamiento impulsados por ráfagas no previstas por los ingenieros. Ya durante la segunda guerra mundial y la guerra fría el desarrollo de este tipo de aeronaves evoluciono notablemente, desde el V2 Considerado el primer misil de la historia a los aviones no tripulados desarrollados por Reginald Denny, desarrollados para la practica de tiro de los artilleros, supusieron un gran avance tanto en el desarrollo técnico como el de su maniobrabilidad. Durante los siguiente años la carrera armamentística entre la URSS y EEUU llevo a la necesidad de crear aeronaves cada vez mas difíciles de detectar, pequeñas, con mas autonomía y que pudieras poner detrás de las líneas enemigas sin que pusieras un piloto en peligro. Esto llevo a la creación de naves no tripuladas de reconomiento, movidas mediante radio control, pero su alcance era limitado, no fue hasta principio del siglo XXI y con la guerra de Iraq en marcha, cuando se perfecciono y se puso de manera patente la utilidad de los drones. El representante mas conocido de esta serie de naves no tripuladas fue el caza Predator, una obra de ingeniería de gran precisión y alcance siendo capaz de operar en zonas de conflicto con fines de reconocimento o como nave de apoyo o como vehiculo de combate. Estas naves actualmente siguen dependiendo de un operador en tierra, pero las conexiones se realizan mediante via satélite, pudiendo estar el piloto a miles de kilómetros de distancia. En el campo de la ingeniería civil, las aeronaves no tripuladas han tenidos dos fines. Cientificos o recreativos. Ejemplos representativos de ambos casos pueden ser, los globos meteorológicos, que ejercen de estaciones móviles durante un tiempo determinado, los satélites y vehículos de exploración espacial. En el plano recreativo nos encontramos con los aviones y helicópteros de radio control, que desde los años 80 han tenido gran acogida dentro de muchos hogares. No es hasta el siglo XXI al igual que en el campo militar, que gracias a la miniturizacion de la electrónica y su notable aumento de capacidad de calculo, internet, el desarrollo del software libre y en ultima instancia, nuevos materiales mas ligeros como la fibra de carbono o formas de fabricación novedosas como la impresión 3-D los que han permitido una autentica revolución en la producción de las aeronaves no tripuladas. Su mas famoso exponente, como hemos mencionado antes, los helicópteros multirotor. Aunque también estas tecnologías también han permitido mejorar los aviones y helicópteros tradicionales.
23 23 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Figura 1.0 Dron militar y civil. 1.1.2 Dirigibles Los dirigibles o aerostatos autopropulsado son vehículos aéreos con capacidad de maniobra y con sustentación generada por el principio de arquimedes, es decir la existencia de un cuerpo sumergido en un fluido mas denso que el provoca que este ascienda.. Son los vehículos aéreos mas antiguos desarrollados con éxito por el hombre, desde el siglo XIX hasta nuestros días estas aeronaves surcan nuestros cielos pero con propósitos radicalmente distintos. Durante la primera y segunda guerra mundial estos vehículos eran utilizados con dos fines, transporte de pasajeros y bombardero. A causa de un gran numero de accidentes y al avance en el desarrollo de los aviones, los dirigibles empezaron a perder popularidad, siendo su uso comercial para transporte interrumpido desde el accidente del Hinderburg y su uso militar interrumpido desde la segunda guerra mundial. Hasta hace muy poco el uso de los dirigibles se ha relegado a la publicidad. No es hasta los años 2000 cuando se empezó a volver a tener en consideración a estos gigantes con nuevos propósitos. Transporte de mercancías pesadas y estaciones de sensores en la alta atmosfera, empresas como Google y Darpa han estado interesados en esta tecnología a demás de la empresa británica Airlander que se encuentra desarrollando en la actualidad dirigibles para vuelos de pasajeros. Los Dirigibles se pueden identificar en varios tipos, estos son: Dirigible rigido: Como indica su nombre, pose una estructura rigida interna, dentro de ella se encuentran multiples cavidades o globos con el gas no presurizado necesario para la flotación, por tanto la forma de la aeronave no depende de presión interna del gas, ya que se la da la estructura.
El AIRWHALE , la historia de las tecnologias que nos inspiraron 24 Figura 1.1 Dirigible rigido USS Akron Dirigible no rigido: Este tipo es el que se utiliza normalmente para la publicidad, observación y balizamiento, su estructura se compone de una tela impermeable al gas que forma un recipiente estanco y resistente, este se llenga del gas hasta que alcanza una presión determinada, lo que hace que le cuerpo se quede rigido. Figura 1.2 Dirigible no rigido usado para la publicidad Dirigible Hibrido: Estas aeronaves, son vehículos basados en los dirigibles que a demás se le añaden características de otro tipo de vehículos para aumentar sus prestaciones, por ejemplo darle al dirigible alas y una estrutura que tenga forma aerodinámica para mejorar su capacidad de vuelo en modo crucero, o añadirle un motor rotativo hélices para poder realizar el despegue de forma vertical etc.. En nuestro caso nos hemos decantado por la hibridación para realizar el Airwhale, el cual intenta aunar características de aeronaves de ala fija, helicóptero y dirigible. Todo esto se describirá de forma mas concisa en punto posteriores.
25 25 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Figura 1.3 LEMV Proyecto de dirigible hibrido realizado por DARPA 1.1.3 Despegue y aterrizaje vertical. En la historia de la aviación uno de los objetivos que siempre se ha perseguido, sobre todo en el campo militar ha sido tener aviones que tuvieran la capacidad de despegar y aterrizar sin necesidad de una larga pista de aterrizaje. Una de las primeras soluciones que se dio fue el autogiro. Este avión fue inventado por Juan de la cierva, desarrollado en la década de los años 20 del siglo XX tenia la capacidad de elevarse en vuelo sin pista de aterrizaje gracias a la gran hélice que tenia en la parte superior de su fuselaje. Este aerodino fue toda una revolución y a partir de el se comenzaría el desarrollo de los helicópteros actuales. El problema principal de los vehículos que realizan el despegue vertical es que su capacidad y alcance de vuelo son limitados, por ello y para resolver esa necesidad se desarrollo en los años 60 un nuevo tipo de avión de transporte, propulsado con hélices que podía hacer grandes distancias y despegar verticalmente. Este es el v22_OSPREY. Sus dos hélices con capacidad basculante le permiten realizar vuelos como un avión y hacer aterrizajes y despegues verticales. La disposición de sus motores nos sirvió de inspiración para realizar el el Airwhale. Figura 1.4 Primer autogiro desarrollado por Juan de la Cierva y el V22_OSPREY
El AIRWHALE , la historia de las tecnologias que nos inspiraron 32 Figura 1.12 Modelo inicial de la estructura Descartado. La razón principal para rechazar este modelo es que no teníamos herramientas adecuadas para poder realizar las costillas con las tolerancias adecuadas, a demás de que la estructura principal era demasiado pesada. El modelo que al final consideramos para su fabricación, como describimos antes posee también de un cuerpo principal, pero de una madera mas ligera, Las alas están echas de dos planchas de madera unidas a la estructura y unidas entre si por un ridigizador en su extremo y en los laterales. La subestructura inferior y superior están conectadas entre si por cuatro mástiles de madera de balsa. Figura 1.13 Modelo realizado para la fabricación con tren de aterrizaje no rigido. Este fue el primer planteamiento que tuvimos para la fabricación de la estructura, pero resultada demasiado frágil por tanto se decidió tomar otro diseño mas rigido y seguro.
33 33 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Figura 1.14 Modelo final. Figura 1.15 Vistas del Modelo final.
El AIRWHALE , la historia de las tecnologias que nos inspiraron 34 1.3.3 Parametros obtenidos a partir de Catia V5 Diseñado el prototipo y una vez construido en el laboratorio, necesitamos obtener una serie de parámetros geométricos y masicos, ya que estos aparecen en las ecuaciones de movimiento y sin ellos no podríamos continuar. Por suerte Catia tiene un calculador de propiedades de un cuerpo en función de su masa, tamaño y densidad. Introduciendo la densidad del material del que esta hecho cada pieza de la estructura en Catia, este calcula el peso que debe tener, su volumen, Las inercias geométricas de primer y segundo Orden y el centro de gravedad. Propiedad Valor Masa 1.5 kg Volumen ocupado 0.624 m3 Centro de Gravedad x 799.024 mm Centro de Gravedad y -399.244 mm Centro de Gravedad z 1.924 mm Ixx 0.11 Kg*m2 Iyy 0.295 Kg*m2 Izz 0.26 Kg*m2 Ixy -2.513* 10 -6 Kg*m2 Iyz -1.395* 10 -6 Kg*m2 Izx -4.483* 10 -6 Kg*m2 gravedad 9.8 m/s2 Densidad del helio 0.1785 Kg/m3 Densidad del Aire 1.29 Kg/m3 Coeficiente de empuje de cada motor κthrust 9.5*10-6 N*m*s2 Coeficiente de arrastre de cada motor κdrag 1.7*10-7 N*m*s2 Coeficiente Cd 0.15 Shx 0.5 Shy 1.7 Shz 1.7
35 35 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Podemos observar que los términos cruzados de las inercias son muy pequeños y por tanto despreciables respecto a las inercias principales , esto significa que la matriz de inercia de nuestro vehiculo quedaría de la siguiente forma:
11
Modelado del prototipo 12 12 2 MODELADO DEL PROTOTIPO l prototipo del Airwhale como hemos dicho antes, tiene como propósito la obtención de una dinámica valida para ensayar una serie de controladores que sean extrapolables al proyecto Airwhale que se desarrollara al año que viene. Para modelar el movimiento de nuestro prototipo, lo consideraremos primeramente como un solido rigido con una sustentación propia y constante (el helio). Lo primero que tenemos que hacer es identificar el numero de grados de libertad de nuestra aeronave y los ejes en los que va a trabajar. Al ser un solido rigido capaz de realizar 6 movimientos, tres de traslación y 3 de rotación, significa que posee 6 grados de libertad. Al ser un vehiculo con simetría en los 3 ejes, podemos ver que su centro de gravedad y masas coinciden y se encuentran en el punto central del vehiculo, ese esa el punto que estudiaremos el movimiento de nuestro solido rigido. En la siguiente imagen se muestra como están distribuidas las siguientes fuerzas y momentos que actúan sobre nuestro vehiculo, se puede considerar una arquitectura simplificada por una cruceta doble, donde se apoyan los motores con una orientación determinada y con el centro de gravedad en el centro de la aeronave. La geometría de nuestro prototipo viene acompañada de una serie de medidas que caracterizan el tamaño de la aeronave y la posición de los distintos actuadores respecto al centro de masas E La única manera de descubrir los limites de l o posible es aventurarse un poco mas alla de dichos limites, en lo imposible Arthur C. Clark
13 13 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Medidas Valores (m) Largo del prototipo Airwhale 1.8 Ancho del prototipo Airwhale 1.4 alto del prototipo Airwhale 0.8 L1 distancia de los motores verticales 2 y 4 al centro de masas en la dirección y 0.7 L2 distancia de los motores verticales 1 y 3 al centro de masas en la dirección x 0.9 L3 distancia del motor 5 y 6 al centro de masas en la dirección y 0.4 Fig 2.0 modelo esquematico de las diferentes fuezas que se ejercen en el prototipo Los sistemas de referencia que usaremos serán los siguientes: {W} World coordinate frame, es el sistema de referencia donde las leyes de movimiento del vehiculo están regidas por las leyes de Newton, es el que será utilizado para su control.
Modelado del prototipo 14 14 {B} Body coordinate frame, es el sistema de coordenadas que caracteriza el movimiento de un punto representativo del solido rigido, en este caso su centro de masas. Como enunciamos antes, el modelo del vehiculo se hace acuerdo a que es coincidente el centro de masas y el geométrico considerando que la aeronave es simetrica y su masa se distribuye uniformente sin causar un desplazamiento del centro de masas. 2.1 Sistemas de propulsion del vehiculo Para nuestro vehiculo, podemos considerar que es un solido rigido, el cual se mueve impulsado por 2 fuerzas, una en el sentido del eje x y otra en el sentido del eje z y por 3 pares, uno por cada eje coordenado. La magnitud de estas fuerzas y pares, van a ser proporcionales a la velocidad de giro de las hélices de cada uno de los rotores, las cuales generan una fuerza de sustentación que es la verdadera responsable del movimiento del Airwhale. En primer lugar definiremos las fuerzas de empuje y resistencia generadas por cada motor: Con la velocidad de giro de cada motor en Hz. Siendo la fuerza de empuje generada por el motor i-esimo que le permite moverse a lo largo del eje x o el eje z, dependiendo a cual de los 4 motores nos refiramos. El giro de las hélices no solo proporciona un empuje favorable al movimiento, estas como cualquier cuerpo que se mueve dentro de un fluido generan una fuerza resistente que se opone al movimiento. Tanto κthrust como κdrag son datos experimentales que dependen de la geometría y tamaño de la hélice. En nuestro obtenemos estos datos del Trabajo fin de Grado : Desarrollo de controladores Avanzados para el seguimiento de trayectorias de un Helicoptero Quarotor, ya que las hélices que describe en este escrito son muy similares a las seleccionadas para el prototipo: A partir de las fuezas y angulos generados por los 6 actuadores que tiene el Airwhale (4 motores y 2 servomotores) podemos expresar matemáticamente la relación entre las fuerzas generalizadas de movimiento, y las actuaciones. La nomenclatura utilizada para llamar a cada fuerza y actuación es la siguiente: fuerza generada por el motor vertical en la parte frontal fuerza generada por el motor vertical colocado en el ala derecha. fuerza generada por el motor vertical colocado en la parte trasera.
15 15 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale fuerza generada por el motor vertical colocado en el ala izquierda fuerza generada por el motor horizontal colocado en la parte trasera derecha fuerza generada por el motor horizontal colocado en la parte trasera izquierda. fuerza generalizada que permite el movimiento en le eje x fuerza generalizada que permite el movimiento en el eje z par generalizado que permite el giro alrededor del eje x o alabeo par generalizado que permite el giro alrededor del eje y o cabezeo par generalizado que permite el giro alrededor del eje z o guiñada Definidos los parámetros a analizar procedemos a mostrar las ecuaciones donde obtenemos la relación directan entre las actuaciones generalizadas y las reales. A demás añadimos una ecuación de lazo que indica que el de guiñada no puede ser creado por los motores 1,2,3,4 Con estas ecuaciones ya tenemos definida la relación fuerzas generalizadas, que se usan para el control y los actuadores. Pero para controlar físicamente los actuadores necesitamos las relaciones inversas, es decir una expresión matematica que caracterice el valor de fuerza que debe tener el actuador para una fuerza o par generalizado concreto. Por tanto a partir de las ecuaciones anteriores obtenemos las siguiente relaciones matematicas:
Modelado del prototipo 22 22 Esta relación se cumplirá siempre que los desplazamientos respecto el punto de funcionamiento sean lo suficientemente pequeños, esto nos dejara poder hacer un desarrollo en Taylor: Donde fx, fu, gx y gu son matrices jacobianas de dimensión adecuada para la linealizacion. El sistema mostrado tiene por representación las ecuaciones linealizadas Aplicando los conceptos explicados vamos a desarrollar en los siguientes apartado la linealizacion de los dos subespacios de trabajo. 2.4.1 Subsistema de rotación Linealizamos las ecuaciones obtenidas con el programa de Matlab para las ecuaciones de estados contenidas en los vectores Ya que estas variables son las que caracterizan al subsistema de rotación. La linalizacion procederá de la siguiente manera Como en el caso anterior, el desarrollo de las ecuaciones es demasiado largo como para este texto, pero se mostrara cual es el código informatico que se ha usado para realizar la linealizacion a partir de ecuaciones simbolicas,esta explicación se realizara solo en este caso ya que es análoga en el sistema de translación.
23 23 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Fig 2.3 sistema para obtener las ecuaciones linealizas en Matlab La función que se uso para obtener el sistema línea fue diff(); esta función nos permite realizar derivadas parciales de una expresión matematica, por tanto al usar una serie de Taylor de grado uno para realizar la linealizacion, el procedimiento será el siguiente. La nueva ecuación será la suma de las derivadas paraciales de la función de la que parte, respecto cada una de las variables que la componen y multiplicando cada una de esas derivadas parciales por una variable generalizada en el punto de funcionamiento. Una vez que linealizamos todas las ecuaciones, procedemos a particularizarla en el punto de funcionamiento elegido, en nuestro caso y para el subsistema de rotación, el punto de operación es el siguiente: ( )= (0,0,0,0,0,0,0,0,0) Dando lugar a las siguientes expresiones: Escribiendo las siguientes expresiones de modo que tengamos:
Modelado del prototipo 24 24 Obtenemos; 2.4.2 Subsistema de translación Para el subsistema de traslación definiriemos directamente los estados implicados en el funcionamiento de este subsistema y el resultado de su linealizacion ya que se ha descrito en el apartado anterior como se calcula. Usando el programa de Matlab e imponiendo este punto de funcionamiento: ( )= ( 1.225*0.5*5^2*Cd*Shx -he+g*m,0,0,0)
25 25 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Antes de realizar el espacio de estados lineal, pudimos observar que en las condiciones de diseño se especifica que el Airwhale no puede realizar movimiento de traslación laterales y que el movimiento en el plano X-Y queda perfectamente definido por la variación del angulo de guiñada producida por un par en z y por el desplazamiento en x causado por una fuerza en la dirección de avance. Por ello decidimos eliminar la ecuación que rige y de nuestro sistema tanto lineal como no lineal, quedando ahora nuestro sistema que asi: A partir del sistema de ecuaciones anterior ponemos el subsistema de traslación en forma de espacio de estados lineal Con las siguientes matrices:
Modelado del prototipo 26 26 2.5 Saturaciones en la actuaciones reales En este apartado describiremos el diseño del modulo de saturación. En un intento de aproximarnos lo máximo posible a la realidad, sabemos que los motores no pueden realizar actuaciones infinitas, estos están sujetos a una serie de restricciones mecanicas y energéticas con las que tenemos que contar si queremos hacer unos controladores realistas. Aunque nuestros controladores y este texto al menos en su primera parte solo contemplen las actuaciones de control generalizadas es decir Fx, Fz, Mx,My,Mz todas ellas en la realidad están relacionadas entre si como pudimos comprobar en un punto anterior, dependiendo de la geometría. A partir de estas relaciones sabemos cual es la a aportación de cada motor a nuestras actuaciones de control. Por tanto parece lógico que se tengan que tener en cuenta las limitaciones físicas de cada impulsor. Se sabe por catalogo que los motores seleccionados por Juan Carlos Martin y Alejandro Romero, pueden ejercer de forma ideal unos 9 N de empujes con una hélice de 8 pulgadas. Esos 9 N serán a partir de ahora nuestra fmax. A partir de esta suposición y con las ecuaciones directa e inversa que relacionan las actuaciones reales con las actuaciones generalizadas, nos disponemos a realizar una función en Matlab que será nuestro modulo de saturación. Esta función será de uso en todo el proyecto y su estructura es la siguiente: Fig 2.4 esquema de cómo funciona el bloque de saturación: La implementación en Matlab se hara mediante el uso de llamadas a funciones desde Simulink con un bloque disponible en la librería, que nos permite intercalar entre funciones de Simulink y funciones de Matlab, es algo bastante útil ya que te permite realizar códigos complejos e implementarlo junto a los tradicionales bloques de Simulink. En la siguiente imagen se muestra un ejemplo de cómo se estructura el bloque de saturación. M1 M2 M3 M4 M5 M6 Fx Fz Mx My Mz Fx Fz Mx My Mz Fmax=9N Fxs Fzs Mxs Mys Mzs Saturación 5x1 5x1 6x1
27 27 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Fig 2.5 implementacion en Matlab Podemos ver que coincide con el esquema mostrado antes. Por otro lado el contenido del primer modulo de saturación se muestra en el siguiente código, donde se describe su funcionalidad. Fig 2.6 codificacion1 en Matlab Una vez transformadas las actuaciones generalizadas y repartidas entre cada uno de los actuadores, estas se saturan con el modulo de simulink que hemos podido ver en la imagen 2.5, a continuación y una vez están saturadas todas las señales, están pasan a una nueva función de Matlab que vuelve a convertir en actuaciones generalizadas, las actuaciones de cada motor.
Modelado del prototipo 28 28 Fig 2.7 codificacion2 en Matlab Este proceso nos permite tener una respuesta de las actuaciones mucho mas cercana al sistema real que si no lo hubiéramos hecho. 2.6 Comparacion de los modelos lineal-no lineal En el siguiente apartado nos dispondremos a validar la bondad de los sistemas lineales hallados respecto a los sistemas no lineales. Para ello realizaremos una serie de ensayos en escalon tanto en bucle abierto como en bucle cerrado y compararemos las respuestas para ver si estas concuerdan. Los objetivos primordiales de estas pruebas son por un lado, confirmar la no linealidad del modelo dinamico obtenido del Airwhale y conseguir la menor discrepancia entre las respuestas del modelo lineal y no lineal. Si esto se cumple y la diferencia entre ellos es baja esto nos permitirá usar las fuciones de transferencia lineales para la estimación de los controladores. Para validar el modelo lineal sobre el no lineal haremos pruebas en cada uno de los subsistemas creados. Estas pruebas consistirán en realizar una serie de excitaciones del sistema mediante entradas en escalon. Las entradas en escalon serán simultaneas tanto en el sistema lineal como en el no lineal y la respuestas de estos sistemas se restaran para evaluar su diferencia. Para asegurarnos de su validez las pruebas serán realizadas tanto en bucle abierto como en buble cerrado.
29 29 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale 2.6.1 Validacion del modelo lineal en bucle abierto La validación de los subsistemas de traslación y orientación en bucle abierto se realizara a partir de pruebas ante un tren de escalones previamente definidos de pequeña amplitud. El objetivo de usar este tipo de pruebas será forzar al vehiculo a realizar una aceleración progresiva que haga que el sistema muestre su carácter propiamente no lineal y asi poder apreciar las diferencias entre el modelo linealizado y el no lineal. Subsistema de orientación Las funciones de transferencia lineales que caracterizan el movimiento de nuestro vehiculo en el susbsistema de orientacion son las siguientes: Los ensayos a realizar para comprobar la respuesta L-NL serán los siguientes: Tren de 3 escalones en mx con una amplitud de 0 a 0.15 N*m Tren de 3 escalones en my con una amplitud de 0 a 0.15 N*m Tren de 3 escalones mz con una amplitud de 0 a 0.15 N*m El esquema de Simulink seguido para hacer las pruebas es el siguiente:
Modelado del prototipo 30 30 Fig 2.8 bloque de Simulink para realización de prueba en bucle abierto Los valores obtenidos para este experimento fueron los siguientes: Fig 2.8 tren de escalones a la entrada del sistema L-NL en mx, my,mz
31 31 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Fig 2.8 diferencia de la respuesta del sistema L-NL ante respuesta en tren de escalon A raíz de la diferencia obtenida en bucle abierto para el subsistema de suborientacion, podemos comprobar que nuestra aeronave tiene un comportamiento bastante parecido al comportamiento del régimen lineal, por tantodiseñar los controladores a partir del sistema lineal parece una opción factible, aun asi no tomaremos conclusiones claras hasta terminar los ensayos con el subsistema de traslación en bucle abierto y a demás realizar los ensayos en bucle cerrado. Subsistema de translación El subsistema de traslación lienal esta caracterizado por las siguientes funciones de transferencia: Realmente la función de transferencia seria mas compleja, pero al imponer la tipología de movimiento que queremos que realice nuestra aeronave varios términos se simplifican quedando la función de transferencia mostrada arriba
Proceso de diseño y construccion del prototipo Airwhale 38 38 El diseño asistido por ordenador, es una herramienta muy potente como he mencionado antes, el método de proceder para construir el modelo fue el siguiente: Boceto a mano describiendo las medidas y un concepto general de lo que queremos. Obtenidos una tabla de los materiales que vamos a utilizar con sus medidas y pesos realizar modelos de los mismo en catia, si no los tienes delante por alguna razón, te ayuda a visualizarlos y saber si el objetivo que tenias pensado para ellos era el adecuado. Ir de lo concreto a lo grande. Es decir, contruir primero piezas pequeñas y a partir de ellas ir construyendo la estructura, hay que imitar en todo lo posible al proceso de fabricación físico para asi conseguir un modelo mas fiel a la realidad. Vamos a poner un ejemplo del proceso de diseño mediante una serie de imágenes ilustrativas Construccion del Ala: El ala esta compuesta por una serie de 5 piezas, en primer lugar diseñamos las piezas por separado Fig 3.1 parte del ala Una vez diseñada todas las piezas que serán parte del ala, las vamos situando en su lugar espacial para tener una referencia
39 39 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Fig 3.2 Piezas de las que se compone el ala Una vez tenemos todas las piezas en un lugar asignado, procedemos al ensamblaje mediante constrains Fig 3.3 Ala emsamblada Hecho esto el ala se insterta en el Cadproduct del prototipo y se emsambla a el mediante constraints
Proceso de diseño y construccion del prototipo Airwhale 40 40 Fig 3.4 Ala emsamblada al cuerpo Para contemplar cuantas piezas formas el prototipo realizamos un explosionado que podemos ver en la siguiente figura: Fig 3.5 explosionado para ver todas las piezas del airwhale
41 41 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale 3.3 Proceso de Fabricacion y materiales empleados Una vez realizados los planos en los cuales nos vamos a basar descritos en el apartado anterior, nos pusimos a construir el Airwhale. El método de trabajo usado fue intentar emular a una cadena de montaje, cada uno de los dos miembros del equipo esitech que participamos en sus construcción, nos repartimos el trabajo procurando mediante producción en serie o en pararelo cuando se podía mantenernos ocupado siempre y acelerar el proceso de montaje. Algo muy importante y que nos llevo a tener que reconstruir la estructura fue no aplicar una sencilla regla, Mide 3 veces corta1. Aunque parezca trivial, comparar y constrastar con el plano todas las medidas realziadas antes de hacer cualquier tipo de transformación es crucial, ya que sin ello pueden ocurrir errores fatales. Materiales: Los materiales para la construcción de la estructura fueron proporcionados por el profesor Sergio Esteban, al que le damos una enorme gratitud. Elegimos la madera de balsa por muchas razones, pero la principal fueron 2: Fue el material elegido para la construcción del Airwhale original y las bondades de sus propiedades físicas están descritas detenidamente en los proyectos de nuestros compañeros Juan Carlos Mancebo y Javier Mitjavila. Aunque es un material anisótropo (no en todos sus puntos las propiedades son la misma), es muy ligero, resistente y fácil de ensamblar. Las medidas y designación de los materiales de acontinuacion se han sacado de las unas tablas que se mostraran en la siguiente figura procedentes del proyecto céfiro:
Proceso de diseño y construccion del prototipo Airwhale 42 42 Fig 3.6 documento que usamos para seleccionar la madera
43 43 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale En la siguiente tabla veremos las maderas que tomamos para la construcción del prototipo a demás de las características del globo: Materiales y elementos Parte donde se ha usado Balsa sheet 1/8 x 4 x 36’’ Alas Balsa strip 1/8 x 3/8 x 36’’ Rigidizadores, alas y cuerpo principal Balsa sheet 3/8 x 3 x 36’’ Cuerpo principal Balsa sheet 1/4 x 4 x 36’’ Cuerpo principal , tren de aterrizaje y refuerzos Globo de latex helipsoidal 1.5x0.8 metros Recipiente estanco para retención del helio Ahora mostraremos los materiales de construcción usados y el resultado final: Fig 3.7 hojas de balsa de 1/8
Proceso de diseño y construccion del prototipo Airwhale 44 44 Fig 3.8 hojas de balsa de ¼ Fig 3.9 largerillo de balsa de 1/8
45 45 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Fig 3.10 Estructura completada Proceso de construcción e incidencias: El proceso de construcción se estructuro en 3 niveles: Construccion del cuadro principal y alas Construccion de soportes y tren de aterrizaje Montaje del Cableado eléctrico Asi que seguiremos este orden para describirlo con ayuda de imágenes. Cuadro principal: El cuandro o estructura principal fue creado de la siguiente manera, en primer lugar a partir de las medidas del plano, vimos que no teníamos listones lo suficientemente largos que nos sirvieran para crear los largeros principales. Por ello decidimos unir dos listones mas cortos, para eso tuvimos que hacerle una sección triangular para aumentar la superficie de pegado, hecho esto y para reforzar esa zona, la cual podía llegar a ser un punto de rotura si no se estudiaba como rigidizar la unión, se decidió ensamblar el ala en ese punto, quedando asi una unión resistente y segura:
Proceso de diseño y construccion del prototipo Airwhale 46 46 Fig 3.11 emsamblado y montaje del ala en la zona de unión entre largeros Fig 3.12 Largeros en la dirección x y alas emsambladas.
47 47 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Para unir unir los dos largeros y cerrar la estructura se crearon otros dos con un perfil en I para que evitaran que la estructura flectase en el plano medio. El perfil en se te creo con 2 hojas de balsa de ¼’’ y con largerillo de 1/8’’ entre las dos con su sección mas corta como contanto entre ellas y la mas larga perpendicular a las dos tablas. El resultado de esta obra se ve en la siguiente imagen: Fig 3.12 Largeros en la dirección x y alas emsambladas.
Control de la Orientacion en vuelo del Airwhale 54 54 Para el diseño de los controladores usaremos la técnica de diseño por metodos frecuenciales basada en la respuesta en frecuencia de la función de transferencia lineal en bucle cerrado. Las condiciones de control son de tiempo de subida y sobreoscilacion, Al diseñarse todos los controladores de la misma forma se harán todos los cálculos respecto al angulo de pitch, φ. 4.1.1 Control PD El diseño de controladores por metodos frecuenciales se basa en el uso de metodos graficos, donde el margen de fase nos dara la estabilidad del sistema en bucle cerrado. Para realizar este método se necesitara usar el bode de la funcioon de transferencia a analizar, como hemos dicho antes, la que caracteriza al pitch. Las especificaciones del controlador serán basadas en la experiencia ya que cada una de las variables necesitara un requerimiento distinto, de momento en el sistema de rotación nos interesa que exista una sobreoscilacion en la respuesta de bucle cerrado por debajo del 10% en todos los angulos, ya que una variación mayor podría provocar situaciones peligrosas y en el caso de los angulos de pitch y roll al ser los que controlan la estabilidad un tiempo de subida bastante bajo, ya que necesitamos que sean controladores rapidos que garanticen alcanzar la referenciaen poco tiempo. Tiempo de subida ts=0.1 s esto implica que la ωc nueva será de unos 15.71 rad/s Ganancias que den una baja sobreoscilación. El diseño del controlador se realizara comprobando la respuesta del bode del sistema Gba(s)*C(s) con la de Gba(s) y procurar que la relación anterior de la forma deseada. Para esto lo primero que tenemo que hacer es definir el controlador Pd, que matemáticamente tiene la forma que veremos a continuación: Donde Td y Kc son las constantes que debemos hallar. Gba en este caso es Y computacionalmente C(s) A continuación se fija que Kc=1 y se fija una ωc menor que la anterior, en nuestro caso de 1.84, esto nos garantizara un alto margen de fase y con este dato hallamos Td que debe cumplir esta relación 1/Td <=ωc’ Td=0.3117 Comprobamos la respuesta en frecuencia del sistema:
55 55 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Figura 4.2 Respuesta del angulo de φ en frecuencia Vemos que esta Td nos garantiza un margen de fase de 49.3, esto según las tablas que relaciones el margen de fase y la sobreoscilacion, que mostramso en la siguiente figura:
Control de la Orientacion en vuelo del Airwhale 56 56 figura 4.3 MF-SO Nos dara una sobreoscilacion mayor 10%, por tanto no cumpliríamos las especificaciones de control. Para que se verifique la ωc minima necesaria para tener estas respuestas, debemos obtener un valor de Kc que haga que el sistema alcance dicha wc y además subir el Mf para bajar las sobreoscilaciones. Observando el bode, vemos cual es el valor que debe subir Gba(s) es de -2.477 por tanto Kc debe tener un valor al rededor de 102.477/20 =1.33 aproximadamente.. Observamos la respuesta para ver si esta coincide con lo esperado. Figura 4.4 Respuesta del angulo de φ en frecuencia con C(s)
57 57 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale El margen de fase ha aumentado lo suficiente para tener la sobreoscilacion requerida por tanto es hora de probar los controladores que hemos diseñado. 4.1.1.1 Simulaciones para control PD Para probar el funcionamiento de los controladores calculador someteremos en un experimento de unos 30 segundos la respuesta ante referencia tipo escalon del sistema no lineal en Bucle cerrado. Escalon de 2º en phi Escalon de 3º en theta Escalon de 5º y -5º en psi La razón de que variemos mas el angulo en psi es por que para nuestro sistema la amplitud de movimiento del angulo de guiñada es mucho mas amplia que los otros dos. La matriz de control proporcional para los tres controladores es la siguiente La matriz de control derivativo será la que sigue: Siendo el esquema de implementación en Simulink el siguiente: Figura 4.5 esquema de control PD En las siguientes figuras motramos las refencias que recibe el subsistema y las salidas:
Control de la Orientacion en vuelo del Airwhale 58 58 Figura 4.6 referencias phi,theta,psi Figura 4.6 respuestas del sistema simulado sin ruido phi,theta,psi Podemos comprobar que el sistema cumple con creces las demandas impuestas, pero los datos recogidos no son muy fiables ya que no se considera ruido ni ninguna perturbación, por tanto en el siguiente apartado vamos a observar que ocurre si metemos un ruido en la señal. 4.1.1.2 Simulaciones para control PD con presencia de ruido externo y perturbaciones En este apartado se analizara la señal de salida con un ruido en esta misma, el ruido propio de una señal eléctrica producida por un sensor se modelara en Simulink con el bloque de ruido blanco con una amplitud del ruido de 0.01 y un simple time de 0.01. Las respuestas obtenídas ante los mismos escalones son las siguientes:
59 59 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Figura 4.6 respuestas del sistema simulado sin ruido phi,theta,psi con ruido Vemos que la medida empeora sensiblemente pero no afecta demasiado a lo que se puede considerar el control. En el caso de que el ruido nos de problemas se puede solucionar de dos formas, añadiendo un filtro de paso bajo de primer orden que reduzca el ruido de alta frecuencia, pero esto puede provocar errores en velocidad, por tanto la otra opción es poner un filtro de error de seguimiento 0. Ambos flitros deben ser diseñados experimentalmente. Por ultimo aprovechamos para probar el sistema ante unas perturbaciones en las actuaciones, estas perturbaciones son inherentes a cualquier vehiculo aéreo y hay que considerarlas. Las perturbaciones establecidas son las siguientes: En phi a los 8s de simulación perturbación de 1 N*m En theta a los 4s de simulación pertubacion de 1 N*m En psi a los 15s de simulación perturbación de 2 N*m Observamos las respuestas del sistema ante la misma referencia: Figura 4.6 respuestas del sistema simulado sin ruido phi,theta,psi con ruido y perturbación en la actuacion Vemos que cuando el sistema recibe la pertubacion comienza a cometer un error en referencia que dura hasta el fin de la experimentación.
Control de la Orientacion en vuelo del Airwhale 60 60 La única manera de solucionar esto cambiando nuetro controlador por un PID 4.1.2 Control PID El control PID o proportional integrator and derivative control es un control bastante robusto utilizado ampliamente en toda la industria y la robotica, la formula matematica que rige este controlador es la siguiente: Los parámetros necesarios para realizar el controlador son Kc, Td y Ti, este controlador se caracteriza por muchas razones, entre ellas es que elimina el error en referencia del régimen permantente y acota el error en aceleración al subirle el tipo al sistema. En nuestro caso vamos a diseñar el Pid como 2 Pd en serie, una técnica muy utilizay que en su dia aprendimos en Fundamento de Control. La ecuación que rigue el PID como un Pi y un PD en serie es lasiguiente: Y computacionalmente se implementa de la siguiente manera: Y como nosotros los vamos a calcular es de la siguiente forma: Siendo : Como en el caso anterior vamos a hacer todos los cálculos para phi y el resto de resultados son extrapolables. Se fija que T2=TD y el T1 con objeto de que este no haga perder mucbo margen de fase será T1=1.35, observamos para estos parámetros la respuesta de l bode que es la siguiente:
61 61 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Figura 4.7 respuestas del sistema simulado en frecuencial Vemos que tenemos un buen margen de fase y se cumpliría la condición de ts, ahora diseñamos k como la ganancia que haga que se verifique la frecuencia angular, el valor que debe tener K para eso es K= 10.63. Comprobamos el Bode: Figura 4.8 respuestas del sistema simulado en frecuencial con K T1,T2 Obtenidas unas respuestas mas que satisfastorias, vamos a comprobar el sistema en bucle cerrado en varias situaciones para ver si el controlador hallado es viable. El esquema usado en Simulink para su implementación es el siguiente:
Control de la Orientacion en vuelo del Airwhale 62 62 Figura 4.9 esquema de Pid en Simulink Visto esto nos disponemos a realizar las pruebas ante las siguientes referencias: 2 grados de referencia de inclinación en phi 2 grados referencia de inclinación en theta 5 grados y -5 grados de tren de referencias de inclinación en psi
63 63 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale 4.1.2.1 Simulaciones para control PID Figura 4.9 referencias de φ,θ,ψ Figura 4.10 salida de señal sin ruido del sistema controlado en bucle cerrado de φ,θ,ψ En un primer momento las respuesta obtenidas tenían una sobreoscilacion muy seria, esto se debía a que se necesitaba poner un prefiltro a la referencia que cancelara el polo rápido que creaba inestabilidades. El prefiltro es diferente para cada uno de los controladores, y se caracteriza por una función de transferencia de primer orden donde la τ=1/polorapido. Resuelto estoVemos que el problema de seguimiento lo resuelve bastante bien, con una baja sobreoscilación y un buen tiempo de respuesta.
Control de la Traslacion en vuelo del Airwhale 70 70 Figura 5.3 respuestas del sistema global Vemos que ante ruido externo la señal lleva a la referencia perfectamente, ahora vamos a comprobar ante pertubaciones y ruido como se comporta el sistema.
71 71 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale 5.3.1.2 Simulaciones para control PID con presencia de ruido externo Figura 5.4 respuestas del sistema global con ruido
Control de la Traslacion en vuelo del Airwhale 72 72 5.3.1.3 Sintonizacion del controlador PID con presencia de ruido externo y Perturbaciones a la entrada Perturbaciones que recibe el sistema: En phi a los 10s de simulación perturbación de 2 N*m En theta a los 10s de simulación pertubacion de 2 N*m En psi a los 10s de simulación perturbación de 4 N*m En x a los 10s de simulación perturbación de 4 N En z a los 10s de simulación perturbación de 5 N Figura 5.5 respuestas del sistema global con ruido y pertubaciones Hecho todos los experimentos podemos ver que el sistema tiene gran capacidad de rechazo ante perturbaciones y seguimiento de la referencia. Por tanto podemos asegurar que los controles diseñados para traslación y rotación cumplen con las condiciones exigidas en su diseño. Y por ultimo nos queda mostrar la prueba frente a rampa con y sin perturbación. Las referencias al sistema serán las siguientes T*3/60 metros en x T*2/60 metros en z T*360/60º en psi 0 º en phi 0º en theta
73 73 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Figura 5.6 seguimiento de una trayectoria helicoidal con perturbaciones a los 10s del comienzo de la misma
Control de la Traslacion en vuelo del Airwhale 74 74 Figura5.7 Errores del sistema al recorrer la trayectoria en orden errorx,errorz, errorphi, errortheta, errorpsi Las conclusiones que podemos sacar de esta prueba son las siguientes: Por un lado se necesita mejorar el filtro de ruido ya que este se ve muy presente en la grafica 3-D de seguimiento, aunque después contemplando los errores podemos ver que había muy poca discrepacia con la referencia, salvo claro esta en el momento de la perturbación que vemos que es rápidamente corregida. Por tanto se concluye pudiendo asegurar que los controladores diseñados cumplen su objetivo.
75 75 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale 6 MODELADO Y CONTROL DE ESTABILIDAD EN EL PROTOTIPO AIRWHALE Despues de construir el prototipo mi compañero Alejandro y yo vimos la necesidad de hacer un ensayo en bucle abierto ante escalon a los actuadores para poder sacar un sistema equivalente con el cual trabajar y desarrollar unos controladores. 6.1 Identificacion del sistema en bucle abierto. Para obtener a que tipo de sistema nos enfrentamos, probamos a realizar una identificación en bucle abierto del sistema, pero en vez de obtener una función de transferencia Angulo/Fuerza, la obtendremos Angulo/PWM, ya que esta e la variable de entrada a nuestros actuadores físicos. Roll: En el caso del roll necesitamos aplicar un Pwm en mx de 50 para generar un angulo de aproximadamente 8 grados Figura 6.1 respuesta ante escalon del Roll Pitch En el caso del pitch necesitaremos de un PWM de 60 para generar unos aproximadamente 4 grados de inclinación.
Modelado y control de estabilidad en el prototipo Airwhale 76 76 Figura 6.2 respuesta ante escalon del pitch AL ver las respuestas descubrimos que nuestro sistema a evaluar era aproximadamente un sistema de segundo Orden sobre amortiguado, este tipo de sistemas tienen una función de transferencia del siguiente tipo A partir de esta ecuación y usando una serie de parámetros que se calculan a partir de las características de las curvas, obtendremos unas funciones de transferencia que su respuesta se aproxime a la de nuestro sistema de estabilización. 6.1.1 Calculo de parámetros caracteristicos y creación de una función de trasferencia que sea acorde al sistema Para calcular la función de transferencia de nuestro sistema de estabilización necesitamos 2 cosas, ωn y δ. La mejor forma de calcularlos es a partir del tiempo de subida y de la relación sobreoscilacion/ δ en la siguiente imagen se muestra como calcular las características de las curvas de un sistema d segundo orden.
77 77 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Figura 6.3 parametros intrinsecos Con este esquema se define el tiempo de subida como el instante en el que la respuesta toca por primera vez una recta imaginaria que pasa por el punto al que llegara en régimen permanente, y la curva que tenemos ec que rige como se relaciona con lo parámetros de segundo orden es la siguiente: Si no posees el desfase α puede que sea mejor usar el tiempo de pico o tiempo en el que alcanza la máxima sobreoscilacion nuestro sistema. Con esta ecuación que acabo de mostrar y la curva que pongo abajo puedes calcular de forma bastante sencilla una función de transferencia, y para nivelarla a la referencia solo tienes que calcular uan ganancia K.
Modelado y control de estabilidad en el prototipo Airwhale 78 78 6.1.2 Creacion y sintonización de controladores PID mediante métodos frecuenciales Figura 6.3 relacion SO/δ Haciendo este proceso obtuvimos las siguientes funciones de transferencia: Roll: Pitch: Las respuestas de estos sistemas ante el mismo escalon que en la identificación serán las mostradas en las siguientes figuras:
79 79 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale Figura 6.4 respuesta ante escalon de la función de transferencia en roll Figura 6.5 respuesta ante escalon de la función de transferencia de pitch. Vemos que las respuestas obtenidas si las comparamos con las obtenidas del expermento son bastante coherentes, por tanto podemos asegurar que las funciones de transferencia calculadas rigen bastante bien el sistema no lineal real de estabilización del prototipo.
ANEXOS 86 86 ANEXOS Códigos empleados: Modelo No lineal y Linealizacion: %% DEFINICION VARIABLES SIMBOLICAS syms m % masa del prototipo syms g % gravedad syms Ixx Iyy Izz % momentos de inercia syms rgx rgy rgz % coordenadas del centro de volumen syms p q r % componentes de velocidad angular syms Fm % fuerza de control syms V U W % velocidades lineales syms ro % densidad % syms Vhe % volumen de helio syms La lc ll % distancia entre motores y centro syms fx fz % fuerza de control en x y z syms mtx mty mtz % pares de control syms he % fuerza producida por el helio syms thetap phip psip fxp fzp pp qp rp Up Vp Wp mtxp mtyp mtzp fy Ug Vg Wg% incrementos de variables syms q0 Cd Shx Shy Shz % presión dinámica, coeficiente aerodinámico y superficie afectada por drag syms theta phi psi he=0.6;g=9.8; Shx=0.5;Shy=1.7;Shz=Shy;Ixx=0.11;Iyy=0.295;Izz=0.26;m=1.5; Cd=0.15; %% Distancia de los motores al centro de masa rm01=[0;-La;0]; rm02=[0;La;0]; rm03=[-lc;-ll;0]; rm04=[-lc;ll;0]; %% Gravedad gr=g*[-sin(theta);cos(theta)*sin(phi);cos(theta)*cos(phi)]; %% Identidad I=eye(3,3); %% Centro de coordenadas r0=[0;0;0]; %% Matriz de transformacion R=[cos(psi)*cos(theta) sin(psi)*cos(theta) -sin(theta); cos(psi)*sin(theta)*sin(phi)-sin(psi)*cos(phi) sin(psi)*sin(theta)*sin(phi)+cos(psi)*cos(phi) cos(theta)*sin(phi); cos(psi)*sin(theta)*cos(phi)+sin(psi)*sin(phi) sin(psi)*sin(theta)*cos(phi)-cos(psi)*sin(phi) cos(theta)*cos(phi)]; %% Fuerza de control Fm=R*[fx;0;fz];
87 87 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale %% Matrices antisimetricas para producto vectorial (longitud entre motores y centro de masa) rm11=rm01; rm12=rm02; rm13=rm03; rm14=rm04; rm1=[0 -rm11(3) rm11(2);rm11(3) 0 -rm11(1);-rm11(2) rm11(1) 0]; rm2=[0 -rm12(3) rm12(2);rm12(3) 0 -rm12(1);-rm12(2) rm12(1) 0]; rm3=[0 -rm13(3) rm13(2);rm13(3) 0 -rm13(1);-rm13(2) rm13(1) 0]; rm4=[0 -rm14(3) rm14(2);rm14(3) 0 -rm14(1);-rm14(2) rm14(1) 0]; %% Velocidad lineal vo=[U;V;W]; %% Centro de volumen en coordenadas de euler rgp=zeros(3,3); %% Definicion velocidades angulares y antisimétrica w0=[p;q;r]; w=w0; w1x=w(1); w1y=w(2); w1z=w(3); W2=[0 -w1z w1y;w1z 0 -w1x;-w1y w1x 0]; %% Matriz de inercias J=[Ixx 0 0; 0 Iyy 0; 0 0 Izz]; %% Matriz de masas M=[m*I,-m*rgp; m*rgp, J]; %% Fuerzas de inercia ti=[R*(-m*W2*vo+m*W2*rgp*w); R*(-m*rgp*W2*vo-W2*J*w)]; %% Fuerzas gravitatorias tg=[m*gr; m*rgp*gr]; %% Pares de control Mt=[mtx;mty;mtz]; %% Fuerza y pares de control tc=[Fm; R*(Mt)]; %% Fuerza de sustentación del helio the=he*g*[R*[0;0;-1];0;0;0]; %% Drag D=[(-1.225*0.5*U^2*Cd*Shx);(-1.225*0.5*V^2*Cd*Shy);(- 1.225*0.5*W^2*Cd*Shz);0;0;0]; %% Fuerza total (igual a M*q'dospuntos') Tt=ti+tg+tc+the+D;
ANEXOS 88 88 %% Ecuaciones iguales a xpunto,ypunto,zpunto,phipunto,thetapunto y psipunto xd=U; yd=V; zd=W; ud=(1/m)*Tt(1); vd=(1/m)*Tt(2); wd=(1/m)*Tt(3); pd=(1/Ixx)*Tt(4); qd=(1/Iyy)*Tt(5); rd=(1/Izz)*Tt(6); phid= p + q*sin(phi)*tan(theta)+r*cos(phi)*tan(theta); thetad= q*cos(phi)-r*sin(phi); psid= q*sin(phi)*sec(theta)+r*cos(phi)*sec(theta); %% Linealización de las ecuaciones: fuerzas totales y ecuaciones del vector EC (12 ecuaciones) xdl=Up; ydl=Vp; zdl=Wp; udl=diff(ud,fx)*fxp+diff(ud,fz)*fzp+diff(ud,theta)*thetap+diff(ud,phi)*phip+d iff(ud,psi)*psip+diff(ud,U)*Up+diff(ud,V)*Vp+diff(ud,W)*Wp; vdl=diff(vd,fx)*fxp+diff(vd,fz)*fzp+diff(vd,theta)*thetap+diff(vd,phi)*phip+d iff(vd,psi)*psip+diff(vd,U)*Up+diff(vd,V)*Vp+diff(vd,W)*Wp; wdl=diff(wd,fx)*fxp+diff(wd,fz)*fzp+diff(wd,theta)*thetap+diff(wd,phi)*phip+d iff(wd,psi)*psip+diff(wd,U)*Up+diff(wd,V)*Vp+diff(wd,W)*Wp; pdl=diff(pd,mtx)*mtxp+diff(pd,mtz)*mtzp+diff(pd,mty)*mtyp+diff(pd,theta)*thet ap+diff(pd,phi)*phip+diff(pd,psi)*psip+diff(pd,p)*pp+diff(pd,q)*qp+diff(pd,r) *rp; qdl=diff(qd,mtx)*mtxp+diff(qd,mtz)*mtzp+diff(qd,mty)*mtyp+diff(qd,theta)*thet ap+diff(qd,phi)*phip+diff(qd,psi)*psip+diff(qd,p)*pp+diff(qd,q)*qp+diff(qd,r) *rp; rdl=diff(rd,mtx)*mtxp+diff(rd,mtz)*mtzp+diff(rd,mty)*mtyp+diff(rd,theta)*thet ap+diff(rd,phi)*phip+diff(rd,psi)*psip+diff(rd,p)*pp+diff(rd,q)*qp+diff(rd,r) *rp; phidl=diff(phid,theta)*thetap+diff(phid,phi)*phip+diff(phid,psi)*psip+diff(ph id,p)*pp+diff(phid,q)*qp+diff(phid,r)*rp; thetadl=diff(thetad,theta)*thetap+diff(thetad,phi)*phip+diff(thetad,psi)*psip +diff(thetad,p)*pp+diff(thetad,q)*qp+diff(thetad,r)*rp; psidl=diff(psid,theta)*thetap+diff(psid,phi)*phip+diff(psid,psi)*psip+diff(ps id,p)*pp+diff(psid,q)*qp+diff(psid,r)*rp; % %% Ecuaciones linealizadas reunidas en el vector ECFINAL % ECFINAL = [EC1;EC2;EC3;EC4;EC5;EC6;EC7;EC8;EC9;EC10;EC11;EC12] % %% Ecuaciones linealizadas evaluando el punto de equilibrio ecl(1,1)=subs(xdl,{theta,phi,psi,U,V,W,mtx,mty,mtz,p,q,r,fx,fz},{0,0,0,5,0,0, 0,0,0,0,0,0,1.225*0.5*5^2*Cd*Shx,-he+g*m}); ecl(2,1)=subs(ydl,{theta,phi,psi,U,V,W,mtx,mty,mtz,p,q,r,fx,fz},{0,0,0,5,0,0, 0,0,0,0,0,0,1.225*0.5*5^2*Cd*Shx,-he+g*m}); ecl(3,1)=subs(zdl,{theta,phi,psi,U,V,W,mtx,mty,mtz,p,q,r,fx,fz},{0,0,0,0,0,0, 0,0,0,0,0,0,1.225*0.5*5^2*Cd*Shx,-he+g*m}); ecl(4,1)=subs(udl,{theta,phi,psi,U,V,W,mtx,mty,mtz,p,q,r,fx,fz},{0,0,0,5,0,0, 0,0,0,0,0,0,1.225*0.5*5^2*Cd*Shx,-he+g*m}); ecl(5,1)=subs(vdl,{theta,phi,psi,U,V,W,mtx,mty,mtz,p,q,r,fx,fz},{0,0,0,5,0,0, 0,0,0,0,0,0,1.225*0.5*5^2*Cd*Shx,-he+g*m}); ecl(6,1)=subs(wdl,{theta,phi,psi,U,V,W,mtx,mty,mtz,p,q,r,fx,fz},{0,0,0,5,0,0, 0,0,0,0,0,0,1.225*0.5*5^2*Cd*Shx,-he+g*m}); ecl(7,1)=subs(pdl,{theta,phi,psi,U,V,W,mtx,mty,mtz,p,q,r,fx,fz},{0,0,0,5,0,0, 0,0,0,0,0,0,1.225*0.5*5^2*Cd*Shx,-he+g*m});
89 89 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale ecl(8,1)=subs(qdl,{theta,phi,psi,U,V,W,mtx,mty,mtz,p,q,r,fx,fz},{0,0,0,5,0,0, 0,0,0,0,0,0,1.225*0.5*5^2*Cd*Shx,-he+g*m}); ecl(9,1)=subs(rdl,{theta,phi,psi,U,V,W,mtx,mty,mtz,p,q,r,fx,fz},{0,0,0,5,0,0, 0,0,0,0,0,0,1.225*0.5*5^2*Cd*Shx,-he+g*m}); ecl(10,1)=subs(phidl,{theta,phi,psi,U,V,W,mtx,mty,mtz,p,q,r,fx,fz},{0,0,0,5,0 ,0,0,0,0,0,0,0,1.225*0.5*5^2*Cd*Shx,-he+g*m}); ecl(11,1)=subs(thetadl,{theta,phi,psi,U,V,W,mtx,mty,mtz,p,q,r,fx,fz},{0,0,0,5 ,0,0,0,0,0,0,0,0,1.225*0.5*5^2*Cd*Shx,-he+g*m}); ecl(12,1)=subs(psidl,{theta,phi,psi,U,V,W,mtx,mty,mtz,p,q,r,fx,fz},{0,0,0,5,0 ,0,0,0,0,0,0,0,1.225*0.5*5^2*Cd*Shx,-he+g*m}); ecl Programa para crear las variables de estado del sistema: %subsistemas de rotacion y traslacion %matriz de estados Ar=[zeros(3,3),eye(3,3);zeros(3,6)]; At=[zeros(2,2),eye(2,2);zeros(2,4)]; At(3,3)=-49/160; %matriz de desfase DR=zeros(3,3); %matriz de salida CR=[eye(3,3),zeros(3,3)]; CT=[eye(2,2),zeros(2,2)]; %matriz de entrada Br=[zeros(3,3);1/Ixx 0 0;0 1/Iyy 0;0 0 1/Izz]; Bt=[zeros(2,3); 2/3 0 88/25; 0 2/3 49/64]; %matriz de desfase Dt=zeros(2,3); %creacion de espacio de estados tras=ss(At,Bt,CT,Dt); rot=ss(Ar,Br,CR,DR); Funcion para calculo de bodes y márgenes de fase a partir de funciones de transferencia y controladores: function [c1,c2,c3,c4,Cpd1,Cpd2,Cpd3,Cpd4,Cpid1,Cpid2,Cpid3,Cpid4]=controlador(Kp1,Ti1 ,Td1,Kp2,Ti2,Td2,Kp3,Ti3,Td3,Kp4,Ti4,Td4) c1=[0,0,0]'; c2=[0,0,0]'; c3=[0,0,0]'; c4=[0,0,0]'; Gphipp=tf([0 100/11],[1 0 0]); Gthetapp=tf([0 200/59],[1 0 0]); Gpsipp=tf([0 50/13],[1 0 0]); Gz=tf([0 2/3],[1 0 0]); %controladores pid Cpid1=tf(Kp1*[Td1,1],[1 0])*tf([Ti1,1],[0 1]); Cpid2=tf(Kp2*[Td2,1],[1 0])*tf([Ti2,1],[0 1]); Cpid3=tf(Kp3*[Td3,1],[1 0])*tf([Ti3,1],[0 1]); Cpid4=tf(Kp4*[Td4,1],[1 0])*tf([Ti4,1],[0 1]); %controladores pd
ANEXOS 90 90 Cpd1=tf(Kp1*[Td1,1],[0 1]); Cpd2=tf(Kp2*[Td2,1],[0 1]); Cpd3=tf(Kp3*[Td3,1],[0 1]); Cpd4=tf(Kp4*[Td4,1],[0 1]); %visualizacion y calculo de los margenes de fase para estabilidad figure(1) subplot(2,2,1) margin(Gphipp) ;hold on; margin(Cpd1*Gphipp);grid; subplot(2,2,2) margin(Gthetapp);hold on; margin(Cpd2*Gthetapp);grid; subplot(2,2,3) margin(Gpsipp);hold on; margin(Cpd3*Gpsipp);grid; subplot(2,2,4) margin(Gz);hold on;margin(Cpd4*Gz);grid; figure (2) subplot(2,2,1) margin(Gphipp) ;hold on; margin(Cpid1*Gphipp);grid; subplot(2,2,2) margin(Gthetapp);hold on; margin(Cpid2*Gthetapp);grid; subplot(2,2,3) margin(Gpsipp);hold on; margin(Cpid3*Gpsipp);grid; subplot(2,2,4) margin(Gz);hold on;margin(Cpid4*Gz);grid; c1(1)=Kp1*((Ti1+Td1)/Ti1); c1(3)=(Ti1*Td1)/(Ti1+Td1); c1(2)=Ti1+Td1; c2(1)=Kp2*((Ti2+Td2)/Ti2); c2(3)=(Ti2*Td2)/(Ti2+Td2); c2(2)=Ti2+Td2; c3(1)=Kp3*((Ti3+Td3)/Ti3); c3(3)=(Ti3*Td3)/(Ti3+Td3); c3(2)=Ti3+Td3; c4(1)=Kp4*((Ti4+Td4)/Ti4); c4(3)=(Ti4*Td4)/(Ti1+Td4); c4(2)=Ti4+Td4; end Programa de la saturación: directa function y1 = fcn(fx,fz,mx,my,mz) f=zeros(6,1); l1=0.8; l2=0.7; l3=0.4; f(1)=(l1*fz-2*my)/(4*l1); f(2)=(l2*fz+2*mx)/(4*l2); f(3)=(l1*fz+2*my)/(4*l1); f(4)=(l2*fz-2*mx)/(4*l2); f(5)=(l3*fx-mz)/(2*l3); f(6)=(l3*fx+mz)/(2*l3); y1=f; Programa de la saturación: inversa
91 91 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale function y1 = fcn(f1,f2,f3,f4,f5,f6) s=zeros(5,1); s(1)=f5+f6; s(2)=f1+f2+f3+f4; s(3)=0.7*(f2-f4); s(4)=0.9*(f3-f1); s(5)=0.4*(f6-f5); y1=s; Programa para graficar en 3-D %variables de salida x e y x2=t4.*sind(t3); x1=t4.*cosd(t3); % referencias a seguir x1ref=fx.*cosd(mz); x2ref=fx.*sind(mz); %grafica trayectoria figure(1) plot3(x1ref,x2ref,fz,'r',x1,x2,t5,'b');grid; %errores en posicion figure(2) subplot(5,1,1) plot(t,errorx);grid; subplot(5,1,2) plot(t,errorz);grid; subplot(5,1,3) plot(t,errorphi);grid; subplot(5,1,4) plot(t,errortheta);grid; subplot(5,1,5) plot(t,errorpsi);grid;
ANEXOS 92 92
93 93 Diseño, Construccion e implementación de controladores para seguimiento de trayectorias del Prototipo AirWhale