48 resultados para Visão computacional. FPGA. Sistemas orientados a plataformas
Resumo:
Son muchos los dominios de aplicación que han surgido en los últimos años con motivo de los avances tecnológicos. Algunos como eHealth, Smart Building o Smart Grid están teniendo una gran aceptación por parte de empresas que incrementan sus inversiones en este tipo de campos. Las redes inalámbricas de sensores y actuadores juegan un papel fundamental en el desarrollo de este tipo de aplicaciones. A través de este tipo de redes inalámbricas es posible monitorizar y actuar sobre un entorno gracias a nodos sensores y actuadores de forma cómoda y sencilla. Las WSANs (Wireless Sensors and Actuators Networks) junto con la robótica y M2M (Machine-to-Machine) están forjando el camino hacia el Internet of Things (IoT), un futuro en el que todo esté conectado entre sí. Cada vez aparecen dispositivos más pequeños y autónomos, que junto con el crecimiento de las redes, propician la interconexión de “el todo”. Este Proyecto Fin de Carrera tiene como objetivo contribuir en este avance, desarrollando parcialmente una solución middleware que abstraiga al usuario de la complejidad del hardware, implementando ciertas funcionalidades ofrecidas por el middleware nSOM desarrollado por la UPM. Para conseguir este objetivo se realizará un estudio del Estado del Arte actual y una comparativa de las diferentes plataformas hardware involucradas en las Redes Inalámbricas de Sensores y Actuadores (Wireless Sensor-Actuator Networks). Este estudio tendrá como fin la elección de una de las plataformas hardware para su futuro uso en un despliegue parcial del mencionado middleware nSOM. Posteriormente, se diseñará e implementará un sistema para ejemplificar un caso de uso sobre dicha plataforma integrando la publicación de las características y servicios de cada nodo final y el envío de peticiones y la recepción de respuestas. Finalmente se obtendrá un conjunto de conclusiones a partir de los resultados obtenidos y se detallarán posibles líneas de trabajo. ABSTRACT. There are many applications domains that have arisen because of technological advances in recent years. Some as eHealth, Smart Building or Smart Grid are having a great acceptance by companies that increase their investments in such fields. Wireless sensors and actuators networks play a fundamental role in the development of such applications. By means of this kind of wireless network it is possible to monitor and act upon an environment with the assistance of sensors and actuators nodes, readily. The WSANs (Wireless Sensors and Actuators Networks) together with robotics and M2M (Machine-to-Machine) are forging the way towards the Internet of Things (IoT), a future in which all of them are connected among themselves. Smaller and more autonomous devices are appearing that, along with the growth of networks, foster the interconnection of ‘the whole’. This Degree Final Project aims to contribute to this breakthrough, developing partially a middleware solution that abstracts the user from the complexity of hardware, implementing certain functionalities offered by the nSOM middleware solution carried out by UPM. To achieve this objective a study of the current state of the art and a comparison of the different hardware platforms involved in the Wireless and Actuators Sensor Networks (Wireless Sensor-Actuator Networks) will be performed. This study will aim the election of one of the hardware platforms for its future use in a partial deployment of the mentioned middleware nSOM. Subsequently, a system will be designed and implemented to exemplify a use case on the platform mentioned before integrating the publication of the features and services of each end node and sending requests and receiving responses. Finally a set of conclusions from the results will be stated and possible lines of future works will be detailed.
Resumo:
Proyecto Fin de Carrera nº 223. Título del proyecto: BUQUE DE APOYO A PLATAFORMAS MAR DEL NORTE 4500 tons Descripción del proyecto: Reglamentos y Soc. Clas.: Lloyd's Register, SOLAS, MARPOL Eslora máxima: 85 m Peso muerto: 4500 TPM Velocidad: 17 nudos al 90% MCR Sistemas de propulsión: Diesel-eléctrica. Posicionamiento dinámico nivel 2 Requisitos adicionales: acomodación de 45 personas. Cuaderno de comportamiento en aguas de la costa de Cantabria
Resumo:
Las herramientas de configuración basadas en lenguajes de alto nivel como LabVIEW permiten el desarrollo de sistemas de adquisición de datos basados en hardware reconfigurable FPGA muy complejos en un breve periodo de tiempo. La estandarización del ciclo de diseño hardware/software y la utilización de herramientas como EPICS facilita su integración con la plataforma de adquisición y control ITER CODAC CORE SYSTEM (CCS) basada en Linux. En este proyecto se propondrá una metodología que simplificará el ciclo completo de integración de plataformas novedosas, como cRIO, en las que el funcionamiento del hardware de adquisición puede ser modificado por el usuario para que éste se amolde a sus requisitos específicos. El objetivo principal de este proyecto fin de master es realizar la integración de un sistema cRIO NI9159 y diferentes módulos de E/S analógica y digital en EPICS y en CODAC CORE SYSTEM (CCS). Este último consiste en un conjunto de herramientas software que simplifican la integración de los sistemas de instrumentación y control del experimento ITER. Para cumplir el objetivo se realizarán las siguientes tareas: • Desarrollo de un sistema de adquisición de datos basado en FPGA con la plataforma hardware CompactRIO. En esta tarea se realizará la configuración del sistema y la implementación en LabVIEW para FPGA del hardware necesario para comunicarse con los módulos: NI9205, NI9264, NI9401.NI9477, NI9426, NI9425 y NI9476 • Implementación de un driver software utilizando la metodología de AsynDriver para integración del cRIO con EPICS. Esta tarea requiere definir todos los records necesarios que exige EPICS y crear las interfaces adecuadas que permitirán comunicarse con el hardware. • Implementar la descripción del sistema cRIO y del driver EPICS en el sistema de descripción de plantas de ITER llamado SDD. Esto automatiza la creación de las aplicaciones de EPICS que se denominan IOCs. SUMMARY The configuration tools based in high-level programing languages like LabVIEW allows the development of high complex data acquisition systems based on reconfigurable hardware FPGA in a short time period. The standardization of the hardware/software design cycle and the use of tools like EPICS ease the integration with the data acquisition and control platform of ITER, the CODAC Core System based on Linux. In this project a methodology is proposed in order to simplify the full integration cycle of new platforms like CompactRIO (cRIO), in which the data acquisition functionality can be reconfigured by the user to fits its concrete requirements. The main objective of this MSc final project is to develop the integration of a cRIO NI-9159 and its different analog and digital Input/Output modules with EPICS in a CCS. The CCS consists of a set of software tools that simplifies the integration of instrumentation and control systems in the International Thermonuclear Reactor (ITER) experiment. To achieve such goal the following tasks are carried out: • Development of a DAQ system based on FPGA using the cRIO hardware platform. This task comprehends the configuration of the system and the implementation of the mandatory hardware to communicate to the I/O adapter modules NI9205, NI9264, NI9401, NI9477, NI9426, NI9425 y NI9476 using LabVIEW for FPGA. • Implementation of a software driver using the asynDriver methodology to integrate such cRIO system with EPICS. This task requires the definition of the necessary EPICS records and the creation of the appropriate interfaces that allow the communication with the hardware. • Develop the cRIO system’s description and the EPICS driver in the ITER plant description tool named SDD. This development will automate the creation of EPICS applications, called IOCs.
Resumo:
Este proyecto se encuadra dentro de los estudios de impacto que están produciendo en las empresas el desarrollo e incorporación de las nuevas tecnologías, y más concretamente la implantación de las aplicaciones provenientes de la denominada web 2.0. Se conoce con este nombre a las herramientas web que permiten una comunicación bidireccional, es decir, el usuario y la empresa pueden intercambiar opiniones, de manera que el usuario adquiere un nuevo papel más protagonista, presentando ideas, aclaraciones, gustos, críticas...que son tenidas en cuenta por la empresa para realizar su actividad. De esta manera se ha roto con el modelo anterior donde el usuario solo podía consultar la información de una página web, era simple receptor de la información. El objetivo de este estudio es conocer cómo las empresas están incorporando estas tecnologías 2.0 a su estrategia empresarial, y cómo términos como innovación abierta o co-creación están tomando mayor importancia en el entorno empresarial gracias a estas nuevas tecnologías. Si bien existen estudios a nivel de consultoría que generalmente aportan información sobre cuáles son las plataformas 2.0 más utilizadas en el mundo empresarial, no se han encontrado hasta ahora estudios que vinculen estas plataformas entre ellas y con la estructura empresarial, para poder definir un perfil de la organización que trabaja con ellas o el nivel de madurez de la incorporación de estas tecnologías en las organizaciones. Analizar cualitativamente estos aspectos, significa estudiar los nuevos conceptos incorporados a las tecnologías 2.0 en la empresa. Un análisis cuantitativo nos llevaría a estudiar de manera práctica que tipo de recursos y en qué cantidad se están utilizando y su vinculación con la estructura de la organización. Para ello: En una primera parte, nos centraremos en las diferentes formas en las que se puede acceder a Internet, y a continuación enfocaremos el estudio en los dispositivos móviles que nos permiten la conexión desde cualquier lugar y en cualquier instante. Con esto conseguiremos tener una situación actual del mercado de las TIC y veremos cómo las empresas han ido construyendo nuevas políticas para cambiar su estrategia con el fin de estar presentes en los nuevos dispositivos móviles y no perder cuota de mercado. Tras ello, veremos porqué conceptos como el de innovación abierta y proceso de co-creación han sido posibles gracias a la implantación de las tecnologías 2.0 en el ámbito empresarial, facilitando que la empresa y el usuario final cooperen y vayan de la mano en una misma dirección; la empresa se surte de las aportaciones que los usuarios ofrecen, y por otra parte el usuario se siente valorado por la empresa para conseguir la meta final. Es aquí donde comprobaremos la transformación que ha sufrido la empresa en sus distintos sectores departamentales (marketing, ventas, recursos humanos y atención al cliente) como consecuencia de la incorporación de las herramientas 2.0 al mundo laboral. Por todo ello, se enumerarán los distintos usos que realizan las empresas de las redes social más habituales, y además se describirán las principales herramientas y/o aplicaciones para monitorizar las redes sociales que servirán a la empresa para hacer un seguimiento de las mismas. La segunda parte del proyecto será un caso práctico y servirá para ofrecer una visión más real del estado actual de las empresas y su relación con las redes sociales. Para la recopilación de los datos se han escogido las empresas que pertenecen al sector de la “Fabricación de productos informáticos, electrónicos y ópticos”. En cuento a las redes sociales elegidas, han sido Facebook y Twitter. Este estudio práctico nos hará entender mejor el impacto directo que tienen las redes sociales en la actividad diaria de las empresas. Finalmente se realizarán una serie de consideraciones a modo de directrices que servirán para tratar de entender cómo se están utilizando las redes sociales en el entorno empresarial y cuál puede ser la manera más óptima de utilizarlas según el estudio presentado. ABSTRACT. This project is part of the impact studies arisen in companies by the development and incorporation of new technologies and, specifically, by the implementation of applications from the so-called web 2.0. That is how we call the web tools that allow bidirectional communication, this is, user and company can exchange opinions, in such a way that users acquire a leading role, submitting ideas, explanations, preferences, criticism... considered by the company when performing its activities. This way, we have broken with the previous model, where users could only check information from a web page and were simple information recipients. The objective of this study is to get to know how companies are incorporating these technologies 2.0 to their business strategy and how terms such as open innovation or co-creation are becoming more important in the business sphere thanks to these new technologies. Even if there are consulting studies that generally provide information about which are the platforms 2.0 more used in the business world, no studies have been found until now that link such platforms among them and with the business structure, in order to define a profile of the organization that works with them or the level of development of the incorporation of these technologies in the organizations. A qualitative analysis of these aspects involves studying the new concepts incorporated to technologies 2.0 by companies. A qualitative analysis would lead us to study in a practical manner what kind of resources and what amount are being used and their relation with the organization structure. Therefore: First, we will focus on the different ways to gain access to the Internet and, afterwards, we will focus the study on mobile devices that allow us to be connected everywhere any time. This way, we will manage to obtain a present situation of the ICT market and we will see how companies have constructed new policies to change their strategy in order to be present in the new mobile devices without losing their market share. Later, we will review why concepts such as open innovation and co-creation process have been possible thanks to the implementation of technologies 2.0 in the business environment, facilitating that companies and final users cooperate and walk hand in hand in the same direction; companies stock up on the contributions offered by users and, on the other hand, users feel appreciated by companies in the achievement of the final goal. Here we will confirm the transformation suffering by companies in different department sectors (marketing, sales, human resources and customer service) as a result of the incorporation of tools 2.0 to the work environment. Therefore, we will enumerate the different uses that companies make of the most common social networks, describing the main tools and/or applications to monitor social networks used by companies to follow them up. The second part of the project will be a case study to offer a more real vision of the present status of companies and their relation with social networks. To collect the data, we have selected companies from the “Manufacture of computer, electronic and optical products” industry. The social networks chosen are Facebook and Twitter. This case study will help us to get a better understanding of the direct impact of social networks in companies’ daily activity. Finally, we will offer a series of considerations and guidelines to try to understand how are social networks being used in the business environment and what can be the most suitable manner to use them according to this study.
Resumo:
El campo de estudio relacionado con los laboratorios remotos en el ámbito educativo de las ciencias y la ingeniería está sufriendo una notable expansión ante la necesidad de adaptar los procesos de aprendizaje en dichas áreas a las características y posibilidades de la formación online. Muchos de los recursos educativos basados en esta tecnología, existentes en la actualidad, presentan ciertas limitaciones que impiden alcanzar las competencias que se deben adquirir en los laboratorios de ingeniería. Estas limitaciones están relacionadas con diferentes aspectos de carácter técnico y formativo. A nivel técnico las limitaciones principales se centran en el grado de versatilidad que son capaces de proporcionar comparado con el que se dispone en un laboratorio tradicional y en el modo de interacción del usuario, que provoca que el estudiante no distinga claramente si está realizando acciones sobre sistemas reales o simulaciones. A nivel formativo las limitaciones detectadas son relevantes para poder alcanzar un aprendizaje significativo. En concreto están relacionadas principalmente con un escaso sentimiento de inmersión, una reducida sensación de realismo respecto a las operaciones que se realizan o la limitada posibilidad de realizar actividades de forma colaborativa. La aparición de nuevas tecnologías basadas en entornos inmersivos, unida a los avances producidos relacionados con el aumento de la capacidad gráfica de los ordenadores y del ancho de banda de acceso a Internet, han hecho factible que las limitaciones comentadas anteriormente puedan ser superadas gracias al desarrollo de nuevos recursos de aprendizaje surgidos de la fusión de laboratorios remotos y mundos virtuales 3D. Esta tesis doctoral aborda un trabajo de investigación centrado en proponer un modelo de plataformas experimentales, basado en la fusión de las dos tecnologías mencionadas, que permita generar recursos educativos online que faciliten la adquisición de competencias prácticas similares a las que se consiguen en un laboratorio tradicional vinculado a la enseñanza de la electrónica. El campo de aplicación en el que se ha focalizado el trabajo realizado se ha centrado en el área de la electrónica aunque los resultados de la investigación realizada se podrían adaptar fácilmente a otras disciplinas de la ingeniería. Fruto del trabajo realizado en esta tesis es el desarrollo de la plataforma eLab3D, basada en el modelo de plataformas experimentales propuesto, y la realización de dos estudios empíricos llevados a cabo con estudiantes de grado en ingeniería, muy demandados por la comunidad investigadora. Por un lado, la plataforma eLab3D, que permite llevar a cabo de forma remota actividades prácticas relacionadas con el diseño, montaje y prueba de circuitos electrónicos analógicos, aporta como novedad un dispositivo hardware basado en un sistema de conmutación distribuido. Dicho sistema proporciona un nivel de versatilidad muy elevado, a nivel de configuración de circuitos y selección de puntos de medida, que hace posible la realización de acciones similares a las que se llevan a cabo en los laboratorios presenciales. Por otra parte, los estudios empíricos realizados, que comparaban la eficacia educativa de una metodología de aprendizaje online, basada en el uso de la plataforma eLab3D, con la conseguida siguiendo una metodología clásica en los laboratorios tradicionales, mostraron que no se detectaron diferencias significativas en el grado de adquisición de los resultados de aprendizaje entre los estudiantes que utilizaron la plataforma eLab3D y los que asistieron a los laboratorios presenciales. Por último, hay que destacar dos aspectos relevantes relacionados directamente con esta tesis. En primer lugar, los resultados obtenidos en las experiencias educativas llevadas a cabo junto a valoraciones obtenidas por el profesorado que ha colaborado en las mismas han sido decisivos para que la plataforma eLab3D se haya integrado como recurso complementario de aprendizaje en titulaciones de grado de ingeniería de la Universidad Politécnica de Madrid. En segundo lugar, el modelo de plataformas experimentales que se ha propuesto en esta tesis, analizado por investigadores vinculados a proyectos en el ámbito de la fusión nuclear, ha sido tomado como referencia para generar nuevas herramientas de formación en dicho campo. ABSTRACT The field of study of remote laboratories in sciences and engineering educational disciplines is undergoing a remarkable expansion given the need to adapt the learning processes in the aforementioned areas to the characteristics and possibilities of online education. Several of the current educational resources based on this technology have certain limitations that prevent from reaching the required competencies in engineering laboratories. These limitations are related to different aspects of technical and educational nature. At the technical level, they are centered on the degree of versatility they are able to provide compared to a traditional laboratory and in the way the user interacts with them, which causes the student to not clearly distinguish if actions are being performed over real systems or over simulations. At the educational level, the detected limitations are relevant in order to reach a meaningful learning. In particular, they are mainly related to a scarce immersion feeling, a reduced realism sense regarding the operations performed or the limited possibility to carry out activities in a collaborative way. The appearance of new technologies based on immersive environments, together with the advances in graphical computer capabilities and Internet bandwidth access, have made the previous limitations feasible to be overcome thanks to the development of new learning resources that arise from merging remote laboratories and 3D virtual worlds. This PhD thesis tackles a research work focused on the proposal of an experimental platform model, based on the fusion of both mentioned technologies, which allows for generating online educational resources that facilitate the acquisition of practical competencies similar to those obtained in a traditional electronics laboratory. The application field, in which this work is focused, is electronics, although the research results could be easily adapted to other engineering disciplines. A result of this work is the development of eLab3D platform, based on the experimental platform model proposed, and the realization of two empirical studies with undergraduate students, highly demanded by research community. On one side, eLab3D platform, which allows to accomplish remote practical activities related to the design, assembling and test of analog electronic circuits, provides, as an original contribution, a hardware device based on a distributed switching system. This system offers a high level of versatility, both at the circuit configuration level and at the selection of measurement points, which allows for doing similar actions to those conducted in hands-on laboratories. On the other side, the empirical studies carried out, which compare the educational efficiency of an online learning methodology based on the use of eLab3D platform with that obtained following a classical methodology in traditional laboratories, shows that no significant differences in the acquired degree of learning outcomes among the students that used eLab3D platform and those that attended hands-on laboratories were detected. Finally, it is important to highlight two relevant aspects directly related with this thesis work. First of all, the results obtained in the educational experiences conducted, along with the assessment from the faculty that has collaborated in them, have been decisive to integrate eLab3D platform as a supplementary learning resource in engineering degrees at Universidad Politecnica de Madrid. Secondly, the experimental platform model originally proposed in this thesis, which has been analysed by nuclear fusion researchers, has been taken as a reference to generate new educational tools in that field.
Resumo:
Las prestaciones y características de los dispositivos móviles actuales los sitúa a un nivel similar a los ordenadores de escritorio tradicionales en cuanto a funcionalidad y posibilidades de uso, añadiendo además la movilidad y la sensación de pertenencia al usuario que se deriva de ésta. Estas cualidades convierten a las plataformas móviles de computación en verdaderos ordenadores personales, y cada día es más popular su utilización en ámbitos distintos del ocio y las comunicaciones propiamente dichas, pasando a convertirse en herramientas de apoyo a la productividad también en el entorno profesional y corporativo. La utilización del dispositivo móvil como parte de una infraestructura de telecomunicaciones da lugar a nuevas expresiones de problemas clásicos de gestión y seguridad. Para tratar de abordarlos con la flexibilidad y la escalabilidad necesarias se plantean alternativas novedosas que parten de enfoques originales a estos problemas, como las ideas y conceptos que se engloban en la filosofía del Control de Acceso a la Red (Network Access Control, o NAC). La mayoría de los planteamientos de NAC se basan, en el ámbito de la seguridad, en comprobar ciertas características del dispositivo móvil para tratar de determinar hasta qué punto puede éste suponer una amenaza para los recursos de la red u otros usuarios de la misma. Obtener esta información de forma fiable resulta extremadamente difícil si se caracteriza el dispositivo mediante un modelo de caja blanca, muy adecuado dada la apertura propia de los sistemas operativos móviles actuales, muy diferentes de los de antaño, y la ausencia de un marco de seguridad efectivo en ellos. Este trabajo explora el Estado de la Técnica en este ámbito de investigación y plantea diferentes propuestas orientadas a cubrir las deficiencias de las soluciones propuestas hasta el momento y a satisfacer los estrictos requisitos de seguridad que se derivan de la aplicación del modelo de caja blanca, materializándose en última instancia en la definición de un mecanismo de evaluación de características arbitrarias de un cierto dispositivo móvil basado en Entornos Seguros de Ejecución (Trusted Execution Environments, o TEEs) con elevadas garantías de seguridad compatible con los planteamientos actuales de NAC. ABSTRACT The performance and features of today’s mobile devices make them able to compete with traditional desktop computers in terms of functionality and possible usages. In addition to this, they sport mobility and the stronger sense of ownership that derives from it. These attributes change mobile computation platforms into truly personal computers, allowing them to be used not only for leisure or as mere communications devices, but also as supports of productivity in professional and corporative environments. The utilization of mobile devices as part of a telecommunications infrastructure brings new expressions of classic management and security problems with it. In order to tackle them with appropriate flexibility and scalability, new alternatives are proposed based on original approaches to these problems, such as the concepts and ideas behind the philosophy of Network Access Control (NAC). The vast majority of NAC proposals are based, security-wise, on checking certain mobile device’s properties in order to evaluate how probable it is for it to become a threat for network resources or even other users of the infrastructure. Obtaining this information in a reliable and trustworthy way is extremely difficult if the device is characterized using a white-box model, which is the most appropriate if the openness of today’s mobile operating systems, very different from former ones, and the absence of an effective security framework are taken into account. This work explores the State of the Art related with the aforementioned field of research and presents different proposals targeted to overcome the deficiencies of current solutions and satisfy the strict security requirements derived from the application of the white box model. These proposals are ultimately materialized in the definition of a high-security evaluation procedure of arbitrary properties of a given mobile device based on Trusted Execution Environments (TEEs) which is compatible with modern NAC approaches.
Resumo:
El concepto de algoritmo es básico en informática, por lo que es crucial que los alumnos profundicen en él desde el inicio de su formación. Por tanto, contar con una herramienta que guíe a los estudiantes en su aprendizaje puede suponer una gran ayuda en su formación. La mayoría de los autores coinciden en que, para determinar la eficacia de una herramienta de visualización de algoritmos, es esencial cómo se utiliza. Así, los estudiantes que participan activamente en la visualización superan claramente a los que la contemplan de forma pasiva. Por ello, pensamos que uno de los mejores ejercicios para un alumno consiste en simular la ejecución del algoritmo que desea aprender mediante el uso de una herramienta de visualización, i. e. consiste en realizar una simulación visual de dicho algoritmo. La primera parte de esta tesis presenta los resultados de una profunda investigación sobre las características que debe reunir una herramienta de ayuda al aprendizaje de algoritmos y conceptos matemáticos para optimizar su efectividad: el conjunto de especificaciones eMathTeacher, además de un entorno de aprendizaje que integra herramientas que las cumplen: GRAPHs. Hemos estudiado cuáles son las cualidades esenciales para potenciar la eficacia de un sistema e-learning de este tipo. Esto nos ha llevado a la definición del concepto eMathTeacher, que se ha materializado en el conjunto de especificaciones eMathTeacher. Una herramienta e-learning cumple las especificaciones eMathTeacher si actúa como un profesor virtual de matemáticas, i. e. si es una herramienta de autoevaluación que ayuda a los alumnos a aprender de forma activa y autónoma conceptos o algoritmos matemáticos, corrigiendo sus errores y proporcionando pistas para encontrar la respuesta correcta, pero sin dársela explícitamente. En estas herramientas, la simulación del algoritmo no continúa hasta que el usuario introduce la respuesta correcta. Para poder reunir en un único entorno una colección de herramientas que cumplan las especificaciones eMathTeacher hemos creado GRAPHs, un entorno ampliable, basado en simulación visual, diseñado para el aprendizaje activo e independiente de los algoritmos de grafos y creado para que en él se integren simuladores de diferentes algoritmos. Además de las opciones de creación y edición del grafo y la visualización de los cambios producidos en él durante la simulación, el entorno incluye corrección paso a paso, animación del pseudocódigo del algoritmo, preguntas emergentes, manejo de las estructuras de datos del algoritmo y creación de un log de interacción en XML. Otro problema que nos planteamos en este trabajo, por su importancia en el proceso de aprendizaje, es el de la evaluación formativa. El uso de ciertos entornos e-learning genera gran cantidad de datos que deben ser interpretados para llegar a una evaluación que no se limite a un recuento de errores. Esto incluye el establecimiento de relaciones entre los datos disponibles y la generación de descripciones lingüísticas que informen al alumno sobre la evolución de su aprendizaje. Hasta ahora sólo un experto humano era capaz de hacer este tipo de evaluación. Nuestro objetivo ha sido crear un modelo computacional que simule el razonamiento del profesor y genere un informe sobre la evolución del aprendizaje que especifique el nivel de logro de cada uno de los objetivos definidos por el profesor. Como resultado del trabajo realizado, la segunda parte de esta tesis presenta el modelo granular lingüístico de la evaluación del aprendizaje, capaz de modelizar la evaluación y generar automáticamente informes de evaluación formativa. Este modelo es una particularización del modelo granular lingüístico de un fenómeno (GLMP), en cuyo desarrollo y formalización colaboramos, basado en la lógica borrosa y en la teoría computacional de las percepciones. Esta técnica, que utiliza sistemas de inferencia basados en reglas lingüísticas y es capaz de implementar criterios de evaluación complejos, se ha aplicado a dos casos: la evaluación, basada en criterios, de logs de interacción generados por GRAPHs y de cuestionarios de Moodle. Como consecuencia, se han implementado, probado y utilizado en el aula sistemas expertos que evalúan ambos tipos de ejercicios. Además de la calificación numérica, los sistemas generan informes de evaluación, en lenguaje natural, sobre los niveles de competencia alcanzados, usando sólo datos objetivos de respuestas correctas e incorrectas. Además, se han desarrollado dos aplicaciones capaces de ser configuradas para implementar los sistemas expertos mencionados. Una procesa los archivos producidos por GRAPHs y la otra, integrable en Moodle, evalúa basándose en los resultados de los cuestionarios. ABSTRACT The concept of algorithm is one of the core subjects in computer science. It is extremely important, then, for students to get a good grasp of this concept from the very start of their training. In this respect, having a tool that helps and shepherds students through the process of learning this concept can make a huge difference to their instruction. Much has been written about how helpful algorithm visualization tools can be. Most authors agree that the most important part of the learning process is how students use the visualization tool. Learners who are actively involved in visualization consistently outperform other learners who view the algorithms passively. Therefore we think that one of the best exercises to learn an algorithm is for the user to simulate the algorithm execution while using a visualization tool, thus performing a visual algorithm simulation. The first part of this thesis presents the eMathTeacher set of requirements together with an eMathTeacher-compliant tool called GRAPHs. For some years, we have been developing a theory about what the key features of an effective e-learning system for teaching mathematical concepts and algorithms are. This led to the definition of eMathTeacher concept, which has materialized in the eMathTeacher set of requirements. An e-learning tool is eMathTeacher compliant if it works as a virtual math trainer. In other words, it has to be an on-line self-assessment tool that helps students to actively and autonomously learn math concepts or algorithms, correcting their mistakes and providing them with clues to find the right answer. In an eMathTeacher-compliant tool, algorithm simulation does not continue until the user enters the correct answer. GRAPHs is an extendible environment designed for active and independent visual simulation-based learning of graph algorithms, set up to integrate tools to help the user simulate the execution of different algorithms. Apart from the options of creating and editing the graph, and visualizing the changes made to the graph during simulation, the environment also includes step-by-step correction, algorithm pseudo-code animation, pop-up questions, data structure handling and XML-based interaction log creation features. On the other hand, assessment is a key part of any learning process. Through the use of e-learning environments huge amounts of data can be output about this process. Nevertheless, this information has to be interpreted and represented in a practical way to arrive at a sound assessment that is not confined to merely counting mistakes. This includes establishing relationships between the available data and also providing instructive linguistic descriptions about learning evolution. Additionally, formative assessment should specify the level of attainment of the learning goals defined by the instructor. Till now, only human experts were capable of making such assessments. While facing this problem, our goal has been to create a computational model that simulates the instructor’s reasoning and generates an enlightening learning evolution report in natural language. The second part of this thesis presents the granular linguistic model of learning assessment to model the assessment of the learning process and implement the automated generation of a formative assessment report. The model is a particularization of the granular linguistic model of a phenomenon (GLMP) paradigm, based on fuzzy logic and the computational theory of perceptions, to the assessment phenomenon. This technique, useful for implementing complex assessment criteria using inference systems based on linguistic rules, has been applied to two particular cases: the assessment of the interaction logs generated by GRAPHs and the criterion-based assessment of Moodle quizzes. As a consequence, several expert systems to assess different algorithm simulations and Moodle quizzes have been implemented, tested and used in the classroom. Apart from the grade, the designed expert systems also generate natural language progress reports on the achieved proficiency level, based exclusively on the objective data gathered from correct and incorrect responses. In addition, two applications, capable of being configured to implement the expert systems, have been developed. One is geared up to process the files output by GRAPHs and the other one is a Moodle plug-in set up to perform the assessment based on the quizzes results.
Resumo:
Dentro del análisis y diseño estructural surgen frecuentemente problemas de ingeniería donde se requiere el análisis dinámico de grandes modelos de elementos finitos que llegan a millones de grados de libertad y emplean volúmenes de datos de gran tamaño. La complejidad y dimensión de los análisis se dispara cuando se requiere realizar análisis paramétricos. Este problema se ha abordado tradicionalmente desde diversas perspectivas: en primer lugar, aumentando la capacidad tanto de cálculo como de memoria de los sistemas informáticos empleados en los análisis. En segundo lugar, se pueden simplificar los análisis paramétricos reduciendo su número o detalle y por último se puede recurrir a métodos complementarios a los elementos .nitos para la reducción de sus variables y la simplificación de su ejecución manteniendo los resultados obtenidos próximos al comportamiento real de la estructura. Se propone el empleo de un método de reducción que encaja en la tercera de las opciones y consiste en un análisis simplificado que proporciona una solución para la respuesta dinámica de una estructura en el subespacio modal complejo empleando un volumen de datos muy reducido. De este modo se pueden realizar análisis paramétricos variando múltiples parámetros, para obtener una solución muy aproximada al objetivo buscado. Se propone no solo la variación de propiedades locales de masa, rigidez y amortiguamiento sino la adición de grados de libertad a la estructura original para el cálculo de la respuesta tanto permanente como transitoria. Adicionalmente, su facilidad de implementación permite un control exhaustivo sobre las variables del problema y la implementación de mejoras como diferentes formas de obtención de los autovalores o la eliminación de las limitaciones de amortiguamiento en la estructura original. El objetivo del método se puede considerar similar a los que se obtienen al aplicar el método de Guyan u otras técnicas de reducción de modelos empleados en dinámica estructural. Sin embargo, aunque el método permite ser empleado en conjunción con otros para obtener las ventajas de ambos, el presente procedimiento no realiza la condensación del sistema de ecuaciones, sino que emplea la información del sistema de ecuaciones completa estudiando tan solo la respuesta en las variables apropiadas de los puntos de interés para el analista. Dicho interés puede surgir de la necesidad de obtener la respuesta de las grandes estructuras en unos puntos determinados o de la necesidad de modificar la estructura en zonas determinadas para cambiar su comportamiento (respuesta en aceleraciones, velocidades o desplazamientos) ante cargas dinámicas. Por lo tanto, el procedimiento está particularmente indicado para la selección del valor óptimo de varios parámetros en grandes estructuras (del orden de cientos de miles de modos) como pueden ser la localización de elementos introducidos, rigideces, masas o valores de amortiguamientos viscosos en estudios previos en los que diversas soluciones son planteadas y optimizadas, y que en el caso de grandes estructuras, pueden conllevar un número de simulaciones extremadamente elevado para alcanzar la solución óptima. Tras plantear las herramientas necesarias y desarrollar el procedimiento, se propone un caso de estudio para su aplicación al modelo de elementos .nitos del UAV MILANO desarrollado por el Instituto Nacional de Técnica Aeroespacial. A dicha estructura se le imponen ciertos requisitos al incorporar un equipo en aceleraciones en punta de ala izquierda y desplazamientos en punta de ala derecha en presencia de la sustentación producida por una ráfaga continua de viento de forma sinusoidal. La modificación propuesta consiste en la adición de un equipo en la punta de ala izquierda, bien mediante un anclaje rígido, bien unido mediante un sistema de reducción de la respuesta dinámica con propiedades de masa, rigidez y amortiguamiento variables. El estudio de los resultados obtenidos permite determinar la optimización de los parámetros del sistema de atenuación por medio de múltiples análisis dinámicos de forma que se cumplan de la mejor forma posible los requisitos impuestos con la modificación. Se comparan los resultados con los obtenidos mediante el uso de un programa comercial de análisis por el método de los elementos .nitos lográndose soluciones muy aproximadas entre el modelo completo y el reducido. La influencia de diversos factores como son el amortiguamiento modal de la estructura original, el número de modos retenidos en la truncatura o la precisión proporcionada por el barrido en frecuencia se analiza en detalle para, por último, señalar la eficiencia en términos de tiempo y volumen de datos de computación que ofrece el método propuesto en comparación con otras aproximaciones. Por lo tanto, puede concluirse que el método propuesto se considera una opción útil y eficiente para el análisis paramétrico de modificaciones locales en grandes estructuras. ABSTRACT When developing structural design and analysis some projects require dynamic analysis of large finite element models with millions of degrees of freedom which use large size data .les. The analysis complexity and size grow if a parametric analysis is required. This problem has been approached traditionally in several ways: one way is increasing the power and the storage capacity of computer systems involved in the analysis. Other obvious way is reducing the total amount of analyses and their details. Finally, complementary methods to finite element analysis can also be employed in order to limit the number of variables and to reduce the execution time keeping the results as close as possible to the actual behaviour of the structure. Following this third option, we propose a model reduction method that is based in a simplified analysis that supplies a solution for the dynamic response of the structure in the complex modal space using few data. Thereby, parametric analysis can be done varying multiple parameters so as to obtain a solution which complies with the desired objetive. We propose not only mass, stiffness and damping variations, but also addition of degrees of freedom to the original structure in order to calculate the transient and steady-state response. Additionally, the simple implementation of the procedure allows an in-depth control of the problem variables. Furthermore, improvements such as different ways to obtain eigenvectors or to remove damping limitations of the original structure are also possible. The purpose of the procedure is similar to that of using the Guyan or similar model order reduction techniques. However, in our method we do not perform a true model order reduction in the traditional sense. Furthermore, additional gains, which we do not explore herein, can be obtained through the combination of this method with traditional model-order reduction procedures. In our procedure we use the information of the whole system of equations is used but only those nodes of interest to the analyst are processed. That interest comes from the need to obtain the response of the structure at specific locations or from the need to modify the structure at some suitable positions in order to change its behaviour (acceleration, velocity or displacement response) under dynamic loads. Therefore, the procedure is particularly suitable for parametric optimization in large structures with >100000 normal modes such as position of new elements, stiffness, mass and viscous dampings in previous studies where different solutions are devised and optimized, and in the case of large structures, can carry an extremely high number of simulations to get the optimum solution. After the introduction of the required tools and the development of the procedure, a study case is proposed with use the finite element model (FEM) of the MILANO UAV developed by Instituto Nacional de Técnica Aeroespacial. Due to an equipment addition, certain acceleration and displacement requirements on left wing tip and right wing tip, respectively, are imposed. The structure is under a continuous sinusoidal wind gust which produces lift. The proposed modification consists of the addition of an equipment in left wing tip clamped through a rigid attachment or through a dynamic response reduction system with variable properties of mass, stiffness and damping. The analysis of the obtained results allows us to determine the optimized parametric by means of multiple dynamic analyses in a way such that the imposed requirements have been accomplished in the best possible way. The results achieved are compared with results from a commercial finite element analysis software, showing a good correlation. Influence of several factors such as the modal damping of the original structure, the number of modes kept in the modal truncation or the precission given by the frequency sweep is analyzed. Finally, the efficiency of the proposed method is addressed in tems of computational time and data size compared with other approaches. From the analyses performed, we can conclude that the proposed method is a useful and efficient option to perform parametric analysis of possible local modifications in large structures.
Resumo:
En el mundo actual las aplicaciones basadas en sistemas biométricos, es decir, aquellas que miden las señales eléctricas de nuestro organismo, están creciendo a un gran ritmo. Todos estos sistemas incorporan sensores biomédicos, que ayudan a los usuarios a controlar mejor diferentes aspectos de la rutina diaria, como podría ser llevar un seguimiento detallado de una rutina deportiva, o de la calidad de los alimentos que ingerimos. Entre estos sistemas biométricos, los que se basan en la interpretación de las señales cerebrales, mediante ensayos de electroencefalografía o EEG están cogiendo cada vez más fuerza para el futuro, aunque están todavía en una situación bastante incipiente, debido a la elevada complejidad del cerebro humano, muy desconocido para los científicos hasta el siglo XXI. Por estas razones, los dispositivos que utilizan la interfaz cerebro-máquina, también conocida como BCI (Brain Computer Interface), están cogiendo cada vez más popularidad. El funcionamiento de un sistema BCI consiste en la captación de las ondas cerebrales de un sujeto para después procesarlas e intentar obtener una representación de una acción o de un pensamiento del individuo. Estos pensamientos, correctamente interpretados, son posteriormente usados para llevar a cabo una acción. Ejemplos de aplicación de sistemas BCI podrían ser mover el motor de una silla de ruedas eléctrica cuando el sujeto realice, por ejemplo, la acción de cerrar un puño, o abrir la cerradura de tu propia casa usando un patrón cerebral propio. Los sistemas de procesamiento de datos están evolucionando muy rápido con el paso del tiempo. Los principales motivos son la alta velocidad de procesamiento y el bajo consumo energético de las FPGAs (Field Programmable Gate Array). Además, las FPGAs cuentan con una arquitectura reconfigurable, lo que las hace más versátiles y potentes que otras unidades de procesamiento como las CPUs o las GPUs.En el CEI (Centro de Electrónica Industrial), donde se lleva a cabo este TFG, se dispone de experiencia en el diseño de sistemas reconfigurables en FPGAs. Este TFG es el segundo de una línea de proyectos en la cual se busca obtener un sistema capaz de procesar correctamente señales cerebrales, para llegar a un patrón común que nos permita actuar en consecuencia. Más concretamente, se busca detectar cuando una persona está quedándose dormida a través de la captación de unas ondas cerebrales, conocidas como ondas alfa, cuya frecuencia está acotada entre los 8 y los 13 Hz. Estas ondas, que aparecen cuando cerramos los ojos y dejamos la mente en blanco, representan un estado de relajación mental. Por tanto, este proyecto comienza como inicio de un sistema global de BCI, el cual servirá como primera toma de contacto con el procesamiento de las ondas cerebrales, para el posterior uso de hardware reconfigurable sobre el cual se implementarán los algoritmos evolutivos. Por ello se vuelve necesario desarrollar un sistema de procesamiento de datos en una FPGA. Estos datos se procesan siguiendo la metodología de procesamiento digital de señales, y en este caso se realiza un análisis de la frecuencia utilizando la transformada rápida de Fourier, o FFT. Una vez desarrollado el sistema de procesamiento de los datos, se integra con otro sistema que se encarga de captar los datos recogidos por un ADC (Analog to Digital Converter), conocido como ADS1299. Este ADC está especialmente diseñado para captar potenciales del cerebro humano. De esta forma, el sistema final capta los datos mediante el ADS1299, y los envía a la FPGA que se encarga de procesarlos. La interpretación es realizada por los usuarios que analizan posteriormente los datos procesados. Para el desarrollo del sistema de procesamiento de los datos, se dispone primariamente de dos plataformas de estudio, a partir de las cuales se captarán los datos para después realizar el procesamiento: 1. La primera consiste en una herramienta comercial desarrollada y distribuida por OpenBCI, proyecto que se dedica a la venta de hardware para la realización de EEG, así como otros ensayos. Esta herramienta está formada por un microprocesador, un módulo de memoria SD para el almacenamiento de datos, y un módulo de comunicación inalámbrica que transmite los datos por Bluetooth. Además cuenta con el mencionado ADC ADS1299. Esta plataforma ofrece una interfaz gráfica que sirve para realizar la investigación previa al diseño del sistema de procesamiento, al permitir tener una primera toma de contacto con el sistema. 2. La segunda plataforma consiste en un kit de evaluación para el ADS1299, desde la cual se pueden acceder a los diferentes puertos de control a través de los pines de comunicación del ADC. Esta plataforma se conectará con la FPGA en el sistema integrado. Para entender cómo funcionan las ondas más simples del cerebro, así como saber cuáles son los requisitos mínimos en el análisis de ondas EEG se realizaron diferentes consultas con el Dr Ceferino Maestu, neurofisiólogo del Centro de Tecnología Biomédica (CTB) de la UPM. Él se encargó de introducirnos en los distintos procedimientos en el análisis de ondas en electroencefalogramas, así como la forma en que se deben de colocar los electrodos en el cráneo. Para terminar con la investigación previa, se realiza en MATLAB un primer modelo de procesamiento de los datos. Una característica muy importante de las ondas cerebrales es la aleatoriedad de las mismas, de forma que el análisis en el dominio del tiempo se vuelve muy complejo. Por ello, el paso más importante en el procesamiento de los datos es el paso del dominio temporal al dominio de la frecuencia, mediante la aplicación de la transformada rápida de Fourier o FFT (Fast Fourier Transform), donde se pueden analizar con mayor precisión los datos recogidos. El modelo desarrollado en MATLAB se utiliza para obtener los primeros resultados del sistema de procesamiento, el cual sigue los siguientes pasos. 1. Se captan los datos desde los electrodos y se escriben en una tabla de datos. 2. Se leen los datos de la tabla. 3. Se elige el tamaño temporal de la muestra a procesar. 4. Se aplica una ventana para evitar las discontinuidades al principio y al final del bloque analizado. 5. Se completa la muestra a convertir con con zero-padding en el dominio del tiempo. 6. Se aplica la FFT al bloque analizado con ventana y zero-padding. 7. Los resultados se llevan a una gráfica para ser analizados. Llegados a este punto, se observa que la captación de ondas alfas resulta muy viable. Aunque es cierto que se presentan ciertos problemas a la hora de interpretar los datos debido a la baja resolución temporal de la plataforma de OpenBCI, este es un problema que se soluciona en el modelo desarrollado, al permitir el kit de evaluación (sistema de captación de datos) actuar sobre la velocidad de captación de los datos, es decir la frecuencia de muestreo, lo que afectará directamente a esta precisión. Una vez llevado a cabo el primer procesamiento y su posterior análisis de los resultados obtenidos, se procede a realizar un modelo en Hardware que siga los mismos pasos que el desarrollado en MATLAB, en la medida que esto sea útil y viable. Para ello se utiliza el programa XPS (Xilinx Platform Studio) contenido en la herramienta EDK (Embedded Development Kit), que nos permite diseñar un sistema embebido. Este sistema cuenta con: Un microprocesador de tipo soft-core llamado MicroBlaze, que se encarga de gestionar y controlar todo el sistema; Un bloque FFT que se encarga de realizar la transformada rápida Fourier; Cuatro bloques de memoria BRAM, donde se almacenan los datos de entrada y salida del bloque FFT y un multiplicador para aplicar la ventana a los datos de entrada al bloque FFT; Un bus PLB, que consiste en un bus de control que se encarga de comunicar el MicroBlaze con los diferentes elementos del sistema. Tras el diseño Hardware se procede al diseño Software utilizando la herramienta SDK(Software Development Kit).También en esta etapa se integra el sistema de captación de datos, el cual se controla mayoritariamente desde el MicroBlaze. Por tanto, desde este entorno se programa el MicroBlaze para gestionar el Hardware que se ha generado. A través del Software se gestiona la comunicación entre ambos sistemas, el de captación y el de procesamiento de los datos. También se realiza la carga de los datos de la ventana a aplicar en la memoria correspondiente. En las primeras etapas de desarrollo del sistema, se comienza con el testeo del bloque FFT, para poder comprobar el funcionamiento del mismo en Hardware. Para este primer ensayo, se carga en la BRAM los datos de entrada al bloque FFT y en otra BRAM los datos de la ventana aplicada. Los datos procesados saldrán a dos BRAM, una para almacenar los valores reales de la transformada y otra para los imaginarios. Tras comprobar el correcto funcionamiento del bloque FFT, se integra junto al sistema de adquisición de datos. Posteriormente se procede a realizar un ensayo de EEG real, para captar ondas alfa. Por otro lado, y para validar el uso de las FPGAs como unidades ideales de procesamiento, se realiza una medición del tiempo que tarda el bloque FFT en realizar la transformada. Este tiempo se compara con el tiempo que tarda MATLAB en realizar la misma transformada a los mismos datos. Esto significa que el sistema desarrollado en Hardware realiza la transformada rápida de Fourier 27 veces más rápido que lo que tarda MATLAB, por lo que se puede ver aquí la gran ventaja competitiva del Hardware en lo que a tiempos de ejecución se refiere. En lo que al aspecto didáctico se refiere, este TFG engloba diferentes campos. En el campo de la electrónica: Se han mejorado los conocimientos en MATLAB, así como diferentes herramientas que ofrece como FDATool (Filter Design Analysis Tool). Se han adquirido conocimientos de técnicas de procesado de señal, y en particular, de análisis espectral. Se han mejorado los conocimientos en VHDL, así como su uso en el entorno ISE de Xilinx. Se han reforzado los conocimientos en C mediante la programación del MicroBlaze para el control del sistema. Se ha aprendido a crear sistemas embebidos usando el entorno de desarrollo de Xilinx usando la herramienta EDK (Embedded Development Kit). En el campo de la neurología, se ha aprendido a realizar ensayos EEG, así como a analizar e interpretar los resultados mostrados en el mismo. En cuanto al impacto social, los sistemas BCI afectan a muchos sectores, donde destaca el volumen de personas con discapacidades físicas, para los cuales, este sistema implica una oportunidad de aumentar su autonomía en el día a día. También otro sector importante es el sector de la investigación médica, donde los sistemas BCIs son aplicables en muchas aplicaciones como, por ejemplo, la detección y estudio de enfermedades cognitivas.
Resumo:
En el ámbito de la robótica de servicio, actualmente no existe una solución automatizada para la inspección ultrasónica de las partes de material compuesto de una aeronave durante las operaciones de mantenimiento que realiza la aerolínea. El desarrollo de las nuevas técnicas de acoplamiento acústico en seco en el método de inspección no destructiva por ultrasonidos, está conduciendo a posibilitar su uso con soluciones de menor coste respecto a las técnicas tradicionales, sin perder eficacia para detectar las deficiencias en las estructuras de material compuesto. Aunque existen aplicaciones de esta técnica con soluciones manuales, utilizadas en las fases de desarrollo y fabricación del material compuesto, o con soluciones por control remoto en sectores diferentes al aeronáutico para componentes metálicos, sin embargo, no existen con soluciones automatizadas para la inspección no destructiva por ultrasonidos de las zonas del avión fabricadas en material compuesto una vez la aeronave ha sido entregada a la aerolínea. El objetivo de este trabajo fin de master es evaluar el sistema de localización, basado en visión por ordenador, de una solución robotizada aplicada la inspección ultrasónica estructural de aeronaves en servicio por parte de las propias aerolíneas, utilizando las nuevas técnicas de acoplamiento acústico en seco, buscando la ventaja de reducir los tiempos y los costes en las operaciones de mantenimiento. Se propone como solución un robot móvil autónomo de pequeño tamaño, con control de posición global basado en técnicas de SLAM Visual Monocular, utilizando marcadores visuales externos para delimitar el área de inspección. Se ha supuesto la inspección de elementos de la aeronave cuya superficie se pueda considerar plana y horizontal, como son las superficies del estabilizador horizontal o del ala. Este supuesto es completamente aceptable en zonas acotadas de estos componentes, y de cara al objetivo del proyecto, no le resta generalidad. El robot móvil propuesto es un vehículo terrestre triciclo, de dos grados de libertad, con un sistema de visión monocular completo embarcado, incluyendo el hardware de procesamiento de visión y control de trayectoria. Las dos ruedas delanteras son motrices y la tercera rueda, loca, sirve únicamente de apoyo. La dirección, de tipo diferencial, permite al robot girar sin necesidad de desplazamiento, al conseguirse por diferencia de velocidad entre la rueda motriz derecha e izquierda. El sistema de inspección ultrasónica embarcado está compuesto por el hardware de procesamiento y registro de señal, y una rueda-sensor situada coaxialmente al eje de las ruedas motrices, y centrada entre estas, de modo que la medida de inspección se realiza en el centro de rotación del robot. El control visual propuesto se realiza mediante una estrategia “ver y mover” basada en posición, ejecutándose de forma secuencial la extracción de características visuales de la imagen, el cálculo de la localización global del robot mediante SLAM visual y el movimiento de éste mediante un algoritmo de control de posición-orientación respecto a referencias de paso de la trayectoria. La trayectoria se planifica a partir del mapa de marcas visuales que delimitan el área de inspección, proporcionado también por SLAM visual. Para validar la solución propuesta se ha optado por desarrollar un prototipo físico tanto del robot como de los marcadores visuales externos, a los que se someterán a una prueba de validación como alternativa a utilizar un entorno simulado por software, consistente en el reconocimiento del área de trabajo, planeamiento de la trayectoria y recorrido de la misma, de forma autónoma, registrando el posicionamiento real del robot móvil junto con el posicionamiento proporcionado por el sistema de localización SLAM. El motivo de optar por un prototipo es validar la solución ante efectos físicos que son muy complicados de modelar en un entorno de simulación, derivados de las limitaciones constructivas de los sistemas de visión, como distorsiones ópticas o saturación de los sensores, y de las limitaciones constructivas de la mecánica del robot móvil que afectan al modelo cinemático, como son el deslizamiento de las ruedas o la fluctuación de potencia de los motores eléctricos. El prototipo de marcador visual externo utilizado para la prueba de validación, ha sido un símbolo plano vertical, en blanco y negro, que consta de un borde negro rectangular dentro del cual se incluye una serie de marcas cuadradas de color negro, cuya disposición es diferente para cada marcador, lo que permite su identificación. El prototipo de robot móvil utilizado para la prueba de validación, ha sido denominado VINDUSTOR: “VIsual controlled Non-Destructive UltraSonic inspecTOR”. Su estructura mecánica ha sido desarrollada a partir de la plataforma comercial de robótica educacional LEGO© MINDSTORMS NXT 2.0, que incluye los dos servomotores utilizados para accionar las dos ruedas motrices, su controlador, las ruedas delanteras y la rueda loca trasera. La estructura mecánica ha sido especialmente diseñada con piezas LEGO© para embarcar un ordenador PC portátil de tamaño pequeño, utilizado para el procesamiento visual y el control de movimiento, y el sistema de captación visual compuesto por dos cámaras web de bajo coste, colocadas una en posición delantera y otra en posición trasera, con el fin de aumentar el ángulo de visión. El peso total del prototipo no alcanza los 2 Kg, siendo sus dimensiones máximas 20 cm de largo, 25 cm de ancho y 26 cm de alto. El prototipo de robot móvil dispone de un control de tipo visual. La estrategia de control es de tipo “ver y mover” dinámico, en la que se realiza un bucle externo, de forma secuencial, la extracción de características en la imagen, la estimación de la localización del robot y el cálculo del control, y en un bucle interno, el control de los servomotores. La estrategia de adquisición de imágenes está basada en un sistema monocular de cámaras embarcadas. La estrategia de interpretación de imágenes está basada en posición tridimensional, en la que los objetivos de control se definen en el espacio de trabajo y no en la imagen. La ley de control está basada en postura, relacionando la velocidad del robot con el error en la posición respecto a las referencias de paso de una trayectoria. La trayectoria es generada a partir del mapa de marcadores visuales externo. En todo momento, la localización del robot respecto a un sistema de referencia externo y el mapa de marcadores, es realizado mediante técnicas de SLAM visual. La auto-localización de un robot móvil dentro de un entorno desconocido a priori constituye uno de los desafíos más importantes en la robótica, habiéndose conseguido su solución en las últimas décadas, con una formulación como un problema numérico y con implementaciones en casos que van desde robots aéreos a robots en entornos cerrados, existiendo numerosos estudios y publicaciones al respecto. La primera técnica de localización y mapeo simultáneo SLAM fue desarrollada en 1989, más como un concepto que como un algoritmo único, ya que su objetivo es gestionar un mapa del entorno constituido por posiciones de puntos de interés, obtenidos únicamente a partir de los datos de localización recogidos por los sensores, y obtener la pose del robot respecto al entorno, en un proceso limitado por el ruido de los sensores, tanto en la detección del entorno como en la odometría del robot, empleándose técnicas probabilísticas aumentar la precisión en la estimación. Atendiendo al algoritmo probabilístico utilizado, las técnicas SLAM pueden clasificarse en las basadas en Filtros de Kalman, en Filtros de Partículas y en su combinación. Los Filtros de Kalman consideran distribuciones de probabilidad gaussiana tanto en las medidas de los sensores como en las medidas indirectas obtenidas a partir de ellos, de modo que utilizan un conjunto de ecuaciones para estimar el estado de un proceso, minimizando la media del error cuadrático, incluso cuando el modelo del sistema no se conoce con precisión, siendo el más utilizado el Filtro de Kalman Extendido a modelos nolineales. Los Filtros de Partículas consideran distribuciones de probabilidad en las medidas de los sensores sin modelo, representándose mediante un conjunto de muestras aleatorias o partículas, de modo que utilizan el método Montecarlo secuencial para estimar la pose del robot y el mapa a partir de ellas de forma iterativa, siendo el más utilizado el Rao-Backwell, que permite obtener un estimador optimizado mediante el criterio del error cuadrático medio. Entre las técnicas que combinan ambos tipos de filtros probabilísticos destaca el FastSLAM, un algoritmo que estima la localización del robot con un Filtro de Partículas y la posición de los puntos de interés mediante el Filtro de Kalman Extendido. Las técnicas SLAM puede utilizar cualquier tipo de sensor que proporcionen información de localización, como Laser, Sonar, Ultrasonidos o Visión. Los sensores basados en visión pueden obtener las medidas de distancia mediante técnicas de visión estereoscópica o mediante técnica de visión monocular. La utilización de sensores basados en visión tiene como ventajas, proporcionar información global a través de las imágenes, no sólo medida de distancia, sino también información adicional como texturas o patrones, y la asequibilidad del hardware frente a otros sensores. Sin embargo, su principal inconveniente es el alto coste computacional necesario para los complejos algoritmos de detección, descripción, correspondencia y reconstrucción tridimensional, requeridos para la obtención de la medida de distancia a los múltiples puntos de interés procesados. Los principales inconvenientes del SLAM son el alto coste computacional, cuando se utiliza un número elevado de características visuales, y su consistencia ante errores, derivados del ruido en los sensores, del modelado y del tratamiento de las distribuciones de probabilidad, que pueden producir el fallo del filtro. Dado que el SLAM basado en el Filtro de Kalman Extendido es una las técnicas más utilizadas, se ha seleccionado en primer lugar cómo solución para el sistema de localización del robot, realizando una implementación en la que las medidas de los sensores y el movimiento del robot son simulados por software, antes de materializarla en el prototipo. La simulación se ha realizado considerando una disposición de ocho marcadores visuales que en todo momento proporcionan ocho medidas de distancia con ruido aleatorio equivalente al error del sensor visual real, y un modelo cinemático del robot que considera deslizamiento de las ruedas mediante ruido aleatorio. Durante la simulación, los resultados han mostrado que la localización estimada por el algoritmo SLAM-EKF presenta tendencia a corregir la localización obtenida mediante la odometría, pero no en suficiente cuantía para dar un resultado aceptable, sin conseguir una convergencia a una solución suficientemente cercana a la localización simulada del robot y los marcadores. La conclusión obtenida tras la simulación ha sido que el algoritmo SLAMEKF proporciona inadecuada convergencia de precisión, debido a la alta incertidumbre en la odometría y a la alta incertidumbre en las medidas de posición de los marcadores proporcionadas por el sensor visual. Tras estos resultados, se ha buscado una solución alternativa. Partiendo de la idea subyacente en los Filtros de Partículas, se ha planteado sustituir las distribuciones de probabilidad gaussianas consideradas por el Filtro de Kalman Extendido, por distribuciones equi-probables que derivan en funciones binarias que representan intervalos de probabilidad no-nula. La aplicación de Filtro supone la superposición de todas las funciones de probabilidad no-nula disponibles, de modo que el resultado es el intervalo donde existe alguna probabilidad de la medida. Cómo la efectividad de este filtro aumenta con el número disponible de medidas, se ha propuesto obtener una medida de la localización del robot a partir de cada pareja de medidas disponibles de posición de los marcadores, haciendo uso de la Trilateración. SLAM mediante Trilateración Estadística (SLAM-ST) es como se ha denominado a esta solución propuesta en este trabajo fin de master. Al igual que con el algoritmo SLAM-EKF, ha sido realizada una implementación del algoritmo SLAM-ST en la que las medidas de los sensores y el movimiento del robot son simulados, antes de materializarla en el prototipo. La simulación se ha realizado en las mismas condiciones y con las mismas consideraciones, para comparar con los resultados obtenidos con el algoritmo SLAM-EKF. Durante la simulación, los resultados han mostrado que la localización estimada por el algoritmo SLAM-ST presenta mayor tendencia que el algoritmo SLAM-EKF a corregir la localización obtenida mediante la odometría, de modo que se alcanza una convergencia a una solución suficientemente cercana a la localización simulada del robot y los marcadores. Las conclusiones obtenidas tras la simulación han sido que, en condiciones de alta incertidumbre en la odometría y en la medida de posición de los marcadores respecto al robot, el algoritmo SLAM-ST proporciona mejores resultado que el algoritmo SLAM-EKF, y que la precisión conseguida sugiere la viabilidad de la implementación en el prototipo. La implementación del algoritmo SLAM-ST en el prototipo ha sido realizada en conjunción con la implementación del Sensor Visual Monocular, el Modelo de Odometría y el Control de Trayectoria. El Sensor Visual Monocular es el elemento del sistema SLAM encargado de proporcionar la posición con respecto al robot de los marcadores visuales externos, a partir de las imágenes obtenidas por las cámaras, mediante técnicas de procesamiento de imagen que permiten detectar e identificar los marcadores visuales que se hallen presentes en la imagen capturada, así como obtener las características visuales a partir de las cuales inferir la posición del marcador visual respecto a la cámara, mediante reconstrucción tridimensional monocular, basada en el conocimiento a-priori del tamaño real del mismo. Para tal fin, se ha utilizado el modelo matemático de cámara pin-hole, y se ha considerado las distorsiones de la cámara real mediante la calibración del sensor, en vez de utilizar la calibración de la imagen, tras comprobar el alto coste computacional que requiere la corrección de la imagen capturada, de modo que la corrección se realiza sobre las características visuales extraídas y no sobre la imagen completa. El Modelo de Odometría es el elemento del sistema SLAM encargado de proporcionar la estimación de movimiento incremental del robot en base a la información proporcionada por los sensores de odometría, típicamente los encoders de las ruedas. Por la tipología del robot utilizado en el prototipo, se ha utilizado un modelo cinemático de un robot tipo uniciclo y un modelo de odometría de un robot móvil de dos ruedas tipo diferencial, en el que la traslación y la rotación se determinan por la diferencia de velocidad de las ruedas motrices, considerando que no existe deslizamiento entre la rueda y el suelo. Sin embargo, el deslizamiento en las ruedas aparece como consecuencia de causas externas que se producen de manera inconstante durante el movimiento del robot que provocan insuficiente contacto de la rueda con el suelo por efectos dinámicos. Para mantener la validez del modelo de odometría en todas estas situaciones que producen deslizamiento, se ha considerado un modelo de incertidumbre basado en un ensayo representativo de las situaciones más habituales de deslizamiento. El Control de Trayectoria es el elemento encargado de proporcionar las órdenes de movimiento al robot móvil. El control implementado en el prototipo está basado en postura, utilizando como entrada la desviación en la posición y orientación respecto a una referencia de paso de la trayectoria. La localización del robot utilizada es siempre de la estimación proporcionada por el sistema SLAM y la trayectoria es planeada a partir del conocimiento del mapa de marcas visuales que limitan el espacio de trabajo, mapa proporcionado por el sistema SLAM. Las limitaciones del sensor visual embarcado en la velocidad de estabilización de la imagen capturada han conducido a que el control se haya implementado con la estrategia “mirar parado”, en la que la captación de imágenes se realiza en posición estática. Para evaluar el sistema de localización basado en visión del prototipo, se ha diseñado una prueba de validación que obtenga una medida cuantitativa de su comportamiento. La prueba consiste en la realización de forma completamente autónoma de la detección del espacio de trabajo, la planificación de una trayectoria de inspección que lo transite completamente, y la ejecución del recorrido de la misma, registrando simultáneamente la localización real del robot móvil junto con la localización proporcionada por el sistema SLAM Visual Monocular. Se han realizado varias ejecuciones de prueba de validación, siempre en las mismas condiciones iniciales de posición de marcadores visuales y localización del robot móvil, comprobando la repetitividad del ensayo. Los resultados presentados corresponden a la consideración de las medidas más pesimistas obtenidas tras el procesamiento del conjunto de medidas de todos los ensayos. Los resultados revelan que, considerando todo el espacio de trabajo, el error de posición, diferencia entre los valores de proporcionados por el sistema SLAM y los valores medidos de posición real, se encuentra en el entorno de la veintena de centímetros. Además, los valores de incertidumbre proporcionados por el sistema SLAM son, en todos los casos, superiores a este error. Estos resultados conducen a concluir que el sistema de localización basado en SLAM Visual, mediante un algoritmo de Trilateración Estadística, usando un sensor visual monocular y marcadores visuales externos, funciona, proporcionando la localización del robot móvil con respecto al sistema de referencia global inicial y un mapa de su situación de los marcadores visuales, con precisión limitada, pero con incertidumbre conservativa, al estar en todo momento el error real de localización por debajo del error estimado. Sin embargo, los resultados de precisión del sistema de localización no son suficientemente altos para cumplir con los requerimientos como solución robotizada aplicada a la inspección ultrasónica estructural de aeronaves en servicio. En este sentido, los resultados sugieren que la posible continuación de este trabajo en el futuro debe centrarse en la mejora de la precisión de localización del robot móvil, con líneas de trabajo encaminadas a mejorar el comportamiento dinámico del prototipo, en mejorar la precisión de las medidas de posición proporcionadas por el sensor visual y en optimizar el resultado del algoritmo SLAM. Algunas de estas líneas futuras podrían ser la utilización de plataformas robóticas de desarrollo alternativas, la exploración de técnicas de visión por computador complementarias, como la odometría visual, la visión omnidireccional, la visión estereoscópica o las técnicas de reconstrucción tridimensional densa a partir de captura monocular, y el análisis de algoritmos SLAM alternativos condicionado a disponer de una sustancial mejora de precisión en el modelo de odometría y en las medidas de posición de los marcadores.
Resumo:
Los recientes desarrollos tecnológicos permiten la transición de la oceanografía observacional desde un concepto basado en buques a uno basado en sistemas autónomos en red. Este último, propone que la forma más eficiente y efectiva de observar el océano es con una red de plataformas autónomas distribuidas espacialmente y complementadas con sistemas de medición remota. Debido a su maniobrabilidad y autonomía, los planeadores submarinos están jugando un papel relevante en este concepto de observaciones en red. Los planeadores submarinos fueron específicamente diseñados para muestrear vastas zonas del océano. Estos son robots con forma de torpedo que hacen uso de su forma hidrodinámica, alas y cambios de flotabilidad para generar movimientos horizontales y verticales en la columna de agua. Un sensor que mide conductividad, temperatura y profundidad (CTD) constituye un equipamiento estándar en la plataforma. Esto se debe a que ciertas variables dinámicas del Océano se pueden derivar de la temperatura, profundidad y salinidad. Esta última se puede estimar a partir de las medidas de temperatura y conductividad. La integración de sensores CTD en planeadores submarinos no esta exenta de desafíos. Uno de ellos está relacionado con la precisión de los valores de salinidad derivados de las muestras de temperatura y conductividad. Específicamente, las estimaciones de salinidad están significativamente degradadas por el retardo térmico existente, entre la temperatura medida y la temperatura real dentro de la celda de conductividad del sensor. Esta deficiencia depende de las particularidades del flujo de entrada al sensor, su geometría y, también se ha postulado, del calor acumulado en las capas de aislamiento externo del sensor. Los efectos del retardo térmico se suelen mitigar mediante el control del flujo de entrada al sensor. Esto se obtiene generalmente mediante el bombeo de agua a través del sensor o manteniendo constante y conocida su velocidad. Aunque recientemente se han incorporado sistemas de bombeo en los CTDs a bordo de los planeadores submarinos, todavía existen plataformas equipadas con CTDs sin dichos sistemas. En estos casos, la estimación de la salinidad supone condiciones de flujo de entrada al sensor, razonablemente controladas e imperturbadas. Esta Tesis investiga el impacto, si existe, que la hidrodinámica de los planeadores submarinos pudiera tener en la eficiencia de los sensores CTD. Específicamente, se investiga primero la localización del sensor CTD (externo al fuselaje) relativa a la capa límite desarrollada a lo largo del cuerpo del planeador. Esto se lleva a cabo mediante la utilización de un modelo acoplado de fluido no viscoso con un modelo de capa límite implementado por el autor, así como mediante un programa comercial de dinámica de fluidos computacional (CFD). Los resultados indican, en ambos casos, que el sensor CTD se encuentra fuera de la capa límite, siendo las condiciones del flujo de entrada las mismas que las del flujo sin perturbar. Todavía, la velocidad del flujo de entrada al sensor CTD es la velocidad de la plataforma, la cual depende de su hidrodinámica. Por tal motivo, la investigación se ha extendido para averiguar el efecto que la velocidad de la plataforma tiene en la eficiencia del sensor CTD. Con este propósito, se ha desarrollado un modelo en elementos finitos del comportamiento hidrodinámico y térmico del flujo dentro del CTD. Los resultados numéricos indican que el retardo térmico, atribuidos originalmente a la acumulación de calor en la estructura del sensor, se debe fundamentalmente a la interacción del flujo que atraviesa la celda de conductividad con la geometría interna de la misma. Esta interacción es distinta a distintas velocidades del planeador submarino. Específicamente, a velocidades bajas del planeador (0.2 m/s), la mezcla del flujo entrante con las masas de agua remanentes en el interior de la celda, se ralentiza debido a la generación de remolinos. Se obtienen entonces desviaciones significantes entre la salinidad real y aquella estimada. En cambio, a velocidades más altas del planeador (0.4 m/s) los procesos de mezcla se incrementan debido a la turbulencia e inestabilidades. En consecuencia, la respuesta del sensor CTD es mas rápida y las estimaciones de la salinidad mas precisas que en el caso anterior. Para completar el trabajo, los resultados numéricos se han validado con pruebas experimentales. Específicamente, se ha construido un modelo a escala del sensor CTD para obtener la confirmación experimental de los modelos numéricos. Haciendo uso del principio de similaridad de la dinámica que gobierna los fluidos incompresibles, los experimentos se han realizado con flujos de aire. Esto simplifica significativamente la puesta experimental y facilita su realización en condiciones con medios limitados. Las pruebas experimentales han confirmado cualitativamente los resultados numéricos. Más aun, se sugiere en esta Tesis que la respuesta del sensor CTD mejoraría significativamente añadiendo un generador de turbulencia en localizaciones adecuadas al interno de la celda de conductividad. ABSTRACT Recent technological developments allow the transition of observational oceanography from a ship-based to a networking concept. The latter suggests that the most efficient and effective way to observe the Ocean is through a fleet of spatially distributed autonomous platforms complemented by remote sensing. Due to their maneuverability, autonomy and endurance at sea, underwater gliders are already playing a significant role in this networking observational approach. Underwater gliders were specifically designed to sample vast areas of the Ocean. These are robots with a torpedo shape that make use of their hydrodynamic shape, wings and buoyancy changes to induce horizontal and vertical motions through the water column. A sensor to measure the conductivity, temperature and depth (CTD) is a standard payload of this platform. This is because certain ocean dynamic variables can be derived from temperature, depth and salinity. The latter can be inferred from measurements of temperature and conductivity. Integrating CTD sensors in glider platforms is not exempted of challenges. One of them, concerns to the accuracy of the salinity values derived from the sampled conductivity and temperature. Specifically, salinity estimates are significantly degraded by the thermal lag response existing between the measured temperature and the real temperature inside the conductivity cell of the sensor. This deficiency depends on the particularities of the inflow to the sensor, its geometry and, it has also been hypothesized, on the heat accumulated by the sensor coating layers. The effects of thermal lag are usually mitigated by controlling the inflow conditions through the sensor. Controlling inflow conditions is usually achieved by pumping the water through the sensor or by keeping constant and known its diving speed. Although pumping systems have been recently implemented in CTD sensors on board gliders, there are still platforms with unpumped CTDs. In the latter case, salinity estimates rely on assuming reasonable controlled and unperturbed flow conditions at the CTD sensor. This Thesis investigates the impact, if any, that glider hydrodynamics may have on the performance of onboard CTDs. Specifically, the location of the CTD sensor (external to the hull) relative to the boundary layer developed along the glider fuselage, is first investigated. This is done, initially, by applying a coupled inviscid-boundary layer model developed by the author, and later by using a commercial software for computational fluid dynamics (CFD). Results indicate, in both cases, that the CTD sensor is out of the boundary layer, being its inflow conditions those of the free stream. Still, the inflow speed to the CTD sensor is the speed of the platform, which largely depends on its hydrodynamic setup. For this reason, the research has been further extended to investigate the effect of the platform speed on the performance of the CTD sensor. A finite element model of the hydrodynamic and thermal behavior of the flow inside the CTD sensor, is developed for this purpose. Numerical results suggest that the thermal lag effect is mostly due to the interaction of the flow through the conductivity cell and its geometry. This interaction is different at different speeds of the glider. Specifically, at low glider speeds (0.2 m/s), the mixing of recent and old waters inside the conductivity cell is slowed down by the generation of coherent eddy structures. Significant departures between real and estimated values of the salinity are found. Instead, mixing is enhanced by turbulence and instabilities for high glider speeds (0.4 m/s). As a result, the thermal response of the CTD sensor is faster and the salinity estimates more accurate than for the low speed case. For completeness, numerical results have been validated against model tests. Specifically, a scaled model of the CTD sensor was built to obtain experimental confirmation of the numerical results. Making use of the similarity principle of the dynamics governing incompressible fluids, experiments are carried out with air flows. This significantly simplifies the experimental setup and facilitates its realization in a limited resource condition. Model tests qualitatively confirm the numerical findings. Moreover, it is suggested in this Thesis that the response of the CTD sensor would be significantly improved by adding small turbulators at adequate locations inside the conductivity cell.
Resumo:
Una Red de Procesadores Evolutivos o NEP (por sus siglas en ingles), es un modelo computacional inspirado por el modelo evolutivo de las celulas, específicamente por las reglas de multiplicación de las mismas. Esta inspiración hace que el modelo sea una abstracción sintactica de la manipulation de information de las celulas. En particu¬lar, una NEP define una maquina de cómputo teorica capaz de resolver problemas NP completos de manera eficiente en tóerminos de tiempo. En la praóctica, se espera que las NEP simuladas en móaquinas computacionales convencionales puedan resolver prob¬lemas reales complejos (que requieran ser altamente escalables) a cambio de una alta complejidad espacial. En el modelo NEP, las cóelulas estóan representadas por palabras que codifican sus secuencias de ADN. Informalmente, en cualquier momento de cómputo del sistema, su estado evolutivo se describe como un coleccion de palabras, donde cada una de ellas representa una celula. Estos momentos fijos de evolucion se denominan configuraciones. De manera similar al modelo biologico, las palabras (celulas) mutan y se dividen en base a bio-operaciones sencillas, pero solo aquellas palabras aptas (como ocurre de forma parecida en proceso de selection natural) seran conservadas para la siguiente configuracióon. Una NEP como herramienta de computation, define una arquitectura paralela y distribuida de procesamiento simbolico, en otras palabras, una red de procesadores de lenguajes. Desde el momento en que el modelo fue propuesto a la comunidad científica en el año 2001, múltiples variantes se han desarrollado y sus propiedades respecto a la completitud computacional, eficiencia y universalidad han sido ampliamente estudiadas y demostradas. En la actualidad, por tanto, podemos considerar que el modelo teórico NEP se encuentra en el estadio de la madurez. La motivación principal de este Proyecto de Fin de Grado, es proponer una aproxi-mación práctica que permita dar un salto del modelo teórico NEP a una implantación real que permita su ejecucion en plataformas computacionales de alto rendimiento, con el fin de solucionar problemas complejos que demanda la sociedad actual. Hasta el momento, las herramientas desarrolladas para la simulation del modelo NEP, si bien correctas y con resultados satisfactorios, normalmente estón atadas a su entorno de ejecucion, ya sea el uso de hardware específico o implementaciones particulares de un problema. En este contexto, el propósito fundamental de este trabajo es el desarrollo de Nepfix, una herramienta generica y extensible para la ejecucion de cualquier algo¬ritmo de un modelo NEP (o alguna de sus variantes), ya sea de forma local, como una aplicación tradicional, o distribuida utilizando los servicios de la nube. Nepfix es una aplicacion software desarrollada durante 7 meses y que actualmente se encuentra en su segunda iteration, una vez abandonada la fase de prototipo. Nepfix ha sido disenada como una aplicacion modular escrita en Java 8 y autocontenida, es decir, no requiere de un entorno de ejecucion específico (cualquier maquina virtual de Java es un contenedor vólido). Nepfix contiene dos componentes o móodulos. El primer móodulo corresponde a la ejecución de una NEP y es por lo tanto, el simulador. Para su desarrollo, se ha tenido en cuenta el estado actual del modelo, es decir, las definiciones de los procesadores y filtros mas comunes que conforman la familia del modelo NEP. Adicionalmente, este componente ofrece flexibilidad en la ejecucion, pudiendo ampliar las capacidades del simulador sin modificar Nepfix, usando para ello un lenguaje de scripting. Dentro del desarrollo de este componente, tambióen se ha definido un estóandar de representacióon del modelo NEP basado en el formato JSON y se propone una forma de representation y codificación de las palabras, necesaria para la comunicación entre servidores. Adicional-mente, una característica importante de este componente, es que se puede considerar una aplicacion aislada y por tanto, la estrategia de distribution y ejecución son total-mente independientes. El segundo moódulo, corresponde a la distribucióon de Nepfix en la nube. Este de-sarrollo es el resultado de un proceso de i+D, que tiene una componente científica considerable. Vale la pena resaltar el desarrollo de este modulo no solo por los resul-tados prócticos esperados, sino por el proceso de investigation que se se debe abordar con esta nueva perspectiva para la ejecución de sistemas de computación natural. La principal característica de las aplicaciones que se ejecutan en la nube es que son gestionadas por la plataforma y normalmente se encapsulan en un contenedor. En el caso de Nepfix, este contenedor es una aplicacion Spring que utiliza el protocolo HTTP o AMQP para comunicarse con el resto de instancias. Como valor añadido, Nepfix aborda dos perspectivas de implementation distintas (que han sido desarrolladas en dos iteraciones diferentes) del modelo de distribution y ejecucion, que tienen un impacto muy significativo en las capacidades y restricciones del simulador. En concreto, la primera iteration utiliza un modelo de ejecucion asincrono. En esta perspectiva asincrona, los componentes de la red NEP (procesadores y filtros) son considerados como elementos reactivos a la necesidad de procesar una palabra. Esta implementation es una optimization de una topologia comun en el modelo NEP que permite utilizar herramientas de la nube para lograr un escalado transparente (en lo ref¬erente al balance de carga entre procesadores) pero produce efectos no deseados como indeterminacion en el orden de los resultados o imposibilidad de distribuir eficiente-mente redes fuertemente interconectadas. Por otro lado, la segunda iteration corresponde al modelo de ejecucion sincrono. Los elementos de una red NEP siguen un ciclo inicio-computo-sincronizacion hasta que el problema se ha resuelto. Esta perspectiva sincrona representa fielmente al modelo teórico NEP pero el proceso de sincronizacion es costoso y requiere de infraestructura adicional. En concreto, se requiere un servidor de colas de mensajes RabbitMQ. Sin embargo, en esta perspectiva los beneficios para problemas suficientemente grandes superan a los inconvenientes, ya que la distribuciín es inmediata (no hay restricciones), aunque el proceso de escalado no es trivial. En definitiva, el concepto de Nepfix como marco computacional se puede considerar satisfactorio: la tecnología es viable y los primeros resultados confirman que las carac-terísticas que se buscaban originalmente se han conseguido. Muchos frentes quedan abiertos para futuras investigaciones. En este documento se proponen algunas aproxi-maciones a la solucion de los problemas identificados como la recuperacion de errores y la division dinamica de una NEP en diferentes subdominios. Por otra parte, otros prob-lemas, lejos del alcance de este proyecto, quedan abiertos a un futuro desarrollo como por ejemplo, la estandarización de la representación de las palabras y optimizaciones en la ejecucion del modelo síncrono. Finalmente, algunos resultados preliminares de este Proyecto de Fin de Grado han sido presentados recientemente en formato de artículo científico en la "International Work-Conference on Artificial Neural Networks (IWANN)-2015" y publicados en "Ad-vances in Computational Intelligence" volumen 9094 de "Lecture Notes in Computer Science" de Springer International Publishing. Lo anterior, es una confirmation de que este trabajo mas que un Proyecto de Fin de Grado, es solo el inicio de un trabajo que puede tener mayor repercusion en la comunidad científica. Abstract Network of Evolutionary Processors -NEP is a computational model inspired by the evolution of cell populations, which might model some properties of evolving cell communities at the syntactical level. NEP defines theoretical computing devices able to solve NP complete problems in an efficient manner. In this model, cells are represented by words which encode their DNA sequences. Informally, at any moment of time, the evolutionary system is described by a collection of words, where each word represents one cell. Cells belong to species and their community evolves according to mutations and division which are defined by operations on words. Only those cells are accepted as surviving (correct) ones which are represented by a word in a given set of words, called the genotype space of the species. This feature is analogous with the natural process of evolution. Formally, NEP is based on an architecture for parallel and distributed processing, in other words, a network of language processors. Since the date when NEP was pro¬posed, several extensions and variants have appeared engendering a new set of models named Networks of Bio-inspired Processors (NBP). During this time, several works have proved the computational power of NBP. Specifically, their efficiency, universality, and computational completeness have been thoroughly investigated. Therefore, we can say that the NEP model has reached its maturity. The main motivation for this End of Grade project (EOG project in short) is to propose a practical approximation that allows to close the gap between theoretical NEP model and a practical implementation in high performing computational platforms in order to solve some of high the high complexity problems society requires today. Up until now tools developed to simulate NEPs, while correct and successful, are usu¬ally tightly coupled to the execution environment, using specific software frameworks (Hadoop) or direct hardware usage (GPUs). Within this context the main purpose of this work is the development of Nepfix, a generic and extensible tool that aims to execute algorithms based on NEP model and compatible variants in a local way, similar to a traditional application or in a distributed cloud environment. Nepfix as an application was developed during a 7 month cycle and is undergoing its second iteration once the prototype period was abandoned. Nepfix is designed as a modular self-contained application written in Java 8, that is, no additional external dependencies are required and it does not rely on an specific execution environment, any JVM is a valid container. Nepfix is made of two components or modules. The first module corresponds to the NEP execution and therefore simulation. During the development the current state of the theoretical model was used as a reference including most common filters and processors. Additionally extensibility is provided by the use of Python as a scripting language to run custom logic. Along with the simulation a definition language for NEP has been defined based on JSON as well as a mechanisms to represent words and their possible manipulations. NEP simulator is isolated from distribution and as mentioned before different applications that include it as a dependency are possible, the distribution of NEPs is an example of this. The second module corresponds to executing Nepfix in the cloud. The development carried a heavy R&D process since this front was not explored by other research groups until now. It's important to point out that the development of this module is not focused on results at this point in time, instead we focus on feasibility and discovery of this new perspective to execute natural computing systems and NEPs specifically. The main properties of cloud applications is that they are managed by the platform and are encapsulated in a container. For Nepfix a Spring application becomes the container and the HTTP or AMQP protocols are used for communication with the rest of the instances. Different execution perspectives were studied, namely asynchronous and synchronous models were developed for solving different kind of problems using NEPs. Different limitations and restrictions manifest in both models and are explored in detail in the respective chapters. In conclusion we can consider that Nepfix as a computational framework is suc-cessful: Cloud technology is ready for the challenge and the first results reassure that the properties Nepfix project pursued were met. Many investigation branches are left open for future investigations. In this EOG implementation guidelines are proposed for some of them like error recovery or dynamic NEP splitting. On the other hand other interesting problems that were not in the scope of this project were identified during development like word representation standardization or NEP model optimizations. As a confirmation that the results of this work can be useful to the scientific com-munity a preliminary version of this project was published in The International Work- Conference on Artificial Neural Networks (IWANN) in May 2015. Development has not stopped since that point and while Nepfix in it's current state can not be consid¬ered a final product the most relevant ideas, possible problems and solutions that were produced during the seven months development cycle are worthy to be gathered and presented giving a meaning to this EOG work.
Resumo:
LLas nuevas tecnologías orientadas a la nube, el internet de las cosas o las tendencias "as a service" se basan en el almacenamiento y procesamiento de datos en servidores remotos. Para garantizar la seguridad en la comunicación de dichos datos al servidor remoto, y en el manejo de los mismos en dicho servidor, se hace uso de diferentes esquemas criptográficos. Tradicionalmente, dichos sistemas criptográficos se centran en encriptar los datos mientras no sea necesario procesarlos (es decir, durante la comunicación y almacenamiento de los mismos). Sin embargo, una vez es necesario procesar dichos datos encriptados (en el servidor remoto), es necesario desencriptarlos, momento en el cual un intruso en dicho servidor podría a acceder a datos sensibles de usuarios del mismo. Es más, este enfoque tradicional necesita que el servidor sea capaz de desencriptar dichos datos, teniendo que confiar en la integridad de dicho servidor de no comprometer los datos. Como posible solución a estos problemas, surgen los esquemas de encriptación homomórficos completos. Un esquema homomórfico completo no requiere desencriptar los datos para operar con ellos, sino que es capaz de realizar las operaciones sobre los datos encriptados, manteniendo un homomorfismo entre el mensaje cifrado y el mensaje plano. De esta manera, cualquier intruso en el sistema no podría robar más que textos cifrados, siendo imposible un robo de los datos sensibles sin un robo de las claves de cifrado. Sin embargo, los esquemas de encriptación homomórfica son, actualmente, drás-ticamente lentos comparados con otros esquemas de encriptación clásicos. Una op¬eración en el anillo del texto plano puede conllevar numerosas operaciones en el anillo del texto encriptado. Por esta razón, están surgiendo distintos planteamientos sobre como acelerar estos esquemas para un uso práctico. Una de las propuestas para acelerar los esquemas homomórficos consiste en el uso de High-Performance Computing (HPC) usando FPGAs (Field Programmable Gate Arrays). Una FPGA es un dispositivo semiconductor que contiene bloques de lógica cuya interconexión y funcionalidad puede ser reprogramada. Al compilar para FPGAs, se genera un circuito hardware específico para el algorithmo proporcionado, en lugar de hacer uso de instrucciones en una máquina universal, lo que supone una gran ventaja con respecto a CPUs. Las FPGAs tienen, por tanto, claras difrencias con respecto a CPUs: -Arquitectura en pipeline: permite la obtención de outputs sucesivos en tiempo constante -Posibilidad de tener multiples pipes para computación concurrente/paralela. Así, en este proyecto: -Se realizan diferentes implementaciones de esquemas homomórficos en sistemas basados en FPGAs. -Se analizan y estudian las ventajas y desventajas de los esquemas criptográficos en sistemas basados en FPGAs, comparando con proyectos relacionados. -Se comparan las implementaciones con trabajos relacionados New cloud-based technologies, the internet of things or "as a service" trends are based in data storage and processing in a remote server. In order to guarantee a secure communication and handling of data, cryptographic schemes are used. Tradi¬tionally, these cryptographic schemes focus on guaranteeing the security of data while storing and transferring it, not while operating with it. Therefore, once the server has to operate with that encrypted data, it first decrypts it, exposing unencrypted data to intruders in the server. Moreover, the whole traditional scheme is based on the assumption the server is reliable, giving it enough credentials to decipher data to process it. As a possible solution for this issues, fully homomorphic encryption(FHE) schemes is introduced. A fully homomorphic scheme does not require data decryption to operate, but rather operates over the cyphertext ring, keeping an homomorphism between the cyphertext ring and the plaintext ring. As a result, an outsider could only obtain encrypted data, making it impossible to retrieve the actual sensitive data without its associated cypher keys. However, using homomorphic encryption(HE) schemes impacts performance dras-tically, slowing it down. One operation in the plaintext space can lead to several operations in the cyphertext space. Because of this, different approaches address the problem of speeding up these schemes in order to become practical. One of these approaches consists in the use of High-Performance Computing (HPC) using FPGAs (Field Programmable Gate Array). An FPGA is an integrated circuit designed to be configured by a customer or a designer after manufacturing - hence "field-programmable". Compiling into FPGA means generating a circuit (hardware) specific for that algorithm, instead of having an universal machine and generating a set of machine instructions. FPGAs have, thus, clear differences compared to CPUs: - Pipeline architecture, which allows obtaining successive outputs in constant time. -Possibility of having multiple pipes for concurrent/parallel computation. Thereby, In this project: -We present different implementations of FHE schemes in FPGA-based systems. -We analyse and study advantages and drawbacks of the implemented FHE schemes, compared to related work.
Resumo:
El proyecto aquí desarrollado es una aplicación Android para smartphone. Consiste en una plataforma para aprender inglés clasificada en varios niveles de aprendizaje que ofrece al usuario gramática y vocabulario clasificado en lecciones concretas; una vez aprendidas se pueden poner en práctica realizando ejercicios específicos. La aplicación está escrita en lenguaje Java. Para el almacenamiento de los datos se ha utilizado MySQL y su obtención fue posible gracias al diseño de una API utilizando Google App Engine. El objetivo era crear una aplicación que descargase los datos de una API por medio de peticiones. De esta forma se lograron dos propósitos: el primero es que la aplicación pueda usarse de manera offline una vez que ya tiene los datos en el dispositivo. El segundo es conseguir que la aplicación no tenga en su código los datos de la gramática ya que, al pedirlos a un servicio externo, adquiere total independencia. ABSTRACT The project developed is an Android application for smartphones. It is a platform to learn English covering different levels. It offers the user grammar and vocabulary contents in every lesson. In addition, once the lesson is finished it can be put into practice by performing specific exercises. The application is written in Java. For data storing, MySQL was used. As for data obtaining an API using Google App Engine was created. The aim was to create an application that could download data via an API using requests. Thus, two goals were achieved: first, the application can be used offline once you have the data on the device. Second, the application does not have in its code any grammar data: by ordering them to an external service the application becomes independent.
Resumo:
La tendencia actual es integrar los dispositivos en una plataforma con un entorno amigable, utilizando para ello servicios web, entendiendo servicio web como un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Permiten la interoperabilidad entre plataformas de distintos fabricantes y pueden interconectar servicios y software de diferentes compañías ubicadas en lugares geográficos dispersos. DPWS (Devices Profile for Web Services) es un conjunto de directrices diseñadas para permitir a los dispositivos 'descubrirse' entre ellos dentro de la red y poder invocar sus servicios. En un futuro la web además de conectar a millones de personas, también conectará a millones de dispositivos. El presente proyecto se centra en mejorar el sistema de seguridad para un dispositivo que implementa el estándar DPWS; cifrado de la información y un código hash, siendo éste último un breve resumen de toda la información que representa de forma unívoca al documento. ABSTRACT. The current trend is to integrate the devices into a platform with a friendly environment, using web services, understanding web service as a set of protocols and standards used for exchanging data between applications. They allow interoperability between different vendor’s platforms and can interconnect software and services from different companies located in geographically dispersed locations. DPWS (Devices Profile for Web Services) is a set of guidelines designed to allow devices to 'discover' each other within the network and to invoke their services. In the future the web as well as connecting millions of people, also will connect millions of devices. This project focuses on improving the security system for a device that implements the standard DPWS; information encryption and a hash code, being a brief summary of all information that represents the document uniquely.