Mejora del Comportamiento Prox emico de un Robot Aut onomo...

7
Mejora del Comportamiento Prox´ emico de un Robot Aut´ onomo mediante Motores de Inteligencia Artificial Desarrollados para Plataformas de Videojuegos David Fern´ andez, Javier Monroy, Javier Gonzalez-Jimenez Departamento de Ingenier´ ıa de Sistemas y Autom´ atica, Instituto de Investigaci´ on Biom´ edica de M´ alaga, Universidad de M´ alaga, Campus de Teatinos, 29071, M´ alaga. [email protected], [email protected], [email protected] Resumen Este art´ ıculo presenta una arquitectura software que permite mejorar las capacidades sociales de robots m´ oviles mediante el uso de motores de in- teligencia artificial propios de las plataformas de desarrollo de videojuegos. La arquitectura prop- uesta se basa en fusionar el ampliamente uti- lizado Robotic Operating System (ROS) con los avanzados motores de inteligencia artificial de la plataforma de videojuegos Unity 3D. Esta fusi´on permite integrar comportamientos de alto nivel en la interacci´on hombre-robot, con los avanzados sis- temas de gesti´on de la incertidumbre propios de arquitecturas puramente rob´oticas. Como caso pr´actico presentamos la planificaci´on de trayecto- rias de un robot m´ovil en un entorno con pres- encia humana, detallando tres situaciones t´ ıpicas de la interacci´on hombre-robot: esquivar a un hu- mano que afecta en su trayectoria, aproximarse a una persona para establecer un di´alogo, y evitar cruzar entre dos personas que est´an dialogando. Para cada situaci´on, analizamos el entorno desde un punto de vista prox´ emico, y comparamos la trayectoria generada por el navegador de Unity 3D usando nuestra propuesta con una puramente rob´otica. Palabras clave: Habilidades Sociales, Videojue- gos, Unity 3D, HRI, Robot 1 Introducci´ on El envejecimiento de la poblaci´ on en los pa´ ıses de- sarrollados se ha convertido en un problema im- portante con una creciente atenci´ on por parte de la comunidad cient´ ıfica. M´ as all´ a de su dimensi´ on estrictamente demogr´ afica, el envejecimiento pre- ocupa por sus efectos pol´ ıticos, econ´ omicos y so- ciales [13]. En relaci´ on con este ´ ultimo, diversas iniciativas han surgido en los ´ ultimos a˜ nos pro- poniendo el uso de plataformas rob´ oticas para lle- var a cabo actividades de car´ acter social, por ejem- plo, como gu´ ıas tur´ ısticos, asesores personales, o robots educativos. No obstante, en la actualidad, la presencia real de robots en entornos humanos est´ a a´ un muy limi- tada, siendo una de las principales causas la alta- mente compleja interacci´ on entre el hombre y el robot (HRI, de sus siglas en ingl´ es) [3, 7]. Con- seguir que un robot tenga un comportamiento que le permita ser aceptado en entornos sociales es un problema muy complejo y que abarca multitud de facetas. Una de estas es la prox´ emica [4] o estudio de la organizaci´ on del espacio en la comunicaci´ on entre las personas y los objetos. Para el caso de interacci´ on con robots m´ oviles, diversos trabajos han sido propuestos [12, 11], donde la prox´ emica juega un papel fundamental a la hora de contro- lar los movimientos del robot. No obstante, a´ un existen grandes posibilidades de investigaci´ on en este ambito, especialmente atendiendo a la gran variedad de situaciones en las que un robot puede interactuar con un humano [6, 9]. Una de las ´ areas que m´ as ha avanzado en esta interacci´ on maquina-humano en los ´ ultimos a˜ nos es la relacionada con la industria de los videojue- gos. Gracias al potente motor econ´ omico que la sustenta, gran variedad de algoritmos y motores de inteligencia artificial (IA) enfocados a la in- teracci´ on con el humano han sido desarrollados y est´ an disponibles de forma libre, especialmente a trav´ es de plataformas de desarrollo de videojue- gos. En este campo, los motores de IA se utilizan principalmente para modelar el comportamiento de personajes no jugadores (NPC, de sus siglas en ing´ es) de forma que sus acciones y movimientos se asemejen a las de un humano cuando interact´ uan con el jugador, por ejemplo, respetando las dis- tancias prox´ emicas durante un dialogo [10]. En este trabajo proponemos explotar el activo y avanzado desarrollo de los motores de IA de las plataformas de creaci´ on de videojuegos, aplic´ andolos al campo de la rob´ otica m´ ovil, espe- cialmente en el contexto HRI. M´ as concretamente, proponemos una arquitectura software capaz de fusionar la potencia de los motores de IA de los entornos de videojuegos, con la robustez de los sistemas rob´ oticos a la hora de gestionar la in- certidumbre al interactuar en el entorno. Para validar nuestra propuesta, presentamos un caso pr´ actico: la planificaci´ on de la trayectoria de un

Transcript of Mejora del Comportamiento Prox emico de un Robot Aut onomo...

Mejora del Comportamiento Proxemico de un Robot Autonomomediante Motores de Inteligencia Artificial Desarrollados para

Plataformas de Videojuegos

David Fernandez, Javier Monroy, Javier Gonzalez-JimenezDepartamento de Ingenierıa de Sistemas y Automatica, Instituto de Investigacion

Biomedica de Malaga, Universidad de Malaga, Campus de Teatinos, 29071, [email protected], [email protected], [email protected]

Resumen

Este artıculo presenta una arquitectura softwareque permite mejorar las capacidades sociales derobots moviles mediante el uso de motores de in-teligencia artificial propios de las plataformas dedesarrollo de videojuegos. La arquitectura prop-uesta se basa en fusionar el ampliamente uti-lizado Robotic Operating System (ROS) con losavanzados motores de inteligencia artificial de laplataforma de videojuegos Unity 3D. Esta fusionpermite integrar comportamientos de alto nivel enla interaccion hombre-robot, con los avanzados sis-temas de gestion de la incertidumbre propios dearquitecturas puramente roboticas. Como casopractico presentamos la planificacion de trayecto-rias de un robot movil en un entorno con pres-encia humana, detallando tres situaciones tıpicasde la interaccion hombre-robot: esquivar a un hu-mano que afecta en su trayectoria, aproximarse auna persona para establecer un dialogo, y evitarcruzar entre dos personas que estan dialogando.Para cada situacion, analizamos el entorno desdeun punto de vista proxemico, y comparamos latrayectoria generada por el navegador de Unity3D usando nuestra propuesta con una puramenterobotica.

Palabras clave: Habilidades Sociales, Videojue-gos, Unity 3D, HRI, Robot

1 Introduccion

El envejecimiento de la poblacion en los paıses de-sarrollados se ha convertido en un problema im-portante con una creciente atencion por parte dela comunidad cientıfica. Mas alla de su dimensionestrictamente demografica, el envejecimiento pre-ocupa por sus efectos polıticos, economicos y so-ciales [13]. En relacion con este ultimo, diversasiniciativas han surgido en los ultimos anos pro-poniendo el uso de plataformas roboticas para lle-var a cabo actividades de caracter social, por ejem-plo, como guıas turısticos, asesores personales, orobots educativos.

No obstante, en la actualidad, la presencia real de

robots en entornos humanos esta aun muy limi-tada, siendo una de las principales causas la alta-mente compleja interaccion entre el hombre y elrobot (HRI, de sus siglas en ingles) [3, 7]. Con-seguir que un robot tenga un comportamiento quele permita ser aceptado en entornos sociales es unproblema muy complejo y que abarca multitud defacetas. Una de estas es la proxemica [4] o estudiode la organizacion del espacio en la comunicacionentre las personas y los objetos. Para el caso deinteraccion con robots moviles, diversos trabajoshan sido propuestos [12, 11], donde la proxemicajuega un papel fundamental a la hora de contro-lar los movimientos del robot. No obstante, aunexisten grandes posibilidades de investigacion eneste ambito, especialmente atendiendo a la granvariedad de situaciones en las que un robot puedeinteractuar con un humano [6, 9].

Una de las areas que mas ha avanzado en estainteraccion maquina-humano en los ultimos anoses la relacionada con la industria de los videojue-gos. Gracias al potente motor economico que lasustenta, gran variedad de algoritmos y motoresde inteligencia artificial (IA) enfocados a la in-teraccion con el humano han sido desarrolladosy estan disponibles de forma libre, especialmentea traves de plataformas de desarrollo de videojue-gos. En este campo, los motores de IA se utilizanprincipalmente para modelar el comportamientode personajes no jugadores (NPC, de sus siglas eninges) de forma que sus acciones y movimientos seasemejen a las de un humano cuando interactuancon el jugador, por ejemplo, respetando las dis-tancias proxemicas durante un dialogo [10].

En este trabajo proponemos explotar el activoy avanzado desarrollo de los motores de IAde las plataformas de creacion de videojuegos,aplicandolos al campo de la robotica movil, espe-cialmente en el contexto HRI. Mas concretamente,proponemos una arquitectura software capaz defusionar la potencia de los motores de IA de losentornos de videojuegos, con la robustez de lossistemas roboticos a la hora de gestionar la in-certidumbre al interactuar en el entorno. Paravalidar nuestra propuesta, presentamos un casopractico: la planificacion de la trayectoria de un

robot atendiendo a las distancias proxemicas y alos humanos presentes en el entorno, y su posteriornavegacion.

2 Arquitectura software

Esta seccion describe la arquitectura propuesta,presentando de forma generica los diferentes com-ponentes y su interconexion. Posteriormente, parael caso de uso propuesto, se detalla la estructuradel planificador de trayectorias empleado y comoeste es extendido para integrar restricciones detipo proxemico.

La Fig. 1 muestra la arquitectura global propuestaen este articulo, donde se aprecia que como arqui-tectura robotica se ha usado ROS1 (Robot Oper-ating System) por ser la mas utilizada en la actu-alidad. ROS es un framework de codigo abiertoy flexible que permite el desarrollo de softwarerobotico. Consiste en una coleccion de herramien-tas, bibliotecas y convenciones que tienen comoobjetivo simplificar la tarea de crear un compor-tamiento robotico complejo y robusto. Por otrolado, como software de desarrollo de videojuegos,se ha escogido Unity 3D 2, un motor grafico mul-tiplataforma que permite la creacion de juegos en2D y 3D. Entre los diversos frameworks actualesde desarrollo de videojuegos se ha elegido este porsu versatilidad y por la amplia variedad de paque-tes software ya existentes e integrables, los cualespermiten agilizan el desarrollo de proyectos ex-plotando alternativas de forma rapida.

Dado que ambas plataformas sowftware estandisenadas para funcionar sobre sistemas opera-tivos distintos (ROS esta solo disponible para sis-temas operativos Linux, mientras que Unity 3Desta basado en Windows), se hace necesario es-tablecer un canal de comunicacion bidireccionale independiente del sistema operativo anfitrion.En este trabajo proponemos emplear web-sockets,una tecnologıa que proporciona un canal de co-municacion bidireccional y full-duplex sobre ununico socket TCP. Esta tecnologıa, ampliamenteusada por los navegadores y servidores web, asıcomo en otros trabajos donde el sistema operativoROS es conectado con plataformas de realidad vir-tual [5, 2], nos permite eliminar la dependencia delsistema operativo. No obstante, dado que los men-sajes transmitidos pueden verse influenciados porlas condiciones de la red de comunicaciones (pudi-endo generar latencias no deseadas que influyan enel comportamiento del robot), se recomienda tra-bjar en conexion local y verificar que la frecuenciade transmision de datos entre ambos sistemas es

1http://www.ros.org/2https://unity3d.com/es

Figura 1: Diagrama representativo de la arquitec-tura global propuesta.

adecuada para la aplicacion a ejecutar.

Concretamente, para realizar la conexion por web-sockets en ROS se ha utilizando rosbridge suite3

que es un paquete instalable que permite el re-alizar comunicaciones web por socket mediantemensajes JSON. Para poder comunicarse correc-tamente, ha sido necesario realizar una adaptacionde la estructura de los mensajes que usa ROS paraque Unity 3D sea capaz de procesarlos, para ello seha usado la librerıa ROSBridgeLib4 la cual poseelas clases de los mensajes basicos de ROS.

Finalmente, se ha de comentar que a diferen-cia de Unity 3D, la plataforma ROS se basa enuna arquitectura de comunicacion P2P en la quediferentes ”paquetes” intercambian informacion atraves de una jerarquıa de mensajes denominados”topics”. Esta diferencia requiere extender la li-brerıa ROSBridgeLib para poder establecer unacomunicacion completa entre ambas plataformas.

2.1 Estructura del Planificador deTrayectorias

De entre las diversas tareas en las que los motoresde IA de las plataformas de videojuegos puedenser usadas para mejorar la interaccion HRI, enesta seccion nos centramos en la descripcion de unplanificador de trayectorias que permita al robotdesplazarse e interactuar en un entorno con pres-encia humana.

Nuestra arquitectura esta basada en ROS, dondelos planificadores de trayectorias se dividen endos fases o etapas: en primer lugar, un planifi-cador global, el cual se encarga de generar caminosoptimos entre la posicion actual del robot y elobjetivo al que se desea llegar atendiendo a losobstaculos estaticos del entorno (generalmente enforma de mapa de ocupacion), y a las restric-ciones de movimiento del robot. En segundo lu-gar, un planificador local que genera las consignasde velocidad, para mediante pequenos desplaza-mientos, seguir el trazado obtenido por el plan-ificador global. El planificador local integra elcomportamiento reactivo del robot puesto que sumision es completar la trayectoria global, evitando

3http://wiki.ros.org/rosbridge_suite4https://github.com/michaeljenkin/unityros

Figura 2: Diagrama representativo de la arquitec-tura propuesta para el planificador global.

los obstaculos que no se encuentren en el mapade navegacion, mayormente, obstaculos dinamicos(p.e. personas u otros robots).

Ambos planificadores se encuentran definidos enel paquete move base5, ofreciendo una API parala configuracion del algoritmo de generacion detrayectorias a emplear en cada fase, ası como losparametros que determinan su comportamiento.Una de las ventajas de este paquete ROS esla posibilidad de definir nuevos planificadorespersonalizados a traves de un sistema modularbasado en plugins. Concretamente, explotamosesta propiedad para implementar un nuevo plani-ficador que delegue en Unity 3D la generacion dela trayectoria global, para luego ser procesada porel planificador local de ROS (vease Fig. 2). Estetipo de configuracion permite explotar la robustezde ROS con respecto a la gestion de incertidumbrey el uso de sistemas avanzados de control reactivo,mientras que se dota de un comportamiento mas”social” desde un punto de vista HRI.

Para la obtencion del camino global en Unity3D, se ha utilizado un paquete de generacion detrayectorias tıpico de los entornos de videojuegos:Pathfinding Project6. Este paquete permite es-canear el entorno virtual previamente generadopara obtener el espacio transitable a traves delcual, mediante algoritmos como el A*, se obtieneel camino a seguir formado por un conjunto depuntos de interes. Un ejemplo de su uso puedeverse en la Fig. 3, en la que se comprueba que encaso de trabajar en un entorno sin presencia hu-mana, el resultado obtenido es muy similar al deun planificador tıpico en robotica.

No obstante, el objetivo es hacer uso de las carac-terısticas dinamicas y sociales integradas en estetipo de plataformas para trabajar en entornosdinamicos y con presencia humana. Concreta-mente, este planificador contempla una propiedad

5http://wiki.ros.org/move_base6https://arongranberg.com/astar/

Figura 3: Ejemplo de uso de Unity 3D para lageneracion de caminos en un entorno sin presen-cia humana. En este caso el resultado obtenidoes muy similar al de un planificador tıpicamenterobotico.

denominada obstaculo dinamico que sirve para es-pecificar que el objeto que la posea puede cam-biar de posicion o forma durante el tiempo de eje-cucion. Explotando esta propiedad, disenamos lasdiferentes areas proxemicas de las que disponemoslos humanos [11, 14], las cuales vienen dadaspor diversos factores como por ejemplo la activi-dad, estado de animo o el tamano de la per-sona (Vease Fig. 4). Atendiendo a esta nuevapropiedad, la planificacion de la trayectoria cam-bia radicalmente, tal y como ilustramos en laSeccion 3 con tres casos comunes de HRI.

2.2 Plugin del Planificador Global yConexion entre Sistemas

El uso del planificador de trayectorias y el mode-lado de la proxemica incluidos en Unity 3D vienencondicionados a disponer en dicha plataforma deconocimiento del entorno, de la posicion actual delrobot, del destino a navegar, y de la presencia dehumanos, factores que son generados y/o gestion-ados por ROS. La Fig. 5 muestra el diagrama deconexiones implementado para este caso de uso.

• Mapa de Ocupacion: Para la generaciondel entorno tridimensional en Unity 3D, serealiza una suscripcion al topic: /map deROS que posee el mapa de ocupacion deobstaculos. Este consiste en un mapa derejilla en la cual cada celda representa la

Figura 4: Diferentes areas proxemicas generadas entorno a una persona mediante Unity 3D.

Figura 5: Diagrama representativo del transito deinformacion entre Unity 3D y ROS para el casode la planificacion de trayectorias atendiendo a laproxemica.

probabilidad de ocupacion. Esta informacionprobabilıstica es binarizada en Unity 3Dpara generar un mapa del entorno 3D (veaseFig. 6), asignando una celda como libre si p <0, 5 y viceversa. Es importante mencionarque a diferencia de los sistemas roboticos,Unity no considera probabilidades ni incer-tidumbre en los datos, aspecto que solven-tamos haciendo uso del planificador local deROS. .

• Posicion del Robot: Para poder accedera esta pose y llevar a cabo la planificacionde la trayectoria, Unity se subscribe a travesde la arquitectura software propuesta al topic/amcl pose. Este contiene la creencia sobre lapose del robot en el entorno. Una vez mas,esta informacion es probabilıstica, represen-tando la pose mas probable de entre una seriede candidatos, lo cual implica que esta puedecambiar (incluso de forma drastica) a lo largodel tiempo. Este topic es comunmente ac-tualizado por modulos ROS de localizacionprobabilıstica, como es el caso del filtro deKalaman o el filtro de particulas.

• Destino de Navegacion: Se preve la posi-bilidad de que el destino al que el robot debeir, pueda venir impuesto desde cualquierade las dos plataformas, de esta manera, sebrinda la opcion de mover al robot a los al-

Figura 6: Reconstruccion 3D en Unity del mapade ocupacion de obstaculos utilizado en ROS.

goritmos disenados tanto en ROS como enUnity 3D. Para lograr esto, se utiliza el topic/move base/goal de manera bidireccional per-mitiendo a ambos entornos escribir y leer laposicion de destino deseada, la cual se vin-cula con la posicion de un objeto virtual, demanera que si se mueve el objeto se publicala nueva posicion en ROS y viceversa.

• Presencia de Humanos: En este trabajoasumimos que se dispone de un modulo ROSpara la deteccion y localizacion de las per-sonas en el entorno. A partir de dicha infor-macion, Unity 3D asigna el rol de un jugadory por tanto, les anade el area proxemica pre-viamente definida.

Con estos datos, Unity 3D genera la trayectoriaglobal correspondientes, y la publica en el topic deROS /unity data/global plan para ser gestionadoposteriormente por el planificador local de ROS(vease Fig. 2). Dado que este planificador localdispone de mas informacion para la navegacion(p.e. deteccion de obstaculos no contenidos en elmapa de ocupacion) es muy probable que este sedesvıe del plan global inicialmente trazado. Paramantener una consistencia en el sistema, Unity re-

calcula el camino global periodicamente y en casode que se obtenga una nueva ruta diferente a lainicial, esta se reenvıa a ROS.

3 Caso Practico: Planificacion deTrayectorias

Para validar la arquitectura propuesta y analizarlas ventajas que los motores de IA contenidos enUnity 3D ofrecen a la hora de modelar la inter-accion entre robots y humanos, en esta seccion sedescriben varios experimentos en los que se com-paran las trayectorias generadas por el navegadorque utiliza ROS de manera predefinida y el nave-gador de Utniy 3D. Mas concretamente, presen-tamos tres escenarios comunes en la interaccionhombre-robot: esquivar a un humano que se en-cuentra en el area de actuacion del robot, aproxi-marse a una persona para establecer un dialogo, yevitar cruzar entre dos personas que estan dialo-gando.

En todos los casos, modelamos el area proxemicade las personas involucradas mediante la consid-eracion de cuatro esferas (vease Fig. 4), las cualeshan sido parametrizadas atendiendo a los estudiospresentados en [9]. Estas areas representan zonasque el robot no deberıa invadir para lograr un com-portamiento natural y social desde un punto devista HRI.

3.1 Caso A: Navegacion evitando unapresencia humana

En el primer caso expuesto, el robot tiene quenavegar de un punto a otro del mapa evitando lapresencia humana en su trayectoria. Atendiendoal uso de la proxemica, el robot no deberıa invadirel espacio personal de la persona, por lo que tieneque considerar alejarse de la persona lo suficientecomo para evitar hacerlo.

