• No results found

Chapter 6: Analysis of Strain Evolution

6.3. Number of Activated Slip Systems

Antes de realizar las simulaciones con el UAV, ya se sab´ıa de antemano que se necesi- tar´ıan modificar muchos par ´ametros y que otros tantos ser´ıan incorrectos. Esta parte del proyecto se estimaba de larga duraci ´on.

Durante los ´ultimos meses del proyecto y casi hasta el d´ıa anterior de entregar el escrito, se realizaron muchas pruebas con los scripts y los archivos de configuraci ´on del UAV. Gracias a estos ensayos, se pudieron corregir varios errores de escritura de los archivos de configuraci ´on.

Con las primera pruebas el programa fall ´o dando errores de segmentaci ´on: Para intentar solucionarlo, se revis ´o todo el c ´odigo y se descubri ´o que algunos comentarios introduci- dos (para ayudar a las proyectistas a entender los archivos del UAV) provocaban fallos de compilaci ´on. Se opt ´o por quitar todos esos comentarios y probar c ´omo respond´ıa la aeronave en el siguiente intento.

En las siguientes pruebas el fallo de segmentaci ´on persist´ıa: A continuaci ´on se revisaron los scripts, pero no se encontr ´o el fallo en ellos, ni en el c ´odigo del UAV. Por lo tanto se decidi ´o pedir ayuda nuevamente a los creadores de JSBSim. Despu ´es de enviarles un nuevo e-mail a cada uno de ellos adjuntando todos los archivos utilizados, respondieron aportando nuevas ideas de por qu ´e estaban fallando los ficheros.

Lee Duke, uno de los creadores de JSBSim, respondi ´o al e-mail comentando que una de las simulaciones estaba mal terminada, y que adem ´as no se hab´ıan eliminado todos los comentarios de los archivos de configuraci ´on del UAV.

Jon Berndt, el creador de la arquitectura original de JSBSim, tambi ´en respondi ´o al e-mail informando que dentro del archivo de configuraci ´on principal del UAV se hab´ıa declarado un solo dep ´osito de combustible, cuando se dec´ıa que el motor estaba siendo alimentado por dos dep ´ositos.

Por otro lado, una de las simulaciones requer´ıa un archivo de inicializaci ´on que indirecta- mente provocaba que el avi ´on se estrellase.

Despu ´es de solucionar todos estos problemas, el fallo de segmentaci ´on se solvent ´o, pero apareci ´o un nuevo fallo:

*** stack smashing detected ***: JSBSim terminated Cancelado (core dumped) En este punto, las proyectistas volvieron a comunicarse con los creadores de JSBsim, explic ´andoles el nuevo fallo y pidiendo nuevamente colaboraci ´on.

Esta vez solo contest ´o Jon Berndt. En este caso, el se ˜nor Berndt coment ´o que el fallo podr´ıa estar en los datos utilizados para definir el UAV.

Como este avi ´on hab´ıa sido creado a partir de los archivos de una Cessna, era muy probable que los par ´ametros de base fueran excesivamente grandes para un avi ´on de dimensiones reducidas como es el UAV. Tambi ´en nos coment ´o que, desde hace poco, han puesto en funcionamiento un nuevo apartado dentro de la web oficial de JSBSim para crear los archivos de configuraci ´on de los aviones de JSBSim: “Aeromatic”.

http://jsbsim.sourceforge.net/aeromatic2.html

Figura 4.1: Parte de la web de JSBSim

En esta p ´agina se pueden introducir algunos datos como el tipo de motor, el di ´ametro de las palas, las revoluciones m ´aximas, el modelo de avi ´on utilizado, el peso del avi ´on, etc., y se puede crear, sin ninguna dificultad, el archivo de configuraci ´on principal del UAV, el archivo del propulsi ´on y el archivo del motor.

Una vez creados los archivos de configuraci ´on del avi ´on, que se pueden ver en el Ap ´endice B, apartado B.2., era necesario probar si de esta forma el programa funcionaba correcta- mente.

El problema de los ficheros que genera “Aeromatic” es que muchos de los par ´ametros son estimados, ya que la p ´agina s ´olo permite introducir 4 datos principales, y a partir de ´estos estima el resto.

Para tener unos archivos completos, hubo que comparar los nuevos ficheros con los ya existentes, procediendo a cambiar los datos err ´oneos o estimados por los calculados cor- rectamente a partir del modelo original del avi ´on.

Estos datos se refer´ıan principalmente a los momentos y productos de inercia, situaci ´on del motor, algunas dimensiones del avi ´on, etc.

En un primer lugar, al realizar el ensayo, el programa realizaba la simulaci ´on de forma in- completa, adem ´as de no guardar los datos obtenidos del mismo. Por eso se consult ´o nue- vamente con Jon Berndt exponi ´endole la situaci ´on actual.

El problema esta vez era que el “Aeromatic” presupon´ıa que el avi ´on ten´ıa unas dimen- siones m ´as grandes de lo que realmente eran, as´ı que el punto de referencia aerodin ´amico estaba sobredimensionado. A partir de esta pista se encontraron otros errores de progra- maci ´on.

