• No se han encontrado resultados

Guía de Personas con Robots Móviles Basado en la Interacción Humano-Robot

N/A
N/A
Protected

Academic year: 2021

Share "Guía de Personas con Robots Móviles Basado en la Interacción Humano-Robot"

Copied!
10
0
0

Texto completo

(1)

“Gu´ıa de Personas con Robots M´

oviles Basado en la

Interacci´

on Humano-Robot”

Octavo Avance - Agosto 2017

Alumno: Karla Lourdes Luna Gallegos (CIEP UASLP) Asesor: Dra. Elvia Ruth Palacios Hern´andez (FC UASLP)

Co-Asesor: Dr. Antonio Mar´ın Hern´andez (CIIA UV)

Introducci´

on

La International Federation of Robotics (IFR - https://ifr.org) define a los “robots de servi-cio” como aquellos que realizan tareas ´utiles para las personas, excluyendo aplicaciones indus-triales. Los robots de servicio se clasifican de acuerdo a su uso en: personal y profesional. Los robots profesionales ejecutan actividades de limpieza, seguridad, inspecci´on y mantenimiento en lugares inseguros para las personas. Los robots personales son aquellos capaces de ejecutar labores dom´esticas, de ense˜nanza, apoyo a las personas mayores o con capacidades diferentes y de entretenimiento.

Para no afectar la seguridad y comodidad de las personas, los robots que operan en ´areas com-partidas con los humanos deben poder modificar su comportamiento. La Interacci´on Humano-Robot, por sus siglas en ingl´es HRI (Human-Robot Interaction), se encarga del estudio de la interacci´on entre humanos y robots. El estudio de comportamientos y normas sociales permi-tir´an establecer modelos de acci´on para el correcto funcionamiento del robot. Algunas de las investigaciones realizadas sobre HRI analizan la percepci´on que tienen las personas acerca de un robot. Otros han realizado estudios sobre las normas sociales que deben considerarse en el com-portamiento de los robots, adem´as de examinar las caracter´ısticas particulares de un entorno social.

Hoy en d´ıa, se pueden encontrar robots brindando su apoyo a las personas en diferentes lugares. Algunos hospitales, universidades, centros comerciales, museos y hoteles ya cuentan con plataformas rob´oticas que ofrecen sus servicios como gu´ıas tur´ısticas. Debido a que el robot gu´ıa es capaz de mostrar a los visitantes la ruta desde la recepci´on hasta un punto objetivo y proveer informaci´on importante del entorno, puede reducir la carga de trabajo de los empleados de un edificio y les permite tener m´as tiempo para realizar labores importantes en su trabajo. Adem´as de lo anterior, la tarea de robot gu´ıa es un trabajo interesante y complejo debido a que aborda diferentes problemas de la rob´otica, como la navegaci´on m´ovil, HRI, visi´on por computadora, control, entre otras.

En el presente trabajo de tesis se expone el desarrollo de algoritmos para realizar la tarea de gu´ıa de personas a trav´es de plataformas rob´oticas, donde se dise˜no e implement´o un sistema de control para dirigir el movimiento del robot basando su comportamiento en la interacci´on con el usuario. Para esto, es necesario realizar diferentes tareas las cuales, para facilitar el dise˜no, se dividieron en cuatro m´odulos que comprenden cada actividad. En el primer m´odulo, el robot se encuentra en la recepci´on y en espera de un usuario donde realiza la detecci´on de personas a trav´es de algoritmos de visi´on. El algoritmo de detecci´on comprueba por medio de un clasificador en cascada y un entrenador de clasificadores si existe alg´un rostro en el ´area de visi´on, si detecta uno, se almacena el color predominante del usuario para la clasificaci´on y una base de datos de su rostro para la identificaci´on de ´este. Despu´es, se realiza una segmentaci´on por distancia mediante el proceso de crecimiento de regiones, obteniendo as´ı la posici´on del usuario en un

(2)

espacio tridimensional. Con esta informaci´on se calcula la velocidad del usuario en base a la distancia que recorre en un intervalo de tiempo.

El segundo m´odulo realiza el c´alculo de trayectorias, para esto, se cuenta con la informaci´on del mapa de su entorno previamente reconocido, el punto inicial y la ubicaci´on de los lugares a los que el usuario puede dirigirse. Se genera una trayectoria global del punto inicial al punto final, esta trayectoria se calcula realizando un cuadriculado en el mapa y definiendo las celdas libres por las que puede pasar el robot. Tambi´en se calcula una trayectoria local para la evasi´on de obst´aculos la cual consiste en conocer la velocidad lineal y angular del robot, as´ı como la proximidad de obst´aculos, del punto meta y de la trayectoria global. Con esta informaci´on, realiza una simulaci´on de la posici´on pr´oxima del robot al cabo de un corto periodo de tiempo, para predecir si el robot colisionar´a.

El tercer m´odulo obtiene informaci´on de los dos m´odulos anteriores para realizar el movimien-to del robot, el cual depende de la velocidad lineal y la velocidad angular. La velocidad lineal del robot se adapta a la velocidad estimada del usuario, se dise˜no e implement´o un controlador PI+D Difuso para este fin. La velocidad angular es manipulada por un controlador difuso tipo Sugeno para el seguimiento de trayectorias, tiene como entrada la velocidad lineal del robot y el error en orientaci´on. Este m´odulo se integra al siguiente ya que el control de las velocidades del robot esta basado en reglas sociales de interacci´on entre humanos y robots, siendo ´este el principal aporte del presente trabajo de tesis.

El cuarto m´odulo se encarga de la interacci´on del robot con las personas, por medio de reglas sociales, una pantalla y un sintetizador de voz se entabla la comunicaci´on con el usuario. La adaptaci´on de velocidad del robot busca brindar un mejor servicio al usuario, ya que incremen-tar´a las probabilidades de que el usuario lo siga y ambos lleguen a su objetivo. Este sistema puede implementarse para robots gu´ıa en distintos entornos como museos, hospitales, univer-sidades, etc., donde puede aplicarse para la tarea de gu´ıa tur´ıstico, para el cuidado de adultos mayores, rescate de personas donde el robot debe guiar al usuario a la salida, entre otras. El algoritmo de visi´on calcular´a la velocidad de la persona y ajustar´a la velocidad del robot a ´esta. Siempre y cuando el usuario se encuentre dentro del ´area de visi´on del robot, ´este seguir´a su recorrido hasta llegar a su objetivo, en caso contrario se realizar´a una estrategia de b´usqueda de usuario y una vez que ´este sea localizado, el robot planear´a una nueva trayectoria al destino antes indicado.

Plataformas m´

oviles

Para esta investigaci´on se utilizaron dos robots m´oviles, el robot desarrollado en este trabajo de tesis llamado “Tbot” y un robot de la Universidad Veracruzana (UV) llamado “UVerto”. Tbot se muestra en la Figura 1 A, este robot es una modificaci´on del robot Turtlebot de la compa˜n´ıa Willow Garage. El robot cuenta con una base m´ovil iRobot Create, su configuraci´on es de tipo diferencial. Cuenta adem´as con dos sensores Microsoft Kinect (uno para la navegaci´on y otro para la HRI) y dos unidades de procesamiento para la navegaci´on y el procesamiento de im´agenes.

El robot UVerto se muestra en la Figura 1 B, cuenta con una base rob´otica llamada Pioneer 3-DX. Cuenta con un sonar, un sensor Xtion PRO de Asus, un sensor Laser Range Finder. El sensor Xtion PRO, al igual que el sensor Kinect, cuenta con una c´amara RGB y un sensor de profundidad.

Ambas plataformas utilizan un modelo cinem´atico de tipo diferencial, el cual consiste de dos ruedas con motores y una o dos ruedas castor como soporte. En la Figura 2 se muestra este tipo de configuraci´on [1].

(3)

Figura 1: Robot Tbot y robot UVerto.

Figura 2: Robot m´ovil de tipo diferencial.

Primer M´

odulo

Para conocer la localizaci´on del usuario dentro del mapa y as´ı poder estimar su velocidad y la distancia entre ´el y el robot, se dise˜n´o un algoritmo de visi´on que identifica al usuario por el rostro utilizando el algoritmo de Viola y Jones [2], donde para evitar falsos positivos, valida la detecci´on de un rostro con el color de su piel [3]. Despu´es, el usuario es caracterizado en funci´on del color predominante en su vestimenta en el espacio de color HSV. Posteriormente, es segmentado del resto de la imagen y ubicado en un espacio tridimensional gracias a la informaci´on de profundidad que proporciona el Kinect en la parte superior del robot [4]. En la Figura 3, se muestran las etapas del algoritmo de detecci´on.

(4)

El algoritmo de detecci´on de rostros presenta un funcionamiento a una frecuencia promedio de 10Hz. La segmentaci´on por color permite que el proceso de localizaci´on sea m´as r´apido al enfocarse en el color y no en las caracter´ısticas de un rostro. Adem´as, se confirma la posici´on del usuario con una segmentaci´on realizada por el proceso de crecimiento de regiones, en la que el criterio de regi´on de pertenencia es la profundidad del objeto. Mediante los algoritmos anteriores, se obtiene la posici´on del usuario en 2D (plano del piso), este algoritmo tiene una frecuencia de muestreo de 25Hz.

El robot comenzar´a su trayecto a una velocidad de 0.4m/s para posteriormente ajustarse a la del usuario. La velocidad del usuario es calculada en base a la distancia recorrida por ´este en un intervalo de tiempo. Para el c´alculo de la distancia recorrida, la posici´on del usuario se transforma del marco referencial de la c´amara al marco referencial del mapa. La velocidad estimada presenta variaciones bruscas debido a que las personas no realizan una marcha lineal [5]. La velocidad calculada del usuario se suaviza con las curvas c´ubicas de B´ezier [6]. En la Figura 4A se observa la velocidad estimada del usuario en l´ınea punteada y la velocidad obtenida a trav´es de la ecuaci´on c´ubica de B´ezier se presenta l´ınea continua. En la Figura 4B se muestra la trayectoria que realiz´o el usuario en un pasillo recto, para esta velocidad.

Figura 4: A. Velocidad con ecuaci´on c´ubica de B´ezier. B. Trayectoria realizada por el usuario.

Segundo M´

odulo

La navegaci´on se realiza con el c´alculo de trayectorias por medio de m´etodos probabil´ısticos para conocer la ubicaci´on del robot en el mapa y los espacios libres por donde puede trazar una trayectoria a su destino. Se cuenta con la informaci´on del punto inicial y el mapa de su entorno, as´ı como la ubicaci´on dentro del mapa de los lugares a los que el usuario puede dirigirse, por ejemplo, las oficinas de los docentes. El punto inicial que se tiene como referencia (home) ser´a la recepci´on, el robot regresar´a a esta posici´on cada que termine un recorrido. La elecci´on del punto final se dar´a por el usuario en una aplicaci´on de Android que muestre la lista de los lugares disponibles.

La ruta calculada desde el punto inicial al punto final se llama trayectoria global, esta trayectoria se calcula realizando un cuadriculado en el mapa y definiendo las celdas libres por las que puede pasar el robot. Tambi´en se calcula una trayectoria local para la evasi´on de obst´aculos la cual consiste en conocer la velocidad lineal y angular del robot, as´ı como la proximidad de obst´aculos, del punto meta y de la trayectoria global. Con esta informaci´on, realiza una simulaci´on de la posici´on pr´oxima del robot al cabo de un corto periodo de tiempo, para predecir si el robot colisionar´a.

(5)

Una vez que se tiene la informaci´on de las trayectorias que guiaran al robot a su destino, se debe controlar el movimiento del robot ajustando la velocidad lineal y angular para adaptarse a la ruta designada y ajustarse a la velocidad del usuario.

Tercer M´

odulo

El movimiento del robot depende de la velocidad lineal y la velocidad angular, se dise˜naron dos controladores difusos para cada una de las variables. Se dise˜no e implement´o un controlador PI+D difuso [7] para adaptar la velocidad del robot a la velocidad del usuario, este controlador tiene como referencia la velocidad estimada del usuario y como salida la velocidad lineal del robot. Un controlador difuso tipo Sugeno, fue dise˜nado para manipular la velocidad angular del robot para el seguimiento de trayectorias. Tiene como entrada la velocidad lineal del robot y el error en orientaci´on (orientaci´on deseada - orientaci´on actual). El esquema del controlador global, para las salidas de velocidad lineal y angular se muestra en la Figura 5

Figura 5: Esquema de control PI+D difuso [7].

El dise˜no del controlador PI+D difuso para adaptar la velocidad lineal del robot a la veloci-dad din´amica del usuario se muestra en la Figura 6. La salida del controlador estar´a limitada en base a la velocidad m´axima del robot.

Figura 6: Esquema de control PI+D difuso [7].

La ley del controlador se presenta en la ecuaci´on (1).

uP ID(nT ) = uP I(nT ) − uD(nT ) (1) = uP I(nT − T ) + Ku,P I∆uP I(nT ) + uD(nT − T ) − Ku,D∆uD(nT )

(6)

El seguimiento de trayectoria considera otro control el cual modificar´a la velocidad angular para el ajuste de posici´on. El controlador est´a basado en la l´ogica difusa de Sugeno, las entradas del controlador son la velocidad lineal obtenida en el controlador anterior y el error entre la orientaci´on deseada y la actual. El esquema de control de este controlador se muestra en la Figura 7.

Figura 7: Esquema de control difuso Sugeno.

Cuarto M´

odulo

La Interacci´on Humano-Robot es un campo multidisciplinario, algunas de estas disciplinas son inteligencia artificial, rob´otica, comprensi´on de lenguaje, ciencias sociales, psicolog´ıa, entre otras. La HRI se dedica al entendimiento, dise˜no y evaluaci´on de sistemas rob´oticos para usarlos por o con humanos [8]. Actualmente, para que el robot pueda interactuar de forma segura con humanos, se ha limitado el ´area de trabajo que comparten los robots y las personas y se establecen normas de seguridad. Con la inteligencia artificial y el estudio de la HRI se pretende que los robots de manera aut´onoma sean capaces de mantener una interacci´on natural, confiable y eficiente.

En este trabajo de investigaci´on se implement´o como norma de comportamiento la prox´emica [9, 10], la cual se dedica a estudiar las relaciones del espacio social. Con esta informaci´on se determino el espacio de trabajo del robot, que comprende de 0.5m a 1.5m alrededor del usuario. Adem´as, con el fin de ofrecer una visita guiada personalizada, se calcula la velocidad del usuario en base a la distancia que recorre en un intervalo de tiempo y se ajusta la velocidad del robot a la velocidad del usuario estimada a trav´es de algoritmos de visi´on, disminuyendo la probabilidad de perdida de usuario durante el recorrido.

El robot supervisa de manera permanente la ubicaci´on del usuario, el cual, es la variable de mayor prioridad para esta aplicaci´on. Por medio de interrupciones se ejecuta una pausa en el algoritmo de control que se encarga de seguir una trayectoria, para realizar la tarea de b´usqueda de usuario. Cuando el usuario sale del campo de visi´on del robot o la distancia entre ellos es mayor a 3 metros, se interrumpe la operaci´on de gu´ıa y comienza el plan de b´usqueda que consiste en 2 etapas:

Etapa 1: El robot tratar´a de buscar al usuario, girando sobre su propio eje. En caso de localizar el color del usuario o un rostro, el robot se acercar´a a esa posici´on manteniendo la distancia de interacci´on. Esta primer etapa de b´usqueda se realiza con la suposici´on de que el usuario no se ha alejado demasiado de la trayectoria debido a que el robot, a lo largo del recorrido, siempre trata de mantener al usuario en la mira.

Etapa 2: Cuando est´e lo suficientemente cerca, detectar´a por medio del algoritmo de re-conocimiento de rostro, si es el usuario en turno. En esta etapa se tendr´an dos casos: el primero se presenta cuando la identificaci´on del usuario es correcta, el robot esperar´a que el usuario vuelva a acercarse para continuar el recorrido. El segundo caso se presenta cuando la persona

(7)

identificada no es la correcta y entonces volver´a a la etapa 1 del plan de b´usqueda. Si el usuario no es encontrado en los 3 minutos posteriores a la perdida, el robot considerar´a que el usuario abandon´o el servicio y volver´a a la recepci´on, reiniciando la aplicaci´on, en espera de un nuevo usuario.

Arquitectura de software y Supervisor

Para que el robot realice con ´exito todas estas actividades, deber´a ser capaz de ejecutar diferentes habilidades en conjunto y de forma individual. El control de las m´ultiples tareas que ejecutar´a el robot deben ser reguladas por un sistema de prioridades a trav´es de un supervisor. Se propuso una arquitectura de software la cual permite controlar los comportamientos del robot en distintos niveles y de forma paralela. La arquitectura se compone de seis capas, ver Figura 8, en la primera capa se encuentran los dispositivos de entrada y salida, la segunda capa es la informaci´on que se extrae de los sensores, en la tercera capa se encuentran las habilidades que tiene el robot, en la cuarta capa se encuentran las actividades que ejecutar´a el robot, en la quinta capa se opera el comportamiento del robot y en la sexta se encuentra el supervisor el cual regula la ejecuci´on de cada una de las capas y habilidades.

Figura 8: Arquitectura de software propuesta.

El supervisor se encarga de conocer de manera permanente la ubicaci´on del usuario, la cual es la variable de mayor prioridad para esta aplicaci´on. Por medio de interrupciones, ejecuta una pausa en el algoritmo de control que se encarga de seguir una trayectoria, para realizar la tarea de b´usqueda de usuario. Antes de comenzar el recorrido, el robot clasifica al usuario por color y almacena una base de datos con su rostro, la cual le permitir´a reconocer a la persona que solicito el servicio en caso de perdida. Una vez localizado el usuario la interrupci´on se desactiva y se vuelve a trazar una trayectoria al mismo punto meta. El supervisor seguir´a observando la separaci´on entre el usuario y el robot a lo largo del recorrido para ejercer el plan de acci´on correspondiente y no perder al usuario. En la Figura 9 se muestran los procesos y acciones que

(8)

realiza el robot en la ejecuci´on de la tarea. Tambi´en se muestra la informaci´on m´as relevante, que se obtiene en cada proceso para la realizaci´on de esta actividad.

Figura 9: Procesos del robot.

La informaci´on es almacenada en diferentes formatos, dependiendo del tipo de valor que maneje (velocidad, posici´on, datos RGB, etc.) y son llamados “t´opicos” en ROS. Los procesos, son los algoritmos que ejecutan una acci´on, ´estos pueden procesar informaci´on de otros procesos y obtener datos que sean necesarios para otras actividades, a estos procesos se les llama “nodos”. Se le asigna el nombre de “paquetes” al conjunto de procesos que ejecutan una aplicaci´on en particular.

Resultados experimentales

El control de ambas variables (velocidad lineal y angular) necesita de dos referencias las cuales son: la velocidad estimada del usuario y la trayectoria deseada. La estimaci´on de velocidad del usuario se introducen al controlador PI+D difuso para el seguimiento de se˜nal, se realiza de manera independiente al controlador y se obtiene de los datos del algoritmo de visi´on.

Para controlar la velocidad angular, se necesita el conocimiento de la orientaci´on deseada a lo largo de la trayectoria as´ı como la se˜nal de salida del controlador anterior. Las pruebas experimentales finales se realizaron en la plataforma Tbot. Para la implementaci´on de los con-troladores en el mundo real, debe considerarse el entorno del robot (mapa), el retardo en la comunicaci´on entre las diferentes computadoras y el paso de mensajes. En la Figura 10 se mues-tran las se˜nales del controlador para las pruebas sobre la plataforma rob´otica, en l´ınea punteada se muestra la se˜nal de referencia y en l´ınea continua la salida del sistema (velocidad lineal).

El controlador difuso para la velocidad angular, se ajusta dada la velocidad lineal y el error en orientaci´on (orientaci´on deseada menos orientaci´on actual del robot). En la Figura 11, se muestra la trayectoria deseada en l´ınea punteada y la realizada por el robot en l´ınea continua.

En la Figura 12 se muestra el mapa donde se realizaron las pruebas y la visualizaci´on del robot, as´ı como una imagen real del entorno.

(9)

Figura 10: Seguimiento de velocidad del usuario en la plataforma m´ovil.

Figura 11: Trayectoria deseada vs trayectoria realizada.

Figura 12: Entorno real.

Conclusiones y Trabajo Futuro

La presencia de robots en lugares comunes est´a aumentando, debido a esto, es importante estudiar y analizar la interacci´on entre humanos y robots con el fin de conocer aquellas t´ecnicas que ofrecen una mejor integraci´on de los robots en un entorno social. Adem´as, deben definirse las normas sociales que regir´an el comportamiento de un robot para ser aceptados entre los seres

(10)

humanos. El movimiento del robot ser´a controlado en base a la informaci´on del medio ambiente, la auto-informaci´on y las reglas establecidas para la interacci´on.

El trabajo de investigaci´on ha terminado, solo falta continuar con la redacci´on del documento de tesis y estoy en la espera de la respuesta de la segunda respuesta de un art´ıculo indexado, para poder presentar el examen previo y final.

Actividades realizadas

Se redact´o el documento de tesis (en proceso).

Se modific´o la redacci´on del art´ıculo titulado “A Survey on Navigation Strategies for Tour Guide Robots” (en proceso).

Se redact´o y someti´o un art´ıculo en el Congreso Nacional de Control Autom´atico 2017 (AMCA 2017) titulado “ An´alisis del Primer Contacto entre un Robot Asistente Did´actico y Ni˜nos de Educaci´on B´asica” (aceptado).

Se realizaron las modificaciones del articulo en revisi´on titulado “A Fuzzy Speed Con-troller for a Guide Robot Using an HRI Approach”, para la revista “IEEE Latin America Transactions”(En espera).

Cronograma de Actividades a realizar

Referencias

[1] Roland Siegwart, Illah R. Nourbakhsh, and Davide Scaramuzza. “Introduction to Autonomous Mobile Robots (2nd ed.)”. The MIT Press, 2011. [2] P. Viola y M. Jones. “Rapid Object Detection Using a Boosted Cascade of Simple Features”. In Proceedings of the IEEE Computer Society

Conference (CVPR), 2001, 511-518.

[3] J. A. Rivera, A. Mar´ın, L. F. Mar´ın, “Using Color Histograms and Range Data to Track Trajectories of Moving People From a Mobile Robot Platform”. In International Conference on Electronics, Communications and Computers (CONIELECOMP), 2012, 288-293.

[4] K. L. Luna, E. R. Palacios, A. Mar´ın, “Detecci´on y Seguimiento de Personas con An´alisis de Color en Datos RGB-D”, In Congreso Latinoamericano de Control Autom´atico (CLCA), 2014, 630-635.

[5] http://futbolcarrasco.com/wp-content/uploads/2014/08/futbolcarrascoinef3curso4.pdf

[6] H. Prautzsch, W. Boehm, Marco Paluzny, “B´ezier and B-Spline Techniques”, Springer-Verlag Berlin Heidelberg, 2002.

[7] R.R. Yager, L.A. Zadeh, An Introduction to Fuzzy Logic Applications in Intelligent Systems, Springer Science+Business Media,LLC [8] Michael A. Goodrich and Alan C. Schultz Human-Robot Interaction: A Survey, Vol. 1 Issue 3,2007, Editorial Board.

[9] Hall, Edward T. “The hidden dimension : man’s use of space in public and private” Bodley Head, London, 1969.

Referencias

Documento similar

The notified body that issued the AIMDD or MDD certificate may confirm in writing (after having reviewed manufacturer’s description of the (proposed) change) that the

En estos últimos años, he tenido el privilegio, durante varias prolongadas visitas al extranjero, de hacer investigaciones sobre el teatro, y muchas veces he tenido la ocasión

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

• No hay un acoplamiento mecánico entre las ruedas de la tracción. • En una vuelta, el controlador de velocidad aplicará menos potencia a la rueda interior. •

Sanz (Universidad Carlos III-IUNE): "El papel de las fuentes de datos en los ranking nacionales de universidades".. Reuniones científicas 75 Los días 12 y 13 de noviembre

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,

Dada la endogeneidad de la respuesta de la política monetaria a la evolución prevista para la economía, esta evolución de las cotizaciones bancarias ante sorpresas monetarias puede