En la Fig. 7 se muestran los resultados compara-dos del planificador por defecto que se utiliza enROS y el planificador de Unity 3D utilizando laarquitectura propuesta en este artıculo. En azulse observa el camino que sigue el robot cuando seutiliza el navegador de ROS, el cual considera lapersona como un obstaculo mas del mapa. Comoconsecuencia, el robot invade el area proxemicade la persona. Igualmente, en verde se observael camino generado por el planificador global deUnity 3D, el cual provee un camino que no invadeel espacio proxemico generado para la persona, demanera que al usar este camino en un robot medi-ante la arquitectura propuesta, se consigue un de-splazamiento mas natural desde el punto de vistade la persona.

Figura 7: Comparativa de trayectorias cuando elrobot se cruza con una persona en su paso.

3.2 Caso B: Interaccion Directa conHumano

En este caso, se comprueba como es el acer-camiento del robot cuando tiene que ir a inter-actuar con una persona, por ejemplo para hablarcon ella, o entregarle algo. Al igual que en elcaso anterior, el comportamiento deseado desdeun punto de vista proxemico resulta de realizarun acercamiento sin invasion del area personal.Ademas, el robot debe ir hacia la persona desdeuna posicion frontal a esta.

El resultado obtenido de la comparacion de ambosplanificadores se observa en la Fig. 8, donde medi-ante el uso del navegador por defecto de ROS, elrobot invade el area proxemica de la persona rode-andola y acercandose a ella desde el lateral al igualque si esta fuese un obstaculo mas del entorno. Encambio, el navegador global de Unity 3D obtieneun camino que evita la invasion del area designadacomo espacio proxemico, el cual permite que el ac-ercamiento ha la persona se realice encarandola.

3.3 Caso C: Navegacion evitando espaciosproxemicos de grupos de personas

Por ultimo, se comprueba el comportamiento delrobot cuando este debe ir de un punto a otro dela sala pero a diferencia del caso A, se han colo-cado dos personas encaradas que simulan teneruna conversacion. Puesto que cada persona tienesu propia distancia personal, al estar cerca una de

Figura 8: Comparativa de trayectorias cuando elrobot va hacia una persona.

otra, se combinan generando un area mayor [8].Cuando el robot navegue debe evitar pasar entrelas personas ya que ademas de resultar poco nat-ural, interrumpirıa a las personas sin necesitar suatencion.

En la Fig. 9 se muestran los resultados obtenidosde realizar este caso. Se muestra como el caminogenerado por el navegador de ROS, cruza entrelas dos personas por lo que resultarıa un compor-tamiento poco adecuado en base a la proxemicade las personas. Por el contrario, el camino gen-erado por el navegador de Unity 3D al considerarlas areas asignadas a las dos personas genera uncamino que rodea a ambas sin interrumpirlas.

Para concluir con esta seccion, cabe destacar queen todos los casos expuestos, se puede comprobarque el navegador de Unity 3D, al considerar lapersona como un obstaculo dinamico, pospone lareaccion a dicho obstaculo hasta que la invasiondel area proxemica es inminente. Esta decisionconsigue que si la persona se ha desplazado du-rante el desplazamiento del robot, para cuandoel camino se actualice mantendra la trayecto-ria optima. En comparacion, el navegador pre-definido en ROS preve que tiene que desviarse porla existencia de un objeto estatico, aunque quizasno sea necesario cuando se aproxime y por tantose habra desviado del camino optimo.

Figura 9: Comparativa de trayectorias cuando elrobot se encuentra con un grupo de personas.

4 Conclusiones

En base a los resultados obtenidos, se puede afir-mar que Unity 3D se puede utilizar como un el-emento de ayuda para el desarrollo de las HRIbrindando un amplio conjunto de paquetes libresque pueden ser utilizados para mejorar el com-portamiento de los robots. En este artıculo seha utilizado uno de estos paquetes para el disenode un navegador que contempla el area proxemicade las personas. El diseno de estas areas puedenrealizarse en ROS mediante mapas de coste peroresulta mas tedioso y conlleva mas tiempo de de-sarrollo para realizar ensayos.

Siguiendo la lınea de contribucion de este artıculo,podrıa implementarse al navegador diferentes re-glas que modifiquen el area proxemica de la per-sona en funcion del contexto en que se encuen-tre. Esto supondrıa que el robot tendrıa com-portamientos diferentes en funcion de la hora deldıa, o de las situaciones de las personas de suentorno generando como resultado un compor-tamiento mucho mas natural y por tanto con-tribuyendo en la mejora de las HRI.

