Trabajo colaborativo de robots / Trabayu collaborativu de robots / Collaborative robots

Información general

El futuro de los robots de trabajo autónomo es colaborar unos con otros y con el entorno que los rodea (adaptación al contexto). Para ello, deben de ser capaces de interaccionar con otros equipos mediante protocolos de comunicación y sistemas de razonamiento que les permitan llevar cabo esta interacción.

En el corto plazo, la industria del robot autónomo y de los drones será un factor de desarrollo importante. Tanto la fabricación de los propios dispositivos, como del desarrollo del software que los hace funcionar (no debemos olvidarnos que deben de ser "inteligentes") serán actividades empresariales de importancia en el sector TIC.

En nuestro caso particular, la investigación se centra en los robots de limpieza ya que suelen trabajar de forma individual. Mediante unos sensores, estos robots se desplazan por una superficie que puede tener pequeños obstáculos. Internamente, disponen de una serie de algoritmos que les permiten maximizar el área de limpieza. No obstante, cuando se plantea su despliegue para cubrir una gran superficie, puede llegar a ser necesario utilizar varios de estos robots. Consideramos que los mejores resultados se obtendrían si estos equipos trabajasen de forma coordinada.

Por ello, podríamos decir que el proyecto persigue, como objetivo principal, el desarrollo de un sistema de trabajo coordinado para un grupo/enjambre de robots autónomos de limpieza. Para ello, será necesario dotar a los robots de un sistema de comunicación inalámbrica. Además, se deberá crear un protocolo de comunicaciones de alto nivel. Con él, podrían trabajar de forma coordinada mediante el intercambio de mensajes. Deberá crearse un sistema de razonamiento que les permita analizar los mensajes y reaccionar en consecuencia. Todas estas tareas se realizarán utilizando como punto de partida el kit de desarrollo que proporciona la empresa IRobot (spin-off del MIT) dentro de su programa Create 2.

Programa Create 2 de IRobot

Como resultados esperables del proyecto se esperan:

  • Un sistema de comunicación basado en tecnologías inalámbricas integrado en los robots.
  • Un protocolo de comunicación de alto nivel para el intercambio de información operativa.
  • Un sistema de razonamiento que permita a los robots tomar decisiones y comunicarlas para colaborar entre ellos.
  • Una plataforma de gestión de software adaptada a un entorno de Internet de las Cosas (IoT).

Resultados preliminares

Se han equipado dos laboratorios para el proyecto. Uno de ellos se utiliza para la generación de prototipos. Está dotado del equipamiento necesario para ello: varios robots de limpieza, dispositivos Rapsberry Pi, componentes electrónicos y equipamiento diverso. El segundo permite realizar pruebas de los prototipos desarrollados, y se ha equipado con cámaras robotizadas que permiten la monitorización remota de los experimentos, tal y como se observa en la figura siguiente:

Sistema de monitorización

Se ha realizado un prototipo en el que se consiguieron integrar dispositivos Rapsberry Pi con los robots Roomba mediante comunicaciones serie. Ha sido necesario emplear baterías externas portables para alimentar las Raspberry Pi. Por otro lado, el dispositivo Rapsberry Pi dispone de un mecanismo de comunicaciones inalámbricas, lo que permite establecer comunicaciones entre dispositivos tanto a través de una infraestructura que haya sido desplegda previamente, como en modo ad-hoc. Uno de los prototipos se muestra a continuación:

Prototipo desarrollado

Para permitir la comunicación efectiva entre las aplicaciones a desarrollar, se ha definido un protocolo de comunicaciones de alto nivel basado en documentos XML y datagramas UDP. Este protocolo permite intercambiar información entre los dispositivos respecto a diferentes situaciones que se pueden producir. Una situación es una herramienta que permite modelar un escenario determinado. Está formada por uno o varios sensores, una o varias acciones y una o varias señales que deben enviarse al resto de robots. El administrador puede configurar estas situaciones para implementar escenarios concretos. El dispositivo Rapsberry Pi también se ha dotado de un programa que hace las funciones de cerebro del sistema. El cerebro examina el comportamiento del robot en la que se ejecuta la aplicación, y genera eventos que contienen la información leída de los sensores. Estos eventos se comparan con la información de la base de datos local, de forma que si alguno de los valores de un sensor, o sensores, coincide con lo establecido en una situación determinada, se obtienen las acciones y señales externas. Las primeras se ejecutan en el robot y las segundas se envían al resto de robots Roomba. En caso de que se reciba un mensaje de otro robot, éste contiene la acción que debe ser realizada por parte del robot local. Como prueba de concepto se desarrollaron dos aplicaciones de demostración:

  • RooBra. Es un prototipo sencillo que hace que un robot que se separa del suelo emita una señal de alarma al resto de robots. El robot en cuestión empieza a pitar y los demás encienden un led de color rojo. El funcionamiento de esta aplicación se muestra en la figura siguiente:
    Aplicación RooBra
  • Carga colaborativa. Es una aplicación que permite que varios robots se coordinen cuando necesitan cargar su batería, existiendo una única estación de carga. El comportamiento normal del robot es el de permanecer en la estación de carga mientras no se encuentra limpiando. En este contexto sería imposible que varios robots pudiesen usar la misma estación. Esta aplicación permite liberar la estación de carga para que sea utilizada por el robot que tiene menos capacidad almacenada. Un escenario de los producidos en esta aplicación se muestra en la figura siguiente:
    Programa de carga colaborativa

Finalmente, se ha desarrollado un banco de pruebas que permite realizar experimentos sin necesidad de que los robots se muevan por una habitación. El banco de pruebas está basado en un sistema de rodillos, complementado con una placa Arduino equipada con sensores de efecto Hall. El banco de pruebas desarrollado se muestra en la figura siguiente:

Programa Create 2 de IRobot

Colaboraciones y financiación

El proyecto ha contado con la financiación del Instituto Universitario de Tecnología Industrial de Asturias (IUTA) en su convocatoria para proyectos de investigación en el año 2016 (SV-16-GIJÓN-1-03).

De igual modo, han colaborado con el mismo los siguientes alumnos, en la elaboración de sus trabajos fin de estudios:

  • Óscar Quintana Méndez
  • Noemí Asenjo González
  • Javier Viñuela Rueda

Divulgación de los resultados

En cuanto a la divulgación del proyecto y de sus resultados, el proyecto ha estado presente en:
  • Workshop a cargo de Xabiel García Pañeda en el 11 Congreso Colombiano de Computación celebrado en Popayán, Colombia. Septiembre 2016 (http://fup.edu.co/11ccc/programa-preliminar-sco2ieee-11ccc/)
  • Artículo "Laboratorio abierto para el desarrollo de proyectos con robots de limpieza autónomos", elaborado por José Antonio Sánchez, Laura Pozueco, Alejandro García Tuero, Noemí Asenjo González, David Melendi, Roberto García Fernandez, Xabiel García Pañeda y Gabriel Díaz Orueta. Presentado en el Congreso de Tecnología, Aprendizaje y Enseñanza de la Electrónica (TAEE), Sevilla, Junio de 2016.
  • Entrevista a David Melendi Palacio en el programa Naguando de la Radiotelevisión del Principado de Asturias. Programa del 3 de Noviembre de 2016 (http://www.rtpa.es/audio:Naguando_1478208410.html)