ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN PROYECTO FIN DE GRADO TÍTULO: DESARROLLO DE UN ENTORNO INTELIGENTE EN EL CONTEXTO DEL HOGAR DIGITAL AUTOR: Jorge Gironda Domínguez TITULACIÓN: Grado en Ingeniería Telemática TUTOR (o Director en su caso): Rubén de Diego Martínez DEPARTAMENTO: Departamento de Ingeniería y Arquitecturas Telemáticas VºBº Miembros del Tribunal Calificador: PRESIDENTE: Eduardo Barrera López de Turiso VOCAL: Rubén de Diego Martínez SECRETARIO: Gregorio Rubio Cifuentes Fecha de lectura: Calificación: El Secretario, AGRADECIMIENTOS Me gustaría mostrar mis agradecimientos a un conjunto de personas que han sido esenciales en la consecución de mis estudios, tanto por su apoyo moral como por el esfuerzo realizado para que pudiese estudiar esta titulación. En primer lugar, por supuesto, agradecer a mis padres su gran esfuerzo, sin el cual me hubiese sido imposible cursar estos estudios. A mi madre, por ser mi principal valedora y un soporte irremplazable. A mi padre, por su punto de vista pragmático, una gran referencia a la hora de afrontar nuevos retos. Su confianza durante los buenos, pero sobre todo durante los malos momentos ha sido un respaldo inestimable, un gesto que nunca olvidaré. A mi hermano, cuyos ánimos en los peores momentos me dieron fuerzas para levantarme y continuar; sin duda una de las personas que más han confiado en mis capacidades. A Ana, mi pareja, amiga y principal apoyo durante todos los años dedicados a esta carrera. Por animarme y motivarme, por confiar incondicionalmente en mí, por compartir mis éxitos y mis fracasos y por hacer que todos estos años de duro trabajo hayan sido, a su vez, mis mejores años. A mis compañeros y amigos de la universidad, que no solo han proporcionado una ayuda académica esencial en determinados momentos, sino que además han convertido muchos de esos largos días de laboratorios y biblioteca en momentos inolvidables que atesorar. Especial mención para mi grupo más cercano, con los que he afrontado mano a mano cada nuevo reto: Jorge (Busi), Iván, Patrycja y Dani. Por último, agradecer a Rubén de Diego, mi tutor, sus ideas y recomendaciones para que este Proyecto Fin de Grado se haya convertido en una digna representación del conjunto de mis estudios. i RESUMEN A lo largo de las últimas décadas el desarrollo de la tecnología en muy distintas áreas ha sido vertiginoso. Su propagación a todos los aspectos de nuestro día a día parece casi inevitable y la electrónica de consumo ha invadido nuestros hogares. No obstante, parece que la domótica no ha alcanzado el grado de integración que cabía esperar hace apenas una década. Es cierto que los dispositivos autónomos y con un cierto grado de inteligencia están abriéndose paso de manera independiente, pero el hogar digital, como sistema capaz de abarcar y automatizar grandes conjuntos de elementos de una vivienda (gestión energética, seguridad, bienestar, etc.) no ha conseguido extenderse al hogar medio. Esta falta de integración no se debe a la ausencia de tecnología, ni mucho menos, y numerosos son los estudios y proyectos surgidos en esta dirección. Sin embargo, no ha sido hasta hace unos pocos años que las instituciones y grandes compañías han comenzado a prestar verdadero interés en este campo. Parece que estamos a punto de experimentar un nuevo cambio en nuestra forma de vida, concretamente en la manera en la que interactuamos con nuestro hogar y las comodidades e información que este nos puede proporcionar. En esa corriente se desarrolla este Proyecto Fin de Grado, con el objetivo de aportar un nuevo enfoque a la manera de integrar los diferentes dispositivos del hogar digital con la inteligencia artificial y, lo que es más importante, al modo en el que el usuario interactúa con su vivienda. Más concretamente, se pretende desarrollar un sistema capaz de tomar decisiones acordes al contexto y a las preferencias del usuario. A través de la utilización de diferentes tecnologías se dotará al hogar digital de cierta autonomía a la hora de decidir qué acciones debe llevar a cabo sobre los dispositivos que contiene, todo ello mediante la interpretación de órdenes procedentes del usuario (expresadas de manera coloquial) y el estudio del contexto que envuelve al instante de ejecución. Para la interacción entre el usuario y el hogar digital se desarrollará una aplicación móvil mediante la cual podrá expresar (de manera conversacional) las órdenes que quiera dar al sistema, el cual intervendrá en la conversación y llevará a cabo las acciones oportunas. Para todo ello, el sistema hará principalmente uso de ontologías, análisis semántico, redes bayesianas, UPnP y Android. Se combinará información procedente del usuario, de los sensores y de fuentes externas para determinar, a través de las citadas tecnologías, cuál es la operación que debe realizarse para satisfacer las necesidades del usuario. En definitiva, el objetivo final de este proyecto es diseñar e implementar un sistema innovador que se salga de la corriente actual de interacción mediante botones, menús y formularios a los que estamos tan acostumbrados, y que permita al usuario, en cierto modo, hablar con su vivienda y expresarle sus necesidades, haciendo a la tecnología un poco más transparente y cercana y aproximándonos un poco más a ese concepto de hogar inteligente que imaginábamos a finales del siglo XX. iii ABSTRACT Over the last decades the development of technology in very different areas has happened incredibly fast. Its propagation to all aspects of our daily activities seems to be inevitable and the electronic devices have invaded our homes. Nevertheless, home automation has not reached the integration point that it was supposed to just a few decades ago. It is true that some autonomic and relatively intelligent devices are emerging, but the digital home as a system able to control a large set of elements from a house (energy management, security, welfare, etc.) is not present yet in the average home. That lack of integration is not due to the absence of technology and, in fact, there are a lot of investigations and projects focused on this field. However, the institutions and big companies have not shown enough interest in home automation until just a few years ago. It seems that, finally, we are about to experiment another change in our lifestyle and how we interact with our home and the information and facilities it can provide. This Final Degree Project is developed as part of this trend, with the goal of providing a new approach to the way the system could integrate the home devices with the artificial intelligence and, mainly, to the way the user interacts with his house. More specifically, this project aims to develop a system able to make decisions, taking into account the context and the user preferences. Through the use of several technologies and approaches, the system will be able to decide which actions it should perform based on the order interpretation (expressed colloquially) and the context analysis. A mobile application will be developed to enable the user-home interaction. The user will be able to express his orders colloquially though out a conversational mode, and the system will also participate in the conversation, performing the required actions. For providing all this features, the system will mainly use ontologies, semantic analysis, Bayesian networks, UPnP and Android. Information from the user, the sensors and external sources will be combined to determine, through the use of these technologies, which is the operation that the system should perform to meet the needs of the user. In short, the final goal of this project is to design and implement an innovative system, away from the current trend of buttons, menus and forms. In a way, the user will be able to talk to his home and express his needs, experiencing a technology closer to the people and getting a little closer to that concept of digital home that we imagined in the late twentieth century. v ÍNDICE DE CONTENIDOS AGRADECIMIENTOS ..................................................................................................... i RESUMEN ..................................................................................................................... iii ABSTRACT .................................................................................................................... v ÍNDICE DE CONTENIDOS ........................................................................................... vii ÍNDICE DE FIGURAS ................................................................................................... xi ÍNDICE DE TABLAS ................................................................................................... xiii ACRÓNIMOS ............................................................................................................... xv Capítulo 1 Contextualización y descripción de la memoria ................................. 1 1.1 Objetivos del Proyecto Fin de Grado ................................................................ 3 1.1.1 Objetivos concretos ..................................................................................... 3 1.1.2 Objetivos principales ................................................................................... 4 1.2 Estructuración de contenidos. .......................................................................... 5 Capítulo 2 Estado del arte ....................................................................................... 7 2.1 Domótica .......................................................................................................... 9 2.1.1 Redes de dispositivos ............................................................................... 11 2.1.1.1 LonWorks ........................................................................................... 12 2.2 Inteligencia artificial ........................................................................................ 14 2.2.1 Inteligencia artificial en la domótica ........................................................... 16 2.3 Ontologías ...................................................................................................... 16 2.3.1 OWL .......................................................................................................... 17 2.3.2 Ontologías basadas en Marcos (Frame-based ontologies) ....................... 18 2.3.2.1 Protégé-Frames .................................................................................. 19 2.4 UPnP .............................................................................................................. 21 2.4.1 Componentes de una red UPnP ............................................................... 23 2.4.2 Cling .......................................................................................................... 25 2.5 Motores de búsqueda ..................................................................................... 26 2.5.1 Filtros de búsqueda ................................................................................... 27 2.6 Redes Bayesianas.......................................................................................... 27 2.6.1 Fundamento matemático .......................................................................... 29 2.6.2 UnBBayes ................................................................................................. 31 2.6.2.1 Tipos de Nodos .................................................................................. 32 2.6.2.2 Algoritmo Junction Tree ...................................................................... 33 2.7 Android ........................................................................................................... 34 2.7.1 Elementos principales de las aplicaciones Android ................................... 36 vii 2.8 Bases de datos ............................................................................................... 38 2.8.1 SQLite ....................................................................................................... 38 Capítulo 3 Especificaciones y análisis del sistema ............................................ 41 3.1 Especificaciones del sistema. ......................................................................... 42 3.1.1 Requisitos del sistema. ............................................................................. 42 3.1.1.1 Requisitos funcionales. ....................................................................... 43 3.1.1.2 Requisitos no funcionales. .................................................................. 46 3.1.2 Limitaciones propias del proyecto. ............................................................ 50 3.1.2.1 Especificaciones complementarias deseables. .................................. 52 3.2 Análisis de conjunto. ....................................................................................... 53 3.2.1 Comunicación entre componentes ............................................................ 53 3.2.2 Simulación de dispositivos ........................................................................ 58 3.2.3 Integración de ontologías y contexto en el sistema .................................. 60 Capítulo 4 Diseño e implementación .................................................................... 65 4.1 Modelo de desarrollo ...................................................................................... 67 4.2 Inteligencia en el sistema ............................................................................... 68 4.2.1 Proceso deductivo en el diseño de la IA ................................................... 68 4.2.2 Implementación de la IA ............................................................................ 70 4.3 Estructuración del conocimiento ..................................................................... 75 4.3.1 Ontología de dispositivos .......................................................................... 76 4.3.2 Ontología de órdenes ................................................................................ 80 4.4 Base de datos ................................................................................................ 85 4.5 Procesado del contexto .................................................................................. 90 4.5.1 Nodos implementados en la red bayesiana .............................................. 94 4.5.2 Asignación de valores absolutos en los nodos ......................................... 96 4.5.3 Tipos de redes implementados ................................................................. 99 4.5.4 Utilización de las redes bayesiana en el proceso de decisión ................ 101 4.6 Algoritmo de interpretación ........................................................................... 102 4.6.1 Sintaxis y rellenado de tablas de análisis ................................................ 103 4.6.2 Aplicación del contexto en el proceso de interpretación ......................... 111 4.6.3 Unificación de resultados para la obtención de conclusiones ................. 113 4.6.4 Obtención de conclusiones ..................................................................... 115 4.6.5 Diseño del algoritmo ............................................................................... 118 4.7 Simulador ..................................................................................................... 119 4.7.1 Características del Simulador ................................................................. 120 4.7.2 Control de estado e intercambio de información Simulador-Controlador Principal ............................................................................................................... 121 4.8 Configuración de usuario .............................................................................. 124 viii
Description: