Control architecture of a social robot for the navigation and interaction with the environment

  1. Alvarado Vásquez, Biel Piero Eloy
Supervised by:
  1. Fernando Matía Espada Director

Defence university: Universidad Politécnica de Madrid

Fecha de defensa: 21 June 2019

Committee:
  1. Agustín Jiménez Avelló Chair
  2. Paloma de la Puente Secretary
  3. Matilde Santos Peñas Committee member
  4. Juan María Pérez Oria Committee member
  5. Ramón I. Barber Castaño Committee member

Type: Thesis

Abstract

Muchas propuestas han surgido con respecto a la creación de robots que puedan interactuar con personas. Además, se ha hecho mucho énfasis en el aspecto físico del robot para que sea bien recibido por las personas que lo rodean. Por eso, muchos robots se han diseñado para que trabajen como camareros, ayudantes domésticos, asistentes personales y hasta guías en museos, los cuales explican los retratos y esculturas. Doris, que entra en esta categoría, es un robot de interiores diseñado para trabajar en entornos complejos y para interactuar con personas. Doris es la versión moderna de otros robots, Blacky y Urbano, diseñados en el Centro de Automática y Robótica de la Universidad Politécnica de Madrid. Para crear un robot se requieren conocimientos de mecánica, control, electrónica y programación, y programar un robot para que sea un guía turístico, no es una tarea fácil debido a que hay muchos aspectos que resolver como sus movimientos, su localización, la información que percibe del entorno, el procesamiento de ciertas condiciones que pueden cambiar en el tiempo, preguntas que pueden provenir de diferentes personas, etc. Aunque estas tareas se puedan resolver individualmente, trabajarlas en paralelo complica aún mas las cosas. Esta tesis presenta una propuesta de arquitectura de control que cubre tanto desarrollo hardware y software para lograr que Doris trabaje de manera eficiente en un museo como guía turístico. Por lo tanto, para esta arquitectura se han desarrollado cinco capas las cuales son: hardware, lógica, enlace, planificación y usuario. La capa de hardware se comunica con la capa lógica a través de USB, RS232 o Ethernet. Las demás capas se comunican a través de otros métodos propios de los sistemas operativos como lo son pipes (tuberías), memoria compartida o sockets. Se parte de una estructura hardware ya disen ̃ada previamente en otro trabajo como lo es el torso de Doris, ya instalado sobre la plataforma. Sobre este torso se ha instalado una cabeza, una cámara omnidireccional, antenas RFID, altavoces y demás accesorios para conseguir tanto interacción como localización, navegación y planificación. También como propuesta software se plantea un modelo cliente-servidor, en el cual se generan muchos hilos para poder trabajar los diferentes módulos paralelamente de forma síncrona y asíncrona. Otra de las propuestas de esta tesis es un planificador de tareas, el cual permite el desarrollo de una serie de acciones dentro del museo. Estas acciones se definen como un conjunto de operaciones, tales como el movimiento del robot, su localización, la planificación de rutas, las caras que debe poner y los eventos de los que Doris debe estar pendiente, así como personas que detecta, cuando pasa por una puerta o va a entrar en un pasillo o cuando alguien le hace una pregunta. Como la localización representa uno de los inconvenientes de un robot móvil, esta se resuelve mediante fusión sensorial implementada a través de un filtro extendido de Kalman. La fusión sensorial se hace usando un laser LMS-200 para detectar balizas reflectivas, una cámara omnidireccional para detectar marcas visuales y un mapa semántico. Con esta fusión sensorial se consigue una buena localización, con pocos milímetros de error. De la localización depende el control reactivo del robot. Para este control reactivo se han desarrollado dos importantes controladores usando lógica difusa. Uno de ellos es un control de velocidad para que el robot vaya de manera suave a los puntos de interés del museo y el segundo controlador es para pasillos, el cual mantiene al robot en el centro de este. Esta es una conducta propia del ser humano, que camina por el centro de un pasillo y esquiva objetos o personas cuando se interponen en su camino. La localización depende de un mapa semántico, siendo esta otra propuesta de esta tesis. El mapa semántico es construido por sectores que a su vez se subdividen en puntos de interés por los cuales se hará la navegación del robot. Esta navegación está basada en la búsqueda del mejor camino en un grafo, y para ello, los algoritmos más usados son el algoritmo de Dijsktra o el A*. La interacción de Doris con el entorno está basada en muchos subsistemas como la cara, el brazo, el habla, la sincronización labial y el sistema de emociones. En esta tesis se propuso el diseño de una cara de apariencia humana, hecha de metacrilato con 20 grados de libertad, los cuales están distribuidos a lo largo de ojos, cejas, párpados, mofletes, y boca. Esta cara ha sido cuidadosamente estudiada para evitar rechazos por parte de los visitantes del museo. El habla, el cual es otra propuesta de esta tesis, es la que permite explicar los objetos, retratos y esculturas a las personas que están de visita. Todo esto trabajado en sinergia con la sincronización del los labios para darle una apariencia más humana al robot, pero sin llegar al rechazo. También se han diseñado dos aplicaciones para el control remoto y local de Doris. Para el control remoto se usa una página web y para el control local, se usa una aplicación desarrollada en android. La idea es que con estas aplicaciones se pueda monitorizar al robot bien sea desde el mismo museo o desde otra parte del mundo. Este punto fue muy importante a la hora de establecer la arquitectura cliente-servidor. El planificador de tareas mencionado anteriormente, es planteado en esta tesis a través de un nuevo lenguaje de programación dedicado netamente a Doris. Para esto se tuvo que proveer al lenguaje de ciertas características desde las básicas de todos los lenguajes de programación como sentencias if, while, for, declaración de variables, arrays etc, a otras más dedicadas al movimiento y las expresiones como say, move, goto, etc. y otras un poco mas avanzadas como el escuchar eventos. La versatilidad de este lenguaje de programación es la posesión de una estructura gramatical sencilla que permite crear un programa modular para cada tipo de visita turística distinta. Ya para finalizar, se desarrollan pruebas para unir todas estas características en una misma ejecución, en el Centro de Automática y Robótica de la Universidad Politécnica de Madrid, mostrando resultados en los que cada componente puede trabajar en conjunto con todos los demás, también se puede cambiar de programa de ejecución sin necesidad de cambiar nada de la arquitectura propuesta.