Aunque en este artıculo se ha explotado Unity3D para la navegacion del robot, hay disponiblesmultitud de paquetes que pueden contribuir enotras areas de la robotica, por ejemplo aportandouna interfaz intuitiva para el usuario, medianteel uso de la realidad virtual, o incluso usando lainteligencia artificial que aportan los videojuegos

para generar el comportamiento del robot. Lasventajas de Unity 3D ya han sido usadas por otrosartıculos previamente como por ejemplo [1] dondeexplotan el motor de animaciones para generarmovimientos en un robot.

En conclusion, existen numerosos frentes de in-teres en donde los entornos de desarrollo de video-juegos pueden complementar la programacion delos robots, agilizando o anadiendo soporte anuevas areas de desarrollo que en conjunto mejo-raran las capacidades sociales de los robots.

Agradecimientos

Este trabajo ha sido parcialmente financiado atraves del plan nacional, gobierno de Espana(proyecto DPI2014-55826-R), y por la Union Eu-ropea, dentro del programa Horizonte 2020-ICT(proyecto 732158 - MoveCare).

Referencias

[1] C. Bartneck, M. Soucy, K. Fleuret, andE. B. Sandoval. The robot engine; makingthe unity 3d game engine work for hri. In2015 24th IEEE International Symposium onRobot and Human Interactive Communica-tion (RO-MAN), pages 431–437, Aug 2015.

[2] R. Codd-Downey, P. M. Forooshani,A. Speers, H. Wang, and M. Jenkin.From ros to unity: Leveraging robot and vir-tual environment middleware for immersiveteleoperation. In 2014 IEEE InternationalConference on Information and Automation(ICIA), pages 932–936, July 2014.

[3] M.J. Mataric D. Feil-Seifer. Human robotinteraction. Encyclopedia of Complexity andSystems Science, pages 4643–4659, 2009.

[4] Edward T Hall, Ray L Birdwhistell, Bern-hard Bock, Paul Bohannan, A RichardDiebold Jr, Marshall Durbin, Munro S Ed-monson, JL Fischer, Dell Hymes, Solon TKimball, et al. Proxemics [and comments andreplies]. Current anthropology, 9(2/3):83–108,1968.

[5] Yuchao Hu and Wei Meng. Rosunitysim: De-velopment and experimentation of a real-timesimulator for multi-unmanned aerial vehiclelocal planning. SIMULATION, 92(10):931–944, 2016.

[6] B. Jensen, N. Tomatis, L. Mayor, A. Dryga-jlo, and R. Siegwart. Robots meet humans-interaction in public spaces. IEEE Transac-

tions on Industrial Electronics, 52(6):1530–1546, Dec 2005.

[7] K. Kosuge and Y. Hirata. Human-robot in-teraction. In 2004 IEEE International Con-ference on Robotics and Biomimetics, pages8–11, Aug 2004.

[8] Thibault Kruse, Patrizia Basili, StefanGlasauer, and Alexandra Kirsch. Legiblerobot navigation in the proximity of movinghumans. In Advanced Robotics and its SocialImpacts (ARSO), 2012 IEEE Workshop on,pages 83–88. IEEE, 2012.

[9] Thibault Kruse, Amit Kumar Pandey,Rachid Alami, and Alexandra Kirsch.Human-aware robot navigation: A sur-vey. Robotics and Autonomous Systems,61(12):1726–1743, 2013.

[10] J. E. Laird. Using a computer game to de-velop advanced ai. Computer, 34(7):70–75,Jul 2001.

[11] Ross Mead, Amin Atrash, and Maja JMataric. Automated proxemic feature ex-traction and behavior recognition: Applica-tions in human-robot interaction. Interna-tional Journal of Social Robotics, 5(3):367–378, 2013.

[12] Jonathan Mumm and Bilge Mutlu. Human-robot proxemics: physical and psychologicaldistancing in human-robot interaction. pages331–338, 2011.

[13] Begona San Miguel and Ma Jose Gonzalez. Elenvejecimiento de la poblacion espanola y susconsecuencias sociales. Cuadernos de trabajosocial, (9):19–45, 2001.

[14] Emrah Akin Sisbot, Luis F Marin-Urias,Rachid Alami, and Thierry Simeon. A hu-man aware mobile robot motion planner.IEEE Transactions on Robotics, 23(5):874–883, 2007.