999 resultados para C (Lenguaje de programación)
Resumo:
En 2009 la Unidad Municipal de Análisis Territorial del Ajuntament de Girona apostó por integrar al sistema de información territorial existente un conjunto de herramientas libres para publicar cartografía. Un año después, más de la mitad de los servicios de cartografía web están funcionando sobre este nuevo sistema. El nuevo sistema, llamado Coloma, se basa en una base de datos PostGIS, la librería de render Mapnik, el servidor WS Ogcserver, la librería Javascript OpenLayers, el framework Django, el lenguaje de programación Python y el servidor web Apache con el módulo para WSGI. Coloma incluye una herramienta de administración web para facilitar la configuración y la administración del día a día. Aporta pequeñas mejoras a los proyectos por separado y un valor añadido al conjunto, consiguiendo un servidor de cartografía formado por proyectos de éxito, robusto y con muchas posibilidades. Coloma ha demostrado ser fiable y sus componentes siguen mejorando día a día. El hecho de ser software libre nos ha permitido acceder al conocimiento, código y documentación que hay sobre todo este software en Internet. En los próximos meses la UMAT va a liberar el proyecto Coloma para que más gente pueda beneficiarse del trabajo hecho hasta ahora
Resumo:
Una de las cuestiones que tradicionalmente se han tratado con los Sistemas de Información Geográfica (SIG) es la resolución de problemas de localización óptima de equipamientos. Sin embargo, se han encontrado deficiencias e insuficiencias en las funciones usuales de los SIG para el estudio de este tipo de asuntos. Por ese motivo, en la Universidad de Alcalá se desarrolló un software denominado Localiza (Bosque, Palm y Gómez, 2008), el cual está especializado en la localización de equipamientos sociales. Sin embargo, dicha aplicación está basada en el software Idrisi (Versión para Windows 2.0) y depende directamente de los formatos de datos de este SIG. Para solucionar este problema, se ha considerado la posibilidad de ofertar este tipo de software como servicio. La especificación Web Processing Service, del OGC brinda un marco para ofertar los modelos de localización-asignación como servicios a través de Internet. La implementación de estos modelos como servicios WPS facilitaría la interoperabilidad entre sistemas y la posibilidad de ejecutar modelos, independientemente de la plataforma y el lenguaje de programación. Esto permite obtener dicha funcionalidad tanto en entornos web como de escritorio. Además, se ha considerado la utilización de formatos de datos estandarizados como GML (Geography Markup Language), de tal forma que exista una independencia total de los formatos privativos de los SIG existentes en el mercado. Asimismo, se pretende utilizar en todo momento tecnologías y estándares abiertos
Resumo:
Incluye Bibliografía
Resumo:
[ES] Los web frameworks son herramientas para mejorar el desarrollo y mantenimiento de sitios web. Aprender a utilizar un framework requiere varios meses y existen más de 100 web frameworks. Por ello es interesante que haya estudios que muestren sus diferencias. En este proyecto se realizó una comparativa de web frameworks para valorar sus diferencias, debilidades y fortalezas. Para seleccionar los web frameworks se utilizaron variables como las estadísticas de uso, popularidad y resultados en otras omparativas. Además, se decidió que los web frameworks seleccionados estuviesen basados en distintos lenguajes de programación. En base a esto se seleccionaron los web frameworks : Rails, Grails, Django y Codelgniter. Para compararlos se implementó una aplicación muy sencilla, MyBlog, con cada uno de ellos, un sistema de usuarios con blogs, posts y comentarios. La preparación para esta implementación consistió en : leer documentación sobre el lenguaje de programación, realizar un conjunto de ejercicios muy sencillos y leer la documentación del web framework. Todas estas tareas, incluida la implementación de MyBlog se tuvieron que realizar en un tiempo límite asignado. En base a este desarrollo se concluyó que Rails, Grails y Django son frameworks que requieren mucho tiempo en su aprendizaje, mientras que Codelgniter es mucho más sencillo de aprender. Sin embargo, los primeros producen un código más conciso y menos repetitivo, mientras que el último resulta en un código repetitivo y extenso. Por otro lado, la documentación de Grails era de baja calidad e incrementaba la dificultad en su aprendizaje. Rails y Django presentan una buena documentación. Rails es el único framework con un gran soporte para migraciones y Javascript. Django es el único que soporta las class-based views. Grails es el único que soporta internacionalización desde la generación de código.
Resumo:
[ES] El trabajo consistirá en abordar el desarrollo de un videojuego utilizando el lenguaje de programación Java y una librería especializada en desarrollo de videojuegos. Crearemos un videojuego del género plataformas. Para ello utilizaremos una vista en dos dimensiones, el jugador controlará un personaje humanoide con el que deberá atravesar una serie de niveles. Los niveles estarán agrupados en mundos con distintas temáticas (nieve, espacio, etc.) y en ellos el jugador se encontrará con múltiples obstáculos y enemigos. Los mundos se definen como agrupaciones de diez niveles en las que en el décimo nivel de cada mundo (nivel final) el jugador se enfrenta a un enemigo con una complejidad mayor al resto. Un ejemplo de videojuego de plataformas similar al que se va a desarrollar sería: "Super Mario Bros.". La librería que utilizaremos permite el desarrollo de videojuegos de escritorio y para móviles utilizando el mismo código. Es multiplataforma y soporta Windows, Linux, Mac OS X, Android, iOS, y navegadores con soporte WebGL.
Resumo:
[ES] El Trabajo de Fin de Grado, Diseño e Implementación de un Convertidor Numérico como Aplicación Android es una aplicación desarrollada para terminales móviles con SO Android. Esta desarrollada en el entorno de desarrollo Eclipse, sobre el lenguaje de programación Java y hace uso de diferentes herramientas, las más importante de ellas el SDK TOOLS para Android. El objetivo o principal motivación por el cual he creado dicha aplicación es facilitarle al usuario final una forma más fácil y amena de acceder a toda la información proporcionada por el Servicio Web Números TIP. Esta aplicación podría tener gran uso en el campo de las enseñanzas primarias para enseñar a los niños a escribir números con letras y también podría ser de gran utilidad para las personas que no tengan un dominio extenso de nuestro idioma. La principal funcionalidad de la aplicación es realizar una consulta al Servicio Web Números TIP y luego mostrar por pantalla todos los datos devueltos. Todo el proceso de dibujo de la interfaz de usuario se realiza de manera dinámica y en tiempo de ejecución, logrando de esta manera adaptarnos a los datos que devuelva el servicio web. Para realizar la consulta al Servicio Web Números TIP el usuario introduce una ristra de caracteres sobre la cual se realizan determinadas comprobaciones en el servidor y se dibuja en la interfaz de usuario la respuesta devuelta. Esta ristra de caracteres puede contener cualquier signo, letra o número y el servicio web se encarga de devolver un error o reconocer un número, ya sea en su forma entera, fraccionaria, decimal o romana. La aplicación esta estandarizada para los cuatro tamaños generales reconocidos por Android y para sus densidades. Además se podría decir que la aplicación reconoce el idioma pre configurado en el teléfono y en base a ello solicita al servicio web las respuestas en español o en inglés.
Resumo:
El libro recoge ponencias y talleres seleccionados de JALIMI 2005 (Jornadas Argentinas de Lingüística Informática: Modelización e Ingeniería), y está organizado en nueve capítulos y un apéndice. Si bien hay sustantivas diferencias en los enfoques, las metodologías, las propiedades específicas estudiadas y las aplicaciones propuestas o proyectadas, todos los capítulos comunican resultados de investigaciones que pretenden contribuir a alcanzar el objetivo a largo plazo de la Lingüística Informática, a saber: emular en términos cibernéticos la extraordinaria capacidad humana de producir y comprender textos en lengua natural.
Instrumentación virtual para la caracterización de la fiabilidad de células solares de concentración
Resumo:
Este Trabajo Fin de Máster surge de la necesidad de evaluar la fiabilidad de los sistemas fotovoltaicos de concentración, los cuales han sufrido una evolución importante, pasando de usarse células solares de silicio con un 26% de rendimiento, a células multiunión III-V superando el 43% de rendimiento. Las células solares multinunión, mucho más caras y complejas que las células de silicio, no podrán ser comercializadas hasta que no se demuestre que tienen una fiabilidad comparable a las células de silicio. Con el objetivo de disponer de resultados de fiabilidad en un periodo de tiempo adecuado, se utilizan ensayos acelerados. Los ensayos acelerados en células solares presentan una dificultad añadida, debido a la necesidad de que la célula solar esté funcionando y además sea caracterizada dentro de una cámara climática. Mientras que para realizar ensayos acelerados en otros dispositivos es muy sencillo hacerlos funcionar dentro de la cámara climática, en el caso de las células solares tanto el funcionamiento como la caracterización requieren de iluminación dentro de la cámara climática. Conseguir dicha iluminación es complejo como se comentará en el desarrollo de esta memoria de Trabajo Fin de Máster, así como la solución encontrada. A lo largo de esta memoria se desarrollará una primera parte teórica, comenzando con una breve descripción teórica sobre células solares, aunque el estudio de las mismas no es el objetivo de este proyecto, por lo que se continuará con teoría de fiabilidad. El objetivo de este Trabajo Fin de Máster es desarrollar un software capaz de realizar ensayos acelerados sobre células solares. El diseño del software desarrollado podría usarse para cualquier tipo de célula solar, u otro dispositivo similar como un LED o un diodo láser. El último capítulo teórico desarrollado en este proyecto es una introducción al lenguaje de programación gráfico, denominado lenguaje G, implementado con Labview, software elegido para el desarrollo del programa. Dado que estará destinado a su uso en otros proyectos, el desarrollo del sistema estará totalmente descrito y el código comentado, para que en un futuro se pueda modificar de forma sencilla. El núcleo de la memoria es el desarrollo del software aunque también se mostrará el desarrollo hardware, que ha sido desarrollado en paralelo en otro Trabajo Fin de Máster y la instalación necesaria para poder llevar a cabo los ensayos. Para finalizar la memoria, se documenta la instalación realizada, mostrando las pruebas realizadas al software y al hardware y la puesta en funcionamiento de los ensayos con sus primeros resultados.
Resumo:
Se tiene una red eléctrica compuesta por tres centrales térmicas convencionales y dos núcleos de consumo diferenciados, uno industrial y otro residencial, a la que se le va a conectar un parque eólico. El objetivo es dimensionar la línea de conexión y conocer el comportamiento de la red ante este cambio. Se han calculado las características de la línea eléctrica de conexión para satisfacer la potencia instalada del parque. También se ha estimado la demanda horaria de electricidad en las zonas residencial e industrial y se han tomado los valores horarios significativos de la potencia generada por el parque eólico, ambos, para las distintas estaciones del año. Como programa para la simulación de la red eléctrica se utilizó el PSS/E (Power System Simulator for Engineering) en el que, ayudándose del lenguaje de programación Python, se creó un código que cambiaba los datos horarios del consumo y la generación del parque, resolvía el flujo de cargas y exportaba los resultados que mostraban el comportamiento de la red para las distintas casuísticas. Finalmente, se analizaron los resultados de las potencias activa y reactiva generadas por las centrales convencionales, la tensión en los buses y las posibles sobrecargas.
Resumo:
La señalización digital o digital signage es una tecnología de comunicaciones digital que se está usando en los últimos años para reemplazar a la antigua publicidad impresa. Esta tecnología mejora la presentación y promoción de los productos anunciados, así como facilita el intercambio de información gracias a su colocación en lugares públicos o al aire libre. Las aplicaciones con las que cuenta este nuevo método de publicidad son muy variadas, ya que pueden variar desde ambientes privados en empresas, hasta lugares públicos como centros comerciales. Aunque la primera y principal utilidad de la señalización digital es la publicidad para que el usuario sienta una necesidad de adquirir productos, también la posibilidad de ofrecer más información sobre determinados artículos a través de las nuevas tecnologías es muy importante en este campo. La aplicación realizada en este proyecto es el desarrollo de un programa en Adobe Flash a través de lenguaje de programación XML. A través de una pantalla táctil, el usuario de un museo puede interactivamente acceder a un menú en el que aparecen los diferentes estilos de arte en un determinado tiempo de la historia. A través de una línea de tiempo se puede acceder a información sobre cada objeto que esté expuesto en la exhibición. Además se pueden observar imágenes de los detalles más importantes del objeto que no pueden ser vistos a simple vista, ya que no está permitido manipularlos. El empleo de la pantalla interactiva sirve para el usuario de la exhibición como una herramienta extra para recabar información sobre lo que está viendo, a través de una tecnología nueva y fácil de usar para todo el mundo, ya que solo se necesita usar las propias manos. La facilidad de manejo en aplicaciones como estas es muy importante, ya que el usuario final puede no tener conocimientos tecnológicos por lo que la información debe darse claramente. Como conclusión, se puede decir que digital signage es un mercado que está en expansión y que las empresas deben invertir en el desarrollo de contenidos, ya que las tecnologías avanzan aunque el digital signage no lo haga, y este sector podría ser muy útil en un futuro no muy lejano, ya que la información que es capaz de transmitir al espectador en todos los lugares es mucho más válida y útil que la proporcionada por un simple póster impreso en una valla publicitaria. Abstract The Digital signage is a digital communications technology being used in recent years to replace the old advertising printed. This technology improves the presentation and promotion of the advertised products, and makes easy the exchange of information with its placement in public places or outdoors. The applications that account this new method of advertising are several; they can range from private rooms in companies, to public places like malls. Although the first major utility of Digital signage is the advertising that makes the user feel and need of purchasing products. In addition, the chance of providing more information about certain items through new technologies is very important in this field. The application made in this project is the development of a program in Adobe Flash via XML programming language. Through a touch-screen, a museum user can interactively access a menu in which different styles of art in a particular time in history appears. Through a timeline you can access to information about each object that is exposed on display. Also you can see pictures of the most important details of the object that can not be seen with the naked eye, since it is not allowed to manipulate it. The use of the interactive screen serves to the user exhibition as an extra tool to gather information about what is seeing through a new technology and easy to use for everyone, since only need to use one’s own hands. The ease of handling in applications such as this is very important as the end user may not have expertise technology so the information should be clearly. As conclusion, one can say digital signage is an expansion market and companies must invest in content development, as although digital technologies advance digital signage does not, and this sector could be very useful in a near future, because information that is able of transmitting the everywhere viewer is much more valid and useful than that provided by a simple printed poster on a billboard.
Resumo:
En todo proceso de desarrollo de un dispositivo electrónico o equipo cabe la necesidad de evaluar la fiabilidad de sus componentes, es decir, cual es el porcentaje de equipos que tras un determinado periodo de vida mantiene todas sus funcionalidades dentro de especificaciones. La evaluación de la fiabilidad mediante ensayos acelerados es la herramienta que permite una estimación de la vida del dispositivo o equipo de forma previa a su comercialización. La cuantificación de la fiabilidad es crítica para identificar los costos de un determinado periodo de garantía, y para ofrecer a los clientes el nivel de calidad deseado. El objetivo de este Proyecto Fin de Carrera, es el diseño de un sistema automático de instrumentación versátil, para la realización y caracterización de ensayos acelerados, el cual nos sirva para abordar una amplia gama de ensayos con los que evaluar la fiabilidad de los dispositivos electrónicos o equipos. Además del uso industrial donde se evaluará la fiabilidad de forma previa a la comercialización, este sistema se podrá emplear en la docencia de esta área, y fundamentalmente para la realización de ensayos acelerados en investigación de dispositivos electrónicos. La versatilidad de nuestro hardware y aplicación software es un punto a favor, ya que con este sistema de instrumentación se pueden realizar numerosos tipos de ensayos acelerados, sin el problema de tener que cambiar toda la instrumentación, cada vez que se quiera realizar otro ensayo distinto. Los componentes que se elijan para realizar el ensayo acelerado, serán sometidos a un estrés (tensión, corriente, humedad, temperatura…) y se podrá ir observando cómo envejecen, lo que nos permite evaluar la vida del dispositivo en un corto periodo, emulando sus condiciones de trabajo, además de estudiar la fiabilidad también se puede identificar como se degradan sus características principales antes del fallo. El Software utilizado en este Proyecto se ha implementado con un lenguaje de programación gráfico para instrumentación, LabVIEW. La aplicación software se explica de manera muy detallada a lo largo de la memoria, para que su uso y adaptación si fuese necesario no suponga ningún problema para el usuario. En la última parte de esta memoria se encuentra la guía de usuario y un ensayo acelerado planteado como ejemplo. Explicaremos como se han interconectado los equipos a los componentes en los que se va a realizar el ensayo y así se comprobará el correcto funcionamiento del software tomando las medidas necesarias. ABTRACT In all process of development of an electronic device or equipment, we have the need to evaluate the reliability of its components, that is to say, what percentage of equipment that after a certain period of life keeps all of its functionalities within specifications. The evaluation of reliability by means of accelerated tests is the tool that allows an estimation of the lifetime of the device or equipment prior to its marketing. The quantification of reliability is critical to identify the costs of a specific warranty period, and to offer customers the desired quality level. The objective of this Thesis is the design of an automatic very versatile instrument for the realization and characterization of accelerated tests, which will help us to address a wide range of tests to assess the reliability of the devices or electronic equipment. In addition to industrial use where test the reliability before its commercialization, use it can be used in teaching of this area, fundamentally for the realization of accelerated testing in the investigation of electronic devices. The versatility of our hardware and software implementation is a plus, given that this instrumentation system can perform numerous types of accelerated tests, without the problem to have to change everything, every time you want to make another different test. The components that will be chosen to perform the accelerated test, will be subjected to stress (voltage, current, humidity, temperature ...) and you can observe how they age, allowing us to evaluate the life of the device in a short period, emulating their working conditions. In addition to studying the reliability it can also identify how its main characteristics are degraded before failure. The software used in this Thesis has been implemented with a graphical programming language for instrumentation, LabVIEW. This software is explained in great detail throughout the Thesis, so that its use and adaptation, if necessary, will not be a problem for the user. In the last part of this memory we will expose a user guide and test that we have done. We will explain how the equipment has been interconnected to the components in which we are going to perform the test and so we will check the correct operation of the software taking the necessary measures.
Resumo:
El objetivo de este proyecto de investigación es analizar el conjunto de las diez series temporales, relativas a los precios de diez metales (plata, aluminio, oro, cobre, níquel, paladio, plomo, platino, estaño y zinc), comprendidos en el periodo de enero de 2008 a septiembre de 2013, con el objetivo de reducir la dimensionalidad del conjunto de datos y facilitar la comparación de los mismos y la predicción de valores futuros. Para ello pretendemos aplicar una metodología, que nos permitirá deducir, a partir de una serie resumen y de unos coeficientes multiplicativos, la evolución del comportamiento de cualquier otro metal. Pese a la escasísima documentación existente al respecto, se valorará e intentará aplicarse una reciente metodología denominada “Metodología del haz de rectas” Como herramienta de trabajo para los programas informáticos desarrollados y para representar las gráficas asociadas al proyecto, se utilizó Matlab®, habida cuenta de su enorme potencia y por disponer de un lenguaje de programación sencillo y lo suficientemente versátil para las tareas que necesitamos. Abstract. The objective of this research project is to analyze the set of ten time series on prices of the ten metals (silver, aluminum, gold, copper, nickel, palladium, lead, platinum, tin and zinc), included in the period January 2008 to September 2013, with the aim of reducing the dimensionality of the data set and to facilitate comparison of the data and the prediction of future values To apply this methodology, allowing us to predict, from a series summarizes the evolution of the behavior of any other metal. This methodology is called "straight beam Methodology" As a tool for developing computer software and associated graphs to represent the project, Matlab® was used in view of its enormous power and have a simple programming language and versatile enough for the tasks we need
Resumo:
Este proyecto se ha enmarcado en la línea de desarrollo del Laboratorio Virtual de electrónica, desarrollado en la Escuela Universitaria de Ingeniería Técnica de Telecomunicación (EUITT), de la Universidad Politécnica de Madrid (UPM). Con el Laboratorio Virtual los alumnos de la universidad, de cualquiera de las escuelas de ingeniería que la componen, pueden realizar prácticas de forma remota. Es decir, desde cualquier PC con el software adecuado instalado y a través de Internet, sin requerir su presencia en un laboratorio físico. La característica más destacable e importante de este Laboratorio Virtual es que las medidas que se realizan no son simulaciones sobre circuitos virtuales, sino medidas reales sobre circuitos reales: el alumno puede configurar una serie de interconexiones entre componentes electrónicos, formando el circuito que necesite, que posteriormente el Laboratorio Virtual se encargará de realizar físicamente, gracias al hardware y al software que conforman el sistema. Tras ello, el alumno puede excitar el circuito con señales provenientes de instrumental real de laboratorio y obtener medidas de la misma forma, en los puntos del circuito que indique. La necesidad principal a la que este Proyecto de Fin de Carrera da solución es la sustitución de los instrumentos de sobremesa por instrumentos emulados en base a Tarjetas de Adquisición de Datos (DAQ). Los instrumentos emulados son: un multímetro, un generador de señales y un osciloscopio. Además, existen otros objetivos derivados de lo anterior, como es el que los instrumentos emulados deben guardar una total compatibilidad con el resto del sistema del Laboratorio Virtual, o que el diseño ha de ser escalable y adaptable. Todo ello se ha implementado mediante: un software escrito en LabVIEW, que utiliza un lenguaje de programación gráfico; un hardware que ha sido primero diseñado y luego fabricado, controlado por el software; y una Tarjeta de Adquisición de Datos, que gracias a la escalabilidad del sistema puede sustituirse por otro modelo superior o incluso por varias de ellas. ABSTRACT. This project is framed in the development line of the electronics Virtual Laboratory, developed at Escuela Universitaria de Ingeniería Técnica de Telecomunicación (EUITT), from Universidad Politécnica de Madrid (UPM). With the Virtual Laboratory, the university’s students, from any of its engineering schools that is composed of, can do practices remotely. Or in other words, from any PC with the correct software installed and through the Internet, without requiring his or her presence in a physical laboratory. The most remarkable and important characteristic this Virtual Laboratory has is that the measures the students does are not simulations over virtual circuits, but real measures over real circuits: the student can configure a series of interconnections between electronic parts, setting up the circuit he or she needs, and afterwards the Virtual Laboratory will realize that circuit physically, thanks to the hardware and software that compose the whole system. Then, the student can apply signals coming from real laboratory instruments and get measures in the same way, at the points of the circuit he or she points out. The main need this Degree Final Project gives solution is the substitution of the real instruments by emulated instruments, based on Data Acquisition systems (DAQ). The emulated instruments are: a digital multimeter, a signal generator and an oscilloscope. In addition, there is other objectives coming from the previously said, like the need of a total compatibility between the real instruments and the emulated ones and with the rest of the Virtual Laboratory, or that the design must be scalable and adaptive. All of that is implemented by: a software written in LabVIEW, which makes use of a graphical programming language; a hardware that was first designed and later manufactured, then controlled by software; and a Data Acquisition device, though thanks to the system’s scalability it can be substituted by a better model or even by several DAQs.
Resumo:
VladBot es un robot autónomo diseñado para posicionar en interiores un micrófono de medida. Este prototipo puede valorar la idea de automatizar medidas acústicas en interiores mediante un robot autónomo. Posee dos ruedas motrices y una rueda loca. Ésta rueda loca aporta maniobrabilidad al robot. Un soporte extensible hecho de aluminio sostiene el micrófono de medida. VladBot ha sido diseñado con tecnologías de bajo coste y bajo una plataforma abierta, Arduino. Arduino es una plataforma electrónica libre. Esto quiere decir que los usuarios tienen libre acceso a toda la información referente a los micro-controladores (hardware) y referente al software. Ofrece un IDE (Integrated Development Environment, en español, Entorno de Desarrollo Integrado) de forma gratuita y con un sencillo lenguaje de programación, con el que se pueden realizar proyectos de cualquier tipo. Además, los usuarios disponen de un foro donde encontrar ayuda, “Arduino Forum”. VladBot se comunica con el usuario a través de Bluetooth, creando un enlace fiable y con un alcance suficiente (aproximadamente 100 metros) para que controlar a VladBot desde una sala contigua. Hoy en día, Bluetooth es una tecnología implantada en casi todos los ordenadores, por lo que no necesario ningún sistema adicional para crear dicho enlace. Esta comunicación utiliza un protocolo de comunicaciones, JSON (JavaScript Object Notation). JSON hace que la comunicación sea más fiable, ya que sólo un tipo de mensajes preestablecidos son reconocidos. Gracias a este protocolo es posible la comunicación con otro software, permitiendo crear itinerarios en otro programa externo. El diseño de VladBot favorece su evolución hasta un sistema más preciso ya que el usuario puede realizar modificaciones en el robot. El código que se proporciona puede ser modificado, aumentando las funcionalidades de VladBot o mejorándolas. Sus componentes pueden ser cambiados también (incluso añadir nuevos dispositivos) para aumentar sus capacidades. Vladbot es por tanto, un sistema de transporte (de bajo coste) para un micrófono de medida que se puede comunicar inalámbricamente con el usuario de manera fiable. ABSTRACT. VladBot is an autonomous robot designed to indoor positioning of a measurement microphone. This prototype can value the idea of making automatic acoustic measurements indoor with an autonomous robot. It has two drive wheels and a caster ball. This caster ball provides manoeuvrability to the robot. An extendible stand made in aluminium holds the measurement microphone. VladBot has been designed with low cost technologies and under an open-source platform, Arduino. Arduino is a freeFsource electronics platform. This means that users have free access to all the information about micro-controllers (hardware) and about the software. Arduino offers a free IDE (Integrated Development Environment) with an easy programming language, which any kind of project can be made with. Besides, users have a forum where find help, “Arduino Forum”. VladBot communicates with the user by Bluetooth, creating a reliable link with enough range (100 meters approximately) for controlling VladBot in the next room. Nowadays, Bluetooth is a technology embedded in almost laptops, so it is not necessary any additional system for create this link. This communication uses a communication protocol, JSON (JavaScript Object Notation). JSON makes the communication more reliable, since only a preFestablished kind of messages are recognised. Thanks to this protocol is possible the communication with another software, allowing to create routes in an external program. VladBot´s design favours its evolution to an accurate system since the user can make modifications in the robot. The code given can be changed, increasing VladBot´s uses or improving these uses. Their components can be changed too (even new devices can be added) for increasing its abilities. So, VladBot is a (low cost) transport system for a measurement microphone, which can communicate with the user in a reliable way.
Resumo:
El objetivo de esta Tesis ha sido la consecución de simulaciones en tiempo real de vehículos industriales modelizados como sistemas multicuerpo complejos formados por sólidos rígidos. Para el desarrollo de un programa de simulación deben considerarse cuatro aspectos fundamentales: la modelización del sistema multicuerpo (tipos de coordenadas, pares ideales o impuestos mediante fuerzas), la formulación a utilizar para plantear las ecuaciones diferenciales del movimiento (coordenadas dependientes o independientes, métodos globales o topológicos, forma de imponer las ecuaciones de restricción), el método de integración numérica para resolver estas ecuaciones en el tiempo (integradores explícitos o implícitos) y finalmente los detalles de la implementación realizada (lenguaje de programación, librerías matemáticas, técnicas de paralelización). Estas cuatro etapas están interrelacionadas entre sí y todas han formado parte de este trabajo. Desde la generación de modelos de una furgoneta y de camión con semirremolque, el uso de tres formulaciones dinámicas diferentes, la integración de las ecuaciones diferenciales del movimiento mediante métodos explícitos e implícitos, hasta el uso de funciones BLAS, de técnicas de matrices sparse y la introducción de paralelización para utilizar los distintos núcleos del procesador. El trabajo presentado en esta Tesis ha sido organizado en 8 capítulos, dedicándose el primero de ellos a la Introducción. En el Capítulo 2 se presentan dos formulaciones semirrecursivas diferentes, de las cuales la primera está basada en una doble transformación de velocidades, obteniéndose las ecuaciones diferenciales del movimiento en función de las aceleraciones relativas independientes. La integración numérica de estas ecuaciones se ha realizado con el método de Runge-Kutta explícito de cuarto orden. La segunda formulación está basada en coordenadas relativas dependientes, imponiendo las restricciones por medio de penalizadores en posición y corrigiendo las velocidades y aceleraciones mediante métodos de proyección. En este segundo caso la integración de las ecuaciones del movimiento se ha llevado a cabo mediante el integrador implícito HHT (Hilber, Hughes and Taylor), perteneciente a la familia de integradores estructurales de Newmark. En el Capítulo 3 se introduce la tercera formulación utilizada en esta Tesis. En este caso las uniones entre los sólidos del sistema se ha realizado mediante uniones flexibles, lo que obliga a imponer los pares por medio de fuerzas. Este tipo de uniones impide trabajar con coordenadas relativas, por lo que la posición del sistema y el planteamiento de las ecuaciones del movimiento se ha realizado utilizando coordenadas Cartesianas y parámetros de Euler. En esta formulación global se introducen las restricciones mediante fuerzas (con un planteamiento similar al de los penalizadores) y la estabilización del proceso de integración numérica se realiza también mediante proyecciones de velocidades y aceleraciones. En el Capítulo 4 se presenta una revisión de las principales herramientas y estrategias utilizadas para aumentar la eficiencia de las implementaciones de los distintos algoritmos. En primer lugar se incluye una serie de consideraciones básicas para aumentar la eficiencia numérica de las implementaciones. A continuación se mencionan las principales características de los analizadores de códigos utilizados y también las librerías matemáticas utilizadas para resolver los problemas de álgebra lineal tanto con matrices densas como sparse. Por último se desarrolla con un cierto detalle el tema de la paralelización en los actuales procesadores de varios núcleos, describiendo para ello el patrón empleado y las características más importantes de las dos herramientas propuestas, OpenMP y las TBB de Intel. Hay que señalar que las características de los sistemas multicuerpo problemas de pequeño tamaño, frecuente uso de la recursividad, y repetición intensiva en el tiempo de los cálculos con fuerte dependencia de los resultados anteriores dificultan extraordinariamente el uso de técnicas de paralelización frente a otras áreas de la mecánica computacional, tales como por ejemplo el cálculo por elementos finitos. Basándose en los conceptos mencionados en el Capítulo 4, el Capítulo 5 está dividido en tres secciones, una para cada formulación propuesta en esta Tesis. En cada una de estas secciones se describen los detalles de cómo se han realizado las distintas implementaciones propuestas para cada algoritmo y qué herramientas se han utilizado para ello. En la primera sección se muestra el uso de librerías numéricas para matrices densas y sparse en la formulación topológica semirrecursiva basada en la doble transformación de velocidades. En la segunda se describe la utilización de paralelización mediante OpenMP y TBB en la formulación semirrecursiva con penalizadores y proyecciones. Por último, se describe el uso de técnicas de matrices sparse y paralelización en la formulación global con uniones flexibles y parámetros de Euler. El Capítulo 6 describe los resultados alcanzados mediante las formulaciones e implementaciones descritas previamente. Este capítulo comienza con una descripción de la modelización y topología de los dos vehículos estudiados. El primer modelo es un vehículo de dos ejes del tipo chasis-cabina o furgoneta, perteneciente a la gama de vehículos de carga medianos. El segundo es un vehículo de cinco ejes que responde al modelo de un camión o cabina con semirremolque, perteneciente a la categoría de vehículos industriales pesados. En este capítulo además se realiza un estudio comparativo entre las simulaciones de estos vehículos con cada una de las formulaciones utilizadas y se presentan de modo cuantitativo los efectos de las mejoras alcanzadas con las distintas estrategias propuestas en esta Tesis. Con objeto de extraer conclusiones más fácilmente y para evaluar de un modo más objetivo las mejoras introducidas en la Tesis, todos los resultados de este capítulo se han obtenido con el mismo computador, que era el top de la gama Intel Xeon en 2007, pero que hoy día está ya algo obsoleto. Por último los Capítulos 7 y 8 están dedicados a las conclusiones finales y las futuras líneas de investigación que pueden derivar del trabajo realizado en esta Tesis. Los objetivos de realizar simulaciones en tiempo real de vehículos industriales de gran complejidad han sido alcanzados con varias de las formulaciones e implementaciones desarrolladas. ABSTRACT The objective of this Dissertation has been the achievement of real time simulations of industrial vehicles modeled as complex multibody systems made up by rigid bodies. For the development of a simulation program, four main aspects must be considered: the modeling of the multibody system (types of coordinates, ideal joints or imposed by means of forces), the formulation to be used to set the differential equations of motion (dependent or independent coordinates, global or topological methods, ways to impose constraints equations), the method of numerical integration to solve these equations in time (explicit or implicit integrators) and the details of the implementation carried out (programming language, mathematical libraries, parallelization techniques). These four stages are interrelated and all of them are part of this work. They involve the generation of models for a van and a semitrailer truck, the use of three different dynamic formulations, the integration of differential equations of motion through explicit and implicit methods, the use of BLAS functions and sparse matrix techniques, and the introduction of parallelization to use the different processor cores. The work presented in this Dissertation has been structured in eight chapters, the first of them being the Introduction. In Chapter 2, two different semi-recursive formulations are shown, of which the first one is based on a double velocity transformation, thus getting the differential equations of motion as a function of the independent relative accelerations. The numerical integration of these equations has been made with the Runge-Kutta explicit method of fourth order. The second formulation is based on dependent relative coordinates, imposing the constraints by means of position penalty coefficients and correcting the velocities and accelerations by projection methods. In this second case, the integration of the motion equations has been carried out by means of the HHT implicit integrator (Hilber, Hughes and Taylor), which belongs to the Newmark structural integrators family. In Chapter 3, the third formulation used in this Dissertation is presented. In this case, the joints between the bodies of the system have been considered as flexible joints, with forces used to impose the joint conditions. This kind of union hinders to work with relative coordinates, so the position of the system bodies and the setting of the equations of motion have been carried out using Cartesian coordinates and Euler parameters. In this global formulation, constraints are introduced through forces (with a similar approach to the penalty coefficients) are presented. The stabilization of the numerical integration is carried out also by velocity and accelerations projections. In Chapter 4, a revision of the main computer tools and strategies used to increase the efficiency of the implementations of the algorithms is presented. First of all, some basic considerations to increase the numerical efficiency of the implementations are included. Then the main characteristics of the code’ analyzers used and also the mathematical libraries used to solve linear algebra problems (both with dense and sparse matrices) are mentioned. Finally, the topic of parallelization in current multicore processors is developed thoroughly. For that, the pattern used and the most important characteristics of the tools proposed, OpenMP and Intel TBB, are described. It needs to be highlighted that the characteristics of multibody systems small size problems, frequent recursion use and intensive repetition along the time of the calculation with high dependencies of the previous results complicate extraordinarily the use of parallelization techniques against other computational mechanics areas, as the finite elements computation. Based on the concepts mentioned in Chapter 4, Chapter 5 is divided into three sections, one for each formulation proposed in this Dissertation. In each one of these sections, the details of how these different proposed implementations have been made for each algorithm and which tools have been used are described. In the first section, it is shown the use of numerical libraries for dense and sparse matrices in the semirecursive topological formulation based in the double velocity transformation. In the second one, the use of parallelization by means OpenMP and TBB is depicted in the semi-recursive formulation with penalization and projections. Lastly, the use of sparse matrices and parallelization techniques is described in the global formulation with flexible joints and Euler parameters. Chapter 6 depicts the achieved results through the formulations and implementations previously described. This chapter starts with a description of the modeling and topology of the two vehicles studied. The first model is a two-axle chassis-cabin or van like vehicle, which belongs to the range of medium charge vehicles. The second one is a five-axle vehicle belonging to the truck or cabin semi-trailer model, belonging to the heavy industrial vehicles category. In this chapter, a comparative study is done between the simulations of these vehicles with each one of the formulations used and the improvements achieved are presented in a quantitative way with the different strategies proposed in this Dissertation. With the aim of deducing the conclusions more easily and to evaluate in a more objective way the improvements introduced in the Dissertation, all the results of this chapter have been obtained with the same computer, which was the top one among the Intel Xeon range in 2007, but which is rather obsolete today. Finally, Chapters 7 and 8 are dedicated to the final conclusions and the future research projects that can be derived from the work presented in this Dissertation. The objectives of doing real time simulations in high complex industrial vehicles have been achieved with the formulations and implementations developed.