Planificación de tareas de un robot guía e integración de un ayudante virtual

Bustillo Morán, Carolina Marta (2018). Planificación de tareas de un robot guía e integración de un ayudante virtual. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. Industriales (UPM), Madrid.

Descripción

Título: Planificación de tareas de un robot guía e integración de un ayudante virtual
Autor/es:
  • Bustillo Morán, Carolina Marta
Director/es:
  • Matía Espada, Fernando
  • Alvarado Vásquez, Biel Piero Eloy
Tipo de Documento: Proyecto Fin de Carrera/Grado
Grado: Grado en Ingeniería en Tecnologías Industriales
Fecha: Febrero 2018
Materias:
Palabras Clave Informales: Aplicación software, Doris, Robot móvil, Robot social, Interfaz gráfica, Navegación, Algoritmo, Qt
Escuela: E.T.S.I. Industriales (UPM)
Departamento: Automática, Ingeniería Eléctrica y Electrónica e Informática Industrial
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (9MB) | Vista Previa

Resumen

El presente proyecto de fin de grado tiene como objetivo la creación y desarrollo de una aplicación software para dispositivos móviles o tabletas que tengan Android como sistema operativo. Sim embargo, debido a la versatilidad de la herramienta utilizada para el desarrollo de la misma, ésta se podrá utilizar en otros sistemas operativos. Esta aplicación, además, servirá para la unión tanto de la navegación de un robot móvil, como de la cara y la expresión de las emociones de dicho robot. El robot para el cual está diseñada la aplicación se llama Doris. Doris es un robot móvil desarrollado por el Centro de Automática y Robótica de la Universidad Politécnica de Madrid, dentro de los trabajos realizados por el Grupo de Control Inteligente, cuyo propósito principal es trabajar en un futuro como guía de museos y exposiciones, entrando de los trabajos realizados por el Grupo de Control Inteligente. Doris es un robot social y, como tal, debe ser capaz de interactuar y comunicarse con las personas, siguiendo comportamientos, patrones y normas sociales. Por ello, es importante que además de tener aspecto humanoide, disponga de habilidad, ambas características ubicadas dentro de la llamada Inteligencia social. Sin embargo, actualmente Doris cuenta con una cara física y, como todo sistema que depende de actuadores físicos, tiene diversos problemas, tales como la rotura de los elementos físicos y fallo en su control, así como el tiempo de respuesta de la cara. Todo esto hace que sea necesario la creación de una cara virtual que se pueda representar en una tableta, la cual, a su vez, en un futuro podría sustituir a la cara física o dar apoyo como ayudante virtual. Se denomina ayudante virtual porque una de sus funciones podría ser la de apoyo al programador que esté controlando a Doris. De esta forma, el robot físico estaría en un lugar alejado del programador, mostrando una serie de emociones e interaccionando con el entorno, y el programador podría verlo reflejado en la interfaz gráfica. Por otra parte, al ser un robot móvil, debe poseer la suficiente inteligencia y autonomía para moverse a través de distintos mapas, reaccionando a los posibles obstáculos y orientándose gracias a la interacción con el entorno. Todo ello es posible gracias a las ruedas que tiene en la plataforma inferior (controladas por motores) y a diversos sensores infrarrojos que permiten detectar la presencia de obstáculos. La aplicación desarrollada (Fig. I) tiene como objetivos principales: - Obtención de una interfaz sencilla y fácil de utilizar por el usuario. - La representación en 3D de la cara de Doris y la expresión de sus emociones. - La navegación a través de un sector, recorriendo una serie de puntos definidos. - La navegación entre distintos sectores, recorriendo el camino necesario para ello. Las herramientas de programación utilizadas para el desarrollo de la aplicación son el lenguaje de programación en C++, utilizando el software Qt creator que permite el uso de OpenGL para la representación de la cara en 3D y la integración de la parte de navegación, la cual parte de una aplicación ya desarrollada en un proyecto anterior. Esta aplicación creada anteriormente ha sido desarrollada y modificada para que se adapte y contenga también la interfaz gráfica de la cara en 3D de Doris. apoya en una base de datos en formato XML que contiene las características de un mapa. Por tanto, no se va a trabajar con SLAM en este proyecto debido a que se cuenta con la descripción detallada de los mapas por donde Doris se va a mover. Los mapas se dividen en sectores y, para la planificación del movimiento entre distintos sectores, se ha implementado el algoritmo B&B (Branch and Bound), creando para ello un árbol en el que se aprecia la distinta conectividad que tienen entre sí los sectores. Dependiendo del sector de origen y el sector de destino, el algoritmo dará una ruta de los distintos sectores por los que hay que pasar basándose en una estrategia de corta y poda. Por otra parte, se ha mejorado la navegación dentro de un mismo sector, sustituyendo el algoritmo de Dijkstra por el algoritmo A*. La correcta planificación de la navegación de un robot móvil es esencial, por lo que era imprescindible seleccionar la planificación más adecuada y si era posible mejorar la existente. Debido a ello, se decidió usar el algoritmo A*, ya que, en principio, al basarse en la utilización de una función heurística para la planificación, debía dar una ruta más óptima que el algoritmo de Dijskstra. Además, dado que Dijkstra se puede considerar una versión más sencilla del algoritmo de A* con la función heurística nula, el algoritmo desarrollado en este proyecto nunca dará resultados inferiores al Dijkstra. En el peor de los casos, dará la misma ruta y, en el resto, originará una ruta mejorada. Además, se ha intentado que los algoritmos desarrollados en este trabajo estén lo más desacoplados de Qt posible, a pesar de que la aplicación se desarrolla en esta herramienta. Aunque Qt posee muchas ventajas a la hora de desarrollar aplicaciones, debido a sus clases predefinidas, tiene el inconveniente de que fuera del mismo esas clases no se pueden usar. Como la navegación del robot Doris es objeto de numerosos estudios dentro del DISAM (División de Ingeniería de Sistemas y Automática), y para ahorrar tiempo en futuros proyectos en los que se quieran usar estos algoritmos fuera de Qt, se han intentado desarrollar en C++ puro. Sin embargo, el resto de la interfaz, para mayor comodidad, se ha apoyado en las distintas clases predefinidas de Qt. Desde el punto de vista de la conexión entre Doris y la interfaz gráfica, la aplicación se basa en una conexión cliente-servidor, como todos los proyectos anteriormente desarrollados con Doris. Para que la aplicación funcione, debe pedir el control de Doris al servidor y que éste se lo ceda. Esto es debido a que Doris puede tener hasta diez clientes conectados a la vez y, al ser una aplicación que tiene navegación, podría dar una orden de movimiento contradictoria a otra de otro cliente y provocar que se choque con un obstáculo. La comunicación propiamente dicha, tanto de la parte de renderización como de la de navegación, será mediante peticiones de la aplicación al robot y el envío de mensajes por parte de él. Por último, comentar que se ha decidido unir, en la misma aplicación, la navegación y la renderización de la cara, ya que, aunque a primera vista son temas muy diferentes entre sí, no guardando relación aparentemente, sí lo están claramente. Así, cuando la aplicación esté en una tableta o móvil y se le mande a Doris una dirección a la que ir, Doris, una vez comprobada visualmente que la ruta es la correcta, expresará emociones relacionadas con la situación. Por ejemplo, cuando se le mande a Doris desplazarse a un punto concreto, que sonría, empezando a continuación la planificación y navegación.

Más información

ID de Registro: 50346
Identificador DC: http://oa.upm.es/50346/
Identificador OAI: oai:oa.upm.es:50346
Depositado por: Biblioteca ETSI Industriales
Depositado el: 20 Abr 2018 16:49
Ultima Modificación: 20 Abr 2018 16:49
  • GEO_UP4
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • InvestigaM
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM