Ayuda
Ir al contenido

Dialnet


Resumen de Human-robot interaction architecture for interactive and lively social robots

Enrique Fernández Rodicio

  • El envejecimiento de la sociedad está experimentando una aceleración en los últimos años, especialmente en los países desarrollados. Por una parte, esto supone un problema para la estructura económica de estos países, ya que una proporción decreciente de trabajadores tiene que cubrir las prestaciones sociales de una población anciana en aumento. Por otra parte, se prevé que este proceso incremente la proporción de la población que sufre problemas de salud relacionados con una edad avanzada o que requieren asistencia continua. Los avances realizados en el campo de la robótica y el abaratamiento del coste que estas tecnologías tienen hacen que el uso de robots se pueda considerar como una solución factible a ambos problemas. Pero para poder integrar robots en posiciones que requieren un contacto con personas, es necesario proporcionarles una serie de habilidades clave. Entre ellas, la que constituye el foco de esta tesis es la capacidad de interactuar de forma natural con una persona. En el contexto de este trabajo, una interacción natural es aquella que sigue las normas y convenciones sociales del entorno en el que se va a integrar el robot, y que es capaz de satisfacer las expectativas que las personas que interactúen con el robot puedan tener. Debido a la complejidad que implica darle a un robot esta habilidad, esta tarea se puede dividir en una serie de problemas que tienen que ser resueltos. Entre ellos, esta tesis se centra en los siguientes: (i) cómo se deben modelar y gestionar las interacciones que ocurran entre el robot y los usuarios; (ii) cómo se debe diseñar la expresividad de un robot social; y (iii) cómo proporcionarle a un robot social una apariencia de vivacidad.

    De entre las tres líneas de trabajo que se tratan en esta tesis, una de las que más atención está atrayendo recientemente es el modelado y gestión de diálogos, ya sea para comunicación verbal como para diálogos multimodales. Esta tesis apuesta por una solución modular donde cualquier interacción entre un humano y un robot se puede modelar como una combinación de elementos básicos indivisibles: Actos Comunicativos (CAs de aquí en adelante, por sus siglas en inglés. Estos elementos se han modelado como estructuras similares a máquinas de estados, y se han desarrollado en Python, usando la librería SMACH. A nivel teórico, los CAs se basan en el concepto de actos de diálogo, propuesto por J. Austin, y han sido diseñados a partir de la combinación de dos de las dimensiones que conforman la comunicación: intención e iniciativa. La iniciativa indica cuál de los participantes en la interacción está controlando el flujo del diálogo. El sistema propuesto en esta tesis se centra en interacciones uno a uno, por lo que solo existen dos posibilidades: que la iniciativa la tenga el robot o el usuario. Por otro lado, la intención indica el objetivo comunicativo que el participante con la iniciativa está intentando alcanzar. A pesar de que es posible identificar un amplio rango de posibles intenciones comunicativas, como se puede observar en el estado del arte, esta tesis considera que todas ellas son casos particulares de dos objetivos generales: dar información u obtener información. Los cuatro CAs básicos surgen de la combinación de ambas dimensiones. Estos CAs pueden ser combinados para crear estructuras complejas reutilizables, que se han llamado Actos Comunicativos Complejos, o CCAs. A su vez, estos CCAs pueden combinarse entre sí o con otros CAs para crear estructuras aún más complejas. Todos los CAs implementados incorporan una serie de mecanismos para hacer frente a situaciones imprevistas que pueden surgir en una interacción. Estas situaciones incluyen fallos en las capacidades de percepción del robot, o actos inesperados del usuario (por ejemplo, no proporcionar una respuesta a una pregunta, o abandonar la interacción de forma unilateral). De esta forma, los desarrolladores se centran en crear el flujo de la interacción entre el humano y el robot, y los CAs se encargan de implementar las funcionalidades que son comunes a todas las interacciones.

    A nivel técnico, el sistema que controla las interacciones creadas como combinaciones de CAs es el HRI Manager. Recibe peticiones provenientes de módulos en la arquitectura del robot para realizar diálogos, carga las plantillas que representan los CAs necesarios, los configura usando información relacionada con la tarea que el robot está llevando a cabo, y controla su ejecución. Esto lleva a dividir la gestión sobre interacciones en dos niveles, donde las aplicaciones del robot crean diálogos como una combinación de CAs usando información que solo estas aplicaciones tienen, mientras que los CAs se encargan de gestionar las interacciones en las que estos diálogos se pueden dividir. El sistema de gestión de diálogos propuesto en esta tesis ha sido evaluado a través de pruebas objetivas que miden su rendimiento (consumo de recursos y tiempo de respuesta) y la efectividad de los mecanismos integrados en los CAs para hacer frente a problemas en la comunicación. Además, el funcionamiento general del sistema se ha presentado a través de un caso de uso.

    El segundo problema que esta tesis busca solucionar es la gestión de la expresividad de un robot social. La solución propuesta modela expresiones multimodales como estructuras similares a máquinas de estados (una solución similar a la que se ha usado para desarrollar los CAs). En estas estructuras, los estados representan las acciones que el robot es capaz de llevar a cabo (por ejemplo, mandar un comando a uno de los motores del robot). Las transiciones entre estados representan la relación que existe entre estas acciones (por ejemplo, levantar el brazo una vez el robot haya terminado de decir una frase). Otros estados permiten controlar el flujo de la ejecución de las expresiones, integrando estructuras de control como bucles, o ejecuciones condicionales. Con estas estructuras, los desarrolladores pueden diseñar expresiones basándose exclusivamente en información temporal (asignar a cada acción del robot un punto de inicio concreto en el tiempo), condicionando la ejecución de unas acciones a la finalización de otras, o combinando ambas soluciones. La implementación de las expresiones del robot se ha llevado a cabo usando FlexBE, un framework desarrollado para diseñar comportamientos de alto nivel para robots. Este framework se ha modificado para adaptarlo a las necesidades particulares del diseño de gestos multimodales para robots sociales. Una de las ventajas que FlexBE proporciona es la posibilidad de usar una interfaz gráfica para crear nuevos gestos a base de arrastrar y conectar bloques. Esto permite que personas sin un conocimiento profundo del funcionamiento del sistema de expresividad (e incluso sin conocimientos generales de programación), pero con experiencia en otras áreas (como animación o arte) puedan diseñar expresiones.

    Confiar en una librería de gestos predefinidos para crear la expresividad de un robot social es una solución que puede provocar que las interacciones entre el robot y los usuarios puedan resultar repetitivas, ya que la cantidad de respuestas que el robot es capaz de expresar es limitada. Para solucionar esta desventaja, esta tesis propone dos soluciones. La primera es el diseño de una plantilla que se puede usar para crear expresiones en tiempo de ejecución a partir de una lista de acciones unimodales (decir una frase, cambiar la mirada del robot, etc...). Esta plantilla genera primero un árbol que representa la estructura interna de la expresión, y posteriormente construye la expresión apoyándose en este árbol. La segunda solución propuesta es el uso de tres mecanismos de modulación que permitan adaptar la expresividad del robot a su estado interno (por ejemplo a su estado emocional), o a circunstancias particulares de la interacción. El primer mecanismo permite reemplazar acciones individuales en una expresión en tiempo de ejecución (por ejemplo, cambiar la frase que el robot dice). El segundo mecanismo permite alterar la apariencia general de una expresión en base a dos parámetros: velocidad y amplitud. Cada uno de estos parámetros tiene un efecto predefinido sobre cada interfaz del robot. Por ejemplo, aumentar la velocidad acelera la voz del robot, aumenta la velocidad de los movimientos, y aumenta la frecuencia de parpadeo, entre otras cosas. El último mecanismo permite crear perfiles de modulación que especifican el efecto concreto que un determinado estado del robot tiene que tener sobre su expresividad.

    El módulo de la arquitectura del robot que controla su expresividad es el Expression Manager. Este módulo gestiona las peticiones provenientes del resto de la arquitectura software del robot, planifica la ejecución de expresiones en base a estas peticiones y a las prioridades que llevan asociadas, extrae las expresiones correspondientes de la librería de gestos del robot, y controla su ejecución. Al igual que para el HRI Manager, el Expression Manager ha sido evaluado a través de pruebas objetivas, que incluyen la medición del tiempo de respuesta y del uso de recursos. Además, se han llevado a cabo dos experimentos para evaluar el efecto que las estrategias de modulación desarrolladas tienen sobre la percepción que los usuarios tienen del robot. El primer experimento se centró en el efecto que el reemplazo de acciones unimodales y la modulación usando los parámetros de velocidad y amplitud tienen sobre la percepción de los participantes. En la interacción usada en el experimento, el robot participa en un juego con un usuario, donde este tiene que acertar la localización de una serie de monumentos famosos. Se grabaron dos videos, uno en donde el robot no utiliza ningún tipo de modulación, y otro en el que se usan ambas estrategias. En el segundo experimento, se utilizaron los perfiles de modulación para darle al robot la habilidad de mostrar emociones y estados de ánimo. El experimento buscaba evaluar si el darle esta capacidad al robot mejoraba la percepción de los participantes. Como parte de este experimento, también se evaluó si la modulación era capaz de reflejar las diferentes emociones y estados de ánimo de manera correcta.

    El último tema tratado en esta tesis es el desarrollo de estrategias para proporcionar a un robot una apariencia de vivacidad. Esta es una característica clave a la hora de que el robot sea capaz de crear relaciones sociales con personas. Esta tesis propone dos soluciones a este problema. La primera de ellas busca generar acciones unimodales para cada una de las interfaces del robot. La generación de estas acciones está controlada por una señal sinusoidal que busca imitar el pulso de una persona. Para adaptar las expresiones que se generan al estado del robot, la frecuencia y amplitud de la señal pueden ser modificadas. En el sistema propuesto, un módulo se encarga de generar y modificar la señal sinusoidal, mientras que módulos independientes generan acciones para las distintas interfaces. El pulso del robot se muestrea a una cierta frecuencia, y estas muestras son enviadas a cada uno de los módulos que generan las acciones. Estos módulos eligen al azar entre una serie de plantillas predeterminadas (por ejemplo, una plantilla puede indicar un movimiento de vaivén de ambos brazos, mientras que otra puede describir el movimiento de un solo brazo), y las parametrizan usando la muestra de la señal.

    La segunda solución propuesta busca mejorar las interacciones entre el robot y el usuario donde el robot utiliza exclusivamente mensajes verbales. Para ello, un modelo de aprendizaje automático profundo analiza el mensaje verbal del robot, selecciona las expresiones no verbales más apropiadas, y las sincroniza con puntos específicos del mensaje verbal. El modelo propuesto combina una red neuronal Long-Short Term Memory (LSTM) para codificar la información extraída del mensaje verbal, y un Conditional Random Field (CRF) que genera una secuencia de etiquetas que indican el valor semántico del gesto que debería ir asociado a cada parte del mensaje verbal. La predicción de expresiones no verbales se realiza en base a las palabras en la frase que el robot va a decir, las funciones sintácticas de cada una de estas palabras, y la intención comunicativa del mensaje verbal. Dos modelos han sido desarrollados, y conectados secuencialmente. El primer modelo recibe la frase y la lista de funciones sintácticas, y extrae la intención comunicativa del mensaje. El segundo modelo recibe las mismas entradas que el primero, además de la intención extraída, y proporciona la secuencia de etiquetas que indican el valor semántico de la expresión no verbal. Ambos modelos usan la misma estructura que combina LSTMs y CRF. La diferencia es que el segundo modelo incluye un encoder extra para la intención comunicativa proporcionada por el primer modelo. Como parte del trabajo desarrollado en esta tesis, se han construido datasets para entrenar ambos modelos. Estos datasets contienen 2600 instancias cada uno.

    Una vez se ha obtenido una secuencia de etiquetas, esta se usa para elegir las expresiones no verbales más apropiadas. Los desarrolladores pueden definir una relación directa entre cada etiqueta y una o varias expresiones en la librería de gestos del robot. Por último, la sincronización de las componente verbal y la no verbal se realiza en base a una serie de reglas definidas en un fichero XML. Al igual que el mapeado, las reglas también están ligadas a cada etiqueta. Los desarrolladores pueden especificar múltiples reglas para cada etiqueta, y el módulo las comprueba de forma secuencial. Si ninguna regla puede ser cumplida, entonces la expresión no verbal elegida se descarta, y el robot solo emite el mensaje verbal.

    La evaluación de cada una de las dos soluciones propuestas se ha llevado a cabo de forma independiente. Para el módulo de vivacidad basado en la señal del pulso del robot, el análisis objetivo desarrollado evalúa el uso de recursos por parte de este módulo (en concreto, el uso de CPU y de RAM). Este análisis se ha repetido para el módulo de predicción y sincronización de expresiones no verbales con el mensaje verbal del robot. Además, se ha medido el tiempo de respuesta de dicho módulo, para comprobar si es capaz de cumplir los requisitos temporales que la comunicación entre humanos impone. Los modelos de aprendizaje automático han sido evaluados usando tres métricas: precision, recall, y f1-score. La primera métrica representa el ratio entre el número de predicciones correctas y predicciones realizadas para cada etiqueta. La segunda métrica representa el ratio entre las predicciones completas para una clase y el número total de etiquetas de esa misma clase. Por último, la tercera métrica se calcula como la media armónica de las dos métricas anteriores. Además de estas evaluaciones objetivas, se ha presentado un caso de uso donde se describe el funcionamiento de las dos soluciones propuestas, su integración en el resto de la arquitectura del robot, y cómo se combinan las diferentes fuentes de expresividad del robot (el módulo de vivacidad basado en la señal del pulso del robot y las expresiones provenientes del HRI Manager).

    Uno de los requisitos identificados al inicio del desarrollo de esta tesis es que la arquitectura resultante debía ser altamente modular. Esto facilita la tarea de reemplazar y actualizar cada una de sus partes de manera independiente. La arquitectura ha sido desarrollada usando ROS, un middleware para desarrollar aplicaciones de robótica. Este middleware permite conectar módulos de software a través de interfaces estandarizadas. El objetivo final del trabajo desarrollado durante esta tesis es el de proporcionar a los desarrolladores de aplicaciones para robots sociales las herramientas necesarias para diseñar interacciones entre el robot y el usuario que sean fáciles de crear, y al mismo tiempo resulten naturales para los usuarios que interactúen con el robot.


Fundación Dialnet

Dialnet Plus

  • Más información sobre Dialnet Plus