Finalmente, al pulir los ficheros de configuraci ´on del UAV y retocar la simulaci ´on, se con- sigui ´o que el avi ´on volara y guardara los datos en el fichero .csv.

Se escogi ´o una simulaci ´on de las que ya ven´ıan predeterminadas dentro de la carpeta scripts, y se prob ´o con los nuevos ficheros con dicha simulaci ´on. Despu ´es de comprobar que la simulaci ´on se realizaba con exito, el resultado obtenido se puede observar en la figura 4.2, y el script utilizado se encuentra en la secci ´on C.4. del Anexo C.

CAP´ITULO 5. CONCLUSIONES

A lo largo del proyecto se han ido viendo diferentes etapas del desarrollo del mismo. En la primera de ellas era estrictamente necesario aprender qu ´e es JSBSim. Adem ´as de ser el primer objetivo planteado, dicho conocimiento era imprescindible para poder comprender m ´as adelante todo el funcionamiento del programa.

Gracias al trabajo de b ´usqueda bibliogr ´afica realizado fue posible aprender con el mayor detalle que se pudo el mencionado programa, consiguiendo as´ı dar paso a la segunda fase del proyecto.

En esta segunda parte se pretend´ıa conocer c ´omo se configura una aeronave en JSBSim, y aprender a leer los archivos utilizados en ´el. Para poder llegar a cumplir este objetivo fue necesario estudiar varios manuales que ayudaron a comprender dichos archivos. Tambi ´en fue necesario ponerse en contacto con los creadores de JSBSim puesto que los manuales encontrados en la red estaban incompletos.

Despu ´es de comprender c ´omo se configuran los aviones en JSBSim, se cre ´o un avi ´on propio sobre el que se puso en pr ´actica los conocimientos adquiridos.

El siguiente paso a realizar, despu ´es de cumplir los dos primeros objetivos, fue llevar a cabo una simulaci ´on. Para ello, se tuvo que estudiar como funcionan los c ´odigos fuentes en los que JSBSim est ´a dise ˜nado. Para saber si todo hab´ıa sido comprendido correcta- mente, se realizaron con exito varias pruebas con diferentes aeronaves.

Finalmente, se trat ´o de acoplar los archivos de la aeronave dise ˜nada con los scripts crea- dos. En este punto la aeronave consigue ejecutar el script y proporciona informaci ´on del estado del UAV durante la simulaci ´on.

Entendemos que los objetivos planteados en este TFC han sido logrados, si bien, disponien- do de m ´as tiempo y recursos se puede proseguir en la experimentaci ´on y el estudio del proyecto.

GLOSARIO

Shell: Int ´erprete de ´ordenes de Unix.

Unix: Sistema operativo portable, multitarea y multiusuario.

GNU: fue iniciado por Richard Stallman con el objetivo de crear un sistema operativo completamente libre.

EML: Siglas de “Extensible Markup Language” (“lenguaje de marcas ampliable”)

Lenguaje de marcas: Forma de codificar un documento que, junto con el texto, incorpora etiquetas o marcas que contienen informaci ´on adicional acerca de la estructura del texto o su presentaci ´on. Es un metalenguaje.

Metalenguaje: Lenguaje usado para hacer referencia a otros lenguajes.

SGML: Siglas de “Standard Generalized Markup Language” o “Lenguaje de Marcaci ´on Generalizado”. Consiste en un sistema para la organizaci ´on y etiquetado de documentos. DTD: Siglas en ingl ´es de “Document Type Definition”. La definici ´on de tipo de documento (DTD) es una descripci ´on de estructura y sintaxis de un documento XML o SGML. Su funci ´on b ´asica es la descripci ´on del formato de datos, para usar un formato com ´un y mantener la consistencia entre todos los documentos que utilicen la misma DTD.

BIBLIOGRAF´IA

Libros

[1] K. Ogata Sistemas de Control en Tiempo Discreto. Segunda edici ´on. Prentice may. 1996.

[2] G.F Franklin, J.D. Powell, A. Emani-Naeini Feedback Control of Dynamic Systems. Cuarta edici ´on. Prentice-Hall, 2002.

P ´aginas Web

• www.wikipedia.org • http://jsbsim.sourceforge.net/ • http://jsbsim.wiki.sourceforge.net/JSBSim+Users+Manual • http://jsbsim.sourceforge.net/JSBSim/classes.html • http://jsbsim.sourceforge.net/AutomaticFlightInJSBSim.pdf

Otros documentos

• JSBSim: An Open Source Flight Dynamics Model in C++.

• Identificaci ´on del modo longitudinal de un UAV. Marc Espuga Zaragoza. TFC. • JSBSim Reference Manual.

• Tutorial de LaTex. • Tutorial de Bash. • Tutorial de Guplot.

AP ´ENDICE A.

C ´ALCULO DE LOS MOMENTOS

Y PRODUCTOS DE INERCIA DEL UAV

A.1.

C ´alculo de los momentos de inercia.