[en] ABSTRACT: In the last decades we have seen a huge development in the world of technology and computer science. One field that has experienced this development and it has been especially remarkable is the field related to computation and mobile devices where the Android operating system has a leading role. The great popularity of this operating system and its implementation in many mobile devices has motivated its use in environments for which it was not intended. Among these we must mention some environments such as medical, industrial or automotive environments where there are real time requirements. This project looks forward to evaluating the viability of the execution of applications with real-time requirements running in a Raspberry Pi 3 b using the Android operating system. To do so, we have work base on a previous project made by the Software Engineering and Real Time group of the University of Cantabria (ISTR) where there've been made different mechanisms available for Android/Linux, so we can isolate a core of the CPU. This isolated core can execute real-time applications reducing interferences and achieving times of response more accurate. The environment developed in this project is designed to facilitate the implementation of robotics in real-time applications. This type of applications requires the use of sensors and actuators with which to interact with the physical environment. The sensors and actuators chosen are those provided by the Lego Mindstorms kit, which can be use with the Raspberry Pi 3 thanks to the PiStorms adapter. To be able to use de PiStorms adapter we have had to adapt the Android operating system with an existing library based on the I2C communication protocol. The three main pillars the project is based on are the following, adapting a custom Android operating system for the Raspberry, adapting a library which uses I2C communication protocol, so we can communicate with the Lego Mindstorms kit and a simple demo of a real-time application using the isolation technic for process with Android developed by ISTR. In this way we give future students an environment for development of lax real-time applications in Android on which to develop new robotic projects.

[es] RESUMEN: En las últimas décadas hemos visto un avance enorme en lo referente al mundo de la tecnología y la informática. Un campo en el que este avance ha resultado especialmente destacable es el relativo a la computación y los dispositivos móviles donde el sistema operativo Android tiene un papel protagonista. La gran popularidad de este sistema operativo y su implantación en gran número de dispositivos móviles ha motivado su utilización en entornos para los que, a priori, no estaba destinado. Entre ellos cabe destacar por la relevancia para este proyecto los entornos industriales, médicos o de automoción donde existen requisitos de tiempo real. Este proyecto busca desarrollar un entorno que permita la prueba y evaluación de aplicaciones con requisitos de tiempo real en el sistema operativo Android ejecutado sobre un computador Raspberry Pi 3. Para ello nos hemos basado en un trabajo previo que se ha realizado en el grupo de Ingeniería Software y Tiempo Real de la Universidad de Cantabria (ISTR) donde se ha propuesto utilizar mecanismos que están disponibles en Android/Linux para poder aislar un núcleo del procesador. De tal modo que en dicho núcleo aislado se puedan ejecutar aplicaciones de tiempo real reduciendo las interferencias y consiguiendo tiempos de respuesta más acotados. El entorno desarrollado en este proyecto está pensado para facilitar la implementación de aplicaciones robóticas de tiempo real. Este tipo de aplicaciones requieren utilizar sensores y actuadores con los que interactuar con el entorno físico. Los sensores y actuadores elegidos son los proporcionados por el kit de Lego Mindstorms, los cuales son accesibles desde la Raspberry Pi 3 utilizando el adaptador PiStorms. Para el uso del PiStorms ha sido necesario adaptar al sistema operativo Android una librería existente basada en el protocolo de comunicaciones I2C. Los tres pilares base sobre los que desarrollamos el proyecto son los siguientes, realización del sistema operativo para la Raspberry, una librería que utiliza el protocolo I2C para establecer la comunicación con el kit de Lego Mindstorms y la demostración de las aplicaciones de tiempo real con el mecanismo de aislamiento de procesos para Android desarrollado en el grupo ISTR. De esta forma dejamos a futuros alumnos un entorno para desarrollo de aplicaciones de tiempo real laxo en Android sobre el que desarrollar nuevos proyectos robóticos.